以下、本開示を実施するための形態(以下実施の形態とする)について説明する。なお、説明は以下の順序で行う。
1.装置および動作の概要
2.従来の手法の説明
3.第1の実施の形態(画像処理装置)
4.第2の実施の形態(多視点画像符号化・多視点画像復号装置)
5.第3の実施の形態(階層画像符号化・階層画像復号装置)
6.第4の実施の形態(コンピュータ)
7.応用例
8.スケーラブル符号化の応用例
<1.装置および動作の概要>
[画像符号化装置の構成例]
図1は、本開示を適用した画像処理装置としての画像符号化装置の一実施の形態の構成を表している。
図1に示される画像符号化装置11は、予測処理を用いて画像データを符号化する。ここで、符号化方式としては、例えば、HEVC(High Efficiency Video Coding)方式などが用いられる。HEVC方式においては、符号化単位CU(Coding Unit)、最大符号化単位LCU、最小符号化単位SCU、予測単位PU(Prediction Unit)、変換単位TU(Transform Unit)が規定されており、階層構造を有する単位で符号化/復号が行われる。
図1の例において、画像符号化装置11は、A/D(Analog / Digital)変換部21、画面並べ替えバッファ22、演算部23、直交変換部24、量子化部25、可逆符号化部26、および蓄積バッファ27を有する。また、画像符号化装置11は、逆量子化部28、逆直交変換部29、演算部30、デブロッキングフィルタ31、フレームメモリ32、選択部33、イントラ予測部34、動き予測・補償部35、予測画像選択部36、およびレート制御部37を有する。
さらに、画像符号化装置11は、デブロッキングフィルタ31とフレームメモリ32との間に、適応オフセットフィルタ41および適応ループフィルタ42を有する。
A/D変換部21は、入力された画像データをA/D変換し、画面並べ替えバッファ22に出力し、記憶させる。
画面並べ替えバッファ22は、記憶した表示の順番のフレームの画像を、GOP(Group of Picture)構造に応じて、符号化のためのフレームの順番に並べ替える。画面並べ替えバッファ22は、フレームの順番を並び替えた画像を、演算部23に供給する。また、画面並べ替えバッファ22は、フレームの順番を並び替えた画像を、イントラ予測部34および動き予測・補償部35にも供給する。
演算部23は、画面並べ替えバッファ22から読み出された画像から、予測画像選択部36を介してイントラ予測部34若しくは動き予測・補償部35から供給される予測画像を減算し、その差分情報を直交変換部24に出力する。
例えば、イントラ符号化が行われる画像の場合、演算部23は、画面並べ替えバッファ22から読み出された画像から、イントラ予測部34から供給される予測画像を減算する。また、例えば、インター符号化が行われる画像の場合、演算部23は、画面並べ替えバッファ22から読み出された画像から、動き予測・補償部35から供給される予測画像を減算する。
直交変換部24は、演算部23から供給される差分情報に対して、離散コサイン変換、カルーネン・レーベ変換等の直交変換を施し、その変換係数を量子化部25に供給する。
量子化部25は、直交変換部24が出力する変換係数を量子化する。量子化部25は、量子化された変換係数を可逆符号化部26に供給する。
可逆符号化部26は、その量子化された変換係数に対して、可変長符号化、算術符号化等の可逆符号化を施す。
可逆符号化部26は、イントラ予測モードを示す情報などのパラメータをイントラ予測部34から取得し、インター予測モードを示す情報や動きベクトル情報などのパラメータを動き予測・補償部35から取得する。
可逆符号化部26は、量子化された変換係数を符号化するとともに、取得した各パラメータ(シンタクス要素)を符号化し、符号化データのヘッダ情報の一部とする(多重化する)。可逆符号化部26は、符号化して得られた符号化データを蓄積バッファ27に供給して蓄積させる。
例えば、可逆符号化部26においては、可変長符号化または算術符号化等の可逆符号化処理が行われる。可変長符号化としては、CAVLC(Context-Adaptive Variable Length Coding)などがあげられる。算術符号化としては、CABAC(Context-Adaptive Binary Arithmetic Coding)などがあげられる。
蓄積バッファ27は、可逆符号化部26から供給された符号化ストリーム(データ)を、一時的に保持し、所定のタイミングにおいて、符号化された符号化画像として、例えば、後段の図示せぬ記録装置や伝送路などに出力する。すなわち、蓄積バッファ27は、符号化ストリームを伝送する伝送部でもある。
また、量子化部25において量子化された変換係数は、逆量子化部28にも供給される。逆量子化部28は、その量子化された変換係数を、量子化部25による量子化に対応する方法で逆量子化する。逆量子化部28は、得られた変換係数を、逆直交変換部29に供給する。
逆直交変換部29は、供給された変換係数を、直交変換部24による直交変換処理に対応する方法で逆直交変換する。逆直交変換された出力(復元された差分情報)は、演算部30に供給される。
演算部30は、逆直交変換部29より供給された逆直交変換結果、すなわち、復元された差分情報に、予測画像選択部36を介してイントラ予測部34若しくは動き予測・補償部35から供給される予測画像を加算し、局部的に復号された画像(復号画像)を得る。
例えば、差分情報が、イントラ符号化が行われる画像に対応する場合、演算部30は、その差分情報にイントラ予測部34から供給される予測画像を加算する。また、例えば、差分情報が、インター符号化が行われる画像に対応する場合、演算部30は、その差分情報に動き予測・補償部35から供給される予測画像を加算する。
その加算結果である復号画像は、デブロッキングフィルタ31およびフレームメモリ32に供給される。
デブロッキングフィルタ31は、適宜デブロックフィルタ処理を行うことにより復号画像のブロック歪を除去する。デブロッキングフィルタ31は、そのフィルタ処理結果を適応オフセットフィルタ41に供給する。
適応オフセットフィルタ41は、デブロッキングフィルタ31によるフィルタ後の画像に対して、主にリンギングを除去するオフセットフィルタ(SAO: Sample adaptive offset)処理を行う。
オフセットフィルタの種類は、バンドオフセット2種類、エッジオフセット6種類、オフセットなしの計9種類がある。適応オフセットフィルタ41は、最大の符号化単位であるLCU毎にオフセットフィルタの種類(タイプ)とオフセット(値)を求め、それらを用いて、デブロッキングフィルタ31によるフィルタ後の画像に対して、フィルタ処理を施す。オフセットフィルタ41においては、上述したオフセットがフィルタの係数である。以下、適宜、オフセットを係数とも称する。
なお、適応オフセットフィルタ41の詳細は、図13に後述するが、適応オフセットフィルタ41は、係数を格納するバッファを有している。適応オフセットフィルタ41は、LCU毎に求められた係数と同じ係数がバッファに格納されている場合、その旨を示すフラグ、バッファにおける係数の格納位置を示すインデックス、およびタイプを示す情報を、可逆符号化部26に供給し、符号化させる。
一方、適応オフセットフィルタ41は、LCU毎に求められた係数と同じ係数がバッファに格納されていない場合、その旨を示すフラグ、係数、およびタイプを示す情報を、可逆符号化部26に供給し、符号化させる。
適応オフセットフィルタ41は、フィルタ処理後の画像を、適応ループフィルタ42に供給する。
適応ループフィルタ42は、例えば、最大の符号化単位であるLCU毎に、適応ループフィルタ(ALF:AdaptiveLoop Filter)処理を行う。適応ループフィルタ42においては、フィルタとして、例えば、2次元のウィナーフィルタ(Wiener Filter)が用いられる。もちろん、ウィナーフィルタ以外のフィルタが用いられてもよい。
適応ループフィルタ42は、適応オフセットフィルタ41によるフィルタ後の画像に対して、フィルタ係数を用いて、LCU毎にフィルタ処理を行い、フィルタ処理結果をフレームメモリ32に供給する。
なお、本明細書において詳細な説明は省略するが、画像符号化装置11において、フィルタ係数は、LCU毎に、画面並べ替えバッファ12からの原画像との残差を最小とするよう適応ループフィルタ42により算出されて用いられる。算出されたフィルタ係数は、可逆符号化部26において符号化され、後述する図3の画像復号装置51に送信される。また、本明細書では、LUC毎に処理を行う例を記載するが、適応ループフィルタ42の処理単位は、これに限定されない。
フレームメモリ32は、所定のタイミングにおいて、蓄積されている参照画像を、選択部33を介してイントラ予測部34または動き予測・補償部35に出力する。
例えば、イントラ符号化が行われる画像の場合、フレームメモリ32は、参照画像を、選択部33を介してイントラ予測部34に供給する。また、例えば、インター符号化が行われる場合、フレームメモリ32は、参照画像を、選択部33を介して動き予測・補償部35に供給する。
選択部33は、フレームメモリ32から供給される参照画像がイントラ符号化を行う画像である場合、その参照画像をイントラ予測部34に供給する。また、選択部33は、フレームメモリ32から供給される参照画像がインター符号化を行う画像である場合、その参照画像を動き予測・補償部35に供給する。
イントラ予測部34は、画面内の画素値を用いて予測画像を生成するイントラ予測(画面内予測)を行う。イントラ予測部34は、複数のモード(イントラ予測モード)によりイントラ予測を行う。
イントラ予測部34は、全てのイントラ予測モードで予測画像を生成し、各予測画像を評価し、最適なモードを選択する。イントラ予測部34は、最適なイントラ予測モードを選択すると、その最適なモードで生成された予測画像を、予測画像選択部36を介して演算部23や演算部30に供給する。
また、上述したように、イントラ予測部34は、採用したイントラ予測モードを示すイントラ予測モード情報等のパラメータを、適宜可逆符号化部26に供給する。
動き予測・補償部35は、インター符号化が行われる画像について、画面並べ替えバッファ22から供給される入力画像と、選択部33を介してフレームメモリ32から供給される参照画像とを用いて、動き予測を行う。また、動き予測・補償部35は、動き予測により検出された動きベクトルに応じて動き補償処理を行い、予測画像(インター予測画像情報)を生成する。
動き予測・補償部35は、候補となる全てのインター予測モードのインター予測処理を行い、予測画像を生成する。動き予測・補償部35は、生成された予測画像を、予測画像選択部36を介して演算部23や演算部30に供給する。
また、動き予測・補償部35は、採用されたインター予測モードを示すインター予測モード情報や、算出した動きベクトルを示す動きベクトル情報などのパラメータを可逆符号化部26に供給する。
予測画像選択部36は、イントラ符号化を行う画像の場合、イントラ予測部34の出力を演算部23や演算部30に供給し、インター符号化を行う画像の場合、動き予測・補償部35の出力を演算部23や演算部30に供給する。
レート制御部37は、蓄積バッファ27に蓄積された圧縮画像に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部25の量子化動作のレートを制御する。
[画像符号化装置の動作]
図2を参照して、以上のような画像符号化装置11により実行される符号化処理の流れについて説明する。
ステップS11において、A/D変換部21は入力された画像をA/D変換する。ステップS12において、画面並べ替えバッファ22は、A/D変換された画像を記憶し、各ピクチャの表示する順番から符号化する順番への並べ替えを行う。
画面並べ替えバッファ22から供給される処理対象の画像がイントラ処理されるブロックの画像である場合、参照される復号済みの画像がフレームメモリ32から読み出され、選択部33を介してイントラ予測部34に供給される。
これらの画像に基づいて、ステップS13において、イントラ予測部34は処理対象のブロックの画素を、候補となる全てのイントラ予測モードでイントラ予測する。なお、参照される復号済みの画素としては、デブロッキングフィルタ31によりフィルタされていない画素が用いられる。
この処理により、候補となる全てのイントラ予測モードでイントラ予測が行われ、候補となる全てのイントラ予測モードに対してコスト関数値が算出される。そして、算出されたコスト関数値に基づいて、最適イントラ予測モードが選択され、最適イントラ予測モードのイントラ予測により生成された予測画像とそのコスト関数値が予測画像選択部36に供給される。
画面並べ替えバッファ22から供給される処理対象の画像がインター処理される画像である場合、参照される画像がフレームメモリ32から読み出され、選択部33を介して動き予測・補償部35に供給される。これらの画像に基づいて、ステップS14において、動き予測・補償部35は、動き予測・補償処理を行う。
この処理により、候補となる全てのインター予測モードで動き予測処理が行われ、候補となる全てのインター予測モードに対してコスト関数値が算出され、算出したコスト関数値に基づいて、最適インター予測モードが決定される。そして、最適インター予測モードにより生成された予測画像とそのコスト関数値が予測画像選択部36に供給される。
ステップS15において、予測画像選択部36は、イントラ予測部34および動き予測・補償部35より出力された各コスト関数値に基づいて、最適イントラ予測モードと最適インター予測モードのうちの一方を、最適予測モードに決定する。そして、予測画像選択部36は、決定した最適予測モードの予測画像を選択し、演算部23,30に供給する。この予測画像は、後述するステップS16,S21の演算に利用される。
なお、この予測画像の選択情報は、イントラ予測部34または動き予測・補償部35に供給される。最適イントラ予測モードの予測画像が選択された場合、イントラ予測部34は、最適イントラ予測モードを示す情報(すなわち、イントラ予測に関するパラメータ)を、可逆符号化部26に供給する。
最適インター予測モードの予測画像が選択された場合、動き予測・補償部35は、最適インター予測モードを示す情報と、最適インター予測モードに応じた情報(すなわち、動き予測に関するパラメータ)を可逆符号化部26に出力する。最適インター予測モードに応じた情報としては、動きベクトル情報や参照フレーム情報などがあげられる。
ステップS16において、演算部23は、ステップS12で並び替えられた画像と、ステップS15で選択された予測画像との差分を演算する。予測画像は、インター予測する場合は動き予測・補償部35から、イントラ予測する場合はイントラ予測部34から、それぞれ予測画像選択部36を介して演算部23に供給される。
差分データは元の画像データに較べてデータ量が小さくなっている。したがって、画像をそのまま符号化する場合に較べて、データ量を圧縮することができる。
ステップS17において、直交変換部24は演算部23から供給された差分情報を直交変換する。具体的には、離散コサイン変換、カルーネン・レーベ変換等の直交変換が行われ、変換係数が出力される。
ステップS18において、量子化部25は変換係数を量子化する。この量子化に際しては、後述するステップS28の処理で説明されるように、レートが制御される。
以上のようにして量子化された差分情報は、次のようにして局部的に復号される。すなわち、ステップS19において、逆量子化部28は、量子化部25により量子化された変換係数を量子化部25の特性に対応する特性で逆量子化する。ステップS20において、逆直交変換部29は、逆量子化部28により逆量子化された変換係数を直交変換部24の特性に対応する特性で逆直交変換する。
ステップS21において、演算部30は、予測画像選択部36を介して入力される予測画像を局部的に復号された差分情報に加算し、局部的に復号された(すなわち、ローカルデコードされた)画像(演算部23への入力に対応する画像)を生成する。
ステップS22においてデブロッキングフィルタ31は、演算部30より出力された画像に対して、デブロッキングフィルタ処理を行う。これによりブロック歪みが除去される。デブロッキングフィルタ31からのフィルタ後の画像は、適応オフセットフィルタ41に出力される。
ステップS23において、適応オフセットフィルタ41は、適応オフセットフィルタ処理を行う。この処理により、最大の符号化単位であるLCU毎にオフセットフィルタのタイプと係数が求められ、それらを用いて、デブロッキングフィルタ31によるフィルタ後の画像に対して、フィルタ処理が施される。なお、この適応オフセットフィルタ処理の詳細は、図14を参照して後述される。
そして、LCU毎に求められた係数と同じ係数がバッファに格納されている場合、その旨を示すフラグ、バッファにおける格納位置を示すインデックス、およびタイプを示す情報が、可逆符号化部26に供給される。一方、LCU毎に求められた係数と同じ係数がバッファに格納されていない場合、その旨を示すフラグ、係数、およびタイプを示す情報が、可逆符号化部26に供給される。
これらの可逆符号化部26に供給された各情報(以下、適応オフセットパラメータと総称する)は、後述するステップS26で符号化される。
ステップS24において、適応ループフィルタ42は、適応オフセットフィルタ41によるフィルタ後の画像に対して、適応ループフィルタ処理を行う。例えば、適応オフセットフィルタ41によるフィルタ後の画像に対して、フィルタ係数を用いて、LCU毎に、画像に対してフィルタ処理が行われ、フィルタ処理結果が、フレームメモリ32に供給される。
以上のように、適応オフセットフィルタ41と適応ループフィルタ42の処理単位を合わせることにより、処理を効率的に行うことができる。
ステップS25においてフレームメモリ32は、フィルタリングされた画像を記憶する。なお、フレームメモリ32には、デブロッキングフィルタ31、適応オフセットフィルタ41、および適応ループフィルタ42によりフィルタされていない画像も演算部30から供給され、記憶される。
一方、上述したステップS18において量子化された変換係数は、可逆符号化部26にも供給される。ステップS26において、可逆符号化部26は、量子化部25より出力された量子化された変換係数と、供給された各パラメータを符号化する。すなわち、差分画像が可変長符号化、算術符号化等の可逆符号化され、圧縮される。
ステップS27において蓄積バッファ27は、符号化された差分画像(すなわち、符号化ストリーム)を、圧縮画像として蓄積する。蓄積バッファ27に蓄積された圧縮画像が適宜読み出され、伝送路を介して復号側に伝送される。
ステップS28においてレート制御部37は、蓄積バッファ27に蓄積された圧縮画像に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部25の量子化動作のレートを制御する。
ステップS28の処理が終了すると、符号化処理が終了される。
[画像復号装置の構成例]
図3は、本開示を適用した画像処理装置としての画像復号装置の一実施の形態の構成を表している。図3に示される画像復号装置51は、図1の画像符号化装置11に対応する復号装置である。
画像符号化装置11より符号化された符号化ストリーム(データ)は、所定の伝送路を介して、この画像符号化装置11に対応する画像復号装置51に伝送され、復号されるものとする。
図3に示されるように、画像復号装置51は、蓄積バッファ61、可逆復号部62、逆量子化部63、逆直交変換部64、演算部65、デブロッキングフィルタ66、画面並べ替えバッファ67、およびD/A変換部68を有する。また、画像復号装置51は、フレームメモリ69、選択部70、イントラ予測部71、動き予測・補償部72、および選択部73を有する。
さらに、画像復号装置51は、デブロッキングフィルタ66と、画面並べ替えバッファ67およびフレームメモリ69との間に、適応オフセットフィルタ81および適応ループフィルタ82を有する。
蓄積バッファ61は、伝送されてきた符号化データを受け取る受け取り部でもある。蓄積バッファ61は、伝送されてきた符号化データを受け取って、蓄積する。この符号化データは、画像符号化装置11により符号化されたものである。可逆復号部62は、蓄積バッファ61から所定のタイミングで読み出された符号化データを、図1の可逆符号化部26の符号化方式に対応する方式で復号する。
可逆復号部62は、復号されたイントラ予測モードを示す情報などのパラメータをイントラ予測部71に供給し、インター予測モードを示す情報や動きベクトル情報などのパラメータを動き予測・補償部72に供給する。また、可逆復号部62は、復号された適応オフセットパラメータ(係数のバッファへの格納の有無を示すフラグ、係数、タイプを示す情報や、バッファの係数格納位置を示すインデックスなど)を、適応オフセットフィルタ81に供給する。
逆量子化部63は、可逆復号部62により復号されて得られた係数データ(量子化係数)を、図1の量子化部25の量子化方式に対応する方式で逆量子化する。つまり、逆量子化部63は、画像符号化装置11から供給された量子化パラメータを用いて、図1の逆量子化部28と同様の方法で量子化係数の逆量子化を行う。
逆量子化部63は、逆量子化された係数データ、つまり、直交変換係数を、逆直交変換部64に供給する。逆直交変換部64は、図1の直交変換部24の直交変換方式に対応する方式で、その直交変換係数を逆直交変換し、画像符号化装置11において直交変換される前の残差データに対応する復号残差データを得る。
逆直交変換されて得られた復号残差データは、演算部65に供給される。また、演算部65には、選択部73を介して、イントラ予測部71若しくは動き予測・補償部72から予測画像が供給される。
演算部65は、その復号残差データと予測画像とを加算し、画像符号化装置11の演算部23により予測画像が減算される前の画像データに対応する復号画像データを得る。演算部65は、その復号画像データをデブロッキングフィルタ66に供給する。
デブロッキングフィルタ66は、適宜デブロックフィルタ処理を行うことにより復号画像のブロック歪を除去する。デブロッキングフィルタ66は、そのフィルタ処理結果を適応オフセットフィルタ81に供給する。
適応オフセットフィルタ81は、デブロッキングフィルタ66によるフィルタ後の画像に対して、主にリンギングを除去するオフセットフィルタ(SAO)処理を行う。
適応オフセットフィルタ81は、可逆復号部62から供給される適応オフセットパラメータを用いて、最大の符号化単位であるLCU毎に、デブロッキングフィルタ66によるフィルタ後の画像に対して、フィルタ処理を施す。適応オフセットフィルタ81は、フィルタ処理後の画像を、適応ループフィルタ82に供給する。
なお、適応オフセットフィルタ81の詳細は、図12以降に後述するが、適応オフセットフィルタ81は、係数を格納するバッファを有している。適応オフセットフィルタ81は、可逆復号部62からのフラグが係数のバッファへの格納の有を示す場合、タイプを示す情報およびバッファの係数格納位置を示すインデックスを参照してバッファから係数を読み出し、読み出した係数を用いて、フィルタ処理を施す。
一方、適応オフセットフィルタ81は、可逆復号部62からのフラグが係数のバッファへの格納の無を示す場合、可逆復号部62から取得した係数を用いて、フィルタ処理を施す。その後、適応オフセットフィルタ81は、取得した係数をバッファに書き込む。
適応ループフィルタ82は、図1の画像符号化装置11の適応ループフィルタ42と基本的に同様に構成され、最大の符号化単位であるLCU毎に、適応ループフィルタ処理を行う。適応ループフィルタ82は、適応オフセットフィルタ81によるフィルタ後の画像に対して、フィルタ係数を用いて、LCU毎にフィルタ処理を行い、フィルタ処理結果を、フレームメモリ69および画面並べ替えバッファ67に供給する。
なお、本明細書において詳細な説明は省略するが、画像復号装置51において、フィルタ係数は、画像符号化装置11の適応ループフィルタ42によりLUC毎に算出され、符号化されて送られてきたものが可逆復号部62により復号されて用いられる。
画面並べ替えバッファ67は、画像の並べ替えを行う。すなわち、図1の画面並べ替えバッファ22により符号化の順番のために並べ替えられたフレームの順番が、元の表示の順番に並べ替えられる。D/A変換部68は、画面並べ替えバッファ67から供給された画像をD/A変換し、図示せぬディスプレイに出力し、表示させる。
適応ループフィルタ82の出力は、さらに、フレームメモリ69に供給される。
フレームメモリ69、選択部70、イントラ予測部71、動き予測・補償部72、および選択部73は、画像符号化装置11のフレームメモリ32、選択部33、イントラ予測部34、動き予測・補償部35、および予測画像選択部36にそれぞれ対応する。
選択部70は、インター処理される画像と参照される画像をフレームメモリ69から読み出し、動き予測・補償部72に供給する。また、選択部70は、イントラ予測に用いられる画像をフレームメモリ69から読み出し、イントラ予測部71に供給する。
イントラ予測部71には、ヘッダ情報を復号して得られたイントラ予測モードを示す情報等が可逆復号部62から適宜供給される。イントラ予測部71は、この情報に基づいて、フレームメモリ69から取得した参照画像から予測画像を生成し、生成した予測画像を選択部73に供給する。
動き予測・補償部72には、ヘッダ情報を復号して得られた情報(予測モード情報、動きベクトル情報、参照フレーム情報、フラグ、および各種パラメータ等)が可逆復号部62から供給される。
動き予測・補償部72は、可逆復号部62から供給されるそれらの情報に基づいて、フレームメモリ69から取得した参照画像から予測画像を生成し、生成した予測画像を選択部73に供給する。
選択部73は、動き予測・補償部72またはイントラ予測部71により生成された予測画像を選択し、演算部65に供給する。
[画像復号装置の動作]
図4を参照して、以上のような画像復号装置51により実行される復号処理の流れの例を説明する。
復号処理が開始されると、ステップS51において、蓄積バッファ61は、伝送されてきた符号化ストリーム(データ)を受け取り、蓄積する。ステップS52において、可逆復号部62は、蓄積バッファ61から供給される符号化データを復号する。図1の可逆符号化部26により符号化されたIピクチャ、Pピクチャ、並びにBピクチャが復号される。
ピクチャの復号に先立ち、動きベクトル情報、参照フレーム情報、予測モード情報(イントラ予測モード、またはインター予測モード)などのパラメータの情報も復号される。
予測モード情報がイントラ予測モード情報である場合、予測モード情報は、イントラ予測部71に供給される。予測モード情報がインター予測モード情報である場合、予測モード情報と対応する動きベクトル情報などは、動き予測・補償部72に供給される。また、適応オフセットパラメータも復号され、適応オフセットフィルタ81に供給される。
ステップS53において、イントラ予測部71または動き予測・補償部72は、可逆復号部62から供給される予測モード情報に対応して、それぞれ、予測画像生成処理を行う。
すなわち、可逆復号部62からイントラ予測モード情報が供給された場合、イントラ予測部71はイントラ予測モードのイントラ予測画像を生成する。可逆復号部62からインター予測モード情報が供給された場合、動き予測・補償部72は、インター予測モードの動き予測・補償処理を行い、インター予測画像を生成する。
この処理により、イントラ予測部71により生成された予測画像(イントラ予測画像)、または動き予測・補償部72により生成された予測画像(インター予測画像)が選択部73に供給される。
ステップS54において、選択部73は予測画像を選択する。すなわち、イントラ予測部71により生成された予測画像、または動き予測・補償部72により生成された予測画像が供給される。したがって、供給された予測画像が選択されて演算部65に供給され、後述するステップS57において逆直交変換部64の出力と加算される。
上述したステップS52において、可逆復号部62により復号された変換係数は、逆量子化部63にも供給される。ステップS55において、逆量子化部63は可逆復号部62により復号された変換係数を、図1の量子化部25の特性に対応する特性で逆量子化する。
ステップS56において逆直交変換部29は、逆量子化部28により逆量子化された変換係数を、図1の直交変換部24の特性に対応する特性で逆直交変換する。これにより図1の直交変換部24の入力(演算部23の出力)に対応する差分情報が復号されたことになる。
ステップS57において、演算部65は、上述したステップS54の処理で選択され、選択部73を介して入力される予測画像を差分情報と加算する。これにより元の画像が復号される。
ステップS58においてデブロッキングフィルタ66は、演算部65より出力された画像に対して、デブロッキングフィルタ処理を行う。これによりブロック歪みが除去される。デブロッキングフィルタ66からの復号画像は、適応オフセットフィルタ81に出力される。
ステップS59において、適応オフセットフィルタ81は、適応オフセットフィルタ処理を行う。適応オフセットフィルタ81は、可逆復号部62からの適応オフセットパラメータを用いて、デブロッキングフィルタ66によるフィルタ後の画像に対して、フィルタ処理を施す。適応オフセットフィルタ81は、フィルタ処理後の画像を、適応ループフィルタ82に供給する。
なお、適応オフセットフィルタ81の詳細は、図12以降に後述するが、適応オフセットフィルタ81は、係数を格納するバッファを有している。可逆復号部62からのフラグが係数のバッファへの格納の有を示す場合、タイプを示す情報およびバッファの係数格納位置を示すインデックスを参照して、バッファから係数が読み出され、読み出された係数を用いて、フィルタ処理が施される。
一方、可逆復号部62からのフラグが係数のバッファへの格納の無を示す場合、可逆復号部62から取得した係数を用いて、フィルタ処理が施される。その後、取得した係数がバッファに書き込まれる。
ステップS60において、適応ループフィルタ82は、適応オフセットフィルタ81によるフィルタ後の画像に対して、適応ループフィルタ処理を行う。適応ループフィルタ82は、最大の符号化単位であるLCU毎に計算されたフィルタ係数を用いて、入力画像に対して、LCU毎にフィルタ処理を行い、フィルタ処理結果を、画面並べ替えバッファ67およびフレームメモリ69に供給する。
ステップS61においてフレームメモリ69は、フィルタリングされた画像を記憶する。
ステップS62において、画面並べ替えバッファ67は、適応ループフィルタ82後の画像の並べ替えを行う。すなわち画像符号化装置11の画面並べ替えバッファ22により符号化のために並べ替えられたフレームの順序が、元の表示の順序に並べ替えられる。
ステップS63において、D/A変換部68は、画面並べ替えバッファ67からの画像をD/A変換する。この画像が図示せぬディスプレイに出力され、画像が表示される。
ステップS63の処理が終了すると、復号処理が終了される。
<従来の手法の説明>
[HEVC方式における適応オフセット処理]
次に、HEVC方式における適応オフセットフィルタについて説明する。HEVC方式においては、Sample Adaptive Offset方式が採用されている。
符号化側において、適応オフセットフィルタ41は、デブロックフィルタ(DB)31と、適応ループフィルタ(ALF)42の間に設けられている。復号側でも同様に、適応オフセットフィルタ81は、デブロックフィルタ(DB)66と、適応ループフィルタ(ALF)82の間に設けられている。
適応オフセットのタイプ(種類)としては、バンドオフセットと呼ばれるものが2種類、エッジオフセットと呼ばれるものが6種類あり、さらに、オフセットを適応しないことも可能である。そして、画像をquad-treeに分割し、それぞれの領域に、上述したどの適応オフセットのタイプにより符号化するかを選択することができる。
この選択情報が、PQAO Info.として、符号化部(Entropy Coding)により符号化され、ビットストリームが生成され、生成されたビットストリームが復号側に送信される。この方法を用いることで、符号化効率を向上させることができる。
ここで、図5を参照して、quad-tree構造について説明する。
例えば、符号化側においては、図5のA1に示されるように、領域0が分割されていない状態を示すLevel-0(分割深度0)のコスト関数値J0が計算される。また、領域0が4つの領域1乃至4に分割された状態を示すLevel-1(分割深度0)のコスト関数値J1,J2,J3,J4が計算される。
そして、A2に示されるように、コスト関数値が比較され、J0>(J1+J2+J3+J4)により、Level-1の分割領域(Partitions)が選択される。
同様にして、A3に示されるように、領域0が16つの領域5乃至20に分割された状態を示すLevel-2(分割深度2)のコスト関数値J5乃至J20が計算される。
そして、A4に示されるように、コスト関数値がそれぞれ比較され、J1<(J5+J6+J9+J10)により、領域1においては、Level-1の分割領域(Partitions)が選択される。J2>(J7+J8+J11+J12)により、領域2においては、Level-2の分割領域(Partitions)が選択される。J3>(J13+J14+J17+J18)により、領域3においては、Level-2の分割領域(Partitions)が選択される。J4>(J15+J16+J19+J20)により、領域4においては、Level-1の分割領域(Partitions)が選択される。
その結果、quad-tree構造におけるA4に示される最終的なquad-tree領域(Partitions)が決定される。そして、quad-tree構造の決定された領域毎に、2種類のバンドオフセット、6種類のエッジオフセット、およびオフセットなしのすべてのタイプについてコスト関数値が算出され、どのオフセットにより符号化されるのかが決定される。
例えば、図5の例においては、白矢印に示されるように、領域1に対しては、EO(4)、すなわち、エッジオフセットのうちの4種類目が決定されている。領域7に対しては、OFF、すなわち、オフセットなしが決定されており、領域8に対しては、EO(2)、すなわち、エッジオフセットのうちの2種類目が決定されている。領域11および12に対しては、OFF、すなわち、オフセットなしが決定されている。
また、領域13に対しては、BO(1)、すなわち、バンドオフセットのうちの1種類目が決定されており、領域14に対しては、EO(2)、すなわち、エッジオフセットのうちの2種類目が決定されている。領域17に対しては、BO(2)、すなわち、バンドオフセットのうちの2種類目が決定されており、領域18に対しては、BO(1)、すなわち、バンドオフセットのうちの1種類目が決定されている。領域4に対しては、EO(1)、すなわち、エッジオフセットのうちの1種類目が決定されている。
次に、図6を参照して、バンドオフセットの詳細について説明する。
バンドオフセットにおいては、図6の例においては、1つの目盛りが1バンド=8画素を表しており、輝度画素値が32バンドに分けられて、それぞれのバンドが独立にオフセット値を有する。
すなわち、図6の例においては、0乃至255画素(32バンド)のうち、中央の16バンドが、第1グループに分けられ、両脇の8バンドずつが第2グループに分けられている。
そして、第1グループおよび第2グループのどちらか一方のみのオフセットが符号化され、復号側に送られる。一般的に、1つの領域において、白黒はっきりしているか、微妙な色合いがあるかのどちらかであることが多く、第1グループと第2グループ両方に全てに画素があるのは稀である。このため、一方のみのオフセットしか送らないことで、それぞれのquad-tree領域において、含まれていない値の画素値が伝送されて符号化量が増えるのが、抑制される。
なお、入力信号が放送によるものである場合、輝度信号は、16,235、色差信号は、16,240の範囲に制限される。このとき、図6の下段に示されるbroadcast legalが適用され、×印が示されている、両脇の2バンドずつに対するオフセット値は伝送されない。
次に、図7を参照して、エッジオフセットの詳細について説明する。
エッジオフセットにおいては、当該画素値と、当該画素値に隣接する隣接画素値の比較が行われ、これに対応したカテゴリに対して、オフセット値が伝送されることになる。
エッジオフセットには、図7のA乃至図7のDに示される4つの1次元パターンと、図7のEおよび図7のFに示される2つの2次元パターンが存在し、それぞれ、図7に示されるカテゴリでオフセットが伝送される。
図7のAは、当該画素Cに対して、隣接画素が左右の1次元に配置されている、すなわち、図7のAのパターンに対して0度をなしている1-D,0-degreeパターンを表している。図7のBは、当該画素Cに対して、隣接画素が上下の1次元に配置されている、すなわち、図7のAのパターンに対して90度をなしている1-D,90-degreeパターンを表している。
図7のCは、当該画素Cに対して、隣接画素が左上と右下の1次元に配置されている、すなわち、図7のAのパターンに対して135度をなしている1-D,135-degreeパターンを表している。図7のDは、当該画素Cに対して、隣接画素が右上と左下の1次元に配置されている、すなわち、図7のAのパターンに対して45度をなしている1-D,135-degreeパターンを表している。
図7のEは、当該画素Cに対して、隣接画素が上下左右2次元に配置されている、すなわち、当該画素Cに対して交差している2-D,crossパターンを表している。図7のFは、当該画素Cに対して、隣接画素が右上左下、左上右下の2次元に配置されている、すなわち、当該画素Cに対して斜めに交差している2-D,diagonalパターンを表している。
図8のAは、1次元パターンの規則一覧表(Classification rule for 1-D patterns)を示している。図7のA乃至図7のDのパターンは、図8のAに示されるような5種類のカテゴリに分類され、そのカテゴリによりオフセットが算出されて、復号部に送られる。
当該画素Cの画素値が2つの隣接画素の画素値より小さい場合、カテゴリ1に分類される。当該画素Cの画素値が一方の隣接画素の画素値より小さくて、他方の隣接画素の画素値と一致する場合、カテゴリ2に分類される。当該画素Cの画素値が一方の隣接画素の画素値より大きくて、他方の隣接画素の画素値と一致する場合、カテゴリ3に分類される。当該画素Cの画素値が2つの隣接画素の画素値より大きい場合、カテゴリ4に分類される。以上のどれでもない場合、カテゴリ0に分類される。
図8のBは、2次元パターンの規則一覧表(Classification rule for 2-D patterns)を示している。図7のEおよび図7のFのパターンは、図8のBに示されるような7種類のカテゴリに分類され、そのカテゴリによりオフセットが復号側に送られる。
当該画素Cの画素値が4つの隣接画素の画素値より小さい場合、カテゴリ1に分類される。当該画素Cの画素値が3つの隣接画素の画素値より小さくて、4番目の隣接画素の画素値と一致する場合、カテゴリ2に分類される。当該画素Cの画素値が3つの隣接画素の画素値より小さくて、4番目の隣接画素の画素値より大きい場合、カテゴリ3に分類される。
当該画素Cの画素値が3つの隣接画素の画素値より大きくて、4番目の隣接画素の画素値より小さい場合、カテゴリ4に分類される。当該画素Cの画素値が3つの隣接画素の画素値より大きくて、4番目の隣接画素の画素値と一致する場合、カテゴリ5に分類される。当該画素Cの画素値が4つの隣接画素の画素値より大きい場合、カテゴリ6に分類される。以上のどれでもない場合、カテゴリ0に分類される。
以上のように、エッジオフセットにおいては、1次元パターンの方が、隣接2画素のみに対する比較を行えばよいので、演算量は低くなる。なお、high efficiency 符号化条件においては、low delay 符号化条件に比して、1bitオフセットの値を高精度にして、復号側へ送られる。
上述した適応オフセット処理は、HEVC方式において、quad-tree構造の決定された領域毎に行われる処理である。すなわち、適応オフセット処理においては、quad-tree構造という適応オフセットフィルタ用の領域を、独自に定義する必要があった。
また、適応オフセットフィルタのパラメータは、データ(ビデオ情報)の前に配置されるsao_param()において1フレーム分まとめて定義される。したがって、符号化側においては、適応オフセットフィルタ処理が終了して、適応オフセットフィルタの係数が決まり、sao_param()が作成されるまで、1フレーム分のデータをバッファに保持しておく必要があった。
以上のことを踏まえて、本実施においては、非特許文献2において提案されている適応ループフィルタのLCU単位での処理に合わせて、次の図9を参照して説明するように、適応オフセットフィルタが、最大の符号化単位であるLCU単位で行なわれる。
<3.第1の実施の形態>
[本技術の概要]
図9の例においては、LCU111乃至LCU117に分割された画像が示されている。符号化側の適応オフセットフィルタ41は、最大の符号化単位であるLCU単位で適応オフセットフィルタのタイプと係数(オフセット値)を決定し、それを、各LCUの先頭のタイミングで復号側へそれぞれ送る。その際、すでに伝送されており、バッファに格納されている係数であれば、復号側の適応オフセットフィルタ81は、その係数をバッファからコピーして用いる。
例えば、符号化側でLCU111のタイプE0(カテゴリ0のエッジオフセット)とその係数が決定され、LCU111のタイプと係数がLCU111の先頭で復号側に送られる。符号化側でLCU112のタイプB1(カテゴリ1のバンドオフセット)とその係数が決定され、LCU111のタイプと係数がLCU112の先頭で復号側に送られる。符号化側でLCU113のタイプE1(カテゴリ1のエッジオフセット)とその係数が決定され、LCU111のタイプと係数がLCU113の先頭で復号側に送られる。符号化側でLCU114のタイプB2(カテゴリ2のバンドオフセット)とその係数が決定され、LCU111のタイプと係数がLCU114の先頭で復号側に送られる。
復号側では、適応オフセットフィルタ81が、EO(エッジオフセット)用バッファ121およびBO(バンドオフセット)用バッファ122を有しており、LCU単位でフィルタ処理を施すとともに、送信されてきた各係数を格納している。
ここで、符号化側でLCU115のタイプE0(カテゴリ0のエッジオフセット)とその係数が決定される。タイプE0の係数は、すでにLCU111のときに復号側へ送られて、復号側の適応オフセットフィルタ81が有するEO(エッジオフセット)用バッファ121に格納されている。
したがって、復号側において、LCU115については、タイプE0の係数を送ることなしに、EO用バッファ121からコピーして用いる。なお、符号化側でLCU116については、適応オフセットなし(off)が決定されるので、係数は用いられない。
さらに、符号化側でLCU117のタイプE0(カテゴリ0のエッジオフセット)とその係数が決定される。タイプE0の係数は、すでにLCU111のときに復号側へ送られて、復号側の適応オフセットフィルタ81が有するEO(エッジオフセット)用バッファ121に格納されている。
したがって、復号側において、LCU117については、タイプE0の係数を送ることなしに、EO用バッファ121からコピーして用いる。
以上のように、従来、フレームの先頭で一度に伝送していた適応オフセットフィルタのパラメータを、LCUの先頭で逐次送るようにしたので、従来、1フレーム分の容量のバッファが必要であったのに対して、LCU分の容量にバッファを削減することができる。
また、すでに使った係数を送らないようにすることで、LCU毎に送ってしまうことによって送る係数が多くなってしまうのを軽減することができる。
図10は、適応オフセットフィルタの分割例を示している。図10の左側は、従来のquad-treeベースの分割例であり、図10の右側は、本技術のLCUベースでの分割例である。
quad-tree構造の場合、図10の右側に示されるように、正方形の領域でしか分割することができなかった。これに対して、LCU単位の場合、図10の右側に示されるように、凸型の領域や凹型の領域に分割することができる。
実際には、凸型の領域は、点線に示されるように、例えば、8×8のLCUと16×16のLCUで構成されているが、同じタイプで同じ係数が用いられていることを示している。同様に、凹型の領域は、点線に示されるように、例えば、8×8のLCUが3つで構成されているが、同じタイプで同じ係数が用いられていることを示している。
以上のように、LCU単位で領域分割することで、従来のquad-tree構造の場合より、分割の自由度が向上し、入力画像の特性に合わせた適応オフセットフィルタを行うことができるようになる。
さらに、適応オフセットフィルタと適応ループフィルタの処理単位を揃えるようにしたので、両方のフィルタ処理を同時や並行、パイプラインなどで行うことができ、処理効率をよくすることができる。
[シンタックスの例]
図11は、画像符号化装置11により生成されるsao_param()のシンタックスの例を示す図である。各行の左端の数字は説明のために付した行番号である。
図11の例においては、第8行目のsample_adaptive_offset_flagは、適応オフセットフィルタを行うか否かのフラグである。第10行目のsao_flag_cbは、1の場合、cbの適応オフセットフィルタを適用すること示すものである。第12行目のsao_flag_crは、1の場合、crの適応オフセットフィルタを適用すること示すものである。なお、sample_adaptive_offset_flag、sao_flag_cb、sao_flag_crについては、本明細書では特に言及されない。
第18行目のsao_type_idxは、オフセットタイプを指し示すものである。第20行目のcopy_flagは、前のLCUのsao_type_idx(タイプ)とsao_offset(係数)をコピーするか否かを指定するものである。すなわち、copy_flagは、処理中のカレントLCUよりも前に適応オフセットフィルタが行われた前のLCUのパラメータ(タイプとオフセット)と、カレントLCUのパラメータとが同じであることを識別する識別データである。また換言するに、copy_flagは、カレントLCUのパラメータとして、前のLCUのパラメータを用いるかを識別する識別データである。さらに換言するに、copy_flagは、カレントLCUのパラメータとして、前のLCUのパラメータをコピーして用いるかを識別する識別データである。
第22行目のcopy_idxは、コピーの対象となる、前(処理済み)のsao_type_idx(タイプ)とsao_offset(係数)を指し示すものである。すなわち、copy_idxは、前のLCUを対象として、カレントLCUのパラメータと同じLCU(コピーの対象)を指定する識別データである。
第25行目のsao_offsetは、各カテゴリのオフセット(係数)を指し示すものである。
[タイプインデックスの例]
図12は、sao_type_idxを説明する図である。図12の例においては、左から順に、sao_type_idx、NumSaoCategory、およびEdge or Band typeが示されている。
sao_type_idxは、適応オフセットフィルタのタイプを示すインデックスである。NumSaoCategoryは、そのインデックスにおけるカテゴリ数を示す情報である。Edge or Band typeは、そのインデックスがどのようなエッジ(またはバンド)タイプであるかを示す情報である。なお、大きくわけて、sao_type_idxは、その値が1乃至4の場合、Edge Offset(EO)であり、sao_type_idxは、その値が5および6の場合、Band Offset(BO)である。
すなわち、sao_type_idxの値が0の場合、NumSaoCategoriy(カテゴリ数)は0で、適応オフセット処理が行われない。
sao_type_idxの値が1の場合、NumSaoCategoriy(カテゴリ数)は4で、エッジのタイプは、図7のAに示した1D 0-degree edgeである。sao_type_idxの値が2の場合、NumSaoCategoriy(カテゴリ数)は4で、エッジのタイプは、図7のBに示した1D 90-degree edgeである。sao_type_idxの値が3の場合、NumSaoCategoriy(カテゴリ数)は4で、エッジのタイプは、図7のCに示した1D 135-degree edgeである。sao_type_idxの値が4の場合、NumSaoCategoriy(カテゴリ数)は4で、エッジのタイプは、図7のDに示した1D 45-degree edgeである。
sao_type_idxの値が5の場合、NumSaoCategoriy(カテゴリ数)は16で、バンドのタイプは、Center Band(図6の第1グループ)である。sao_type_idxの値が6の場合、NumSaoCategoriy(カテゴリ数)は16で、バンドのタイプは、Side Band(図6の第2グループ)である。
なお、図7の例においては、エッジオフセットの2次元パターンは示されていないが、エッジオフセットの2次元パターンも、sao_type_idxの数を増やすことで対応可能である。
[適応オフセットフィルタの構成例]
図13は、図1の画像符号化装置における適応オフセットフィルタおよび可逆符号化部の構成例を示すブロック図である。
図13の例において、適応オフセットフィルタ41は、タイプ・オフセット決定部211、オフセット処理部212、画像バッファ213、係数読み出し部214、およびオフセットバッファ215を含むように構成される。また、適応オフセットフィルタ41は、パラメータ設定部216、および係数書き込み部217を含むように構成される。
可逆符号化部26は、少なくとも、シンタクス書き込み部221を含むように構成される。
デブロッキングフィルタ31からのデブロック後画素値は、タイプ・オフセット決定部211およびオフセット処理部212に入力される。タイプ・オフセット決定部211は、LCU単位で、適応オフセットフィルタのタイプとそのタイプのオフセットを決定する。その際、一例としては、LCU単位でコスト関数値が計算されて、コスト関数値が最小である、そのLCUに最適なタイプとオフセットが決定される。タイプ・オフセット決定部211は、決定したタイプを示すタイプインデックス(sao_type_idx)と、オフセット(sao_offset)を、オフセット処理部212および係数読み出し部214に供給する。
なお、オフセット(係数)は、エッジオフセットの場合、5係数であり、バンドオフセットの場合、9係数である。
オフセット処理部212は、デブロッキングフィルタ31からのデブロック後画素値に対して、LCU毎に、タイプ・オフセット決定部211からのタイプインデックスが示すタイプとオフセットで、適応オフセットフィルタ処理を行う。オフセット処理部212は、オフセット処理後の画素値を、画像バッファ213に供給する。
画像バッファ213は、オフセット処理部212によるオフセット処理後の画素値を一旦格納し、所定のタイミングで、適応ループフィルタ42に供給する。
係数読み出し部214は、オフセットバッファ215に、タイプ・オフセット決定部211からのオフセットに一致するものがないかを探す。なお、係数読み出し部214は、オフセットバッファ215からのタイプインデックスが示すタイプのバッファ(エッジオフセット用またはバンドオフセット用)を確認する。
係数読み出し部214は、一致するものがあった場合、オフセットバッファ215で、一致する係数が格納されている位置を示すコピーインデックス(copy_idx)を、タイプインデックスとともに、パラメータ設定部216に供給する。係数読み出し部214は、一致するものがなかった場合、オフセットとタイプインデックスとを、パラメータ設定部216に供給する。
オフセットバッファ215は、エッジオフセット用のオフセットを格納するバッファと、バンドオフセット用のオフセットを格納するバッファを有している。オフセットバッファ215は、例えば、FIFOに構成されている。
パラメータ設定部216は、タイプインデックスとともにコピーインデックスが供給された場合、コピーフラグ(copy_flag)をtureに設定する。パラメータ設定部216は、コピーフラグ、タイプインデックス、およびコピーインデックスを、適応オフセットパラメータとして、シンタクス書き込み部221に供給する。
パラメータ設定部216は、オフセットとともにコピーインデックスが供給された場合、コピーフラグ(copy_flag)をfalseに設定する。パラメータ設定部216は、コピーフラグ、タイプインデックス、およびオフセットを、適応オフセットパラメータとして、シンタクス書き込み部221に供給する。このとき、パラメータ設定部216は、タイプインデックス、およびオフセットを、係数書き込み部217にも供給し、オフセットをオフセットバッファ215の空き領域に書き込ませる。
係数書き込み部217は、オフセットバッファ215において、パラメータ設定部216からのタイプインデックスが示すタイプのバッファの空き領域のうち、先頭寄りの空き領域に、パラメータ設定部216からのオフセットを書き込む。なお、先頭寄りの空き領域とは、インデックスが最も小さい空き領域のことである。
シンタクス書き込み部221は、パラメータ設定部216からの適応オフセットパラメータを、LCU単位で、例えば、図11を参照して上述したように、符号化ストリームのヘッダ部(sao_param)に書き込む。
[符号化側の適応オフセットフィルタ処理]
次に、図14のフローチャートを参照して、図13の適応オフセットフィルタ41が行う適応オフセットフィルタ処理について説明する。なお、この適応オフセットフィルタ処理は、図2のステップS23における処理である。
デブロッキングフィルタ31からのデブロック後画素値は、タイプ・オフセット決定部211およびオフセット処理部212に入力される。タイプ・オフセット決定部211は、ステップS211において、LCU単位で、適応オフセットフィルタのタイプとそのタイプのオフセットを決定する。タイプ・オフセット決定部211は、決定したタイプを示すタイプインデックス(sao_type_idx)と、オフセット(sao_offset)を、係数読み出し部214に供給する。
係数読み出し部214は、オフセットバッファ215に、タイプ・オフセット決定部211からのオフセットに一致するものがないかを探す。係数読み出し部214は、ステップS212において、オフセットバッファ215内に、オフセットが一致するものがあるか否かを判定する。なお、係数読み出し部214は、オフセットバッファ215からのタイプインデックスが示すタイプのバッファ(エッジオフセット用またはバンドオフセット用)を確認する。
ステップS212において、オフセットが一致するものがないと判定された場合、係数読み出し部214は、オフセットとタイプインデックスとを、パラメータ設定部216に供給する。
これに対応して、パラメータ設定部216は、ステップS213において、コピーフラグ(copy_flag)をfalseに設定する。
パラメータ設定部216は、タイプインデックス、およびオフセットを、係数書き込み部217にも供給し、ステップS214において、係数(オフセット)の書き込み処理を行わせる。この係数の書き込み処理は、図15を参照して後述される。
パラメータ設定部216は、ステップS217において、コピーフラグ、タイプインデックス、およびオフセットを、適応オフセットパラメータとして、シンタクス書き込み部221に供給し、適応オフセットパラメータを符号化させる。
これに対応して、シンタクス書き込み部221は、上述した図2のステップS26において、パラメータ設定部216からの適応オフセットパラメータを、LCU単位で、符号化ストリームのヘッダ部(sao_param)に書き込む。
一方、ステップS212において、オフセットが一致するものがあると判定された場合、処理は、ステップS215に進む。
係数読み出し部214は、ステップS215において、オフセットバッファ215で、一致する係数が格納されている位置を示すコピーインデックス(copy_idx)を設定し、タイプインデックスとともに、パラメータ設定部216に供給する。
これに対応して、パラメータ設定部216は、ステップS216において、コピーフラグ(copy_flag)をtureに設定する。
そして、パラメータ設定部216は、コピーフラグ、タイプインデックス、およびコピーインデックスを、適応オフセットパラメータとして、シンタクス書き込み部221に供給し、適応オフセットパラメータを符号化させる。
これに対応して、シンタクス書き込み部221は、上述した図2のステップS26において、パラメータ設定部216からの適応オフセットパラメータを、LCU単位で、符号化ストリームのヘッダ部(sao_param)に書き込む。
一方、ステップS211において決定されたタイプインデックス(sao_type_idx)と、オフセット(sao_offset)は、オフセット処理部212にも供給される。
ステップS218において、オフセット処理部212は、オフセット処理を行う。すなわち、オフセット処理部212は、デブロッキングフィルタ31からのデブロック後画素値に対して、LCU毎に、タイプ・オフセット決定部211からのタイプインデックスが示すタイプとオフセットで、適応オフセットフィルタ処理を行う。適応オフセットフィルタ後の画素値は、画像バッファ213に格納され、所定のタイミングで、適応ループフィルタ42に供給される。
[係数書き込み処理]
次に、図15のフローチャートを参照して、図14のステップS214の係数書き込み処理について説明する。なお、この係数書き込み処理の説明には、図16が参照される。
オフセットバッファ215は、図16に示されるように、エッジオフセット用の係数が格納されるEOバッファ215−1およびバンドオフセット用の係数が格納されるBOバッファ215−2の2つのバッファで構成されている。
EOバッファ215−1およびBOバッファ215−2には、先頭寄り(左側)の位置から係数が格納されていく。EOバッファ215−1およびBOバッファ215−2において、コピーインデックス(idx)が示されている位置は、すでに係数が書き込まれている領域であり、「空」が示されている位置は、空き領域である。
すなわち、EOバッファ215−1において、コピーインデックス(idx)=1で示される位置、コピーインデックス=2で示される位置、コピーインデックス=3で示される位置、コピーインデックス=4で示される位置には、すでに係数が書き込まれている。
例えば、BOバッファ215−2において、コピーインデックス(idx)=1で示される位置、コピーインデックス=2で示される位置には、すでに係数が書き込まれている。
係数書き込み部217は、図15のステップS231において、パラメータ設定部216からのタイプインデックスが、EO(エッジオフセット)であるか否かを判定する。
ステップS231において、タイプインデックスが、EO(エッジオフセット)であると判定された場合、係数書き込み部217は、ステップS232において、EOバッファ215−1を選択する。
ステップS231において、タイプインデックスが、EO(エッジオフセット)ではない、すなわち、バンドオフセットであると判定された場合、係数書き込み部217は、ステップS233において、BOバッファ215−2を選択する。
ステップS234において、係数書き込み部217は、選択したバッファにおいて、先頭寄りの空いている領域に、sao_offset(オフセット)を書き込む。
例えば、図16に示されるように、タイプインデックス(sao_type_idx)が5の場合、バンドオフセットであるので、ステップS233において、BOバッファ215−2が選択される。そして、ステップS234において、コピーインデックス=2で示される位置の右隣の位置に、タイプインデックスが5のsao_offset(オフセット)が書き込まれる。すなわち、コピーインデックス=2で示される位置の右隣の位置が、空き領域のうち、先頭寄りの領域である。
[適応オフセットフィルタの構成例]
図17は、図3の画像復号装置における可逆復号部および適応オフセットフィルタの構成例を示すブロック図である。
図17の例において、可逆復号部62は、少なくとも、シンタクス読み出し部251を含むように構成される。
適応オフセットフィルタ81は、パラメータ受け取り部261、係数読み出し部262、オフセットバッファ263、係数書き込み部264、オフセット処理部265、および画像バッファ266を含むように構成される。
シンタクス読み出し部251は、符号化ストリームのヘッダ部からシンタクスを読み出し、そのうち、適応オフセットパラメータを、パラメータ受け取り部261に供給する。
なお、符号化側でも上述したように、適応オフセットパラメータは、コピーフラグがtureの場合、コピーフラグ、タイプインデックス、およびコピーインデックスで構成される。適応オフセットパラメータは、コピーフラグがfalseの場合、コピーフラグ、タイプインデックス、およびオフセットで構成される。
パラメータ受け取り部261は、シンタクス読み出し部251から供給された適応オフセットパラメータを受け取り、係数読み出し部262に供給する。
係数読み出し部262は、タイプインデックスが0であるか否かを判定する。タイプインデックスが0の場合、オフセット処理部265に、適応オフセットフィルタを行わせない。
係数読み出し部262は、コピーフラグがtureの場合、タイプインデックスが示すタイプ用のバッファのコピーインデックスが示す位置から、オフセットを読み出す。係数読み出し部262は、読み出したオフセットとタイプインデックスを、オフセット処理部265に供給する。
係数読み出し部262は、コピーフラグがfalseの場合、オフセットとタイプインデックスを、オフセット処理部265に供給する。このとき、係数読み出し部262は、オフセットとタイプインデックスを、係数書き込み部264にも供給し、オフセットバッファ263にオフセットを書き込ませる。
オフセットバッファ263は、図13のオフセットバッファ215と同様に構成されている。すなわち、オフセットバッファ263は、エッジオフセット用のオフセットを格納するバッファと、バンドオフセット用のオフセットを格納するバッファを有している。オフセットバッファ263は、例えば、FIFOに構成されている。
係数書き込み部264は、図13の係数書き込み部217と基本的に同様に構成されている。すなわち、係数書き込み部264は、オフセットバッファ263において、係数読み出し部262からのタイプインデックスが示すタイプのバッファの空き領域のうち、先頭寄りの空き領域に、係数読み出し部262からのオフセットを書き込む。
オフセット処理部265は、図13のオフセット処理部212と基本的に同様に構成されている。すなわち、オフセット処理部265は、デブロッキングフィルタ66からのデブロック後画素値に対して、LCU毎に、係数読み出し部262からのタイプインデックスが示すタイプとオフセットで、適応オフセットフィルタ処理を行う。オフセット処理部265は、オフセット処理後の画素値を、画像バッファ266に供給する。
なお、タイプインデックスが0の場合、オフセット処理部265は、デブロッキングフィルタ66からのフィルタ済みの画素を、そのまま、画像バッファ266に供給する。すなわち、この場合、適応オフセットフィルタ処理は行われない。
画像バッファ266は、図13の画像バッファ213と基本的に同様に構成されている。すなわち、画像バッファ266は、オフセット処理部265によるオフセット処理後の画素値を一旦格納し、所定のタイミングで、適応ループフィルタ82に供給する。
[復号側の適応オフセットフィルタ処理]
次に、図18のフローチャートを参照して、図17の適応オフセットフィルタ81が行う適応オフセットフィルタ処理について説明する。なお、この適応オフセットフィルタ処理は、図4のステップS59における処理である。
図4のステップS52において、符号化ストリームが復号される際に、シンタクス読み出し部251は、符号化ストリームのヘッダ部からシンタクスを読み出し、そのうち、適応オフセットパラメータを、パラメータ受け取り部261に供給する。
パラメータ受け取り部261は、ステップS251において、シンタクス読み出し部251から供給された適応オフセットパラメータを受け取り、係数読み出し部262に供給する。
係数読み出し部262は、ステップS252において、タイプインデックス(sao_type_idx)が0であるか否かを判定する。
ステップS252において、タイプインデックスが0であると判定された場合、適応オフセットフィルタ処理は終了する。すなわち、この場合、適応オフセットフィルタ処理は行われず、オフセット処理部265は、デブロッキングフィルタ66からのフィルタ済みの画素を、そのまま、画像バッファ266に供給する。
ステップS252において、タイプインデックスが0ではないと判定された場合、係数読み出し部262は、ステップS253において、コピーフラグ(copy_flag)がtureであるか否かを判定する。
ステップS253において、コピーフラグがtureであると判定された場合、係数読み出し部262は、ステップS254において、係数(オフセット)読み出し処理を行う。この係数読み出し処理は、図19を参照して後述される。
この処理により、タイプインデックスが示すタイプ用のバッファのコピーインデックスが示す位置から、オフセットが読み出される。係数読み出し部262は、読み出したオフセットとタイプインデックスを、オフセット処理部265に供給する。
一方、ステップS253において、コピーフラグがtureではないと判定された場合、係数読み出し部262は、パラメータ受け取り部261からのオフセットとタイプインデックスを、オフセット処理部265に供給する。
そして、係数読み出し部262は、ステップS255において、パラメータ受け取り部261からのオフセットとタイプインデックスを、係数書き込み部264にも供給し、オフセットバッファ263への係数書き込み処理を行わせる。この係数書き込み処理は、図15を参照して上述した係数書き込み処理と基本的に同じ処理であるので、その説明は省略される。
ステップS256において、オフセット処理部265は、デブロッキングフィルタ66からのデブロック後画素値に対して、LCU毎に、係数読み出し部262からのタイプインデックスが示すタイプとオフセットで、適応オフセットフィルタ処理を行う。オフセット処理部265は、オフセット処理後の画素値を、画像バッファ266に供給する。
[係数読み出し処理]
次に、図19のフローチャートを参照して、図18のステップS254の係数読み出し処理について説明する。なお、この係数読み出し処理の説明には、図20が参照される。
オフセットバッファ263は、図20に示されるように、エッジオフセット用の係数が格納されるEOバッファ263−1およびバンドオフセット用の係数が格納されるBOバッファ263−2の2つのバッファで構成されている。
EOバッファ263−1およびBOバッファ263−2には、先頭寄り(左側)の位置から係数が格納されていく。EOバッファ263−1およびBOバッファ263−2において、コピーインデックス(idx)が示されている位置は、すでに係数が書き込まれている領域であり、その他の位置は、空き領域である。
すなわち、EOバッファ263−1において、コピーインデックス(idx)=1で示される位置、コピーインデックス=2で示される位置、コピーインデックス=3で示される位置、コピーインデックス=4で示される位置には、すでに係数が書き込まれている。
例えば、BOバッファ263−2において、コピーインデックス(idx)=1で示される位置、コピーインデックス=2で示される位置、コピーインデックス=3で示される位置、コピーインデックス=4で示される位置には、すでに係数が書き込まれている。
係数読み出し部262は、図19のステップS271において、パラメータ受け取り部261からのタイプインデックスが、EO(エッジオフセット)であるか否かを判定する。
ステップS271において、タイプインデックスが、EO(エッジオフセット)であると判定された場合、係数読み出し部262は、ステップS272において、EOバッファ263−1を選択する。
ステップS271において、タイプインデックスが、EO(エッジオフセット)ではない、すなわち、バンドオフセットであると判定された場合、係数読み出し部262は、ステップS273において、BOバッファ263−2を選択する。
ステップS274において、係数読み出し部262は、選択したバッファにおいて、コピーインデックス(copy_idx)が示す位置から、sao_offset(オフセット)を読み出す。
例えば、図20に示されるように、タイプインデックス(sao_type_idx)が5の場合、バンドオフセットであるので、ステップS273において、BOバッファ263−2が選択される。そして、ステップS274において、コピーインデックス=3で示される位置から、sao_offset(オフセット)が読み出される。
以上のように、適応オフセットフィルタを最大の符号化単位であるLCU単位で行うようにし、従来フレームの先頭で一度に伝送していた適応オフセットフィルタのパラメータを、LCUの先頭で逐次送るようにした。これにより、従来は、1フレーム分の容量が必要であったのに対して、LCU分の容量にバッファを削減することができる。
また、コピーフラグとコピーインデックスを復号側に送り、すでに使った係数を送らないようにすることで、LCU毎に送ってしまうことによって送る係数が多くなってしまうのを軽減することができる。
さらに、適応オフセットフィルタと適応ループフィルタを同じLCU単位で行うことができるので、処理効率を向上させることができる。
また、LCU単位で領域分割することで、従来のquad-tree構造の場合より、分割の自由度が向上し、入力画像の特性に合わせた適応オフセットフィルタを行うことができるようになる。
なお、上記説明においては、オフセットバッファ215およびオフセットバッファ263は、FIFOに構成されている例を示したが、FIFOに限定されない。すなわち、オフセットバッファ215およびオフセットバッファ263の構成は、符号化側と復号側で同じ構成をしていれば、他のバッファ構成であってもよい。
以上においては、符号化方式としてHEVC方式をベースに用いるようにした。ただし、本開示はこれに限らず、インループフィルタとして、少なくとも適応オフセットフィルタを含む、その他の符号化方式/復号方式を適用することができる。
なお、本開示は、例えば、HEVC方式等の様に、離散コサイン変換等の直交変換と動き補償によって圧縮された画像情報(ビットストリーム)を、衛星放送、ケーブルテレビジョン、インターネット、または携帯電話機などのネットワークメディアを介して受信する際に用いられる画像符号化装置および画像復号装置に適用することができる。また、本開示は、光、磁気ディスク、およびフラッシュメモリのような記憶メディア上で処理する際に用いられる画像符号化装置および画像復号装置に適用することができる。
<4.第2の実施の形態>
[多視点画像符号化・多視点画像復号への適用]
上述した一連の処理は、多視点画像符号化・多視点画像復号に適用することができる。図21は、多視点画像符号化方式の一例を示す。
図21に示されるように、多視点画像は、複数の視点の画像を含み、その複数の視点のうちの所定の1つの視点の画像が、ベースビューの画像に指定されている。ベースビューの画像以外の各視点の画像は、ノンベースビューの画像として扱われる。
図21のような多視点画像符号化を行う場合、各ビュー(同一ビュー)において、適応オフセットフィルタパラメータ(コピーフラグ、およびコピーインデックスなど)を設定することができる。また、各ビュー(異なるビュー)において、他のビューで設定された適応オフセットフィルタパラメータを共有することもできる。
この場合、ベースビューにおいて設定された適応オフセットフィルタパラメータが、少なくとも1つのノンベースビューで用いられる。あるいは、例えば、ノンベースビュー(view_id=i)において設定された適応オフセットフィルタパラメータが、ベースビューおよびノンベースビュー(view_id=j)の少なくともどちらか一方で用いられる。
これにより、処理効率を向上させることができる。
[多視点画像符号化装置]
図22は、上述した多視点画像符号化を行う多視点画像符号化装置を示す図である。図22に示されるように、多視点画像符号化装置600は、符号化部601、符号化部602、および多重化部603を有する。
符号化部601は、ベースビュー画像を符号化し、ベースビュー画像符号化ストリームを生成する。符号化部602は、ノンベースビュー画像を符号化し、ノンベースビュー画像符号化ストリームを生成する。多重化部603は、符号化部601において生成されたベースビュー画像符号化ストリームと、符号化部602において生成されたノンベースビュー画像符号化ストリームとを多重化し、多視点画像符号化ストリームを生成する。
この多視点画像符号化装置600の符号化部601および符号化部602に対して、画像符号化装置11(図1)を適用することができる。この場合、多視点画像符号化装置600は、符号化部601が設定した適応オフセットフィルタパラメータと、符号化部602が設定した適応オフセットフィルタパラメータとを設定して伝送させる。
なお、上述したように符号化部601が設定した適応オフセットフィルタパラメータを、符号化部601および符号化部602で共有して用いるように設定して伝送させるようにしてもよい。逆に、符号化部602がまとめて設定した適応オフセットフィルタパラメータを、符号化部601および符号化部602で共有して用いるように設定して伝送させるようにしてもよい。
[多視点画像復号装置]
図23は、上述した多視点画像復号を行う多視点画像復号装置を示す図である。図23に示されるように、多視点画像復号装置610は、逆多重化部611、復号部612、および復号部613を有する。
逆多重化部611は、ベースビュー画像符号化ストリームとノンベースビュー画像符号化ストリームとが多重化された多視点画像符号化ストリームを逆多重化し、ベースビュー画像符号化ストリームと、ノンベースビュー画像符号化ストリームとを抽出する。復号部612は、逆多重化部611により抽出されたベースビュー画像符号化ストリームを復号し、ベースビュー画像を得る。復号部613は、逆多重化部611により抽出されたノンベースビュー画像符号化ストリームを復号し、ノンベースビュー画像を得る。
この多視点画像復号装置610の復号部612および復号部613に対して、画像復号装置51(図3)を適用することができる。この場合、多視点画像復号装置610は、符号化部601が設定し、復号部612が復号した適応オフセットフィルタパラメータと、符号化部602が設定し、復号部613が復号した適応オフセットフィルタパラメータを用いて処理を行う。
なお、上述したように符号化部601(または、符号化部602)が設定した適応オフセットフィルタパラメータを、符号化部601および符号化部602で共有して用いるように設定して伝送されている場合がある。この場合、多視点画像復号装置610においては、符号化部601(または、符号化部602)が設定し、復号部612(または復号部613)が復号した適応オフセットフィルタパラメータを用いて処理が行われる。
<5.第3の実施の形態>
[階層画像符号化・階層画像復号への適用]
上述した一連の処理は、階層画像符号化・階層画像復号に適用することができる。図24は、多視点画像符号化方式の一例を示す。
図24に示されるように、階層画像は、複数の階層(解像度)の画像を含み、その複数の解像度のうちの所定の1つの階層の画像が、ベースレイヤの画像に指定されている。ベースレイヤの画像以外の各階層の画像は、ノンベースレイヤの画像として扱われる。
図24のような階層画像符号化(空間スケーラビリティ)を行う場合、各レイヤ(同一レイヤ)において、適応オフセットフィルタパラメータを設定することができる。また、各レイヤ(異なるレイヤ)において、他のレイヤで設定された適応オフセットフィルタパラメータを共有することができる。
この場合、ベースレイヤにおいて設定された適応オフセットフィルタパラメータが、少なくとも1つのノンベースレイヤで用いられる。あるいは、例えば、ノンベースレイヤ(layer _id=i)において設定された適応オフセットフィルタパラメータが、ベースレイヤおよびノンベースレイヤ(layer_id=j)の少なくともどちらか一方で用いられる。
これにより、処理効率を向上させることができる。
[階層画像符号化装置]
図25は、上述した階層画像符号化を行う階層画像符号化装置を示す図である。図25に示されるように、階層画像符号化装置620は、符号化部621、符号化部622、および多重化部623を有する。
符号化部621は、ベースレイヤ画像を符号化し、ベースレイヤ画像符号化ストリームを生成する。符号化部622は、ノンベースレイヤ画像を符号化し、ノンベースレイヤ画像符号化ストリームを生成する。多重化部623は、符号化部621において生成されたベースレイヤ画像符号化ストリームと、符号化部622において生成されたノンベースレイヤ画像符号化ストリームとを多重化し、階層画像符号化ストリームを生成する。
この階層画像符号化装置620の符号化部621および符号化部622に対して、画像符号化装置11(図1)を適用することができる。この場合、階層画像符号化装置620は、符号化部621が設定した適応オフセットフィルタパラメータと、符号化部602が設定した適応オフセットフィルタパラメータとを設定して伝送させる。
なお、上述したように符号化部621が設定した適応オフセットフィルタパラメータを、符号化部621および符号化部622で共有して用いるように設定して伝送させるようにしてもよい。逆に、符号化部622が設定した適応オフセットフィルタパラメータを、符号化部621および符号化部622で共有して用いるように設定して伝送させるようにしてもよい。
[階層画像復号装置]
図26は、上述した階層画像復号を行う階層画像復号装置を示す図である。図26に示されるように、階層画像復号装置630は、逆多重化部631、復号部632、および復号部633を有する。
逆多重化部631は、ベースレイヤ画像符号化ストリームとノンベースレイヤ画像符号化ストリームとが多重化された階層画像符号化ストリームを逆多重化し、ベースレイヤ画像符号化ストリームと、ノンベースレイヤ画像符号化ストリームとを抽出する。復号部632は、逆多重化部631により抽出されたベースレイヤ画像符号化ストリームを復号し、ベースレイヤ画像を得る。復号部633は、逆多重化部631により抽出されたノンベースレイヤ画像符号化ストリームを復号し、ノンベースレイヤ画像を得る。
この階層画像復号装置630の復号部632および復号部633に対して、画像復号装置51(図3)を適用することができる。この場合、階層画像復号装置630は、符号化部621が設定し、復号部632が復号した適応オフセットフィルタパラメータと、符号化部622が設定し、復号部633が復号した適応オフセットフィルタパラメータを用いて処理を行う。
なお、上述したように符号化部621(または、符号化部622)が設定した適応オフセットフィルタパラメータを、符号化部621および符号化部622で共有して用いるように設定して伝送されている場合がある。この場合、階層画像復号装置630においては、符号化部621(または、符号化部622)が設定し、復号部632(または、復号部633)が復号した適応オフセットフィルタパラメータを用いて処理が行われる。
<6.第4の実施の形態>
[コンピュータの構成例]
上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどが含まれる。
図27は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
コンピュータ800において、CPU(Central Processing Unit)801,ROM(Read Only Memory)802,RAM(Random Access Memory)803は、バス804により相互に接続されている。
バス804には、さらに、入出力インタフェース805が接続されている。入出力インタフェース805には、入力部806、出力部807、記憶部808、通信部809、及びドライブ810が接続されている。
入力部806は、キーボード、マウス、マイクロホンなどよりなる。出力部807は、ディスプレイ、スピーカなどよりなる。記憶部808は、ハードディスクや不揮発性のメモリなどよりなる。通信部809は、ネットワークインタフェースなどよりなる。ドライブ810は、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどのリムーバブルメディア811を駆動する。
以上のように構成されるコンピュータでは、CPU801が、例えば、記憶部808に記憶されているプログラムを、入出力インタフェース805及びバス804を介して、RAM803にロードして実行することにより、上述した一連の処理が行われる。
コンピュータ800(CPU801)が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア811に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することができる。
コンピュータでは、プログラムは、リムーバブルメディア811をドライブ810に装着することにより、入出力インタフェース805を介して、記憶部808にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部809で受信し、記憶部808にインストールすることができる。その他、プログラムは、ROM802や記憶部808に、あらかじめインストールしておくことができる。
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
また、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
また、本明細書において、システムとは、複数のデバイス(装置)により構成される装置全体を表すものである。
また、以上において、1つの装置(または処理部)として説明した構成を分割し、複数の装置(または処理部)として構成するようにしてもよい。逆に、以上において複数の装置(または処理部)として説明した構成をまとめて1つの装置(または処理部)として構成されるようにしてもよい。また、各装置(または各処理部)の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置(または処理部)の構成の一部を他の装置(または他の処理部)の構成に含めるようにしてもよい。つまり、本技術は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
上述した実施形態に係る画像符号化装置及び画像復号装置は、衛星放送、ケーブルTVなどの有線放送、インターネット上での配信、及びセルラー通信による端末への配信などにおける送信機若しくは受信機、光ディスク、磁気ディスク及びフラッシュメモリなどの媒体に画像を記録する記録装置、又は、これら記憶媒体から画像を再生する再生装置などの様々な電子機器に応用され得る。以下、4つの応用例について説明する。
<7.応用例>
[第1の応用例:テレビジョン受像機]
図28は、上述した実施形態を適用したテレビジョン装置の概略的な構成の一例を示している。テレビジョン装置900は、アンテナ901、チューナ902、デマルチプレクサ903、デコーダ904、映像信号処理部905、表示部906、音声信号処理部907、スピーカ908、外部インタフェース909、制御部910、ユーザインタフェース911、及びバス912を備える。
チューナ902は、アンテナ901を介して受信される放送信号から所望のチャンネルの信号を抽出し、抽出した信号を復調する。そして、チューナ902は、復調により得られた符号化ビットストリームをデマルチプレクサ903へ出力する。即ち、チューナ902は、画像が符号化されている符号化ストリームを受信する、テレビジョン装置900における伝送手段としての役割を有する。
デマルチプレクサ903は、符号化ビットストリームから視聴対象の番組の映像ストリーム及び音声ストリームを分離し、分離した各ストリームをデコーダ904へ出力する。また、デマルチプレクサ903は、符号化ビットストリームからEPG(Electronic Program Guide)などの補助的なデータを抽出し、抽出したデータを制御部910に供給する。なお、デマルチプレクサ903は、符号化ビットストリームがスクランブルされている場合には、デスクランブルを行ってもよい。
デコーダ904は、デマルチプレクサ903から入力される映像ストリーム及び音声ストリームを復号する。そして、デコーダ904は、復号処理により生成される映像データを映像信号処理部905へ出力する。また、デコーダ904は、復号処理により生成される音声データを音声信号処理部907へ出力する。
映像信号処理部905は、デコーダ904から入力される映像データを再生し、表示部906に映像を表示させる。また、映像信号処理部905は、ネットワークを介して供給されるアプリケーション画面を表示部906に表示させてもよい。また、映像信号処理部905は、映像データについて、設定に応じて、例えばノイズ除去などの追加的な処理を行ってもよい。さらに、映像信号処理部905は、例えばメニュー、ボタン又はカーソルなどのGUI(Graphical User Interface)の画像を生成し、生成した画像を出力画像に重畳してもよい。
表示部906は、映像信号処理部905から供給される駆動信号により駆動され、表示デバイス(例えば、液晶ディスプレイ、プラズマディスプレイ又はOELD(Organic ElectroLuminescence Display)(有機ELディスプレイ)など)の映像面上に映像又は画像を表示する。
音声信号処理部907は、デコーダ904から入力される音声データについてD/A変換及び増幅などの再生処理を行い、スピーカ908から音声を出力させる。また、音声信号処理部907は、音声データについてノイズ除去などの追加的な処理を行ってもよい。
外部インタフェース909は、テレビジョン装置900と外部機器又はネットワークとを接続するためのインタフェースである。例えば、外部インタフェース909を介して受信される映像ストリーム又は音声ストリームが、デコーダ904により復号されてもよい。即ち、外部インタフェース909もまた、画像が符号化されている符号化ストリームを受信する、テレビジョン装置900における伝送手段としての役割を有する。
制御部910は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、プログラムデータ、EPGデータ、及びネットワークを介して取得されるデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、テレビジョン装置900の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース911から入力される操作信号に応じて、テレビジョン装置900の動作を制御する。
ユーザインタフェース911は、制御部910と接続される。ユーザインタフェース911は、例えば、ユーザがテレビジョン装置900を操作するためのボタン及びスイッチ、並びに遠隔制御信号の受信部などを有する。ユーザインタフェース911は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部910へ出力する。
バス912は、チューナ902、デマルチプレクサ903、デコーダ904、映像信号処理部905、音声信号処理部907、外部インタフェース909及び制御部910を相互に接続する。
このように構成されたテレビジョン装置900において、デコーダ904は、上述した実施形態に係る画像復号装置の機能を有する。それにより、テレビジョン装置900での画像の復号に際して、処理効率を向上させることができる。
[第2の応用例:携帯電話機]
図29は、上述した実施形態を適用した携帯電話機の概略的な構成の一例を示している。携帯電話機920は、アンテナ921、通信部922、音声コーデック923、スピーカ924、マイクロホン925、カメラ部926、画像処理部927、多重分離部928、記録再生部929、表示部930、制御部931、操作部932、及びバス933を備える。
アンテナ921は、通信部922に接続される。スピーカ924及びマイクロホン925は、音声コーデック923に接続される。操作部932は、制御部931に接続される。バス933は、通信部922、音声コーデック923、カメラ部926、画像処理部927、多重分離部928、記録再生部929、表示部930、及び制御部931を相互に接続する。
携帯電話機920は、音声通話モード、データ通信モード、撮影モード及びテレビ電話モードを含む様々な動作モードで、音声信号の送受信、電子メール又は画像データの送受信、画像の撮像、及びデータの記録などの動作を行う。
音声通話モードにおいて、マイクロホン925により生成されるアナログ音声信号は、音声コーデック923に供給される。音声コーデック923は、アナログ音声信号を音声データへ変換し、変換された音声データをA/D変換し圧縮する。そして、音声コーデック923は、圧縮後の音声データを通信部922へ出力する。通信部922は、音声データを符号化及び変調し、送信信号を生成する。そして、通信部922は、生成した送信信号を、アンテナ921を介して基地局(図示せず)へ送信する。また、通信部922は、アンテナ921を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。そして、通信部922は、受信信号を復調及び復号して音声データを生成し、生成した音声データを音声コーデック923へ出力する。音声コーデック923は、音声データを伸張し及びD/A変換し、アナログ音声信号を生成する。そして、音声コーデック923は、生成した音声信号をスピーカ924に供給して音声を出力させる。
また、データ通信モードにおいて、例えば、制御部931は、操作部932を介するユーザによる操作に応じて、電子メールを構成する文字データを生成する。また、制御部931は、文字を表示部930に表示させる。また、制御部931は、操作部932を介するユーザからの送信指示に応じて電子メールデータを生成し、生成した電子メールデータを通信部922へ出力する。通信部922は、電子メールデータを符号化及び変調し、送信信号を生成する。そして、通信部922は、生成した送信信号を、アンテナ921を介して基地局(図示せず)へ送信する。また、通信部922は、アンテナ921を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。そして、通信部922は、受信信号を復調及び復号して電子メールデータを復元し、復元した電子メールデータを制御部931へ出力する。制御部931は、表示部930に電子メールの内容を表示させると共に、電子メールデータを記録再生部929の記憶媒体に記憶させる。
記録再生部929は、読み書き可能な任意の記憶媒体を有する。例えば、記憶媒体は、RAM又はフラッシュメモリなどの内蔵型の記憶媒体であってもよく、ハードディスク、磁気ディスク、光磁気ディスク、光ディスク、USB(Unallocated Space Bitmap)メモリ、又はメモリカードなどの外部装着型の記憶媒体であってもよい。
また、撮影モードにおいて、例えば、カメラ部926は、被写体を撮像して画像データを生成し、生成した画像データを画像処理部927へ出力する。画像処理部927は、カメラ部926から入力される画像データを符号化し、符号化ストリームを記憶再生部929の記憶媒体に記憶させる。
また、テレビ電話モードにおいて、例えば、多重分離部928は、画像処理部927により符号化された映像ストリームと、音声コーデック923から入力される音声ストリームとを多重化し、多重化したストリームを通信部922へ出力する。通信部922は、ストリームを符号化及び変調し、送信信号を生成する。そして、通信部922は、生成した送信信号を、アンテナ921を介して基地局(図示せず)へ送信する。また、通信部922は、アンテナ921を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。これら送信信号及び受信信号には、符号化ビットストリームが含まれ得る。そして、通信部922は、受信信号を復調及び復号してストリームを復元し、復元したストリームを多重分離部928へ出力する。多重分離部928は、入力されるストリームから映像ストリーム及び音声ストリームを分離し、映像ストリームを画像処理部927、音声ストリームを音声コーデック923へ出力する。画像処理部927は、映像ストリームを復号し、映像データを生成する。映像データは、表示部930に供給され、表示部930により一連の画像が表示される。音声コーデック923は、音声ストリームを伸張し及びD/A変換し、アナログ音声信号を生成する。そして、音声コーデック923は、生成した音声信号をスピーカ924に供給して音声を出力させる。
このように構成された携帯電話機920において、画像処理部927は、上述した実施形態に係る画像符号化装置及び画像復号装置の機能を有する。それにより、携帯電話機920での画像の符号化及び復号に際して、処理効率を向上させることができる。
[第3の応用例:記録再生装置]
図30は、上述した実施形態を適用した記録再生装置の概略的な構成の一例を示している。記録再生装置940は、例えば、受信した放送番組の音声データ及び映像データを符号化して記録媒体に記録する。また、記録再生装置940は、例えば、他の装置から取得される音声データ及び映像データを符号化して記録媒体に記録してもよい。また、記録再生装置940は、例えば、ユーザの指示に応じて、記録媒体に記録されているデータをモニタ及びスピーカ上で再生する。このとき、記録再生装置940は、音声データ及び映像データを復号する。
記録再生装置940は、チューナ941、外部インタフェース942、エンコーダ943、HDD(Hard Disk Drive)944、ディスクドライブ945、セレクタ946、デコーダ947、OSD(On-Screen Display)948、制御部949、及びユーザインタフェース950を備える。
チューナ941は、アンテナ(図示せず)を介して受信される放送信号から所望のチャンネルの信号を抽出し、抽出した信号を復調する。そして、チューナ941は、復調により得られた符号化ビットストリームをセレクタ946へ出力する。即ち、チューナ941は、記録再生装置940における伝送手段としての役割を有する。
外部インタフェース942は、記録再生装置940と外部機器又はネットワークとを接続するためのインタフェースである。外部インタフェース942は、例えば、IEEE1394インタフェース、ネットワークインタフェース、USBインタフェース、又はフラッシュメモリインタフェースなどであってよい。例えば、外部インタフェース942を介して受信される映像データ及び音声データは、エンコーダ943へ入力される。即ち、外部インタフェース942は、記録再生装置940における伝送手段としての役割を有する。
エンコーダ943は、外部インタフェース942から入力される映像データ及び音声データが符号化されていない場合に、映像データ及び音声データを符号化する。そして、エンコーダ943は、符号化ビットストリームをセレクタ946へ出力する。
HDD944は、映像及び音声などのコンテンツデータが圧縮された符号化ビットストリーム、各種プログラムおよびその他のデータを内部のハードディスクに記録する。また、HDD944は、映像及び音声の再生時に、これらデータをハードディスクから読み出す。
ディスクドライブ945は、装着されている記録媒体へのデータの記録及び読み出しを行う。ディスクドライブ945に装着される記録媒体は、例えばDVDディスク(DVD-Video、DVD-RAM、DVD-R、DVD-RW、DVD+R、DVD+RW等)又はBlu-ray(登録商標)ディスクなどであってよい。
セレクタ946は、映像及び音声の記録時には、チューナ941又はエンコーダ943から入力される符号化ビットストリームを選択し、選択した符号化ビットストリームをHDD944又はディスクドライブ945へ出力する。また、セレクタ946は、映像及び音声の再生時には、HDD944又はディスクドライブ945から入力される符号化ビットストリームをデコーダ947へ出力する。
デコーダ947は、符号化ビットストリームを復号し、映像データ及び音声データを生成する。そして、デコーダ947は、生成した映像データをOSD948へ出力する。また、デコーダ904は、生成した音声データを外部のスピーカへ出力する。
OSD948は、デコーダ947から入力される映像データを再生し、映像を表示する。また、OSD948は、表示する映像に、例えばメニュー、ボタン又はカーソルなどのGUIの画像を重畳してもよい。
制御部949は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、及びプログラムデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、記録再生装置940の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース950から入力される操作信号に応じて、記録再生装置940の動作を制御する。
ユーザインタフェース950は、制御部949と接続される。ユーザインタフェース950は、例えば、ユーザが記録再生装置940を操作するためのボタン及びスイッチ、並びに遠隔制御信号の受信部などを有する。ユーザインタフェース950は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部949へ出力する。
このように構成された記録再生装置940において、エンコーダ943は、上述した実施形態に係る画像符号化装置の機能を有する。また、デコーダ947は、上述した実施形態に係る画像復号装置の機能を有する。それにより、記録再生装置940での画像の符号化及び復号に際して、処理効率を向上させることができる。
[第4の応用例:撮像装置]
図31は、上述した実施形態を適用した撮像装置の概略的な構成の一例を示している。撮像装置960は、被写体を撮像して画像を生成し、画像データを符号化して記録媒体に記録する。
撮像装置960は、光学ブロック961、撮像部962、信号処理部963、画像処理部964、表示部965、外部インタフェース966、メモリ967、メディアドライブ968、OSD969、制御部970、ユーザインタフェース971、及びバス972を備える。
光学ブロック961は、撮像部962に接続される。撮像部962は、信号処理部963に接続される。表示部965は、画像処理部964に接続される。ユーザインタフェース971は、制御部970に接続される。バス972は、画像処理部964、外部インタフェース966、メモリ967、メディアドライブ968、OSD969、及び制御部970を相互に接続する。
光学ブロック961は、フォーカスレンズ及び絞り機構などを有する。光学ブロック961は、被写体の光学像を撮像部962の撮像面に結像させる。撮像部962は、CCD(Charge Coupled Device)又はCMOS(Complementary Metal Oxide Semiconductor)などのイメージセンサを有し、撮像面に結像した光学像を光電変換によって電気信号としての画像信号に変換する。そして、撮像部962は、画像信号を信号処理部963へ出力する。
信号処理部963は、撮像部962から入力される画像信号に対してニー補正、ガンマ補正、色補正などの種々のカメラ信号処理を行う。信号処理部963は、カメラ信号処理後の画像データを画像処理部964へ出力する。
画像処理部964は、信号処理部963から入力される画像データを符号化し、符号化データを生成する。そして、画像処理部964は、生成した符号化データを外部インタフェース966又はメディアドライブ968へ出力する。また、画像処理部964は、外部インタフェース966又はメディアドライブ968から入力される符号化データを復号し、画像データを生成する。そして、画像処理部964は、生成した画像データを表示部965へ出力する。また、画像処理部964は、信号処理部963から入力される画像データを表示部965へ出力して画像を表示させてもよい。また、画像処理部964は、OSD969から取得される表示用データを、表示部965へ出力する画像に重畳してもよい。
OSD969は、例えばメニュー、ボタン又はカーソルなどのGUIの画像を生成して、生成した画像を画像処理部964へ出力する。
外部インタフェース966は、例えばUSB入出力端子として構成される。外部インタフェース966は、例えば、画像の印刷時に、撮像装置960とプリンタとを接続する。また、外部インタフェース966には、必要に応じてドライブが接続される。ドライブには、例えば、磁気ディスク又は光ディスクなどのリムーバブルメディアが装着され、リムーバブルメディアから読み出されるプログラムが、撮像装置960にインストールされ得る。さらに、外部インタフェース966は、LAN又はインターネットなどのネットワークに接続されるネットワークインタフェースとして構成されてもよい。即ち、外部インタフェース966は、撮像装置960における伝送手段としての役割を有する。
メディアドライブ968に装着される記録媒体は、例えば、磁気ディスク、光磁気ディスク、光ディスク、又は半導体メモリなどの、読み書き可能な任意のリムーバブルメディアであってよい。また、メディアドライブ968に記録媒体が固定的に装着され、例えば、内蔵型ハードディスクドライブ又はSSD(Solid State Drive)のような非可搬性の記憶部が構成されてもよい。
制御部970は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、及びプログラムデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、撮像装置960の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース971から入力される操作信号に応じて、撮像装置960の動作を制御する。
ユーザインタフェース971は、制御部970と接続される。ユーザインタフェース971は、例えば、ユーザが撮像装置960を操作するためのボタン及びスイッチなどを有する。ユーザインタフェース971は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部970へ出力する。
このように構成された撮像装置960において、画像処理部964は、上述した実施形態に係る画像符号化装置及び画像復号装置の機能を有する。それにより、撮像装置960での画像の符号化及び復号に際して、処理効率を向上させることができる。
<8.スケーラブル符号化の応用例>
[第1のシステム]
次に、図24乃至図26を参照して上述したスケーラブル符号化(階層符号化)されたスケーラブル符号化データの具体的な利用例について説明する。スケーラブル符号化は、例えば、図32に示される例のように、伝送するデータの選択のために利用される。
図32に示されるデータ伝送システム1000において、配信サーバ1002は、スケーラブル符号化データ記憶部1001に記憶されているスケーラブル符号化データを読み出し、ネットワーク1003を介して、パーソナルコンピュータ1004、AV機器1005、タブレットデバイス1006、および携帯電話機1007等の端末装置に配信する。
その際、配信サーバ1002は、端末装置の能力や通信環境等に応じて、適切な品質の符号化データを選択して伝送する。配信サーバ1002が不要に高品質なデータを伝送しても、端末装置において高画質な画像を得られるとは限らず、遅延やオーバフローの発生要因となる恐れがある。また、不要に通信帯域を占有したり、端末装置の負荷を不要に増大させたりしてしまう恐れもある。逆に、配信サーバ1002が不要に低品質なデータを伝送しても、端末装置において十分な画質の画像を得ることができない恐れがある。そのため、配信サーバ1002は、スケーラブル符号化データ記憶部1001に記憶されているスケーラブル符号化データを、適宜、端末装置の能力や通信環境等に対して適切な品質の符号化データとして読み出し、伝送する。
例えば、スケーラブル符号化データ記憶部1001は、スケーラブルに符号化されたスケーラブル符号化データ(BL+EL)1011を記憶するとする。このスケーラブル符号化データ(BL+EL)1011は、ベースレイヤとエンハンスメントレイヤの両方を含む符号化データであり、復号することにより、ベースレイヤの画像およびエンハンスメントレイヤの画像の両方を得ることができるデータである。
配信サーバ1002は、データを伝送する端末装置の能力や通信環境等に応じて、適切なレイヤを選択し、そのレイヤのデータを読み出す。例えば、配信サーバ1002は、処理能力の高いパーソナルコンピュータ1004やタブレットデバイス1006に対しては、高品質なスケーラブル符号化データ(BL+EL)1011をスケーラブル符号化データ記憶部1001から読み出し、そのまま伝送する。これに対して、例えば、配信サーバ1002は、処理能力の低いAV機器1005や携帯電話機1007に対しては、スケーラブル符号化データ(BL+EL)1011からベースレイヤのデータを抽出し、スケーラブル符号化データ(BL+EL)1011と同じコンテンツのデータであるが、スケーラブル符号化データ(BL+EL)1011よりも低品質なスケーラブル符号化データ(BL)1012として伝送する。
このようにスケーラブル符号化データを用いることにより、データ量を容易に調整することができるので、遅延やオーバフローの発生を抑制したり、端末装置や通信媒体の負荷の不要な増大を抑制したりすることができる。また、スケーラブル符号化データ(BL+EL)1011は、レイヤ間の冗長性が低減されているので、各レイヤの符号化データを個別のデータとする場合よりもそのデータ量を低減させることができる。したがって、スケーラブル符号化データ記憶部1001の記憶領域をより効率よく使用することができる。
なお、パーソナルコンピュータ1004乃至携帯電話機1007のように、端末装置には様々な装置を適用することができるので、端末装置のハードウエアの性能は、装置によって異なる。また、端末装置が実行するアプリケーションも様々であるので、そのソフトウエアの能力も様々である。さらに、通信媒体となるネットワーク1003も、例えばインターネットやLAN(Local Area Network)等、有線若しくは無線、またはその両方を含むあらゆる通信回線網を適用することができ、そのデータ伝送能力は様々である。さらに、他の通信等によっても変化する恐れがある。
そこで、配信サーバ1002は、データ伝送を開始する前に、データの伝送先となる端末装置と通信を行い、端末装置のハードウエア性能や、端末装置が実行するアプリケーション(ソフトウエア)の性能等といった端末装置の能力に関する情報、並びに、ネットワーク1003の利用可能帯域幅等の通信環境に関する情報を得るようにしてもよい。そして、配信サーバ1002が、ここで得た情報を基に、適切なレイヤを選択するようにしてもよい。
なお、レイヤの抽出は、端末装置において行うようにしてもよい。例えば、パーソナルコンピュータ1004が、伝送されたスケーラブル符号化データ(BL+EL)1011を復号し、ベースレイヤの画像を表示しても良いし、エンハンスメントレイヤの画像を表示しても良い。また、例えば、パーソナルコンピュータ1004が、伝送されたスケーラブル符号化データ(BL+EL)1011から、ベースレイヤのスケーラブル符号化データ(BL)1012を抽出し、記憶したり、他の装置に転送したり、復号してベースレイヤの画像を表示したりするようにしてもよい。
もちろん、スケーラブル符号化データ記憶部1001、配信サーバ1002、ネットワーク1003、および端末装置の数はいずれも任意である。また、以上においては、配信サーバ1002がデータを端末装置に伝送する例について説明したが、利用例はこれに限定されない。データ伝送システム1000は、スケーラブル符号化された符号化データを端末装置に伝送する際、端末装置の能力や通信環境等に応じて、適切なレイヤを選択して伝送するシステムであれば、任意のシステムに適用することができる。
そして、以上のような図32のようなデータ伝送システム1000においても、図24乃至図26を参照して上述した階層符号化・階層復号への適用と同様に本技術を適用することにより、図24乃至図26を参照して上述した効果と同様の効果を得ることができる。
[第2のシステム]
また、スケーラブル符号化は、例えば、図33に示される例のように、複数の通信媒体を介する伝送のために利用される。
図33に示されるデータ伝送システム1100において、放送局1101は、地上波放送1111により、ベースレイヤのスケーラブル符号化データ(BL)1121を伝送する。また、放送局1101は、有線若しくは無線またはその両方の通信網よりなる任意のネットワーク1112を介して、エンハンスメントレイヤのスケーラブル符号化データ(EL)1122を伝送する(例えばパケット化して伝送する)。
端末装置1102は、放送局1101が放送する地上波放送1111の受信機能を有し、この地上波放送1111を介して伝送されるベースレイヤのスケーラブル符号化データ(BL)1121を受け取る。また、端末装置1102は、ネットワーク1112を介した通信を行う通信機能をさらに有し、このネットワーク1112を介して伝送されるエンハンスメントレイヤのスケーラブル符号化データ(EL)1122を受け取る。
端末装置1102は、例えばユーザ指示等に応じて、地上波放送1111を介して取得したベースレイヤのスケーラブル符号化データ(BL)1121を、復号してベースレイヤの画像を得たり、記憶したり、他の装置に伝送したりする。
また、端末装置1102は、例えばユーザ指示等に応じて、地上波放送1111を介して取得したベースレイヤのスケーラブル符号化データ(BL)1121と、ネットワーク1112を介して取得したエンハンスメントレイヤのスケーラブル符号化データ(EL)1122とを合成して、スケーラブル符号化データ(BL+EL)を得たり、それを復号してエンハンスメントレイヤの画像を得たり、記憶したり、他の装置に伝送したりする。
以上のように、スケーラブル符号化データは、例えばレイヤ毎に異なる通信媒体を介して伝送させることができる。したがって、負荷を分散させることができ、遅延やオーバフローの発生を抑制することができる。
また、状況に応じて、伝送に使用する通信媒体を、レイヤ毎に選択することができるようにしてもよい。例えば、データ量が比較的多いベースレイヤのスケーラブル符号化データ(BL)1121を帯域幅の広い通信媒体を介して伝送させ、データ量が比較的少ないエンハンスメントレイヤのスケーラブル符号化データ(EL)1122を帯域幅の狭い通信媒体を介して伝送させるようにしてもよい。また、例えば、エンハンスメントレイヤのスケーラブル符号化データ(EL)1122を伝送する通信媒体を、ネットワーク1112とするか、地上波放送1111とするかを、ネットワーク1112の利用可能帯域幅に応じて切り替えるようにしてもよい。もちろん、任意のレイヤのデータについて同様である。
このように制御することにより、データ伝送における負荷の増大を、より抑制することができる。
もちろん、レイヤ数は任意であり、伝送に利用する通信媒体の数も任意である。また、データ配信先となる端末装置1102の数も任意である。さらに、以上においては、放送局1101からの放送を例に説明したが、利用例はこれに限定されない。データ伝送システム1100は、スケーラブル符号化された符号化データを、レイヤを単位として複数に分割し、複数の回線を介して伝送するシステムであれば、任意のシステムに適用することができる。
そして、以上のような図33のデータ伝送システム1100においても、図24乃至図26を参照して上述した階層符号化・階層復号への適用と同様に本技術を適用することにより、図24乃至図26を参照して上述した効果と同様の効果を得ることができる。
[第3のシステム]
また、スケーラブル符号化は、例えば、図34に示される例のように、符号化データの記憶に利用される。
図34に示される撮像システム1200において、撮像装置1201は、被写体1211を撮像して得られた画像データをスケーラブル符号化し、スケーラブル符号化データ(BL+EL)1221として、スケーラブル符号化データ記憶装置1202に供給する。
スケーラブル符号化データ記憶装置1202は、撮像装置1201から供給されるスケーラブル符号化データ(BL+EL)1221を、状況に応じた品質で記憶する。例えば、通常時の場合、スケーラブル符号化データ記憶装置1202は、スケーラブル符号化データ(BL+EL)1221からベースレイヤのデータを抽出し、低品質でデータ量の少ないベースレイヤのスケーラブル符号化データ(BL)1222として記憶する。これに対して、例えば、注目時の場合、スケーラブル符号化データ記憶装置1202は、高品質でデータ量の多いスケーラブル符号化データ(BL+EL)1221のまま記憶する。
このようにすることにより、スケーラブル符号化データ記憶装置1202は、必要な場合のみ、画像を高画質に保存することができるので、画質劣化による画像の価値の低減を抑制しながら、データ量の増大を抑制することができ、記憶領域の利用効率を向上させることができる。
例えば、撮像装置1201が監視カメラであるとする。撮像画像に監視対象(例えば侵入者)が写っていない場合(通常時の場合)、撮像画像の内容は重要でない可能性が高いので、データ量の低減が優先され、その画像データ(スケーラブル符号化データ)は、低品質に記憶される。これに対して、撮像画像に監視対象が被写体1211として写っている場合(注目時の場合)、その撮像画像の内容は重要である可能性が高いので、画質が優先され、その画像データ(スケーラブル符号化データ)は、高品質に記憶される。
なお、通常時であるか注目時であるかは、例えば、スケーラブル符号化データ記憶装置1202が、画像を解析することにより判定しても良い。また、撮像装置1201が判定し、その判定結果をスケーラブル符号化データ記憶装置1202に伝送するようにしてもよい。
なお、通常時であるか注目時であるかの判定基準は任意であり、判定基準とする画像の内容は任意である。もちろん、画像の内容以外の条件を判定基準とすることもできる。例えば、収録した音声の大きさや波形等に応じて切り替えるようにしてもよいし、所定の時間毎に切り替えるようにしてもよいし、ユーザ指示等の外部からの指示によって切り替えるようにしてもよい。
また、以上においては、通常時と注目時の2つの状態を切り替える例を説明したが、状態の数は任意であり、例えば、通常時、やや注目時、注目時、非常に注目時等のように、3つ以上の状態を切り替えるようにしてもよい。ただし、この切り替える状態の上限数は、スケーラブル符号化データのレイヤ数に依存する。
また、撮像装置1201が、スケーラブル符号化のレイヤ数を、状態に応じて決定するようにしてもよい。例えば、通常時の場合、撮像装置1201が、低品質でデータ量の少ないベースレイヤのスケーラブル符号化データ(BL)1222を生成し、スケーラブル符号化データ記憶装置1202に供給するようにしてもよい。また、例えば、注目時の場合、撮像装置1201が、高品質でデータ量の多いベースレイヤのスケーラブル符号化データ(BL+EL)1221を生成し、スケーラブル符号化データ記憶装置1202に供給するようにしてもよい。
以上においては、監視カメラを例に説明したが、この撮像システム1200の用途は任意であり、監視カメラに限定されない。
そして、以上のような図34の撮像システム1200においても、図24乃至図26を参照して上述した階層符号化・階層復号への適用と同様に本技術を適用することにより、図24乃至図26を参照して上述した効果と同様の効果を得ることができる。
なお、本明細書では、適応オフセットフィルタの各パラメータ等の各種情報が、符号化ストリームに多重化されて、符号化側から復号側へ伝送される例について説明した。しかしながら、これら情報を伝送する手法はかかる例に限定されない。例えば、これら情報は、符号化ビットストリームに多重化されることなく、符号化ビットストリームと関連付けられた別個のデータとして伝送され又は記録されてもよい。ここで、「関連付ける」という用語は、ビットストリームに含まれる画像(スライス若しくはブロックなど、画像の一部であってもよい)と当該画像に対応する情報とを復号時にリンクさせ得るようにすることを意味する。即ち、情報は、画像(又はビットストリーム)とは別の伝送路上で伝送されてもよい。また、情報は、画像(又はビットストリーム)とは別の記録媒体(又は同一の記録媒体の別の記録エリア)に記録されてもよい。さらに、情報と画像(又はビットストリーム)とは、例えば、複数フレーム、1フレーム、又はフレーム内の一部分などの任意の単位で互いに関連付けられてよい。
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示はかかる例に限定されない。本開示の属する技術の分野における通常の知識を有する者であれば、請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。