(57)【要約】【課題】細粒度スケーラブル・ビデオのための動き補償を効率的にする。【解決手段】細粒度スケーラブル・ビデオ・データ装置、システム、方法およびデータ構造が開示されている。符号化器（１１０）は、入力ビデオ・データを最小ビットレート・マクロブロック・データとして符号化し、このマクロブロック・データの最小ビットレート・バージョンを表すＤＣＴ係数を有するＤＣＴデータを生成する。また、符号化器（１１０）は、入力ビデオ・データを中間ビットレート・マクロブロック・データとして符号化して、このマクロブロック・データの中間ビットレート・バージョンを表すＤＣＴ係数を有するＤＣＴデータを生成する。適応型動き補償器（１３２）は、符号化器と交信して、中間ビットレート・マクロブロック・データの復号バージョンが、最大閾値を超える累積された予測エラー・フレーム・エネルギを有するかどうか（２２８）を予測する。【選択図】図２
2010098760.tif 000002
【特許請求の範囲】
【請求項１】
入力ビデオ・データを最小ビットレート・マクロブロック・データとして符号化して当該マクロブロック・データの最小ビットレート・バージョンを表すＤＣＴ係数を有するＤＣＴデータを生成し、前記入力ビデオ・データを中間ビットレート・マクロブロック・データとして符号化して当該マクロブロック・データの中間ビットレート・バージョンを表すＤＣＴ係数を有するＤＣＴデータを生成する符号化器と、
前記符号化器と信号交信して、前記中間ビットレート・マクロブロック・データの復号バージョンが、最大閾値を超える累積された予測エラー・フレーム・エネルギを有するかどうかを予測する適応型動き補償器と、
を具える、細粒度スケーラブル・ビデオ・データ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願の説明）
本出願は、２００１年６月１１日付け出願の米国特許仮出願第６０／２９７，３３０号（整理番号ＰＵ０１０１２８）の利益を主張するものであり、その出願全体を参照により本出願に組み込む。
【０００２】
本発明の開示は、細粒度スケーラブル（ｆｉｎｅ−ｇｒａｉｎ  ｓｃａｌａｂｌｅ）（「ＦＧＳ」）ビデオ符号化器に関し、特に、細粒度スケーラビリティ即ち細粒度スケール化が可能であることを用いてビデオ・データを符号化するための適応的または適応型動き補償に関する。
【背景技術】
【０００３】
ディジタル・ビデオデータは、しばしばビットストリームの形式で処理されて転送される。ビットストリームが、所定の最小（最低）レートと所定の最大（最高）レートの間の細かい間隔のビットレートの集合（組）の中の任意の１つで復号可能な場合に、そのビットストリームは細粒度スケーラブル即ち細粒度スケール可能（「ＦＧＳ」）であるという。残念ながら、このタイプの細粒度スケーラビリティは、典型的には、結果として、非スケーラブル・ビデオ用のビデオ・コーダ−デコーダ（「ＣＯＤＥＣ」（コーデック））よりもかなり低い符号化効率しか得られない。
【０００４】
Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔ  Ｇｒｏｕｐ（「ＭＰＥＧ」）は、ストリーミング・ビデオ用の標準を採用した。ＭＰＥＧ−４標準はＦＧＳビデオのモードを含んでいる。ＭＰＥＧ−４  ＦＧＳビデオでは、前フレームの最小ビットレートの再構成バージョン（前フレームを最小ビットレートで再構成したもの）を用いて現在のフレームが予測される。ＭＰＥＧ−４では、前フレームのそれより高いビットレートのバージョンを予測に用いた場合、符号化器において予測に用いられるレートより低いレートでそのビットストリームが復号されたときには、予測に変動（ドリフト）を生じるようになるであろう。その予測変動は、符号化器の基準（参照）フレームと復号器の基準フレームの間の差によって生じる。従って、例えばＭＰＥＧ−４標準において採用されたＦＧＳビデオ方式（ｓｃｈｅｍｅ：スキーム）のような典型的なＦＧＳ方式の場合より高くなるようにＣＯＤＥＣ効率を改善することが望ましい。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
（発明の概要）
従来技術のこれらおよびその他の欠点および短所は、細粒度スケーラブル・ビデオ・データの動き補償を行う装置および方法によって解消される。細粒度スケーラブル・ビデオ・データは、符号化器と適応型動き補償器とによって発生される。その符号化器は、入力ビデオ・データを最小ビットレート・マクロブロック・データとして符号化して、マクロブロック・データの最小ビットレートのバージョンを表すＤＣＴ係数を有する離散コサイン変換（「ＤＣＴ」）データを生成し、また、その入力ビデオ・データを中間ビットレート・マクロブロック・データとして符号化して、そのマクロブロック・データの中間ビットレートのバージョンを表すＤＣＴ係数を有するＤＣＴデータを生成するものである。その適応型動き補償器は、その符号化器と信号交信を行って、その中間ビットレート・マクロブロック・データの復号バージョン（復号されたデータ）が、或る最大閾値を超えるような累積された予測エラー・フレーム・エネルギを持つかどうかを予測するものである。
【０００６】
本発明は、典型例の図面による細粒度スケーラブル・ビデオのための動き補償への効率的なアプローチ（解決方法）を開示するものである。
【課題を解決するための手段】
【０００７】
そこで、上記課題を解決するため、入力ビデオ・データを最小ビットレート・マクロブロック・データとして符号化して当該マクロブロック・データの最小ビットレート・バージョンを表すＤＣＴ係数を有するＤＣＴデータを生成し、前記入力ビデオ・データを中間ビットレート・マクロブロック・データとして符号化して当該マクロブロック・データの中間ビットレート・バージョンを表すＤＣＴ係数を有するＤＣＴデータを生成する符号化器と、前記符号化器と信号交信して、前記中間ビットレート・マクロブロック・データの復号バージョンが、最大閾値を超える累積された予測エラー・フレーム・エネルギを有するかどうかを予測する適応型動き補償器と、を具える。
【図面の簡単な説明】
【０００８】
【図１】図１は、ベース層動き補償だけを用いた細粒度ラブル（「ＦＧＳ」）符号化器のブロック図である。
【図２】図２は、本発明の好ましい実施形態による、適応型動き補償を用いた細粒度スケーラブル（「ＦＧＳ」）符号化器のブロック図である。
【図３】図３は、本発明の原理による図２の適応型動き補償のフロー図である。
【発明を実施するための形態】
【０００９】
ここで説明する本発明の実施形態によるビデオ・データ・コーダ−デコーダ（「ＣＯＤＥＣ」）は、ビデオ・データに対して離散コサイン変換（「ＤＣＴ」）ベースの操作を用いる。そのビデオ・データはマクロブロックとして編成されていることが好ましい。
【００１０】
ＭＰＥＧ−４細粒度スケーラビリティ（「ＦＧＳ」）は、動き補償に最小ビットレートの前フレームを使用する。本発明の原理によれば、符号化器は最小ビットレートの前フレームとより高いビットレートの前フレームの間の選択をマクロブロック単位で行う。符号化器は、各フレーム毎に累積された予測変動（ドリフト）を追跡する。
【００１１】
所与のマクロブロックについて、より高いビットレートの前フレームを動き補償に用いた結果として最大限度より大きい予測変動エネルギが生じるのであれば、符号化器は、そのマクロブロックを予測するために、最小ビットレートの前フレームを選択する。それ以外の場合は、符号化器は、マクロブロックを予測するために、より高いビットレートの前フレームを選択する。符号化器は、前フレームのどのバージョンが予測に用いられたかを復号器に伝えるための１つのビット（フラグ）を符号化されたマクロブロック中にセットする。
【００１２】
図１に示されているように、ＦＧＳ符号化器１０は、機能的にベース（基本）層部１１とエンハンスメント（増強）層部３３とに分けることができる。ベース層部１１は入力端子１２を含んでおり、その入力端子は信号交信により合計（加算）ブロック１４の正入力に結合される。次いで、合計ブロック１４は、離散コサイン変換（「Ｄｉｓｃｒｅｔｅ  Ｃｏｓｉｎｅ  Ｔｒａｎｓｆｏｒｍ：ＤＣＴ」）を実行する機能ブロック１６に結合される。ブロック１６は、量子化変換Ｑを実行する機能ブロック１８に結合される。機能ブロック１８は、可変長符号化（「Ｖａｒｉａｂｌｅ  Ｌｅｎｇｔｈ  Ｃｏｄｉｎｇ：ＶＬＣ」）を実行する機能ブロック２０に結合される。ブロック１８は、さらに、逆量子化変換Ｑ−１を実行する機能ブロック２２に結合される。
【００１３】
次いで、ブロック２２は、逆離散コサイン変換（「Ｉｎｖｅｒｓｅ  Ｄｉｓｃｒｅｔｅ  Ｃｏｓｉｎｅ  Ｔｒａｎｓｆｏｒｍ：ＩＤＣＴ」）を実行する機能ブロック２４に結合される。ブロック２４は、合計ブロック２６の正入力に結合され、合計ブロックはフレーム・バッファを構成するブロック２８に結合される。ブロック２８は、動き推定を実行する機能ブロック３０に結合される。また、入力端子１２も、ブロック３０に結合されて、入力ビデオ信号を供給する。フレーム・バッファ２８および動き推定ブロック３０は、それぞれ、動き補償を実行するブロック３２に結合される。機能ブロック３２は、合計ブロック１４の負入力に結合され、また合計ブロック２６の正入力にも結合される。
【００１４】
エンハンスメント層部３３は合計ブロック３４を含み、合計ブロック３４はその正入力がＤＣＴ１６の出力に結合され、その負入力が逆量子化ブロック２２の出力に結合される。ブロック３４の出力は、ビット平面（ｂｉｔ−ｐｌａｎｅ：ビットプレーン）符号化を実行する機能ブロック３６に結合される。次いで、ビット平面符号化器３６の出力は、可変長符号化（「ＶＬＣ」）を実行する機能ブロック３８に結合される。
【００１５】
動作を説明すると、図１のＦＧＳ符号化器１０は、ＭＰＥＧ−４  ＦＧＳで行われるように、ベース層だけを予測に使用する。ベース層符号化器１１は、単一層ＤＣＴベースで動き補償が行われる符号化器である。最初、入力ビデオは、動き推定処理から得られる動きベクトルを用いて動き補償が行われる。次いで、予測エラー（誤差）がＤＣＴを用いて変換され、その結果得られるＤＣＴ係数が量子化され、可変長符号を用いてエントロピー符号化される。そのベース層フレームを再構成するために、最初に逆量子化が実行され、次いでＩＤＣＴが実行される。動き補償処理において減算されたその予測値が加算されて戻され、再構成されたフレームがフレーム・バッファに格納されて、その後（将来）のピクチャ（画面）用の基準として用いられるようにする。
【００１６】
エンハンスメント層の符号化における最初のステップは、量子化されていない係数から、ベース層における逆量子化されたＤＣＴ係数を減算するためのものである。次いで、ビット平面は一度で走査されて可変長符号化される。復号器は、復号の時に利用可能なビットレートに従ってそれらのビット平面の或る部分集合を復号する。
【００１７】
次いで、図２を参照すると、本発明の原理による典型例のＦＧＳ符号化器１１０は、概念的に、ベース層部１１１とエンハンスメント層部１３３とに分けることができる。ベース層部１１１は入力端子１１２を含んでおり、入力端子１１２は信号交信により合計ブロック１１４の正入力に結合される。次いで、合計ブロック１１４は、離散コサイン変換（「ＤＣＴ」）を実行する機能ブロック１１６に結合される。ブロック１１６は、量子化変換Ｑを実行する機能ブロック１１８に結合される。機能ブロック１１８は、可変長符号化（「ＶＣＬ」）を実行する機能ブロック１２０に結合される。ブロック１１８は、さらに、逆量子化変換Ｑ−１を実行する機能ブロック１２２に結合される。
【００１８】
次いで、ブロック１２２は、逆離散コサイン変換（「ＩＤＣＴ」）を実行する機能ブロック１２４に結合される。ブロック１２４は、合計ブロック１２６の正入力に結合され、合計ブロック１２６はフレーム・バッファを構成するブロック１２８に結合される。ブロック１２８は、動き推定を実行する機能ブロック１３０に結合される。また、入力端子１１２も、ブロック１３０に結合されて、入力ビデオ信号を供給する。フレーム・バッファ１２８および動き推定器１３０は、それぞれ、適応型動き補償を実行する機能ブロック１３２に結合される。機能ブロック１３２は、合計ブロック１１４の負入力に結合され、また合計ブロック１２６の正入力にも結合される。
【００１９】
エンハンスメント層部１３３は合計ブロック１３４を含み、合計ブロック１３４は、その正入力がＤＣＴ１１６の出力に結合され、その負入力が逆量子化ブロック１２２の出力に結合される。ブロック１３４の出力は、ビット平面符号化を実行する機能ブロック１３６に結合される。次いで、ビット平面符号化器１３６の出力は、可変長符号化（「ＶＬＣ」）を実行する機能ブロック１３８に結合される。また、ビット平面符号化器１３６の出力は、ベース層部１１１に含まれる合計ブロック１３９の正入力にも結合される。
【００２０】
ベース層部１１１に戻ると、合計ブロック１３９の別の正入力に、逆量子化ブロック１２２の出力が結合される。合計ブロック１３９の出力は、別のＩＤＣＴを実行する機能ブロック１４０に結合される。ＩＤＣＴ１４０は合計ブロック１４２の正入力に結合され、合計ブロック１４２の別の正入力に、適応型動き補償器１３２の出力が結合される。合計ブロック１４２の出力はエンハンスメント層フレーム・バッファ１４４に結合される。次いで、エンハンスメント層フレーム・バッファ１４４は、適応型動き補償器１３２に結合される。ドリフト・フレーム・バッファ１４６が、双方向信号交信により適応型動き補償器１３２に結合される。
【００２１】
動作を説明すると、図２のＦＧＳ符号化器１１０は、本発明の原理に従って、好ましいＦＧＳ方法を実行する。図２のＦＧＳ符号化器１１０と図１のＦＧＳ符号化器１０の間の重要な相違点は、図２の符号化器では、再構成されたエンハンスメント層フレームｆｍｉｄを得る初期ステップとして、エンハンスメント層におけるビット平面の部分集合に対するビット平面符号化の出力がベース（基本）層における逆量子化されたＤＣＴ係数に加算されることである。次いで、ＩＤＣＴが実行されて、動き補償ステップからの予測値が加算されて元に戻される。その結果ｆｍｉｄはエンハンスメント層フレーム・バッファに格納される。本発明の原理を組み込んだ適応型動き補償方法、装置およびシステムでは、ベース層およびエンハンスメント層予測（値）が読み取られ、エンハンスメント層予測が用いられると仮定してその累積された予測変動が計算され、適切な予測（値）が選択される。エンハンスメント層予測が選択された場合、累積された予測変動が更新されてドリフト・フレーム・バッファに書き込まれる。
【００２２】
図３を参照すると、図２を参照して説明した本発明の原理による適応型動き補償の処理が方法２００として示されている。方法２００は、開始ブロック２１０で開始して判断ブロック２１２に進む。判断ブロック２１２において、現在の画像が、新しいグループ・オブ・ピクチャ（「Ｇｒｏｕｐ  Ｏｆ  Ｐｉｃｔｕｒｅｓ：ＧＯＰ」）を開始するものであるかどうかが判定される。現在の画像が、新しいグループ・オブ・ピクチャを開始するものである場合、制御は機能ブロック２１４に進んで、累積された予測エラー・フレームＦｄを０（ゼロ）にリセットする。ブロック２１４の後、または新しいグループ・オブ・ピクチャがブロック２１２において検出されなかった場合は、制御は機能ブロック２１６に進み、そこで、そのブロックで中間ビットレートＲｍｉｄが選択される。ここで、Ｒｍｉｄは、最小ビットレートＲｍｉｎと最大ビットレートＲｍａｘの間の任意の値である。典型例を挙げると、ＲｍｉｄはＲｍｉｎとＲｍａｘの間の中点（真ん中）となるよう考慮してもよい。次いで、ブロック２１６から機能ブロック２１８に進み、そこで、最小ビットレートＲｍｉｎで符号化された前フレームに対応するフレームＦｍｉｎからマクロブロックがフェッチされる（取出される）。次いで、ブロック２１８から機能ブロック２２０に進み、そこで、中間ビットレートＲｍｉｄで符号化された前フレームに対応するフレームＦｍｉｄからマクロブロックがフェッチされる。次いで、ブロック２２０から機能ブロック２２２に進み、そこで、前フレームの累積された予測エラーに対応するフレームＦｄからマクロブロックがフェッチされる。
【００２３】
次いで、機能ブロック２２２から機能ブロック２２６に進む。ブロック２２６において、累積された予測エラーＦｄに対する中間ビットレート予測Ｐｍｉｄのエネルギを計算して、判断ブロック２２８に進む。判断ブロック２２８において、計算されたエネルギＥが閾値Ｅｍａｘより大きいかどうかが判定され、それが閾値より大きくない場合、制御は機能ブロック２３０に進む。機能ブロック２３０において、中間ビットレート予測Ｐｍｉｄが選択されて、機能ブロック２３２に進む。機能ブロック２３２において、累積された予測エラー・フレームＦｄが更新されて、戻り（リターン）ブロック２３６に進む。判断ブロック２２８において、エネルギＥが閾値Ｅｍａｘより大きい場合は、制御は機能ブロック２３４に進む。ブロック２３４において、最小ビットレート予測Ｐｍｉｎが選択されて、戻りブロック２３６に進む。
【００２４】
本発明の動き補償方法の動作を説明すると、符号化されたデータストリームの最小および最大ビットレートはそれぞれＲｍｉｎおよびＲｍａｘである。Ｒｍｉｄは、ＲｍｉｎとＲｍａｘの間の任意の中間ビットレートである。従って、１つのマクロブロックを符号化するために、符号化器は、Ｒｍｉｎの前フレームから動き補償済みブロックをフェッチし、Ｒｍｉｄの前フレームから動き補償済みブロックをフェッチする。
【００２５】
また、符号化器は、累積された予測変動エラーを表すフレームから別のブロックをフェッチする。その累積された予測変動エラー・フレームは、各グループ・オブ・ピクチャ（「ＧＯＰ」）の開始において０（ゼロ）にリセットされる。最小レート予測、中間レート予測、および累積された予測変動エラーを表す各ブロックをそれぞれＰｍｉｎ、ＰｍｉｄおよびＰｄと呼ぶ。どの予測を用いるかを判定するために、符号化器は、Ｐｍｉｄ予測に対する予測変動エラーのエネルギを計算する。エネルギ「Ｅ」が１つのブロックのエネルギを測定する機能として定義され、かつＥｍａｘが最大許容変動エネルギ閾値であるとした場合には、適切な予測（Prediction）が次のように選択される。
【００２６】
もし、  Ｅ（Ｐｄ＋Ｐｍｉｎ−Ｐｍｉｄ）>Ｅｍａｘ（１）
Prediction  =Ｐｍｉｎ
そうでなければ、
Prediction  =Ｐｍｉｄ
Ｐｄ＝Ｐｄ  ＋Ｐｍｉｎ−Ｐｍｉｄ
（Ｅ（Ｐｄ  ＋Ｐｍｉｎ−Ｐｍｉｄ）  >Ｅｍａｘの場合は、Prediction  =Ｐｍｉｎとし、
その他の場合は、Prediction  =Ｐｍｉｄ、Ｐｄ＝Ｐｄ＋Ｐｍｉｎ＝Ｐｍｉｄとする）
この典型例の実施形態において、マクロブロック・ヘッダには、何れの予測ブロックが選択されたかを受信側の復号器に伝えるための１つのビットが含まれている。復号器において、各フレームの２つの復号バージョンＦｍｉｎおよびＦｍｉｄがメモリに書き込まれて基準フレームとして用いられる。フレームＦｍｉｎは最小ビットレートのフレームを表し、フレームＦｍｉｄは中間ビットレートのフレームを表す。そのフレームがＲｍｉｄより低いビットレートで復号された場合は、Ｆｍｉｄはそのより低いビットレートの復号フレームを用いて近似される。
【００２７】
本発明のこれらのおよびその他の特徴および利点は、本明細書の開示内容に基づいて関連する技術における通常の知識を有する者によって直ぐに確認できる。本発明の開示内容はハードウェア、ソフトウェア、ファームウェア、専用プロセッサ、またはこれらの組み合わせの様々な形態で実装してもよいことが分かる。
【００２８】
本発明の開示内容は、ハードウェアとソフトウェアの組み合わせとして実現されることが最も好ましい。さらに、ソフトウェアは、プログラム記憶ユニットに有形の形態で実施されたアプリケーション・プログラムとして実装することが好ましい。アプリケーション・プログラムは、任意の適当なアーキテクチャを含むマシンにアップロードして、そのマシンにより実行されてもよい。そのマシンは、例えば１つ以上の中央処理装置（「ＣＰＵ」）、ランダム・アクセス・メモリ（「ＲＡＭ」）、入力／出力（「Ｉ／Ｏ」）インタフェースのようなハードウェアを有するコンピュータ・プラットフォーム上で実装されることが好ましい。また、そのコンピュータ・プラットフォームは、オペレーティング・システム（ＯＳ）およびマイクロ命令コードを含んでいてもよい。本明細書で説明した様々な処理および機能は、ＣＰＵにより実行され得る、マイクロ命令コードの一部、またはアプリケーション・プログラムの一部、またはこれらの任意の組み合わせ、の何れであってもよい。さらに、その他の様々な周辺装置が、例えば付加的データ記憶装置およびプリント装置のようなコンピュータ・プラットフォームに接続されていてもよい。
【００２９】
さらに、図面に示された構成システム・コンポーネントおよび方法の或るものはソフトウェアの形態で実現されることが好ましいので、システム・コンポーネント間または処理機能ブロック間の実際の接続は、本発明に従ってプログラムされる形態に応じて異なってもよい。本明細書の開示内容に基づいて、関連する分野の通常の知識を有する者であれば、本発明の実施例およびこれらに類似の実現形態または構成を考えることができる。
【００３０】
例示した実施形態について図面を参照して説明したが、本発明は、以上の厳密な実施形態に限定されるものではなく、関連する分野の通常の知識を有する者であれば、本発明の請求の範囲および精神を逸脱することなくその様々な変更および変形を施すことができる。そのような全ての変更および変形は請求の範囲に記載したような本発明の請求の範囲内に含まれるように意図されている。
【符号の説明】
【００３１】
１１０  符号器
１３０  動き推定器
１３２  適応型動き補償器
【図１】
2010098760.tif 000003
【図２】
2010098760.tif 000004
【図３】
2010098760.tif 000005