(57)【特許請求の範囲】
【請求項１】
撮像手段と、
前記撮像手段により得られたＲＡＷデータを周波数変換してサブバンド毎の２次元係数配列を生成し、該２次元係数配列を符号化して、符号化データを生成する符号化手段と、
前記符号化手段により生成された符号化データを記憶媒体に記憶する記憶手段と
を備え、
前記符号化手段は、１画面の前記ＲＡＷデータを水平方向に複数の領域に分割した場合の、前記複数の領域の一つの領域の符号化データのうち、前記一つの領域の次の領域の符号化データを復号するために必要な所定の符号化データに係る情報を生成し、
前記記憶手段は、前記情報を前記符号化データと共に記憶し、
前記所定の符号化データは、前記周波数変換におけるフィルタのタップ数、及び、前記サブバンドの分解レベルに基づいて決定される、ことを特徴とする撮像装置。
【請求項２】
前記符号化手段は、
前記次の領域の符号化データを復号するために必要な情報を、前記符号化におけるパラメータと、前記分割された領域の境界位置と、に基づいて特定することを特徴とする請求項１に記載の撮像装置。
【請求項３】
前記符号化手段は、
前記一つの領域の符号化データが、該領域と隣接する領域内の符号化データを復号するために必要な所定の符号化データである場合には、該符号化データの位置、該符号化データの符号化に用いたパラメータ、を含む情報を生成することを特徴とする請求項１又は２に記載の撮像装置。
【請求項４】
前記所定の符号化データの符号化に用いたパラメータは、前記符号化として行われた予測差分型エントロピー符号化において該所定の符号化データについて求めた予測値であることを特徴とする請求項１乃至３の何れか１項に記載の撮像装置。
【請求項５】
前記所定の符号化データの符号化に用いたパラメータは、前記符号化として行われたランレングス符号化において、該所定の符号化データよりも先に符号化し且つ該所定の符号化データと同じ値の係数の値と、該所定の符号化データまでのラン長と、を含むことを特徴とする請求項１乃至３の何れか１項に記載の撮像装置。
【請求項６】
撮像手段を有する撮像装置の制御方法であって、
前記撮像手段により得られたＲＡＷデータを周波数変換してサブバンド毎の２次元係数配列を生成し、該２次元係数配列を符号化して、符号化データを生成する符号化工程と、
前記符号化工程で生成された符号化データを記憶媒体に記憶する記憶工程と
を備え、
前記符号化工程では、１画面の前記ＲＡＷデータを水平方向に複数の領域に分割した場合の、前記複数の領域の一つの領域の符号化データのうち、前記一つの領域の次の領域の符号化データを復号するために必要な所定の符号化データに係る情報を生成し、
前記記憶工程では、前記情報を前記符号化データと共に記憶し、
前記所定の符号化データは、前記周波数変換におけるフィルタのタップ数、及び、前記サブバンドの分解レベルに基づいて決定される、ことを特徴とする撮像装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮像装置における符号化技術に関するものである。
【背景技術】
【０００２】
ディジタルカメラでは、画像センサから出力された画像データに対し、デモザイク処理、ノイズ除去処理、光学歪み補正、色補正処理等の現像処理を行い、最終的な画像データを生成している。撮像素子の高密度化により現像処理前の画像データ（以下ＲＡＷデータ）の画素数は年々増加していくため、現像処理に伴うメモリ容量もＲＡＷデータの水平画素数に比例して増大する。そこでＲＡＷデータを外部メモリ上へ一時的に格納し、外部メモリ上に一時的に格納したＲＡＷデータを水平方向に分割して現像処理を実行する構成が現像処理に伴うメモリ容量の削減に対して有効となる。ただしこの場合、ＲＡＷデータの画素数の増加に比例する「ＲＡＷデータを格納する外部メモリ容量」と「外部メモリに対する伝送帯域の増大」が課題となる。ここで、ＲＡＷデータを符号化して外部メモリ上へ保持することで、外部メモリ容量及び伝送帯域を削減することが可能となる。しかし、符号化したＲＡＷデータに対して分割現像処理を実行するためには、符号化したＲＡＷデータを分割して復号化する必要がある。例えば、画面をタイル状に分割することで所望の画面領域を部分復号化可能とする符号化を適用する方法が考えられる（特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第４２０８９００号
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、画面を分割して符号化する場合、特に符号化対象画素の周辺画素値との相関性を利用した予測差分符号化やエントロピー符号化の観点から、画面分割による分割境界の相関性を利用することが不可能となる。そのため、符号化効率を低下させる可能性があり、画質の観点からも好ましくない。そこで、画面分割することなく部分的な復号化が可能な符号化・復号化方法が望まれる。
【０００５】
本発明はこのような問題に鑑みてなされたものであり、ＲＡＷデータを画面分割することなく符号化した符号化ＲＡＷデータを分割して復号し、現像処理を分割画面を単位に行うための技術を提供する。
【課題を解決するための手段】
【０００６】
本発明の一様態は、撮像手段と、前記撮像手段により得られたＲＡＷデータを周波数変換してサブバンド毎の２次元係数配列を生成し、該２次元係数配列を符号化して、符号化データを生成する符号化手段と、前記符号化手段により生成された符号化データを記憶媒体に記憶する記憶手段とを備え、前記符号化手段は、１画面の前記ＲＡＷデータを水平方向に複数の領域に分割した場合の、前記複数の領域の一つの領域の符号化データのうち、前記一つの領域の次の領域の符号化データを復号するために必要な所定の符号化データに係る情報を生成し、前記記憶手段は、前記情報を前記符号化データと共に記憶し、前記所定の符号化データは、前記周波数変換におけるフィルタのタップ数、及び、前記サブバンドの分解レベルに基づいて決定される、ことを特徴とする。
【発明の効果】
【０００７】
本発明の構成により、ＲＡＷデータを画面分割することなく符号化した符号化ＲＡＷデータを分割して復号し、現像処理を分割画面を単位に行うことができる。これにより、例えば、ＲＡＷデータの符号化効率の低下を防ぎ、且つ現像処理に伴うメモリ容量を削減することが可能となる。
【図面の簡単な説明】
【０００８】
【図１】撮像装置のハードウェア構成例を示すブロック図。
【図２】ベイヤー配列のカラーフィルタを示す図。
【図３】ＲＡＷデータ符号化・復号化部１０３の構成例を示すブロック図。
【図４】プレーン分解及びサブバンド分割を説明する図。
【図５】フィルタバンク構成及びサブバンドを示す図。
【図６】予測差分型エントロピー符号化を説明する図。
【図７】エントロピー符号化部３０３が行う処理のフローチャート。
【図８】ｐｄｅｃ＿ｉｎｆｏシンタクスを示す図。
【図９】符号化画像ファイルのフォーマット例を示す図。
【図１０】分割領域の分割水平画素数を説明する図。
【図１１】ランレングス符号化を説明する図。
【図１２】ｐｄｅｃ＿ｉｎｆｏシンタクスを示す図。
【発明を実施するための形態】
【０００９】
以下、添付図面を参照し、本発明の好適な実施形態について説明する。なお、以下説明する実施形態は、本発明を具体的に実施した場合の一例を示すもので、特許請求の範囲に記載した構成の具体的な実施例の１つである。
【００１０】
［第１の実施形態］
先ず、本実施形態に係る撮像装置のハードウェア構成例について、図１のブロック図を用いて説明する。なお、図１に示した構成は、以下に説明する撮像装置の動作を実現可能な構成の一例に過ぎず、同等以上の動作を実現可能な構成であれば、撮像装置の構成は図１に示した構成に限るものではなく、如何なる構成を採用しても構わない。
【００１１】
ＣＰＵ１０１は、自身が有する不図示のメモリやメモリ１０４に格納されているコンピュータプログラムやデータを用いて処理を実行することで、各種の処理を実行すると共に、撮像装置を構成する各部の動作制御を行う。
【００１２】
撮像部１０２は、光学レンズ、絞り、フォーカス制御部、レンズ駆動部等を含む光学ズームが可能なレンズ光学系と、該レンズ光学系を介して入光した光をディジタル映像信号に変換するＣＣＤイメージセンサ又はＣＭＯＳセンサなどの撮像素子と、を含む。
【００１３】
ここで、昨今のディジタルカメラの撮像素子には、ＣＣＤやＣＭＯＳイメージセンサが多く採用されており、単板式の撮像素子では、図２に示すようなベイヤー配列のカラーフィルタを通すことで緑、青、赤の画素データ（所謂ＲＡＷデータ）が得られる。図２の例では、撮像素子は、Ｇ０（緑）、Ｒ（赤）、Ｂ（青）、Ｇ１（緑）の周期的なパターンで構成されており、人間の視覚的な感度は色成分よりも輝度成分に敏感なことから輝度成分を多く含む緑には、赤や青に対して２倍の面積が割り当てられている。このように、ベイヤー配列のＲＡＷデータは、１画素に対して１つの色成分の画素値しか持たないため、１画素に対して緑、青、赤の３つの色成分を生成する必要があり、このような３つの色成分を生成する処理をデモザイク処理と呼ぶ。
【００１４】
撮像部１０２は、撮像素子（撮像素子群）により変換されたディジタル映像信号をＲＡＷデータとしてＲＡＷデータ符号化・復号化部１０３に対して送出する。なお、ここでは、ＲＡＷデータは、図２に示す如く、ベイヤー配列のＧ０（緑）、Ｇ１（緑）、Ｒ（赤）、Ｂ（青）の４つの色要素で構成されるものとするが、その配列や色要素はこの構成に限るものではない。
【００１５】
ＲＡＷデータ符号化・復号化部１０３は、撮像部１０２から送出されたＲＡＷデータを符号化して符号化ＲＡＷデータを生成し、該生成した符号化ＲＡＷデータをメモリ１０４に格納するＲＡＷデータ符号化部を有する。更にＲＡＷデータ符号化・復号化部１０３は、メモリ１０４から符号化ＲＡＷデータを読み出し、該読み出した符号化ＲＡＷデータを復号して復号ＲＡＷデータを生成し、該生成した復号ＲＡＷデータを現像処理部１０６に送出するＲＡＷデータ復号化部を有する。なお、ＲＡＷデータ符号化部と、ＲＡＷデータ復号化部と、はそれぞれ独立して動作可能であるものとする。
【００１６】
メモリ１０４は、ＲＡＭ等の揮発性メモリであり、様々なデータを一時的に記憶するためのエリアや、ＣＰＵ１０１が各種の処理を実行する際に用いるワークエリア、等を有する。すなわち、メモリ１０４は、各種のエリアを適宜提供することができる。
【００１７】
メモリＩ／Ｆ部１０５は、メモリ１０４に対するメモリアクセス要求を調停し、メモリ１０４からのデータの読み出し制御や、メモリ１０４に対するデータの書き込みの制御を行うものである。
【００１８】
現像処理部１０６は、ＲＡＷデータ符号化・復号化部１０３から送出された復号ＲＡＷデータに対して、デモザイク処理、ノイズ除去処理、光学歪み補正処理、色補正処理等の一連の処理を現像処理として行うことで撮像画像を生成する。そして現像処理部１０６は、該生成した撮像画像を、表示部１０７及び画像データ符号化部１０８に対して送出する。なお、現像処理部１０６は、例えば、ＲＡＷデータ符号化部による符号化ＲＡＷデータの生成と並行して、ＲＡＷデータ復号化部からの復号ＲＡＷデータに対する現像処理を行うことができる。
【００１９】
本実施形態では、現像処理部１０６は、１画面分のＲＡＷデータ（撮像部１０２が有する全ての撮像素子から１回の撮像により得られるＲＡＷデータ群）を複数の領域に分割した場合のそれぞれの領域を単位に現像処理を実行する。これにより、前述のデモザイク処理から始まる現像処理に必要となるラインバッファ（不図示）をより小さいメモリ容量で実現することが可能となっている。
【００２０】
表示部１０７は、例えば液晶ディスプレイや有機ＥＬディスプレイなどの表示装置であり、現像処理部１０６による現像処理により得られる撮像画像を表示する。なお、表示部１０７には、このような撮像画像に代えて／若しくは加えて、撮像条件や撮像日時、画像ファイル名、各種のメニュー画面などを表示することができる。このような表示部１０７における表示制御は主に、ＣＰＵ１０１が行う。
【００２１】
画像データ符号化部１０８は、現像処理部１０６から送出された撮像画像に対して圧縮符号化処理を行って、符号化画像データを生成する。撮像画像が静止画像である場合には、該撮像画像に対してＪＰＥＧ等の静止画像に適した圧縮符号化を適用し、撮像画像が動画像を構成する各フレームの画像である場合には、該フレームを含む動画像に対してＭＰＥＧ等の動画像に適した圧縮符号化を適用する。そして画像データ符号化部１０８は、符号化画像データを、メモリ１０４に格納する。
【００２２】
記録処理部１０９は、メモリ１０４に格納されたデータ、例えば、符号化画像データや符号化ＲＡＷデータ等のデータや、撮像条件や撮像日時、画像ファイル名等の付帯情報等を、記録媒体１１０に格納する。このような格納制御は主に、ＣＰＵ１０１が行う。記録媒体１１０は、例えば不揮発性メモリで構成される記録メディアであり、撮像装置に対して着脱可能な記録メディアである。
【００２３】
次に、ＲＡＷデータ符号化・復号化部１０３の構成例について、図３のブロック図を用いて説明する。上記の如く、ＲＡＷデータ符号化・復号化部１０３は、ＲＡＷデータ符号化部３００と、ＲＡＷデータ復号化部３１０と、を有する。
【００２４】
先ず、ＲＡＷデータ符号化部３００について説明する。ＲＡＷデータ符号化部３００は、サブバンド分割部３０１、量子化処理部３０２、エントロピー符号化部３０３、を有する。
【００２５】
サブバンド分割部３０１は先ず、撮像部１０２から送出された１画面のＲＡＷデータを、図４に示す如く、色成分毎のプレーン（画素プレーン）に分解する。図４では、１画面のＲＡＷデータ（縦２１６０画素、横４０９６画素）を、Ｇ０のプレーン、Ｇ１のプレーン、Ｂのプレーン、Ｒのプレーンに分解しており、何れのプレーンも縦が１０８０画素、横が２０４８画素のサイズを有する。そしてサブバンド分割部３０１は、それぞれのプレーンに対して規定の分解レベル（ｌｅｖ）の離散ウェーブレット変換（周波数変換）を行うことで、該プレーンを該規定の分解レベルに応じた数のサブバンド（２次元係数配列）に分解する。なお、プレーンを複数のサブバンドに分割しない符号化を採用することも可能である。サブバンド分割部３０１は、それぞれのプレーンについて、該プレーンについて生成したそれぞれのサブバンド（変換係数群）を、量子化処理部３０２に対して送出する。
【００２６】
対象（本実施形態ではプレーン）に対してｌｅｖ＝１の離散ウェーブレット変換を行って４つのサブバンドＬＬ，ＨＬ，ＬＨ，ＨＨを生成するためのフィルタバンク構成を図５（ａ）に示す。対象に対して離散ウェーブレット変換を水平方向及び垂直方向に実行した結果、該対象は、図５（ｂ）に示すように、１つの低周波数サブバンド（ＬＬ）と、３つの高周波数サブバンド（ＨＬ、ＬＨ、ＨＨ）と、に分割される。図５（ａ）に示したローパスフィルタ（以降、ｌｐｆと呼ぶ）及びハイパスフィルタ（以降、ｈｐｆと呼ぶ）の伝達関数をそれぞれ、以下の式（１）、式（２）として示す。
【００２７】
ｌｐｆ（ｚ）＝（−ｚ−２＋２ｚ−１＋６＋２ｚ１−ｚ２）／８    式（１）
ｈｐｆ（ｚ）＝（−ｚ−１＋２−ｚ１）／２    式（２）
ｌｅｖが１よりも大きい場合には、低周波数サブバンド（ＬＬ）に対して再帰的にサブバンド分割が実行され、例えばｌｅｖ＝３の場合は、図５（ｃ）に示すようにサブバンド分割される。なお、ここでは離散ウェーブレット変換は上記式（１）及び式（２）に示すように５タップのｌｐｆと３タップのｈｐｆとを用いて実現しているが、これとは異なるタップ数及び／又は異なる係数のフィルタ構成を用いて実現させても構わない。
【００２８】
量子化処理部３０２は、ＣＰＵ１０１から可逆符号化が指定されている場合には、サブバンド分割部３０１から送出された各サブバンドをそのまま後段のエントロピー符号化部３０３へと送出する。一方、量子化処理部３０２は、ＣＰＵ１０１から非可逆符号化が指定されている場合には、サブバンド分割部３０１から送出された各サブバンドに対して、規定の量子化パラメータを用いた量子化処理を行う。そして量子化処理部３０２は、量子化されたそれぞれのサブバンドを、後段のエントロピー符号化部３０３へと送出する。
【００２９】
エントロピー符号化部３０３は、量子化処理部３０２から送出されたそれぞれのサブバンドに対し、該サブバンド内の変換係数をラスタースキャン順で参照して予測差分型エントロピー符号化を行う。ここでは図６に示す如く符号化対象画素（変換係数）ｘの周辺画素（変換係数）ａ、ｂ、ｃからＭＥＤ（Ｍｅｄｉａｎ Ｅｄｇｅ Ｄｅｔｅｃｔｏｒ）予測により予測値ｐｄを生成し、符号化対象画素ｘの画素値（変換係数値）ｘｄと予測値ｐｄとの差分を求める。そして、この差分を、例えばハフマン符号化、ゴロム符号化等の符号化方法を用いてエントロピー符号化する。そしてエントロピー符号化部３０３は、エントロピー符号化により生成された符号化ＲＡＷデータをメモリ１０４に対して送出する。なお、予測方式やエントロピー符号化方式は、他の方式であっても良い。
【００３０】
上記の通り、本実施形態では、現像処理部１０６は、１画面分のＲＡＷデータを複数の領域に分割した場合のそれぞれの領域を単位に現像処理を実行する。然るに、エントロピー復号部３１１は、１画面分のＲＡＷデータを複数の領域に分割した場合におけるそれぞれの分割領域を単位にエントロピー復号を行う必要がある。エントロピー符号化部３０３はこのような部分復号を可能にするために、着目分割領域の符号化処理の過程で、該着目分割領域の次に符号化対象とする分割領域（隣接する領域）の復号に必要となる情報を補助情報として生成する。エントロピー復号部３１１は、このような補助情報を用いて、分割領域単位の復号を可能にする。このようにして本実施形態に係るエントロピー符号化部３０３は、１画面分のＲＡＷデータを複数の領域に分割した場合におけるそれぞれの分割領域を単位にエントロピー復号可能な情報を生成しながら、ＲＡＷデータの符号化処理を行う。
【００３１】
エントロピー符号化部３０３の動作について、図７のフローチャートを用いて説明する。なお、図７は、１つの色要素のプレーンにおける１つのサブバンドに対する予測差分型エントロピー符号化処理を示している。然るに実際には、エントロピー符号化部３０３は、それぞれの色要素のプレーンにおけるそれぞれのサブバンドに対して同様の処理を行うことになる。
【００３２】
ここでは具体例を挙げて説明すべく、図４に示すようにサブバンド分割はｌｅｖ＝１であるものとし、ＲＡＷデータが、横が４０９６画素、縦が２１６０画素のサイズを有するものとする。また、現像処理部１０６は、復号ＲＡＷデータ（横４０９６画素、縦２１６０画素）を水平方向に４分割した分割領域（横１０２４画素、縦２１６０画素）を単位に現像処理を行うものとする。
【００３３】
＜ステップＳ７０１＞
先ず、ＣＰＵ１０１から設定された分割座標情報である分割数ｄｉｖと、分割座標情報ｄｘ［ｎ］を、例えばメモリ１０４から取得する。本実施形態では上記の如く、ＲＡＷデータを水平方向に４分割するために、ｄｉｖ＝４であり、分割境界位置を示すｄｘ［ｎ］は、図４（ａ）に示す如く、ｄｘ［０］＝０、ｄｘ［１］＝１０２４、ｄｘ［２］＝２０４８、ｄｘ［３］＝３０７２、となる。
【００３４】
＜ステップＳ７０２＞
次に、ステップＳ７０１で取得した分割座標情報を用いて以下の式（３）を計算することで、１つのサブバンド内における部分復号化起点座標ｓｘ［ｎ］を算出（特定）する。
【００３５】
ｄｘ［ｎ］≠０の場合
ｓｘ［ｎ］＝（ｄｘ［ｎ］／２）／（ｌｖｉ×２）−（ｍａｘ（ｌｐｆ，ｈｐｆ）≫１）
ｄｘ［ｎ］＝０の場合
ｓｘ［ｎ］＝０              式（３）
式（３）において、ｄｘ［ｎ］≠０の場合の式では、ベイヤー配列のＲＡＷデータがプレーン毎に符号化されているため、各プレーンの水平画素数は、該ベイヤー配列のＲＡＷデータの水平画素数の１／２となる。プレーンがサブバンド分割されているため、該ベイヤー配列のＲＡＷデータの水平画素数の１／２である水平画素数を、各サブバンドの分解レベルを示すｌｖｉ値（ここでは全て１となる）を２倍した値で除算する。更に、この除算結果から、サブバンド分割における離散ウェーブレット変換のｌｐｆ、ｈｐｆのフィルタタップ数の大きい方（ここではｌｐｆのタップ数＝５となる）を右１ビットシフトした値を減算する。このような演算を行うことでｓｘ［ｎ］を求めることができる。上記の例では、ｓｘ［ｎ］は、図４（ｂ）に示す如く、以下のような値となる。
【００３６】
ｓｘ［０］＝０
ｓｘ［１］＝（１０２４／２）／１×２−２＝２５４
ｓｘ［２］＝（２０４８／２）／１×２−２＝５１０
ｓｘ［３］＝（３０７２／２）／１×２−２＝７６６
＜ステップＳ７０３＞
分割領域に対するインデックスを表す変数ｄｖｉを「０」に初期化すると共に、サブバンド内における変換係数の位置を示す変数ｘｐ、ｙｐ（それぞれ水平方向における位置、垂直方向における位置）をそれぞれ０に初期化する。ここで、（ｘｐ、ｙｐ）＝（０，０）は、サブバンドにおいて左上隅の位置を表している。また、サブバンド内の位置（ｘｐ、ｙｐ）における変換係数の、符号化ＲＡＷデータ内における位置を表す変数ｃｐの値を０に初期化する。
【００３７】
＜ステップＳ７０４＞
変数ｙｐの値が、サブバンドの垂直方向のサイズ（図４の場合は「５４０」）と一致しているか否かを判断する。この判断の結果、一致した場合には、図７のフローチャートに従った処理は終了し、一致していない場合には、処理はステップＳ７０５に進む。
【００３８】
＜ステップＳ７０５＞
量子化処理部３０２から送出されたサブバンド内の位置（ｘｐ、ｙｐ）の変換係数に対して、上記の如くＭＥＤ予測により予測値ｐｄを算出し、該変換係数の値ｘｄと予測値ｐｄとの差分データに対してハフマン符号化又はゴロム符号化を行う。これにより、該位置（ｘｐ、ｙｐ）における変換係数に対するエントロピー符号化を行うことができる。
【００３９】
＜ステップＳ７０６＞
変数ｘｐの値がｓｘ［ｄｖｉ］と一致するか否かを判断する。この判断の結果、一致する場合には、処理はステップＳ７０７に進み、一致していない場合には、処理はステップＳ７０８に進む。
【００４０】
＜ステップＳ７０７＞
本ステップでは、水平方向位置がｘｐにある変換係数は、現在符号化中の分割領域の次の分割領域（領域内の符号化データ）を復号するために必要な変換係数と見なす。然るに本ステップでは、図８に示すようなｐｄｅｃ＿ｉｎｆｏシンタクスに従って、水平方向位置がｘｐにある変換係数に係る情報を、補助情報として生成する。ここで、図８を用いて、ｐｄｅｃ＿ｉｎｆｏシンタクスについて説明する。
【００４１】
ｄｖｉは上記の通り、分割領域のインデックスである。ｌｅｖは、サブバンドの分解レベルを示す値であり、ここでは１となる。ｘｐは、サブバンドにおける変換係数の水平位置を示し、ここでは、ステップＳ７０５で符号化した変換係数の水平位置ｘｐ、即ちｓｘ［ｄｖｉ］となる。ｙｐは、サブバンドにおける変換係数の垂直位置を示し、ここでは、ステップＳ７０５で符号化した変換係数の垂直位置ｙｐとなる。ｐｄは予測値を示し、ここでは、ステップＳ７０５で算出した予測値ｐｄとなる。ｃｐは、符号化ＲＡＷデータにおける先頭から、サブバンド内の位置（ｘｐ、ｙｐ）における変換係数に対応する符号化データの位置をビット数で示す。ここでは、変数ｃｐの値となる。なお、図８に示した構成は一例であり、以下に説明する処理が実現可能であれば、補助情報の構成には様々な構成が適用可能である。また、本ステップでは、変数ｄｖｉの値を１つインクリメントする。
【００４２】
＜ステップＳ７０８＞
変数ｘｐの値を１つインクリメントして、ステップＳ７０５で符号化した変換係数の１つ右隣の変換係数の水平方向における位置に更新する。また、変数ｃｐの値に、ステップＳ７０５におけるエントロピー符号化で発生した符号量を加算して該変数ｃｐの値を更新する。
【００４３】
＜ステップＳ７０９＞
変数ｘｐの値が、サブバンドの水平方向のサイズ（図４の場合は「１０２４」）と一致するか否かを判断する。この判断の結果、一致している場合には、処理はステップＳ７１０に進み、一致していない場合には、処理はステップＳ７０４に戻る。
【００４４】
＜ステップＳ７１０＞
この時点で、サブバンドの水平ライン（１ライン分）の符号化が完了したことになる。然るに本ステップでは、該ラインの符号化結果（該ラインを構成する各変換係数についてステップＳ７０５で行った符号化結果の集合）と、該ラインについてステップＳ７０７で生成した補助情報と、をメモリ１０４に対して送出する。
【００４５】
本実施形態では、サブバンドに対する符号化結果と、補助情報と、を図９に示した形式でメモリ１０４に記憶する。図９では、ＬＬ、ＨＬ、ＬＨ、ＨＨのサブバンド毎にライン単位の符号化結果（ＲＡＷ符号化データ）がこの順で記憶される。また、それぞれのサブバンドにおいて、ｄｖｉ＝０〜３のそれぞれに対応する補助情報が記憶される。例えば、ｄｖｉ＝０に対する補助情報は、次のような情報を含む。即ち、サブバンドＬＬでｄｖｉ＝０の時点で生成した補助情報、サブバンドＨＬでｄｖｉ＝０の時点で生成した補助情報、サブバンドＬＨでｄｖｉ＝０の時点で生成した補助情報、サブバンドＨＨでｄｖｉ＝０の時点で生成した補助情報、を含む。これは、ｄｖｉ＝１，２，３のそれぞれについても同様である。また、上記の通り、補助情報はライン毎に、ｄｖｉ＝０に対応する補助情報、ｄｖｉ＝１に対応する補助情報、ｄｖｉ＝２に対応する補助情報、ｄｖｉ＝３に対応する補助情報、を有する構成となっている。
【００４６】
そして各サブバンドについて符号化が完了すると、１画面の符号化画像データ及び補助情報は、記録媒体１１０に格納される。もちろん、符号化画像ファイルのフォーマットは、図９に示したフォーマットに限るものではなく、他のフォーマットを採用しても構わない。この際、符号化画像データと補助情報とは、一つの画像ファイルに格納されて、記録媒体１１０に記録される。
【００４７】
＜ステップＳ７１１＞
変数ｄｖｉの値を０に初期化し、変数ｘｐの値を０に初期化し、変数ｙｐの値を１つインクリメントする。これにより、ステップＳ７０５で符号化した変換係数が属するラインの１つ下のラインの左端の変換係数（左端の分割領域に属する左端の変換係数）を符号化対象にする。そして処理はステップＳ７０４に戻る。
【００４８】
以上説明したエントロピー符号化部３０３による処理によれば、ＲＡＷデータを分割することなく符号化しつつ、分割領域単位で復号が可能なように補助情報を作成することができる。なお、この補助情報は、分割領域単位で現像処理を行いたいが為に（すなわち、分割領域単位で復号したいが為に）作成したものであるから、現像処理が完了した後は削除しても構わない。また、メモリ１０４や記録媒体１１０に格納されている他のＲＡＷデータを部分復号するためにも、記録媒体１１０に格納しても構わない。
【００４９】
なお、ここではサブバンド分割における離散ウェーブレット変換のフィルタタップ数を考慮した部分復号化起点座標を生成する方法を示している。しかし、更に現像処理部１０６による分割現像処理を分割境界に対してオーバーラップして処理する場合、その現像処理で使用するフィルタタップ数を考慮して生成するようにしても良い。
【００５０】
次に、ＲＡＷデータの現像処理について説明する。ＲＡＷデータの現像処理を行うため、まず、前述の様に符号化されたＲＡＷデータをＲＡＷデータ復号化部３１０により復号する。本実施形態では、現像処理において、ＲＡＷデータを、分割領域を単位として復号し、また、分割領域を単位として現像処理を行う、まず、ＲＡＷデータ復号化部３１０について説明する。ＲＡＷデータ復号化部３１０は、エントロピー復号部３１１、逆量子化処理部３１２、サブバンド合成部３１３、を有する。
【００５１】
エントロピー復号部３１１は先ず、メモリ１０４に記憶されている符号化画像データ及び補助情報、或いは、記録媒体１１０に格納されている符号化画像ファイル（図９）を読み出す。そして、それぞれのプレーンについて、各サブバンドを、分割領域を単位にして復号する。
【００５２】
ｄｖｉ＝０の分割領域を復号する場合には、サブバンド（ＬＬ，ＨＬ，ＬＨ，ＨＨのそれぞれ）の符号化データの先頭位置にｄｖｉ＝０に対する補助情報中のｃｐの値を加えた位置にある符号化データから順に読み出して復号する。そして２５８個分の変換係数（詳細は後述する）を復号すると、上記先頭位置に次のラインのｄｖｉ＝０に対する補助情報中のｃｐの値を加えた位置にある符号化データから順に読み出して同様に復号する。これにより、ｄｖｉ＝０の分割領域を復号することができる。
【００５３】
ｄｖｉ＝１の分割領域を復号する場合には、サブバンド（ＬＬ，ＨＬ，ＬＨ，ＨＨのそれぞれ）の符号化データの先頭位置にｄｖｉ＝１に対する補助情報中のｃｐの値を加えた位置にある符号化データから順に読み出して復号する。そして２６０個分の変換係数（詳細は後述する）を復号すると、上記先頭位置に次のラインのｄｖｉ＝１に対する補助情報中のｃｐの値を加えた位置にある符号化データから順に読み出して同様に復号する。これにより、ｄｖｉ＝１の分割領域を復号することができる。
【００５４】
ｄｖｉ＝２の分割領域を復号する場合には、サブバンド（ＬＬ，ＨＬ，ＬＨ，ＨＨのそれぞれ）の符号化データの先頭位置にｄｖｉ＝２に対する補助情報中のｃｐの値を加えた位置にある符号化データから順に読み出して復号する。そして２６０個分の変換係数（詳細は後述する）を復号すると、上記先頭位置に次のラインのｄｖｉ＝２に対する補助情報中のｃｐの値を加えた位置にある符号化データから順に読み出して同様に復号する。これにより、ｄｖｉ＝２の分割領域を復号することができる。
【００５５】
ｄｖｉ＝３の分割領域を復号する場合には、サブバンド（ＬＬ，ＨＬ，ＬＨ，ＨＨのそれぞれ）の符号化データの先頭位置にｄｖｉ＝３に対する補助情報中のｃｐの値を加えた位置にある符号化データから順に読み出して復号する。そして２５８個分の変換係数（詳細は後述する）を復号すると、上記先頭位置に次のラインのｄｖｉ＝３に対する補助情報中のｃｐの値を加えた位置にある符号化データから順に読み出して同様に復号する。これにより、ｄｖｉ＝３の分割領域を復号することができる。
【００５６】
なお、ｘｐに対応する先頭変換係数の復号に関しては、前述の図６に示すａとｃの位置に対応する変換係数値が存在せず、予測値が生成できないため、ｐｄを予測値として使用し、変換係数を復号することが可能となる。
【００５７】
ここで、ｄｖｉ＝０〜３のそれぞれに対応する分割領域について、復号する変換係数の水平方向の数について、図１０を用いて説明する。ｄｖｉ＝０の分割領域及びｄｖｉ＝３の分割領域の復号では、サブバンドの水平画素数１０２４を４分割した２５６に対し、サブバンド合成における離散ウェーブレット逆変換処理に必要な左端又は右端の２個を加算した２５８個の変換係数を復号する。また、ｄｖｉ＝１の分割領域及びｄｖｉ＝２の分割領域の復号では、各サブバンドの水平画素数１０２４を４分割した２５６に対し、サブバンド合成における離散ウェーブレット逆変換処理に必要な両端の２個×２＝４個を加算した２６０個の変換係数を復号する。
【００５８】
逆量子化処理部３１２は、ＲＡＷデータ符号化部３００が可逆符号化を行った場合、エントロピー復号部３１１で復号された分割領域単位のサブバンドをそのまま後段のサブバンド合成部３１３に対して送出する。また逆量子化処理部３１２は、ＲＡＷデータ符号化部３００が非可逆符号化を行った場合、エントロピー復号部３１１で復号された分割領域単位のサブバンドに対し、量子化処理部３０２が用いた量子化パラメータと同じ量子化パラメータを用いて逆量子化を行う。そして逆量子化処理部３１２は、逆量子化を行うことで得られる分割領域単位のサブバンド（変換係数群）を、サブバンド合成部３１３に対して送出する。
【００５９】
サブバンド合成部３１３は、それぞれの色要素のプレーンについて、該プレーン内のそれぞれのサブバンドにおいて位置的に対応する分割領域に対して離散ウェーブレット逆変換によるサブバンド合成を行う。これにより、それぞれの色要素のプレーンにおいて該部分領域に対応する部分を復号することができるので、復号した部分を用いて、ＲＡＷデータにおいて該分割領域に対応する領域の復号結果を得る。そしてサブバンド合成部３１３は、この復号結果、すなわち、ＲＡＷデータを水平方向に４等分することで得られる４つの分割領域のうちの１つの分割領域を、後段の現像処理部１０６に対して送出する。これにより現像処理部１０６は、分割領域を単位に現像処理を行うことができる。
【００６０】
なお、本実施形態は、次のような特徴的な構成の一例に過ぎない。すなわち、係る特徴的な構成では、撮像部により得られたＲＡＷデータを符号化し、符号化データを生成する。そして、生成された符号化データを記憶媒体に記憶する。符号化では、１画面のＲＡＷデータを水平方向に複数の領域に分割した場合の、複数の領域の一つの領域の符号化データのうち、該一つの領域の次の領域の符号化データを復号するために必要な所定の符号化データに係る情報を生成する。記憶では、上記の情報を符号化データと共に記憶する。
【００６１】
なお、本実施形態では、撮像画像の符号化データや、符号化ＲＡＷデータ等は、記録処理部１０９により記録媒体１１０に記録されるものとして説明した。しかし、記録先は記録媒体１１０に限るものではない。例えば、撮像装置内の不揮発性メモリに対して記録するようにしても構わない。
【００６２】
［第２の実施形態］
本実施形態では、ＲＡＷデータ符号化・復号化部１０３において更にランレングス符号化が適用可能となっている。以下では、第１の実施形態との差分について重点的に説明し、以下で特に触れない限りは、第１の実施形態と同様であるものとして説明する。
【００６３】
図３に示すエントロピー符号化部３０３では、図６に示す符号化対象画素（変換係数）ｘと周辺画素（変換係数）ａ，ｂ，ｃ，ｄの画素値との関係がｘ＝ａ＝ｂ＝ｃ＝ｄの場合にＭＥＤ予測による差分符号化ではなく、ランレングス符号化が適用される。この時、ランレングス符号化の起点となる符号化対象画素の値ｘｄをメモリ１０４等に保持しておく。そして、該符号化対象画素以降の後続画素（変換係数）において値ｘｄと異なる値を有する画素が見つかるまで若しくはラインの終端まで、ランレングス符号化を継続するレングス値をインクリメントし、上記保持しておいた値ｘｄとレングス値とを符号とする。
【００６４】
例えば、図１１に示す如く、対象（値ｘｄ）が符号化対象画素（変換係数）であり、その３画素前からランレングス符号化が始まり、対象の位置までランレングス符号化が続いていた場合を仮定する。このとき、補助情報は、図１２に示すｐｄｅｃ＿ｉｎｆｏシンタクスに従い生成される。
【００６５】
図１２に示すｌｅｖ、ｘｐ、ｙｐ、ｃｐに関しては、図８に示したものと同様であり、追加となるｒｌは、ランレングス符号化に関わる情報を示すシンタクス要素である。ｒｌ［１５］（ｂｉｔ［１５］）は、ｘｐ、ｙｐの示す位置の変換係数が予測差分符号化である場合には“０”、ランレングス符号化である場合には“１”を格納する。ｒｌ［１４：０］（ｂｉｔ［１４：０］）は、ｒｌ［１５］＝１の場合には、ランレングス符号化のレングス値（ラン長）を格納する。ｐｄは、予測差分符号化時には予測値が格納され、ランレングス符号化時には、ランレングス符号化起点の画素値が格納される。なお、ｃｐに関しては、ランレングス符号化起点の符号データ位置が格納される。
【００６６】
このように、ランレングス符号化をも考慮した補助情報を生成することで、部分復号化起点の画素がランレングス符号化途中であっても部分復号化を実行することが可能となる。
【００６７】
（その他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【００６８】
１０２：撮像部  １０３：ＲＡＷデータ符号化・復号化部  １０６：現像処理部
【図１】
0006465570.tif 000002
【図２】
0006465570.tif 000003
【図３】
0006465570.tif 000004
【図４】
0006465570.tif 000005
【図５】
0006465570.tif 000006
【図６】
0006465570.tif 000007
【図７】
0006465570.tif 000008
【図８】
0006465570.tif 000009
【図９】
0006465570.tif 000010
【図１０】
0006465570.tif 000011
【図１１】
0006465570.tif 000012
【図１２】
0006465570.tif 000013