説明

非同期吸収回路、画像処理装置及びプログラム

【課題】画像1ライン分よりも少ない記憶容量の複数のシングルポートメモリを用いて非同期吸収を行うことができる非同期吸収回路、画像処理装置及びプログラムを提供することを課題とする。
【解決手段】少なくとも画像1ライン分よりも少ない記憶容量の複数の記憶手段への入力データの書き込み動作を行う書き込み動作手段と、記憶手段からの出力データの読み出し動作を行う読み出し動作手段と、書き込み及び読み出しの対象となる記憶手段を切り替える切り替え手段と、画像1ライン分の入力データを複数に分けたブロックデータが記憶手段に振り分けられるタイミングに基づき、切り替え手段による記憶手段の切り替えを制御する切り替え制御手段と、入力データのクロック信号と出力データのクロック信号との非同期吸収を行う非同期吸収手段とを有することにより上記課題を解決する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、非同期吸収回路、画像処理装置及びプログラムに関する。
【背景技術】
【0002】
例えば半導体集積回路上にFIFO(First−In First−Out)メモリ装置を構成する場合、デュアルポートメモリはシングルポートメモリに対してサイズが大きいという不利益がある。そのため、より多くの回路を集積したい半導体装置においては少しでもサイズの小さいシングルポートSRAM等を搭載し、制御する方法が用いられている(例えば特許文献1参照)。
【0003】
また、2つのシングルポートSRAMを使用して、書き込み或いは読み取り動作を行うメモリ制御装置は従来から知られている。従来のメモリ制御装置は画像1フレーム分の書込みおよび読出し動作の完了を検出するアドレス検出手段、及びアドレス検出手段、記憶手段への書込みあるいは読出し動作の一方の動作に優先権を設定する優先権設定手段を設けている。
【0004】
切替え手段は、優先権の設定されている動作側のアドレス検出手段が1フレーム分の書込みあるいは読出しの完了を検出する毎に記憶手段を切替える。また、優先権の設定されていない動作側の書込みあるいは読出し制御手段は、記憶手段の切替え前後で連続したアドレスへの書込みあるいは読出しを行うようにしている(例えば特許文献2参照)。
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、従来のメモリ制御装置はアドレス検出手段が1フレーム分の書込みあるいは読出しの完了を検出する毎に、切替え手段が少なくとも画像1フレーム分を記憶可能な第1及び第2の記憶手段を切り替えている。したがって、従来のメモリ制御装置は少なくとも画像1フレーム分を記憶可能な二つの記憶手段が必要という問題があった。
【0006】
本発明は上記の点に鑑みなされたもので、画像1ライン分よりも少ない記憶容量の複数のシングルポートメモリを用いて非同期吸収を行うことができる非同期吸収回路、画像処理装置及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
上記した課題を解決するために、請求項1に記載の非同期吸収回路は、少なくとも画像1ライン分よりも少ない記憶容量の複数の記憶手段への入力データの書き込み動作を行う書き込み動作手段と、前記記憶手段からの出力データの読み出し動作を行う読み出し動作手段と、前記書き込み動作手段による書き込み及び前記読み出し動作手段による読み出しの対象となる前記記憶手段を切り替える切り替え手段と、画像1ライン分の入力データを複数に分けたブロックデータが前記記憶手段に振り分けられるタイミングに基づき、前記切り替え手段による前記記憶手段の切り替えを制御する切り替え制御手段と、入力データのクロック信号と出力データのクロック信号との非同期吸収を行う非同期吸収手段とを有することを特徴とする。
【0008】
なお、本発明の構成要素、表現または構成要素の任意の組合せを、方法、装置、システム、コンピュータプログラム、記録媒体、データ構造などに適用したものも本発明の態様として有効である。
【発明の効果】
【0009】
本発明によれば、画像1ライン分よりも少ない記憶容量の複数のシングルポートメモリを用いて非同期吸収を行うことができる非同期吸収回路、画像処理装置及びプログラムを提供可能である。
【図面の簡単な説明】
【0010】
【図1】非同期吸収回路を含む一例のブロック図である。
【図2】非同期吸収回路の一例のタイミング図である。
【図3】非同期吸収回路の一例の拡大したタイミング図である。
【図4】デュアルポートRAMを使った非同期吸収回路を含む一例のブロック図である。
【図5】デュアルポートRAMを使った非同期吸収回路で必要な記憶容量と遅延時間の計算について表した一例の説明図である。
【図6】本実施の形態の非同期吸収回路を含む一実施例のブロック図である。
【図7】本実施の形態の非同期吸収回路の一例のタイミング図である。
【図8】時刻t6から時刻t7における処理の一例の説明図である。
【図9】本実施の形態の非同期吸収回路を含む他の実施例のブロック図である。
【図10】本実施の形態の非同期吸収回路の他の例のタイミング図である。
【図11】複数のシングルポートRAMから必要なシングルポートRAMの組み合わせを選ぶ方法の一例を示した説明図である。
【図12】異なる複数のモードの一例の説明図である。
【図13】PCの一例のハードウェア構成図である。
【図14】2つのシングルポートRAMのビット数及びWord数の一例を表した説明図である。
【図15】入力データを分割したブロックデータの一例の説明図である。
【図16】RAM切り替えテーブルの作成手順を示した一例のフローチャートである。
【図17】FABにある記憶容量のシングルポートRAMの組み合わせの一例を示した説明図である。
【図18】非同期吸収の遅延時間を表した一例の説明図である。
【図19】RAM切り替えテーブルを作成するシートの一例の構成図である。
【図20】RAM切り替えテーブルを作成するシートの他の例の構成図である。
【発明を実施するための形態】
【0011】
以下、本発明の実施の形態について、詳細に説明する。
【0012】
本実施の形態における非同期吸収回路は、高速な入力データを低速な出力データに速度変換する。非同期吸収回路は速度変換回路と呼ばれることもある。従来、非同期吸収回路は一般的に、デュアルポートメモリを利用して非同期吸収を行っていた。
【0013】
しかし、デュアルポートメモリはFAB(ファウンドリ)によって用いることができないこともある。また、デュアルポートメモリは記憶容量に対するチップサイズがシングルポートメモリに比べ、約2倍以上大きく、メモリ以外の制御回路(グレイコードカウンタなど)の規模も大きい。
【0014】
さらに、デュアルポートメモリは、異なる複数のモードを持つ製品でRAM等のメモリをモード毎に使い分けて回路規模を小さくする、または、消費電力を減少させたくても他に転用できなかった。
【0015】
そこで、本実施の形態における非同期吸収回路では、非同期吸収用として複数のシングルポートメモリを用いることでチップサイズを削減し、複数のモードでシングルポートメモリの転用(兼用)を、し易くしている。
【実施例1】
【0016】
図1は非同期吸収回路を含む一例のブロック図である。図1は入力データが80MHzの1280×720(720p)のYUV422の30fps(Frame Per Second)の映像データである。720pはデジタルテレビ放送の映像信号形式の1つである。
【0017】
YUV422は、色の表現方法であるYUV方式の1つである。YUV422は1ピクセルあたり、輝度情報8ビット、色差情報8ビットの16ビットで色を表現する。fpsは1秒間に何枚の画像を表示するのかを示している。また、図1は出力データが50MHzの720PのYUV422の30fpsの映像データである。
【0018】
図1の非同期吸収回路11は80MHzの入力データを50MHzの出力データに速度変換する例を表している。入力データは入力データI/F10を介して非同期吸収回路11に入力される。また、出力データは出力データI/F12を介して非同期吸収回路11から出力される。入力データI/F10は80MHzのクロック信号ICLKと同期させて入力データを非同期吸収回路11に入力させる。出力データI/F12は50MHzのクロック信号OCLKと同期させて出力データを非同期吸収回路11から出力させる。
【0019】
入力データは入力側垂直同期信号VSYNC、入力側水平同期信号HSYNC、入力側輝度情報8ビット及び色差情報8ビットをまとめた16ビットのデータDATAを有している。また、出力データは出力側垂直同期信号OVSYNC、出力側水平同期信号OHSYNC、出力側輝度情報8ビット及び色差情報8ビットをまとめた16ビットのデータODATA、出力側バリッド信号OVALIDを有している。
【0020】
図2は非同期吸収回路の一例のタイミング図である。図2のVBLANKは垂直同期信号の間隔を示している。HBLANKは水平同期信号の間隔を示している。図2(a)は入力側垂直同期信号VSYNCのタイミング図である。図2(b)は入力側水平同期信号HSYNCのタイミング図である。図2(c)は16ビットのデータDATAのタイミング図である。
【0021】
図2(d)は出力側垂直同期信号OVSYNCのタイミング図である。図2(e)は出力側水平同期信号OHSYNCのタイミング図である。図2(f)は16ビットのデータODATAのタイミング図である。図2(g)は出力側バリッド信号OVALIDのタイミング図である。
【0022】
図2のタイミング図に示すように、1回の入力側垂直同期信号VSYNCの期間に720ライン分の入力側水平同期信号HSYNCが含まれる。また、1回の入力側水平同期信号HSYNCの期間には1280クロック分(クロック信号ICLK)のデータDATAが含まれる。
【0023】
また、1回の出力側垂直同期信号OVSYNCの期間に720ライン分の出力側水平同期信号OHSYNCが含まれる。また、1回の出力側水平同期信号OHSYNCの期間には1280クロック分(クロック信号OCLK)のデータODATA及び出力側バリッド信号OVALIDが含まれる。なお、出力データは入力データに対して遅延している。
【0024】
図3は非同期吸収回路の一例の拡大したタイミング図である。図3の拡大したタイミング図では入力側垂直同期信号VSYNC及び出力側垂直同期信号OVSYNCを省略している。
【0025】
図3に示すように、映像データの非同期吸収は通常、1ライン毎に行う。1ライン毎に非同期吸収を行うため、1つのラインの出力が終わる前に次のラインの入力が始まることは好ましくない。なお、非同期吸収回路11の作り方によっては1つのラインの出力が終わる前に次のラインの入力が始まっても対応できるが、平均速度が一定ならばRAMに蓄積されるデータがライン毎に増加し、必要なRAMの記憶容量が増える。
【0026】
一般に、垂直同期信号の間隔VBLANKは、水平同期信号の間隔HBLANKよりも長い。したがって、ライン毎に非同期吸収を行う為には、非同期吸収の遅延時間が水平同期信号の間隔HBLANK以下であればよい。なお、非同期吸収の遅延時間は1ライン中のデータDATAの終了からデータODATAの終了までの時間である。例えば80MHzで720pの映像データは30fpsのとき、20us以上(最大平均約30us)の水平同期信号の間隔HBLANKを持つ。
【0027】
ここでは、本実施の形態における非同期吸収回路の理解を容易とするために、デュアルポートRAMを使った非同期吸収回路について説明する。図4はデュアルポートRAMを使った非同期吸収回路を含む一例のブロック図である。図4は入力データが80MHzの1280クロック分(クロック信号ICLK)の連続データである。また、出力データは50MHzの1280クロック分(クロック信号OCLK)の連続データである。
【0028】
非同期吸収回路11は80MHzのクロック信号ICLKと同期させてデュアルポートRAM13にデータDATAを格納し、50MHzのクロック信号OCLKと同期させてデータODATAをデュアルポートRAM13から取り出す。
【0029】
図5はデュアルポートRAMを使った非同期吸収回路で必要な記憶容量と遅延時間の計算について表した一例の説明図である。非同期吸収回路11は、入力データの入力が始まると、ほぼ同時に出力データの出力を開始する。正確には、入力データを非同期吸収して取り出すため、入力データより僅かに遅れて出力データの出力が始まる。
【0030】
図5の例では入力データのクロック信号ICLKの方が出力データのクロック信号OCLKよりも速いので出力データを出力しきるまで出力側バリッド信号OVALIDがアクティブになる。このため、非同期吸収の遅延時間は入力データの入力時間16usと出力データの出力時間25.6usとの差である9.6usとなる。
【0031】
入力データの入力が終了した時点で、デュアルポートRAM13には9.6usの時間を掛けて出力する480word分の出力データが記憶されている。なお、480wordは1280wordの9.6us/25.6usである。
【0032】
したがって、デュアルポートRAM13は16ビット×480word=960バイト以上の記憶容量が必要である。なお、実際には(FABによっては)半端なword数のデュアルポートRAM13がないので16ビット×512wordのデュアルポートRAM13が必要である。
【0033】
図6は本実施の形態の非同期吸収回路を含む一実施例のブロック図である。図6に示したように、本実施の形態の非同期吸収回路20は2つのシングルポートRAM0、1を使用する。また、図6は入力データが80MHzの1280クロック分(クロック信号ICLK)の連続データである。出力データは50MHzの1280クロック分(クロック信号OCLK)の連続データである。2つのシングルポートRAM0、1の記憶容量は16ビット×384word=768バイトである。
【0034】
非同期吸収回路20は同期吸収部21と非同期吸収部22とを有する。非同期吸収部22は内蔵FF(フリップフロップ)部29を有する。内蔵FF部29は、例えば8CLK分の出力データを保持する。内蔵FF部29は例えば16バイトの小さなFFで非同期吸収を行う。また、内蔵FF部29は保持している出力データがフル(FULL)になる前にwait signalで同期吸収部21からの出力データを一時停止する。
【0035】
同期吸収部21はデータ数(CLK数)カウント部23と、RAM切り替えテーブル24と、スイッチング判定部25と、ライト動作部26と、リード動作部27と、RAMセレクタ部28とを有する。同期吸収部21はwait signalで非同期吸収部22への出力データを一時停止している間も、入力データを確保し続けるためにライト動作を行う。
【0036】
データ数カウント部23は80MHzの入力データをカウントして、今が何クロック目の入力データかを認識する。RAM切り替えテーブル24には、予め決められたクロック目で2つのシングルポートRAM0、1のどちらにライト又は2つのシングルポートRAM0、1のどちらからリードするかの情報が記憶されている。
【0037】
例えばRAM切り替えテーブル24には2つのシングルポートRAM0、1のリード及びライトを切り替えるタイミングが記憶されている。スイッチング判定部25はRAM切り替えテーブル24に記憶されているタイミングに基づいて、RAMセレクタ部28のスイッチングを行うことで入力データをシングルポートRAM0、1に振り分ける。
【0038】
ライト動作部26はRAMセレクタ部28のスイッチングに基づいて、2つのシングルポートRAM0、1の一方にデータDATAをライトする。また、リード動作部27はRAMセレクタ部28のスイッチングに基づいて、2つのシングルポートRAM0、1の一方からデータDATAをリードする。リード動作部27はリードしたデータDATAを内蔵FF部29に送信する。
【0039】
図7は、本実施の形態の非同期吸収回路の一例のタイミング図である。例えば図7のタイミング図は1280クロック分の連続データである入力データを8つのブロックデータD1−D8に分けている。ブロックデータD1−D8の分け方は等分割でなく、後述する一定のルールの下で分割される。RAM切り替えテーブル24に記憶されている2つのシングルポートRAM0、1のリード及びライトを切り替えるタイミングは後述する一定のルールに基づいて、言い換えればブロックデータD1−D8の分け方に基づいて決められている。
【0040】
2つのシングルポートRAM0、1はシングルポートである為、どの時刻においてもライト動作及びリード動作を同時に行わない。また、2つのシングルポートRAM0、1は必ずどちらか一方が、入力データと同じ時刻にデータDATAが書き込まれている。出力データは2つのシングルポートRAM0、1の一方から読み出された後、非同期吸収部22で非同期吸収が行われる。したがって、非同期吸収部22から出力される出力データは2つのシングルポートRAM0、1の何れか一方から出力されるデータDATAよりも僅かに遅延する。
【0041】
また、非同期吸収部22はフルになりそうになるとwait signalで同期吸収部21からの出力データを一時停止する。したがって、図7のタイミング図ではシングルポートRAM0、1の何れか一方から読み出されたデータDATAがブロックデータ毎に固まっているが、必ずしもブロックデータ毎に連続してデータDATAを読み出しているわけではない。
【0042】
ブロックデータD1のシングルポートRAM0へのライトは時刻t1に開始され、時刻t2に終了する。次のブロックデータD2はシングルポートRAM1にライトされる。ブロックデータD2のシングルポートRAM1へのライトは時刻t2に開始され、時刻t3に終了する。ブロックデータD1のシングルポートRAM0からのリードは時刻t2から時刻t3の間に行われる。シングルポートRAM0からリードされたブロックデータD1は非同期吸収部22で非同期吸収が行われたあと、出力データとして出力される。
【0043】
以後、非同期吸収回路20は、図7のタイミング図に示すように時刻t1から時刻t3と同様な処理を繰り返し行い、時刻t9でブロックデータD8のシングルポートRAM1へのライトが終了する。
【0044】
図8は時刻t6から時刻t7における処理の一例の説明図である。シングルポートRAM0はデータブロックD5を記憶している。シングルポートRAM0からリードされたブロックデータD5が非同期吸収部22で非同期吸収されたあと、出力データとして出力されるまでに20us(または40us)掛かったとしても、非同期吸収部22の入力側の80MHzの方が出力側の50MHzよりも速いので、出力データはブロックデータD5が終わるまで常にバリッドである。
【0045】
言い換えると、非同期吸収部22は内蔵FF部29の保持している出力データがフルにならないようにリード動作を時々、wait signalで一時停止するが、ブロックデータD5の出力が終わるまで内蔵FF部29の保持している出力データがエンプティになることはない。
【0046】
時刻t6からブロックデータD6のシングルポートRAM1へのライトの完了は233クロック分(クロック信号ICLK)の2912.5nsである。また、時刻t6からブロックデータD5の出力データとしての出力の完了には138クロック分(クロック信号OCLK)の2760nsに、非同期吸収部22から出力データが出力し始めるまでの20usを加算した時間が掛かる。
【0047】
このように、ブロックデータD6のシングルポートRAM1へのライト動作は時刻t7に終わる。一方、ブロックデータD5をシングルポートRAM0からリードしたあと非同期吸収した出力データとして出力する動作は必ず時刻t7より早く終わる。なお、図7のタイミング図では時刻t8まで必ずリード動作の方がライト動作よりも早く終わるようにRAM切り替えテーブル24が作成されている。
【0048】
また、時刻t9ではブロックデータD8のシングルポートRAM1へのライト動作が終わる。一方、ブロックデータD7のシングルポートRAM0からのリード動作は時刻t9で終わらない。時刻t9ではリード動作の方がライト動作よりも遅く終わるようにRAM切り替えテーブル24が作成されている。しかし、次のラインのブロックデータD1は水平同期信号の間隔HBLANK(20us)以上経過しないと入力されないため、問題がない。ブロックデータD7のシングルポートRAM0からのリード動作は時刻t10に終わる。
【0049】
ブロックデータD8のシングルポートRAM1からのリード動作は時刻t10から開始されて時刻t11に終了する。シングルポートRAM1からリードされたブロックデータD8が非同期吸収部22で非同期吸収されたあと出力される出力データは、僅かに時刻t11より遅れるが、非同期吸収部22における初めての入力から初めての出力までの時間に等しく20nsまたは40ns程度で1usより十分に小さいので無視できる。
【0050】
以上のように、図8の非同期吸収回路20の遅延時間は時刻t11−t9である。時刻t11−t9は(t11−t8)−(t9−t8)と変換できる。t11−t8は50MHzでブロックデータD7、D8を出力する時間である。また、t9−t8は80MHzでブロックデータD8をシングルポートRAM1へライトする時間である。
【0051】
したがって、20ns×(384+380)−12.5ns×380=10.53usと見積もれる。このように、図6の非同期吸収回路20は遅延時間が10.53usと水平同期信号の間隔HBLANK(20us)よりも十分に小さく、80MHz、720p及び30fpsの映像データを50MHz、720p及び30fpsの映像データに変換できる。
【0052】
以上のように、非同期吸収回路20は、従来、16ビット×512wordのデュアルポートRAM13を使って行っていた非同期吸収を、16ビット×384wordの2つのシングルポートRAM0、1を使って実現できる。なお、一般的に、16ビット×384wordの2つのシングルポートRAM0、1の組み合わせは16ビット×512wordのデュアルポートRAM13より回路規模が小さい。
【実施例2】
【0053】
図9は本実施の形態の非同期吸収回路を含む他の実施例のブロック図である。図9の非同期吸収回路20Aは以下の点で図6の非同期吸収回路20と異なっている。まず、非同期吸収回路20Aは図6の内蔵FF部29が取り除かれている。また、非同期吸収回路20Aは2つのシングルポートRAM0、1のリード動作及びライト動作を切り替えるだけでなく、動作させる為のクロック信号も切り替えている。
【0054】
2つのシングルポートRAM0、1を動作させる為のクロック信号はCLK生成回路30を介して2つのシングルポートRAM0、1に供給される。CLK生成回路30はCLKセレクタ部31を有している。CLKセレクタ部31は80MHzのクロック信号及び50MHzのクロック信号を供給されている。
【0055】
CLKセレクタ部31は2つのシングルポートRAM0、1のうちライト動作を行っている方に80MHzのクロック信号を供給し、リード動作を行っている方に50MHzのクロック信号を供給する。なお、スイッチング判定部25はRAM切り替えテーブル24に記憶されているタイミングに基づき、CLKセレクタ部31から2つのシングルポートRAM0、1に供給される80MHzのクロック信号及び50MHzのクロック信号のスイッチングを行う。
【0056】
このように、2つのシングルポートRAM0、1はライト動作を行っているときに80MHzのクロック信号が供給され、リード動作を行っているときに50MHzのクロック信号が供給される。非同期吸収回路20Aでは2つのシングルポートRAM0、1から50MHzのクロック信号と同期させて出力データが出力されるため、図6の内蔵FF部29が不要となる。
【0057】
非同期吸収回路20Aの基本的な考え方やタイミング図は図6の非同期吸収回路20と同様である。非同期吸収回路20AはCLKセレクタ部31によるクロック信号の切り替えに要する時間も含めて、リード動作の完了がライト動作の完了よりも早く終わるようにRAM切り替えテーブル24を作成しておく。
【0058】
例えば非同期吸収回路20AはシングルポートRAM0の50MHzのクロック信号によるリード動作が完了したあと次のライト動作に備えて80MHzのクロック信号に切り替える(または停止しておく)までの時間が、シングルポートRAM1の80MHzのライト動作の完了よりも早い。
【0059】
なお、非同期吸収回路20Aは、図6の非同期吸収回路20と比較して回路規模が小さくなるが、2つのシングルポートRAM0、1に供給する80MHz及び50MHzのクロック信号と、80MHzのクロック信号ICLK及び50MHzのクロック信号OCLKとの同期タイミング調整が必要なために、非同期吸収回路20Aの外のCLK生成回路30にロジックが必要な方式である。
【0060】
以上のように、非同期吸収回路20Aは、従来、16ビット×512wordのデュアルポートRAM13を使って行っていた非同期吸収を、16ビット×384wordの2つのシングルポートRAM0、1を使って実現できる。
【実施例3】
【0061】
本実施の形態の非同期吸収回路20は、2つのシングルポートRAM0、1の合計の記憶容量が同じでも実現可能な記憶容量の組み合わせが1つではない。例えば図7のタイミング図と異なるシングルポートRAM0、1の記憶容量の組み合わせの場合、RAM切り替えテーブル24には図7と異なる2つのシングルポートRAM0、1のリード及びライトを切り替えるタイミングが記憶されている。
【0062】
図10は本実施の形態の非同期吸収回路の他の例のタイミング図である。以下では図7のタイミング図と同様な部分についての説明を適宜省略する。図10ではシングルポートRAM0の記憶容量が16ビット×512word(449Wordしか使用しない)であり、シングルポートRAM1の記憶容量が16ビット×256wordである。
【0063】
図10における非同期吸収回路20の遅延時間は、図6と同様に50MHzでブロックデータD7、D8を出力する時間から80MHzでブロックデータD8をシングルポートRAM1へライトする時間を引くことで算出できる。
【0064】
したがって、20ns×(449+256)−12.5ns×256=10.9usと遅延時間を見積もることができる。このように、図10のタイミング図に示す非同期吸収回路20は遅延時間が10.9usと図6の非同期吸収回路20より僅かに延びるが、水平同期信号の間隔HBLANK(20us)よりも十分に小さく、問題ない。ここで言うRAM切り替えテーブル24は2つのシングルポートRAM0、1として接続されるRAMの記憶容量の情報と、2つのシングルポートRAM0、1のリード及びライトを切り替えるタイミングの情報とを合わせた情報である。
【実施例4】
【0065】
なお、異なる複数のモードを持つ製品では、RAM切り替えテーブル24を変更することにより、複数のシングルポートRAMから必要なシングルポートRAMの組み合わせを選んで切り替えることもできる。
【0066】
図11は複数のシングルポートRAMから必要なシングルポートRAMの組み合わせを選ぶ方法の一例を示した説明図である。図11(a)の非同期吸収回路20は書き換え可能なRAM切り替えテーブル24Aを有し、CPU40で書き換え可能なRAM切り替えテーブル24Aを書き換える。RAMセレクタ部41は、書き換え可能なRAM切り替えテーブル24Aにしたがって、シングルポートRAM−A〜シングルポートRAM−DからシングルポートRAM0、1を選択する。図11(a)の非同期吸収回路20は2つのシングルポートRAM0、1のリード及びライトを切り替えるタイミングの情報を書き換えることで、意図的に遅延時間を長くすることもできる。
【0067】
図11(b)の非同期吸収回路20は予め複数の固定RAM切り替えテーブル24Bを有し、RAM切り替えテーブルセレクタ部42がモード(mode signal)に基づいて、自動で複数の固定RAM切り替えテーブル24Bから1つの固定RAM切り替えテーブル24Bを選択する。RAMセレクタ部41は、固定RAM切り替えテーブル24Bに従い、シングルポートRAM−A〜シングルポートRAM−DからシングルポートRAM0、1を選択する。
【0068】
なお、RAMセレクタ部41は複数のシングルポートRAMを一つのシングルポートRAMとして扱ってもよい。例えばシングルポートRAM−AとシングルポートRAM−Bとを連結してシングルポートRAM0としてもよい。以上のように、異なる複数のモードを持つ製品において、シングルポートRAMを切り替えて別の非同期吸収ができることは大きなメリットを持つ。
【0069】
図12は異なる複数のモードの一例の説明図である。図12(a)は通常の映像データと輝度情報とをスケールダウンしてグレースケールの映像データを2つ同時に流す2ストリームモードの一例の説明図である。補正ありスケール変換回路50で行う補正ありのスケールダウンには1ライン分(1280×8ビット)の記憶容量を持つRAMが必要であるため、16ビット×640wordのシングルポートRAM−Cを利用する。
【0070】
また、図12(b)は出力データを50MHzでなく40MHzまで落とす低消費電力モードの一例の説明図である。図12(b)に示す低消費電力モードを更に持つ場合は非同期吸収回路20がシングルポートRAM0としてシングルポートRAM−Cを選択すると共に、シングルポートRAM1としてシングルポートRAM−Aを選択することで実現できる。
【0071】
従来の非同期吸収回路11では低消費電力モードを実現する為に、16ビット×640WordのデュアルポートRAMを持たなければならない。また、従来の非同期吸収回路11では2ストリームモードを実現する為に、補正ありスケール変換回路50が利用するシングルポートRAM−Cを持たなければならない。
【0072】
このように、異なる複数のモードを持つ製品において、従来の非同期吸収回路11は本実施の形態の非同期吸収回路20と比較して回路規模が不利となる。また、異なる複数のモードを持つ製品の中に、非同期吸収しなければならない箇所が複数ある場合は、全ての箇所を本実施の形態の非同期吸収回路20で実現すれば、モードごとにシングルポートRAMを使い分ける選択肢が増え、従来の非同期吸収回路11と比べて回路規模の面で更に有利となる。
【0073】
なお、ここまでの説明では入力データが入力側バリッド信号INVALIDを有していなかった。入力側バリッド信号INVALIDを有している場合、入力データはINVALID期間があれば、入力速度が遅くなる。しかし、本実施の形態の非同期吸収回路20には不都合か生じない。RAM切り替えテーブル24は入力データが最大の速度であるときを想定して作成されている。
【実施例5】
【0074】
RAM切り替えテーブル24の作成及びシングルポートRAM0、1の記憶容量の選択は例えば図13に示すようなPC(パーソナルコンピュータ)でプログラムを実行することにより実現できる。図13はPCの一例のハードウェア構成図である。PCはバス68で相互に接続されている入力装置61、出力装置62、記録媒体読取装置63、補助記憶装置64、主記憶装置65、演算処理装置66及びインタフェース装置67を有する構成である。
【0075】
入力装置61はキーボードやマウス等である。入力装置61は各種信号を入力するために用いられる。出力装置62はディスプレイ装置等である。出力装置62は各種ウインドウやデータ等を表示するために用いられる。インタフェース装置67は、モデム、LANカード等である。インタフェース装置67はLANやインターネット等のネットワークに接続するために用いられる。
【0076】
RAM切り替えテーブル24の作成やシングルポートRAM0、1の記憶容量の選択を実現するプログラムは、例えば記録媒体69の配布やネットワーク等からのダウンロードなどによって提供される。なお、RAM切り替えテーブル24の作成やシングルポートRAM0、1の記憶容量の選択を実現するプログラムはPCで実行されるプログラムの少なくとも一部である。
【0077】
記録媒体69はCD−ROM、フレキシブルディスク、光磁気ディスク等の様に情報を光学的、電気的或いは磁気的に記録する記録媒体、ROM、フラッシュメモリ等の様に情報を電気的に記録する半導体メモリ等、様々なタイプの記録媒体を用いることができる。
【0078】
プログラムを記録した記録媒体69が記録媒体読取装置63にセットされると、プログラムは記録媒体69から記録媒体読取装置63を介して補助記憶装置64にインストールされる。ネットワーク等からダウンロードされたプログラムはインタフェース装置67を介して補助記憶装置64にインストールされる。
【0079】
補助記憶装置64はプログラム、必要なファイル、データ等を格納する。主記憶装置65はプログラムの起動時に補助記憶装置64からプログラムを読み出して格納する。演算処理装置66は主記憶装置65に格納されたプログラムに従って各種機能を実現する。
【0080】
まず、RAM切り替えテーブル24の作成方法及びシングルポートRAM0、1の記憶容量の選択方法について説明する。
【0081】
図14は2つのシングルポートRAMのビット数及びWord数の一例を表した説明図である。2つのシングルポートRAM0、1は同じビット数(ビット幅)である。シングルポートRAM0のWord数はw0とする。シングルポートRAM1のWord数はw1とする。入力データ及び出力データのビット数はシングルポートRAM0、1と同じとする。シングルポートRAM0のWord数w0及びシングルポートRAM1のWord数w1は以下の式(1)及び式(2)のように定義される。
【0082】
w0≧w1…(1)
w0及びw1は自然数…(2)
式(1)はシングルポートRAM0のWord数w0の方がシングルポートRAM1のWord数w1以上であることを示している。なお、FAB(ファウンドリ)が決まっていれば、式(2)には64の倍数、128の倍数などの条件が追加される。
【0083】
クロック信号ICLKの周波数が可変である場合は遅い周波数でも問題がないので最大周波数で見積もる。クロック信号OCLKの周波数が可変である場合は早い周波数でも問題がないので最低周波数で見積もる。
【0084】
クロック信号ICLKの最大周波数はfinとする。また、クロック信号OCLKの最低周波数はfoutとする。クロック信号ICLKの最大周波数とクロック信号OCLKの最低周波数との周波数比率kは以下の式(3)及び式(4)のように定義される。
【0085】
k=fin/fout…(3)
k>1(fin>0かつfout>0かつfin>fout)…(4)
k≦1のときは入力データのクロック信号ICLKの方が出力データのクロック信号OCLKよりも遅くなる。したがって、k≦1のときは非同期吸収するために大きな記憶容量のメモリを使う必要がないので、説明を省略する。
【0086】
図15は入力データを分割したブロックデータの一例の説明図である。入力データが連続する最大クロック数はIとする。最大クロック数Iをn分割してできたデータブロックの入力クロック数はxnとする。なお、入力クロック数xnの添え字nは先に来るデータブロックに大きい数を付している。最大クロック数Iと入力クロック数xnとの関係は以下の式(5)及び式(6)のように定義される。
【0087】
I=Σ(m=1からn)xm…(5)
I、n及びxnは自然数…(6)
非同期吸収回路20の場合は、非同期吸収部22の遅延時間をtとする。非同期吸収回路20Aの場合は、2つのシングルポートRAM0、1を動作させる為のクロック信号の切り替えに掛かる遅延時間をtとする。遅延時間tは入力クロック数xnを基準に切り上げて、入力クロック数xnで時間を定義する。なお、遅延時間tは非同期吸収回路20の実装方法によって僅かに異なる。また、本実施の形態では、実数Xを超えない最大の整数を[X]で表すこととする。また、入力クロック数xnは以下の式(7)及び式(8)のように定義される。
【0088】
n≧3のとき、xn=[(xn−1−t)/k](ただし、xnはメモリのword長を超えない。)…(7)
nは自然数で、できるだけ大きくする。xnは自然数でなければならない。nが一定数以上のとき、式(7)よりxnは0又は負数となるが、全て0とする。…(8)
また、以下の説明では式(9)及び式(10)を利用する。
【0089】
関数f(x)=[(x−t)/k]…(9)
実数a及びbのうち、小さい方をMin(a、b)と記述する。…(10)
以下では決められたメモリの記憶容量で受け入れられる最大の入力データクロック数Lについて考える。2つのシングルポートRAM0、1の記憶容量は、最大の入力データクロック数Lが最大クロック数Iよりも大きくなるようにすればよい。
【0090】
まずは、n分割された最後の入力クロック数x1のデータブロックがシングルポートRAM0に格納されるべきか、シングルポートRAM1に格納されるべきかを考える。
【0091】
L=Σ(m=4からn)xm+x3+x2+x1…(11)
n分割された最後の入力クロック数x1のデータブロックがシングルポートRAM0及びシングルポートRAM1のどちらに格納されるとしても、以下の式(12)が成り立つことになる。
【0092】
x2+x1=w1+w0=w0+w1…(12)
式(7)よりx3が大きい方が最大の入力データクロック数Lは大きくなる。最後の入力クロック数x1のデータブロックがシングルポートRAM0に格納されるべきかシングルポートRAM1に格納されるべきか、は以下の式(13)の関係から、最後にシングルポートRAM1に格納されるべきと分かる。
【0093】
Min(wo、f(w1))≦Min(w1、f(w0))…(13)
証明:命題Min(wo、f(w1))≦Min(w1、f(w0))
式(1)と式(4)と式(9)によりw0≧w1≧f(w1)により
Min(wo、f(w1))=f(w1)
w1≧f(w1)かつf(w0)≧f(w1)なので
Min(w1、f(w0))≧f(w1)
よって、Min(wo、f(w1))≦Min(w1、f(w0))
上記より、最大の入力データクロック数Lは以下の式(14)となる。
【0094】
L=Σ(m=4からn)xm+Min(w1、f(w0))+wo+w1…(14)
また、RAM切り替えテーブル24は例えば図16に示したフローチャートの手順で作成される。図16はRAM切り替えテーブルの作成手順を示した一例のフローチャートである。図16のフローチャートは非同期吸収回路仕様決定ステージS1と、FAB選定ステージS2と、RAMの組み合わせとRAM切り替えテーブル作成ステージS3とを有する手順を示している。
【0095】
非同期吸収回路仕様決定ステージS1は非同期吸収したいデータの情報を決める手順である。また、FAB選定ステージS2はデータのビット幅のシングルポートRAMでFABにあるWord数のシングルポートRAMを全て選ぶ手順である。また、RAMの組み合わせとRAM切り替えテーブル作成ステージS3は決められた遅延時間内で非同期吸収が可能な使えるシングルポートRAMの組み合わせと、RAM切り替えテーブル24とが出力される手順である。
【0096】
L=Σ(m=1からn)xm
=Σ(m=1から∞)xm
=Σ(m=4から∞)xm+Min(w1、f(w0))+wo+w1…(15)
式(15)のmの値を増やしていって初めてxmが0になる所の1つ前がnである。Lは表計算ソフトなどを用いて求めることができる。なお、非同期吸収の遅延時間を小さくする為には、最大の入力データクロック数Lと入力データが連続する最大クロック数Iとが等しくなるように入力クロック数x2を小さくすればよい。x2=w0−(L−I)とする。そのときの非同期吸収の遅延時間は以下の式(16)のようになる。
【0097】
(遅延時間)=w1/fin−(w0−(L−I))/fout…(16)
式(15)では、Lが大きくなるように(できるだけ小さいw0とw1でL≧Iを満たせるように)分割数nを可能な限り大きくしている。なお、ハードウェア設計上、一定の切り替え回数以内であって欲しい場合はnの最大値を制限して求める。また、上記では最後にシングルポートRAM1に格納した方が、入力データクロック数Lが大きくなることを証明したが、L≧Iになるならば、最後にシングルポートRAM0に格納するようにしてもよい。
【0098】
以下では非同期吸収回路仕様決定ステージS1、FAB選定ステージS2、RAMの組み合わせとRAM切り替えテーブル作成ステージS3について詳細に説明する。データは理解を容易とするため、1バイト/クロックとする。
【0099】
1バイト/クロックの場合は、シングルポートRAM0の記憶容量とクロック数とが一致するため、分かり易い。また、同様に、シングルポートRAM0、1のword数と記憶容量とは一致している。また、説明を容易とするため、以下では表計算ソフトの一例としてのExcel(登録商標)の関数を用いて説明を行う。
【0100】
非同期吸収回路仕様決定ステージS1では、まず、非同期吸収したいデータの情報としてクロック信号ICLKの最大周波数finと、クロック信号OCLKの最低周波数foutと、入力データが連続する最大クロック数Iと、非同期吸収部22の遅延時間の一例としてのクロック信号の切り替えに掛かる遅延時間tとを以下のように決める。
【0101】
fin=80MHz
fout=50MHz
I=1280
t=11clk(fin)
なお、非同期吸収部22の遅延時間tは上記したように図6の非同期吸収回路20であるか図9の非同期吸収回路20Aであるかによって異なる。非同期吸収部22の遅延時間tはデータの非同期吸収に要する時間であるが、クロック信号ICLKの最大周波数finやクロック信号OCLKの最低周波数fout、非同期吸収の仕方(FF2段受け、FF3段受けなど)やプロセスのサイズ(65ナノ、90ナノなど)による。非同期吸収部22の遅延時間tはASICルール等に基づき、多めにとるようにしてもよい。非同期吸収部22の遅延時間tは例えば設計者が使用に応じて決める。
【0102】
次にFAB選定ステージS2ではデータのビット幅のシングルポートRAMでFABにある記憶容量のシングルポートRAMを以下のように全て選ぶ。128B(バイト)刻みのシングルポートRAMがあるFABでは、例えば128B、256B、384B、512Bの組み合わせでL≧Iになる組み合わせを探す。
【0103】
例えばデュアルポートRAM13を使った非同期吸収回路11に比べて僅かに遅延時間が増える(実効出力速度が遅い)ということは、入力データのクロック信号ICLKの最大周波数finが変わらないならば、本実施の形態の非同期吸収回路20及び20AのシングルポートRAM0、1の記憶容量の合計がデュアルポートRAM13の記憶容量よりも理論的に大きくなければならない。
【0104】
デュアルポートRAM13を使った非同期吸収回路11で480B必要なとき、本実施の形態の非同期吸収回路20及び20AのシングルポートRAM0、1の記憶容量の合計が480Bより多く必要であるということは、非同期吸収回路20及び20Aで使用するシングルポートRAM0、1の記憶容量を探す目安になる。
【0105】
逆に、本実施の形態の非同期吸収回路20及び20AのシングルポートRAM0、1の記憶容量の合計は、入力データが連続する最大クロック数Iが1280であり、入力しながら出力できる仕様であるため、1280B以上が必要になることはない。
【0106】
図17はFABにある記憶容量のシングルポートRAMの組み合わせの一例を示した説明図である。図17では上記した式(1)に基づきw0<w1の領域を黒で塗りつぶしている。FAB選定ステージではL≧I且つw0+w1が最小になるシングルポートRAMの組み合わせを探す。
【0107】
図17では、L≧IになるシングルポートRAMの組み合わせのセルに「○」を付すと共に、L<IになるシングルポートRAMの組み合わせのセルに「×」を付す。図17に示されるように「×」のセルから見て右下の領域は「×」である。また「○」のセルから見て左上の領域は「○」である。
【0108】
結局、図17では384B+384Bの組み合わせか512B+256Bの組み合わせが最小となるシングルポートRAMの記憶容量の組み合わせであることが分かる。参考として、図17は640B+128Bの組み合わせが「○」になる可能性があるようにも見える。しかし、w0及びw1の総記憶容量が減るわけでもないため、特別な事情(例えば640BのシングルポートRAMを他の用途に兼用したいなど)が無い限り、検討する必要はない。なお、非同期吸収の遅延時間は以下の式(17)のようになる。
【0109】
t/fin+(x1+x2)/fout−x1/fin…(17)
式(17)を参照すると、x1+x2が一定ならば、x1が大きいほど、非同期吸収の遅延時間は短くなることが分かる。存在するシングルポートRAMの記憶容量の刻みが十分に大きいならば、x1≒w1、x2≒w0で、w0≧w1であるから、必要最小限のw0及びw1の元で|w0−w1|が大きくなると、非同期吸収の遅延時間は大きくなることが予想される。遅延時間を大きくしたい(実効出力速度を遅くしたい)ときは検討する意味はある。なお、実際に計算すると、640B+128Bの組み合わせはL<Iであるため「×」である。
【0110】
「×」のセルから見て右下の領域が「×」であるというルール1及び「○」のセルから見て左上の領域が「○」であるというルール2をもとに、w0+w1が最小の組み合わせを出力するソフトウェアを作成することは可能である。シングルポートRAMの記憶容量の刻みが細かい時に膨大なシングルポートRAMの組み合わせを探索するためにはソフトウェアは便利である。
【0111】
次にRAMの組み合わせとRAM切り替えテーブル作成ステージS3では決められた遅延時間内で非同期吸収が可能な使えるシングルポートRAMの組み合わせと、RAM切り替えテーブル24とを出力する。以下では、図7及び図10に示したタイミング図のRAM切り替えテーブル24の作成について説明する。
【0112】
図7のタイミング図の場合は、x1からxnは以下のように表される。
【0113】
x1=384
x2=384
x3=Max(Min(x1、ROUNDDOWN((x2−t)/k、0))、0)
xn=Max(ROUNDDOWN((xn−1−t)/k、0)、0)
なお、ROUNDDOWN(数値、桁数)は、指定した桁数で切り捨てた数値を返す関数である。桁数0は一の位で切り捨てることを表している。また、後述するROUNDUP(数値、桁数)は指定した桁数に数値を切り上げて返す関数である。
【0114】
まずは、384B+384BのシングルポートRAMの組み合わせで受け入れられる最大の入力データクロック数Lを求めると、L=Σxn=1284となる。入力データが連続する最大クロック数I=1280なので、最大の入力データクロック数L=1284のうちの4バイト(クロック)は不要となる。
【0115】
そこで、不要な4バイトはx1又はx2から引くことができる。上記した式(17)を参照するとx1+x2が一定ならばx2から引いた方が良いことになるが、x3=233である為、x2はROUNDUP(x3×k+t、0)≧384である必要がある。このため、不要な4バイトはx1から引かれることになる。結果として、表1のようなRAM切り替えテーブル24が作成される。なお、非同期吸収の遅延時間を厳密に最小にするために連立不等式を解いて答えを求めるかは設計者に委ねられる。
【0116】
【表1】

図10のタイミング図の場合は、x1からxnは以下のように表される。
【0117】
x1=256
x2=512
x3=Max(Min(x1、ROUNDDOWN((x2−t)/k、0))、0)
xn=Max(ROUNDDOWN((xn−1−t)/k、0)、0)
まずは、512B+256BのシングルポートRAMの組み合わせで受け入れられる最大の入力データクロック数Lを求めると、L=Σxn=1343となる。入力データが連続する最大クロック数I=1280なので、最大の入力データクロック数L=1343のうちの63バイト(クロック)は不要となる。そこで、不要な63バイトはx1又はx2から引くことができる。
【0118】
上記した式(17)を参照するとx1+x2が一定ならばx2から引いた方が良いことになる。したがって、x2=512−63=449となる。x3=256である為、x2はROUNDUP(x3×k+t、0)≧421という条件を満たせます。よって、RAM切り替えテーブル24は表2のようになる。
【0119】
【表2】

なお、上記は機械的な回答例であって、回路が動作するRAM切り替えテーブル24は1つではない。例えば切り替え回数を少なくしたいならば、RAM切り替えテーブル24はx7及びx8を0にすることも可能である。
【0120】
例えばテーブルを全てレジスタで持ち、x6までしか値を記憶できないIC用の切り替えテーブルを作成したい場合はx7及びx8を0にする必要がある。なお、テーブルをIC内で生成する場合は、無限回の切り替えが許されるので、このような必要性はない。微調整は用途に応じて設計者に委ねられる。
【0121】
図18は非同期吸収の遅延時間を表した一例の説明図である。上記した式(17)は図18に示した関係から生成される。なお、式(17)のt/finは非常に小さい値であるため、無視しても構わない。
【0122】
図19はRAM切り替えテーブルを作成するシートの一例の構成図である。また、図20はRAM切り替えテーブルを作成するシートの他の例の構成図である。図19のシートは図7のタイミング図に示したRAM切り替えテーブル24を作成する例を示す。図20のシートは図10のタイミング図に示したRAM切り替えテーブル24を作成する例を示している。
【0123】
図19及び図20のシートはクロック信号ICLKの最大周波数finと、クロック信号OCLKの最低周波数foutと、入力データが連続する最大クロック数Iと、シングルポートRAM0のWord数w0と、シングルポートRAM1のWord数w1と、kからtを算出する関数t=ak+bのa及びbとに数値を入力することで、RAM切り替えテーブル24が作成されることを表している。
【0124】
本実施の形態によれば、デュアルポートRAMを使わずにシングルポートRAMを使用して非同期吸収(速度変換)することができ、デュアルポートRAMを使うよりもチップサイズを大幅に減らすことができる。また、2枚のシングルポートRAM及びRAM切り替えテーブル24を使うことで、本実施の形態は異なる複数のモードを持つ製品においてRAM等のメモリをモード毎に使い分けて回路規模を小さくし、更に消費電力も下げることを可能にしている。
【0125】
本発明は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。なお、特許請求の範囲に記載した書き込み動作手段はライト動作部26に相当する。読み出し動作手段はリード動作部27に相当する。切り替え手段はRAMセレクタ部28に相当する。
【0126】
また、切り替え制御手段はスイッチング判定部25に相当する。非同期吸収手段は内蔵FF部29又はCLK生成回路30に相当する。切り替えタイミング記録手段はRAM切り替えテーブル24に相当する。
【符号の説明】
【0127】
0、1 シングルポートRAM
10 入力データI/F
11 非同期吸収回路
12 出力データI/F
13 デュアルポートRAM
20、20A 非同期吸収回路
21 同期吸収部
22 非同期吸収部
23 データ数(CLK数)カウント部
24、24A、24B RAM切り替えテーブル
25 スイッチング判定部
26 ライト動作部
27 リード動作部
28 RAMセレクタ部
29 内蔵FF(フリップフロップ)部
30 CLK生成回路
31 CLKセレクタ部
40 CPU
41 RAMセレクタ部
42 RAM切り替えテーブルセレクタ部
50 補正ありスケール変換回路
61 入力装置
62 出力装置
63 記録媒体読取装置
64 補助記憶装置
65 主記憶装置
66 演算処理装置
67 インタフェース装置
68 バス
【先行技術文献】
【特許文献】
【0128】
【特許文献1】特開2010−134646号公報
【特許文献2】特開2007−249010号公報

【特許請求の範囲】
【請求項1】
少なくとも画像1ライン分よりも少ない記憶容量の複数の記憶手段への入力データの書き込み動作を行う書き込み動作手段と、
前記記憶手段からの出力データの読み出し動作を行う読み出し動作手段と、
前記書き込み動作手段による書き込み及び前記読み出し動作手段による読み出しの対象となる前記記憶手段を切り替える切り替え手段と、
画像1ライン分の入力データを複数に分けたブロックデータが前記記憶手段に振り分けられるタイミングに基づき、前記切り替え手段による前記記憶手段の切り替えを制御する切り替え制御手段と、
入力データのクロック信号と出力データのクロック信号との非同期吸収を行う非同期吸収手段と
を有することを特徴とする非同期吸収回路。
【請求項2】
画像1ライン分の入力データを複数に分けたブロックデータが前記記憶手段に振り分けられるタイミングを記録した切り替えタイミング記録手段を、更に有すること
を特徴とする請求項1記載の非同期吸収回路。
【請求項3】
前記複数の記憶手段が2個の記憶手段である場合、前記切り替えタイミング記録手段は前記ブロックデータがn個であるとき、n−2番目の前記ブロックデータの前記記録手段からの読み出し動作まで、n−1番目の前記ブロックデータの前記記録手段への書き込み動作よりも早く終わるように、前記ブロックデータが前記記憶手段に振り分けられるタイミングを記録していること
を特徴とする請求項2記載の非同期吸収回路。
【請求項4】
前記非同期吸収手段は、フリップフロップ手段を用いて前記非同期吸収を行うこと
を特徴とする請求項1乃至3何れか一項記載の非同期吸収回路。
【請求項5】
前記非同期吸収手段は、前記記録手段を動作させる為のクロック信号を、前記記憶手段への入力データの書き込み動作を行うときに前記入力データのクロック信号とし、前記記憶手段からの出力データの読み出し動作を行うときに前記出力データのクロック信号として前記非同期吸収を行うこと
を特徴とする請求項1乃至3何れか一項記載の非同期吸収回路。
【請求項6】
請求項1記載の非同期吸収回路を有することを特徴とする画像処理装置。
【請求項7】
少なくとも画像1ライン分よりも少ない記憶容量の複数の記憶手段への入力データの書き込み動作を行う書き込み動作手段と、
前記記憶手段からの出力データの読み出し動作を行う読み出し動作手段と、
前記書き込み動作手段による書き込み及び前記読み出し動作手段による読み出しの対象となる前記記憶手段を切り替える切り替え手段と、
画像1ライン分の入力データを複数に分けたブロックデータが前記記憶手段に振り分けられるタイミングに基づき、前記切り替え手段による前記記憶手段の切り替えを制御する切り替え制御手段と、
入力データのクロック信号と出力データのクロック信号との非同期吸収を行う非同期吸収手段と
を有する非同期吸収回路の切り替えタイミング記録手段を生成するコンピュータに、
非同期吸収したいデータの情報を受け付ける仕様決定ステップと、
前記データのビット幅と同一、且つ、利用可能な記憶容量の記憶手段を選定する選定ステップと、
決められた遅延時間内で非同期吸収が可能な前記選定された記憶手段の組み合わせ及び画像1ライン分の入力データを複数に分けたブロックデータが前記記憶手段に振り分けられるタイミングを記録した切り替えタイミング記録手段を作成する作成ステップと
を実行させる為のプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate


【公開番号】特開2013−66007(P2013−66007A)
【公開日】平成25年4月11日(2013.4.11)
【国際特許分類】
【出願番号】特願2011−202819(P2011−202819)
【出願日】平成23年9月16日(2011.9.16)
【出願人】(000006747)株式会社リコー (37,907)
【Fターム(参考)】