以下、本発明の実施の形態について図面を参照しながら説明する。
(実施の形態1)
図1は、本発明に係るフィルタリング強度の決定方法を用いた動画像符号化装置の構成を示すブロック図である。
動画像符号化装置は、入力される動画像を圧縮符号化して符号列として出力する装置であり、図1に示すようにピクチャメモリ101、差分演算部102、予測残差符号化部103、符号列生成部104、予測残差復号化部105、加算演算部106、動きベクトル検出部107、動きベクトル記憶部108、動き補償符号化部109、フィルタ処理制御部110、ピクチャメモリ111、スイッチ112、113、および画素間フィルタ114を備えている。
ピクチャメモリ101は、表示時間順にピクチャ単位で入力された動画像を格納する。ここでピクチャとは、フレームおよびフィールドの両者を包含する画面という1つの符号化の単位を意味する。動きベクトル検出部107は、符号化済みの復号化画像データを参照ピクチャとして用いて、そのピクチャ内の探索領域において最適と予測される位置を示す動きベクトルの検出を行う。また、動きベクトル検出部107は、検出した動きベクトルを動き補償符号化部109および動きベクトル記憶部108に通知する。
動き補償符号化部109は、動きベクトル検出部107で検出された動きベクトルを用いてブロックの符号化モードを決定し、この符号化モードに基づいて予測画像データを生成する。この符号化モードとは、マクロブロックをどのような方法で符号化するかを示すものであり、非イントラ符号化(動き補償符号化)であるかイントラ符号化であるか等を示す。例えば、ピクチャ間の相関が低く、動き予測を行うよりもイントラ符号化の方が好ましい場合には、イントラ符号化を選択する。この符号化モードはフィルタ制御部110に通知される。また、動きベクトルと符号化モードは動き補償符号化部109から符号列生成部104に通知される。動きベクトル記憶部108は、動きベクトル検出部107で検出された動きベクトルを記憶する。
差分演算部102は、ピクチャメモリ101より読み出された画像データと、動き補償符号化部109より入力された予測画像データとの差分を演算し、予測残差画像データを生成する。予測残差符号化部103は、入力された予測残差画像データに対して直交変換や量子化等の符号化処理を行い、符号化データを生成する。符号列生成部104は、予測残差符号化部103で生成した符号化データに対して可変長符号化等を行い、さらに動き補償符号化部109から入力された動きベクトルの情報、および符号化モードの情報等を付加することにより符号列を生成する。
予測残差復号化部105は、入力された符号化データに対して逆量子化や逆直交変換等の復号化処理を行い、復号化差分画像データを生成する。加算演算部106は、予測残差復号化部105より入力された復号化差分画像データと、動き補償符号化部109より入力された予測画像データとを加算し、復号化画像データを生成する。ピクチャメモリ111は、フィルタリングされた復号化画像データを格納する。
フィルタ処理制御部110は入力された動きベクトルや符号化モードに応じて、画素間フィルタ114のフィルタリング強度、すなわちフィルタA114a、フィルタB114b、フィルタC114c、フィルタD114d、およびフィルタリングを行わない(skip)の中のどれを用いるかを選択し、スイッチ112およびスイッチ113を制御する。スイッチ112およびスイッチ113は、それぞれ、フィルタ処理制御部110の制御により、端子“1”〜端子“5”のいずれかを選択的に接続するスイッチである。スイッチ113は、加算演算部106の出力端子と、画素間フィルタ114の入力端子との間に設けられている。また、スイッチ112は、ピクチャメモリ111の入力端子と、画素間フィルタ114の出力端子との間に設けられている。
画素間フィルタ114は、例えば、復号化画像データをフィルタリングしてブロック間の境界付近における高周波ノイズであるブロック歪みを除去するデブロック・フィルタであり、それぞれフィルタリング強度が異なるフィルタA114a、フィルタB114b、フィルタC114c、およびフィルタD114dを備えている。このフィルタA114a、フィルタB114b、フィルタC114c、およびフィルタD114dは、フィルタA114aが最もフィルタリング強度が強く、以下フィルタB114b、フィルタC114c、フィルタD114dと順にフィルタリング強度が弱くなり、フィルタD114dが最もフィルタリング強度が弱い。また、フィルタリング強度に対応して、フィルタリングのための演算処理量が異なる。なお、スイッチ112やスイッチ113等、図示する構成はハードウェアとして実装しても、ソフトウェアとして実装してもどちらでもよい。
図2は、ピクチャメモリ101におけるピクチャの順序を示す説明図であり、(a) 入力された順序、(b) 並び替えられた順序を示す説明図である。ここで、縦線はピクチャを示し、各ピクチャの右下に示す記号は1文字目のアルファベットがピクチャタイプ(I、P、またはB)を、2文字目以降の数字が表示時間順のピクチャ番号を示している。また、Pピクチャは、表示時間順で前方にある近傍のIピクチャまたはPピクチャを参照ピクチャとし、Bピクチャは、表示時間順で前方にある近傍のIピクチャまたはPピクチャと、表示時間順で後方にある近傍1枚のIピクチャまたはPピクチャとを参照ピクチャとして用いるものとしている。
図3はピクチャと参照インデックスの説明図である。参照インデックスは、ピクチャメモリ111に格納された参照ピクチャを一意に識別するために用いられ、図3に示すように各ピクチャに対応付けられている番号である。また、参照インデックスは、ブロックをピクチャ間予測により符号化する際に使用する参照ピクチャを指示するために使用される。
第1参照インデックスの値には、まず、表示順序を示す情報において、符号化対象ピクチャより前の参照ピクチャに対し、符号化対象ピクチャに近い順より「0」から始まる値が割り当てられる。符号化対象より前の参照ピクチャ全てに対し「0」から始まる値が割り当てられたら、次に符号化対象ピクチャより後の参照ピクチャに対し、符号化対象ピクチャに近い順から続きの値が割り当てられる。
第2参照インデックスの値には、まず、表示順序を示す情報において、符号化対象ピクチャより後の参照ピクチャに対し、符号化対象ピクチャに近い順より「0」から始まる値が割り当てられる。符号化対象より後の参照ピクチャ全てに対し「0」から始まる値が割り当てられたら、次に符号化対象ピクチャより前の参照ピクチャに対し、符号化対象ピクチャに近い順から続きの値が割り当てられる。
例えば、図3 において第1参照インデックスRidx1が「0」で第2参照インデックスRidx2が「1」である場合、前方向参照ピクチャはピクチャ番号7のBピクチャであり、後方向参照ピクチャはピクチャ番号9のPピクチャである。ここでピクチャ番号は、表示順を示す番号である。なお、図3に示すのは参照インデックスの割り当て方の一例であり、割り当て方はこの図3の例にとらわれない。
次に、上記のように構成された動画像符号化装置の動作について説明する。
入力画像は、例えば図2(a) に示すように表示時間順にピクチャ単位でピクチャメモリ101に入力される。ピクチャメモリ101に入力された各ピクチャは、符号化するピクチャタイプが決定されると、例えば図2(b) に示すように符号化が行われる順に並び替えられる。この符号化順への並び替えは、ピクチャ間予測符号化における参照関係に基づいて行われ、参照ピクチャとして用いられるピクチャが、参照ピクチャとして用いるピクチャよりも先に符号化されるように並び替えられる。なお、ピクチャタイプの決定は、例えば周期的にピクチャタイプを割り当てる方法が一般的に用いられている。
ピクチャメモリ101で並び替えが行われた各ピクチャは、例えば水平16×垂直16画素のグループに分割されたマクロブロック単位で読み出される。また、動き補償および動きベクトルの抽出は、例えば水平8×垂直8画素のグループに分割されたブロック単位で行っている。
ピクチャメモリ101より読み出された対象マクロブロックは、動きベクトル検出部107および差分演算部102に入力される。
動きベクトル検出部107は、ピクチャメモリ111に格納された復号化画像データを参照ピクチャとして用い、マクロブロック内の各ブロックに対して動きベクトルの検出を行う。そして、動きベクトル検出部107は、検出した動きベクトルおよびその参照ピクチャを示す参照インデックスを動き補償符号化部109に対して出力する。
動き補償符号化部109は、動きベクトル検出部107で検出された動きベクトルと参照インデックスを用いて、マクロブロックの符号化モードを決定する。ここで、符号化モードは、例えばBピクチャの場合には、ピクチャ内符号化、前方動きベクトルを用いたピクチャ間予測符号化、後方動きベクトルを用いたピクチャ間予測符号化、2つの動きベクトルを用いたピクチャ間予測符号化、ダイレクトモードの中から、いずれの方法で符号化するかを選択することができるものとする。
ここで、ダイレクトモードにおけるピクチャ間予測方法を、図4を用いて説明する。図4はダイレクトモードにおける動きベクトルを示す説明図であり、ピクチャB8のブロックaをダイレクトモードで符号化する場合を示している。この場合、ピクチャB8の後方にある参照ピクチャであるピクチャP9中の、ブロックaと同じ位置にあるブロックbを有する動きベクトルcを利用する。この動きベクトルcは、ブロックbが符号化された際に用いられた動きベクトルであり、ピクチャP5を参照している。ブロックaは、動きベクトルcをスケーリング処理することによって得られる前方向参照ピクチャであるピクチャP5に対する動きベクトルd、後方向参照ピクチャであるピクチャP9に対する動きベクトルeを用いて、ピクチャP5とピクチャP9とから動き補償が行われる。
動き補償符号化部109は、決定した符号化モードに基づいて予測画像データを生成し、この予測画像データを差分演算部102と加算演算部106とに出力する。なお、動き補償符号化部109がダイレクトモードを選択した場合には、上記のように後方参照ピクチャの中の、対象ブロックと同じ位置にあるブロックの動きベクトルを参照動きベクトルとして利用するので、動き補償符号化部109は、この参照動きベクトルと参照インデックスとを動きベクトル記憶部108より読み出す。また、動き補償符号化部109がピクチャ内符号化を選択した場合には、予測画像データは出力しない。また、動き補償符号化部109は、決定した符号化モードと動きベクトルと参照インデックスの情報をフィルタ処理制御部110および符号列生成部104に対して、参照ピクチャを示す参照インデックスの値をフィルタ処理制御部110に対して出力する。
動き補償符号化部109より予測画像データが入力された差分演算部102は、この予測画像データと、ピクチャメモリ101より読み出されたピクチャB11のマクロブロックの画像データとの差分を演算し、予測残差画像データを生成して予測残差符号化部103へ出力する。
予測残差画像データが入力された予測残差符号化部103は、この予測残差画像データに対して直交変換や量子化等の符号化処理を行い、符号化データを生成して符号列生成部104および予測残差復号化部105へ出力する。符号化データが入力された符号列生成部104は、この符号化データに対して可変長符号化等を行い、さらに動き補償符号化部109から入力された動きベクトルの情報、符号化モードの情報等を付加することにより符号列を生成し、出力する。なお、ダイレクトモードで符号化されたマクロブロックについては、動きベクトルの情報は符号化列には付加しない。
一方、予測残差復号化部105は、入力された符号化データに対して、逆量子化や逆直交変換等の復号化処理を施し、復号化差分画像データを生成して加算演算部106へ出力する。加算演算部106は、復号化差分画像データと、動き補償符号化部109より入力された予測画像データとを加算することにより、復号化画像データを生成し、スイッチ113を介して画素間フィルタ114へ出力する。
復号化画像データが入力された画素間フィルタ114は、復号化画像データをスイッチ112、113により選択されたフィルタA114a、フィルタB114b、フィルタC114c、またはフィルタD114dのいずれかによりフィルタリングする、またはフィルタリングを行わず(skip)、スイッチ112を介してピクチャメモリ111へ格納する。このとき、スイッチ112およびスイッチ113の各端子“1”〜端子“5”を切り換える制御は、フィルタ処理制御部110により以下のように行われる。
図5は、フィルタ処理制御部110におけるフィルタリング強度の決定方法を示すフロー図である。
フィルタ処理制御部110は、復号化画像データにおける垂直及び水平方向の両方のブロック境界に必要なフィルタリングの強度を決定する。このフィルタリングに用いるフィルタの強度を選択するための判定は、図13に示す従来の場合と同様に二つの隣接するブロックp及びブロックqのブロック境界で実行する(ステップS201)。まず、フィルタ処理制御部110は、動き補償符号化部109から出力された各マクロブロックの符号化モードに基づいて、これらのブロックpまたはブロックqがピクチャ内(イントラ)符号化されているか否かの判定を行う(ステップS202)。ここで、ブロックpまたはブロックqの一つがイントラ符号化されている場合(ステップS202でYes)には、フィルタ処理制御部110は、ブロック境界がマクロブロック境界になるか否かの判定を行う(ステップS203)。
この判定の結果、ブロック境界がマクロブロック境界になる場合、すなわち二つのブロックが同じマクロブロックに含まれない場合には、フィルタ処理制御部110は、最も強いフィルタリング強度のフィルタA114a(Bs=4)を選択する(ステップS203でYes)。すなわち、フィルタ処理制御部110は、スイッチ112およびスイッチ113の各端子を“1”に切り換える制御を行う。一方、ブロック境界がマクロブロック境界にならない場合、すなわちこれら二つのブロックが同じマクロブロックに含まれる場合には、フィルタ処理制御部110は、二番目の強度のフィルタB114b(Bs≧3)を選択する(ステップS203でNo)。すなわち、フィルタ処理制御部110は、スイッチ112およびスイッチ113の各端子を“2”に切り換える制御を行う。なお、ここでBs≧3はBsが少なくともこのフローチャートで示す条件で3以上の値であることを示し、Bs=3であるかBsが3より大きい値であるかはここで開示していない他の条件で決定される。以後、この不等号を含む式は本発明で開示していない条件で決定しうる範囲を示している。
上記判定(ステップS202)の結果、ブロックp及びブロックqの両方がイントラ符号化されていない場合(ステップS202でNo)には、フィルタ処理制御部110は、このブロックpまたはブロックqのいずれかが直交変換後の空間周波数成分を示す係数を含むか否かの判定を行う(ステップS204)。ここで、二つのブロックのいずれかが係数を含む場合(ステップS204でYes)には、フィルタ処理制御部110は、三番目に強いフィルタリングの強度のフィルタC114c(Bs≧2)を選択する。すなわち、フィルタ処理制御部110は、スイッチ112およびスイッチ113の各端子を“3”に切り換える制御を行う。
一方、二つのブロックの両方とも係数を含まない、すなわちブロックp及びブロックqの両方で係数が符号化されない場合(ステップS204でNo)には、フィルタ処理制御部110は、ブロックp及びブロックqを含むピクチャがPピクチャであるかBピクチャであるかの判定を行う(ステップS205)。ここで、ブロックp及びブロックqを含むピクチャがPピクチャである場合には、フィルタ処理制御部110は、動き補償符号化部109より入力された参照インデックスの値および動きベクトル記憶部108より入力された動きベクトルに基づいて、ブロックp及びブロックqが参照する参照ピクチャが同じであり、かつブロックp及びブロックqの動きベクトルの垂直成分(V(p,y)及びV(q,y))及び水平成分(V(p,x)及びV(q,x))のそれぞれ差が、一画素よりも少ないか否かの判定を行う(ステップS208)。すなわち、次の式(A)、(B)、(C)をすべて満たすか否かである。
ここで、Ref(p)およびRef(q)は、それぞれブロックp及びブロックqが参照する参照ピクチャを示している。
この判定の結果、ブロックp及びブロックqが参照する参照ピクチャが同じであり、かつブロックp及びブロックqの垂直及び水平動きベクトルのそれぞれ差が一画素よりも少ない場合(ステップS208でYes)には、フィルタ処理制御部110は、フィルタリングを行わない(Bs=0)を選択する。すなわち、フィルタ処理制御部110は、スイッチ112およびスイッチ113の各端子を“5”に切り換える制御を行う。一方、その他の場合(ステップS208でNo)には、フィルタ処理制御部110は、最もフィルタリング強度が弱いフィルタD114d(Bs≧1)を選択する。すなわち、フィルタ処理制御部110は、スイッチ112およびスイッチ113の各端子を“4”に切り換える制御を行う。
上記判定(ステップS205)の結果、ブロックp及びブロックqを含むピクチャがBピクチャである場合には、マクロブロックの符号化モードは、前方動きベクトルを用いたピクチャ間予測符号化、後方動きベクトルを用いたピクチャ間予測符号化、2つの動きベクトルを用いたピクチャ間予測符号化、ダイレクトモードのいずれかである。例えば、ブロックpが前方向予測だけを用い、ブロックqが2つのピクチャを参照する予測を用いる場合には、ブロックpの参照ピクチャの数は「1」であり、かつブロックqの参照ピクチャの数は「2」である。よって、フィルタ処理制御部110は、ブロックp及びブロックqが参照する参照ピクチャの数が同じであるか否かの判定を行う(ステップS206)。この結果、ブロックp及びブロックqが参照する参照ピクチャの数が異なる場合(ステップS206でNo)には、フィルタ処理制御部110は、最もフィルタリング強度が弱いフィルタD114d(Bs≧1)を選択する。
一方、ブロックp及びブロックqが参照する参照ピクチャの数が同じ場合(ステップS206でYes)には、フィルタ処理制御部110は、動き補償符号化部109より入力された参照インデックスの値に基づいて、ブロックp及びブロックqが参照する参照ピクチャが全く同じであるか否かの判定を行う(ステップS207)。この結果、ブロックp及びブロックqが参照する参照ピクチャが1つでも異なる場合(ステップS207でNo)には、フィルタ処理制御部110は、最もフィルタリング強度が弱いフィルタD114d(Bs≧1)を選択する。
一方、ブロックp及びブロックqが参照する参照ピクチャが全く同じ場合(ステップS207でYes)には、フィルタ処理制御部110は、ブロックp及びブロックqでの重み付け予測の重み付け(ABP)係数が同じであるか否かの判定を行う(ステップS209)。この結果、ブロックp及びブロックqの重み付け係数が異なる場合(ステップS209でNo)には、フィルタ処理制御部110は、最もフィルタリング強度が弱いフィルタD114d(Bs≧1)を選択する。ここで重み付け予測とは、ピクチャ間予測において、参照画像の画素値に第1の重み係数αを乗算して更に第2の重み係数βを加算した値を、予測した画素値とする予測方式のことである。
一方、ブロックp及びブロックqの重み付け係数が同じ場合(ステップS209でYes)には、フィルタ処理制御部110は、ブロックp及びブロックqのすべての動きベクトルに対する垂直及び水平動きベクトルのそれぞれ差が、一画素よりも少ないか否かの判定を行う(ステップS210)。すなわち、次の式(D)〜(G)をすべて満たすか否かである。
ここで、Vf、Vbはブロックp及びブロックqそれぞれにおける動きベクトルを示しており、例えば参照ピクチャが1枚である場合には1つしか有さない。
この判定の結果、ブロックp及びブロックqのすべての動きベクトルに対する垂直及び水平動きベクトルのそれぞれ差が一画素よりも少ない場合(ステップS210でYes)には、フィルタ処理制御部110は、フィルタリングを行わない(Bs=0)を選択する。一方、その他の場合(ステップS210でNo)には、フィルタ処理制御部110は、最もフィルタリング強度が弱いフィルタD114d(Bs≧1)を選択する。
なお、上記のようにBピクチャのマクロブロックは、ダイレクトモードを用いて予測することができる。ダイレクトモードが用いられるときには、対象ブロックの動きベクトルは、第2参照インデックスRidx2が「0」である参照ピクチャにおける、対象ブロックと同じ位置に対応するブロックの有する動きベクトルから導き出される。この場合、対象ブロックの前方向参照ピクチャは、対応するブロックの動きベクトルが参照する参照ピクチャであり、対象ブロックの後方向参照ピクチャは第2参照インデックスRidx2が「0」である参照ピクチャである。よって、フィルタ処理制御部110は、導き出された動きベクトルおよび参照ピクチャをフィルタリングの強度を決定するために用いる。
以上のように、ブロックp及びブロックqを含むピクチャがBピクチャである場合に、ブロックp及びブロックqが参照する参照ピクチャの数が同じであるか否か、参照する参照ピクチャが全く同じであるか否かの判定を行っているので、2つのピクチャを参照する予測符号化を用いた場合であっても最適なフィルタリング強度を決定することができる。よって、復号化される動画像の画質を改善するように動画像を符号化することができる。
図6は、本発明に係るフィルタリング強度の決定方法を用いた動画像復号化装置の構成を示すブロック図である。
動画像復号化装置は、動画像符号化装置が符号化した符号列を復号化する装置であり、図6に示すように符号列解析部201、予測残差復号化部202、動き補償復号化部203、動きベクトル記憶部204、フィルタ処理制御部205、ピクチャメモリ206、加算演算部207、スイッチ208、209、および画素間フィルタ210を備えている。
符号列解析部201は、入力された符号列より符号化モードの情報、および符号化時に用いられた動きベクトルの情報等の各種データの抽出を行う。予測残差復号化部202は、入力された予測残差符号化データの復号化を行い、予測残差画像データを生成する。動き補償復号化部203は、符号化時の符号化モードの情報、および動きベクトルの情報等に基づいて、ピクチャメモリ206に格納された参照ピクチャから画像データを取得し、動き補償画像データを生成する。動きベクトル記憶部204は、符号列解析部201により抽出された動きベクトルを記憶する。加算演算部207は、予測残差復号化部202より入力された予測残差画像データと、動き補償復号化部203より入力された動き補償画像データとを加算し、復号化画像データを生成する。ピクチャメモリ206は、フィルタリングされた復号化画像データを格納する。
フィルタ処理制御部205は、画素間フィルタ210のフィルタリング強度、すなわちフィルタA210a、フィルタB210b、フィルタC210c、フィルタD210d、およびフィルタリングを行わない(skip)の中のどれを用いるかを選択し、スイッチ208およびスイッチ209を制御する。スイッチ208およびスイッチ209は、それぞれ、フィルタ処理制御部205の制御により、端子“1”〜端子“5”のいずれかを選択的に接続するスイッチである。スイッチ209は、加算演算部207の出力端子と、画素間フィルタ210の入力端子との間に設けられている。また、スイッチ208は、ピクチャメモリ206の入力端子と、画素間フィルタ210の出力端子との間に設けられている。
画素間フィルタ210は、例えば、復号化画像データをフィルタリングしてブロック間の境界付近における高周波ノイズであるブロック歪みを除去するデブロック・フィルタであり、それぞれフィルタリング強度が異なるフィルタA210a、フィルタB210b、フィルタC210c、およびフィルタD210dを備えている。このフィルタA210a、フィルタB210b、フィルタC210c、およびフィルタD210dは、フィルタA210aが最もフィルタリング強度が強く、以下フィルタB210b、フィルタC210c、フィルタD210dと順にフィルタリング強度が弱くなり、フィルタD210dが最もフィルタリング強度が弱い。また、フィルタリング強度に対応して、フィルタリングのための演算処理量が異なる。
次に、上記のように構成された動画像復号化装置の動作について説明する。
符号列解析部201は、入力された符号列より符号化モードの情報、および動きベクトルの情報等の各種データの抽出を行う。符号列解析部201は、抽出した符号化モードの情報を動き補償復号化部203およびフィルタ処理制御部205へ、動きベクトルの情報と参照インデックスとを動きベクトル記憶部204へ出力する。また、符号列解析部201は、抽出した予測残差符号化データを予測残差復号化部202へ出力する。予測残差符号化データが入力された予測残差復号化部202は、この予測残差符号化データの復号化を行い、予測残差画像データを生成し、加算演算部207へ出力する。
一方、動き補償復号化部203は、符号列解析部201より入力された符号化モードの情報と参照インデックスの値、および動きベクトル記憶部204より読み出した動きベクトルの情報に基づいて、ピクチャメモリ206に格納された参照ピクチャを参照し、動き補償画像データを生成する。次に、動き補償復号化部203は、生成した動き補償画像データを加算演算部207へ出力し、参照ピクチャを示す参照インデックスの値をフィルタ処理制御部205へ出力する。加算演算部207は、動き補償画像データと、予測残差復号化部202より入力された予測残差画像データとを加算して復号化画像データを生成し、スイッチ209を介して画素間フィルタ210へ出力する。
復号化画像データが入力された画素間フィルタ210は、復号化画像データをスイッチ208、209により選択されたフィルタA210a、フィルタB210b、フィルタC210c、またはフィルタD210dのいずれかによりフィルタリングする、またはフィルタリングを行わず(skip)、スイッチ208を介してピクチャメモリ206へ格納する。このとき、スイッチ208およびスイッチ209の各端子“1”〜端子“5”を切り換える制御は、フィルタ処理制御部205により上記動画像符号化装置のフィルタ処理制御部110の動作と同様に行われる。
以上のように、ブロックp及びブロックqを含むピクチャがBピクチャである場合に、ブロックp及びブロックqが参照する参照ピクチャの数が同じであるか否か、参照する参照ピクチャが全く同じであるか否かの判定を行っているので、2つのピクチャを参照する予測符号化を用いた場合であっても最適なフィルタリング強度を決定することができる。よって、動画像の画質を改善して復号化を行うことができる。
(実施の形態2)
本実施の形態では、上記実施の形態1で説明したフィルタ処理制御部110におけるフィルタリング強度の決定方法が一部相違する。なお、構成については実施の形態1と同様であり、詳細な説明を省略する。また、フィルタ処理制御部110におけるフィルタリング強度の決定についても実施の形態1と同様の部分については、説明を省略する。また、動画像復号化装置の場合は、フィルタ処理制御部205おけるフィルタリング強度の決定方法である。
図7は、実施の形態2におけるフィルタリング強度の決定方法を示すフロー図である。
フィルタ処理制御部110が行った、ブロックpまたはブロックqのいずれかが直交変換後の空間周波数成分を示す係数を含むか否かの判定(ステップS304)の結果、二つのブロックのいずれかが係数を含む場合(ステップS304でYes)に、以下の処理を行っている。
フィルタ処理制御部110は、ブロックp及びブロックqを含むピクチャがPピクチャであるかBピクチャであるかの判定を行う(ステップS311)。ここで、ブロックp及びブロックqを含むピクチャがPピクチャである場合には、フィルタ処理制御部110は、三番目に強いフィルタリングの強度のフィルタC114c(Bs(p)≧2)を選択する。一方、ブロックp及びブロックqを含むピクチャがBピクチャである場合には、フィルタ処理制御部110は、Pピクチャである場合のBs(p)よりもフィルタリング強度の強いBs(b)(Bs(b)>Bs(p))を選択する。
以上のように、ブロックpまたはブロックqのいずれかが直交変換後の空間周波数成分を示す係数を含む場合に、ブロックp及びブロックqを含むピクチャがPピクチャであるかBピクチャであるかの判定を行っているので、2つのピクチャを参照する予測符号化を用いた場合であっても最適なフィルタリング強度を決定することができる。よって、復号化される動画像の画質を改善するように動画像を符号化することができる。
なお、上記各実施の形態において、フィルタ処理制御部110がフィルタリングを行わない(Bs=0)を選択した場合に、フィルタリングを行わない(skip)のではなく、例えば最もフィルタリング強度が弱いフィルタD114d(Bs≧1)よりフィルタリング強度が弱いフィルタを用いても構わない。
また、上記各実施の形態において、フィルタ処理制御部110は、図5または図8のフローチャートで示した全てのステップを実行する必要は無く、一部のステップの処理を省略しても構わない。例えば、ステップS207(S307)における判定の結果、ブロックp及びブロックqが参照する参照ピクチャが全く同じ場合(ステップS207(S307)でYes)に、ステップS209(S309)の判定処理を行っているが、この処理を行わずにステップS210(S310)の判定処理を行っても構わない。また、各ステップの実行順序が入れ替わっていても構わない。
また、上記各実施の形態では、符号化の単位としてピクチャを用いて説明したが、フィールドまたはフレームであっても構わない。
(実施の形態3)
さらに、上記各実施の形態で示した動画像符号化方法または動画像復号化方法の構成を実現するためのプログラムを、フレキシブルディスク等の記憶媒体に記録するようにすることにより、上記各実施の形態で示した処理を、独立したコンピュータシステムにおいて簡単に実施することが可能となる。
図8は、各実施の形態の動画像符号化方法および動画像復号化方法をコンピュータシステムにより実現するためのプログラムを格納するための記憶媒体についての説明図である。
図8(b)は、フレキシブルディスクの正面からみた外観、断面構造、及びフレキシブルディスクを示し、図8(a)は、記録媒体本体であるフレキシブルディスクの物理フォーマットの例を示している。フレキシブルディスクFDはケースF内に内蔵され、該ディスクの表面には、同心円状に外周からは内周に向かって複数のトラックTrが形成され、各トラックは角度方向に16のセクタSeに分割されている。従って、上記プログラムを格納したフレキシブルディスクでは、上記フレキシブルディスクFD上に割り当てられた領域に、上記プログラムとしての動画像符号化方法が記録されている。
また、図8(c)は、フレキシブルディスクFDに上記プログラムの記録再生を行うための構成を示す。上記プログラムをフレキシブルディスクFDに記録する場合は、コンピュータシステムCsから上記プログラムとしての動画像符号化方法または動画像復号化方法をフレキシブルディスクドライブFDDを介して書き込む。また、フレキシブルディスク内のプログラムにより上記動画像符号化方法をコンピュータシステム中に構築する場合は、フレキシブルディスクドライブによりプログラムをフレキシブルディスクから読み出し、コンピュータシステムに転送する。
なお、上記説明では、記録媒体としてフレキシブルディスクを用いて説明を行ったが、光ディスクを用いても同様に行うことができる。また、記録媒体はこれに限らず、ICカード、ROMカセット等、プログラムを記録できるものであれば同様に実施することができる。
さらにここで、上記実施の形態で示した動画像符号化方法や動画像復号化方法の応用例とそれを用いたシステムを説明する。
図9は、コンテンツ配信サービスを実現するコンテンツ供給システムex100の全体構成を示すブロック図である。通信サービスの提供エリアを所望の大きさに分割し、各セル内にそれぞれ固定無線局である基地局ex107〜ex110が設置されている。
このコンテンツ供給システムex100は、例えば、インターネットex101にインターネットサービスプロバイダex102および電話網ex104、および基地局ex107〜ex110を介して、コンピュータex111、PDA(personal digital assistant)ex112、カメラex113、携帯電話ex114、カメラ付きの携帯電話ex115などの各機器が接続される。
しかし、コンテンツ供給システムex100は図9のような組合せに限定されず、いずれかを組み合わせて接続するようにしてもよい。また、固定無線局である基地局ex107〜ex110を介さずに、各機器が電話網ex104に直接接続されてもよい。
カメラex113はデジタルビデオカメラ等の動画撮影が可能な機器である。また、携帯電話は、PDC(Personal Digital Communications)方式、CDMA(Code Division Multiple Access)方式、W−CDMA(Wideband-Code Division Multiple Access)方式、若しくはGSM(Global System for Mobile Communications)方式の携帯電話機、またはPHS(Personal Handyphone System)等であり、いずれでも構わない。
また、ストリーミングサーバex103は、カメラex113から基地局ex109、電話網ex104を通じて接続されており、カメラex113を用いてユーザが送信する符号化処理されたデータに基づいたライブ配信等が可能になる。撮影したデータの符号化処理はカメラex113で行っても、データの送信処理をするサーバ等で行ってもよい。また、カメラex116で撮影した動画データはコンピュータex111を介してストリーミングサーバex103に送信されてもよい。カメラex116はデジタルカメラ等の静止画、動画が撮影可能な機器である。この場合、動画データの符号化はカメラex116で行ってもコンピュータex111で行ってもどちらでもよい。また、符号化処理はコンピュータex111やカメラex116が有するLSIex117において処理することになる。なお、動画像符号化・復号化用のソフトウェアをコンピュータex111等で読み取り可能な記録媒体である何らかの蓄積メディア(CD−ROM、フレキシブルディスク、ハードディスクなど)に組み込んでもよい。さらに、カメラ付きの携帯電話ex115で動画データを送信してもよい。このときの動画データは携帯電話ex115が有するLSIで符号化処理されたデータである。
このコンテンツ供給システムex100では、ユーザがカメラex113、カメラex116等で撮影しているコンテンツ(例えば、音楽ライブを撮影した映像等)を上記実施の形態同様に符号化処理してストリーミングサーバex103に送信する一方で、ストリーミングサーバex103は要求のあったクライアントに対して上記コンテンツデータをストリーム配信する。クライアントとしては、上記符号化処理されたデータを復号化することが可能な、コンピュータex111、PDAex112、カメラex113、携帯電話ex114等がある。このようにすることでコンテンツ供給システムex100は、符号化されたデータをクライアントにおいて受信して再生することができ、さらにクライアントにおいてリアルタイムで受信して復号化し、再生することにより、個人放送をも実現可能になるシステムである。
このシステムを構成する各機器の符号化、復号化には上記各実施の形態で示した動画像符号化装置あるいは動画像復号化装置を用いるようにすればよい。
その一例として携帯電話について説明する。
図10は、上記実施の形態で説明した動画像符号化方法と動画像復号化方法を用いた携帯電話ex115を示す図である。携帯電話ex115は、基地局ex110との間で電波を送受信するためのアンテナex201、CCDカメラ等の映像、静止画を撮ることが可能なカメラ部ex203、カメラ部ex203で撮影した映像、アンテナex201で受信した映像等が復号化されたデータを表示する液晶ディスプレイ等の表示部ex202、操作キーex204群から構成される本体部、音声出力をするためのスピーカ等の音声出力部ex208、音声入力をするためのマイク等の音声入力部ex205、撮影した動画もしくは静止画のデータ、受信したメールのデータ、動画のデータもしくは静止画のデータ等、符号化されたデータまたは復号化されたデータを保存するための記録メディアex207、携帯電話ex115に記録メディアex207を装着可能とするためのスロット部ex206を有している。記録メディアex207はSDカード等のプラスチックケース内に電気的に書換えや消去が可能な不揮発性メモリであるEEPROM(Electrically Erasable and Programmable Read Only Memory)の一種であるフラッシュメモリ素子を格納したものである。
さらに、携帯電話ex115について図11を用いて説明する。携帯電話ex115は表示部ex202及び操作キーex204を備えた本体部の各部を統括的に制御するようになされた主制御部ex311に対して、電源回路部ex310、操作入力制御部ex304、画像符号化部ex312、カメラインターフェース部ex303、LCD(Liquid Crystal Display)制御部ex302、画像復号化部ex309、多重分離部ex308、記録再生部ex307、変復調回路部ex306及び音声処理部ex305が同期バスex313を介して互いに接続されている。
電源回路部ex310は、ユーザの操作により終話及び電源キーがオン状態にされると、バッテリパックから各部に対して電力を供給することによりカメラ付ディジタル携帯電話ex115を動作可能な状態に起動する。
携帯電話ex115は、CPU、ROM及びRAM等でなる主制御部ex311の制御に基づいて、音声通話モード時に音声入力部ex205で集音した音声信号を音声処理部ex305によってディジタル音声データに変換し、これを変復調回路部ex306でスペクトラム拡散処理し、送受信回路部ex301でディジタルアナログ変換処理及び周波数変換処理を施した後にアンテナex201を介して送信する。また携帯電話機ex115は、音声通話モード時にアンテナex201で受信した受信データを増幅して周波数変換処理及びアナログディジタル変換処理を施し、変復調回路部ex306でスペクトラム逆拡散処理し、音声処理部ex305によってアナログ音声データに変換した後、これを音声出力部ex208を介して出力する。
さらに、データ通信モード時に電子メールを送信する場合、本体部の操作キーex204の操作によって入力された電子メールのテキストデータは操作入力制御部ex304を介して主制御部ex311に送出される。主制御部ex311は、テキストデータを変復調回路部ex306でスペクトラム拡散処理し、送受信回路部ex301でディジタルアナログ変換処理及び周波数変換処理を施した後にアンテナex201を介して基地局ex110へ送信する。
データ通信モード時に画像データを送信する場合、カメラ部ex203で撮像された画像データをカメラインターフェース部ex303を介して画像符号化部ex312に供給する。また、画像データを送信しない場合には、カメラ部ex203で撮像した画像データをカメラインターフェース部ex303及びLCD制御部ex302を介して表示部ex202に直接表示することも可能である。
画像符号化部ex312は、本願発明で説明した動画像符号化装置を備えた構成であり、カメラ部ex203から供給された画像データを上記実施の形態で示した動画像符号化装置に用いた符号化方法によって圧縮符号化することにより符号化画像データに変換し、これを多重分離部ex308に送出する。また、このとき同時に携帯電話機ex115は、カメラ部ex203で撮像中に音声入力部ex205で集音した音声を音声処理部ex305を介してディジタルの音声データとして多重分離部ex308に送出する。
多重分離部ex308は、画像符号化部ex312から供給された符号化画像データと音声処理部ex305から供給された音声データとを所定の方式で多重化し、その結果得られる多重化データを変復調回路部ex306でスペクトラム拡散処理し、送受信回路部ex301でディジタルアナログ変換処理及び周波数変換処理を施した後にアンテナex201を介して送信する。
データ通信モード時にホームページ等にリンクされた動画像ファイルのデータを受信する場合、アンテナex201を介して基地局ex110から受信した受信データを変復調回路部ex306でスペクトラム逆拡散処理し、その結果得られる多重化データを多重分離部ex308に送出する。
また、アンテナex201を介して受信された多重化データを復号化するには、多重分離部ex308は、多重化データを分離することにより画像データのビットストリームと音声データのビットストリームとに分け、同期バスex313を介して当該符号化画像データを画像復号化部ex309に供給すると共に当該音声データを音声処理部ex305に供給する。
次に、画像復号化部ex309は、本願発明で説明した動画像復号化装置を備えた構成であり、画像データのビットストリームを上記実施の形態で示した符号化方法に対応した復号化方法で復号化することにより再生動画像データを生成し、これをLCD制御部ex302を介して表示部ex202に供給し、これにより、例えばホームページにリンクされた動画像ファイルに含まれる動画データが表示される。このとき同時に音声処理部ex305は、音声データをアナログ音声データに変換した後、これを音声出力部ex208に供給し、これにより、例えばホームページにリンクされた動画像ファイルに含まる音声データが再生される。
なお、上記システムの例に限られず、最近は衛星、地上波によるディジタル放送が話題となっており、図12に示すようにディジタル放送用システムにも上記実施の形態の少なくとも動画像符号化装置または動画像復号化装置のいずれかを組み込むことができる。具体的には、放送局ex409では映像情報のビットストリームが電波を介して通信または放送衛星ex410に伝送される。これを受けた放送衛星ex410は、放送用の電波を発信し、この電波を衛星放送受信設備をもつ家庭のアンテナex406で受信し、テレビ(受信機)ex401またはセットトップボックス(STB)ex407などの装置によりビットストリームを復号化してこれを再生する。また、記録媒体であるCDやDVD等の蓄積メディアex402に記録したビットストリームを読み取り、復号化する再生装置ex403にも上記実施の形態で示した動画像復号化装置を実装することが可能である。この場合、再生された映像信号はモニタex404に表示される。また、ケーブルテレビ用のケーブルex405または衛星/地上波放送のアンテナex406に接続されたセットトップボックスex407内に動画像復号化装置を実装し、これをテレビのモニタex408で再生する構成も考えられる。このときセットトップボックスではなく、テレビ内に動画像復号化装置を組み込んでも良い。また、アンテナex411を有する車ex412で衛星ex410からまたは基地局ex107等から信号を受信し、車ex412が有するカーナビゲーションex413等の表示装置に動画を再生することも可能である。
更に、画像信号を上記実施の形態で示した動画像符号化装置で符号化し、記録媒体に記録することもできる。具体例としては、DVDディスクex421に画像信号を記録するDVDレコーダや、ハードディスクに記録するディスクレコーダなどのレコーダex420がある。更にSDカードex422に記録することもできる。レコーダex420が上記実施の形態で示した動画像復号化装置を備えていれば、DVDディスクex421やSDカードex422に記録した画像信号を再生し、モニタex408で表示することができる。
なお、カーナビゲーションex413の構成は例えば図11に示す構成のうち、カメラ部ex203とカメラインターフェース部ex303、画像符号化部ex312を除いた構成が考えられ、同様なことがコンピュータex111やテレビ(受信機)ex401等でも考えられる。
また、上記携帯電話ex114等の端末は、符号化器・復号化器を両方持つ送受信型の端末の他に、符号化器のみの送信端末、復号化器のみの受信端末の3通りの実装形式が考えられる。
このように、上記実施の形態で示した動画像符号化方法あるいは動画像復号化方法を上述したいずれの機器・システムに用いることは可能であり、そうすることで、上記実施の形態で説明した効果を得ることができる。
また、本発明はかかる上記実施形態に限定されるものではなく、本発明の範囲を逸脱することなく種々の変形または修正が可能である。