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

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

▶ 華為技術有限公司の特許一覧

特許7453329ビデオ・コーディングにおける混合NALユニット・ピクチャ制約
<>
  • 特許-ビデオ・コーディングにおける混合NALユニット・ピクチャ制約 図1
  • 特許-ビデオ・コーディングにおける混合NALユニット・ピクチャ制約 図2
  • 特許-ビデオ・コーディングにおける混合NALユニット・ピクチャ制約 図3
  • 特許-ビデオ・コーディングにおける混合NALユニット・ピクチャ制約 図4
  • 特許-ビデオ・コーディングにおける混合NALユニット・ピクチャ制約 図5
  • 特許-ビデオ・コーディングにおける混合NALユニット・ピクチャ制約 図6
  • 特許-ビデオ・コーディングにおける混合NALユニット・ピクチャ制約 図7
  • 特許-ビデオ・コーディングにおける混合NALユニット・ピクチャ制約 図8
  • 特許-ビデオ・コーディングにおける混合NALユニット・ピクチャ制約 図9
  • 特許-ビデオ・コーディングにおける混合NALユニット・ピクチャ制約 図10
  • 特許-ビデオ・コーディングにおける混合NALユニット・ピクチャ制約 図11
  • 特許-ビデオ・コーディングにおける混合NALユニット・ピクチャ制約 図12
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-11
(45)【発行日】2024-03-19
(54)【発明の名称】ビデオ・コーディングにおける混合NALユニット・ピクチャ制約
(51)【国際特許分類】
   H04N 19/105 20140101AFI20240312BHJP
   H04N 19/70 20140101ALI20240312BHJP
   H04N 19/172 20140101ALI20240312BHJP
   H04N 19/174 20140101ALI20240312BHJP
【FI】
H04N19/105
H04N19/70
H04N19/172
H04N19/174
【請求項の数】 18
(21)【出願番号】P 2022500875
(86)(22)【出願日】2020-07-07
(65)【公表番号】
(43)【公表日】2022-09-13
(86)【国際出願番号】 US2020041035
(87)【国際公開番号】W WO2021007225
(87)【国際公開日】2021-01-14
【審査請求日】2022-03-01
(31)【優先権主張番号】62/871,524
(32)【優先日】2019-07-08
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】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)【発明者】
【氏名】ヘンドリー,フヌ
【審査官】田部井 和彦
(56)【参考文献】
【文献】米国特許出願公開第2019/0014337(US,A1)
【文献】国際公開第2021/116157(WO,A1)
【文献】特表2023-512749(JP,A)
【文献】Miska M. Hannuksela ,AHG12/AHG17: Merging IRAP and non-IRAP VCL NAL units into the same coded picture [online], JVET-N JVET-N0047,ITU-T インターネット<URL:http://phenix.it-sudparis.eu/jvet/doc_end_user/documents/14_Geneva/wg11/JVET-N0047-v1.zip>,2019年03月22日,pp.1, 5-7
【文献】Ye-Kui Wang, Hendry (Huawei) Sachin Deshpande (Sharp) Miska. M. Hannuksela (Nokia) Gahyun Ryu, Woongil Choi (Samsung) Xianglin Wang, Yi-Wen Chen (Kwai) Li Zhang (Bytedance) Ping Wu, Ming Li (ZTE) Seung-Hwan Kim (LG) Jill Boyce (Intel) Alexis M. Tourapis, David Singer (Apple) Edouard Francois, Pierre Andrivon (Technicolor) Yu-Wen Huang, Chih-Wei Hsu, Ching-Yeh Chen, Tzu-Der Chuang Lulin Chen (MediaTek) Kei Kawamura (KDDI) Yu-Chen Sun, Jian Lou (Alibaba),On reference picture management for VVC [online], JVET-M JVET-M0128-v1,ITU-T インターネット<URL:http://phenix.it-sudparis.eu/jvet/doc_end_user/documents/13_Marrakech/wg11/JVET-M0128-v1.zip>,2019年01月02日,pp.1, 4-5
【文献】SERIES H:AUDIOVISUAL AND MULTIMEDIA SYSTEMS Infrastructure of audiovisual services-Coding of moving video,ITU-T H.265,2018年02月13日,pp.1, 7
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/105
H04N 19/70
H04N 19/172
H04N 19/174
(57)【特許請求の範囲】
【請求項1】
復号器において実装される方法であって、
前記復号器の受信機によって、同じネットワーク抽象化レイヤ(NAL)ユニット・タイプを有さない複数のビデオ・コーディング・レイヤ(VCL)NALユニットを含む現在のピクチャを含むビットストリームを受信することと、
前記復号器のプロセッサによって、復号順序において、前記現在のピクチャの後の後続のピクチャにおけるサブピクチャA(subpicA)に位置付けられたスライスに対する参照ピクチャ・リストのアクティブ・エントリを取得することであって、前記アクティブ・エントリは、前記現在のピクチャでのsubpicAがイントラ・ランダム・アクセス・ポイント(IRAP)NALユニット・タイプに関連するときに、復号順序において、前記現在のピクチャに先行するいかなる参照ピクチャへの参照も含まず、前記現在のピクチャ及び前記後続のピクチャの各々が、サブピクチャにパーティショニングされ、前記サブピクチャが、subpicA及びsubpicBを含み、前記サブピクチャが、1つ以上のスライスの矩形又は正方形領域であり、前記現在のピクチャにおけるsubpicBが、非IRAP NALユニットを含み、前記subpicAに位置付けられた前記現在のピクチャのすべてのスライスが、同じNALユニット・タイプに関連する、取得することと、
前記プロセッサによって、前記参照ピクチャ・リスト・アクティブ・エントリに基づいて前記後続のピクチャを復号することと、を含む、方法。
【請求項2】
前記IRAP NALユニット・タイプは、クリーン・ランダム・アクセス(CRA)NALユニット・タイプである、請求項1に記載の方法。
【請求項3】
前記IRAP NALユニット・タイプは、瞬間復号器リフレッシュ(IDR)NALユニット・タイプである、請求項1に記載の方法。
【請求項4】
前記プロセッサによって、フラグに基づいて、前記現在のピクチャの前記VCL NALユニットに対する第1のNALユニット・タイプ値が、前記現在のピクチャのVCL NALユニットに対する第2のNALユニット・タイプ値とは異なると判定することをさらに含む、請求項1~3のいずれか一項に記載の方法。
【請求項5】
前記ビットストリームは、ピクチャ・パラメータ・セット(PPS)を含み、前記フラグは、前記PPSから取得される、請求項に記載の方法。
【請求項6】
前記フラグは、mixed_nalu_types_in_pic_flagであり、前記mixed_nalu_types_in_pic_flagは、前記PPSを参照する各ピクチャが複数のVCL NALユニットを有し、前記VCL NALユニットが同じ値のNALユニット・タイプ(nal_unit_type)を有しないことを指定するときに1と等しい、請求項に記載の方法。
【請求項7】
符号化器に実装される方法であって、
前記符号化器のプロセッサによって、現在のピクチャが同じネットワーク抽象化レイヤ(NAL)ユニット・タイプを有さない複数のビデオ・コーディング・レイヤ(VCL)NALユニットを含むと判定することと、
前記プロセッサによって、前記現在のピクチャでのサブピクチャA(subpicA)がイントラ・ランダム・アクセス・ポイント(IRAP)NALユニット・タイプに関連すると判定することと、
前記プロセッサによって、復号順序において、前記現在のピクチャの後の後続のピクチャにおける前記subpicAに位置付けられたスライスに対する参照ピクチャ・リストのアクティブ・エントリを生成することであって、前記アクティブ・エントリは、前記現在のピクチャでのsubpicAが前記IRAP NALユニット・タイプに関連するときに、復号順序において、前記現在のピクチャに先行するいかなる参照ピクチャへの参照も含まず、前記現在のピクチャ及び前記後続のピクチャの各々が、サブピクチャにパーティショニングされ、前記サブピクチャが、subpicA及びsubpicBを含み、前記サブピクチャが、1つ以上のスライスの矩形又は正方形領域であり、前記現在のピクチャにおけるsubpicBが、非IRAP NALユニットを含み、前記subpicAに位置付けられた前記現在のピクチャのすべてのスライスが、同じNALユニット・タイプに関連する、生成することと、
前記プロセッサによって、前記参照ピクチャ・リストに基づいて、前記後続のピクチャをビットストリームに符号化することと、を含む、方法。
【請求項8】
前記IRAP NALユニット・タイプは、クリーン・ランダム・アクセス(CRA)NALユニット・タイプである、請求項7に記載の方法。
【請求項9】
前記IRAP NALユニット・タイプは、瞬間復号器リフレッシュ(IDR)NALユニット・タイプである、請求項7に記載の方法。
【請求項10】
前記プロセッサによって、前記現在のピクチャの前記VCL NALユニットに対する第1のNALユニット・タイプ値が、前記現在のピクチャのVCL NALユニットに対する第2のNALユニット・タイプ値とは異なることを示すフラグを前記ビットストリームに符号化することをさらに含む、請求項7~9のいずれか一項に記載の方法。
【請求項11】
前記フラグは、前記ビットストリームにおいてピクチャ・パラメータ・セット(PPS)に符号化される、請求項10に記載の方法。
【請求項12】
前記フラグは、mixed_nalu_types_in_pic_flagであり、前記mixed_nalu_types_in_pic_flagは、前記PPSを参照する各ピクチャが複数のVCL NALユニットを有し、前記VCL NALユニットが同じ値のNALユニット・タイプ(nal_unit_type)を有しないことを指定するときに1に等しくセットされる、請求項1に記載の方法。
【請求項13】
ビデオ・コーディング・デバイスであって、
プロセッサと、前記プロセッサに結合された受信機と、前記プロセッサに結合されたメモリと、前記プロセッサに結合された送信機と、含み、前記プロセッサ、前記受信機、前記メモリ、及び前記送信機は、請求項1~12のいずれか一項に記載の方法を実行するように構成されている、ビデオ・コーディング・デバイス。
【請求項14】
ビデオ・コーディング・デバイスによる使用のためのコンピュータ・プログラム製品を含む非一時的コンピュータ可読媒体であって、前記コンピュータ・プログラム製品は、プロセッサによって実行されるときに、前記ビデオ・コーディング・デバイスが請求項1~12のいずれか一項の方法を実行するように、非一時的コンピュータ可読媒体に記憶されたコンピュータ実行可能命令を含む、非一時的コンピュータ可読媒体。
【請求項15】
復号器であって、
同じネットワーク抽象化レイヤ(NAL)ユニット・タイプを有さない複数のビデオ・コーディング・レイヤ(VCL)NALユニットを含む現在のピクチャを含むビットストリームを受信するための受信手段と、
復号順序において、前記現在のピクチャの後の後続のピクチャにおけるサブピクチャA(subpicA)に位置付けられたスライスに対する参照ピクチャ・リストのアクティブ・エントリを取得するための取得手段と、
前記アクティブ・エントリは、前記現在のピクチャでのsubpicAがイントラ・ランダム・アクセス・ポイント(IRAP)NALユニット・タイプに関連するときに、復号順序において、前記現在のピクチャに先行するいかなる参照ピクチャへの参照も含まないことを判定するための判定手段であって、前記現在のピクチャ及び前記後続のピクチャの各々が、サブピクチャにパーティショニングされ、前記サブピクチャが、subpicA及びsubpicBを含み、前記サブピクチャが、1つ以上のスライスの矩形又は正方形領域であり、前記現在のピクチャにおけるsubpicBが、非IRAP NALユニットを含み、前記subpicAに位置付けられた前記現在のピクチャのすべてのスライスが、同じNALユニット・タイプに関連する、判定手段と、
前記参照ピクチャ・リストアクティブ・エントリに基づいて前記後続のピクチャを復号するための復号手段と、
復号されたビデオ・シーケンスの一部として表示のために前記後続のピクチャを転送するための転送手段と、を含む、復号器。
【請求項16】
前記復号器は、請求項1~6のいずれか一項に記載の方法を実行するようにさらに構成されている、請求項15に記載の復号器。
【請求項17】
符号化器であって、
現在のピクチャが同じネットワーク抽象化レイヤ(NAL)ユニット・タイプを有さない複数のビデオ・コーディング・レイヤ(VCL)NALユニットを含むと判定することと、
前記現在のピクチャでのサブピクチャA(subpicA)がイントラ・ランダム・アクセス・ポイント(IRAP)NALユニット・タイプに関連すると判定することと、を行うための判定手段と、
復号順序において、前記現在のピクチャの後の後続のピクチャにおける前記subpicAに位置付けられたスライスに対する参照ピクチャ・リストのアクティブ・エントリを生成することであって、前記アクティブ・エントリは、前記現在のピクチャでのsubpicAが前記IRAP NALユニット・タイプに関連するときに、復号順序において、前記現在のピクチャに先行するいかなる参照ピクチャへの参照も含まず、前記現在のピクチャ及び前記後続のピクチャの各々が、サブピクチャにパーティショニングされ、前記サブピクチャが、subpicA及びsubpicBを含み、前記サブピクチャが、1つ以上のスライスの矩形又は正方形領域であり、前記現在のピクチャにおけるsubpicBが、非IRAP NALユニットを含み、前記subpicAに位置付けられた前記現在のピクチャのすべてのスライスが、同じNALユニット・タイプに関連する、生成することを行うための生成手段と、
前記参照ピクチャ・リストに基づいて、前記後続のピクチャをビットストリームに符号化することを行うための符号化手段と、
復号器に向かって通信するためにビットストリームを記憶することを行うための記憶手段と、を含む、符号化器。
【請求項18】
前記符号化器は、請求項7~12のいずれか一項に記載の方法を実行するようにさらに構成されている、請求項17に記載の符号化器。
【発明の詳細な説明】
【技術分野】
【0001】
この特許出願は、Ye-Kui Wangにより2019年7月8日に出願され、参照により本明細書に組み込まれている「Constraints for Mixed NAL Unit Types within One Picture in Video Coding」と題された米国仮特許出願第62/871,524号の利益を主張する。
【0002】
本開示は、一般に、ビデオ・コーディングに関係し、特に、ビデオ・コーディングにおけるピクチャのサブピクチャのコーディングに関係する。
【背景技術】
【0003】
比較的短いビデオでさえ描写するために必要とされるビデオ・データの量は、相当なものであり、これは、データがストリーム化されるか、又は他の方法で限定された帯域幅容量を有する通信ネットワークを介して通信されるときに、困難になることがある。したがって、ビデオ・データは、一般に、現代の電気通信ネットワークを介して通信される前に圧縮される。また、メモリ・リソースが制限されることがあるため、ビデオが記憶デバイスに記憶される場合に、ビデオのサイズも問題となる可能性がある。ビデオ圧縮デバイスは、しばしば、伝送又は記憶の前にビデオ・データをコーディングするためにソースにおいてソフトウェア及び/又はハードウェアを使用し、それによってデジタル・ビデオピクチャを表すのに必要なデータ量を減少させる。次いで、圧縮されたデータは、ビデオ・データを復号するビデオ解凍デバイスによって宛先で受信される。ネットワーク・リソースが限られており、より高いビデオ品質の要求が絶えず増加しているため、ピクチャ品質にほとんど犠牲を払わずに圧縮比を改善する改善された圧縮及び解凍技術が望ましい。
【発明の概要】
【0004】
一実施形態では、本開示は、復号器において実装される方法であって、復号器の受信機によって、同じネットワーク抽象化レイヤ(NAL)ユニット・タイプを有さない複数のビデオ・コーディング・レイヤ(VCL)NALユニットを含む現在のピクチャを含むビットストリームを受信することと、復号器のプロセッサによって、復号順序において、現在のピクチャの後の後続のピクチャにおけるサブピクチャA(subpicA)に位置付けられたスライスに対する参照ピクチャ・リストのアクティブ・エントリを取得することであって、アクティブ・エントリは、現在のピクチャでのsubpicAがイントラ・ランダム・アクセス・ポイント(IRAP)NALユニット・タイプに関連するときに、復号順序において、現在のピクチャに先行するいかなる参照ピクチャへの参照も含まない、取得することと、プロセッサによって、参照ピクチャ・リスト・アクティブ・エントリに基づいて後続のピクチャを復号することと、プロセッサによって、復号されたビデオ・シーケンスの一部として表示するために後続のピクチャを転送することと、を含む、方法を含む。
【0005】
ビデオ・コーディング・システムは、IRAPピクチャ及び非IRAPピクチャを使用することによってビデオを符号化してもよい。IRAPピクチャは、ビデオ・シーケンスのランダム・アクセス・ポイントとして機能するイントラ予測に従ってコーディングされたピクチャである。IRAPピクチャは、最初に任意の他のピクチャを復号することなく復号することができる。したがって、復号器は、任意のIRAPピクチャでビデオ・シーケンスの復号を始めることができる。対照的に、復号器は、一般に、非IRAPピクチャでビデオ・シーケンスの復号を始めることができない。IRAPピクチャは、DPBをリフレッシュすることもある。これは、IRAPピクチャがコーディングされたビデオ・シーケンス(CVS)の開始点として作用し、CVS内のピクチャが以前のCVS内のピクチャを参照しないためである。このように、IRAPピクチャはまた、インター予測チェーンを壊し/停止し、インター予測関係のコーディング・エラーを停止することができる。これは、このようなエラーがIRAPピクチャを介して伝播することができないためである。
【0006】
いくつかのケースでは、ビデオ・コーディング・システムを使用して、仮想現実(VR)ビデオをコーディングしてもよい。VRビデオは、ユーザが球の中心にいるかのように表示されたビデオ・コンテンツの球を含み得る。ビューポートと呼ばれる球体の一部分のみがユーザに表示される。ピクチャの残りの部分はレンダリングされずに破棄される。ピクチャ全体は、一般に、ユーザのヘッドの動きに応答して、異なるビューポートが動的に選択され、表示することができるように送信される。このアプローチは、非常に大きいビデオ・ファイル・サイズをもたらすことがある。コーディング効率を改善するために、いくつかのシステムは、ピクチャをサブピクチャに分割する。ビデオは、2つ以上の解像度で符号化することができる。各解像度は、サブピクチャに対応するサブビットストリームの異なるセットに符号化される。ユーザがVRビデオをストリーミングするときに、コーディング・システムは、サブビットストリームを、ユーザによって使用されている現在のビューポートに基づく伝送のためのビットストリームにマージすることができる。具体的には、現在のビューポートは高解像度サブビットストリームから取得され、表示されていないビューポートは低解像度ビットストリームから取得される。このようにして、最高画質のビデオがユーザに表示され、低画質のビデオが破棄される。ユーザが新しいビューポートを選択する場合には、低解像度のビデオがユーザに提示される。復号器は、新しいビューポートがより高解像度のビデオを受信するように要求することができる。次いで、符号化器は、それに応じてマージ・プロセスを変更することができる。IRAPピクチャに到達すると、復号器は、新しいビューポートでのより高い解像度のビデオ・シーケンスの復号を始めることができる。このアプローチは、ユーザの視認体験に悪影響を与えることなく、ビデオ圧縮を有意に向上させる。
【0007】
上記のアプローチの1つの関心事は、解像度を変更するのに必要な時間の長さが、IRAPピクチャに到達するまでの時間の長さに基づいていることである。これは、復号器が、上述のように、非IRAPピクチャで異なるビデオ・シーケンスの復号を開始することができないためである。このようなレイテンシを低減する1つのアプローチは、より多くのIRAPピクチャを含めることである。しかし、その結果、ファイルサイズの増加をもたらす。機能性とコーディング効率とのバランスをとるために、異なるビューポート/サブピクチャは、異なる頻度でIRAPピクチャを含み得る。例えば、視認される可能性の高いビューポートは、他のビューポートよりも多くのIRAPピクチャを持つことがある。このアプローチは、他の問題につながる。具体的には、IRAPピクチャの後のピクチャは、IRAPピクチャに先行するピクチャを参照しないように制約される。しかし、この制約はピクチャ・レベルで行われる。IRAP及び非IRAPサブピクチャの両方を含む混合NALユニットを含むピクチャは、ピクチャ・レベルではIRAPピクチャと見なされないことがある。したがって、このようなピクチャ・レベルの制約を適用しなくてもよい。これは、IRAPサブピクチャの後のピクチャの一部分が、IRAPピクチャに先行するピクチャを不適切に参照することにつながる可能性がある。このケースでは、IRAPサブピクチャは、参照ピクチャ/サブピクチャが利用できない可能性があるため、アクセス・ポイントとして適切に機能せず、IRAPサブピクチャの後のサブピクチャが復号可能であることを妨げる。さらに、IRAPサブピクチャは、非IRAPサブピクチャを、混合NALユニットを有する目的(例えば、異なる長さのインター・コーディングされるシーケンスは、サブピクチャ位置に依存する)を無効にするような参照から妨げるべきではない。
【0008】
本例は、ピクチャがIRAP NALユニットと非IRAP NALユニットの両方を含むときに、コーディング・エラーを軽減するメカニズムを含む。具体的には、現在のピクチャのサブピクチャはIRAP NALユニットを含み得る。これが発生するときに、サブピクチャにも含まれる現在のピクチャの後のピクチャでのスライスは、現在のピクチャに先行する参照ピクチャを参照することが制限される。これは、IRAP NALユニットがサブピクチャ・レベルでのインター予測伝播を停止することを確実にする。したがって、復号器は、IRAPサブピクチャで復号を始めることができる。後のピクチャにおけるサブピクチャに関連するスライスは常に復号することができる。これは、このようなスライスが(復号されていない)IRAPサブピクチャに先行する任意のデータを参照しないためである。このような制約は非IRAP NALユニットには適用されない。したがって、非IRAPデータを含むサブピクチャに対して、インター予測は壊されない。このように、開示されたメカニズムは、追加の機能性の実装を可能にする。例えば、開示されたメカニズムは、サブピクチャ・ビットストリームを使用するときに、サブピクチャ・レベルでの動的解像度の変化をサポートする。それゆえ、開示されたメカニズムは、ユーザ体験を有意に損なうことなく、VRビデオをストリーミングするときに、より低い解像度のサブピクチャ・ビットストリームが送信されることを可能にする。したがって、開示されたメカニズムは、コーディング効率を増加させ、それゆえ、符号化器及び復号器でのネットワーク・リソース、メモリ・リソース、及び/又は処理リソースの使用量を低減する。
【0009】
オプションとして、先行する態様のいずれかにおいて、態様の別の実装は、IRAP NALユニット・タイプがクリーン・ランダム・アクセス(CRA)NALユニット・タイプであることを提供する。
【0010】
オプションとして、先行する態様のいずれかにおいて、態様の別の実装は、IRAP NALユニット・タイプが瞬間復号器リフレッシュ(IDR)NALユニット・タイプであることを提供する。
【0011】
オプションとして、先行する態様のいずれかにおいて、態様の別の実装は、プロセッサによって、subpicAに位置付けられた現在のピクチャのすべてのスライスが、同じNALユニット・タイプに関連することを判定することをさらに含むことを提供する。
【0012】
オプションとして、先行する態様のいずれかにおいて、態様の別の実装は、プロセッサによって、フラグに基づいて、現在のピクチャのVCL NALユニットに対する第1のNALユニット・タイプ値が、現在のピクチャのVCL NALユニットに対する第2のNALユニット・タイプ値とは異なると判定することをさらに含むことを提供する。
【0013】
オプションとして、先行する態様のいずれかにおいて、態様の別の実装は、ビットストリームは、ピクチャ・パラメータ・セット(PPS)を含み、フラグは、PPSから取得されることを提供する。
【0014】
オプションとして、先行する態様のいずれかにおいて、態様の別の実装は、フラグは、mixed_nalu_types_in_pic_flagであり、mixed_nalu_types_in_pic_flagは、PPSを参照する各ピクチャが複数のVCL NALユニットを有し、VCL NALユニットが同じ値のNALユニット・タイプ(nal_unit_type)を有しないことを指定するときに1と等しいことを提供する。
【0015】
一実施形態では、本開示は、符号化器に実装される方法であって、符号化器のプロセッサによって、現在のピクチャが同じNALユニット・タイプを有さない複数のVCL NALユニットを含むと判定することと、プロセッサによって、現在のピクチャでのsubpicAがIRAP NALユニット・タイプに関連すると判定することと、プロセッサによって、復号順序において、現在のピクチャの後の後続のピクチャにおけるsubpicAに位置付けられたスライスに対する参照ピクチャ・リストのアクティブ・エントリを生成することであって、アクティブ・エントリは、現在のピクチャでのsubpicAがIRAP NALユニット・タイプに関連するときに、復号順序において、現在のピクチャに先行するいかなる参照ピクチャへの参照も含まない、生成することと、プロセッサによって、参照ピクチャ・リストに基づいて、後続のピクチャをビットストリームに符号化することと、プロセッサに結合されたメモリによって、復号器に向かって通信するためにビットストリームを記憶することと、を含む、方法を含む。
【0016】
ビデオ・コーディング・システムは、IRAPピクチャ及び非IRAPピクチャを使用することによってビデオを符号化してもよい。IRAPピクチャは、ビデオ・シーケンスのランダム・アクセス・ポイントとして機能するイントラ予測に従ってコーディングされたピクチャである。IRAPピクチャは、最初に任意の他のピクチャを復号することなく復号することができる。したがって、復号器は、任意のIRAPピクチャでビデオ・シーケンスの復号を始めることができる。対照的に、復号器は、一般に、非IRAPピクチャでビデオ・シーケンスの復号を始めることができない。IRAPピクチャは、DPBをリフレッシュすることもある。これは、IRAPピクチャがコーディングされたビデオ・シーケンス(CVS)の開始点として作用し、CVS内のピクチャが以前のCVS内のピクチャを参照しないためである。このように、IRAPピクチャはまた、インター予測チェーンを壊し、インター予測関係のコーディング・エラーを停止することができる。これは、このようなエラーがIRAPピクチャを介して伝播することができないためである。
【0017】
いくつかのケースでは、ビデオ・コーディング・システムを使用して、仮想現実(VR)ビデオをコーディングしてもよい。VRビデオは、ユーザが球の中心にいるかのように表示されたビデオ・コンテンツの球を含み得る。ビューポートと呼ばれる球体の一部分のみがユーザに表示される。ピクチャの残りの部分はレンダリングされずに破棄される。ピクチャ全体は、一般に、ユーザのヘッドの動きに応答して、異なるビューポートが動的に選択され、表示することができるように送信される。このアプローチは、非常に大きいビデオ・ファイル・サイズをもたらすことがある。コーディング効率を改善するために、いくつかのシステムは、ピクチャをサブピクチャに分割する。ビデオは、2つ以上の解像度で符号化することができる。各解像度は、サブピクチャに対応するサブビットストリームの異なるセットに符号化される。ユーザがVRビデオをストリーミングするときに、コーディング・システムは、サブビットストリームを、ユーザによって使用されている現在のビューポートに基づく伝送のためのビットストリームにマージすることができる。具体的には、現在のビューポートは高解像度サブビットストリームから取得され、表示されていないビューポートは低解像度ビットストリームから取得される。このようにして、最高画質のビデオがユーザに表示され、低画質のビデオが破棄される。ユーザが新しいビューポートを選択する場合には、低解像度のビデオがユーザに提示される。復号器は、新しいビューポートがより高解像度のビデオを受信するように要求することができる。次いで、符号化器は、それに応じてマージ・プロセスを変更することができる。IRAPピクチャに到達すると、復号器は、新しいビューポートでのより高い解像度のビデオ・シーケンスの復号を始めることができる。このアプローチは、ユーザの視認体験に悪影響を与えることなく、ビデオ圧縮を有意に向上させる。
【0018】
上記のアプローチの1つの関心事は、解像度を変更するのに必要な時間の長さが、IRAPピクチャに到達するまでの時間の長さに基づいていることである。これは、復号器が、上述のように、非IRAPピクチャで異なるビデオ・シーケンスの復号を開始することができないためである。このようなレイテンシを低減する1つのアプローチは、より多くのIRAPピクチャを含めることである。しかし、その結果、ファイルサイズの増加をもたらす。機能性とコーディング効率とのバランスをとるために、異なるビューポート/サブピクチャは、異なる頻度でIRAPピクチャを含み得る。例えば、視認される可能性が高いビューポートは、他のビューポートよりも多くのIRAPピクチャを有してもよい。このアプローチは、他の問題につながる。具体的には、IRAPピクチャの後のピクチャは、IRAPピクチャに先行するピクチャを参照しないように制約される。しかし、この制約はピクチャ・レベルで行われる。IRAP及び非IRAPサブピクチャの両方を含む混合NALユニットを含むピクチャは、ピクチャ・レベルではIRAPピクチャと見なされないことがある。したがって、このようなピクチャ・レベルの制約を適用しなくてもよい。これは、IRAPサブピクチャの後のピクチャの一部分が、IRAPピクチャに先行するピクチャを不適切に参照することにつながる可能性がある。このケースでは、IRAPサブピクチャは、参照ピクチャ/サブピクチャが利用できない可能性があるため、アクセス・ポイントとして適切に機能せず、IRAPサブピクチャの後のサブピクチャが復号可能であることを妨げる。さらに、IRAPサブピクチャは、非IRAPサブピクチャを、混合NALユニットを有する目的(例えば、異なる長さのインター・コーディングされるシーケンスは、サブピクチャ位置に依存する)を無効にするような参照から妨げるべきではない。
【0019】
本例は、ピクチャがIRAP NALユニットと非IRAP NALユニットの両方を含むときに、コーディング・エラーを軽減するメカニズムを含む。具体的には、現在のピクチャのサブピクチャはIRAP NALユニットを含み得る。これが発生するときに、サブピクチャにも含まれる現在のピクチャの後のピクチャでのスライスは、現在のピクチャに先行する参照ピクチャを参照することが制限される。これは、IRAP NALユニットがサブピクチャ・レベルでのインター予測伝播を停止することを確実にする。したがって、復号器は、IRAPサブピクチャで復号を始めることができる。後のピクチャにおけるサブピクチャに関連するスライスは常に復号することができる。これは、このようなスライスが(復号されていない)IRAPサブピクチャに先行する任意のデータを参照しないためである。このような制約は非IRAP NALユニットには適用されない。したがって、非IRAPデータを含むサブピクチャに対して、インター予測は壊されない。このように、開示されたメカニズムは、追加の機能性の実装を可能にする。例えば、開示されたメカニズムは、サブピクチャ・ビットストリームを使用するときに、サブピクチャ・レベルでの動的解像度の変化をサポートする。それゆえ、開示されたメカニズムは、ユーザ体験を有意に損なうことなく、VRビデオをストリーミングするときに、より低い解像度のサブピクチャ・ビットストリームが送信されることを可能にする。したがって、開示されたメカニズムは、コーディング効率を増加させ、それゆえ、符号化器及び復号器でのネットワーク・リソース、メモリ・リソース、及び/又は処理リソースの使用量を低減する。
【0020】
オプションとして、先行する態様のいずれかにおいて、態様の別の実装は、IRAP NALユニット・タイプがCRA NALユニット・タイプであることを提供する。
【0021】
オプションとして、先行する態様のいずれかにおいて、態様の別の実装は、IRAP NALユニット・タイプがIDR NALユニット・タイプであることを提供する。
【0022】
オプションとして、先行する態様のいずれかにおいて、態様の別の実装は、プロセッサによって、subpicAに位置付けられた現在のピクチャのすべてのスライスが同じNALユニット・タイプに関連することを確実にすることによって、現在のピクチャをビットストリームに符号化することをさらに含むことを提供する。
【0023】
オプションとして、先行する態様のいずれかにおいて、態様の別の実装は、プロセッサによって、現在のピクチャのVCL NALユニットに対する第1のNALユニット・タイプ値が、現在のピクチャのVCL NALユニットに対する第2のNALユニット・タイプ値とは異なることを示すフラグをビットストリームに符号化することをさらに含むことを提供する。
【0024】
オプションとして、先行する態様のいずれかにおいて、態様の別の実装は、フラグは、ビットストリームにおいてPPSに符号化されることを提供する。
【0025】
オプションとして、先行する態様のいずれかにおいて、態様の別の実装は、フラグは、mixed_nalu_types_in_pic_flagであり、mixed_nalu_types_in_pic_flagは、PPSを参照する各ピクチャが複数のVCL NALユニットを有し、VCL NALユニットが同じ値のnal_unit_typeを有しないことを指定するときに1と等しくセットされることを提供する。
【0026】
一実施形態では、本開示は、プロセッサと、プロセッサに結合された受信機と、プロセッサに結合されたメモリと、プロセッサに結合された送信機と、含み、プロセッサ、受信機、メモリ、及び送信機は、先行する態様のいずれかの方法を実行するように構成されているビデオ・コーディング・デバイスを含む。
【0027】
一実施形態では、本開示は、ビデオ・コーディング・デバイスによる使用のためのコンピュータ・プログラム製品を含む非一時的コンピュータ可読媒体であって、コンピュータ・プログラム製品は、プロセッサによって実行されるときに、ビデオ・コーディング・デバイスが先行する態様のいずれかの方法を実行するように、非一時的コンピュータ可読媒体に記憶されたコンピュータ実行可能命令を含む、非一時的コンピュータ可読媒体を含む。
【0028】
一実施形態では、本開示は、復号器であって、同じNALユニット・タイプを有さない複数のVCL NALユニットを含む現在のピクチャを含むビットストリームを受信するための受信手段と、復号順序において、現在のピクチャの後の後続のピクチャにおけるsubpicAに位置付けられたスライスに対する参照ピクチャ・リストのアクティブ・エントリを取得するための取得手段と、アクティブ・エントリは、現在のピクチャでのsubpicAがIRAP NALユニット・タイプに関連するときに、復号順序において、現在のピクチャに先行するいかなる参照ピクチャへの参照も含まないことを判定するための判定手段と、参照ピクチャ・リストアクティブ・エントリに基づいて前記後続のピクチャを復号するための復号手段と、復号されたビデオ・シーケンスの一部として表示のために前記後続のピクチャを転送するための転送手段と、を含む、復号器を含む。
【0029】
オプションとして、先行する態様のいずれかにおいて、態様の別の実装は、復号器が、先行する態様のいずれかの方法を実行するようにさらに構成されていることを提供する。
【0030】
一実施形態では、本開示は、符号化器であって、現在のピクチャが同じNALユニット・タイプを有さない複数のVCL NALユニットを含むと判定することと、現在のピクチャでのsubpicAがIRAP NALユニット・タイプに関連すると判定することと、を行うための判定手段と、復号順序において、現在のピクチャの後の後続のピクチャにおけるsubpicAに位置付けられたスライスに対する参照ピクチャ・リストのアクティブ・エントリを生成することであって、アクティブ・エントリは、現在のピクチャでのsubpicAがIRAP NALユニット・タイプに関連するときに、復号順序において、現在のピクチャに先行するいかなる参照ピクチャへの参照も含まない、生成することを行うための生成手段と、参照ピクチャ・リストに基づいて、後続のピクチャをビットストリームに符号化することを行うための符号化手段と、復号器に向かって通信するためにビットストリームを記憶することを行うための記憶手段と、を含む、符号化器を含む。
【0031】
オプションとして、先行する態様のいずれかにおいて、態様の別の実装は、符号化器が、先行する態様のいずれかの方法を実行するようにさらに構成されていることを提供する。
【0032】
明確にするために、前述の実施形態のいずれか1つを、他の前述の実施形態のいずれか1つ以上と組み合わせて、本開示の範囲内の新たな実施形態を作成してもよい。
【0033】
これら及び他の特徴は、添付の図面及び特許請求の範囲と併せて取得される以下の詳細な説明から、より明確に理解されるであろう。
【図面の簡単な説明】
【0034】
本開示をより完全に理解するために、添付の図面及び詳細な説明に関連して取得される、以下の簡単な説明を参照し、同様の参照番号は同様の部分を表す。
【0035】
図1】ビデオ信号をコーディングする例示的な方法のフローチャートである。
【0036】
図2】ビデオ・コーディングのための例示的なコーディング及び復号(コーデック)システムの概略図である。
【0037】
図3】例示的なビデオ符号化器を示す概略図である。
【0038】
図4】例示的なビデオ復号器を示す概略図である。
【0039】
図5】仮想現実(VR)ピクチャ・ビデオ・ストリームから分裂された複数のサブピクチャ・ビデオ・ストリームを示す概略図である。
【0040】
図6】現在のピクチャが混合ネットワーク抽象化レイヤ(NAL)ユニット・タイプを含むときに使用される制約を示す概略図である。
【0041】
図7】参照ピクチャ・リストを含む例示的な参照ピクチャ・リスト構造を示す概略図である。
【0042】
図8】混合NALユニット・タイプを有するピクチャを含む例示的なビットストリームを示す概略図である。
【0043】
図9】例示的なビデオ・コーディング・デバイスの概略図である。
【0044】
図10】混合NALユニット・タイプを有するピクチャを含むビデオ・シーケンスをビットストリームに符号化する例示的な方法のフローチャートである。
【0045】
図11】ビットストリームから混合NALユニット・タイプを有するピクチャを含むビデオ・シーケンスを復号する例示的な方法のフローチャートである。
【0046】
図12】混合NALユニット・タイプを有するピクチャを含むビデオ・シーケンスをビットストリームにコーディングするための例示的なシステムの概略図である。
【発明を実施するための形態】
【0047】
最初に、1つ以上の実施形態の例示的な実装態様が以下に提供されるが、開示されたシステム及び/又は方法は、現在公知であるか存在するかを問わず、任意の数の技術を使用して実施され得ることが理解されるべきである。本開示は、本明細書に示され説明された例示的な設計及び実装態様を含む、以下に示された例示的な実装態様、図面、及び技術には決して限定されないが、添付の特許請求の範囲の範囲内で、それらの均等物の全範囲と共に修正されてもよい。
【0048】
以下の用語は、本明細書において反対のコンテキストで使用されない限り、以下のように定義される。具体的には、以下の定義は、本開示にさらなる明確性を提供することが意図されている。しかし、異なるコンテキストにおいては、用語は異なって説明されてもよい。したがって、以下の定義は、補足とみなされるべきであり、本明細書においてそのような用語に対して提供されている説明の任意の他の定義を制限するものとみなされるべきではない。
【0049】
ビットストリームは、符号化器と復号器との間の伝送のために圧縮されるビデオ・データを含むビットのシーケンスである。符号化器は、ビデオ・データをビットストリームに圧縮するための符号化プロセスを使用するように構成されているデバイスである。復号器は、表示するためにビットストリームからビデオ・データを再構成するために復号プロセスを使用するように構成されているデバイスである。ピクチャは、フレーム又はそのフィールドを生成するルマ・サンプルのアレイ及び/又はクロマ・サンプルのアレイである。符号化又は復号されているピクチャは、議論を明確にするために現在のピクチャと呼ぶことができ、現在のピクチャに続く任意のピクチャは、後続のピクチャと呼ぶことができる。サブピクチャは、ピクチャのシーケンス内の1つ以上のスライスの矩形領域である。正方形はあるタイプの矩形のであり、したがって、サブピクチャは正方形領域を含むことができることに留意されたい。スライスは、単一のネットワーク抽象化レイヤ(NAL)ユニットに排他的に含まれる整数個の完全タイル又はピクチャのタイル内の整数個の連続する完全コーディング・ツリー・ユニット(CTU)行である。NALユニットはバイトのデータとそこに含まれるデータのタイプの表示を含む構文構造である。NALユニットは、ビデオ・データを含むビデオ・コーディング・レイヤ(VCL)NALユニットと、サポートする構文データを含む非VCL NALユニットとを含む。NALユニット・タイプは、NALユニットに含まれるデータ構造のタイプである。イントラ・ランダム・アクセス・ポイント(IRAP)NALユニット・タイプは、IRAPピクチャ又はサブピクチャからのデータを含むデータ構造である。IRAPピクチャ/サブピクチャは、イントラ予測に従って符号化されるピクチャ/サブピクチャであり、これは、復号器が、IRAPピクチャ/サブピクチャに先行するピクチャを参照することなく、対応するピクチャ/サブピクチャにおいてビデオ・シーケンスの復号を開始することができることを示す。クリーン・ランダム・アクセス(CRA)NALユニット・タイプは、CRAピクチャ又はサブピクチャからのデータを含むデータ構造である。CRAピクチャ/サブピクチャは、復号されたピクチャ・バッファ(DPB)をリフレッシュしないIRAPピクチャ/サブピクチャである。瞬間復号リフレッシュ(IDR)NALユニット・タイプは、IDRピクチャ又はサブピクチャからのデータを含むデータ構造である。IDRピクチャ/サブピクチャは、DPBをリフレッシュするIRAPピクチャ/サブピクチャである。参照ピクチャとは、イントラ予測に従って参照によって他のピクチャをコーディングするときに使用することができる参照サンプルを含むピクチャである。参照ピクチャ・リストは、イントラ予測及び/又はインターレイヤ予測のために使用される参照ピクチャのリストである。いくつかのビデオ・コーディング・システムは、参照ピクチャ・リスト1及び参照ピクチャ・リスト0として示すことができる、2つのピクチャ・リストを参照する。参照ピクチャ・リスト構造は、複数の参照ピクチャ・リストを含むアドレス指定可能な構文構造である。アクティブ・エントリは、インター予測を実行するときに現在のピクチャで使用可能な参照ピクチャを参照する参照ピクチャ・リスト内のエントリである。フラグは、対応するデータを示すためにセットすることができるビットのシーケンスを含むデータ構造である。ピクチャ・パラメータ・セット(PPS)は、1つ以上のピクチャに関係するピクチャ・レベル・データを含むパラメータ・セットである。復号順序は、構文要素が復号プロセスによって処理される順序である。復号されたビデオ・シーケンスは、ユーザへの表示の準備のために復号器によって再構成されたピクチャのシーケンスである。
【0050】
以下、コーディングされたビデオ・シーケンス(CVS)、復号されたピクチャ・バッファ(DPB)、瞬時復号リフレッシュ(IDR)、イントラ・ランダム・アクセス・ポイント(IRAP)、最下位ビット(LSB)、最上位ビット(MSB)、ネットワーク抽象化レイヤ(NAL)、ピクチャ・オーダ・カウント(POC)、生のバイト・シーケンス・ペイロード(RBSP)、シーケンス・パラメータ・セット(SPS)、及び作業ドラフト(WD)の頭字語が本明細書において使用される。
【0051】
多くのビデオ圧縮技術が、最小限のデータ損失でビデオ・ファイルのサイズを低減するために使用され得る。例えば、ビデオ圧縮技術は、ビデオ・シーケンスにおけるデータ冗長性を低減又は除去するために、空間的(例えば、イントラ・ピクチャ)予測及び/又は時間的(例えば、インター・ピクチャ)予測を実行することを含むことができる。ブロック・ベースのビデオ・コーディングの場合、ビデオ・スライス(例えば、ビデオ・ピクチャ又はビデオ・ピクチャの一部分)は、ビデオ・ブロックにパーティショニングされてもよく、これは、ツリー・ブロック(CTB)、コーディング・ツリー・ユニット(CTU)、コーディング・ユニット(CU)、及び/又はコーディング・ノードと呼ばれることがある。ピクチャのイントラ・コーディングされた(I)スライス内のビデオ・ブロックは、同じピクチャ内の隣接ブロック内の参照サンプルに対して空間的予測を用いてコーディングされる。ピクチャのインター・コーディングされた一方向予測(P)又は双方向予測(B)スライス内のビデオ・ブロックは、同じピクチャ内の隣接ブロック内の参照サンプルに対する空間的予測、又は他の参照ピクチャ内の参照サンプルに対する時間的予測を使用することによってコーディングされてもよい。ピクチャは、フレーム及び/又は画像と呼ばれることがあり、参照ピクチャは、参照フレーム及び/又は参照画像と呼ばれることがある。空間的又は時間的予測は、画像ブロックを表す予測ブロックをもたらす。残差データは、オリジナルの画像ブロックと予測ブロックとの間の画素差を表す。したがって、インター・コーディングされたブロックは、予測ブロックを形成する参照サンプルのブロックを指すモーション・ベクトルにしたがって符号化され、残差データは、コーディングされたブロックと予測ブロックとの間の差を示す。イントラ・コーディングされたブロックは、イントラ・コーディング・モードと残差データにしたがって符号化される。さらなる圧縮のために、残差データは、画素ドメインから変換ドメインに変換されてもよい。これらは、残差変換係数をもたらし、これは、量子化されてもよい。量子化された変換係数は、初期的に二次元アレイに配置されてもよい。量子化された変換係数は、変換係数の一次元ベクトルを生成するために走査されてもよい。エントロピー・コーディングは、より多くの圧縮を達成するために適用されてもよい。このようなビデオ圧縮技術が、以下により詳細に論じられる。
【0052】
符号化されたビデオが正確に復号されることを確実にするために、ビデオは、対応するビデオ・コーディング規格に従って符号化され、復号される。ビデオ・コーディング規格は、国際電気通信連合(ITU)規格化部門(ITU-T)H.261、国際標準化機構/国際電気標準会議(ISO/IEC)モーション・ピクチャ・エキスパート・グループ(MPEG)-1 Part 2、ITU-T H.262若しくはISO/IEC MPEG-2 Part 2、ITU-T H.263、ISO/IEC MPEG-4 Part 2、ITU-T H.264若しくはISO/IEC MPEG-4 Part 10としても知られる高度ビデオ・コーディング(AVC)、及びITU-T H.265若しくはMPEG-H Part2としても知られる高効率ビデオ・コーディング(HEVC)を含む。AVCは、スケーラブル・ビデオ・コーディング(SVC)、マルチビュー・ビデオ・コーディング(MVC)及びマルチビュー・ビデオ・コーディング・プラス・デプス(MVC+D)、及び三次元(3D)AVC(3D‐AVC)などの拡張を含む。HEVCは、スケーラブルHEVC(SHVC)、マルチビューHEVC(MV-HEVC)、3D HEVC(3D-HEVC)などの拡張を含む。ITU‐TとISO/IECの合同ビデオ・エキスパート・チーム(JVET)は、多用途ビデオ(Versatile Video Coding)と呼ばれるビデオ・コーディング規格の開発を始めた。VVCは、JVET-N1001-v10を含む作業ドラフト(WD)に含まれている。
【0053】
ビデオ・コーディング・システムは、IRAPピクチャ及び非IRAPピクチャを使用することによってビデオを符号化してもよい。IRAPピクチャは、ビデオ・シーケンスのランダム・アクセス・ポイントとして機能するイントラ予測に従ってコーディングされたピクチャである。イントラ予測では、ピクチャのブロックは、同じピクチャ内の他のブロックを参照することによってコーディングされる。これは、インター予測を使用する非IRAPピクチャとは対照的である。インター予測では、現在のピクチャのブロックは、現在のピクチャとは異なる参照ピクチャ内の他のブロックを参照することによってコーディングされる。IRAPピクチャは、他のピクチャを参照することなくコーディングされるため、IRAPピクチャは、最初に任意の他のピクチャを復号することなく復号することができる。したがって、復号器は、任意のIRAPピクチャでビデオ・シーケンスの復号を始めることができる。対照的に、非IRAPピクチャは、他のピクチャを参照して符号化されるため、復号器は、一般に、非IRAPピクチャでビデオ・シーケンスの復号を始めることができない。IRAPピクチャは、DPBをリフレッシュすることもある。これは、IRAPピクチャがCVSの開始点として作用し、CVS内のピクチャが以前のCVS内のピクチャを参照しないためである。このように、IRAPピクチャはまた、インター予測関係のコーディング・エラーを停止することもできる。これは、このような誤りがIRAPピクチャを介して伝播することができないためである。しかし、IRAPピクチャは、データサイズの観点から非IRAPピクチャより有意に大きい。このように、ビデオ・シーケンスは、一般に、コーディング効率と機能性とのバランスをとるために、少数の点在するIRAPピクチャと多くの非IRAPピクチャを含む。例えば、60フレームのCVSは、1つのIRAPピクチャと59の非IRAPピクチャを含み得る。
【0054】
いくつかのケースでは、ビデオ・コーディング・システムを使用して、仮想現実(VR)ビデオをコーディングしてもよく、このビデオは、360度ビデオとも呼ばれることがある。VRビデオは、ユーザが球の中心にいるかのように表示されたビデオ・コンテンツの球を含み得る。ビューポートと呼ばれる球体の一部分のみがユーザに表示される。例えば、ユーザは、ユーザのヘッドの動きに基づいて球のビューポートを選択し表示するヘッド・マウント・ディスプレイ(HMD)を使用してもよい。これは、ビデオによって示された仮想空間に物理的に存在するという印象を提供する。この結果を達成するために、ビデオ・シーケンスの各ピクチャは、対応する瞬間での球全体のビデオ・データを含む。しかし、ピクチャの小さな部分(例えば、単一のビューポート)だけがユーザに表示される。ピクチャの残りの部分はレンダリングされずに破棄される。ピクチャ全体は、一般に、ユーザのヘッドの動きに応答して、異なるビューポートが動的に選択され、表示することができるように送信される。このアプローチは、非常に大きいビデオ・ファイル・サイズをもたらすことがある。
【0055】
コーディング効率を改善するために、いくつかのシステムは、ピクチャをサブピクチャに分割する。サブピクチャは、ピクチャの定義された空間領域である。各サブピクチャは、ピクチャの対応するビューポートを含む。ビデオは、2つ以上の解像度で符号化することができる。各解像度は異なるサブビットストリームに符号化される。ユーザがVRビデオをストリーミングするときに、コーディング・システムは、サブビットストリームを、ユーザによって使用されている現在のビューポートに基づく伝送のためのビットストリームにマージすることができる。具体的には、現在のビューポートは高解像度サブビットストリームから取得され、表示されていないビューポートは低解像度ビットストリームから取得される。このようにして、最高画質のビデオがユーザに表示され、低画質のビデオが破棄される。ユーザが新しいビューポートを選択する場合には、低解像度のビデオがユーザに提示される。復号器は、新しいビューポートがより高解像度のビデオを受信するように要求することができる。次いで、符号化器は、それに応じてマージ・プロセスを変更することができる。IRAPピクチャに到達すると、復号器は、新しいビューポートでのより高い解像度のビデオ・シーケンスの復号を始めることができる。このアプローチは、ユーザの視認体験に悪影響を与えることなく、ビデオ圧縮を有意に向上させる。
【0056】
上記のアプローチの1つの関心事は、解像度を変更するのに必要な時間の長さが、IRAPピクチャに到達するまでの時間の長さに基づいていることである。これは、復号器が、上述のように、非IRAPピクチャで異なるビデオ・シーケンスの復号を開始することができないためである。このようなレイテンシを低減する1つのアプローチは、より多くのIRAPピクチャを含めることである。しかし、その結果、ファイルサイズの増加をもたらす。機能性とコーディング効率とのバランスをとるために、異なるビューポート/サブピクチャは、異なる頻度でIRAPピクチャを含み得る。例えば、視認される可能性が高いビューポートは、他のビューポートよりも多くのIRAPピクチャを有してもよい。例えば、バスケットボールのコンテキストでは、バスケット及び/又は中央コートに関係するビューポートは、スタンド又は天井を視認するビューポートがユーザによって視認される可能性が低いため、そのようなビューポートよりも高い頻度でIRAPピクチャ含んでもよい。
【0057】
このアプローチは、他の問題につながる。具体的には、IRAPピクチャの後のピクチャは、IRAPピクチャに先行するピクチャを参照しないように制約される。しかし、この制約はピクチャ・レベルで行われる。IRAP及び非IRAPサブピクチャの両方を含む混合NALユニットを含むピクチャは、ピクチャ・レベルではIRAPピクチャと見なされないことがある。したがって、このようなピクチャ・レベルの制約を適用しなくてもよい。これは、IRAPサブピクチャの後のピクチャの一部分が、IRAPピクチャに先行するピクチャを不適切に参照することにつながる可能性がある。このケースでは、IRAPサブピクチャは、参照ピクチャ/サブピクチャが利用できない可能性があるため、アクセス・ポイントとして適切に機能せず、IRAPサブピクチャの後のサブピクチャが復号可能であることを妨げる。さらに、IRAPサブピクチャは、非IRAPサブピクチャを、混合NALユニットを有する目的(例えば、異なる長さのインター・コーディングされるシーケンスは、サブピクチャ位置に依存する)を無効にするような参照から妨げるべきではない。
【0058】
本明細書では、ピクチャがIRAP NALユニットと非IRAP NALユニットの両方を含むときに、コーディング・エラーを軽減するメカニズムが開示される。具体的には、現在のピクチャのサブピクチャはIRAP NALユニットを含み得る。これが発生するときに、サブピクチャにも含まれる現在のピクチャの後のピクチャでのスライスは、現在のピクチャに先行する参照ピクチャを参照することが制限される。これは、IRAP NALユニットがサブピクチャ・レベルでのインター予測を壊す(例えば、インター予測参照チェーンを停止する)ことを確実にする。したがって、復号器は、IRAPサブピクチャで復号を始めることができる。後のピクチャにおけるサブピクチャに関連するスライスは常に復号することができる。これは、このようなスライスが(復号されていない)IRAPサブピクチャに先行する任意のデータを参照しないためである。このような制約は非IRAP NALユニットには適用されない。したがって、非IRAPデータを含むサブピクチャに対して、インター予測は壊されない。このように、開示されたメカニズムは、追加の機能性の実装を可能にする。例えば、開示されたメカニズムは、サブピクチャ・ビットストリームを使用するときに、サブピクチャ・レベルでの動的解像度の変化をサポートする。それゆえ、開示されたメカニズムは、ユーザ体験を有意に損なうことなく、VRビデオをストリーミングするときに、より低い解像度のサブピクチャ・ビットストリームが送信されることを可能にする。したがって、開示されたメカニズムは、コーディング効率を増加させ、それゆえ、符号化器及び復号器でのネットワーク・リソース、メモリ・リソース、及び/又は処理リソースの使用量を低減する。
【0059】
図1は、ビデオ信号をコーディングする例示的な方法100のフローチャートである。具体的には、ビデオ信号は符号化器で符号化される。符号化プロセスは、様々なメカニズムを使用することによってビデオ信号を圧縮して、ビデオ・ファイル・サイズを低減する。より小さいファイルサイズは、圧縮されたビデオ・ファイルがユーザに送信されることを可能にする一方で、関連する帯域幅オーバヘッドを低減する。次いで、復号器は、圧縮されたビデオ・ファイルを復号して、エンド・ユーザに表示するために元のビデオ信号を再構成する。復号プロセスは、一般に、符号化プロセスをミラーリングし、復号器がビデオ信号を一貫して再構成することを可能にする。
【0060】
ステップ101で、ビデオ信号が符号化器に入力される。例えば、ビデオ信号はメモリに記憶された圧縮されていないビデオ・ファイルであってもよい。別の例として、ビデオ・ファイルは、ビデオ・カメラなどのビデオ・キャプチャ・デバイスによってキャプチャされ、ビデオのライブ・ストリーミングをサポートするように符号化されてもよい。ビデオ・ファイルは、オーディオ・コンポーネントとビデオ・コンポーネントの両方を含み得る。ビデオ・コンポーネントは、シーケンスで視認されるときに視覚的なモーションの印象を与える一連の画像フレームを含む。フレームは、本明細書ではルマ・コンポーネント(又はルマ・サンプル)と呼ばれる光と、クロマ・コンポーネント(又は色サンプル)と呼ばれる色の観点で表現されるピクセルを含む。いくつかの例では、フレームは、三次元視認をサポートするための深度値も含み得る。
【0061】
ステップ103で、ビデオがブロックにパーティションニングされる。パーティショニングは、圧縮のために、各フレーム内のピクセルを正方形及び/又は長方形のブロックにサブ分割することを含む。例えば、高効率ビデオ・コーディング(HEVC)(H.265及びMPEG-H Part 2としても知られている)において、フレームは、最初に、所定のサイズ(例えば、64画素×64画素)のブロックである、コーディング・ツリー・ユニット(CTU)に分割することができる。CTUは、ルマ・サンプルとクロマ・サンプルの両方を含む。コーディング・ツリーを使用して、CTUをブロックに分割し、次いで、さらなる符号化をサポートする構成が達成されるまで、ブロックを再帰的にサブ分割してもよい。例えば、フレームのルマ・コンポーネントは、個々のブロックが比較的均一な光値を含むまで、サブ分割されてもよい。さらに、フレームのクロマ・コンポーネントは、個々のブロックが比較的均一な色値を含むまで、サブ分割されてもよい。したがって、パーティショニング・メカニズムはビデオ・フレームのコンテンツに依存して変化する。
【0062】
ステップ105で、ステップ103でパーティショニングされた画像ブロックを圧縮するために、様々な圧縮メカニズムが採用される。例えば、インター予測及び/又はイントラ予測が使用されてもよい。インター予測は、共通のシーンにおけるオブジェクトが連続したフレームに現れる傾向があるという事実を利用するように設計されている。したがって、参照フレームにおけるオブジェクトを示すブロックは、隣接するフレーム内に繰り返し記述される必要はない。具体的には、テーブルのようなオブジェクトは、複数のフレームにわたって一定の位置に留まることがある。それゆえ、テーブルは一回記述され、隣接するフレームは参照フレームに戻って参照することができる。パターン・マッチング・メカニズムを使用して、複数フレームにわたってオブジェクトをマッチングしてもよい。さらに、移動するオブジェクトは、例えば、オブジェクトの動き又はカメラの動きのために、複数のフレームにわたって表現されてもよい。特定の例として、ビデオは、複数のフレームにわたって画面を横切って移動する自動車を示してもよい。モーション・ベクトルを使用して、このような動きを記述することができる。モーション・ベクトルは、フレームにおけるオブジェクトの座標から参照フレームにおけるオブジェクトの座標へのオフセットを提供する二次元ベクトルである。このように、インター予測は、参照フレームにおける対応するブロックからのオフセットを示すモーション・ベクトルのセットとして、現在のフレームにおいて画像ブロックを符号化することができる。
【0063】
イントラ予測は、共通フレームにおけるブロックを符号化する。イントラ予測は、ルマ・コンポーネントとクロマ・コンポーネントがフレームにおいてクラスターとなる傾向があるという事実を利用する。たとえば、樹木の一部分における緑色のパッチは、同様の緑色のパッチに隣接して位置付けられる傾向がある。イントラ予測は、マルチ方向予測モード(例えば、HEVCにおいては33)、プラナー・モード、及びダイレクト・カレント(DC)モードを使用する。方向モードは、現在のブロックが、対応する方向における隣接ブロックのサンプルと同様/同じであることを示す。プラナー・モードは、行/列に沿った一連のブロック(例えば、平面)が、行の端における近隣のブロックに基づいて補間され得ることを示す。プラナー・モードは、事実上、値を変化させる際に比較的一定の傾きを使用することによって、行/列にわたる光/色の滑らかな遷移を示す。DCモードは境界平滑化のために使用され、ブロックが方向予測モードの角度方向に関連するすべての近隣のブロックのサンプルに関連する平均値と同様/同じであることを示す。したがって、イントラ予測ブロックは、実際の値の代わりに、様々な関係予測モード値としてピクチャ・ブロックを表現することができる。さらに、インター予測ブロックは、実際の値の代わりに、モ^ション・ベクトル値として画像ブロックを表現することができる。いずれのケースでも、予測ブロックは、いくつかのケースでは、画像ブロックを正確に表現しないことがある。差分は、すべて残差ブロックに記憶される。変換は、残差ブロックに適用されて、ファイルをさらに圧縮してもよい。
【0064】
ステップ107で、様々なフィルタリング技術が適用されてもよい。HEVCにおいて、フィルタは、ループ内フィルタリング・スキームに従って適用される。上記に論じたブロック・ベースの予測は、復号器でブロック状画像の生成をもたらすことがある。さらに、ブロック・ベースの予測スキームは、ブロックを符号化し、次いで、後で参照ブロックとして使用するために、符号化されたブロックを再構成してもよい。ループ内フィルタリング・スキームは、ノイズ抑制フィルタ、ブロック解除フィルタ、適応ループ・フィルタ、及びサンプル適応オフセット(SAO)フィルタをブロック/フレームに逐次適用する。これらのフィルタは、符号化されたファイルを正確に再構成することができるように、そのようなブロッキング・アーチファクトを軽減する。さらに、これらのフィルタは、再構成された参照ブロックにおけるアーチファクトを軽減し、アーチファクトは、再構成された参照ブロックに基づいて符号化される後続ブロックにおける追加のアーチファクトを生成する可能性が低くなるようにする。
【0065】
いったんビデオ信号がパーティショニングされ、圧縮され、フィルタリングされると、得られたデータはステップ109でビットストリームに符号化される。ビットストリームは、復号器での適切なビデオ信号再構成をサポートするのに望ましい任意の信号データと同様に、上記に論じたデータを含む。例えば、このようなデータは、パーティション・データ、予測データ、残差ブロック、及び復号器にコーディング命令を提供する様々なフラグを含み得る。ビットストリームは、要求により復号器に向かって送信するためにメモリに記憶されてもよい。ビットストリームはまた、複数の復号器に向かってブロードキャスト及び/又はマルチキャストされてもよい。ビットストリームの生成は反復プロセスである。したがって、ステップ101、103、105、107、及び109は、多くのフレーム及びブロックにわたって連続的に及び/又は同時に発生してもよい。図1に示された順序は、議論の明確さと容易さのために提示されており、ビデオ・コーディング・プロセスを特定の順序に限定することを意図したものではない。
【0066】
復号器は、ビットストリームを受信し、ステップ111で復号処理を始める。具体的には、復号器は、エントロピー復号スキームを使用して、ビットストリームを対応する構文データ及びビデオ・データに変換する。復号器は、ビットストリームからの構文データを使用して、ステップ111でフレームのパーティションを判定する。パーティショニングは、ステップ103でのブロック・パーティショニングの結果とマッチする。ステップ111で使用されるエントロピー・符号化/復号が、ここで説明される。符号化器は、入力画像内の値の空間的位置付けに基づいていくつかの考えられる選択からブロック・パーティショニング・スキームを選択するなど、圧縮プロセス中に多くの選択を行う。厳密な選択をシグナリングすることは、多数のビンを使用してもよい。本明細書で使用される場合、ビンは、変数として扱われるバイナリ値(例えば、コンテキストに応じて変化し得るビット値)である。エントロピー・コーディングは、符号化器が、許容可能なオプションのセットを残して、特定のケースに明らかに実行不可能な任意のオプションを破棄することを可能にする。各許容可能なオプションは、コード・ワードが割り当てられる。コード・ワードの長さは、許容可能なオプションの数(例えば、2つのオプションに対して1つのビン、3つから4つのオプションに対して2つのビンなど)に基づく。符号化器は、次いで、選択されたオプションに対してコード・ワードを符号化する。このスキームは、コード・ワードが、すべての考えられるオプションの考えられる大きなセットからの選択を一意に示すこととは対称的に、許容可能なオプションの小さなサブセットからの選択を一意に示すことが望ましい程度に大きいため、コード・ワードのサイズを低減する。次いで、復号器は、符号化器と同様の方法で許容可能なオプションのセットを判定することによって、選択を復号する。許容可能なオプションのセットを判定することによって、復号器は、コード・ワードを読み取り、符号化器によって行われた選択を判定することができる。
【0067】
ステップ113で、復号器はブロック復号を実行する。具体的には、復号器は、残差ブロックを生成するために逆変換を使用する。次いで、復号器は、残差ブロック及び対応する予測ブロックを使用して、パーティショニングに従って画像ブロックを再構成する。予測ブロックは、ステップ105において符号化器で生成されるように、イントラ予測ブロックとインター予測ブロックの両方を含んでもよい。次いで、再構成された画像ブロックは、ステップ111で判定されたパーティショニング・データに従って、再構成されたビデオ信号のフレーム内に位置決めされる。ステップ113のための構文はまた、上記に論じたのようにエントロピー符号化によってビットストリームにシグナリングされてもよい。
【0068】
ステップ115で、符号化器におけるステップ107と同様の方式で、再構成されたビデオ信号のフレームに対してフィルタリングが実行される。例えば、ノイズ抑制フィルタ、ブロック解除フィルタ、適応ループ・フィルタ、及びSAOフィルタがフレームに適用されて、ブロッキング・アーチファクトを除去してもよい。フレームがフィルタリングされると、ビデオ信号は、ステップ117で、エンド・ユーザによって視認するために、ディスプレイに出力され得る。
【0069】
図2は、ビデオ・コーディングのための例示的なコーディングおよび復号(コーデック)システム200の概略図である。具体的には、コーデック・システム200は、動作方法100の実装をサポートするための機能性を提供する。コーデック・システム200は、符号化器及び復号器の両方で使用されるコンポーネントを示すために一般化されている。コーデック・システム200は、動作方法100におけるステップ101及び103に関して論じたように、ビデオ信号を受信及びパーティショニングし、これは、パーティショニングされたビデオ信号201をもたらす。次いで、コーデック・システム200は、方法100におけるステップ105、107、及び109に関して論じたように、符号化器として作用するときに、パーティショニングされたビデオ信号201をコーディングされたビットストリームに圧縮する。復号器として作用する場合、コーデック・システム200は、動作方法100におけるステップ111、113、115、及び117に関して説明したように、ビットストリームからの出力ビデオ信号を生成する。コーデック・システム200は、汎用コーダ制御コンポーネント211、変換スケーリング及び量子化コンポーネント213、イントラ・ピクチャ推定コンポーネント215、イントラ・ピクチャ予測コンポーネント217、モーション補償コンポーネント219、モーション推定コンポーネント221、スケーリング及び逆変換コンポーネント229、フィルタ制御分析コンポーネント227、ループ内フィルタ・コンポーネント225、復号されたピクチャ・バッファ・コンポーネント223、並びにヘッダ・フォーマッティング及びコンテキスト適応二進算術コーディング(CABAC)コンポーネント231を含む。そのようなコンポーネントは、示されるように結合される。図2において、黒線は符号化/復号されるデータの移動を示し、破線は他のコンポーネントの動作を制御する制御データの移動を示す。コーデック・システム200のコンポーネントはすべて、符号化器内に存在してもよい。復号器は、コーデック・システム200のコンポーネントのサブセットを含み得る。例えば、復号器は、イントラ・ピクチャ予測コンポーネント217、モーション補償コンポーネント219、スケーリング及び逆変換コンポーネント229、ループ内フィルタ・コンポーネント225、及び復号されたピクチャ・バッファ・コンポーネント223を含み得る。ここでは、これらのコンポーネントについて説明する。
【0070】
パーティショニングされたビデオ信号201は、コーディング・ツリーによって画素のブロックに分割されているキャプチャされたビデオ・シーケンスである。コーディング・ツリーは、画素のブロックをより小さな画素のブロックにサブ分割するために、様々な分割モードを使用する。次いで、これらのブロックは、さらに、より小さなブロックにサブ分割され得る。ブロックは、コーディング・ツリー上のノードと呼ばれることがある。より大きな親ノードは、より小さな子ノードに分裂される。ノードがサブ分割される回数は、ノード/コーディング・ツリーの深さと呼ばれる。いくつかのケースでは、分割されたブロックは、コーディング・ユニット(CU)に含められ得る。例えば、CUは、CUのための対応する構文命令と一緒に、ルマ・ブロック、赤色差クロマ(Cr)ブロック、及び青色差クロマ(Cb)ブロックを含むCTUのサブ部分とすることができる。分裂モードは、ノードを、使用される分裂モードに依存して、変化する形状のそれぞれ2つ、3つ、又は4つの子ノードにパーティショニングするために使用されるバイナリ・ツリー(BT)、トリプル・ツリー(TT)、及びクワッド・ツリー(QT)を含み得る。パーティショニングされたビデオ信号201は、圧縮のために、汎用コーダ制御コンポーネント211、変換スケーリング及び量子化コンポーネント213、イントラ・ピクチャ推定コンポーネント215、フィルタ制御分析コンポーネント227、並びにモーション推定コンポーネント221に転送される。
【0071】
汎用コーダ制御コンポーネント211は、アプリケーションの制約に従って、ビデオ・シーケンスの画像をビットストリームにコーディングすることに関係する決定を行うように構成されている。例えば、汎用コーダ制御コンポーネント211は、ビットレート/ビットストリーム・サイズ対再構成品質の最適化を管理する。そのような決定は、記憶空間/帯域幅の可用性及び画像解像度要求に基づいて行われてもよい。汎用コーダ制御コンポーネント211はまた、バッファのアンダーラン及びオーバランの問題を軽減するために、伝送速度に照らしてバッファの利用を管理する。これらの問題を管理するために、汎用コーダ制御コンポーネント211は、他のコンポーネントによるパーティショニング、予測、及びフィルタリングを管理する。例えば、汎用コーダ制御コンポーネント211は、解像度を増加させ、帯域幅の使用を増加させるために圧縮の複雑性を動的に増加させることができ、又は、解像度及び帯域幅の使用を減少させるために圧縮の複雑性を減少させることができる。それゆえ、汎用コーダ制御コンポーネント211は、ビットレートの懸念とビデオ信号再構成品質とのバランスを取るために、コーデック・システム200の他のコンポーネントを制御する。汎用コーダ制御コンポーネント211は、他のコンポーネントの動作を制御する制御データを作成する。制御データはまた、復号器で復号するための信号パラメータにビットストリームにおいて符号化されるようにヘッダ・フォーマッティング及びCABACコンポーネント231に転送される。
【0072】
パーティショニングされたビデオ信号201はまた、インター予測のために、モーション推定コンポーネント221及びモーション補償コンポーネント219に送信される。パーティショニングされたビデオ信号201のフレーム又はスライスは、複数のビデオ・ブロックに分割されてもよい。モーション推定コンポーネント221及びモーション補償コンポーネント219は、時間的予測を提供するために、1つ以上の参照フレーム内の1つ以上のブロックに対して受信されたビデオ・ブロックのインター予測コーディングを実行する。コーデック・システム200は、例えばビデオ・データの各ブロックに対して適切なコーディング・モードを選択するために、複数のコーディング・パスを実行してもよい。
【0073】
モーション推定コンポーネント221及びモーション補償コンポーネント219は、高度に一体化されてもよいが、概念的な目的のために別々に示されている。モーション推定コンポーネント221によって実行されるモーション推定は、モーション・ベクトルを生成するプロセスであり、モーション・ベクトルは、ビデオ・ブロックのモーションを推定する。モーション・ベクトルは、例えば、予測ブロックに対するコーディングされたオブジェクトの変位を示してもよい。予測ブロックは、ピクセル差に関して、コーディングされるブロックに密接にマッチすることが見出されるブロックである。予測ブロックは、参照ブロックとも呼ばれることがある。このような画素差は、絶対差の和(SAD)、二乗差の和(SSD)、又は他の差分メトリックによって判定されてもよい。HEVCは、CTU、コーディング・ツリー・ブロック(CTB)、及びCUを含むいくつかのコーディングされたオブジェクトを使用する。例えば、CTUをCTBに分割することができ、次いで、CTBは、CUに含めるためにCBに分割される。CUは、予測データを含む予測ユニット(PU)及び/又はCUの変換残差データを含む変換ユニット(TU)として符号化できる。モーション推定コンポーネント221は、レート歪み最適化プロセスの一部としてレート歪み分析を使用することによって、モーション・ベクトル、PU、及びTUを生成する。例えば、モーション推定コンポーネント221は、現在のブロック/フレームに対する複数の参照ブロック、複数のモーション・ベクトルなどを判定し、最良のレート歪み特性を有する参照ブロック、モーション・ベクトルなどを選択してもよい。最良のレート歪み特性は、ビデオ再構成の品質(例えば、圧縮によるデータ損失量)とコーディング効率(例えば、最終符号化のサイズ)の両方のバランスをとる。
【0074】
いくつかの例では、コーデック・システム200は、復号されたピクチャ・バッファ・コンポーネント223に記憶された参照ピクチャのサブ整数画素位置の値を計算してもよい。例えば、ビデオ・コーデック・システム200は、参照画像の1/4画素位置、1/8画素位置、または他の分数画素位置の値を補間してもよい。したがって、モーション推定コンポーネント221は、全ピクセル位置及び分数ピクセル位置に対するモーション探索を実行し、分数ピクセル精度のモーション・ベクトルを出力してもよい。モーション推定コンポーネント221は、PUの位置を参照ピクチャの予測ブロックの位置と比較することにより、インター・コーディングされたスライス内のビデオ・ブロックのPUのモーション・ベクトルを計算する。モーション推定コンポーネント221は、計算された動きベクトルを、符号化のためのヘッダ・フォーマッティング及びCABACコンポーネント231へのモーション・データとモーション補償コンポーネント219へのモーションとして計算されたモーション・ベクトルを出力する。
【0075】
モーション補償コンポーネント219によって実行されるモーション補償は、モーション推定コンポーネント221によって判定されたモーション・ベクトルに基づいて予測ブロックをフェッチまたは生成することを伴ってもよい。繰り返しになるが、いくつかの例では、モーション推定コンポーネント221およびモーション補償コンポーネント219が機能的に一体化されてもよい。現在のビデオ・ブロックのPUに対するモーション・ベクトルを受信すると、モーション補償コンポーネント219は、モーション・ベクトルが指し示す予測ブロックの位置を特定してもよい。次いで、コーディングされている現在のビデオ・ブロックの画素値から予測ブロックの画素値を減算し、ピクセル差値を形成することによって、残差ビデオ・ブロックが形成される。一般に、モーション推定コンポーネント221は、ルマ・コンポーネントに対するモーション推定を実行し、モーション補償コンポーネント219は、クロマ・コンポーネントとルマ・コンポーネントの両方に対するルマ・コンポーネントに基づいて計算されたモーション・ベクトルを使用する。予測ブロック及び残差ブロックは、変換のためにスケーリング及び量子化コンポーネント213に転送される。
【0076】
パーティショニングされたビデオ信号201はまた、イントラ・ピクチャ推定コンポーネント215及びイントラ・ピクチャ予測コンポーネント217に送信される。モーション推定コンポーネント221及びモーション補償コンポーネント219と同じように、イントラ・ピクチャ推定コンポーネント215及びイントラ・ピクチャ予測コンポーネント217は、高度に一体化されてもよいが、概念的な目的のために別々に示されている。イントラ・ピクチャ推定コンポーネント215及びイントラ・ピクチャ予測コンポーネント217は、上述のように、フレーム間のモーション推定コンポーネント221及びモーション補償コンポーネント219によって実行されるインター予測の代替として、現在のフレーム内のブロックに対する現在のブロックをイントラ予測する。特に、イントラ・ピクチャ推定コンポーネント215は、現在のブロックを符号化するために使用するイントラ予測モードを判定する。いくつかの例では、イントラ・ピクチャ推定コンポーネント215は、複数のテストされたイントラ・ピクチャ予測モードから現在のブロックを符号化するために、適切なイントラ予測モードを選択する。次いで、選択されたイントラ予測モードが、符号化のためにヘッダ・フォーマッティング及びCABACコンポーネント231に転送される。
【0077】
例えば、イントラ・ピクチャ推定コンポーネント215は、様々なテストされたイントラ・ピクチャ予測モードに対してレート歪み分析を使用して、レート歪み値を計算し、テストされたモードのうち最良のレート歪み特性を有するイントラ予測モードを選択する。レート歪み分析は、一般に、符号化されたブロックと、符号化されたブロックを生成するために符号化されるオリジナルの符号化されていないブロックとの間の歪み(またはエラー)の量、および符号化されたブロックを生成するために使用されるビットレート(例えば、ビットの数)を判定する。イントラ・ピクチャ推定コンポーネント215は、様々な符号化ブロックに対する歪み及びレートから比を計算し、ブロックに対してどのイントラ予測モードが最良のレート歪み値を示すかを判定してもよい。追加的に、イントラ・ピクチャ推定コンポーネント215は、レート歪み最適化(RDO)に基づく深度モデリング・モード(DMM)を使用して深度マップの深度ブロックをコーディングするように構成されてもよい。
【0078】
イントラ・ピクチャ予測コンポーネント217は、符号化器に実装されたときにはイントラ・ピクチャ推定コンポーネント215によって判定された選択されたイントラ・ピクチャ予測モードに基づいて予測ブロックから残余ブロックを生成するか、または復号器に実装されたときにはビットストリームから残余ブロックを読み取ってもよい。残差ブロックは、行列として表される予測ブロックとオリジナルのブロックとの間の値の差を含む。次いで、残差ブロックは、変換スケーリング及び量子化コンポーネント213に転送される。イントラ・ピクチャ推定コンポーネント215及びイントラ・ピクチャ予測コンポーネント217は、ルマ・コンポーネント及びクロマ・コンポーネントの両方に対して動作してもよい。
【0079】
変換スケーリング及び量子化コンポーネント213は、残差ブロックをさらに圧縮するように構成されている。変換スケーリング及び量子化コンポーネント213は、離散コサイン変換(DCT)、離散サイン変換(DST)、又は概念的に類似した変換などの変換を残差ブロックに適用して、残差変換係数値を含むビデオ・ブロックを生成する。ウェーブレット変換、整数変換、サブバンド変換、または他のタイプの変換も使用され得る。変換は、残差情報をピクセル値ドメインから変換ドメイン、例えば周波数ドメインに変換してもよい。変換スケーリング及び量子化コンポーネント213はまた、変換された残差情報を、例えば周波数に基づいてスケーリングするように構成されている。そのようなスケーリングは、異なる周波数情報が異なる粒度で量子化されるように、残差情報にスケールファクタを適用することを伴い、これは、再構成されたビデオの最終的な視覚品質に影響を及ぼす可能性がある。変換スケーリング及び量子化コンポーネント213はまた、ビットレートをさらに低下させるために変換係数を量子化するように構成されている。量子化プロセスは、係数の一部又はすべてに関連するビット深度を低減してもよい。量子化の程度は、量子化パラメータを調整することによって修正されてもよい。いくつかの例では、変換スケーリング及び量子化コンポーネント213は、次いで、量子化された変換係数を含む行列の走査を実行してもよい。量子化された変換係数は、ビットストリームで符号化されるようにヘッダ・フォーマッティング及びCABACコンポーネント231に転送される。
【0080】
スケーリング及び逆変換コンポーネント229は、モーション推定をサポートするために変換スケーリング及び量子化コンポーネント213の逆動作を適用する。スケーリング及び逆変換コンポーネント229は、例えば、後で別の現在のブロックの予測ブロックとなり得る参照ブロックとして使用するために、逆スケーリング、変換、及び/又は量子化を適用して、画素領域における残留ブロックを再構成する。モーション推定コンポーネント221及び/又はモーション補償コンポーネント219は、後のブロック/フレームのモーション推定に使用するために、残差ブロックを対応する予測ブロックに加算することによって参照ブロックを計算してもよい。フィルタは、スケーリング、量子化、及び変換の間に生成されるアーチファクトを軽減するために、再構成された参照ブロックに適用される。そうでなければ、このようなアーチファクトは、後続のブロックが予測されたときに不正確な予測を引き起こす(かつ追加のアーチファクトを作成する)可能性がある。
【0081】
フィルタ制御分析コンポーネント227及びループ内フィルタ・コンポーネント225は、残差ブロック及び/又は再構成された画像ブロックにフィルタを適用する。例えば、スケーリング及び逆変換コンポーネント229からの変換された残留ブロックを、イントラ・ピクチャ予測コンポーネント217及び/又はモーション補償コンポーネント219からの対応する予測ブロックと組み合わせて、オリジナルの画像ブロックを再構成してもよい。次いで、フィルタは、再構成された画像ブロックに適用されてもよい。いくつかの例において、フィルタは、代わりに、残差ブロックに適用されてもよい。図2の他のコンポーネントと同じように、フィルタ制御分析コンポーネント227及びループ内フィルタ・コンポーネント225は、高度に一体化されており、一緒に実装されてもよいが、概念的な目的のために別々に示されている。再構成された参照ブロックに適用されるフィルタは、特定の空間領域に適用され、そのようなフィルタが適用される方法を調整するために複数のパラメータを含む。フィルタ制御分析コンポーネント227は、再構成された参照ブロックを分析して、そのようなフィルタを適用すべき場所を判定し、対応するパラメータをセットする。このようなデータは、符号化のためのフィルタ制御データとしてヘッダ・フォーマッティング及びCABACコンポーネント231に転送される。ループ内フィルタ・コンポーネント225は、フィルタ制御データに基づいてそのようなフィルタを適用する。フィルタは、ブロック解除フィルタ、ノイズ抑制フィルタ、SAOフィルタ、及び適応ループ・フィルタを含み得る。そのようなフィルタは、例に応じて、空間/画素ドメイン(例えば、再構成された画素ブロック)又は周波数ドメインにおいて適用され得る。
【0082】
符号化器として動作する場合、フィルタリングされた再構成されたピクチャ・ブロック、残差ブロック、及び/又は予測ブロックは、上記で論じたように動作推定に後で使用するために、復号されたピクチャ・バッファ・コンポーネント223に記憶される。復号器として動作するとき、復号されたピクチャ・バッファ・コンポーネント223は、再構成されフィルタリングされたブロックを記憶し、出力ビデオ信号の一部として、ディスプレイに向かって転送する。復号されたピクチャ・バッファ・コンポーネント223は、予測ブロック、残差ブロック、及び/又は再構成された画像ブロックを記憶することができる任意のメモリ・デバイスであってもよい。
【0083】
ヘッダ・フォーマッティング及びCABACコンポーネント231は、コーデック・システム200の様々なコンポーネントからデータを受信し、復号器に向かって伝送するために、そのようなデータをコーディングされたビットストリームに符号化する。具体的には、ヘッダ・フォーマッティング及びCABACコンポーネント231は、汎用制御データ及びフィルタ制御データなどの制御データを符号化するための様々なヘッダを生成する。さらに、イントラ予測及びモーション・データを含む予測データ、ならびに量子化変換係数データの形式の残差データは、すべてビットストリームにおいて符号化される。最終的なビットストリームは、オリジナルのパーティショニングされたビデオ信号201を再構成するために復号器によって望まれるすべての情報を含む。そのような情報は、また、イントラ予測モード・インデックス・テーブル(コード・ワード・マッピング・テーブルとも呼ばれる)、様々なブロックに対する符号化コンテキストの定義、最も可能性の高いイントラ予測モードの表示、パーティション情報の表示などを含み得る。このようなデータは、エントロピー符号化を使用して符号化されてもよい。例えば、コンテキスト適応可変長コーディング(CAVLC)、CABAC、構文ベースのコンテキスト適応バイナリ算術コーディング(SBAC)、確率間隔パーティショニング・エントロピー(PIPE)コーディング、又は別のエントロピー符号化技術を使用して、情報が符号化されてもよい。エントロピー符号化の後、コーディングされたビットストリームは、別のデバイス(例えば、ビデオ復号器)に送信されるか、又は後の送信又は検索のためにアーカイブされてもよい。
【0084】
図3は、例示的なビデオ符号化器300を示すブロック図である。ビデオ符号化器300は、コーデック・システム200の符号化機能を実装するため、及び/又は動作方法100のステップ101、103、105、107、及び/又は109を実装するために使用されてもよい。符号化器300は、入力ビデオ信号をパーティショニングし、パーティショニングされたビデオ信号201と実質的に同様であるパーティショニングされたビデオ信号301をもたらす。次いで、パーティショニングされたビデオ信号301は、符号化器300のコンポーネントによって圧縮され、ビットストリームに符号化される。
【0085】
具体的には、パーティショニングされたビデオ信号301は、イントラ予測のために、イントラ・ピクチャ予測コンポーネント317に転送される。イントラ・ピクチャ予測コンポーネント317は、イントラ・ピクチャ推定コンポーネント215及びイントラ・ピクチャ予測コンポーネント217と実質的に同様であり得る。また、パーティショニングされたビデオ信号301は、復号されたピクチャ・バッファ・コンポーネント323における参照ブロックに基づくインター予測のために、モーション補償コンポーネント321に転送される。モーション補償コンポーネント321は、モーション推定コンポーネント221及びモーション補償コンポーネント219と実質的に同様であり得る。イントラ・ピクチャ予測コンポーネント317及びモーション補償コンポーネント321からの予測ブロック及び残差ブロックは、残差ブロックの変換及び量子化のために変換及び量子化コンポーネント313に転送される。変換及び量子化コンポーネント313は、変換スケーリング及び量子化コンポーネント213と実質的に同様であり得る。変換され量子化された残差ブロック及び対応する予測ブロック(関連する制御データと一緒に)は、ビットストリームへのコーディングのためにエントロピー・コーディング・コンポーネント331に転送される。エントロピー・コーディング・コンポーネント331は、ヘッダ・フォーマッティング及びCABACコンポーネント231と実質的に同様であり得る。
【0086】
変換され量子化された残差ブロック及び/又は対応する予測ブロックも、モーション補償コンポーネント321によって使用するための参照ブロックへの再構成のために、変換及び量子化コンポーネント313から逆変換及び量子化コンポーネント329に転送される。逆変換及び量子化コンポーネント329は、スケーリング及び逆変換コンポーネント229と実質的に同様であり得る。ループ内フィルタ・コンポーネント325内のループ内フィルタはまた、例に応じて、残差ブロック及び/又は再構成された参照ブロックにも適用される。ループ内フィルタ・コンポーネント325は、実質的に、フィルタ制御分析コンポーネント227及びループ内フィルタ・コンポーネント225と同様であり得る。ループ内フィルタ・コンポーネント325は、ループ内フィルタ・コンポーネント225に関して論じられたように、複数のフィルタを含み得る。次いで、フィルタリングされたブロックは、モーション補償コンポーネント321によって参照ブロックとして使用するために、復号されたピクチャ・バッファ・コンポーネント323に記憶される。復号されたピクチャ・バッファ・コンポーネント323は、復号されたピクチャ・バッファ・コンポーネント223と実質的に同様であってもよい。
【0087】
図4は、例示的なビデオ復号器400を示すブロック図である。ビデオ復号器400は、コーデック・システム200の復号機能を実装するため、及び/又は動作方法100のステップ111、113、115、及び/又は117を実装するために使用されてもよい。復号器400は、例えば符号化器300からビットストリームを受信し、エンド・ユーザに表示するためにビットストリームに基づいて再構成された出力ビデオ信号を生成する。
【0088】
ビットストリームはエントロピー復号コンポーネント433によって受信される。エントロピー復号コンポーネント433は、CAVLC、CABAC、SBAC、PIPEコーディング、又は他のエントロピー・コーディング技術などのエントロピー復号スキームを実装するように構成されている。例えば、エントロピー復号コンポーネント433は、ビットストリームにおいてコード・ワードとして符号化された追加データを解釈するためのコンテキストを提供するために、ヘッダ情報を使用することができる。復号された情報は、汎用制御データ、フィルタ制御データ、パーティション情報、モーション・データ、予測データ、及び残差ブロックからの量子化変換係数のなど、ビデオ信号を復号するための任意の所望の情報を含む。量子化された変換係数は、残差ブロックに再構成するために、逆変換及び量子化コンポーネント429に転送される。逆変換及び量子化コンポーネント429は、逆変換及び量子化コンポーネント329と同様であり得る。
【0089】
再構成された残差ブロック及び/又は予測ブロックは、内部予測動作に基づいて画像ブロックに再構成するために、イントラ・ピクチャ予測コンポーネント417に転送される。イントラ・ピクチャ予測コンポーネント417は、イントラ・ピクチャ推定コンポーネント215及びイントラ・ピクチャ予測コンポーネント217と実質的に同様であり得る。具体的には、イントラ・ピクチャ予測コンポーネント417は、フレーム内の参照ブロックを位置特定するために予測モードを使用し、残差ブロックを結果に適用して、イントラ予測された画像ブロックを再構成する。再構成されたイントラ予測された画像ブロック及び/又は残差ブロック及び対応するインター予測されたデータは、復号されたピクチャ・バッファ・コンポーネント423に、ループ内フィルタ・コンポーネント425を介して転送され、このコンポーネントは、復号されたピクチャ・バッファ・コンポーネント223及びループ内フィルタ・コンポーネント225にそれぞれ実質的に類似であり得る。ループ内フィルタ・コンポーネント425は、再構成された画像ブロック、残差ブロック及び/又は予測ブロックをフィルタリングし、そのような情報は復号されたピクチャ・バッファ・コンポーネント423に記憶される。復号されたピクチャ・バッファ・コンポーネント423からの再構成されたピクチャ・ブロックは、インター予測のためにモーション補償コンポーネント421に転送される。モーション補償コンポーネント421は、モーション推定コンポーネント221及び/又はモーション補償コンポーネント219と実質的に同様であり得る。具体的には、モーション補償コンポーネント421は、参照ブロックからのモーション・ベクトルを使用して予測ブロックを生成し、残留ブロックを結果に適用して画像ブロックを再構成する。得られた再構成されたブロックは、ループ内フィルタ・コンポーネント425を介して復号されたピクチャ・バッファ・コンポーネント423に転送されてもよい。復号されたピクチャ・バッファ・コンポーネント423は、追加の再構成された画像ブロックを記憶し続け、これらは、パーティション情報を介してフレームに再構成され得る。このようなフレームは、シーケンスに位置付けられてもよい。そのシーケンスは、再構成された出力ビデオ信号としてディスプレイ向かって出力される。
【0090】
図5は、VRピクチャ・ビデオ・ストリーム500から分裂された複数のサブピクチャ・ビデオ・ストリーム501、502、及び503を示す概略図である。例えば、サブピクチャ・ビデオ・ストリーム501~503及び/又はVRピクチャ・ビデオ・ストリーム500は、方法100に従って、コーデック・システム200及び/又は符号化器300などの符号化器によって符号化されてもよい。さらに、サブピクチャ・ビデオ・ストリーム501~503及び/又はVRピクチャ・ビデオ・ストリーム500は、コーデック・システム200及び/又は復号器400などの復号器によって復号されてもよい。
【0091】
VRピクチャ・ビデオ・ストリーム500は、経時的に提示される複数のピクチャを含む。具体的には、VRは、ユーザが球の中心にいるかのように表示することができるビデオ・コンテンツの球をコーディングすることによって動作する。各ピクチャは、球全体を含む。一方、ビューポートとして知られるピクチャの一部分のみがユーザに表示される。例えば、ユーザは、ユーザのヘッドの動きに基づいて球のビューポートを選択し表示するヘッド・マウント・ディスプレイ(HMD)を使用してもよい。これは、ビデオによって示された仮想空間に物理的に存在するという印象を提供する。この結果を達成するために、ビデオ・シーケンスの各ピクチャは、対応する瞬間での球全体のビデオ・データを含む。しかし、ピクチャの小さな部分(例えば、単一のビューポート)だけがユーザに表示される。ピクチャの残りの部分はレンダリングされずに破棄される。ピクチャ全体は、一般に、ユーザのヘッドの動きに応答して、異なるビューポートが動的に選択され、表示することができるように送信される。
【0092】
図示の例では、VRピクチャ・ビデオ・ストリーム500のピクチャは、各々、利用可能なビューポートに基づいてサブピクチャにサブ分割することができる。したがって、各ピクチャ及び対応するサブピクチャは、提示の一部としてピクチャ・オーダ・カウントを含む。サブピクチャ・ビデオ・ストリーム501~503は、サブ分割が経時的に一貫して適用されるときに作成される。このような一貫性のあるサブ分割は、サブピクチャ・ビデオ・ストリーム501~503を作成し、各ストリームは、VRピクチャ・ビデオ・ストリーム500における対応するピクチャに対する所定のサイズ、形状、及び空間位置のサブピクチャのセットを含む。さらに、サブピクチャ・ビデオ・ストリーム501~503におけるサブピクチャは、提示時間にわたってピクチャ・オーダ・カウントが変化する。このように、サブピクチャ・ビデオ・ストリーム501~503のサブピクチャは、提示時間に対するピクチャ順序に基づいて整列させることができる。次いで、各ピクチャ・オーダ・カウント値でのサブピクチャ・ビデオ・ストリーム501~503からのサブピクチャを、表示のためにVRピクチャ・ビデオ・ストリーム500を再構成するために、事前定義された空間位置に基づいて空間領域においてマージすることができる。具体的には、サブピクチャ・ビデオ・ストリーム501~503は、各々、別々のサブビットストリームに符号化することができる。そのようなサブビットストリームが一緒にマージされるとき、それらは提示時間にわたってピクチャのセット全体を含むビットストリームをもたらす。得られたビットストリームは、現在選択されているユーザのビューポートに基づいて復号及び表示するために復号器に向かって送信することができる。
【0093】
VRビデオの問題の一つは、サブピクチャ・ビデオ・ストリーム501~503のすべてが高品質(例えば、高解像度)でユーザに送信され得ることである。これにより、復号器は、ユーザの現在のビューポートを動的に選択し、対応するサブピクチャ・ビデオ・ストリーム501~503からのサブピクチャをリアルタイムで表示することが可能となる。しかしながら、ユーザは、例えば、サブピクチャ・ビデオ・ストリーム501からの単一のビューポートのみを視認してもよく、一方で、サブピクチャ・ビデオ・ストリーム502~503は破棄される。このように、サブピクチャ・ビデオ・ストリーム502~503を高品質で送信することは、有意の量の帯域幅を無駄にすることがある。コーディング効率を改善するために、VRビデオは、各ビデオ・ストリーム500が異なる品質/解像度で符号化される複数のビデオ・ストリーム500に符号化されてもよい。このようにして、復号器は、現在のサブピクチャ・ビデオ・ストリーム501に対する要求を送信することができる。これに応答して、符号化器(又は中間スライサ若しくは他のコンテンツサーバ)は、より高い品質のビデオ・ストリーム500からより高い品質のサブピクチャ・ビデオ・ストリーム501を選択し、より低い品質のビデオ・ストリーム500からより低い品質のサブピクチャ・ビデオ・ストリーム502~503を選択することができる。次いで、符号化器は、復号器に送信するために、このようなサブビットストリームを一緒に完全に符号化されたビットストリームにマージすることができる。このようにして、復号器は、現在のビューポートがより高い品質であり、他のビューポートがより低い低い品質である一連のピクチャを受信する。さらに、最高品質のサブピクチャは、一般に、(頭の動きのない)ユーザに表示され、より低い品質のサブピクチャは、一般に、破棄され、これは、機能性とコーディング効率とのバランスを取る。
【0094】
ユーザがサブピクチャ・ビデオ・ストリーム501からサブピクチャ・ビデオ・ストリーム502に視認するように向きを変えるケースでは、復号器は、新しいサブピクチャ・ビデオ・ストリーム502が高品質で送信されることを要求する。次いで、符号化器は、それに応じてマージ・メカニズムを変更することができる。復号器は、IRAPピクチャでのみ新しいCVSの復号を始めることができる。これは、IRAPピクチャが、別のピクチャを参照しないイントラ予測に従ってコーディングされるためである。それゆえ、IRAPピクチャに先行するピクチャが利用できなくても、IRAPピクチャを復号することができる。非IRAPピクチャは、インター予測に従って符号化される。このように、非IRAPピクチャは、参照ピクチャ・リストに基づいて対応する参照ピクチャのセットを最初に復号することなしには復号することができない。したがって、復号器は、一般に、非IRAPピクチャでビデオ・シーケンスの復号を始めることができない。これらの制約のために、サブピクチャ・ビデオ・ストリーム502は、IRAPピクチャ/サブピクチャに到達するまで、より低い品質で表示される。次いで、IRAPピクチャは、より高い品質で復号され、高い品質のバージョンのサブピクチャ・ビデオ・ストリーム502の復号を始めることができる。このアプローチは、ユーザの視認体験に悪影響を与えることなく、ビデオ圧縮を有意に向上させる。
【0095】
上記のアプローチの1つの関心事は、解像度を変更するのに必要な時間の長さが、ビデオ・ストリームにおいてIRAPピクチャに到達するまでの時間の長さに基づいていることである。これは、復号器が、非IRAPピクチャで異なるバーションのサブピクチャ・ビデオ・ストリーム502の復号を始めることができないためである。このようなレイテンシを低減する1つのアプローチは、より多くのIRAPピクチャを含めることである。しかし、その結果、ファイルサイズの増加をもたらす。機能性とコーディング効率とのバランスをとるために、異なるビューポート/サブピクチャ・ビデオ・ストリーム501~503は、異なる頻度でIRAPピクチャを含み得る。例えば、視認される可能性の高いビューポート/サブピクチャ・ビデオ・ストリーム501~503は、他のビューポート/サブピクチャ・ビデオ・ストリーム501~503よりも多くのIRAPピクチャを有してもよい。例えば、バスケットボールのコンテキストでは、バスケット及び/又は中央コートに関係するビューポート/サブピクチャ・ビデオ・ストリーム501~503は、スタンド又は天井がユーザによって視認される可能性が低いため、そのようなビューポート/サブピクチャ・ビデオ・ストリーム501~503よりも高い頻度でIRAPピクチャ含んでもよい。
【0096】
このアプローチは、追加的な問題につながる。具体的には、POCを共有するサブピクチャ・ビデオ・ストリーム501~503からのサブピクチャは、単一ピクチャの一部である。上記のように、ピクチャからのスライスは、ピクチャ・タイプに基づいてNALユニットに含まれる。いくつかのビデオ・コーディング・システムでは、単一ピクチャに関係するすべてのNALユニットは、同じNALユニット・タイプを含むように制約される。異なるサブピクチャ・ビデオ・ストリーム501~503が異なる頻度でIRAPピクチャを有するときに、ピクチャのうちのいくつかは、IRAPサブピクチャと非IRAPサブピクチャの両方を含む。これは、各単一ピクチャが同じタイプのNALユニットのみを使用するべきであるという制約に違反する。
【0097】
この問題は、ピクチャにおけるスライスに対するすべてのNALユニットが同じNALユニット・タイプを使用するという制約を取り除くことによって対処することができる。例えば、ピクチャはアクセス・ユニットに含まれる。この制約を取り除くことによって、アクセス・ユニットは、IRAP NALユニット・タイプと非IRAP NALユニット・タイプの両方を含み得る。さらに、ピクチャ/アクセス・ユニットがIRAP NALユニット・タイプと非IRAP NALユニット・タイプの混合を含むときを示すために、フラグを符号化することができる。いくつかの例では、フラグはピクチャにおける混合NALユニット・タイプ・フラグ(mixed_nalu_types_in_pic_flag)である。追加的に、単一の混合ピクチャ/アクセス・ユニットが1つのタイプのIRAP NALユニットと1つのタイプの非IRAP NALユニットのみを含み得ることを要求するために、制約が適用されてもよい。これにより、意図しないNALユニットのタイプの混合が発生することを防止する。このような混合が許容される場合、復号器は、このような混合を管理するように設計されなければならない。これは、コーディング・プロセスに追加的な利点を提供することなく、必要とされるハードウェアの複雑さを不必要に増加させるだろう。例えば、混合ピクチャは、IDR_W_RADL、IDR_N_LP、又はCRA_NUTから選択された1つのタイプのIRAP_NALユニットを含み得る。さらに、混合ピクチャは、TRAIL_NUT、RADL_NUT、及びRASL_NUTから選択された1つのタイプの非IRAP NALユニットを含み得る。
【0098】
図6は、現在のピクチャが混合NALユニット・タイプを含む場合に使用される制約600を示す概略図である。制約600は、VRピクチャ・ビデオ・ストリーム500をコーディングするときに適用され得る。このように、制約600は、方法100を適用するコーデック・システム200及び/又は符号化器300などの符号化器によって使用されてもよい。さらに、制約600は、方法100を適用するコーデック・システム200及び/又は復号器400などの復号器によって採用されてもよい。制約600は、ビデオ・データに課される、サポート・パラメータに課される、及び/又はビデオ・データのコーディング及び/又は復号に関係するプロセスに課される要件である。
【0099】
具体的には、図6は、サブピクチャに分割された一連のピクチャを示す。サブピクチャは、サブピクチャA(subpicA)601及びサブピクチャB(subpicB)603として示される。サブピクチャ、以後subpicA601及びsubpicB603は、ピクチャのシーケンス内の1つ以上のスライスの矩形及び/又は正方形領域である。subpicA601及びsubpicB603は、図5のサブピクチャ・ビデオ・ストリーム501~503のいずれかなどのサブピクチャ・ビデオ・ストリームに含まれてもよい。説明を明瞭にするために、2つのサブピクチャのみが示されているが、任意の数のサブピクチャが使用されてもよい。
【0100】
ピクチャは、フレーム又はそのフィールドを生成するルマ・サンプルのアレイ及び/又はクロマ・サンプルのアレイである。ピクチャは、復号順序650において符号化及び/又は復号される。復号順序は、構文要素が復号プロセスによって処理される順序である。復号順序が進行するにつれて、復号処理はピクチャを介して進行する。説明を明瞭にするために、特定の瞬間で現在符号化/復号されているピクチャを、現在のピクチャ620と呼ぶ。既に符号化/復号されたピクチャは、先行するピクチャ610である。まだ復号されていないピクチャは、後続のピクチャ630及び/又は640である。図6に示すように、ピクチャは一貫してsubpicA601とsubpicB603にパーティショニングされる。それゆえ、先行するピクチャ610、現在のピクチャ620、及び後続のピクチャ630及び640の各々は、subpicA601及びsubpicB603にパーティショニングされる、及び/又はそれらを含む。
【0101】
上述のように、いくつかの例では、IRAPサブピクチャは、異なる頻度で適用されてもよい。図示の例では、現在のピクチャ620は、同じNALユニット・タイプを有さない複数のVCL NALユニットを含む。具体的には、現在のピクチャ620におけるsubpicAは、IRAP NALユニット621を含み、一方で、現在のピクチャ620におけるsubpicB603は、非IRAP NALユニット623を含む。IRAP NALユニット621は、IRAPピクチャ又はサブピクチャからのデータを含むデータ構造である。IRAPピクチャ/サブピクチャは、イントラ予測に従って符号化されるピクチャ/サブピクチャであり、これは、復号器が、IRAPピクチャ/サブピクチャに先行するピクチャを参照することなく、対応するピクチャ/サブピクチャにおいてビデオ・シーケンスの復号を開始することができることを示す。IRAP NALユニット621は、CRA NALユニット及び/又はIDR NALユニットを含み得る。CRAピクチャ/サブピクチャは、DPBをリフレッシュしないIRAPピクチャ/サブピクチャであり、IDRピクチャ/サブピクチャは、DPBをリフレッシュするIRAPピクチャ/サブピクチャである。非IRAP NALユニット623は、IRAPピクチャ/サブピクチャを含まない任意のVCL NALユニットである。例えば、非IRAP NALユニット623は、先導ピクチャ、例えば、ランダム・アクセス・スキップ・リーディング(RASL)ピクチャ、ランダム・アクセス復号可能リーディング(RADL)ピクチャ、又はトレーリング・ピクチャを含み得る。リーディング・ピクチャは、提示順序において、IRAPピクチャを先行し、復号順序650において、IRAPピクチャの後に発生する。トレーリング・ピクチャは、提示順序及び復号順序の両方において、IRAPピクチャの後に発生する。非IRAP NALユニット623は、インター予測に従ってコーディングされてもよい。このように、現在のピクチャ620は、subpicB603におけるインター・ピクチャ予測及びsubpicA601におけるイントラ予測の両方に従ってコーディングされる。
【0102】
先行するピクチャ610は、非IRAP NALユニット611及び非IRAP NALユニット613を含み、後続のピクチャ630は、非IRAP NALユニット631及び非IRAP NALユニット633を含み、後続のピクチャ640は、非IRAP NALユニット641及び非IRAP NALユニット643を含む。非IRAP NALユニット611、613、631、633、641、及び643は、非IRAP NALユニット623と同様であってもよい(例えば、インター予測に従って符号化されてもよい)が、異なるビデオ・データを含み得る。
【0103】
現在のピクチャ620は、同じNALユニット・タイプを持たないVCL NALユニットを含むため、現在のピクチャ620は、混合NALユニット・ピクチャである。混合NALユニット・ピクチャの存在は、ビットストリームにおけるパラメータ・セットにおけるフラグによってシグナリングすることができる。制約600は、現在のピクチャ620などの混合NALユニット・ピクチャに遭遇したときに適用される。
【0104】
符号化中、符号化器は、現在のピクチャ620でのsubpicA601がIRAP NALユニット・タイプに関連し、それゆえ、IRAP NALユニット621を含むと判定することができる。これは、現在のピクチャ620でのsubpicA601が境界として作用すべきであり、subpicA601でのインター予測が現在のピクチャ620を横切って参照することを防止することを示す。それゆえ、非IRAP NALユニット631は、非IRAP NALユニット611又はIRAP NALユニット621に先行する任意の他のNALユニットを参照することができない。符号化器は、subpicA601に位置付けられた現在のピクチャのすべてのスライスが、同じNALユニット・タイプに関連することを確実にすることによって、現在のピクチャ620を符号化することができる。例えば、subpicAが少なくとも1つのCRAスライス(又はIDRスライス)を含むときに、subpicA601内のすべてのスライスもCRA(又はIDR)でなければならない。次いで、現在のピクチャ620(IRAP NALユニット621及び非IRAP NALユニット623を含む)のスライスは、NALユニット・タイプ(例えば、それぞれ、イントラ予測及びインター予測)に基づいて符号化される。復号順序650で現在のピクチャ620に続く後続のピクチャ630及び640も符号化される。IRAP NALユニット621がインター予測伝播を防止することを確実にするために、非IRAP NALユニット631及び641は、先行するピクチャ610を参照すること(632)が防止される。参照すること632は、参照ピクチャ・リストによって制御され、参照ピクチャ・リストのアクティブ・エントリは、現在コーディングされているピクチャに対して利用可能な参照ピクチャを示す。このように、制約600は、後続のピクチャ630及び640(例えば、非IRAP NALユニット631及び641)におけるsubpicAに位置付けられたスライスに関連するアクティブ・エントリが、現在のピクチャ620におけるsubpicA601がIRAP NALユニット・タイプを有するIRP NALユニット621に関連するときに、復号順序650において、現在のピクチャ620に先行する任意の参照ピクチャを参照しないこと/参照すること632をしないことを確実にする。非IRAP NALユニット631は、現在のピクチャ620及び/又は後続のピクチャ640を依然として参照することが可能である。さらに、非IRAP NALユニット641は、現在のピクチャ620及び/又は後続のピクチャ630を依然として参照することが可能である。これは、非IRAP NALユニット631及び641がsubpicAにおけるIRAP NALユニット621に従うため、非IRAP NALユニット631及び641に対するインター予測伝播を停止する。次いで、後続のピクチャ630及び/又は640は、NALユニット・タイプに基づいて、及び制約600に従って符号化することができる。
【0105】
このような制約600は、非IRAP NALユニット633及び643には適用されない。これは、それらがsubpicB603に位置しており、それゆえsubpicB603におけるIRAP NALユニットに従わない。したがって、非IRAP NALユニット633及び643は、先行するピクチャ610を参照すること634をしてもよい。したがって、非IRAP NALユニット633及び643に関連する参照ピクチャ・リストのアクティブ・エントリは、それぞれ、先行するピクチャ610、現在のピクチャ620、及び/又は後続のピクチャ640又は630を参照してもよい。このようにして、インター予測は、IRAP NALユニット621によって、subpicAに対しては壊されるが、IRAP NALユニット621は、subpicB603に対するインター予測伝播を停止しない。それゆえ、制約600を採用することによって、サブピクチャごとのベースでインター予測チェーンを停止する(又は停止しない)ことができる。上記のように、2つのサブピクチャのみが示されている。しかしながら、制約600は、サブピクチャごとのベースでインター相互参照チェーンの伝播を停止するために、任意の数のサブピクチャに適用することができる。
【0106】
図7は、参照ピクチャ・リストを含む例示的な参照ピクチャ・リスト(RPL)構造700を示す概略図である。RPL構造700は、一方向インター予測及び/又は双方向インター予測において使用される参照ピクチャの表示を記憶するために使用することができる。それゆえ、RPL構造700は、方法100を実行するときに、コーデック・システム200、符号化器300、及び/又は復号器400によって使用することができる。さらに、RPL構造700は、VRピクチャ・ビデオ・ストリーム500をコーディングするときに使用されてもよく、そのケースでは、RPL構造700は、制約600に従って符号化されてもよい。
【0107】
RPL構造700は、RPL0 711及びRPL1 712などの複数の参照ピクチャ・リストを含むアドレス可能な構文構造である。RPL構造700は、対応するスライスをコーディングするときの使用のためにコーディング及び/又は導出されてもよい。RPL構造700は、例に応じて、ビットストリームのSPS及び/又はスライス・ヘッダに記憶されてもよい。RPL0 711及びRPL1 712などの参照ピクチャ・リストは、インター予測に使用される参照ピクチャを示すリストである。RPL0 711及びRPL1 712は各々、複数のエントリ715を含み得る。RPL構造エントリ715は、RPL0 711及び/又はRPL1 712などの参照ピクチャ・リストに関連する参照ピクチャを示すRPL構造700においてアドレス指定可能な位置である。各エントリ715は、インター予測に使用されるピクチャを参照するピクチャ・オーダ・カウント(POC)値(又は他のポインタ値)を含み得る。具体的には、一方向インター予測によって使用されるピクチャへの参照はRPL0 711に記憶され、双方向インター予測によって使用されるピクチャへの参照はRPL0 711とRPL1 712の両方に記憶される。例えば、双方向インター予測は、RPL0 711によって示される1つの基準ピクチャ及びRPL1 712によって示される1つの基準ピクチャを使用してもよい。
【0108】
特定の例では、RPL構造700は、ref_pic_list_struct(listIdx, rplsIdx)として示すことができ、リスト・インデックス(listIdx)721は、参照ピクチャ・リストRPL0 711及び/又はRPL1 712を識別し、参照ピクチャ・リスト構造インデックス(rplsIdx)725は、参照ピクチャ・リストにおけるエントリ715を識別する。したがって、ref_pic_list_structは、listIdx721及びrplsIdx725に基づいてエントリ715を返す構文構造である。符号化器は、ビデオ・シーケンスにおける各非イントラ・コーディングされたスライスに対してRPL構造700の一部分を符号化することができる。次いで、復号器は、コーディングされたビデオ・シーケンスにおいて各非イントラ・コーディングされたスライスを復号する前に、RPL構造700の対応する部分を解決することができる。インター予測に従って現在のピクチャをコーディングするときに使用に利用可能である参照ピクチャを示すエントリ715は、アクティブ・エントリと呼ばれる。現在のピクチャに使用できないエントリ715は、非アクティブ・エントリと呼ばれる。
【0109】
図8は、混合NALユニット・タイプを有するピクチャを含む例示的なビットストリーム800を示す概略図である。例えば、ビットストリーム800は、方法100に従って、コーデック・システム200及び/又は復号器400による復号のためにコーデック・システム200及び/又は符号化器300によって生成することができる。さらに、ビットストリーム800は、複数のビデオ解像度で複数のサブピクチャ・ビデオ・ストリーム501~503からマージされたVRピクチャ・ビデオ・ストリーム500を含み得る。さらに、ビットストリーム800は、制約600に従ってコーディングされたRPL構造700を含み得る。
【0110】
ビットストリーム800は、シーケンス・パラメータ・セット(SPS)810、複数のピクチャ・パラメータ・セット(PPS)811、複数のスライス・ヘッダ815、及び画像データ820を含む。SPS810は、ビットストリーム800に含まれるビデオ・シーケンスにおけるすべてのピクチャに共通のシーケンス・データを含む。このようなデータは、ピクチャ・サイズ、ビット深度、コーディング・ツール・パラメータ、ビット速度制限などを含むことができる。PPS811は、ピクチャ全体に適用されるパラメータを含む。それゆえ、ビデオ・シーケンスにおける各ピクチャは、PPS811を参照し得る。各ピクチャはPPS811を参照する一方で、単一のPPS811は、いくつかの例において複数のピクチャのためのデータを含むことができることに留意されたい。例えば、複数の類似のピクチャは、類似のパラメータに従ってコーディングされてもよい。このようなケースでは、単一のPPS811は、このような類似のピクチャのためのデータを含み得る。PPS811は、対応するピクチャ、量子化パラメータ、オフセットなどにおけるスライスに利用可能なコーディング・ツールを示すことができる。スライス・ヘッダ815は、ピクチャにおける各スライスに特有のパラメータを含む。それゆえ、ビデオ・シーケンスにおいて、スライス当たり1つのスライス・ヘッダ815があってもよい。スライス・ヘッダ815は、スライス・タイプ情報、ピクチャ・オーダ・カウント(POC)、参照ピクチャ・リスト、予測重み、タイル・エントリ・ポイント、ブロック解除パラメータなどを含み得る。スライス・ヘッダ815は、いくつかのコンテキストにおいて、タイル・グループ・ヘッダとも呼ばれることがあることに留意されたい。
【0111】
画像データ820は、インター予測及び/又はイントラ予測に従って符号化されたビデオ・データ、ならびに対応する変換及び量子化された残差データを含む。例えば、ビデオ・シーケンスは、画像データ820としてコーディングされた複数のピクチャ821を含む。ピクチャ821は、ビデオ・シーケンスの単一フレームであり、それゆえ、ビデオ・シーケンスを表示するときには、一般に単一ユニットとして表示される。しかしながら、サブピクチャ823は、仮想現実などの特定の技術を実装するために表示されてもよい。ピクチャ821は各々、PPS811を参照する。ピクチャ821は、サブピクチャ823、タイル、及び/又はスライスに分割されてもよい。サブピクチャ823は、コーディングされたビデオ・シーケンスにわたって一貫して適用されるピクチャ821の空間領域である。したがって、サブピクチャ823は、VRコンテキストにおいてHMDによって表示されてもよい。さらに、サブピクチャ・ビデオ・ストリーム501~503から、対応する解像度で、指定されたPOCを有するサブピクチャ823が取得されてもよい。サブピクチャ823は、SPS810を参照してもよい。いくつかのシステムでは、スライス825はタイルを含むタイル・グループと呼ばれる。スライス825及び/又はタイルのタイル・グループは、スライス・ヘッダ815を参照する。スライス825は、単一のNALユニットに排他的に含まれる整数個の完全タイル又はピクチャ821のタイル内の整数個の連続する完全コーディング・ツリー・ユニット(CTU)行として定義されてもよい。それゆえ、スライス825は、さらにCTU及び/又はコーディング・ツリー・ブロック(CTB)に分割される。CTU/CTBはさらにコードツリーに基づいてコーディング・ブロックに分割される。次いで、コーディング・ブロックは、予測メカニズムに従って符号化/復号されてもよい。
【0112】
パラメータ・セット及び/又はスライス825はNALユニットにおいてコーディングされる。NALユニットは、従うべきデータのタイプの表示と、必要に応じてエミュレーション防止バイトが散在するRBSPの形式のそのデータを含むバイトを含む構文構造として定義されてもよい。より具体的には、NALユニットは、ピクチャ821のパラメータ・セット又はスライス825及び対応するスライス・ヘッダ815を含む記憶ユニットである。具体的には、VCL NALユニット840は、ピクチャ821のスライス825及び対応するスライス・ヘッダ815を含むNALユニットである。さらに、非VCL NALユニット830は、SPS810及びPPS811などのパラメータ・セットを含む。いくつかのタイプのNALユニットが使用され得る。例えば、SPS810及びPPS811は、それぞれ、SPS NALユニット・タイプ(SPS_NUT)831及びPPS NALユニット・タイプ(PPS_NUT)832に含まれてもよく、これらは両方とも非VCL NALユニット830である。このように、復号器はビットストリーム800からSPS_NUT831を読み取って、符号化器によってコーディングされたSPS810を取得することができる。同様に、復号器はビットストリーム800からPPS_NUT832を読み取って、符号化器によってコーディングされたPPS811を取得することができる。
【0113】
IRAPピクチャ/サブピクチャのスライス825は、IRAP NALユニット845に含まれ得る。非IRAPピクチャ/サブピクチャのスライス825、例えば、リーディング・ピクチャ及びトレーリング・ピクチャは、非IRAP NALユニット849に含まれ得る例えば、スライス825は、単一のVCL NALユニット840に含まれ得る。次いで、VCL NALユニット840には、スライス825を含むピクチャ821及び/又はサブピクチャ823のタイプに基づくタイプ識別子が割り当てられ得る。例えば、CRAサブピクチャであるサブピクチャ823から取られたスライス825は、CRA_NUT843に含まれる。ビットストリーム800は、いくつかのタイプのIRAP NALユニット845を含み、それゆえ、リーディング・ピクチャのないIDR、ランダム・アクセス復号可能リーディング(RADL)ピクチャを有するIDR、及びCRAピクチャを含むピクチャ/サブピクチャ・タイプを含む。ビットストリーム800はまた、いくつかのタイプの非IRAP NALユニット849を含み、それゆえ、ランダム・アクセス・スキップ・リーディング(RASL)ピクチャ、RADLピクチャ、及びトレーリング・ピクチャを含むピクチャ/サブピクチャ・タイプを含む。
【0114】
リーディング・ピクチャは、復号順序において、IRAPピクチャの後にコーディングされ、提示順序において、そのピクチャの前にコーディングされるピクチャである。IRAP NALユニット845は、IRAPピクチャ又はサブピクチャから取得されたスライス825を含む任意のNALユニットである。非IRAP NALユニット849は、IRAPピクチャ又はサブピクチャ(例えば、リーディング・ピクチャ又はトレーリング・ピクチャ)ではない任意のピクチャから撮影されたスライス825を含む任意のNALユニットである。IRAP NALユニット845及び非IRAP NALユニット849は、両方ともスライスデータを含むため、両方ともVCL NALユニット840である。例示的な実施形態では、IRAP NALユニット845は、IDR_N_LP NALユニット841又はIDR_w_RADL NALユニット842にそれぞれ、リーディング・ピクチャなしのIDRピクチャ又はRADLピクチャに関連するIDRからのスライス825を含み得る。さらに、IRAP NALユニット845は、CRA_NUT 843におけるCRAピクチャからのスライス825を含み得る。例示的な実施形態では、非IRAP NALユニット849は、RASL_NUT 846、RADL_NUT 847、又はTRAIL_NUT 848にそれぞれ、RASLピクチャ、RADLピクチャ、又はトレーリング・ピクチャからのスライス825を含み得る。例示的な実施形態では、考えられるNALユニットの完全なリストが、NALユニットのタイプによってソートされたものとして以下に示される。
【表1-1】

【表1-2】
【0115】
上記のように、VRビデオ・ストリームは、異なる頻度でIRAPピクチャを有するサブピクチャ823を含み得る。これにより、ユーザが見る可能性の低い空間領域に対してより少ないIRAPピクチャが使用され、ユーザがよく視認する可能性の高い空間領域に対してより多くのIRAPピクチャが使用されることが可能となる。このようにして、ユーザが定期的に切り替えて戻ってくる可能性が高い空間領域を、より高い解像度に迅速に調整することができる。このアプローチが、IRAP NALユニット845及び非IRAP NALユニット849の両方を含むピクチャ821をもたらすときに、ピクチャ821は、混合ピクチャと呼ばれる。この状態は、ピクチャ・フラグ(mixed_nalu_types_in_pic_flag)827における混合NALユニット・タイプによってシグナリングすることができる。mixed_nalu_types_in_pic_flag827は、PPS811においてセットされてもよい。さらに、mixed_nalu_types_in_pic_flag827は、PPS811を参照する各ピクチャ821が複数のVCL NALユニット840を有し、VCL NALユニット840が同じ値のNALユニット・タイプ(nal_unit_type)を有しないことを指定するときに1に等しくセットされてもよい。さらに、mixed_nalu_types_in_pic_flag827は、PPS811を参照する各ピクチャ821が複数のVCL NALユニット840を有し、各ピクチャ821のVCL NALユニット840がすべて同じ値のnal_unit_typeを有するときに0に等しくセットされてもよい。
【0116】
さらに、mixed_nalu_types_in_pic_flag827がセットされたときに、ピクチャ821のサブピクチャ823のうちの1つ以上のVCL NALユニット840がすべてNALユニット・タイプの第1の特定の値を有し、ピクチャ821における他のVCL NALユニット840がすべて、NALユニット・タイプの異なる第2の特定の値を有するように、様々な制約が使用されてもよい。例えば、制約は、混合ピクチャ821が単一タイプのIRAP NALユニット845及び単一タイプの非IRAP NALユニット849を含むことを要求してもよい。例えば、ピクチャ821は、1つ以上のIDR_N_LP NALユニット841、1つ以上のIDR_w_RADL NALユニット842、又は1つ以上のCRA_NUT843を含むことができるが、そのようなIRAP NALユニット845の任意の組み合わせは含むことができない。さらに、ピクチャ821は、1つ以上のRASL_NUT846、1つ以上のRADL_NUT847、又は1つ以上のTRAIL_NUT848を含むことができるが、そのようなIRAP NALユニット845の任意の組み合わせは含むことができない。追加的に、サブピクチャ823は、1つのタイプのみのVCL NALユニット840に制約されてもよい。さらに、制約600は、ビットストリーム800において使用されるVCL NALユニット840のタイプに基づいて、サブピクチャ823に適用されてもよい。
【0117】
先行する情報は、本明細書において、以下でより詳細に説明される。ビデオ・コーデック仕様では、復号プロセスを定義するために、ピクチャ・タイプが識別されてもよい。これには、ピクチャ識別(例えば、POC)の導出のため、(DPB)における参照ピクチャ状態のマーキングのため、DPBからのピクチャの出力のためなどを含み得る。
【0118】
AVCとHEVCでは、コーディングされたピクチャを含むNALユニット・タイプからピクチャ・タイプを識別できる。AVCのピクチャ・タイプは、IDRピクチャ及び非IDRピクチャを含む。HEVCにおけるピクチャ・タイプは、トレーリング・ピクチャ、時間的サブレイヤ・アクセス・ピクチャ(TSA)、段階的時間的サブレイヤ・アクセス・ピクチャ(STSA)、ランダム・アクセス復号可能リーディング・ピクチャ(RADL)、ランダム・アクセス・スキップ・リーディング・ピクチャ(RASL)、ブロークン・リンク・アクセス・ピクチャ(BLA)、IDR、及びCRAを含む。HEVCにおけるこれらのピクチャ・タイプの各々は、サブレイヤ参照ピクチャ又はサブレイヤ非参照ピクチャとしてさらに区別することができる。BLAピクチャは、リーディング・ピクチャを有するBLA、RADLピクチャを有するBLAピクチャ、リーディング・ピクチャなしのBLAピクチャを含む。IDRピクチャは、RADLピクチャを有するIDRと、リーディング・ピクチャなしのIDRを含むことができる。
【0119】
HEVCでは、IDR、BLA及びCRAピクチャがIRAPピクチャである。VVCは、IRAPピクチャとしてIDRピクチャとCRAピクチャを使用する。IRAPピクチャは、以下の機能/利点を提供する。IRAPピクチャの存在は、復号プロセスがそのピクチャから開始できることを示す。この機能性は、IRAPピクチャがある位置に存在する限り、復号プロセスをビットストリームにおけるその位置で開始することを可能にするランダム・アクセス機能をサポートする。位置はビットストリームの始まりにおけるものではないかもしれない。IRAPピクチャ402の存在は、RASLピクチャを除くIRAPピクチャの後のコーディングされるピクチャが、先行するIRAPピクチャへのいかなる参照なしにコーディングされるように、復号プロセスをリフレッシュする。それゆえ、IRAPピクチャは、復号順序において、IRAPピクチャの前に発生するエラーが、IRAPピクチャの後のピクチャに伝播することを防止する。
【0120】
IRAPピクチャは、上述の機能を提供するが、圧縮効率に対するペナルティをもたらす。IRAPピクチャの存在は、ビットレートにおけるサージも引き起こす。圧縮効率に対するこのペナルティは、2つの原因を有する。第1に、IRAPピクチャはイントラ予測ピクチャであり、それゆえ、IRAPピクチャはインター予測ピクチャよりも多くのビットで表現される。第2に、IRAPピクチャの存在は、参照ピクチャがDPBから除去されるときに、復号プロセスをリフレッシュすることによって時間的予測を壊すことがある。これは、インター予測のために利用可能な参照ピクチャが少なくなるにつれて、IRAPピクチャの後のピクチャのコーディングの効率性が低下することをもたらすことがある。
【0121】
HEVCにおけるIDRピクチャは、他のピクチャ・タイプとは異なって導出され、シグナリングされてもよい。相違点のいくつかは以下のようである。IDRピクチャのPOC値をシグナリング及び導出するときに、POCの最上位ビット(MSB)は、前のキー・ピクチャから導出されるのではなく、0に等しくセットされてもよい。さらに、IDRピクチャのスライス・ヘッダは、参照ピクチャ管理を補助するための情報を含んでいないことがある。CRA及びトレーリングなどの他のピクチャ・タイプに対して、参照ピクチャ・セット(RPS)又は参照ピクチャ・リストが参照ピクチャ・マーキング・プロセスのために使用されてもよい。このプロセスは、DPBにおける参照ピクチャのステータスを、参照のために使用されるか、参照のために使用されないかを判定するために使用される。IDRピクチャでは、IDRの存在は、復号プロセスがDPBにおけるすべての参照ピクチャを参照のために使用されていないものとしてマークすべきであることを示すため、そのような情報は、シグナリングされなくてもよい。
【0122】
ピクチャ・タイプに追加して、ピクチャ識別も複数の目的のために使用される。これは、インター予測における基準ピクチャのピクチャ識別、DPBからの出力のためのピクチャの識別、モーション・ベクトルのスケーリングのためのピクチャの識別、重み付き予測のためのピクチャの識別などを含む。AVCとHEVCにおいて、ピクチャはPOCによって識別することができる。AVC及びHEVCにおいて、DPBにおける写真は、短期参照に使用されるもの、長期参照に使用されるもの、又は参照に使用されないものとしてマークすることができる。ピクチャが参照のために使用されないとマークされると、もはや予測のためにそのピクチャを使用することができない。ピクチャがもはや出力に不要になったときに、DPBからそのピクチャを削除することができる。AVCは、短期及び長期の参照ピクチャを使用する。参照ピクチャは、そのピクチャが予測参照のためにもはや必要とされないときに、参照に使用されないものとしてマークされてもよい。参照のために短期、長期、及び使用されないことの間の変換は、復号された参照ピクチャ・マーキング・プロセスによって制御される。暗示的なスライディング・ウィンドウ・プロセス及び明示的なメモリ管理制御動作(MMCO)プロセスを、復号された参照ピクチャ・マーキング・メカニズムとして使用することができる。スライディング・ウィンドウ・プロセスは、参照フレームの数がSPSにおいて指定された最大数に等しいときに、参照に使用されないものとして短期参照ピクチャをマークする。短期参照ピクチャは、最新の復号された短期ピクチャがDPBに保持されるように、先入れ先出し方式で記憶される。明示的なMMCOプロセスは、複数のMMCOコマンドを含むことができる。MMCOコマンドは、参照に使用されないものとして1つ以上の短期又は長期の参照ピクチャをマークするか、又は参照に使用されないものとしてすべてのピクチャをマークしてもよい。また、MMCOコマンドは、現在の参照ピクチャ又は既存の短期参照ピクチャを長期としてマークし、その長期参照ピクチャに長期ピクチャインデックスを割り当ててもよい。AVCにおいて、参照ピクチャ・マーキング動作、ならびにDPBからのピクチャの出力及び除去のプロセスは、ピクチャが復号された後に実行される。
【0123】
HEVCは、参照ピクチャ管理のためにRPSを使用する。RPSは、各スライスに対して、現在のピクチャ又は任意の後続のピクチャによって使用される参照ピクチャの完全なセットを含み得る。したがって、RPSは、現在又は後続のピクチャによって使用するためにDPBに保持されるべきすべてのピクチャの完全なセットをシグナリングする。これは、DPBに対する相対的な変化のみがシグナリングされるAVCスキームとは異なる。RPSは、DPB内の参照ピクチャの正確な状態を維持するために、復号において以前のピクチャからの情報を維持しないことがある。HEVCにおけるピクチャ復号の順序とDPB動作は、RPSの利点を利用し、誤り耐性を改善する。AVCでは、ピクチャ・マーキング及びバッファ動作は、現在のピクチャが復号された後に適用されてもよい。HEVCでは、RPSは、最初に現在のピクチャのスライス・ヘッダから復号される。次いで、現在のピクチャを復号する前に、ピクチャ・マーキングとバッファ動作が適用される。
【0124】
VVCは、参照ピクチャ・リスト0及び参照ピクチャ・リスト1を直接シグナリング及び導出してもよい。参照ピクチャ・リストは、HEVC及びAVCのように、RPS、スライディング・ウィンドウ、又はMMCOプロセスに基づかない。参照ピクチャ・マーキングは、参照ピクチャ・リスト内のアクティブ及び非アクティブ・エントリの両方を利用することによって、参照ピクチャ・リスト0及び1に直接基づいて実行される。アクティブ・エントリのみが、現在のピクチャのCTUのインター予測における参照インデックスとして使用されてもよい。2つの参照ピクチャ・リストの導出のための情報は、SPS、PPS、及びスライス・ヘッダ内の構文要素及び構文構造によってシグナリングされる。事前定義されたRPL構造は、スライス・ヘッダにおける参照によって使用するために、SPSでシグナリングされる。2つの参照ピクチャ・リストは、双方向インター予測(B)、一方向インター予測(P)、及びイントラ予測(I)スライスを含むすべてのタイプのスライスに対して生成される。2つの参照ピクチャ・リストは、参照ピクチャ・リスト初期化プロセス又は参照ピクチャ・リスト修正プロセスを使用せずに構成される。長期参照ピクチャ(LTRP)はPOC LSBによって識別される。デルタPOC MSBサイクルは、ピクチャごとのベースで望まれるように、LTRPに対してシグナリングされてもよい。
【0125】
HEVCは、パーティショニング・スキームとして、レギュラー・スライス、従属スライス、タイル、及びウェーブ・フロント並列処理(WPP)を使用することができる。これらのパーティショニング・スキームは、最大転送ユニット(MTU)サイズのマッチング、並列処理、及びエンド・ツー・エンド遅延の低減に適用されてもよい。各レギュラー・スライスは、別々のNALユニットにカプセル化されてもよい。エントロピー・コーディング依存性と、イントラ・サンプル予測、モーション情報予測、及びコーディング・モード予測を含むピクチャ内予測は、スライス境界を超えては無効にされてもよい。したがって、同じピクチャ内で他のレギュラー・スライスから独立して、レギュラー・スライスを再構成することができる。しかしながら、スライスは、ループ・フィルタリング操作により、依然としていくつかの相互依存性を有してもよい。
【0126】
レギュラー・スライスベースの並列化は、重要なプロセッサ間通信又はコア間通信を必要としないことがある。1つの例外は、プロセッサ間及び/又はコア間データ共有が、予測的にコーディングされたピクチャを復号するときに、モーション補償のために重要であり得ることである。このようなプロセスは、ピクチャ内予測により、プロセッサ間又はコア間データ共有よりも多くの処理リソースを伴うことがある。しかしながら、同じ理由のために、レギュラー・スライスの使用は、スライス・ヘッダのビット・コストにより、及びスライス境界を超えた予測の欠如により、実質的なコーディング・オーバヘッドを負う可能性がある。さらに、レギュラー・スライスは、レギュラー・スライスのピクチャ内独立性により、及び各レギュラー・スライスが別々のNALユニットにカプセル化されるという事実により、MTUサイズ要件にマッチするビットストリーム・パーティショニングのためのメカニズムとして機能する。多くの場合、並列化の目標とMTUサイズ・マッチングの目標は、ピクチャにおけるスライス・レイアウトに対する矛盾した要求を提起する。
【0127】
従属スライスは短いスライス・ヘッダを有し、ピクチャ内予測を壊すことなく、ツリー・ブロック境界でビットストリームのパーティショニングを可能にする。従属スライスは、レギュラー・スライスの複数のNALユニットへの断片化を提供する。これは、レギュラー・スライス全体の符号化が終了する前に、レギュラー・スライスの一部を送信することを可能にすることにより、エンド・ツー・エンド遅延を低減する。
【0128】
WPPにおいて、ピクチャはCTBの単一行にパーティショニングされる。エントロピー復号と予測は、他のパーティションにおけるCTBからのデータを使用するしてもよい。CTB行の並列復号を介して並列処理が可能である。CTB行の復号の開始は、例に応じて、1つ又は2つのCTBによって遅延してもよく、これは、対称のCTBが復号される前に、対象のCTBの上方及び右方に関係するデータが利用可能であることを確実にする。このずらした配置の開始は、波面の外見を作成する。このプロセスは、ピクチャにCTB行を含むのと同じくらい多くのプロセッサ/コアまでの並列化をサポートする。ピクチャ内の近隣のツリー・ブロック行間のピクチャ内予測が許容されるため、ピクチャ内予測を可能にするためのプロセッサ間/コア間通信は実質的とすることができる。WPPパーティショニングは、追加のNALユニットの生成をもたらさない。したがって、WPPはMTUサイズ・マッチングのために使用されなくてもよい。ただし、MTUサイズのマッチングが必要な場合、特定のコーディング・オーバヘッドを有するWPPでレギュラー・スライスが使用され得る。
【0129】
タイルは、ピクチャをタイルの列と行にパーティショニングする水平および垂直の境界を定義する。CTBの走査順序は、タイルのCTBラスタ差往査の順序で、タイル内でローカルであってもよい。したがって、タイルは、ピクチャのタイル・ラスタ走査の順序において、次のタイルの左上のCTBを復号する前に完全に復号されてもよい。レギュラー・スライスと同様に、タイルは、エントロピー復号依存性だけでなく、ピクチャ内予測依存性も壊す。しかしながら、タイルは個々のNALユニットには含まれなくてもよい。したがって、タイルはMTUサイズ・マッチングのために使用されなくてもよい。各タイルは、1つのプロセッサ/コアによって処理され得る。近隣のタイルを復号する処理ユニット間のピクチャ内予測のために使用されるプロセッサ間/コア間通信は、スライスが複数のタイル及び再構成されたサンプル及びメタデータのループ・フィルタリング関係の共有を含むときに、共有されたスライス・ヘッダを搬送することに制限され得る。複数のタイル又はWPPセグメントがスライスに含まれるときに、スライスにおける最初のタイル又はWPPセグメント以外の各タイル又はWPPセグメントに対するエントリ・ポイント・バイト・オフセットが、スライス・ヘッダにおいてシグナリングされてもよい。
【0130】
簡単のために、HEVCは、4つの異なるピクチャ・パーティショニング・スキームの適用に特定の制限を使用する。コーディングされたビデオ・シーケンスは、HEVCで指定されるプロファイルのほとんどに対してタイルと波面の両方を含まないことがある。さらに、スライス及び/又はタイルごとに、以下の条件のいずれか又は両方が満たれなくてはならない。スライス内のすべてのコーディングされたツリー・ブロックは、同じタイルに含まれる。さらに、タイル内のすべてのコーディングされたツリー・ブロックは、同じタイルに含まれる。追加的に、波面セグメントは正確に1つのCTB行を含む。WPPを使用しているときに、CTB行内で開始するスライスは、同じCTB行で終了するべきである。
【0131】
HEVCは、時間的モーション制約タイル・セット(MCTS)補足強化情報(SEI)メッセージ、MCTS抽出情報セットSEIメッセージ、及びMCTS抽出情報ネスティングSEIメッセージを含み得る。時間的MCTS SEIメッセージは、ビットストリームにおいてMCTSの存在を示し、MCTSをシグナリングする。MCTSごとに、モーション・ベクトルは、MCTS内の完全サンプル位置、及び補間のためのMCTS内の完全サンプル位置のみを使用する分数サンプル位置を指し示すように制限される。MCTS外のブロックから導出された時間的モーション・ベクトル予測のためのモーション・ベクトル候補の使用は、許容されない。このように、各MCTSは、MCTSに含まれないタイルの存在なしに独立して復号され得る。MCTS抽出情報セットSEIメッセージは、MCTSサブビットストリーム抽出で使用され、MCTSセットの準拠するビットストリームを生成することができる補足情報を提供する。情報は、MCTSサブビットストリーム抽出プロセス中に使用されるべき置換ビデオ・パラメータ・セット(VPS)、SPS、及びPPSのRBSPバイトを含む、ある数のMCTSセットを各々定義するある数の抽出情報セットを含む。MCTSサブビットストリーム抽出プロセスに従ってサブビットストリームを抽出するときに、VPS、SPS、及びPPSなどのパラメータ・セットは、書き換え又は置き換えられてもよい。1つ以上のスライスアドレス関係の構文要素がサブビットストリーム抽出の後に異なる値をことがあるため、スライス・ヘッダも更新されてもよい。
【0132】
VVCは、以下に説明されるようにピクチャをパーティショニングしてもよい。ピクチャは、タイル・グループとタイルに分割されてもよい。タイルは、ピクチャの矩形領域をカバーするCTUのシーケンスであってもよい。タイル・グループは、スライスとしても知られ、ピクチャのある数のタイルを含んでもよい。スライス/タイル・グループは、ラスタ走査モード及び矩形モードに従って構成されてもよい。ラスタ走査モードでは、タイル・グループ/スライスは、ピクチャ境界に対するラスタ走査順序におけるタイルのシーケンスを含む。矩形モードでは、タイル・グループ/スライスは、ピクチャの矩形領域を集合的に形成するある数のタイルを含む。矩形タイル・グループ内のタイルは、タイル・グループ/スライスに対するラスタ走査順序に含まれる。
【0133】
360度のビデオ・アプリケーション(例えば、VR)は、コンテンツの球の一部のみを表示してもよく、結果として、ピクチャ全体のサブセットのみを表示してもよい。ビューポートに依存する360度配信は、DASH上のVRビデオ配信におけるビットレートを低減するために採用され得る。ビューポートに依存するコーディングは、球全体/投影されるピクチャ(例えば、キューブマップ投影を使用して)を複数のMCTSに分割してもよい。次いで、2つ以上のビットストリームは、異なる空間解像度又は品質で符号化されてもよい。より高い解像度/品質のビットストリームからのMCTSは、表示されるビューポート(例えば、フロント・ビューポート)のために復号器に送信される。残りのビューポートは、より低い解像度/品質のビットストリームからのMCTSを使用する。これらのMCTSは、特定の方式でパックされ、次いで、復号されるために受信機に送信される。ユーザが一般的に見られるビューポートは、高解像度/品質のMCTSで表され、良好な視認体験を提供する。利用者が別のビューポート(例えば、左又は右のビューポート)を見るように向きを変えるときに、表示されるコンテンツは、低い解像度/品質のビューポートに由来する。これは、システムがそのビューポートのための高解像度/品質のMCTSをフェッチするまで、短期間継続する。
【0134】
ユーザが向きをかえるときの時間とビューポートのより高い解像度/品質の表現が表示されるときの時間との間に遅延が発生する。この遅延は、システムがそのビューポートのための高解像度/品質のMCTSをどれだけ速くフェッチできるかに基づく。これは、2つのIRAPの発生間隔であるIRAP期間に依存する。これは、新しいビューポートのMCTSは、IRAPピクチャから開始してのみ復号可能であるからである。IRAP期間が1秒ごとにコーディングされる場合、以下が適用される。遅延の最良のシナリオは、システムが新しいセグメント/IRAP期間のフェッチを開始する直前に、ユーザが新しいビューポートを見るために向きを変えるときのネットワーク・ラウンドトリップ遅延と同じである。このシナリオにおいて、システムは、新しいビューポートのために高い解像度/品質のMCTSをすぐに要求し得る。したがって、唯一の遅延は、ネットワーク・ラウンドトリップ遅延であり、これは、フェッチ要求の遅延に、要求されたMCTSの送信時間を加算したものを含む。これは、最小バッファ遅延がゼロ又は他の無視できる値にセットできることを想定する。ネットワーク・ラウンドトリップ遅延は、例えば、約200ミリ秒であり得る。遅延の最悪のシナリオは、IRAP期間に、システムが次のセグメントの要求を行った後すぐにユーザが新しいビューポートを見るために向きを変えるときのネットワーク・ラウンドトリップ遅延を加算したものである。上記の最悪のシナリオを改善するために、IRAP期間が短くなるように、より頻繁なIRAPピクチャでビットストリームを符号化することができる。これは、全体的な遅延を減少させる。しかしながら、より多くのIRAPピクチャは帯域幅を増加させ、それゆえ、圧縮効率を低下させる。
【0135】
混合NALユニット・タイプは、ピクチャのすべてのVCL NALユニットが同じNALユニット・タイプを有するかどうかを指定するPPSフラグを追加することによって、ピクチャ内で使用されてもよい。特定のピクチャに対して、すべてのVCL NALユニットが同じNALユニット・タイプであるか、又はいくつかのVCL NALユニットが特定のIRAP NALユニット・タイプを有し、残りが特定の非IRAP VCL NALユニット・タイプを有することを要求するために、制約が追加されてもよい。メカニズムの例示的な説明は以下のようである。
【0136】
IRAPピクチャは、mixed_nalu_types_in_pic_flagがゼロに等しく、各VCL NALユニットがIDR_W_RADL~CRA_NUTの範囲(両端を含む)にあるNalUnitTypeを有するコーディングされたピクチャである。
【0137】
例示的なPPS RBSPの構文は以下のようである。
【表2】
【0138】
例示的なNALユニット・ヘッダの意味は以下のようである。IDR_N_LPと等しいNalUnitTypeを有するIDRピクチャは、ビットストリームにおいて関連するリーディング・ピクチャを有さない。IDR_W_RADLと等しいNalUnitTypeを有するIDRピクチャは、ビットストリームに存在する関連するRASLピクチャを有さず、ビットストリームにおいて関連するRADLピクチャを有してもよい。任意の特定のピクチャのVCL NALユニットについては、以下が適用される。mixed_nalu_types_in_pic_flagがゼロに等しい場合、すべてのVCL NALユニットは同じ値のnal_unit_typeを有するべきである。そうでなければ、VCL NALユニットのいくつかは、特定のIRAP NALユニット・タイプ値(例えば、IDR_W_RADL~CRA_NUTの範囲のnal_unit_typeの値(両端を含む))を有するべきであるが、他のすべてのVCL NALユニットは、特定の非IRAP VCL NALユニット・タイプ(例えば、TRAIL_NUT~RSV_VCL_15の範囲のnal_unit_typeの値(両端を含む)か、またはGRA_NUTと等しい値)を有するべきである。
【0139】
例示的なPPS RBSPの意味は以下のようである。pps_seq_parameter_set_idは、アクティブSPSのためのsps_seq_parameter_set_idの値を指定する。pps_seq_parameter_set_idの値は、0~5の範囲(両端を含む)にあるべきである。mixed_nalu_types_in_pic_flagは、PPSを参照する各ピクチャが複数のVCL NALユニットを有し、これらのNALユニットが同じ値のnal_unit_typeを有さないことを指定するために1に等しくセットされてもよい。mixed_nalu_types_in_pic_flagは、PPSを参照する各ピクチャのVCL NALユニットが同じ値のnal_unit_typeを有することを指定するために0に等しくセットされてもよい。sps_idr_rpl_present_flagが0に等しいときに、mixed_nalu_types_in_pic_flagの値は0に等しくあるべきである。
【0140】
ピクチャは、サブピクチャに分割されてもよい。サブピクチャの存在の表示は、副ピクチャの他のシーケンス・レベル情報と一緒に、SPSにおいて示されてもよい。サブピクチャの境界が復号プロセス(ループ内フィルタリング動作を除く)においてピクチャ境界として扱われるかどうかは、ビットストリームによって制御され得る。サブピクチャ境界を超えたループ内フィルタリングが無効であるかどうかは、各サブピクチャに対するビットストリームによって制御され得る。ブロック解除フィルタ(DBF)、SAO、及び適応ループ・フィルタ(ALF)プロセスは、サブピクチャ境界を超えたループ内フィルタリング動作を制御するために更新される。サブピクチャ幅、高さ、水平オフセット、垂直オフセットは、SPSにおけるルマ・サンプルの単位でシグナリングされてもよい。サブピクチャ境界は、スライス境界であるように制約されてもよい。(ループ内フィルタリング処理を除く)復号処理においてサブピクチャをピクチャとして扱うことは、coding_tree_unit()構文、高度な時間的ルマ・モーション・ベクトル予測のための導出プロセス、ルマ・サンプル双線形補間プロセス、ルマ・サンプル8タップ補間フィルタリング・プロセス、及びクロマ・サンプル補間プロセスを更新することによって指定される。サブピクチャ識別子(ID)は、VCL NALユニットを変更する必要なくサブピクチャ・シーケンスの抽出を可能にするために、SPSで明示的に指定され、タイル・グループ・ヘッダに含まれる。出力サブピクチャ・セット(OSPS)は、サブピクチャ及びそれらのセットのための規範的抽出及び適合点を指定してもよい。
【0141】
先行するシステムは、特定の問題を有する。ビットストリームは、IRAPスライスと非IRAPスライスの両方を持つピクチャを含み得る。復号順序において、このようなピクチャの後であって、ピクチャ内のIRAPスライスの同じピクチャ領域をカバーするピクチャ内のスライスが、インター予測のために、そのピクチャよりも早いピクチャを参照する場合、エラーが発生する。
【0142】
本開示は、ビデオ・コーディングにおいて、サブピクチャ又はMCTSベースのランダム・アクセスをサポートするための改善された技術を含む。より具体的には、本開示は、IRAPスライスと非IRAPスライスの両方を有するピクチャ内のIRAPスライスに対して何らかの制約を課す方法を開示する。技術VVCの説明しかし、本技術は、他のビデオ/メディア・コーデック仕様にも適用されてもよい。
【0143】
例えば、(1)復号順序において、混合NALユニット・ピクチャの後にあり、(2)ピクチャ内のIRAPスライスの同じピクチャ領域をカバーするピクチャのスライスは、インター予測のために、復号順序において、混合NALユニット・ピクチャよりも早い参照ピクチャを参照しないことを保証するために、制約が追加される。例示的な実装は以下のようである。
【0144】
IRAPピクチャは、mixed_nalu_types_in_pic_flagがゼロに等しく、各VCL NALユニットがIDR_W_RADL~CRA_NUTの範囲(両端を含む)にあるNalUnitTypeを有するコーディングされたピクチャとして定義されてもよい。
【0145】
例示的なPPS RBSPの構文は以下のようである。
【表3】
【0146】
例示的なNALユニット・ヘッダの意味は以下のようである。IDR_N_LPと等しいNalUnitTypeを有するIDRピクチャは、ビットストリームにおいて関連するリーディング・ピクチャを有さない。IDR_W_RADLと等しいNalUnitTypeを有するIDRピクチャは、ビットストリームに存在する関連するRASLピクチャを有さず、ビットストリームにおいて関連するRADLピクチャを有してもよい。任意の特定のピクチャのVCL NALユニットについては、以下が適用される。mixed_nalu_types_in_pic_flagがゼロに等しい場合、すべてのVCL NALユニットは同じ値のnal_unit_typeを有するものとする。そうでなければ、VCL NALユニットのいくつかは、特定のIRAP NALユニット・タイプ値(例えば、IDR_W_RADL~CRA_NUTの範囲のnal_unit_typeの値(両端を含む))を有する一方で、他のすべてのVCL NALユニットは、特定の非IRAP VCL NALユニット・タイプ(例えば、TRAIL_NUT~RSV_VCL_15の範囲のnal_unit_typeの値(両端を含む)か、またはGRA_NUTと等しい値)を有するものとする。
【0147】
例示的なPPS RBSPの意味は以下のようである。pps_seq_parameter_set_idは、アクティブSPSのためのsps_seq_parameter_set_idの値を指定する。pps_seq_parameter_set_idの値は、0~15(両端を含む)の範囲とする。mixed_nalu_types_in_pic_flagは、PPSを参照する各ピクチャが複数のVCL NALユニットを有し、これらのNALユニットが同じ値のnal_unit_typeを有さないことを指定するために1に等しくセットされてもよい。mixed_nalu_types_in_pic_flagは、PPSを参照する各ピクチャのVCL NALユニットが同じ値のnal_unit_typeを有することを指定するために、0に等しくセットされてもよい。sps_idr_rpl_present_flagが0に等しいときに、mixed_nalu_types_in_pic_flagの値は0に等しくあるべきである。少なくとも1つの非IRAPスライスも有するピクチャpicAにおける各IRAPスライスに対しては、以下を適用する。IRAPスライスは、サブピクチャsubpicAに属するものとし、サブピクチャの境界は、復号プロセス(ループ内フィルタリング動作を除く)においてピクチャ境界として扱われる。例えば、subpicAに対するsub_pic_treated_as_pic_flag[i]の値は1に等しくあるべきである。IRAPスライスは、1つ以上の非IRAPスライスを含む同じピクチャにおけるサブピクチャに属さないものとする。復号順序において、以下のすべてのレイヤ・アクセス・ユニット(AU)に対して、subpicAにおけるスライスのRefPicList[0]もRefPicList[1]も、アクティブ・エントリにおいて、復号順序においてpicAに先行するいかなるピクチャを含まないものとする。
【0148】
図9は、例示的なビデオ・コーディング・デバイス900の概略図である。ビデオ・コーディング・デバイス900は、本明細書で説明される開示される例/実施形態を実装するのに好適である。ビデオ・コーディング・デバイス900は、下流ポート920、上流ポート950、及び/又は、ネットワークを介して上流及び/又は下流でデータを通信するための送信機及び/又は受信機を含むトランシーバ・ユニット910を含む。また、ビデオ・コーディング・デバイス900は、データを処理する論理ユニット及び/又は中央処理ユニット(CPU)を含むプロセッサ930と、データを記憶するためのメモリ932と、を含む。また、ビデオ・コーディング・デバイス900は、電気的コンポーネント、光から電気への(OE)コンポーネント、電気から光学への(EO)コンポーネント、及び/又は上流ポート950及び/又は下流ポート920に結合され、電気的、光学的、又は無線通信ネットワークを介したデータの通信のための無線通信コンポーネントを含み得る。また、ビデオ・コーディング・デバイス900は、ユーザへのデータ及びユーザからのデータを通信するための入力及び/又は出力(I/O)デバイス960を含み得る。I/Oデバイス960は、ビデオ・データを表示するためのディスプレイ、オーディオ・データを出力するためのスピーカなどの出力デバイスを含み得る。I/Oデバイス960はまた、キーボード、マウス、トラックボールなどの入力デバイス、および/またはそのような出力デバイスと対話するための対応するインターフェースを含み得る。
【0149】
プロセッサ930は、ハードウェアおよびソフトウェアによって実装される。プロセッサ930は、1つ以上のCPUチップ、コア(例えば、マルチコアプロセッサ)、フィールド・プログラマブル・ゲート・アレイ(FPGA)、特定用途向け集積回路(ASIC)、およびデジタル信号プロセッサ(DSP)として実装されてもよい。プロセッサ930は、下流ポート920、Tx/Rx910、上流ポート950、及びメモリ932と通信している。プロセッサ930は、コーディング・モジュール914を含む。コーディング・モジュール914は、VRピクチャ・ビデオ・ストリーム500、ビットストリーム800、及び/又は制約600に従ってコーディングされたRPL構造700を使用することができる方法100、1000、及び1100など、本明細書で説明された開示された実施形態を実装する。コーディング・モジュール914はまた、本明細書で説明される任意の他の方法/メカニズムを実装してもよい。さらに、コーディング・モジュール914は、コーデック・システム200、符号化器300、及び/又は復号器400を実装してもよい。例えば、コーディング・モジュール914は、IRAP NALユニットと非IRAP NALユニットの両方を有する現在のピクチャを含むVRビデオをコーディングすることができる。例えば、IRAP NALユニットは、サブピクチャに含まれてもよい。これが発生するときに、コーディング・モジュール914は、サブピクチャにも含まれる現在のピクチャの後のピクチャでのスライスを制約することができる。このようなスライスは、現在のピクチャに先行する参照ピクチャを参照することを防止し得る。それゆえ、コーディング・モジュール914は、ビデオ・データをコーディングするときに、ビデオ・コーディング・デバイス900に追加的な機能性及び/又はコーディング効率を提供させる。このようにして、コーディング・モジュール914は、ビデオ・コーディング・デバイス900の機能性を改善すると共に、ビデオ・コーディング技術に固有の問題に対処する。さらに、コーディング・モジュール914は、ビデオ・コーディング・デバイス900の変換を異なる状態にすることを果たす。代替的には、コーディング・モジュール914は、メモリ932に記憶され、かつプロセッサ930によって実行される命令として(例えば、非一時的媒体に記憶されたコンピュータ・プログラム製品として)実装することができる。
【0150】
メモリ932は、ディスク、テープ・ドライブ、ソリッド・ステート・ドライブ、リード・オンリー・メモリ(ROM)、ランダム・アクセス・メモリ(RAM)、フラッシュ・メモリ、三値コンテンツアドレス指定可能メモリ(TCAM)、スタティック・ランダム・アクセス・メモリ(SRAM)などの1つ以上のメモリタイプを含む。メモリ932はオーバ・フロー・データ記憶デバイスとして使用され、そのようなプログラムが実行のために選択されたときにプログラムを記憶し、プログラム実行中に読み出された命令およびデータを記憶する。
【0151】
図10は、RPL構造700を有するVRピクチャ・ビデオ・ストリーム500を含むビットストリーム800など、混合NALユニット・タイプを有するピクチャを含むビデオ・シーケンスをビットストリームに符号化する例示的な方法1000のフローチャートである。方法1000は、制約600に従って、そのようなビットストリームを符号化することができる。方法1000は、方法100を実行するときに、コーデック・システム200、符号化器300、及び/又はビデオ・コーディング・デバイス900などの符号化器によって使用されてもよい。
【0152】
方法1000は、符号化器が、VRピクチャなどの複数のピクチャを含むビデオ・シーケンスを受信し、例えばユーザ入力に基づいて、そのビデオ・シーケンスをビットストリームに符号化すると判定したときに始まってもよい。ビットストリームは、VRビデオ・データを含み得る。VRビデオ・データは、各々がビデオ・シーケンスにおける対応する瞬間でのコンテンツの球体を表すピクチャを含み得る。ピクチャは、サブピクチャのセットにパーティショニングされてもよい。例えば、各サブピクチャはVRビデオのビューポートに対応するビデオ・データを含み得る。さらに、様々なサブピクチャは、変化する頻度でIRAP NALユニット及び非IRAP NALユニットを含み得る。ステップ1001で、符号化器は、現在のピクチャが、同じNALユニット・タイプを有さない複数のVCL NALユニットを含むと判定する。例えば、VCL NALユニットは、IRAP NALユニット・タイプを有するIRAP NALユニットと、非IRAP NALユニット・タイプを有する非IRAP NALユニットと、を含み得る。例えば、IRAP NALユニット・タイプは、IDR NALユニット・タイプ又はCRA NALユニット・タイプを含み得る。さらに、非IRAP NALユニット・タイプは、末尾のNALユニット・タイプ、RASL NALユニット・タイプ、及び/又はRADL NALユニット・タイプを含み得る。
【0153】
ステップ1003で、符号化器は、フラグをビットストリームに符号化する。フラグは、現在のピクチャのVCL NALユニットに対する第1のNALユニット・タイプ値が、現在のピクチャのVCL NALユニットに対する第2のNALユニット・タイプ値とは異なることを示す。一例では、フラグは、ビットストリームにおいてPPSに符号化することができる。特定の例として、フラグは、mixed_nalu_types_in_pic_flag827であってもよい。mixed_nalu_types_in_pic_flagは、PPSを参照する各ピクチャが複数のVCL NALユニットを持ち、VCL NALユニットが同じ値のnal_unit_type有しないことを指定するときに1に等しくセットすることができる。
【0154】
ステップ1005で、符号化器は、現在のピクチャでのsubpicAが、IRAP NALユニット・タイプに関連すると判定する。ステップ1007で、符号化器は、現在のピクチャをビットストリームに符号化する。例えば、符号化器は、subpicAに位置付けられた現在のピクチャのすべてのスライスが同じNALユニット・タイプ(例えば、IRAP NALユニット・タイプ)に関連することを確実にする。符号化器は、イントラ予測に従ってsubpicAを符号化することができる。符号化器はまた、サブピクチャB(subpicB)が非IRAP NALユニット・タイプのスライスを含むと判定することができる。それゆえ、符号化器は、インター予測に従って現在のピクチャのsubpicBを符号化することができる。
【0155】
ステップ1009で、符号化器は、復号順序において、現在のピクチャの後の後続のピクチャを符号化する準備をすることができる。例えば、符号化器は、後続のピクチャにおけるサブピクチャに位置付けられたスライスのための参照ピクチャ・リストのアクティブ・エントリを生成することができる。指定された後続ピクチャのためのアクティブ・エントリは、指定された後続ピクチャに対してインター予測符号化処理を実行するときに、参照ピクチャとして使用され得るピクチャを示す。具体的には、後続のピクチャにおけるsubpicAのためのアクティブなエントリは、そのようなアクティブ・エントリが、復号順序において現在のピクチャに先行するいかなる参照ピクチャも参照しないように制約される。この制約は、現在のピクチャでのsubpicAがIRAP NALユニット・タイプに関連するときに場合に使用される。この制約は、IRAPサブピクチャの後のサブピクチャにおけるスライスが、IRAPサブピクチャの前のピクチャを参照しないことを確実にし、そうでなければ、IRAPサブピクチャがランダム・アクセス・ポイントとして使用された場合、コーディング・エラーを引き起こすことになる。IRAPサブピクチャに従わない後続のピクチャのスライス(例えば、subpicBに位置付けられ、非IRAP NALユニットに従うもの)は、現在のピクチャに先行するピクチャを引き続き参照してもよい。
【0156】
ステップ1011で、符号化器は、参照ピクチャ・リストに基づいて、後続のピクチャをビットストリームに符号化する。例えば、符号化器は、対応するサブピクチャにおけるスライスに関連するNALタイプに応じて、インター予測及び/又はイントラ予測に基づいて、後続のピクチャを符号化することができる。インター予測プロセスは、参照ピクチャ・リストを使用する。参照ピクチャ・リストは、参照ピクチャ・リスト0及び参照ピクチャ・リスト1を含み得る。さらに、参照ピクチャ・リストは、参照ピクチャ・リスト構造においてコーディングされてもよい。参照ピクチャ・リスト構造は、ビットストリームに符号化されてもよい。符号化器はまた、復号器に向かって通信するためにビットストリームを記憶することができる。
【0157】
図11は、RPL構造700を有するVRピクチャ・ビデオ・ストリーム500を含むビットストリーム800など、混合NALユニット・タイプを有するピクチャを含むビデオ・シーケンスをビットストリームから復号する例示的な方法1100のフローチャートである。方法1100は、制約600に従って、そのようなビットストリームを復号してもよい。方法1100は、方法100を実行するときに、コーデック・システム200、復号器400、及び/又はビデオ・コーディング・デバイス900などの復号器によって使用されてもよい。
【0158】
方法1100は、復号器が、例えば、方法1000の結果として、ビデオ・シーケンスを表すコーディングされたデータのビットストリームの受信を始めるときに始まることができる。ビットストリームは、VRピクチャなどの複数のピクチャを含むVRビデオ・シーケンスを含み得る。ビットストリームはVRビデオ・データを含み得る。VRビデオ・データは、各々がビデオ・シーケンスにおける対応する瞬間でのコンテンツの球体を表すピクチャを含み得る。ピクチャは、サブピクチャのセットにパーティショニングされてもよい。例えば、各サブピクチャはVRビデオのビューポートに対応するビデオ・データを含み得る。さらに、様々なサブピクチャは、変化する頻度でIRAP NALユニット及び非IRAP NALユニットを含み得る。ステップ1101で、復号器はビットストリームを受信する。ビットストリームは、同じNALユニット・タイプを有さない複数のVCL NALユニットを含む現在のピクチャを含む。例えば、VCL NALユニットは、IRAP NALユニット・タイプを有するIRAP NALユニットと、非IRAP NALユニット・タイプを有する非IRAP NALユニットと、を含み得る。例えば、IRAP NALユニット・タイプは、IDR NALユニット・タイプ又はCRA NALユニット・タイプを含み得る。さらに、非IRAP NALユニット・タイプは、末尾のNALユニット・タイプ、RASL NALユニット・タイプ、及び/又はRADL NALユニット・タイプを含み得る。
【0159】
ステップ1103で、復号器は、フラグに基づいて、現在のピクチャのVCL NALユニットに対する第1のNALユニット・タイプ値が、現在のピクチャのVCL NALユニットに対する第2のNALユニット・タイプ値とは異なると判定する。一例では、ビットストリームは、現在のピクチャに関連するPPSを含み得る。フラグはPPSから取得できる。特定の例として、フラグは、mixed_nalu_types_in_pic_flag827であってもよい。mixed_nalu_types_in_pic_flagは、PPSを参照する各ピクチャが複数のVCL NALユニットを持ち、VCL NALユニットが同じ値のnal_unit_type有しないことを指定するときに1に等しくセットすることができる。
【0160】
ステップ1105で、復号器は、subpicAに位置付けられた現在のピクチャのすべてのスライスが、同じNALユニット・タイプに関連すると判定することができる。復号器はまた、スライスのNALユニット・タイプに基づいて、subpicA及び/又は現在のピクチャを復号することができる。例えば、現在のピクチャでのsubpicAはIRAP NALユニットを含み得る。このようなケースでは、subpicAは、イントラ予測に従って復号することができる。復号器はまた、subpicBが非IRAP NALユニット・タイプのスライスを含むと判定することができる。それゆえ、復号器は、インター予測に従って現在のピクチャのsubpicBを復号することができる。
【0161】
ステップ1107で、復号器は、復号順序において、現在のピクチャの後の後続のピクチャにおけるsubpicAに位置付けられたスライスに対する参照ピクチャ・リストのアクティブ・エントリを取得することができる。指定された後続ピクチャのためのアクティブ・エントリは、指定された後続ピクチャに対してインター予測復号処理を実行するときに、参照ピクチャとして使用され得るピクチャを示す。
【0162】
ステップ1109で、復号器は、アクティブ・エントリは、現在のピクチャでのsubpicAがイントラ・ランダム・アクセス・ポイント(IRAP)NALユニット・タイプに関連するときに、復号順序において、現在のピクチャに先行するいかなる参照ピクチャも参照しないと判定することができる。この制約は、IRAPサブピクチャの後のサブピクチャにおけるスライスが、IRAPサブピクチャの前のピクチャを参照しないことを確実にし、そうでなければ、IRAPサブピクチャがランダム・アクセス・ポイントとして使用されたときに、コーディング・エラーを引き起こすことになる。IRAPサブピクチャに従わない後続のピクチャのスライス(例えば、subpicBに位置付けられ、非IRAP NALユニットに従うもの)は、現在のピクチャに先行するピクチャを引き続き参照してもよい。
【0163】
ステップ1111で、復号器は、参照ピクチャ・リスト・アクティブ・エントリに基づいて、後続のピクチャを復号することができる。例えば、復号器は、対応するサブピクチャにおけるスライスに関連するNALタイプに応じて、インター予測及び/又はイントラ予測に基づいて、後続のピクチャを復号することができる。インター予測プロセスは、参照ピクチャ・リストを使用する。参照ピクチャ・リストは、参照ピクチャ・リスト0及び参照ピクチャ・リスト1を含み得る。さらに、参照ピクチャ・リストは、ビットストリームにコーディングされた参照ピクチャ・リスト構造から取得されてもよい。復号器は、復号されたビデオ・シーケンスの一部として表示するために現在のピクチャ、後続のピクチャ、及び/又はそれらのサブピクチャ(例えば、subpicA又はsubpicB)を転送することができる。
【0164】
図12は、RPL構造700を有し、制約600に従ってコーディングされたVRピクチャ・ビデオ・ストリーム500を含むビットストリーム800など、混合NALユニット・タイプを有するピクチャを含むビデオ・シーケンスをビットストリームにコーディングするための例示的なシステム1200の概略図である。システム1200は、コーデック・システム200、符号化器300、復号器400、及び/又はビデオ・コーディング・デバイス900などの符号化器及び復号器によって実装されてもよい。さらに、システム1200は、方法100、1000、及び/又は1100を実装するときに使用されてもよい。
【0165】
システム1200は、ビデオ符号化器1202を含む。ビデオ符号化器1202は、現在のピクチャが同じNALユニット・タイプを有さない複数のVCL NALユニットを含むと判定するための判定モジュール1201を含む。判定モジュール1201は、さらに、現在のピクチャでのsubpicAがIRAP NALユニット・タイプに関連すると判定するためのものである。ビデオ符号化器1202は、さらに、現在のピクチャの後の後続のピクチャにおけるsubpicAに位置付けられたスライスに対する参照ピクチャ・リストのアクティブ・エントリを生成することであって、アクティブ・エントリは、現在のピクチャでのsubpicAがIRAP NALユニット・タイプに関連するときに、復号順序において、現在のピクチャに先行するいかなる参照ピクチャも参照しない、生成することを行うための生成モジュール1203を含む。ビデオ符号化器1202は、さらに、参照ピクチャ・リストに基づいて後続のピクチャをビットストリームに符号化するための符号化モジュール1205を含む。ビデオ符号化器1202は、さらに、復号器に向かって通信するためにビットストリームを記憶するための記憶モジュール1207を含む。ビデオ符号化器1202は、さらに、ビットストリームをビデオ復号器1210に向かって送信するための送信モジュール1209を含む。ビデオ符号化器1202は、さらに、方法1000のステップのいずれかを実行するように構成されてもよい。
【0166】
システム1200はまた、ビデオ復号器1210を含む。ビデオ復号器1210は、同じNALユニット・タイプを有さない複数のVCL NALユニットを含む現在のピクチャを含むビットストリームを受信するための受信モジュール1211を含む。ビデオ復号器1210は、さらに、現在のピクチャの後の後続のピクチャにおけるsubpicAに位置付けられたスライスに対する参照ピクチャ・リストのアクティブ・エントリを取得するための取得モジュール1213を含む。ビデオ復号器1210は、さらに、アクティブ・エントリは、現在のピクチャでのsubpicAがIRAP NALユニット・タイプに関連するときに、復号順序において、現在のピクチャに先行するいかなる参照ピクチャも参照しないと判定するための判定モジュール1215を含む。ビデオ復号器1210は、さらに、参照ピクチャ・リストアクティブ・エントリに基づいて後続のピクチャを復号するための復号モジュール1217を含む。ビデオ復号器1210は、さらに、復号されたビデオ・シーケンスの一部として表示するために後続のピクチャを転送するための転送モジュール1219を含む。ビデオ復号器1210は、さらに、方法1100のステップのいずれかを実行するように構成されてもよい。
【0167】
第1のコンポーネントは、第1のコンポーネントと第2のコンポーネントとの間にあるライン、トレース、又は別の媒体を除き、介在するコンポーネントがないときに、第2のコンポーネントに直接結合される。第1のコンポーネントは、第1のコンポーネントと第2のコンポーネントとの間にあるライン、トレース、又は別の媒体以外に、介在するコンポーネントがあるときに、第2のコンポーネントに間接結合される。用語「結合された」及びその変形は、直接結合された、及び間接結合されたの両方を含む。用語「約」の使用は、特に断らない限り、後続の数字の±10%を含む範囲を意味する。
【0168】
また、本明細書に記載された例示的な方法のステップは、必ずしも説明された順序で実行される必要はないと理解されるべきであり、そのような方法のステップの順序は、単に例示的なものにすぎないと理解されるべきである。同様に、追加のステップが、そのような方法に含まれてもよいし、特定のステップが、本開示の種々の実施形態と一致する方法において省略されるか、又は組み合わされてもよい。
【0169】
本開示において複数の実施形態が提供されているが、開示されたシステム及び方法は、本開示の精神又は範囲から逸脱することなく、多くの他の具体的な形式で具現化されるかもしれないと理解されよう。本例は、例示的なものであり、限定的なものではないと考えられ、その意図は、本明細書に与えられた詳細に限定されない。例えば、種々の要素又はコンポーネントが別のシステムに組み合わせられたり、一体化されたりしてもよいし、特定の特徴が省略されたり、実装されなくてもよい。
【0170】
追加的に、種々の実施形態において個別又は別個に説明及び図示された技術、システム、サブシステム、及び方法は、本開示の範囲から逸脱することなく、他のシステム、コンポーネント、技術、又は方法と組み合わせられるか、又は一体化されてもよい。変更、置換、及び改変の他の例は、当業者によって確認可能であり、本明細書に開示された精神及び範囲から逸脱することなく行われてもよい。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12