(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-11-24
(54)【発明の名称】クロミナンス量子化パラメータのシグナリングのための方法及び装置
(51)【国際特許分類】
H04N 19/70 20140101AFI20221116BHJP
H04N 19/124 20140101ALI20221116BHJP
H04N 19/186 20140101ALI20221116BHJP
【FI】
H04N19/70
H04N19/124
H04N19/186
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2022518321
(86)(22)【出願日】2020-09-23
(85)【翻訳文提出日】2022-05-17
(86)【国際出願番号】 RU2020050237
(87)【国際公開番号】W WO2021061019
(87)【国際公開日】2021-04-01
(31)【優先権主張番号】PCT/RU2019/000664
(32)【優先日】2019-09-23
(33)【優先権主張国・地域又は機関】RU
(81)【指定国・地域】
(71)【出願人】
【識別番号】503433420
【氏名又は名称】華為技術有限公司
【氏名又は名称原語表記】HUAWEI TECHNOLOGIES CO.,LTD.
【住所又は居所原語表記】Huawei Administration Building, Bantian, Longgang District, Shenzhen, Guangdong 518129, P.R. China
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】チェルニャーク,ロマン イゴレヴィッチ
(72)【発明者】
【氏名】イコニン,セルゲイ ユリエヴィッチ
(72)【発明者】
【氏名】ソロフィエフ,ティモフェイ ミハイロヴィッチ
(72)【発明者】
【氏名】カラブトフ,アレキサンダー アレクサンドロヴィッチ
(72)【発明者】
【氏名】アルシナ,エレナ アレクサンドロブナ
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159MA04
5C159MA05
5C159MA31
5C159MC11
5C159ME01
5C159PP04
5C159RC12
5C159TA45
5C159TB08
5C159UA02
5C159UA05
(57)【要約】
ピクチャの現在ブロックの逆量子化のための方法であって、当該方法は、ビットストリームを受信するステップと、ビットストリームからジョイントクロミナンス成分残差(JCCR)制御フラグを取得するステップと、JCCR制御フラグに基づいて、ビットストリームからクロミナンスマッピング情報を取得するステップと、JCCR制御フラグに基づいて、ビットストリームから少なくとも1つのクロミナンス量子化パラメータ(QP)オフセットを取得するステップと、取得されたクロミナンスマッピング情報及び少なくとも1つの取得されたクロミナンスQPオフセットに基づいて、現在クロミナンスブロックについてのQP値を取得するステップと、決定されたQP値を使用することにより、現在クロミナンスブロックに対して逆量子化を実行するステップとを含む方法である。
【特許請求の範囲】
【請求項1】
ピクチャの現在ブロックの逆量子化のための方法であって、当該方法はデコーダにより実行され、当該方法は、
ビットストリームを受信するステップと、
前記ビットストリームからジョイントクロミナンス成分残差(JCCR)制御フラグを取得するステップと、
前記JCCR制御フラグに基づいて、前記ビットストリームからクロミナンスマッピング情報を取得するステップと、
前記JCCR制御フラグに基づいて、前記ビットストリームから少なくとも1つのクロミナンス量子化パラメータ(QP)オフセットを取得するステップと、
前記取得されたクロミナンスマッピング情報及び前記少なくとも1つの取得されたクロミナンスQPオフセットに基づいて、前記現在クロミナンスブロックについてのQP値を取得するステップと、
前記決定されたQP値を使用することにより、前記現在クロミナンスブロックに対して逆量子化を実行するステップと
を含む方法。
【請求項2】
前記ビットストリームは、SPSレベルシンタックスを含み、前記JCCR制御フラグは、前記SPSレベルシンタックスから取得される、請求項1に記載の方法。
【請求項3】
前記JCCR制御フラグは前記sps_joint_cbcr_enabled_flagである、請求項1又は2に記載の方法。
【請求項4】
前記sps_joint_cbcr_enabled_flagの前記値が1である場合、前記少なくとも1つの取得されたクロミナンスQPオフセットは、slice_joint_cbcr_qp_offsetにより指定される、請求項3に記載の方法。
【請求項5】
前記クロミナンスマッピング情報は、delta_qp_in_val_minus1[i][j]及びdelta_qp_out_val[i][j]を含み、前記クロミナンスマッピング情報は、前記ビットストリームに含まれるSPSレベルシンタックスから取得される、請求項1乃至4のうちいずれか1項に記載の方法。
【請求項6】
前記SPSレベルシンタックスは、以下の構造を含む、請求項2乃至5のうちいずれか1項に記載の方法。
【表30】
【請求項7】
前記JCCR制御フラグに基づいて、前記ビットストリームから前記少なくとも1つのクロミナンスQPオフセットを取得するステップは、
前記JCCR制御フラグに基づいて、前記ビットストリームのピクチャパラメータセット(PPS)レベルシンタックスから前記少なくとも1つのクロミナンスQPオフセットを取得するステップを含む、請求項1乃至6のうちいずれか1項に記載の方法。
【請求項8】
前記PPSレベルシンタックスは、以下の構造を含む、請求項7に記載の方法。
【表31】
【請求項9】
ピクチャの現在ブロックの逆量子化のための方法であって、当該方法はデコーダにより実行され、当該方法は、
ビットストリームを受信するステップであり、前記ビットストリームは、スライスヘッダシンタックス及びPPSシンタックスを含む、ステップと、
前記PPSシンタックスからシンタックスエレメントを取得するステップであり、前記取得されたシンタックスエレメントは、少なくとも1つのクロミナンス量子化パラメータ(QP)オフセットを含む、ステップと、
前記スライスヘッダからクロミナンスQPオフセット情報を取得するステップであり、前記QPオフセット情報は、前記PPSシンタックス内のいずれかのPPSシンタックスエレメントから独立して取得される、ステップと、
前記PPSシンタックスから取得された前記少なくとも1つのクロミナンスQPオフセット及び前記スライスヘッダシンタックスから取得された前記クロミナンスQPオフセット情報に依存して、前記現在クロミナンスブロックについてのQP値を決定するステップと、
前記決定されたQP値を使用することにより、前記現在クロミナンスブロックに対して逆量子化を実行するステップと
を含む方法。
【請求項10】
ピクチャの現在ブロックを符号化するための方法であって、当該方法はエンコーダにより実行され、当該方法は、
ジョイントクロミナンス成分残差(JCCR)制御フラグをビットストリームに符号化するステップと、
前記JCCR制御フラグに基づいて、クロミナンスマッピング情報を前記ビットストリームに符号化するステップと、
前記JCCR制御フラグに基づいて、少なくとも1つのクロミナンス量子化パラメータ(QP)オフセットを前記ビットストリームに符号化するステップと、
前記ビットストリームを提供するステップと
を含む方法。
【請求項11】
前記ビットストリームは、SPSレベルシンタックスを含み、前記JCCR制御フラグは、前記SPSレベルシンタックスに符号化される、請求項10に記載の方法。
【請求項12】
前記JCCR制御フラグは前記sps_joint_cbcr_enabled_flagである、請求項10又は11に記載の方法。
【請求項13】
前記sps_joint_cbcr_enabled_flagの前記値が1である場合、前記少なくとも1つの符号化されるクロミナンスQPオフセットは、slice_joint_cbcr_qp_offsetにより指定される、請求項12に記載の方法。
【請求項14】
前記クロミナンスマッピング情報は、delta_qp_in_val_minus1[i][j]及びdelta_qp_out_val[i][j]を含み、前記クロミナンスマッピング情報は、前記ビットストリームに含まれるSPSレベルシンタックスに符号化される、請求項10乃至13のうちいずれか1項に記載の方法。
【請求項15】
前記SPSレベルシンタックスは、以下の構造を含む、請求項10乃至14のうちいずれか1項に記載の方法。
【表32】
【請求項16】
前記JCCR制御フラグに基づいて、前記少なくとも1つのクロミナンスQPオフセットを前記ビットストリームに符号化するステップは、
前記JCCR制御フラグに基づいて、前記少なくとも1つのクロミナンスQPオフセットを前記ビットストリームのピクチャパラメータセット(PPS)レベルシンタックスに符号化するステップを含む、請求項10乃至15のうちいずれか1項に記載の方法。
【請求項17】
前記PPSレベルシンタックスは、以下の構造を含む、請求項16に記載の方法。
【表33】
【請求項18】
ピクチャの現在ブロックを符号化するための方法であって、当該方法はエンコーダにより実行され、当該方法は、
PPSシンタックスのシンタックスエレメントをビットストリームに符号化するステップであり、前記シンタックスエレメントは、少なくとも1つのクロミナンス量子化パラメータ(QP)オフセットを含む、ステップと、
スライスヘッダシンタックスのクロミナンスQPオフセット情報を前記ビットストリームに符号化するステップであり、前記QPオフセット情報は、前記PPSシンタックス内のいずれかのPPSシンタックスエレメントから独立して符号化される、ステップと、
前記ビットストリームを提供するステップと
を含む方法。
【請求項19】
請求項1乃至9のうちいずれか1項に記載の方法を実行するための処理回路を含むデコーダ(30)。
【請求項20】
請求項10乃至18のうちいずれか1項に記載の方法を実行するための処理回路を含むエンコーダ(20)。
【請求項21】
コンピュータ又はプロセッサ上で実行されたとき、請求項1乃至18のうちいずれか1項に記載の方法を実行するためのプログラムコードを含むコンピュータプログラム製品。
【請求項22】
デコーダであって、
1つ以上のプロセッサと、
前記プロセッサに結合されて前記プロセッサによる実行のためのプログラミングを記憶する非一時的なコンピュータ読み取り可能記憶媒体と
を含み、前記プログラミングは、前記プロセッサにより実行されたき、請求項1乃至9のうちいずれか1項に記載の方法を実行するように当該デコーダを構成する、デコーダ。
【請求項23】
エンコーダであって、
1つ以上のプロセッサと、
前記プロセッサに結合されて前記プロセッサによる実行のためのプログラミングを記憶する非一時的なコンピュータ読み取り可能記憶媒体と
を含み、前記プログラミングは、前記プロセッサにより実行されたき、請求項10乃至18のうちいずれか1項に記載の方法を実行するように当該エンコーダを構成する、エンコーダ。
【請求項24】
プログラムコードを搬送する非一時的なコンピュータ読み取り可能媒体であって、
前記プログラムコードは、コンピュータデバイスにより実行されたとき、前記コンピュータデバイスに請求項1乃至18のうちいずれか1項に記載の方法を実行させる、非一時的なコンピュータ読み取り可能媒体。
【請求項25】
デコーダ(30)であって、
ビットストリームを受信するように構成された受信ユニットと、
前記ビットストリームからジョイントクロミナンス成分残差(JCCR)制御フラグを取得するように構成された第1の取得ユニットと、
前記JCCR制御フラグに基づいて、前記ビットストリームからクロミナンスマッピング情報を取得するように構成された第2の取得ユニットと、
前記JCCR制御フラグに基づいて、前記ビットストリームから少なくとも1つのクロミナンス量子化パラメータ(QP)オフセットを取得するように構成された第3の取得ユニットと、
前記取得されたクロミナンスマッピング情報及び前記少なくとも1つの取得されたクロミナンスQPオフセットに基づいて、前記現在クロミナンスブロックについてのQP値を取得するように構成された第4の取得ユニットと、
前記決定されたQP値を使用することにより、前記現在クロミナンスブロックに対して逆量子化を実行するように構成された逆量子化ユニットと
を含むデコーダ(30)。
【請求項26】
前記ビットストリームは、SPSレベルシンタックスを含み、前記JCCR制御フラグは、前記SPSレベルシンタックスから取得される、請求項25に記載のデコーダ。
【請求項27】
前記JCCR制御フラグは前記sps_joint_cbcr_enabled_flagである、請求項25又は26に記載のデコーダ。
【請求項28】
前記sps_joint_cbcr_enabled_flagの前記値が1である場合、前記少なくとも1つの取得されたクロミナンスQPオフセットは、slice_joint_cbcr_qp_offsetにより指定される、請求項27に記載のデコーダ。
【請求項29】
前記クロミナンスマッピング情報は、delta_qp_in_val_minus1[i][j]及びdelta_qp_out_val[i][j]を含み、前記クロミナンスマッピング情報は、前記ビットストリームに含まれるSPSレベルシンタックスから取得される、請求項25乃至28のうちいずれか1項に記載のデコーダ。
【請求項30】
前記SPSレベルシンタックスは、以下の構造を含む、請求項26乃至29のうちいずれか1項に記載のデコーダ。
【表34】
【請求項31】
前記JCCR制御フラグに基づいて、前記ビットストリームから前記少なくとも1つのクロミナンスQPオフセットを取得することは、
前記JCCR制御フラグに基づいて、前記ビットストリームのピクチャパラメータセット(PPS)レベルシンタックスから前記少なくとも1つのクロミナンスQPオフセットを取得することを含む、請求項25乃至30のうちいずれか1項に記載のデコーダ。
【請求項32】
前記PPSレベルシンタックスは、以下の構造を含む、請求項31に記載のデコーダ。
【表35】
【請求項33】
デコーダ(30)であって、
ビットストリームを受信するように構成された受信ユニットであり、前記ビットストリームは、スライスヘッダシンタックス及びPPSシンタックスを含む、受信ユニットと、
前記PPSシンタックスからシンタックスエレメントを取得するように構成された第1の取得ユニットであり、前記取得されたシンタックスエレメントは、クロミナンス量子化パラメータ(QP)オフセットを含む、第1の取得ユニットと、
前記スライスヘッダからクロミナンスQPオフセット情報を取得するように構成された第2の取得ユニットであり、前記QPオフセット情報は、前記PPSシンタックス内のいずれかのPPSシンタックスエレメントから独立して取得される、第2の取得ユニットと、
前記PPSシンタックスから取得された前記クロミナンスQPオフセット及び前記スライスヘッダシンタックスから取得された前記クロミナンスQPオフセット情報に依存して、前記現在クロミナンスブロックについてのQP値を決定するように構成された決定ユニットと、
前記決定されたQP値を使用することにより、前記現在クロミナンスブロックに対して逆量子化を実行するように構成された逆量子化ユニットと
を含むデコーダ(30)。
【請求項34】
エンコーダ(20)であって、
ジョイントクロミナンス成分残差(JCCR)制御フラグをビットストリームに符号化するように構成された第1の符号化ユニットと、
前記JCCR制御フラグに基づいて、クロミナンスマッピング情報を前記ビットストリームに符号化するように構成された第2の符号化ユニットと、
前記JCCR制御フラグに基づいて、少なくとも1つのクロミナンス量子化パラメータ(QP)オフセットを前記ビットストリームに符号化するように構成された第3の符号化ユニットと、
前記ビットストリームを提供するように構成された提供ユニットと
を含むエンコーダ(20)。
【請求項35】
前記ビットストリームは、SPSレベルシンタックスを含み、前記JCCR制御フラグは、前記SPSレベルシンタックスに符号化される、請求項34に記載のエンコーダ。
【請求項36】
前記JCCR制御フラグは前記sps_joint_cbcr_enabled_flagである、請求項33又は35に記載のエンコーダ。
【請求項37】
前記sps_joint_cbcr_enabled_flagの前記値が1である場合、前記少なくとも1つの符号化されるクロミナンスQPオフセットは、slice_joint_cbcr_qp_offsetにより指定される、請求項36に記載のエンコーダ。
【請求項38】
前記クロミナンスマッピング情報は、delta_qp_in_val_minus1[i][j]及びdelta_qp_out_val[i][j]を含み、前記クロミナンスマッピング情報は、前記ビットストリームに含まれるSPSレベルシンタックスに符号化される、請求項33乃至37のうちいずれか1項に記載のエンコーダ。
【請求項39】
前記SPSレベルシンタックスは、以下の構造を含む、請求項33乃至38のうちいずれか1項に記載のエンコーダ。
【表36】
【請求項40】
前記JCCR制御フラグに基づいて、前記少なくとも1つのクロミナンスQPオフセットを前記ビットストリームに符号化することは、
前記JCCR制御フラグに基づいて、前記少なくとも1つのクロミナンスQPオフセットを前記ビットストリームのピクチャパラメータセット(PPS)レベルシンタックスに符号化することを含む、請求項33乃至39のうちいずれか1項に記載のエンコーダ。
【請求項41】
前記PPSレベルシンタックスは、以下の構造を含む、請求項40に記載のエンコーダ。
【表37】
【請求項42】
エンコーダ(20)であって、
スライスヘッダ及びPPSシンタックスからのシンタックスエレメントを前記ビットストリームに符号化するように構成された第1の符号化ユニットであり、前記シンタックスエレメントは、クロミナンス量子化パラメータ(QP)オフセットを含む、第1の符号化ユニットと、
前記スライスヘッダシンタックスのクロミナンスQPオフセット情報を前記ビットストリームに符号化するように構成された第2の符号化ユニットであり、前記QPオフセット情報は、前記PPSシンタックス内のいずれかのPPSシンタックスエレメントから独立して取得される、第2の符号化ユニットと、
前記ビットストリームを提供するように構成された提供ユニットと
を含むエンコーダ(20)。
【発明の詳細な説明】
【技術分野】
【0001】
[関連出願への相互参照]
本特許出願は、2019年9月23日に出願された国際特許出願PCT/RU2019/000664の優先権を主張する。上記の特許出願の開示の全内容を参照により援用する。
【0002】
[技術分野]
本出願(開示)の実施形態は、概してピクチャ処理の分野に関し、より詳細には、クロミナンス量子化パラメータのシグナリングのための方法及び装置に関する。
【背景技術】
【0003】
ビデオコーディング(ビデオ符号化及び/又は復号)は、広範囲のデジタルビデオアプリケーション、例えば、放送デジタルTV、インターネット及び移動ネットワーク上のビデオ送信、ビデオチャットのようなリアルタイム会話アプリケーション、ビデオ会議、DVD及びブルーレイディスク、ビデオコンテンツ取得及び編集システム、並びにセキュリティアプリケーションのカムコーダにおいて使用される。
【0004】
比較的短いビデオですら描写するために必要なビデオデータの量は相当なものになる可能性があり、これは、データがストリーミングされるとき或いは限られた帯域幅容量を有する通信ネットワークを横切って通信されるときに、困難を生じることがある。したがって、ビデオデータは、一般的に、現代の電気通信ネットワークを横切って通信される前に圧縮される。メモリリソースが制限されることがあるので、ビデオが記憶デバイスに記憶されるとき、ビデオのサイズも問題になる可能性がある。ビデオ圧縮デバイスは、しばしば、送信又は記憶の前にビデオデータをコーディングするためにソースにおいてソフトウェア及び/又はハードウェアを使用し、それにより、デジタルビデオ画像を表すために必要なデータの量を減少させる。次いで、圧縮されたデータは、ビデオデータを復号するビデオ解凍デバイスにより宛先で受信される。限られたネットワークリソース及びより高いビデオ品質についての更に高まる要求のため、ピクチャ品質にほとんど或いは全く犠牲を払わず、圧縮比を改善する圧縮及び解凍技術が望ましい。
【発明の概要】
【0005】
本出願の実施形態は、独立請求項に従って符号化及び復号するための装置及び方法を提供する。
【0006】
上記及び他の目的は、独立請求項の対象物により達成される。更なる実現形式は、従属請求項、詳細な説明及び図面から明らかである。
【0007】
本開示は以下を提供する。
ピクチャの現在ブロックの逆量子化のための方法であって、当該方法はデコーダにより実行され、当該方法は、
ビットストリームを受信するステップと、
ビットストリームからジョイントクロミナンス成分残差(JCCR, joint chrominance component residual)制御フラグを取得するステップと、
JCCR制御フラグに基づいて、ビットストリームからクロミナンスマッピング情報を取得するステップと、
JCCR制御フラグに基づいて、ビットストリームから少なくとも1つのクロミナンス量子化パラメータ(QP, quantization parameter)オフセットを取得するステップと、
取得されたクロミナンスマッピング情報及び少なくとも1つの取得されたクロミナンスQPオフセットに基づいて、現在クロミナンスブロックについてのQP値を取得するステップと、
決定されたQP値を使用することにより、現在クロミナンスブロックに対して逆量子化を実行するステップと
を含む方法。
【0008】
ここで、JCCRモードのためのクロミナンス成分についてのPPS及びスライスヘッダQPオフセットのシグナリング、並びにJCCRコーディングモードのためのSPSクロミナンスマッピング情報のシグナリングが実行される。
【0009】
SPS JCCR制御フラグに依存して、ジョイントクロミナンス成分残差オフセットのシグナリング/復号が実行される。ジョイントクロミナンス成分残差オフセットの条件付きシグナリングのため、より少ない情報がシグナリングされる必要があり、したがって、リソースを節約できる。
【0010】
上記の方法において、ビットストリームは、SPSレベルシンタックスを含んでもよく、JCCR制御フラグは、SPSレベルシンタックスから取得されてもよい。
【0011】
上記の方法において、JCCR制御フラグはsps_joint_cbcr_enabled_flagでもよい。
【0012】
ここで、sps_joint_cbcr_enabled_flagは、クロマ残差のジョイントコーディングが有効であるか否かを指定する。ここで、1に等しいsps_joint_cbcr_enabled_flagは、クロマ残差のジョイントコーディングがコーディング済レイヤビデオシーケンス(CLVS, coded layer video sequence)について有効であることを指定し、0に等しいsps_joint_cbcr_enabled_flagは、クロマ残差のジョイントコーディングがコードレイヤビデオシーケンスについて無効であることを指定し、存在しないとき、sps_joint_cbcr_enabled_flagの値は0に等しいと推定される。
【0013】
上記の方法において、sps_joint_cbcr_enabled_flagの値が1である場合、少なくとも1つの取得されたクロミナンスQPオフセットは、slice_joint_cbcr_qp_offsetにより指定されてもよい。ここで、slice_joint_cbcr_qp_offsetは、スライスヘッダシンタックスにおいて提示でき、Qp'CbCrの値を決定するときにpps_joint_cbcr_qp_offset_valueの値に加算されるべき差分を指定する。slice_joint_cbcr_qp_offsetの値は、-12以上+12以下の範囲にあるものとする。slice_joint_cbcr_qp_offsetが存在しないとき、これは0に等しいと推定される。pps_joint_cbcr_qp_offset_value+slice_joint_cbcr_qp_offsetの値は、-12以上+12以下の範囲にあるものとする。
【0014】
ここで、フラグslice_joint_cbcr_qp_offsetはまた、sh_joint_cbcr_qp_offsetとも表されてもよい。
【0015】
上記の方法において、クロミナンスマッピング情報は、delta_qp_in_val_minus1[i][j]及びdelta_qp_out_val[i][j]を含んでもよく、クロミナンスマッピング情報は、ビットストリームに含まれるSPSレベルシンタックスから取得されてもよい。
【0016】
ここで、sps_delta_qp_in_val_minus1[i][j]は、第iのクロマQPマッピングテーブルの第jのピボット点の入力座標を導出するために使用されるデルタ値を指定し、存在しないとき、sps_delta_qp_in_val_minus1[0][j]の値は0に等しいと推定され、i、jは整数値である。ここで、delta_qp_out_val[i][j]は、第iのクロマQPマッピングテーブルの第jのピボット点の出力座標を導出するために使用されるデルタ値を指定する。delta_qp_out_val[0][j]がビットストリームに存在しないとき、delta_qp_out_val[0][j]の値は0に等しいと推定される。ここで、delta_qp_out_valはまた、sps_delta_qp_diff_valとも表されてもよい。
【0017】
上記の方法において、SPSレベルシンタックスは、以下の構造を含んでもよい。
【表1】
【0018】
したがって、JCCRモードのためのクロミナンス成分についてのPPS及びスライスヘッダQPオフセットのシグナリング、並びにJCCRコーディングモードのためのSPSクロミナンスマッピング情報のシグナリングは、上記の表に従って、SPS JCCR制御フラグに依存して実行されてもよい。例えば、sps JCCR制御フラグは、SPSレベルシンタックス、例えばseq_parameter_set_rbspシンタックスでシグナリングされるsps_joint_cbcr_enabled_flagである。特に、インデックス「i」の値は、sps_joint_cbcr_enabled_flagの値に基づいて決定され、したがって、JCCRツールが無効であるとき、JCCRシンタックスエレメントの冗長なシグナリングが回避できることが認識され得る。pps_joint_cbcr_qp_offsetのシグナリング/復号は、sps_joint_cbcr_enabled_flagに依存し、すなわち、sps_joint_cbcr_enabled_flagの値が真(例えば、1)であるときにのみ、pps_joint_cbcr_qp_offsetがシグナリングされるか或いは復号できることが認識できる。pps_joint_cbcr_qp_offsetの条件付きシグナリングのため、より少ない情報がシグナリングされる必要があり、したがって、リソースを節約できる。
【0019】
ここで、seq_parameter_set_rbspは、シーケンスパラメータセットの未加工バイトシーケンスペイロード(RBSP, Raw Byte Sequence Payload)シンタックスを示し、sps_num_points_in_qp_table_minus1[i]に1を加えたものは、第iのクロマQPマッピングテーブルを記述するために使用される点の数を指定し、sps_num_points_in_qp_table_minus1[i]の値は、0から36の範囲にあり、存在しないとき、sps_num_points_in_qp_table_minus1[0]の値は0に等しいと推定される。
【0020】
上記の方法において、JCCR制御フラグに基づいて、ビットストリームから少なくとも1つのクロミナンスQPオフセットを取得するステップは、JCCR制御フラグに基づいて、ビットストリームのピクチャパラメータセット(PPS, picture parameter set)レベルシンタックスから少なくとも1つのクロミナンスQPオフセットを取得するステップを含んでもよい。
【0021】
上記の方法において、PPSレベルシンタックスは、以下の構造を含んでもよい。
【表2】
【0022】
ここで、pic_parameter_set_rbspは、ピクチャパラメータセットRBSPシンタックスを示し、pps_cb_qp_offset及びpps_cr_qp_offsetは、それぞれQp'Cb及びQp'Crを導出するために使用されるルマ量子化パラメータQp'Yへのオフセットを指定し、pps_cb_qp_offset及びpps_cr_qp_offsetの値は、-12以上+12以下の範囲にあり、sps_croma_format_idcが0に等しいとき、pps_cb_qp_offset及びpps_cr_qp_offsetは、復号プロセスにおいて使用されず、デコーダはこれらの値を無視するものとし、存在しないとき、pps_cb_qp_offset及びpps_cr_qp_offsetの値は0に等しいと推定され、1に等しいsps_joint_cbcr_enabled_flagは、クロマ残差のジョイントコーディングがコーディング済レイヤビデオシーケンス(CLVS, coded layer video sequence)について有効であることを指定し、0に等しいsps_joint_cbcr_enabled_flagは、クロマ残差のジョイントコーディングがCLVSについて無効であることを指定し、存在しないとき、sps_joint_cbcr_enabled_flagの値は、0に等しいと推定される。pps_joint_cbcr_qp_offset_valueは、Qp'CbCrを導出するために使用されるルマ量子化パラメータQp'Yへのオフセットを指定し、pps_joint_cbcr_qp_offset_valueの値は、-12以上+12以下の範囲にある。
【0023】
本開示は、ピクチャの現在ブロックの逆量子化のための方法を更に提供し、当該方法はデコーダにより実行され、当該方法は、
ビットストリームを受信するステップであり、ビットストリームは、スライスヘッダシンタックス及びPPSシンタックスを含む、ステップと、
PPSシンタックスからシンタックスエレメントを取得するステップであり、取得されたシンタックスエレメントは、少なくとも1つのクロミナンス量子化パラメータ(QP, quantization parameter)オフセットを含む、ステップと、
スライスヘッダからクロミナンスQPオフセット情報を取得するステップであり、QPオフセット情報は、PPSシンタックス内のいずれかのPPSシンタックスエレメントから独立して取得される、ステップと、
PPSシンタックスから取得された少なくとも1つのクロミナンスQPオフセット及びスライスヘッダシンタックスから取得されたクロミナンスQPオフセット情報に依存して、現在クロミナンスブロックについてのQP値を決定するステップと、
決定されたQP値を使用することにより、現在クロミナンスブロックに対して逆量子化を実行するステップと
を含む。
【0024】
したがって、クロミナンス成分についてのPPS及びスライスヘッダQPオフセットのシグナリングは、上記の表に従って互いに独立して実行される。その代わりに、以前では、フラグpps_slice_chroma_qp_offsets_present_flagは、PPSレベルシンタックスでシグナリングされ、これは、スライスヘッダでシグナリングするいずれかの更なるオフセットが存在するか否かを制御し、すなわち、デコーダ側では、デコーダは、スライスヘッダでシグナリングされるいずれかの更なるオフセットが存在するか否かを決定するために、pps_slice_chroma_qp_offsets_present_flagの値を検査する必要がある。以前の方法と比較すると、ここでは、上記の方法において、フラグpps_slice_chroma_qp_offsets_present_flagは、もはやシグナリングされない。言い換えると、常にスライスヘッダでシグナリングされるオフセットが存在し、したがって、デコーダは、pps_slice_chroma_qp_offsets_present_flagの値を検査せずに、スライスヘッダでシグナリングされる更なるオフセットが存在することを知っており、言い換えると、PPSレベルシンタックス及びスライスヘッダシンタックスは双方ともに常にオフセットを含む。したがって、スライスヘッダにおけるクロミナンスQPオフセットの復号/シグナリングはより簡単になる。
【0025】
上記の方法において、PPSシンタックスから取得された少なくとも1つのクロミナンスQPオフセットは、pps_cb_qp_offset、pps_cr_qp_offset、pps_joint_cbcr_qp_offset及びcu_chroma_qp_offset_enabled_flagを含んでもよい。
【0026】
上記の方法において、cu_chroma_qp_offset_enabled_flagの値が1である場合、PPSシンタックスから取得された少なくとも1つのクロミナンスQPオフセットは、cu_chroma_qp_offset_subdiv、chroma_qp_offset_list_len_minus1、cb_qp_offset_list[i]、cr_qp_offset_list[i]及びjoint_cbcr_qp_offset_list[i]を更に含んでもよく、
【数1】
であり、iは整数である。
【0027】
上記の方法において、スライスヘッダシンタックスから取得されたクロミナンスQPオフセット情報は、slice_cb_qp_offset及びslice_cr_qp_offsetを含んでもよい。
【0028】
上記の方法において、ビットストリームに含まれるsps_joint_cbcr_enabled_flagの値が1である場合、スライスヘッダシンタックスから取得されたクロミナンスQPオフセット情報は、slice_joint_cbcr_qp_offsetを更に含んでもよい。
【0029】
上記の方法において、PPSシンタックスは、以下の構造を含んでもよい。
【表3】
【0030】
上記の方法において、スライスヘッダシンタックスは、以下の構造を含んでもよい。
【表4】
【0031】
上記の方法において、フラグpps_slice_chroma_qp_offsets_present_flagは、PPSシンタックスにおいて省略されてもよく、或いは、
スライスヘッダ及びPPSシンタックスは、常に少なくとも1つのクロミナンスQPオフセットに関連するエレメントを含んでもよい。
【0032】
本開示は、ピクチャの現在ブロックの逆量子化のための方法を更に提供し、当該方法はエンコーダにより実行され、当該方法は、
ジョイントクロミナンス成分残差(JCCR, joint chrominance component residual)制御フラグをビットストリームに符号化するステップと、
JCCR制御フラグに基づいて、クロミナンスマッピング情報をビットストリームに符号化するステップと、
JCCR制御フラグに基づいて、少なくとも1つのクロミナンス量子化パラメータ(QP, quantization parameter)オフセットをビットストリームに符号化するステップと、
ビットストリームを提供するステップと
を含む。
【0033】
上記の方法において、ビットストリームは、SPSレベルシンタックスを含んでもよく、JCCR制御フラグは、SPSレベルシンタックスに符号化される。
【0034】
上記の方法において、JCCR制御フラグはsps_joint_cbcr_enabled_flagでもよい。
【0035】
上記の方法において、sps_joint_cbcr_enabled_flagの値が1である場合、少なくとも1つの符号化されるクロミナンスQPオフセットは、slice_joint_cbcr_qp_offsetにより指定されてもよい。
【0036】
上記の方法において、クロミナンスマッピング情報は、delta_qp_in_val_minus1[i][j]及びdelta_qp_out_val[i][j]を含んでもよく、クロミナンスマッピング情報は、ビットストリームに含まれるSPSレベルシンタックスに符号化されてもよい。
【0037】
上記の方法において、SPSレベルシンタックスは、以下の構造を含んでもよい。
【表5】
【0038】
ここで、same_qp_table_for_chromaは、何個のクロマQPマッピングテーブルがシグナリングされたかを示す。same_qp_table_for_chromaが1に等しいときは、1つのクロマQPマッピングテーブルのみがシグナリングされることを指定し、このテーブルはCb及びCr残差に適用され、さらに、sps_joint_cbcr_enabled_flagが1に等しいときのジョイントCb-Cr残差に適用される。0に等しいsame_qp_table_for_chromaは、Cb及びCrについて2つ、並びにsps_joint_cbcr_enabled_flagが1に等しいときのジョイントCb-Crについて更に1つのクロマQPマッピングテーブルがSPSでシグナリングされることを指定する。same_qp_table_for_chromaがビットストリームに存在しないとき、same_qp_table_for_chromaの値は1に等しいと推定される。
【0039】
ここで、num_points_in_qp_table_minus1[i]に1を加えたものは、第iのクロマQPマッピングテーブルを記述するために使用される点の数を指定する。num_points_in_qp_table_minus1[i]の値は、0以上63+QpBdOffset以下の範囲にあるものとする。num_points_in_qp_table_minus1[0]がビットストリームに存在しないとき、num_points_in_qp_table_minus1[0]の値は0に等しいと推定される。
【0040】
上記の方法において、JCCR制御フラグに基づいて、少なくとも1つのクロミナンスQPオフセットをビットストリームに符号化するステップは、
JCCR制御フラグに基づいて、少なくとも1つのクロミナンスQPオフセットをビットストリームのピクチャパラメータセット(PPS, picture parameter set)レベルシンタックスに符号化するステップを含んでもよい。
【0041】
上記の方法において、PPSレベルシンタックスは、以下の構造を含んでもよい。
【表6】
【0042】
本開示は、ピクチャの現在ブロックの逆量子化のための方法を更に提供してもよく、当該方法はエンコーダにより実行され、当該方法は、
スライスヘッダ及びPPSシンタックスからのシンタックスエレメントをビットストリームに符号化するステップであり、シンタックスエレメントは、少なくとも1つのクロミナンス量子化パラメータ(QP, quantization parameter)オフセットを含む、ステップと、
スライスヘッダからのクロミナンスQPオフセット情報をビットストリームに符号化するステップであり、QPオフセット情報は、PPSシンタックス内のいずれかのPPSシンタックスエレメントから独立して取得される、ステップと、
ビットストリームを提供するステップと
を含む。
【0043】
上記の方法において、PPSシンタックスから符号化される少なくとも1つのクロミナンスQPオフセットは、pps_cb_qp_offset、pps_cr_qp_offset、pps_joint_cbcr_qp_offset及びcu_chroma_qp_offset_enabled_flagを含んでもよい。
【0044】
上記の方法において、cu_chroma_qp_offset_enabled_flagの値が1である場合、PPSシンタックスから符号化される少なくとも1つのクロミナンスQPオフセットは、cu_chroma_qp_offset_subdiv、chroma_qp_offset_list_len_minus1、cb_qp_offset_list[i]、cr_qp_offset_list[i]及びjoint_cbcr_qp_offset_list[i]を更に含んでもよく、
【数2】
であり、iは整数である。
【0045】
上記の方法において、スライスヘッダシンタックスから符号化されるクロミナンスQPオフセット情報は、slice_cb_qp_offset及びslice_cr_qp_offsetを含んでもよい。
【0046】
上記の方法において、ビットストリームに含まれるsps_joint_cbcr_enabled_flagの値が1である場合、スライスヘッダシンタックスから符号化されるクロミナンスQPオフセット情報は、slice_joint_cbcr_qp_offsetを更に含んでもよい。
【0047】
上記の方法において、PPSシンタックスは、以下の構造を含んでもよい。
【表7】
【0048】
上記の方法において、スライスヘッダシンタックスは、以下の構造を含んでもよい。
【表8】
【0049】
上記の方法において、フラグpps_slice_chroma_qp_offsets_present_flagは、PPSシンタックスにおいて省略されてもよく、或いは、
スライスヘッダ及びPPSシンタックスは、常に少なくとも1つのクロミナンスQPオフセットに関連するエレメントを含んでもよい。
【0050】
本開示は、上記の方法に従って当該方法を実行するための処理回路を含むデコーダを更に提供する。
【0051】
本開示は、上記の方法を実行するための処理回路を含むエンコーダを更に提供する。
【0052】
本開示はまた、コンピュータ又はプロセッサ上で実行されたとき、上記の方法を実行するためのプログラムコードを含むコンピュータプログラム製品を提供する。
【0053】
本開示は、1つ以上のプロセッサと、プロセッサに結合されてプロセッサによる実行のためのプログラミングを記憶する非一時的なコンピュータ読み取り可能記憶媒体とを含むデコーダを更に提供し、プログラミングは、プロセッサにより実行されたき、上記の方法を実行するようにデコーダを構成する。
【0054】
本開示は、1つ以上のプロセッサと、プロセッサに結合されてプロセッサによる実行のためのプログラミングを記憶する非一時的なコンピュータ読み取り可能記憶媒体とを含むエンコーダを更に提供し、プログラミングは、プロセッサにより実行されたき、上記の方法を実行するようにエンコーダを構成する。
【0055】
本開示は、コンピュータデバイスにより実行されたとき、コンピュータデバイスに上記の方法を実行させるプログラムコードを搬送する非一時的なコンピュータ読み取り可能媒体を更に提供する。
【0056】
本開示は、ビットストリームを受信するように構成された受信ユニットと、ビットストリームからジョイントクロミナンス成分残差(JCCR, joint chrominance component residual)制御フラグを取得するように構成された第1の取得ユニットと、JCCR制御フラグに基づいて、ビットストリームからクロミナンスマッピング情報を取得するように構成された第2の取得ユニットと、JCCR制御フラグに基づいて、ビットストリームから少なくとも1つのクロミナンス量子化パラメータ(QP, quantization parameter)オフセットを取得するように構成された第3の取得ユニットと、取得されたクロミナンスマッピング情報及び少なくとも1つの取得されたクロミナンスQPオフセットに基づいて、現在クロミナンスブロックについてのQP値を取得するように構成された第4の取得ユニットと、決定されたQP値を使用することにより、現在クロミナンスブロックに対して逆量子化を実行するように構成された逆量子化ユニットとを含むデコーダを更に提供する。
【0057】
上記のデコーダにおいて、ビットストリームは、SPSレベルシンタックスを含んでもよく、JCCR制御フラグは、SPSレベルシンタックスから取得されてもよい。
【0058】
上記のデコーダにおいて、JCCR制御フラグはsps_joint_cbcr_enabled_flagでもよい。
【0059】
上記のデコーダにおいて、sps_joint_cbcr_enabled_flagの値が1である場合、少なくとも1つの取得されたクロミナンスQPオフセットは、slice_joint_cbcr_qp_offsetにより指定されてもよい。
【0060】
上記のデコーダにおいて、クロミナンスマッピング情報は、delta_qp_in_val_minus1[i][j]及びdelta_qp_out_val[i][j]を含んでもよく、クロミナンスマッピング情報は、ビットストリームに含まれるSPSレベルシンタックスから取得されてもよい。
【0061】
上記のデコーダにおいて、SPSレベルシンタックスは、以下の構造を含んでもよい。
【表9】
【0062】
上記のデコーダにおいて、JCCR制御フラグに基づいて、ビットストリームから少なくとも1つのクロミナンスQPオフセットを取得することは、JCCR制御フラグに基づいて、ビットストリームのピクチャパラメータセット(PPS, picture parameter set)レベルシンタックスから少なくとも1つのクロミナンスQPオフセットを取得することを含んでもよい。
【0063】
上記のデコーダにおいて、PPSレベルシンタックスは、以下の構造を含んでもよい。
【表10】
【0064】
本開示は、ビットストリームを受信するように構成された受信ユニットであり、ビットストリームは、スライスヘッダシンタックス及びPPSシンタックスを含む、受信ユニットと、PPSシンタックスからシンタックスエレメントを取得するように構成された第1の取得ユニットであり、取得されたシンタックスエレメントは、クロミナンス量子化パラメータ(QP, quantization parameter)オフセットを含む、第1の取得ユニットと、スライスヘッダからクロミナンスQPオフセット情報を取得するように構成された第2の取得ユニットであり、QPオフセット情報は、PPSシンタックス内のいずれかのPPSシンタックスエレメントから独立して取得される、第2の取得ユニットと、PPSシンタックスから取得されたクロミナンスQPオフセット及びスライスヘッダシンタックスから取得されたクロミナンスQPオフセット情報に依存して、現在クロミナンスブロックについてのQP値を決定するように構成された決定ユニットと、決定されたQP値を使用することにより、現在クロミナンスブロックに対して逆量子化を実行するように構成された逆量子化ユニットとを含むデコーダを更に提供する。
【0065】
上記のデコーダにおいて、PPSシンタックスから取得された少なくとも1つのクロミナンスQPオフセットは、pps_cb_qp_offset、pps_cr_qp_offset、pps_joint_cbcr_qp_offset及びcu_chroma_qp_offset_enabled_flagを含んでもよい。
【0066】
上記のデコーダにおいて、cu_chroma_qp_offset_enabled_flagの値が1である場合、PPSシンタックスから取得された少なくとも1つのクロミナンスQPオフセットは、cu_chroma_qp_offset_subdiv、chroma_qp_offset_list_len_minus1、cb_qp_offset_list[i]、cr_qp_offset_list[i]及びjoint_cbcr_qp_offset_list[i]を更に含んでもよく、
【数3】
であり、iは整数である。
【0067】
上記のデコーダにおいて、スライスヘッダシンタックスから取得されたクロミナンスQPオフセット情報は、slice_cb_qp_offset及びslice_cr_qp_offsetを含んでもよい。
【0068】
上記のデコーダにおいて、ビットストリームに含まれるsps_joint_cbcr_enabled_flagの値が1である場合、スライスヘッダシンタックスから取得されたクロミナンスQPオフセット情報は、slice_joint_cbcr_qp_offsetを更に含んでもよい。
【0069】
上記のデコーダにおいて、PPSシンタックスは、以下の構造を含んでもよい。
【表11】
【0070】
上記のデコーダにおいて、スライスヘッダシンタックスは、以下の構造を含んでもよい。
【表12】
【0071】
上記のデコーダにおいて、フラグpps_slice_chroma_qp_offsets_present_flagは、PPSシンタックスにおいて省略されてもよく、或いは、
スライスヘッダ及びPPSシンタックスは、常に少なくとも1つのクロミナンスQPオフセットに関連するエレメントを含んでもよい。
【0072】
本開示は、ジョイントクロミナンス成分残差(JCCR, joint chrominance component residual)制御フラグをビットストリームに符号化するように構成された第1の符号化ユニットと、JCCR制御フラグに基づいて、クロミナンスマッピング情報をビットストリームに符号化するように構成された第2の符号化ユニットと、JCCR制御フラグに基づいて、少なくとも1つのクロミナンス量子化パラメータ(QP, quantization parameter)オフセットをビットストリームに符号化するように構成された第3の符号化ユニットと、ビットストリームを提供するように構成された提供ユニットとを含むエンコーダを更に提供する。
【0073】
上記のエンコーダにおいて、ビットストリームは、SPSレベルシンタックスを含んでもよく、JCCR制御フラグは、SPSレベルシンタックスから取得されてもよい。
【0074】
上記のエンコーダにおいて、JCCR制御フラグはsps_joint_cbcr_enabled_flagでもよい。
【0075】
上記のエンコーダにおいて、sps_joint_cbcr_enabled_flagの値が1である場合、少なくとも1つの取得されたクロミナンスQPオフセットは、slice_joint_cbcr_qp_offsetにより指定されてもよい。
【0076】
上記のエンコーダにおいて、クロミナンスマッピング情報は、delta_qp_in_val_minus1[i][j]及びdelta_qp_out_val[i][j]を含んでもよく、クロミナンスマッピング情報は、ビットストリームに含まれるSPSレベルシンタックスから取得されてもよい。
【0077】
上記のエンコーダにおいて、SPSレベルシンタックスは、以下の構造を含んでもよい。
【表13】
【0078】
上記のエンコーダにおいて、JCCR制御フラグに基づいて、ビットストリームから少なくとも1つのクロミナンスQPオフセットを取得することは、JCCR制御フラグに基づいて、ビットストリームのピクチャパラメータセット(PPS, picture parameter set)レベルシンタックスから少なくとも1つのクロミナンスQPオフセットを取得することを含んでもよい。
【0079】
上記のエンコーダにおいて、PPSレベルシンタックスは、以下の構造を含んでもよい。
【表14】
【0080】
本開示は、スライスヘッダ及びPPSシンタックスからのシンタックスエレメントをビットストリームに符号化するように構成された第1の符号化ユニットであり、シンタックスエレメントは、クロミナンス量子化パラメータ(QP, quantization parameter)オフセットを含む、第1の符号化ユニットと、スライスヘッダからのクロミナンスQPオフセット情報をビットストリームに符号化するように構成された第2の符号化ユニットであり、QPオフセット情報は、PPSシンタックス内のいずれかのPPSシンタックスエレメントから独立して取得される、第2の符号化ユニットと、ビットストリームを提供するように構成された提供ユニットとを含むエンコーダを更に提供する。
【0081】
上記のエンコーダにおいて、PPSシンタックスから取得された少なくとも1つのクロミナンスQPオフセットは、pps_cb_qp_offset、pps_cr_qp_offset、pps_joint_cbcr_qp_offset及びcu_chroma_qp_offset_enabled_flagを含んでもよい。
【0082】
上記のエンコーダにおいて、cu_chroma_qp_offset_enabled_flagの値が1である場合、PPSシンタックスから取得された少なくとも1つのクロミナンスQPオフセットは、cu_chroma_qp_offset_subdiv、chroma_qp_offset_list_len_minus1、cb_qp_offset_list[i]、cr_qp_offset_list[i]及びjoint_cbcr_qp_offset_list[i]を更に含んでもよく、
【数4】
であり、iは整数である。
【0083】
上記のエンコーダにおいて、スライスヘッダシンタックスから取得されたクロミナンスQPオフセット情報は、slice_cb_qp_offset及びslice_cr_qp_offsetを含んでもよい。
【0084】
上記のエンコーダにおいて、ビットストリームに含まれるsps_joint_cbcr_enabled_flagの値が1である場合、スライスヘッダシンタックスから取得されたクロミナンスQPオフセット情報は、slice_joint_cbcr_qp_offsetを更に含んでもよい。
【0085】
上記のエンコーダにおいて、PPSシンタックスは、以下の構造を含んでもよい。
【表15】
【0086】
上記のエンコーダにおいて、スライスヘッダシンタックスは、以下の構造を含んでもよい。
【表16】
【0087】
上記のエンコーダにおいて、フラグpps_slice_chroma_qp_offsets_present_flagは、PPSシンタックスにおいて省略されてもよく、或いは、
スライスヘッダ及びPPSシンタックスは、常に少なくとも1つのクロミナンスQPオフセットに関連するエレメントを含んでもよい。
【0088】
1つ以上の実施形態の詳細は、添付の図面及び以下の詳細な説明に記載されている。他の特徴、目的及び利点は、詳細な説明、図面及び特許請求の範囲から明らかになる。
【図面の簡単な説明】
【0089】
以下に、本発明の実施形態について、添付の図及び図面を参照してより詳細に説明する。
【
図1A】本発明の実施形態を実現するように構成されたビデオコーディングシステムの例を示すブロック図である。
【
図1B】本発明の実施形態を実現するように構成されたビデオコーディングシステムの他の例を示すブロック図である。
【
図2】本発明の実施形態を実現するように構成されたビデオエンコーダの例を示すブロック図である。
【
図3】本発明の実施形態を実現するように構成されたビデオデコーダの例示的な構造を示すブロック図である。
【
図4】符号化装置又は復号装置の例を示すブロック図である。
【
図5】符号化装置又は復号装置の他の例を示すブロック図である。
【
図6】コンテンツ配信サービスを実現するコンテンツ供給システム3100の例示的な構造を示すブロック図である。
【
図7】端末デバイスの例の構造を示すブロック図である。
【
図8】本開示の実施形態による、ピクチャの現在ブロックの逆量子化のための方法であり、デコーダにより実行される方法のフローチャートを示す。
【
図9】本開示の更なる実施形態による、ピクチャの現在ブロックの逆量子化のための方法であり、デコーダにより実行される方法のフローチャートを示す。
【
図10】本開示の実施形態による、ピクチャの現在ブロックの逆量子化のための方法であり、エンコーダにより実行される方法のフローチャートを示す。
【
図11】本開示による、ピクチャの現在ブロックの逆量子化のための方法であり、エンコーダにより実行される方法のフローチャートを示す。
【
図13】本開示の他の実施形態によるデコーダを示す。
【
図14】本開示の実施形態によるエンコーダを示す。
【
図15】本開示の他の実施形態によるエンコーダを示す。
【0090】
以下では、同一の参照符号は、他に明示的に指定されていない場合、同一の或いは少なくとも機能的に等価な特徴を示す。
【発明を実施するための形態】
【0091】
以下の説明では、本開示の一部を形成し、例示により本発明の実施形態の特定の態様又は本発明の実施形態が使用され得る特定の態様を示す、添付の図面に参照が行われる。本発明の実施形態は、他の態様で使用され、図面に示さない構造的又は論理的変更を含んでもよいことが理解される。したがって、以下の詳細な説明は、限定的な意味で考えられるべきではなく、本発明の範囲は、添付の特許請求の範囲により定義される。
【0092】
例えば、記載の方法に関連する開示はまた、方法を実行するように構成された対応するデバイス又はシステムにも当てはまってもよく、逆も同様であることが理解される。例えば、1つ又は複数の特定の方法のステップが記載される場合、対応するデバイスは、記載される1つ又は複数の方法のステップを実行するための1つ又は複数のユニット、例えば、機能ユニットを、このような1つ以上のユニットが明示的に記載されないか或いは図面に示されない場合でも含んでもよい(例えば、1つのユニットが1つ又は複数のステップを実行するか、或いは、複数のユニットが複数のステップのうち1つ以上をそれぞれ実行する)。他方、例えば、特定の装置が1つ又は複数のユニット、例えば、機能ユニットに基づいて記載される場合、対応する方法は、1つ又は複数のユニットの機能を実行するための1つのステップを、このような1つ又は複数のステップが明示的に記載されないか或いは図面に示されない場合でも含んでもよい(例えば、1つのステップが1つ又は複数のユニットの機能を実行するか、或いは、複数のステップが複数のユニットのうち1つ以上の機能をそれぞれ実行する)。さらに、ここに記載の様々な例示的な実施形態及び/又は態様の特徴は、特に断りのない限り、互いに結合されてもよいことが理解される。
【0093】
典型的には、ビデオコーディングは、ビデオ又はビデオシーケンスを形成するピクチャのシーケンスの処理を示す。「ピクチャ」という用語の代わりに、「フレーム」又は「画像」という用語がビデオコーディングの分野において同義語として使用されてもよい。ビデオコーディング(又は一般的にコーディング)は、ビデオ符号化及びビデオ復号の2つの部分を含む。ビデオ符号化は、ソース側で実行され、典型的には、(より効率的な記憶及び/又は送信のために)ビデオピクチャを表すために必要なデータの量を低減するように、(例えば、圧縮により)元のビデオピクチャを処理することを含む。ビデオ復号は、宛先側で実行され、典型的には、ビデオピクチャを再構成するために、エンコーダと比較して逆の処理を含む。ビデオピクチャ(又は一般的にピクチャ)の「コーディング」を参照する実施形態は、ビデオピクチャ又はそれぞれのビデオシーケンスの「符号化」又は「復号」に関連すると理解されるものとする。符号化部及び復号部の組み合わせはまた、コーデック(CODEC, Coding and Decoding)とも呼ばれる。
【0094】
可逆ビデオコーディングの場合、元のビデオピクチャは再構成でき、すなわち、再構成ビデオピクチャは、元のビデオピクチャと同じ品質を有する(記憶又は送信の間の送信損失又は他のデータ損失がないと仮定する)。非可逆ビデオコーディングの場合、ビデオピクチャを表すデータの量を低減するために、例えば、量子化による更なる圧縮が実行され、これは、デコーダで完全には再構成できず、すなわち、再構成ビデオピクチャの品質は、元のビデオピクチャの品質と比較して低いか或いは悪い。
【0095】
いくつかのビデオコーディング標準は、「非可逆ハイブリッドビデオコーデック」のグループに属する(すなわち、サンプルドメインにおける空間及び時間予測と、変換ドメインにおける量子化を適用するための2D変換コーディングとを組み合わせる)。ビデオシーケンスの各ピクチャは、典型的には、重複しないブロックのセットにパーティションされ、コーディングは、典型的には、ブロックレベルで実行される。言い換えると、エンコーダにおいて、例えば、空間(イントラピクチャ)予測及び/又は時間(インターピクチャ)予測を使用して予測ブロックを生成し、現在ブロック(現在処理されている/処理されるべきブロック)から予測ブロックを減算して残差ブロックを取得し、残差ブロックを変換して変換ドメインにおいて残差ブロックを量子化して送信されるべきデータの量を低減すること(圧縮)により、ビデオは典型的にはブロック(ビデオブロック)レベルで処理され、すなわち、符号化される。一方、デコーダにおいて、エンコーダと比較して逆の処理が符号化又は圧縮されたブロックに適用されて、表現のために現在ブロックを再構成する。さらに、エンコーダは、デコーダ処理ループを複製し、それにより、双方は後続のブロックを処理するために、すなわち、コーディングするために、同一の予測(例えば、イントラ及びインター予測)及び/又は再構成を生成する。
【0096】
以下に、ビデオコーディングシステム10、ビデオエンコーダ20及びビデオデコーダ30の実施形態について
図1~3に基づいて説明する。
【0097】
図1Aは、本願の技術を利用し得る例示的なコーディングシステム10、例えばビデオコーディングシステム10(又は略してコーディングシステム10)を示す概略ブロック図である。ビデオコーディングシステム10のビデオエンコーダ20(又は略してエンコーダ20)及びビデオデコーダ30(又は略してデコーダ30)は、本願に記載の様々な例による技術を実行するように構成され得るデバイスの例を表す。
【0098】
図1Aに示すように、コーディングシステム10は、符号化ピクチャデータ21を、例えば、符号化ピクチャデータ13を復号するための宛先デバイス14に提供するように構成されたソースデバイス12を含む。
【0099】
ソースデバイス12は、エンコーダ20を含み、さらに、すなわち任意選択で、ピクチャソース16と、プリプロセッサ(又は前処理ユニット)18、例えばピクチャプリプロセッサ18と、通信インタフェース又は通信ユニット22とを含んでもよい。
【0100】
ピクチャソース16は、いずれかの種類のピクチャキャプチャデバイス、例えば、現実世界のピクチャをキャプチャするためのカメラ、及び/又はいずれかの種類のピクチャ生成デバイス、例えば、コンピュータアニメーションピクチャを生成するためのコンピュータグラフィックスプロセッサ、又は現実世界のピクチャ、コンピュータにより生成されたピクチャ(例えば、スクリーンコンテンツ、仮想現実(VR, virtual reality)ピクチャ)及び/又はこれらのいずれかの組み合わせ(例えば、拡張現実(AR, augmented reality)ピクチャ)を取得及び/又は提供するためのいずれかの種類の他のデバイスでもよく或いはこれを含んでもよい。ピクチャソースは、上記のピクチャのうちいずれかを記憶するいずれかの種類のメモリ又はストレージでもよい。
【0101】
プリプロセッサ18、及び前処理ユニット18により実行される処理と対照的に、ピクチャ又はピクチャデータ17はまた、未加工ピクチャ又は未加工ピクチャデータ17とも呼ばれてもよい。
【0102】
プリプロセッサ18は、(未加工)ピクチャデータ17を受信し、ピクチャデータ17に対して前処理を実行して、前処理されたピクチャ19又は前処理されたピクチャデータ19を取得するように構成される。プリプロセッサ18により実行される前処理は、例えば、トリミング、カラーフォーマット変換(例えば、RGBからYCbCrへ)、色補正又はノイズ除去を含んでもよい。前処理ユニット18は任意選択のコンポーネントでもよいことが理解できる。
【0103】
ビデオエンコーダ20は、前処理されたピクチャデータ19を受信し、符号化ピクチャデータ21を提供するように構成される(更なる詳細については、例えば、
図2に基づいて以下に説明する)。
【0104】
ソースデバイス12の通信インタフェース22は、符号化ピクチャデータ21を受信し、記憶又は直接の再構成のために、通信チャネル13上で符号化ピクチャデータ21(又はそのいずれかの更なる処理されたバージョン)を他のデバイス、例えば、宛先デバイス14又はいずれかの他のデバイスに送信するように構成されてもよい。
【0105】
宛先デバイス14は、デコーダ30(例えば、ビデオデコーダ30)を含み、さらに、すなわち任意選択で、通信インタフェース又は通信ユニット28と、ポストプロセッサ32(又は後処理ユニット32)と、ディスプレイデバイス34とを含んでもよい。
【0106】
宛先デバイス14の通信インタフェース28は、例えば、ソースデバイス12から直接に或いはいずれかの他のソース、例えば、記憶デバイス、例えば、符号化ピクチャデータ記憶デバイスから、符号化ピクチャデータ21(又はそのいずれかの更なる処理されたバージョン)を受信し、符号化ピクチャデータ21をデコーダ30に提供するように構成される。
【0107】
通信インタフェース22及び通信インタフェース28は、ソースデバイス12と宛先デバイス14との間の直接通信リンク、例えば、直接有線又は無線接続を介して、或いはいずれかの種類のネットワーク、例えば、有線若しくは無線ネットワーク又はこれらのいずれかの組み合わせ、又はいずれかの種類の私設及び公衆ネットワーク、又はこれらのいずれかの種類の組み合わせを介して、符号化ピクチャデータ21又は符号化データ13を送信又は受信するように構成されてもよい。
【0108】
通信インタフェース22は、例えば、符号化ピクチャデータ21を適切なフォーマット、例えばパケットにパッケージ化し、及び/又は通信リンク又は通信ネットワーク上での送信のために、いずれかの種類の送信符号化又は処理を使用して符号化ピクチャデータを処理するように構成されてもよい。
【0109】
通信インタフェース22の相手方を形成する通信インタフェース28は、例えば、送信データを受信し、いずれかの種類の対応する送信復号若しくは処理及び/又はパッケージ解除を使用して、送信データを処理して、符号化ピクチャデータ21を取得するように構成されてもよい。
【0110】
通信インタフェース22及び通信インタフェース28の双方は、
図1Aにおいてソースデバイス12から宛先デバイス14を指す通信チャネル13についての矢印により示されるような単方向通信インタフェースとして、或いは双方向通信インタフェースとして構成されてもよく、例えば、メッセージを送信及び受信するように、例えば、接続を設定して、通信リンク及び/又はデータ送信、例えば、符号化ピクチャデータ送信に関連するいずれかの他の情報を承認及び交換するように構成されてもよい。
【0111】
デコーダ30は、符号化ピクチャデータ21を受信し、復号ピクチャデータ31又は復号ピクチャ31を提供するように構成される(更なる詳細については、例えば、
図3又は
図5に基づいて以下に説明する)。
【0112】
宛先デバイス14のポストプロセッサ32は、復号ピクチャデータ31(再構成ピクチャデータとも呼ばれる)、例えば復号ピクチャ31を後処理して、後処理されたピクチャデータ33、例えば、後処理されたピクチャ33を取得するように構成される。後処理ユニット32により実行される後処理は、例えば、カラーフォーマット変換(例えば、YCbCrからRGBへ)、色補正、トリミング若しくは再サンプリング、又は例えば復号ピクチャデータ31を、例えば、ディスプレイデバイス34による表示のために準備するためのいずれかの他の処理を含んでもよい。
【0113】
宛先デバイス14のディスプレイデバイス34は、後処理されたピクチャデータ33を受信して、例えば、ユーザ又はビューアにピクチャを表示するように構成される。ディスプレイデバイス34は、再構成ピクチャを提示するいずれかの種類のディスプレイ、例えば、一体型若しくは外部ディスプレイ又はモニタでもよく或いはこれを含んでもよい。ディスプレイは、例えば、液晶ディスプレイ(LCD, liquid crystal display)、有機発光ダイオード(OLED, organic light emitting diode)ディスプレイ、プラズマディスプレイ、プロジェクタ、マイクロLEDディスプレイ、シリコン上液晶(LCoS, liquid crystal on silicon)、デジタル光プロセッサ(DLP, digital light processor)又はいずれかの種類の他のディスプレイでもよく或いはこれを含んでもよい。
【0114】
図1Aはソースデバイス12及び宛先デバイス14を別個のデバイスとして示すが、デバイスの実施形態はまた、双方又は双方の機能、ソースデバイス12又は対応する機能及び宛先デバイス14又は対応する機能を含んでもよい。このような実施形態では、ソースデバイス12又は対応する機能及び宛先デバイス14又は対応する機能は、同じハードウェア及び/又はソフトウェアを使用して或いは別個のハードウェア及び/又はソフトウェア又はこれらのいずれかの組み合わせにより実現されてもよい。
【0115】
説明に基づいて当業者に明らかなように、
図1Aに示すようなソースデバイス12及び/又は宛先デバイス14内の異なるユニット又は機能の存在及び(正確な)分割は、実際のデバイス及び用途に依存して変化してもよい。
【0116】
エンコーダ20(例えば、ビデオエンコーダ20)若しくはデコーダ30(例えば、ビデオデコーダ30)又はエンコーダ20及びデコーダ30の双方は、1つ以上のマイクロプロセッサ、デジタルシグナルプロセッサ(DSP, digital signal processor)、特定用途向け集積回路(ASIC, application-specific integrated circuit)、フィールドプログラマブルゲートアレイ(FPGA, field-programmable gate array)、ディスクリートロジック、ハードウェア、専用ビデオコーディング又はこれらのいずれかの組み合わせのような、
図1Bに示すような処理回路を介して実現されてもよい。エンコーダ20は、
図2のエンコーダ20及び/又はここに記載のいずれかの他のエンコーダシステム又はサブシステムに関して説明するように、様々なモジュールを具体化するように処理回路46を介して実現されてもよい。デコーダ30は、
図3のデコーダ30及び/又はここに記載のいずれかの他のデコーダシステム又はサブシステムに関して説明するように、様々なモジュールを具体化するように処理回路46を介して実現されてもよい。処理回路は、以下に説明するように、様々な動作を実行するように構成されてもよい。
図5に示すように、技術が部分的にソフトウェアで実現される場合、デバイスは、適切な非一時的なコンピュータ読み取り可能記憶媒体内にソフトウェアのための命令を記憶してもよく、本開示の技術を実行するために1つ以上のプロセッサを使用してハードウェアで命令を実行してもよい。ビデオエンコーダ20及びビデオデコーダ30のいずれかは、例えば、
図1Bに示すように、単一のデバイス内の結合されたエンコーダ/デコーダ(CODEC, encoder/decoder)の部分として統合されてもよい。
【0117】
ソースデバイス12及び宛先デバイス14は、いずれかの種類のハンドヘルド又は固定デバイス、例えば、ノートブック又はラップトップコンピュータ、携帯電話、スマートフォン、タブレット又はタブレットコンピュータ、カメラ、デスクトップコンピュータ、セットトップボックス、テレビ、ディスプレイデバイス、デジタルメディアプレイヤ、ビデオゲームコンソール、ビデオストリーミングデバイス(コンテンツサービスサーバ又はコンテンツ配信サーバ等)、放送受信機デバイス、放送送信機デバイス等を含む、広範なデバイスのうちいずれかを含んでもよく、いずれかの種類のオペレーティングシステムを使用してもよく或いは使用しなくてもよい。いくつかの場合、ソースデバイス12及び宛先デバイス14は、無線通信のために装備されてもよい。したがって、ソースデバイス12及び宛先デバイス14は無線通信デバイスでもよい。
【0118】
いくつかの場合、
図1Aに示すビデオコーディングシステム10は単に例であり、本願の技術は、必ずしも符号化デバイスと復号デバイスとの間にいずれかのデータ通信を含むとは限らないビデオコーディング設定(例えば、ビデオ符号化又はビデオ復号)に適用してもよい。他の例では、データはローカルメモリから取り出される、ネットワーク上でストリーミングされる、等である。ビデオ符号化デバイスは、データを符号化してメモリに記憶してもよく、及び/又はビデオ復号デバイスはデータをメモリから取り出して復号してもよい。いくつかの例では、符号化及び復号は、互いに通信しないが単にデータをメモリに符号化し及び/又はメモリからデータを取り出して復号するデバイスにより実行される。
【0119】
説明の便宜上、本発明の実施形態は、ここでは、例えば高効率ビデオコーディング(HEVC, High-Efficiency Video Coding)又はバーサタイルビデオコーディング(VVC, Versatile Video coding)のリファレンスソフトウェア、ITU-Tビデオコーディング専門家委員会(VCEG, Video Coding Experts Group)及びISO/IEC動画専門家委員会(MPEG, Motion Picture Experts Group)のビデオコーディングに関する共同作業部会(JCT-VC, Joint Collaboration Team on Video Coding)により開発された次世代ビデオコーディング標準を参照することにより記載される。当業者は、本発明の実施形態がHEVC又はVVCに限定されないことを理解する。
【0120】
エンコーダ及び符号化方法
図2は、本願の技術を実現するように構成された例示的なビデオエンコーダ20の概略ブロック図を示す。
図2の例では、ビデオエンコーダ20は、入力201(又は入力インタフェース201)と、残差計算ユニット204と、変換処理ユニット206と、量子化ユニット208と、逆量子化ユニット210と、逆変換処理ユニット212と、再構成ユニット214と、ループフィルタユニット220と、復号ピクチャバッファ(DPB, decoded picture buffer)230と、モード選択ユニット260と、エントロピー符号化ユニット270と、出力272(又は出力インタフェース272)とを含む。モード選択ユニット260は、インター予測ユニット244と、イントラ予測処理ユニット254と、パーティションユニット262とを含んでもよい。インター予測ユニット244は、動き推定ユニット及び動き補償ユニット(図示せず)を含んでもよい。
図2に示すようなビデオエンコーダ20はまた、ハイブリッドビデオエンコーダ又はハイブリッドビデオコーデックによるビデオエンコーダとも呼ばれてもよい。
【0121】
残差計算ユニット204、変換処理ユニット206、量子化ユニット208、モード選択ユニット260は、エンコーダ20の順方向信号経路を形成するものと呼ばれてもよい。一方で、逆量子化ユニット210、逆変換処理ユニット212、再構成ユニット214、バッファ216、ループフィルタ220、復号ピクチャバッファ(DPB, decoded picture buffer)230、インター予測ユニット244及びイントラ予測ユニット254は、ビデオエンコーダ20の逆方向信号経路を形成するものと呼ばれてもよく、ビデオエンコーダ20の逆方向信号経路はデコーダの信号経路に対応する(
図3におけるデコーダ30を参照する)。逆量子化ユニット210、逆変換処理ユニット212、再構成ユニット214、ループフィルタ220、復号ピクチャバッファ(DPB, decoded picture buffer)230、インター予測ユニット244及びイントラ予測ユニット254はまた、ビデオエンコーダ20の「内蔵デコーダ」を形成するものとも呼ばれる。
【0122】
ピクチャ及びピクチャパーティション(ピクチャ及びブロック)
エンコーダ20は、例えば、入力201を介して、ピクチャ17(又はピクチャデータ17)、例えば、ビデオ又はビデオシーケンスを形成するピクチャのシーケンスのピクチャを受信するように構成されてもよい。受信したピクチャ又はピクチャデータはまた、前処理ピクチャ19(前処理ピクチャデータ19)でもよい。簡潔にするために、以下の説明はピクチャ17を参照する。ピクチャ17はまた、(特に、ビデオコーディングにおいて、現在ピクチャを他のピクチャ、例えば、同じビデオシーケンス、すなわち、現在ピクチャも含むビデオシーケンスの前に符号化及び/又は復号されたピクチャと区別するために)現在ピクチャ又はコーディングされるべきピクチャとも呼ばれてもよい。
【0123】
(デジタル)ピクチャは、強度値を有するサンプルの2次元配列又は行列であるか或いはそれとして考えられることができる。配列内のサンプルはまた、ピクセル(ピクチャエレメントの短縮形)又はペル(pel)とも呼ばれてもよい。配列又はピクチャの水平及び垂直方向(又は軸)におけるサンプルの数は、ピクチャのサイズ及び/又は解像度を定義する。色の表現のために、典型的には3つの色成分が使用され、すなわち、ピクチャは、3つのサンプル配列として表されてもよく或いはこれらを含んでもよい。RBGフォーマット又は色空間では、ピクチャは、対応する赤、緑及び青のサンプル配列を含む。しかし、ビデオコーディングでは、各ピクセルは、典型的には、ルミナンス及びクロミナンスフォーマット又は色空間、例えば、Y(場合によっては代わりにLも使用される)により示されるルミナンス成分とCb及びCrにより示される2つのクロミナンス成分とを含むYCbCrで表される。ルミナンス(又は略してルマ)成分Yは、明るさ又はグレーレベル強度(例えば、グレースケールピクチャにおけるもの等)を表す。一方で、2つのクロミナンス(又は略してクロマ)成分Cb及びCrは、色度又は色情報成分を表す。したがって、YCbCrフォーマットのピクチャは、ルミナンスサンプル値(Y)のルミナンスサンプル配列と、クロミナンス値(Cb及びCr)の2つのクロミナンスサンプル配列とを含む。RGBフォーマットのピクチャは、YCbCrフォーマットに転換又は変換されてもよく、逆も同様であり、プロセスはまた、色変換又は転換としても知られる。ピクチャがモノクロである場合、ピクチャは、ルミナンスサンプル配列のみを含んでもよい。したがって、ピクチャは、例えば、モノクロフォーマットのルマサンプルの配列、又は4:2:0、4:2:2及び4:4:4カラーフォーマットのルマサンプルの配列及びクロマサンプルの2つの対応する配列でもよい。
【0124】
ビデオエンコーダ20の実施形態は、ピクチャ17を複数の(典型的には重複しない)ピクチャブロック203にパーティションするように構成されたピクチャパーティションユニット(
図2に図示せず)を含んでもよい。これらのブロックはまた、ルートブロック、マクロブロック(H.264/AVC)又はコーディングツリーブロック(CTB, coding tree block)又はコーディングツリーユニット(CTU, coding tree unit)(H.265/HEVC及びVVC)とも呼ばれてもよい。ピクチャパーティションユニットは、ビデオシーケンスの全てのピクチャ、及びブロックサイズを定義する対応するグリッドに同じブロックサイズを使用するように、或いは、ピクチャ又はピクチャのサブセット若しくはグループの間でブロックサイズを変更し、各ピクチャを対応するブロックにパーティションするように構成されてもよい。
【0125】
更なる実施形態では、ビデオエンコーダは、ピクチャ17のブロック203、例えば、ピクチャ17を形成する1つ、いくつか又は全てのブロックを直接受信するように構成されてもよい。ピクチャブロック203はまた、現在ピクチャブロック又はコーディングされるべきピクチャブロックとも呼ばれてもよい。
【0126】
ピクチャ17と同様に、ピクチャブロック203もまた、強度値(サンプル値)を有するサンプルの2次元配列又は行列であるか或いはそれとして考えられることができるが、ピクチャ17よりも小さい次元である。言い換えると、ブロック203は、例えば、1つのサンプル配列(例えば、モノクロピクチャ17の場合のルマ配列、又はカラーピクチャの場合のルマ若しくはクロマ配列)若しくは3つのサンプル配列(例えば、カラーピクチャ17の場合のルマ及び2つのクロマ配列)、又は適用されるカラーフォーマットに依存していずれかの他の数及び/又は種類の配列を含んでもよい。ブロック203の水平及び垂直方向(又は軸)におけるサンプルの数は、ブロック203のサイズを定義する。したがって、ブロックは、例えば、サンプルのM×N(M列×N行)配列、又は変換係数のM×N配列でもよい。
【0127】
図2に示すようなビデオエンコーダ20の実施形態は、ブロック毎にピクチャ17を符号化するように構成されてもよく、例えば、符号化及び予測がブロック203毎に実行される。
【0128】
図2に示すようなビデオエンコーダ20の実施形態は、スライス(ビデオスライスとも呼ばれる)を使用することによりピクチャをパーティション及び/又は符号化するように更に構成されてもよく、ピクチャは、(典型的には重複しない)1つ以上のスライスにパーティションされてもよく或いはこれを使用して符号化されてもよく、各スライスは、1つ以上のブロック(例えば、CTU)又は1つ以上のブロックのグループ(例えば、タイル(H.265/HEVC及びVVC)又はブリック(VVC))を含んでもよい。
【0129】
図2に示すようなビデオエンコーダ20の実施形態は、スライス/タイルグループ(ビデオタイルグループとも呼ばれる)及び/又はタイル(ビデオタイルとも呼ばれる)を使用することによりピクチャをパーティション及び/又は符号化するように更に構成されてもよく、ピクチャは、(典型的には重複しない)1つ以上のスライス/タイルグループにパーティションされてもよく或いはこれを使用して符号化されてもよく、各スライス/タイルグループは、例えば、1つ以上のブロック(例えば、CTU)又は1つ以上のタイルを含んでもよく、各タイルは、例えば、長方形形状でもよく、1つ以上のブロック(例えば、CTU)、例えば完全な或いは部分的なブロックを含んでもよい。
【0130】
残差計算
残差計算ユニット204は、ピクチャブロック203及び予測ブロック265(予測ブロック265に関する更なる詳細は以下に提供される)に基づいて、例えば、サンプル毎に(ピクセル毎に)ピクチャブロック203のサンプル値から予測ブロック265のサンプル値を減算して、サンプルドメインにおける残差ブロック205を取得することにより、残差ブロック205を計算するように構成されてもよい。
【0131】
変換
変換処理ユニット206は、残差ブロック205のサンプル値に対して変換、例えば、離散コサイン変換(DCT, discrete cosine transform)又は離散サイン変換(DST, discrete sine transform)を適用して、変換ドメインにおける変換係数207を取得するように構成されてもよい。変換係数207はまた、変換残差係数とも呼ばれ、変換ドメインにおける残差ブロック205を表してもよい。
【0132】
変換処理ユニット206は、H.265/HEVCについて指定された変換のようなDCT/DSTの整数近似を適用するように構成されてもよい。直交DCT変換と比較して、このような整数近似は、典型的には、特定のファクタによりスケーリングされる。順変換及び逆変換により処理される残差ブロックのノルムを維持するために、更なるスケーリングファクタが変換プロセスの一部として適用される。スケーリングファクタは、典型的には、スケーリングファクタがシフト演算のために2の冪乗であること、変換係数のビット深度、精度と実現コストとの間のトレードオフ等のような特定の制約に基づいて選択される。特定のスケーリングファクタは、例えば、逆変換処理ユニット212による逆変換(及び例えば、ビデオデコーダ30における逆変換処理ユニット312による対応する逆変換)について指定され、例えば、エンコーダ20における変換処理ユニット206による順変換についての対応するスケーリングファクタが相応して指定されてもよい。
【0133】
ビデオエンコーダ20の実施形態(それぞれ、変換処理ユニット206)は、例えば、直接或いはエントロピー符号化ユニット270を介して符号化又は圧縮される、変換パラメータ、例えば、変換又は複数の変換のタイプを出力するように構成されてもよく、それにより、例えば、ビデオデコーダ30は、復号のために変換パラメータを受信して使用してもよい。
【0134】
量子化
量子化ユニット208は、例えば、スカラー量子化又はベクトル量子化を適用することにより、変換係数207を量子化して、量子化された係数209を取得するように構成されてもよい。量子化された係数209はまた、量子化された変換係数209又は量子化された残差係数209とも呼ばれてもよい。
【0135】
量子化プロセスは、変換係数207の一部又は全部に関連するビット深度を低減してもよい。例えば、nビットの変換係数は、量子化の間にmビットの変換係数に切り捨てられてもよく、nはmよりも大きい。量子化の程度は、量子化パラメータ(QP, quantization parameter)を調整することにより変更されてもよい。例えば、スカラー量子化では、より精細な或いはより粗い量子化を達成するために異なるスケーリングが適用されてもよい。より小さい量子化ステップサイズは、より精細な量子化に対応する。一方で、より大きい量子化ステップサイズは、より粗い量子化に対応する。適用可能な量子化ステップは、量子化パラメータ(QP, quantization parameter)により示されてもよい。量子化パラメータは、例えば、適用可能な量子化ステップサイズの所定のセットへのインデックスでもよい。例えば、小さい量子化パラメータは、精細な量子化(小さい量子化ステップサイズ)に対応してもよく、大きい量子化パラメータは、粗い量子化(大きい量子化ステップサイズ)に対応してもよく、逆も同様である。量子化は、量子化ステップサイズによる除算を含んでもよく、例えば、逆量子化ユニット210による対応するもの及び/又は逆の反量子化は、量子化ステップサイズによる乗算を含んでもよい。いくつかの標準、例えば、HEVCによる実施形態は、量子化ステップサイズを決定するために量子化パラメータを使用するように構成されてもよい。一般的に、量子化ステップサイズは、除算を含む式の固定点近似を使用して、量子化パラメータに基づいて計算されてもよい。量子化ステップサイズ及び量子化パラメータについての式の固定点近似において使用されるスケーリングのため、変更され得る残差ブロックのノルムを復元するために、量子化及び反量子化のための更なるスケーリングファクタが導入されてもよい。1つの例示的な実現方式では、逆変換及び反量子化のスケーリングは組み合わされてもよい。代替として、カスタマイズされた量子化テーブルが使用され、例えば、ビットストリームでエンコーダからデコーダにシグナリングされてもよい。量子化は非可逆動作であり、量子化ステップサイズの増加に伴い損失が増加する。
【0136】
基本的な量子化パラメータは、全てのルマ及びクロマ成分について一緒にビットストリームでシグナリングされる。しかし、クロミナンス成分についての量子化パラメータは、1つのスライス又はタイルグループレベル内の1つのピクチャ/コーディングユニット内のピクチャ/スライス又はタイルグループにおいて、基本的なものからシフトできる。この目的のため、ビットストリームは、2つのクロミナンス成分についてのPPSオフセット(pps_cb_qp_offset及びpps_cr_qp_offsetシンタックスエレメント)、2つのクロミナンス成分についてのスライスオフセット(slice_cb_qp_offset及びslice_cr_qp_offset)及び2つのオフセットリスト(cb_qp_offset_list及びcr_qp_offset_list)を含むことができ、これらは、通常ではPPSでシグナリングされ、テーブルを指すCUレベルインデックスを送信することにより、CUレベルについてQPオフセットを適用することを可能にする。
【0137】
ビデオエンコーダ20の実施形態(それぞれ、量子化ユニット208)は、例えば、直接或いはエントロピー符号化ユニット270を介して符号化される、量子化パラメータ(QP, quantization parameter)を出力するように構成されてもよく、それにより、例えば、ビデオデコーダ30は、復号のために量子化パラメータを受信して適用してもよい。
【0138】
逆量子化
逆量子化ユニット210は、例えば、量子化ユニット208と同じ量子化ステップサイズに基づいて或いはこれを使用して、量子化ユニット208により適用された量子化方式の逆を適用することにより、量子化された係数に対して量子化ユニット208の逆量子化を適用して、反量子化された係数211を取得するように構成される。反量子化された係数211はまた、反量子化された残差係数211とも呼ばれ、典型的には量子化による損失のため変換係数と同一ではないが、変換係数207に対応してもよい。
【0139】
逆変換
逆変換処理ユニット212は、変換処理ユニット206により適用された変換の逆変換、例えば、逆離散コサイン変換(DCT, discrete cosine transform)若しくは逆離散サイン変換(DST, discrete sine transform)又は他の逆変換を適用して、サンプルドメインにおける再構成された残差ブロック213(又は対応する反量子化された係数213)を取得するように構成される。再構成された残差ブロック213はまた、変換ブロック213とも呼ばれてもよい。
【0140】
再構成
再構成ユニット214(例えば、加算器又は合計器214)は、変換ブロック213(すなわち、再構成された残差ブロック213)を予測ブロック265に加算して、例えば、再構成された残差ブロック213のサンプル値と予測ブロック265のサンプル値とをサンプル毎に加算することにより、サンプルドメインにおける再構成されたブロック215を取得するように構成される。
【0141】
フィルタリング
ループフィルタユニット220(又は略して「ループフィルタ」220)は、再構成されたブロック215をフィルタリングして、フィルタリングされたブロック221を取得するように、或いは一般的に、再構成されたサンプルをフィルタリングして、フィルタリングされたサンプル値を取得するように構成される。ループフィルタユニットは、例えば、ピクセル遷移を円滑化するように、或いは、ビデオ品質を改善するように構成される。ループフィルタユニット220は、デブロッキングフィルタ、サンプル適応オフセット(SAO, sample-adaptive offset)フィルタ又は1つ以上の他のフィルタ、例えば、適応ループフィルタ(ALF, adaptive loop filter)、ノイズ抑制フィルタ(NSF, noise suppression filter)又はこれらのいずれかの組み合わせのような1つ以上のループフィルタを含んでもよい。一例では、ループフィルタユニット220は、デブロッキングフィルタ、SAOフィルタ及びALFフィルタを含んでもよい。フィルタリングプロセスの順序は、デブロッキングフィルタ、SAO及びALFでもよい。他の例では、クロマスケーリングを伴うルママッピング(LMCS, luma mapping with chroma scaling)(すなわち、適応インループリシェーパ)と呼ばれるプロセスが追加される。このプロセスはデブロッキングの前に実行される。他の例では、デブロッキングフィルタプロセスはまた、内部サブブロックエッジ、例えば、アフィンサブブロックエッジ、ATMVPサブブロックエッジ、サブブロック変換(SBT, sub-block transform)エッジ及びイントラサブパーティション(ISP, intra sub-partition)エッジに適用されてもよい。ループフィルタユニット220はインループフィルタであるとして
図2に示されているが、他の構成では、ループフィルタユニット220はポストループフィルタとして実現されてもよい。フィルタリングされたブロック221はまた、フィルタリングされた再構成ブロック221とも呼ばれてもよい。
【0142】
ビデオエンコーダ20の実施形態(それぞれ、ループフィルタユニット220)は、例えば、直接或いはエントロピー符号化ユニット220を介して符号化される、ループフィルタパラメータ(SAOフィルタパラメータ又はALFフィルタパラメータ又はLMCSパラメータ等)を出力するように構成されてもよく、それにより、例えば、デコーダ30は、復号のために同じループフィルタパラメータ又はそれぞれのループフィルタを受信して適用してもよい。
【0143】
復号ピクチャバッファ
復号ピクチャバッファ(DPB, decoded picture buffer)230は、ビデオエンコーダ20によりビデオデータを符号化するために、参照ピクチャ又は一般的に参照ピクチャデータを記憶するメモリでもよい。DPB230は、シンクロナスDRAM(SDRAM, synchronous DRAM)を含むダイナミックランダムアクセスメモリ(DRAM, dynamic random access memory)、磁気抵抗RAM(MRAM, magnetoresistive RAM)、抵抗RAM(RRAM, resistive RAM)、又は他のタイプのメモリデバイスのような様々なメモリデバイスのうちいずれかにより形成されてもよい。復号ピクチャバッファ(DPB, decoded picture buffer)230は、1つ以上のフィルタリングされたブロック221を記憶するように構成されてもよい。復号ピクチャバッファ230は、同じ現在ピクチャ又は異なるピクチャ、例えば、前に再構成されたピクチャの他の前にフィルタリングされたブロック、例えば、前に再構成されてフィルタリングされたブロック221を記憶するように更に構成されてもよく、例えば、インター予測のために、完全な前に再構成された、すなわち、復号されたピクチャ(及び対応する参照ブロック及びサンプル)、及び/又は部分的に再構成された現在ピクチャ(及び対応する参照ブロック及びサンプル)を提供してもよい。復号ピクチャバッファ(DPB, decoded picture buffer)230はまた、1つ以上のフィルタリングされていない再構成ブロック215、又は一般的には、例えば、再構成されたブロック215がループフィルタユニット220によりフィルタリングされない場合には、フィルタリングされていない再構成サンプル、又は再構成されたブロック若しくはサンプルのいずれかの他の更に処理されたバージョンを記憶するように構成されてもよい。
【0144】
モード選択(パーティション及び予測)
モード選択ユニット260は、パーティションユニット262と、インター予測ユニット244と、イントラ予測ユニット254とを含み、元のピクチャデータ、例えば、元のブロック203(現在ピクチャ17の現在ブロック203)と、再構成ピクチャデータ、例えば、同じ(現在)ピクチャの及び/又は1つ又は複数の前に復号されたピクチャからの、例えば、復号ピクチャバッファ230又は他のバッファ(例えば、図示しないラインバッファ)からのフィルタリングされた及び/又はフィルタリングされていない再構成サンプル又はブロックとを受信又は取得するように構成される。再構成ピクチャデータは、予測ブロック265又は予測子265を取得するために、予測、例えば、インター予測又はイントラ予測のための参照ピクチャデータとして使用される。
【0145】
モード選択ユニット260は、現在ブロック予測モードについてのパーティション(パーティションしないことを含む)と、予測モード(例えば、イントラ又はインター予測モード)とを決定又は選択し、残差ブロック205の計算のため且つ再構成ブロック215の再構成のために使用される対応する予測ブロック265を生成するように構成されてもよい。
【0146】
モード選択ユニット260の実施形態は、最良の適合若しくは言い換えると最小残差(最小残差は送信又は記憶のためのより良い圧縮を意味する)又は最小シグナリングオーバヘッド(最小シグナリングオーバヘッドは送信又は記憶のためのより良い圧縮を意味する)を提供するか、或いは、双方を考慮するか或いはバランスさせるパーティション及び予測モードを(例えば、モード選択ユニット260によりサポートされるか或いは利用可能なものから)選択するように構成されてもよい。モード選択ユニット260は、レート歪み最適化(RDO, rate distortion optimization)に基づいて、パーティション及び予測モードを決定するように、すなわち、最小のレート歪みを提供する予測モードを選択するように構成されてもよい。この文脈における「最良」、「最小」、「最適」等のような用語は、必ずしも全体的な「最良」、「最小」、「最適」等を示すとは限らず、閾値を超えるか或いはそれよりも下である値のような終了若しくは選択基準、又は潜在的に「準最適選択」をもたらすが複雑さ及び処理時間を低減する他の制約の充足を示してもよい。
【0147】
言い換えると、パーティションユニット262は、ビデオシーケンスからのピクチャをコーディングツリーユニット(CTU, coding tree unit)のシーケンスにパーティションするように構成されてもよく、CTU203は、例えば、四分木パーティション(QT, quad-tree-partitioning)、二分木パーティション(BT, binary partitioning)若しくは三分木パーティション(TT, triple-tree-partitioning)又はこれらのいずれかの組み合わせを繰り返し使用して、より小さいブロックパーティション又はサブブロック(これも再びブロックを形成する)に更にパーティションされてもよく、ブロックパーティション又はサブブロックのそれぞれについて予測を実行し、モード選択は、パーティションされたブロック203の木構造の選択を含み、予測モードは、ブロックパーティション又はサブブロックのそれぞれに適用される。
【0148】
以下に、例示的なビデオエンコーダ20により実行される(例えば、パーティションユニット260による)パーティション及び(インター予測ユニット244及びイントラ予測ユニット254による)予測処理について更に詳細に説明する。
【0149】
パーティション
パーティションユニット262は、ビデオシーケンスからのピクチャをコーディングツリーユニット(CTU, coding tree unit)のシーケンスにパーティションするように構成されてもよく、パーティションユニット262は、コーディングツリーユニット(CTU, coding tree unit)203を、より小さいパーティション、例えば正方形又は長方形サイズのより小さいブロックにパーティション(又は分割)してもよい。3つのサンプル配列を有するピクチャについて、CTUは、ルマサンプルのN×Nブロックから、クロマサンプルの2つの対応するブロックと共に構成される。CTU内のルマブロックの最大許容サイズは、策定中のバーサタイルビデオコーディング(VVC, versatile video coding)では128×128と指定されているが、将来128×128ではない値、例えば256×256と指定される可能性がある。ピクチャのCTUは、スライス/タイルグループ、タイル又はブリックとしてクラスタ化/グループ化されてもよい。タイルは、ピクチャの長方形領域をカバーし、タイルは、1つ以上のブリックに分割できる。ブリックは、タイル内の複数のCTU行から構成される。複数のブリックにパーティションされないタイルは、ブリックと呼ばれることができる。しかし、ブリックはタイルの真のサブセットであり、タイルとは呼ばれない。VVCでサポートされるタイルグループの2つのモード、すなわち、ラスタ走査スライス/タイルグループモード及び長方形スライスモードが存在する。ラスタ走査タイルグループモードでは、スライス/タイルグループは、ピクチャのタイルラスタ走査におけるタイルのシーケンスを含む。長方形スライスモードでは、スライスは、ピクチャの長方形領域をまとめて形成するピクチャの多数のブリックを含む。長方形スライス内のブリックは、スライスのブリックラスタ走査の順序になっている。これらのより小さいブロック(サブブロックとも呼ばれてもよい)は、一層小さいパーティションに更にパーティションされてもよい。これはまた、ツリーパーティション又は階層ツリーパーティションとも呼ばれ、例えば、ルートツリーレベル0(階層レベル0、深度0)におけるルートブロックは、再帰的にパーティションされ、例えば、次のより下のツリーレベルの2つ以上のブロック、例えば、ツリーレベル1(階層レベル1、深度1)におけるノードにパーティションされてもよく、これらのブロックは、例えば、終了基準が充足されたため、例えば、最大ツリー深度又は最小ブロックサイズに達したため、パーティションが終了するまで、再び、次のより下のツリーレベル、例えば、ツリーレベル2(階層レベル2、深度2)の2つ以上のブロックにパーティションされる、等でもよい。更にパーティションされないブロックはまた、ツリーのリーフブロック又はリーフノードとも呼ばれる。2つのパーティションへのパーティションを使用するツリーは、二分木(BT, binary-tree)と呼ばれ、3つのパーティションへのパーティションを使用するツリーは三分木(TT, ternary-tree)と呼ばれ、4つのパーティションへのパーティションを使用するツリーは四分木(QT, quad-tree)と呼ばれる。
【0150】
例えば、コーディングツリーユニット(CTU, coding tree unit)は、ルマサンプルのCTB、3つのサンプル配列を有するピクチャのクロマサンプルの2つの対応するCTB、又はモノクロピクチャ若しくは3つの別個の色平面及びサンプルをコーディングするために使用されるシンタックス構造を使用してコーディングされるピクチャのサンプルのCTBでもよく或いはこれを含んでもよい。対応して、コーディングツリーブロック(CTB, coding tree block)は、何らかの値のNについて、サンプルのN×Nブロックでもよく、それにより、CTBへの成分の分割はパーティションである。コーディングユニット(CU, coding unit)は、ルマサンプルのコーディングブロック、3つのサンプル配列を有するピクチャのクロマサンプルの2つの対応するコーディングブロック、又はモノクロピクチャ若しくは3つの別個の色平面及びサンプルをコーディングするために使用されるシンタックス構造を使用してコーディングされるピクチャのサンプルのコーディングブロックでもよく或いはこれを含んでもよい。対応して、コーディングブロック(CB, coding block)は、何らかの値のM及びNについて、サンプルのM×Nブロックでもよく、それにより、コーディングブロックへのCTBの分割はパーティションである。
【0151】
例えば、HEVCによる実施形態では、コーディングツリーユニット(CTU, coding tree unit)は、コーディングツリーとして示される四分木構造を使用することによりCUに分割されてもよい。インターピクチャ(時間)予測を使用してピクチャ領域をコーディングするか、イントラピクチャ(空間)予測を使用してピクチャ領域をコーディングするかの判断は、リーフCUレベルで行われる。各リーフCUは、PU分割タイプに従って、1つ、2つ又は4つのPUに更に分割できる。1つのPU内で、同じ予測プロセスが適用され、関連情報がPU毎にデコーダに送信される。PU分割タイプに基づいて予測プロセスを適用することにより残差ブロックを取得した後に、リーフCUは、CUについてのコーディングツリーと同様の他の四分木構造に従って、変換ユニット(TU, transform unit)にパーティションできる。
【0152】
例えば、バーサタイルビデオコーディング(VVC, Versatile Video Coding)と呼ばれる現在策定中の最新のビデオコーディング標準による実施形態では、二分割及び三分割セグメント化構造を使用する結合された四分木ネスト型マルチタイプツリーが、例えば、コーディングツリーユニットをパーティションするために使用される。コーディングツリーユニット内のコーディングツリー構造では、CUは正方形又は長方形形状のいずれかを有することができる。例えば、コーディングツリーユニット(CTU, coding tree unit)は、まず、四分木によりパーティションされる。次いで、四分木リーフノードは、マルチタイプツリー構造により更にパーティションできる。マルチタイプツリー構造には、4つの分割タイプ、すなわち、垂直二分割(SPLIT_BT_VER)、水平二分割(SPLIT_BT_HOR)、垂直三分割(SPLIT_TT_VER)及び水平三分割(SPLIT_TT_HOR)が存在する。マルチタイプツリーリーフノードは、コーディングユニット(CU, coding unit)と呼ばれ、CUが最大変換長にとって大きすぎない限り、このセグメント化は、更なるパーティションなしで予測及び変換処理に使用される。これは、ほとんどの場合、CU、PU及びTUがネスト型マルチタイプツリーのコーディングブロック構造を有する四分木において同じブロックサイズを有することを意味する。例外は、最大サポート変換長がCUの色成分の幅又は高さよりも小さいときに発生する。VVCは、ネスト型マルチタイプツリーのコーディングツリー構造を有する四分木におけるパーティション分割情報の独特のシグナリングメカニズムを策定している。当該シグナリングメカニズムでは、コーディングツリーユニット(CTU, coding tree unit)は四分木のルートとして扱われ、まず、四分木構造によりパーティションされる。次いで、各四分木リーフノード(それを許容するほど十分に大きいとき)は、マルチタイプツリー構造により更にパーティションされる。マルチタイプツリー構造では、第1のフラグ(mtt_split_cu_flag)は、ノードが更にパーティションされるか否かを示すためにシグナリングされ、ノードが更にパーティションされるとき、第2のフラグ(mtt_split_cu_vertical_flag)は、分割方向を示すためにシグナリングされ、次いで、第3のフラグ(mtt_split_cu_binary_flag)は、分割が二分割であるか三分割であるかを示すためにシグナリングされる。mtt_split_cu_vertical_flag及びmtt_split_cu_binary_flagの値に基づいて、CUのマルチタイプツリー分割モード(MttSplitMode)は、所定のルール又はテーブルに基づいてデコーダにより導出できる。
図6に示すように、特定の設計、例えば、VVCハードウェアデコーダにおける64×64ルマブロック及び32×32クロマパイプライン設計では、ルマコーディングブロックの幅又は高さのいずれかが64よりも大きいとき、TT分割は禁止される。クロマコーディングブロックの幅又は高さのいずれかが32よりも大きいときも、TT分割は禁止される。パイプライン設計は、ピクチャを仮想パイプラインデータユニット(VPDU, Virtual pipeline data unit)に分割し、これらは、ピクチャ内の重複しないユニットとして定義される。ハードウェアデコーダでは、連続するVPDUが複数のパイプライン段により同時に処理される。VPDUサイズは、ほとんどのパイプライン段においてバッファサイズにほぼ比例するので、VPDUサイズを小さく保持することが重要である。ほとんどのハードウェアデコーダでは、VPDUサイズは最大変換ブロック(TB, transform block)サイズに設定できる。しかし、VVCでは、三分木(TT, ternary tree)及び二分木(BT, binary tree)パーティションはVPDUサイズの増加をもたらす可能性がある。
【0153】
さらに、ツリーノードブロックの一部が下側又は右側ピクチャ境界を超えるとき、ツリーノードブロックは、全てのコーディングされたCUの全てのサンプルがピクチャ境界内に位置するまで、強制的に分割される点に留意すべきである。
【0154】
一例として、イントラサブパーティション(ISP, Intra Sub-Partitions)ツールは、ブロックサイズに依存して、ルマイントラ予測ブロックを垂直又は水平に2つ又は4つのサブパーティションに分割してもよい。
【0155】
一例では、ビデオエンコーダ20のモード選択ユニット260は、ここに記載のパーティション技術のいずれかの組み合わせを実行するように構成されてもよい。
【0156】
上記のように、ビデオエンコーダ20は、(例えば、予め決定された)予測モードのセットから最良又は最適な予測モードを決定又は選択するように構成される。予測モードのセットは、例えば、イントラ予測モード及び/又はインター予測モードを含んでもよい。
【0157】
イントラ予測
イントラ予測モードのセットは、35個の異なるイントラ予測モード、例えば、DC(又は平均)モード及びプラナーモードのような非方向性モード、又は例えば、HEVCで定義されたような方向性モードを含んでもよく、或いは、67個の異なるイントラ予測モード、例えば、DC(又は平均)モード及びプラナーモードのような非方向性モード、又は例えば、VVCについて定義されたような方向性モードを含んでもよい。一例として、いくつかの従来の角度イントラ予測モードは、例えばVVCにおいて定義されたような非正方形ブロックのための広角イントラ予測モードに適応的に置き換えられる。他の例として、DC予測のための分割動作を回避するために、長辺のみが非正方形ブロックについての平均を計算するために使用される。さらに、プラナーモードのイントラ予測の結果は、位置依存イントラ予測結合(PDPC, position dependent intra prediction combination)方法により更に修正されてもよい。
【0158】
イントラ予測ユニット254は、イントラ予測モードのセットのうち或るイントラ予測モードに従ってイントラ予測ブロック265を生成するために、同じ現在ピクチャの隣接ブロックの再構成されたサンプルを使用するように構成される。
【0159】
イントラ予測ユニット254(又は一般的にモード選択ユニット260)は、符号化ピクチャデータ21に含めるためにシンタックスエレメント226の形式で、イントラ予測パラメータ(又は一般的にブロックについて選択されたイントラ予測モードを示す情報)をエントロピー符号化ユニット270に出力するように更に構成され、それにより、例えば、ビデオデコーダ30は、復号のために予測パラメータを受信して使用してもよい。
【0160】
インター予測
インター予測モードのセット(又は可能なもの)は、利用可能な参照ピクチャ(すなわち、例えば、DBP230に記憶された、前の少なくとも部分的に復号されたピクチャ)及び他のインター予測パラメータ、例えば、最良の適合する参照ブロックを探索するために全体の参照ピクチャが使用されるか、参照ピクチャの部分のみ、例えば、現在ブロックの領域の周辺の探索ウインドウ領域が使用されるか、及び/又は、例えば、ピクセル補間、例えばハーフ/セミペル、4分の1ペル及び/又は1/16ペル補間が適用されるか否かに依存する。
【0161】
上記の予測モードに加えて、スキップモード、直接モード及び/又は他のインター予測モードが適用されてもよい。
【0162】
例えば、拡張マージ予測では、このようなモードのマージ候補リストは、順に以下の5つのタイプの候補、すなわち、空間隣接CUからの空間MVP、同一位置のCUからの時間MVP、FIFOテーブルからの履歴ベースMVP、対の平均MVP及びゼロMVを含めることにより構成される。さらに、マージモードのMVの精度を高めるために、バイラテラルマッチングベースのデコーダ側動きベクトル精緻化(DMVR, decoder-side motion vector refinement)が適用されてもよい。MVDを伴うマージモード(MMVD, Merge mode with MVD)は、動きベクトル差(MVD, motion vector difference)を伴うマージモードに由来する。MMVDモードがCUに使用されるか否かを指定するために、スキップフラグ及びマージフラグを送信した直後にMMVDフラグがシグナリングされる。さらに、CUレベルの適応動きベクトル精度(AMVR, adaptive motion vector resolution)方式が適用されてもよい。AMVRは、CUのMVDが異なる精度でコーディングされることを可能にする。現在のCUについての予測モードに依存して、現在のCUのMVDが適応的に選択できる。CUがマージモードでコーディングされるとき、結合インター/イントラ予測(CIIP, combined inter/intra prediction)モードが現在のCUに適用されてもよい。CIIP予測を取得するために、インター及びイントラ予測信号の加重平均が実行される。アフィン動き補償予測では、ブロックのアフィン動き場は、2つの制御点(4パラメータ)又は3つの制御点動きベクトル(6パラメータ)の動き情報により記述される。サブブロックベースの時間動きベクトル予測(SbTMVP, sub-block-based temporal motion vector prediction)は、HEVCにおける時間動きベクトル予測(TMVP, temporal motion vector prediction)と同様であるが、現在のCU内のサブCUの動きベクトルを予測する。以前はBIOと呼ばれていた双方向オプティカルフロー(BDOF, bi-directional optical flow)は、特に乗算の数及び乗算器のサイズに関して非常に少ない計算量を必要とするより簡単なバージョンである。三角パーティションモードでは、このようなモードで、CUは、対角分割又は非対角分割のいずれかを使用して2つの三角形の形状のパーティションに均等に分割される。その上、双予測モードは、2つの予測信号の加重平均を可能にするために、単純平均を越えて拡張される。
【0163】
インター予測ユニット244は、動き推定(ME, motion estimation)ユニット及び動き補償(ME, motion compensation)ユニット(双方とも
図2に図示せず)を含んでもよい。動き推定ユニットは、動き推定のために、ピクチャブロック203(現在ピクチャ17の現在ブロック203)及び復号ピクチャ231、又は少なくとも1つ若しくは複数の前に再構成されたブロック、例えば、1つ若しくは複数の他の/異なる前の復号ピクチャ231の再構成されたブロックを受信又は取得するように構成されてもよい。例えば、ビデオシーケンスは、現在ピクチャ及び前の復号ピクチャ231を含んでもよく、或いは言い換えると、現在ピクチャ及び前の復号ピクチャ231は、ビデオシーケンスを形成するピクチャのシーケンスの一部でもよく或いはこれを形成してもよい。
【0164】
エンコーダ20は、例えば、複数の他のピクチャの同じ或いは異なるピクチャの複数の参照ブロックから参照ブロックを選択し、参照ピクチャ(又は参照ピクチャインデックス)及び/又は参照ブロックの位置(x,y座標)と現在ブロックの位置との間のオフセット(空間オフセット)を、インター予測パラメータとして動き推定ユニットに提供するように構成されてもよい。このオフセットはまた、動きベクトル(MV, motion vector)とも呼ばれる。
【0165】
動き補償ユニットは、インター予測パラメータを取得し、例えば、受信し、インター予測パラメータに基づいて或いはこれを使用してインター予測を実行して、インター予測ブロック265を取得するように構成される。動き補償ユニットにより実行される動き補償は、動き推定により決定された動き/ブロックベクトルに基づいて、予測ブロックをフェッチ又は生成し、場合によってはサブピクセル精度への補間を実行することを含んでもよい。補間フィルタリングは、既知のピクセルサンプルから更なるピクセルサンプルを生成してもよく、したがって、ピクチャブロックをコーディングするために使用され得る候補予測ブロックの数を潜在的に増加させる。現在ピクチャブロックのPUの動きベクトルを受信すると、動き補償ユニットは、参照ピクチャリストのうち1つの中で動きベクトルが指す予測ブロックを見つけてもよい。
【0166】
動き補償ユニットはまた、ビデオスライスのピクチャブロックを復号する際にビデオデコーダ30による使用のために、ブロック及びビデオスライスに関連するシンタックスエレメントを生成してもよい。スライス及びそれぞれのシンタックスエレメントに加えて或いはその代替として、タイルグループ及び/又はタイル及びそれぞれのシンタックスエレメントが生成又は使用されてもよい。
【0167】
エントロピーコーディング
エントロピー符号化ユニット270は、量子化された係数209、インター予測パラメータ、イントラ予測パラメータ、ループフィルタパラメータ及び/又は他のシンタックスエレメントに対して、例えば、エントロピー符号化アルゴリズム又は方式(例えば、可変長コーディング(VLC, variable length coding)方式、コンテキスト適応型VLC方式(CAVLC, context adaptive VLC, scheme)、算術コーディング方式、二値化、コンテキスト適応型バイナリ算術コーディング(CABAC, context adaptive binary arithmetic coding)、シンタックスベースのコンテキスト適応型バイナリ算術コーディング(SBAC, syntax-based context-adaptive binary arithmetic coding)、確率区間区分エントロピー(PIPE, probability interval partitioning entropy)コーディング又は他のエントロピー符号化方法若しくは技術)を適用するか或いは迂回して(非圧縮)、例えば、符号化ビットストリーム21の形式で出力272を介して出力できる符号化ピクチャデータ21を取得するように構成され、それにより、例えば、ビデオデコーダ30は、復号のためにパラメータを受信して使用してもよい。符号化ビットストリーム21は、ビデオデコーダ39に送信されてもよく、或いは、ビデオデコーダ30による後の送信又は取り出しのためにメモリに記憶されてもよい。
【0168】
ビデオエンコーダ20の他の構造的変形は、ビデオストリームを符号化するために使用できる。例えば、非変換ベースのエンコーダ20は、特定のブロック又はフレームについて、変換処理ユニット206なしに、残差信号を直接量子化できる。他の実現方式では、エンコーダ20は、単一のユニットに結合された量子化ユニット208及び逆量子化ユニット210を有することができる。
【0169】
デコーダ及び復号方法
図3は、本願の技術を実現するように構成されたビデオデコーダ30の例を示す。ビデオデコーダ30は、復号ピクチャ331を取得するために、例えば、エンコーダ20により符号化された符号化ピクチャデータ21(例えば、符号化ビットストリーム21)を受信するように構成される。符号化ピクチャデータ又はビットストリームは、符号化ピクチャデータを複合するための情報、例えば、符号化ビデオスライス(及び/又はタイルグループ又はタイル)のピクチャブロック及び関連するシンタックスエレメントを表すデータを含む。
【0170】
図3の例では、デコーダ30は、エントロピー復号ユニット304と、逆量子化ユニット310と、逆変換処理ユニット312と、再構成ユニット314(例えば、合計器314)と、ループフィルタ320と、復号ピクチャバッファ(DBP, decoded picture buffer)330と、モード適用ユニット360と、インター予測ユニット344と、イントラ予測ユニット354とを含む。インター予測ユニット344は、動き補償ユニットでもよく或いはこれを含んでもよい。ビデオデコーダ30は、いくつかの例では、
図2からビデオエンコーダ100に関して説明した符号化経路と一般的に逆の復号経路を実行してもよい。
【0171】
エンコーダ20に関して説明したように、逆量子化ユニット210、逆変換処理ユニット212、再構成ユニット214、ループフィルタ220、復号ピクチャバッファ(DPB, decoded picture buffer)230、インター予測ユニット344及びイントラ予測ユニット354はまた、ビデオエンコーダ20の「内蔵デコーダ」を形成するとも呼ばれてもよい。したがって、逆量子化ユニット310は逆量子化ユニット110と機能的に同一でもよく、逆変換処理ユニット312は逆変換処理ユニット212と機能的に同一でもよく、再構成ユニット314は再構成ユニット214と機能的に同一でもよく、ループフィルタ320はループフィルタ220と機能的に同一でもよく、復号ピクチャバッファ330は復号ピクチャバッファ230と機能的に同一でもよい。したがって、ビデオ20エンコーダのそれぞれのユニット及び機能について提供された説明は、対応して、ビデオデコーダ30のそれぞれのユニット及び機能に適用する。
【0172】
エントロピー復号
エントロピー復号ユニット304は、ビットストリーム21(又は一般的には符号化ピクチャデータ21)をパースし、例えば、符号化ピクチャデータ21に対してエントロピー復号を実行して、例えば、量子化された係数309及び/又は復号されたコーディングパラメータ(
図3に図示せず)、例えば、インター予測パラメータ(例えば、参照ピクチャインデックス及び動きベクトル)、イントラ予測パラメータ(例えば、イントラ予測モード又はインデックス)、変換パラメータ、量子化パラメータ、ループフィルタパラメータ及び/又は他のシンタックスエレメントのうちいずれか又は全てを取得するように構成される。エントロピー復号ユニット304は、エンコーダ20のエントロピー符号化ユニット270に関して説明したような符号化方式に対応する復号アルゴリズム又は方式を適用するように構成されてもよい。エントロピー復号ユニット304は、インター予測パラメータ、イントラ予測パラメータ及び/又は他のシンタックスエレメントをモード適用ユニット360に提供し、他のパラメータをデコーダ30の他のユニットに提供するように更に構成されてもよい。ビデオデコーダ30は、ビデオスライスレベル及び/又はビデオブロックレベルのシンタックスエレメントを受信してもよい。スライス及びそれぞれのシンタックスエレメントに加えて或いはその代替として、タイルグループ及び/又はタイル及びそれぞれのシンタックスエレメントが受信及び/又は使用されてもよい。
【0173】
逆量子化
逆量子化ユニット310は、符号化ピクチャデータ21から(例えば、エントロピー復号ユニット304により例えばパース及び/又は復号することにより)量子化パラメータ(QP, quantization parameter)(又は一般的に逆量子化に関する情報)及び量子化された係数を受信し、量子化パラメータに基づいて、復号済みの量子化された係数309に対して逆量子化を適用して、変換係数311とも呼ばれてもよい反量子化された係数311を取得するように構成されてもよい。逆量子化プロセスは、量子化の程度、及び同様に適用されるべき逆量子化の程度を決定するために、ビデオスライス(又はタイル若しくはタイルグループ)内の各ビデオブロックについてビデオエンコーダ20により決定された量子化パラメータの使用を含んでもよい。
【0174】
逆変換
逆変換処理ユニット312は、変換係数311とも呼ばれる反量子化された係数311を受信し、サンプルドメインにおいて再構成された残差ブロック213を取得するために反量子化された係数311に変換を適用するように構成されてもよい。再構成された残差ブロック213はまた、変換ブロック313とも呼ばれてもよい。変換は、逆変換、例えば、逆DCT、逆DST、逆整数変換又は概念的に同様の逆変換プロセスでもよい。逆変換処理ユニット312は、符号化ピクチャデータ21から(例えば、エントロピー復号ユニット304により例えばパース及び/又は復号することにより)変換パラメータ又は対応する情報を受信して、反量子化された係数311に適用されるべき変換を決定するように更に構成されてもよい。
【0175】
再構成
再構成ユニット314(例えば、加算器又は合計器314)は、再構成された残差ブロック313を予測ブロック365に加算して、例えば、再構成された残差ブロック313のサンプル値と予測ブロック365のサンプル値とを加算することにより、サンプルドメインにおける再構成されたブロック315を取得するように構成されてもよい。
【0176】
フィルタリング
(コーディングループ内又はコーディングループの後のいずれかの)ループフィルタユニット320は、再構成されたブロック315をフィルタリングして、フィルタリングされたブロック321を取得するように、例えば、ピクセル遷移を円滑化するように或いはビデオ品質を改善するように構成される。ループフィルタユニット320は、デブロッキングフィルタ、サンプル適応オフセット(SAO, sample-adaptive offset)フィルタ又は1つ以上の他のフィルタ、例えば、適応ループフィルタ(ALF, adaptive loop filter)、ノイズ抑制フィルタ(NSF, noise suppression filter)又はこれらのいずれかの組み合わせのような1つ以上のループフィルタを含んでもよい。一例では、ループフィルタユニット220は、デブロッキングフィルタ、SAOフィルタ及びALFフィルタを含んでもよい。フィルタリングプロセスの順序は、デブロッキングフィルタ、SAO及びALFでもよい。他の例では、クロマスケーリングを伴うルママッピング(LMCS, luma mapping with chroma scaling)(すなわち、適応インループリシェーパ)と呼ばれるプロセスが追加される。このプロセスはデブロッキングの前に実行される。他の例では、デブロッキングフィルタプロセスはまた、内部サブブロックエッジ、例えば、アフィンサブブロックエッジ、ATMVPサブブロックエッジ、サブブロック変換(SBT, sub-block transform)エッジ及びイントラサブパーティション(ISP, intra sub-partition)エッジに適用されてもよい。ループフィルタユニット320はインループフィルタであるとして
図3に示されるが、他の構成では、ループフィルタユニット320はポストループフィルタとして実現されてもよい。
【0177】
復号ピクチャバッファ
ピクチャの復号ビデオブロック321は、次いで、他のピクチャのための後の動き補償のための参照ピクチャとして及び/又はそれぞれの表示の出力のために復号ピクチャ331を記憶する復号ピクチャバッファ330に記憶される。
【0178】
デコーダ30は、ユーザへの提示又は閲覧のために、例えば、出力312を介して復号ピクチャ331を出力するように構成される。
【0179】
予測
インター予測ユニット344は、インター予測ユニット244(特に、動き補償ユニット)と同一でもよく、イントラ予測ユニット354は、インター予測ユニット254と機能的に同一でもよく、パーティション及び/又は予測パラメータ又は符号化ピクチャデータ21から(例えば、エントロピー復号ユニット304により例えばパース及び/又は復号することにより)受信したそれぞれの情報に基づいて、分割又はパーティション判断及び予測を実行する。モード適用ユニット360は、再構成ピクチャ、ブロック又はそれぞれの(フィルタリングされた或いはフィルタリングされていない)サンプルに基づいて、ブロック毎に予測(イントラ又はインター予測)を実行して、予測ブロック365を取得するように構成されてもよい。
【0180】
ビデオスライスがイントラコーディングされた(I, intra-coded)スライスとしてコーディングされるとき、モード適用ユニット360のイントラ予測ユニット354は、シグナリングされたイントラ予測モード及び現在ピクチャの前に復号されたブロックからのデータに基づいて、現在ビデオスライスのピクチャブロックについて予測ブロック365を生成するように構成される。ビデオピクチャがインターコーディングされた(すなわち、B又はP)スライスとしてコーディングされるとき、モード適用ユニット360のインター予測ユニット344(例えば、動き補償ユニット)は、エントロピー復号ユニット304から受信した動きベクトル及び他のシンタックスエレメントに基づいて、現在ビデオスライスのビデオブロックについて予測ブロック365を生成するように構成される。インター予測では、予測ブロックは、参照ピクチャリストのうち1つの中の参照ピクチャのうち1つから生成されてもよい。ビデオデコーダ30は、DPB330に記憶された参照ピクチャに基づいて、デフォルト構成技術を使用して、参照フレームリスト、リスト0及びリスト1を構成してもよい。同じ又は同様のものが、スライス(例えば、ビデオスライス)に加えて或いはその代替として、タイルグループ(例えば、ビデオタイルグループ)及び/又はタイル(例えば、ビデオタイル)を使用する実施形態に或いはそれにより適用されてもよく、例えば、ビデオは、I、P又はBタイルグループ及び/又はタイルを使用してコーディングされてもよい。
【0181】
モード適用ユニット360は、動きベクトル又は関連情報及び他のシンタックスエレメントをパースすることにより、現在ビデオスライスのビデオブロックについて予測情報を決定するように構成され、復号されている現在ビデオブロックについて予測ブロックを生成するために予測情報を使用する。例えば、モード適用ユニット360は、受信したシンタックスエレメントのうちいくつかを使用して、ビデオスライスのビデオブロックをコーディングするために使用される予測モード(例えば、イントラ又はインター予測)、インター予測スライスタイプ(例えば、Bスライス、Pスライス又はGPBスライス)、スライスの参照ピクチャリストのうち1つ以上についての構成情報、スライスの各インター符号化ビデオブロックの動きベクトル、スライスの各インターコーディングされたビデオブロックについてのインター予測状態、及び現在ビデオスライス内のビデオブロックを復号するための他の情報を決定する。同じ又は同様の手法が、スライス(例えば、ビデオスライス)に加えて或いはその代替として、タイルグループ(例えば、ビデオタイルグループ)及び/又はタイル(例えば、ビデオタイル)を使用する実施形態に或いはそれにより適用されてもよく、例えば、ビデオは、I、P又はBタイルグループ及び/又はタイルを使用してコーディングされてもよい。
【0182】
図3に示すようなビデオデコーダ30の実施形態は、スライス(ビデオスライスとも呼ばれる)を使用することによりピクチャをパーティション及び/又は復号するように構成されてもよく、ピクチャは、(典型的には重複しない)1つ以上のスライスにパーティションされてもよく或いはこれを使用して復号されてもよく、各スライスは、1つ以上のブロック(例えば、CTU)又は1つ以上のブロックのグループ(例えば、タイル(H.265/HEVC及びVVC又はブリック(VVC))を含んでもよい。
【0183】
図3に示すようなビデオデコーダ30の実施形態は、スライス/タイルグループ(ビデオタイルグループとも呼ばれる)及び/又はタイル(ビデオタイルとも呼ばれる)を使用することによりピクチャをパーティション及び/又は復号するように構成されてもよく、ピクチャは、(典型的には重複しない)1つ以上のスライス/タイルグループにパーティションされてもよく或いはこれを使用して復号されてもよく、各スライス/タイルグループは、例えば、1つ以上のブロック(例えば、CTU)又は1つ以上のタイルを含んでもよく、各タイルは、例えば長方形形状でもよく、1つ以上のブロック(例えば、CTU)、例えば完全な或いは部分的なブロックを含んでもよい。
【0184】
ビデオデコーダ30の他の変形は、符号化ピクチャデータ21を復号するために使用できる。例えば、デコーダ30は、ループフィルタユニット320なしに、出力ビデオストリームを生成できる。例えば、非変換ベースのデコーダ30は、特定のブロック又はフレームについて、逆変換処理ユニット312なしに、残差信号を直接逆量子化できる。他の実現方式では、ビデオデコーダ30は、単一のユニットに結合された逆量子化ユニット310及び逆変換処理ユニット312を有することができる。
【0185】
エンコーダ20及びデコーダ30において、現在のステップの処理結果は更に処理され、次いで次のステップに出力されてもよいことが理解されるべきである。例えば、補間フィルタリング、動きベクトル導出又はループフィルタリングの後に、クリップ又はシフトのような更なる動作が、補間フィルタリング、動きベクトル導出又はループフィルタリングの処理結果に対して実行されてもよい。
【0186】
更なる動作は、現在ブロックの導出された動きベクトル(アフィンモードの制御点動きベクトル、アフィン、プラナー、ATMVPモードにおけるサブブロック動きベクトル、時間動きベクトル等を含むが、これらに限定されない)に適用されてもよい点に留意すべきである。例えば、動きベクトルの値は、その表現ビットに従って所定の範囲に制約される。動きベクトルの表現ビットがbitDepthである場合、範囲は-2^(bitDepth-1)~2^(bitDepth-1)-1であり、「^」は累乗を意味する。例えば、bitDepthが16に等しく設定された場合、範囲は-32768~32767であり、bitDepthが18に等しく設定された場合、範囲は-131072~131071である。例えば、導出された動きベクトルの値(例えば、1つの8×8ブロック内の4つの4×4サブブロックのMV)は、4つの4×4サブブロックのMVの整数部分の間の最大差が、1ピクセルよりも多くない等のNピクセルよりも多くないように制約される。ここで、bitDepthに従って動きベクトルを制約するための2つの方法を提供する。
【0187】
図4は、本開示の実施形態によるビデオコーディングデバイス400の概略図である。ビデオコーディングデバイス400は、ここに説明するような開示の実施形態を実現するのに適する。実施形態では、ビデオコーディングデバイス400は、
図1Aのビデオデコーダ30のようなデコーダ又は
図1Aのビデオエンコーダ20のようなエンコーダでもよい。
【0188】
ビデオコーディングデバイス400は、データを受信するための入口ポート410(又は入力ポート410)及び受信機ユニット(Rx)420と、データを処理するためのプロセッサ、論理ユニット又は中央処理装置(CPU, central processing unit)430と、データを送信するための送信機ユニット(Tx)440及び出口ポート450(又は出力ポート450)と、データを記憶するためのメモリ460とを含む。ビデオコーディングデバイス400はまた、光若しくは電気信号の出口又は入口のための、入口ポート410、受信機ユニット420、送信機ユニット440及び出口ポート450に結合された光電気(OE, optical-to-electrical)コンポーネント及び電気光(EO, electrical-to-optical)コンポーネントを含んでもよい。
【0189】
プロセッサ430は、ハードウェア及びソフトウェアにより実現される。プロセッサ430は、1つ以上のCPUチップ、コア(例えば、マルチコアプロセッサ)、FPGA、ASIC及びDSPとして実現されてもよい。プロセッサ430は、入口ポート410、受信機ユニット420、送信機ユニット440、出口ポート450及びメモリ460と通信する。プロセッサ430は、コーディングモジュール470を含む。コーディングモジュール470は、上記に記載する開示の実施形態を実現する。例えば、コーディングモジュール470は、様々なコーディング動作を実現、処理、準備又は提供する。したがって、コーディングモジュール470に含まれるものは、ビデオコーディングデバイス400の機能に実質的な改善を提供し、異なる状態へのビデオコーディングデバイス400の変換をもたらす。代替として、コーディングモジュール470は、メモリ460に記憶されてプロセッサ430により実行される命令として実現される。
【0190】
メモリ460は、1つ以上のディスク、テープドライブ及びソリッドステートドライブを含んでもよく、プログラムが実行のために選択されるときこのようなプログラムを記憶するため且つプログラムの実行中に読み取られる命令及びデータを記憶するためのオーバフローデータ記憶デバイスとして使用されてもよい。メモリ460は、例えば、揮発性及び/又は不揮発性でもよく、読み取り専用メモリ(ROM, read-only memory)、ランダムアクセスメモリ(RAM, random access memory)、三値連想メモリ(TCAM, ternary content-addressable memory)及び/又はスタティックランダムアクセスメモリ(SRAM, static random-access memory)でもよい。
【0191】
図5は、例示的な実施形態による
図1Aからのソースデバイス12及び宛先デバイス14の一方又は双方として使用されてもよい装置500の簡略ブロック図である。
【0192】
装置500内のプロセッサ502は、中央処理装置とすることができる。代替として、プロセッサ502は、現在存在するか或いは今後開発される、情報を操作又は処理できるいずれかの他のタイプのデバイス又は複数のデバイスとすることができる。開示の実現方式は図示のように単一のプロセッサ、例えばプロセッサ502で実施できるが、速度及び効率における利点は、1つよりも多くのプロセッサを使用して達成できる。
【0193】
装置500内のメモリ504は、実現方式では、読み取り専用メモリ(ROM, read only memory)デバイス又はランダムアクセスメモリ(RAM, random access memory)デバイスとすることができる。いずれかの他の適切なタイプの記憶デバイスが、メモリ504として使用できる。メモリ504は、バス512を使用してプロセッサ502によりアクセスされるコード及びデータ506を含むことができる。メモリ504は、オペレーティングシステム508及びアプリケーションプログラム510を更に含むことができ、アプリケーションプログラム510は、プロセッサ502がここに記載の方法を実行することを可能にする少なくとも1つのプログラムを含む。例えば、アプリケーションプログラム510は、ここに記載の方法を実行するビデオコーディングアプリケーションを更に含むアプリケーション1~Nを含むことができる。
【0194】
装置500はまた、ディスプレイ518のような1つ以上の出力デバイスを含むことができる。ディスプレイ518は、一例では、タッチ入力を感知するよう動作可能なタッチセンシティブ素子とディスプレイを結合したタッチセンシティブディスプレイでもよい。ディスプレイ518は、バス512を介してプロセッサ502に結合できる。
【0195】
ここでは単一のバスとして示されるが、装置500のバス512は複数のバスで構成できる。さらに、2次ストレージ514は、装置500の他のコンポーネントに直接結合でき、或いは、ネットワークを介してアクセスでき、メモリカードのような単一の統合ユニット又は複数のメモリカードのような複数のユニットを含むことができる。したがって、装置500は、広範な構成で実現できる。
【0196】
クロミナンス残差のジョイントコーディング(JVET-M0305)
クロミナンス残差のジョイントコーディングは、単一のジョイント残差ブロックが同じ変換ユニット内のCb及びCrブロックの双方の残差を記述するために使用されるクロミナンス残差コーディングモードを提案する。ジョイント残差モードがアクティブであるとき、示されたジョイント残差はCb予測ブロックに加えられ、Cr予測ブロックから差し引かれる。エンコーダ側では、アルゴリズムは、変換及び量子化プロセスへの入力として、正のCb残差と負のCr残差との平均を使用する。
【0197】
Cb及びCrのジョイントコーディングの概念は、Cb及びCr残差が互いに逆に相関するという事実に基づく。このモードでは、変換ユニットの2つのクロミナンスブロックについて示される単一の残差が存在する。示された残差は、第1のチャネル(典型的にはCbを表す)内の予測ブロックに加えられ、第2のチャネル(典型的にはCrを表す)内の予測ブロックから差し引かれる。
【0198】
Cb及びCrの双方についてのコーディング済ブロックフラグ(cbf, coded block flag)が真である場合、ジョイント残差モードは、ビットストリーム内のフラグで示される。モードが活性化された場合、単一の残差ブロックが復号される。ジョイント残差ブロックのビットストリームシンタックス及び復号プロセスは、VTM-3におけるCb残差のものに従う。Crブロックの残差は、復号されたジョイント残差を打ち消すことにより生成される。単一の残差が2つのブロックの残差を表すために使用されるので、クロマQPオフセットパラメータは、ジョイントクロミナンス残差モードがアクティブであるとき、2だけ低減される。
【0199】
エンコーダ側では、正のCb残差と負のCr残差との平均がジョイント残差として使用される。
resJoint=(resCb-resCr)/2
【0200】
多重モードでのジョイントクロマ残差コーディング(JVET-N0282)
多重モードでのジョイントクロマ残差コーディングは、JVET-M0305で提案されているジョイントクロマ残差コーディングの拡張である。1つのジョイントクロマ残差コーディングモード(Cr=-Cbにより与えられる)の追加が提案されているJVET-M0305とは対照的に、この寄与は、異なる混合ファクタで、ジョイントクロマ残差コーディングについて3つのモード(Cr=±Cb/2、Cr=±Cb、Cb=±Cr/2により与えられる)を提案する。第2のクロマ残差を導出するために使用される符号は、タイルグループヘッダにおいてコーディングされる。ジョイントクロマコーディングモードの使用はTUレベルのフラグにより示され、選択されたモードは、クロマコーディング済ブロックフラグにより暗示的に示される。
【0201】
ジョイントクロマ残差コーディングのための3つのモードがサポートされる。これらの3つのジョイントクロマ残差コーディングモードの全てにおいて、単一のクロマ変換ブロックが(VTM4の残差コーディングを使用して)コーディングされ、クロマ残差サンプルの他のブロックは簡単な算術演算を使用して導出される。
【0202】
以下の3つのジョイントクロマコーディングモードがサポートされる。
モード1:Cbがコーディングされ、CrがCr=CSign*Cb/2に従って導出される
モード2:Cbがコーディングされ、CrがCr=CSign*Cbに従って導出される
モード3:Crがコーディングされ、CbがCb=CSign*Cr/2に従って導出される
ここで、CSignは、第2のクロマ残差ブロックを導出するために使用される符号を表す。CSignは、タイルグループヘッダシンタックスエレメントを使用して示され、これは-1又は1のいずれかである。CSignが-1に等しい場合、モード2はJVET-M0305で提案されているジョイントクロマコーディングモードと同じである点に留意する。
【0203】
ジョイントクロマ残差コーディングの使用は、TUレベルのフラグtu_joint_chroma_residual_flagにより示される。このフラグは、2つのクロマコーディング済ブロックフラグ(CBF, coded block flag)シンタックスエレメントのいずれか又は双方が1に等しい場合に存在する。tu_joint_chroma_residual_flagが1に等しい場合、ジョイントクロマ残差コーディングモードのうち1つが使用される。使用されるモードは、以下の表に指定されるように、クロマCBFにより示される。
【表17】
【0204】
ジョイントクロマコーディングモードが選択された場合、ジョイントクロマ成分をコーディングするためのQPは、1(モード1及び3の場合)又は2(モード2の場合)だけ減少する。
【0205】
エンコーダ側では、Cb及びCr残差の対応するダウンミキシングにより、ジョイントクロマ残差が導出される。3つのサポートされるクロマコーディングモードのうち1つは、混合歪み(すなわち、最初にCb及びCr残差をダウンミキシングし、次いで、量子化なしにジョイントクロマ残差からCb及びCr残差を再構成又はアップミキシングすることにより取得された歪み)の最小化に基づいて予め選択される。予め選択されたモードのみが、モード判定プロセスにおける更なるモードとしてテストされる(すなわち、変換、量子化及びエントロピーコーディングを使用する)。各TUについて1つの候補モードの低い複雑性の事前選択のため、符号化時間はJVET-M0305に対して実質的に変化しない。
【0206】
第2のクロマ成分を導出するための符号(CSign)を示すタイルグループヘッダシンタックスエレメントは、タイルグループについての元のCb及びCr成分の高域通過フィルリングされたバージョンの間の相関を分析することにより決定される。
【0207】
ジョイントクロマ残差コーディング
テストCE7-2.1/2は、JVET-M0305において最初に記述されたジョイントクロマ残差コーディング技術の拡張を、より広範囲のジョイントコーディングパラメータ及びモードを提供することにより議論する。具体的には、以下が議論されている。
【0208】
1)CE7-2.1:JVET-N0282構成1のように、クロマコーディング済ブロックフラグ(CBF, chroma coded block flag)シンタックスエレメントを使用してシグナリングされる、1つのジョイントクロマコーディングモードの代わりに3つを可能にすることによるVTM5.0の拡張。これらのコーディングモードは、表1に示すように、簡略化されたクロス成分回転変換を適用する。
【0209】
2)CE7-2.2:CE7-2.1と同様であるが、CBFCb=1、CBFCr=1を介してシグナリングされるジョイントクロマコーディングモードの場合に、(1つのみの代わりに)2つのジョイントクロマコーディング残差信号が送信されることを可能にする。このモードに関連する回転変換は、アダマール変換を表す(表2を参照する)。
【0210】
クロマ残差の規範的な再構成
したがって、1つの単一チャネルのジョイントクロマ残差コーディングモード(Cr=-Cbにより与えられる)の追加が提案されているM0305とは対照的に、拡張において、異なる混合ファクタでジョイントクロマ残差コーディングについて3つのモードがサポートされる。当該モードは、スライスヘッダでコーディングされる第2のクロマ残差を導出するために使用される符号(すなわち、JVET-N0282におけるジョイント復号重みの符号CSign)により更に特徴付けられる。ジョイントクロマコーディングモードの使用(活性化)はTUレベルのフラグtu_joint_cbcr_residual_flagにより示され、選択されたモードは、クロマCBFにより暗示的に示される。TUについてのクロマCBFのいずれか又は双方が1である場合、フラグtu_joint_cbcr_residual_flagが存在する。
【0211】
VTM5.0と同様に、特定のジョイントクロマコーディングモードで具体的に使用するためのクロマQPオフセット(スライスレベルでコーディングされる)がシグナリングできる。対応するジョイントクロマコーディングモード(以下の説明におけるモード2及び4)がTU内でアクティブであるとき、このクロマQPオフセットは、そのTUの量子化及び復号の間に、適用されたルマ導出のクロマQPに追加される。他のモード(以下の説明におけるモード1及び3)について、クロマQPは従来のCb又はCrブロックと同じ方法で導出される。
【0212】
送信された変換ブロック(resJointC、又はCE7-2.2ではresJointC1及びresJointC2)からのクロマ残差(resCb及びresCr)の規範的な再構成プロセスは、以下の表に要約される。
【表18】
【0213】
エンコーダにおけるジョイントクロマ残差の非規範的な決定
調査したエンコーダの実現方式では、以下に説明するようにジョイントクロマ成分が導出される。モード(上記の表に列挙される)に依存して、resJointC{1,2}は以下のようにエンコーダにより生成される。
【0214】
・モードが4に等しい場合(アダマール変換、2つの残差が送信される)、ジョイント残差は以下に従って決定される。
resJointC1[x][y]=(resCb[x][y]+CSign*resCr[x][y])/2
resJointC2[x][y]=(resCb[x][y]-CSign*resCr[x][y])/2
【0215】
・そうでなく、モードが2に等しい場合(再構成Cb=C、Cr=CSsign*Cによる単一の残差)、ジョイント残差は以下に従って決定される。
resJointC[x][y]=(resCb[x][y]+CSign*resCr[x][y])/2
【0216】
・そうでなく、モードが1に等しい場合(再構成Cb=C、Cr=(CSign*C)/2による単一の残差)、ジョイント残差は以下に従って決定される。
resJointC[x][y]=(4*resCb[x][y]+2*CSign*resCr[x][y])/5
【0217】
・そうでない場合、(モードが3に等しい、すなわち、単一の残差、再構成Cr=C、Cb=(CSign*C)/2)、ジョイント残差は以下に従って決定される。
resJointC[x][y]=(4*resCr[x][y]+2*CSign*resCb[x][y])/5
【0218】
どのようにエンコーダがTUに関するジョイントモードを選択するかに関する更なる詳細は、JVET-N0282のSec. 2.4において与えられている。
【0219】
本開示の第1の実施形態
本開示の第1の実施形態では、クロミナンス成分についてのPPS及びスライスヘッダQPオフセットのシグナリングは、以下の表に従って互いに独立して実行される。
【表19】
【表20】
【0220】
ここで、pic_parameter_set_rbspは、ピクチャパラメータセットRBSPシンタックスを示し、
pps_cb_qp_offset及びpps_cr_qp_offsetは、それぞれQp'Cb及びQp'Crを導出するために使用されるルマ量子化パラメータQp'Yへのオフセットを指定し、
pps_cb_qp_offset及びpps_cr_qp_offsetの値は、-12以上+12以下の範囲にあり、
sps_croma_format_idcが0に等しいとき、pps_cb_qp_offset及びpps_cr_qp_offsetは、復号プロセスにおいて使用されず、デコーダはこれらの値を無視するものとし、
存在しないとき、pps_cb_qp_offset及びpps_cr_qp_offsetの値は0に等しいと推定され、
1に等しいsps_joint_cbcr_enabled_flagは、クロマ残差のジョイントコーディングがコーディング済レイヤビデオシーケンス(CLVS, coded layer video sequence)について有効であることを指定し、
0に等しいsps_joint_cbcr_enabled_flagは、クロマ残差のジョイントコーディングがCLVSについて無効であることを指定し、
存在しないとき、sps_joint_cbcr_enabled_flagの値は、0に等しいと推定される。
pps_joint_cbcr_qp_offset_valueは、Qp'CbCrを導出するために使用されるルマ量子化パラメータQp'Yへのオフセットを指定し、
pps_joint_cbcr_qp_offset_valueの値は、-12以上+12以下の範囲にある。
【0221】
従来技術では、フラグpps_slice_chroma_qp_offsets_present_flagは、PPSレベルシンタックスでシグナリングされ、これは、スライスヘッダでシグナリングするいずれかの更なるオフセットが存在するか否かを制御し、すなわち、デコーダ側では、デコーダは、スライスヘッダでシグナリングされるいずれかの更なるオフセットが存在するか否かを決定するために、pps_slice_chroma_qp_offsets_present_flagの値を検査する必要がある。従来技術と比較すると、第1の実施形態では、フラグpps_slice_chroma_qp_offsets_present_flagは、もはやシグナリングされず、言い換えると、常にスライスヘッダでシグナリングされるオフセットが存在し、したがって、デコーダは、pps_slice_chroma_qp_offsets_present_flagの値を検査せずに、スライスヘッダでシグナリングされる更なるオフセットが存在することを知っており、言い換えると、PPSレベルシンタックス及びスライスヘッダシンタックスは双方ともに常にオフセットを含む。したがって、スライスヘッダにおけるクロミナンスQPオフセットの復号/シグナリングはより簡単になる。
【0222】
本開示の第2の実施形態
本開示の第2の実施形態では、JCCRモードのためのクロミナンス成分についてのPPS及びスライスヘッダQPオフセットのシグナリング、並びにJCCRコーディングモードのためのSPSクロママッピング情報のシグナリングが、以下の表に従ってSPS JCCR制御フラグに依存して実行される。例えば、sps JCCR制御フラグは、SPSレベルシンタックス(例えば、seq_parameter_set_rbspシンタックス)でシグナリングされるsps_joint_cbcr_enabled_flagである。
【表21】
【0223】
「i」の値は、sps_joint_cbcr_enabled_flagの値に基づいて決定され、したがって、JCCRツールが無効であるとき、JCCRシンタックスエレメントの冗長なシグナリングが回避できることが認識できる。
【表22】
【0224】
pps_joint_cbcr_qp_offsetのシグナリング/復号は、sps_joint_cbcr_enabled_flagに依存し、すなわち、sps_joint_cbcr_enabled_flagの値が真(例えば、1)であるときにのみ、pps_joint_cbcr_qp_offsetがシグナリングされるか或いは復号できることが認識できる。pps_joint_cbcr_qp_offsetの条件付きシグナリングのため、より少ない情報がシグナリングされる必要があり、したがって、リソースを節約できる。
【表23】
【0225】
ここで、1に等しいsps_joint_cbcr_enabled_flagは、クロマ残差のジョイントコーディングがコーディング済レイヤビデオシーケンス(CLVS, coded layer video sequence)について有効であることを指定し、0に等しいsps_joint_cbcr_enabled_flagは、クロマ残差のジョイントコーディングがコードレイヤビデオシーケンスについて無効であることを指定し、存在しないとき、sps_joint_cbcr_enabled_flagの値は0に等しいと推定される点に留意すべきである。
【0226】
seq_parameter_set_rbspは、シーケンスパラメータセットの未加工バイトシーケンスペイロード(RBSP, Raw Byte Sequence Payload)シンタックスを示し、sps_num_points_in_qp_table_minus1[i]に1を加えたものは、第iのクロマQPマッピングテーブルを記述するために使用される点の数を指定し、sps_num_points_in_qp_table_minus1[i]の値は、0から36の範囲にあり、存在しないとき、sps_num_points_in_qp_table_minus1[0]の値は0に等しいと推定される点に更に留意すべきである。
【0227】
以下は、上記の実施形態に示す符号化方法及び復号方法の適用と、これらを使用するシステムとの説明である。
【0228】
図6は、コンテンツ配信サービスを実現するためのコンテンツ供給システム3100を示すブロック図である。このコンテンツ供給システム3100は、キャプチャデバイス3102、端末デバイス3106を含み、任意選択でディスプレイ3126を含む。キャプチャデバイス3102は、通信リンク3104上で端末デバイス3106と通信する。通信リンクは、上記の通信チャネル13を含んでもよい。通信リンク3104は、WIFI、イーサネット、ケーブル、無線(3G/4G/5G)、USB又はこれらのいずれかの種類の組み合わせ等を含むが、これらに限定されない。
【0229】
キャプチャデバイス3102は、データを生成し、上記の実施形態に示すような符号化方法によりデータを符号化してもよい。代替として、キャプチャデバイス3102は、データをストリーミングサーバ(図面に図示せず)に配信してもよく、サーバは、データを符号化し、符号化データを端末デバイス3106に送信する。キャプチャデバイス3102は、カメラ、スマートフォン若しくはパッド、コンピュータ若しくはラップトップ、ビデオ会議システム、PDA、車載デバイス又はこれらのうちいずれかの組み合わせ等を含むが、これらに限定されない。例えば、キャプチャデバイス3102は、上記のようなソースデバイス12を含んでもよい。データがビデオを含むとき、キャプチャデバイス3102に含まれるビデオエンコーダ20は、実際に、ビデオ符号化処理を実行してもよい。データがオーディオ(すなわち、音声)を含むとき、キャプチャデバイス3102に含まれるオーディオエンコーダは、実際に、オーディオ符号化処理を実行してもよい。いくつかの実際のシナリオでは、キャプチャデバイス3102は、符号化ビデオ及びオーディオデータを、これらを一緒に多重化することにより配信する。他の実際のシナリオでは、例えば、ビデオ会議システムにおいて、符号化オーディオデータ及び符号化ビデオデータは多重化されない。キャプチャデバイス3102は、符号化オーディオデータ及び符号化ビデオデータを端末デバイス3106に別個に配信する。
【0230】
コンテンツ供給システム3100では、端末デバイス310は、符号化データを受信して再生する。端末デバイス3106は、上記の符号化データを復号できるスマートフォン若しくはパッド3108、コンピュータ若しくはラップトップ3110、ネットワークビデオレコーダ(NVR, network video recorder)/デジタルビデオレコーダ(DVR, digital video recorder)3112、TV3114、セットトップボックス(STB, set top box)3116、ビデオ会議システム3118、ビデオ監視システム3120、パーソナルデジタルアシスタント(PDA, personal digital assistant)3122、車載デバイス3124又はこれらのうちいずれかの組合せ等のような、データ受信及び復元能力を有するデバイスでもよい。例えば、端末デバイス3106は、上記のような宛先デバイス14を含んでもよい。符号化データがビデオを含むとき、端末デバイスに含まれるビデオデコーダ30は、ビデオ復号を実行するように優先される。符号化データがオーディオを含むとき、端末デバイスに含まれるオーディオデコーダは、オーディオ復号処理を実行するように優先される。
【0231】
自身のディスプレイを有する端末デバイス、例えば、スマートフォン若しくはパッド3108、コンピュータ若しくはラップトップ3110、ネットワークビデオレコーダ(NVR, network video recorder)/デジタルビデオデコーダ(DVR, digital video recorder)3112、TV3114、パーソナルデジタルアシスタント(PDA, personal digital assistant)3122又は車載デバイス3124では、端末デバイスは、復号データを自身のディスプレイに供給できる。ディスプレイを備えない端末デバイス、例えば、STB3116、ビデオ会議システム3118又はビデオ監視システム3120では、外部ディスプレイ3126が、復号データを受信して表示するために自身に接触される。
【0232】
このシステム内の各デバイスが符号化又は復号を実行するとき、上記の実施形態において示すように、ピクチャ符号化デバイス又はピクチャ復号デバイスが使用できる。
【0233】
図7は、端末デバイス3106の例の構造を示す図である。端末デバイス3106がキャプチャデバイス3102からストリームを受信した後に、プロトコル処理ユニット3202は、ストリームの送信プロトコルを分析する。プロトコルは、リアルタイムストリーミングプロトコル(RTSP, Real Time Streaming Protocol)、ハイパーテキスト転送プロトコル(HTTP, Hyper Text Transfer Protocol)、HTTPライブストリーミングプロトコル(HLS, HTTP Live streaming protocol)、MPEG-DASH、リアルタイムトランスポートプロトコル(RTP, Real-time Transport protocol)、リアルタイムメッセージングプロトコル(RTMP, Real Time Messaging Protocol)又はいずれかの種類のこれらの組み合わせ等を含むが、これらに限定されない。
【0234】
プロトコル処理ユニット3202がストリームを処理した後に、ストリームファイルが生成される。ファイルは、逆多重化ユニット3204に出力される。逆多重化ユニット3204は、多重化データを符号化オーディオデータ及び符号化ビデオデータに分離できる。上記のように、いくつかの実際のシナリオでは、例えば、ビデオ会議システムにおいて、符号化オーディオデータ及び符号化ビデオデータは多重化されない。この状況では、符号化データは、逆多重化ユニット3204を通過せずにビデオデコーダ3206及びオーディオデコーダ3208に送信される。
【0235】
逆多重化処理を介して、ビデオエレメンタリストリーム(ES, elementary stream)、オーディオES及び任意選択のサブタイトルが生成される。上記の実施形態において説明したようなビデオデコーダ30を含むビデオデコーダ3206は、上記の実施形態において示すような復号方法によりビデオESを復号して、ビデオフレームを生成し、このデータを同期ユニット3212に供給する。オーディオデコーダ3208は、オーディオESを復号してオーディオフレームを生成し、このデータを同期ユニット3212に供給する。代替として、ビデオフレームは、同期ユニット3212に供給する前に、バッファ(
図7に図示せず)に記憶してもよい。同様に、オーディオフレームは、同期ユニット3212に供給する前に、バッファ(
図7に図示せず)に記憶してもよい。
【0236】
同期ユニット3212は、ビデオフレーム及びオーディオフレームを同期させ、ビデオ/オーディオをビデオ/オーディオディスプレイ3214に供給する。例えば、同期ユニット3212は、ビデオ及びオーディオ情報の提示を同期させる。情報は、コーディングされたオーディオ及び視覚データの提示に関するタイムスタンプと、データストリーム自身の配信に関するタイムスタンプとを使用してシンタックス内にコーディングしてもよい。
【0237】
サブタイトルがストリームに含まれる場合、サブタイトルデコーダ3210は、サブタイトルを復号し、これをビデオフレーム及びオーディオフレームと同期させ、ビデオ/オーディオ/サブタイトルをビデオ/オーディオ/サブタイトルディスプレイ3216に供給する。
【0238】
本発明は、上記のシステムに限定されず、上記の実施形態におけるピクチャ符号化デバイス又はピクチャ復号デバイスのいずれかは、他のシステム、例えば車両システムに組み込まれることができる。
【0239】
さらに、
図8は、本開示の実施形態による、ピクチャの現在ブロックの逆量子化のための方法であり、デコーダにより実行される方法のフローチャートを示す。
図8において、ピクチャの現在ブロックの逆量子化のための方法であり、デコーダにより実行される方法は、以下のステップ、すなわち、
(1601)ビットストリームを受信するステップと、(1603)ビットストリームからジョイントクロミナンス成分残差(JCCR, joint chrominance component residual)制御フラグを取得するステップと、(1605)JCCR制御フラグに基づいて、ビットストリームからクロミナンスマッピング情報を取得するステップと、(1607)JCCR制御フラグに基づいて、ビットストリームから少なくとも1つのクロミナンス量子化パラメータ(QP, quantization parameter)オフセットを取得するステップと、(1609)取得されたクロミナンスマッピング情報及び少なくとも1つの取得されたクロミナンスQPオフセットに基づいて、現在クロミナンスブロックについてのQP値を取得するステップと、(1611)決定されたQP値を使用することにより、現在クロミナンスブロックに対して逆量子化を実行するステップと
を含むように示されている。
【0240】
さらに、
図9は、本開示の更なる実施形態による、ピクチャの現在ブロックの逆量子化のための方法であり、デコーダにより実行される方法のフローチャートを示す。
図9において、ピクチャの現在ブロックの逆量子化のための方法であり、デコーダにより実行される方法は、以下のステップ、すなわち、(1651)ビットストリームを受信するステップであり、ビットストリームは、スライスヘッダシンタックス及びPPSシンタックスを含む、ステップと、(1653)PPSシンタックスからシンタックスエレメントを取得するステップであり、取得されたシンタックスエレメントは、クロミナンス量子化パラメータ(QP, quantization parameter)オフセットを含む、ステップと、(1655)スライスヘッダからクロミナンスQPオフセット情報を取得するステップであり、QPオフセット情報は、PPSシンタックス内のいずれかのPPSシンタックスエレメントから独立して取得される、ステップと、(1657)PPSシンタックスから取得されたクロミナンスQPオフセット及びスライスヘッダシンタックスから取得されたクロミナンスQPオフセット情報に依存して、現在クロミナンスブロックについてのQP値を決定するステップと、(1659)決定されたQP値を使用することにより、現在クロミナンスブロックに対して逆量子化を実行するステップとを含むように示されている。
【0241】
さらに、
図10は、本開示の実施形態による、ピクチャの現在ブロックの逆量子化のための方法であり、エンコーダにより実行される方法のフローチャートを示す。
図10において、ピクチャの現在ブロックの逆量子化のための方法であり、エンコーダにより実行される方法は、以下のステップ、すなわち、(2601)ジョイントクロミナンス成分残差(JCCR, joint chrominance component residual)制御フラグをビットストリームに符号化するステップと、(2603)JCCR制御フラグに基づいて、クロミナンスマッピング情報をビットストリームに符号化するステップと、(2605)JCCR制御フラグに基づいて、少なくとも1つのクロミナンス量子化パラメータ(QP, quantization parameter)オフセットをビットストリームに符号化するステップと、(2067)ビットストリームを提供するステップとを含むように示されている。
【0242】
さらに、
図11は、本開示による、ピクチャの現在ブロックの逆量子化のための方法であり、エンコーダにより実行される方法のフローチャートを示す。
図11において、ピクチャの現在ブロックの逆量子化のための方法であり、エンコーダにより実行される方法は、以下のステップ、すなわち、
(2651)スライスヘッダ及びPPSシンタックスからのシンタックスエレメントをビットストリームに符号化するステップであり、シンタックスエレメントは、クロミナンス量子化パラメータ(QP, quantization parameter)オフセットを含む、ステップと、(2653)スライスヘッダからのクロミナンスQPオフセット情報をビットストリームに符号化するステップであり、QPオフセット情報は、PPSシンタックス内のいずれかのPPSシンタックスエレメントから独立して取得される、ステップと、(2655)ビットストリームを提供するステップと
を含むように示されている。
【0243】
さらに、
図12は、本開示の実施形態によるデコーダ30を示す。
図12のデコーダ300は、ビットストリームを受信するように構成された受信ユニット3001と、ビットストリームからジョイントクロミナンス成分残差(JCCR, joint chrominance component residual)制御フラグを取得するように構成された第1の取得ユニット3003と、JCCR制御フラグに基づいて、ビットストリームからクロミナンスマッピング情報を取得するように構成された第2の取得ユニット3005と、JCCR制御フラグに基づいて、ビットストリームから少なくとも1つのクロミナンス量子化パラメータ(QP, quantization parameter)オフセットを取得するように構成された第3の取得ユニット3007と、取得されたクロミナンスマッピング情報及び少なくとも1つの取得されたクロミナンスQPオフセットに基づいて、現在クロミナンスブロックについてのQP値を取得するように構成された第4の取得ユニット3009と、決定されたQP値を使用することにより、現在クロミナンスブロックに対して逆量子化を実行するように構成された逆量子化ユニット(3011)とを含む。
【0244】
さらに、
図13は、本開示の他の実施形態によるデコーダ30を示す。
図13のデコーダ30は、ビットストリームを受信するように構成された受信ユニット3051であり、ビットストリームは、スライスヘッダシンタックス及びPPSシンタックスを含む、受信ユニット3051と、PPSシンタックスからシンタックスエレメントを取得するように構成された第1の取得ユニット3053であり、取得されたシンタックスエレメントは、クロミナンス量子化パラメータ(QP, quantization parameter)オフセットを含む、第1の取得ユニット3053と、スライスヘッダからクロミナンスQPオフセット情報を取得するように構成された第2の取得ユニット3055であり、QPオフセット情報は、PPSシンタックス内のいずれかのPPSシンタックスエレメントから独立して取得される、第2の取得ユニット3055と、PPSシンタックスから取得されたクロミナンスQPオフセット及びスライスヘッダシンタックスから取得されたクロミナンスQPオフセット情報に依存して、現在クロミナンスブロックについてのQP値を決定するように構成された決定ユニット3057と、決定されたQP値を使用することにより、現在クロミナンスブロックに対して逆量子化を実行するように構成された逆量子化ユニット3059とを含む。
【0245】
さらに、
図14は、本開示の実施形態によるエンコーダ20を示す。
図14のエンコーダ20は、ジョイントクロミナンス成分残差(JCCR, joint chrominance component residual)制御フラグをビットストリームに符号化するように構成された第1の符号化ユニット2001と、JCCR制御フラグに基づいて、クロミナンスマッピング情報をビットストリームに符号化するように構成された第2の符号化ユニット2003と、JCCR制御フラグに基づいて、少なくとも1つのクロミナンス量子化パラメータ(QP, quantization parameter)オフセットをビットストリームに符号化するように構成された第3の符号化ユニット3005と、ビットストリームを提供するように構成された提供ユニット3007とを含む。
【0246】
さらに、
図15は、本開示の他の実施形態によるエンコーダ20を示す。
図15のエンコーダ20は、スライスヘッダ及びPPSシンタックスからのシンタックスエレメントをビットストリームに符号化するように構成された第1の符号化ユニット2051であり、シンタックスエレメントは、クロミナンス量子化パラメータ(QP, quantization parameter)オフセットを含む、第1の符号化ユニット2051と、スライスヘッダからのクロミナンスQPオフセット情報をビットストリームに符号化するように構成された第2の符号化ユニット2053であり、QPオフセット情報は、PPSシンタックス内のいずれかのPPSシンタックスエレメントから独立して取得される、第2の符号化ユニット2053と、ビットストリームを提供するように構成された提供ユニット2055とを含む。
【0247】
数学演算子
本願で使用される数学演算子は、Cプログラミング言語で使用されるものと同様である。しかし、整数除算及び算術シフト演算の結果は、より正確に定義され、指数計算及び実数値の除算のような更なる演算子が定義される。番号付け及び計数規則は、一般的に0から始まり、例えば、「第1」は0番目と等価であり、「第2」は1番目と等価である、等である。
【0248】
論理演算子
以下の論理演算子は以下のように定義される。
【表24】
【0249】
論理演算子
以下の論理演算子は以下のように定義される。
x&&y x及びyのブール論理「積」
x||y x及びyのブール論理「和」
! ブール論理「否定」
x?y:z xが真である場合又は0に等しくない場合、yの値に評価され、そうでない場合、zの値に評価される
【0250】
関係演算子
以下の関係演算子は以下のように定義される。
> よりも大きい
>= 以上
< 未満
<= 以下
== 等しい
!= 等しくない
関係演算子が値「na」(not applicable)を割り当てられたシンタックスエレメント又は変数に適用されるとき、値「na」は、シンタックスエレメント又は変数の個別の値として扱われる。値「na」は、いずれかの他の値に等しくないと考えられる。
【0251】
ビット演算子
以下のビット演算子は以下のように定義される。
& ビット毎の「積」。整数の引数に対して演算するとき、整数値の2の補数表現に対して演算する。他の引数よりも少ないビットを含む二値の引数に対して演算するとき、より短い引数は、0に等しいより上位のビットを追加することにより拡張される。
| ビット毎の「和」。整数の引数に対して演算するとき、整数値の2の補数表現に対して演算する。他の引数よりも少ないビットを含む二値の引数に対して演算するとき、より短い引数は、0に等しいより上位のビットを追加することにより拡張される。
^ ビット毎の「排他和」。整数の引数に対して演算するとき、整数値の2の補数表現に対して演算する。他の引数よりも少ないビットを含む二値の引数に対して演算するとき、より短い引数は、0に等しいより上位のビットを追加することにより拡張される。
x>>y y個の二進数字によるxの2の補数整数表現の算術右シフト。この関数は、yの非負整数値についてのみ定義される。右シフトの結果としての最上位ビット(MSB, most significant bit)にシフトされたビットは、シフト演算前のxのMSBに等しい値を有する。
x<<y y個の二進数字によるxの2の補数整数表現の算術左シフト。この関数は、yの非負整数値についてのみ定義される。左シフトの結果としての最下位ビット(LSB, least significant bit)にシフトされたビットは、0に等しい値を有する。
【0252】
代入演算子
以下の代入演算子は以下のように定義される。
= 代入演算子
++ インクリメント。すなわち、x++はx=x+1に等しい。配列インデックスにおいて使用されるとき、インクリメント演算の前の変数の値に評価される。
-- デクリメント。すなわち、x--はx=x-1に等しい。配列インデックスにおいて使用されるとき、デクリメント演算の前の変数の値に評価される。
+= 指定された量だけのインクリメント。すなわちx+=3はx=x+3に等しく、x+=(-3)はx=x+(-3)に等しい。
-= 指定された量だけのデクリメント。すなわちx-=3はx=x-3に等しく、x-=(-3)はx=x-(-3)に等しい。
【0253】
範囲表記
以下の表記が値の範囲を指定するために使用される。
x=y..z xはy以上z以下の整数値をとり、x、y及びzは整数であり、zはyよりも大きい。
【0254】
数学関数
以下の数学関数が定義される。
【数5】
Asin(x) 三角法の逆正弦関数。-1.0以上1.0以下の範囲にある引数xに対して演算し、ラジアンの単位の-π÷2以上π÷2以下の範囲の出力値を有する。
Atan(x) 三角法の逆正接関数。引数xに対して演算し、ラジアンの単位の-π÷2以上π÷2以下の範囲の出力値を有する。
【数6】
Ceil(x) x以上の最小の整数。
Clip1
Y(x)=Clip3(0,(1<<BitDepth
Y)-1,x)
Clip1
C(x)=Clip3(0,(1<<BitDepth
C)-1,x)
【数7】
Cos(x) ラジアンの単位の引数xに対して演算する三角法の余弦関数。
Floor(x) x以下の最大の整数。
【数8】
Ln(x) xの自然対数(eを底とする対数であり、eは自然対数の底の定数2.718281828...である)。
Log2(x) xの2を底とする対数。
Log10(x) xの10を底とする対数。
【数9】
【数10】
Round(x)=Sign(x)*Floor(Abs(x)+0.5)
【数11】
Sin(x) ラジアンの単位の引数xに対して演算する三角法の正弦関数。
Sqrt(x)=√x
Swap(x,y)=(y,x)
Tan(x) ラジアンの単位の引数xに対して演算する三角法の正接関数。
【0255】
演算優先順位
式の優先順位が括弧の使用により明示的に示されないとき、以下の規則が当てはまる。
-より高い優先度の演算は、より低い優先度のいずれかの演算の前に評価される。
-同じ優先度の演算は、左から右に順次評価される。
【0256】
以下の表は、最高から最低までの演算の優先度を指定し、表におけるより高い位置は、より高い優先度を示す。
【0257】
Cプログラミング言語でも使用される演算子については、本明細書で使用される優先順位は、Cプログラミング言語で使用される優先順位と同じである。
【表25】
【0258】
論理演算のテキスト記述
テキストにおいて、以下の形式:
if(条件0)
ステートメント0
else(条件1)
ステートメント1
...
else /*残りの条件に関する参考注記*/
ステートメントn
で数学的に記述されるような論理演算のステートメントは、以下の方式で記述されてもよい。
...以下の通り/...以下が当てはまる:
-条件0である場合、ステートメント0
-そうでなく、条件1である場合、ステートメント1
-...
-そうでない場合(残りの条件に関する参考注記)、ステートメントn
テキストにおけるそれぞれの「…である場合…、そうでなく、…である場合…、そうでない場合…」のステートメントは、「…である場合」が直後に続く「…以下の通り」又は「…以下が当てはまる」で導入される。「…である場合…、そうでなく、…である場合…、そうでない場合…」の最後の条件は、常に「そうでない場合、…」である。交互に配置される「…である場合…、そうでなく、…である場合…、そうでない場合…」のステートメントは、「そうでない場合、…」で終わる「…以下の通り」又は「…以下が当てはまる」に一致させることにより識別できる。
【0259】
テキストにおいて、以下の形式:
if(条件0a&&条件0b)
ステートメント0
else if(条件1a||条件1b)
ステートメント1
...
else
ステートメントn
で数学的に記述されるような論理演算のステートメントは、以下の方式で記述されてもよい。
...以下の通り/...以下が当てはまる:
-以下の条件の全てが真である場合、ステートメント0:
-条件0a
-条件0b
-そうでなく、以下の条件のうち1つ以上が真である場合、ステートメント1:
-条件1a
-条件1b
-…
-そうでない場合、ステートメントn
【0260】
テキストにおいて、以下の形式:
if(条件0)
ステートメント0
if(条件1)
ステートメント1
で数学的に記述されるような論理演算のステートメントは、以下の方式で記述されてもよい。
条件0であるとき、ステートメント0
条件1であるとき、ステートメント1
【0261】
本発明の実施形態について、主にビデオコーディングに基づいて説明したが、コーディングシステム10、エンコーダ20及びデコーダ30(及び対応してシステム10)の実施形態、並びにここに記載の他の実施形態はまた、静止画ピクチャ処理又はコーディング、すなわち、ビデオコーディングにおけるような、いずれかの前の或いは又は連続するピクチャと独立した個々のピクチャの処理又はコーディングについて構成されてもよい点に留意すべきである。一般的に、ピクチャ処理コーディングが単一のピクチャ17に限定される場合、インター予測ユニット244(エンコーダ)及び344(デコーダ)のみが利用可能でなくてもよい。ビデオエンコーダ20及びビデオデコーダ30の全ての他の機能(ツール又は技術とも呼ばれる)は、静止画ピクチャ処理、例えば、残差計算204/304、変換206、量子化208、逆量子化210/310、(逆)変換212/312、パーティション262/362、イントラ予測254/354、及び/又はループフィルタリング220、320、並びにエントロピーコーディング270及びエントロピー復号304に同等に使用されてもよい。
【0262】
例えば、エンコーダ20及びデコーダ30の実施形態、並びに、例えば、エンコーダ20及びデコーダ30に関してここに記載した機能は、ハードウェア、ソフトウェア、ファームウェア又はこれらのいずれかの組み合わせで実現されてもよい。ソフトウェアで実現される場合、機能は、1つ以上の命令又はコードとしてコンピュータ読み取り可能媒体に記憶され或いは通信媒体上で送信され、ハードウェアベースの処理ユニットにより実行されてもよい。コンピュータ読み取り可能媒体は、データ記憶媒体のような有形媒体に対応するコンピュータ読み取り可能記憶媒体、又は例えば、通信プロトコルに従って或る場所から他の場所へのコンピュータプログラムの転送を容易にするいずれかの媒体を含む通信媒体を含んでもよい。このように、コンピュータ読み取り可能媒体は、一般的に、(1)非一時的である有形コンピュータ読み取り可能記憶媒体、又は(2)信号若しくは搬送波のような通信媒体に対応してもよい。データ記憶媒体は、本開示に記載の技術の実現のために命令、コード及び/又はデータ構造を取り出すために、1つ以上のコンピュータ又は1つ以上のプロセッサによりアクセスできるいずれかの利用可能な媒体でもよい。コンピュータプログラム製品は、コンピュータ読み取り可能媒体を含んでもよい。
【0263】
限定ではなく例として、このようなコンピュータ読み取り可能記憶媒体は、RAM、ROM、EEPROM、CD-ROM若しくは他の光ディスクストレージ、磁気ディスクストレージ若しくは他の磁気記憶デバイス、フラッシュメモリ、又は命令若しくはデータ構造の形式で所望のプログラムコードを記憶するために使用でき且つコンピュータによりアクセスできるいずれかの他の媒体を含むことができる。さらに、いずれかの接続は、適切にコンピュータ読み取り可能媒体と呼ばれる。例えば、命令が、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者線(DSL, digital subscriber line)、又は赤外線、無線及びマイクロ波のような無線技術を使用してウェブサイト、サーバ又は他のリモートソースから送信される場合、同軸ケーブル、光ファイバケーブル、ツイストペア、DSL、又は赤外線、無線及びマイクロ波のような無線技術は、媒体の定義に含まれる。しかし、コンピュータ読み取り可能記憶媒体及びデータ記憶媒体は、接続、搬送波、信号又は他の一時的な媒体を含まないが、代わりに非一時的な有形記憶媒体を対象とすることが理解されるべきである。ディスク(disk)及びディクス(disc)は、ここで使用されるとき、コンパクトディスク(CD, compact disc)、レーザディスク、光ディスク、デジタル多用途ディスク(DVD, digital versatile disc)、フロッピーディスク及びブルーレイディスクを含み、ディスク(disk)は通常ではデータを磁気的に再生し、ディスク(disc)はデータをレーザで光学的に再生する。上記の組み合わせも、コンピュータ読み取り可能媒体の範囲に含まれるべきである。
【0264】
命令は、1つ以上のデジタルシグナルプロセッサ(DSP, digital signal processor)、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC, application specific integrated circuit)、フィールドプログラマブルロジックアレイ(FPGA, field programmable logic array)又は他の等価な集積若しくは個別論理回路のような1つ以上のプロセッサにより実行されてもよい。したがって、「プロセッサ」という用語は、ここで使用されるとき、上記の構造のうちいずれか又はここに記載の技術の実現方式に適したいずれかの他の構造を示してもよい。さらに、いくつかの態様では、ここに記載の機能は、符号化及び復号のために構成された専用のハードウェア及び/又はソフトウェアモジュール内に提供されてもよく或いは結合されたコーデックに組み込まれてもよい。さらに、技術は、1つ以上の回路又は論理素子に完全に実現されてもよい。
【0265】
本開示の技術は、無線ハンドセット、集積回路(IC, integrated circuit)又はICのセット(例えば、チップセット)を含む広範なデバイス又は装置に実現されてもよい。様々なコンポーネント、モジュール又はユニットは、開示の技術を実行するように構成されたデバイスの機能的側面を強調するように本開示において記載されているが、異なるハードウェアユニットによる実現を必ずしも必要としない。むしろ、上記のように、様々なユニットは、適切なソフトウェア及び/又はファームウェアと組み合わせて、コーデックハードウェアユニットに結合されてもよく、或いは、上記のような1つ以上のプロセッサを含む相互運用ハードウェアユニットの集合により提供されてもよい。
【0266】
本開示は以下の19個の更なる態様を提供する。
【0267】
ピクチャの現在ブロックの逆量子化のための方法の第1の態様であって、当該方法はデコーダにより実行され、当該方法は、
ビットストリームを受信するステップであり、ビットストリームは、スライスヘッダシンタックス及びPPSシンタックスを含む、ステップと、
PPSシンタックスからシンタックスエレメントを取得するステップであり、取得されたシンタックスエレメントは、クロミナンス量子化パラメータ(QP, quantization parameter)オフセットを含む、ステップと、
スライスヘッダからクロミナンスQPオフセット情報を取得するステップであり、QPオフセット情報は、PPSシンタックス内のいずれかのPPSシンタックスエレメントから独立して取得される、ステップと、
PPSシンタックスから取得されたクロミナンスQPオフセット及びスライスヘッダシンタックスから取得されたクロミナンスQPオフセット情報に依存して、現在クロミナンスブロックについてのQP値を決定するステップと、
決定されたQP値を使用することにより、現在クロミナンスブロックに対して逆量子化を実行するステップと
を含む方法の第1の態様。
【0268】
第1の態様による方法の第2の態様であって、PPSシンタックスから取得された少なくとも1つのクロミナンスQPオフセットは、pps_cb_qp_offset、pps_cr_qp_offset、pps_joint_cbcr_qp_offset及びcu_chroma_qp_offset_enabled_flagを含む、方法の第2の態様。
【0269】
第2の態様による方法の第3の態様であって、cu_chroma_qp_offset_enabled_flagの値が真である場合(例えば、cu_chroma_qp_offset_enabled_flagの値が1である場合)、PPSシンタックスから取得されたクロミナンスQPオフセットは、cu_chroma_qp_offset_subdiv、chroma_qp_offset_list_len_minus1、cb_qp_offset_list[i]、cr_qp_offset_list[i]及びjoint_cbcr_qp_offset_list[i]を更に含み、
【数12】
であり、iは整数である、方法の第3の態様。
【0270】
第1~第3の態様のうちいずれか1つによる方法の第4の態様であって、スライスヘッダシンタックスから取得されたクロミナンスQPオフセット情報は、slice_cb_qp_offset及びslice_cr_qp_offsetを含む、方法の第4の態様。
【0271】
第4の態様による方法の第5の態様であって、sps_joint_cbcr_enabled_flag(例えば、ビットストリームに含まれるSPSレベルシンタックスのエレメント)の値が真である場合(例えば、sps_joint_cbcr_enabled_flagの値が1である場合)、スライスヘッダシンタックスから取得されたクロミナンスQPオフセット情報は、slice_joint_cbcr_qp_offsetを更に含む、方法の第5の態様。
【0272】
第1~第5の態様のうちいずれか1つによる方法の第6の態様であって、PPSシンタックスは、以下の構造を含む、方法の第6の態様。
【表26】
【0273】
第1~第6の態様のうちいずれか1つによる方法の第7の態様であって、スライスヘッダシンタックスは、以下の構造を含む、方法の第7の態様。
【表27】
【0274】
第1~第7の態様のうちいずれか1つによる方法の第8の態様であって、フラグpps_slice_chroma_qp_offsets_present_flagは、PPSシンタックスにおいて省略されるか、或いは、
スライスヘッダ及びPPSシンタックスは、常にクロミナンスQPオフセットに関連するエレメントを含む、方法の第8の態様。
【0275】
ピクチャの現在ブロックの逆量子化のための方法の第9の態様であって、当該方法はデコーダにより実行され、当該方法は、
ビットストリームを受信するステップと、
ビットストリームからジョイントクロミナンス成分残差(JCCR, joint chrominance component residual)制御フラグを取得するステップと、
JCCR制御フラグに基づいて、ビットストリームからクロミナンスマッピング情報を取得するステップと、
JCCR制御フラグに基づいて、ビットストリームからクロミナンス量子化パラメータ(QP, quantization parameter)オフセットを取得するステップと、
取得されたクロミナンスマッピング情報及び取得されたクロミナンスQPオフセットに基づいて、現在クロミナンスブロックについてのQP値を取得するステップと、
決定されたQP値を使用することにより、現在クロミナンスブロックに対して逆量子化を実行するステップと
を含む方法の第9の態様。
【0276】
第9の態様による方法の第10の態様であって、ビットストリームは、SPSレベルシンタックスを含み、JCCR制御フラグは、SPSレベルシンタックスから取得される、方法の第10の態様。
【0277】
第9又は第10の態様による方法の第11の態様であって、JCCR制御フラグはsps_joint_cbcr_enabled_flagである、方法の第11の態様。
【0278】
第9~第11の態様のうちいずれか1つによる方法の第12の態様であって、クロミナンスマッピング情報は、delta_qp_in_val_minus1[i][j]及びdelta_qp_out_val[i][j]を含み、クロミナンスマッピング情報は、ビットストリームに含まれるSPSレベルシンタックスから取得される、方法の第12の態様。
【0279】
第9~第12の態様のうちいずれか1つによる方法の第13の態様であって、SPSレベルシンタックスは、以下の構造を含む、方法の第13の態様。
【表28】
【0280】
第9~第13の態様のうちいずれか1つによる方法の第14の態様であって、JCCR制御フラグに基づいて、ビットストリームからクロミナンスQPオフセットを取得するステップは、
JCCR制御フラグに基づいて、ビットストリームのPPSレベルシンタックスからクロミナンスQPオフセットを取得するステップを含む、方法の第14の態様。
【0281】
第9~第14の態様のうちいずれか1つによる方法の第15の態様であって、PPSレベルシンタックスは、以下の構造を含む、方法の第15の態様。
【表29】
【0282】
第1~第15の態様のうちいずれか1つによる方法を実行するための処理回路を含むデコーダの第16の態様。
【0283】
コンピュータ又はプロセッサ上で実行されたとき、上記の態様のうちいずれか1つによる方法を実行するためのプログラムコードを含むコンピュータプログラム製品の第17の態様。
【0284】
デコーダの第18の態様であって、
1つ以上のプロセッサと、
プロセッサに結合されてプロセッサによる実行のためのプログラミングを記憶する非一時的なコンピュータ読み取り可能記憶媒体と
を含み、プログラミングは、プロセッサにより実行されたき、上記の態様のうちいずれか1つによる方法を実行するようにデコーダを構成する、デコーダの第18の態様。
【0285】
プログラムコードを搬送する非一時的なコンピュータ読み取り可能媒体の第19の態様であって、
プログラムコードは、コンピュータデバイスにより実行されたとき、コンピュータデバイスに上記の態様のうちいずれか1つによる方法を実行させる、非一時的なコンピュータ読み取り可能媒体の第19の態様。
【手続補正書】
【提出日】2022-05-17
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
ピクチャの現在ブロックの逆量子化のための方法であって、当該方法はデコーダにより実行され、当該方法は、
ビットストリームを受信するステップと、
前記ビットストリームからジョイントクロミナンス成分残差(JCCR)制御フラグを取得するステップと、
前記JCCR制御フラグに基づいて、前記ビットストリームからクロミナンスマッピング情報を取得するステップと、
前記JCCR制御フラグに基づいて、前記ビットストリームから少なくとも1つのクロミナンス量子化パラメータ(QP)オフセットを取得するステップと、
前記取得されたクロミナンスマッピング情報及び前記少なくとも1つの取得されたクロミナンスQPオフセットに基づいて
、現在クロミナンスブロックについてのQP値を取得するステップと、
前記
取得されたQP値を使用することにより、前記現在クロミナンスブロックに対して逆量子化を実行するステップと
を含む方法。
【請求項2】
前記ビットストリームは、SPSレベルシンタックスを含み、前記JCCR制御フラグは、前記SPSレベルシンタックスから取得される、請求項1に記載の方法。
【請求項3】
前記JCCR制御フラグ
はsps_joint_cbcr_enabled_flagである、請求項1又は2に記載の方法。
【請求項4】
前記sps_joint_cbcr_enabled_flag
の値が1である場合、前記少なくとも1つの取得されたクロミナンスQPオフセットは、slice_joint_cbcr_qp_offsetにより指定される、請求項3に記載の方法。
【請求項5】
前記クロミナンスマッピング情報は、delta_qp_in_val_minus1[i][j]及びdelta_qp_out_val[i][j]を含み、前記クロミナンスマッピング情報は、前記ビットストリームに含まれるSPSレベルシンタックスから取得される、請求項1乃至4のうちいずれか1項に記載の方法。
【請求項6】
前記SPSレベルシンタックスは、以下の構造を含む、請求項
5に記載の方法。
【表30】
【請求項7】
前記JCCR制御フラグに基づいて、前記ビットストリームから前記少なくとも1つのクロミナンスQPオフセットを取得するステップは、
前記JCCR制御フラグに基づいて、前記ビットストリームのピクチャパラメータセット(PPS)レベルシンタックスから前記少なくとも1つのクロミナンスQPオフセットを取得するステップを含む、請求項1乃至6のうちいずれか1項に記載の方法。
【請求項8】
前記PPSレベルシンタックスは、以下の構造を含む、請求項7に記載の方法。
【表31】
【請求項9】
ピクチャの現在ブロックを符号化するための方法であって、当該方法はエンコーダにより実行され、当該方法は、
ジョイントクロミナンス成分残差(JCCR)制御フラグをビットストリームに符号化するステップと、
前記JCCR制御フラグに基づいて、クロミナンスマッピング情報を前記ビットストリームに符号化するステップと、
前記JCCR制御フラグに基づいて、少なくとも1つのクロミナンス量子化パラメータ(QP)オフセットを前記ビットストリームに符号化するステップと、
前記ビットストリームを提供するステップと
を含む方法。
【請求項10】
前記ビットストリームは、SPSレベルシンタックスを含み、前記JCCR制御フラグは、前記SPSレベルシンタックスに符号化される、請求項
9に記載の方法。
【請求項11】
前記JCCR制御フラグ
はsps_joint_cbcr_enabled_flagである、請求項
9又は
10に記載の方法。
【請求項12】
前記sps_joint_cbcr_enabled_flag
の値が1である場合、前記少なくとも1つの符号化されるクロミナンスQPオフセットは、slice_joint_cbcr_qp_offsetにより指定される、請求項
11に記載の方法。
【請求項13】
前記クロミナンスマッピング情報は、delta_qp_in_val_minus1[i][j]及びdelta_qp_out_val[i][j]を含み、前記クロミナンスマッピング情報は、前記ビットストリームに含まれるSPSレベルシンタックスに符号化される、請求項
9乃至
12のうちいずれか1項に記載の方法。
【請求項14】
前記SPSレベルシンタックスは、以下の構造を含む、請求項10乃至
13のうちいずれか1項に記載の方法。
【表32】
【請求項15】
前記JCCR制御フラグに基づいて、前記少なくとも1つのクロミナンスQPオフセットを前記ビットストリームに符号化するステップは、
前記JCCR制御フラグに基づいて、前記少なくとも1つのクロミナンスQPオフセットを前記ビットストリームのピクチャパラメータセット(PPS)レベルシンタックスに符号化するステップを含む、請求項
9乃至
14のうちいずれか1項に記載の方法。
【請求項16】
前記PPSレベルシンタックスは、以下の構造を含む、請求項
15に記載の方法。
【表33】
【請求項17】
デコーダであって、
1つ以上のプロセッサと、
前記プロセッサに結合されて前記プロセッサによる実行のためのプログラミングを記憶する非一時的なコンピュータ読み取り可能記憶媒体と
を含み、前記プログラミングは、前記プロセッサにより実行されたき、請求項1乃至
8のうちいずれか1項に記載の方法を実行するように当該デコーダを構成する、デコーダ。
【請求項18】
エンコーダであって、
1つ以上のプロセッサと、
前記プロセッサに結合されて前記プロセッサによる実行のためのプログラミングを記憶する非一時的なコンピュータ読み取り可能記憶媒体と
を含み、前記プログラミングは、前記プロセッサにより実行されたき、請求項
9乃至
16のうちいずれか1項に記載の方法を実行するように当該エンコーダを構成する、エンコーダ。
【請求項19】
ビデオデータ復号デバイスであって、
ビットストリームの形式でビデオデータを記憶するように構成された非一時的なメモリストレージと、
請求項1乃至8のうちいずれか1項に記載の方法を実行するように構成されたデコーダと
を含むビデオデータ復号デバイス。
【国際調査報告】