(本発明の基礎となった知見/本発明の課題の詳細)
ハイブリッド動画像符号化処理において、動画像符号化装置は、一般的に、予測処理を実行して予測画像データを生成し、入力画像データと予測画像データとの残差画像データに対し、変換処理または量子化処理またはその両方を実行する。予測処理では、一般的に、空間予測や時間予測が用いられる。空間予測では、既に符号化済みのブロックのうち、空間的に近いブロックを用いて予測が行われる。時間予測では、既に符号化済みのブロックのうち、時間的に近いブロックを用いて予測が行われる。変換処理では、予測残差データ(予測残差ブロック)が空間(画素)領域から周波数領域に変換され、変換係数が生成される。この変換の目的は、入力ブロックの相関を低減することである。量子化処理では、変換係数の量子化が行われ、量子化係数が生成される。量子化は、不可逆的圧縮により行われる。動画像符号化装置は、一般的に、量子化係数に対しエントロピー符号化を行い、既に圧縮されている量子化係数をさらに圧縮する(可逆的に圧縮する)ことにより、符号化ビデオ信号を生成する。さらに、動画像符号化装置は、符号化ビットストリームを復号するために必要な復号制御情報を符号化する。この復号制御情報は、例えば、空間予測および/または時間予測や量子化量等に関する情報である。動画像符号化装置は、符号化ビデオ信号と復号制御情報を含む符号化ビットストリームを生成する。
[比較例における動画像符号化装置の構成]
図1は、H.264/MPEG−4 AVCまたはHEVCを用いた動画像符号化装置の構成例を示すブロック図である。
図1に示すように、動画像符号化装置100は、減算部105、変換部110、量子化部120、逆量子化/逆変換部130、加算部140、デブロッキングフィルタ処理部150、サンプル適応オフセット処理部155、適応ループフィルタ処理部165、フレームメモリ170、予測部180およびエントロピー符号化部190を備えている。
図1において、減算器105は、ブロックごとに、入力信号s0に含まれる符号化対象ブロックの入力画像データから、符号化対象ブロックに対応する予測画像データ(予測画像信号s5)を減算することにより予測誤差データ(予測誤差信号e0)を生成する。
変換部110は、生成された予測誤差データ(予測誤差信号e0)に対し、画像領域から周波数領域への変換を行う。
量子化部120は、周波数領域に変換された予測誤差データ(予測誤差信号e1)に対し、量子化処理を行い、量子化係数を算出する。量子化部120は、ここでは、2次元離散コサイン変換(DCT)を用いて予測誤差データを変換する。DCTにより算出される量子化係数は、低周波数成分に集中する傾向がある。なお、量子化部120は、整数変換等を用いて予測誤差データを変換しても良い。
逆量子化/逆変換部130は、量子化部120によって量子化処理された予測誤差データ(予測誤差信号e2)に対し、逆量子化処理を行い、さらに、周波数領域から画像領域に変換する逆変換処理を行う。なお、予測誤差信号e3は、量子化処理における量子化ノイズとも呼ばれる量子化誤差の影響で、元の予測誤差信号e0とは異なる。
加算部140は、符号化対象ブロックごとに、予測画像データ(予測画像信号s5)と、逆量子化/逆変換部130によって逆量子化処理および逆変換処理が行われた予測誤差データ(予測誤差信号e3)とを加算することにより、再構成画像データ(再構成画像信号s1)を生成する。
デブロッキングフィルタ処理部150は、再構成画像データ(再構成画像信号s1)に対するフィルタリング処理を行う。デブロッキングフィルタ処理部150は、ここでは、CUエッジ、PUエッジ、およびTUエッジに対してフィルタリング処理を実行する。CUエッジは、隣接する2つの符号化単位CUの境界において、量子化処理におけるブロックノイズ等により生じるエッジを意味する。同様に、2つの予測単位(PU)の境界におけるエッジをPUエッジ、2つの変換単位(TU)の境界におけるエッジをTUエッジと称する。
デブロッキングフィルタ処理部150は、図示しないが、強度の異なる複数のデブロッキングフィルタと、複数のデブロッキングフィルタを制御するフィルタ制御部とを備える。ここでは、デブロッキングフィルタ処理部150は、狭帯域および広帯域の2種類のデブロッキングフィルタを備える場合について説明する。例えば、H.264/MPEG−4AVCでは、ブロックノイズが大きい場合、デブロッキングフィルタとして、強い(狭帯域の)ローパスフィルタが用いられる。一方で、ブロックノイズが小さい場合、デブロッキングフィルタとして、弱い(広帯域の)ローパスフィルタが用いられる。ローパスフィルタの強度は、予測信号s5および量子化された予測誤差信号e2により決まる。デブロッキングフィルタは一般的にブロックエッジを滑らかにするため、復号画像の主観的品質は向上する。さらに、フィルタリング処理後の再構成画像データ(再構成画像信号s2)は、予測部180における動き補償による予測画像データの生成に用いられるため、予測画像データの予測誤差が低減される。よって、符号化の効率が向上する。
なお、フィルタリング処理の詳細については、後述する。
サンプル適応オフセット処理部155は、デブロッキングフィルタ処理部150によりフィルタリング処理された再構成画像データ(再構成画像信号s2)に対し、画素単位で、元の画素値に近づけるためのオフセット値を与える処理を行う。
適応ループフィルタ処理部165は、適応ループフィルタを備え、サンプル適応オフセット処理部155から出力された再構成画像データ(再構成画像信号s3)に対し、圧縮により生じた画像の歪みを補償する処理を行う。適応ループフィルタとしては、一般的に、再構成画像信号s1と入力画像信号S0との平均二乗誤差が最小となるように決定されたフィルタ係数を有するウィナーフィルタが用いられる。
サンプル適応オフセット処理部155および適応ループフィルタ処理部165により、画素単位で元の画像に対する適応度を向上させることができ、品質を向上させることが可能になる。
フレームメモリ170には、適応ループフィルタが適用された再構成画像データ(再構成画像信号s4)がフレーム単位で保存される。
予測部180は、図示しないが、空間予測(イントラ予測)を用いた予測画像の生成を行うイントラ予測部と、時間予測(インター予測)を用いた予測画像の生成を行うインター予測部とを備えている。予測部180は、フレーム毎またはブロック毎に予測タイプを変更することができる。イントラ予測部は、フレームメモリ170に保存されているブロック単位の再構成画像データを用いてイントラ予測を行うことにより、符号化対象ブロックのイントラ予測画像データを生成する。インター予測部は、フレームメモリ170に保存されているフレーム単位の再構成画像データと、動き検出等により導出した動きベクトルとを用いてインター予測を行うことにより、符号化対象ブロックのインター予測画像データを生成する。なお、動きベクトルは、1/2ピクセルや1/4ピクセル等の空間的なサブピクセルの解像度で決定してもよい。
エントロピー符号化部190は、予測誤差データ(予測誤差信号e2)に対し、可変長符号化処理を行うことで符号化ビットストリームを生成する。可変長符号化処理では、例えば、ランレングス符号を用いて符号化する。可変長符号化処理により、データ量はさらに縮小される。
[比較例におけるデブロッキングフィルタリング方法]
以下、デブロッキングフィルタを用いたフィルタリング処理の詳細について、図2A〜図5を基に説明する。
なお、デブロッキングフィルタを用いたフィルタリング処理には、フィルタの設定を行う制御処理、および、制御処理の設定に従って符号化対象ブロックCUに対する処理を実行するフィルタリング処理が含まれる。制御処理には、(1)フィルタリング処理の実行可否の判定処理、および、(2)使用するデブロッキングフィルタの選択処理が含まれる。(2)選択処理には、デブロッキングフィルタの動作を規定する各パラメータの算出、例えば、フィルタ処理の制限範囲を示すtcの算出等が含まれる。
[(1)フィルタリング処理の実行可否の判定処理]
デブロッキングフィルタを用いたフィルタリング処理は、ブロックノイズによるブロック境界のエッジに対して適用し、ブロックノイズではない入力画像のエッジには適用しないことが望ましい。これは、例えば、ブロックノイズではない入力画像のエッジにデブロッキングフィルタを用いたフィルタリング処理を適用すると、画像が不必要に滑らかになったり、画像の歪みが生じたりする可能性があるからである。また、ブロックノイズによるブロック境界のエッジに対しデブロッキングフィルタを用いたフィルタリング処理が実行されないと、ブロックノイズが残る場合がある。
このため、デブロッキングフィルタを用いたフィルタリング処理では、量子化処理等により生じたブロックノイズによるブロック境界のエッジと、ブロックノイズではない入力画像のエッジとを正確に判定することが重要である。
以下、フィルタリング処理の実行可否の判定処理について、図2A〜図3Bに基づいて説明する。
なお、フィルタリング処理の実行可否の判定方法には、複数の判定方法があるが、ここでは、ブロック境界の両側における画素値に基づいて判定を行う場合について説明する。
図2Aは、水平方向に隣接する2つの符号化ブロック単位CUの境界において、フィルタリング処理の実行可否の判定処理で利用する画素を示す図である。図2Bは、垂直方向に隣接する2つの符号化ブロック単位CUの境界において、フィルタリング処理の実行可否の判定処理で利用する画素を示す図である。なお、図2Aおよび図2Bにおいて、ブロック340は処理対象ブロックであり、隣接ブロック310、320、および330は、処理済み(符号化済み、または、復号済み)ブロックである。また、図2Aでは、行単位で、水平方向に一列に並んだ画素で構成される画素行360が設定されている。画素行360は、境界の両側の3画素、合計6画素で構成されている。同様に、図2Bでは、列単位で、垂直方向に一列に並んだ画素で構成される画素列370が設定されている。画素列370は、境界の両側の3画素、合計6画素で構成されている。実行可否の判定処理は、画素列単位で実行される。
図3Aは、図2Aに示す画素行360に含まれる各画素の画素値の例を示すグラフである。また、図3Bは、図2Aに示す隣接ブロック330(図3Aおよび図3BではブロックA)と処理対象ブロック340(図3Aおよび図3BではブロックB)のより詳細な例を示す図である。図3Aに示すライン410(行410)は、ブロックAとブロックBとの境界を示す。図3Bにおいて、画素prcはブロックAに含まれる画素である。画素qrcはブロックBに含まれる画素である。なお、rは、列を特定するためのインデックスであり、ライン410側から順に、0,1,・・・となっている。また、cは、行を特定するためのインデックスであり、上側から順に、0,1,・・・となっている。
例えば、H.264/MPEG−4AVCでは、以下の方法で実行可否の判定処理を行う。H.264/MPEG−4AVCでは、隣接ブロックAおよび処理対象ブロックBにおける一次微分(一次導関数)の絶対値を評価する(例えば、特許文献1参照)。ここでは、図2Aに示す画素行360を用いた判定について説明する。また、ここでの判定は、画素行単位で全ての画素行について行われる。画素p0およびq0は、以下の式1〜式3で示される条件が満たされる場合に、フィルタリング処理を実行すると判定される。
ここで、一般的には、βH264(QPNew)<αH264(QPNew)である。
また、上記の3条件に加えて、以下の式4で示される条件も満たされる場合に、画素p1はフィルタリングされる。
さらに、式1〜式3で示される3条件に加えて、以下の式5で示される条件も満たされる場合に、画素q1はフィルタリングされる。
式1〜式5に示される条件は、第一ブロック内の一次微分と第二ブロック内の一次微分の評価に相当する。式1〜式5において、QPは量子化処理において適用された量子化量(量子化ステップのサイズ)を示す量子化パラメータであり、βおよびαはスカラー定数である。特に、QPNewは、以下の式6で示されるように、第一ブロックAおよび第二ブロックBそれぞれに用いた量子化パラメータQPAおよびQPBに基づいて導出した量子化パラメータである。
ここで、「>>n」は、nビット(上記式においては1ビット)分、右にシフトすることを示す。
上述したように、H.264/MPEG−4AVCでは、実行可否の判定を、全ての画素行360を用いて実行するが、これに限るものではない。
例えば、HEVCでは、実行可否の判定を、画素行360のうちの一部の画素行360を用い、ブロック単位で行う(非特許文献1参照)。
以下、HEVCにおけるフィルタリング処理の実行可否の判定処理について、図3Aおよび図3Bを基に説明する。HEVCでは、隣接ブロックAおよび処理対象ブロックBにおける二次微分(二次導関数)の絶対値を評価する。なお、図3Aおよび図3Bでは、上から3行目および6行目の2つの画素行430を用いて、ブロック単位で実行可否の判定を行う。
具体的には、先ず、以下の式7を用いて、実行可否の判定の為の評価値dpおよび評価値dqを算出する。
ここで、評価値dpおよび評価値dqは、第一ブロック内の二次微分と第二ブロック内の二次微分の評価結果に相当する。以下の式8に示される条件が満たされる場合、図3Bに示される8つの画素行の全てに対してフィルタリング処理を実行すると判定する。
なお、上記の条件が満たされない場合、フィルタリング処理は実行されない。
[(2)使用するデブロッキングフィルタの選択処理]
上述した判定処理により、フィルタリング処理を実行すると判定された場合、強度の異なる複数のデブロッキングフィルタから、使用するデブロッキングフィルタを選択する選択処理を実行する。
当該比較例では、境界強度BSに基づいて使用するデブロッキングフィルタを選択する場合について説明する。
図4Aは、フィルタリング処理の処理手順を示すフローチャートである。また、図4Bは、水平方向に隣接する2つのブロックBPとBQとを示している。図4Cは、垂直方向に隣接する2つのブロックBPとBQとを示している。
ステップS1000では、図1に示すデブロッキングフィルタ処理部150のフィルタ制御部は、境界強度BSを第一パラメータとして算出する。境界強度BSの値は、0以上の整数である。境界強度BSの算出手順の詳細は、後述する。
ステップS1010では、フィルタ制御部は、ステップS1000で算出された境界強度BSが正数であるか否かを判定する。ステップS1010においてBSが正数ではない(BS=0)と判断された場合(S1010のNo)、フィルタ制御部は、フィルタリング処理を実行せずに、処理を終了する。
一方、ステップS1010においてBSが整数であると判定された場合(S1010のYes)、ステップS1020において、フィルタ制御部により、デブロッキングフィルタの出力範囲を規定する閾値tcと、使用するデブロッキングフィルタを選択するための閾値βとが算出される。デブロッキングフィルタの出力範囲を規定する閾値tcとデブロッキングフィルタを選択するための閾値βの算出方法の詳細は、後述する。
ステップS1030では、フィルタ制御部は、閾値βに基づいて、デブロッキングフィルタを選択する。この選択には、デブロッキングフィルタを選択しないことも含まれる。具体的には、フィルタ制御部は、閾値βに基づいて、強いフィルタ、弱いフィルタ、または、フィルタなしの何れかを選択する。
フィルタ制御部は、ステップS1030で強いフィルタが選択された場合、処理対象のブロック境界に対し、狭帯域のデブロッキングフィルタを用いてフィルタリングする(S1032)。一方、フィルタ制御部は、ステップS1030で弱いフィルタが選択された場合、処理対象のブロック境界に対し、広帯域のデブロッキングフィルタを用いてフィルタリングする(S1034)。一方、フィルタ制御部は、ステップS1030でフィルタなしが選択された場合、フィルタリングを行わない(S1036)。
フィルタリング処理を実行することにより、再構成画像データのブロック境界のエッジを滑らかにすることができ、再構成画像の画質を向上させることができる。
上述したデブロッキングフィルタの選択処理で実行される各種パラメータの算出処理についてより詳細に説明する。
先ず、境界強度BSの算出について説明する。
図4AのステップS1000の境界強度BSの算出方法について、図5を基に説明する。図5は、ステップS1000の境界強度BSの算出処理の処理手順を示すフローチャートである。
なお、境界強度BSの値とブロックノイズの大きさとの間には相関性があり、一般的に、境界強度BSが強ければ強いほど、ブロックノイズは大きくなる。図5のフローチャートでは、境界強度BSの判定条件として、(i)ブロックがイントラ符号化画像であるか否か、(ii)CUエッジであるか否か、(iii)cbfフラグ(係数を持つか否かを示すフラグ)が0であるか否か、(iv)境界に接する2つのブロックの参照ピクチャが同じであるか否か、(v)画素値の差分絶対値が所定の判定値より大きいか否かが設定されている。なお、境界強度BSの設定における判定条件は、符号化対象ブロックの動き補償予測に用いられる動きベクトルと隣接ブロックの動き補償予測に用いられた動きベクトルとが同じであるか否か等、他の判定条件を用いてもよい。
ステップS210では、デブロッキングフィルタ処理部150(図1、図6)のフィルタ制御部153(図6)は、ブロックBPとBQの少なくとも一方がイントラ符号化画像であるか否かを判定する。イントラ符号化画像(Iピクチャ)は、一般的に、インター符号化画像等に比べ、量子化処理の際の量子化誤差が大きくなる傾向がある。このため、ブロックBPとBQの少なくとも一方がイントラ符号化画像である場合は、境界強度として比較的大きい値を設定する。
ブロックBPおよびBQの少なくとも一方がイントラ符号化画像であると判定した場合(ステップS210のYES)、ステップS212において、フィルタ制御部153は、現在処理中のブロック境界が、符号化単位CUの境界であるか否か(CUエッジであるか否か)を判定する。
現在処理中のブロック境界がCUエッジであると判定された場合(ステップS212のYES)、境界強度BSの値は、4に設定される(ステップS216)。一方、現在処理中のブロック境界がCUエッジではないと判定された場合(ステップS212のNO)、例えば、現在処理中のブロック境界がPUエッジやTUエッジの場合、境界強度BSの値は、3に設定される(S214)。
ステップS210においてブロックBPおよびBQの両方がイントラ符号化画像ではないと判定された場合(S210のNO)、フラグcbf−Pまたはフラグcbf−Qの何れか一方の値が0でないか否かが判定される(S220)。ここで、フラグcbf−Pは、ブロックBPが係数を有するか否かを示すフラグであり、値が0ではない場合、係数があることを示し、値が0の場合、係数がないことを示している。同様に、フラグcbf−Qは、ブロックBQが係数を有するか否かを示すフラグである。
フラグcbf−Pおよびフラグcbf−Qの両方が0であると判定された場合(S220でYES)、ステップS222において、境界強度BSの値は2に設定される。
一方、フラグcbf−Pまたはフラグcbf−Qの何れか一方が0ではないと判定された場合(S220でNO)、ブロックBPの参照ピクチャインデックスRefIdx−Pと、ブロックBQの参照ピクチャインデックスRefIdx−Qとが互いに異なるか否かが判定される(S230)。なお、参照ピクチャインデックスRefIdx−Pは、ブロックBPの予測処理において参照されるピクチャを示すインデックスである。参照ピクチャインデックスRefIdx−Qは、ブロックBQの予測処理において参照されるピクチャを示すインデックスである。
参照ピクチャインデックスRefIdx−Pと参照ピクチャインデックスRefIdx−Qとが異なると判定された場合(S230のYES)、境界強度BSの値は、1に設定される。
一方、参照ピクチャインデックスRefIdx−Pと参照ピクチャインデックスRefIdx−Qとが同じであると判定された場合(S230のNO)、パラメータAbsHorおよびAbsVerの何れか一方が3より大きいか否かが判定される(S240)。ここで、パラメータAbsHorは、ブロックBPの予測処理で用いられる動きベクトルとブロックBQの予測処理で用いられる動きベクトルとの水平成分の差の絶対値で表される。パラメータAbsVerは、ブロックBPの予測処理で用いられる動きベクトルとブロックBQの予測処理で用いられる動きベクトルとの垂直成分の差の絶対値で表される。なお、ステップS240では、パラメータAbsHorおよびAbsVerの判定値として3を用いているが、これに限るものではない。
パラメータAbsHorおよびAbsVerの何れか一方が3より大きいと判定された場合(S240のYES)、境界強度BSの値は、1に設定される(S242)。
パラメータAbsHorおよびAbsVerの両方が3以下であると判定された場合(S240のNO)、境界強度BSは0に設定される(S244)。
デブロッキングフィルタ処理部150は、境界強度BSの値が大きいほど、強いフィルタを用いてフィルタリング処理を行う。境界強度BSの値が0の場合、デブロッキングフィルタ処理部150は、フィルタリング処理を実行しない。より強度の強いデブロッキングフィルタ(「強いフィルタ」)ほど、境界に隣接する画素の画素値に対して、より実質的な修正を行う。
次に、パラメータtcの算出について説明する。
図4AのステップS1020のデブロッキングフィルタの閾値tcの算出方法について、説明する。
デブロッキングフィルタの閾値tcの算出方法には、例えば、AVCでは、以下の式9に示すように、量子化パラメータQPと境界強度BS値とを指標とする2次元の符号化テーブルを用いてtcを導出する方法がある。
しかしながら、この方法には、2次元の符号化テーブルのデータ量が多いため、2次元の符号化テーブルを記憶するために、大容量メモリが必要になるという問題がある。また、大容量メモリから大量のデータの読み出しを行うため、処理効率の向上を図ることは困難である。
デブロッキングフィルタの閾値tcの他の算出方法として、例えば、HEVC(HMバージョン1.0から開始)では、可変tc_offsetを指標とする1次元の符号化テーブルを用いて閾値tcを導出する方法がある。パラメータtc_offsetは、図4AのステップS1000で導出した境界強度BSの値に基づいて算出する。フィルタ制御部は、境界強度BSが2以下の場合はtc_offsetに0を設定し、強化強度BSが2より大きい場合はtc_offsetに2を設定する。そして、以下の式10により、パラメータtcを決定する。
ここで、境界強度BSが2より大きいときは、tc_offsetの値は2に設定され、境界強度BSが2以下のときは、tc_offsetの値は0に設定されている。関数Tctable[ ]は、表形式状の関数であり、[ ]内の引数に基づいてtcが導かれる。このテーブルについては、上記で引用した非特許文献3で定義されている。
[課題の詳細]
以上、比較例におけるフィルタリング処理について説明した。
上述したように、デブロッキングフィルタによるフィルタリング処理において、ブロックノイズに対する適応度をさらに高めることが求められている。ブロックノイズに対する適応度をさらに高めるためには、例えば、複数の異なるデブロッキングフィルタから、フィルタリング処理に用いるデブロッキングフィルタを適切に選択することが望ましい。
このような問題を解決するために、実施の形態に係るデブロッキングフィルタリング方法(画像処理方法)は、フィルタ強度の異なる複数のデブロッキングフィルタを用いて画像ブロックに対するフィルタリング処理を行う画像処理方法であって、隣接する2つの画像ブロック間の境界強度を示す第一パラメータを算出する第一パラメータ算出ステップと、前記第一パラメータ及び量子化パラメータに基づき、前記デブロッキングフィルタの制限値を示す第二パラメータを算出する第二パラメータ算出ステップと、前記第二パラメータに基づき決定される1または複数の閾値を用いて、前記複数のデブロッキングフィルタから前記フィルタリング処理で用いるデブロッキングフィルタを選択する選択ステップとを含む。
本構成の画像処理方法によれば、デブロッキングフィルタの選択に第二パラメータTcを用いるので、デブロッキングフィルタを用いたフィルタリング処理におけるブロックノイズに対する適応度をさらに高めることが可能になる。これにより、フィルタリング処理後の画像の画質をより高めることが可能になる。
また、例えば、前記第二パラメータ算出ステップでは、前記第二パラメータは、前記第一パラメータと前記量子化パラメータとの線形和を用いて算出されてもよい。
上述したように、HEVCの方法では、可変tc_offsetの算出や、一次元の符号化テーブルの参照等、処理が複雑になる傾向がある。このため、デブロッキングフィルタの選択処理において利用するパラメータの算出には、大きなメモリ空間を必要とすることなく、中間ステップや中間パラメータをできる限り削減して、処理効率を向上させることが望まれている。
本構成の画像処理方法によれば、第二パラメータTcを、第一パラメータ(境界強度BS)と量子化パラメータQPとの線形和に基づいて規定したので、第二パラメータTcを簡素な演算で導出可能になる。これにより、大きなメモリ空間が必要なくなる。さらに、本構成のデブロッキングフィルタリング方法によれば、第二パラメータTcを、第一パラメータ(境界強度BS)と量子化パラメータQPとの線形和に基づいて規定したので、中間ステップや中間パラメータの増大を低減できる。
さらに、このように簡素な演算で導出された第二パラメータTcを用いてデブロッキングフィルタの選択を行えば、選択に係る処理の処理量を低減でき、処理効率を向上させることが可能になる。
さらに、本構成の画像処理方法によれば、第二パラメータTcを、第一パラメータ(境界強度BS)と量子化パラメータQPとの線形和に基づいて規定したので、フィルタリング処理後の画像の画質を向上させることが可能になる。
また、例えば、前記第二パラメータ算出ステップでは、前記第二パラメータは、前記第一パラメータの値が大きいほど値が大きくなるように算出されてもよい。さらに、例えば、前記第二パラメータ算出ステップでは、前記第二パラメータは、前記量子化パラメータの値が大きいほど値が大きくなるように算出されてもよい。
上記構成の画像処理方法によれば、境界強度BSに応じて第二パラメータTc(例えば、ループフィルタの閾値)を変化させるので、フィルタリング処理後の画像の画質を向上させることが可能になる。
例えば、図5に示す比較例では、BS=1およびBS=2の場合の何れも、例えば、Tc=0に設定される。つまり、例えば、境界強度BSによらず、ループフィルタの閾値が同じ値に設定される。
これに対し、上記構成の画像処理方法では、例えば、BS=2の場合はTcに1を設定し、BS=1の場合はTcに0を設定する等、境界強度BSに応じて第二パラメータTcを設定する。画像により適応したフィルタの設定が行える。
また、例えば、前記選択ステップでは、前記閾値は、前記第二パラメータの値が大きいほど値が大きくなるように算出されてもよい。
上記構成の画像処理方法によれば、閾値の値を適切に設定できる。
また、例えば、前記選択ステップでは、前記複数のデブロッキングフィルタから1つのデブロッキングフィルタを選択するための第一閾値と、デブロッキングフィルタを選択するか否かを判定するための第二閾値とが決定され、前記複数のデブロッキングフィルタから1つのブロッキングフィルタを選択する、あるいは、デブロッキングフィルタを使用しないことを選択してもよい。
また、例えば、前記選択ステップの実行前に、前記第一パラメータを用いて、前記フィルタリング処理を行うか否かを判定する実行可否判定ステップを含んでもよい。
また、例えば、前記第一パラメータ算出ステップは、前記隣接する2つの画像ブロックの少なくとも一方がイントラ符号化されるブロックであるか否かを判定する第一判定ステップと、前記第一判定ステップにおいて、前記隣接する2つの画像ブロックの少なくとも一方がイントラ符号化されると判定された場合、前記第一パラメータに第一固定値を設定するステップとを有してもよい。
また、例えば、前記第一パラメータ算出ステップは、さらに、前記第一判定ステップにおいて、前記隣接する2つの画像ブロックの両方がイントラ符号化されないブロックであると判定された場合、前記第一パラメータに、前記第一固定値とは異なる第二固定値を設定するステップを有してもよい。
また、例えば、前記第一パラメータ算出ステップは、さらに、前記第一判定ステップにおいて、前記隣接する2つの画像ブロックの両方がイントラ符号化されないブロックであると判定された場合、さらに、前記隣接する2つの画像ブロックの少なくとも一方が、少なくとも1つの非ゼロ変換係数を含むか否かを判定する第二判定ステップと、前記第二判定ステップの判定結果を用いて、前記第一パラメータの値を設定するステップとを有してもよい。
また、例えば、前記第一パラメータ算出ステップは、さらに、前記第一判定ステップで前記隣接する2つの画像ブロックの両方がイントラ符号化されないブロックであると判定された場合において、前記隣接する2つの画像ブロックの少なくとも一方が、少なくとも1つの非ゼロ変換係数を含むか否かを判定する第二判定ステップと、前記隣接する2つの画像ブロックで、インター符号化における参照ピクチャを示す参照インデックスが異なるか否かを判定する第三判定ステップと、前記隣接する2つの画像ブロック間で、水平動きベクトル成分の差分絶対値及び垂直動きベクトル成分の差分絶対値の少なくとも一方の差分絶対値が、所定の閾値を超えるか否かを判定する第四判定ステップと、前記第二判定ステップにおいて少なくとも1つの非ゼロ変換係数を含むと判定され、且つ、前記第三判定ステップにおいて参照ピクチャインデックスが同じであると判定され、且つ、前記第四判定ステップにおいて差分絶対値が前記所定の閾値を超えると判定された場合に、前記第一パラメータに前記第一固定値を設定し、その他の場合に、前記第一パラメータに前記第一固定値とは異なる第二固定値を設定する設定ステップとを有してもよい。
また、例えば、前記画像処理方法は、複数の画素で構成される符号化対象ブロックと予測ブロックとの予測誤差ブロックを圧縮する圧縮ステップと、圧縮された前記予測誤差ブロックを復号し前記予測ブロックを加算して再構成ブロックを生成する再構成ステップと、前記再構成ブロックに対し、前記第一パラメータ算出ステップと、前記第二パラメータ算出ステップと、前記選択ステップとを実行するフィルタリングステップと、フィルタリングステップが実行された後の前記再構成ブロックを用いて予測ブロックを生成する予測ステップと、圧縮された前記予測誤差ブロックを符号化することにより符号化ビットストリームを生成する符号化ステップとを有してもよい。
また、例えば、前記画像処理方法は、復号対象ブロックを含む符号化ビットストリームを取得する取得ステップと、前記復号対象ブロックを復号し予測ブロックを加算することにより再構成ブロックを生成するステップと、前記再構成ブロックに対し、前記第一パラメータ算出ステップと、前記第二パラメータ算出ステップと、前記選択ステップとを実行するフィルタリングステップと、フィルタリングステップが実行された後の前記再構成ブロックを用いて予測ブロックを生成する予測ステップとを有してもよい。
また、例えば、本発明の一態様に係る画像符号化復号装置は、第1画像を符号化する画像符号化装置と、符号化ビットストリームから第2画像を復号する画像復号装置とを備える画像符号化復号装置であって、前記画像符号化装置は、前記第1画像に含まれる隣接する2つの第1ブロック間の境界強度を示す第1強度パラメータを算出する第1強度パラメータ算出部と、前記第1強度パラメータと量子化パラメータとの線形和を用いて、デブロッキングフィルタの制限値を示す第1制限パラメータを算出する第1制限パラメータ算出部と、前記第1制限パラメータに基づき決定される1または複数の閾値を用いて、フィルタ強度の異なる複数のデブロッキングフィルタから1つのデブロッキングフィルタを選択する第1選択部と、選択された前記デブロッキングフィルタを用いて、前記2つの第1ブロックをフィルタリングする第1フィルタ部と、を備え、前記画像復号装置は、前記符号化ビットストリームから、前記第2画像において隣接する2つの第2ブロック間の境界強度を示す第2強度パラメータを算出する第2強度パラメータ算出部と、前記第2強度パラメータと量子化パラメータとの線形和を用いて、デブロッキングフィルタの制限値を示す第2制限パラメータを算出する第2制限パラメータ算出部と、前記第2制限パラメータに基づき決定される1または複数の閾値を用いて、フィルタ強度の異なる複数のデブロッキングフィルタから1つのデブロッキングフィルタを選択する第2選択部と、選択された前記デブロッキングフィルタを用いて、前記2つの第1ブロックをフィルタリングする第2フィルタ部と、フィルタリングされた前記2つの第2ブロックを含む再構築画像を生成する再構築部とを備える。
なお、これらの全般的または具体的な態様は、システム、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なCD−ROMなどの記録媒体で実現されてもよく、方法、装置、システム、集積回路、コンピュータプログラムおよび記録媒体の任意な組み合わせで実現されてもよい。
以下、本発明の一態様に係るデブロッキングフィルタリング方法(画像処理方法)、および、デブロッキングフィルタリング装置(画像処理装置)について、図面を参照しながら具体的に説明する。
なお、以下で説明する実施の形態は、いずれも本発明の一具体例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序などは、一例であり、本発明を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。
(実施の形態1)
実施の形態1の画像処理方法および画像処理装置について、図1〜図3B、図7A〜図9を用いて説明する。なお、本実施の形態では、画像処理方法および画像処理装置は、動画像符号化方法および動画像符号化装置に適用される場合を例に説明する。
なお、本実施の形態の動画像符号化装置の構成は、図1に示す比較例の動画像符号化装置と同じである。本実施の形態の動画像符号化装置は、比較例の動画像符号化装置100とは、デブロッキングフィルタ処理部150の構成が異なる。
デブロッキングフィルタ処理部150は、本実施の形態では、強度の異なる複数のデブロッキングフィルタと、複数のデブロッキングフィルタを制御するフィルタ制御部とを備える。
図6は、デブロッキングフィルタ処理部150の構成例を示すブロック図である。図1に示すように、本実施の形態のデブロッキングフィルタ処理部150は、第一デブロッキングフィルタ151と、第二デブロッキングフィルタ152と、フィルタ制御部153とを備える。第一デブロッキングフィルタは、狭帯域の強いデブロッキングフィルタである。第二デブロッキングフィルタは、広帯域の弱いデブロッキングフィルタである。なお、デブロッキングフィルタの数および構成は、これに限られるものではない。
フィルタ制御部153は、図6に示すように、境界強度算出部154と、Tc算出部155と、フィルタ選択部156とを備えている。
[1.1 デブロッキングフィルタリング方法の概要]
以下、本実施の形態のデブロッキングフィルタ処理部150によるフィルタリング処理の詳細について、図2A〜図3B、図7A〜図9を基に説明する。
なお、フィルタリング処理では、上述した比較例と同様に、(1)フィルタリング処理の実行可否の判定処理(実行可否判定ステップに相当)、および、(2)使用するデブロッキングフィルタの選択処理が実行される。(1)フィルタリング処理の実行可否の判定処理は、比較例と同じである。
[1.1.1 (2)使用するデブロッキングフィルタの選択処理]
上述した判定処理により、フィルタリング処理を実行すると判定された場合、強度の異なる複数のデブロッキングフィルタから、使用するデブロッキングフィルタを選択する選択処理を実行する。
図7Aは、本実施の形態のフィルタリング処理の処理手順を示すフローチャートである。また、図7Bは、水平方向に隣接する2つのブロックBPとBQとを示している。図7Cは、垂直方向に隣接する2つのブロックBPとBQとを示している。
ステップS100では、フィルタ制御部153の境界強度算出部154は、境界強度BSを第一パラメータとして算出する(第一パラメータ算出ステップ)。図8は、本実施の形態における境界強度BSの算出処理および閾値tcのオフセット値tc_offsetの設定の処理手順を示すフローチャートである。境界強度BSの値は、0以上の整数である。なお、境界強度BSの算出手順(S210〜S244)は、比較例と同じである。
さらに、境界強度算出部154は、本実施の形態では、図8に示すように、境界強度BSに値に応じて、閾値tcのオフセット値tc_offsetを設定する。本実施の形態では、BSの値が異なる場合は、tc_offsetの値も異なる。具体的には、BS=4のときは、tc_offset=3、BS=3のときは、tc_offset=2、BS=2のときは、tc_offset=1、BS=1のときは、tc_offset=0がそれぞれ設定されている。比較例では、境界強度BSによらずtc_offsetの値が一定である(AVC)、あるいは、複数の境界強度BSに同じtc_offsetが割り当てられている(HEVC)。
ステップS110では、フィルタ制御部153は、ステップS100で算出された境界強度BSが正数であるか否かを判定する。ステップS110においてBSが正数ではない(BS=0)と判断された場合(S110のNo)、フィルタ制御部153は、フィルタリング処理を実行せずに、処理を終了する。
一方、ステップS110においてBSが整数であると判定された場合(S110のYes)、ステップS120において、フィルタ制御部153のTc算出部は、デブロッキングフィルタの出力範囲を規定する閾値tcを算出する(第二パラメータ算出ステップ)。
本実施の形態では、閾値tcは、境界強度BSおよび量子化パラメータQPを組み合わせた値、例えば各々の合計値に、tc_offsetを考慮した値を引数として表形式状の関数を用いて設定される。本実施の形態では、境界強度BSが異なる場合は、tc_offsetの値も異なるため、閾値tcのとる値の数は、比較例に比べて多くなる傾向にある。これにより、デブロッキングフィルタの適応性を高めることができる。
さらに、ステップS120において、フィルタ制御部153は、使用するデブロッキングフィルタを選択するための閾値βを算出する。閾値βは、量子化パラメータQPの関数(β(QP))として表現できる。
ステップS130では、フィルタ制御部153のフィルタ選択部156は、閾値tcおよび閾値βに基づいて、デブロッキングフィルタを選択する(選択ステップ)。この選択には、デブロッキングフィルタを選択しないことも含まれる。具体的には、フィルタ選択部156は、先ず、閾値βに基づいて、強いフィルタを選択するか否かを決定する。
具体的には、例えば、以下の式11に示す条件を満たす場合は、強いフィルタが選択される。
上記の条件において、上述したように、閾値βおよびtcは、何れも量子化パラメータQPの関数として表される。量子化パラメータQPは、画像の一部分等に対して設定してもよい。一般的に、閾値βの値は、ルックアップテーブルを用いてQPに基づき導出される。
強いフィルタが選択されると、第一デブロッキングフィルタ151により、強いフィルタリングが行われる(S132)。強いフィルタリングの詳細は、後述する。
式11に示す条件を満たさない場合、フィルタ選択部156は、さらに、弱いフィルタを選択するか、フィルタ無しを選択するかを決定する。
具体的には、フィルタ選択部156は、以下の式12を用いて、判別値Δ(絶対値)を算出する。
以下の式13を満たす場合に、弱いフィルタが選択される。
弱いフィルタが選択されると、第二デブロッキングフィルタ152により、弱いフィルタリングが行われる(S134)。弱いフィルタリングの詳細は、後述する。
式13を満たさない場合、フィルタ無しが選択され、デブロッキングフィルタを用いたフィルタリングは行われない(S136)。
[1.1.2 強いデブロッキングフィルタを用いたフィルタリング]
上述したように、図4Aに示すステップS130において、式11を用いた決定により「強いフィルタ」が選択された場合、第一デブロッキングフィルタ151により、強いフィルタリングが行われる(S132)。具体的には、第一デブロッキングフィルタ151は、HEVCモデルに従い、画素p3i、p2i、p1i、p0i、q0i、q1i、q2i、q3iを用いて画素p2i、p1i、p0i、q0i、q1i、q2iをフィルタリングする。
図9Aは、強いフィルタリングで用いられる画素の例を示す図である。図9Aでは、水平方向に隣接する2つのブロック間の垂直エッジを、水平にフィルタリングするために用いる画素(サンプル)を示している。破線で囲まれる領域610内の画素が、強いフィルタリングで用いられる画素である。図9Bは、フィルタリングされる画素を示す図である。破線で囲まれる領域620内の画素が、強いフィルタリングされる画素である。
第一デブロッキングフィルタ151は、本実施の形態では、以下の式14に従い、境界の左側に隣接する4画素を用いて、境界の左側に隣接する3画素をフィルタリングする。
同様に、第一デブロッキングフィルタ151は、本実施の形態では、以下の式15に従い、境界の右側に隣接する4画素を用いて、境界の右側に隣接する3画素をフィルタリングする。
なお、関数Clip(x)は、以下の式16で定義される。
ここで、max_allowed_valueは、Clip(x)のxが持つことのできる最大値である。kビットサンプルを用いたPCM符号化の場合、最大値は、max_allowed_value=2k−1になると思われる。例えば、8ビットサンプルを用いたPCM符号化の場合、最大値は、max_allowed_value=255になると思われる。10ビットサンプルを用いたPCM符号化の場合、最大値は、max_allowed_value=1023になると思われる。
上記の等式から分かるように、フィルタリングは、行単位で行われる。第一デブロッキングフィルタ151は、インデックスi=0、1、2、3、4、5、6、7に順次変更して、各行に対するフィルタリングを行う。
[1.1.3 弱いデブロッキングフィルタを用いたフィルタリング]
上述したように、図4Aに示すステップS130において、式12を用いた決定により「弱いフィルタ」が選択された場合、広帯域の第二デブロッキングフィルタ152により、弱いフィルタリングが行われる(S134)。
「弱いフィルタ」が選択された場合、第二デブロッキングフィルタ152は、弱いフィルタリングを行う(S134)。具体的には、第二デブロッキングフィルタ152は、HEVCモデルに従い、画素p2i、p1i、p0i、q0i、q1i、q2iを用いて画素p1i、p0i、q0i、q1iをフィルタリングする。
図10Aは、弱いフィルタリングで用いられる画素の例を示す図である。図10Aでは、水平方向に隣接する2つのブロック間の垂直エッジを、水平にフィルタリングするために用いる画素(サンプル)を示している。破線で囲まれる領域630内の画素が、弱いフィルタリングで用いられる画素である。図10Bは、フィルタリングされる画素を示す図である。破線で囲まれる領域640内の画素が、弱いフィルタリングされる画素である。
第二デブロッキングフィルタ152は、本実施の形態では、以下の式17に従い、境界の左側に最も隣接する画素p0iと、境界に右側に最も隣接する画素q0iとをフィルタリングする。
ここで、p0i’は、画素p0iをフィルタリングした後の画素値であり、q0i’は、画素q0iをフィルタリングした後の画素値である。また、Δ1は、以下の式18で求められる。
関数Clip3(x)は、以下の式19で定義される。
画素p0と画素q0とをフィルタリングした後、第二デブロッキングフィルタ152は、境界から次に近い画素p1iおよび画素q1iのそれぞれについて、フィルタリングするか否かを判定する。なお、画素p1iに対する判定と、画素q1iに対する判定は、別々に行う。
画素p1iに対する判定は、比較例の(1)フィルタリング処理の実行可否の判定処理で説明した、式7に示す評価値dpを用いて行う。具体的には、dp<(β/6)が満たされる場合は、第二デブロッキングフィルタ152は、以下の式20に従って、画素p1iをフィルタリングする。
ここで、p1i’は、画素p1iをフィルタリングした後の画素値である。また、Δ2pは、以下の式21で求められる。
一方、画素q1iに対する判定は、比較例の(1)フィルタリング処理の実行可否の判定処理で説明した、式7に示す評価値dqを用いて行う。具体的には、dq<(β/6)が満たされる場合は、第二デブロッキングフィルタ152は、以下の式22に従って、画素q1iをフィルタリングする。
ここで、q1i’は、画素q1iをフィルタリングした後の画素値である。また、Δ2qは、以下の式23で求められる。
但し、tc2=tc>>1である。
なお、本実施の形態では、垂直エッジに対して水平フィルタリングを行う場合について説明したが、水平方向と垂直方向、行と列をそれぞれ入れ替えることにより、水平エッジに対する垂直フィルタリングを行う場合にも適用できる。
[1.1.4 デブロッキングフィルタの決定にtcを用いることの効果]
上述した比較例では、ループフィルタの閾値tcを求めるのに、テーブル関数を用いているため、メモリの使用領域を低減し、処理量を低減することが困難であった。これに対し、本実施の形態では、ループフィルタの閾値tcは、量子化パラメータQPと境界強度BSとの線形和を用いた関数で求められる。また、tc_offsetは、BSに基づいて求められるため、算出の労力を必要としないと言える。このため、メモリの使用領域を低減し、処理量を低減することが可能になる。
また、比較例におけるtc_offsetは、全ての境界強度BSで共通の値、あるいは、2つの値しかとらないが、本実施の形態のtc_offsetは、境界強度BS別に異なるtc_offsetが設定される。これにより、より精細にブロックノイズに対応可能になる。
ここで、図11は、比較例における閾値tcのオフセット値tc_offsetの設定の処理手順を示す図である。なお、図11では、図8と同じ処理については、同じ符号を付している。
図11から分かるように、比較例では、境界強度BS=2と境界強度BS=1とに、同じtc_offsetが割り当てられている。このため、境界強度BS=2の場合も境界強度BS=1の場合の何れも、閾値tcに同じ値が設定される。一方、本実施の形態では、図8に示すように、境界強度BS=2と境界強度BS=1とで、閾値tcに異なる値が設定されている。本実施の形態では、異なる境界強度BSに対し異なる閾値tcが算出されるため、デブロッキングフィルタの画像に対する適応度を高めることが可能である。これにより、符号化効率の向上と主観的品質の向上が可能になる。
図12Aは、共通テスト条件を用いた場合における比較例および本実施の形態の符号化効率を示す図である。また、図12Bは、高変換パラメータ(QP=39,41,43,and 45)を用いた場合を示す図である。図12Aおよび図12Bにおいて、表の左側は、比較例における符号化効率を、表の右側は、本実施の形態における符号化効率を示している。符号化効率は、ピースワイズキュービック補間を用いて算出されたBDレートで示されている。
[1.1.5 BS値に応じたTcの決定(変形例1)]
本実施の形態の変形例1について、図13〜図15を基に説明する。
変形例1では、上記実施の形態とは、境界強度BSの算出手順(図7AのステップS100)が異なる場合について説明する。
図13は、本変形例における境界強度BSの算出処理の処理手順を示すフローチャートである。
ステップS210では、フィルタ制御部153(図6)は、実施の形態1と同様に、ブロックBPおよびBQの少なくとも一方がイントラ符号化画像であるか否かを判定する。
ブロックBPおよびBQの少なくとも一方がイントラ符号化画像であると判定した場合(ステップS210のYES)、フィルタ制御部153は、境界強度BSの値を、3に設定する(S218)。なお、ステップS218の境界強度BSの値は、3に限られるものではなく、他のステップで設定される境界強度BSの値より大きい値であればよい。
ステップS210においてブロックBPとBQの両方がイントラ符号化画像ではないと判定された場合(S210のNO)の処理は、実施の形態1と同じである。
ここで、図14は、非特許文献2に示されるような、図13に示す変形例1の符号化効率(図の右側)と、図5に示す比較例の符号化効率(図の左側)とを比較した図である。
図14から分かるように、符号化効率は比較例と略同じになる。ただし、上述したように、処理負荷を軽減し、処理効率を向上させることが可能である。
変形例1における閾値tcの値の設定方法について説明する。変形例1では、閾値tcは、ルックアップテーブル関数Tctableを用いた以下の式24を用いて求める。
図15は、本変形例で設定される閾値tcの値を示す図である。図15に示すように、変形例1においても、異なる境界強度BSに対し、異なる閾値tcが割り当てられている。
変形例1では、図13に示すように、a)CUエッジか否かを確認する処理が無いため、動画像符号化装置100の処理負荷を軽減させることが可能になる。さらに、式24に示すように、b)閾値tcの算出においてオフセット値tc_offsetを用いないため、閾値tcの導出処理が単純化され、動画像符号化装置100の処理負荷を軽減させることが可能になる。
[1.1.6 BS値に応じたTcの決定(変形例2)]
本実施の形態の変形例2について、図16を基に説明する。
変形例2では、変形例1とは、境界強度BSの算出手順は同じであるが、設定される境界強度BSの値が異なる場合について説明する。これに伴い、変形例2は、変形例1とは、閾値tcの導出方法が異なる。
変形例2において設定される境界強度BSの値について、図16を基に説明する。図16では、設定される境界強度BSの値は、それぞれ、変形例1の境界強度BSの値より1小さい値となっている。
具体的には、ステップS210において、ブロックBPおよびBQの少なくとも一方がイントラ符号化画像であると判定された場合(ステップS210のYES)、境界強度BSの値は2に設定される(S211)。
ステップS220において、フラグcbf−Pまたはフラグcbf−Qの何れか一方の値が0でない(ステップS220のYES)と判定された場合、境界強度BSの値は1に設定される(S224)。
ステップS230において、参照ピクチャインデックスRefIdx−Pと参照ピクチャインデックスRefIdx−Qとが異なると判定された場合(S230のYES)、境界強度BSの値は1に設定される(S234)。
ステップS240において、パラメータAbsHorおよびAbsVerの何れか一方が3より大きい場合(S240のYES)、境界強度BSの値は0に設定される(S246)。一方、パラメータAbsHorおよびAbsVerの両方が3以下の場合(S240のNO)、境界強度BSは0に設定される(S248)。
変形例2における閾値tcの値の設定方法について説明する。変形例2は、変形例1と同様に、ルックアップテーブル関数Tctableを用いるが、インデックスの算出方法が異なる。変形例2では、閾値tcは、以下の式25を用いて求める。
変形例2では、変形例1と同様に、a)CUエッジか否かを確認する処理が無く、b)閾値tcの算出においてオフセット値tc_offsetを用いないため、動画像符号化装置100の処理負荷を軽減させることが可能になる。
[1.1.7 BS値に応じたTcの決定(変形例3)]
本実施の形態の変形例3について、図17を基に説明する。
変形例3では、上述した実施の形態、変形例1および変形例2とは、境界強度BSの算出手順(図7AのステップS100)が異なる場合について説明する。
図17は、本変形例における境界強度BSの算出処理の処理手順を示すフローチャートである。
ステップS210では、デブロッキングフィルタ処理部150(図1、図6)のフィルタ制御部153(図6)により、上記実施の形態と同様に、ブロックBPとBQの少なくとも一方がイントラ符号化画像であるか否かが判定される。
ブロックBPおよびBQの少なくとも一方がイントラ符号化画像であると判定された場合(ステップS210のYES)、境界強度BSの値は2に設定される(ステップS211)。
ステップS210においてブロックBPおよびBQの両方がイントラ符号化画像ではないと判定された場合(S210のNO)、フラグcbf−Pまたはフラグcbf−Qの何れか一方の値が0でないか否かが判定される(S220)。
ステップS220において、フラグcbf−Pまたはフラグcbf−Qの何れか一方が0ではないと判定された場合(S220でNO)、ブロックBPの参照ピクチャインデックスRefIdx−Pと、ブロックBQの参照ピクチャインデックスRefIdx−Qとが互いに異なるか否かが判定される(S230)。
ステップS230において、参照ピクチャインデックスRefIdx−Pと参照ピクチャインデックスRefIdx−Qとが異なると判定された場合(S230のYES)、境界強度BSの値は0に設定される(S236)。
一方、ステップS230において、参照ピクチャインデックスRefIdx−Pと参照ピクチャインデックスRefIdx−Qとが同じであると判定された場合(S230のNO)、パラメータAbsHorおよびAbsVerの何れか一方が3より大きいか否かが判定される(S240)。
ステップS240において、パラメータAbsHorおよびAbsVerの何れか一方が3より大きいと判定された場合(S240のYES)、境界強度BSの値は0に設定される(S246)。一方、ステップS240において、パラメータAbsHorおよびAbsVerの両方が3以下であると判定された場合(S240のNO)、デブロッキングなしに設定される(S248)。
ステップS220において、フラグcbf−Pおよびフラグcbf−Qの両方が0であると判定された場合(S220でYES)、ブロックBPの参照ピクチャインデックスRefIdx−Pと、ブロックBQの参照ピクチャインデックスRefIdx−Qとが互いに異なるか否かが判定される(S250)。
ステップS250において、参照ピクチャインデックスRefIdx−Pと参照ピクチャインデックスRefIdx−Qとが同じであると判定された場合(S250のNO)、境界強度BSの値は1に設定される(S252)。
ステップS250において、参照ピクチャインデックスRefIdx−Pと参照ピクチャインデックスRefIdx−Qとが異なると判定された場合(S250のYES)、パラメータAbsHorおよびAbsVerの何れか一方が3より大きいか否かが判定される(S260)。
ステップS260において、パラメータAbsHorおよびAbsVerの何れか一方が3より大きいと判定された場合(S260のYES)、境界強度BSの値は2に設定される(S264)。一方、ステップS260において、パラメータAbsHorおよびAbsVerの両方が3以下であると判定された場合(S240のNO)、境界強度BSの値は1に設定される(S262)。
変形例3では、図17に示すように、ステップS220でフラグcbf−Pおよびフラグcbf−Qの両方が0であると判定された場合にも(S220でYES)、参照インデックスが同じであるか否かや、動きベクトルの絶対差の大きさに基づいて判定を行うことにより、さらに、細分化して精細に境界強度BSの値を設定することが可能になる。
[1.1.8 BS値に応じたTcの決定(変形例4)]
本実施の形態の変形例4について、図18Aおよび図18Bを基に説明する。
変形例4では、上記実施の形態および変形例1〜3とは、フィルタリング処理の処理手順、および、境界強度BSの算出手順が異なる場合について説明する。
図18Aは、変形例4のフィルタリング処理の処理手順を示すフローチャートである。
図18Aに示すように、ステップS300では、フィルタ制御部153は、境界強度BSを第一パラメータとして算出する(第一パラメータ算出ステップ)。
ここで、図18Bは、境界強度BSの設定手順を示すフローチャートである。図18Bに示すように、ブロックBPとBQの少なくとも一方がイントラ符号化画像であるか否かが判定される(S210)。ブロックBPとBQの少なくとも一方がイントラ符号化画像であると判定された場合(S210でYES)、境界強度BSの値は2に設定される(S211)。一方、ブロックBPとBQの両方がイントラ符号化画像ではないと判定された場合(S210でNO)、境界強度BSの値は0に設定される(S213)。なお、境界強度BSの設定値は、他の値であってもよい。
ステップS120において、フィルタ制御部153は、デブロッキングフィルタの出力範囲を規定する閾値tcを算出する(第二パラメータ算出ステップ)。さらに、ステップS120において、フィルタ制御部153は、使用するデブロッキングフィルタを選択するための閾値βを算出する。
ステップS330では、フィルタ制御部153は、閾値tcおよび閾値βに基づいて、デブロッキングフィルタを選択する(選択ステップ)。
ステップS330で強いフィルタが選択されると、第一デブロッキングフィルタ151により、強いフィルタリングが行われる(S132)。ステップS330で弱いフィルタが選択されると、第二デブロッキングフィルタ152により、弱いフィルタリングが行われる(S134)。
ステップS330でフィルタリング処理なしが選択されると、デブロッキングフィルタを用いたフィルタリングは行われない(S136)。
本変形例では、フィルタリング処理の処理手順および境界強度BSの算出手順を単純化しているため、動画像符号化装置100の処理負荷を軽減させることが可能になる。さらに、境界強度BSの算出手順において使用するメモリの容量を削減可能になる。すなわち、境界強度BSの取りうる値は0〜3であるため、2ビットの情報量で境界強度BSを表すことが可能である。このように、本変形例の利点は、より少ないメモリ容量で処理しつつ、現在のHM−4.0と同じデブロッキングの結果が得られる点である。
(実施の形態2)
実施の形態2の動画像復号方法および動画像復号装置について、図19を基に説明する。
図19は、H.264/MPEG−4AVCまたはHEVC動画像符号化規格に基づく動画像復号装置の構成例を示すブロック図である。
図19に示すように、動画像復号装置200は、エントロピー復号部290、逆量子化/逆変換部230、加算部240、デブロッキングフィルタ処理部250、サンプル適応オフセット処理部260、適応ループフィルタ処理部255、フレームメモリ270、および、予測部280を備えている。
図19において、エントロピー復号部290は、入力された符号化ビットストリームに対し、可変長復号処理を行うことにより、予測モード等の復号に必要な情報と量子化係数とを復号する。
逆量子化/逆変換部230は、可変長復号処理によって得られた量子化係数に対し、逆量子化処理を行い、逆量子化処理した量子化係数に対し、周波数領域から画像領域への変換を行うことにより、予測誤差データe3を生成する。
加算部240は、復号対象ブロックごとに、予測画像データ(予測画像信号s5)と、逆量子化/逆変換部230によって逆量子化処理および逆変換処理が行われた予測誤差データ(予測誤差信号e3)とを加算することにより、再構成画像データ(再構成画像信号s1)を生成する。
デブロッキングフィルタ処理部250は、図示しないが、強度の異なる複数のデブロッキングフィルタと、複数のデブロッキングフィルタを制御するフィルタ制御部とを備える。デブロッキングフィルタ処理部250は、動画像符号化装置100が備えるデブロッキングフィルタの種類に応じた複数のデブロッキングフィルタを備える。例えば、デブロッキングフィルタ処理部250は、実施の形態1と同様に、狭帯域および広帯域の2種類のデブロッキングフィルタを備えていてもよい。なお、デブロッキングフィルタ処理部250の構成は、実施の形態1のデブロッキングフィルタ処理部150の構成に対応している。
サンプル適応オフセット処理部260は、デブロッキングフィルタ処理部250によりフィルタリング処理された再構成画像データ(再構成画像信号s2)に対し、画素単位で、元の画素値に近づけるためのオフセット値を与える処理を行う。
適応ループフィルタ処理部255は、ウィナーフィルタ等の適応ループフィルタを備え、サンプル適応オフセット処理部260から出力された再構成画像データ(再構成画像信号s3)に対し、圧縮により生じた画像の歪みを補償する処理を行う。適応ループフィルタ処理部255の出力画像信号s4は、復号画像を示す復号信号として出力される。
フレームメモリ270には、適応ループフィルタが適用された再構成画像データ(再構成画像信号s4)がフレーム単位で保存される。
予測部280は、図示しないが、空間予測(イントラ予測)を用いた予測画像の生成を行うイントラ予測部と、時間予測(インター予測)を用いた予測画像の生成を行うインター予測部とを備えている。予測部280は、フレーム毎またはブロック毎に予測タイプを変更することができる。
(実施の形態3)
実施の形態3の動画像符号化方法および動画像符号化装置について、図20を基に説明する。
図20は、本実施の形態の動画像符号化装置(ハイブリッドビデオエンコーダ)の構成例を示すブロック図である。
図20に示すように、動画像符号化装置300は、減算部105、変換部110、量子化部120、逆量子化/逆変換部130、加算部140、水平デブロッキングフィルタ処理部310、垂直デブロッキングフィルタ処理部320、適応ループフィルタ処理部165、サンプル適応オフセット処理部160、予測部180およびエントロピー符号化部190を備えている。
本実施の形態の減算部105、変換部110、量子化部120、逆量子化/逆変換部130、加算部140、適応ループフィルタ処理部165、サンプル適応オフセット処理部160、予測部180およびエントロピー符号化部190の構成は、それぞれ、実施の形態1(比較例)の減算部105、変換部110、量子化部120、逆量子化/逆変換部130、加算部140、適応ループフィルタ処理部165、サンプル適応オフセット処理部155、予測部180およびエントロピー符号化部190の構成と同じである。
本実施の形態の動画像符号化装置300が、実施の形態1の動画像符号化装置100と異なる点は、図1に示すデブロッキングフィルタ処理部150が、垂直エッジに対するフィルタリング処理を実行する水平デブロッキングフィルタ処理部310と、水平エッジに対するフィルタリング処理を実行する垂直デブロッキングフィルタ処理部320とに細分化されている点である。
なお、本実施の形態では、水平デブロッキングフィルタ処理部310は、加算部140から出力された再構成信号s1に対して、垂直エッジに対するフィルタリング処理を実行して再構成信号s6を生成する。また、垂直デブロッキングフィルタ処理部320は、再構成信号s6に対して、水平エッジに対するフィルタリング処理を実行する。
なお、図20では、さらに、エントロピー符号化部190、水平デブロッキングフィルタ処理部310および垂直デブロッキングフィルタ処理部320に、量子化パラメータQPが入力されることを示している。
(実施の形態4)
上記各実施の形態で示した動画像符号化方法(画像符号化方法)または動画像復号化方法(画像復号方法)の構成を実現するためのプログラムを記憶メディアに記録することにより、上記各実施の形態で示した処理を独立したコンピュータシステムにおいて簡単に実施することが可能となる。記憶メディアは、磁気ディスク、光ディスク、光磁気ディスク、ICカード、半導体メモリ等、プログラムを記録できるものであればよい。
さらにここで、上記各実施の形態で示した動画像符号化方法(画像符号化方法)や動画像復号化方法(画像復号方法)の応用例とそれを用いたシステムを説明する。当該システムは、画像符号化方法を用いた画像符号化装置、及び画像復号方法を用いた画像復号装置からなる画像符号化復号装置を有することを特徴とする。システムにおける他の構成について、場合に応じて適切に変更することができる。
図21は、コンテンツ配信サービスを実現するコンテンツ供給システムex100の全体構成を示す図である。通信サービスの提供エリアを所望の大きさに分割し、各セル内にそれぞれ固定無線局である基地局ex106、ex107、ex108、ex109、ex110が設置されている。
このコンテンツ供給システムex100は、インターネットex101にインターネットサービスプロバイダex102および電話網ex104、および基地局ex106からex110を介して、コンピュータex111、PDA(Personal Digital Assistant)ex112、カメラex113、携帯電話ex114、ゲーム機ex115などの各機器が接続される。
しかし、コンテンツ供給システムex100は図21のような構成に限定されず、いずれかの要素を組合せて接続するようにしてもよい。また、固定無線局である基地局ex106からex110を介さずに、各機器が電話網ex104に直接接続されてもよい。また、各機器が近距離無線等を介して直接相互に接続されていてもよい。
カメラex113はデジタルビデオカメラ等の動画撮影が可能な機器であり、カメラex116はデジタルカメラ等の静止画撮影、動画撮影が可能な機器である。また、携帯電話ex114は、GSM(登録商標)(Global System for Mobile Communications)方式、CDMA(Code Division Multiple Access)方式、W−CDMA(Wideband-Code Division Multiple Access)方式、若しくはLTE(Long Term Evolution)方式、HSPA(High Speed Packet Access)の携帯電話機、またはPHS(Personal Handyphone System)等であり、いずれでも構わない。
コンテンツ供給システムex100では、カメラex113等が基地局ex109、電話網ex104を通じてストリーミングサーバex103に接続されることで、ライブ配信等が可能になる。ライブ配信では、ユーザがカメラex113を用いて撮影するコンテンツ(例えば、音楽ライブの映像等)に対して上記各実施の形態で説明したように符号化処理を行い(即ち、本発明の一態様に係る画像符号化装置として機能する)、ストリーミングサーバex103に送信する。一方、ストリーミングサーバex103は要求のあったクライアントに対して送信されたコンテンツデータをストリーム配信する。クライアントとしては、上記符号化処理されたデータを復号化することが可能な、コンピュータex111、PDAex112、カメラex113、携帯電話ex114、ゲーム機ex115等がある。配信されたデータを受信した各機器では、受信したデータを復号化処理して再生する(即ち、本発明の一態様に係る画像復号装置として機能する)。
なお、撮影したデータの符号化処理はカメラex113で行っても、データの送信処理をするストリーミングサーバex103で行ってもよいし、互いに分担して行ってもよい。同様に配信されたデータの復号化処理はクライアントで行っても、ストリーミングサーバex103で行ってもよいし、互いに分担して行ってもよい。また、カメラex113に限らず、カメラex116で撮影した静止画像および/または動画像データを、コンピュータex111を介してストリーミングサーバex103に送信してもよい。この場合の符号化処理はカメラex116、コンピュータex111、ストリーミングサーバex103のいずれで行ってもよいし、互いに分担して行ってもよい。
また、これら符号化・復号化処理は、一般的にコンピュータex111や各機器が有するLSIex500において処理する。LSIex500は、ワンチップであっても複数チップからなる構成であってもよい。なお、動画像符号化・復号化用のソフトウェアをコンピュータex111等で読み取り可能な何らかの記録メディア(CD−ROM、フレキシブルディスク、ハードディスクなど)に組み込み、そのソフトウェアを用いて符号化・復号化処理を行ってもよい。さらに、携帯電話ex114がカメラ付きである場合には、そのカメラで取得した動画データを送信してもよい。このときの動画データは携帯電話ex114が有するLSIex500で符号化処理されたデータである。
また、ストリーミングサーバex103は複数のサーバや複数のコンピュータであって、データを分散して処理したり記録したり配信するものであってもよい。
以上のようにして、コンテンツ供給システムex100では、符号化されたデータをクライアントが受信して再生することができる。このようにコンテンツ供給システムex100では、ユーザが送信した情報をリアルタイムでクライアントが受信して復号化し、再生することができ、特別な権利や設備を有さないユーザでも個人放送を実現できる。
なお、コンテンツ供給システムex100の例に限らず、図22に示すように、デジタル放送用システムex200にも、上記各実施の形態の少なくとも動画像符号化装置(画像符号化装置)または動画像復号化装置(画像復号装置)のいずれかを組み込むことができる。具体的には、放送局ex201では映像データに音楽データなどが多重化された多重化データが電波を介して通信または衛星ex202に伝送される。この映像データは上記各実施の形態で説明した動画像符号化方法により符号化されたデータである(即ち、本発明の一態様に係る画像符号化装置によって符号化されたデータである)。これを受けた放送衛星ex202は、放送用の電波を発信し、この電波を衛星放送の受信が可能な家庭のアンテナex204が受信する。受信した多重化データを、テレビ(受信機)ex300またはセットトップボックス(STB)ex217等の装置が復号化して再生する(即ち、本発明の一態様に係る画像復号装置として機能する)。
また、DVD、BD等の記録メディアex215に記録した多重化データを読み取り復号化する、または記録メディアex215に映像信号を符号化し、さらに場合によっては音楽信号と多重化して書き込むリーダ/レコーダex218にも上記各実施の形態で示した動画像復号化装置または動画像符号化装置を実装することが可能である。この場合、再生された映像信号はモニタex219に表示され、多重化データが記録された記録メディアex215により他の装置やシステムにおいて映像信号を再生することができる。また、ケーブルテレビ用のケーブルex203または衛星/地上波放送のアンテナex204に接続されたセットトップボックスex217内に動画像復号化装置を実装し、これをテレビのモニタex219で表示してもよい。このときセットトップボックスではなく、テレビ内に動画像復号化装置を組み込んでもよい。
図23は、上記各実施の形態で説明した動画像復号化方法および動画像符号化方法を用いたテレビ(受信機)ex300を示す図である。テレビex300は、上記放送を受信するアンテナex204またはケーブルex203等を介して映像データに音声データが多重化された多重化データを取得、または出力するチューナex301と、受信した多重化データを復調する、または外部に送信する多重化データに変調する変調/復調部ex302と、復調した多重化データを映像データと、音声データとに分離する、または信号処理部ex306で符号化された映像データ、音声データを多重化する多重/分離部ex303を備える。
また、テレビex300は、音声データ、映像データそれぞれを復号化する、またはそれぞれの情報を符号化する音声信号処理部ex304、映像信号処理部ex305(本発明の一態様に係る画像符号化装置または画像復号装置として機能する)を有する信号処理部ex306と、復号化した音声信号を出力するスピーカex307、復号化した映像信号を表示するディスプレイ等の表示部ex308を有する出力部ex309とを有する。さらに、テレビex300は、ユーザ操作の入力を受け付ける操作入力部ex312等を有するインタフェース部ex317を有する。さらに、テレビex300は、各部を統括的に制御する制御部ex310、各部に電力を供給する電源回路部ex311を有する。インタフェース部ex317は、操作入力部ex312以外に、リーダ/レコーダex218等の外部機器と接続されるブリッジex313、SDカード等の記録メディアex216を装着可能とするためのスロット部ex314、ハードディスク等の外部記録メディアと接続するためのドライバex315、電話網と接続するモデムex316等を有していてもよい。なお記録メディアex216は、格納する不揮発性/揮発性の半導体メモリ素子により電気的に情報の記録を可能としたものである。テレビex300の各部は同期バスを介して互いに接続されている。
まず、テレビex300がアンテナex204等により外部から取得した多重化データを復号化し、再生する構成について説明する。テレビex300は、リモートコントローラex220等からのユーザ操作を受け、CPU等を有する制御部ex310の制御に基づいて、変調/復調部ex302で復調した多重化データを多重/分離部ex303で分離する。さらにテレビex300は、分離した音声データを音声信号処理部ex304で復号化し、分離した映像データを映像信号処理部ex305で上記各実施の形態で説明した復号化方法を用いて復号化する。復号化した音声信号、映像信号は、それぞれ出力部ex309から外部に向けて出力される。出力する際には、音声信号と映像信号が同期して再生するよう、バッファex318、ex319等に一旦これらの信号を蓄積するとよい。また、テレビex300は、放送等からではなく、磁気/光ディスク、SDカード等の記録メディアex215、ex216から多重化データを読み出してもよい。次に、テレビex300が音声信号や映像信号を符号化し、外部に送信または記録メディア等に書き込む構成について説明する。テレビex300は、リモートコントローラex220等からのユーザ操作を受け、制御部ex310の制御に基づいて、音声信号処理部ex304で音声信号を符号化し、映像信号処理部ex305で映像信号を上記各実施の形態で説明した符号化方法を用いて符号化する。符号化した音声信号、映像信号は多重/分離部ex303で多重化され外部に出力される。多重化する際には、音声信号と映像信号が同期するように、バッファex320、ex321等に一旦これらの信号を蓄積するとよい。なお、バッファex318、ex319、ex320、ex321は図示しているように複数備えていてもよいし、1つ以上のバッファを共有する構成であってもよい。さらに、図示している以外に、例えば変調/復調部ex302や多重/分離部ex303の間等でもシステムのオーバフロー、アンダーフローを避ける緩衝材としてバッファにデータを蓄積することとしてもよい。
また、テレビex300は、放送等や記録メディア等から音声データ、映像データを取得する以外に、マイクやカメラのAV入力を受け付ける構成を備え、それらから取得したデータに対して符号化処理を行ってもよい。なお、ここではテレビex300は上記の符号化処理、多重化、および外部出力ができる構成として説明したが、これらの処理を行うことはできず、上記受信、復号化処理、外部出力のみが可能な構成であってもよい。
また、リーダ/レコーダex218で記録メディアから多重化データを読み出す、または書き込む場合には、上記復号化処理または符号化処理はテレビex300、リーダ/レコーダex218のいずれで行ってもよいし、テレビex300とリーダ/レコーダex218が互いに分担して行ってもよい。
一例として、光ディスクからデータの読み込みまたは書き込みをする場合の情報再生/記録部ex400の構成を図24に示す。情報再生/記録部ex400は、以下に説明する要素ex401、ex402、ex403、ex404、ex405、ex406、ex407を備える。光ヘッドex401は、光ディスクである記録メディアex215の記録面にレーザスポットを照射して情報を書き込み、記録メディアex215の記録面からの反射光を検出して情報を読み込む。変調記録部ex402は、光ヘッドex401に内蔵された半導体レーザを電気的に駆動し記録データに応じてレーザ光の変調を行う。再生復調部ex403は、光ヘッドex401に内蔵されたフォトディテクタにより記録面からの反射光を電気的に検出した再生信号を増幅し、記録メディアex215に記録された信号成分を分離して復調し、必要な情報を再生する。バッファex404は、記録メディアex215に記録するための情報および記録メディアex215から再生した情報を一時的に保持する。ディスクモータex405は記録メディアex215を回転させる。サーボ制御部ex406は、ディスクモータex405の回転駆動を制御しながら光ヘッドex401を所定の情報トラックに移動させ、レーザスポットの追従処理を行う。システム制御部ex407は、情報再生/記録部ex400全体の制御を行う。上記の読み出しや書き込みの処理はシステム制御部ex407が、バッファex404に保持された各種情報を利用し、また必要に応じて新たな情報の生成・追加を行うと共に、変調記録部ex402、再生復調部ex403、サーボ制御部ex406を協調動作させながら、光ヘッドex401を通して、情報の記録再生を行うことにより実現される。システム制御部ex407は例えばマイクロプロセッサで構成され、読み出し書き込みのプログラムを実行することでそれらの処理を実行する。
以上では、光ヘッドex401はレーザスポットを照射するとして説明したが、近接場光を用いてより高密度な記録を行う構成であってもよい。
図25に光ディスクである記録メディアex215の模式図を示す。記録メディアex215の記録面には案内溝(グルーブ)がスパイラル状に形成され、情報トラックex230には、予めグルーブの形状の変化によってディスク上の絶対位置を示す番地情報が記録されている。この番地情報はデータを記録する単位である記録ブロックex231の位置を特定するための情報を含み、記録や再生を行う装置において情報トラックex230を再生し番地情報を読み取ることで記録ブロックを特定することができる。また、記録メディアex215は、データ記録領域ex233、内周領域ex232、外周領域ex234を含んでいる。ユーザデータを記録するために用いる領域がデータ記録領域ex233であり、データ記録領域ex233より内周または外周に配置されている内周領域ex232と外周領域ex234は、ユーザデータの記録以外の特定用途に用いられる。情報再生/記録部ex400は、このような記録メディアex215のデータ記録領域ex233に対して、符号化された音声データ、映像データまたはそれらのデータを多重化した多重化データの読み書きを行う。
以上では、1層のDVD、BD等の光ディスクを例に挙げ説明したが、これらに限ったものではなく、多層構造であって表面以外にも記録可能な光ディスクであってもよい。また、ディスクの同じ場所にさまざまな異なる波長の色の光を用いて情報を記録したり、さまざまな角度から異なる情報の層を記録したりなど、多次元的な記録/再生を行う構造の光ディスクであってもよい。
また、デジタル放送用システムex200において、アンテナex205を有する車ex210で衛星ex202等からデータを受信し、車ex210が有するカーナビゲーションex211等の表示装置に動画を再生することも可能である。なお、カーナビゲーションex211の構成は例えば図23に示す構成のうち、GPS受信部を加えた構成が考えられ、同様なことがコンピュータex111や携帯電話ex114等でも考えられる。
図26Aは、上記実施の形態で説明した動画像復号化方法および動画像符号化方法を用いた携帯電話ex114を示す図である。携帯電話ex114は、基地局ex110との間で電波を送受信するためのアンテナex350、映像、静止画を撮ることが可能なカメラ部ex365、カメラ部ex365で撮像した映像、アンテナex350で受信した映像等が復号化されたデータを表示する液晶ディスプレイ等の表示部ex358を備える。携帯電話ex114は、さらに、操作キー部ex366を有する本体部、音声を出力するためのスピーカ等である音声出力部ex357、音声を入力するためのマイク等である音声入力部ex356、撮影した映像、静止画、録音した音声、または受信した映像、静止画、メール等の符号化されたデータもしくは復号化されたデータを保存するメモリ部ex367、又は同様にデータを保存する記録メディアとのインタフェース部であるスロット部ex364を備える。
さらに、携帯電話ex114の構成例について、図26Bを用いて説明する。携帯電話ex114は、表示部ex358及び操作キー部ex366を備えた本体部の各部を統括的に制御する主制御部ex360に対して、電源回路部ex361、操作入力制御部ex362、映像信号処理部ex355、カメラインタフェース部ex363、LCD(Liquid Crystal Display)制御部ex359、変調/復調部ex352、多重/分離部ex353、音声信号処理部ex354、スロット部ex364、メモリ部ex367がバスex370を介して互いに接続されている。
電源回路部ex361は、ユーザの操作により終話及び電源キーがオン状態にされると、バッテリパックから各部に対して電力を供給することにより携帯電話ex114を動作可能な状態に起動する。
携帯電話ex114は、CPU、ROM、RAM等を有する主制御部ex360の制御に基づいて、音声通話モード時に音声入力部ex356で収音した音声信号を音声信号処理部ex354でデジタル音声信号に変換し、これを変調/復調部ex352でスペクトラム拡散処理し、送信/受信部ex351でデジタルアナログ変換処理および周波数変換処理を施した後にアンテナex350を介して送信する。また携帯電話ex114は、音声通話モード時にアンテナex350を介して受信した受信データを増幅して周波数変換処理およびアナログデジタル変換処理を施し、変調/復調部ex352でスペクトラム逆拡散処理し、音声信号処理部ex354でアナログ音声信号に変換した後、これを音声出力部ex357から出力する。
さらにデータ通信モード時に電子メールを送信する場合、本体部の操作キー部ex366等の操作によって入力された電子メールのテキストデータは操作入力制御部ex362を介して主制御部ex360に送出される。主制御部ex360は、テキストデータを変調/復調部ex352でスペクトラム拡散処理をし、送信/受信部ex351でデジタルアナログ変換処理および周波数変換処理を施した後にアンテナex350を介して基地局ex110へ送信する。電子メールを受信する場合は、受信したデータに対してこのほぼ逆の処理が行われ、表示部ex358に出力される。
データ通信モード時に映像、静止画、または映像と音声を送信する場合、映像信号処理部ex355は、カメラ部ex365から供給された映像信号を上記各実施の形態で示した動画像符号化方法によって圧縮符号化し(即ち、本発明の一態様に係る画像符号化装置として機能する)、符号化された映像データを多重/分離部ex353に送出する。また、音声信号処理部ex354は、映像、静止画等をカメラ部ex365で撮像中に音声入力部ex356で収音した音声信号を符号化し、符号化された音声データを多重/分離部ex353に送出する。
多重/分離部ex353は、映像信号処理部ex355から供給された符号化された映像データと音声信号処理部ex354から供給された符号化された音声データを所定の方式で多重化し、その結果得られる多重化データを変調/復調部(変調/復調回路部)ex352でスペクトラム拡散処理をし、送信/受信部ex351でデジタルアナログ変換処理及び周波数変換処理を施した後にアンテナex350を介して送信する。
データ通信モード時にホームページ等にリンクされた動画像ファイルのデータを受信する場合、または映像およびもしくは音声が添付された電子メールを受信する場合、アンテナex350を介して受信された多重化データを復号化するために、多重/分離部ex353は、多重化データを分離することにより映像データのビットストリームと音声データのビットストリームとに分け、同期バスex370を介して符号化された映像データを映像信号処理部ex355に供給するとともに、符号化された音声データを音声信号処理部ex354に供給する。映像信号処理部ex355は、上記各実施の形態で示した動画像符号化方法に対応した動画像復号化方法によって復号化することにより映像信号を復号し(即ち、本発明の一態様に係る画像復号装置として機能する)、LCD制御部ex359を介して表示部ex358から、例えばホームページにリンクされた動画像ファイルに含まれる映像、静止画が表示される。また音声信号処理部ex354は、音声信号を復号し、音声出力部ex357から音声が出力される。
また、上記携帯電話ex114等の端末は、テレビex300と同様に、符号化器・復号化器を両方持つ送受信型端末の他に、符号化器のみの送信端末、復号化器のみの受信端末という3通りの実装形式が考えられる。さらに、デジタル放送用システムex200において、映像データに音楽データなどが多重化された多重化データを受信、送信するとして説明したが、音声データ以外に映像に関連する文字データなどが多重化されたデータであってもよいし、多重化データではなく映像データ自体であってもよい。
このように、上記各実施の形態で示した動画像符号化方法あるいは動画像復号化方法を上述したいずれの機器・システムに用いることは可能であり、そうすることで、上記各実施の形態で説明した効果を得ることができる。
また、本発明はかかる上記実施の形態に限定されるものではなく、本発明の範囲を逸脱することなく種々の変形または修正が可能である。
(実施の形態5)
上記各実施の形態で示した動画像符号化方法または装置と、MPEG−2、MPEG4−AVC、VC−1など異なる規格に準拠した動画像符号化方法または装置とを、必要に応じて適宜切替えることにより、映像データを生成することも可能である。
ここで、それぞれ異なる規格に準拠する複数の映像データを生成した場合、復号する際に、それぞれの規格に対応した復号方法を選択する必要がある。しかしながら、復号する映像データが、どの規格に準拠するものであるか識別できないため、適切な復号方法を選択することができないという課題を生じる。
この課題を解決するために、映像データに音声データなどを多重化した多重化データは、映像データがどの規格に準拠するものであるかを示す識別情報を含む構成とする。上記各実施の形態で示す動画像符号化方法または装置によって生成された映像データを含む多重化データの具体的な構成を以下説明する。多重化データは、MPEG−2トランスポートストリーム形式のデジタルストリームである。
図27は、多重化データの構成を示す図である。図27に示すように多重化データは、ビデオストリーム、オーディオストリーム、プレゼンテーショングラフィックスストリーム(PG)、インタラクティブグラフィックスストリームのうち、1つ以上を多重化することで得られる。ビデオストリームは映画の主映像および副映像を、オーディオストリーム(IG)は映画の主音声部分とその主音声とミキシングする副音声を、プレゼンテーショングラフィックスストリームは、映画の字幕をそれぞれ示している。ここで主映像とは画面に表示される通常の映像を示し、副映像とは主映像の中に小さな画面で表示する映像のことである。また、インタラクティブグラフィックスストリームは、画面上にGUI部品を配置することにより作成される対話画面を示している。ビデオストリームは、上記各実施の形態で示した動画像符号化方法または装置、従来のMPEG−2、MPEG4−AVC、VC−1などの規格に準拠した動画像符号化方法または装置によって符号化されている。オーディオストリームは、ドルビーAC−3、Dolby Digital Plus、MLP、DTS、DTS−HD、または、リニアPCMのなどの方式で符号化されている。
多重化データに含まれる各ストリームはPIDによって識別される。例えば、映画の映像に利用するビデオストリームには0x1011が、オーディオストリームには0x1100から0x111Fまでが、プレゼンテーショングラフィックスには0x1200から0x121Fまでが、インタラクティブグラフィックスストリームには0x1400から0x141Fまでが、映画の副映像に利用するビデオストリームには0x1B00から0x1B1Fまで、主音声とミキシングする副音声に利用するオーディオストリームには0x1A00から0x1A1Fが、それぞれ割り当てられている。
図28は、多重化データがどのように多重化されるかを模式的に示す図である。まず、複数のビデオフレームからなるビデオストリームex235、複数のオーディオフレームからなるオーディオストリームex238を、それぞれPESパケット列ex236およびex239に変換し、TSパケットex237およびex240に変換する。同じくプレゼンテーショングラフィックスストリームex241およびインタラクティブグラフィックスex244のデータをそれぞれPESパケット列ex242およびex245に変換し、さらにTSパケットex243およびex246に変換する。多重化データex247はこれらのTSパケットを1本のストリームに多重化することで構成される。
図29は、PESパケット列に、ビデオストリームがどのように格納されるかをさらに詳しく示している。図29における第1段目はビデオストリームのビデオフレーム列を示す。第2段目は、PESパケット列を示す。図29の矢印yy1,yy2,yy3,yy4に示すように、ビデオストリームにおける複数のVideo Presentation UnitであるIピクチャ、Bピクチャ、Pピクチャは、ピクチャ毎に分割され、PESパケットのペイロードに格納される。各PESパケットはPESヘッダを持ち、PESヘッダには、ピクチャの表示時刻であるPTS(Presentation Time−Stamp)やピクチャの復号時刻であるDTS(Decoding Time−Stamp)が格納される。
図30は、多重化データに最終的に書き込まれるTSパケットの形式を示している。TSパケットは、ストリームを識別するPIDなどの情報を持つ4ByteのTSヘッダとデータを格納する184ByteのTSペイロードから構成される188Byte固定長のパケットであり、上記PESパケットは分割されTSペイロードに格納される。BD−ROMの場合、TSパケットには、4ByteのTP_Extra_Headerが付与され、192Byteのソースパケットを構成し、多重化データに書き込まれる。TP_Extra_HeaderにはATS(Arrival_Time_Stamp)などの情報が記載される。ATSは当該TSパケットのデコーダのPIDフィルタへの転送開始時刻を示す。多重化データには図30下段に示すようにソースパケットが並ぶこととなり、多重化データの先頭からインクリメントする番号はSPN(ソースパケットナンバー)と呼ばれる。
また、多重化データに含まれるTSパケットには、映像・音声・字幕などの各ストリーム以外にもPAT(Program Association Table)、PMT(Program Map Table)、PCR(Program Clock Reference)などがある。PATは多重化データ中に利用されるPMTのPIDが何であるかを示し、PAT自身のPIDは0で登録される。PMTは、多重化データ中に含まれる映像・音声・字幕などの各ストリームのPIDと各PIDに対応するストリームの属性情報を持ち、また多重化データに関する各種ディスクリプタを持つ。ディスクリプタには多重化データのコピーを許可・不許可を指示するコピーコントロール情報などがある。PCRは、ATSの時間軸であるATC(Arrival Time Clock)とPTS・DTSの時間軸であるSTC(System Time Clock)の同期を取るために、そのPCRパケットがデコーダに転送されるATSに対応するSTC時間の情報を持つ。
図31はPMTのデータ構造を詳しく説明する図である。PMTの先頭には、そのPMTに含まれるデータの長さなどを記したPMTヘッダが配置される。その後ろには、多重化データに関するディスクリプタが複数配置される。上記コピーコントロール情報などが、ディスクリプタとして記載される。ディスクリプタの後には、多重化データに含まれる各ストリームに関するストリーム情報が複数配置される。ストリーム情報は、ストリームの圧縮コーデックなどを識別するためストリームタイプ、ストリームのPID、ストリームの属性情報(フレームレート、アスペクト比など)が記載されたストリームディスクリプタから構成される。ストリームディスクリプタは多重化データに存在するストリームの数だけ存在する。
記録媒体などに記録する場合には、上記多重化データは、多重化データ情報ファイルと共に記録される。
多重化データ情報ファイルは、図32に示すように多重化データの管理情報であり、多重化データと1対1に対応し、多重化データ情報、ストリーム属性情報とエントリマップから構成される。
多重化データ情報は図32に示すようにシステムレート、再生開始時刻、再生終了時刻から構成されている。システムレートは多重化データの、後述するシステムターゲットデコーダのPIDフィルタへの最大転送レートを示す。多重化データ中に含まれるATSの間隔はシステムレート以下になるように設定されている。再生開始時刻は多重化データの先頭のビデオフレームのPTSであり、再生終了時刻は多重化データの終端のビデオフレームのPTSに1フレーム分の再生間隔を足したものが設定される。
ストリーム属性情報は図33に示すように、多重化データに含まれる各ストリームについての属性情報が、PID毎に登録される。属性情報はビデオストリーム、オーディオストリーム、プレゼンテーショングラフィックスストリーム、インタラクティブグラフィックスストリーム毎に異なる情報を持つ。ビデオストリーム属性情報は、そのビデオストリームがどのような圧縮コーデックで圧縮されたか、ビデオストリームを構成する個々のピクチャデータの解像度がどれだけであるか、アスペクト比はどれだけであるか、フレームレートはどれだけであるかなどの情報を持つ。オーディオストリーム属性情報は、そのオーディオストリームがどのような圧縮コーデックで圧縮されたか、そのオーディオストリームに含まれるチャンネル数は何であるか、何の言語に対応するか、サンプリング周波数がどれだけであるかなどの情報を持つ。これらの情報は、プレーヤが再生する前のデコーダの初期化などに利用される。
本実施の形態においては、上記多重化データのうち、PMTに含まれるストリームタイプを利用する。また、記録媒体に多重化データが記録されている場合には、多重化データ情報に含まれる、ビデオストリーム属性情報を利用する。具体的には、上記各実施の形態で示した動画像符号化方法または装置において、PMTに含まれるストリームタイプ、または、ビデオストリーム属性情報に対し、上記各実施の形態で示した動画像符号化方法または装置によって生成された映像データであることを示す固有の情報を設定するステップまたは手段を設ける。この構成により、上記各実施の形態で示した動画像符号化方法または装置によって生成した映像データと、他の規格に準拠する映像データとを識別することが可能になる。
また、本実施の形態における動画像復号化方法のステップを図34に示す。ステップexS100において、多重化データからPMTに含まれるストリームタイプ、または、多重化データ情報に含まれるビデオストリーム属性情報を取得する。次に、ステップexS101において、ストリームタイプ、または、ビデオストリーム属性情報が上記各実施の形態で示した動画像符号化方法または装置によって生成された多重化データであることを示しているか否かを判断する。そして、ストリームタイプ、または、ビデオストリーム属性情報が上記各実施の形態で示した動画像符号化方法または装置によって生成されたものであると判断された場合には、ステップexS102において、上記各実施の形態で示した動画像復号方法により復号を行う。また、ストリームタイプ、または、ビデオストリーム属性情報が、従来のMPEG−2、MPEG4−AVC、VC−1などの規格に準拠するものであることを示している場合には、ステップexS103において、従来の規格に準拠した動画像復号方法により復号を行う。
このように、ストリームタイプ、または、ビデオストリーム属性情報に新たな固有値を設定することにより、復号する際に、上記各実施の形態で示した動画像復号化方法または装置で復号可能であるかを判断することができる。従って、異なる規格に準拠する多重化データが入力された場合であっても、適切な復号化方法または装置を選択することができるため、エラーを生じることなく復号することが可能となる。また、本実施の形態で示した動画像符号化方法または装置、または、動画像復号方法または装置を、上述したいずれの機器・システムに用いることも可能である。
(実施の形態6)
上記各実施の形態で示した動画像符号化方法および装置、動画像復号化方法および装置は、典型的には集積回路であるLSIで実現される。一例として、図35に1チップ化されたLSIex500の構成を示す。LSIex500は、以下に説明する要素ex501、ex502、ex503、ex504、ex505、ex506、ex507、ex508、ex509を備え、各要素はバスex510を介して接続している。電源回路部ex505は電源がオン状態の場合に各部に対して電力を供給することで動作可能な状態に起動する。
例えば符号化処理を行う場合には、LSIex500は、CPUex502、メモリコントローラex503、ストリームコントローラex504、駆動周波数制御部ex512等を有する制御部ex501の制御に基づいて、AV I/Oex509によりマイクex117やカメラex113等からAV信号を入力する。入力されたAV信号は、一旦SDRAM等の外部のメモリex511に蓄積される。制御部ex501の制御に基づいて、蓄積したデータは処理量や処理速度に応じて適宜複数回に分けるなどされ信号処理部ex507に送られ、信号処理部ex507において音声信号の符号化および/または映像信号の符号化が行われる。ここで映像信号の符号化処理は上記各実施の形態で説明した符号化処理である。信号処理部ex507ではさらに、場合により符号化された音声データと符号化された映像データを多重化するなどの処理を行い、ストリームI/Oex506から外部に出力する。この出力された多重化データは、基地局ex107に向けて送信されたり、または記録メディアex215に書き込まれたりする。なお、多重化する際には同期するよう、一旦バッファex508にデータを蓄積するとよい。
なお、上記では、メモリex511がLSIex500の外部の構成として説明したが、LSIex500の内部に含まれる構成であってもよい。バッファex508も1つに限ったものではなく、複数のバッファを備えていてもよい。また、LSIex500は1チップ化されてもよいし、複数チップ化されてもよい。
また、上記では、制御部ex501が、CPUex502、メモリコントローラex503、ストリームコントローラex504、駆動周波数制御部ex512等を有するとしているが、制御部ex501の構成は、この構成に限らない。例えば、信号処理部ex507がさらにCPUを備える構成であってもよい。信号処理部ex507の内部にもCPUを設けることにより、処理速度をより向上させることが可能になる。また、他の例として、CPUex502が信号処理部ex507、または信号処理部ex507の一部である例えば音声信号処理部を備える構成であってもよい。このような場合には、制御部ex501は、信号処理部ex507、またはその一部を有するCPUex502を備える構成となる。
なお、ここでは、LSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
また、集積回路化の手法はLSIに限るものではなく、専用回路または汎用プロセッサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
さらには、半導体技術の進歩または派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応等が可能性としてありえる。
(実施の形態7)
上記各実施の形態で示した動画像符号化方法または装置によって生成された映像データを復号する場合、従来のMPEG−2、MPEG4−AVC、VC−1などの規格に準拠する映像データを復号する場合に比べ、処理量が増加することが考えられる。そのため、LSIex500において、従来の規格に準拠する映像データを復号する際のCPUex502の駆動周波数よりも高い駆動周波数に設定する必要がある。しかし、駆動周波数を高くすると、消費電力が高くなるという課題が生じる。
この課題を解決するために、テレビex300、LSIex500などの動画像復号化装置は、映像データがどの規格に準拠するものであるかを識別し、規格に応じて駆動周波数を切替える構成とする。図36は、本実施の形態における構成ex800を示している。駆動周波数切替え部ex803は、映像データが、上記各実施の形態で示した動画像符号化方法または装置によって生成されたものである場合には、駆動周波数を高く設定する。そして、上記各実施の形態で示した動画像復号化方法を実行する復号処理部ex801に対し、映像データを復号するよう指示する。一方、映像データが、従来の規格に準拠する映像データである場合には、映像データが、上記各実施の形態で示した動画像符号化方法または装置によって生成されたものである場合に比べ、駆動周波数を低く設定する。そして、従来の規格に準拠する復号処理部ex802に対し、映像データを復号するよう指示する。
より具体的には、駆動周波数切替え部ex803は、図35のCPUex502と駆動周波数制御部ex512から構成される。また、上記各実施の形態で示した動画像復号化方法を実行する復号処理部ex801、および、従来の規格に準拠する復号処理部ex802は、図35の信号処理部ex507に該当する。CPUex502は、映像データがどの規格に準拠するものであるかを識別する。そして、CPUex502からの信号に基づいて、駆動周波数制御部ex512は、駆動周波数を設定する。また、CPUex502からの信号に基づいて、信号処理部ex507は、映像データの復号を行う。ここで、映像データの識別には、例えば、実施の形態5で記載した識別情報を利用することが考えられる。識別情報に関しては、実施の形態5で記載したものに限られず、映像データがどの規格に準拠するか識別できる情報であればよい。例えば、映像データがテレビに利用されるものであるか、ディスクに利用されるものであるかなどを識別する外部信号に基づいて、映像データがどの規格に準拠するものであるか識別可能である場合には、このような外部信号に基づいて識別してもよい。また、CPUex502における駆動周波数の選択は、例えば、図38のような映像データの規格と、駆動周波数とを対応付けたルックアップテーブルに基づいて行うことが考えられる。ルックアップテーブルを、バッファex508や、LSIの内部メモリに格納しておき、CPUex502がこのルックアップテーブルを参照することにより、駆動周波数を選択することが可能である。
図37は、本実施の形態の方法を実施するステップを示している。まず、ステップexS200では、信号処理部ex507において、多重化データから識別情報を取得する。次に、ステップexS201では、CPUex502において、識別情報に基づいて映像データが上記各実施の形態で示した符号化方法または装置によって生成されたものであるか否かを識別する。映像データが上記各実施の形態で示した符号化方法または装置によって生成されたものである場合には、ステップexS202において、駆動周波数を高く設定する信号を、CPUex502が駆動周波数制御部ex512に送る。そして、駆動周波数制御部ex512において、高い駆動周波数に設定される。一方、従来のMPEG−2、MPEG4−AVC、VC−1などの規格に準拠する映像データであることを示している場合には、ステップexS203において、駆動周波数を低く設定する信号を、CPUex502が駆動周波数制御部ex512に送る。そして、駆動周波数制御部ex512において、映像データが上記各実施の形態で示した符号化方法または装置によって生成されたものである場合に比べ、低い駆動周波数に設定される。
さらに、駆動周波数の切替えに連動して、LSIex500またはLSIex500を含む装置に与える電圧を変更することにより、省電力効果をより高めることが可能である。例えば、駆動周波数を低く設定する場合には、これに伴い、駆動周波数を高く設定している場合に比べ、LSIex500またはLSIex500を含む装置に与える電圧を低く設定することが考えられる。
また、駆動周波数の設定方法は、復号する際の処理量が大きい場合に、駆動周波数を高く設定し、復号する際の処理量が小さい場合に、駆動周波数を低く設定すればよく、上述した設定方法に限らない。例えば、MPEG4−AVC規格に準拠する映像データを復号する処理量の方が、上記各実施の形態で示した動画像符号化方法または装置により生成された映像データを復号する処理量よりも大きい場合には、駆動周波数の設定を上述した場合の逆にすることが考えられる。
さらに、駆動周波数の設定方法は、駆動周波数を低くする構成に限らない。例えば、識別情報が、上記各実施の形態で示した動画像符号化方法または装置によって生成された映像データであることを示している場合には、LSIex500またはLSIex500を含む装置に与える電圧を高く設定し、従来のMPEG−2、MPEG4−AVC、VC−1などの規格に準拠する映像データであることを示している場合には、LSIex500またはLSIex500を含む装置に与える電圧を低く設定することも考えられる。また、他の例としては、識別情報が、上記各実施の形態で示した動画像符号化方法または装置によって生成された映像データであることを示している場合には、CPUex502の駆動を停止させることなく、従来のMPEG−2、MPEG4−AVC、VC−1などの規格に準拠する映像データであることを示している場合には、処理に余裕があるため、CPUex502の駆動を一時停止させることも考えられる。識別情報が、上記各実施の形態で示した動画像符号化方法または装置によって生成された映像データであることを示している場合であっても、処理に余裕があれば、CPUex502の駆動を一時停止させることも考えられる。この場合は、従来のMPEG−2、MPEG4−AVC、VC−1などの規格に準拠する映像データであることを示している場合に比べて、停止時間を短く設定することが考えられる。
このように、映像データが準拠する規格に応じて、駆動周波数を切替えることにより、省電力化を図ることが可能になる。また、電池を用いてLSIex500またはLSIex500を含む装置を駆動している場合には、省電力化に伴い、電池の寿命を長くすることが可能である。
(実施の形態8)
テレビや、携帯電話など、上述した機器・システムには、異なる規格に準拠する複数の映像データが入力される場合がある。このように、異なる規格に準拠する複数の映像データが入力された場合にも復号できるようにするために、LSIex500の信号処理部ex507が複数の規格に対応している必要がある。しかし、それぞれの規格に対応する信号処理部ex507を個別に用いると、LSIex500の回路規模が大きくなり、また、コストが増加するという課題が生じる。
この課題を解決するために、上記各実施の形態で示した動画像復号方法を実行するための復号処理部と、従来のMPEG−2、MPEG4−AVC、VC−1などの規格に準拠する復号処理部とを一部共有化する構成とする。この構成例を図39Aのex900に示す。例えば、上記各実施の形態で示した動画像復号方法と、MPEG4−AVC規格に準拠する動画像復号方法とは、エントロピー符号化、逆量子化、デブロッキング・フィルタ、動き補償などの処理において処理内容が一部共通する。共通する処理内容については、MPEG4−AVC規格に対応する復号処理部ex902を共有し、MPEG4−AVC規格に対応しない、本発明の一態様に特有の他の処理内容については、専用の復号処理部ex901を用いるという構成が考えられる。復号処理部の共有化に関しては、共通する処理内容については、上記各実施の形態で示した動画像復号化方法を実行するための復号処理部を共有し、MPEG4−AVC規格に特有の処理内容については、専用の復号処理部を用いる構成であってもよい。
また、処理を一部共有化する他の例を図39Bのex1000に示す。この例では、本発明の一態様に特有の処理内容に対応した専用の復号処理部ex1001と、他の従来規格に特有の処理内容に対応した専用の復号処理部ex1002と、本発明の一態様に係る動画像復号方法と他の従来規格の動画像復号方法とに共通する処理内容に対応した共用の復号処理部ex1003とを用いる構成としている。ここで、専用の復号処理部ex1001、ex1002は、必ずしも本発明の一態様、または、他の従来規格に特有の処理内容に特化したものではなく、他の汎用処理を実行できるものであってもよい。また、本実施の形態の構成を、LSIex500で実装することも可能である。
このように、本発明の一態様に係る動画像復号方法と、従来の規格の動画像復号方法とで共通する処理内容について、復号処理部を共有することにより、LSIの回路規模を小さくし、かつ、コストを低減することが可能である。
なお、上記各実施の形態において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、CPUまたはプロセッサなどのプログラム実行部が、ハードディスクまたは半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。ここで、上記各実施の形態の画像復号化装置などを実現するソフトウェアは、次のようなプログラムである。
すなわち、このプログラムは、コンピュータに、デブロッキングフィルタリング方法の各ステップを実行させる。
以上、本発明の一つまたは複数の態様に係るデブロッキングフィルタリング方法およびデブロッキングフィルタリング装置について、実施の形態に基づいて説明したが、本発明は、この実施の形態に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、本発明の一つまたは複数の態様の範囲内に含まれてもよい。