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

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

▶ バイトダンス インコーポレイテッドの特許一覧

<>
  • 特許-サブピクチャの高さの導出 図1
  • 特許-サブピクチャの高さの導出 図2
  • 特許-サブピクチャの高さの導出 図3
  • 特許-サブピクチャの高さの導出 図4
  • 特許-サブピクチャの高さの導出 図5
  • 特許-サブピクチャの高さの導出 図6
  • 特許-サブピクチャの高さの導出 図7
  • 特許-サブピクチャの高さの導出 図8
  • 特許-サブピクチャの高さの導出 図9
  • 特許-サブピクチャの高さの導出 図10
  • 特許-サブピクチャの高さの導出 図11
  • 特許-サブピクチャの高さの導出 図12
  • 特許-サブピクチャの高さの導出 図13
  • 特許-サブピクチャの高さの導出 図14
  • 特許-サブピクチャの高さの導出 図15
  • 特許-サブピクチャの高さの導出 図16
  • 特許-サブピクチャの高さの導出 図17
  • 特許-サブピクチャの高さの導出 図18
  • 特許-サブピクチャの高さの導出 図19
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-11-30
(45)【発行日】2023-12-08
(54)【発明の名称】サブピクチャの高さの導出
(51)【国際特許分類】
   H04N 19/70 20140101AFI20231201BHJP
【FI】
H04N19/70
【請求項の数】 17
(21)【出願番号】P 2022550702
(86)(22)【出願日】2021-02-23
(65)【公表番号】
(43)【公表日】2023-04-13
(86)【国際出願番号】 US2021019228
(87)【国際公開番号】W WO2021173548
(87)【国際公開日】2021-09-02
【審査請求日】2022-08-29
(31)【優先権主張番号】62/980,963
(32)【優先日】2020-02-24
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】520477474
【氏名又は名称】バイトダンス インコーポレイテッド
【氏名又は名称原語表記】BYTEDANCE INC.
【住所又は居所原語表記】12655 West Jefferson Boulevard, Sixth Floor, Suite No. 137 Los Angeles, California 90066 United States of America
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【弁理士】
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】ワン,イェ-クイ
(72)【発明者】
【氏名】ザン,リー
(72)【発明者】
【氏名】ザン,カイ
【審査官】岩井 健二
(56)【参考文献】
【文献】Benjamin Bross, Jianle Chen, Shan Liu, and Ye-Kui Wang,Versatile Video Coding (Draft 8),Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-Q2001 (version 13),17th Meeting: Brussels, BE,2020年02月09日,pp.21-23,28-31,43-45,110-117
【文献】Li Zhang, Zhipin Deng, Kai Zhang, and Ye-Kui Wang,AHG12: A cleanup on uniform tile and rectangular slice partitioning,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-R0062-v1,18th Meeting: by teleconference,2020年04月,pp.1-6
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00 - 19/98
(57)【特許請求の範囲】
【請求項1】
ビデオ処理の方法であって、
ビデオピクチャを含むビデオと該ビデオのビットストリームとの間の変換を実行するステップを含み、
前記ビデオピクチャは、1つ以上のタイル行及び1つ以上のタイル列を形成する1つ以上のタイルを含み、
前記ビットストリームは、フォーマット規則に従い、
前記フォーマット規則は、タイル行インデックスが前記ビデオピクチャの各コーディングツリーブロック(CTB)について導出される、ことを定め
前記ビデオピクチャはまた、1つ以上のサブピクチャを含み、
前記1つ以上のサブピクチャの夫々は、前記ビデオピクチャの長方形サブセットを集合的に形成する1つ以上のスライスを含み、
前記フォーマット規則は更に、タイル行の単位でのサブピクチャの高さが当該サブピクチャに含まれる上部CTB及び/又は下部CTBのタイル行インデックスに基づき導出される、ことを定め、
SubpicHeightInTiles[i]と表される、タイル行の単位でのi番目のサブピクチャの高さは、次の
for(i=0;i<=sps_num_subpics_minus1;i++){
topY=sps_subpic_ctu_top_left_y[i]
bottomY=topY+sps_subpic_height_minus1[i]
SubpicHeightInTiles[i]=ctbToTileRowIdx[botY]+1-ctbToTileRowIdx[topY]
}
のように導出され、
sps_num_subpics_minus1に1をプラスしたものは、前記ビデオピクチャ内のサブピクチャの数を表し、
sps_subpic_ctu_top_left_y[i]は、前記i番目のサブピクチャの左上CTBの垂直位置を表し、
sps_subpic_height_minus1[i]に1をプラスしたものは、前記i番目のサブピクチャの高さを指定し、
ctbToTileRowIdx[botY]及びctbToTileRowIdx[topY]は夫々、前記サブピクチャに含まれる上部CTB及び下部CTBのタイル行インデックスを表す
方法。
【請求項2】
ctbToTileRowIdx[ctbAddrY]と表される、ctbAddrY番目のタイル行の前記タイル行インデックスは、次の
tileY=0
for(ctbAddrY=0;ctbAddrY<=PicHeightInCtbsY;ctbAddrY++){
if(ctbAddrY==tileRowBd[tileY+1])
tileY++
ctbToTileRowIdx[ctbAddrY]=tileY
}
のように導出され、
PicHeightInCtbsYは、CTBの単位で前記ビデオピクチャの高さを表し、
tileRowBd[i]は、CTBの単位でi番目のタイル行境界の位置を表す、
請求項1に記載の方法。
【請求項3】
タイルが複数の長方形スライスにパーティション化され、前記タイルの前記長方形スライスのサブセットのみが前記サブピクチャに含まれることに応答して、前記タイルは、前記サブピクチャの高さの値の導出において1つのタイルとしてカウントされる、
請求項又はに記載の方法。
【請求項4】
前記フォーマット規則は更に、タイル列インデックスが前記ビデオピクチャの前記タイルの各CTB列について導出される、ことを定め、
ctbToTileColIdx[ctbAddrX]と表される、ctbAddrX番目のタイル列の前記タイル列インデックスは、次の
tileX=0
for(ctbAddrX=0;ctbAddrX<=PicWidthInCtbsY;ctbAddrX++){
if(ctbAddrX==tileColBd[tileX+1])
tileX++
ctbToTileColIdx[ctbAddrX]=tileX
}
のように導出され、
PicWidthInCtbsYは、CTBの単位で前記ビデオピクチャの幅を表し、
tileColBd[i]は、CTBの単位でi番目のタイル列境界の位置を表す、
請求項1乃至のうちいずれか一項に記載の方法。
【請求項5】
記フォーマット規則は更に、タイル列の単位でのサブピクチャの幅が当該サブピクチャに含まれる最左CTB及び/又は最右CTBのタイル列インデックスに基づき導出される、ことを定め、
SubpicWidthInTiles[i]と表される、タイル列の単位でのi番目のサブピクチャの幅は、次の
for(i=0;i<=sps_num_subpics_minus1;i++){
leftX=sps_subpic_ctu_top_left_x[i]
rightX=leftX+sps_subpic_width_minus1[i]
SubpicWidthInTiles[i]=ctbToTileColIdx[rightX]+1-ctbToTileColIdx[leftX]
}
のように導出され、
sps_subpic_ctu_top_left_x[i]は、前記i番目のサブピクチャの左上CTBの水平位置を表し、
sps_subpic_width_minus1[i]に1をプラスしたものは、前記i番目のサブピクチャの幅を指定し、
ctbToTileColIdx[rightX]及びctbToTileColIdx[leftX]は夫々、前記サブピクチャに含まれる最左CTB及び最右CTBのタイル列インデックスを表す、
請求項に記載の方法。
【請求項6】
前記ビデオピクチャはまた、1つ以上のスライスを含み、
前記フォーマット規則は更に、前記ビデオピクチャ内の前記1つ以上のスライスのスライスインデックスの順序が、単一のスライスが前記ビデオピクチャのサブピクチャごとに含まれるかどうかを示す前記ビデオピクチャに関連したシンタックス要素に応答して示される、ことを定め、
前記スライスインデックスは、前記ビデオピクチャ内の各スライスが長方形スライスであることに応答して含まれる、
請求項1に記載の方法。
【請求項7】
前記フォーマット規則は更に、前記1つ以上のサブピクチャの夫々が単一の長方形スライスを含むことを前記シンタックス要素が示す場合に、前記順序が前記ビデオピクチャ内の前記1つ以上のサブピクチャのサブピクチャインデックスの値の増加に対応する、ことを定める、
請求項に記載の方法。
【請求項8】
前記フォーマット規則は更に、前記1つ以上のサブピクチャの夫々が1つ以上の長方形スライスを含むことができることを前記シンタックス要素が示す場合に、前記順序が、前記1つ以上のスライスが前記ビデオピクチャによって参照されるピクチャパラメータセット(PPS)に含まれる順序に対応する、ことを定める、
請求項又はに記載の方法。
【請求項9】
前記フォーマット規則に従って、前記ビデオピクチャの前記サブピクチャの前記高さが前記ビデオピクチャのタイル行の高さよりも低いかどうかに関して決定を行うステップを有し
前記変換は、前記決定を用いて実行される、請求項1に記載の方法。
【請求項10】
前記ビデオピクチャの各サブピクチャがただ1つのスライスしか含まず、前記サブピクチャの高さが1タイル行に満たない場合に、前記ビデオピクチャのピクチャレベルスライスインデックスiを有する各スライスについて、当該スライス内のj番目のCTBのピクチャラスタスキャンCTBアドレスを指定するCtbAddrInSlice[i][j]の値は、前記サブピクチャのCTBラスタスキャンにおける前記j番目のCTBの前記ピクチャラスタスキャンCTBアドレスから導出され、
iは、0以上でありかつ前記ビデオピクチャ内のスライスの数から1をマイナスしたもの以下である範囲内にあり、
jは、0以上でありかつスライス内のコーディングツリーユニット(CTU)の数から1をマイナスしたもの以下である範囲内にある、
請求項に記載の方法。
【請求項11】
前記フォーマット規則は更に、
前記サブピクチャの上に位置するCTUの第1セットと前記サブピクチャの下に位置するCTUの第2セットとの間の距離が前記ビデオピクチャのタイルの第2高さよりも短いときに、前記サブピクチャの高さが1タイル行よりも低い、ことを定め、
前記タイルの前記第2高さは、前記タイルのCTUの数に基づく、
請求項又は10に記載の方法。
【請求項12】
前記ビデオピクチャの各サブピクチャがただ1つのスライスしか含まず、前記サブピクチャの高さが1タイル行以上である場合に、前記ビデオピクチャのピクチャレベルスライスインデックスiを有する各スライスについて、当該スライス内のj番目のCTBのピクチャラスタスキャンCTBアドレスを指定するCtbAddrInSlice[i][j]の値は、前記サブピクチャ内のCTBの順序における前記j番目のCTBの前記ピクチャラスタスキャンCTBアドレスから導出され、
iは、0以上でありかつ前記ビデオピクチャ内のスライスの数から1をマイナスしたもの以下である範囲内にあり、
jは、0以上でありかつスライス内のコーディングツリーユニット(CTU)の数から1をマイナスしたもの以下である範囲内にあり、
前記サブピクチャ内の前記CTBの順序は、第1タイルインデックスを有する第1タイル内の第1CTBが第2タイルインデックスを有する第2タイル内の第2CTBの前に位置するようなものであり、
前記第1タイルインデックスの値は、前記第2タイルインデックスの値よりも小さく、
前記サブピクチャ内の1つのタイル内での前記CTBの順序は、当該1つのタイルにおける前記CTBのラスタスキャンで順序付けられる、
請求項乃至11のうちいずれか一項に記載の方法。
【請求項13】
前記変換を実行するステップは、前記ビデオを前記ビットストリームに符号化することを有する、
請求項1乃至12のうちいずれか一項に記載の方法。
【請求項14】
前記変換を実行するステップは、前記ビットストリームから前記ビデオを復号することを有する、
請求項1乃至12のうちいずれか一項に記載の方法。
【請求項15】
ビデオデータを処理する装置であって、
プロセッサと、命令を有する非一時的なメモリとを有し、
前記命令は、前記プロセッサによって実行されると、前記プロセッサに、ビデオピクチャを含むビデオと該ビデオのビットストリームとの間の変換を実行させ、
前記ビデオピクチャは、1つ以上のタイル行及び1つ以上のタイル列を形成する1つ以上のタイルを含み、
前記ビットストリームは、フォーマット規則に従い、
前記フォーマット規則は、タイル行インデックスが前記ビデオピクチャの各コーディングツリーブロック(CTB)について導出される、ことを定め
前記ビデオピクチャはまた、1つ以上のサブピクチャを含み、
前記1つ以上のサブピクチャの夫々は、前記ビデオピクチャの長方形サブセットを集合的に形成する1つ以上のスライスを含み、
前記フォーマット規則は更に、タイル行の単位でのサブピクチャの高さが当該サブピクチャに含まれる上部CTB及び/又は下部CTBのタイル行インデックスに基づき導出される、ことを定め、
SubpicHeightInTiles[i]と表される、タイル行の単位でのi番目のサブピクチャの高さは、次の
for(i=0;i<=sps_num_subpics_minus1;i++){
topY=sps_subpic_ctu_top_left_y[i]
bottomY=topY+sps_subpic_height_minus1[i]
SubpicHeightInTiles[i]=ctbToTileRowIdx[botY]+1-ctbToTileRowIdx[topY]
}
のように導出され、
sps_num_subpics_minus1に1をプラスしたものは、前記ビデオピクチャ内のサブピクチャの数を表し、
sps_subpic_ctu_top_left_y[i]は、前記i番目のサブピクチャの左上CTBの垂直位置を表し、
sps_subpic_height_minus1[i]に1をプラスしたものは、前記i番目のサブピクチャの高さを指定し、
ctbToTileRowIdx[botY]及びctbToTileRowIdx[topY]は夫々、前記サブピクチャに含まれる上部CTB及び下部CTBのタイル行インデックスを表す
装置。
【請求項16】
プロセッサに、ビデオピクチャを含むビデオと該ビデオのビットストリームとの間の変換を実行させる命令を記憶しており、
前記ビデオピクチャは、1つ以上のタイル行及び1つ以上のタイル列を形成する1つ以上のタイルを含み、
前記ビットストリームは、フォーマット規則に従い、
前記フォーマット規則は、タイル行インデックスが前記ビデオピクチャの各コーディングツリーブロック(CTB)について導出される、ことを定め
前記ビデオピクチャはまた、1つ以上のサブピクチャを含み、
前記1つ以上のサブピクチャの夫々は、前記ビデオピクチャの長方形サブセットを集合的に形成する1つ以上のスライスを含み、
前記フォーマット規則は更に、タイル行の単位でのサブピクチャの高さが当該サブピクチャに含まれる上部CTB及び/又は下部CTBのタイル行インデックスに基づき導出される、ことを定め、
SubpicHeightInTiles[i]と表される、タイル行の単位でのi番目のサブピクチャの高さは、次の
for(i=0;i<=sps_num_subpics_minus1;i++){
topY=sps_subpic_ctu_top_left_y[i]
bottomY=topY+sps_subpic_height_minus1[i]
SubpicHeightInTiles[i]=ctbToTileRowIdx[botY]+1-ctbToTileRowIdx[topY]
}
のように導出され、
sps_num_subpics_minus1に1をプラスしたものは、前記ビデオピクチャ内のサブピクチャの数を表し、
sps_subpic_ctu_top_left_y[i]は、前記i番目のサブピクチャの左上CTBの垂直位置を表し、
sps_subpic_height_minus1[i]に1をプラスしたものは、前記i番目のサブピクチャの高さを指定し、
ctbToTileRowIdx[botY]及びctbToTileRowIdx[topY]は夫々、前記サブピクチャに含まれる上部CTB及び下部CTBのタイル行インデックスを表す
非一時的なコンピュータ可読記憶媒体。
【請求項17】
デオのビットストリームを記憶する方法であって、
ォーマット規則に従って、ビデオピクチャを含む前記ビデオの前記ビットストリームを生成するステップと、
前記ビットストリームを非一時的なコンピュータ可読記録媒体に記憶するステップと
を有し、
前記ビデオピクチャは、1つ以上のタイル行及び1つ以上のタイル列を形成する1つ以上のタイルを含み、
前記ビットストリームは、前記フォーマット規則に従い、
前記フォーマット規則は、タイル行インデックスが前記ビデオピクチャの各コーディングツリーブロック(CTB)について導出される、ことを定め
前記ビデオピクチャはまた、1つ以上のサブピクチャを含み、
前記1つ以上のサブピクチャの夫々は、前記ビデオピクチャの長方形サブセットを集合的に形成する1つ以上のスライスを含み、
前記フォーマット規則は更に、タイル行の単位でのサブピクチャの高さが当該サブピクチャに含まれる上部CTB及び/又は下部CTBのタイル行インデックスに基づき導出される、ことを定め、
SubpicHeightInTiles[i]と表される、タイル行の単位でのi番目のサブピクチャの高さは、次の
for(i=0;i<=sps_num_subpics_minus1;i++){
topY=sps_subpic_ctu_top_left_y[i]
bottomY=topY+sps_subpic_height_minus1[i]
SubpicHeightInTiles[i]=ctbToTileRowIdx[botY]+1-ctbToTileRowIdx[topY]
}
のように導出され、
sps_num_subpics_minus1に1をプラスしたものは、前記ビデオピクチャ内のサブピクチャの数を表し、
sps_subpic_ctu_top_left_y[i]は、前記i番目のサブピクチャの左上CTBの垂直位置を表し、
sps_subpic_height_minus1[i]に1をプラスしたものは、前記i番目のサブピクチャの高さを指定し、
ctbToTileRowIdx[botY]及びctbToTileRowIdx[topY]は夫々、前記サブピクチャに含まれる上部CTB及び下部CTBのタイル行インデックスを表す
方法
【発明の詳細な説明】
【技術分野】
【0001】
[関連出願への相互参照]
願は、2020年2月24日付けで出願された米国特許仮出願第62/980963号の優先権及びその利益を請して2021年2月23日付けで出願された国際特許出願第PCT/US2021/019228号に基づくものである上記のすべての出願は、その全文を参照により本願に援用される。
【0002】
[技術分野]
本特許明細書は、イメージ及びビデオのコーディング及び復号化に関係がある。
【背景技術】
【0003】
デジタルビデオは、インターネット及び他のデジタル通信網で最大のバンド幅使用を占めている。ビデオを受信及び表示することができるユーザ機器の接続数が増えるにつれて、デジタルビデオ利用のためのバンド幅需要は増え続けることが予想される。
【発明の概要】
【0004】
本特許明細書は、コーディングされた表現の復号化にとって有用な制御情報を用いてビデオのコーディングされた表現を処理するビデオエンコーダ及びデコーダによって使用され得る技術を開示する。
【0005】
一例となる態様では、ビデオ処理方法が開示される。方法は、1つ以上のビデオピクチャを含むビデオと該ビデオのビットストリームとの間の変換を実行するステップを含み、各ビデオピクチャは、1つ以上のタイル列を含む1つ以上のタイルを有し、前記ビットストリームはフォーマット規則に従い、前記フォーマット規則は、タイル列インデックスがビデオピクチャのタイルの各コーティングツリーユニット(CTU)列について導出される、ことを定める。
【0006】
他の例となる態様では、ビデオ処理方法が開示される。方法は、1つ以上のビデオピクチャを含むビデオと該ビデオのビットストリームとの間の変換を実行するステップを含み、各ビデオピクチャは、1つ以上のタイル行を含む1つ以上のタイルを有し、前記ビットストリームはフォーマット規則に従い、前記フォーマット規則は、タイル行インデックスがビデオピクチャのタイルの各コーティングツリーユニット(CTU)行について導出される、ことを定める。
【0007】
他の例となる態様では、ビデオ処理方法が開示される。方法は、少なくとも1つのビデオピクチャを含むビデオと該ビデオのビットストリームとの間の変換を規則に従って実行するステップを含み、前記少なくとも1つのビデオピクチャは、1つ以上のスライス及び1つ以上のサブピクチャを有し、前記規則は、前記少なくとも1つのビデオピクチャ内の前記1つ以上のスライスのスライスインデックスの順序が、単一のスライスが前記少なくとも1つのビデオピクチャのサブピクチャごとに含まれるかどうかを示す前記少なくとも1つのビデオピクチャに関連したシンタックス要素に応答して示される、ことを定める。
【0008】
他の例となる態様では、ビデオ処理方法が開示される。方法は、ビデオのビデオ領域のビデオユニットと前記ビデオのビットストリームとの間の変換を実行するステップを含み、前記ビットストリームはフォーマット規則に従い、前記フォーマット規則は、前記ビットストリームにおける前記ビデオ領域の第1レベルでの第1制御情報が、前記ビットストリームにおいて前記ビデオユニットの第2レベルで第2制御情報が含まれるかどうかを制御する、ことを定め、前記第2レベルは前記第1レベルよりも小さく、前記第1制御情報及び前記第2制御情報は、ルーママッピング及びクロマスケーリング(LMCS)ツールが前記ビデオユニットに適用されるかどうか又はどのように適用されるかに関する情報を含み、前記LMCSツールは、前記変換のためのルーマ再成形プロセス(RP)又はクロマ残差スケーリング(CRS)を使用することを含む。
【0009】
他の例となる態様では、ビデオ処理方法が開示される。方法は、ビデオと該ビデオのビットストリームとの間の変換を規則に従って実行するステップを含み、前記規則は、参照されたシーケンスパラメータセット内の第1シンタックス要素によりルーママッピング及びクロマスケーリング(LMCS)ツールが有効にされることが示される場合に、前記LMCSツールが有効にされることを定め、前記規則は、前記第1シンタックス要素により前記LMCSツールが無効にされることが示される場合に、前記LMCSツールが使用されないことを定め、前記規則は、前記ビットストリーム内の第2シンタックス要素により前記LMCSツールが前記ビデオのピクチャヘッダレベルで有効にされることが示される場合に、ビデオピクチャのピクチャヘッダに関連した全てのスライスについて前記LMCSツールが有効にされることを定め、前記規則は、前記第2シンタックス要素により前記LMCSツールが前記ビデオのピクチャヘッダレベルで無効にされることが示される場合に、前記ピクチャヘッダに関連した全てのスライスについて前記LMCSツールが使用されないことを定め、前記規則は、前記ビットストリームに選択的に含まれている第3シンタックス要素により前記LMCSツールが前記ビデオのスライスヘッダレベルで有効にされることが示される場合に、ビデオピクチャのスライスヘッダに関連した現在のスライスについて前記LMCSツールが使用されることを定め、前記規則は、前記第3シンタックス要素により前記LMCSツールが前記ビデオのスライスヘッダレベルで無効にされることが示される場合に、前記現在のスライスについて前記LMCSツールが使用されないことを定める。
【0010】
他の例となる態様では、ビデオ処理方法が開示される。方法は、1つ以上のビデオピクチャを含むビデオと該ビデオのビットストリームとの間の変換を規則に従って実行するステップを含み、前記規則は、適応動きベクトル差分分解(AMVR)がアフィンインターモードの動きベクトルコーディングで使用されるかどうかが、前記AMVRが有効にされるかどうかを示す参照されたシーケンスパラメータセット(SPS)内に選択的に含まれているシンタックス要素に基づくことを定め、前記規則は、前記シンタックス要素により前記AMVRが無効にされることが示される場合に、前記AMVRが前記アフィンインターモードの前記動きベクトルコーディングで使用されないことを定め、前記規則は、前記シンタックス要素が前記SPSに含まれていない場合に、前記AMVRが前記アフィンインターモードの前記動きベクトルコーディングで使用されないと推測されることを定める。
【0011】
他の例となる態様では、ビデオ処理方法が開示される。方法は、ビデオピクチャを含むビデオと該ビデオのビットストリームとの間の変換を規則に従って実行するステップを含み、前記ビデオピクチャはサブピクチャ、タイル及びスライスを含み、前記規則は、前記タイルからパーティション化される前記スライスを前記サブピクチャが含むことにより、前記変換が、前記ビデオピクチャのタイルの数を用いて前記サブピクチャの高さをカウントしないようにすることによって実行される、ことを定める。
【0012】
他の例となる態様では、ビデオ処理方法が開示される。方法は、ビデオピクチャを含むビデオと該ビデオのビットストリームとの間の変換を実行するステップを含み、前記ビットストリームは、前記ビデオピクチャのコーディングツリーユニット(CTU)の数に基づきカウントされる前記ビデオピクチャのサブピクチャの高さを示す。
【0013】
他の例となる態様では、ビデオ処理方法が開示される。方法は、規則に従って、ビデオのビデオピクチャのサブピクチャの高さが前記ビデオピクチャのタイル行の高さよりも低いかどうかに関する決定を行うステップと、前記決定を用いて、前記ビデオと該ビデオのビットストリームとの間の変換を実行するステップとを含む。
【0014】
他の例となる態様では、ビデオ処理方法が開示される。方法は、1つ以上のビデオピクチャを含み、各ビデオピクチャが1つ以上のタイルを含むビデオと、該ビデオのコーディングされた表現との間の変換を実行するステップを含み、前記コーディングされた表現はフォーマット規則に従い、前記フォーマット規則は、前記コーディングされた表現においてシグナリングされる第1情報と、前記コーディングされた表現から導出される第2情報とを指定し、少なくとも前記第1情報又は前記第2情報は、前記1つ以上のタイルの行インデックス又は列インデックスに関係がある。
【0015】
他の例となる態様では、ビデオ処理方法が開示される。方法は、ビデオのビデオ領域のビデオユニットと前記ビデオのコーディングされた表現との間の変換を実行するステップを含み、前記コーディングされた表現はフォーマット規則に従い、前記フォーマット規則は、前記ビデオ領域での第1制御情報により、第2制御情報が前記ビデオユニットのレベルで含まれるかどうかが制御される、ことを定め、前記第1制御情報及び/又は前記第2制御情報は、前記変換に使用される再成形プロセス又はクロマ残差スケーリング(CRS)又はルーママッピング及びクロマスケーリング(LMCS)に関する情報を含む。
【0016】
更なる他の例となる態様では、ビデオエンコーダ装置が開示される。ビデオエンコーダは、上記の方法を実装するよう構成されたプロセッサを有する。
【0017】
更なる他の例となる態様では、ビデオデコーダ装置が開示される。ビデオデコーダ装置は、上記の方法を実装するよう構成されたプロセッサを有する。
【0018】
更なる他の例となる態様では、コードが記憶されているコンピュータ可読媒体が開示される。コードは、プロセッサ実行可能コードの形で、本明細書で記載される方法の1つを具現化する。
【0019】
これらの及び他の特徴は、本明細書の全体にわたって記載される。
【図面の簡単な説明】
【0020】
図1】ピクチャが12個のタイルと3つのラスタスキャンスライスとに分割されるパーティションのラスタスキャンスライスパーティショニングの例を示す。
図2】ピクチャが24個のタイル(6つのタイル列及び4つのタイル行)と9個の長方形スライスとに分割されるピクチャの長方形スライスパーティショニングの例を示す。
図3】ピクチャが4つのタイル(2つのタイル列及び2つのタイル行)と4つの長方形スライスとに分割される、タイル及び長方形スライスにパーティション化されたピクチャの例を示す。
図4】15個のタイルと、24個のスライスと、24個のサブピクチャとパーティション化されるピクチャを示す。
図5】例となるビデオ処理システムのブロック図である。
図6】ビデオ処理装置のブロック図である。
図7】ビデオ処理の方法の例についてのフローチャートである。
図8】本開示のいくつかの実施形態に係るビデオコーディングシステムを表すブロック図である。
図9】本開示のいくつかの実施形態に係るエンコーダを表すブロック図である。
図10】本開示のいくつかの実施形態に係るデコーダを表すブロック図である。
図11】ビデオ処理の方法の例についてのフローチャートである。
図12】ビデオ処理の方法の例についてのフローチャートである。
図13】ビデオ処理の方法の例についてのフローチャートである。
図14】ビデオ処理の方法の例についてのフローチャートである。
図15】ビデオ処理の方法の例についてのフローチャートである。
図16】ビデオ処理の方法の例についてのフローチャートである。
図17】ビデオ処理の方法の例についてのフローチャートである。
図18】ビデオ処理の方法の例についてのフローチャートである。
図19】ビデオ処理の方法の例についてのフローチャートである。
【発明を実施するための形態】
【0021】
セクション見出しは、理解を簡単にするために本明細書で使用されているのであって、各セクションで開示されている技術及び実施形態の適用可能性をそのセクションにのみ制限するものではない。更に、H.266という用語は、開示されている技術の範囲を限定するためではなく、理解を容易にするためにのみ、いくつかの記載で使用されている。そのようなものとして、本明細書で記載される技術は、他のビデオコーデックプロトコル及び設計にも適用可能である。本明細書中、編集変更は、VVC仕様の現在のドラフトに関して、二重括弧の間にあるキャンセルされたテキストを示す開閉二重括弧([[]]など)と、追加されたテキストを示す太字の斜体テキストとによって、テキストに表示される。
【0022】
[1.概要]
本明細書は、ビデオコーディング技術に関係がある。具体的に、それは、サブピクチャ、LMCS、及びAMVRのサポートに関する。サブピクチャに関する態様は、1つのサブピクチャに含まれているタイル行及びタイル列の数の導出とともに、各サブピクチャが1つのスライスか含まない場合にスライスに含まれているCTUのラスタスキャンCTUアドレスのリストの導出を含む。LMCSに関する態様は、異なるレベルでのLMCSの有効化のシグナリングに関する。AMVRに関する態様は、sps_affine_amvr_enabled_flagのセマンティクスに関する。アイデアは、個別的に又は様々な組み合わせで、シングルレイヤ及び/又はマルチレイヤビデオコーディング、例えば、開発中のVVC(Versatile Video Coding)をサポートするあらゆるビデオコーディング標準又は非標準ビデオコーデックにも適用されてよい。
【0023】
[2.頭字語]
ALF Adaptive Loop Filter
AMVR Adaptive Motion Vector difference Resolution
APS Adaptation Parameter Set
AU Access Unit
AUD Access Unit Delimiter
AVC Advanced Video Coding
CLVS Coded Layer Video Sequence
CPB Coded Picture Buffer
CRA Clean Random Access
CTU Coding Tree Unit
CVS Coded Video Sequence
DPB Decoded Picture Buffer
DPS Decoding Parameter Set
EOB End Of Bitstream
EOS End Of Sequence
GDR Gradual Decoding Refresh
HEVC High Efficiency Video Coding
HRD Hypothetical Reference Decoder
IDR Instantaneous Decoding Refresh
JEM Joint Exploration Model
LMCS Luma Mapping with Chroma Scaling
MCTS Motion-Constrained Tile Sets
NAL Network Abstraction Layer
OLS Output Layer Set
PH Picture Header
PPS Picture Parameter Set
PTL Profile, Tier and Level
PU Picture Unit
RBSP Raw Byte Sequence Payload
SEI Supplemental Enhancement Information
SPS Sequence Parameter Set
SVC Scalable Video Coding
VCL Video Coding Layer
VPS Video Parameter Set
VTM VVC Test Model
VUI Video Usability Information
VVC Versatile Video Coding
【0024】
[3.最初の議論]
ビデオコーディング標準規格は、よく知られているITU-T及びISO/IEC標準規格の開発を通じて主に発展してきた。ITU-TはH.261及びH.263を作り出し、ISO/IECはMPEG-1及びMPEG-4 Visualを作り出し、2つの組織は共同でH.262/MPEG-2 Video及びH264/MPEG-4 AVC(Advanced Video Coding)及びH.265/HEVC標準規格を作り出した。H.262以降、ビデオコーディング標準規格は、時間予測に変換コーディングをプラスしたものが利用されるハイブリッド型ビデオコーディング構造に基づいている。HEVCを超える将来のビデオコーディング技術を探求するために、JVET(Joint Video Exploration Team)がVCEG及びMPEGによって共同で設立された。それ以降、多くの新しい方法がJVETによって採用され、JEM(Joint Exploration Model)と名付けられた参照ソフトウェアに置かれてきた。JVET会議は、四半期ごとに1度同時に開催され、新しいコーディング標準規格では、HEVCと比較してビットレートを50%削減することを目標としている。新しいビデオコーディング標準規格は、2018年4月のJVET会議でVVC(Versatile Video Coding)と公式に命名され、VVCテストモデル(VVC Test Model,VTM)の最初のバージョンがその時にリリースされた。VVC標準化に寄与する継続的な取り組みがあるため、毎回のJVET会議で新しいコーディング手法がVVC標準に採用されている。その後、VVCワーキングドラフト及びテストモデルVTMは、毎回の会議の後で更新されている。VVCプロジェクトは現在、2020年7月の会議で技術的完了(FDIS)を目指している。
【0025】
[3.1.HEVCでのピクチャパーティション化手法]
HEVCは、最大転送ユニット(Maximum Transfer Unit,MTU)サイズマッチング、並列処理、及び削減されたエンド間遅延に適用され得る4つの異なるピクチャパーティション化手法、つまり、レギュラースライス(regular slices)、依存性スライス(dependent slices)、タイル、及び波面並列処理(Wavefront Parallel Processing,WPP)を含む。
【0026】
レギュラースライスは、H.264/AVCと同様である。各レギュラースライスは、それ自身のNALユニットにカプセル化され、ピクチャ内予測(イントラサンプル予測、動き情報予測、コーディングモード予測)及びスライス境界にわたるエントロピコーディング依存性は、無効にされる。よって、レギュラースライスは、(ループフィルタリング動作による相互依存性が依然として存在する可能性があるとはいえ)同じピクチャ内の他のレギュラースライスから独立して再構成され得る。
【0027】
レギュラースライスは、H.264/AVCにおいても事実上同じ形式で利用可能である並列化に使用され得る唯一のツールである。レギュラースライスに基づいた並列化は、プロセッサ間又はコア間の通信をそれほど必要としない(予測的にコーディングされたピクチャを復号化するときの動き補償のためのプロセッサ間又はコア間データ共有を除く。これは、通常、ピクチャ内予測によるプロセッサ間又はコア間データ共有よりもはるかに重い。)。しかし、同じ理由により、レギュラースライスの使用は、スライスヘッダのビットコストにより、かつ、スライス境界にわたる予測の欠如により、コーディングオーバーヘッドを大きくする可能性がある。更に、レギュラースライスは(後述される他のツールとは対照的に)、レギュラースライスのピクチャ内の独立性と、各レギュラースライスがそれ自身のNALユニットにカプセル化されることとにより、MTUサイズ要件に一致するビットストリームパーティション化のための重要なメカニズムとしても機能する。多くの場合に、並列化の目標と、MTUサイズマッチングの目標とは、ピクチャ内のスライスレイアウトに対して矛盾する要求を突きつける。この解決法の実現は、後述される並列化ツールの開発につながった。
【0028】
依存性スライスは、短いスライスヘッダを有し、いずれのピクチャ内予測も損なわずにツリーブロック境界でのビットストリームのパーティション化を可能にする。基本的に、依存性スライスは、レギュラースライス全体の符号化が終了する前にレギュラースライスの一部が送出されることを可能にすることによって、削減されたエンド間遅延をもたらすように、複数のNALユニットへのレギュラースライスのフラグメンテーションを提供する。
【0029】
WPPでは、ピクチャは、コーディングツリーブロック(CTB)の単一行にパーティション化される。エントロピ復号化及び予測は、他のパーティション内のCTBからのデータを使用することを許される。並列処理は、CTB行の並列復号化を通じて可能であり、CTB行の復号化の開始は、対象CTBが復号化される前に対象CTBの右上にあるCTBに関するデータが利用可能であることを確かにするために、CTB2つ分だけ遅延される。このスタッガードスタート(グラフィカルで表現される場合に波面のように見える。)を用いると、並列化は、ピクチャにCTB行が含まれているのと同じ数のプロセッサ/コアにより可能である。ピクチャ内の隣接するツリーブロック行間のピクチャ内予測が認められているので、ピクチャ内予測を有効にするための必要なプロセッサ間/コア間通信は、かなりの量になる可能性がある。WPPパーティション化は、それが適用されない場合と比較して、追加のNALユニットの生成をもたらさないので、WPPは、MTUサイズマッチングのためのツールではない。しかし、MTUサイズマッチングが必要とされる場合には、レギュラースライスが、一定のコーディングオーバーヘッドを伴って、WPPとともに使用され得る。
【0030】
タイルは、ピクチャをタイル列及び行にパーティション化する水平及び垂直境界を定義する。タイル列は、ピクチャの上からピクチャの下まで伸びている。同様に、タイル行は、ピクチャの左からピクチャの右まで伸びている。ピクチャ内のタイルの数は、単純に、タイル列の数とタイル行の数とのかけ算として求められ得る。
【0031】
CTBのスキャン順序は、ピクチャのタイルラスタスキャンの順序における次のタイルの左上CTBを復号する前に、(タイルのCTBラスタスキャンの順序において)タイル内でローカルであるよう変更される。レギュラースライスと同様に、タイルは、ピクチャ内予測の依存関係とともに、エントロピ復号化の依存関係を壊す。しかし、それらは、個々のNALユニットに含まれる必要がない(この点ではWPPと同じ)ので、タイルは、MTUサイズマッチングに使用され得ない。各タイルは、1つのプロセッサ/コアによって処理することができ、隣接するタイルを復号する処理ユニット間のピクチャ内予測に必要とされるプロセッサ間/コア間通信は、スライスが1よりも多いタイルにまたがっている場合の共有スライスヘッダの伝達と、再構成されたサンプル及びメタデータのループフィルタリングに関連した共有とに制限される。1よりも多いタイル又はWPPセグメントがスライスに含まれる場合に、スライス内の最初の1つ以外の各タイル又はWPPセグメントのためのエントロピポイントバイトオフセットは、スライスヘッダでシグナリングされる。
【0032】
簡単のために、4つの異なるピクチャパーティション化手法の適用に対する制限は、HEVCで定められている。所与のコーディングされたビデオシーケンスは、HEVCで定められているプロファイルのほとんどについてタイル及び波面の両方を含むことができない。各スライス及びタイルについて、次の条件のうちの一方又は両方が満たされなければならない:1)スライス内の全てのコーディングされたツリーブロックは、同じタイルに属する;2)タイル内の全てのコーディングされたツリーブロックは、同じスライス内に属する。最後に、波面セグメントは、厳密に1つのCTB行を含み、WPPが使用される場合に、スライスがCTB行内で始まるならば、それは同じCTB行で終わるべきである。
【0033】
HEVCに対する最終の修正は、http://phenix.int-evry.fr/jct/doc_end_user/documents/29_Macau/wg11/JCTVC-AC1005-v2.zipから入手することができるJCT-VC出力文書JCTVC-AC1005,J. Boyce, A. Ramasubramonian, R. Skupin, G. J. Sullivan, A. Tourapis, Y.-K. Wang (editors),"HEVC Additional Supplemental Enhancement Information (Draft 4)",2017年10月24日で規定されている。この修正が含まれることで、HEVCは、3つのMCTS関連SEIメッセージ、つまり、時間MCTS SEIメッセージ、MCTS抽出情報セットSEIメッセージ、及びMCTS抽出情報ネスティングSEIメッセージを規定する。
【0034】
時間MCTS SEIメッセージは、ビットストリーム内のMCTSの存在を示し、MCTSをシグナリングする。各MCTSについて、動きベクトルは、MCTS内の完全サンプル位置を及び補間のためにMCTS内の完全サンプル位置のみを必要とする分数サンプル位置を指し示すよう制限され、MCTSの外にあるブロックから導出される時間動きベクトル予測(temporal motion vector prediction)のための動きベクトル候補の利用は、許可されない。このようにして、各MCTSは、MCTSに含まれないタイルの存在なしで独立して復号され得る。
【0035】
MCTS抽出情報セットSEIメッセージは、MCTSセットのための適合(conforming)ビットストリームを生成するためにMCTSサブビットストリーム(SEIメッセージのセマンティクスの部分として指定される)で使用され得る補足情報を提供する。情報は、複数の抽出情報セットから成り、各抽出情報セットは、複数のMCTSセットを定義し、MCTSサブビットストリーム抽出プロセスの間に使用される置換VPS、SPS、及びPPSのRBSPバイトを含む。MCTSサブビットストリーム抽出プロセスに従ってサブビットストリームを抽出する場合に、パラメータセット(VPS、SPS、及びPPS)は、書き換え又は置換される必要があり、スライスヘッダは、スライスアドレスに関係したシンタックス要素(first_slice_segment_in_pic_flag及びslice_segment_addressを含む)の1つ又は全部が通常は異なる値を有する必要があるので、わずかに更新される必要がある。
【0036】
[3.2.VVCでのピクチャのパーティション化]
VVCでは、ピクチャは、1つ以上のタイル行及び1つ以上のタイル列に分割される。タイルは、ピクチャの長方形領域をカバーするCTUの連続である。タイル内のCTUは、そのタイル内でラスタスキャン順にスキャンされる。
【0037】
スライスは、整数個の完全なタイル、又はピクチャのタイル内の整数個の連続した完全なCTU行から成る。
【0038】
スライスの2つのモード、つまり、ラスタスキャンスライスモード及び長方形スライスモードがサポートされる。ラスタスキャンスライスモードでは、スライスは、ピクチャのタイルラスタスキャンにおける完全なタイルの連続を含む。長方形スライスモードでは、スライスは、ピクチャの長方形領域を集合的に形成する複数の完全なタイル、又はピクチャの長方形領域を集合的に形成する1つのタイルの複数の連続した完全なCTU行を含む。長方形スライス内のタイルは、そのスライスに対応する長方形領域内でタイルラスタスキャン順にスキャンされる。
【0039】
サブピクチャは、ピクチャの長方形領域を集合的にカバーする1つ以上のスライスを含む。
【0040】
図1は、ピクチャのラスタスキャンスライスパーティション化の例を示し、ピクチャは、12個のタイル及び3つのラスタスキャンスライスに分割されている。
【0041】
図2は、ピクチャの長方形スライスパーティション化の例を示し、ピクチャは、24個のタイル(6つのタイル列及び4つのタイル行)及び9個の長方形スライスに分割されている。
【0042】
図3は、タイル及び長方形スライスにパーティション化されたピクチャの例を示し、ピクチャは、4つのタイル(2つのタイル列及び2つのタイル行)及び4つの長方形スライスに分割されている。
【0043】
図4は、ピクチャのサブピクチャパーティション化の例を示し、ピクチャは、18個のタイルにパーティション化されており、そのうちの12個のタイルは、4×4CTUの1つのスライスを夫々がカバーしながら左手側にあり、そのうちの6個のタイルは、2×2CTUの2つの垂直にスタックされたスライスを夫々がカバーしながら右手側にあり、その結果、寸法が異なる24個のスライス及び24個のサブピクチャが得られる(各スライスはサブピクチャである)。
【0044】
[3.3.(JVET-Q2001-vCとしての)VVCでのSPS/PPS/ピクチャヘッダ/スライスヘッダのシグナリング]
【表1】
【0045】
[3.4.タイル、スライス及びサブピクチャのためのJVET-Q2001-vCでの仕様]
【表2】
【0046】
[3.5.クロマスケーリングを伴ったルーママッピング(LMCS)]
LMCSは、2つの側面、つまり、ルーママッピング(RPによって表される再成形プロセス)及びルーマ依存クロマ残差スケーリング(CRS)を含む。ルーマ信号について、LMCSモードは、元のドメインにある第1ドメインと、再成形モデルに従ってルーマサンプルを特定の値にマッピングする再成形ドメインである第2ドメインを含む2つのドメインに基づき、動作する。更に、クロマ信号については、残差スケーリングが適用され、スケーリング係数はルーマサンプルから導出される。
【0047】
SPS、ピクチャヘッダ(PH)及びスライスヘッダ(SH)での関連するシンタックス要素及びセマンティクスは、次のように記載される:
シンタックステーブル
【表3】
セマンティクス
【表4】
【0048】
[3.6.アフィンコーディングされたブロックのための適応動きベクトル差分分解(AMVR)]
アフィンAMVR(Adaptive Motion Vector difference Resolution)は、アフィンインターコーディングされたブロックが異なる分解能で、例えば、1/4ルーマサンプル(デフォルトであり、amvr_flagは0にセットされる)、1/16ルーマサンプル、1ルーマサンプルの精度でMV差分を伝送することを可能にするコーディングツールである。
【0049】
SPSでの関連するシンタックス要素及びセマンティクスは、次のように記載される:
シンタックステーブル
【表5】
セマンティクス
【表6】
【表7】
【0050】
[4.開示される技術的解決法によって対処される技術的課題]
VVCでのサブピクチャ及びLMCSのための既存の設計には、次の課題がある:
1)式D.5でのリストSubpicNumTileRows[](サブピクチャに含まれるタイル行の数を指定する)導出は、式中のCtbToTileRowBd[idx]のインデックス値idxが最大許容値よりも大きくなり得るということで、不正確である。更に、SubpicNumTileRows[]及びSubpicNumTileCols[](サブピクチャに含まれるタイル列の数を指定する)の両方の導出は、不必要に複雑であるCTUベースの演算を使用する。
2)single_slice_per_subpic_flagが1に等しい場合の式29中のアレイCtbAddrInSliceの導出は、各スライスのアレイ内のラスタスキャンCTBアドレスの値がCTUのラスタスキャン順序ではなくCTUの復号化順にある必要があるということで、不正確である。
3)LMCSシグナリングは非効率である。ph_lmcs_enabled_flagが1に等しいとき、ほとんどの場合に、LMCSはピクチャの全スライスに対して有効にされることになる。しかし、現在のVVC設計では、LMCSがピクチャの全スライスに対して有効にされる場合に、ph_lmcs_enabled_flagが1に等しいのみならず、値1を有するslice_lmcs_enabled_flagが各スライスについてシグナリングされる必要がある。
a.ph_lmcs_enabled_flagのセマンティクスは、ph_lmcs_enabled_flagが真である場合にスライスレベルLMCSフラグをシグナリングする動機と矛盾する。現在のVVCでは、ph_lmcs_enabled_flagが真である場合に、それは、全てのスライスがLMCSを有効にすべきであることを意味する。従って、スライスヘッダでLMCS有効化フラグを更にシグナリングする必要はない。
b.更に、ピクチャヘッダによりLMCSが有効にされることが示される場合に、通常は、全てのスライスに対して、LMCSは全て有効にされる。スライスヘッダでのLMCSの制御は、主に、コーナーの場合を処理するためである。従って、PH LMCSフラグが真であり、SH LMCSフラグが常にシグナリングされるならば、一般的なユーザの場合に不要なビットがシグナリングされる可能性がある。
4)SPSアフィンAMVRフラグのセマンティクスは、各アフィンインターコーディングされたCUについて、アフィンAMVRが有効又は無効にされ得るので、正確ではない。
【0051】
[5.技術及び実施形態の例]
上記の課題、及び述べられているいくつかの他の課題を解決するために、以下で要約される方法が開示される。項目は、概要を説明するための例と見なされるべきであり、狭義に解釈されるべきではない。更に、これらの項目は、個別的に適用されても、又は任意の 方法で組み合わされてもよい。
【0052】
第1及び第2の課題を解決するためのサブピクチャに関連
1.次のアプローチの1つ以上が開示される:
a.ピクチャの各CTU列のタイル列インデックスが導出される。
b.サブピクチャに含まれるタイル列の数の導出は、サブピクチャに含まれる最左及び/又は最右のCTUのタイル列インデックスに基づく。
c.ピクチャの各CTU行のタイル行インデックスが導出される。
d.サブピクチャに含まれるタイル行の数の導出は、サブピクチャに含まれる上側及び/又は下側のCTUのタイル行インデックスに基づく。
e.ピクチャレベルスライスインデックスという用語は、次のように定義される:single_slice_per_subpic_flagが0に等しい場合にスライスがPPSでシグナリングされる順序で、又はsingle_slice_per_subpic_flagが1に等しい場合にスライスに対応するサブピクチャのサブピクチャインデックスが増加する順序で、ピクチャ内のスライスのリストに対するスライスの、rect_slice_flagが1に等しい場合に定義されるインデックス。
f.一例で、サブピクチャの高さは、タイルからパーティション化されるスライスをサブピクチャが含む場合に、タイルに関してカウントされ得ない。
g.一例で、サブピクチャの高さは、タイルの代わりにCTUに関してカウントされてよい。
h.サブピクチャの高さが1タイル行に満たないかどうかが導出される。
i.一例で、サブピクチャの高さが1タイル行に満たないかどうかは、サブピクチャが1つのタイル行からのCTUしか含まない場合、かつ、サブピクチャ内の上側CTUがそのタイル行の上側CTUではないか、又はサブピクチャ内の下側CTUがタイル行の下側CTUではない場合に、真であるよう導出される。
ii.各サブピクチャが1つのスライスしか含まず、サブピクチャの高さが1タイル行に満たないことが示される場合に、ピクチャのピクチャレベルスライスインデックスiを有する各スライスについて、jが0以上かつスライス内のCTUの数から1をマイナスしたもの以下であるとして、CtbAddrInSlice[i][j]の値は、サブピクチャのCTUラスタスキャンでのj番目のCTUのピクチャラスタスキャンCTUアドレスであるよう導出される。
iii.一例で、サブピクチャが1タイル行に満たないかどうかは、サブピクチャ内の上側CTUとサブピクチャ内の下側CTUとの間の距離がCTUに関してタイルの高さよりも短い場合に、真であるよう導出される。
iv.各サブピクチャが1つのスライスしか含まず、サブピクチャの高さが1タイル行以上であることが示される場合に、ピクチャのピクチャレベルスライスインデックスiを有する各スライスについて、jが0以上かつスライス内のCTUの数から1をマイナスしたもの以下であるとして、CtbAddrInSlice[i][j]の値は、CTUの次の順序でのj番目のCTUのピクチャラスタスキャンCTUアドレスであるよう導出される。
1)サブピクチャ内の異なるタイル内のCTUは、タイルインデックスの値がより小さい第1タイル内の第1CTUが、タイルインデックスの値がより大きい第2タイル内の第2CTUより前になるよう、順序付けられる。
2)サブピクチャ内の1つのタイル内のCTUは、そのタイルのCTUラスタスキャンで順序付けられる。
【0053】
第3の課題(副次的な課題を含む)を解決するためのLMCSに関連
2.LMCS(2つの側面、つまり、ルーママッピング(RPによって表される再成形プロセス)及びルーマ依存クロマ残差スケーリング(CRS)を含む)の2レベル制御が導入され、上位レベル(例えば、ピクチャレベル)及び下位レベル(例えば、スライスレベル)の制御が使用され、下位レベル制御情報が存在するかどうかは、上位レベル制御情報に依存する。更に、次が適用される:
a.第1の例では、下記のサブビュレットの1つ以上が適用される:
i.第1インジケータ(例えば、ph_lmcs_enabled_type)は、非バイナリ値である下位レベルでどのようにLMCSが有効にされるかを指定するよう上位レベルで(例えば、ピクチャヘッダ(PH)で)シグナリングされてよい。
1)一例で、第1インジケータがX(例えば、X=2)に等しい場合に、それは、LMCSがPHに関連した全てのスライスに対して有効にされることを指定し、第1インジケータがY(Y!=X)(例えば、Y=1)に等しい場合に、それは、LMCSがPHに非関連した1つ以上の、しかし全部ではないスライスに対して有効にされることを指定し、第1インジケータがZ(Z!=XかつZ!=Y)(例えば、Z=0)に等しい場合に、それは、LMCSがPHに関連した全てのスライスに対して無効にされることを指定する。
2)一例で、第1インジケータがX(例えば、X=2)に等しい場合に、それは、LMCSがPHに関連した全てのスライスに対して無効にされることを指定し、第1インジケータがY(Y!=X)(例えば、Y=1)に等しい場合に、それは、LMCSがPHに非関連した1つ以上の、しかし全部ではないスライスに対して有効にされることを指定し、第1インジケータがZ(Z!=XかつZ!=Y)(例えば、Z=0)に等しい場合に、それは、LMCSがPHに関連した全てのスライスに対して有効にされることを指定する。
a)代替的に、更に、第1インジケータが存在しない場合に、そのインジケータの値は、デフォルト値、例えばX、に等しいと推測される。
3)代替的に、更に、第1インジケータは、シーケンスレベルでのLMCS有効化フラグ(例えば、sps_lmcs_enabled_flag)の値に応じて、条件付きでシグナリングされてもよい。
4)代替的に、更に、第1インジケータは、u(v)、又はu(2)、又はue(v)でコーディングされてもよい。
5)代替的に、更に、第1インジケータは、トランケーテッド・ユーナリー・コード(truncated unary code)でコーディングされてもよい。
6)代替的に、更に、スライスによって使用されるLMCS APS情報(例えば、ph_lmcs_aps_id)及び/又はCS有効化フラグ(例えば、ph_chroma_residual_scale_flag)が、第1インジケータの値の条件確認の下でシグナリングされてもよい。
ii.下位レベルに対してLMCSを有効/無効にする第2インジケータは(例えば、slice_lmcs_enabled_flag)は、下位レベルで(例えば、スライスヘッダで)シグナリングされてよく、それは、第1インジケータの値を確認することによって、条件付きでシグナリングされてよい。
1)一例で、第2インジケータは、「第1インジケータがYに等しい」との条件確認の下でシグナリングされてよい。
a)代替的に、第2インジケータは、「第1インジケータの値>>1」又は「第1インジケータの値/2」又は「第1インジケータの値&0x01」との条件確認の下でシグナリングされてもよい。
b)代替的に、更に、第2インジケータは、第1インジケータがXに等しい場合に有効にされると推測され、あるいは、第1インジケータがZに等しい場合に無効にされると推測されてもよい。
b.第2の例では、下記のサブビュレットの1つ以上が適用される:
i.1よりも多いインジケータが、非バイナリ値である下位レベルでどのようにLMCSが有効にされるかを指定するよう上位レベルで(例えば、ピクチャヘッダ(PH)で)シグナリングされてよい。
1)一例で、2つのインジケータがPHでシグナリングされてよい。
a)一例で、第1インジケータは、LMCSを有効にするPHに関連した少なくとも1つのスライスが存在するかどうかを指定する。また、第2インジケータは、PHに関連した全てのスライスがLMCSを有効にするかどうかを指定する。
i.代替的に、更に、第2インジケータは、第1インジケータの値に応じて、例えば、LMCSを有効にする少なくとも1つのスライスが存在することが第1インジケータにより特定される場合に、条件付きでシグナリングされてよい。
i.代替的に、更に、第2インジケータが存在しない場合に、全てのスライスがLMCSを有効にすることが推測される。
ii.代替的に、更に、第3インジケータが、第2インジケータの値に応じて、例えば、スライスの全てがLMCSを有効にするわけではないことが第2インジケータにより特定される場合に、SHにおいて条件付きでシグナリングされてよい。
i.代替的に、更に、第3インジケータが存在しない場合に、それは第1及び/又は第2インジケータの値において推測されてよい(例えば、第1インジケータの値に等しいと推測される)。
b)代替的に、第1インジケータは、LMCSを無効にするPHに関連した少なくとも1つのスライスが存在するかどうかを指定する。また、第2インジケータは、PHに関連した全てのスライスがLMCSを無効にするかどうかを指定する。
i.代替的に、更に、第2インジケータは、第1インジケータの値に応じて、例えば、LMCSを無効にする少なくとも1つのスライスが存在することが第1インジケータにより特定される場合に、条件付きでシグナリングされてよい。
i.代替的に、更に、第2インジケータが存在しない場合に、全てのスライスがLMCSを無効にすることが推測される。
ii.代替的に、更に、第3インジケータが、第2インジケータの値に応じて、例えば、スライスの全てがLMCSを無効にするわけではないことが第2インジケータにより特定される場合に、SHにおいて条件付きでシグナリングされてよい。
i.代替的に、更に、第3インジケータが存在しない場合に、それは第1及び/又は第2インジケータの値において推測されてよい(例えば、第1インジケータの値に等しいと推測される)。
2)代替的に、更に、第1インジケータは、シーケンスレベルでのLMCS有効化フラグ(例えば、sps_lmcs_enabled_flag)の値に応じて、条件付きでシグナリングされてもよい。
ii.下位レベルに対してLMCSを有効/無効にする第3インジケータ(例えば、slice_lmcs_enabled_flag)が、下位レベルで(例えば、スライスヘッダで)シグナリングされてもよく、それは、第1インジケータ及び/又は第2インジケータの値を確認することによって、条件付きでシグナリングされてもよい。
1)一例で、第3インジケータは、「全てのスライスがLMCSを有効にするわけではない」又は「全てのスライスがLMCSを無効にするわけではない」との条件確認の下でシグナリングされてよい。
c.更なる他の例では、第1/第2の例における第1及び/又は第2及び/又は第3インジケータは、LMCSではなくRP又はCRSの利用を制御するために使用されてもよい。
【0054】
3.SPS/PH/SHでの3つのLMCSフラグのセマンティクスは、次のように更新される:
【表8】
a.PH及び/又はSH LMCSシグナリングは、LMCSがピクチャの全スライスに対して使用される場合にSHでLMCSシグナリングが存在しないように、変更される。
i.代替的に、更に、どのようにLMCSが推測されるかは、PH LMCSシグナリングに依存する。
1)一例で、それは、LMCSがピクチャの全スライスに対して使用される場合に有効にされると推測され、LMCSがピクチャの全スライスに対して使用されない場合に無効にされると推測される。
【0055】
アフィンAMVR関連
4.SPSでのアフィンAMVRフラグのセマンティクスは、次のように更新される:
【表9】
【0056】
[6.実施形態]
[6.1.実施形態1:サブピクチャのサポート]
この実施形態は、項目1及びそのサブ項目に係る。
【表10】
【0057】
[6.2.実施形態2:LMCSのサポート]
この実施形態で、ピクチャヘッダ内のLMCS関連シンタックス要素のシンタックス及びセマンティクスは、LMCSがピクチャの全スライスに対して使用される場合にSHでLMCSシグナリングが存在しないように、変更されている。
【表11】
上記の例では、M及びNの値は夫々1及び2にセットされてよい。代替的に、M及びNの値は夫々2及び1にセットされてもよい。
【0058】
図5は、本明細書で開示されている様々な技術が実装され得る例示的なビデオ処理システム1900を示すブロック図である。様々な実施は、システム1900のコンポーネントのいくつか又は全てを含み得る。システム1900は、ビデオコンテンツを受ける入力部1902を含み得る。ビデオコンテンツは、生の又は圧縮されていないフォーマット、例えば、8又は10ビットのマルチコンポーネントピクセル値で受け取られてよく、あるいは、圧縮された又は符号化されたフォーマットにあってもよい。入力部1902は、ネットワークインターフェース、ペリフェラルバスインターバス、又はストレージインターフェースに相当してもよい。ネットワークインターフェースの例には、Ethernet(登録商標)、受動光ネットワーク(Passive Optical Network,PON)などのような有線インターフェース、及びWi-Fi又はセルラーネットワークなどの無線インターフェースが含まれる。
【0059】
システム1900は、本明細書で記載されている様々なコーディング又は符号化方法を実装し得るコーディングコンポーネント1904を含んでもよい。コーディングコンポーネント1904は、ビデオのコーディングされた表現を生成するよう、入力部1902からコーディングコンポーネント1904の出力部へのビデオの平均ビットレートを低減し得る。コーディング技術は、従って、ビデオ圧縮又はビデオトランスコーディング技術と時々呼ばれる。コーディングコンポーネント1904の出力は、コンポーネント1906によって表されるように、保存されても、あるいは、接続された通信を介して伝送されてもよい。入力部1902で受け取られたビデオの保存又は通信されたビットストリーム(又はコーディングされた)表現は、ピクセル値又は表示インターフェース1910へ送られる表示可能なビデオを生成するコンポーネント1908によって使用されてもよい。ユーザが見ることができるビデオをビットストリーム表現から生成するプロセスは、ビデオ圧縮解除と時々呼ばれる。更に、特定のビデオ処理動作が「コーディング」動作又はツールと呼ばれる一方で、そのようなコーディングツール又は動作はエンコーダで使用され、コーディングの結果を入れ替える対応する復号化ツール又は動作は、デコーダによって実行されることになる、ことが理解されるだろう。
【0060】
ペリフェラルバスインターフェース又は表示インターフェースの例には、ユニバーサルシリアルバス(USB)又は高精細マルチメディアインターフェース(HDMI(登録商標))又はDisplayport(登録商標)などが含まれ得る。ストレージインターフェースの例には、SATA(Serial Advanced Technology Attachment)、PCI、IDEインターフェース、などがある。本明細書で説明されている技術は、携帯電話機、ラップトップ、スマートフォン、又はデジタルデータ処理及び/又はビデオ表示を実行する能力がある他のデバイスなどの様々な電子デバイスで具現化されてもよい。
【0061】
図6は、ビデオ処理装置3600のブロック図である。装置3600は、本明細書で記載されている方法の1つ以上を実装するために使用され得る。装置3600は、スマートフォン、タブレット、コンピュータ、インターネット・オブ・シングス(IoT)レシーバ、などで具現化されてもよい。装置3600は、1つ以上のプロセッサ3602、1つ以上のメモリ3604、及びビデオ処理ハードウェア3606を含み得る。プロセッサ3602は、本明細書で記載される1つ以上の方法を実装するよう構成され得る。メモリ(複数のメモリ)3604は、本明細書で記載される方法及び技術を実装するために使用されるデータ及びコードを記憶するために使用され得る。ビデオ処理ハードウェア3606は、ハードウェア回路において、本明細書で記載されるいくつかの技術を実装するために使用され得る。
【0062】
図8は、本開示の技術を利用し得る例示的なビデオコーディングシステム100を表すブロック図である。
【0063】
図8に示されるように、ビデオコーディングシステム100は、発信元デバイス110及び送信先デバイス120を含んでよい。発信元デバイス110は、符号化されたビデオデータを生成し、ビデオ符号化デバイスと呼ばれ得る。送信先デバイス120は、発信元デバイス110によって生成された符号化されたビデオデータを復号することができ、ビデオ復号化デバイスと呼ばれ得る。
【0064】
発信元デバイス110は、ビデオソース112、ビデオエンコーダ114、及び入力/出力(I/O)インターフェース116を含んでよい。
【0065】
ビデオソース112は、ビデオ捕捉デバイスなどのソース、ビデオコンテンツプロバイダからビデオデータを受け取るインターフェース、及び/又はビデオデータを生成するコンピュータグラフィクスシステム、あるいは、そのようなソースの組み合わせを含んでよい。ビデオデータは1つ以上のピクチャを有してもよい。ビデオエンコーダ114は、ビットストリームを生成するようビデオソース112からのビデオデータを符号化する。ビットストリームは、ビデオデータのコーディングされた表現を形成するビットのシーケンスを含んでよい。ビットストリームは、コーディングされたピクチャ及び関連するデータを含んでもよい。コーディングされたピクチャは、ピクチャのコーディングされた表現である。関連するデータは、シーケンスパラメータセット、ピクチャパラメータセット、及び他のシンタックス構造を含んでもよい。I/Oインターフェース116は、変調器/復調器(モデム)及び/又は送信器を含んでよい。符号化されたビデオデータは、I/Oインターフェース116を介して送信先デバイス120に対してネットワーク130aを通じて直接に伝送されてよい。符号化されたビデオデータはまた、送信先デバイス120によるアクセスのために記憶媒体/サーバ130bに記憶されてもよい。
【0066】
送信先デバイス120は、I/Oインターフェース126、ビデオデコーダ124、及び表示デバイス122を含んでよい。
【0067】
I/Oインターフェース126は、受信器及び/又はモデムを含んでよい。I/Oインターフェース126は、発信元デバイス110又は記憶媒体/サーバ130bから、符号化されたビデオデータを取得してよい。ビデオデコーダ124は、符号化されたビデオデータを復号してよい。表示デバイス122は、復号されたビデオデータをユーザに表示してよい。表示デバイス122は、送信先デバイス120と一体化されてもよく、あるいは、外付け表示デバイスとインターフェース接続するよう構成されて送信先デバイス120の外にあってもよい。
【0068】
ビデオエンコーダ114及びビデオデコーダ124は、HEVC(High Efficiency Video Coding)標準規格、VVC(Versatile Video Coding)標準規格、並びに他の現在の及び/又は更なる標準規格などのビデオ圧縮規格に従って作動してもよい。
【0069】
図9は、ビデオエンコーダ200の例を表すブロックであり、図8に表されているシステム100のビデオエンコーダ114であってよい。
【0070】
ビデオエンコーダ200は、本開示の技術のいずれか又は全てを実行するよう構成されてよい。図9の例では、ビデオエンコーダ200は、複数の機能コンポーネントを含む。本開示で記載される技術は、ビデオエンコーダ200の様々なコンポーネントの間で共有されてもよい。いくつかの例では、プロセッサが、本開示で記載される技術のいずれか又は全てを実行するよう構成されてもよい。
【0071】
ビデオエンコーダ200の機能コンポーネントは、パーティションユニット201と、モード選択ユニット203、動き推定ユニット204、動き補償ユニット205及びイントラ予測ユニット206を含み得る予測ユニット202と、残差生成ユニット207と、変換ユニット208と、量子化ユニット209と、逆量子化ユニット210と、逆変換ユニット211と、再構成ユニット212と、バッファ213と、エントロピ符号化ユニット214とを含んでよい。
【0072】
他の例では、ビデオエンコーダ200は、より多い、より少ない、又は異なる機能コンポーネントを含んでもよい。例において、予測ユニット202は、イントラブロックコピー(Intra Block Copy,IBC)ユニットを含んでもよい。IBCユニットは、少なくとも1つの参照ピクチャが、現在のビデオブロックが位置しているピクチャであるところの、IBCモードで、予測を実行してよい。
【0073】
更に、動き推定ユニット204及び動き補償ユニット205などのいくつかのコンポーネントは、高度に集積されてもよいが、説明のために図9の例では別々に表されている。
【0074】
パーティションユニット201は、ピクチャを1つ以上のビデオブロックにパーティション化し得る。ビデオエンコーダ200及びビデオデコーダ300は、様々なビデオブロックサイズをサポートしてよい。
【0075】
モード選択ユニット203は、例えば、エラー結果に基づいて、イントラ又はインターのコーディングモードの1つを選択し、結果として得られたイントラ又はインターコーディングされたブロックを、残差ブロックデータを生成する残差生成ユニット207へ、及び参照ピクチャとしての使用のために、符号化されたブロックを再構成する再構成ユニット212へ供給してよい。いくつかの例において、モード選択ユニット203は、予測がインター予測信号及びイントラ予測信号に基づくイントラ-インター複合予測(Combination of Intra and Inter Prediction,CIIP)モードを選択してもよい。モード選択ユニット203はまた、インター予測の場合に、ブロックの動きベクトルのための分解能(例えば、サブピクセル又は整数ピクセル精度)を選択してもよい。
【0076】
現在のビデオブロックに対してインター予測を実行するために、動き推定ユニット204は、バッファ213からの1つ以上の参照フレームを現在のビデオブロックと比較することによって、現在のビデオブロックの動き情報を生成してもよい。動き補償ユニット205は、動き情報と、現在のビデオブロックに関連したピクチャ以外のバッファ213からのピクチャの復号されたサンプルとに基づいて、現在のビデオブロックの予測されたビデオブロックを決定してもよい。
【0077】
動き推定ユニット204及び動き補償ユニット205は、例えば、現在のビデオブロックがIスライス、Pスライス、又はBスライスであるかどうかに応じて、現在のビデオブロックのために異なる動作を実行してもよい。
【0078】
いくつかの例において、動き推定ユニット204は、現在のビデオブロックのために一方向予測を実行してもよく、動き推定ユニット204は、現在のビデオブロックのための参照ビデオブロックをリスト0又はリスト1の参照ピクチャから探してもよい。動き推定ユニット204は、次いで、参照ビデオブロックを含むリスト0又はリスト1内の参照ピクチャを示す参照インデックスと、現在のビデオブロックと参照ビデオブロックとの間の空間変位を示す動きベクトルとを生成してよい。動き推定ユニット204は、現在のビデオブロックの動き情報として参照インデックス、予測方向インジケータ、及び動きベクトルを出力してもよい。動き補償ユニット205は、現在のビデオブロックの動き情報によって示されている参照ビデオブロックに基づいて、現在のブロックの予測されたビデオブロックを生成してもよい。
【0079】
他の例では、動き推定ユニット204は、現在のビデオブロックのために双方向予測を実行してもよく、動き推定ユニット204は、現在のビデオブロックのための参照ビデオブロックをリスト0内の参照ピクチャから探してもよく、また、現在のビデオブロックのためのもう1つの参照ビデオブロックをリスト1内の参照ピクチャから探してもよい。動き推定ユニット204は、次いで、参照ビデオブロックを含むリスト0及びリスト1内の参照ピクチャを示す参照インデックスと、参照ビデオブロックと現在のビデオブロックとの間の空間変位を示す動きベクトルとを生成してもよい。動き推定ユニット204は、現在のビデオブロックの動き情報として現在のビデオブロックの参照インデックス及び動きベクトルを出力してもよい。動き補償ユニット205は、現在のビデオブロックの動き情報によって示されている参照ビデオブロックに基づいて、現在のビデオブロックの予測されたビデオブロックを生成してもよい。
【0080】
いくつかの例において、動き推定ユニット204は、デコーダの復号化処理のために動き情報のフルセットを出力してもよい。
【0081】
いくつかの例において、動き推定ユニット204は、現在のビデオの動き情報のフルセットを出力しなくてもよい。むしろ、動き推定ユニット204は、他のビデオブロックの動き情報を参照して現在のビデオブロックの動き情報をシグナリングしてもよい。例えば、動き推定ユニット204は、現在のビデオブロックの動き情報が隣接するビデオブロックの動き情報と十分に類似していることを決定してもよい。
【0082】
一例において、動き推定ユニット204は、現在のビデオブロックに関連したシンタックス構造において、現在のビデオブロックが他のビデオブロックと同じ動き情報を有していることをビデオデコーダ300に示す値を示してもよい。
【0083】
他の例では、動き推定ユニット204は、現在のビデオブロックに関連したシンタックス構造において、他のビデオブロック及び動きベクトル差分(Motion Vector Difference,MVD)を特定してもよい。動きベクトル差分は、現在のビデオブロックの動きベクトルと、指示されたビデオブロックの動きベクトルとの間の差を示す。ビデオデコーダ300は、現在のビデオブロックの動きベクトルを決定するために、指示されたビデオブロックの動きベクトル及び動きベクトル差分を使用してもよい。
【0084】
上述されたように、ビデオエンコーダ200は、動きベクトルを予測的にシグナリングしてもよい。ビデオエンコーダ200によって実装され得る予測シグナリング技術の2つの例には、アドバンスド動きベクトル予測(Advanced Motion Vector Prediction,AMVP)及びマージモードシグナリングがある。
【0085】
イントラ予測ユニット206は、現在のビデオブロックに対してイントラ予測を実行してもよい。イントラ予測ユニット206が現在のビデオブロックに対してイントラ予測を実行する場合に、イントラ予測ユニット206は、同じピクチャ内の他のビデオブロックの復号されたサンプルに基づいて、現在のビデオブロックの予測データを生成し得る。現在のビデオブロックの予測データは、予測されたビデオブロック及び様々なシンタックス要素を含み得る。
【0086】
残差生成ユニット207は、現在のビデオブロックから現在のビデオブロックの予測されたビデオブロックを減じること(例えば、マイナス符号によって示される。)によって、現在のビデオブロックの残差データを生成してもよい。現在のビデオブロックの残差データは、現在のビデオブロック内のサンプルの異なるサンプルコンポーネントに対応する残差ビデオブロックを含み得る。
【0087】
他の例では、例えば、スキップモードで、現在のビデオブロックの残差データは存在しない場合があり、残差生成ユニット207は、減算演算を実行しなくてもよい。
【0088】
変換処理ユニット208は、現在のビデオブロックに関連した残差ビデオブロックに1つ以上の変換を適用することによって、現在のビデオブロックの1つ以上の変換係数ビデオブロックを生成してもよい。
【0089】
変換処理ユニット208が現在のビデオブロックに関連した変換係数ビデオブロックを生成した後、量子化ユニット209は、現在のビデオブロックに関連した1つ以上の量子化パラメータ(QP)値に基づいて、現在のビデオブロックに関連した変換係数ビデオブロックを量子化してもよい。
【0090】
逆量子化ユニット210及び逆変換ユニット211は、変換係数ビデオブロックに各々逆量子化及び逆変換を適用して、変換係数ビデオブロックから残差ビデオブロックを再構成してもよい。再構成ユニット212は、再構成された残差ビデオブロックを、予測ユニット202によって生成された1つ以上の予測されたビデオブロックからの対応するサンプルに加えて、バッファ213での記憶のために、現在のブロックに関連した再構成されたビデオブロックを生成してもよい。
【0091】
再構成ユニット212がビデオブロックを再構成した後、ループフィルタリング動作が、ビデオブロックにおいてビデオブロッキングアーチファクトを低減するよう実行されてもよい。
【0092】
エントロピ符号化ユニット214は、ビデオエンコーダ200の他の機能コンポーネントからデータを受け取ってもよい。エントロピ符号化ユニット214がデータを受け取るとき、エントロピ符号化ユニット214は、エントロピ符号化されたデータを生成するよう1つ以上のエントロピ符号化動作を実行し、そのエントロピ符号化されたデータを含むビットストリームを出力し得る。
【0093】
開示されている技術のいくつかの実施形態は、ビデオ処理ツール又はモードを有効にする判断又は決定を行うことを含む。ビデオ処理ツール又はモードが有効にされる場合に、エンコーダは、ビデオのブロックの処理でそのツール又はモードを使用又は実装することになるが、ツール又はモードの使用に基づき、結果として表れるビットストリームを必ずしも変更しなくてもよい。つまり、ビデオのブロックからビデオのビットストリーム(又はビットストリーム表現)への変換は、ビデオ処理ツール又はモードが判断又は決定に基づき有効にされるときにそれを使用することになる。他の例では、ビデオ処理ツール又はモードが有効にされる場合に、デコーダは、ビデオ処理ツール又はモードに基づきビットストリームが変更されていると知った上で、ビットストリームを処理することになる。つまり、ビデオのビットストリームからビデオのブロックへの変換は、判断又は決定に基づき有効にされたビデオ処理ツール又はモードを用いて実行されることになる。
【0094】
図10は、ビデオデコーダ300の例を表すブロック図であり、図8で表されているシステム100のビデオデコーダ124であってよい。
【0095】
ビデオデコーダ300は、本開示の技術のいずれか又は全てを実行するよう構成されてよい。図10の例では、ビデオデコーダ300は、複数の機能コンポーネントを含む。本開示で記載される技術は、ビデオデコーダ300の様々なコンポーネントの間で共有されてもよい。いくつかの例では、プロセッサが、本開示で記載される技術のいずれか又は全てを実行するよう構成されてもよい。
【0096】
図10の例では、ビデオデコーダ300は、エントロピ復号化ユニット301と、動き補償ユニット302と、イントラ予測ユニット303と、逆量子化ユニット304と、逆変換ユニット305と、再構成ユニット306と、バッファ307とを含む。ビデオデコーダ300は、いくつかの例において、ビデオエンコーダ200(図9)に関して記載された符号化パスとは概して逆の復号化パスを実行してもよい。
【0097】
エントロピ復号化ユニット301は、符号化されたビットストリームを取り出し得る。符号化されたビットストリームは、エントロピコーディングされたビデオデータ(例えば、ビデオデータの符号化されたブロック)を含んでもよい。エントロピ復号化ユニット301は、エントロピコーディングされたビデオデータを復号してよく、エントロピ復号されたビデオデータから、動き補償ユニット302は、動きベクトル、動きベクトル精度、参照ピクチャリストインデックス、及び他の動き情報を含む動き情報を決定し得る。動き補償ユニット302は、例えば、AMVP及びマージモードを実行することによって、そのような情報を決定してもよい。
【0098】
動き補償ユニット302は、場合により、補間フィルタに基づいた補間を実行して、動き補償されたブロックを生成してもよい。サブピクセル精度で使用される補間フィルタのための識別子は、シンタックス要素に含まれてもよい。
【0099】
動き補償ユニット302は、参照ブロックのサブ整数ピクセルについて補間値を計算するために、ビデオブロックの符号化中にビデオエンコーダ200によって使用された補間フィルタを使用してもよい。動き補償ユニット302は、受け取られたシンタックス情報に従って、ビデオエンコーダ200によって使用された補間フィルタを決定し、その補間フィルタを使用して、予測ブロックを生成し得る。
【0100】
動き補償ユニット302は、符号化されたビデオシーケンスのフレーム及び/又はスライスを符号化するために使用されるブロックのサイズと、符号化されたビデオシーケンスのピクチャの各マクロブロックがどのようにパーティション化されるかを記述するパーティション情報と、各パーティションがどのように符号化されるかを示すモードと、各インター符号化されたブロックについての1つ以上の参照フレーム(及び参照フレームリスト)と、符号化されたビデオシーケンスを復号するための他の情報とを決定するために、シンタックス情報のいくつかを使用してもよい。
【0101】
イントラ予測ユニット303は、空間的に隣接するブロックから予測ブロックを形成するよう、例えば、ビットストリームで受け取られたイントラ予測モードを使用してもよい。逆量子化ユニット304は、ビットストリームで供給されてエントロピ復号化ユニット301によって復号された量子化されたビデオブロック係数を逆量子化、すなわち、量子化解除する。逆変換ユニット305は、逆変換を適用する。
【0102】
再構成ユニット306は、動き補償ユニット302又はイントラ予測ユニット303によって生成された対応する予測ブロックを残差ブロックに加算して、復号ブロックを形成し得る。望まれる場合には、デブロッキングフィルタも、ブロッキネスアーチファクトを取り除くために、復号されたブロックにフィルタをかけるよう適用されてもよい。復号されたビデオブロックは、次いで、バッファ307に格納され、バッファ307は、その後の動き補償/イントラ予測のために参照ブロックを供給し、更には、復号されたビデオを表示デバイスでの提示のために生成する。
【0103】
いくつかの実施形態によって好まれる解決法のリストが次に与えられる。
【0104】
以下の解決法は、前のセクション(例えば、項目1)で説明された技術の例示的な実施形態を示す。
【0105】
解決法1.
ビデオ処理方法(例えば、図7で表される方法900)であって、
1つ以上のビデオピクチャを含み、各ビデオピクチャが1つ以上のタイルを含むビデオと、該ビデオのコーディングされた表現との間の変換を実行するステップを含み、
前記コーディングされた表現はフォーマット規則に従い、
前記フォーマット規則は、前記コーディングされた表現においてシグナリングされる第1情報と、前記コーディングされた表現から導出される第2情報とを指定し、
少なくとも前記第1情報又は前記第2情報は、前記1つ以上のタイルの行インデックス又は列インデックスに関係がある、
方法。
【0106】
解決法2.
前記フォーマット規則は、各ビデオピクチャの各コーディングツリーユニット列のタイル列インデックスが導出される、ことを定める、
解決法1に記載の方法。
【0107】
解決法3.
前記フォーマット規則は、各ビデオピクチャの各コーディングツリーユニット行のタイル行インデックスが導出される、ことを定める、
解決法1に記載の方法。
【0108】
以下の解決法は、前のセクション(例えば、項目2)で説明された技術の例示的な実施形態を示す。これらの解決法では、ビデオ領域はビデオピクチャであってよく、ビデオユニットはビデオブロック又はコーディングツリーユニット又はビデオスライスであってよい。
【0109】
解決法4.
ビデオ処理の方法であって、
ビデオのビデオ領域のビデオユニットと前記ビデオのコーディングされた表現との間の変換を実行するステップを含み、
前記コーディングされた表現はフォーマット規則に従い、
前記フォーマット規則は、前記ビデオ領域で第1制御情報が、第2制御情報が前記ビデオユニットのレベルで含まれるかどうかを制御する、ことを定め、
前記第1制御情報及び/又は前記第2制御情報は、前記変換のためのルーマ再成形プロセス(RP)又はクロマ残差スケーリング(CRS)又はルーママッピング及びクロマスケーリング(LMCS)に関する情報を含む、
方法。
【0110】
解決法5.
前記第1制御情報は、前記第2制御情報が前記コーディングされた表現に含まれるかどうかを示すインジケータを含む、
解決法4に記載の方法。
【0111】
解決法6.
前記第1制御情報の特定の値は、LMCSが前記ビデオ領域内の全てのビデオユニットに対して無効にされることを示す、
解決法4~5に記載の方法。
【0112】
解決法7.
前記第2制御情報は、前記ビデオユニットでのLMCSの有効化を制御する、
解決法4~6のいずれかに記載の方法。
【0113】
解決法8.
前記第1制御情報は、複数のインジケータを含む、
解決法4に記載の方法。
【0114】
解決法9.
前記変換は、前記ビデオを前記コーディングされた表現に符号化することを含む、
解決法1乃至8のうちいずれかに記載の方法。
【0115】
解決法10.
前記変換は、前記コーディングされた表現を復号して、前記ビデオのピクセル値を生成することを含む、
解決法1乃至8のうちいずれかに記載の方法。
【0116】
解決法11.
解決法1乃至10のうちの1つ以上に記載の方法を実装するよう構成されたプロセッサを有するビデオ復号化装置。
【0117】
解決法12.
解決法1乃至10のうちの1つ以上に記載の方法を実装するよう構成されたプロセッサを有するビデオ符号化装置。
【0118】
解決法13.
コンピュータコードを記憶し、該コードは、プロセッサによって実行される場合に、プロセッサに、解決法1乃至10のうちいずれかに記載の方法を実装させる、
コンピュータプログラム製品。
【0119】
解決法14.
本明細書で記載される方法、装置、又はシステム。
【0120】
本明細書で記載される解決法では、エンコーダは、コーディングされた表現をフォーマット規則に従って生成することによって、フォーマット規則に従い得る。本明細書で記載される解決法では、デコーダは、フォーマット規則に従ってシンタックス要素の有無を知った上で、コーディングされた表現内のシンタックス要素をパースして、復号されたビデオを生成するために、フォーマット規則を使用し得る。
【0121】
図11は、ビデオ処理の例示的な方法1100のフローチャートである。動作1102は、1つ以上のビデオピクチャを含むビデオとビデオのビットストリームとの間の変換を実行することを含み、各ビデオピクチャは、1つ以上のタイル列を含む1つ以上のタイルを有し、ビットストリームはフォーマット規則に従い、フォーマット規則は、タイル列インデックスがビデオピクチャのタイルの各コーティングツリーユニット(CTU)列について導出されることを定める。
【0122】
方法1100のいくつかの実施形態で、ctbToTileColIdx[ctbAddrX]と表される、ctbAddrX番目のタイル列のタイル列インデックスは、次の:
tileX=0
for(ctbAddrX=0;ctbAddrX<=PicWidthInCtbsY;ctbAddrX++){
if(ctbAddrX==tileColBd[tileX+1])
tileX++
ctbToTileColIdx[ctbAddrX]=tileX
}
通りに導出され、PicWidthInCtbsYは、コーディングされたツリーブロック(CTB)の単位でビデオピクチャの幅を表し、tileColBd[i]は、CTBの単位でi番目のタイル列境界の位置を表す。
【0123】
方法1100のいくつかの実施形態で、各ビデオピクチャはまた、1つ以上のサブピクチャを有し、各サブピクチャは、ビデオピクチャの長方形サブセットを集合的に形成する1つ以上のスライスを有し、フォーマット規則は更に、含まれているタイル列の単位でのサブピクチャの幅が、そのサブピクチャに含まれている最左CTU及び/又は最右CTUのタイル列インデックスに基づき導出される、ことを定める。
【0124】
方法1100のいくつかの実施形態で、SubpicWidthInTiles[i]と表される、タイル列の単位でのi番目のサブピクチャの幅は、次の:
for(i=0;i<=sps_num_subpics_minus1;i++){
leftX=sps_subpic_ctu_top_left_x[i]
rightX=leftX+sps_subpic_width_minus1[i]
SubpicWidthInTiles[i]=ctbToTileColIdx[rightX]+1-ctbToTileColIdx[leftX]
}
通りに導出され、sps_num_subpics_minus1は、ビデオピクチャにおけるサブピクチャの数を表し、sps_subpic_ctu_top_left_x[i]は、i番目のサブピクチャの左上CTUの水平位置を表し、sps_subpic_width_minus1[i]に1をプラスしたものは、i番目のサブピクチャの幅を指定し、ctbToTileColIdx[rightX]及びctbToTileColIdx[leftX]は夫々、サブピクチャに含まれている最左CTU及び最右CTUのタイル列インデックスを表す。
【0125】
方法1100のいくつかの実施形態で、タイルが複数の長方形スライスにパーティション化され、タイルの長方形スライスのサブセットのみがサブピクチャに含まれることに応答して、タイルは、サブピクチャの幅の値で1つのタイルとしてカウントされる。
【0126】
図12は、ビデオ処理の例示的な方法1200のフローチャートである。動作1202は、1つ以上のビデオピクチャを含むビデオとビデオのビットストリームとの間の変換を実行することを含み、各ビデオピクチャは、1つ以上のタイル行を含む1つ以上のタイルを有し、ビットストリームはフォーマット規則に従い、フォーマット規則は、タイル行インデックスがビデオピクチャのタイルの各コーティングツリーユニット(CTU)行について導出されることを定める。
【0127】
方法1200のいくつかの実施形態で、ctbToTileRowIdx[ctbAddrY]と表される、ctbAddrY番目のタイル行の前記タイル行インデックスは、次の:
tileY=0
for(ctbAddrY=0;ctbAddrY<=PicHeightInCtbsY;ctbAddrY++){
if(ctbAddrY==tileRowBd[tileY+1])
tileY++
ctbToTileRowIdx[ctbAddrY]=tileY
}
通りに導出され、PicHeightInCtbsYは、コーディングされたツリーブロック(CTB)の単位でビデオピクチャの高さを表し、tileRowBd[i]は、CTBの単位でi番目のタイル行境界の位置を表す。
【0128】
方法1200のいくつかの実施形態で、各ビデオピクチャはまた、1つ以上のサブピクチャを有し、各サブピクチャは、ビデオピクチャの長方形サブセットを集合的に形成する1つ以上のスライスを有し、フォーマット規則は更に、タイル行の単位でのサブピクチャの高さが、サブピクチャに含まれている上部CTU及び/又は下部CTUのタイル行インデックスに基づき導出される、ことを定める
【0129】
方法1200のいくつかの実施形態で、SubpicHeightInTiles[i]と表される、タイル行の単位でのi番目のサブピクチャの高さは、次の:
for(i=0;i<=sps_num_subpics_minus1;i++){
topY=sps_subpic_ctu_top_left_y[i]
bottomY=topY+sps_subpic_height_minus1[i]
SubpicHeightInTiles[i]=ctbToTileRowIdx[botY]+1-ctbToTileRowIdx[topY]
}
通りに導出され、sps_num_subpics_minus1は、ビデオピクチャにおけるサブピクチャの数を表し、sps_subpic_ctu_top_left_y[i]は、i番目のサブピクチャの左上CTUの垂直位置を表し、sps_subpic_height_minus1[i]に1をプラスしたものは、i番目のサブピクチャの高さを指定し、ctbToTileRowIdx[botY]及びctbToTileRowIdx[topY]は夫々、サブピクチャに含まれている下部CTU及び上部CTUのタイル行インデックスを表す。
【0130】
方法1200のいくつかの実施形態で、タイルが複数の長方形スライスにパーティション化され、タイルの長方形スライスのサブセットのみがサブピクチャに含まれることに応答して、タイルは、サブピクチャの高さの値で1つのタイルとしてカウントされる。
【0131】
図13は、ビデオ処理の例示的な方法1300のフローチャートである。動作1302は、少なくとも1つのビデオピクチャを含むビデオとビデオのビットストリームとの間の変換を規則に従って実行することを含み、少なくとも1つのビデオピクチャは、1つ以上のスライス及び1つ以上のサブピクチャを有し、規則は、少なくとも1つのビデオピクチャ内の1つ以上のスライスのスライスインデックスの順序が、単一のスライスが少なくとも1つのビデオピクチャのサブピクチャごとに含まれるかどうかを示す少なくとも1つのビデオピクチャに関連したシンタックス要素に応答して示される、ことを定める。
【0132】
方法1300のいくつかの実施形態で、規則は更に、少なくとも1つのビデオピクチャ内の各スライスが長方形スライスであることに応答して、スライスインデックスが示される、ことを定める。方法1300のいくつかの実施形態で、規則は、1つ以上のサブピクチャの夫々が単一の長方形スライスを含むことをシンタックス要素が示す場合に、順序が当該ビデオピクチャ内の1つ以上のサブピクチャのサブピクチャインデックスの値の増加に対応する、ことを定め、1つ以上のサブピクチャのサブピクチャインデックスは、少なくとも1つのビデオピクチャによって参照されるシーケンスパラメータセット(SPS)で示される。方法1300のいくつかの実施形態で、規則は、各サブピクチャが1つ以上の長方形スライスを含むことをシンタックス要素が示す場合に、順序が、1つ以上のスライスが少なくとも1つのビデオピクチャによって参照されるピクチャパラメータセット(PPS)に含まれる順序に対応する、ことを定める。方法1300のいくつかの実施形態で、シンタックス要素は、少なくとも1つのビデオピクチャによって参照されるピクチャパラメータセット(PPS)に含まれる。
【0133】
図14は、ビデオ処理の例示的な方法1400のフローチャートである。動作1402は、ビデオのビデオ領域のビデオユニットとビデオのビットストリームとの間の変換を実行することを含み、ビットストリームはフォーマット規則に従い、フォーマット規則は、ビットストリームにおけるビデオ領域の第1レベルでの第1制御情報が、ビットストリームにおいてビデオユニットの第2レベルで第2制御情報が含まれるかどうかを制御する、ことを定め、第2レベルは第1レベルよりも小さく、第1制御情報及び第2制御情報は、ルーママッピング及びクロマスケーリング(LMCS)ツールがビデオユニットに適用されるかどうか又はどのように適用されるかに関する情報を含み、LMCSツールは、変換のためのルーマ再成形プロセス(RP)又はクロマ残差スケーリング(CRS)を使用することを含む。
【0134】
方法1400のいくつかの実施形態で、第1制御情報は、ビデオユニットの第2レベルでLMCSツールが有効にされるかどうかを特定するために、ビデオ領域の第1レベルでLMCSツールが1つ以上のスライスに対して有効にされるかどうかを示す第1インジケータを選択的に含み、第1インジケータは非バイナリ値である。方法1400のいくつかの実施形態で、ビデオ領域の第1レベルはピクチャヘッダを含む。方法1400のいくつかの実施形態で、ビデオ領域の第1レベルはピクチャヘッダを含み、第1制御情報は第1インジケータを含み、LMCSツールは、第1インジケータが第1値に等しいときにピクチャヘッダの全スライスに対して有効にされ、LMCSツールは、第1インジケータが第2値に等しいときにピクチャヘッダの全てよりも少ないスライスに対して有効にされ、LMCSツールは、前記第1インジケータが第3値に等しいときにピクチャヘッダの全スライスに対して無効にされ、第1値、第2値及び第3値は互いに異なる。方法1400のいくつかの実施形態で、第1インジケータの値は、第1制御情報が第1インジケータを除く場合に、デフォルト値であると推測される。
【0135】
方法1400のいくつかの実施形態で、ビデオ領域の第1レベルはピクチャヘッダを含み、第1制御情報は第1インジケータを含み、LMCSツールは、第1インジケータが第1値に等しいときにピクチャヘッダの全スライスに対して無効にされ、LMCSツールは、第1インジケータが第2値に等しいときにピクチャヘッダの全てよりも少ないスライスに対して無効にされ、LMCSツールは、第1インジケータが第3値に等しいときにピクチャヘッダの全スライスに対して有効にされ、第1値、第2値及び第3値は互いに異なる。方法1400のいくつかの実施形態で、第1インジケータが第1制御情報に選択的に含まれるかどうかは、シーケンスレベルでLMCSツールが有効にされるかどうかを示すビットストリーム内のシンタックス要素の値に基づく。方法1400のいくつかの実施形態で、第1インジケータは、u(v)又はu(2)又はue(v)でコーディングされる。方法1400のいくつかの実施形態で、第1インジケータは、トランケーテッド・ユーナリー・コードでコーディングされる。
【0136】
方法1400のいくつかの実施形態で、1つ以上のスライス及び/又はクロマスケーリングシンタックス要素によって使用されるLMCSツールの適応パラメータセット(APS)情報は、ビデオ領域の第1レベルでLMCSツールが1つ以上のスライスに対して有効にされるかどうかを示す第1インジケータの値に基づき、ビットストリームに含まれる。方法1400のいくつかの実施形態で、第2制御情報は、ビデオユニットの第2レベルでLMCSツールが1つ以上のスライスに対して有効又は無効にされるかどうかを示す第2インジケータを選択的に含み、第2インジケータは、第1制御情報に含まれる第1インジケータの値に基づきビットストリームに含まれ、第1インジケータは、ビデオユニットの第2レベルでLMCSツールが1つ以上のスライスに対して有効又は無効にされるかどうかを示す。方法1400のいくつかの実施形態で、第2制御情報はスライスヘッダを有する。方法1400のいくつかの実施形態で、第2インジケータは、第1インジケータが第1値に等しいことに応答して、第2制御情報に含まれる。方法1400のいくつかの実施形態で、第2インジケータは、第1インジケータ>>1、又は第1インジケータ/2、又は第1インジケータ&0x01、の条件確認を実行することに応答して、第2制御情報に含まれ、ここで、>>は右シフト演算を示し、&はビットワイズの論理AND演算を示す。
【0137】
方法1400のいくつかの実施形態で、第2インジケータは、第1インジケータが第1値に等しいことに応答して、ビデオユニットの第2レベルでLMCSツールが1つ以上のスライスに対して有効にされることを示すと推測され、あるいは、第2インジケータは、第1インジケータが第3値に等しいことに応答して、ビデオユニットの第2レベルでLMCSツールが1つ以上のスライスに対して無効にされることを示すと推測され、第1値、第1インジケータの第2値、及び第3値は、互いに異なる。方法1400のいくつかの実施形態で、第1制御情報は、ビデオユニットの第2レベルでLMCSツールが有効にされるかどうかを特定するために、ビデオ領域の第1レベルでLMCSツールが1つ以上のスライスに対して有効にされるかどうかを示す複数のインジケータを有し、複数のインジケータは非バイナリ値を有する。方法1400のいくつかの実施形態で、複数のインジケータは、ピクチャヘッダに含まれる少なくとも2つのインジケータを含む。方法1400のいくつかの実施形態で、少なくとも2つのインジケータは、LMCSツールがピクチャヘッダに関連した少なくとも1つのスライスに対して有効にされるかどうかを特定する第1インジケータを含み、少なくとも2つのインジケータは、LMCSツールがピクチャヘッダに関連した全スライスに対して有効にされるかどうかを特定する第2インジケータを選択的に含む。方法1400のいくつかの実施形態で、第2インジケータは、第1インジケータの値に基づき複数のインジケータに選択的に存在する。
【0138】
方法1400のいくつかの実施形態で、第1インジケータの値は、LMCSツールが少なくとも1つのスライスに対して有効にされることを示す。方法1400のいくつかの実施形態で、LMCSツールは、第2インジケータがビットストリームで不在であることに応答して、ピクチャヘッダに関連した全スライスに対して有効にされると推測される。方法1400のいくつかの実施形態で、少なくとも2つのインジケータは、第2インジケータの第2値に基づきスライスヘッダに選択的に含まれる第3インジケータを含む。方法1400のいくつかの実施形態で、第2インジケータの第2値は、LMCSツールが全てのスライスに対して無効にされることを示す。方法1400のいくつかの実施形態で、第3インジケータの値は、第3インジケータがビットストリームに不在であることに応答して、第1インジケータの第1値及び/又は第2インジケータの第2値に基づき推測される。方法1400のいくつかの実施形態で、少なくとも2つのインジケータは、LMCSツールがピクチャヘッダに関連した少なくとも1つのスライスに対して無効にされるかどうかを特定する第1インジケータを含み、少なくとも2つのインジケータは、LMCSツールがピクチャヘッダに関連した全スライスに対して無効にされるかどうかを特定する第2インジケータを選択的に含む。方法1400のいくつかの実施形態で、第2インジケータは、第1インジケータの値に基づき複数のインジケータに存在する。方法1400のいくつかの実施形態で、第1インジケータの値は、LMCSツールが少なくとも1つのスライスに対して無効にされることを特定する。方法1400のいくつかの実施形態で、LMCSツールは、第2インジケータがビットストリームに不在であることに応答して、ピクチャヘッダに関連した全スライスに対して無効にされると推測される。方法1400のいくつかの実施形態で、少なくとも2つのインジケータは、第2インジケータの第2値に基づきスライスヘッダに第3インジケータを選択的に含む。
【0139】
方法1400のいくつかの実施形態で、第2インジケータの第2値は、LMCSツールが全てのスライスに対して有効にされることを特定する。方法1400のいくつかの実施形態で、第3インジケータの値は、第3インジケータがビットストリームに不在であることに応答して、第1インジケータの第1値及び/又は第2インジケータの第2値に基づき推測される。方法1400のいくつかの実施形態で、複数のインジケータは、シーケンスレベルでLMCSツールが有効にされるかどうかを示すシンタックス要素の値に基づき、第1インジケータを選択的に含む。方法1400のいくつかの実施形態で、複数のインジケータは、ビデオユニットの第2レベルでLMCSツールが有効又は無効にされるかどうかを示す第3インジケータを選択的に含み、第3インジケータは、第1インジケータの第1値及び/又は第2インジケータの第2値に基づき選択的に存在する。方法1400のいくつかの実施形態で、第3インジケータは、LMCSツールが全スライスに対して有効にされないこと又はLMCSツールが全スライスに対して無効にされないことを示す第2インジケータに基づき、選択的に存在する。方法1400のいくつかの実施形態で、第1インジケータ、第2インジケータ、及び/又は第3インジケータは、CRS又はルーマRPの利用を制御する。
【0140】
図15は、ビデオ処理の例示的な方法1500のフローチャートである。動作1502は、ビデオとビデオのビットストリームとの間の変換を規則に従って実行することを含み、規則は、参照されたシーケンスパラメータセット内の第1シンタックス要素によりルーママッピング及びクロマスケーリング(LMCS)ツールが有効にされることが示される場合に、LMCSツールが有効にされることを定め、規則は、第1シンタックス要素によりLMCSツールが無効にされることが示される場合に、LMCSツールが使用されないことを定め、規則は、ビットストリーム内の第2シンタックス要素によりLMCSツールがビデオのピクチャヘッダレベルで有効にされることが示される場合に、ビデオピクチャのピクチャヘッダに関連した全てのスライスについてLMCSツールが有効にされることを定め、規則は、第2シンタックス要素によりLMCSツールがビデオのピクチャヘッダレベルで無効にされることが示される場合に、ピクチャヘッダに関連した全てのスライスについてLMCSツールが使用されないことを定め、規則は、ビットストリームに選択的に含まれている第3シンタックス要素によりLMCSツールがビデオのスライスヘッダレベルで有効にされることが示される場合に、ビデオピクチャのスライスヘッダに関連した現在のスライスについてLMCSツールが使用されることを定め、規則は、第3シンタックス要素によりLMCSツールがビデオのスライスヘッダレベルで無効にされることが示される場合に、現在のスライスについてLMCSツールが使用されないことを定める。
【0141】
方法1500のいくつかの実施形態で、規則は、LMCSツールがビデオピクチャの全スライスに対して使用されない場合に、第3シンタックス要素がビットストリームのスライスヘッダに含まれないことを定める。方法1500のいくつかの実施形態で、LMCSツールが有効又は無効にされるかどうかは、第2シンタックス要素に基づく。方法1500のいくつかの実施形態で、LMCSツールは、LMCSツールがビデオピクチャの全スライスに対して使用される場合に有効にされ、LMCSツールは、LMCSツールがビデオピクチャの全スライスに対して使用されるわけではない場合に無効にされる。
【0142】
図16は、ビデオ処理の例示的な方法1600のフローチャートである。動作1602は、1つ以上のビデオピクチャを含むビデオとビデオのビットストリームとの間の変換を規則に従って実行することを含み、規則は、適応動きベクトル差分分解(AMVR)がアフィンインターモードの動きベクトルコーディングで使用されるかどうかが、前記AMVRが有効にされるかどうかを示す参照されたシーケンスパラメータセット(SPS)内に選択的に含まれているシンタックス要素に基づくことを定め、規則は、シンタックス要素によりAMVRが無効にされることが示される場合に、AMVRがアフィンインターモードの動きベクトルコーディングで使用されないことを定め、規則は、シンタックス要素がSPSに含まれていない場合に、AMVRがアフィンインターモードの動きベクトルコーディングで使用されないと推測されることを定める。
【0143】
図17は、ビデオ処理の例示的な方法1700のフローチャートである。動作1702は、ビデオピクチャを含むビデオとビデオのビットストリームとの間の変換を規則に従って実行することを含み、ビデオピクチャはサブピクチャ、タイル及びスライスを含み、規則は、タイルからパーティション化されるスライスをサブピクチャが含むことにより、変換が、ビデオピクチャのタイルの数を用いてサブピクチャの高さをカウントしないようにすることによって実行される、ことを定める。
【0144】
方法1700のいくつかの実施形態で、サブピクチャの高さは、コーディングツリーユニット(CTU)の数に基づきカウントされる。方法1700のいくつかの実施形態で、サブピクチャの高さは、1タイル行に満たない。
【0145】
図18は、ビデオ処理の例示的な方法1800のフローチャートである。動作1802は、ビデオピクチャを含むビデオとビデオのビットストリームとの間の変換を実行することを含み、ビットストリームは、ビデオピクチャのコーディングツリーユニット(CTU)の数に基づきカウントされるビデオピクチャのサブピクチャの高さを示す。
【0146】
方法1800のいくつかの実施形態で、サブピクチャの高さは、ビデオピクチャのタイルの数に基づかない。方法1800のいくつかの実施形態で、サブピクチャの高さは、1タイル行に満たない。
【0147】
図19は、ビデオ処理の例示的な方法1900のフローチャートである。動作1902は、規則に従って、ビデオのビデオピクチャのサブピクチャの高さがビデオピクチャのタイル行の高さよりも低いかどうかに関する決定を行うことを含む。動作1904は、決定を用いて、ビデオとビデオのビットストリームとの間の変換を実行することを含む。
【0148】
方法1900のいくつかの実施形態で、規則は、サブピクチャが1つのタイル行からのコーディングツリーユニット(CTU)しか含まず、サブピクチャの上部に位置しているCTUの第1組が1つのタイル行の上部に位置しているCTUの第2組と同じでないか、又はサブピクチャの下部に位置しているCTUの第3組が1つのタイル行の下部に位置しているCTUの第4組と同じでないかのどちらかである場合に、サブピクチャの高さが1つのタイル行よりも低い、ことを定める。方法1900のいくつかの実施形態で、ビデオピクチャの各サブピクチャが1つのスライスしか含まず、サブピクチャの高さが1つのタイル行よりも低い場合に、ビデオピクチャのピクチャレベルスライスインデックスiを有する各スライスについて、CtbAddrInSlice[i][j]の値は、サブピクチャのCTUラスタスキャンでのj番目のCTUのピクチャラスタスキャンCTUアドレスから導出され、jは、0以上でありかつスライス内のCTUの数から1をマイナスした数以下である範囲内にある。
【0149】
方法1900のいくつかの実施形態で、規則は、サブピクチャの上部に位置しているCTUの第1組とサブピクチャの下部に位置しているCTUの第2組との間の距離がビデオピクチャのタイルの第2高さよりも短い場合に、サブピクチャの高さが1つのタイル行よりも低いことを定め、タイルの第2高さは、サブピクチャのCTUの数に基づく。方法1900のいくつかの実施形態で、ビデオピクチャの各サブピクチャが1つのスライスしか含まず、サブピクチャの高さが1つのタイル行よりも高いか又はそれに等しい場合に、ビデオピクチャのピクチャレベルスライスインデックスiを有する各スライスについて、CtbAddrInSlice[i][j]の値は、サブピクチャ内のCTUの順序でのj番目のCTUのピクチャラスタスキャンCTUアドレスから導出され、jは、0以上でありかつスライス内のCTUの数から1をマイナスした数以下である範囲内にある。
【0150】
方法1900のいくつかの実施形態で、サブピクチャ内のCTUの順序は、第1タイルインデックスを有する第1タイル内の第1CTUが第2タイルインデックスを有する第2タイル内の第2CTUの前に位置するようなものであり、第1タイルインデックスの値は、第2タイルインデックスの値よりも小さい。方法1900のいくつかの実施形態で、サブピクチャ内のCTUの順序は、サブピクチャ内の1つのタイル内のCTUがその1つのタイル内のCTUのラスタスキャンで順序付けられるようなものである。
【0151】
方法1100~1900のいくつかの実施形態で、変換を実行することは、ビデオをビットストリームに符号化することを含む。方法1100~1900のいくつかの実施形態で、変換を実行することは、ビデオをビットストリームに符号化することを含み、方法は更に、ビットストリームを非一時的なコンピュータ可読記録媒体に格納することを含む。方法1100~1900のいくつかの実施形態で、変換を実行することは、ビデオをビットストリームから復号することを含む。
【0152】
いくつかの実施形態で、ビデオ復号化装置は、方法1100~1900のいずれか1つ以上について記載されている動作を実装するよう構成されたプロセッサを有する。いくつかの実施形態で、ビデオ符号化装置は、方法1100~1900のいずれか1つ以上について記載されている動作を実装するよう構成されたプロセッサを有する。いくつかの実施形態で、コンピュータプログラム製品は命令を記憶しており、命令は、プロセッサによって実行される場合に、プロセッサに、方法1100~1900のいずれか1つ以上について記載されている動作を実装させる。いくつかの実施形態で、非一時的なコンピュータ可読記憶媒体は、方法1100~1900のいずれか1つ以上について記載されている動作に従って生成されたビットストリームを記憶する。いくつかの実施形態で、非一時的なコンピュータ可読記憶媒体は、プロセッサに方法1100~1900のいずれか1つ以上について記載されている動作を実装させる命令を記憶している。いくつかの実施形態で、ビットストリーム生成の方法は、方法1100~1900のいずれか1つ以上について記載されている動作に従ってビデオのビットストリームを生成することと、ビットストリームをコンピュータ可読プログラム媒体に格納することとを有する。いくつかの実施形態で、方法、装置、開示されている方法に従って生成されたビットストリーム、又はシステムが、本明細書で記載されている。
【0153】
本明細書中、「ビデオ処理」という用語は、ビデオ符号化、ビデオ復号化、ビデオ圧縮又はビデオ圧縮解除を指すことができる。例えば、ビデオ圧縮アルゴリズムは、ビデオのピクセル表現から対応するビットストリーム表現への変換又はその逆の変換の間に適用され得る。現在のビデオブロックのビットストリーム表現は、例えば、シンタックスによって定義されているような、ビットストリームにおいて同じ場所に配置されているか又は異なる位置に散らばっているかのどちらかであるビットに対応し得る。例えば、マクロブロックは、変換及びコーディングされた誤り残差(error residual)値に関して、またビットストリーム内のヘッダ及び他のフィールドにあるビットを用いて、符号化され得る。更に、変換の間に、デコーダは、上記の解決法で記載されているように、決定に基づいて、いくつかのフィールドの有無を知った上でビットストリームをパースし得る。同様に、エンコーダは、特定のシンタックスフィールドが含まれるべきか否かを決定し、それに応じて、シンタックスフィールドをコーディングされた表現に含めるか又はそれから除くかのどちらによって、コーディングされた表現を生成し得る。
【0154】
本明細書で記載されている開示された及び他の解決法、例、実施形態、モジュール、及び機能動作は、デジタル電子回路で、又は本明細書で開示されている構造及びそれらの構造的同等物を含むコンピュータソフトウェア、ファームウェア、若しくはハードウェアで、あるいは、それらの1つ以上の組み合わせで実装され得る。開示された及び他の実施形態は、1つ以上のコンピュータプログラム製品、つまり、データ処理装置によって実行されるか又はその動作を制御するかのどちらかであるコンピュータ可読媒体で符号化されたコンピュータプログラム命令の1つ以上のモジュール、として実装され得る。コンピュータ可読媒体は、マシン可読記憶デバイス、マシン可読記憶基板、メモリデバイス、マシン可読な伝播信号に影響を与える物質の組成、又はそれらの1つ以上の組み合わせであることができる。「データ処理装置」という用語は、例として、プログラム可能なプロセッサ、コンピュータ、又は複数のプロセッサ若しくはコンピュータを含む、データを処理するための全ての装置、デバイス、及びマシンを包含する。装置は、ハードウェアに加えて、問題となっているコンピュータプログラムのための実行環境を作り出すコード、例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、又はそれらの1つ以上の組み合わせを構成するコードを含むことができる。伝播信号は、人工的に生成された信号、例えば、マシンで生成された電気、光、又は電磁気信号であり、適切な受信器装置への伝送のために情報を符号化するよう生成されている。
【0155】
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、又はコードとしても知られる。)は、コンパイル済み又は解釈済みの言語を含む如何なる形式のプログラミング言語でも記述可能であり、それは、スタンドアロンプログラムとして又はコンピューティング環境における使用に適したモジュール、コンポーネント、サブルーチン、若しくは他のユニットとして、を含め、如何なる形式でもデプロイ可能である。コンピュータプログラムは、必ずしもファイルシステムにおけるファイルに対応しない。プログラムは、問題となっているプログラムに専用の単一のファイルで、又は複数の協調したファイル(例えば、1つ以上のモジュール、サブプログラム、又はコードの部分を保存するファイル)で、他のプログラム又はデータ(例えば、マークアップ言語文書で保存された1つ以上のスクリプト)を保持するファイルの部分において保存可能である。コンピュータプログラムは、1つのコンピュータで、あるいは、1つの場所に位置しているか、又は複数の場所にわたって分布しており、通信ネットワークによって相互接続されている複数のコンピュータで、実行されるようデプロイ可能である。
【0156】
本明細書で説明されているプロセス及びロジックフローは、入力データに作用して出力を生成することによって機能を実行するよう1つ以上のコンピュータプログラムを実行する1つ以上のプログラム可能なプロセッサによって実行可能である。プロセス及びロジックフローはまた、専用のロジック回路、例えば、フィールド・プログラマブル・ゲート・アレイ(FPGA)又は特定用途向け集積回路(ASIC)によっても実行可能であり、装置は、そのようなものとして実装可能である。
【0157】
コンピュータプログラムの実行に適したプロセッサは、例として、汎用のマイクロプロセッサ及び専用のマイクロプロセッサの両方、並びにあらゆる種類のデジタルコンピュータのいずれか1つ以上のプロセッサを含む。一般に、プロセッサは、リード・オンリー・メモリ若しくはランダム・アクセス・メモリ又はその両方から命令及びデータを読み出すことになる。コンピュータの必須の要素は、命令を実行するプロセッサと、命令及びデータを保存する1つ以上のメモリデバイスとである。一般に、コンピュータはまた、データを保存する1つ以上の大容量記憶デバイス、例えば、磁気、光学磁気ディスク、又は光ディスクを含むか、あるいは、そのような1つ以上の大容量記憶デバイスからのデータの受信若しくはそれへのデータの転送又はその両方のために動作可能に結合されることになる。しかし、コンピュータは、そのようなデバイスを有する必要はない。コンピュータプログラム命令及びデータを保存するのに適したコンピュータ可読媒体は、例として、半導体メモリデバイス、例えば、EPROM、EEPROM、及びフラッシュメモリデバイス;磁気ディスク、例えば、内蔵ハードディスク又はリムーバブルディスク;光学磁気ディスク;並びにCD ROM及びDVD-ROMディスクを含む全ての形式の不揮発性メモリ、媒体及びメモリデバイスを含む。プロセッサ及びメモリは、専用のロジック回路によって強化されるか、あるいは、それに組み込まれ得る。
【0158】
本明細書は、多数の詳細を含むが、それらは、あらゆる対象の又は請求される可能性があるものの範囲に対する限定としてではなく、むしろ、特定の技術の特定の実施形態に特有であり得る特徴の説明として解釈されるべきである。別々の実施形態に関連して本明細書で説明されている特定の特徴は、単一の実施形態と組み合わせても実装可能である。逆に、単一の実施形態に関連して説明されている様々な特徴はまた、複数の実施形態で別々に、又は何らかの適切なサブコンビネーションで実装可能である。更に、特徴は、特定の組み合わせで動作するものとして先に説明され、更には、そのようなものとして最初に請求されることがあるが、請求されている組み合わせからの1つ以上の特徴は、いくつかの場合に、その組み合わせから削除可能であり、請求されている組み合わせは、サブコンビネーション又はサブコンビネーションの変形に向けられてもよい。
【0159】
同様に、動作は、特定の順序で図面において表されているが、これは、所望の結果を達成するために、そのような動作が示されているその特定の順序で又は順次的な順序で実行されること、あるいは、表されている全ての動作が実行されることを求めている、と理解されるべきではない。更に、本明細書で説明されている実施形態における様々なシステムコンポーネントの分離は、全ての実施形態でそのような分離を求めている、と理解されるべきではない。
【0160】
ほんのわずかの実施及び例が説明されており、他の実施、強化及び変形は、本特許文献で記載及び例示されているものに基づいて行われ得る。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19