特許第6372866号(P6372866)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日本テキサス・インスツルメンツ株式会社の特許一覧 ▶ テキサス インスツルメンツ インコーポレイテッドの特許一覧

特許6372866ビデオ符号化における符号化ユニット量子化パラメータ
<>
  • 特許6372866-ビデオ符号化における符号化ユニット量子化パラメータ 図000002
  • 特許6372866-ビデオ符号化における符号化ユニット量子化パラメータ 図000003
  • 特許6372866-ビデオ符号化における符号化ユニット量子化パラメータ 図000004
  • 特許6372866-ビデオ符号化における符号化ユニット量子化パラメータ 図000005
  • 特許6372866-ビデオ符号化における符号化ユニット量子化パラメータ 図000006
  • 特許6372866-ビデオ符号化における符号化ユニット量子化パラメータ 図000007
  • 特許6372866-ビデオ符号化における符号化ユニット量子化パラメータ 図000008
  • 特許6372866-ビデオ符号化における符号化ユニット量子化パラメータ 図000009
  • 特許6372866-ビデオ符号化における符号化ユニット量子化パラメータ 図000010
  • 特許6372866-ビデオ符号化における符号化ユニット量子化パラメータ 図000011
  • 特許6372866-ビデオ符号化における符号化ユニット量子化パラメータ 図000012
  • 特許6372866-ビデオ符号化における符号化ユニット量子化パラメータ 図000013
  • 特許6372866-ビデオ符号化における符号化ユニット量子化パラメータ 図000014
  • 特許6372866-ビデオ符号化における符号化ユニット量子化パラメータ 図000015
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6372866
(24)【登録日】2018年7月27日
(45)【発行日】2018年8月15日
(54)【発明の名称】ビデオ符号化における符号化ユニット量子化パラメータ
(51)【国際特許分類】
   H04N 19/463 20140101AFI20180806BHJP
   H04N 19/126 20140101ALI20180806BHJP
   H04N 19/176 20140101ALI20180806BHJP
   H04N 19/196 20140101ALI20180806BHJP
【FI】
   H04N19/463
   H04N19/126
   H04N19/176
   H04N19/196
【請求項の数】8
【全頁数】22
(21)【出願番号】特願2016-90166(P2016-90166)
(22)【出願日】2016年4月28日
(62)【分割の表示】特願2013-509218(P2013-509218)の分割
【原出願日】2011年5月4日
(65)【公開番号】特開2016-167862(P2016-167862A)
(43)【公開日】2016年9月15日
【審査請求日】2016年5月20日
(31)【優先権主張番号】61/431,889
(32)【優先日】2011年1月12日
(33)【優先権主張国】US
(31)【優先権主張番号】61/331,216
(32)【優先日】2010年5月4日
(33)【優先権主張国】US
(31)【優先権主張番号】61/469,518
(32)【優先日】2011年3月30日
(33)【優先権主張国】US
(31)【優先権主張番号】13/093,715
(32)【優先日】2011年4月25日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】390020248
【氏名又は名称】日本テキサス・インスツルメンツ株式会社
(73)【特許権者】
【識別番号】507107291
【氏名又は名称】テキサス インスツルメンツ インコーポレイテッド
(74)【上記1名の代理人】
【識別番号】100098497
【弁理士】
【氏名又は名称】片寄 恭三
(72)【発明者】
【氏名】ミンフアル ジョウ
(72)【発明者】
【氏名】メフメト ウムット デミルチン
(72)【発明者】
【氏名】マドフカール ブダガヴィ
【審査官】 堀井 啓明
(56)【参考文献】
【文献】 特表2013−542689(JP,A)
【文献】 国際公開第2012/042890(WO,A1)
【文献】 Kazushi Sato W12F 1-11-1 GCO Osaki, Shinagawa-ku, Tokyo 141-0032 Japan,Proposal on Large Block Structure and Quantization[online], JCTVC-C JCTVC-C167,インターネット<URL:http://phenix.it-sudparis.eu/jct/doc_end_user/documents/3_Guangzhou/wg11/JCTVC-C167-m18193-v1-JCTVC-C167.zip>
(58)【調査した分野】(Int.Cl.,DB名)
H04N19/00−19/98
(57)【特許請求の範囲】
【請求項1】
ビデオ処理の方法であって、
ピクチャのための符号化されたビットストリームを受け取ることと、
前記符号化されたビットストリームを復号化し、ピクチャレベルで前記ビットストリーム内で信号送信されたパラメータから、複数の重複しないブロックの第1の重複しないブロックに対して第1の量子化パラメータが決定される符号化ユニットの最小サイズを決定することと、
複数の再構成された変換された係数を形成するために、前記第1の量子化パラメータを含む複数の量子化パラメータを用いて、複数の量子化された変換された係数に逆量子化動作を行なうことと、
を含む、方法。
【請求項2】
請求項1に記載の方法であって、
前記ビデオ処理が、1つ又は複数のプロセッサ内に実装されるソフトウエアプログラムを含む信号処理ユニットに実装され、前記ソフトウエアプログラムが、メモリ内に格納されており、前記1つ又は複数のプロセッサ内にロードされて実行される、方法。
【請求項3】
ビデオ復号化の方法であって、
ピクチャのための符号化されたビットストリームを受け取ることと、
前記符号化されたビットストリームを復号化し、ピクチャレベルで前記ビットストリーム内で信号送信されたパラメータから、複数の重複しないブロックの第1の重複しないブロックに対して第1の量子化パラメータが決定される符号化ユニットの第1の最小サイズと、前記複数の重複しないブロックの第2の重複しないブロックに対して第2の量子化パラメータが決定される符号化ユニットの第2の最小サイズとを決定することと、
複数の再構成された変換された係数を形成するために、前記第1の量子化パラメータと前記第2の量子化パラメータとを含む複数の量子化パラメータを用いて、複数の量子化された変換された係数に逆量子化動作を行なうことと、
を含む、方法。
【請求項4】
請求項3に記載の方法であって、
前記ビデオ処理が、1つ又は複数のプロセッサ内に実装されるソフトウエアプログラムを含む信号処理ユニットに実装され、前記ソフトウエアプログラムが、メモリ内に格納されており、前記1つ又は複数のプロセッサ内にロードされて実行される、方法。
【請求項5】
ビデオ処理システムであって、
ビデオデコーダ構成要素であって、
ピクチャのための符号化されたビットストリームを受け取り、
前記符号化されたビットストリームを復号化し、ピクチャレベルで前記ビットストリーム内で信号送信されたパラメータから、複数の重複しないブロックの第1の重複しないブロックに対して第1の量子化パラメータが決定される符号化ユニットの最小サイズを決定する、
ように構成される、前記ビデオデコーダ構成要素と、
前記ビデオデコーダ構成要素に結合され、複数の再構成された変換された係数を形成するために、前記第1の量子化パラメータを含む複数の量子化パラメータを用いて、複数の量子化された変換された係数に逆量子化動作を行なうように構成される、逆量子化構成要素と、
を含む、システム。
【請求項6】
請求項5に記載のビデオ処理システムであって、
前記ビデオ処理システムが、1つ又は複数のプロセッサ内に実装されるソフトウエアプログラムを含む信号処理ユニットに実装され、前記ソフトウエアプログラムが、メモリ内に格納されており、前記1つ又は複数のプロセッサ内にロードされて実行される、システム。
【請求項7】
ビデオ復号化システムであって、
ビデオデコーダ構成要素であって、
ピクチャのための符号化されたビットストリームを受け取り、
前記符号化されたビットストリームを復号化し、ピクチャレベルで前記ビットストリーム内で信号送信されたパラメータから、複数の重複しないブロックの第1の重複しないブロックに対して第1の量子化パラメータが決定される符号化ユニットの第1の最小サイズと、前記複数の重複しないブロックの第2の重複しないブロックに対して第2の量子化パラメータが決定される符号化ユニットの第2の最小サイズとを決定する、
ように構成される、前記ビデオデコーダ構成要素と、
前記ビデオデコーダ構成要素に結合される逆量子化構成要素であって、複数の再構成された変換された係数を形成するために、前記第1の量子化パラメータと前記第2の量子化パラメータとを含む複数の量子化パラメータを用いて、複数の量子化された変換された係数に逆量子化動作を行なうように構成される、前記逆量子化構成要素と、
を含む、システム。
【請求項8】
請求項7に記載のビデオ復号化システムであって、
前記ビデオ復号化システムが、1つ又は複数のプロセッサ内に実装されるソフトウエアプログラムを含む信号処理ユニットに実装され、前記ソフトウエアプログラムが、メモリ内に格納されており、前記1つ又は複数のプロセッサ内にロードされて実行される、システム。
【発明の詳細な説明】
【技術分野】
【0001】
本願は、ビデオの符号化および復号化の方法および装置に関する。
【背景技術】
【0002】
ディジタルビデオ製品に対する需要は増え続けている。ディジタルビデオアプリケーションのいくつかの例は、ビデオ通信、セキュリティおよび監視、工業オートメーション、あるいは娯楽(例えば、ディジタルビデオ(DV)、高解像度テレビ(HDTV)、衛星テレビ、セットトップボックス、インターネットビデオストリーミング、ビデオゲーム機、ディジタルカメラ、携帯電話、ビデオジュークボックス、高性能ディスプレイ、およびパーソナルビデオレコーダー)を含む。さらに、ビデオアプリケーションは、ハンドセットのより高い計算能力、バッテリー技術の進歩、および高速ワイヤレス接続の結果、ますますモバイルとなっている。
【0003】
ビデオ圧縮、すなわちビデオ符号化は、ディジタルビデオの保存および伝送を可能とするので、ディジタルビデオ製品には必須の成功要因である。一般的に、現在のビデオ符号化標準は、ビデオシーケンスを圧縮、すなわち符号化するために、ビデオシーケンスをピクセルのシーケンスブロック、すなわちマクロブロックに、予測、変換、量子化、およびエントロピー符号化を適用するビデオ圧縮技術を規定する。マクロブロックは、ビデオシーケンスのスライスまたはフレームのピクセルの16×16の矩形ブロックとして定義され、フレームは既知の時間インタバルの間キャプチャーされる完全な画像であると定義される。
【0004】
量子化パラメータ(QP)は、各マクロブロックのための量子化のステップサイズを変調するよう使用され得る。例えば、H.264/AVCにおいて、変換係数の量子化は、係数を量子化ステップサイズで除算することを含む。量子化ステップサイズは、量子化スケールとも呼ばれることがあり、0から51までの間の整数であり得るQP値に基づき標準により決定される。QP値のステップサイズは、例えば、ルックアップテーブルを用いて、および/もしくは計算上の導出によって決定され得る。
【0005】
圧縮されたビットストリームの品質及びビットレートは、主に、各マクロブロックを量子化するために選択されるQP値によって決定される。すなわち、マクロブロックを量子化するのに使用される量子化ステップサイズ(Qs)は、圧縮されたマクロブロックにどれほどの空間的ディテールが保持されるのかを調整する。Qsが小さいほど、ディテールの保持は大きく、品質が良いが、代わりにより高いビットレートという代償となる。Qsが増加するにつれ、ディテールの保持が小さくなり、ビットレートは削減されるが、増加した歪みおよび品質の低下という代償となる。
【発明の概要】
【0006】
本発明の実施例は、ビデオデコーダ(復号器)のための方法および装置に関する。方法は、ビデオデコーダにおいて符号化された最大の符号化ユニットを受け取り、ここで、符号化された最大の符号化ユニットは、符号化された符号化ユニット構造および複数の符号化された量子化パラメータを含むものであり、当該方法はさらに、符号化された符号化ユニット構造および複数の符号化された量子化パラメータに基づき符号化された最大の符号化ユニットをデコードすることを含む。
【0007】
代表的な実施例が添付の図面を参照して記載される。
【0008】
【図面の簡単な説明】
【0009】
図1図1は、ディジタルシステムのブロック図である。
【0010】
図2図2は、再帰的クワッドツリーの構造を表す。
【0011】
図3A図3Aは、ビデオエンコーダ(符号器)のブロック図である。
図3B図3Bは、ビデオエンコーダ(符号器)のブロック図である。
【0012】
図4図4は、例示的な実施例を表す。
図5図5は、例示的な実施例を表す。
図6図6は、例示的な実施例を表す。
図7図7は、例示的な実施例を表す。
図8図8は、例示的な実施例を表す。
【0013】
図9図9は、ビデオデコーダ(復号器)のブロック図を表す。
【0014】
図10図10は、ひとつの代表的な実施例を表す。
【0015】
図11図11は、代表的な方法の実施例のフローチャートを表す。
図12図12は、代表的な方法の実施例のフローチャートを表す。
【0016】
図13図13は、例示されたディジタルシステムの実施例のブロック図である。
【発明を実施するための形態】
【0017】
H.264/AVCのような現在のビデオ符号化規格では、予測、変換、量子化およびエントロピー符号化の符号化動作は、マクロブロックと呼ばれる、固定サイズの16×16ブロックに基づいて実行される。さらに、量子化パラメータは、各マクロブロックについて生成され、より大きなもしくはより小さなブロックには提供されない。例えば、高解像度ビデオに使用されるフレームサイズといった、より大きなフレームサイズにとって、ブロックベースの符号化動作のために、より大きなブロックサイズを使用することは、より優れた符号化効率を提供することが可能であり、および/もしくはデータ伝送のオーバーヘッドを低減することが可能である。例えば、フレームサイズが1280×720でありかつフレームレートが毎秒60フレームであるビデオシーケンスは、フレームサイズが176×144でありかつフレームレートが毎秒15フレームであるビデオシーケンスよりも、36倍大きく、4倍速い。16×16よりも大きなブロックサイズは、ビデオエンコーダが、前のビデオシーケンスにおける増加した空間的および/もしくは時間的冗長性の利点を持つことを可能にする。そのようなより大きなブロックサイズは、現在、高効率ビデオ符号化(High Efficiency Video Coding、HEVC)と呼ばれる新たな次世代のビデオ規格において提案されている。
【0018】
HEVCは、H.264/MPEG−4AVC(Advanced Video Coding)にとって代わるものと提案されており、現在、ISO/IECムービングピクチャエキスパートグループ(MPEG)およびITU−Tビデオ符号化エキスパートグループ(Video Coding Expert Croup、VCEG)によって設立されたビデオ符号化の共同チーム(Joint Collaboration Team on Video Coding、JCT−VC)により開発中である。
【0019】
しかしながら、増加したブロックサイズは、レート制御に悪影響を及ぼす可能性がある。すなわち、多くのレート制御技術が、仮想的な伝送バッファの利用可能な空間に応じて、ブロック毎ベースでQPを管理する。ブロックサイズの増加は、レート制御がQP値を調整し得るグラニュラリティ(Granularity)を減少させ、それゆえ、レート制御をより困難にするかもしれず、および/あるいは品質に悪影響を与えるかもしれない。さらに、QPが、ブロックサイズを増加することによって変化し得るグラニュラリティを減少させることは、ブロック内の動きに基づきQPを適合させる知覚的レート制御技術の視覚的品質性能に影響を及ぼす。
【0020】
本明細書で述べられる実施例は、例えば16×16よりも大きな、より大きなブロックサイズを有するブロックベースのビデオ符号化を提供し、単一のブロックのための多数の量子化パラメータが生成され得る。より具体的には、ピクチャ(もしくはスライス)が、最大の符号化ユニット(LCU)と呼ばれるピクセルの重複しないブロックに分割される。ここでは、「ピクチャ」という用語は、フレームまたはフレームのフィールドを指すために使用される。フレームは、既知の時間インタバルの間キャプチャーされた完全な画像である。スライスは、ピクチャ内のシーケンシャルLCUのサブセットである。LCUは、ブロックベースの符号化に使用される基本単位である。すなわち、LCUは、従来のマクロブロックのように符号化において同様の役割を果たすが、LCUは、32×32、64×64、128×128等のように、より大きいことが可能である。量子化の目的のため、LCUは、量子化パラメータ(QP)が生成され得るピクチャの最大単位である。
【0021】
符号化プロセスの一部として、例えば、レート制御基準、複雑さの考慮、レート歪みの制約等のような様々な基準が、LCUを符号化ユニット(CU)に区画化するために適用され得る。CUは、LCU内のピクセルのブロックであり、LCU内のCUは、異なるサイズとし得る。CUの区画化後、すなわちCU構造が識別された後に、QPが各CUについて生成される。それから、ブロックベースの符号化がLCUに適用され、CUを符号化する。符号化の一部として、QPが対応するCUの量子化で使用される。CU構造およびQPはまた、デコーダへの通信、すなわち、信号送信のために符号化される。
【0022】
ある実施例では、QP値は、デルタQP値として、圧縮されたビットストリームでデコーダに通信される。デルタQPを計算する技術、およびQPが信号送信される空間的グラニュラリティを制御する技術がまた提供される。幾つかの実施例では、デルタQP値を計算する1つ以上の技術が、単一のビデオシーケンスを符号化するのに使用され得る。そのような実施例では、使用される技術は、例えばシーケンス、ピクチャ、スライス、および/もしくはLCUの適切なレベルでの圧縮されたビットストリームで信号送信され得る。
【0023】
図1は、1つもしくは複数の実施例によるディジタルシステムを表す。システムは、通信チャンネル116を介して、符合化されたビデオシーケンスを送り先のディジタルシステム102へ伝送するソースディジタルシステム100を含む。ソースディジタルシステム100は、ビデオキャプチャー構成要素104、ビデオエンコーダ構成要素106およびトランスミッタ構成要素108を含む。ビデオキャプチャー構成要素104は、ビデオエンコーダ構成要素106によって符号化されるべきビデオシーケンスを提供するよう構成される。ビデオキャプチャー構成要素104は、例えば、ビデオカメラ、ビデオアーカイブ、あるいはビデオコンテンツプロバイダーからのビデオ画像であり得る。幾つかの実施例では、ビデオキャプチャー構成要素104は、ライブのビデオ、アーカイブビデオ、および/またはコンピュータで生成されたビデオのシーケンスの組み合わせのようなコンピュータグラフィックスを生じさせ得る。
【0024】
ビデオエンコーダ構成要素106は、ビデオキャプチャー構成要素104からビデオシーケンスを受け取り、かつトランスミッタ構成要素108による伝送のためにそれを符号化する。ビデオエンコーダ構成要素106は、ビデオキャプチャー構成要素104から、フレームのシーケンスとしてビデオシーケンスを受け取り、フレームをLCUに分割し、かつ、LCUのビデオデータを符号化する。ビデオエンコーダ構成要素106は、本明細書で述べられる符号化プロセス中に、LCUのための多数の量子化パラメータを生成させ符号化する、1つもしくは複数の技術を提供するよう構成され得る。ビデオエンコーダ構成要素106の実施例は、図3Aおよび図3Bを参照して下記でより詳細に説明される。
【0025】
トランスミッタ構成要素108は、符号化されたビデオデータを、通信チャンネル116を介して送信先のディジタルシステム102へ伝送する。通信チャンネル116は、任意の通信媒体とし得、もしくは、例えば、有線もしくは無線通信のメディア、ローカルエリアネットワーク、もしくは広域エリアネットワークのような、符号化されたビデオシーケンスの伝送に適した通信媒体の組み合わせであり得る。
【0026】
送信先のディジタルシステム102は、レシーバ構成要素110、ビデオデコーダ構成要素112および表示構成要素114を含む。レシーバ構成要素110は、通信チャンネル116を介して、ソースディジタルシステム100から、符号化されたビデオデータを受け取り、当該符号化されたビデオデータを、デコードのためビデオデコーダ構成要素112へ提供する。ビデオデコーダ構成要素112は、ビデオシーケンスのLCUを再構成するために、ビデオエンコーダ構成要素106によって実行される符号化プロセスを反転する。ビデオデコータ構成要素は、本明細書で述べられるようなデコードプロセス中に、LCUのための多数の量子化パラメータをデコードする、1つもしくは複数の技術を提供するよう構成され得る。ビデオデコーダ構成要素112の実施例は、図9を参照して下記により詳細に説明される。
【0027】
再構成されたビデオシーケンスは、表示構成要素114に表示される。表示構成要素114は、例えば、プラズマディスプレイ、液晶ディスプレイ(LCD)、発光ダイオード(LED)ディスプレイ等といった、任意の適切な表示装置であり得る。
【0028】
ある実施例では、ビデオストリーミング、ビデオ放送、およびビデオ電話のための双方向でのビデオシーケンスの伝送のため、ソースディジタルシステム100はまた、レシーバ構成要素およびビデオデコーダ構成要素を含むことができ、および/または送信先のディジタルシステム102は、トランスミッタ構成要素およびビデオエンコーダ構成要素を含むことができる。さらに、ビデオエンコーダ構成要素106およびビデオデコーダ構成要素112は、1つもしくは複数のビデオ圧縮規格に従って、符号化および復号化を実行し得る。ビデオエンコーダ構成要素106およびビデオデコータ構成要素112は、例えば、1つもしくは複数のディジタルシグナルプロセッサ(DSP)、マイクロプロセッサ、ディスクリートロジック、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)のような、ハードウェア、ソフトウェアおよびファームウェアの任意の適切な組み合わせで実施され得る。
【0029】
上記したように、LCUは、符号化プロセスの間、符号化ユニット(CU)に区画化され得る。記載する実施例の説明の簡略化のため、再帰的クワッドツリー構造が、LCUをCUへの区画化のために前提とされる。当業者は、他の区画化構造が使用される実施例を理解するであろう。再帰的クワッドツリー構造において、CUは正方形とし得る。従って、LCUもまた正方形である。ピクチャは、重複しないLCUに分割される。CUが正方形であるとすると、LCU内のCU構造は、フレームに適合された再帰的クワッドツリー構造であることが可能である。すなわち、CU(もしくはLCU)が区画化されるたびに、それが4つの同じサイズの正方形のブロックに分割される。さらに、所与のCUは、LCUのサイズ、およびCUが発生するLCUの階層的深さにより特徴付けられることができる。最大の階層的深さは、許容される最小のCU(SCU)のサイズによって決定される。
【0030】
図2は、LCUが128×128であると仮定され、かつSCUが8×8であると仮定される、再帰的クワッドツリー構造の一例を示す。このような仮定で、クワッドツリー構造の最大の階層的深さは5である。さらに、5つの可能なCUのサイズが許される:128×128、64×64、32×32、16×16、および8×8である。もし、LCUが64×64であると仮定され、かつSCUが8×8であると仮定される場合、最大の階層的深さは4であり、4つの可能なCUのサイズが許される:64×64、16×16、および8×8である。
【0031】
図3Aおよび図3Bは、例えば図1のビデオエンコーダ106のようなビデオエンコーダのブロック図を示し、ビデオエンコーダは、本明細書で説明されるようなLCUのための多数の量子化パラメータを生成し、符号化する、1つもしくは複数の技術を適用するように構成される。図3Aは、ビデオエンコーダの高いレベルのブロック図を示し、図3Bは、ビデオエンコーダのLCU処理構成要素342のブロック図を示す。
【0032】
図3Aに示されるように、ビデオエンコーダは、符号化制御構成要素340、LCU処理構成要素342、レート制御構成要素344、およびメモリ346を含む。入力ディジタルビデオシーケンスは、符号化制御構成要素340に提供される。メモリ346は、内部メモリ、外部メモリ、もしくはそれらの組み合わせであり得る。符号化制御構成要素340は、ビデオエンコーダの様々な動作を順序付ける。例えば、符号化制御構成要素340は、例えばIPPP、IBBPといった、高いレベルの符号化構造に基づくピクチャの符号化タイプ(I、PもしくはB)や階層的−Bを決定したり、更なる処理のためにフレームをLCUに分割したりするような、フレームレベルで実行されるべき入力ビデオシーケンスの任意の処理を実行する。LCUのサイズおよびSCUのサイズは、ビデオエンコーダの種々の実施例で異なることができる。さらに、LCUのサイズおよびSCUのサイズは、シーケンス、ピクチャ、および/またはスライスレベルで、信号送信され得る。符号化制御構成要素340はまた、レート制御構成要素344と相互に作用し、初期符号化ユニット構造および各LCUのための初期QPを決定する。
【0033】
レート制御構成要素344は、符号化制御構成要素340からLCUを受け取り、かつ種々の基準をLCUへ適用し、LCUの符号化においてLCU処理構成要素342によって使用されるべき1つもしくは複数のQPを決定する。より具体的には、レート制御構成要素344は、LCUを、種々の基準に基づき再帰的クワッドツリー構造内の種々のサイズのCUに区画化し、QPが適用されるべきグラニュラリティを決定し、その後、さらにこれ以上分割されない各CUのための、すなわち、クワッドツリーのリーフノードである各符号化ユニットのためのQPを計算する。LCUのCU構造およびQPは、符号化制御構成要素340に提供される。
【0034】
LCUの符号化中にLCUに適用されたQPは、圧縮されたビットストリームで信号送信される。圧縮されたビットストリームで信号送信される情報量を最小化するために、QPがLCUにおいて適用され得るグラニュラリティを制約することが望ましい。SCUサイズが再帰的クワッドツリー構造においてCUの最小サイズを設定することを思い起こされたい。幾つかの実施例では、最小のQP CUサイズがLCUおよびSCUサイズに加えて特定され得る。そのような実施例では、レート制御構成要素344がLCUを区画化するのに使用することのできる最小のCUは、SCUのサイズではなく、最小のQP CUのサイズによって制限される。それゆえ、最小のQP CUサイズは、SCUよりも大きなサイズに設定され得、QPが適用され得るグラニュラリティを制約する。例えば、LCUが64×64であると仮定され、かつSCUが8×8であると仮定された場合、再帰的クワッドツリー構造において許される4つの可能なCUのサイズは、64×64、32×32、16×16、および8×8である。最小のQP CUのサイズの制約がなければ、レート制御構成要素344は、8×8程度に小さいCUのためのQPを生成することができる。しかしながら、16×16の最小のQP CUのサイズが特定される場合、レート制御構成要素344は、16×16程度に小さいCUのためのQPを生成し得るが、それよりも小さいものは生成し得ない。最小のQP CUのサイズは、シーケンス、ピクチャ、スライス、および/もしくはLCUレベルで設定され得、それに応じて、圧縮されたビットストリームで信号送信される。
【0035】
図4は、LCUのCU区画化の一例を示す。この例において、LCUは、4つのCU、A、B、CおよびDに区画化される。CU Aは4つのCU、A1、A2、A3およびA4にさらに区画化され、CU Dは4つのCU、D1、D2、D3およびD4にさらに区画化される。CU A2およびD1はまた、4つのCU、それぞれ、A21、A22、A23およびA24と、D11、D12、D13およびD14へさらに区画化される。レート制御構成要素344は、さらに分割されないCUの各々、すなわち、A1、A21、A22、A23、A24、A3、A4、B、C、D11、D12、D13、D14、D2、D3およびD4について、QPを計算する。
【0036】
再び図3Aを参照すると、任意の適切な基準が、例えば、知覚的レート制御の制約、ターゲットビットレートの制約、レート歪み最適化の制約、および複雑さの考慮の、単独もしくは組み合わせなどで、レート制御構成要素344によって使用され得る。例えば、レート制御構成要素344は、CU区画化、およびLCUの空間的特徴に少なくとも部分的に基づく対応するQPを決定し得る。周知のように、ピクチャの領域が滑らかである場合、量子化エラーは、人の目により明らかに見えるが、領域がビジーである(例えば、高テクスチャ)場合、あらゆる量子化エラーは可視ではないであろう。レート制御構成要素344は、LCUにおけるアクティビティを決定し、その後、アクティビティの位置/レベルに基づきLCUをCUサイズに区画化し得る。イメージの領域のアクティビティ測定は、例えば、エッジ情報、テクスチャ情報等に基づいて決定され得る。目標は、量子化エラーを減らすため、フラット領域(アクティビティがほとんどない領域)に、より低いQP値を割り当てることと、量子化エラーが隠されるようにビジー領域(高いアクティビティを有する領域)に、より高いQP値を割り当てることであろう。
【0037】
例えば、上半分が空で、下半分が木々である画像を想定する。画像の上半分では、ほとんどの領域が全体的にフラットであり、それゆえ、低いQP値が使用されるべきである。LCUが空のみであり得るので、画像のその部分の全体のLCUについて1つのQP値を使用することが可能となり得る。画像の下半分では、大部分の領域がビジーであり、それゆえ、より高いQP値が使用され得る。さらに、LCUが木々のみを有し得るので、その領域の全体のLCUのために1つのQP値を使用することが可能である。
【0038】
しかしながら、LCUが空と木々の双方を有する遷移領域がある。そのようなLCUでは、空の領域と木々の領域があり得る。そのようなLCUは、アクティビティに基づきサイズが決められたCUに区画化され得る(クワッドツリーの符号化構造の制限内で)。例えば、LCUは4つのCU、A、B、CおよびDに分割され、その後、各CUのエリアのアクティビティレベルが分析され得る。CU、例えばCU Aが、広汎に変化するアクティビティレベルの領域を有している場合、QPが適用されるエリアのアクティビティレベルの変動を減少させるために、CU Aは、4つのCU、A1、A2、A3およびA4にさらに分割され得る。これらの4つのCUはまた、アクティビティに基づき4つのCUにさらに分割され得る。CUの区画化が完了すると、その後、各CUについてQP値が計算され得る。
【0039】
符号化制御構成要素340は、初期LCU CU構造に関する情報と、レート制御構成要素344によって決定されたQPとを、必要に応じて、LCU処理構成要素342の様々な構成要素へ提供する。例えば、符号化制御構成要素は、適切な地点で圧縮されたビデオストリームに含めるために、LCUとSCUのサイズをエントロピーエンコーダ構成要素340へ提供し得る。他の例では、符号化制御構成要素340は、量子化構成要素306による使用のため量子化パラメータアレイを生成し得、かつ量子化パラメータアレイをメモリ346に記憶し得る。量子化パラメータアレイのサイズは、LCUのCUの最大の可能な数に基づき決定され得る。例えば、SCUのサイズが8×8であり、LCUのサイズが64×64であると仮定する。それゆえ、LCUにおけるCUの最大の可能な数は64である。量子化パラメータアレイは、これらの64の可能な符号化ユニットの各々のQPを保持するサイズにされ、すなわち、8×8アレイである。レート制御構成要素344によって計算されたQPは、CU構造に基づき、このアレイにマップされる。量子化構成要素306を参照して本明細書でより詳細に説明されるように、LCUにおける任意のサイズのCUのQPが、LCUにおけるCUの上方左手コーナーの座標を使用して、このアレイ内に位置され得る。
【0040】
図5は、CU構造500に基づき、量子化パラメータアレイ502へQPをマッピングする一例を示す。CU構造は、64×64のLCUと仮定する。量子化パラメータアレイ502では、アレイセル内の例えば、A1、C、D11等のCU識別子の存在は、そのCUのQPパラメータを表す。例えば、CU A1のQPは、位置(0,0)、(0,1)、(1,0)および(1,1)にあり、CU D11のQPは、位置(4,4)にあり、CU CのQPは、位置(4,0)、(4,1)、(4,2)、(4,3)、(5,0)、(5,1)、(5,2)、(5,3)、(6,0)、(6,1)、(6,2)、(6,3)、(7,0)、(7,1)、(7,2)、および(7,3)にある。
【0041】
再び図3Aを参照すると、LCU処理構成要素342は、符号化制御構成要素340から入力ビデオシーケンスのLCUを受け取り、LCUを符号化して、圧縮されたビットストリームを生じさせる。上述のように、LCU処理構成要素342はまた、CU構造と、レート制御構成要素344によって決定されたLCUのQPとに関する情報を受け取る。LCUのCU構造におけるCUは、深さ優先のZスキャン順(depth−first Z−scan order)で、LCU処理構成要素342によって処理され得る。例えば、図4のLCUにおいて、CUは次の順番でスキャンされる:A1→A21→A21→A22→A23→A3→A4→B→C→D11→D12→D13→D14→D2→D3→D4。
【0042】
図3Bは、LCU処理構成要素342の基本的な符号化アーキテクチャを示す。符号化制御ユニット340からのLCU300は、動き推定構成要素320の1つの入力として、イントラ予測構成要素324の1つの入力として、そして結合器302(例えば、加算器、減算器など)の正入力に提供される。さらに、具体的に示されていないが、符号化制御構成要素340により選択された各ピクチャの予測モードが、モード選択構成要素と、エントロピーエンコーダ334へ提供される。
【0043】
記憶構成要素318は、参照データを、動き推定構成要素320および動き補償構成要素322へ提供する。参照データは、1つもしくは複数の、前に符号化されかつ復号化されたCU、すなわち、再構成されたCUを含み得る。
【0044】
動き推測構成要素320は、動き推定情報を、動き補償構成要素322とエントロピーエンコーダ334へ提供する。より具体的には、動き推定構成要素320は、記憶構成要素318からの参照データを使用して、多数の一時的な予測モードに基づきLCU内のCUのテストを実行して、符号化コストに基づき最適な動きベクトル/予測モードを選択する。テストを実行するために、動き推定構成要素320は、符号化制御構成要素340から提供されたCU構造から始めることが可能である。動き推定構成要素320は、予測モードのユニットサイズに応じて、CU構造で示された各CUを予測ユニットに分割し、かつ各CUについて各予測モードの符号化コストを計算する。
【0045】
符号化の効率のために、動き推定構成要素320はまた、CU構造内の1つもしくは複数のCUをさらに区画化することによって、CU構造を変更するように決定し得る。すなわち、最適な動きベクトル/予測モードが選択されるとき、初期CU構造でのテストに加えて、動き推定構成要素320はまた、初期CU構造内のより大きなCUを、より小さなCUに分割するよう選択し(再帰的クワッドツリー構造の制限内で)、かつ符号化階層のより低いレベルでの符号化コストを計算し得る。量子化構成要素306を参照して下記で説明されるように、CU構造に成される如何なる変更も、レート制御構成要素344によって計算されたQPがどのように適用されるかに影響しない。動き推定構成要素320が初期CU構造を変更する場合、修正されたCU構造は、情報を必要とするLCU処理構成要素342内の他の構成要素へ通信される。
【0046】
動き推定構成要素320は、選択された1つもしくは複数の動きベクトル(MV)および各インター予測されたCUのための選択された予測モードを、動き補償構成要素323へ提供し、さらに選択された動きベクトル(MV)をエントロピーエンコーダ334へ提供する。動き補償構成要素322は、動き補償されたインター予測情報を、動き補償されたインター予測されたCUおよびインター予測されたCUのために選択された一時的な予測モードを含むセレクタスイッチ326へ提供する。インター予測されたCUの符号化コストはまた、モードセレクタ(図示しない)へ提供される。
【0047】
イントラ予測構成要素324は、イントラ予測情報を、イントラ予測されたCUと対応する空間予測モードとを含むセレクタスイッチ326へ提供する。すなわち、イントラ予測構成要素324は、バッファ328からのピクチャの以前に符号化された隣接するCUを用いたLCUのCUへの多数の空間予測モードに基づくテストが実行される空間予測を実行して、符号化コストに基づきイントラ予測されたCUを生成するための最適な空間予測モードを選択する。テストを実行するために、イントラ予測構成要素324は、符号化制御構成要素340によって提供されるCU構造で開始し得る。イントラ予測構成要素324は、CU構造に示された各CUを、空間予測モードのユニットサイズに応じて予測ユニットに分割し、かつ各CUのための各予測モードの符号化コストを計算することができる。
【0048】
符号化の効率のために、イントラ予測構成要素324はまた、CU構造の1つもしくは複数のCUをさらに区画化することによって、CU構造を変更するよう決定し得る。すなわち、最適な予測モードが選択されたとき、初期CU構造でテストすることに加えて、イントラ予測構成要素324はまた、初期CU構造内のより大きなCUを、より小さなCUに分割するように選択し(再帰的クワッドツリー構造の制限内で)、かつ符号化階層のより低いレベルでの符号化コストを計算し得る。量子化構成要素306を参照して下記で説明されるように、CU構造に成される如何なる変更も、レート制御構成要素344によって計算されたQP値がどのように適用されるかに影響しない。イントラ予測構成要素324が初期CU構造を変更する場合、修正されたCU構造は、情報を必要とするLCU処理構成要素342内の他の構成要素に通信される。具体的に示されないが、セレクタスイッチ326へ提供された各イントラ予測されたCUの空間予測モードはまた、変換構成要素304へ提供される。さらに、イントラ予測されたCUの符号化コストはまた、モードセレクタへ提供される。
【0049】
セレクタスイッチ326は、CUの差分メトリクスとモードセレクタ構成要素によって提供されたピクチャ予測モードとに基づき、動き補償構成要素322からの動き補償されたインター予測されたCUと、イントラ予測構成要素324からのイントラ予測されたCUとの間の選択をする。セレクタスイッチ326の出力、すなわち、予測されたCUは、結合器302の負の入力へおよび遅延構成要素330へ提供される。遅延構成要素330の出力は、他の結合器(すなわち、加算器)338へ提供される。結合器302は、現在のCUから予測されたCUを減算して、残余のCUを変換構成要素304へ提供する。結果の残余のCUは、オリジナルのCUのピクセル値と予測されたCUのピクセル値間の差分を定量化する一組のピクセルの差分値である。
【0050】
変換構成要素304は、残余のピクセル値を変換係数に変換するために、残余のCUのユニット変換を実行し、変換係数を量子化構成要素306へ提供する。量子化構成要素306は、残余のCUの変換係数のためのQPを決定し、そのQPに基づき変換係数を量子化する。例えば、量子化構成要素306は、変換係数の値を、QP値から派生される量子化スケール(Qs)によって除算され得る。幾つかの実施例では、量子化構成要素306は、所望の数の量子化ステップを用いることによって係数を表し、使用されたステップの数(もしくは、相応のQs値)は、残余を表すのに使用されるビット数を決定する。レート歪み最適化量子化のような、量子化の他のアルゴリズムが量子化構成要素306によって用いられてもよい。
【0051】
量子化構成要素306は、符号化制御構成要素340によって提供された初期CU構造に基づき、残余のCUの変換係数のためのQPを決定する。すなわち、残余のCUが初期CU構造内のCUに対応する場合、量子化構成要素306は、レート制御構成要素344によってそのCUのために計算されたQPを使用する。例えば、図4の例を参照すると、予測処理中に、さらなる区画化をすることなく残余CUがCU Cから生成された場合、CU CのためのQPは、残余のCUを量子化するために使用される。
【0052】
残余のCUが、予測処理中に生成されたCUに対応する場合、量子化構成要素306は、予測処理中に小区分化されたオリジナルのCUのQPを使用して、残余のCUのためのQPとしてCUをつくる。例えば、図4のCU Cが、図6に示されるような予測処理中にさらに区画化され、かつ残りのCUが、CU C1、C2、C3、もしくはC4の1つに対応する場合、CU CのためのQPは、残余のCUを量子化するために使用される。最小のQP CUサイズが特定される実施例では、残余のCUが、初期CU構造においてつくられたCUに対応し、かつ最小のQP CUサイズよりも小さい場合、量子化構成要素306は、レート制御構成要素344によって区画化された最小のQP CUと同じサイズのオリジナルのCUのQPを使用して、CUを生成する。例えば、図4のLCUにおいて、LCUサイズが64×64であり、かつ最小のQP CUサイズが32×32であって、残余のCUが8×8のCU A21、A22、A23、もしくはA24のうちの1つに対応する場合、CU A2のためのQPが残余のCUを量子化するために使用される。
【0053】
上述したように、符号化制御構成要素340は、メモリ346に記憶された量子化パラメータアレイを生成し得る。量子化構成要素306は、残余のCU係数のためのQPを決定するために、このマトリックスを使用することができる。すなわち、残余のCUに対応するCUの左上コーナーの座標は、そのCUがオリジナルの符号化構造にあろうと、もしくは、予測処理中に加えられたものであろうと、量子化パラメータアレイに適切なQPを位置させるために使用され得る。概して、量子化パラメータアレイの適切なQPの座標を計算するために、x座標は、SCUの幅で除算され、かつy座標はSCUの高さで除算され得る。
【0054】
例えば、図5のCU構造500および量子化パラメータアレイ502を考える。この例にでは、SCUは8×8である。CU A4の左上コーナーの座標は(16,16)である。それゆえ、適切なQPを保持する量子化パラメータアレイ502の位置の座標は、(2,2)である。図6のCU構造をここで参照すると、この例のC1、C2、C3およびC4が予測処理中にCU構造に加えられるべきものとして仮定されることを思い起こされたい。CU C4の左上コーナーの座標は、(48,16)である。それゆえ、最適なQPを保持する量子化パラメータマトリックス502内の位置座標は、(6,2)である。
【0055】
DCT変換は、残余信号のエネルギーを、周波数領域に再分配するため、量子化された変換係数は、スキャン構成要素308によりそれらのスキャン順から取り出され、かつ、例えば、重要な係数で開始し、有意性が小さい係数が後に続くように、有意性によって整列される。CUのためのヘッダー情報と共に、スキャン構成要素308を介して提供されたCUのための順序付けされた量子化された変換係数が、エントロピーエンコーダ334によって符号化され、これは、圧縮されたビットストリームを、伝送または記憶のためにビデオバッファ336へ提供する。エントロピーエンコーダ334によって実行されるエントロピー符号化は、例えば、コンテクストアダプティブ可変長符号化(CAVLC)、コンテクストアダプティブバイナリ算術符号化(CABAC)、ランレングス符号化といった、適切なエントロピー符号化技術を使用し得る。
【0056】
エントロピーエンコーダ334は、圧縮されたビットストリームに符号化されたCUを生成するために使用されたCU構造に関する情報、および符号化されたCUの量子化で使用されたQPを示す情報を符号化する。幾つかの実施例では、LCUのCU構造は、LCUとSCUのサイズと、圧縮されたビットストリームの一連のスプリットフラグとを符号化することによって、デコーダに信号送信される。LCUおよびSCUによって定義された再帰的クワッドツリー構造内のCUがCU構造においてスプリット、すなわち区画化、される場合、スプリットを示す値、例えば1、を有するスプリットフラグが、圧縮されたビットストリームで信号搬送される。CUがスプリットされず、かつCUのサイズがSCUのサイズよりも大きい場合、スプリットがないことを示す値、例えば0、を有するスプリットフラグが、圧縮されたビットストリームで信号搬送される。スプリットされないCUに特有の情報は、ビットストリーム内のスプリットフラグに続き得る。CUに特有の情報は、CUヘッダー情報(予測モード、動きベクトル差、符号化ブロックフラグ情報等)、QP情報、および係数情報を含み得る。係数情報は、すべてのCU係数がゼロである場合は、含まれない場合がある。また、CUのサイズがSCUと同じサイズである場合、スプリットフラグは、そのCUのためのビットストリームにおいて符号化されない。
【0057】
図7は、LCUサイズが64×64であり、かつSCUサイズが8×8であると仮定した図4のLCUのCU構造を信号搬送する一例を示す。この例は、すべてのCUが少なくとも1つの非ゼロの係数を有すると仮定する。本例では、スプリットフラグS0は、LCUが4つのCU:A、B、CおよびDにスプリットされることを示すために1に設定される。スプリットフラグS1は、CU Aが4つのCU:A1、A2、A3、およびA4にスプリットされることを示すために1に設定される。スプリットフラグS2は、CU A1がスプリットされないことを示すために0に設定される。CU A1に特有の情報は、スプリットフラグS2に続く。スプリットフラグS3は、CU A2が4つのCU:A21、A22、A23およびA24にスプリットされることを示すために1に設定される。CU A21、A22、A23およびA24は、8×8であり、それゆえ、スプリットフラグは、これらのCUのために符号化されない。各々のCUに特有の情報は、スプリットフラグS3に続く。スプリットフラグS4は、CU A3がスプリットされないことを示すために0に設定される。
【0058】
エントロピーエンコーダ334は、圧縮されたビットストリーム内の各符号化されたCUのための符号化されたQP情報を含む。幾つかの実施例では、エントロピーエンコーダ334は、デルタQP値、すなわち、QP値と予測されたQP値間の差分、の形態でこのQP情報を含む。幾つかの実施例では、エントロピーエンコーダ334は、dQP=QPcurr−QPprevのように、CUのためのデルタQPを計算する。ここでQPcurrは、CUのためのQP値であり、QPprevは、例えば、深さ優先のZスキャン順序といった、スキャン順のCUの直前のCUのためのQP値である。この場合、QPprevは、予測されたQPである。例えば、図4を参照すると、CU BのためのデルタQPは、QPB−QPA4であり、CU D2のためのデルタQPは、QPD2−QPD14である。このようにデルタQPを計算することは、レート制御が知覚的な基準に基づかないとき、所望され得る。
【0059】
幾つかの実施例では、エントロピーエンコーダ334は、1つもしくは複数の空間的に隣接するQPのQP値の関数として、デルタQPのための値を計算する。すなわち、デルタQP=QPcurr−f(空間的に隣接するCUのQP)である。この場合、f()は、予測されたQP値を提供する。このようにデルタQPを計算することは、レート制御が知覚的基準に基づくとき、所望され得る。関数f()の例は、f()=左に隣接するCUのQP、およびf()=左に隣接するCUのためのQP値と上方に隣接するCUのQP値の平均を含む。空間的に隣接するCUのQPのより高度な関数が使用されることもあり、1つもしくは2つ以上の周辺CUのQP値を使用することを含む。
【0060】
LCU内で、CUの空間的に隣接するCUは、それらのCUがLCUのCU構造内のCUに隣りあうものとして定義され得る。例えば、図4では、CU A22、CU A24、およびCU A4は、CU Bの左隣りのCUである。また、CU A23およびCU A24は、CU A4の上隣りのCUである。LCUの左端および上端のCUにとって、ピクチャ内のLCUのそれぞれ左もしくは上方に対してLCUの隣接するCUは、それぞれ左隣りおよび上隣りのCUとみなされる。
【0061】
幾つかの実施例では、デルタQPを計算するために、予測されたQP値を計算する1つ以上のモードが提供され得る。例えば、エントロピーエンコーダ334は、デルタQPを計算する次の2つの異なるモードを提供し得る。dQP=PQcurr−QPprev、およびdQP=QPcurr−f(空間的に隣接するCUのQP)。すなわち、エントロピーエンコーダ334は、以下の疑似符号毎のようにデルタQPを計算し得る。
If(qp_predictor_mode==1)
deltaQP=(QP of current CU)−(QP of previous CU in coding order);
else if(qp_predictor_mode==2)
deltaQP=(QP of current CU)−(QP of spatially neighboring CUs)
ここで、qp_predictor_modeは、ビデオエンコーダの他の場所で選択される。デルタQP値を計算する2つ以上のモードが同様の方式で提供され得る。さらに、デルタQP、すなわちqp_predictor_mode、を計算するために使用されるモードは、例えば、シーケンス、ピクチャ、スライス、および/もしくはLCUレベルといった、適切なレベルで圧縮されたビットストリームで信号送信され得る。
【0062】
幾つかの実施例では、エントロピーエンコーダ334は、圧縮されたビットストリームにおいて各CUのためのデルタQP値を符号化する。例えば、図7を参照すると、デルタQP値は、CU A1に特有の情報に、CU A21に特有の情報に、CU A22に特有の情報等に含まれ得る。幾つかの実施例では、最小のQP CUサイズが特定される場合、デルタQP値は、サイズが最小のQP CUに等しいかそれよりも大きい、少なくとも1つの非ゼロ係数を有する各CUのためのCU特有情報において符号化される。最小のQP CUよりも小さなこれらのCUにとって、デルタQPは、ノンリーフ(non−leaf)CUレベルで符号化される。最小のQP CUのサイズはまた、適切な地点でビットストリームに符号化される。図8は、LCUのサイズが64×64、SCUのサイズが8×8、最小のQP CUサイズが32×32であり、各CUが少なくとも1つの非ゼロ係数を有すると仮定した図4のLCUのCU構造のためのデルタQPを信号送信する一例を示す。CU A、B、CおよびDの各々は32×32であり、それゆえ、dQPxで示すデルタQPは、より小さなあらゆるCUのためにではなく、これらのCUのために、信号送信される。
【0063】
図3Bを再び参照すると、エンコーダの内部には内蔵されたデコーダがある。任意の準拠デコーダは、圧縮されたビットストリームから画像を再構成するよう期待されるので、内蔵されたデコーダは、同じ有用性をビデオエンコーダへ提供する。再構成された入力の知識は、ビデオエンコーダに、後続のフレームを構成するために適切な残余のエネルギーを伝送することを可能にする。再構成された入力、すなわち、参照データ、を決定するため、スキャン構成要素308を介して提供されたCUのための順序付けられた量子化された変換係数は、逆スキャン構成要素310によって、それらのオリジナルのポスト変換配列に戻され、その出力は、逆量子化構成要素312に提供され、これは、推定された変換された情報、すなわち、変換構成要素304から生じる変換の推定されたもしくは再構成されたバージョン、を出力する。幾つかの実施例では、CUのためのQPは、量子化構成要素306によって逆量子化構成要素312に通信される。幾つかの実施例では、逆量子化構成要素312は、上述したように、量子化パラメータアレイからQPを決定する。推定された変換された情報は、逆変換構成要素314へ提供され、これは、残余のCUの再構成されたバージョンを表す、推定された残余の情報を出力する。再構成された残余のCUは、結合器338へ提供される。
【0064】
結合器338は、遅延され選択されたCUを再構成された残余のCUに加算して、フィルタリングされていない再構成されたCUを生成し、これは、再構成されたピクチャ情報の一部となる。再構成されたピクチャ情報は、バッファ328を介して、イントラ予測構成要素324へ、およびフィルタ構成要素316へ提供される。フィルタ構成要素316は、インループフィルタであり、これは、再構成されたフレーム情報をフィルタリングし、フィルタリングされた再構成されたCU、すなわち参照データ、を記憶構成要素318へ提供する。
【0065】
幾つかの実施例では、デルタQPを計算するための上記の技術は、ビデオエンコーダの他の構成要素において使用され得る。例えば、量子化構成要素が、CUの全体のレートおよび歪みを最小化する、レート歪みの最適化された量子化を使用する場合(全体のレート=(dQP)のレート+(CU)のレート)、これらの技術の1つもしくは両方が、必要とされるデルタQP値を計算するためにこれらの構成要素によって使用され得る。幾つかの実施例では、レート制御構成要素344によってオリジナルに生成されたQPは、量子化の前に、ビデオエンコーダの1つもしくは複数の構成要素によって、アップまたはダウンの調整がされ得る。
【0066】
図9は、本発明の1つもしくは複数の実施例による、ビデオデコーダ、すなわちビデオデコーダ112、のブロック図を示す。ビデオデコーダは、図3Aおよび図3Bのビデオエンコーダにより実行される符号化動作、すなわちエントロピー符号化、量子化、変換および予測を、反転するよう動作して、オリジナルのビデオシーケンスのフレームを再生する。ビデオエンコーダの上記の観点から、当業者は、詳細な説明がなくても、ビデオデコーダの構成要素の機能性を理解するであろう。
【0067】
図9のビデオデコーダでは、エントロピーデコード構成要素900が、エントロピー符号化されたビデオビットストリームを受け取り、エントロピー符号化を反転し、符号化されたCUおよびLCUの符号化されたCU構造を回復させる。デコードされた情報は、適切に、ビデオデコーダの他の構成要素に通信される。エントロピーデコード構成要素900によって実行されるエントロピー復号化は、ビットストリーム内の符号化されたQP値を検出すること、および逆量子化構成要素902に通信するためにそれらの値を復号化することを含む。幾つかの実施例では、エントロピーデコード構成要素900は、ビットストリームのデルタQP値を検出し、かつ、逆量子化構成要素902に通信するために、デルタQP値からの再構成されたQP値を計算し得る。例えば、ビデオエンコーダが、デルタQPを、QPcurr−QPprevとして計算し、ここで、QPprevが、符号化順序で前のCUのQPである場合、エントロピーデコード構成要素900は、QPを、デルタQP+QPprevとして計算し、ここで、QPprevは、ビットストリーム内の直前のCUのためにエントロピーデコード構成要素900によって計算された、再構成されたQPである。この計算のため、各符号化されたCUがエントロピー復号化され、かつ再構成されたQPがそのCUのために決定されるので、エントロピーデコード構成要素900は、QPprevの値を記憶しかつ更新し得る。
【0068】
ビデオエンコーダが、デルタQPを、QPcurr−f(空間的に隣接するCUのQP)として計算する場合、エントロピーデコード構成要素900は、再構成されたQPを、デルタQP+f(空間的に隣接するCUのrQP)として計算し、ここで、rQPは、再構成されたQPである。また、ビデオエンコーダがデルタQPを計算するための多数のモードをサポートする場合、ビデオデコーダは、ビットストリームで信号送信されたモードに応じて、デルタQPから再構成されたQPを計算し得る。
【0069】
デルタQP=QPcurr−f(空間的に隣接するCUのrQP)の計算を実行するため、エントロピーデコード構成要素900は、適切な空間的に隣接するCUの再構成されたQPを記憶することができる。例えば、隣接するCUの再構成されたQPは、前述の量子化パラメータアレイと同様に、再構成された量子化パラメータアレイに記憶され得る。
【0070】
f()が左隣りのCUのrQPと同等であると仮定して、さらに図10に例示のLCU構造1000および1002を参照して、例示の再構成されたQP計算が以下で説明される。本例では、LCU 0 1000はデコードされ、かつその再構成されたQPは、再構成された量子化パラメータアレイ1004に記憶される。再構成されたQPが、LCU 1 1002のために計算されるので、それらは、LCUのための再構成された量子化パラメータアレイに記憶され得る。下記の計算は、LCU 1 1002のいくつかのCUのための再構成されたQP値が、左隣りのCUからどのように再構成され得るかを実証する。:
rQP(A1)=dQP(A1)+rQP(B22 of LCU 0 1000)
rQP(A21)=dQP(A1)+rQP(A1)
rQP(A22)=dQP(A22)+rQP(A21)
rQP(A23)=dQP(A23)+rQP(A1)
rQP(A24)=dQP(A24)+rQP(A23)
rQP(A3)=dQP(A3)+rQP(B42 of LCU 0 1000)
rQP(A4)=dQP(A4)+rQP(A3)
本例では、再構成された量子化パラメータアレイ1004(B22、B24、B42、B44、D22、D24、D42、D44)の左の列は、すべて、予測f()をLCU 1 1002に適用することが要求される。左隣りのCUが、ピクチャの初期LCUの場合に見られるように、利用可能でない場合、予め規定されたQP値が使用され得るか、あるいはCU符号化の順序において再構成されたQP値が使用され得る。
【0071】
図9を再び参照すると、逆量子化構成要素902は、再構成されたQP値に基づき残余のCUの残余係数を逆量子化する。逆変換構成要素904は、逆量子化構成要素902からの周波数領域のデータを残余のCUに戻すように変換する。すなわち、逆変換構成要素904は、逆ユニット変換、すなわち、符号化のために使用されたユニット変換の反転、を逆量子化された残余の係数に適用して、残余のCUを生成する。
【0072】
残余のCUは、加算構成要素906の1つの入力を提供する。加算構成要素906の他方の入力は、モードスイッチ908から到来する。インター予測モードが、符号化されたビデオストリームで信号送信されるとき、モードスイッチ908は、動き補償構成要素910から予測ブロックを選択し、かつ、イントラ予測が信号送信されたとき、モードスイッチは、イントラ予測構成要素914から予測ブロックを選択する。動き補償構成要素910は、記憶構成要素912から参照データを受け取り、エンコーダによって計算されかつ符号化されたビデオビットストリームで伝送された動き補償を参照データに印加して、予測されたCUを生成する。イントラ予測構成要素914は、現在のピクチャから、前にデコードされた予測されたCUを受け取り、符号化されたビデオビットストリームで伝送された空間予測モードによって信号送信されたようにエンコーダによって計算されたイントラ予測を、前にデコードされ予測されたCUに適用して、予測されたCUを生成する。
【0073】
加算構成要素906は、選択された予測されたCUおよび残余のCUを加算することにより、デコードされたCUを生成する。加算構成要素906の出力は、インループフィルタ構成要素916の入力を提供する。インループフィルタ構成要素916は、符号化処理のブロックの性質によりつくられたアーチファクトを平滑化して、デコードされたフレームの視覚的な品質を改善する。インループフィルタ構成要素916の出力は、ビデオビットストリームのデコードされたフレームである。各デコードされたCUは、参照データとして使用されるよう記憶構成要素912に記憶される。
【0074】
幾つかの実施例では、CUよりも小さなユニット変換が使用され得る。そのような実施例では、ビデオエンコーダは、CUを変換ユニットにさらに区画化し得る。例えば、CUは、CUサイズに適合された再帰的クワッドツリー構造に従い、より小さな変換ユニットに区画化され得る。CUの変換ユニット構造は、LCU CU構造が変換スプリットフラグを使用するのと同様の方式で、デコーダに信号送信される。また、このような実施例では、デルタQP値が変換ユニットレベルで計算および信号送信され得る。幾つかの実施例では、多数の量子化パラメータがLCUのために提供されるか否かを示すフラグは、例えば、シーケンス、ピクチャ、および/またはスライスの適切なレベルで信号送信され得る。
【0075】
図11は、1つもしくは複数の実施例による、ビデオエンコーダにおけるLCUのための多数の量子化パラメータを生成および符号化するための方法のフローチャートである。最初に、LCUが受け取られる(1100)。その後、様々な基準がLCUに適用されて、LCUのCU構造を決定し、QPが、CU構造1102内のCUのために計算される。例えば、上述したように、LCUは、種々の基準に基づく再帰的クワッドツリー構造内で、種々のサイズのCUに分割され得、QP値が適用されるべきグラニュラリティを決定、すなわち、LCUのためのCU構造を決定する。その後、量子化パラメータが、CU構造内の各CUのために計算される。
【0076】
それから、CU構造内のCUが、対応するQP1104を使用して符号化される。例えば、ブロックベースの符号化プロセス、すなわち、予測、変換、および量子化、がCU構造内の各CUで実行される。予測、変換、および量子化は、上述したように、各CUで実行され得る。
【0077】
CUの符号化に使用されるQPもまた符号化される(1106)。例えば、CUを符号化するのに使用されるQPを信号送信するために、デルタQPが計算され得る。デルタQP値は、上述のように計算され得る。符号化されたQP、符号化されたCU、およびCU構造は、その後、エントロピー符号化されて、圧縮されたビットストリーム1108の一部を生成する。符号化されたQP、符号化されたCU、およびCU構造は、上述のように、圧縮されたビットストリームにおいて信号で信号搬送され得る。
【0078】
図12は、1つもしくは複数の実施例による、ビデオデコーダにおけるLCUのための多数の量子化パラメータをデコードするための方法のフローチャートである。まず、符号化されたCU構造および符号化されたQPを含み得る、符号化されたLCUが受け取られる(1200)。符号化されたCU構造および符号化されたQPは、上述のように、ビデオエンコーダによって生成され得る。その後、符号化されたLCUの符号化されたCUのための再構成されたQPが、符号化されたQPに基づき計算される(1202)。再構成されたQPは、上記したように計算され得る。その後、符号化されたLCUは、符号化されたCU構造および再構成されたQPに基づきデコードされる(1204)。例えば、符号化されたLCUの符号化された符号化ユニットは、上記したように、ビデオエンコーダによって使用されたブロックベースの符号化プロセスを反転するブロックベースのデコードプロセスを用いてデコードされ得る。
【0079】
本開示で説明された技術は、ハードウェア、ソフトウェア、ファームウェア、もしくはそれらの組合せに実施され得る。ソフトウェアに実施される場合、当該ソフトウェアは、マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、もしくはディジタルシグナルプロセッサ(DSP)のような、1つもしくは複数のプロセッサで実行され得る。本技術を実行するソフトウェアは、最初に、コンパクトディスク(CD)、ディスケット、テープ、ファイル、メモリ、もしくはその他の任意のコンピュータ読取り可能な記憶装置のような、コンピュータ読取り可能な媒体に記憶され、そして、プロセッサにロードされて実行され得る。幾つかのケースでは、ソフトウェアはまた、コンピュータ読出し可能な媒体およびコンピュータ読出し可能な媒体ためのパッケージング材料を含むコンピュータプログラム製品で販売されるものでもよい。幾つかのケースでは、ソフトウェア命令は、着脱可能なコンピュータ読出し可能な媒体(例えば、フロッピ―ディスク、光ディスク、フラッシュメモリ、USBキー)を介する、他のディジタルシステム等でコンピュータ読出し可能な媒体から伝送パスを介する等で分配され得る。
【0080】
本明細書に記載の方法およびエンコーダの実施例は、異なるタイプのディジタルシステム(例えば、デスクトップコンピュータ、ラップトップコンピュータ、モバイル(すなわちセルラー)電話のようなハンドヘルドデバイス、パーソナルディジタルアシスタント(PDA)、ディジタルカメラ等)のために実施され得る。図13は、本明細書に記載した技術を用いるように構成され得るディジタルシステム(例えば、モバイルセルラー電話)1300のブロック図である。
【0081】
図13に示されるように、信号処理ユニット(SPU)1302は、埋め込みメモリおよびセキュリティ特徴を含むディジタルシグナル信号処理システム(DSP)を含む。アナログベースバンドユニット1304は、ハンドセットマイクロフォン1313aから音声データストリームを受信し、ハンドセットモノスピーカ1313bに音声データストリームを送信する。アナログベースバンドユニット1304はまた、マイクロフォン1314aから音声データストリームを受信し、モノヘッドセット1314bへ音声データストリームを送信する。アナログベースバンドユニット1304およびSPU1302は、別々のICであり得る。多くの実施例において、アナログベースバンドユニット1304は、プログラム可能なプロセッサコアを内蔵しないが、SPU1302で動作するソフトウェアによってセットアップされている、オーディオパス、フィルタ、ゲイン等の構成に基づき、処理を実行する。
【0082】
ディスプレイ1320はまた、ローカルカメラ1328から、もしくは、USB1326やメモリ1312のような他のソースから受信したピクチャおよびビデオシーケンスを表示することができる。SPU1302はまた、RFトランシーバ1306もしくはカメラ1326を介して、セルラーネットワークのような様々なソースから受信されるビデオシーケンスをディスプレイ1320へ送信することができる。SPU1302はまた、エンコーダユニット1322を介してコンポジット出力端子1324で外部ディスプレイユニットへビデオシーケンスを送信することができる。エンコーダユニット1322は、PAL/SECAM/NTSCビデオ規格に従う符号化を提供することができる。
【0083】
SPU1302は、ビデオの符号化および復号化に必要とされる計算動作を実行する機能を含む。1つもしくは複数の実施例では、SPU1302は、本明細書に記載したような符号化プロセス中に、LCUのための複数の量子化パラメータを生成および符号化するための1つもしくは複数の技術を適用する計算動作を実行するよう構成される。当該技術を実装するソフトウェア命令は、メモリ1312に記憶され得、例えば、ローカルカメラ1328によってキャプチャーされたビデオシーケンスの符号化の一部として、SPU1302により実行され得る。幾つかの実施例では、受信した符号化されたビデオシーケンスのデコードや、メモリ1312に記憶された符号化されたビデオシーケンスのデコードの一部として、本明細書に記載したように、SPU1302は、LCUのための多数の量子化パラメータをデコードする1つもしくは複数の技術を適用するための計算動作を実行するよう構成される。本技術を実装するソフトウェア命令は、メモリ1312に記憶され得、SPU1302によって実行され得る。
【0084】
本フローチャートのステップは、単に例示のために具体的なシーケンスで説明されている。異なるシーケンスのステップを使用する代替の実施例もまた実行され得る。当業者は、他の多くの実施例および変形がまた、請求される発明の範囲内で可能であることを理解するであろう。
図1
図2
図3A
図3B
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13