(57)【要約】【課題】  特別な構成や煩雑な演算処理等を必要とせず、簡単な構成で画像処理並びに回転処理を行えるようにした画像処理装置及び画像処理方法を提供する。【解決手段】  画像処理ブロック４−２で画像処理した画像データを記憶するＳＲＡＭ11と、該ＳＲＡＭへ画像データを書き込むときに、回転処理するか否かに応じて異なる書き込み順で書き込むと共に、回転処理に応じてＳＲＡＭの読み出し順序を制御して画像データを並べ替えて読み出すＳＲＡＭＲ／Ｗ制御部12と、ＳＲＡＭから読み出された画像データをＳＤＲＡＭ３に書き込むときに、ＳＲＡＭに記憶された画像データの回転に対応してＳＤＲＡＭの書き込み順序を制御して画像データを並べ替えて書き込むＤＭＡ制御部15とを備えて画像処理装置を構成する。【選択図】        図２
2005102168.tif 000002
【特許請求の範囲】
【請求項１】
画像データを記憶する第１のメモリと、該第１のメモリへ画像データを書き込むときに、画像形成時に回転させた画像とするか否かに応じて異なる書き込み順序で画像データを書き込む第１の書き込み制御手段と、前記第１のメモリから画像データを読み出すときには、前記画像の回転に応じた読み出しアドレス及び読み出し順序で画像データを読み出す第１の読み出し制御手段と、前記第１のメモリから読み出された画像データを記憶する第２のメモリと、前記第１のメモリに記憶された画像の回転に応じた書き込み開始アドレス及び書き込み順序で前記第２のメモリへ画像データを書き込む第２の書き込み制御手段とを有することを特徴とする画像処理装置。
【請求項２】
画像データを記憶する第１のメモリと、画像形成時に回転させた画像とするときには、前記第１のメモリの書き込み開始アドレス及び書き込み順序を制御して画像データを書き込むと共に、前記画像データの回転に応じて前記第１のメモリの読み出し順序を制御して画像データを並べ替えて読み出す第１のメモリ制御手段と、前記第１のメモリから読み出された画像データを前記第１のメモリとは異なる第２のメモリに書き込むときに、前記第１のメモリに記憶された画像データの回転に対応して前記第２のメモリの書き込み順序を制御して画像データを並べ替えて書き込む第２のメモリ制御手段とを有することを特徴とする画像処理装置。
【請求項３】
画像データを分割したブロックデータとして横方向走査から縦方向走査に変える縦横変換した後に画像処理を行い、その処理結果を再度逆縦横変換して横方向走査の画像データとすることができるようにした画像処理装置において、縦横変換して画像処理を行った画像データを記憶する第１のメモリと、該第１のメモリへ画像データを書き込むときに、画像形成時に回転させた画像とするか否かに応じて異なる書き込み順序で画像データを書き込む第１の書き込み制御手段と、前記第１のメモリから画像データを読み出すときには、前記画像の回転に応じた読み出しアドレス及び読み出し順序で画像データを読み出す第１の読み出し制御手段と、前記第１のメモリから読み出された画像データを記憶する第２のメモリと、前記第１のメモリに記憶された画像の回転に応じた書き込み開始アドレス及び書き込み順序で前記第２のメモリへ画像データを書き込む第２の書き込み制御手段とを有することを特徴とする画像処理装置。
【請求項４】
前記第１のメモリは、画像データの一部を記憶するものであり、前記第２のメモリは、画像形成時の全画像データを記憶するものであることを特徴とする請求項１又は３に係る画像処理装置。
【請求項５】
前記第１のメモリはＳＲＡＭからなり、前記第２のメモリはＳＤＲＡＭからなることを特徴とする請求項１又は３に係る画像処理装置。
【請求項６】
前記第１の書き込み制御手段は、画像形成時に画像を回転しないときと回転するときとで、前記第１のメモリへの画像データの書き込み順序が異なるように制御することを特徴とする請求項１又は３に係る画像処理装置。
【請求項７】
前記第１の読み出し制御手段は、画像の回転方向に応じて、前記第１のメモリからの前記画像データの読み出し開始アドレス及び読み出し順序が異なるように制御することを特徴とする請求項１又は３に係る画像処理装置。
【請求項８】
前記第１の読み出し制御手段は、前記画像の回転方向として、一の回転方向に対しては画像形成時に画像を回転しないときと同じ読み出し開始アドレス及び読み出し順序で画像データを読み出し、他の回転方向に対しては画像データの読み出し開始アドレス及び読み出し順序が共に異なるように制御することを特徴とする請求項７に係る画像処理装置。
【請求項９】
前記第２の書き込み制御手段は、画像の回転方向に応じて画像データの書き込み順序が異なるように制御し、前記第１の読み出し制御手段は、画像の回転方向に応じて画像データの読み出し開始アドレス及び読み出し順序が異なるように制御することを特徴とする請求項１又は３に係る画像処理装置。
【請求項１０】
前記第１の読み出し制御手段は、前記画像の回転方向として、一の回転方向に対しては画像形成時に画像を回転しないときと同じ読み出し開始アドレス及び読み出し順序で画像データを読み出し、他の回転方向に対しては画像データの読み出し開始アドレス及び読み出し順序が共に異なるように制御することを特徴とする請求項９に係る画像処理装置。
【請求項１１】
前記第１のメモリ制御手段は、画像形成時に画像を回転しないときと回転するときとで、前記第１のメモリへの画像データの書き込み開始アドレスが同一で且つ書き込み順序が異なるように制御すると共に、画像の回転方向に応じて、前記第１のメモリからの読み出し開始アドレス及び読み出し順序が異なるように制御することを特徴とする請求項２に係る画像処理装置。
【請求項１２】
前記第１の書き込み制御手段は、前記第２のメモリに書き込むデータと同じビット幅のデータを前記第１のメモリから同一サイクルで読み出せるデータ配置に書き込むことを特徴とする請求項１又は３に係る画像処理装置。
【請求項１３】
画像形成時に画像を回転する方向及び角度に係る指示を行う指示手段を更に有し、前記第１の書き込み制御手段、第１の読み出し制御手段、及び第２の書き込み制御手段は、前記指示手段の指示に基づいて前記第１及び第２のメモリの書き込み及び読み出しを制御することを特徴とする請求項１又は３に係る画像処理装置。
【請求項１４】
前記第１のメモリ、第１の書き込み制御手段、第１の読み出し制御手段、及び第２の書き込み制御手段を同一半導体基板上に形成したことを特徴とする請求項１又は３に係る画像処理装置。
【請求項１５】
画像データを、画像形成時に回転させた画像とするか否かに応じて異なる書き込み順序で第１のメモリに書き込み記憶するステップと、前記第１のメモリから前記画像の回転に応じた読み出し開始アドレス及び読み出し順序で画像データを読み出すステップと、前記第１のメモリから読み出された画像データを、前記第１のメモリに書き込み記憶された画像の回転に応じた書き込み開始アドレス及び書き込み順序で第２のメモリへ書き込むステップとを有することを特徴とする画像処理方法。
【請求項１６】
画像データを、第１のデータ長×所定のデータ量からなる第１のデータ単位で読み出し又は書き込みをする第１の記憶手段と、画像形成時に回転させた画像とする場合には、前記第１の記憶手段から読み出された画像データを画像処理することで前記第１のデータ単位とは異なる第２のデータ単位になされた画像データを読み出し又は書き込みをする第２の記憶手段とを有することを特徴とする画像処理装置。
【請求項１７】
画像データを記憶する第１の記憶手段と、前記記憶された画像データを、画像形成時に回転させた画像とするときの画像回転情報に応じて画像データの走査方向を変換した後に画像処理する画像処理手段と、該画像処理手段で画像処理された画像データを書き込むときには、前記画像回転情報に応じたアドレス順に、第１のデータ長×所定のデータ量からなる第１のデータ単位で書き込み、この書き込まれた画像データを読み出すときには、前記画像の回転情報に応じたアドレス順に読み出す第２の記憶手段とを有し、該第２の記憶手段から読み出された画像データを、前記画像の回転情報に応じたアドレス順に前記第１の記憶手段に書き込むことを特徴とする画像処理装置。
【請求項１８】
記憶部に記憶された画像形成に用いる画像データを読み出し、この読み出された画像データの走査方向を変換する走査方向変換手段と、該走査方向変換手段で変換された画像データに対して画像処理をする画像処理手段と、該画像処理手段で処理された画像データを、画像形成時の画像の回転情報に応じて回転された画像データとなるように、読み出し又は書き込みアドレスを制御して画像データを記憶する記憶制御手段とを有することを特徴とする画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、デジタルカメラ等に用いられる画像処理装置及び画像処理方法に関する。
【背景技術】
【０００２】
一般に、ＣＣＤなどの固体撮像素子を用いたデジタルカメラ等においては、固体撮像素子から出力される画像信号に対して種々の画像処理が行われ、画像処理で得られた画像データを表示部に表示したりメモリカード等の記録媒体に記録するようになっている。そして、画像信号の画像処理の中には画像を回転させる処理があり、かかる回転処理による回転画像は、演算処理によるアドレス変換等を行って得られるようになっている。
【０００３】
一方、画像信号に対する各種の画像処理を実行するに際して、１画面の画像処理を行う場合、１フレームの画像データを短冊状に幾つかの小さなブロック画像データ（ブロックラインと称する）に分割し、各ブロックライン毎に順次処理を行うようにして、転送データ量を低減し小容量のメモリを介して複数の画像処理が行えるようにした方式が、例えば特開２０００−３１２３２７号公報に提案されている。
【特許文献１】特開２０００−３１２３２７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、画像処理により回転画像を生成する場合、従来は演算によるアドレス変換を行うなどの煩雑な処理操作を必要とするという問題点があった。また一画面の画像データをブロック画像に分割して各ブロック毎に順次処理を行う上記公報開示の画像処理方式においては、回転画像処理については何も考慮がなされていない。更に、通常は画像処理を行うと画像処理の前後でデータ量が変化する。このため画像処理と回転処理は別々に行わなければならなかった。
【０００５】
本発明は、上記問題点に鑑みてなされたもので、回転画像を得るために、特別な構成や煩雑な演算処理を必要とせず、容易に画像処理及び回転処理が行えるようにした画像処理装置及び画像処理方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するため、請求項１に係る発明は、画像データを記憶する第１のメモリと、該第１のメモリへ画像データを書き込むときに、画像形成時に回転させた画像とするか否かに応じて異なる書き込み順序で画像データを書き込む第１の書き込み制御手段と、前記第１のメモリから画像データを読み出すときには、前記画像の回転に応じた読み出しアドレス及び読み出し順序で画像データを読み出す第１の読み出し制御手段と、前記第１のメモリから読み出された画像データを記憶する第２のメモリと、前記第１のメモリに記憶された画像の回転に応じた書き込み開始アドレス及び書き込み順序で前記第２のメモリへ画像データを書き込む第２の書き込み制御手段とで画像処理装置を構成するものである。
【０００７】
請求項２に係る発明は、画像データを記憶する第１のメモリと、画像形成時に回転させた画像とするときには、前記第１のメモリの書き込み開始アドレス及び書き込み順序を制御して画像データを書き込むと共に、前記画像データの回転に応じて前記第１のメモリの読み出し順序を制御して画像データを並べ替えて読み出す第１のメモリ制御手段と、前記第１のメモリから読み出された画像データを前記第１のメモリとは異なる第２のメモリに書き込むときに、前記第１のメモリに記憶された画像データの回転に対応して前記第２のメモリの書き込み順序を制御して画像データを並べ替えて書き込む第２のメモリ制御手段とで画像処理装置を構成するものである。
【０００８】
請求項３に係る発明は、画像データを分割したブロックデータとして横方向走査から縦方向走査に変える縦横変換した後に画像処理を行い、その処理結果を再度逆縦横変換して横方向走査の画像データとすることができるようにした画像処理装置において、縦横変換して画像処理を行った画像データを記憶する第１のメモリと、該第１のメモリへ画像データを書き込むときに、画像形成時に回転させた画像とするか否かに応じて異なる書き込み順序で画像データを書き込む第１の書き込み制御手段と、前記第１のメモリから画像データを読み出すときには、前記画像の回転に応じた読み出しアドレス及び読み出し順序で画像データを読み出す第１の読み出し制御手段と、前記第１のメモリから読み出された画像データを記憶する第２のメモリと、前記第１のメモリに記憶された画像の回転に応じた書き込み開始アドレス及び書き込み順序で前記第２のメモリへ画像データを書き込む第２の書き込み制御手段とを有することを特徴とするものである。
【０００９】
請求項４に係る発明は、請求項１又は３に係る画像処理装置において、前記第１のメモリは、画像データの一部を記憶するものであり、前記第２のメモリは、画像形成時の全画像データを記憶するものであることを特徴とするものである。
【００１０】
請求項５に係る発明は、請求項１又は３に係る画像処理装置において、前記第１のメモリはＳＲＡＭからなり、前記第２のメモリはＳＤＲＡＭからなることを特徴とするものである。
【００１１】
請求項６に係る発明は、請求項１又は３に係る画像処理装置において、前記第１の書き込み制御手段は、画像形成時に画像を回転しないときと回転するときとで、前記第１のメモリへの画像データの書き込み順序が異なるように制御することを特徴とするものである。
【００１２】
請求項７に係る発明は、請求項１又は３に係る画像処理装置において、前記第１の読み出し制御手段は、画像の回転方向に応じて、前記第１のメモリからの前記画像データの読み出し開始アドレス及び読み出し順序が異なるように制御することを特徴とするものである。
【００１３】
請求項８に係る発明は、請求項７に係る画像処理装置において、前記第１の読み出し制御手段は、前記画像の回転方向として、一の回転方向に対しては画像形成時に画像を回転しないときと同じ読み出し開始アドレス及び読み出し順序で画像データを読み出し、他の回転方向に対しては画像データの読み出し開始アドレス及び読み出し順序が共に異なるように制御することを特徴とするものである。
【００１４】
請求項９に係る発明は、請求項１又は３に係る画像処理装置において、前記第２の書き込み制御手段は、画像の回転方向に応じて画像データの書き込み順序が異なるように制御し、前記第１の読み出し制御手段は、画像の回転方向に応じて画像データの読み出し開始アドレス及び読み出し順序が異なるように制御することを特徴とするものである。
【００１５】
請求項10に係る発明は、請求項９に係る画像処理装置において、前記第１の読み出し制御手段は、前記画像の回転方向として、一の回転方向に対しては画像形成時に画像を回転しないときと同じ読み出し開始アドレス及び読み出し順序で画像データを読み出し、他の回転方向に対しては画像データの読み出し開始アドレス及び読み出し順序が共に異なるように制御することを特徴とするものである。
【００１６】
請求項11に係る発明は、請求項２に係る画像処理装置において、前記第１のメモリ制御手段は、画像形成時に画像を回転しないときと回転するときとで、前記第１のメモリへの画像データの書き込み開始アドレスが同一で且つ書き込み順序が異なるように制御すると共に、画像の回転方向に応じて、前記第１のメモリからの読み出し開始アドレス及び読み出し順序が異なるように制御することを特徴とするものである。
【００１７】
請求項12に係る発明は、請求項１又は３に係る画像処理装置において、前記第１の書き込み制御手段は、前記第２のメモリに書き込むデータと同じビット幅のデータを前記第１のメモリから同一サイクルで読み出せるデータ配置に書き込むことを特徴とするものである。
【００１８】
請求項13に係る発明は、請求項１又は３に係る画像処理装置において、画像形成時に画像を回転する方向及び角度に係る指示を行う指示手段を更に有し、前記第１の書き込み制御手段、第１の読み出し制御手段、及び第２の書き込み制御手段は、前記指示手段の指示に基づいて前記第１及び第２のメモリの書き込み及び読み出しを制御することを特徴とするものである。
【００１９】
請求項14に係る発明は、請求項１又は３に係る画像処理装置において、前記第１のメモリ、第１の書き込み制御手段、第１の読み出し制御手段、及び第２の書き込み制御手段を同一半導体基板上に形成したことを特徴とするものである。
【００２０】
請求項15に係る発明は、画像データを、画像形成時に回転させた画像とするか否かに応じて異なる書き込み順序で第１のメモリに書き込み記憶するステップと、前記第１のメモリから前記画像の回転に応じた読み出し開始アドレス及び読み出し順序で画像データを読み出すステップと、前記第１のメモリから読み出された画像データを、前記第１のメモリに書き込み記憶された画像の回転に応じた書き込み開始アドレス及び書き込み順序で第２のメモリへ書き込むステップとで画像処理方法を構成するものである。
【００２１】
請求項16に係る発明は、画像データを、第１のデータ長×所定のデータ量からなる第１のデータ単位で読み出し又は書き込みをする第１の記憶手段と、画像形成時に回転させた画像とする場合には、前記第１の記憶手段から読み出された画像データを画像処理することで前記第１のデータ単位とは異なる第２のデータ単位になされた画像データを読み出し又は書き込みをする第２の記憶手段とを有して画像処理装置を構成するものである。
【００２２】
請求項17に係る発明は、画像データを記憶する第１の記憶手段と、前記記憶された画像データを、画像形成時に回転させた画像とするときの画像回転情報に応じて画像データの走査方向を変換した後に画像処理する画像処理手段と、該画像処理手段で画像処理された画像データを書き込むときには、前記画像回転情報に応じたアドレス順に、第１のデータ長×所定のデータ量からなる第１のデータ単位で書き込み、この書き込まれた画像データを読み出すときには、前記画像の回転情報に応じたアドレス順に読み出す第２の記憶手段とを有し、該第２の記憶手段から読み出された画像データを、前記画像の回転情報に応じたアドレス順に前記第１の記憶手段に書き込むようにして画像処理装置を構成するものである。
【００２３】
請求項18に係る発明は、記憶部に記憶された画像形成に用いる画像データを読み出し、この読み出された画像データの走査方向を変換する走査方向変換手段と、該走査方向変換手段で変換された画像データに対して画像処理をする画像処理手段と、該画像処理手段で処理された画像データを、画像形成時の画像の回転情報に応じて回転された画像データとなるように、読み出し又は書き込みアドレスを制御して画像データを記憶する記憶制御手段とを有することを特徴とするものである。
【発明の効果】
【００２４】
このように構成された画像処理装置及び画像処理方法によれば、第１のメモリへの書き込みで、画像を回転し、第１のメモリの読み出しで、読み出し開始アドレスと読み出し順序を制御して並べ替えを行い、第２のメモリへの書き込みで、画像の回転に応じた書き込み開始アドレスと書き込み順序で回転した画像が正しく読み出せるように並べ替える。これにより回転なしの通常処理と同じデータアクセスで画像の回転が可能となり、したがって、特別な構成や煩雑な演算処理を行わず、簡単な構成で画像処理及び回転処理を行うことができる。
【発明を実施するための最良の形態】
【００２５】
次に、発明を実施するための最良の形態について説明する。
【実施例】
【００２６】
図１は、本発明に係る画像処理装置の実施例を示す概略ブロック構成図である。この実施例は、本発明に係る画像処理装置を、デジタルカメラに適用したものである。図１において、１はＣＣＤ等の撮像素子、２はプリプロセス部、３はＳＤＲＡＭ、４は画像処理部、５は表示部、６はメモリカード等の記録媒体、７は各部を制御するＣＰＵ、８はＣＰＵ７に対する操作指示部、９はＪＰＥＧ処理部、10はバスである。
【００２７】
まず、このように構成されている画像処理装置の概略的な画像処理手順を説明する。撮像素子１から出力された撮像信号は、プリプロセス部２でゲイン調整やＡ／Ｄ変換等のプリプロセス処理がなされた後、該プリプロセス処理で得られた画像データはＳＤＲＡＭ３に一旦記憶される。次いで、ＳＤＲＡＭ３から画像データを読み出し、画像処理部内の入力ＤＭＡを介して画像処理部４へ入力する。この際、１フレームの画像データを短冊状に幾つかの小さなブロック画像データ（ブロックラインと称する）に分割して、且つ横方向スキャンデータを縦方向スキャンデータに縦横変換して、画像処理部４内で各種の処理が行われる。そして、画像処理後の画像データを画像処理部４内の出力ＤＭＡを介して再びＳＤＲＡＭ３に格納する。この際、縦方向スキャンデータを横方向スキャンデータに逆縦横変換を行うと共に、回転処理が合わせて行われる。画像処理後のＳＤＲＡＭ３に格納された画像データは、バス10を介して表示部５で表示させる。また画像処理後の画像データは、ＪＰＥＧ処理部９でＪＰＥＧ圧縮処理した後、バス10を介して記録媒体６に記録させる。
【００２８】
次に、本実施例において、回転処理動作を実行する構成部分について、図２に基づいて詳細に説明する。図２において、４は図１に示した画像処理部で、入力ＤＭＡ４−１，画像処理ブロック４−２，出力ＤＭＡ４−３で構成されており、３−１はＳＤＲＡＭコントローラで、３は図１に示したＳＤＲＡＭである。そして、出力ＤＭＡ４−３は、画像処理ブロック４−２からのデータを受けるバッファとしてのＳＲＡＭ11と、ＳＲＡＭ11の読み出し／書き込みを制御するＲ／Ｗ制御部12と、ＳＤＲＡＭコントローラ３−１へデータを出力するためのＳＤＲＡＭコントローラＩ／Ｆ13と、ＳＤＲＡＭ３へ書き込みアドレスを生成するアドレスカウンタ14と、ＳＤＲＡＭコントローラＩ／Ｆを制御するＤＭＡ制御部15とで構成されている。
【００２９】
なお、上記出力ＤＭＡ４−３を構成する各構成部材は同一半導体基板に一体的に形成されており、更にこの出力ＤＭＡ４−３を含む画像処理部４全体を同一半導体基板上に一体的に形成することもできる。また、出力ＤＭＡ４−３を含む画像処理部４の動作は、指示部８の指示に基づくＣＰＵ７からの制御信号により制御されるようになっており、指示部８からは回転処理をする場合の回転方向及び回転角度などを指示できるようになっている。また、画像処理部４で処理された画像データをＪＰＥＧ処理部９へ直接受け渡すことも可能になされている。そして、ＪＰＥＧ圧縮後にバス10を経由して記録媒体６に画像データを記録する。なお、このＪＰＥＧ処理部９を含めて画像処理部としてもよい。
【００３０】
次に、このように構成されている画像処理部４による回転動作を含む画像処理動作の概念を、図３に基づいて説明する。なお、ここで画像の回転処理とは、任意の角度の回転ではなく、90°の倍数の回転処理を指し、具体的には左右の回転方向へ90°回転させる処理である。図３において、21はＳＤＲＡＭ３上に格納されている画像データを示し、この画像データ21はブロックライン毎に入力ＤＭＡ４−１を介して画像処理ブロック４−２に対して読み出される。その際、画像データは入力ＤＭＡ４−１において縦横変換されて、画像処理ブロック４−２で各種の画像処理が行われる。図３のＳＤＲＡＭ３上の画像データ21において、Ａ，Ｂ，Ｃはブロックラインに対応している。一方、矢印は画像データの並び方の向きを示しているのではなく、ＳＤＲＡＭ３上に格納している画素データを矢印→の順序で読み出してきて、画像処理ブロック４−２で処理して矢印→の順序で、出力ＤＭＡ４−３へ出力するという意味である。すなわち、横方向スキャン画像データ21を縦方向スキャン画像データ22に縦横変換して画像処理を行い、出力ＤＭＡ４−３へ出力する。
【００３１】
回転処理を伴わない通常の画像処理では、図３の画像データ21から画像データ22に示すように、縦横変換され縦方向にスキャンされた画像データに対して画像処理を行う。そして、画像処理後のデータを出力ＤＭＡ４−３を介して、図３の画像データ23に示すように、再度縦横変換（逆変換）を行って横方向スキャンデータに直して、ＳＤＲＡＭ３へ格納する。
【００３２】
このような順序で読み出し入力された画像データを画像処理部４で画像処理していくと、画像処理ブロック４−２が複数段のイメージプロセス回路から構成されている場合、最終段のイメージプロセス回路から所望の画像として扱えるデータが出てくるように処理することができる。
【００３３】
ところで、このように列方向にある一定長さのデータを繰り返し行方向へ読み出す際、すなわち横方向スキャンデータをＳＤＲＡＭ３から読み出す際には、読み出すデータを一部重複して読み出される。これは次の理由による。すなわち、画像処理部４のイメージプロセス回路で空間的な画像処理を実行していく場合、入力されたデータと出力されるデータとの間においてデータ数に不一致が生じる。例えば空間的フィルタ処理をする場合、出力したい処理データを得るためには、処理すべきデータの周囲の何点かのデータを用いて算出処理する必要があり、したがって出力データの他に周りの処理計算に要する余分のデータが必要となる。複数段のイメージプロセス処理を行う場合は、上記のような処理が連続的に行われるので、順次処理が行われると段々と入力されたデータより小さな領域のデータが出力されていくことになる。したがって、最終段のイメージプロセス回路から完全な１フレーム分の画像データを出力させるためには、初段のイメージプロセス回路への入力データは一部重複して読み出されたデータでなければならないことになる。
【００３４】
この態様の一例を図４に示す。この図示の態様は、画像処理ブロック４−２を３段の第１〜第３のイメージプロセス回路４−２−１，４−２−２，４−２−３で構成している場合における、各段のイメージプロセス回路の出力を示す図である。つまり、最終的な画像データに必要なデータだけ残るように、前段の各イメージプロセス回路の入力データ幅を予め設定してやることになる。なお、図４は、反時計回り90°の回転処理を伴う画像処理の態様を示している。
【００３５】
このようにイメージプロセス回路で空間的な画像処理をする場合、処理上必要とされる周辺データ（のり代）を、出力されるべきデータに加えて入力させる必要がある。そのため、処理上必要とされる周辺データ分、すなわち列方向のある一定長さのデータに対して、両端の処理上必要とされる出力データに付加されているデータ分を重複させて読み出す必要がある。なお、行方向における処理上必要とされる周辺データは、各行方向読み出し入力の両端に付加されるだけである。
【００３６】
次に、フレームメモリ（ＳＤＲＡＭ３）からの読み出しについて更に詳細に説明する。フレームメモリからの読み出しは、図４に示すような読み出し方を行う。これはフレームメモリとしてＳＤＲＡＭを用いた場合を想定しており、ＳＤＲＡＭにおいては特性上高速に読み出すためにバースト転送読み出しを行うようにしている。なお、ＳＤＲＡＭの転送単位で示したデータ長の各列方向の繰り返しのデータは、バースト転送読み出しにおけるバースト長さを示している。
【００３７】
次に、フレームメモリ（ＳＤＲＡＭ３）から入力ＤＭＡ４−１を介して初段の第１のイメージプロセス回路４−２−１へのデータ転送について、図５の（Ａ），（Ｂ）及び図６に基づいて説明する。このデータ転送においては、フレームメモリ（ＳＤＲＡＭ３）においてバースト転送読み出しにより行方向に読み出したデータを、入力ＤＭＡ４−１において縦（列）方向に並べ替えて、第１のイメージプロセス回路４−２−１へ入力させる必要がある。そのため、バースト長（＝ＳＤＲＡＭの転送単位）×初段入力データ幅（入力ＤＭＡ４−１で読み込む垂直方向の画素数＝第１のイメージプロセス回路４−２−１への垂直方向画素数）で、図５の（Ａ）で示すように、フレームメモリ（ＳＤＲＡＭ３）から読み出したデータを、図５の（Ｂ）に示すように、入力ＤＭＡ４−１のＳＲＡＭに書き込むようにする。ここで、図５の（Ａ）における丸数字はＳＤＲＡＭ３からのバースト転送読み出し順を示し、図５の（Ｂ）における丸数字は入力ＤＭＡ４−１のＳＲＡＭへの書き込み順を示している。次に、入力ＤＭＡ４−１のＳＲＡＭからは、図６に示す数字順に縦（列）方向にデータを読み出し、第１のイメージプロセス回路４−２−１へ入力する。そして、第１のイメージプロセス回路４−２−１の各縦（列）方向の処理データは第２のイメージプロセス回路４−２−２へ入力をするようにしている。
【００３８】
その後、第２のイメージプロセス回路４−２−２における処理を行った後に、最終段の第３のイメージプロセス回路４−２−３から出力されたデータを、出力ＤＭＡ４−３を介して、図３の画像データ23に示すように再度縦横変換（逆変換）を行って横方向スキャンデータに直し、ＳＤＲＡＭ３へ格納する。
【００３９】
ここで画像回転を行わない場合、出力ＤＭＡ４−３のＳＲＡＭに、バースト長×初段入力データ幅、のデータが格納された時点で、フレームメモリ（ＳＤＲＡＭ３）へデータを転送する。これは、縦横変換を行うためには水平方向にバースト長分のデータが、出力ＤＭＡ４−３のＳＲＡＭ内に必要なためである。一方、回転処理を行う場合は、出力ＤＭＡ４−３のＳＲＡＭに、Ｎ×バースト長、のデータが格納された時点で、転送を行う。ここで、Ｎは出力ＤＭＡ４−３のＳＲＡＭ容量の許す範囲で任意に設定することが可能であり、例えばＮ＝４の場合４ライン単位に画像回転処理を行うことができる。出力ＤＭＡ４−３からフレームメモリ（ＳＤＲＡＭ３）へのデータ転送では、画像回転の有無に応じてフレームメモリ（ＳＤＲＡＭ３）のアドレシング方法を変えてデータ転送を行う。
【００４０】
次に、出力ＤＭＡ４−３のＳＲＡＭへのデータ書き込みとデータの読み出しにおけるデータの流れ（走査方向）の詳細な説明を、図７の（Ａ），（Ｂ）に基づいて行う。図７の（Ａ）は回転なしの場合のデータの流れを示し、図７の（Ｂ）は回転させる場合のデータの流れを示す。出力ＤＭＡ４−３におけるＳＲＡＭとしては、実際には、２つのＳＲＡＭ−Ａ，ＳＲＡＭ−Ｂを用い、この２つのＳＲＡＭ−Ａ，ＳＲＡＭ−Ｂをその前後段に設けた２つの切り換えスイッチＳＷ−Ａ，ＳＷ−Ｂにより交互に切り換えて（バタフライ動作）、データを入出力させるように構成している。
【００４１】
そして、図７の（Ａ）に示すように回転なしの場合は、ＳＲＡＭ−Ａに最終段のイメージプロセス回路からの縦方向スキャンデータを、そのまま縦方向に書き込み、ＳＲＡＭ−Ｂからは縦方向に書き込まれデータを横方向に読み出し出力するようにする。一方、図７の（Ｂ）に示すように回転させる場合は、ＳＲＡＭ−Ａに最終段のイメージプロセス回路からの縦方向スキャンデータを、横方向に並べ換えて書き込み、ＳＲＡＭ−Ｂからは横方向に書き込まれたデータを、そのまま横方向に読み出しフレームメモリに転送する。但し、この場合、後で詳述するように、回転方向によりフレームメモリのアドレッシング方法は変えるようにしている。
【００４２】
このように、本願発明では画像の回転を要しない場合も、画像処理に適したデータ単位で一旦横縦変換したデータを用いて画像処理を行うことで、画像処理を行いつつ必要なデータ量の画像データが得られる。よって、再度フレームメモリ（ＳＤＲＡＭ３）に記憶したときには、画像処理と画像の回転とが行われた画像が簡単に得られる。
【００４３】
次に、図３に再び戻って回転処理する場合の態様について説明する。左側又は右側に90°回転してＳＤＲＡＭ３へ格納する回転処理をする場合は、画像処理ブロック４−２による画像処理後の縦方向にスキャンされた画像データ22は、横方向にスキャンされた画像データとして出力ＤＭＡ４−３のＳＲＡＭ11に書き込む。そして、ＳＲＡＭ11から読み出す際は、図３の画像データ24（左90°回転）又は画像データ25（右90°回転）に示すように、同じく横方向スキャンデータとして読み出す。これにより、回転した形態でＳＤＲＡＭ３に画像データが転送格納される。
【００４４】
次に、上記回転を伴う画像処理動作を、図８の（Ａ）〜（Ｃ）に基づいて更に詳細に説明する。まず、画像処理において、上記のように縦横変換を行う理由について説明する。ＳＤＲＡＭからデータを読み出したり書き込んだりする際は、バースト転送が用いられており、これはＳＤＲＡＭに対するバンド幅を大にして転送効率を上げるためである。すなわち、ＳＤＲＡＭのあるアドレスから横方向にあるまとまったデータを一度に読み出す制御をしており、したがって、ＳＤＲＡＭに対して読み書きする場合、横方向に書き込まなければならないという制約がある。一方、圧縮処理等でブロック単位で処理を行う場合、縦方向にスキャンさせたデータとするのが好ましいので、画像処理においては分割ブロックの画像データの縦横変換を必要とする。
【００４５】
回転処理を行わない通常の処理動作の場合は、出力ＤＭＡ４−３のＳＲＡＭ11へ入力される画像処理済みの縦方向スキャンデータは、図８の（Ａ）に示すようにＳＲＡＭ11にそのまま縦方向に格納して行く。なお図８の（Ａ）〜（Ｃ）において、縦縞は、ＳＲＡＭ11のアドレスの配列方向とする。ＳＲＡＭ11から画像データを読み出すときは、図８の（Ｂ）に示すように、横方向に読み出す。このＳＲＡＭ11への書き込み（格納）と読み出しにより、縦横変換（逆変換）が行われることになる。そして、ＳＤＲＡＭコントローラ３−１に画像データを渡すと、出力ＤＭＡ４−３に対して縦方向にスキャンされた態様で入力された画像データが、再び横方向にスキャンされた元のデータ配列となって、ＳＤＲＡＭ３に格納される。
【００４６】
一方、回転処理する場合は、出力ＤＭＡ４−３のＳＲＡＭ11へ入力される画像処理済みの縦方向スキャンデータは、図８の（Ｃ）に示すようにＳＲＡＭ11に対して横方向スキャン態様で書き込まれる。そして、ＳＲＡＭ11から読み出す際は、図８の（Ｂ）に示すように、回転なしの場合と同じく横方向スキャン態様で読み出す。これにより回転した形態でＳＤＲＡＭ３に転送される。
【００４７】
次に、更に具体的な回転処理を含む画像処理態様について説明する。まず回転処理をしない場合の具体的な処理手順について説明する。図９の（Ａ）は、ＳＤＲＡＭ３上の多数の画素データからなる画像データの配列態様を示す。このＳＤＲＡＭ３の画像データは、画像処理部４の入力ＤＭＡ４−１で縦横変換されて縦方向スキャンデータに変換され、画像処理ブロック４−２で各種画像処理を受けた後、出力ＤＭＡ４−３のＳＲＡＭ11へ図９の（Ｂ）に示すような態様で書き込まれる。すなわち、図９の（Ｂ）に示すように、ＳＲＡＭ11は、ここではＡ，Ｂ，Ｃ，Ｄの４枚のメモリから構成されており、これらの各メモリに付されている数字は、画像データを構成する各画素データの格納順を示している。そして、メモリＡには、１から８までの１ラインの画素データを書き込み、メモリＢには９から16までの１ラインの画素データを、メモリＣには17から24までの１ラインの画素データを、メモリＤには25から32までの１ラインの画素データを、再び最初のメモリＡに33から40までの１ラインの画素データを書き込むというように、ここでは全部で16ライン分のデータを書き込み格納する態様を示している。
【００４８】
次に、このように画像データを格納したＳＲＡＭ11からの画像データの読み出し手順を、図10に基づいて説明する。図10において、数字は図９の（Ｂ）に示した画像データを格納したＳＲＡＭ11からの読み出し順番を示し、その番号順で画素データを読み出す。すなわち、ここでは、４つのメモリＡ〜Ｄの番号“１”に対応する位置の４つの画素データを同時に読み出す。この場合は、１，９，17，29の画素データを同時に読み出すことになる。このような読み出し手法をとる理由は、１画素データを８ビットとすると、ＳＤＲＡＭに対するバス幅は通常32ビットとしているので、一度に４画素を読み出すとデータビット数は32ビットとなり、データビット数がＳＤＲＡＭのバス幅に対応することになるからである。
【００４９】
このように番号順に４画素を同時に読み出す手法を用いると、図10において番号“１”の位置の次に番号“２”，“３”，“４”の位置の画素データを順次読み出すと、１，９，17，25，33，41，49，57，65，73，81，89，97，105 ，113 ，121 の各画素データを順次読み出すことになる。これらの画素データは、図９の（Ａ）で示すＳＤＲＡＭ上の１行目の水平横方向１ラインの画素データに対応していることがわかる。これにより、ＳＤＲＡＭ３から画像データを読み出し縦横変換して画像処理を行い、回転させずに、再び逆縦横変換してＳＤＲＡＭ３に格納することができる。
【００５０】
次に、回転処理を行ってＳＤＲＡＭに格納する具体的な処理手順について説明する。図11の（Ａ）は、回転処理を行う場合のＳＤＲＡＭ３上の多数の画素データからなる画像データの配列態様を示す。回転処理を行う場合は、図９の（Ｂ）に示した回転処理をしない場合とは異なる順番、すなわち図11の（Ｂ）に示す順番で、画素データをＳＲＡＭ11に格納する。つまり、メモリＡ〜Ｄの４つの各メモリに対して横方向スキャン態様で書き込んで行く。
【００５１】
そして、左90°回転処理の場合は、図10に示した回転なしの処理の場合と同様に、図12の（Ａ）に示す数字の順番で、メモリＡ〜Ｄの４画素ずつまとめて読み出す。これにより、第１〜第４番目の位置の画素データを順次読み出すことにより、１，２，３，４，５，６，７，８，９，10，11，12，13，14，15，16の各画素データを読み出すことになる。これらの画素データは、図11の（Ａ）で示すＳＤＲＡＭ上の縦方向（列方向）の１ラインの画素データに対応していることがわかる。この縦方向に順次読み出される画素データを、水平方向に出力して行くことにより、左90°回転した画像が得られる。この点については、次のＳＤＲＡＭのアドレス発生の説明において詳述する。
【００５２】
次に、ＳＤＲＡＭのアドレス発生について説明する。まず回転なしの通常の処理の場合におけるＳＤＲＡＭ上のアドレスの発生順は、図13の（Ａ）の数字順で示すようになる。各アドレスには１バースト転送に係る16画素のデータが格納されることを意味している。このようなアドレスを出力ＤＭＡ４−３のアドレスカウンタ14から順次出力させ、ＳＤＲＡＭコントローラＩ／Ｆ13を介してＳＤＲＡＭ３への書き込みを制御することにより、回転を伴わずに画像処理済みの画像データがＳＤＲＡＭ３へ格納される。
【００５３】
左90°回転処理の場合は、図13の（Ｂ）に示すようなアドレス発生順となり、このアドレスをＳＤＲＡＭ３の下の領域から順に配置する。図13の（Ｂ）に示す各アドレスには16画素のデータ、つまり最下位のアドレス“１”には１〜16番目の画素データが格納される。このようなアドレス生成順でＳＤＲＡＭ３への書き込みを制御することにより、図11の（Ａ）に示したＳＤＲＡＭの画素配列を左90°回転させた状態になり、左90°回転させた画像を生成することができる。
【００５４】
次に、右90°回転処理手順について説明する。ＳＲＡＭ11への書き込みは、図11の（Ａ），（Ｂ）に示した左90°回転処理の場合と同様な書き込み順で行われる。ＳＲＡＭ11からの読み出しは、図12の（Ａ）に示した左90°回転処理の場合とは２段階的に異なる。すなわち、まず読み出し順は、図12の（Ｂ）に示すように、図12の（Ａ）に示した左90°回転処理の場合とは逆に、後方から前方へ向けて順次読み出す形態をとる。更に１回の読み出しで４つのメモリＡ〜Ｄの４画素データを読み出すこと自体は、左90°回転処理の場合と同じであるが、１回で読み出す４画素の読み出し順は、左90°回転処理の場合の読み出し順を反転させた状態にしている。これにより、第１〜第４番目の位置の読み出しにより、16，15，14，13，12，11，10，9 ，８，７，６，５，４，３，２，１の順で画素データが読み出されることになり、この順でＳＤＲＡＭ３へ出力される。このように出力される画素データをＳＤＲＡＭ３に書き込むためのアドレス生成順は、左90°回転処理の場合とは異ならせる必要がある。すなわち、上記の順でＳＲＡＭから読み出されるデータは、図13の（Ｃ）に示すようなアドレス生成順で、ＳＤＲＡＭ３の上方から順に格納される。このようなアドレス生成順でＳＤＲＡＭ３へ書き込みを制御することにより、図11の（Ａ）に示したＳＤＲＡＭの画素配列を右90°回転させた態様になり、右90°回転させた画像が得られる。
【図面の簡単な説明】
【００５５】
【図１】本発明に係る画像処理装置の実施例を示す概略ブロック構成図である。
【図２】図１に示した実施例の画像処理部の構成を示すブロック構成図である。
【図３】図２に示した画像処理部における回転処理を説明するための概念図である。
【図４】画像処理部の画像処理ブロックにおいて、複数段のイメージプロセス回路で処理を行う場合における、各イメージプロセス回路への入力画像データの態様を示す説明図である。
【図５】画像処理部において、フレームメモリ（ＳＤＲＡＭ）から入力ＤＭＡのＳＲＡＭへのデータ書き込み態様を示す説明図である。
【図６】入力ＤＭＡのＳＲＡＭからのデータ読み出し態様を示す説明図である。
【図７】出力ＤＭＡのＳＲＡＭにおけるデータの入出力態様を示す説明図である。
【図８】図２に示した画像処理部において、出力ＤＭＡのＳＲＡＭへの書き込み読み出し態様を示す説明図である。
【図９】本実施例において、回転なしの処理時におけるＳＤＲＡＭ上の画素データ配列と、ＳＲＡＭへの書き込み態様を示す図である。
【図１０】回転なしの処理時におけるＳＲＡＭからの読み出し態様を示す説明図である。
【図１１】回転処理時におけるＳＤＲＡＭ上の画素データの配列と、ＳＲＡＭへの書き込み態様を示す図である。
【図１２】回転処理時におけるＳＲＡＭからの読み出し態様を示す説明図である。
【図１３】ＳＤＲＡＭへの書き込み時におけるアドレス生成順を示す図である。
【符号の説明】
【００５６】
１  撮像素子
２  プリプロセス部
３  ＳＤＲＡＭ
３−１  ＳＤＲＡＭコントローラ
４  画像処理部
４−１  入力ＤＭＡ
４−２  画像処理ブロック
４−２−１  第１のイメージプロセス回路
４−２−２  第２のイメージプロセス回路
４−２−３  第３のイメージプロセス回路
４−３  出力ＤＭＡ
５  表示部
６  記録媒体
７  ＣＰＵ
８  指示部
９  ＪＰＥＧ処理部
10  バス
11  ＳＲＡＭ
12  ＳＲＡＭＲ／Ｗ制御部
13  ＳＤＲＡＭコントローラＩ／Ｆ
14  アドレスカウンタ
15  ＤＭＡ制御部
【図１】
2005102168.tif 000003
【図２】
2005102168.tif 000004
【図３】
2005102168.tif 000005
【図４】
2005102168.tif 000006
【図５】
2005102168.tif 000007
【図６】
2005102168.tif 000008
【図７】
2005102168.tif 000009
【図８】
2005102168.tif 000010
【図９】
2005102168.tif 000011
【図１０】
2005102168.tif 000012
【図１１】
2005102168.tif 000013
【図１２】
2005102168.tif 000014
【図１３】
2005102168.tif 000015