(57)【特許請求の範囲】
【請求項１】
ビットプレーン符号化を用いて、ビデオを基本階層と、少なくとも１つの拡張階層とに階層的に符号化することと、
利用可能なビットレートで送信された結果として、切り捨てられる拡張階層に相当する最後の拡張階層が存在する場合には、前記ピットプレーン符号化された前記最後の拡張階層をＤＣＴ係数まで復号化することと、
復号化された前記ＤＣＴ係数をピットプレーン符号化する際のビット数を前記利用可能なビットレートに合わせて低減することと、
前記低減したビット数を用いて前記ＤＣＴ係数を再びビットプレーン符号化することで前記最後の拡張階層を再符号化することと
を含むビデオをトランスコーディングする方法。
【請求項２】
前記低減は、次式に従って行われ、
【数１】
0004410245.tif 000003
ここで、Ｒｉは、前記最後の拡張階層のフレームの各ブロックｉを符号化するために用いられるビット数であり、Ｒ’ｉは、前記利用可能なビットレートＲｂｕｄｇｅｔで前記ブロックを再び符号化するために必要なビット数であり、ＲＢＰは、前記フレームを符号化するために用いられる総ビット数である請求項１に記載の方法。
【請求項３】
前記低減は、前記利用可能なビットレートを満たすまで各ブロックの高周波数のＤＣＴ係数を拡張させる「１」の値を消去する請求項１に記載の方法。
【請求項４】
どの「１」のビットを消去するかを判定するためにコスト関数を評価することをさらに含む請求項１に記載の方法。
【請求項５】
前記コスト関数は、Ｊ（λ）＝Ｄ（Ｒｉ）＋λＲｉであり、ここで、Ｒｉは、現在のブロックを符号化するために用いられるビット数であり、Ｄ（Ｒｉ）は、ビットレートＲｉに対応する歪であり、λは、前記基本階層のブロックの量子化パラメータに従って特定される実験的パラメータである請求項４に記載の方法。
【請求項６】
前記コスト関数を評価することは、トレリス探索を用いて処理されることをさらに含む請求項４に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、包括的にはストリーミングの圧縮ビデオに関し、特に、ストリーミングビデオの細粒度スケーラビリティ（ＦＧＳ）拡張階層のビットプレーンをトランスコーディングすることに関する。
【背景技術】
【０００２】
インターネット等のネットワークを通じて圧縮ビデオをストリーミングする用途に関して、１つの重要な関心事は、異なる資源、アクセス経路、およびプロセッサを使用する受信者にビデオストリームを配信することである。したがって、ビデオのコンテントは、そのようなネットワークに見られる異機種環境に動的に適合される。
【０００３】
細粒度スケーラビリティ（ＦＧＳ）は、ＭＰＥＧ−４規格用に、そうした動的に変化するネットワーク環境にビデオを適合させるために開発された（ISO/IEC 14496-2:1999/FDAM4, "Information technology - coding of audio/visual objects, Part 2: Visual"を参照願いたい）。ＭＰＥＧ−４規格のこの改正の概要はLi, "Overview of Fine Granularity Scalability in MPEG-4 Video Standard," IEEE Trans. on Circuits and Systems for Video Technology, Vol.11, No.3, pp.301-317, March 2001）を参照願いたい。
【０００４】
ＭＰＥＧ−４のＦＧＳエンコーダは、２つのビットストリームを生成する。そのうちの一方は、基本階層（base layer）であり、他方は、１つまたは複数の拡張階層を含む。これら２つのビットストリームの目的および重要性は異なる。基本階層は、基本となる復号化ビデオを提供する。基本階層は、拡張階層を用いる前に正確に復号化されなければならない。したがって、基本階層は、強固に保護されなければならない。拡張階層は、基本となるビデオの品質を高めるために用いることができる。
【０００５】
ＦＧＳ符号化は、従来のスケーラブル符号化からの根本的な脱却である。従来のスケーラブル符号化では、コンテントは、基本階層のビットストリームとおそらくはいくつかの拡張階層に符号化され、その粒度の細かさは、形成される拡張階層の数と同程度でしかない。結果として得られるレート歪曲線は、階段状の関数に似たものとなる。
【０００６】
それに対して、ＦＧＳ符号化は、連続的にスケーラブルな拡張階層ビットストリームを提供する。拡張階層は、まず基本階層ビットストリームのフレームを入力ビデオの対応するフレームから減算することによって作成される。これにより、空間領域におけるＦＧＳ残差信号が得られる。次に、この残差信号に離散コサイン変換（ＤＣＴ）符号化を適用し、ＤＣＴ係数をビットプレーン符号化法により符号化する。ビットプレーン符号化により、拡張階層ビットストリームの複数の副階層を生成することができる。以下では、これらの副階層も拡張階層と呼ぶ。
【０００７】
ＦＧＳの努力は、以下の領域に焦点を当ててきた。符号化効率の向上（Kalluri, "Single-Loop Motion-Compensated based Fine-Granular Scalability (MC-FGS)," MPEG2001/M6831, July 2001およびWu et al., "A Framework for Efficient Fine Granularity Scalable Video Coding," IEEE Trans. on Circuits and System for Video Technology, Vol. 11, No. 3, pp.332-334, March 2001を参照願いたい）、隣接フレーム間の品質の変化を最小にするための拡張階層の切り捨て（Zhang et al., "Constant Quality Constrained Rate Allocation for FGS Video Coded Bitstreams," Visual Communications and Image Processing 2002, Proceedings of SPIE, Vol. 4671, pp. 817-827, 2000、Cheong et al., "FGS coding scheme with arbitrary water ring scan order," ISO/IEC JTC1/SC29/WG11, MPEG 2001/M7442, July 2001、およびLim et al., "Macroblock reordering for FGS," ISO/IEC JTC1/SC29/WG11, MPEG 2000/M5759, March 2000を参照願いたい）、および時間スケーラビリティを付加するためのＦＧＳ符号化構造の変更（Van der Schaar et al., "A Hybrid Temporal-SNR Fine Granular Scalability for Internet Video," IEEE Trans. on Circuits and System for Video Technology, Vol. 11, No. 3, pp. 318-331, March 2001、およびYan et al., "Macroblock-based Progressive Fine Granularity Spatial Scalability (mb-PFGSS)," ISO/IEC JTC1/SC29/WG11, MPEG2001/M7112, March 2001を参照願いたい）。
【０００８】
従来のスケーラブル符号化法と比べたＦＧＳの利点は、誤り耐性にある。復号化された拡張階層の１つまたは複数のフレームにおける破損または損失が後続のフレームに伝播しない。後続のフレームは、常に、拡張階層を適用する前にまず基本階層から復号化される。
【０００９】
さらに、再構築ビデオの品質は、復号化されるビット数に比例する。したがってＦＧＳは、拡張階層を任意の点で切り捨ててネットワーク帯域幅の目標ビットレートまたは他の制約を達成することができるため、ストリーミングビデオの連続的なレート制御を行う。
【００１０】
しかしながらＭＰＥＧ−４規格は、レート割り当てを行う方法や、拡張階層のビット切り捨てを行う方法を明記していない。この規格は、切り捨てたビットストリームを復号化する方法しか明記していない。
【００１１】
復号化ビデオを視聴する際、人間は、一定で比較的中程度の品質の復号化ビデオのほうが、隣接フレーム間で品質が変化し、一部のフレームが高品質で他のフレームが低品質である復号化ビデオよりも「よい」と知覚する。したがって、切り捨ては、隣接フレーム間の品質の時間的変化も最小にすべきである。
【００１２】
単純な切り捨て法の１つは、切り捨てにより、利用可能な帯域幅を各フレームの拡張階層に均等に割り当てる（Van der Schaar et al., "A Hybrid Temporal-SNR Fine Granular Scalability for Internet Video," IEEE Trans. on Circuits and System for Video Technology, Vol. 11, No. 3, pp. 318-331, March 2001を参照願いたい）。この方法を用いた場合、拡張階層の各フレームについて同数のビットがネットワークを介して送信される。しかしながら、隣接フレーム間でビデオの複雑性が変動する場合、復号化ビデオの品質も時間が経つにつれてかなり変動する。
【００１３】
この問題を解決するために、「最近隣フェザーライン（nearest feather line）」法を用いることができる（Zhao et al., "A Content-based Selective Enhancement Layer Erasing Algorithm for FGS Streaming Using Nearest Feather Line Method," Visual Communications and Image Processing, Proceedings of SPIE, Vol. 4671, pp. 242-249, 2002を参照願いたい）。この方法は、各フレームの「重要性」を評価し、この重要性に基づいて拡張階層にビットを割り当てる。
【００１４】
別の方法は、最適レート割り当てを用いて拡張階層ビットストリームを切り捨てる（Zhang et al., "Constant Quality Constrained Rate Allocation for FGS Video Coded Bitstreams," Visual Communications and Image Processing, Proceedings of SPIE, Vol. 4671, pp. 817-827, 2000およびZhao et al., "MPEG-4 FGS Video Streaming with Constant-Quality Rate Control and Differentiated Forwarding", Visual Communications and Image Processing, Proceedings of SPIE, Vol. 4671, 2003を参照願いたい）。これらの方法は、拡張階層の符号化中にレート歪（Ｒ−Ｄ）点のセットを生成する。次に、補間を用いて拡張階層の各フレームのＲ−Ｄ曲線を推定する。このＲ−Ｄ曲線を用いて、切り捨てるべきビット数を求める。これらの方法は、隣接フレーム間の品質の変化を最小にすることができる。
【００１５】
しかしながら、従来技術の方法は、全て、フレーム内の品質の空間的変化を無視している。
【００１６】
図１に示すように、従来技術の方法がフレーム内の品質の変化を最小にできない理由は、ＭＰＥＧ−４のＦＧＳ規格が拡張階層ビットストリームの符号化に通常のスキャン順を使用しているためである。通常のスキャン順は、フレーム１００のマクロブロック（例えば１〜Ｎ）の符号化を順次、フレームの左上の角のマクロブロック１から始めて右下の角のマクロブロックＮで終える。結果として、図２に示すように、送信される最後のビットプレーン階層を切り捨てると、復号化フレームの部分２００のみが拡張され、符号化フレームの部分２０１は拡張されない。したがって、フレーム全体の品質は均一でなくなる。
【００１７】
波動スキャン順を選択的な拡張とともに用いて、フレーム内の関心領域を処理することができる（Cheong et al., "FGS coding scheme with arbitrary water ring scan order," ISO/IEC JTC1/SC29/WG11, MPEG 2001/m7442, July 2001を参照願いたい）。関心領域のビットプレーンは、選択的に拡張され、他に先駆けて送信することができる。しかしながら、この方法には３つの問題がある。第１に、デコーダは、波動スキャンされた拡張階層を復号化するように変更される必要がある。第２に、大抵の自然の情景のビデオでは、関心領域を定義することが困難である。第３に、シーンが複数の関心領域を含む場合がある。
【００１８】
別の方法は、異なるマクロブロックのスキャン順を用いる（Lim et al., "Macroblock reordering for FGS," ISO/IEC JTC1/SC29/WG11, MPEG 2000/m5759, March 2000を参照願いたい）。この方法は、基本階層における量子化スケールの値が大きなマクロブロックは、それに対応して拡張階層における残留係数が高いという仮定に基づく。したがって、拡張階層のマクロブロックの並べ替えシーケンスは、基本階層からの２つのパラメータ、すなわち量子化スケールの値、およびＤＣＴ係数の数を用いる。
【００１９】
対応する基本階層のマクロブロックの量子化の値およびＤＣＴ係数の数がより大きい拡張階層のマクロブロックをまず符号化する。しかしながら、この方法は、デコーダの変更も必要であり、ビットプレーンを切り捨てる際にフレーム内の空間品質の変化を解決しない。
【発明の開示】
【発明が解決しようとする課題】
【００２０】
したがって、デコーダを変更せずに、ＦＧＳストリーミングビデオの拡張階層を切り捨てる際にフレーム内で一定の空間品質を実質的に維持するシステムおよび方法が必要である。
【課題を解決するための手段】
【００２１】
ビデオのトランスコーディング方法を提供する。ビットプレーン符号化を用いて、ビデオをまず、基本階層と、１つまたは複数の拡張階層とに階層的に符号化する。次に、利用可能なビットレートで送信された結果として、切り捨てられる拡張階層に相当する最後の拡張階層が存在する場合、ピットプレーン符号化された当該最後の拡張階層をＤＣＴ係数まで復号化する。復号化された前記ＤＣＴ係数をピットプレーン符号化する際のビット数を利用可能なビットレートに合わせて低減し、次にこの低減したビット数を用いて前記ＤＣＴ係数を再びビットプレーン符号化して、低減されたビットレートで送信する。
【発明を実施するための最良の形態】
【００２２】
本発明は、細粒度スケーラビリティ（ＦＧＳ）ビデオビットストリームをトランスコードして、ネットワーク帯域幅が低減される場合に、デコーダが、符号化した基本階層と、１つまたは複数の拡張階層とから均一な空間品質でフレームを再構築することを可能にする。均一な空間品質とは、ビデオの各フレーム内の品質が一定であることを意味する。
【００２３】
明らかに、拡張階層の最後の復号化されたビットプレーンでフレーム全体を再構築すれば、フレーム全体の品質は均一に拡張される。しかしながら、時として、ビットストリームが送信されるチャネルのビットレートは、必要であるよりも低い。したがって、１つまたは複数の拡張階層（ビットプレーン）全体が消去され、チャネルが拡張階層全体を送信できない場合には拡張階層が切り捨てられることもある。切り捨てられる拡張階層を送信される最後の階層と呼ぶ。最後の階層が切り捨てられる場所に応じて、フレーム毎の空間品質の変化は異なる可能性がある。
【００２４】
したがって、送信される最後の拡張階層をトランスコードし、送信される最後の拡張階層のトランスコードされる各ブロックの、トランスコーディング後のビット数は低減されるが、この低減したビット数でもフレーム全体が符号化される。トランスコーディングとは、拡張階層全体を部分的にＤＣＴ係数まで復号化することを意味する。逆ＤＣＴは行わない。
【００２５】
部分的に復号化された階層のビット数は、後述のように、帯域幅要件に合わせて低減する。次に、この低減されたビットレートの拡張階層を再び符号化する。結果として、デコーダは、チャネルのビットレートを低減してもフレーム全体を均一な空間品質で再構築することができる。
【００２６】
図３に示すように、本発明のエンコーダおよび方法３００は、以下のように動作する。まず、入力ビデオ３０１の各フレームのブロックを、ＭＰＥＧ−４のＦＧＳ規格に記載されているように符号化（３１０）して、基本階層３１１と、ビットプレーン３１２を含む１つまたは複数の拡張階層とを生成する。
【００２７】
各出力ビットプレーン３１２の各ブロックの生成されたビット数Ｒｉ３２１をメモリに記憶（３２０）する（ここで、ｉ＝０、１、・・・、Ｎ−１であり、Ｎは、ビットプレーンのブロック数である）。フレーム内の全ブロックのビットプレーンの総ビット数をＲＢＰとして記憶する。
【００２８】
次に、ＦＧＳ符号化ビデオストリームを送信するために必要な要求されるビットレートが与えられているかどうかを判定（３３０）し、真であれば、現在のビットプレーンを送信（３４０）する。
【００２９】
偽であれば、他の方法では切り捨てられる最後の拡張階層を部分的に復号化し、各ブロックのビット数を次式に従って低減する。
【００３０】
【数１】
0004410245.tif 000002
【００３１】
ここで、Ｒｉは、ブロックｉを符号化（３１０）するために用いられるビット数であり、Ｒ’ｉは、ブロックを低ビットレートＲｂｕｄｇｅｔで再び符号化（３６０）するために必要なビット数である。上式は、フレーム全体の元のビットの貢献により再符号化された各ブロックにオーバーシュートしたビットバジェット（ＲＢＰ−Ｒｂｕｄｇｅｔ）が割り当てられることを示す。
【００３２】
次に、送信される最後のビデオビットプレーン３１２の各ブロックを、低減したビット数Ｒ’ｉの要件に合わせて再び符号化（３６０）し、サイズを低減したビットプレーン３６１を送信（３４０）する。
【００３３】
ビットプレーンのサイズを低減するにはいくつかの方法がある。１つの単純な方法は、以下のようなものである。各拡張階層のブロックは、最も高いＡＣ周波数のＤＣ係数の残差に対応する「０」または「１」のビットを６４個有する。新しいビットバジェットを用いた符号化手順は、高周波数のＤＣＴ係数を拡張するために適用される「１」のいくつかを削除または消去する必要があることを意味する。削除ステップ３６０は、低いビットバジェットを満たすまで、高周波数のＤＣＴ係数を拡張させる「１」の値を消去する。
【００３４】
レート歪の最適化
上記のビットレートの低減により、ＤＣＴ領域における最も高いＡＣ周波数に対応する「１」のビットを消去する。しかしながら、このやり方は、レート歪（Ｒ−Ｄ）の観点で見ると最適ではない。例えば、拡張階層ブロックにおいて符号化される２つの係数「８」および「１５」はバイナリ形式では「１０００」および「１１１１」で表される。１番目の拡張階層の最上位ビットプレーン（ＭＳＢ）は２つの「１」を含む。
【００３５】
「１５」に対応するＭＳＢの「１」のビットのみを送信した場合、全体的な歪は、差の二乗和（ＳＳＤ）に換算して１１３となる。「８」に対応するＭＳＢの「１」のビットのみを送信した場合、全体的な歪は、ＳＳＤに換算して２２５となる。一方で、「１５」に関連する「１」のビットを消去した場合は、「８」に関連する「１」のビットを消去した場合と比較してＭＳＢを符号化するための生成されるビット数が少なくなる。したがって、どのビットを消去するかを判定するための最適な方法が必要である。
【００３６】
ビットレートの低減の問題は、元のブロックからいくつかの「１」のビットを選択して、再符号化されたビットストリームが、制限されたビットバジェットと、最適な品質または最小の歪との両方を満たすようにすることに一般化することができる。
【００３７】
この問題は、複合レート歪最適化を用いて解決することができる。１つのブロックについて、コスト関数Ｊ（λ）＝Ｄ（Ｒｉ）＋λＲｉ（ここで、Ｒｉは、現在のブロックを符号化するために用いられるビット数であり、Ｄ（Ｒｉ）は、レートＲｉに対応する歪であり、λは、基本階層ブロックの量子化パラメータに従って指定される実験的パラメータである）を最小にすることができる。
【００３８】
上記したように、現在のビットプレーンの「１」のビットを消去した結果生じる歪を求める際には、より高い拡張階層のＤＣＴ係数に関連するビットを考慮すべきである。
【００３９】
１つの拡張階層ブロックでは、１つのビットプレーンに６４個のビットがある。各ビットは、送信または消去することができる。しかも、利用可能な消去パターンの組み合わせは、現在のブロックにおける「１」の個数に対して指数関数的である。
【００４０】
ブロックは、図４のトレリス探索で探索を行うことによって処理することができる。図４において、Ａ４０１は、ビットプレーン４００の開始を示す。探索がビットプレーン４００の１番目の「１」のビット４１１に達したとき、これを処理する方法には二通りあり、「１」のままとするか、あるいは「０」に変更する。したがって、２つの状態、すなわち、「Ｂ」４０２および「Ｃ」４０３が生成される。「Ａ−Ｂ」の経路の場合、コスト関数は、Ｊ＝λＲｉ（ここで、Ｒｉは、そこまでのビット列を記述するために必要なコードワードの長さである）として計算することができる。「Ａ−Ｃ」の経路の場合、コスト関数は未だ得られない。
【００４１】
探索がビットプレーンの２番目の「１」のビット４１２に達するとき、４つの経路、すなわち「ＢＤ」、「ＣＤ」、「ＢＥ」、「ＣＥ」がある。状態「Ｅ」４０５はこの「１」が「０」に変更されることを示し、状態「Ｄ」４０４は「１」が保持されることを示す。状態「Ｄ」に入る２つの経路の場合に、一方の経路は、コスト関数λ（Ｒ１＋Ｒ２）の値に従って廃棄され（経路ＡＢＤに対応する）、λＲ３＋Ｄは、経路ＡＣＤに対応する（ここで、Ｒ３は「ＡＣＤ」の列を記述するためのコードワードの長さであり、Ｄは「Ｂ」の位置の「１」を「０」に変更することによって生じる歪である）。上記の手順をブロックの最後まで、あるいは当該ブロックのビットバジェットを満たして最適な局所経路が生成されるまで続ける。
【００４２】
発明の効果
本発明の有効性を検証するために、共通中間フォーマット（ＣＩＦ）を用いて標準的な「Ａｋｉｙｏ」ビデオシーケンスを符号化した。基本階層は、ＩフレームとＰフレームの両方を量子化パラメータＱ＝３１で符号化する。このシーケンス中にはＢフレームはない。拡張階層に関しては、拡張階層に利用可能な全帯域幅は５７６ｋｂ／ｓである。
【００４３】
図５は、本発明の方法のＰＳＮＲ利得５００を、従来技術の「均等切り捨て」法と比較して示す。ビデオシーケンス全体に関して、本発明は、０．１７ｄＢの平均ＰＳＮＲ利得を生じる。各マクロブロックの輝度成分の平均二乗誤差（ＭＳＥ）の分散を用いて、フレーム内の品質の変化を測定する。本発明は、また、フレーム内の品質の変化を２６パーセント低減する。
【００４４】
本発明を好適な実施の形態の例として記載してきたが、本発明の精神および範囲内で様々な他の適応および変更を行うことができることが理解される。したがって、添付の特許請求の範囲の目的は、本発明の真の精神および範囲に入る変形および変更をすべて網羅することである。
【図面の簡単な説明】
【００４５】
【図１】従来技術の、ビデオの拡張階層を符号化するための順次スキャン順のブロック図である。
【図２】拡張階層の切り捨てにより部分的に拡張された復号化フレームのブロック図である。
【図３】本発明によるＦＧＳビデオエンコーダのブロック図である。
【図４】図４は、本発明による、ビットを低減する探索トレリスの図である。
【図５】図５は、本発明により達成されるＰＳＮＲ利得のグラフである。
【図１】
0004410245.tif 000004
【図２】
0004410245.tif 000005
【図３】
0004410245.tif 000006
【図４】
0004410245.tif 000007
【図５】
0004410245.tif 000008