(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-10-24
(45)【発行日】2022-11-01
(54)【発明の名称】参照画像リサンプリングのためのシグナリング
(51)【国際特許分類】
H04N 19/503 20140101AFI20221025BHJP
H04N 19/59 20140101ALI20221025BHJP
H04N 19/70 20140101ALI20221025BHJP
H04N 19/132 20140101ALI20221025BHJP
H04N 19/157 20140101ALI20221025BHJP
H04N 19/172 20140101ALI20221025BHJP
【FI】
H04N19/503
H04N19/59
H04N19/70
H04N19/132
H04N19/157
H04N19/172
(21)【出願番号】P 2021546755
(86)(22)【出願日】2020-06-18
(86)【国際出願番号】 US2020038344
(87)【国際公開番号】W WO2020263665
(87)【国際公開日】2020-12-30
【審査請求日】2021-08-10
(32)【優先日】2019-06-24
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2020-06-11
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100110364
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100150197
【氏名又は名称】松尾 直樹
(72)【発明者】
【氏名】ビョンドゥ・チェ
(72)【発明者】
【氏名】ステファン・ヴェンガー
(72)【発明者】
【氏名】シャン・リュウ
【審査官】久保 光宏
(56)【参考文献】
【文献】Stephan Wenger, et al.,"[AHG19] On Signaling of Adaptive Resolution Change",JVET-N0052,version 1,[online], Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,2019年03月13日,Pages 1-11,[令和4年9月2日検索], インターネット, <URL: https://jvet-experts.org/doc_end_user/current_document.php?id=5772> and <URL: https://jvet-experts.org/doc_end_user/documents/14_Geneva/wg11/JVET-N0052-v1.zip>.
【文献】Byeongdoo Choi, et al.,"AHG8: Signaling and Filtering for Reference Picture Resampling",JVET-O0332,version 1,[online], Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,2019年06月26日,Pages 1-8,[令和4年9月2日検索], インターネット, <URL: https://jvet-experts.org/doc_end_user/current_document.php?id=6937> and <URL: https://jvet-experts.org/doc_end_user/documents/15_Gothenburg/wg11/JVET-O0332-v1.zip>.
【文献】Gary Sullivan, et al.,"Meeting Report of the 12th meeting of the Joint Video Experts Team (JVET), Macao, CN, 3-12 October 2018",JVET-L1000,version 1,[online], Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,2019年01月08日,Pages 1,2,9-12,[令和4年9月2日検索], インターネット, <URL: https://jvet-experts.org/doc_end_user/current_document.php?id=4833> and <URL: https://jvet-experts.org/doc_end_user/documents/12_Macao/wg11/JVET-L1000-v1.zip>.
(58)【調査した分野】(Int.Cl.,DB名)
H04N19/00-19/98
CSDB(日本国特許庁)
IEEEXplore(IEEE)
(57)【特許請求の範囲】
【請求項1】
少なくとも1つのプロセッサを使用して符号化されたビデオビットストリームを復号する方法であって、前記方法が、
前記符号化されたビデオビットストリームから符号化された画像を取得するステップと、
復号された画像を生成するために前記符号化された画像を復号するステップと、
前記符号化されたビデオビットストリームから、参照画像リサンプリングが有効であるかどうかを示す第1のフラグを取得するステップと、
前記参照画像リサンプリングが有効であることを示す前記第1のフラグに基づいて、前記符号化されたビデオビットストリームから、前記符号化されたビデオビットストリームにおいて示される一定の参照画像サイズを、参照画像が有するかどうかを示す第2のフラグを取得するステップと、
前記参照画像リサンプリングが有効であることを示す前記第1のフラグに基づいて、前記符号化されたビデオビットストリームから、前記符号化されたビデオビットストリームにおいて示される一定の出力画像サイズを出力画像が有するかどうかを示す第3のフラグを取得するステップと、
前記参照画像が前記一定の参照画像サイズを有することを示す前記第2のフラグに基づいて、前記一定の参照画像サイズを有するように前記復号された画像をリサンプリングすることによって、参照画像を生成し、復号画像バッファに前記参照画像を格納するステップと、
前記出力画像が前記一定の出力画像サイズを有することを示す前記第3のフラグに基づいて、前記復号された画像が前記一定の出力画像サイズを有するようにリサンプリングすることによって、出力画像を生成し、前記出力画像を出力するステップとを含む、方法。
【請求項2】
前記第1のフラグ、前記第2のフラグ、および前記第3のフラグは、前記符号化されたビデオビットストリームに含まれるシーケンスパラメータセットにおいてシグナリングされる、請求項1に記載の方法。
【請求項3】
前記符号化されたビデオビットストリームから画像解像度情報を取得するステップをさらに含み、
前記画像解像度情報が、最大画像解像度および最小画像解像度のうちの少なくとも1つを示す、請求項1
または2に記載の方法。
【請求項4】
前記画像解像度情報が、前記符号化されたビデオビットストリームに含まれるデコーダパラメータセットにおいてシグナリングされる、請求項3に記載の方法。
【請求項5】
前記符号化されたビデオビットストリームから画像サイズのリストを取得するステップをさらに含む、請求項1
から4のいずれか一項に記載の方法。
【請求項6】
前記画像サイズのリスト内の前記復号された画像の画像サイズを示すインデックスを取得するステップをさらに含む、請求項5に記載の方法。
【請求項7】
前記画像サイズのリストが、前記符号化されたビデオビットストリームに含まれるシーケンスパラメータセットにおいてシグナリングされ、
前記インデックスが、前記符号化されたビデオビットストリームに含まれる画像パラメータセットにおいてシグナリングされる、請求項6に記載の方法。
【請求項8】
動きベクトルのスケーリングが有効にされているかどうかを示す第4のフラグを取得するステップをさらに含む、請求項1
から7のいずれか一項に記載の方法。
【請求項9】
前記第4のフラグが、前記符号化されたビデオビットストリームに含まれる画像パラメータセットにおいてシグナリングされる、請求項8に記載の方法。
【請求項10】
符号化されたビデオビットストリームを復号するためのデバイスであって、前記デバイスが、
プログラムコードを格納するように構成された少なくとも1つのメモリと、
前記プログラムコードを読み出し、前記プログラムコードによって命令されるように動作するように構成された少なくとも1つのプロセッサであって、前記プログラムコードが、
請求項1から9のいずれか一項に記載の方法を実行するためのコードを含む、少なくとも1つのプロセッサと
を備える、デバイス。
【請求項11】
コンピュータプログラムであって、前記
コンピュータプログラムが、符号化されたビデオビットストリームを復号するためのデバイスの1つまたは複数のプロセッサによって実行されると、前記1つまたは複数のプロセッサに、
請求項1から9のいずれか一項に記載の方法を実行させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2019年6月24日に出願された米国仮特許出願第62/865,955号および2020年6月11日に出願された米国特許出願第16/899,202号に基づく優先権を米国特許法第119条の下に主張し、それらの開示内容はそれらの全体が参照により本明細書に組み込まれる。
【0002】
開示される主題は、ビデオ符号化およびビデオ復号に関し、より具体的には、参照画像リサンプリングおよび適応解像度変更に関するシグナリング情報に関する。
【背景技術】
【0003】
動き補償を伴う画像間予測を用いたビデオ符号化およびビデオ復号が知られている。非圧縮デジタルビデオは、一連の画像からなることができ、各画像は、例えば1920×1080の輝度サンプルおよび関連する色差サンプルの空間次元を有する。一連の画像は、例えば毎秒60画像または60 Hzの固定または可変画像レート(非公式にはフレームレートとしても知られる)を有することができる。非圧縮ビデオは、かなりのビットレート要件を有する。例えば、サンプルあたり8ビットの1080p60 4:2:0ビデオ(60 Hzのフレームレートで1920×1080の輝度サンプル解像度)は、1.5 Gbit/sに近い帯域幅を必要とする。そのようなビデオの1時間は、600 GByteを超える記憶空間を必要とする。
【0004】
ビデオ符号化およびビデオ復号の目的の1つは、圧縮による入力ビデオ信号の冗長性の低減であり得る。圧縮は、前述の帯域幅または記憶空間要件を、場合によっては2桁以上低減するのに役立つことができる。可逆圧縮および非可逆圧縮の両方、ならびにそれらの組み合わせを使用することができる。可逆圧縮とは、原信号の正確な複製を圧縮された原信号から再構成することができる技術を指す。非可逆圧縮を使用する場合、再構成された信号は原信号と同一ではないことがあるが、原信号と再構成された信号との間の歪みは、再構成された信号を意図した用途に役立てるのに十分小さい。ビデオの場合、非可逆圧縮が広く採用されている。許容される歪みの量は用途に依存し、例えば、特定の消費者ストリーミング用途のユーザは、テレビ配信用途のユーザよりも高い歪みを許容することがある。達成可能な圧縮比は、より高い許容可能/容認可能な歪みがより高い圧縮比をもたらすことができることを反映することができる。
【0005】
ビデオエンコーダおよびデコーダは、例えば、動き補償、変換、量子化、およびエントロピ符号化を含む、いくつかの広範なカテゴリからの技術を利用することができ、これらのうちのいくつかは、以下に紹介される。
【0006】
歴史的に、ビデオエンコーダおよびデコーダは、ほとんどの場合、符号化されたビデオシーケンス(CVS)、画像グループ(GOP)、または同様のマルチ画像タイムフレームに対して定義され一定のままであった所与の画像サイズで動作する傾向があった。例えば、MPEG-2では、システム設計は、I画像においてのみ、したがって典型的にはGOP用であるが、シーンのアクティビティなどの要因に応じて水平解像度(それによって、画像サイズ)を変更することが知られている。CVS内の異なる解像度を使用するための参照画像のリサンプリングは、例えばITU-T Rec.H.263 Annex Pから知られている。しかしながら、ここでは画像サイズは変化せず、参照画像のみがリサンプリングされ、(ダウンサンプリングの場合)画像キャンバスの一部のみが使用される、または(アップサンプリングの場合)シーンの一部のみがキャプチャされる可能性がある。さらに、H.263 Annex Qは、個々のマクロブロックを上方または下方に(各次元で)2倍だけリサンプリングすることを可能にする。ここでも、画像サイズは同じままである。マクロブロックのサイズはH.263では固定されているため、シグナリングする必要はない。
【0007】
予測画像の画像サイズの変更は、最新のビデオ符号化においてより主流になった。例えば、VP9は、参照画像リサンプリングおよび画像全体の解像度の変更を可能にする。同様に、VVC(例えば、その全体が本明細書に組み込まれる、Hendryら、「On adaptive resolution change(ARC)for VVC」、Joint Video Team document JVET-M0135-v1、Jan 9-19,2019を含む)に向けてなされたある提案は、異なるより高いまたはより低い解像度への参照画像全体のリサンプリングを可能にする。その文書では、シーケンスパラメータセット内で符号化され、画像パラメータセット内の画像ごとのシンタックス要素によって参照される異なる候補解像度が提案されている。
【発明の概要】
【課題を解決するための手段】
【0008】
一実施形態では、少なくとも1つのプロセッサを使用して符号化されたビデオビットストリームを復号する方法であって、符号化されたビデオビットストリームから符号化された画像を取得するステップと、復号された画像を生成するために符号化された画像を復号するステップと、符号化されたビデオビットストリームから、参照画像リサンプリングが有効であるかどうかを示す第1のフラグを取得するステップと、参照画像リサンプリングが有効であることを示す第1のフラグに基づいて、符号化されたビデオビットストリームから、符号化されたビデオビットストリームにおいて示される一定の参照画像サイズを、参照画像が有するかどうかを示す第2のフラグを取得するステップと、参照画像リサンプリングが有効であることを示す第1のフラグに基づいて、符号化されたビデオビットストリームから、符号化されたビデオビットストリームにおいて示される一定の出力画像サイズを出力画像が有するかどうかを示す第3のフラグを取得するステップと、参照画像が一定の参照画像サイズを有することを示す第2のフラグに基づいて、一定の参照画像サイズを有するように復号された画像をリサンプリングすることによって、参照画像を生成し、復号画像バッファに参照画像を格納するステップと、出力画像が一定の出力画像サイズを有することを示す第3のフラグに基づいて、復号された画像が一定の出力画像サイズを有するようにリサンプリングすることによって、出力画像を生成し、出力画像を出力するステップとを含む、方法が提供される。
【0009】
一実施形態では、符号化されたビデオビットストリームを復号するためのデバイスであって、デバイスが、プログラムコードを格納するように構成された少なくとも1つのメモリと、プログラムコードを読み出し、プログラムコードによって命令されるように動作するように構成された少なくとも1つのプロセッサであって、プログラムコードが、少なくとも1つのプロセッサに、符号化されたビデオビットストリームから符号化された画像を取得させるように構成された第1の取得コードと、少なくとも1つのプロセッサに、復号された画像を生成するために符号化された画像を復号させるように構成された復号コードと、少なくとも1つのプロセッサに、符号化されたビデオビットストリームから、参照画像リサンプリングが有効であるかどうかを示す第1のフラグを取得させるように構成された第2の取得コードと、参照画像リサンプリングが有効であることを示す第1のフラグに基づいて、少なくとも1つのプロセッサに、符号化されたビデオビットストリームから、符号化されたビデオビットストリームにおいて示される一定の参照画像サイズを参照画像が有するかどうかを示す第2のフラグを取得させるように構成された第3の取得コードと、参照画像リサンプリングが有効であることを示す第1のフラグに基づいて、少なくとも1つのプロセッサに、符号化されたビデオビットストリームから、符号化されたビデオビットストリームにおいて示される一定の出力画像サイズを出力画像が有するかどうかを示す第3のフラグを取得させるように構成された第4の取得コードと、参照画像が一定の参照画像サイズを有することを示す第2のフラグに基づいて、少なくとも1つのプロセッサに、一定の参照画像サイズを有するように復号された画像をリサンプリングすることによって、参照画像を生成させ、復号画像バッファに参照画像を格納させるように構成された第1の生成コードと、出力画像が一定の出力画像サイズを有することを示す第3のフラグに基づいて、少なくとも1つのプロセッサに、復号された画像が一定の出力画像サイズを有するようにリサンプリングすることによって、出力画像を生成させ、出力画像を出力させるように構成された第2の生成コードとを含む、少なくとも1つのプロセッサとを備える、デバイスが提供される。
【0010】
一実施形態では、命令を格納する非一時的コンピュータ可読媒体であって、命令が、符号化されたビデオビットストリームを復号するためのデバイスの1つまたは複数のプロセッサによって実行されると、1つまたは複数のプロセッサに、符号化されたビデオビットストリームから符号化された画像を取得させ、復号された画像を生成するために符号化された画像を復号させ、符号化されたビデオビットストリームから、参照画像リサンプリングが有効であるかどうかを示す第1のフラグを取得させ、参照画像リサンプリングが有効であることを示す第1のフラグに基づいて、符号化されたビデオビットストリームから、符号化されたビデオビットストリームにおいて示される一定の参照画像サイズを参照画像が有するかどうかを示す第2のフラグを取得させ、参照画像リサンプリングが有効であることを示す第1のフラグに基づいて、符号化されたビデオビットストリームから、符号化されたビデオビットストリームにおいて示される一定の出力画像サイズを出力画像が有するかどうかを示す第3のフラグを取得させ、参照画像が一定の参照画像サイズを有することを示す第2のフラグに基づいて、一定の参照画像サイズを有するように復号された画像をリサンプリングすることによって、参照画像を生成させ、復号画像バッファに参照画像を格納させ、出力画像が一定の出力画像サイズを有することを示す第3のフラグに基づいて、復号された画像が一定の出力画像サイズを有するようにリサンプリングすることによって、出力画像を生成させ、出力画像を出力させる、1つまたは複数の命令を含む、非一時的コンピュータ可読媒体が提供される。
【0011】
開示された主題のさらなる特徴、性質、および様々な利点は、以下の詳細な説明および添付の図面からより明らかになるであろう。
【図面の簡単な説明】
【0012】
【
図1】一実施形態による通信システムの簡略化されたブロック図の概略図である。
【
図2】一実施形態による通信システムの簡略化されたブロック図の概略図である。
【
図3】一実施形態によるデコーダの簡略化されたブロック図の概略図である。
【
図4】一実施形態によるエンコーダの簡略化されたブロック図の概略図である。
【
図5】一実施形態によるエンコーダの簡略化されたブロック図の概略図である。
【
図6】一実施形態によるデコーダの簡略化されたブロック図の概略図である。
【
図7】一実施形態による、符号化されたビデオビットストリームを復号するための例示的なプロセスのフローチャートである。
【
図8】一実施形態によるコンピュータシステムの概略図である。
【発明を実施するための形態】
【0013】
本明細書に開示される実施形態は、別々に使用されてもよく、任意の順序で組み合わされ得る。さらに、方法(または実施形態)、エンコーダ、およびデコーダのそれぞれは、処理回路(例えば、1つまたは複数のプロセッサまたは1つまたは複数の集積回路)によって実装され得る。一例では、1つまたは複数のプロセッサは、非一時的コンピュータ可読媒体に格納されているプログラムを実行する。
【0014】
図1は、本開示の一実施形態による通信システム(100)の簡略化されたブロック図を示している。システム(100)は、ネットワーク(150)を介して相互接続された少なくとも2つの端末(110~120)を含み得る。データの一方向送信の場合、第1の端末(110)は、ネットワーク(150)を介して他の端末(120)に送信するために、ローカル位置でビデオデータを符号化し得る。第2の端末(120)は、ネットワーク(150)から他の端末の符号化されたビデオデータを受信し、符号化されたデータを復号し、復元されたビデオデータを表示し得る。一方向データ送信は、メディアサービング用途などで一般的であることがある。
【0015】
図1は、例えば、ビデオ会議中に発生する可能性のある符号化されたビデオの双方向送信をサポートするために提供される端末の第2の対(130、140)を示す。データの双方向送信の場合、各端末(130、140)は、ネットワーク(150)を介して他の端末に送信するために、ローカル位置でキャプチャされたビデオデータを符号化し得る。各端末(130、140)はまた、他の端末によって送信された符号化されたビデオデータを受信し、符号化されたデータを復号し、回復されたビデオデータをローカルディスプレイデバイスに表示し得る。
【0016】
図1では、端末(110~140)は、サーバ、パーソナルコンピュータ、およびスマートフォンとして示され得るが、本開示の原理は、そのように限定されないことがある。本開示の実施形態は、ラップトップコンピュータ、タブレットコンピュータ、メディアプレーヤ、および/または専用のビデオ会議機器を用いた用途を見出す。ネットワーク(150)は、例えば、有線および/または無線通信ネットワークを含む、端末(110~140)間で符号化されたビデオデータを伝達する任意の数のネットワークを表す。通信ネットワーク(150)は、回線交換および/またはパケット交換チャネルでデータを交換し得る。代表的なネットワークには、電気通信ネットワーク、ローカルエリアネットワーク、ワイドエリアネットワーク、および/またはインターネットが含まれる。本議論の目的のために、ネットワーク(150)のアーキテクチャおよびトポロジは、本明細書で以下に説明されない限り、本開示の動作にとって重要ではないことがある。
【0017】
図2は、開示された主題の用途の例として、ストリーミング環境におけるビデオエンコーダおよびデコーダの配置を示している。開示された主題は、例えば、ビデオ会議、デジタルテレビ、CD、DVD、メモリスティックなどを含むデジタルメディアへの圧縮ビデオの保存を含む、他のビデオ対応用途に等しく適用することができる。
【0018】
ストリーミングシステムは、ビデオソース(201)、例えば、非圧縮ビデオサンプルストリーム(202)を作成する、例えば、デジタルカメラを含むことができるキャプチャサブシステム(213)を含み得る。符号化されたビデオビットストリームと比較したときにより多いデータ量を強調するために太線で示されているそのサンプルストリーム(202)は、カメラ(201)に結合されたエンコーダ(203)によって処理することができる。エンコーダ(203)は、ハードウェア、ソフトウェア、またはそれらの組み合わせを含み得、以下により詳細に説明されるように、開示された主題の態様を可能にするかまたは実施する。符号化されたビデオビットストリーム(204)は、サンプルストリームと比較してより少ないデータ量を強調するために細い線として描かれ、将来の使用のためにストリーミングサーバ(205)に格納することができる。1つまたは複数のストリーミングクライアント(206、208)は、ストリーミングサーバ(205)にアクセスして、符号化されたビデオビットストリーム(204)の複製(207、209)を取得することができる。クライアント(206)は、符号化されたビデオビットストリーム(207)の着信複製を復号し、ディスプレイ(212)または他のレンダリングデバイス(図示せず)上でレンダリングすることができる発信ビデオサンプルストリーム(211)を作成するビデオデコーダ(210)を含むことができる。一部のストリーミングシステムでは、ビデオビットストリーム(204、207、209)を特定のビデオ符号化/圧縮標準に従って符号化できる。例えば、これらの標準はITU-T勧告H.265を含む。Versatile Video CodingまたはVVCとして非公式に知られているビデオ符号化標準が開発中である。開示された主題は、VVCの文脈で使用され得る。
【0019】
図3は、本開示の一実施形態によるビデオデコーダ(210)の機能ブロック図であり得る。
【0020】
受信機(310)は、デコーダ(210)によって復号される1つまたは複数のコーデックビデオシーケンスを受信し得、同じまたは別の実施形態では、一度に1つの符号化されたビデオシーケンスであり、各符号化されたビデオシーケンスの復号は、他の符号化されたビデオシーケンスから独立している。符号化されたビデオシーケンスは、チャネル(312)から受信し得、チャネル(312)は、符号化されたビデオデータを格納する記憶装置へのハードウェア/ソフトウェアリンクであり得る。受信機(310)は、それぞれの使用エンティティ(図示せず)に転送され得る他のデータ、例えば、符号化されたオーディオデータおよび/または補助データストリームと共に符号化されたビデオデータを受信し得る。受信機(310)は、符号化されたビデオシーケンスを他のデータから分離し得る。ネットワークジッタに対抗するために、バッファメモリ(315)を、受信機(310)とエントロピデコーダ/パーサ(320)(以下、「パーサ」)との間に結合し得る。受信機(310)が十分な帯域幅および制御可能性の格納/転送デバイスから、またはアイソシンクロナスネットワークからデータを受信しているとき、バッファ(315)は必要ないか、または小さくてよい。インターネットなどのベストエフォートパケットネットワークで使用するために、バッファ(315)が必要とされることがあり、比較的大きくすることができ、有利に適応サイズにし得る。
【0021】
ビデオデコーダ(210)は、エントロピ符号化されたビデオシーケンスからシンボル(321)を再構成するためのパーサ(320)を含み得る。これらのシンボルのカテゴリには、
図3に示すように、デコーダ(210)の動作を管理するために使用される情報と、デコーダの不可欠な部分ではないが、デコーダに結合できるディスプレイ(212)などのレンダリングデバイスを制御するための情報とが含まれることがある。レンダリングデバイス(複数可)の制御情報は、Supplementary Enhancement Information(SEIメッセージ)またはVideo Usability Information(VUI)パラメータセットフラグメント(図示せず)の形式であることがある。パーサ(320)は、受信した符号化されたビデオシーケンスを解析/エントロピ復号し得る。符号化されたビデオシーケンスの符号化は、ビデオ符号化技術または標準に従うことができ、可変長符号化、ハフマン符号化、文脈依存の有無にかかわらず算術符号化などを含む当業者に周知の原則に従うことができる。パーサ(320)は、グループに対応する少なくとも1つのパラメータに基づいて、符号化されたビデオシーケンスから、ビデオデコーダ内の画素のサブグループの少なくとも1つのサブグループパラメータのセットを抽出し得る。サブグループは、画像グループ(GOP)、画像、副画像、タイル、スライス、ブリック、マクロブロック、Coding Tree Unit(CTU)、ブロック、変換ユニット(TU)、予測ユニット(PU)などを含むことができる。タイルは、画像内の特定のタイル列および行内のCU/CTUの矩形領域を示し得る。ブリックは、特定のタイル内のCU/CTU行の矩形領域を示し得る。スライスは、NALユニットに含まれる画像の1つまたは複数のブリックを示し得る。副画像は、画像内の1つまたは複数のスライスの矩形領域を示し得る。エントロピデコーダ/パーサはまた、変換係数、量子化パラメータ値、動きベクトルなどの符号化されたビデオシーケンス情報から抽出し得る。
【0022】
パーサ(320)は、バッファ(315)から受信したビデオシーケンスに対してエントロピ復号/構文解析動作を実行して、シンボル(321)を作成し得る。
【0023】
シンボル(321)の再構成は、符号化されたビデオ画像またはその一部(画像間およびイントラ画像、ブロック間およびイントラブロックなど)のタイプ、および他の要因に応じて、複数の異なるユニットを含むことができる。どのユニットがどのように関与するかは、パーサ(320)によって符号化されたビデオシーケンスから解析されたサブグループ制御情報によって制御することができる。パーサ(320)と以下の複数のユニットとの間のそのようなサブグループ制御情報の流れは、分かりやすくするために描かれていない。
【0024】
すでに述べた機能ブロックを超えて、デコーダ(210)は、以下に説明するように、概念的にいくつかの機能ユニットに細分することができる。商業的制約の下で動作する実際の実装では、これらのユニットの多くは互いに密接に相互作用し、少なくとも部分的には互いに統合することができる。しかしながら、開示された主題を説明するために、以下の機能ユニットへの概念的な細分化が適切である。
【0025】
第1のユニットはスケーラ/逆変換ユニット(351)である。スケーラ/逆変換ユニット(351)は、量子化された変換係数、ならびに使用する変換、ブロックサイズ、量子化因子、量子化スケーリングマトリクスなどを含む制御情報を、パーサ(320)からシンボル(321)として受け取る。スケーラ/逆変換ユニットは、集約装置(355)に入力できるサンプル値を含むブロックを出力できる。
【0026】
場合によっては、スケーラ/逆変換(351)の出力サンプルは、イントラ符号化されたブロックに関係することができ、つまり、以前に再構成された画像からの予測情報を使用していないが、現在の画像の以前に再構成された部分からの予測情報を使用できるブロックである。そのような予測情報は、イントラ画像予測ユニット(352)によって提供することができる。場合によっては、イントラ画像予測ユニット(352)は、現在の(部分的に再構成された)画像(358)からフェッチされた周囲のすでに再構成された情報を使用して、再構成中のブロックと同じサイズおよび形状のブロックを生成する。集約装置(355)は、場合によっては、サンプルごとに、イントラ予測ユニット(352)が生成した予測情報を、スケーラ/逆変換ユニット(351)によって提供される出力サンプル情報に追加する。
【0027】
他の場合では、スケーラ/逆変換ユニット(351)の出力サンプルは、インターコードされ、潜在的に動き補償されたブロックに関係し得る。このような場合、動き補償予測ユニット(353)は、参照画像メモリ(357)にアクセスして、予測に使用されるサンプルをフェッチすることができる。ブロックに関連するシンボル(321)に従ってフェッチされたサンプルを動き補償した後、これらのサンプルは、出力サンプル情報を生成するために、集約装置(355)によってスケーラ/逆変換ユニットの出力に追加できる(この場合、残差サンプルまたは残差信号と呼ばれる)。動き補償ユニットが予測サンプルをフェッチする参照画像メモリフォーム内のアドレスは、動きベクトルによって制御することができ、例えば、X、Y、および参照画像コンポーネントを有することができるシンボル(321)の形式で動き補償ユニットに利用可能である。動き補償はまた、サブサンプルの正確な動きベクトルが使用されているときに参照画像メモリからフェッチされたサンプル値の補間、動きベクトル予測機構などを含むことができる。
【0028】
集約装置(355)の出力サンプルは、ループフィルタユニット(356)において様々なループフィルタリング技術の対象となり得る。ビデオ圧縮技術は、符号化されたビデオビットストリームに含まれるパラメータによって制御され、パーサ(320)からのシンボル(321)としてループフィルタユニット(356)に利用可能になるインループフィルタ技術を含むことができるが、符号化された画像または符号化されたビデオシーケンスの前の(復号順で)部分の復号中に取得されたメタ情報に応答することができ、以前に再構成およびループフィルタリングされたサンプル値に応答することもできる。
【0029】
ループフィルタユニット(356)の出力は、レンダリングデバイス(212)に出力され得るだけでなく、将来の画像間予測で使用するために参照画像メモリに格納され得るサンプルストリームであり得る。
【0030】
特定の符号化された画像は、完全に再構成されると、将来の予測のための参照画像として使用できる。符号化された画像が完全に再構成され、(例えば、パーサ(320)によって)符号化された画像が参照画像として識別されると、現在の参照画像(358)は、参照画像バッファ(357)の一部になることができ、次の符号化された画像の再構成を開始する前に、新しい現在の画像メモリを再割り当てすることができる。
【0031】
ビデオデコーダ210は、例えばITU-T Rec.H.265などの規格において文書化され得る所定のビデオ圧縮技術に従って復号動作を実行し得る。符号化されたビデオシーケンスは、ビデオ圧縮技術のドキュメントまたは標準、特にその中のプロファイル文書に指定されているように、ビデオ圧縮技術または標準のシンタックスに準拠しているという意味で、使用されているビデオ圧縮技術または標準によって指定されているシンタックスに準拠していることがある。また、コンプライアンスのために必要なのは、符号化されたビデオシーケンスの複雑さが、ビデオ圧縮技術または標準のレベルによって定義された範囲内にあることである。場合によっては、レベルによって、最大画像サイズ、最大フレームレート、最大再構成サンプルレート(例えば、1秒あたりのメガサンプル数で測定)、最大参照画像サイズなどが制限される。レベルによって設定される制限は、場合によっては、ハイポセティカルリファレンスデコーダ(HRD)仕様と、符号化されたビデオシーケンスにおいて伝えられるHRDバッファ管理のメタデータによってさらに制限されることがある。
【0032】
一実施形態では、受信機(310)は、符号化されたビデオと共に追加の(冗長な)データを受信し得る。追加のデータは、符号化されたビデオシーケンスの一部として含まれることがある。追加のデータは、データを適切に復号するため、および/または元のビデオデータをより正確に再構成するために、ビデオデコーダ(210)によって使用され得る。追加のデータは、例えば、時間的、空間的、またはSNR強化層、冗長スライス、冗長画像、順方向エラー訂正コードなどの形式をとることができる。
【0033】
図4は、本開示の一実施形態によるビデオエンコーダ(203)の機能ブロック図であり得る。
【0034】
エンコーダ(203)は、エンコーダ(203)によって符号化されるビデオ画像をキャプチャし得るビデオソース(201)(エンコーダの一部ではない)からビデオサンプルを受信し得る。
【0035】
ビデオソース(201)は、任意の適切なビット深度(例えば、8ビット、10ビット、12ビット、…)、任意の色空間(例えば、BT.601 Y CrCB、RGB、…)、および任意の適切なサンプリング構造(例えば、Y CrCb 4:2:0、Y CrCb 4:4:4)であり得るデジタルビデオサンプルストリームの形式で、エンコーダ(203)によって符号化されるソースビデオシーケンスを提供し得る。メディアサービングシステムでは、ビデオソース(201)は、以前に準備されたビデオを記憶する記憶装置であり得る。ビデオ会議システムでは、ビデオソース(203)は、ローカル画像情報をビデオシーケンスとしてキャプチャするカメラであり得る。ビデオデータは、順番に見たときに動きを与える複数の個別の画像として提供し得る。画像自体は、画素の空間配列として編成することができ、各画素は、使用中のサンプリング構造、色空間などに応じて、1つまたは複数のサンプルを含み得る。当業者は、画素とサンプルとの間の関係を容易に理解することができる。以下の説明はサンプルに焦点を当てている。
【0036】
一実施形態によれば、エンコーダ(203)は、リアルタイムで、または用途によって要求される他の任意の時間制約の下で、ソースビデオシーケンスの画像を符号化されたビデオシーケンス(443)に符号化および圧縮し得る。適切な符号化速度を強制することは、コントローラ(450)の1つの機能である。コントローラは、以下に説明するように他の機能ユニットを制御し、これらのユニットに機能的に結合されている。分かりやすくするために、結合は描かれていない。コントローラによって設定されるパラメータには、レート制御関連のパラメータ(画像スキップ、量子化器、レート歪み最適化手法のラムダ値など)、画像サイズ、画像グループ(GOP)レイアウト、最大動きベクトル検索範囲などが含まれ得る。当業者は、特定のシステム設計用に最適化されたビデオエンコーダ(203)に関係し得るので、コントローラ(450)の他の機能を容易に識別し得る。
【0037】
一部のビデオエンコーダは、当業者が「符号化ループ」として容易に認識するもので動作する。過度に単純化された説明として、符号化ループは、エンコーダ(430)の符号化部分(以下、「ソースコーダ」)(符号化される入力画像および参照画像に基づいてシンボルを作成する役割を担う)と、(リモート)デコーダもまた作成するサンプルデータを作成するためにシンボルを再構成するエンコーダ(203)に埋め込まれた(ローカル)デコーダ(433)とから構成されることができる(シンボルと符号化されたビデオビットストリームとの間の任意の圧縮は開示された主題で考慮されるビデオ圧縮技術において可逆的であるため)。その再構成されたサンプルストリームは、参照画像メモリ(434)に入力される。シンボルストリームの復号により、デコーダの位置(ローカルまたはリモート)に関係なくビットイグザクト(bit-exact)結果が得られるため、参照画像バッファの内容もまたローカルエンコーダとリモートエンコーダとの間でビットイグザクトになる。言い換えると、エンコーダの予測部分は、復号中に予測を使用するときにデコーダが「見る」のとまったく同じサンプル値を参照画像サンプルとして「見る」。参照画像の同期性(および、例えばチャネルエラーのために同期性を維持できない場合に生じるドリフト)のこの基本原理は、当業者によく知られている。
【0038】
「ローカル」デコーダ(433)の動作は、「リモート」デコーダ(210)の動作と同じであり得、これは、
図3に関連して上記で詳細に説明されている。しかしながら、
図4も簡単に参照すると、シンボルが利用可能であり、エントロピコーダ(445)およびパーサ(320)による符号化されたビデオシーケンスへのシンボルの符号化/復号は可逆であり得、チャネル(312)、受信機(310)、バッファ(315)およびパーサ(320)を含むデコーダ(210)のエントロピ復号部分は、ローカルデコーダ(433)に完全に実装されていないことがある。
【0039】
この時点で行うことができる観察は、デコーダに存在する解析/エントロピ復号以外のデコーダ技術も、対応するエンコーダにおいて、実質的に同一の機能形式で必ず存在する必要があるということである。このため、開示された主題はデコーダ動作に焦点を合わせている。エンコーダ技術の説明は、包括的に説明されているデコーダ技術の逆であるため、省略できる。特定の領域でのみ、より詳細な説明が必要であり、以下に提供される。
【0040】
その動作の一部として、ソースコーダ(430)は、動き補償予測符号化を実行することがあり、これは、「参照フレーム」として指定されたビデオシーケンスからの1つまたは複数の以前に符号化されたフレームを参照して入力フレームを予測的に符号化する。このようにして、符号化エンジン(432)は、入力フレームの画素ブロックと、入力フレームへの予測参照として選択され得る参照フレームの画素ブロックとの間の差異を符号化する。
【0041】
ローカルビデオデコーダ(433)は、ソースコーダ(430)によって作成されたシンボルに基づいて、参照フレームとして指定され得るフレームの符号化されたビデオデータを復号し得る。符号化エンジン(432)の動作は、有利には、非可逆プロセスであり得る。符号化されたビデオデータがビデオデコーダ(
図4には示されていない)で復号され得る場合、再構成されたビデオシーケンスは、通常、いくつかのエラーを伴うソースビデオシーケンスのレプリカであり得る。ローカルビデオデコーダ(433)は、参照フレーム上でビデオデコーダによって実行され得る復号プロセスを複製し、再構成された参照フレームを参照画像キャッシュ(434)に格納させ得る。このようにして、エンコーダ(203)は、遠端ビデオデコーダによって取得される再構成された参照フレームとして共通の内容を有する再構成された参照フレームの複製をローカルに格納し得る(送信エラーがない)。
【0042】
予測器(435)は、符号化エンジン(432)の予測検索を実行し得る。すなわち、符号化される新しいフレームに対して、予測器(435)は、サンプルデータ(候補参照画素ブロックとして)または新しい画像の適切な予測参照として役立ち得る参照画像動きベクトル、ブロック形状などの特定のメタデータについて、参照画像メモリ(434)を検索し得る。予測器(435)は、適切な予測参照を見つけるために、画素ブロックごとに1つのサンプルブロックで動作し得る。場合によっては、予測器(435)によって取得された検索結果によって決定されるように、入力画像は、参照画像メモリ(434)に格納された複数の参照画像から引き出された予測参照を有し得る。
【0043】
コントローラ(450)は、例えば、ビデオデータを符号化するために使用されるパラメータおよびサブグループパラメータの設定を含む、ビデオコーダ(430)の符号化動作を管理し得る。
【0044】
前述のすべての機能ユニットの出力は、エントロピコーダ(445)でエントロピ符号化を受けることがある。エントロピコーダは、例えばハフマン符号化、可変長符号化、算術符号化などの当業者に知られている技術に従ってシンボルを可逆圧縮することにより、様々な機能ユニットによって生成された記号を符号化されたビデオシーケンスに変換する。
【0045】
送信機(440)は、エントロピコーダ(445)によって作成された符号化されたビデオシーケンスをバッファリングして、通信チャネル(460)を介した送信のためにそれを準備し得、通信チャネル(460)は、符号化されたビデオデータを格納する記憶装置へのハードウェア/ソフトウェアリンクであり得る。送信機(440)は、ビデオコーダ(430)からの符号化されたビデオデータを、送信される他のデータ、例えば、符号化されたオーディオデータおよび/または補助データストリーム(ソースは図示せず)とマージし得る。
【0046】
コントローラ(450)は、エンコーダ(203)の動作を管理し得る。符号化中に、コントローラ(450)は、それぞれの符号化された画像に特定の符号化された画像タイプを割り当てることがあり、これは、それぞれの画像に適用され得る符号化技術に影響を及ぼし得る。例えば、画像は多くの場合、次のフレームタイプのいずれかとして割り当てられ得る。
【0047】
イントラ画像(I画像)は、予測のソースとしてシーケンス内の他のフレームを使用せずに符号化および復号され得るものであり得る。一部のビデオコーデックでは、例えばIndependent Decoder Refresh Pictureなど、様々なタイプのイントラ画像を使用できる。当業者は、I画像のこれらの変形およびそれらのそれぞれの用途および特徴を知っている。
【0048】
予測画像(P画像)は、各ブロックのサンプル値を予測するために最大1つの動きベクトルおよび参照インデックスを使用するイントラ予測またはインター予測を使用して符号化および復号され得るものであり得る。
【0049】
双方向予測画像(B画像)は、各ブロックのサンプル値を予測するために最大2つの動きベクトルおよび参照インデックスを使用するイントラ予測またはインター予測を使用して符号化および復号され得るものであり得る。同様に、複数の予測画像は、単一ブロックの再構成のために3つ以上の参照画像および関連するメタデータを使用できる。
【0050】
ソース画像は、一般に、空間的に複数のサンプルブロック(例えば、それぞれ4×4、8×8、4×8、または16×16サンプルのブロック)に細分され、ブロックごとに符号化され得る。ブロックは、ブロックのそれぞれの画像に適用される符号化割り当てによって決定されるように、他の(すでに符号化された)ブロックを参照して予測的に符号化し得る。例えば、I画像のブロックは、非予測的に符号化され得るか、または同じ画像のすでに符号化されたブロックを参照して予測的に符号化され得る(空間予測またはイントラ予測)。P画像の画素ブロックは、空間予測を介して、または以前に符号化された1つの参照画像を参照する時間予測を介して、非予測的に符号化され得る。B画像のブロックは、空間予測を介して、または以前に符号化された1つまたは2つの参照画像を参照する時間予測を介して、非予測的に符号化され得る。
【0051】
ビデオコーダ(203)は、ITU-T Rec.H.265などの所定のビデオ符号化技術または標準に従って符号化動作を実行し得る。その動作において、ビデオコーダ(203)は、入力ビデオシーケンスにおける時間的および空間的冗長性を利用する予測符号化動作を含む、様々な圧縮動作を実行し得る。したがって、符号化されたビデオデータは、使用されているビデオ符号化技術または標準によって指定されたシンタックスに準拠していることがある。
【0052】
一実施形態では、送信機(440)は、符号化されたビデオと共に追加のデータを送信し得る。ビデオコーダ(430)は、符号化されたビデオシーケンスの一部としてそのようなデータを含み得る。追加データは、時間的/空間的/SNRエンハンスメント層、冗長な画像およびスライスなどの他の形式の冗長データ、補足強化情報(SEI)メッセージ、視覚的有用性情報(VUI)パラメータセットフラグメントなどを含み得る。
【0053】
図5は、一実施形態によるエンコーダ500の一例を示し、
図6は、一実施形態によるデコーダ600の一例を示す。
図5を参照すると、エンコーダ500は、ダウンサンプラ501、画像パーティショナ502、逆量子化器503、エントロピコーダ504、インループフィルタ505、イントラ予測器506、復号画像バッファ(DPB)507、リサンプラ508、およびインター予測器509を含み得る。
図6を参照すると、デコーダ600は、符号化画像バッファ601、ビデオシンタックスパーサ602、逆量子化器603、インループフィルタ604、復号画像バッファ605、リサンプラ606、インター予測器607、およびイントラ予測器608を含み得る。
【0054】
実施形態では、
図5および/または
図6に示す1つまたは複数の要素は、
図3および/または
図4に示す1つまたは複数の要素に対応するか、または同様の機能を実行し得る。
【0055】
実施形態、例えば
図5および
図6に示す実施形態では、画像タイプに関係なく、画像粒度ごとに画像の幅および高さを変更することが可能である。エンコーダ500において、入力画像データは、現在の画像符号化のために、例えばダウンサンプラ501を使用して、選択された画像サイズにダウンサンプリングされ得る。第1の入力画像がイントラ画像として符号化された後、復号された画像はDPB 507に格納される。結果の画像が異なるサンプリング比でダウンサンプリングされ、画像間として符号化されるとき、DPB内の参照画像は、例えばリサンプラ508を使用して、参照の画像サイズと現在の画像サイズとの間の空間比に従ってアップスケーリングまたはダウンスケーリングされ得る。
【0056】
デコーダ600では、復号された画像は、リサンプリングせずにDPB 605に格納され得る。しかしながら、DPB 605内の参照画像は、動き補償のために使用される場合、例えばリサンプラ606を使用して、現在復号された画像と参照との間の空間比に関連してアップスケールまたはダウンスケールされ得る。復号された画像は、表示のために押し出されるとき、例えばアップサンプラ609を使用して、元の画像サイズまたは所望の出力画像サイズにアップサンプリングされ得る。動き推定/補償プロセスでは、動きベクトルは、画像サイズ比ならびに画像順序カウント差に関連してスケーリングされ得る。
【0057】
実施形態では、例えば本明細書で開示される実施形態で使用される参照画像リサンプリング(RPR)方式は、符号化されたビデオシーケンス内の適応(復号)画像解像度変更のサポート、動き補償プロセスを単純化するための一定の参照画像解像度のサポート、誘導表示解像度のための一定の出力画像解像度のサポート、ならびに追加のフィルタリングの有無にかかわらず、適応リサンプリングモードのサポートを含み得る。
【0058】
実施形態では、RPRおよび適応型解像度変更(ARC)のための所望の特徴をサポートするために、高レベルのシンタックス変更のセットが使用され得る。
【0059】
例えば、実施形態では、キャップ交換/交渉を容易にするために、デコーダパラメータセット(DPS)において最小/最大画像解像度がシグナリングされ得る。
【0060】
実施形態では、符号化されたビデオシーケンスにおいてRPRが無効であることを示すフラグは、シーケンスパラメータセット(SPS)においてシグナリングされ得る。復号された画像解像度は、SPS内のテーブルでシグナリングされ得る。このテーブルは、符号化されたビデオシーケンス内の1または複数の画像によって使用され得る復号された画像サイズのリストを含み得る。
【0061】
実施形態では、任意の参照画像が同じ空間解像度を有し、一定の参照画像サイズを有することを示すフラグがSPSにおいてシグナリングされ得る。フラグ値が1である場合、符号化されたビデオシーケンス内の任意の復号された画像は、リサンプリングプロセスによってアップスケールされることがあり、その結果、DPBに格納された任意の参照画像は、SPSにおいてシグナリングされる、参照画像サイズと同じ画像サイズを有し得る。
【0062】
実施形態では、任意の出力画像が同じ空間解像度を有し、一定の出力画像サイズを有することを示すフラグがSPSにおいてシグナリングされ得る。フラグ値が1である場合、符号化されたビデオシーケンス内の任意の出力画像は、リサンプリングプロセスによってアップスケールされることがあり、その結果、任意の出力画像は、SPSにおいてシグナリングされる、出力画像サイズと同じ画像サイズを有し得る。
【0063】
実施形態では、SPSにおいてシグナリングされた候補の中から復号された画像サイズを示すインデックスは、画像パラメータセット(PPS)においてシグナリングされ得る。このインデックスは、キャップの交換/交渉を容易にするために使用され得る。
【0064】
実施形態では、時間動きベクトル予測の動きベクトルスケーリングが無効になっていることを示すフラグがPPSにおいてシグナリングされ得る。フラグ値が1である場合、動きベクトルスケーリングなしで任意の時間動きベクトル予測が処理され得る。
【0065】
実施形態では、フィルタモード選択は、PPSにおいてシグナリングされ得る。
【0066】
上述の実施形態を通知するためのDPSシンタックスの一例を以下の表1に示す。
【0067】
【0068】
実施形態では、max_pic_width_in_luma_samplesは、ビットストリーム内のルマサンプルの単位で復号された画像の最大幅を指定し得る。max_pic_width_in_luma_samplesは、0に等しくないことがあり、MinCbSizeYの整数倍であり得る。max_pic_width_in_luma_samples[i]の値は、max_pic_width_in_luma_samplesの値より大きくないことがある。
【0069】
実施形態では、max_pic_height_in_luma_samplesは、ルマサンプルの単位で復号された画像の最大高さを指定し得る。max_pic_height_in_luma_samplesは、0に等しくないことがあり、MinCbSizeYの整数倍であり得る。max_pic_height_in_luma_samples[i]の値は、max_pic_height_in_luma_samplesの値より大きくないことがある。
【0070】
上述の実施形態を通知するためのSPSシンタックスの一例を以下の表2に示す。
【0071】
【0072】
実施形態では、1に等しいreference_pic_resampling_flagは、SPSに関連付けられた符号化された画像の復号された画像サイズが符号化ビデオシーケンス内で変化してもしなくてもよいことを指定し得る。0に等しいreference_pic_resampling_flagは、SPSと関連付けられた符号化された画像の復号された画像サイズが符号化されたビデオシーケンス内で変化しないことがあることを指定する。reference_pic_resampling_flagの値が1に等しいとき、符号化されたビデオシーケンス内の符号化された画像によって指示され使用され得る1つまたは複数の復号された画像サイズ(dec_pic_width_in_luma_samples[i]、dec_pic_height_in_luma_samples[i])が存在することがあり、一定の参照画像サイズ(reference_pic_width_in_luma_samples、reference_pic_height_in_luma_samples)および一定の出力画像サイズoutput_pic_width_in_luma_samples,output_pic_height_in_luma_samples)が存在し、それぞれconstant_ref_pic_size_present_flagおよびconstant_output_pic_size_present_flagの値によって調整される。
【0073】
実施形態では、1に等しいconstant_ref_pic_size_flagは、reference_pic_width_in_luma_samplesおよびreference_pic_height_in_luma_samplesが存在することを指定し得る。
【0074】
実施形態では、reference_pic_width_in_luma_samplesは、ルマサンプルの単位で参照画像の幅を指定し得る。reference_pic_width_in_luma_samplesは0と等しくないことがある。存在しない場合、reference_pic_width_in_luma_samplesの値は、dec_pic_width_in_luma_samples[i]に等しいと推測し得る。
【0075】
実施形態では、reference_pic_height_in_luma_samplesは、ルマサンプルの単位で参照画像の高さを指定し得る。reference_pic_height_in_luma_samplesは0と等しくないことがある。存在しない場合、reference_pic_height_in_luma_samplesの値は、dec_pic_height_in_luma_samples[i]に等しいと推測し得る。DPBに格納される参照画像のサイズは、constant_pic_size_present_flagの値が1である場合、reference_pic_width_in_luma_samplesおよびreference_pic_height_in_luma_samplesの値に等しいことがある。この場合、追加のリサンプリングプロセスは動き補償のために実行されないことがある。
【0076】
実施形態では、1に等しいconstant_output_pic_size_flagは、output_pic_width_in_luma_samplesおよびoutput_pic_height_in_luma_samplesが存在することを指定し得る。
【0077】
実施形態では、output_pic_width_in_luma_samplesは、ルマサンプルの単位で出力画像の幅を指定し得る。output_pic_width_in_luma_samplesは0と等しくないものとする。存在しない場合、output_pic_width_in_luma_samplesの値は、dec_pic_width_in_luma_samples[i]に等しいと推測し得る。
【0078】
実施形態では、output_pic_height_in_luma_samplesは、ルマサンプルの単位で出力画像の高さを指定し得る。height_pic_height_in_luma_samplesは0と等しくないことがある。存在しない場合、output_pic_height_in_luma_samplesの値は、dec_pic_height_in_luma_samples[i]に等しいと推測し得る。constant_output_picの値の場合、出力画像のサイズは、output_pic_width_in_luma_samplesおよびoutput_pic_height_in_luma_samplesの値に等しいことがある。
【0079】
実施形態では、num_dec_pic_size_in_luma_samples_minus 1に1を加えたものは、符号化されたビデオシーケンス内のルマサンプルの単位で復号された画像サイズ(dec_pic_width_in_luma_samples[i]、dec_pic_height_in_luma_samples[i])の数を指定し得る。
【0080】
実施形態では、dec_pic_width_in_luma_samples[i]は、符号化されたビデオシーケンス内のルマサンプルの単位で復号された画像サイズのi番目の幅を指定し得る。dec_pic_width_in_luma_samples[i]は、0に等しくないことがあり、MinCbSizeYの整数倍であり得る。
【0081】
実施形態では、dec_pic_height_in_luma_samples[i]は、符号化されたビデオシーケンス内のルマサンプルの単位で復号された画像サイズのi番目の高さを指定し得る。dec_pic_height_in_luma_samples[i]は、0に等しくないことがあり、MinCbSizeYの整数倍であり得る。第iの復号された画像サイズ(dec_pic_width_in_luma_samples[i]、dec_pic_height_in_luma_samples[i])は、符号化されたビデオシーケンス内の復号された画像の復号された画像サイズに等しいことがある。
【0082】
上述の実施形態を通知するためのPPSシンタックスの一例を以下の表3に示す。
【0083】
【0084】
実施形態では、dec_pic_size_idxは、復号された画像の幅がpic_width_in_luma_samples[dec_pic_size_idx]に等しくなるべきであり、復号された画像の高さがpic_height_in_luma_samples[dec_pic_size_idx]に等しくなるべきであることを指定し得る。
【0085】
実施形態では、disabling_motion_vector_scaling_flagが1であることは、時間動きベクトル予測のためにPOC値または空間解像度に依存するスケーリングプロセスなしで参照動きベクトルが使用されることを指定し得る。disabling_motion_vector_scaling_flagが0であることは、参照動きベクトルが、時間動きベクトル予測のためにPOC値または空間解像度に依存するスケーリングプロセスの有無にかかわらず使用されることを指定し得る。
【0086】
実施形態では、rpr_resampling_modeが0に等しいことは、現在の画像の解像度が参照画像の解像度と異なる場合、参照画像内の補間された画素が動き補償のために追加的にフィルタリングされないことを示し得る。rpr_resampling_modeが1に等しいことは、現在の画像の解像度が参照画像の解像度と異なる場合、参照画像内の補間された画素が動き補償のために追加的にフィルタリングされることを示し得る。rpr_resampling_modeが2であることは、現在の画像の解像度が参照画像の解像度と異なる場合に、参照画像内の画素が動き補償のためにフィルタリングおよび補間されることを示し得る。他の値が保留され得る。
【0087】
ARCは、「ベースライン/メイン」プロファイルに含まれ得る。特定の適用シナリオに必要でない場合、サブプロファイリングを使用してそれらを除去し得る。特定の制限が許容され得る。その点に関して、特定のH.263+プロファイルおよび「勧告モード」(以前のプロファイル)は、付属書Pが「4の暗黙的係数」、すなわち両方の次元における2進ダウンサンプリングとしてのみ使用されるという制限を含んでいた。これは、ビデオ会議における高速開始(Iフレームを迅速に取得する)をサポートするのに十分であった。
【0088】
実施形態では、すべてのフィルタリングを「オンザフライ」で行うことができ、メモリ帯域幅の増加はないか、または無視できる程度であり得る。その結果、ARCを異種のプロファイルに入れる必要がないことがある。
【0089】
JVET-M0135と関連してMarrakechで議論されたように、複雑なテーブルなどは、機能交換に意味を持たないことがある。オファー-アンサーおよび同様の限られた深さのハンドシェイクを想定して、オプションの数は、意味のあるベンダ間の相互運用を可能にするには単純に大きすぎることがある。機能交換シナリオにおいて意味のある方法でARCをサポートするために、少数のinteropポイントが使用され得る。例えば、ARCなし、暗黙的係数4のARC、完全なARC。代替として、すべてのARCに必要なサポートを仕様化し、ビットストリームの複雑さの制限をより高いレベルのSDOのままにすることができる。
【0090】
レベルに関しては、いくつかの実施形態におけるビットストリーム適合性の条件として、アップサンプリングされた画像のサンプルカウントは、ビットストリームにおいてどの程度アップサンプリングがシグナリングされてもビットストリームのレベルに適合しなければならず、すべてのサンプルがアップサンプリングされた符号化された画像に適合しなければならない。H263+ではそうではなく、特定のサンプルが存在しない可能性があったことに留意されたい。
【0091】
図7は、上記の実施形態による、符号化されたビデオビットストリームを復号するための例示的なプロセス700のフローチャートである。いくつかの実装形態では、
図7の1つまたは複数のプロセスブロックは、デコーダ210またはデコーダ600によって実行され得る。いくつかの実装形態では、
図7の1つまたは複数のプロセスブロックは、エンコーダ203またはエンコーダ500などのデコーダ210またはデコーダ600とは別の、またはそれを含む別のデバイスまたはデバイスのグループによって実行され得る。
【0092】
図7に示されるように、プロセス700は、符号化されたビデオビットストリームから符号化された画像を取得することを含み得る(ブロック701)。
【0093】
図7にさらに示されるように、プロセス700は、復号された画像を生成するために、符号化された画像を復号することを含み得る(ブロック702)。
【0094】
図7にさらに示されるように、プロセス700は、符号化されたビデオビットストリームから、参照画像リサンプリングが有効であるかどうかを示す第1のフラグを取得することを含み得る(ブロック703)。実施形態では、第1のフラグは、上述のreference_pic_resampling_flagに対応し得る。
【0095】
図7にさらに示されるように、プロセス700は、第1のフラグから、参照画像リサンプリングが有効であるかどうかを決定することを含み得る(ブロック704)。参照画像リサンプリングが有効である場合(ブロック704において「はい」)、プロセス700はブロック705に進み得る。実施形態では、参照画像リサンプリングが有効でない場合、プロセス700は、異なるプロセスに従って符号化されたビデオビットストリームを復号し得る。
【0096】
図7にさらに示すように、プロセス700は、符号化されたビデオビットストリームから、参照画像が、符号化されたビデオビットストリームに示される一定の参照画像サイズを有するかどうかを示す第2のフラグと、出力画像が、符号化されたビデオビットストリームに示される一定の出力画像サイズを有するかどうかを示す第3のフラグとを取得することを含み得る(ブロック705)。実施形態では、第2のフラグは上述のconstant_ref_pic_size_flagに対応することがあり、第3のフラグは上述のconstant_output_pic_size_flagに対応することがある。
【0097】
図7にさらに示すように、プロセス700は、参照画像が一定の参照画像サイズを有することを第2のフラグが示すかどうか決定することを含み得る(ブロック706)。参照画像が一定の参照画像サイズを有する場合(ブロック706で「はい」)、プロセス700はブロック707に進み、次いでブロック708に進み得る。参照画像が一定の参照画像サイズを有していない場合(ブロック706で「いいえ」)、プロセス700はブロック708に直接進み得る。
【0098】
図7にさらに示されるように、プロセス700は、復号された画像を、一定の参照画像サイズを有するようにリサンプリングすることによって参照画像を生成することを含み得る(ブロック707)。
【0099】
図7にさらに示すように、プロセス700は、参照画像を復号画像バッファに格納すること(ブロック708)を含み得る。ブロック707が実行されない場合、復号された画像は、リサンプリングせずに、参照画像として格納され得る。
【0100】
図7にさらに示すように、プロセス700は、出力画像が一定の出力画像サイズを有することを第3のフラグが示すかどうかを決定することを含み得る(ブロック709)。出力画像が一定の出力画像サイズを有する場合(ブロック709において「はい」)、プロセス700はブロック710に進み、次いでブロック711に進み得る。出力画像が一定の出力画像サイズを有さない場合(ブロック709において「いいえ」)、プロセス700はブロック711に直接進み得る。
【0101】
図7にさらに示されるように、プロセス700は、復号された画像を、一定の出力画像サイズを有するようにリサンプリングすることによって出力画像を生成することを含み得る(ブロック710)。
【0102】
図7にさらに示すように、プロセス700は、出力画像を出力すること(ブロック711)を含み得る。ブロック710が実行されない場合、復号された画像は、リサンプリングされずに出力画像として出力され得る。
【0103】
実施形態では、第1のフラグ、第2のフラグ、および第3のフラグは、符号化されたビデオビットストリームに含まれるシーケンスパラメータセットにおいてシグナリングされ得る。
【0104】
実施形態において、プロセス700は、符号化されたビデオビットストリームから画像解像度情報を取得することをさらに含み、画像解像度情報が、最大画像解像度および最小画像解像度のうちの少なくとも1つを示す。
【0105】
実施形態では、画像解像度情報は、符号化されたビデオビットストリームに含まれるデコーダパラメータセットにおいてシグナリングされ得る。
【0106】
実施形態では、プロセス700は、符号化されたビデオビットストリームから画像サイズのリストを取得することをさらに含み得る。
【0107】
実施形態では、プロセス700は、画像サイズのリスト内の復号された画像の画像サイズを示すインデックスを取得することをさらに含み得る。
【0108】
実施形態において、画像サイズのリストは、符号化されたビデオビットストリームに含まれるシーケンスパラメータセットにおいてシグナリングされてもよく、インデックスは、符号化されたビデオビットストリームに含まれる画像パラメータセットにおいてシグナリングされ得る。
【0109】
実施形態では、プロセス700は、動きベクトルのスケーリングが有効にされているかどうかを示す第4のフラグを取得することをさらに含み得る。実施形態では、第4のフラグは、上述のdisabling_motion_vector_scaling_flagに対応し得る。
【0110】
実施形態では、第4のフラグは、符号化されたビデオビットストリームに含まれる画像パラメータセットにおいてシグナリングされ得る。
【0111】
図7は、プロセス700の例示的なブロックを示すが、いくつかの実装形態では、プロセス700は、
図7に示されるものの追加のブロック、より少ないブロック、異なるブロック、または異なる配置のブロックを含み得る。さらに、または代わりに、プロセス700の2つ以上のブロックを並行して実行し得る。
【0112】
さらに、提案された方法は、処理回路(例えば、1つまたは複数のプロセッサまたは1つまたは複数の集積回路)によって実装され得る。一例では、1つまたは複数のプロセッサは、非一時的コンピュータ可読媒体に格納されているプログラムを実行して、提案された方法の1つまたは複数を実行する。
【0113】
上記の技術は、コンピュータ可読命令を使用してコンピュータソフトウェアとして実装され、1つまたは複数のコンピュータ可読媒体に物理的に格納され得る。例えば、
図8は、開示された主題の特定の実施形態を実施するのに適したコンピュータシステム800を示している。
【0114】
コンピュータソフトウェアは、アセンブリ、コンパイル、リンク、または同様のメカニズムの対象となる可能性のある任意の適切な機械語またはコンピュータ言語を使用して符号化して、直接または、コンピュータ中央処理装置(CPU)、グラフィック処理装置(GPU)などによって変換、マイクロコード実行などを介して実行できる命令を含むコードを作成できる。
【0115】
命令は、例えば、パーソナルコンピュータ、タブレットコンピュータ、サーバ、スマートフォン、ゲームデバイス、モノのインターネットデバイスなどを含む、様々なタイプのコンピュータまたはそのコンポーネント上で実行することができる。
【0116】
コンピュータシステム800について
図8に示される構成要素は、本質的に例示的なものであり、本開示の実施形態を実施するコンピュータソフトウェアの使用範囲または機能に関する制限を示唆することを意図するものではない。また、コンポーネントの構成は、コンピュータシステム800の例示的な実施形態に示されるコンポーネントのいずれか1つまたは組み合わせに関連する依存性または要件を有すると解釈されるべきではない。
【0117】
コンピュータシステム800は、特定のヒューマンインタフェース入力デバイスを含み得る。そのようなヒューマンインタフェース入力デバイスは、例えば、触覚入力(キーストローク、スワイプ、データグローブの動きなど)、音声入力(音声、拍手など)、視覚入力(ジェスチャなど)、嗅覚入力(図示せず)を介して、1人または複数の人間のユーザによる入力に応答し得る。ヒューマンインタフェースデバイスを使用して、音声(発話、音楽、周囲音など)、画像(静止画カメラから取得された走査画像、写真画像など)、ビデオ(2次元ビデオ、立体ビデオを含む3次元ビデオなど)など、人間による意識的な入力に必ずしも直接関連しない特定の媒体をキャプチャすることもできる。
【0118】
入力ヒューマンインタフェースデバイスには、(それぞれ示された内の1つのみの)キーボード801、マウス802、トラックパッド803、タッチスクリーン810および関連するグラフィックスアダプタ850、データグローブ1204、ジョイスティック805、マイク806、スキャナ807、カメラ808のうちの1つまたは複数が含まれることがある。
【0119】
コンピュータシステム800はまた、特定のヒューマンインタフェース出力デバイスを含み得る。そのようなヒューマンインタフェース出力デバイスは、例えば、触覚出力、音、光、および嗅覚/味覚を通して、1人または複数の人間のユーザの感覚を刺激し得る。このようなヒューマンインタフェース出力デバイスは、触覚出力デバイス(例えば、タッチスクリーン810、データグローブ1204、またはジョイスティック805による触覚フィードバックが含まれることがあるが、入力デバイスとして機能しない触覚フィードバックデバイスもあり得る)、オーディオ出力デバイス(スピーカ809、ヘッドホン(図示せず)など)、視覚出力デバイス(それぞれがタッチスクリーン入力機能の有無にかかわらず、それぞれが触覚フィードバック機能の有無にかかわらず、カソード光線管(CRT)スクリーン、液晶ディスプレイ(LCD)スクリーン、プラズマスクリーン、有機発光ダイオード(OLED)スクリーンを含むスクリーン810など、それらの一部は、ステレオグラフィック出力、仮想現実ガラス(図示せず)、ホログラフィックディスプレイおよびスモークタンク(図示せず)などの手段を通じて2次元視覚出力または3次元以上の出力が可能であり得る)およびプリンタ(図示せず)を含み得る。
【0120】
コンピュータシステム800はまた、人間がアクセス可能な記憶装置およびそれらに関連する媒体を含むことができ、例えば、CD/DVDまたは同様の媒体821を有するCD/DVD ROM/RW 820を含む光学媒体、サムドライブ822、取り外し可能なハードドライブまたはソリッドステートドライブ823、テープやフロッピーディスクなどのレガシー磁気媒体(図示せず)、セキュリティドングルなどの特殊なROM/ASIC/PLDベースのデバイス(図示せず)などである。
【0121】
当業者はまた、現在開示されている主題に関連して使用される「コンピュータ可読媒体」という用語は、伝送媒体、搬送波、または他の一時的な信号を含まないことを理解すべきである。
【0122】
コンピュータシステム800はまた、1つまたは複数の通信ネットワーク(955)へのインタフェースを含むことができる。ネットワークは、例えば、無線、有線、光であることができる。ネットワークはさらに、ローカル、広域、メトロポリタン、車両および産業、リアルタイム、遅延耐性などにすることができる。ネットワークの例は、イーサネット、ワイヤレスLANなどのローカルエリアネットワーク、モバイル通信(GSM)、第3世代(3G)、第4世代(4G)、第5世代(5G)、ロングタームエボリューション(LTE)などのためのグローバルシステムを含むセルラネットワーク、ケーブルテレビ、衛星テレビ、および地上放送テレビを含むテレビ有線または無線広域デジタルネットワーク、CANBusを含む車両および産業などを含む。特定のネットワークは通常、特定の汎用データポートまたは周辺バス(949)に取り付けられる外部ネットワークインタフェースアダプタ(954)を必要とするコンピュータシステム800のユニバーサルシリアルバス(USB)ポート、その他は一般に、以下に説明するようにシステムバスに接続することによってコンピュータシステム(800)のコアに統合される(例えば、PCコンピュータシステムへのイーサネットインタフェースまたはスマートフォンコンピュータシステムへのセルラーネットワークインタフェースなど)。一例として、ネットワーク855は、ネットワークインタフェース854を使用して周辺バス849に接続され得る。これらのネットワークのいずれかを使用して、コンピュータシステム800は他のエンティティと通信できる。このような通信は、一方向、受信のみ(例えば、テレビ放送)、一方向の送信のみ(例えば、特定のCANbusデバイスへのCANbus)、または双方向、例えば、ローカルまたはワイドエリアデジタルネットワークを使用する他のコンピュータシステムへの通信である。上記のように、特定のプロトコルおよびプロトコルスタックをこれらのネットワークおよびネットワークインタフェース(954)のそれぞれで使用できる。
【0123】
前述のヒューマンインタフェースデバイス、ヒューマンアクセス可能な記憶装置、およびネットワークインタフェースは、コンピュータシステム800のコア840に接続することができる。
【0124】
コア840は、1つまたは複数の中央処理装置(CPU)841、グラフィックス処理装置(GPU)842、フィールドプログラマブルゲートエリア(FPGA)843の形式の特殊なプログラム可能な処理装置、特定のタスク用のハードウェアアクセラレータ844などを含むことができる。これらのデバイスは、読み取り専用メモリ(ROM)845、ランダムアクセスメモリ(RAM)846、ユーザがアクセスできない内蔵ハードドライブなどの内部大容量記憶装置、ソリッドステートドライブ(SSD)など847と共にシステムバス848を介して接続し得る。一部のコンピュータシステムでは、追加のCPU、GPUなどによる拡張を可能にするために、1つまたは複数の物理プラグの形式でシステムバス848にアクセスすることができる。周辺デバイスは、コアのシステムバス848に直接接続することも、周辺バス849を介して接続することもできる。周辺バスのアーキテクチャには、周辺コンポーネント相互接続(PCI)、USBなどが含まれる。
【0125】
CPU841、GPU842、FPGA843、およびアクセラレータ844は、組み合わせて前述のコンピュータコードを構成できる特定の命令を実行できる。そのコンピュータコードは、ROM845またはRAM846に格納できる。移行データはRAM846に格納することもできるが、恒久的データは例えば内部大容量記憶装置847に格納できる。任意のメモリデバイスの高速格納および検索は、1つまたは複数のCPU841、GPU842、大容量記憶装置847、ROM845、RAM846などに密接に関連付けられ得るキャッシュメモリの使用を通じて可能にできる。
【0126】
コンピュータ可読媒体は、様々なコンピュータ実施動作を実行するためのコンピュータコードを有することができる。媒体およびコンピュータコードは、本開示の目的のために特別に設計および構成されたものであり得るか、またはそれらは、コンピュータソフトウェア技術の当業者に周知で利用可能な種類のものであり得る。
【0127】
一例として、限定するものではないが、アーキテクチャ800、具体的にはコア840を有するコンピュータシステムは、1つまたは複数の有形のコンピュータ可読媒体に組み込まれたソフトウェアを実行するプロセッサ(CPU、GPU、FPGA、アクセラレータなどを含む)の結果として機能を提供することができる。このようなコンピュータ可読媒体は、上記で紹介したユーザアクセス可能な大容量記憶装置、ならびにコア内部大容量記憶装置847やROM 845などの非一時的な性質のコア840の特定の記憶装置に関連付けられた媒体であり得る。本開示の様々な実施形態を実施するソフトウェアは、そのようなデバイスに格納され、コア840によって実行され得る。コンピュータ可読媒体は、特定の必要性に応じて、1つまたは複数のメモリデバイスまたはチップを含むことができる。ソフトウェアは、コア840、特にその中のプロセッサ(CPU、GPU、FPGAなどを含む)に、RAM846に格納されたデータ構造を定義することと、ソフトウェアによって定義されたプロセスに従って、そのようなデータ構造を変更することとを含む、本明細書に記載の特定のプロセスまたは特定のプロセスの特定の部分を実行させることができる。加えて、または代替として、コンピュータシステムは、本明細書に記載の特定のプロセスまたは特定のプロセスの特定の部分を実行するために、ソフトウェアの代わりにまたはソフトウェアと一緒に動作することができる回路(例えば、アクセラレータ844)に論理配線された、あるいは具体化された結果として機能を提供することができる。ソフトウェアへの参照にはロジックを含めることができ、必要に応じてその逆も可能である。コンピュータ可読媒体への言及は、必要に応じて、実行のためのソフトウェアを格納する回路(集積回路(IC)など)、実行のための論理を具体化する回路、またはその両方を包含することができる。本開示は、ハードウェアとソフトウェアの任意の適切な組み合わせを包含する。
【0128】
本開示は、いくつかの例示的な実施形態を説明しているが、本開示の範囲内にある変更、並べ替え、および様々な代替の同等物が存在する。したがって、当業者は、本明細書に明示的に示されていないかまたは記載されていないが、開示の原理を具体化し、したがってその精神および範囲内にある多数のシステムおよび方法を考案することができることが理解されよう。
【符号の説明】
【0129】
100 通信システム
110 端末
120 端末
130 端末
140 端末
150 ネットワーク
201 ソース
202 サンプルストリーム
203 エンコーダ
204 ビデオビットストリーム
205 ストリーミングサーバ
206 ストリーミングクライアント
207 ビデオビットストリーム
208 ストリーミングクライアント
209 ビデオビットストリーム
210 デコーダ
211 発信ビデオサンプルストリーム
212 ディスプレイ
213 キャプチャサブシステム
310 受信機
312 チャネル
315 バッファメモリ
320 パーサ
321 シンボル
351 スケーラ/逆変換ユニット
352 イントラ画像予測ユニット
353 動作補償予測ユニット
355 集約装置
356 ループフィルタユニット
357 参照画像バッファ
358 現在の画像
430 ビデオコーダ/ソースコーダ
432 符号化エンジン
433 デコーダ
434 参照画像メモリ
435 予測器
440 送信機
443 符号化されたビデオシーケンス
445 エントロピコーダ
450 コントローラ
460 通信チャネル
500 エンコーダ
501 ダウンサンプラ
502 画像パーティショナ
503 逆量子化器
504 エントロピコーダ
505 インループフィルタ
506 イントラ予測器
507 復号画像バッファ
508 リサンプラ
509 インター予測器
600 デコーダ
601 符号化画像バッファ
602 ビデオシンタックスパーサ
603 逆量子化器
604 インループフィルタ
605 復号画像バッファ
606 リサンプラ
607 インター予測器
608 イントラ予測器
609 アップサンプラ
800 コンピュータシステム
801 キーボード
802 マウス
803 トラックパッド
805 ジョイスティック
806 マイク
807 スキャナ
808 カメラ
809 スピーカ
810 タッチスクリーン
821 媒体
822 サムドライブ
823 ソリッドステートドライブ
840 コア
841 中央処理装置(CPU)
842 グラフィックス処理装置(GPU)
843 フィールドプログラマブルゲートエリア(FPGA)
844 特定のタスク用のハードウェアアクセラレータ
845 読み取り専用メモリ(ROM)
846 ランダムアクセスメモリ(RAM)
847 内部大容量記憶装置
848 システムバス
849 周辺バス
850 グラフィックスアダプタ
854 ネットワークインタフェース
855 ネットワーク
949 周辺バス
954 ネットワークインタフェース
955 通信ネットワーク
1204 データグローブ