以下、本開示を実施するための形態(以下実施の形態とする)について説明する。なお、説明は以下の順序で行う。
1.装置および動作の概要
2.従来の手法の説明
3.第1の実施の形態(第1の拡張方法)
4.第2の実施の形態(第2の拡張方法)
5.第3の実施の形態(第3の拡張方法)
6.第4の実施の形態(第4の拡張方法)
7.第5の実施の形態(第1のオフセット送信方法)
8.第6の実施の形態(第2のオフセット送信方法)
9.第7の実施の形態(多視点画像符号化・多視点画像復号装置)
10.第8の実施の形態(階層画像符号化・階層画像復号装置)
11.第9の実施の形態(コンピュータ)
12.応用例
13.スケーラブル符号化の応用例
<1.装置および動作の概要>
[画像符号化装置の構成例]
図1は、本開示を適用した画像処理装置としての画像符号化装置の一実施の形態の構成を表している。
図1に示される画像符号化装置11は、予測処理を用いて画像データを符号化する。ここで、符号化方式としては、例えば、HEVC(High Efficiency Video Coding)方式などが用いられる。
なお、HEVC方式においては、コーディングユニット(CU(Coding Unit))が規定されている。CUは、Coding Tree Block(CTB)とも呼ばれ、H.264/AVC方式におけるマクロブロックと同様の役割を果たす、ピクチャ単位の画像の部分領域である。後者は、16×16画素の大きさに固定されているのに対し、前者の大きさは固定されておらず、それぞれのシーケンスにおいて、画像圧縮情報中において指定されることになる。
例えば、出力となる符号化データに含まれるシーケンスパラメータセット(SPS(Sequence Parameter Set))において、CUの最大サイズ(LCU(Largest Coding Unit))と最小サイズ((SCU(Smallest Coding Unit))が規定される。
それぞれのLCU内においては、SCUのサイズを下回らない範囲で、split-flag=1とすることにより、より小さなサイズのCUに分割することができる。2N×2Nの大きさのCUは、split_flagの値が「1」である時、1つ下の階層となる、N×Nの大きさのCUに分割される。
更に、CUは、イントラ若しくはインター予測処理の対象となる領域(ピクチャ単位の画像の部分領域)であるプレディクションユニット(Prediction Unit(PU))に分割され、また、直交変換処理の対象となる領域(ピクチャ単位の画像の部分領域)である、トランスフォームユニット(Transform Unit(TU))に分割される。現在、HEVC方式においては、4×4及び8×8に加え、16×16及び32×32直交変換を用いることが可能である。
図1の画像符号化装置11は、A/D(Analog / Digital)変換部21、画面並べ替えバッファ22、演算部23、直交変換部24、量子化部25、可逆符号化部26、および蓄積バッファ27を有する。また、画像符号化装置11は、逆量子化部28、逆直交変換部29、演算部30、デブロッキングフィルタ31a、フレームメモリ32、選択部33、イントラ予測部34、動き予測・補償部35、予測画像選択部36、およびレート制御部37を有する。
さらに、画像符号化装置11は、デブロッキングフィルタ31aとフレームメモリ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から供給される予測画像を加算する。
その加算結果である復号画像は、デブロッキングフィルタ31aおよびフレームメモリ32に供給される。
デブロッキングフィルタ31aは、適宜デブロッキングフィルタ処理を行うことにより復号画像のブロック歪を抑制する。デブロッキングフィルタ31aは、量子化パラメータQPを基に求められるパラメータβおよびTcを有している。パラメータβおよびTcは、デブロッキングフィルタに関する判定に用いられる閾値(パラメータ)である。デブロッキングフィルタ31aが有するパラメータであるβおよびTcは、HEVC方式で規定されているβとTcから拡張されている。
なお、デブロッキングフィルタ31aは、ユーザの指示により利用不可にすることも可能であり、デブロッキングフィルタ31aには、ユーザが図示せぬ操作部などを操作することで、デブロッキングフィルタを行うか否かのON/OFF情報が入力される。また、上述したパラメータβおよびTcの各オフセットは、デフォルトが0であるが、それ以外の値である場合には、ユーザが図示せぬ操作部などを操作することで、デブロッキングフィルタ31aに入力される。これらのデブロッキングフィルタのON/OFF情報(DisableDeblockingFilterフラグ情報ともいう)と、パラメータβおよびTcの各オフセットは、デブロッキングフィルタのパラメータとして、可逆符号化部26において符号化され、後述する図3の画像復号装置51に送信される。
デブロッキングフィルタ31aは、演算部30からの画像に対して、上述したON/OFF情報、オフセット、並びにHEVC方式で規定されているβとTcから拡張されたパラメータであるβおよびTcを用いて、デブロッキングフィルタ処理を行う。デブロッキングフィルタ31aは、そのフィルタ処理結果を適応オフセットフィルタ41に供給する。なお、デブロッキングフィルタ31aの詳細な構成については、図14を参照して後述する。
適応オフセットフィルタ41は、デブロッキングフィルタ31aによるフィルタ後の画像に対して、主にリンギングを抑制するオフセットフィルタ(SAO: Sample adaptive offset)処理を行う。
オフセットフィルタの種類は、バンドオフセット2種類、エッジオフセット6種類、オフセットなしの計9種類がある。適応オフセットフィルタ41は、分割領域毎にオフセットフィルタの種類が決定されたものであるquad-tree構造と分割領域毎のオフセット値を用いて、デブロッキングフィルタ31aによるフィルタ後の画像に対して、フィルタ処理を施す。適応オフセットフィルタ41は、フィルタ処理後の画像を、適応ループフィルタ42に供給する。
なお、画像符号化装置11において、quad-tree構造と分割領域毎のオフセット値は、適応オフセットフィルタ41により算出されて用いられる。算出されたquad-tree構造と分割領域毎のオフセット値は、適応オフセットパラメータとして、可逆符号化部26において符号化され、後述する図3の画像復号装置51に送信される。
適応ループフィルタ42は、適応オフセットフィルタ41によるフィルタ後の画像に対して、フィルタ係数を用いて、処理単位毎に、適応ループフィルタ(ALF:AdaptiveLoop Filter)処理を行う。適応ループフィルタ42においては、フィルタとして、例えば、2次元のウィナーフィルタ(Wiener Filter)が用いられる。もちろん、ウィナーフィルタ以外のフィルタが用いられてもよい。適応ループフィルタ42は、フィルタ処理結果をフレームメモリ32に供給する。
なお、図1の例においては図示しないが、画像符号化装置11において、フィルタ係数は、処理単位毎に、画面並べ替えバッファ22からの原画像との残差を最小とするよう適応ループフィルタ42により算出されて用いられる。算出されたフィルタ係数は、適応ループフィルタパラメータとして、可逆符号化部26において符号化され、後述する図3の画像復号装置51に送信される。
フレームメモリ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は処理対象のブロックの画素を、候補となる全てのイントラ予測モードでイントラ予測する。なお、参照される復号済みの画素としては、デブロッキングフィルタ31aによりフィルタされていない画素が用いられる。
この処理により、候補となる全てのイントラ予測モードでイントラ予測が行われ、候補となる全てのイントラ予測モードに対してコスト関数値が算出される。そして、算出されたコスト関数値に基づいて、最適イントラ予測モードが選択され、最適イントラ予測モードのイントラ予測により生成された予測画像とそのコスト関数値が予測画像選択部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においてデブロッキングフィルタ31aは、演算部30より出力された画像に対して、デブロッキングフィルタ処理を行う。デブロッキングフィルタ処理については、図23に詳しく説明するが、このとき、デブロッキングフィルタに関する判定の閾値として、HEVC方式で規定されているβとTcから拡張されたパラメータβおよびTcが用いられる。デブロッキングフィルタ31aからのフィルタ後の画像は、適応オフセットフィルタ41に出力される。
なお、ユーザにより操作部などを操作することで入力されて、デブロッキングフィルタ31aで用いられたON/OFF情報と、パラメータβおよびTcの各オフセットは、デブロッキングフィルタのパラメータとして、可逆符号化部26に供給される。
ステップS23において、適応オフセットフィルタ41は、適応オフセットフィルタ処理を行う。この処理により、分割領域毎にオフセットフィルタの種類が決定されたものであるquad-tree構造と分割領域毎のオフセット値を用いて、デブロッキングフィルタ31aによるフィルタ後の画像に対して、フィルタ処理が施される。フィルタ後の画像は、適応ループフィルタ42に供給される。
なお、決定されたquad-tree構造と分割領域毎のオフセット値は、適応オフセットパラメータとして、可逆符号化部26に供給される。
ステップS24において、適応ループフィルタ42は、適応オフセットフィルタ41によるフィルタ後の画像に対して、適応ループフィルタ処理を行う。例えば、適応オフセットフィルタ41によるフィルタ後の画像に対して、フィルタ係数を用いて、処理単位毎に、画像に対してフィルタ処理が行われ、フィルタ処理結果が、フレームメモリ32に供給される。
ステップS25においてフレームメモリ32は、フィルタリングされた画像を記憶する。なお、フレームメモリ32には、デブロッキングフィルタ31a、適応オフセットフィルタ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、デブロッキングフィルタ31b、画面並べ替えバッファ67、およびD/A変換部68を有する。また、画像復号装置51は、フレームメモリ69、選択部70、イントラ予測部71、動き予測・補償部72、および選択部73を有する。
さらに、画像復号装置51は、デブロッキングフィルタ31bと、画面並べ替えバッファ67およびフレームメモリ69との間に、適応オフセットフィルタ81および適応ループフィルタ82を有する。
蓄積バッファ61は、伝送されてきた符号化データを受け取る受け取り部でもある。蓄積バッファ61は、伝送されてきた符号化データを受け取って、蓄積する。この符号化データは、画像符号化装置11により符号化されたものである。可逆復号部62は、蓄積バッファ61から所定のタイミングで読み出された符号化データを、図1の可逆符号化部26の符号化方式に対応する方式で復号する。
可逆復号部62は、復号されたイントラ予測モードを示す情報などのパラメータをイントラ予測部71に供給し、インター予測モードを示す情報や動きベクトル情報などのパラメータを動き予測・補償部72に供給する。また、可逆復号部62は、復号されたデブロッキングフィルタのパラメータを、デブロッキングフィルタ31bに供給し、復号された適応オフセットパラメータを、適応オフセットフィルタ81に供給する。
逆量子化部63は、可逆復号部62により復号されて得られた係数データ(量子化係数)を、図1の量子化部25の量子化方式に対応する方式で逆量子化する。つまり、逆量子化部63は、画像符号化装置11から供給された量子化パラメータを用いて、図1の逆量子化部28と同様の方法で量子化係数の逆量子化を行う。
逆量子化部63は、逆量子化された係数データ、つまり、直交変換係数を、逆直交変換部64に供給する。逆直交変換部64は、図1の直交変換部24の直交変換方式に対応する方式で、その直交変換係数を逆直交変換し、画像符号化装置11において直交変換される前の残差データに対応する復号残差データを得る。
逆直交変換されて得られた復号残差データは、演算部65に供給される。また、演算部65には、選択部73を介して、イントラ予測部71若しくは動き予測・補償部72から予測画像が供給される。
演算部65は、その復号残差データと予測画像とを加算し、画像符号化装置11の演算部23により予測画像が減算される前の画像データに対応する復号画像データを得る。演算部65は、その復号画像データをデブロッキングフィルタ31bに供給する。
デブロッキングフィルタ31bは、適宜デブロックフィルタ処理を行うことにより復号画像のブロック歪を抑制する。デブロッキングフィルタ31bは、図1のデブロッキングフィルタ31aと基本的に同様に構成される。すなわち、デブロッキングフィルタ31bは、量子化パラメータを基に求められるパラメータβおよびTcを有している。パラメータβおよびTcは、デブロッキングフィルタに関する判定に用いられる閾値である。デブロッキングフィルタ31bが有するパラメータであるβおよびTcは、HEVC方式で規定されているβとTcから拡張されている。
なお、画像符号化装置11により符号化されたデブロッキングフィルタのON/OFF情報と、パラメータβおよびTcの各オフセットは、デブロッキングフィルタのパラメータとして、画像復号装置51において受信されて、可逆復号部62により復号されて、デブロッキングフィルタ31bにより用いられる。
デブロッキングフィルタ31bは、演算部30からの画像に対して、上述したON/OFF情報、オフセット、並びにHEVC方式で規定されているβとTcから拡張されたパラメータであるβおよびTcを用いて、デブロッキングフィルタ処理を行う。デブロッキングフィルタ31bは、そのフィルタ処理結果を適応オフセットフィルタ81に供給する。なお、デブロッキングフィルタ31bの詳細な構成については、図14を参照して後述する。
適応オフセットフィルタ81は、デブロッキングフィルタ31bによるフィルタ後の画像に対して、主にリンギングを抑制するオフセットフィルタ(SAO)処理を行う。
適応オフセットフィルタ81は、分割領域毎にオフセットフィルタの種類が決定されたものであるquad-tree構造と分割領域毎のオフセット値を用いて、デブロッキングフィルタ31bによるフィルタ後の画像に対して、フィルタ処理を施す。適応オフセットフィルタ81は、フィルタ処理後の画像を、適応ループフィルタ82に供給する。
なお、このquad-tree構造と分割領域毎のオフセット値は、画像符号化装置11の適応オフセットフィルタ41により算出され、適応オフセットパラメータとして、符号化されて送られてきたものである。そして、画像符号化装置11により符号化されたquad-tree構造と分割領域毎のオフセット値は、適応オフセットパラメータとして、画像復号装置51において受信されて、可逆復号部62により復号されて、適応オフセットフィルタ81により用いられる。
適応ループフィルタ82は、適応オフセットフィルタ81によるフィルタ後の画像に対して、フィルタ係数を用いて、処理単位毎にフィルタ処理を行い、フィルタ処理結果を、フレームメモリ69および画面並べ替えバッファ67に供給する。
なお、図3の例においては図示しないが、画像復号装置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に供給される。また、デブロッキングフィルタのパラメータおよび適応オフセットパラメータも復号され、デブロッキングフィルタ31bおよび適応オフセットフィルタ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においてデブロッキングフィルタ31bは、演算部65より出力された画像に対して、デブロッキングフィルタ処理を行う。デブロッキングフィルタ処理については、図23に詳しく説明するが、このとき、デブロッキングフィルタに関する判定の閾値として、HEVC方式で規定されているβとTcから拡張されたパラメータβおよびTcが用いられる。デブロッキングフィルタ31bからのフィルタ後の画像は、適応オフセットフィルタ81に出力される。なお、デブロッキングフィルタ処理においては、可逆復号部62から供給されるデブロッキングフィルタのパラメータであるON/OFF情報と、パラメータβおよびTcの各オフセットも用いられる。
ステップS59において、適応オフセットフィルタ81は、適応オフセットフィルタ処理を行う。この処理により、分割領域毎にオフセットフィルタの種類が決定されたものであるquad-tree構造と分割領域毎のオフセット値を用いて、デブロッキングフィルタ31bによるフィルタ後の画像に対して、フィルタ処理が施される。フィルタ後の画像は、適応ループフィルタ82に供給される。
ステップS60において、適応ループフィルタ82は、適応オフセットフィルタ81によるフィルタ後の画像に対して、適応ループフィルタ処理を行う。適応ループフィルタ82は、処理単位毎に計算されたフィルタ係数を用いて、入力画像に対して、処理単位毎にフィルタ処理を行い、フィルタ処理結果を、画面並べ替えバッファ67およびフレームメモリ69に供給する。
ステップS61においてフレームメモリ69は、フィルタリングされた画像を記憶する。
ステップS62において、画面並べ替えバッファ67は、適応ループフィルタ82後の画像の並べ替えを行う。すなわち画像符号化装置11の画面並べ替えバッファ22により符号化のために並べ替えられたフレームの順序が、元の表示の順序に並べ替えられる。
ステップS63において、D/A変換部68は、画面並べ替えバッファ67からの画像をD/A変換する。この画像が図示せぬディスプレイに出力され、画像が表示される。
ステップS63の処理が終了すると、復号処理が終了される。
<2.従来の手法の説明>
[AVC方式におけるデブロッキングフィルタのパラメータ]
次に、AVC方式におけるデブロッキングフィルタのパラメータについて説明する。AVC方式においては、デブロッキングフィルタの要否を判定するパラメータとして、αおよびβがあり、それらの値は、量子化パラメータQPに応じて定められている。
図5のAは、パラメータαと量子化パラメータQPの関係を示すグラフであり、図5のBは、パラメータαと量子化パラメータQPの関係を示す表である。パラメータαは、次の式(1)を基本として、微調整により最適化されている。
パラメータαは、0乃至51の量子化パラメータQPに対して0乃至255の値をとり得る。
図6のAは、パラメータβと量子化パラメータQPの関係を示すグラフであり、図6のBは、パラメータβと量子化パラメータQPの関係を示す表である。パラメータβは、次の式(2)を基本として、微調整により最適化されている。図6のAにおける点線が式(2)を示しており、実線が式(2)を微調整した図6のBに示される値を示している。
パラメータβは、0乃至51の量子化パラメータQPに対して0乃至18の値をとり得る。
[HEVC方式におけるデブロッキングフィルタのパラメータ]
AVC方式におけるαおよびβに相当するパラメータとして、HEVC方式においては、パラメータβおよびパラメータTcが用いられている。
パラメータβおよびパラメータTcは、デブロッキングフィルタに関する判定に用いられるフィルタパラメータである。具体的には、パラメータβは、デブロッキングフィルタの要否判定と、強度選択判定に用いられる閾値であり、デブロッキングフィルタの強度を調整するパラメータである。パラメータTcは、強度選択判定に用いられる閾値であり、デブロッキングフィルタの強度を調整するパラメータである。なお、パラメータTcは、フィルタ処理の際のクリップ処理にも用いられる値である。パラメータβおよびパラメータTcは、図7に示されるように、量子化パラメータQPに応じて設定される値である。図7は、量子化パラメータQPに対応するパラメータβおよびパラメータTcの値を示す図である。
パラメータβは、0乃至51の52の値を有し、51より大きな入力に対して64に固定されている。パラメータTcは、0乃至53の54の値を有し、53より大きな入力に対して13に固定されている。
ここで、HEVC方式で用いることのできる量子化パラメータQPの範囲は、0乃至51であるが、デブロッキングフィルタのパラメータのオフセットの範囲は、−26乃至26である。したがって、理論的には、デブロッキングフィルタのパラメータのLUT(Look Up Table)の入力の範囲は、0乃至77となる。
しかしながら、実際のデブロッキングフィルタのパラメータのLUTへの入力である量子化パラメータQPは、0乃至51であり、オフセット値が最大限に活用されていない。
また、上述したように、HEVC方式におけるパラメータβの最大の値である64とパラメータTcの最大の値である13を用いても、一部のシーケンスでは、目に見えるブロックノイズが残ってしまうことがあった。
そこで、本技術においては、デブロッキングフィルタの強度を上げるために、パラメータβとパラメータTcを拡張し、デブロッキングフィルタにおいては、拡張されたパラメータβおよびパラメータTcを用いる。すなわち、デブロッキングフィルタにおいては、フィルタを制御するフィルタパラメータ(パラメータβおよびパラメータTc)のレンジがフィルタの強度を上げるように拡張されたパラメータが用いられる。
なお、ここで、拡張とは、AVC方式のパラメータのレンジおよび非特許文献1に記載のHEVC方式のver20のパラメータのレンジなどを既存のパラメータのレンジとして、既存のパラメータのレンジに対して、パラメータのレンジを拡張することをいう。そして、本技術においては、既存のパラメータでは、ノイズが残っている場合があるので、そのノイズに対してフィルタの強度を上げるように、パラメータのレンジを拡張する。
<3.第1の実施の形態(第1の拡張方法)>
[パラメータβの拡張]
図8は、本技術における量子化パラメータQPとパラメータβの関係を示す図である。なお、図8に示す表において、太線枠内が本技術による拡張部分である。
図8の太線枠内に示されるように、量子化パラメータQP(52乃至qpmax)に対応するパラメータβ(β(52)乃至β(qpmax))を拡張(追加)する。なお、以下、qpmaxは、例えば、77として説明するが、その値は設定可能であり、77に限定されない。
拡張するパラメータβの値は、量子化パラメータの関数として設定することができるが、パラメータβの設定方法は、2つある。第1のβ設定方法は、パラメータβの値を、量子化パラメータQPの1次関数(線形)として設定する方法である。第2のβ設定方法は、量子化パラメータQPの指数関数(曲線)として設定する方法である。
指数関数とした場合、1次関数とするよりも変化を大きくすることができる。
[第1のβ設定方法:1次関数の例]
HEVC方式において、パラメータβは、次の式(3)における0≦qp≦51に示されるように、量子化パラメータQPの1次関数として表されている。
したがって、第1のβ設定方法として、拡張部分についても、式(3)における52≦qp≦pq
maxに示されるように、パラメータβを、量子化パラメータQPの1次関数として設定する。
ここで、kとbは、調整可能である。傾きk>0であり、bは、既存部分と拡張部分との境界を連続させることにより求まる。
なお、拡張部分についても、HEVC方式における直線のまま延長させる場合、すなわち、次の式(4)に示されるように、傾きk=2、b=−38となる。
図9のAは、k=2の1次関数として拡張した場合のパラメータβと量子化パラメータQPの関係を示すグラフである。図9のBは、k=2の1次関数として拡張した場合のパラメータβと量子化パラメータQPの値を示す表である。なお、図9のBに示す表において、太線枠内が本技術による拡張部分である。この場合、パラメータβは、0乃至77の量子化パラメータQPに対して0乃至116の値をとることができる。
なお、1次関数の傾きは、変更可能であり、例えば、拡張部分について、HEVC方式における直線より傾きを大きくして延長する場合、すなわち、傾きk=4、b=−140とする場合の1次関数は、次の式(5)に示される。
ここで、傾きk=4としたのは、傾きk=2の場合、qp*2=qp<<1(1ビット左にシフト)である。一方、傾きk=4の場合、qp*2=qp<<2(2ビット左にシフト)であるので、ソフトウエアによる計算を考えると、実装時に好適である。また、傾きk=4の場合、既存部分と拡張部分の境界を連続関数とするため、b=−140とされる。
図10のAは、HEVC方式における直線より傾きを大きくして延長、すなわち、傾きk=4の1次関数として拡張した場合のパラメータβと量子化パラメータQPの関係を示すグラフである。図10のBは、k=4の1次関数として拡張した場合のパラメータβと量子化パラメータQPの値を示す表である。なお、図10のBに示す表において、太線枠内が本技術による拡張部分である。この場合、パラメータβは、0乃至77の量子化パラメータQPに対して0乃至168の値をとることができる。
さらに、拡張部分について、HEVC方式における直線より傾きを大きくして延長する場合、すなわち、傾きk=8、b=−344とする場合の1次関数は、次の式(6)に示される。
ここで、傾きk=8としたのは、傾きk=8の場合、qp*8=qp<<3(3ビット左にシフト)であり、ソフトウエアによる計算を考えると、実装時に好適である。また、傾きk=8の場合、既存部分と拡張部分の境界を連続関数とするため、b=−344とされる。
なお、上記説明においては、より好適な例として、傾きk=2,4,8の例を説明したが、k>0であれば、傾きk=2,4,8に限らない。
図11のAは、HEVC方式における直線より傾きを大きくして延長、すなわち、傾きk=8の1次関数として拡張した場合のパラメータβと量子化パラメータQPの関係を示すグラフである。図11のBは、k=4の1次関数として拡張した場合のパラメータβと量子化パラメータQPの値を示す表である。なお、図11のBに示す表において、太線枠内が本技術による拡張部分である。この場合、パラメータβは、0乃至75の量子化パラメータQPに対して0乃至255の値をとることができる。なお、例えば、量子化パラメータQPが76や77など、βが255より大きい場合、β=255とされる。
[第2のβ設定方法:指数関数の例]
次に、第2のβ設定方法として、拡張部分については、次の式(7)における52≦qp≦pq
maxに示されるように、パラメータβを、量子化パラメータQPの指数関数として設定する。
ここで、式(7)の指数関数は、上述した式(1)のAVC方式のデブロッキングフィルタにおけるパラメータαの値に基づいて設定されている。
例えば、次の式(8)に示される、k=0.8,x=6,a=−13,b=0の場合、AVC方式のデブロッキングフィルタにおけるパラメータαのうち、HEVCにはない値を流用するようにして係数(k,x,a,b)が求められている。具体的には、QPが38のとき、AVCのパラメータαは63だから、QPが51のときのHEVCのパラメータβの値である64と近い。したがって、QPが52以降のパラメータβを、QPが39以降のAVCのパラメータαをあてはめるように、既存部分と拡張部分との境界が連続するように、係数(k,x,a,b)が求められる。
図12のAは、k=0.8,x=6,a=−13,b=0の指数関数として拡張した場合のパラメータβと量子化パラメータQPの関係を示すグラフである。図12のBは、k=0.8,x=6,a=−13,b=0の指数関数として拡張した場合のパラメータβと量子化パラメータQPの値を示す表である。なお、図12のBに示す表において、太線枠内が本技術による拡張部分である。この場合、パラメータβは、0乃至63の量子化パラメータQPに対して0乃至255の値をとることができる。なお、例えば、量子化パラメータQPが64乃至77など、βが255より大きい場合、β=255とされる。
以上のように、パラメータβを拡張するようにしたので、デブロッキングフィルタの強度を上げることが可能になる。
[Tcの設定方法]
パラメータTcは、HEVC方式のままでもいいが、パラメータTcも、次の式(9)に示される近似式のように、HEVC方式における関数のまま拡張することが可能である。
なお、実際には、AVC方式のβと同様に、パラメータTcは、上述した式(9)を基本として、微調整により最適化されている。
図13のAは、HEVC方式における関数を用いて拡張した場合のパラメータTcと量子化パラメータQPの関係を示すグラフである。図13のBは、HEVC方式における関数を用いて拡張した場合のパラメータTcと量子化パラメータQPの値を示す表である。なお、図13のBに示す表において、太線枠内が本技術による拡張部分である。この場合、パラメータTcは、0乃至77の量子化パラメータQPに対して1乃至25の値をとることができる。
以上のように、パラメータTcを拡張することにより、デブロッキングフィルタの強度をさらに上げることが可能になる。
[デブロッキングフィルタの構成例]
次に、図1の画像符号化装置におけるデブロッキングフィルタ31aおよび図3の画像復号装置におけるデブロッキングフィルタ31bの詳細について説明する。なお、図1の画像符号化装置におけるデブロッキングフィルタ31aおよび図3の画像復号装置におけるデブロッキングフィルタ31bは、構成および動作が基本的に同じであるので、以下、まとめてデブロッキングフィルタ31として説明する。
ただし、以下の点のみが、デブロッキングフィルタ31aと31bとで異なる。すなわち、デブロッキングフィルタ31aの場合、デブロッキングフィルタを行うか否かのON/OFF情報とパラメータβおよびTcの各オフセットが、図示せぬ操作部を介して入力される。これに対して、デブロッキングフィルタ31bの場合、デブロッキングフィルタを行うか否かのON/OFF情報とパラメータβおよびTcの各オフセットが、画像符号化装置11において符号化されたものが受け取られて、可逆復号部62で復号されて入力される。
図14は、デブロッキングフィルタの構成例を示すブロック図である。
図14の例において、デブロッキングフィルタ31は、コンフィグレーション設定部101およびフィルタ実行部102を含むように構成されている。
コンフィグレーション設定部101は、例えば、図示せぬ操作部(または、可逆復号部62)から入力されるON/OFF情報、βオフセットの値、およびTcオフセットの値を入力し、デブロッキングフィルタ31における環境設定を行う。環境設定としては、デブロッキングフィルタのオフセット、デブロッキングフィルタのON/OFF、TUおよびPUの境界の導出、BS(Boundary Filtering Strength)値の導出などが行われる。コンフィグレーション設定部101は、設定された情報を、フィルタ実行部102に供給する。
フィルタ実行部102には、演算部30(または、演算部65)からのデブロッキングフィルタ前画素値が供給される。フィルタ実行部102は、コンフィグレーション設定部101により設定された情報を基に、パラメータの生成に用いられる量子化パラメータQPを算出し、パラメータβおよびTcを生成して、フィルタ処理の要否やフィルタ強度を決定する。そして、フィルタ実行部102は、決定されたフィルタ処理の要否やフィルタ強度を基に、フィルタ処理を行う。フィルタ実行部102は、デブロッキングフィルタ後の画素値を、後段の適応オフセットフィルタ41(または、適応オフセットフィルタ81)に供給する。
なお、フィルタ実行部102は、輝度境界および色差境界に対して、それぞれ、上述した処理を行う。
[輝度境界のフィルタ実行部の構成例]
図15は、輝度境界のフィルタ処理を行うフィルタ実行部の構成例を示すブロック図である。
図15の例においては、フィルタ実行部102は、QP算出部111、β生成部112、Tc生成部113、フィルタ処理決定部114、およびフィルタ処理部115を含むように構成される。
前段からのデブロッキングフィルタ前画素値は、QP取得部111aおよびフィルタ処理部115に入力される。
QP算出部111は、QP取得部111aおよび平均QP計算部111bを含むように構成され、前段からのデブロッキングフィルタ前画素値を入力し、パラメータβおよびTcの生成に用いられる量子化パラメータQPを算出する。QP算出部111は、算出した量子化パラメータQPを、β生成部112およびTc生成部113に供給する。
QP取得部111aは、入力されたデブロッキングフィルタ前画素値より、処理対象の境界を共有する(境界に隣接する)2つの領域の量子化パラメータp_QPおよびq_QPを取得する。例えば、境界が垂直方向の場合、境界の左側に隣接する領域pの量子化パラメータp_QPが取得され、境界の右側に隣接する領域qの量子化パラメータq_QPが取得される。また、例えば、境界が水平方向の場合、境界の上側に隣接する領域pの量子化パラメータp_QPが取得され、境界の下側に隣接する領域qの量子化パラメータq_QPが取得される。
なお、例えば、画像符号化装置11においては、量子化部25からの量子化パラメータQPが、動きベクトル情報や予測モード情報などとともに、図示せぬメモリに記憶されている。また、画像復号装置51においては、可逆復号部62により復号された量子化パラメータQPが、動きベクトル情報や予測モード情報などとともに、図示せぬメモリに記憶されている。QP取得部111aは、そのようにして記憶されているメモリから、量子化パラメータQPを取得する。
QP取得部111aは、取得した量子化パラメータp_QPおよびq_QPを、平均QP計算部111bに供給する。
平均QP計算部111bは、QP取得部111aからの量子化パラメータp_QPおよびq_QPの平均を求め、その平均を、パラメータβおよびTcの生成に用いられる量子化パラメータQPとして、β生成部112およびTc生成部113に供給する。
β生成部112は、平均QP計算部111bからの量子化パラメータQPに応じて、パラメータβを生成し、生成したパラメータβを、フィルタ処理決定部114に供給する。
Tc生成部113は、平均QP計算部111bからの量子化パラメータQPに応じて、パラメータTcを生成し、生成したパラメータTcを、フィルタ処理決定部114に供給する。
フィルタ処理決定部114は、β生成部112からのパラメータβおよびTc生成部113からのパラメータTcなどを用いて、フィルタを決定する。すなわち、フィルタ処理決定部114は、β生成部112からのパラメータβなどを用いて、フィルタの要否を決定する。また、フィルタ処理決定部114は、β生成部112からのパラメータβおよびTc生成部113からのパラメータTcなどを用いて、フィルタの強度を決定する。フィルタ処理決定部114は、決定したフィルタの情報を、フィルタ処理部115に供給する。このとき、パラメータβおよびTcもフィルタ処理部115に供給され、例えば、パラメータTcは、フィルタ処理部115において、クリップ処理に用いられる。
フィルタ処理部115は、フィルタ処理決定部114によりフィルタを行うと決定された場合、入力されたデブロッキングフィルタ前画素値に対して、フィルタ処理決定部114により決定されたフィルタの強度でフィルタ処理を行う。フィルタ処理部115は、デブロッキングフィルタ後の画素値を後段に出力する。
なお、フィルタ処理部115は、フィルタ処理決定部114によりフィルタを行わないと決定された場合、入力されたデブロッキングフィルタ前画素値を、そのまま(フィルタを行うことなく)、デブロッキングフィルタ後画素値として後段に出力する。
[β生成部の構成例]
図16は、β生成部の構成例を示すブロック図である。
図16の例において、β生成部112は、βLUT_input計算部121、クリップ処理部122、既存β生成部123、および拡張β生成部124を含むように構成される。
平均QP計算部111bからの量子化パラメータQPがβLUT_input計算部121に供給される。コンフィグレーション設定部101により設定された情報のうち、βオフセットの値がβLUT_input計算部121に供給される。また、コンフィグレーション設定部101により設定された情報のうち、β生成の際に用いられる量子化パラメータの最大値であるβqpmaxがクリップ処理部122に供給される。
βLUT_input計算部121とクリップ処理部122は、既存β生成部123および拡張β生成部124に入力する値である、βLUT_inputを求める。
すなわち、βLUT_input計算部121は、平均QP計算部111bからの量子化パラメータQPとβオフセットの値とを加算してβtmpを算出し、算出したβtmpをクリップ処理部122に供給する。
クリップ処理部122は、コンフィグレーション設定部101により設定された値の範囲[0,βqpmax]に、βLUT_input計算部121からのβtmpをクリップする。クリップ処理部122は、クリップ処理後のβtmpを、βLUT_inputqpとして既存β生成部123および拡張β生成部124に供給する。
既存β生成部123は、HEVC方式で規定されているLUT(Look Up Table)131を有している。既存β生成部123は、クリップ処理部122からのβLUT_inputqpの値が51以下である場合、LUT131を用いてβを求め、求めたβを、フィルタ処理決定部114に供給する。
拡張β生成部124は、クリップ処理部122からのβLUT_inputqpの値が51より大きい場合、拡張されたβを求め、求めたβを、フィルタ処理決定部114に供給する。
例えば、拡張β生成部124は、図17に示されるように、β(qp)計算部141を含むように構成されている。β(qp)計算部141は、[51,βqpmax]のqpが入力されると、予め関数パラメータが設定された点線に示される関数式(1次関数または指数関数)を用いて動的にβを生成する。
第1のβ設定方法として、拡張β生成部124は、上述した式(3)のうち、52≦qp≦pqmaxの場合の1次関数を用いて動的にβを生成する。すなわち、この場合、βの値がQPの1次関数として求められる。また、関数パラメータとしては、kとbが設定される。この場合、kとbは、シンタクスで復号側に送られるようにしてもよい。
第2のβ設定方法として、拡張β生成部124は、上述した式(7)のうち、52≦qp≦pqmaxの場合の指数関数を用いて動的にβを生成する。すなわち、この場合、βの値が、QPの指数関数として求められる。また、関数パラメータとしては、k,b,x,aが設定される。この場合、k,b,x,aは、シンタクスで復号側に送られるようにしてもよい。
また、例えば、拡張β生成部124は、図18に示されるように、拡張LUT(Look Up Table)153を含むように構成されている。なお、図18の例においては、拡張LUT153は、既存のLUT131部分も含むように示されているが、斜線の部分のみが拡張部分である。この拡張LUT153は、他のコンピュータ151などに備えられるβ(qp)計算部152において、[0,βqpmax]の任意のqpを入力して、関数パラメータが設定された関数式(1次関数または指数関数)を用いてβを予め求めて保存されたものである。
拡張β生成部124は、[51,βqpmax]のqpが入力されると、拡張LUT153を用いてβを求める。
以上のように、拡張β生成部124を構成する際には、拡張されたβを、定義式(関数式)で与えるか、LUTで与えるかを選択することが可能である。
[Tc生成部の構成例]
図19は、Tc生成部の構成例を示すブロック図である。
図19の例において、Tc生成部113は、Tc_LUT_input計算部161、クリップ処理部162、既存Tc生成部163、および拡張Tc生成部164を含むように構成される。
平均QP計算部111bからの量子化パラメータQPがTc_LUT_input計算部161に供給される。コンフィグレーション設定部101により設定された情報のうち、Tcオフセットの値がTc_LUT_input計算部161に供給される。また、コンフィグレーション設定部101により設定された情報のうち、Tc生成の際に用いられる量子化パラメータの最大値であるTc_qpmaxがクリップ処理部162に供給される。
Tc_LUT_input計算部161とクリップ処理部162は、既存Tc生成部163および拡張Tc生成部164に入力する値である、Tc_LUT_inputを求める。
すなわち、Tc_LUT_input計算部161は、平均QP計算部111bからの量子化パラメータQPとTcオフセットの値とを加算してTctmpを算出し、算出したTctmpをクリップ処理部162に供給する。
クリップ処理部162は、コンフィグレーション設定部101により設定された値の範囲[0,Tc_qpmax]に、Tc_LUT_input計算部161からのTctmpをクリップする。クリップ処理部162は、クリップ処理後のTctmpを、Tc_LUT_inputqpとして既存Tc生成部163および拡張Tc生成部164に供給する。
既存Tc生成部163は、HEVC方式で規定されているLUT(Look Up Table)171を有している。既存Tc生成部163は、クリップ処理部162からのTc_LUT_inputqpの値が53以下である場合、LUT171を用いてTcを求め、求めたTcを、フィルタ処理決定部114に供給する。
拡張Tc生成部164は、クリップ処理部122からのTc_LUT_inputqpの値が53より大きい場合、拡張されたTcを求め、求めたTcを、フィルタ処理決定部114に供給する。
例えば、拡張Tc生成部164は、図20に示されるように、Tc(qp)計算部181を含むように構成されている。Tc(qp)計算部181は、[53,Tc_qpmax]のqpが入力されると、既存のQP−Tcの関数を拡張したものである、上述した式(9)を用いて動的にTcを生成する。
また、例えば、拡張Tc生成部164は、図21に示されるように、拡張LUT(Look Up Table)193を含むように構成されている。なお、図21の例においては、拡張LUT193は、既存のLUT171部分も含むように示されているが、斜線の部分のみが拡張部分である。この拡張LUT193は、他のコンピュータ191などに備えられるTc(qp)計算部192において、[53,Tc_qpmax]の任意のqpを入力して、拡張した関数を用いてTcを求めて保存されたものである。
拡張Tc生成部164は、[53,Tc_qpmax]のqpが入力されると、拡張LUT193を用いてTcを求める。
以上のように、拡張Tc生成部164を構成する際には、拡張されたTcを、定義式(関数式)で与えるか、LUTで与えるかを選択することが可能である。
[色差境界のフィルタ実行部の構成例]
図22は、色差境界のフィルタ処理を行うフィルタ実行部の構成例を示すブロック図である。
図22のフィルタ実行部102は、β生成部112およびフィルタ処理決定部114が除かれている点だけ、図15のフィルタ実行部102と異なっている。図22のフィルタ実行部102は、QP算出部111、Tc生成部113、およびフィルタ処理部115を含む点が、図15のフィルタ実行部102と共通しており、共通している部分については繰り返しになるので、その説明は省略される。
すなわち、色差境界の場合、フィルタ処理決定はなされず、フィルタ処理部115は、Tc生成部113からのパラメータTcを用いてフィルタ処理を行う。例えば、パラメータTcは、クリップ処理に用いられる。
[デブロッキングフィルタの動作]
次に、図23のフローチャートを参照して、デブロッキングフィルタ処理について説明する。なお、このデブロッキングフィルタ処理は、図2のステップS22および図4のステップS58の処理である。
例えば、図示せぬ操作部(または可逆復号部62)を介して、ON/OFF情報、βオフセットの値、およびTcオフセットの値が入力される。
コンフィグレーション設定部101は、ステップS101において、フィルタのオフセット(βオフセットおよびTcオフセット)を設定する。コンフィグレーション設定部101は、設定されたオフセットの情報を、フィルタ実行部102のβ生成部112およびTc生成部113にそれぞれ供給する。
ステップS102において、コンフィグレーション設定部101は、ON/OFF情報に基づいて、デブロッキングフィルタが利用不可でないか否かを判定する。ステップS102において、デブロッキングフィルタが利用不可であると判定された場合、デブロッキングフィルタ処理は終了される。
ステップS102において、デブロッキングフィルタが利用不可ではないと判定された場合、処理は、ステップS103に進む。
ステップS103において、コンフィグレーション設定部101は、TUとPUの境界を導出する。ステップS104において、コンフィグレーション設定部101は、ステップS103で導出したTUとPUの境界などの情報や予測モード情報などを基に、BS(Boundary Filtering Strength)値の導出を行う。コンフィグレーション設定部101は、BS値の情報を、フィルタ実行部102のQP算出部111に供給する。
ステップS105において、フィルタ実行部102は、輝度(LUMA)境界のフィルタ処理を行う。この処理の説明は、図24を参照して後述されるが、ステップS105の処理により、輝度境界にフィルタが施される。
ステップS106において、フィルタ実行部102は、色差(CHROMA)境界のフィルタ処理を行う。この処理の説明は、図29を参照して後述されるが、ステップS106の処理により、色差境界にフィルタが施される。
ステップS107において、フィルタ実行部102は、全部の境界を処理したか否かを判定する。ステップS107において、まだ、全部の境界を処理していないと判定された場合、処理は、ステップS105に戻り、それ以降の処理が繰り返される。
ステップS107において、全部の境界を処理したと判定された場合、処理は、ステップS108に進む。
ステップS108において、コンフィグレーション設定部101は、全部のCUを処理したか否かを判定する。ステップS108において、まだ、全部のCUを処理していないと判定された場合、処理は、ステップS103に戻り、それ以降の処理が繰り返される。
ステップS108において、全部のCUを処理したと判定された場合、デブロッキングフィルタ処理は終了される。
[輝度境界のフィルタ処理の例]
次に、図24のフローチャートを参照して、図23のステップS105における輝度境界のフィルタ処理について説明する。
QP算出部111は、コンフィグレーション設定部101からのBs値を受けると、ステップS121において、Bs値が0より大きいか否かを判定する。ステップS121において、Bs値が0より大きくないと判定された場合、輝度境界のフィルタ処理は終了する。すなわち、この場合の輝度境界には、フィルタ処理が施されない。
ステップS121において、Bs値が0より大きいと判定された場合、処理は、ステップS122に進む。ステップS122において、QP算出部111は、前段からのデブロッキングフィルタ前画素値を入力し、境界を共有する2つのブロック(領域)の平均QPを計算する。
すなわち、QP取得部111aは、入力されたデブロッキングフィルタ前画素値より、処理対象の境界を共有する(境界に隣接する)2つの領域の量子化パラメータp_QPおよびq_QPを取得する。QP取得部111aは、取得した量子化パラメータp_QPおよびq_QPを、平均QP計算部111bに供給する。
平均QP計算部111bは、QP取得部111aからの量子化パラメータp_QPおよびq_QPの平均を求め、その平均を、パラメータβおよびTcの生成に用いられる量子化パラメータQPとして、β生成部112およびTc生成部113に供給する。
ステップS123において、β生成部112は、βを生成する。このβ生成処理は、図25を参照して後述するが、ステップS123の処理により、βが生成されて、フィルタ処理決定部114に供給される。
ステップS124において、Tc生成部113は、Tcを生成する。このTc生成処理は、図26を参照して後述するが、ステップS124の処理により、Tcが生成されて、フィルタ処理決定部114に供給される。
ステップS125において、フィルタ処理決定部114は、フィルタを決定する。すなわち、フィルタ処理決定部114は、β生成部112からのパラメータβなどを用いて、フィルタの要否を決定する。また、フィルタ処理決定部114は、β生成部112からのパラメータβおよびTc生成部113からのパラメータTcなどを用いて、フィルタの強度を決定する。フィルタ処理決定部114は、決定したフィルタの情報を、フィルタ処理部115に供給する。
ステップS126において、フィルタ処理部115は、入力されたデブロッキングフィルタ前画素値に対して、フィルタ処理決定部114により決定されたフィルタの強度でフィルタ処理を行う。フィルタ処理部115は、デブロッキングフィルタ後の画素値を後段に出力する。
なお、ステップS125において、フィルタを行わないと決定された場合、ステップS126の処理は、スキップされる。その際、フィルタ処理部115は、入力されたデブロッキングフィルタ前画素値を、そのまま(フィルタを行うことなく)、デブロッキングフィルタ後画素値として後段に出力する。
[β生成処理の例]
次に、図25のフローチャートを参照して、図24のステップS123におけるβ生成処理について説明する。
平均QP計算部111bからの量子化パラメータQPがβLUT_input計算部121に供給される。コンフィグレーション設定部101により設定された情報のうち、βオフセットの値がβLUT_input計算部121に供給される。
ステップS141において、βLUT_input計算部121は、平均QP計算部111bからの量子化パラメータQPとβオフセットの値とを加算してβtmpを算出し、算出したβtmpをクリップ処理部122に供給する。
ステップS142において、クリップ処理部122は、コンフィグレーション設定部101により設定された値の範囲[0,βqpmax]に、βLUT_input計算部121からのβtmpをクリップする。この処理の詳細は、図26を参照して後述するが、クリップ処理部122は、クリップ処理後のβtmpを、βLUT_inputqpとして既存β生成部123および拡張β生成部124に供給する。
ステップS143において、既存β生成部123および拡張β生成部124は、クリップ処理部122からのqpが51より大きいか否かを判定する。ステップS143において、クリップ処理部122からのqpが51以下であると判定された場合、処理は、ステップS144に進む。
ステップS144において、既存β生成部123は、既存のLUT131を用いてβを求め、求めたβを、フィルタ処理決定部114に供給する。
一方、ステップS143において、クリップ処理部122からのqpが51より大きいと判定された場合、処理は、ステップS145に進む。
ステップS145において、拡張β生成部124は、拡張されたβを求め、求めたβを、フィルタ処理決定部114に供給する。
例えば、拡張β生成部124(β(qp)計算部141)は、図17を参照して上述したように、予め関数パラメータが設定された点線に示される関数式(1次関数または指数関数)を用いて動的にβを生成する。
例えば、拡張β生成部124は、図18を参照して上述したように、[0,βqpmax]の任意のqpを入力し、関数パラメータが設定された関数式(1次関数または指数関数)を用いてβを予め求めて保存されている拡張LUT153を用いてβを求める。
[クリップ処理の例]
次に、図26のフローチャートを参照して、図25のステップS142におけるクリップ処理について説明する。
クリップ処理部122は、ステップS161において、βLUT_inputqp=βLUT_input計算部121からのβtmpとする。
クリップ処理部122は、ステップS162において、βLUT_input計算部121からのβtmpが、βqpmaxより大きいか否かを判定する。ステップS162において、βtmpが、βqpmaxより大きいと判定された場合、処理は、ステップS163に進む。
クリップ処理部122は、ステップS163において、βLUT_inputqp=βqpmaxとし、βLUT_inputqpを、既存β生成部123および拡張β生成部124に供給する。
ステップS162において、βtmpが、βqpmax以下であると判定された場合、ステップS163の処理はスキップされ、クリップ処理は終了する。すなわち、この場合、βLUT_inputqp(βtmp)が、既存β生成部123および拡張β生成部124に供給される。
[Tc生成処理の例]
次に、図27のフローチャートを参照して、図24のステップS124におけるTc生成処理について説明する。
平均QP計算部111bからの量子化パラメータQPがTc_LUT_input計算部161に供給される。コンフィグレーション設定部101により設定された情報のうち、Tcオフセットの値がTc_LUT_input計算部161に供給される。
ステップS181において、Tc_LUT_input計算部161は、平均QP計算部111bからの量子化パラメータQPとTcオフセットの値とを加算してTctmpを算出し、算出したTctmpをクリップ処理部162に供給する。
ステップS182において、クリップ処理部162は、コンフィグレーション設定部101により設定された値の範囲[0,Tc_qpmax]に、Tc_LUT_input計算部161からのTctmpをクリップする。この処理の詳細は、図28を参照して後述するが、クリップ処理部162は、クリップ処理後のTc tmpを、Tc_LUT_inputqpとして既存Tc生成部163および拡張Tc生成部164に供給する。
ステップS183において、既存Tc生成部163および拡張Tc生成部164は、クリップ処理部162からのqpが53より大きいか否かを判定する。ステップS183において、クリップ処理部162からのqpが53以下であると判定された場合、処理は、ステップS184に進む。
ステップS184において、既存Tc生成部163は、既存のLUT171を用いてTcを求め、求めたTcを、フィルタ処理決定部114に供給する。
一方、ステップS183において、クリップ処理部162からのqpが51より大きいと判定された場合、処理は、ステップS185に進む。
ステップS185において、拡張Tc生成部164は、拡張されたTcを求め、求めたTcを、フィルタ処理決定部114に供給する。
例えば、拡張Tc生成部164(Tc(qp)計算部181)は、図20を参照して上述したように、既存のQP−Tcの関数を拡張したものである、上述した式(9)を用いて動的にTcを生成する。
例えば、拡張Tc生成部164は、図21を参照して上述したように、[53,Tc_qpmax]の任意のqpを入力して、拡張した関数を用いてTcを求めて保存された拡張LUT193を用いてTcを求める。
[クリップ処理の例]
次に、図28のフローチャートを参照して、図27のステップS182におけるクリップ処理について説明する。
クリップ処理部162は、ステップS201において、Tc_LUT_inputqp=Tc_LUT_input計算部161からのTctmpとする。
クリップ処理部162は、ステップS202において、Tc_LUT_input計算部161からのTctmpが、Tc_qpmaxより大きいか否かを判定する。ステップS202において、Tctmpが、Tc_qpmaxより大きいと判定された場合、処理は、ステップS203に進む。
クリップ処理部162は、ステップS203において、Tc_LUT_inputqp=Tc_qpmaxとし、Tc_LUT_inputqpを、既存Tc生成部163および拡張Tc生成部164に供給する。
ステップS202において、Tctmpが、Tc_qpmax以下であると判定された場合、ステップS203の処理はスキップされ、クリップ処理は終了する。すなわち、この場合、Tc_LUT_inputqp(Tctmp)が、既存Tc生成部163および拡張Tc生成部164に供給される。
[色差境界のフィルタ処理の例]
次に、図29のフローチャートを参照して、図23のステップS106における色差境界のフィルタ処理について説明する。
QP算出部111は、コンフィグレーション設定部101からのBs値を受けると、ステップS221において、Bs値が1より大きいか否かを判定する。ステップS221において、Bs値が1より大きくないと判定された場合、色差境界のフィルタ処理は終了する。すなわち、この場合の色差境界には、フィルタ処理が施されない。
ステップS221において、Bs値が1より大きいと判定された場合、処理は、ステップS222に進む。ステップS222において、QP算出部111は、前段からのデブロッキングフィルタ前画素値を入力し、境界を共有する2つのブロック(領域)の平均QPを計算する。
すなわち、QP取得部111aは、入力されたデブロッキングフィルタ前画素値より、処理対象の境界を共有する(境界に隣接する)2つの領域の量子化パラメータp_QPおよびq_QPを取得する。QP取得部111aは、取得した量子化パラメータp_QPおよびq_QPを、平均QP計算部111bに供給する。
平均QP計算部111bは、QP取得部111aからの量子化パラメータp_QPおよびq_QPの平均を求め、その平均を、パラメータTcの生成に用いられる量子化パラメータQPとして、Tc生成部113に供給する。
ステップS223において、Tc生成部113は、Tcを生成する。このTc生成処理は、図26を参照して上述した処理と基本的に同じ処理であるのでその説明を省略するが、ステップS223の処理により、Tcが生成されて、フィルタ処理部115に供給される。
ステップS224において、フィルタ処理部115は、入力されたデブロッキングフィルタ前画素値に対して、Tc生成部113により生成されたパラメータTcなどを用いて、フィルタ処理を行う。フィルタ処理部115は、デブロッキングフィルタ後の画素値を後段に出力する。
なお、上記説明においては、フィルタの強度を強くするために、パラメータβおよびパラメータTcを増やすことにより拡張する例(以下、第1の拡張方法とも称する)を説明したが、パラメータβおよびパラメータTcの拡張の例は、上記第1の拡張方法に限らない。次に、パラメータの数を増やすことなく、関数の傾きを変える第2の拡張方法について説明する。
<4.第2の実施の形態(第2の拡張方法)>
[パラメータβの拡張例]
まず、第2の拡張方法によるパラメータβの拡張について説明する。HEVC方式においては、次の式(10)に示されるように、パラメータβは、QPの区間に応じて3つの式で計算される。
第2の拡張方法においては、これらの3つの式の傾き(k0,k1,k2)をシンタクスで復号側に送るようにする。復号側では、スライス毎に、符号化側からのシンタクスが示す傾きを用いて、次の式(11)で示されるテーブルを更新する。
なお、式(11)は、k0=0,k1=1,k2=2の場合に、上述した式(10)のテーブルになる。このk0=0,k1=1,k2=2は、デフォルトであり、これらの値のうち、変更したい値がシンタックスで復号側に送られる。
図30は、式(11)において、k0=0,k1=1,k2=2の場合の量子化パラメータQPとパラメータβの関係と、k2=4として更新された場合の量子化パラメータQPとパラメータβ(新β)の関係を示す図である。
図30のAに示されるグラフにおいては、更新前が点線で示されており、k2=4としての更新後が実線で示されている。図30のBに示される表においては、更新後の16≦qp≦51に対応する更新後の新βの値が太線枠で囲まれており、そのうち、k2=4として更新された29≦qp≦51に対応する新βの値がハッチングされている。
図30の例の場合、パラメータβ(新β)は、0乃至51の量子化パラメータQPに対して0乃至110の値をとることができる。
なお、上述した例においては、qp=0のときのβは0としているが、0に限らず、他の値であってもよい。また、上述した例においては、βが、QPの区間に応じて3つの式で計算される例を説明したが、βの式の分割数は3つに限らない。
さらに、上述した例においては、qpの各区間の境界を連続にしているが、不連続でもよい。また、上述した例においては、βの式は1次関数で表わされているが、これに限定されず、例えば、指数関数で表わされてもよい。
係数(k0,k1,k2)の復号側への送り方は、例えば、Exponental Golomb または Fix Length Codingが考えられるが、どのように符号化されてもよい。
[パラメータTcの拡張例]
次に、第2の拡張方法によるパラメータTcの拡張について説明する。第2の拡張方法は、パラメータTcの場合も、基本的に、上述したパラメータβと同じ考え方で行われる。
ただし、パラメータTcの場合、パラメータβの場合と異なるのは、HEVC方式において、パラメータTcが1つの式で表わしきれていない点である。なお、HEVC方式におけるパラメータTcを、近似すると、次の式(12)で表わされる。
すなわち、図31に示されるように、実際の量子化パラメータQPとパラメータTcの関係と、その関係を近似した式(12)には、多少のずれ(調整量(Δt))がある。
図31のAにおいては、量子化パラメータQPとパラメータTcの関係を近似した式(12)が調整前として点線で表わされており、量子化パラメータQPとパラメータTcの関係と、その式(12)とのずれの調整後が実線で表わされている。
図31のBにおいては、量子化パラメータQPとパラメータTcの関係と、その関係を式(12)で表わしたときの調整量(Δt)が示されている。
したがって、パラメータTcの場合、次の式(13)に示されるように、近似した式(12)について、それぞれk3,k4倍して、その後に(12)式からずれる分(調整量Δt)を調整する。
そして、第2の拡張方法においては、これらの2つの式の傾き(k3,k4)をシンタクスで復号側に送るようにする。復号側では、スライス毎に、符号化側からのシンタクスが示す傾きを用いて、上述した式(13)で示されるテーブルを更新する。なお、係数(k3,k4)の復号側への送り方も、例えば、Exponental Golomb または Fix Length Codingが考えられるが、どのように符号化されてもよい。
調整量は、±k4であり、図31のBに示されるように、qpの値に応じて正負が変わる。図31のBにおいては、QPが27乃至29、31の場合、調整量の値が正となる。QPが、34、36乃至42の場合、調整量の値が負となる。また、調整量は、kによらず、例えば、図31のBに示される1に固定であってもよい。
この式(13)は、k3=0,k4=1の場合に、上述した式(12)が示す近似式のテーブルに調整量(Δt)を加えた式となる。このk3=0,k4=1は、デフォルトの値であり、これらの値のうち、変更したい値がシンタックスで復号側に送られる。
なお、式(13)では、調整量が含まれているが、既存のパラメータTcが上述した式(12)で表わされるとして、調整量がない式(14)を用いるようにしてもよい。
また、上述した式(11)におけるk0乃至k2による掛け算および上述した式(13)または式(14)におけるk3およびk4による掛け算は、ビットシフトで実現できるようにするのが好ましい。
なお、上述した第2の拡張方法によれば、量子化パラメータQPの意味は変わらない。量子化パラメータQPの範囲は、HEVC方式における範囲と変わらない。また、ストリームにおけるノイズののり方によって、設定の自由度を上げることができる。さらに、使用メモリを増やすことなく実現することが可能である。
<5.第3の実施の形態(第3の拡張方法)>
[パラメータβの拡張例]
さらに、第3の拡張方法によるパラメータβの拡張について説明する。HEVC方式におけるパラメータβのオフセット(β_offset)の意味は、量子化パラメータQP+β_offsetである。したがって、パラメータβは、次の式(15)で表わされる。
すなわち、HEVC方式においては、量子化パラメータQPに、β_offsetを足して、そのβをとってきていた。これに対して、第3の拡張方法としては、次の式(16)に示されるように、このβ_offsetをパラメータβに直接加える。
ここで、α0は、固定値である。例えば、α0=0,1,2,3,4…であり、α0の値は限定されない。このα0によりβを調整することができる。なお、α0は固定値でなくてもよく、例えば、符号化側で設定されて、復号側へシンタックスで送られるようにしてもよい。
例えば、図32を参照して説明するに、QP=37、β_offset=6、α0=2の場合、HEVC方式では、上述した式(15)から、β=β(37+6)=β(43)の値(=48)が用いられる。
一方、第3の拡張方法の場合、上述した式(16)から、β=β(37)+6*2=β(37)の値(=36)に12を足した値(48)が用いられる。
以上のように、β_offsetを利用して、βの値の範囲を直接拡張することも可能である。このことは、次に説明するように、パラメータTcについても同様である。
[パラメータTcの拡張例]
次に、第3の拡張方法によるパラメータTcの拡張について説明する。HEVC方式におけるパラメータTcのオフセット(Tc_offset)の意味は、量子化パラメータQP+Tc_offsetである。したがって、パラメータTcは、次の式(17)で表わされる。
すなわち、HEVC方式においては、量子化パラメータQPに、Tc_offsetを足して、そのTcをとってきていた。これに対して、第3の拡張方法としては、次の式(18)に示されるように、このTc_offsetをパラメータTcに直接加える。
ここで、α1は、固定値である。例えば、α1=0,1,2,3,4…であり、α1の値は限定されない。このα1によりTcを調整することができる。なお、α1は、固定値に限らず、符号化側で設定されて、復号側へシンタックスで送られるようにしてもよい。
例えば、図33を参照して説明するに、QP=37、Tc_offset=6、α1=1の場合、HEVC方式では、上述した式(17)から、Tc=Tc(37+6)=Tc(43)の値(=8)が用いられる。
一方、第3の拡張方法の場合、上述した式(18)から、Tc=Tc(37)+6*1=Tc(37)の値(=4)に6を足した値(10)が用いられる。
以上のように、Tc _offsetを利用して、Tcの値の範囲を直接拡張することも可能である。
なお、上述した式(15)におけるα0による掛け算および上述した式(18)におけるα1による掛け算は、ビットシフトで実現できるようにするのが好ましい。
また、上述した第3の拡張方法によれば、量子化パラメータQPの意味は変わらない。量子化パラメータQPの範囲は、HEVC方式における範囲と変わらない。また、使用メモリを増やすことなく実現することが可能である。
なお、上述した第2の拡張方法および第3の拡張方法も、第1の拡張方法と同様に、例えば、図16の拡張β生成部124および図19の拡張Tc生成部164により実行される。
また、上述した第2の拡張方法における係数(k0乃至k5)や、第3の拡張方法における係数α0およびα1は、例えば、スライスヘッダなどのヘッダとして復号側へ送るようにしてもよい。また、係数(k0乃至k5)や係数α0およびα1は、アダプテーションパラメータセット(APS)などのNALユニットとして復号側へ送るようにしてもよい。
以上のように、フィルタの強度が強くなるように、フィルタに関する判定に用いられるパラメータ、すなわち、フィルタの強度を決定するパラメータを拡張するようにした。したがって、フィルタの強度が強くなり、ブロックノイズを抑制して、復号画像を最適化することができる。
なお、デブロックフィルタの強度を強くするフィルタパラメータとして、βとTcがあった。そして、現状、現状のパラメータの範囲では、ノイズが残っているところがあるので、より強度を上げたいために、β、Tcの拡張を行った。同様の考え方は、適応オフセットフィルタにも適用することができる。すなわち、適応オフセットフィルタにおいても、現状の規格のパラメータの範囲を拡張して、より強度を高めることも可能である。
ここで、上述した第1の拡張方法においては、デブロッキングフィルタのパラメータのLUTへの入力である量子化パラメータQP(0乃至51)以降の値において、パラメータのレンジを拡張する例を説明した。この場合、パラメータを保持するためのテーブルが粗かに増えたり、新たなパラメータのための計算コストが増えたりする。
これに対して、なるべくシンプルな方法でデブロッキングの強度を上げることができるようにする例を説明する。
<6.第4の実施の形態(第4の拡張方法)>
[パラメータβの拡張]
まず、図34を参照して、量子化パラメータQP(0乃至51)内で、パラメータのレンジを拡張する例を説明する。図34のAは、本技術における量子化パラメータQPとパラメータβの関係を示すグラフである。図34のBは、本技術における量子化パラメータQPとパラメータβの関係を示す表である。なお、図34のAに示すグラフにおいて点線が従来を示す。図34のBに示す表において、太線枠内が本技術による拡張部分である。
図34の太線枠内に示されるように、量子化パラメータQP(0乃至51)におけるHighの部分、すなわち、量子化パラメータQP(45乃至51)に対応するパラメータβ(β(45)乃至β(51))を、それを表す1次関数の傾きをより大きい傾きにすることで、拡張する。すなわち、このβの拡張方法は、次の式(19)で表わされる。
なお、ここで、k3=4としたが、4に限定されない。すなわち、k3の値は、シフト演算を考慮して4が好適であるが、3、5、6、…などであってもよい。
第4の実施例の場合のデブロッキングフィルタ31は、図15のβ生成部112の構成以外は、図14を参照して上述したデブロッキングフィルタ31と基本的に同様である。したがって、次に、構成が異なる図15のβ生成部112の構成例について説明する。
[β生成部の構成例]
図35は、β生成部の構成例を示すブロック図である。
図35の例において、β生成部112は、図16のβLUT_input計算部121、およびβ生成処理部251を含むように構成される。
平均QP計算部111bからの量子化パラメータQPがβLUT_input計算部121に供給される。コンフィグレーション設定部101により設定された情報のうち、βオフセットの値(β_offdset_div2)がβLUT_input計算部121に供給される。
βLUT_input計算部121は、β生成処理部251に入力する値βLUT_input qpであるβtmpを求める。すなわち、βLUT_input計算部121は、平均QP計算部111bからの量子化パラメータQPとβオフセットの値とを加算してβtmpを算出し、算出したβtmpを、β生成処理部251に供給する。
β生成処理部251は、式(19)をオフラインで求めたものであるβ LUT(Look Up Table)を有している。β生成処理部251は、βLUT_input計算部121により算出されたβtmpを、βLUT_input qpとして入力し、β LUT(式(19))を用いてβを求め、求めたβを、フィルタ処理決定部114に供給する。
なお、第4の実施例の場合のデブロッキングフィルタ31の処理については、図24のステップS123のβの生成処理以外は、図23を参照して上述したデブロッキングフィルタ処理と基本的に同様の処理である。
したがって、次に、異なる処理であるβの生成処理(図24のステップS123)について、図36のフローチャートを参照して説明する。
ステップS251において、βLUT_input計算部121は、β生成処理部251に入力する値βLUT_input qpであるβtmp=QP+β_offdset_div2*2を算出し、算出したβtmpを、β生成処理部251に供給する。
なお、ここで、実際には、βのオフセット値(β_offdset_div2)は1/2されて伝送されており、ステップS251におけるβLUT_input qpの算出時に2倍されて用いられる。
ステップS252において、β生成処理部251は、βLUT_input計算部121により算出されたβtmpを、βLUT_input qpとして入力し、β LUT(式(19))を用いてβを求め、求めたβを、フィルタ処理決定部114に供給する。
以上のように、量子化パラメータQP(0乃至51)におけるHighの部分のβの1次関数の傾きを大きくすることで、フィルタ強度を上げるようにした。この場合、現状に対して性能や実装についてほとんど影響なく、簡単に、オフセットを与えた場合のデブロッキングの強度を上げることができる。
なお、上記説明において、パラメータβのオフセットとパラメータTcのオフセットは、それぞれ符号化側から復号側に伝送されていたが、次に、パラメータβとTcのオフセットを共通化する例について説明する。
<7.第5の実施の形態(第1のオフセット送信方法)>
[デブロッキングフィルタの構成例]
図37は、パラメータβとTcのオフセットを共通化する場合のデブロッキングフィルタの構成例を示すブロック図である。
図37の例において、デブロッキングフィルタ31は、コンフィグレーション設定部301およびフィルタ実行部302を含むように構成されている。
コンフィグレーション設定部301には、図14のデブロッキングフィルタ31と異なり、パラメータβとTcとで共通のデブロックオフセットの値(dblk_offset_div2)が入力される。
すなわち、コンフィグレーション設定部301は、例えば、図示せぬ操作部(または、可逆復号部62)から入力されるDisableDeblockingFilterフラグ情報(すなわち、ON/OFF情報)およびデブロックオフセットの値を入力する。コンフィグレーション設定部301は、入力される情報を基に、デブロッキングフィルタ31における環境設定を行う。すなわち、コンフィグレーション設定部301においては、環境設定の1つとして、デブロッキングフィルタのβおよびTcのオフセットとして、デブロックオフセットの値が設定される。コンフィグレーション設定部301は、設定された情報を、フィルタ実行部302に供給する。
フィルタ実行部302には、演算部30(または、演算部65)からのデブロッキングフィルタ前画素値が供給される。フィルタ実行部302は、デブロッキングオフセットの値など、コンフィグレーション設定部301により設定された情報を基に、パラメータの生成に用いられる量子化パラメータQPを算出し、パラメータβおよびTcを生成して、フィルタ処理の要否やフィルタ強度を決定する。そして、フィルタ実行部302は、決定されたフィルタ処理の要否やフィルタ強度を基に、フィルタ処理を行う。フィルタ実行部302は、デブロッキングフィルタ後の画素値を、後段の適応オフセットフィルタ41(または、適応オフセットフィルタ81)に供給する。
なお、フィルタ実行部302は、輝度境界および色差境界に対して、それぞれ、上述した処理を行う。
[輝度境界のフィルタ実行部の構成例]
図38は、輝度境界のフィルタ処理を行うフィルタ実行部の構成例を示すブロック図である。
図38の例において、フィルタ実行部302は、QP算出部111、フィルタ処理決定部114、フィルタ処理部115、β生成部311、およびTc生成部312を含むように構成されている。
なお、フィルタ実行部302は、QP算出部111、フィルタ処理決定部114、およびフィルタ処理部115を備える点は、図15のフィルタ実行部102と共通している。フィルタ実行部302は、β生成部112がβ生成部311に入れ替わった点と、Tc生成部113がTc生成部312に入れ替わった点は、図15のフィルタ実行部102と異なっている。
すなわち、β生成部311は、β生成部112と同様に、平均QP計算部111bからの量子化パラメータQPに応じて、パラメータβを生成する。その際、β生成部311においては、オフセットの値として、コンフィグレーション設定部301からのデブロックオフセットの値(dblk_offset_div2)が用いられる。β生成部311は、生成したパラメータβを、フィルタ処理決定部114に供給する。
Tc生成部312は、Tc生成部113と同様に、平均QP計算部111bからの量子化パラメータQPに応じて、パラメータTcを生成する。その際、Tc生成部312においては、オフセットの値として、コンフィグレーション設定部301からのデブロッキングオフセットの値(dblk_offset_div2)が用いられる。Tc生成部312は、生成したパラメータTcを、フィルタ処理決定部114に供給する。
[β生成部の構成例]
図39は、β生成部の構成例を示すブロック図である。
図39の例において、β生成部311は、βLUT_input計算部321およびβ生成処理部322を含むように構成される。
平均QP計算部111bからの量子化パラメータQPがβLUT_input計算部321に供給される。コンフィグレーション設定部301により設定された情報のうち、デブロッキングオフセットの値(dblk_offset_div2)がβLUT_input計算部321に供給される。
βLUT_input計算部321は、平均QP計算部111bからの量子化パラメータQPとデブロッキングオフセットの値とを加算してβtmpを算出し、算出したβtmpをβ生成処理部322に供給する。
β生成処理部322は、例えば、HEVC方式で規定されているβLUT (Look Up Table)を有している。β生成処理部322は、βLUT_input計算部321からのβtmpを、βLUT_inputqpとして入力し、βLUTを用いてβを求め、求めたβを、フィルタ処理決定部114に供給する。
[Tc生成部の構成例]
図40は、Tc生成部の構成例を示すブロック図である。
図40の例において、Tc生成部312は、TcLUT_input計算部331およびTc生成処理部332を含むように構成される。
平均QP計算部111bからの量子化パラメータQPがTcLUT_input計算部331に供給される。コンフィグレーション設定部301により設定された情報のうち、デブロッキングオフセットの値(dblk_offset_div2)が、TcLUT_input計算部331に供給される。
TcLUT_input計算部331は、平均QP計算部111bからの量子化パラメータQPとデブロッキングオフセットの値とを加算してTctmpを算出し、算出したTctmpをTc生成処理部332に供給する。
Tc生成処理部332は、例えば、HEVC方式で規定されているTcLUT(Look Up Table)を有している。Tc生成処理部332は、TcLUT_input計算部331からのTctmpを、TcLUT_inputqpとして入力し、TcLUTを用いてTcを求め、求めたTcを、フィルタ処理決定部114に供給する。
なお、色差境界のフィルタ処理を行うフィルタ実行部の構成例については、図22を参照して上述したフィルタ実行部102において、Tc生成部113が、図38のTc生成部312に入れ替わるだけであるので、その説明は省略される。
[デブロッキングフィルタの動作]
次に、図41のフローチャートを参照して、デブロッキングフィルタ処理について説明する。なお、図41のステップS302乃至S308の処理は、図23のステップS102乃至108の処理と基本的に同様である。ただし、ステップS305およびS306における各境界のフィルタ処理のうち、図24のステップS123におけるβ生成処理およびS124におけるTc生成処理が異なるので、その詳細は、図43および図44を参照してそれぞれ後述される。
例えば、図示せぬ操作部(または可逆復号部62)を介して、DisableDeblockingFilterフラグ情報(すなわち、ON/OFF情報)、デブロッキングオフセットの値が入力される。
コンフィグレーション設定部301は、ステップS301において、フィルタのコンフィグレーションを設定する。コンフィグレーション設定処理の詳細は、図42を参照して後述される。ステップS301により、コンフィグレーションが設定される。その際、DisableDeblockingFilterフラグ情報が設定され、デブロッキングオフセットの値(dblk_offset_div2)が設定される。
ここで設定されたデブロッキングオフセットの値は、ステップS305の処理を説明する図24のステップS123のβ生成処理とステップS124のTc生成処理、および図29のステップS223のTc生成処理で用いられる。
ステップS302において、コンフィグレーション設定部301は、DisableDeblockingFilterフラグ情報に基づいて、デブロッキングフィルタが利用不可でないか否かを判定する。ステップS302において、デブロッキングフィルタが利用不可であると判定された場合、デブロッキングフィルタ処理は終了される。
ステップS302において、デブロッキングフィルタが利用不可ではないと判定された場合、処理は、ステップS303に進む。
ステップS303において、コンフィグレーション設定部301は、TUとPUの境界を導出する。ステップS304において、コンフィグレーション設定部301は、ステップS303で導出したTUとPUの境界などの情報や予測モード情報などを基に、BS値の導出を行う。コンフィグレーション設定部301は、BS値の情報を、フィルタ実行部302のQP算出部111に供給する。
ステップS305において、フィルタ実行部302は、輝度(LUMA)境界のフィルタ処理を行う。この処理の説明は、図24を参照して上述したので省略されるが、ステップS105の処理により、輝度境界にフィルタが施される。
ステップS306において、フィルタ実行部302は、色差(CHROMA)境界のフィルタ処理を行う。この処理の説明は、図29を参照して上述したので省略されるが、ステップS106の処理により、色差境界にフィルタが施される。
ステップS307において、フィルタ実行部302は、全部の境界を処理したか否かを判定する。ステップS307において、まだ、全部の境界を処理していないと判定された場合、処理は、ステップS305に戻り、それ以降の処理が繰り返される。
ステップS307において、全部の境界を処理したと判定された場合、処理は、ステップS108に進む。
ステップS308において、コンフィグレーション設定部301は、全部のCUを処理したか否かを判定する。ステップS308において、まだ、全部のCUを処理していないと判定された場合、処理は、ステップS303に戻り、それ以降の処理が繰り返される。
ステップS308において、全部のCUを処理したと判定された場合、デブロッキングフィルタ処理は終了される。
[フィルタのコンフィグレーション処理]
次に、図42のフローチャートを参照して、図41のステップS301のフィルタのコンフィグレーション設定処理について説明する。
図示せぬ操作部(または可逆復号部62)を介して、デブロッキングコントロールフラグの情報、DisableDeblockingFilterフラグ情報(すなわち、ON/OFF情報)、およびデブロッキングオフセットの値が入力される。
コンフィグレーション設定部301は、ステップS321において、デブロッキングコントロールフラグが1であるか否かを判定する。ステップS321において、デブロッキングコントロールフラグが1であると判定された場合、処理は、ステップS322に進む。
デブロッキングコントロールフラグが1の場合、DisableDeblockingFilterフラグとデブロッキングオフセットを伝送することができる。したがって、ステップS322において、コンフィグレーション設定部301は、DisableDeblockingFilterフラグを読み込んで設定する。
ステップS323において、コンフィグレーション設定部301は、デブロッキングオフセットの値(dblk_offset_div2)を読み込んで設定する。
一方、ステップS321において、デブロッキングコントロールフラグが0であると判定された場合、コンフィグレーション設定処理は終了される。すなわち、ステップS321において、デブロッキングコントロールフラグが0であると判定された場合、DisableDeblockingFilterフラグとデブロッキングオフセットは伝送されないので、設定されず、デフォルトの値が用いられる。
[β生成処理]
次に、図43のフローチャートを参照して、図24のステップS123のβ生成処理について説明する。
βLUT_input計算部321には、コンフィグレーション設定部301から、デブロッキングオフセットの値(dblk_offset_div2)が入力される。ステップS331において、βLUT_input計算部321は、β生成処理部322に入力する値βLUT_input qpであるβtmp=QP+ dblk_offset_div2*2を算出し、算出した算出したβtmpを、β生成処理部322に供給する。
なお、上述したβオフセット値と同様に、実際には、デブロッキングオフセット値(dblk_offset_div2)は1/2されて伝送されており、ステップS331におけるβLUT_input qpの算出時に2倍されて用いられる。
ステップS332において、β生成処理部322は、βLUT_input計算部321により算出されたβtmpを、βLUT_input qpとして入力し、β LUTを用いてβを求め、求めたβを、フィルタ処理決定部114に供給する。
[Tc生成処理]
次に、図44のフローチャートを参照して、図24のステップS124のTc生成処理について説明する。
TcLUT_input計算部331には、コンフィグレーション設定部301から、デブロッキングオフセットの値(dblk_offset_div2)が入力される。ステップS341において、TcLUT_input計算部331は、Tc生成処理部332に入力する値TcLUT_input qpであるTctmp=QP+ dblk_offset_div2 *2を算出し、算出した算出したTctmpを、Tc生成処理部332に供給する。
なお、上述したβオフセット値と同様に、実際には、デブロッキングオフセット値(dblk_offset_div2)は1/2されて伝送されており、ステップS341におけるTcLUT_input qpの算出時に2倍されて用いられる。
ステップS342において、Tc生成処理部332は、Tc LUT_input計算部331により算出されたTc tmpを、Tc LUT_input qpとして入力し、Tc LUTを用いてTcを求め、求めたTcを、フィルタ処理決定部114に供給する。
[デブロッキングオフセットの値(dblk_offset_div2)の伝送]
次に、図45を参照して、デブロッキングオフセットの値(dblk_offset_div2)の伝送について説明する。
画像符号化装置11においては、図示せぬ操作部を介して、デブロッキングオフセットの値(dblk_offset_div2)が、デブロッキングフィルタ31aおよび可逆符号化部26に入力される。デブロッキングオフセットの値(dblk_offset_div2)は、デブロッキングフィルタ31aでフィルタ処理に用いられ、可逆符号化部26においてSVLC(Sin VLC)により書き込むことで符号化される。符号化されたデブロッキングオフセットの値(dblk_offset_div2)は、デブロッキングフィルタのパラメータとして、画像復号装置51に伝送される。
画像符号化装置11から送られてきたデブロッキングオフセットの値(dblk_offset_div2)は、画像復号装置51において、可逆復号部62で、SVLC(Sin VLC)により読み出すことで復号されて、デブロッキングフィルタ31bでフィルタ処理に用いられる。
[デブロッキングオフセットの値のシンタクスの例]
図46は、デブロッキングオフセットの値のシンタクスの例を示す図である。
図46の例において、デブロッキングオフセットの値(dblk_offset_div2)は、disaeble_deblocking_filter_flagのif文に記述されており、disaeble_deblocking_filter_flagが0でなければ、dblk_offset_div2の値が用いられる。
なお、このシンタクスは、スライスヘッダおよびPPS(ピクチャパラメータセット)に記述される。
以上のように、パラメータβとTcで共通のオフセット値を用いることで、シンタクスを1つ減らすことができ、また、デブロッキングフィルタ強度の制御が簡単になる。
次に、パラメータβとTcのオフセットを符号化する際、パラメータβのオフセット、およびパラメータβのオフセットとパラメータTcのオフセットとの差分を符号化して送る例について説明する。
<8.第6の実施の形態(第2のオフセット送信方法)>
[デブロッキングフィルタの構成例]
図47は、画像符号化装置におけるデブロッキングフィルタの構成例を示すブロック図である。
図47の例において、デブロッキングフィルタ31aは、コンフィグレーション設定部401およびフィルタ実行部302を含むように構成されている。
コンフィグレーション設定部401には、パラメータβのオフセット値(β_offset_div2)とパラメータtcのオフセット値(tc_offset_div2)が入力される。
コンフィグレーション設定部401は、例えば、図示せぬ操作部から入力されるDisableDeblockingFilterフラグ情報(すなわち、ON/OFF情報)、パラメータβのオフセット値、およびパラメータtcのオフセット値を入力する。コンフィグレーション設定部401は、入力される情報を基に、デブロッキングフィルタ31aにおける環境設定を行う。すなわち、コンフィグレーション設定部401においては、デブロッキングフィルタのβのオフセット値およびtcのオフセット値が設定される。コンフィグレーション設定部401は、設定された情報を、フィルタ実行部302に供給する。
なお、その際、コンフィグレーション設定部401は、パラメータβのオフセット値(β_offset_div2)とパラメータtcのオフセット値(tc_offset_div2)との差分情報(diff_β_tc_div2)を生成する。コンフィグレーション設定部401は、生成した差分情報と、パラメータβのオフセット値を、可逆符号化部26に供給する。
フィルタ実行部302は、図37のフィルタ実行部302と基本的に同じであり、デブロッキングオフセットの値など、コンフィグレーション設定部401により設定された情報を基に、パラメータの生成に用いられる量子化パラメータQPを算出し、パラメータβおよびTcを生成して、フィルタ処理の要否やフィルタ強度を決定する。
その際、図37のフィルタ実行部302においては、デブロッキングオフセットの値(dblk_offset_div2)が用いられる。これに対して、図47のフィルタ実行部302においては、パラメータβのオフセット値(β_offset_div2)とパラメータtcのオフセット値(tc_offset_div2)がそれぞれ用いられることが異なる。したがって、図47の例のフィルタ実行部302の構成例およびフィルタ実行部302を構成する各部の構成例は、省略される。
なお、図47のデブロッキングフィルタ31aのデブロッキングフィルタ処理については、図41を参照して上述した処理と、ステップS301のフィルタのコンフィグレーション設定処理以外については、基本的に同様である。したがって、異なる処理である、図41のステップS301のフィルタのコンフィグレーション設定処理について、図48を参照して説明する。
[フィルタのコンフィグレーション処理]
次に、図48のフローチャートを参照して、図41のステップS301のフィルタのコンフィグレーション設定処理について説明する。
図示せぬ操作部を介して、デブロッキングコントロールフラグの情報、DisableDeblockingFilterフラグ情報(すなわち、ON/OFF情報)、パラメータβのオフセット値、およびパラメータtcのオフセット値が入力される。
コンフィグレーション設定部401は、ステップS411において、デブロッキングコントロールフラグが1であるか否かを判定する。ステップS411において、デブロッキングコントロールフラグが1であると判定された場合、処理は、ステップS412に進む。
デブロッキングコントロールフラグが1の場合、DisableDeblockingFilterフラグとオフセットを伝送することができる。したがって、ステップS412において、コンフィグレーション設定部401は、DisableDeblockingFilterフラグを読み込んで設定する。
ステップS413において、コンフィグレーション設定部401は、パラメータβのオフセット値(β_offset_div2)を読み込んで設定する。
ステップS414において、コンフィグレーション設定部401は、パラメータtcのオフセット値(tc_offset_div2)を読み込んで設定する。
ステップS415において、コンフィグレーション設定部401は、パラメータβのオフセット値とパラメータTcのオフセット値との差分であるdiff_β_tc_div2を生成する。コンフィグレーション設定部401は、生成した差分情報diff_β_tc_div2を、パラメータβのオフセット値とともに、可逆符号化部26に供給する。
一方、ステップS411において、デブロッキングコントロールフラグが0であると判定された場合、コンフィグレーション設定処理は終了される。すなわち、ステップS411において、デブロッキングコントロールフラグが0であると判定された場合、DisableDeblockingFilterフラグとオフセットは伝送されないので、設定されず、デフォルトの値が用いられる。
[デブロッキングフィルタの構成例]
図49は、画像復号装置におけるデブロッキングフィルタの構成例を示すブロック図である。
図49の例において、デブロッキングフィルタ31bは、コンフィグレーション設定部451およびフィルタ実行部302を含むように構成されている。
コンフィグレーション設定部451には、パラメータβのオフセット値(β_offset_div2)とパラメータβのオフセット値とパラメータTcのオフセット値との差分情報(diff_β_tc_div2)が入力される。
コンフィグレーション設定部451は、例えば、可逆復号部62から入力されるDisableDeblockingFilterフラグ情報(すなわち、ON/OFF情報)、パラメータβのオフセット値、および差分情報を入力する。コンフィグレーション設定部451は、入力される情報を基に、デブロッキングフィルタ31bにおける環境設定を行う。すなわち、コンフィグレーション設定部451においては、デブロッキングフィルタのβのオフセット値およびtcのオフセット値が設定される。なお、その際、Tcのオフセット値は、差分情報とβのオフセット値とが加算されることで求められて設定される。コンフィグレーション設定部451は、設定された情報を、フィルタ実行部302に供給する。
フィルタ実行部302は、図37のフィルタ実行部302と基本的に同じであり、デブロッキングオフセットの値など、コンフィグレーション設定部301により設定された情報を基に、パラメータの生成に用いられる量子化パラメータQPを算出し、パラメータβおよびTcを生成して、フィルタ処理の要否やフィルタ強度を決定する。
その際、図37のフィルタ実行部302においては、デブロッキングオフセットの値(dblk_offset_div2)が用いられる。これに対して、図49のフィルタ実行部302においては、パラメータβのオフセット値(β_offset_div2)とパラメータTcのオフセット値(tc_offset_div2)がそれぞれ用いられることが異なる。したがって、図49の例のフィルタ実行部302の構成例およびフィルタ実行部302を構成する各部の構成例は、省略される。
なお、図49のデブロッキングフィルタ31bのデブロッキングフィルタ処理については、図41を参照して上述した処理と、ステップS301のフィルタのコンフィグレーション設定処理以外については、基本的に同様である。したがって、異なる処理である、図41のステップS301のフィルタのコンフィグレーション設定処理について、図50を参照して説明する。
[フィルタのコンフィグレーション処理]
次に、図50のフローチャートを参照して、図41のステップS301のフィルタのコンフィグレーション設定処理について説明する。
可逆復号部62を介して、デブロッキングコントロールフラグの情報、DisableDeblockingFilterフラグ情報(すなわち、ON/OFF情報)、パラメータβのオフセット値(β_offset_div2)、および差分情報(diff_β_tc_div2)が入力される。
コンフィグレーション設定部451は、ステップS421において、デブロッキングコントロールフラグが1であるか否かを判定する。ステップS421において、デブロッキングコントロールフラグが1であると判定された場合、処理は、ステップS422に進む。
デブロッキングコントロールフラグが1の場合、DisableDeblockingFilterフラグとオフセットを伝送することができる。したがって、ステップS422において、コンフィグレーション設定部451は、DisableDeblockingFilterフラグを読み込んで設定する。
ステップS423において、コンフィグレーション設定部451は、パラメータβのオフセット値(β_offset_div2)を読み込んで設定する。
ステップS424において、コンフィグレーション設定部451は、差分情報diff_β_tc_div2に、パラメータβのオフセット値(β_offset_div2)を加算することで、パラメータTcのオフセット値(tc_offset_div2)を求めて設定する。
一方、ステップS421において、デブロッキングコントロールフラグが0であると判定された場合、コンフィグレーション設定処理は終了される。すなわち、ステップS421において、デブロッキングコントロールフラグが0であると判定された場合、DisableDeblockingFilterフラグとオフセットは伝送されないので、設定されず、デフォルトの値が用いられる。
[オフセット値と差分情報の伝送]
次に、図51を参照して、オフセット値(β_offset_div2)と差分情報(diff_β_tc_div2)の伝送について説明する。
画像符号化装置11においては、図示せぬ操作部を介して、βのオフセット値(β_offset_div2)とTcのオフセット値(tc_offset_div2)が、デブロッキングフィルタ31aに入力される。デブロッキングフィルタ31aにおいて、βのオフセット値(β_offset_div2)とtcのオフセット値(tc_offset_div2)が用いられてフィルタ処理が行われる。
さらに、デブロッキングフィルタ31aにおいて、差分情報(diff_β_tc_div2)が生成され、βのオフセット値(β_offset_div2)と差分情報(diff_β_tc_div2)とが可逆符号化部26に供給される。そして、βのオフセット値(β_offset_div2)と差分情報(diff_β_tc_div2)は、可逆符号化部26においてSVLC(Sin VLC)により書き込むことで符号化され、デブロッキングフィルタのパラメータとして、画像復号装置51に伝送される。
画像符号化装置11から送られてきたβのオフセット値(β_offset_div2)と差分情報(diff_β_tc_div2)は、画像復号装置51において、可逆復号部62で、SVLC(Sin VLC)により読み出すことで復号されて、それらがデブロッキングフィルタ31bにおいて用いられて、Tcのオフセット値(tc_offset_div2)が求められる。そして、デブロッキングフィルタ31bにおいて、βのオフセット値(β_offset_div2)と求められたTcのオフセット値(tc_offset_div2)とがフィルタ処理に用いられる。
なお、上記説明においては、コンフィグレーション設定部401において2つのパラメータのオフセット値の差分情報が生成されて、可逆符号化部26に供給する例を説明したが、この差分情報は、可逆符号化部26において生成するようにしてもよい。
[デブロッキングオフセットの値のシンタクスの例]
図52は、デブロッキングオフセットの値のシンタクスの例を示す図である。
図52の例において、βオフセットの値(beta_offset_div2)と差分情報(diff_beta_tc_div2)は、disaeble_deblocking_filter_flagのif文に記述されていることから、disaeble_deblocking_filter_flagが0でなければ、βオフセットの値(beta_offset_div2)と差分情報(diff_beta_tc_div2)が用いられる。
なお、このシンタクスは、スライスヘッダおよびPPS(ピクチャパラメータセット)に記述される。
また、上記説明においては、差分情報とともに、βのオフセットを送信するようにしたが、Tcのオフセットを送信するようにしてもよい。この場合、復号側で、差分情報とtcのオフセットからβのオフセットが求められる。
以上のように、2つのパラメータのオフセットを送るのではなく、どちらか一方のパラメータのオフセット値、および一方と他方のパラメータのオフセットの差分情報を送るようにした。
パラメータβのオフセットの値とパラメータTcのオフセットの値とには、相関があり、それらの値が連動していることが多く、その場合、差分情報が小さな値となるので、符号化の際のビット数を減らすことができる。
以上においては、符号化方式としてHEVC方式をベースに用いるようにした。ただし、本開示はこれに限らず、インループフィルタとして、少なくともデブロッキングフィルタを含む、その他の符号化方式/復号方式を適用することができる。
なお、本開示は、例えば、HEVC方式等の様に、離散コサイン変換等の直交変換と動き補償によって圧縮された画像情報(ビットストリーム)を、衛星放送、ケーブルテレビジョン、インターネット、または携帯電話機などのネットワークメディアを介して受信する際に用いられる画像符号化装置および画像復号装置に適用することができる。また、本開示は、光、磁気ディスク、およびフラッシュメモリのような記憶メディア上で処理する際に用いられる画像符号化装置および画像復号装置に適用することができる。
<9.第7の実施の形態(多視点画像符号化・多視点画像復号装置)>
[多視画像点符号化・多視点画像復号への適用]
上述した一連の処理は、多視点画像符号化・多視点画像復号に適用することができる。図53は、多視点画像符号化方式の一例を示す。
図53に示されるように、多視点画像は、複数の視点の画像を含み、その複数の視点のうちの所定の1つの視点の画像が、ベースビューの画像に指定されている。ベースビューの画像以外の各視点の画像は、ノンベースビューの画像として扱われる。
図53のような多視点画像符号化を行う場合、各ビュー(同一ビュー)において、デブロッキングフィルタパラメータ(フラグ、パラメータのオフセット値、および差分情報など)を設定することができる。また、各ビュー(異なるビュー)において、他のビューで設定されたデブロッキングフィルタパラメータを共有することもできる。
この場合、ベースビューにおいて設定されたデブロッキングフィルタパラメータが、少なくとも1つのノンベースビューで用いられる。あるいは、例えば、ノンベースビュー(view_id=i)において設定されたデブロッキングフィルタパラメータが、ベースビューおよびノンベースビュー(view_id=j)の少なくともどちらか一方で用いられる。
これにより、デブロッキングフィルタ処理において、適切にフィルタリングがかかるようにすることができる。すなわち、ブロックノイズを抑制することができる。
[多視点画像符号化装置]
図54は、上述した多視点画像符号化を行う多視点画像符号化装置を示す図である。図54に示されるように、多視点画像符号化装置600は、符号化部601、符号化部602、および多重化部603を有する。
符号化部601は、ベースビュー画像を符号化し、ベースビュー画像符号化ストリームを生成する。符号化部602は、ノンベースビュー画像を符号化し、ノンベースビュー画像符号化ストリームを生成する。多重化部603は、符号化部601において生成されたベースビュー画像符号化ストリームと、符号化部602において生成されたノンベースビュー画像符号化ストリームとを多重化し、多視点画像符号化ストリームを生成する。
この多視点画像符号化装置600の符号化部601および符号化部602に対して、画像符号化装置11(図1)を適用することができる。この場合、多視点画像符号化装置600は、符号化部601が設定したデブロッキングフィルタパラメータと、符号化部602が設定したデブロッキングフィルタパラメータとを設定して伝送させる。
なお、上述したように符号化部601が設定したデブロッキングフィルタパラメータを、符号化部601および符号化部602で共有して用いるように設定して伝送させるようにしてもよい。逆に、符号化部602がまとめて設定したデブロッキングフィルタパラメータを、符号化部601および符号化部602で共有して用いるように設定して伝送させるようにしてもよい。
[多視点画像復号装置]
図55は、上述した多視点画像復号を行う多視点画像復号装置を示す図である。図55に示されるように、多視点画像復号装置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)が復号したデブロッキングフィルタパラメータを用いて処理が行われる。
<10.第8の実施の形態(階層画像符号化・階層画像復号装置)>
[階層画像点符号化・階層画像復号への適用]
上述した一連の処理は、階層画像符号化・階層画像復号に適用することができる。図56は、多視点画像符号化方式の一例を示す。
図56に示されるように、階層画像は、複数の階層(解像度)の画像を含み、その複数の解像度のうちの所定の1つの階層の画像が、ベースレイヤの画像に指定されている。ベースレイヤの画像以外の各階層の画像は、ノンベースレイヤの画像として扱われる。
図56のような階層画像符号化(空間スケーラビリティ)を行う場合、各レイヤ(同一レイヤ)において、デブロッキングフィルタパラメータを設定することができる。また、各レイヤ(異なるレイヤ)において、他のレイヤで設定されたデブロッキングフィルタパラメータを共有することができる。
この場合、ベースレイヤにおいて設定されたデブロッキングフィルタパラメータが、少なくとも1つのノンベースレイヤで用いられる。あるいは、例えば、ノンベースレイヤ(layer _id=i)において設定されたデブロッキングフィルタパラメータが、ベースレイヤおよびノンベースレイヤ(layer_id=j)の少なくともどちらか一方で用いられる。
これにより、デブロッキング処理において、適切にフィルタリングがかかるようにすることができる。すなわち、ブロックノイズを抑制することができる。
[階層画像符号化装置]
図57は、上述した階層画像符号化を行う階層画像符号化装置を示す図である。図57に示されるように、階層画像符号化装置620は、符号化部621、符号化部622、および多重化部623を有する。
符号化部621は、ベースレイヤ画像を符号化し、ベースレイヤ画像符号化ストリームを生成する。符号化部622は、ノンベースレイヤ画像を符号化し、ノンベースレイヤ画像符号化ストリームを生成する。多重化部623は、符号化部621において生成されたベースレイヤ画像符号化ストリームと、符号化部622において生成されたノンベースレイヤ画像符号化ストリームとを多重化し、階層画像符号化ストリームを生成する。
この階層画像符号化装置620の符号化部621および符号化部622に対して、画像符号化装置11(図1)を適用することができる。この場合、階層画像符号化装置620は、符号化部621が設定したデブロッキングフィルタパラメータと、符号化部602が設定したデブロッキングフィルタパラメータとを設定して伝送させる。
なお、上述したように符号化部621が設定したデブロッキングフィルタパラメータを、符号化部621および符号化部622で共有して用いるように設定して伝送させるようにしてもよい。逆に、符号化部622が設定したデブロッキングフィルタパラメータを、符号化部621および符号化部622で共有して用いるように設定して伝送させるようにしてもよい。
[階層画像復号装置]
図58は、上述した階層画像復号を行う階層画像復号装置を示す図である。図58に示されるように、階層画像復号装置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)が復号したデブロッキングフィルタパラメータを用いて処理が行われる。
<11.第9の実施の形態>
[コンピュータの構成例]
上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどが含まれる。
図59は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
コンピュータ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は、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどのリムーバブルメディア821を駆動する。
以上のように構成されるコンピュータでは、CPU801が、例えば、記憶部808に記憶されているプログラムを、入出力インタフェース805及びバス804を介して、RAM803にロードして実行することにより、上述した一連の処理が行われる。
コンピュータ800(CPU801)が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア821に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することができる。
コンピュータでは、プログラムは、リムーバブルメディア821をドライブ810に装着することにより、入出力インタフェース805を介して、記憶部808にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部809で受信し、記憶部808にインストールすることができる。その他、プログラムは、ROM802や記憶部808に、あらかじめインストールしておくことができる。
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
また、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
また、本明細書において、システムとは、複数のデバイス(装置)により構成される装置全体を表すものである。
また、以上において、1つの装置(または処理部)として説明した構成を分割し、複数の装置(または処理部)として構成するようにしてもよい。逆に、以上において複数の装置(または処理部)として説明した構成をまとめて1つの装置(または処理部)として構成されるようにしてもよい。また、各装置(または各処理部)の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置(または処理部)の構成の一部を他の装置(または他の処理部)の構成に含めるようにしてもよい。つまり、本技術は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
上述した実施形態に係る画像符号化装置及び画像復号装置は、衛星放送、ケーブルTVなどの有線放送、インターネット上での配信、及びセルラー通信による端末への配信などにおける送信機若しくは受信機、光ディスク、磁気ディスク及びフラッシュメモリなどの媒体に画像を記録する記録装置、又は、これら記憶媒体から画像を再生する再生装置などの様々な電子機器に応用され得る。以下、4つの応用例について説明する。
<12.応用例>
[第1の応用例:テレビジョン受像機]
図60は、上述した実施形態を適用したテレビジョン装置の概略的な構成の一例を示している。テレビジョン装置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の応用例:携帯電話機]
図61は、上述した実施形態を適用した携帯電話機の概略的な構成の一例を示している。携帯電話機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(Universal Serial Bus)メモリ、又はメモリカードなどの外部装着型の記憶媒体であってもよい。
また、撮影モードにおいて、例えば、カメラ部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の応用例:記録再生装置]
図62は、上述した実施形態を適用した記録再生装置の概略的な構成の一例を示している。記録再生装置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の応用例:撮像装置]
図63は、上述した実施形態を適用した撮像装置の概略的な構成の一例を示している。撮像装置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での画像の符号化及び復号に際して、ブロックノイズを抑制することができる。
<13.スケーラブル符号化の応用例>
[第1のシステム]
次に、図56乃至図58を参照して上述したスケーラブル符号化(階層符号化)されたスケーラブル符号化データの具体的な利用例について説明する。スケーラブル符号化は、例えば、図64に示される例のように、伝送するデータの選択のために利用される。
図64に示されるデータ伝送システム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は、スケーラブル符号化された符号化データを端末装置に伝送する際、端末装置の能力や通信環境等に応じて、適切なレイヤを選択して伝送するシステムであれば、任意のシステムに適用することができる。
そして、以上のような図64のようなデータ伝送システム1000においても、図56乃至図58を参照して上述した階層符号化・階層復号への適用と同様に本技術を適用することにより、図56乃至図58を参照して上述した効果と同様の効果を得ることができる。
[第2のシステム]
また、スケーラブル符号化は、例えば、図65に示される例のように、複数の通信媒体を介する伝送のために利用される。
図65に示されるデータ伝送システム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は、スケーラブル符号化された符号化データを、レイヤを単位として複数に分割し、複数の回線を介して伝送するシステムであれば、任意のシステムに適用することができる。
そして、以上のような図65のデータ伝送システム1100においても、図56乃至図58を参照して上述した階層符号化・階層復号への適用と同様に本技術を適用することにより、図56乃至図58を参照して上述した効果と同様の効果を得ることができる。
[第3のシステム]
また、スケーラブル符号化は、例えば、図66に示される例のように、符号化データの記憶に利用される。
図66に示される撮像システム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の用途は任意であり、監視カメラに限定されない。
そして、以上のような図66の撮像システム1200においても、図56乃至図58を参照して上述した階層符号化・階層復号への適用と同様に本技術を適用することにより、図56乃至図58を参照して上述した効果と同様の効果を得ることができる。
なお、本明細書では、デブロッキングフィルタのパラメータや適応オフセットフィルタのパラメータ等の各種情報が、符号化ストリームに多重化されて、符号化側から復号側へ伝送される例について説明した。しかしながら、これら情報を伝送する手法はかかる例に限定されない。例えば、これら情報は、符号化ビットストリームに多重化されることなく、符号化ビットストリームと関連付けられた別個のデータとして伝送され又は記録されてもよい。ここで、「関連付ける」という用語は、ビットストリームに含まれる画像(スライス若しくはブロックなど、画像の一部であってもよい)と当該画像に対応する情報とを復号時にリンクさせ得るようにすることを意味する。即ち、情報は、画像(又はビットストリーム)とは別の伝送路上で伝送されてもよい。また、情報は、画像(又はビットストリーム)とは別の記録媒体(又は同一の記録媒体の別の記録エリア)に記録されてもよい。さらに、情報と画像(又はビットストリーム)とは、例えば、複数フレーム、1フレーム、又はフレーム内の一部分などの任意の単位で互いに関連付けられてよい。
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示はかかる例に限定されない。本開示の属する技術の分野における通常の知識を有する者であれば、請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
なお、本技術は以下のような構成も取ることができる。
(1) 符号化ストリームを復号処理して、画像を生成する復号部と、
前記復号部により生成された画像のブロック境界を対象として、フィルタを制御するフィルタパラメータのレンジがフィルタの強度を上げるように拡張されたパラメータを用いて、前記フィルタのフィルタ処理を行うフィルタ部と
を備える画像処理装置。
(2) 前記フィルタパラメータのレンジは、既存のレンジと整合性をとった状態で前記フィルタのフィルタ強度を上げるように拡張されている
前記(1)に記載の画像処理装置。
(3) 前記フィルタパラメータのレンジは、既存部分と拡張部分とで連続性を持たすように調整されている
前記(1)または(2)に記載の画像処理装置。
(4) 前記フィルタパラメータのレンジは、新たなフィルタパラメータを追加することにより拡張されている
前記(1)に記載の画像処理装置。
(5) 前記フィルタパラメータは、前記フィルタ処理を行うかを判定する際に用いられる閾値である
前記(1)乃至(4)のいずれかに記載の画像処理装置。
(6) 前記フィルタは、デブロッキングフィルタであり、
前記フィルタパラメータは、前記デブロッキングフィルタの要否判定または強度選択判定に用いられるパラメータである
前記(1)乃至(5)のいずれかに記載の画像処理装置。
(7) 前記フィルタパラメータのレンジは、線形で拡張されている
前記(6)に記載の画像処理装置。
(8) 前記線形の傾きは、調整可能である
前記(7)に記載の画像処理装置。
(9) 前記フィルタパラメータのレンジは、曲線で拡張されている
前記(1)乃至(6)のいずれかに記載の画像処理装置。
(10) 前記フィルタは、デブロッキングフィルタであり、
前記フィルタパラメータは、前記デブロッキングフィルタの強度選択判定または前記フィルタのフィルタ処理を行う際のクリップ処理に用いられるパラメータである
前記(1)乃至(5)のいずれかに記載の画像処理装置。
(11) 前記フィルタ部は、前記復号部により生成された画像のブロック境界を対象として、前記フィルタパラメータを表す計算式の傾きを用いてテーブルを更新することによって拡張されたパラメータを用いて、前記フィルタのフィルタ処理を行う
前記(1)乃至(5)のいずれかに記載の画像処理装置。
(12) 前記フィルタ部は、前記復号部により生成された画像のブロック境界を対象として、前記フィルタパラメータのオフセットを前記フィルタパラメータに加えることでによって拡張されたパラメータを用いて、前記フィルタのフィルタ処理を行う
前記(1)乃至(5)のいずれかに記載の画像処理装置。
(13) 前記フィルタパラメータは、共通のオフセットを用いる2種類のパラメータからなり、
前記共通のオフセットを用いて、前記2種類のパラメータを求めるパラメータ計算部
をさらに備える前記(1)乃至(5)のいずれかに記載の画像処理装置。
(14) 前記フィルタパラメータは、2種類のパラメータからなり、
第1のパラメータのオフセットを用いて、第1のフィルタパラメータを求める第1のパラメータ計算部と、
前記第1のパラメータのオフセットと、前記第1のフィルタパラメータと第2のフィルタパラメータとの差分と、第2のフィルタパラメータのオフセットを用いて、前記第2のフィルタパラメータを求める第2のパラメータ計算部と
をさらに備える前記(1)乃至(5)のいずれかに記載の画像処理装置。
(15) 前記フィルタは、デブロッキングフィルタである
前記(1)乃至(14)のいずれかに記載の画像処理装置。
(16) 前記フィルタは、適応オフセットフィルタである
前記(1)に記載の画像処理装置。
(17) 前記復号部は、階層構造を有する処理単位で、前記符号化ストリームを復号処理する
前記(1)乃至(16)のいずれかに記載の画像処理装置。
(18) 画像処理装置が、
符号化ストリームを復号処理して、画像を生成し、
生成された画像のブロック境界を対象として、フィルタを制御するフィルタパラメータのレンジがフィルタの強度を上げるように拡張されたパラメータを用いて、前記フィルタのフィルタ処理を行う
画像処理方法。
(19) ローカル復号処理された画像のブロック境界を対象として、フィルタを制御するフィルタパラメータのレンジがフィルタの強度を上げるように拡張されたパラメータを用いて、前記フィルタのフィルタ処理を行うフィルタ部と、
前記フィルタ部により前記フィルタのフィルタ処理が行われた画像を用いて、前記画像を符号化し、符号化ストリームを生成する符号化部と、
前記符号化部により生成された符号化ストリームを伝送する伝送部と
を備える画像処理装置。
(20) 画像処理装置が、
ローカル復号処理された画像を対象として、フィルタを制御するフィルタパラメータのレンジがフィルタの強度を上げるように拡張されたパラメータを用いて、前記フィルタのフィルタ処理を行い、
前記フィルタのフィルタ処理が行われた画像を用いて、前記画像を符号化し、符号化ストリームを生成し、
生成された符号化ストリームを伝送する
画像処理方法。