(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-05-12
(54)【発明の名称】スケーラブルなビデオストリームにおける出力層セット信号伝達のための方法、装置およびプログラム
(51)【国際特許分類】
H04N 19/70 20140101AFI20220502BHJP
H04N 19/30 20140101ALI20220502BHJP
【FI】
H04N19/70
H04N19/30
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2021554632
(86)(22)【出願日】2020-09-29
(85)【翻訳文提出日】2021-09-10
(86)【国際出願番号】 US2020053232
(87)【国際公開番号】W WO2021071698
(87)【国際公開日】2021-04-15
(32)【優先日】2019-10-08
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2020-09-24
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】チョイ,ビョンドゥ
(72)【発明者】
【氏名】ウェンジャー,ステファン
(72)【発明者】
【氏名】リィウ,シャン
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159MA17
5C159MA31
5C159PP04
5C159RB09
5C159RC11
5C159SS26
5C159UA05
(57)【要約】
少なくとも1つのプロセッサを使って、エンコードされたビデオ・ビットストリームをデコードする方法が:前記エンコードされたビデオ・ビットストリームから複数の出力層セットを含む符号化ビデオ・シーケンスを取得するステップと;前記複数の出力層セットの各出力層セットが2つ以上の層を含むかどうかを示す第1のフラグを取得するステップと;前記第1のフラグが各出力層セットが2つ以上の層を含むことを示すことに基づいて、出力層セット・モードを示す第1のシンタックス要素を取得するステップと;前記複数の出力層セットに含まれる層のうちから少なくとも1つの層を、前記第1のフラグおよび前記第1のシンタックス要素のうちの少なくとも1つに基づいて、少なくとも1つの出力層として選択するステップと;前記少なくとも1つの出力層を出力するステップとを含む。
【特許請求の範囲】
【請求項1】
少なくとも1つのプロセッサによって、エンコードされたビデオ・ビットストリームをデコードする方法であって:
前記エンコードされたビデオ・ビットストリームから複数の出力層セットを含む符号化ビデオ・シーケンスを取得するステップと;
前記複数の出力層セットの各出力層セットが2つ以上の層を含むかどうかを示す第1のフラグを取得するステップと;
前記第1のフラグが各出力層セットが2つ以上の層を含むことを示すことに基づいて、出力層セット・モードを示す第1のシンタックス要素を取得するステップと;
前記複数の出力層セットに含まれる層のうちから少なくとも1つの層を、前記第1のフラグおよび前記第1のシンタックス要素のうちの少なくとも1つに基づいて、少なくとも1つの出力層として選択するステップと;
前記少なくとも1つの出力層を出力するステップとを含む、
方法。
【請求項2】
前記第1のフラグおよび前記第1のシンタックス要素は、ビデオパラメータセット(VPS)において信号伝達される、請求項1に記載の方法。
【請求項3】
前記第1のフラグが各出力層セットが1つの層のみを含むことを示すことに基づいて、その1つの層が前記少なくとも1つの出力層として選択される、請求項1または2に記載の方法。
【請求項4】
前記第1のシンタックス要素が前記出力層セット・モードが第1のモードであることを示すことに基づいて、各出力層セットの最上層が、前記少なくとも1つの出力層として選択される、請求項1ないし3のうちいずれか一項に記載の方法。
【請求項5】
前記第1のシンタックス要素が前記出力層セット・モードが第2のモードであることを示すことに基づいて、前記複数の出力層セットに含まれるすべての層が、前記少なくとも1つの出力層として選択される、請求項1ないし4のうちいずれか一項に記載の方法。
【請求項6】
前記第1のシンタックス要素が前記出力層セット・モードが第3のモードであることを示すことに基づいて、前記少なくとも1つの出力層は、前記エンコードされたビデオ・ビットストリームにおいて信号伝達される第2のシンタックス要素に基づいて、前記複数の出力層セットに含まれる層のうちから選択される、請求項1ないし5のうちいずれか一項に記載の方法。
【請求項7】
前記第1のシンタックス要素が前記出力層セット・モードが前記第3のモードであることを示すことに基づいて、前記複数の出力層セットに含まれる層のうちからの、選択されていない層が、前記少なくとも1つの出力層のための参照層として使用される、請求項6に記載の方法。
【請求項8】
前記第1のフラグが各出力層セットが2つ以上の層を含むことを示し、第2のフラグが前記複数の出力層セットに含まれるすべての層が独立して符号化されることを示すことに基づいて、前記出力層セット・モードは前記第3のモードであると推定される、請求項6または7に記載の方法。
【請求項9】
請求項1ないし8のうちいずれか一項に記載の方法を実行するように構成された少なくとも1つのプロセッサを有する装置。
【請求項10】
一つまたは複数のプロセッサに請求項1ないし8のうちいずれか一項に記載の方法を実行させるためのコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願への相互参照
本願は、2019年10月8日に出願された米国仮特許出願第62/912,275号、および2020年9月24日に出願された米国特許出願第17/030,950号からの優先権を主張し、それらの全体が本明細書に組み込まれる。
【0002】
分野
開示される主題は、ビデオ符号化および復号に関し、より詳細には、スケーラブルなビデオストリームのための出力層セットの信号伝達機構に関する。
【背景技術】
【0003】
ITU-T VCEG(Q6/16)およびISO/IEC MPEG(JTC1/SC29/WG11)は、H.265/HEVC(High Efficiency Video Coding[高効率ビデオ符号化])規格を2013年(バージョン1)、2014年(バージョン2)、2015年(バージョン3)および2016年(バージョン4)に公表した。2015年には、これら2つの標準機関は、HEVCを越える次のビデオ符号化標準の開発の可能性を探るべく、共同でJVET(Joint Video Exploration Team[合同ビデオ探査チーム])を結成した。2017年10月には、HEVCを超える能力をもつビデオ圧縮に関する、合同提案募集(CfP)を出した。2018年2月15日までに、標準ダイナミックレンジ(SDR)に関する合計22のCfP回答、高ダイナミックレンジ(HDR)に関する12のCfP回答、および360ビデオ・カテゴリーに関する12のCfP回答がそれぞれ提出された。2018年4月には、122 MPEG/10th JVETの会合において、すべての受領されたCfP回答が評価された。この会合の結果、JVETは、HEVCを超えた次世代ビデオ符号化の標準化プロセスを正式に開始した。この新しい規格は多用途ビデオ符号化(Versatile Video Coding、VVC)と命名され、JVETは合同ビデオ専門家チーム(Joint Video Expert Team)に改称された。
【発明の概要】
【課題を解決するための手段】
【0004】
ある実施形態では、エンコードされたビデオ・ビットストリームから複数の出力層セットを含む符号化ビデオ・シーケンスを取得するステップと;複数の出力層セットの各出力層セットが2つ以上の層を含むかどうかを示す第1のフラグを取得するステップと;前記第1のフラグが各出力層セットが2つ以上の層を含むことを示すことに基づいて、出力層セット・モードを示す第1のシンタックス要素を取得するステップと;複数の出力層セットに含まれる層のうちから少なくとも1つの層を、第1のフラグおよび第1のシンタックス要素のうちの少なくとも1つに基づいて、少なくとも1つの出力層として選択するステップと;前記少なくとも1つの出力層を出力するステップとを含む、少なくとも1つのプロセッサを使って、エンコードされたビデオ・ビットストリームをデコードする方法が提供される。
【0005】
ある実施形態では、プログラム・コードを記憶するように構成された少なくとも1つのメモリと;前記プログラム・コードを読んで前記プログラム・コードによって命令されるように動作するように構成された少なくとも1つのプロセッサとを含む、エンコードされたビデオ・ビットストリームをデコードするための装置が提供される。前記プログラム・コードは:前記少なくとも1つのプロセッサに、エンコードされたビデオ・ビットストリームから複数の出力層セットを含む符号化ビデオ・シーケンスを取得させるように構成された第1の取得コードと;前記少なくとも1つのプロセッサに、複数の出力層セットの各出力層セットが2つ以上の層を含むかどうかを示す第1のフラグを取得させるように構成された第2の取得コードと;前記少なくとも1つのプロセッサに、前記第1のフラグが各出力層セットが2つ以上の層を含むことを示すことに基づいて、出力層セット・モードを示す第1のシンタックス要素を取得させるように構成された第3の取得コードと;前記少なくとも1つのプロセッサに、複数の出力層セットに含まれる層のうちから少なくとも1つの層を、第1のフラグおよび第1のシンタックス要素のうちの少なくとも1つに基づいて、少なくとも1つの出力層として選択させるように構成された選択コードと;前記少なくとも1つのプロセッサに、前記少なくとも1つの出力層を出力させるように構成された出力コードとを含む。
【0006】
ある実施形態では、命令を記憶している非一時的なコンピュータ読み取り可能な媒体が提供される。前記命令は、エンコードされたビデオ・ビットストリームをデコードするための装置の一つまたは複数のプロセッサによって実行されるときに、前記一つまたは複数のプロセッサに:エンコードされたビデオ・ビットストリームから複数の出力層セットを含む符号化ビデオ・シーケンスを取得するステップと;複数の出力層セットの各出力層セットが2つ以上の層を含むかどうかを示す第1のフラグを取得するステップと;前記第1のフラグが各出力層セットが2つ以上の層を含むことを示すことに基づいて、出力層セット・モードを示す第1のシンタックス要素を取得するステップと;複数の出力層セットに含まれる層のうちから少なくとも1つの層を、第1のフラグおよび第1のシンタックス要素のうちの少なくとも1つに基づいて、少なくとも1つの出力層として選択するステップと;前記少なくとも1つの出力層を出力するステップとを実行させる一つまたは複数の命令を含む。
【図面の簡単な説明】
【0007】
開示される主題のさらなる特徴、性質、およびさまざまな利点は、以下の詳細な説明および添付の図面からより明白になるであろう。
【0008】
【
図1】ある実施形態による通信システムの簡略化されたブロック図の概略的な図解である。
【0009】
【
図2】ある実施形態による通信システムの簡略化されたブロック図の概略的な図解である。
【0010】
【
図3】ある実施形態によるデコーダの簡略化されたブロック図の概略的な図解である。
【0011】
【
図4】ある実施形態によるエンコーダの簡略化されたブロック図の概略的な図解である。
【0012】
【
図5】ある実施形態によるシンタックス・テーブルの例の概略的な図解である。
【0013】
【
図6】ある実施形態によるエンコードされたビデオ・ビットストリームをデコードするための例示的なプロセスのフローチャートである。
【0014】
【
図7】ある実施形態によるコンピュータ・システムの概略図である。
【発明を実施するための形態】
【0015】
図1は、本開示のある実施形態による通信システム(100)の簡略化されたブロック図を示す。システム(100)は、ネットワーク(150)を介して相互接続された少なくとも2つの端末(110~120)を含んでいてもよい。データの一方向伝送については、第1の端末(110)は、ネットワーク(150)を介した他方の端末(120)への伝送のために、ローカル位置においてビデオ・データを符号化することができる。第2の端末(120)は、ネットワーク(150)から他方の端末の符号化されたビデオ・データを受信し、符号化されたデータをデコードし、回復されたビデオ・データを表示することができる。一方向性データ伝送は、メディア・サービス・アプリケーション等において一般的でありうる。
【0016】
図1は、たとえば、ビデオ会議中に発生しうる符号化されたビデオの双方向伝送をサポートするために設けられた端末(130、140)の第2の対を示す。データの双方向伝送については、各端末(130、140)は、ローカル位置で捕捉されたビデオ・データを、ネットワーク(150)を介した他方の端末への伝送のために符号化することができる。各端末(130、140)はまた、他方の端末によって送信された符号化されたビデオ・データを受信し、符号化されたデータをデコードし、回復されたビデオ・データをローカル表示装置において表示することができる。
【0017】
図1において、端末(110~140)は、サーバー、パーソナルコンピュータおよびスマートフォンとして図示されてもよいが、本開示の原理は、それに限定されなくてもよい。本開示の実施形態は、ラップトップ・コンピュータ、タブレット・コンピュータ、メディアプレーヤー、および/または専用のビデオ会議設備との応用を見出す。ネットワーク(150)は、たとえば有線および/または無線通信ネットワークを含む、端末(110~140)の間で、符号化されたビデオ・データを伝達する任意の数のネットワークを表わす。通信ネットワーク(150)は、回線交換および/またはパケット交換チャネルにおいてデータを交換することができる。代表的なネットワークは、遠隔通信ネットワーク、ローカルエリアネットワーク、ワイドエリアネットワークおよび/またはインターネットを含む。今の議論の目的のためには、ネットワーク(150)のアーキテクチャーおよびトポロジーは、下記で説明しない限り、本開示の動作には重要ではないことがある。
【0018】
図2は、開示された主題の適用のための例として、ストリーミング環境におけるビデオ・エンコーダおよびデコーダの配置を示す。開示された主題は、たとえば、ビデオ会議、デジタルTV、CD、DVD、メモリースティックなどを含むデジタルメディア上の圧縮ビデオの記憶などを含む、他のビデオ対応アプリケーションにも等しく適用可能でありうる。
【0019】
ストリーミング・システムは、ビデオ源(201)、たとえばデジタル・カメラを含むことができ、たとえば非圧縮のビデオ・サンプル・ストリーム(202)を生成する捕捉サブシステム(213)を含んでいてもよい。サンプル・ストリーム(202)は、エンコードされたビデオ・ビットストリームと比較した場合の高いデータ・ボリュームを強調するために太線で描かれており、カメラ(201)に結合されたエンコーダ(203)によって処理されることができる。エンコーダ(203)は、以下により詳細に説明されるように、開示される主題の諸側面を可能にし、または実現するためのハードウェア、ソフトウェア、またはそれらの組み合わせを含むことができる。サンプル・ストリームと比較した場合の、より低いデータ・ボリュームを強調するために細線で描かれるエンコードされたビデオ・ビットストリーム(204)は、将来の使用のためにストリーミング・サーバー(205)に記憶されることができる。一つまたは複数のストリーミング・クライアント(206、208)は、ストリーミング・サーバー(205)にアクセスして、エンコードされたビデオ・ビットストリーム(204)のコピー(207、209)を取り出すことができる。クライアント(206)は、ビデオ・デコーダ(210)を含むことができる。ビデオ・デコーダは、エンコードされたビデオ・ビットストリーム(207)の入来コピーをデコードし、ディスプレイ(212)または他のレンダリング装置(図示せず)上にレンダリングできる出行ビデオ・サンプル・ストリーム(211)を生成する。いくつかのストリーミング・システムでは、ビデオ・ビットストリーム(204、207、209)は、ある種のビデオ符号化/圧縮標準に従ってエンコードされることができる。これらの標準の例はITU-T勧告H.265を含む。非公式に多用途ビデオ符号化またはVVCとして知られるビデオ符号化標準も開発中である。開示される主題はVVCのコンテキストで使用されてもよい。
【0020】
図3は、本開示のある実施形態によるビデオ・デコーダ(210)の機能ブロック図であってもよい。
【0021】
受領機(310)は、デコーダ(210)によってデコードされるべき一つまたは複数の符号化されたビデオ・シーケンスを受領してもよい;同じまたは別の実施形態において、一度に1つの符号化されたビデオ・シーケンスであり、各符号化されたビデオ・シーケンスのデコードは、他の符号化されたビデオ・シーケンスから独立である。符号化されたビデオ・シーケンスは、チャネル(312)から受信されてもよく、該チャネルは、エンコードされたビデオ・データを記憶する記憶装置へのハードウェア/ソフトウェア・リンクであってもよい。受領機(310)は、エンコードされたビデオ・データを、他のデータ、たとえば符号化されたオーディオ・データおよび/または補助データ・ストリームと一緒に受領してもよく、これらのデータは、それぞれの使用エンティティ(図示せず)を転送されてもよい。受領機(310)は、符号化されたビデオ・シーケンスを他のデータから分離することができる。ネットワーク・ジッタ対策として、バッファメモリ(315)が、受領器(310)とエントロピー・デコーダ/パーサー(320)(以下「パーサー」)との間に結合されてもよい。受領器(310)が、十分な帯域幅および制御可能性の記憶/転送装置から、またはアイソクロナス・ネットワークからデータを受領している場合は、バッファ(315)は、必要とされなくてもよく、または小さくてもよい。インターネットのようなベストエフォート型のパケット・ネットワークでの使用のためには、バッファ(315)が要求されることがあり、比較的大きいことがあり、有利には適応サイズであることができる。
【0022】
ビデオ・デコーダ(210)は、エントロピー符号化されたビデオ・シーケンスからシンボル(321)を再構成するためのパーサー(320)を含んでいてもよい。これらのシンボルのカテゴリーは、デコーダ(210)の動作を管理するために使用される情報と、潜在的には、
図3に示されたような、デコーダの一体的な部分ではないがデコーダに結合されることができるディスプレイ(212)のようなレンダリング装置を制御するための情報とを含む。レンダリング装置(単数または複数)のための制御情報は、補足向上情報(Supplementary Enhancement Information、SEIメッセージ)またはビデオユーザービリティ情報(Video Usability Information、VUI)パラメータ・セット・フラグメント(図示せず)の形であってもよい。パーサー(320)は、受領された符号化されたビデオ・シーケンスをパースする/エントロピー復号することができる。符号化されたビデオ・シーケンスの符号化は、ビデオ符号化技術または標準に従うことができ、可変長符号化、ハフマン符号化、コンテキスト感受性ありまたはなしの算術符号化などを含む、当業者によく知られたさまざまな原理に従うことができる。パーサー(320)は、符号化されたビデオ・シーケンスから、ビデオ・デコーダ内のピクセルのサブグループのうちの少なくとも1つについてのサブグループ・パラメータのセットを、グループに対応する少なくとも1つのパラメータに基づいて、抽出することができる。サブグループは、ピクチャーグループ(Group of Pictures、GOP)、ピクチャー、サブピクチャー、タイル、スライス、マクロブロック、符号化ツリー単位(Coding Tree Unit、CTU)、符号化単位(Coding Unit、CU)、ブロック、変換単位(Transform Unit、TU)、予測単位(Prediction Unit、PU)などを含むことができる。タイルは、ピクチャーにおける特定のタイル列および行内のCU/CTUの長方形領域を示しうる。ブリックは、特定のタイル内のCU/CTU行の長方形領域を示しうる。スライスは、ピクチャーの、NAL単位に含まれる一つまたは複数のブリックを示してもよい。サブピクチャーは、ピクチャー内の一つまたは複数のスライスの長方形領域を示してもよい。エントロピー・デコーダ/パーサーはまた、符号化されたビデオ・シーケンスから、変換係数、量子化器パラメータ値、動きベクトル等の情報を抽出することができる。
【0023】
パーサー(320)は、バッファ(315)から受領されたビデオ・シーケンスに対してエントロピー・デコード/パース動作を実行し、それによりシンボル(321)を生成することができる。
【0024】
シンボル(321)の再構成は、符号化されたビデオ・ピクチャーまたはその諸部分のタイプ(たとえばイントラ・ブロック)および他の要因に依存して、複数の異なるユニットに関わることができる。どのユニットがどのように関わるかは、符号化されたビデオ・シーケンスからパーサー(320)によってパースされたサブグループ制御情報によって制御されることができる。パーサー(320)と下記の複数のユニットとの間のそのようなサブグループ制御情報の流れは、明確のため、描かれていない。
【0025】
すでに述べた機能ブロックのほかに、デコーダ210は、以下に説明するように、概念的に、いくつかの機能ユニットに分割できる。商業的制約の下で機能する実際的な実装では、これらのユニットの多くは互いに密接に相互作用し、少なくとも部分的に互いに統合されることができる。しかしながら、開示される主題を記述する目的のためには、下記の機能単位への概念的な細分が適切である。
【0026】
第1のユニットは、スケーラー/逆変換ユニット(351)である。スケーラー/逆変換ユニット(351)は、パーサー(320)から、量子化された変換係数および制御情報をシンボル(単数または複数)(321)として受領する。制御情報は、どの変換を使用するか、ブロック・サイズ、量子化因子、量子化スケーリング行列などを含む。スケーラー/逆変換ユニットは、集計器(355)に入力できるサンプル値を含むブロックを出力することができる。
【0027】
場合によっては、スケーラー/逆変換(351)の出力サンプルは、イントラ符号化されたブロック、すなわち、以前に再構成されたピクチャーからの予測情報を使用していないが、現在ピクチャーの、以前に再構成された部分からの予測情報を使用することができるブロックに関することができる。そのような予測情報は、イントラ・ピクチャー予測ユニット(352)によって提供されることができる。場合によっては、イントラ・ピクチャー予測ユニット(352)は、現在の(部分的に再構成された)ピクチャー(358)から取ってきた、周囲のすでに再構成された情報を使用して、再構成中のブロックと同じサイズおよび形状のブロックを生成する。集計器(355)は、場合によっては、サンプル毎に、イントラ予測ユニット(352)が生成した予測情報を、スケーラー/逆変換ユニット(351)によって提供される出力サンプル情報に加算する。
【0028】
他の場合には、スケーラー/逆変換ユニット(351)の出力サンプルは、インター符号化され、潜在的には動き補償されたブロックに関することができる。そのような場合、動き補償予測ユニット(353)は、予測のために使用されるサンプルを取ってくるために参照ピクチャー・メモリ(357)にアクセスすることができる。取ってきたサンプルを、ブロックに関するシンボル(321)に従って動き補償した後、これらのサンプルは、集計器(355)によってスケーラー/逆変換ユニットの出力(この場合、残差サンプルまたは残差信号と呼ばれる)に加算されて、それにより出力サンプル情報を生成することができる。動き補償ユニットが予測サンプルを取ってくる参照ピクチャー・メモリ内のアドレスは、シンボル(321)の形で動き補償ユニットに利用可能な動きベクトルによって制御できる。該シンボルは、たとえばX、Y、および参照ピクチャー成分を有することができる。動き補償は、サンプル以下の正確な動きベクトルが使用されるときの参照ピクチャー・メモリから取ってこられるサンプル値の補間、動きベクトル予測機構などを含むことができる。
【0029】
集計器(355)の出力サンプルは、ループ・フィルタ・ユニット(356)内でさまざまなループ・フィルタリング技法を受けることができる。ビデオ圧縮技術は、ループ内フィルタ技術を含むことができる。ループ内フィルタ技術は、符号化されたビデオ・ビットストリームに含まれるパラメータによって制御され、パーサー(320)からのシンボル(321)としてループ・フィルタ・ユニット(356)に利用可能にされるが、符号化されたピクチャーまたは符号化されたビデオ・シーケンスの(デコード順で)前の部分のデコード中に得られたメタ情報に応答するとともに、以前に再構成されループ・フィルタリングされたサンプル値に応答することもできる。
【0030】
ループ・フィルタ・ユニット(356)の出力はサンプル・ストリームであることができ、これは、レンダー装置(212)に出力されることができ、また将来のインターピクチャー予測において使用するために参照ピクチャー・メモリに記憶されることができる。
【0031】
ある符号化されたピクチャーは、いったん完全に再構成されると、将来の予測のための参照ピクチャーとして使用できる。たとえば、符号化されたピクチャーが完全に再構成され、該符号化されたピクチャーが(たとえば、パーサー(320)によって)参照ピクチャーとして同定されると、現在の参照ピクチャー(358)は参照ピクチャー・バッファ(357)の一部となることができ、後続の符号化されたピクチャーの再構成を開始する前に、新鮮な現在ピクチャー・メモリが再割当てされることができる。
【0032】
ビデオ・デコーダ(210)は、ITU-T勧告H.265のような標準において文書化されていてもよい所定のビデオ圧縮技術に従ってデコード動作を実行することができる。符号化されたビデオ・シーケンスは、ビデオ圧縮技術の文書もしくは標準において、特にその中のプロファイル文書において指定されているビデオ圧縮技術または標準のシンタックスに従うという意味で、使用されているビデオ圧縮技術または標準によって指定されたシンタックスに準拠することができる。準拠のためにはまた、符号化されたビデオ・シーケンスの複雑さが、ビデオ圧縮技術または標準のレベルによって定義される範囲内にあることも必要であることがある。いくつかの場合には、レベルは、最大ピクチャー・サイズ、最大フレーム・レート、最大再構成サンプル・レート(たとえば、毎秒メガサンプルの単位で測られる)、最大参照ピクチャー・サイズなどを制約する。レベルによって設定された限界は、場合によっては、符号化されたビデオ・シーケンスにおいて信号伝達される、HRDバッファ管理のための仮設参照デコーダ(Hypothetical Reference Decoder、HRD)仕様およびメタデータを通じてさらに制約されることができる。
【0033】
ある実施形態において、受領器(310)は、エンコードされたビデオとともに追加の(冗長な)データを受領してもよい。追加データは、符号化されたビデオ・シーケンス(単数または複数)の一部として含まれていてもよい。追加データは、データを適正にデコードするため、および/またはもとのビデオ・データをより正確に再構成するために、ビデオ・デコーダ(210)によって使用されてもよい。追加データは、たとえば、時間的、空間的、またはSNRの向上層、冗長スライス、冗長ピクチャー、前方誤り訂正符号などの形でありうる。
【0034】
図4は、本開示のある実施形態によるビデオ・エンコーダ(203)の機能ブロック図でありうる。
【0035】
エンコーダ(203)は、該エンコーダ(203)によって符号化されるべきビデオ画像を捕捉することができるビデオ源(201)(これはエンコーダの一部ではない)からビデオ・サンプルを受領することができる。
【0036】
ビデオ源(201)は、任意の好適なビット深さ(たとえば、8ビット、10ビット、12ビット、…)、任意の色空間(たとえば、BT.601 YCrCB、RGB、…)および任意の好適なサンプリング構造(たとえば、YCrCb 4:2:0、YCrCb 4:4:4)でありうるデジタル・ビデオ・サンプル・ストリームの形で、エンコーダ(203)によって符号化されるべき源ビデオ・シーケンスを提供することができる。メディア・サービス・システムにおいては、ビデオ源(201)は、事前に準備されたビデオを記憶している記憶装置であってもよい。ビデオ会議システムにおいては、ビデオ源(203)は、ローカルでの画像情報をビデオ・シーケンスとして捕捉するカメラであってもよい。ビデオ・データは、シーケンスで見たときに動きを付与する複数の個々のピクチャーとして提供されてもよい。ピクチャー自体は、ピクセルの空間的アレイとして編成されてもよく、各ピクセルは、使用中のサンプリング構造、色空間などに依存して、一つまたは複数のサンプルを含むことができる。当業者は、ピクセルとサンプルとの間の関係を容易に理解することができる。下記の説明は、サンプルに焦点を当てる。
【0037】
ある実施形態によれば、エンコーダ(203)は、源ビデオ・シーケンスのピクチャーを、リアルタイムで、またはアプリケーションによって要求される任意の他の時間的制約の下で、符号化および圧縮して、符号化されたビデオ・シーケンス(443)にすることができる。適切な符号化速度を施行することは、コントローラ(450)の一つの機能である。コントローラは、以下に記載されるような他の機能ユニットを制御し、それらのユニットに機能的に結合される。かかる結合は、明確のため描かれていない。コントローラによって設定されるパラメータは、レート制御に関連するパラメータ(ピクチャー・スキップ、量子化器、レート‐歪み最適化技術のラムダ値、…)、ピクチャー・サイズ、ピクチャーグループ(GOP)レイアウト、最大動きベクトル探索範囲などを含むことができる。当業者は、ある種のシステム設計のために最適化されたビデオ・エンコーダ(203)に関しうるようなコントローラ(450)の他の機能を容易に識別することができる。
【0038】
いくつかのビデオ・エンコーダは、当業者が「符号化ループ」として容易に認識するものにおいて動作する。思い切って単純化した説明として、一例では、符号化ループは、エンコーダ(430)(以下、「源符号化器」)(符号化されるべき入力ピクチャーと参照ピクチャー(単数または複数)に基づいてシンボルを生成することを受け持つ)のエンコード部と、エンコーダ(203)に埋め込まれた(ローカル)デコーダ(433)とからなることができる。デコーダは、(リモートの)デコーダも生成するであろうサンプル・データを生成するよう前記シンボルを再構成する(開示される主題において考慮されるビデオ圧縮技術では、シンボルと符号化されたビデオ・ビットストリームとの間のどの圧縮も無損失である)。再構成されたサンプル・ストリームは、参照ピクチャー・メモリ(434)に入力される。シンボル・ストリームのデコードは、デコーダ位置(ローカルかリモートか)によらずビット正確な結果をもたらすので、参照ピクチャー・バッファの内容もローカル・エンコーダとリモート・エンコーダの間でビット正確である。言い換えると、エンコーダの予測部は、デコーダがデコード中に予測を使用するときに「見る」のとまったく同じサンプル値を参照ピクチャー・サンプルとして「見る」。参照ピクチャー同期性のこの基本原理(および、たとえば、チャネルエラーのために同期性が維持できない場合の結果として生じるドリフト)は、当業者にはよく知られている。
【0039】
「ローカル」デコーダ(433)の動作は、
図3との関連ですでに上記で詳細に述べた「リモート」デコーダ(210)の動作と同じであってよい。しかしながら、暫時
図4も参照すると、シンボルが利用可能であり、エントロピー符号化器(445)およびパーサー(320)による、シンボルの符号化されたビデオ・シーケンスへのエンコード/デコードが可逆でありうるので、チャネル(312)、受領器(310)、バッファ(315)およびパーサー(320)を含むデコーダ(210)のエントロピー復号部は、ローカル・デコーダ(433)においては完全には実装されなくてもよい。
【0040】
この時点で行なうことができる観察は、デコーダ内に存在するパース/エントロピー復号を除くどのデコーダ技術も、必ず、対応するエンコーダ内で実質的に同一の機能的形態で存在する必要があることである。この理由で、開示される主題は、デコーダ動作に焦点を当てる。エンコーダ技術の記述は、包括的に記述されるデコーダ技術の逆であるため、短縮することができる。ある種の領域においてのみ、より詳細な説明が必要であり、以下に提供される。
【0041】
その動作の一部として、源符号化器(430)は、「参照フレーム」として指定された、ビデオ・シーケンスからの一つまたは複数の以前に符号化されたフレームを参照して、入力フレームを予測的に符号化する、動き補償された予測符号化を実行することができる。このようにして、符号化エンジン(432)は、入力フレームのピクセル・ブロックと、入力フレームに対する予測参照として選択されうる参照フレーム(単数または複数)のピクセル・ブロックとの間の差分を符号化する。
【0042】
ローカル・ビデオ・デコーダ(433)は、源符号化器(430)によって生成されたシンボルに基づいて、参照フレームとして指定されうるフレームの符号化されたビデオ・データをデコードすることができる。符号化エンジン(432)の動作は、有利には、損失のあるプロセスでありうる。符号化されたビデオ・データがビデオ・デコーダ(
図4には示さず)でデコードされうるとき、再構成されたビデオ・シーケンスは、典型的には、いくつかのエラーを伴う源ビデオ・シーケンスの複製でありうる。ローカル・ビデオ・デコーダ(433)は、ビデオ・デコーダによって参照フレームに対して実行されうるデコード・プロセスを複製し、再構成された参照フレームを参照ピクチャー・キャッシュ(434)に格納させることができる。このようにして、エンコーダ(203)は、遠端のビデオ・デコーダによって得られるであろう再構成された参照フレームとしての共通の内容を(伝送エラーがなければ)有する再構成された参照フレームのコピーを、ローカルに記憶することができる。
【0043】
予測器(435)は、符号化エンジン(432)について予測探索を実行することができる。すなわち、符号化されるべき新しいフレームについて、予測器(435)は、新しいピクチャーのための適切な予測参照のはたらきをしうるサンプル・データ(候補参照ピクセル・ブロックとして)またはある種のメタデータ、たとえば参照ピクチャー動きベクトル、ブロック形状などを求めて、参照ピクチャー・メモリ(434)を探索することができる。予測器(435)は、適切な予測参照を見出すために、サンプル・ブロック/ピクセル・ブロック毎に(on a sample block-by-pixel block basis)動作しうる。場合によっては、予測器(435)によって得られた検索結果によって決定されるところにより、入力ピクチャーは、参照ピクチャー・メモリ(434)に記憶された複数の参照ピクチャーから引き出された予測参照を有することができる。
【0044】
コントローラ(450)は、たとえば、ビデオ・データをエンコードするために使用されるパラメータおよびサブグループ・パラメータの設定を含め、ビデオ符号化器(430)の符号化動作を管理してもよい。
【0045】
上記の機能ユニットすべての出力は、エントロピー符号化器(445)におけるエントロピー符号化を受けることができる。エントロピー符号化器は、たとえばハフマン符号化、可変長符号化、算術符号化などといった当業者に既知の技術に従ってシンボルを無損失圧縮することによって、さまざまな機能ユニットによって生成されたシンボルを符号化されたビデオ・シーケンスに変換する。
【0046】
送信器(440)は、エントロピー符号化器(445)によって生成される符号化されたビデオ・シーケンスをバッファに入れて、通信チャネル(460)を介した送信のためにそれを準備することができる。通信チャネルは、エンコードされたビデオ・データを記憶する記憶装置へのハードウェア/ソフトウェア・リンクであってもよい。送信器(440)は、ビデオ符号化器(430)からの符号化されたビデオ・データを、送信されるべき他のデータ、たとえば符号化されたオーディオ・データおよび/または補助データ・ストリーム(源は図示せず)とマージすることができる。
【0047】
コントローラ(450)は、エンコーダ(203)の動作を管理してもよい。符号化の間、コントローラ(450)は、それぞれの符号化されたピクチャーに、ある符号化ピクチャー・タイプを割り当てることができる。符号化ピクチャー・タイプは、それぞれのピクチャーに適用されうる符号化技法に影響しうる。たとえば、ピクチャーはしばしば、以下のフレーム・タイプのうちの1つとして割り当てられることがある。
【0048】
イントラピクチャー(Iピクチャー)は、予測の源としてシーケンス内の他のピクチャーを使用せずに、符号化され、デコードされうるものでありうる。いくつかのビデオ・コーデックは、たとえば、独立デコーダ・リフレッシュ(Independent Decoder Refresh)・ピクチャーを含む、異なるタイプのイントラ・ピクチャーを許容する。当業者は、Iピクチャーのこれらの変形、ならびにそれらのそれぞれの用途および特徴を認識する。
【0049】
予測ピクチャー(Pピクチャー)は、各ブロックのサンプル値を予測するために、最大で1つの動きベクトルおよび参照インデックスを用いるイントラ予測またはインター予測を用いて符号化およびデコードされうるものでありうる。
【0050】
双方向予測ピクチャー(Bピクチャー)は、各ブロックのサンプル値を予測するために、最大で2つの動きベクトルおよび参照インデックスを用いるイントラ予測またはインター予測を用いて符号化およびデコードされうるものでありうる。同様に、マルチ予測ピクチャーは、単一のブロックの再構成のために、3つ以上の参照ピクチャーおよび関連するメタデータを使用することができる。
【0051】
源ピクチャーは、普通、空間的に複数のサンプル・ブロック(たとえば、それぞれ4×4、8×8、4×8、または16×16サンプルのブロック)に分割され、ブロック毎に符号化されうる。ブロックは、ブロックのそれぞれのピクチャーに適用される符号化割り当てによって決定されるところにより、他の(すでに符号化された)ブロックを参照して予測的に符号化されうる。たとえば、Iピクチャーのブロックは、非予測的に符号化されてもよく、または、同じピクチャーのすでに符号化されたブロックを参照して予測的に符号化されてもよい(空間的予測またはイントラ予測)。Pピクチャーのピクセル・ブロックは、以前に符号化された一つの参照ピクチャーを参照して、空間的予測を介してまたは時間的予測を介して予測的に符号化されてもよい。Bピクチャーのブロックは、1つまたは2つの以前に符号化された参照ピクチャーを参照して、空間的予測を介して、または時間的予測を介して予測的に符号化されてもよい。
【0052】
ビデオ符号化器(203)は、ITU-T勧告H.265などの所定のビデオ符号化技術または標準に従って符号化動作を実行することができる。その動作において、ビデオ符号化器(203)は、入力ビデオ・シーケンスにおける時間的および空間的冗長性を活用する予測符号化動作を含む、さまざまな圧縮動作を実行することができる。よって、符号化されたビデオ・データは、使用されるビデオ符号化技術または標準によって指定されるシンタックスに準拠しうる。
【0053】
ある実施形態では、送信器(440)は、エンコードされたビデオと一緒に追加データを送信してもよい。ビデオ符号化器(430)は、符号化されたビデオ・シーケンスの一部としてそのようなデータを含めてもよい。追加データは、時間的/空間的/SNR向上層、冗長ピクチャーおよびスライスのような他の形の冗長データ、補足向上情報(SEI)メッセージ、視覚ユーザビリティー情報(VUI)パラメータ・セット・フラグメントなどを含んでいてもよい。
【0054】
実施形態は、スケーラブルなビデオストリームのための出力層セットの信号伝達機構に関することができる。実施形態は、各出力層セットについて諸出力層が信号伝達される場合の、直接参照層情報からの各出力層セットの対応する(直接依存する/独立な)諸層の導出方法に関しうる。
【0055】
諸実施形態において、出力層〔出力レイヤー〕(output layer)とは、出力される、出力層セットの層を指してもよい。諸実施形態において、出力層セットとは、層のセットを指してもよい。ここで、該層のセットにおける一つまたは複数の層が出力層であるように指定される。諸実施形態において、出力層セット層インデックスは、OUTPUTLAYERSET内の層のリストに対する、OUTPUTLAYERSET内の層のインデックスを参照してもよい。
【0056】
図5は、ある実施形態による、ビデオパラメータセット(video parameter set、VPS)生バイト・シーケンス・ペイロード(raw byte sequence payload、RBSP)シンタックスに関するシンタックス・テーブルの例を示す。
【0057】
諸実施形態において、VPS RBSPは、TemporalIdが0に等しいか、または外部手段を通じて提供される少なくとも1つのアクセス単位に含まれて、参照される前に、デコード・プロセスにとって利用可能であってもよい。VPS RBSPを含むVPS NAL単位は、vps_layer_id[0]に等しいnuh_layer_idを有してもよい。
【0058】
CVS内のvps_video_parameter_set_idの特定の値をもつすべてのVPS NAL単位は、同じ内容をもつ可能性がある。
【0059】
vps_video_parameter_set_idは、他のシンタックス要素による参照のために、VPSについての識別子を提供する。
【0060】
vps_max_layers_minus1に1を加えたものは、VPSを参照する各CVSの最大の許容される層数を指定してもよい。
【0061】
vps_all_independent_layers_flagが1に等しいことは、CVSにおけるすべての層が、層間予測を使用せずに独立して符号化されることを指定してもよい。vps_all_independent_layers_flagが0に等しいことは、CVSにおける層のうちの一つまたは複数が層間予測を使用しうることを指定してもよい。存在しない場合、vps_all_independent_layers_flagの値は1に等しいと推定されてもよい。vps_all_independent_layers_flagが1に等しい場合、vps_independent_layer_flag[i]の値は1に等しいと推定されてもよい。
【0062】
vps_layer_id[i]は、i番目の層のnuh_layer_id値を指定してもよい。mとnの2つの非負の整数値について、mがnより小さい場合、vps_layer_id[m]の値はvps_layer_id[n]より小さい可能性がある。
【0063】
vps_independent_layer_flag[i]が1に等しいことは、インデックスiをもつ層が層間予測を使わないことを指定してもよい。vps_independent_layer_flag[i]が0に等しいことは、インデックスiをもつ層が層間予測を使う可能性があり、vps_layer_dependency_flag[i]がVPSに存在することを指定してもよい。存在しない場合、vps_independent_layer_flag[i]の値は1に等しいと推定されてもよい。
【0064】
vps_direct_ref_layer_flag[i][j]が0に等しいことは、インデックスjをもつ層が、インデックスiをもつ層についての直接参照層ではないことを指定してもよい。vps_direct_ref_layer_flag[i][j]が1に等しいことは、インデックスjをもつ層が、インデックスiをもつ層についての直接参照層であることを指定してもよい。vps_direct_ref_layer_flag[i][j]が0からvps_max_layers_minus1(両端含む)の範囲のiおよびjについて存在しない場合、0に等しいと推定されてもよい。
【0065】
変数NumDirectRefLayers[i]、DirectRefLayerIdx[i][d]、NumRefLayers[i]、RefLayerIdx[i][r]は、次のように導出されてもよい:
【表1】
【0066】
vps_layer_id[i]に等しいnuh_layer_idをもつ層の層インデックスを指定する変数GeneralLayerIdx[i]は、次のように導出されてもよい:
【表2】
【0067】
each_layer_is_an_outputLayerSet_flagが1に等しいことは、各出力層セットがただ1つの層を含み、ビットストリーム中の各層自体が出力層セットであり、単一の含まれる層がその唯一の出力層であることを指定してもよい。each_layer_is_an_outputLayerSet_flagが0に等しいことは、出力層セットが2つ以上の層を含みうることを指定してもよい。vps_max_layers_minus1が0に等しい場合、each_layer_is_an_outputLayerSet_flagの値は1に等しいと推定されてもよい。そうでない場合、vps_all_independent_layers_flagが0に等しい場合は、each_layer_is_an_outputLayerSet_flagの値は0に等しいと推定されてもよい。
【0068】
outputLayerSet_mode_idcが0に等しいことは、VPSによって指定されたOUTPUTLAYERSETの総数がvps_max_layers_minus1+1に等しいことを指定してもよい。i番目のOUTPUTLAYERSETは、0からiまで(両端含む)の層インデックスをもつ層を含み、各OUTPUTLAYERSETについて、該OUTPUTLAYSETにおける最上位層のみが出力される。
【0069】
outputLayerSet_mode_idcが1に等しいことは、VPSによって指定されるOUTPUTLAYERSETの総数がvps_max_layers_minus1+1に等しいことを指定してもよい。i番目のOUTPUTLAYERSETは、0からiまで(両端含む)の層インデックスをももつ層を含み、各OUTPUTLAYERSETについて、該OUTPUTLAYERSETにおけるすべての層が出力される。
【0070】
outputLayerSet_mode_idcが2に等しいことは、VPSによって指定されたOUTPUTLAYERSETの総数が明示的に信号伝達され、各OUTPUTLAYERSETについて出力層が明示的に信号伝達され、他の層はOUTPUTLAYSETの出力層の直接または間接の参照層である層であることを示してもよい。
【0071】
outputLayerSet_mode_idcの値は、0~2の範囲(両端含む)でよい。outputLayerSet_mode_idcの値3は、ITU-T|ISO/IECによる将来の使用のために予約されている。
【0072】
vps_all_independent_layers_flagが1に等しく、each_layer_is_an_outputLayerSet_flagが0に等しい場合、outputLayerSet_mode_idcの値は2に等しいと推定されてもよい。
【0073】
num_output_layer_sets_minus1に1を加えたものは、outputLayerSet_mode_idcが2に等しい場合に、VPSによって指定されるOUTPUTLAYERSETの総数を指定してもよい。
【0074】
VPSによって指定されるOUTPUTLAYERSETの総数を指定する変数TotalNumOutputLayerSetsは、次のように導出されてもよい:
【表3】
【0075】
outputLayerSet_output_layer_flag[i][j]が1に等しいことは、outputLayerSet_mode_idcが2に等しい場合に、vps_layer_id[j]に等しいnuh_layer_idをもつ層がi番目のOUTPUTLAYERSETの出力層であることを指定してもよい。outputLayerSet_output_layer_flag[i][j]が0に等しいことは、outputLsayerSet_mode_idcが2に等しい場合に、vps_layer_id[j]に等しいnuh_layer_idをもつ層がi番目のOUTPUTLAYSETの出力層でないことを指定してもよい。
【0076】
i番目のOUTPUTLAYERSET内の出力層の数を指定する変数NumOutputLayersInOutputLayerSet[i]と、i番目のOUTPUTLAYERSET内のj番目の出力層のnuh_layer_id値を指定する変数OutputLayerIdInOutLayerSet[i][j]は、次のように導出されてもよい:
【表4】
【0077】
i番目のOUTPUTLAYERSETの層数を指定する変数NumLayersInOutputLayerSet[i]と、i番目のOUTPUTLAYSETのj番目の層のnuh_layer_id値を指定する変数LayerIdInOutputLayerSet[i][j]は、次のように導出されてもよい:
【表5】
【0078】
nuh_layer_idがLayerIdInOutputLayerSet[i][j]に等しい層のOUTPUTLAYERSET層インデックスを指定する変数OutputLayerSetLayeIdx[i][j]は、次のように導出されてもよい:
【表6】
【0079】
各OUTPUTLAYERSEにおける最下層は、独立した層であってもよい。言い換えれば、0からTotalNumOutputLayerSets-1の範囲(両端含む)の各iについて、vps_independent_layer_flag[GeneralLayerIdx[LayerIdInOutputLayerSet[i][0]]]の値は、1に等しくてもよい。
【0080】
各層は、VPSによって指定される少なくとも一つのOUTPUTLAYERSETに含まれてもよい。言い換えると、0からvps_max_layers_minus1の範囲(両端含む)のkについてのvps_layer_id[k]の1つに等しい、nuh_layer_idの特定の値nuhLayerIdをもつ各層について、iが0からTotalNumOutputLayerSets-1の範囲(両端含む)にあり、jがNumLayersInOutputLayerSet[i]-1の範囲(両端含む)の範囲にある、iとjの値の少なくとも1つのペアであって、LayerIdInOutputLayerSet[i][j]の値がnuhLayerIdに等しいものが存在してもよい。
【0081】
vps_constraint_info_present_flagが1に等しいことは、general_constraint_info()シンタックス構造がVPSに存在することを指定してもよい。vps_constraint_info_present_flagが0に等しいことは、general_constraint_info()シンタックス構造がVPSに存在しないことを指定してもよい。
【0082】
vps_reserved_zero_7bitsは、この仕様のバージョンに準拠するビットストリームでは0に等しくてもよい。vps_reserved_zero_7bitsの他の値は、ITU-T|ISO/IECによる将来の使用のために予約されている。デコーダはvps_reserved_zero_7bitsの値を無視してもよい。
【0083】
vps_extension_flagが0に等しいことは、VPS RBSPシンタックス構造においてvps_extension_data_flagシンタックス要素が存在しないことを指定してもよい。vps_extension_flagが1に等しいことは、VPS RBSPシンタックス構造に存在するvps_extension_data_flagシンタックス要素があることを指定してもよい。
【0084】
vps_extension_data_flagは、任意の値をもちうる。その存在と値は、この仕様のこのバージョンにおいて指定されるプロファイルへのデコーダ適合性に影響しない。この仕様のこのバージョンに準拠するデコーダは、すべてのvps_extension_data_flagシンタックス要素を無視してもよい。
【0085】
図6は、エンコードされたビデオ・ビットストリームをデコードするための例示的なプロセス600のフローチャートである。いくつかの実装では、
図6の一つまたは複数のプロセス・ブロックは、デコーダ210によって実行されてもよい。いくつかの実装では、
図6の一つまたは複数のプロセス・ブロックは、デコーダ210とは別個の、またはデコーダ210を含む、別の装置または装置群、たとえばエンコーダ203によって実行されてもよい。
【0086】
図6に示されるように、プロセス600は、エンコードされるビデオ・ビットストリームから複数の出力層セットを含む符号化ビデオ・シーケンスを得ることを含んでいてもよい(ブロック601)。
【0087】
図6にさらに示されるように、プロセス600は、第1のフラグを取得することを含んでいてもよい(ブロック602)。
【0088】
図6にさらに示されるように、プロセス600は、複数の出力層セットの各出力層セットが2つ以上の層を含むかどうかを前記第1のフラグから判断することを含んでいてもよい(ブロック603)。
【0089】
図6にさらに示されるように、プロセス600は、前記第1のフラグが各出力層セットが単一の層のみを含むことを示すことに基づいて(ブロック603でNO)、各出力層セットの該単一の層を、少なくとも1つの出力層として選択し(ブロック604)、該少なくとも1つの出力層を出力する(ブロック608)ことを含んでいてもよい。
【0090】
図6にさらに示されるように、前記第1のフラグが各出力層セットが2つ以上の層を含むことを示すことに基づいて(ブロック603でYES)、プロセス600はブロック605、ブロック606、ブロック607、およびブロック608に進んでもよい。
【0091】
図6にさらに示されるように、プロセス600は、出力層セット・モードを示す第1のシンタックス要素を得ることを含んでいてもよい(ブロック605)。
【0092】
図6にさらに示されるように、プロセス600は、第1のシンタックス要素に基づいて出力層セット・モードを決定することを含んでいてもよい(ブロック606)。
【0093】
図6にさらに示されるように、プロセス600は、出力層セット・モードに基づいて、複数の出力層セットに含まれる層のうちから少なくとも1つの層を前記少なくとも1つの出力層として選択することを含んでいてもよい(ブロック607)。
【0094】
図6にさらに示されるように、プロセス600は、前記少なくとも1つの出力層を出力することを含んでいてもよい(ブロック608)。
【0095】
ある実施形態では、第1のフラグおよび第1のシンタックス要素は、ビデオパラメータセット(VPS)において信号伝達されてもよい。
【0096】
ある実施形態では、前記1つの層は、前記第1のフラグが各出力層セットが前記1つの層のみを含むことを示すことに基づいて、前記少なくとも1つの出力層として選択されてもよい。
【0097】
ある実施形態では、第1のシンタックス要素が出力層セット・モードが第1のモードであることを示すことに基づいて、各出力層セットの最上層が、前記少なくとも1つの出力層として選択されてもよい。
【0098】
ある実施形態では、第1のシンタックス要素が出力層セット・モードが第2のモードであることを示すことに基づいて、複数の出力層セットに含まれるすべての層が、前記少なくとも1つの出力層として選択されてもよい。
【0099】
ある実施形態では、第1のシンタックス要素が出力層セット・モードが第3のモードであることを示すことに基づいて、前記少なくとも1つの出力層は、エンコードされたビデオ・ビットストリームにおいて信号伝達される第2のシンタックス要素に基づいて、複数の出力層セットに含まれる層のうちから選択されてもよい。
【0100】
ある実施形態では、第1のシンタックス要素が出力層セット・モードが第3のモードであることを示すことに基づいて、複数の出力層セットに含まれる層のうちからの、選択されていない層が、前記少なくとも1つの出力層のための参照層(reference layers)として使用されてもよい。
【0101】
ある実施形態では、出力層セット・モードは、第1のフラグが各出力層セットが前記一つより多くの層を含むことを示し、第2のフラグが複数の出力層セットに含まれるすべての層が独立して符号化されることを示すことに基づいて、前記第3のモードであると推定されてもよい。
【0102】
図6は、プロセス600の例示的なブロックを示しているが、いくつかの実装では、プロセス600は、
図6に示されているものに対して、追加のブロック、より少数のブロック、異なるブロック、または異なる配置のブロックを含んでいてもよい。追加的または代替的に、プロセス600のブロックのうちの2つ以上は、並列に実行されてもよい。
【0103】
さらに、提案された方法は、処理回路(たとえば、一つまたは複数のプロセッサまたは一つまたは複数の集積回路)によって実装されてもよい。一例では、前記一つまたは複数のプロセッサは、提案された方法の一つまたは複数を実行するために、非一時的なコンピュータ読み取り可能な媒体に記憶されたプログラムを実行する。
【0104】
上述の技法は、コンピュータ読み取り可能な命令を用いてコンピュータ・ソフトウェアとして実装されることができ、一つまたは複数のコンピュータ読み取り可能な媒体に物理的に記憶されることができる。たとえば、
図7は、開示された主題のある種の実施形態を実装するのに好適なコンピュータ・システム700を示す。
【0105】
コンピュータ・ソフトウェアは、任意の好適な機械コードまたはコンピュータ言語を用いてコーディングされることができ、アセンブリ、コンパイル、リンク、または同様の機構の対象とされて、コンピュータ中央処理ユニット(CPU)、グラフィックス処理ユニット(GPU)などによって、直接的に、またはインタープリット、マイクロコード実行などを通じて実行可能な命令を含むコードを作成することができる。
【0106】
命令は、たとえば、パーソナルコンピュータ、タブレット・コンピュータ、サーバー、スマートフォン、ゲーム装置、モノのインターネット装置等を含むさまざまなタイプのコンピュータまたはそのコンポーネント上で実行されることができる。
【0107】
コンピュータ・システム700について
図7に示されるコンポーネントは、例としての性質であり、本開示の実施形態を実装するコンピュータ・ソフトウェアの使用または機能の範囲に関する制限を示唆することを意図したものではない。コンポーネントの構成も、コンピュータ・システム700の例示的実施形態において示されているコンポーネントの任意の1つまたは組み合わせに関する何らかの依存性または要件を有するものとして解釈されるべきではない。
【0108】
コンピュータ・システム700は、ある種のヒューマン・インターフェース入力装置を含むことができる。そのようなヒューマン・インターフェース入力装置は、たとえば、触覚入力(たとえば、キーストローク、スワイプ、データグローブの動き)、音声入力(たとえば、声、拍手)、視覚入力(たとえば、ジェスチャー)、嗅覚入力(図示せず)を通じた一または複数の人間ユーザーによる入力に応答することができる。また、ヒューマン・インターフェース装置は、音声(たとえば、発話、音楽、周囲の音)、画像(たとえば、スキャンされた画像、スチール画像カメラから得られる写真画像)、ビデオ(たとえば、2次元ビデオ、立体視ビデオを含む3次元ビデオ)のような、人間による意識的入力に必ずしも直接関係しないある種のメディアを捕捉するために使用できる。
【0109】
入力ヒューマン・インターフェース装置は、キーボード701、マウス702、トラックパッド703、タッチスクリーン710および付随するグラフィックスアダプター750、データグローブ、ジョイスティック705、マイクロフォン706、スキャナ707、カメラ708(それぞれの一つのみが描かれている)の一つまたは複数を含んでいてもよい。
【0110】
コンピュータ・システム700はまた、ある種のヒューマン・インターフェース出力装置を含んでいてもよい。そのようなヒューマン・インターフェース出力装置は、たとえば、触覚出力、音、光、および臭い/味を通じて、一または複数の人間ユーザーの感覚を刺激するものであってもよい。そのようなヒューマン・インターフェース出力装置は、触覚出力装置(たとえば、タッチスクリーン710、データグローブまたはジョイスティック705による触覚フィードバック;ただし、入力装置のはたらきをしない触覚フィードバック装置もありうる)、音声出力装置(たとえば、スピーカー709、ヘッドフォン(図示せず))、視覚出力装置(たとえば、陰極線管(CRT)画面、液晶ディスプレイ(LCD)画面、プラズマスクリーン、有機発光ダイオード(OLED)画面を含む画面710;それぞれはタッチスクリーン入力機能があってもなくてもよく、それぞれは触覚フィードバック機能があってもなくてもよく、そのうちのいくつかは、2次元の視覚出力または立体視出力のような手段を通じた3次元より高い出力を出力することができてもよい;仮想現実感眼鏡(図示せず)、ホログラフィーディスプレイおよび煙タンク(図示せず))、およびプリンタ(図示せず)を含んでいてもよい。
【0111】
コンピュータ・システム700はまた、人間がアクセス可能な記憶装置および関連する媒体、たとえば、CD/DVDまたは類似の媒体721とともにCD/DVD ROM/RW 720を含む光学式媒体、サムドライブ722、取り外し可能なハードドライブまたはソリッドステートドライブ723、テープおよびフロッピーディスクといったレガシー磁気媒体(図示せず)、セキュリティ・ドングルのような特化したROM/ASIC/PLDベースの装置(図示せず)などを含むことができる。
【0112】
当業者はまた、現在開示されている主題に関連して使用される用語「コンピュータ読み取り可能な媒体」は、伝送媒体、搬送波、または他の一時的な信号を包含しないことを理解すべきである。
【0113】
コンピュータ・システム700はまた、一つまたは複数の通信ネットワーク(1155)へのインターフェースを含むことができる。ネットワークは、たとえば、無線、有線、光学式でありうる。ネットワークは、さらに、ローカル、広域、都市圏、車載および工業用、リアルタイム、遅延耐性などでありうる。ネットワークの例は、イーサネット〔登録商標〕、無線LAN、グローバル移動通信システム(GSM)、第三世代(3G)、第四世代(4G)、第五世代(5G)、ロングタームエボリューション(LTE)などを含むセルラー・ネットワーク、ケーブルテレビ、衛星テレビ、地上放送テレビを含むTV有線または無線の広域デジタルネットワーク、CANBusを含む車載および工業用などを含む。ある種のネットワークは、普通、ある種の汎用データ・ポートまたは周辺バス(1149)(たとえば、コンピュータ・システム700のユニバーサルシリアルバス(USB)ポートなど)に取り付けられる外部ネットワーク・インターフェース・アダプター(1154)を必要とする。他は、普通、後述するようなシステム・バスへの取り付けによって、コンピュータ・システム700のコアに統合される(たとえば、PCコンピュータ・システムへのイーサネット・インターフェースまたはスマートフォン・コンピュータ・システムへのセルラー・ネットワーク・インターフェース)。これらのネットワークのいずれかを使用して、コンピュータ・システム700は、他のエンティティと通信することができる。そのような通信は、一方向性、受信のみ(たとえば、放送テレビ)、一方向性送信専用(たとえば、ある種のCANbus装置へのCANbus)、または、たとえば、ローカルまたは広域デジタルネットワークを使用する他のコンピュータ・システムへの双方向性であってもよい。上述のようなそれらのネットワークおよびネットワークインターフェース(1154)のそれぞれで、ある種のプロトコルおよびプロトコルスタックが使用できる。
【0114】
前述のヒューマン・インターフェース装置、人間がアクセス可能な記憶装置、およびネットワーク・インターフェースは、コンピュータ・システム700のコア740に取り付けることができる。
【0115】
コア740は、一つまたは複数の中央処理装置(CPU)741、グラフィックス処理装置(GPU)742、フィールドプログラマブルゲートアレイ(FPGA)743の形の特化したプログラマブル処理装置、ある種のタスクのためのハードウェアアクセラレータ744などを含むことができる。これらの装置は、読み出し専用メモリ(ROM)745、ランダムアクセスメモリ(RAM)746、内部のユーザー・アクセス可能でないハードドライブ、ソリッドステートデバイス(SSD)などの内蔵大容量記憶装置など747とともに、システム・バス748を通じて接続されうる。いくつかのコンピュータ・システムでは、追加のCPU、GPUなどによる拡張を可能にするために、システム・バス748は、一つまたは複数の物理プラグの形でアクセス可能であってもよい。周辺装置は、コアのシステム・バス748に直接取り付けられることも、周辺バス749を通じて取り付けられることもできる。周辺バスのためのアーキテクチャーは、周辺コンポーネント相互接続(PCI)、USBなどを含む。
【0116】
CPU 741、GPU 742、FPGA 743、およびアクセラレータ744は、組み合わせて上述のコンピュータコードを構成することができるある種の命令を、実行することができる。そのコンピュータコードは、ROM 745またはRAM 746に記憶できる。一時的データも、RAM 746に記憶されることができ、一方、持続的データは、たとえば、内部大容量記憶装置747に記憶されることができる。一つまたは複数のCPU 741、GPU 742、大容量記憶装置747、ROM 745、RAM 746などと密接に関連付けることができるキャッシュメモリを使用することを通じて、メモリデバイスのいずれかへの高速な記憶および取り出しを可能にすることができる。
【0117】
コンピュータ読み取り可能な媒体は、さまざまなコンピュータ実装された動作を実行するためのコンピュータコードをその上に有することができる。媒体およびコンピュータコードは、本開示の目的のために特別に設計および構築されたものであってもよく、または、コンピュータ・ソフトウェア分野の技術を有する者に周知であり利用可能な種類のものであってもよい。
【0118】
限定ではなく一例として、アーキテクチャー700、具体的にはコア740を有するコンピュータ・システムは、プロセッサ(CPU、GPU、FPGA、アクセラレータ等を含む)が一つまたは複数の有形のコンピュータ可読媒体に具現化されたソフトウェアを実行することの結果として、機能性を提供することができる。そのようなコンピュータ読み取り可能媒体は、上記で紹介したようなユーザー・アクセス可能な大容量記憶ならびにコア内部の大容量記憶装置747またはROM 745のような非一時的な性質のコア740のある種の記憶に関連する媒体であることができる。本開示のさまざまな実施形態を実装するソフトウェアは、そのような装置に記憶され、コア740によって実行されることができる。コンピュータ読み取り可能媒体は、特定のニーズに応じて、一つまたは複数のメモリデバイスまたはチップを含むことができる。ソフトウェアは、RAM 746に記憶されたデータ構造を定義し、ソフトウェアによって定義されたプロセスに従ってそのようなデータ構造を修正することを含む、本明細書に記載された特定のプロセスまたは特定のプロセスの特定の部分を、コア740および具体的にはその中のプロセッサ(CPU、GPU、FPGAなどを含む)に実行させることができる。追加的または代替的に、コンピュータ・システムは、回路(たとえば、アクセラレータ744)内に配線された、または他の仕方で具現された論理の結果として機能性を提供することができ、これは、本明細書に記載される特定のプロセスまたは特定のプロセスの特定の部分を実行するためのソフトウェアの代わりに、またはそれと一緒に動作することができる。ソフトウェアへの言及は、論理を含み、適宜その逆も可能である。コンピュータ読み取り可能媒体への言及は、適宜、実行のためのソフトウェアを記憶する回路(たとえば集積回路(IC))、実行のための論理を具現する回路、またはその両方を包含することができる。本開示は、ハードウェアおよびソフトウェアの任意の好適な組み合わせを包含する。
【0119】
本開示は、いくつかの例示的実施形態を記載してきたが、変更、置換、およびさまざまな代替等価物があり、それらは本開示の範囲内にはいる。よって、当業者は、本明細書に明示的に示されていないかまたは記載されていないが、本開示の原理を具現し、よって、本開示の精神および範囲内にある多くのシステムおよび方法を考案することができることが理解されるであろう。
【国際調査報告】