(57)【要約】【課題】画像データから従来とは異なるフォーマットで階層化された符号化データを生成する技術を提供する。【解決手段】第１の量子化パラメータに従って画像データを量子化することにより第１の量子化データを生成し、前記第１の量子化データを可変長符号化することにより第１の符号データを生成する第１の符号化手段と、前記第１の符号データと前記第１の量子化パラメータに従う量子化により失われたビットデータの第１の部分とを含む第１のレイヤーと、前記失われたビットデータの前記第１の部分とは異なる第２の部分を含む第２のレイヤーと、を含む階層符号化データを生成する生成手段と、を備えることを特徴とする画像符号化装置を提供する。【選択図】図７
2020141377.tif 000002
【特許請求の範囲】
【請求項１】
第１の量子化パラメータに従って画像データを量子化することにより第１の量子化データを生成し、前記第１の量子化データを可変長符号化することにより第１の符号データを生成する第１の符号化手段と、
前記第１の符号データと前記第１の量子化パラメータに従う量子化により失われたビットデータの第１の部分とを含む第１のレイヤーと、前記失われたビットデータの前記第１の部分とは異なる第２の部分を含む第２のレイヤーと、を含む階層符号化データを生成する生成手段と、
を備えることを特徴とする画像符号化装置。
【請求項２】
相異なる複数の量子化パラメータに従って前記画像データを量子化することにより複数の量子化データを生成し、前記複数の量子化データの各々を可変長符号化することにより複数の符号データを生成する第２の符号化手段と、
前記複数の符号データの各々の、符号長と量子化により失われたビットデータのビット数とに基づいて、前記第１の量子化パラメータを決定する決定手段と、
を更に備え、
前記生成手段は、前記第１の量子化パラメータを前記第１のレイヤーに格納する
ことを特徴とする請求項１に記載の画像符号化装置。
【請求項３】
前記決定手段は、前記複数の量子化パラメータのうちの、前記複数の符号データの各々に対応する前記符号長と前記量子化により失われたビットデータのビット数との和のうちの最小値に対応する量子化パラメータを、前記第１の量子化パラメータとして決定する
ことを特徴とする請求項２に記載の画像符号化装置。
【請求項４】
前記第１のレイヤーは、前記第１の符号データを格納するための所定のサイズのデータ領域を持ち、
前記複数の符号データの各々に対応する前記符号長のいずれもが前記所定のサイズを超える場合、
前記決定手段は、前記画像データを前記所定のサイズ以下に量子化する量子化パラメータを、前記第１の量子化パラメータとして決定し、
前記生成手段は、前記第１の符号データの代わりに前記第１の量子化データを前記第１のレイヤーの前記データ領域に格納する
ことを特徴とする請求項２又は３に記載の画像符号化装置。
【請求項５】
前記第１の符号化手段により前記第１の量子化データを可変長符号化することは、前記画像データの各画素について、当該画素の量子化値の予測値を他の画素の量子化値に基づいて取得し、当該予測値に対する当該量子化値の差分値を可変長符号化することを含む
ことを特徴とする請求項１乃至４のいずれか１項に記載の画像符号化装置。
【請求項６】
請求項１乃至５のいずれか１項に記載の画像符号化装置により生成された、前記第１のレイヤー及び前記第２のレイヤーを含む前記階層符号化データが格納された記録手段から、前記第２のレイヤーを読み出すか否かを判定する判定手段と、
前記第２のレイヤーを読み出すと判定された場合、前記記録手段から前記第１のレイヤー及び前記第２のレイヤーを読み出し、前記第２のレイヤーを読み出さないと判定された場合、前記記録手段から前記第１のレイヤーを読み出す読み出し手段と、
前記第１のレイヤーに含まれる前記第１の符号データを可変長復号化することにより前記第１の量子化データを生成し、前記第１の量子化データを逆量子化することにより復号化画像データを生成する復号化手段と、
を備え、
前記第２のレイヤーを読み出すと判定された場合、前記復号化手段は、前記第１のレイヤーに含まれる前記失われたビットデータの前記第１の部分と前記第２のレイヤーに含まれる前記失われたビットデータの前記第２の部分とを前記復号化画像データに付加し、
前記第２のレイヤーを読み出さないと判定された場合、前記復号化手段は、前記第１のレイヤーに含まれる前記失われたビットデータの前記第１の部分を前記復号化画像データに付加する
ことを特徴とする画像復号化装置。
【請求項７】
請求項１乃至５のいずれか１項に記載の画像符号化装置と、
請求項６に記載の画像復号化装置と、
前記画像データを生成する撮像手段と、
前記記録手段と、
を備え、
前記画像符号化装置の前記生成手段は、前記階層符号化データを前記記録手段に記録する
ことを特徴とする撮像装置。
【請求項８】
画像符号化装置が実行する画像符号化方法であって、
第１の量子化パラメータに従って画像データを量子化することにより第１の量子化データを生成し、前記第１の量子化データを可変長符号化することにより第１の符号データを生成する第１の符号化工程と、
前記第１の符号データと前記第１の量子化パラメータに従う量子化により失われたビットデータの第１の部分とを含む第１のレイヤーと、前記失われたビットデータの前記第１の部分とは異なる第２の部分を含む第２のレイヤーと、を含む階層符号化データを生成する生成工程と、
を備えることを特徴とする画像符号化方法。
【請求項９】
画像復号化装置が実行する画像復号化方法であって、
請求項１乃至５のいずれか１項に記載の画像符号化装置により生成された、前記第１のレイヤー及び前記第２のレイヤーを含む前記階層符号化データが格納された記録手段から、前記第２のレイヤーを読み出すか否かを判定する判定工程と、
前記第２のレイヤーを読み出すと判定された場合、前記記録手段から前記第１のレイヤー及び前記第２のレイヤーを読み出し、前記第２のレイヤーを読み出さないと判定された場合、前記記録手段から前記第１のレイヤーを読み出す読み出し工程と、
前記第１のレイヤーに含まれる前記第１の符号データを可変長復号化することにより前記第１の量子化データを生成し、前記第１の量子化データを逆量子化することにより復号化画像データを生成する復号化工程と、
を備え、
前記第２のレイヤーを読み出すと判定された場合、前記復号化工程では、前記第１のレイヤーに含まれる前記失われたビットデータの前記第１の部分と前記第２のレイヤーに含まれる前記失われたビットデータの前記第２の部分とを前記復号化画像データに付加し、
前記第２のレイヤーを読み出さないと判定された場合、前記復号化工程では、前記第１のレイヤーに含まれる前記失われたビットデータの前記第１の部分を前記復号化画像データに付加する
ことを特徴とする画像復号化方法。
【請求項１０】
コンピュータを、請求項１乃至５のいずれか１項に記載の画像符号化装置の各手段として機能させるためのプログラム。
【請求項１１】
コンピュータを、請求項６に記載の画像復号化装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像符号化装置、画像復号化装置、撮像装置、画像符号化方法、画像復号化方法、及びプログラムに関する。
【背景技術】
【０００２】
近年、デジタルビデオカメラなどの撮像装置は高解像度化、高フレームレート化に伴って、システムで扱う画像データ量が著しく増加しており、画像メモリやバスインタフェース回路の高速化が要求されている。これに対し、画像メモリやバスインタフェースの前後で画像の圧縮符号化を行って、画像データ量を削減することで回路の高速化の要求度合いを緩和することができる。
【０００３】
この場合、圧縮符号化のための符号化方式は、回路規模及び符号化遅延の小さいことが望まれる。そのため、従来のＪＰＥＧやＭＰＥＧ２に代表されるＤＣＴベースの符号化方式は不向きである。そこで、ＤＰＣＭ（Differential Pulse Code Modulation：差分パルス符号変調）ベースの予測符号化方式での圧縮符号化が提案されている（特許文献１）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第４６１２７１６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
システムのメモリ帯域が短期間で大きく変動するようなシステムにおいては、そのメモリ帯域に応じてメモリへのアクセス量を調整できることが望まれる。例えば、メモリ帯域が少ない場合にメモリに保持された符号化データの一部だけを読み出して画像の復号を可能とすることが望まれるが、特許文献１の技術ではこのような調整が不可能であった。
【０００６】
また、複数の解像度の画像を生成して階層的な符号化を行うことにより、一部の符号化データだけから画像の復号を可能とする技術があるが、解像度変換や局部復号などを行う構成が必要となり、回路の大規模化を招いていた。
【０００７】
本発明はこのような状況に鑑みてなされたものであり、画像データから従来とは異なるフォーマットで階層化された符号化データを生成する技術を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、本発明は、第１の量子化パラメータに従って画像データを量子化することにより第１の量子化データを生成し、前記第１の量子化データを可変長符号化することにより第１の符号データを生成する第１の符号化手段と、前記第１の符号データと前記第１の量子化パラメータに従う量子化により失われたビットデータの第１の部分とを含む第１のレイヤーと、前記失われたビットデータの前記第１の部分とは異なる第２の部分を含む第２のレイヤーと、を含む階層符号化データを生成する生成手段と、を備えることを特徴とする画像符号化装置を提供する。
【発明の効果】
【０００９】
本発明によれば、画像データから従来とは異なるフォーマットで階層化された符号化データを生成することが可能となる。
【００１０】
なお、本発明のその他の特徴及び利点は、添付図面及び以下の発明を実施するための形態における記載によって更に明らかになるものである。
【図面の簡単な説明】
【００１１】
【図１】画像符号化部２０の詳細な構成を示すブロック図。
【図２】画像復号化部４０の詳細な構成を示すブロック図。
【図３】符号化部１１１の詳細な構成を示すブロック図。
【図４】画像符号化装置及び画像復号化装置の機能を持つ画像処理装置１００の構成を示すブロック図。
【図５】符号化モード及び適用ＱＰの決定処理のフローチャート。
【図６】図５のＳ５０４の処理の詳細を示すフローチャート。
【図７】ＤＰＣＭモードにおける符号化フォーマットのデータ構造を示す図。
【図８】ＰＣＭモードにおける符号化フォーマットのデータ構造を示す図。
【図９】符号化対象となる画像データの形式を示す図。
【図１０】ｂｌ＿ｓｉｚｅ［ｑｐ］とｂｌ＿ｄｉｓｔ［ｑｐ］との関係の具体例を示す図。
【図１１】量子化データと損失ビットについて説明する図。
【図１２】（ａ）〜（ｂ）ＤＰＣＭモードにおいて損失ビットを格納する順序の詳細について説明する図、（ｃ）〜（ｄ）ＰＣＭモードにおいて損失ビットを格納する順序の詳細について説明する図。
【発明を実施するための形態】
【００１２】
以下、添付図面を参照して実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る発明を限定するものでない。実施形態には複数の特徴が記載されているが、これらの複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。
【００１３】
［第１の実施形態］
（画像処理装置１００の構成）
図４は、画像符号化装置及び画像復号化装置の機能を持つ画像処理装置１００の構成を示すブロック図である。画像処理装置１００は、取得部１０、画像符号化部２０、メモリ３０、画像復号化部４０を有する。
【００１４】
画像処理装置１００の各ブロックの機能は、撮像素子やメモリ３０の記憶素子のような物理的デバイスを除き、ソフトウェア及びハードウェアのいずれによって実装されていてもよい。例えば、各ブロックの機能は、専用のデバイス、ロジック回路、及びメモリなどのハードウェアにより実装されてもよい。或いは、各ブロックの機能は、メモリ、メモリに記憶されている処理プログラム、及び処理プログラムを実行するＣＰＵ等のコンピュータにより実装されてもよい。画像処理装置１００は、例えばデジタルカメラとして実施することができるが、それ以外の装置として実施することもできる。例えば、画像処理装置１００は、パーソナルコンピュータ、携帯電話、スマートフォン、ＰＤＡ、タブレット端末、デジタルビデオカメラなどの任意の情報処理端末又は撮像装置として実施することができる。
【００１５】
取得部１０は、画像データを取得する機能を有する。取得部１０は、例えば、撮像素子を備える撮像部であってもよいし、外部から伝送路を介して画像データを受信する通信部であってもよい。或いは、取得部１０は、記録媒体などから画像データを読み出すインタフェースであってもよい。また、取得される画像データは、静止画データであってもよいし、動画データであってもよい。取得部１０が取得する画像データが動画データの場合、複数のフレームが連続的に取得されてもよい。取得部１０は、取得した画像データを、画像符号化部２０に供給する。
【００１６】
画像符号化部２０は、取得部１０から供給される画像データを、後述する符号化方式に従って符号化し、情報量が圧縮された階層符号化データを出力する。出力された階層符号化データは、メモリ３０に記憶される。メモリ３０は、画像符号化部２０から出力された階層符号化データを記憶するために必要な記憶容量を有する。画像復号化部４０は、メモリ３０に保持された階層符号化データを読み出し、後述する復号化方式により画像データに復号し、画像データを後段の処理部（不図示）に出力する。
【００１７】
なお、図４では、取得部１０、画像符号化部２０、メモリ３０、及び画像復号化部４０の各々を独立して図示しているが、これらのブロックの一部又は全部が１チップに統合されていてもよい。
【００１８】
（画像符号化部２０の詳細）
図１は、画像符号化部２０の詳細な構成を示すブロック図である。画像符号化部２０は、仮符号化系１１０及び本符号化系１２０を含む。仮符号化系１１０は、符号化部１１１Ａ〜１１１Ｄ及びＱＰ決定部１１５を含み、本符号化系１２０が本符号化を行う際に使用する符号化モード及び量子化パラメータのセットを決定するように動作する。本符号化系１２０は、遅延部１２１、符号化部１１１Ｅ、及び多重化部１２３を含み、仮符号化系１１０で決定された符号化モード及び量子化パラメータに従って量子化処理を含む本符号化を実行するように動作する。以下の説明においては、符号化部１１１Ａ〜１１１Ｅを総称して符号化部１１１と呼ぶ場合がある。
【００１９】
画像符号化部２０は、専用のデバイス、ロジック回路、及びメモリなどを含む一体的なハードウェアとして構成されてもよいし、複数のデバイス等で分散して構成されてもよい。或いは、画像符号化部２０は、メモリ、メモリに記憶されている処理プログラム、及び処理プログラムを実行するＣＰＵ等のコンピュータにより実装されてもよい。
【００２０】
画像符号化部２０には、符号化対象となる画像データが入力端子１０１を介して取得部１０から入力される。以下の説明においては、画像データの形式として、図９（ａ）に示すＲＧＢ形式を例として用いるものとする。また、画像データは、ラスタースキャン順に入力され、各カラー要素であるＲ（赤）、Ｇ（緑）、Ｂ（青）の各画素データは、時分割に多重されており順次入力されるものとする。また、各画素のビット深度は１０ビットであるものとする。しかしながら、本実施形態において、画像データの形式は図９（ａ）に示すＲＧＢ形式に限定されない。例えば、画像データの形式は、図９（ｂ）に示すＹＣｂＣｒ４：２：２の形式であってもよいし、図９（ｃ）に示すベイヤー配列の形式であってもよい。
【００２１】
（符号化ブロックの説明）
本実施形態において画像符号化部２０が実行する画像符号化処理では、符号化対象の画像データは、所定サイズ（画素数）を有するブロック（符号化ブロック）に分割され、符号化ブロック単位に符号化が行われるものとする。以下の説明においては、図９（ａ）に示すように、符号化ブロックは水平１６画素×垂直１画素×３色＝４８画素により構成されるものとする。図９（ａ）に示すように、符号化ブロックは、Ｒ、Ｇ、Ｂの各カラー要素について１６画素ずつから構成され、ラスタースキャン順にＲ０、Ｇ０、Ｂ０、Ｒ１、Ｇ１、Ｂ１・・・の順に画素番号０から４７が割り当てられている。符号化ブロックの各画素は、画素番号が小さいものから順に処理されるものとする。
【００２２】
なお、符号化ブロックの構成は、図９（ａ）に示す構成に限定されない。例えば、前述したＹＣｂＣｒ４：２：２の形式の画像データの場合、図９（ｂ）に示すように、符号化ブロックは、Ｙが１６画素、Ｃｂが８画素、Ｃｒが８画素の３２画素から構成されてもよい。或いは、前述したベイヤー配列の形式の画像データの場合、図９（ｃ）に示すように、符号化ブロックは、Ｇｒが８画素、Ｇｂが８画素、Ｒが８画素、Ｂが８画素の３２画素から構成されてもよい。
【００２３】
本実施形態では、符号化ブロック毎に複数階層の符号化データが生成されるよう符号化が行われる。基本となる階層の符号化データを基本レイヤーと呼び、拡張された階層の符号化データを拡張レイヤーと呼ぶ。基本レイヤーの符号量、拡張レイヤーの符号量、及び拡張レイヤーの数は、システム要件の圧縮率等に応じて任意に設定することができる。
【００２４】
以下では、拡張レイヤーの数が１つである場合を例に説明を行う。また、基本レイヤーの圧縮率が６／１０、基本レイヤーと拡張レイヤーを合計した圧縮率が７／１０である場合を例に説明を行う。符号化前の画像データの情報量は符号化ブロックあたり４８画素×１０ビット＝４８０ビットであるので、基本レイヤーの符号量は２８８ビットとなり、拡張レイヤーのビット数は４８ビットとなる。
【００２５】
各符号化ブロックについて、符号化モード及び量子化パラメータ（ＱＰ）が選択され、基本レイヤーの符号量を目標符号量とする符号化が行われる。符号化モードには、量子化された画像データを符号データとして用いるＰＣＭモードと、画像データを量子化した後に予測値との差分値を符号化するＤＰＣＭモードとがある。
【００２６】
（符号化部１１１の詳細）
図３は、符号化部１１１の詳細な構成を示すブロック図である。図３に示すように、符号化部１１１は、量子化部３０１、予測部３０２、減算器３０３、可変長符号化部３０４、ＰＣＭ符号長算出部３０５、セレクタ３０７、及びセレクタ３０８を含む。
【００２７】
符号化部１１１には、画像データ（符号化ブロック単位）、ＱＰ、符号化モードフラグが入力される。仮符号化系１１０の場合、ＱＰ及び符号化モードフラグは、符号化部１１１Ａ〜１１１Ｄのそれぞれに対して固定値として予め割り当てられていてもよい。図１では一例として、符号化部１１１Ａから１１１Ｄまで順にＱＰとして０、１、２、３がそれぞれ割り当てられている場合を示している。仮符号化系１１０の場合、符号化部１１１Ａ〜１１１Ｄの各々が予めＱＰの値を保持していてもよい。また、仮符号化系１１０の場合、符号化モードフラグはＤＰＣＭモードを示す固定値として入力される。本符号化系１２０の場合、仮符号化系１１０で決定されたＱＰと符号化モードフラグとがＱＰ決定部１１５から符号化部１１１Ｅへと入力される。以下、符号化部１１１の具体的構成及びその動作について詳述する。
【００２８】
まず、符号化部１１１に入力された画像データは、量子化部３０１に入力される。量子化部３０１は、与えられたＱＰに従って入力画像データを量子化し、量子化データと、量子化によって損失したデータとを出力する。本実施形態では、量子化データをＰＣＭデータとも呼ぶ。また、損失したデータを損失ビットとも呼ぶ。量子化データは、予測部３０２、減算器３０３、セレクタ３０７にそれぞれ出力される。また、損失ビットは、符号化部１１１の外部に出力される。
【００２９】
本実施形態では、ＱＰの値を、０を最小値とする整数値とし、０から３までの範囲で変更できるものとして説明を行う。しかしながら、より大きなＱＰの値を設定して更に大きな量子化ステップを使用してもよい。
【００３０】
本実施形態において、量子化部３０１は、ＱＰが小さいほど量子化ステップを小さく（細かく）し、ＱＰが大きいほど量子化ステップを大きく（粗く）する。具体的には、ＰＣＭデータは式１で表される演算により生成され、損失ビットは、式２で表される演算により生成される。
【００３１】
Ｑｕａｎｔ  ＝  Ｄａｔａ  ＞＞  ＱＰ      ・・・（１）
Ｌｏｓｓ    ＝  Ｄａｔａ  −  （Ｑｕａｎｔ  ＜＜  ＱＰ）・・・（２）
ここで、ＱｕａｎｔはＰＣＭデータ、Ｌｏｓｓは損失ビット、Ｄａｔａは入力画像データ、ＱＰは量子化パラメータである。また、＞＞は右シフト算を示し、＜＜は左シフト算を示している。
【００３２】
ここで、図１１（ａ）〜（ｄ）を参照して、量子化データと損失ビットについて説明する。図１１（ａ）〜（ｄ）は、画像データの符号化ブロックの全ビットを示す図であって、水平方向に４８個の画素データの並びを表しており、垂直方向に１０ビットのビット深度を表している。
【００３３】
図１１（ａ）は、ＱＰ＝０に対応する量子化データを表しており、入力データは量子化されずにそのまま出力されることを示している。この場合、損失ビットは存在しない。
【００３４】
図１１（ｂ）は、ＱＰ＝１に対応する量子化データ及び損失ビットを表しており、上位９ビットが量子化データとして出力され、下位１ビットが損失ビットとして出力されることを示している。
【００３５】
図１１（ｃ）は、ＱＰ＝２に対応する量子化データ及び損失ビットを表しており、上位８ビットが量子化データとして出力され、下位２ビットが損失ビットとして出力されることを示している。
【００３６】
図１１（ｄ）は、ＱＰ＝３に対応する量子化データ及び損失ビットを表しており、上位７ビットが量子化データとして出力され、下位３ビットが損失ビットとして出力されることを示している。
【００３７】
本実施形態において、ＱＰ＝０からＱＰ＝ｎまでＱＰの値を１ずつ増加させることを、量子化ステップを１段上げる、１段大きくする、１段粗くする等という。反対に、ＱＰ＝ｎからＱＰ＝０までＱＰの値を１ずつ減少させることを、量子化ステップを１段下げる、１段小さくする、１段細かくする等というものとする。
【００３８】
ＰＣＭ符号長算出部３０５は、量子化部３０１から出力されたＰＣＭデータの符号長を、画像データのビット数（本実施形態では１０ビット）とＱＰとから、下記の式３を用いて決定する。
【００３９】
ＰＣＭ符号長  ＝  画像データビット数  −  ＱＰ  ・・・（３）
本実施形態では、ＱＰの値が１増える毎に、ＰＣＭデータの符号長が１ビットずつ減少する。よって、ＱＰ＝０を初期値として、ＱＰが１増える毎に、ＰＣＭデータの符号長は１０ビットから１ビットずつ短くなる。ここで、仮符号化系１１０では、ＱＰの値は符号化部１１１Ａ〜１１１Ｄのそれぞれについて固定的に割り当てられているので、ＰＣＭ符号長も固定値となる。よって、ＰＣＭ符号長算出部３０５は、式３の演算によりＰＣＭ符号長を算出するのではなく、割り当てられたＱＰの値に基づくＰＣＭ符号長の固定値を保持して出力する構成であってもよい。ＰＣＭ符号長算出部３０５は、決定したＰＣＭ符号長をセレクタ３０８に出力する。
【００４０】
次に、予測部３０２の動作を説明する。予測部３０２は、周辺のＰＣＭデータを用いて現在のＰＣＭデータの予測データ（現在の画素の量子化値の予測値）を生成する。簡易な方法としては、同じカラー要素の前画素をそのまま予測データとする方法がある。例えば、本実施形態では、図９（ａ）に示すようにＲＧＢの各カラー要素の画像データが順に入力され、画像データＧ０の符号化後、次にＧ１を符号化するまでに、画像データＢ０、Ｒ１を先に符号化する。よって、予測部３０２は、ＰＣＭデータを３画素分遅延させて予測データとする。また、同じカラー要素の複数の前画素を用いて、線形予測などの演算を行ってもよい。符号化ブロックが２次元構造であれば、同じカラー要素の周辺画素による平面予測などの演算を行ってもよい。なお、各カラー要素の符号化ブロックの最初の画素（Ｒ０、Ｇ０、Ｂ０）については、前画素が存在しないため、予測データとしては所定の値（たとえば０）を出力する。生成された予測データは減算器３０３に出力される。
【００４１】
減算器３０３は、量子化部３０１からのＰＣＭデータと、予測部３０２からの予測データとの差分を予測差分データとして、可変長符号化部３０４へ出力する。予測差分データは正負の値を持つデータであり、画像データの変動の小さい平坦な部分では０付近の値となり、変動の大きいエッジ部分などでは大きな値になる。予測差分データは、一般に０を中心としたラプラス分布の特性を持つ。
【００４２】
可変長符号化部３０４は、入力された予測差分データに対して所定の可変長符号化方式による符号化を行って、１画素毎に符号データと符号長とを出力する。符号データはセレクタ３０７へ出力され、符号長はセレクタ３０８に出力される。可変長符号化方式としては、例えばハフマン符号、ゴロム符号などを使用することができる。可変長符号化部３０４が実行する可変長符号化方式では、入力値が０の場合に最も短い符号長の符号データが割り当てられており、入力値の絶対値が大きくなるほど、符号データの符号長は長くなる。なお、本実施形態において、可変長符号化部３０４から出力される符号データをＤＰＣＭデータと呼び、符号長をＤＰＣＭ符号長と呼ぶ。
【００４３】
セレクタ３０７にはＰＣＭデータとＤＰＣＭデータが入力され、符号化モードフラグに従って符号データが選択されて、符号化部１１１の外部へと出力される。具体的には、符号化モードフラグの値が０の場合はＤＰＣＭデータが選択され、符号化モードフラグの値が１の場合はＰＣＭデータが選択される。セレクタ３０８にはＰＣＭ符号長とＤＰＣＭ符号長が入力され、符号化モードフラグに従って符号長が選択されて、符号化部１１１の外部へと出力される。符号化モードフラグの値が０の場合はＤＰＣＭ符号長が選択され、符号化モードフラグの値が１の場合はＰＣＭ符号長が選択される。
【００４４】
符号化モードについて説明する。上記説明した通り、符号化部１１１における符号化モードは、符号化モードフラグに応じて、ＤＰＣＭモードとＰＣＭモードを切り替えて動作する。ＤＰＣＭモードは、量子化部３０１で量子化された量子化データと予測部３０２で生成された予測データを用いて減算器３０３により予測差分データを生成し、可変長符号化部３０４により可変長符号化を行うモードである。ＤＰＣＭモードの場合、画像データやＱＰによって可変長の符号データが生成される。一方、ＰＣＭモードは、入力された画像データをそのまま量子化部３０１により量子化して量子化データとして出力するモードである。ＰＣＭモードの場合、ＱＰによって定まる固定長の符号データが生成される。
【００４５】
なお、ＰＣＭモードにおいては、後述する符号データの多重化において、符号データがＰＣＭモードで生成されたものであることを示す１ビットのフラグを多重化する必要がある。そのため、符号化ブロックの画素のうち所定の１画素はＱＰを１段上げて量子化し、他の画素より１ビット少ない符号データ及び符号長を出力するように動作する。所定の１画素は、例えば符号化ブロックの左端に位置する画素とする。
【００４６】
（仮符号化系１１０における仮符号化処理）
ここで再び図１をして、仮符号化系１１０における仮符号化処理について説明する。仮符号化系１１０に入力された画像データは、符号化部１１１Ａ〜１１１Ｄによって仮符号化され、符号長がＱＰ決定部１１５に出力される。仮符号化の符号化モードはＤＰＣＭモードであり、ＱＰは符号化部１１１Ａ〜１１１Ｄの順に０〜３（相異なる複数の量子化パラメータ）である。出力される符号長は、各ＱＰに対応する量子化ステップで量子化処理を行った量子化結果をＤＰＣＭで符号化した符号データの符号長を表す。符号化部１１１Ａ〜１１１Ｄは、図３に示した構成を有し、出力信号として、符号データ、符号長、損失ビットが存在する。しかしながら、この仮符号化系１１０では、符号長のみが使用され、損失ビット、符号データは使用しなくてもよい。従って、符号化部１１１Ａ〜１１１Ｄは、損失ビット及び符号データを出力する構成を持っていなくてもよい。
【００４７】
なお、本実施形態では仮符号化に用いるＱＰの範囲を０〜３としたため、仮符号化系１１０は符号化部１１１を４つ備えているが、本実施形態はこの構成に限定されない。仮符号化に用いるＱＰの範囲に応じて、仮符号化系１１０が備える符号化部１１１の数を変更することができる。
【００４８】
ＱＰ決定部１１５は、符号化ブロックの基本レイヤーの符号量を目標符号量として、前段の符号化部１１１Ａ〜１１１Ｄから入力されたＱＰ毎の符号長の情報に基づき、符号化ブロック毎に符号化モード及びＱＰ（適用ＱＰ）を決定する。
【００４９】
以下、図５を参照して、ＱＰ決定部１１５における符号化モード及び適用ＱＰの決定処理の詳細を説明する。最初に、Ｓ５０１で、ＱＰ決定部１１５は、符号化部１１１Ａ〜１１１Ｄから、各符号化部に割り当てられたＱＰ毎に算出された符号長の情報を、画素単位で取得する。
【００５０】
Ｓ５０２で、ＱＰ決定部１１５は、取得した画素単位の符号長の合計を用いて、ＱＰ毎に符号化ブロック全体の符号長（ブロック符号長）を算出する。ブロック符号長の算出に際しては、符号化データに多重するヘッダ情報の符号長を加味する必要がある。ヘッダ情報とは、復号時に必要な符号化ブロック毎の情報である。ヘッダ情報の符号長は、本実施形態ではＱＰ（０〜３）の表現のための２ビットと、後述する符号化モードフラグのための１ビットの、合計３ビットとなる。従って、Ｓ５０２では、ヘッダ情報の符号長ｈｄ＿ｓｉｚｅ（＝３ビット）と画素単位の符号長の合計とを加算することにより、ブロック符号長ｂｌ＿ｓｉｚｅ［ｑｐ］の算出が行われる。なお、ＱＰの表現のためのビット数は、符号化に用いるＱＰの範囲に応じて変更することができる。
【００５１】
Ｓ５０３で、ＱＰ決定部１１５は、目標符号量ｔａｒｇｅｔ＿ｓｉｚｅとＱＰ毎のブロック符号長ｂｌ＿ｓｉｚｅ［ｑｐ］とを用いて、空きビット数ｒｅｍａｉｎ＿ｎｕｍ［ｑｐ］と、損失ビット数ｌｏｓｓ＿ｎｕｍ［ｑｐ］とをＱＰ毎に算出する。また、ＱＰ決定部１１５は、空きビット数ｒｅｍａｉｎ＿ｎｕｍ［ｑｐ］と、損失ビット数ｌｏｓｓ＿ｎｕｍ［ｑｐ］とを用いて、劣化度ｂｌ＿ｓｉｚｅ［ｑｐ］をＱＰ毎に算出する。
【００５２】
空きビット数ｒｅｍａｉｎ＿ｎｕｍ［ｑｐ］は、下記の式４により算出される。
【００５３】
ｒｅｍａｉｎ＿ｎｕｍ［ｑｐ］＝ｔａｒｇｅｔ＿ｓｉｚｅ−ｂｌ＿ｓｉｚｅ［ｑｐ］
・・・（４）
空きビット数は、式４に示されるように、目標符号量からブロック符号長を減算した値である。空きビット数が正の値の場合、対応するＱＰでのブロック符号長が目標符号量より小さいことを示している。空きビット数が負の値の場合、対応するＱＰでのブロック符号長が目標符号量より大きいことを示している。
【００５４】
損失ビット数ｌｏｓｓ＿ｎｕｍ［ｑｐ］は、下記の式５により算出される。
【００５５】
ｌｏｓｓ＿ｎｕｍ［ｑｐ］＝ｑｐ ＊ ｐｉｘ＿ｎｕｍ  ・・・（５）
ここで、ｐｉｘ＿ｎｕｍは符号化ブロックの画素数（本実施形態では４８）である。
【００５６】
損失ビット数は量子化により損失するビット数を示しており、ＱＰと符号化ブロックの画素数とにより一意に定まる値である。例えば、ＱＰ＝２の場合、９６となる。
【００５７】
劣化度ｂｌ＿ｓｉｚｅ［ｑｐ］は、下記の式６により算出される。
【００５８】
ｂｌ＿ｄｉｓｔ［ｑｐ］＝ｌｏｓｓ＿ｎｕｍ［ｑｐ］−ｒｅｍａｉｎ＿ｎｕｍ［ｑｐ］
・・・（６）
劣化度は、損失ビット数から空きビット数を減算した値であり、符号化劣化の度合いを示している。詳細は後述するが、本実施形態では、ブロック符号長が目標符号量より小さい場合、量子化により損失したデータ（損失ビット）を空きビット領域にできるだけ格納するように符号化が行われる。復号時には、空きビット領域に格納された損失ビットを復元することによって量子化による劣化が軽減される。そのため、最終的な劣化の度合いは、損失ビット数から空きビット数を減算した値ということができる。
【００５９】
Ｓ５０４で、ＱＰ決定部１１５は、Ｓ５０２で算出したｂｌ＿ｓｉｚｅ［ｑｐ］と、Ｓ５０３で算出したｂｌ＿ｄｉｓｔ［ｑｐ］とを用いて、符号化モード及び適用ＱＰを決定する。
【００６０】
ここで図６を参照して、Ｓ５０４の処理の詳細について説明する。最初に、Ｓ６０１で、ＱＰ決定部１１５は、いくつかの変数を初期化する。具体的には、ＱＰ決定部１１５は、ｑｐ（ＱＰの値）を０に初期化し、ｍｉｎ＿ｄｉｓｔ（最小劣化度の値）をＭＡＸ＿ＤＩＳＴに初期化する。また、ＱＰ決定部１１５は、ｅｎｃ＿ｍｏｄｅ（符号化モード）をＰＣＭモードに初期化し、ｓｅｌ＿ｑｐ（適用ＱＰ）をＭＡＸ＿ＱＰ＋１の値に初期化する。ここで、ＭＡＸ＿ＤＩＳＴは、符号化ブロックの劣化度として取りうる最大の値であり、符号化前の画像データの情報量から目標符号量を減じた値となる。本実施形態では、ＭＡＸ＿ＤＩＳＴ＝４８０−２８８＝１９２である。また、ＭＡＸ＿ＱＰは、符号化に用いるＱＰの最大値である。本実施形態ではＭＡＸ＿ＱＰは３であるため、ｓｅｌ＿ｑｐは４に初期化される。ｅｎｃ＿ｍｏｄｅ及びｓｅｌ＿ｑｐの初期値は、以下に説明する適用ＱＰを選定する条件がいずれのＱＰでも満たされない場合に適用される符号化モード及びＱＰとして初期化される。
【００６１】
Ｓ６０２で、ＱＰ決定部１１５は、現在のＱＰ（変数ｑｐ）における符号化ブロックの符号長ｂｌ＿ｓｉｚｅ［ｑｐ］が目標符号量ｔａｒｇｅｔ＿ｓｉｚｅ以下であって、かつ、符号化ブロックの劣化度ｂｌ＿ｄｉｓｔ［ｑｐ］がｍｉｎ＿ｄｉｓｔより小さいという条件が成立しているか否かを判定する。条件が成立している場合、処理はＳ６０３に進み、そうでない場合、処理はＳ６０４に進む。
【００６２】
Ｓ６０３で、ＱＰ決定部１１５は、選定すべきＱＰの候補として、ｑｐをｓｅｌ＿ｑｐに代入する。また、ＱＰ決定部１１５は、劣化度ｂｌ＿ｄｉｓｔ［ｑｐ］をｍｉｎ＿ｄｉｓｔに代入する。また、この時点で符号化モードとしてＤＰＣＭモードを使用することが決定するので、ＱＰ決定部１１５は、ｅｎｃ＿ｍｏｄｅをＤＰＣＭモードに設定する。
【００６３】
Ｓ６０４で、ＱＰ決定部１１５は、現在のＱＰ（変数ｑｐ）の値が最大値ＭＡＸ＿ＱＰよりも小さいか否かを判定する。ｑｐ＜ＭＡＸ＿ＱＰの場合、処理はＳ６０５に進み、そうでない場合、本フローチャートの処理は終了する。
【００６４】
Ｓ６０５で、ＱＰ決定部１１５は、ｑｐに１を加算する。その後、再びＳ６０２から、次のＱＰ値について同様の処理が行われる。
【００６５】
なお、Ｓ６０２において一度も「ＹＥＳ」と判定されずに、Ｓ６０４において「ＮＯ」と判定された場合、ＤＰＣＭモードでは目標符号量より小さいブロック符号長を持つＱＰが存在せず、ブロック符号長を目標符号量に収めることができないことを意味する。この場合、ｅｎｃ＿ｍｏｄｅ及びｓｅｌ＿ｑｐがそれぞれＳ６０１で初期化したＰＣＭモード及び４（ＭＡＸ＿ＱＰ＋１）のまま、図６の処理が終了する。言い換えると、ブロック符号長ｂｌ＿ｓｉｚｅ［ｑｐ］のいずれかが目標符号量以下であった場合、ＤＰＣＭモードが選択され、符号化ブロックの劣化度ｂｌ＿ｄｉｓｔ［ｑｐ］が最小となるＱＰが適用ＱＰとして選択される。また、ブロック符号長ｂｌ＿ｓｉｚｅ［ｑｐ］のいずれもが目標符号量を超えた場合はＰＣＭモードが選択され、ＱＰ値の最大値（ＭＡＸ＿ＱＰ）に１加算したＱＰ値（４）が適用ＱＰとして使用される。
【００６６】
図１０は、ｂｌ＿ｓｉｚｅ［ｑｐ］とｂｌ＿ｄｉｓｔ［ｑｐ］との関係の具体例を示す図である。図１０（ａ）の例では、ＱＰ＝２の場合に、ブロック符号長ｂｌ＿ｓｉｚｅ［２］である２１５ビットが目標符号量２８８ビット以下であり、劣化度ｂｌ＿ｄｉｓｔ［２］である２３が最小である。そのため、ＱＰ＝２が適用ＱＰとして選択され、符号化モードとしてＤＰＣＭモードが選択される。図１０（ｂ）の例では、いずれのＱＰについてもブロック符号長が目標符号量を超えている。そのため、適用ＱＰとして４が選択され、符号化モードとしてＰＣＭモードが選択される。
【００６７】
なお、式（６）を参照して説明した通り、劣化度ｂｌ＿ｄｉｓｔ［ｑｐ］は、損失ビット数ｌｏｓｓ＿ｎｕｍ［ｑｐ］から空きビット数ｒｅｍａｉｎ＿ｎｕｍ［ｑｐ］を引いた値である。ここで、式（６）の空きビット数ｒｅｍａｉｎ＿ｎｕｍ［ｑｐ］に式（４）の右辺を代入すると、下記の式（７）が得られる。
【００６８】
ｂｌ＿ｄｉｓｔ［ｑｐ］
＝ｌｏｓｓ＿ｎｕｍ［ｑｐ］−（ｔａｒｇｅｔ＿ｓｉｚｅ−ｂｌ＿ｓｉｚｅ［ｑｐ］）
＝ｌｏｓｓ＿ｎｕｍ［ｑｐ］＋ｂｌ＿ｓｉｚｅ［ｑｐ］−ｔａｒｇｅｔ＿ｓｉｚｅ
・・・（７）
式（７）において、ｔａｒｇｅｔ＿ｓｉｚｅはＱＰの値に関わらず一定であり、ブロック符号長ｂｌ＿ｓｉｚｅ［ｑｐ］のうちのヘッダ情報に対応する符号長もＱＰの値に関わらず一定である。そのため、ＱＰ間の劣化度の大小関係は、実質的には、符号化部１１１が出力した符号長の合計（画像データ（符号化ブロック単位）全体の符号データの符号長）及び損失ビット数ｌｏｓｓ＿ｎｕｍ［ｑｐ］によって定まる。従って、ＱＰ決定部１１５は、劣化度を算出しなくても、符号長及び損失ビット数に基づいて適用ＱＰ及び符号化モードを決定することができる。図１０（ａ）の例では、ＱＰ＝２の場合に符号長及び損失ビット数の和が最小値となるため、ＱＰ＝２が適用ＱＰとして決定される。また、図１０（ｂ）の例では、各ＱＰに対応する符号長のいずれもが画素データ部７０４（画像データ（符号化ブロック単位）全体の符号データを格納するための所定サイズのデータ領域）のサイズを超えている。従って、ＱＰ＝４（画像データ（符号化ブロック単位）を画素データ部７０４のサイズ以下に量子化する量子化パラメータ）が、適用ＱＰとして決定される。
【００６９】
（本符号化系１２０における符号化処理）
ここで再び図１を参照して、本符号化系１２０における符号化処理について説明する。本符号化系１２０には、仮符号化系１１０に入力された画像データと同一の画像データが入力される。しかしながら、本符号化系１２０の符号化処理は、仮符号化系１１０のＱＰ決定部１１５が符号化モード及び適用ＱＰを決定して出力するまで開始することができない。そこで、入力画像データは最初に遅延部１２１に入力され、仮符号化系１１０が符号化モード及び適用ＱＰを決定するために必要な処理サイクル分だけ遅延される。遅延した画像データは、遅延部１２１から符号化部１１１Ｅへ入力される。これにより、符号化部１１１Ｅは、仮符号化系１１０により符号化モード及び適用ＱＰが決定された符号化ブロックについて、決定された符号化モード及び適用ＱＰを用いて符号化を行うことができる。
【００７０】
符号化部１１１Ｅには、遅延した画像データに加えて、ＱＰ決定部１１５が出力した適用ＱＰ及び符号化モードフラグが入力される（図３参照）。符号化部１１１Ｅは、入力された適用ＱＰ及び符号化モードフラグに従って、遅延した画像データに対する本符号化を行う。これにより、ＱＰ決定部１１５が決定したブロック符号長と同じ符号長の符号データが生成される。符号化部１１１Ｅは、生成した符号データを、符号長及び損失ビットと共に多重化部１２３に出力する。多重化部１２３には、符号化部１１１Ｅからの符号データ、符号長、及び損失ビットと、ＱＰ決定部１１５からの適用ＱＰ及び符号化モードフラグとが入力され、符号化ブロック毎に所定のフォーマットで多重化が行われる。
【００７１】
図７を参照して、ＤＰＣＭモードの場合の符号化フォーマットについて説明する。図７は、ＤＰＣＭモードにおける符号化フォーマットのデータ構造を示す図である。図７において、符号化ブロック全体の階層符号化データは、基本レイヤー７０１（２８８ビット）と拡張レイヤー７０２（４８ビット）とを含む。
【００７２】
基本レイヤー７０１は、ヘッダ部７０３（３ビット）と画素データ部７０４（２８５ビット）とを含む。ヘッダ部７０３は、符号化モードを示す符号化モードフラグ７０５（１ビット）とＱＰを示すＱＰ値部７０６（２ビット）とを含む。画素データ部７０４は、ＤＰＣＭデータ部７０７、損失ビット部７０８、及びスタッフィング部７０９を含む。拡張レイヤー７０２は、損失ビット部７１１及びスタッフィング部７１２を含む。なお、スタッフィング部７０９、７１２は存在しない場合もある。
【００７３】
ＤＰＣＭモードにおける階層符号化データの生成方法について説明する。ＱＰ決定部１１５からの符号化モードフラグ及びＱＰは、符号化モードフラグ７０５（１ビット）と、ヘッダ部７０３のＱＰ値部７０６（２ビット）とにそれぞれ格納される。本実施形態において、ＤＰＣＭモードを表す符号化モードフラグの値は０であるものとする。符号化部１１１ＥからのＤＰＣＭデータ（４８画素分）は、画素毎の符号長を用いてビット単位で順にパッキングされてＤＰＣＭデータ部７０７に格納される。
【００７４】
符号化部１１１Ｅからの損失ビット（ＱＰ決定部１１５により決定された量子化パラメータに従う量子化により失われたビットデータ）は、基本レイヤー７０１の損失ビット部７０８と拡張レイヤー７０２の損失ビット部７１１に格納される。基本レイヤー７０１の損失ビット部７０８は、ＤＰＣＭデータ部７０７の直後に続く領域である。損失ビットは、基本レイヤー７０１の損失ビット部７０８から順に格納され、続けて拡張レイヤー７０２の損失ビット部７１１に格納される。損失ビットを格納する順序の詳細は後述する。
【００７５】
なお、ＤＰＣＭデータ部７０７のＤＰＣＭデータ量が画素データ部７０４と同じサイズである場合は、基本レイヤー７０１には損失ビットを格納する領域が残らない。そのため、損失ビットは、拡張レイヤー７０２の損失ビット部７１１から順に格納される。また、損失ビットのビット数が、損失ビット部７０８、７１１のサイズに満たない場合、残った領域はスタッフィング部７０９、７１２で埋められる。
【００７６】
図１２（ａ）〜（ｂ）を参照して、ＤＰＣＭモードにおいて損失ビットを格納する順序の詳細について説明する。図１２（ａ）〜（ｂ）は、符号化ブロックの画像データの全ビットを示す図であって、水平方向に４８個の画素データの並びを表しており、垂直方向に１０ビットのビット深度を表している。５画素目から４４画素目の図示は省略されている。
【００７７】
図１２（ａ）は、ＱＰ＝２の場合の量子化データ及び損失ビットを示しており、各画素の上位８ビットが量子化データ、下位２ビットが損失ビットである。損失ビットに記されたビット番号（０〜９５）は、損失ビット部７０８、７１１に格納される順番を示している。損失ビットの格納は、この順番で１ビット単位で、空き領域が存在しなくなるまで続けられる。即ち、左端画素の損失ビットの最上位ビットである画素番号０のｂｉｔ１（ビット番号：０）が最初に格納される。続いて、画素番号１のｂｉｔ１（ビット番号：１）、画素番号２のｂｉｔ１（ビット番号：２）というように、左から右の画素の順にｂｉｔ１の損失ビットが格納されていく。全てのｂｉｔ１の格納が完了すると、下位ビットに移行し、左から右の画素の順にｂｉｔ０の損失ビットが格納される。
【００７８】
なお、ここでは損失ビットの格納順は左から右の画素の順であるものとしたが、図１２（ｂ）に示すように、符号化ブロックの両端から交互に中央に向かっていくような順番にしてもよい。このようにすることで、符号化ブロックの両端ほど符号化による劣化が低減され、符号化ブロックの境界部分における目立ち易い劣化を低減することができる。
【００７９】
次に、図８を参照して、ＰＣＭモードの場合の符号化フォーマットについて説明する。図８は、ＰＣＭモードにおける符号化フォーマットのデータ構造を示す図である。図８において、符号化ブロック全体の階層符号化データは、基本レイヤー８０１（２８８ビット）と拡張レイヤー８０２（４８ビット）とを含む。
【００８０】
基本レイヤー８０１は、符号化モードを示す符号化モードフラグ８０３（１ビット）とＰＣＭデータ部８０４（２８７ビット）とを含む。拡張レイヤー８０２は、損失ビット部８０５を含む。
【００８１】
ＰＣＭモードにおける階層符号化データの生成方法について説明する。ＱＰ決定部１１５からの符号化モードフラグは、符号化モードフラグ８０３（１ビット）に格納される。本実施形態において、ＰＣＭモードを表す符号化モードフラグの値は１であるものとする。符号化部１１１ＥからのＰＣＭデータ（４８画素分）は、画素毎の符号長を用いてビット単位で順にパッキングされてＰＣＭデータ部８０４に格納される。本実施形態において、ＰＣＭモード時のＱＰは４であるが、前述したように符号化ブロックの画素のうち１画素はＱＰを１段上げてＱＰ＝５で量子化されている。そのため、４８画素中の４７画素は画素あたり６ビットに量子化され、１画素は５ビットに量子化されている。従って、合計４７×６＋５＝２８７ビットのＰＣＭデータがＰＣＭデータ部８０４に格納される。符号化部１１１Ｅからの損失ビットは、拡張レイヤー８０２に格納される。
【００８２】
図１２（ｃ）〜（ｄ）を参照して、ＰＣＭモードにおいて損失ビットを格納する順序の詳細について説明する。
【００８３】
図１２（ｃ）は、図１２（ａ）と同様に符号化ブロックの画像データの全ビットを示す図であって、ＰＣＭモード時の量子化データ及び損失ビットを示している。各画素の上位６ビットが量子化データ、下位４ビットが損失ビットである。但し、左端画素については上位５ビットが量子化データ、下位５ビットが損失ビットである。損失ビットに記されたビット番号（０〜４７）は、損失ビット部８０５に格納される順番を示している。損失ビットの格納は、この順番で１ビット単位で、空き領域が存在しなくなるまで続けられる。
【００８４】
なお、ここでは損失ビットの格納順は左から右の画素の順であるものとしたが、図１２（ｄ）に示すように、符号化ブロックの両端から交互に中央に向かっていくような順番にしてもよい。このようにすることで、符号化ブロックの両端ほど符号化による劣化が低減され、符号化ブロックの境界部分における目立ち易い劣化を低減することができる。
【００８５】
このようにして、符号化ブロックごとの符号化モードに応じて多重化された基本レイヤー及び拡張レイヤーを含む階層符号化データは、ストリームデータとして出力端子１０２に出力され、メモリ３０に入力される。
【００８６】
（画像復号化部４０の詳細）
次に、図２を参照して、画像符号化部２０で生成された階層符号化データを復号する画像復号化部４０の詳細について説明する。図２は、画像復号化部４０の詳細な構成を示すブロック図である。画像復号化部４０は、メモリ３０に保持された階層符号化データを復号することができる。
【００８７】
図２に示す画像復号化部４０は、読み出し／分離部２０３、可変長復号化部２０４、加算器２０５、セレクタ２０６、逆量子化部２０７、予測部２０８、及び判定部２０９を含む。画像復号化部４０は、専用のデバイス、ロジック回路、及びメモリなどを含む一体的なハードウェアとして構成されてもよいし、複数のデバイス等で分散して構成されてもよい。或いは、画像復号化部４０は、メモリ、メモリに記憶されている処理プログラム、及び処理プログラムを実行するＣＰＵ等のコンピュータにより実装されてもよい。
【００８８】
画像符号化部２０で生成されてメモリ３０に一時的に格納されたストリームデータ（階層符号化データ）は、入力端子２０１を介して読み出し／分離部２０３に入力される。前述のように、ストリームデータは基本レイヤーと拡張レイヤーとを含む。
【００８９】
読み出し／分離部２０３は、入力されたストリームデータから、ＱＰ、符号化モードフラグ、符号データ、及び損失ビットを分離し、処理サイクル毎に順次出力する。損失ビット及びＱＰは逆量子化部２０７に出力され、符号化モードフラグはセレクタ２０６に出力される。
【００９０】
本実施形態では、メモリ３０のメモリ帯域の状況や復号後の画像データに要求される画像品質などに応じて、基本レイヤーだけを復号対象とするか、基本レイヤーと拡張レイヤーの両方を復号対象とするかを、符号化ブロック単位で選択することができる。この目的のために、判定部２０９は、メモリ３０のメモリ帯域の状況や復号後の画像データに要求される画像品質など判定基準に基づいて、メモリ３０から拡張レイヤーを読み出すか否かを判定する。拡張レイヤーを読み出すと判定された場合、読み出し／分離部２０３は、基本レイヤー及び拡張レイヤーの両方を読み出し、拡張レイヤーを読み出さないと判定された場合、読み出し／分離部２０３は、拡張レイヤーのみを読み出す。従って、画像復号化部４０は、メモリ帯域に応じてメモリ３０へのアクセス量を調整することが可能である。
【００９１】
符号データは、可変長復号化部２０４及びセレクタ２０６に出力される。可変長復号化部２０４は、入力された符号データの可変長復号化を行い、復号化されたＤＰＣＭデータを加算器２０５に出力する。加算器２０５は、後述の予測部２０８からの予測データと復号されたＤＰＣＭデータとを加算して復号値を得て、セレクタ２０６及び予測部２０８に出力する。
【００９２】
予測部２０８は、加算器２０５からの復号値を用いて現在の画像データの予測データを生成する。予測データの生成方法は、前述した符号化部１１１の予測部３０２における予測データの生成方法と同様である。
【００９３】
セレクタ２０６は、符号化モードフラグに応じて、ＰＣＭモード時は読み出し／分離部２０３からの符号データを選択し、ＤＰＣＭモード時は加算器２０５からのＤＰＣＭデータを選択し、量子化データとして逆量子化部２０７へ出力する。
【００９４】
逆量子化部２０７は、読み出し／分離部２０３から入力されたＱＰを用いて、セレクタ２０６からの量子化データを逆量子化することにより、復号化画像データを生成する。そして、逆量子化部２０７は、読み出し／分離部２０３から入力された損失ビットを、逆量子化により得られた各々の画素データの元のビット位置に付加（復元）する。判定部２０９により拡張レイヤーを読み出すと判定された場合は、付加される損失ビットは、損失ビット部７０８に格納された損失ビット（損失ビットの第１の部分）及び損失ビット部７１１に格納された損失ビット（損失ビットの第２の部分）の両方である。判定部２０９により拡張レイヤーを読み出さないと判定された場合は、付加される損失ビットは、損失ビット部７０８に格納された損失ビット（損失ビットの第１の部分）である。
【００９５】
このようにして、逆量子化部２０７は、損失ビットが付加された復号化画像データを生成し、出力端子２０２に出力する。逆量子化部２０７から出力された復号化画像データは、出力端子２０２を介して外部へと出力される。
【００９６】
以上説明したように、本実施形態によれば、画像符号化部２０は、符号化対象の画像データから、基本レイヤー及び拡張レイヤーを含む階層符号化データを生成する。基本レイヤーは、符号データ及び損失ビットの一部を含み、拡張レイヤーは、損失ビットの他の部分を含む。画像復号化部４０は、拡張レイヤーを読み出すか否かを判定し、拡張レイヤーを読み出す場合は基本レイヤー及び拡張レイヤーから復号化画像データを生成し、拡張レイヤーを読み出さない場合は基本レイヤーから復号化画像データを生成する。従って、本実施形態によれば、画像データから従来とは異なるフォーマットで階層化された符号化データが生成され、復号時にメモリ帯域に応じてメモリ３０へのアクセス量を調整することが可能である。
【００９７】
なお、画像符号化部２０は、仮符号化系１１０による仮符号化を行わずに本符号化系１２０による本符号化を行ってもよい。この場合、本符号化系１２０の符号化部１１１Ｅは、例えば予め決められた量子化パラメータに従って量子化を行ってもよい。予め決められた量子化パラメータに従う量子化が行われる場合、画像復号化部４０も同じ量子化パラメータに従って逆量子化を行うことができるので、基本レイヤー７０１においてＱＰ値部７０６は省略可能である。
【００９８】
また、本実施形態において、画像データのビット数は１０ビットに限定されるものではなく、８ビット、１２ビットなど異なるビット数であってもよい。また、ブロックサイズは水平１６画素×垂直１画素に限定されるものではなく、任意のサイズでよい。例えば、ブロックサイズは、水平４画素×垂直４画素のように２次元構造であってもよい。
【００９９】
［その他の実施形態］
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【０１００】
発明は上記実施形態に制限されるものではなく、発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、発明の範囲を公にするために請求項を添付する。
【符号の説明】
【０１０１】
１０…取得部、２０…画像符号化部、３０…メモリ、４０…画像復号化部、１００…画像処理装置、１１０…仮符号化系、１１１…符号化部、１１５…ＱＰ決定部、１２０…本符号化系、１２１…遅延部、１２３…多重化部
【図１】
2020141377.tif 000003
【図２】
2020141377.tif 000004
【図３】
2020141377.tif 000005
【図４】
2020141377.tif 000006
【図５】
2020141377.tif 000007
【図６】
2020141377.tif 000008
【図７】
2020141377.tif 000009
【図８】
2020141377.tif 000010
【図９】
2020141377.tif 000011
【図１０】
2020141377.tif 000012
【図１１】
2020141377.tif 000013
【図１２】
2020141377.tif 000014