IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ インターデジタル ヴイシー ホールディングス, インコーポレイテッドの特許一覧

特開2023-52371予測ピクチャ符号化及び復号のための方法及びデバイス
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023052371
(43)【公開日】2023-04-11
(54)【発明の名称】予測ピクチャ符号化及び復号のための方法及びデバイス
(51)【国際特許分類】
   H04N 19/124 20140101AFI20230404BHJP
   H04N 19/14 20140101ALI20230404BHJP
   H04N 19/176 20140101ALI20230404BHJP
   H04N 19/18 20140101ALI20230404BHJP
【FI】
H04N19/124
H04N19/14
H04N19/176
H04N19/18
【審査請求】有
【請求項の数】8
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2023003422
(22)【出願日】2023-01-12
(62)【分割の表示】P 2019554634の分割
【原出願日】2018-03-15
(31)【優先権主張番号】17305411.5
(32)【優先日】2017-04-07
(33)【優先権主張国・地域又は機関】EP
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.BLUETOOTH
2.Blu-ray
(71)【出願人】
【識別番号】518338149
【氏名又は名称】インターデジタル ヴイシー ホールディングス, インコーポレイテッド
(74)【代理人】
【識別番号】100079108
【弁理士】
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100109346
【弁理士】
【氏名又は名称】大貫 敏史
(74)【代理人】
【識別番号】100117189
【弁理士】
【氏名又は名称】江口 昭彦
(74)【代理人】
【識別番号】100134120
【弁理士】
【氏名又は名称】内藤 和彦
(74)【代理人】
【識別番号】100108213
【弁理士】
【氏名又は名称】阿部 豊隆
(72)【発明者】
【氏名】フランソワ,エドワール
(72)【発明者】
【氏名】シェヴァンス,クリストフ
(72)【発明者】
【氏名】イロン,フランク
(57)【要約】      (修正有)
【課題】ビットストリームからピクチャブロックを符号化するための方法及びデバイスを提供する。
【解決手段】方法は、ブロックの少なくとも1つのサンプルに対して及び1つの現在の成分に対して、予測値を得ることと、マッピング関数に応答してサンプルのソース値から及び予測値からマッピング済みの残差値を決定することと、マッピング済みの残差値を符号化してビットストリームに埋め込むことと、を含む。マッピング関数は、所定の再構築の質に対するビットストリームのビットコストの低減又はビットストリームの所定のビットコストに対する再構築の質の増加の少なくとも1つを得るために導出される。
【選択図】図5B
【特許請求の範囲】
【請求項1】
ピクチャブロックを符号化するための方法であって、前記ブロックの少なくとも1つのサンプルに対して、
- 前記サンプルの1つの現在の色成分の予測値を得ることと、
- マッピング関数に応答して前記現在の色成分のソース値から及び前記予測値からマッピング済みの残差値を決定することと、
- 前記マッピング済みの残差値を符号化してビットストリームに埋め込むことと
を含む、方法であり、
前記マッピング関数が、所定の再構築の質に対する前記ビットストリームのビットコストの低減又は前記ビットストリームの所定のビットコストに対する再構築の質の増加のいずれかを得るために導出され、
前記マッピング済みの残差値を決定することが、
- 前記ソース値から前記予測値を減じることによって、中間残差値を決定することと、
- 前記予測値に応じて、前記マッピング関数に応答して前記中間残差値をマッピングすることと
を含む、方法。
【請求項2】
前記予測値に応じて、前記マッピング関数に応答して前記中間残差値をマッピングすることが、前記中間残差値にスケーリングファクタを乗じることであって、前記スケーリングファクタの値が、前記予測値に依存する、乗じることを含む、請求項1に記載の方法。
【請求項3】
前記予測値に応じて、前記マッピング関数に応答して前記中間残差値をマッピングすることが、前記中間残差値にスケーリングファクタを乗じることであって、前記スケーリングファクタが、前記サンプルの別の色成分に対して得られた予測値に依存し、前記別の色成分が、前記現在の色成分とは異なる、乗じることを含む、請求項1に記載の方法。
【請求項4】
固定小数点実装形態において、前記マッピング済みの中間残差値が、
(ResCusual *B+sign(ResCusual*(invScal/2))/invScal
に等しく、式中、ResCusualが前記中間残差値であり、invScalがround(2B÷scal)に等しく、scalが、前記スケーリングファクタである、請求項2又は3に記載の方法。
【請求項5】
ピクチャブロックを復号するための方法であって、前記ブロックの少なくとも1つのサンプルに対して、
- 前記サンプルの1つの現在の色成分の予測値を得ることと、
- 前記サンプルに対する残差値を復号することと、
- マッピング関数に応答して前記復号済みの残差値から及び前記予測値から前記サンプルに対する再構築値を決定することと
を含む、方法であり、
前記マッピング関数が、所定の再構築の質に対する前記ビットストリームのビットコストの低減又は前記ビットストリームの所定のビットコストに対する再構築の質の増加のいずれかを得るために導出され、
前記再構築値を決定することが、
- 前記予測値に応じて、前記マッピング関数の逆関数を用いて前記復号済みの残差値をマッピングすることと、
- 前記予測値を前記マッピングされた復号済みの残差値に加えることによって、前記再構築値を決定することと
を含む、方法。
【請求項6】
前記予測値に応じて、前記マッピング関数の逆関数を用いて前記復号済みの残差値をマッピングすることが、前記復号済みの残差値にスケーリングファクタを乗じることであって、前記スケーリングファクタが、前記サンプルの前記予測値に依存する、乗じることを含む、請求項5に記載の方法。
【請求項7】
前記予測値に応じて、前記マッピング関数の逆関数を用いて前記復号済みの残差値をマッピングすることが、前記復号済みの残差値にスケーリングファクタを乗じることであって、前記スケーリングファクタが、前記サンプルの別の色成分に対して得られた前記予測値に依存し、前記別の色成分が、前記現在の色成分とは異なる、乗じることを含む、請求項5に記載の方法。
【請求項8】
固定小数点実装形態において、前記マッピングされた復号済みの残差値が、
(ResCmap_dec *invScal+sign(ResCmap_dec*(B-1))/2B
に等しく、式中、ResCmap_decが前記復号済みの残差値であり、invScalがround(2B÷scal)に等しく、scalが、前記スケーリングファクタである、請求項6又は7に記載の方法。
【請求項9】
ピクチャブロックを符号化するためのデバイスであって、
- 前記ブロックの少なくとも1つのサンプルの1つの現在の色成分の予測値を得るための手段と、
- マッピング関数に応答して前記現在の色成分のソース値から及び前記予測値からマッピング済みの残差値を決定するための手段と、
- 前記マッピング済みの残差値を符号化してビットストリームに埋め込むための手段と
を含む、デバイスであり、
前記マッピング関数が、所定の再構築の質に対する前記ビットストリームのビットコストの低減又は前記ビットストリームの所定のビットコストに対する再構築の質の増加のいずれかを得るために導出され、
前記マッピング済みの残差値を決定するための前記手段が、
- 前記ソース値から前記予測値を減じるように構成された中間残差値を決定するための手段と、
- 前記予測値に応じて、前記マッピング関数に応答して前記中間残差値をマッピングするための手段と
を含む、デバイス。
【請求項10】
前記予測値に応じて、前記マッピング関数に応答して前記中間残差値をマッピングするための前記手段が、前記中間残差値にスケーリングファクタを乗じるための手段であって、前記スケーリングファクタの値が、前記予測値に依存する、手段を含む、請求項9に記載のデバイス。
【請求項11】
前記予測値に応じて、前記マッピング関数に応答して前記中間残差値をマッピングするための手段が、前記中間残差値にスケーリングファクタを乗じるための手段であって、前記スケーリングファクタが、前記サンプルの別の色成分に対して得られた予測値に依存し、前記別の色成分が、前記現在の色成分とは異なる、手段を含む、請求項9に記載のデバイス。
【請求項12】
固定小数点実装形態において、前記マッピング済みの中間残差値が、
(ResCusual *B+sign(ResCusual*(invScal/2))/invScal
に等しく、式中、ResCusualが前記中間残差値であり、invScalがround(2B÷scal)に等しく、scalが、前記スケーリングファクタである、請求項10又は11に記載のデバイス。
【請求項13】
ピクチャブロックを復号するためのデバイスであって、
- 前記ブロックの少なくとも1つのサンプルの1つの現在の色成分の予測値を得るための手段と、
- 前記サンプルに対する残差値を復号するための手段と、
- マッピング関数に応答して前記復号済みの残差値から及び前記予測値から前記サンプルに対する再構築値を決定するための手段と
を含む、デバイスであり、
前記マッピング関数が、所定の再構築の質に対する前記ビットストリームのビットコストの低減又は前記ビットストリームの所定のビットコストに対する再構築の質の増加のいずれかを得るために導出され、
前記再構築値を決定するための前記手段が、
- 前記予測値に応じて、前記マッピング関数の逆関数を用いて前記復号済みの残差値をマッピングするための手段と、
- 前記予測値を前記マッピングされた復号済みの残差値に加えるように構成された前記再構築値を決定するための手段と
を含む、デバイス。
【請求項14】
前記予測値に応じて、前記マッピング関数の逆関数を用いて前記復号済みの残差値をマッピングするための前記手段が、前記復号済みの残差値にスケーリングファクタを乗じるための手段であって、前記スケーリングファクタが、前記サンプルの前記予測値に依存する、手段を含む、請求項13に記載のデバイス。
【請求項15】
前記予測値に応じて、前記マッピング関数の逆関数を用いて前記復号済みの残差値をマッピングするための手段が、前記復号済みの残差値にスケーリングファクタを乗じるための手段であって、前記スケーリングファクタが、前記サンプルの別の色成分に対して得られた前記予測値に依存し、前記別の色成分が、前記現在の色成分とは異なる、手段を含む、請求項13に記載のデバイス。
【請求項16】
固定小数点実装形態において、前記マッピングされた復号済みの残差値が、
(ResCmap_dec *invScal+sign(ResCmap_dec*(B-1))/2B
に等しく、式中、ResCmap_decが前記復号済みの残差値であり、invScalがround(2B÷scal)に等しく、scalが、前記スケーリングファクタである、請求項14又は15に記載のデバイス。
【発明の詳細な説明】
【技術分野】
【0001】
1.技術分野
本原理は、概して、ピクチャ符号化及び復号のための方法及びデバイスに関し、より具体的には、ピクチャブロックを符号化及び復号するための方法及びデバイスに関する。
【背景技術】
【0002】
2.背景技術
新しい世代の映像フォーマットは、より広い色域、より高いフレームレート及びより高いダイナミックレンジを含む。新しい規格は、このタイプのコンテンツをサポートするために作成されてきた。例えば、ITU-R勧告BT-2020は、現在利用されているBT-709の色域外の原色を含むフォーマットを定義する。ITU-R勧告BT-2100は、BT.709に対するコンテンツのダイナミックレンジの拡張を可能にする伝達関数を含むフォーマットを定義する。BT-2100の原色は、BT-2020の原色と同じである。
【0003】
BT.709コンテナ又はBT.2100コンテナの使用は、著しく異なるコードワード分布を招く。これまでに開発されているコード化ツールのほとんどは、BT.709コンテナを使用したSDR信号に重点を置く。BT.2100など、より広いコンテナに移行すると、コーデック設計におけるコンテナ適応又は変更が必要とされ得る。従って、例えば、HEVCなどの現在のコーデック及びエンコーダによって予期されるプロパティにより適合するように、新しいコンテナにおけるサンプル値を修正するため、コード化の前にサンプル値を「再形成する」又はマッピングする必要がある。
【発明の概要】
【0004】
初期の入力サンプル(例えば、BT.709)の分布と同様のサンプル分布を得るため、符号化の前に、所定のコンテナ(例えば、BT.2100)において表されているサンプルのマッピング/再形成を実行することが知られている。逆マッピングは、復号済みのサンプルに適用される。符号化前のマッピング及び復号後の逆マッピングは、信号の歪みを引き起こす。現に、マッピング及び逆マッピングプロセスは両方とも、固定小数点精度で適用され、それにより、情報消失が生じる。この歪みは、コード化プロセスの歪みと共に累積し、コード化性能の損失をもたらす。
【0005】
コード化の前にサンプル値を「再形成する」代わりに、新しいコンテナを処理するための代替の手法は、変換済みの予測残差の係数を量子化するための量子化ステップを修正することである。この目的のため、このブロックの予測、オリジナル又は再構築サンプルから推測された値に基づいて、所定のサンプルブロックに対して、予測残差サンプルの変換(例えば、DCT)から生じた係数に適用される量子化ステップを適応させることが知られている。ブロックごとに量子化ステップを適応させることは、ブロックが多くの異なる値を有するサンプル(例えば、明るいサンプル及び暗いサンプル)を含む事例では特に、非効率的であり得る。
【0006】
3.簡単な概要
ピクチャブロックを符号化するための方法であって、ブロックの少なくとも1つのサンプルに対して及び1つの現在の成分に対して、
- 予測値を得ることと、
- マッピング関数に応答してサンプルのソース値から及び予測値からマッピング済みの残差値を決定することと、
- マッピング済みの残差値を符号化してビットストリームに埋め込むことと
を含む、方法であり、マッピング関数が、所定の再構築の質に対するビットストリームのビットコストの低減又はビットストリームの所定のビットコストに対する再構築の質の増加の少なくとも1つを得るために導出される、方法が開示される。
【0007】
ピクチャブロックを符号化するためのデバイスであって、
- ブロックの少なくとも1つのサンプルに対して及び1つの現在の成分に対して、予測値を得るための手段と、
- マッピング関数に応答してサンプルのソース値から及び予測値からマッピング済みの残差値を決定するための手段と、
- マッピング済みの残差値を符号化してビットストリームに埋め込むための手段と
を含む、デバイスであり、マッピング関数が、所定の再構築の質に対するビットストリームのビットコストの低減又はビットストリームの所定のビットコストに対する再構築の質の増加の少なくとも1つを得るために導出される、デバイス。
【0008】
変形形態では、ピクチャブロックにアクセスするように構成された通信インタフェースと、少なくとも1つのプロセッサとを含む符号化デバイスであって、少なくとも1つのプロセッサが、
- アクセスしたブロックの少なくとも1つのサンプルに対して及び1つの現在の成分に対して、予測値を得ることと、
- マッピング関数に応答してサンプルのソース値から及び予測値からマッピング済みの残差値を決定することと、
- マッピング済みの残差値を符号化してビットストリームに埋め込むことと
を行うように構成され、マッピング関数が、所定の再構築の質に対するビットストリームのビットコストの低減又はビットストリームの所定のビットコストに対する再構築の質の増加の少なくとも1つを得るために導出される、符号化デバイスが開示される。
【0009】
ピクチャブロックを表すビットストリームであって、
- マッピング済みの残差値を表すコード化済みのデータであって、マッピング済みの残差値が、マッピング関数に応答してサンプルのソース値から及び予測値からブロックの少なくとも1つのサンプルに対して及び1つの現在の成分に対して得られ、マッピング関数が、所定の再構築の質に対するビットストリームのビットコストの低減又はビットストリームの所定のビットコストに対する再構築の質の増加の少なくとも1つを得るために導出される、コード化済みのデータと、
- マッピング関数を表すコード化済みのデータと
を含む、ビットストリームが開示される。
【0010】
変形形態では、ピクチャブロックを表すビットストリームが格納された非一時的なプロセッサ可読媒体であって、ビットストリームが、
- マッピング済みの残差値を表すコード化済みのデータであって、マッピング済みの残差値が、マッピング関数に応答してサンプルのソース値から及び予測値からブロックの少なくとも1つのサンプルに対して及び1つの現在の成分に対して得られ、マッピング関数が、所定の再構築の質に対するビットストリームのビットコストの低減又はビットストリームの所定のビットコストに対する再構築の質の増加の少なくとも1つを得るために導出される、コード化済みのデータと、
- マッピング関数を表すコード化済みのデータと
を含む、非一時的なプロセッサ可読媒体が開示される。
【0011】
- マッピング済みの残差値を表すコード化済みのデータを送信することであって、マッピング済みの残差値が、マッピング関数に応答してサンプルのソース値から及び予測値からピクチャブロックの少なくとも1つのサンプルに対して及び1つの現在の成分に対して得られ、マッピング関数が、所定の再構築の質に対するビットストリームのビットコストの低減又はビットストリームの所定のビットコストに対する再構築の質の増加の少なくとも1つを得るために導出される、送信することと、
- マッピング関数を表すコード化済みのデータを送信することと
を含む、送信方法が開示される。
【0012】
- マッピング済みの残差値を表すコード化済みのデータを送信するための手段であって、マッピング済みの残差値が、マッピング関数に応答してサンプルのソース値から及び予測値からピクチャブロックの少なくとも1つのサンプルに対して及び1つの現在の成分に対して得られ、マッピング関数が、所定の再構築の質に対するビットストリームのビットコストの低減又はビットストリームの所定のビットコストに対する再構築の質の増加の少なくとも1つを得るために導出される、送信するための手段と、
- マッピング関数を表すコード化済みのデータを送信するための手段と
を含む、送信デバイスが開示される。
【0013】
ピクチャブロックにアクセスするように構成された通信インタフェースと、少なくとも1つのプロセッサとを含む送信デバイスであって、少なくとも1つのプロセッサが、
- マッピング済みの残差値を表すコード化済みのデータを送信することであって、マッピング済みの残差値が、マッピング関数に応答してサンプルのソース値から及び予測値からブロックの少なくとも1つのサンプルに対して及び1つの現在の成分に対して得られ、マッピング関数が、所定の再構築の質に対するビットストリームのビットコストの低減又はビットストリームの所定のビットコストに対する再構築の質の増加の少なくとも1つを得るために導出される、送信することと、
- マッピング関数を表すコード化済みのデータを送信することと
を行うように構成される、送信デバイスが開示される。
【0014】
以下の実施形態は、上記で開示される符号化方法、符号化デバイス、ビットストリーム、プロセッサ可読媒体、送信方法及び送信デバイスに当てはまる。
【0015】
第1の特定の及び非限定的な実施形態では、マッピング済みの残差値を決定することは、
- マッピング関数を用いてサンプルのソース値をマッピングすることと、
- マッピング関数を用いてサンプルの予測値をマッピングすることと、
- マッピング済みの成分値からマッピング済みの予測値を減じることによって、マッピング済みの残差値を決定することと
を含む。
【0016】
第2の特定の及び非限定的な実施形態では、マッピング済みの残差値を決定することは、
- サンプルのソース値から予測値を減じることによって、中間残差値を決定することと、
- 予測値に応じて、マッピング関数に応答して中間残差値をマッピングすることと
を含む。
【0017】
第3の特定の及び非限定的な実施形態では、予測値に応じて、マッピング関数に応答して中間残差値をマッピングすることは、中間残差値にスケーリングファクタを乗じることであって、スケーリングファクタが、サンプルの予測値に依存する、乗じることを含む。
【0018】
第4の特定の及び非限定的な実施形態では、予測値に応じて、マッピング関数に応答して中間残差値をマッピングすることは、中間残差値にスケーリングファクタを乗じることであって、スケーリングファクタが、サンプルの別の成分に対して得られた予測値に依存し、別の成分が、現在の成分とは異なる、乗じることを含む。
【0019】
ピクチャブロックを復号するための方法であって、ブロックの少なくとも1つのサンプルに対して及び1つの現在の成分に対して、
- 予測値を得ることと、
- サンプルに対する残差値を復号することと、
- マッピング関数に応答して復号済みの残差値から及び予測値からサンプルに対する再構築値を決定することと
を含む、方法であり、マッピング関数が、所定の再構築の質に対するビットストリームのビットコストの低減又はビットストリームの所定のビットコストに対する再構築の質の増加の少なくとも1つを得るために導出される、方法が開示される。
【0020】
ピクチャブロックを復号するためのデバイスであって、
- ブロックの少なくとも1つのサンプルに対して及び1つの現在の成分に対して、予測値を得るための手段と、
- サンプルに対する残差値を復号するための手段と、
- マッピング関数に応答して復号済みの残差値から及び予測値からサンプルに対する再構築値を決定するための手段と
を含む、デバイスであり、マッピング関数が、所定の再構築の質に対するビットストリームのビットコストの低減又はビットストリームの所定のビットコストに対する再構築の質の増加の少なくとも1つを得るために導出される、デバイスも開示される。
【0021】
変形形態では、ビットストリームにアクセスするように構成された通信インタフェースと、少なくとも1つのプロセス復号又はとを含む復号デバイスであって、少なくとも1つのプロセス復号又はが、
- ブロックの少なくとも1つのサンプルに対して及び1つの現在の成分に対して、予測値を得ることと、
- アクセスしたビットストリームからサンプルに対する残差値を復号することと、
- マッピング関数に応答して復号済みの残差値から及び予測値からサンプルに対する再構築値を決定することと
を行うように構成され、マッピング関数が、所定の再構築の質に対するビットストリームのビットコストの低減又はビットストリームの所定のビットコストに対する再構築の質の増加の少なくとも1つを得るために導出される、復号デバイスが開示される。
【0022】
以下の実施形態は、上記で開示される復号方法及び復号デバイスに当てはまる。
【0023】
第1の特定の及び非限定的な実施形態では、サンプルに対する再構築値を決定することは、
- マッピング関数を用いてサンプルの予測値をマッピングすることと、
- マッピング関数の逆関数を用いて復号済みの残差値をマッピングすることと、
- マッピング済みの予測値をマッピングされた復号済みの残差値に加えることによって、再構築値を決定することと
を含む。
【0024】
第2の特定の及び非限定的な実施形態では、サンプルに対する再構築値を決定することは、
- 予測値に応じて、マッピング関数の逆関数を用いて復号済みの残差値をマッピングすることと、
- 予測値をマッピングされた復号済みの残差値に加えることによって、再構築値を決定することと
を含む。
【0025】
第3の特定の及び非限定的な実施形態では、予測値に応じて、マッピング関数の逆関数を用いて復号済みの残差値をマッピングすることは、復号済みの残差値にスケーリングファクタを乗じることであって、スケーリングファクタが、サンプルの予測値に依存する、乗じることを含む。
【0026】
第4の特定の及び非限定的な実施形態では、予測値に応じて、マッピング関数の逆関数を用いて復号済みの残差値をマッピングすることは、復号済みの残差値にスケーリングファクタを乗じることであって、スケーリングファクタが、サンプルの別の成分に対して得られた予測値に依存し、別の成分が、現在の成分とは異なる、乗じることを含む。
【図面の簡単な説明】
【0027】
4.図面の簡単な概要
図1】特定の及び非限定的な実施形態による、ピクチャを符号化してビットストリームに埋め込むように構成された送信機の例示的なアーキテクチャを表す。
図2】本原理による、符号化方法を実行するように適応させた例示的な映像エンコーダ(例えば、HEVC映像エンコーダ)を示す。
図3】特定の及び非限定的な実施形態による、復号済みのピクチャを得るためにビットストリームからピクチャを復号するように構成された受信機の例示的なアーキテクチャを表す。
図4】本原理による、復号方法を実行するように適応させた例示的な映像デコーダ(例えば、HEVC映像デコーダ)のブロック図を示す。
図5A】様々な実施形態による、ピクチャブロックを符号化してビットストリームに埋め込むための方法のフローチャートを表す。
図5B】様々な実施形態による、ビットストリームからピクチャブロックを復号するための方法のフローチャートを表す。
図6A】様々な実施形態による、ピクチャブロックを符号化してビットストリームに埋め込むための方法のフローチャートを表す。
図6B】様々な実施形態による、ビットストリームからピクチャブロックを復号するための方法のフローチャートを表す。
図7】マッピング関数fmap及びその逆関数invfmapを描写する。
図8A】様々な実施形態による、ピクチャブロックを符号化してビットストリームに埋め込むための方法のフローチャートを表す。
図8B】様々な実施形態による、ビットストリームからピクチャブロックを復号するための方法のフローチャートを表す。
図9】マッピング関数fmapの導関数f’map及び関数1/f’mapを描写する。
図10A】様々な実施形態による、ピクチャブロックを符号化してビットストリームに埋め込むための方法のフローチャートを表す。
図10B】様々な実施形態による、ビットストリームからピクチャブロックを復号するための方法のフローチャートを表す。
図11A】様々な実施形態による、ピクチャブロックを符号化してビットストリームに埋め込むための方法のフローチャートを表す。
図11B】様々な実施形態による、ビットストリームからピクチャブロックを復号するための方法のフローチャートを表す。
図12】dQP表から構築されたすべての又は制限された範囲のマッピング関数を示す。
【発明を実施するための形態】
【0028】
5.詳細な説明
図及び説明は、本原理の明確な理解に関連する要素を示すために簡略化されている一方で、明確にするために、典型的な符号化及び/又は復号デバイスにおいて見られる他の多くの要素を排除していることを理解されたい。本明細書では、「第1の」及び「第2の」という用語は、様々な要素を説明するために使用することができ、これらの要素は、これらの用語によって制限されるべきではないことが理解されよう。これらの用語は、ある要素を別の要素と区別するためだけに使用される。
【0029】
ピクチャは、モノクロフォーマットのルマサンプルのアレイであるか、又は、4:2:0、4:2:2、及び4:4:4カラーフォーマットのルマサンプルの1つのアレイ並びにクロマサンプルの2つの対応するアレイである。一般に、「ブロック」は、サンプルアレイの特定のエリア(例えば、ルマY)に対処し、「単位」は、すべての色成分の配列ブロック(ルマYと、場合により、クロマCb及びクロマCr)を含む。スライスは、HEVCコード化木単位又はH.264マクロブロック単位など、整数の数の基本的なコード化単位である。スライスは、完全なピクチャ及びその一部からなり得る。各スライスは、1つ又は複数のスライスセグメントを含み得る。
【0030】
以下では、「再構築される」と「復号される」という用語は、交換可能に使用することができる。通常は(ただし、必須ではないが)、「再構築される」はエンコーダ側で使用され、「復号される」はデコーダ側で使用される。「復号される」又は「再構築される」という用語は、ビットストリームが部分的に「復号される」又は「再構築される」こと(例えば、デブロッキングフィルタリングの後(ただし、SAOフィルタリングの前)に得られた信号)、及び再構築サンプルが表示のために使用される最終的な復号済みの出力とは異なり得ることを意味し得ることに留意すべきである。また、「画像」、「ピクチャ」及び「フレーム」という用語を交換可能に使用することもできる。また、「サンプル」及び「画素」という用語を交換可能に使用することもできる。
【0031】
様々な実施形態は、HEVC規格に対して説明されている。しかし、本原理は、HEVCに限定されず、例えば、HEVC又はHEVC拡張(フォーマットレンジ(RExt)、スケーラビリティ(SHVC)、マルチビュー(MV-HEVC)拡張及びH.266のような)を含む、他の規格、勧告及びそれらの拡張に適用することができる。様々な実施形態は、スライスの符号化/復号に対して説明されている。様々な実施形態は、全ピクチャ又はピクチャの全シーケンスの符号化/復号に適用することができる。
【0032】
本原理の「一実施形態」又は「実施形態」及びそれらの他の変形例への言及は、実施形態と関係して説明される特定の特徴、構造、特性などが少なくとも1つの実施形態に含まれることを意味する。従って、本明細書全体を通じて様々な場所に現れる「一実施形態では」、「実施形態では」、「一実装形態では」又は「実装形態では」という記載及び他の任意の変形例の出現は、必ずしもすべてが同じ実施形態を指すとは限らない。
【0033】
次の「/」、「及び/又は」、及び「~の少なくとも1つ」のいずれかの使用は、例えば、「A/B」、「A及び/又はB」、及び「A又はBの少なくとも1つ」の事例では、第1のリストオプション(A)のみの選択、第2のリストオプション(B)のみの選択、又は、両方のオプション(A及びB)の選択を包含することを意図することを理解されたい。さらなる例として、「A、B及び/又はC」並びに「A、B又はCの少なくとも1つ」の事例では、そのような記載は、第1のリストオプション(A)のみの選択、第2のリストオプション(B)のみの選択、第3のリストオプション(C)のみの選択、第1及び第2のリストオプション(A及びB)のみの選択、第1及び第3のリストオプション(A及びC)のみの選択、第2及び第3のリストオプション(B及びC)のみの選択、又は、すべての3つのオプション(A、B及びC)の選択を包含することを意図する。これは、この技術分野及び関連技術分野の当業者にとって容易に明らかであるように、リストされるアイテムの数だけ拡張することができる。
【0034】
上記では様々な方法が説明されており、方法の各々は、説明される方法を達成するための1つ若しくは複数のステップ又は動作を含む。方法の正しい動作のために特定の順番のステップ又は動作が必要とされない限り、特定のステップ及び/又は動作の順番及び/又は使用は、修正することも、又は組み合わせることもできる。
【0035】
図1は、特定の及び非限定的な実施形態による、ピクチャを符号化してビットストリームに埋め込むように構成された送信機1000の例示的なアーキテクチャを表す。
【0036】
送信機1000は、1つ又は複数のプロセッサ1005を含み、1つ又は複数のプロセッサ1005は、例えば、CPU、GPU及び/又はDSP(デジタル信号プロセッサの英語の頭字語)を含み得、内部メモリ1030(例えば、RAM、ROM及び/又はEPROM)を伴う。送信機1000は、各々が出力情報を表示するように及び/又はユーザがコマンド及び/又はデータを入力できるように適応された1つ又は複数の通信インタフェース1010(例えば、キーボード、マウス、タッチパッド、ウェブカメラ)と、送信機1000の外部のものであり得る電源1020とを含む。また、送信機1000は、1つ又は複数のネットワークインタフェース(図示せず)も含み得る。エンコーダモジュール1040は、コード化機能を実行するためにデバイスに含めることができるモジュールを表す。それに加えて、エンコーダモジュール1040は、当業者に知られているようなハードウェアとソフトウェアの組合せとして、送信機1000の別個の要素として実装することも、又はプロセッサ1005内に組み込むこともできる。
【0037】
ピクチャは、供給源から得ることができる。異なる実施形態によれば、供給源は、これらに限定されないが、
- ローカルメモリ(例えば、ビデオメモリ、RAM、フラッシュメモリ、ハードディスク)、
- 記憶装置インタフェース(例えば、大容量記憶装置、ROM、光ディスク又は磁気サポートとのインタフェース)、
- 通信インタフェース(例えば、有線インタフェース(例えば、バスインタフェース、広域ネットワークインタフェース、ローカルエリアネットワークインタフェース)又は無線インタフェース(IEEE802.11インタフェース若しくはBluetoothインタフェースなど))、及び、
- ピクチャ捕捉回路(例えば、センサ、例えば、CCD(若しくは電荷結合素子)又はCMOS(若しくは相補型金属酸化膜半導体)など)
であり得る。
【0038】
異なる実施形態によれば、ビットストリームは、送り先に送信することができる。例として、ビットストリームは、リモート又はローカルメモリ(例えば、ビデオメモリ又はRAM、ハードディスク)に格納される。変形形態では、ビットストリームは、記憶装置インタフェース(例えば、大容量記憶装置、ROM、フラッシュメモリ、光ディスク若しくは磁気サポートとのインタフェース)に送られる、及び/又は、通信インタフェース(例えば、ポイントツーポイントリンク、通信バス、ポイントツーマルチポイントリンク若しくは放送ネットワークとのインタフェース)上で送信される。
【0039】
例示的な及び非限定的な実施形態によれば、送信機1000は、メモリ1030に格納されたコンピュータプログラムをさらに含む。コンピュータプログラムは、命令を含み、命令は、送信機1000によって(具体的には、プロセッサ1005によって)実行されると、図5A、6A、8A、10A及び11Aを参照して説明される符号化方法を送信機1000が実行できるようにする。変形形態によれば、コンピュータプログラムは、送信機1000の外部の非一時的なデジタルデータサポート上(例えば、HDD、CD-ROM、DVD、読み取り専用及び/又はDVDドライブ及び/又はDVD読み取り/書き込みドライブなどの外部の記憶媒体上)に格納され、そのすべては、当技術分野で知られている。従って、送信機1000は、コンピュータプログラムを読み取るためのメカニズムを含む。さらに、送信機1000は、対応するUSBポート(図示せず)を通じて、1つ又は複数のユニバーサルシリアルバス(USB)タイプの記憶装置(例えば、「メモリスティック」)にアクセスすることができる。
【0040】
例示的な及び非限定的な実施形態によれば、送信機1000は、これらに限定されないが、
- モバイルデバイス、
- 通信デバイス、
- ゲームデバイス、
- タブレット(又はタブレットコンピュータ)、
- ラップトップ、
- 静止ピクチャカメラ、
- ビデオカメラ、
- 符号化チップ又は符号化デバイス/装置、
- 静止ピクチャサーバ、及び
- 映像サーバ(例えば、放送サーバ、ビデオオンデマンドサーバ又はウェブサーバ)
であり得る。
【0041】
図2は、図5A、6A、8A、10A及び11Aの実施形態のうちの1つによる符号化方法を実行するように適応させた例示的な映像エンコーダ100(例えば、HEVC映像エンコーダ)を示す。エンコーダ100は、送信機1000又はそのような送信機1000の一部の例である。
【0042】
コード化の場合、ピクチャは、通常、基本的なコード化単位に(例えば、HEVCではコード化木単位(CTU)に又はH.264ではマクロブロック単位に)区分化される。恐らくは連続的な基本的なコード化単位のセットは、スライスに分類される。基本的なコード化単位は、すべての色成分の基本的なコード化ブロックを含む。HEVCでは、16×16の最小CTBサイズは、以前の映像コード化規格において使用されるようなマクロブロックサイズに相当する。本明細書では、符号化/復号方法及び符号化/復号装置を説明するためにCTU及びCTBという用語が使用されているが、これらの方法及び装置は、これらの特定の用語によって制限されるべきではなく、H.264などの他の規格では違う言葉(例えば、マクロブロック)で表現され得ることが理解されよう。
【0043】
HEVCでは、CTBは、コード化ブロック(CB)に区分化された四分木の根であり、コード化ブロックは、1つ又は複数の予測ブロック(PB)に区分化され、変換ブロック(TB)に区分化された四分木の根を形成する。コード化ブロック、予測ブロック及び変換ブロックに対応して、コード化単位(CU)は、予測単位(PU)及び変換単位(TU)の木構造セットを含み、PUは、すべての色成分に対する予測情報を含み、TUは、各色成分に対する残差コード化構文構造を含む。ルマ成分のCB、PB及びTBのサイズは、対応するCU、PU及びTUに当てはまる。本出願では、「ブロック」又は「ピクチャブロック」という用語は、CTU、CU、PU、TU、CB、PB及びTBのいずれか1つを指すために使用することができる。それに加えて、「ブロック」又は「ピクチャブロック」という用語は、H.264/AVC又は他の映像コード化規格において指定されるようなマクロブロック、パーティション及びサブブロックを指すために使用することができ、より一般的には、様々なサイズのサンプルのアレイを指すために使用することができる。
【0044】
例示的なエンコーダ100では、ピクチャは、以下で説明されるようなエンコーダ要素によって符号化される。符号化予定のピクチャは、CUの単位において処理される。各CUは、イントラ又はインターモードを使用して符号化される。CUがイントラモードで符号化される際は、イントラ予測(160)が実行される。インターモードでは、動き推定(175)及び補償(170)が実行される。エンコーダは、CUを符号化するためにイントラモード又はインターモードのどちらを使用するかを決定し(105)、予測モードフラグによってイントラ/インター決定を示す。残差は、オリジナルのピクチャブロックから予測サンプルブロック(予測因子としても知られている)を減じること(110)によって計算される。予測サンプルブロックは、ブロックの各サンプルに対して1つずつ予測値を含む。
【0045】
イントラモードにおけるCUは、同じスライス内の再構築された近隣のサンプルから予測される。35のイントラ予測モードのセットがHEVCにおいて利用可能であり、DC、平面及び33の角度予測モードを含む。イントラ予測参照は、現在のブロックに隣接する行及び列から再構築される。参照は、以前に再構築されたブロックから利用可能なサンプルを使用して、水平及び垂直方向においてブロックサイズの2倍超に及ぶ。イントラ予測に対して角度予測モードが使用される際は、参照サンプルは、角度予測モードによって示される方向に沿ってコピーすることができる。
【0046】
現在のブロックに対して適用可能なルマイントラ予測モードは、2つの異なるオプションを使用してコード化することができる。適用可能なモードが3つの最確モード(MPM)の構築リストに含まれる場合は、モードは、MPMリストのインデックスによって信号伝達される。そうでなければ、モードは、モードインデックスの固定長二進化によって信号伝達される。3つの最確モードは、上及び左の近隣のブロックのイントラ予測モードから導出される。
【0047】
インターCUの場合は、対応するコード化ブロックは、1つ又は複数の予測ブロックにさらに区分化される。インター予測は、PBレベルで実行され、対応するPUは、インター予測がどのように実行されるかについての情報を含む。
【0048】
動き情報(すなわち、動きベクトル及び参照インデックス)は、2つの方法、すなわち、「高度な動きベクトル予測(AMVP)」及び「マージモード」で信号伝達することができる。AMVPでは、映像エンコーダ又はデコーダは、既にコード化されているブロックから決定された動きベクトルに基づいて候補リストを組み立てる。次いで、映像エンコーダは、動きベクトル予測因子(MVP)を識別するために候補リストにインデックスを信号伝達し、動きベクトル差(MVD)を信号伝達する。デコーダ側では、動きベクトル(MV)は、MVP+MVDとして再構築される。
【0049】
マージモードでは、映像エンコーダ又はデコーダは、既にコード化されているブロックに基づいて候補リストを組み立て、映像エンコーダは、候補リスト内の候補のうちの1つに対するインデックスを信号伝達する。デコーダ側では、動きベクトル及び参照ピクチャインデックスは、信号伝達された候補に基づいて再構築される。
【0050】
HEVCでは、動き補償のための動き情報の精度は、ルマ成分に対して1/4サンプルであり、クロマ成分に対して1/8サンプルである。7タップ又は8タップ補間フィルタは、分数サンプルのサンプル位置の補間に使用される。すなわち、水平方向と垂直方向の両方における全サンプル場所の1/4、1/2及び3/4は、ルマに対処することができる。
【0051】
残差は、変換(125)及び量子化(130)が行われる。量子化済みの変換係数並びに動きベクトル及び他の構文要素は、ビットストリームを出力するために、エントロピーコード化(145)される。また、エンコーダは、変換をスキップして、4×4TUベースで非変換残差信号に量子化を直接適用することもできる。また、エンコーダは、変換と量子化の両方を回避することもできる(すなわち、残差は、変換プロセスも量子化プロセスも適用することなく直接コード化される)。直接PCMコード化では、予測は適用されず、コード化単位サンプルは、直接コード化され、ビットストリームに埋め込まれる。
【0052】
エンコーダは、復号ループを含み、従って、さらなる予測に対する参照を提供するために、符号化済みのブロックを復号する。量子化済みの変換係数は、残差を復号するために、逆量子化(140)及び逆変換(150)が行われる。復号済みの残差と予測サンプルブロックを組み合わせること(155)で、ピクチャブロックが再構築される。インループフィルタ(165)は、例えば、コード化アーチファクトを低減するためにデブロッキング/SAO(サンプル適応オフセット)フィルタリングを実行するため、再構築されたピクチャに適用される。フィルタリング済みのピクチャは、参照ピクチャバッファ(180)に格納し、他のピクチャに対する参照として使用することができる。
【0053】
HEVCでは、SAOフィルタリングは、映像レベル、スライスレベル及びCTBレベルで起動又は解除することができる。2つのSAOモード、すなわち、エッジオフセット(EO)及びバンドオフセット(BO)が指定される。EOの場合、サンプル分類は、フィルタリング予定のピクチャの局所方向性構造に基づく。BOの場合、サンプル分類は、サンプル値に基づく。EO又はBOに対するパラメータは、明示的にコード化するか又は近隣から導出することができる。SAOは、ルマ及びクロマ成分に適用することができ、SAOモードは、Cb及びCr成分に対して同じである。SAOパラメータ(すなわち、オフセット、SAOタイプEO、BO及び解除、EOの事例ではクラス、BOの事例ではバンド位置)は、各色成分に対して個別に構成される。
【0054】
図3は、特定の及び非限定的な実施形態による、復号済みのピクチャを得るためにビットストリームからピクチャを復号するように構成された受信機2000の例示的なアーキテクチャを表す。
【0055】
受信機2000は、1つ又は複数のプロセッサ2005を含み、1つ又は複数のプロセッサ2005は、例えば、CPU、GPU及び/又はDSP(デジタル信号プロセッサの英語の頭字語)を含み得、内部メモリ2030(例えば、RAM、ROM及び/又はEPROM)を伴う。受信機2000は、各々が出力情報を表示するように及び/又はユーザがコマンド及び/又はデータ(例えば、復号済みのピクチャ)を入力できるように適応された1つ又は複数の通信インタフェース2010(例えば、キーボード、マウス、タッチパッド、ウェブカメラ)と、受信機2000の外部のものであり得る電源2020とを含む。また、受信機2000は、1つ又は複数のネットワークインタフェース(図示せず)も含み得る。デコーダモジュール2040は、復号機能を実行するためにデバイスに含めることができるモジュールを表す。それに加えて、デコーダモジュール2040は、当業者に知られているようなハードウェアとソフトウェアの組合せとして、受信機2000の別個の要素として実装することも、又はプロセッサ2005内に組み込むこともできる。
【0056】
ビットストリームは、供給源から得ることができる。異なる実施形態によれば、供給源は、これらに限定されないが、
- ローカルメモリ(例えば、ビデオメモリ、RAM、フラッシュメモリ、ハードディスク)、
- 記憶装置インタフェース(例えば、大容量記憶装置、ROM、光ディスク又は磁気サポートとのインタフェース)、
- 通信インタフェース(例えば、有線インタフェース(例えば、バスインタフェース、広域ネットワークインタフェース、ローカルエリアネットワークインタフェース)又は無線インタフェース(IEEE802.11インタフェース若しくはBluetoothインタフェースなど))、及び、
- 画像捕捉回路(例えば、センサ、例えば、CCD(若しくは電荷結合素子)又はCMOS(若しくは相補型金属酸化膜半導体)など)
であり得る。
【0057】
異なる実施形態によれば、復号済みのピクチャは、送り先(例えば、表示デバイス)に送信することができる。例として、復号済みのピクチャは、リモート又はローカルメモリ(例えば、ビデオメモリ又はRAM、ハードディスク)に格納される。変形形態では、復号済みのピクチャは、記憶装置インタフェース(例えば、大容量記憶装置、ROM、フラッシュメモリ、光ディスク若しくは磁気サポートとのインタフェース)に送られる、及び/又は、通信インタフェース(例えば、ポイントツーポイントリンク、通信バス、ポイントツーマルチポイントリンク若しくは放送ネットワークとのインタフェース)上で送信される。
【0058】
特定の及び非限定的な実施形態によれば、受信機2000は、メモリ2030に格納されたコンピュータプログラムをさらに含む。コンピュータプログラムは、命令を含み、命令は、受信機2000によって(具体的には、プロセッサ2005によって)実行されると、図5B、6B、8B、10B及び11Bを参照して説明される復号方法を受信機が実行できるようにする。変形形態によれば、コンピュータプログラムは、受信機2000の外部の非一時的なデジタルデータサポート上(例えば、HDD、CD-ROM、DVD、読み取り専用及び/又はDVDドライブ及び/又はDVD読み取り/書き込みドライブなどの外部の記憶媒体上)に格納され、そのすべては、当技術分野で知られている。従って、受信機2000は、コンピュータプログラムを読み取るためのメカニズムを含む。さらに、受信機2000は、対応するUSBポート(図示せず)を通じて、1つ又は複数のユニバーサルシリアルバス(USB)タイプの記憶装置(例えば、「メモリスティック」)にアクセスすることができる。
【0059】
例示的な及び非限定的な実施形態によれば、受信機2000は、これらに限定されないが、
- モバイルデバイス、
- 通信デバイス、
- ゲームデバイス、
- セットトップボックス、
- TVセット、
- タブレット(又はタブレットコンピュータ)、
- ラップトップ、
- ビデオプレーヤ(例えば、Blu-rayプレーヤ、DVDプレーヤ)、
- ディスプレイ、及び
- 復号チップ又は復号デバイス/装置
であり得る。
【0060】
図4は、図5B、6B、8B、10B及び11Bの一実施形態による復号方法を実行するように適応させた例示的な映像デコーダ200(例えば、HEVC映像デコーダ)のブロック図を示す。映像デコーダ200は、受信機2000又はそのような受信機2000の一部の例である。例示的なデコーダ200では、ビットストリームは、以下で説明されるようなデコーダ要素によって復号される。映像デコーダ200は、一般に、映像データの符号化の一部として映像復号を実行する図2において説明されるような符号化パスとは逆の復号パスを実行する。
【0061】
具体的には、デコーダの入力は、映像ビットストリームを含み、映像ビットストリームは、映像エンコーダ100によって生成することができる。ビットストリームは、最初に、変換係数、動きベクトル及び他のコード化情報を得るために、エントロピー復号される(230)。変換係数は、残差を復号するために、逆量子化(240)及び逆変換(250)が行われる。次いで、復号済みの/再構築されたピクチャブロックを得るために、復号済みの残差が予測サンプルブロック(予測因子としても知られている)と組み合わされる(255)。予測サンプルブロックは、イントラ予測(260)又は動き補償予測(すなわち、インター予測)(275)から得ることができる(270)。上記で説明されるように、動き補償の間、AMVP及びマージモード技法を使用することができ、動き補償では、参照ブロックのサブ整数サンプルに対する補間値を計算するために補間フィルタを使用することができる。インループフィルタ(265)は、再構築されたピクチャに適用される。インループフィルタは、デブロッキングフィルタ及びSAOフィルタを含み得る。フィルタリング済みのピクチャは、参照ピクチャバッファ(280)で格納される。
【0062】
図5Aは、本原理による、ピクチャブロックを符号化してビットストリームに埋め込むための方法のフローチャートを表す。画素レベルでマッピング済みの残差サンプルを得るため、コード化ループにおいてマッピングが適用される。先行技術とは対照的に、符号化方法の入力サンプルは、マッピングによって修正されることはない。デコーダ側では、デコーダからの出力サンプルは、逆マッピングによって修正されることはない。マッピングは、ピクチャの1つ又はいくつかの成分に適用することができる。例えば、マッピングは、ルマ成分のみ、クロマ成分のみ、又は、ルマ及びクロマ成分に適用することができる。
【0063】
方法は、ステップS100から始まる。ステップS110では、送信機1000(例えば、エンコーダ100など)は、ピクチャスライスのブロックにアクセスする。ステップS120では、送信機は、アクセスしたブロックの少なくとも1つのサンプルに対して及び少なくとも1つの成分に対して(例えば、ルマに対して)、そのソース値Orig(x,y)の予測値Pred(x,y)を得る。(x,y)は、ピクチャのサンプルの空間座標である。予測値は、ブロックに対して選択された予測モード(イントラ/インターモード)に応じて得られる(すなわち、通常は決定される)。
【0064】
ステップS130では、送信機は、サンプルに対して、マッピング関数fmap()に応答してサンプルのソース値Orig(x,y)から及び予測値Pred(x,y)からマッピング済みの残差値を決定する。マッピング関数は、コード化利得を得るために、すなわち、所定の視覚的若しくは客観的な再構築の質に対するビットストリームのビットコスト(すなわち、ビット数)の低減又は所定のビットコストに対する視覚的若しくは客観的な再構築の質の増加を得るために、定義又は導出される。ブロック、ピクチャ又はピクチャシーケンスを符号化して所定のサイズ(すなわち、所定のビット数)のビットストリームに埋め込む際は、ブロック、ピクチャ又はピクチャシーケンスの受信機側の再構築の質は、このサイズに依存する。他方では、ブロック、ピクチャ、ピクチャシーケンスを所定の再構築の質で符号化する際は、ビットストリームのサイズは、この再構築の質に依存する。
【0065】
ほとんどの事例では、再構築の質を表す歪みは、入力信号と出力信号との差の2乗の期待値(すなわち、平均2乗誤差)として定義される。しかし、ほとんどのロッシー圧縮技法は、人間である消費者(ピクチャ及び映像の視聴者)によって知覚されるデータに基づいて動作するため、歪み尺度は、好ましくは、人間の知覚に基づいて、恐らくは美学に基づいて、モデル化することができる。
【0066】
例えば、マッピング関数は、以下の手法のうちの1つによって導出することができる。
- マッピング関数は、図7で描写されるように、成分値の振幅値が小さいものよりも成分値の振幅値が大きいものに対して残差値の振幅がより増加するように導出される。
- 改善された知覚的な又は客観的なコード化性能を得るために、事前に定義されたエンコーダ量子化調整表deltaQP又は量子化調整関数dQP(Y)(Yは、映像信号ルマである)を導出又は調節することができる。deltaQP又はdQP(Y)から、sc(Y)=2^(-dQP(Y)/6)の通り(式中、^は、べき乗演算子である)、スケーリング関数を導出することができる。スケーリング関数は、マッピング関数において使用することができ、残差とスケーリング関数から導出されたスケーリング値との乗算に相当し得る。変形形態では、マッピング関数は、このスケーリング関数が残差に適用されたマッピング関数の導関数であることを考慮することによって導出することができる。
- ステップS130において残差をマッピングするために、プリエンコーダ関数Map(Y)(Yは、ルマ映像信号である)又はMap(Y)の導関数(スケーリング関数である)をマッピング関数fmap()として使用することができる。プリエンコーダ関数Map(Y)は、信号のオリジナルのサンプルが(このプリエンコーダ関数Map(Y)によってマッピングされた時点で)全コードワード範囲においてより良く分布するように(例えば、ヒストグラム平坦化のおかげで)導出される。
【0067】
上記で言及される3つの手法に加えて、残差値のマッピングが圧縮性能を改善するならば、他の手法を使用してマッピング関数を導出することができる。
【0068】
ステップS110及びS120は、マッピング済みの残差値のブロックを得るために、アクセスしたブロックの各サンプルに対して繰り返すことができる。
【0069】
ステップS140では、送信機は、マッピング済みの残差値を符号化する。マッピング済みの残差値を符号化することは、必須ではないが、通常、残差を変換係数に変換し、量子化済みの係数を得るために量子化ステップサイズQPで係数を量子化し、量子化済みの係数をエントロピーコード化してビットストリームに埋め込むことを含む。
【0070】
方法は、ステップS180で終了する。
【0071】
図5Bは、図5Aの符号化方法に相当するビットストリームのピクチャブロックを復号するための方法のフローチャートを表す。
【0072】
方法は、ステップS200から始まる。ステップS210では、受信機2000(デコーダ200など)は、ビットストリームにアクセスする。
【0073】
ステップS220では、受信機は、少なくとも1つの成分に対して(例えば、ルマに対して)、少なくとも1つのサンプルに対する予測値Pred(x,y)を得る。(x,y)は、ピクチャのサンプルの空間座標である。予測値は、ブロックに対して選択された予測モード(イントラ/インターモード)に応じて得られる。
【0074】
ステップS230では、受信機は、復号予定のサンプルに対する残差値Res(x,y)を復号する。残差値Res(x,y)は、図5AのステップS140において符号化されたマッピング済みの残差値の復号済みのバージョンである。復号することは、必須ではないが、通常、変換係数のブロックを得るためにブロックを表すビットストリームの一部分をエントロピー復号し、残差のブロックを得るために変換係数のブロックを逆量子化及び逆変換することを含む。
【0075】
ステップS240では、送信機は、サンプルに対して、ステップS130における符号化方法によって使用されたマッピング関数fmap()の逆関数であるマッピング関数invfmap()に応答して復号済みの残差値から及び予測値から再構築されたサンプル値を決定する。ステップS220~S240は、アクセスしたブロックの各サンプルに対して繰り返すことができる。
【0076】
方法は、ステップS280で終了する。
【0077】
図6Aは、第1の特定の及び非限定的な実施形態による、ピクチャブロックを符号化してビットストリームに埋め込むための方法のフローチャートを表す。
【0078】
方法は、ステップS100から始まる。ステップS110では、送信機1000(例えば、エンコーダ100など)は、ピクチャスライスのブロックにアクセスする。ステップS120では、送信機は、少なくとも1つの成分に対して(例えば、ルマに対して)、アクセスしたブロックの少なくとも1つのサンプルに対する値Orig(x,y)の予測値Pred(x,y)を得る。(x,y)は、ピクチャのサンプルの空間座標である。予測値は、ブロックに対して選択された予測モード(イントラ/インターモード)に応じて得られる。
【0079】
ステップS130では、送信機は、サンプルに対して、マッピング関数fmap()に応答してサンプルのソース値Orig(x,y)から及び予測値Pred(x,y)からマッピング済みの残差値を決定する。マッピング関数は、コード化利得を得るために、すなわち、所定の視覚的若しくは客観的な質に対するビットレートの低減又は所定のビットレートに対する視覚的若しくは客観的な質の増加を得るために、定義又は導出される。マッピング関数は、図5Aを参照して開示される方法のうちの1つによって導出することができる。ステップS110~S130は、マッピング済みの残差値のブロックを得るために、アクセスしたブロックの各サンプルに対して繰り返すことができる。第1の実施形態では、Resmap(x,y)で示されるマッピング済みの残差は、fmap(Orig(x,y))-fmap(Pred(x,y))に等しい。
【0080】
ステップS140では、送信機は、マッピング済みの残差値を符号化する。マッピング済みの残差値を符号化することは、必須ではないが、通常、残差を変換係数に変換し、量子化済みの係数を得るために量子化ステップサイズQPで係数を量子化し、量子化済みの係数をエントロピーコード化してビットストリームに埋め込むことを含む。
【0081】
方法は、ステップS180で終了する。
【0082】
図6Bは、第1の特定の及び非限定的な実施形態による、図6Aによる符号化方法の実施形態に相当するビットストリームのピクチャブロックを復号するための方法のフローチャートを表す。
【0083】
方法は、ステップS200から始まる。ステップS210では、受信機2000(デコーダ200など)は、ビットストリームにアクセスする。
【0084】
ステップS220では、受信機は、少なくとも1つの成分に対して(例えば、ルマに対して)、少なくとも1つのサンプルに対する予測値Pred(x,y)を得る。(x,y)は、ピクチャのサンプルの空間座標である。予測値は、ブロックに対して選択された予測モード(イントラ/インターモード)に応じて得られる。
【0085】
ステップS230では、受信機は、復号予定のサンプルに対する残差値Res(x,y)を復号する。残差値Res(x,y)は、図6AのステップS140において符号化されたマッピング済みの残差値の復号済みのバージョンである。復号することは、必須ではないが、通常、変換係数のブロックを得るためにブロックを表すビットストリームの一部分をエントロピー復号し、残差のブロックを得るために変換係数のブロックを逆量子化及び逆変換することを含む。
【0086】
ステップS240では、送信機は、サンプルに対して、ステップS130における符号化方法によって使用されたマッピング関数fmap()とその逆関数invfmap()の両方に応答して復号済みの残差値Res(x,y)から及び予測値Pred(x,y)から再構築されたサンプル値Dec(x,y)を決定する。ステップS220~S240は、再構築ブロックを得るために、アクセスしたブロックの各サンプルに対して繰り返すことができる。第1の実施形態では、Dec(x,y)で示される再構築されたサンプル値は、invfmap(Res(x,y)+fmap(Pred(x,y)))に等しい。
【0087】
方法は、ステップS280で終了する。
【0088】
図8Aは、第2の特定の及び非限定的な実施形態による、ピクチャブロックを符号化してビットストリームに埋め込むための方法のフローチャートを表す。
【0089】
方法は、ステップS100から始まる。ステップS110では、送信機1000(例えば、エンコーダ100など)は、ピクチャスライスのブロックにアクセスする。ステップS120では、送信機は、少なくとも1つの成分に対して(例えば、ルマに対して)、アクセスしたブロックの少なくとも1つのサンプルに対する値Orig(x,y)の予測値Pred(x,y)を得る。(x,y)は、ピクチャのサンプルの空間座標である。予測値は、ブロックに対して選択された予測モード(イントラ/インターモード)に応じて得られる。
【0090】
ステップS130では、送信機は、サンプルに対して、マッピング関数gmap()に応答してサンプルのソース値Orig(x,y)から及び予測値Pred(x,y)からマッピング済みの残差値を決定する。マッピング関数は、コード化利得を得るために、すなわち、所定の視覚的若しくは客観的な質に対するビットレートの低減又は所定のビットレートに対する視覚的若しくは客観的な質の増加を得るために、定義又は導出される。マッピング関数は、図5Aを参照して開示される方法のうちの1つによって導出することができる。ステップS110~S130は、マッピング済みの残差値のブロックを得るために、アクセスしたブロックの各サンプルに対して繰り返すことができる。第2の実施形態では、Resmap(x,y)で示されるマッピング済みの残差は、gmap(Resusual(x,y),Pred(x,y))に等しく、式中、Resusual(x,y)=Orig(x,y)-Pred(x,y)である。
【0091】
関数gmap(p,v)及びinvgmap(p,v)の簡単なバージョンの1つは、第1の実施形態から導出することができる。予測値p及びサンプル残差値vに対し、gmap(p,v)及びinvgmap(p,v)は、以下の通り構築することができる。
【0092】
第1の実施形態では、Resremap(x,y)=fmap(Orig(x,y))-fmap(Pred(x,y))
信号Orig(x,y)とPred(x,y)が近い場合(予測がうまく機能した場合に予期される)は、Orig(x,y)=Pred(x,y)+ε(εは、非常に小さな振幅である)であると考慮することができる。関数の導関数の定義を考慮すると、
map(Orig(x,y))=fmap(Pred(x,y)+ε)≒fmap(Pred(x,y))+ε*f’map(Pred(x,y))
と考慮することができ、
式中、fmapは、1D関数(例えば、実施形態1で定義されるような)に相当し、f’mapは、関数fmapの導関数である。
次いで、Resmap(x,y)=fmap(Orig(x,y))-fmap(Pred(x,y))≒ε*f’map(Pred(x,y))である。
定義により、ε=Orig(x,y)-Pred(x,y)は、通常予測残差Resusual(x,y)である。
従って、以下の関数gmap(p,v)及びinvgmap(p,v)を使用することができる。
map(p,v)=f’map(p)*
invgmap(p,v)=(1/f’map(p))*
【0093】
エンコーダ側では、マッピング済みの残差は、
Resmap(x,y)=f’map(Pred(x,y))*Resusual(x,y) (eq.1)
として導出される。
デコーダ側では、再構築信号は、
Dec(x,y)=Pred(x,y)+1/f’map(Pred(x,y))*Resdec(x,y)) (eq.2)
として導出される。
【0094】
これは、マッピングが、予測値に依存するスケーリングファクタによる通常残差の簡単なスケーリングであることを意味する。場合により、エンコーダ側では、スケーリングファクタは、予測値ではなく、オリジナルの値に依存する。しかし、そうすることで、エンコーダとデコーダとの間の不一致が生まれる。また、例えば、量子化誤差の影響を低減するために、平滑化フィルタを使用することによって、予測のフィルタリング済みのバージョンを使用することもできる。
例えば、方程式1及び2においてPred(x,y)を使用する代わりに、フィルタリング済みのバージョン(Pred(x-1,y)/4+Pred(x,y)/2+Pred(x+1,y))/4)を使用することができる。
【0095】
図9は、関数f’map及び(1/f’map)の例を提供する。
【0096】
ステップS140では、送信機は、マッピング済みの残差値を符号化する。マッピング済みの残差値を符号化することは、必須ではないが、通常、残差を変換係数に変換し、量子化済みの係数を得るために量子化ステップサイズQPで係数を量子化し、量子化済みの係数をエントロピーコード化してビットストリームに埋め込むことを含む。
【0097】
方法は、ステップS180で終了する。
【0098】
図8Bは、図8Aに関して開示される符号化方法に相当するビットストリームのピクチャブロックを復号するための方法のフローチャートを表す。
【0099】
方法は、ステップS200から始まる。ステップS210では、受信機2000(デコーダ200など)は、ビットストリームにアクセスする。
【0100】
ステップS220では、受信機は、少なくとも1つの成分に対して(例えば、ルマに対して)、少なくとも1つのサンプルに対する予測値Pred(x,y)を得る。(x,y)は、ピクチャのサンプルの空間座標である。予測値は、ブロックに対して選択された予測モード(イントラ/インターモード)に応じて得られる。
【0101】
ステップS230では、受信機は、復号予定のサンプルに対する残差値Res(x,y)を復号する。残差値Res(x,y)は、図8AのステップS140において符号化されたマッピング済みの残差値の復号済みのバージョンである。復号することは、必須ではないが、通常、変換係数のブロックを得るためにブロックを表すビットストリームの一部分をエントロピー復号し、残差のブロックを得るために変換係数のブロックを逆量子化及び逆変換することを含む。
【0102】
ステップS240では、送信機は、サンプルに対して、図8AのステップS130における符号化方法によって使用されたマッピング関数gmap()の逆関数であるマッピング関数invgmap()に応答して復号済みの残差値Res(x,y)から及び予測値Pred(x,y)から再構築されたサンプル値Dec(x,y)を決定する。ステップS220~S240は、再構築ブロックを得るために、アクセスしたブロックの各サンプルに対して繰り返すことができる。第2の実施形態では、Dec(x,y)で示される再構築されたサンプル値は、Pred(x,y)+invgmap(Res(x,y),Pred(x,y))に等しい。
【0103】
第1の実施形態はfmap関数とinvfmapの両方を適用することを必要とするが、この実施形態は、有利には、デコーダ側において、単一のステップでinvgmap関数を使用して予測残差をマッピングすることを可能にする。
【0104】
方法は、ステップS280で終了する。
【0105】
図10Aは、第3の特定の及び非限定的な実施形態による、ピクチャブロックを符号化してビットストリームに埋め込むための方法のフローチャートを表す。この実施形態は、第2の実施形態を一般化したものである。関数fmap及びinvfmap()は、スケーリング関数であり、そのスケーリングファクタは、予測信号(又は以前に言及したような予測信号のフィルタリング済みのバージョン)の値に依存する。
【0106】
方法は、ステップS100から始まる。ステップS110では、送信機1000(例えば、エンコーダ100など)は、ピクチャスライスのブロックにアクセスする。ステップS120では、送信機は、少なくとも1つの成分に対して(例えば、ルマに対して)、アクセスしたブロックの少なくとも1つのサンプルに対する値Orig(x,y)の予測値Pred(x,y)を得る。(x,y)は、ピクチャのサンプルの空間座標である。予測値は、ブロックに対して選択された予測モード(イントラ/インターモード)に応じて得られる。
【0107】
ステップS130では、送信機は、サンプルに対して、マッピング関数fmap()に応答してサンプルのソース値Orig(x,y)から及び予測値Pred(x,y)からマッピング済みの残差値を決定する。マッピング関数は、コード化利得を得るために、すなわち、所定の視覚的若しくは客観的な質に対するビットレートの低減又は所定のビットレートに対する視覚的若しくは客観的な質の増加を得るために、定義又は導出される。マッピング関数は、図5Aを参照して開示される方法のうちの1つによって導出することができる。ステップS110~S130は、マッピング済みの残差値のブロックを得るために、アクセスしたブロックの各サンプルに対して繰り返すことができる。第2の実施形態では、Resmap(x,y)で示されるマッピング済みの残差は、fmap(Pred(x,y))*Resusual(x,y)に等しく、式中、Resusual(x,y)=Orig(x,y)-Pred(x,y)である。これは、(eq.1)及び(eq.2)の一般化バージョンである。変形形態では、Pred(x,y)の代わりにオリジナルの値Orig(x,y)を使用することができる。この事例では、Resmap(x,y)は、fmap(Orig(x,y))*Resusual(x,y)に等しい。別の変形形態では、Orig(x,y)とPred(x,y)との組合せComb(x,y)(例えば、これらの2つの値の平均)を使用することができる。この後者の事例では、Resmap(x,y)は、fmap(Comb(x,y))*Resusual(x,y)に等しい。
【0108】
ステップS140では、送信機は、マッピング済みの残差値を符号化する。マッピング済みの残差値を符号化することは、必須ではないが、通常、残差を変換係数に変換し、量子化済みの係数を得るために量子化ステップサイズQPで係数を量子化し、量子化済みの係数をエントロピーコード化してビットストリームに埋め込むことを含む。
【0109】
方法は、ステップS180で終了する。
【0110】
図10Bは、図10Aに関して開示される符号化方法に相当するビットストリームからピクチャブロックを復号するための方法のフローチャートを表す。
【0111】
方法は、ステップS200から始まる。ステップS210では、受信機2000(デコーダ200など)は、ビットストリームにアクセスする。
【0112】
ステップS220では、受信機は、少なくとも1つの成分に対して(例えば、ルマに対して)、少なくとも1つのサンプルに対する予測値Pred(x,y)を得る。(x,y)は、ピクチャのサンプルの空間座標である。予測値は、ブロックに対して選択された予測モード(イントラ/インターモード)に応じて得られる。
【0113】
ステップS230では、受信機は、復号予定のサンプルに対する残差値Res(x,y)を復号する。残差値Res(x,y)は、図10AのステップS140において符号化されたマッピング済みの残差値の復号済みのバージョンである。復号することは、必須ではないが、通常、変換係数のブロックを得るためにブロックを表すビットストリームの一部分をエントロピー復号し、残差のブロックを得るために変換係数のブロックを逆量子化及び逆変換することを含む。
【0114】
ステップS240では、受信機は、サンプルに対して、ステップS130における符号化方法によって使用されたマッピング関数invfmap()=1/fmap()に応答して復号済みの残差値Res(x,y)から及び予測値Pred(x,y)から再構築されたサンプル値Dec(x,y)を決定する。ステップS220~S240は、再構築ブロックを得るために、アクセスしたブロックの各サンプルに対して繰り返すことができる。第2の実施形態では、Dec(x,y)で示される再構築されたサンプル値は、Pred(x,y)+(1/fmap(Pred(x,y)))*Res(x,y)に等しい。
【0115】
この実施形態は、有利には、デコーダ側において、簡単な乗算を使用することによって逆マッピングを実行することを可能にし、それにより、追加の複雑性が限定され、正確なマッピングの実行が可能になり、プロセス(Dec(x,y)を演算している時)のまさに最後に丸め演算を適用することができる。
【0116】
方法は、ステップS280で終了する。
【0117】
図11Aは、第4の特定の及び非限定的な実施形態による、ピクチャブロックを符号化してビットストリームに埋め込むための方法のフローチャートを表す。この実施形態では、マッピングは、成分間共通のスケーリングである。例えば、マッピングは、同一場所に位置するルマ成分Y(又はそのフィルタリング済みのバージョンのもの)に応じてクロマ成分Cに適用される(Cは、U(若しくはCb)又はV(若しくはCr)である)。ルマ又はクロマピクチャが同じ解像度のものでない際(例えば、4:2:0クロマフォーマットの場合)は、ルマ値は、再サンプリング後に又はクロマサンプルが関連付けられたルマピクチャのサンプル値の1つとして取り入れることができる。例えば、4:2:0信号の事例では、ピクチャの位置(x,y)に対し、位置(2*x,2*y)におけるルマ値を考慮することができる。
【0118】
方法は、ステップS100から始まる。ステップS110では、送信機1000(例えば、エンコーダ100など)は、ピクチャスライスのブロックにアクセスする。ステップS120では、送信機は、少なくとも1つの成分に対して(例えば、クロマCに対して)、アクセスしたブロックの少なくとも1つのサンプルに対するソース値OrigC(x,y)の予測値PredC(x,y)を得る。(x,y)は、ピクチャのサンプルの空間座標である。送信機は、少なくとも別の成分に対して(例えば、ルマYに対して)、同じサンプルに対するソース値OrigY(x,y)の予測値PredY(x,y)をさらに得る。予測値は、ブロックに対して選択された予測モード(イントラ/インターモード)に応じて得られる。
【0119】
ステップS130では、送信機は、サンプルに対して、マッピング関数fmap()に応答してサンプルのソース値OrigC(x,y)から並びに予測値PredC(x,y)及びPredY(x,y)からマッピング済みの残差値を決定する。マッピング関数は、コード化利得を得るために、すなわち、所定の視覚的若しくは客観的な質に対するビットレートの低減又は所定のビットレートに対する視覚的若しくは客観的な質の増加を得るために、定義又は導出される。マッピング関数は、図5Aを参照して開示される方法のうちの1つによって導出することができる。ステップS110~S130は、マッピング済みの残差値のブロックを得るために、アクセスしたブロックの各サンプルに対して繰り返すことができる。第4の実施形態では、ResCmap(x,y)で示されるマッピング済みの残差は、fmap(PredY(x,y))*ResCusual(x,y)に等しく、式中、ResCusual(x,y)=OrigC(x,y)-PredC(x,y)であり、OrigC(x,y)は、ピクチャの位置(x,y)におけるクロマ成分C(コード化予定の)のソースサンプルの値であり、PredC(x,y)は、クロマ成分Cの予測サンプルの値であり、ResCusual(x,y)は、クロマ成分Cの予測残差サンプルの値である。
【0120】
ステップS140では、送信機は、マッピング済みの残差値を符号化する。マッピング済みの残差値を符号化することは、必須ではないが、通常、残差を変換係数に変換し、量子化済みの係数を得るために量子化ステップサイズQPで係数を量子化し、量子化済みの係数をエントロピーコード化してビットストリームに埋め込むことを含む。
【0121】
方法は、ステップS180で終了する。
【0122】
図11Bは、図11Aに関して開示される符号化方法に相当するビットストリームからピクチャブロックを復号するための方法のフローチャートを表す。
【0123】
方法は、ステップS200から始まる。ステップS210では、受信機2000(デコーダ200など)は、ビットストリームにアクセスする。
【0124】
ステップS220では、受信機は、少なくとも1つの成分に対して(例えば、クロマCに対して)、アクセスしたブロックの少なくとも1つのサンプルに対するソース値OrigC(x,y)の予測値PredC(x,y)を得る。(x,y)は、ピクチャのサンプルの空間座標である。受信機は、少なくとも別の成分に対して(例えば、ルマYに対して)、同じサンプル(場合により、ルマ及びクロマピクチャが同じ解像度を有さない場合はダウンサンプリングして)に対するソース値OrigY(x,y)の予測値PredY(x,y)をさらに得る。予測値は、ブロックに対して選択された予測モード(イントラ/インターモード)に応じて得られる。
【0125】
ステップS230では、受信機は、復号予定のサンプルに対する残差値ResC(x,y)を復号する。残差値ResC(x,y)は、図11AのステップS140において符号化されたマッピング済みの残差値の復号済みのバージョンである。復号することは、必須ではないが、通常、変換係数のブロックを得るためにブロックを表すビットストリームの一部分をエントロピー復号し、残差のブロックを得るために変換係数のブロックを逆量子化及び逆変換することを含む。
【0126】
ステップS240では、受信機は、サンプルに対して、fmap()がステップS130における符号化方法によって使用されたマッピング関数であるマッピング関数1/fmap()に応答して復号済みの残差値ResC(x,y)から並びに予測値PredC(x,y)及びPredY(x,y)から再構築されたサンプル値DecC(x,y)を決定する。ステップS220~S240は、再構築クロマブロックを得るために、アクセスしたブロックの各サンプルに対して繰り返すことができる。第4の実施形態では、DecC(x,y)で示される再構築されたサンプル値は、PredC(x,y)+(1/fmap(PredY(x,y)))*ResC(x,y)に等しい。
【0127】
この実施形態は、有利には、デコーダ側において、ルマ成分に応じてクロマ成分をスケーリングすることを可能にし、それにより、一般的には、異なるルマ間隔に対するクロマのスケーリングの微制御のおかげで視覚品質が改善される。
【0128】
方法は、ステップS280で終了する。
【0129】
図10A、10B、11A及び11Bに関して開示される第3及び第4の実施形態は、有利には、固定小数点方式を実装することができる。
【0130】
ResCusualを位置(x,y)においてマッピングする予測残差とすると、スケーリングファクタscalにより、例えば、成分間共通のスケーリングの事例において、値PredY(成分間共通のものとして使用される予測ルマの同一場所に位置する値)におけるfmapの値から、
scal=fmap(PredY)
が導出される。
【0131】
デコーダ側では、invScal=round(2^B÷scal)が使用され(場合により、以下で説明されるように、コード化してビットストリームに埋め込まれる)、
式中、
・ ^は、べき乗演算子であり、
・ round(x)は、xの最も近い整数値であり、
・ Bは、スケーリングファクタを量子化するために選ばれたbitDepthである(典型的には、B=8又は10ビット)。
【0132】
マッピング済みの値ResCmapへの値ResCusualのマッピングは、以下の通り適用される。
ResCmap=(ResCusual *B+sign(ResCusual*(invScal/2))/invScal (eq.3)
式中、ResCusual(x,y)=OrigC(x,y)-PredC(x,y)であり、x≧0の場合は、sign(x)は1に等しく、そうでなければ、-1に等しい。
この方程式のすべてのパラメータは整数であり、「/」という除算もまた、整数において適用される(÷という除算は、浮動小数点除算である)。次いで、マッピング済みの値ResCmapが符号化される。
【0133】
デコーダ側では、符号化されたマッピング済みの値ResCmapは、値ResCmap_decに復号される。逆マッピング済みの値ResCinvmapへの復号済みの値ResCmap_decの逆マッピングは、以下の通り適用される。
ResCinvmap=(ResCmap_dec *invScal+sign(ResCmap_dec*(B-1))/2B (eq.4)
(ResCmap_dec*invScal+sign(ResCmap_dec)*2(B-1))/2B
これは、
ResCinvmap=(ResCmap_dec *invScal+sign(ResCmap_dec*(B-1))>>B (eq.5)
に等しい。
【0134】
次いで、場所(x,y)において予測値PredC及びResCinvmapから、
DecC=PredC+ResCinvmap (eq.6)
のように再構築値DecCが導出される。
【0135】
また、符号演算子の使用を回避するため、これらの演算を直接組み合わせることもできる。方程式(eq.5)と(eq.6)を組み合わせて(eq.7)にする。
DecC=(PredC*B+ResCmap_dec *invScal+2(B-1))>>B (eq.7)。
【0136】
HEVCでは、量子化は、量子化パラメータQPを使用して調節される。QPからは、量子化ステップQstep0が導出され、量子化ステップQstep0は、(K*2^(QP/6))として近似させることができ、Kは、固定パラメータである。
局所的なQP補正dQPが使用される際は、実際の量子化ステップQstep1は、(K*2^((QP+dQP)/6))として近似させることができ、すなわち、(Qstep0*2^(dQP/6))である。信号は、量子化ステップで除される。
これは、所定のdQPに対し、量子化において信号に適用される対応するスケーリング(量子化ステップの逆から導出される)が2^(-dQP/6)に相当することを意味する。
例えば、dQP表に対して以下の対応を確立することができる。
【0137】
【表1】
【0138】
スケーリングは、例えば、第3の実施形態において説明されるスケーリング解において使用することができる。また、スケーリングは、第1及び第2の実施形態において使用されるようにマッピング関数を導出するために使用することもできる。現に、このスケーリングは、マッピング関数の導関数に相当する。従って、マッピング関数は、区分線形関数としてモデル化することができ、各区分は、この区分に対応するスケーリングに等しい傾斜を有する。
各区間と関連付けられたdQPiというdQP値を有する1組の区間[Yi,Yi+1-1]としてdQP表が定義される場合は(i=0~n、nは整数)、マッピング関数は、以下の通り定義することができる。
iを、Yを含む区間の添字とすると(Yは、[Yi,Yi+1-1]におけるもの)、
map(Y)=fmap(Yi)+2^(-dQPi/6)*(Y-Yi
これにより、上記の特定のdQP表に対して、図12に示されるような関数(すべての範囲(FR)又は制限された範囲(LR)の信号表現の場合)が得られる。
【0139】
関数fmap若しくはgmap又はそれらの逆関数invfmap若しくはinvgmapは、デコーダにおいて(従ってデコーダ仕様において)明示的に定義するか又はビットストリームにおいて信号伝達することができる。
関数fmap、invfmap、gmap又はinvgmapは、
・ ルックアップテーブル
・ 区分スカラ関数(PWS)
・ 区分線形関数(PWL)
・ 区分多項式関数(PWP)
の形状で実装することができる。
それらの関数は、SEIメッセージ、シーケンスパラメータセット(SPS)、ピクチャパラメータセット(PPS)、スライスヘッダ、コード化木単位(CTU)構文、per Tile、又は、適応ピクチャセット(APS)などの新しい構造においてコード化することができる。
【0140】
本明細書で説明される実装形態は、例えば、方法若しくはプロセス、装置、ソフトウェアプログラム、データストリーム、又は、信号で実装することができる。実装の単一の形態の文脈においてのみ論じられる(例えば、方法又はデバイスとしてのみ論じられる)場合であっても、論じられる特徴の実装形態は、他の形態(例えば、プログラム)でも実装することができる。装置は、例えば、適切なハードウェア、ソフトウェア及びファームウェアで実装することができる。方法は、例えば、コンピュータ、マイクロプロセッサ、集積回路又はプログラマブル論理デバイスを含む、例えば、一般に処理デバイスを指す装置(例えば、プロセッサなど)で実装することができる。また、プロセッサは、例えば、コンピュータ、携帯電話、ポータブル/携帯情報端末(「PDA」)、及び、エンドユーザ間の情報の通信を容易にする他のデバイスなどの通信デバイスも含む。
【0141】
本明細書で説明される様々なプロセス及び特徴の実装形態は、様々な異なる機器又はアプリケーション(特に、例えば、機器又はアプリケーション)で具体化することができる。そのような機器の例は、エンコーダ、デコーダ、デコーダからの出力を処理するポストプロセッサ、エンコーダに入力を提供するプリプロセッサ、ビデオコーダ、ビデオデコーダ、ビデオコーデック、ウェブサーバ、セットトップボックス、ラップトップ、パーソナルコンピュータ、携帯電話、PDA及び他の通信デバイスを含む。明確であるべきだが、機器は、モバイルであり得、移動車両にインストールすることさえも可能である。
【0142】
それに加えて、方法は、プロセッサによって実行されている命令によって実装することができ、そのような命令(及び/又は実装形態によって生成されたデータ値)は、例えば、集積回路、ソフトウェアキャリア又は他の記憶装置(例えば、ハードディスク、コンパクトディスク(「CD」)、光ディスク(例えば、デジタル多用途ディスク若しくはデジタルビデオディスクと呼ばれる場合が多いDVDなど)、ランダムアクセスメモリ(「RAM」)又は読み取り専用メモリ(「ROM」))などのプロセッサ可読媒体上に格納することができる。命令は、プロセッサ可読媒体上で有形に具体化されたアプリケーションプログラムを形成することができる。命令は、例えば、ハードウェア、ファームウェア、ソフトウェア又は組合せにおけるものであり得る。命令は、例えば、オペレーティングシステム、別個のアプリケーション又はその2つの組合せで見つけることができる。従って、プロセッサは、例えば、プロセスを実行するように構成されたデバイスと、プロセスを実行するための命令を有するプロセッサ可読媒体(記憶装置など)を含むデバイスとの両方として特徴付けることができる。さらに、プロセッサ可読媒体は、命令に加えて又は命令の代わりに、実装形態によって生成されたデータ値を格納することができる。
【0143】
当業者には明らかであるように、実装形態は、例えば、格納又は送信することができる情報を伝えるようにフォーマットされた様々な信号を生成することができる。情報は、例えば、方法を実行するための命令、又は、説明される実装形態のうちの1つによって生成されたデータを含み得る。例えば、信号は、説明される実施形態の構文を書き込む又は読み取るための規則をデータとして伝えるように、或いは、説明される実施形態によって書き込まれた実際の構文・値をデータとして伝えるように、フォーマットすることができる。そのような信号は、例えば、電磁波として(例えば、スペクトルの高周波部分を使用して)又はベースバンド信号としてフォーマットすることができる。フォーマットすることは、例えば、データストリームを符号化すること、及び、符号化済みのデータストリームで搬送波を変調することを含み得る。信号が伝える情報は、例えば、アナログ又はデジタル情報であり得る。信号は、知られているように、様々な異なる有線又は無線リンク上で送信することができる。信号は、プロセッサ可読媒体上に格納することができる。
【0144】
多くの実装形態について説明してきた。それにもかかわらず、様々な変更を行えることが理解されよう。例えば、他の実装形態を生成するために、異なる実装形態の要素を組み合わせることも、補足することも、変更することも、又は除去することもできる。それに加えて、当業者は、開示されるものの代わりに、他の構造及びプロセスを代用することができ、結果として得られる実装形態は、開示される実装形態と少なくとも実質的に同じ結果を達成するために、少なくとも実質的に同じ方法で、少なくとも実質的に同じ機能を実行することを理解するであろう。それに従って、これらの及び他の実装形態は、この出願によって企図される。
図1
図2
図3
図4
図5A
図5B
図6A
図6B
図7
図8A
図8B
図9
図10A
図10B
図11A
図11B
図12
【手続補正書】
【提出日】2023-02-10
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
号化する方法であって、
ピクチャブロックのサンプルの現在の色成分のソース値の予測値を得ることと、
- マッピング関数を使用して前記現在の色成分の前記ソース値から及び前記予測値からマッピング済みの残差値を決定することと、
- 前記マッピング済みの残差値を符号化してビットストリームに埋め込むことと
を含む、方法であり、
記マッピング済みの残差値を決定することが、
マッピング済みの予測値を得るために、前記マッピング関数を用いて前記予測値をマッピングすることと、
- 前記マッピング済みのソース値を得るために、前記マッピング関数を用いて前記ソース値をマッピングすることと、
- 前記マッピング済みのソース値から前記マッピング済みの予測値の差分に等しいマッピング済みの残差値を決定することと
を含む、方法。
【請求項2】
復号する方法であって、
- ピクチャブロックのサンプルの現在の色成分の予測値を得ることと、
- 前記サンプルに対する残差値を復号することと、
- マッピング関数と前記マッピング関数の逆関数である逆マッピング関数の両方を使用して前記復号済みの残差値から及び前記予測値から前記サンプルに対する再構築値を決定することと
を含む、方法であり、
前記再構築値を決定することが、
- マッピング済みの予測値を得るために、前記マッピング関数を用いて前記予測値をマッピングすることと、
- 前記マッピング済みの予測値と前記残差値との和を表す中間値を得ることと
を含み、
前記再構築値が、前記逆マッピング関数を用いて前記中間値をマッピングすることによって得られる、方法。
【請求項3】
電子回路を含む符号化するデバイスであって、前記電子回路が、
- ピクチャブロックの少なくともサンプルの現在の色成分のソース値の予測値を得ることと、
- マッピング関数を使用して前記現在の色成分の前記ソース値から及び前記予測値からマッピング済みの残差値を決定することと、
- 前記マッピング済みの残差値を符号化してビットストリームに埋め込むことと
を行うように適応され、
前記マッピング済みの残差値を決定することが、
- マッピング済みの予測値を得るために、前記マッピング関数を用いて前記予測値をマッピングすることと、
- 前記マッピング済みのソース値を得るために、前記マッピング関数を用いて前記ソース値をマッピングすることと、
- 前記マッピング済みのソース値から前記マッピング済みの予測値の差分に等しいマッピング済みの残差値を決定することと
を含む、デバイス。
【請求項4】
電子回路を含む復号するデバイスであって、前記電子回路が、
- ピクチャブロックのサンプルの現在の色成分の予測値を得ることと、
- 前記サンプルに対する残差値を復号することと、
- マッピング関数と前記マッピング関数の逆関数である逆マッピング関数の両方を使用して前記復号済みの残差値から及び前記予測値から前記サンプルに対する再構築値を決定することと
を行うように適応され、
前記再構築値を決定することが、
- マッピング済みの予測値を得るために、前記マッピング関数を用いて前記予測値をマッピングすることと、
- 前記マッピング済みの予測値と前記残差値との和を表す中間値を得ることと
を含み、
前記再構築値が、前記逆マッピング関数を用いて前記中間値をマッピングすることによって得られる、デバイス。
【請求項5】
請求項3に記載のデバイスを含む装置。
【請求項6】
請求項4に記載のデバイスを含む装置。
【請求項7】
符号化する方法を実装するプログラムコード命令を格納する非一時的な情報記憶媒体であって、前記方法が、
- ピクチャブロックのサンプルの現在の色成分のソース値の予測値を得ることと、
- マッピング関数を使用して前記現在の色成分の前記ソース値から及び前記予測値からマッピング済みの残差値を決定することと、
- 前記マッピング済みの残差値を符号化してビットストリームに埋め込むことと
を含み、
前記マッピング済みの残差値を決定することが、
- マッピング済みの予測値を得るために、前記マッピング関数を用いて前記予測値をマッピングすることと、
- 前記マッピング済みのソース値を得るために、前記マッピング関数を用いて前記ソース値をマッピングすることと、
- 前記マッピング済みのソース値から前記マッピング済みの予測値の差分に等しいマッピング済みの残差値を決定することと
を含む、非一時的な情報記憶媒体。
【請求項8】
復号する方法を実装するプログラムコード命令を格納する非一時的な情報記憶媒体であって、前記方法が、
- ピクチャブロックのサンプルの現在の色成分の予測値を得ることと、
- 前記サンプルに対する残差値を復号することと、
- マッピング関数と前記マッピング関数の逆関数である逆マッピング関数の両方を使用して前記復号済みの残差値から及び前記予測値から前記サンプルに対する再構築値を決定することと
を含み、
前記再構築値を決定することが、
- マッピング済みの予測値を得るために、前記マッピング関数を用いて前記予測値をマッピングすることと、
- 前記マッピング済みの予測値と前記残差値との和を表す中間値を得ることと
を含み、
前記再構築値が、前記逆マッピング関数を用いて前記中間値をマッピングすることによって得られる、非一時的な情報記憶媒体。
【外国語明細書】