ラインメモリ
【課題】データ保持の機能を維持しつつ回路規模の削減を可能とするラインメモリを提供すること。
【解決手段】ラインデータを格納する二以上のメモリコアと、メモリコアにおけるラインデータの書き込み及び読み出しのためのアドレスを生成するメモリコア用アドレス生成手段20と、を有し、メモリコアを組み合わせてなるメモリ構成は、メモリコアの組み合わせパターンに応じてライン幅及びライン数を適応的に変換可能であるとともに、メモリコアへ入力されるデータをラインデータとして格納する際の配列方法が変更可能であって、メモリコア用アドレス生成手段20は、入力画像に関する情報に応じて選択された組み合わせパターンと配列方法とに応じたアドレスを生成する。
【解決手段】ラインデータを格納する二以上のメモリコアと、メモリコアにおけるラインデータの書き込み及び読み出しのためのアドレスを生成するメモリコア用アドレス生成手段20と、を有し、メモリコアを組み合わせてなるメモリ構成は、メモリコアの組み合わせパターンに応じてライン幅及びライン数を適応的に変換可能であるとともに、メモリコアへ入力されるデータをラインデータとして格納する際の配列方法が変更可能であって、メモリコア用アドレス生成手段20は、入力画像に関する情報に応じて選択された組み合わせパターンと配列方法とに応じたアドレスを生成する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ラインメモリに関する。
【背景技術】
【0002】
画像処理における画像の縮小及び拡大のためのスケーリング処理では、複数の周辺画素の信号値を使用したフィルタ演算(畳み込み処理)のためのデータ保持を行う。特に、画像の垂直方向の畳み込み処理については、ラインメモリにおける複数のラインデータの保持が必要となる。従来、ラインメモリは、垂直方向の畳み込み処理に必要とされる最大入力画像幅(1ライン当たりの最大ワード数)と、最大フィルタタップ数(最大ライン数)との双方を組み込んで構成されている。このため、最大ワード数、最大タップ数が大きくなるほど、回路規模の増大が懸念されることとなる。スケーリング処理において画像サイズを変換させる割合(スケール率)が小さければ、大きい入力画像幅を要する一方、小さいタップ数で済む。これに対して、スケール率が大きければ、小さい入力画像幅で済む一方、大きいタップ数を要する。このため、特に、スケール率を大幅に変化させるシステムでは、用意された入力画像幅やタップ数が無駄になるケースが多く生じることになる。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2003−274372号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明は、データ保持の機能を維持しつつ回路規模の削減を可能とするラインメモリを提供することを目的とする。
【課題を解決するための手段】
【0005】
本願発明の一態様によれば、ラインデータを格納する二以上のメモリコアと、前記メモリコアにおける前記ラインデータの書き込み及び読み出しのためのアドレスを生成するメモリコア用アドレス生成手段と、を有し、前記メモリコアを組み合わせてなるメモリ構成は、前記メモリコアの組み合わせパターンに応じてライン幅及びライン数を適応的に変換可能であるとともに、前記メモリコアへ入力されるデータをラインデータとして格納する際の配列方法が変更可能であって、前記メモリコア用アドレス生成手段は、入力画像に関する情報に応じて選択された前記組み合わせパターンと前記配列方法とに応じた前記アドレスを生成することを特徴とするラインメモリが提供される。
【0006】
また、本願発明の一態様によれば、ラインデータを格納する二以上のメモリコアと、前記メモリコアにおける前記ラインデータの書き込み及び読み出しのためのアドレスを生成するメモリコア用アドレス生成手段と、を有し、前記メモリコアを組み合わせてなるメモリ構成は、前記メモリコアの組み合わせパターンに応じてライン幅及びライン数を適応的に変換可能であって、前記メモリコア用アドレス生成手段は、入力画像に関する情報に応じて選択された前記組み合わせパターンに応じた前記アドレスを生成することを特徴とするラインメモリが提供される。
【0007】
また、本願発明の一態様によれば、ラインデータを格納する二以上のメモリコアと、前記メモリコアにおける前記ラインデータの書き込み及び読み出しのためのアドレスを生成するメモリコア用アドレス生成手段と、を有し、前記メモリコアを組み合わせてなるメモリ構成は、前記メモリコアへ入力されるデータをラインデータとして格納する際の配列方法が変更可能であって、前記メモリコア用アドレス生成手段は、入力画像に関する情報に応じて選択された前記配列方法に応じた前記アドレスを生成することを特徴とするラインメモリが提供される。
【発明の効果】
【0008】
本発明によれば、データ保持の機能を維持しつつ回路規模を削減できるという効果を奏する。
【図面の簡単な説明】
【0009】
【図1】本発明の実施の形態に係るスケーラ回路1の構成を示すブロック図。
【図2】画素の配列について説明する図。
【図3】ラインメモリのブロック構成を示す図。
【図4】RAM本体を構成するメモリコアについて説明する図。
【図5】入力画像データをメモリ格納データとして格納する際の第1の配列方法について説明する図。
【図6】入力画像データをメモリ格納データとして格納する際の第2の配列方法について説明する図。
【図7】第1の組み合わせパターンで組み合わせられたメモリ構成を示す図。
【図8】第1の組み合わせパターンに対応して生成されるメモリコア用アドレスと、ラインデータの振り分けとを示す表。
【図9】第2の組み合わせパターンで組み合わせられたメモリ構成を示す図。
【図10】第2の組み合わせパターンに対応して生成されるメモリコア用アドレスと、ラインデータの振り分けとを示す図。
【図11】第3の組み合わせパターンで組み合わせられたメモリ構成を示す図。
【図12】第3の組み合わせパターンに対応して生成されるメモリコア用アドレスと、ラインデータの振り分けとを示す表。
【図13】第4の組み合わせパターンで組み合わせられたメモリ構成を示す図。
【図14】第4の組み合わせパターンに対応して生成されるメモリコア用アドレスと、ラインデータの振り分けとを示す表。
【図15】入力画像幅に対して選択可能なメモリコアの組み合わせパターン及びデータの配列方法と、その場合における最大ライン幅及び最大タップ数を示す表。
【発明を実施するための形態】
【0010】
以下に添付図面を参照して、本発明の実施の形態に係るラインメモリを詳細に説明する。なお、この実施の形態により本発明が限定されるものではない。
【0011】
(実施の形態)
図1は、本発明の実施の形態に係るスケーラ回路1の構成を示すブロック図である。スケーラ回路1は、ラインメモリ10、水平スケーリング回路11、垂直スケーリング回路12、シーケンサ13及び係数テーブル14を有する。
【0012】
水平スケーリング回路11は、画像信号として入力された入力画像の、水平方向についてのスケーリング処理を実行する。水平スケーリング回路11によるスケーリング処理がなされた画像信号は、ラインメモリ10への入力信号とされる。ラインメモリ10は、水平スケーリング回路11でのスケーリング処理後の画像の所定数のラインデータを一時格納する。垂直スケーリング回路12は、ラインメモリ10からデータを読み出し、入力画像の垂直方向についてのスケーリング処理を実行する。本実施の形態におけるスケーリング処理には、畳み込み演算のためのFIRフィルタを用いる。
【0013】
図2は、画素の配列について説明する図である。赤色用画素(R)は、赤色光を検出する。緑色用画素(Gr、Gb)は、緑色光を検出する。青色用画素(B)は、青色光を検出する。各画素R、Gr、Gb、Bは、ベイヤー配列として縦横に交互に配置されている。フィルタ演算には、1画素おきに配列された同色かつ複数の周辺画素の信号値が使用される。
【0014】
図1に示すシーケンサ13は、入力画像幅信号、入出力タイミング信号、リードライトイネーブル信号を出力し、ラインメモリ10を制御する。入力画像幅信号は、ラインメモリ10へ入力される画像の水平方向幅を表す信号である。係数テーブル14はスケーリング処理のスケール率に応じて、水平スケーリング係数と垂直スケーリング係数とを生成する。水平スケーリング回路11は、係数テーブル14から得た水平スケーリング係数を使用した畳み込み演算を実行する。垂直スケーリング回路12は、係数テーブル14から得た垂直スケーリング係数を使用した畳み込み演算を実行する。
【0015】
図3は、ラインメモリ10のブロック構成を示す図である。ラインメモリ10は、基本アドレス生成回路20、組み合わせパターン配列方法選択回路21、メモリコア用アドレス生成回路(メモリコア用アドレス生成手段)22、ビット/チップイネーブル生成回路23、入力信号生成回路24、RAM本体25及び出力選択回路26を有する。
【0016】
図4は、RAM本体25を構成するメモリコアについて説明する図である。RAM本体25は、2キロワード×96ビット構成のメモリコアA、1キロワード×96ビット構成のメモリコアB、768ワード×96ビットのメモリコアCから構成されている(1キロワード=1024ワード)。本実施の形態において、RAM本体25への入力信号は12ビットであるものとする。各メモリコアは、96ビット(=1ワード)を12ビットずつ(b0〜11、b12〜23・・・b84〜95)に分割して使用することで8ライン分のラインデータを格納するラインメモリを実現する。
【0017】
図3に示す基本アドレス生成回路20は、シーケンサ13からのリードライトイネーブル信号を基に、RAM本体25におけるデータの書き込み及び読み出しのための基本アドレスを生成する。組み合わせパターン配列方法選択回路21は、シーケンサ13からの入力画像幅信号を基に、組み合わせパターン及び配列方法を選択する。組み合わせパターン及び配列方法の選択については、後に詳述する。
【0018】
メモリコア用アドレス生成回路22は、基本アドレス生成回路20からの基本アドレス信号と、組み合わせパターン配列方法選択回路21からのメモリコア選択信号とを基に、各メモリコアについてのメモリコア用アドレスを生成する。メモリコア用アドレスは、メモリコアA、B、Cにおけるラインデータの書き込み及び読み出しのためのアドレスとする。
【0019】
ビット/チップイネーブル生成回路23は、基本アドレス生成回路20からの基本アドレス信号、シーケンサ13からのリードライトイネーブル信号、及び組み合わせパターン配列方法選択回路21からのメモリコア選択信号を基に、各メモリコアについてのビットイネーブルと、チップイネーブルとを生成する。
【0020】
入力信号生成回路24は、基本アドレス生成回路20からの基本アドレス信号、組み合わせパターン配列方法選択回路21からのメモリコア選択信号、及び水平スケーリング回路11からの入力画像信号を基に、各メモリコアについてのメモリコア用入力信号を生成する。
【0021】
RAM本体25は、メモリコア用入力信号として入力されるデータを、各メモリコア用アドレス信号及び各メモリコア用イネーブル信号に応じて格納する。出力選択回路26は、シーケンサ13からの入出力タイミング信号と、水平スケーリング回路11からの入力画像信号とを基に、各メモリコアから読み出すデータを選択し、出力信号として出力する。
【0022】
次に、各メモリコアへ入力されるデータをラインデータとして格納する際の配列方法について説明する。本実施の形態では、組み合わせパターン配列方法選択回路21は、入力画像データをメモリ格納データとして格納する2種類の配列方法のいずれかを選択する。
【0023】
図5は、入力画像データをメモリ格納データとして格納する際の第1の配列方法について説明する図である。入力画像データのうちevnラインのデータは、メモリ格納データのevnラインへ順次格納されていく。メモリ格納データのevnラインへデータを格納した次には、入力画像データのうちoddラインのデータが、メモリ格納データのoddラインへ順次格納される。入力画像データは、このような配列方法が繰り返されて、ラインデータとしてメモリコアへ格納される。
【0024】
図6は、入力画像データをメモリ格納データとして格納する際の第2の配列方法について説明する図である。入力画像データのevnラインのデータとoddラインのデータとは、メモリ格納データのevnラインへ交互に格納されていく。メモリ格納データのevnラインへデータを格納した次には、メモリ格納データのoddラインへも同様に、入力画像データのevnラインのデータとoddラインのデータとが交互に格納される。入力画像データは、このような配列方法が繰り返されて、ラインデータとしてメモリコアへ格納される。
【0025】
次に、メモリコアの組み合わせパターンについて説明する。メモリコアA、B、Cを組み合わせてなるメモリ構成は、メモリコアA、B、Cの組み合わせパターンに応じて、ライン幅及びライン数が適応的に変換可能とされている。本実施の形態では、組み合わせパターン配列方法選択回路21は、メモリコアA、B、Cを組み合わせてなるメモリ構成について、4種類の組み合わせパターンのいずれかを選択する。
【0026】
図7は、第1の組み合わせパターンで組み合わせられたメモリ構成を示す図である。第1の組み合わせパターンの場合、4ラインで2つに分割されたメモリコアAと、6ラインと2ラインとの2つに分割されたメモリコアBと、2ラインで4つに分割されたメモリコアCとを組み合わせて、5キロワード×6ラインのメモリ構成となる。
【0027】
図8は、第1の組み合わせパターンに対応して生成されるメモリコア用アドレスと、ラインデータの振り分けとを示す表である。この表では、各メモリコアへ入力されるメモリコア用アドレス(input_add)に対するビットイネーブル(bitEN)条件によって、入力データが書き込まれるラインと、各メモリコアによるラインの振り分けとを表している。基本アドレス生成回路20は、本実施の形態における最大ライン幅である5120(ピクセル)に対して、16ビット(add[15:0])の基本アドレスを生成する。
【0028】
メモリコアAに対しては、基本アドレス0〜3071、3072〜4095のとき、基本アドレスの下位1ビットを除くadd[15:1]がメモリコア用アドレスとして生成される。基本アドレスのうち下位1ビットadd[0]が0のとき、データは、b0〜11のライン0、b12〜23のライン1、b24〜35のライン2、b36〜47のライン3にそれぞれ格納される。add[0]が1のとき、データは、b48〜59のライン0、b60〜71のライン1、b72〜83のライン2、b84〜95のライン3にそれぞれ格納される。さらに、基本アドレス4096〜5119のときは、メモリコアAに対するメモリコア用アドレスは生成されず、すべてディセーブルとされる。
【0029】
メモリコアBに対しては、基本アドレス3072〜4095のとき、(add−3072)[15:0]がメモリコア用アドレスとして生成される。データは、b72〜83のライン4、b84〜95のライン5にそれぞれ格納される。基本アドレス4096〜5119のとき、(add−4096)[15:0]がメモリコア用アドレスとして生成される。データは、b0〜11のライン0、b12〜23のライン1、b24〜35のライン2、b36〜47のライン3、b48〜59のライン4、b60〜71のライン5にそれぞれ格納される。さらに、基本アドレス0〜3071のときは、メモリコアBに対するメモリコア用アドレスは生成されず、すべてディセーブルとされる。
【0030】
メモリコアCに対しては、基本アドレス0〜3071のとき、add[15:2]がメモリコア用アドレスとして生成される。基本アドレスのうち下位2ビットadd[1:0]が0のとき、データは、b0〜11のライン4、b12〜23のライン5にそれぞれ格納される。add[1:0]が1のとき、データは、b24〜35のライン4、b36〜47のライン5にそれぞれ格納される。add[1:0]が2のとき、データは、b48〜59のライン4、b60〜71のライン5にそれぞれ格納される。add[1:0]が3のとき、データは、b72〜83のライン4、b84〜95のライン5にそれぞれ格納される。さらに、基本アドレス3072〜4095、4096〜5119のときは、メモリコアCに対するメモリコア用アドレスは生成されず、すべてディセーブルとされる。
【0031】
第1の組み合わせパターンにおいて、図5を参照して説明する上記の第1の配列方法を適用する場合、最大入力画像幅は5キロピクセル、畳み込み可能な最大タップ数は3となる。また、第1の組み合わせパターンにおいて、図6を参照して説明する上記の第2の配列方法を適用する場合、最大入力画像幅は2.5キロピクセル、畳み込み可能な最大タップ数は6となる。
【0032】
図9は、第2の組み合わせパターンで組み合わせられたメモリ構成を示す図である。第2の組み合わせパターンの場合、8ラインのメモリコアA、メモリコアB、メモリコアCを組み合わせ、3.8キロワード×8ラインのメモリ構成となる。
【0033】
図10は、第2の組み合わせパターンに対応して生成されるメモリコア用アドレスと、ラインデータの振り分けとを示す図である。メモリコアAに対しては、基本アドレス0〜2047のとき、add[15:0]がメモリコア用アドレスとして生成される。データは、b0〜11のライン0、b12〜23のライン1、b24〜35のライン2、b36〜47のライン3、b48〜59のライン4、b60〜71のライン5、b72〜83のライン6、b84〜95のライン7にそれぞれ格納される。基本アドレス2048〜3071、3072〜3839のときは、メモリコアAに対するメモリコア用アドレスは生成されず、すべてディセーブルとされる。
【0034】
メモリコアBに対しては、基本アドレス2048〜3071のとき、(add−2048)[15:0]がメモリコア用アドレスとして生成される。データは、b0〜11のライン0、b12〜23のライン1、b24〜35のライン2、b36〜47のライン3、b48〜59のライン4、b60〜71のライン5、b72〜83のライン6、b84〜95のライン7にそれぞれ格納される。基本アドレス0〜2047、3072〜3839のときは、メモリコアBに対するメモリコア用アドレスは生成されず、すべてディセーブルとされる。
【0035】
メモリコアCに対しては、基本アドレス3072〜3839のとき、(add−3072)[15:0]がメモリコア用アドレスとして生成される。データは、b0〜11のライン0、b12〜23のライン1、b24〜35のライン2、b36〜47のライン3、b48〜59のライン4、b60〜71のライン5、b72〜83のライン6、b84〜95のライン7にそれぞれ格納される。基本アドレス0〜2047、2048〜3071のときは、メモリコアCに対するメモリコア用アドレスは生成されず、すべてディセーブルとされる。
【0036】
第2の組み合わせパターンにおいて、上記の第1の配列方法を適用する場合、最大入力画像幅は3.8キロピクセル、畳み込み可能な最大タップ数は4となる。また、第2の組み合わせパターンにおいて、上記の第2の配列方法を適用する場合、最大入力画像幅は1.9キロピクセル、畳み込み可能な最大タップ数は8となる。
【0037】
図11は、第3の組み合わせパターンで組み合わせられたメモリ構成を示す図である。第3の組み合わせパターンの場合、8ラインのメモリコアA及びメモリコアBと、2ラインで4つに分割されたメモリコアCとを組み合わせて、3キロワード×10ラインのメモリ構成となる。
【0038】
図12は、第3の組み合わせパターンに対応して生成されるメモリコア用アドレスと、ラインデータの振り分けとを示す表である。メモリコアAに対しては、基本アドレス0〜2047のとき、add[15:0]がメモリコア用アドレスとして生成される。データは、b0〜11のライン0、b12〜23のライン1、b24〜35のライン2、b36〜47のライン3、b48〜59のライン4、b60〜71のライン5、b72〜83のライン6、b84〜95のライン7にそれぞれ格納される。基本アドレス2048〜3071のときは、メモリコアAに対するメモリコア用アドレスは生成されず、すべてディセーブルとされる。
【0039】
メモリコアBに対しては、基本アドレス2048〜3071のとき、(add−2048)[15:0]がメモリコア用アドレスとして生成される。データは、b0〜11のライン0、b12〜23のライン1、b24〜35のライン2、b36〜47のライン3、b48〜59のライン4、b60〜71のライン5、b72〜83のライン6、b84〜95のライン7にそれぞれ格納される。基本アドレス0〜2047のときは、メモリコアBに対するメモリコア用アドレスは生成されず、すべてディセーブルとされる。
【0040】
メモリコアCに対しては、基本アドレス0〜2047、2048〜3071のとき、add[15:2]がメモリコア用アドレスとして生成される。基本アドレスのうち下位2ビットadd[1:0]が0のとき、データは、b0〜11のライン8、b12〜23のライン9にそれぞれ格納される。add[1:0]が1のとき、データは、b24〜35のライン8、b36〜47のライン9にそれぞれ格納される。add[1:0]が2のとき、データは、b48〜59のライン8、b60〜71のライン9にそれぞれ格納される。add[1:0]が3のとき、データは、b72〜83のライン8、b84〜95のライン9にそれぞれ格納される。
【0041】
第3の組み合わせパターンにおいて、上記の第1の配列方法を適用する場合、最大入力画像幅は3キロピクセル、畳み込み可能な最大タップ数は5となる。また、第3の組み合わせパターンにおいて、上記の第2の配列方法を適用する場合、最大入力画像幅は1.5キロピクセル、畳み込み可能な最大タップ数は10となる。
【0042】
図13は、第4の組み合わせパターンで組み合わせられたメモリ構成を示す図である。第4の組み合わせパターンの場合、512ワード×4ライン、512ワード×4ライン、1.5キロワード×8ラインの3つに分割されたメモリコアA、8ラインのメモリコアB、4ラインで2つに分割されたメモリコアCを組み合わせて、2.5キロワード×12ラインのメモリ構成となる。
【0043】
図14は、第4の組み合わせパターンに対応して生成されるメモリコア用アドレスと、ラインデータの振り分けとを示す表である。メモリコアAに対しては、基本アドレス0〜1023のとき、add[15:1]がメモリコア用アドレスとして生成される。基本アドレスのうち下位1ビットadd[0]が0のとき、データは、b0〜11のライン8、b12〜23のライン9、b24〜35のライン10、b36〜47のライン11にそれぞれ格納される。add[0]が1のとき、データは、b48〜59のライン8、b60〜71のライン9、b72〜83のライン10、b84〜95のライン11にそれぞれ格納される。
【0044】
さらに、基本アドレス1024〜2559のとき、(add−1024)[15:0]がメモリコア用アドレスとして生成される。データは、b0〜11のライン4、b12〜23のライン5、b24〜35のライン6、b36〜47のライン7、b48〜59のライン8、b60〜71のライン9、b72〜83のライン10、b84〜95のライン11にそれぞれ格納される。
【0045】
メモリコアBに対しては、基本アドレス0〜1023のとき、add[15:0]がメモリコア用アドレスとして生成される。データは、b0〜11のライン0、b12〜23のライン1、b24〜35のライン2、b36〜47のライン3、b48〜59のライン4、b60〜71のライン5、b72〜83のライン6、b84〜95のライン7にそれぞれ格納される。基本アドレス1024〜2559のときは、メモリコアBに対するメモリコア用アドレスは生成されず、すべてディセーブルとされる。
【0046】
メモリコアCに対しては、基本アドレス1024〜2559のとき、(add−1024)[15:1]がメモリコア用アドレスとして生成される。基本アドレスのうち下位1ビットadd[0]が0のとき、データは、b0〜11のライン0、b12〜23のライン1、b24〜35のライン2、b36〜47のライン3にそれぞれ格納される。add[0]が1のとき、データは、b48〜59のライン0、b60〜71のライン1、b72〜83のライン2、b84〜95のライン3にそれぞれ格納される。
【0047】
第4の組み合わせパターンにおいて、上記の第1の配列方法を適用する場合、最大入力画像幅は2.5キロピクセル、畳み込み可能な最大タップ数は6となる。また、第4の組み合わせパターンにおいて、上記の第2の配列方法を適用する場合、最大入力画像幅は1.25キロピクセル、畳み込み可能な最大タップ数は12となる。
【0048】
図15は、入力画像幅に対して選択可能なメモリコアの組み合わせパターン及びデータの配列方法と、その場合における最大ライン幅及び最大タップ数を示す表である。配列方法の欄に示す(1)、(2)は、それぞれ上記の第1の配列方法、第2の配列方法を表す。組み合わせパターンの欄に示す(1)、(2)、(3)、(4)は、それぞれ上記の第1の組み合わせパターン、第2の組み合わせパターン、第3の組み合わせパターン、第4の組み合わせパターンを表す。なお、ここでいう入力画像幅とは、水平スケーリングを経てラインメモリ10へ入力される画像の幅であって、ラインメモリ10からの出力信号における画像幅に一致するものとする。
【0049】
入力画像幅3841〜5120に対しては、配列方法(1)、組み合わせパターン(1)が適している。入力画像幅3073〜3840に対しては、配列方法(1)、組み合わせパターン(2)が適している。入力画像幅2561〜3072に対しては、配列方法(1)、組み合わせパターン(3)が適している。入力画像幅1921〜2560に対しては、配列方法(2)、組み合わせパターン(1)が適している。入力画像幅1537〜1920に対しては、配列方法(2)、組み合わせパターン(2)が適している。入力画像幅1281〜1536に対しては、配列方法(2)、組み合わせパターン(3)が適している。入力画像幅1280以下に対しては、配列方法(2)、組み合わせパターン(4)が適している。なお、入力画像幅1921〜2560に対しては、配列方法(1)、組み合わせパターン(4)を適用しても良い。
【0050】
組み合わせパターン配列方法選択回路21は、入力画像幅信号に応じて、組み合わせパターン及び配列方法を選択する。メモリコア用アドレス生成回路22は、組み合わせパターン配列方法選択回路21で選択された組み合わせパターンと配列方法とに応じたメモリコア用アドレスを生成する。ビット/チップイネーブル生成回路23は、組み合わせパターン配列方法選択回路21で選択された組み合わせパターンと配列方法とに応じたビットイネーブル及びチップイネーブルを生成する。
【0051】
入力信号生成回路24は、組み合わせパターン配列方法選択回路21で選択された組み合わせパターンに応じて、各メモリコアへ選択的に入力されるメモリコア用入力信号を生成する。このようにして生成されたメモリコア用アドレス信号、メモリコア用イネーブル信号、メモリコア用入力信号によって、RAM本体25へ格納されるデータの格納位置が指定される。
【0052】
ラインメモリ10は、条件に応じてメモリコアの組み合わせパターンと配列方法とを変換可能とすることで、最大入力画像幅及び最大タップ数の双方が組み込まれる従来のラインメモリに比べて、回路規模を大幅に削減することが可能となる。これは、スケーリング処理においてスケール率が小さい(処理後の画像サイズが元の画像サイズに近く、画像幅が大きい)ときはタップ数が少なくてよく、スケール率が大きい(処理後の画像幅が元の画像幅より小さい)ときはタップ数が多く必要であるという特徴によるものである。
【0053】
また、メモリコアの同じ組み合わせパターンに対して、配列方法を変更可能とすることで、入力画像幅は大きいがタップ数を半分とする場合(第1の配列方法)と、入力画像幅は半分となるがタップ数はメモリライン数分確保できる場合(第2の配列方法)との選択を可能とする。これにより、条件に応じた選択肢が増え、データを格納する方法について高い自由度を得ることができる。さらに、最大ワード数を異ならせた複数のメモリコアを用意することで、ライン幅及びライン数を異ならせた複数の組み合わせパターンを実現できる。以上により、ラインメモリ10は、データ保持の機能を維持しつつ回路規模の削減が可能となる。
【0054】
最大入力画像幅及び最大タップ数の双方が組み込まれる従来のラインメモリによって本実施の形態の説明と同様のデータ保持機能を持たせるには、最大入力画像幅5120、最大タップ数(必要ライン数)12の場合に、5120×12ワードを要することとなる。これに対して、本実施の形態のラインメモリ10は、最大入力画像幅5120のときの必要ライン数は3となるため、5120×3ワードで済むこととなる。メモリ容量のみで比較すると、本実施の形態により、メモリ容量を4分の1に削減可能となる。但し、合成方法やメモリコアの組み合わせかたの違いにより、削減されるメモリ容量は変化する。
【0055】
ラインメモリ10は、二以上のメモリコアを有するものであれば良く、三つのメモリコアを有するものに限られない。また、各メモリコアが格納可能とする最大ワード数は、二以上のメモリコアのうち少なくともいずれかが互いに異なっていれば良く、本実施の形態で説明するワード数である場合に限られない。また、本実施の形態で説明するメモリコアの組み合わせパターンやデータの配列方法は一例であって、本実施の形態の説明とは異なる組み合わせパターンや配列方法としても良い。
【0056】
ラインメモリ10による組み合わせパターン及び配列方法の選択は、少なくとも入力画像に関する情報に応じてなされれば良く、入力画像幅に応じてなされる場合に限られない。組み合わせパターン及び配列方法の選択は、入力画像に関する他の情報、例えば、スケーリング処理におけるスケール率に応じてなされることとしても良い。この場合、組み合わせパターン配列方法選択回路21は、スケール率を表す信号を基に、組み合わせパターン及び配列方法を選択する。入力画像幅やスケール率など、比較的簡単な情報を基にして組み合わせパターン、配列方法の判定を実施することで、組み合わせパターン配列方法選択回路21について、回路記述が簡素化され、回路規模を削減できる。
【0057】
ラインメモリ10は、メモリコアの組み合わせパターンとデータの配列方法との双方を選択可能とするものに限られない。ラインメモリ10は、メモリコアの組み合わせパターンの選択のみを実施するものであっても良い。この場合も、データ保持の機能を維持しつつ回路規模を削減できるという効果を得ることができる。また、ラインメモリ10は、データの配列方法の選択のみを実施するものであっても良い。この場合、メモリコアを組み合わせてなる同一のメモリ構造について、選択可能な最大タップ数を増やすことができる。
【符号の説明】
【0058】
1 スケーラ回路、10 ラインメモリ、21 組み合わせパターン配列方法選択回路、22 メモリコア用アドレス生成回路、25 RAM本体。
【技術分野】
【0001】
本発明は、ラインメモリに関する。
【背景技術】
【0002】
画像処理における画像の縮小及び拡大のためのスケーリング処理では、複数の周辺画素の信号値を使用したフィルタ演算(畳み込み処理)のためのデータ保持を行う。特に、画像の垂直方向の畳み込み処理については、ラインメモリにおける複数のラインデータの保持が必要となる。従来、ラインメモリは、垂直方向の畳み込み処理に必要とされる最大入力画像幅(1ライン当たりの最大ワード数)と、最大フィルタタップ数(最大ライン数)との双方を組み込んで構成されている。このため、最大ワード数、最大タップ数が大きくなるほど、回路規模の増大が懸念されることとなる。スケーリング処理において画像サイズを変換させる割合(スケール率)が小さければ、大きい入力画像幅を要する一方、小さいタップ数で済む。これに対して、スケール率が大きければ、小さい入力画像幅で済む一方、大きいタップ数を要する。このため、特に、スケール率を大幅に変化させるシステムでは、用意された入力画像幅やタップ数が無駄になるケースが多く生じることになる。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2003−274372号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明は、データ保持の機能を維持しつつ回路規模の削減を可能とするラインメモリを提供することを目的とする。
【課題を解決するための手段】
【0005】
本願発明の一態様によれば、ラインデータを格納する二以上のメモリコアと、前記メモリコアにおける前記ラインデータの書き込み及び読み出しのためのアドレスを生成するメモリコア用アドレス生成手段と、を有し、前記メモリコアを組み合わせてなるメモリ構成は、前記メモリコアの組み合わせパターンに応じてライン幅及びライン数を適応的に変換可能であるとともに、前記メモリコアへ入力されるデータをラインデータとして格納する際の配列方法が変更可能であって、前記メモリコア用アドレス生成手段は、入力画像に関する情報に応じて選択された前記組み合わせパターンと前記配列方法とに応じた前記アドレスを生成することを特徴とするラインメモリが提供される。
【0006】
また、本願発明の一態様によれば、ラインデータを格納する二以上のメモリコアと、前記メモリコアにおける前記ラインデータの書き込み及び読み出しのためのアドレスを生成するメモリコア用アドレス生成手段と、を有し、前記メモリコアを組み合わせてなるメモリ構成は、前記メモリコアの組み合わせパターンに応じてライン幅及びライン数を適応的に変換可能であって、前記メモリコア用アドレス生成手段は、入力画像に関する情報に応じて選択された前記組み合わせパターンに応じた前記アドレスを生成することを特徴とするラインメモリが提供される。
【0007】
また、本願発明の一態様によれば、ラインデータを格納する二以上のメモリコアと、前記メモリコアにおける前記ラインデータの書き込み及び読み出しのためのアドレスを生成するメモリコア用アドレス生成手段と、を有し、前記メモリコアを組み合わせてなるメモリ構成は、前記メモリコアへ入力されるデータをラインデータとして格納する際の配列方法が変更可能であって、前記メモリコア用アドレス生成手段は、入力画像に関する情報に応じて選択された前記配列方法に応じた前記アドレスを生成することを特徴とするラインメモリが提供される。
【発明の効果】
【0008】
本発明によれば、データ保持の機能を維持しつつ回路規模を削減できるという効果を奏する。
【図面の簡単な説明】
【0009】
【図1】本発明の実施の形態に係るスケーラ回路1の構成を示すブロック図。
【図2】画素の配列について説明する図。
【図3】ラインメモリのブロック構成を示す図。
【図4】RAM本体を構成するメモリコアについて説明する図。
【図5】入力画像データをメモリ格納データとして格納する際の第1の配列方法について説明する図。
【図6】入力画像データをメモリ格納データとして格納する際の第2の配列方法について説明する図。
【図7】第1の組み合わせパターンで組み合わせられたメモリ構成を示す図。
【図8】第1の組み合わせパターンに対応して生成されるメモリコア用アドレスと、ラインデータの振り分けとを示す表。
【図9】第2の組み合わせパターンで組み合わせられたメモリ構成を示す図。
【図10】第2の組み合わせパターンに対応して生成されるメモリコア用アドレスと、ラインデータの振り分けとを示す図。
【図11】第3の組み合わせパターンで組み合わせられたメモリ構成を示す図。
【図12】第3の組み合わせパターンに対応して生成されるメモリコア用アドレスと、ラインデータの振り分けとを示す表。
【図13】第4の組み合わせパターンで組み合わせられたメモリ構成を示す図。
【図14】第4の組み合わせパターンに対応して生成されるメモリコア用アドレスと、ラインデータの振り分けとを示す表。
【図15】入力画像幅に対して選択可能なメモリコアの組み合わせパターン及びデータの配列方法と、その場合における最大ライン幅及び最大タップ数を示す表。
【発明を実施するための形態】
【0010】
以下に添付図面を参照して、本発明の実施の形態に係るラインメモリを詳細に説明する。なお、この実施の形態により本発明が限定されるものではない。
【0011】
(実施の形態)
図1は、本発明の実施の形態に係るスケーラ回路1の構成を示すブロック図である。スケーラ回路1は、ラインメモリ10、水平スケーリング回路11、垂直スケーリング回路12、シーケンサ13及び係数テーブル14を有する。
【0012】
水平スケーリング回路11は、画像信号として入力された入力画像の、水平方向についてのスケーリング処理を実行する。水平スケーリング回路11によるスケーリング処理がなされた画像信号は、ラインメモリ10への入力信号とされる。ラインメモリ10は、水平スケーリング回路11でのスケーリング処理後の画像の所定数のラインデータを一時格納する。垂直スケーリング回路12は、ラインメモリ10からデータを読み出し、入力画像の垂直方向についてのスケーリング処理を実行する。本実施の形態におけるスケーリング処理には、畳み込み演算のためのFIRフィルタを用いる。
【0013】
図2は、画素の配列について説明する図である。赤色用画素(R)は、赤色光を検出する。緑色用画素(Gr、Gb)は、緑色光を検出する。青色用画素(B)は、青色光を検出する。各画素R、Gr、Gb、Bは、ベイヤー配列として縦横に交互に配置されている。フィルタ演算には、1画素おきに配列された同色かつ複数の周辺画素の信号値が使用される。
【0014】
図1に示すシーケンサ13は、入力画像幅信号、入出力タイミング信号、リードライトイネーブル信号を出力し、ラインメモリ10を制御する。入力画像幅信号は、ラインメモリ10へ入力される画像の水平方向幅を表す信号である。係数テーブル14はスケーリング処理のスケール率に応じて、水平スケーリング係数と垂直スケーリング係数とを生成する。水平スケーリング回路11は、係数テーブル14から得た水平スケーリング係数を使用した畳み込み演算を実行する。垂直スケーリング回路12は、係数テーブル14から得た垂直スケーリング係数を使用した畳み込み演算を実行する。
【0015】
図3は、ラインメモリ10のブロック構成を示す図である。ラインメモリ10は、基本アドレス生成回路20、組み合わせパターン配列方法選択回路21、メモリコア用アドレス生成回路(メモリコア用アドレス生成手段)22、ビット/チップイネーブル生成回路23、入力信号生成回路24、RAM本体25及び出力選択回路26を有する。
【0016】
図4は、RAM本体25を構成するメモリコアについて説明する図である。RAM本体25は、2キロワード×96ビット構成のメモリコアA、1キロワード×96ビット構成のメモリコアB、768ワード×96ビットのメモリコアCから構成されている(1キロワード=1024ワード)。本実施の形態において、RAM本体25への入力信号は12ビットであるものとする。各メモリコアは、96ビット(=1ワード)を12ビットずつ(b0〜11、b12〜23・・・b84〜95)に分割して使用することで8ライン分のラインデータを格納するラインメモリを実現する。
【0017】
図3に示す基本アドレス生成回路20は、シーケンサ13からのリードライトイネーブル信号を基に、RAM本体25におけるデータの書き込み及び読み出しのための基本アドレスを生成する。組み合わせパターン配列方法選択回路21は、シーケンサ13からの入力画像幅信号を基に、組み合わせパターン及び配列方法を選択する。組み合わせパターン及び配列方法の選択については、後に詳述する。
【0018】
メモリコア用アドレス生成回路22は、基本アドレス生成回路20からの基本アドレス信号と、組み合わせパターン配列方法選択回路21からのメモリコア選択信号とを基に、各メモリコアについてのメモリコア用アドレスを生成する。メモリコア用アドレスは、メモリコアA、B、Cにおけるラインデータの書き込み及び読み出しのためのアドレスとする。
【0019】
ビット/チップイネーブル生成回路23は、基本アドレス生成回路20からの基本アドレス信号、シーケンサ13からのリードライトイネーブル信号、及び組み合わせパターン配列方法選択回路21からのメモリコア選択信号を基に、各メモリコアについてのビットイネーブルと、チップイネーブルとを生成する。
【0020】
入力信号生成回路24は、基本アドレス生成回路20からの基本アドレス信号、組み合わせパターン配列方法選択回路21からのメモリコア選択信号、及び水平スケーリング回路11からの入力画像信号を基に、各メモリコアについてのメモリコア用入力信号を生成する。
【0021】
RAM本体25は、メモリコア用入力信号として入力されるデータを、各メモリコア用アドレス信号及び各メモリコア用イネーブル信号に応じて格納する。出力選択回路26は、シーケンサ13からの入出力タイミング信号と、水平スケーリング回路11からの入力画像信号とを基に、各メモリコアから読み出すデータを選択し、出力信号として出力する。
【0022】
次に、各メモリコアへ入力されるデータをラインデータとして格納する際の配列方法について説明する。本実施の形態では、組み合わせパターン配列方法選択回路21は、入力画像データをメモリ格納データとして格納する2種類の配列方法のいずれかを選択する。
【0023】
図5は、入力画像データをメモリ格納データとして格納する際の第1の配列方法について説明する図である。入力画像データのうちevnラインのデータは、メモリ格納データのevnラインへ順次格納されていく。メモリ格納データのevnラインへデータを格納した次には、入力画像データのうちoddラインのデータが、メモリ格納データのoddラインへ順次格納される。入力画像データは、このような配列方法が繰り返されて、ラインデータとしてメモリコアへ格納される。
【0024】
図6は、入力画像データをメモリ格納データとして格納する際の第2の配列方法について説明する図である。入力画像データのevnラインのデータとoddラインのデータとは、メモリ格納データのevnラインへ交互に格納されていく。メモリ格納データのevnラインへデータを格納した次には、メモリ格納データのoddラインへも同様に、入力画像データのevnラインのデータとoddラインのデータとが交互に格納される。入力画像データは、このような配列方法が繰り返されて、ラインデータとしてメモリコアへ格納される。
【0025】
次に、メモリコアの組み合わせパターンについて説明する。メモリコアA、B、Cを組み合わせてなるメモリ構成は、メモリコアA、B、Cの組み合わせパターンに応じて、ライン幅及びライン数が適応的に変換可能とされている。本実施の形態では、組み合わせパターン配列方法選択回路21は、メモリコアA、B、Cを組み合わせてなるメモリ構成について、4種類の組み合わせパターンのいずれかを選択する。
【0026】
図7は、第1の組み合わせパターンで組み合わせられたメモリ構成を示す図である。第1の組み合わせパターンの場合、4ラインで2つに分割されたメモリコアAと、6ラインと2ラインとの2つに分割されたメモリコアBと、2ラインで4つに分割されたメモリコアCとを組み合わせて、5キロワード×6ラインのメモリ構成となる。
【0027】
図8は、第1の組み合わせパターンに対応して生成されるメモリコア用アドレスと、ラインデータの振り分けとを示す表である。この表では、各メモリコアへ入力されるメモリコア用アドレス(input_add)に対するビットイネーブル(bitEN)条件によって、入力データが書き込まれるラインと、各メモリコアによるラインの振り分けとを表している。基本アドレス生成回路20は、本実施の形態における最大ライン幅である5120(ピクセル)に対して、16ビット(add[15:0])の基本アドレスを生成する。
【0028】
メモリコアAに対しては、基本アドレス0〜3071、3072〜4095のとき、基本アドレスの下位1ビットを除くadd[15:1]がメモリコア用アドレスとして生成される。基本アドレスのうち下位1ビットadd[0]が0のとき、データは、b0〜11のライン0、b12〜23のライン1、b24〜35のライン2、b36〜47のライン3にそれぞれ格納される。add[0]が1のとき、データは、b48〜59のライン0、b60〜71のライン1、b72〜83のライン2、b84〜95のライン3にそれぞれ格納される。さらに、基本アドレス4096〜5119のときは、メモリコアAに対するメモリコア用アドレスは生成されず、すべてディセーブルとされる。
【0029】
メモリコアBに対しては、基本アドレス3072〜4095のとき、(add−3072)[15:0]がメモリコア用アドレスとして生成される。データは、b72〜83のライン4、b84〜95のライン5にそれぞれ格納される。基本アドレス4096〜5119のとき、(add−4096)[15:0]がメモリコア用アドレスとして生成される。データは、b0〜11のライン0、b12〜23のライン1、b24〜35のライン2、b36〜47のライン3、b48〜59のライン4、b60〜71のライン5にそれぞれ格納される。さらに、基本アドレス0〜3071のときは、メモリコアBに対するメモリコア用アドレスは生成されず、すべてディセーブルとされる。
【0030】
メモリコアCに対しては、基本アドレス0〜3071のとき、add[15:2]がメモリコア用アドレスとして生成される。基本アドレスのうち下位2ビットadd[1:0]が0のとき、データは、b0〜11のライン4、b12〜23のライン5にそれぞれ格納される。add[1:0]が1のとき、データは、b24〜35のライン4、b36〜47のライン5にそれぞれ格納される。add[1:0]が2のとき、データは、b48〜59のライン4、b60〜71のライン5にそれぞれ格納される。add[1:0]が3のとき、データは、b72〜83のライン4、b84〜95のライン5にそれぞれ格納される。さらに、基本アドレス3072〜4095、4096〜5119のときは、メモリコアCに対するメモリコア用アドレスは生成されず、すべてディセーブルとされる。
【0031】
第1の組み合わせパターンにおいて、図5を参照して説明する上記の第1の配列方法を適用する場合、最大入力画像幅は5キロピクセル、畳み込み可能な最大タップ数は3となる。また、第1の組み合わせパターンにおいて、図6を参照して説明する上記の第2の配列方法を適用する場合、最大入力画像幅は2.5キロピクセル、畳み込み可能な最大タップ数は6となる。
【0032】
図9は、第2の組み合わせパターンで組み合わせられたメモリ構成を示す図である。第2の組み合わせパターンの場合、8ラインのメモリコアA、メモリコアB、メモリコアCを組み合わせ、3.8キロワード×8ラインのメモリ構成となる。
【0033】
図10は、第2の組み合わせパターンに対応して生成されるメモリコア用アドレスと、ラインデータの振り分けとを示す図である。メモリコアAに対しては、基本アドレス0〜2047のとき、add[15:0]がメモリコア用アドレスとして生成される。データは、b0〜11のライン0、b12〜23のライン1、b24〜35のライン2、b36〜47のライン3、b48〜59のライン4、b60〜71のライン5、b72〜83のライン6、b84〜95のライン7にそれぞれ格納される。基本アドレス2048〜3071、3072〜3839のときは、メモリコアAに対するメモリコア用アドレスは生成されず、すべてディセーブルとされる。
【0034】
メモリコアBに対しては、基本アドレス2048〜3071のとき、(add−2048)[15:0]がメモリコア用アドレスとして生成される。データは、b0〜11のライン0、b12〜23のライン1、b24〜35のライン2、b36〜47のライン3、b48〜59のライン4、b60〜71のライン5、b72〜83のライン6、b84〜95のライン7にそれぞれ格納される。基本アドレス0〜2047、3072〜3839のときは、メモリコアBに対するメモリコア用アドレスは生成されず、すべてディセーブルとされる。
【0035】
メモリコアCに対しては、基本アドレス3072〜3839のとき、(add−3072)[15:0]がメモリコア用アドレスとして生成される。データは、b0〜11のライン0、b12〜23のライン1、b24〜35のライン2、b36〜47のライン3、b48〜59のライン4、b60〜71のライン5、b72〜83のライン6、b84〜95のライン7にそれぞれ格納される。基本アドレス0〜2047、2048〜3071のときは、メモリコアCに対するメモリコア用アドレスは生成されず、すべてディセーブルとされる。
【0036】
第2の組み合わせパターンにおいて、上記の第1の配列方法を適用する場合、最大入力画像幅は3.8キロピクセル、畳み込み可能な最大タップ数は4となる。また、第2の組み合わせパターンにおいて、上記の第2の配列方法を適用する場合、最大入力画像幅は1.9キロピクセル、畳み込み可能な最大タップ数は8となる。
【0037】
図11は、第3の組み合わせパターンで組み合わせられたメモリ構成を示す図である。第3の組み合わせパターンの場合、8ラインのメモリコアA及びメモリコアBと、2ラインで4つに分割されたメモリコアCとを組み合わせて、3キロワード×10ラインのメモリ構成となる。
【0038】
図12は、第3の組み合わせパターンに対応して生成されるメモリコア用アドレスと、ラインデータの振り分けとを示す表である。メモリコアAに対しては、基本アドレス0〜2047のとき、add[15:0]がメモリコア用アドレスとして生成される。データは、b0〜11のライン0、b12〜23のライン1、b24〜35のライン2、b36〜47のライン3、b48〜59のライン4、b60〜71のライン5、b72〜83のライン6、b84〜95のライン7にそれぞれ格納される。基本アドレス2048〜3071のときは、メモリコアAに対するメモリコア用アドレスは生成されず、すべてディセーブルとされる。
【0039】
メモリコアBに対しては、基本アドレス2048〜3071のとき、(add−2048)[15:0]がメモリコア用アドレスとして生成される。データは、b0〜11のライン0、b12〜23のライン1、b24〜35のライン2、b36〜47のライン3、b48〜59のライン4、b60〜71のライン5、b72〜83のライン6、b84〜95のライン7にそれぞれ格納される。基本アドレス0〜2047のときは、メモリコアBに対するメモリコア用アドレスは生成されず、すべてディセーブルとされる。
【0040】
メモリコアCに対しては、基本アドレス0〜2047、2048〜3071のとき、add[15:2]がメモリコア用アドレスとして生成される。基本アドレスのうち下位2ビットadd[1:0]が0のとき、データは、b0〜11のライン8、b12〜23のライン9にそれぞれ格納される。add[1:0]が1のとき、データは、b24〜35のライン8、b36〜47のライン9にそれぞれ格納される。add[1:0]が2のとき、データは、b48〜59のライン8、b60〜71のライン9にそれぞれ格納される。add[1:0]が3のとき、データは、b72〜83のライン8、b84〜95のライン9にそれぞれ格納される。
【0041】
第3の組み合わせパターンにおいて、上記の第1の配列方法を適用する場合、最大入力画像幅は3キロピクセル、畳み込み可能な最大タップ数は5となる。また、第3の組み合わせパターンにおいて、上記の第2の配列方法を適用する場合、最大入力画像幅は1.5キロピクセル、畳み込み可能な最大タップ数は10となる。
【0042】
図13は、第4の組み合わせパターンで組み合わせられたメモリ構成を示す図である。第4の組み合わせパターンの場合、512ワード×4ライン、512ワード×4ライン、1.5キロワード×8ラインの3つに分割されたメモリコアA、8ラインのメモリコアB、4ラインで2つに分割されたメモリコアCを組み合わせて、2.5キロワード×12ラインのメモリ構成となる。
【0043】
図14は、第4の組み合わせパターンに対応して生成されるメモリコア用アドレスと、ラインデータの振り分けとを示す表である。メモリコアAに対しては、基本アドレス0〜1023のとき、add[15:1]がメモリコア用アドレスとして生成される。基本アドレスのうち下位1ビットadd[0]が0のとき、データは、b0〜11のライン8、b12〜23のライン9、b24〜35のライン10、b36〜47のライン11にそれぞれ格納される。add[0]が1のとき、データは、b48〜59のライン8、b60〜71のライン9、b72〜83のライン10、b84〜95のライン11にそれぞれ格納される。
【0044】
さらに、基本アドレス1024〜2559のとき、(add−1024)[15:0]がメモリコア用アドレスとして生成される。データは、b0〜11のライン4、b12〜23のライン5、b24〜35のライン6、b36〜47のライン7、b48〜59のライン8、b60〜71のライン9、b72〜83のライン10、b84〜95のライン11にそれぞれ格納される。
【0045】
メモリコアBに対しては、基本アドレス0〜1023のとき、add[15:0]がメモリコア用アドレスとして生成される。データは、b0〜11のライン0、b12〜23のライン1、b24〜35のライン2、b36〜47のライン3、b48〜59のライン4、b60〜71のライン5、b72〜83のライン6、b84〜95のライン7にそれぞれ格納される。基本アドレス1024〜2559のときは、メモリコアBに対するメモリコア用アドレスは生成されず、すべてディセーブルとされる。
【0046】
メモリコアCに対しては、基本アドレス1024〜2559のとき、(add−1024)[15:1]がメモリコア用アドレスとして生成される。基本アドレスのうち下位1ビットadd[0]が0のとき、データは、b0〜11のライン0、b12〜23のライン1、b24〜35のライン2、b36〜47のライン3にそれぞれ格納される。add[0]が1のとき、データは、b48〜59のライン0、b60〜71のライン1、b72〜83のライン2、b84〜95のライン3にそれぞれ格納される。
【0047】
第4の組み合わせパターンにおいて、上記の第1の配列方法を適用する場合、最大入力画像幅は2.5キロピクセル、畳み込み可能な最大タップ数は6となる。また、第4の組み合わせパターンにおいて、上記の第2の配列方法を適用する場合、最大入力画像幅は1.25キロピクセル、畳み込み可能な最大タップ数は12となる。
【0048】
図15は、入力画像幅に対して選択可能なメモリコアの組み合わせパターン及びデータの配列方法と、その場合における最大ライン幅及び最大タップ数を示す表である。配列方法の欄に示す(1)、(2)は、それぞれ上記の第1の配列方法、第2の配列方法を表す。組み合わせパターンの欄に示す(1)、(2)、(3)、(4)は、それぞれ上記の第1の組み合わせパターン、第2の組み合わせパターン、第3の組み合わせパターン、第4の組み合わせパターンを表す。なお、ここでいう入力画像幅とは、水平スケーリングを経てラインメモリ10へ入力される画像の幅であって、ラインメモリ10からの出力信号における画像幅に一致するものとする。
【0049】
入力画像幅3841〜5120に対しては、配列方法(1)、組み合わせパターン(1)が適している。入力画像幅3073〜3840に対しては、配列方法(1)、組み合わせパターン(2)が適している。入力画像幅2561〜3072に対しては、配列方法(1)、組み合わせパターン(3)が適している。入力画像幅1921〜2560に対しては、配列方法(2)、組み合わせパターン(1)が適している。入力画像幅1537〜1920に対しては、配列方法(2)、組み合わせパターン(2)が適している。入力画像幅1281〜1536に対しては、配列方法(2)、組み合わせパターン(3)が適している。入力画像幅1280以下に対しては、配列方法(2)、組み合わせパターン(4)が適している。なお、入力画像幅1921〜2560に対しては、配列方法(1)、組み合わせパターン(4)を適用しても良い。
【0050】
組み合わせパターン配列方法選択回路21は、入力画像幅信号に応じて、組み合わせパターン及び配列方法を選択する。メモリコア用アドレス生成回路22は、組み合わせパターン配列方法選択回路21で選択された組み合わせパターンと配列方法とに応じたメモリコア用アドレスを生成する。ビット/チップイネーブル生成回路23は、組み合わせパターン配列方法選択回路21で選択された組み合わせパターンと配列方法とに応じたビットイネーブル及びチップイネーブルを生成する。
【0051】
入力信号生成回路24は、組み合わせパターン配列方法選択回路21で選択された組み合わせパターンに応じて、各メモリコアへ選択的に入力されるメモリコア用入力信号を生成する。このようにして生成されたメモリコア用アドレス信号、メモリコア用イネーブル信号、メモリコア用入力信号によって、RAM本体25へ格納されるデータの格納位置が指定される。
【0052】
ラインメモリ10は、条件に応じてメモリコアの組み合わせパターンと配列方法とを変換可能とすることで、最大入力画像幅及び最大タップ数の双方が組み込まれる従来のラインメモリに比べて、回路規模を大幅に削減することが可能となる。これは、スケーリング処理においてスケール率が小さい(処理後の画像サイズが元の画像サイズに近く、画像幅が大きい)ときはタップ数が少なくてよく、スケール率が大きい(処理後の画像幅が元の画像幅より小さい)ときはタップ数が多く必要であるという特徴によるものである。
【0053】
また、メモリコアの同じ組み合わせパターンに対して、配列方法を変更可能とすることで、入力画像幅は大きいがタップ数を半分とする場合(第1の配列方法)と、入力画像幅は半分となるがタップ数はメモリライン数分確保できる場合(第2の配列方法)との選択を可能とする。これにより、条件に応じた選択肢が増え、データを格納する方法について高い自由度を得ることができる。さらに、最大ワード数を異ならせた複数のメモリコアを用意することで、ライン幅及びライン数を異ならせた複数の組み合わせパターンを実現できる。以上により、ラインメモリ10は、データ保持の機能を維持しつつ回路規模の削減が可能となる。
【0054】
最大入力画像幅及び最大タップ数の双方が組み込まれる従来のラインメモリによって本実施の形態の説明と同様のデータ保持機能を持たせるには、最大入力画像幅5120、最大タップ数(必要ライン数)12の場合に、5120×12ワードを要することとなる。これに対して、本実施の形態のラインメモリ10は、最大入力画像幅5120のときの必要ライン数は3となるため、5120×3ワードで済むこととなる。メモリ容量のみで比較すると、本実施の形態により、メモリ容量を4分の1に削減可能となる。但し、合成方法やメモリコアの組み合わせかたの違いにより、削減されるメモリ容量は変化する。
【0055】
ラインメモリ10は、二以上のメモリコアを有するものであれば良く、三つのメモリコアを有するものに限られない。また、各メモリコアが格納可能とする最大ワード数は、二以上のメモリコアのうち少なくともいずれかが互いに異なっていれば良く、本実施の形態で説明するワード数である場合に限られない。また、本実施の形態で説明するメモリコアの組み合わせパターンやデータの配列方法は一例であって、本実施の形態の説明とは異なる組み合わせパターンや配列方法としても良い。
【0056】
ラインメモリ10による組み合わせパターン及び配列方法の選択は、少なくとも入力画像に関する情報に応じてなされれば良く、入力画像幅に応じてなされる場合に限られない。組み合わせパターン及び配列方法の選択は、入力画像に関する他の情報、例えば、スケーリング処理におけるスケール率に応じてなされることとしても良い。この場合、組み合わせパターン配列方法選択回路21は、スケール率を表す信号を基に、組み合わせパターン及び配列方法を選択する。入力画像幅やスケール率など、比較的簡単な情報を基にして組み合わせパターン、配列方法の判定を実施することで、組み合わせパターン配列方法選択回路21について、回路記述が簡素化され、回路規模を削減できる。
【0057】
ラインメモリ10は、メモリコアの組み合わせパターンとデータの配列方法との双方を選択可能とするものに限られない。ラインメモリ10は、メモリコアの組み合わせパターンの選択のみを実施するものであっても良い。この場合も、データ保持の機能を維持しつつ回路規模を削減できるという効果を得ることができる。また、ラインメモリ10は、データの配列方法の選択のみを実施するものであっても良い。この場合、メモリコアを組み合わせてなる同一のメモリ構造について、選択可能な最大タップ数を増やすことができる。
【符号の説明】
【0058】
1 スケーラ回路、10 ラインメモリ、21 組み合わせパターン配列方法選択回路、22 メモリコア用アドレス生成回路、25 RAM本体。
【特許請求の範囲】
【請求項1】
ラインデータを格納する二以上のメモリコアと、
前記メモリコアにおける前記ラインデータの書き込み及び読み出しのためのアドレスを生成するメモリコア用アドレス生成手段と、を有し、
前記メモリコアを組み合わせてなるメモリ構成は、前記メモリコアの組み合わせパターンに応じてライン幅及びライン数を適応的に変換可能であるとともに、前記メモリコアへ入力されるデータをラインデータとして格納する際の配列方法が変更可能であって、
前記メモリコア用アドレス生成手段は、入力画像に関する情報に応じて選択された前記組み合わせパターンと前記配列方法とに応じた前記アドレスを生成することを特徴とするラインメモリ。
【請求項2】
前記入力画像の水平方向幅、あるいは前記入力画像に施されたスケーリング処理におけるスケール率に応じて、前記組み合わせパターン及び前記配列方法を選択することを特徴とする請求項1に記載のラインメモリ。
【請求項3】
前記二以上のメモリコアは、格納可能な最大ワード数が互いに異なるメモリコアを含むことを特徴とする請求項1又は2に記載のラインメモリ。
【請求項4】
ラインデータを格納する二以上のメモリコアと、
前記メモリコアにおける前記ラインデータの書き込み及び読み出しのためのアドレスを生成するメモリコア用アドレス生成手段と、を有し、
前記メモリコアを組み合わせてなるメモリ構成は、前記メモリコアの組み合わせパターンに応じてライン幅及びライン数を適応的に変換可能であって、
前記メモリコア用アドレス生成手段は、入力画像に関する情報に応じて選択された前記組み合わせパターンに応じた前記アドレスを生成することを特徴とするラインメモリ。
【請求項5】
ラインデータを格納する二以上のメモリコアと、
前記メモリコアにおける前記ラインデータの書き込み及び読み出しのためのアドレスを生成するメモリコア用アドレス生成手段と、を有し、
前記メモリコアを組み合わせてなるメモリ構成は、前記メモリコアへ入力されるデータをラインデータとして格納する際の配列方法が変更可能であって、
前記メモリコア用アドレス生成手段は、入力画像に関する情報に応じて選択された前記配列方法に応じた前記アドレスを生成することを特徴とするラインメモリ。
【請求項1】
ラインデータを格納する二以上のメモリコアと、
前記メモリコアにおける前記ラインデータの書き込み及び読み出しのためのアドレスを生成するメモリコア用アドレス生成手段と、を有し、
前記メモリコアを組み合わせてなるメモリ構成は、前記メモリコアの組み合わせパターンに応じてライン幅及びライン数を適応的に変換可能であるとともに、前記メモリコアへ入力されるデータをラインデータとして格納する際の配列方法が変更可能であって、
前記メモリコア用アドレス生成手段は、入力画像に関する情報に応じて選択された前記組み合わせパターンと前記配列方法とに応じた前記アドレスを生成することを特徴とするラインメモリ。
【請求項2】
前記入力画像の水平方向幅、あるいは前記入力画像に施されたスケーリング処理におけるスケール率に応じて、前記組み合わせパターン及び前記配列方法を選択することを特徴とする請求項1に記載のラインメモリ。
【請求項3】
前記二以上のメモリコアは、格納可能な最大ワード数が互いに異なるメモリコアを含むことを特徴とする請求項1又は2に記載のラインメモリ。
【請求項4】
ラインデータを格納する二以上のメモリコアと、
前記メモリコアにおける前記ラインデータの書き込み及び読み出しのためのアドレスを生成するメモリコア用アドレス生成手段と、を有し、
前記メモリコアを組み合わせてなるメモリ構成は、前記メモリコアの組み合わせパターンに応じてライン幅及びライン数を適応的に変換可能であって、
前記メモリコア用アドレス生成手段は、入力画像に関する情報に応じて選択された前記組み合わせパターンに応じた前記アドレスを生成することを特徴とするラインメモリ。
【請求項5】
ラインデータを格納する二以上のメモリコアと、
前記メモリコアにおける前記ラインデータの書き込み及び読み出しのためのアドレスを生成するメモリコア用アドレス生成手段と、を有し、
前記メモリコアを組み合わせてなるメモリ構成は、前記メモリコアへ入力されるデータをラインデータとして格納する際の配列方法が変更可能であって、
前記メモリコア用アドレス生成手段は、入力画像に関する情報に応じて選択された前記配列方法に応じた前記アドレスを生成することを特徴とするラインメモリ。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【公開番号】特開2011−188386(P2011−188386A)
【公開日】平成23年9月22日(2011.9.22)
【国際特許分類】
【出願番号】特願2010−53793(P2010−53793)
【出願日】平成22年3月10日(2010.3.10)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】
【公開日】平成23年9月22日(2011.9.22)
【国際特許分類】
【出願日】平成22年3月10日(2010.3.10)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】
[ Back to top ]