(57)【要約】【課題】効率よく画像データを読み出すことができるデータ書き込み装置及び方法、データ読み出し装置及び方法、プログラム、並びに記録媒体を提供する。【解決手段】アドレス制御部５が、水平方向にＮ画素及び垂直方向にＮ画素からなる任意のＮ×Ｎ画素のデータが同一のロウアドレス内で連続するように画像データを画像格納部４に書き込む。【選択図】図１
2006244094.tif 000002
【特許請求の範囲】
【請求項１】
画像データをデータメモリに書き込むデータ書き込み装置において、
上記画像データの少なくともＮラインのデータを一時的に蓄積するバッファと、
Ｎライン毎に上記画像データを上記データメモリに書き込む書き込み手段とを備え、
上記書き込み手段は、水平方向にＮ画素及び垂直方向にＮ画素からなる任意のＮ×Ｎ画素のデータが同一のロウアドレス内で連続するように上記画像データを上記データメモリに書き込むことを特徴とするデータ書き込み装置。
【請求項２】
上記データメモリは、複数のバンクから構成されており、
上記書き込み手段は、上記画像データを複数のブロックに分割し、各ブロックのデータを、隣接するブロックのデータが書き込まれるバンクと異なるバンクとなるように書き込むことを特徴とする請求項１記載のデータ書き込み装置。
【請求項３】
画像データをデータメモリに書き込むデータ書き込み方法において、
上記画像データの少なくともＮラインのデータをバッファに一時的に蓄積する工程と、
Ｎライン毎に上記画像データを上記データメモリに書き込む書き込み工程とを備え、
上記書き込み工程では、水平方向にＮ画素及び垂直方向にＮ画素からなる任意のＮ×Ｎ画素のデータが同一のロウアドレス内で連続するように上記画像データを上記データメモリに書き込むこと特徴とするデータ書き込み方法。
【請求項４】
画像データをデータメモリに書き込む処理を実行させるプログラムにおいて、
上記画像データの少なくともＮラインのデータをバッファに一時的に蓄積する工程と、
Ｎライン毎に上記画像データを上記データメモリに書き込む書き込み工程とを備え、
上記書き込み工程では、水平方向にＮ画素及び垂直方向にＮ画素からなる任意のＮ×Ｎ画素のデータが同一のロウアドレス内で連続するように上記画像データを上記データメモリに書き込むことを特徴とするプログラム。
【請求項５】
水平方向にＮ画素及び垂直方向にＮ画素からなる任意のＮ×Ｎ画素のデータが同一のロウアドレス内で連続するように画像データが格納されたデータメモリから所望の画素位置の画素データを読み出すデータ読み出し装置であって、
画素位置に応じて連続するＮ２画素分のデータをバーストリードし、Ｎ×Ｎ画素のデータを取得する取得手段と、
上記Ｎ×Ｎ画素のデータに基づいて上記画素位置の画素データを生成する生成手段と
を備えることを特徴とするデータ読み出し装置。
【請求項６】
水平方向にＮ画素及び垂直方向にＮ画素からなる任意のＮ×Ｎ画素のデータが同一のロウアドレス内で連続するように画像データが格納されたデータメモリから所望の画素位置の画素データを読み出すデータ読み出し方法であって、
画素位置に応じて連続するＮ２画素分のデータをバーストリードし、Ｎ×Ｎ画素のデータを取得する取得工程と、
上記Ｎ×Ｎ画素のデータに基づいて上記画素位置の画素データを生成する生成工程と
を有することを特徴とするデータ読み出し方法。
【請求項７】
水平方向にＮ画素及び垂直方向にＮ画素からなる任意のＮ×Ｎ画素のデータが同一のロウアドレス内で連続するように画像データが格納されたデータメモリから所望の画素位置の画素データを読み出す処理をさせるプログラムであって、
画素位置に応じて連続するＮ２画素分のデータをバーストリードし、Ｎ×Ｎ画素のデータを取得する取得工程と、
上記Ｎ×Ｎ画素のデータに基づいて上記画素位置の画素データを生成する生成工程と
を有することを特徴とするプログラム。
【請求項８】
画像データが記録された記録媒体において、
水平方向にＮ画素及び垂直方向にＮ画素からなる任意のＮ×Ｎ画素のデータが同一のロウアドレス内で連続するように画像データが配置されていることを特徴とする記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データを効率的に読み出すためのデータ書き込み装置及び方法、データ読み出し装置及び方法、プログラム、並びに記録媒体に関する。
【背景技術】
【０００２】
従来、図９に示すように入力画像を変換規則に従って変換し、出力画像を得る画像変換装置１０１が知られている。この画像変換装置１０１は、図１０に示すように画像データを入力する画像入力部１０２と、画像データを一時的に記憶する画像バッファ部１０３と、画像データ変換テーブルを格納する変換テーブル部１０４と、画像データを格納する画像蓄積部１０５と、画像データ変換テーブルに基づいて画素値を補間する画素値補間計算部１０６と、変換された画像データを出力する変換画像出力部１０７とを備えている。このような画像変換装置１０１は、入力画像を一旦画像蓄積部１０３に蓄積し、画像データ変換テーブルを用いることにより、出力画像の所望の画素（Ｘ，Ｙ）が入力画像のどの座標にあたるか（例えば（Ｘ'，Ｙ'））を参照している。
【０００３】
また、画像変換装置１０１は、整数値の座標に変換するだけでなく、小数値の座標にも変換することができる。小数値の座標に変換する場合、参照先の入力画像から周辺の画素をメモリから読み出し、その画素値から線形補間を行う。例えば、図１１に示すように画像データ変換テーブルにより指定された入力画像上での位置Ｐは、画像データ変換テーブルが指し示す値の周辺４画素を読み出し、その画素値から線形補間を行うことにより求められる。例えば、Ｐ（１５５.２５，１７１.７５）は、図１２に示すように周辺４画素Ｐ１（１５５,１７１）、Ｐ２（１５６,１７１）、Ｐ３（１５５,１７２）及びＰ４（１５６,１７２）を読み出すことにより、線形補間される。このように画素値補間を行うことにより、精度の良い出力画像を得ることができる。
【０００４】
【特許文献１】特開２００３−２３７１４５号公報
【特許文献２】特開２００４−７２６００号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、入力画像を蓄積するメモリの種類としては、その容量の大きさなどからＳＤＲＡＭ（Synchronous Dynamic Random Access Memory）が広く用いられている。このＳＤＲＡＭは、同じロウアドレス内であれば、一度のバンク活性化で、カラムアドレスをインクリメントしながら１クロック毎に連続して画素を読み出すことができる（以下、バーストリードという）。
【０００６】
例えば、プリンタでカラム方向（用紙搬送方向）に印字する場合、画像データを順次縦に切り出すＨＶ（Horizontal/Vertical）変換を行い、画像データをメモリに格納し、画像の縦方向をバーストリードする（例えば、特許文献１参照。）。
【０００７】
また、画像回転システムでは、画像データをライン毎にバンクを切り替えて格納し、高速な画像データの読み出しを行っている（例えば、特許文献２参照。）。
【０００８】
しかしながら、上記特許文献１及び２に記載された技術は、画像データの縦方向又は横方向の読み出しは高速に行うことができるものの、上述した画像変換装置１０１のように周辺画素を読み出す場合、効率よく画像データを読み出すことができない。
【０００９】
本発明は、このような従来の実情に鑑みて提案されたものであり、効率よく画像データを読み出すことができるデータ書き込み装置及び方法、データ読み出し装置及び方法、プログラム、並びに記録媒体を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上述した目的を達成するために、本発明に係るデータ書き込み装置は、画像データをデータメモリに書き込むデータ書き込み装置において、上記画像データの少なくともＮラインのデータを一時的に蓄積するバッファと、Ｎライン毎に上記画像データを上記データメモリに書き込む書き込み手段とを備え、上記書き込み手段は、水平方向にＮ画素及び垂直方向にＮ画素からなる任意のＮ×Ｎ画素のデータが同一のロウアドレス内で連続するように上記画像データを上記データメモリに書き込むことを特徴としている。
【００１１】
また、本発明に係るデータ書き込み方法は、画像データをデータメモリに書き込むデータ書き込み方法において、上記画像データの少なくともＮラインのデータをバッファに一時的に蓄積する工程と、Ｎライン毎に上記画像データを上記データメモリに書き込む書き込み工程とを備え、上記書き込み工程では、水平方向にＮ画素及び垂直方向にＮ画素からなる任意のＮ×Ｎ画素のデータが同一のロウアドレス内で連続するように上記画像データを上記データメモリに書き込むことを特徴としている。
【００１２】
また、本発明に係るプログラムは、画像データをデータメモリに書き込む処理を実行させるプログラムにおいて、上記画像データの少なくともＮラインのデータをバッファに一時的に蓄積する工程と、Ｎライン毎に上記画像データを上記データメモリに書き込む書き込み工程とを備え、上記書き込み工程では、水平方向にＮ画素及び垂直方向にＮ画素からなる任意のＮ×Ｎ画素のデータが同一のロウアドレス内で連続するように上記画像データを上記データメモリに書き込むことを特徴としている。
【００１３】
また、本発明に係るデータ読み出し装置は、水平方向にＮ画素及び垂直方向にＮ画素からなる任意のＮ×Ｎ画素のデータが同一のロウアドレス内で連続するように画像データが格納されたデータメモリから所望の画素位置の画素データを読み出すデータ読み出し装置であって、画素位置に応じて連続するＮ２画素分のデータをバーストリードし、Ｎ×Ｎ画素のデータを取得する取得手段と、上記Ｎ×Ｎ画素のデータに基づいて上記画素位置の画素データを生成する生成手段とを備えることを特徴としている。
【００１４】
また、本発明に係るデータ読み出し方法は、水平方向にＮ画素及び垂直方向にＮ画素からなる任意のＮ×Ｎ画素のデータが同一のロウアドレス内で連続するように画像データが格納されたデータメモリから所望の画素位置の画素データを読み出すデータ読み出し方法であって、画素位置に応じて連続するＮ２画素分のデータをバーストリードし、Ｎ×Ｎ画素のデータを取得する取得工程と、上記Ｎ×Ｎ画素のデータに基づいて上記画素位置の画素データを生成する生成工程とを有することを特徴としている。
【００１５】
また、本発明に係るプログラムは、水平方向にＮ画素及び垂直方向にＮ画素からなる任意のＮ×Ｎ画素のデータが同一のロウアドレス内で連続するように画像データが格納されたデータメモリから所望の画素位置の画素データを読み出す処理をさせるプログラムであって、画素位置に応じて連続するＮ２画素分のデータをバーストリードし、Ｎ×Ｎ画素のデータを取得する取得工程と、上記Ｎ×Ｎ画素のデータに基づいて上記画素位置の画素データを生成する生成工程とを有することを特徴としている。
【００１６】
また、本発明に係る記録媒体は、画像データが記録された記録媒体において、水平方向にＮ画素及び垂直方向にＮ画素からなる任意のＮ×Ｎ画素のデータが同一のロウアドレス内で連続するように画像データが配置されていることを特徴としている。
【発明の効果】
【００１７】
本発明によれば、水平方向にＮ画素及び垂直方向にＮ画素からなる任意のＮ×Ｎ画素のデータが同一のロウアドレス内で連続するように画像データをデータメモリに書き込むことにより、Ｎ×Ｎ画素のデータを効率的にバーストリードすることができる。
【発明を実施するための最良の形態】
【００１８】
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。
【００１９】
図１は、本実施の形態における画像変換装置を示すブロック図である。画像変換装置１は、画像データを入力する画像入力部２と、画像データを一時的に蓄積する画像バッファ部３と、画像データを格納する画像格納部４と、画像データの書き込み／読み出しを制御するアドレス制御部５と、画像を変換する変換テーブルを格納する変換テーブル格納部６と、変換テーブルをデコードする変換テーブルデコード部７と、画素値補間を行う画素値補間計算部８とを備えて構成されている。
【００２０】
画像入力部２から入力された入力画像は画像バッファ部３にて一時的に蓄積される。画像バッファ部３のＦＩＦＯ３１及びＦＩＦＯ３２は、入力画像の１ライン分をそれぞれ蓄積する。ＦＩＦＯ３１は、ＦＩＦＯ３２に蓄積されたラインの次のラインを格納する。すなわち、ＦＩＦＯ３１及びＦＩＦＯ３２は入力された画像データの連続する上下の２ラインを格納する。これにより、後述するように一つ下のラインと組み合わせながら画像を格納することができる。
【００２１】
セレクタ３３は、ＦＩＦＯ３１及びＦＩＦＯ３２に蓄積された連続する２ラインの画像データから１ラインの画像データに切り替える。Ｄ−Ｆｌｉｐｆｒｏｐ３４〜３６は、１ラインの画像データからバンクの切り替えにより重複させる画素を決定するとともに、１ラインの画像データを各バンクに分ける。各バンクに分けられた画像データは、セレクタ３７を介し、書き込みデータとして出力される。
【００２２】
画像格納部４は、例えばＳＤＲＡＭ（Synchronous Dynamic Random Access Memory）等のメモリから成り、画像データを格納する。このＳＤＲＡＭは、同じロウアドレス内であれば、一度のバンク活性化で、カラムアドレスをインクリメントしながら１クロック毎に連続して画素を読み出すことができる（以下、バーストリードという）。また、ＳＤＲＡＭは、あるバンクにおいてコマンド実行中に別のバンクにおいてもコマンドの実行が可能である。
【００２３】
アドレス制御部５は、セレクタ３３及びセレクタ３７を制御し、書き込みデータを生成するとともに、画像格納部４への画像データの書き込み及び画像格納部４からの画像データの読み出しを行う。
【００２４】
変換テーブル格納部６は、画像を変換するため、画素値を変換する変換テーブルを有している。この変換テーブルには、小数の画素値に変換するものも含まれている。
【００２５】
変換テーブルデコード部７は、変換テーブルの整数部と小数部とをデコードする。画素値補間計算部８は、小数部の画素値を整数値の周辺画素で線形補間する。すなわち、変換テーブルデコード部７にてデコードされた整数部より整数値の周辺画素を画像格納部４から読み出し、整数値の周辺画素を読み込みデータとして画素値補間計算部８に入力し、線形補間を行う。
【００２６】
このように画像を変換することにより、精度の高い出力画像を得ることができる。
【００２７】
次に、画像格納部４への画像データ格納方法について説明する。図２は、６４０×４８０画素の入力画像を４バンクのメモリに格納する場合について説明する図である。この例は、周辺４画素、すなわち２×２画素を連続して読み出すようにしたものである。
【００２８】
入力画像は、図２に示すように、Ｙ座標が偶数ならばバンク０、１、２、３の順番に、Ｙ座標が奇数ならばバンク２、３、０、１の順番に格納される。すなわち、入力画像データを複数のブロックに分割し、各ブロックが周辺のブロックと異なるバンクとなるように格納される。これにより、例えばカメラにおける歪を修正する場合などに、異なるバンクから高速な読み出しをすることができる。
【００２９】
また、ＦＩＦＯ３１及びＦＩＦＯ３２に蓄積された連続する２ラインの画像データによって、各バンクには、図３〜図６に示すように（Ｘ，Ｙ），（Ｘ，Ｙ＋１），（Ｘ＋１，Ｙ），（Ｘ＋１，Ｙ＋１），…の順番に一つ下のラインと組み合わせながら画像が格納される。このように同じロウアドレス内に連続させて周辺４画素を格納することにより、一度のバンク活性化で、周辺画素をバーストリードすることができる。
【００３０】
また、画像横１ラインが１バンクに格納できない場合、Ｄ−Ｆｌｉｐｆｒｏｐ３４〜３６により、バンクに格納した最後の画素を次のバンクの先頭にも格納する。例えば図３及び図４の例では、バンク０のカラムアドレスＣＯＬ３１９及びＣＯＬ３２０の画素が、バンク１のカラムアドレスＣＯＬ０及びＣＯＬ１に格納されている。これにより、どの周辺４画素も１つのバンクから読み出すことができる。
【００３１】
また、入力画像の端は、例えばバンク０のロウアドレス４７９のように同じ画素値を格納するか又は０を格納することが好ましい。
【００３２】
このように、入力画像を（Ｘ，Ｙ），（Ｘ，Ｙ＋１），（Ｘ＋１，Ｙ），（Ｘ＋１，Ｙ＋１），…の順番に一つ下のラインと組み合わせながら格納し、変換テーブルの画素値の小数点を切り捨てた整数値の画素にバーストアクセスすることにより、どの周辺４画素もバーストリードすることができる。
【００３３】
続いて、周辺４画素のバーストリードについて図７を参照しながら説明する。ＳＤＲＡＭからのデータの読み出しは、ＡＣＴＩＶＡＴＥコマンドと同時にロウアドレスを入力してバンクを活性化し、ＲＥＡＤ／ＷＲＩＴＥコマンドと同時にカラムアドレスを入力することにより行われ、データはＣＡＳレイテンシー時間後に出力される。
【００３４】
従来は、図７（ａ）のタイミングのように、画素を読み出すごとにＡＣＴＩＶＡＴＥコマンドを発行し、いったん活性化したバンクをプリチャージしなければならなかった。したがって、周辺４画素を読み出そうとすると、プリチャージする一連の動作が必要となるため、図７（ａ）に示すような読み出し時間を必要とする。
【００３５】
しかし、本実施の形態のように、同じロウアドレス内に連続して周辺４画素を格納している場合、図７（ｂ）のタイミングのように、一度のバンクの活性化により連続して周辺４画素をバーストリードすることができる。このタイミングによれば、バーストリード後、読み出したバンクのプリチャージのための１クロックのデータ無出力期間のみで周辺４画素を読み出すことができるため、図７（ａ）のタイミングよりも読み出し時間を約３分の１に短縮することができる。この１クロックのデータ無出力期間による周辺４画素の連続読み出しは、連続して読み出す周辺４画素がその前の周辺４画素が格納されたバンクと異なる場合、又はその前の周辺４画素が格納されたバンクが同じであっても、その前の周辺４画素と同じロウアドレスに格納されている場合に行うことができる。
【００３６】
また、上述の実施の形態では、周辺４画素をバーストリードできるように格納したが、これに限られるものではなく、例えば、周辺９画素をバーストリードできるようにしてもよい。この場合、画像バッファ部は、図８に示すような構成となる。すなわち、画像バッファ部３００は、連続する３ラインを一時的に蓄積するＦＩＦＯ３０１〜３０３と、ＦＩＦＯ３０１〜３０２に蓄積された画像データから１ラインの画像データに切り替えるセレクタ３０４と、画像データのバンクの切り替えにより重複させる画素を決定するとともに１ラインの画像データを各バンクに分けるＤ−Ｆｌｉｐｆｒｏｐ３０５〜３１０と、各バンクに分けられた画像データを書き込みデータとして出力するセレクタ３１１とを備えて構成される。つまり、Ｎ×Ｎ画素をバーストリードできるように格納するためには、Ｎ個のＦＩＦＯと、（Ｎ−１）×（バンク数−１）個のＤ−Ｆｌｉｐｆｒｏｐとを備えて構成すればよい。これにより、メモリのロウアドレスには画素データがＸＹ座標系で、
（Ｘ，Ｙ），…，（Ｘ，Ｙ＋（Ｎ−１））、
（Ｘ＋１，Ｙ），…，（Ｘ＋１，Ｙ＋（Ｎ−１））、
…
（Ｘ＋（Ｎ−１），Ｙ），…，（Ｘ＋（Ｎ−１），Ｙ＋（Ｎ−１））
の順に配置される。
【００３７】
以上の説明から明らかなように、本発明によれば、画像データをＮ×Ｎ画素ごとに連続してロウアドレスに書き込むことにより、Ｎ×Ｎ画素をバーストリードすることができる。
【図面の簡単な説明】
【００３８】
【図１】本実施の形態における画像変換装置の構成を示すブロック図である。
【図２】６４０×４８０画素の入力画像を４バンクのメモリに格納する場合を説明する図である。
【図３】６４０×４８０画素の入力画像を４バンクのメモリに格納する場合のバンク０を説明する図である。
【図４】６４０×４８０画素の入力画像を４バンクのメモリに格納する場合のバンク１を説明する図である。
【図５】６４０×４８０画素の入力画像を４バンクのメモリに格納する場合のバンク２を説明する図である。
【図６】６４０×４８０画素の入力画像を４バンクのメモリに格納する場合のバンク３を説明する図である。
【図７】周辺画素の読み出しのタイミングを説明する図である。
【図８】他の実施の形態における画像バッファ部の構成を示すブロック図である。
【図９】従来の画像変換装置を説明するための図である。
【図１０】従来の画像変換装置を説明するための図である。
【図１１】画素値補間を説明するための図である。
【図１２】画素値補間を説明するための図である。
【符号の説明】
【００３９】
１    画像変換装置、  ２    画像入力部、  ３    画像バッファ部、  ４    画像格納部、  ５    アドレス制御部、  ６    変換テーブル格納部、  ７    変換テーブルデコード部、  ８    画素値補間計算部
【図１】
2006244094.tif 000003
【図２】
2006244094.tif 000004
【図３】
2006244094.tif 000005
【図４】
2006244094.tif 000006
【図５】
2006244094.tif 000007
【図６】
2006244094.tif 000008
【図７】
2006244094.tif 000009
【図８】
2006244094.tif 000010
【図９】
2006244094.tif 000011
【図１０】
2006244094.tif 000012
【図１１】
2006244094.tif 000013
【図１２】
2006244094.tif 000014