(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023179748
(43)【公開日】2023-12-19
(54)【発明の名称】ビデオビットストリームの中のオフセットによる参照ピクチャ再サンプリングの方法
(51)【国際特許分類】
H04N 19/70 20140101AFI20231212BHJP
H04N 19/59 20140101ALI20231212BHJP
【FI】
H04N19/70
H04N19/59
【審査請求】有
【請求項の数】1
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2023180182
(22)【出願日】2023-10-19
(62)【分割の表示】P 2022168634の分割
【原出願日】2020-09-22
(31)【優先権主張番号】62/905,319
(32)【優先日】2019-09-24
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】17/022,727
(32)【優先日】2020-09-16
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【弁理士】
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】チョイ,ビョンドゥ
(72)【発明者】
【氏名】ウェンジャー,ステファン
(72)【発明者】
【氏名】リィウ,シャン
(57)【要約】 (修正有)
【課題】少なくとも1つのプロセッサを用いて符号化ビデオビットストリームを復号する方法、装置及びコンピュータ可読媒体を提供する。
【解決手段】方法は、参照ピクチャ再サンプリングのために適合ウインドウが使用されないことを示すフラグを取得し、前記フラグが、前記参照ピクチャ再サンプリングのために前記適合ウインドウが使用されないことを示す場合、再サンプリングピクチャサイズがシグナリングされるかどうかを決定し、前記再サンプリングピクチャサイズがシグナリングされる場合は、前記再サンプリングピクチャサイズに基づき再サンプリング比を決定し、前記再サンプリングピクチャサイズがシグナリングされない場合は、出力ピクチャサイズに基づき前記再サンプリング比を決定し、前記再サンプリング比を用いて現在ピクチャに対して前記参照ピクチャ再サンプリングを実行する。
【選択図】
図9
【特許請求の範囲】
【請求項1】
少なくとも1つのプロセッサを用いて符号化ビデオビットストリームを復号する方法であって、前記方法は、
参照ピクチャ再サンプリングのために適合ウインドウが使用されないことを示すフラグを取得するステップと、
前記フラグが、前記参照ピクチャ再サンプリングのために前記適合ウインドウが使用されないことを示すことに基づき、再サンプリングピクチャサイズがシグナリングされるかどうかを決定するステップと、
前記再サンプリングピクチャサイズがシグナリングされるという決定に基づき、前記再サンプリングピクチャサイズに基づき再サンプリング比を決定するステップと、
前記再サンプリングピクチャサイズがシグナリングされないという決定に基づき、出力ピクチャサイズに基づき前記再サンプリング比を決定するステップと、
前記再サンプリング比を用いて現在ピクチャに対して前記参照ピクチャ再サンプリングを実行するステップと、
を含む方法。
【発明の詳細な説明】
【技術分野】
【0001】
[関連出願]
本願は、参照により全体がここに組み込まれる、2019年9月24日に出願した米国仮特許出願番号第62/905,319号、及び2020年9月16日に出願した米国特許出願番号第17/022,727号、の優先権を主張する。
【0002】
[技術分野]
開示の主題は、ビデオコーディング及び復号に関し、より具体的には、再サンプリングピクチャサイズ指示を有する参照ピクチャ再サンプリングのシグナリングに関する。
【背景技術】
【0003】
動き補償と共にインターピクチャ予測を用いるビデオコーディング及び復号が知られている。非圧縮デジタルビデオは、一連のピクチで構成されることができ、各ピクチャは、例えば1920×1080個のルミナンスサンプル及び関連するクロミナンスサンプルの空間次元を有する。一連のピクチャは、例えば毎秒60ピクチャ又は60Hzの固定又は可変ピクチャレート(略式にフレームレートとしても知られている)を有し得る。非圧縮ビデオは、かなりのビットレート要件を有する。例えば、8ビット/サンプルの1080p60 4:2:0ビデオ(60Hzフレームレートで1920×1080ルミナンスサンプル解像度)は、1.5Gbit/sに近い帯域幅を必要とする。1時間のこのようなビデオは600Gbyteより多くの記憶空間を必要とする。
【0004】
ビデオコーディング及び復号の1つの目的は、圧縮を通じて、入力ビデオ信号の中の冗長性の削減であり得る。圧縮は、幾つかの場合には大きさで2桁以上も、前述の帯域幅又は記憶空間要件を軽減するのを助けることができる。損失又は無損失圧縮の両方、及びそれらの組み合わせが利用できる。無損失圧縮は、元の信号の正確なコピーが圧縮された元の信号から再構成可能である技術を表す。損失圧縮を用いると、再構成された信号は、元の信号と同一ではないが、元の信号と再構成された信号との間の歪みは、意図される用途のために有用な再構成された信号を生成するのに十分に小さい。ビデオの場合には、損失圧縮が広く利用される。耐えうる歪みの量は、アプリケーションに依存し、例えば、特定の消費者ストリーミングアプリケーションのユーザは、テレビジョン投稿アプリケーションのユーザよりも高い歪みに耐え得る。達成可能な圧縮比は、許容可能/耐性歪みが高いほど、高い圧縮比を生じ得ることを反映できる。
【0005】
ビデオエンコーダ及びデコーダは、例えば動き補償、変換、量子化、及びエントロピーコーディングを含む幾つかの広い分類からの技術を利用できる。このうちの幾つかが以下に紹介される。
【0006】
歴史的に、ビデオエンコーダ及びデコーダは、多くの場合にコーディングビデオシーケンス(coded video sequence (CVS))、グループオブピクチャ(Group of Pictures (GOP))、又は同様のマルチピクチャ時間フレームについて定義され一定のままである所与のピクチャサイズで動作する傾向がある。例えば、MPEG-2では、システム設計は、Iピクチャでだけでなく、従って標準的にGOPについて、シーンのアクティビティのような要因に依存して水平方向の解像度(従って、ピクチャサイズ)を変更することが知られている。CVSの中の異なる解像度の使用のための参照ピクチャの再サンプリングは、例えばITU-T Rec. H.263 Annex P により知られている。しかしながら、ここで、ピクチャサイズは変化しないので、参照ピクチャのみが再サンプリングされ、結果として(ダウンサンプリングの場合には)ピクチャキャンバスの部分のみが使用され、(アップサンプリングの場合には)シーンの部分のみがキャプチャされる可能性がある。更に、H.263 Annex Qは、上方向又は下方向に、(各次元において)2の倍数で個々のマクロブロックの再サンプリングを許容する。ここでも、ピクチャサイズは同じままである。H.263ではマクロブロックのサイズは固定され、従ってシグナリングされる必要がない。
【0007】
予測ピクチャにおけるピクチャサイズの変更は、近年のビデオコーディングにおいてより主流となっている。例えば、VP9は、参照ピクチャ再サンプリング及びピクチャ全体の解像度の変化を許容する。同様に、VVCを対象としている特定の提案(例えば、参照によりここに全体が組み込まれる、Hendry, et. al, “On adaptive resolution change (ARC) for VVC”, Joint Video Team document JVET-M0135-v1, Jan9-19, 2019を含む)は、異なる-より高い又はより低い-解像度への参照ピクチャ全体の再サンプリングを許容する。該文献では、シーケンスパラメータセットの中にコーディングされピクチャパラメータセットの中のピクチャ毎のシンタックス要素により参照されるべき異なる候補解像度が提案される。
【発明の概要】
【0008】
実施形態では、少なくとも1つのプロセッサを用いて符号化ビデオビットストリームを復号する方法が提供され、前記方法は、
参照ピクチャ再サンプリングのために適合ウインドウが使用されないことを示すフラグを取得するステップと、
前記フラグが、前記参照ピクチャ再サンプリングのために前記適合ウインドウが使用されないことを示すことに基づき、再サンプリングピクチャサイズがシグナリングされるかどうかを決定するステップと、
前記再サンプリングピクチャサイズがシグナリングされるという決定に基づき、前記再サンプリングピクチャサイズに基づき再サンプリング比を決定するステップと、
前記再サンプリングピクチャサイズがシグナリングされないという決定に基づき、出力ピクチャサイズに基づき前記再サンプリング比を決定するステップと、
前記再サンプリング比を用いて現在ピクチャに対して前記参照ピクチャ再サンプリングを実行するステップと、を含む。
【0009】
実施形態では、符号化ビデオビットストリームを復号する装置が提供され、前記装置は、
プログラムコードを格納するよう構成される少なくとも1つのメモリと、
前記プログラムコードを読み出し、前記プログラムコードにより命令される通りに動作するよう構成される少なくとも1つのプロセッサと、
を含み、前記プログラムコードは、
前記少なくとも1つのプロセッサに、参照ピクチャ再サンプリングのために適合ウインドウが使用されないことを示すフラグを取得させるよう構成される取得コードと、
前記少なくとも1つのプロセッサに、前記フラグが、前記参照ピクチャ再サンプリングのために前記適合ウインドウが使用されないと示すことに基づき、再サンプリングピクチャサイズがシグナリングされるかどうかを決定させるよう構成される第1決定コードと、
前記少なくとも1つのプロセッサに、前記再サンプリングピクチャサイズがシグナリングされるという決定に基づき、前記再サンプリングピクチャサイズに基づき再サンプリング比を決定させるよう構成される第2決定コードと、
前記少なくとも1つのプロセッサに、前記再サンプリングピクチャサイズがシグナリングされないという決定に基づき、出力ピクチャサイズに基づき前記再サンプリング比を決定させるよう構成される第3決定コードと、
前記少なくとも1つのプロセッサに、前記再サンプリング比を用いて現在ピクチャに対して前記参照ピクチャ再サンプリングを実行させるよう構成される実行コードと、を含む。
【0010】
実施形態では、命令を格納している非一時的コンピュータ可読媒体が提供され、前記命令は、符号化ビデオビットストリームを復号する装置の1つ以上のプロセッサにより実行されると、前記1つ以上のプロセッサに、
参照ピクチャ再サンプリングのために適合ウインドウが使用されないことを示すフラグを取得させ、
前記フラグが、前記参照ピクチャ再サンプリングのために前記適合ウインドウが使用されないことを示すことに基づき、再サンプリングピクチャサイズがシグナリングされるかどうかを決定させ、
前記再サンプリングピクチャサイズがシグナリングされるという決定に基づき、前記再サンプリングピクチャサイズに基づき再サンプリング比を決定させ、
前記再サンプリングピクチャサイズがシグナリングされないという決定に基づき、出力ピクチャサイズに基づき前記再サンプリング比を決定させ、
前記再サンプリング比を用いて現在ピクチャに対して前記参照ピクチャ再サンプリングを実行させる。
【図面の簡単な説明】
【0011】
開示の主題の更なる特徴、特性、及び種々の利点は、以下の詳細な説明及び添付の図面から一層明らかになるだろう。
【0012】
【
図1】実施形態による、通信システムの簡易ブロック図の概略図である。
【0013】
【
図2】実施形態による、通信システムの簡易ブロック図の概略図である。
【0014】
【
図3】実施形態による、デコーダの簡易ブロック図の概略図である。
【0015】
【
図4】実施形態による、エンコーダの簡易ブロック図の概略図である。
【0016】
【
図5】実施形態によるARCパラメータをシグナリングするオプションの概略図である。
【0017】
【
図6A】実施形態によるシンタックステーブルの例の概略図である。
【
図6B】実施形態によるシンタックステーブルの例の概略図である。
【0018】
【
図7】実施形態によるPPSの中でのピクチャサイズ及び適合ウインドウのシグナリングの概略図である。
【0019】
【
図8】実施形態によるPPSの中でのピクチャサイズ及び適合ウインドウのシグナリングの概略図である。
【0020】
【
図9】実施形態による、符号化ビデオビットストリームを復号する例示的な処理のフローチャートである。
【0021】
【
図10】一実施形態による、コンピュータシステムの概略図である。
【発明を実施するための形態】
【0022】
図1は、本発明の一実施形態による通信システム(100)の簡易ブロック図を示す。システム(100)は、ネットワーク(150)を介して相互接続される少なくとも2つの端末(110~120)を含んでよい。データの一方向送信では、第1端末(110)は、ネットワーク(150)を介して他の端末(120)へ送信するために、ビデオデータをローカル位置でコーディングしてよい。第2端末(120)は、ネットワーク(150)から他の端末のコーディングビデオデータを受信し、コーディングデータを復号して、復元したビデオデータを表示してよい。単方向データ伝送は、メディアサービングアプリケーション等で共通であってよい。
【0023】
図1は、例えばビデオ会議中に生じ得る、コーディングビデオの双方向送信をサポートするために適用される第2の端末ペア(130、140)を示す。データの双方向送信では、各端末(130、140)は、ネットワーク(150)を介して他の端末へ送信するために、ローカルでキャプチャしたビデオデータをコーディングしてよい。各端末130、140は、また、他の端末により送信されたコーディングビデオデータを受信してよく、コーディングデータを復号してよく、及び復元したビデオデータをローカルディスプレイ装置で表示してよい。
【0024】
図1では、端末装置(110~140)は、サーバ、パーソナルコンピュータ、及びスマートフォンとして示されてよいが、本開示の原理はこれらに限定されない。本開示の実施形態は、ラップトップコンピュータ、タブレットコンピュータ、メディアプレイヤ、及び/又は専用ビデオ会議設備による適用がある。ネットワーク(150)は、端末(110~140)の間でコーディングビデオデータを運ぶ任意の数のネットワークを表し、例えば有線及び/又は無線通信ネットワークを含む。通信ネットワーク(150)は、回線切り替え及び/又はパケット切り替えチャネルでデータを交換してよい。代表的なネットワークは、電子通信ネットワーク、ローカルエリアネットワーク、広域ネットワーク、及び/又はインターネットを含む。本発明の議論の目的で、ネットワーク(150)のアーキテクチャ及びトポロジは、以下で特に断りの無い限り、本開示の動作にとって重要でないことがある。
【0025】
図2は、開示の主題の適用の一例として、ストリーミング環境におけるビデオエンコーダ及びビデオデコーダの配置を示す。開示の主題は、例えばビデオ会議、デジタルTV、CD、DVD、メモリスティック、等を含むデジタル媒体への圧縮ビデオの格納、他のビデオ可能アプリケーション、等に等しく適用可能である。
【0026】
ストリーミングシステムは、例えば非圧縮ビデオサンプルストリーム(202)を生成するビデオソース(201)、例えばデジタルカメラを含み得るキャプチャサブシステム(213)を含んでよい。サンプルストリーム(202)は、符号化ビデオビットストリームと比べるとき高データ容量を強調するために太線で示され、カメラ(201)に結合されるエンコーダ(203)により処理できる。エンコーダ(203)は、ハードウェア、ソフトウェア、又はそれらの組み合わせを含み、以下に詳述するように開示の主題の態様を可能にし又は実装することができる。符号化ビデオビットストリーム(204)は、サンプルストリームと比べたとき、低データ容量を強調するために細線で示され、将来の使用のためにストリーミングサーバ(205)に格納できる。1つ以上のストリーミングクライアント(206、208)は、ストリーミングサーバ(205)にアクセスして、符号化ビデオビットストリーム(204)のコピー(207、209)を読み出すことができる。クライアント(206)は、ビデオデコーダ(210)を含むことができる。ビデオデコーダ(310)は、符号化ビットストリーム(207)の入来するコピーを復号し、ディスプレイ(212)又は他のレンダリング装置(図示しない)においてレンダリング可能な出力ビデオサンプルストリーム(211)を生成する。幾つかのストリーミングシステムでは、ビデオビットストリーム(204、207、209)は、特定のビデオコーディング/圧縮規格に従い符号化できる。これらの規格の例は、ITU-T Recommendation H.265を含む。策定中のビデオコーディング規格は、略式にVVC(Versatile Video Coding)として知られている。開示の主題は、VVCの文脈で使用されてよい。
【0027】
図3は、本開示の実施形態によるビデオデコーダ(210)の機能ブロック図であり得る。
【0028】
受信機(310)は、ビデオデコーダ(210)により復号されるべき1つ以上のコーディングビデオシーケンス、同じ又は別の実施形態では、一度に1つのコーディングビデオシーケンスを受信してよい。ここで、各コーディングビデオシーケンスの復号は、他のコーディングビデオシーケンスと独立している。コーディングビデオシーケンスは、符号化ビデオデータを格納する記憶装置へのハードウェア/ソフトウェアリンクであってよいチャネル(312)から受信されてよい。受信機(310)は、他のデータ、例えば、それぞれの使用エンティティ(図示しない)へと転送され得るコーディング音声データ及び/又は補助データストリームと共に、符号化ビデオデータを受信してよい。受信機(310)は、他のデータからコーディングビデオシーケンスを分離してよい。ネットワークジッタを除去するために、バッファメモリ(315)は、受信機(310)とエントロピーデコーダ/パーサ(320)(以後、「パーサ」)との間に接続されてよい。受信機(310)が、十分な帯域幅の記憶/転送装置から制御可能に、又はアイソクロナス(isosynchronous)ネットワークから、データを受信しているとき、バッファ(315)は、必要なくてよく又は小さくできる。インターネットのようなベストエフォート型パケットネットワークで使用する場合、バッファ(315)が必要であってよく、比較的大きくすることができ、有利なことに適応サイズにすることができる。
【0029】
ビデオデコーダ(210)は、エントロピーコーディングビデオシーケンスからシンボル(321)を再構成するために、パーサ(320)を含んでよい。これらのシンボルのカテゴリは、デコーダ(210)の動作を管理するために使用される情報、及び場合によっては
図3に示したようにデコーダの統合部分ではないがデコーダに接続され得るディスプレイ(212)のようなレンダリング装置を制御するための情報を含む。レンダリング装置のための制御情報は、SEI(Supplementary Enhancement Information)メッセージ又はVUI(Video Usability Information)パラメータセットフラグメント(図示しない)の形式であってよい。パーサ(320)は、受信された符号化ビデオシーケンスをパース/エントロピー復号してよい。コーディングビデオシーケンスのコーディングは、ビデオコーディング技術又は規格に従うことができ、可変長コーディング、ハフマンコーディング、コンテキスト依存性を有する又は有しない算術的コーディング、等を含む、当業者によく知られた原理に従うことができる。パーサ(320)は、コーディングビデオシーケンスから、ビデオデコーダの中のピクセルのサブグループのうちの少なくとも1つについて、該グループに対応する少なくとも1つのパラメータに基づき、サブグループパラメータのセットを抽出してよい。サブグループは、GOP(Groups of Picture)、ピクチャ、サブピクチャ、タイル、スライス、ブリック、マクロブロック、コーディング木単位(Coding Tree Unit :CTU)、コーディング単位(Coding Unit:CU)、ブロック、変換単位(Transform Unit:TU)、予測単位(Prediction Unit:PU)、等を含み得る。タイルは、ピクチャ内の特定のタイル列及び行の中で長方形領域のCU/CTUを示してよい。ブリックは、特定のタイル内の長方形領域のCU/CTU行を示してよい。スライスは、NAL単位に含まれる、ピクチャの1つ以上のブリックを示してよい。サブピクチャは、ピクチャ内の1つ以上のスライスの長方形領域を示してよい。エントロピーデコーダ/パーサは、コーディングビデオシーケンスから、変換係数、量子化パラメータ値、動きベクトル、等のような情報も抽出してよい。
【0030】
パーサ(320)は、バッファ(315)から受信したビデオシーケンスに対してエントロピー復号/パース動作を実行して、シンボル(321)を生成してよい。
【0031】
シンボル(321)の再構成は、コーディングビデオピクチャ又はその部分の種類(例えば、インター及びイントラピクチャ、インター及びイントラブロック)及び他の要因に依存して、複数の異なるユニットを含み得る。どのユニットがどのように含まれるかは、パーサ(320)によりコーディングビデオシーケンスからパースされたサブグループ制御情報により制御できる。パーサ320と以下の複数のユニットとの間のこのようなサブグループ制御情報のフローは、明確さのために示されない。
【0032】
既に言及した機能ブロックを超えて、デコーダ(210)は、後述のように、多数の機能ユニットに概念的に細分化できる。商用的制約の下で動作する実際の実装では、これらのユニットの多くは、互いに密に相互作用し、少なくとも部分的に互いに統合され得る。しかしながら、開示の主題を説明する目的で、機能ユニットへの以下の概念的細分化は適切である。
【0033】
第1ユニットは、スケーラ/逆変換ユニット351である。スケーラ/逆変換ユニット(351)は、量子化された変換係数、及び、どの変換が使用されるべきか、ブロックサイズ、量子化係数、量子化スケーリングマトリクス、等を含む制御情報を、パーサ(320)からのシンボル(321)として受信する。これは、アグリゲータ(355)に入力され得るサンプル値を含むブロックを出力できる。
【0034】
幾つかの例では、スケーラ/逆変換ユニット(351)の出力サンプルは、イントラコーディングブロック、つまり、前に再構成されたピクチャからの予測情報を使用しないが現在ピクチャの前に再構成された部分からの予測情報を使用可能なブロック、に属することができる。このような予測情報は、イントラピクチャ予測ユニット(352)により提供できる。幾つかの場合には、イントラピクチャ予測ユニット(352)は、再構成中のブロックと同じサイズ及び形状のブロックを、現在(部分的には再構成された)ピクチャ(358)からフェッチした周囲の既に再構成された情報を用いて、生成する。アグリゲータ(355)は、幾つかの場合には、サンプル毎に、イントラ予測ユニット(352)の生成した予測情報を、スケーラ/逆変換ユニット(351)により提供された出力サンプル情報に追加する。
【0035】
他の場合には、スケーラ/逆変換ユニット(351)の出力サンプルは、インターコーディングされた、場合によっては動き補償されたブロックに関連し得る。このような場合には、動き補償予測ユニット(353)は、参照ピクチャメモリ(357)にアクセスして、予測のために使用されるサンプルをフェッチできる。ブロックに関連するシンボル(321)に従いフェッチしたサンプルを動き補償した後に、これらのサンプルは、アグリゲータ(355)により、出力サンプル情報を生成するために、スケーラ/逆変換ユニットの出力に追加され得る(この場合、残差サンプル又は残差信号と呼ばれる)。動き補償予測ユニットが予測サンプルをフェッチする参照ピクチャメモリ内のアドレスは、例えばX、Y及び参照ピクチャコンポーネントを有し得るシンボル(321)の形式で、動き補償予測ユニットの利用可能な動きベクトルにより制御できる。動き補償は、サブサンプルの正確な動きベクトルが使用中であるとき参照ピクチャメモリからフェッチされたサンプル値の補間、動きベクトル予測メカニズム、等も含み得る。
【0036】
アグリゲータ(355)の出力サンプルは、ループフィルタユニット(356)において種々のループフィルタリング技術を受け得る。ビデオ圧縮技術は、コーディングビデオビットストリームに含まれ且つパーサ(320)からのシンボル(321)としてループフィルタユニット(356)に利用可能にされたパラメータにより制御されるが、コーディングピクチャ又はコーディングビデオシーケンスの(復号順序で)前の部分の復号中に取得されたメタ情報にも応答し、前に再構成されループフィルタリングされたサンプル値にも応答し得るインループフィルタ技術を含み得る。
【0037】
ループフィルタユニット(356)の出力は、レンダー装置(212)へと出力でき及び将来のインターピクチャ予測で使用するために参照ピクチャメモリに格納され得るサンプルストリームであり得る。
【0038】
特定のコーディングピクチャは、一旦完全に再構成されると、将来の予測のための参照ピクチャとして使用できる。コーディングピクチャが完全に再構成され、コーディングピクチャが(例えばパーサ(320)により)参照ピクチャとして識別されると、現在参照ピクチャ(358)は、参照ピクチャバッファ(357)の一部になることができ、後続のコーディングピクチャの再構成を開始する前に、新鮮な現在ピクチャメモリを再割り当てできる。
【0039】
ビデオデコーダ(210)は、ITU-T Rec. H.265のような規格で策定され得る所定のビデオ圧縮技術に従い復号動作を実行してよい。コーディングビデオシーケンスが、ビデオ圧縮技術又は規格で、具体的にはその中のプロファイル文書で指定された、ビデオ圧縮技術又は規格のシンタックスに従うという意味で、コーディングビデオシーケンスは、使用中のビデオ圧縮技術又は規格により指定されたシンタックスに従ってよい。また、遵守のために必要なことは、コーディングビデオシーケンスの複雑さが、ビデオ圧縮技術又は規格のレベルにより定められる限界の範囲内であることであり得る。幾つかの場合には、レベルは、最大ピクチャサイズ、最大フレームレート、最大再構成サンプルレート(例えばメガサンプル/秒で測定される)、最大参照ピクチャサイズ、等を制限する。レベルにより設定される限界は、幾つかの場合には、HRD(Hypothetical Reference Decoder)仕様及びコーディングビデオシーケンスの中でシグナリングされるHDRバッファ管理のためのメタデータを通じて更に制限され得る。
【0040】
実施形態では、受信機(310)は、符号化ビデオと共に追加(冗長)データを受信してよい。追加データは、コーディングビデオシーケンスの部分として含まれてよい。追加データは、データを正しく復号するため及び/又は元のビデオデータをより正確に再構成するために、ビデオデコーダ210により使用されてよい。追加データは、例えば、時間的、空間的、又はSNR拡張レイヤ、冗長スライス、冗長ピクチャ、前方誤り訂正符号、等の形式であり得る。
【0041】
図4は、本開示の一実施形態によるビデオエンコーダ(203)の機能ブロック図であり得る。
【0042】
エンコーダ(203)は、ビデオサンプルを、エンコーダ(203)によりコーディングされるべきビデオ画像をキャプチャし得るビデオソース(201)(エンコーダの部分ではない)から受信してよい。
【0043】
ビデオソース(201)は、エンコーダ(203)によりコーディングされるべきソースビデオシーケンスを、任意の適切なビット深さ(例えば、8ビット、10ビット、12ビット、...)、任意の色空間(例えば、BT.601 Y CrCB, RGB,...)、及び任意の適切なサンプリング構造(例えば、Y CrCb 4:2:0, Y CrCb 4:4:4)のデジタルビデオサンプルストリームの形式で、提供してよい。メディア提供システムでは、ビデオソース(201)は、前に準備されたビデオを格納する記憶装置であってよい。ビデオ会議システムでは、ビデオソース(203)は、ビデオシーケンスとしてローカル画像情報をキャプチャするカメラであってよい。ビデオデータは、続けて閲覧されると動きを与える複数の個別ピクチャとして提供されてよい。ピクチャ自体は、ピクセルの空間的配列として組織化されてよい。各ピクセルは、使用中のサンプリング構造、色空間、等に依存して、1つ以上のサンプルを含み得る。当業者は、ピクセルとサンプルとの間の関係を直ちに理解できる。以下の説明はサンプルに焦点を当てる。
【0044】
実施形態によると、エンコーダ(203)は、ソースビデオシーケンスのピクチャを、コーディングビデオシーケンス(443)へと、リアルタイムに又はアプリケーションにより要求される任意の他の時間制約の下でコーディングし圧縮してよい。適切なコーディング速度の実施は、制御部(450)の1つの機能である。制御部は、後述するように他の機能ユニットを制御し、他の機能ユニットに機能的に結合される。結合は、明確さのために図示されない。制御部により設定されるパラメータは、レート制御関連パラメータ(ピクチャスキップ、量子化器、レート歪み最適化技術のラムダ値、...)、ピクチャサイズ、GOP(group of pictures)レイアウト、最大動きベクトル探索範囲、等を含み得る。当業者は、特定のシステム設計のために最適化されたビデオエンコーダ(203)に関連し得るとき、制御部450の他の機能を直ちに識別できる。
【0045】
幾つかのビデオエンコーダは、当業者が「コーディングループ」として直ちに認識する中で動作する。非常に簡略化した説明として、コーディングループは、エンコーダ(430)(以後、「ソースコーダ」)(コーディングされるべき入力ピクチャと参照ピクチャとに基づき、シンボルを生成する)及びエンコーダ(203)内に組み込まれ、シンボルを再構成して、(シンボルとコーディングビデオビットストリームとの間の任意の圧縮が開示の主題において考慮されるビデオ圧縮技術の中で無損失であるとき)(リモート)デコーダが生成し得るサンプルデータを生成する(ローカル)デコーダ(433)の符号化部分を含むことができる。再構成されたサンプルストリームは、参照ピクチャメモリ434に入力される。シンボルストリームの復号が、デコーダ位置(ローカル又はリモート)と独立にビット正確な結果をもたらすとき、参照ピクチャバッファの内容も、ローカルエンコーダとリモートエンコーダとの間でビット正確である。言い換えると、エンコーダの予測部分が、復号中に予測を用いるときデコーダが「見る」のと正確に同じサンプル値を、参照ピクチャサンプルとして「見る」。参照ピクチャ同期性のこの基本原理(及び、例えばチャネルエラーのために同期性が維持できない場合には、結果として生じるドリフト)は、当業者によく知られている。
【0046】
「ローカル」デコーダ(433)の動作は、
図3と関連して以上に詳述した「リモート」デコーダ(210)のものと同じであり得る。簡単に
図4も参照すると、しかしながら、シンボルが利用可能であり、エントロピーコーダ(445)及びパーサ(320)によるコーディングビデオシーケンスへのシンボルの符号化/復号が無損失であり得るので、チャネル(312)、受信機(310)、バッファ(315)、及びパーサ(320)を含むデコーダ(210)のエントロピー復号部分は、ローカルデコーダ(433)に完全に実装されなくてよい。
【0047】
この点で行われる考察は、デコーダ内に存在するパース/エントロピー復号を除く任意のデコーダ技術も、対応するエンコーダ内と実質的に同一の機能形式で存在する必要があるということである。この理由から、開示の主題は、デコーダ動作に焦点を当てる。エンコーダ技術の説明は、それらが包括的に説明されるデコーダ技術の逆であるので、省略できる。特定の領域においてのみ、より詳細な説明が必要であり、以下に提供される。
【0048】
動作中、幾つかの例では、ソースコーダ(430)は、動き補償された予測コーディングを実行してよい。これは、「参照フレーム」として指定されたビデオシーケンスからの1つ以上の前にコーディングされたフレームを参照して予測的に入力フレームをコーディングする。この方法では、コーディングエンジン(432)は、入力フレームのピクセルブロックと、入力フレームに対する予測基準として選択されてよい参照フレームのピクセルブロックとの間の差分をコーディングする。
【0049】
ローカルビデオデコーダ(433)は、ソースコーダ(430)により生成されたシンボルに基づき、参照フレームとして指定されてよいフレームのコーディングビデオデータを復号してよい。コーディングエンジン(432)の動作は、有利なことに、損失処理であってよい。コーディングビデオデータがビデオデコーダ(
図4に図示されない)において復号され得るとき、再構成ビデオシーケンスは、標準的に、幾つかのエラーを有するソースビデオシーケンスの複製であってよい。ローカルビデオデコーダ(433)は、参照フレームに対してビデオデコーダにより実行され得る復号処理を複製し、参照ピクチャキャッシュ(434)に格納されるべき再構成参照フレームを生じ得る。このように、エンコーダ(203)は、(伝送誤りが無ければ)遠端ビデオデコーダにより取得される再構成参照フレームと共通の内容を有する再構成参照フレームのコピーをローカルに格納してよい。
【0050】
予測器(435)は、コーディングエンジン(432)のために予測探索を実行してよい。つまり、コーディングされるべき新しいフレームについて、予測器(435)は、新しいピクチャのための適切な予測基準として機能し得る(候補参照ピクセルブロックのような)サンプルデータ又は参照ピクチャ動きベクトル、ブロック形状、等のような特定のメタデータについて、参照ピクチャメモリ(434)を検索してよい。予測器(435)は、適切な予測基準を見付けるために、サンプルブロック-ピクセルブロック毎に動作してよい。幾つかの例では、予測器(435)により取得された検索結果により決定されるように、入力ピクチャは、参照ピクチャメモリ(434)に格納された複数の参照ピクチャから引き出された予測基準を有してよい。
【0051】
制御部(450)は、例えば、ビデオデータの符号化のために使用されるパラメータ及びサブグループパラメータの設定を含む、ビデオコーダ(430)のコーディング動作を管理してよい。
【0052】
全ての前述の機能ユニットの出力は、エントロピーコーダ(445)におけるエントロピーコーディングを受けてよい。エントロピーコーダは、ハフマンコーディング、可変長コーディング、算術コーディング、等のような当業者によく知られた技術に従いシンボルを無損失圧縮することにより、種々の機能ユニットにより生成されたシンボルを、コーディングビデオシーケンスへと変換する。
【0053】
送信機(440)は、コーディングビデオデータを格納し得る記憶装置へのハードウェア/ソフトウェアリンクであってよい通信チャネル(460)を介する伝送のために準備するために、エントロピーコーダ(445)により生成されたコーディングビデオシーケンスをバッファリングしてよい。送信機(440)は、ビデオコーダ(430)からのコーディングビデオデータを、送信されるべき他のデータ、例えばコーディング音声データ及び/又は補助データストリーム(図示されないソース)とマージ(merge)してよい。
【0054】
制御部(450)は、エンコーダ(203)の動作を管理してよい。コーディング中、制御部(450)は、それぞれのピクチャに適用され得るコーディング技術に影響し得る特定のコーディングピクチャタイプを、各コーディングピクチャに割り当ててよい。例えば、ピクチャは、多くの場合、以下のピクチャタイプのうちの1つとして割り当てられてよい。
【0055】
イントラピクチャ(Iピクチャ)は、予測のソースとしてシーケンス内の任意の他のフレームを使用せずにコーディング及び復号され得るピクチャであってよい。幾つかのビデオコーデックは、例えばIDR(Independent Decoder Refresh)ピクチャを含む異なる種類のイントラピクチャを許容する。当業者は、Iピクチャの変形、及びそれらの個々の適用及び特徴を認識する。
【0056】
予測ピクチャ(Pピクチャ)は、殆どの場合、各ブロックのサンプル値を予測するために1つの動きベクトル及び参照インデックスを用いてイントラ予測又はインター予測を用いてコーディング及び復号され得るピクチャであってよい。
【0057】
双方向予測ピクチャ(Bピクチャ)は、各ブロックのサンプル値を予測するために最大2つの動きベクトル及び参照インデックスを用いてイントラ予測又はインター予測を用いてコーディング及び復号され得るピクチャであってよい。同様に、マルチ予測ピクチャは、単一のブロックの再構成のために、2つより多くの参照ピクチャ及び関連付けられたメタデータを使用できる。
【0058】
ソースピクチャは、共通に、複数のサンプルブロック(例えば、それぞれ4×4、8×8、4×8、又は16×16個のサンプルのブロック)に空間的に細分化され、ブロック毎にコーディングされてよい。ブロックは、ブロックのそれぞれのピクチャに適用されるコーディング割り当てにより決定される他の(既にコーディングされた)ブロックへの参照により予測的にコーディングされてよい。例えば、Iピクチャのブロックは、非予測的にコーディングされてよく、又はそれらは同じピクチャの既にコーディングされたブロックを参照して予測的にコーディングされてよい(空間予測又はイントラ予測)。Pピクチャのピクセルブロックは、1つの前にコーディングされた参照ピクチャを参照して、空間予測を介して又は時間予測を介して、予測的にコーディングされてよい。Bピクチャのブロックは、1つ又は2つの前にコーディングされた参照ピクチャを参照して、空間予測を介して又は時間予測を介して、非予測的にコーディングされてよい。
【0059】
ビデオコーダ(203)は、ITU-T Rec. H.265のような所定のビデオコーディング技術又は規格に従いコーディング動作を実行してよい。その動作において、ビデオコーダ(203)は、入力ビデオシーケンスの中の時間的及び空間的冗長性を利用する予測コーディング動作を含む種々の圧縮動作を実行してよい。コーディングビデオデータは、したがって、使用されているビデオコーディング技術又は規格により指定されたシンタックスに従ってよい。
【0060】
一実施形態では、送信機(440)は、符号化ビデオと共に追加データを送信してよい。ビデオコーダ(430)は、このようなデータをコーディングビデオシーケンスの部分として含んでよい。追加データは、時間/空間/SNR拡張レイヤ、冗長ピクチャ及びスライスのような他の形式の冗長データ、SEI(Supplementary Enhancement Information)メッセージ、VUI(Visual Usability Information)パラメータセットフラグメント、等を含んでよい。
【0061】
最近、複数の意味論的に独立したピクチャ部分の単一のビデオピクチャへの圧縮ドメインアグリゲーション又は抽出が、注目を浴びている。特に、例えば、360コーディング又は特定の監視アプリケーションのコンテキストで、複数の意味論的に独立したソースピクチャ(例えば、立方体投影された360度シーンの6個の立方体表面、又は複数カメラ監視設定の場合の個々のカメラ入力)は、所与の時点における異なるシーン毎のアクティビティに対応するために、別個の適応解像度設定を必要とすることがある。言い換えると、エンコーダは、所与の時点で、360度全体又は監視シーンを生成する異なる意味論的に独立したピクチャについて異なる再サンプリング因子を使用するよう選択してよい。単一のピクチャに結合されるとき、これは参照ピクチャ再サンプリングが実行されること、及びコーディングピクチャの部分について、適応解像度コーディングシグナリングが利用可能であることを要求する。
【0062】
以下では、この説明の残りの部分で参照される幾つかの用語が紹介される。
【0063】
サブピクチャは、幾つかの場合には、サンプル、ブロック、マクロブロック、コーディングユニット、又は意味論的にグループ化され変更された解像度で独立にコーディングされてよい同様のエンティティの長方形構成を表してよい。1つ以上のサブピクチャは、ピクチャを形成してよい。1つ以上のコーディングサブピクチャは、コーディングピクチャを形成してよい。1つ以上のサブピクチャは、ピクチャに組み立てられてよく、1つ以上のサブピクチャは、ピクチャから抽出されてよい。特定の環境では、1つ以上のコーディングサブピクチャは、サンプルレベルに変換することなく、圧縮ドメインにおいてコーディングピクチャへと組み立てられてよく、同じ又は他の場合には、1つ以上のコーディングサブピクチャは、圧縮ドメインにおいてコーディングピクチャから抽出されてよい。
【0064】
参照ピクチャ再サンプリング(Reference Picture Resampling (RPR))又は適応解像度変更(Adaptive Resolution Change (ARC))は、例えば参照ピクチャ再サンプリングにより、コーディングビデオシーケンス内のピクチャ又はサブピクチャの解像度の変更を許容するメカニズムを表してよい。RPR/ARCパラメータは、以下では、適応解像度変更を実行するために必要な制御情報を表す。これは、例えば、フィルタパラメータ、スケーリング因子、出力及び/又は参照ピクチャの解像度、種々の制御フラグ、等を含んでよい。
【0065】
実施形態では、コーディング及び復号は、単一の意味論的に独立したコーディングビデオピクチャに対して実行されてよい。独立したRPR/ARCパラメータによる複数のサブピクチャのコーディング/復号の意味、及びその暗示される追加の複雑さを説明する前に、RPR/ARCパラメータのシグナリングが説明されるべきである。
【0066】
図5A~5Eを参照すると、RPR/ARCパラメータをシグナリングする幾つかの実施形態が示される。実施形態の各々と共に記されるように、それらは、コーディング効率、複雑さ、及びアーキテクチャの観点で、特定の利点及び特定の欠点を有することがある。ビデオコーディング規格又は技術は、RPR/ARCパラメータをシグナリングするために、これらの実施形態、又は関連技術から分かるオプション、のうちの1つ以上を選択してよい。実施形態は、相互に排他的でなくてよく、或いは、アプリケーションの必要、技術的に関連する規格、又はエンコーダの選択に基づき、交換されてよい。
【0067】
RPR/ARCパラメータのクラスは以下を含んでよい:
【0068】
-X及びY次元において別個の又は結合された、アップ/ダウンサンプル因子。
【0069】
-時間次元の追加に伴う、所与の数のピクチャについて一定速度ズームイン/アウトを示す、アップ/ダウンサンプル因子。
【0070】
-上述の2つのうちのいずれかは、因子を含むテーブルを指してよい1つ以上のおそらく短いシンタックス要素のコーディングを含んでよい。
【0071】
-X又はY次元における、結合された又は別個の、入力ピクチャ、出力ピクチャ、参照ピクチャ、コーディングピクチャの、サンプル、ブロック、マクロブロック、コーディングユニット(coding units (CUs))、又は任意の他の適切な粒度のユニット内の解像度。1つより多くの解像度がある場合(例えば、入力ピクチャについて1つ、参照ピクチャについて1つ)、特定の場合には、値の1つのセットが、値の別のセットから推定されてよい。これは、例えば、フラグの使用により制御することができる。更に詳細な例については以下を参照する。
【0072】
-「ワーピング(warping)」座標は、ここでも上述のような適切な粒度で、H.263 Annex P で使用されるものを含む。H.263 Annex Pは、このようなワーピング座標をコーディングするための1つの効率的な方法を定義するが、他の更に効率的な可能性のある方法も考案される可能性がある。例えば、Annex Pのワーピング座標の可変長リバーシブルHuffman型コーディングは、適切な長さのバイナリコーディングにより置き換えられる。ここで、バイナリコードワードの長さは、例えば、最大ピクチャサイズから導出され、場合によっては特定の係数により乗算され特定の値によりオフセットされ得、従って、最大ピクチャサイズの境界の外部での「ワーピング」を可能にする。
【0073】
-アップ又はダウンサンプリングフィルタパラメータ実施形態では、アップ及び/又はダウンサンプリングのための単一のフィルタのみがあってよい。しかしながら、実施形態では、フィルタ設計において更なる柔軟性を可能にすることが望ましい場合があり、これは、フィルタパラメータのシグナリングを必要とする場合がある。このようなパラメータは、可能なフィルタ設計のリスト内のインデックスを通じて選択されてよい。フィルタは完全に指定されてよく(例えば、フィルタ係数のリストを通じて、適切なエントロピーコーディング技術を用いて)、フィルタは、アップ/ダウンサンプル比を通じて暗示的に選択されてよく、該アップ/ダウンサンプル比に従い上述のメカニズムのうちのいずれかに従いシグナリングされる、等である。
【0074】
以下では、コードワードを通じて示される、アップ/ダウンサンプル因子(X及びY次元の両方で使用されるべき同じ因子)の有限セットのコーディングを想定する。そのコードワードは、例えばH.264及びH.265のようなビデオコーディング仕様における特定のシンタックス要素について共通のExt-Golombコードを使用する可変長コードワードであってよい。アップ/ダウンサンプル因子への値の1つの適切なマッピングは、例えば表1に従うことができる。
表1
【表1】
【0075】
多くの同様のマッピングが、ビデオ圧縮技術又は規格において利用可能なアプリケーションの必要並びにアップ及びダウンスケールメカニズムの能力に従い、考案され得る。表は、より多くの値に拡張され得る。値は、Ext-Golombコード以外のエントロピーコーディングメカニズムにより、例えばバイナリコーディングを用いて表されてもよい。それは、再サンプリング因子がビデオ処理エンジン(主にエンコーダ及びデコーダ)自体の外部で、例えばMANEにより対象とされるとき、特定の利点を有してよい。留意すべきことに、解像度の変化が要求されない状況では、Ext-Golombコードは、短く、上述の表の中では、単一のビットのみになるよう選択できる。それは、最も一般的な場合にバイナリコードを使用することに勝るコーディング効率の利点を有し得る。
【0076】
表中のエントリの数は、それらの意味と共に、完全に又は部分的に設定可能であってよい。例えば、表の基本的概要は、シーケンス又はデコーダパラメータセットのような「高(high)」パラメータセットの中で伝達されてよい。実施形態では、1つ以上のこのような表が、ビデオコーディング技術又は規格の中で定義されてよく、例えばデコーダ又はシーケンスパラメータセットを通じて選択されてよい。
【0077】
以下は、上述のようにコーディングされたアップサンプリング/ダウンサンプリング因子(ARC情報)がビデオコーディング技術又は規格シンタックスにどのように含まれるかを説明する。同様の検討は、1つ又は幾つかのコードワード制御アップ/ダウンサンプリングフィルタに適用され得る。フィルタ又は他のデータ構造のために比較的に大容量のデータが必要とされるときの議論については以下を参照する。
【0078】
図5に示されるように、H.263 Annex Pは、ARC情報(502)を4個のワーピング座標の形式で、ピクチャヘッダ(501)に、具体的にはH.263 PLUSPTYPE(503)ヘッダ拡張に含める。これは、(a)利用可能なピクチャヘッダがあるとき、及び(b)ARC情報の頻繁な変更が期待されるとき、賢明な設計選択であり得る。しかしながら、H.263型のシグナリングを使用するときのオーバヘッドは非常に大きくなることがあり、ピクチャヘッダが過渡的特性であり得るので、スケーリング係数がピクチャ境界の間に属しないことがある。
【0079】
同じ又は別の実施形態では、
図6A~6Bに概要が示されるように、ARCパラメータのシグナリングが以下に詳細に説明される。
図6A~6Bは、少なくとも1993年以降、例えばビデオコーディング規格において使用されるようなC型プログラミングにおおよそ従う記述を用いて表現されるタイプのシンタックス図を示す。太字体の行は、ビットストリーム内に現れるシンタックス要素を示す。太字ではない行は、制御フロー又は変数の設定を示すことがある。
【0080】
図6Aに示すように、(場合によっては長方形の)ピクチャ部分に適用可能なヘッダの例示的なシンタックス構造としてのタイルグループヘッダ(601)は、条件付きで、可変長のExt-Golombコーディングされたシンタックス要素dec_pic_size_idx(602)(太字で示される)を含み得る。タイルグループヘッダ内のこのシンタックス要素の存在は、適応解像度(603)、ここでは太字で示されないフラグの値の使用において制御できる。これは、フラグがビットストリーム内に、シンタックスダイアグラム内で生じるポイントで、存在することを意味する。このピクチャ又は部分について適応解像度が使用されるか否かは、ビットストリーム内又は外の高レベルシンタックス構造の中でシグナリングできる。示される例では、それは、以下に概説するシーケンスパラメータセットの中でシグナリングされる。
【0081】
図6Bを参照すると、シーケンスパラメータセット(610)の抜粋も示される。示される最初のシンタックス要素は、adaptive_pic_resolution_change_flag(611)である。真のとき、そのフラグは、適応解像度の使用を示すことができ、それは特定の制御情報を必要とし得る。例では、このような制御情報は、パラメータセット(612)の中のif()文に基づくフラグの値及びタイルグループヘッダ(601)に基づき、条件付きで存在する。
【0082】
適応解像度が使用されるとき、本例では、サンプルのユニットの中に出力解像度がコーディングされる(613)。参照符号613は、output_pic_width_in_luma_samples及びoutput_pic_height_in_luma_samplesの両方を表し、これらは出力ピクチャの解像度を一緒に定義し得る。その他の場合、ビデオコーディング技術又は規格では、どの値にも特定の制限が定義できる。例えば、レベル定義は、合計の出力サンプルの数を制限してよく、これは、それら2つのシンタックス要素の値の積であり得る。また、特定のビデオコーディング技術又は規格、又は例えばシステム規格のような外部技術又は規格は、番号付けの範囲(例えば、一方又は両方の次元が2のべき乗の数値により除算可能でなければならい)、又はアスペクト比(例えば、幅及び高さが4:3又は16:9のような関係になければならない)を制限してよい。このような制限は、ハードウェア実装を実現するため又は他の理由で導入されてよく、従来良く知られている。
【0083】
特定のアプリケーションでは、エンコーダは、デコーダに、サイズが出力ピクチャサイズであることを暗示的に想定させるのではなく、特定の参照ピクチャサイズを使用するよう指示することが推奨され得る。本例では、シンタックス要素reference_pic_size_present_flag(614)は、参照ピクチャ次元(615)(ここでも参照符号は幅及び高さの両方を表す)の条件付きの存在を制御する。
【0084】
最終的に、幅及び高さを有する可能な復号ピクチャの表が示される。このような表は、例えば、テーブル指示(num_dec_pic_size_in_luma_samples_minus1)(616)により表現できる。「minus1」は、シンタックス要素の値の解釈を表し得る。例えば、コーディングされた値が0(ゼロ)である場合、1つのテーブルエントリが存在する。値が5である場合、6個のテーブルエントリが存在する。テーブル内の各「行」について、復号ピクチャの幅及び高さがシンタックス(617)に含まれる。
【0085】
存在するテーブルエントリ(617)は、タイルグループヘッダ内のシンタックス要素dec_pic_size_idx(602)を用いてインデックス付けできる。それにより、タイルグループ毎に異なる復号サイズ、事実上のズーム倍率を可能にする。
【0086】
特定のビデオコーディング技術又は規格、例えばVP9は、空間的スケーラビリティを有効にするために、時間スケーラビリティと関連して(開示の主題と全く異なる方法でシグナリングされる)特定の形式の参照ピクチャ再サンプリングを実施することにより、空間的スケーラビリティをサポートする。特に、特定の参照ピクチャは、空間拡張層の基礎を形成するために、ARC型の技術を用いて、より高い解像度へとアップサンプリングされてよい。これらのアップサンプリングされたピクチャは、詳細を追加するために、高解像度における通常の予測メカニズムを使用して、精緻化され得る。
【0087】
ここで議論される実施形態は、このような環境で使用できる。特定の場合には、同じ又は別の実施形態で、NALユニットヘッダ内の値、例えばTemporal IDフィールドが、時間だけでなく空間層も示すために使用できる。そうすることで、特定のシステム設計に特定の利点がもたらされる可能性がある。例えば、NALユニットヘッダTemporal ID値に基づき時間層選択フォワーディングのために生成され最適化された既存の選択フォワーディングユニット(Selected Forwarding Units (SFU))は、拡張可能な環境で、変更無しに使用できる。それを有効にするために、コーディングピクチャサイズと時間層との間のマッピングがNALユニットヘッダ内のTemporal IDフィールドにより示されるという要件が存在し得る。
【0088】
実施形態では、適合ウインドウサイズはPPS内でシグナリングされてよい。適合ウインドウパラメータは、参照ピクチャの適合ウインドウサイズが現在ピクチャの適合ウインドウサイズと異なるとき、再サンプリング比を計算するために使用されてよい。デコーダは、再サンプリング処理が必要かどうかを決定するために、各ピクチャの適合ウインドウサイズを認識する必要があってよい。
【0089】
実施形態では、参照ピクチャ再サンプリング(reference picture resampling (RPR))のためのスケール係数は、適合ウインドウパラメータから導出され得る、現在ピクチャと参照ピクチャとの間の出力幅及び出力高さに基づき計算されてよい。これは、復号ピクチャサイズを用いるのと比べて、スケーリング係数をより正確に計算することを可能にし得る。これは、小さなパディング領域を有する、出力ピクチャサイズが復号ピクチャサイズとほぼ同一である大部分のビデオシーケンスについて良好に動作し得る。
【0090】
しかしながら、これは、種々の問題も引き起こし得る。例えば、没入型媒体アプリケーションについて(例えば、360立方体マップ、立体視的、ポイントクラウド)、大きなオフセット値により、適合ウインドウサイズが復号ピクチャサイズと全く異なるとき、適合ウインドウサイズに基づくスケーリング係数の計算は、異なる解像度を有するインター予測の品質を保証しなくてよい。極端な場合には、参照ピクチャ内の現在CUの同一位置領域は存在しなくてよい。RPRがマルチレイヤを伴うスケーラビリティのために使用されるとき、適合ウインドウオフセットは、レイヤに跨がる参照領域の計算のために使用されなくてよい。SHVC(HEVC Scalability Extension)では、各々の直接依存レイヤの参照領域は、PPS拡張の中で明示的にシグナリングされてよいことに留意する。特定の領域(サブピクチャ)をターゲットとするサブビットストリームがビットストリーム全体から抽出されるとき、適合ウインドウサイズは、ピクチャサイズと全く一致しない。パラメータがスケーリング計算のために使用される限り、ビットストリームが符号化されると、適合ウインドウパラメータは更新できないことに留意する。
【0091】
上述の潜在的な問題に基づき、適合ウインドウサイズに基づくスケーリング係数の計算は、代替パラメータが必要とされる角の場合(corner case)を有してよい。代替として、適合ウインドウパラメータがスケーリング係数の計算のために使用できないとき、RPRのスケーリング及びスケーラビリティ(Scalability)を計算するために使用できる参照領域パラメータをシグナリングすることが提案される。
【0092】
実施形態では、
図7を参照すると、conformance_window_flagは、PPS内でシグナリングされてよい。conformance_window_flagが1に等しいことは、適合クロッピングウインドウオフセットパラメータがPPS内で次に続くことを示してよい。conformance_window_flagが0に等しいことは、適合クロッピングウインドウオフセットパラメータが存在しないことを示してよい。
【0093】
実施形態では、更に
図7を参照すると、conf_win_left_offset、conf_win_right_offset、conf_win_top_offset、及びconf_win_bottom_offsetは、出力のためのピクチャ座標の中で指定される長方形領域の観点から、復号処理から出力されるPPSを参照するピクチャのサンプルを指定する。conformance_window_flagが0に等しいとき、conf_win_left_offset、conf_win_right_offset、conf_win_top_offset、及びconf_win_bottom_offsetの値は、0に等しいと推定されてよい。
【0094】
実施形態では、フラグはPPS又は別のパラメータセット内に存在してよく、再サンプリングピクチャサイズ(幅及び高さ)がPPS又は別のパラメータセットの中で明示的にシグナリングされるか否かを示してよい。再サンプリングピクチャサイズパラメータが明示的にシグナリングされる場合、現在ピクチャと参照ピクチャとの間の再サンプリング比は、再サンプリングピクチャサイズパラメータに基づき計算されてよい。
【0095】
実施形態では、
図7を参照すると、use_conf_win_for_rpr_flagが0に等しいことは、resampled_pic_width_in_luma_samples及びresampled_pic_height_in_luma_samplesが、適切な場所に、例えばPPS内で次に続くことを示してよい。
【0096】
実施形態では、use_conf_win_for_rpr_flagが1に等しいことは、resampling_pic_width_in_luma_samples及びresampling_pic_height_in_luma_samplesが存在しないことを示してよい。
【0097】
実施形態では、resampling_pic_width_in_luma_samplesは、再サンプリングのために、ルマサンプルのユニットの中のPPSを参照する各参照ピクチャの幅を指定してよい。resampling_pic_width_in_luma_samplesは0に等しくなくてよく、Max(8,MinCbSizeY)の整数倍であってよく、pic_width_max_in_luma_samples以下であってよい。
【0098】
実施形態では、resampling_pic_height_in_luma_samplesは、再サンプリングのために、ルマサンプルのユニットの中のPPSを参照する各参照ピクチャの高さを指定してよい。resampling_pic_height_in_luma_samplesは0に等しくなくてよく、Max(8,MinCbSizeY)の整数倍であってよく、pic_height_max_in_luma_sample以下であってよい。
【0099】
実施形態では、シンタックス要素resampling_pic_width_in_luma_samplesが存在しないとき、resampling_pic_width_in_luma_samplesの値はPicOutputWidthLに等しいと推定されてよい。
【0100】
シンタックス要素resampling_pic_height_in_luma_samplesが存在しないとき、resampling_pic_height_in_luma_samplesの値はPicOutputHeightLに等しいと推定されてよい。
【0101】
実施形態では、参照ピクチャ再サンプリングを伴う小数補間(fractional interpolation)処理の例は以下のように処理されてよい。
【0102】
変数fRefWidthは、ルマサンプル内の参照ピクチャのresampling_pic_width_in_luma_samplesに等しく設定されてよい。
【0103】
変数fRefHeightは、ルマサンプル内の参照ピクチャのresampling_pic_height_in_luma_samplesに等しく設定されてよい。
【0104】
動きベクトルmvLXは、(refMvLX-mvOffset)に等しく設定されてよい。
【0105】
cIdxが0に等しい場合、スケーリング係数及びそれらの固定点表現は、以下の式1及び式2に従い定義されてよい。
【数1】
【0106】
実施形態では、
図8を参照すると、use_conf_win_for_rpr_flagが0に等しいことは、resampled_pic_width_in_luma_samples及びresampled_pic_height_in_luma_samplesが、PPS内で次に続くことを指定してよい。use_conf_wid_for_rpr_flagが1に等しいことは、resampling_pic_width_in_luma_samples及びresampling_pic_height_in_luma_samplesが存在しないことを指定してよい。
【0107】
実施形態では、ref_region_left_offsetは、復号ピクチャ内の参照領域の左上ルマサンプルの間の水平オフセットを指定してよい。ref_region_left_offsetの値は、両端を含む-214~214-1の範囲であるべきである。存在しないとき、ref_region_left_offsetの値はconf_win_left_offsetに等しいと推定されてよい。
【0108】
実施形態では、ref_region_top_offsetは、復号ピクチャ内の参照領域の左上ルマサンプルの間の垂直オフセットを指定してよい。ref_region_top_offsetの値は、両端を含む-214~214-1の範囲であるべきである。存在しないとき、ref_region_top_offsetの値はconf_win_right_offsetに等しいと推定されてよい。
【0109】
実施形態では、ref_region_right_offsetは、復号ピクチャ内の参照領域の右下ルマサンプルの間の水平オフセットを指定してよい。ref_layer_right_offsetの値は、両端を含む-214~214-1の範囲であるべきである。存在しないとき、ref_region_right_offsetの値はconf_win_top_offsetに等しいと推定されてよい。
【0110】
実施形態では、ref_region_bottom_offsetは、復号ピクチャ内の参照領域の右下ルマサンプルの間の垂直オフセットを指定してよい。ref_layer_bottom_offsetの値は、両端を含む-214~214-1の範囲であるべきである。存在しないとき、ref_region_bottom_offset[ref_loc_offset_layer_id[i]]の値はconf_win_bottom_offsetに等しいと推定されてよい。
【0111】
変数PicRefWidthL及びPicRefHeightLは、以下に示すように、式3及び式4に示されるように導出されてよい。
【数2】
【0112】
変数fRefWidthは、ルマサンプル内の参照ピクチャのPicRefWidthLに等しく設定されてよい。
【0113】
変数fRefHeightは、ルマサンプル内の参照ピクチャのPicRefHeightLに等しく設定されてよい。
【0114】
動きベクトルmvLXは、(refMvLX-mvOffset)に等しく設定されてよい。
【0115】
cIdxが0に等しい場合、スケーリング係数及びそれらの固定点表現は、以下の式5及び式6に示すように定義されてよい。
【数3】
【0116】
参照サンプルパディングのための境界ブロックの左上座標(xSbIntL,ySbIntL)は、(xSb+(mvLX[0]>>4),ySb+(mvLX[1]>>4))に等しく設定されてよい。
【0117】
予測ルマサンプルアレイpredSamplesLXの内部の各ルマサンプル位置(x
L=0..sbWidth-1+brdExtSize,y
L=0..sbHeight-1+brdExtSize)について、対応する予測ルマサンプル値predSamplesLX[x
L][y
L]は、以下のように導出されてよい。
(refxSb
L,refySb
L)及び(refx
L,refy
L)が、1/16サンプルユニットの中で与えられる動きベクトル(refMvLX,refMvLX)により指されるルマ位置であるとする。変数refxSb
L、refx
L、refySb
L、及びrefy
Lは、以下に示すように、式7~式10に示されるように導出されてよい。
【数4】
【0118】
図9は、符号化ビデオビットストリームを復号する例示的な処理900のフローチャートである。幾つかの実装では、
図9の1つ以上の処理ブロックは、デコーダ210により実行されてよい。幾つかの実装では、
図9の1つ以上の処理ブロックは、エンコーダ203のような、デコーダ210と別個の又はそれを含む別の装置又は装置のグループにより実行されてよい。
【0119】
図9に示されるように、処理900は、参照ピクチャ再サンプリングのために適合ウインドウが使用されないことを示すフラグを取得するステップを含んでよい。
【0120】
更に
図9に示されるように、処理900は、フラグが、参照ピクチャ再サンプリングのために適合ウインドウが使用されないことを示すことに基づき、再サンプリングピクチャサイズがシグナリングされるかどうかを決定するステップを含んでよい(ブロック920)。
【0121】
第2フラグが、再サンプリングピクチャサイズはシグナリングされることを示すと決定された場合(ブロック920でYES)、処理900は、ブロック930へ、次にブロック950へ進んでよい。ブロック930で、処理900は、再サンプリングピクチャサイズに基づき再サンプリング比を決定するステップを含んでよい。
【0122】
第2フラグが、参照ピクチャ再サンプリングのために適合ウインドウが使用されることを示さないと決定された場合、(ブロック920でNO)、処理900は、ブロック940へ、次にブロック950へ進んでよい。ブロック940で、処理900は、出力ピクチャサイズに基づき再サンプリング比を決定するステップを含んでよい。
【0123】
更に
図9に示されるように、処理900は、再サンプリング比を用いて現在ピクチャに対して参照ピクチャ再サンプリングを実行するステップ(ブロック950)を含んでよい。
【0124】
実施形態では、フラグは、ピクチャパラメータセットの中でシグナリングされてよい。
【0125】
実施形態では、再サンプリングピクチャサイズは、再サンプリングピクチャサイズの幅及び再サンプリングピクチャサイズの高さのうちの少なくとも1つとして、符号化ビデオビットストリームの中でシグナリングされてよい。
【0126】
実施形態では、幅及び高さのうちの少なくとも1つは、ピクチャパラメータセットの中でシグナリングされてよい。
【0127】
実施形態では、幅及び高さのうちの少なくとも1つは、幅及び前記高さのうちの少なくとも1つに含まれるルマサンプルの数として表現されてよい。
【0128】
実施形態では、幅及び高さのうちの少なくとも1つは、現在ピクチャの端と参照領域の所定のルマサンプルとの間の少なくとも1つのオフセット距離に基づき決定されてよい。
【0129】
実施形態では、少なくとも1つのオフセット距離は、ピクチャパラメータセットの中でシグナリングされてよい。
【0130】
実施形態では、少なくとも1つのオフセット距離は、以下:現在ピクチャの左端と参照領域の左上のルマサンプルとの間の水平オフセット距離、現在ピクチャの上端と参照領域の左上のルマサンプルとの間の垂直オフセット距離、現在ピクチャの右端と参照領域の右下のルマサンプルとの間の水平オフセット距離、現在ピクチャの下端と参照領域の右下のルマサンプルとの間の垂直オフセット距離、の中からの少なくとも1つを含む。
【0131】
図9は処理900の例示的なブロックを示すが、処理900は、幾つかの実装では、
図9に示されたブロックより多数のブロック、少数のブロック、又は異なる配置のブロックを含んでよい。追加又は代替として、処理900のブロックのうちの2つ以上は、並列に実行されてよい。
【0132】
さらに、提案した方法は、処理回路(例えば、1つ以上のプロセッサ又は1つ以上の集積回路)により実施されてよい。一例では、1つ以上のプロセッサは、提案した方法のうちの1つ以上を実行するための、非一時的コンピュータ可読媒体に格納されたプログラムを実行する。
【0133】
上述の技術は、コンピュータ可読命令を用いてコンピュータソフトウェアとして実装でき1つ以上のコンピュータ可読媒体に物理的に格納でる。例えば、
図10は、本開示の主題の特定の実施形態を実装するのに適するコンピュータシステム1000を示す。
【0134】
コンピュータソフトウェアは、アセンブリ、コンパイル、リンク等のメカニズムにより処理されて、コンピュータ中央処理ユニット(CPU)、グラフィック処理ユニット(GPU)、等により直接又はインタープリット、マイクロコード実行、等を通じて実行可能な命令を含むコードを生成し得る、任意の適切な機械コード又はコンピュータ言語を用いてコーディングできる。
【0135】
命令は、例えばパーソナルコンピュータ、タブレットコンピュータ、サーバ、スマートフォン、ゲーム装置、モノのインターネット装置、等を含む種々のコンピュータ又はそのコンポーネントで実行できる。
【0136】
コンピュータシステム1000の
図10に示すコンポーネントは、本来例示であり、本開示の実施形態を実装するコンピュータソフトウェアの使用又は機能の範囲に対するようないかなる限定も示唆しない。さらに、コンポーネントの構成も、コンピュータシステム1000の例示的な実施形態に示されたコンポーネントのうちのいずれか又は組み合わせに関連する任意の依存性又は要件を有すると解釈されるべきではない。
【0137】
コンピュータシステム1000は、特定のヒューマンインタフェース入力装置を含んでよい。このようなヒューマンインタフェース入力装置は、例えば感覚入力(例えば、キーストローク、スワイプ、データグラブ動作)、音声入力(例えば、音声、クラッピング)、視覚的入力(例えば、ジェスチャ)、嗅覚入力(示されない)を通じた1人以上の人間のユーザによる入力に応答してよい。ヒューマンインタフェース装置は、必ずしも人間による意識的入力に直接関連する必要のない特定の媒体、例えば音声(例えば、会話、音楽、環境音)、画像(例えば、スキャンされた画像、デジタルカメラから取得された写真画像)、ビデオ(例えば、2次元ビデオ、3次元ビデオ、立体ビデオを含む)をキャプチャするためにも使用できる。
【0138】
入力ヒューマンインタフェース装置は、キーボード1001、マウス1002、トラックパッド1003、タッチスクリーン1010及び関連するグラフィックアダプタ1050、データグラブ、ジョイスティック1005、マイクロフォン1006、スキャナ1007、カメラ1008、のうちの1つ以上を含んでよい(そのうちの1つのみが示される)。
【0139】
コンピュータシステム1000は、特定のヒューマンインタフェース出力装置も含んでよい。このようなヒューマンインタフェース出力装置は、例えば感覚出力、音声、光、及び匂い/味を通じて1人以上の人間のユーザの感覚を刺激してよい。このようなヒューマンインタフェース出力装置は、感覚出力装置を含んでよい(例えば、タッチスクリーン1010、データグラブ、又はジョイスティック1005による感覚フィードバック、しかし入力装置として機能しない感覚フィードバック装置も存在し得る)、音声出力装置(例えば、スピーカ1009、ヘッドフォン(図示しない)、視覚的出力装置(例えば、スクリーン1010、陰極線管(CRT)スクリーン、液晶ディスプレイ(LCD)スクリーン、プラズマスクリーン、有機発光ダイオード(OLED)スクリーンを含み、それぞれタッチスクリーン入力能力を有し又は有さず、それぞれ感覚フィードバック能力を有し又は有さず、これらのうちの幾つかは例えば立体出力、仮想現実眼鏡(図示しない)、ホログラフィックディスプレイ、及び発煙剤タンク(図示しない)、及びプリンタ(図示しないより多くの出力を出力可能であってよい))。
【0140】
コンピュータシステム1000は、人間のアクセス可能な記憶装置、及び、例えばCD/DVD等の媒体1021を備えるCD/DVDROM/RW1020のような光学媒体、サムドライブ1022、取り外し可能ハードドライブ又は個体状態ドライブ1023、テープ及びフロッピディスク(図示しない)のようなレガシー磁気媒体、セキュリティドングル(図示しない)等のような専用ROM/ASIC/PLDに基づく装置のような関連する媒体も含み得る。
【0141】
当業者は、本開示の主題と関連して使用される用語「コンピュータ可読媒体」が伝送媒体、搬送波、又は他の一時的信号を包含しないことも理解すべきである。
【0142】
コンピュータシステム1000は、1つ以上の通信ネットワークへのインタフェース(1155)も含み得る。ネットワークは、例えば無線、有線、光であり得る。ネットワークへは、更に、ローカル、広域、都市域、車両及び産業、リアルタイム、耐遅延性、等であり得る。ネットワークの例は、イーサネットのようなローカルエリアネットワーク、無線LAN、GSM(global systems for mobile communications)、第3世代(3G)、第4世代(4G)、第5世代(5G)、LTE(Long-Term Evolution)等を含むセルラネットワーク、ケーブルTV、衛星TV、地上波放送TVを含むTV有線又は無線広域デジタルネットワーク、CANBusを含む車両及び産業、等を含む。特定のネットワークは、一般に、特定の汎用データポート又は周辺機器バス(1149)(例えば、コンピュータシステム1000のユニバーサルシリアルバス(USB)ポート))に取り付けられる外部ネットワークインタフェースアダプタ(1154)を必要とする。他のものは、一般に、後述するようなシステムバスへの取り付けによりコンピュータシステム1000のコアに統合される(例えば、イーサネットインタフェースをPCコンピュータシステムへ、又はセルラネットワークインタフェースをスマートフォンコンピュータシステムへ)。例として、ネットワーク1055は、ネットワークインタフェース1054を用いて周辺機器バス1049に接続されてよい。これらのネットワークを用いて、コンピュータシステム1000は、他のエンティティと通信できる。このような通信は、単方向受信のみ(例えば、放送TV)、単方向送信のみ(例えば、特定のCANbus装置へのCANbus)、又は例えばローカル又は広域デジタルネットワークを用いて他のコンピュータシステムへの双方向であり得る。特定のプロトコル及びプロトコルスタックが、それらのネットワーク及びネットワークインタフェース(1154)の各々で使用され得る。
【0143】
前述のヒューマンインタフェース装置、人間のアクセス可能な記憶装置、及びネットワークインタフェースは、コンピュータシステム1000のコア1040に取り付け可能である。
【0144】
コア1040は、1つ以上の中央処理ユニット(CPU)1041、グラフィック処理ユニット(GPU)1042、FPGAの形式の専用プログラマブル処理ユニット1043、特定タスクのためのハードウェアアクセラレータ1044、等を含み得る。これらの装置は、読み出し専用メモリ(ROM)1045、ランダムアクセスメモリ(RAM)1046、内部のユーザアクセス不可能なハードドライブ、SSD、等のような内蔵大容量記憶装置1047と共に、システムバス1048を通じて接続されてよい。幾つかのコンピュータシステムでは、追加CPU、GPU、等による拡張を可能にするために、システムバス1048は、1つ以上の物理プラグの形式でアクセス可能である。周辺機器は、コアのシステムバス1048に直接に、又は周辺機器バス1049を通じて、取り付け可能である。周辺機器バスのアーキテクチャは、周辺機器相互接続(peripheral component interconnect (PCI))、USB、等を含む。
【0145】
CPU1041、GPU1042、FPGA1043、及びアクセラレータ1044は、結合されて前述のコンピュータコードを生成可能な特定の命令を実行できる。該コンピュータコードは、ROM1045又はRAM1046に格納できる。一時的データもRAM1046に格納でき、一方で、永久的データは例えば内蔵大容量記憶装置1047に格納できる。メモリ装置のうちのいずれかへの高速記憶及び読み出しはCPU1041、GPU1042、大容量記憶装置1047、ROM1045、RAM1046等のうちの1つ以上に密接に関連付けられ得るキャッシュメモリの使用を通じて可能にできる。
【0146】
コンピュータ可読媒体は、種々のコンピュータにより実施される動作を実行するためのコンピュータコードを有し得る。媒体及びコンピュータコードは、本開示の目的のために特別に設計され構成されたものであり得、又は、コンピュータソフトウェア分野の当業者によく知られ利用可能な種類のものであり得る。
【0147】
例として及び限定ではなく、アーキテクチャを有するコンピュータシステム1000、及び具体的にはコア1040は、プロセッサ(CPU、GPU、FPGA、アクセラレータ、等を含む)が1つ以上の有形コンピュータ可読媒体内に具現化されたソフトウェアを実行した結果として、機能を提供できる。このようなコンピュータ可読媒体は、コア内蔵大容量記憶装置1047又はROM1045のような非一時的特性のコア1040の特定の記憶装置、及び上述のようなユーザアクセス可能な大容量記憶装置と関連付けられた媒体であり得る。本開示の種々の実施形態を実装するソフトウェアは、このような装置に格納されコア1040により実行できる。コンピュータ可読媒体は、特定の必要に従い、1つ以上のメモリ装置又はチップを含み得る。ソフトウェアは、コア1040及び具体的にはその中のプロセッサ(CPU、GPU、FPGA、等を含む)に、ソフトウェアにより定義された処理に従うRAM1046に格納されたデータ構造の定義及び該データ構造の変更を含む、ここに記載した特定の処理又は特定の処理の特定の部分を実行させることができる。追加又は代替として、コンピュータシステムは、ここに記載の特定の処理又は特定の処理の特定の部分を実行するためにソフトウェアと一緒に又はそれに代わって動作可能な論理ハードワイヤド又は他の回路内の実装(例えば、アクセラレータ1044)の結果として機能を提供できる。ソフトウェアへの言及は、ロジックを含み、適切な場合にはその逆も同様である。コンピュータ可読媒体への言及は、適切な場合には、実行のためにソフトウェアを格納する(集積回路(IC)のような)回路、実行のためにロジックを実装する回路、又はそれらの両方を含み得る。本開示は、ハードウェア及びソフトウェアの任意の適切な組み合わせを含む。
【0148】
本開示は、幾つかの例示的な実施形態を記載したが、代替、置換、及び種々の代用の均等物が存在し、それらは本開示の範囲に包含される。当業者に明らかなことに、ここに明示的に示され又は説明されないが、本開示の原理を実施し、したがって、本開示の精神及び範囲に含まれる多数のシステム及び方法を考案可能である。
【符号の説明】
【0149】
100 システム
110、120、130、140 端末
150 ネットワーク
【外国語明細書】