(57)【要約】本発明の実施形態はビデオを符号化する装置および方法を提供する。本装置および本方法はさらに、ブロック・ベースの符号化処理に従ってソース・ビデオ・シーケンスを符号化し、対象デコーダの処理能力を推定し、推定された処理能力がデブロッキング・フィルタリングを実行するのに十分であるかを判定することを提供する。十分でないならば、本装置および本方法はさらに、復号で用いられるソース・ビデオ・シーケンスの画素ブロックに対するデブロッキング・フィルタ強度を算出し、符号化ビデオデータとともに、符号化ビデオデータ信号においてデブロッキング・フィルタ強度を送信することを提供しうる。さらに、十分でないならば、本装置および本方法はブロック・サイズ、変換サイズ、およびＱ行列を含むがこれらに限定されない符号化パラメータを変更することを提供しうる。
2011523300.tif 000002
【特許請求の範囲】
【請求項１】
ビデオ符号化方法であって、
ブロック・ベースの符号化処理に従ってソース・ビデオ・シーケンスを符号化する工程と、
対象デコーダの処理能力を推定する工程と、
前記推定された処理能力がデブロッキング・フィルタリングを実行するために十分であるかを判定する工程と
を有し、
十分でない場合に、
復号で用いられる前記ソース・ビデオ・シーケンスの画素ブロックについてのデブロッキング・フィルタ強度を算出する工程と、
符号化されたビデオデータの信号において前記デブロッキング・フィルタ強度を前記符号化されたビデオデータとともに送信する工程と
を更に有することを特徴とするビデオ符号化方法。
【請求項２】
前記処理能力がデブロッキング・フィルタリングを実行するために十分である場合に、
デフォルト符号化パラメータを含むデフォルト符号化ポリシーを用いて前記ソース・ビデオを符号化する工程と、
前記符号化されたビデオを送信する工程と
を更に有することを特徴とする請求項１に記載のビデオ符号化方法。
【請求項３】
前記対象デコーダの前記処理能力を推定する工程は、前記対象デコーダにおけるハードウェア構成と前記対象デコーダにおける復号されたビデオの表示品質とに基づくことを特徴とする請求項１に記載のビデオ符号化方法。
【請求項４】
前記ハードウェア構成はデコーダ・プロセッサの種類によって決定されることを特徴とする請求項３に記載のビデオ符号化方法。
【請求項５】
前記ハードウェア構成はデコーダ・プロセッサの個数によって決定されることを特徴とする請求項３に記載のビデオ符号化方法。
【請求項６】
前記表示品質の要因は前記対象デコーダにおける表示解像度であることを特徴とする請求項３に記載のビデオ符号化方法。
【請求項７】
前記表示品質の要因は前記デコーダにおけるフレーム欠落レートであることを特徴とする請求項３に記載のビデオ符号化方法。
【請求項８】
前記ビデオはＨ．２６４標準のもとで符号化されることを特徴とする請求項１に記載のビデオ符号化方法。
【請求項９】
前記ビデオはＭＰＥＧ標準のもとで符号化されることを特徴とする請求項１に記載のビデオ符号化方法。
【請求項１０】
前記デブロッキング・フィルタ強度は４つのレベルのうちの１つであることを特徴とする請求項１に記載のビデオ符号化方法。
【請求項１１】
前記算出されるデブロッキング・フィルタ強度は前記符号化されたビデオの符号化パラメータの一部として符号化されることを特徴とする請求項１に記載のビデオ符号化方法。
【請求項１２】
ビデオ符号化方法であって、
ブロック・ベースの符号化処理に従ってソース・ビデオ・シーケンスを符号化する工程と、
対象デコーダの処理能力を推定する工程と、
前記推定された処理能力がデブロッキング・フィルタリングを実行するために十分であるかを判定する工程と
を有し、
十分でない場合に、
前記推定された処理能力に基づいて画素ブロック・サイズを決定する工程と、
前記決定された画素ブロック・サイズに従って前記ビデオを符号化する工程と
を更に有することを特徴とするビデオ符号化方法。
【請求項１３】
前記決定された画素ブロック・サイズは前記ビデオを符号化するための平均の画素ブロック・サイズであることを特徴とする請求項１２に記載のビデオ符号化方法。
【請求項１４】
前記決定された画素ブロック・サイズは前記ビデオを符号化するための最小の画素ブロック・サイズであることを特徴とする請求項１２に記載のビデオ符号化方法。
【請求項１５】
ビデオ符号化方法であって、
ブロック・ベースの符号化処理に従ってソース・ビデオ・シーケンスを符号化する工程と、
対象デコーダの処理能力を推定する工程と、
前記対象デコーダが並列処理能力を有するかを判定する工程と
を有し、
並列処理能力を有する場合に、
前記符号化されたビデオにおけるフィルタリング依存性を除去する工程と、
符号化されたビデオを前記対象デコーダへ送信する工程と
を更に有することを特徴とするビデオ符号化方法。
【請求項１６】
ビデオ符号化方法であって、
ブロック・ベースの符号化処理に従ってソース・ビデオ・シーケンスを符号化する工程と、
対象デコーダの処理能力を推定する工程と、
前記対象デコーダが並列処理能力を有するかを判定する工程と
を有し、
並列処理能力を有する場合に、マクロブロックに対して、前記マクロブロックの第１エッジについての第１デブロッキング・フィルタが前記マクロブロックの第２エッジについての第２デブロッキング・フィルタに重なるかを判定する工程を更に有し、
重なる場合に、
前記第１デブロッキング・フィルタと前記第２デブロッキング・フィルタとが重ならないように前記マクロブロックのサイズを大きくする工程と、
前記大きくされたマクロブロックにおいて画素を符号化する工程と
を更に有することを特徴とするビデオ符号化方法。
【請求項１７】
ビデオ符号化方法であって、
ブロック・ベースの符号化処理に従ってソース・ビデオ・シーケンスを符号化する工程と、
対象デコーダの処理能力を推定する工程と、
前記推定された処理能力がデブロッキング・フィルタリングを実行するために十分であるかを判定する工程と
を有し、
十分でない場合に、画素スライスに対して、
前記画素スライス内の少なくとも１つのマクロブロックのタイプを調整する工程と、
前記調整されたマクロブロックのタイプに従って前記ビデオを符号化する工程と
を更に有することを特徴とするビデオ符号化方法。
【請求項１８】
前記調整はＩタイプのマクロブロックからＰタイプのマクロブロックへであることを特徴とする請求項１７に記載のビデオ符号化方法。
【請求項１９】
前記調整はＩタイプのマクロブロックからＢタイプのマクロブロックへであることを特徴とする請求項１７に記載のビデオ符号化方法。
【請求項２０】
フレーム・ベースで適用されることを特徴とする請求項１７に記載のビデオ符号化方法。
【請求項２１】
ビデオ符号化方法であって、
ブロック・ベースの符号化処理に従ってソース・ビデオ・シーケンスを符号化する工程と、
対象デコーダの処理能力を推定する工程と、
前記推定された処理能力がデブロッキング・フィルタリングを実行するために十分であるかを判定する工程と
を有し、
十分でない場合に、デフォルト量子化パラメータ値に対して、
前記対象デコーダにおけるデブロッキング・フィルタリングの複雑度が低減されるように前記デフォルト量子化パラメータ値を調整する工程と、
前記調整された量子化パラメータを補償するように量子化行列を調整する工程と、
前記調整された量子化パラメータと量子化行列とに従って前記ビデオを符号化する工程と
を更に有することを特徴とするビデオ符号化方法。
【請求項２２】
対象デコーダにおけるリソースの情報に基づいてソース・ビデオを符号化するためのビデオ符号化システムであって、
ブロック・ベースの符号化処理に従って前記ソース・ビデオを符号化するためのビデオ・コーダと、
符号化されたビデオデータを受信するための対象デコーダの処理能力を推定し、
前記推定された処理能力がデブロッキング・フィルタリングを実行するために十分であるかを判定し、
十分でない場合に、復号で用いられる前記ソース・ビデオ・シーケンスの画素ブロックについてのデブロッキング・フィルタ強度を算出するためのデブロッキング・推定器と、
前記符号化されたビデオと前記デブロッキング・フィルタ強度とをチャネルへ送信するための送信部と
を備えることを特徴とするビデオ符号化システム。
【請求項２３】
ブロック・ベースの符号化処理に従ってソース・ビデオ・シーケンスを符号化する工程と、
対象デコーダの処理能力を推定する工程と、
前記推定された処理能力がデブロッキング・フィルタリングを実行するために十分であるかを判定する工程と
を有し、
十分でない場合に、
復号で用いられる前記ソース・ビデオ・シーケンスの画素ブロックについてのデブロッキング・フィルタ強度を算出する工程と、
符号化されたビデオデータの信号において前記デブロッキング・フィルタ強度を前記符号化されたビデオデータとともに送信する工程と
を更に有することを特徴とするビデオ符号化方法を実行するためのコンピュータ実行可能プログラムで符号化された、コンピュータで読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、「リソースが限られた装置に対するデブロッキング処理の複雑度と視覚的品質との同時最適化のための方法およびシステム」という名称で２００８年６月６日に出願された米国仮出願６１／０５９７２５へ米国特許法第１１９条（ｅ）に基づく優先権を主張する。
【０００２】
本発明の実施形態はビデオの符号化と復号とに関する。特に、本発明はリソースが限られたデコーダでのデブロッキングを改良するための装置および方法に関する。
【背景技術】
【０００３】
帯域圧縮を実現するために一般的にビデオ・コーダがソース・ビデオの符号化に用いられる。符号化されたビデオデータは通信チャネル、例えばインターネットまたはケーブルネットワークを通じて受信側装置へビットストリームとして送信されうる。ハンドヘルド装置のような受信側装置は受信したビットストリームを復号し、ソース・ビデオの複製を復元し、復元したビデオをディスプレイ・スクリーンに表示しうる。
【０００４】
符号化、送信、および復号の処理は、受信側装置において復元されたビデオデータが符号化装置において入力されたビデオデータと同一でないという意味において不可逆でありうる。ビデオの符号化および復号における欠損は、量子化処理と、データ圧縮を生じさせるがデータ欠損の犠牲を伴うその他の動作との少なくとも一方に起因しうる。さらに、ビデオの符号化および復号における欠損は復元されたビデオデータ内に視覚的に知覚可能なアーチファクトを引き起こしうる。ビデオ圧縮における周知なアーチファクトの１つのタイプはブロック・ベースのコーダ、例えばＭＰＥＧ−ｘやＨ．２６４のコーダにしばしば存在するいわゆるブロッキング・アーチファクトである。ブロック・ベースのコーダは典型的にソース・ビデオデータをその処理の前にアレイ（または「画素ブロック」）に編成する。符号化されたブロックが復元される際に、見る人が不自然に感じるかもしれない不連続性が、復元された画素ブロック間に観察されうる。
【０００５】
ブロッキング・アーチファクトはデコーダ、例えばローパスフィルタによって実行される後処理工程において軽減されうる。近年のビデオ圧縮標準、例えばＨ．２６４もデコーダにインループ・デブロッキング・フィルタを含みうる。図１はコーダ１２０により符号化され、チャネル１３０を渡って送信され、次いで復号ビデオデータ１６０を生成するようにデコーダ１４０により復号されるソース・ビデオデータ１１０の機能ブロック図を説明する。ソース・ビデオデータ１１０はアナログ・ビデオまたは未圧縮ビデオからデジタル化されたビデオでありうる。ソース・ビデオは一般にイメージフレームのシーケンスを含んでもよく、イメージフレームのそれぞれは画素の区形状アレイを含みうる。コーダ１２０はソース・ビデオデータ１１０を符号化して符号化ビデオデータ１７０を生成し、通信チャネル１３０を通じて符号化ビデオデータ１７０をデコーダ１４０へ送信しうる。コーダは符号化ビデオデータを画素スライス（１３６、１４２）に分割しうる。符号化ビデオデータは符号化イメージフレームと、符号化ビデオデータをどのように復号するかをデコーダ１４０に命令する命令（１３５、１４１）との両方を含みうる。デコーダ１４０はこれらの命令に基づいて符号化ビデオデータを復号しうる。
【０００６】
符号化処理は以下のように動作しうる。コーダ１２０はソース・ビデオデータ１１０をスライスに分解し、次いでスライスをブロック（例えば４×４画素、８×８画素、または１６×１６画素）に分解しうる。コーダ１２０はソース・ビデオデータ１１０を符号化するために様々な符号化方法を用いうる。例えば、コーダ１２０は前のブロックからブロックの画素値を予測し、画素ブロックに基づいて画素値と予測された画素値との間の差を符号化しうる。コーダは、様々な種類およびレベルの圧縮を実現するために用いられうるとともに、デコーダへ通信される符号化パラメータ１３２、１３８を選択しうる。これらの制御パラメータは、符号化処理でどれだけの量の欠損が生じるかを決定しえ、よって復号ビデオデータ１６０の品質を決定する。例えば、コーダ１２０は、離散コサイン変換（ＤＣＴ）プロセッサ１２２、量子化プロセッサ１２４、スライススキャンシステム１２６、およびエントロピー・コーダ１２８についての制御パラメータを有しうる。特に、コーダ１２０は、ソース・ビデオデータ１１０のブロックがどれだけのレベルに量子化されうるかを決定する量子化処理１２４についての符号化パラメータ１３２、１３４を選択しうる。量子化レベルの数が小さいほどゼロの個数が増え、よってより高い圧縮が可能になる。ゼロに変わるデータは失われるが、符号化ビデオデータ１７０は圧縮される。
【０００７】
ブロック・ベースのビデオ圧縮では、ブロッキング・アーチファクトは画素値の量子化のせいで存在しうる。ブロッキング・アーチファクトは異常に大きな画素ブロックとして復号ビデオに現れる歪みである。例えば、大きなブロックもしくは黒線または白線を有するようにビデオイメージが見えるか、一緒に平均されたブロックを有するようにイメージが見えるかもしれない。典型的に、ブロッキング・アーチファクトは復号された所定の画素ブロックの出力を囲む画素で生じうる。
【０００８】
デコーダ１４０はブロッキング・アーチファクトを軽減するためにデブロッキング・フィルタ１５０を含みうる。デコーダ内のデブロッキング・フィルタは複数の制御パラメータを有しうる。例えば、Ｈ．２６４（参照により本明細書に組み込まれる非特許文献１）のもと、デコーダ内のインループ・デブロッキング・フィルタの強度はビットストリームにおける量子化レベルを表すパラメータにより大域的に制御されうる。コーダは符号化処理の間、例えばビデオデータのスライス１３６、１４２を符号化する間に、これらの大域的なデブロッキング・フィルタ・パラメータを設定しうる。
【０００９】
デコーダ１４０は以下のように動作しうる。デコーダ１４０は符号化パラメータ１３２およびデブロッキング・フィルタ・パラメータ１３４を含む符号化ビデオデータ１７０を受信する。次いで、デコーダ１４０は、符号化パラメータ１３２、１３８およびデブロッキング・フィルタ・パラメータ１３４に従ってブロック単位に符号化ビデオデータ１７０を復号する。符号化パラメータ１３２、１３８は、エントロピー・デコーダ１４２、逆スライススキャンシステム１４４、逆量子化プロセッサ１４６、および逆ＤＣＴプロセッサ１４８について符号化ビデオデータ１７０がどのように復号されるかを決定する。
【００１０】
デブロッキング・フィルタ１５０は以下のように動作しうる。コーダ１２０はスライス・レベルにおいて、例えばスライスの平均量子化パラメータに基づいて決定されうるＨ．２６４標準のαパラメータとβパラメータとを介してデブロッキング・フィルタ１５０の強度を大域的に制御しうる。しかしながら、コーダ１２０はデブロッキング・フィルタ１５０を通じてスライス・レベルでの制御をするだけなので、スライス内の一部の画素ブロックはフィルタリングが過剰となり、スライス内の一部のブロックはフィルタリングが不足しうる。フィルタリング過剰は符号化ビデオデータ１６０を過剰にスムージングし、例えばぼやけたエッジとなり、知覚可能なビデオの品質を低減しうる。他方で、フィルタリング不足はブロッキング・アーチファクトを十分に軽減できないかもしれない。
【００１１】
よって、デブロッキング・フィルタの大域的制御に加えて、デコーダは画素ブロック内外のイメージコンテンツまたは画素値に基づいて各画素ブロックについてのデブロッキング・フィルタ強度を算出しうる。例えば、Ｈ．２６４のもと、４つのレベルのデブロッキング・フィルタ強度（ｂＳ）が画素値とブロック・エッジの位置とに基づいて算出されうる。レベル４（ｂＳ＝４）は最も強いフィルタリングを表し、レベル１（ｂＳ＝１）は最も弱いフィルタリングを表す。この構成のもと、フィルタリングは各ブロックを対象にし、これによりブロックについて正しい量のフィルタリングを提供する。しかしながら、ブロック・ベースのデブロッキング・フィルタリングはデコーダが適切な量のデブロッキング強度を算出することを必要としうる。この算出は限られた計算リソースを有する受信側装置に負荷を与えうる。これらの装置にとって、余分な計算負荷はデコーダに例えばフレームを欠落させることになり、よって視覚的品質を低減しうる。
【００１２】
さらに、受信側装置は並列に動作しうるプロセッサ、例えばＣＰＵまたはＧＰＵを含みうる。しかしながら、符号化ビデオデータ１７０におけるデータ依存性はデブロッキングが並列に処理されることを妨げうる。例えば、予測符号化などでみられるように、フィルタされる画素ブロックは符号化シーケンスにおける前の画素ブロックおよび／または後の画素ブロックからの画素値を用いて算出されうる。よって、現在の画素ブロックが依存する後の画素ブロックの処理がまだ終わっていないために並列処理が生じないかもしれない。
【先行技術文献】
【非特許文献】
【００１３】
【非特許文献１】「汎用オーディオビジュアル・サービスのためのアドバンスト・ビデオコーディング」、ＩＴＵ−Ｔ  Ｒｅｃ．Ｈ．２６４（２００７年１１月）
【発明の概要】
【発明が解決しようとする課題】
【００１４】
従って、ブロック・レベルで適用されるデブロッキングを効率的に制御するための装置および方法が必要である。さらに、デブロッキング・フィルタについての複雑な予算を同時に管理し、並列にデブロック・フィルタされうるビデオソースデータを符号化することが当分野において必要である。
【課題を解決するための手段】
【００１５】
本発明の実施形態はビデオを符号化する装置および方法を提供する。本装置および本方法はさらに、ブロック・ベースの符号化処理に従ってソース・ビデオ・シーケンスを符号化し、対象デコーダの処理能力を推定し、推定された処理能力がデブロッキング・フィルタリングを実行するのに十分であるかを判定することを提供する。十分でないならば、本装置および本方法はさらに、復号で用いられるソース・ビデオ・シーケンスの画素ブロックに対するデブロッキング・フィルタ強度を算出し、符号化ビデオデータとともに、符号化ビデオデータ信号においてデブロッキング・フィルタ強度を送信することを提供する。
【図面の簡単な説明】
【００１６】
【図１】符号化され、チャネルを渡って送信され、次いで復号ビデオデータを生成するように復号されるソース・ビデオデータの機能ブロック図を説明する図である。
【図２】スライスに分割された符号化イメージを説明する図である。
【図３Ａ】デブロッキング・フィルタ・パラメータおよび符号化パラメータを有するイメージのスライスを説明する図である。
【図３Ｂ】デブロッキング・フィルタが適用されうる画素ブロック・エッジ上の画素のタプルを説明する図である。
【図３Ｃ】スライス内の１つのブロックを説明する図である。
【図４Ａ】データ依存性を有する符号化ビデオデータのスライスを説明する図である。
【図４Ｂ】除去されたデータ依存性を説明する図である。
【図４Ｃ】隣接するデブロッキング・フィルタ間のデータ依存性を説明する図である。
【図５】リソースが限られたデコーダに対するデブロッキング処理の複雑度と視覚的品質との同時最適化のための方法の実施形態を説明する図である。
【図６】リソースが限られたデコーダに対するデブロッキング処理の複雑度と視覚的品質との同時最適化のための方法の別の実施形態を説明する図である。
【図７】図５、図６で説明される符号化方法を実装するために用いられうるコンピュータシステムの簡略化された機能ブロック図を説明する図である。
【発明を実施するための形態】
【００１７】
本発明の１つの例示の実施形態では、ビデオ・コーダは復号装置の能力に基づいてソース・ビデオデータを符号化しうる。特定の種類の復号装置について、符号化装置は視覚的品質を劣化させずにブロック・ベースのデブロッキング・フィルタリング処理を実行するための計算リソースを復号装置が有するかを判定しうる。復号装置が十分なリソースを有しない場合に、符号化装置はデコーダに代わってブロック・ベースのフィルタリング強度を推定し、ビットストリーム内にデブロッキング・フィルタ強度を符号化しうる。従って、デコーダはデブロッキング・フィルタ強度を推定する必要なく、ブロック・ベースのデブロッキング・フィルタリングを実行しうる。
【００１８】
本発明の別の実施形態では、コーダはデコーダの能力に基づいて画素ブロックのサイズを変更しうる。予測符号化では、画素は画素ブロックに基づいて変換されうる（かブロックを変換しうる）。ブロック・アーチファクトはこれらの画素ブロックのエッジに現れる傾向があるため、デブロッキング・フィルタはこれらの画素ブロックのエッジ上に適用されうる。画素ブロックが小さいほど、高い処理コストでのデブロッキング・フィルタリング後に高い表示品質を生み出しうる。他方で、デブロッキング・フィルタについての画素ブロックが大きいほど、低い処理品質という犠牲のもとで、少ない処理が要求されうる。コーダはデコーダの能力に基づいて画素ブロック・サイズを決定し、適切なレベルのブロック・サイズで符号化しうる。
【００１９】
さらに、本発明の１つの実施形態では、コーダはまた、並列処理についてのデコーダの能力を判定しうる。デコーダが並列コンピューティングを可能であるならば、コーダは並列処理についてのデコーダの能力を最大限利用するために所定のデブロッキング・フィルタリング依存性を除去しうる。
【００２０】
図２はスライスに分割される符号化イメージ２１０を説明する。イメージ２１０は複数のスライス２５０へ分割されうる。スライス２５０は例えばＨ．２６４のもとでは１６×１６画素である画素のマクロブロック（不図示）のシーケンスを含みうる。マクロブロックは更に画素ブロック（例えば４×４画素または８×８画素）のアレイを含みうる。ブロック・レベルでデブロッキング・フィルタ強度を制御することが本発明の１つの目的である。
【００２１】
図３Ａはマクロブロックと画素ブロックとを含むスライスを説明する。スライスは（例えば１６×１６画素の）マクロブロック３１０を含んでもよく、マクロブロック３１０はさらに（例えば８×８画素または４×４画素の）画素ブロックを含んでもよい。隣接するマクロブロックはマクロブロック・エッジにより分離され、隣接する画素ブロックは画素ブロック・エッジにより分離されうる。図３Ａに示されるように、マクロブロックの境界において、画素ブロック・エッジはマクロブロック・エッジに重なりうる。
【００２２】
図３Ｂはデブロッキング・フィルタが適用されうる画素ブロック・エッジをまたがる複数の画素を表現するための表記を説明する。画素ブロックは８×８または４×４でありうる。よって、デブロッキング・フィルタは水平または垂直の、例えば４画素または８画素を基礎とする１方向フィルタでありうる。図３Ｂの例示の説明は第１画素ブロック内に画素ｐ0…ｐ3を含み、第２画素ブロックにｑ0…ｑ3を含む。デブロッキング・フィルタはピクチャ・フレームの各コンポーネント平面、例えばＨ．２６４のもとで輝度および２つの色度に個別に適用されうる。
【００２３】
デブロッキング・フィルタのパラメータの一部はコーダ側で決定されうる。例えば、デブロッキング・フィルタ・パラメータ３２０は画素スライスに大域的に適用されうるＨ．２６４標準におけるαパラメータおよびβパラメータを含みうる。Ｈ．２６４のコーダは一般的にスライス内のすべてのマクロブロックに適用されうるαパラメータおよびβパラメータを算出する。これらの大域的パラメータ３２０は、スライスについてのその他の制御パラメータとともにスライスについて集中的に記憶されうる。
【００２４】
各画素ブロック・エッジについて、デコーダは画素ブロック・エッジに関するデブロッキング・フィルタ強度を算出しうる。例えば、Ｈ．２６４のもとで、デコーダは、例えばｐ0とｑ0とが異なるマクロブロックに含まれるかどうか、スライス・タイプ、またはイントラ・マクロブロック予測モードなどを含む複数の要因に基づいて４つのレベルのうちの１つに（Ｈ．２６４ではｂＳと呼ばれる）デブロッキング強度を推定しうる。しかしながら、デコーダが限られた処理リソースのみを有する場合に、デブロッキング・フィルタ強度の算出はデコーダに過負荷を与えうる。
【００２５】
本発明の１つの実施形態では、（例えば限られたリソース装置の既知のリストに対してデコーダ装置を比較することによって）デコーダの限られた処理能力を判定する際に、コーダはデコーダの代わりに画素ブロック・エッジについてのデブロッキング・フィルタ強度を算出しうる。コーダは画素ブロック・エッジを形成する画素ブロックに基づいてデブロッキング・フィルタ強度を算出しうる。図３Ａを参照して、コーダは各画素ブロックについて、デブロッキング強度を含むデブロッキング・パラメータを符号化パラメータ３３０．１〜３３０．９とともに符号化しうる。１つの例示の実施形態では、コーダはまず、例えばＨ．２６４準拠のビットストリームにビデオソースを符号化しうる。カスタム・コーダはデブロッキング・パラメータ、例えばＨ．２６４におけるデブロッキング・フィルタ強度（ｂＳ）を推定しうる。図３Ｃを参照して、これらのデブロッキング・フィルタ・パラメータはここでも画素ブロックについて符号化パラメータ３３０．５とともに符号化され、受信側においてデコーダへ送信されうる。
【００２６】
図３Ｃは図３Ａのスライスの１つのブロック３４０．５を説明する。ブロック３４０．５はデブロッキング・フィルタ・パラメータ３２０を含みうるスライス３１０の一部でありうる。ブロック３４０．５はまた、符号化パラメータ３３０．５を含んでもよく、符号化パラメータ３３０．５は使用される量子化の粗さ、ブロックにより参照される参照フレームの数、および使用される符号化係数の数を含みうる。さらに、ブロック３４０．４は他のブロックに基づいて予測符号化されていてもよい。ブロッキング・フィルタ・パラメータ３２０および符号化パラメータ３３０．５は、ブロック３４０．５に適用されるデブロッキング・フィルタ強度を決定するためにデコーダ３５０へ送信されうる。
【００２７】
図４Ａはデータ依存性４２０を有する符号化ビデオデータのスライス４１０を説明し、図４Ｂは除去されたデータ依存性４２０を説明する。図４Ａは符号化後のソース・ビデオデータのスライス４１０を説明する。ブロック４００．２とブロック４００．３とはそれぞれブロック４００．１とブロック４００．２との一部から予測されていてもよい。ブロック４００．２、４００．３の予測符号化のせいで、デコーダにおけるデブロッキング・フィルタはブロック４２０．２がデブロックされるまでブロック４００．３にデブロッキングを適用できず、ブロック４００．１がデブロックされるまでブロック４００．２にデブロッキングを適用できない。デコーダの能力の判定後に、コーダはブロック４００．２、４００．３に適用される符号化の種類を変更しうる。従って、所定の状況のもとで、ブロック４００．２、４００．３を予測符号化するよりも、ブロック４００．２、４００．３内の画素にそれぞれ基づいてそれらをイントラ符号化する方が望ましいかもしれない。図４Ｂはコーダがブロック４００．２、４００．３について符号化方式を変更した後のスライス４１０を説明する。ブロック４００．１〜４００．４がデコーダにおいて並列にデブロックされうるように依存性が除去されている。
【００２８】
データ依存性はまた、デブロック・フィルタの長さが画素ブロック・サイズの半分よりも長い場合に発生しうる。図４Ｃを参照して、４×４画素ブロックは左側のエッジＬと右側のエッジＲとを有しうる。デブロッキング・フィルタＬはエッジＬをフィルタするために用いられてもよく、デブロッキング・フィルタＲはエッジＲをフィルタするために用いられてもよい。デブロッキング・フィルタの長さがブロック・サイズの半分よりも長い場合に、２つの隣接するエッジについての２つのフィルタ（例えばフィルタＬとフィルタＲ）は互いに重なりうる。よって、フィルタＬの計算はフィルタＲの結果に依存するかも知れず、逆も成り立つ。この種類のフィルタリング依存性を除去するために、１つの実施形態では、コーダはデブロッキング・フィルタ重畳問題を回避するために、より大きなマクロブロック・サイズを用いることを選択しうる。例えば、デブロッキング・フィルタ・サイズが４×４画素に対して３タップ長であるならば、デブロッキング・フィルタ重畳問題を回避するためにコーダは代わりに８×８のような、より大きなマクロブロックを使用することを選択しうる。
【００２９】
図５はリソースが限られたデコーダ装置に対するデブロッキング処理の複雑度と視覚的品質との同時最適化に関する実施形態を説明する。この実施形態はコーダ装置５０４、デコーダ５２４、およびコーダとデコーダとの間でデータを送信するための通信リンク５２２を含みうる。異なる実施形態では、コーダおよびデコーダはハードウェアで実施されうる。例えば、デコーダはビデオの符号化および復号のための特殊用途チップセットを有する装置でありうる。コーダおよびデコーダはまた、汎用プロセッサ上で動作するソフトウェアのコーダまたはデコーダとして実施されうる。コーダおよびデコーダはまた、ハードウェアのデコーダを伴うソフトウェアのコーダ（またはその逆）のようなソフトウェアとハードウェアとの混合として実施されうる。通信リンクは有線であってもよいし、無線であってもよい。符号化ビデオはメモリ記憶装置や光学ディスクのような記憶媒体を介してデコーダへ送信されてもよい。
【００３０】
１つの実施形態では、ソース・ビデオ５０２はデコーダ５２４に対して符号化されるようにビデオ・コーダ５０４へ提供されうる。ソース・ビデオの受信に応答して、コーダは対象とするデコーダの知識を取得しうる。デコーダにおける処理リソースは例えばデコーダにおいて利用可能な計算能力に関連してもよく、計算能力はプロセッサ（ＣＰＵおよびＧＰＵ）のスピードおよびメモリ、または並列計算に利用可能なプロセッサ数を含む。１つの実施形態では、デコーダにおける処理リソースは、例えば個別の種類のハードウェア装置との識別情報マッチングを介して、デコーダ装置の種類に基づいて５０６で推定されうる。相異なる装置モデルはそれに従って相異なる識別番号を有しうる。別の例示の実施形態では、コーダ装置はプロセッサのモデルとプロセッサ数とを含むデコーダ・ハードウェア・リソースのサンプリングに基づいて５０６でデコーダ能力を推定しうる。コーダ装置は、事前に策定された表に対して、利用可能なハードウェアを比較することによって推定を行いうる。更に別の例示の実施形態では、コーダ装置は既知のデコーダ装置に関する事前に編集されたリストまたは表を有しうる。その後、コーダ装置は特定の種類のデコーダに基づいてビデオ符号化をカスタマイズしうる。
【００３１】
５０８で、デコーダの情報に基づいて、コーダ装置はデコーダがデブロッキング・フィルタリングのために十分なリソースを有しているかの判定を行いうる。この判定を行う際に、コーダはまた、復号ビデオの表示品質を考慮に入れうる。例えば、低解像度の表示装置、例えばハンドヘルド装置は少ないデブロッキング・フィルタリングを必要とし、よってデコーダから少ないリソースを必要としうる。他方で、高解像度の表示装置、例えばＨＤモニタは多くのデブロッキング・フィルタリングを必要とし、よってデコーダから多くのリソースを必要としうる。復号ビデオの表示品質はまた、デコーダにおけるフレーム欠落レートに関連しうる。デブロッキング・フィルタリングは、デコーダが表示からフレームを欠落する必要がありうるほど多くの計算リソースを必要としうる。特定のハードウェア構成についてのフレーム欠落レートはハードウェア上で様々なデブロッキング・フィルタを試すことによって事前に決定されうる。従って、デコーダ・リソースが限られているかどうかの判定はデコーダのハードウェア構成とビデオの期待される表示品質とに基づく。別の例示の実施形態では、決定はその他にソース・ビデオそのものの複雑度に依存しうる。
【００３２】
デブロッキング・フィルタリングと期待される品質での復号ビデオの表示とのために十分なリソースをデコーダが有するとコーダ装置が判定するならば、コーダ装置は５１８でデフォルトの符号化ポリシーを用いてソース・ビデオを符号化し、５２０で通信リンク５２２を介してデコーダへ符号化ビデオを送信しうる。デフォルトの符号化ポリシーは最も効率的な符号化、例えば最もコンパクトなビデオ・ビットストリームを実現するように設計されうる。
【００３３】
デコーダがデブロッキング・フィルタリングのためのリソースが限られた装置であることをコーダ装置が５０８で判定するならば、コーダ装置はデコーダにおいて利用可能なリソースに基づいてソース・ビデオの符号化ポリシーをカスタマイズしうる。符号化ポリシーは調整可能なパラメータまたは要因を含みうる。パラメータまたは要因は、変換ブロック・サイズ、インター・マクロブロックとイントラ・マクロブロックとの間のトレードオフ、符号化パラメータ数、マクロブロックｑｐ、およびＱ行列を含むがこれらに限定されない。マクロブロックのグループについてこれらの要因を調整することによって、デブロッキング・フィルタリングの複雑度のレベルと視覚的品質とは同時最適化されうる。
【００３４】
１つの例示の実施形態では、５１０で、コーダ装置は符号化ビデオ・ビットストリーム内の画素ブロックのサイズを決定しうる。図３Ａに関連して上述されたように、画素ブロックのエッジはデブロッキング・フィルタリングがどこに適用されうるかを判定しうる。画素ブロックのサイズが小さいほど、デコーダはデブロッキング・フィルタリングためにより多くのリソースを用いうる。画素ブロックのサイズが大きいほど、デコーダはデブロッキング・フィルタリングのために少ないリソースを用いうる。その結果、デコーダがデブロッキング・フィルタリングのために限られたリソースを有するとコーダ装置が判定した場合に、コーダ装置はソース・ビデオを符号化する際に用いられる画素ブロックのサイズを大きくしうる。１つの例示の実施形態では、コーダ装置は画素ブロックの平均サイズを目標値まで大きくしうる。別の例示の実施形態では、コーダ装置は閾値、例えば４×４に等しくなるかこれよりも大きくなるように画素ブロックのサイズを制御しうる。
【００３５】
１つの実施形態では、５１２で、コーダ装置はデコーダにおいて利用可能なリソースに基づいて符号ビデオ・ビットストリームにおけるブロック依存性の量を決定しうる。図４Ｃに関連して上述されたように、２つの隣接するエッジについてのデブロッキング・フィルタが互いに重なる場合に、１つのエッジにおけるデブロッキング・フィルタリングはもう１つのデブロッキング・フィルタリングに依存しうる。このようなものとして、これらの依存するエッジの一部についてのデブロッキング・フィルタリングは、依存されたエッジの処理が終わるまで発生しないだろう。このことはデブロッキング・フィルタリングの並列処理を妨げうる。従って、並列計算が可能なハードウェア、例えば複数プロセッサまたは複数コアＣＰＵ／ＧＰＵを含むデコーダについて、隣接するエッジ間の依存性がなくなるように、コーダ装置はマクロブロックのサイズを変更しうる。
【００３６】
１つの実施形態では、５１４で、デブロッキング・フィルタ強度を算出することに対して限られたリソースをデコーダが有しうることが判定されると、コーダ装置はデコーダの代わりにデブロッキング・フィルタ強度（例えば、Ｈ．２６４のもとではｂＳ）を算出しうる。図３Ａ〜３Ｃに関連して上述されたように、デブロッキング・フィルタ強度は画素ブロックの符号化とともに同時に算出されうる。例えば、コーダはソース・ビデオを符号化し、符号化パラメータに基づいてデブロッキング・フィルタ強度を算出しうる。例えばＨ．２６４のもとでデブロッキング・フィルタ強度に影響を与えうる符号化パラメータは、ｐ0およびｑ0の位置（図３Ａを参照して、画素ブロック・エッジがマクロブロック・エッジでもあるかどうか）やスライスの符号化タイプ（例えばＨ．２６４のもとでのスライス・タイプ）を含みうる。デブロッキング・フィルタ強度は追加の情報としてデコーダへ個別に送信されてもよいし、これに代えて他のデブロッキング・フィルタ・パラメータ３２０と一緒にデコーダへ送信されてもよい。
【００３７】
図６はリソースが限られたデコーダ装置に対するデブロッキング処理の複雑度と視覚的品質との同時最適化のための別の例示の実施形態を説明する。６０１で、エンコーダはソース・ビデオのイメージフレームを受信する。６０２で、イメージフレームはさらに画素スライスへ分割されうる。６０３で、画素スライスについてのデブロッキング・フィルタのパラメータが決定されうる。これらのパラメータは画素スライス内のすべての画素に大域的に影響を与えうる。６０４で、最適デブロッキングがスライス内の特定の領域について決定されうる。スライス内の領域の決定は、エッジまたはイメージ内のオブジェクトを検出することと、スライスの様々な部分へどれだけ多くのデブロッキング・フィルタリングが適用されるべきかを推定することを含みうる。例えば、シーンの背景の壁が低いデブロッキングだけを必要とするか、全くデブロッキングを必要としなくてもよいと判定しうる。
【００３８】
６０５で、スライス内の画素ブロックの特性が、デブロッキング品質の最適化とデブロッキング・フィルタの複雑度の最小化との少なくとも一方のために調整されうる。一般に、デブロッキング・フィルタはブロックの特性（および画素スライス全体についてのパラメータ集合）に基づいて、適用されるデブロッキングの量に関するデフォルトの仮定を行う。最適なデブロッキングおよび複雑度を実現するために多くの要因が調整されうる。１つの例示の実施形態では、隣接するマクロブロックの種類（Ｉタイプ、Ｐタイプ、またはＢタイプ）が品質と複雑度との最適なトレードオフのために調整されうる。例えば典型的に、Ｉブロックはインター符号化ブロックよりも強いデブロッキング・フィルタリングを受けうる。ブロックについてのデブロッキング強度を増やすために、イントラ符号化マクロブロック（Ｍｂｓ）が用いられうる。別の例示の実施形態では、デブロッキング・フィルタ強度を調整するために符号化係数の数が用いられうる。マクロブロックの係数を符号化する方法はデブロッキング・フィルタ強度を増やしてもよいし減らしてもよい（し、オンまたはオフにさえしてもよい）。例えば、Ｈ．２６４のもとで２つの隣接するインター符号化マクロブロックについて係数が符号化されない場合に、デブロッキング・フィルタは符号化される隣接したマクロブロックのいずれかの一部の係数を有するものよりも弱くなりうる。よって、２つの隣接するマクロブロックについての符号化係数の数を制御することによって、デブロッキングの強度および複雑度が最適化されうる。デブロッキング・フィルタの強度および複雑度を最適化するために、参照ピクチャ、参照フレーム数、および相異なる動きベクトル値を含むがこれらに限定されないその他の要因も調整されうる。
【００３９】
上述された方法は、デコーダのデブロッキング・フィルタにより用いられる複雑度を追跡するために状態マシンを用いうる。デコーダ内にバッファが存在し、且つ以前のスライスは現在のスライスをデブロックするためにパワー、ＣＰＵまたはＧＰＵのサイクルまたは時間を増加しうるため、状態マシンは以前のブロックを追跡しうる。全体的なデブロッキング・パワー／リソースは通常は制限され、現在のフレームのデブロックが開始される際のＭｂ／スライス／ピクチャのグループの複雑度と現在の状態とに通常は関連する。対象デコーダにおけるデブロッキング・フィルタ・リソースが予期されたデブロッキングを実行するために不十分である場合に、例えばフレーム欠落、ドリフティングなどにより準最適な復号性能が実現されるだろう。エンコーダは任意の時点のデブロック器の状態を追跡するためにデブロッキング・フィルタについての複雑度予算モデルを有しうる。エンコーダは初期状態の情報とＭｂグループ／スライス／ピクチャの複雑度とを組み合わせることによってデブロッキング・フィルタの状態を追跡するだろう。よって、すべての必要な作業を完了するために十分なリソースをデブロッキング・フィルタが有しうることを保証するだろう。その他の技術は、デコーダのデブロッキング・フィルタが過度の負担を受けないことを保証するためのエンコーダの複雑度の制御の一部に含まれうる。
【００４０】
５０６で、画素スライスは複数の画素ブロックに分割されてもよく、対象デコーダにおけるデブロッキング・フィルタリングの最適な品質および複雑度を達成するために画素ブロックのサイズおよび個数が調整されうる。典型的な実装では、画素ブロックのサイズが小さいほどデブロッキング・フィルタはより複雑になりうる。
【００４１】
本発明の１つの実施形態では、対象デコーダにおける最適化されたデブロッキング・フィルタリングのために量子化パラメータも調整されうる。例えば、量子化パラメータ（ｑ）も、対象デコーダにおけるデブロッキング・フィルタの強度を決定しうる。量子化パラメータは量子化係数の行列（Ｑ行列）にスカラを適用することによって調整されうる。例えば、ｑ＝３０は強いデブロッキング強度を意味しうる。この量子化パラメータについて、本発明の方法および装置は、スライス内の領域がデブロックされるべきでない（またはｐ＝３０ほど強くない）、もしくはｑ＝３０に対応するデブロッキング強度に対して対象デコーダにおける能力が十分でないと判定しうる。よって、エンコーダは量子化パラメータを減らしてもよく（例えばｑ＝６）、それに従ってデブロッキング強度を減らしてもよい。それに従って有効なｑ＝３０を実現するためにＱ行列が調整されうる。
【００４２】
６０７で、画素スライス全体について全体的な最適化パラメータが決定されうる。これらのパラメータはスライスについて用いられる対象デコーダのデブロッキング・フィルタについてのαおよびβを含みうる。
【００４３】
図７はコンピュータシステム７００の簡略化された機能ブロック図である。本発明のコーダおよびデコーダはハードウェア、ソフトウェア、またはそれらの何らかの組み合わせにおいて実施されうる。コーダおよび／またはデコーダはコンピュータシステム７００により読み取られうるコンピュータで読み取り可能な記録媒体に符号化されうる。例えば、本発明のコーダおよび／またはデコーダはコンピュータシステムを用いて実施されうる。
【００４４】
図７に示されるように、コンピュータシステム７００は、プロセッサ７０２、メモリシステム７０４、および通信「ファブリック」により通信する１つ以上の入出力（Ｉ／Ｏ）装置７０６を含む。通信ファブリックは様々な方法で実施されえ、図７に示されるように１つ以上のコンピュータ・バス７０８、７１０および／またはブリッジ装置７１２を含みうる。Ｉ／Ｏ装置７０６はネットワーク・アダプタおよび／または大容量記憶装置を含むことができ、これらからコンピュータシステム７００がデコーダとして動作する場合にプロセッサ７０２により復号するための圧縮ビデオデータをコンピュータシステム７００が受信できる。これに代えて、コンピュータシステム７００がコーダとして動作する場合に、コンピュータシステム７００はプロセッサ７０２により符号化するためのソース・ビデオデータを受信できる。
【００４５】
本発明とその様々な側面とのその他の変形および修正の実施が存在することが理解されるべきであり、このことは当業者に容易に理解されえ、本発明は本明細書で説明される特定の実施形態に限定されないことが理解されるだろう。上述の特徴および実施形態は組み合されうる。従って、開示され主張される根底にある基本原理の範囲に含まれる任意且つすべての修正、改変、組み合わせ、または均等物が網羅されることが意図される。
【図１】
2011523300.tif 000003
【図３Ｂ】
2011523300.tif 000004
【図４Ａ】
2011523300.tif 000005
【図４Ｂ】
2011523300.tif 000006
【図４Ｃ】
2011523300.tif 000007
【図５】
2011523300.tif 000008
【図６】
2011523300.tif 000009
【図７】
2011523300.tif 000010
【図２】
2011523300.tif 000011
【図３Ａ】
2011523300.tif 000012
【図３Ｃ】
2011523300.tif 000013
【国際調査報告】
2011523300.tif 000014
2011523300.tif 000015
2011523300.tif 000016
2011523300.tif 000017
2011523300.tif 000018
2011523300.tif 000019