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