(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-10-17
(54)【発明の名称】映像復号のための方法、装置、及びコンピュータプログラム
(51)【国際特許分類】
H04N 19/70 20140101AFI20231010BHJP
【FI】
H04N19/70
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023519435
(86)(22)【出願日】2022-06-29
(85)【翻訳文提出日】2023-03-28
(86)【国際出願番号】 US2022073261
(87)【国際公開番号】W WO2023279026
(87)【国際公開日】2023-01-05
(32)【優先日】2021-06-29
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2022-06-28
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】チョイ,ビヨンドゥ
(72)【発明者】
【氏名】ウェンジャー,ステファン
(72)【発明者】
【氏名】リー,シャン
(72)【発明者】
【氏名】リウ,シャン
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159KK40
5C159RC12
(57)【要約】
本開示の態様は、映像復号のための方法、装置、及び非一時的なコンピュータ読み取り可能記憶媒体を提供する。当該装置は、独立領域出力情報を示す補足強化情報(SEI)メッセージを復号するように構成された処理回路を含む。独立領域出力情報は、現在ピクチャ内の独立して復号可能な領域である独立領域を示す。処理回路は、独立領域出力情報内の独立領域のオフセット情報及び寸法情報に基づいて、現在ピクチャ内の独立領域を決定する。処理回路は、現在ピクチャの全体が復号されるかどうかに関係なく、決定した独立領域を復号する。処理回路は、独立領域のオフセット情報によって示される位置、及び独立領域の寸法情報によって示されるサイズに基づいて、復号した独立領域を出力する。
【特許請求の範囲】
【請求項1】
ビデオデコーダが実行する映像復号のための方法であって、
独立領域出力情報を示す補足強化情報(SEI)メッセージを復号するステップであり、前記独立領域出力情報は、現在ピクチャ内の独立して復号可能な領域である独立領域を示す、ステップと、
前記独立領域出力情報内の前記独立領域のオフセット情報及び寸法情報に基づいて、前記現在ピクチャ内の前記独立領域を決定するステップと、
前記現在ピクチャの全体が復号されるかどうかに関係なく、決定した前記独立領域を復号するステップと、
前記独立領域の前記オフセット情報によって示される位置、及び前記独立領域の前記寸法情報によって示されるサイズに基づいて、復号した前記独立領域を出力するステップと、
を有する方法。
【請求項2】
前記独立領域は前記現在ピクチャ内のサブピクチャを含んでいる、請求項1に記載の方法。
【請求項3】
前記サブピクチャは、前記現在ピクチャ内の別の独立領域に含まれており、前記別の独立領域は更に、前記現在ピクチャ内の別のサブピクチャを含んでいる、請求項2に記載の方法。
【請求項4】
前記独立領域は前記別の独立領域に含まれている、請求項3に記載の方法。
【請求項5】
前記独立領域出力情報は、前記独立領域内の前記サブピクチャのサブピクチャ識別子を示す、請求項2に記載の方法。
【請求項6】
前記SEIメッセージは、前記独立領域出力情報が前記SEIメッセージ内でシグナリングされるかを示す第1フラグを含み、
前記独立領域を前記決定するステップは、前記独立領域出力情報が前記SEIメッセージ内でシグナリングされることを前記第1フラグが示すことに基づいて、前記独立領域を決定することを含む、
請求項1に記載の方法。
【請求項7】
前記独立領域出力情報は第2フラグを含み、
前記第2フラグが第1の値を持つことは、前記SEIメッセージが前記現在ピクチャにのみ適用されることを示し、
前記第2フラグが第2の値を持つことは、前記SEIメッセージが、前記現在ピクチャに適用されるとともに、条件が満たされるまで、現在レイヤの出力順で後続の1つ以上のピクチャに適用されることを示す、
請求項1に記載の方法。
【請求項8】
前記第2フラグが前記第2の値を持ち、
当該方法は更に、前記独立領域出力情報に基づいて、前記現在レイヤの出力順で後続のピクチャ内の独立領域を出力するステップを含む、
請求項7に記載の方法。
【請求項9】
前記独立領域出力情報は、前記独立領域の第3フラグを含み、
前記第3フラグは、前記独立領域のクロッピング情報が前記独立領域出力情報内でシグナリングされるかを示す、
請求項1に記載の方法。
【請求項10】
前記独立領域の前記クロッピング情報が前記独立領域出力情報内でシグナリングされることを前記第3フラグが示すことに基づき、
当該方法は更に、(i)前記クロッピング情報と、(ii)前記独立領域の前記オフセット情報及び前記寸法情報とに基づいて、前記独立領域の出力ウィンドウの位置及びサイズを決定するステップを含み、
前記出力するステップは、前記独立領域の前記出力ウィンドウの前記位置及び前記サイズに基づいて、復号した前記独立領域を出力することを含む、
請求項9に記載の方法。
【請求項11】
前記復号するステップ、及び表示のための前記出力するステップが、前記現在ピクチャの全体が復号される前に実行される、請求項1に記載の方法。
【請求項12】
映像復号のための装置であって、
1つ以上のプロセッサと、
コンピュータプログラムを格納した1つ以上のメモリと、
を有し、
前記コンピュータプログラムは、前記1つ以上のプロセッサに、請求項1乃至11のいずれか一項に記載の方法を実行させる、
装置。
【請求項13】
コンピュータに請求項1乃至11のいずれか一項に記載の方法を実行させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
この出願は、2021年6月29日に出願された米国仮出願第63/216,443号“Techniques for Independent Coded Region Output for Coded Video Stream”に対する優先権の利益を主張するものである2022年6月28日に出願された米国特許出願第17/851,723号“INDEPENDENT CODED REGION OUTPUT SUPPLEMENTARY ENHANCEMENT INFORMATION MESSAGE”に対する優先権の利益を主張するものである。これら先行出願の開示をそれらの全体にてここに援用する。
【0002】
本開示は、映像コーディングに概して関係する実施形態を記述する。
【背景技術】
【0003】
ここに提示される背景説明は、開示に係る状況を概略的に提示するためのものである。この背景セクションに記載される範囲においての、ここに名を連ねる発明者の仕事、並びに、出願時にさもなければ従来技術として適格でないかもしれない記載の態様は、明示的にも、暗示的にも、本開示に対する先行技術として認められるものではない。
【0004】
動き補償を用いるインターピクチャ予測を使用して画像及び/又は映像の符号化及び復号を実行することができる。圧縮されていないデジタル画像及び/又は映像は一連のピクチャを含み、各ピクチャが、例えば、1920×1080のルミナンスサンプル及び関連するクロミナンスサンプルの空間寸法を持つ。一連のピクチャは、固定又は可変のピクチャレート(非公式にはフレームレートとしても知られる)を持つことができ、例えば、毎秒60ピクチャ、すなわち、60Hzのピクチャレートを持ち得る。圧縮されていない画像及び/又は映像は、特定のビットレート要求を持つ。例えば、サンプル当たり8ビットの1080p60 4:2:0映像(60Hzのフレームレートで1920×1080のルミナンスサンプル解像度)は、1.5Gbit/sに近い帯域幅を必要とする。1時間のこのような映像は、600GByteを超えるストレージ空間を必要とする。
【0005】
画像及び/又は映像の符号化及び復号の1つの目的は、圧縮を通じての入力画像及び/又は映像信号の冗長性の低減であるとし得る。圧縮は、前述の帯域幅要求及び/又はストレージ空間要求を、場合によって2桁以上の大きさで、低減させる助けとなることができる。ここでの説明は説明例として映像の符号化/復号を用いるが、本開示の精神から逸脱することなく、同じ技術を同様のやり方で画像の符号化/復号に適用することができる。可逆圧縮及び非可逆圧縮の双方、並びにこれらの組み合わせを使用することができる。可逆圧縮は、原信号の正確な複製を圧縮された原信号から再構成することができる技術を指す。非可逆圧縮を使用する場合、再構成された信号は、原信号と同じにならないことがあるが、原信号と再構成信号との間の歪みは、再構成信号を意図した用途に有用にするのに十分な小ささとなる。映像の場合、非可逆圧縮が広く用いられる。許容される歪みの量は用途に依存し、例えば、特定の消費者ストリーミングアプリケーションのユーザは、テレビジョン配信アプリケーションのユーザよりも高い歪みを許容し得る。達成可能な圧縮比はそれを反映し、より高い許容/我慢できる歪みは、より高い圧縮比をもたらすことができる。
【0006】
ビデオエンコーダ及びデコーダは、例えば、動き補償、変換、量子化、及びエントロピーコーディングを含め、幾つかの広範なカテゴリからの技術を利用することができる。
【0007】
ビデオコーデック技術は、イントラコーディングとして知られる技術を含むことができる。イントラコーディングにおいて、サンプル値は、先行して再構成された参照ピクチャからのサンプル又は他のデータを参照することなく表現される。一部のビデオコーデックにおいて、ピクチャは複数ブロックのサンプルへと空間的に細分される。全てのブロックのサンプルがイントラモードでコーディングされる場合、そのピクチャはイントラピクチャとすることができる。イントラピクチャ及び例えば独立デコーダリフレッシュピクチャなどのそれらの派生物は、デコーダ状態をリセットするために使用されることができ、従って、コーディングされる映像ビットストリーム及び映像セッションにおける最初のピクチャとして、又は静止画として使用されることができる。イントラブロックのサンプルを変換にかけることができ、変換係数が、エントロピーコーディングの前に量子化され得る。イントラ予測は、変換前ドメインにおけるサンプル値を最小化する技術であるとし得る。場合により、変換後のDC値が小さいほど、及びAC係数が小さいほど、エントロピーコーディング後にブロックを表すのに所与の量子化ステップサイズで必要とされるビット数が少なくなる。
【0008】
例えばMPEG-2世代のコーディング技術から知られるような伝統的なイントラコーディングはイントラ予測を使用しない。しかしながら、より新しい一部の映像圧縮技術は、例えば、空間的に隣接し復号順で先行するブロックのデータの符号化及び/又は復号中に得られた周囲のサンプルデータ及び/又はメタデータから試みる技術を含む。このような技術を、以後、“イントラ予測”技術と呼ぶ。なお、少なくとも一部のケースにおいて、イントラ予測は、再構成中の現在ピクチャからの参照データのみを使用し、参照ピクチャからのものは使用しない。
【0009】
数多くの異なる形態のイントラ予測が存在し得る。所与の映像コーディング技術において、そのような技術のうち2つ以上が使用され得る場合、使用される技術がイントラ予測モードでコーディングされ得る。ある特定のケースにおいて、モードはサブモード及び/又はパラメータを有することができ、それらが個別にコーディングされる又はモードコードワードに含められることができる。所与のモード、サブモード、及び/又はパラメータの組み合わせにどのコードワードを使用するかということは、イントラ予測を通じたコーディング効率利得に影響を与え得ることであり、コードワードをビットストリームに変換するのに使用されるエントロピーコーディング技術も同様であり得る。
【0010】
イントラ予測の特定のモードが、H.264で導入され、H.265で改良され、そして、例えば共同探査モデル(JEM)、バーサタイルビデオコーディング(VVC)、及びベンチマークセット(BMS)などの、より新しいコーディング技術でさらに改良された。既に利用可能なサンプルに属する隣接サンプル値を用いて予測子ブロックが形成され得る。隣接サンプルのサンプル値が、方向に従って予測子ブロックにコピーされる。使用する方向の参照が、ビットストリームにコーディングされるか、それ自体が予測されるかし得る。
【0011】
図1Aを参照するに、右下に、H.265の33個の取り得る予測子方向(35個のイントラモードのうちの33個の角度モードに対応)から知られる9個の予測子方向のサブセットが描かれている。矢印が集まった点(101)が予測中のサンプルを表す。矢印は、その方向からサンプルが予測されることを表す。例えば、矢印(102)は、サンプル(101)が、水平から45度の角度で右上の1つのサンプル又は複数のサンプルから予測されることを指し示す。同様に、矢印(103)は、サンプル(101)が、水平から22.5度の角度で左下の1つのサンプル又は複数のサンプルから予測されることを指し示す。
【0012】
なおも
図1Aを参照するに、左上に、4×4サンプルの正方形ブロック(104)(破線の太線で示す)が描かれている。正方形ブロック(104)は、16個のサンプルを含み、各サンプルが、“S”と、Y次元でのその位置(例えば、行インデックス)と、X次元でのその位置(例えば、列インデックス)とでラベル付けられている。例えば、サンプルS21は、Y次元で(上から)2番目、且つX次元で(左から)1番目のサンプルである。同様に、サンプルS44は、ブロック(104)内の、Y及びXの両方の次元で4番目のサンプルである。このブロックは4×4サンプルのサイズなので、S44は右下にある。さらに、同様の番号付けスキームに従った参照サンプルが示されている。参照サンプルは、Rと、ブロック(104)に対するY位置(例えば、行インデックス)及びX位置(列インデックス)とでラベル付けられている。H.264及びH.265の両方で、予測サンプルは再構成中のブロックに隣接し、それ故に、負の値を使用する必要はない。
【0013】
イントラピクチャ予測は、シグナリングされる予測方向によって、隣接サンプルからの参照サンプル値を適宜にコピーすることによって機能する。例えば、このブロックについて、予測方向が矢印(102)と一致すること、すなわち、水平から45度右上の1つ又は複数の予測サンプル又はサンプルからサンプルが予測されること、を指し示すシグナリングを符号化映像ビットストリームが含んでいると仮定する。その場合、サンプルS41、S32、S23、及びS14は、同じ参照サンプルR05から予測される。そして、サンプルS44は、参照サンプルR08から予測される。
【0014】
特定のケースにおいて、特に、方向を45度ずつ等分できない場合に、参照サンプルを計算するために、例えば内挿により、複数の参照サンプルの値を結合することがある。
【0015】
映像コーディング技術が発展するにつれて、取り得る方向の数が増加している。H.264(2003年)では9個の異なる方向を表すことができた。これが、H.265(2013年)では33個に増加し、JEM/VVC/BMSは、開示された時点で、65個に至る方向をサポートすることができる。最も可能性の高い方向を特定するために実験が行われており、そして、より可能性の低い方向に対するペナルティを受け入れて、それら可能性の高い方向を少数のビットで表現するように、エントロピーコーディングにおける特定の技術が用いられる。さらに、それらの方向自体が、隣接する既に復号されたブロックで用いられた隣接方向から予測されることもある。
【0016】
図1Bは、徐々に数が増えている予測方向を例示すために、JEMに従った65個のイントラ予測方向を描いた概略図(110)を示している。
【0017】
符号化映像ビットストリームにおける方向を表すイントラ予測方向ビットのマッピングは、映像コーディング技術ごとに異なり得るものであり、例えば、イントラ予測モードへの予測方向の単純な直接マッピングから、コードワードや、最確モードを含む複雑な適応方式、及び同様の技術まで及び得る。しかし、どのケースでも、映像コンテンツには、他の特定の方向よりも統計的に発生しにくい特定の方向が存在し得る。映像圧縮の目標は冗長性の低減であるので、良好に動作する映像コーディング技術では、それら可能性の低い方向は、可能性の高い方向よりも多数のビットで表されることになる。
【0018】
動き補償は、非可逆圧縮技術であるとし得るとともに、先行して再構成されたピクチャ又はその一部(参照ピクチャ)からのサンプルデータのブロックが、動きベクトル(以下、MV)によって指し示される方向に空間的にシフトされた後に、新たに再構成されるピクチャ又はピクチャ部分の予測のために使用される技術に関係するとすることができる。一部のケースにおいて、参照ピクチャは、現在再構成中のピクチャと同じであることができる。MVは、2つの次元X及びYを有することができ、あるいは、使用する参照ピクチャを指し示すインジケーションを3つめとして3つの次元を有することができる(後者は、間接的に、時間次元であるとすることができる)。
【0019】
一部の映像圧縮技術では、サンプルデータのある特定の領域に適用可能なMVを、例えば、復号順でそのMVに先行するMVであって再構成中の領域に空間的に隣接するサンプルデータの別領域に関係するMVからなど、別のMVから予測することができる。そうすることは、そのMVをコーディングするのに必要なデータの量を大幅に減らすことができ、それにより冗長性を取り除いて圧縮を高めることができる。MV予測は、効果的に機能することができる。何故なら、例えば、カメラに由来する入力ビデオ信号(ナチュラルビデオとして知られる)をコーディングするとき、単一のMVが適用可能である領域よりも大きい領域が同様の方向に移動し、それ故に、場合により、隣接する領域のMVから導出される同様の動きベクトルを用いて予測されることができる、という統計的尤度があるからである。これがもたらすのは、所与の領域に対して見出されたMVが、周囲のMVから予測されるMVと類似又は同じであり、ひいては、エントロピーコーディングの後に、そのMVを直接コーディングする場合に使用されることになるものよりも少ないビット数で表されることができるということである。一部のケースでは、MV予測は、原信号(つまりは、サンプルストリーム)から導出される信号(つまりは、MV)の可逆圧縮の一例であることができる。他のケースでは、例えば、幾つかの周囲MVから予測子を計算する際の丸め誤差のために、MV予測それ自体が非可逆的であるとし得る。
【0020】
様々なMV予測メカニズムが、H.265/HEVC(ITU-T勧告H.265,“High Efficiency Video Coding”、2016年12月)に記述されている。H.265が提供するそれら多数のMV予測メカニズムのうち、以下では“空間マージ”と称する技術をここで説明する。
【0021】
図2を参照するに、現在ブロック(201)は、空間的にシフトされた同じサイズの先行ブロックから予測可能であることが動き探索プロセス中にエンコーダによって見出されたサンプルを有する。MVを直接コーディングする代わりに、MVを、A0、A1、及びB0、B1、B2(それぞれ202から206)と表記する5つの周囲サンプルのうちのいずれか1つに関連するMVを用いて、例えば(復号順で)直前の参照ピクチャからなど、1つ以上の参照ピクチャに関連するメタデータから導出することができる。H.265において、MV予測は、隣接ブロックが使用しているのと同じ参照ピクチャからの予測子を使用することができる。
【発明の概要】
【0022】
本開示の態様は、映像符号化及び復号のための方法及び装置を提供する。一部の例において、映像復号のための装置は処理回路を含む。処理回路は、独立領域出力情報を示す補足強化情報(SEI)メッセージを復号するように構成される。独立領域出力情報は、現在ピクチャ内の独立して復号可能な領域である独立領域を示すことができる。処理回路は、独立領域出力情報内の独立領域のオフセット情報及び寸法情報に基づいて、現在ピクチャ内の独立領域を決定するように構成される。処理回路は、現在ピクチャの全体が復号されるかどうかに関係なく、決定した独立領域を復号することができる。処理回路は、独立領域のオフセット情報によって示される位置、及び独立領域の寸法情報によって示されるサイズに基づいて、復号した独立領域を出力することができる。
【0023】
一実施形態において、独立領域は現在ピクチャ内のサブピクチャを含んでいる。
【0024】
一実施形態において、サブピクチャは、現在ピクチャ内の別の独立領域に含まれており、別の独立領域は更に、現在ピクチャ内の別のサブピクチャを含んでいる。
【0025】
一実施形態において、独立領域は別の独立領域に含まれている。
【0026】
一実施形態において、独立領域出力情報は、独立領域内のサブピクチャのサブピクチャ識別子を示す。
【0027】
SEIメッセージは、独立領域出力情報がSEIメッセージ内でシグナリングされるかを示す第1フラグを含むことができる。処理回路は、独立領域出力情報がSEIメッセージ内でシグナリングされることを第1フラグが示すことに基づいて、独立領域を決定することができる。
【0028】
一実施形態において、独立領域出力情報は第2フラグを含む。第2フラグが第1の値を持つことは、SEIメッセージが現在ピクチャにのみ適用されることを示す。第2フラグが第2の値を持つことは、SEIメッセージが、現在ピクチャに適用されるとともに、条件が満たされるまで、現在レイヤの出力順で後続の1つ以上のピクチャに適用されることを示す。
【0029】
一実施形態において、第2フラグが第2の値を持つ。処理回路は、独立領域出力情報に基づいて、現在レイヤの出力順で後続のピクチャ内の独立領域を出力することができる。
【0030】
一実施形態において、独立領域出力情報は、独立領域の第3フラグを含み、第3フラグは、独立領域のクロッピング情報が独立領域出力情報内でシグナリングされるかを示す。
【0031】
一実施形態において、独立領域のクロッピング情報が独立領域出力情報内でシグナリングされることを第3フラグが示すことに基づき、処理回路は、(i)クロッピング情報と、(ii)独立領域のオフセット情報及び寸法情報とに基づいて、独立領域の出力ウィンドウの位置及びサイズを決定することができる。処理回路は、独立領域の出力ウィンドウの位置及びサイズに基づいて、復号した独立領域を出力することができる。
【0032】
一例において、復号すること及び表示のために出力することが、現在ピクチャの全体が復号される前に実行される。
【0033】
本開示の態様はまた、プログラムを格納した非一時的なコンピュータ読み取り可能記憶媒体を提供し、プログラムは、映像復号のための方法を実行するように、少なくとも1つのプロセッサによって実行可能である。
【図面の簡単な説明】
【0034】
開示に係る事項の更なる特徴、性質、及び様々な利点が、以下の詳細な説明及び添付の図面から、よりいっそう明らかになる。
【
図1A】イントラ予測モードの例示的なサブセットを概略的に示している。
【
図2】一実施形態に従った現在ブロック(201)及び周囲サンプルを示している。
【
図3】一実施形態に従った通信システム(300)の簡略ブロック図を概略的に示している。
【
図4】一実施形態に従った通信システム(400)の簡略ブロック図を概略的に示している。
【
図5】一実施形態に従ったデコーダの簡略ブロック図を概略的に示している。
【
図6】一実施形態に従ったエンコーダの簡略ブロック図を概略的に示している。
【
図7】他の一実施形態に従ったエンコーダのブロック図を示している。
【
図8】他の一実施形態に従ったデコーダのブロック図を示している。
【
図9A】本開示の一実施形態に従った、現在ピクチャ内の独立コーディング領域及び該独立領域に関連するクロッピングされた独立領域の一例を示している。
【
図9B】本開示の一実施形態に従った、現在ピクチャ内の別の独立領域と重なる独立領域の一例を示している。
【
図9C】本開示の一実施形態に従った、現在ピクチャ内の別の独立領域に含まれた独立領域の一例を示している。
【
図10】本開示の一実施形態に従った、独立領域出力情報を含む補足強化情報(SEI)メッセージにおける例示的なシンタックスを示している。
【
図11】本開示の一実施形態に従ったSEIメッセージの持続範囲の一例を示している。
【
図12】本開示の一実施形態に従った符号化プロセスを概説するフローチャートを示している。
【
図13】本開示の一実施形態に従った復号プロセスを概説するフローチャートを示している。
【
図14】一実施形態に従ったコンピュータシステムの概略図である。
【発明を実施するための形態】
【0035】
図3は、本開示の一実施形態に従った通信システム(300)の簡略ブロック図を例示している。通信システム(300)は、例えばネットワーク(350)を介して、互いに通信することができる複数の端末装置を含む。例えば、通信システム(300)は、ネットワーク(350)を介して相互接続された第1の対の端末装置(310)及び(320)を含む。
図3の例において、第1の対の端末装置(310)及び(320)は、データの一方向伝送を行う。例えば、端末装置(310)が、映像データ(例えば、端末装置(310)によってキャプチャされた映像ピクチャのストリーム)を、ネットワーク(350)を介した他の端末装置(320)への伝送のために符号化し得る。符号化された映像データは、1つ以上の符号化映像ビットストリームの形態で伝送されることができる。端末装置(320)が、ネットワーク(350)から符号化映像データを受信し、符号化映像データを復号して映像ピクチャを復元し、復元した映像データに従って映像ピクチャを表示し得る。一方向データ伝送は、メディアサービス提供アプリケーション及びそれに類するものにおいて一般的であり得る。
【0036】
他の一例において、通信システム(300)は、例えば、テレビ会議中に発生し得る符号化映像データの双方向伝送を行う第2の対の端末装置(330)及び(340)を含む。データの双方向伝送では、一例において、端末装置(330)及び(340)の各端末装置が、映像データ(例えば、その端末装置によってキャプチャされた映像ピクチャのストリーム)を、ネットワーク(350)を介した端末装置(330)及び(340)のうちの他方の端末装置への伝送のために符号化し得る。端末装置(330)及び(340)の各端末装置はまた、端末装置(330)及び(340)のうちの他方の端末装置によって送信された符号化映像データを受信し得るとともに、符号化映像データを復号して映像ピクチャを復元し、そして、復元した映像データに従って、アクセス可能なディスプレイ装置に映像ピクチャを表示し得る。
【0037】
図3において、端末装置(310)、(320)、(330)及び(340)は、サーバ、パーソナルコンピュータ、及びスマートフォンとして示されているが、本開示の原理は、そのように限定されるものではないとし得る。本開示の実施形態は、ラップトップコンピュータ、タブレットコンピュータ、メディアプレーヤ、及び/又は専用のテレビ会議機器での用途を見出し。ネットワーク(350)は、例えば、配線(有線)通信ネットワーク及び/又は無線通信ネットワークを含め、端末装置(310)、(320)、(330)及び(340)間で符号化された映像データを伝達するあらゆる数のネットワークを表す。通信ネットワーク(350)は、回線交換チャネル及び/又はパケット交換チャネルにてデータを交換し得る。代表的なネットワークは、遠距離通信ネットワーク、ローカルエリアネットワーク、ワイドエリアネットワーク、及び/又はインターネットを含む。本説明の目的上、ネットワーク(350)のアーキテクチャ及びトポロジーは、以下にて説明しない限り、本開示の動作にとって重要ではないとし得る。
【0038】
図4は、開示に係る事項に関するアプリケーションの一例として、ストリーミング環境におけるビデオエンコーダ及びビデオデコーダの配置を例示している。開示に係る事項は、例えば、テレビ会議や、デジタルTVや、CD、DVD、メモリスティック及びこれらに類するものを含むデジタル媒体上での圧縮映像の格納などを含め、映像を使用可能な他の用途にも等しく適用されることができる。
【0039】
ストリーミングシステムは、例えば圧縮されていない映像ピクチャのストリーム(402)を作り出す例えばデジタルカメラといった映像ソース(401)を含み得るものであるキャプチャサブシステム(413)を含み得る。一例において、映像ピクチャのストリーム(402)は、デジタルカメラによって撮影されるサンプルを含む。映像ピクチャのストリーム(402)は、符号化された映像データ(404)(又は符号化映像ビットストリーム)と比較して高いデータボリュームであることを強調するために太線として描かれており、映像ソース(401)に結合されたビデオエンコーダ(403)を含んだエレクトロニクス装置(420)によって処理され得る。ビデオエンコーダ(403)は、更に詳細に後述される開示に係る事項の態様を使用可能にする又は実装するための、ハードウェア、ソフトウェア、又はこれらの組み合わせを含むことができる。符号化された映像データ(404)(又は符号化映像ビットストリーム)は、映像ピクチャのストリーム(402)と比較して低いデータボリュームであることを強調するために細線として描かれており、後の使用のためにストリーミングサーバ(405)に格納されることができる。例えば
図4のクライアントサブシステム(406)及び(408)などの1つ以上のストリーミングクライアントサブシステムが、符号化された映像データ(404)のコピー(407)及び(409)を取り出すためにストリーミングサーバ(405)にアクセスすることができる。クライアントサブシステム(406)は、例えばエレクトロニクス装置(430)内の、ビデオデコーダ(410)を含むことができる。ビデオデコーダ(410)は、入ってくる符号化された映像データのコピー(407)を復号し、出ていく映像ピクチャのストリーム(411)を作り出すことができ、出ていく映像ピクチャのストリーム(411)が、ディスプレイ(412)(例えば、ディスプレイスクリーン)又は他のレンダリング装置(図示せず)上でレンダリングされ得る。一部のストリーミングシステムにおいて、符号化された映像データ(404)、(407)、及び(409)(例えば、映像ビットストリーム)は、特定の映像符号化/圧縮標準に従って符号化されることができる。それら標準の例は、ITU-T勧告H.265を含む。一例において、開発中のある映像符号化標準は、非公式にバーサタイルビデオコーディング(Versatile Video Coding;VVC)として知られている。開示に係る事項は、VVCの文脈で使用され得る。
【0040】
なお、エレクトロニクス装置(420)及び(430)は、他のコンポーネント(図示せず)を含むことができる。例えば、エレクトロニクス装置(420)はビデオデコーダ(図示せず)を含むことができ、エレクトロニクス装置(430)はビデオエンコーダ(図示せず)も含むことができる。
【0041】
図5は、本開示の一実施形態に従ったビデオデコーダ(510)のブロック図を示している。ビデオデコーダ(510)は、エレクトロニクス装置(530)に含まれ得る。エレクトロニクス装置(530)は、受信器(531)(例えば、受信回路)を含むことができる。ビデオデコーダ(510)は、
図4の例におけるビデオデコーダ(410)の代わりに使用されることができる。
【0042】
受信器(531)が、これと同じ実施形態又は他の一実施形態において、一度に1つの符号化映像シーケンスで、ビデオデコーダ(510)によって復号されることになる1つ以上の符号化映像シーケンスを受信することができ、各符号化映像シーケンスの復号は、他の符号化映像シーケンスとは独立である。符号化映像シーケンスは、符号化された映像データを格納するストレージ装置へのハードウェア/ソフトウェアリンクとし得るものであるチャネル(501)から受信され得る。受信器(531)は、符号化映像データを、例えば符号化された音声データ及び/又は補助データストリームといった他のデータと共に受信してもよく、それらのデータは、それらそれぞれの使用エンティティ(図示せず)に転送され得る。受信器(531)は、符号化映像シーケンスを他のデータから分離し得る。ネットワークジッタに対抗するために、受信器(531)とエントロピーデコーダ/パーサ520(以下、“パーサ(520)”)との間にバッファメモリ(515)が結合され得る。特定のアプリケーションにおいて、バッファメモリ(515)はビデオデコーダ(510)の一部である。他のものにおいて、それは、ビデオデコーダ(510)の外部にあってもよい(図示せず)。更なる他のものにおいて、例えばネットワークジッタに対抗するために、ビデオデコーダ(510)の外部にバッファメモリ(図示せず)が存在することができ、さらに、例えば再生タイミングを取り扱うために、ビデオデコーダ(510)の内部に別のバッファメモリ(515)が存在することができる。受信器(531)が、十分な帯域幅及び可制御性の格納/転送装置から又は等同期ネットワークからデータを受信しているとき、バッファメモリ(515)は、必要とされなくてもよく、又は小さくされることができる。例えばインターネットなどのベストエフォート型パケットネットワーク上での使用では、バッファメモリ(515)が、必要とされ得るとともに、比較的大きくされ、そして、有利には適応可能なサイズのものにされることができ、また、少なくとも部分的に、ビデオデコーダ(510)の外部のオペレーティングシステム又は同様の要素(図示せず)にて実装され得る。
【0043】
ビデオデコーダ(510)は、符号化映像シーケンスからシンボル(521)を再構成するためのパーサ(520)を含み得る。それらシンボルのカテゴリは、ビデオデコーダ(510)の動作を管理するために使用される情報を含むとともに、可能性として、
図5に示したように、エレクトロニクス装置(530)の統合部分ではないがエレクトロニクス装置(530)に結合されることが可能な、例えばレンダー装置(512)(例えば、ディスプレイスクリーン)などのレンダリング装置を制御する情報を含み得る。(1つ以上の)レンダリング装置用の制御情報は、補足強化情報(Supplementary Enhancement Information;SEI)メッセージ又はビデオユーザビリティ情報(Video Usability Information;VUI)パラメータセットフラグメント(図示せず)の形態とし得る。パーサ(520)は、受け取った符号化映像シーケンスを構文解析/エントロピー復号し得る。符号化映像シーケンスの符号化は、映像符号化技術又は標準によることができ、可変長符号化、ハフマン符号化、文脈依存性を持つ又は持たない算術符号化などを含め、様々な原理に従うことができる。パーサ(520)は、符号化映像シーケンスから、グループに対応する少なくとも1つのパラメータに基づいて、ビデオデコーダにおけるピクセルのサブグループのうちの少なくとも1つに関する一組のサブグループパラメータを抽出することができる。サブグループは、グループ・オブ・ピクチャ(GOP)、ピクチャ、タイル、スライス、マクロブロック、コーディングユニット(CU)、ブロック、変換ユニット(TU)、予測ユニットなどを含むことができる。パーサ(520)はまた、符号化映像シーケンス情報から、例えば変換係数、量子化パラメータ値、動きベクトルなどの情報を抽出し得る。
【0044】
パーサ(520)は、シンボル(521)を生み出すよう、バッファメモリ(515)から受け取った映像シーケンスにエントロピー復号/構文解析処理を実行し得る。
【0045】
シンボル(521)の再構成には、符号化された映像ピクチャ又はその部分のタイプ及び他の要因(例えば、インターピクチャ及びイントラピクチャ、インターブロック及びイントラブロックなど)に応じて、複数の異なるユニットが関与し得る。どのユニットが関与するか、及びそれらがどのように関与するかは、パーサ(520)によって符号化映像シーケンスから構文解析されたサブグループ制御情報によって制御されることができる。パーサ(520)と以下の複数ユニットとの間でのこのようなサブグループ制御情報の流れは、明瞭さのために図示していない。
【0046】
既述の機能ブロックを超えて、ビデオデコーダ(510)は概念的に、後述のような多数の機能ユニットに細分化されることができる。商業上の制約の下で稼働する実用的な実装において、これらのユニットのうちの多くが互いに密接にインタラクトし、少なくとも部分的に互いに統合され得る。しかしながら、開示に係る事項を説明するという目的のためには、以下の機能ユニットへの概念的な細分化が適切である。
【0047】
第1のユニットは、スケーラ/逆変換ユニット(551)である。スケーラ/逆変換ユニット(551)は、パーサ(520)からの(1つ以上の)シンボル(521)として、どの変換を使用すべきか、ブロックサイズ、量子化係数、量子化スケーリング行列などを含む制御情報とともに、量子化された変換係数を受け取る。スケーラ/逆変換ユニット(551)は、アグリゲータ(555)に入力されることが可能な、サンプル値を有するブロックを出力することができる。
【0048】
一部のケースにおいて、スケーラ/逆変換ユニット(551)の出力サンプルは、イントラコーディングされたブロック、すなわち、先行して再構成されたピクチャからの予測情報を使用していないが、現在ピクチャのうち先行して再構成された部分からの予測情報を使用することができるブロック、に関係し得る。このような予測情報は、イントラピクチャ予測ユニット(552)によって提供されることができる。一部のケースにおいて、イントラピクチャ予測ユニット(552)は、現在ピクチャバッファ(558)からフェッチされた周囲の既に再構成された情報を用いて、再構成中のブロックと同じサイズ及び形状のブロックを生成する。現在ピクチャバッファ(558)は、例えば、部分的に再構成された現在ピクチャ及び/又は完全に再構成された現在ピクチャをバッファリングする。アグリゲータ(555)は、一部のケースにおいて、サンプル毎に、イントラ予測ユニット(552)が生成した予測情報を、スケーラ/逆変換ユニット(551)によって提供される出力サンプル情報に付加する。
【0049】
他のケースにおいて、スケーラ/逆変換ユニット(551)の出力サンプルは、インターコーディングされた、動き補償された可能性のあるブロックに関係し得る。このような場合、動き補償予測ユニット(553)が、参照ピクチャメモリ(557)にアクセスして、予測に使用されるサンプルをフェッチすることができる。フェッチされたサンプルを、ブロックに関係するシンボル(521)に従って動き補償した後、これらのサンプルが、アグリゲータ(555)によって、スケーラ/逆変換ユニット(551)の出力(この場合、残差サンプル又は残差信号と呼ばれる)に付加されて、出力サンプル情報を生成することができる。そこから動き補償予測ユニット(553)が予測サンプルをフェッチする参照ピクチャメモリ(557)内のアドレスは、動きベクトルによって制御されることができ、例えばX、Y、及び参照ピクチャ成分を有し得るシンボル(521)の形態で動き補償予測ユニット(553)に利用可能である。動き補償はまた、サブサンプルの正確な動きベクトルが使用されるときに参照ピクチャメモリ(557)からフェッチされたサンプル値の補間や、動きベクトル予測メカニズムなどを含むことができる。
【0050】
アグリゲータ(555)の出力サンプルは、ループフィルタユニット(556)にて様々なループフィルタリング技術に掛けられ得る。映像圧縮技術は、インループ(in-loop)フィルタ技術を含むことができ、これは、符号化映像シーケンス(符号化映像ビットストリームとも称する)に含められてパーサ(520)からのシンボル(521)としてループフィルタユニット(556)に利用可能にされるパラメータによって制御されるが、符号化ピクチャ又は符号化映像シーケンスのうちの(復号順で)先行部分の復号中に得られたメタ情報にも応答することができるとともに、先行して再構成されてループフィルタリングされたサンプル値にも応答することができる。
【0051】
ループフィルタユニット(556)の出力は、レンダー装置(512)に出力されることが可能なサンプルストリームとすることができ、これはまた、将来のインターピクチャ予測での使用のために参照ピクチャメモリ(557)に格納されることができる。
【0052】
ある特定の符号化ピクチャは、完全に再構成されると、将来の予測のための参照ピクチャとして使用されることができる。例えば、現在ピクチャに対応する符号化ピクチャが完全に再構成され、その符号化ピクチャが参照ピクチャとして(例えば、パーサ(520)によって)特定されると、現在ピクチャバッファ(558)が参照ピクチャメモリ(557)の一部となり得るとともに、次の符号化ピクチャの再構成を開始する前に新しい現在ピクチャバッファが再割り当てされ得る。
【0053】
ビデオデコーダ(510)は、例えばITU-T勧告H.265などの標準における所定の映像圧縮技術に従って復号処理を実行し得る。符号化映像シーケンスは、映像圧縮技術又は標準の構文と映像圧縮技術又は標準において文書化されたプロファイルとの双方を忠実に守るという意味で、使用される映像圧縮技術又は標準によって規定される構文に従い得る。具体的には、プロファイルは、映像圧縮技術又は標準において利用可能な全てのツールから、特定のツールを、そのプロファイルの下での使用に利用可能なツールはそれだけであるように選択することができる。また、コンプライアンスのために、符号化映像シーケンスの複雑さが、映像圧縮技術又は標準のレベルによって規定される範囲内にあることも必要である。場合により、レベルは、最大ピクチャサイズ、最大フレームレート、最大再構成サンプルレート(例えば、毎秒メガサンプルで測定される)、最大参照ピクチャサイズなどを制約する。レベルによって設定される制限は、場合により、仮説的リファレンスデコーダ(Hypothetical Reference Decoder;HRD)仕様、及び符号化映像シーケンスにてシグナリングされるHRDバッファ管理用のメタデータを通して更に制約され得る。
【0054】
一実施形態において、受信器(531)は、符号化された映像と共に追加(冗長)データを受信し得る。追加データは、(1つ以上の)符号化映像シーケンスの一部として含められ得る。追加データは、データを適切に復号するため、及び/又は元の映像データをいっそう正確に再構成するために、ビデオデコーダ(510)によって使用され得る。追加データは、例えば、時間的、空間的、又は信号対雑音比(SNR)エンハンスメントレイヤ、冗長スライス、冗長ピクチャ、順方向誤り訂正符号などの形態とし得る。
【0055】
図6は、本開示の一実施形態に従った、ビデオエンコーダ(603)のブロック図を示している。ビデオエンコーダ(603)は、エレクトロニクス装置(620)に含まれる。例えば、エレクトロニクス装置(620)は送信器(640)(例えば、送信回路)を含んでいる。ビデオエンコーダ(603)は、
図4の例におけるビデオエンコーダ(403)の代わりに使用されることができる。
【0056】
ビデオエンコーダ(603)は、エンコーダ(603)によって符号化されることになる(1つ以上の)映像画像をキャプチャし得る映像ソース(601)(
図6の例ではエレクトロニクス装置(620)の一部ではない)から映像サンプルを受信し得る。他の一例において、映像ソース(601)は、エレクトロニクス装置(620)の一部である。
【0057】
映像ソース(601)は、ビデオエンコーダ(603)によって符号化されるソース映像シーケンスを、任意の好適なビット深さ(例えば、8ビット、10ビット、12ビット、…)、任意の色空間(例えば、BT.601 Y CrCB、RGB、…)、及び任意の好適なサンプリング構造(例えば、Y CrCb 4:2:0、Y CrCb 4:4:4)のものとし得るデジタル映像サンプルストリームの形態で提供し得る。メディアサービス提供システムにおいて、映像ソース(601)は、事前に準備された映像を格納したストレージ装置とし得る。テレビ会議システムでは、映像ソース(601)は、ローカルな画像情報を映像シーケンスとしてキャプチャするカメラとし得る。映像データは、順に見たときに動きを伝える複数の個々のピクチャとして提供され得る。それらピクチャ自体は、ピクセルの空間アレイとして編成されることができ、各ピクセルが、使用されるサンプリング構造、色空間などに応じて、1つ以上のサンプルを有することができる。当業者は、ピクセルとサンプルとの関係を直ちに理解することができる。以下の説明は、サンプルに焦点を当てている。
【0058】
一実施形態によれば、ビデオエンコーダ(603)は、ソース映像シーケンスのピクチャを、リアルタイムで、又はアプリケーションによって要求される他の時間制約下で、符号化映像シーケンス(643)へと符号化及び圧縮し得る。適切な符号化速度を強制することが、コントローラ(650)の1つの機能である。一部の実施形態において、コントローラ(650)は、後述するような他の機能ユニットを制御するとともに、それら他の機能ユニットに機能的に結合される。その結合は、明瞭さのために図示されていない。コントローラ(650)によって設定されるパラメータは、レート制御関連パラメータ(ピクチャスキップ、量子化器、レート歪み最適化技術のラムダ値、…)、ピクチャサイズ、グループ・オブ・ピクチャ(GOP)レイアウト、最大動きベクトル探索範囲などを含み得る。コントローラ(650)は、特定のシステム設計に合わせて最適化されるビデオエンコーダ(603)に関連する他の好適な機能を有するように構成されることができる。
【0059】
一部の実施形態において、ビデオエンコーダ(603)は、コーディングループにて動作するように構成される。過度に単純化した説明として、一例において、コーディングループは、ソースコーダ(630)(例えば、符号化される入力ピクチャ及び(1つ以上の)参照ピクチャに基づいて例えばシンボルストリームなどのシンボルを作成することを担う)と、ビデオエンコーダ(603)に埋め込まれた(ローカル)デコーダ(633)とを含むことができる。デコーダ(633)は、(シンボルと符号化映像ビットストリームとの間での圧縮が、開示に係る事項において検討される映像圧縮技術において可逆であるときに)(リモート)デコーダも作成するのと同様にして、シンボルを再構成してサンプルデータを生成する。再構成されたサンプルストリーム(サンプルデータ)が、参照ピクチャメモリ(634)に入力される。シンボルストリームの復号は、デコーダ位置(ローカル又はリモート)に依存しないビット正確な結果をもたらすので、参照ピクチャメモリ(634)内のコンテンツもローカルエンコーダとリモートエンコーダとの間でビット正確である。換言すれば、エンコーダの予測部分は、デコーダが復号中に予測を使用するときに“見る”のとまったく同じサンプル値を参照ピクチャサンプルとして“見る”。この参照ピクチャ同期性の基本原理(及び、例えばチャネルエラーのために、同期性を維持することができない場合に結果として生じるドリフト)は、一部の関連技術でも使用されている。
【0060】
“ローカル”デコーダ(633)の動作は、例えばビデオデコーダ(510)などの“リモート”デコーダのものと同じであるとすることができ、それは、
図5に関連して既に詳細に上述されている。しかしながら、
図5も手短に参照するに、シンボルが利用可能であり、且つエントロピーコーダ(645)及びパーサ(520)によるシンボルの符号化映像シーケンスへの符号化/復号は可逆であるとし得るので、バッファメモリ(515)及びパーサ(520)を含むビデオデコーダ(510)のエントロピー復号部分は、ローカルデコーダ(633)に完全に実装されなくてよい。
【0061】
一実施形態において、デコーダ内に存在する構文解析/エントロピー復号を除くデコーダ技術が、対応するエンコーダ内に、同じ又は実質的に同じ機能的形態で存在する。従って、開示に係る事項はデコーダ動作に焦点を当てている。エンコーダ技術の説明は、徹底して説明したデコーダ技術の逆であるので、省略することができる。ある特定の分野では、より詳細な説明を以下に提供する。
【0062】
動作時、一部の例において、ソースコーダ(630)は、入力ピクチャを、映像シーケンスからの、“参照ピクチャ”として指定された1つ以上の先に符号化されたピクチャに対して予測的に符号化するものである動き補償予測コーディングを実行し得る。斯くして、コーディングエンジン(632)は、入力ピクチャのピクセルブロックと、入力ピクチャに対する(1つ以上の)予測基準として選択され得る(1つ以上の)参照ピクチャのピクセルブロックとの間の差分を符号化する。
【0063】
ローカルビデオデコーダ(633)は、参照ピクチャとして指定され得るピクチャの符号化映像データを、ソースコーダ(630)によって作成されたシンボルに基づいて復号し得る。コーディングエンジン(632)の動作は、有利には、非可逆プロセスとし得る。符号化映像データが映像デコーダ(
図6には示されていない)で復号され得るとき、再構成された映像シーケンスは典型的に、幾分の誤差を伴うソース映像シーケンスのレプリカであり得る。ローカルビデオデコーダ(633)は、参照ピクチャ上でビデオデコーダによって実行され得る復号プロセスを複製し、再構成された参照ピクチャを参照ピクチャメモリ(634)に格納させるようにし得る。斯くして、ビデオエンコーダ(603)は、ファーエンドのビデオデコーダによって得られることになる再構成参照ピクチャと共通のコンテンツを持つ再構成参照ピクチャのコピーをローカルに格納し得る。
【0064】
予測器(635)は、コーディングエンジン(632)のために予測探索を実行し得る。すなわち、符号化すべき新たなピクチャに関して、予測器(636)は、新たなピクチャ用の適切な予測基準としての役割を果たし得るサンプルデータ(候補参照ピクセルブロックとして)又は例えば参照ピクチャ動きベクトルやブロック形状などの特定のメタデータについて、参照ピクチャメモリ(634)を検索し得る。予測器(635)は、適切な予測参照を見出すために、ピクセルブロック毎に動作し得る。場合により、予測器(635)によって得られた検索結果により決定されるように、入力ピクチャは、参照ピクチャメモリ(634)に格納された複数の参照ピクチャから引き出された予測基準を有し得る。
【0065】
コントローラ(650)は、例えば、映像データを符号化するのに使用されるパラメータ及びサブグループパラメータの設定を含め、ソースコーダ(630)のコーディング処理を管理し得る。
【0066】
前述の全ての機能ユニットの出力が、エントロピーコーダ(645)におけるエントロピーコーディングに掛けられ得る。エントロピーコーダ(645)は、例えばハフマン符号化、可変長符号化、算術符号化などの技術に従ってシンボルを可逆圧縮することによって、様々な機能ユニットによって生成されたシンボルを符号化映像シーケンスへと変換する。
【0067】
送信器(640)が、エントロピーコーダ(645)によって生成された(1つ以上の)符号化映像シーケンスをバッファリングし、通信チャネル(660)を介した伝送のために準備し得る。通信チャネル(660)は、符号化された映像データを格納するストレージ装置へのハードウェア/ソフトウェアリンクとし得る。送信器(640)は、ビデオエンコーダ(603)からの符号化映像データを、例えば符号化オーディオデータ及び/又は補助データストリーム(ソースは図示していない)といった、送信される他のデータとマージし得る。
【0068】
コントローラ(650)は、ビデオエンコーダ(603)の動作を管理し得る。コーディングにおいて、コントローラ(650)は、各符号化ピクチャに、それぞれのピクチャに適用され得るコーディング技術に影響を及ぼし得るものである特定の符号化ピクチャタイプを割り当て得る。例えば、ピクチャはしばしば、以下のピクチャタイプのうちの1つを割り当てられ得る。
【0069】
イントラピクチャ(Iピクチャ)は、シーケンス内の如何なる他のピクチャも予測のソースとして使用することなく符号化及び復号され得るものとし得る。一部の映像コーデックは、例えば独立デコーダリフレッシュ(Independent Decoder Refresh;IDR)ピクチャを含め、複数の異なるタイプのイントラピクチャを許している。当業者は、Iピクチャのそれら異形、並びにそれらそれぞれの用途及び特徴を知っている。
【0070】
予測ピクチャ(Pピクチャ)は、各ブロックのサンプル値を予測するために、多くて1つの動きベクトルと参照インデックスとを使用して、イントラ予測又はインター予測を用いて符号化及び復号され得るものとし得る。
【0071】
双方向予測ピクチャ(Bピクチャ)は、各ブロックのサンプル値を予測するために、多くて2つの動きベクトルと参照インデックスとを使用して、イントラ予測又はインター予測を用いて符号化及び復号され得るものとし得る。同様に、多重予測ピクチャは、単一のブロックの再構成のために3つ以上の参照ピクチャと関連メタデータとを使用することができる。
【0072】
ソースピクチャは、一般に、空間的に複数のサンプルブロック(例えば、各々4×4、8×8、4×8、又は16×16サンプルのブロック)に細分化され、ブロック毎に符号化され得る。ブロックは、それらブロックのそれぞれのピクチャに適用されるコーディング割り当てによって決定される他の(既に符号化された)ブロックを参照して予測的にコーディングされ得る。例えば、Iピクチャのブロックは非予測的にコーディングされることができ、あるいは、それらは同じピクチャの既に符号化されたブロックを参照して予測的にコーディングされることができる(空間予測又はイントラ予測)。Pピクチャのピクセルブロックは、非予測的に、あるいは、1つの先に符号化された参照ピクチャを参照して空間予測又は時間予測を介して、コーディングされることができる。Bピクチャのブロックは、非予測的に、あるいは、1つ又は2つの先に符号化された参照ピクチャを参照して空間予測又は時間予測を介して、コーディングされることができる。
【0073】
ビデオエンコーダ(603)は、例えばITU-T勧告H.265などの所定の映像コーディング技術又は標準に従ってコーディング処理を実行し得る。その動作において、ビデオエンコーダ(603)は、入力映像シーケンスにおける時間的及び空間的な冗長性を活用する予測的なコーディング処理を含め、様々な圧縮処理を実行し得る。符号化された映像データは、それ故に、使用されている映像コーディング技術又は標準によって規定される構文に従い得る。
【0074】
一実施形態において、送信器(640)は、符号化された映像と共に追加データを送信し得る。ソースコーダ(630)が、そのようなデータを、符号化映像シーケンスの一部として含め得る。追加データは、時間的/空間的/SNRエンハンスメントレイヤ、例えば冗長ピクチャ及びスライスなどの他の形態の冗長データ、SEIメッセージ、VUIパラメータセットフラグメントなどを有し得る。
【0075】
映像は、時間シーケンスにて複数のソースピクチャ(映像ピクチャ)としてキャプチャされ得る。イントラピクチャ予測(しばしば、イントラ予測と略される)は、所与のピクチャ内の空間的な相関を利用し、インターピクチャ予測は、ピクチャ間の(時間的又は他の)相関を利用する。一例において、現在ピクチャと称される符号化/復号中の特定のピクチャが、複数のブロックへと分割される。現在ピクチャ内のあるブロックが、映像内の先にコーディングされ且つ依然としてバッファリングされている参照ピクチャ内の参照ブロックに類似しているとき、現在ピクチャ内のそのブロックは、動きベクトルと称されるベクトルによってコーディングされることができる。動きベクトルは、参照ピクチャ内の参照ブロックを指し、複数の参照ピクチャが使用されている場合には、参照ピクチャを特定する第3の次元を持つことができる。
【0076】
一部の実施形態において、インターピクチャ予測において双予測技術を使用することができる。双予測技術によれば、例えば、映像内でどちらも現在ピクチャに対して復号順で先である(しかし、表示順では、それぞれ過去及び将来であってもよい)第1の参照ピクチャ及び第2の参照ピクチャなどの、2つの参照ピクチャが使用される。現在ピクチャ内のブロックを、第1の参照ピクチャ内の第1の参照ブロックを指す第1の動きベクトルと、第2の参照ピクチャ内の第2の参照ブロックを指す第2の動きベクトルとによってコーディングすることができる。そのブロックは、第1の参照ブロックと第2の参照ブロックとの組み合わせによって予測されることができる。
【0077】
さらに、インターピクチャ予測においてコーディング効率を改善するために、マージモード技術を使用することができる。
【0078】
本開示の一部の実施形態によれば、例えばインターピクチャ予測及びイントラピクチャ予測などの予測が、ブロックの単位で実行される。例えば、HEVC標準によれば、映像ピクチャのシーケンス内のピクチャが、圧縮のために複数のコーディングツリーユニット(CTU)に分割され、ピクチャ内のそれらCTUは、例えば64×64ピクセル、32×32ピクセル、又は16×16ピクセルなどの同一サイズを有する。一般に、CTUは、1つのルマ(luma)CTBと2つのクロマ(chroma)CTBである3つのコーディングツリーブロック(CTB)を含む。各CTUが、1つ又は複数のコーディングユニット(CU)へと再帰的に四分木分割され得る。例えば、64×64ピクセルのCTUは、64×64ピクセルの1つのCU、又は32×32ピクセルの4つのCU、又は16×16ピクセルの16個のCUに分割されることができる。一例において、各CUが、例えばインター予測タイプ又はイントラ予測タイプなど、そのCUの予測タイプを決定するために分析される。CUは、時間的及び/又は空間的な予測可能性に依存して1つ以上の予測ユニットに分割される。一般に、各予測ユニットは、ルマ予測ブロック(PB)と2つのクロマPBとを含む。一実施形態において、コーディング(符号化/復号)に際しての予測動作は、予測ブロックの単位で実行される。予測ブロックの一例としてルマ予測ブロックを用いると、該予測ブロックは、例えば8×8ピクセル、16×16ピクセル、8×16ピクセル、16×8ピクセル、及びこれらに類するものなど、ピクセルの値(例えば、ルマ値)の行列を含む。
【0079】
図7は、本開示の他の一実施形態に従ったビデオエンコーダ(703)の図を示している。ビデオエンコーダ(703)は、映像ピクチャのシーケンス内の現在映像ピクチャの中の処理ブロック(例えば、予測ブロック)のサンプル値を受信し、該処理ブロックを符号化映像シーケンスの一部である符号化ピクチャへと符号化するように構成される。一例において、ビデオエンコーダ(703)は、
図4の例におけるビデオエンコーダ(403)の代わりに使用される。
【0080】
HEVCの例において、ビデオエンコーダ(703)は、例えば予測ブロックの8×8サンプルなどの、処理ブロックに関するサンプル値の行列を受信する。ビデオエンコーダ(703)は、例えばレート-歪み最適化を用いて、処理ブロックが最良にコーディングされるのが、イントラモードを用いてなのか、インターモードを用いてなのか、それとも双予測モードを用いてなのかを決定する。処理ブロックがイントラモードでコーディングされる場合、ビデオエンコーダ(703)は、イントラ予測技術を使用して処理ブロックを符号化ピクチャへと符号化することができ、処理ブロックがインターモード又は双予測モードでコーディングされる場合、ビデオエンコーダ(703)は、それぞれ、インター予測技術又は双予測技術を使用して処理ブロックを符号化ピクチャへと符号化することができる。特定の映像符号化技術において、マージモードは、予測子の外側の符号化動きベクトル成分の利益なしで1つ以上の動きベクトル予測子から動きベクトルが導出されるインターピクチャ予測サブモードとし得る。特定の他の映像コーディング技術では、対象ブロックに適用可能な動きベクトル成分が存在してもよい。一例において、ビデオエンコーダ(703)は、例えば処理ブロックのモードを決定するためのモード決定モジュール(図示せず)などの、他のコンポーネントを含む。
【0081】
図7の例において、ビデオエンコーダ(703)は、
図7に示すように共に結合された、インターエンコーダ(730)、イントラエンコーダ(722)、残差計算器(723)、スイッチ(726)、残差エンコーダ(724)、全般コントローラ(721)、及びエントロピーエンコーダ(725)を含んでいる。
【0082】
インターエンコーダ(730)は、現在ブロック(例えば、処理ブロック)のサンプルを受信し、ブロックを参照ピクチャ内の1つ以上の参照ブロック(例えば、先行ピクチャ内及び後のピクチャ内のブロック)と比較し、インター予測情報(例えば、インター符号化技術に従った冗長情報の記述、動きベクトル、マージモード情報)を生成し、そして、何らかの好適技術を使用して、インター予測情報に基づいてインター予測結果(例えば、予測ブロック)を計算するように構成される。一部の例において、参照ピクチャは、符号化された映像情報に基づいて復号された参照ピクチャである。
【0083】
イントラエンコーダ(722)は、現在ブロック(例えば、処理ブロック)のサンプルを受信し、一部のケースにおいて、ブロックを、同じピクチャ内の既に符号化されたブロックと比較し、変換後の量子化係数を生成し、一部のケースでは、イントラ予測情報(例えば、1つ以上のイントラ符号化技術に従ったイントラ予測方向情報)も生成する。一例において、イントラエンコーダ(722)はまた、イントラ予測情報及び同じピクチャ内の参照ブロックに基づいて、イントラ予測結果(例えば、予測ブロック)を計算する。
【0084】
全般コントローラ(721)は、全般制御データを決定し、全般制御データに基づいてビデオエンコーダ(703)の他のコンポーネントを制御するように構成される。一例において、全般コントローラ(721)は、ブロックのモードを決定し、そのモードに基づいてスイッチ(726)に制御信号を提供する。例えば、モードがイントラモードであるとき、全般コントローラ(721)は、残差計算器(723)による使用のためにイントラモード結果を選択するようにスイッチ(726)を制御するとともに、イントラ予測情報を選択してイントラ予測情報をビットストリームに含めるようにエントロピーエンコーダ(725)を制御し、モードがインターモードであるときには、全般コントローラ(721)は、残差計算器(723)による使用のためにインター予測結果を選択するようにスイッチ(726)を制御するとともに、インター予測情報を選択してインター予測情報をビットストリームに含めるようにエントロピーエンコーダ(725)を制御する。
【0085】
残差計算器(723)は、受信されたブロックと、イントラエンコーダ(722)又はインターエンコーダ(730)から選択された予測結果との間の差(残差データ)を計算するように構成される。残差エンコーダ(724)は、残差データに基づいて動作し、残差データを符号化して変換係数を生成するように構成される。一例において、残差エンコーダ(724)は、残差データを空間ドメインから周波数ドメインに変換し、変換係数を生成するように構成される。次いで、変換係数が量子化処理にかけられて、量子化された変換係数が得られる。様々な実施形態において、ビデオエンコーダ(703)はまた、残差デコーダ(728)を含む。残差デコーダ(728)は、逆変換を実行し、復号された残差データを生成するように構成される。復号された残差データは、イントラエンコーダ(722)及びインターエンコーダ(730)によって好適に使用されることができる。例えば、インターエンコーダ(730)は、復号された残差データ及びインター予測情報に基づいて、復号されたブロックを生成することができ、イントラエンコーダ(722)は、復号された残差データ及びイントラ予測情報に基づいて、復号されたブロックを生成することができる。復号されたブロックが好適に処理されて、復号されたピクチャが生成され、そして、復号されたピクチャは、メモリ回路(図示せず)にバッファリングされ得るとともに、一部の例では参照ピクチャとして使用され得る。
【0086】
エントロピーエンコーダ(725)は、符号化されたブロックを含むようにビットストリームをフォーマットするように構成される。エントロピーエンコーダ(725)は、例えばHEVC標準などの好適な標準に従って種々の情報を含めるように構成される。一例において、エントロピーエンコーダ(725)は、全般制御データ、選択された予測情報(例えば、イントラ予測情報又はインター予測情報)、残差情報、及び他の好適情報を、ビットストリームに含めるように構成される。なお、本開示に係る事項によれば、インターモード又は双予測モードのいずれかのマージサブモードにてブロックをコーディングするとき、残差情報は存在しない。
【0087】
図8は、本開示の他の一実施形態に従ったビデオデコーダ(810)の図を示している。ビデオデコーダ(810)は、符号化映像シーケンスの一部である符号化されたピクチャを受信し、該符号化されたピクチャを復号して再構成ピクチャを生成するように構成される。一例において、ビデオデコーダ(810)は、
図4の例におけるビデオデコーダ(410)の代わりに使用される。
【0088】
図8の例において、ビデオデコーダ(810)は、
図8に示すように共に結合された、エントロピーデコーダ(871)、インターデコーダ(880)、残差デコーダ(873)、再構成モジュール(874)、及びイントラデコーダ(872)を含んでいる。
【0089】
エントロピーデコーダ(871)は、符号化されたピクチャから、符号化されたピクチャを構成するシンタックス要素を表す特定のシンボルを再構成するように構成され得る。そのようなシンボルは、例えば、ブロックがコーディングされるモード(例えば、イントラモード、インターモード、双予測モード、マージサブモード又は他のサブモードにおける後者の2つなど)、それぞれイントラデコーダ(872)又はインターデコーダ(880)による予測のために使用される特定のサンプル又はメタデータを特定することができる予測情報(例えば、イントラ予測情報又はインター予測情報など)、例えば量子化された変換係数の形態をした残差情報、及びこれらに類するものを含むことができる。一例において、予測モードがインターモード又は双予測モードであるときには、インター予測情報がインターデコーダ(880)に提供され、予測タイプがイントラ予測タイプであるときには、イントラ予測情報がイントラデコーダ(872)に提供される。残差情報は、逆量子化にかけられることができ、残差デコーダ(873)に提供される。
【0090】
インターデコーダ(880)は、インター予測情報を受信し、インター予測情報に基づいてインター予測結果を生成するように構成される。
【0091】
イントラデコーダ(872)は、イントラ予測情報を受信し、イントラ予測情報に基づいて予測結果を生成するように構成される。
【0092】
残差デコーダ(873)は、逆量子化を実行して、量子化解除された変換係数を抽出し、そして、量子化解除された変換係数を処理して、残差を周波数ドメインから空間ドメインに変換するように構成される。残差デコーダ(873)はまた、特定の制御情報(量子化器パラメータ(QP)を含む)を必要としてもよく、その情報は、エントロピーデコーダ(871)によって提供され得る(これは、低ボリュームの制御情報のみとし得るのでデータ経路は不図示)。
【0093】
再構成モジュール(874)は、残差デコーダ(873)によって出力される残差と、(場合に応じてインター又はイントラ予測モジュールによって出力される)予測結果とを空間ドメインで組み合わせて、再構成ブロックを形成するように構成される。再構成ブロックは、再構成ピクチャの一部とすることができ、代わって再構成ピクチャは、再構成映像の一部とすることができる。なお、視覚的な品質を向上させるために、例えばデブロッキング処理及びそれに類するものなど、他の好適な処理を実行することができる。
【0094】
なお、ビデオエンコーダ(403)、(603)、及び(703)、並びにビデオデコーダ(410)、(510)、及び(810)は、如何なる好適技術を用いて実装されてもよい。一実施形態において、ビデオエンコーダ(403)、(603)、及び(703)、並びにビデオデコーダ(410)、(510)、及び(810)は、1つ以上の集積回路を用いて実装され得る。他の一実施形態において、ビデオエンコーダ(403)、(603)及び(703)、並びにビデオデコーダ(410)、(510)、及び(810)は、ソフトウェア命令を実行する1つ以上のプロセッサを用いて実装され得る。
【0095】
本開示の一実施形態によれば、ビットストリームは、1つ以上の符号化映像シーケンス(coded video sequence;CVS)を含むことができる。CVSは、他のCVSとは独立にコーディングされることができる。各CVSは1つ以上のレイヤを含むことができ、各レイヤは、特定の品質(例えば、空間解像度)を持つ映像を表すもの、又は例えば深度マップ、透明度マップ、若しくは透視図といった、特定のコンポーネント解釈プロパティを表すものとすることができる。時間次元において、各CVSは1つ以上のアクセスユニット(AU)を含むことができる。各AUは、同じ時点に対応する複数の異なるレイヤの1つ以上のピクチャを含むことができる。符号化レイヤ映像シーケンス(coded layer video sequence;CLVS)は、同一レイヤ内の一連のピクチャユニットを含むことができるレイヤ毎のCVSである。ビットストリームが複数のレイヤを持つ場合、ビットストリームのCVSは各レイヤに対する1つ以上のCLVSを持つことができる。
【0096】
一実施形態において、CVSは一連のAUを含む。一連のAUは、復号順に、イントラランダムアクセスポイント(intra random access point;IRAP)AUと、それに続くIRAP AUではない0個以上のAUと、を含むことができる。一例において、該0個以上のAUは、IRAP AUである後続AU(ただし、これは含まない)までの全ての後続AUを含む。一例において、CLVSは、一連のピクチャと、それに関連した、CVSのベースレイヤのビデオコーディング層(video coding layer;VCL)ネットワーク抽象化層(network abstraction layer;NAL)ユニットではないユニットとを含む。
【0097】
一例において、ピクチャユニットは符号化されたピクチャを含む。ピクチャユニット(PU)は、規定された分類ルールに従って相互に関連付けられた一組のNALユニットを含むことができる。それらNALユニットは復号順に連続することができる。PUは、ピクチャヘッダ(PH)と、符号化ピクチャを構成する1つ以上のVCL NALユニットとを含み得る。
【0098】
本開示の一部の態様によれば、例えば、符号化ビットストリームの復号及び/又は表示を支援するため、又は別の目的のために、例えば補足強化情報(SEI)メッセージなどのメッセージを符号化ビットストリームに含めることができる。SEIメッセージは、例えばVCL NALユニットから符号化ピクチャのサンプルを復号するなどの復号には必要のない情報を含むことができる。SEIメッセージは、復号プロセスによってルマ又はクロマサンプルを構築するためのオプションとし得る。一部の例において、SEIメッセージは、復号プロセスにおいてルマ又はクロマサンプルを再構成するのに必要とされない。また、SEIメッセージをサポートする映像コーディング標準に準拠するデコーダは、準拠したものであるために、SEIメッセージを処理することを必要とされるわけではない。一部のコーディング標準では、ビットストリーム適合(conformance)を確認するため、又は出力タイミングデコーダ適合のために、何らかのSEIメッセージ情報が必要とされることがある。SEIメッセージは、オプションで、ある特定の標準(例えば、HEVC265又はVVC)に対する出力順適合のために準拠したデコーダによって処理され得る。一実施形態において、SEIメッセージがビットストリーム内に存在する(例えば、シグナリングされる)。
【0099】
SEIメッセージは、映像ピクチャのタイミングを示したり、コーディングされる映像の様々な特性を記述したり、それら様々な特性がどのように使用若しくは強化され得るかを記述したりする様々なタイプのデータを含むことができる。一部の例において、SEIメッセージは、コアの復号プロセスには影響しないが、どのように映像を後処理又は表示するのが推奨されるかを示すことができる。
【0100】
SEIメッセージを用いて、符号化ビットストリームについての追加情報を提供し、それを用いて、ビットストリームの復号後のビットストリームのプレゼンテーションを変更したり、デコーダに情報を提供したりすることができる。例えば、SEIメッセージは、とりわけ、フレームパッキング情報(例えば、映像フレーム内に映像データを配置する方式を記述する)、コンテンツ記述(例えば、符号化ビットストリームが例えば360度映像であることを示す)、及び色情報(例えば、色域及び/又は色範囲)などを提供するために使用されてきた。
【0101】
一部の例において、SEIメッセージを用いて、符号化ビットストリームが360度映像又はVR映像を含むことをデコーダにシグナリングすることができる。デコーダは、上の情報を用いて、360度プレゼンテーションのために映像データをレンダリングすることができる。あるいは、デコーダが360度映像をレンダリングすることができない場合、デコーダは上の情報を用いて映像データをレンダリングしないことができる。
【0102】
本開示は、符号化映像ストリームについての独立コーディング領域出力に関する映像コーディング技術を含む。
【0103】
様々なイマーシブメディア(例えば、仮想現実(VR)映像、映像ベースのポイントクラウドアプリケーション)並びにゲーム及び/又はeスポーツストリーミングアプリケーションは、ピクチャ全体のフルアクセスに代わる、1つ以上のサブピクチャへの部分アクセスから恩恵を受け得る。VR映像は、360VR又はVR360とも呼ばれ得る。VR映像又は360VRは、全方位カメラを用いてキャプチャされた映像を指すことができる。全方位カメラは、360度全体を同時に撮影することを可能にする。VR映像内でユーザはシーン全体を見渡すことができる。通常の映像と比較して、VR映像は没入感のあるインタラクティブな体験を提供することができる。一例において、VR360アプリケーションでは、ヘッドマウントディスプレイ又は他のポータルデバイス上に、ユーザの現在のビューポートに対応する部分領域のみが表示される。映像ベースのポイントクラウドアプリケーションの一例では、ボリュームあるコンテンツから特定の投影ビューを表示するための、コンテンツの局所アクセスが有益であり、例えば、少量のデータが局所アクセスに使用される。
【0104】
特定の映像コーディング標準(例えば、VVCバージョン1)では、サブピクチャ分割機能がサポートされている。一例において、シーケンスパラメータセット(SPS)内のシンタックス要素subpic_treated_as_pic_flag[i]が1に等しいとき、i番目のサブピクチャの境界がピクチャ境界として扱われ、i番目のサブピクチャの境界は動き補償予測のためにパディングされ得る。
【0105】
本開示の一実施形態によれば、ピクチャ全体の完全な復号が完了する前に、システム(例えば、映像コーディングシステム、ビデオデコーダ、又はこれらに類するもの)によって、1つ以上のサブピクチャに関連する独立してコーディングされる領域(又は独立領域)に、より早くアクセスすることができる。ピクチャは、独立してコーディングされる領域を含むことができる。独立コーディング領域の符号化データは、例えばピクチャの他の(1つ以上の)コーディング領域とは独立に、アクセス、復号、及び/又は出力されることができる。一例において、独立コーディング領域が長方形の形状を持つ場合、この独立領域の符号化データは、独立にアクセス、復号、及び/又は出力されることができる。一例において、独立領域は、ピクチャの他のコーディング領域とは独立して表示されることができる。
【0106】
補足強化情報(SEI)メッセージを復号することができる。本開示の一実施形態によれば、独立領域出力情報がSEIメッセージ内でシグナリングされるかを示す第1フラグを、SEIメッセージから決定することができる。一例において、SEIメッセージは独立領域出力情報を示す。
図9Aを参照するに、独立領域出力情報は、現在ピクチャ(900)内の1つ以上の独立領域を示すことができる。該1つ以上の独立領域は、独立して復号可能であるように構成されている。
【0107】
図9Aは、本開示の一実施形態に従った、現在ピクチャ(900)内の独立コーディング領域(911)及び該独立領域(911)に関連するクロッピングされた独立領域(921)の一例を示している。現在ピクチャ(900)は、符号化されたピクチャとすることができる。現在ピクチャ(900)は、1つ以上のサブピクチャ(例えば、サブピクチャ0-5)を含むことができる。現在ピクチャ(900)は1つ以上の領域を含むことができ、該1つ以上の領域の各々が少なくとも1つのサブピクチャを含むことができる。該1つ以上の領域は、1つ以上の独立領域及び/又は非独立領域(例えば、現在ピクチャの他の(1つ以上の)領域から独立してコーディングされるのではない(1つ以上の)コーディング領域)を含むことができる。
【0108】
図9Aに示す例において、現在ピクチャ(900)は独立領域(911)を含んでいる。独立領域(911)はサブピクチャ1-2を含んでいる。独立領域(911)の符号化データは、ピクチャ(900)の他のコーディング領域とは独立してアクセス、復号、及び/又は出力されることができる。独立領域(911)は、現在ピクチャ(900)の全体が復号されるかどうかに関係なく復号されることができる。独立領域(911)の符号化データは、独立領域(911)に含まれないピクチャ(900)の他のサブピクチャ(例えば、サブピクチャ0及びサブピクチャ3-5)とは独立してアクセス、復号、及び/又は出力されることができる。独立領域(911)は、より早くビデオデコーダによってアクセスされることができる。一例において、独立領域(911)は、ピクチャ(900)全体の完全な復号の前に、アクセス、復号、及び/又は出力される。一例において、独立領域(911)は、ピクチャ(900)全体の完全な復号なしで、アクセス、復号、及び/又は出力される。一例において、独立領域(911)は、ピクチャ(900)全体内のいずれの他の領域の復号よりも前に、アクセス、復号、及び/又は出力される。一例において、独立領域(911)は、ピクチャ(900)全体の中で、アクセス、復号、及び/又は出力される唯一の領域である。
【0109】
一例において、独立領域(例えば、独立領域(911))が長方形の形状を持つ場合、独立領域の符号化データは、独立してアクセス、復号、及び/又は出力される。
【0110】
独立領域(例えば、独立領域(911))はクロッピングされることができ、クロッピングされた独立領域(例えば、クロッピングされた独立領域(921))を出力又は表示することができる。クロッピングされた独立領域(例えば、クロッピングされた独立領域(921))は、現在ピクチャ(900)の他の領域とは独立して出力又は表示されることができる。一例において、独立領域(例えば、独立領域(911))を出力又は表示する代わりに、クロッピングされた独立領域(例えば、クロッピングされた独立領域(921))が出力又は表示される。
【0111】
図10は、本開示の一実施形態に従った、独立領域出力情報を含む補足強化情報(SEI)メッセージにおける例示的なシンタックス(1000)を示している。
【0112】
当該SEIメッセージは、独立領域出力(independent region output;IRO)SEIメッセージ又はIROウィンドウSEIメッセージと呼ぶことができる。当該SEIメッセージは、現在ピクチャ(例えば、現在ピクチャ(900))内の各独立領域の、例えば幅、高さ、(1つ以上の)サブピクチャID、及び出力(適合)ウィンドウオフセットなどの、寸法情報、サブピクチャ識別、及び/又はオフセット情報を含むことができる。システムインタフェースによってターゲット領域(例えば、独立領域(911)などの独立領域)が決定されると、関連するサブピクチャ(例えば、サブピクチャ1-2)を特定するのに有用な情報、並びにアクセスされる領域に関するピクチャサイズ及び適合ウィンドウ(例えば、クロッピングされた独立領域(921)のウィンドウ)の新たな値を、SEIメッセージから得ることができる。復号ピクチャ(900)が複数のサブピクチャ(例えば、サブピクチャ0-5)を含む場合に、当該SEIメッセージを用いて、クロッピングした特定の矩形領域(例えば、クロッピングされた独立領域(921))を出力することができる。
【0113】
一例において、360VRアプリケーションにおける360度映像がキューブマップ投影又はキューブマッピングを用いて投影される。
図9Aに示すように、例えば立方体の6つの面が、境界不連続性を緩和するためのパディング領域を用いて現在ピクチャ(900)上に再配置され得る。現在ピクチャ(900)は、6つの面に対応する6つのサブピクチャ(例えば、サブピクチャ0-5)に分割されることができる。一例において、デコーダは、当該SEIメッセージ内のクロッピング情報を用いて現在ピクチャ(900)を復号した後に、サブピクチャ0-5のうちのサブセット(例えば、サブピクチャ0-5のうちの1つ又は2つ)のみをオンデマンドで出力する。一例において、デコーダは、当該SEIメッセージ内のクロッピング情報を用いて現在ピクチャ(900)を復号する前に、サブピクチャ0-5のうちのサブセット(例えば、サブピクチャ0-5のうちの1つ又は2つ)のみをオンデマンドで出力する。
図9Aを参照するに、一例において、独立領域(911)は、クロッピングされた独立領域(921)と領域(923)とを含む。領域(923)は、隣接するサブピクチャのペアの間のパディング領域(例えば、サブピクチャ0と1の間のパディング領域、サブピクチャ1と4の間のパディング、サブピクチャ2と5の間のパディング領域)と、現在ピクチャ(900)の境界領域とを含むことができる。領域(923)は、クロッピング情報に従って出力又は表示から除かれる。
【0114】
現在ピクチャ(900)内のある独立領域が、現在ピクチャ(900)内の別の独立領域と重なることがある。各独立領域が互いに重なってもよい。独立領域はサブピクチャのグループとして扱われることができるので、あるサブピクチャが複数の独立領域に属することがある。
【0115】
図9Bは、本開示の一実施形態に従った、現在ピクチャ(900)内の別の独立領域(913)と重なる独立領域(911)の一例を示している。
図9Bの現在ピクチャ(900)、サブピクチャ0-5、及び独立領域(911)は
図9Aで説明されている。現在ピクチャ(900)の別の独立領域(913)が現在ピクチャ(900)のサブピクチャ1及び4を含んでいる。別の独立領域(913)は独立領域(911)とは異なる。サブピクチャ1は独立領域(911)及び別の独立領域(913)に含まれている。独立領域(911)は別の独立領域(913)と重なっている。
【0116】
独立領域は、別の独立領域を入れ子にする、すなわち、含むことができる。
図9Cは、本開示の一実施形態に従った、現在ピクチャ(900)内の別の独立領域(915)に含まれた独立領域(911)の一例を示している。
図9Cの現在ピクチャ(900)、サブピクチャ0-5、及び独立した領域(911)は
図9Aで説明されている。独立領域(915)はサブピクチャ1、2、4、及び5を含んでいる。独立領域(911)は独立領域(915)に含まれている。独立領域(915)は独立領域(911)を入れ子にしている。独立領域(915)及び独立領域(911)は互いに独立にアクセス、復号、及び出力されることができる。
【0117】
本開示の一実施形態によれば、独立領域出力情報は、例えば現在ピクチャ(900)内での、独立領域(911)の位置を示すオフセット情報と、独立領域(911)のサイズを示す寸法情報とを含むことができる。現在ピクチャ(900)内の独立領域(911)の位置及びサイズは、オフセット情報及び寸法情報に基づいて決定されることができる。独立領域出力情報は当該SEIメッセージ内でシグナリングされることができる。独立領域出力情報の存在は第1フラグによって示されることができる。
【0118】
図9A及び
図10を参照するに、オフセット情報は、独立領域(911)の位置を表すために、独立領域(911)の左上位置(931)(例えば、
図10のシンタックス要素ir_indepen_coded_region_left_offset[i]及びir_indepen_coded_region_top_offset[i]によって示される)を含むことができる。整数iは現在ピクチャ(900)のi番目の独立領域を示す。FIGを参照してください。
図9A及び
図10を参照するに、サイズ情報は、独立領域(911)の幅W及び高さHを規定するために、それぞれ、領域幅W(例えば、
図10のシンタックス要素ir_indepen_coded_region_width_in_luma_samples[i]によって示される)及び領域高さH(例えば、
図10のシンタックス要素ir_indepen_coded_region_height_in_luma_samples[i]によって示される)を含むことができる。一例において、独立領域(911)は現在ピクチャ(900)の0番目の独立領域であり、整数iは0に等しい。
【0119】
上記1つ以上の独立領域の独立領域(911)を復号することができる。一例において、復号された独立領域(911)は、例えばクロッピングなしで、独立領域(911)の位置及びサイズに基づいて出力される。一例において、復号された独立領域(911)はクロッピングされて出力される。
図9Aを参照するに、クロッピングされた独立領域(921)は、独立領域(911)の位置及びサイズと、クロッピングされた独立領域(921)のクロッピング情報とに基づいて出力される。
【0120】
図10を参照するに、IRO SEIメッセージは、領域毎の出力の情報を含むことができる。例えば
図10に示すようなIRO SEIメッセージが例えばビットストリーム内に存在するとき、関連するピクチャ(例えば、現在ピクチャ(900))は、1に等しいシンタックス要素PicOutputFlagを持つ。一例において、関連するピクチャ(例えば、現在ピクチャ(900))の境界は、動き補償予測のためにパディングされ得る。クロッピング前に、IRO SEIメッセージのオフセット値を復号ピクチャ(例えば、現在ピクチャ(900))に適用することができる。i番目の独立領域(例えば、iが0である独立領域(911))がアクセスされてクロッピング処理を実行されるとき、ピクチャパラメータセット(PPS)によって規定されるクロッピングウィンドウの代わりに、(例えば、シンタックス要素ir_output_win_left_offset[i]、ir_output_win_right_offset[i]、ir_output_win_top_offset[i]、及びir_output_win_bottom_offset[i]を用いて)IRO SEIメッセージによって規定されるクロッピングウィンドウをクロッピングのために適用することができる。
【0121】
当該SEIメッセージ(例えば、IRO SEIメッセージ)の第1フラグは、シンタックス要素independent_region_output_cancel_flagによって示されることができる。第1キャンセル値(例えば、1なる値)を持つ第1フラグ(例えば、independent_region_output_cancel_flag)は、CVSの現在レイヤに適用されている出力順で先行するIRO SEIメッセージの持続を当該IRO SEIメッセージがキャンセルすることを示すことができる。第1キャンセル値(例えば、1なる値)を持つ第1フラグ(例えば、independent_region_output_cancel_flag)は、独立領域出力情報が当該IRO SEIメッセージ内でシグナリングされないことを示すことができる。
【0122】
第2キャンセル値(例えば、0なる値)を持つ第1フラグ(例えば、independent_region_output_cancel_flag)は、独立領域出力情報が例えば第1フラグに続くことを示すことができる。第2キャンセル値(例えば、0なる値)を持つ第1フラグ(例えば、independent_region_output_cancel_flag)は、独立領域出力情報が当該IRO SEIメッセージ内でシグナリングされることを示すことができる。デコーダが適切な出力インタフェースを持つ場合、デコーダは、各独立領域を、それぞれの独立領域が完全に復号された後に出力し得る。
【0123】
独立領域出力情報は、現在レイヤに対するIRO SEIメッセージの持続を規定することができる第2フラグ(例えば、independent_region_output_persistence_flag)を含むことができる。第1持続値(例えば、0)を持つ第2フラグ(例えば、independent_region_output_persistence_flag)は、当該IRO SEIメッセージが現在の復号ピクチャ(例えば、(900))のみに適用されること(又は、当該IRO SEIメッセージが現在ピクチャ(例えば、(900))のみに適用されること)を規定することができる。
【0124】
第2持続値(例えば、1)を持つ第2フラグ(例えば、independent_region_output_persistence_flag)は、当該IRO SEIメッセージが、現在の復号ピクチャ(例えば、(900))に適用され得るとともに、1つ以上の条件が満たされる(又は、該1つ以上の条件がtrueとなる)まで現在レイヤの出力順で後続の1つ以上のピクチャに適用され得ることを規定することができる。一例において、第2持続値(例えば、1)を持つ第2フラグ(例えば、independent_region_output_persistence_flag)は、1つ以上の条件がtrueとなるまで現在レイヤの出力順で後続の1つ以上のピクチャ(例えば、後続ピクチャの全て)に対して当該IRO SEIメッセージが持続できることを規定する。該1つ以上の条件は、(i)現在レイヤの新たなCLVSが始まる、(ii)ビットストリームが終了する、及び/又は(iii)IRO SEIメッセージ(例えば、異なるIRO SEIメッセージ)に関連するアクセスユニット又はピクチャユニットの現在レイヤ内の別のピクチャが、出力順で現在ピクチャ(900)に続いて出力される、ことを含み得る。
【0125】
本開示の一例によれば、第2フラグ(例えば、independent_region_output_persistence_flag)は第2持続値を持つ。CVSの現在レイヤの出力順で後続ピクチャ内の独立領域が、例えばオフセット情報及び寸法情報などの独立領域出力情報に基づいて出力され得る。
【0126】
独立領域出力情報は、当該IRO SEIメッセージを含むピクチャユニットの各復号ピクチャ(例えば、現在ピクチャ(900))のサイズを示すシンタックス要素を含むことができる。該シンタックス要素は、ir_pic_width_in_luma_samples及びir_pic_height_in_luma_samplesを含むことができる。シンタックス要素ir_pic_width_in_luma_samplesは、ピクチャユニットの各復号ピクチャの幅をルマサンプル単位で規定することができる。一例において、シンタックス要素ir_pic_width_in_luma_samplesは0に等しいことはできない。シンタックス要素ir_pic_width_in_luma_samplesには、Max(8,MinCbSizeY)の倍数である整数とすることができる。Max(8,MinCbSizeY)は、8とMinCbSizeYの値とのうち最大のものである。一例において、MinCbSizeYの値(例えば、16、32、64)は、コーディングユニットの最小サイズを示す。シンタックス要素ir_pic_width_in_luma_samplesは、例えばシンタックス要素ir_pic_width_max_in_luma_samples又はシンタックス要素pic_width_max_in_luma_samplesによって示されるものなどの閾値以下とすることができる。シンタックス要素ir_pic_width_max_in_luma_samples又はシンタックス要素pic_width_max_in_luma_samplesは、ピクチャユニットの各復号ピクチャの幅の最大値を示すことができる。
【0127】
シンタックス要素ir_pic_height_in_luma_samplesは、ピクチャユニットの各復号ピクチャの高さをルマサンプル単位で規定することができる。一例において、シンタックス要素ir_pic_height_in_luma_samplesは0に等しいことはできない。シンタックス要素ir_pic_height_in_luma_samplesには、Max(8,MinCbSizeY)の倍数である整数とすることができる。シンタックス要素ir_pic_height_in_luma_samplesは、例えばシンタックス要素ir_pic_height_max_in_luma_samples又はシンタックス要素pic_height_max_in_luma_samplesによって示されるものなどの閾値以下とすることができる。シンタックス要素ir_pic_height_max_in_luma_samples又はシンタックス要素pic_height_max_in_luma_samplesは、ピクチャユニットの各復号ピクチャの高さの最大値を示すことができる。
【0128】
独立領域出力情報は、ピクチャユニット内の独立コーディング領域の数を示すシンタックス要素ir_num_indepen_region_minus1を含むことができる。シンタックス要素ir_num_indepen_coded_region_minus1の値に1を足したものが、当該IRO SEIメッセージを含むピクチャユニットの独立コーディング領域の数を規定することができる。
【0129】
独立領域出力情報は、サブピクチャ識別子(ID)を表すのに使用される長さ(例えば、ビット数)を示すシンタックス要素ir_subpic_id_len_minus1を含むことができる。シンタックス要素ir_subpic_id_len_minus1の値に1を足したものが、サブピクチャID(例えば、シンタックス要素ir_subpic_id[i][j]の長さを表すのに使用されるビット数を規定することができる。シンタックス要素ir_subpic_id_len_minus1の値は、両端を含めて0から15の範囲内とすることができる。
【0130】
独立領域出力情報は、i番目の独立コーディング領域に関連するサブピクチャの数を示すシンタックス要素ir_num_subpics_minus1[i]を含むことができる。シンタックス要素ir_num_subpics_minus1[i]の値に1をたしたものが、i番目の独立コーディング領域に関連するサブピクチャの数を規定することができる。
図9Cを参照するに、ピクチャユニットは現在ピクチャ(900)を含む。iを0として、0番目の独立コーディング領域は独立領域(911)である。シンタックス要素ir_num_subpics_minus1[0]の値は1である。シンタックス要素ir_num_subpics_minus1[0]の値に1を足したものは2であり、独立領域(911)に関連するサブピクチャの数は2である。
【0131】
iを1として、1番目の独立コーディング領域は独立領域(915)である。シンタックス要素ir_num_subpics_minus1[1]の値は3である。シンタックス要素ir_num_subpics_minus1[1]の値に1を足したものは4であり、独立領域(915)に関連するサブピクチャの数は4である。
【0132】
本開示の一実施形態によれば、独立領域出力情報は、独立領域(例えば、独立領域(911))内のサブピクチャ(例えば、サブピクチャ1)のサブピクチャIDを示すことができる。一例において、独立領域出力情報は、現在ピクチャ(900)内のi番目の独立コーディング領域に関連するj番目のサブピクチャに対応するサブピクチャIDを示す。独立領域出力情報は、現在ピクチャ(900)内のi番目の独立コーディング領域に関連するj番目のサブピクチャのサブピクチャIDを規定するシンタックス要素ir_subpic_id[i][j]を含むことができる。シンタックス要素ir_subpic_id[i][j]の長さは、ビット単位で、シンタックス要素ir_subpic_id_len_minusの値と1との和に等しいとすることができる。一例において、シンタックス要素ir_subpic_id[i][j]を持つサブピクチャは、1に等しいシンタックス要素subpic_treated_as_pic_flag[i][j]を持つことができる。1に等しいシンタックス要素subpic_treated_as_pic_flag[i][j]は、対応するサブピクチャの境界がピクチャ境界として扱われることを示すことができ、対応するサブピクチャの境界が動き補償予測のためにパディングされ得る。
【0133】
戻って
図9Cを参照するに、現在ピクチャ(900)は、0番目の独立コーディング領域(911)(例えば、i=0)と、1番目の独立コーディング領域(915)(例えば、i=1)とを含んでいる。0番目の独立コーディング領域(911)(例えば、i=0)は、jがそれぞれ0及び1であることに対応するサブピクチャ1-2を含んでいる。0番目の独立コーディング領域(911)に関連する0番目のサブピクチャ(例えば、サブピクチャ1)のサブピクチャIDは1であり、ir_subpic_id[0][0]は1である。0番目の独立コーディング領域(911)に関連する1番目のサブピクチャ(例えば、サブピクチャ2)のサブピクチャIDは2であり、ir_subpic_id[0][1]は1である。
【0134】
1番目の独立コーディング領域(915)(例えば、i=1)は、jがそれぞれ0、1、2、及び3であることに対応するサブピクチャ1、2、4、及び5を含んでいる。1番目の独立コーディング領域(915)に関連する0番目のサブピクチャ(例えば、サブピクチャ1)のサブピクチャIDは1であり、ir_subpic_id[1][0]は1である。1番目の独立コーディング領域(915)に関連する1番目のサブピクチャ(例えば、サブピクチャ2)のサブピクチャIDは2であり、ir_subpic_id[1][1]は2である。1番目の独立コーディング領域(915)に関連する2番目のサブピクチャ(例えば、サブピクチャ4)のサブピクチャIDは4であり、ir_subpic_id[1][2]は4である。1番目の独立コーディング領域(915)に関連する3番目のサブピクチャ(例えば、サブピクチャ5)のサブピクチャIDは5であり、ir_subpic_id[1][3]は5である。
【0135】
上述のように、シンタックス要素ir_indepen_coded_region_left_offset[i]及びir_indepen_coded_region_top_offset[i]は、i番目の独立コーディング領域(例えば、独立領域(911))の左上位置(例えば、左上位置(931))を規定することができる。一例において、シンタックス要素ir_indepen_coded_region_left_offset[i]及びir_indepen_coded_region_top_offset[i]は0に等しいことはできない。シンタックス要素ir_indepen_coded_region_left_offset[i]及びir_indepen_coded_region_top_offset[i]は、Max(8,MinCbSizeY)の倍数である整数とすることができる。シンタックス要素ir_indepen_coded_region_left_offset[i]及びir_indepen_coded_region_top_offset[i]は、それぞれ、シンタックス要素ir_pic_width_in_luma_samples及びir_pic_height_in_luma_amplesの値より小さいとすることができる。
【0136】
上述のように、シンタックス要素ir_indepen_coded_region_width_in_luma_samples[i]は、i番目の独立コーディング領域の幅を規定することができる。一例において、シンタックス要素ir_indepen_coded_region_width_in_luma_samples[i]は0に等しいことはできない。シンタックス要素ir_indepen_coded_region_width_in_luma_samples[i]は、Max(8,MinCbSizeY)の倍数である整数とすることができる。シンタックス要素ir_indepen_coded_region_width_in_luma_samples[i]は、シンタックス要素ir_pic_width_in_luma_samplesの値以下とすることができる。
【0137】
上述のように、シンタックス要素ir_indepen_coded_region_height_in_luma_samples[i]は、i番目の独立コーディング領域の高さを規定することができる。一例において、シンタックス要素ir_indepen_coded_region_height_in_luma_samples[i]は0に等しいことはできない。シンタックス要素ir_indepen_coded_region_height_in_luma_samples[i]は、Max(8,MinCbSizeY)の倍数である整数とすることができる。シンタックス要素ir_indepen_coded_region_height_in_luma_samples[i]は、シンタックス要素ir_pic_height_in_luma_samplesの値以下とすることができる。
【0138】
本開示の一実施形態によれば、独立領域出力情報は、現在ピクチャ(900)のi番目の独立領域(例えば、独立領域(911))の第3フラグ(例えば、ir_indepen_coded_region_output_window_present_flag[i])を含むことができる。第3フラグ(例えば、ir_indepen_coded_region_output_window_present_flag[i])は、i番目の独立領域のクロッピング情報(例えば、出力クロッピングウィンドウオフセットパラメータを示す)が独立領域出力情報内でシグナリングされるかを示すことができる。
【0139】
第1現在値(例えば、1なる値)を持つ第3(例えば、ir_indepen_coded_region_output_window_present_flag[i])は、i番目の独立コーディング領域のクロッピング情報(例えば、出力クロッピングウィンドウオフセットパラメータ)が、当該IRO SEIメッセージ内で第3フラグに続き得ることを示すことができる。第2現在値(例えば、0なる値)を持つ第3(例えば、ir_indepen_coded_region_output_window_present_flag[i])は、i番目の独立コーディング領域のクロッピング情報(例えば、出力クロッピングウィンドウオフセットパラメータ)が、当該IRO SEIメッセージ内に存在しない(例えば、含まれない)ことを示すことができる。
【0140】
本開示の一実施形態によれば、第3フラグが、i番目の独立領域(例えば、独立領域(911))のクロッピング情報(例えば、出力クロッピングウィンドウオフセットパラメータ)が独立領域出力情報内でシグナリングされることを示す。i番目の独立領域の出力ウィンドウの位置及びサイズを、(i)クロッピング情報と(ii)オフセット情報及び寸法情報(例えば、i番目の独立領域の位置及びサイズを示す)とに基づいて決定することができる。i番目の独立領域の出力ウィンドウの位置及びサイズに基づいて、i番目の独立領域を出力することができる。
【0141】
一例において、出力クロッピングウィンドウオフセットパラメータは、IRO SEIメッセージ内のシンタックス要素ir_output_win_left_offset[i]、ir_output_win_right_offset[i]、ir_output_win_top_offset[i]、及びir_output_win_bottom_offset[i]によって示される。シンタックス要素ir_output_win_left_offset[i]、ir_output_win_right_offset[i]、ir_output_win_top_offset[i]、及びir_output_win_bottom_offset[i]は、i番目に独立コーディング領域を出力するための矩形領域をピクチャ座標で規定することができる。例えば、シンタックス要素ir_output_win_left_offset[i]、ir_output_win_right_offset[i]、ir_output_win_top_offset[i]、及びir_output_win_bottom_offset[i]は、それぞれ、矩形領域の左位置、右位置、上位置、及び下位置を規定する。第3フラグ(例えば、ir_indepen_coded_region_output_window_present_flag[i])が第2現在値(例えば、0なる値)を持つとき、シンタックス要素ir_output_win_left_offset[i]、ir_output_win_right_offset[i]、ir_output_win_top_offset[i]、及びir_output_win_bottom_offset[i]の値は、0に等しいと推定されることができる。
【0142】
戻って
図9Aを参照するに、0番目の独立コーディング領域(例えば、独立領域(911))の第3フラグ(例えば、ir_indepen_coded_region_output_window_present_flag[0])が第1現在値(例えば、1)を持つとき、独立領域(911)の出力クロッピングウィンドウオフセットパラメータがIRO SEIメッセージ内で第3フラグに続く。出力クロッピングウィンドウオフセットパラメータは、出力又は表示されるべき矩形領域(例えば、クロッピングされた独立領域(921))に対応する出力ウィンドウ(又は適合ウィンドウ)の左位置、右位置、上位置、及び下位置を規定するir_output_win_left_offset[0]、ir_output_win_right_offset[0]、ir_output_win_top_offset[0]、及びir_output_win_bottom_offset[0]を含むことができる。出力ウィンドウによって規定されるクロッピングされた独立領域(921)が出力又は表示される。
【0143】
SEIメッセージ(例えば、IRO SEIメッセージ)は、例えば第2フラグ(例えば、independent_region_output_persistence_flag)の値に応じて、CVSの現在レイヤの1つ以上のピクチャに適用されることができる。
図9A-
図9C及び
図10を参照しての上の説明は、CVSの別のレイヤに対して好適に適応されることができる。SEIメッセージ(例えば、IRO SEIメッセージ)は、CVSの別のレイヤ(例えば、現在レイヤとは異なるレイヤ)内の1つ以上のピクチャに適用されることができる。
【0144】
CVSの第1レイヤ内の第1ピクチャの独立領域に、CVSの第1レイヤ内の第1ピクチャの他の(1つ以上の)領域及び/又は(1つ以上の)サブピクチャとは独立してアクセスし、復号し、及び/又は出力することができる。CVSの第2レイヤ内の第2ピクチャの独立領域に、第2ピクチャの他の(1つ以上の)領域及び/又は(1つ以上の)サブピクチャとは独立してアクセスし、復号し、及び/又は出力する。一例において、第1レイヤ内の第1ピクチャの独立領域に、第2ピクチャの(1つ以上の)領域及び/又は(1つ以上の)サブピクチャとは独立してアクセスし、復号し、及び/又は出力する。一例において、第1レイヤ内の第1ピクチャの独立領域に、第2ピクチャの一部(例えば、領域及び/又はサブピクチャ)に基づいてアクセスし、復号し、及び/又は出力する。
【0145】
図10で説明したSEIメッセージは、様々なシナリオに対して好適に適応されることができ、それに従ってSEIメッセージ内の(1つ以上の)シンタックス要素を調整することができる。SEIメッセージ内のシンタックス要素のうちの1つ以上が適応させたり省略されたりし得る。シンタックス要素は任意の好適な順序でSEIメッセージ内に存在することができる。追加の(1つ以上の)シンタックス要素がSEIメッセージに追加され得る。
【0146】
図11は、本開示の一実施形態に従ったSEIメッセージ(情報)の持続範囲の一例を示している。一例において、SEIメッセージ(例えば、IRO SEIメッセージ)は独立領域出力ウィンドウに適用される。SEIメッセージの持続範囲は、当該SEIメッセージに関連するピクチャユニット(PU)に当該SEIメッセージが適用可能であることを示すことができる。
【0147】
図12は、本開示の一実施形態に従った符号化プロセス(1200)を概説するフローチャートを示している。様々な実施形態において、プロセス(1200)は、例えば、端末装置(310)、(320)、(330)及び(340)の処理回路、ビデオエンコーダ(例えば、(403)、(603)、(703))の機能を実行する処理回路、及びこれらに類するものなどの、処理回路によって実行される。一部の実施形態において、プロセス(1200)は、ソフトウェア命令にて実装され、従って、処理回路がソフトウェア命令を実行するときに、処理回路がプロセス(1200)を実行する。当該プロセスは(S1201)で開始して(S1210)に進む。
【0148】
(S1210)にて、ピクチャをビットストリームに符号化することができる。
図9Aを参照するに、ピクチャ(例えば、現在ピクチャ(900))は独立コーディング領域(例えば、独立領域(911))を含むことができる。独立コーディング領域(例えば、独立領域(911))は、現在ピクチャの1つ以上のサブピクチャのうちの少なくとも1つのサブピクチャを含むことができる。ピクチャ、独立領域、及び1つ以上のサブピクチャの例は
図9A-
図9Cで説明されている。
【0149】
(S1220)にて、ピクチャの独立領域出力情報を示す補足強化情報(SEI)メッセージを生成することができる。当該SEIメッセージは、例えば
図10で説明したような、IRO SEIメッセージとすることができる。独立領域出力情報は、
図9A-
図9C及び
図10で説明したように、独立してアクセス、復号、及び/又は出力される独立コーディング領域の位置及びサイズを示すことができる。
【0150】
(S1230)にて、SEIメッセージをビットストリームに含めることができる。一例において、符号化ピクチャ及びSEIメッセージは、例えばデコーダに伝送されて該デコーダによって受信されることができる。プロセス(1200)は(S1299)に進んで終了する。
【0151】
プロセス(1200)は、様々なシナリオに対して好適に適応されることができ、それに従ってプロセス(1200)のステップを調整することができる。プロセス(1200)のステップのうちの1つ以上が、適応され、省略され、反復され、及び/又は組み合わされ得る。任意の好適な順序を用いてプロセス(1200)を実施し得る。更なる(1つ以上の)ステップが追加され得る。
【0152】
一例において、SEIメッセージ内の第1フラグ(例えば、
図10で説明したindependent_region_output_cancel_flag)が、独立領域出力情報がSEIメッセージ内でシグナリングされないことを示す。(S1220)は、独立領域出力情報がSEIメッセージに含まれないように適応されることができる。
【0153】
図13は、本開示の一実施形態に従った復号プロセス(1300)を概説するフローチャートを示している。様々な実施形態において、プロセス(1300)は、例えば、端末装置(310)、(320)、(330)及び(340)の処理回路、ビデオエンコーダ(403)の機能を実行する処理回路、ビデオデコーダ(410)の機能を実行する処理回路、ビデオデコーダ(510)の機能を実行する処理回路ビデオエンコーダ(603)の機能を実行する処理回路、及びこれらに類するものなどの、処理回路によって実行される。一部の実施形態において、プロセス(1300)は、ソフトウェア命令にて実装され、従って、処理回路がソフトウェア命令を実行するときに、処理回路がプロセス(1300)を実行する。当該プロセスは(S1301)で開始して(S1310)に進む。
【0154】
(S1310)にて、独立領域出力情報を示す補足強化情報(SEI)メッセージを復号することができる。独立領域出力情報は、現在ピクチャ内の独立して復号可能な領域である独立領域を示すことができる。
【0155】
(S1320)にて、独立領域出力情報内の独立領域のオフセット情報及び寸法情報に基づいて、現在ピクチャ内の独立領域を決定することができる。一例において、オフセット情報は、
図10のシンタックス要素ir_indepen_coded_region_left_offset[i]及びir_indepen_coded_region_top_offset[i]によって示される。一例において、寸法情報は、シンタックス要素ir_indepen_coded_region_width_in_luma_samples[i]及びir_indepen_coded_region_height_in_luma_samples[i]によって示される。
【0156】
一実施形態において、現在ピクチャ(例えば、現在ピクチャ(900))は1つ以上のサブピクチャ(例えば、サブピクチャ0-5)を含む。独立領域(例えば、独立領域(911))は、現在ピクチャの1つ以上のサブピクチャのうちのあるサブピクチャ(例えば、サブピクチャ1)を含む。
【0157】
一実施形態において、
図9Bを参照するに、そのサブピクチャは現在ピクチャ内の別の独立領域(例えば、独立領域(913))に含まれる。
【0158】
一実施形態において、
図9Cを参照するに、独立領域(例えば、独立領域(911))は別の独立領域(例えば、独立領域(915))に含まれる。
【0159】
一実施形態において、独立領域出力情報は、例えば
図10で説明したように、独立領域(例えば、iが0である0番目の独立領域)内のサブピクチャ(例えば、jが0である0番目のサブピクチャ)のサブピクチャ識別子(例えば、シンタックス要素ir_subpic_id[i][j]によって示される)を示す。一例において、シンタックス要素ir_subpic_id[0][0]の値は1であり、サブピクチャIDは1である。
【0160】
一実施形態において、独立領域出力情報は第2フラグ(例えば、
図10のindependent_region_output_persistence_flag)を含む。第1持続値を持つ第2フラグは、例えば現在レイヤ内の、現在ピクチャ、にのみ当該SEIメッセージが適用されることを示す。第2現在値を持つ第2フラグは、当該SEIメッセージが、現在ピクチャに適用されるとともに、
図10で説明したように、条件が満たされるまで、現在レイヤの出力順で後続の1つ以上のピクチャに適用されることを示す。
【0161】
一実施形態において、独立領域出力情報は、独立領域(例えば、独立領域(911))の第3フラグ(例えば、
図10のir_indepen_coded_region_output_window_present_flag[i])を含む。第3フラグは、独立領域のクロッピング情報が独立領域出力情報内でシグナルされるかを示す。
【0162】
(S1330)にて、現在ピクチャの全体が復号されるかどうかに関係なく、決定した独立領域を復号することができる。上記1つ以上の独立領域のうちの上記独立領域を、例えば、本開示で説明した復号方法といった好適な復号方法を用いて復号することができる。
【0163】
(S1340)にて、
図10を参照して説明したように、独立領域のオフセット情報によって示される位置、及び独立領域の寸法情報によって示されるサイズに基づいて、復号した独立領域を出力することができる。
【0164】
一実施形態において、第2フラグが第2現在値を持つ。独立領域出力情報に基づいて、現在レイヤの出力順で後続のピクチャ内の独立領域を出力することができる。
【0165】
プロセス(1300)は(S1399)に進んで終了する。
【0166】
プロセス(1300)は、様々なシナリオに対して好適に適応されることができ、それに従ってプロセス(1300)のステップを調整することができる。プロセス(1300)のステップのうちの1つ以上が、適応され、省略され、反復され、及び/又は組み合わされ得る。任意の好適な順序を用いてプロセス(1300)を実施し得る。更なる(1つ以上の)ステップが追加され得る。
【0167】
一実施形態において、SEIメッセージは、独立領域出力情報がSEIメッセージ(例えば、
図10で説明したSEIメッセージ)内でシグナリングされるかを示す第1フラグ(例えば、
図10のindependent_region_output_cancel_flag)を含む。独立領域出力情報がSEIメッセージ内でシグナリングされることを第1フラグが示す場合、独立領域出力情報内の独立領域のオフセット情報及び寸法情報に基づいて、現在ピクチャ内の独立領域を決定することができる。一実施形態において、第1フラグが、独立領域出力情報がSEIメッセージ内でシグナリングされないことを示す。(S1320)は省略されることができる。(S1330)及び(S1340)は、現在ピクチャが復号されて出力されるように適応されることができる。
【0168】
一実施形態において、独立領域のクロッピング情報が独立領域出力情報内でシグナリングされることを第3フラグが示すことに基づき、独立領域の出力ウィンドウの位置及びサイズを、(i)クロッピング情報、及び(ii)独立領域のオフセット情報及び寸法情報に基づいて決定することができる。独立領域の出力ウィンドウ(例えば、クロッピングされた独立領域(921))の位置及びサイズに基づいて、復号した独立領域を出力することができる。
【0169】
一実施形態において、復号すること及び表示のために出力することが、現在ピクチャの全体が復号される前に実行される。
【0170】
本開示の一実施形態によれば、現在ピクチャの一部(例えば、1つ以上のサブピクチャ、独立領域)に、現在ピクチャの他の(1つ以上の)領域及び/又は(1つ以上の)サブピクチャとは独立してアクセスし、復号し、及び/又は出力することができる。現在ピクチャ内の各独立領域に独立にアクセスすることができる。現在ピクチャ内の各独立領域は、独立して復号可能であることができる。現在ピクチャ内の各独立領域を独立に出力することができる。現在ピクチャ内の各独立領域を独立に表示することができる。現在ピクチャ内のサブピクチャ又は独立領域は、任意の好適な形状及び/又は任意の好適なサイズを持つことができる。一例において、現在ピクチャ内のサブピクチャ又は独立領域は長方形の形状を持つ。現在ピクチャは、部分的又は局所的に(例えば、独立領域(911)のみ)アクセスされ、復号され、及び/又は出力されることができる。
【0171】
本開示の実施形態は、任意の順序で別々に又は組み合わせて使用され得る。また、これらの方法(又は実施形態)の各々、エンコーダ、及びデコーダは、処理回路(例えば、1つ以上のプロセッサ、又は1つ以上の集積回路)によって実装され得る。一例において、それら1つ以上のプロセッサは、非一時的なコンピュータ読み取り可能媒体に格納されたプログラムを実行する。
【0172】
上述の技術は、1つ以上のコンピュータ読み取り可能媒体に物理的に格納された、コンピュータ読み取り可能命令を用いたコンピュータソフトウェアとして、実装されることができる。例えば、
図14は、開示に係る事項の特定の実施形態を実装するのに好適なコンピュータシステム(1400)を示している。
【0173】
コンピュータソフトウェアは、アセンブリ、コンパイル、リンク、又は同様の機構に掛けられることで、直接的に又はインタープリット、マイクロコード実行及びこれらに類するものを介して1つ以上のコンピュータ中央演算処理ユニット(CPU)、グラフィックス処理ユニット(GPU)、及びこれらに類するものによって実行されることが可能な命令を有するコードを作り出し得るような、任意の好適な機械コード又はコンピュータ言語を用いてコード化され得る。
【0174】
命令は、例えば、パーソナルコンピュータ、タブレットコンピュータ、サーバ、スマートフォン、ゲーム装置、モノのインターネット装置、及びこれらに類するものを含め、様々なタイプのコンピュータ又はそのコンポーネント上で実行され得る。
【0175】
コンピュータシステム(1400)に関して
図14に示したコンポーネントは、本質的に例示的なものであり、本開示の実施形態を実装するコンピュータソフトウェアの使用又は機能性の範囲についての何らかの限定を示唆する意図はない。また、コンポーネントの構成も、コンピュータシステム(1400)のこの例示的な実施形態に示されたコンポーネントの任意の1つ又は組み合わせに関する何らかの従属性又は要件も持つものとして解釈されるべきでない。
【0176】
コンピュータシステム(1400)は、特定のヒューマンインタフェース入力装置を含んでもよい。そのようなヒューマンインタフェース入力装置は、例えば、触覚入力(例えば、キーストローク、スワイプ、データグローブを動かすことなど)、オーディオ入力(例えば、音声、拍手など)、視覚入力(例えば、ジェスチャなど)、嗅覚入力(図示せず)を介した、一人以上の人間ユーザによる入力に応答し得る。ヒューマンインタフェース装置はまた、例えばオーディオ(例えば、会話、音楽、周囲の音など)、画像(例えば、走査画像、静止画カメラから得られる写真画像など)、映像(例えば、二次元映像、立体視映像を含む3次元映像など)などの、人間による意識的な入力には必ずしも直接関係しない特定の媒体を捕捉するために使用されてもよい。
【0177】
入力ヒューマンインタフェース装置は、キーボード(1401)、マウス(1402)、トラックパッド(1403)、タッチスクリーン(1410)、データグローブ(図示せず)、ジョイスティック(1405)、マイクロフォン(1406)、スキャナ(1407)、カメラ(1408)(各々1つのみ図示している)のうちの1つ以上を含み得る。
【0178】
コンピュータシステム(1400)はまた、特定のヒューマンインタフェース出力装置を含み得る。そのようなヒューマンインタフェース出力装置は、例えば、触覚出力、音、光、及び臭い/味を通して、一人以上の人間ユーザの感覚を刺激し得る。そのようなヒューマンインタフェース出力装置は、触覚出力装置(例えば、タッチスクリーン(1410)、データグローブ(図示せず)、又はジョイスティック(1405)による触覚フィードバックであるが、入力装置として機能しない触覚フィードバック装置もあってもよい)、オーディオ出力装置(例えば、スピーカー(1409)、ヘッドフォン(図示せず)など)、視覚出力装置(例えば、CRTスクリーン、LCDスクリーン、プラズマスクリーン、OLEDスクリーンを含むスクリーン(1410)(各々がタッチスクリーン入力機能を有する又は有さない。各々が触覚フィードバック機能を有する又は有さない。これらの一部は、二次元の視覚出力、又は例えば立体視出力などの手段を通じて四次元以上の出力を出力することができるとし得る。)、仮想現実グラス(図示せず)、ホログラフィックディスプレイ及びスモークタンク(図示せず)など)、及びプリンタ(図示せず)を含み得る。
【0179】
コンピュータシステム(1400)はまた、例えば、CD/DVD若しくは類似の媒体(1421)を有するCD/DVD ROM/RW(1420)を含む光媒体、サムドライブ(1422)、取り外し可能なハードドライブ若しくは又はソリッドステートドライブ(1423)、例えばテープ及びフロッピーディスク(登録商標、図示せず)などのレガシー磁気媒体、例えばセキュリティドングルなどの特殊化されたROM/ASIC/PLDベースの装置(図示せず)、及びこれらに類するものなどの、人間アクセス可能なストレージ装置及びそれらの関連媒体を含み得る。
【0180】
当業者がこれまた理解するはずのことには、ここでの開示に係る事項に関連して使用される用語“コンピュータ読み取り可能媒体”は、伝送媒体、搬送波、又は他の一時的な信号を含まない。
【0181】
コンピュータシステム(1400)はまた、1つ以上の通信ネットワーク(1455)へのインタフェース(1454)を含み得る。ネットワークは、例えば、無線、有線、光とし得る。ネットワークは更に、ローカル、広域、大都市、車両及び産業、リアルタイム、耐遅延などとし得る。ネットワークの例は、例えばイーサネット(登録商標)などのローカルエリアネットワークや、無線LANや、GSM、3G、4G、5G、LTE及びこれらに類するものを含むセルラネットワークや、ケーブルTV、衛星TV、及び地上波放送TVを含むTV有線又は無線広域デジタルネットワークや、CANBusを含む車両及び産業などを含む。特定のネットワークは一般に、特定の汎用データポート又はペリフェラルバス(1449)(例えば、コンピュータシステム(1400)のUSBポートなど)に取り付けられる外付けネットワークインタフェースアダプタを必要とし、他のものは一般に、後述のシステムバスへの取り付けによってコンピュータシステム(1400)のコアに統合される(例えば、PCコンピュータシステムへのイーサネットインタフェース、又はスマートフォンコンピュータシステムへのセルラネットワークインタフェース)。これらのネットワークのいずれかを使用して、コンピュータシステム(1400)は、他のエンティティと通信することができる。そのような通信は、単方向の受信のみ(例えば、放送TV)であってもよいし、単方向の送信のみ(例えば、特定のCANbus装置に対するCANbus)であってもよいし、あるいは、例えばローカル又は広域デジタルネットワークを用いた他のコンピュータシステムに対しての、双方向であってもよい。特定のプロトコル及びプロトコルスタックが、上述のようにネットワーク及びネットワークインタフェースの各々上で使用され得る。
【0182】
前述のヒューマンインタフェース装置、人間アクセス可能なストレージ装置、及びネットワークインタフェースは、コンピュータシステム(1400)のコア(1440)に取り付けられることができる。
【0183】
コア(1440)は、1つ以上の中央演算処理ユニット(CPU)(1441)、グラフィックス処理ユニット(GPU)(1442)、フィールドプログラマブルゲートアレイ(FPGA)(1443)の形態の特殊なプログラム可能なプロセッシングユニット、特定のタスク用のハードウェアアクセラレータ(1444)、グラフィックスアダプタ(1450)などを含み得る。これらのデバイスは、読み出し専用メモリ(ROM)(1445)、ランダムアクセスメモリ(1446)、例えば内部のユーザアクセス可能でないハードドライブ、SSDなどの内部大容量ストレージ(1447)、及びこれらに類するもの(1447)と共に、システムバス(1448)を介して接続され得る。一部のコンピュータシステムにおいて、システムバス(1448)は、追加のCPU、GPU、及びこれらに類するものによる拡張を可能にするために、1つ以上の物理プラグの形態でアクセス可能にされ得る。周辺装置は、コアのシステムバス(1448)に直接的に、又はペリフェラルバス(1449)を介して、のいずれで取り付けられてもよい。一例において、スクリーン(1410)はグラフィックスアダプタ(1450)に接続されることができる。ペリフェラルバスのアーキテクチャは、PCI、USB、及びこれらに類するものを含む。
【0184】
CPU(1441)、GPU(1442)、FPGA(1443)、及びアクセラレータ(1444)は、組み合わさって前述のコンピュータコードを構成することができる特定の命令を実行し得る。そのコンピュータコードは、ROM(1445)又はRAM(1446)に格納され得る。RAM(1446)には過渡的なデータも格納されることができ、永久的なデータは、例えば内部大容量ストレージ(1447)に格納されることができる。メモリデバイスのいずれかへの高速な記憶及び取り出しが、1つ以上のCPU(1441)、GPU(1442)、大容量ストレージ(1447)、ROM(1445)、RAM(1446)、及びこれらに類するものの近くに付随し得るキャッシュメモリの使用によって可能にされ得る。
【0185】
コンピュータ読み取り可能媒体はその上に、様々なコンピュータ実装処理を実行するためのコンピュータコードを有することができる。媒体及びコンピュータコードは、本開示の目的に合わせて特別に設計及び構築されたものであってもよいし、あるいは、それらは、コンピュータソフトウェア技術の当業者にとって周知且つ利用可能な種類のものであってもよい。
【0186】
一例として、限定ではなく、アーキテクチャ(1400)、特にコア(1440)、を有するコンピュータシステムは、1つ以上の有形のコンピュータ読み取り可能媒体に具現化されたソフトウェアを(1つ以上の)プロセッサ(CPU、GPU、FPGA、アクセラレータ、及びこれらに類するものを含む)が実行することの結果として機能を提供することができる。そのようなコンピュータ読み取り可能媒体は、例えばコア内部の大容量ストレージ(1447)又はROM(1445)などの、非一時的性質のものであるコア(1440)の特定のストレージ、及び上で紹介したようなユーザアクセス可能な大容量ストレージに関連する媒体とすることができる。本開示の様々な実施形態を実装するソフトウェアは、そのような装置に格納され、コア(1440)によって実行されることができる。コンピュータ読み取り可能媒体は、具体的なニーズに従って、1つ以上のメモリデバイス又はチップを含み得る。ソフトウェアは、コア(1440)及び特にその中のプロセッサ(CPU、GPU、FPGA、及びこれらに類するものを含む)に、RAM(1446)に格納されるデータ構造を規定すること、及びそのようなデータ構造を、ソフトウェアによって規定されたプロセスに従って変更することを含めて、ここに記載された特定のプロセスを又は特定のプロセスの特定の部分を実行させることができる。加えて、又は代替として、コンピュータシステムは、ここに記載された特定のプロセスを又は特定のプロセスの特定の部分を実行するようにソフトウェアの代わりに又はソフトウェアと共に動作することができる回路(例えば、アクセラレータ(1444))にて配線された又はその他の方法で具体化されたロジックの結果として、機能を提供してもよい。ソフトウェアへの言及はロジックを含み、また、適当な場合にその逆もまた然りである。コンピュータ読み取り可能媒体への言及は、実行のためのソフトウェアを格納した回路(例えば、集積回路(IC)など)、実行のためのロジックを具体化した回路、又は適当な場合にこれら双方を含み得る。本開示は、ハードウェア及びソフトウェアの好適な組み合わせを含む。
付録A:頭字語
JEM:joint exploration model(共同探査モデル)
VVC:versatile video coding(バーサタイルビデオコーディング)
BMS:benchmark set(ベンチマークセット)
MV:Motion Vector(動きベクトル)
HEVC:High Efficiency Video Coding(ハイエフィシェンシビデオコーディング)
SEI:Supplementary Enhancement Information(補足強化情報)
VUI:Video Usability Information(ビデオユーザビリティ情報)
GOPs:Groups of Pictures(グループ・オブ・ピクチャ)
TUs:Transform Units,(変換ユニット)
PU:Picture Unit(ピクチャユニット)
CTUs:Coding Tree Units(コーディングツリーユニット)
CTBs:Coding Tree Blocks(コーディングツリーブロック)
PBs:Prediction Blocks(予測ブロック)
HRD:Hypothetical Reference Decoder(仮説的リファレンスデコーダ)
SNR:Signal Noise Ratio(信号対雑音比)
CPUs:Central Processing Units(中央演算処理ユニット)
GPUs:Graphics Processing Units(グラフィックス処理ユニット)
CRT:Cathode Ray Tube(陰極線管)
LCD:Liquid-Crystal Display(液晶ディスプレイ)
OLED:Organic Light-Emitting Diode(有機発光ダイオード)
CD:Compact Disc(コンパクトディスク)
DVD:Digital Video Disc(デジタルビデオディスク)
ROM:Read-Only Memory(読み出し専用メモリ)
RAM:Random Access Memory(ランダムアクセスメモリ)
ASIC:Application-Specific Integrated Circuit(特定用途向け集積回路)
PLD:Programmable Logic Device(プログラマブルロジックデバイス)
LAN:Local Area Network(ローカルエリアネットワーク)
GSM:Global System for Mobile communications(グローバルシステムフォーモバイルコミュニケーションズ)
LTE:Long-Term Evolution(ロングタームエボリューション)
CANBus:Controller Area Network Bus(コントローラエリアネットワークバス)
USB:Universal Serial Bus(ユニバーサルシリアルバス)
PCI:Peripheral Component Interconnect(ペリフェラルコンポーネントインターコネクト)
FPGA:Field Programmable Gate Areas(フィールドプログラマブルゲートアレイ)
SSD:solid-state drive(ソリッドステートドライブ)
IC:Integrated Circuit(集積回路)
CU:Coding Unit(コーディングユニット)
R-D:レート歪み
【0187】
この開示は幾つかの例示的な実施形態を記述しているが、開示の範囲に入る変更、置換、及び様々な均等な代替が存在する。従って、理解されることには、当業者は、ここでは明示的に図示されたり説明されたりしていないものの、開示の原理を具体化し、それ故に、その精神及び範囲の中にあるような、数多くのシステム及び方法を考案することができるであろう。
【国際調査報告】