(57)【要約】【課題】記録した画像データを読み出す時、ラインスキャンの方向に拘わらず、一定のデータ転送率を保持する。【解決手段】ステップＳ１１で、水平ラインスキャンデータストリームに含まれる画素の画素番号に対応する仮書アドレスＩＮ＿ＡＤＤが生成され、ステップＳ１２で、仮書アドレスＩＮ＿ＡＤＤから変数ＬＩＮＥ，ＰＩＸが生成される。ステップＳ１３で、変数ＬＩＮＥ，ＰＩＸに基づき、書き込みアドレスＳＤ＿ＡＤＤが生成される。ステップＳ１４で、アドレス変換部２３は、書き込みアドレスＳＤ＿ＡＤＤのロウＳＤ＿ＲＯＷとコラムＳＤ＿ＣＯＬＵＭＮが生成され、バンクが選択される。本発明は、画像データの水平ラインスキャンデータストリームを、垂直ラインスキャンデータストリームに変換する回路に適用することができる。【選択図】      図２０
2004362101.tif 000002
【特許請求の範囲】
【請求項１】
複数のデータが第１の順序で配置されている第１のデータストリームを、前記複数のデータが前記第１の順序とは異なる第２の順序で配置されている第２のデータストリームに変換するデータ変換装置において、
前記第１の順序に対応する第１のアドレスを生成する第１のアドレス生成手段と、
前記第１のアドレスを書き込みアドレスに変換する第１の変換手段と、
前記第２の順序に対応する第２のアドレスを生成する第２のアドレス生成手段と、
前記第２のアドレスを読み出しアドレスに変換する第２の変換手段と、
前記第１のデータストリームを前記書き込みアドレスに従って記憶し、記憶した前記第１のデータストリームを前記読み出しアドレスに従って読み出す記憶手段と
を含むことを特徴とするデータ変換装置。
【請求項２】
前記記憶手段は、２つ設けられており、前記２つの記憶手段のうち、一方の前記書き込みアドレスに従う前記第１のデータストリームの記憶と、他方の前記読み出しアドレスに従う記憶された前記第１のデータストリームの読み出しとは並行して行われる
ことを特徴とする請求項１に記載のデータ変換装置。
【請求項３】
前記記憶手段は、２のべき乗の数のバンクから構成され、各バンクの記憶領域のアドレスがロウとコラムから構成される
ことを特徴とする請求項１に記載のデータ変換装置。
【請求項４】
前記複数のデータは、画像を構成する複数の画素である
ことを特徴とする請求項３に記載のデータ変換装置。
【請求項５】
前記第１のアドレス生成手段は、前記画素の座標に対応して前記第１のアドレスを生成し、
前記第１の変換手段は、前記画像を所定のサイズのブロックに区分し、同一の前記ブロックに属する画素の座標に対応して生成された前記第１のアドレスを、同一バンクのロウが共通である書き込みアドレスに変換するとともに、隣り合う前記ブロックに属する画素の座標に対応して生成された前記第１のアドレスを、異なるバンクに振り分ける
ことを特徴とする請求項４に記載のデータ変換装置。
【請求項６】
複数のデータが第１の順序で配置されている第１のデータストリームを、前記複数のデータが前記第１の順序とは異なる第２の順序で配置されている第２のデータストリームに変換するデータ変換方法において、
前記第１の順序に対応する第１のアドレスを生成する第１のアドレス生成ステップと、
前記第１のアドレスを書き込みアドレスに変換する第１の変換ステップと、
前記第２の順序に対応する第２のアドレスを生成する第２のアドレス生成ステップと、
前記第２のアドレスを読み出しアドレスに変換する第２の変換ステップと、
前記第１のデータストリームを前記書き込みアドレスに従って記憶し、記憶した前記第１のデータストリームを前記読み出しアドレスに従って読み出す記憶ステップと
を含むことを特徴とするデータ変換方法。
【請求項７】
複数のデータが第１の順序で配置されている第１のデータストリームを、前記複数のデータが前記第１の順序とは異なる第２の順序で配置されている第２のデータストリームに変換するためのプログラムであって、
前記第１の順序に対応する第１のアドレスを生成する第１のアドレス生成ステップと、
前記第１のアドレスを書き込みアドレスに変換する第１の変換ステップと、
前記第２の順序に対応する第２のアドレスを生成する第２のアドレス生成ステップと、
前記第２のアドレスを読み出しアドレスに変換する第２の変換ステップと、
前記第１のデータストリームを前記書き込みアドレスに従って記憶させ、記憶した前記第１のデータストリームを前記読み出しアドレスに従って読み出させる制御ステップと
を含む処理をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データ変換装置および方法、並びにプログラムに関し、例えば、水平ラインスキャンのデータストリームを垂直ラインスキャンのデータストリームに変換する場合に用いて好適なデータ変換装置および方法、並びにプログラムに関する。
【０００２】
【従来の技術】
近年、画像処理の分野においては、ディジタル化が急速に推進されている。しかしながら、画像データの入力側である撮像デバイス等と、出力側である表示デバイス等は、画像データを未だアナログ信号として処理している箇所が多い。このようなアナログ処理では、例えば撮像デバイスのレンズ歪み、表示デバイスにおける画歪み、ミスコンバージェンスなど誤差やノイズが生じることを避けることができない。
【０００３】
従来、これらアナログ処理の問題に対しては、主にアナログ回路からなるシステムを用いて補正しようという試みがなされてきたが、十分に満足できる結果を得ることができない場合が多かった。一方、これらのアナログ的な誤差の補正やノイズの低減を、ディジタル回路からなるシステムを用いて実現する試みも数多く行われている。テレビジョンの高解像度化やゴーストリダクションなどは、ディジタル処理によって対処すべき典型的な処理と言うことができる。
【０００４】
ところで、画像の歪みが広範囲におよぶ平面的な２次元の現象であることに対し、ディジタル処理に採用される一般的な手法は、データの逐次処理、すなわち１次元処理であって、比較的局所的なデータの処理に適しているものである。そこで、２次元の画像データにディジタル処理を施す場合には、２次元の画像データを、水平方向と垂直方向に分けて処理を施すことが行われている。
【０００５】
図１は、画像データを水平方向と垂直方向に分けて処理を施す画像処理装置の一般的な構成例を示している。当該画像処理装置は、例えば図２に示すように、横×縦が２５６×２５６画素からなる画像データを処理対象とするものとする。図２において、００００、ＦＦＦＦのような４桁の１６進数は、画素の座標を特定するための画素番号であるとする。
【０００６】
水平方向平滑化処理部１は、図３に矢印で示す水平ラインスキャンの順序で画素データが配置されているデータストリーム（以下、水平ラインスキャンデータストリームと記述する）を入力とし、注目画素の画素値を注目画素の水平方向に隣接する複数の画素を用いて平滑化して後段に出力する。垂直ラインスキャン部２は、平滑化された水平ラインスキャンデータストリームを入力とし、図４に矢印で示す垂直ラインスキャンの順序で画素データが配置されているデータストリームに変換して後段に出力する。
【０００７】
垂直方向平滑化処理部３は、垂直ラインスキャンのデータストリーム（以下、垂直ラインスキャンデータストリームと記述する）を入力とし、注目画素の画素値を注目画素の垂直方向に隣接する複数の画素を用いて平滑化して後段に出力する。水平ラインスキャン部４は、平滑化された垂直ラインスキャンデータストリームを入力とし、水平ラインスキャンデータストリームに変換して後段に出力する。
【０００８】
図５は、垂直ラインスキャン部２の構成例を示している。垂直ラインスキャン部２は、２つのＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１７，１８を内蔵している。ＳＲＡＭ１７，１８は、指定される任意のアドレスに対して、速やかにランダムアクセスできることが特徴である。
【０００９】
制御信号生成部１１は、ＳＲＡＭ１７，１８を交互に、一方を書き込みの用途、他方を読み出しの用途に用いるように、垂直ラインスキャン部２の各部を制御する。
【００１０】
書き込みアドレス生成部１２は、制御信号生成部１１からの制御に従い、水平ラインスキャンデータストリームをＳＲＡＭ１７，１８の一方に書き込むときの書き込みアドレスとして、水平ラインスキャンデータストリーム中の画素の画素番号に対応するアドレスを発生し、セレクタ１４，１５に出力する。例えば、ＳＲＡＭ１７，１８のアドレスが図６に示されるように、０ｘ００００乃至０ｘＦＦＦＦで表される場合、以下の順序で、書き込みアドレス０ｘ００００，…，０ｘ００ＦＦ，…，０ｘＦＥ００，…，０ｘＦＥＦＦ，０ｘＦＦ００，…，０ｘＦＦＦＦを発生する。
【００１１】
以下、ＳＲＡＭ１７等のアドレスは、０ｘを付けた４桁の１６進数で示すことにし、画素の画素番号は、０ｘを付けない４桁の１６進数で示すことにする。
【００１２】
読み出しアドレス生成部１３は、制御信号生成部１１からの制御に従い、ＳＲＡＭ１７，１８の他方に書き込まれている画像データを垂直ラインスキャンの順序で読み出すときの読み出しアドレスとして、垂直ラインスキャン順の画素の画素番号に対応するアドレスを発生し、セレクタ１４，１５に出力する。例えば、ＳＲＡＭ１７，１８のアドレスが図７に示されるように、０ｘ００００乃至０ｘＦＦＦＦで表される場合、以下の順序で、読み出しアドレス０ｘ００００，０ｘ０１００，…，０ｘＦＥ００，０ｘＦＦ００，…，０ｘ００ＦＦ，０ｘ０１ＦＦ，…，０ｘＦＥＦＦ，０ｘＦＦＦＦを発生する。
【００１３】
セレクタ１４は、制御信号生成部１１からの制御に従い、書き込みアドレス生成部１２から入力される書き込みアドレス、または読み出しアドレス生成部１３から入力される読み出しアドレスをＳＲＡＭ１７に出力する。セレクタ１５は、制御信号生成部１１からの制御に従い、書き込みアドレス生成部１２から入力される書き込みアドレス、または読み出しアドレス生成部１３から入力される読み出しアドレスをＳＲＡＭ１８に出力する。
【００１４】
データ制御部１６は、制御信号生成部１１からの制御に従い、前段の水平方向平滑化処理部１から入力される水平ラインスキャンデータストリームを、ＳＲＡＭ１７，１８の一方の入力データピンＩＤに供給し、他方の出力データピンＯＤから出力される垂直ラインスキャンデータストリームを後段の垂直方向平滑化処理部３に出力する。
【００１５】
ＳＲＡＭ１７，１８は、それぞれ、少なくとも１フレーム分の画像データ（いまの場合、２５６×２５６画素の画素データ）を記憶することができる容量を有し、読み書きの最小単位である１ワードには、１画素のデータ（画素値）が記憶される。
【００１６】
ＳＲＡＭ１７は、制御信号生成部１１から入力されるライトイネーブル信号ＷＥに従い、データ制御部１６から入力される水平ラインスキャンデータストリームを、セレクタ１４を介して入力される書き込みアドレスに書き込む。また、ＳＲＡＭ１７は、制御信号生成部１１から入力されるチップセレクト信号ＣＳに従い、自己が記憶している画素データを、セレクタ１４を介して入力される読み出しアドレスに従って読み出して、その結果生成される垂直ラインスキャンデータストリームをデータ制御部１６に出力する。
【００１７】
ＳＲＡＭ１８は、制御信号生成部１１から入力されるライトイネーブル信号ＷＥに従い、データ制御部１６から入力される水平ラインスキャンデータストリームを、セレクタ１５を介して入力される書き込みアドレスに書き込む。また、ＳＲＡＭ１８は、制御信号生成部１１から入力されるチップセレクト信号ＣＳに従い、自己が記憶している画素データを、セレクタ１５を介して入力される読み出しアドレスに従って読み出して、その結果生成される垂直ラインスキャンデータストリームをデータ制御部１６に出力する。
【００１８】
このようにして構成される垂直ラインスキャン部２は、入力される１フレーム分の水平ラインスキャンデータストリームを、ＳＲＡＭ１７，１８の一方に書き込み、その処理に並行して、既に他方に書き込まれている１フレーム分の画像データを垂直ラインスキャンの順序で読み出して、垂直ラインスキャンデータストリームとして後段に出力する。そして、次の１フレーム分の水平ラインスキャンデータストリームが入力されたときには、その画像データを前記他方に書き込み、その処理に並行して、先ほど前記一方に書き込んだ画像データを垂直ラインスキャンの順序で読み出して、垂直ラインスキャンデータストリームとして後段に出力する。
【００１９】
なお、図１の水平ラインスキャン部４も、図５に示された水平ラインスキャン部２と同様に構成され、入力される１フレーム分の垂直ラインスキャンデータストリームを、内蔵する２つのＳＲＡＭの一方に書き込み、その処理に並行して、既に他方に書き込まれている１フレーム分の画像データを水平ラインスキャンの順序で読み出して、水平ラインスキャンデータストリームとして後段に出力する。
【００２０】
なお、以上に説明したＳＲＡＭを用いてスキャン方向を変換する方法は、例えば、特許文献１に記載されている。
【００２１】
【特許文献１】
特開２００１−１９５５７０号公報
【００２２】
【発明が解決しようとする課題】
上述したように、ＳＲＡＭは、指定される任意のアドレスに対して速やかにランダムアクセスできることが長所である。しかしながら、同容量のＳＤＲＡＭ（Ｓｙｎｃｈｒｏｎｏｕｓ  Ｄｙｎａｍｉｃ  ＲＡＭ）に比較して、回路の面積が大きいこと、消費電力が大きいこと、高価であることが短所である。従って、データ量の大きい画像データを処理対象とする場合には、ＳＲＡＭの代わりに、同容量のＳＲＡＭに比較して、回路の面積が小さく、消費電力が小さく、より安価なＳＤＲＡＭを採用することが望まれている。
【００２３】
ただし、ＳＤＲＡＭは、ＳＲＡＭに比較して仕様上の制約が多いことが短所である。図８は、ＳＤＲＡＭの構造を示している。ＳＤＲＡＭは、２のべき乗の数（図８の場合、２）のバンク（図８の場合、バンクＡ，Ｂ）を有し、その記憶領域のアドレスは、縦方向の位置を示すロウ（ｒｏｗ）と、横方向の位置を示すコラム（Ｃｏｌｕｍｎ）から成る。ＳＤＲＡＭに対して連続的に書き込みや読み出しを行う場合において、バンクが変更されるとき、およびロウが変更されるときには、アクティブコマンドＡＣＴを入力する必要があり、書き込みや読み出しの後、またはアクティブコマンドＡＣＴを入力する前には、プリチャージコマンドＰＲＥを入力する必要があり、さらに、各コマンドを入力する間にはＡＣスペック（所定の時間間隔）を設ける必要があるという制約がある。
【００２４】
例えば、図９に示すように、１枚の画像データのうち、白抜きで示す偶数ラインをＳＤＲＡＭのバンクＡ、斜線で示す奇数ラインをバンクＢに書き込み、書き込んだ画像データを読み出すことを考える。ここで、説明の便宜上、画像データのうち、左上の画素００００を基準とする１６×１６画素に着目することにする。
【００２５】
まず、ＳＤＲＡＭに画像データを書き込むためには、図１０のタイミングチャートに示すように、アクティブコマンドＡＣＴと書き込みアドレスのロウを入力し、ＡＣスペックを設けた後に、１画素を書き込む毎に、ライトコマンドＷＲ、書き込みアドレスのコラム、および書き込む画素ＷＤＡＴＡの組をＳＤＲＡＭに入力することになる。このように、画素を連続的に同一のバンクに書き込むことは容易である。
【００２６】
次に、ＳＤＲＡＭに書き込まれた画像データのうち、図１１に矢印で示すように、水平ライン方向に配置され、同一のバンク（バンクＡ）に書き込まれている１６画素００００，０００１，…，００００Ｅ，０００Ｆを順に読むためには、図１２のタイミングチャートに示すように、アクティブコマンドＡＣＴと読み出しアドレスのロウを入力し、ＡＣスペックを設けた後に、１画素を読み出す毎に、リードコマンドＲＤと読み出しアドレスのコラムをＳＤＲＡＭに入力することになる。このように、同一のバンクに書き込まれている画素を連続的に読み出すことも容易である。
【００２７】
次に、ＳＤＲＡＭに書き込まれた画像データのうち、図１３に矢印で示すように、垂直ライン方向に配置された１６画素００００，０１００，…，０Ｅ００，０Ｆ００を順に読み出すことを考える。この処理は、図１４のタイミングチャートに示すように、アクティブコマンドＡＣＴ、ＡＣスペック、リードコマンドＲＤおよびアドレスＡＤＤ、ＡＣスペック、アクティブコマンドＡＣＴ、プリチャージコマンドＰＲＥ、ＡＣスペック、リードコマンドＲＤおよびアドレスＡＤＤ、アクティブコマンドＡＣＴ、ＡＣスペック、プリチャージコマンドＰＲＥ、リードコマンドＲＤおよびアドレスＡＤＤ、…をＳＤＲＡＭに入力することになる。図１４から明らかなように、ＳＤＲＡＭにおいては、異なるバンクに書き込まれている画素を交互に読み出す場合、その読み出しが離散的になってしまう課題があった。
【００２８】
換言すれば、例えば９サイクルにおいて、水平ラインスキャンの順序で読み出すときには、９画素を読み出せることに対し、垂直ラインスキャンの順序で読み出すときには、２画素だけしか読み出せないように、読み出し時のラインスキャンの方向によってＳＤＲＡＭからのデータ転送率が異なるという不都合が生じてしまう課題があった。
【００２９】
本発明はこのような状況に鑑みてなされたものであり、記録した画像データを読み出す時、ラインスキャンの方向に拘わらず、一定のデータ転送率を保持できるようにするものである。
【００３０】
【課題を解決するための手段】
本発明のデータ変換装置は、第１の順序に対応する第１のアドレスを生成する第１のアドレス生成手段と、第１のアドレスを書き込みアドレスに変換する第１の変換手段と、第２の順序に対応する第２のアドレスを生成する第２のアドレス生成手段と、第２のアドレスを読み出しアドレスに変換する第２の変換手段と、第１のデータストリームを書き込みアドレスに従って記憶し、記憶した第１のデータストリームを読み出しアドレスに従って読み出す記憶手段とを含むことを特徴とする。
【００３１】
前記記憶手段は、２つ設けられており、２つの記憶手段のうち、一方の書き込みアドレスに従う第１のデータストリームの記憶と、他方の読み出しアドレスに従う記憶された第１のデータストリームの読み出しとは並行して行われるようにすることができる。
【００３２】
前記記憶手段は、２のべき乗の数のバンクから構成され、各バンクの記憶領域のアドレスがロウとコラムから構成されるようにすることができる。
【００３３】
前記複数のデータは、画像を構成する複数の画素とすることができる。
【００３４】
前記第１のアドレス生成手段は、画素の座標に対応して第１のアドレスを生成し、前記第１の変換手段は、画像を所定のサイズのブロックに区分し、同一のブロックに属する画素の座標に対応して生成された第１のアドレスを、同一バンクのロウが共通である書き込みアドレスに変換するとともに、隣り合うブロックに属する画素の座標に対応して生成された第１のアドレスを、異なるバンクに振り分けるようにすることができる。
【００３５】
本発明のデータ変換方法は、第１の順序に対応する第１のアドレスを生成する第１のアドレス生成ステップと、第１のアドレスを書き込みアドレスに変換する第１の変換ステップと、第２の順序に対応する第２のアドレスを生成する第２のアドレス生成ステップと、第２のアドレスを読み出しアドレスに変換する第２の変換ステップと、第１のデータストリームを書き込みアドレスに従って記憶し、記憶した第１のデータストリームを読み出しアドレスに従って読み出す記憶ステップとを含むことを特徴とする。
【００３６】
本発明のプログラムは、第１の順序に対応する第１のアドレスを生成する第１のアドレス生成ステップと、第１のアドレスを書き込みアドレスに変換する第１の変換ステップと、第２の順序に対応する第２のアドレスを生成する第２のアドレス生成ステップと、第２のアドレスを読み出しアドレスに変換する第２の変換ステップと、第１のデータストリームを書き込みアドレスに従って記憶させ、記憶した第１のデータストリームを読み出しアドレスに従って読み出させる制御ステップとを含む処理をコンピュータに実行させることを特徴とする。
【００３７】
本発明のデータ変換装置および方法、並びにプログラムにおいては、第１の順序に対応する第１のアドレスが生成されて、書き込みアドレスに変換される。また、第２の順序に対応する第２のアドレスが生成されて、読み出しアドレスに変換される。さらに、第１のデータストリームが書き込みアドレスに従って記憶され、記憶した第１のデータストリームが読み出しアドレスに従って読み出される。
【００３８】
【発明の実施の形態】
以下に本発明の実施の形態を説明するが、請求項に記載の構成要件と、発明の実施の形態における具体例との対応関係を例示すると、次のようになる。この記載は、請求項に記載されている発明をサポートする具体例が、発明の実施の形態に記載されていることを確認するためのものである。従って、発明の実施の形態中には記載されているが、構成要件に対応するものとして、ここには記載されていない具体例があったとしても、そのことは、その具体例が、その構成要件に対応するものではないことを意味するものではない。逆に、具体例が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その具体例が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
【００３９】
さらに、この記載は、発明の実施の形態に記載されている具体例に対応する発明が、請求項に全て記載されていることを意味するものではない。換言すれば、この記載は、発明の実施の形態に記載されている具体例に対応する発明であって、この出願の請求項には記載されていない発明の存在、すなわち、将来、分割出願されたり、補正により追加されたりする発明の存在を否定するものではない。
【００４０】
すなわち、本発明のデータ変換装置（例えば、図１６の垂直ラインスキャン部２０）は、第１の順序（例えば、水平ラインスキャン順）に対応する第１のアドレスを生成する第１のアドレス生成手段（例えば、図１６の書き込みアドレス生成部２２）と、第１のアドレスを書き込みアドレスに変換する第１の変換手段（例えば、図１６のアドレス変換部２３）と、第２の順序に対応する第２のアドレスを生成する第２のアドレス生成手段（例えば、図１６の読み出しアドレス生成部２４）と、第２のアドレスを読み出しアドレスに変換する第２の変換手段（例えば、図１６のアドレス変換部２５）と、第１のデータストリームを書き込みアドレスに従って記憶し、記憶した第１のデータストリームを読み出しアドレスに従って読み出す記憶手段（例えば、図１６のＳＤＲＡＭ２９，３０）とを含むことを特徴とする。
【００４１】
本発明のデータ変換方法は、第１の順序に対応する第１のアドレスを生成する第１のアドレス生成ステップ（例えば、図１６の書き込みアドレス生成部２２による図２０のステップＳ１１）と、第１のアドレスを書き込みアドレスに変換する第１の変換ステップ（例えば、図１６のアドレス変換部２３による図２０のステップＳ１３）と、第２の順序に対応する第２のアドレスを生成する第２のアドレス生成ステップ（例えば、図１６の読み出しアドレス生成部２４による図２０のステップＳ１１と同等の処理）と、第２のアドレスを読み出しアドレスに変換する第２の変換ステップ（例えば、図１６のアドレス変換部２５による図２０のステップＳ１３と同等の処理）と、第１のデータストリームを書き込みアドレスに従って記憶し、記憶した第１のデータストリームを読み出しアドレスに従って読み出す記憶ステップ（例えば、図１５のステップＳ２，Ｓ３）とを含むことを特徴とする。
【００４２】
なお、本発明のプログラムの請求項に記載の構成要件と、発明の実施の形態における具体例との対応関係は、上述した本発明のデータ変換方法のものと同様であるので、その記載は省略する。
【００４３】
本発明を適用した垂直ラインスキャン部および水平ラインスキャン部について説明する。当該垂直ラインスキャン部は、図１に示された画像処理装置の垂直ラインスキャン部２および水平ラインスキャン部４にそれぞれ置換して用いるものであり、当該垂直ラインスキャン部の動作は、垂直ラインスキャン部２と同様、入力される水平ラインスキャンデータストリームを、垂直ラインスキャンデータストリームに変換して後段に出力するものである。また、当該水平ラインスキャン部の動作は、水平ラインスキャン部４と同様、入力される司直ラインスキャンデータストリームを、水平ラインスキャンデータストリームに変換して後段に出力するものである。
【００４４】
従って、本発明を適用した垂直ラインスキャン部および水平ラインスキャン部に置換された画像処理装置の動作は、図１５のフローチャートに示す通りとなる。すなわち、ステップＳ１において、水平方向平滑化処理部１は、入力された水平ラインスキャンデータストリームの注目画素の画素値を注目画素の水平方向に隣接する複数の画素を用いて平滑化して後段に出力する。ステップＳ２において、当該垂直ラインスキャン部は、平滑化された水平ラインスキャンデータストリームを内蔵するＳＤＲＡＭに書き込み、ステップＳ３において、垂直ラインスキャンデータストリームに変換して後段に出力する。
【００４５】
ステップＳ４において、垂直方向平滑化処理部３は、入力された垂直ラインスキャンデータストリームの注目画素の画素値を注目画素の垂直方向に隣接する複数の画素を用いて平滑化して後段に出力する。ステップＳ５において、当該水平ラインスキャン部は、平滑化された垂直ラインスキャンデータストリームを内蔵するＳＤＲＡＭに書き込み、ステップＳ６において、水平ラインスキャンデータストリームに変換して後段に出力する。
【００４６】
次に、図１６は、本発明を適用した垂直ラインスキャン部の構成例を示している。
【００４７】
当該垂直ラインスキャン部２０は、従来の垂直ラインスキャン部２がＳＲＡＭ１７，１８を搭載していたことに対して、２つのＳＤＲＡＭ２９，３０を搭載している。このことが、垂直ラインスキャン部２０と垂直ラインスキャン部２の最も大きな違いである。
【００４８】
垂直ラインスキャン部２０は、水平ラインスキャンデータストリームとして入力される画像データ（例えば、２５６×２５６画素）を、図１７に示すように、８×８画素のブロックに区分し、同じブロックに属する画素を、ＳＤＲＡＭ２９，３０の一方の同一のバンクであって、同じロウに書き込むようにしている点が特徴である。
【００４９】
垂直ラインスキャン部２０の制御信号生成部２１は、ＳＤＲＡＭ２９，３０を交互に、一方を書き込みの用途、他方を読み出しの用途に用いるように、垂直ラインスキャン部２０の各部を制御する。
【００５０】
書き込みアドレス生成部２２は、制御信号生成部２１からの制御に従い、水平ラインスキャンデータストリーム中の画素の画素番号に対応する仮書アドレスを発生して、アドレス変換部２３に出力する。具体的には、例えば、画素番号１２３４の画素に対して、仮書アドレス０ｘ１２３４を発生する。
【００５１】
アドレス変換部２３は、書き込みアドレス生成部２２から入力される仮書アドレスを、ＳＤＲＡＭ２９，３０に対して指定する書き込みアドレスに変換して、セレクタ２６，２７に出力する。
【００５２】
読み出しアドレス生成部２４は、制御信号生成部２１からの制御に従い、垂直ラインスキャン順の画素の画素番号に対応する仮読アドレスを発生して、アドレス変換部２５に出力する。具体的には、例えば、画素番号１２３４の画素に対して、仮読アドレス０ｘ１２３４を発生する。
【００５３】
アドレス変換部２５は、読み出しアドレス生成部２４から入力される仮読アドレスを、ＳＤＲＡＭ２９，３０に対して指定する読み出しアドレスに変換して、セレクタ２６，２７に出力する。
【００５４】
なお、アドレス変換部２３，２５による変換処理の詳細については後述する。
【００５５】
セレクタ２６は、制御信号生成部２１からの制御に従い、アドレス変換部２３から入力される書き込みアドレス、またはアドレス変換部２５から入力される読み出しアドレスをＳＤＲＡＭ２９に出力する。セレクタ２７は、制御信号生成部２１からの制御に従い、アドレス変換部２３から入力される書き込みアドレス、またはアドレス変換部２５から入力される読み出しアドレスをＳＤＲＡＭ３０に出力する。
【００５６】
データ制御部２８は、制御信号生成部２１からの制御に従い、前段の水平方向平滑化処理部１から入力される水平ラインスキャンデータストリームを、ＳＤＲＡＭ２９，３０の一方の双方向データピンＤＱに供給し、他方の双方向データピンＤＱから出力される垂直ラインスキャンデータストリームを後段の垂直方向平滑化処理部３に出力する。
【００５７】
ＳＤＲＡＭ２９は、図８に示されたように、２のべき乗の数のバンク（図８の場合、バンクＡ，Ｂ）を有し、１バンク２５６コラムで構成され、少なくとも１フレーム分の画像データ（いまの場合、２５６×２５６画素の画素データ）を記憶可能な容量を持ち、読み書きの最小単位である１ワードには、１画素の画素値が記憶されるようになされている。ＳＤＲＡＭ３０も同様である。
【００５８】
ＳＤＲＡＭ２９は、制御信号生成部２１からの制御に従い、データ制御部２８から入力される水平ラインスキャンデータストリームを、セレクタ２６を介して入力される書き込みアドレスに書き込む。また、ＳＤＲＡＭ２９は、制御信号生成部２１からの制御に従い、自己が記憶している画素を、セレクタ２６を介して入力される読み出しアドレスに従って読み出して、その結果得られる垂直ラインスキャンデータストリームをデータ制御部２８に出力する。
【００５９】
ＳＤＲＡＭ３０は、制御信号生成部２１からの制御に従い、データ制御部２８から入力される水平ラインスキャンデータストリームを、セレクタ２７を介して入力される書き込みアドレスに書き込む。また、ＳＤＲＡＭ３０は、制御信号生成部２１からの制御に従い、自己が記憶している画素を、セレクタ２７を介して入力される読み出しアドレスに従って読み出して、その結果得られる垂直ラインスキャンデータストリームをデータ制御部２８に出力する。
【００６０】
次に、水平ラインスキャンデータストリームとして入力される画像データをＳＤＲＡＭ２９，３０に書き込む処理について、図１８および図１９を参照して詳述する。
【００６１】
図１８は、入力される画像データ（２５６×２５６画素）の一部分である左上の４つのブロックに属する画素の画素番号を示している。同図において、画素番号００００の画素が左上に位置するブロック（８×８画素）と、画素番号０８０８の画素が左上に位置するブロックのように、斜線で覆われていないブロックに属する画素は、ＳＤＲＡＭ２９，３０においてバンクＡに書き込まれることを意味しているものとする。
【００６２】
反対に、画素番号０００８の画素が左上に位置するブロックと、画素番号０８００の画素が左上に位置するブロックのように斜線で覆われているブロックに属する画素は、ＳＤＲＡＭ２９，３０においてバンクＢに書き込まれることを意味しているものとする。
【００６３】
なお、以降の図面においても、斜線で覆われていない画素はバンクＡに、斜線で覆われている画素はバンクＢに書き込まれることを意味しているものとする。
【００６４】
図１８に示された画素番号と同一の仮書アドレスが書き込みアドレス生成部２２によって生成され、アドレス変換部２３によって書き込みアドレスに変換される。
【００６５】
図１９は、図１８に示された画素番号の画素が書き込まれるＳＤＲＡＭ２９，３０の書き込みアドレスを示している。ただし、図示の都合上、書き込みアドレスに付加するようにした０ｘの記載は省略している。４桁の１６進数によって示される書き込みアドレスのうち、上位２桁はロウを示し、下位２桁はコラムを示すものとする。
【００６６】
例えば、図１８に示された左上のブロックの左上に位置する画素番号００００の画素は、図１９に示されるように、バンクＡのアドレス０ｘ００００に書き込まれる。また例えば、画素番号００００の画素の下の画素番号０１００の画素は、バンクＡのアドレス０ｘ０００８に書き込まれる。さらに例えば、左上のブロックの右下に位置する画素番号０７０７の画素は、バンクＡのアドレス０ｘ００３Ｆに書き込まれる。
【００６７】
同様に、右上のブロックの左上に位置する画素番号０００８の画素は、バンクＢのアドレス０ｘ００００に書き込まれる。また例えば、画素番号０００８の画素の下の画素番号０１０８の画素は、バンクＢのアドレス０ｘ０００８に書き込まれる。さらに例えば、右上のブロックの右下に位置する画素番号０７０Ｆの画素は、バンクＢのアドレス０ｘ００３Ｆに書き込まれる。
【００６８】
図１８および図１９を参照して上述した、書き込みアドレス生成部２２によって生成される画素番号に対応する仮書アドレスを、アドレス変換部２３によって書き込みアドレスに変換する処理について、図２０のフローチャートを参照して説明する。
【００６９】
ステップＳ１１において、書き込みアドレス生成部２２は、水平ラインスキャンデータストリームに含まれる画素の画素番号に対応する仮書アドレスを生成し、１６ビットのＩＮ＿ＡＤＤ［１５：０］としてアドレス変換部２３に出力する。ステップＳ１２において、アドレス変換部２３は、ＩＮ＿ＡＤＤ［１５：０］のうち、上位側８ビットＩＮ＿ＡＤＤ［１５：８］を変数ＬＩＮＥとして抽出し、下位側８ビットＩＮ＿ＡＤＤ［７：０］を変数ＰＩＸとして抽出する。
ＬＩＮＥ［７：０］＝ＩＮ＿ＡＤＤ［１５：８］                                      …（１）
ＰＩＸ［７：０］  ＝ＩＮ＿ＡＤＤ［７：０］                                        …（２）
【００７０】
ステップＳ１３において、アドレス変換部２３は、変数ＬＩＮＥ［７：０］の上位側５ビットＬＩＮＥ［７：３］、変数ＰＩＸ［７：０］の上位側５ビットＰＩＸ［７：３］、変数ＬＩＮＥ［７：０］の下位側３ビットＬＩＮＥ［２：０］、および変数ＰＩＸ［７：０］の下位側３ビットＰＩＸ［２：０］の順で配置して、書き込みアドレスＳＤ＿ＡＤＤ［１５：０］を生成する。
ＳＤ＿ＡＤＤ［１５：０］＝｛ＬＩＮＥ［７：３］，ＰＩＸ［７：３］，ＬＩＮＥ［２：０］，ＰＩＸ［２：０］｝      …（３）
【００７１】
ステップＳ１４において、アドレス変換部２３は、ＳＤ＿ＡＤＤ［１５：０］の上位側７ビットＳＤ＿ＡＤＤ［１５：９］の上位に０を付加して、書き込みアドレスのロウＳＤ＿ＲＯＷを生成する。また、ＳＤ＿ＡＤＤ［１５：０］の下位側９ビットＳＤ＿ＡＤＤ［８：０］のうち、７ビット目ＳＤ＿ＡＤＤ［６］を除外して、書き込みアドレスのコラムＳＤ＿ＣＯＬＵＭＮを生成する。
ＳＤ＿ＲＯＷ      ＝｛０，ＳＡ＿ＡＤＤ［１５：９］｝                              …（４）
ＳＤ＿ＣＯＬＵＭＮ＝｛ＳＤ＿ＡＤＤ［８：７］，ＳＤ＿ＡＤＤ［５：０］｝                        …（５）
【００７２】
さらに、アドレス変換部２３は、ＳＤ＿ＡＤＤ［１５：０］の１２ビット目ＳＤ＿ＡＤＤ［１１］と７ビット目ＳＤ＿ＡＤＤ［６］との排他的論理和ＳＤ＿ＢＡＮＫを演算する。
ＳＤ＿ＢＡＮＫ＝ＳＤ＿ＡＤＤ［１１］  ＸＯＲ  ＳＤ＿ＡＤＤ［６］                            …（６）
ＳＤ＿ＢＡＮＫ＝０の場合、バンクＡを選択し、ＳＤ＿ＢＡＮＫ＝１の場合、バンクＢを選択するようにする。
【００７３】
以上、仮書アドレスを書き込みアドレスに変換する処理の説明を終了する。なお、上述した式（１）乃至（６）は、処理する画像データのサイズが横２５６×縦２５６画素、１ブロックが８×８画素、１ロウ当たり２５６コラムで構成される場合の例である。
【００７４】
ここで、画像データのサイズが横Ｎ×縦Ｍ画素、１ブロックが８×８画素、１ロウ当たり１２８，２５６，５１２，１０２４コラムで構成される場合について、式（１）乃至（６）をそれぞれ拡張した次式（１）’乃至（６）’について言及する。
【００７５】
画像データのサイズが横Ｎ×縦Ｍ画素である場合、書き込みアドレス生成部２２からは、Ｎ＋Ｍビットの仮書アドレスＩＮ＿ＡＤＤ［Ｎ＋Ｍ−１：０］が生成される。アドレス変換部２３は、ＩＮ＿ＡＤＤ［Ｎ＋Ｍ−１：０］の上位側ＮビットＩＮ＿ＡＤＤ［Ｎ＋Ｍ−１：Ｍ］を変数ＬＩＮＥとして抽出し、下位側ＭビットＩＮ＿ＡＤＤ［Ｍ−１：０］を変数ＰＩＸとして抽出する。
ＬＩＮＥ［Ｎ−１：０］＝ＩＮ＿ＡＤＤ［Ｎ＋Ｍ−１：Ｍ］                                …（１）’
ＰＩＸ  ［Ｍ−１：０］  ＝ＩＮ＿ＡＤＤ［Ｍ−１：０］                                  …（２）’
【００７６】
次に、変数ＬＩＮＥ［Ｎ−１：０］、ＰＩＸ［Ｍ−１：０］を用いて、Ｎ＋Ｍビットの書き込みアドレスＳＤ＿ＡＤＤ［Ｎ＋Ｍ−１：０］を生成する。
ＳＤ＿ＡＤＤ［Ｎ＋Ｍ−１：０］＝｛ＬＩＮＥ［Ｎ−１：３］，ＰＩＸ［Ｍ−１：３］，ＬＩＮＥ［２：０］，ＰＩＸ［２：０］｝…（３）’
【００７７】
式（４），（５）を拡張した次式（４）’，（５）’は、１ロウ当たりのコラム数によって場合分けされる。
【００７８】
１ロウ当たり１２８コラムである場合、書き込みアドレスのロウＳＤ＿ＲＯＷ、コラムＳＤ＿ＣＯＬＵＭＮは次式に従って生成する。
ＳＤ＿ＲＯＷ      ＝ＳＤ＿ＡＤＤ［Ｎ＋Ｍ−１：８］                                  …（４）’
ＳＤ＿ＣＯＬＵＭＮ＝｛ＳＤ＿ＡＤＤ［７］，ＳＤ＿ＡＤＤ［５：０］｝                        …（５）’
【００７９】
１ロウ当たり２５６コラムである場合、書き込みアドレスのロウＳＤ＿ＲＯＷ、コラムＳＤ＿ＣＯＬＵＭＮは次式に従って生成する。
ＳＤ＿ＲＯＷ      ＝ＳＤ＿ＡＤＤ［Ｎ＋Ｍ−１：９］                                  …（４）’
ＳＤ＿ＣＯＬＵＭＮ＝｛ＳＤ＿ＡＤＤ［８：７］，ＳＤ＿ＡＤＤ［５：０］｝                      …（５）’
【００８０】
１ロウ当たり５１２コラムである場合、書き込みアドレスのロウＳＤ＿ＲＯＷ、コラムＳＤ＿ＣＯＬＵＭＮは次式に従って生成する。
ＳＤ＿ＲＯＷ      ＝ＳＤ＿ＡＤＤ［Ｎ＋Ｍ−１：１０］                                …（４）’
ＳＤ＿ＣＯＬＵＭＮ＝｛ＳＤ＿ＡＤＤ［９：７］，ＳＤ＿ＡＤＤ［５：０］｝                      …（５）’
【００８１】
１ロウ当たり１０２４コラムである場合、書き込みアドレスのロウＳＤ＿ＲＯＷ、コラムＳＤ＿ＣＯＬＵＭＮは次式に従って生成する。
ＳＤ＿ＲＯＷ      ＝ＳＤ＿ＡＤＤ［Ｎ＋Ｍ−１：１１］                                …（４）’
ＳＤ＿ＣＯＬＵＭＮ＝｛ＳＤ＿ＡＤＤ［１０：７］，ＳＤ＿ＡＤＤ［５：０］｝                    …（５）’
【００８２】
最後に、ＳＤ＿ＡＤＤ［１５：０］のＭ＋４ビット目ＳＤ＿ＡＤＤ［Ｍ＋３］と７ビット目ＳＤ＿ＡＤＤ［６］との排他的論理和ＳＤ＿ＢＡＮＫを演算する。
ＳＤ＿ＢＡＮＫ＝ＳＤ＿ＡＤＤ［Ｍ＋３］  ＸＯＲ  ＳＤ＿ＡＤＤ［６］                          …（６）’
ＳＤ＿ＢＡＮＫ＝０の場合、バンクＡを選択し、ＳＤ＿ＢＡＮＫ＝１の場合、バンクＢを選択するようにする。
【００８３】
以上、画像データのサイズが横Ｎ×縦Ｍ画素、１ブロックが８×８画素、１ロウ当たり１２８，２５６，５１２，１０２４コラムで構成される場合に適用される拡張された式（１）’乃至（６）’の説明を終了する。
【００８４】
なお、ここまでは、書き込みアドレス生成部２２によって生成された画素番号に対応する仮書アドレスを、アドレス変換部２３によって書き込みアドレスに変換する処理について説明したが、読み出しアドレス生成部２４によって生成された画素番号に対応する仮読アドレスを、アドレス変換部２５によって読み出しアドレスに変換する処理も同様である。よって、その説明は省略する。
【００８５】
次に、画像データの水平ラインスキャンデータストリームを書き込み、垂直ラインスキャンデータストリームとして読み出すときのＳＤＲＡＭ２９，３０に対するコマンドについて説明する。
【００８６】
例えば、図２１に矢印で示す水平ラインスキャン順の画素を８画素毎に、斜線で覆われていない画素はバンクＡに、斜線で覆われている画素はバンクＢに記録する場合、そのコマンドは図２２に示すタイミングチャートの通りとなる。
【００８７】
すなわち、アクティブコマンドＡＣＴと書き込みアドレスのロウ０ｘ００を入力し、ＡＣスペックを設けた後に、１画素を書き込む毎に、ライトコマンドＷＲ、書き込みアドレスのコラム０ｘ００，０ｘ０１，０ｘ０２，０ｘ０３，０ｘ０４，０ｘ０５，０ｘ０６，０ｘ０７、および書き込む画素を入力する。そして、バンクを切り替えために、ＡＣスペックの分だけ早めに、ライトコマンドＷＲ、書き込みアドレスのコラム０ｘ０５が入力されたタイミングに、再度、アクティブコマンドＡＣＴと書き込みアドレスのロウ０ｘ００を入力し、ＡＣスペックを設けた後に、１画素を書き込む毎に、ライトコマンドＷＲ、書き込みアドレスのコラム０ｘ００，０ｘ０１，０ｘ０２，０ｘ０３，０ｘ０４，０ｘ０５，０ｘ０６，０ｘ０７、および書き込む画素を入力する。これ以降、同様のコマンドを繰り返し入力する。図示したタイミングでコマンドを与えることにより、水平ラインスキャンデータストリームに含まれる画素を連続的に記録することができる。
【００８８】
このようにして記録された水平ラインスキャンデータストリームを、図２３に矢印で示す順序で読み出して垂直ラインスキャンデータストリームを生成する場合、そのコマンドは図２４に示すタイミングチャートの通りとなる。
【００８９】
すなわち、アクティブコマンドＡＣＴと読み出しアドレスのロウ０ｘ００を入力し、ＡＣスペックを設けた後に、１画素を読み出す毎に、リードコマンドＲＤ、および読み出しアドレスのコラム０ｘ００，０ｘ０８，０ｘ１０，０ｘ１８，０ｘ２０，０ｘ２８，０ｘ３０，０ｘ３８を入力することになる。なお、図２２の場合、画素の読み出はリードコマンドＲＤに２サイクル分だけ遅延するように図示されている。そして、バンクを切り替えるために、読み出しの遅延とＡＣスペックの分を考慮して、リードコマンドＲＤと読み出しアドレスのコラム０ｘ２８を入力したタイミングに、再度、アクティブコマンドＡＣＴと読み出しアドレスのロウ０ｘ０４を入力して、ＡＣスペックを設けた後、１画素を読み出す毎に、リードコマンドＲＤ、および読み出しアドレスのコラム０ｘ００，０ｘ０８，０ｘ１０，０ｘ１８，０ｘ２０，０ｘ２８，０ｘ３０，０ｘ３８を入力することになる。これ以降、同様のコマンドを繰り返し入力する。図示したタイミングでコマンドを与えることにより、垂直ラインスキャンデータストリームを構成する画素を連続的に読み出すことができる。
【００９０】
以上、本発明を適用した垂直ラインスキャン部２０の説明を終了する。次に、本発明を適用した水平ラインスキャン部について説明する。当該水平ラインスキャン部の構成は、垂直ラインスキャン部２０と同様であるので、その説明は省略し、動作のみ説明する。
【００９１】
当該水平ラインスキャン部と垂直ラインスキャン部２０の違いは、書き込みアドレス生成部２０と読み出しアドレス生成部２４にある。
【００９２】
当該水平ラインスキャン部の書き込みアドレス生成部は、垂直ラインスキャン部２０の書き込みアドレス生成部２０が水平ラインスキャンの順序で画素番号に対応する仮書アドレスＩＮ＿ＡＤＤを生成することに対して、垂直ラインスキャンの順序で画素番号に対応する仮書アドレスＩＮ＿ＡＤＤを生成する点が異なる。
【００９３】
すなわち、当該水平ラインスキャン部の書き込みアドレス生成部は、図２５に矢印で示すように、画素番号００００，０１００，０２００，…，０Ｅ００，０Ｆ００に対応して、仮書アドレスＩＮ＿ＡＤＤとして０ｘ００００，０ｘ０１００，０ｘ０２００，…，０ｘ０Ｅ００，０ｘ０Ｆ００を発生する。これにより、当該水平ラインスキャン部では、図２６に示すタイミングチャートの通りにコマンドが発生される。
【００９４】
すなわち、アクティブコマンドＡＣＴと書き込みアドレスのロウ０ｘ００を入力し、ＡＣスペックを設けた後に、１画素を書き込む毎に、ライトコマンドＷＲ、書き込みアドレスのコラム０ｘ００，０ｘ０８，０ｘ１０，０ｘ１８，０ｘ２０，０ｘ２８，０ｘ３０，０ｘ３８、および書き込む画素を入力する。ＡＣスペックの分だけ早めに、再度、アクティブコマンドＡＣＴと書き込みアドレスのロウ０ｘ０４を入力し、ＡＣスペックを設けた後に、１画素を書き込む毎に、ライトコマンドＷＲ、書き込みアドレスのコラム０ｘ００，０ｘ０８，０ｘ１０，０ｘ１８，０ｘ２０，０ｘ２８，０ｘ３０，０ｘ３８、および書き込む画素を入力する。これ以降、同様のコマンドを繰り返し入力する。図示したタイミングでコマンドを与えることにより、垂直ラインスキャンデータストリームに含まれる画素を連続的に記録することができる。
【００９５】
当該水平ラインスキャン部の読み出しアドレス生成部は、垂直ラインスキャン部２０の読み出しアドレス生成部２４が垂直ラインスキャンの順序で画素番号に対応する仮書アドレスＩＮ＿ＡＤＤを生成することに対して、水平ラインスキャンの順序で画素番号に対応する仮書アドレスＩＮ＿ＡＤＤを生成する点が異なる。
【００９６】
すなわち、当該水平ラインスキャン部の読み出しアドレス生成部は、図２７に矢印で示すように、画素番号００００，０００１，０００３，…，００１６，００１７に対応して、仮書アドレスＩＮ＿ＡＤＤとして０ｘ００００，０ｘ０１００，０ｘ０２００，…，０ｘ０Ｅ００，０ｘ０Ｆ００を発生する。これにより、当該水平ラインスキャン部では、図２８に示すタイミングチャートの通りにコマンドが発生される。
【００９７】
すなわち、アクティブコマンドＡＣＴと読み出しアドレスのロウ０ｘ００を入力し、ＡＣスペックを設けた後に、１画素を読み出す毎に、リードコマンドＲＤ、および読み出しアドレスのコラム０ｘ００，０ｘ０１，０ｘ０２，０ｘ０３，０ｘ０４，０ｘ０５，０ｘ０６，０ｘ０７を入力することになる。なお、図２８の場合も、画素の読み出はリードコマンドＲＤに２サイクル分だけ遅延するように図示されている。そして、バンクを切り替えるために、読み出しの遅延とＡＣスペックの分を考慮して、リードコマンドＲＤと読み出しアドレスのコラム０ｘ０５を入力したタイミングに、再度、アクティブコマンドＡＣＴと読み出しアドレスのロウ０ｘ００を入力して、ＡＣスペックを設けた後、１画素を読み出す毎に、リードコマンドＲＤ、および読み出しアドレスのコラム０ｘ００，０ｘ０１，０ｘ０２，０ｘ０３，０ｘ０４，０ｘ０５，０ｘ０６，０ｘ０７を入力することになる。これ以降、同様のコマンドを繰り返し入力する。図示したタイミングでコマンドを与えることにより、水平ラインスキャンデータストリームを構成する画素を連続的に読み出すことができる。
【００９８】
以上、本発明を適用した水平ラインスキャン部の説明を終了する。
【００９９】
図２４と図２８を比較して明らかなように、出力するデータストリームのスキャン方向の異なる垂直ラインスキャン部２０と水平ラインスキャン部のデータ転送率が等しいことがわかる。
【０１００】
本発明を適用した垂直ラインスキャン部２０および水平ラインスキャン部は、ＳＤＲＡＭを用いたことにより、同じ記憶容量のＳＲＡＭを用いた場合に比較して、より小規模、安価で実現される。
【０１０１】
また、本発明を適用した垂直ラインスキャン部２０および水平ラインスキャン部は、ＳＤＲＡＭのＤＤＲ（Ｄｏｕｂｌｅ  Ｄａｔａ  ｒａｔｅ）モードにも容易に対応することが可能である。
【０１０２】
なお、本発明を適用した垂直ラインスキャン部２０、および水平ラインスキャン部は、それぞれ、図１に示された画像処理装置以外に適用することも可能である。
【０１０３】
本明細書において、プログラムを記述するステップは、記載された順序に従って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０１０４】
【発明の効果】
以上のように、本発明によれば、記録した画像データを読み出す時のラインスキャンの方向に拘わらず、一定のデータ転送率を保持することが可能となる。
【図面の簡単な説明】
【図１】ディジタル画像処理を行う一般的な画像処理装置の構成例を示すブロック図である。
【図２】画像データを構成する画素の画素番号を示す図である。
【図３】水平ラインスキャンの方向を示す図である。
【図４】垂直ラインスキャンの方向を示す図である。
【図５】図１の垂直ラインスキャン部の構成例を示すブロック図である。
【図６】図５の書き込みアドレス生成部によって生成される書き込みアドレスを示す図である。
【図７】図５の読み出しアドレス生成部によって生成される読み出しアドレスを示す図である。
【図８】ＳＤＲＡＭの構造を示す図である。
【図９】画像データをライン毎、ＳＤＲＡＭのバンクに振り分けて書き込むことを説明するための図である。
【図１０】図９に対応するライトコマンド等のタイミングチャートである。
【図１１】水平ラインスキャン方向の読み出しを説明するための図である。
【図１２】図１１に対応するリードコマンド等のタイミングチャートである。
【図１３】垂直ラインスキャン方向の読み出しを説明するための図である。
【図１４】図１３に対応するリードコマンド等のタイミングチャートである。
【図１５】図１の画像処理の動作を説明するフローチャートである。
【図１６】本発明を適用した垂直ラインスキャン部の構成例を示すブロック図である。
【図１７】画像データを８×８画素のブロックに区分した図である。
【図１８】画像データを構成する画素の画素番号を示す図である。
【図１９】図１８に示された画素が書き込まれるＳＤＲＡＭのアドレスを示す図である。
【図２０】仮書アドレスを書き込みアドレスに変換する処理を説明するフローチャートである。
【図２１】入力される水平ラインスキャンデータストリームを、８画素毎、バンクを切り替えて書き込むことを説明する図である。
【図２２】図２１に対応するライトコマンド等のタイミングチャートである。
【図２３】画像データを垂直ラインスキャン順序で読み出すことを説明する図である。
【図２４】図２３に対応するリードコマンド等のタイミングチャートである。
【図２５】入力される垂直ラインスキャンデータストリームを、８画素毎、バンクを切り替えて書き込むことを説明する図である。
【図２６】図２１に対応するライトコマンド等のタイミングチャートである。
【図２７】画像データを水平ラインスキャン順序で読み出すことを説明する図である。
【図２８】図２７に対応するリードコマンド等のタイミングチャートである。
【符号の説明】
２０  垂直ラインスキャン部，  ２１  制御信号生成部，  ２２  書き込みアドレス生成部，  ２３  アドレス変換部，  ２４  読み出しアドレス生成部，  ２５  アドレス変換部，  ２９，３０  ＳＤＲＡＭ
【図１】
2004362101.tif 000003
【図２】
2004362101.tif 000004
【図３】
2004362101.tif 000005
【図４】
2004362101.tif 000006
【図５】
2004362101.tif 000007
【図６】
2004362101.tif 000008
【図７】
2004362101.tif 000009
【図８】
2004362101.tif 000010
【図９】
2004362101.tif 000011
【図１０】
2004362101.tif 000012
【図１１】
2004362101.tif 000013
【図１２】
2004362101.tif 000014
【図１３】
2004362101.tif 000015
【図１４】
2004362101.tif 000016
【図１５】
2004362101.tif 000017
【図１６】
2004362101.tif 000018
【図１７】
2004362101.tif 000019
【図１８】
2004362101.tif 000020
【図１９】
2004362101.tif 000021
【図２０】
2004362101.tif 000022
【図２１】
2004362101.tif 000023
【図２２】
2004362101.tif 000024
【図２３】
2004362101.tif 000025
【図２４】
2004362101.tif 000026
【図２５】
2004362101.tif 000027
【図２６】
2004362101.tif 000028
【図２７】
2004362101.tif 000029
【図２８】
2004362101.tif 000030