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

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

▶ テンセント・アメリカ・エルエルシーの特許一覧

特許7578591ビデオ符号化または復号のための方法、装置及びコンピュータ・プログラム
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-28
(45)【発行日】2024-11-06
(54)【発明の名称】ビデオ符号化または復号のための方法、装置及びコンピュータ・プログラム
(51)【国際特許分類】
   H04N 19/117 20140101AFI20241029BHJP
   H04N 19/136 20140101ALI20241029BHJP
   H04N 19/186 20140101ALI20241029BHJP
   H04N 19/593 20140101ALI20241029BHJP
【FI】
H04N19/117
H04N19/136
H04N19/186
H04N19/593
【請求項の数】 16
(21)【出願番号】P 2021528423
(86)(22)【出願日】2019-12-11
(65)【公表番号】
(43)【公表日】2022-01-19
(86)【国際出願番号】 US2019065627
(87)【国際公開番号】W WO2020131512
(87)【国際公開日】2020-06-25
【審査請求日】2021-05-20
(31)【優先権主張番号】62/781,316
(32)【優先日】2018-12-18
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】62/785,678
(32)【優先日】2018-12-27
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】62/788,729
(32)【優先日】2019-01-04
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】62/789,992
(32)【優先日】2019-01-08
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】16/523,258
(32)【優先日】2019-07-26
(33)【優先権主張国・地域又は機関】US
【前置審査】
(73)【特許権者】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100150197
【弁理士】
【氏名又は名称】松尾 直樹
(72)【発明者】
【氏名】リャン・ジャオ
(72)【発明者】
【氏名】シン・ジャオ
(72)【発明者】
【氏名】シアン・リ
(72)【発明者】
【氏名】シャン・リュウ
【審査官】坂東 大五郎
(56)【参考文献】
【文献】国際公開第2018/053293(WO,A1)
【文献】特開2015-008341(JP,A)
【文献】特開2018-174567(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00-19/98
(57)【特許請求の範囲】
【請求項1】
ビデオシーケンスを符号化または復号するための方法であって、前記方法は、
クロスコンポーネント線形モデル(CCLM)をビデオシーケンスに適用するステップと、
前記クロスコンポーネント線形モデル(CCLM)において補間フィルタを適用するステップと、
ルーマブロックの中の第1のものの、前記ビデオシーケンスに関連する複数の隣接サンプルの最大ルーマサンプル値と最小ルーマサンプル値との間の絶対差を取得するステップと、
前記取得された絶対差を前記絶対差が0より大きい第1の間隔とそれ以外の第2の間隔とに分割するステップと、
前記取得された絶対差の非一様量子化を実行するステップと、
CCLMルックアップテーブルに、前記非一様量子化が実行された絶対差を使用してfloor値を取得するステップと、
前記第1の間隔において、
前記ビデオシーケンスに関連する前記複数の隣接サンプルの最大クロマサンプル値と最小クロマサンプル値との間の差と、前記floor値とット深度に応じて異なるステップサイズとを使用して、前記CCLMの第1のパラメータを取得するステップであって、前記ステップサイズは、前記ビット深度が所定の値よりも大きい場合は前記ビット深度に基づいて決まる値であり、前記ビット深度が前記所定の値以下である場合は0であり、
前記第2の間隔において、前記第1のパラメータは0であり、前記最小クロマサンプル値と前記第1のパラメータとに基づいて第2のパラメータを取得する、ステップと、
前記第1のパラメータおよび前記第2のパラメータに基づいて、前記ビデオシーケンスに関連するクロマブロックの中の異なるクロマブロックのサンプルを予測するステップと
を含み、
前記補間フィルタは、前記ビデオシーケンスのYUVフォーマットに依存する、方法。
【請求項2】
前記クロスコンポーネント線形モデル(CCLM)において前記補間フィルタを適用する際に、前記方法は、前記ビデオシーケンスの前記YUVフォーマットに依存する前記補間フィルタのタップを使用するステップをさらに含む、請求項1に記載の方法。
【請求項3】
前記方法は、前記ビデオシーケンスの同じYUVフォーマットに対して同じである、前記クロスコンポーネント線形モデル(CCLM)で使用される前記補間フィルタのタップを使用するステップをさらに含む、請求項2に記載の方法。
【請求項4】
前記クロスコンポーネント線形モデル(CCLM)において前記補間フィルタを適用する際に、前記方法は、前記ビデオシーケンスが4:4:4または4:2:2のYUVフォーマットを含む場合、前記適用される補間フィルタが前記4:4:4および4:2:2のYUVフォーマットに対して同じになるように設定するステップと、前記ビデオシーケンスが4:2:0のYUVフォーマットを含む場合、前記適用される補間フィルタが前記4:4:4および4:2:2のYUVフォーマットに対して適用される補間フィルタとは異なるように設定するステップとをさらに含む、請求項1から3のいずれか一項に記載の方法。
【請求項5】
前記クロスコンポーネント線形モデル(CCLM)において前記補間フィルタを適用する際に、前記方法は、前記ビデオシーケンスの様々なYUVフォーマットに対して異なる前記補間フィルタのタップを使用するステップをさらに含む、請求項1から4のいずれか一項に記載の方法。
【請求項6】
前記クロスコンポーネント線形モデル(CCLM)に前記補間フィルタを適用する際に、前記方法は、前記補間フィルタを、上側および左側の隣接ルーマ再構成サンプルに対して異なるように設定するステップをさらに含む、請求項1から5のいずれか一項に記載の方法。
【請求項7】
前記方法は、前記補間フィルタを設定するステップをさらに含み、前記上側および左側の隣接ルーマ再構成サンプルの補間フィルタは、前記ビデオシーケンスの前記YUVフォーマットに依存する、請求項6に記載の方法。
【請求項8】
前記方法は、4:4:4または4:2:2のYUVフォーマットを有するビデオシーケンスに対する前記クロスコンポーネント線形モデル(CCLM)において、上側の隣接領域の1行および左側の隣接領域の少なくとも1列のうちの少なくとも一方を使用するステップをさらに含む、請求項1から7のいずれか一項に記載の方法。
【請求項9】
前記方法は、4:4:4または4:2:2のYUVフォーマットのうちの1つを有するビデオシーケンスに対する前記クロスコンポーネント線形モデル(CCLM)において、上側の隣接領域の1行および左側の隣接領域の1列のうちの少なくとも一方を使用するステップをさらに含む、請求項8に記載の方法。
【請求項10】
前記方法は、4:2:2のYUVフォーマットを有するビデオシーケンスに対する前記クロスコンポーネント線形モデル(CCLM)において、上側の隣接領域の1行および左側の隣接領域の少なくとも2列のうちの少なくとも一方を使用するステップをさらに含む、請求項8に記載の方法。
【請求項11】
前記ルーマブロックおよび前記クロマブロックのN個の隣接サンプル対を使用して、前記最大ルーマサンプル値および前記最小ルーマサンプルならびに前記最大クロマサンプル値および前記最小クロマサンプル値を取得するステップであって、Nは、4、8および16の中の1つの正の整数である、ステップをさらに含み、
前記N個の隣接サンプル対のそれぞれは、前記ルーマブロックおよび前記クロマブロックの中の第1のものに隣接する第1の位置にある第1の隣接サンプルと、前記ルーマブロックおよび前記クロマブロックの中の第2のものに隣接し、前記ルーマブロックおよび前記クロマブロックの中の前記第1のものに隣接する前記第1の位置に対応する第2の位置にある第2の隣接サンプルとを含む、請求項1から10のいずれか一項に記載の方法。
【請求項12】
前記複数の隣接サンプルを下から上に、および/または右から左に走査することによって前記第1の隣接サンプルを選択するステップをさらに含む、請求項11に記載の方法。
【請求項13】
現在のブロックおよび参照ブロックのN個の隣接サンプル対を使用して、前記現在のブロックの局所照射補正(LIC)の線形モデルのスケール係数およびオフセットを取得するステップであって、Nは4、8および16の中のいずれかの正の整数であり、
前記N個の隣接サンプル対のそれぞれは、前記現在のブロックに隣接する第1の位置にある第1の隣接サンプルと、前記参照ブロックに隣接し、前記現在のブロックに隣接する前記第1の位置に対応する第2の位置にある第2の隣接サンプルとを含む、ステップと、
前記取得したスケール係数および前記取得したオフセットを使用して、前記現在のブロックの前記LICを実行するステップと
をさらに含む、請求項1から12のいずれか一項に記載の方法。
【請求項14】
Nは前記現在のブロックのブロックサイズに依存する、請求項13に記載の方法。
【請求項15】
請求項1から14のいずれか一項に記載の方法を実行するように構成されたデバイス。
【請求項16】
1つまたは複数のプロセッサに、請求項1から14のいずれか一項に記載の方法を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2018年12月18日に米国特許商標庁に出願された米国仮特許出願第62/781,316号、2018年12月27日に出願された米国仮特許出願第62/785,678号、2019年1月4日に出願された米国仮特許出願第62/788,729号、2019年1月8日に出願された米国仮特許出願第62/789,992号、および2019年7月26日に出願された米国特許出願第16/523,258号に基づく優先権を米国特許法第119条の下に主張し、それらの開示内容はそれらの全体が参照により本明細書に組み込まれる。
【0002】
実施形態と一致する方法および装置は、ビデオ処理、より具体的には、クロスコンポーネント線形モデル予測モードを単純化することに焦点を合わせたビデオシーケンスの符号化または復号に関する。
【背景技術】
【0003】
最近、ITU Telecommunication Standardization Sector(ITU-T)のVideo Coding Experts Group(VCEG)、国際電気通信連合(ITU)のセクター、およびISO/IEC MPEG(JTC 1/SC 29/WG 11)、国際標準化機構(ISO)と国際電気技術委員会(IEC)の合同技術委員会ISO/IEC JTC 1の標準化小委員会は、2013年にH.265/High Efficiency Video Coding(HEVC)標準(バージョン1)を公開した。この標準は、2014年にバージョン2に、2015年にバージョン3に、2016年にバージョン4に更新された。
【0004】
2017年10月、彼らはJoint Call for Proposals on Video Compression with Capability beyond HEVC(CfP)を発表した。2018年2月15日までに、標準ダイナミックレンジ(SDR)に対して22個のCfP応答、高ダイナミックレンジ(HDR)に対して12個のCfP応答、360ビデオカテゴリで12個のCfP応答がそれぞれ提出された。2018年4月、受け取られたすべてのCfP応答は、122 MPEG/10th JVET会議で評価された。この会議の結果、JVETはHEVCを超えた次世代ビデオ符号化の標準化プロセスを正式に開始した。新しい標準はVersatile Video Coding(VVC)と名付けられ、JVETはJoint Video Expert Teamと改名された。
【0005】
次に、HEVCにおけるルーマ成分のイントラ予測モードについて説明する。HEVCで使用されるイントラ予測モードを図1に示す。HEVCでは、合計35のイントラ予測モードがあり得、そのうちモード10は水平モード、モード26は垂直モード、モード2、18および34は対角モードであり得る。イントラ予測モードは、3つの最確モード(MPM)と32個の残りのモードによって通知され得る。
【0006】
次に、VVCにおけるルーマ成分のイントラ予測モードについて説明する。VVCの現在の開発では、図2に示すように、合計95個のイントラ予測モードがあり得、モード18は水平モードであり得、モード50は垂直モードであり得、モード2、34および66は対角モードであり得る。モード1~14およびモード67~80は、広角イントラ予測(WAIP)モードと呼ばれることがある。図2に示されるように、35個のイントラ予測モードがHEVCで使用され得る。
【0007】
次に、VVCのルーマ成分のイントラ予測モードについて説明する。VVCの現在の開発では、図2に示すように、合計95個のイントラ予測モードがあり得、モード18は水平モードであり得、モード50は垂直モードであり得、モード2、34および66は対角モードであり得る。モード1~14およびモード67~80は、広角イントラ予測(WAIP)モードと呼ばれることがある。
【0008】
次に、VVCのクロマ成分のIntra-modeモードについて説明する。VTMでは、intra-PUのクロマ成分の場合、エンコーダは、Planar、DC、水平、垂直、ルーマ成分からのイントラ予測モード(DM)の直接複製、左側および上側クロスコンポーネント線形モード(LT_CCLM)、左側クロスコンポーネント線形モード(L_CCLM)、および上側クロスコンポーネント線形モード(T_CCLM)を含む8つのモードの中から最適なクロマ予測モードを選択し得る。LT_CCLM、L_CCLM、およびT_CCLMは、クロスコンポーネント線形モード(CCLM)のグループに分類され得る。これらの3つのモードの違いは、隣接サンプルの異なる領域を使用してパラメータαおよびβを導出し得ることである。LT_CCLMの場合、左側と上側の隣接サンプルの両方を使用して、パラメータαとβを導出し得る。L_CCLMの場合、一般に、左側の隣接サンプルのみを使用して、パラメータαおよびβを導出し得る。T_CCLMの場合、一般に、上側の隣接サンプルのみを使用して、パラメータαおよびβを導出し得る。
【0009】
クロスコンポーネントの冗長性を減らすために、クロスコンポーネント線形モデル(CCLM)予測モードを使用することがあり、このモードでは、次のように線形モデルを使用して、同じCUの再構成されたルーマサンプルに基づいてクロマサンプルが予測されることがあり、
predc(i,j)=α・recL’(i,j)+β
式中、predc(i,j)はCU内の予測されたクロマサンプルを表し、recL(i,j)は同じCUのダウンサンプリングされた再構成されたルーマサンプルを表す。パラメータαおよびβは、max-min法とも呼ばれる直線方程式によって導出し得る。この計算プロセスは、エンコーダ検索動作としてだけでなく、復号プロセスの一部として実行されることがあるため、α値およびβ値を伝達するためにシンタックスを必ずしも使用する必要はない。
【0010】
様々なYUVフォーマットがあり、図3(A)~図3(D)に示す。4:2:0フォーマットでは、LM予測は、図3(A)~図3(D)に示されるように、クロマサンプルに対応するダウンサンプリングされたルーマサンプルを取得するために、6タップ補間フィルタを適用し得る。公式な方法で、ダウンサンプリングされたルーマサンプルRec’L[x,y]は、再構成されたルーマサンプルから次のように計算し得る:
Rec’L[x,y]=(2×RecL[2x,2y]+2×RecL[2x,2y+1]+
RecL[2x-1,2y]+RecL[2x+1,2y]+
RecL[2x-1,2y+1]+RecL[2x+1,2y+1]+4)>>3
【0011】
ダウンサンプリングされたルーマサンプルは、最大および最小のサンプル点を見つけるために使用し得る。2点(ルーマとクロマの組)(A、B)は、図4に示すように、隣接ルーマサンプルのセット内の最小値および最大値であり得る。
線形モデルパラメータαおよびβは、次の式に従って取得し得る:
【0012】
【数1】
【0013】
ここでは、除算を回避して、乗算およびシフトに置き換え得る。事前に計算された値を格納するために1つのルックアップテーブル(LUT)を使用し得、LUTのエントリインデックスを指定するために、最大と最小のルーマサンプル間の絶対差値を使用し得、LUTのサイズは512であり得る。
【0014】
また、diff_Yで表される、指定された隣接サンプル領域内の最大と最小のルーマサンプル値の絶対差が非一様量子化されることがあり、LUTのサイズが縮小されるようにCCLMルックアップテーブル(LUT)のエントリインデックスを指定するために、絶対差の量子化値が使用され得ることも提案された。diff_Yの範囲は複数の間隔に分割され、異なる量子化ステップサイズが異なる間隔で使用され得る。一例では、diff_Yの範囲を2つの間隔に分割し得、diff_YがThres_1という名前の閾値以下の場合、Step_Aという名前の1つのステップサイズが使用される。それ以外の場合は、Step_Bという名前の別のステップサイズを使用し得る。したがって、CCLMのパラメータは次のように取得し得る:
【0015】
【数2】
【0016】
ここで、Thres_1、Step_AおよびStep_Bは、1、2、3、4などの任意の正の整数にすることができる。また、Step_AとStep_Bは等しくない。
【0017】
クロマ予測子を導出するために、現在のVTM実装の場合、乗算は次のような整数演算に置き換えられ、maxY、minY、maxCおよびminCは、それぞれ最大ルーマサンプル値、最小ルーマサンプル値、最大クロマサンプル値および最小クロマサンプル値を示す。numSampLおよびnumSampTは、それぞれ利用可能な左側および上側の隣接サンプルの数を示す。以下のテキストは、VVC草案3の8.2.4.2.8項からのものである。
【0018】
変数a、bおよびkは次のように導出される:
numSampLが0に等しく、numSampTが0に等しい場合、以下が適用される:
k=0
a=0
b=1<<(BitDepthC-1)
それ以外の場合は、以下が適用される:
shift=(BitDepthC>8)?BitDepthC-9:0
add=shift?1<<(shift-1):0
diff=(maxY-minY+add)>>shift
k=16
diffが0より大きい場合、以下が適用される:
div=((maxC-minC)*(Floor(232/diff)-Floor(216/diff)*216)+215)>>16
a=((maxC-minC)*Floor(216/diff)+div+add)>>shift
それ以外の場合は、以下が適用される:
a=0
b=minC-((a*minY)>>k)
【0019】
diffが0より大きい場合の式は、次のように簡略化することもできる:
a=((maxC-minC)*Floor(216/diff)+add)>>shift
【0020】
パラメータaおよびbを導出した後、クロマ予測子は次のように計算される:
predc(i,j)=(a・recL’(i,j))>>S+b
【0021】
変数「diff」の範囲は1~512であるため、Floor(216/diff)の値を事前に計算して、512に等しいサイズのルックアップテーブル(LUT)に格納できる。さらに、diffの値は、ルックアップテーブルのエントリインデックスを指定するために使用される。
【0022】
この計算プロセスは、エンコーダ検索動作としてだけでなく、復号プロセスの一部として実行されるため、α値およびβ値を伝達するためにシンタックスは使用されない。
【0023】
T_CCLMモードでは、上側の隣接サンプル(2*Wサンプルを含む)のみが線形モデル係数の計算に使用される。L_CCLMモードでは、左側の隣接サンプル(2*Hサンプルを含む)のみが線形モデル係数の計算に使用される。これは図6A図7Bに示される。
【0024】
CCLM予測モードはまた、2つのクロマ成分間の予測を含み、すなわち、Cr成分は、Cb成分から予測され得る。再構成されたサンプル信号を使用する代わりに、CCLM Cb-to-Cr予測を残差領域に適用し得る。これは、重み付けされた再構成されたCb残差を元のCrイントラ予測に追加して、最終的なCr予測を形成することで実装し得る:
【0025】
【数3】
【0026】
CCLMのルーマからクロマへの予測モードは、1つの追加のクロマイントラ予測モードとして追加され得る。エンコーダ側では、クロマイントラ予測モードを選択するために、クロマ成分のRDコストチェックをもう1つ追加し得る。CUのクロマ成分にCCLMのルーマ対クロマ予測モード以外のイントラ予測モードが使用される場合、CCLMのCb対Cr予測がCr成分予測に使用され得る。
【0027】
マルチモデルCCLM(MMLM)は、CCLMのもう1つの拡張機能である。名前で示されているように、MMLMには、2つのモデルなど、複数のモデルが存在することがある。MMLMでは、現在のブロックの隣接ルーマサンプルと隣接クロマサンプルを2つのグループに分類し得、各グループは、線形モデルを導出するための訓練セットとして使用し得る(つまり、特定のαとβは特定のグループに対して導出される)。さらに、現在のルーマブロックのサンプルは、隣接ルーマサンプルの分類と同じ規則に基づいて分類し得る。
【0028】
図8は、隣接サンプルを2つのグループに分類する例を示している。ここで、閾値は、隣接する再構成されたルーマサンプルの平均値として計算し得る。Rec’L[x,y]<=閾値を有する隣接サンプルは、グループ1に分類し得、一方、Rec’L[x,y]>閾値を有する隣接サンプルは、グループ2に分類し得る。
【0029】
【数4】
【0030】
局所照射補正(LIC)は、スケール係数aおよびオフセットbを使用して、照射の変化の線形モデルに基づく。これは、インターモードで符号化された符号化ユニット(CU)ごとに適応的に有効または無効になる。
【0031】
CUにLICを適用する場合、現在のCUの隣接サンプルとそれに対応する参照サンプルを使用してパラメータaおよびbを導出するために、最小2乗誤差法を使用する。より具体的には、図14に示されるように、現在のCU1410のサブサンプリングされた(2:1サブサンプリング)隣接サンプル(図14の部分(a)に示される)と、参照ピクチャまたはブロック1420(図14の部分(b)に示される)の対応するサンプル(現在のCUまたはサブCUの動き情報によって識別される)が使用される。ICパラメータが導出され、予測方向ごとに個別に適用される。
【0032】
CUがマージモードで符号化されている場合、LICフラグは、マージモードでの動き情報の複製と同様の方法で、隣接ブロックから複製されるか、それ以外の場合は、LICフラグがCUに通知され、LICが適用されるかどうかが示される。
【0033】
上記の進歩にもかかわらず、最先端技術には問題が存在する。現在VTM3.0では、4:2:0 YUVフォーマットで、6タップ補間フィルタを指定された隣接領域のすべてのルーマサンプルに適用し得るが、最終的には最大値と最小値の2つのルーマサンプルのみがCCLMパラメータを導出するため使用され、これにより、符号化効率に明確な利点がなくても、デコーダの複雑さが増す。さらに、VTM3.0では、CCLMのルーマサンプルの補間フィルタは4:2:0 YUVフォーマットのみをサポートするが、4:4:4および4:2:2 YUVフォーマットは依然として一般的であり、サポートする必要がある。
【0034】
現在VTM3.0では、CCLMのルックアップテーブル(LUT)のサイズは512であり、つまり、ルックアップテーブルには512個の要素があり、各要素は16ビット整数で表されるため、符号化効率に明確な利点がなくても、デコーダメモリコストが増えすぎる。さらに、CCLMとLICの概念は似ているが、線形モデルのパラメータaおよびbを導出するために異なる方法を使用しているため、望ましくない。
【0035】
現在VTM3.0では、32×32クロマブロックなどの大きなブロックの場合、指定された隣接領域の64個のサンプルを使用して最大値および最小値が計算され、これにより、符号化効率に明確な利点がなくても、デコーダの複雑さが増す。
【0036】
現在VTM3.0では、64×64ブロックなどの大きなブロックの場合、指定された隣接領域の64個のサンプルを使用して線形モデルパラメータaおよびbが計算され、これにより、符号化効率に明確な利点がなくても、デコーダの複雑さが増す。
【発明の概要】
【課題を解決するための手段】
【0037】
ビデオシーケンスを符号化または復号するための方法は、クロスコンポーネント線形モデル(CCLM)をビデオシーケンスに適用するステップと、クロスコンポーネント線形モデル(CCLM)において補間フィルタを適用するステップとを含むことがあり、補間フィルタは、ビデオシーケンスのYUVフォーマットに依存し得る。
【0038】
本開示の一態様によれば、上記の方法において、クロスコンポーネント線形モデル(CCLM)において補間フィルタを適用する際に、方法は、ビデオシーケンスのYUVフォーマットに依存する補間フィルタのタップを使用するステップをさらに含む。
【0039】
本開示の本態様によれば、方法は、ビデオシーケンスのYUVフォーマットと同じフォーマットである、クロスコンポーネント線形モデル(CCLM)で使用される補間フィルタのタップを使用するステップをさらに含む。
【0040】
本開示の一態様によれば、上記の方法において、クロスコンポーネント線形モデル(CCLM)において補間フィルタを適用する際に、方法は、ビデオシーケンスが4:4:4:または4:2:2のYUVフォーマットを含む場合、補間フィルタのフォーマットがビデオシーケンスのフォーマットと同じになるように設定するステップをさらに含み得、ビデオシーケンスが4:2:0のYUVフォーマットを含む場合、補間フィルタのフォーマットがビデオシーケンスのフォーマットとは異なるように設定するステップを含み得る。
【0041】
本開示の一態様によれば、上記の方法において、クロスコンポーネント線形モデル(CCLM)において補間フィルタを適用する際に、方法は、ビデオシーケンスの様々なYUVフォーマットに対して異なる補間フィルタのタップを使用するステップをさらに含み得る。
【0042】
本開示の一態様によれば、上記の方法において、クロスコンポーネント線形モデル(CCLM)において補間フィルタを適用する際に、この方法は、補間フィルタを、上側および左側の隣接ルーマの再構成されたサンプルに対して異なるように設定するステップをさらに含み得る。
【0043】
本開示の本態様によれば、方法は、補間フィルタを設定するステップをさらに含み得、補間フィルタは上側および左側の隣接ルーマ再構成サンプルがビデオシーケンスのYUVフォーマットに依存するように適用される。
【0044】
本開示の一態様によれば、方法は、クロスコンポーネント線形モデル(CCLM)で使用される、上側の隣接ルーマサンプルの行数および左側の隣接ルーマサンプルの列数を、ビデオシーケンスのYUVフォーマットに依存するように設定するステップをさらに含み得る。
【0045】
本開示の本態様によれば、方法は、4:4:4または4:2:2のYUVフォーマットのうちの1つを有するビデオシーケンスに対するクロスコンポーネント線形モデル(CCLM)において、上側の隣接領域の1行および/または左側の隣接領域の1列を使用するステップをさらに含み得る。
【0046】
本開示の本態様によれば、方法は、4:2:2のYUVフォーマットを有するビデオシーケンスに対するクロスコンポーネント線形モデル(CCLM)において、上側の隣接領域の1行および/または左側の隣接領域の少なくとも2つの列を使用するステップをさらに含み得る。
【0047】
本開示の一態様によれば、ビデオシーケンスを符号化または復号するためのデバイスは、プログラムコードを格納するように構成された少なくとも1つのメモリと、プログラムコードを読み取り、プログラムコードによって命令されたように動作するように構成された少なくとも1つのプロセッサであって、プログラムコードは、少なくとも1つのプロセッサにクロスコンポーネント線形モデル(CCLM)をビデオシーケンスに適用させ、クロスコンポーネント線形モデル(CCLM)において補間フィルタを適用させるように構成された第1の符号化または復号コードを含み得る、少なくとも1つのプロセッサとを含み得、補間フィルタは、ビデオシーケンスのYUVフォーマットに依存し得る。
【0048】
本開示の一態様によれば、第1の符号化または復号コードは、少なくとも1つのプロセッサに、ビデオシーケンスのYUVフォーマットに依存する、クロスコンポーネント線形モデル(CCLM)において適用される補間フィルタのタップを使用させるように構成されたコードをさらに含み得る。
【0049】
本開示の本態様によれば、第1の符号化または復号コードは、少なくとも1つのプロセッサに、ビデオシーケンスのYUVフォーマットと同じ形式である、クロスコンポーネント線形モデル(CCLM)において適用される補間フィルタのタップを使用させるように構成されたコードをさらに含み得る。
【0050】
本開示の一態様によれば、第1の符号化または復号コードは、ビデオシーケンスが4:4:4:または4:2:2のYUVフォーマットを含む場合、少なくとも1つのプロセッサに、クロスコンポーネント線形モデル(CCLM)において適用される補間フィルタのフォーマットがビデオシーケンスのフォーマットと同じになるように設定させ、ビデオシーケンスが4:2:0のYUVフォーマットを含む場合、補間フィルタのフォーマットがビデオシーケンスのフォーマットとは異なるように設定させる、ように構成されたコードをさらに含み得る。
【0051】
本開示の一態様によれば、第1の符号化または復号コードは、少なくとも1つのプロセッサに、ビデオシーケンスの様々なYUVフォーマットに対して異なる、クロスコンポーネント線形モデル(CCLM)において適用される補間フィルタのタップを使用させるように構成されたコードをさらに含み得る。
【0052】
本開示の一態様によれば、第1の符号化または復号コードは、少なくとも1つのプロセッサに、クロスコンポーネント線形モデル(CCLM)において適用される補間フィルタを、上側と左側の隣接ルーマの再構成されたサンプルに対して異なるように設定させるように構成されたコードをさらに含み得る。
【0053】
本開示の本態様によれば、第1の符号化または復号コードは、少なくとも1つのプロセッサに、上側と左側の隣接ルーマの再構成されたサンプルに適用される補間フィルタを、ビデオシーケンスのYUVフォーマットに依存するように設定させるように構成されたコードをさらに含み得る。
【0054】
本開示の一態様によれば、第1の符号化または復号コードは、少なくとも1つのプロセッサに、クロスコンポーネント線形モデル(CCLM)で使用される、上側の隣接ルーマサンプルの行数および左側の隣接ルーマサンプルの列数を、ビデオシーケンスのYUVフォーマットに依存するように設定させるように構成されたコードをさらに含み得る。
【0055】
本開示の本態様によれば、第1の符号化または復号コードは、少なくとも1つのプロセッサに、4:4:4または4:2:2のYUVフォーマットのうちの1つを有するビデオシーケンスに対するクロスコンポーネント線形モデル(CCLM)において、上側の隣接領域の1行および/または左側の隣接領域の少なくとも1列を使用させるように構成されたコードをさらに含み得る。
【0056】
本開示の一態様によれば、プログラムコードを格納する非一時的コンピュータ可読媒体が提供され得、プログラムコードは1つまたは複数の命令を含み、命令は、デバイスの1つまたは複数のプロセッサによって実行されると、1つまたは複数のプロセッサに、クロスコンポーネント線形モデル(CCLM)をビデオシーケンスに適用させ、クロスコンポーネント線形モデル(CCLM)において補間フィルタを適用させることがあり、補間フィルタは、ビデオシーケンスのYUVフォーマットに依存する。
【0057】
前述の方法、デバイス、および非一時的コンピュータ可読媒体は個別に説明されてきたが、これらの説明は、その使用の範囲または機能に関する制限を示唆することを意図するものではない。実際、これらの方法、デバイス、および非一時的コンピュータ可読媒体は、本開示の他の態様において組み合わされ得る。
【0058】
開示された主題のさらなる特徴、性質、および様々な利点は、以下の詳細な説明および添付の図面からより明らかになるであろう。
【図面の簡単な説明】
【0059】
図1】一実施形態による予測モデルの図である。
図2】一実施形態による予測モデルの図である。
図3】一実施形態によるYUVフォーマットの図である。
図4】一実施形態による異なるルーマ値の図である。
図5】一実施形態によるクロスコンポーネント線形モデリングで使用されるサンプルの図である。
図6】一実施形態によるクロスコンポーネント線形モデリングで使用されるサンプルの図である。
図7】一実施形態によるクロスコンポーネント線形モデリングで使用されるサンプルの図である。
図8】一実施形態による、マルチモデルCCLMを使用する分類の例である。
図9】一実施形態による通信システムの簡略化されたブロック図である。
図10】一実施形態によるストリーミング環境の図である。
図11】一実施形態によるビデオデコーダのブロック図である。
図12】一実施形態によるビデオエンコーダのブロック図である。
図13】一実施形態による、ビデオシーケンスを符号化または復号するための例示的なプロセスのフローチャートである。
図14】照射補償(IC)パラメータを導出するために使用される隣接サンプルの図である。
図15】実施形態による、最大および最小サンプル値を計算するために使用される、現在の符号化ユニット(CU)および現在のCUの隣接する再構成されたサンプルのサブセットの図である。
図16】実施形態による、最大および最小サンプル値を計算するために使用される、現在の符号化ユニット(CU)および現在のCUの隣接する再構成されたサンプルのサブセットの図である。
図17】実施形態による、最大および最小サンプル値を計算するために使用される、現在の符号化ユニット(CU)および現在のCUの隣接する再構成されたサンプルのサブセットの図である。
図18】実施形態による、最大および最小サンプル値を計算するために使用される、現在の符号化ユニット(CU)および現在のCUの隣接する再構成されたサンプルのサブセットの図である。
図19】実施形態による、最大および最小サンプル値を計算するために使用される、現在の符号化ユニット(CU)および現在のCUの隣接する再構成されたサンプルのサブセットの図である。
図20】実施形態による、最大および最小サンプル値を計算するために使用される、現在の符号化ユニット(CU)および現在のCUの隣接する再構成されたサンプルのサブセットの図である。
図21】実施形態による、最大および最小サンプル値を計算するために使用される、現在の符号化ユニット(CU)および現在のCUの隣接する再構成されたサンプルのサブセットの図である。
図22】実施形態による、最大および最小サンプル値を計算するために使用される、現在の符号化ユニット(CU)および現在のCUの隣接する再構成されたサンプルのサブセットの図である。
図23】実施形態による、最大および最小サンプル値を計算するために使用される、現在の符号化ユニット(CU)および現在のCUの隣接する再構成されたサンプルのサブセットの図である。
図24】実施形態による、最大および最小サンプル値を計算するために使用される、現在の符号化ユニット(CU)および現在のCUの隣接する再構成されたサンプルのサブセットの図である。
図25】実施形態による、最大および最小のサンプル値を計算するために使用される、クロマブロックおよびクロマブロックの選択された隣接サンプルの図である。
図26】実施形態による、最大および最小のサンプル値を計算するために使用される、クロマブロックおよびクロマブロックの選択された隣接サンプルの図である。
図27】実施形態によるルーマサンプル用のフィルタの位置の図である。
図28】実施形態によるルーマサンプル用のフィルタの位置の図である。
図29】実施形態による、線形モデル予測モードにおいてパラメータを計算するために使用される、現在のCUおよび現在のCUの隣接サンプル対の図である。
図30】実施形態による、線形モデル予測モードにおいてパラメータを計算するために使用される、現在のCUおよび現在のCUの隣接サンプル対の図である。
図31】実施形態による、線形モデルパラメータを計算するために使用されるブロックおよびブロックの選択された隣接サンプルの図の図である。
図32】実施形態による、線形モデルパラメータを計算するために使用されるブロックおよびブロックの選択された隣接サンプルの図の図である。
図33】実施形態による、線形モデルパラメータを計算するために使用されるブロックおよびブロックの選択された隣接サンプルの図の図である。
図34】実施形態による、線形モデルパラメータを計算するために使用されるブロックおよびブロックの選択された隣接サンプルの図の図である。
図35】実施形態による、線形モデルパラメータを計算するために使用されるブロックおよびブロックの選択された隣接サンプルの図の図である。
図36】実施形態による、線形モデルパラメータを計算するために使用されるブロックおよびブロックの選択された隣接サンプルの図の図である。
図37】一実施形態によるコンピュータシステムの図である。
【発明を実施するための形態】
【0060】
図9は、本開示の一実施形態による通信システム(400)の簡略化されたブロック図を示している。通信システム(400)は、ネットワーク(450)を介して相互接続された少なくとも2つの端末(410~420)を含み得る。データの一方向送信の場合、第1の端末(410)は、ネットワーク(450)を介して他の端末(420)に送信するために、ローカル位置でビデオデータを符号化し得る。第2の端末(420)は、ネットワーク(450)から他の端末の符号化されたビデオデータを受信し、符号化されたデータを復号し、復元されたビデオデータを表示し得る。一方向データ送信は、メディアサービング用途などで一般的であることがある。
【0061】
図9は、例えば、ビデオ会議中に発生する可能性のある符号化されたビデオの双方向送信をサポートするために提供される端末の第2の対(430、440)を示す。データの双方向送信の場合、各端末(430、440)は、ネットワーク(450)を介して他の端末に送信するために、ローカル位置でキャプチャされたビデオデータを符号化し得る。各端末(430、440)はまた、他の端末によって送信された符号化されたビデオデータを受信し、符号化されたデータを復号し、回復されたビデオデータをローカルディスプレイデバイスに表示し得る。
【0062】
図9では、端末(410~440)は、サーバ、パーソナルコンピュータ、およびスマートフォンとして示され得るが、本開示の原理は、そのように限定されない。本開示の実施形態は、ラップトップコンピュータ、タブレットコンピュータ、メディアプレーヤ、および/または専用のビデオ会議機器を用いた用途を見出す。ネットワーク(450)は、例えば、有線および/または無線通信ネットワークを含む、端末(410~440)間で符号化されたビデオデータを伝達する任意の数のネットワークを表す。通信ネットワーク(450)は、回線交換および/またはパケット交換チャネルでデータを交換し得る。代表的なネットワークには、電気通信ネットワーク、ローカルエリアネットワーク、ワイドエリアネットワーク、および/またはインターネットが含まれる。本議論の目的のために、ネットワーク(450)のアーキテクチャおよびトポロジは、本明細書で以下に説明されない限り、本開示の動作にとって重要ではないことがある。
【0063】
図10は、開示された主題の用途の例として、ストリーミング環境におけるビデオエンコーダおよびデコーダの配置を示している。開示された主題は、例えば、ビデオ会議、デジタルテレビ、CD、DVD、メモリスティックなどを含むデジタルメディアへの圧縮ビデオの保存を含む、他のビデオ対応用途に等しく適用することができる。
【0064】
ストリーミングシステムは、ビデオソース(501)、例えば、非圧縮ビデオサンプルストリーム(502)を作成する、例えば、デジタルカメラを含むことができるキャプチャサブシステム(513)を含み得る。符号化されたビデオビットストリームと比較したときにより多いデータ量を強調するために太線で示されているそのサンプルストリーム(502)は、カメラ(501)に結合されたエンコーダ(503)によって処理することができる。エンコーダ(503)は、ハードウェア、ソフトウェア、またはそれらの組み合わせを含み得、以下により詳細に説明されるように、開示された主題の態様を可能にするかまたは実施する。符号化されたビデオビットストリーム(504)は、サンプルストリームと比較してより少ないデータ量を強調するために細い線として描かれ、将来の使用のためにストリーミングサーバ(505)に格納することができる。1つまたは複数のストリーミングクライアント(506、508)は、ストリーミングサーバ(505)にアクセスして、符号化されたビデオビットストリーム(504)の複製(507、509)を取得することができる。クライアント(506)は、符号化されたビデオビットストリーム(507)の着信複製を復号し、ディスプレイ(512)または他のレンダリングデバイス(図示せず)上でレンダリングすることができる発信ビデオサンプルストリーム(511)を作成するビデオデコーダ(510)を含むことができる。一部のストリーミングシステムでは、ビデオビットストリーム(504、507、509)を特定のビデオ符号化/圧縮標準に従って符号化できる。これらの標準の例には、H.265 HEVCが含まれる。開発中のビデオ符号化標準は、非公式にVersatile Video Coding(VVC)として知られている。開示された主題は、VVCの文脈で使用され得る。
【0065】
図11は、本発明の実施形態によるビデオデコーダ(510)の機能ブロック図であり得る。
【0066】
受信機(610)は、デコーダ(610)によって復号される1つまたは複数のコーデックビデオシーケンスを受信し得、同じまたは別の実施形態では、一度に1つの符号化されたビデオシーケンスであり、各符号化されたビデオシーケンスの復号は、他の符号化されたビデオシーケンスから独立している。符号化されたビデオシーケンスは、チャネル(612)から受信し得、チャネル(612)は、符号化されたビデオデータを格納するストレージデバイスへのハードウェア/ソフトウェアリンクであり得る。受信機(610)は、それぞれの使用エンティティ(図示せず)に転送され得る他のデータ、例えば、符号化されたオーディオデータおよび/または補助データストリームと共に符号化されたビデオデータを受信し得る。受信機(610)は、符号化されたビデオシーケンスを他のデータから分離し得る。ネットワークジッタに対抗するために、バッファメモリ(615)を、受信機(610)とエントロピーデコーダ/パーサー(620)(以下、「パーサー」)との間に結合し得る。受信機(610)が十分な帯域幅および制御可能性の格納/転送デバイスから、またはアイソシンクロナスネットワークからデータを受信しているとき、バッファ(615)は必要ないか、または小さくてよい。インターネットなどのベストエフォートパケットネットワークで使用するために、バッファ(615)が必要とされることがあり、比較的大きくすることができ、有利に適応サイズにし得る。
【0067】
ビデオデコーダ(510)は、エントロピー符号化されたビデオシーケンスからシンボル(621)を再構成するためのパーサー(620)を含み得る。これらのシンボルのカテゴリには、図11に示すように、デコーダ(510)の動作を管理するために使用される情報と、デコーダの不可欠な部分ではないが、デコーダに結合できるディスプレイ(512)などのレンダリングデバイスを制御するための情報とが含まれることがある。レンダリングデバイス(複数可)の制御情報は、Supplementary Enhancement Information(SEIメッセージ)またはVideo Usability Information(VUI)パラメータセットフラグメント(図示せず)の形式であることがある。パーサー(620)は、受信した符号化されたビデオシーケンスを解析/エントロピー復号し得る。符号化されたビデオシーケンスの符号化は、ビデオ符号化技術または標準に従うことができ、可変長符号化、ハフマン符号化、文脈依存の有無にかかわらず算術符号化などを含む当業者に周知の原則に従うことができる。パーサー(620)は、グループに対応する少なくとも1つのパラメータに基づいて、符号化されたビデオシーケンスから、ビデオデコーダ内の画素のサブグループの少なくとも1つのサブグループパラメータのセットを抽出し得る。サブグループには、ピクチャグループ(GOP)、ピクチャ、タイル、スライス、マクロブロック、符号化ユニット(CU)、ブロック、変換ユニット(TU)、予測ユニット(PU)などを含めることができる。エントロピーデコーダ/パーサーはまた、変換係数、量子化パラメータ(QP)値、動きベクトルなどの符号化されたビデオシーケンス情報から抽出し得る。
【0068】
パーサー(620)は、バッファ(615)から受信したビデオシーケンスに対してエントロピー復号/構文解析動作を実行して、シンボル(621)を作成し得る。パーサー(620)は、符号化されたデータを受信し、特定のシンボル(621)を選択的に復号し得る。さらに、パーサー(620)は、特定のシンボル(621)が動き補償予測ユニット(653)、スケーラ/逆変換ユニット(651)、イントラ予測ユニット(652)、またはループフィルタユニット(658)に提供されるべきか決定し得る。
【0069】
シンボル(621)の再構成は、符号化されたビデオピクチャまたはその一部(ピクチャ間およびイントラピクチャ、ブロック間およびイントラブロックなど)のタイプ、および他の要因に応じて、複数の異なるユニットを含むことができる。どのユニットがどのように関与するかは、パーサー(620)によって符号化されたビデオシーケンスから解析されたサブグループ制御情報によって制御することができる。パーサー(620)と以下の複数のユニットとの間のそのようなサブグループ制御情報の流れは、明確にするために描かれていない。
【0070】
すでに述べた機能ブロックを超えて、デコーダ(510)は、以下に説明するように、概念的にいくつかの機能ユニットに細分することができる。商業的制約の下で動作する実際の実装では、これらのユニットの多くは互いに密接に相互作用し、少なくとも部分的には互いに統合することができる。しかしながら、開示された主題を説明するために、以下の機能ユニットへの概念的な細分化が適切である。
【0071】
第1のユニットはスケーラ/逆変換ユニット(651)である。スケーラ/逆変換ユニット(651)は、量子化された変換係数、ならびに使用する変換、ブロックサイズ、量子化因子、量子化スケーリングマトリクスなどを含む制御情報を、パーサー(620)からシンボル(621)として受け取る。スケーラ/逆変換ユニットは、集約装置(655)に入力できるサンプル値を含むブロックを出力できる。
【0072】
場合によっては、スケーラ/逆変換(651)の出力サンプルは、イントラ符号化されたブロックに関係することができ、つまり、以前に再構成されたピクチャからの予測情報を使用していないが、現在のピクチャの以前に再構成された部分からの予測情報を使用できるブロックである。そのような予測情報は、イントラピクチャ予測ユニット(652)によって提供することができる。場合によっては、イントラピクチャ予測ユニット(652)は、現在の(部分的に再構成された)ピクチャ(656)からフェッチされた周囲のすでに再構成された情報を使用して、再構成中のブロックと同じサイズおよび形状のブロックを生成する。集約装置(655)は、場合によっては、サンプルごとに、イントラ予測ユニット(652)が生成した予測情報を、スケーラ/逆変換ユニット(651)によって提供される出力サンプル情報に追加する。
【0073】
他の場合では、スケーラ/逆変換ユニット(651)の出力サンプルは、インターコードされ、潜在的に動き補償されたブロックに関係し得る。このような場合、動き補償予測ユニット(653)は、参照ピクチャメモリ(657)にアクセスして、予測に使用されるサンプルをフェッチすることができる。ブロックに関連するシンボル(621)に従ってフェッチされたサンプルを動き補正した後、これらのサンプルは、出力サンプル情報を生成するために、集約装置(655)によってスケーラ/逆変換ユニットの出力に追加できる(この場合、残差サンプルまたは残差信号と呼ばれる)。動き補償ユニットが予測サンプルをフェッチする参照ピクチャメモリフォーム内のアドレスは、動きベクトルによって制御することができ、例えば、X、Y、および参照ピクチャ成分を有することができるシンボル(621)の形式で動き補償ユニットに利用可能である。動き補償はまた、サブサンプルの正確な動きベクトルが使用されているときに参照ピクチャメモリからフェッチされたサンプル値の補間、動きベクトル予測機構などを含むことができる。
【0074】
集約装置(655)の出力サンプルは、ループフィルタユニット(658)において様々なループフィルタリング技術の対象となり得る。ビデオ圧縮技術は、符号化されたビデオビットストリームに含まれるパラメータによって制御され、パーサー(620)からのシンボル(621)としてループフィルタユニット(658)に利用可能になるインループフィルタ技術を含むことができるが、符号化されたピクチャまたは符号化されたビデオシーケンスの前の(復号順で)部分の復号中に取得されたメタ情報に応答することができ、以前に再構成およびループフィルタリングされたサンプル値に応答することもできる。
【0075】
ループフィルタユニット(658)の出力は、レンダリングデバイス(512)に出力され得るだけでなく、将来のピクチャ間予測で使用するために参照ピクチャメモリ(656)に格納され得るサンプルストリームであり得る。
【0076】
特定の符号化されたピクチャは、完全に再構成されると、将来の予測のための参照ピクチャとして使用できる。符号化されたピクチャが完全に再構成され、(例えば、パーサー(620)によって)符号化されたピクチャが参照ピクチャとして識別されると、現在の参照ピクチャ(656)は、参照ピクチャバッファ(657)の一部になることができ、次の符号化されたピクチャの再構成を開始する前に、新しい現在のピクチャメモリを再割り当てすることができる。
【0077】
ビデオデコーダ(510)は、H.265 HEVCなどの標準に文書化され得る所定のビデオ圧縮技術に従って復号動作を実行し得る。符号化されたビデオシーケンスは、ビデオ圧縮技術のドキュメントまたは標準、特にその中のプロファイル文書に指定されているように、ビデオ圧縮技術または標準のシンタックスに準拠しているという意味で、使用されているビデオ圧縮技術または標準によって指定されているシンタックスに準拠していることがある。また、コンプライアンスのために必要なのは、符号化されたビデオシーケンスの複雑さが、ビデオ圧縮技術または標準のレベルによって定義された範囲内にあることである。場合によっては、レベルによって、最大ピクチャサイズ、最大フレームレート、最大再構成サンプルレート(例えば、1秒あたりのメガサンプル数で測定)、最大参照ピクチャサイズなどが制限される。レベルによって設定される制限は、場合によっては、ハイポセティカルリファレンスデコーダ(HRD)仕様と、符号化されたビデオシーケンスにおいて伝えられるHRDバッファ管理のメタデータによってさらに制限されることがある。
【0078】
一実施形態では、受信機(610)は、符号化されたビデオと共に追加の(冗長な)データを受信し得る。追加のデータは、符号化されたビデオシーケンスの一部として含まれることがある。追加のデータは、データを適切に復号するため、および/または元のビデオデータをより正確に再構成するために、ビデオデコーダ(510)によって使用され得る。追加のデータは、例えば、時間的、空間的、または信号対雑音比(SNR)強化層、冗長スライス、冗長ピクチャ、順方向エラー訂正コードなどの形式をとることができる。
【0079】
図12は、本開示の一実施形態によるビデオエンコーダ(503)の機能ブロック図であり得る。
【0080】
エンコーダ(503)は、エンコーダ(503)によって符号化されるビデオ画像をキャプチャし得るビデオソース(501)(エンコーダの一部ではない)からビデオサンプルを受信し得る。
【0081】
ビデオソース(501)は、任意の適切なビット深度(例えば、8ビット、10ビット、12ビット、…)、任意の色空間(例えば、BT.601 Y CrCB、RGB、…)、および任意の適切なサンプリング構造(例えば、Y CrCb 4:2:0、Y CrCb 4:4:4)であり得るデジタルビデオサンプルストリームの形式で、エンコーダ(503)によって符号化されるソースビデオシーケンスを提供し得る。メディアサービングシステムでは、ビデオソース(501)は、以前に準備されたビデオを記憶する記憶装置であり得る。ビデオ会議システムでは、ビデオソース(503)は、ローカル画像情報をビデオシーケンスとしてキャプチャするカメラであり得る。ビデオデータは、順番に見たときに動きを与える複数の個別のピクチャとして提供し得る。ピクチャ自体は、画素の空間配列として編成することができ、各画素は、使用中のサンプリング構造、色空間などに応じて、1つまたは複数のサンプルを含むことができる。当業者は、画素とサンプルとの間の関係を容易に理解することができる。以下の説明はサンプルに焦点を当てている。
【0082】
一実施形態によれば、エンコーダ(503)は、リアルタイムで、または用途によって要求される他の任意の時間制約の下で、ソースビデオシーケンスのピクチャを符号化されたビデオシーケンス(743)に符号化および圧縮し得る。適切な符号化速度を強制することは、コントローラ(750)の1つの機能である。コントローラ(750)は、以下に説明するように他の機能ユニットを制御し、これらのユニットに機能的に結合されている。明確にするために、結合は描かれていない。コントローラによって設定されるパラメータには、レート制御関連のパラメータ(ピクチャスキップ、量子化器、レート歪み最適化手法のラムダ値など)、ピクチャサイズ、ピクチャグループ(GOP)レイアウト、最大動きベクトル検索範囲などが含まれ得る。当業者は、特定のシステム設計用に最適化されたビデオエンコーダ(503)に関係し得るので、コントローラ(750)の他の機能を容易に識別し得る。
【0083】
一部のビデオエンコーダは、当業者が「符号化ループ」として容易に認識するもので動作する。過度に単純化された説明として、符号化ループは、エンコーダ(730)の符号化部分(以下、「ソースコーダ」)(符号化される入力ピクチャおよび参照ピクチャに基づいてシンボルを作成する役割を担う)と、(リモート)デコーダもまた作成するサンプルデータを作成するためにシンボルを再構成するエンコーダ(503)に埋め込まれた(ローカル)デコーダ(733)とから構成されることができる(シンボルと符号化されたビデオビットストリームとの間の圧縮は開示された主題で考慮されるビデオ圧縮技術において損失がないため)。その再構成されたサンプルストリームは、参照ピクチャメモリ(734)に入力される。シンボルストリームの復号により、デコーダの位置(ローカルまたはリモート)に関係なくビットイグザクト(bit-exact)結果が得られるため、参照ピクチャバッファの内容もまたローカルエンコーダとリモートエンコーダとの間でビットイグザクトになる。言い換えると、エンコーダの予測部分は、復号中に予測を使用するときにデコーダが「見る」のとまったく同じサンプル値を参照ピクチャサンプルとして「見る」。参照ピクチャの同期性(および、例えばチャネルエラーのために同期性を維持できない場合に生じるドリフト)のこの基本原理は、当業者によく知られている。
【0084】
「ローカル」デコーダ(733)の動作は、「リモート」デコーダ(510)の動作と同じであり得、これは、図10に関連して上記で詳細に説明されている。しかしながら、図10も簡単に参照すると、シンボルが利用可能であり、エントロピーコーダ(745)およびパーサー(620)による符号化されたビデオシーケンスへのシンボルの符号化/復号は無損失であり得、チャネル(612)、受信機(610)、バッファ(615)およびパーサー(620)を含むデコーダ(510)のエントロピー復号部分は、ローカルデコーダ(733)に完全に実装されていないことがある。
【0085】
この時点で行うことができる観察は、デコーダに存在する解析/エントロピー復号以外のデコーダ技術も、対応するエンコーダにおいて、実質的に同一の機能形式で必ず存在する必要があるということである。エンコーダ技術の説明は、包括的に説明されているデコーダ技術の逆であるため、省略できる。特定の領域でのみ、より詳細な説明が必要であり、以下に提供される。
【0086】
その動作の一部として、ソースコーダ(730)は、動き補償予測符号化を実行することがあり、これは、「参照フレーム」として指定されたビデオシーケンスからの1つまたは複数の以前に符号化されたフレームを参照して入力フレームを予測的に符号化する。このようにして、符号化エンジン(732)は、入力フレームの画素ブロックと、入力フレームへの予測参照として選択され得る参照フレームの画素ブロックとの間の差異を符号化する。
【0087】
ローカルビデオデコーダ(733)は、ソースコーダ(730)によって作成されたシンボルに基づいて、参照フレームとして指定され得るフレームの符号化されたビデオデータを復号し得る。符号化エンジン(732)の動作は、有利には、損失性プロセスであり得る。符号化されたビデオデータがビデオデコーダ(図11には示されていない)で復号され得る場合、再構成されたビデオシーケンスは、通常、いくつかのエラーを伴うソースビデオシーケンスのレプリカであり得る。ローカルビデオデコーダ(733)は、参照フレーム上でビデオデコーダによって実行され得る復号プロセスを複製し、再構成された参照フレームを参照ピクチャキャッシュ(734)に格納させ得る。このようにして、エンコーダ(503)は、遠端ビデオデコーダによって取得される再構成された参照フレームとして共通の内容を有する再構成された参照フレームの複製をローカルに格納し得る(送信エラーがない)。
【0088】
予測子(735)は、符号化エンジン(732)の予測検索を実行し得る。すなわち、符号化される新しいフレームに対して、予測子(735)は、サンプルデータ(候補参照画素ブロックとして)または新しいピクチャの適切な予測参照として役立ち得る参照ピクチャ動きベクトル、ブロック形状などの特定のメタデータについて、参照ピクチャメモリ(734)を検索し得る。予測子(735)は、適切な予測参照を見つけるために、画素ブロックごとに1つのサンプルブロックで動作し得る。場合によっては、予測子(735)によって取得された検索結果によって決定されるように、入力ピクチャは、参照ピクチャメモリ(734)に格納された複数の参照ピクチャから引き出された予測参照を有し得る。
【0089】
コントローラ(750)は、例えば、ビデオデータを符号化するために使用されるパラメータおよびサブグループパラメータの設定を含む、ビデオコーダ(730)の符号化動作を管理し得る。
【0090】
前述のすべての機能ユニットの出力は、エントロピーコーダ(745)でエントロピー符号化を受けることがある。エントロピーコーダは、例えばハフマン符号化、可変長符号化、算術符号化などの当業者に知られている技術に従ってシンボルを無損失圧縮することにより、様々な機能ユニットによって生成された記号を符号化されたビデオシーケンスに変換する。
【0091】
送信機(740)は、エントロピーコーダ(745)によって作成された符号化されたビデオシーケンスをバッファリングして、通信チャネル(760)を介した送信のためにそれを準備し得、通信チャネル(760)は、符号化されたビデオデータを格納する記憶装置へのハードウェア/ソフトウェアリンクであり得る。送信機(740)は、ビデオコーダ(730)からの符号化されたビデオデータを、送信される他のデータ、例えば、符号化されたオーディオデータおよび/または補助データストリーム(ソースは図示せず)とマージし得る。
【0092】
コントローラ(750)は、エンコーダ(503)の動作を管理し得る。符号化中に、コントローラ(750)は、それぞれの符号化されたピクチャに特定の符号化されたピクチャタイプを割り当てることがあり、これは、それぞれのピクチャに適用され得る符号化技術に影響を及ぼし得る。例えば、ピクチャは多くの場合、次のフレームタイプのいずれかとして割り当てられ得る。
【0093】
イントラピクチャ(Iピクチャ)は、予測のソースとしてシーケンス内の他のフレームを使用せずに符号化および復号され得るものであり得る。一部のビデオコーデックでは、例えばIndependent Decoder Refresh Pictureなど、様々なタイプのイントラピクチャを使用できる。当業者は、Iピクチャのこれらの変形およびそれらのそれぞれの用途および特徴を知っている。
【0094】
予測ピクチャ(Pピクチャ)は、各ブロックのサンプル値を予測するために最大1つの動きベクトルおよび参照インデックスを使用するイントラ予測またはインター予測を使用して符号化および復号され得るものであり得る。
【0095】
双方向予測ピクチャ(Bピクチャ)は、各ブロックのサンプル値を予測するために最大2つの動きベクトルおよび参照インデックスを使用するイントラ予測またはインター予測を使用して符号化および復号され得るものであり得る。同様に、複数の予測ピクチャは、単一ブロックの再構成のために3つ以上の参照ピクチャおよび関連するメタデータを使用できる。
【0096】
ソースピクチャは、一般に、空間的に複数のサンプルブロック(例えば、それぞれ4×4、8×8、4×8、または16×16サンプルのブロック)に細分され、ブロックごとに符号化され得る。ブロックは、ブロックのそれぞれのピクチャに適用される符号化割り当てによって決定されるように、他の(すでに符号化された)ブロックを参照して予測的に符号化し得る。例えば、Iピクチャのブロックは、非予測的に符号化され得るか、または同じピクチャのすでに符号化されたブロックを参照して予測的に符号化され得る(空間予測またはイントラ予測)。Pピクチャの画素ブロックは、空間予測を介して、または以前に符号化された1つの参照ピクチャを参照する時間予測を介して、非予測的に符号化され得る。Bピクチャのブロックは、空間予測を介して、または以前に符号化された1つまたは2つの参照ピクチャを参照する時間予測を介して、非予測的に符号化され得る。
【0097】
ビデオコーダ(503)は、H.265 HEVCなどの所定のビデオ符号化技術または標準に従って符号化動作を実行し得る。その動作において、ビデオコーダ(503)は、入力ビデオシーケンスにおける時間的および空間的冗長性を利用する予測符号化動作を含む、様々な圧縮動作を実行し得る。したがって、符号化されたビデオデータは、使用されているビデオ符号化技術または標準によって指定されたシンタックスに準拠していることがある。
【0098】
一実施形態では、送信機(740)は、符号化されたビデオと共に追加のデータを送信し得る。ビデオコーダ(730)は、符号化されたビデオシーケンスの一部としてそのようなデータを含み得る。追加データは、時間的/空間的/SNRエンハンスメント層、冗長なピクチャおよびスライスなどの他の形式の冗長データ、補足強化情報(SEI)メッセージ、視覚的有用性情報(VUI)パラメータセットフラグメントなどを含み得る。
【0099】
本開示は、クロスコンポーネント線形モデル予測モードの様々な方法を対象としている。
【0100】
上記のように、この用途では、CCLMは、LT_CCLM、T_CCLM、L_CCLM、MMLM、LT_MMLM、L_MMLM、T_MMLMなどのクロスコンポーネント線形モデルの任意の変形を指すことがある。さらに、この用途では、平滑化フィルタは、奇数のタップを有する線形フィルタとして定義することがあり、そのフィルタ係数は対称であり得る。例えば、3タップフィルタ[1、2、1]と5タップフィルタ[1、3、8、3、1]はどちらも平滑化フィルタである。補間フィルタは、整数位置サンプルを使用して小数位置サンプルを生成する線形フィルタとして定義し得る。
【0101】
CCLMに使用される補間フィルタは、指定された領域内の隣接ルーマ再構成サンプルのサブセットに適用され得ることが提案されている。
【0102】
一態様では、指定された隣接サンプル領域は、L_CCLMおよびL_MMLMに使用される左側の隣接サンプル領域、またはT_CCLMおよびT_MMLMに使用される上側の隣接サンプル領域、またはLT_CCLMおよびLT_MMLMに使用される上側および左側の隣接サンプル領域であり得る。
【0103】
別の態様では、指定された領域で再構成されたルーマサンプルを直接使用して、最大値および最小値を見つけ得る。最大および最小のルーマサンプル値を取得した後、補間(または平滑化)フィルタはこれらの2つのサンプルに(例えば単に)適用され得る。
【0104】
別の態様では、最大および最小ルーマサンプル値を取得した後、クロマ隣接サンプル領域内の最小および最大ルーマサンプルの同一位置にある位置を、それぞれ(x_min,y_min)および(x_max,y_max)として記録し得、ダウンサンプルフィルタは、位置(x_min,y_min)および(x_max,y_max)を有するクロマサンプルの同一位置にあるルーマサンプルに適用され得る。
【0105】
別の態様では、4:2:0 YUVフォーマットの場合、ダウンサンプルフィルタは以下のように適用され得る:以下の式の(x,y)は(x_min,y_min)または(x_max,y_max)に置き換えられ得る:
【0106】
【数5】
【0107】
は、ダウンサンプリングされたルーマサンプル値を示し、
【0108】
【数6】
【0109】
は、指定された隣接位置(k・x,k・y)に構築されたルーマサンプルを示し、kは、1、2、3または4などの正の整数であり得る。
【0110】
【数7】
【0111】
別の態様では、4:2:0 YUVフォーマットの場合、位置(x,y)を有する1つのクロマサンプルに対するルーマサンプル領域内の同一位置は、以下の6つの位置(k*x,k*y)、(k*x-1,k*y)、(k*x+1,k*y)、(k*x-1,k*y+1)、(k*x,k*y+1)および(k*x+1,k*y+1)のいずれかであり得る。kは1、2、3または4などの正の整数である。
【0112】
別の態様では、4:4:4および4:2:2 YUVフォーマットの場合、上記の補間フィルタはここで使用され得る。
【0113】
別の態様では、指定された領域で再構成されたルーマサンプルを直接使用して、最大値および最小値を見つけ得る。
【0114】
別の態様では、LT_CCLMモードの場合、最大値および最小値を見つけるために、第1の上側参照行(図6(A)~図6(B)に示される)および第2の左側参照列(図7A図7Bに示される)の隣接ルーマサンプルは直接使用され得る。
【0115】
別の態様では、LT_CCLMモードの場合、最大値および最小値を見つけるために、第1および第2の上側参照行(図6(A)~図6(B)に示される)の隣接ルーマサンプルの半分と、第2の左側参照列(図7(A)~図7(B)に示される)のサンプルとは直接使用され得る。
【0116】
別の態様では、T_CCLMモードの場合、最大値および最小値を見つけるために、第1の上側参照行の隣接ルーマサンプルは直接使用され得る。
【0117】
別の態様では、T_CCLMモードの場合、最大値および最小値を見つけるために、第1および第2の上側参照行の隣接ルーマサンプルの半分は直接使用され得る。
【0118】
別の態様では、L_CCLMモードの場合、最大値および最小値を見つけるために、第2の左側参照列の隣接ルーマサンプルは直接使用され得る。
【0119】
別の態様では、隣接するルーマサンプルの一部に(例えば、該サンプルの一部にのみに)補間フィルタが使用される場合、現在のCCLMで使用されるものとは異なるダウンサンプリングフィルタ、すなわち、6タップ[1,2,1;1,2,1]/8フィルタは適用され得る。例えば、10タップフィルタは[1,4,6,4,1;1,4,6,4,1]/16であり得る。
【0120】
別の態様では、ダウンサンプリングフィルタは、8タップフィルタであり得、第1の(現在のブロックに最も近い)参照行(図6A図6Bに示される)におけるフィルタタップの数は、他の(現在のブロックに遠い)参照列(図7A図7Bに示すように)とは異なり得る。例えば、8タップフィルタは[1,2,1;1,2,6,2,1]/16であり得、第1の参照行(または列)のフィルタタップ数は5であり得るのに対し、第2の参照行(または列)のタップ数は3であり得る。
【0121】
別の態様では、指定された領域で再構成されたクロマサンプルを使用して、最大値および最小値を見つけ得ることが提案されている。
【0122】
一態様では、最大および最小のクロマサンプル値を取得した後、補間(または平滑化)フィルタは、これらの2つのクロマサンプルの同一位置にあるルーマサンプル(例えば、該ルーマサンプルのみ)に適用され得る。例えば、4:2:0 YUVフォーマットの場合、上記の補間(または平滑化)フィルタは使用され得る。別の例として、4:2:0 YUVフォーマットの場合、上記の位置(x,y)を有する1つのクロマサンプルの同一位置にある位置はここで使用され得る。さらに別の例では、4:4:4および4:2:2 YUVフォーマットの場合、以下の説明の補間フィルタはここで使用され得る。
【0123】
一態様によれば、CCLMで使用される補間フィルタ(または平滑化フィルタ)は、4:4:4、4:2:2、または4:2:0のYUVフォーマットなどのYUVフォーマットに依存し得ることが提案されている。
【0124】
図13は、ビデオシーケンスを符号化または復号するための例示的なプロセス(800)のフローチャートである。いくつかの実装形態では、図13の1つまたは複数のプロセスブロックは、デコーダ(510)によって実行され得る。いくつかの実装形態では、図13の1つまたは複数のプロセスブロックは、エンコーダ(503)などのデコーダ(510)とは別の、またはそれを含む別のデバイスまたはデバイスのグループによって実行され得る。
【0125】
図13に示されるように、プロセス(800)は、ビデオシーケンス(810)を符号化または復号することを含み得る。
【0126】
図13にさらに示されるように、プロセス(800)は、クロスコンポーネント線形モデル(CCLM)をビデオシーケンス(820)に適用することをさらに含み得る。
【0127】
図13にさらに示されるように、プロセス(800)は、クロスコンポーネント線形モデル(CCLM)において補間フィルタを適用することをさらに含み得、補間フィルタは、ビデオシーケンス(830)のYUVフォーマットに依存する。
【0128】
図13は、プロセス(800)の例示的なブロックを示すが、いくつかの実装形態では、プロセス(800)は、図13に示されるものの追加のブロック、より少ないブロック、異なるブロック、または異なる配置のブロックを含み得る。さらに、または代わりに、プロセス(800)の2つ以上のブロックを並行して実行し得る。
【0129】
別の態様によれば、CCLMで使用される補間(または平滑化)フィルタのタップは、YUVフォーマットに依存し得る。
【0130】
別の態様では、CCLMで使用される補間(または平滑化)フィルタのタップは、同じYUVフォーマットに対して同じであり得る。例えば、CCLMで使用される補間フィルタのタップは、4:2:0 YUVフォーマットの場合と同じであり得る。
【0131】
別の態様では、4:4:4および4:2:2 YUVフォーマットの補間または平滑化フィルタは同じであるが、4:2:0 YUVフォーマットのフィルタとは異なる。例えば、3タップ(1,2,1)フィルタは4:4:4および4:2:2 YUVフォーマットに使用され得るが、6タップ(1,2,1;1,2,1)フィルタは4:2:0 YUVフォーマットに使用され得る。別の例として、4:4:4および4:2:2 YUVフォーマットにはダウンサンプル(または平滑化)フィルタは使用されないことがあるが、6タップ(1,2,1,1,2,1)または3タップ(1,2,1)フィルタは、4:2:0 YUVフォーマットに使用され得る。
【0132】
別の態様によれば、CCLMで使用される補間(または平滑化)フィルタのタップは、様々なYUVフォーマットに対して異なることがある。例えば、5タップ(1,1,4,1,1)フィルタは4:4:4 YUVフォーマットに使用され得、(1,2,1)フィルタは4:2:2 YUVフォーマットに使用され得、6タップ(1,2,1,1,2,1)フィルタは4:2:0 YUVフォーマットに使用され得る。
【0133】
別の態様では、補間(または平滑化)フィルタは、再構成されたサンプルの上側および左側の隣接するルーマに対して異なることがある。
【0134】
別の態様によれば、上側および左側の隣接ルーマ再構成サンプルの補間(または平滑化)フィルタは、YUVフォーマットに依存し得る。
【0135】
別の態様によれば、4:2:2 YUVフォーマットの場合、補間(または平滑化)フィルタは、上側と左側の隣接サンプルで異なることがある。例えば、4:2:2 YUVフォーマットの場合、(1,2,1)フィルタは上側の隣接ルーマサンプルに適用されることがあり、補間(または平滑化)フィルタは左側の隣接ルーマサンプルには適用されないことがある。
【0136】
別の態様によれば、CCLMで使用される上側の隣接ルーマサンプルの行数および左側の隣接ルーマサンプルの列数は、YUVフォーマットに依存し得る。例えば、4:4:4 YUVまたは4:2:2 YUVフォーマットでは、上側の隣接領域の1行および/または左側の隣接領域の1列のみを使用し得る。別の例として、上側の隣接領域の1行および/または左側の隣接領域の3(または2)列を4:2:2 YUVフォーマットに使用し得る。
【0137】
別の態様では、また、diff_Yで表される、指定された隣接サンプル領域内の最大と最小のルーマサンプル値の絶対差が非一様量子化され、ルックアップテーブル(LUT)のサイズが縮小されるようにCCLM LUTのエントリインデックスを指定するために、絶対差の量子化値が使用され得ることも提案される。diff_Yの範囲を2つの間隔に分割し得、diff_YがThres_1という名前の閾値以下の場合、Step_Aという名前の1つのステップサイズが使用され得る。それ以外の場合は、Step_Bという名前の別のステップサイズが使用され得る。したがって、CCLMのパラメータaは次のように取得し得る:
【0138】
【数8】
【0139】
ここで、この態様では、Thres_1は64に等しく設定され得、Step_Aは1に等しく設定され得、Step_Bは8に等しく設定され得る。
【0140】
次に、VVC草案3の8.2.4.2.8項に加えて、修正されたCCLMパラメータ導出プロセスについて説明する。
【0141】
別の態様によれば、直前の式において、変数a、b、およびkは、以下のように導出され得る:
-numSampLが0に等しく、numSampTが0に等しい場合、以下が適用される:
k=0
a=0
b=1<<(BitDepthC-1)
-それ以外の場合は、以下が適用される:
シフト=(BitDepthC>8)?BitDepthC-9:0
add=shift?1<<(shift-1):0
diff=(maxY-minY+add)>>shift
k=16
-diffが0より大きい場合、以下が適用される:
diff=(diff>64)?(56+(diff>>3)):diff
a=((maxC-minC)*g_aiLMDivTableHigh[diff-1]+add)>>shift
-それ以外の場合は、以下が適用される:
a=0
b=minC-((a*minY)>>k)
【0142】
ここで、予測サンプルpredSamples[x][y]with x=0..nTbW-1,y=0..nTbH-1は、次のように導出し得る:
predSamples[x][y]=Clip1C(((pDsY[x][y]*a)>>k)+b)
【0143】
さらに、簡略化されたCCLMルックアップテーブルを以下に示す:
int g_aiLMDivTableHigh[]={
65536,32768,21845,16384,13107,10922,9362,8192,7281,6553,5957,5461,5041,4681,4369,4096,
3855,3640,3449,3276,3120,2978,2849,2730,2621,2520,2427,2340,2259,2184,2114,2048,
1985,1927,1872,1820,1771,1724,1680,1638,1598,1560,1524,1489,1456,1424,1394,1365,
1337,1310,1285,1260,1236,1213,1191,1170,1149,1129,1110,1092,1074,1057,1040,1024,
910,819,744,682,630,585,546,512,481,455,431,409,390,372,356,341,
327,315,303,292,282,273,264,256,248,240,234,227,221,215,210,204,
199,195,190,186,182,178,174,170,167,163,160,157,154,151,148,146,
143,141,138,136,134,132,130,128,};
【0144】
実施形態では、また、diff_Yで表される、指定された隣接サンプル領域内の最大と最小のルーマサンプル値の絶対差が非一様量子化され、ルックアップテーブル(LUT)のサイズが縮小されるようにCCLM LUTのエントリインデックスを指定するために、絶対差の量子化値が使用される。
【0145】
例えば、指定された隣接サンプル領域は、L_CCLMおよびL_MMLMに使用される左側の隣接サンプル領域、またはT_CCLMおよびT_MMLMに使用される上側の隣接サンプル領域、またはTL_CCLMおよびTL_MMLMに使用される上側および左側の隣接サンプル領域であり得る。
【0146】
別の例では、diff_Yの範囲は複数の間隔に分割され、異なる量子化ステップサイズが異なる間隔で使用される。第1の実施形態では、diff_Yの範囲を2つの間隔に分割し、diff_YがThres_1という名前の閾値以下の場合、Step_Aという名前の1つのステップサイズが使用される。それ以外の場合は、Step_Bという名前の別のステップサイズが使用され得る。したがって、CCLMのパラメータaは次のように取得し得る:
【0147】
【数9】
【0148】
Thres_1、Step_AおよびStep_Bのそれぞれは、1、2、3、4などの任意の正の整数にすることができる。Step_AとStep_Bは等しくない。例では、Thres_1は32、48、または64に等しく設定されている。別の例では、Thres_1は64に等しく設定され、Step_Aは1に等しく設定され、Step_Bは8に等しく設定される。別の例では、Thres_1は64に等しく設定され、Step_Aは2(または1)に等しく設定され、Step_Bは8(または4)に等しく設定される。別の例では、Step_Aの値がStep_Bの値よりも小さい。
【0149】
第2の実施形態では、diff_Yの範囲は、2つの閾値、つまりThres_1とThres_2によって3つの間隔に分割される。diff_YがThres_1以下の場合、1つのステップサイズ、つまりStep_Aが使用され、それ以外の場合、diff_YがThres_2以下の場合、別のステップサイズ、つまりStep_Bが使用され:それ以外の場合は、第3のステップサイズ、つまりStep_Cが使用される。Thres_1、Thres_2、Step_A、Step_B、およびStep_Cはそれぞれ、1、2、3、4などの任意の正の整数にすることができる。Thres_1はThres_2よりも小さい。Step_A、Step_B、およびStep_Cは等しくない。例では、Thres_1とThres_2はそれぞれ64および256に等しく設定されている。別の例では、Step_A、Step_B、およびStep_Cは、それぞれ2(または1)に等しく、8(または4)に等しく、および32(または16)に等しく設定される。
【0150】
第3の実施形態では、間隔(Thres_1およびThres_2など)を指定するために使用される閾値は、2の累乗、例えば、2、4、8、16、32、64、128、256、512、1024である。
【0151】
さらなる実施形態では、LICは、CCLMの最大最小法を再利用して、パラメータaおよびbを導出する。
【0152】
例えば、LICはCCLMのルックアップテーブルを再利用して、除算演算を回避する。
【0153】
別の例では、LICは、TL_CCLMのルーマ成分に使用されるものと同じ隣接する再構成されたサンプル領域を使用して、パラメータaおよびbを導出する。
【0154】
別の例では、LICはCCLMで同じダウンサンプリング方法を再利用して、隣接する再構成されたサンプルをフィルタリングする。
【0155】
さらなる実施形態では、指定された領域内の隣接する再構成されたサンプルのサブセットのみが、CCLM予測モードでの最大最小法の最大および最小サンプル値を計算するために使用される。
【0156】
例えば、現在のブロックのブロックサイズに関係なく、最大および最小のサンプル値を計算するために、隣接する再構成されたサンプル領域の4つのサンプルのみが使用される。この例では、選択された4つのサンプルの位置が固定され、図15に示されている。具体的には、現在のCU 1510に関して、位置A、B、C、およびDで隣接する再構成されたサンプルのサンプル値のみが、最大および最小のサンプル値を計算するために使用される。
【0157】
別の例では、TL_CCLMモードの場合、左側(または上側)の隣接サンプルのみが最小サンプル値の計算に使用され、上側(または左側)の隣接サンプルのみが最大サンプル値の計算に使用される。
【0158】
別の例では、CCLM予測モードで最大最小法の最大サンプル値および最小サンプル値を見つける代わりに、上側のルーマおよびクロマ参照サンプルの平均値、つまりtop_mean_luma、top_mean_chromaと、左側のルーマおよびクロマ参照サンプルの平均値、つまり、left_mean_luma、left_mean_chromaとが、CCLMパラメータを導出するために使用され得る。
【0159】
以下の実施形態では、図16を参照して、現在のCU 1610の左上のサンプルおよび左下のサンプルが使用される場合、これらのブロックは、現在のCU 1610の上側および左側のサンプルの範囲外に位置するそれらの直接の隣接サンプルに置き換えられ得る。例えば、図16では、サンプルAおよびBが使用され得る。
【0160】
別の例では、図17において、サンプルA、B、およびCは、現在のCU 1710で使用され得る。
【0161】
以下の実施形態では、(UまたはV成分における)クロマサンプルは、その同一位置にあるルーマサンプルと共に、サンプル対と呼ばれる。または、LICの場合、現在のブロックの隣接サンプルと、参照ブロックの同一位置にある隣接サンプルがサンプル対として呼ばれるため、サンプル対に含まれるサンプルは同じ色成分(ルーマ、UまたはV)に由来する。
【0162】
以下の実施形態では、CCLMまたはCCLMモードの任意の変形/拡張について、ブロックサイズはクロマブロックのものであり得る。LICモードまたはLICの任意の変形の場合、ブロックサイズは、現在の色成分(ルーマ、U、またはV)の現在のブロックのものであり得る。
【0163】
実施形態では、指定された領域内の最大N個の隣接する再構成されたサンプル対が、CCLM予測モードでの最大最小法の最大および最小サンプル値を計算するために使用され、Nは4、8または16などの正の整数である。
【0164】
例えば、N×2または2×Nクロマブロックの場合、左側から1つの隣接サンプル対のみと上側から1つの隣接サンプル対が、最大および最小のサンプル値の計算に使用される。使用する隣接サンプル対の位置は固定されている。一例では、サンプル対におけるクロマサンプルの位置が、現在のCU1810および1910についてそれぞれ図18および図19に示されている。別の例では、サンプル対におけるクロマサンプルの位置が、現在のCU 2010について図20に示されている。
【0165】
別の例では、サンプル対におけるクロマサンプルの位置が、現在のCU 2110について図21に示され、サンプルBは、現在のCU 2110の長辺の任意の位置にあり得る。図21に示されるように、サンプルBは、現在のCU 2110の長辺の中央にある。サンプルBのx座標は、(幅>>1)-1または(幅>>1)または(幅>>1)+1であり得る。
【0166】
別の例では、サンプル対におけるクロマサンプルの位置が、現在のCU 2210について図22に示され、サンプルBは、現在のCU 2210の長辺の任意の位置にあり得る。図22に示されるように、サンプルBは、現在のCU 2210の長辺の中央にある。サンプルBのx座標は、(幅>>1)-1または(幅>>1)または(幅>>1)+1であり得る。
【0167】
別の例では、2×NまたはN×2クロマブロックの場合、Nは2、4、8、16、32、または64などの任意の正の整数であり得る。Nが2に等しい場合、左側から1つの隣接サンプル対のみと上側から1つの隣接サンプル対が、最大および最小のサンプル値の計算に使用される。それ以外の場合、Nが2より大きい場合、現在のCUの短辺からの1つの隣接サンプル対のみと長辺からの2つ以上の隣接サンプル対が、最大および最小サンプル値の計算に使用される。使用する隣接サンプル対の位置は固定されている。一例では、サンプル対におけるクロマサンプルの位置が、現在のCU 2310について図23に示され、サンプルBは、現在のCU 2310の長辺の中央にあり、サンプルCは、長辺の端部にある。
【0168】
別の例では、クロマブロックについて、現在のブロックの幅および高さの両方が2より大きい場合、最大および最小のサンプル値を計算するために、現在のブロックの左側から2つ以上のサンプル対と上側から2つ以上のサンプル対が使用される。使用する隣接サンプル対の位置は固定されている。一例では、図24を参照すると、現在のCU 2410の各側について、1つのサンプルが側部の中央にあり(サンプルBおよびCなど)、別のサンプルが側部の端部にある(サンプルAおよびDなど)。
【0169】
別の例では、CCLMモードの場合、指定された隣接サンプル内の隣接サンプルのサブセットのみが、最大および最小サンプル値の計算に使用される。選択されるサンプルの数は、ブロックサイズによって異なる。一例では、選択された隣接サンプルの数は、左側と上側で同じである。クロマブロックの場合、使用するサンプルは指定された走査順序によって選択される。図25を参照すると、クロマブロック2510の左側の場合、走査順序は上から下であり、上側の場合、走査順序は左から右である。選択した隣接サンプルは、暗い円で強調表示される。図26を参照すると、クロマブロック2610の場合、使用されるサンプルは、逆の走査順序によって選択される。すなわち、クロマブロック2610の左側の場合、走査順序は下から上であり、上側の場合、走査順序は右から左である。選択された隣接サンプルの数は左側と上側で同じであり、選択された隣接サンプルは暗い円で強調表示される。
【0170】
さらなる実施形態では、CCLMモードの場合、異なるダウンサンプリング(または補間)フィルタタイプが、左側の隣接ルーマサンプルおよび上側の隣接するルーマサンプルに使用される。
【0171】
例えば、いくつかのフィルタタイプは、左側と上側の隣接サンプルで同じであるが、左側と上側の隣接サンプルで使用されるフィルタの位置は異なる。図27を参照すると、左側にルーマサンプル用のフィルタの位置が示されており、WおよびXはフィルタの係数を示し、ブロックはルーマサンプルの位置を示す。図28を参照すると、上側のルーマサンプル用のフィルタの位置が示されており、WおよびXはフィルタの係数を示し、ブロックはルーマサンプルの位置を示す。
【0172】
さらなる実施形態では、指定された領域内の最大N個の隣接する再構成されたサンプル対が、線形モデル予測モードでパラメータaおよびbを計算するために使用され、Nは4、8、または16などの正の整数である。Nの値は、現在のブロックのブロックサイズに依存することがある。
【0173】
例えば、LICおよびCCLM(またはL_CCLM、T_CCLM、LT_CCLMなどのCCLMの任意の変形)は、線形モデルパラメータaおよびbを計算するために、同じ隣接サンプル位置を共有する。
【0174】
別の例では、LICのパラメータaおよびbを計算するために使用されるサンプル対は、異なる色成分の異なる位置に配置され得る。異なる色成分のサンプル対は独立して決定し得るが、例えば、モデルパラメータを導出するために最小サンプル値および最大サンプル値を使用してアルゴリズムは同じであることがある。
【0175】
別の例では、ある色成分(例えば、ルーマ)のLICのパラメータaおよびbを計算するために使用される第1のサンプル対が最初に配置され、次に別の成分のLICのパラメータaおよびbを計算するために使用されるサンプル対(例えば、UまたはV)が、第1のサンプル対と同一位置に配置されたサンプルとして決定される。
【0176】
別の例では、LICおよびCCLM(またはL_CCLM、T_CCLM、LT_CCLMなどのCCLMの任意の変形)は、線形モデルパラメータaおよびbを計算するために、最小2乗誤差法や最大最小法などの同じ方法を共有する。LICおよびCCLMはどちらも、最大最小法を使用して線形モデルパラメータaおよびbを計算し得る。LICの場合、各サンプル対の2つのサンプルの絶対値の合計を使用して、線形モデルの最大値および最小値を計算し得る。
【0177】
別の例では、LT_LIC、L_LIC、およびT_LICの3種類のLICモードがある。LT_LICの場合、左側および上側の両方の隣接サンプルを使用して、線形モデルパラメータaおよびbを導出する。L_LICの場合、左側の隣接サンプルのみを使用して、線形モデルパラメータaおよびbを導出する。T_LICの場合、上側の隣接サンプルのみを使用して、線形モデルパラメータaおよびbを導出する。現在のモードがLICモードの場合、LT_LICモードが選択されているかどうかを示すために別のフラグが通知されることがある。それ以外の場合は、L_LICモードまたはT_LICモードのどちらが通知されるかを示すために1つの追加フラグが通知されることがある。
【0178】
別の例では、N×2または2×Nブロックの場合、線形モデル予測モードでパラメータaおよびbを計算するために(または最大サンプル値と最小サンプル値を計算するために)、2つの隣接サンプル対のみが使用される。使用される隣接サンプル対の位置は事前定義され、固定されている。
【0179】
この例の実施形態では、パラメータaおよびbを計算するために両側を使用する線形モデル予測モードについて、左側および上側の隣接サンプルの両方が利用可能である場合、左側からの1つの隣接サンプル対および上側からの1つの隣接サンプル対のみが、線形モデル予測モードでパラメータaおよびbを計算するために使用される。
【0180】
この例の実施形態では、パラメータaおよびbを計算するために両側を使用する線形モデル予測モードについて、左側または上側の隣接サンプルが利用できない場合、利用可能な側からの2つの隣接サンプル対を使用して、線形モデル予測モードでパラメータaおよびbを計算する。現在のCU 2910および3010のそれぞれの事前定義された位置の2つの例が、図29および30に示されている。
【0181】
この例の実施形態では、パラメータaおよびbを計算するために両側を使用する線形モデル予測モードについて、左側または上側の隣接サンプルが利用できない場合、パラメータaおよびbは、aは1に設定され、bは512に設定されるなどのデフォルト値に設定される。
【0182】
この例の実施形態では、サンプル対の位置が図18および19に示されている。
【0183】
この例の実施形態では、サンプル対の位置が図20に示されている。
【0184】
この例の実施形態では、サンプル対の位置が図21に示され、サンプルBは、現在のCU 2110の長辺の任意の位置にあり得る。例えば、サンプルBは長辺の中央にあることがある。別の例では、サンプルBのx座標は、(幅>>1)-1または(幅>>1)または(幅>>1)+1であることがある。
【0185】
この例の実施形態では、サンプル対の位置が図22に示され、サンプルBは、現在のCU 2210の長辺の任意の位置にあり得る。例えば、サンプルBは長辺の中央にあることがある。別の例では、サンプルBのx座標は、(幅>>1)-1または(幅>>1)または(幅>>1)+1であることがある。
【0186】
別の例では、2×NまたはN×2ブロックの場合、Nは2、4、8、16、32、または64などの任意の正の整数であり得る。Nが2に等しい場合、線形モデルパラメータaおよびbを計算するために、左側から1つの隣接サンプル対と上側から1つの隣接サンプル対のみが使用される。それ以外の場合、Nが2より大きい場合、線形モデルパラメータaおよびbを計算するために、短辺からの1つの隣接サンプル対のみと長辺からの2つ以上の隣接サンプル対が使用される。使用される隣接サンプル対の位置は事前定義され、固定されている。図23を参照すると、サンプル対の位置が示され、サンプルBは、現在のCU 2310の長辺の任意の位置にあり得る。サンプルBは長辺の中央にあり、サンプルCは長辺の端部にある。
【0187】
別の例では、左側からのK1以上のサンプル対および上側からのK2以上のサンプル対が、線形モデルパラメータaおよびbを計算するために使用される。使用される隣接サンプル対の位置は事前定義され、固定されている。さらに、Kなどの選択されたサンプルの数は、ブロックサイズに依存する。K1およびK2はそれぞれ、1、2、4、8などの正の整数である。K1およびK2は等しいことがある。
【0188】
この例の実施形態では、各側で選択されたサンプル対が均等に分散されている。
【0189】
この例の実施形態では、K1およびK2の値は、現在のブロックの幅および/または高さ以下であるべきである。
【0190】
この例の実施形態では、隣接サンプルは、指定された走査順序によって選択される。選択したサンプルの数が指定した数に達すると、選択プロセスは終了する。左側と上側で選択されたサンプルの数は同じであり得る。左側の場合、走査順序は上から下になり、上側の場合、走査順序は左から右になる。図25および図31を参照すると、選択された隣接サンプルは、暗い円で強調表示される。図25では、隣接サンプルはダウンサンプリングされておらず、図31では、隣接サンプルはダウンサンプリングされている。あるいは、隣接サンプルは、逆の走査順序によって選択され得る。つまり、左側の場合、走査順序は下から上になり、上側の場合、走査順序は右から左になる。図26図32および図33を参照して、選択されたサンプルの位置が示されている。図26では、隣接サンプルはダウンサンプリングされておらず、図32および33では、隣接サンプルはダウンサンプリングされている。
【0191】
この例の実施形態では、現在のブロックの幅および高さの両方がThよりも大きい場合、左側からのK以上のサンプル対および上側からの2つ以上のサンプル対を使用して、線形モデルパラメータaおよびbを計算する。使用される隣接サンプル対の位置は事前定義され、固定されている。Thは、2、4、8などの正の整数である。Kは、2、4、8などの正の整数である。
【0192】
この例の実施形態では、左側または上側の隣接サンプルが利用できない場合、利用可能な側からのK個のサンプルを使用して、パラメータaおよびbを導出する。
【0193】
別の例では、T_CCLMやL_CCLMなどの左側または上側の隣接サンプルのみを使用する線形モデルについて、T_CCLMについて上側またはL_CCLMについて左側などの、使用される側のサイズが2に等しい場合、Mサンプルのみが使用される。Mは2または4などの正の整数であり、位置は事前定義されている。それ以外の場合は、最大N個のサンプルが使用される。Nは、4または8などの正の整数である。MはNと等しくないことがある。
【0194】
この例の実施形態では、図34を参照して、使用される側のサイズが2より大きい場合、所定の位置が示され、上側が使用される。
【0195】
この実施例の実施形態では、図35および図36を参照して、使用側のサイズが2に等しい場合、所定の位置が示され、図35では上側が使用され、図36では左側が使用される。
【0196】
さらに、提案された方法は、処理回路(例えば、1つまたは複数のプロセッサまたは1つまたは複数の集積回路)によって実装され得る。一例では、1つまたは複数のプロセッサは、非一時的コンピュータ可読媒体に格納されているプログラムを実行して、提案された方法の1つまたは複数を実行する。
【0197】
上記の技術は、コンピュータ可読命令を使用してコンピュータソフトウェアとして実装され、1つまたは複数のコンピュータ可読媒体に物理的に格納され得る。例えば、図37は、開示された主題の特定の実施形態を実施するのに適したコンピュータシステム(3700)を示している。
【0198】
コンピュータソフトウェアは、アセンブリ、コンパイル、リンク、または同様のメカニズムの対象となる可能性のある任意の適切な機械語またはコンピュータ言語を使用して符号化して、直接または、コンピュータ中央処理装置(CPU)、グラフィック処理装置(GPU)などによって変換、マイクロコード実行などを介して実行できる命令を含むコードを作成できる。
【0199】
命令は、例えば、パーソナルコンピュータ、タブレットコンピュータ、サーバ、スマートフォン、ゲームデバイス、モノのインターネットデバイスなどを含む、様々なタイプのコンピュータまたはその構成要素上で実行することができる。
【0200】
コンピュータシステム(3700)について図37に示される構成要素は、本質的に例示的なものであり、本開示の実施形態を実施するコンピュータソフトウェアの使用範囲または機能に関する制限を示唆することを意図するものではない。また、構成要素の構成は、コンピュータシステム(3700)の例示的な実施形態に示される構成要素のいずれか1つまたは組み合わせに関連する依存性または要件を有すると解釈されるべきではない。
【0201】
コンピュータシステム(3700)は、特定のヒューマンインターフェース入力デバイスを含み得る。そのようなヒューマンインターフェース入力デバイスは、例えば、触覚入力(キーストローク、スワイプ、データグローブの動きなど)、音声入力(音声、拍手など)、視覚入力(ジェスチャなど)、嗅覚入力(図示せず)を介して、1人または複数の人間のユーザによる入力に応答し得る。ヒューマンインターフェースデバイスを使用して、音声(発話、音楽、周囲音など)、画像(静止画像カメラから取得された走査画像、写真画像など)、ビデオ(2次元ビデオ、立体ビデオを含む3次元ビデオなど)など、人間による意識的な入力に必ずしも直接関連しない特定の媒体をキャプチャすることもできる。
【0202】
入力ヒューマンインターフェースデバイスには、キーボード(3701)、マウス(3702)、トラックパッド(3703)、タッチスクリーン(3710)、データグローブ(3704)、ジョイスティック(3705)、マイク(3706)、スキャナ(3707)、カメラ(3708)のうちの1つまたは複数が含まれることがある。
【0203】
コンピュータシステム(3700)はまた、特定のヒューマンインターフェース出力デバイスを含み得る。そのようなヒューマンインターフェース出力デバイスは、例えば、触覚出力、音、光、および嗅覚/味覚を通して、1人または複数の人間のユーザの感覚を刺激し得る。このようなヒューマンインターフェース出力デバイスは、触覚出力デバイス(例えば、タッチスクリーン(3710)、データグローブ(3704)、またはジョイスティック(3705)による触覚フィードバックが含まれることがあるが、入力デバイスとして機能しない触覚フィードバックデバイスもあり得る)、オーディオ出力デバイス(スピーカ3709、ヘッドホン(図示せず)など)、視覚出力デバイス(それぞれがタッチスクリーン入力機能の有無にかかわらず、それぞれが触覚フィードバック機能の有無にかかわらず、カソード光線管(CRT)スクリーン、液晶ディスプレイ(LCD)スクリーン、プラズマスクリーン、有機発光ダイオード(OLED)スクリーンを含むスクリーン3710など、それらの一部は、ステレオグラフィック出力、仮想現実ガラス(図示せず)、ホログラフィックディスプレイおよびスモークタンク(図示せず)などの手段を通じて2次元視覚出力または3次元以上の出力が可能であり得る)およびプリンタ(図示せず)を含み得る。
【0204】
コンピュータシステム(3700)はまた、人間がアクセス可能な記憶装置およびそれらに関連する媒体を含むことができ、例えば、CD/DVDまたは同様の媒体(3721)を有するCD/DVD ROM/RW(3720)を含む光学媒体、サムドライブ(3722)、取り外し可能なハードドライブまたはソリッドステートドライブ(3723)、テープやフロッピーディスクなどのレガシー磁気媒体(図示せず)、セキュリティドングルなどの特殊なROM/ASIC/PLDベースのデバイス(図示せず)などである。
【0205】
当業者はまた、現在開示されている主題に関連して使用される「コンピュータ可読媒体」という用語は、伝送媒体、搬送波、または他の一時的な信号を含まないことを理解すべきである。
【0206】
コンピュータシステム(3700)はまた、1つまたは複数の通信ネットワークへのインターフェースを含むことができる。ネットワークは、例えば、無線、有線、光であることができる。ネットワークはさらに、ローカル、広域、メトロポリタン、車両および産業、リアルタイム、遅延耐性などにすることができる。ネットワークの例は、イーサネット、ワイヤレスLANなどのローカルエリアネットワーク、モバイル通信(GSM)、第3世代(3G)、第4世代(4G)、第5世代(5G)、ロングタームエボリューション(LTE)などのためのグローバルシステムを含むセルラネットワーク、ケーブルテレビ、衛星テレビ、および地上放送テレビを含むテレビ有線または無線広域デジタルネットワーク、CANBusを含む車両および産業などを含む。特定のネットワークは通常、特定の汎用データポートまたは周辺バス(3749)に取り付けられる外部ネットワークインターフェースアダプタ(3754)を必要とする(例えば、外部ネットワーク(3755)と通信するためのコンピュータシステム(3700)のユニバーサルシリアルバス(USB)ポート、その他は一般に、以下に説明するようにシステムバスに接続することによってコンピュータシステム(3700)のコアに統合される(例えば、PCコンピュータシステムへのイーサネットインターフェースまたはスマートフォンコンピュータシステムへのセルラーネットワークインターフェースなど)。これらのネットワークのいずれかを使用して、コンピュータシステム(3700)は他のエンティティと通信できる。このような通信は、一方向、受信のみ(例えば、テレビ放送)、一方向の送信のみ(例えば、特定のCANbusデバイスへのCANbus)、または双方向、例えば、ローカルまたはワイドエリアデジタルネットワークを使用する他のコンピュータシステムへの通信である。上記のように、特定のプロトコルおよびプロトコルスタックをこれらのネットワークおよびネットワークインターフェースのそれぞれで使用できる。
【0207】
前述のヒューマンインターフェースデバイス、ヒューマンアクセス可能なストレージデバイス、およびネットワークインターフェースは、コンピュータシステム(3700)のコア(3740)に接続することができる。
【0208】
コア(3740)は、1つまたは複数の中央処理装置(CPU)(3741)、グラフィックス処理装置(GPU)3742、フィールドプログラマブルゲートエリア(FPGA)(3743)の形式の特殊なプログラム可能な処理装置、特定のタスク用のハードウェアアクセラレータ(3744)などを含むことができる。これらのデバイスは、読み取り専用メモリ(ROM)(3745)、ランダムアクセスメモリ(RAM)(3746)、ユーザがアクセスできない内蔵ハードドライブなどの内部大容量記憶装置、ソリッドステートドライブ(SSD)など(3747)と共にシステムバス(3748)を介して接続し得る。一部のコンピュータシステムでは、追加のCPU、GPUなどによる拡張を可能にするために、1つまたは複数の物理プラグの形式でシステムバス(3748)にアクセスすることができる。周辺デバイスは、コアのシステムバス(3748)に直接接続することも、周辺バス3749を介して接続することもできる。周辺バスのアーキテクチャには、周辺コンポーネント相互接続(PCI)、USBなどが含まれる。
【0209】
CPU(3741)、GPU(3742)、FPGA(3743)、およびアクセラレータ(3744)は、組み合わせて前述のコンピュータコードを構成できる特定の命令を実行できる。そのコンピュータコードは、ROM(3745)またはRAM(3746)に格納できる。移行データはRAM(3746)に格納することもできるが、恒久的データは例えば内部大容量記憶装置(3747)に格納できる。任意のメモリデバイスの高速格納および検索は、1つまたは複数のCPU(3741)、GPU(3742)、大容量記憶装置(3747)、ROM(3745)、RAM(3746)などに密接に関連付けられ得るキャッシュメモリの使用を通じて可能にできる。
【0210】
コンピュータ可読媒体は、様々なコンピュータ実施動作を実行するためのコンピュータコードを有することができる。媒体およびコンピュータコードは、本開示の目的のために特別に設計および構築されたものであり得るか、またはそれらは、コンピュータソフトウェア技術の当業者に周知で利用可能な種類のものであり得る。
【0211】
一例として、限定するものではないが、アーキテクチャ(3700)、具体的にはコア(3740)を有するコンピュータシステムは、1つまたは複数の有形のコンピュータ可読媒体に組み込まれたソフトウェアを実行するプロセッサ(CPU、GPU、FPGA、アクセラレータなどを含む)の結果として機能を提供することができる。このようなコンピュータ可読媒体は、上記で紹介したユーザアクセス可能な大容量記憶装置、ならびにコア内部大容量記憶装置(3747)やROM(3745)などの非一時的な性質のコア(3740)の特定の記憶装置に関連付けられた媒体であり得る。本開示の様々な実施形態を実施するソフトウェアは、そのようなデバイスに格納され、コア(3740)によって実行され得る。コンピュータ可読媒体は、特定の必要性に応じて、1つまたは複数のメモリデバイスまたはチップを含むことができる。ソフトウェアは、コア(3740)、特にその中のプロセッサ(CPU、GPU、FPGAなどを含む)に、RAM(3746)に格納されたデータ構造を定義することと、ソフトウェアによって定義されたプロセスに従って、そのようなデータ構造を変更することとを含む、本明細書に記載の特定のプロセスまたは特定のプロセスの特定の部分を実行させることができる。加えて、または代替として、コンピュータシステムは、本明細書に記載の特定のプロセスまたは特定のプロセスの特定の部分を実行するために、ソフトウェアの代わりにまたはソフトウェアと一緒に動作することができる回路(例えば、アクセラレータ3744)に論理配線された、あるいは具体化された結果として機能を提供することができる。ソフトウェアへの参照にはロジックを含めることができ、必要に応じてその逆も可能である。コンピュータ可読媒体への言及は、必要に応じて、実行のためのソフトウェアを格納する回路(集積回路(IC)など)、実行のための論理を具体化する回路、またはその両方を包含することができる。本開示は、ハードウェアとソフトウェアの任意の適切な組み合わせを包含する。
【0212】
本開示は、いくつかの例示的な実施形態を説明しているが、本開示の範囲内にある変更、並べ替え、および様々な代替の同等物が存在する。したがって、当業者は、本明細書に明示的に示されていないかまたは記載されていないが、開示の原理を具体化し、したがってその精神および範囲内にある多数のシステムおよび方法を考案することができることが理解されよう。
【符号の説明】
【0213】
400 通信システム
410 第1の端末
420 第2の端末
430 端末
440 端末
450 ネットワーク
501 ビデオソース
502 非圧縮ビデオサンプルストリーム
503 エンコーダ
504 符号化されたビデオビットストリーム
505 ストリーミングサーバ
506 ストリーミングクライアント
507 符号化されたビデオビットストリームの複製
508 ストリーミングクライアント
509 符号化されたビデオビットストリームの複製
510 ビデオデコーダ
511 発信ビデオサンプルストリーム
512 ディスプレイ
513 キャプチャサブシステム
610 受信機
612 チャネル
615 バッファメモリ
620 パーサー
621 シンボル
651 スケーラ/逆変換ユニット
652 イントラ予測ユニット
653 動き補償予測ユニット
655 集約装置
656 現在の(部分的に再構成された)ピクチャ
657 参照ピクチャメモリ
658 ループフィルタユニット
730 エンコーダ
732 符号化エンジン
733 (ローカル)デコーダ
734 参照ピクチャメモリ
735 予測子
740 送信機
743 ビデオシーケンス
745 エントロピーコーダ
750 コントローラ
760 通信チャネル
800 プロセス
810 ビデオシーケンス
820 ビデオシーケンス
830 ビデオシーケンス
1410 符号化ユニット(CU)
1420 ブロック
1510 符号化ユニット(CU)
1610 符号化ユニット(CU)
1710 符号化ユニット(CU)
1810 符号化ユニット(CU)
1910 符号化ユニット(CU)
2010 符号化ユニット(CU)
2110 符号化ユニット(CU)
2210 符号化ユニット(CU)
2310 符号化ユニット(CU)
2410 符号化ユニット(CU)
2510 クロマブロック
2610 クロマブロック
2910 符号化ユニット(CU)
3010 符号化ユニット(CU)
3700 コンピュータシステム
3701 キーボード
3702 マウス
3703 トラックパッド
3704 データグローブ
3705 ジョイスティック
3706 マイク
3707 スキャナ
3708 カメラ
3709 スピーカ
3710 スクリーン
3720 CD/DVD ROM/RW
3721 同様の媒体
3722 サムドライブ
3723 ソリッドステートドライブ
3740 コア
3741 中央処理装置(CPU)
3742 グラフィックス処理装置(GPU)
3743 フィールドプログラマブルゲートエリア(FPGA)
3744 アクセラレータ
3745 読み取り専用メモリ(ROM)
3746 ランダムアクセスメモリ(RAM)
3747 内部大容量記憶装置
3748 システムバス
3749 周辺バス
3754 外部ネットワークインターフェースアダプタ
3755 外部ネットワーク
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23
図24
図25
図26
図27
図28
図29
図30
図31
図32
図33
図34
図35
図36
図37