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

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

▶ ホアウェイ・テクノロジーズ・カンパニー・リミテッドの特許一覧

特許7388612マルチレイヤビデオビットストリームのためのDPBパラメータのシグナリング
<>
  • 特許-マルチレイヤビデオビットストリームのためのDPBパラメータのシグナリング 図1
  • 特許-マルチレイヤビデオビットストリームのためのDPBパラメータのシグナリング 図2
  • 特許-マルチレイヤビデオビットストリームのためのDPBパラメータのシグナリング 図3
  • 特許-マルチレイヤビデオビットストリームのためのDPBパラメータのシグナリング 図4
  • 特許-マルチレイヤビデオビットストリームのためのDPBパラメータのシグナリング 図5
  • 特許-マルチレイヤビデオビットストリームのためのDPBパラメータのシグナリング 図6
  • 特許-マルチレイヤビデオビットストリームのためのDPBパラメータのシグナリング 図7
  • 特許-マルチレイヤビデオビットストリームのためのDPBパラメータのシグナリング 図8
  • 特許-マルチレイヤビデオビットストリームのためのDPBパラメータのシグナリング 図9
  • 特許-マルチレイヤビデオビットストリームのためのDPBパラメータのシグナリング 図10
  • 特許-マルチレイヤビデオビットストリームのためのDPBパラメータのシグナリング 図11
  • 特許-マルチレイヤビデオビットストリームのためのDPBパラメータのシグナリング 図12
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-11-20
(45)【発行日】2023-11-29
(54)【発明の名称】マルチレイヤビデオビットストリームのためのDPBパラメータのシグナリング
(51)【国際特許分類】
   H04N 19/70 20140101AFI20231121BHJP
   H04N 19/30 20140101ALI20231121BHJP
【FI】
H04N19/70
H04N19/30
【請求項の数】 15
(21)【出願番号】P 2022518745
(86)(22)【出願日】2020-09-17
(65)【公表番号】
(43)【公表日】2022-11-22
(86)【国際出願番号】 US2020051278
(87)【国際公開番号】W WO2021061489
(87)【国際公開日】2021-04-01
【審査請求日】2022-04-28
(31)【優先権主張番号】62/905,139
(32)【優先日】2019-09-24
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】504161984
【氏名又は名称】ホアウェイ・テクノロジーズ・カンパニー・リミテッド
(74)【代理人】
【識別番号】110000877
【氏名又は名称】弁理士法人RYUKA国際特許事務所
(72)【発明者】
【氏名】ワン、イエ-クイ
【審査官】田部井 和彦
(56)【参考文献】
【文献】国際公開第2015/137432(WO,A1)
【文献】米国特許出願公開第2017/0019673(US,A1)
【文献】Benjamin Bross et al.,Versatile Video Coding (Draft 6) [online],JVET-O2001-vE (JVET-P0115-v1),インターネット <URL: https://jvet-experts.org/doc_end_user/documents/16_Geneva/wg11/JVET-P0115-v1.zip>,2019年09月25日,第91頁-第100頁
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/70
H04N 19/30
(57)【特許請求の範囲】
【請求項1】
ビデオデコーダによって実装される復号の方法であって、
前記ビデオデコーダによって、複数のレイヤと、ビデオパラメータセット(VPS)と、シーケンスパラメータセット(SPS)とを含むビデオビットストリームを受信する段階であって、前記VPSは複数の出力レイヤセット(OLS)を指定し、前記複数のOLSの各々前記複数のレイヤからの1または複数のレイヤを含み、前記SPSは、前記1または複数のレイヤの各々のための復号済みピクチャバッファ(DPB)パラメータのセットを含み、前記DPBパラメータのセットは、前記1または複数のレイヤのうちの各々について一回のみ含まれ、且つ、前記1または複数のレイヤのうちの特定のレイヤが前記複数のOLSのうちの2つ以上に含まれているかどうかに関わらず、前記特定のレイヤについて繰り返されず、前記DPBパラメータのセットは単一のDPBサイズを含む、段階と、
前記ビデオデコーダによって、前記複数のレイヤのうちの1つからのピクチャを復号して、復号済みピクチャを取得する段階と、
を備える、方法。
【請求項2】
前記SPSにおいてシグナリングされる前記DPBパラメータのセットの数は、前記レイヤの総数に等しい、請求項1に記載の方法。
【請求項3】
前記復号の前に、前記1または複数のレイヤのうちの1つから出力レイヤを選択する段階をさらに備える、請求項1または2に記載の方法。
【請求項4】
前記SPS、前記1または複数のレイヤのうち1または複数が前記複数のOLSのうちの2つ以上に含まれている場合前記1または複数のレイヤの各々について1回のみレベル情報を含む、請求項1から3のいずれか一項に記載の方法。
【請求項5】
前記レベル情報は、ビットストリームに関する制約のセットを示す、請求項4に記載の方法。
【請求項6】
前記複数のレイヤからの前記1または複数のレイヤのうちの1つが、1または複数のサブレイヤを含む、請求項1~のいずれか一項に記載の方法。
【請求項7】
ビデオエンコーダによって実装される符号化の方法であって、前記方法が、
前記ビデオエンコーダによって、複数のレイヤと、デオパラメータセット(VPS)と、ーケンスパラメータセット(SPS)と、を生成する段階であって、前記VPSは複数の出力レイヤセット(OLS)を指定し、前記複数のOLSの各々は前記複数のレイヤからの1または複数のレイヤを含み、前記SPSは前記1または複数のレイヤの各々のための復号済みピクチャバッファ(DPB)パラメータのセットを含み前記DPBパラメータのセットは、前記1または複数のレイヤのうちの各々について一回のみ含まれ、且つ、前記1または複数のレイヤのうちの特定のレイヤが前記複数のOLSのうちの2つ以上に含まれているかどうかに関わらず、前記特定のレイヤについて繰り返されず、前DPBパラメータのセットは単一のDPBサイズを含む、段階と、
前記ビデオエンコーダによって、前記複数のレイヤ、前記VPS、および前記SPSをビデオビットストリームに符号化する段階と、
前記ビデオエンコーダによって、ビデオデコーダへの通信のために前記ビデオビットストリームを記憶する段階と、
を備える、方法。
【請求項8】
前記1または複数のレイヤのうちの1つを出力レイヤとして指定し、前記1または複数のレイヤのうちの別のレイヤを非出力レイヤとして指定する段階をさらに含む、請求項に記載の方法。
【請求項9】
前記複数のレイヤからの前記1または複数のレイヤのうちの1つが、1または複数のサブレイヤを含む、請求項7または8に記載の方法。
【請求項10】
復号デバイスであって、
複数のレイヤと、デオパラメータセット(VPS)と、ーケンスパラメータセット(SPS)と、を含むビデオビットストリームを受信するように構成された受信機であって、前記VPSは複数の出力レイヤセット(OLS)を指定し、前記複数のOLSの各々は前記複数のレイヤからの1または複数のレイヤを含み、前記SPSは、前記1または複数のレイヤの各々のための復号済みピクチャバッファ(DPB)パラメータのセットを含み、前記DPBパラメータのセットは、前記1または複数のレイヤのうちの各々について一回のみ含まれ、且つ、前記1または複数のレイヤのうちの特定のレイヤが前記複数のOLSのうちの2つ以上に含まれているかどうかに関わらず、前記特定のレイヤについて繰り返されず、前DPBパラメータのセットは単一のDPBサイズを含む、受信機と、
前記受信機に結合されたメモリであって、前記メモリが、命令を記憶する、メモリと、
前記メモリに結合されたプロセッサであって、前記プロセッサが、前記命令を実行して、前記復号デバイスに前記複数のレイヤのうちの1つからピクチャを復号させて復号済みピクチャを取得させるように構成されたプロセッサと、
を備える、復号デバイス。
【請求項11】
前記プロセッサが、
前記復号の前に、前記1または複数のレイヤのうちの1つから出力レイヤを選択することと、
前記出力レイヤが選択された後に、前記出力レイヤから前記ピクチャを選択することと、
を行うようにさらに構成されている、請求項10に記載の復号デバイス。
【請求項12】
前記複数のレイヤからの前記1または複数のレイヤのうちの1つが、1または複数のサブレイヤを含む、請求項10または11に記載の復号デバイス。
【請求項13】
符号化デバイスであって、
命令を含むメモリと、
前記メモリに結合されたプロセッサであって、前記プロセッサが、前記命令を実装して、前記符号化デバイスに、
複数のレイヤと、デオパラメータセット(VPS)と、ーケンスパラメータセット(SPS)と、を生成することであって、前記VPSは複数の出力レイヤセット(OLS)を指定し、前記複数のOLSの各々は前記複数のレイヤからの1または複数のレイヤを含み、前記SPSは前記1または複数のレイヤの各々のための復号済みピクチャバッファ(DPB)パラメータのセットを含み、前記DPBパラメータのセットは、前記1または複数のレイヤの各々について1回のみ含まれ、且つ、前記1または複数のレイヤのうちの特定のレイヤが、前記複数のOLSのうちの2つ以上に含まれているかどうかに関わらず、前記特定のレイヤについて繰り返されず、前DPBパラメータのセットは単一のDPBサイズを含む、ことと、
前記複数のレイヤ、前記VPS、および前記SPSをビデオビットストリームに符号化することと、
を行わせるように構成されたプロセッサと、
前記プロセッサに結合された送信機であって、前記送信機が、前記ビデオビットストリームをビデオデコーダに向けて送信するように構成されている、送信機と、
を備える、符号化デバイス。
【請求項14】
前記プロセッサが、前記符号化デバイスに、前記1または複数のレイヤのうちの1つを出力レイヤとして指定させ、前記1または複数のレイヤのうちの別のレイヤを非出力レイヤとして指定させるようにさらに構成されている、請求項13に記載の符号化デバイス。
【請求項15】
コーディング装置であって、
符号化すべきピクチャを受信するか、または復号すべきビットストリームを受信するように構成された受信機と、
前記受信機に結合された送信機であって、前記送信機が、前記ビットストリームをデコーダに送信するか、または復号済み画像をディスプレイに送信するように構成されている、送信機と、
前記受信機または前記送信機のうちの少なくとも1つに結合されたメモリであって、前記メモリが、命令を記憶するように構成されている、メモリと、
前記メモリに結合されたプロセッサであって、前記プロセッサが、前記メモリに記憶された前記命令を実行して、請求項1~のいずれか一項に記載の方法を実行するように構成されている、プロセッサと、
を備える、コーディング装置。
【発明の詳細な説明】
【技術分野】
【0001】
概して、本開示は、ビデオコーディングにおけるマルチレイヤビデオビットストリームのための技術について説明する。より具体的には、本開示は、ビデオコーディングにおいてマルチレイヤビットストリーム中で復号済みピクチャバッファ(DPB)パラメータをシグナリングするための技術について説明する。
【背景技術】
【0002】
比較的短いビデオであっても、その描写に必要なビデオデータ量は膨大なものとなり、帯域の限られた通信ネットワークでデータのストリーミングなどの通信を行う場合には、困難が伴う場合がある。そのため、現代の通信ネットワークでは、ビデオデータを圧縮して通信するのが一般的である。また、ビデオがストレージデバイスに記憶されるとき、メモリリソースに制限があるため、ビデオのサイズが問題になる可能性がある。ビデオ圧縮デバイスは、多くの場合、送信または記憶の前に、ソースにおいてソフトウェアおよび/またはハードウェアを使用してビデオデータをコード化し、それによってデジタルビデオ画像を表現するために必要とされるデータの量を減少させる。圧縮後、圧縮されたデータは、配信先でビデオ復元デバイスによって受信され、ビデオデータが復号される。ネットワークリソースが限られ、ビデオの高画質化がますます求められる中、画質をほとんどまたは全く犠牲にすることなく圧縮比を向上させる圧縮復元技術の向上が望まれている。
【発明の概要】
【0003】
第1の態様は、ビデオデコーダによって実装される復号の方法に関し、ビデオデコーダによって、複数のレイヤと、各々が複数のレイヤからの1または複数のレイヤを含む複数の出力レイヤセット(OLS)を特定するビデオパラメータセット(VPS)と、1または複数のレイヤのうち1または複数が複数のOLSのうちの2つ以上に含まれているときに1回のみ、1または複数のレイヤの各々についての復号済みピクチャバッファ(DPB)パラメータのセットを含むシーケンスパラメータセット(SPS)と、を含むビデオビットストリームを受信する段階と、ビデオデコーダによって、複数のレイヤのうちの1つからのピクチャを復号して、復号済みピクチャを取得する段階と、を含む。
【0004】
本方法は、マルチレイヤビデオビットストリーム中に含まれる出力レイヤセット(OLS)の数にかかわらず、復号済みピクチャバッファ(DPB)パラメータ(例えば、DPBサイズなど)および/またはレベル情報がレイヤまたはサブレイヤごとに1回のみシグナリングされることを保証する技術を提供する。すなわち、DPBパラメータおよびレベル情報は、レイヤまたはサブレイヤがOLSのうちの1つに含まれるたびにシグナリングされるのではなく、レイヤまたはサブレイヤごとに1回シグナリングされる。したがって、同じDPBパラメータおよびレベル情報は、同じレイヤまたはサブレイヤのために繰り返しシグナリングされず、冗長性を低減し、マルチレイヤビデオビットストリームのためのコーディング効率を増加させる。したがって、ビデオコーディングにおけるコーダ/デコーダ(「コーデック」としても知られる)は、現在のコーデックに対して改善される。実際問題として、改善されたビデオコーディングプロセスは、ビデオが送信され、受信され、かつ/または視聴されるときに、より良いユーザ体験をユーザに提供する。
【0005】
所望により、前述の態様のいずれかにおいて、態様の別の実装形態は、復号の前に、1または複数のレイヤのうちの1つから出力レイヤを選択することを提供する。
【0006】
所望により、前述の態様のいずれかにおいて、態様の別の実装形態は、出力レイヤが選択された後に、出力レイヤからピクチャを選択することを提供する。
【0007】
所望により、前述の態様のいずれかにおいて、態様の別の実装形態は、DPBパラメータのセットが第1のDPBサイズと第2のDPBサイズとを含むことを提供する。
【0008】
所望により、前述の態様のいずれかにおいて、態様の別の実装形態は、第1のDPBサイズが、1または複数のレイヤからの出力レイヤに対応し、第2のDPBサイズが、1または複数のレイヤからの非出力レイヤに対応することを提供する。
【0009】
所望により、前述の態様のいずれかにおいて、態様の別の実装形態は、SPSが、1または複数のレイヤのうち1または複数が複数のOLSのうちの2つ以上に含まれているときに1回のみ、1または複数のレイヤの各々についてのレベル情報を含むことを提供する。
【0010】
所望により、前述の態様のいずれかにおいて、態様の別の実装形態は、DPBパラメータのセットに含まれる第1のDPBサイズから第2のDPBサイズを推論することを提供する。
【0011】
所望により、前述の態様のいずれかにおいて、態様の別の実装形態は、複数のレイヤからの1または複数のレイヤのうちの1つが、1または複数のサブレイヤを含むことを提供する。
【0012】
所望により、前述の態様のいずれかにおいて、態様の別の実装形態は、電子デバイスのディスプレイ上に復号済みピクチャを表示することを提供する。
【0013】
第2の態様は、ビデオエンコーダによって実装される符号化の方法に関し、方法は、ビデオエンコーダによって、複数のレイヤと、各々が複数のレイヤからの1または複数のレイヤを含む複数の出力レイヤセット(OLS)を特定するビデオパラメータセット(VPS)と、1または複数のレイヤのうち1または複数が複数のOLSのうちの2つ以上に含まれているときに1回のみ、1または複数のレイヤの各々についての復号済みピクチャバッファ(DPB)パラメータのセットを含むシーケンスパラメータセット(SPS)と、を生成する段階と、ビデオエンコーダによって、複数のレイヤ、VPS、およびSPSをビデオビットストリームに符号化する段階と、ビデオエンコーダによって、ビデオデコーダへの通信のためにビデオビットストリームを記憶する段階と、を含む。
【0014】
本方法は、マルチレイヤビデオビットストリーム中に含まれる出力レイヤセット(OLS)の数にかかわらず、復号済みピクチャバッファ(DPB)パラメータ(例えば、DPBサイズなど)および/またはレベル情報がレイヤまたはサブレイヤごとに1回のみシグナリングされることを保証する技術を提供する。すなわち、DPBパラメータおよびレベル情報は、レイヤまたはサブレイヤがOLSのうちの1つに含まれるたびにシグナリングされるのではなく、レイヤまたはサブレイヤごとに1回シグナリングされる。したがって、同じDPBパラメータおよびレベル情報は、同じレイヤまたはサブレイヤのために繰り返しシグナリングされず、冗長性を低減し、マルチレイヤビデオビットストリームのためのコーディング効率を増加させる。したがって、ビデオコーディングにおけるコーダ/デコーダ(「コーデック」としても知られる)は、現在のコーデックに対して改善される。実際問題として、改善されたビデオコーディングプロセスは、ビデオが送信され、受信され、かつ/または視聴されるときに、より良いユーザ体験をユーザに提供する。
【0015】
所望により、前述の態様のいずれかにおいて、態様の別の実装形態は、1または複数のレイヤのうちの1つを出力レイヤとして指定し、1または複数のレイヤのうちの別のレイヤを非出力レイヤとして指定することを提供する。
【0016】
所望により、前述の態様のいずれかにおいて、態様の別の実装形態は、SPSが、1または複数のレイヤのうち1または複数が複数のOLSのうちの2つ以上に含まれているときに1回のみ、1または複数のレイヤの各々についてのレベル情報を含むことを提供する。
【0017】
所望により、前述の態様のいずれかにおいて、態様の別の実装形態は、DPBパラメータのセットが、単一のDPBサイズを含むことを提供する。
【0018】
所望により、前述の態様のいずれかにおいて、態様の別の実装形態は、複数のレイヤからの1または複数のレイヤのうちの1つが、1または複数のサブレイヤを含むことを提供する。
【0019】
第3の態様は、復号デバイスに関し、複数のレイヤと、各々が複数のレイヤからの1または複数のレイヤを含む複数の出力レイヤセット(OLS)を特定するビデオパラメータセット(VPS)と、1または複数のレイヤのうち1または複数が複数のOLSのうちの2つ以上に含まれているときに1回のみ、1または複数のレイヤの各々についての復号済みピクチャバッファ(DPB)パラメータのセットを含むシーケンスパラメータセット(SPS)と、を有するビデオビットストリームを受信するように構成された受信機と、受信機に結合されたメモリであって、メモリが、命令を記憶する、メモリと、メモリに結合されたプロセッサであって、プロセッサが、命令を実行して、復号デバイスに複数のレイヤのうちの1つからピクチャを復号させて復号済みピクチャを取得させるように構成されたプロセッサと、を含む。
【0020】
復号デバイスは、マルチレイヤビデオビットストリーム中に含まれる出力レイヤセット(OLS)の数にかかわらず、復号済みピクチャバッファ(DPB)パラメータ(例えば、DPBサイズなど)および/またはレベル情報がレイヤまたはサブレイヤごとに1回のみシグナリングされることを保証する技術を提供する。すなわち、DPBパラメータおよびレベル情報は、レイヤまたはサブレイヤがOLSのうちの1つに含まれるたびにシグナリングされるのではなく、レイヤまたはサブレイヤごとに1回シグナリングされる。したがって、同じDPBパラメータおよびレベル情報は、同じレイヤまたはサブレイヤのために繰り返しシグナリングされず、冗長性を低減し、マルチレイヤビデオビットストリームのためのコーディング効率を増加させる。したがって、ビデオコーディングにおけるコーダ/デコーダ(「コーデック」としても知られる)は、現在のコーデックに対して改善される。実際問題として、改善されたビデオコーディングプロセスは、ビデオが送信され、受信され、かつ/または視聴されるときに、より良いユーザ体験をユーザに提供する。
【0021】
所望により、前述の態様のいずれかにおいて、態様の別の実装形態は、プロセッサが、復号の前に、1または複数のレイヤのうちの1つから出力レイヤを選択することと、出力レイヤが選択された後に、出力レイヤからピクチャを選択することと、を行うようにさらに構成されることを提供する。
【0022】
所望により、前述の態様のいずれかにおいて、態様の別の実装形態は、DPBパラメータのセットが第1のDPBサイズと第2のDPBサイズとを含むことを提供する。
【0023】
所望により、前述の態様のいずれかにおいて、態様の別の実装形態は、第1のDPBサイズが、1または複数のレイヤからの出力レイヤに対応し、第2のDPBサイズが、1または複数のレイヤからの非出力レイヤに対応することを提供する。
【0024】
所望により、前述の態様のいずれかにおいて、態様の別の実装形態は、DPBパラメータのセットが、1または複数のレイヤからの出力レイヤおよび1または複数のレイヤからの非出力レイヤが両方とも単一のDPBサイズを有するとき、単一のDPBサイズを含むことを提供する。
【0025】
所望により、前述の態様のいずれかにおいて、態様の別の実装形態は、プロセッサが、DPBパラメータのセットに含まれる第1のDPBサイズから第2のDPBサイズを推論するようにさらに構成されることを提供する。
【0026】
所望により、前述の態様のいずれかにおいて、態様の別の実装形態は、複数のレイヤからの1または複数のレイヤのうちの1つが、1または複数のサブレイヤを含むことを提供する。
【0027】
所望により、前述の態様のいずれかにおいて、態様の別の実装形態は、復号済みピクチャを表示するように構成されたディスプレイを提供する。
【0028】
第4の態様は、符号化デバイスに関し、命令を含むメモリと、メモリに結合されたプロセッサであって、プロセッサが、命令を実装して、符号化デバイスに、複数のレイヤと、各々が複数のレイヤからの1または複数のレイヤを含む複数の出力レイヤセット(OLS)を特定するビデオパラメータセット(VPS)と、1または複数のレイヤのうち1または複数が複数のOLSのうちの2つ以上に含まれているときに1回のみ、1または複数のレイヤの各々についての復号済みピクチャバッファ(DPB)パラメータのセットを含むシーケンスパラメータセット(SPS)と、を生成することと、複数のレイヤ、VPS、およびSPSをビデオビットストリームに符号化することと、を行わせるように構成されたプロセッサと、プロセッサに結合された送信機であって、送信機が、ビデオビットストリームをビデオデコーダに向けて送信するように構成されている、送信機と、を含む。
【0029】
符号化デバイスは、マルチレイヤビデオビットストリーム中に含まれる出力レイヤセット(OLS)の数にかかわらず、復号済みピクチャバッファ(DPB)パラメータ(例えば、DPBサイズなど)および/またはレベル情報がレイヤまたはサブレイヤごとに1回のみシグナリングされることを保証する技術を提供する。すなわち、DPBパラメータおよびレベル情報は、レイヤまたはサブレイヤがOLSのうちの1つに含まれるたびにシグナリングされるのではなく、レイヤまたはサブレイヤごとに1回シグナリングされる。したがって、同じDPBパラメータおよびレベル情報は、同じレイヤまたはサブレイヤのために繰り返しシグナリングされず、冗長性を低減し、マルチレイヤビデオビットストリームのためのコーディング効率を増加させる。したがって、ビデオコーディングにおけるコーダ/デコーダ(「コーデック」としても知られる)は、現在のコーデックに対して改善される。実際問題として、改善されたビデオコーディングプロセスは、ビデオが送信され、受信され、かつ/または視聴されるときに、より良いユーザ体験をユーザに提供する。
【0030】
所望により、前述の態様のいずれかにおいて、態様の別の実装形態は、プロセッサが、符号化デバイスに、1または複数のレイヤのうちの1つを出力レイヤとして指定させ、1または複数のレイヤのうちの別のレイヤを非出力レイヤとして指定させるようにさらに構成されることを提供する。
【0031】
所望により、前述の態様のいずれかにおいて、態様の別の実装形態は、DPBパラメータのセットが第1のDPBサイズと第2のDPBサイズとを含むことを提供する。
【0032】
所望により、前述の態様のいずれかにおいて、態様の別の実装形態は、DPBパラメータのセットが、単一のDPBサイズを含むことを提供する。
【0033】
所望により、前述の態様のいずれかにおいて、態様の別の実装形態は、複数のレイヤからの1または複数のレイヤのうちの1つが、1または複数のサブレイヤを含むことを提供する。
【0034】
第5の態様は、コーディング装置に関する。コーディング装置は、符号化するピクチャを受信するか、または復号するビットストリームを受信するように構成された受信機と、受信機に結合された送信機であって、送信機が、ビットストリームをデコーダに送信するか、または復号済み画像をディスプレイに送信するように構成されている、送信機と、受信機または送信機のうちの少なくとも1つに結合されたメモリであって、メモリが、命令を記憶するように構成されている、メモリと、メモリに結合されたプロセッサであって、プロセッサが、メモリに記憶された命令を実行して、本明細書に開示された方法を実行するように構成されている、プロセッサと、を含む。
【0035】
コーディング装置は、マルチレイヤビデオビットストリーム中に含まれる出力レイヤセット(OLS)の数にかかわらず、復号済みピクチャバッファ(DPB)パラメータ(例えば、DPBサイズなど)および/またはレベル情報がレイヤまたはサブレイヤごとに1回のみシグナリングされることを保証する技術を提供する。すなわち、DPBパラメータおよびレベル情報は、レイヤまたはサブレイヤがOLSのうちの1つに含まれるたびにシグナリングされるのではなく、レイヤまたはサブレイヤごとに1回シグナリングされる。したがって、同じDPBパラメータおよびレベル情報は、同じレイヤまたはサブレイヤのために繰り返しシグナリングされず、冗長性を低減し、マルチレイヤビデオビットストリームのためのコーディング効率を増加させる。したがって、ビデオコーディングにおけるコーダ/デコーダ(「コーデック」としても知られる)は、現在のコーデックに対して改善される。実際問題として、改善されたビデオコーディングプロセスは、ビデオが送信され、受信され、かつ/または視聴されるときに、より良いユーザ体験をユーザに提供する。
【0036】
所望により、前述の態様のいずれかにおいて、態様の別の実装形態は、復号済みピクチャを表示するように構成されたディスプレイを提供する。
【0037】
第6の態様は、システムに関する。システムは、エンコーダと、エンコーダと通信するデコーダとを含み、エンコーダまたはデコーダは、本明細書に開示される復号デバイス、符号化デバイス、またはコーディング装置を含む。
【0038】
システムは、マルチレイヤビデオビットストリーム中に含まれる出力レイヤセット(OLS)の数にかかわらず、復号済みピクチャバッファ(DPB)パラメータ(例えば、DPBサイズなど)および/またはレベル情報がレイヤまたはサブレイヤごとに1回のみシグナリングされることを保証する技術を提供する。すなわち、DPBパラメータおよびレベル情報は、レイヤまたはサブレイヤがOLSのうちの1つに含まれるたびにシグナリングされるのではなく、レイヤまたはサブレイヤごとに1回シグナリングされる。したがって、同じDPBパラメータおよびレベル情報は、同じレイヤまたはサブレイヤのために繰り返しシグナリングされず、冗長性を低減し、マルチレイヤビデオビットストリームのためのコーディング効率を増加させる。したがって、ビデオコーディングにおけるコーダ/デコーダ(「コーデック」としても知られる)は、現在のコーデックに対して改善される。実際問題として、改善されたビデオコーディングプロセスは、ビデオが送信され、受信され、かつ/または視聴されるときに、より良いユーザ体験をユーザに提供する。
【0039】
第7の態様は、コーディングのための手段に関する。コーディングのための手段は、符号化するピクチャを受信するか、または復号するビットストリームを受信するように構成された受信手段と、受信手段に結合された送信手段であって、送信手段が、ビットストリームを復号手段に送信するか、または復号済み画像を表示手段に送信するように構成されている、送信手段と、受信手段または送信手段のうちの少なくとも1つに結合された記憶手段であって、記憶手段が、命令を記憶するように構成されている、記憶手段と、記憶手段に結合された処理手段であって、処理手段が、記憶手段に記憶された命令を実行して、本明細書に開示された方法を実行するように構成されている、処理手段と、を含む。
【0040】
コーディングのための手段は、マルチレイヤビデオビットストリーム中に含まれる出力レイヤセット(OLS)の数にかかわらず、復号済みピクチャバッファ(DPB)パラメータ(例えば、DPBサイズなど)および/またはレベル情報がレイヤまたはサブレイヤごとに1回のみシグナリングされることを保証する技術を提供する。すなわち、DPBパラメータおよびレベル情報は、レイヤまたはサブレイヤがOLSのうちの1つに含まれるたびにシグナリングされるのではなく、レイヤまたはサブレイヤごとに1回シグナリングされる。したがって、同じDPBパラメータおよびレベル情報は、同じレイヤまたはサブレイヤのために繰り返しシグナリングされず、冗長性を低減し、マルチレイヤビデオビットストリームのためのコーディング効率を増加させる。したがって、ビデオコーディングにおけるコーダ/デコーダ(「コーデック」としても知られる)は、現在のコーデックに対して改善される。実際問題として、改善されたビデオコーディングプロセスは、ビデオが送信され、受信され、かつ/または視聴されるときに、より良いユーザ体験をユーザに提供する。
【0041】
明確にするために、前述の実施形態のうちのいずれか1つは、本開示の範囲内の新しい実施形態を作成するために、他の前述の実施形態のうちのいずれか1または複数と組み合わせてもよい。
【0042】
これらおよび他の特徴は、添付の図面および特許請求の範囲と併せて以下の詳細な説明からより明確に理解されるであろう。
【図面の簡単な説明】
【0043】
本開示のより完全な理解のために、同様の参照番号が同様の部分を表す添付の図面および詳細な説明に関連して、以下の簡単な説明が参照される。
【0044】
図1】ビデオ信号をコード化する例示的な方法のフローチャートである。
【0045】
図2】ビデオコーディングのための例示的なコーディングおよび復号(コーデック)システムの概略図である。
【0046】
図3】例示的なビデオエンコーダを示す概略図である。
【0047】
図4】例示的なビデオデコーダを示す概略図である。
【0048】
図5】空間スケーラビリティのためのマルチレイヤコーディングの例を示す。
【0049】
図6】出力レイヤセット(OLS)を使用するマルチレイヤコーディングの例を示す。
【0050】
図7】時間スケーラビリティのために構成された例示的なマルチレイヤビデオシーケンスを示す。
【0051】
図8】ビデオビットストリームの一実施形態を示す。
【0052】
図9】コード化済みビデオビットストリームを復号する方法の一実施形態である。
【0053】
図10】コード化済みビデオビットストリームを符号化する方法の一実施形態である。
【0054】
図11】ビデオコーディングデバイスの概略図である。
【0055】
図12】コーディングのための手段の一実施形態の概略図である。
【発明を実施するための形態】
【0056】
1または複数の実施形態の例示的な実装形態が以下に提供されるが、開示されるシステムおよび/または方法は、現在知られているかまたは存在しているかにかかわらず、任意の数の技術を使用して実装され得ることを最初に理解されたい。本開示は、本明細書で図示および説明される例示的な設計および実装形態を含む、以下に示される例示的な実装形態、図面、および技術に決して限定されるべきではなく、添付の特許請求の範囲内で、それらの均等物の全範囲とともに修正され得る。
【0057】
以下の用語は、本明細書において反対の文脈で使用されない限り、以下のように定義される。具体的には、以下の定義は、本開示にさらなる明確性を提供することを意図する。しかしながら、用語は、異なる文脈において異なるように説明される場合がある。したがって、以下の定義は、補足として考慮されるべきであり、本明細書においてかかる用語について提供される説明の任意の他の定義を限定すると考慮されるべきではない。
【0058】
ビットストリームは、エンコーダとデコーダとの間の送信のために圧縮されたビデオデータを含むビットのシーケンスである。エンコーダは、ビデオデータをビットストリームに圧縮するために符号化プロセスを採用するように構成されたデバイスである。デコーダは、表示のためにビットストリームからビデオデータを再構築するために復号プロセスを採用するように構成されたデバイスである。ピクチャは、フレームまたはそのフィールドを作成する輝度サンプルのアレイおよび/または彩度サンプルのアレイである。符号化または復号されているピクチャは、説明を明確にするために、カレントピクチャと称されることがある。参照ピクチャは、インター予測および/またはインターレイヤ予測に従って参照によって他のピクチャをコード化するときに使用され得る参照サンプルを含むピクチャである。参照ピクチャリストは、インター予測および/またはインターレイヤ予測のために使用される参照ピクチャのリストである。一部のビデオコーディングシステムは、参照ピクチャリスト1および参照ピクチャリスト0として示され得る、2つの参照ピクチャリストを利用する。参照ピクチャリスト構造は、複数の参照ピクチャリストを含むアドレス指定可能なシンタックス構造である。インター予測は、参照ピクチャとカレントピクチャとが同じレイヤ中にある場合に、カレントピクチャとは異なる参照ピクチャ中の示されたサンプルを参照することによってカレントピクチャのサンプルをコード化するメカニズムである。参照ピクチャリスト構造エントリは、参照ピクチャリストに関連付けられた参照ピクチャを示す参照ピクチャリスト構造内のアドレス指定可能な位置である。スライスヘッダは、スライス中で表されるタイル内の全てのビデオデータに関係するデータ要素を含むコード化済みスライスの一部である。ピクチャパラメータセット(PPS)は、ピクチャ全体に関連するデータを含むパラメータセットである。より具体的には、PPSは、各ピクチャヘッダ内に見出されるシンタックス要素によって決定されるような0以上のコード化済みピクチャ全体に適用されるシンタックス要素を含むシンタックス構造である。シーケンスパラメータセット(SPS)は、ピクチャのシーケンスに関係するデータを含むパラメータセットである。アクセスユニット(AU)は、(例えば、ユーザに表示するための)復号済みピクチャバッファ(DPB)からの出力のための同じ表示時間(例えば、同じピクチャ順序カウント)に関連付けられた1または複数のコード化済みピクチャのセットである。アクセスユニットデリミタ(AUD)は、AUの開始またはAU間の境界を示すために使用されるインジケータまたはデータ構造である。復号済みビデオシーケンスは、ユーザへの表示に備えてデコーダによって再構築されたピクチャのシーケンスである。
【0059】
ネットワーク抽象化レイヤ(NAL)ユニットは、データのタイプの指示である生バイトシーケンスペイロード(RBSP)の形態のデータを含み、所望に応じてエミュレーション防止バイトが散在するシンタックス構造である。ビデオコーディングレイヤ(VCL)NALユニットは、ピクチャのコード化済みスライスなど、ビデオデータを含むようにコード化されたNALユニットである。非VCL NALユニットは、ビデオデータの復号、適合性検査の実行、または他の動作をサポートするシンタックスおよび/またはパラメータなどの非ビデオデータを含むNALユニットである。レイヤは、特定された特性(例えば、共通の解像度、フレームレート、画像サイズなど)を共有するVCL NALユニットと、関連する非VCL NALユニットとのセットである。レイヤのVCL NALユニットは、NALユニットヘッダレイヤ識別子(nuh_layer_id)の特定の値を共有し得る。コード化済みピクチャは、アクセスユニット(AU)内のNALユニットヘッダレイヤ識別子(nuh_layer_id)の特定の値を有するVCL NALユニットを含み、ピクチャの全てのコーディングツリーユニット(CTU)を含むピクチャのコード化済み表現である。復号済みピクチャは、コード化済みピクチャに復号プロセスを施して生成されたピクチャである。
【0060】
出力レイヤセット(OLS)は、1または複数のレイヤが出力レイヤとして特定されるレイヤのセットである。出力レイヤは、(例えば、ディスプレイへの)出力のために指定されるレイヤである。第0(0番目)のOLSは、最下位レイヤ(最下位レイヤ識別子を有するレイヤ)のみを含むOLSであり、出力レイヤのみを含むOLSである。ビデオパラメータセット(VPS)は、ビデオ全体に関連するパラメータを含むデータユニットである。インターレイヤ予測は、参照レイヤ中の参照ピクチャを参照することによって現在のレイヤ中のカレントピクチャをコード化するメカニズムであり、カレントピクチャと参照ピクチャとは同じAU中に含まれ、参照レイヤは現在のレイヤよりも低いnuh_layer_idを含む。
【0061】
復号済みピクチャバッファ(DPB)は、仮想リファレンスデコーダに対して特定される参照、出力並べ替え、または出力遅延のために復号済みピクチャを保持するバッファである。DPBパラメータは、DPBサイズと、所望により、最大ピクチャ並べ替え数および最大レイテンシ情報とを与えるシンタックス構造である。サブレイヤは、時間スケーラブルビットストリームの時間スケーラブルレイヤであり、TemporalId変数の特定の値を有するVCL NALユニットと、関連する非VCL NALユニットとからなる。フラグは、変数または単一ビットのシンタックス要素であり、0および1という2つの可能な値のうちの1つをとることができる。
【0062】
階層およびレベルは、最大ビットレート、最大輝度サンプルレート、最大輝度ピクチャサイズ、最小圧縮比、許容されるスライスの最大数、および許容されるタイルの最大数に関してビットストリームを定義する制約である。より低い階層はより高い階層よりも制約され、より低いレベルはより高いレベルよりも制約される。
【0063】
本明細書では、コーディングツリーブロック(CTB)、コーディングツリーユニット(CTU)、コーディングユニット(CU)、コード化済みビデオシーケンス(CVS)、ジョイントビデオエキスパートチーム(JVET)、動き制約タイルセット(MCTS)、最大転送ユニット(MTU)、ネットワーク抽象化レイヤ(NAL)、ピクチャ順序カウント(POC)、ピクチャパラメータセット(PPS)、ローバイトシーケンスペイロード(RBSP)、シーケンスパラメータセット(SPS)、汎用ビデオコーディング(VVC)、およびワーキングドラフト(WD)の略語が使用される。
【0064】
図1は、ビデオ信号をコード化する例示的な動作方法100のフローチャートである。具体的には、ビデオ信号はエンコーダで符号化される。符号化プロセスは、ビデオファイルサイズを低減するために種々のメカニズムを採用することによってビデオ信号を圧縮する。ファイルサイズを小さくすることで、関連する帯域幅オーバーヘッドを低減しながら、圧縮されたビデオファイルをユーザに向けて送信することができる。デコーダは次いで、圧縮されたビデオファイルを復号して、エンドユーザに表示するための元のビデオ信号を再構築する。復号プロセスは概して、符号化プロセスをミラーリングして、デコーダがビデオ信号を一貫して再構築することを可能にする。
【0065】
ステップ101において、ビデオ信号がエンコーダに入力される。例えば、ビデオ信号は、メモリに記憶された非圧縮ビデオファイルであってもよい。別の例として、ビデオファイルは、ビデオカメラなどのビデオキャプチャデバイスによってキャプチャされ、ビデオのライブストリーミングをサポートするために符号化されてもよい。ビデオファイルは、オーディオ成分とビデオ成分の両方を含み得る。ビデオ成分には一連の画像フレームが含まれており、これは、連続して見ると、動きの視覚的な印象を与える。フレームには、本明細書では輝度成分(または輝度サンプル)と称される光と、彩度成分(または色サンプル)と称される色との観点で表されるピクセルが含まれる。一部の例では、フレームはまた、3次元ビューをサポートするための深度値を含み得る。
【0066】
ステップ103において、ビデオはブロックに分割される。分割には、各フレーム内のピクセルを圧縮のために正方形および/または長方形のブロックに細分化することが含まれる。例えば、高効率ビデオコーディング(HEVC)(H.265およびMPEG-H Part2としても知られている)では、フレームは最初に、あらかじめ定義されたサイズ(例えば、64ピクセル×64ピクセル)のブロックであるコーディングツリーユニット(CTU)に分割することができる。CTUは、輝度サンプルと彩度サンプルとの両方を含む。コーディングツリーを採用して、CTUをブロックに分割し、次いで、さらなる符号化をサポートする構成が達成されるまで、ブロックを再帰的に細分化することができる。例えば、フレームの輝度成分は、個々のブロックが比較的均質な明度値を含むまで細分化されてもよい。さらに、フレームの彩度成分は、個々のブロックが比較的均質な色値を含むまで細分化されてもよい。このように、分割メカニズムは、ビデオフレームのコンテンツに応じて変化する。
【0067】
ステップ105では、ステップ103で分割された画像ブロックを圧縮するために種々の圧縮メカニズムが採用される。例えば、インター予測および/またはイントラ予測が採用されてもよい。インター予測は、共通シーン中のオブジェクトが連続フレーム中に現れる傾向があるという事実を利用するように設計される。これにより、参照フレーム内のオブジェクトを示すブロックを隣接するフレーム間で重複して記述する必要がなくなる。具体的には、テーブルなどのオブジェクトは、複数のフレームにわたって一定の位置に留まることができる。したがって、テーブルを一度記述すれば、隣接するフレームは参照フレームに戻って参照することができる。パターンマッチングメカニズムを採用して、複数のフレームにわたってオブジェクトをマッチングすることができる。さらに、移動するオブジェクトは、例えばオブジェクトの移動またはカメラの移動に起因して、複数のフレームにわたって表現することができる。特定の例として、ビデオは、複数のフレームにわたってスクリーンを横切って移動する自動車を示すことができる。動きベクトルを採用して、かかる移動を記述することができる。動きベクトルは、フレーム内のオブジェクトの座標から基準フレーム内のオブジェクトの座標へのオフセットを提供する2次元ベクトルである。このように、インター予測は、現在のフレーム中の画像ブロックを、参照フレーム中の対応するブロックからのオフセットを示す動きベクトルのセットとして符号化することができる。
【0068】
イントラ予測は、共通フレーム内のブロックを符号化する。イントラ予測は、輝度成分および彩度成分がフレーム内でクラスタ化する傾向があるという事実を利用する。例えば、ツリーの一部分における緑のパッチは、同様の緑のパッチに隣接して配置される傾向がある。イントラ予測は、複数の方向予測モード(例えば、HEVCでは33方向)と、平面モードと、直接カレント(DC)モードとを採用している。方向モードは、現在のブロックが該当方向の隣接ブロックのサンプルと同様/同一であることを示す。平面モードは、行/列(例えば、平面)に沿った一連のブロックが、行の縁部における隣接ブロックに基づいて補間され得ることを示す。平面モードは、実際に、値を変化させる際に比較的一定の傾きを採用することによって、行/列にわたる光/色の滑らかな遷移を示す。DCモードは、境界平滑化のために採用され、あるブロックが、方向予測モードの角度方向に関連付けられた全ての隣接ブロックのサンプルに関連付けられた平均値と同様/同一であることを示す。このように、イントラ予測ブロックは、実際の値の代わりに種々の関係予測モード値として画像ブロックを表すことができる。さらに、インター予測ブロックは、実際の値の代わりに動きベクトル値として画像ブロックを表すことができる。いずれの場合も、予測ブロックは、場合によっては、画像ブロックを正確に表さないことがある。差分は、残差ブロックに記憶される。ファイルをさらに圧縮するために、残差ブロックに変換を適用することもできる。
【0069】
ステップ107において、種々のフィルタリング技術を適用することができる。HEVCでは、フィルタは、ループ内フィルタリング方式に従って適用される。上述したブロックベースの予測では、デコーダにおいてブロックノイズのある画像の作成が生じ得る。さらに、ブロックベースの予測方式は、ブロックを符号化し、次いで、符号化されたブロックを参照ブロックとして後で使用するために再構築することができる。ループ内フィルタリング方式は、ノイズ抑制フィルタ、デブロッキングフィルタ、適応ループフィルタ、およびサンプル適応オフセット(SAO)フィルタをブロック/フレームに反復的に適用する。これらのフィルタは、符号化されたファイルが正確に再構築され得るように、かかるブロッキングアーチファクトを軽減する。さらに、これらのフィルタは、再構築された参照ブロックにおけるアーチファクトを軽減し、それにより、アーチファクトは、再構築された参照ブロックに基づいて符号化される後続のブロックにおいて追加のアーチファクトを生成する可能性が低くなる。
【0070】
ビデオ信号が分割され、圧縮され、フィルタリングされると、ステップ109において、得られたデータがビットストリームに符号化される。ビットストリームには、上述のデータの他、デコーダにおいて適切なビデオ信号の再構築をサポートするために所望される任意のシグナリングデータが含まれる。例えば、かかるデータには、パーティションデータと、予測データと、残差ブロックと、デコーダにコーディング命令を与える種々のフラグとが含まれてもよい。ビットストリームは、要求に応じてデコーダに向けて送信するためにメモリに記憶することができる。ビットストリームはまた、複数のデコーダに向けてブロードキャストおよび/またはマルチキャストされ得る。ビットストリームの作成は反復プロセスである。したがって、ステップ101、103、105、107、および109は、多くのフレームおよびブロックにわたって連続的におよび/または同時に行われ得る。図1に示される順序は、説明を明確にし、容易にするために提示されており、ビデオコーディングプロセスを特定の順序に限定することを意図するものではない。
【0071】
デコーダは、ビットストリームを受信し、ステップ111において復号プロセスを開始する。具体的には、デコーダは、エントロピー復号方式を採用して、ビットストリームを対応するシンタックスおよびビデオデータに変換する。デコーダは、ステップ111において、ビットストリームからのシンタックスデータを採用して、フレームのパーティションを決定する。この分割は、ステップ103におけるブロック分割の結果と一致するはずである。次に、ステップ111で採用されるエントロピー符号化/復号について説明する。エンコーダは、圧縮プロセス中に多くの選択を行い、例えば、入力画像における値の空間的配置に基づいて複数の可能な選択からブロック分割方式を選択する。正確な選択をシグナリングするには、多数のビンを採用する場合がある。本明細書で使用される場合、ビンは、変数として扱われるバイナリ値(例えば、コンテキストに応じて変化し得るビット値)である。エントロピーコーディングにより、エンコーダが、特定のケースに対して明らかに実行可能でない任意のオプションを破棄し、許容可能なオプションのセットを残すことが可能になる。次いで、各許容可能なオプションにはコードワードが割り当てられる。コードワードの長さは、許容可能なオプションの数に基づく(例えば、2つのオプションに対して1つのビン、3~4つのオプションに対して2つのビンなど)。次いで、エンコーダは、選択されたオプションに対するコードワードを符号化する。この方式は、コードワードのサイズを低減する。なぜなら、全ての可能なオプションの潜在的に大きなセットからの選択を一意的に示すのとは対照的に、許容可能なオプションの小さなサブセットからの選択を一意的に示すためにコードワードが所望の大きさだからである。次いで、デコーダは、エンコーダと同様の方法で許容可能なオプションのセットを決定することによって選択を復号する。許容可能なオプションのセットを決定することによって、デコーダは、コードワードを読み出し、エンコーダによって行われた選択を決定することができる。
【0072】
ステップ113において、デコーダはブロック復号を実行する。具体的には、デコーダは、残差ブロックを生成するために逆変換を採用する。次いで、デコーダは、残差ブロックおよび対応する予測ブロックを採用して、分割に従って画像ブロックを再構築する。予測ブロックは、ステップ105においてエンコーダで生成されたイントラ予測ブロックとインター予測ブロックとの両方を含み得る。次いで、再構築された画像ブロックは、ステップ111で決定された分割データに従って、再構築されたビデオ信号のフレーム内に配置される。ステップ113のシンタックスはまた、上述したように、エントロピーコーディングを介してビットストリーム中でシグナリングされ得る。
【0073】
ステップ115において、エンコーダにおけるステップ107と同様の方法で、再構築されたビデオ信号のフレームに対してフィルタリングが実行される。例えば、ノイズ抑制フィルタ、デブロッキングフィルタ、適応ループフィルタ、およびSAOフィルタをフレームに適用して、ブロッキングアーチファクトが除去されてもよい。フレームがフィルタリングされると、ビデオ信号は、エンドユーザによる視聴のために、ステップ117においてディスプレイに出力され得る。
【0074】
図2は、ビデオコーディングのための例示的なコーディングおよび復号(コーデック)システム200の概略図である。具体的には、コーデックシステム200は、動作方法100の実装形態をサポートする機能を提供する。コーデックシステム200は、エンコーダおよびデコーダの両方で採用されるコンポーネントを示すように一般化されている。コーデックシステム200は、動作方法100のステップ101および103に関して説明したように、ビデオ信号を受信して分割し、その結果、分割ビデオ信号201が得られる。コーデックシステム200は次いで、方法100のステップ105、107、および109に関して説明したように、エンコーダとして動作する場合に、分割ビデオ信号201をコード化済みビットストリームに圧縮する。デコーダとして動作する場合、コーデックシステム200は、動作方法100のステップ111、113、115、および117に関して説明したように、ビットストリームから出力ビデオ信号を生成する。コーデックシステム200には、汎用コーダ制御コンポーネント211と、変換スケーリングおよび量子化コンポーネント213と、イントラピクチャ推定コンポーネント215と、イントラピクチャ予測コンポーネント217と、動き補償コンポーネント219と、動き推定コンポーネント221と、スケーリングおよび逆変換コンポーネント229と、フィルタ制御分析コンポーネント227と、ループ内フィルタコンポーネント225と、復号済みピクチャバッファコンポーネント223と、ヘッダフォーマッティングおよびコンテキスト適応型バイナリ算術コーディング(CABAC)コンポーネント231と、が含まれる。かかるコンポーネントは、図示のように結合される。図2において、黒線は符号化/復号されるデータの移動を示し、破線は他のコンポーネントの動作を制御する制御データの移動を示している。コーデックシステム200のコンポーネントは全て、エンコーダ内に存在し得る。デコーダは、コーデックシステム200のコンポーネントのサブセットを含み得る。例えば、デコーダは、イントラピクチャ予測コンポーネント217と、動き補償コンポーネント219と、スケーリングおよび逆変換コンポーネント229と、ループ内フィルタコンポーネント225と、復号済みピクチャバッファコンポーネント223とを含んでもよい。以下、これらについて説明する。
【0075】
分割ビデオ信号201は、コーディングツリーによってピクセルのブロックに分割されたキャプチャされたビデオシーケンスである。コーディングツリーは、種々の分割モードを採用して、ピクセルのブロックをより小さいピクセルのブロックに細分化する。次いで、これらのブロックは、より小さいブロックにさらに細分化することができる。ブロックは、コーディングツリー上のノードと称され得る。より大きな親ノードは、より小さな子ノードに分割される。ノードが細分化される回数は、ノード/コーディングツリーの深度と称される。分割されたブロックは、場合によっては、コーディングユニット(CU)に含まれ得る。例えば、CUは、CUのための対応するシンタックス命令とともに、輝度ブロック、赤色差彩度(Cr)ブロック、および青色差彩度(Cb)ブロックを含むCTUの下位部分であってもよい。分割モードは、二分木(BT)、三分木(TT)、および四分木(QT)を含み得、これらは、採用される分割モードに応じて種々の形状の2つ、3つ、または4つの子ノードにノードをそれぞれ分割するために採用される。分割ビデオ信号201は、圧縮のために、汎用コーダ制御コンポーネント211、変換スケーリングおよび量子化コンポーネント213、イントラピクチャ推定コンポーネント215、フィルタ制御分析コンポーネント227、および動き推定コンポーネント221に転送される。
【0076】
汎用コーダ制御コンポーネント211は、アプリケーション制約に従ってビデオシーケンスの画像をビットストリームにコード化することに関連する決定を行うように構成される。例えば、汎用コーダ制御コンポーネント211は、再構築品質に対するビットレート/ビットストリームサイズの最適化を管理する。かかる決定は、記憶空間/帯域幅利用可能性および画像解像度の要求に基づいて行うことができる。汎用コーダ制御コンポーネント211はまた、バッファのアンダーランおよびオーバーランの問題を軽減するために、送信速度を考慮してバッファ利用量を管理する。これらの問題を管理するために、汎用コーダ制御コンポーネント211は、他のコンポーネントによる分割、予測、およびフィルタリングを管理する。例えば、汎用コーダ制御コンポーネント211は、解像度を増加させ、帯域幅使用量を増加させるために圧縮複雑度を動的に増加させるか、または解像度および帯域幅使用量を減少させるために圧縮複雑度を減少させてもよい。したがって、汎用コーダ制御コンポーネント211は、コーデックシステム200の他のコンポーネントを制御して、ビデオ信号の再構築品質とビットレートの関係とのバランスをとる。汎用コーダ制御コンポーネント211は、他のコンポーネントの動作を制御する制御データを作成する。制御データはまた、ヘッダフォーマッティングおよびCABACコンポーネント231に転送され、ビットストリーム中で符号化されて、デコーダにおける復号のためのパラメータをシグナリングする。
【0077】
分割ビデオ信号201はまた、インター予測のために動き推定コンポーネント221および動き補償コンポーネント219に送られる。分割ビデオ信号201のフレームまたはスライスは、複数のビデオブロックに分割され得る。動き推定コンポーネント221および動き補償コンポーネント219は、時間予測を行うために、1または複数の参照フレーム中の1または複数のブロックに対して受信されたビデオブロックのインター予測コーディングを実行する。コーデックシステム200は、複数のコーディングパスを実行して、例えば、ビデオデータの各ブロックについて適切なコーディングモードを選択してもよい。
【0078】
動き推定コンポーネント221および動き補償コンポーネント219は、高度に統合され得るが、概念的な目的のために別々に示されている。動き推定コンポーネント221によって実行される動き推定は、ビデオブロックの動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、例えば、予測ブロックに対するコード化済みオブジェクトの変位を示してもよい。予測ブロックは、ピクセル差分に関して、コード化されるブロックに厳密に一致することが判明したブロックである。予測ブロックは参照ブロックと称されることもある。かかるピクセル差分は、差分絶対値和(SAD)、差分二乗和(SSD)、または他の差分メトリックによって決定され得る。HEVCは、CTUと、コーディングツリーブロック(CTB)と、CUとを含む複数のコード化済みオブジェクトを採用する。例えば、CTUはCTBに分割されてもよく、次いで、CTBは、CU中に含めるためにCBに分割されてもよい。CUは、予測データを含む予測ユニット(PU)および/またはCUのための変換された残差データを含む変換ユニット(TU)として符号化され得る。動き推定コンポーネント221は、レート歪み最適化プロセスの一部としてレート歪み分析を使用することによって、動きベクトル、PU、およびTUを生成する。例えば、動き推定コンポーネント221は、現在のブロック/フレームに関する複数の参照ブロック、複数の動きベクトルなどを決定してもよく、最良のレート歪み特性を有する参照ブロック、動きベクトルなどを選択してもよい。最良のレート歪み特性により、ビデオ再構築の品質(例えば、圧縮によるデータ損失の量)とコーディング効率(例えば、最終的な符号化のサイズ)との両方のバランスがとられる。
【0079】
一部の例では、コーデックシステム200は、復号済みピクチャバッファコンポーネント223に記憶された参照ピクチャのサブ整数ピクセル位置についての値を計算し得る。例えば、ビデオコーデックシステム200は、参照ピクチャの1/4ピクセル位置、1/8ピクセル位置、または他の分数ピクセル位置の値を補間してもよい。したがって、動き推定コンポーネント221は、全ピクセル位置と分数ピクセル位置とに対して動き探索を実行し、分数ピクセル精度で動きベクトルを出力し得る。動き推定コンポーネント221は、PUの位置を参照ピクチャの予測ブロックの位置と比較することによって、インターコード化済みスライス中のビデオブロックのPUの動きベクトルを計算する。動き推定コンポーネント221は、計算された動きベクトルを動きデータとして、符号化のためにヘッダフォーマッティングおよびCABACコンポーネント231に出力し、動きを、動き補償コンポーネント219に出力する。
【0080】
動き補償コンポーネント219によって実行される動き補償は、動き推定コンポーネント221によって決定された動きベクトルに基づいて予測ブロックをフェッチまたは生成することを伴い得る。この場合も、動き推定コンポーネント221および動き補償コンポーネント219は、一部の例では機能的に統合され得る。現在のビデオブロックのPUについての動きベクトルを受信すると、動き補償コンポーネント219は、動きベクトルが指す予測ブロックの位置を特定し得る。次いで、コード化されている現在のビデオブロックのピクセル値から予測ブロックのピクセル値を減算し、ピクセル差分値を形成することによって、残差ビデオブロックが形成される。概して、動き推定コンポーネント221は、輝度成分に対して動き推定を実行し、動き補償コンポーネント219は、彩度成分と輝度成分の両方について、輝度成分に基づいて計算された動きベクトルを使用する。予測ブロックおよび残差ブロックは、変換スケーリングおよび量子化コンポーネント213に転送される。
【0081】
分割ビデオ信号201はまた、イントラピクチャ推定コンポーネント215およびイントラピクチャ予測コンポーネント217に送られる。動き推定コンポーネント221および動き補償コンポーネント219と同様に、イントラピクチャ推定コンポーネント215およびイントラピクチャ予測コンポーネント217は、高度に統合され得るが、概念的な目的のために別々に示されている。イントラピクチャ推定コンポーネント215およびイントラピクチャ予測コンポーネント217は、上述したように、フレーム間で動き推定コンポーネント221および動き補償コンポーネント219によって実行されるインター予測の代替として、現在のフレーム中のブロックに対して現在のブロックをイントラ予測する。特に、イントラピクチャ推定コンポーネント215は、現在のブロックを符号化するために使用されるイントラ予測モードを決定する。一部の例では、イントラピクチャ推定コンポーネント215は、複数の試験済みのイントラ予測モードから、現在のブロックを符号化するために適切なイントラ予測モードを選択する。選択されたイントラ予測モードは、次いで、符号化のためにヘッダフォーマッティングおよびCABACコンポーネント231に転送される。
【0082】
例えば、イントラピクチャ推定コンポーネント215は、種々の試験済みのイントラ予測モードについてレート歪み分析を使用してレート歪み値を計算し、試験されたモードの中で最良のレート歪み特性を有するイントラ予測モードを選択する。レート歪み分析は、概して、符号化ブロックと、符号化ブロックを生成するために符号化された元の符号化されていないブロックとの間の歪み(またはエラー)の量、ならびに符号化ブロックを生成するために使用されるビットレート(例えば、ビット数)を決定する。イントラピクチャ推定コンポーネント215は、種々の符号化ブロックについて歪みおよびレートから比率を計算し、どのイントラ予測モードがブロックについて最良のレート歪み値を示すかを判定する。加えて、イントラピクチャ推定コンポーネント215は、レート歪み最適化(RDO)に基づく深度モデリングモード(DMM)を使用して深度マップの深度ブロックをコード化するように構成されてもよい。
【0083】
イントラピクチャ予測コンポーネント217は、エンコーダ上で実装される場合、イントラピクチャ推定コンポーネント215によって決定された選択されたイントラ予測モードに基づいて予測ブロックから残差ブロックを生成することができ、またはデコーダ上で実装される場合、ビットストリームから残差ブロックを読み出すことができる。残差ブロックには、行列として表される、予測ブロックと元のブロックとの間の値の差が含まれる。残差ブロックは、次いで、変換スケーリングおよび量子化コンポーネント213に転送される。イントラピクチャ推定コンポーネント215およびイントラピクチャ予測コンポーネント217は、輝度成分と彩度成分との両方に対して動作し得る。
【0084】
変換スケーリングおよび量子化コンポーネント213は、残差ブロックをさらに圧縮するように構成される。変換スケーリングおよび量子化コンポーネント213は、離散コサイン変換(DCT)、離散サイン変換(DST)、または概念的に同様の変換などの変換を残差ブロックに適用して、残差変換係数値を含むビデオブロックを生成する。ウェーブレット変換、整数変換、サブバンド変換または他のタイプの変換を使用することもできる。この変換により、残差情報をピクセル値領域から周波数領域などの変換領域に変換することができる。変換スケーリングおよび量子化コンポーネント213はまた、例えば周波数に基づいて、変換された残差情報をスケーリングするように構成される。かかるスケーリングは、異なる周波数情報が異なる粒度で量子化されるように残差情報にスケールファクタを適用するものであり、再構築されたビデオの最終的な視覚的品質に影響を及ぼす可能性がある。変換スケーリングおよび量子化コンポーネント213はまた、変換係数を量子化してビットレートをさらに低減するように構成される。量子化プロセスにより、係数の一部または全部に関連するビット深度を低減させることができる。量子化の程度は、量子化パラメータを調整することによって修正され得る。一部の例では、変換スケーリングおよび量子化コンポーネント213は、次いで、量子化変換係数を含む行列のスキャンを実行し得る。量子化変換係数は、ヘッダフォーマッティングおよびCABACコンポーネント231に転送され、ビットストリーム中で符号化される。
【0085】
スケーリングおよび逆変換コンポーネント229は、変換スケーリングおよび量子化コンポーネント213の逆動作を適用して、動き推定をサポートする。スケーリングおよび逆変換コンポーネント229は、逆スケーリング、変換、および/または量子化を適用して、例えば、別の現在のブロックのための予測ブロックになり得る参照ブロックとして後で使用するために、ピクセル領域において残差ブロックを再構築する。動き推定コンポーネント221および/または動き補償コンポーネント219は、後のブロック/フレームの動き推定において使用するために、残差ブロックを対応する予測ブロックに戻して加算することによって、参照ブロックを計算することができる。再構築された参照ブロックにフィルタを適用して、スケーリング、量子化、および変換中に生成されるアーチファクトが軽減される。そうでなければ、かかるアーチファクトは、後続のブロックが予測される際に不正確な予測を引き起こす(かつ、追加のアーチファクトを生成する)可能性がある。
【0086】
フィルタ制御分析コンポーネント227およびループ内フィルタコンポーネント225は、残差ブロックおよび/または再構築された画像ブロックにフィルタを適用する。例えば、スケーリングおよび逆変換コンポーネント229からの変換された残差ブロックは、イントラピクチャ予測コンポーネント217および/または動き補償コンポーネント219からの対応する予測ブロックと組み合わせて、元の画像ブロックを再構築することができる。次いで、フィルタは、再構築された画像ブロックに適用され得る。一部の例では、フィルタは、代わりに残差ブロックに適用され得る。図2の他のコンポーネントと同様に、フィルタ制御分析コンポーネント227およびループ内フィルタコンポーネント225は、高度に統合され、一緒に実装され得るが、概念的な目的のために別々に示されている。再構築された参照ブロックに適用されるフィルタは、特定の空間領域に適用されており、かかるフィルタがどのように適用されるかを調整するための複数のパラメータを含む。フィルタ制御分析コンポーネント227は、再構築された参照ブロックを分析して、かかるフィルタが適用されるべき場所を決定し、対応するパラメータを設定する。かかるデータは、符号化のためのフィルタ制御データとしてヘッダフォーマッティングおよびCABACコンポーネント231に転送される。ループ内フィルタコンポーネント225は、フィルタ制御データに基づいてかかるフィルタを適用する。フィルタは、デブロッキングフィルタ、ノイズ抑制フィルタ、SAOフィルタ、および適応ループフィルタを含み得る。かかるフィルタは、例に応じて、空間/ピクセル領域において(例えば、再構築されたピクセルブロック上で)、または周波数領域において適用されてもよい。
【0087】
エンコーダとして動作する場合、フィルタリングされて再構築された画像ブロック、残差ブロック、および/または予測ブロックは、上述した動き推定において後で使用するために、復号済みピクチャバッファコンポーネント223に記憶される。デコーダとして動作する場合、復号済みピクチャバッファコンポーネント223は、再構築されフィルタリングされたブロックを記憶し、出力ビデオ信号の一部としてディスプレイに転送する。復号済みピクチャバッファコンポーネント223は、予測ブロック、残差ブロック、および/または再構築された画像ブロックを記憶することが可能な任意のメモリデバイスであり得る。
【0088】
ヘッダフォーマッティングおよびCABACコンポーネント231は、コーデックシステム200の種々のコンポーネントからデータを受信し、かかるデータを、デコーダに向けて送信するためにコード化済みビットストリームに符号化する。具体的には、ヘッダフォーマッティングおよびCABACコンポーネント231は、種々のヘッダを生成して、一般制御データおよびフィルタ制御データなどの制御データを符号化する。さらに、イントラ予測および動きデータを含む予測データ、ならびに量子化変換係数データの形態の残差データは全て、ビットストリームにおいて符号化される。最終的なビットストリームは、元の分割ビデオ信号201を再構築するためにデコーダによって所望される全ての情報を含む。かかる情報はまた、イントラ予測モードインデックステーブル(コードワードマッピングテーブルとも称される)、種々のブロックのための符号化コンテキストの定義、最確イントラ予測モードの指示、パーティション情報の指示などを含み得る。かかるデータは、エントロピーコーディングを採用することによって符号化され得る。例えば、情報は、コンテキスト適応型可変長コーディング(CAVLC)、CABAC、シンタックスベースコンテキスト適応型バイナリ算術コーディング(SBAC)、確率区間区分エントロピー(PIPE)コーディング、または別のエントロピーコーディング技術を採用することによって符号化されてもよい。エントロピーコーディングに続いて、コード化済みビットストリームは、別のデバイス(例えば、ビデオデコーダ)に送信されるか、または後の送信もしくは取り出しのためにアーカイブされ得る。
【0089】
図3は、例示的なビデオエンコーダ300を示すブロック図である。ビデオエンコーダ300を採用して、コーデックシステム200の符号化機能を実装し、かつ/または動作方法100のステップ101、103、105、107、および/もしくは109を実装することができる。エンコーダ300は、入力ビデオ信号を分割し、それにより、分割ビデオ信号201と実質的に同様の分割ビデオ信号301をもたらす。次いで、分割ビデオ信号301は、エンコーダ300のコンポーネントによって圧縮され、ビットストリームに符号化される。
【0090】
具体的には、分割ビデオ信号301は、イントラ予測のためにイントラピクチャ予測コンポーネント317に転送される。イントラピクチャ予測コンポーネント317は、イントラピクチャ推定コンポーネント215およびイントラピクチャ予測コンポーネント217と実質的に同様であり得る。分割ビデオ信号301はまた、復号済みピクチャバッファコンポーネント323内の参照ブロックに基づくインター予測のために動き補償コンポーネント321に転送される。動き補償コンポーネント321は、動き推定コンポーネント221および動き補償コンポーネント219と実質的に同様であり得る。イントラピクチャ予測コンポーネント317および動き補償コンポーネント321からの予測ブロックおよび残差ブロックは、残差ブロックの変換および量子化のために変換および量子化コンポーネント313に転送される。変換および量子化コンポーネント313は、変換スケーリングおよび量子化コンポーネント213と実質的に同様であり得る。変換および量子化された残差ブロックおよび対応する予測ブロックは、(関連する制御データとともに)ビットストリームにコード化するためにエントロピーコーディングコンポーネント331に転送される。エントロピーコーディングコンポーネント331は、ヘッダフォーマッティングおよびCABACコンポーネント231と実質的に同様であり得る。
【0091】
変換および量子化された残差ブロックおよび/または対応する予測ブロックはまた、動き補償コンポーネント321による使用のために参照ブロックに再構築するために、変換および量子化コンポーネント313から逆変換および量子化コンポーネント329に転送される。逆変換および量子化コンポーネント329は、スケーリングおよび逆変換コンポーネント229と実質的に同様であり得る。例に応じて、ループ内フィルタコンポーネント325中のループ内フィルタも、残差ブロックおよび/または再構築された参照ブロックに適用される。ループ内フィルタコンポーネント325は、フィルタ制御分析コンポーネント227およびループ内フィルタコンポーネント225と実質的に同様であり得る。ループ内フィルタコンポーネント325は、ループ内フィルタコンポーネント225に関して説明したような複数のフィルタを含み得る。次いで、フィルタリングされたブロックは、動き補償コンポーネント321によって参照ブロックとして使用するために、復号済みピクチャバッファコンポーネント323に記憶される。復号済みピクチャバッファコンポーネント323は、復号済みピクチャバッファコンポーネント223と実質的に同様であり得る。
【0092】
図4は、例示的なビデオデコーダ400を示すブロック図である。ビデオデコーダ400を採用して、コーデックシステム200の復号機能を実装し、かつ/または動作方法100のステップ111、113、115、および/もしくは117を実装することができる。デコーダ400は、例えばエンコーダ300からビットストリームを受信し、エンドユーザに表示するためにビットストリームに基づいて再構築された出力ビデオ信号を生成する。
【0093】
ビットストリームは、エントロピー復号コンポーネント433によって受信される。エントロピー復号コンポーネント433は、CAVLC、CABAC、SBAC、PIPEコーディング、または他のエントロピーコーディング技術などのエントロピー復号方式を実装するように構成される。例えば、エントロピー復号コンポーネント433は、ビットストリーム中のコードワードとして符号化された追加のデータを解釈するためのコンテキストを与えるためにヘッダ情報を採用してもよい。復号済み情報には、一般制御データ、フィルタ制御データ、パーティション情報、動きデータ、予測データ、および残差ブロックからの量子化変換係数など、ビデオ信号を復号するための任意の所望の情報が含まれる。量子化変換係数は、残差ブロックへの再構築のために逆変換および量子化コンポーネント429に転送される。逆変換および量子化コンポーネント429は、逆変換および量子化コンポーネント329と同様であり得る。
【0094】
再構築された残差ブロックおよび/または予測ブロックは、イントラ予測動作に基づいて画像ブロックに再構築するために、イントラピクチャ予測コンポーネント417に転送される。イントラピクチャ予測コンポーネント417は、イントラピクチャ推定コンポーネント215およびイントラピクチャ予測コンポーネント217と同様であり得る。具体的には、イントラピクチャ予測コンポーネント417は、予測モードを採用してフレーム内の参照ブロックの位置を特定し、その結果に残差ブロックを適用してイントラ予測された画像ブロックを再構築する。再構築されたイントラ予測画像ブロックおよび/または残差ブロックならびに対応するインター予測データは、ループ内フィルタコンポーネント425を介して復号済みピクチャバッファコンポーネント423に転送され、これらはそれぞれ、ループ内フィルタコンポーネント225および復号済みピクチャバッファコンポーネント223と実質的に同様であり得る。ループ内フィルタコンポーネント425は、再構築された画像ブロック、残差ブロック、および/または予測ブロックをフィルタリングし、かかる情報は、復号済みピクチャバッファコンポーネント423に記憶される。復号済みピクチャバッファコンポーネント423からの再構築された画像ブロックは、インター予測のために動き補償コンポーネント421に転送される。動き補償コンポーネント421は、動き推定コンポーネント221および/または動き補償コンポーネント219と実質的に同様であり得る。具体的には、動き補償コンポーネント421は、参照ブロックからの動きベクトルを採用して予測ブロックを生成し、その結果に残差ブロックを適用して画像ブロックを再構築する。結果として得られる再構築ブロックはまた、ループ内フィルタコンポーネント425を介して復号済みピクチャバッファコンポーネント423に転送され得る。復号済みピクチャバッファコンポーネント423は、追加の再構築された画像ブロックを記憶し続け、これは、パーティション情報を介してフレームに再構築され得る。かかるフレームはまた、シーケンス内に配置することができる。シーケンスは、再構築された出力ビデオ信号としてディスプレイに向けて出力される。
【0095】
上記を念頭に置くと、ビデオ圧縮技術は、空間(イントラピクチャ)予測および/または時間(インターピクチャ)予測を実行して、ビデオシーケンスに固有の冗長性を低減または除去する。ブロックベースのビデオコーディングの場合、ビデオスライス(すなわち、ビデオピクチャまたはビデオピクチャの一部分)は、ビデオブロックに分割され得、これは、ツリーブロック、コーディングツリーブロック(CTB)、コーディングツリーユニット(CTU)、コーディングユニット(CU)、および/またはコーディングノードと称されることもある。ピクチャのイントラコード化済み(I)スライス中のビデオブロックは、同じピクチャ中の隣接ブロック中の参照サンプルに対する空間予測を使用して符号化される。ピクチャのインターコード化済み(PまたはB)スライス中のビデオブロックは、同じピクチャ中の隣接ブロック中の参照サンプルに対する空間予測、または他の参照ピクチャ中の参照サンプルに対する時間予測を使用し得る。ピクチャはフレームと称されることがあり、参照ピクチャは参照フレームと称されることがある。POCは、各ピクチャに関連付けられた変数であり、コード化済みレイヤビデオシーケンス(CLVS)中の全てのピクチャの中で関連するピクチャを一意的に識別し、関連するピクチャがいつDPBから出力されるかを示し、DPBから出力される同じCLVS中の他のピクチャの出力順序位置に対する出力順序における関連するピクチャの位置を示す。フラグは、変数または単一ビットのシンタックス要素であり、0および1という2つの可能な値のうちの1つをとることができる。
【0096】
空間予測または時間予測は、コード化されるブロックの予測ブロックをもたらす。残差データは、コード化される元のブロックと予測ブロックとの間のピクセル差分を表す。インターコード化済みブロックは、予測ブロックを形成する参照サンプルのブロックを指す動きベクトルと、コード化済みブロックと予測ブロックとの間の差分を示す残差データとに従って符号化される。イントラコード化済みブロックは、イントラコーディングモードおよび残差データに従って符号化される。さらなる圧縮のために、残差データは、ピクセル領域から変換領域に変換され得、残差変換係数をもたらし、残差変換係数は次いで量子化され得る。最初に2次元アレイに配列された量子化変換係数は、変換係数の1次元ベクトルを生成するためにスキャンされ得、さらに多くの圧縮を達成するためにエントロピーコーディングが適用され得る。
【0097】
画像およびビデオ圧縮は急速な成長しており、種々のコーディング規格につながっている。かかるビデオコーディング規格には、ITU-T H.261、国際標準化機構/国際電気標準会議(ISO/IEC)MPEG-1 Part2、ITU-T H.262またはISO/IEC MPEG-2 Part2、ITU-T H.263、ISO/IEC MPEG-4 Part2、ITU-T H.264またはISO/IEC MPEG-4 Part10としても知られるアドバンストビデオコーディング(AVC)、およびITU-T H.265またはMPEG-H Part2としても知られる高効率ビデオコーディング(HEVC)が含まれる。AVCには、スケーラブルビデオコーディング(SVC)、マルチビュービデオコーディング(MVC)およびマルチビュービデオコーディングプラス深さ(MVC+D)、ならびに3D AVC(3D-AVC)などの拡張機能が含まれる。HEVCには、スケーラブルHEVC(SHVC)、マルチビューHEVC(MV-HEVC)、および3D HEVC(3D-HEVC)などの拡張機能が含まれる。
【0098】
ITU-TおよびISO/IECのジョイントビデオエキスパートチーム(JVET)によって開発されている、汎用ビデオコーディング(VVC)と名付けられた新しいビデオコーディング規格も存在する。VVC規格は複数のワーキングドラフトを有するが、特にVVCの1つのワーキングドラフト(WD)、すなわち、B.Bross、J.Chen、およびS.Liu、「Versatile Video Coding(Draft5)」、JVET-N1001-v3、13th JVET Meeting、2019年3月27日(VVC Draft5)が本明細書で参照される。
【0099】
ビデオコーディングにおけるスケーラビリティは、通常、マルチレイヤコーディング技術を使用することによってサポートされる。マルチレイヤビットストリームは、ベースレイヤ(BL)と1または複数のエンハンスメントレイヤ(EL)とを含む。スケーラビリティの例として、空間スケーラビリティ、品質/信号対雑音(SNR)スケーラビリティ、マルチビュースケーラビリティなどが挙げられる。マルチレイヤコーディング技術が使用される場合、ピクチャまたはその一部は、(1)参照ピクチャを使用せずに、すなわちイントラ予測を使用して、(2)同じレイヤ中にある参照ピクチャを参照することによって、すなわちインター予測を使用して、または(3)他のレイヤ中にある参照ピクチャを参照することによって、すなわちインターレイヤ予測を使用して、コード化されてもよい。カレントピクチャのインターレイヤ予測に使用される参照ピクチャを、インターレイヤ参照ピクチャ(ILRP)という。
【0100】
図5は、レイヤベース予測500の例を示す概略図であり、レイヤベース予測500を実行して、例えば、ブロック圧縮ステップ105、ブロック復号ステップ113、動き推定コンポーネント221、動き補償コンポーネント219、動き補償コンポーネント321、および/または動き補償コンポーネント421においてMVが決定される。レイヤベース予測500は、単方向インター予測および/または双方向インター予測と互換性があるが、異なるレイヤ中のピクチャ間でも実行される。
【0101】
レイヤベース予測500は、異なるレイヤ中のピクチャ511、512、513、および514とピクチャ515、516、517、および518との間で適用される。図示の例では、ピクチャ511、512、513、および514はレイヤN+1 532の一部であり、ピクチャ515、516、517、および518はレイヤN 531の一部である。レイヤN 531および/またはレイヤN+1 532などのレイヤは、同様のサイズ、品質、解像度、信号対雑音比、能力などの特性の同様の値に全て関連付けられたピクチャのグループである。図示の例では、レイヤN+1 532は、レイヤN 531よりも大きい画像サイズに関連付けられている。したがって、この例では、レイヤN+1 532中のピクチャ511、512、513、および514は、レイヤN 531中のピクチャ515、516、517、および518よりも大きいピクチャサイズ(例えば、より大きい高さおよび幅、したがってより多くのサンプル)を有する。しかしながら、かかるピクチャは、他の特性によってレイヤN+1 532とレイヤN 531との間で分離され得る。2つのレイヤ、レイヤN+1 532およびレイヤN 531のみが示されているが、ピクチャのセットは、関連する特性に基づいて任意の数のレイヤに分離され得る。レイヤN+1 532およびレイヤN 531はまた、レイヤIDによって示され得る。レイヤIDは、ピクチャに関連付けられたデータのアイテムであり、ピクチャが示されたレイヤの一部であることを示している。したがって、各ピクチャ511~518は、対応するレイヤIDに関連付けられて、どのレイヤN+1 532またはレイヤN 531が対応するピクチャを含むかを示すことができる。
【0102】
異なるレイヤ531~532におけるピクチャ511~518は、択一的に表示されるように構成される。したがって、異なるレイヤ531~532中のピクチャ511~518は、同じテンポラル識別子(ID)を共有することができ、同じAU中に含まれ得る。本明細書で使用される場合、AUは、DPBからの出力のための同じ表示時間に関連付けられた1または複数のコード化済みピクチャのセットである。例えば、例として、デコーダは、より小さいピクチャが所望される場合、現在の表示時間においてピクチャ515を復号および表示することができ、またはデコーダは、より大きいピクチャが所望される場合、現在の表示時間においてピクチャ511を復号および表示することができる。したがって、上位レイヤN+1 532におけるピクチャ511~514は、(ピクチャサイズの違いにもかかわらず)下位レイヤN 531における対応するピクチャ515~518と実質的に同じ画像データを含む。具体的には、ピクチャ511はピクチャ515と実質的に同じ画像データを含み、ピクチャ512はピクチャ516と実質的に同じ画像データを含み、以下同様である。
【0103】
ピクチャ511~518は、同じレイヤN 531またはN+1 532中の他のピクチャ511~518を参照することによってコード化され得る。同じレイヤ中の別のピクチャを参照してピクチャをコード化することで、インター予測523が得られ、これは、単方向インター予測および/または双方向インター予測と互換性を有している。インター予測523は、実線矢印によって示されている。例えば、ピクチャ513は、レイヤN+1 532中のピクチャ511、512、および/または514のうちの1つまたは2つを参照として使用するインター予測523を採用することによってコード化されてもよく、ここで、1つのピクチャは単方向インター予測のために参照され、かつ/または2つのピクチャは双方向インター予測のために参照される。さらに、ピクチャ517は、レイヤN 531中のピクチャ515、516、および/または518のうちの1つまたは2つを参照として使用するインター予測523を採用することによってコード化されてもよく、ここで、1つのピクチャは、単方向インター予測のために参照され、かつ/または2つのピクチャは、双方向インター予測のために参照される。ピクチャが、インター予測523を実行する際に同じレイヤ中の別のピクチャのための参照として使用される場合、ピクチャは参照ピクチャと称されることがある。例えば、ピクチャ512は、インター予測523に従ってピクチャ513をコード化するために使用される参照ピクチャであってもよい。インター予測523は、マルチレイヤコンテキストにおいてイントラレイヤ予測と称されることもある。したがって、インター予測523は、参照ピクチャとカレントピクチャとが同じレイヤ中にある場合に、カレントピクチャとは異なる参照ピクチャ中の示されたサンプルを参照することによってカレントピクチャのサンプルをコード化するメカニズムである。
【0104】
ピクチャ511~518はまた、異なるレイヤ中の他のピクチャ511~518を参照することによってコード化され得る。このプロセスは、インターレイヤ予測521として知られており、破線矢印によって示されている。インターレイヤ予測521は、カレントピクチャと参照ピクチャとが異なるレイヤ中にあり、それにより異なるレイヤIDを有する場合に、参照ピクチャ中の示されたサンプルを参照することによってカレントピクチャのサンプルをコード化するメカニズムである。例えば、下位レイヤN 531中のピクチャは、上位レイヤN+1 532における対応するピクチャをコード化するための参照ピクチャとして使用されてもよい。特定の例として、ピクチャ511は、インターレイヤ予測521に従ってピクチャ515を参照することによってコード化され得る。かかる場合、ピクチャ515はインターレイヤ参照ピクチャとして使用される。インターレイヤ参照ピクチャは、インターレイヤ予測521に使用される参照ピクチャである。ほとんどの場合、インターレイヤ予測521は、ピクチャ511などのカレントピクチャが、同じAUに含まれ、ピクチャ515などの下位レイヤにあるインターレイヤ参照ピクチャのみを使用できるように制約される。複数のレイヤ(例えば、3つ以上)が利用可能であるとき、インターレイヤ予測521は、カレントピクチャよりも低いレベルの複数のインターレイヤ参照ピクチャに基づいてカレントピクチャを符号化/復号することができる。
【0105】
ビデオエンコーダは、レイヤベース予測500を採用して、インター予測523およびインターレイヤ予測521の多くの異なる組み合わせおよび/または置換を介してピクチャ511~518を符号化することができる。例えば、ピクチャ515は、イントラ予測に従ってコード化されてもよい。ピクチャ516~518は、次いで、ピクチャ515を参照ピクチャとして使用することによって、インター予測523に従ってコード化され得る。さらに、ピクチャ511は、ピクチャ515をインターレイヤ参照ピクチャとして使用することによって、インターレイヤ予測521に従ってコード化され得る。ピクチャ512~514は、次いで、ピクチャ511を参照ピクチャとして使用することによって、インター予測523に従ってコード化され得る。したがって、参照ピクチャは、異なるコーディングメカニズムのためのシングルレイヤ参照ピクチャとインターレイヤ参照ピクチャとの両方として機能し得る。下位レイヤN 531ピクチャに基づいて上位レイヤN+1 532ピクチャをコード化することによって、上位レイヤN+1 532は、インター予測523およびインターレイヤ予測521よりもコーディング効率が極めて低いイントラ予測を採用することを回避することができる。したがって、イントラ予測の低いコーディング効率は、最小/最低品質のピクチャに限定され得、それにより、最小量のビデオデータをコード化することに限定することができる。参照ピクチャおよび/またはインターレイヤ参照ピクチャとして使用されるピクチャは、参照ピクチャリスト構造に含まれる参照ピクチャリストのエントリ中で示され得る。
【0106】
図5中の各AU506は、複数のピクチャを含み得る。例えば、1つのAU506は、ピクチャ511および515を含んでもよい。別のAU506は、ピクチャ512および516を含んでもよい。実際、各AU506は、(例えば、ユーザに表示するための)復号済みピクチャバッファ(DPB)からの出力のための同じ表示時間(例えば、同じテンポラルID)に関連付けられた1または複数のコード化済みピクチャのセットである。各AUD508は、AU(例えば、AU508)の開始またはAU間の境界を示すために使用されるインジケータまたはデータ構造である。
【0107】
過去のH.26xビデオコーディングファミリは、単一レイヤコーディングのためのプロファイルとは別のプロファイルにおけるスケーラビリティのサポートを提供している。スケーラブルビデオコーディング(SVC)は、空間スケーラビリティ、時間スケーラビリティ、および品質スケーラビリティのサポートを提供するAVC/H.264のスケーラブル拡張機能である。SVCの場合、EL MBが下位レイヤからのコロケートブロックを使用して予測されるかどうかを示すために、ELピクチャ中の各マクロブロック(MB)中でフラグがシグナリングされる。コロケートされたブロックからの予測は、テクスチャ、動きベクトル、および/またはコーディングモードを含み得る。SVCの実装形態は、それらの設計において、修正されていないH.264/AVC実装形態を直接再使用することはできない。SVC ELマクロブロックシンタックスおよび復号プロセスは、H.264/AVCシンタックスおよび復号プロセスとは異なる。
【0108】
スケーラブルHEVC(SHVC)は、空間スケーラビリティおよび品質スケーラビリティのサポートを提供するHEVC/H.265規格の拡張機能であり、マルチビューHEVC(MV-HEVC)は、マルチビュースケーラビリティのサポートを提供するHEVC/H.265の拡張機能であり、3D HEVC(3D-HEVC)は、MV-HEVCよりも高度で効率的な3次元(3D)ビデオコーディングのサポートを提供するHEVC/H.264の拡張機能である。時間スケーラビリティは、単一レイヤHEVCコーデックの一体部分として含まれることに留意されたい。HEVCのマルチレイヤ拡張機能の設計は、インターレイヤ予測のために使用される復号済みピクチャが同じアクセスユニット(AU)からのみ取得され、長期参照ピクチャ(LTRP)として扱われ、現在のレイヤ中の他の時間参照ピクチャとともに参照ピクチャリスト中の参照インデックスを割り当てられるという考えを採用している。インターレイヤ予測(ILP)は、参照ピクチャリスト中のインターレイヤ参照ピクチャを参照するように参照インデックスの値を設定することによって、予測ユニット(PU)レベルで達成される。
【0109】
特に、参照ピクチャリサンプリングおよび空間スケーラビリティ特徴の両方は、参照ピクチャまたはその一部のリサンプリングを必要とする。参照ピクチャリサンプリング(RPR)は、ピクチャレベルまたはコーディングブロックレベルのいずれかで実現することができる。しかしながら、RPRがコーディング特徴として参照されるとき、それは単一レイヤコーディングのための特徴である。それでも、単一レイヤコーディングのRPR特徴およびマルチレイヤコーディングの空間スケーラビリティ特徴の両方に同じリサンプリングフィルタを使用することは、コーデック設計の観点から可能であり、また望ましいとさえ言える。
【0110】
図6は、出力レイヤセット(OLS)を利用するレイヤベース予測600の例を示しており、レイヤベース予測600を実行して、例えば、ブロック圧縮ステップ105、ブロック復号ステップ113、動き推定コンポーネント221、動き補償コンポーネント219、動き補償コンポーネント321、および/または動き補償コンポーネント421においてMVが決定される。レイヤベース予測600は、単方向インター予測および/または双方向インター予測と互換性があるが、異なるレイヤ中のピクチャ間でも実行される。図6のレイヤベース予測は、図5のレイヤベース予測と同様である。したがって、簡潔にするために、レイヤベースの予測の完全な説明は繰り返さない。
【0111】
図6のコード化済みビデオシーケンス(CVS)690中のレイヤの一部は、OLS中に含まれる。OLSは、1または複数のレイヤが出力レイヤとして特定されるレイヤのセットである。出力レイヤは、出力されるOLSのレイヤである。図6は、3つの異なるOLS、すなわちOLS1、OLS2、およびOLS3を示している。図示のように、OLS1は、レイヤN 631およびレイヤN+1 632を含む。OLS2は、レイヤN 631、レイヤN+1 632、レイヤN+2 633、およびレイヤN+1 634を含む。OLS3は、レイヤN 631、レイヤN+1 632、およびレイヤN+2 633を含む。3つのOLSが示されているが、実際のアプリケーションでは異なる数のOLSを使用することができる。
【0112】
異なるOLSの各々は、任意の数のレイヤを含み得る。異なるOLSは、種々のコーディング能力を有する種々の異なるデバイスのコーディング能力に対応するために生成される。例えば、2つのレイヤのみを含むOLS1は、比較的限られたコーディング能力を有する携帯電話を収容するために生成されてもよい。一方、4つのレイヤを含むOLS2は、携帯電話よりも高いレイヤを復号することができる大画面テレビを収容するために生成されてもよい。3つのレイヤを含むOLS3は、パーソナルコンピュータ、ラップトップコンピュータ、またはタブレットコンピュータを収容するために生成されてもよい。これらは、携帯電話よりも上位のレイヤを復号することが可能であり得るが、大画面テレビのような最上位レイヤを復号することができない。
【0113】
図6のレイヤは全て互いに独立していてもよい。すなわち、各レイヤは、インターレイヤ予測(ILP)を使用せずにコード化されてもよい。この場合、レイヤはサイマルキャストレイヤと称される。図6中のレイヤのうち1または複数はまた、ILPを使用してコード化され得る。レイヤがサイマルキャストレイヤであるかどうか、またはレイヤのうちの一部がILPを使用してコード化されるかどうかは、ビデオパラメータセット(VPS)中のフラグによってシグナリングされ、これについては以下でより完全に説明する。一部のレイヤがILPを使用する場合、レイヤ間のレイヤ依存関係もVPS中でシグナリングされる。
【0114】
一実施形態では、レイヤがサイマルキャストレイヤである場合、1つのレイヤのみが復号および出力のために選択される。一実施形態では、一部のレイヤがILPを使用する場合、レイヤの全て(例えば、ビットストリーム全体)が復号されるように特定され、レイヤの中の一部のレイヤが出力レイヤであるように特定される。1または複数の出力レイヤは、例えば、1)最上位レイヤのみ、2)全てのレイヤ、または3)最上位レイヤと示された下位レイヤとのセットであり得る。例えば、最上位レイヤに加えて示された下位レイヤのセットがVPS中のフラグによって出力のために指定されるとき、OLS2からのレイヤN+3 634(最上位レイヤである)ならびにレイヤN 631およびN+1 632(下位レイヤである)が出力される。
【0115】
図7は、時間スケーラビリティのために構成された例示的なマルチレイヤビデオシーケンス700を示す概略図である。マルチレイヤビデオシーケンス700は、例えば方法100に従って、コーデックシステム200および/またはエンコーダ300などのエンコーダによって符号化され、コーデックシステム200および/またはデコーダ400などのデコーダによって復号されてもよい。マルチレイヤビデオシーケンス700は、コード化済みビデオシーケンス中のレイヤのための別の例示的な適用を示すために含まれる。例えば、マルチレイヤビデオシーケンス700は、別個の実施形態として採用されてもよく、またはマルチレイヤビデオシーケンス500もしくは600に関して説明した技術と組み合わされてもよい。
【0116】
マルチレイヤビデオシーケンス700は、サブレイヤ710、720、および730を含む。サブレイヤは、特定のテンポラル識別子値を有するVCL NALユニット(例えば、ピクチャ)と、関連する非VCL NALユニット(例えば、サポートパラメータ)とを含む時間スケーラブルビットストリームの時間スケーラブルレイヤである。サブレイヤ710はベースレイヤと称されることがあり、サブレイヤ720および730はエンハンスメントレイヤと称されることがある。図示のように、サブレイヤ710は、毎秒30フレームなどの第1のフレームレートでピクチャ711を含む。サブレイヤ710はベース/最低フレームレートを含むので、サブレイヤ710はベースレイヤである。サブレイヤ720は、サブレイヤ710のピクチャ711から時間的にオフセットされたピクチャ721を含む。その結果、サブレイヤ710とサブレイヤ720とを組み合わせることができ、その結果、サブレイヤ710単独のフレームレートよりも全体として高いフレームレートが得られる。例えば、サブレイヤ710および720は、毎秒60フレームの結合フレームレートを有してもよい。したがって、サブレイヤ720は、サブレイヤ710のフレームレートを向上させる。さらに、サブレイヤ730は、やはりサブレイヤ720および710のピクチャ721および711から時間的にオフセットされたピクチャ731を含む。したがって、サブレイヤ730をサブレイヤ720および710と組み合わせて、サブレイヤ710をさらに向上させることができる。例えば、サブレイヤ710、720、および730は、毎秒90フレームの結合フレームレートを有してもよい。
【0117】
サブレイヤ表現740は、サブレイヤ710、720、および/または730を組み合わせることによって動的に作成することができる。サブレイヤ表現740は、特定のサブレイヤおよび下位サブレイヤのNALユニットを含むビットストリームのサブセットである。図示の例では、サブレイヤ表現740は、サブレイヤ710、720、および730の合成ピクチャ711、721、および731であるピクチャ741を含む。したがって、マルチレイヤビデオシーケンス700は、サブレイヤ710、720、および/または730の所望のセットを含むサブレイヤ表現740を選択することによって、所望のフレームレートに時間的にスケーリングすることができる。サブレイヤ表現740は、サブレイヤ710、720、および/または730をレイヤとして含むOLSを採用することによって作成され得る。かかる場合、サブレイヤ表現740が出力レイヤとして選択される。したがって、時間スケーラビリティは、マルチレイヤメカニズムを使用して達成され得る複数のメカニズムのうちの1つである。
【0118】
HEVC、SHVC、MV-HEVC、およびVVCなどのビデオコーディング規格は、プロファイル、階層、およびレベルを特定し、シグナリングする。プロファイル、階層、およびレベルは、ビットストリームに対する制限を特定しており、それにより、ビットストリームを復号するために必要とされる能力に対する制限を特定する。プロファイル、階層、およびレベルはまた、個々のデコーダ実装形態間の相互運用性ポイントを示すために使用され得る。プロファイルは、準拠または適合ビットストリームを作成するために使用されるコーディングツールの定義されたセットである。各プロファイルは、そのプロファイルに適合する全てのデコーダによってサポートされるアルゴリズムの特徴および制限のサブセットを特定する。
【0119】
レベルは、ビットストリームに関する制約のセット(例えば、最大輝度サンプルレート、解像度に関する最大ビットレートなど)である。すなわち、レベルは、特定されたプロファイルのビットストリームを再生するために必要とされるデコーダ性能を示す制約のセットである。
【0120】
レベルは、メインおよびハイの2つの階層に分割される。メイン階層は、ハイ階層よりも下位の階層である。階層は、最大ビットレートが異なるアプリケーションを処理するために作成されている。メイン階層は大部分のアプリケーションのために設計され、一方、ハイ階層は非常に要求の厳しいアプリケーションのために設計されている。レベルに対応する制約および/または階層のセットは、本明細書ではレベル情報と称され得る。
【0121】
階層の各レベルは、特定の規格(例えば、HEVC、VVC)のシンタックス要素によって取得され得る値に対する一連の制限を特定する。同じセットの階層およびレベル定義が全てのプロファイルとともに使用されるが、個々の実装形態は、異なる階層をサポートし、階層内ではサポートされるプロファイルごとに異なるレベルをサポートすることができる。任意の所与のプロファイルについて、階層のレベルは、概して、特定のデコーダ処理負荷およびメモリ能力に対応する。
【0122】
HEVC規格を使用して、異なるプロファイルのレベルと階層の代表的な例を以下の表1に示す。
【表1】
【0123】
復号済みピクチャバッファ(DPB)パラメータは、DPBサイズと、所望により、最大ピクチャ並べ替え数および最大レイテンシ情報とを与えるシンタックス構造である。最大ピクチャ並べ替え数および最大レイテンシ情報は、略語MRMLによってまとめて参照され得る。一実施形態では、上記の表に示されているレベルのうち1または複数が、DPBパラメータとともにシグナリングされる。
【0124】
一実施形態では、最大ピクチャ並べ替え数はdpb_max_num_reorder_pics[i]と指定され、これは、Htidがiに等しい場合に、復号順序でOLS中の任意のピクチャに先行し、出力順序でそのピクチャに後続し得るOLSのピクチャの最大許容数を特定する。dpb_max_num_reorder_pics[i]の値は、両端値を含む0~dpb_max_dec_pic_buffering_minus1[i]の範囲内にあるものとする。iが0より大きい場合、dpb_max_num_reorder_pics[i]はdpb_max_num_reorder_pics[i-1]以上であるものとする。subLayerInfoFlagが0に等しいために、dpb_max_num_reorder_pics[i]が、両端値を含む0~MaxSubLayersMinus1-1の範囲内のiについて存在しないとき、dpb_max_num_reorder_pics[MaxSubLayersMinus1]に等しいと推論される。Htidは、復号される最上位時間サブレイヤを識別する変数である。
【0125】
dpb_max_dec_pic_buffering_minus1[i]プラス1は、Htidがiに等しい場合、ピクチャ記憶バッファの単位でDPBの最大必要サイズを特定する。dpb_max_dec_pic_buffering_minus1[i]の値は、両端値を含む0~MaxDpbSize-1の範囲内にあるものとし、ここで、MaxDpbSizeは、VVC規格のA.4.2節において特定されている通りである。iが0より大きい場合、dpb_max_dec_pic_buffering_minus1[i]はdpb_max_dec_pic_buffering_minus1[i-1]以上であるものとする。subLayerInfoFlagが0に等しいために、dpb_max_dec_pic_buffering_minus1[i]が、両端値を含む0~MaxSubLayersMinus1-1の範囲内のiについて存在しないとき、dpb_max_dec_pic_buffering_minus1[MaxSubLayersMinus1]に等しいと推論される。
【0126】
一実施形態では、最大レイテンシ情報は、dpb_max_latency_increase_plus1[i]で指定される。0に等しくないdpb_max_latency_increase_plus1[i]は、MaxLatencyPictures[i]の値を計算するために使用される。MaxLatencyPictures[i]は、Htidがiに等しい場合、出力順序でOLS中の任意のピクチャに先行し、復号順序でそのピクチャに後続し得るOLS中のピクチャの最大数を特定する。
【0127】
MaxLatencyPictures[i]=dpb_max_num_reorder_pics[i]+dpb_max_latency_increase_plus1[i]-1。
【0128】
例えば、SHVCおよびMV-HEVCにおけるように、OLSが特定されるとき、任意の特定のレイヤが複数のOLS中に含まれてもよい。特定のレイヤは、一部のOLSにおいて出力レイヤであり得、同時に、一部の他のOLSにおいて非出力レイヤであり得る。あるレイヤが与えられた場合、そのレイヤが出力レイヤであるか非出力レイヤであるかの主な違いは、DPBサイズである。したがって、利用可能なDPBには2つの選択肢しかない。すなわち、レイヤの第3のDPBサイズは使用できない。したがって、任意の特定のレイヤについて最大で2つのDPBサイズをシグナリングすることで十分である。しかしながら、レイヤがOLS中に含まれるたびに特定のレイヤについてのDPBサイズおよび/またはレベル情報をシグナリングすることは不要であり、3つよりも多くのOLSがある場合はビットを浪費する可能性がある。
【0129】
SHVCおよびMV-HEVCでは、DPBサイズは、各レイヤ(例えば、レイヤN 631およびN+1 632)またはOLS(例えば、OLS1)中に含まれる各サブレイヤについて特定され、シグナリングされる。例として図6を使用すると、レイヤN 631およびN+1 632がOLS1に含まれるので、それらのレイヤについてDPBサイズがシグナリングされる。また、レイヤN 631、N+1 632、N+2 633、およびN+3 634のレイヤがOLS2に含まれるので、それらのレイヤについてDPBサイズがシグナリングされる。加えて、レイヤN 631、N+1 632、およびN+2 633がOLS3に含まれるので、それらのレイヤについてDPBサイズがシグナリングされる。したがって、レイヤN 631に対応するDPBサイズは、そのレイヤがOLSの3つ全て、すなわちOLS1、OLS2、およびOLS3に含まれるので、3回シグナリングされることになる。同様に、レイヤN+1 632に対応するDPBサイズも、そのレイヤがOLSの3つ全て、すなわちOLS1、OLS2、およびOLS3に含まれるので、3回シグナリングされることになる。最後に、レイヤN+2 633に対応するDPBサイズは、そのレイヤがOLSのうちの2つ、すなわちOLS1およびOLS2に含まれるので、2回シグナリングされることになる。かかる同じDPBサイズ(またはDBPパラメータ)を繰り返しシグナリングすることは冗長であり、コーディング非効率性につながる。
【0130】
マルチレイヤビデオビットストリーム中に含まれる出力レイヤセット(OLS)の数にかかわらず、復号済みピクチャバッファ(DPB)パラメータ(例えば、DPBサイズなど)および/またはレベル情報がレイヤまたはサブレイヤごとに1回のみシグナリングされることを保証する技術が本明細書で開示される。すなわち、DPBパラメータおよびレベル情報は、レイヤまたはサブレイヤがOLSのうちの1つに含まれるたびにシグナリングされるのではなく、レイヤまたはサブレイヤごとに1回シグナリングされる。したがって、同じDPBパラメータおよびレベル情報は、同じレイヤまたはサブレイヤのために繰り返しシグナリングされず、冗長性を低減し、マルチレイヤビデオビットストリームのためのコーディング効率を増加させる。したがって、ビデオコーディングにおけるコーダ/デコーダ(「コーデック」としても知られる)は、現在のコーデックに対して改善される。実際問題として、改善されたビデオコーディングプロセスは、ビデオが送信され、受信され、かつ/または視聴されるときに、より良いユーザ体験をユーザに提供する。
【0131】
図8は、ビデオビットストリーム800の一実施形態を示している。本明細書で使用されるとき、ビデオビットストリーム800は、コード化済みビデオビットストリーム、ビットストリーム、またはそれらの変形形態と称されることもある。図8に示すように、ビットストリーム800は、少なくとも1つのピクチャユニット(PU)801を含む。PU801のうちの3つが図8に示されているが、実際の適用例では、異なる数のPU801がビットストリーム800中に存在し得る。各PU801は、特定された分類ルールに従って互いに関連付けられ、復号順序で連続し、厳密に1つのコード化済みピクチャ(例えば、ピクチャ814)を含むNALユニットのセットである。
【0132】
一実施形態では、各PU801は、復号能力情報(DCI)802、ビデオパラメータセット(VPS)804、シーケンスパラメータセット(SPS)806、ピクチャパラメータセット(PPS)808、ピクチャヘッダ(PH)812、およびピクチャ814のうち1または複数を含む。DCI802、VPS804、SPS806、およびPPS808の各々は、総称してパラメータセットと称され得る。一実施形態では、図8に示されていない他のパラメータセット、例えば、適応パラメータセット(APS)なども、ビットストリーム800中に含まれ得、APSは、スライスヘッダ中に見出される0個以上のシンタックス要素によって決定される0個以上のスライスに適用されるシンタックス要素を含むシンタックス構造である。
【0133】
復号パラメータセット(DPS)またはデコーダパラメータセットと称されることもあるDCI802は、ビットストリーム全体に適用されるシンタックス要素を含むシンタックス構造である。DCI802は、ビデオビットストリーム(例えば、ビットストリーム800)の寿命にわたって一定のままであるパラメータを含み、これは、セッションの寿命に変換することができる。DCI802は、プロファイル、レベル、およびサブプロファイル情報を含み、ビデオシーケンスのスプライシングがセッション内で発生する場合であっても決して超えないことが保証される最大複雑度インターオペポイントを決定することができる。それはさらに、所望により制約フラグを含み、制約フラグは、ビデオビットストリームが、それらのフラグの値によって示される特定の特徴の使用が制約されることを示す。これにより、ビットストリームは、特定のツールを使用しないものとしてラベル付けすることができ、これにより、特に、デコーダ実装形態におけるリソース割り振りが可能になる。全てのパラメータセットと同様に、DCI802は、最初に参照されるときに存在し、ビデオシーケンス内のまさに第1のピクチャによって参照される。これは、ビットストリーム内の第1のNALユニットの間で送信する必要があることを示唆している。複数のDCI802がビットストリーム内に存在し得るが、その中のシンタックス要素の値は、参照されるときに矛盾することはない。
【0134】
VPS804は、エンハンスメントレイヤの参照ピクチャセット構成のための復号依存性または情報を含む。VPS804は、どのタイプのオペレーションポイントが提供されるか、オペレーションポイントのプロファイル、階層、およびレベル、ならびにセッションネゴシエーションおよびコンテンツ選択などのための基礎として使用され得るビットストリームの一部の他の高レベルプロパティを含む、スケーラブルシーケンスの全体的な展望またはビューを提供する。
【0135】
一実施形態では、レイヤのうちの一部がILPを使用することが示される場合、VPS804は、VPSによって特定されるOLSの総数がレイヤの数に等しいことを示し、i番目のOLSが両端値を含む0~iのレイヤインデックスを有するレイヤを含むことを示し、各OLSについて、OLS中の最上位レイヤのみが出力されることを示す。
【0136】
SPS806は、ピクチャシーケンス(SOP)内の全てのピクチャに共通のデータを含む。SPS806は、各ピクチャヘッダ内に見出されるシンタックス要素によって参照されるPPS内に見出されるシンタックス要素の内容によって決定される、0以上のCLVS全体に適用されるシンタックス要素を含むシンタックス構造である。対照的に、PPS808は、ピクチャ全体に共通のデータを含む。PPS808は、各ピクチャヘッダ(例えば、PH812)内に見出されるシンタックス要素によって決定されるような0以上のコード化済みピクチャ全体に適用されるシンタックス要素を含むシンタックス構造である。
【0137】
一実施形態では、VPS804および/またはSPS806は、本明細書で開示される実施形態のうち1または複数を実装するために、以下のSPSシンタックスおよびセマンティクスを含む。
【0138】
SPSシンタックスは、以下を含む。
【表2】
【0139】
SPSセマンティクスは、以下を含む。
【0140】
SPS RBSPは、参照される前に復号プロセスに利用可能であるか、0に等しいTemporalIdを有する少なくとも1つのアクセスユニットに含まれるか、または外部手段を介して提供されるものとし、SPS RBSPを含むSPS NALユニットは、それを参照するPPS NALユニットの最低nuh_layer_id値に等しいnuh_layer_idを有するものとする。
【0141】
CVS中のsps_seq_parameter_set_idの特定の値を有する全てのSPS NALユニットは、同じコンテンツを有するものとする。
【0142】
sps_decoding_parameter_set_idは、0より大きい場合、SPSによって参照されるDPSのdps_decoding_parameter_set_idの値を特定する。sps_decoding_parameter_set_idが0に等しい場合、SPSはDPSを参照せず、SPSを参照する各CLVSを復号するときにDPSは参照されない。sps_decoding_parameter_set_idの値は、ビットストリーム内のコード化済みピクチャによって参照される全てのSPSにおいて同一であるものとする。
【0143】
sps_video_parameter_set_idは、0より大きい場合、SPSによって参照されるVPSのvps_video_parameter_set_idの値を特定する。sps_video_parameter_set_idが0に等しい場合、SPSはVPSを参照せず、SPSを参照する各CLVSを復号するときにVPSは参照されない。
【0144】
sps_max_sub_layers_minus1プラス1は、SPSを参照する各CLVS中に存在し得る時間サブレイヤの最大数を特定する。sps_max_sub_layers_minus1の値は、両端値を含む0~vps_max_sub_layers_minus1の範囲内にあるものとする。
【0145】
sps_reserved_0_4bitsは、本明細書のこのバージョンに適合するビットストリームにおいて0に等しいものとする。sps_reserved_0_4bitsの他の値は、ITU-T ISO/IECによる将来の使用のために予約されている。
【0146】
1に等しいsame_nonoutput_level_and_dpb_size_flagは、レベルおよびDPBサイズパラメータの同じセットが、レイヤが出力レイヤであるかどうかに応じてSPSを参照する各レイヤに適用されることを特定する。0に等しいsame_nonoutput_level_and_dpb_size_flagは、レベルおよびDPBサイズパラメータの2つの別個のセットが、レイヤが出力レイヤであるかどうかに応じてSPSを参照する各レイヤに適用されることを特定する。
【0147】
代替的に、2つの別個のフラグが使用され、一方は、レイヤが出力レイヤであるかどうかにかかわらず、SPSを参照する各レイヤにレベルパラメータの同じセットが適用されるかどうかを特定し、他方は、レイヤが出力レイヤであるかどうかにかかわらず、SPSを参照する各レイヤにDPBサイズパラメータの同じセットが適用されるかどうかを特定する。
【0148】
一実施形態では、VPS804および/またはSPS806は、本明細書で開示される実施形態のうち1または複数を実装するために、以下のDPBシンタックスおよびセマンティクスを含む。
【0149】
DPBシンタックスは、以下を含む。
【表3】
【0150】
DPBセマンティクスは、以下を含む。
【0151】
dpb_parameters()シンタックス構造は、DPBサイズ情報と、所望により、最大ピクチャ並べ替え数および最大レイテンシ情報(MRML情報として示される)とを提供する。
【0152】
各SPSは、1または複数のdpb_parameters()シンタックス構造を含む。SPS中の第1のdpb_parameters()シンタックス構造は、DPBサイズ情報とMRML情報との両方を含む。存在する場合、SPS中の第2のdpb_parameters()シンタックス構造は、DPBサイズ情報のみを含む。SPS内の第1のdpb_parameters()シンタックス構造内のMRML情報は、レイヤがOLS内の出力レイヤであるかどうかにかかわらず、SPSを参照するレイヤに適用される。SPS内の第1のdpb_parameters()シンタックス構造内のDPBサイズ情報は、レイヤがOLSの出力レイヤであるとき、SPSを参照するレイヤに適用される。SPS中の第2のdpb_parameters()シンタックス構造中に含まれるDPBサイズ情報は、存在する場合、レイヤがOLSの非出力レイヤであるとき、SPSを参照するレイヤに適用される。SPSが1つのdpb_parameters()シンタックス構造のみを含むとき、非出力レイヤとしてのレイヤについてのDPBサイズ情報は、出力レイヤとしてのレイヤについてのDPBサイズ情報と同じであると推論される。
【0153】
sps_max_dec_pic_buffering_minus1[i]プラス1は、Htidがiに等しい場合、ピクチャ記憶バッファの単位でCLVSのための復号済みピクチャバッファの最大必要サイズを特定する。sps_max_dec_pic_buffering_minus1[i]の値は、両端値を含む0~MaxDpbSize-1の範囲内にあるものとし、ここで、MaxDpbSizeは他の場所で特定されている通りである。iが0より大きい場合、sps_max_dec_pic_buffering_minus1[i]はsps_max_dec_pic_buffering_minus1[i-1]以上であるものとする。sps_sub_layer_ordering_info_present_flagが0に等しいために、sps_max_dec_pic_buffering_minus1[i]が、両端値を含む0~sps_max_sub_layers_minus1-1の範囲内のiについて存在しないとき、sps_max_dec_pic_buffering_minus1[sps_max_sub_layers_minus1]に等しいと推論される。
【0154】
sps_max_num_reorder_pics[i]は、Htidがiに等しい場合、復号順序でCLVS中の任意のピクチャに先行し、出力順序でそのピクチャに後続し得るピクチャの最大許容数を示す。sps_max_num_reorder_pics[i]の値は、両端値を含む0~sps_max_dec_pic_buffering_minus1[i]の範囲内にあるものとする。iが0より大きい場合、sps_max_num_reorder_pics[i]はsps_max_num_reorder_pics[i-1]以上であるものとする。sps_sub_layer_ordering_info_present_flagが0に等しいために、sps_max_num_reorder_pics[i]が、両端値を含む0~sps_max_sub_layers_minus1-1の範囲内のiについて存在しないとき、sps_max_num_reorder_pics[sps_max_sub_layers_minus1]に等しいと推論される。
【0155】
0に等しくないsps_max_latency_increase_plus1[i]は、SpsMaxLatencyPictures[i]の値を計算するために使用される。これは、Htidがiに等しい場合、出力順序でCLVS中の任意のピクチャに先行し、復号順序でそのピクチャに後続し得るピクチャの最大数を特定する。
【0156】
sps_max_latency_increase_plus1[i]が0に等しくない場合、SpsMaxLatencyPictures[i]の値は以下のように特定される。
【数1】
【0157】
sps_max_latency_increase_plus1[i]が0に等しい場合、対応する制限は表現されない。
【0158】
sps_max_latency_increase_plus1[i]の値は、両端値を含む0~232-2の範囲内にあるものとする。sps_sub_layer_ordering_info_present_flagが0に等しいために、sps_max_latency_increase_plus1[i]が、両端値を含む0~sps_max_sub_layers_minus1-1の範囲内のiについて存在しないとき、sps_max_latency_increase_plus1[sps_max_sub_layers_minus1]に等しいと推論される。
【0159】
DCI802、VPS804、SPS806、およびPPS808は、異なるタイプのネットワーク抽象化レイヤ(NAL)ユニットに含まれる。NALユニットは、後続するデータ(例えば、コード化済みビデオデータ)のタイプの指示を含むシンタックス構造である。NALユニットは、ビデオコーディングレイヤ(VCL)および非VCL NALユニットに分類される。VCL NALユニットは、ビデオピクチャ中のサンプルの値を表すデータを含み、非VCL NALユニットは、パラメータセット(複数のVCL NALユニットに適用し得る重要なデータ)および補助強化情報(復号済みビデオ信号の有用性を高めることができるが、ビデオピクチャ中のサンプルの値を復号するのに必要ではないタイミング情報および他の補足データ)などの任意の関連する追加情報を含む。
【0160】
一実施形態では、DCI802は、DCI NALユニットまたはDPS NALユニットとして指定された非VCL NALユニットに含まれる。すなわち、DCI NALユニットはDCI NALユニットタイプ(NUT)を有し、DPS NALユニットはDPS NUTを有する。一実施形態では、VPS804は、VPS NALユニットとして指定された非VCL NALユニットに含まれる。したがって、VPS NALユニットはVPS NUTを有する。一実施形態では、SPS806は、SPS NALユニットとして指定された非VCL NALユニットである。したがって、SPS NALユニットはSPS NUTを有する。一実施形態では、PPS808は、PPS NALユニットとして指定された非VCL NALユニットに含まれる。したがって、PPS NALユニットはPPS NUTを有する。
【0161】
PH812は、コード化済みピクチャ(例えば、ピクチャ814)の全てのスライス(例えば、スライス818)に適用されるシンタックス要素を含むシンタックス構造である。一実施形態では、PH812は、PH NALユニットと指定された新しいタイプの非VCL NALユニット内にある。したがって、PH NALユニットはPH NUT(例えば、PH_NUT)を有する。一実施形態では、各PU801に含まれる唯一のPH812が存在する。すなわち、PU801は、単一または単独のPH812を含む。一実施形態では、ビットストリーム800内の各ピクチャ801に対して正確に1つのPH NALユニットが存在する。
【0162】
一実施形態では、PH812に関連付けられたPH NALユニットは、テンポラルIDおよびレイヤIDを有する。テンポラルID識別子は、ビットストリーム(例えば、ビットストリーム801)中の他のPH NALユニットに対するPH NALユニットの時間的位置を示す。レイヤIDは、PH NALユニットを含むレイヤ(例えば、レイヤ531またはレイヤ532)を示す。一実施形態では、テンポラルIDはPOCと同様であるが、POCとは異なる。POCは、各ピクチャを順番に一意的に識別する。単一レイヤビットストリームでは、テンポラルIDおよびPOCは同じである。マルチレイヤビットストリーム(例えば、図5を参照)では、同じAU中のピクチャは、異なるPOCを有するが、同じテンポラルIDを有することになる。
【0163】
一実施形態では、PH NALユニットは、関連するピクチャ814の第1のスライス818を含むVCL NALユニットに先行する。これにより、PH812においてシグナリングされ、スライスヘッダ820から参照されるピクチャヘッダIDを有する必要なく、PH812と、PH812に関連付けられたピクチャ814のスライス818との間の関連付けが確立される。その結果、2つのPH812間の全てのVCL NALユニットが同じピクチャ814に属し、ピクチャ814が2つのPH812間の第1のPH812に関連付けられることが推論され得る。一実施形態では、PH812に続く第1のVCL NALユニットは、PH812に関連付けられたピクチャ814の第1のスライス818を含む。
【0164】
一実施形態では、PH NALユニットは、それぞれ、PH NALユニットのテンポラルIDおよびレイヤIDよりも小さいテンポラルIDおよびレイヤIDの両方を有する、ピクチャレベルパラメータセット(例えば、PPS)またはDCI(別名、DPS)、VPS、SPS、PPSなどのより高いレベルのパラメータセットに従う。その結果、それらのパラメータセットは、ピクチャまたはアクセスユニット内で繰り返されない。この順序付けのために、PH812を直ちに解決することができる。すなわち、ピクチャ全体に関連するパラメータを含むパラメータセットは、ビットストリーム中でPH NALユニットの前に配置される。ピクチャの一部に対するパラメータを含むものは、PH NALユニットの後に配置される。
【0165】
一代替形態では、PH NALユニットは、ピクチャレベルパラメータセットおよびプレフィックス補助強化情報(SEI)メッセージ、またはDCI(別名、DPS)、VPS、SPS、PPS、APS、SEIメッセージなどのより高いレベルのパラメータセットに続く。
【0166】
ピクチャ814は、モノクロームフォーマットにおける輝度サンプルのアレイ、または4:2:0、4:2:2、および4:4:4カラーフォーマットにおける輝度サンプルのアレイおよび彩度サンプルの2つの対応するアレイである。一実施形態では、各PU801に含まれる唯一のピクチャ814が存在する。したがって、各PU801中には、ただ1つのPH812と、そのPH812に対応するただ1つのピクチャ814とが存在する。すなわち、PU801は、単一または単独のピクチャ814を含む。
【0167】
ピクチャ814は、フレームであってもフィールドであってもよい。しかし、1つのCVS816では、全てのピクチャ814がフレームであるか、全てのピクチャ814がフィールドであるかのいずれかである。CVS816は、ビデオビットストリーム800中の全てのコード化済みレイヤビデオシーケンス(CLVS)についてのコード化済みビデオシーケンスである。特に、ビデオビットストリーム800が単一のレイヤを含むとき、CVS816およびCLVSは同じである。CVS816およびCLVSは、ビデオビットストリーム800が(例えば、図5および図6に示すように)複数のレイヤを含むときにのみ異なる。
【0168】
各ピクチャ814は、1または複数のスライス818を含む。スライス818は、ピクチャ(例えば、ピクチャ814)のタイル内の整数個の完全なタイルまたは整数個の連続する完全なCTU行である。各スライス818は、単一のNALユニット(例えば、VCL NALユニット)中に排他的に含まれる。タイル(図示せず)は、ピクチャ(例えば、ピクチャ814)中の特定のタイル列および特定のタイル行内のCTUの矩形領域である。CTU(図示せず)は、輝度サンプルのCTB、3つのサンプルアレイを有するピクチャの彩度サンプルの2つの対応するCTB、またはモノクロームピクチャもしくはサンプルをコード化するために使用される3つの別個の色平面およびシンタックス構造を使用してコード化されるピクチャのサンプルのCTBである。CTB(図示せず)は、Nのある値に対するサンプルのN×Nブロックであり、コンポーネントのCTBへの分割は区分化である。ブロック(図示せず)は、サンプル(例えば、ピクセル)のM×N(M列×N行)アレイ、または変換係数のM×Nアレイである。
【0169】
一実施形態では、各スライス818はスライスヘッダ820を含む。スライスヘッダ820は、スライス818中で表されるタイル内の全てのタイルまたはCTU行に関係するデータ要素を含むコード化済みスライス818の一部である。すなわち、スライスヘッダ820は、例えば、スライスタイプ、どの参照ピクチャが使用されるかなどのスライス818に関する情報を含む。
【0170】
ピクチャ814およびそれらのスライス818は、符号化または復号されている画像またはビデオに関連するデータを含む。したがって、ピクチャ814およびそれらのスライス818は、単に、ビットストリーム800中で搬送されているペイロードまたはデータと称され得る。
【0171】
当業者は、ビットストリーム800が実際のアプリケーションにおいて他のパラメータおよび情報を含んでもよいことを理解するであろう。
【0172】
図9は、ビデオデコーダ(例えば、ビデオデコーダ400)によって実装される復号の方法900の一実施形態である。方法900は、ビットストリームがビデオエンコーダ(例えば、ビデオエンコーダ300)から直接または間接的に受信された後に実行され得る。方法900は、マルチレイヤビデオビットストリームに含まれるOLSの数にかかわらず、DPBパラメータがレイヤまたはサブレイヤごとに1回のみシグナリングされることを保証することによって復号プロセスを改善する。すなわち、DPBパラメータは、レイヤまたはサブレイヤがOLSのうちの1つに含まれるたびにシグナリングされるのではなく、レイヤまたはサブレイヤごとに1回シグナリングされる。したがって、同じDPBパラメータは、同じレイヤまたはサブレイヤのために繰り返しシグナリングされず、冗長性を低減し、マルチレイヤビデオビットストリームのためのコーディング効率を増加させる。したがって、ビデオコーディングにおけるコーダ/デコーダ(「コーデック」としても知られる)は、現在のコーデックに対して改善される。実際問題として、改善されたビデオコーディングプロセスは、ビデオが送信され、受信され、かつ/または視聴されるときに、より良いユーザ体験をユーザに提供する。
【0173】
ブロック902において、ビデオデコーダはビデオビットストリームを受信する。ビデオビットストリームは、複数のレイヤ(例えば、レイヤ631~635)を含む。ビデオビットストリームはまた、複数のレイヤ(例えば、レイヤ631~635)からの1または複数のレイヤを各々が含む(例えば、OLS1はレイヤ631~632を含み、OLS2はレイヤ631~634を含み、OLS3はレイヤ631~633を含む)複数の出力レイヤセット(例えば、OLS1、OLS2、およびOLS3)を特定するビデオパラメータセット(例えば、VPS804)を含む。加えて、ビデオビットストリームは、1または複数のレイヤのうち1または複数が複数のOLSのうちの2つ以上に含まれているときに1回のみ、1または複数のレイヤの各々についての復号済みピクチャバッファ(DPB)パラメータのセットを含むシーケンスパラメータセット(例えば、SPS806)を含む。
【0174】
例として図6を使用すると、レイヤ(例えば、レイヤ631)がOLSのうちの2つ以上に含まれる場合であっても、SPSは、DPBパラメータの4つのセット、すなわち、レイヤ631のためのDPBパラメータのセット、レイヤ632のためのDPBパラメータのセット、レイヤ633のためのDPBパラメータのセット、およびレイヤ634のためのDPBパラメータのセットのみを含むことになる。したがって、DPBパラメータのセットは、特定のレイヤが2つ以上のOLS中に含まれるかどうかにかかわらず、SPS中の任意の特定のレイヤについて繰り返されず、これにより、コーディング効率が改善する。したがって、例として図6を使用すると、SPSは、4つのDPSサイズ、4つのレベル、および/または4セットのMRML情報のみを含むことになる。
【0175】
一実施形態では、SPSにおいてシグナリングされるDPBパラメータのセットの数は、レイヤの総数に等しい。例えば、合計5つのレイヤが利用可能であり、したがって、SPSは、DPBパラメータの5つのセットのみを搬送する。
【0176】
ブロック904において、ビデオデコーダは、復号済みピクチャを取得するために、複数のレイヤのうちの1つからピクチャを復号する。一実施形態において、DPBパラメータは、DPB内のスペースを割り振るために使用される。DPB内のこの空間は、復号プロセスにおいてピクチャを復号するために使用される。
【0177】
一実施形態では、方法900は、復号の前に1または複数のレイヤのうちの1つから出力レイヤを選択することをさらに含む。一実施形態では、方法900は、出力レイヤが選択された後に、出力レイヤからピクチャを選択することをさらに含む。
【0178】
一実施形態では、DPBパラメータのセットは、第1のDPBサイズおよび第2のDPBサイズを含む。一実施形態では、第1のDPBサイズは、1または複数のレイヤからの出力レイヤに対応し、第2のDPBサイズは、1または複数のレイヤからの非出力レイヤに対応する。一実施形態では、DPBパラメータのセットは、1または複数のレイヤからの出力レイヤおよび1または複数のレイヤからの非出力レイヤが両方とも単一のDPBサイズを有するとき、単一のDPBサイズを含む。
【0179】
一実施形態では、方法900は、DPBパラメータのセットに含まれる第1のDPBサイズから第2のDPBサイズを推論することをさらに含む。一実施形態では、複数のレイヤからの1または複数のレイヤのうちの1つは、1または複数のサブレイヤ(例えば、サブレイヤ710、720、730)を含む。
【0180】
ピクチャが復号されると、ピクチャは、電子デバイス(例えば、スマートフォン、タブレット、ラップトップ、パーソナルコンピュータなど)のディスプレイまたはスクリーン上でユーザに表示するための画像またはビデオシーケンスを生成または作成するために使用され得る。
【0181】
図10は、ビデオエンコーダ(例えば、ビデオエンコーダ300)によって実装されるビデオビットストリームを符号化する方法1000の一実施形態である。方法900は、(例えば、ビデオからの)ピクチャがビデオビットストリームに符号化され、次いでビデオデコーダ(例えば、ビデオデコーダ400)に向けて送信されるときに実行され得る。方法900は、マルチレイヤビデオビットストリームに含まれるOLSの数にかかわらず、DPBパラメータがレイヤまたはサブレイヤごとに1回のみシグナリングされることを保証することによって符号化プロセスを改善する。すなわち、DPBパラメータは、レイヤまたはサブレイヤがOLSのうちの1つに含まれるたびにシグナリングされるのではなく、レイヤまたはサブレイヤごとに1回シグナリングされる。したがって、同じDPBパラメータは、同じレイヤまたはサブレイヤのために繰り返しシグナリングされず、冗長性を低減し、マルチレイヤビデオビットストリームのためのコーディング効率を増加させる。したがって、ビデオコーディングにおけるコーダ/デコーダ(「コーデック」としても知られる)は、現在のコーデックに対して改善される。実際問題として、改善されたビデオコーディングプロセスは、ビデオが送信され、受信され、かつ/または視聴されるときに、より良いユーザ体験をユーザに提供する。
【0182】
ブロック1002において、ビデオエンコーダは、複数のレイヤ(例えば、レイヤ631~635)を生成する。ビデオエンコーダはまた、複数のレイヤ(例えば、レイヤ631~635)からの1または複数のレイヤを各々が含む(例えば、OLS1はレイヤ631~632を含み、OLS2はレイヤ631~634を含み、OLS3はレイヤ631~633を含む)複数の出力レイヤセット(例えば、OLS1、OLS2、およびOLS3)を特定するビデオパラメータセット(例えば、VPS804)を生成する。加えて、ビデオエンコーダは、1または複数のレイヤのうち1または複数が複数のOLSのうちの2つ以上に含まれているときに1回のみ、1または複数のレイヤの各々についての復号済みピクチャバッファ(DPB)パラメータのセットを含むシーケンスパラメータセット(例えば、SPS806)を生成する。
【0183】
例として図6を使用すると、レイヤ(例えば、レイヤ631)がOLSのうちの2つ以上に含まれる場合であっても、SPSは、DPBパラメータの4つのセット、すなわち、レイヤ631のためのDPBパラメータのセット、レイヤ632のためのDPBパラメータのセット、レイヤ633のためのDPBパラメータのセット、およびレイヤ634のためのDPBパラメータのセットのみを含むことになる。したがって、DPBパラメータのセットは、特定のレイヤが2つ以上のOLS中に含まれるかどうかにかかわらず、SPS中の任意の特定のレイヤについて繰り返されず、これにより、コーディング効率が改善する。したがって、例として図6を使用すると、SPSは、4つのDPSサイズ、4つのレベル、および/または4セットのMRML情報のみを含むことになる。
【0184】
一実施形態では、SPSにおいてシグナリングされるDPBパラメータのセットの数は、レイヤの総数に等しい。例えば、合計5つのレイヤが利用可能であり、したがって、SPSは、DPBパラメータの5つのセットのみを搬送する。
【0185】
一実施形態では、ビデオエンコーダは、1または複数のレイヤのうちの1つを出力レイヤとして指定し、1または複数のレイヤのうちの別のレイヤを非出力レイヤとして指定する。一実施形態では、DPBパラメータのセットは、第1のDPBサイズおよび第2のDPBサイズを含む。一実施形態では、DPBパラメータのセットは、単一のDPBサイズを含む。一実施形態では、複数のレイヤからの1または複数のレイヤのうちの1つは、1または複数のサブレイヤを含む。
【0186】
ブロック1004において、ビデオエンコーダは、複数のレイヤ、VPS、およびSPSをビデオビットストリームに符号化する。ブロック1006において、ビデオエンコーダは、ビデオデコーダへの通信のためにビデオビットストリームを記憶する。ビデオビットストリームは、ビデオビットストリームがビデオデコーダに向けて送信されるまで、メモリに記憶され得る。ビデオデコーダによって受信されると、符号化ビデオビットストリームは、(例えば、上述したように)復号されて、電子デバイス(例えば、スマートフォン、タブレット、ラップトップ、パーソナルコンピュータなど)のディスプレイまたはスクリーン上でユーザに表示するための画像またはビデオシーケンスを生成または作成するために使用され得る。
【0187】
図11は、本開示の一実施形態によるビデオコーディングデバイス1100(例えば、ビデオエンコーダ300またはビデオデコーダ400)の概略図である。ビデオコーディングデバイス1100は、本明細書に記載の開示される実施形態を実装するのに適している。ビデオコーディングデバイス1100は、データを受信するための入口ポート1110および受信機ユニット(Rx)1120と、データを処理するためのプロセッサ、論理ユニット、または中央処理ユニット(CPU)1130と、データを送信するための送信機ユニット(Tx)1140および出口ポート1150と、データを記憶するためのメモリ1160と、を含む。ビデオコーディングデバイス1100はまた、光または電気信号の出力または入力のために、入口ポート1110、受信機ユニット1120、送信機ユニット1140、および出口ポート1150に結合された光-電気(OE)コンポーネントおよび電気-光(EO)コンポーネントを含み得る。
【0188】
プロセッサ1130は、ハードウェアおよびソフトウェアによって実装される。プロセッサ1130は、1または複数のCPUチップ、コア(例えば、マルチコアプロセッサとして)、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、およびデジタル信号プロセッサ(DSP)として実装され得る。プロセッサ1130は、入口ポート1110、受信機ユニット1120、送信機ユニット1140、出口ポート1150、およびメモリ1160と通信する。プロセッサ1130は、コーディングモジュール1170を含む。コーディングモジュール1170は、上述の開示される実施形態を実装する。例えば、コーディングモジュール1170は、種々のコーデック機能を実装、処理、準備、または提供する。したがって、コーディングモジュール1170を含むことで、ビデオコーディングデバイス1100の機能に対する実質的な改善が提供され、ビデオコーディングデバイス1100の異なる状態への変換をもたらす。代替的に、コーディングモジュール1170は、メモリ1160に記憶され、プロセッサ1130によって実行される命令として実装される。
【0189】
ビデオコーディングデバイス1100はまた、ユーザとの間でデータを通信するための入力および/または出力(I/O)デバイス1180を含み得る。I/Oデバイス1180は、ビデオデータを表示するためのディスプレイ、オーディオデータを出力するためのスピーカなどの出力デバイスを含み得る。I/Oデバイス1180はまた、キーボード、マウス、トラックボールなどの入力デバイス、および/またはかかる出力デバイスと対話するための対応するインターフェースを含み得る。
【0190】
メモリ1160は、1または複数のディスク、テープドライブ、およびソリッドステートドライブを含み、オーバーフローデータストレージデバイスとして使用されて、かかるプログラムが実行のために選択されたときにプログラムを記憶し、プログラム実行中に読み取られる命令およびデータを記憶することができる。メモリ1160は、揮発性および/または不揮発性であってよく、読取り専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、ターナリ連想メモリ(TCAM)、および/またはスタティックランダムアクセスメモリ(SRAM)であってよい。
【0191】
図12は、コーディングのための手段1200の一実施形態の概略図である。一実施形態では、コーディングのための手段1200は、ビデオコーディングデバイス1202(例えば、ビデオエンコーダ300またはビデオデコーダ400)中に実装される。ビデオコーディングデバイス1202は、受信手段1201を含む。受信手段1201は、符号化するピクチャを受信するか、または復号するビットストリームを受信するように構成される。ビデオコーディングデバイス1202は、受信手段1201に結合された送信手段1207を含む。送信手段1207は、ビットストリームをデコーダに送信するように、または復号済み画像を表示手段(例えば、I/Oデバイス1180のうちの1つ)に送信するように構成される。
【0192】
ビデオコーディングデバイス1202は、記憶手段1203を含む。記憶手段1203は、受信手段1201または送信手段1207のうちの少なくとも1つに結合される。記憶手段1203は、命令を記憶するように構成される。ビデオコーディングデバイス1202はまた、処理手段1205を含む。処理手段1205は、記憶手段1203に結合される。処理手段1205は、記憶手段1203に記憶された命令を実行して、本明細書に開示される方法を実行するように構成される。
【0193】
本明細書に記載される例示的な方法のステップは、必ずしも記載された順序で実行される必要はなく、かかる方法のステップの順序は単なる例示であると理解されるべきであることも理解されるべきである。同様に、本開示の種々の実施形態と一致する方法において、追加のステップがかかる方法に含まれてもよく、特定のステップが省略または組み合わされてもよい。
【0194】
本開示において複数の実施形態が提供されているが、開示されたシステムおよび方法は、本開示の精神または範囲から逸脱することなく、多くの他の特定の形態で具現化され得ることを理解されたい。本実施例は、例示的であって限定的ではないと見なされるべきであり、本発明は、本明細書に与えられた詳細に限定されるべきではない。例えば、種々の要素または構成要素は、別のシステムにおいて組み合わされるか、もしくは統合されてもよく、または特定の特徴が省略されるか、もしくは実装されなくてもよい。
【0195】
加えて、離散的または別個のものとして種々の実施形態において説明および図示される技術、システム、サブシステム、および方法は、本開示の範囲から逸脱することなく、他のシステム、モジュール、技術、または方法と組み合わせられるか、または統合され得る。互いに結合され、または直接結合され、または通信するものとして図示または説明される他のアイテムは、電気的、機械的、または他の方法にかかわらず、一部のインターフェース、デバイス、または中間構成要素を介して間接的に結合または通信することができる。変更、置換、および代替の他の例は、当業者によって確認可能であり、本明細書に開示される精神および範囲から逸脱することなく行われ得る。
(他の可能な項目)
(項目1)
ビデオデコーダによって実装される復号の方法であって、
前記ビデオデコーダによって、複数のレイヤと、各々が前記複数のレイヤからの1または複数のレイヤを含む複数の出力レイヤセット(OLS)を特定するビデオパラメータセット(VPS)と、前記1または複数のレイヤのうち1または複数が前記複数のOLSのうちの2つ以上に含まれているときに1回のみ、前記1または複数のレイヤの各々についての復号済みピクチャバッファ(DPB)パラメータのセットを含むシーケンスパラメータセット(SPS)と、を含むビデオビットストリームを受信する段階と、
前記ビデオデコーダによって、前記複数のレイヤのうちの1つからのピクチャを復号して、復号済みピクチャを取得する段階と、
を含む、方法。
(項目2)
前記復号の前に、前記1または複数のレイヤのうちの1つから出力レイヤを選択することをさらに含む、項目1に記載の方法。
(項目3)
前記出力レイヤが選択された後に、前記出力レイヤから前記ピクチャを選択することをさらに含む、項目1または2に記載の方法。
(項目4)
前記DPBパラメータのセットが、第1のDPBサイズおよび第2のDPBサイズを含む、項目1~3のいずれか一項に記載の方法。
(項目5)
前記第1のDPBサイズが、前記1または複数のレイヤからの出力レイヤに対応し、前記第2のDPBサイズが、前記1または複数のレイヤからの非出力レイヤに対応する、項目4に記載の方法。
(項目6)
前記SPSが、前記1または複数のレイヤのうち1または複数が前記複数のOLSのうちの2つ以上に含まれているときに1回のみ、前記1または複数のレイヤの各々についてのレベル情報を含む、項目1~5のいずれか一項に記載の方法。
(項目7)
前記DPBパラメータのセットに含まれる第1のDPBサイズから第2のDPBサイズを推論することをさらに含む、項目1~6のいずれか一項に記載の方法。
(項目8)
前記複数のレイヤからの前記1または複数のレイヤのうちの1つが、1または複数のサブレイヤを含む、項目1~7のいずれか一項に記載の方法。
(項目9)
前記復号済みピクチャを電子デバイスのディスプレイ上に表示することをさらに含む、項目1~8のいずれか一項に記載の方法。
(項目10)
ビデオエンコーダによって実装される符号化の方法であって、前記方法が、
前記ビデオエンコーダによって、複数のレイヤと、各々が前記複数のレイヤからの1または複数のレイヤを含む複数の出力レイヤセット(OLS)を特定するビデオパラメータセット(VPS)と、前記1または複数のレイヤのうち1または複数が前記複数のOLSのうちの2つ以上に含まれているときに1回のみ、前記1または複数のレイヤの各々についての復号済みピクチャバッファ(DPB)パラメータのセットを含むシーケンスパラメータセット(SPS)と、を生成する段階と、
前記ビデオエンコーダによって、前記複数のレイヤ、前記VPS、および前記SPSをビデオビットストリームに符号化する段階と、
前記ビデオエンコーダによって、ビデオデコーダへの通信のために前記ビデオビットストリームを記憶する段階と、
を含む、方法。
(項目11)
前記1または複数のレイヤのうちの1つを出力レイヤとして指定し、前記1または複数のレイヤのうちの別のレイヤを非出力レイヤとして指定することをさらに含む、項目10に記載の方法。
(項目12)
前記SPSが、前記1または複数のレイヤのうち1または複数が前記複数のOLSのうちの2つ以上に含まれているときに1回のみ、前記1または複数のレイヤの各々についてのレベル情報を含む、項目10または11に記載の方法。
(項目13)
前記DPBパラメータのセットが、単一のDPBサイズを含む、項目10~12のいずれか一項に記載の方法。
(項目14)
前記複数のレイヤからの前記1または複数のレイヤのうちの1つが、1または複数のサブレイヤを含む、項目10~13のいずれか一項に記載の方法。
(項目15)
復号デバイスであって、
複数のレイヤと、各々が前記複数のレイヤからの1または複数のレイヤを含む複数の出力レイヤセット(OLS)を特定するビデオパラメータセット(VPS)と、前記1または複数のレイヤのうち1または複数が前記複数のOLSのうちの2つ以上に含まれているときに1回のみ、前記1または複数のレイヤの各々についての復号済みピクチャバッファ(DPB)パラメータのセットを含むシーケンスパラメータセット(SPS)と、を有するビデオビットストリームを受信するように構成された受信機と、
前記受信機に結合されたメモリであって、前記メモリが、命令を記憶する、メモリと、
前記メモリに結合されたプロセッサであって、前記プロセッサが、前記命令を実行して、前記復号デバイスに複数のレイヤのうちの1つからピクチャを復号させて復号済みピクチャを取得させるように構成されたプロセッサと、
を備える、復号デバイス。
(項目16)
前記プロセッサが、
前記復号の前に、前記1または複数のレイヤのうちの1つから出力レイヤを選択することと、
前記出力レイヤが選択された後に、前記出力レイヤから前記ピクチャを選択することと、
を行うようにさらに構成されている、項目15に記載の復号デバイス。
(項目17)
前記DPBパラメータのセットが、第1のDPBサイズおよび第2のDPBサイズを含む、項目15または16に記載の復号デバイス。
(項目18)
前記第1のDPBサイズが、前記1または複数のレイヤからの出力レイヤに対応し、前記第2のDPBサイズが、前記1または複数のレイヤからの非出力レイヤに対応する、項目15~17のいずれか一項に記載の復号デバイス。
(項目19)
前記DPBパラメータのセットが、前記1または複数のレイヤからの出力レイヤおよび前記1または複数のレイヤからの非出力レイヤが両方とも単一のDPBサイズを有するとき、前記単一のDPBサイズを含む、項目18に記載の復号デバイス。
(項目20)
前記プロセッサが、前記DPBパラメータのセットに含まれる第1のDPBサイズから第2のDPBサイズを推論するようにさらに構成されている、項目15~19のいずれか一項に記載の復号デバイス。
(項目21)
前記複数のレイヤからの前記1または複数のレイヤのうちの1つが、1または複数のサブレイヤを含む、項目15~20のいずれか一項に記載の復号デバイス。
(項目22)
前記復号済みピクチャを表示するように構成されたディスプレイをさらに含む、項目15~21のいずれか一項に記載の復号デバイス。
(項目23)
符号化デバイスであって、
命令を含むメモリと、
前記メモリに結合されたプロセッサであって、前記プロセッサが、前記命令を実装して、前記符号化デバイスに、
複数のレイヤと、各々が前記複数のレイヤからの1または複数のレイヤを含む複数の出力レイヤセット(OLS)を特定するビデオパラメータセット(VPS)と、前記1または複数のレイヤのうち1または複数が前記複数のOLSのうちの2つ以上に含まれているときに1回のみ、前記1または複数のレイヤの各々についての復号済みピクチャバッファ(DPB)パラメータのセットを含むシーケンスパラメータセット(SPS)と、を生成することと、
前記複数のレイヤ、前記VPS、および前記SPSをビデオビットストリームに符号化することと、
を行わせるように構成されたプロセッサと、
前記プロセッサに結合された送信機であって、前記送信機が、前記ビデオビットストリームをビデオデコーダに向けて送信するように構成されている、送信機と、
を備える、符号化デバイス。
(項目24)
前記プロセッサが、前記符号化デバイスに、前記1または複数のレイヤのうちの1つを出力レイヤとして指定させ、前記1または複数のレイヤのうちの別のレイヤを非出力レイヤとして指定させるようにさらに構成されている、項目23に記載の符号化デバイス。
(項目25)
前記DPBパラメータのセットが、第1のDPBサイズおよび第2のDPBサイズを含む、項目23または24に記載の符号化デバイス。
(項目26)
前記DPBパラメータのセットが、単一のDPBサイズを含む、項目23~25のいずれか一項に記載の符号化デバイス。
(項目27)
前記複数のレイヤからの前記1または複数のレイヤのうちの1つが、1または複数のサブレイヤを含む、項目23~26のいずれか一項に記載の符号化デバイス。
(項目28)
コーディング装置であって、
符号化するピクチャを受信するか、または復号するビットストリームを受信するように構成された受信機と、
前記受信機に結合された送信機であって、前記送信機が、前記ビットストリームをデコーダに送信するか、または復号済み画像をディスプレイに送信するように構成されている、送信機と、
前記受信機または前記送信機のうちの少なくとも1つに結合されたメモリであって、前記メモリが、命令を記憶するように構成されている、メモリと、
前記メモリに結合されたプロセッサであって、前記プロセッサが、前記メモリに記憶された前記命令を実行して、項目1~9のいずれか一項および項目10~14のいずれか一項に記載の方法を実行するように構成されている、プロセッサと、
を備える、コーディング装置。
(項目29)
復号済みピクチャを表示するように構成されたディスプレイをさらに含む、項目28に記載のコーディング装置。
(項目30)
システムであって、
エンコーダと、
前記エンコーダと通信するデコーダと、
を備え、前記エンコーダまたは前記デコーダが、項目15~29のいずれか一項に記載の復号デバイス、符号化デバイス、またはコーディング装置を含む、
システム。
(項目31)
コーディングのための手段であって、
符号化するピクチャを受信するか、または復号するビットストリームを受信するように構成された受信手段と、
前記受信手段に結合された送信手段であって、前記送信手段が、前記ビットストリームを復号手段に送信するか、または復号済み画像を表示手段に送信するように構成されている、送信手段と、
前記受信手段または前記送信手段のうちの少なくとも1つに結合された記憶手段であって、前記記憶手段が、命令を記憶するように構成されている、記憶手段と、
前記記憶手段に結合された処理手段であって、前記処理手段が、前記記憶手段に記憶された前記命令を実行して、項目1~9のいずれか一項および項目10~14のいずれか一項に記載の方法を実行するように構成されている、処理手段と、
を備える、コーディングのための手段。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12