(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-13
(45)【発行日】2024-05-21
(54)【発明の名称】隣接サンプル依存パラメトリックモデルに基づいたコーディングモードの簡易化
(51)【国際特許分類】
H04N 19/109 20140101AFI20240514BHJP
H04N 19/136 20140101ALI20240514BHJP
H04N 19/176 20140101ALI20240514BHJP
H04N 19/186 20140101ALI20240514BHJP
【FI】
H04N19/109
H04N19/136
H04N19/176
H04N19/186
(21)【出願番号】P 2021524143
(86)(22)【出願日】2019-11-01
(86)【国際出願番号】 US2019059310
(87)【国際公開番号】W WO2020096877
(87)【国際公開日】2020-05-14
【審査請求日】2022-11-01
(32)【優先日】2018-11-05
(33)【優先権主張国・地域又は機関】EP
(32)【優先日】2018-12-12
(33)【優先権主張国・地域又は機関】EP
(32)【優先日】2018-12-13
(33)【優先権主張国・地域又は機関】EP
(73)【特許権者】
【識別番号】318017914
【氏名又は名称】インターデイジタル ヴィーシー ホールディングス インコーポレイテッド
(74)【代理人】
【識別番号】110001243
【氏名又は名称】弁理士法人谷・阿部特許事務所
(72)【発明者】
【氏名】エドゥアルド フランソワ
(72)【発明者】
【氏名】ファブリス ル ルアンネック
(72)【発明者】
【氏名】タンギ ポワリエ
【審査官】田中 純一
(56)【参考文献】
【文献】米国特許出願公開第2018/0063531(US,A1)
【文献】米国特許出願公開第2018/0098070(US,A1)
【文献】特表2019-531029(JP,A)
【文献】特表2013-517669(JP,A)
【文献】特表2022-516180(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 7/12
H04N 19/00 - 19/98
IEEE Xplore
(57)【特許請求の範囲】
【請求項1】
カレントブロック内の少なくとも1つの隣接サンプルから、ならびに前記カレントブロック内の隣接サンプルおよび参照フレーム内の参照サンプルから計算されたパラメトリックモデルから、前記カレントブロック内のサンプルの予測を判定するステップであって、前記隣接サンプルが相互に最大の距離に位置し、前記
カレントブロックの上の隣接サンプルの最上行に、隣接サンプルの左カラムに、ならびに最上参照行および左参照カラムの交差にそれぞれ位置するように、前記パラメトリックモデルのパラメータが空間的制約を有する隣接サンプルから導出される、ステップと、
前記予測に基づいて、前記カレントブロック内の前記サンプルを符号化するステップと
を備えたことを特徴とする方法。
【請求項2】
カレントブロック内の少なくとも1つ隣接サンプルから、ならびに前記カレントブロック内の隣接サンプルおよび参照フレーム内の参照サンプルから計算されたパラメトリックモデルから、前記カレントブロック内のサンプルの予測を判定し、前記隣接サンプルが相互に最大の距離に位置し、前記
カレントブロックの上の隣接サンプルの最上行に、隣接サンプルの左カラムに、ならびに最上参照行および左参照カラムの交差にそれぞれ位置するように、前記パラメトリックモデルのパラメータが空間的制約を有する隣接サンプルから導出され、
前記予測に基づいて、前記カレントブロック内の前記サンプルを符号化する、
ように構成されたプロセッサを備えたことを特徴とする装置。
【請求項3】
カレントブロック内の少なくとも1つ隣接サンプルから、ならびに前記カレントブロック内の隣接サンプルおよび参照フレーム内の参照サンプルから計算されたパラメトリックモデルから、前記カレントブロック内のサンプルの予測を判定するステップであって、前記隣接サンプルが相互に最大の距離に位置し、前記
カレントブロックの上の隣接サンプルの最上行に、隣接サンプルの左カラムに、ならびに最上参照行および左参照カラムの交差にそれぞれ位置するように、前記パラメトリックモデルのパラメータが空間的制約を有する隣接サンプルから導出される、ステップと、
前記予測に基づいて、前記カレントブロック内の前記サンプルを復号するステップと、
を備えたことを特徴とする方法。
【請求項4】
カレントブロック内の少なくとも1つ隣接サンプルから、ならびに前記カレントブロック内の隣接サンプルおよび参照フレーム内の参照サンプルから計算されたパラメトリックモデルから、前記カレントブロック内のサンプルの予測を判定し、前記隣接サンプルが相互に最大の距離に位置し、前記
カレントブロックの上の隣接サンプルの最上行に、隣接サンプルの左カラムに、ならびに最上参照行および左参照カラムの交差にそれぞれ位置するように、前記パラメトリックモデルのパラメータが空間的制約を有する隣接サンプルから導出され、
前記予測に基づいて、前記カレントブロック内の前記サンプルを復号する、
ように構成されたプロセッサを備えたことを特徴とする装置。
【請求項5】
前記パラメトリックモデルは、線形モデルから導出される、ことを特徴とする請求項1または3に記載の方法。
【請求項6】
前記パラメトリックモデルの前記パラメータは、ルックアップテーブルにより導出される、ことを特徴とする請求項1または3に記載の方法。
【請求項7】
前記パラメトリックモデルの前記パラメータは、空間的距離制約を有する隣接サンプルのうちの少なくとも2つのサンプルから導出される、ことを特徴とする請求項1または3に記載の方法。
【請求項8】
前記パラメトリックモデルの前記パラメータは、少なくとも3つの隣接サンプルから導出され、前記3つの
隣接サンプルは、前記
カレントブロックの上の隣接サンプルの最も右の最上行に、隣接サンプルの左カラムの下に、ならびに最上参照行および左参照カラムの交差にそれぞれ位置する、ことを特徴とする請求項1または3に記載の方法。
【請求項9】
線形パラメータ導出が良好に定義される場合、線形モデルに基づく予測が使用され、そうでなければ、代替的なモードが使用される、ことを特徴とする請求項1または3に記載の方法。
【請求項10】
前記パラメトリックモデルのパラメータの導出は、補正パラメータを含む、ことを特徴とする請求項1または請求項3に記載の方法。
【請求項11】
インターコーディングされたブロックのクロマ成分を予測するためのクロスコンポーネント線形モデルが有効にされる、ことを特徴とする請求項1または請求項3に記載の方法。
【請求項12】
前記パラメトリックモデルは、線形モデルから導出される、ことを特徴とする請求項2または4に記載の装置。
【請求項13】
前記パラメトリックモデルの前記パラメータは、ルックアップテーブルにより導出される、ことを特徴とする請求項2または4に記載の装置。
【請求項14】
前記パラメトリックモデルの前記パラメータは、空間的距離制約を有する隣接サンプルのうちの少なくとも2つのサンプルから導出される、ことを特徴とする請求項2または4に記載の装置。
【請求項15】
前記パラメトリックモデルの前記パラメータは、少なくとも3つの隣接サンプルから導出され、前記3つの
隣接サンプルは、前記
カレントブロックの上の隣接サンプルの最も右の最上行に、隣接サンプルの左カラムの下に、ならびに最上参照行および左参照カラムの交差にそれぞれ位置する、ことを特徴とする請求項2または4に記載の装置。
【請求項16】
線形パラメータ導出が良好に定義される場合、線形モデルに基づく予測が使用され、そうでなければ、代替的なモードが使用される、ことを特徴とする請求項2または4に記載の装置。
【請求項17】
前記パラメトリックモデルのパラメータの導出は、補正パラメータを含む、ことを特徴とする請求項2または4に記載の装置。
【請求項18】
インターコーディングされたブロックのクロマ成分を予測するためのクロスコンポーネント線形モデルが有効にされる、ことを特徴とする請求項2または4に記載の装置。
【請求項19】
請求項4および12乃至18のいずれか一項に従った装置と、
(i)ビデオブロックを含む信号を受信するように構成されたアンテナ、(ii)前記受信された信号を、前記ビデオブロックを含む周波数の帯域に制限するように構成された帯域リミッタ、および(iii)前記ビデオブロックを表す出力を表示するように構成されたディスプレイと、のうちに少なくとも1つと、
を備えたことを特徴とするデバイス。
【請求項20】
コンピュータによって実行される
と、前記コンピュータに、請求項1、3、および5乃至11のいずれか一項に記載の方法を実行させる
命令を含む、ことを特徴とする非一時的コンピュータ可読媒体。
【請求項21】
コンピュータによって実行される
と、前記コンピュータに、請求項1、3、および5乃至11のいずれか一項に記載の方法を実行させる
命令を含む、ことを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本実施形態のうちの少なくとも1つは概して、ビデオ符号化、復号、圧縮、または復元のための方法または装置に関する。
【背景技術】
【0002】
高い圧縮効率を達成するために、画像およびビデオコーディングスキームは通常、ビデオコンテンツにおける空間的冗長性および時間的冗長性を活用するために、動きベクトル予測、および変換を含む予測を採用する。一般的に、フレーム内相関またはフレーム間相関を利用するために、イントラ予測またはインター予測が使用され、次いで、予測誤差または予測残差と表わされることが多い、元の画像と予測された画像との間の差が変換され、量子化され、およびエントロピコーディングされる。ビデオを再構築するために、エントロピコーディング、量子化、変換、および予測に対応する逆の処理によって圧縮されたデータが復号される。
【発明の概要】
【0003】
本実施形態のうちの少なくとも1つは概して、ビデオ符号化または復号のための方法または装置に関し、特に、隣接サンプル依存パラメトリックモデル(neighboring samples dependent parametric model)に基づいたコーディングモードの簡易化のための方法または装置に関する。
【0004】
第1の態様に従って、方法が提供される。方法は、カレントブロック内の隣接サンプルのうちの少なくとも1つから、ならびにカレントブロック内の隣接サンプルおよび参照フレーム内の参照サンプルから計算されたパラメトリックモデルから、カレントブロック内のサンプルの予測を判定するステップと、当該予測に基づいて、カレントブロック内の当該サンプルを符号化するステップと、を含む。
【0005】
第2の態様に従って、方法が提供される。方法は、カレントブロック内の隣接サンプルのうちの少なくとも1つから、ならびにカレントブロック内の隣接サンプルおよび参照フレーム内の参照サンプルから計算されたパラメトリックモデルから、カレントブロック内のサンプルの予測を判定するステップと、当該予測に基づいて、カレントブロック内の当該サンプルを復号するステップと、を含む。
【0006】
別の態様に従って、装置が提供される。装置は、プロセッサを含む。プロセッサは、上述した方法のいずれかを実行することによって、ビデオのブロックを符号化し、またはビットストリームを復号するように構成されてもよい。
【0007】
少なくとも1つの実施形態の別の全体態様に従って、デバイスが提供され、デバイスは、復号する実施形態のいずれかに従った装置、および(i)ビデオブロックを含む信号を受信するように構成されたアンテナ、(ii)受信された信号を、ビデオブロックを含む周波数の帯域に制限するように構成された帯域リミッタ、または(iii)ビデオブロックを表す出力を表示するように構成されたディスプレイ、のうちの少なくとも1つを含む。
【0008】
少なくとも1つの実施形態の別の全体態様に従って、説明された符号化する実施形態またはその変形例のいずれかに従って生成されたデータコンテンツを含む非一時的コンピュータ可読媒体が提供される。
【0009】
少なくとも1つの実施形態の別の全体態様に従って、説明された符号化する実施形態またはその変形例のいずれかに従って生成されたビデオデータを含む信号が提供される。
【0010】
少なくとも1つの実施形態の別の全体態様に従って、説明された符号化する実施形態またはその変形例のいずれかに従って生成されたデータコンテンツを含むビットストリームがフォーマットされる。
【0011】
少なくとも1つの実施形態の別の全体態様に従って、プログラムがコンピュータによって実行されるとき、説明された復号する実施形態またはその変形例のいずれかをコンピュータに実行させる命令を含むコンピュータプログラム製品が提供される。
【0012】
添付図面関連して読まれることになる例示的な実施形態の以下の詳細な説明から、全体態様のそれらの態様および他の態様、特徴、ならびに利点が明らかになるであろう。
【図面の簡単な説明】
【0013】
【
図1】aおよびbの導出のために使用されるサンプルの例示的な位置を示す。
【
図7】最も右の位置にある最上ライン(top line)および最も下の位置にある左カラム(left column)からの選択されたサンプルを示す。
【
図8】隣接した特定の位置にある2つのサンプルを使用するための例示的なブロックを示す。
【
図9】最も右の位置にある最上ラインおよび最も下の位置にある左カラムからの選択されたサンプルを示す。
【
図10】最も右の位置および最も左の位置にある最上ラインからの選択されたサンプルを示す。
【
図11】最も上の位置および最も下の位置にある左カラムからの選択されたサンプルを示す。
【
図12】左下の位置、左上の位置、および右上の位置にある選択されたサンプルを示す。
【
図13】最も右の位置および最も左の位置にある最上ラインからの選択されたサンプルを示す。
【
図14】最も上の位置および最も下の位置にある左カラムからの選択されたサンプルを示す。
【
図15】(a)は、3つよりも多い位置にある選択されたサンプルを示し、(b)は、上の2つの位置にある選択されたサンプルおよび左の2つの位置にある選択されたサンプルを示し、(c)は、上の3つの位置にある選択されたサンプルおよび左の3つの位置にある選択されたサンプルを示す。
【
図16】線形モデル導出の信頼性を試験するための例示的なブロック図を示す。
【
図17】イントラ予測-インター予測の混合において使用される重みを示す。
【
図18】説明された態様の下の方法の1つの実施形態を示す。
【
図19】全体的な説明された態様の実装態様についての例示的なプロセッサに基づくサブシステムを示す。
【
図20】CCLM/MDLM処理のブロック図を示す。
【
図21】第1の実施形態に従った、CCLM/MDLM処理の修正されたブロック図を示す。
【
図22】第2の実施形態に従った、CCLM/MDLM処理の修正されたブロック図を示す。
【
図23】第2の実施形態の変形例に従った、CCLM/MDLM処理の修正されたブロック図を示す。
【
図24】第3の実施形態の変形例に従った、CCLM/MDLM処理の修正されたブロック図を示す。
【
図25】説明された態様の下の方法の別の実施形態を示す。
【
図26】説明された態様の下の例示的な装置を示す。
【発明を実施するための形態】
【0014】
本明細書で説明される実施形態は、ビデオ圧縮の分野にあり、概して、ビデオ圧縮ならびにビデオ符号化および復号に関する。
【0015】
高い圧縮効率を達成するために、画像およびビデオコーディングスキームは通常、ビデオコンテンツにおける空間的冗長性および時間的冗長性を活用するために、動きベクトル予測、および変換を含む予測を採用する。一般的に、フレーム内相関またはフレーム間相関を利用するために、イントラ予測またはインター予測が使用され、次いで、予測誤差または予測残差と表わされることが多い、元の画像と予測された画像との間の差が変換され、量子化され、およびコーディングされる。ビデオを再構築するために、エントロピコーディング、量子化、変換、および予測に対応する逆の処理によって圧縮されたデータが復号される。
【0016】
HEVC(High Efficiency Video Coding、ISO/IEC23008-2、ITU-TH.265)ビデオ圧縮標準では、ビデオの連続したピクチャの間に存在する冗長性を活用するために、動き補償された時間予測が採用される。
【0017】
これを行うために、動きベクトルが各々の予測ユニット(PU)に関連付けられる。各々のコーディングツリーユニット(CTU)は、圧縮されたドメイン内のコーディングツリーによって表される。これは、各々のリーフがコーディングユニット(CU)と称される、CTUの四分木分割である。
【0018】
各々のCUは次いで、いくつかのイントラ予測パラメータまたはインター予測パラメータ(予測情報)が与えられる。これを行うために、それは、1つまたは複数の予測ユニット(PU)に空間的に区画化され、各々のPUは、いくつかの予測情報が割り当てられる。イントラコーディングモードまたはインターコーディングモードは、CUレベルにおいて割り当てられる。
【0019】
Joint Exploration Model(JEM)として知られる、新たなビデオ圧縮標準に対するJVET(Joint Video Exploration Team)提案では、高い圧縮性能に起因した四分木-二分木(QTBT)ブロック区画化構造を容認することが提案されてきた。二分木(BT)内のブロックは、中間において水平または垂直のいずれかで分割することによって、2つの等しいサイズにされたサブブロックに分割されることがある。結果として、BTブロックは、ブロックが等しい高さおよび幅を有する正方形形状を常に有するQT内のブロックとは異なり、等しくない幅および高さに有する長方形形状を有することがある。HEVCでは、180度の角度にわたって45度から-135度までで角度イントラ予測方向(angular intra prediction direction)が定義されており、それらは、ターゲットブロックの形状に依存した角度方向の定義を行ったJEMにおいて維持されている。
【0020】
それらのブロックを符号化するために、前に再構築された隣接サンプルを使用して、推定されたバージョンのブロックを提供するために、イントラ予測が使用される。次いで、ソースブロックと予測との間の差が符号化される。上記の古典的なコーデックでは、カレントブロックの左および上にある参照サンプルの単一のラインが使用される。
【0021】
HEVC(High Efficiency Video Coding、H.265)では、ビデオシーケンスのフレームの符号化は、四分木(QT)ブロック区画化構造に基づいている。フレームは、正方形コーディングツリーユニット(CTU)に分割され、CTUは全て、レート歪み(RD)基準に基づいた複数のコーディングユニット(CU)への四分木方式分割(quadtree based splitting)を受ける。各々のCUは、イントラ予測され、すなわち、因果的隣接CU(causal neighbor CU)から空間的に予測され、またはインター予測され、すなわち、既に復号された参照フレームから時間的に予測される、のいずれかである。Iスライスでは、全てのCUがイントラ予測されるのに対し、PスライスおよびBスライスの両方では、CUは、イントラ予測またはインター予測されることがある。イントラ予測のために、HEVCは、1つの平面モード(モード0としてインデックス付けされる)、1つのDCモード(モード1としてインデックス付けされる)、および33個の角度モード(モード2~34としてインデックス付けされる)を含む、35個の予測モードを定義する。角度モードは、時計回り方向において45度から-135度までの範囲の予測方向と関連付けられる。HEVCが四分木(QT)ブロック区画化構造をサポートするので、全ての予測ユニット(PU)は、正方形形状を有する。よって、45度から-135度までの予測角度を定義することは、PU(予測ユニット)の形状の観点から正当化される。サイズN×Nの画素のターゲット予測ユニットに対し、最上参照アレイ(top reference array)および左参照アレイ(left reference array)は各々、サイズ2N+1のサンプルであり、それは、全てのターゲット画素についての上述した角度範囲を網羅するために必要とされる。PUの高さおよび幅が等しい長さの高さおよび幅であることを考えると、2つの参照アレイの長さが等しいことも理に適っている。
【0022】
本発明は、所与のブロックの予測を実行するためにパラメトリックモデルを使用するモードに特に焦点が当てられた、ビデオ圧縮の分野にあり、モデルのパラメータは、ブロックの隣接サンプルから導出される。そのようなモードの2つの例は、「クロスコンポーネント線形モデル」(CCLM:cross-component linear model)モードおよび「局所的照度補償」(LIC:Local illumination compensation)モードである。本発明は、それらのモードの設計を簡易化および改善することを目的とする。
【0023】
CCLMおよびその変形例の説明
以下のセクションは、異なる変形例のCCLMを説明する。
【0024】
基本的なCCLMモードの説明
その初期のバージョンの(JVET_K1002を参照)では、CCLMモードは、式(1)のように、線形モデルを使用して同一のブロックまたはCUの再構築されたルマサンプルに基づいて、クロマサンプルを予測することから構成される。
predC(i,j)=a.recL’(i,j)+b 式(1)
predC(i,j)は、CU内の予測されたクロマサンプルを表し、recL’(i,j)は、同一のCUのダウンサンプルされた、再構築されたルマサンプルを表す。パラメータaおよびbは、式(2)および式(3)のように、カレントブロックの周りの隣接した再構築されたルマサンプルおよびクロマサンプルの間の回帰誤差を最小化することによって導出される。
a=(SLC-SL.SC)/(SLL-SL.SL) 式(2)
b=SC-a.SL 式(3)
L(i,j)は、ダウンサンプルされた最上の隣接した再構築されたルマサンプルおよびダウンサンプルされた左の隣接した再構築されたルマサンプルを表し、C(i,j)は、最上の隣接した再構築されたクロマサンプルおよび左の隣接した再構築されたクロマサンプルを表し、Nは、カレントクロマコーディングブロックの幅および高さの最小値の2倍に等しく、SL、SC、SLL、SLCは、以下のように定義される(記号Σは、最上の隣接したサンプルおよび左の隣接したサンプルにわたった合計を表す)。
-SL=ΣL(n)
-SC=ΣC(n)
-SLC=N・Σ(L(n)・C(n))
-SLL=N・Σ(L(n)・L(n))
【0025】
正方形形状を有するコーディングブロックに対し、上記2つの式が直接適用される。非正方形コーディングブロックについて、より長い境界の隣接したサンプルは、より短い境界についてのサンプルと同一の数のサンプルを有するように最初にサブサンプリングされる。
図1は、左のサンプルの位置および上のサンプルの位置、ならびにCCLMモードに関与するカレントブロックのサンプルの位置を示す。
【0026】
CUがCCLMモードを使用してコーディングされるとき、最小平均二乗(LMS)法が復号処理において実行される。結果として、a値およびb値をデコーダに伝達するためにシンタックスが使用されない。
【0027】
MDLMモード
MDLMモードは、JVET-L0338において提案された基本的なCCLM設計の改良であり、(top+left)参照サンプルテンプレートに加えて、線形モデル係数αおよびβを導出するよう、左専用テンプレート(left-only template)または最上専用テンプレート(top-only template)を選択することが可能である。これは、LM_AおよびLM_L値と称される2つの新たなCCLMモードが追加されることを意味する。
【0028】
LM_Aモード(
図2を参照)では、線形モデル係数を計算するために上テンプレートのみが使用される。より多くのサンプルを取得するために、上テンプレートが(W+H)まで拡張され、Wはブロックの幅であり、Hはその高さである。LM_Lモード(
図3を参照)では、線形モデル係数を計算するために左テンプレートのみが使用される。より多くのサンプルを取得するために、左テンプレートが(H+W)まで拡張される。
【0029】
非正方形ブロックに対し、上テンプレートがW+Wまで拡張され、左テンプレートがH+Hまで拡張される。
【0030】
上/左テンプレートが利用可能でない場合、LM_A/LM_Lモードは、チェックされず、またはシグナリングされない。利用可能なサンプルの数が十分に多くない場合、テンプレートは、最も右の(最上テンプレートについての)サンプルまたは最も下の(左テンプレートについての)サンプルを最も近いlog2数に複製することによってパディングされる。
【0031】
ラインバッファ制約を有するCCLM/MDLM
現在のCCLM係数導出処理では、CCLMモード(CCLMまたはMDLM)の最上テンプレートを取得するようダウンサンプリングするために、2つのルマラインバッファが原則として使用されるが、従来のルマ成分イントラ予測においては1つのルマラインバッファのみが使用される。ラインバッファを減少させるために、CTUの最上境界に沿ったCUに対し、LM_Lモードのみが使用される。このケースでは、追加のラインバッファが必要とされない。
【0032】
局所的照度補償の説明
このツールでは、デコーダは、予測されることになるカレントブロックの左および/または最上部において局所化されたいくつかの再構築されたピクチャサンプル、ならびに動き補償されたブロックの左および/または最上部において局所化された参照ピクチャサンプルに基づいて、いくつかの予測パラメータを計算する(
図4)。考慮される従来技術のコーデック(JEM)では、所与のブロックに対するLCIの使用は、LICフラグと称される、このブロックに関連付けられたフラグに依存する。
【0033】
LICパラメータ(a,b)は、式(4)に示される歪みを最小化する、最小平均二乗最小化に基づいている。
dist=Σ(r∈Vcur,s∈Vref)(Rcur(r)-a.Rref(s)-b)2
式(4)
Rcur(r)は、隣接した再構築されたサンプルであり、Rref(s)は、参照サンプルである。aおよびbの導出は、aおよびbが前のセクション(式(2)および式(3))において導出された方式と同様である。
【0034】
カレントCUに対してLICパラメータがエンコーダまたはデコーダによって取得されると、カレントCUの予測pred(i,j)は、以下の式(5)(単方向予測ケース)から構成される。
pred(i,j)=a.ref(i,j)+b 式(5)
ref(i,j)は、カレントブロックの時間予測に対して使用される参照ブロックである。
【0035】
本明細書で説明される全体態様は、隣接サンプル依存パラメトリックモデルに基づいたCCLMまたはLICと同様のモードの設計を改善および簡易化することを目的としている。提案される修正は、パラメトリックモデルのパラメータを導出する方式に関連し、従来技術と比較して、統一化かつ簡易化された方式においてコーデックに含まれるパラメトリックモデル方式の予測ツールをどのように設計するかに関連する。
【0036】
1つのアプローチは、線形パラメータを導出するためのCCLM処理の簡易化を提案する。パラメータaおよびbを、全ての隣接した再構築されたルマサンプルの間の最小ルマ値および最大ルマ値に対応する2つのポイントを通過する直線のパラメータとして導出するよう、LMS方法を置き換えることが提案される。
【0037】
aの値およびbの値は、式(6)および式(7)のように導出される。
a=(CB-CA)/(LB-LA) 式(6)
b=CA-a.LA 式(7)
(LA,CA)は、それに対してLAが全てのルマ値の間で最小値を有する、隣接した再構築されたサンプルにおけるルマ値およびクロマ値のカップルであり、(LB,CB)は、それに対してLBが全てのルマ値の間で最大値を有する、隣接した再構築されたサンプルにおけるルマ値およびクロマ値のカップルである。
【0038】
このアプローチはなお、最小ルマ値および最大ルマ値を識別する複数の検査を実行することを必要とする。また、それは、LAおよびLAが近いときに問題に直面することがある。
【0039】
初期のCCLMスキームおよび初期のLICスキームにおいて使用されるLMSアプローチは、他の問題を有する。1つの重要なことは、入力サンプルが雑音によって破損されるときにLMSがバイアスにつながり、サンプルがコーディングまたは予測から結果として生じるので、それが明らかであることである。これは、ツールのコーディング効率を低減させることがある。
【0040】
本明細書で説明される全体態様は、以下の様々な変更を提案する。
-パラメトリックモデルのパラメータを導出するために使用されるサンプルの選択の簡易化:サンプルは、予め定義された位置からフェッチされる
-パラメトリックモデルのパラメータの導出のときに代替的なコーディングモードを使用することは信頼性を有しない
-場合によってはビットストリームにおいてシグナリングされる、パラメトリックモデルのパラメータの導出に補正項(corrective term)を挿入すること
-LICとCCLMとの間でのパラメトリックモデルのパラメータの導出処理を統一すること
-インターブロックおよび混合イントラ-インターブロックに対してCCLMを拡張すること。
【0041】
それらの共位置にされた参照サンプルRref(p)からの、サイズWカラム×Hラインのブロック内の位置pにおけるサンプルのカレントブロックPcur(p)を予測する一般的な問題を考慮されたい。また、サンプルがBビットのビット深度を使用して表されることを考慮されたい。CCLMでは、参照サンプルは、再構築されたルマサンプルである。LICでは、参照サンプルは、参照ピクチャ内の動き補償されたブロックからのサンプルである。また、予測するブロックの隣接において、再構築されたカレントサンプル(Rcur)および再構築された参照サンプル(Rref)が利用可能である。これは、
図7において示される。隣接サンプルは、ブロックの最も近いライン/カラムに必ずしもない。
【0042】
目的は、ブロック内のRref(p)から、ならびにブロックの隣接に位置する(典型的には、ブロックの外側のより上のラインおよび左カラム)サンプルRcurおよびRrefから計算されたパラメトリックモデルから、ブロック内のpについてのPcur(p)を導出することである。
【0043】
実施形態1-参照サンプルアレイ内の特定の位置にある直接選択された2つのサンプルの使用
1つの実施形態では、パラメトリックモデルのパラメータの導出を簡易化するために、パラメータは、サンプルが空間的に離れるように選択された、隣接サンプルの少なくとも2つのサンプルから導出される。
【0044】
1つの実装態様では、以下の処理が適用される(
図8において説明された処理)。
-最上サンプルおよび左サンプルの両方が利用可能である場合(ステップ401)、最も右の位置にある外側の最上ラインの利用可能なサンプルが選択され(Rref
A,Rcur
A)、最も下の位置にある外側の左カラムの利用可能なサンプルが選択される(Rref
B,Rcur
B)(ステップ403)(
図9における例示を参照)
-他に、最上サンプルが利用可能である場合(ステップ402)、最も右の位置にある外側の最上ラインの利用可能なサンプルが選択され(Rref
A,Rcur
A)、最も左の位置にある外側の最上ラインの利用可能なサンプルが選択される(Rref
B,Rcur
B)(ステップ405)(
図10における例示を参照)
-他に、左サンプルが利用可能である場合(ステップ404)、最も下の位置にある外側の左カラムの利用可能なサンプルが選択され(Rref
A,Rcur
A)、最も上の位置にある外側の左カラムの利用可能なサンプルが選択される(Rref
B,Rcur
B)(ステップ407)(
図11における例示を参照)
-そうでなければ、CCLMモードが適用されない(ステップ406)。
【0045】
パラメータaおよびbは、式(8)および式(9)のように導出される。
a=(RcurB-RcurA)/(RrefB-RrefA) 式(8)
b=RcurA-a.RrefA 式(9)
また、いずれかの位置pについてのブロック内の予測は、式(10)のように計算される。
Pcur(p)=a.Rref(p)+b 式(10)
【0046】
JVET-L0191と比較して、解決策は、隣接した参照サンプルの最小値および最大値を識別するために必要とされる複数の検査を回避する。
【0047】
同一の概念がMDLMモードに直接適用可能である。例えば、最上サンプルがMDLMにおいて使用されように選択されるとき、
図10に示されるサンプルが使用される。左サンプルがMDLMにおいて使用されるように選択されるとき、
図11に示されるサンプルが使用される。
【0048】
実施形態2-参照サンプルアレイ内の特定の位置にある直接選択された3+サンプルの使用
この実施形態では、パラメトリックモデルのパラメータの導出を簡易化するために、パラメータは、
図12に示されるように、サンプルが空間的に離れるように選択された、隣接サンプルの少なくとも3つのサンプルから導出される。概念は、
図13および
図14に示されるMDLMのケースにも適用される。
【0049】
全てのサンプルが最小ルマ値サンプルおよび最大ルマ値サンプルを発見するよう比較される、上記言及されたアプローチとは異なり、最小ルマ値および最大ルマ値を計算するために3つのみのサンプルまたはそれ以上のサンプルが使用される。最悪のケースは、3つのサンプルのケースにおける2つの比較に制限される。
【0050】
線形モデルパラメータは、その前のアプローチ、以下の式(6)および式(7)にあるように計算される。
【0051】
図15に示されるように、特定の位置にある3つよりも多いサンプルが選択されてもよい。
【0052】
別の変形例では、最大で4つのサンプルは以下のように使用される。サイズWtopの最上ラインの参照サンプルに対し、位置x=0、x=Wtop-1にあるサンプルが使用される。サイズHleftの左カラムの参照サンプルに対し、位置y=0、y=Hleft-1にあるサンプルが使用される。これは、
図15(b)に示される。
【0053】
別の変形例では、最大で6つのサンプルは以下のように使用される。サイズWtopの最上ラインの参照サンプルに対し、位置x=0、x=Wtop-1にあるサンプルおよび中間(例えば、位置x=Wtop/2)にある1つのサンプルが使用される。サイズHleftの左カラムの参照サンプルに対し、位置y=0、y=Hleft-1にあるサンプルおよび中間(例えば、位置y=Hleft/2)にある1つのサンプルが使用される。これは、
図15(c)に示される。
【0054】
実施形態では、コントリビューションJVET-L0191にあるように、参照サンプルの最小値および最大値(LAおよびLB)に基づいて線形パラメータを計算するケースでは、それらの最小値および最大値は、選択された参照ルマサンプルのみを使用して計算される。上の実施形態では、参照サンプルの最大数が2、3、4、5、または6まで減少するので、これは、最小ルマサンプル値および最大ルマサンプル値を識別するために必要な検査の回数を著しく制限する。コントリビューションJVET-L0191では、最悪のケースでは、この検査の回数は、Wtop最上参照サンプルおよびHleft左参照サンプルを有する所与のブロックに対して(Wtop+Hleft)×2に等しい。本発明を使用して、この数は、2×2、3×2、4×2、5×2、または6×2まで減少する。
【0055】
実施形態3-線形モデルが良好に定義されないときの代替的なモードの使用
線形パラメータの計算は、除算を伴う。LMSのケースでは、それは、式(11)から構成される。
a=(SLC-SL.SC)/(SLL-SL.SL) 式(11)
【0056】
前のアプローチでは、それは、式(12)から構成される。
a=(RcurB-RcurA)/(RrefB-RrefA) 式(12)
【0057】
両方のケースでは、aはa=Num/Denとして取得され、Numは除算の分子であり、Denは除算の分母である。Denが小さな振幅のものであるとき、これが問題となることがあり、線形パラメータの安定しない推定につながることがある。
【0058】
また、非常に小さいサイズのブロックに対し、線形パラメータを導出するためのサンプルの数が、信頼性を有する推定を得るために十分の多くないことが考えられることがある。
【0059】
実施形態では、線形パラメータの導出が良好に定義されると考えられる場合のみ、線形モデルに基づく予測が使用される。そうでなければ、代替的なモードが使用される(
図16における例示的なブロック図)。
【0060】
線形パラメータ導出の信頼性を検査する異なる方式が使用されてもよい。例えば、以下の条件のうちの1つが真である場合、線形パラメータ導出が適用される。
-Den>T1である場合、
-T1はブロックサイズに依存することがある予め定義された閾値であり、Bはサンプルビット深度である。例えば、
-T1=T2×W×H×2B
-T2は予め定義された閾値である
-(WxH>Nmin)である場合、線形パラメータ導出が適用される
-WおよびHは、ブロックの幅および高さである
そうでなければ、簡易化されたモデルが使用される。
【0061】
閾値T1またはT2も、様々なレベルにおいて、例えば、SPS、PPS、スライス、タイルグループ、タイル、CTU、またはCUごとにシグナリングされてもよい。特定の閾値がブロックサイズごとにシグナリングされてもよい。
【0062】
代替的なモードは、簡易化されたモデルを使用することに基づいてもよい。
-加算的モデル:aが1に強制され(forced to)、bのみが導出される。
Pcur(p)=Rref(p)+b
-スケーリングモデル:bが0に強制され、aのみが導出される。
Pcur(p)=a.Rref(p)
【0063】
実施形態4-線形パラメータの導出における補正パラメータの使用
実施形態では、線形パラメータを導出するために使用される式に補正パラメータCPが導入される。
【0064】
この補正パラメータの利点は、複数の取り得る補正パラメータCPによって導入される柔軟性のおかげで、従来技術と比較してコーディング効率を増大させることである。
【0065】
加算モード(additive mode))または乗算モード(multiplicative mode)において、線形モデルのスケーリングパラメータを導出するときに分子または分母を補正するためにCPが使用されてもよい。例えば、以下の補正モードが適用されてもよい。
-Num’=CP×Num、およびa=Num’/Den
-Num’=(Num+CP×sign(Num))、およびa=Num’/Den
-Den’=CP×Den、およびa=Num/Den’
-Den’=(Den+CP×sign(Den))、およびa=Num/Den’
【0066】
補正パラメータCPは、様々なレベルにおいて、例えば、SPS、PPS、スライス、タイルグループ、タイル、CTU、またはCUごとにシグナリングされてもよい。
【0067】
パラメータは、K個の取り得る予め定義された値{CP0,CP1,…,CPK-1}の制限された集合からフェッチされてもよい。この集合における値のインデックスに対応するインデックスのみがコーディングされてもよい。
【0068】
CPは、NumまたはDenに依存してもよい。特に、CPが加算パラメータであるとき、CPは、以下のように、考慮された値により増加することができ、
-Num’=(Num+(abs(Num)>>K2)×sign(Num))、およびa=Num’/Den
-Den’=(Den+(abs(Den)>>K2)×sign(Den))、およびa=Num/Den’
または代わりに、CPは、以下のように、負の補正を使用して増加することができ、
-Num’=(Num-(abs(Num)>>K2)×sign(Num))、およびa=Num’/Den
-Den’=(Den-(abs(Den)>>K2)×sign(Den))、およびa=Num/Den’
または代わりに、CPは、以下のように、負の補正を使用して増加することができ、
-Num’=(Num-(abs(Num)>>K2)×sign(Num))、およびa=Num’/Den
-Den’=(Den-(abs(Den)>>K2)×sign(Den))、およびa=Num/Den’
K2は、所与の予め定義された値、例えば、CP=k/64と同等のK2=6である。abs(x)は、xの加群(module)を返す関数である。
【0069】
実施形態4a-除算を生じさせるための修正されたルックアップテーブルの使用
実装態様を容易にするために、実装態様を複雑にすることがある、線形パラメータの導出に伴う除算をルックアップテーブルによって達成することができる。
【0070】
実際に、除算a=Num/Denを、
a=(Num×Int((1<<K0)/Den)+offset0)>>K0としての除算なしに達成することができ、K0は、除算の精度に対応する所与の値であり、offset0は、典型的には(1<<(K0-1))に等しい所与のオフセット値であり、Int()は、整数演算子または床演算子(最も近い下限整数値に丸める)。
【0071】
より一般的に、以下のようにそれを達成することができる。
a=(Num×(1<<Int(Den/(1<<K1)))×Int((1<<K0)/(Den%K1))+offset0)>>K0
K1は、LUTの最大サイズ((1<<K1)に等しい)を固定する所与のパラメータであり、「%」は、モジュロ演算子である。
【0072】
値Int((1<<K0)/k)は、ルックアップテーブルdivLUT[k]に記憶されてもよい。
【0073】
実施形態では、ルックアップテーブルdivLUT[k]は、補正パラメータCPを使用して、推定においてバイアスを導入するよう修正される。例えば、以下の補正モードが適用されてもよい。
divLUT[k]=Int(2K0/(k+CP)) 式(13)
divLUT[k]=Int(2K0/(k×CP)) 式(14)
divLUT[k]=Int((2K0+CP)/k) 式(15)
divLUT[k]=Int((2K0×CP)/k) 式(16)
【0074】
CPは、kに依存してもよい。特に、CPが加算的であるとき(式(13)または式(15)のケース)、CPの加群は、kにより増加することができる。
【0075】
実施例では、CP=k>>K2、またはCP=-k>>K2であり、K2は、所与の予め定義された値、例えば、CP=k/64またはCP=-k/64と同等のK2=6である。
【0076】
LUTは、デコーダに記憶されてもよい。代わりに、それは、オンザフライで計算されてもよく、補正パラメータCPまたはK2は、様々なレベルにおいて、例えば、SPS、PPS、スライス、タイルグループ、タイル、CTU、またはCUごとにストリームにおいてシグナリングされてもよい。
【0077】
実施形態5-LICおよびCCLMの統一
LICの現在の設計では、線形パラメータを導出するためにLMS処理が適用される。現在のCCLMでは、線形パラメータは、参照ルマサンプルの最小値および最大値に対応するサンプルの2つの集合から導出される。
【0078】
実施形態では、LICパラメータおよびの導出およびCCLMパラメータの導出は、統一され、同一の簡易化された処理を使用する。例えば、サンプルの2つの集合を識別することに基づいた同一の導出処理が両方のツールにおいて使用される。
【0079】
1つの実施形態では、LIC線形パラメータの導出およびCCLM線形パラメータの導出の両方は、それに対してRrefAおよびRrefBが隣接参照サンプルの最小値および最大値に対応する、サンプルの2つの集合(RrefA,RcurA)および(RrefB,RcurB)を識別することから構成される。
【0080】
別の実施形態では、LIC線形パラメータの導出およびCCLM線形パラメータの導出の両方は、利用可能な隣接サンプルの位置にある極度位置(extreme location)においてフェッチされたサンプルの2つの集合(RrefA,RcurA)および(RrefB,RcurB)を識別することから構成される。
【0081】
両方のケースでは、線形パラメータは、式(17)および式(18)のように導出され、
a=(RcurB-RcurA)/(RrefB-RrefA) 式(17)
b=RcurA-a.RrefA 式(18)
いずれかの位置pについてのブロックにおける予測は、式(19)のように計算される。
Pcur(p)=a.Rref(p)+b 式(19)
【0082】
実施形態2および3において議論された変形例も、両方のケースに適用されてもよい。
【0083】
実施形態6-インターブロックへのCCLMの拡張
現在の設計では、CCLMのみがイントラCUまたはイントラブロックに適用される。
【0084】
実施形態では、CCLMは、インターCUのクロマ成分を予測するために有効にされる。したがって、新たなモード、混合インターCCLMが本明細書で導入される。モードは、CUレベルフラグを使用して、CUごとにシグナリングされてもよい。
-ルマ成分がインターモードを使用してコーディングされる。
-ルマ成分サンプルの予測および再構築の全処理が実行される。
-ルマブロックサンプルの全再構築まで、完全再構築処理が実行される。
-ブロックのクロマ成分サンプルが、ブロックの再構築されたルマサンプルを使用して、CCLMモードを使用して、すなわち、ブロックの隣接した再構築されたルマサンプルおよびクロマサンプルからの計算された線形パラメータを使用して予測される。
-これは、ブロックのクロマ成分サンプルが時間予測を使用して構築されないことを意味する。
【0085】
演算をパイプライン化する観点で、この新たなモードは、従来のCCLMモードと同一の問題を生じさせる。隣接からの再構築されたサンプルが必要とされると共に、カレントブロックからの再構築されたルマサンプルが必要とされるので、全てのイントラルマブロックおよびインタールマブロックが処理されると、混合インターCCLMモードによりコーディングされたブロックの処理を遅延させることが望ましい。
【0086】
実施形態7-混合イントラ-インターブロックへのCCLMの拡張
VTM(Versatilie Video Coding Test Model)では、新たなモード、混合イントラ-インターが導入されている。モードは、1つのイントラ予測および1つのマージインデックス付けされた時間予測を組み合わせる。マージCUでは、フラグが真であるとき、イントラ候補リストからイントラモードを選択するよう、1つのフラグがマージモードに対してシグナリングされる。ルマ成分に対し、DCモード、平面モード、水平モード、および垂直モードを含む4つのイントラ予測モードからイントラ候補リストが導出され、イントラ候補リストのサイズは、ブロック形状に応じて3または4であってもよい。CU幅がCU高さの2倍よりも大きいとき、水平モードは、イントラモードリストから除外され、CU高さがCU幅の2倍よりも大きいとき、垂直モードは、イントラモードリストから除去される。イントラモードインデックスによって選択された1つのイントラ予測モードおよびマージインデックスによって選択された1つのマージインデックス付けされた予測は、重み付け平均を使用して組み合わされる。クロマ成分に対し、DMは、余分なシグナリングなしに常に適用される。
【0087】
予測を組み合わせるための重みは、以下のように説明される(
図17にも示される)。DCモードもしくは平面モードが選択され、またはブロッ幅もしくは高さが4よりも小さいとき、等しい重みが適用される。4以上の幅および高さを有するそれらのブロックに対し、水平/垂直モードが選択されるとき、1つのブロックが4つの等しいエリアの領域に垂直/水平に最初に分割される。(w_intra
i,w_inter
i)として表され、iが1~4であり、(w_intra
1,w_inter
1)=(6,2)、(w_intra
2,w_inter
2)=(5,3)、(w_intra
3,w_inter
3)=(3,5)、および(w_intra
4,w_inter
4)=(2,6)である各々の重み集合が、対応する領域に適用される。(w_intra
1,w_inter
1)は、参照サンプルに最も近い領域に対するものであり、(w_intra
4,w_inter
4)は、参照サンプルから最も遠い領域に対するものである。次いで、組み合わされた予測は、2つの重み付けられた予測および右にシフトした3ビットを合計することによって計算されてもよい。その上、予測子のイントラ仮説(intra hypothesis)についてのイントラ予測モードは、後続の隣接CUの参照のために保存されてもよい。
【0088】
提案される実施形態では、CCLMは、混合イントラ-インターCUのクロマ成分を予測するために有効にされる。したがって、新たなモード、混合インターCCLMが導入される。モードは、CUレベルフラグを使用してCUごとにシグナリングされてもよい。フラグは、DMモードまたはCCLMモードが使用されるかどうかを示す。
【0089】
代わりに、クロマに対してDMモードを適用する代わりに、他のアプローチと同様に、DMモードの代わりにCCLMモードが適用される。
-ルマ成分が混合イントラ-インターモードを使用してコーディングされる。
-ルマ成分サンプルの予測および再構築の全処理が実行される。
-ブロックのクロマ成分サンプルが、ブロックの再構築されたルマサンプルを使用して、CCLMモードを使用して、すなわち、ブロックの隣接した再構築されたルマサンプルおよびクロマサンプルから計算された線形パラメータを使用して予測される。
【0090】
第1のバージョンでは、クロマ成分に対してイントラ予測およびインター予測の混合が存在せず、CCLMモードを使用してクロマブロックが完全に予測される。
【0091】
変形例では、イントラ予測およびインター予測を重み付けて混合することは、DMモードが水平モードまたは垂直モードに対応するのと同様に、クロマ成分に対してなおも適用され、それは、クロマの最終的な予測がインター予測の混合およびCCLMの混合であることを意味する。従来技術において説明される混合処理が適用されてもよい。
【0092】
代わりに、DMがDCモードおよび平面モードに対応する従来技術と同様に、クロマブロック全体に対して同一の等しい重みが使用されてもよい。
【0093】
前の実施形態にあるように、演算をパイプライン化する観点で、全てのイントラルマブロック、インタールマブロック、および混合イントラ-インタールマブロックが処理されると、混合インター-CCLMモードによりコーディングされたブロックの処理を遅延させることが可能である。
【0094】
CCLMにおいて使用されるメモリサイズの減少
その実際の実装態様では、コントリビューションJVET-L0191におけるCCLM処理は、以下のように達成される(Bはルマ信号およびクロマ信号のビット深度を表す)。
【0095】
最小ルマ値および最大ルマ値L
A、L
B、およびそれらの関連するクロマ値C
A、C
Bが識別されると、線形パラメータが以下のように導出される。各々のステップについての疑似コードの記述を使用して、
図20のブロック図に処理が示される。
【0096】
変数a、b、およびshift_predは、以下のように導出される。
-パラメータshift、add、diff、およびkが以下のように導出される。
-(B>8)である場合、shiftが(B-9)に等しく設定され、そうでなければ、shiftが0に等しく設定される(ステップ501)
-(shift>0)である場合、addが(1<<(shift-1))に等しく設定され、そうでなければ、addが0に等しく設定される(ステップ502)
-diff=(LB-LA+add)>>shift (ステップ503)
-shift_pred=16
-diffが0よりも大きい場合(ステップ504)、以下が適用される、
-div=((CB-CA)×LUT_low[diff-1]+215)>>16(ステップ505)
-a=((CB-CA)×LUT_high[diff-1]+div+add)>>shift(ステップ506)
-そうでなければ(ステップ504)、以下が適用される、
-a=0(ステップ507)
-bが以下のように導出される(ステップ508)
-b=CA-((a×LA)>>shift_pred)
LUT_highおよびLUT_lowは、512個の要素の2つのルックアップテーブルであり、その各々は、以下のように導出される。
LUT_high[x]=Floor(216/diff)
LUT_low[x]=Floor(232/diff)-Floor(216/diff)x216
Floor(x)は、x以下の最大整数である。
【0097】
クロマブロック内のいずれかのpについての予測サンプルPcur(p)は、以下のように導出される(ステップ509)、
-Pcur(p)=((pRef(p)×a)>>shift_pred)+b
【0098】
信号ビット深度によって定義された許容された範囲内で信号を維持するために、クリッピングも適用される。
【0099】
以下の問題が観察される、
-512の整数の2つのルックアップテーブル、LUT_highおよびLUT_lowが必要とされる。
-8ビットよりも多い信号に対し、パラメータaを導出するために(B-9)の右シフトが適用され、それは、精度の損失につながることがある。
-予測サンプルPcur(p)を生成するとき、パラメータkによる右シフトが式の第1の項に適用され、それは、精度の損失につながることがある。
【0100】
以下の実施形態は、それらの問題に対処することを目的とする。それらは、共に組み合わされてもよい。
【0101】
実施形態8-ルックアップテーブルのうちの1つの除去
1つの実施形態では、ルックアップテーブルLUT_lowを除去することによって処理が簡易化される。パラメータaが以下のように導出される。
a=((CB-CA)×LUT_high[diff-1]+add)>>shift
【0102】
1つの変形例では、LUT_high[x]が以下のように導出される。
LUT_high[x]=Floor((216+(diff/2))/diff)
これは、2の係数だけメモリの必要性を低減させることを可能にする。
【0103】
修正された処理が
図21に示され、変更したブロックが太線で示される。新たなブロックは、前のステップ506に代えてステップ606であり、前のステップ505は除去されている。
【0104】
実施形態9-ルックアップテーブルへのアクセスの修正
1つの実施形態では、ルックアップテーブルへのアクセスが以下のように修正される。
shift=(LB-LA)/2K、または同様に、
shift=(LB-LA)>>K
KはBよりも少ない整数値である。
【0105】
これは、以下のことを可能にする。
-ルックアップテーブルのサイズを2K個の要素に減少させる。K=8であるとき、これは、JVET-L0191の参照の実装態様における512個の代わりに、256個の要素にテーブルを制限する。
-2Bがルックアップテーブルのサイズよりも大きい場合でさえ、(LB-LA)が2Kより小さいときのaの計算において精度を高める。これは、2Bが実際のルックアップテーブルのサイズ(512個)よりも大きいとすぐに、(LB-LA)が(B-9)によって分割される、JVET-L0191の参照の実装態様におけるケースではない。
【0106】
修正された処理が
図22に示され、変更したブロックが太線で示される。新たなブロックは、前のステップ506に代えてステップ701である。
【0107】
実施形態では、追加のステップ701aは、以下のようにシフト値を修正するよう、ステップ701の後およびステップ502の前に導入される。
-shift>0である場合、shift=1+Floor(Log2(shift))
Log2(x)は、xの二進対数である。
【0108】
変更が
図23に示される。例えば、K=8(サイズ2
K=256個の要素のテーブル)であり、入力信号ビット深度がB=10であるケースについて、以下の結果が取得される、
-(L
B-L
A)が0~255である場合、shiftが0に等しく設定される
-そうでなく、(L
B-L
A)が256~511である場合、shiftが1に等しく設定される
-そうでなく、(L
B-L
A)が512~1023である場合、shiftが2に等しく設定される
この処理は、(diff-1)の値が最大テーブルインデックス値内に残ることを保証する。
【0109】
実施形態10-線形予測の適合
1つの実施形態では、予測信号の計算における精度を高めるために、パラメータbが以下のように計算される、
b=(CA<<shift_pred)-(a×LA)+(1<<(shift_pred-1))
また、線形予測が以下のように実行される。
Pcur(p)=(pRef(p)×a+b)>>shift_pred
【0110】
修正された処理が
図24に示され、変更したブロックが太線で示される。新たなブロックは、前のステップ508に代えてステップ808であり、前のステップ509に代えてステップ809である。
【0111】
本明細書で説明される全体態様の下の方法1800の1つの実施形態が
図18に示される。方法は、開始ブロック1801において開始し、制御がブロック1810に進み、ブロック1810では、カレントブロック内の隣接サンプルのうちの少なくとも1つから、ならびにカレントブロック内の隣接サンプルおよび参照フレーム内の参照サンプルから計算されたパラメトリックモデルから、カレントブロック内のサンプルを予測する。制御がブロック710からブロック720に進み、ブロック720では、予測されたサンプルを使用してブロックを符号化する。
【0112】
本明細書で説明される全体態様の下の方法2500の別の実施形態が
図25に示される。方法は、開始ブロック2501において開始し、制御がブロック2510に進み、ブロック2510では、カレントブロック内の隣接サンプルのうちの少なくとも1つから、ならびにカレントブロック内の隣接サンプルおよび参照フレーム内の参照サンプルから計算されたパラメトリックモデルから、カレントブロック内のサンプルを予測する。制御がブロック2510からブロック2520に進み、ブロック2520では、予測されたサンプルを使用してブロックを復号する。
【0113】
図26は、隣接サンプル依存パラメトリックモデルに基づいた簡易化されたコーディングモードを使用して、ビデオデータを符号化し、復号し、圧縮し、または復元する装置2600の1つの実施形態を示す。装置は、プロセッサ2610を含み、少なくとも1つのポートを通じてメモリ2620に相互接続されてもよい。プロセッサ2610およびメモリ2620の両方は、外部接続への1つまたは複数の追加の相互接続をも有してもよい。
【0114】
プロセッサ2610はまた、ビットストリームに情報を挿入し、またはビットストリームにおいて情報を受信するかのいずれか、および説明された態様のいずれかを使用して圧縮し、符号化し、または復号するかのいずれかを行うように構成される。
【0115】
本出願は、ツール、機構、実施形態、モデル、アプローチなどを含む様々な態様を説明する。それらの態様の多くは、少なくとも個々の特性を示すために詳細に説明される。しかしながら、このことは、説明を明確にすることを目的としており、本出願またはそれらの態様の範囲を限定しない。実際に、異なる態様の全ては、更なる態様を提供するよう組み合わされてもよく、相互に交換されてもよい。その上、態様は、前の出願でも説明された態様と組み合わされてもよく、相互に交換されてもよい。
【0116】
本出願において説明および考慮される態様は、多くの異なる形式において実装されてもよい。
図5、
図6、および
図19は、いくつかの実施形態を提供するが、他の実施形態も考慮され、
図5、
図6、および
図19の議論は、実装態様の範囲を制限するものではない。態様のうちの少なくとも1つは概して、ビデオ符号化およびビデオ復号に関し、少なくとも1つの他の態様は概して、生成されたビットストリームまたは符号化されたビットストリームを伝送することに関する。それらの態様および他の態様は、方法、装置、説明される方法のいずれかに従ってビデオデータを符号化もしくは復号するための命令を記憶したコンピュータ可読記憶媒体、および/または説明される方法のいずれかに従って生成されたビットストリームを記憶したコンピュータ可読記憶媒体として実装されてもよい。
【0117】
本出願では、用語「再構築される」および「復号される」は、相互に交換可能に使用されてもよく、用語「画素」および「サンプル」は、相互に交換可能に使用されてもよく、用語「画像」、「ピクチャ」、および「フレーム」は、相互に交換可能に使用されてもよい。通常、必ずしもそうではないが、用語「再構築される」は、エンコーダ側において使用され、用語「復号される」は、デコーダ側において使用される。
【0118】
様々な方法が本明細書で説明され、方法の各々は、説明される方法を達成するための1つまたは複数のステップまたはアクションを含む。ステップまたはアクションの特定の順序が方法の適切な動作のために必要とされない限り、特定のステップおよび/またはアクションの順序および/または仕様は、修正されてもよく、または組み合わされてもよい。
【0119】
本出願において説明される様々な方法および他の態様は、
図5および
図6のビデオエンコーダ100およびデコーダ200のモジュール、例えば、イントラ予測モジュール、エントロピコーディングモジュール、および/または復号モジュール(160、360、145、330)を修正するために使用されてもよい。その上、本態様は、VVCまたはHEVCに限定されず、以前から存在し、またはこれから開発されるかどうかに関わらず、例えば、他の標準および勧告、ならびにいずれかのそのような標準および勧告の拡張(VVCおよびHEVCを含む)に適用されてもよい。他に示されない限り、または技術的に排除されない限り、本出願において説明される態様は、個々に使用されてもよく、または組み合わせで使用されてもよい。
【0120】
様々な数値が本出願において使用される。例えば、特定の値を意図しており、説明される態様はそれらの特定の値に限定されない。
【0121】
図5は、エンコーダ100を示す。このエンコーダ100の変形例が考慮されるが、エンコーダ100は、全ての予測される変形例を記述することなく、明確を目的として以下で説明される。
【0122】
符号化される前、ビデオシーケンスは、圧縮に対してより弾力性がある信号分布を得るために(例えば、色成分の1つのヒストグラム均等化を使用して)、事前符号化処理(101)、例えば、入力色ピクチャに色変換を適用すること(例えば、RGB4:4:4からYCbCr4:2:0への変換)、または入力ピクチャ成分の再マッピングを実行することを受けてもよい。メタデータが事前処理と関連付けられてもよく、ビットストリームに付加されてもよい。
【0123】
エンコーダ100では、以下で説明されるように、エンコーダ要素によってピクチャが符号化される。符号化されることになるピクチャは、区画化され(102)、例えば、CUの単位(ユニット)で処理される。各々のユニットは、例えば、イントラモードまたはインターモードのいずれかを使用して符号化される。ユニットがイントラモードにおいて符号化されるとき、それは、イントラ予測(160)を実行する。インターモードでは、動き推定(175)および補償(170)が実行される。エンコーダは、ユニットを符号化するためにイントラモードまたはインターモードのどちらを使用するかを決定し、例えば、予測モードフラグによってイントラ/インター決定を示す。例えば、元の画像ブロックから予測されたブロックを差し引くこと(110)によって予測残差が計算される。
【0124】
次いで、予測残差が変換(125)および量子化される(130)。量子化された変換係数と共に、動きベクトルおよび他のシンタックス要素は、ビットストリームを出力するようエントロピコーディングされる(145)。エンコーダは、変換をスキップしてもよく、変換されていない残差信号に量子化を直接適用してもよい。エンコーダは、変換および量子化の両方をバイパスしてもよく、すなわち、変換および量子化処理の適用なしに残差が直接コーディングされる。
【0125】
エンコーダは、更なる予測のための参照を提供するよう、符号化されたブロックを復号する。量子化された変換係数は、予測残差を復号するよう、逆量子化(140)および逆変換される(150)。復号された予測残差および予測されたブロックを組み合わせて(155)、画像ブロックが再構築される。符号化アーチファクトを低減させるよう、例えば、デブロッキング/SAO(サンプル適応オフセット:Sample Adaptive Offset)フィルタリングを実行するために、インループフィルタ(165)が再構築されたピクチャに適用される。フィルタリングされた画像が参照ピクチャバッファ(180)に記憶される。
【0126】
図6は、ビデオデコーダ200のブロック図を示す。デコーダ200では、ビットストリームは、以下で説明されるように、デコーダ要素によって復号される。ビデオデコーダ200は概して、
図5に説明されたような符号化パスと相互の復号パスを実行する。エンコーダ100も概して、ビデオデータを符号化することの一部としてビデオを復号することを実行する。
【0127】
特に、デコーダの入力は、ビデオエンコーダ100によって生成することができるビデオビットストリームを含む。ビットストリームは、変換係数、動きベクトル、および他のコーディングされた情報を取得するよう最初にエントロピ復号される(230)。ピクチャ区画化情報は、ピクチャがどのように区画化されるかを示す。したがって、デコーダは、復号されたピクチャ区画化情報に従ってピクチャを分割する(235)。変換係数は、予測残差を復号するよう、逆量子化(240)および逆変換される(250)。復号された予測残差および予測されたブロックを組み合わせて(255)、画像ブロックが再構築される。予測されたブロックは、イントラ予測(260)または動き補償された予測(すなわち、インター予測)(275)から取得されてもよい(270)。ループフィルタ(265)は、再構築された画像に適用される。フィルタリングされた画像が参照ピクチャバッファ(280)に記憶される。
【0128】
復号されたピクチャは更に、復号後処理(285)、例えば、事前符号化処理(101)において実行された再マッピング処理の逆を実行する、逆色変換(例えば、YCbCr4:2:0からRGB4:4:4への変換)または逆再マッピングを受けてもよい。復号後処理は、事前符号化処理において導出され、ビットストリームにおいてシグナリングされたメタデータを使用してもよい。
【0129】
図19は、様々な態様および実施形態が実装されるシステムの実施例のブロック図を示す。システム1000は、以下で説明される様々な構成要素を含むデバイスとして具体化されてもよく、本明細書において説明される態様のうちの1つまたは複数を実行するように構成される。そのようなデバイスの例は、それらに限定されないが、パーソナルコンピュータ、ラップトップコンピュータ、スマートフォン、タブレットコンピュータ、デジタルマルチメディアセットトップボックス、デジタルテレビ受信機、パーソナルビデオレコーディングシステム、接続されたホームアプライアンス、およびサーバを含む。システム1000の要素は単独または組み合わせで、単一の集積回路(IC)、複数のIC、および/または分離した構成要素において具体化されてもよい。例えば、少なくとも1つの実施形態では、システム1000処理要素およびエンコーダ/デコーダ要素は、複数のICおよび/または離散した構成要素にわたって分散される。様々な実施形態では、システム1000は、例えば、通信バスを介して、または専用入力および/もしくは出力ポートを通じて、1つまたは複数の他のシステムまたは他の電子デバイスに通信可能に結合される。様々な実施形態では、システム1000は、本明細書において説明される態様のうちの1つまたは複数を実装するように構成される。
【0130】
システム1000は、例えば、本明細書において説明される様々な態様を実装するためにロードされる命令を実行するように構成される。プロセッサ1010は、埋め込みメモリ、入力出力インタフェース、および本分野において既知の様々な他の回路を含んでもよい。システム1000は、少なくとも1つのメモリ1020(例えば、揮発性メモリデバイスおよび/または不揮発性メモリデバイス)を含む。システム1000は、記憶装置1040を含み、記憶装置1040は、それらに限定されないが、電気的消去可能プログラマブルリードオンリメモリ(EEPROM)、リードオンリメモリ(ROM)、プログラマブルリードオンリメモリ(PROM)、ランダムアクセスメモリ(RAM)、ダイナミックランダムアクセスメモリ(DRAM)、スタティックランダムアクセスメモリ(SRAM)、フラッシュ、磁気ディスクドライブ、および/または光学ディスクドライブ含む、不揮発性メモリおよび/または揮発性メモリを含んでもよい。記憶装置1040は、非限定的な実施例として、内蔵記憶装置、取り付け記憶装置(取り外し可能記憶装置および非取り外し可能記憶装置を含む)、ならびに/またはネットワークアクセス可能記憶装置を含んでもよい。
【0131】
システム1000は、例えば、符号化されたビデオまたは復号されたビデオを提供するようデータを処理するように構成されたエンコーダ/デコーダモジュール1030を含み、エンコーダ/デコーダモジュール1030は、その自身のプロセッサおよびメモリを含んでもよい。エンコーダ/デコーダモジュール1030は、符号化機能および/または復号機能を実行するようデバイスに含めることができるモジュール(複数可)を表す。既知なように、デバイスは、符号化モジュールおよび復号モジュールの一方または両方を含んでもよい。加えて、エンコーダ/デコーダモジュール1030は、システム1000の別個の要素として実装されてもよく、または当業者に既知なハードウェアおよびソフトウェアの組み合わせとしてプロセッサ1010内に組み込まれてもよい。
【0132】
本明細書において説明される様々な態様を実行するようプロセッサ1010またはエンコーダ/デコーダ1030にロードされることになるプログラムコードは、記憶装置1040に記憶されてもよく、その後、プロセッサ1010による実行のためにメモリ1020にロードされてもよい。様々な実施形態に従って、プロセッサ1010、メモリ1020、記憶装置1040、およびエンコーダ/デコーダモジュール1030のうちの1つまたは複数は、本明細書において説明される処理の実行の間に様々な項目のうちの1つまたは複数を記憶してもよい。そのような記憶された項目は、それらに限定されないが、入力されたビデオ、復号されたビデオまたは復号されたビデオの一部、ビットストリーム、マトリクス、変数、ならびに数式、公式、演算、および演算ロジックの処理からの中間結果または最終結果を含んでもよい。
【0133】
いくつかの実施形態では、プロセッサ1010および/またはエンコーダ/デコーダモジュール1030の内部のメモリは、命令を記憶し、符号化または復号の間に必要な処理のためのワーキングメモリを提供するために使用される。しかしながら、それらの機能のうちの1つ以上に対して、処理デバイス(例えば、処理デバイスは、プロセッサ1010またはエンコーダ/デコーダモジュール1030のいずれかであってもよい)の外部のメモリが使用される。外部メモリは、メモリ1020ならびに/または記憶装置1040、例えば、動的揮発性メモリおよび/もしくは不揮発性フラッシュメモリであってもよい。いくつかの実施形態では、例えば、テレビのオペレーティングシステムを記憶するために外部不揮発性フラッシュメモリが使用される。少なくとも1つの実施形態では、RAMなどの高速外部動的揮発性メモリは、MPEG-2(MPEGは、Moving Picture Experts Groupを指し、MPEG-2はISO/IEC13818とも称され、13818-1もH.222として既知であり、13818-2もH.262として既知である)、HEVC(HEVCは、H.265およびMPEG-H Part 2としても既知のHigh Efficiency Video Codingを指す)、またはVVC(Joint Video Experts Team(JVET)によって開発されている新たな標準であるVersatile Video Coding)などについてのビデオコーディング演算および復号演算のためのワーキングメモリとして使用される。
【0134】
システム1000の要素への入力は、ブロック1130において示されるように様々な入力デバイスを通じて提供されてもよい。そのような入力デバイスは、それらに限定されないが、(i)ブロードキャスタによって無線で送信されたRF信号を受信する無線周波数(RF)部分、(ii)コンポーネント(COMP)入力端子(または、COMP入力端子のセット)、(iii)ユニバーサルシリアルバス(USB)入力端子、および/または(iv)High Definition Multimedia Interface(HDMI)入力端子を含む。
図19に示されない他の例は、コンポジットビデオを含む。
【0135】
様々な実施形態では、ブロック1130の入力デバイスは、本分野において既知の関連するそれぞれの入力処理要素を有する。例えば、RF部分は、(i)所望の周波数を選択し(信号を選択すること、または信号を周波数の帯域に帯域制限することとも称される)、(ii)選択された信号をダウンコンバートし、(iii)例えば、特定の実施形態ではチャネルと称されることがある信号周波数帯域を選択するよう周波数のより狭い帯域に再度帯域制限し、(iv)ダウンコンバートされ、帯域制限された信号を復調し、(v)誤り訂正を実行し、(vi)所望のデータパケットのストリームを選択するよう逆多重化する、野に適切な要素と関連付けられてもよい。様々な実施形態のRF部分は、それらの機能を実行する1つまたは複数の要素、例えば、周波数セレクタ、信号セレクタ、帯域リミッタ、チャネルセレクタ、フィルタ、ダウンコンバータ、復調器、誤り訂正器、およびマルチプレクサを含む。RF部分は、例えば、受信された信号をより低い周波数(例えば、中間周波数もしくはベースバンドに近い周波数)またはベースバンドにダウンコンバートすることを含む、様々なそれらの機能を実行するチューナを含んでもよい。1つのセットトップボックスの実施形態では、RF部分およびその関連する入力処理要素は、有線(例えば、ケーブル)媒体を通じて送信されたRF信号を受信し、所望の周波数帯域へのフィルタリング、ダウンコンバート、および再度のフィルタリングによって周波数選択を実行する。様々な実施形態は、上記説明された(および、他の)要素の順序を再配列し、それらの要素の一部を除去し、および/または類似の機能もしくは異なる機能を実行する他の要素を追加する。要素を追加することは、例えば、増幅器およびアナログ-デジタル変換器を挿入することなど、既存の要素の間に要素を挿入することを含んでもよい。様々な実施形態では、RF部分は、アンテナを含む。
【0136】
加えて、USB端子および/またはHDMI端子は、USB接続および/またはHDMI接続の間でシステム1000を他の電子デバイスに接続するためのそれぞれのインタフェースプロセッサを含んでもよい。入力処理、例えば、リードソロモン誤り訂正の様々な態様が、例えば、別個の入力処理IC内で、またはプロセッサ1010内で必要に応じて実装されてもよいことが理解されよう。同様に、USBインタフェース処理またはHDMIインタフェース処理の態様は、別個のインタフェースIC内で、またはプロセッサ1010内で必要に応じて実装されてもよい。復調されたストリーム、誤り訂正されたストリーム、および逆多重化されたストリームは、出力デバイス上で提示するために必要に応じてデータストリームを処理するために、例えば、プロセッサ1010、ならびにメモリおよび記憶素子との組み合わせで動作するエンコーダ/デコーダ1030を含む様々な処理要素に提供される。
【0137】
システム1000の様々な要素は、統合された筐体内で設けられてもよい。統合された筐体内で、様々な要素は、適切な接続配列、例えば、インターIC(I2C)バス、配線、およびプリント回路基板を含む、本分野において既知の内部バスを使用して、相互接続されてもよく、それらの間でデータを伝送してもよい。
【0138】
システム1000は、通信チャネル1060を介して他のデバイスとの通信を有効にする通信インタフェース1050を含む。通信インタフェース1050は、それらに限定されないが、通信チャネル1060を通じてデータを送信および受信するように構成された送受信機を含んでもよい。通信インタフェース1050は、それらに限定されないが、モデムまたはネットワークカードを含んでもよく、通信チャネル1060は、例えば、有線媒体および/または無線媒体内で実装されてもよい。
【0139】
様々な実施形態では、Wi-Fiネットワーク、例えば、IEEE802.11(IEEEは、Institute of Electrical and Electronics Engineersを指す)などの無線ネットワークを使用して、データがシステム1000にストリーミングされ、またはそうでなければ、システム1000に提供される。それらの実施形態のWi-Fi信号は、Wi-Fi通信に対して適合された通信チャネル1060および通信インタフェース1050を通じて受信される。それらの実施形態の通信チャネル1060は典型的には、ストリーミングアプリケーションおよび他のオーバザトップ通信を可能にするための、インターネットを含む外部ネットワークへのアクセスを提供するアクセスポイントまたはルータに接続される。他の実施形態は、入力ブロック1130のHDMI接続を通じてデータを配送するセットトップボックスを使用して、システム1000にストリーミングされたデータを提供する。更なる他の実施形態は、入力ブロック1130のRF接続を使用して、システム1000にストリーミングされたデータを提供する。上記示されたように、様々な実施形態は、非ストリーミング方式においてデータを提供する。加えて、様々な実施形態は、Wi-Fi以外の無線ネットワーク、例えば、セルラネットワークまたはBluetoothネットワークを使用する。
【0140】
システム1000は、ディスプレイ1100、スピーカ1110、および他の周辺デバイス1120を含む、様々な出力デバイスに出力信号を提供してもよい。様々な実施形態のディスプレイ1100は、例えば、タッチスクリーンディスプレイ、有機発光ダイオード(OLED)ディスプレイ、カーブドディスプレイ、および/またはフォルダブルディスプレイ、のうちの1つまたは複数を含む。ディスプレイ1100は、テレビ、タブレット、ラップトップ、セルフォン(携帯電話)、または他のデバイスに対するものであってもよい。ディスプレイ1100はまた、他の構成要素(例えば、スマートフォンにあるような)と統合されてもよく、または別個であってもよい(例えば、ラップトップに対する外部モニタ)。他の周辺デバイス1120は、実施形態の様々な実施例では、スタンドアロンデジタルビデオディスク(もしくは、デジタル多用途ディスク)(両方の用語に対するDVR)、ディスクプレイヤ、ステレオシステム、および/または照明システム、のうちの1つまたは複数を含む。様々な実施形態は、システム1000の出力に基づいて機能を提供する1つまたは複数の周辺デバイス1120を使用する。例えば、ディスクプレイヤは、システム1000の出力を再生する機能を実行する。
【0141】
様々な実施形態では、AVリンク、コンシューマエレクトロニクスコントロール(CEC)、またはユーザの介入によりもしくはユーザの介入なしにデバイスツーデバイス制御を有効にする他の通信プロトコルなどのシグナリングを使用して、システム1000と、ディスプレイ1100、スピーカ1110、または他の周辺デバイス1120との間で制御信号が通信される。出力デバイスは、それぞれのインタフェース1070、1080、および1090を通じて専用接続を介して、システム1000に通信可能に結合されてもよい。代わりに、出力デバイスは、通信インタフェース1050を介して通信チャネル1060を使用して、システム1000に接続されてもよい。ディスプレイ1100およびスピーカ1110は、例えば、テレビなどの電子デバイスにおいてシステム1000の他の構成要素と単一のユニットにおいて統合されてもよい。様々な実施形態では、ディスプレイインタフェース1070は、例えば、タイミングコントローラ(T Con)チップなどのディスプレイドライバを含む。
【0142】
ディスプレイ1100およびスピーカ1110は代わりに、例えば、入力1130のRF部が別個のセットトップボックスの部分である場合、他の構成要素の内の1つまたは複数とは別個であってもよい。ディスプレイ1100およびスピーカ1110が外部構成要素である様々な実施形態では、出力信号は、例えば、HDMIポート、USBポート、またはCOMP出力を含む専用出力接続を介して提供されてもよい。
【0143】
実施形態は、プロセッサ1010もしくはハードウェア、またはハードウェアおよびソフトウェアの組み合わせによって実装されたコンピュータソフトウェアによって実行されてもよい。非限定的な実施例として、実施形態は、1つまたは複数の集積回路によって実装されてもよい。メモリ1020は、技術的環境に適切ないずれかのタイプのメモリであってもよく、非限定的な実施例として、光学メモリデバイス、磁気メモリデバイス、半導体方式メモリデバイス、固定メモリ、および着脱可能メモリなどのいずれかの適切なデータ技術を使用して実装されてもよい。プロセッサ1010は、技術的環境に適切ないずれかのタイプのプロセッサであってもよく、非限定的な実施例として、マイクロプロセッサ、汎用コンピュータ、特殊目的コンピュータ、およびマルチコアアーキテクチャに基づくプロセッサのうちの1つまたは複数を含んでもよい。
【0144】
様々な実装態様は、復号することを伴う。本出願において使用される「復号すること」は、例えば、表示のために適切な最終的な出力を生成するために、受信され符号化されたシーケンスにおいて実行される処理の全てまたは一部を含んでもよい。様々な実施形態では、そのような処理は、デコーダ、例えば、エントロピ復号、逆量子化、逆変換、および差分復号によって典型的には実行される処理のうちの1つまたは複数を含む。様々な実施形態では、そのような処理は加えてまたは代わりに、本出願において説明される様々な実装態様のデコーダによって実行される処理を含む。
【0145】
更なる実施例として、1つの実施形態では、「復号すること」は、エントロピ復号することのみを指し、別の実施形態では、「復号すること」は、差分復号することのみを指し、別の実施形態では、「復号すること」は、エントロピ復号することおよび差分復号することの組み合わせを指す。フレーズ「復号処理」が演算または全体的により広義に復号処理のサブセットを指すことが、特定の説明のコンテキストに基づいて明確であることが意図され、当業者によって公知であると信じられる。
【0146】
様々な実装態様は、符号化することを伴う。「復号すること」と同様の方式では、本出願において使用される「符号化すること」は、例えば、符号化されたビットストリームを生成するために、入力ビデオシーケンスに対して実行される処理の全てまたは一部を含んでもよい。様々な実施形態では、そのような処理は、エンコーダ、例えば、区分化、差分符号化、変換、量子化、およびエントロピ符号化によって典型的には実行される処理のうちの1つまたは複数を含む。様々な実施形態では、そのような処理は加えてまたは代わりに、本出願において説明される様々な実装態様のエンコーダによって実行される処理を含む。
【0147】
更なる実施例として、1つの実施形態では、「符号化すること」は、エントロピ符号化することのみを指し、別の実施形態では、「符号化すること」は、差分符号化することのみを指し、別の実施形態では、「符号化すること」は、差分符号化することおよび差分符号化することの組み合わせを指す。フレーズ「符号化処理」が演算または全体的により広義に符号化処理のサブセットを指すことが、特定の説明のコンテキストに基づいて明確であることが意図され、当業者によって公知であると信じられる。
【0148】
本明細書で使用されるシンタックス要素は、記述的用語であることに留意されたい。それ自体として、それらは、他のシンタックス要素名の使用を排除しない。
【0149】
図がフローチャートとして表されるとき、それは対応する装置のブロック図も提供することが理解されるべきである。同様に、図がブロック図として表されるとき、それは対応する方法/処理のフローチャートも提供することが理解されるべきである。
【0150】
様々な実施形態は、パラメトリックモデルを指す。特に、計算の複雑性を多くに仮定して、符号化処理の間、レートと歪みとの間のバランスまたはトレードオフが通常考慮される。それは、レート歪み最適化(RDO)メトリック、最小平均二乗(LMS)、絶対誤差平均(MAE)、または他のそのような測定を通じて測定されてもよい。レート歪み最適化は通常、レートの重み付け合計および歪みの重み付け合計である、レート歪み関数を最小化するとして定式化される。レート歪み最適化問題を解く異なるアプローチが存在する。例えば、アプローチは、全ての考慮されるモードまたはコーディングパラメータ値を含む全ての符号化オプションの広範な試験と共に、符号化および復号の後の再構築された信号のそれらの符号化コストおよび関連する歪みの完全な評価に基づいてもよい。符号化の複雑性、特に、再構築されたものではなく、予測信号または予測残差信号に基づいた近似された歪みの計算による符号化の複雑性を抑えるためにより高速なアプローチも使用されてもよい。取り得る符号化オプションの一部のみについての近似された歪み、および他の符号化オプションについての完全な歪みを使用することなどによって、それらの2つのアプローチの混合も使用されてもよい。他のアプローチは、取り得る符号化オプションのサブセットのみを評価する。より一般的に、多くのアプローチは、最適化を実行する様々な技術のいずれかを採用するが、最適化は必ずしも、符号化コストおよび関連する歪みの両方の完全な評価ではない。
【0151】
本明細書で説明される実装態様および態様は、例えば、方法もしくは処理、装置、ソフトウェアプログラム、データストリーム、または信号において実装されてもよい。単一の形式の実装態様のコンテキストにおいてのみ議論される場合でさえ(例えば、方法として議論される)、議論される特徴の実装態様は、他の形式(例えば、装置またはプログラム)において実装されてもよい。装置は、例えば、適切なハードウェア、ソフトウェア、およびファームウェアにおいて実装されてもよい。方法は、例えば、処理デバイスを指すプロセッサにおいて実装されてもよく、処理デバイスは概して、例えば、コンピュータ、マイクロプロセッサ、集積回路、またはプログラマブル論理回路を含む。プロセッサはまた、例えば、コンピュータ、携帯電話、ポータブル/携帯情報端末(「PDA」)、エンドユーザの間の情報の通信を促進する他のデバイスなどの通信デバイスを含む。
【0152】
「1つの実施形態」、「実施形態」、「1つの実装態様」、または「実装態様」と共に、それらの他の変形例は、実施形態と関連して説明された特定の特徴、構造、および特性などが、少なくとも1つの実施形態に含まれることを意味する。よって、フレーズ「1つの実施形態では」、「実施形態では」、「1つの実装態様では」、または「実装態様では」の出現と共に、本出願の全体を通じて様々な位置で出現するいずれかの他の変形例は、全てが同一の実施形態を必ずしも指すわけではない。
【0153】
加えて、本出願は、情報の様々な部分を「判定すること」に言及してもよい。情報を判定することは、例えば、情報を推定すること、情報を計算すること、情報を予測すること、またはメモリから情報を取り出すことのうちの1つまたは複数を含んでもよい。
【0154】
更に、本出願は、情報の様々な部分に「アクセスすること」に言及してもよい。情報にアクセスすることは、例えば、情報を受信すること、情報を取り出すこと(例えば、メモリから)、情報を記憶すること、情報を移動すること、情報を複製すること、情報を計算すること、情報を判定すること、情報を予測すること、または情報を推定することのうちの1つまたは複数を含んでもよい。
【0155】
加えて、本出願は、情報の様々な部分を「受信すること」に言及してもよい。「アクセスすること」と共に受信することは、広義な用語であることが意図される。情報を受信することは、例えば、情報にアクセスすること、または情報を取り出すこと(例えば、メモリから)のうちの1つまたは複数を含んでもよい。更に、「受信すること」は典型的には、例えば、情報を記憶すること、情報を処理すること、情報を送信すること、情報を移動すること、情報を複製すること、情報を消去すること、情報を計算すること、情報を判定すること、情報を予測すること、または情報を推定することなどの演算の間、1つの方式または別の方式に含まれてもよい。
【0156】
例えば、「A/B」、「Aおよび/またはB」、ならびに「AおよびBのうちの少なくとも1つ」のケースにおける「/」、「および/または」、ならびに「~のうちの少なくとも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)の選択を包含することが意図される。これは、当業者に対して自明であるように、多くの項目がリスト化されるように拡張されてもよい。
【0157】
また、本明細書で使用されるように、用語「シグナリング」は、とりわけ、対応するデコーダに何かを示すことを指す。例えば、特定の実施形態では、エンコーダは、複数のコーディングモードまたはフラグの特定の1つをシグナリングする。このようにして、実施形態では、エンコーダ側およびデコーダ側の両方において同一のパラメータが使用される。よって、例えば、エンコーダは、デコーダに特定のパラメータを送信することができ(明示的なシグナリング)、その結果、デコーダは、同一の特定のパラメータを使用することができる。逆に、デコーダが特定のパラメータと共に他のパラメータを既に有している場合、デコーダが特定のパラメータを認識および選択することを単純に可能にするよう送信することなく(非明示的なシグナリング)シグナリングが使用されてもよい。いずれかの実際の関数の送信を回避することによって、様々な実施形態では、ビット節約が実現される。様々な方式においてシグナリングを達成することができることが認識されよう。例えば、様々な実施形態では、対応するデコーダに情報をシグナリングするために、1つまたは複数のシンタックス要素およびフラグなどが使用される。先述したことは、用語「シグナリング」の動詞の形式に関連すると共に、用語「シグナリング」は、本明細書では名詞としても使用されてもよい。
【0158】
当業者にとって明白であるように、実装態様は、例えば、記憶または送信することができる情報を搬送するようフォーマットされた様々な信号を生成することができる。情報は、例えば、方法を実行するための命令、または説明された実装態様の1つによって生成されたデータを含んでもよい。例えば、信号は、説明された実装態様のビットストリームを搬送するようフォーマットされてもよい。そのような信号は、例えば、電磁気波として((例えば、スペクトルの無線周波数部分を使用して)、またはベースバンド信号としてフォーマットされてもよい。フォーマットは、例えば、データストリームを符号化すること、および符号化されたデータストリームにより搬送波を変調することを含んでもよい。信号が搬送する情報は、例えば、アナログ情報またはデジタル情報であってもよい。信号は、既知のように、様々な異なる有線リンクまたは無線リンクを通じて送信されてもよい。信号は、プロセッサ可読媒体に記憶されてもよい。
【0159】
いくつかの実施形態を説明した。それらの実施形態の特徴は、単独またはいずれかの組み合わせにおいて提供されてもよい。更に、実施形態は、様々な特許請求されるカテゴリおよびタイプにわたって、単独またはいずれかの組み合わせにおいて、以下の特徴、デバイス、または態様のうちの1つまたは複数を含んでもよい。
-デコーダおよび/またはエンコーダにおいて適用されるコーディングモード処理を修正すること。
-デコーダおよび/またはエンコーダにおいていくつかの拡張されたコーディングモード予測方法を有効にすること。
-デコーダが使用するコーディングモード予測方法を識別することを可能にするシンタックス要素をシグナリングに挿入すること。
-それらのシンタックス要素に基づいて、デコーダにおいて適用するコーディングモード予測方法を選択すること。
-デコーダにおいて導出するためのコーディングモード予測方法を適用すること。
-上記予測処理により、およびルックアップテーブルの除去によりパラメータを導出すること。
-上記予測処理により、およびルックアップテーブルの修正によりパラメータを導出すること。
-線形予測を使用して予測パラメータを導出すること。
-議論された実施形態のいずれかに従ってエンコーダにおいて残差を適応させること。
-説明されたシンタックス要素またはその変形例のうちの1つまたは複数を含むビットストリームまたは信号。
-説明された実施形態のいずれかに従って生成された情報を搬送するシンタックスを含むビットストリームまたは信号。
-説明された実施形態のいずれかに従って生成すること、送信すること、受信すること、および/または復号すること。
-説明された実施形態のいずれかに従った方法、処理、装置、命令を記憶した媒体、データを記憶した媒体、または信号。
-エンコーダによって使用されるものに対応する方式においてデコーダがコーディングモードを判定することを可能にするシンタックス要素をシグナリングに挿入すること。
-説明されたシンタックス要素またはその変形例のうちの1つまたは複数を含むビットストリームまたは信号を生成すること、送信すること、受信すること、および/または復号すること。
-説明された実施形態のいずれかに従ってコーディングモード判定を実行するTV、セットトップボックス、携帯電話、タブレット、または他の電子デバイス。
-説明された実施形態のいずれかに従ってコーディングモード判定を実行し、結果として生じた画像を表示する(例えば、モニタ、スクリーン、または他のタイプのディスプレイを使用して)TV、セットトップボックス、携帯電話、タブレット、または他の電子デバイス。
-符号化された画像を含む信号を受信するようチャネルを選択し、帯域制限し、または同調し(例えば、チューナを使用して)、説明された実施形態のいずれかに従ってコーディングモード判定を実行するTV、セットトップボックス、携帯電話、タブレット、または他の電子デバイス。
-符号化された画像を含む信号を無線で受信し(例えば、アンテナを使用して)、コーディングモード判定を実行するTV、セットトップボックス、携帯電話、タブレット、または他の電子デバイス。