(57)【要約】  ピクチャブロックを符号化するための方法が開示される。方法は、ブロックの少なくとも１つのサンプルに対して及び１つの現在の成分に対して、予測値を得ることと、マッピング関数に応答してサンプルのソース値から及び予測値からマッピング済みの残差値を決定することと、マッピング済みの残差値を符号化してビットストリームに埋め込むこととを含み、マッピング関数は、所定の再構築の質に対するビットストリームのビットコストの低減又はビットストリームの所定のビットコストに対する再構築の質の増加の少なくとも１つを得るために導出される。
2020517148.tif 000002
【特許請求の範囲】
【請求項１】
ピクチャブロックを符号化するための方法であって、前記ブロックの少なくとも１つのサンプルに対して、
−  前記サンプルの１つの現在の色成分の予測値を得ることと、
−  マッピング関数に応答して前記現在の色成分のソース値から及び前記予測値からマッピング済みの残差値を決定することと、
−  前記マッピング済みの残差値を符号化してビットストリームに埋め込むことと
を含む、方法であり、
前記マッピング関数が、所定の再構築の質に対する前記ビットストリームのビットコストの低減又は前記ビットストリームの所定のビットコストに対する再構築の質の増加のいずれかを得るために導出され、
前記マッピング済みの残差値を決定することが、
−  前記ソース値から前記予測値を減じることによって、中間残差値を決定することと、
−  前記予測値に応じて、前記マッピング関数に応答して前記中間残差値をマッピングすることと
を含む、方法。
【請求項２】
前記予測値に応じて、前記マッピング関数に応答して前記中間残差値をマッピングすることが、前記中間残差値にスケーリングファクタを乗じることであって、前記スケーリングファクタの値が、前記予測値に依存する、乗じることを含む、請求項１に記載の方法。
【請求項３】
前記予測値に応じて、前記マッピング関数に応答して前記中間残差値をマッピングすることが、前記中間残差値にスケーリングファクタを乗じることであって、前記スケーリングファクタが、前記サンプルの別の色成分に対して得られた予測値に依存し、前記別の色成分が、前記現在の色成分とは異なる、乗じることを含む、請求項１に記載の方法。
【請求項４】
固定小数点実装形態において、前記マッピング済みの中間残差値が、
（ＲｅｓＣｕｓｕａｌ＊２Ｂ＋ｓｉｇｎ（ＲｅｓＣｕｓｕａｌ）＊（ｉｎｖＳｃａｌ／２））／ｉｎｖＳｃａｌ
に等しく、式中、ＲｅｓＣｕｓｕａｌが前記中間残差値であり、ｉｎｖＳｃａｌがｒｏｕｎｄ（２Ｂ÷ｓｃａｌ）に等しく、ｓｃａｌが、前記スケーリングファクタである、請求項２又は３に記載の方法。
【請求項５】
ピクチャブロックを復号するための方法であって、前記ブロックの少なくとも１つのサンプルに対して、
−  前記サンプルの１つの現在の色成分の予測値を得ることと、
−  前記サンプルに対する残差値を復号することと、
−  マッピング関数に応答して前記復号済みの残差値から及び前記予測値から前記サンプルに対する再構築値を決定することと
を含む、方法であり、
前記マッピング関数が、所定の再構築の質に対する前記ビットストリームのビットコストの低減又は前記ビットストリームの所定のビットコストに対する再構築の質の増加のいずれかを得るために導出され、
前記再構築値を決定することが、
−  前記予測値に応じて、前記マッピング関数の逆関数を用いて前記復号済みの残差値をマッピングすることと、
−  前記予測値を前記マッピングされた復号済みの残差値に加えることによって、前記再構築値を決定することと
を含む、方法。
【請求項６】
前記予測値に応じて、前記マッピング関数の逆関数を用いて前記復号済みの残差値をマッピングすることが、前記復号済みの残差値にスケーリングファクタを乗じることであって、前記スケーリングファクタが、前記サンプルの前記予測値に依存する、乗じることを含む、請求項５に記載の方法。
【請求項７】
前記予測値に応じて、前記マッピング関数の逆関数を用いて前記復号済みの残差値をマッピングすることが、前記復号済みの残差値にスケーリングファクタを乗じることであって、前記スケーリングファクタが、前記サンプルの別の色成分に対して得られた前記予測値に依存し、前記別の色成分が、前記現在の色成分とは異なる、乗じることを含む、請求項５に記載の方法。
【請求項８】
固定小数点実装形態において、前記マッピングされた復号済みの残差値が、
（ＲｅｓＣｍａｐ＿ｄｅｃ＊ｉｎｖＳｃａｌ＋ｓｉｇｎ（ＲｅｓＣｍａｐ＿ｄｅｃ）＊２（Ｂ−１））／２Ｂ
に等しく、式中、ＲｅｓＣｍａｐ＿ｄｅｃが前記復号済みの残差値であり、ｉｎｖＳｃａｌがｒｏｕｎｄ（２Ｂ÷ｓｃａｌ）に等しく、ｓｃａｌが、前記スケーリングファクタである、請求項６又は７に記載の方法。
【請求項９】
ピクチャブロックを符号化するためのデバイスであって、
−  前記ブロックの少なくとも１つのサンプルの１つの現在の色成分の予測値を得るための手段と、
−  マッピング関数に応答して前記現在の色成分のソース値から及び前記予測値からマッピング済みの残差値を決定するための手段と、
−  前記マッピング済みの残差値を符号化してビットストリームに埋め込むための手段と
を含む、デバイスであり、
前記マッピング関数が、所定の再構築の質に対する前記ビットストリームのビットコストの低減又は前記ビットストリームの所定のビットコストに対する再構築の質の増加のいずれかを得るために導出され、
前記マッピング済みの残差値を決定するための前記手段が、
−  前記ソース値から前記予測値を減じるように構成された中間残差値を決定するための手段と、
−  前記予測値に応じて、前記マッピング関数に応答して前記中間残差値をマッピングするための手段と
を含む、デバイス。
【請求項１０】
前記予測値に応じて、前記マッピング関数に応答して前記中間残差値をマッピングするための前記手段が、前記中間残差値にスケーリングファクタを乗じるための手段であって、前記スケーリングファクタの値が、前記予測値に依存する、手段を含む、請求項９に記載のデバイス。
【請求項１１】
前記予測値に応じて、前記マッピング関数に応答して前記中間残差値をマッピングするための手段が、前記中間残差値にスケーリングファクタを乗じるための手段であって、前記スケーリングファクタが、前記サンプルの別の色成分に対して得られた予測値に依存し、前記別の色成分が、前記現在の色成分とは異なる、手段を含む、請求項９に記載のデバイス。
【請求項１２】
固定小数点実装形態において、前記マッピング済みの中間残差値が、
（ＲｅｓＣｕｓｕａｌ＊２Ｂ＋ｓｉｇｎ（ＲｅｓＣｕｓｕａｌ）＊（ｉｎｖＳｃａｌ／２））／ｉｎｖＳｃａｌ
に等しく、式中、ＲｅｓＣｕｓｕａｌが前記中間残差値であり、ｉｎｖＳｃａｌがｒｏｕｎｄ（２Ｂ÷ｓｃａｌ）に等しく、ｓｃａｌが、前記スケーリングファクタである、請求項１０又は１１に記載のデバイス。
【請求項１３】
ピクチャブロックを復号するためのデバイスであって、
−  前記ブロックの少なくとも１つのサンプルの１つの現在の色成分の予測値を得るための手段と、
−  前記サンプルに対する残差値を復号するための手段と、
−  マッピング関数に応答して前記復号済みの残差値から及び前記予測値から前記サンプルに対する再構築値を決定するための手段と
を含む、デバイスであり、
前記マッピング関数が、所定の再構築の質に対する前記ビットストリームのビットコストの低減又は前記ビットストリームの所定のビットコストに対する再構築の質の増加のいずれかを得るために導出され、
前記再構築値を決定するための前記手段が、
−  前記予測値に応じて、前記マッピング関数の逆関数を用いて前記復号済みの残差値をマッピングするための手段と、
−  前記予測値を前記マッピングされた復号済みの残差値に加えるように構成された前記再構築値を決定するための手段と
を含む、デバイス。
【請求項１４】
前記予測値に応じて、前記マッピング関数の逆関数を用いて前記復号済みの残差値をマッピングするための前記手段が、前記復号済みの残差値にスケーリングファクタを乗じるための手段であって、前記スケーリングファクタが、前記サンプルの前記予測値に依存する、手段を含む、請求項１３に記載のデバイス。
【請求項１５】
前記予測値に応じて、前記マッピング関数の逆関数を用いて前記復号済みの残差値をマッピングするための手段が、前記復号済みの残差値にスケーリングファクタを乗じるための手段であって、前記スケーリングファクタが、前記サンプルの別の色成分に対して得られた前記予測値に依存し、前記別の色成分が、前記現在の色成分とは異なる、手段を含む、請求項１３に記載のデバイス。
【請求項１６】
固定小数点実装形態において、前記マッピングされた復号済みの残差値が、
（ＲｅｓＣｍａｐ＿ｄｅｃ＊ｉｎｖＳｃａｌ＋ｓｉｇｎ（ＲｅｓＣｍａｐ＿ｄｅｃ）＊２（Ｂ−１））／２Ｂ
に等しく、式中、ＲｅｓＣｍａｐ＿ｄｅｃが前記復号済みの残差値であり、ｉｎｖＳｃａｌがｒｏｕｎｄ（２Ｂ÷ｓｃａｌ）に等しく、ｓｃａｌが、前記スケーリングファクタである、請求項１４又は１５に記載のデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
１．技術分野
本原理は、概して、ピクチャ符号化及び復号のための方法及びデバイスに関し、より具体的には、ピクチャブロックを符号化及び復号するための方法及びデバイスに関する。
【背景技術】
【０００２】
２．背景技術
新しい世代の映像フォーマットは、より広い色域、より高いフレームレート及びより高いダイナミックレンジを含む。新しい規格は、このタイプのコンテンツをサポートするために作成されてきた。例えば、ＩＴＵ−Ｒ勧告ＢＴ−２０２０は、現在利用されているＢＴ−７０９の色域外の原色を含むフォーマットを定義する。ＩＴＵ−Ｒ勧告ＢＴ−２１００は、ＢＴ．７０９に対するコンテンツのダイナミックレンジの拡張を可能にする伝達関数を含むフォーマットを定義する。ＢＴ−２１００の原色は、ＢＴ−２０２０の原色と同じである。
【０００３】
ＢＴ．７０９コンテナ又はＢＴ．２１００コンテナの使用は、著しく異なるコードワード分布を招く。これまでに開発されているコード化ツールのほとんどは、ＢＴ．７０９コンテナを使用したＳＤＲ信号に重点を置く。ＢＴ．２１００など、より広いコンテナに移行すると、コーデック設計におけるコンテナ適応又は変更が必要とされ得る。従って、例えば、ＨＥＶＣなどの現在のコーデック及びエンコーダによって予期されるプロパティにより適合するように、新しいコンテナにおけるサンプル値を修正するため、コード化の前にサンプル値を「再形成する」又はマッピングする必要がある。
【発明の概要】
【０００４】
初期の入力サンプル（例えば、ＢＴ．７０９）の分布と同様のサンプル分布を得るため、符号化の前に、所定のコンテナ（例えば、ＢＴ．２１００）において表されているサンプルのマッピング／再形成を実行することが知られている。逆マッピングは、復号済みのサンプルに適用される。符号化前のマッピング及び復号後の逆マッピングは、信号の歪みを引き起こす。現に、マッピング及び逆マッピングプロセスは両方とも、固定小数点精度で適用され、それにより、情報消失が生じる。この歪みは、コード化プロセスの歪みと共に累積し、コード化性能の損失をもたらす。
【０００５】
コード化の前にサンプル値を「再形成する」代わりに、新しいコンテナを処理するための代替の手法は、変換済みの予測残差の係数を量子化するための量子化ステップを修正することである。この目的のため、このブロックの予測、オリジナル又は再構築サンプルから推測された値に基づいて、所定のサンプルブロックに対して、予測残差サンプルの変換（例えば、ＤＣＴ）から生じた係数に適用される量子化ステップを適応させることが知られている。ブロックごとに量子化ステップを適応させることは、ブロックが多くの異なる値を有するサンプル（例えば、明るいサンプル及び暗いサンプル）を含む事例では特に、非効率的であり得る。
【０００６】
３．簡単な概要
ピクチャブロックを符号化するための方法であって、ブロックの少なくとも１つのサンプルに対して及び１つの現在の成分に対して、
−  予測値を得ることと、
−  マッピング関数に応答してサンプルのソース値から及び予測値からマッピング済みの残差値を決定することと、
−  マッピング済みの残差値を符号化してビットストリームに埋め込むことと
を含む、方法であり、マッピング関数が、所定の再構築の質に対するビットストリームのビットコストの低減又はビットストリームの所定のビットコストに対する再構築の質の増加の少なくとも１つを得るために導出される、方法が開示される。
【０００７】
ピクチャブロックを符号化するためのデバイスであって、
−  ブロックの少なくとも１つのサンプルに対して及び１つの現在の成分に対して、予測値を得るための手段と、
−  マッピング関数に応答してサンプルのソース値から及び予測値からマッピング済みの残差値を決定するための手段と、
−  マッピング済みの残差値を符号化してビットストリームに埋め込むための手段と
を含む、デバイスであり、マッピング関数が、所定の再構築の質に対するビットストリームのビットコストの低減又はビットストリームの所定のビットコストに対する再構築の質の増加の少なくとも１つを得るために導出される、デバイス。
【０００８】
変形形態では、ピクチャブロックにアクセスするように構成された通信インタフェースと、少なくとも１つのプロセッサとを含む符号化デバイスであって、少なくとも１つのプロセッサが、
−  アクセスしたブロックの少なくとも１つのサンプルに対して及び１つの現在の成分に対して、予測値を得ることと、
−  マッピング関数に応答してサンプルのソース値から及び予測値からマッピング済みの残差値を決定することと、
−  マッピング済みの残差値を符号化してビットストリームに埋め込むことと
を行うように構成され、マッピング関数が、所定の再構築の質に対するビットストリームのビットコストの低減又はビットストリームの所定のビットコストに対する再構築の質の増加の少なくとも１つを得るために導出される、符号化デバイスが開示される。
【０００９】
ピクチャブロックを表すビットストリームであって、
−  マッピング済みの残差値を表すコード化済みのデータであって、マッピング済みの残差値が、マッピング関数に応答してサンプルのソース値から及び予測値からブロックの少なくとも１つのサンプルに対して及び１つの現在の成分に対して得られ、マッピング関数が、所定の再構築の質に対するビットストリームのビットコストの低減又はビットストリームの所定のビットコストに対する再構築の質の増加の少なくとも１つを得るために導出される、コード化済みのデータと、
−  マッピング関数を表すコード化済みのデータと
を含む、ビットストリームが開示される。
【００１０】
変形形態では、ピクチャブロックを表すビットストリームが格納された非一時的なプロセッサ可読媒体であって、ビットストリームが、
−  マッピング済みの残差値を表すコード化済みのデータであって、マッピング済みの残差値が、マッピング関数に応答してサンプルのソース値から及び予測値からブロックの少なくとも１つのサンプルに対して及び１つの現在の成分に対して得られ、マッピング関数が、所定の再構築の質に対するビットストリームのビットコストの低減又はビットストリームの所定のビットコストに対する再構築の質の増加の少なくとも１つを得るために導出される、コード化済みのデータと、
−  マッピング関数を表すコード化済みのデータと
を含む、非一時的なプロセッサ可読媒体が開示される。
【００１１】
−  マッピング済みの残差値を表すコード化済みのデータを送信することであって、マッピング済みの残差値が、マッピング関数に応答してサンプルのソース値から及び予測値からピクチャブロックの少なくとも１つのサンプルに対して及び１つの現在の成分に対して得られ、マッピング関数が、所定の再構築の質に対するビットストリームのビットコストの低減又はビットストリームの所定のビットコストに対する再構築の質の増加の少なくとも１つを得るために導出される、送信することと、
−  マッピング関数を表すコード化済みのデータを送信することと
を含む、送信方法が開示される。
【００１２】
−  マッピング済みの残差値を表すコード化済みのデータを送信するための手段であって、マッピング済みの残差値が、マッピング関数に応答してサンプルのソース値から及び予測値からピクチャブロックの少なくとも１つのサンプルに対して及び１つの現在の成分に対して得られ、マッピング関数が、所定の再構築の質に対するビットストリームのビットコストの低減又はビットストリームの所定のビットコストに対する再構築の質の増加の少なくとも１つを得るために導出される、送信するための手段と、
−  マッピング関数を表すコード化済みのデータを送信するための手段と
を含む、送信デバイスが開示される。
【００１３】
ピクチャブロックにアクセスするように構成された通信インタフェースと、少なくとも１つのプロセッサとを含む送信デバイスであって、少なくとも１つのプロセッサが、
−  マッピング済みの残差値を表すコード化済みのデータを送信することであって、マッピング済みの残差値が、マッピング関数に応答してサンプルのソース値から及び予測値からブロックの少なくとも１つのサンプルに対して及び１つの現在の成分に対して得られ、マッピング関数が、所定の再構築の質に対するビットストリームのビットコストの低減又はビットストリームの所定のビットコストに対する再構築の質の増加の少なくとも１つを得るために導出される、送信することと、
−  マッピング関数を表すコード化済みのデータを送信することと
を行うように構成される、送信デバイスが開示される。
【００１４】
以下の実施形態は、上記で開示される符号化方法、符号化デバイス、ビットストリーム、プロセッサ可読媒体、送信方法及び送信デバイスに当てはまる。
【００１５】
第１の特定の及び非限定的な実施形態では、マッピング済みの残差値を決定することは、
−  マッピング関数を用いてサンプルのソース値をマッピングすることと、
−  マッピング関数を用いてサンプルの予測値をマッピングすることと、
−  マッピング済みの成分値からマッピング済みの予測値を減じることによって、マッピング済みの残差値を決定することと
を含む。
【００１６】
第２の特定の及び非限定的な実施形態では、マッピング済みの残差値を決定することは、
−  サンプルのソース値から予測値を減じることによって、中間残差値を決定することと、
−  予測値に応じて、マッピング関数に応答して中間残差値をマッピングすることと
を含む。
【００１７】
第３の特定の及び非限定的な実施形態では、予測値に応じて、マッピング関数に応答して中間残差値をマッピングすることは、中間残差値にスケーリングファクタを乗じることであって、スケーリングファクタが、サンプルの予測値に依存する、乗じることを含む。
【００１８】
第４の特定の及び非限定的な実施形態では、予測値に応じて、マッピング関数に応答して中間残差値をマッピングすることは、中間残差値にスケーリングファクタを乗じることであって、スケーリングファクタが、サンプルの別の成分に対して得られた予測値に依存し、別の成分が、現在の成分とは異なる、乗じることを含む。
【００１９】
ピクチャブロックを復号するための方法であって、ブロックの少なくとも１つのサンプルに対して及び１つの現在の成分に対して、
−  予測値を得ることと、
−  サンプルに対する残差値を復号することと、
−  マッピング関数に応答して復号済みの残差値から及び予測値からサンプルに対する再構築値を決定することと
を含む、方法であり、マッピング関数が、所定の再構築の質に対するビットストリームのビットコストの低減又はビットストリームの所定のビットコストに対する再構築の質の増加の少なくとも１つを得るために導出される、方法が開示される。
【００２０】
ピクチャブロックを復号するためのデバイスであって、
−  ブロックの少なくとも１つのサンプルに対して及び１つの現在の成分に対して、予測値を得るための手段と、
−  サンプルに対する残差値を復号するための手段と、
−  マッピング関数に応答して復号済みの残差値から及び予測値からサンプルに対する再構築値を決定するための手段と
を含む、デバイスであり、マッピング関数が、所定の再構築の質に対するビットストリームのビットコストの低減又はビットストリームの所定のビットコストに対する再構築の質の増加の少なくとも１つを得るために導出される、デバイスも開示される。
【００２１】
変形形態では、ビットストリームにアクセスするように構成された通信インタフェースと、少なくとも１つのプロセス復号又はとを含む復号デバイスであって、少なくとも１つのプロセス復号又はが、
−  ブロックの少なくとも１つのサンプルに対して及び１つの現在の成分に対して、予測値を得ることと、
−  アクセスしたビットストリームからサンプルに対する残差値を復号することと、
−  マッピング関数に応答して復号済みの残差値から及び予測値からサンプルに対する再構築値を決定することと
を行うように構成され、マッピング関数が、所定の再構築の質に対するビットストリームのビットコストの低減又はビットストリームの所定のビットコストに対する再構築の質の増加の少なくとも１つを得るために導出される、復号デバイスが開示される。
【００２２】
以下の実施形態は、上記で開示される復号方法及び復号デバイスに当てはまる。
【００２３】
第１の特定の及び非限定的な実施形態では、サンプルに対する再構築値を決定することは、
−  マッピング関数を用いてサンプルの予測値をマッピングすることと、
−  マッピング関数の逆関数を用いて復号済みの残差値をマッピングすることと、
−  マッピング済みの予測値をマッピングされた復号済みの残差値に加えることによって、再構築値を決定することと
を含む。
【００２４】
第２の特定の及び非限定的な実施形態では、サンプルに対する再構築値を決定することは、
−  予測値に応じて、マッピング関数の逆関数を用いて復号済みの残差値をマッピングすることと、
−  予測値をマッピングされた復号済みの残差値に加えることによって、再構築値を決定することと
を含む。
【００２５】
第３の特定の及び非限定的な実施形態では、予測値に応じて、マッピング関数の逆関数を用いて復号済みの残差値をマッピングすることは、復号済みの残差値にスケーリングファクタを乗じることであって、スケーリングファクタが、サンプルの予測値に依存する、乗じることを含む。
【００２６】
第４の特定の及び非限定的な実施形態では、予測値に応じて、マッピング関数の逆関数を用いて復号済みの残差値をマッピングすることは、復号済みの残差値にスケーリングファクタを乗じることであって、スケーリングファクタが、サンプルの別の成分に対して得られた予測値に依存し、別の成分が、現在の成分とは異なる、乗じることを含む。
【図面の簡単な説明】
【００２７】
４．図面の簡単な概要
【図１】特定の及び非限定的な実施形態による、ピクチャを符号化してビットストリームに埋め込むように構成された送信機の例示的なアーキテクチャを表す。
【図２】本原理による、符号化方法を実行するように適応させた例示的な映像エンコーダ（例えば、ＨＥＶＣ映像エンコーダ）を示す。
【図３】特定の及び非限定的な実施形態による、復号済みのピクチャを得るためにビットストリームからピクチャを復号するように構成された受信機の例示的なアーキテクチャを表す。
【図４】本原理による、復号方法を実行するように適応させた例示的な映像デコーダ（例えば、ＨＥＶＣ映像デコーダ）のブロック図を示す。
【図５Ａ】様々な実施形態による、ピクチャブロックを符号化してビットストリームに埋め込むための方法のフローチャートを表す。
【図５Ｂ】様々な実施形態による、ビットストリームからピクチャブロックを復号するための方法のフローチャートを表す。
【図６Ａ】様々な実施形態による、ピクチャブロックを符号化してビットストリームに埋め込むための方法のフローチャートを表す。
【図６Ｂ】様々な実施形態による、ビットストリームからピクチャブロックを復号するための方法のフローチャートを表す。
【図７】マッピング関数ｆｍａｐ及びその逆関数ｉｎｖｆｍａｐを描写する。
【図８Ａ】様々な実施形態による、ピクチャブロックを符号化してビットストリームに埋め込むための方法のフローチャートを表す。
【図８Ｂ】様々な実施形態による、ビットストリームからピクチャブロックを復号するための方法のフローチャートを表す。
【図９】マッピング関数ｆｍａｐの導関数ｆ’ｍａｐ及び関数１／ｆ’ｍａｐを描写する。
【図１０Ａ】様々な実施形態による、ピクチャブロックを符号化してビットストリームに埋め込むための方法のフローチャートを表す。
【図１０Ｂ】様々な実施形態による、ビットストリームからピクチャブロックを復号するための方法のフローチャートを表す。
【図１１Ａ】様々な実施形態による、ピクチャブロックを符号化してビットストリームに埋め込むための方法のフローチャートを表す。
【図１１Ｂ】様々な実施形態による、ビットストリームからピクチャブロックを復号するための方法のフローチャートを表す。
【図１２】ｄＱＰ表から構築されたすべての又は制限された範囲のマッピング関数を示す。
【発明を実施するための形態】
【００２８】
５．詳細な説明
図及び説明は、本原理の明確な理解に関連する要素を示すために簡略化されている一方で、明確にするために、典型的な符号化及び／又は復号デバイスにおいて見られる他の多くの要素を排除していることを理解されたい。本明細書では、「第１の」及び「第２の」という用語は、様々な要素を説明するために使用することができ、これらの要素は、これらの用語によって制限されるべきではないことが理解されよう。これらの用語は、ある要素を別の要素と区別するためだけに使用される。
【００２９】
ピクチャは、モノクロフォーマットのルマサンプルのアレイであるか、又は、４：２：０、４：２：２、及び４：４：４カラーフォーマットのルマサンプルの１つのアレイ並びにクロマサンプルの２つの対応するアレイである。一般に、「ブロック」は、サンプルアレイの特定のエリア（例えば、ルマＹ）に対処し、「単位」は、すべての色成分の配列ブロック（ルマＹと、場合により、クロマＣｂ及びクロマＣｒ）を含む。スライスは、ＨＥＶＣコード化木単位又はＨ．２６４マクロブロック単位など、整数の数の基本的なコード化単位である。スライスは、完全なピクチャ及びその一部からなり得る。各スライスは、１つ又は複数のスライスセグメントを含み得る。
【００３０】
以下では、「再構築される」と「復号される」という用語は、交換可能に使用することができる。通常は（ただし、必須ではないが）、「再構築される」はエンコーダ側で使用され、「復号される」はデコーダ側で使用される。「復号される」又は「再構築される」という用語は、ビットストリームが部分的に「復号される」又は「再構築される」こと（例えば、デブロッキングフィルタリングの後（ただし、ＳＡＯフィルタリングの前）に得られた信号）、及び再構築サンプルが表示のために使用される最終的な復号済みの出力とは異なり得ることを意味し得ることに留意すべきである。また、「画像」、「ピクチャ」及び「フレーム」という用語を交換可能に使用することもできる。また、「サンプル」及び「画素」という用語を交換可能に使用することもできる。
【００３１】
様々な実施形態は、ＨＥＶＣ規格に対して説明されている。しかし、本原理は、ＨＥＶＣに限定されず、例えば、ＨＥＶＣ又はＨＥＶＣ拡張（フォーマットレンジ（ＲＥｘｔ）、スケーラビリティ（ＳＨＶＣ）、マルチビュー（ＭＶ−ＨＥＶＣ）拡張及びＨ．２６６のような）を含む、他の規格、勧告及びそれらの拡張に適用することができる。様々な実施形態は、スライスの符号化／復号に対して説明されている。様々な実施形態は、全ピクチャ又はピクチャの全シーケンスの符号化／復号に適用することができる。
【００３２】
本原理の「一実施形態」又は「実施形態」及びそれらの他の変形例への言及は、実施形態と関係して説明される特定の特徴、構造、特性などが少なくとも１つの実施形態に含まれることを意味する。従って、本明細書全体を通じて様々な場所に現れる「一実施形態では」、「実施形態では」、「一実装形態では」又は「実装形態では」という記載及び他の任意の変形例の出現は、必ずしもすべてが同じ実施形態を指すとは限らない。
【００３３】
次の「／」、「及び／又は」、及び「〜の少なくとも１つ」のいずれかの使用は、例えば、「Ａ／Ｂ」、「Ａ及び／又はＢ」、及び「Ａ又はＢの少なくとも１つ」の事例では、第１のリストオプション（Ａ）のみの選択、第２のリストオプション（Ｂ）のみの選択、又は、両方のオプション（Ａ及びＢ）の選択を包含することを意図することを理解されたい。さらなる例として、「Ａ、Ｂ及び／又はＣ」並びに「Ａ、Ｂ又はＣの少なくとも１つ」の事例では、そのような記載は、第１のリストオプション（Ａ）のみの選択、第２のリストオプション（Ｂ）のみの選択、第３のリストオプション（Ｃ）のみの選択、第１及び第２のリストオプション（Ａ及びＢ）のみの選択、第１及び第３のリストオプション（Ａ及びＣ）のみの選択、第２及び第３のリストオプション（Ｂ及びＣ）のみの選択、又は、すべての３つのオプション（Ａ、Ｂ及びＣ）の選択を包含することを意図する。これは、この技術分野及び関連技術分野の当業者にとって容易に明らかであるように、リストされるアイテムの数だけ拡張することができる。
【００３４】
上記では様々な方法が説明されており、方法の各々は、説明される方法を達成するための１つ若しくは複数のステップ又は動作を含む。方法の正しい動作のために特定の順番のステップ又は動作が必要とされない限り、特定のステップ及び／又は動作の順番及び／又は使用は、修正することも、又は組み合わせることもできる。
【００３５】
図１は、特定の及び非限定的な実施形態による、ピクチャを符号化してビットストリームに埋め込むように構成された送信機１０００の例示的なアーキテクチャを表す。
【００３６】
送信機１０００は、１つ又は複数のプロセッサ１００５を含み、１つ又は複数のプロセッサ１００５は、例えば、ＣＰＵ、ＧＰＵ及び／又はＤＳＰ（デジタル信号プロセッサの英語の頭字語）を含み得、内部メモリ１０３０（例えば、ＲＡＭ、ＲＯＭ及び／又はＥＰＲＯＭ）を伴う。送信機１０００は、各々が出力情報を表示するように及び／又はユーザがコマンド及び／又はデータを入力できるように適応された１つ又は複数の通信インタフェース１０１０（例えば、キーボード、マウス、タッチパッド、ウェブカメラ）と、送信機１０００の外部のものであり得る電源１０２０とを含む。また、送信機１０００は、１つ又は複数のネットワークインタフェース（図示せず）も含み得る。エンコーダモジュール１０４０は、コード化機能を実行するためにデバイスに含めることができるモジュールを表す。それに加えて、エンコーダモジュール１０４０は、当業者に知られているようなハードウェアとソフトウェアの組合せとして、送信機１０００の別個の要素として実装することも、又はプロセッサ１００５内に組み込むこともできる。
【００３７】
ピクチャは、供給源から得ることができる。異なる実施形態によれば、供給源は、これらに限定されないが、
−  ローカルメモリ（例えば、ビデオメモリ、ＲＡＭ、フラッシュメモリ、ハードディスク）、
−  記憶装置インタフェース（例えば、大容量記憶装置、ＲＯＭ、光ディスク又は磁気サポートとのインタフェース）、
−  通信インタフェース（例えば、有線インタフェース（例えば、バスインタフェース、広域ネットワークインタフェース、ローカルエリアネットワークインタフェース）又は無線インタフェース（ＩＥＥＥ８０２．１１インタフェース若しくはBluetoothインタフェースなど））、及び、
−  ピクチャ捕捉回路（例えば、センサ、例えば、ＣＣＤ（若しくは電荷結合素子）又はＣＭＯＳ（若しくは相補型金属酸化膜半導体）など）
であり得る。
【００３８】
異なる実施形態によれば、ビットストリームは、送り先に送信することができる。例として、ビットストリームは、リモート又はローカルメモリ（例えば、ビデオメモリ又はＲＡＭ、ハードディスク）に格納される。変形形態では、ビットストリームは、記憶装置インタフェース（例えば、大容量記憶装置、ＲＯＭ、フラッシュメモリ、光ディスク若しくは磁気サポートとのインタフェース）に送られる、及び／又は、通信インタフェース（例えば、ポイントツーポイントリンク、通信バス、ポイントツーマルチポイントリンク若しくは放送ネットワークとのインタフェース）上で送信される。
【００３９】
例示的な及び非限定的な実施形態によれば、送信機１０００は、メモリ１０３０に格納されたコンピュータプログラムをさらに含む。コンピュータプログラムは、命令を含み、命令は、送信機１０００によって（具体的には、プロセッサ１００５によって）実行されると、図５Ａ、６Ａ、８Ａ、１０Ａ及び１１Ａを参照して説明される符号化方法を送信機１０００が実行できるようにする。変形形態によれば、コンピュータプログラムは、送信機１０００の外部の非一時的なデジタルデータサポート上（例えば、ＨＤＤ、ＣＤ−ＲＯＭ、ＤＶＤ、読み取り専用及び／又はＤＶＤドライブ及び／又はＤＶＤ読み取り／書き込みドライブなどの外部の記憶媒体上）に格納され、そのすべては、当技術分野で知られている。従って、送信機１０００は、コンピュータプログラムを読み取るためのメカニズムを含む。さらに、送信機１０００は、対応するＵＳＢポート（図示せず）を通じて、１つ又は複数のユニバーサルシリアルバス（ＵＳＢ）タイプの記憶装置（例えば、「メモリスティック」）にアクセスすることができる。
【００４０】
例示的な及び非限定的な実施形態によれば、送信機１０００は、これらに限定されないが、
−  モバイルデバイス、
−  通信デバイス、
−  ゲームデバイス、
−  タブレット（又はタブレットコンピュータ）、
−  ラップトップ、
−  静止ピクチャカメラ、
−  ビデオカメラ、
−  符号化チップ又は符号化デバイス／装置、
−  静止ピクチャサーバ、及び
−  映像サーバ（例えば、放送サーバ、ビデオオンデマンドサーバ又はウェブサーバ）
であり得る。
【００４１】
図２は、図５Ａ、６Ａ、８Ａ、１０Ａ及び１１Ａの実施形態のうちの１つによる符号化方法を実行するように適応させた例示的な映像エンコーダ１００（例えば、ＨＥＶＣ映像エンコーダ）を示す。エンコーダ１００は、送信機１０００又はそのような送信機１０００の一部の例である。
【００４２】
コード化の場合、ピクチャは、通常、基本的なコード化単位に（例えば、ＨＥＶＣではコード化木単位（ＣＴＵ）に又はＨ．２６４ではマクロブロック単位に）区分化される。恐らくは連続的な基本的なコード化単位のセットは、スライスに分類される。基本的なコード化単位は、すべての色成分の基本的なコード化ブロックを含む。ＨＥＶＣでは、１６×１６の最小ＣＴＢサイズは、以前の映像コード化規格において使用されるようなマクロブロックサイズに相当する。本明細書では、符号化／復号方法及び符号化／復号装置を説明するためにＣＴＵ及びＣＴＢという用語が使用されているが、これらの方法及び装置は、これらの特定の用語によって制限されるべきではなく、Ｈ．２６４などの他の規格では違う言葉（例えば、マクロブロック）で表現され得ることが理解されよう。
【００４３】
ＨＥＶＣでは、ＣＴＢは、コード化ブロック（ＣＢ）に区分化された四分木の根であり、コード化ブロックは、１つ又は複数の予測ブロック（ＰＢ）に区分化され、変換ブロック（ＴＢ）に区分化された四分木の根を形成する。コード化ブロック、予測ブロック及び変換ブロックに対応して、コード化単位（ＣＵ）は、予測単位（ＰＵ）及び変換単位（ＴＵ）の木構造セットを含み、ＰＵは、すべての色成分に対する予測情報を含み、ＴＵは、各色成分に対する残差コード化構文構造を含む。ルマ成分のＣＢ、ＰＢ及びＴＢのサイズは、対応するＣＵ、ＰＵ及びＴＵに当てはまる。本出願では、「ブロック」又は「ピクチャブロック」という用語は、ＣＴＵ、ＣＵ、ＰＵ、ＴＵ、ＣＢ、ＰＢ及びＴＢのいずれか１つを指すために使用することができる。それに加えて、「ブロック」又は「ピクチャブロック」という用語は、Ｈ．２６４／ＡＶＣ又は他の映像コード化規格において指定されるようなマクロブロック、パーティション及びサブブロックを指すために使用することができ、より一般的には、様々なサイズのサンプルのアレイを指すために使用することができる。
【００４４】
例示的なエンコーダ１００では、ピクチャは、以下で説明されるようなエンコーダ要素によって符号化される。符号化予定のピクチャは、ＣＵの単位において処理される。各ＣＵは、イントラ又はインターモードを使用して符号化される。ＣＵがイントラモードで符号化される際は、イントラ予測（１６０）が実行される。インターモードでは、動き推定（１７５）及び補償（１７０）が実行される。エンコーダは、ＣＵを符号化するためにイントラモード又はインターモードのどちらを使用するかを決定し（１０５）、予測モードフラグによってイントラ／インター決定を示す。残差は、オリジナルのピクチャブロックから予測サンプルブロック（予測因子としても知られている）を減じること（１１０）によって計算される。予測サンプルブロックは、ブロックの各サンプルに対して１つずつ予測値を含む。
【００４５】
イントラモードにおけるＣＵは、同じスライス内の再構築された近隣のサンプルから予測される。３５のイントラ予測モードのセットがＨＥＶＣにおいて利用可能であり、ＤＣ、平面及び３３の角度予測モードを含む。イントラ予測参照は、現在のブロックに隣接する行及び列から再構築される。参照は、以前に再構築されたブロックから利用可能なサンプルを使用して、水平及び垂直方向においてブロックサイズの２倍超に及ぶ。イントラ予測に対して角度予測モードが使用される際は、参照サンプルは、角度予測モードによって示される方向に沿ってコピーすることができる。
【００４６】
現在のブロックに対して適用可能なルマイントラ予測モードは、２つの異なるオプションを使用してコード化することができる。適用可能なモードが３つの最確モード（ＭＰＭ）の構築リストに含まれる場合は、モードは、ＭＰＭリストのインデックスによって信号伝達される。そうでなければ、モードは、モードインデックスの固定長二進化によって信号伝達される。３つの最確モードは、上及び左の近隣のブロックのイントラ予測モードから導出される。
【００４７】
インターＣＵの場合は、対応するコード化ブロックは、１つ又は複数の予測ブロックにさらに区分化される。インター予測は、ＰＢレベルで実行され、対応するＰＵは、インター予測がどのように実行されるかについての情報を含む。
【００４８】
動き情報（すなわち、動きベクトル及び参照インデックス）は、２つの方法、すなわち、「高度な動きベクトル予測（ＡＭＶＰ）」及び「マージモード」で信号伝達することができる。ＡＭＶＰでは、映像エンコーダ又はデコーダは、既にコード化されているブロックから決定された動きベクトルに基づいて候補リストを組み立てる。次いで、映像エンコーダは、動きベクトル予測因子（ＭＶＰ）を識別するために候補リストにインデックスを信号伝達し、動きベクトル差（ＭＶＤ）を信号伝達する。デコーダ側では、動きベクトル（ＭＶ）は、ＭＶＰ＋ＭＶＤとして再構築される。
【００４９】
マージモードでは、映像エンコーダ又はデコーダは、既にコード化されているブロックに基づいて候補リストを組み立て、映像エンコーダは、候補リスト内の候補のうちの１つに対するインデックスを信号伝達する。デコーダ側では、動きベクトル及び参照ピクチャインデックスは、信号伝達された候補に基づいて再構築される。
【００５０】
ＨＥＶＣでは、動き補償のための動き情報の精度は、ルマ成分に対して１／４サンプルであり、クロマ成分に対して１／８サンプルである。７タップ又は８タップ補間フィルタは、分数サンプルのサンプル位置の補間に使用される。すなわち、水平方向と垂直方向の両方における全サンプル場所の１／４、１／２及び３／４は、ルマに対処することができる。
【００５１】
残差は、変換（１２５）及び量子化（１３０）が行われる。量子化済みの変換係数並びに動きベクトル及び他の構文要素は、ビットストリームを出力するために、エントロピーコード化（１４５）される。また、エンコーダは、変換をスキップして、４×４ＴＵベースで非変換残差信号に量子化を直接適用することもできる。また、エンコーダは、変換と量子化の両方を回避することもできる（すなわち、残差は、変換プロセスも量子化プロセスも適用することなく直接コード化される）。直接ＰＣＭコード化では、予測は適用されず、コード化単位サンプルは、直接コード化され、ビットストリームに埋め込まれる。
【００５２】
エンコーダは、復号ループを含み、従って、さらなる予測に対する参照を提供するために、符号化済みのブロックを復号する。量子化済みの変換係数は、残差を復号するために、逆量子化（１４０）及び逆変換（１５０）が行われる。復号済みの残差と予測サンプルブロックを組み合わせること（１５５）で、ピクチャブロックが再構築される。インループフィルタ（１６５）は、例えば、コード化アーチファクトを低減するためにデブロッキング／ＳＡＯ（サンプル適応オフセット）フィルタリングを実行するため、再構築されたピクチャに適用される。フィルタリング済みのピクチャは、参照ピクチャバッファ（１８０）に格納し、他のピクチャに対する参照として使用することができる。
【００５３】
ＨＥＶＣでは、ＳＡＯフィルタリングは、映像レベル、スライスレベル及びＣＴＢレベルで起動又は解除することができる。２つのＳＡＯモード、すなわち、エッジオフセット（ＥＯ）及びバンドオフセット（ＢＯ）が指定される。ＥＯの場合、サンプル分類は、フィルタリング予定のピクチャの局所方向性構造に基づく。ＢＯの場合、サンプル分類は、サンプル値に基づく。ＥＯ又はＢＯに対するパラメータは、明示的にコード化するか又は近隣から導出することができる。ＳＡＯは、ルマ及びクロマ成分に適用することができ、ＳＡＯモードは、Ｃｂ及びＣｒ成分に対して同じである。ＳＡＯパラメータ（すなわち、オフセット、ＳＡＯタイプＥＯ、ＢＯ及び解除、ＥＯの事例ではクラス、ＢＯの事例ではバンド位置）は、各色成分に対して個別に構成される。
【００５４】
図３は、特定の及び非限定的な実施形態による、復号済みのピクチャを得るためにビットストリームからピクチャを復号するように構成された受信機２０００の例示的なアーキテクチャを表す。
【００５５】
受信機２０００は、１つ又は複数のプロセッサ２００５を含み、１つ又は複数のプロセッサ２００５は、例えば、ＣＰＵ、ＧＰＵ及び／又はＤＳＰ（デジタル信号プロセッサの英語の頭字語）を含み得、内部メモリ２０３０（例えば、ＲＡＭ、ＲＯＭ及び／又はＥＰＲＯＭ）を伴う。受信機２０００は、各々が出力情報を表示するように及び／又はユーザがコマンド及び／又はデータ（例えば、復号済みのピクチャ）を入力できるように適応された１つ又は複数の通信インタフェース２０１０（例えば、キーボード、マウス、タッチパッド、ウェブカメラ）と、受信機２０００の外部のものであり得る電源２０２０とを含む。また、受信機２０００は、１つ又は複数のネットワークインタフェース（図示せず）も含み得る。デコーダモジュール２０４０は、復号機能を実行するためにデバイスに含めることができるモジュールを表す。それに加えて、デコーダモジュール２０４０は、当業者に知られているようなハードウェアとソフトウェアの組合せとして、受信機２０００の別個の要素として実装することも、又はプロセッサ２００５内に組み込むこともできる。
【００５６】
ビットストリームは、供給源から得ることができる。異なる実施形態によれば、供給源は、これらに限定されないが、
−  ローカルメモリ（例えば、ビデオメモリ、ＲＡＭ、フラッシュメモリ、ハードディスク）、
−  記憶装置インタフェース（例えば、大容量記憶装置、ＲＯＭ、光ディスク又は磁気サポートとのインタフェース）、
−  通信インタフェース（例えば、有線インタフェース（例えば、バスインタフェース、広域ネットワークインタフェース、ローカルエリアネットワークインタフェース）又は無線インタフェース（ＩＥＥＥ８０２．１１インタフェース若しくはBluetoothインタフェースなど））、及び、
−  画像捕捉回路（例えば、センサ、例えば、ＣＣＤ（若しくは電荷結合素子）又はＣＭＯＳ（若しくは相補型金属酸化膜半導体）など）
であり得る。
【００５７】
異なる実施形態によれば、復号済みのピクチャは、送り先（例えば、表示デバイス）に送信することができる。例として、復号済みのピクチャは、リモート又はローカルメモリ（例えば、ビデオメモリ又はＲＡＭ、ハードディスク）に格納される。変形形態では、復号済みのピクチャは、記憶装置インタフェース（例えば、大容量記憶装置、ＲＯＭ、フラッシュメモリ、光ディスク若しくは磁気サポートとのインタフェース）に送られる、及び／又は、通信インタフェース（例えば、ポイントツーポイントリンク、通信バス、ポイントツーマルチポイントリンク若しくは放送ネットワークとのインタフェース）上で送信される。
【００５８】
特定の及び非限定的な実施形態によれば、受信機２０００は、メモリ２０３０に格納されたコンピュータプログラムをさらに含む。コンピュータプログラムは、命令を含み、命令は、受信機２０００によって（具体的には、プロセッサ２００５によって）実行されると、図５Ｂ、６Ｂ、８Ｂ、１０Ｂ及び１１Ｂを参照して説明される復号方法を受信機が実行できるようにする。変形形態によれば、コンピュータプログラムは、受信機２０００の外部の非一時的なデジタルデータサポート上（例えば、ＨＤＤ、ＣＤ−ＲＯＭ、ＤＶＤ、読み取り専用及び／又はＤＶＤドライブ及び／又はＤＶＤ読み取り／書き込みドライブなどの外部の記憶媒体上）に格納され、そのすべては、当技術分野で知られている。従って、受信機２０００は、コンピュータプログラムを読み取るためのメカニズムを含む。さらに、受信機２０００は、対応するＵＳＢポート（図示せず）を通じて、１つ又は複数のユニバーサルシリアルバス（ＵＳＢ）タイプの記憶装置（例えば、「メモリスティック」）にアクセスすることができる。
【００５９】
例示的な及び非限定的な実施形態によれば、受信機２０００は、これらに限定されないが、
−  モバイルデバイス、
−  通信デバイス、
−  ゲームデバイス、
−  セットトップボックス、
−  ＴＶセット、
−  タブレット（又はタブレットコンピュータ）、
−  ラップトップ、
−  ビデオプレーヤ（例えば、Blu-rayプレーヤ、ＤＶＤプレーヤ）、
−  ディスプレイ、及び
−  復号チップ又は復号デバイス／装置
であり得る。
【００６０】
図４は、図５Ｂ、６Ｂ、８Ｂ、１０Ｂ及び１１Ｂの一実施形態による復号方法を実行するように適応させた例示的な映像デコーダ２００（例えば、ＨＥＶＣ映像デコーダ）のブロック図を示す。映像デコーダ２００は、受信機２０００又はそのような受信機２０００の一部の例である。例示的なデコーダ２００では、ビットストリームは、以下で説明されるようなデコーダ要素によって復号される。映像デコーダ２００は、一般に、映像データの符号化の一部として映像復号を実行する図２において説明されるような符号化パスとは逆の復号パスを実行する。
【００６１】
具体的には、デコーダの入力は、映像ビットストリームを含み、映像ビットストリームは、映像エンコーダ１００によって生成することができる。ビットストリームは、最初に、変換係数、動きベクトル及び他のコード化情報を得るために、エントロピー復号される（２３０）。変換係数は、残差を復号するために、逆量子化（２４０）及び逆変換（２５０）が行われる。次いで、復号済みの／再構築されたピクチャブロックを得るために、復号済みの残差が予測サンプルブロック（予測因子としても知られている）と組み合わされる（２５５）。予測サンプルブロックは、イントラ予測（２６０）又は動き補償予測（すなわち、インター予測）（２７５）から得ることができる（２７０）。上記で説明されるように、動き補償の間、ＡＭＶＰ及びマージモード技法を使用することができ、動き補償では、参照ブロックのサブ整数サンプルに対する補間値を計算するために補間フィルタを使用することができる。インループフィルタ（２６５）は、再構築されたピクチャに適用される。インループフィルタは、デブロッキングフィルタ及びＳＡＯフィルタを含み得る。フィルタリング済みのピクチャは、参照ピクチャバッファ（２８０）で格納される。
【００６２】
図５Ａは、本原理による、ピクチャブロックを符号化してビットストリームに埋め込むための方法のフローチャートを表す。画素レベルでマッピング済みの残差サンプルを得るため、コード化ループにおいてマッピングが適用される。先行技術とは対照的に、符号化方法の入力サンプルは、マッピングによって修正されることはない。デコーダ側では、デコーダからの出力サンプルは、逆マッピングによって修正されることはない。マッピングは、ピクチャの１つ又はいくつかの成分に適用することができる。例えば、マッピングは、ルマ成分のみ、クロマ成分のみ、又は、ルマ及びクロマ成分に適用することができる。
【００６３】
方法は、ステップＳ１００から始まる。ステップＳ１１０では、送信機１０００（例えば、エンコーダ１００など）は、ピクチャスライスのブロックにアクセスする。ステップＳ１２０では、送信機は、アクセスしたブロックの少なくとも１つのサンプルに対して及び少なくとも１つの成分に対して（例えば、ルマに対して）、そのソース値Ｏｒｉｇ（ｘ，ｙ）の予測値Ｐｒｅｄ（ｘ，ｙ）を得る。（ｘ，ｙ）は、ピクチャのサンプルの空間座標である。予測値は、ブロックに対して選択された予測モード（イントラ／インターモード）に応じて得られる（すなわち、通常は決定される）。
【００６４】
ステップＳ１３０では、送信機は、サンプルに対して、マッピング関数ｆｍａｐ（）に応答してサンプルのソース値Ｏｒｉｇ（ｘ，ｙ）から及び予測値Ｐｒｅｄ（ｘ，ｙ）からマッピング済みの残差値を決定する。マッピング関数は、コード化利得を得るために、すなわち、所定の視覚的若しくは客観的な再構築の質に対するビットストリームのビットコスト（すなわち、ビット数）の低減又は所定のビットコストに対する視覚的若しくは客観的な再構築の質の増加を得るために、定義又は導出される。ブロック、ピクチャ又はピクチャシーケンスを符号化して所定のサイズ（すなわち、所定のビット数）のビットストリームに埋め込む際は、ブロック、ピクチャ又はピクチャシーケンスの受信機側の再構築の質は、このサイズに依存する。他方では、ブロック、ピクチャ、ピクチャシーケンスを所定の再構築の質で符号化する際は、ビットストリームのサイズは、この再構築の質に依存する。
【００６５】
ほとんどの事例では、再構築の質を表す歪みは、入力信号と出力信号との差の２乗の期待値（すなわち、平均２乗誤差）として定義される。しかし、ほとんどのロッシー圧縮技法は、人間である消費者（ピクチャ及び映像の視聴者）によって知覚されるデータに基づいて動作するため、歪み尺度は、好ましくは、人間の知覚に基づいて、恐らくは美学に基づいて、モデル化することができる。
【００６６】
例えば、マッピング関数は、以下の手法のうちの１つによって導出することができる。
−  マッピング関数は、図７で描写されるように、成分値の振幅値が小さいものよりも成分値の振幅値が大きいものに対して残差値の振幅がより増加するように導出される。
−  改善された知覚的な又は客観的なコード化性能を得るために、事前に定義されたエンコーダ量子化調整表ｄｅｌｔａＱＰ又は量子化調整関数ｄＱＰ（Ｙ）（Ｙは、映像信号ルマである）を導出又は調節することができる。ｄｅｌｔａＱＰ又はｄＱＰ（Ｙ）から、ｓｃ（Ｙ）＝２＾（−ｄＱＰ（Ｙ）／６）の通り（式中、＾は、べき乗演算子である）、スケーリング関数を導出することができる。スケーリング関数は、マッピング関数において使用することができ、残差とスケーリング関数から導出されたスケーリング値との乗算に相当し得る。変形形態では、マッピング関数は、このスケーリング関数が残差に適用されたマッピング関数の導関数であることを考慮することによって導出することができる。
−  ステップＳ１３０において残差をマッピングするために、プリエンコーダ関数Ｍａｐ（Ｙ）（Ｙは、ルマ映像信号である）又はＭａｐ（Ｙ）の導関数（スケーリング関数である）をマッピング関数ｆｍａｐ（）として使用することができる。プリエンコーダ関数Ｍａｐ（Ｙ）は、信号のオリジナルのサンプルが（このプリエンコーダ関数Ｍａｐ（Ｙ）によってマッピングされた時点で）全コードワード範囲においてより良く分布するように（例えば、ヒストグラム平坦化のおかげで）導出される。
【００６７】
上記で言及される３つの手法に加えて、残差値のマッピングが圧縮性能を改善するならば、他の手法を使用してマッピング関数を導出することができる。
【００６８】
ステップＳ１１０及びＳ１２０は、マッピング済みの残差値のブロックを得るために、アクセスしたブロックの各サンプルに対して繰り返すことができる。
【００６９】
ステップＳ１４０では、送信機は、マッピング済みの残差値を符号化する。マッピング済みの残差値を符号化することは、必須ではないが、通常、残差を変換係数に変換し、量子化済みの係数を得るために量子化ステップサイズＱＰで係数を量子化し、量子化済みの係数をエントロピーコード化してビットストリームに埋め込むことを含む。
【００７０】
方法は、ステップＳ１８０で終了する。
【００７１】
図５Ｂは、図５Ａの符号化方法に相当するビットストリームのピクチャブロックを復号するための方法のフローチャートを表す。
【００７２】
方法は、ステップＳ２００から始まる。ステップＳ２１０では、受信機２０００（デコーダ２００など）は、ビットストリームにアクセスする。
【００７３】
ステップＳ２２０では、受信機は、少なくとも１つの成分に対して（例えば、ルマに対して）、少なくとも１つのサンプルに対する予測値Ｐｒｅｄ（ｘ，ｙ）を得る。（ｘ，ｙ）は、ピクチャのサンプルの空間座標である。予測値は、ブロックに対して選択された予測モード（イントラ／インターモード）に応じて得られる。
【００７４】
ステップＳ２３０では、受信機は、復号予定のサンプルに対する残差値Ｒｅｓ（ｘ，ｙ）を復号する。残差値Ｒｅｓ（ｘ，ｙ）は、図５ＡのステップＳ１４０において符号化されたマッピング済みの残差値の復号済みのバージョンである。復号することは、必須ではないが、通常、変換係数のブロックを得るためにブロックを表すビットストリームの一部分をエントロピー復号し、残差のブロックを得るために変換係数のブロックを逆量子化及び逆変換することを含む。
【００７５】
ステップＳ２４０では、送信機は、サンプルに対して、ステップＳ１３０における符号化方法によって使用されたマッピング関数ｆｍａｐ（）の逆関数であるマッピング関数ｉｎｖｆｍａｐ（）に応答して復号済みの残差値から及び予測値から再構築されたサンプル値を決定する。ステップＳ２２０〜Ｓ２４０は、アクセスしたブロックの各サンプルに対して繰り返すことができる。
【００７６】
方法は、ステップＳ２８０で終了する。
【００７７】
図６Ａは、第１の特定の及び非限定的な実施形態による、ピクチャブロックを符号化してビットストリームに埋め込むための方法のフローチャートを表す。
【００７８】
方法は、ステップＳ１００から始まる。ステップＳ１１０では、送信機１０００（例えば、エンコーダ１００など）は、ピクチャスライスのブロックにアクセスする。ステップＳ１２０では、送信機は、少なくとも１つの成分に対して（例えば、ルマに対して）、アクセスしたブロックの少なくとも１つのサンプルに対する値Ｏｒｉｇ（ｘ，ｙ）の予測値Ｐｒｅｄ（ｘ，ｙ）を得る。（ｘ，ｙ）は、ピクチャのサンプルの空間座標である。予測値は、ブロックに対して選択された予測モード（イントラ／インターモード）に応じて得られる。
【００７９】
ステップＳ１３０では、送信機は、サンプルに対して、マッピング関数ｆｍａｐ（）に応答してサンプルのソース値Ｏｒｉｇ（ｘ，ｙ）から及び予測値Ｐｒｅｄ（ｘ，ｙ）からマッピング済みの残差値を決定する。マッピング関数は、コード化利得を得るために、すなわち、所定の視覚的若しくは客観的な質に対するビットレートの低減又は所定のビットレートに対する視覚的若しくは客観的な質の増加を得るために、定義又は導出される。マッピング関数は、図５Ａを参照して開示される方法のうちの１つによって導出することができる。ステップＳ１１０〜Ｓ１３０は、マッピング済みの残差値のブロックを得るために、アクセスしたブロックの各サンプルに対して繰り返すことができる。第１の実施形態では、Ｒｅｓｍａｐ（ｘ，ｙ）で示されるマッピング済みの残差は、ｆｍａｐ（Ｏｒｉｇ（ｘ，ｙ））−ｆｍａｐ（Ｐｒｅｄ（ｘ，ｙ））に等しい。
【００８０】
ステップＳ１４０では、送信機は、マッピング済みの残差値を符号化する。マッピング済みの残差値を符号化することは、必須ではないが、通常、残差を変換係数に変換し、量子化済みの係数を得るために量子化ステップサイズＱＰで係数を量子化し、量子化済みの係数をエントロピーコード化してビットストリームに埋め込むことを含む。
【００８１】
方法は、ステップＳ１８０で終了する。
【００８２】
図６Ｂは、第１の特定の及び非限定的な実施形態による、図６Ａによる符号化方法の実施形態に相当するビットストリームのピクチャブロックを復号するための方法のフローチャートを表す。
【００８３】
方法は、ステップＳ２００から始まる。ステップＳ２１０では、受信機２０００（デコーダ２００など）は、ビットストリームにアクセスする。
【００８４】
ステップＳ２２０では、受信機は、少なくとも１つの成分に対して（例えば、ルマに対して）、少なくとも１つのサンプルに対する予測値Ｐｒｅｄ（ｘ，ｙ）を得る。（ｘ，ｙ）は、ピクチャのサンプルの空間座標である。予測値は、ブロックに対して選択された予測モード（イントラ／インターモード）に応じて得られる。
【００８５】
ステップＳ２３０では、受信機は、復号予定のサンプルに対する残差値Ｒｅｓ（ｘ，ｙ）を復号する。残差値Ｒｅｓ（ｘ，ｙ）は、図６ＡのステップＳ１４０において符号化されたマッピング済みの残差値の復号済みのバージョンである。復号することは、必須ではないが、通常、変換係数のブロックを得るためにブロックを表すビットストリームの一部分をエントロピー復号し、残差のブロックを得るために変換係数のブロックを逆量子化及び逆変換することを含む。
【００８６】
ステップＳ２４０では、送信機は、サンプルに対して、ステップＳ１３０における符号化方法によって使用されたマッピング関数ｆｍａｐ（）とその逆関数ｉｎｖｆｍａｐ（）の両方に応答して復号済みの残差値Ｒｅｓ（ｘ，ｙ）から及び予測値Ｐｒｅｄ（ｘ，ｙ）から再構築されたサンプル値Ｄｅｃ（ｘ，ｙ）を決定する。ステップＳ２２０〜Ｓ２４０は、再構築ブロックを得るために、アクセスしたブロックの各サンプルに対して繰り返すことができる。第１の実施形態では、Ｄｅｃ（ｘ，ｙ）で示される再構築されたサンプル値は、ｉｎｖｆｍａｐ（Ｒｅｓ（ｘ，ｙ）＋ｆｍａｐ（Ｐｒｅｄ（ｘ，ｙ）））に等しい。
【００８７】
方法は、ステップＳ２８０で終了する。
【００８８】
図８Ａは、第２の特定の及び非限定的な実施形態による、ピクチャブロックを符号化してビットストリームに埋め込むための方法のフローチャートを表す。
【００８９】
方法は、ステップＳ１００から始まる。ステップＳ１１０では、送信機１０００（例えば、エンコーダ１００など）は、ピクチャスライスのブロックにアクセスする。ステップＳ１２０では、送信機は、少なくとも１つの成分に対して（例えば、ルマに対して）、アクセスしたブロックの少なくとも１つのサンプルに対する値Ｏｒｉｇ（ｘ，ｙ）の予測値Ｐｒｅｄ（ｘ，ｙ）を得る。（ｘ，ｙ）は、ピクチャのサンプルの空間座標である。予測値は、ブロックに対して選択された予測モード（イントラ／インターモード）に応じて得られる。
【００９０】
ステップＳ１３０では、送信機は、サンプルに対して、マッピング関数ｇｍａｐ（）に応答してサンプルのソース値Ｏｒｉｇ（ｘ，ｙ）から及び予測値Ｐｒｅｄ（ｘ，ｙ）からマッピング済みの残差値を決定する。マッピング関数は、コード化利得を得るために、すなわち、所定の視覚的若しくは客観的な質に対するビットレートの低減又は所定のビットレートに対する視覚的若しくは客観的な質の増加を得るために、定義又は導出される。マッピング関数は、図５Ａを参照して開示される方法のうちの１つによって導出することができる。ステップＳ１１０〜Ｓ１３０は、マッピング済みの残差値のブロックを得るために、アクセスしたブロックの各サンプルに対して繰り返すことができる。第２の実施形態では、Ｒｅｓｍａｐ（ｘ，ｙ）で示されるマッピング済みの残差は、ｇｍａｐ（Ｒｅｓｕｓｕａｌ（ｘ，ｙ），Ｐｒｅｄ（ｘ，ｙ））に等しく、式中、Ｒｅｓｕｓｕａｌ（ｘ，ｙ）＝Ｏｒｉｇ（ｘ，ｙ）−Ｐｒｅｄ（ｘ，ｙ）である。
【００９１】
関数ｇｍａｐ（ｐ，ｖ）及びｉｎｖｇｍａｐ（ｐ，ｖ）の簡単なバージョンの１つは、第１の実施形態から導出することができる。予測値ｐ及びサンプル残差値ｖに対し、ｇｍａｐ（ｐ，ｖ）及びｉｎｖｇｍａｐ（ｐ，ｖ）は、以下の通り構築することができる。
【００９２】
第１の実施形態では、Ｒｅｓｒｅｍａｐ（ｘ，ｙ）＝ｆｍａｐ（Ｏｒｉｇ（ｘ，ｙ））−ｆｍａｐ（Ｐｒｅｄ（ｘ，ｙ））
信号Ｏｒｉｇ（ｘ，ｙ）とＰｒｅｄ（ｘ，ｙ）が近い場合（予測がうまく機能した場合に予期される）は、Ｏｒｉｇ（ｘ，ｙ）＝Ｐｒｅｄ（ｘ，ｙ）＋ε（εは、非常に小さな振幅である）であると考慮することができる。関数の導関数の定義を考慮すると、
ｆｍａｐ（Ｏｒｉｇ（ｘ，ｙ））＝ｆｍａｐ（Ｐｒｅｄ（ｘ，ｙ）＋ε）≒ｆｍａｐ（Ｐｒｅｄ（ｘ，ｙ））＋ε＊ｆ’ｍａｐ（Ｐｒｅｄ（ｘ，ｙ））
と考慮することができ、
式中、ｆｍａｐは、１Ｄ関数（例えば、実施形態１で定義されるような）に相当し、ｆ’ｍａｐは、関数ｆｍａｐの導関数である。
次いで、Ｒｅｓｍａｐ（ｘ，ｙ）＝ｆｍａｐ（Ｏｒｉｇ（ｘ，ｙ））−ｆｍａｐ（Ｐｒｅｄ（ｘ，ｙ））≒ε＊ｆ’ｍａｐ（Ｐｒｅｄ（ｘ，ｙ））である。
定義により、ε＝Ｏｒｉｇ（ｘ，ｙ）−Ｐｒｅｄ（ｘ，ｙ）は、通常予測残差Ｒｅｓｕｓｕａｌ（ｘ，ｙ）である。
従って、以下の関数ｇｍａｐ（ｐ，ｖ）及びｉｎｖｇｍａｐ（ｐ，ｖ）を使用することができる。
ｇｍａｐ（ｐ，ｖ）＝ｆ’ｍａｐ（ｐ）＊ｖ
ｉｎｖｇｍａｐ（ｐ，ｖ）＝（１／ｆ’ｍａｐ（ｐ））＊ｖ
【００９３】
エンコーダ側では、マッピング済みの残差は、
Ｒｅｓｍａｐ（ｘ，ｙ）＝ｆ’ｍａｐ（Ｐｒｅｄ（ｘ，ｙ））＊Ｒｅｓｕｓｕａｌ（ｘ，ｙ）  （ｅｑ．１）
として導出される。
デコーダ側では、再構築信号は、
Ｄｅｃ（ｘ，ｙ）＝Ｐｒｅｄ（ｘ，ｙ）＋１／ｆ’ｍａｐ（Ｐｒｅｄ（ｘ，ｙ））＊Ｒｅｓｄｅｃ（ｘ，ｙ））  （ｅｑ．２）
として導出される。
【００９４】
これは、マッピングが、予測値に依存するスケーリングファクタによる通常残差の簡単なスケーリングであることを意味する。場合により、エンコーダ側では、スケーリングファクタは、予測値ではなく、オリジナルの値に依存する。しかし、そうすることで、エンコーダとデコーダとの間の不一致が生まれる。また、例えば、量子化誤差の影響を低減するために、平滑化フィルタを使用することによって、予測のフィルタリング済みのバージョンを使用することもできる。
例えば、方程式１及び２においてＰｒｅｄ（ｘ，ｙ）を使用する代わりに、フィルタリング済みのバージョン（Ｐｒｅｄ（ｘ−１，ｙ）／４＋Ｐｒｅｄ（ｘ，ｙ）／２＋Ｐｒｅｄ（ｘ＋１，ｙ））／４）を使用することができる。
【００９５】
図９は、関数ｆ’ｍａｐ及び（１／ｆ’ｍａｐ）の例を提供する。
【００９６】
ステップＳ１４０では、送信機は、マッピング済みの残差値を符号化する。マッピング済みの残差値を符号化することは、必須ではないが、通常、残差を変換係数に変換し、量子化済みの係数を得るために量子化ステップサイズＱＰで係数を量子化し、量子化済みの係数をエントロピーコード化してビットストリームに埋め込むことを含む。
【００９７】
方法は、ステップＳ１８０で終了する。
【００９８】
図８Ｂは、図８Ａに関して開示される符号化方法に相当するビットストリームのピクチャブロックを復号するための方法のフローチャートを表す。
【００９９】
方法は、ステップＳ２００から始まる。ステップＳ２１０では、受信機２０００（デコーダ２００など）は、ビットストリームにアクセスする。
【０１００】
ステップＳ２２０では、受信機は、少なくとも１つの成分に対して（例えば、ルマに対して）、少なくとも１つのサンプルに対する予測値Ｐｒｅｄ（ｘ，ｙ）を得る。（ｘ，ｙ）は、ピクチャのサンプルの空間座標である。予測値は、ブロックに対して選択された予測モード（イントラ／インターモード）に応じて得られる。
【０１０１】
ステップＳ２３０では、受信機は、復号予定のサンプルに対する残差値Ｒｅｓ（ｘ，ｙ）を復号する。残差値Ｒｅｓ（ｘ，ｙ）は、図８ＡのステップＳ１４０において符号化されたマッピング済みの残差値の復号済みのバージョンである。復号することは、必須ではないが、通常、変換係数のブロックを得るためにブロックを表すビットストリームの一部分をエントロピー復号し、残差のブロックを得るために変換係数のブロックを逆量子化及び逆変換することを含む。
【０１０２】
ステップＳ２４０では、送信機は、サンプルに対して、図８ＡのステップＳ１３０における符号化方法によって使用されたマッピング関数ｇｍａｐ（）の逆関数であるマッピング関数ｉｎｖｇｍａｐ（）に応答して復号済みの残差値Ｒｅｓ（ｘ，ｙ）から及び予測値Ｐｒｅｄ（ｘ，ｙ）から再構築されたサンプル値Ｄｅｃ（ｘ，ｙ）を決定する。ステップＳ２２０〜Ｓ２４０は、再構築ブロックを得るために、アクセスしたブロックの各サンプルに対して繰り返すことができる。第２の実施形態では、Ｄｅｃ（ｘ，ｙ）で示される再構築されたサンプル値は、Ｐｒｅｄ（ｘ，ｙ）＋ｉｎｖｇｍａｐ（Ｒｅｓ（ｘ，ｙ），Ｐｒｅｄ（ｘ，ｙ））に等しい。
【０１０３】
第１の実施形態はｆｍａｐ関数とｉｎｖｆｍａｐの両方を適用することを必要とするが、この実施形態は、有利には、デコーダ側において、単一のステップでｉｎｖｇｍａｐ関数を使用して予測残差をマッピングすることを可能にする。
【０１０４】
方法は、ステップＳ２８０で終了する。
【０１０５】
図１０Ａは、第３の特定の及び非限定的な実施形態による、ピクチャブロックを符号化してビットストリームに埋め込むための方法のフローチャートを表す。この実施形態は、第２の実施形態を一般化したものである。関数ｆｍａｐ及びｉｎｖｆｍａｐ（）は、スケーリング関数であり、そのスケーリングファクタは、予測信号（又は以前に言及したような予測信号のフィルタリング済みのバージョン）の値に依存する。
【０１０６】
方法は、ステップＳ１００から始まる。ステップＳ１１０では、送信機１０００（例えば、エンコーダ１００など）は、ピクチャスライスのブロックにアクセスする。ステップＳ１２０では、送信機は、少なくとも１つの成分に対して（例えば、ルマに対して）、アクセスしたブロックの少なくとも１つのサンプルに対する値Ｏｒｉｇ（ｘ，ｙ）の予測値Ｐｒｅｄ（ｘ，ｙ）を得る。（ｘ，ｙ）は、ピクチャのサンプルの空間座標である。予測値は、ブロックに対して選択された予測モード（イントラ／インターモード）に応じて得られる。
【０１０７】
ステップＳ１３０では、送信機は、サンプルに対して、マッピング関数ｆｍａｐ（）に応答してサンプルのソース値Ｏｒｉｇ（ｘ，ｙ）から及び予測値Ｐｒｅｄ（ｘ，ｙ）からマッピング済みの残差値を決定する。マッピング関数は、コード化利得を得るために、すなわち、所定の視覚的若しくは客観的な質に対するビットレートの低減又は所定のビットレートに対する視覚的若しくは客観的な質の増加を得るために、定義又は導出される。マッピング関数は、図５Ａを参照して開示される方法のうちの１つによって導出することができる。ステップＳ１１０〜Ｓ１３０は、マッピング済みの残差値のブロックを得るために、アクセスしたブロックの各サンプルに対して繰り返すことができる。第２の実施形態では、Ｒｅｓｍａｐ（ｘ，ｙ）で示されるマッピング済みの残差は、ｆｍａｐ（Ｐｒｅｄ（ｘ，ｙ））＊Ｒｅｓｕｓｕａｌ（ｘ，ｙ）に等しく、式中、Ｒｅｓｕｓｕａｌ（ｘ，ｙ）＝Ｏｒｉｇ（ｘ，ｙ）−Ｐｒｅｄ（ｘ，ｙ）である。これは、（ｅｑ．１）及び（ｅｑ．２）の一般化バージョンである。変形形態では、Ｐｒｅｄ（ｘ，ｙ）の代わりにオリジナルの値Ｏｒｉｇ（ｘ，ｙ）を使用することができる。この事例では、Ｒｅｓｍａｐ（ｘ，ｙ）は、ｆｍａｐ（Ｏｒｉｇ（ｘ，ｙ））＊Ｒｅｓｕｓｕａｌ（ｘ，ｙ）に等しい。別の変形形態では、Ｏｒｉｇ（ｘ，ｙ）とＰｒｅｄ（ｘ，ｙ）との組合せＣｏｍｂ（ｘ，ｙ）（例えば、これらの２つの値の平均）を使用することができる。この後者の事例では、Ｒｅｓｍａｐ（ｘ，ｙ）は、ｆｍａｐ（Ｃｏｍｂ（ｘ，ｙ））＊Ｒｅｓｕｓｕａｌ（ｘ，ｙ）に等しい。
【０１０８】
ステップＳ１４０では、送信機は、マッピング済みの残差値を符号化する。マッピング済みの残差値を符号化することは、必須ではないが、通常、残差を変換係数に変換し、量子化済みの係数を得るために量子化ステップサイズＱＰで係数を量子化し、量子化済みの係数をエントロピーコード化してビットストリームに埋め込むことを含む。
【０１０９】
方法は、ステップＳ１８０で終了する。
【０１１０】
図１０Ｂは、図１０Ａに関して開示される符号化方法に相当するビットストリームからピクチャブロックを復号するための方法のフローチャートを表す。
【０１１１】
方法は、ステップＳ２００から始まる。ステップＳ２１０では、受信機２０００（デコーダ２００など）は、ビットストリームにアクセスする。
【０１１２】
ステップＳ２２０では、受信機は、少なくとも１つの成分に対して（例えば、ルマに対して）、少なくとも１つのサンプルに対する予測値Ｐｒｅｄ（ｘ，ｙ）を得る。（ｘ，ｙ）は、ピクチャのサンプルの空間座標である。予測値は、ブロックに対して選択された予測モード（イントラ／インターモード）に応じて得られる。
【０１１３】
ステップＳ２３０では、受信機は、復号予定のサンプルに対する残差値Ｒｅｓ（ｘ，ｙ）を復号する。残差値Ｒｅｓ（ｘ，ｙ）は、図１０ＡのステップＳ１４０において符号化されたマッピング済みの残差値の復号済みのバージョンである。復号することは、必須ではないが、通常、変換係数のブロックを得るためにブロックを表すビットストリームの一部分をエントロピー復号し、残差のブロックを得るために変換係数のブロックを逆量子化及び逆変換することを含む。
【０１１４】
ステップＳ２４０では、受信機は、サンプルに対して、ステップＳ１３０における符号化方法によって使用されたマッピング関数ｉｎｖｆｍａｐ（）＝１／ｆｍａｐ（）に応答して復号済みの残差値Ｒｅｓ（ｘ，ｙ）から及び予測値Ｐｒｅｄ（ｘ，ｙ）から再構築されたサンプル値Ｄｅｃ（ｘ，ｙ）を決定する。ステップＳ２２０〜Ｓ２４０は、再構築ブロックを得るために、アクセスしたブロックの各サンプルに対して繰り返すことができる。第２の実施形態では、Ｄｅｃ（ｘ，ｙ）で示される再構築されたサンプル値は、Ｐｒｅｄ（ｘ，ｙ）＋（１／ｆｍａｐ（Ｐｒｅｄ（ｘ，ｙ）））＊Ｒｅｓ（ｘ，ｙ）に等しい。
【０１１５】
この実施形態は、有利には、デコーダ側において、簡単な乗算を使用することによって逆マッピングを実行することを可能にし、それにより、追加の複雑性が限定され、正確なマッピングの実行が可能になり、プロセス（Ｄｅｃ（ｘ，ｙ）を演算している時）のまさに最後に丸め演算を適用することができる。
【０１１６】
方法は、ステップＳ２８０で終了する。
【０１１７】
図１１Ａは、第４の特定の及び非限定的な実施形態による、ピクチャブロックを符号化してビットストリームに埋め込むための方法のフローチャートを表す。この実施形態では、マッピングは、成分間共通のスケーリングである。例えば、マッピングは、同一場所に位置するルマ成分Ｙ（又はそのフィルタリング済みのバージョンのもの）に応じてクロマ成分Ｃに適用される（Ｃは、Ｕ（若しくはＣｂ）又はＶ（若しくはＣｒ）である）。ルマ又はクロマピクチャが同じ解像度のものでない際（例えば、４：２：０クロマフォーマットの場合）は、ルマ値は、再サンプリング後に又はクロマサンプルが関連付けられたルマピクチャのサンプル値の１つとして取り入れることができる。例えば、４：２：０信号の事例では、ピクチャの位置（ｘ，ｙ）に対し、位置（２＊ｘ，２＊ｙ）におけるルマ値を考慮することができる。
【０１１８】
方法は、ステップＳ１００から始まる。ステップＳ１１０では、送信機１０００（例えば、エンコーダ１００など）は、ピクチャスライスのブロックにアクセスする。ステップＳ１２０では、送信機は、少なくとも１つの成分に対して（例えば、クロマＣに対して）、アクセスしたブロックの少なくとも１つのサンプルに対するソース値ＯｒｉｇＣ（ｘ，ｙ）の予測値ＰｒｅｄＣ（ｘ，ｙ）を得る。（ｘ，ｙ）は、ピクチャのサンプルの空間座標である。送信機は、少なくとも別の成分に対して（例えば、ルマＹに対して）、同じサンプルに対するソース値ＯｒｉｇＹ（ｘ，ｙ）の予測値ＰｒｅｄＹ（ｘ，ｙ）をさらに得る。予測値は、ブロックに対して選択された予測モード（イントラ／インターモード）に応じて得られる。
【０１１９】
ステップＳ１３０では、送信機は、サンプルに対して、マッピング関数ｆｍａｐ（）に応答してサンプルのソース値ＯｒｉｇＣ（ｘ，ｙ）から並びに予測値ＰｒｅｄＣ（ｘ，ｙ）及びＰｒｅｄＹ（ｘ，ｙ）からマッピング済みの残差値を決定する。マッピング関数は、コード化利得を得るために、すなわち、所定の視覚的若しくは客観的な質に対するビットレートの低減又は所定のビットレートに対する視覚的若しくは客観的な質の増加を得るために、定義又は導出される。マッピング関数は、図５Ａを参照して開示される方法のうちの１つによって導出することができる。ステップＳ１１０〜Ｓ１３０は、マッピング済みの残差値のブロックを得るために、アクセスしたブロックの各サンプルに対して繰り返すことができる。第４の実施形態では、ＲｅｓＣｍａｐ（ｘ，ｙ）で示されるマッピング済みの残差は、ｆｍａｐ（ＰｒｅｄＹ（ｘ，ｙ））＊ＲｅｓＣｕｓｕａｌ（ｘ，ｙ）に等しく、式中、ＲｅｓＣｕｓｕａｌ（ｘ，ｙ）＝ＯｒｉｇＣ（ｘ，ｙ）−ＰｒｅｄＣ（ｘ，ｙ）であり、ＯｒｉｇＣ（ｘ，ｙ）は、ピクチャの位置（ｘ，ｙ）におけるクロマ成分Ｃ（コード化予定の）のソースサンプルの値であり、ＰｒｅｄＣ（ｘ，ｙ）は、クロマ成分Ｃの予測サンプルの値であり、ＲｅｓＣｕｓｕａｌ（ｘ，ｙ）は、クロマ成分Ｃの予測残差サンプルの値である。
【０１２０】
ステップＳ１４０では、送信機は、マッピング済みの残差値を符号化する。マッピング済みの残差値を符号化することは、必須ではないが、通常、残差を変換係数に変換し、量子化済みの係数を得るために量子化ステップサイズＱＰで係数を量子化し、量子化済みの係数をエントロピーコード化してビットストリームに埋め込むことを含む。
【０１２１】
方法は、ステップＳ１８０で終了する。
【０１２２】
図１１Ｂは、図１１Ａに関して開示される符号化方法に相当するビットストリームからピクチャブロックを復号するための方法のフローチャートを表す。
【０１２３】
方法は、ステップＳ２００から始まる。ステップＳ２１０では、受信機２０００（デコーダ２００など）は、ビットストリームにアクセスする。
【０１２４】
ステップＳ２２０では、受信機は、少なくとも１つの成分に対して（例えば、クロマＣに対して）、アクセスしたブロックの少なくとも１つのサンプルに対するソース値ＯｒｉｇＣ（ｘ，ｙ）の予測値ＰｒｅｄＣ（ｘ，ｙ）を得る。（ｘ，ｙ）は、ピクチャのサンプルの空間座標である。受信機は、少なくとも別の成分に対して（例えば、ルマＹに対して）、同じサンプル（場合により、ルマ及びクロマピクチャが同じ解像度を有さない場合はダウンサンプリングして）に対するソース値ＯｒｉｇＹ（ｘ，ｙ）の予測値ＰｒｅｄＹ（ｘ，ｙ）をさらに得る。予測値は、ブロックに対して選択された予測モード（イントラ／インターモード）に応じて得られる。
【０１２５】
ステップＳ２３０では、受信機は、復号予定のサンプルに対する残差値ＲｅｓＣ（ｘ，ｙ）を復号する。残差値ＲｅｓＣ（ｘ，ｙ）は、図１１ＡのステップＳ１４０において符号化されたマッピング済みの残差値の復号済みのバージョンである。復号することは、必須ではないが、通常、変換係数のブロックを得るためにブロックを表すビットストリームの一部分をエントロピー復号し、残差のブロックを得るために変換係数のブロックを逆量子化及び逆変換することを含む。
【０１２６】
ステップＳ２４０では、受信機は、サンプルに対して、ｆｍａｐ（）がステップＳ１３０における符号化方法によって使用されたマッピング関数であるマッピング関数１／ｆｍａｐ（）に応答して復号済みの残差値ＲｅｓＣ（ｘ，ｙ）から並びに予測値ＰｒｅｄＣ（ｘ，ｙ）及びＰｒｅｄＹ（ｘ，ｙ）から再構築されたサンプル値ＤｅｃＣ（ｘ，ｙ）を決定する。ステップＳ２２０〜Ｓ２４０は、再構築クロマブロックを得るために、アクセスしたブロックの各サンプルに対して繰り返すことができる。第４の実施形態では、ＤｅｃＣ（ｘ，ｙ）で示される再構築されたサンプル値は、ＰｒｅｄＣ（ｘ，ｙ）＋（１／ｆｍａｐ（ＰｒｅｄＹ（ｘ，ｙ）））＊ＲｅｓＣ（ｘ，ｙ）に等しい。
【０１２７】
この実施形態は、有利には、デコーダ側において、ルマ成分に応じてクロマ成分をスケーリングすることを可能にし、それにより、一般的には、異なるルマ間隔に対するクロマのスケーリングの微制御のおかげで視覚品質が改善される。
【０１２８】
方法は、ステップＳ２８０で終了する。
【０１２９】
図１０Ａ、１０Ｂ、１１Ａ及び１１Ｂに関して開示される第３及び第４の実施形態は、有利には、固定小数点方式を実装することができる。
【０１３０】
ＲｅｓＣｕｓｕａｌを位置（ｘ，ｙ）においてマッピングする予測残差とすると、スケーリングファクタｓｃａｌにより、例えば、成分間共通のスケーリングの事例において、値ＰｒｅｄＹ（成分間共通のものとして使用される予測ルマの同一場所に位置する値）におけるｆｍａｐの値から、
ｓｃａｌ＝ｆｍａｐ（ＰｒｅｄＹ）
が導出される。
【０１３１】
デコーダ側では、ｉｎｖＳｃａｌ＝ｒｏｕｎｄ（２＾Ｂ÷ｓｃａｌ）が使用され（場合により、以下で説明されるように、コード化してビットストリームに埋め込まれる）、
式中、
・  ＾は、べき乗演算子であり、
・  ｒｏｕｎｄ（ｘ）は、ｘの最も近い整数値であり、
・  Ｂは、スケーリングファクタを量子化するために選ばれたｂｉｔＤｅｐｔｈである（典型的には、Ｂ＝８又は１０ビット）。
【０１３２】
マッピング済みの値ＲｅｓＣｍａｐへの値ＲｅｓＣｕｓｕａｌのマッピングは、以下の通り適用される。
ＲｅｓＣｍａｐ＝（ＲｅｓＣｕｓｕａｌ＊２Ｂ＋ｓｉｇｎ（ＲｅｓＣｕｓｕａｌ）＊（ｉｎｖＳｃａｌ／２））／ｉｎｖＳｃａｌ  （ｅｑ．３）
式中、ＲｅｓＣｕｓｕａｌ（ｘ，ｙ）＝ＯｒｉｇＣ（ｘ，ｙ）−ＰｒｅｄＣ（ｘ，ｙ）であり、ｘ≧０の場合は、ｓｉｇｎ（ｘ）は１に等しく、そうでなければ、−１に等しい。
この方程式のすべてのパラメータは整数であり、「／」という除算もまた、整数において適用される（÷という除算は、浮動小数点除算である）。次いで、マッピング済みの値ＲｅｓＣｍａｐが符号化される。
【０１３３】
デコーダ側では、符号化されたマッピング済みの値ＲｅｓＣｍａｐは、値ＲｅｓＣｍａｐ＿ｄｅｃに復号される。逆マッピング済みの値ＲｅｓＣｉｎｖｍａｐへの復号済みの値ＲｅｓＣｍａｐ＿ｄｅｃの逆マッピングは、以下の通り適用される。
ＲｅｓＣｉｎｖｍａｐ＝（ＲｅｓＣｍａｐ＿ｄｅｃ＊ｉｎｖＳｃａｌ＋ｓｉｇｎ（ＲｅｓＣｍａｐ＿ｄｅｃ）＊２（Ｂ−１））／２Ｂ  （ｅｑ．４）
（ＲｅｓＣｍａｐ＿ｄｅｃ＊ｉｎｖＳｃａｌ＋ｓｉｇｎ（ＲｅｓＣｍａｐ＿ｄｅｃ）＊２（Ｂ−１））／２Ｂ
これは、
ＲｅｓＣｉｎｖｍａｐ＝（ＲｅｓＣｍａｐ＿ｄｅｃ＊ｉｎｖＳｃａｌ＋ｓｉｇｎ（ＲｅｓＣｍａｐ＿ｄｅｃ）＊２（Ｂ−１））＞＞Ｂ  （ｅｑ．５）
に等しい。
【０１３４】
次いで、場所（ｘ，ｙ）において予測値ＰｒｅｄＣ及びＲｅｓＣｉｎｖｍａｐから、
ＤｅｃＣ＝ＰｒｅｄＣ＋ＲｅｓＣｉｎｖｍａｐ  （ｅｑ．６）
のように再構築値ＤｅｃＣが導出される。
【０１３５】
また、符号演算子の使用を回避するため、これらの演算を直接組み合わせることもできる。方程式（ｅｑ．５）と（ｅｑ．６）を組み合わせて（ｅｑ．７）にする。
ＤｅｃＣ＝（ＰｒｅｄＣ＊２Ｂ＋ＲｅｓＣｍａｐ＿ｄｅｃ＊ｉｎｖＳｃａｌ＋２（Ｂ−１））＞＞Ｂ  （ｅｑ．７）。
【０１３６】
ＨＥＶＣでは、量子化は、量子化パラメータＱＰを使用して調節される。ＱＰからは、量子化ステップＱｓｔｅｐ０が導出され、量子化ステップＱｓｔｅｐ０は、（Ｋ＊２＾（ＱＰ／６））として近似させることができ、Ｋは、固定パラメータである。
局所的なＱＰ補正ｄＱＰが使用される際は、実際の量子化ステップＱｓｔｅｐ１は、（Ｋ＊２＾（（ＱＰ＋ｄＱＰ）／６））として近似させることができ、すなわち、（Ｑｓｔｅｐ０＊２＾（ｄＱＰ／６））である。信号は、量子化ステップで除される。
これは、所定のｄＱＰに対し、量子化において信号に適用される対応するスケーリング（量子化ステップの逆から導出される）が２＾（−ｄＱＰ／６）に相当することを意味する。
例えば、ｄＱＰ表に対して以下の対応を確立することができる。
【０１３７】
【表１】
2020517148.tif 000003
【０１３８】
スケーリングは、例えば、第３の実施形態において説明されるスケーリング解において使用することができる。また、スケーリングは、第１及び第２の実施形態において使用されるようにマッピング関数を導出するために使用することもできる。現に、このスケーリングは、マッピング関数の導関数に相当する。従って、マッピング関数は、区分線形関数としてモデル化することができ、各区分は、この区分に対応するスケーリングに等しい傾斜を有する。
各区間と関連付けられたｄＱＰｉというｄＱＰ値を有する１組の区間［Ｙｉ，Ｙｉ＋１−１］としてｄＱＰ表が定義される場合は（ｉ＝０〜ｎ、ｎは整数）、マッピング関数は、以下の通り定義することができる。
ｉを、Ｙを含む区間の添字とすると（Ｙは、［Ｙｉ，Ｙｉ＋１−１］におけるもの）、
ｆｍａｐ（Ｙ）＝ｆｍａｐ（Ｙｉ）＋２＾（−ｄＱＰｉ／６）＊（Ｙ−Ｙｉ）
これにより、上記の特定のｄＱＰ表に対して、図１２に示されるような関数（すべての範囲（ＦＲ）又は制限された範囲（ＬＲ）の信号表現の場合）が得られる。
【０１３９】
関数ｆｍａｐ若しくはｇｍａｐ又はそれらの逆関数ｉｎｖｆｍａｐ若しくはｉｎｖｇｍａｐは、デコーダにおいて（従ってデコーダ仕様において）明示的に定義するか又はビットストリームにおいて信号伝達することができる。
関数ｆｍａｐ、ｉｎｖｆｍａｐ、ｇｍａｐ又はｉｎｖｇｍａｐは、
・  ルックアップテーブル
・  区分スカラ関数（ＰＷＳ）
・  区分線形関数（ＰＷＬ）
・  区分多項式関数（ＰＷＰ）
の形状で実装することができる。
それらの関数は、ＳＥＩメッセージ、シーケンスパラメータセット（ＳＰＳ）、ピクチャパラメータセット（ＰＰＳ）、スライスヘッダ、コード化木単位（ＣＴＵ）構文、per Tile、又は、適応ピクチャセット（ＡＰＳ）などの新しい構造においてコード化することができる。
【０１４０】
本明細書で説明される実装形態は、例えば、方法若しくはプロセス、装置、ソフトウェアプログラム、データストリーム、又は、信号で実装することができる。実装の単一の形態の文脈においてのみ論じられる（例えば、方法又はデバイスとしてのみ論じられる）場合であっても、論じられる特徴の実装形態は、他の形態（例えば、プログラム）でも実装することができる。装置は、例えば、適切なハードウェア、ソフトウェア及びファームウェアで実装することができる。方法は、例えば、コンピュータ、マイクロプロセッサ、集積回路又はプログラマブル論理デバイスを含む、例えば、一般に処理デバイスを指す装置（例えば、プロセッサなど）で実装することができる。また、プロセッサは、例えば、コンピュータ、携帯電話、ポータブル／携帯情報端末（「ＰＤＡ」）、及び、エンドユーザ間の情報の通信を容易にする他のデバイスなどの通信デバイスも含む。
【０１４１】
本明細書で説明される様々なプロセス及び特徴の実装形態は、様々な異なる機器又はアプリケーション（特に、例えば、機器又はアプリケーション）で具体化することができる。そのような機器の例は、エンコーダ、デコーダ、デコーダからの出力を処理するポストプロセッサ、エンコーダに入力を提供するプリプロセッサ、ビデオコーダ、ビデオデコーダ、ビデオコーデック、ウェブサーバ、セットトップボックス、ラップトップ、パーソナルコンピュータ、携帯電話、ＰＤＡ及び他の通信デバイスを含む。明確であるべきだが、機器は、モバイルであり得、移動車両にインストールすることさえも可能である。
【０１４２】
それに加えて、方法は、プロセッサによって実行されている命令によって実装することができ、そのような命令（及び／又は実装形態によって生成されたデータ値）は、例えば、集積回路、ソフトウェアキャリア又は他の記憶装置（例えば、ハードディスク、コンパクトディスク（「ＣＤ」）、光ディスク（例えば、デジタル多用途ディスク若しくはデジタルビデオディスクと呼ばれる場合が多いＤＶＤなど）、ランダムアクセスメモリ（「ＲＡＭ」）又は読み取り専用メモリ（「ＲＯＭ」））などのプロセッサ可読媒体上に格納することができる。命令は、プロセッサ可読媒体上で有形に具体化されたアプリケーションプログラムを形成することができる。命令は、例えば、ハードウェア、ファームウェア、ソフトウェア又は組合せにおけるものであり得る。命令は、例えば、オペレーティングシステム、別個のアプリケーション又はその２つの組合せで見つけることができる。従って、プロセッサは、例えば、プロセスを実行するように構成されたデバイスと、プロセスを実行するための命令を有するプロセッサ可読媒体（記憶装置など）を含むデバイスとの両方として特徴付けることができる。さらに、プロセッサ可読媒体は、命令に加えて又は命令の代わりに、実装形態によって生成されたデータ値を格納することができる。
【０１４３】
当業者には明らかであるように、実装形態は、例えば、格納又は送信することができる情報を伝えるようにフォーマットされた様々な信号を生成することができる。情報は、例えば、方法を実行するための命令、又は、説明される実装形態のうちの１つによって生成されたデータを含み得る。例えば、信号は、説明される実施形態の構文を書き込む又は読み取るための規則をデータとして伝えるように、或いは、説明される実施形態によって書き込まれた実際の構文・値をデータとして伝えるように、フォーマットすることができる。そのような信号は、例えば、電磁波として（例えば、スペクトルの高周波部分を使用して）又はベースバンド信号としてフォーマットすることができる。フォーマットすることは、例えば、データストリームを符号化すること、及び、符号化済みのデータストリームで搬送波を変調することを含み得る。信号が伝える情報は、例えば、アナログ又はデジタル情報であり得る。信号は、知られているように、様々な異なる有線又は無線リンク上で送信することができる。信号は、プロセッサ可読媒体上に格納することができる。
【０１４４】
多くの実装形態について説明してきた。それにもかかわらず、様々な変更を行えることが理解されよう。例えば、他の実装形態を生成するために、異なる実装形態の要素を組み合わせることも、補足することも、変更することも、又は除去することもできる。それに加えて、当業者は、開示されるものの代わりに、他の構造及びプロセスを代用することができ、結果として得られる実装形態は、開示される実装形態と少なくとも実質的に同じ結果を達成するために、少なくとも実質的に同じ方法で、少なくとも実質的に同じ機能を実行することを理解するであろう。それに従って、これらの及び他の実装形態は、この出願によって企図される。
【図１】
2020517148.tif 000004
【図２】
2020517148.tif 000005
【図３】
2020517148.tif 000006
【図４】
2020517148.tif 000007
【図５Ａ】
2020517148.tif 000008
【図５Ｂ】
2020517148.tif 000009
【図６Ａ】
2020517148.tif 000010
【図６Ｂ】
2020517148.tif 000011
【図７】
2020517148.tif 000012
【図８Ａ】
2020517148.tif 000013
【図８Ｂ】
2020517148.tif 000014
【図９】
2020517148.tif 000015
【図１０Ａ】
2020517148.tif 000016
【図１０Ｂ】
2020517148.tif 000017
【図１１Ａ】
2020517148.tif 000018
【図１１Ｂ】
2020517148.tif 000019
【図１２】
2020517148.tif 000020
【国際調査報告】
2020517148.tif 000021
2020517148.tif 000022
2020517148.tif 000023