(57)【要約】【課題】デジタルカメラ等からの画像データをＲＡＭに格納し、これを読み出して、ＹＣ分離、ラスタ・ブロック変換、ＪＰＥＧ圧縮等の処理をする場合に用いるバッファ容量を減らす。【解決手段】  拡大・縮小回路１７における垂直方向の変倍率の分子がＪＰＥＧ圧縮回路１１の最小処理単位の垂直サイズの約数である場合には、スイッチ１９で拡大・縮小回路１７の出力をラスタ・ブロック変換器１０に入力するように選択し、スイッチ２０はスイッチ１９の出力を選択し、それ以外の変倍率の場合は、スイッチ１９の選択により拡大・縮小回路１７の出力がＲＡＭ４に出力され、スイッチ２０によりラスタ・ブロック変換器１０の入力にＲＡＭ４に出力された画像データを選択するようにする。【選択図】  図９
2006014357.tif 000002
【特許請求の範囲】
【請求項１】
画像データを保持する保持手段と、上記保持された画像データを隣接部分で重なり合う複数のブロックに分割し、上記ブロックのサイズを設定してブロック毎に順次読み出す読み出し制御手段とを設け、上記読み出された画像データを遅延させる遅延手段と、上記読み出された画像データと上記遅延された画像データとを水平フィルタ及び垂直フィルタを用いて処理する信号処理手段を設け、上記信号処理手段の出力を拡大もしくは縮小する拡大・縮小手段と、ラスタ・ブロック変換する変換手段と、上記拡大・縮小手段により拡大もしくは縮小された画像データを保持することが可能な第２の保持手段と、上記拡大・縮小手段の出力を上記第２の保持手段に与えるか上記変換手段に与えるかを選択する第１の選択手段と、上記変換手段の入力を上記第２の保持手段か上記第１の保持手段の出力かを選択する第２の選択手段と、上記変換手段の出力を圧縮する圧縮手段とを備え、
上記拡大・縮小手段における垂直方向の変倍率の分子が上記圧縮手段の最小処理単位の垂直サイズの約数である場合には、上記第１の選択手段で上記拡大・縮小処理の出力を上記変換手段に入力するように選択し、上記第２の選択手段は上記第１の選択手段の出力を選択し、それ以外の変倍率の場合は、上記第１の選択手段の選択により上記拡大・縮小手段の出力が上記第２の保持手段に出力され、上記第２の選択手段により上記変換手段の入力に上記第２の保持手段に出力された画像データを選択することを特徴とする画像処理装置。
【請求項２】
画像データを保持する保持手順と、上記保持された画像データを隣接部分で重なり合う複数のブロックに分割し、上記ブロックのサイズを設定してブロック毎に順次読み出す読み出し制御手順とを設け、上記読み出された画像データを遅延させる遅延手順と、上記読み出された画像データと上記遅延された画像データとを水平フィルタ及び垂直フィルタを用いて処理する信号処理手順を設け、上記信号処理手順の出力を拡大もしくは縮小する拡大・縮小手順と、ラスタ・ブロック変換する変換手順と、上記拡大・縮小手順により拡大もしくは縮小された画像データを保持することが可能な第２の保持手順と、上記拡大・縮小手順の出力を上記第２の保持手順に与えるか上記変換手順に与えるかを選択する第１の選択手順と、上記変換手順の入力を上記第２の保持手順か上記第１の保持手順の出力かを選択する第２の選択手順と、上記変換手順の出力を圧縮する圧縮手順とを備え、
上記拡大・縮小手順における垂直方向の変倍率の分子が上記圧縮手順の最小処理単位の垂直サイズの約数である場合には、上記第１の選択手順で上記拡大・縮小処理の出力を上記変換手順に入力するように選択し、上記第２の選択手順は上記第１の選択手順の出力を選択し、それ以外の変倍率の場合は、上記第１の選択手順の選択により上記拡大・縮小手順の出力が上記第２の保持手順に出力され、上記第２の選択手順により上記変換手順の入力に上記第２の保持手順に出力された画像データを選択することをコンピュータに実行させるためのプログラムを記録したことを特徴とするコンピュータ読み取り可能な記憶媒体。
【請求項３】
画像データを保持する保持ステップと、上記保持された画像データを隣接部分で重なり合う複数のブロックに分割し、上記ブロックのサイズを設定してブロック毎に順次読み出す読み出し制御ステップとを設け、上記読み出された画像データを遅延させる遅延ステップと、上記読み出された画像データと上記遅延された画像データとを水平フィルタ及び垂直フィルタを用いて処理する信号処理ステップを設け、上記信号処理ステップの出力を拡大もしくは縮小する拡大・縮小ステップと、ラスタ・ブロック変換する変換ステップと、上記拡大・縮小ステップにより拡大もしくは縮小された画像データを保持することが可能な第２の保持ステップと、上記拡大・縮小ステップの出力を上記第２の保持ステップに与えるか上記変換ステップに与えるかを選択する第１の選択ステップと、上記変換ステップの入力を上記第２の保持ステップか上記第１の保持ステップの出力かを選択する第２の選択ステップと、上記変換ステップの出力を圧縮する圧縮ステップとを備え、
上記拡大・縮小ステップにおける垂直方向の変倍率の分子が上記圧縮ステップの最小処理単位の垂直サイズの約数である場合には、上記第１の選択ステップで上記拡大・縮小処理の出力を上記変換ステップに入力するように選択し、上記第２の選択ステップは上記第１の選択ステップの出力を選択し、それ以外の変倍率の場合は、上記第１の選択ステップの選択により上記拡大・縮小ステップの出力が上記第２の保持ステップに出力され、上記第２の選択ステップにより上記変換ステップの入力に上記第２の保持ステップに出力された画像データを選択することを特徴とする画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデジタル・スチルカメラのプロセスおよび圧縮を行う場合に用いて好適な画像処理装置、画像処理方法及びコンピュータ読み取り可能な記憶媒体に関するものである。
【背景技術】
【０００２】
近年、コンピュータの画像取り込み装置として、デジタル・スチルカメラが広く使われている。デジタル・スチルカメラにおいては、ＪＰＥＧなどのＤＣＴ（Ｄｉｓｃｒｅｔｅ  Ｃｏｓｉｎｅ  Ｔｒａｎｓｆｏｒｍ）を利用した画像圧縮方式が利用されている。また、デジタル・スチルカメラの普及に従って、高速な連続撮影及びデジタル・スチルカメラの省電力化が望まれている。そこで撮影から画像データの記録までの時間を短縮するために、従来は信号処理プロセスから画像圧縮までをハードウェアで処理していた。
【０００３】
図１７は従来のデジタル・スチルカメラのハードウェアの構成例である。
次に図１７に従って従来のハードウェアによる信号処理プロセスから画像圧縮までの構成及び動作を説明する。
図示していない光学系によってＣＣＤ１に結像された画像は蓄積電荷情報に変換される。Ａ／Ｄ変換器２によって、この蓄積電荷情報はアナログ信号からデジタル信号に変換される。このデジタル信号はＣＰＵバス３を通り、ＲＡＭ４に転送される。この時、ＣＣＤ１からフレーム読み出しが行われた場合には、図１８に示すように、デジタル化された蓄積電荷情報がＲＡＭ４に格納される。ＣＰＵ５は、所定のパラメータ（メモリの画像データ位置、ガンマ補正値、画像圧縮設定値など）を信号処理プロセス回路９、プロセスＳＳＧ回路７及びＪＰＥＧ圧縮回路１１に設定し、プロセスＳＳＧ回路７に信号処理の開始を命令する。
【０００４】
プロセスＳＳＧ回路７は、ＣＰＵ５から信号処理開始の命令を受け取ると、設定された値に従ってＤＭＡＣ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｕｓｅｓ  Ｃｏｎｔｒｏｌｌｅｒ）６を設定し、ＤＭＡ転送を開始する。このＤＭＡ転送によってＲＡＭ４からデジタル化された蓄積電荷情報が信号処理プロセス回路９及び遅延回路８に読み出される。遅延回路８は蓄積電荷情報に対して信号処理プロセス回路９において垂直方向のフィルタリングを行うための遅延回路であり、垂直方向のフィルタのタップ数が３タップの場合には２Ｈｄ分のメモリ容量がある。ここでＨｄは、ＲＡＭ４からの転送される画像データの水平方向のピクセル数である。
【０００５】
ＣＣＤ１から得られた画像信号は、輝度情報と色情報が周波数多重された信号になっているので、信号処理プロセス回路９では、遅延回路８より得られる垂直方向２画素分に同時化された信号を用いて、水平及び垂直方向の周波数濾過フィルタ処理を行い、輝度信号と色信号とを分離する。さらに分離した輝度信号に輪郭強調処理、ガンマ処理などを行ってＹ信号として出力し、色信号はマトリックス変換処理、ガンマ処理などを行いＵ／Ｖ信号として出力する。
【０００６】
信号処理プロセス回路９から出力されたＹＵＶ信号は、ラスタブロック変換器１０においてラスタ走査順次の信号を複数個のピクセルから成るブロック単位の信号に変換するラスタブロック変換を行う。このラスタブロック変換器１０は８Ｈｒ分のＹＵＶ情報を保持できる。ここでＨｒは、信号処理プロセス回路９から出力される画像データの水平方向のピクセル数である。次にＪＰＥＧ圧縮回路１１は上記ラスタ・ブロック変換されたＹＵＶ信号をＪＰＥＧ圧縮し、ＣＰＵバス３を通じてＲＡＭ４に書き込む。ＲＡＭ４に書き込まれたＪＰＥＧ圧縮データは、ＣＰＵ５からの命令によって、ＦＡＴなどのファイル記録フォーマットに従ってＣＰＵバス３、Ｉ／Ｆ１２を通して記録媒体１３に記録される。
【０００７】
遅延回路８とラスタ・ブロック変換器１０においては、それぞれ入力画像データの水平方向の大きさに比例したバッファ容量が必要である。例えば入力画像データが水平１０３４、垂直７７０、信号処理プロセス回路９の水平フィルタが１１タップ、垂直フィルタが３タップ、ＪＰＥＧの間引きが４：２：２、ＣＣＤの画像データが１０ｂｉｔ、ＹＵＶがそれぞれ８ｂｉｔの場合は、
【０００８】
Ｈｄ＝１０３４
Ｈｒ＝１０３４−ＩＮＴ（１１／２）×２−１０２４
となり
遅延回路８のバッファ容量＝２×Ｈｄ×１０ｂｉｔ
＝２０６８０ｂｉｔ
ラスタ・ブロック変換器１０のバッファ容量
＝８×Ｈｒ×（（Ｙのビット数）＋（ＵＶのビット数））
＝８×１０２４×１６ｂｉｔ
＝１３１０７２ｂｉｔ
となる。
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら上記従来の構成においては、複数の画像サイズを扱うシステムにおいても、最大の水平画像サイズに対応して遅延回路８とラスタ・ブロック変換器１０のバッファ容量を確保する必要があり、メモリの使用効率が不経済になるという問題があった。また、高速な連続撮影及び省電力化が望まれている。
【００１０】
従って、本発明は上記諸問題を解決することを目的とする。
【課題を解決するための手段】
【００１１】
本発明による画像処理装置においては、画像データを保持する保持手段と、上記保持された画像データを隣接部分で重なり合う複数のブロックに分割し、上記ブロックのサイズを設定してブロック毎に順次読み出す読み出し制御手段とを設け、上記読み出された画像データを遅延させる遅延手段と、上記読み出された画像データと上記遅延された画像データとを水平フィルタ及び垂直フィルタを用いて処理する信号処理手段を設け、上記信号処理手段の出力を拡大もしくは縮小する拡大・縮小手段と、ラスタ・ブロック変換する変換手段と、上記拡大・縮小手段により拡大もしくは縮小された画像データを保持することが可能な第２の保持手段と、上記拡大・縮小手段の出力を上記第２の保持手段に与えるか上記変換手段に与えるかを選択する第１の選択手段と、上記変換手段の入力を上記第２の保持手段か上記第１の保持手段の出力かを選択する第２の選択手段と、上記変換手段の出力を圧縮する圧縮手段とを備え、上記拡大・縮小手段における垂直方向の変倍率の分子が上記圧縮手段の最小処理単位の垂直サイズの約数である場合には、上記第１の選択手段で上記拡大・縮小処理の出力を上記変換手段に入力するように選択し、上記第２の選択手段は上記第１の選択手段の出力を選択し、それ以外の変倍率の場合は、上記第１の選択手段の選択により上記拡大・縮小手段の出力が上記第２の保持手段に出力され、上記第２の選択手段により上記変換手段の入力に上記第２の保持手段に出力された画像データを選択することを特徴とする。
【００１２】
本発明による記憶媒体においては、画像データを保持する保持手順と、上記保持された画像データを隣接部分で重なり合う複数のブロックに分割し、上記ブロックのサイズを設定してブロック毎に順次読み出す読み出し制御手順とを設け、上記読み出された画像データを遅延させる遅延手順と、上記読み出された画像データと上記遅延された画像データとを水平フィルタ及び垂直フィルタを用いて処理する信号処理手順を設け、上記信号処理手順の出力を拡大もしくは縮小する拡大・縮小手順と、ラスタ・ブロック変換する変換手順と、上記拡大・縮小手順により拡大もしくは縮小された画像データを保持することが可能な第２の保持手順と、上記拡大・縮小手順の出力を上記第２の保持手順に与えるか上記変換手順に与えるかを選択する第１の選択手順と、上記変換手順の入力を上記第２の保持手順か上記第１の保持手順の出力かを選択する第２の選択手順と、上記変換手順の出力を圧縮する圧縮手順とを備え、上記拡大・縮小手順における垂直方向の変倍率の分子が上記圧縮手順の最小処理単位の垂直サイズの約数である場合には、上記第１の選択手順で上記拡大・縮小処理の出力を上記変換手順に入力するように選択し、上記第２の選択手順は上記第１の選択手順の出力を選択し、それ以外の変倍率の場合は、上記第１の選択手順の選択により上記拡大・縮小手順の出力が上記第２の保持手順に出力され、上記第２の選択手順により上記変換手順の入力に上記第２の保持手順に出力された画像データを選択することをコンピュータに実行させるためのプログラムを記録したことを特徴とする。
【００１３】
また、本発明による画像処理方法においては、画像データを保持する保持ステップと、上記保持された画像データを隣接部分で重なり合う複数のブロックに分割し、上記ブロックのサイズを設定してブロック毎に順次読み出す読み出し制御ステップとを設け、上記読み出された画像データを遅延させる遅延ステップと、上記読み出された画像データと上記遅延された画像データとを水平フィルタ及び垂直フィルタを用いて処理する信号処理ステップを設け、上記信号処理ステップの出力を拡大もしくは縮小する拡大・縮小ステップと、ラスタ・ブロック変換する変換ステップと、上記拡大・縮小ステップにより拡大もしくは縮小された画像データを保持することが可能な第２の保持ステップと、上記拡大・縮小ステップの出力を上記第２の保持ステップに与えるか上記変換ステップに与えるかを選択する第１の選択ステップと、上記変換ステップの入力を上記第２の保持ステップか上記第１の保持ステップの出力かを選択する第２の選択ステップと、上記変換ステップの出力を圧縮する圧縮ステップとを備え、上記拡大・縮小ステップにおける垂直方向の変倍率の分子が上記圧縮ステップの最小処理単位の垂直サイズの約数である場合には、上記第１の選択ステップで上記拡大・縮小処理の出力を上記変換ステップに入力するように選択し、上記第２の選択ステップは上記第１の選択ステップの出力を選択し、それ以外の変倍率の場合は、上記第１の選択ステップの選択により上記拡大・縮小ステップの出力が上記第２の保持ステップに出力され、上記第２の選択ステップにより上記変換ステップの入力に上記第２の保持ステップに出力された画像データを選択することを特徴とする。
【発明の効果】
【００１４】
本発明によれば、画像データをブロック分割して処理することによって、後段の例えば遅延回路やラスタ・ブロック変換等の処理に必要なバッファ容量を減らすことができる。
【００１５】
また、画像信号処理が可能な水平ピクセルサイズが遅延回路及びラスタ・ブロック変換等で用いられるバッファメモリの容量に依存しなくなり、任意の水平ピクセルサイズの画像の画像処理が可能となる。これによって、メモリ量を減らしコストダウンが可能になる。
任意の画像サイズのデータの信号処理及び画像圧縮をＲＡＭ等の保持手段を経由することなく行えるので、高速な信号処理が可能となる。
【００１６】
また、本発明によれば、ＲＡＭ等から読み出した画像データからＪＰＥＧ等による圧縮画像データをハードウェアによるパイプライン処理で作成することが可能なので高速な信号処理が可能になる。
また、ＲＡＭへのアクセス回数を減らすことができるので、信号処理に必要な電力を節約することが可能になる。
また、上記バッファメモリの容量に依存せず、任意サイズの画像データに対して拡大・縮小を行うことができる。これによって、メモリ量を減らすことができるのでコストダウンが可能となる。
【００１７】
また、画像の正方化をＤＲＡＭなどのメモリを経由することなく、ハードウェアで信号処理プロセスから圧縮までをパイプラインで処理することができる。
さらに、信号処理のためのクロックを特定の期間停止することができるので、信号処理に必要な電力を節約することが可能になる。
【発明を実施するための最良の形態】
【００１８】
以下、本発明の第１〜第４の実施の形態を図面と共に説明する。
尚、各実施の形態を示す図１、図９、図１１、図１５においては、図１７及び互いに同一又は相当する部分には同一符号を付して重複する説明は省略する。
【００１９】
図１は第１の実施の形態を示すもので、２次元ＤＭＡＣ１６と遅延回路１８が図１７とは図面上の構成が異なっている。またＲＯＭ１４はＣＰＵ５の後述する処理を実行するためのプログラムを記憶する本発明による記憶媒体を構成する。この記憶媒体としては、半導体メモリ、光ディスク、光磁気ディスク、磁気媒体等を用いてよく、これらを不揮発性メモリカード、ＣＤ−ＲＯＭ、フロッピディスク、磁気カード等に構成して用いてよい。
【００２０】
図１において、ＣＣＤ１の蓄積電荷情報が図１７の従来と同様にしてデジタル信号に変換された後、ＲＡＭ４に図１８に示すように格納されると、プロセスＳＳＧ回路７の信号処理が開始される。プロセスＳＳＧ回路７は、パラメータ、２次元ＤＭＡＣ１６にＤＭＡ転送開始アドレスａｄｒ、水平転送回数ｍ、垂直転送回数ｎ、垂直オフセットｏｆｆｓｅｔの４つの値を設定してＲＡＭ４から画像データを読み出す。
【００２１】
図２に、ＤＭＡ転送開始アドレスａｄｒ＝０ｘ０３０（以後０ｘがつく数字は１６進数を意味する）、水平転送回数ｍ＝０ｘ８、垂直転送回数ｎ＝０ｘ５、垂直オフセットｏｆｆｓｅｔ＝０ｘ０１０の場合の読み出し順序を図示する。
２次元ＤＭＡＣ１６は、読み出し開始アドレスとして２次元ＤＭＡＣ１６内部にａｄｒを保持し、２次元ＤＭＡＣ１６内部にある水平読み出し回数を保持するカウンタと垂直読み出し回数を保持するカウンタを０にリセットする。そして、データの読み出しを行う毎に水平読み出し回数を保持するカウンタを１つインクリメントする。
【００２２】
また水平読み出し回数を保持しているカウンタの値がｍと一致した場合は、データ読み出し開始アドレスｏｆｆｓｅｔ分インクリメントするとともに、水平読み出し回数を保持するカウンタを０にリセットし、垂直読み出し回数を保持するカウンタを１つインクリメントする。データ読み出しは、垂直読み出し回数のカウンタの値がｎに一致した時点で終了する。このように、ＲＡＭ４から読み出しアドレスを変化させることによって、図２に示すようにＲＡＭ４の方形状の領域からデータの読み出しを行う。
【００２３】
プロセスＳＳＧ回路７は、２次元ＤＭＡＣ１６を繰り返し制御することによって、図３に示すように、ＲＡＭから画像データを複数のブロックに分割して、ブロック０からブロック１、ブロック２、・・・、ブロックｐｑ−１の順序に読み出す。図３において、ＨとＶはそれぞれＣＣＤ１からＲＡＭ４に転送された１画面分の画像データの水平方向サイズと垂直方向サイズであり、水平方向にｐ個、垂直方向にｑ個、合計ｐ×ｑ個の領域が斜線部分で上下左右に重なり合ったブロックに分割されている。
【００２４】
このようにして、ＲＡＭ４から読み出された画像データはＣＰＵバス３を通じて遅延回路１８と信号処理プロセス回路９に送られる。このため、遅延回路１８で必要な記憶容量は、
２（ライン）×Ｈｂ×（１画素を表現するビット数）
となる。
【００２５】
図３の各ブロックは、さらに図４に示すように４つの領域から構成されている。
図４において、領域４−Ａは、ＲＡＭ４から読み出される画像データが有効、遅延回路１８から読み出される画像データが無効な領域であり、このため信号処理プロセス回路９の出力も無効な領域である。Ｖｄｅｌａｙは、遅延回路１８の遅延ライン数に等しく、本実施の形態においては垂直３タップのフィルタを信号処理プロセス回路９において行うため２である。
【００２６】
領域４−Ｂ及び領域４−Ｄは、ＲＡＭ４から読み出される画像データ及び遅延回路１８から読み出される画像データは有効であるが、信号処理プロセス回路９内のフィルタに２ラインの水平画像データが同時に存在するため、信号処理プロセス回路９からの出力が無効になる領域である。信号処理プロセス回路９を水平方向にタップ数がＮＴａｐのフィルタと遅延回路から構成されると近似した場合、領域４−Ｂ及び領域４−Ｄの水平方向の長さは、ＮＴａｐ／２となる、例えばＮＴａｐが１０の場合は５であり、ＮＴａｐ画像データ１１の場合は小数点以下を切り捨てて５となる。本実施の形態においてはＮＴａｐは１１であり、Ｈｆｉｌ＝５である。
【００２７】
領域４−Ｃは、信号処理プロセス回路９からの出力が有効となる領域であり、水平方向の長さＨａはＭＣＵ（Ｍｉｎｉｍｕｍ  Ｃｏｄｅｄ  Ｕｎｉｔ：ＪＰＥＧにおける最小のデータ単位）の水平サイズの倍数とし、垂直方向の長さＶａはＭＣＵの垂直サイズと等しくする。このためＪＰＥＧの間引きが４：２：２において８とする。
【００２８】
このように、信号処理プロセス回路９からの出力が各ブロックの１部の領域のみ有効になり、プロセスＳＳＧ回路７は図３に示すように領域４−Ａが上のブロックの領域４−Ｃと、領域４−Ｂが左側のブロックの領域４−Ｃと重なるように２次元ＤＭＡＣ１６を制御する。
この水平方向の重なりを図５に垂直の重なりを図６に示す。
【００２９】
図５において、ブロックＸとブロックＸ＋１が水平方向に重なっている。この時、Ｈｏｆｆｓｅｔは、
Ｈｏｆｆｓｅｔ＝Ｈａ
となる。
【００３０】
図６において、ブロックＸとブロックＸ＋ｐが垂直方向に重なっている。この時、Ｖｏｆｆｓｅｔは、
Ｖｏｆｆｓｅｔ＝Ｖａ
となる。
【００３１】
この結果、図７に示すように１画面の画像データを信号処理プロセス回路９が処理することにより、出力ブロック０、出力ブロック１、・・・、出力ブロックｐｑ−１の順にラスタ・ブロック変換器１０に出力される。ただし、信号処理プロセス回路９から出力される画像データは、入力された全画像データに対して水平方向では左右端でＨｆｉｌ、垂直方向では上部でＶｄｅｌａｙライン分小さい画像データとなる。
【００３２】
各出力ブロックの大きさは水平方向がＨａ、垂直方向がＶａであり、この出力ブロックを連続的にラスタ・ブロック変換器１０においてラスタ・ブロック変換すると、ブロック分割されていない画像データを入力した場合と同等の信号がラスタ・ブロック変換器１０から出力される。このため、ラスタ・ブロック変換器１０内部にあるラインバッファの記憶容量は、水平方向がＨａ分、垂直方向がＶａ分あれば十分である。
【００３３】
次にＪＰＥＧ圧縮回路１１はラスタ・ブロック変換器１０においてラスタ・ブロック変換された信号をＪＰＥＧ圧縮し、ＣＰＵバス３を通じてＲＡＭ４に書き込む。ＲＡＭ４に書き込まれたＪＰＥＧ圧縮データは、ＣＰＵ５からの命令によって、ＦＡＴなどのファイル記録フォーマットに従ってＣＰＵバス３、Ｉ／Ｆ１２を通して記録媒体１３に記録される。
【００３４】
本実施の形態において、遅延回路１８とラスタ・ブロック変換器１０で必要となるバッファ容量は、入力画像データが水平１０３４、垂直７７０、信号処理プロセス回路９の水平フィルタが１１タップ、垂直フィルタが３タップ、ＪＰＥＧの間引きが４：２：２、ＣＣＤの画像データが１０ｂｉｔ、ＹＵＶがそれぞれ８ｂｉｔ、画像の分割が水平４分割、垂直９６分割の場合は、
【００３５】
Ｈａ＝（１０３４−Ｈｆｉｌ×２）／４（分割）
＝（１０３４−５×２）／４
＝２５６
Ｖａ＝８
Ｖｂ＝Ｖａ＋２
＝１０ｂｉｔ
Ｈｂ＝Ｈａ＋Ｈｆｉｌ×２
＝２５６＋５×２
＝２６６
となり、
遅延回路１８のバッファ容量＝２×Ｈｂ×１０ｂｉｔ
＝５３２０ｂｉｔ
ラスタ・ブロック変換器１０のバッファ容量
＝Ｖａ×Ｈａ×（（Ｙのビット数）＋（ＵＶのビット数））
＝８×Ｈａ×（（Ｙのビット数）＋（ＵＶのビット数））
＝８×２５６×１６ｂｉｔ
＝３２７６８ｂｉｔ
となる。すなわち図１７について前述した従来のバッファ容量より減らすことができる。
【００３６】
また、図４の領域４−ＡをＲＡＭ４から読み出している間は、常に信号処理プロセス回路９の出力は無効であり、かつ遅延回路１８から信号処理プロセス回路９に出力されている信号も無効である。このため、図８に示すようにプロセスＳＳＧ回路７によって信号処理プロセス回路９を駆動するクロック信号を制御し、領域４−Ａの画像データがＲＡＭ４から読み出されている期間は、スイッチ１５により信号処理プロセス回路９へのクロックの供給を停止する。このようなクロックの制御を信号処理プロセス回路９へ行っても、もともと無効な出力を出す期間なので有効な出力信号には影響はない。
【００３７】
尚、本実施の形態においてパラメータ、２次元ＤＭＡＣ１６を利用したが、プロセスＳＳＧ回路７が通常のＤＭＡＣを制御して、本実施の形態と同様の画像データの読み出しをＲＡＭ４から行うようにしてもよい。
【００３８】
図９は第２の実施の形態を示すもので、スイッチ１９、２０および拡大・縮小回路１７が設けられている。また２次元ＤＭＡＣ１６、遅延回路８が用いられている。ＣＣＤ１の蓄積電荷情報はＡ／Ｄ変換された後、ＲＡＭ４に図１８に示すように格納される。
【００３９】
プロセスＳＳＧ回路７は２次元ＤＭＡＣ１６にＤＭＡ転送開始アドレスａｄｒ、水平転送回数ｍ、垂直転送回数ｎ、垂直オフセットｏｆｆｓｅｔの４つの値を設定してＲＡＭ４から画像データを読み出す。
図２に、ＤＭＡ転送開始アドレスａｄｒ＝０ｘ０３０（以後０ｘがつく数字は１６進数を意味する）、水平転送回数ｍ＝０ｘ８、垂直転送回数ｎ＝０ｘ５、垂直オフセットｏｆｆｓｅｔ＝０ｘ０１０の場合の読み出し順序を図示する。
【００４０】
２次元ＤＭＡＣ１６は、読み出し開始アドレスとして２次元ＤＭＡＣ１６内部にａｄｒを保持し、２次元ＤＭＡＣ１６内部にある水平読み出し回数を保持するカウンタと垂直読み出し回数を保持するカウンタを０にリセットする。データの読み出しを行う毎に水平読み出し回数を保持するカウンタを１つインクリメントし、読み出しアドレスも１つインクリメントする。
【００４１】
また水平読み出し回数を保持しているカウンタの値がｍと一致した場合は、データ読み出し開始アドレスｏｆｆｓｅｔ分インクリメントするとともに、水平読み出し回数を保持するカウンタを０にリセットし、垂直読み出し回数を保持するカウントを１つインクリメントし、読み出しアドレスに読み出し開始アドレスをセットする。データ読み出しは垂直読み出し回数のカウンタ値がｎに一致した時点で終了する。このように、ＲＡＭ４からの読み出しアドレスを変化させることによって、図２に示すようにＲＡＭ４の方形状の領域からデータの読み出しを行う。
【００４２】
プロセスＳＳＧ回路７は、２次元ＤＭＡＣ１６を繰り返し制御することによって、図３に示すようにＲＡＭ４から画像データを複数のブロックに分割してブロック０からブロック１、ブロック２、・・・、ブロックｐｇ−１の順序に読み出す。このようにして、ＲＡＭ４から読み出された画像データはＣＰＵバス３を通じて遅延回路８と信号処理プロセス回路９に送られる。
また、ブロック０からブロックｐｑ−１の各ブロックは図４に示すように４つの領域から構成されており、各領域については前述した通りである。
【００４３】
次に、拡大・縮小回路１７は、ＣＰＵ５によってあらかじめ指定された倍率で、この時の信号処理プロセス回路９からの出力に対して拡大または縮小を行う。この拡大・縮小回路１３の構成は特開平５−２２７４１４号公報などで開示されているように構成されており、拡大・縮小回路１７に入力される画像データの順番によって出力されるデータの計算方法が異なる。
【００４４】
例えば、図１０に４／９に縮小される場合と、９／４に拡大される場合の入出力データの位相関係を示す。
４／９縮小の場合は、
Ｄｏｕｔ１＝Ｄｉｎ１
Ｄｏｕｔ２＝３／４Ｄｉｎ３＋１／４Ｄｉｎ４
Ｄｏｕｔ３＝２／４Ｄｉｎ５＋２／４Ｄｉｎ６
Ｄｏｕｔ４＝１／４ｄｉｎ７＋３／４ＤＩｎ８
Ｄｏｕｔ５＝Ｄｉｎ１０
となり、入力データにおいては９周期で、出力データにおいては４周期で位相が変化する。
【００４５】
同様に９／４拡大の場合は、
Ｄｏｕｔ１＝Ｄｉｎ１
Ｄｏｕｔ２＝５／９Ｄｉｎ１＋４／９Ｄｉｎ２
Ｄｏｕｔ３＝１／９Ｄｉｎ１＋８／９Ｄｉｎ２
Ｄｏｕｔ４＝６／９ｄｉｎ２＋３／９Ｄｉｎ３
Ｄｏｕｔ５＝２／９Ｄｉｎ２＋７／９Ｄｉｎ３
Ｄｏｕｔ６＝７／９Ｄｉｎ３＋２／９Ｄｉｎ４
Ｄｏｕｔ７＝３／９Ｄｉｎ３＋６／９Ｄｉｎ４
Ｄｏｕｔ８＝８／９ｄｉｎ４＋１／９Ｄｉｎ５
Ｄｏｕｔ９＝４／９Ｄｉｎ４＋５／９Ｄｉｎ５
Ｄｏｕｔ１０＝Ｄｉｎ５
となり、入力データにおいては４周期で、出力データにおいては９周期で位相が変化する。
【００４６】
また、拡大の場合は、Ｍ／Ｎの倍率において、拡大縮小回路１７からＭ個のデータを出力させるにはＮ＋１個の入力データが必要である。従って、領域４−Ｃの大きさであるＨａとＶａは以下のように決定される。
【００４７】
［水平方向のみ拡大を行う場合］
拡大・圧縮回路１７において、水平方向にＭ／Ｎ倍の拡大を行って画像のリサイズ及び正方化を行う場合には、Ｈａ×Ｖａの画像データを拡大・縮小回路１７で処理した結果、水平サイズがＭＣＵの水平サイズの倍数であり、垂直サイズがＭＣＵの垂直サイズと等しい画像データが出力されるようにＨａ、Ｖａを決定する。このため、ＨａはＭＣＵの水平サイズとＭの最小公倍数にＮ／Ｍを乗算し、それに１を加えた値であり、ＶａはＭＣＵの垂直サイズである。
【００４８】
また、水平方向のみ拡大する場合は、スイッチ１９、２０は共に'１'を選択し、拡大・縮小回路１７の出力がスイッチ１９、２０を通ってラスタ・ブロック変換器１０に出力されるようにする。
【００４９】
例えば、ＣＣＤ１の信号処理プロセス後の有効画像データが９６０（水平）×７６８（垂直）ピクセルであり、この画像を水平方向に１６／１５倍に拡大して１０２４（水平）×７６８（垂直）ピクセルの画像データを作成し、これを４：２：２の間引きを行ってＪＰＥＧ圧縮する場合には、
（ＭＣＵの水平方向サイズ）＝１６ピクセル
（ＭＣＵの垂直方向サイズ）＝８ピクセル
となり、
Ｈａ＝（１６と１６の最小公倍数）／１６×１５×ｎ＋１
＝１５×ｎ＋１（ｎは自然数）
Ｖａ＝８
となる。
【００５０】
ｎの最大値は、遅延回路８とラスタ・ブロック変換器１０のバッファ容量によって決定される。例えば、ＣＣＤの１画素の蓄積電荷情報が１０ｂｉｔで表現され遅延回路８が水平６４０画素を２ライン分保持可能なバッファ容量を持ち、ラスタ・ブロック変換器１０が信号処理プロセス回路９の出力を水平６４０ピクセルで８ライン分保持可能なバッファ容量を持ち、Ｈｆｉｌが５の場合には、
ｎｌ＝（６４０−１−Ｈｆｉｌ×２）／１５
＝４１（小数点以下は切り捨て）
ｎ２＝６４０／（１５×１６／１５）
＝４０（小数点以下は切り捨て）
（ｎの最大値）＝（ｎ１とｎ２の小さい方）
＝４０
である。
【００５１】
このとき、１つのブロックを信号処理プロセス回路９が処理する毎に拡大・縮小回路１７からは（１６×ｎ）（水平）×８（垂直）ピクセルの画像データ、つまり水平がＭＣＵの水平サイズの倍数であり、垂直がＭＣＵの垂直サイズと等しい画像データがラスタ・ブロック変換器１０に出力される。
【００５２】
［水平方向のみの縮小を行う場合］
拡大・圧縮回路１７において、水平方向にＭ／Ｎ倍の縮小を行って画像のリサイズ及び正方化を行う場合には、Ｈａ×Ｖａの画像データを拡大・縮小回路１７で処理した結果、水平サイズがＭＣＵ水平サイズの倍数であり、垂直サイズがＭＣＵの垂直サイズと等しい画像データが出力されるようにＨａ、Ｖａを決定する。このため、ＨａはＭＣＵの水平サイズとＭの最小公倍数にＮ／Ｍを乗算した値であり、ＶａはＭＣＵの垂直サイズである。
【００５３】
また、水平方向のみ縮小する場合は、スイッチ１９、２０は共に'１'を選択し、拡大・縮小回路１７の出力がスイッチ１９、２０を通ってラスタ・ブロック変換器１０に出力されるようにする。
【００５４】
例えば、ＣＣＤ１の信号処理プロセス後の有効画像データが１０６０（水平）×７６８（垂直）ピクセルであり、この画像を水平方向に２８／２９倍に拡大して１０２４（水平）×７６８（垂直）ピクセルの画像データを作成し、これを４：２：２の間引きを行ってＪＰＥＧ圧縮する場合には、
（ＭＣＵの水平方向サイズ）＝１６ピクセル
（ＭＣＵの垂直方向サイズ）＝８ピクセル
となり、
Ｈａ＝（２８と１６の最小公倍数）／２８×２９×ｎ
＝１１６×ｎ（ｎは自然数）
Ｖａ＝８
となる。
【００５５】
ｎの最大値は、遅延回路８とラスタ・ブロック変換器１０のバッファ容量によって決定される。例えば、ＣＣＤの１画素の蓄積電荷情報が１０ｂｉｔで表現され遅延回路８が水平６４０画素を２ライン分保持可能なバッファ容量を持ち、ラスタ・ブロック変換器１０が信号処理プロセス回路９の出力を水平６４０ピクセルで８ライン分保持可能なバッファ容量を持ち、Ｈｆｉｌが５の場合には、
ｎｌ＝（６４０−２×Ｈｆｉｌ）／１１６
＝５（小数点以下は切り捨て）
ｎ２＝６４０／（１１６×２８／２９）
＝５（小数点以下は切り捨て）
（ｎの最大値）＝（ｎ１とｎ２の小さい方）
＝５
となる。
【００５６】
このとき、１つのブロックを信号処理プロセス回路９が処理する毎に拡大・縮小回路１７からは（７×１６×ｎ）（水平）×８（垂直）ピクセルの画像データ、つまり水平がＭＣＵの水平サイズの倍数であり、垂直がＭＣＵの垂直サイズと等しい画像データがラスタ・ブロック変換器１０に出力される。
【００５７】
［垂直方向にＭＣＵの垂直サイズの約数の拡大を行う場合］
拡大・圧縮回路１７において、垂直方向にＭＣＵの垂直サイズの約数の拡大を行う場合には、Ｈａは上記の［水平方向のみ拡大を行う場合］または［水平方向のみ縮小を行う場合］に従って決定する。
【００５８】
ブロックの垂直方向サイズＶａは、ＭＣＵの垂直サイズが８のときは、
倍率が１のときはＶａ＝８
倍率が２のときはＶａ＝４
倍率が４のときはＶａ＝２
倍率が８のときはＶａ＝１
となり、ＭＣＵの垂直サイズが１６のときは、
倍率が１のときはＶａ＝１６
倍率が２のときはＶａ＝８
倍率が４のときはＶａ＝４
倍率が８のときはＶａ＝２
倍率が１６のときは    Ｖａ＝１
となる。
【００５９】
また、この時スイッチ１９、２０は共に'１'を選択し、拡大・縮小回路１３の出力がスイッチ１９、２０を通ってラスタ・ブロック変換器１０に出力されるようにする。これによって、１つのブロックを信号処理プロセス回路９が処理する毎に拡大・縮小回路１７からは水平がＭＣＵの水平サイズの倍数であり、垂直がＭＣＵの垂直サイズと等しい画像データがラスタ・ブロック変換器１０へ出力される。
【００６０】
［垂直方向に１／ｎ倍の縮小を行う場合］
拡大・圧縮回路１７において、垂直方向に１／ｎ倍の縮小を行う場合には、Ｈａは上記の［水平方向のみ拡大を行う場合］または［水平方向のみ縮小を行う場合］に従って決定する。Ｖａは、
Ｖａ＝（ＭＣＵの垂直サイズ）×ｎ
とする。
【００６１】
この時スイッチ１９、２０は共に'１'を選択し、拡大・縮小回路１７の出力がスイッチ１９、２０を通ってラスタ・ブロック変換器１０に出力されるようにする。これによって、１つのブロックを信号処理プロセス回路９が処理する毎に拡大・縮小回路１７からは水平がＭＣＵの水平サイズの倍数であり、垂直がＭＣＵの垂直サイズと等しい画像データがラスタ・ブロック変換器１０へ出力される。
【００６２】
［垂直方向にＭＣＵの垂直サイズの約数、Ｉ／ｎ倍以外の拡大・縮小を行う場合］
拡大・圧縮回路１７において、垂直方向にＭＣＵの垂直サイズの約数、１／ｎ倍以外のＭｖ／Ｎｖ倍の拡大を行い、水平方向にＭｈ／Ｎｈ倍の拡大または縮小を行う場合には、
Ｈａは拡大の時は
Ｈａ＝（Ｎｈの倍数）＋１
縮小の時は
Ｈａ＝（Ｎｈの倍数）
である。
【００６３】
また、ＶａはＮｖの倍数となる様に指定する。このとき、ＣＰＵ５によりスイッチ１９、２０は共に'０'を選択する。これによって、信号処理プロセス回路９からの出力データは拡大・縮小回路１７において拡大もしくは縮小されたのちに一旦ＲＡＭ４に書き込まれる。ＲＡＭ４に書き込まれた画像データは、ＭＣＵの垂直サイズ毎に分割してスイッチ２０を通ってラスタ・ブロック変換器１０に出力する。
【００６４】
上記のようにＨａとＶａを決定し、スイッチ１９、２０を制御することによって、ラスタ・ブロック変換器１０には、水平方向がＭＣＵの水平サイズの整数倍であり、垂直方向がＭＣＵの垂直サイズと等しい画像データが出力される。
また、各ブロックが、水平方向には図５に示すように、垂直方向には図６に示すように各領域が重なるようにプロセスＳＳＧ回路７は２次元ＤＭＡＣ１６を制御する。
【００６５】
図５において、Ｈｏｆｆｓｅｔは、
Ｈｏｆｆｓｅｔ＝Ｈａ（縮小時）
Ｈｏｆｆｓｅｔ＝Ｈａ−１（拡大時）
であり、縮小時にはブロックＸとブロックＸ＋１の領域４−Ｃが水平方向に連続し、拡大時にはブロックＸとブロックＸ＋１の領域４−Ｃが水平に１ピクセルだけ重なる。
【００６６】
また、図６において、Ｖｏｆｆｓｅｔは、
Ｖｏｆｆｓｅｔ＝Ｖａ
であり、ブロックＸとブロックＸ＋ｐの領域４−Ｃが垂直方向に連続する。
【００６７】
以上の動作によって、拡大・縮小回路１７へ画像分割を行い、ブロック単位で処理を行っても、ブロックのつなぎめで拡大・縮小回路１７の位相による画像の歪みは発生しない。
【００６８】
尚、上記第２の実施の形態においては、拡大もしくは縮小の倍率からＨａを決定していたが、遅延回路８およびラスタ・ブロック変換器１０のバッファの容量からＨａ及び倍率を決定することも可能である。
例えば、ラスタ・ブロック変換器１０のバッファ容量が水平方向に３２０ピクセル分であり、目標とする拡大率が１１／１０、ＭＣＵの水平方向のサイズが１６の時にラスタ・ブロック変換器１０のバッファメモリが一杯になるためのブロックの領域４−Ｃの水平サイズＨａは、
Ｈａ＝３２０×１０／１１
＝２９１（小数点以下を切り上げ）
である。
【００６９】
このとき、拡大・縮小回路１７の倍率を３２０／２９１とすることによって、拡大・縮小回路１７の出力の水平ピクセル数が３２０となり、ＭＣＵの水平サイズの倍数の条件を満たしている。倍率に関しては目標値と異なるが、実用上は問題のない精度である。
【００７０】
図１１は第３の実施の形態を示すもので、拡大・縮小回路１７、位相バッファ２１が設けられている。
ＲＡＭ４に図１８に示すように格納されたＣＣＤ１からの画像情報は、プロセスＳＳＧ回路７、２次元ＤＭＡＣ１６により図２に示す順序で読み出される。その際の２次元ＤＭＡＣ１６内部にある水平読み出し回数を保持するカウンタと垂直読み出し回数を保持するカウンタの動作は、図９の第２の実施の形態で述べたと同様に行われ、ＲＡＭ４から読み出しアドレスを変化させることによって、図２に示すようにＲＡＭ４の方形状の領域からデータの読み出しを行う。
【００７１】
そして図３に示すように、ＲＡＭ４から画像データを複数のブロックに分割してブロック０からブロック１、ブロック２、・・・、ブロックｐｇ−１の順序に読み出し、読み出された画像データはＣＰＵバス３を通じて遅延回路８と信号処理プロセス回路９に送られる。ブロック０からブロックｐｑ−１の各ブロックは図４に示すように４つの領域から構成されている。
【００７２】
拡大・縮小回路１７は、図９の場合と同様に、入力される画像データの順番によって出力されるデータの計算方法が異なるものであり、
例えば、４／９に縮小される場合と、９／４に拡大される場合の入出力データの位相関係は、図１０について説明した通りである。
【００７３】
また、拡大においては、前述したように、Ｍ／Ｎの倍率において、拡大・縮小回路１７からＭ個のデータを出力させるにはＮ＋１個の入力データが必要である。このため、Ｈａの幅によってはブロックが変化する際に、拡大・縮小回路１７の位相に不連続が発生して画像の歪みが生じる。
【００７４】
これを回避するために、本実施の形態では、ブロックの境界において拡大・縮小回路１７の内部の位相と画像データを位相バッファ２１に保持し、ブロックが変化した際は位相バッファ２１から幾何学的に隣接したブロックの境界における位相と画像データを読み出して拡大・縮小のための補間演算を行う。
【００７５】
以下に、ブロックの境界での画像データと位相の保存及び呼び出しの動作を説明する。
拡大・縮小回路１７及び位相バッファ２１は、図１２に示す構成となっている。すなわち拡大・縮小回路１７は水平拡大・縮小回路１７１と垂直拡大・縮小回路１７２とで構成され、位相バッファ２１は、水平位相バッファ２１１と垂直位相バッファ２１２とで構成されている。
【００７６】
図１３は、上記各拡大・縮小回路１７１、１７２を構成する拡大・縮小回路６６と、上記各位相バッファ２１１、２１２で構成する位相バッファ６７の構成を示す。図１３においてＳＩＧ＿ＩＮ、ＳＴＯ、ＬＯＡＤ、ＳＥＬはプロセスＳＳＧ回路１−７からの制御信号である。拡大・縮小回路６６は、画像データＳＩＣ＿ＩＮから読み出し、補間演算回路６１で補間演算を行う。この時の演算を行う位相は位相カウンタ６２から得る。
【００７７】
ＳＴＯがアクティブ（以下の説明においては、制御信号はアクティブＨｉとする）になると補間演算回路６１内に保持している画像データ、リニア補間においては２点の画像データを補間演算回路６１のＤＡＴ端子から出力すると共にＷＥＮ（ＷＲＩＴＥ  ＥＮＡＢＬＥ）をアクティブにする。このとき、ＳＥＬの値に従ってスイッチ６４により選択されているバッファメモリ６５に画像データが書き込まれる。また、位相カウンタ６２のＣＮＴ端子から出力されている現在の位相を示すカウントも同時にスイッチ６４により選択されているバッファメモリ６５に書き込まれる。
【００７８】
ＬＯＡＤがアクティブになるとＳＥＬの値に従ってスイッチ６３により選択されているバッファメモリ６５から位相と画像データをそれぞれ位相カウンタ６２と補間演算回路６１に出力する。補間演算回路６１はそのＬＯＡＤ端子がアクティブになると、ＬＯＡＤ＿ＤＡＴ端子から画像データを補間演算回路６１に読み込む。位相カウンタ６２はそのＬＯＡＤ端子がアクティブになるとＬＯＡＤ＿ＣＮＴ端子より位相を読み込む。
【００７９】
このように動作する水平拡大・縮小回路１７１、水平位相バッファ２１１、垂直拡大・縮小回路１７２、垂直位相バッファ２１２に対してプロセスＳＳＧ回路７が行う制御を図１４に示す。
図１４において、ＨＳＥＬ、ＨＳＴＯ、ＨＬＯＡＤはそれぞれ水平拡大・縮小回路１７１及び水平位相バッファ２１１のＳＥＬ、ＳＴＯ、ＬＯＡＤであり、ＶＳＥＬ、ＶＳＴＯ、ＶＬＯＡＤはそれぞれ垂直拡大・縮小回路１７２及び垂直位相バッファ２１２のＳＥＬ、ＳＴＯ、ＬＯＡＤの制御信号である。
【００８０】
ＨＬＯＡＤは、各ブロックにおいてラインの先頭の画像データを水平拡大・縮小回路１７１で処理する前にアクティブにし、ＨＳＥＬを現在の画像データのブロック内でライン数と同じ値にする。これによって、水平拡大・縮小回路１７１には、前のブロックの同じラインの最後の画像データと位相が水平位相バッファ２１１から読み込まれる。
【００８１】
ＨＳＴＯは、各ブロックにおいてラインの最後の画像データを水平拡大・縮小回路１７１で処理した後にアクティブにし、ＨＳＥＬを現在の画像データのブロック内でライン数と同じ値にする。これによって、現在のラインの最後の画像データと位相が水平拡大・縮小回路１７１から読み出されて、水平位相バッファ２１１に書き込まれる。
ＶＬＯＡＤは、各ブロックにおいてブロックの最初のラインの画像データを垂直拡大・縮小回路１７２で処理している間にアクティブにし、ＶＳＥＬを処理する画像データのブロック内での水平ピクセル位置をＶＳＥＬにする。これによって、垂直拡大・縮小回路１７２に１ライン前の同じ水平ピクセル位置の画像データが垂直位相バッファ２１２から読み込まれる。
【００８２】
ＶＳＴＯは、各ブロックにおいてブロックの最後のラインの画像データを垂直拡大・縮小回路１７２で処理している間にアクティブになる。ＶＳＥＬを処理する画像データのブロック内での水平ピクセル位置をＶＳＥＬにする。これによって、現在のラインの画像データと位相が垂直拡大・縮小回路１７２から読み出されて、垂直位相バッファ２１２に書き込まれる。
【００８３】
また、水平位相バッファ２１１は、図３においてブロックｐ−１、ブロック２ｐ−１、・・・、ブロックｐｑ−１、つまり画像の水平に対して最後のブロックの拡大／縮小が終了した段階でリセットする。垂直位相バッファ２１２は、図３においてブロックｐｑ−１、つまり１画面に対して最後のブロックの拡大／縮小が終了した段階でリセットする。
【００８４】
以上、説明したようにプロセスＳＳＧ回路７、拡大・縮小回路１７、位相バッファ２１が動作することによって、画像データを分割して処理した場合においても歪みのない拡大／縮小がハードウェアのパイプライン処理で行うことができる。
【００８５】
拡大・縮小回路１７からの出力はラスタ・ブロック変換器１０へ入力される。ラスタ・ブロック変換器１０では、水平方向がＭＣＵの水平サイズの倍数であり、垂直方向がＭＣＵの垂直サイズと同じライン数の画像データに対してラスタ・ブロック変換を行う。このため拡大・縮小回路１７から出力される画像データを拡大／縮小した結果、水平方向がＭＣＵの水平サイズの倍数であり、垂直方向がＭＣＵの垂直サイズと等しい画像が得られるように、領域４−ＣのＨａとＶａを設定する。
【００８６】
また、位相と画像データを保持するために、位相バッファ２１に必要なバッファ容量は、例えば拡大／縮小後の画像が水平１０２４ピクセルであり、１ピクセルが１６ビットで表現され、位相が８ビットで表現されている。ＭＣＵの垂直サイズが８ラインであり、垂直方向に４／５倍の縮小を行っているとすると、水平位相バッファ２１１には、
（１６＋８）×８×５／４＝２４０ビット
垂直位相バッファ２１２には、
（１６＋８）×１０２４＝２４５７６ビット
のバッファ容量が必要である。
【００８７】
図１５は第４の実施の形態を示すもので、第３の実施の形態と異なる点は、スイッチ１９、２０である。
本実施の形態の拡大・縮小回路１７と位相バッファ２１は、図１６に示すように、水平拡大・縮小回路９１、垂直拡大・縮小回路９３、水平位相バッファ９２から構成されている。
【００８８】
ＣＣＤ１が非正方画素である場合は、拡大・縮小回路１７においては水平方向のみ拡大しもしくは縮小を行って正方化を行う。このとき、画像データのブロック分割は第３の実施の形態と同様に行い、ＣＰＵ５はスイッチ１９、２０を'１'に選択する。
【００８９】
この結果、拡大・縮小回路１７からは水平がＭＣＵの水平サイズの倍数で、かつ垂直がＭＣＵの垂直サイズに等しいブロック単位で画像が出力される。拡大・縮小回路１７からの出力はスイッチ１９、２０を通り、ラスタ・ブロック変換器１０に入力され、ラスタ・ブロック変換された後、ＪＰＥＧ圧縮回路１１においてＪＰＥＧ圧縮された後、ＪＰＥＧ圧縮データがＲＡＭ４へ書き込まれる。
【００９０】
画像の正方化だけでなくリサイズも行う場合には、ＣＰＵ５はスイッチ１９、２０を'０'に選択する。またブロックの領域４−Ｃの大きさであるＨａ、Ｖａとしては、Ｈａは、Ｈｂが遅延回路８のバッファ容量が許容する範囲を超えない任意の値とし、Ｖａは、拡大・縮小回路１７においてＭｖ／Ｎｖ倍の拡大もしくは縮小を行うとすると
Ｖａ＝Ｎｖ×ｎ（ｎは自然数）
とする。
【００９１】
この結果、拡大・縮小回路１７においては、第３の実施の形態で説明したように、水平拡大・縮小回路９１の位相の連続性は位相バッファ２１から以前の画像データ及び位相を読み込むことによって達成される。また、垂直拡大・縮小回路９３の位相の連続性はＶａをＮｖの公倍数にすることによって達成される。
【００９２】
拡大・縮小回路１７の出力はスイッチ１９、ＣＰＵバス３を通りＲＡＭ４に書き込まれる。ＲＡＭ４に書き込まれた拡大もしくは縮小された画像データは、ＣＰＵバス３、スイッチ２０を通りラスタ・ブロック変換器１０でラスタ・ブロック変換された後、ＪＰＥＧ圧縮回路１１においてＪＰＥＧ圧縮され、ＪＰＥＧ圧縮データがＲＡＭ４へ書き込まれる。
【図面の簡単な説明】
【００９３】
【図１】第１の実施の形態を示すブロック図である。
【図２】２次元ＤＭＡＣの動作を説明する構成図である。
【図３】信号処理プロセス回路の入力データの分割方法を説明する構成図である。
【図４】各分割領域の有効画像領域を示す構成図である。
【図５】水平方向のブロックの重なりを説明する構成図である。
【図６】垂直方向のブロックの重なりを説明する構成図である。
【図７】信号処理プロセス回路の出力データを説明する構成図である。
【図８】プロセスＳＳＧ回路による信号処理プロセス回路のクロック制御を説明するブロック図である。
【図９】本発明の第２の実施の形態を示すブロック図である。
【図１０】拡大・縮小のときの入出力データの位相関係を示す構成図である。
【図１１】本発明の第３の実施の形態を示す構成図である。
【図１２】拡大・縮小回路と位相バッファの構成を示すブロック図である。
【図１３】拡大・縮小回路と位相バッファの基本構成を示すブロック図である。
【図１４】プロセスＳＳＧからの制御信号の動作を示すタイミングチャートである。
【図１５】本発明の第４の実施の形態を示す構成図である。
【図１６】本発明の第４の実施の形態による拡大・縮小回路と位相バッファの構成を示すブロック図である。
【図１７】従来のデジタルカメラの構成を示すブロック図である。
【図１８】ＲＡＭに格納された画像データを示す構成図である。
【符号の説明】
【００９４】
４  ＲＡＭ
５  ＣＰＵ
７  プロセスＳＳＧ回路
８、１８  遅延回路
９  信号処理プロセス回路
１０  ラスタ・ブロック変換器
１１  ＪＰＥＧ圧縮回路
１４  ＲＯＭ
１６  ２次元ＤＭＡＣ
１７  拡大・縮小回路
１９、２０  スイッチ
２１  位相バッファ
【図１】
2006014357.tif 000003
【図２】
2006014357.tif 000004
【図３】
2006014357.tif 000005
【図４】
2006014357.tif 000006
【図５】
2006014357.tif 000007
【図６】
2006014357.tif 000008
【図７】
2006014357.tif 000009
【図８】
2006014357.tif 000010
【図９】
2006014357.tif 000011
【図１０】
2006014357.tif 000012
【図１１】
2006014357.tif 000013
【図１２】
2006014357.tif 000014
【図１３】
2006014357.tif 000015
【図１４】
2006014357.tif 000016
【図１５】
2006014357.tif 000017
【図１６】
2006014357.tif 000018
【図１７】
2006014357.tif 000019
【図１８】
2006014357.tif 000020