画像および動画像信号は、典型的にノイズを含む。このようなノイズは、例えば、画像信号またはビデオ信号のソースに依存する、様々な統計量を持っている。ノイズの統計量は変化できる。これは、典型的に、経時的に変化し、空間的な位置によっても変化する。例えば、フィルムカメラによって得られるビデオ信号は、典型的に、加算カメラノイズを含む。これに対し、超音波センサまたは合成開口レーダ(SAR)によって得られたビデオ信号は、乗算ノイズを含む。このように、符号化された信号のノイズの統計量は、変化する。
さらに、画像および動画像符号化は、典型的に、量子化を含む。量子化は、さらに、量子化ノイズと呼ばれる加算ノイズにより、ビデオ信号を破損させる。量子化ノイズの統計量は、量子化誤差符号化のような−何もない、空間的または時間的のような、適用された符号化の種類により変化する。適用された符号化の種類は、通常、ブロックの間で変化する。
一般的に、入力画像またはビデオ信号は、既に、若干のノイズ(入力ノイズ)を含んでいる。さらに、画像/動画像圧縮では、さらに、量子化ノイズのような画像内のノイズが、さらに画像に含まれる結果となる。
異なる適用では、フィルタ処理の目的が異なっていても構わない。例えば、いくつかの適用では、両方の種類のノイズ、入力ノイズおよび画像/動画像圧縮に起因するノイズを抑えるあるいは減らすことが望ましい。一方、むしろ入力ノイズを維持することが望ましい適用もある。例えば、セルロイドフィルムに保存された画像または動画像は、特徴的なフィルム粒子雑音を含む。いくつかの適用(例えば、フィルムアーカイブの2値化)では、画像/動画像の中のこの種類のノイズを維持することが望ましい。
一般的に、既知のフィルタ技術は、ノイズが特定の統計量を持つことを前提として、ノイズの低減を目的としている。画像または動画像が仮定されたものより異なる統計量を持つ場合は、前記前提の元で設計されたフィルタ処理は、ノイズを効果的に取り除くことができない。
本発明によれば、画像信号のフィルタ処理のために異なるフィルタを適用する順序が選択される。符号化パラメータおよび/または入力画像信号に応じたフィルタ処理順序の選択は、下記に示すように、符号化効率を向上させる場合がある。このフィルタ処理のシーケンスの選択の柔軟性は、さらに、抑制する/低減することが望ましい空間ノイズのフィルタを1番目とすることを可能にする。
エンコーダにおいて、フィルタの順序付けの選択は、符号化パラメータまたは画像信号の性質に基づいて実行される。符号化パラメータは、フィルタ処理される所定の画像(ブロック)の符号化の前に設定されるエンコーダパラメータである。このようなエンコーダパラメータは、例えば、量子化ステップ、予測のタイプ、量子化が実行される領域、その他であっても構わない。あるいは、それは、ユーザにより符号化の前に提供される、フィルタ処理の順序を専用に示す設定であっても構わない。
さらに、適用されるフィルタならびにフィルタの数が選択されても構わない。好ましくは、様々なフィルタタイプ(既に知られ適用されたフィルタならびに新しいフィルタ、適応フィルタが含まれても構わない)が利用可能であることが望ましい。1または複数のこれらのフィルタは、その後、適用シーケンス(順序)と同様に、適応的に選ばれる。本発明の実施の形態によれば、フィルタの選択およびそれらの適用順序の両方とも、デコーダ側で符号化され送信される。動画像のハイブリッド符号化の場合には、例えば、ループ内でおよび/またはポストフィルタ処理のステージで、実行されても構わない。本発明の他の実施の形態によれば、フィルタの選択および/または適用順序は、エンコーダおよびデコーダで同じ方法で黙示的に実行される。これにより、エンコーダとデコーダとの間でさらなるシグナリングが必要なくなる。
図3Aは、入力された信号sにノイズqが付加されてノイズ付加信号s’が生成されるシステム300aを示す図である。ノイズ付加信号s’は、その後、フィルタ処理された信号S”Aを得るために2つの異なるフィルタ310および320によってフィルタ処理される。ノイズ付加信号s’は、最初に、信号S”Aを出力する第一フィルタ310によってフィルタ処理される。第一フィルタ310の出力信号S’Aは、その後、フィルタ処理された信号S’”Aを出力する第二フィルタ230に入力される。図3Aに示される第一フィルタの略図では、第一の順序の信号係数aを持つ有限インパルス応答フィルタを示している。ここでのノイズ付加信号s’のフィルタ処理は、ノイズ付加信号s’に信号フィルタ係数aを乗算して実行される。同じ例には、第二フィルタ320は、ノイズ付加信号s’が0とS1の間の値を持つ時は0が出力され、ノイズ付加信号s’がS1より大きい値を持つ時は入力されたノイズ付加信号の線形関数の値が出力されるフィルタ関数を持つ、ハイパスフィルタとして示されている。しかしながら、フィルタ310および320は、単なる例であり、他のフィルタタイプが代わりに使用されていても構わない。
図3Bは、システム300aと似たようなシステム300bを示している。しかし、図3Bは、フィルタ310と320の順序が異なっている。特に、入力信号sは、ノイズqが付加されてノイズ付加信号s’となり、フィルタ320に入力される。フィルタ320でのノイズ付加入力信号s’に対するフィルタ処理により、信号s”Bが得られる。フィルタ320によってフィルタ処理された信号s”Bは、その後、フィルタ310に入力されてフィルタ処理され、最終的に、フィルタ処理信号s’”Bが生成される。
本発明によれば、310および320のようなフィルタの順序は選択されても構わない。これは、システム300aまたはシステム300bが、入力ノイズ付加信号s’のフィルタ処理に利用されることを意味している。このような複数のフィルタの適用のためのシーケンスの選択は、符号化の効率を向上させる場合がある。効率の増加は、異なる入力ノイズ付加信号s’に対してフィルタ適用シーケンスを異ならせることは、下記に示されるように、より高品質となる場合があるという事実によるものである。
図4Aは、入力信号sの確率関数P(s)410とノイズ信号qの確率関数P(q)420を表す図である。図3Aおよび図3Bのフィルタ310のフィルタ係数は、a=0.5およびs1=0.75である。それぞれ確率分布410および420を持つ入力信号sとノイズ信号qとを加算して生成されたノイズ付加信号s’が、システム300aに入力されるならば、フィルタ処理された信号s’”Aは、結果としてs’”A=0になる。対応する平均平方誤差は、以下の式で表される。
一方、確率分布410を持つ入力信号sと確率分布420を持つノイズ信号qとを加算することによって得られたノイズ付加信号s’が、システム300bに入力されるならば、フィルタ処理された信号S’”Bは、結果としてS’”B=0.5になる。対応する平均平方誤差は、以下の式で表される。
上記から分かるように、入力信号sとノイズ信号qが与えられると、システム300bは、高品質のフィルタ処理された信号S’”を生成する。
図4Bは、他の確率関数430を持つ入力信号sと他の確率関数440を持つノイズ信号表示を表す図である。上述した例と同様に、第一フィルタ310および第二フィルタ320が、それぞれ、パラメータa=0.5およびs1=0.75を持つと仮定する。入力ノイズ付加信号s’は、確率分布430を持つ入力信号sと確率分布440を持つノイズ信号qとを加算することにより得られる。このようなノイズ付加信号s’が、システム300aに入力されると、フィルタ処理された信号s’”Aは、s’”A=0になる。対応する平均平方誤差は、以下の式で表される。
一方、入力信号s’がシステム300bに入力されると、フィルタ処理された信号S’”Bは、S’”B=0.5になる。対応する平均平方誤差は、以下の式で表される。
上記から分かるように、確率分布430および440を持つ入力信号sとノイズ信号qとを加算して得られるノイズ付加信号s’が入力されると、システム300aは、高品質のフィルタ処理された信号S’”を生成する。従って、フィルタ処理した信号の品質は、フィルタ310と320の順序に依存する。さらに、異なる種類の入力信号とノイズ信号のために、適用されるフィルタの異なるシーケンスを、高品質のフィルタ処理された信号を意味する歪みの少なさにつながる場合がある。
図5は、本発明の実施の形態によるエンコーダを示すブロック図である。入力信号502は、上述した空間的または時間的な予測590に基づいている。結果として生成される予測信号591は、入力信号502から差し引かれ、結果として、誤差予測信号が得られる。誤差予測信号は、空間または周波数領域で適応予測誤差符号化501用いてさらに符号化される。特に、適応予測誤差符号化は、空間領域または周波数領域のいずれも、スイッチ507に従って適用される場合がある。空間領域の符号化では、量子化520が予測誤差信号に適用される。周波数領域の符号化では、最初に変換510が予測誤差信号に適用され、その後、量子化530が変換510から出力された変換係数に適用される。予測誤差に対する量子化の結果は、さらに、エントロピー符号化部550に入力される。予測誤差信号の量子化520は、空間領域で予測誤差信号上に量子化ノイズを加えると見なせる。予測誤差信号の変換530は、すなわち、周波数領域(空間周波数の領域)で変換係数上に量子化ノイズを加えると見なせる。この実施の形態では、0に向かうブロックの全ての予測誤差のサンプルの量子化は、この場合にはデコーダは逆変換の実行を必要としないことから、空間領域における量子化および/または逆量子化であると考えても構わない。
予測誤差信号の符号化の後、画像信号は、量子化された予測誤差信号を予測信号591に加えることによって再構築される。図5では、スイッチ547はスイッチ507と連動して、空間領域の符号化の出力または周波数領域の符号化の出力を選択する。復元の前に、周波数領域で符号化された予測誤差信号には、逆変換540が適用されなければならない。再構築された画像信号は、フィルタ処理される。本発明によれば、複数のフィルタを適用するシーケンスが選択される。この例では、2つの異なるフィルタ:空間領域のフィルタと周波数領域のフィルタが、再構築画像信号に適用される。
量子化が実行された領域は、量子化ノイズが含まれる領域を意味し、第一フィルタが最適である。予測誤差信号が空間領域で符号化されるならば、再構築画像信号に対して、空間領域においても、フィルタ処理を施すことが最適である。これを容易にするために、第一フィルタ570は、空間領域に適用されても構わない。周波数領域で予測誤差の符号化が実行されるならば、周波数領域の第二フィルタ575を持つ再構築されたビデオ信号のフィルタが最適である。
フィルタ処理の最初のステージ571の目的は、量子化が実行された領域と同じ領域で、主要ノイズを低減することである。フィルタ処理の第二ステージ581は、残りのノイズをさらに低減するために適用される。特に、予測誤差の符号化が区間領域で実行されるならば、第二フィルタ580は、既に空間領域でフィルタ処理570された信号に対し、周波数領域で適用される。
同様に、予測誤差信号が周波数領域で符号化されるならば、空間領域の第一フィルタ585は、既に第二フィルタ575において周波数領域でフィルタ処理された信号に対して適用される。フィルタ処理を適用する2つの順序の間のスイッチング、すなわち、空間領域のフィルタを適用し、その後に周波数領域のフィルタを適用すること、または、周波数領域のフィルタを適用し、その後に空間領域のフィルタを適用することは、スイッチ563、564、565および566により実行される。これは、ユニット560が決定したフィルタ順序により制御される。フィルタ順序決定ユニット560は、量子化誤差の符号化が空間領域で実行されたか周波数領域で実行されたかを特定するスイッチ507および547の位置に基づいてスイッチ563、564、565および566を制御しても構わない。予測誤差の符号化のタイプは、典型的に、デコーダによって信号化されるので、何も付加しない信号化は、デコーダで、フィルタ処理順序を決定するために必要とされる。周波数領域フィルタは、線形または非線形の、固定化されたあるいは付加的なフィルタ係数を持つフィルタであっても構わない。
しかしながら、本発明は、これらに制限されるものではなく、一般的に、フィルタ処理の順序の決定は、量子化誤差信号の符号化が空間領域で実行されたか周波数領域で実行されたかに関わらず、独立して実行されても構わない。この場合において、本発明の他の実施形態によれば、フィルタ処理561の順序の選択は、550でビットストリームに埋め込まれ、デコーダ側に提供するのに適している。フィルタ順序決定ユニット560が、スイッチ507および547によりフィルタ処理の順序を決定した場合、デコーダ側は、画像データの復号が空間領域で行われるか周波数領域で行われるかに基づいて、その順序を黙示的に導き出しても構わない。フィルタ処理のシーケンス指標561は、ビットストリームに埋め込まれる前に、エントロピー符号化されても構わない。
本発明の他の実施の形態によれば、フィルタ処理順序は、予測誤差信号の量子化に適用された量子化ステップに基づいて選択される。
図6は、エンコーダに入力される乗算ノイズを含む画像を示す図である。この画像は、650で予測され、予測信号651は、605で入力信号sから差し引かれる。結果として生じる予測誤差信号は、その後、変換610され、精密量子化を用いて量子化620される。これは、比較的細かい量子化ステップを持つ量子化器であることを意味している。量子化され変換された複数の係数は、その後、エントロピー符号化され、ビットストリームに埋め込み生成される。さらに、量子化された複数の変換係数は、さらに、逆変換630され、予測信号651を逆変換された信号に加えることによって再構築される画像信号の再構築635のために用いられる。
量子化ステップのサイズに依存して、フィルタ順序決定ユニット660は、再構築画像信号に対するフィルタ処理のための第一フィルタおよび第二フィルタを選択する。特に、図6は、乗算ノイズを取り除くためにフィルタ670を最初に適用し、その後、第一フィルタでフィルタ処理された信号に、加算ノイズを取り除くための第二フィルタ680を適用する結果となる場合のスイッチ663、664、665および666の位置を示している。複数のスイッチの位置決めは、精密量子化620、すなわち、かなり細かい量子化ステップを持つ量子化を示す、量子化パラメータのような、符号化パラメータから得られる。前述した例と同様に、フィルタシーケンス指標661は、フィルタ順序決定ユニット660により生成され、エントロピー符号化部640に入力されても構わない。エントロピー符号化部640では、フィルタシーケンス指標は、さらに、符号化画像信号を含むビットストリームに埋め込まれる。埋め込まれた指標は、画像信号の符号化効率の向上のために、符号化されても構わない。
図7は、図6に示すエンコーダに類似するエンコーダを示すブロック図である。しかしながら、図7のエンコーダでは、変換610と、予測誤差信号の量子化720が適用される。これは、量子化ステップがむしろ大きいことを意味している。この場合、フィルタ順序決定ユニット660は、複数のフィルタの異なる適用順序を選択する。特に、スイッチ663、664、665および666は、再構築画像信号に対するフィルタの設定を、最初に加算量子化ノイズを除去するために第二フィルタ675を用い、その後、乗算ノイズを除去するために第一フィルタを用いるように、切り替えられる。
図6および図7に示されるエンコーダに入力される画像には、乗算ノイズが含まれる。これは、たとえば、合成開口レーダ信号または超音波信号である場合がある。フィルタ順序は、量子化620および720に起因する量子化ノイズの付加量に依存して、選択される。特に、加算ノイズが乗算ノイズより大きいエネルギーを持つならば、図7に示すように、加算ノイズの低減は、フィルタ処理の最初のステージで実行され、乗算ノイズの低減のための2番目のフィルタ処理のステージが後に続く。一方、加算ノイズが乗算ノイズより低いエネルギーを持つならば、図6に示すように、乗算ノイズの低減が最初のステージで実行され、2番目のステージで、加算量子化ノイズが低減される。
前述の例では、適用されるフィルタが決定され、順序決定ユニット560および660は、これらのフィルタが適用されるシーケンスのみを選択する。しかしながら、入力信号に基づいて、および、符号化設定に基づいて、適用されるフィルタの数、および/またはタイプ、および/または係数を、付加的に選択することは、有益である場合がある。
本発明の他の実施の形態では、フィルタ順序の選択に加えて、フィルタ処理の選択を行っても構わない。図8は、Nステージのループ内フィルタを持つデコーダの全般的な例を示している。ビットストリーム801が、エントロピー復号部810に入力する。エントロピー符号化部は、ビットストリーム801から、フィルタおよび/またはそれらの適用のシーケンスの選択を指し示すための制御情報811を抽出する。さらにまた、エントロピー復号部810は、ビットストリームから、変換された予測誤差信号を抽出する。これは、逆変換され、再構築画像信号s’の復元のために用いられる。復元は、予測誤差信号e’と予測信号s^と加えることにより実行される。予測信号s^は、予測840による予測、例えば、時間または空間予測の結果である。結果として生じる再構築画像信号s’は、その後、複数のループ内フィルタのカスケード接続に、入力される。特に、図8は、Nステージのフィルタ処理のステージを持つ一般的なスキームを示している。ループ内フィルタ880において、フィルタ処理の各ステージは、予め定められたN個のフィルタのうちの1つおよび/またはフィルタ無しが選択されても構わない。この選択は、N個のフィルタの1つまたはフィルタ無しを適用するシーケンスを選択することに等しい。言い換えると、後に続くNステージのフィルタ処理のそれぞれにおいて、N+1個の(N個のフィルタ+フィルタ無し)フィルタの1つを選択することは、少なくともN個のフィルタのサブセット(“フィルタ無し”オプションが選択される場合もある)の順序の選択に一致する。この例における選択は、制御スイッチ851、852および85Nによって制御され、フィルタ処理の各ステージ821、822・・・、82Nで、N個のフィルタのうちの1つまたはフィルタ無しが選択される。制御情報811に加えて、制御情報911は、同様に、ポストフィルタ900によるポストフィルタ処理のために適用されるフィルタのカスケードの選択/順序付けを制御しても構わない。
上述したように、複数のフィルタからのフィルタの選択とその順序付けは、量子化ステップ120で用いられる量子化ステップのサイズに基づいて実行されても構わない。量子化ステップのサイズは、いわゆる量子化パラメータQPにより、しばしば符号化される(oftencoded)。H.264/MPEG−4 AVCでは、量子化ステップのサイズΔ(QP)とQPとの間の依存性は、以下の式で表される。
これは、利用可能な52のスカラー量子化の1つの選択とみなすことができる。
量子化ステップのサイズに基づく複数のフィルタ(それらの適用シーケンス)の順序を選択することの1つの可能性は、エンコーダ側で量子化ステップのサイズのために閾値τを決定すること、デコーダ側で決定された閾値を符号化し変換すること、および、例えば、以下の式のように、閾値に基づいて第二フィルタの前に第一フィルタを適用するかその逆かを選択することである。
この例では、フィルタ1は、入力信号の乗算ノイズを低減するためのフィルタであり、フィルタ2は、加算量子化ノイズを低減するためのフィルタである。
加算量子化ノイズを低減するためのフィルタとしては、ウィナーフィルタを用いることができる。乗算ノイズを低減するためのフィルタとしては、例えば、メディアンフィルタを用いることができる。量子化ステップのサイズが小さく閾値以下の場合、加算量子化ノイズは乗算ノイズよりも小さいエネルギーを持ち、乗算ノイズ低減フィルタは、加算ノイズ低減フィルタの前に適用されることが選択可能である。量子化ステップのサイズが大きく閾値より上の場合、加算量子化ノイズは乗算ノイズよりも高いエネルギーを持ち、加算ノイズ低減フィルタは、乗算ノイズ低減フィルタの前に適用されることが選択可能である。この順序を有することによって、より高いエネルギーのノイズが最初に低減され、図6および図7を参照して詳述された、より低いエネルギーの他のノイズの低減の妨げになることはない。
閾値τは、固定され予め定められた値であっても構わない。順序は、QPに基づいて黙示的に決定されるため、付加的なビットレートは、デコーダへの明示的な順序信号が必要とされることはない。ビットレートが増加せず、ノイズが効果的に低減するため、全体的な符号化効率が、増加される。
しかしながら、量子化ノイズは、特に、量子化が粗いことを意味する、量子化パラメータが高い場合は、一般的に量子化パラメータに依存するだけでなく、量子化部に入力する信号にも少し依存する場合がある。その上、個々の独立した閾値τiが適用可能であり、実在する(効果的な)加算量子化ノイズに局所的に対応しても構わない。粗量子化の場合、量子化誤差は、予測誤差が高いならば、一般的に高い。極端なケースでは、量子化誤差は、予測誤差に等しい。他方、予測誤差が小さい場合、量子化誤差はかなり小さい。極端なケースでは、量子化誤差はゼロである。
一般的に、対象ブロックの予測誤差はかなり高い。例えば、以下の場合である。
・対象ブロックの動きベクトルdの絶対値が大きい、あるいは、少なくとも1つの成分の絶対値が大きい場合。これは、例えば、早く動くこと、例えば、動きの早いオブジェクト、ひいては、量子化誤差エネルギーが大きいことを意味する。
・対象ブロックの動きベクトルdが、大幅に周囲のブロックの運動ベクトルdSBと異なる場合。これは、例えば、オブジェクトの境界の目安、ひいては、量子化誤差エネルギーが大きいことの目安となる場合がある。
・動き補償予測に小ブロックサイズが用いられている場合。典型的に、大きいブロックは、背景または動くオブジェクトを含む広い範囲の動き補償予測で用いられる。予測誤差エネルギーひいては量子化誤差エネルギーもまた、大きいブロックでは、典型的に小さい。オブジェクトの境界では、一般的に、小さいブロックが、オブジェクトの動きが背景の動きとは異なる、オブジェクトの境界での動き補償予測に適応して用いられる。一般的に、オブジェクトの境界で直接、予測誤差エネルギーひいては量子化誤差エネルギーもまた最大となる。ここでは、一般的に小さいブロックが用いられる。このように、小さいブロックの使用は、オブジェクトの境界の目安ひいては量子化誤差エネルギーが大きいことの目安となる。
・内部予測モードがDCモードではない場合。これは、信号に、正確に予測できない大きな変化があることを意味する場合がある。
・補間が必要となるサブ画素の位置を示す動きベクトルの場合。これは、量子化誤差が大きいことの目安となる。これは、エイリアシング成分のために量子化誤差エネルギーが大きいことの目安となる。それは、このような量子化誤差エネルギーが大きいことを意味する。
このようにして、上述した基準に基づいて、以下の式で示される閾値τ1、τ2、およびτ3のような、いくつかの閾値τiが、量子化パラメータとの比較のために用いられても構わない。
ここで、各閾値τ
1、τ
2、τ
3、
は、符号化され、デコーダに送信されても構わない。
この場合、τ1≧τ2≧τ3を選択することが有益である場合がある。同様に、QP、予測誤差ひいては量子化誤差も、τ1に関連する状態からτ3に関連する状態まで増加する。
意味:小さい動きベクトル=>予測誤差のエネルギーが小さい=>加算量子化誤差のエネルギーが小さい。
意味:隣接ブロックの1つにおける大きい動きベクトルと動きベクトルの小さな差=>予測誤差のエネルギーが中間値を取る=>加算量子化誤差のエネルギーが中間値を取る。
意味:隣接ブロックの1つにおける大きい動きベクトルと動きベクトルの大きな差=>予測誤差のエネルギーが大きい=>加算量子化誤差のエネルギーが大きい。
加算量子化誤差のエネルギーは、異なる状態でQPの値と同じように異なる。同じ量子化誤差エネルギーで切り替わるように設計されるため、例えば、上述したτ1≧τ2≧τ3のように、閾値τ1、τ2、τ3は異なっている必要がある。
代わりにあるいは追加的に、動き補償予測、適用されたイントラ予測モード、サブ画素の位置等のために用いられるブロックサイズのような、他の信号の特徴の分類のために認められた他の閾値を、フィルタの選択および/またはフィルタ処理順序の選択に基づいて、量子化パラメータのための閾値のサイズを決定するために用いても構わない。このような閾値は、信号化されても構わないし、あるいは、エンコーダおよびデコーダの両方で利用可能な情報から生成されても構わない。
さらにその上、複数のフィルタおよびその順序の選択は、量子化が実行される領域に基づいて実行されても構わない。量子化ステップサイズならびに領域の両方とも、一般的に、符号化され送信され、これにより、エンコーダならびにデコーダの両方で既知となる。量子化ステップサイズならびに量子化の領域は、ブロックから逸脱する場合がある。
例えば、空間および周波数領域を意味する両方の領域に、量子化が適用されるならば、量子化パラメータに2つの個々の閾値を使用することが、有利である場合がある。周波数領域のための最初の1つの閾値および空間領域のための2番目の1つの閾値の両方とも、符号化され送信されることが可能である。空間領域で符号化された予測誤差は、予測誤差のサンプルが、互いに静的な依存性を持たず、且つ、ガウス分布ではない予測誤差サンプルを分配するならば、周波数領域よりも効果的である。非常に小さい予測誤差、非常に小さい量子化誤差、特に粗量子化の場合にしばしば関連がある。このように、ほぼ同じ量子化誤差で切り替わるために、空間領域に関連する閾値は、一般的に、周波数領域に関連する閾値よりも高くなる。
必要なビットレートを制限し、符号化効率を向上させるために、閾値の符号化は、互いに依存して行われる。例えば、第一の閾値、例えば、空間領域のための閾値は、最初に符号化することができる。その後、第一の閾値と、第二の閾値、例えば、周波数領域の閾値との間の違いは、符号化されることができ、あるいは、その逆が可能である。これは、上述した閾値τ
1、τ
2、τ
3、
、または、符号化のタイプまたはブロックの値から生成された他の閾値のためにも適用される。
追加的な閾値を送信することによって、2以上の間隔を規定することもまた可能である。間隔およびブロック(QP値)の実際の量子化ステップサイズに基づいて、複数のフィルタとその順序を選択しても構わない。関連選択と順序とは、エンコーダで決定され、符号化され、送信されても構わない。これは、以下の符号化ステップを含む場合がある。
・量子化ステップサイズを分類するための間隔の選択。これは、例えば、等しいサイズの間隔を用いて行っても構わない。例えば、51の異なる量子化ステップサイズが利用可能な場合、間隔は、[0,9]、[10,19]、[20,29]、[30,39]、[40,50]とすることができる。
・間隔の符号化および送信。符号化は、依存性を有利に用いることによって、例えば、異なる符号化およびまたはエントロピー符号化を適用することによって、実行できる。
・各間隔のための複数のフィルタとその順序の選択。ループ内またはポストループ内にある、複数のフィルタの位置もまた選択される。これは、例えば、ビットレートおよび平方二乗復元誤差のラグランジュ関数のコストを最小化することによって、または、オリジナル信号と、異なる順序で且つループに関連する異なる位置で異なるフィルタによりフィルタ処理された信号との間の類似性の量とを比較することによって、実行できる。
・選択されたフィルタ、その順序、および、ループ内の位置で適用されるかポストループの位置で適用されるかを符号化し送信する。
他の可能性は、量子化が実行された領域に基づいて、順序を黙示的に選択することである。対象ブロックの予測誤差の量子化が空間領域で実行された場合、空間領域のノイズを低減する第一フィルタを適用すると有益である。その後、第二フィルタを、例えば、周波数領域のノイズを低減するために、適用できる。このノイズは、例えば、予測のために用いられる参照画像に含まれるいくつかのノイズである場合がある。対象ブロックの予測誤差の量子化が周波数領域で実行された場合、周波数領域のノイズを低減する第一フィルタを低減するのが有利である。その後、第二フィルタを、例えば、空間領域のノイズを低減するために、適用できる。このノイズは、例えば、予測のために用いられる参照画像に含まれるいくつかのノイズである場合がある。この順序を持つことにより、主要ノイズが最初に低減され、さらにその後、図5を参照して記述されたような他のノイズもまた、低減するのを妨げられない。このように、符号化効率は改良される。
適応可能な量子化領域が用いられた場合、量子化領域と量子化ステップサイズの両方の情報を用いることも可能である。これらの情報は、最初に空間領域のノイズを次に周波数領域のノイズを低減すること、あるいは、その他の方法の何れか一方を選択するために用いられる。これは、以下のように行われる場合がある。
・参照フレームに関連する量子化ステップサイズが対象量子化ステップの量子化ステップサイズよりも大きく、参照フレームの量子化領域が空間領域であり、対象フレームの量子化領域が周波数領域であるならば、対象再構築フレームは、周波数領域よりも空間領域のさらなる加算ノイズを含む。この場合、空間領域のノイズを低減するフィルタは、周波数領域のノイズを低減するフィルタの前に適用するように選択されても構わない。
・参照フレームに関連する量子化ステップサイズが対象量子化ステップの量子化ステップサイズよりも小さく、参照フレームの量子化領域が空間領域であり、対象フレームの量子化領域が周波数領域であるならば、対象再構築フレームは、空間領域よりも周波数領域のさらなる加算ノイズを含む。この場合、周波数領域のノイズを低減するフィルタは、空間領域のノイズを低減するフィルタの前に適用するように選択されても構わない。
・参照フレームに関連する量子化ステップサイズが対象量子化ステップの量子化ステップサイズよりも大きく、参照フレームの量子化領域が周波数領域であり、対象フレームの量子化領域が空間領域であるならば、対象再構築フレームは、空間領域よりも周波数領域のさらなる加算ノイズを含む。この場合、周波数領域のノイズを低減するフィルタは、空間領域のノイズを低減するフィルタの前に適用するように選択されても構わない。
・参照フレームに関連する量子化ステップサイズが対象量子化ステップの量子化ステップサイズよりも小さく、参照フレームの量子化領域が周波数領域であり、対象フレームの量子化領域が空間領域であるならば、対象再構築フレームは、周波数領域よりも空間領域のさらなる加算ノイズを含む。この場合、空間領域のノイズを低減するフィルタは、周波数領域のノイズを低減するフィルタの前に適用するように選択されても構わない。
・参照フレームの量子化領域が対象フレームの量子化領域と同じならば、量子化時に同じ領域のノイズを低減する1つのフィルタのみが、選択されても構わない。
複数のフィルタ、フィルタ順序およびフィルタ位置の選択は、図9を用いてさらに詳細に示される。図8および図9に示されるデコーダは、ビットストリームから制御情報811および/または911を得る。この制御情報は、複数のスイッチの位置を直接示すのに有利である場合がある。これは、例えば、各スイッチについて、指標851、852等、それぞれ特定のスイッチの位置に一致し、0からNまでの数を示す指標を信号化することによって達成されても構わない。この方法では、同時に、複数のフィルタの適用シーケンスとフィルタの選択が、信号化される。しかしながら、本発明は、これに限定されるものではない。一般的に、複数のフィルタの適用シーケンスもまた、デコーダにおいて、エンコーダと同じ方法で黙示的に選択されても構わない。これは、上述したような、例えば、量子化ステップおよび/または選択された複数のフィルタおよび/または画像信号が符号化された領域等のような、制御情報811および/または911とは異なる1または複数の符号化パラメータに基づいても構わない。フィルタ処理の順序の選択は、代わりにまたは追加的に、符号化された入力信号の統計量に基づいて、特に、そのノイズの特徴に基づいて行われても構わない。統計量または入力画像のノイズは、例えば、明確に、デコーダに信号を送信することによって、得られる場合がある。例えば、それは、オリジナルの画像に、加算ノイズが含まれるか乗算ノイズが含まれるかを示しても構わない。あるいは、画像ソース指標は、信号、例えば、入力画像(例えば、セルロイドフィルム画像、SAR画像、カメラ画像等のうちの1つ)のタイプに提供されても構わない。
図9は、複数のフィルタ処理ステージ921、922、・・・、92Nを含むポストフィルタ処理900の詳細を示している。複数のフィルタ処理の各ステージでは、N個のフィルタの1つまたはフィルタ無しが選択される場合がある。このスキームの効果は、(1または複数の)ループ内フィルタについて上述されたように、フィルタ1からフィルタNまたはフィルタ無しの適用の順序の選択と類似している。
符号化効率を最大にするために、複数のフィルタを適用するためのシーケンスの選択は、望ましくは、利用可能な各フィルタ順序をテストすることによって、および、平均平方復元誤差およびビットレートのラグランジュ関数コストを最小にするフィルタ順序を選択することによって選択される。この場合、オリジナル画像の知識が必要である。入力ノイズが温存される場合には、ラグランジュ関数コストの最適化は、ノイズを含むオリジナル信号について実行される場合がある最適化を提供する。
符号化効率を向上させるために適用される場合がある別の最適化は、予め定義された類似性/相違性の測定基準に基づく。特に、オリジナル画像(入力ノイズを含む)と再構築画像との間の類似性または相違性は、適用する複数のフィルタの異なるシーケンスのために算出されても構わない。その後、最高の類似性を導く、あるいは、同等の、最小の相違性を導くフィルタ処理の順序が選択されても構わない。例えば、類似性の大きさとして、相関関係または共分散が使用されても構わない。相違性の大きさとして、例えば、差の絶対値、平均平方誤差、または、画素の違いに基づく他の大きさ/測定基準が、適用されても構わない。
たとえ、オリジナルノイズが再構築画像信号に含まれることが望ましいとしても、動き推定の目的のために、オリジナルノイズが低減された画像を格納することは有益である場合があることに留意すべきである。このように、参照フレームを格納する目的で、フィルタ処理された画像を得られる場合があり、再構築信号を出力する目的で、入力ノイズを抑えるためのフィルタ処理を省略することが望ましい場合がある。一般的に、遅延のない相関性のないノイズのフィルタ処理による低減に有利である参照画像の格納のために、除去されない/低減されないならば、動きベクトルの探索の効果を低減させる場合がある。特に、フレーム番号m内のブロック内のノイズは、以前のフレーム番号m−j内の対応するブロックとは、異なる入力画像ノイズが含まれていても構わない。これは、最も適合したブロックを見つけることを難しくしている。時間的に無相関のノイズの例としては、PCMノイズのようなカメラノイズである場合がある。一方、入力画像ノイズが時間的に無相関ならば、動き補償予測の改良のために制限しないことが、有益である場合がある。
符号化および/または復号の過程の間で異なる複数のフィルタを適用するためのシーケンスの選択は、画像の符号化の間、または、動画像の符号化の間で適応的に実行されても構わない。複数のフィルタおよび/またはフィルタ処理順序の選択は、画像のブロック毎に実行されることが望ましい。これは、高い柔軟性を提供し、異なる符号化設定が適用される場合があるブロックに対する符号化の適応性の効果を増大させることを可能にする。しかしながら、フィルタ処理順序および/または複数のフィルタの選択は、ブロックを基準として実行され、フィルタシーケンス指標は、明確に信号化される。これは、信号化の負荷を増大させる場合がある。信号化の付加的コストを低く維持するために、複数のフィルタシーケンス指標は、さらに符号化される場合がある。例えば、空間領域および/または時間領域で、複数の隣接ブロックのフィルタシーケンス指標の差を符号化する予測符号化が、使用される場合がある。これに代えて、または、追加的に、複数のフィルタシーケンス指標は、ゴロム符号、拡張ゴロム符号、単項符号、エリアス符号、ハフマン符号、その他のエントロピー符号化によって符号化される場合がある。
信号化の付加的コストを低く維持する他の可能性は、ビデオシーケンス内のスライスのような複数のマクロブロックのために、あるいは、入力画像のために、フィルタ処理の順序を選択することである。この複数のフィルタおよび複数のフィルタ処理順序の選択はまた、ビデオシーケンス内のいくつかの画像(フレーム)単位で/について1回、例えば、複数ピクチャの各グループのために1回、実行されても構わない。
本発明はまた、複数の入力を持つ複数のフィルタにも適用できる。このようなフィルタを含む複数のフィルタを適用する、異なるシーケンスのための様々な例は、図10、図11、図12、および図13に示される。従って、複数の予測信号、量子化された予測誤差信号および/または復号信号は、フィルタ設計では個々に検討される。これは、これらの3つの信号の各々のノイズを個別に検討することを許可する。例えば、ポストフィルタ係数は、入力信号、デブロッキング・フィルタが適用された後の復号信号、予測信号および量子化予測誤差信号に基づいて、エンコーダ側で求められる。同様に、ループ内フィルタは、上述した個々の複数の信号を考慮して設計されても構わない。複数の係数の計算は、ウィナーフィルタを算出することによって行われても構わない。オリジナルのビデオ信号と再構築されたビデオ信号との間の相互相関関係のように、デコーダ側で複数のフィルタ係数を算出することを許可するフィルタ係数または情報は、さらに、ビットストリーム内に含まれる符号化されたビデオ信号を備える。
図10は、複数の入力信号を持つフィルタが、最初のフィルタ処理ステージで適用されるように選択される例を示している。この例では、第一フィルタ1010は、3つの入力:量子化予測誤差信号e’、予測信号s^および再構築信号s’を備えている。このフィルタは、上述した信号を個々にフィルタ処理し、個々にフィルタ処理された複数の信号を、例えば、一次結合のように組み合わせることにより得られる単一の信号1011を出力する。第一フィルタ処理ステージ1010(符号化または復号ステージの各々で見られる場合がある)でフィルタ処理された信号1011は、その後、第二フィルタとして選択されたフィルタによるフィルタ処理を行う第二フィルタ処理ステージ1020に入力される。フィルタ処理により出力された信号1021は、その後、第三フィルタ処理ステージ1030に入力される。ここでは、信号1021はさらに、第三フィルタとして選択されたフィルタによりフィルタ処理される。フィルタ処理された結果生じた信号1031は、出力され、あるいは、格納され、あるいは、さらに必要な処理が行われる。
図11は、複数の入力を持つフィルタ1120が2番目に適用されるように選択される場合を示している。これは、再構築ビデオ信号s’を第一フィルタ処理ステージ1110で最初にフィルタ処理し、さらに、フィルタ処理された信号1111を、複数の入力を持つフィルタを用いたフィルタ処理を行う第二ステージ1120に入力することで実行される。第二ステージ1120には、さらに、量子化された予測誤差信号e’および予測信号s^が入力される。フィルタ処理の結果生じた再構築ビデオ信号1121は、その後、3番目に適用するために選択されたフィルタによるフィルタ処理を行う第二フィルタ処理ステージ1130に入力される。全3つのステージにおけるフィルタ処理の結果として生じた信号1131は、出力され、あるいは、格納され、あるいは、さらに必要な処理が行われる。この例では、再構築信号s’のみが、第一ステージ1110でフィルタ処理され、再構築信号e’およびs^は、第二ステージに直接入力される。
図12は、複数の入力を持つフィルタ1220が2番目に適用されるように選択される場合におけるフィルタ処理の他の手段を示している。各入力信号e’、s’、s^は、個々の(e’のフィルタ処理のための)フィルタ1212、(s’のフィルタ処理のための)フィルタ1214および(s^のフィルタ処理のための)フィルタ1216により、第一フィルタ処理ステージでフィルタ処理される。個々の第一ステージにおけるフィルタ処理の結果生成された信号1213、1215、および1217は、その後、より多くの入力を持つ第二フィルタ処理ステージ1220に入力され、再構築ビデオ信号1221を得るためにフィルタ処理される。再構築ビデオ信号1221は、その後、さらに三番目に適用されるように選択されたフィルタにより、第三ステージ1230でさらにフィルタ処理される。全3ステージにおけるフィルタ処理の結果として生じる信号1231は、その後、出力され、あるいは、格納され、あるいは、さらに必要な処理が行われる。この例では、このように、第一ステージのために3つの異なるフィルタ1212、1214、および1216が選択される。これらのフィルタは、互いに異なっていても構わないし、(部分的に)互いに同じでも構わない。従って、最初のフィルタ処理での3つのフィルタは、個々に選択されても構わないし、このように、異なる複数の入力信号の特性に個別に対応しても構わない。これは、さらなるフィルタ処理結果の改良につながる場合がある。
図13は、複数の入力を持つフィルタ1320が第二フィルタ処理ステージで使用される場合のさらに他の手段を示している。この例によれば、スイッチ1340、1350、1360、および1370は、個々のフィルタ1312および/または1316を第一ステージで適用するか否かを、制御部1380により個別に制御が可能である。スイッチ1340および1360は、連結され、一緒に(両方とも閉じるまたは開くように)切り替えられても構わない。同様に、スイッチ1350および1370が連結される。類似のスイッチを、再構築ビデオ信号s’の第一ステージにおけるフィルタ処理を可能にする/無効にするために、提供しても構わない。第一ステージにおいて、入力信号e’、s’、および/またはs^のうちの選択されたもの(1または複数)をフィルタ処理した後、フィルタ処理された信号は、第三ステージのフィルタ1330に入力される。好ましくは、スイッチ1340、1360、1350、および1370の制御は、エンコーダ側の制御部1380により実行される。複数のスイッチの位置は、ユーザにより設定されても構わないし、および/または、エンコーダにおいて利用可能な任意のデータから生成されても構わない。複数のスイッチの位置がまた、デコーダで利用できない信号に基づいてエンコーダで決定されるならば、複数のスイッチの位置またはそれを決定するために必要とされる情報が、ビットストリーム内で信号化されても構わない。スイッチ1340、1360、1350、および1370は、シーケンス全体のためのエンコーダの設定の一部として、択一的に定位置に設定されても構わない。
図14は、本発明の他の実施の形態を示すブロック図である。この実施の形態では、空間領域のノイズ低減フィルタ、周波数領域のノイズ低減フィルタ、デブロッキング・フィルタの3つのタイプのフィルタの順序が選択される場合がある。複数のフィルタとその適用順序は、エントロピー復号部から得られた制御情報1490によって選択される。制御情報1490は、ビットストリームから抽出される。特に、制御情報1490は、3つのステージの何れかにおけるフィルタの選択1491、1492、および1493、および、これらのループ内またはループ後における3つのステージのそれぞれの位置についての選択1494を示す。各々の制御情報1491、1492、および1493は、3つのフィルタ処理ステージの各々で、空間領域のノイズ低減フィルタ、周波数領域のノイズ低減フィルタ、デブロッキング・フィルタ、またはフィルタ無しの選択を、最適な状態で利用可能にする。このように、例えば、各々の制御情報1491、1492、および1493は、各フィルタ処理ステージの複数のスイッチの位置を示す2ビットの指標であっても構わない。このような3つの指標は、複数のフィルタとその適用順序の選択を一緒に、固定され予め規定された順序信号として、ビットストリームに埋め込まれる。
しかしながら、本発明は、このような信号に限られるものではない。図14に示すフィルタ適用順序の制御ならびに複数のフィルタの選択の他の最適な例は、予め規定された数の係数のみの信号を利用可能にすることである。例えば、図14は、スイッチの設定の4つの異なる組み合わせのみが利用可能である場合を示している。利用可能な組み合わせは、各フィルタの選択スイッチの近傍に記した数1、2、3、および4により示される。特に、図14から分かるように、組み合わせ1は、第一ステージで周波数領域のノイズ低減を、第二ステージで空間領域のノイズ低減を、および、第三ステージでデブロッキング・フィルタを適用することと一致する。組み合わせ2は、第一ステージでデブロッキング・フィルタを、第二ステージで周波数領域のノイズ低減を、および、第三ステージで空間領域のノイズ低減を適用することと一致する。組み合わせ3は、第一ステージで周波数領域のノイズ低減を、第二ステージでデブロッキング・フィルタを、および、第三ステージで空間領域のノイズ低減を適用することと一致する。最後に、組み合わせ4は、第一ステージで周波数領域のノイズ低減を、第二ステージでフィルタ無しを、および、第三ステージで空間領域のノイズ低減を適用することと一致する。これら4つの組み合わせは、一例であることは明らかである。さらなる組み合わせが、利用可能となり、信号化されても構わない。信号化は、各組み合わせに割り当てられる単一の一般的な符号語により実行されても構わない。符号語長の割り当ては、各組み合わせの発生頻度によって行われても構わない。これは、可変長符号(エントロピー符号)を用いて符号化される(2値化される)ことを意味する。
この例における制御情報1490は、さらに、3つのフィルタ処理ステージがループ内で実行されるか、ポストループで実行されるかを示すための位置指標1494を含む。特に、位置指標1494は、4つの位置1451、1452、1453、および1454の1つを取る場合があるスイッチ1450を制御する。スイッチ1450が位置1451にあるときは、3つのフィルタ処理ステージの全てがポストループで実行される。言い換えると、3つのステージはポストフィルタ処理を意味し、それらの結果は、メモリに格納されず、予測で用いられない。スイッチ1450が位置1452にあるときは、第一フィルタ処理ステージがループ内フィルタとなり、その結果が予測のためにメモリに格納される。しかしながら、第二および第三フィルタ処理ステージは、デコーダの出力信号にのみ影響するポストフィルタ処理として実行される。さらに、スイッチ1450が位置1453にあるときは、最初の2つのステージがループ内で実行され、第三ステージのみがポストループで実行される。最後に、スイッチ1450の位置1454は、3つのフィルタ処理ステージの全てがループ内で実行され、それらの結果がメモリに格納され予測のために使用されることを示している。
位置指標1494は、フィルタの選択のためのスイッチの位置(上述したように、組み合わせまたは個々に符号化される場合がある)とは別に、符号化されても構わない。しかしながら、位置指標1494はまた、フィルタ選択スイッチおよび位置指標の組み合わせの一部であっても構わない。組み合わせの数の制約のみ利用可能であっても構わない。例えば、図4から分かるように、この例では、スイッチ1450の2つの位置、すなわち、位置1453および1454のみが許可される。特に、位置1453は、フィルタの選択のために上述した組み合わせ3または4に属し、位置1454は、組み合わせ1または2に属する。しかしながら、これらは例に過ぎず、他の最適な組み合わせが利用可能であっても構わない。
まとめると、図14は、下記の例を示している。
・制御情報1491、1492、および1493は、復号中の画像信号表現の3つの利用可能なフィルタ処理ステージで3つの利用可能なフィルタの選択および適用の順序を制御し、さらに、
・制御情報1494は、復号ループに関するフィルタの位置、特に、3つのフィルタ処理ステージの何れがループ内で実行され、何れかポストフィルタで実行されるかを制御する。
一般的には、3つ以上のステージがあっても構わない。また、2つのフィルタ処理ステージのみであっても構わない。このような場合の実装は、フィルタ選択スイッチの数(図8または図9参照)および/または位置選択スイッチ1450の利用可能な位置の数を減らすまたは増加することによって、簡単にできる。
この例では、デブロッキングフィルタ、空間領域のノイズ低減フィルタ、周波数領域のノイズ低減フィルタまたはフィルタ無しの、4つの異なるフィルタタイプが選択可能である。しかしながら、本発明は、これら、および、利用される場合がある周波数領域および/または空間領域のノイズ低減フィルタ並びにデブロッキング・フィルタのいくつかのタイプの選択に限られるものではない。複数の空間領域のフィルタ(複数のフレームに渡ってフィルタ処理する)を用いることも可能である。さらにその上、これらの例におけるフィルタタイプは、固定係数のフィルタとして、あるいは、適応フィルタとして用いられる場合がある。例えば、空間領域のノイズ低減フィルタは、1または複数の入力を持つウィナーフィルタとして用いられても構わない。しかしながら、ノイズ低減フィルタは、メディアンフィルタやその他のフィルタのように、固定係数を持つフィルタであっても構わない。周波数領域のノイズ低減フィルタは、1または複数の入力を持つウィナーフィルタとして用いられても構わない。しかしながら、固定係数を持つ場合があっても構わないし、あるいは、予め定められた複数のフィルタ係数のセットから選択できるようにしても構わない。同様に、デブロッキングフィルタフィルタは、適応フィルタ、例えば、ウィナーフィルタ、あるいは、固定されたフィルタであっても構わない。これらのフィルタタイプの全ては、1次元的に分離された2つのステージを含んでいても構わない。2つのステージは、垂直フィルタ処理ステージおよび水平フィルタ処理ステージであり、本発明に従って適用順序が選択される場合がある。何れのフィルタも、2次元的に分離不可能であっても構わない。
この実施の形態では、出力信号1401は、常に、3つのステージ全て(いくつかのステージでフィルタ無しに切り替えられている場合でも)の後の信号である。例えば、ループ内でフィルタ処理されない出力信号を出力することはできない。しかしながら、これらのフィルタが適用されていない、あるいは、部分的に適用した信号を出力する間、追加的なフィルタを用いてループ内信号をフィルタ処理することは有益である場合がある。このような構成を許可するために、本発明の他の実施の形態によれば、他のスイッチが、図14のフィルタ処理のスキームに加えられる。
図15は、制御情報1591によって制御されるスイッチ1550を示す図である。出力選択スイッチ1550 出力選択制御情報1591は、位置選択情報1494を含めることが可能なフィルタ選択制御情報1490をさらに備える場合がある制御情報1590の一部である。出力選択制御情報1591は、個々に符号語として、または、フィルタ選択指標1491、1492、および1493および/または位置指標1494の組み合わせの一部として、符号化されても構わない。スイッチ1550は、4つの利用可能な位置の間で切り替え可能である。特に、スイッチ1550の位置は、デコーダから出力される信号1501が、1451、1452、1453、または1454の何れのフィルタ処理ステージから出力されるのかを示している。このように、例えば、フィルタ処理の第一ステージ1451より前だけでなく、1または複数ステージ中のループ内フィルタ処理の適用と同時に、信号1501を出力することが可能である。ループ内ステージのフィルタの1つはまた、補間フィルタであっても構わない。
一般的に、異なる復号ステージ中のフィルタの位置の選択は、単一のフィルタで実現される場合がある。同じことは、異なる復号ステージからの出力信号の選択についても当てはまる。図16は、単一フィルタの場合において2つの可変スイッチの使用を示す図である。この2つのスイッチは、“ポストフィルタ/ループ内フィルタ”および“フィルタ処理された/フィルタ処理されない画像を出力に用いる”である。特に、フィルタ1650の位置は、ビットストリームからの指標に従って選択されても構わない。この選択は、制御情報1690内に含まれる位置選択指標1694により制御されるスイッチ1650により実行されても構わない。制御情報1690は、スイッチ1660を制御するための出力選択指標1694をさらに含む場合がある。スイッチ1650の位置は、フィルタ1610がループ内フィルタ(位置1652参照)として用いられるか、ポストフィルタ(位置1651参照)として用いられるかを決定する。スイッチ1660の位置は、出力信号1601が、フィルタ1610(位置1661参照)を用いてフィルタ処理した後のフィルタ処理信号であるか、フィルタ処理されない信号(位置1662参照)であるかを決定する。その上、フィルタ1610を設定するための複数のフィルタ係数または他の情報は、制御情報1690内に信号化されていても構わない。制御情報は、複数のスイッチの位置を示していても構わない。この簡易化した例では、1ビットのフィルタ位置情報1694は、送信される、および/または、1ビットの出力選択信号になり得る。スイッチ1650および1660は、例えば、制御情報に依存する状態によって、ハードウェアまたはソフトウェアを用いて実装される。
図17は、本発明を用いて実行される方法における各ステップの例を示している。符号化方法1700Aは、少なくとも2つのフィルタの適用シーケンスを選択するステップ1710を含んでいる。ここで、選択は、図5〜9または13〜16に示す複数の制御スイッチを制御するための制御情報のような符号化パラメータを設定することにより、ユーザによって実行される場合がある。しかしながら、この選択は、他の符号化パラメータに基づいて、および/または入力画像信号またはその表現(量子化されたおよび/または変換されたバージョン、予測誤差または予測信号等)に基づいて、実行されても構わない。選択が実行される符号化パラメータは、例えば、予測のタイプ、量子化の領域、量子化パラメータ、動きベクトル、ブロックサイズ等である場合がある。フィルタ順序の選択は、例えば、ブロック単位で、またはスライス単位で、またはフレーム単位で、または予め定められたフレーム数単位で、またはシーケンス単位で実行されても構わない。少なくとも2つのフィルタが、2つの復号ステージで使用されるフィルタである場合もある。この少なくとも2つのフィルタは、全てがループ内にあっても構わないし、全てがポストループにあっても構わないし、または、それらの少なくとも1つがループ内にあっても構わないし、および、少なくとも1つがポストフィルタにあっても構わない。ループ内部/外部の位置はまた、フィルタ処理順序の選択の一部として、選択可能であっても構わない。さらに、フィルタ順序の選択はまた、特定のフィルタのタイプおよび/またはフィルタの選択を含んでいても構わない。
フィルタ処理順序の選択後、フィルタ処理順序が選択された画像信号は、符号化の前および/または間および/または後のフィルタ処理を含む1720で符号化される。特に、フィルタ処理は、符号化の異なるステージの前/後:周波数領域での量子化後、空間領域での量子化後、または画像信号の復元後で実行される場合がある。ここで、単一の符号化ステップの前/後において、複数のフィルタ処理ステージは、個々の符号化ステージで互いの実行直後に実行される場合があり、フィルタ順序は、本発明に従って選択される。これに代えてあるいは追加的に、異なる符号化ステージの前/後において、複数のフィルタの順序付けが実行される。例えば、デブロッキング・フィルタおよび/またはノイズ低減フィルタが、ループ内で適用されるかおよび/またはポストループで適用されるか、および、どのフィルタが最初に適用され、どのフィルタが次に適用されるかが選択される。
1730では、符号化されフィルタ処理されたフィルタ画像がビットストリームに埋め込まれる。ビットストリームには、さらに、フィルタ処理順序を示すためのフィルタシーケンス指標、および/またはフィルタ順序および適用されるフィルタを示すフィルタ選択指標のような、制御情報が埋め込まれていても構わない。制御情報はまた、1つのフィルタが適用される復号ステージおよび/またはフィルタ処理ステージを示す位置指標、または、画像が出力されるべき復号ステージおよび/またはフィルタ処理ステージを示す位置指標を含んでいても構わない。ビットストリームは、その後、エンコーダから出力する。ビットストリームは、格納されても構わないし、1790に送られても構わない。
上述した符号化方法により符号化されることにより生成されたビットストリームのような、ビットストリーム1790は、復号されても構わない。本発明による1700Bの復号方法は、ビットストリームの解析ステップ1750を含んでいても構わない。解析の間、符号化画像を示す情報要素は抽出され、場合により、フィルタ処理順序および/または少なくとも1つのフィルタおよび/または復号ループに関するフィルタ位置および/または復号信号が出力される復号ステージの選択を支援するための制御情報も抽出される。
解析された情報要素に従って、少なくとも2つのフィルタのフィルタ処理順序および/またはフィルタの位置および/またはフィルタおよび/または出力信号のステージは、1760において選択される。特に、フィルタ処理順序は、図5〜図9または図13〜図16に示すような複数のスイッチの位置のように、フィルタ順序の選択を専用に示す制御情報に従って選択されても構わない。しかしながら、フィルタ処理順序はまた、量子化パラメータ、量子化の領域、ブロックサイズ、予測タイプ、動きベクトル、または、符号化された画像信号を含む情報要素、または、ビットストリームから抽出される他の情報のような、他の符号化パラメータを含む情報要素に基づいて選択されても構わない。
フィルタ処理順序が選択された後、ビットストリームは、復号される。復号の間、場合によっては、選択された複数のフィルタが、1770において、選択された順序でおよび/または選択された位置に、適用される。復号されフィルタ処理された画像信号は、その後、1780において、出力される。
図18は、一般的な、本発明によるエンコーダ側からデコーダ側に符号化されたビデオデータを転送するためのシステムの例を示している。入力ビデオ信号は、送信器1801によって符号化され、チャンネル1802に供給される。送信器1801は、上述した本発明の実施の形態の何れかによるエンコーダである。チャンネル1802は、記憶装置または任意の伝送チャンネルである。記憶装置は、例えば、任意の揮発性または不揮発性メモリ、任意の磁気または工学的記録媒体、大容量記憶装置等であっても構わない。伝送チャンネルは、xDSL、ISDN、WLAN、GPRS、UMTS、インターネットまたは任意の標準化された標準化されていないシステムのように、任意の伝送システム、ワイヤレスまたは有線、据え置きまたはモバイルの物理的リソースによって、形成されていても構わない。エンコーダとは別に、エンコーダ側はまた、形式変換、および/またはチャンネル1802を超えて符号化されたビデオ信号を送信するための送信部、または記憶装置に符号化されたビデオ信号を転送するためのアプリケーションのような、入力ビデオ信号の前処理を含んでいても構わない。符号化ビデオ信号は、その後、受信器1803によって、チャンネル1802から取得される。受信器1803は、上述した本発明による任意の実施の形態のデコーダである。デコーダは、符号化されたビデオ信号を復号する。デコーダとは別に、デコーダ側は、伝送チャンネルから符号化されたビデオ信号を受信するための受信部、あるいは記憶装置から符号化されたビデオデータを抽出するためのアプリケーション、および/または形式変換のような、復号されたビデオ信号のポスト処理手段を含んでいても構わない。
各実施の形態で記された処理は、記憶媒体に、各実施の形態で示した動画像符号化方法および動画像復号方法の複数の構成を実装するためのプログラムを記憶することによって、独立したコンピュータシステムに単独で実装することができる。記憶媒体は、磁気ディスク、光ディスク、磁気光ディスク、ICカード、および半導体メモリのような、プログラムが記憶できる任意の記憶媒体であればよい。
以下、各実施の形態で記載した動画像符号化方法および動画像復号方法、およびこれらで用いられたシステムの適用について、説明する。
図19は、コンテンツ配信サービスを実現するコンテンツ供給システムex100の全体構成を示す図である。通信サービスの提供エリアを所望の大きさに分割し、各セル内にそれぞれ固定無線局である基地局ex106、ex107、ex108、ex109およびex110が設置されている。
このコンテンツ供給システムex100は、インターネットex101にインターネットサービスプロバイダex102および電話網ex104、および、基地局ex106〜ex110を介して、コンピュータex111、パーソナルデジタルデータアシスタント(PDA)ex112、カメラex113、携帯電話ex114、ゲーム機ex115等の各機器が接続される。
しかし、コンテンツ供給システムex100は図19のような構成に限定されず、いずれかの要素を組合せて接続するようにしてもよい。また、固定無線局である基地局ex106からex110を介さずに、各機器が電話網ex104に直接接続されてもよい。また、各機器が近距離無線等を介して直接相互に接続されていてもよい。
カメラex113はデジタルビデオカメラ等の動画撮影が可能な機器であり、カメラex116はデジタルカメラ等の静止画撮影、動画撮影が可能な機器である。また、携帯電話ex114は、Global System for Mobile Communications(GSM(登録商標))方式、Code Division Multiple Access(CDMA)方式、Wideband-Code Division Multiple Access(W−CDMA)方式、若しくはLong Term Evolution(LTE)方式、High Speed Packet Access(HSPA)の携帯電話機、またはPersonal Handyphone System(PHS)等であり、いずれでも構わない。
コンテンツ供給システム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の例に限らず、図20に示すように、デジタル放送用システムex200にも、上記各実施の形態の少なくとも動画像符号化装置または動画像復号化装置のいずれかを組み込むことができる。具体的には、放送局ex201では映像データに音楽データ等が多重化された多重化データが電波を介して通信または衛星ex202に伝送される。この映像データは上記各実施の形態で説明した動画像符号化方法により符号化されたデータである。これを受けた放送衛星ex202は、放送用の電波を発信し、この電波を衛星放送の受信が可能な家庭のアンテナex204が受信する。
受信した多重化データを、テレビ(受信機)ex300またはセットトップボックス(STB)ex217等の装置が復号化して再生する。
また、DVD、BD等の記録メディアex215に記録した多重化データを読み取り復号化する、または記録メディアex215に映像信号を符号化し、さらに場合によっては音楽信号と多重化して書き込むリーダ/レコーダex218にも上記各実施の形態で示した動画像復号化装置または動画像符号化装置を実装することが可能である。この場合、再生された映像信号はモニタex219に表示され、多重化データが記録された記録メディアex215により他の装置やシステムにおいて映像信号を再生することができる。また、ケーブルテレビ用のケーブルex203または衛星/地上波放送のアンテナex204に接続されたセットトップボックスex217内に動画像復号化装置を実装し、これをテレビのモニタex219で表示してもよい。このときセットトップボックスではなく、テレビ内に動画像復号化装置を組み込んでもよい。
図21は、上記各実施の形態で説明した動画像復号化方法および動画像符号化方法を用いたテレビ(受信機)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の構成を図22に示す。情報再生/記録部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はレーザスポットを照射するとして説明したが、近接場光を用いてより高密度な記録を行う構成であってもよい。
図23に光ディスクである記録メディア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の構成は例えば図21に示す構成のうち、GPS受信部を加えた構成が考えられ、同様なことがコンピュータex111や携帯電話ex114等でも考えられる。
図24Aは、上記実施の形態で説明した動画像復号化方法および動画像符号化方法を用いた携帯電話ex114を示す図である。携帯電話ex114は、基地局ex110との間で電波を送受信するためのアンテナex350、映像、静止画を撮ることが可能なカメラ部ex365、カメラ部ex365で撮像した映像、アンテナex350で受信した映像等が復号化されたデータを表示する液晶ディスプレイ等の表示部ex358を備える。携帯電話ex114は、さらに、操作キー部ex366を有する本体部、音声を出力するためのスピーカ等である音声出力部ex357、音声を入力するためのマイク等である音声入力部ex356、撮影した映像、静止画、録音した音声、または受信した映像、静止画、メール等の符号化されたデータもしくは復号化されたデータを保存するメモリ部ex367、又は同様にデータを保存する記録メディアとのインタフェース部であるスロット部ex364を備える。
さらに、携帯電話ex114の構成例について、図24Bを用いて説明する。携帯電話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でアナログ音声信号に変換した後、これを音声出力部ex356から出力する。
さらにデータ通信モード時に電子メールを送信する場合、本体部の操作キー部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と同様に、(i)符号化器・復号化器を両方持つ送受信型端末の他に、(ii)符号化器のみの送信端末、(iii)復号化器のみの受信端末という3通りの実装形式が考えられる。さらに、デジタル放送用システムex200において、映像データに音楽データ等が多重化された多重化された多重化データを受信、送信するとして説明したが、音声データ以外に映像に関連する文字データ等が多重化されたデータであってもよいし、多重化データではなく映像データ自体であってもよい。
このように、上記各実施の形態で示した動画像符号化方法あるいは動画像復号化方法を上述したいずれの機器・システムに用いることは可能であり、そうすることで、上記各実施の形態で説明した効果を得ることができる。
また、本発明はかかる上記実施形態に限定されるものではなく、本発明の範囲を逸脱することなく種々の変形または修正が可能である。
上記各実施の形態で示した動画像符号化方法または装置と、MPEG−2、MPEG4−AVC、VC−1等異なる規格に準拠した動画像符号化方法または装置とを、必要に応じて適宜切替えることにより、映像データを生成することも可能である。
ここで、それぞれ異なる規格に準拠する複数の映像データを生成した場合、復号する際に、それぞれの規格に対応した復号方法を選択する必要がある。しかしながら、復号する映像データが、どの規格に準拠するものであるか識別できないため、適切な復号方法を選択することができないという課題を生じる。
この課題を解決するために、映像データに音声データ等を多重化した多重化データは、映像データがどの規格に準拠するものであるかを示す識別情報を含む構成とする。上記各実施の形態で示す動画像符号化方法または装置によって生成された映像データを含む多重化データの具体的な構成を以下説明する。多重化データは、MPEG−2トランスポートストリーム形式のデジタルストリームである。
図25は、多重化データの構成を示す図である。図25に示すように多重化データは、ビデオストリーム、オーディオストリーム、プレゼンテーショングラフィックスストリーム(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が、それぞれ割り当てられている。
図26は、多重化データがどのように多重化されるかを模式的に示す図である。まず、複数のビデオフレームからなるビデオストリームex235、複数のオーディオフレームからなるオーディオストリームex238を、それぞれPESパケット列ex236およびex239に変換し、TSパケットex237およびex240に変換する。同じくプレゼンテーショングラフィックスストリームex241およびインタラクティブグラフィックスex244のデータをそれぞれPESパケット列ex242およびex245に変換し、さらにTSパケットex243およびex246に変換する。多重化データex247はこれらのTSパケットを1本のストリームに多重化することで構成される。
図27は、PESパケット列に、ビデオストリームがどのように格納されるかをさらに詳しく示している。図27における第1段目はビデオストリームのビデオフレーム列を示す。第2段目は、PESパケット列を示す。図27の矢印yy1、yy2、yy3、yy4に示すように、ビデオストリームにおける複数のVideo Presentation UnitであるIピクチャ、Bピクチャ、Pピクチャは、ピクチャ毎に分割され、PESパケットのペイロードに格納される。各PESパケットはPESヘッダを持ち、PESヘッダには、ピクチャの表示時刻であるPTS(Presentation Time−Stamp)やピクチャの復号時刻であるDTS(Decoding Time−Stamp)が格納される。
図28は、多重化データに最終的に書き込まれる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フィルタへの転送開始時刻を示す。多重化データには図28下段に示すようにソースパケットが並ぶこととなり、多重化データの先頭からインクリメントする番号は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時間の情報を持つ。
図29はPMTのデータ構造を詳しく説明する図である。PMTの先頭には、そのPMTに含まれるデータの長さ等を記したPMTヘッダが配置される。その後ろには、多重化データに関するディスクリプタが複数配置される。上記コピーコントロール情報等が、ディスクリプタとして記載される。ディスクリプタの後には、多重化データに含まれる各ストリームに関するストリーム情報が複数配置される。ストリーム情報は、ストリームの圧縮コーデック等を識別するためストリームタイプ、ストリームのPID、ストリームの属性情報(フレームレート、アスペクト比等)が記載されたストリームディスクリプタから構成される。ストリームディスクリプタは多重化データに存在するストリームの数だけ存在する。
記録媒体等に記録する場合には、上記多重化データは、多重化データ情報ファイルと共に記録される。
多重化データ情報ファイルは、図30に示すように多重化データの管理情報であり、多重化データと1対1に対応し、多重化データ情報、ストリーム属性情報とエントリマップから構成される。
多重化データ情報は図30に示すようにシステムレート、再生開始時刻、再生終了時刻から構成されている。システムレートは多重化データの、後述するシステムターゲットデコーダのPIDフィルタへの最大転送レートを示す。多重化データ中に含まれるATSの間隔はシステムレート以下になるように設定されている。再生開始時刻は多重化データの先頭のビデオフレームのPTSであり、再生終了時刻は多重化データの終端のビデオフレームのPTSに1フレーム分の再生間隔を足したものが設定される。
ストリーム属性情報は図31に示すように、多重化データに含まれる各ストリームについての属性情報が、PID毎に登録される。属性情報はビデオストリーム、オーディオストリーム、プレゼンテーショングラフィックスストリーム、インタラクティブグラフィックスストリーム毎に異なる情報を持つ。ビデオストリーム属性情報は、そのビデオストリームがどのような圧縮コーデックで圧縮されたか、ビデオストリームを構成する個々のピクチャデータの解像度がどれだけであるか、アスペクト比はどれだけであるか、フレームレートはどれだけであるか等の情報を持つ。オーディオストリーム属性情報は、そのオーディオストリームがどのような圧縮コーデックで圧縮されたか、そのオーディオストリームに含まれるチャンネル数は何であるか、何の言語に対応するか、サンプリング周波数がどれだけであるか等の情報を持つ。これらの情報は、プレーヤが再生する前のデコーダの初期化等に利用される。
本実施の形態においては、上記多重化データのうち、PMTに含まれるストリームタイプを利用する。また、記録媒体に多重化データが記録されている場合には、多重化データ情報に含まれる、ビデオストリーム属性情報を利用する。具体的には、上記各実施の形態で示した動画像符号化方法または装置において、PMTに含まれるストリームタイプ、または、ビデオストリーム属性情報に対し、上記各実施の形態で示した動画像符号化方法または装置によって生成された映像データであることを示す固有の情報を設定するステップまたは手段を設ける。この構成により、上記各実施の形態で示した動画像符号化方法または装置によって生成した映像データと、他の規格に準拠する映像データとを識別することが可能になる。
また、本実施の形態における動画像復号化方法のステップを図32に示す。ステップexS100において、多重化データからPMTに含まれるストリームタイプ、または、多重化データ情報に含まれるビデオストリーム属性情報を取得する。次に、ステップexS101において、ストリームタイプ、または、ビデオストリーム属性情報が上記各実施の形態で示した動画像符号化方法または装置によって生成された多重化データであることを示しているか否かを判断する。そして、ストリームタイプ、または、ビデオストリーム属性情報が上記各実施の形態で示した動画像符号化方法または装置によって生成されたものであると判断された場合には、ステップexS102において、上記各実施の形態で示した動画像復号方法により復号を行う。また、ストリームタイプ、または、ビデオストリーム属性情報が、従来のMPEG−2、MPEG4−AVC、VC−1等の規格に準拠するものであることを示している場合には、ステップexS103において、従来の規格に準拠した動画像復号方法により復号を行う。
このように、ストリームタイプ、または、ビデオストリーム属性情報に新たな固有値を設定することにより、復号する際に、上記各実施の形態で示した動画像復号化方法または装置で復号可能であるかを判断することができる。従って、異なる規格に準拠する多重化データが入力された場合であっても、適切な復号化方法または装置を選択することができるため、エラーを生じることなく復号することが可能となる。また、本実施の形態で示した動画像符号化方法または装置、または、動画像復号方法または装置を、上述したいずれの機器・システムに用いることも可能である。
上記各実施の形態で示した動画像符号化方法および装置、動画像復号化方法および装置は、典型的には集積回路であるLSIで実現される。一例として、図33に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チップ化されてもよいし、複数チップ化されてもよい。
また、上記では、制御部ex510が、CPUex502、メモリコントローラex503、ストリームコントローラex504、駆動周波数制御部ex512等を有するとしているが、制御部ex510の構成は、この構成に限らない。例えば、信号処理部ex507がさらにCPUを備える構成であってもよい。信号処理部ex507の内部にもCPUを設けることにより、処理速度をより向上させることが可能になる。また、他の例として、CPUex502が信号処理部ex507、または信号処理部ex507の一部である例えば音声信号処理部を備える構成であってもよい。このような場合には、制御部ex501は、信号処理部ex507、またはその一部を有するCPUex502を備える構成となる。
なお、ここでは、LSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
また、集積回路化の手法はLSIに限るものではなく、専用回路または汎用プロセッサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構築可能なリコンフィギュラブル・プロセッサを利用してもよい。
さらには、半導体技術の進歩または派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応等が可能性としてありえる。
上記各実施の形態で示した動画像符号化方法または装置によって生成された映像データを復号する場合、従来のMPEG−2、MPEG4−AVC、VC−1等の規格に準拠する映像データを復号する場合に比べ、処理量が増加することが考えられる。そのため、LSIex500において、従来の規格に準拠する映像データを復号する際のCPUex502の駆動周波数よりも高い駆動周波数に設定する必要がある。しかし、駆動周波数を高くすると、消費電力が高くなるという課題が生じる。
この課題を解決するために、テレビex300、LSIex500等の動画像復号化装置は、映像データがどの規格に準拠するものであるかを識別し、規格に応じて駆動周波数を切替える構成とする。図34は、本実施の形態における構成ex800を示している。駆動周波数切替え部ex803は、映像データが、上記各実施の形態で示した動画像符号化方法または装置によって生成されたものである場合には、駆動周波数を高く設定する。そして、上記各実施の形態で示した動画像復号化方法を実行する復号処理部ex801に対し、映像データを復号するよう指示する。一方、映像データが、従来の規格に準拠する映像データである場合には、映像データが、上記各実施の形態で示した動画像符号化方法または装置によって生成されたものである場合に比べ、駆動周波数を低く設定する。そして、従来の規格に準拠する復号処理部ex802に対し、映像データを復号するよう指示する。
より具体的には、駆動周波数切替え部ex803は、図33のCPUex502と駆動周波数制御部ex512から構成される。また、上記各実施の形態で示した動画像復号化方法を実行する復号処理部ex801、および、従来の規格に準拠する復号処理部ex802は、図33の信号処理部ex507に該当する。CPUex502は、映像データがどの規格に準拠するものであるかを識別する。そして、CPUex502からの信号に基づいて、駆動周波数制御部ex512は、駆動周波数を設定する。また、CPUex502からの信号に基づいて、信号処理部ex507は、映像データの復号を行う。ここで、映像データの識別には、例えば、上述した識別情報を利用することが考えられる。識別情報に関しては、上述したものに限られず、映像データがどの規格に準拠するか識別できる情報であればよい。例えば、映像データがテレビに利用されるものであるか、ディスクに利用されるものであるか等を識別する外部信号に基づいて、映像データがどの規格に準拠するものであるか識別可能である場合には、このような外部信号に基づいて識別してもよい。また、CPUex502における駆動周波数の選択は、例えば、図36のような映像データの規格と、駆動周波数とを対応付けたルックアップテーブルに基づいて行うことが考えられる。ルックアップテーブルを、バッファex508や、LSIの内部メモリに格納しておき、CPUex502がこのルックアップテーブルを参照することにより、駆動周波数を選択することが可能である。
図35は、本実施の形態の方法を実施するステップを示している。まず、ステップ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を含む装置を駆動している場合には、省電力化に伴い、電池の寿命を長くすることが可能である。
テレビや、携帯電話等、上述した機器・システムには、異なる規格に準拠する複数の映像データが入力される場合がある。このように、異なる規格に準拠する複数の映像データが入力された場合にも復号できるようにするために、LSIex500の信号処理部ex507が複数の規格に対応している必要がある。しかし、それぞれの規格に対応する信号処理部ex507を個別に用いると、LSIex500の回路規模が大きくなり、また、コストが増加するという課題が生じる。
この課題を解決するために、上記各実施の形態で示した動画像復号方法を実行するための復号処理部と、従来のMPEG−2、MPEG4−AVC、VC−1等の規格に準拠する復号処理部とを一部共有化する構成とする。この構成例を図37Aのex900に示す。例えば、上記各実施の形態で示した動画像復号方法と、MPEG4−AVC規格に準拠する動画像復号方法とは、エントロピー符号化、逆量子化、デブロッキング・フィルタ、動き補償等の処理において処理内容が一部共通する。共通する処理内容については、MPEG4−AVC規格に対応する復号処理部ex902を共有し、MPEG4−AVC規格に対応しない、本発明特有の他の処理内容については、専用の復号処理部ex901を用いるという構成が考えられる。特に、本発明は、選択された順序でフィルタ処理を適用すること特徴を有していることから、例えば、フィルタ処理については専用の復号処理部ex901を用い、それ以外のエントロピー符号化、逆量子化、空間予測または動き補償予測、または、全ての処理については、復号処理部を共有することが考えられる。復号処理部の共有化に関しては、共通する処理内容については、上記各実施の形態で示した動画像復号化方法を実行するための復号処理部を共有し、MPEG4−AVC規格に特有の処理内容については、専用の復号処理部を用いる構成であってもよい。
また、処理を一部共有化する他の例を図37Bのex1000に示す。この例では、本発明に特有の処理内容に対応した専用の復号処理部ex1001と、他の従来規格に特有の処理内容に対応した専用の復号処理部ex1002と、本発明の動画像復号方法と他の従来規格の動画像復号方法とに共通する処理内容に対応した共用の復号処理部ex1003とを用いる構成としている。ここで、専用の復号処理部ex1001、ex1002は、必ずしも本発明、または、他の従来規格に特有の処理内容に特化したものではなく、他の汎用処理を実行できるものであってもよい。また、本実施の形態の構成を、LSIex500で実装することも可能である。
このように、本発明の動画像復号方法と、従来の規格の動画像復号方法とで共通する処理内容について、復号処理部を共有することにより、LSIの回路規模を小さくし、かつ、コストを低減することが可能である。
上述の例の大部分では、H.264/AVCに基づいた動画像符号化システムについて、主にH.264/AVC用語に関する用語を用いながら概説した。しかし、H.264/AVCに基づいた符号化に関する用語と様々な実施の形態は、本発明の動作および目的をこのようなシステムに限定するものではない。詳細な説明におけるH.264/AVC標準に適合した符号化および復号は、典型的な実施の形態をより理解し易くするための記載であり、本発明は、記載された特定の動画像符号化の機能およびプロセスに限定されるものではない。ここで提案された改良は、上述した動画像符号化に容易に適用されても構わない。さらに、本発明の概念は、JVTによって現在議論されているH.264/AVC符号化の強化に、速やかに用いられても構わない。
まとめると、本発明は、画像信号の符号化および復号のための方法、および、それらを両方の装置で一致させることに関する。特に、画像信号の符号化および/または復号の間に、少なくとも2つのフィルタを用いたフィルタ処理が実行される。フィルタの適用シーケンスおよび利用可能なフィルタが選択される。さらに、フィルタ処理では、選択されたフィルタを、選択されたフィルタ処理順序で適用する。フィルタの適用シーケンスの決定は、エンコーダおよびデコーダの何れにおいても、同じ方法で独立して実行されて構わない。あるいは、エンコーダで決定し、デコーダに信号を送っても構わない。