以下、この発明の実施の形態を図面に基づいて説明する。
<1.第1の実施の形態>
図1はこの発明の一の実施の形態に係るディジタルスチルカメラを示す図である。このディジタルスチルカメラは、図1の如く、CCD(撮像素子)21で撮像した画像をアナログ信号処理回路22で取り込んでA/D変換し、このディジタル化された画像についての画素補間、色変換、輪郭強調処理、フィルタリング及び間引き処理等の所定の一般画像処理をリアルタイムプロセッシングユニット(RPU)23でリアルタイム処理(実時間処理)にて高速に実行すると共に、回転、鏡映、色配列変換、JPEG圧縮処理等を含む例外的画像処理をCPU(中央制御部)24および本発明の信号処理回路に相当するコプロセッサ25で実行した後、外部インターフェース(I/F)26を通じて所定の処理装置(パーソナルコンピュータ)等に出力し、併せて、当該画像をディスプレイ駆動回路27aを通じてファインダーとしてのLCD27に表示し、またDRAMまたはSDRAM等の一般的な主メモリ29等に格納するようになっている。この際、ファインダー(LCD27)への画像供給に関しては若干の解像度を落とすなどの所定の処理をリアルタイムプロセッシングユニット23で行った後、次々と画像を出力することで、ファインダー27での画像表示を行うが、操作部28における図示しない撮像釦等が操作者によって押操作されたときには、主メモリ29内の詳細な画像をメモリカード30等の記録装置(Storage Media)に一気に格納するようになっている。
そして、アナログ信号処理回路22を通じて与えられた画像については、リアルタイム処理を行う場合は途中の画素配列データを主メモリ29に蓄えずにRPU23で直接的に処理を行う一方、リアルタイム処理を行わない場合には、操作者の操作部28を通じての各種画像処理命令(後述する右回転命令および左回転命令を含む)により上記の回転、鏡映、色配列変換、JPEG圧縮処理等の処理がCPU24およびコプロセッサ25で施されて一旦主メモリ29の図示しないCCDデータバッファ(CCD Data Buffer)に画素配列データとして蓄えられ、その画素配列データを再度ダイレクトメモリアクセス(DMA)でリアルタイムプロセッシングユニット23に入力してやることで、高速に処理を行うようになっている。ここで、CPU24は内部に32ビット長のレジスタを有し、32ビット(1ワード)単位でデータ処理を行うものとなっているとともに、上記のリアルタイムに行わない処理のうち、回転、鏡映、色配列変換処理についてはCPU24におけるソフトウェアによる処理ではなく、後に詳述するこれらの処理専用の回路を備えるコプロセッサ25によって高速かつ低消費電力に行われる。
また、リアルタイムプロセッシングユニット23、CPU24、外部インターフェース26等は、主メモリ29、メモリカード30及びJPEG処理部31とともにメインバスMBにバス接続されており、これらのデータ相互の受け渡しに際してCPU24の負荷を低減すべく、このCPU24を介さずにダイレクトメモリアクセス(DMA)コントローラ32の制御に基づいて各要素間のメインバスMBを通じたデータの授受を行っている。
なお、図1中の符号30aはオートフォーカス機能付きのレンズや絞り機構等を有する光学機構、符号30bはストロボ、符号30cはCCD21を駆動するCCD駆動回路、符号30dはリアルタイムプロセッシングユニット23及びCCD駆動回路30c等の動作タイミングを規律するためのタイミングジェネレータ(TG)、符号30eはPLL発信回路をそれぞれ示している。
つぎに、この発明の主要部であるコプロセッサ25について説明する。図2は第1の実施の形態におけるコプロセッサ25のレジスタグループおよびそれらにおけるレジスタ間の接続を示す図である。図示のようにこのコプロセッサ25は、この発明の記憶手段に相当するレジスタグループRG1〜RG3を備えている。そして、各レジスタグループはそれぞれ4つの記憶素子に相当するレジスタを備えている。すなわち、レジスタグループRG1〜RG3はそれぞれレジスタR1〜R4を備えている。さらに、各レジスタR1〜R4はそれぞれ32ビットすなわち1ワード(4バイト)のレジスタである。
そして、このディジタルカメラでは画素単位の画像データは8ビット(1バイト)で表わされた単色の階調信号であり、各レジスタは第0〜第3バイトB3に8ビット(1バイト)ずつ、すなわち、レジスタ内の各ビットを第0ビット〜第31ビットと呼ぶとき、第0〜第7ビット、第8〜第15ビット、第16〜第23ビットおよび第24〜第31ビットをそれぞれ第0バイトB0、第1バイトB1、第2バイトB2および第3バイトB3と呼び、それら各バイトに1画素ずつ画像データ(この発明の単位画像信号に相当)が読み込まれる。すなわち、各レジスタグループRG1〜RG3それぞれの各レジスタR1〜R4内において、単位となる1画素の画像データと同じビット数の領域に各画素の画像データが記憶されるようになっている。
なお、各レジスタグループRG1〜RG3それぞれの各レジスタR1〜R4は、CPU24から画像データを読み込んだり、逆にCPU24に出力したりするために、それぞれ直接CPU24に電気的に接続されている。これによりレジスタグループRG1〜RG3の各レジスタR1〜R4の各バイトB0〜B3はCPU24を介して間接的に主メモリ29に接続されている。
また、レジスタグループRG1とRG2およびRG2とRG3の各レジスタR1〜R4の第0〜第3バイトB3は以下に示すように互いに所定の接続線で電気的に直接接続されている。すなわち、レジスタグループRG1のすべてのレジスタの第0バイトB0がレジスタグループRG2のレジスタR4の第0バイトB0から第3バイトB3に接続され、レジスタグループRG1のすべてのレジスタの第1バイトB1がレジスタグループRG2のレジスタR3の第0バイトB0から第3バイトB3に接続され、レジスタグループRG1のすべてのレジスタの第2バイトB2がレジスタグループRG2のレジスタR2の第0バイトB0から第3バイトB3に接続され、レジスタグループRG1のすべてのレジスタの第3バイトB3がレジスタグループRG2のレジスタR1の第0バイトB0から第3バイトB3に接続されている。また、レジスタグループRG2のレジスタR1の第0バイトB0から第3バイトB3がそれぞれレジスタグループRG3のレジスタR1の第3バイトB3から第0バイトB0に接続され、レジスタグループRG2のレジスタR2の第0バイトB0から第3バイトB3がそれぞれレジスタグループRG3のレジスタR2の第3バイトB3から第0バイトB0に接続され、レジスタグループRG2のレジスタR3の第0バイトB0から第3バイトB3がそれぞれレジスタグループRG3のレジスタR3の第3バイトB3から第0バイトB0に接続され、レジスタグループRG2のレジスタR4の第0バイトB0から第3バイトB3がそれぞれレジスタグループRG3のレジスタR4の第3バイトB3から第0バイトB0に接続されている。
このように各レジスタグループは接続されているため、以下に示すように、各レジスタグループ間で画像データを転送することにより、画像に対して右90゜回転、左90゜回転および画像について左右方向(水平方向)の鏡映といった画像処理を高速に行うものとなっている。
図3は第1の実施の形態におけるコプロセッサ25による回転処理を説明するための図であり、図3(a)〜(c)は右90゜回転の様子を示す図、図3(d)〜図3(f)は左90゜回転の様子を示す図である。まず、主メモリ29に図3(a)のように記憶された4ワードの画像データがCPU24を介してレジスタグループRG2に図3(b)のように読み込まれる。すなわち、レジスタグループRG2のレジスタR1〜R4の各バイトB0〜B3は図示しないが、CPU24を介して主メモリと、画像データが上下方向(垂直方向)に鏡映するように接続されている。そして、レジスタグループRG2の画像データはレジスタグループRG1に図3(c)のように転送される。この図3(a)と(c)とを比較すると4ワード分の画像が右に90゜回転していることが分かる。そして、レジスタグループRG1から画像データを出力すると右に90゜回転した画像データが得られるのである。
同様に、主メモリ29に図3(d)のように記憶された4ワードの画像データがCPU24を介してレジスタグループRG3に図3(e)のように読み込まれ、レジスタグループRG2を介してレジスタグループRG1に転送され、図3(f)のような配列になる。この図3(e)および(f)を比較すると4ワード分の画像が左に90゜回転していることが分かる。そして、レジスタグループRG1から画像データを出力すると左に90゜回転した画像データが得られるのである。
図4は第1の実施の形態におけるコプロセッサ25による鏡映処理を説明するための図である。まず、主メモリに図4(a)のように記憶された4ワードの画像データがレジスタグループRG3に図4(b)のように読み込まれ、レジスタグループRG2に図4(c)のように転送される。この図4(a)と(c)とを比較すると4ワード分の画像が縦方向の中心線CL(各レジスタの第1バイトB1と第2バイトB2を貫く線)を軸として左右方向に鏡映していることが分かる。そして、レジスタグループRG2から画像データを出力すると左右方向に鏡映した画像が得られるのである。
なお、図1から分かるように各レジスタグループの各レジスタの各バイトからは接続線が1本ずつ出ている。すなわち、1つのレジスタグループの1つのレジスタの各バイトは接続線に接続されることによって他のレジスタグループの1つのレジスタに対応して、すべて、一対一対応している。これにより、レジスタグループRG1〜RG3のうちのいずれの2つのレジスタグループ間の画像データの転送も可逆である。したがって、レジスタグループRG2からレジスタグループRG1への転送も、レジスタグループRG3からレジスタグループRG2への転送も行うことができ、さらには、レジスタグループRG3からレジスタグループRG2を介したレジスタグループRG1への転送も行うことができる。これによって、それぞれ、上述の変換の逆変換、すなわち、レジスタグループRG2からレジスタグループRG1への転送によって左90゜回転を、レジスタグループRG2からレジスタグループRG3への転送によっても中心線CLを軸とした鏡映を、レジスタグループRG3からレジスタグループRG2を介したレジスタグループRG1への転送によって右90゜回転を行うことができる。
さらに、上下方向の鏡映、すなわち、各レジスタグループRGのレジスタR2とR3との間に当たる画像中の水平方向の直線を対称軸として鏡映を行う場合は、回路構成によって実現する場合と速度的に大差ないので、CPU24においてソフトウェアで実現している。なお、このような上下方向の鏡映についても2つのレジスタグループ間を所定の接続線で電気的に接続して、それらレジスタグループ間で画像データを転送することによって容易に実現することができる。
また、このコプロセッサ25では画素単位でまとめられた色を構成する複数の成分を有する画像データを、成分単位で複数の画素の画像データを合併した画像データにしたり、逆に、合併された画像データを複数の成分を有する画素単位の画像データに分離したりすることができる。
図5は第1の実施の形態による色データの合併および分離の様子を説明するための図である。2画素が32ビットで表わされる複合画素データとその複合画素データの後述する単位色配列における各成分ごとの32ビットの画像データとの間でデータ形式を変換する色データの合併や分離を示している。ここで扱う複合画素データとは、単位となる2画素を表現する32ビットのカラー画像データであって、色を表わす1群の複数の成分の単位となる配列である単位色配列を有し、その単位色配列が1つの輝度成分(Y成分)と水平または垂直方向における配置の周波数が輝度成分の1/2(データ数が半分)である2つの色成分とからなるものである。第1の実施の形態では、水平方向に各成分が配列される形式の単位画素データを用いており、2画素を表現する画像データとして8ビットからなるY成分が2画素分と、それら2画素に共通のそれぞれ8ビットからなるCy成分(青成分から輝度成分を引いた色差信号)およびCb成分(赤成分から輝度成分を引いた色差信号)とを併せて32ビットの複合画素データとしている。そして、このような複合画素データを各成分ごとにまとめた32ビットの画像データに変換するのである。
なお、この色を構成する成分の合併および分離処理では上記複合画素データを各レジスタグループRG2およびRG1それぞれの各レジスタR1〜R4に記憶するものとなっている。すなわち、各レジスタグループRG1,RG2それぞれの各レジスタR1〜R4内において、この発明の単位画像信号に相当する単位となる1つの成分の画像データ(この例ではYまたはCbまたはCr成分)と同じビット数の記憶領域(第0〜第3バイト)に各成分データを記憶する。
図5(a)に示すように、Y,Cb,Y,Crの各成分の画像データをレジスタグループRG2のレジスタR1〜R4に読み込み、レジスタグループRG1に転送することによって、レジスタグループRG1のレジスタR1〜R4にそれぞれ画素単位に合併された画像データが生成される。逆に、Y,Cb,Y,Crの各成分を有する2画素単位の画像データをレジスタグループRG2のレジスタR1〜R4に読み込み、レジスタグループRG1に転送することによって、レジスタグループRG1のレジスタR1〜R4にそれぞれ4画素分のY,Cb,Y,Crの各成分に分離された画像データが生成される。これは、前述の右90゜回転および左90゜回転の機能を用いて色データの合併および分離を行うことができることを示している。
なお、このコプロセッサ25の変換処理は前述のように可逆であるので、逆にレジスタグループRG1に上記のような画像データを読み込んで、レジスタグループRG2に転送しても、画像データの色を構成する成分についての分離および合併を行うことができる。
以上説明したように、第1の実施の形態によれば、レジスタグループRG1〜RG3において、単位となる画像データと同じビット数(1バイト)の記憶領域、すなわち各レジスタR1〜R4の各バイトが上述のような接続関係で互いに直接接続されているので、各レジスタグループRG1〜RG3間の画像データの転送により右90°回転、左90°回転、中心線に対する左右方向の鏡映およびカラー画像データの成分の合併および分離を行うことができる。そのため、CPU24においてソフトウェアによってこれらの処理を行う場合には単位となる画像データを8ビットから32ビットに変換する必要があるのに対して、第1の実施の形態では単位となる画像データのデータ長を変換する必要がなく、データ長の変換工程およびそのためのデータ移動が不要となり、高速かつ低消費電力に上記処理を行うことができる。
<2.第2の実施の形態>
第2の実施の形態では図1で示した第1の実施の形態の装置構成とコプロセッサ25以外は全く同様の構成となっており、そして、このコプロセッサ25はCPU24から与えられた画像データを右90゜回転するものとなっている。以下、このコプロセッサ25の構造および処理について説明する。
図6は第2の実施の形態におけるコプロセッサ25のレジスタグループおよびそれらにおけるレジスタ間の接続を示す図である。第2の実施の形態におけるコプロセッサ25は第1の実施の形態におけるレジスタグループRG1〜RG3と同様の32ビットのレジスタを4つずつ備えるレジスタグループRG4およびRG5を備えている。ただし、第2の実施の形態ではレジスタグループRG4とRG5においてレジスタR1およびR2とレジスタR3およびR4とは全く同じ接続関係になっているので、レジスタR1およびR2のみについて代表的に図示している。
そして、第2の実施の形態では2画素が32ビット(例えばYCbYCrの色配列で各成分が8ビット)で表現される複合画素データ(ビデオデータ)を各レジスタグループRG4,RG5それぞれの各レジスタR1〜R4に記憶するものとなっている。なお、ここで扱う複合画素データは第1の実施の形態における複合画素データと同様のものである。そして、各レジスタグループRG4,RG5それぞれの各レジスタR1〜R4内において、この発明の単位画像信号に相当する単位となる1つの成分の画像データ(上記の例ではYまたはCbまたはCr成分)と同じビット数の記憶領域(第0〜第3バイト)に各成分データが記憶されるようになっている。
さらに、レジスタグループRG4およびRG5のレジスタR1およびR2(R3およびR4)の各バイトは以下に示すように互いに所定の接続線により電気的に直接接続されている。すなわち、レジスタグループRG4のレジスタR1の第0バイトB0とレジスタグループRG5のレジスタR2の第0バイトB0とが、レジスタグループRG4のレジスタR1の第2バイトB2とレジスタグループRG5のレジスタR1の第0バイトB0とが、レジスタグループRG4のレジスタR2の第0バイトB0とレジスタグループRG5のレジスタR2の第2バイトB2とが、レジスタグループRG4のレジスタR2の第1バイトB1とレジスタグループRG5のレジスタR1の第1バイトB1及びレジスタグループRG5のレジスタR2の第1バイトB1とが、レジスタグループRG4のレジスタR2の第2バイトB2とレジスタグループRG5のレジスタR1の第2バイトB2とが、レジスタグループRG4のレジスタR2の第3バイトB3とレジスタグループRG5のレジスタR1の第3バイトB3及びレジスタグループRG5のレジスタR2の第3バイトB3とが、それぞれ接続されている。
図7は第2の実施の形態におけるコプロセッサ25による右回転処理を説明するための図である。前述のようにレジスタR1およびR2とレジスタR3およびR4とが同じ接続であるのは、2レジスタ分すなわち16ビット単位のビデオデータで表わされる4画素についての右90゜の回転を8画素に対して並列に行っていることを意味している。そのため、以下、代表してレジスタR3およびR4における回転について説明する。なお、図7の各レジスタの各バイト内の記号は前述の各成分(Y,Cb,Y,Cr成分)を表わしており、その後ろの数字は8個の画素(第0〜第7画素)のいずれであるかを表わしている。
まず、レジスタR3およびR4のうち、Y成分が記憶された第0バイトB0および第2バイトB2のみに注目してみると、レジスタグループRG4からRG5へのデータ転送により、Y0〜Y3は回転されてY0は元のY1の位置に、Y1は元のY3の位置に、Y2は元のY0の位置に、Y3は元のY2の位置にそれぞれ移動している。また、Cb成分、Cr成分についてはY,Cb,Y,Cr成分の配列を崩さないために各レジスタの第1バイトB1にCb成分が、第3バイトB3にCr成分が位置する必要があるため、最初にレジスタR4の第1バイトB1および第3バイトB3に記憶されていたCb0およびCr1をそのままレジスタR3にコピーしている。以上から、この変換で複合画素データが右90゜回転していることが分かる。なお、レジスタR1およびR2においても同様である。
以上説明したように、第2の実施の形態によれば、レジスタグループRG4およびRG5において、単位となる1つの成分データと同じビット数(1バイト)の記憶領域、すなわち各レジスタR1〜R4の各バイトが上述のような接続関係で互いに直接接続されているので、各レジスタグループRG4およびRG5間の画像データの転送によりビデオデータの右90°回転を行うことができるので、CPU24においてソフトウェアによってこれらの処理を行う場合と比べて、単位となる色を構成する各成分データのデータ長を変換する必要がなく、データ長の変換工程およびそのためのデータ移動が不要となり、高速かつ低消費電力に上記処理を行うことができる。
<3.第3の実施の形態>
第3の実施の形態でも図1で示した第1の実施の形態の装置構成とコプロセッサ25以外は全く同様の構成となっており、そして、このコプロセッサ25はCPU24から与えられた画像データを左90゜回転するものとなっている。以下、このコプロセッサ25の構造および処理について説明する。
図8は第3の実施の形態におけるコプロセッサ25のレジスタグループおよびそれらにおけるレジスタ間の接続を示す図である。第3の実施の形態におけるコプロセッサ25は第2の実施の形態におけるレジスタグループRG4,RG5と同様の構成のレジスタグループRG6およびRG7を備えている。また、第2の実施の形態と同様に、レジスタグループRG6とRG7においてレジスタR1およびR2とレジスタR3およびR4とは全く同じ接続関係になっているので、レジスタR1およびR2のみについて代表的に図示している。
そして、第3の実施の形態では2画素が32ビット(例えばYCbYCrの色配列で各成分が8ビット)で表現される複合画素データ(ビデオデータ)を各レジスタグループRG6,RG7それぞれの各レジスタR1〜R4に記憶するものとなっている。なお、ここで扱う複合画素データは第1の実施の形態における複合画素データと同様のものである。そして、各レジスタグループRG6,RG7それぞれの各レジスタR1〜R4内において、この発明の単位画像信号に相当する単位となる1つの成分の画像データ(上記の例ではYまたはCbまたはCr成分)と同じビット数の記憶領域(第0〜第3バイト)に各成分データが記憶されるようになっている。
また、レジスタグループRG6およびRG7の各レジスタの各バイトが以下に示すように互いに所定の接続線によって電気的に直接接続されている。すなわち、レジスタグループRG6のレジスタR1の第0バイトB0とレジスタグループRG7のレジスタR1の第2バイトB2とが、レジスタグループRG6のレジスタR1の第2バイトB2とレジスタグループRG7のレジスタR2の第2バイトB2とが、レジスタグループRG6のレジスタR2の第0バイトB0とレジスタグループRG7のレジスタR1の第0バイトB0とが、レジスタグループRG6のレジスタR2の第1バイトB1とレジスタグループRG7のレジスタR1の第1バイトB1及びレジスタグループRG7のレジスタR2の第1バイトB1とが、レジスタグループRG6のレジスタR2の第2バイトB2とレジスタグループRG7のレジスタR2の第0バイトB0とが、レジスタグループRG6のレジスタR2の第3バイトB3とレジスタグループRG7のレジスタR1の第3バイトB3及びレジスタグループRG7のレジスタR2の第3バイトB3とが、接続されている。
図9は第3の実施の形態におけるコプロセッサ25による左回転処理を説明するための図である。第3の実施の形態では、第2の実施の形態と同様の複合画素データ(ビデオデータ)を左90゜回転するものとなっている。第2の実施の形態と同様にレジスタR3およびR4のうち、Y成分が記憶された第0バイトB0および第2バイトB2のみに注目してみると、レジスタグループRG6からRG7へのデータ転送により、明らかに左90゜回転していることが分かる。また、Cb成分、Cr成分については第2の実施の形態と同様である。また、レジスタR1およびR2においても同様である。
以上説明したように、第3の実施の形態によれば、レジスタグループRG6およびRG7において、単位となる1つの成分データと同じビット数(1バイト)の記憶領域、すなわち各レジスタR1〜R4の各バイトが上述のような接続関係で互いに直接接続されているので、各レジスタグループRG4およびRG5間の画像データの転送によりビデオデータの左90°回転を行うことができるので、CPU24においてソフトウェアによってこれらの処理を行う場合と比べて、単位となる各成分データのデータ長を変換する必要がなく、データ長の変換工程およびそのためのデータ移動が不要となり、高速かつ低消費電力に上記処理を行うことができる。
<4.第4の実施の形態>
第4の実施の形態でも図1で示した第1の実施の形態の装置構成とコプロセッサ25以外は全く同様の構成となっており、そして、このコプロセッサ25はCPU24から与えられた画像データを所定の右回転命令の入力に従い、第2の実施の形態と全く同様に右90゜回転するものとなっている。以下、このコプロセッサ25の構造および処理について説明する。
図10は第4の実施の形態におけるコプロセッサ25のレジスタグループおよびそれらにおけるレジスタ間の接続関係を模式的に示す図である。第4の実施の形態におけるコプロセッサ25は第2の実施の形態におけるレジスタグループRG4,RG5と同様のレジスタR1〜R4からなるレジスタグループRG8を備えている。すなわち、レジスタグループを1つ備えるのみである。なお、図10では説明上、本来1つのレジスタグループRG8を2つ並べて図示している。
また、第4の実施の形態でも2画素が32ビット(例えばYCbYCrの色配列で各成分が8ビット)で表現される複合画素データ(ビデオデータ)をレジスタグループRG8の各レジスタR1〜R4に記憶するものとなっている。なお、ここで扱う複合画素データは第1の実施の形態における複合画素データと同様のものである。そして、各レジスタR1〜R4内において、この発明の単位画像信号に相当する単位となる1つの成分の画像データ(上記の例ではYまたはCbまたはCr成分)と同じビット数の記憶領域(第0〜第3バイト)に各成分データが記憶されるようになっている。
そして、レジスタグループRG8のレジスタR1およびR2の各バイトが以下に示すように互いに所定の接続線(この発明の右回転手段に相当)により電気的に直接接続されており、また、第2の実施の形態と同様に、レジスタR1およびR2とレジスタR3およびR4とは全く同じ接続関係になっている。すなわち、レジスタR1の第0バイトB0がレジスタR2の第0バイトB0に、レジスタR1の第2バイトB2がレジスタR1の第0バイトB0に、レジスタR2の第0バイトB0がレジスタR2の第2バイトB2に、レジスタR2の第1バイトB1がレジスタR1の第1バイトB1及びレジスタR2の第1バイトB1に、レジスタR2の第2バイトB2がレジスタR1の第2バイトB2に、レジスタR2の第3バイトB3がレジスタR1の第3バイトB3及びレジスタR2の第3バイトB3に、それぞれ接続されている。
さらに、レジスタグループRG8の各レジスタR1〜R4の各バイトは図示しないセレクタによってCPU24からの画像データの入力と上記レジスタグループRG8内からの画像データの入力とを切り替えることができるようになっている。
上記のようにレジスタR1およびR2(同様にR3およびR4)が接続されているため、CPU24から画像データが読み込まれた後、操作者が操作部を通じて右回転命令を入力すると、その信号はセレクタに入力され、それによりレジスタグループRG8の入力がレジスタR1〜R4どうしの入力に切り替えられ、画像データの転送が行われる。具体的には以下のように転送される。すなわち、レジスタR1の第0バイトB0からレジスタR2の第0バイトB0に、レジスタR1の第2バイトB2からレジスタR1の第0バイトB0に、レジスタR2の第0バイトB0からレジスタR2の第2バイトB2に、レジスタR2の第1バイトB1からレジスタR1の第1バイトB1及びレジスタR2の第1バイトB1に、レジスタR2の第2バイトB2からレジスタR1の第2バイトB2に、レジスタR2の第3バイトB3からレジスタR1の第3バイトB3及びレジスタR2の第3バイトB3に、それぞれ転送され記憶される。
図11は第4の実施の形態におけるコプロセッサ25による右回転処理を説明するための図である。図示のように、2画素が32ビット(Y成分,Cb成分,Y成分,Cr成分で1単位)で表現される複合画素データ(ビデオデータ)が、上記のようなレジスタ間の転送により第2の実施の形態と同様に右90゜回転されて記憶されていることが分かる。また、この結果からも分かるように、第4の実施の形態では右90゜回転された複合画素データを同一のレジスタグループRG8に戻して記憶している。
以上説明したように、第4の実施の形態によれば、レジスタグループRG8において、単位となる1つの成分データと同じビット数(1バイト)の記憶領域、すなわち各レジスタR1〜R4の各バイトが上述のような接続関係で互いに直接接続されているので、右回転命令の入力に応答して、各レジスタR1,R2またはR3,R4内で各バイト間の転送によりビデオデータの右90°回転を行うことができるので、CPU24においてソフトウェアによってこれらの処理を行う場合と比べて、単位となる各成分データのデータ長を変換する必要がなく、データ長の変換工程およびそのためのデータ移動が不要となり、高速かつ低消費電力に上記処理を行うことができる。
<5.第5の実施の形態>
第5の実施の形態でも図1で示した第1の実施の形態の装置構成とコプロセッサ25以外は全く同様の構成となっており、そして、このコプロセッサ25はCPU24から与えられた画像データを所定の左回転命令の入力に従い、第3の実施の形態と全く同様に左90゜回転するものとなっている。以下、このコプロセッサ25の構造および処理について説明する。
図12は第5の実施の形態におけるコプロセッサ25のレジスタグループおよびそれらにおけるレジスタ間の接続関係を模式的に示す図である。第5の実施の形態におけるコプロセッサ25は第4の実施の形態におけるレジスタグループRG8と同様のレジスタR1〜R4からなるレジスタグループRG9を1つ備えるのみである。なお、図12では説明上、本来1つのレジスタグループRG9を2つ並べて図示している。
また、第5の実施の形態でも2画素が32ビット(例えばYCbYCrの色配列で各成分が8ビット)で表現される複合画素データ(ビデオデータ)をレジスタグループRG9の各レジスタR1〜R4に記憶するものとなっている。なお、ここで扱う複合画素データは第1の実施の形態における複合画素データと同様のものである。そして、各レジスタR1〜R4内において、この発明の単位画像信号に相当する単位となる1つの成分の画像データ(上記の例ではYまたはCbまたはCr成分)と同じビット数の記憶領域(第0〜第3バイト)に各成分データが記憶されるようになっている。
そして、レジスタグループRG9のレジスタR1およびR2の各バイトが以下に示すように互いに所定の接続線(この発明の右回転手段に相当)により電気的に直接接続されており、また、第3の実施の形態と同様に、レジスタR1およびR2とレジスタR3およびR4とは全く同じ接続関係になっている。すなわち、レジスタR1の第0バイトB0がレジスタR1の第2バイトB2に、レジスタR1の第2バイトB2がレジスタR2の第2バイトB2に、レジスタR2の第0バイトB0がレジスタR1の第0バイトB0に、レジスタR2の第1バイトB1がレジスタR1の第1バイトB1及びレジスタR2の第1バイトB1に、レジスタR2の第2バイトB2がレジスタR2の第0バイトB0に、レジスタR2の第3バイトB3がレジスタR1の第3バイトB3及びレジスタR2の第3バイトB3に、それぞれ接続されている。また、図示しないが第4の実施の形態と同様のセレクタを備えている。
そして、上記のようにレジスタR1およびR2(同様にR3およびR4)が接続されているため、CPU24から画像データが読み込まれた後、作業者が操作スイッチを通じて左回転命令を入力すると、その信号はセレクタに入力され、それによりレジスタグループRG9の入力がレジスタR1〜R4どうしの入力に切り替えられ、画像データの転送が行われる。具体的には以下のように転送される。すなわち、レジスタR1の第0バイトB0からレジスタR1の第2バイトB2に、レジスタR1の第2バイトB2からレジスタR2の第2バイトB2に、レジスタR2の第0バイトB0からレジスタR1の第0バイトB0に、レジスタR2の第1バイトB1からレジスタR1の第1バイトB1及びレジスタR2の第1バイトB1に、レジスタR2の第2バイトB2からレジスタR2の第0バイトB0に、レジスタR2の第3バイトB3からレジスタR1の第3バイトB3及びレジスタR2の第3バイトB3に、それぞれ転送され記憶される。
図13は第5の実施の形態におけるコプロセッサ25による左回転処理を説明するための図である。図示のように、第3の実施の形態と同様に複合画素データ(ビデオデータ)が、上記のようなレジスタ間の転送により左90゜回転されて記憶されていることが分かる。また、この結果からも分かるように、第5の実施の形態では左90゜回転された複合画素データを同一のレジスタグループRG9に戻して記憶している。
以上説明したように、第5の実施の形態によれば、レジスタグループRG9において、単位となる1つの成分データと同じビット数(1バイト)の記憶領域、すなわち各レジスタR1〜R4の各バイトが上述のような接続関係で互いに直接接続されているので、左回転命令の入力に応答して、各レジスタR1,R2またはR3,R4内で各バイト間の転送によりビデオデータの左90°回転を行うことができるので、CPU24においてソフトウェアによってこれらの処理を行う場合と比べて、単位となる各成分データのデータ長を変換する必要がなく、データ長の変換工程およびそのためのデータ移動が不要となり、高速かつ低消費電力に上記処理を行うことができる。
<6.第6の実施の形態>
第6の実施の形態でも図1で示した第1の実施の形態の装置構成とコプロセッサ25以外は全く同様の構成となっており、そして、このコプロセッサ25はCPU24から与えられた画像データを所定の右回転命令の入力に従い、第3の実施の形態と全く同様に右90゜回転するものとなっている。以下、このコプロセッサ25の構造および処理について説明する。
図14は第6の実施の形態におけるコプロセッサ25のレジスタおよびそれらにおけるレジスタ間の接続を示す図である。第6の実施の形態におけるコプロセッサ25は第1〜第5の実施の形態におけるレジスタと同様の32ビットのレジスタR1およびR2を備えている。
また、第6の実施の形態でも2画素が32ビット(例えばYCrYCbやYYCrCbの色配列で各成分が8ビット)で表現される複合画素データ(ビデオデータ)を各レジスタR1およびR2に記憶するものとなっている。なお、ここで扱う複合画素データは第1の実施の形態における複合画素データと同様のものである。そして、各レジスタR1およびR2内において、この発明の単位画像信号に相当する単位となる1つの成分の画像データ(上記の例ではYまたはCbまたはCr成分)と同じビット数の記憶領域(第0〜第3バイト)に各成分データが記憶されるようになっている。
そして、レジスタR1およびR2の各バイトが以下に示すように互いに所定の接続線により電気的に直接接続されている。すなわち、レジスタR1の第0バイトB0とレジスタR2の第0バイトB0とが、レジスタR1の第1バイトB1とレジスタR2の第2バイトB2とが、レジスタR1の第2バイトB2とレジスタR2の第1バイトB1とが、レジスタR1の第3バイトB3とレジスタR2の第3バイトB3とが、それぞれ接続されている。
このような構成により、このコプロセッサ25は2画素が32ビットで表現される第一の色配列の複合画素データを2画素が32ビットで表現される第二の色配列の複合画素データに変換することができる。例えば、第一の色配列としてYYCrCbで表されるフォーマットの複合画素データ(ビデオデータ)を、第二の色配列としてYCrYCbで表されるフォーマットの複合画素データ(ビデオデータ)に変換することができることが図14から容易に理解できる。
また、図14において、レジスタR1およびR2の各バイトは一対一に対応して接続されているため、上記の色配列の変換は可逆なものとなっている。上記のビデオデータの例では、レジスタR2に第2の色配列であるYCrYCb形式の複合画素データを入力して、レジスタR1に転送することによって、レジスタR1において第1の色配列であるYYCrCb形式の複合画素データとして取り出すことができる。
以上説明したように、第6の実施の形態によれば、レジスタR1およびR2において、単位となる1つの成分データと同じビット数(1バイト)の記憶領域、すなわち各レジスタR1およびR2の各バイトが上述のような接続関係で互いに直接接続されているので、両レジスタR1およびR2それぞれの各バイト間の転送によりビデオデータの色配列の形式の変換を行うことができるので、CPU24においてソフトウェアによってその処理を行う場合と比べて、単位となる各成分データのデータ長を変換する必要がなく、データ長の変換工程およびそのためのデータ移動が不要となり、高速かつ低消費電力に上記処理を行うことができる。
<7.変形例>
上記第1〜第6の実施の形態においてディジタルスチルカメラにおけるコプロセッサおよびそれによる画像処理の例を示したが、この発明はこれに限られるものではない。
たとえば、上記第1〜第6の実施の形態では、画像入力装置としてディジタルカメラについて示したが、ディジタルビデオカメラ等のその他の画像入力装置においても上記第1〜第6の実施の形態と同様のコプロセッサを信号処理回路として用いることができる。
また、上記第1〜第6の実施の形態では、この発明における記憶手段をレジスタまたはレジスタグループとしたが、SRAMやDRAM等のメモリなどその他の記憶媒体に対してもこの発明を使用し得る。
また、上記第1〜第6の実施の形態では、8ビットを単位となる画像データのデータ長とし、コプロセッサ25における各レジスタを32ビットレジスタとしたが、例えば、16ビットを単位となる画像データのデータ長とし、コプロセッサ25において16ビットレジスタで処理する等、単位となる画像データのデータ長の2以上の整数倍をレジスタの処理単位とすればよい。
さらに、上記第6の実施の形態ではレジスタR1とR2との間で複合画素データを転送することによって色配列を変換するものとしたが、第4および第5の実施の形態のように変換後の複合画素データを同一レジスタに格納するものとしてもよい。すなわち、レジスタR1において第0バイトB0と第0バイトB0とが、第1バイトB1と第2バイトB2とが、第2バイトB2と第1バイトB1とが、第3バイトB3と第3バイトB3とが、それぞれ接続され、さらに、画像データのCPU24からの入力とレジスタR1内での転送とを切替えるセレクタを備えるものとするのである。これにより、レジスタの容量を削減できる。