(57)【要約】【課題】メモリを有効的に使用して処理能力を向上することができる画像データ処理装置を提供すること。【解決手段】画像データ処理装置１０は、画像入力手段１１と、符号化手段１２と、記憶手段１３と、復号化手段１４と、補間手段１５とを備える。画像入力手段１１には、撮像素子から画像データが入力される。符号化手段１２では、画像入力手段１１から送出される画像データについて、隣接する撮像素子間のデータの相関を利用して符号化処理が行われる。符号化手段１２により符号化されたデータが記憶手段１３に格納される。復号化手段１４では、記憶手段１３から符号データを取り込んで該データの復号化処理が行われ、該復号化手段１４により復号化された画像データが補間手段１５に入力される。【選択図】        図１
2004297653.tif 000002
【特許請求の範囲】
【請求項１】
撮像素子からの画像データを入力する画像入力手段と、画像データを一旦格納する記憶手段と、前記記憶手段に格納した画像データに基づいて補間処理を行う補間手段とを備えた画像データ処理装置であって、
前記画像入力手段から送出される画像データについて、隣接する前記撮像素子間のデータの相関を利用して符号化処理を行い、符号化したデータを前記記憶手段に格納する符号化手段と、
前記記憶手段からデータを取り込んで該データの復号化処理を行い、復号化したデータを前記補間手段に入力する復号化手段と
を備えたことを特徴とする画像データ処理装置。
【請求項２】
撮像素子からの画像データが前記画像入力手段を介して順次入力され、前記符号化手段は、水平方向の相関のみを使用してライン毎に独立して画像データの符号化を行うものであり、
前記水平ラインの先頭の符号データについて、その符号データの書き込み位置情報を記憶する書き込み位置保持手段を備えたことを特徴とする請求項１に記載の画像データ処理装置。
【請求項３】
前記書き込み位置情報を読み出し、その位置情報を参照することにより、該記憶手段に格納されている符号列からラインの先頭の符号データを特定する読み出し位置保持手段を備えたことを特徴とする請求項２に記載の画像データ処理装置。
【請求項４】
前記復号化手段により復号されたデータを画素の種別毎に記憶するための第１記憶手段と、
前記第１記憶手段に対して記憶すべきデータを指示する指示手段と、
前記復号化手段に入力される符号データの位置情報を監視する監視手段と、
前記第１記憶手段に記憶したデータに対応する符号データの位置情報を記憶するための第２記憶手段と
を備えたことを特徴とする請求項１〜３のいずれかに記載の画像データ処理装置。
【請求項５】
前記第１及び第２記憶手段を複数備え、各記憶手段に複数ライン分の前記データ及び位置情報を記憶するようにしたことを特徴とする請求項４に記載の画像データ処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＣＣＤやＣＭＯＳセンサなどの撮像素子から取り込んだ画像データを処理する画像データ処理装置に関するものである。
【０００２】
近年、デジタルカメラの記録画素数は拡大の一途を辿っており、それに応じて処理負荷が益々重くなる傾向にある。そのため、デジタルカメラにおけるデータ処理システムでは、連写速度を高める目的でバッファメモリを搭載することが多い。同システムにおいて、少しでも処理能力を高めるためにはバッファメモリを極力有効に使用することが望まれており、データ処理の途中で発生する中間データによるバッファの専有を避ける技術が重要な課題となっている。
【０００３】
【従来の技術】
デジタルカメラにおいて、例えば、原色ベイヤー配列で配置された単版式の撮像素子のデータを記録する場合、撮像素子から入力される生データを一旦バッファメモリに格納した後、該メモリからデータを読み出して３版化のための補間処理やファイル圧縮のためのＪＰＥＧ圧縮などの処理が行われている。この場合、理想的には、撮像素子からの入力データを、バッファメモリを使用することなく記録対象のデータであるＪＰＥＧデータに変換し、変換結果をバッファメモリに蓄積することができれば、バッファメモリを最大限に有効活用することが可能となる。しかしながら、撮像素子からのデータ入力は一定の順序を保って入力され、その順番は必ずしも後処理の回路（補間回路等）で都合の良い順番になっていない。その一例として、インタレース型のスキャンを行う撮像素子を用いる場合、フィールド単位でデータが入力されてくるが、そのデータを補間する補間回路はフィールド単位ではなくフレーム単位で処理を行うため、先行するフィールドのデータをバッファメモリに一旦待避しておく必要がある。また、補間回路は大きなラインメモリを必要とし、回路量の制約から矩形に分割して補間処理を行うといった形態をとる。そのため、フレーム単位で読み出し可能な撮像素子（具体的には、プログレッシブ型のスキャンを行う撮像素子）を用いた場合でも、バッファメモリへのデータ待避が必要となる。さらに、ＪＰＥＧ圧縮の処理では、８×８画素単位の矩形（ブロック単位）で圧縮処理を行うことが決められているため、撮像素子からのデータ入力の順番がその処理に適合することはほとんど有り得ない。
【０００４】
一方、高画質なデジタルカメラでは、カメラ内部での補間処理を行わず、生データを記録しておいて、後にソフトウェアにより補間処理を行うものもあり、この記録方法はＲＡＷ記録と呼ばれている。ＲＡＷ記録の場合、補間前の生データに対して適当な符号化を行ってファイルサイズを小さくする技術がしばしば用いられる。また、この符号化は、隣接するデータ間では相関が強いことを利用して、差分を符号化するのが一般的である。この場合、一旦バッファメモリに待避させた非圧縮の生データを改めて符号化するという処理が行われる。これは、ＲＡＷ記録を行うデジタルカメラであっても、付属のモニタによって記録画像を確認したり、サムネールを作成したりする必要があるためである。すなわち、画像確認のためのデータ作成や、サムネール作成のために補間処理を行わねばならず、補間回路の処理対象となりうるフレームデータを一旦はバッファメモリ上に展開する必要が生じるためである。また、データ間の相関を利用しないで、単純に非可逆な非線型圧縮（例えば、γ補正による圧縮）等によりデータ圧縮を行うものであればバッファメモリにおけるデータの展開は不要となるが、階調が失われて画質が劣化するといった問題が生じてしまう。
【０００５】
因みに、特許文献１では、要求される処理速度と品質によって処理経路を動的に変更する技術が提案されている。また、特許文献２では、バッファメモリへ格納されたデータに対して効率よく矩形処理を行う手法が提案されている。
【０００６】
【特許文献１】
特開２００１−４５４２７号公報
【特許文献２】
特開２０００−３５４１９３号公報
【０００７】
【発明が解決しようとする課題】
上述したように、従来の画像データ処理装置では、撮像素子から入力される大量の生データ（非圧縮データ）をバッファメモリに待避する必要があるため、バッファメモリを有効に利用して補間処理等を行うことができなかった。
【０００８】
また、上記特許文献１，２においても、容量の大きなＲＡＷデータを一旦はバッファメモリに待避しなければならないといった問題には言及されておらず、その問題を解決するには至っていない。
【０００９】
本発明は上記問題点を解決するためになされたものであって、その目的は、画像データを記憶するためのメモリを有効的に使用して処理能力を向上することができる画像データ処理装置を提供することにある。
【００１０】
【課題を解決するための手段】
図１は、本発明の原理説明図である。すなわち、画像データ処理装置１０は、画像入力手段１１と、符号化手段１２と、記憶手段１３と、復号化手段１４と、補間手段１５とを備える。画像入力手段１１には、撮像素子から画像データが入力される。符号化手段１２では、画像入力手段１１から送出される画像データについて、隣接する撮像素子間のデータの相関を利用して符号化処理が行われる。なお、この符号化処理においては、例えば、隣接するデータの差分を求めてその差分を符号化することでデータ圧縮が行われる。また、画像データが複数の種類に区別される場合には、同一種別の近隣データ間で差分が求められ、その差分が符号化される。そして、符号化手段１２により符号化されたデータが記憶手段１３に格納される。復号化手段１４では、記憶手段１３から符号データを取り込んで該データの復号化処理が行われ、該復号化手段１４により復号化された画像データが補間手段１５に入力される。その補間手段１５によって、画像データの補間処理が行われて画像表示に必要なデータが生成される。この場合、記憶手段１３に対して、非圧縮の大容量のデータを記憶するのではなく、符号化により圧縮したデータが記憶されるので、記憶手段１３を有効活用することが可能となり、画像データ処理装置１０の処理能力が向上される。
【００１１】
また、撮像素子からの画像データが画像入力手段１１を介して符号化手段１２に順次入力される。符号化手段１２では、水平方向の相関のみを使用してライン毎に独立して画像データの符号化が行われる。その符号化に際して、水平ラインでの先頭の符号データの書き込み位置情報（アドレス）が書き込み位置保持手段２４により記憶手段１３に記憶される。この書き込み位置情報の記憶は、各ラインの先頭データを符号化する度に行われ、書き込み位置はライン番号に応じて設定された位置である。
【００１２】
さらに、読み出し位置保持手段３４により、記憶手段１３に記憶した位置情報（アドレス）が読み出され、その位置情報が参照されることにより、該記憶手段１３に格納されている符号列からラインの先頭の符号データが特定される。
【００１３】
このように構成することで、任意のラインの先頭から復号化処理を行うことが可能となる。その結果、画像の全体ではなく、画像をトリミングして表示する場合に、復号化処理が迅速に行われる。
【００１４】
図２に示すように、第１記憶手段４３には、復号化手段１４により復号されたデータが画素の種別毎に記憶される。この第１記憶手段４３に記憶すべきデータは指示手段により指示される。また、復号化手段１４に入力される符号データの位置情報が監視手段４７により監視され、第２記憶手段４５には、第１記憶手段４３の記憶データに対応する符号データの位置情報が記憶される。この場合、第１及び第２記憶手段４３，４５に記憶した情報を用いれば、第２記憶手段４５の位置情報により復号を再開すべき位置を特定し、第１記憶手段４３のデータを使用して、ライン途中の任意の位置から復号を再開することが可能となる。
【００１５】
さらに、第１及び第２記憶手段４３，４５を複数備えることにより、各記憶手段４３，４４に複数ライン分のデータと位置情報が記憶される。これにより、ＪＰＥＧ等の矩形処理を実現することが可能となる。
【００１６】
【発明の実施の形態】
（第１実施形態）
以下、本発明を具体化した第１実施形態を図面に従って説明する。
【００１７】
図３は、本実施形態の画像データ記録装置１０を示すブロック回路図である。なお、この画像データ記録装置１０は、例えば、デジタルカメラに搭載され、撮影した画像のデータを記録する。
【００１８】
画像データ記録装置１０は、画像データ入力部１１、符号化部１２、バッファメモリ１３、復号化部１４、補間部１５、レジスタ１６、ＣＰＵ１７、及び記録媒体１８を備え、それぞれバス１９を介して情報の授受が可能に接続されている。なお、本実施形態の画像データ記録装置１０では、画像データ入力部１１、符号化部１２、復号化部１４、補間部１５、レジスタ１６、及びＣＰＵ１７が１チップの半導体集積回路（ＬＳＩ）上に形成されており、該ＬＳＩの外付け部品としてバッファメモリ１３及び記録媒体１８が接続されている。また、バッファメモリ１３及び記録媒体１８へのデータ入出力は、１６ビットのバス幅のデータバスを介して行われる。
【００１９】
画像データ入力部１１には、図示しない撮像素子からの画像データが入力される。本実施形態において、撮像素子（具体的には、例えばＣＣＤセンサ）に設けられるカラーフィルタは、図４に示すように原色ベイヤー配列のものを使用しており、全画素読み出し方式（プログレッシブ・スキャン）により、各画素に対応する画像データが順次入力される。具体的には、複数の水平ラインについて上から下に順次走査される。また、１水平走査期間において、図４における左端の素子のデータから順次入力される。
【００２０】
画像データ入力部１１は、撮像素子からの画像データに基づいて、画質制御に必要となる明るさや色合いに関する色情報の抽出処理を行うとともに、その処理後の画像データを符号化部１２に送出する。なお、図４の第１ライン、第３ライン等の奇数ラインについては、赤色に関する色情報（データＲ）と緑色に関する色情報（データＧｒ）が抽出される。また、第２ライン、第４ライン等の偶数ラインについては、緑色に関する色情報（データＧｂ）と青色に関する色情報（データＢ）とが抽出される。
【００２１】
符号化部１２は、画像データを受け取ると、該画像データを順次符号化することでデータ圧縮を行う。この符号化は、近傍に位置する画素間の情報は相関が深いことを利用して行う。具体的には、同一種別（各色別）の隣り合う画素間における差分を算出し、その算出した差分に対して可変長の符号を割り当てる方法により符号化を行う。なお、符号化処理に用いる可変長符号はレジスタ１６に格納されている。
【００２２】
符号化部１２には、先ず、第１ラインのデータＲ０，Ｇｒ０，Ｒ１，Ｇｒ１，…が順に入力されるため、データ圧縮の手順としては、これらの入力データから連続する同一種別のデータ間での差分（具体的には、Ｒｎ−Ｒｎ−１，Ｇｒｎ−Ｇｒｎ−１）を算出する。この際、ライン先頭のデータＲ０，Ｇｒ０については、差分を取るための対象データが存在しないため、固定値と差分を取る必要があり、本実施形態では、その固定値を「０」とする。すなわち、算出結果として得られる差分データは順に、（Ｒ０−０），（Ｇｒ０−０），（Ｒ１−Ｒ０），（Ｇｒ１−Ｇｒ０），…となる。
【００２３】
なおここで、ＣＰＵ１７が適当な固定値をレジスタ１６に設定するよう構成してもよく、その構成によりデータの圧縮率の向上を図ることが可能となる。
また、符号化部１２は、演算結果（差分データ）に対して可変長符号を割り当てることでデータを圧縮し、その符号を１６ビットのデータに詰めていき、１６ビットのデータ単位でバッファメモリ１３に格納する。
【００２４】
そして、第１ライン目に関するデータの符号化が終了すると、次の第２ラインの画像データＧｂ０，Ｂ０，Ｇｂ１，Ｂ１，…が順に入力されてくるので、符号化部１２は、上記と同じ手順で符号化を行いバッファメモリ１３にデータを格納する。この手順を１フレームのライン数分繰り返すことで、撮像素子から取り込まれた画像データが圧縮された状態でバッファメモリ１３に取り込まれることとなる。
【００２５】
そして、バッファメモリ１３に１フレーム分の画像データの取り込みが完了した時点で、該画像データが外部の記録媒体１８に書き込まれて画像記録が行われる。
【００２６】
また、本実施形態の画像データ記録装置１０においては、取り込んだ画像を確認するためのモニタを備え、その画像確認のための動作が必要となる。具体的には、モニタに表示可能なデータを作成するために、バッファメモリ１３に一旦貯えたデータを読み出して補間処理を行う必要がある。
【００２７】
この場合、バッファメモリ１３の格納データは可変長符号化されたデータであり、その格納データを対象として補間処理を行う必要があるため、復号化部１４がバッファメモリ１３から符号データを読み出して該データの復号を行う。そして、復号化部１４が、その復号後の画像データを補間部１５へ送出するようにしている。
【００２８】
復号化部１４で行われる復号化処理としては、符号化部１２で行われる符号化処理の逆の処理である。すなわち、復号化部１４は、バッファメモリ１３から取り込んだ符号データを差分データにデコードし、その差分データを順次加算する。各ラインの先頭データについては、差分を算出するときに用いた固定値（具体的には、「０」）を加算することになる。
【００２９】
また、補間部１５は、その復号化後の画像データに対して補間処理を行い、モニタに表示可能なデータを作成して該データをモニタへ送出する。この補間処理では、画像データ入力部１１で抽出した色情報（各々１色分の色情報）について、その色情報以外の残り２色の情報を、周辺画素の色情報から推定して演算する。これにより、３原色の色情報を含むデータが生成される。
【００３０】
図５は、符号化部１２の具体的な構成を示すブロック回路図である。
符号化部１２は、シフトレジスタ２１、減算器２２、符号化ロジック回路２３、アドレスカウンタ２４、及びセレクタ２５，２６を備える。
【００３１】
符号化部１２において、画像データ入力部１１から送出された画像データがシフトレジスタ２１に順次格納される。シフトレジスタ２１は、画像データ（１６ビットの入力データ）を格納するための２つのレジスタ２１ａ，２１ｂを備える。そして、シフトレジスタ２１は、入力データを初段のレジスタ２１ａにラッチするとともに、後段のレジスタ２１ｂにデータをシフトする。例えば、シフトレジスタ２１が、初段のレジスタ２１ａに第１ラインの先頭データＲ０を保持しているときに、２番目のデータＧｒ０が画像データ入力部１１から入力されると、該データＧｒ０を初段のレジスタ２１ａにラッチするとともに、データＲ０を後段のレジスタ２１ｂにシフトする。
【００３２】
減算器２２には、画像データ入力部１１からのデータと、シフトレジスタ２１の後段のレジスタ２１ｂに保持されているデータとが入力される。減算器２２はそれらデータを用いて、各データ間の差分を演算する。ここで、シフトレジスタ２１における後段のレジスタ２１ｂにデータＲ０が保持され、初段のレジスタにデータＧｒ０が保持されており、さらに、画像データ入力部１１からデータＲ１が入力される場合、データＲ１からデータＲ０が減算されて差分データ（Ｒ１−Ｒ０）が算出される。このように、減算器２２では、同一種別の画素について、隣り合う画素間の差分データが算出される。
【００３３】
符号化ロジック回路２３には、減算器２２の算出結果である差分データが入力される。符号化ロジック回路２３は、差分データに対応する符号を割り当てる。ここでは、レジスタ１６に格納された可変長符号の符号表を参照することで差分データの符号化がなされる。従って、符号化ロジック回路２３において割り当てられる各符号のデータ長は異なるため、符号化ロジック回路２３は、符号した各符号データを１６ビットのデータとして順次詰めていき、１６ビット単位のデータとして出力する。
【００３４】
アドレスカウンタ２４は、バッファメモリ１３にデータの書き込みを行うためのアドレスを発生するカウンタである。なお、第１ラインの先頭符号の書き込みをする際には、外部から入力される初期アドレスがアドレスカウンタ２４に設定される。そして、符号化ロジック回路２３から１６ビットのデータが出力される度に、アドレスカウンタ２４のカウント値が「１」ずつカウントアップされる。
【００３５】
セレクタ２５は、ＣＰＵ１７から入力される制御信号Ｓ１に基づいて、アドレスカウンタ２４で保持されているカウンタ値（アドレス値）と、外部から入力されるアドレス値とのいずれか一方を選択的にバッファメモリ１３に出力する。
【００３６】
また、セレクタ２６は、ＣＰＵ１７から入力される制御信号Ｓ２に基づいて、アドレスカウンタ２４のアドレス値と、符号化ロジック回路２３から出力されるデータとのいずれか一方を選択的にバッファメモリ１３に出力する。
【００３７】
バッファメモリ１３では、セレクタ２５から入力されるアドレス値に基づいて、書き込み対象となるアドレスが指定され、その指定されたアドレスにセレクタ２６からのデータが書き込まれる。
【００３８】
本実施形態の符号化部１２は、１ライン分の画像データに関する符号化処理を開始するのに先立って、シフトレジスタ２１における各レジスタ２１ａ，２１ｂのデータを「０」にクリアする。これにより、各ラインの先頭データの差分を算出する際には、該先頭データから減算する固定データが「０」になる。
【００３９】
このように構成した符号化部１２において、減算器２２は、同一種別の隣り合う画素について、各画素から得られる画像データ間の差分データを常に出力している。従って、符号化ロジック回路２３では、減算器２２から入力されてくる差分データに対して、順次符号の割り当てを行いながら１６ビットのデータに詰めてデータ出力を行う。これにより、一連の符号化処理が実施される。そして、符号化ロジック回路２３から出力されたデータは、セレクタ２６を介してバッファメモリ１３に書き込まれる。
【００４０】
また、各ラインの符号列について先頭の符号データをバッファメモリ１３に記憶する際には、そのアドレス（位置情報）を記憶するよう構成している。つまり、バッファメモリ１３には、符号化されたデータを記憶するデータ記憶領域とデータのアドレスを記憶するアドレス記憶領域とが設けられている。そして、先頭の符号データをデータ記憶領域に記憶する際には、それに先立ってアドレスカウンタ２４が保持しているアドレス値をアドレス記憶領域に書き込むための処理が行われる。
【００４１】
具体的に、符号化ロジック回路２３が第１ラインの先頭データＲ０を符号化しそのデータを書き込む場合、先ず、アドレスカウンタ２４に、外部から入力される初期値が設定される。そして、セレクタ２５は、制御信号Ｓ１に基づいて外部から入力されるアドレス値をバッファメモリ１３に出力し、セレクタ２６は制御信号Ｓ２に基づいてアドレスカウンタ２４に設定した初期値のカウント値（アドレス値）をバッファメモリ１３に出力する。ここで、外部からセレクタ２５に入力されるアドレス値は、バッファメモリ１３におけるアドレス記憶領域を示す値である。また、アドレスカウンタ２４に設定される初期値は、バッファメモリ１３におけるデータ記憶領域の先頭アドレスを示す値である。従って、バッファメモリ１３には、外部から入力されたアドレス値により指定されるアドレス記憶領域に、データ記憶領域の先頭アドレス（第１ラインの符号列を記憶するためのアドレス）が記憶される。
【００４２】
そのアドレスの記憶後、符号化ロジック回路２３で符号化したデータを書き込む場合、セレクタ２５は、制御信号Ｓ１に基づいてアドレスカウンタ２４のカウント値（アドレス値）をバッファメモリ１３に出力し、セレクタ２６は、制御信号Ｓ２に基づいて符号化ロジック回路２３の符号データをバッファメモリ１３に出力する。従って、バッファメモリ１３には、アドレスカウンタ２４のアドレス値により指定されるデータ記憶領域に、符号データが記憶される。以降は、符号化ロジック回路２３から符号データが順次出力され、そのデータ出力の都度、アドレスカウンタ２４のカウント値が「１」ずつインクリメントされる。そして、アドレスカウンタ２４のカウント値で指定されるアドレスに符号化ロジック回路２３の出力データ（符号データ）が順次記憶されていく。
【００４３】
また、ラインの最終データを処理したときに１６ビットに満たないデータが残った場合、符号化ロジック回路２３では、その残りの部分に「０」又は「１」を詰めてデータを出力する。そして、そのデータの書き込みが行われ、第１ラインの画像データの符号化処理が終了される。
【００４４】
その後、第２ライン以降の画像データも同様に符号化処理が実施され、該符号化処理は１フレームのライン数分だけ繰り返し実施される。その結果、１フレームに対応する全ての画像データが符号化されバッファメモリ１３に格納される。なお、第２ライン以降においても、ライン先頭の画像データを処理する場合、セレクタ２５は、制御信号Ｓ１に基づいて外部から入力されるアドレス値をバッファメモリ１３に出力し、セレクタ２６は、制御信号Ｓ２に基づいてアドレスカウンタ２４のアドレス値をバッファメモリ１３に出力する。これにより、バッファメモリ１３のアドレス記憶領域には、各ラインの符号列を格納している先頭アドレスが記憶される。
【００４５】
図６は、復号化部１４の構成を示すブロック回路図である。
復号化部１４は、復号化ロジック回路３１、加算器３２、シフトレジスタ３３、アドレスカウンタ３４、及びセレクタ３５を備える。
【００４６】
復号化部１４において、復号化ロジック回路３１は、バッファメモリ１３から符号データを読み出してデータの復号を行い、その復号により得られた差分データを出力する。加算器３２は、復号化ロジック回路３１から出力される差分データとシフトレジスタ３３の出力データに基づいて、差分をとる前の画像データに組み立て直すための加算を行う。シフトレジスタ３３は、加算器３２から入力されるデータを初段のレジスタ３３ａにラッチするとともに後段のレジスタ３３ｂにデータをシフトし、その後段のレジスタ３３ｂのデータを前記加算器３２に戻す。
【００４７】
アドレスカウンタ３４は、バッファメモリ１３におけるデータの読み出しアドレスを発生するカウンタである。セレクタ３５は、ＣＰＵ１７から入力される制御信号Ｓ３に基づいて、アドレスカウンタ３４で保持されているアドレス値と、外部から入力されるアドレス値とのいずれか一方を選択的にバッファメモリ１３に出力する。
【００４８】
上述したように、本実施形態では、バッファメモリ１３に、符号データに加えて、各ラインの符号列の先頭アドレスが記憶されている。そして、復号化部１４において、先頭アドレスを参照することにより、任意のラインから復号化処理を開始することが可能となっている。
【００４９】
具体的に、Ｌライン目の符号列の先頭から復号化処理を開始する場合、先ず、セレクタ３５は、制御信号Ｓ３に基づいて外部から入力されるアドレス値をバッファメモリ１３に出力する。そして、アドレスカウンタ３４は、そのアドレス値に応じてバッファメモリ１３から読み出されたデータを取り込む。ここで、外部から入力されるアドレス値は、復号の対象とするＬライン目の符号列の先頭アドレスを格納しているアドレスを指定する。つまり、アドレスカウンタ３４には、Ｌライン目の符号列の先頭アドレスが格納される。なお、各ラインに対応した先頭アドレスを格納するためのアドレスは、システムとして予め設定されている。その設定情報は、固定値としてもよいし、ＣＰＵ１７のアクセス可能なメモリ領域上に記憶させる構成としてもよい。
【００５０】
ここで、セレクタ３５は、制御信号Ｓ３に基づいて、アドレスカウンタ３４から出力されるアドレス値をバッファメモリ１３に出力する。これにより、バッファメモリ１３において、Ｌラインの符号列を格納している先頭アドレスから符号データが読み出される。また、バッファメモリ１３からデータを読み出す度に、アドレスカウンタ３４が「１」ずつインクリメントされ、そのアドレスカウンタ３４のカウント値がセレクタ３５を介して、次の読み出し対象のアドレス値としてバッファメモリ１３に出力される。その結果、Ｌライン目の符号データがバッファメモリ１３から順次読み出されることとなる。
【００５１】
バッファメモリ１３から読み出された符号データは、復号化ロジック回路３１で復号されて、同一種別の隣接する画素間の差分データが復元される。この差分データは、加算器３２において、同一種別の直前の画像データに加算されて元の画像データとして復元される。これにより、撮像素子からの画像データを完全に復元することが可能となり、その復元した画像データが加算器３２から後段の補間部１５へ順次送出される。
【００５２】
ここで、加算器３２の出力データは、補間部１５へ入力されるとともに、シフトレジスタ３３にも入力される。シフトレジスタ３３において、そのデータが入力されると、該データを初段のレジスタ３３ａにラッチするとともに、初段のレジスタ３３ａに保持していたデータを後段のレジスタ３３ｂにシフトする。シフトレジスタ３３は、そのシフト結果として、後段のレジスタ３３ｂのデータを加算器３２に戻す。
【００５３】
このように構成することで、シフトレジスタ３３から加算器３２に戻されるデータは、復号化ロジック回路３１で復号された差分データを加算すべき直前の画像データになる。また、１ライン分の画像データに関する復号化処理を開始するのに先立って、シフトレジスタ３３における各レジスタ３３ａ，３３ｂのデータを「０」にクリアする。こうすることで、各ラインの先頭の画像データを復元するのに必要となる固定値の「０」が自動的にシフトレジスタ３３から加算器３２に入力されることとなる。
【００５４】
このように、画像データ記録装置１０を構成すると、バッファメモリ１３に書き込んだ符号データを、任意のラインから読み出しで復号することが可能となる。これにより、補間部１５においては、バッファメモリ１３に取り込んだ全画像データを補間処理の対象とするのではなく、必要に応じてトリミングした画像データを対象として補間処理が実施される。
【００５５】
撮像素子から入力される各画像データは、水平方向のみではなく、垂直方向の近隣画素についても強い相関を持つ。従って、ラインの先頭データと固定値との差分をとるのではなく、垂直方向に存在する同一種別の近傍画素、すなわち、２ライン前の画像データと差分をとることで圧縮率をより高めることが可能となる。しかしながら、本実施形態では、その垂直方向の相関を立ち、水平方向のみの相関を利用した符号化を行った上で、各ラインの先頭符号のアドレスを記憶することにより、簡単に任意のラインから復号を開始することを可能としている。
【００５６】
また従来、符号化による圧縮、特に、近隣画像の相関を利用した符号化による圧縮をした場合では、トリミングした画像データを補間処理の対象とするときにも、復号化の際には、符号データの先頭から順次復号を行っていかねばならないといった問題があった。そのため、復元した画像データに対して、公知の画像圧縮技術であるＪＰＥＧ圧縮の矩形処理を行う場合には、冗長処理が発生してしまう。
【００５７】
また、ＪＰＥＧ圧縮の場合、リスタートマーカと呼ばれるコードが符号列に一定のインターバルで挿入されており、符号列の中からリスタートマーカのコードをサーチすることで、一定のインターバル単位で画像データを切り出すことが可能である。しかし、リスタートマーカをサーチする処理には相当な時間がかかってしまう。
【００５８】
これに対して、本実施形態では、各ラインの先頭符号のアドレスを記憶し、それを参照することで任意のラインから復号が簡単に開始される。よって、ＪＰＥＧ圧縮の矩形処理を行う場合にも、冗長処理が発生することが回避される。
【００５９】
以上記述したように、上記実施形態によれば、下記の効果を奏する。
（１）バッファメモリ１３に対して非圧縮の大容量のデータを待避する必要がないので、バッファメモリ１３を有効活用することができる。これにより、バッファメモリ１３の容量を削減することが可能となる。また、バッファメモリの容量を変更しない場合には、デジタルカメラにおける連続処理可能な画像数を増すことができる。つまり、画像データ記録装置１０を用いることにより、デジタルカメラのシステムコストと処理能力の向上を図ることができる。
【００６０】
（２）任意のラインの先頭から復号化処理を行うことが可能であるため、画像をトリミングする場合の復号化処理を迅速に行うことができる。また、ＪＰＥＧ圧縮の矩形処理を行う場合にも、第１ラインから符号化を行う必要がなくなることから、従来技術のように冗長処理が発生することを回避できる。
【００６１】
（第２実施形態）
上記第１実施形態において、復号化部１４で復号された画像データは後段の補間部１５に送られて補間処理が行われる。補間部１５にはラインメモリ（図示略）が設けられており、そのラインメモリを用いて補間処理が行われる。このラインメモリを必要とする理由は、所定の画素に着目して補間処理をする際に、その着目した画素の上下のラインにある画素の色情報を使用するからである。
【００６２】
具体的には、図４に示すベイヤー配列の場合、第１ライン、第３ライン等の奇数ラインでは、赤色のデータＲと緑色のデータＧｒは存在するが、青色のデータＢは存在しない。また、第２ライン、第４ライン等の偶数ラインでは、緑色のデータＧｂと青色のデータＢは存在するが赤色のデータＲは存在しない。そして、補間処理では、全ての画素について、赤・緑・青のデータのうち欠落した情報を補って赤・緑・青の色情報の揃ったデータ化が行われる。それ故、単一ラインの画像データだけでは、各色情報を補間処理で補うことができない。
【００６３】
従って、最も原始的な補間方法、例えば、欠落した情報を近傍画素の情報により埋める最近傍法を用いる場合においても、少なくとも１ライン分の画像データを記憶させ、２ラインの画像データを一度に参照する必要がある。この最近傍法を採用する場合であれば、１ライン分のデータ記憶で済むが、より高精度な補間を実現するためには参照範囲を広げる必要があり、高画質なデジタルカメラなどにおいては、１０数ラインもの情報を用いて補間処理が行われている。そのため、補間部１５を構成する回路としてラインメモリを大量に搭載する必要が生じ、回路規模を増大させる原因になっている。
【００６４】
そこで、図７に示すように、ラインメモリのサイズを、全画像の水平サイズ（水平ライン上にある全画素数のデータを記憶するためのサイズ）Ｓ１０よりも小さなサイズＳ２０とすることで、回路規模の増大を抑制している。そして、全画像を処理する際には、ラインメモリのサイズＳ２０で横幅が設定される短冊状の領域（Ｂｌｏｃｋ１〜ＢｌｏｃｋＸ）に分割して補間処理を行う。具体的な処理の順番としては、図７におけるＢｌｏｃｋ１のＬｉｎｅ１〜ＬｉｎｅＹ，Ｂｌｏｃｋ２のＬｉｎｅ１〜ＬｉｎｅＹ，…，ＢｌｏｃｋＸのＬｉｎｅ１〜ＬｉｎｅＹとなる。従って、この順番で補間部１５にデータを供給する必要がある。
【００６５】
図８に示す本実施形態の復号化部４１は、上述した順序で補間部１５にデータを供給可能に構成されている。なお、図８において、第１実施形態の復号化部１４と同等の構成については同一の記号を付している。
【００６６】
本実施形態の復号化部４１は、復号化ロジック回路３１、加算器３２、シフトレジスタ３３，４３、アドレスカウンタ３４、セレクタ３５，４４、データカウンタ４２、レジスタ４５、及びデクリメンタ４６を備える。すなわち、復号化部４１は、第１実施形態の復号化部１４との相違点として、データカウンタ４２、シフトレジスタ４３、セレクタ４４、レジスタ４５、デクリメンタ４６が追加されている。以下、第１実施形態との相違点を中心に説明する。
【００６７】
データカウンタ４２は、各領域（Ｂｌｏｃｋ１〜ＢｌｏｃｋＸ）の幅情報を記憶しており、読み出しデータをカウントしたカウント値とブロックの幅情報とに基づいて許可信号をシフトレジスタ４３に出力する。具体的には、図７に示す各領域の右端にあるデータＲとデータＧとを復号する際に、データカウンタ４２は許可信号をシフトレジスタ４３に出力する。このとき、シフトレジスタ４３は、その許可信号に応答して動作し、加算器３２から出力されるデータＲとデータＧとを順次ラッチすることで、各データＲ，Ｇを初段のレジスタ４３ａと後段のレジスタ４３ｂとに記憶する。
【００６８】
復号化ロジック回路３１は、読み出しデータである１６ビットの符号データを復号する際に、その１６ビットのうちで復号されずに残っているビット数を表す４ビットの履歴情報を記憶しており、その履歴情報を使用してデータの復号を行っている。ここで、４ビットの履歴情報が００００であった場合には、取り込んだ１６ビットの符号データのうち、復号されずに残っているビットがないことを意味し、履歴情報が０００１〜１１１１である場合、その数値が復号されずに残っているビット数を示す。
【００６９】
そして、復号化ロジック回路３１は、各ブロックの右端にあるデータＲとデータＧとを復号したとき、４ビットの履歴情報をレジスタ４５に送出してその情報をレジスタ４５に記憶させる。またこのとき、アドレスカウンタ３４は、アドレス値をレジスタ４５に送出してそのアドレス値をレジスタ４５に記憶させる。デクリメンタ４６は、レジスタ４５に記憶されたアドレス値を取り込み、アドレス値から「１」を減算し、その減算したアドレス値を出力する。
【００７０】
セレクタ３５は、ＣＰＵ１７から入力される制御信号Ｓ４に基づいて、アドレスカウンタ３４からのアドレス値と、レジスタ４５からのアドレス値と、デクリメンタ４６からのアドレス値と、外部から入力されるアドレス値とのいずれか１つを選択的にバッファメモリ１３に出力する。また、セレクタ４４は、ＣＰＵ１７から入力される制御信号Ｓ５に基づいて、シフトレジスタ３３からのデータとシフトレジスタ４３からのデータとのいずれか一方を選択的に加算器３２に出力する。
【００７１】
このように構成した復号化部４１において、Ｂｌｏｃｋ１の復号化処理を終えた後、Ｂｌｏｃｋ２のＬｉｎｅ１から復号を再開する場合、レジスタ４５の記憶情報から先頭の符号アドレスを特定して符号データを読み出す。ここで、レジスタ４５の記憶情報は、既に復号が終了したＢｌｏｃｋ１の画素（右端にある画素）の右隣の画素に対する符号位置を示している。例えば、レジスタ４５において、復号化ロジック回路３１から記憶した４ビットの履歴情報が００００を示していた場合、アドレスカウンタ３４から記憶したアドレス値が次の画素に対する符号アドレスになる。従って、セレクタ３５は、制御信号Ｓ４に基づいて、レジスタ４５から出力されるアドレス値をバッファメモリ１３に出力する。これにより、そのアドレス値に対応する有効な符号データをバッファメモリ１３から読み出す。
【００７２】
また、レジスタ４５に記憶されている４ビットの履歴情報が００００でない場合には、既に、次の画素に対する符号データが一部取り込まれていることを意味する。従って、セレクタ３５は、制御信号Ｓ４に基づいて、デクリメンタ４６から出力されるアドレス値をバッファメモリ１３に出力する。これにより、そのアドレス値に対応する有効な符号データをバッファメモリ１３から読み出す。
【００７３】
ここで、Ｂｌｏｃｋ２の符号データはライン途中にある符号データであるが、既に復号化処理を行ったＢｌｏｃｋ１に続く領域のデータであるので、レジスタ４５の記憶情報に基づいて、Ｂｌｏｃｋ２の画素に対する符号データの位置（アドレス）を特定することができる。つまり、復号化ロジック回路３１は、レジスタ４５から取得した４ビットの履歴情報を使用することで、Ｂｌｏｃｋ２の先頭の符号データから復号を再開する。
【００７４】
そして、その符号データの復号を再開する際には、Ｂｌｏｃｋ２における先頭の２画素について、シフトレジスタ４３に記憶したデータを用いる。具体的には、シフトレジスタ４３は、データカウンタ４２から出力される許可信号に応答して動作し、加算器３２からデータが出力されると、各レジスタ４３ａ，４３ｂに記憶している各データ（Ｂｌｏｃｋ１の右端にあるデータＲとデータＧ）を順次出力する。このとき、セレクタ４４は、制御信号Ｓ５に基づいてシフトレジスタ４３からのデータを加算器３２に出力する。加算器３２は、そのデータを復号化ロジック回路３１から出力される差分データに加算し、その加算結果により元の画像データに復元する。そして、加算器３２はその画像データを補間部１５及びシフトレジスタ３３，４３に出力する。
【００７５】
また、Ｂｌｏｃｋ３以降の復号化処理についても同様に既に復号を終えた領域に続く場合であれば、ライン途中からでも復号の再開が可能である。
本実施形態において、データカウンタ４２が指示手段に相当し、シフトレジスタ４３が第１記憶手段に相当する。また、復号化ロジック回路３１とアドレスカウンタ３４が監視手段に相当し、レジスタ４５が第２記憶手段に相当する。
【００７６】
なお、復号化部４１において、シフトレジスタ４３及びレジスタ４５は、複数ライン数分用意されているが便宜上、図示を省略している。例えば、補間後のデータに対して、直接ＪＰＥＧのような矩形処理を行う場合には、８×８画素のブロック単位で処理が行われる。この場合には、シフトレジスタ４３及びレジスタ４５を８ライン分設け、補間回路の処理方式を加味して、ＪＰＥＧ処理に必要な８ラインを常に出力するに足るライン数（８ライン＋補間の参照ライン数−１）の記録を残すように構成する。
【００７７】
以上記述したように、上記実施形態によれば、下記の効果を奏する。
（１）バッファメモリ１３に対して非圧縮の大容量のデータを待避する必要がない。さらに、シフトレジスタ４３及びレジスタ４５が複数用意されることにより、バッファメモリ１３の格納データを使用したＪＰＥＧ等の矩形処理の実現についても解決することができる。
【００７８】
上記実施の形態は、次に示すように変更することもできる。
・上記実施形態において、全てのラインにおける先頭符号のアドレスを記憶して、任意のラインから符号化処理を開始できる構成としたが、これに限定されるものではない。システムとしてトリミングを行うためのラインが予め設定されるものでは、トリミングに必要なラインの先頭符号のアドレスのみを記憶する構成としてもよい。またこの場合、先頭符号のアドレスを記憶する必要がない各ラインにおける先頭データの符号化に際しては、固定値との差分をとるのではなく、２ライン前の画素のデータとの差分を取る処理（垂直方向の相関を利用した符号化処理）を行うようにしてもよい。
【００７９】
・上記実施形態では、各ラインの符号列の先頭アドレスと符号データとをバッファメモリ１３に記憶する構成としたが、符号データを記憶するバッファメモリ１３とは別の記憶手段（例えば、レジスタ１６）に先頭アドレスを記憶する構成としてもよい。
【００８０】
・符号化部１２における符号化処理は、画像データの差分を算出して符号化するものであったが、それ以外に、ＦＦＴ（フーリエ変換）やＤＣＴ（離散コサイン変換）等を用いて符号化するものでもよい。要は、隣接する撮像素子間のデータの相関を利用して符号化処理を行うものであればよい。
【００８１】
・全画素読み出し方式のスキャン（プログレッシブ・スキャン）を行う撮像素子に具体化したが、インタレース方式のスキャンを行う撮像素子に具体化してもよい。また、撮像素子としては、ＣＣＤセンサ以外に、ＣＭＯＳセンサを用いてもよい。
【００８２】
・画像データ記録装置１０は、バッファメモリ１３に格納した符号データを外部の記録媒体１８に記憶する構成であるが、補間部１５にて補間処理が施された補間後のデータを記録媒体１８に記録する構成としてもよい。
【００８３】
・上記実施形態では、外部の記録媒体１８に画像データを記録する画像データ記録装置１０に具体化するものであったが、これ以外に、記録機能を省略してモニタに表示するための補間処理を行う画像データ処理装置に具体化してもよい。
【００８４】
以上の様々な実施の形態をまとめると、以下のようになる。
（付記１）撮像素子からの画像データを入力する画像入力手段と、画像データを一旦格納する記憶手段と、前記記憶手段に格納した画像データに基づいて補間処理を行う補間手段とを備えた画像データ処理装置であって、
前記画像入力手段から送出される画像データについて、隣接する前記撮像素子間のデータの相関を利用して符号化処理を行い、符号化したデータを前記記憶手段に格納する符号化手段と、
前記記憶手段からデータを取り込んで該データの復号化処理を行い、復号化したデータを前記補間手段に入力する復号化手段と
を備えたことを特徴とする画像データ処理装置。
（付記２）前記符号化手段は、前記撮像素子間の画像データの差分を求め、該差分を符号化することでデータ圧縮し、
前記復号化手段は、前記記憶手段から取り込んだ符号データを前記差分に復号し、その差分を用いて元の画像データに復元することを特徴とする付記１に記載の画像データ処理装置。
（付記３）前記画像入力手段は、前記画像データから画質制御に必要な色情報を抽出し、該抽出した色情報を含む画像データを前記符号化手段に送出することを特徴とする付記１に記載の画像データ処理装置。
（付記４）前記補間手段は、前記画像入力手段が抽出した色情報について、所定画素の色情報以外の色情報を、該所定画素の周辺画素の色情報から推定して演算する補間処理を行うことを特徴とする付記３に記載の画像データ処理装置。
（付記５）前記記憶手段に格納したデータ又は前記補間手段にて補間処理が施された補間後のデータを記憶する記録媒体を備えることを特徴とする付記１に記載の画像データ処理装置。
（付記６）撮像素子からの画像データが前記画像入力手段を介して順次入力され、前記符号化手段は、水平方向の相関のみを使用してライン毎に独立して画像データの符号化を行うものであり、
前記水平ラインの先頭の符号データについて、その符号データの書き込み位置情報を記憶する書き込み位置保持手段を備えたことを特徴とする付記１に記載の画像データ処理装置。
（付記７）前記符号化手段は、前記撮像素子間の画像データの差分を求め、該差分を符号化することでデータ圧縮するものであり、各ラインにおける先頭の画像データの差分を求める際には、その差分を求める初期値として固定値を用いることを特徴とする付記６に記載の画像データ処理装置。
（付記８）前記書き込み位置情報を読み出し、その位置情報を参照することにより、該記憶手段に格納されている符号列からラインの先頭の符号データを特定する読み出し位置保持手段を備えたことを特徴とする付記６に記載の画像データ処理装置。
（付記９）前記復号化手段により復号されたデータを画素の種別毎に記憶するための第１記憶手段と、
前記第１記憶手段に対して記憶すべきデータを指示する指示手段と、
前記復号化手段に入力される符号データの位置情報を監視する監視手段と、
前記第１記憶手段に記憶したデータに対応する符号データの位置情報を記憶するための第２記憶手段と
を備えたことを特徴とする付記１〜８のいずれかに記載の画像データ処理装置。
（付記１０）前記第１及び第２記憶手段を複数備え、各記憶手段に複数ライン分の前記データ及び位置情報を記憶するようにしたことを特徴とする付記９に記載の画像データ処理装置。
（付記１１）前記第１記憶手段に記憶したデータと、前記第２記憶手段に記憶した位置情報とに基づいて、ライン途中から復号化処理を再開することを特徴とする付記９又は１０に記載の画像データ処理装置。
【００８５】
【発明の効果】
以上詳述したように、本発明によれば、画像データ処理装置において、メモリを有効的に使用することにより、処理能力を向上することができる。
【図面の簡単な説明】
【図１】本発明の原理説明図である。
【図２】復号化手段を示すブロック回路図である。
【図３】第１実施形態の画像データ記録装置のブロック回路図である。
【図４】原色ベイヤー配列のパターンを示す説明図である。
【図５】符号化部を示すブロック回路図である。
【図６】復号化部を示すブロック回路図である。
【図７】補間部での処理単位を示す説明図である。
【図８】第２実施形態の復号化部を示すブロック回路図である。
【符号の説明】
１０  画像データ処理装置としての画像データ記録装置
１１  画像入力手段としての画像データ入力部
１２  符号化手段としての符号化部
１３  記憶手段としてのバッファメモリ
１４  復号化手段としての復号化部
１５  補間手段としての補間部
２４  書き込み位置保持手段としてのアドレスカウンタ
３１  監視手段を構成する復号化ロジック回路
３４  読み出し位置保持手段としてのアドレスカウンタ
４２  指示手段としてのデータカウンタ
４３  第１記憶手段としてのシフトレジスタ
４５  第２記憶手段としてのレジスタ
【図１】
2004297653.tif 000003
【図２】
2004297653.tif 000004
【図３】
2004297653.tif 000005
【図４】
2004297653.tif 000006
【図５】
2004297653.tif 000007
【図６】
2004297653.tif 000008
【図７】
2004297653.tif 000009
【図８】
2004297653.tif 000010