(57)【要約】【課題】残差予測時、ブロックアーチファクト（ｂｌｏｃｋ  ａｒｔｉｆａｃｔ）を減少させる方法および装置を提供する。【解決手段】現在ピクチャに含まれる第１ブロックに対応する下位ピクチャの第２ブロックに対する予測ブロックと前記第２ブロックとの差分を求める段階と、前記求めた差分と、前記第１ブロックに対する予測ブロックを加算する段階と、前記加算結果として生成される第３ブロックを、スムージング関数を利用してスムージングする段階と、前記第１ブロックと前記スムージングされた第３ブロックとの差分を符号化する段階で行われる多階層基盤のビデオエンコーディング方法。【選択図】図４
2007189698.tif 000002
【特許請求の範囲】
【請求項１】
（ａ）現在ピクチャに含まれる第１ブロックに対応する下位ピクチャの第２ブロックに対する予測ブロックと前記第２ブロックとの差分を求める段階と、
（ｂ）前記求めた差分と前記第１ブロックに対する予測ブロックを加算する段階と、
（ｃ）前記加算結果として生成される第３ブロックを、スムージング関数を利用してスムージングする段階と、
（ｄ）前記第１ブロックと前記スムージングされた第３ブロックとの差分を符号化する段階を含むこと、を特徴とする多階層基盤のビデオエンコーディング方法。
【請求項２】
前記第１ブロックに対する予測ブロックおよび前記第１ブロックに対する予測ブロックは、インター予測ブロックであること、を特徴とする請求項１に記載の多階層基盤のビデオエンコーディング方法。
【請求項３】
前記第２ブロックに対する予測ブロックは、モーション推定過程およびモーション補償過程により求められること、を特徴とする請求項１に記載の多階層基盤のビデオエンコーディング方法。
【請求項４】
前記第１ブロックに対する予測ブロックは、前記モーション推定過程で生成されるモーションベクトルを利用したモーション補償過程により求められること、を特徴とする請求項３に記載の多階層基盤のビデオエンコーディング方法。
【請求項５】
前記（ｂ）段階以前に、
前記求めた差分をアップサンプリングする段階をさらに含み、前記（ｂ）段階で加算される差分は、前記アップサンプリングされた差分であること、を特徴とする請求項１に記載の多階層基盤のビデオエンコーディング方法。
【請求項６】
前記スムージング関数は、
スムージングしようとするピクセルおよびその周辺ピクセルの線形的な結合として表示されること、を特徴とする請求項１に記載の多階層基盤のビデオエンコーディング方法。
【請求項７】
前記周辺ピクセルは、
前記スムージングしようとするピクセルに、上下または左右に隣接した二つのピクセルであること、を特徴とする請求項６に記載の多階層基盤のビデオエンコーディング方法。
【請求項８】
前記スムージングしようとするピクセルの加重値は、１／２であり、前記二つの周辺ピクセルの加重値は、各々１／４であること、を特徴とする請求項７に記載の多階層基盤のビデオエンコーディング方法。
【請求項９】
前記（ｃ）段階は、
前記スムージングしようとするピクセルおよびその左右に隣接した周辺ピクセルを含む水平ウインドウを、前記第３ブロック内部を移動しつつスムージングする段階を含むこと、を特徴とする請求項６に記載の多階層基盤のビデオエンコーディング方法。
【請求項１０】
前記（ｃ）段階は、
前記スムージングしようとするピクセルおよびその上下に隣接した周辺ピクセルを含む垂直ウインドウを、前記第３ブロック内部を移動しつつスムージングする段階を含むこと、を特徴とする請求項６に記載の多階層基盤のビデオエンコーディング方法。
【請求項１１】
前記（ｃ）段階は、
前記第３ブロックの左側境界に隣接したピクセルおよびその左右に隣接した周辺ピクセルを含む水平ウインドウを前記第３ブロックの左側境界に沿って移動しつつスムージングする段階を含むこと、を特徴とする請求項６に記載の多階層基盤のビデオエンコーディング方法。
【請求項１２】
前記（ｃ）段階は、
前記第３ブロックの上側境界に隣接したピクセルおよびその上下に隣接した周辺ピクセルを含む垂直ウインドウを前記第３ブロックの上側境界に沿って移動しつつスムージングする段階を含むこと、を特徴とする請求項６に記載の多階層基盤のビデオエンコーディング方法。
【請求項１３】
前記第３ブロックは、マクロブロックまたはサブブロックであること、を特徴とする請求項９ないし請求項１２に記載の多階層基盤のビデオエンコーディング方法。
【請求項１４】
ビデオフレームのブロックを予測ブロックとの差分でエンコーディングしてビットストリームを生成する方法において、
前記予測ブロックがスムージングフィルタリングされたか否かを表す情報を挿入する段階を含むこと、を特徴とするビットストリーム生成方法。
【請求項１５】
前記予測ブロックは、前記ブロックのインター予測ブロックと前記ブロックの下位階層の残差ブロックから求められること、を特徴とする請求項１４に記載のビットストリーム生成方法
【請求項１６】
前記ブロックが前記予測ブロックによって予測されるか否かを表す情報を挿入する段階をさらに含むこと、を特徴とする請求項１５に記載のビットストリーム生成方法。
【請求項１７】
前記ブロックは、残差予測が適用され、単一ループデコーディングされること、を特徴とする請求項１４に記載のビットストリーム生成方法。
【請求項１８】
ビデオ信号のブロックを予測ブロックと差分してエンコーディングされた情報を含む第１領域と、
前記予測ブロックがスムージングフィルタリングされたか否かを表す情報を含む第２領域を含むこと、を特徴とする保存媒体。
【請求項１９】
前記予測ブロックは、前記ブロックのインター予測ブロックと前記ブロックの下位階層の残差ブロックから求められること、を特徴とする請求項１８に記載の保存媒体。
【請求項２０】
前記ブロックが前記予測ブロックによって予測されるか否かを表す情報を含む第３領域をさらに含むこと、を特徴とする請求項１９に記載の保存媒体。
【請求項２１】
前記ブロックは、残差予測が適用され、単一ループデコーディングされること、を特徴とする請求項１８に記載の保存媒体。
【請求項２２】
ビデオフレームの現在ブロックを予測ブロックからデコーディングする方法において、
前記予測ブロックを復元する段階と、
前記予測ブロックをスムージングフィルタリングする段階と、
前記スムージングフィルタリングされた予測ブロックから前記現在ブロックを復元する段階を含むこと、を特徴とするデコーディング方法。
【請求項２３】
前記予測ブロックは、前記現在ブロックのインター予測ブロックと前記現在ブロックの下位階層の残差ブロックから求められること、を特徴とする請求項２２に記載のデコーディング方法。
【請求項２４】
前記予測ブロックのスムージングフィルタリングの有無を表す情報を確認する段階をさらに含むこと、を特徴とする請求項２２に記載のデコーディング方法。
【請求項２５】
前記スムージングフィルタリングする段階は、スムージングしようとするピクセルおよびその周辺ピクセルの線形結合として表示されること、を特徴とする請求項２３に記載のデコーディング方法。
【請求項２６】
前記周辺ピクセルは、前記スムージングしようとするピクセルの上下または左右に隣接した二つのピクセルであること、を特徴とする請求項２５に記載のデコーディング方法。
【請求項２７】
前記スムージングフィルタリングする段階は、前記スムージングしようとするピクセルを１／２倍加重し、前記隣接した二つのピクセルを１／４倍加重すること、を特徴とする請求項２６に記載のデコーディング方法。
【請求項２８】
前記スムージングしようとするピクセルがブロックの境界に隣接したピクセルの場合、前記周辺ピクセルは、前記ブロックの隣接したブロックのピクセルを選択すること、を特徴とする請求項２６に記載のデコーディング方法。
【請求項２９】
ビデオフレームの現在ブロックを予測ブロックからデコーディングする方法において、
前記現在ブロックが残差予測を使用するのか判断する段階と、
前記現在ブロックが基礎階層スキップモードを使用するのか判断する段階と、
前記現在ブロックがスムージングフィルタリングを使用するのか判断する段階と、
前記予測ブロックを復元して前記予測ブロックをスムージングフィルタリングする段階と、
前記予測ブロックから現在ブロックを復元する段階を含むこと、を特徴とするデコーディング方法。
【請求項３０】
前記予測ブロックは、前記現在ブロックのインター予測ブロックと前記現在ブロックの基礎階層の残差ブロックから求められること、を特徴とする請求項２９に記載のデコーディング方法。
【請求項３１】
前記スムージングフィルタリングは、前記現在ブロックのピクセルに隣接した二つのピクセルの線型的な結合で成されること、を特徴とする請求項３０に記載のデコーディング方法。
【請求項３２】
前記現在ブロックのピクセルは、隣接した上下および左右の二つのピクセルの線型的な結合で成されること、を特徴とする請求項３０に記載のデコーディング方法。
【請求項３３】
（ａ）入力されたビットストリームに含まれる現在ピクチャの第１ブロックに対するテクスチャデータから前記第１ブロックの残差信号を復元する段階と、
（ｂ）前記ビットストリームに含まれ、前記ブロックと対応する基礎階層の第２ブロックに対する残差信号を復元する段階と、
（ｃ）前記第１残差信号と前記第２残差信号を加算する段階と、
（ｄ）前記第１ブロックに対するインター予測ブロックを、スムージングフィルタを利用してスムージングする段階と、
（ｅ）前記加算された結果と前記スムージングされたインター予測ブロックを加算する段階を含むこと、を特徴とする多階層基盤のビデオデコーディング方法。
【請求項３４】
現在ピクチャに含まれる第１ブロックに対応する下位ピクチャの第２ブロックに対する予測ブロックと前記第２ブロックとの差分を求める手段と、
前記求めた差分と、前記第１ブロックに対する予測ブロックを加算する手段と、
前記加算結果として生成される第３ブロックを、スムージング関数を利用してスムージングする手段と、
前記第１ブロックと前記スムージングされた第３ブロックとの差分を符号化する手段を含むこと、を特徴とする多階層基盤のビデオエンコーダ。
【請求項３５】
入力されたビットストリームに含まれる現在ピクチャの第１ブロックに対するテクスチャデータから前記第１ブロックの残差信号を復元する手段と、
前記ビットストリームに含まれ前記ブロックと対応する基礎階層の第２ブロックに対する残差信号を復元する手段と、
前記第２ブロックに対する残差信号と前記第１ブロックに対する予測ブロックを加算する手段と、
前記加算結果として生成される第３ブロックを、スムージングフィルタを利用してスムージングする手段と、
前記第１ブロックに対する残差信号と前記スムージングされた第３ブロックを加算する手段を含む、多階層基盤のビデオデコーダ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ビデオコーディング技術に関するもので、より詳細には多階層基盤のビデオコーディングにおいて、残差予測時、ブロックアーチファクト（ｂｌｏｃｋ  ａｒｔｉｆａｃｔ）を減少させる方法および装置に関するものである。
【背景技術】
【０００２】
インターネットを含む情報通信技術が発達するのにともない文字、音声だけでなく画像通信が増加している。既存の文字中心の通信方式ではユーザの多様な欲求を充足させるには不足であり、これによって文字、映像、音楽など多様な形態の情報を受容することができるマルチメディアサービスが増加している。マルチメディアデータは、その量が膨大で、大容量の保存媒体を必要とし、送信時に広い帯域幅を必要とする。したがって文字、映像、音声を含むマルチメディアデータを送るためには、圧縮コーディング技法を使用するのが必須である。
【０００３】
データを圧縮する基本的な原理は、データの重複（ｒｅｄｕｎｄａｎｃｙ）要素を取り除く過程である。イメージにおいて、同じ色やオブジェクトが反復するような空間的重複や、動画ピクチャにおいて、隣接ピクチャがほとんど変化しない場合や、音声において、同じ音が継続して反復するような時間的重複、または人間の視覚および知覚能力が、高い周波数に鈍感なことを考慮して、知覚的重複を取り除くことによってデータを圧縮することができる。一般的なビデオコーディング方法において、時間的重複は、モーション補償に基づく時間的フィルタリング（ｔｅｍｐｏｒａｌ  ｆｉｌｔｅｒｉｎｇ）により取り除き、空間的重複は、空間的変換（ｓｐａｔｉａｌ  ｔｒａｎｓｆｏｒｍ）により取り除く。データの重複を取り除いた後に生成されるマルチメディアを送るためには、送信媒体が必要であるが、その性能は、送信媒体別に差異がある。現在使われる送信媒体は、秒当たり数十メガビットのデータを送信することができる超高速通信網から、秒当たり３８４ｋｂｉｔの伝送速度を有する移動通信網などのように多様な伝送速度を有している。このような環境で、多様な速度の送信媒体を支援するため、または送信環境にともない、それに適合する送信率でマルチメディアを伝送することができるようにする、すなわちスケーラブルビデオコーディング（ｓｃａｌａｂｌｅ  ｖｉｄｅｏ  ｃｏｄｉｎｇ）方法がマルチメディア環境に、より適合しているといえる。
【０００４】
スケーラブルビデオコーディングとは、すでに圧縮されたビットストリーム（ｂｉｔ−ｓｔｒｅａｍ）に対して、送信ビット率、送信エラー率、システムリソースなどの周辺条件により、前記ビットストリームの一部を取り出し、ビデオの解像度、フレーム率、およびＳＮＲ（Ｓｉｇｎａｌ−ｔｏ−Ｎｏｉｓｅ  Ｒａｔｉｏ）等を調節できるようにする符号化方式、すなわち多様なスケーラビリティ（ｓｃａｌａｂｉｌｉｔｙ）を支援する符号化方式を意味する。
【０００５】
現在、ＭＰＥＧ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）とＩＴＵ（Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｔｅｌｅｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｕｎｉｏｎ）の共同作業グループ（ｗｏｒｋｉｎｇ  ｇｒｏｕｐ）のＪＶＴ（Ｊｏｉｎｔ  Ｖｉｄｅｏ  Ｔｅａｍ）では、Ｈ．２６４を基本とし、多階層（ｍｕｌｔｉ−ｌａｙｅｒ）形態でスケーラビリティを具現するための標準化作業（以下、Ｈ．２６４  ＳＥ（ｓｃａｌａｂｌｅ  ｅｘｔｅｎｓｉｏｎ）という）が進められている。
【０００６】
Ｈ．２６４  ＳＥと多階層基盤のスケーラブルビデオコーデック（ｃｏｄｅｃ）は、基本的にインター予測（ｉｎｔｅｒ  ｐｒｅｄｉｃｔｉｏｎ）、方向的イントラ予測（ｄｉｒｅｃｔｉｏｎａｌ  ｉｎｔｒａ  ｐｒｅｄｉｃｔｉｏｎ；以下単純にイントラ予測という）、残差予測（ｒｅｓｉｄｕａｌ  ｐｒｅｄｉｃｔｉｏｎ）、およびイントラベース予測（ｉｎｔｒａ  ｂａｓｅ  ｐｒｅｄｉｃｔｉｏｎ）の４種類予測モードを支援している。「予測」とは、エンコーダおよびデコーダで共通に利用可能な情報から生成された予測データを利用し、オリジナルデータを圧縮的に示す技法を意味する。
【０００７】
前記４種類の予測モードのうちでインター予測は、既存の単一階層構造を有するビデオコーデックでも一般的に使用される予測モードである。インター予測は、図１に示したように、少なくとも一つ以上の参照ピクチャから現在ピクチャの、あるブロック（現在ブロック）と最も類似するブロックを探索し、前記探索された現在ブロックを最もよく表現することのできる予測ブロックを得た後、前記現在ブロックと前記予測ブロックとの差分を量子化する方式である。
【０００８】
インター予測は、参照ピクチャを参照する方式によって、二つの参照ピクチャが使われる両方向予測（ｂｉ−ｄｉｒｅｃｔｉｏｎａｌ  ｐｒｅｄｉｃｔｉｏｎ）と、以前参照ピクチャが使われる純方向予測（ｆｏｒｗａｒｄ  ｐｒｅｄｉｃｔｉｏｎ）と、以後参照ピクチャが使われる逆方向予測（ｂａｃｋｗａｒｄ  ｐｒｅｄｉｃｔｉｏｎ）等がある。
【０００９】
一方、イントラ予測もＨ．２６４のような単一階層のビデオコーデックで使用される予測技法である。イントラ予測は、現在ブロックの周辺ブロックのうち、現在ブロックと隣接したピクセルを利用して、現在ブロックを予測する方式である。イントラ予測は、現在ピクチャ内の情報だけを利用し、同一階層内の他のピクチャや他の階層のピクチャを参照しないという点で他の予測方式と差異がある。
【００１０】
イントラベース予測（ｉｎｔｒａ  ｂａｓｅ  ｐｒｅｄｉｃｔｉｏｎ）は多階層構造を有するビデオコーデックにおいて、現在ピクチャが同一な時間的位置を有する下位階層のピクチャ（以下「基礎ピクチャ」という）を有する場合に使用されえる。図２に示したように、現在ピクチャのマクロブロックは前記マクロブロックと対応する前記基礎ピクチャのマクロブロックから効率的に予測されうる。すなわち、現在ピクチャのマクロブロックと前記基礎ピクチャのマクロブロックとの差分が量子化される。
【００１１】
もし、下位階層の解像度と現在階層の解像度が互いに異なる場合には、前記差分を求める前に前記基礎ピクチャのマクロブロックは、前記現在階層の解像度でアップサンプリングされなければならない。このようなイントラベース予測は、インター予測の効率が高くない場合、例えば、動きが非常に速い映像や場面転換が発生する映像で特に効果的である。
【００１２】
最後に、残差予測によるインター予測（Ｉｎｔｅｒ−ｐｒｅｄｉｃｔｉｏｎ  ｗｉｔｈ  ｒｅｓｉｄｕａｌ  ｐｒｅｄｉｃｔｉｏｎ；以下、単に「残差予測」という）は、既存の単一階層でのインター予測を多階層の形態に拡張したものである。図３で示されたように残差予測によれば、現在階層のインター予測過程で生成された差分を直接量子化するのではなく、前記差分と下位階層のインター予測過程で生成された差分を改めて差引き、その結果を量子化する。
【００１３】
多様なビデオシーケンスの特性を考慮し、前述した４種類の予測方法は、ピクチャを成すマクロブロック別に、その中からより効率的な方法が選択される。例えば、動きが遅いビデオシーケンスでは主にインター予測ないし残差予測が選択されるものであり、動きが速いビデオシーケンスでは主にイントラベース予測が選択される。
【００１４】
多階層構造を有するビデオコーデックは、単一階層でされたビデオコーデックに比べ、相対的に複雑な予測構造を有しているだけでなく、開放ループ（ｏｐｅｎ−ｌｏｏｐ）構造が主に使用されることで、単一階層コーデックに比べブロックアーチファクト（ｂｌｏｃｋｉｎｇ  ａｒｔｉｆａｃｔ）が多く出現する。特に、前述した残差予測の場合は下位階層ピクチャの残差信号を使用するが、これが現在階層ピクチャのインター予測された信号の特性と差異が大きい場合には激しい歪みが発生しうる。
【００１５】
反面、イントラベース予測時に現在ピクチャのマクロブロックに対する予測信号、すなわち基礎ピクチャのマクロブロックは、オリジナル信号でなく量子化された後に復元された信号である。したがって、前記予測信号は、エンコーダおよびデコーダ共に共通に得ることができる信号であるため、エンコーダおよびデコーダ間のミスマッチ（ｍｉｓｍａｔｃｈ）が発生せず、特に前記予測信号にスムージングフィルタを適用した後に現在ピクチャのマクロブロックとの差分を求めるためブロックアーチファクトも大幅に減少する。
【００１６】
ところで、イントラベース予測は、現在Ｈ．２６４  ＳＥの作業草案（ｗｏｒｋｉｎｇ  ｄｒａｆｔ）に採択されている低複雑性デコーディング（ｌｏｗ  ｃｏｍｐｌｅｘｉｔｙ  ｄｅｃｏｄｉｎｇ）条件ないし単一ループデコーディング（ｓｉｎｇｌｅ−ｌｏｏｐ  ｄｅｃｏｄｉｎｇ）条件によれば、その使用が制限される。すなわち、Ｈ．２６４  ＳＥではエンコーディングは、多階層方式で行われたとしてもデコーディングだけは単一階層ビデオコーデックと類似の方式で行えるよう、特定の条件を満たす場合にだけイントラベース予測が使用されえる。
【００１７】
前記低複雑性デコーディング条件によれば、現在階層のあるマクロブロックに対応する下位階層のマクロブロックのマクロブロックタイプ（ｍａｃｒｏｂｌｏｃｋ  ｔｙｐｅ）がイントラ予測モードまたはイントラベース予測モードの場合にだけ、前記イントラベース予測が使用される。これはデコーディング過程で最も多い演算量を占めるモーション補償過程にともなう演算量を減少させるためである。反面、イントラベース予測を単に制約的に使用するようになるため動きが速い映像での性能が大幅に下がるという問題がある。
【００１８】
したがって、前記低複雑性条件またはその他異なる条件にしたがってインター予測または残差予測が使用される場合において、エンコーダ・デコーダ間のミスマッチ、ブロックアーチファクトなど各種の歪みを減少することができる技術が必要である。
【発明の開示】
【発明が解決しようとする課題】
【００１９】
本発明が成そうとする技術的課題は、多階層基盤のビデオコーデックでインター予測または残差予測時にコーディング性能を向上させることを目的とする。
【００２０】
本発明の技術的課題は、前記技術的課題に制限されず、言及していないさらなる技術的課題は、下記の記載から当業者には明確に理解できるはずである。
【課題を解決するための手段】
【００２１】
前記した技術的課題を達成するための本発明の一実施形態によるビデオエンコーディング方法は、現在ピクチャに含まれる第１ブロックに対応する下位ピクチャの第２ブロックに対する予測ブロックと前記第２ブロックとの差分を求める段階、前記求めた差分と、前記第１ブロックに対する予測ブロックを加算する段階、前記加算結果として生成される第３ブロックを、スムージング関数を利用してスムージングする段階、および前記第１ブロックと前記スムージングされた第３ブロックとの差分を符号化する段階を含む。
【００２２】
前記した技術的課題を達成するための本発明の一実施形態によるビットストリーム生成方法は、現在階層に含まれる第１ブロックに対する予測信号をスムージングする段階、前記第１ブロックと前記スムージングされた予測信号との差分をエンコーディングする段階、および前記エンコーディングされた差分と、前記スムージングの適用可否を示す第１フラグを含み、ビットストリームを生成する段階を含む。
【００２３】
前記した技術的課題を達成するための本発明の一実施形態によるビデオデコーディング方法は、入力されたビットストリームに含まれる現在ピクチャの第１ブロックに対するテクスチャデータから前記第１ブロックの残差信号を復元する段階、前記ビットストリームに含まれながら、前記ブロックと対応する基礎階層の第２ブロックに対する残差信号を復元する段階、前記第２ブロックに対する残差信号と前記第１ブロックに対する予測ブロックを加算する段階、前記加算結果として生成される第３ブロックをスムージングフィルタを利用してスムージングする段階、および前記第１ブロックに対する残差信号と前記スムージングされた第３ブロックを加算する段階を含む。
【００２４】
前記した技術的課題を達成するための本発明の他の実施形態によるビデオデコーディング方法は、入力されたビットストリームに含まれる現在ピクチャの第１ブロックに対するテクスチャデータから前記第１ブロックの残差信号を復元する段階、前記ビットストリームに含まれ、前記ブロックと対応する基礎階層の第２ブロックに対する残差信号を復元する段階、前記第１残差信号と前記第２残差信号を加算する段階、前記第１ブロックに対するインター予測ブロックを、スムージングフィルタを利用してスムージングする段階、および前記加算された結果と前記スムージングされたインター予測ブロックを加算する段階を含む。
【００２５】
前記した技術的課題を達成するための本発明の一実施形態によるビデオエンコーダは、現在ピクチャに含まれる第１ブロックに対応する下位ピクチャの第２ブロックに対する予測ブロックと前記第２ブロックとの差分を求める手段、前記求めた差分と、前記第１ブロックに対する予測ブロックを加算する手段、前記加算結果として生成される第３ブロックを、スムージング関数を利用してスムージングする手段、および前記第１ブロックと前記スムージングされた第３ブロックとの差分を符号化する手段を含む。
【００２６】
前記した技術的課題を達成するための本発明の一実施形態によるビデオデコーダは、入力されたビットストリームに含まれる現在ピクチャの第１ブロックに対するテクスチャデータから前記第１ブロックの残差信号を復元する手段、前記ビットストリームに含まれ前記ブロックと対応する基礎階層の第２ブロックに対する残差信号を復元する手段、前記第２ブロックに対する残差信号と前記第１ブロックに対する予測ブロックを加算する手段、前記加算結果、生成される第３ブロックを、スムージングフィルタを利用してスムージングする手段、および前記第１ブロックに対する残差信号と前記スムージングされた第３ブロックを加算する手段を含む。
【発明の効果】
【００２７】
本発明によれば、残差予測またはインター予測を利用するコーデックの性能を向上させることができる。
【００２８】
特に、低複雑性デコーディング条件を有するイントラベース予測を利用するコーデックの性能を向上させることができる。
【発明を実施するための最良の形態】
【００２９】
その他実施形態の具体的な事項は詳細な説明および図面に含まれる。
【００３０】
本発明の利点および特徴、そしてそれらを達成する方法は、添付された図面と共に詳細に後述されている実施形態を参照すれば明確になる。
【００３１】
しかし、本発明は以下において開示される実施形態に限定されるものではなく、互いに異なる多様な形態で具現されうるものであり、単に本実施形態は本発明の開示が完全なようにし、本発明が属する技術分野で通常の知識を有する者に発明の範疇を完全に知らせるために提供されているもので、本発明は、請求項の範疇によって定義されるだけである。
【００３２】
明細書全体にかけて、同一参照符号は同一構成要素を指す。
【００３３】
現在ピクチャのブロックをＯＦ、前記ブロックをインター予測して得た予測ブロックをＰＦ、前記現在ピクチャのブロックに対応する基礎ピクチャのブロックをＯＢ、基礎ピクチャをインター予測して得た予測ブロックをＰＢとすると、前記ＯＢが持つ残差信号のＲＢはＯＢ−ＰＢから求められる。
【００３４】
この時、ＯＢ、ＰＢ、ＲＢはすでに量子化された後に復元された値であり、ＯＦ、ＰＦは開放ループ方式の場合にはオリジナル信号、閉鎖ループ（ｃｌｏｓｅｄ−ｌｏｏｐ）方式の場合には量子化後に復元された値を意味する。
【００３５】
この時、現在ピクチャでコーディングしようとする値をＲＦとすれば、残差予測は次の数１のように表現することができる。
【００３６】
数１でＵはアップサンプリング関数を示す。
【００３７】
前記アップサンプリング関数は、現在階層と下位階層間に解像度が違う場合にだけ適用されるため、選択的に適用されうる意味で［Ｕ］で表示した。
【００３８】
【数１】
2007189698.tif 000003
【００３９】
一方、イントラベース予測は次の数２のように表現することができる。
【００４０】
【数２】
2007189698.tif 000004
【００４１】
数１および２を比較すると一見共通点がないように見えるが各数式を次の数３および４で各々改めて表現することによって、その類似性を比較することができる。
【００４２】
【数３】
2007189698.tif 000005
【００４３】
【数４】
2007189698.tif 000006
【００４４】
数４でＢはデブロック関数を示す。
【００４５】
数３と数４を比較してみれば、ＲＢは両者に共通であり、最も大きい差異点は数３では現在階層のインター予測された予測ブロックのＰＦを、数４では下位階層のインター予測された予測ブロックのＰＢを使用する点である。
【００４６】
また、イントラベース予測の場合にはデブロック関数およびアップサンプリング関数が適用されれば、復元されるピクチャのイメージが柔らかくなりブロックアーチファクトが減少する。
【００４７】
反面、数３の場合、ＰＢから求めた基礎ピクチャの残差信号のＲＢを現在ピクチャのイントラ予測されたブロックのＰＦに加えることによって階層間のミスマッチまたはブロックアーチファクトが発生しうる。
【００４８】
もちろん、イントラベース予測を使用するとしたら、このような問題が緩和されるだろうが、残差予測に比べて、イントラベース予測の効率が高くない場合にまでイントラベース予測を使用することはできない。
【００４９】
また、低複雑性デコーディング条件が適用される場合には、イントラベース予測がより効率的な状況であってもイントラベース予測が使用されないブロックが増加し、性能低下が目立つようになる。したがって、このような場合には残差予測を使用しつつも、ブロックアーチファクトを減少させうる方法を講じなければならない。
【００５０】
本発明では、数３にスムージング関数（ｓｍｏｏｔｈｉｎｇ  ｆｕｎｃｔｉｏｎ）Ｆを追加することによって既存の残差予測を補完しようとする。
【００５１】
本発明によれば、量子化されなければならない現在ブロックのデータＲＦは、次の数５のように表現される。
【００５２】
【数５】
2007189698.tif 000007
【００５３】
前記数５による予測モードは、インター予測にもそのまま適用されうる。すなわち、インター予測の場合にはＲＢが０であるとみなすことができるため、ＲＦは次の数６のように表現されうる。
【００５４】
【数６】
2007189698.tif 000008
【００５５】
以上の数５および６のように既存の残差予測またはインター予測時にスムージングフィルタを適用する技法を「スムージング予測（ｓｍｏｏｔｈｉｎｇ  ｐｒｅｄｉｃｔｉｏｎ）」と定義するものとする。スムージング予測を行う、より詳細な過程は図４を参照し説明する。図４では、現在ピクチャのあるブロック２０（以下「現在ブロック」という）を符号化する過程を例としてあげている。前記現在ブロック２０と対応する基礎ピクチャ内のブロック１０を以下「基礎ブロック」と命名する。
【００５６】
まず、基礎ブロック１０とモーションベクトルよって、対応する下位階層の周辺参照ピクチャ（純方向参照ピクチャ、逆方向参照ピクチャ等）内のブロック１１、１２から、基礎ブロック１０に対するインター予測ブロック１３を生成する（Ｓ１）。そして、基礎ブロックと前記予測ブロック１３との差分（数５でＲＢに該当する）を求める（Ｓ２）。一方、現在ブロック２０とモーションベクトルによって、対応する現在階層の周辺参照ピクチャ内のブロック２１、２２から、現在ブロック２０に対するインター予測ブロック２３（数５でＰＦに該当する）を生成する（Ｓ３）。Ｓ３段階は、Ｓ１、Ｓ２段階以前に行われてもかまわない。一般的に前記「インター予測ブロック」は符号化しようとするピクチャ内のあるブロックと対応する参照ピクチャ上のイメージ（またはイメージ等）から求められる前記ブロックに対する予測ブロックを意味する。前記ブロックとイメージとの対応は、モーションベクトルによって表示される。一般的に、前記インター予測ブロックは、参照ピクチャが一つの場合には前記対応するイメージ自体を意味したりもし、参照ピクチャが複数の場合には対応するイメージの加重合を意味したりもする。
【００５７】
その次に、予測ブロック２３と前記Ｓ２段階で求めた差分を加算する（Ｓ４）。そして、前記加算結果として生成されるブロック（数５でＰＦ＋ＲＢに該当）を、スムージングフィルタを適用してスムージングする（Ｓ５）。最後に、現在ブロック２０と前記スムージング結果として生成されるブロック（数５でＦ（ＰＦ＋ＲＢ）に該当）との差分を求めた後（Ｓ６）、前記差分を量子化する（Ｓ７）。
【００５８】
以上の図４は、残差予測を基盤にしたスムージング予測過程を示したものである。インター予測を基盤にしたスムージング予測過程は、これよりははるかに簡単になる。すなわち、数５においての下位階層に対する計算と関連するＲＢが省略されるため、図４の説明においてのＳ１、Ｓ２、Ｓ４の過程はすべて省略される。したがって、現在階層で生成されたインター予測ブロック２３は、スムージングフィルタによってスムージングされた後、現在ブロック２０と前記スムージング結果として生成されるブロック（数６でＦ（ＰＦ）に該当）間の差分が量子化される。
【００５９】
一方、スムージング予測に実際にどんなスムージングフィルタ（Ｆ）を適用するのかも重要な問題である。このようなスムージングフィルタ（Ｆ）としては、従来のデブロックフィルタ（Ｂ）をそのまま使用することもできる。また、アップサンプリング関数（Ｕ）およびダウンサンプリング関数（Ｄ）の組合せを使用することができるが、これは前記アップサンプリング関数およびダウンサンプリング関数の組合せによってもスムージング効果が現れうるためである。
【００６０】
ところで、前記デブロック関数（Ｂ）、アップサンプリング関数、ダウンサンプリング関数などはその適用において、相当な演算量を要し、ダウンサンプリング関数は一般的に非常に強いローパスフィルタリング（ｌｏｗ−ｐａｓｓ  ｆｉｌｔｅｒｉｎｇ）の役割をするので、予測時のイメージのディテールが大幅に低下する可能性がある。
【００６１】
したがって、前記スムージングフィルタ適用過程が小さい演算量によって行うことができるようにする必要がある。このため、前記スムージングフィルタ（Ｆ）は、隣接した所定個数のピクセル間の線形関数として簡単に表現できる。例えば、前記所定個数が３であるとすれば、本来のピクセル値ｘ（ｎ）から前記スムージングフィルタ（Ｆ）によってフィルタリングされたピクセル値ｘ´（ｎ）は、次の数７のように表示されえる。
【００６２】
【数７】
2007189698.tif 000009
【００６３】
前記α、β、γは、その合計が１になるよう適切に選択されうる。例えば、数７でα＝１／４、β＝１／２、γ＝１／４と選択することによってフィルタリングしようとする該当ピクセルの加重値を周辺ピクセルに比べて高めることができる。もちろん、数７でより多くのピクセルを周辺ピクセルとして選択することもできる。
【００６４】
このような簡単な形態のスムージングフィルタ（Ｆ）を使えば演算量も大幅に減らすことができるだけでなく、ダウンサンプリングなどで発生するイメージディテール低下現象もある程度防止することができる。
【００６５】
図５ないし図８は、このようなスムージングフィルタを適用する具体的な形態であって、１６ｘ１６大きさのマクロブロック６０に対してスムージングフィルタを適用する実施形態を示している。
【００６６】
前記実施形態によれば、スムージングフィルタは、該当マクロブロック６０に対し、次の４個の段階にしたがって行われる。
【００６７】
図５を参照して、前記４個の段階のうち第１段階を説明する。まず、水平方向に３個の隣接したピクセルを含む大きさの水平ウインドウ５０を設定し、前記水平ウインドウ５０に含まれる最初の３個の隣接したピクセルに対し線形関数でなされたスムージングフィルタ（Ｆ）を適用する。一旦スムージングフィルタ（Ｆ）を適用した後に、前記水平ウインドウ５０を一ピクセルだけ水平方向に移動しつつ、前記スムージングフィルタ（Ｆ）を改めて適用する。このような過程を通して、前記水平ウインドウ５０がマクロブロック６０の右側境界に到達すれば、改めて最初の位置から下側に一ピクセルだけ移動した後、再度水平方向に移動しつつスムージングフィルタ（Ｆ）を適用する。このような過程は、マクロブロック６０全体に対して行われる。第１段階で、一つのマクロブロックに対する前記フィルタリング回数は、１４（横）×１６（縦）＝２２４回となる。
【００６８】
次に、図６を参照して、前記４個の段階のうち第２段階を説明する。まず、垂直方向に３個の隣接したピクセルを含む大きさの垂直ウインドウ５１を設定し、前記垂直ウインドウ５１に含まれる最初の３個の隣接したピクセルに対し線形関数でなされたスムージングフィルタ（Ｆ）を適用する。一旦スムージングフィルタ（Ｆ）を適用した後に、前記垂直ウインドウ５１を一ピクセルだけ水平方向に移動しつつ前記スムージングフィルタ（Ｆ）を改めて適用する。このような過程を通して、前記垂直ウインドウ５１がマクロブロック６０の右側境界に到達すれば、改めて最初の位置から下側に一ピクセルだけに移動した後、再度水平方向に移動しつつスムージングフィルタ（Ｆ）を適用する。このような過程は、マクロブロック６０全体に対して行われる。第２段階で、一つのマクロブロックに対する前記フィルタリング回数は、１６（横）×１４（縦）＝２２４回となる。
【００６９】
前記第１段階および第２段階によって、マクロブロック境界に隣接しないマクロブロック６０内部のピクセルに対するスムージングフィルタ（Ｆ）の適用は完了する。次に、マクロブロック６０の上側境界に隣接したピクセルに対するスムージングフィルタの適用および、マクロブロック６０の左側境界に隣接したピクセルに対するスムージングフィルタの適用が必要である。
【００７０】
図７を参照し、前記４個の段階のうち第３段階の左側境界に対するフィルタリング過程を説明する。垂直方向に３個の隣接したピクセルを含む大きさの水平ウインドウ５３を設定するが、前記水平ウインドウ５３の中央にマクロブロック６０の左上段ピクセルが位置するようにする。そして、前記水平ウインドウ５３に含まれる最初の３個の隣接したピクセルに対して線形関数でなされたスムージングフィルタ（Ｆ）を適用する。一旦スムージングフィルタ（Ｆ）を適用した後に、前記水平ウインドウ５３を一ピクセルだけ垂直方向に移動しつつ前記スムージングフィルタ（Ｆ）を改めて適用する。このような過程は、前記水平ウインドウ５３がマクロブロック６０の下側境界に到達するまで行われる。第３段階で、一つのマクロブロック６０に対する前記フィルタリング回数は１６回となる。
【００７１】
最後に、図８を参照して、前記４個の段階のうち第４段階の上側境界に対するフィルタリング過程を説明する。垂直方向に３個の隣接したピクセルを含む大きさの垂直ウインドウ５４を設定するが、前記垂直ウインドウ５４の中央にマクロブロック６０の左上段ピクセルが位置するようにする。そして、前記垂直ウインドウ５４に含まれる最初の３個の隣接したピクセルに対し線形関数でなされたスムージングフィルタ（Ｆ）を適用する。一旦スムージングフィルタ（Ｆ）を適用した後に、前記垂直ウインドウ５４を一ピクセルだけ水平方向に移動しつつ前記スムージングフィルタ（Ｆ）を改めて適用する。このような過程は、前記垂直ウインドウ５４がマクロブロック６０の右側境界に到達するまで行われる。第４段階で、一つのマクロブロックに対する前記フィルタリング回数は１６回となる。
【００７２】
以上の４個の段階で各段階は、順序が互いに変更されても本発明で意図する効果には大きな影響はない。
【００７３】
それだけでなく、前記図５ないし図８の実施形態では、数７でのα、β、γの比を１２：１としたが、前記比を違えてもその効果は、それほど大きな差異はない。これは次の図９の実験結果から知ることができる。
【００７４】
図９は、１：２：１スムージングフィルタを使用してＦｏｏｔｂａｌｌ  ＣＩＦシーケンスを圧縮して得たＰＳＮＲを基準で、他の適応的（ａｄａｐｔｉｖｅ）フィルタを使用して、同じシーケンスを圧縮して得たＰＳＮＲを図示したグラフである。この中でグラフ９１は、１：２：１スムージングフィルタと１：３：１スムージングフィルタを適応的に使った結果を表し、グラフ９２は、１：２：１スムージングフィルタと１：１４：１スムージングフィルタを適応的に使った結果を表し、グラフ９３は、１２：１スムージングフィルタと１：６：１スムージングフィルタを適応的に使った結果を表す。
【００７５】
図９を参照すれば、１：２：１スムージングフィルタだけを使った場合に比べ、適応的フィルタを使用してもＰＳＮＲが最大０．００５ｄＢ程度しか向上しないことを知ることができる。
【００７６】
以上、スムージングフィルタをマクロブロック単位で適用するものとして説明した。しかし、これに限らず４×４サブブロック単位で適用したり、それ以外の単位でも適用することもできるのは当業者ならば、十分に理解することができるはずである。
【００７７】
このように、前記数５によるスムージングフィルタを適用すれば、既存の単一ループデコーディング（ｓｉｎｇｌｅ−ｌｏｏｐ  ｄｅｃｏｄｉｎｇ）条件により、コーディング時に性能が低下する問題をある程度改善することができる。ただし、複雑性（ｃｏｍｐｌｅｘｉｔｙ）を減らすために考案された単一ループデコーディングでスムージング関数を使用することによって、前記複雑性が多少ながら増加しうる。
【００７８】
数５によりデコーディングを行い、ＯＦを復元するとすれば、ＲＢおよびＲＦ各々に対し逆ＤＣＴを行わなければならない。このような逆ＤＣＴ過程を減らすため、デコーディング時には次の数８を利用することができる。
【００７９】
【数８】
2007189698.tif 000010
【００８０】
数８によれば、ＲＢは、別途の逆ＤＣＴを経ておらず変換計数成分としてあったが直ちに現在ブロックの残差であるＲＢと足された次に一緒に逆ＤＣＴを経るようになる。
【００８１】
これにしたがい、二回にかけて行われた逆ＤＣＴ過程が一回に減少することによって複雑性が減るという効果がある。また、数５によりデコーディングを行った場合、ＰＦとＲＢの和にスムージングフィルタが適用されるが、数８による場合、スムージング関数は、予測信号ＰＦにだけ適用される点でも差異がある。
【００８２】
以上のような本発明の一実施形態によるスムージング予測を既存の作業草案であるＪＳＶＭ−４（Ｊｕｌｉｅｎ  Ｒｅｉｃｈｅｌ、Ｈｅｉｋｏ  Ｓｃｈｗａｒｚ、ａｎｄ  Ｍａｔｈｉａｓ  Ｗｉｅｎ、“Ｊｏｉｎｔ  Ｓｃａｌａｂｌｅ  Ｖｉｄｅｏ  Ｍｏｄｅｌ  ＪＳＶＭ−４、”  ＪＶＴ  ｍｅｅｔｉｎｇ、Ｎｉｃｅ、Ｆｒａｎｃｅ．）に適用するためには、シンタックス（ｓｙｎｔａｘ）、シマンティックス（ｓｅｍａｎｔｉｃｓ）、およびデコーディングプロセスにおいて多少修正が必要である。まず、シンタックスの側面から変わる部分は、次の表１に示したとおりである。表１は、ＪＳＶＭ−４のＧ．７．３．８．３節に記載された“Ｒｅｓｉｄｕａｌ  ｉｎ  ｓｃａｌａｂｌｅ  ｅｘｔｅｎｓｉｏｎ  ｓｙｎｔａｘ”中の一部であり、この中で修正される部分はアンダーラインで表示される。
【００８３】
【表１】
2007189698.tif 000011
【００８４】
新しいシンタックス項目であるフラグ“ｓｍｏｏｔｈｅｄ＿ｒｅｆｅｒｅｎｃｅ＿ｆｌａｇ”は、単一ループデコーディングの条件下で、ｒｅｓｉｄｕａｌ＿ｐｒｅｄｉｃｔｉｏｎ＿ｆｌａｇおよびｂａｓｅ＿ｍｏｄｅ＿ｆｌａｇがすべて１である場合にコーディングされる。前記単一ループデコーディング条件は、“ｃｏｎｓｔｒａｉｎｅｄ＿ｉｎｔｅｒ＿ｌａｙｅｒ＿ｐｒｅｄ（）”関数によって指示されている。前記ｒｅｓｉｄｕａｌ＿ｐｒｅｄｉｃｔｉｏｎ＿ｆｌａｇは、残差予測（ｒｅｓｉｄｕａｌ  ｐｒｅｄｉｃｔｉｏｎ）を使用するのか否かを表すフラグで、前記ｂａｓｅ＿ｍｏｄｅ＿ｆｌａｇは、基礎階層スキップモードを使用するのか否かを表すフラグである。このようなフラグが１（真の値）の場合には該当動作を行うことを表示し、前記フラグが０（偽の値）の場合には該当動作を行わないことを表示する。特に、多重ループデコーディングモードでは、シンタックスのオーバーヘッド（ｏｖｅｒｈｅａｄ）が全くないことに注目しなければならない。
【００８５】
前記基礎階層スキップモード（ＢＬ  ｓｋｉｐ  ｍｏｄｅ）とは、現在階層で別途にモーション推定過程を経ずに基礎階層で行われたモーション推定過程で得られるモーションベクトルおよびマクロブロックパターンを現在階層でもそのまま使用する方式である。
【００８６】
したがって、前記モードを使わない場合に比べ演算量が減少し、現在階層のモーション情報をエンコーディングしないだけにコーディング効率も上昇する。
【００８７】
ただし、現在階層と基礎階層のモーション分布が多少相違する場合には、画質の低下が誘発されうるため、このような基礎階層スキップモードは、主に階層間のモーション分布が類似の場合に使用される。
【００８８】
一方、シマンティックス側面で変わる部分は、ｓｍｏｏｔｈｅｄ＿ｒｅｆｅｒｅｎｃｅ＿ｆｌａｇというフラグのシマンティックスを記述する部分である。Ｇ．７．４．８．３節の“Ｒｅｓｉｄｕａｌ  ｉｎ  ｓｃａｌａｂｌｅ  ｅｘｔｅｎｓｉｏｎ  ｓｅｍａｎｔｉｃｓ”には、前記フラグの意味が記述される。
【００８９】
ｓｍｏｏｔｈｅｄ＿ｒｅｆｅｒｅｎｃｅ＿ｆｌａｇが１というのは、スムージング関数がインター予測サンプルおよび基礎階層の残差サンプルの和に適用されることを意味し、ｓｍｏｏｔｈｅｄ＿ｒｅｆｅｒｅｎｃｅ＿ｆｌａｇが０というのは、もちろん前記スムージング関数が適用されないということを意味する。ｓｍｏｏｔｈｅｄ＿ｒｅｆｅｒｅｎｃｅ＿ｆｌａｇが存在しなければその値は０とみなされる。
【００９０】
最後に、デコーディングプロセスの側面で変わる部分は、追加されるＧ．８．４．２．４節に記載される。前記節には新しく定義されたスムージング関数の詳細内容が記述される。デコーディング過程において、ｓｍｏｏｔｈｅｄ＿ｒｅｆｅｒｅｎｃｅ＿ｆｌａｇが１ならば、前記Ｇ．８．４．２．４節が呼び出される。
【００９１】
残差予測過程から得られる基礎階層の輝度（ｌｕｍａ）残差サンプルアレイであるｒｅｓＰｒｅｄＬ［ｘ、ｙ］（ｘ、ｙは各々０ないし１５の範囲）（マクロブロック大きさ）および基礎階層の彩度（ｃｈｒｏｍａ）残差サンプルアレイであるｒｅｓＰｒｅｄＣｂ［ｘ、ｙ］およびｒｅｓＰｒｅｄＣｒ［ｘ、ｙ］（ｘは０ないしＭｂＷｉｄｔｈＣ−１であり、ｙは０ないしＭｂＨｅｉｇｈｔＣ−１である）が先に呼び出される。
【００９２】
その後、それぞれの輝度インター予測サンプルｐｒｅｄＬ［ｘ、ｙ］は、輝度残差サンプルｒｅｓＰｒｅｄＬ［ｘ、ｙ］と加算され、数９のように更新される。ここで、ｘ、ｙは現在マクロブロックに含まれるピクセルのｘ座標およびｙ座標を各々表す。
【００９３】
【数９】
2007189698.tif 000012
【００９４】
また、ｃｈｒｏｍａ＿ｆｏｒｍａｔ＿ｉｄｃが０でない場合（カラー映像の場合）には、それぞれの彩度インター予測サンプルｐｒｅｄＣｂ［ｘ、ｙ］およびｐｒｅｄＣｒ［ｘ、ｙ］は、次の数１０のように更新される。
【００９５】
【数１０】
2007189698.tif 000013
【００９６】
以下では、前記数９で更新されたｐｒｅｄＬ［ｘ、ｙ］と数１０で更新されたｐｒｅｄＣｂ［ｘ、ｙ］およびｐｒｅｄＣｒ［ｘ、ｙ］に対しスムージング関数を適用する過程に対して記述する。前記過程は、図５ないし図８のように四個の段階で行われている。
まず、前記数９および１０で更新されたインター予測サンプルは、図５のようなスムージング関数適用過程を経ながら数１１にしたがって更新される。
【００９７】
【数１１】
2007189698.tif 000014
【００９８】
数１１は、横ウインドウ（図５の５０）がマクロブロック（図５の６０）内で、ピクセル単位で動きつつ、スムージング関数を適用するのを具体化した式である。輝度成分のマクロブロック大きさは１６×１６だが、彩度成分のマクロブロック大きさはＭｂＷｉｄｔｈＣ×ＭｂＨｅｉｇｈｔＣであるため、輝度成分および彩度成分に対するｘ、ｙの範囲が異なって表示されることを知ることができる。
【００９９】
数１１で使われるスムージング関数は、１：２：１線形関数である。
【０１００】
一方、前記数１１で更新されたインター予測サンプルらは、図６のようなスムージング関数適用過程を経ながら数１２にしたがって更新される。
【０１０１】
【数１２】
2007189698.tif 000015
【０１０２】
前記数１２で更新されたインター予測サンプルは、図７のようなスムージング関数適用過程を経ながら、数１３にしたがって更新される。
【０１０３】
【数１３】
2007189698.tif 000016
【０１０４】
前記ｘＰおよびｙＰは、現在マクロブロックに属する最初輝度サンプルの絶対座標（フレーム内での位置）を意味し、Ｓ’Ｌ［ｘＰ＋ｘ−１、ｙＰ＋ｙ］は、既スムージングされたマクロブロックに含まれる輝度サンプルのうち該当絶対座標（ｘＰ＋ｘ−１、ｙＰ＋ｙ）を持つサンプルの値を意味する。同様に、Ｓ’Ｃｂ［ｘＣ＋ｘ−１、ｙＣ＋ｙ］およびＳ’Ｃｒ［ｘＣ＋ｘ−１、ｙＣ＋ｙ］は、既スムージングされたマクロブロックに含まれる彩度サンプルのうち該当絶対座標（ｘＣ＋ｘ−１、ｙＣ＋ｙ）を有するサンプルの値を意味する。前記ｘＣおよびｙＣは、現在マクロブロックに属する最初彩度サンプルの絶対座標を意味する。
【０１０５】
最後に、前記数１３で更新されたインター予測サンプルは、図８のようなスムージング関数適用過程を経ながら、数１４にしたがって更新される。
【０１０６】
【数１４】
2007189698.tif 000017
【０１０７】
図１０は、本発明の一実施形態にともなうビデオエンコーダ１００の構成を示したブロック図である。
【０１０８】
まず、現在ブロックに含まれる所定ブロック（ＯＦ；以下、現在ブロックという）は、ダウンサンプラ１０３で入力される。ダウンサンプラ１０３は、現在ブロック（ＯＦ）を空間的および／または時間的にダウンサンプリングして、対応する基礎階層ブロック（ＯＢ）を生成する。
【０１０９】
モーション推定部２０５は、周辺ピクチャ（ＰＦ´）を参照し、基礎階層ブロック（ＯＢ）に対するモーション推定を行うことによってモーションベクトル（ＭＶＢ）を求める。このように参照される周辺ピクチャを“参照ピクチャ（ｒｅｆｅｒｅｎｃｅ  ｐｉｃｔｕｒｅ）”という。一般的にこのようなモーション推定のためにブロックマッチング（ｂｌｏｃｋ  ｍａｔｃｈｉｎｇ）アルゴリズムが広く使われている。すなわち、与えられたブロックを参照ピクチャの特定探索領域内でピクセルまたはサブピクセル（２／２ピクセル、１／４ピクセルなど）単位で動きつつ、そのエラーが最低となる変位を動きベクトルとして選定するものである。モーション推定のために固定された大きさのブロックマッチング法を利用することもできるが、Ｈ．２６４等で使用される階層的可変サイズブロックマッチング法（Ｈｉｅｒａｒｃｈｉｃａｌ  Ｖａｒｉａｂｌｅ  Ｓｉｚｅ  Ｂｌｏｃｋ  Ｍａｔｃｈｉｎｇ；ＨＶＳＢＭ）を使用することもできる。
【０１１０】
ところで、ビデオエンコーダ１００が開放ループコーデック（ｏｐｅｎ  ｌｏｏｐ  ｃｏｄｅｃ）形態でなされるとすれば、前記参照ピクチャではバッファ２０１に保存されたオリジナル周辺ピクチャ（ＰＦ´）をそのまま利用するだろうが、閉鎖ループコーデック（ｃｌｏｓｅｄ  ｌｏｏｐ  ｃｏｄｅｃ）形態でなされるとすれば、前記参照ピクチャではエンコーディング後、デコーディングされたピクチャ（未図示）を利用するようになる。以下、本明細書では開放ループコーデックを中心として説明するものであるが、これに限定されるものではない。
【０１１１】
モーション推定部２０５で求めたモーションベクトル（ＭＶＢ）は、モーション補償部２１０に提供される。モーション補償部２１０は、前記参照ピクチャ（ＰＦ´）中から前記モーションベクトル（ＭＶＢ）によって対応するイメージを抽出し、これからインター予測ブロック（ＰＢ）を生成する。両方向参照が使用される場合、前記インター予測ブロックは、前記抽出されたイメージの平均で計算されうる。そして、単方向参照が使用される場合、前記インター予測ブロックは、前記抽出されたイメージと同一になりうる。
【０１１２】
差分器２１５は、前記基礎階層ブロック（ＯＢ）から前記インター予測ブロック（ＰＢ）を引くことによって残差ブロック（ＲＢ）を生成する。前記残差ブロック（ＲＢ）は、アップサンプラ１４０および変換部２２０に提供される。
【０１１３】
アップサンプラ１４０は、前記残差ブロック（ＲＢ）をアップサンプリングする。一般的にｎ：１のアップサンプリングは、単純に一つのピクセルをｎ個のピクセルに拡大するのではなく周辺ピクセルを考慮して演算する過程である。より多くの数の周辺ピクセルを考慮するほどより軟らかいダウンサンプリング結果が現れるが、多少わい曲された映像が生成されうるため、適切な数の周辺ピクセルを選択する必要がある。もし、基礎階層の解像度と現在階層の解像度が同一な場合には前記アップサンプラ１４０の動作過程が省略されうる。
【０１１４】
一方、現在ブロック（ＯＦ）は、モーション補償部１１０、バッファ１０１、および差分器１１５にも入力される。ｂａｓｅ＿ｍｏｄｅ＿ｆｌａｇが１の場合、すなわち現在階層のモーションベクトルと基礎階層のモーションベクトルが類似し、基礎階層スキップモードに該当する場合には、基礎階層に行われたモーション推定過程から得られるモーションベクトルおよびマクロブロックパターンを現在階層でそのまま使用するようになるため、別途のモーション推定過程を行わなくてもよい。しかし、現在階層に対しても別途のモーション推定過程を経て、別途のモーションベクトルおよびマクロブロックパターンを決定しても本発明の技術的思想を逸脱しない。ただし、以下では基礎階層スキップモードを使用する場合を想定して説明することにする。
【０１１５】
モーション推定部２０５で求めたモーションベクトル（ＭＶＢ）は、モーション補償部１１０に提供される。モーション補償部１１０は、バッファ１０１から提供される参照ピクチャ（ＦＦ´）中で（から）前記モーションベクトル（ＭＶＢ）によって対応するイメージを抽出し、これからインター予測ブロック（ＰＦ）を生成する。基礎階層の解像度と現在階層の解像度が同一な場合には、モーション補償部１１０は、このように基礎階層のモーションベクトル（ＭＶＢ）を現在階層のモーションベクトルとしてそのまま利用するようになる。しかし、前記解像度が同一でなければ、基礎階層の解像度に対する現在階層の解像度の比率分だけ、前記モーションベクトル（ＭＶＢ）を拡大した後、これを現在階層のモーションベクトルとして利用するようになる。
【０１１６】
加算器１３５は、アップサンプラ１４０から提供されている信号（Ｕ・ＲＢ）とモーション補償部１１０から提供されている信号（ＰＦ）を加算してその結果（ＰＦ＋Ｕ・ＲＢ）をスムージングフィルタ１３０に提供する。このような加算過程は前述した数９および数１０の演算過程に該当する。
【０１１７】
スムージングフィルタ１３０は、前記加算された結果（ＰＦ＋Ｕ・ＲＢ）に対しスムージング関数（ｄｅｂｌｏｃｋｉｎｇ  ｆｕｎｃｔｉｏｎ）を適用して、スムージングする。このようなスムージング関数としては、従来のＨ．２６４で使用するデブロック関数をそのまま使用することもでき、アップサンプリング関数とダウンサンプリング関数の組合せを利用することもできる。しかし、低複雑性条件にしたがって演算量を減少させるため数７のような簡単な線形関数を利用することもできる。前記線形関数だけを適用しても複雑な関数を適用したものに比べコーディング性能が大きく減少しない。
【０１１８】
このような線形関数は、任意のブロック（サブブロックまたはマクロブロック）単位で適用でき、ブロックの境界にだけ適用したりブロックの境界および内部全体に適用することもできる。本発明の好ましい実施形態としてマクロブロックを単位とし、ブロックの境界および内部全体に対し４個の段階でスムージング関数を適用する具体的な形態を図５ないし図８および数１１ないし数１４で説明した。もちろん前記４個の段階はその順序が互いに変わっても関係ない。
【０１１９】
差分器１１５は、現在ブロック（ＯＦ）からスムージングフィルタ１３０でスムージング結果として提供される信号（Ｆ（ＰＦ＋Ｕ・ＲＢ））を引いて、現在階層の残差信号（ＲＦ）を生成する。
【０１２０】
変換部１２０は、前記残差信号（ＲＦ）に対し、空間的変換を行って変換計数（ＲＦＴ）を生成する。このような空間的変換方法としては、ＤＣＴ（Ｄｉｓｃｒｅｔｅ  Ｃｏｓｉｎｅ  Ｔｒａｎｓｆｏｒｍ）、ウェーブレット変換（ｗａｖｅｌｅｔ  ｔｒａｎｓｆｏｒｍ）等が使用されうる。ＤＣＴを使用する場合、前記変換計数は、ＤＣＴ計数になることで、ウェーブレット変換を使う場合、前記変換計数は、ウェーブレット計数となるだろう。
【０１２１】
量子化部１２５は、前記変換計数（ＲＦＴ）を量子化（ｑｕａｎｔｉｚａｔｉｏｎ）し、量子化計数（ＲＦＱ）を生成する。前記量子化は、任意の実数値で表現される前記変換計数（ＲＦＴ）を不連続的な値（ｄｉｓｃｒｅｔｅ  ｖａｌｕｅ）で表す過程を意味する。
【０１２２】
例えば、量子化部１２５は、任意の実数値と表現される前記変換計数を所定の量子化ステップ（ｑｕａｎｔｉｚａｔｉｏｎ  ｓｔｅｐ）に分け、その結果を整数値に四捨五入する方法で量子化を行いうる。
【０１２３】
一方、基礎階層の残差信号（ＲＢ）も同じように変換部２２０および量子化部２２５を経て量子化計数（ＲＢＱ）に変換される。
【０１２４】
エントロピ符号化部１５０は、モーション推定部２０５で推定されたモーションベクトル（ＭＶＢ）、量子化部１２５から提供される量子化計数（ＲＦＱ）、および量子化部２２５から提供されている量子化計数（ＲＢＱ）を無損失符号化し、ビットストリームを生成する。このような無損失符号化方法では、ハフマン符号化（Ｈｕｆｆｍａｎ  ｃｏｄｉｎｇ）、算術符号化（ａｒｉｔｈｍｅｔｉｃ  ｃｏｄｉｎｇ）、可変長符号化（ｖａｒｉａｂｌｅ  ｌｅｎｇｔｈ  ｃｏｄｉｎｇ）、その他多様な方法が利用される。
【０１２５】
図１１は、本発明の一実施形態によるビデオデコーダ３００の構成を示したブロック図である。
【０１２６】
エントロピ復号化部３０５は、入力されたビットストリームに対し無損失復号化を行い、現在ブロックのテクスチャデータ（ＲＦＱ）、前記現在ブロックと対応する基礎階層ブロックのテクスチャデータ（ＲＢＱ）、および前記基礎階層ブロックのモーションベクトル（ＭＶＢ）を抽出する。前記無損失復号化は、エンコーダ段での無損失符号化過程の逆で行われる過程である。
【０１２７】
前記現在ブロックのテクスチャデータ（ＲＦＱ）は、逆量子化部４１０に提供され、前記現在ブロックのテクスチャデータ（ＲＦＱ）は、逆量子化部３１０に提供される。そして、基礎階層ブロックのモーションベクトル（ＭＶＢ）は、モーション補償部３５０に提供される。
【０１２８】
逆量子化部３１０は、前記提供される現在ブロックのテクスチャデータ（ＲＦＱ）を逆量子化する。このような逆量子化過程は、量子化過程で使用されたものと同一な量子化テーブルを利用し、量子化過程で生成されたインデックスからそれにマッチングする値を復元する過程である。
【０１２９】
逆変換部３２０は、前記逆量子化された結果に対し逆変換を行う。
このような逆変換は、エンコーダ段の変換過程の逆で行われ、具体的に逆ＤＣＴ変換、逆ウェーブレット変換などが使用されうる。前記逆変換結果として、現在ブロックに対する残差信号（ＲＦ）が復元される。
【０１３０】
一方、逆量子化部４１０は、前記提供されている基礎階層ブロックのテクスチャデータ（ＲＢＱ）を逆量子化し、逆変換部４２０は、前記逆量子化された結果（ＲＢＴ）に対し逆変換を行う。前記逆変換結果、前記基礎階層ブロックに対する残差信号（ＲＢ）が復元される。前記復元された残差信号（ＲＢ）は、アップサンプラ３８０に提供される。
【０１３１】
アップサンプラ３８０は、前記残差信号（ＲＢ）をアップサンプリングする。もし、基礎階層の解像度と現在階層の解像度が同一な場合には、前記アップサンプラ３８０の動作過程を省略できる。
【０１３２】
モーション補償部３５０は、バッファ３４０から提供される参照ピクチャ（ＦＦ´）中から前記モーションベクトル（ＭＶＢ）により対応するイメージを抽出し、これからインター予測ブロック（ＰＦ）を生成する。基礎階層の解像度と現在階層の解像度が同一な場合には、モーション補償部３５０は、このように基礎階層のモーションベクトル（ＭＶＢ）を現在階層のモーションベクトルとしてそのまま利用するようになる。しかし、前記解像度が同一でなければ基礎階層の解像度に対する現在階層の解像度の比率だけ前記モーションベクトル（ＭＶＢ）を拡大した後、これを現在階層のモーションベクトルとして利用するようになる。
【０１３３】
加算器３６０は、アップサンプラ３８０から提供されている信号（Ｕ・ＲＢ）とモーション補償部３５０から提供されている信号（ＰＦ）を加算してその結果（ＰＦ＋Ｕ・ＲＢ）をスムージングフィルタ３７０に提供する。このような加算過程は前述した数９および数１０の演算過程に該当する。
【０１３４】
スムージングフィルタ３７０は、前記加算された結果（ＰＦ＋Ｕ・ＲＢ）に対しスムージング関数（ｄｅｂｌｏｃｋｉｎｇ  ｆｕｎｃｔｉｏｎ）を適用してスムージングする。
【０１３５】
前記スムージング関数としては図１０のスムージングフィルタ１３０で使用されたスムージング関数と同一な関数が使用されうる。
【０１３６】
加算器３３０は、逆変換部３２０で逆変換結果として生成される残差ブロック（ＲＦ）とスムージングフィルタ３７０でスムージング結果として提供される信号（Ｆ（ＰＦ＋Ｕ・ＲＢ））とを加算する。その結果、現在ブロック（ＯＦ）が復元され、複数の現在ブロック（ＯＦ）を組合わせれば一つのピクチャ（ＦＦ）が復元される。バッファ３４０は、最終的に復元されるピクチャ（ＦＦ）を臨時に保存しておき前記保存されたピクチャを他のピクチャの復元時の参照ピクチャ（ＦＦ´）として提供する。
【０１３７】
ところで、前記数８にしたがって現在ブロックを復元するビデオデコーダ４００は、図１２に示したように、その信号の流れが図１１とは多少変わる。
【０１３８】
図１２を参照すれば、モーション補償部３５０から提供されているインター予測ブロック（ＰＦ）は、直ちにスムージングフィルタ３７０に入力され、スムージングされ、加算器３６０は、アップサンプラ３８０でアップサンプリングされた結果（Ｕ・ＲＢ）および残差ブロック（ＲＦ）を加算する。
【０１３９】
最後に加算器３３０は、前記スムージングされた結果（Ｆ（ＰＦ））と前記加算された結果（ＲＦ＋Ｕ・ＲＢ）とを加算することによって現在ブロック（ＯＦ）を復元する。
【０１４０】
前述した図１０ないし図１２の説明では二つの階層でされたビデオフレームをコーディングする形態を説明したが、これに限らず三以上の階層構造を有するビデオフレームのコーディングにも本発明が適用されえることは当業者ならば十分に理解することができるはずである。
【０１４１】
図１０ないし図１２の各構成要素はメモリ上の所定領域で行われるタスク、クラス、サブルーチン、プロセス、オブジェクト、実行スレッド、プログラムのようなソフトウェア（ｓｏｆｔｗａｒｅ）や、ＦＰＧＡ（ｆｉｅｌｄ−ｐｒｏｇｒａｍｍａｂｌｅ  ｇａｔｅ  ａｒｒａｙ）やＡＳＩＣ（ａｐｐｌｉｃａｔｉｏｎ−ｓｐｅｃｉｆｉｃ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ）のようなハードウェア（ｈａｒｄｗａｒｅ）で具現でき、また前記ソフトウェアおよびハードウェアの組合せでなされることもできる。前記構成要素は、コンピュータで判読可能な保存媒体に含まれることもでき、複数のコンピュータにその一部が分散して分布することもできる。
【０１４２】
以上添付された図面を参照し本発明の実施形態を説明したが、本発明が属する技術分野で通常の知識を有する者は本発明がその技術的思想や、必須的の特徴を変更せず、他の具体的な形態で実施されえるということを理解することができるはずである。
そのため以上で前述した実施形態はすべての面で例示的なものであり、限定的ではないものと理解しなければならない。
【図面の簡単な説明】
【０１４３】
【図１】従来のインター予測技法を説明する図である。
【図２】従来のイントラベース予測技法を説明する図である。
【図３】従来の残差予測技法を説明する図である。
【図４】本発明の一実施形態によるスムージング予測技法を説明する図である。
【図５】マクロブロック単位でスムージングフィルタを適用する具体的な形態を示す図である。
【図６】マクロブロック単位でスムージングフィルタを適用する具体的な形態を示す図である。
【図７】マクロブロック単位でスムージングフィルタを適用する具体的な形態を示す図である。
【図８】マクロブロック単位でスムージングフィルタを適用する具体的な形態を示す図である。
【図９】１：２：１スムージングフィルタを使用して得たＰＳＮＲを基準として他の適応的フィルタを使用して得たＰＳＮＲを図示したグラフである。
【図１０】本発明の一実施形態によるビデオエンコーダの構成を示したブロック図である。
【図１１】本発明の一実施形態によるビデオデコーダの構成を示したブロック図である。
【図１２】本発明の他の実施形態によるビデオデコーダの構成を示したブロック図である。
【符号の説明】
【０１４４】
１００  ビデオエンコーダ
１０１、２０１、３４０  バッファ
１０３  ダウンサンプラ
１１０、２１０、３５０  モーション補償部
１１５、２１５  差分器
１２０、２２０  変換部
１２５、２２５  量子化部
１３０、３７０  スムージングフィルタ
１３５、３３０、３６０  加算器
１４０、３８０  アップサンプラ
１５０  エントロピ符号化部
２０５  モーション推定部
３００、４００  ビデオデコーダ
３０５  エントロピ復号化部
３１０、４１０  逆量子化部
３２０、４２０  逆変換部
【図１】
2007189698.tif 000018
【図２】
2007189698.tif 000019
【図３】
2007189698.tif 000020
【図４】
2007189698.tif 000021
【図５】
2007189698.tif 000022
【図６】
2007189698.tif 000023
【図７】
2007189698.tif 000024
【図８】
2007189698.tif 000025
【図９】
2007189698.tif 000026
【図１０】
2007189698.tif 000027
【図１１】
2007189698.tif 000028
【図１２】
2007189698.tif 000029