(57)【要約】【課題】並列に符号化処理をしても、符号データを整列してメモリに格納する必要があり、格納動作の高速化に限界があった。【解決手段】符号化器群４２はそれぞれ画像データを符号化し、符号量をアドレス特定部７０へ通知する。符号化器群４２で生じた符号データはテンポラリバッファ群５０へ一時的に格納される。符号バッファ書込部７２はテンポラリバッファ群５０から符号データを読み出し、符号バッファ書込部７２で計算した書込開始位置から複数のデータブロックに対応する符号データを並列してメモリ２０へ書き込む。書込開始位置を計算するため、可変長符号化であっても、メモリ２０に空き領域や領域不足が生じない。【選択図】        図１
2004186978.tif 000002
【特許請求の範囲】
【請求項１】
複数のデータブロックのそれぞれに所定の処理が並列して行われたとき、各データブロックに由来する処理後データのサイズを特定するステップと、
特定されたサイズをもとにアドレス計算を施し、各データブロックに由来する処理後データをメモリに書き込む際の書込開始アドレスを複数のデータブロックについて特定するステップと、
を含むことを特徴とするデータ書込方法。
【請求項２】
複数のデータブロックのそれぞれに所定の処理が並列して行われたとき、各データブロックに由来する処理後データのサイズをもとにアドレス計算を施し、前記処理後データをメモリに書き込む際の書込開始アドレスを複数のデータブロックについて特定するアドレス特定部と、
複数のデータブロックについて特定された書込開始アドレスにしたがい、それら複数のデータブロックに由来する処理後データを並行して前記メモリへ書き込む書込制御部と、
を含むことを特徴とするデータ書込装置。
【請求項３】
前記書込制御部は、書込終了時点で、複数のデータブロックに由来する処理後データが前記メモリ内で連続性をもって格納される状態を実現することを特徴とする請求項２に記載のデータ書込装置。
【請求項４】
複数のデータブロックの可変長符号化を並列して実行する複数の符号化器と、
前記可変長符号化によって生成される符号データの符号量をもとに、前記符号データをメモリに書き込む際の書込開始アドレスを複数のデータブロックについて特定するアドレス特定部と、
複数のデータブロックについて特定された書込開始アドレスにしたがい、それら複数のデータブロックに由来する前記符号データを並行して前記メモリへ書き込む書込制御部と、
を含むことを特徴とする符号化装置。
【請求項５】
撮像ユニットと、それを機構面で制御する機構制御ユニットと、撮像によって得られたデジタル画像を処理する処理ユニットとを含み、
前記処理ユニットは、前記デジタル画像を構成する複数のデータブロックに対して符号化を並列して実行するとともに、その符号化によって生成される符号データを並列してメモリへ書き込む際、書込終了時点で複数のデータブロックに由来する符号データが前記メモリ内で連続性をもって格納される状態を実現することを特徴とするデジタルカメラ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明はデータ書込技術およびデジタルカメラに関する。この発明は特に、メモリに対してデータを書き込む方法と装置、およびそれらを用いたデジタルカメラに関する。
【０００２】
【従来の技術】
画像データを記録媒体に記録し、またはネットワークを通じて伝送する場合、記録や伝送に先立ってデータを圧縮することが多い。たとえば最近標準的に用いられるＪＰＥＧ（Ｊｏｉｎｔ  Ｐｈｏｔｏｇｒａｐｈｉｃ  Ｅｘｐｅｒｔ  Ｇｒｏｕｐ）では、画像データのブロックへの分割、ブロック毎のＤＣＴ（離散コサイン変換）、量子化、可変長符号化としてのハフマン符号化がおこなわれ、画像が高効率圧縮される。ＪＰＥＧその他の画像圧縮技術は各種民生機器に搭載され、特にデジタルカメラなど、ハードウエアリソースが限られた小型機器においては必須の技術となっている。しかしながら、一般に高効率画像圧縮技術は、比較的計算負荷が大きく、処理時間の短縮に工夫を要するところである。このため特許文献１では、符号化回路を２つ設け、これらによる符号化の並列処理を通し処理時間の短縮を図っている。
【０００３】
【特許文献１】
特開平５−２２７５１９号公報（図１、図２）
【０００４】
【発明が解決しようとする課題】
特許文献１では、２つの符号化回路から出力された符号データがそれぞれいったん一時的なバッファである符号メモリに格納される。続いて、これらの符号メモリからデータが順番に読み出され、符号出力回路から外部に出力される。しかしこの構成では、一方の符号メモリからデータが読み出されている間、他方の符号メモリは待機状態におかれる。符号メモリが待機状態にあると、続いてその符号メモリに書き込むべきデータの書き込みも待たざるを得ず、結果として符号化回路の動作を待機させなければならないタイミングが生じる。もちろん、符号メモリの容量を大きくすれば、読み出し待ち状態のデータと、符号化回路から出力されたデータをともに格納することも不可能ではないが、その場合、当然ながら符号メモリのコストが高くなり、回路面積も増す。
【０００５】
本発明はこうした状況に鑑みてなされたもので、その目的は、コストの増大を抑えつつ、処理の高速化を実現するデータ書込技術およびそれを用いたデジタルカメラを提供することにある。
【０００６】
【課題を解決するための手段】
本発明のある態様は、データ書込方法に関する。この方法は、複数のデータブロックのそれぞれに所定の処理が並列して行われたとき、各データブロックに由来する処理後データのサイズを特定するステップと、特定されたサイズをもとにアドレス計算を施し、各データブロックに由来する処理後データをメモリに書き込む際の書込開始アドレスを複数のデータブロックについて特定するステップとを含む。「所定の処理」は任意でよく、また、複数のデータブロックについて、異なる処理であってもよい。「データブロック」は、任意のサイズでよく、ＪＰＥＧでいうマクロブロックやブロックと直接関係はない。
【０００７】
この方法はまた、複数のデータブロックについて特定された書込開始アドレスにしたがい、それら複数のデータブロックに由来する処理後データを並行してメモリへ書き込むステップをさらに含み、この書き込むステップは、当該ステップの終了時点で、複数のデータブロックに由来する処理後データがメモリ内で連続性をもって格納される状態を実現してもよい。
【０００８】
本発明の別の態様は、データ書込装置に関する。この装置は、複数のデータブロックのそれぞれに所定の処理が並列して行われたとき、各データブロックに由来する処理後データのサイズをもとにアドレス計算を施し、処理後データをメモリに書き込む際の書込開始アドレスを複数のデータブロックについて特定するアドレス特定部と、複数のデータブロックについて特定された書込開始アドレスにしたがい、それら複数のデータブロックに由来する処理後データを並行してメモリへ書き込む書込制御部とを含む。
【０００９】
本発明のさらに別の態様は、符号化装置に関する。この装置は、複数のデータブロックの可変長符号化を並列して実行する複数の符号化器と、可変長符号化によって生成される符号データの符号量をもとに、符号データをメモリに書き込む際の書込開始アドレスを複数のデータブロックについて特定するアドレス特定部と、複数のデータブロックについて特定された書込開始アドレスにしたがい、それら複数のデータブロックに由来する符号データを並行してメモリへ書き込む書込制御部とを含む。
【００１０】
本発明のさらに別の態様は、デジタルカメラに関する。このカメラは、撮像ユニットと、それを機構面で制御する機構制御ユニットと、撮像によって得られたデジタル画像を処理する処理ユニットとを含み、処理ユニットは、前記デジタル画像を構成する複数のデータブロックに対して符号化を並列して実行するとともに、その符号化によって生成される符号データを並列してメモリへ書き込む際、書込終了時点で複数のデータブロックに由来する符号データがメモリ内で連続性をもって格納される状態を実現する。
【００１１】
例えば、処理ユニットは、デジタル画像を構成する複数のデータブロックに可変長符号化を並列して実行する複数の符号化器と、符号化によって生成される符号データの符号量をもとに、符号データをメモリに書き込む際の書込開始アドレスを複数のデータブロックについて特定するアドレス特定部と、複数のデータブロックについて特定された書込開始アドレスにしたがい、それら複数のデータブロックに由来する符号データを並行してメモリへ書き込む書込制御部とを含む。
【００１２】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【００１３】
【発明の実施の形態】
図１は、実施の形態に係る符号化装置１０の構成を示す。この構成は、ハードウエア的には、任意のコンピュータのＣＰＵ、メモリ、その他のＬＳＩで実現でき、ソフトウエア的にはメモリのロードされた符号化およびデータ書込機能のあるプログラムなどによって実現されるが、ここではそれらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックがハードウエアのみ、ソフトウエアのみ、またはそれらの組合せによっていろいろな形で実現できることは、当業者には理解されるところであるが、ここでは一例として、符号化装置１０がひとつのＬＳＩに内蔵される場合を示す。
【００１４】
図１に示すごとく、符号化装置１０は外部メモリ２０から画像データを読み込み、タイミング発生器３０によって生成されるタイミングにしたがって符号化処理を行い、その結果を再度外部メモリ２０へ書き戻す処理を行う。メモリ２０には、図示しない撮像装置、ネットワーク、記録媒体などから圧縮前の原画像のデータが入力され、これらが第１データブロック２２、第２データブロック２４、第３データブロック２６などの領域に分割されて格納されている。これらのデータブロックは任意のサイズでよく、適当なサイズは符号化装置１０との関係において、たとえば実験などにより定められる。また、これらのデータブロックのサイズを図示しないシステムレジスタなどにＣＰＵから設定し、可変としてもよい。外部メモリ２０はたとえばＳＤＲＡＭ（Ｓｙｎｃｈｒｏｎｏｕｓ  Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）など、比較的容量の大きなメモリによって構成される。タイミング発生器３０は各種クロックやステートを発生し、符号化装置１０へ提供する。
【００１５】
符号化装置１０は、外部メモリ２０から適宜データを読み出す外部メモリ読出部４０と、読み出されたデータを符号化する符号化器群４２と、符号化されたデータを一時的に格納するテンポラリバッファ群５０と、テンポラリバッファ群５０へのデータの書込を制御するテンポラリバッファ書込部６０と、符号化器群４２から符号量に関する情報を取得し、後述する書込開始アドレスを計算するアドレス特定部７０と、テンポラリバッファ群５０からデータを読み出し、かつアドレス特定部７０から通知された書込開始アドレスにしたがって符号データを並列して書込処理する符号バッファ書込部７２と、その書込先である符号バッファ７４と、符号バッファ７４内で整列された符号データを外部メモリ２０へ書き戻す外部メモリ転送部９０とを含む。
【００１６】
符号化器群４２は複数の符号化器を含み、本実施の形態では、第１符号化器４４、第２符号化器４６、第３符号化器４８を含むが、その数は任意である。符号化器群４２における符号化は、広義の符号化であり、前述のＤＣＴ、量子化、およびハフマン符号化をおこなう。第１符号化器４４、第２符号化器４６、第３符号化器４８はそれぞれ第１データブロック２２、第２データブロック２４、第３データブロック２６に格納された画像データを並行して符号化する。符号化の対象となるデータを要求するタイミングは外部メモリ読出部４０へ伝えられ、外部メモリ読出部４０は、それぞれのデータブロックから順次必要なデータを各符号化器へ供給する。
【００１７】
テンポラリバッファ群５０は、第１テンポラリバッファ５２、第２テンポラリバッファ５４、第３テンポラリバッファ５６を含み、これらはそれぞれ第１符号化器４４、第２符号化器４６、第３符号化器４８から出力された符号データを一時的に記憶する。これらのテンポラリバッファは、それぞれ対応する符号化器から出力される符号データを記憶できるだけの容量を持つ。符号データの出力タイミングは符号化器群４２からテンポラリバッファ書込部６０へ通知され、テンポラリバッファ書込部６０がそのタイミングにしたがい、テンポラリバッファ群５０の各テンポラリバッファへ符号データを書き込む。
【００１８】
アドレス特定部７０は、第１符号化器４４、第２符号化器４６、第３符号化器４８からそれぞれ符号データの量、すなわち符号量を入力し、書込開始アドレスを計算する。いま、仮に第１符号化器４４、第２符号化器４６、第３符号化器４８の符号量をそれぞれＬ１、Ｌ２、Ｌ３とし、またそれら３つの符号化器からの符号データを符号バッファ７４へ書き込む際の書込開始アドレスをそれぞれＡ１、Ａ２、Ａ３とすると、アドレス特定部７０はＬ１、Ｌ２、Ｌ３からＡ１、Ａ２、Ａ３を以下の要領で計算する。
【００１９】
Ａ１＝０
Ａ２＝Ｌ１
Ａ３＝Ｌ１＋Ｌ２
こうして計算された書込開始アドレスは符号バッファ書込部７２へ通知される。
【００２０】
符号バッファ書込部７２は、第１テンポラリバッファ５２、第２テンポラリバッファ５４、第３テンポラリバッファ５６からそれぞれ符号データを読み出し、それらを並行してそれぞれ第１格納エリア７６、第２格納エリア７８、第３格納エリア８０の先頭位置から順に並列して書き込む。ここで、第１格納エリア７６、第２格納エリア７８、第３格納エリア８０の先頭位置はそれぞれ前述の書込開始位置Ａ１、Ａ２、Ａ３とされる。この結果、第１格納エリア７６、第２格納エリア７８、第３格納エリア８０にはそれぞれ第１テンポラリバッファ５２、第２テンポラリバッファ５４、第３テンポラリバッファ５６から読み出された符号データが過不足なく格納され、符号バッファ７４に無駄な空き領域が生じることはなく、また領域不足によって必要なデータが上書きされるおそれもない。
【００２１】
こうして符号バッファ７４へ整列された符号データは順次外部メモリ転送部９０によって読み出され、外部メモリ２０の空き領域へ保存される。
【００２２】
図２は、第１符号化器４４の内部構成を示す。第１符号化器４４は符号化によって生じる符号データのサイズをカウントするカウンタ９４を備える。このカウンタ９４は、第１符号化器４４が第１データブロック２２のデータを符号化し終わるまでバイト、ワードまたはビット単位でカウントアップされ、第１データブロック２２に由来する符号データの総量、すなわち符号量をアドレス特定部７０へ通知する。第２符号化器４６、第３符号化器４８についても同様の構成である。
【００２３】
以上の構成による動作は以下のとおりである。まず、外部メモリ２０から符号化の対象となる画像データが符号化器群４２へ入力される。第１符号化器４４、第２符号化器４６、第３符号化器４８はそれぞれ第１データブロック２２、第２データブロック２４、第３データブロック２６に分割格納された画像データに符号化を施す。それぞれのデータブロックから生じた符号データの符号量はアドレス特定部７０へ通知される。符号データはテンポラリバッファ群５０へ入力され、それぞれ第１テンポラリバッファ５２、第２テンポラリバッファ５４、第３テンポラリバッファ５６へ一時的に格納される。アドレス特定部７０は書込開始アドレスを計算し、符号バッファ書込部７２へ通知する。符号バッファ書込部７２は、第１テンポラリバッファ５２、第２テンポラリバッファ５４、第３テンポラリバッファ５６からそれぞれ読み出された符号データをそれぞれ符号バッファ７４のアドレスＡ１、Ａ２、Ａ３を先頭位置として第１格納エリア７６、第２格納エリア７８、第３格納エリア８０へ並列して書き込む。外部メモリ転送部９０は適宜符号バッファ７４から符号データを読み出し、外部メモリ２０の空き領域へ格納する。
【００２４】
図３は、以上の動作を説明するタイミングチャートである。図中、Ｂｎは外部メモリ２０内で分割されたデータブロックの番号に対応し、たとえばＢ１は第１データブロック２２を示す。Ｂ４は、図１では図示しないが、第３データブロック２６の次に存在する。以下、同様である。一方、Ｃｎは各データブロックに由来する符号データを示す。たとえばＣ１は第１データブロック２２から読み出されて第１符号化器４４で符号化されたデータである。
【００２５】
同図のごとく、一連の処理はＴ＝０で開始し、第１符号化器４４、第２符号化器４６、第３符号化器４８でそれぞれ同時にＢ１、Ｂ２、Ｂ３の符号化が開始される。符号化に伴い、順次符号データＣ１、Ｃ２、Ｃ３が現れ、これらはそれぞれ第１テンポラリバッファ５２、第２テンポラリバッファ５４、第３テンポラリバッファ５６に格納されていく。Ｂ１、Ｂ２、Ｂ３に対する処理はＴ＝Ｔ１で終了する。このとき、第１符号化器４４、第２符号化器４６、第３符号化器４８それぞれから確定した符号量がアドレス特定部７０へ送られるため、符号バッファ書込部７２は書込開始位置を特定することができる。したがって、符号データＣ１、Ｃ２、Ｃ３はＴ＝Ｔ１から符号バッファ７４へ書込が開始されている。図３では、これらの符号データの符号バッファ７４への書込の終了時間が違うが、符号化器群４２における可変長符号化の結果、符号量が異なるためである。なお、本当は符号化のための時間も各符号化器で異なることがあるが、本実施の形態の効果はその場合でも当然に得られるから、ここでは説明の煩を避け、符号化時間は同一として描画している。
【００２６】
Ｔ＝Ｔ１でテンポラリバッファ群５０から符号バッファ７４へのデータの書き出しが開始されるため、第１テンポラリバッファ５２、第２テンポラリバッファ５４、第３テンポラリバッファ５６はそれぞれＴ＝Ｔ１から空き領域が生じる。その結果、符号化器群４２は次のデータブロックであるＢ４、Ｂ５、Ｂ６に対する符号化を開始することができる。それらのデータブロックから符号化されたデータＣ４、Ｃ５、Ｃ６はそれぞれＴ＝Ｔ１以降第１テンポラリバッファ５２、第２テンポラリバッファ５４、第３テンポラリバッファ５６へ格納される。符号化がＴ＝Ｔ２で終了したとき、符号量が確定するため、符号バッファ書込部７２による符号バッファ７４への書込がＴ＝Ｔ２で開始される。以下同様の処理を繰り返す。
【００２７】
以上本実施の形態によれば、符号化処理を並列に実行できるだけでなく、符号バッファ７４への符号データの書込も並列に実行できるため、符号化全体の処理が非常に高速になる。またアドレス特定部７０によって書込開始位置を計算するため、可変長符号化であっても、各データブロックに由来する符号データの書込開始位置を特定することができ、符号バッファ７４において符号データに隙間ができたり、格納しきれないといった事態が回避できる。
【００２８】
仮に、アドレス特定部７０によるアドレス計算がなければ、図３に示すごとく、第２データブロック２４に由来するＣ２の符号バッファ７４への書込開始タイミングＰ１は、第１データブロック２２に由来する符号データＣ１の終了タイミングＰ２を待たなければならない。したがって符号バッファ７４へのデータの書込が遅れ、さらに、第２テンポラリバッファ５４に空き領域が生じないことにより、第２符号化器４６の処理も待たされる。したがって、符号化器群４２を並列化した効果が半減することになる。本実施の形態によれば、そうした懸念がない。
【００２９】
図４は別の実施の形態に係るデジタルカメラ２００の構成を示す。デジタルカメラ２００は、撮像ユニット２０２、機構制御ユニット２０４、処理ユニット２０６、ＬＣＤモニタ２０８、および操作ボタン群２１０を含む。
【００３０】
撮像ユニット２０２は、図示しないレンズ、絞り、光学ローパスフィルタ、ＣＣＤ、信号処理部等を含む。ＣＣＤの受光面上に結像した被写体像の光量に応じてＣＣＤに電荷が蓄積され、電圧信号として読み出される。電圧信号は信号処理部でＲ、Ｇ、Ｂ成分に分解され、ホワイトバランス調整、ガンマ補正が行われる。その後、Ｒ、Ｇ、Ｂ信号はＡ／Ｄ変換され、デジタル画像データとなって処理ユニット２０６へ出力される。機構制御ユニット２０４は、撮像ユニット２０２の光学系の制御、すなわちズーム、フォーカス、絞りなどの駆動を制御する。
【００３１】
処理ユニット２０６は、デジタルカメラ２００全体の制御に利用されるＣＰＵ２２０とメモリ２２２によるメイン制御部１００のほか、カード制御部２２８、通信部２２４、図１の符号化装置１０を有する。図１の第１データブロック２２はこのメモリ２２２の一部を利用して実現してもよいし、メモリカード２３０のメモリであってもよい。なお、このデジタルカメラ２００は、符号データを復号すべく、図示しない画像復号装置も有する。
【００３２】
通信部２２４は、標準的な通信仕様に応じたプロトコル変換等の制御を行い、この他に、例えばプリンタ、ゲーム機等の外部機器との間で個別のインタフェイスによるデータ授受を行う。ＬＣＤモニタ２０８は、ファインダとしての機能のほかに、撮影／再生モード、ズーム倍率、日時などの表示と、撮影した画像の表示を行う。ユーザが画像を撮影したとき、これが図１の外部メモリ２０に一旦格納され、符号化装置１０によって高速に符号化され、最終的に符号データとして圧縮され外部メモリ２０へ格納、保存される。以上、このデジタルカメラ２００によれば、画像を撮影したとき、その圧縮と格納が速くなる。このため、コストアップを抑制しつつ、高速連写や高速な画像伝送など性能向上に寄与する。
【００３３】
以上、本発明を実施の形態をもとに説明した。この実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。以下、そうした例である。
【００３４】
実施の形態では符号化を例にしたが、実際には、任意の処理でよい。なぜなら、実施の形態は符号化その他の処理の結果のデータに作用するものであり、処理の内容は問わないためである。ただし、処理後のデータ量が可変である処理について、実施の形態はより効果的である。そのような処理では、並列してメモリ２０へデータを書き込む際、書込開始アドレスを特定する必要があり、アドレス特定部７０が有効に機能するためである。
【００３５】
図１の符号化装置１０はその構成に自由度が高い。たとえば、第１データブロック２２を符号化装置１０に含めてもよいし、タイミング発生器３０も同様である。逆に、符号バッファ７４を符号化装置１０から外してもよいし、外部メモリ転送部９０も同様である。本質的には、アドレス特定部７０による書込開始アドレスの特定と、それを利用する高速な書込が実現されれば足りる。
【００３６】
実施の形態では符号化装置１０をＬＳＩに内蔵するとした。しかしながら、これはそうした構成に限る必要はない。たとえば、アドレス特定部７０はソフトウエアで実現してもよいし、符号化器群４２も同様である。
【００３７】
なお、請求項における「書込制御部」は実施の形態における符号バッファ書込部７２、同様に「メモリ」は符号バッファ７４をそれぞれ例とする。
【００３８】
【発明の効果】
本発明によれば、各種処理の後に生じるデータを格納するための一時的なバッファの容量を抑制することができる。また、そうした処理後のデータを整列してメモリに書き込む際、書込動作を高速化することができる。
【図面の簡単な説明】
【図１】実施の形態に係る符号化装置の構成図である。
【図２】図１の符号化装置の第１符号化器の構成図である。
【図３】図１の符号化装置による符号化動作を示すタイミングチャートである。
【図４】実施の形態に係るデジタルカメラの構成図である。
【符号の説明】
１０  符号化装置、  ２２  第１データブロック、  ２４  第２データブロック、  ２６  第３データブロック、  ４２  符号化器群、  ５０  テンポラリバッファ群、  ７０  アドレス特定部、  ７２  符号バッファ書込部、  ７４  符号バッファ。
【図１】
2004186978.tif 000003
【図２】
2004186978.tif 000004
【図３】
2004186978.tif 000005
【図４】
2004186978.tif 000006