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

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

▶ 華為技術有限公司の特許一覧

特表2022-549838ビデオコーディングにおけるピクチャーヘッダーのシグナリング
<>
  • 特表-ビデオコーディングにおけるピクチャーヘッダーのシグナリング 図1
  • 特表-ビデオコーディングにおけるピクチャーヘッダーのシグナリング 図2
  • 特表-ビデオコーディングにおけるピクチャーヘッダーのシグナリング 図3
  • 特表-ビデオコーディングにおけるピクチャーヘッダーのシグナリング 図4
  • 特表-ビデオコーディングにおけるピクチャーヘッダーのシグナリング 図5
  • 特表-ビデオコーディングにおけるピクチャーヘッダーのシグナリング 図6
  • 特表-ビデオコーディングにおけるピクチャーヘッダーのシグナリング 図7
  • 特表-ビデオコーディングにおけるピクチャーヘッダーのシグナリング 図8
  • 特表-ビデオコーディングにおけるピクチャーヘッダーのシグナリング 図9
  • 特表-ビデオコーディングにおけるピクチャーヘッダーのシグナリング 図10
  • 特表-ビデオコーディングにおけるピクチャーヘッダーのシグナリング 図11
  • 特表-ビデオコーディングにおけるピクチャーヘッダーのシグナリング 図12
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-11-29
(54)【発明の名称】ビデオコーディングにおけるピクチャーヘッダーのシグナリング
(51)【国際特許分類】
   H04N 19/70 20140101AFI20221121BHJP
   H04N 19/30 20140101ALI20221121BHJP
【FI】
H04N19/70
H04N19/30
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2022518815
(86)(22)【出願日】2020-08-05
(85)【翻訳文提出日】2022-04-26
(86)【国際出願番号】 US2020045037
(87)【国際公開番号】W WO2021061281
(87)【国際公開日】2021-04-01
(31)【優先権主張番号】62/905,150
(32)【優先日】2019-09-24
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】503433420
【氏名又は名称】華為技術有限公司
【氏名又は名称原語表記】HUAWEI TECHNOLOGIES CO.,LTD.
【住所又は居所原語表記】Huawei Administration Building, Bantian, Longgang District, Shenzhen, Guangdong 518129, P.R. China
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【弁理士】
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】ヘンドリー,フヌ
(72)【発明者】
【氏名】ワーン,イエ-クイ
(72)【発明者】
【氏名】チェン,ジエンローァ
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159MA04
5C159MA05
5C159MA17
5C159MA21
5C159MA31
5C159MC11
5C159ME11
5C159RB09
5C159RC12
5C159TA23
5C159TB06
5C159TC44
5C159UA02
5C159UA05
5C159UA16
(57)【要約】
復号の方法が提供される。前記方法は、前記ビデオデコーダによって、ピクチャーユニット(PU)を含むビデオビットストリームを受信し、前記PUは、ピクチャーヘッダー(PH)ネットワーク抽象化レイヤー(NAL)ユニットタイプ(PH_NUT)を有するPH NALユニットと、関連するビデオコーディングレイヤー(VCL)NALユニットと、を含み、前記PH_NUTは、前記PH NALユニットのレイヤー識別子(ID)が前記関連するビデオコーディングレイヤー(VCL)NALユニットのレイヤーIDに等しいこと、および前記PH NALユニットの時間IDが、前記PUの時間IDに等しいことを示す、ステップと、前記PUからコーディングピクチャーを復号して、復号ピクチャーを得るステップと、を含む。
【特許請求の範囲】
【請求項1】
ビデオデコーダによって実現される復号方法であって、
前記ビデオデコーダによって、ピクチャーユニット(PU)を含むビデオビットストリームを受信し、前記PUは、ピクチャーヘッダー(PH)ネットワーク抽象化レイヤー(NAL)ユニットタイプ(PH_NUT)を有するPH NALユニットと、関連するビデオコーディングレイヤー(VCL)NALユニットと、を含み、前記PH_NUTは、前記PH NALユニットのレイヤー識別子(ID)が前記関連するVCL NALユニットのレイヤーIDに等しいこと、および前記PH NALユニットの時間IDが、前記PUの時間IDに等しいことを示す、ステップと、
前記ビデオデコーダによって、前記PUからコーディングピクチャーを復号して、復号ピクチャーを得るステップと、
を含む方法。
【請求項2】
前記PUは、1つのみのピクチャーヘッダー(PH)を含み、前記コーディングピクチャーは前記PU内の1つのみのピクチャーである、請求項1に記載の方法。
【請求項3】
前記PH NALユニットの前記レイヤーIDに基づき、前記コーディングピクチャーのレイヤーを識別し、前記PH NALユニットの前記時間IDに基づき、前記ビデオビットストリーム内の前記コーディングピクチャーの時間的位置を識別するステップ、を更に含む請求項1~2のいずれかに記載の方法。
【請求項4】
前記関連するVCL NALユニットは、前記コーディングピクチャーのスライスを含む、請求項1~3のいずれかに記載の方法。
【請求項5】
前記PH NALユニットは、非VCL NALユニットである、請求項1~4のいずれかに記載の方法。
【請求項6】
前記PH NALユニットは、前記1つのみのPHを含む、請求項2に記載の方法。
【請求項7】
前記PH NALユニットの前記レイヤーIDは、nuh_layer_idとして指示される、請求項1~6のいずれかに記載の方法。
【請求項8】
前記VCL NALユニットのレイヤーIDは、前記関連するVCL NALユニットを含むレイヤーを識別する、請求項1~7のいずれかに記載の方法。
【請求項9】
電子装置のディスプレー上で前記復号ピクチャーを表示するステップを更に含む請求項1~8のいずれかに記載の方法。
【請求項10】
ビデオエンコーダにより実施される符号化方法であって、前記方法は、
前記ビデオエンコーダにより、ピクチャーユニット(PU)を生成するステップであって、前記PUは、ピクチャーヘッダーNALユニットタイプ(PH_NUT)を有するピクチャーヘッダー(PH)ネットワーク抽象化レイヤー(NAL)ユニットと、関連するビデオコーディングレイヤー(VCL)NALユニットと、を含み、前記PH_NUTは、前記PH NALユニットのレイヤー識別子(ID)が前記関連するVCL NALユニットのレイヤーIDと等しいこと、および前記PH NALユニットの時間IDが前記PUの時間IDと等しいことを示す、ステップと、
前記ビデオエンコーダにより、前記PUをビデオビットストリームへと符号化するステップと、
前記ビデオエンコーダにより、ビデオデコーダへ向けて通信するために、前記ビデオビットストリームを格納するステップと、
を含む方法。
【請求項11】
前記PUは、1つのみのピクチャーヘッダー(PH)、およびコーディングピクチャーを含み、前記コーディングピクチャーは前記PU内の1つのみのピクチャーである、請求項10に記載の方法。
【請求項12】
前記PH NALユニットの前記レイヤーIDは、前記ビデオビットストリーム内の前記コーディングピクチャーのレイヤーを識別し、前記PH NALユニットの前記時間IDは、マルチレイヤービットストリーム内の前記コーディングピクチャーの時間的位置を識別する、請求項11に記載の方法。
【請求項13】
前記関連するVCL NALユニットは、前記コーディングピクチャーのスライスを含み、前記PH NALユニットは非VCL NALユニットであるむ、請求項11~12のいずれかに記載の方法。
【請求項14】
復号装置であって、
ピクチャーユニット(PU)を含むビデオビットストリームを受信するよう構成される受信機であって、前記PUは、ピクチャーヘッダー(PH)ネットワーク抽象化レイヤー(NAL)ユニットタイプ(PH_NUT)を有するPH NALユニットと、関連するビデオコーディングレイヤー(VCL)NALユニットと、を含み、前記PH_NUTは、前記PH NALユニットのレイヤー識別子(ID)が前記関連するVCL NALユニットのレイヤーIDに等しいこと、および前記PH NALユニットの時間IDが、前記PUの時間IDに等しいことを示す、受信機と、
前記受信機に結合されるメモリであって、前記メモリは命令を含む、メモリと、
前記メモリに結合されるプロセッサであって、前記プロセッサは、前記復号装置に、前記PUからコーディングピクチャーを復号させて、復号ピクチャーを取得させるために、前記命令を実行するよう構成される、プロセッサと、
を含む復号装置。
【請求項15】
前記PUは、1つのみのピクチャーヘッダー(PH)を含み、前記コーディングピクチャーは前記PU内の1つのみのピクチャーである、請求項14に記載の復号装置。
【請求項16】
前記プロセッサは、前記復号装置に、前記PH NALユニットの前記レイヤーIDに基づき、前記ビデオビットストリーム内の前記コーディングピクチャーのレイヤーを識別させ、前記PH NALユニットの前記時間IDに基づき、前記ビデオビットストリーム内の前記コーディングピクチャーの時間的位置を識別させるために、前記命令を実行するよう構成される、請求項15に記載の復号装置。
【請求項17】
前記関連するVCL NALユニットは、前記コーディングピクチャーのスライスを含む、請求項15~16のいずれかに記載の復号装置。
【請求項18】
符号化装置であって、
命令を含むメモリと、
前記メモリに結合されるプロセッサであって、前記プロセッサは、前記符号化装置に、
ピクチャーヘッダー(PH)ネットワーク抽象化レイヤー(NAL)ユニットタイプ(PH_NUT)を有するPH NALユニットと、関連するビデオコーディングレイヤー(VCL)NALユニットと、を含むピクチャーユニット(PU)を生成させ、前記PH_NUTは、前記PH NALユニットのレイヤー識別子(ID)が前記関連するVCL NALユニットのレイヤーIDに等しいこと、および前記PH NALユニットの時間IDが前記PUの時間IDと等しいこと、を示し、
前記PUをビデオビットストリームへと符号化させる、
ために、前記命令を実施するよう構成される、プロセッサと、
前記プロセッサに結合される送信機であって、前記送信機は、ビデオデコーダへ向けて前記ビデオビットストリームを送信するよう構成される、送信機と、
を含む符号化装置。
【請求項19】
前記PUは、1つのみのピクチャーヘッダー(PH)、およびコーディングピクチャーを含み、前記コーディングピクチャーは前記PU内の1つのみのピクチャーである、請求項18に記載の符号化装置。
【請求項20】
前記PH NALユニットの前記レイヤーIDは、前記ビデオビットストリーム内の前記コーディングピクチャーのレイヤーを識別し、前記PH NALユニットの前記時間IDは、前記ビデオビットストリーム内の前記コーディングピクチャーの時間的位置を識別する、請求項19に記載の符号化装置。
【請求項21】
コーディング機器であって、
ピクチャーを受信して符号化するか、またはビットストリームを受信して復号するよう構成される受信機と、
前記受信機に結合される送信機であって、前記送信機は、前記ビットストリームをデコーダへ送信するか、または復号画像をディスプレーへ送信するよう構成される、送信機と、
前記受信機または前記送信機のうちの少なくとも1つに結合されるメモリであって、前記メモリは、命令を格納するよう構成される、メモリと、
前記メモリに結合されるプロセッサであって、前記プロセッサは、請求項1~9のいずれか、および請求項10~13のいずれかに記載の方法を実行するために、前記メモリに格納された前記命令を実行するよう構成される、プロセッサと、
を含むコーディング機器。
【請求項22】
復号ピクチャーを表示するよう構成されるディスプレーを更に含む請求項20に記載のコーディング機器。
【請求項23】
エンコーダと、
前記エンコーダと通信するデコーダであって、前記エンコーダまたは前記デコーダは、請求項15~22のいずれかに記載の復号装置、符号化装置、またはコーディング機器を含む、デコーダと、
を含むシステム。
【請求項24】
コーディングする手段であって、
ピクチャーを受信して符号化するか、またはビットストリームを受信して復号するよう構成される受信手段と、
前記受信手段に結合される送信手段であって、前記送信手段は、前記ビットストリームを復号手段へ送信するか、または復号画像をディスプレー手段へ送信するよう構成される、送信手段と、
前記受信手段または前記送信手段のうちの少なくとも1つに結合される記憶手段であって、前記記憶手段は、命令を格納するよう構成される、記憶手段と、
前記記憶手段に結合される処理手段であって、前記処理手段は、請求項1~9のいずれか、および請求項10~13のいずれかに記載の方法を実行するために、前記記憶手段に格納された前記命令を実行するよう構成される、処理手段と、
を含むコーディングする手段。
【発明の詳細な説明】
【技術分野】
【0001】
本願は、参照によりここに組み込まれる米国仮特許出願番号第62/905,150号、2019年9月24日出願、Fnu Hendry他、名称「Signalling of Picture Header in Video Coding」の利益を請求する。
【0002】
概して、本開示は、ビデオコーディングにおけるピクチャーの開始点を決定する技術を記載する。より具体的には、本開示は、ピクチャーの開始点が、ビデオコーディングにおけるマルチレイヤービットストリームの中で正確に決定できることを保証する。
【背景技術】
【0003】
比較的短いビデオでも描写するために必要なビデオデータの量は相当なものになり得る。これは、データが限られた帯域幅能力を有する通信ネットワークに渡りストリーミングされるまたはその他の場合に通信されるとき、困難をもたらすことがある。したがって、ビデオデータは、通常、今日の電気通信ネットワークに渡り通信される前に、圧縮される。ビデオが記憶装置に格納されるとき、メモリリソースが限られていることがあるので、ビデオのサイズも問題になり得る。ビデオ圧縮装置は、送信または記憶の前に、ソースにおいてビデオデータをコーディングするためにソフトウェアおよび/またはハードウェアを度々使用し、それによりデジタルビデオ画像を表現するために必要なデータの量を削減する。圧縮されたデータは、次に、ビデオデータを復号するビデオ伸長装置により宛先において受信される。限られたネットワークリソースおよびより高いビデオ品質の増え続ける要求に伴い、画像品質を僅かしかまたは全く犠牲にせずに圧縮率を向上する改良された圧縮および伸長技術が望ましい。
【発明の概要】
【0004】
第1の態様は、ビデオデコーダによって実現される復号方法であって、
前記ビデオデコーダによって、ピクチャーユニット(PU)を含むビデオビットストリームを受信し、前記PUは、ピクチャーヘッダー(PH)ネットワーク抽象化レイヤー(NAL)ユニットタイプ(PH_NUT)を有するPH NALユニットと、関連するビデオコーディングレイヤー(VCL)NALユニットと、を含み、前記PH_NUTは、前記PH NALユニットのレイヤー識別子(ID)が前記関連するVCL NALユニットのレイヤーIDに等しいこと、および前記PH NALユニットの時間IDが、前記PUの時間IDに等しいことを示す、ステップと、
前記ビデオデコーダによって、前記PUからコーディングピクチャーを復号して、復号ピクチャーを得るステップと、
を含む方法に関する。
【0005】
前記方法は、ピクチャーユニット(PU)が1つのみのピクチャーヘッダー(PH)と1つのみのピクチャーとを含むことを保証する技術を提供し、これは、PHネットワーク抽象化レイヤー(NAL)タイプ(PH_NUT)を有するPH NALユニットのレイヤー識別子(ID)が関連するVCL NALユニットの前記レイヤーIDと等しくなること、および前記PH NALユニットの時間IDが前記PH NALユニットを含む前記PUの前記時間IDと等しくなることを可能にする。前記レイヤーIDおよび前記時間IDを用いて、コーディングエラーを生じることなく、前記マルチレイヤービットストリーム内の前記ピクチャーの開始点が決定できる。従って、実用的な問題として、コーデックの性能が改善され、より良いユーザー経験につながる。
【0006】
任意で、前述の態様のうちのいずれかで、態様の別の実装は、前記PUが、1つのみのピクチャーヘッダー(PH)を含み、前記コーディングピクチャーが前記PU内の1つのみのピクチャーであることを提供する。
【0007】
任意で、前述の態様のうちのいずれかで、態様の別の実装は、前記PH NALユニットの前記レイヤーIDに基づき、前記コーディングピクチャーのレイヤーを識別すること、前記PH NALユニットの前記時間IDに基づき、前記ビデオビットストリーム内の前記コーディングピクチャーの時間的位置を識別することを提供する。
【0008】
任意で、前述の態様のうちのいずれかで、態様の別の実装は、前記関連するVCL NALユニットが前記コーディングピクチャーのスライスを含むことを提供する。
【0009】
任意で、前述の態様のうちのいずれかで、態様の別の実装は、前記PH NALユニットが、非VCL NALユニットであることを提供する。
【0010】
任意で、前述の態様のうちのいずれかで、態様の別の実装は、前記PH NALユニットが、1つのみのPHを含むことを提供する。
【0011】
任意で、前述の態様のうちのいずれかで、態様の別の実装は、前記PH NALユニットの前記レイヤーIDがnuh_layer_idとして指定されることを提供する。
【0012】
任意で、前述の態様のうちのいずれかで、態様の別の実装は、前記VCL NALユニットの前記レイヤーIDが、前記関連するVCL NALユニットを含むレイヤーを識別することを提供する。
【0013】
任意で、上述の態様のいずれかにおいて、本態様の別の実装は、電子装置のディスプレー上で、前記復号ピクチャーを表示することを提供する。
【0014】
第2の態様は、ビデオエンコーダにより実施される符号化方法に関し、前記方法は、
前記ビデオエンコーダにより、ピクチャーユニット(PU)を生成するステップであって、前記PUは、ピクチャーヘッダー(PH)ネットワーク抽象化レイヤー(NAL)ユニットタイプ(PH_NUT)を有するPH NALユニットと、関連するビデオコーディングレイヤー(VCL)NALユニットと、を含み、前記PH_NUTは、前記PH NALユニットのレイヤー識別子(ID)が前記関連するVCL NALユニットのレイヤーIDと等しいこと、および前記PH NALユニットの時間IDが前記PUの時間IDと等しいことを示す、ステップと、
前記ビデオエンコーダにより、前記PUをビデオビットストリームへと符号化するステップと、
前記ビデオエンコーダにより、ビデオデコーダへ向けて通信するために、前記ビデオビットストリームを格納するステップと、
を含む。
【0015】
前記方法は、ピクチャーユニット(PU)が1つのみのピクチャーヘッダー(PH)と1つのみのピクチャーとを含むことを保証する技術を提供し、これは、PHネットワーク抽象化レイヤー(NAL)タイプ(PH_NUT)を有するPH NALユニットのレイヤー識別子(ID)が関連するVCL NALユニットの前記レイヤーIDと等しくなること、および前記PH NALユニットの時間IDが前記PH NALユニットを含む前記PUの前記時間IDと等しくなることを可能にする。前記レイヤーIDおよび前記時間IDを用いて、コーディングエラーを生じることなく、前記マルチレイヤービットストリーム内の前記ピクチャーの開始点が決定できる。従って、実用的な問題として、コーデックの性能が改善され、より良いユーザー経験につながる。
【0016】
任意で、前述の態様のうちのいずれかで、態様の別の実装は、前記PUが、1つのみのピクチャーヘッダー(PH)とコーディングピクチャーとを含み、前記コーディングピクチャーが前記PU内の1つのみのピクチャーであることを提供する。
【0017】
任意で、上述の態様のいずれかにおいて、本態様の別の実装は、前記PH NALユニットの前記レイヤーIDは、前記ビデオビットストリーム内の前記コーディングピクチャーのレイヤーを識別し、前記PH NALユニットの前記時間IDは、マルチレイヤービットストリーム内の前記コーディングピクチャーの時間的位置を識別することを提供する。
【0018】
任意で、前述の態様のうちのいずれかで、態様の別の実装は、前記関連するVCL NALユニットが前記コーディングピクチャーのスライスを含み前記PH NALユニットは非VCL NALユニットであることを提供する。
【0019】
第3の態様は、復号装置に関し、前記復号装置は、
ピクチャーユニット(PU)を含むビデオビットストリームを受信するよう構成される受信機であって、前記PUは、ピクチャーヘッダー(PH)ネットワーク抽象化レイヤー(NAL)ユニットタイプ(PH_NUT)を有するPH NALユニットと、関連するビデオコーディングレイヤー(VCL)NALユニットと、を含み、前記PH_NUTは、前記PH NALユニットのレイヤー識別子(ID)が前記関連するVCL NALユニットのレイヤーIDに等しいこと、および前記PH NALユニットの時間IDが、前記PUの時間IDに等しいことを示す、受信機と、
前記受信機に結合されるメモリであって、前記メモリは命令を含む、メモリと、
前記メモリに結合されるプロセッサであって、前記プロセッサは、前記復号装置に、前記PUからコーディングピクチャーを復号させて、復号ピクチャーを取得させるために、前記命令を実行するよう構成される、プロセッサと、
を含む。
【0020】
前記復号装置は、ピクチャーユニット(PU)が1つのみのピクチャーヘッダー(PH)と1つのみのピクチャーとを含むことを保証する技術を提供し、これは、PHネットワーク抽象化レイヤー(NAL)タイプ(PH_NUT)を有するPH NALユニットのレイヤー識別子(ID)が関連するVCL NALユニットの前記レイヤーIDと等しくなること、および前記PH NALユニットの時間IDが前記PH NALユニットを含む前記PUの前記時間IDと等しくなることを可能にする。前記レイヤーIDおよび前記時間IDを用いて、コーディングエラーを生じることなく、前記マルチレイヤービットストリーム内の前記ピクチャーの開始点が決定できる。従って、実用的な問題として、コーデックの性能が改善され、より良いユーザー経験につながる。
【0021】
任意で、前述の態様のうちのいずれかで、態様の別の実装は、前記PUが、1つのみのピクチャーヘッダー(PH)を含み、前記コーディングピクチャーが前記PU内の1つのみのピクチャーであることを提供する。
【0022】
任意で、前述の態様のうちのいずれかで、態様の別の実装は、前記プロセッサが、前記復号装置に、前記PH NALユニットの前記レイヤーIDに基づき、前記ビデオビットストリーム内の前記コーディングピクチャーのレイヤーを識別させ、前記PH NALユニットの前記時間IDに基づき、前記ビデオビットストリーム内の前記コーディングピクチャーの時間的位置を識別させるために、前記命令を実行の別の実装提供するよう構成されることを提供する。
【0023】
任意で、前述の態様のうちのいずれかで、態様の別の実装は、前記関連するVCL NALユニットが前記コーディングピクチャーのスライスを含むことを提供する。
【0024】
第4の態様は、符号化装置に関する。前記符号化装置は、
命令を含むメモリと、
前記メモリに結合されるプロセッサであって、前記プロセッサは、前記符号化装置に、
ピクチャーヘッダー(PH)ネットワーク抽象化レイヤー(NAL)ユニットタイプ(PH_NUT)を有するPH NALユニットと、関連するビデオコーディングレイヤー(VCL)NALユニットと、を含むピクチャーユニット(PU)を生成させ、前記PH_NUTは、前記PH NALユニットのレイヤー識別子(ID)が前記関連するVCL NALユニットのレイヤーIDに等しいこと、および前記PH NALユニットの時間IDが前記PUの時間IDと等しいこと、を示し、
前記PUをビデオビットストリームへと符号化させる、
ために、前記命令を実施するよう構成される、プロセッサと、
前記プロセッサに結合される送信機であって、前記送信機は、ビデオデコーダへ向けて前記ビデオビットストリームを送信するよう構成される、送信機と、
を含む。
【0025】
前記符号化装置は、ピクチャーユニット(PU)が1つのみのピクチャーヘッダー(PH)と1つのみのピクチャーとを含むことを保証する技術を提供し、これは、PHネットワーク抽象化レイヤー(NAL)タイプ(PH_NUT)を有するPH NALユニットのレイヤー識別子(ID)が関連するVCL NALユニットの前記レイヤーIDと等しくなること、および前記PH NALユニットの時間IDが前記PH NALユニットを含む前記PUの前記時間IDと等しくなることを可能にする。前記レイヤーIDおよび前記時間IDを用いて、コーディングエラーを生じることなく、前記マルチレイヤービットストリーム内の前記ピクチャーの開始点が決定できる。従って、実用的な問題として、コーデックの性能が改善され、より良いユーザー経験につながる。
【0026】
任意で、前述の態様のうちのいずれかで、態様の別の実装は、前記PUが、1つのみのピクチャーヘッダー(PH)とコーディングピクチャーとを含み、前記コーディングピクチャーが前記PU内の1つのみのピクチャーであることを提供する。
【0027】
任意で、上述の態様のいずれかにおいて、本態様の別の実装は、前記PH NALユニットの前記レイヤーIDは、前記ビデオビットストリーム内の前記コーディングピクチャーのレイヤーを識別し、前記PH NALユニットの前記時間IDは、前記ビデオビットストリーム内の前記コーディングピクチャーの時間的位置を識別することを提供する。
【0028】
第5の態様は、コーディング機器に関する。コーディング機器は、
ピクチャーを受信して符号化するか、またはビットストリームを受信して復号するよう構成される受信機と、
前記受信機に結合される送信機であって、前記送信機は、前記ビットストリームをデコーダへ送信するか、または復号画像をディスプレーへ送信するよう構成される、送信機と、
前記受信機または前記送信機のうちの少なくとも1つに結合されるメモリであって、前記メモリは、命令を格納するよう構成される、メモリと、
前記メモリに結合されるプロセッサであって、前記プロセッサは、請求項1~9のいずれか、および請求項10~13のいずれかに記載の方法を実行するために、前記メモリに格納された前記命令を実行するよう構成される、プロセッサと、
を含む。
【0029】
前記コーディング機器は、ピクチャーユニット(PU)が1つのみのピクチャーヘッダー(PH)と1つのみのピクチャーとを含むことを保証する技術を提供し、これは、PHネットワーク抽象化レイヤー(NAL)タイプ(PH_NUT)を有するPH NALユニットのレイヤー識別子(ID)が関連するVCL NALユニットの前記レイヤーIDと等しくなること、および前記PH NALユニットの時間IDが前記PH NALユニットを含む前記PUの前記時間IDと等しくなることを可能にする。前記レイヤーIDおよび前記時間IDを用いて、コーディングエラーを生じることなく、前記マルチレイヤービットストリーム内の前記ピクチャーの開始点が決定できる。従って、実用的な問題として、コーデックの性能が改善され、より良いユーザー経験につながる。
【0030】
任意で、上述の態様のいずれかにおいて、本態様の別の実装は、復号ピクチャーを表示するよう構成されるディスプレーを提供する。
【0031】
第6の態様は、システムに関する。前記システムは、
エンコーダと、
前記エンコーダと通信するデコーダであって、前記エンコーダまたは前記デコーダは、本願明細書に開示される復号装置、符号化装置、またはコーディング機器を含む、デコーダと、
を含む。
【0032】
前記システムは、ピクチャーユニット(PU)が1つのみのピクチャーヘッダー(PH)と1つのみのピクチャーとを含むことを保証する技術を提供し、これは、PHネットワーク抽象化レイヤー(NAL)タイプ(PH_NUT)を有するPH NALユニットのレイヤー識別子(ID)が関連するVCL NALユニットの前記レイヤーIDと等しくなること、および前記PH NALユニットの時間IDが前記PH NALユニットを含む前記PUの前記時間IDと等しくなることを可能にする。前記レイヤーIDおよび前記時間IDを用いて、コーディングエラーを生じることなく、前記マルチレイヤービットストリーム内の前記ピクチャーの開始点が決定できる。従って、実用的な問題として、コーデックの性能が改善され、より良いユーザー経験につながる。
【0033】
第7の態様はコーディングする手段に関する。コーディングする手段は、
ピクチャーを受信して符号化するか、またはビットストリームを受信して復号するよう構成される受信手段と、
前記受信手段に結合される送信手段であって、前記送信手段は、前記ビットストリームを復号手段へ送信するか、または復号画像をディスプレー手段へ送信するよう構成される、送信手段と、
前記受信手段または前記送信手段のうちの少なくとも1つに結合される記憶手段であって、前記記憶手段は、命令を格納するよう構成される、記憶手段と、
前記記憶手段に結合される処理手段であって、前記処理手段は、本願明細書に記載される方法のいずれかを実行するために、前記記憶手段に格納された前記命令を実行するよう構成される、処理手段と、
を含む。
【0034】
コーディングする手段は、ピクチャーユニット(PU)が1つのみのピクチャーヘッダー(PH)と1つのみのピクチャーとを含むことを保証する技術を提供し、これは、PHネットワーク抽象化レイヤー(NAL)タイプ(PH_NUT)を有するPH NALユニットのレイヤー識別子(ID)が関連するVCL NALユニットの前記レイヤーIDと等しくなること、および前記PH NALユニットの時間IDが前記PH NALユニットを含む前記PUの前記時間IDと等しくなることを可能にする。前記レイヤーIDおよび前記時間IDを用いて、コーディングエラーを生じることなく、前記マルチレイヤービットストリーム内の前記ピクチャーの開始点が決定できる。従って、実用的な問題として、コーデックの性能が改善され、より良いユーザー経験につながる。
【0035】
明確さを目的として、前述の実施形態のうちのいずれか1つは、他の前述の実施形態のうちの任意の1つ以上と結合されて、本開示の範囲内にある新しい実施形態を生成してよい。
【0036】
上述および他の特徴は、添付の図面および請求の範囲と関連して取り入れられる以下の詳細な説明から一層明確に理解されるだろう。
【図面の簡単な説明】
【0037】
本開示のより完全な理解のために、ここで、添付の図面および詳細な説明と関連して以下の簡単な説明を参照する。ここで同様の参照符号は同様の部分を表す。
【0038】
図1】ビデオ信号をコーディングする例示的な方法のフローチャートである。
【0039】
図2】ビデオコーディングのための例示的なコーディングおよび復号(コーデック)システムの概略図である。
【0040】
図3】例示的なビデオエンコーダを示す概略図である。
【0041】
図4】例示的なビデオデコーダを示す概略図である。
【0042】
図5】空間スケーラビリティのためのマルチレイヤーコーディングの例を示す。
【0043】
図6】段階的復号リフレッシュ(GDR)技術を実施するよう構成されるビデオビットストリームを示す。
【0044】
図7】GDRをサポートするためにエンコーダ制約を用いるときの、望ましくない動き検索を示す概略図である。
【0045】
図8】ビデオビットストリームの実施形態を示す。
【0046】
図9】コーディングビデオビットストリームを復号する方法の実施形態である。
【0047】
図10】コーディングビデオビットストリームの方法の実施形態である。
【0048】
図11】ビデオ符号化装置の概略図である。
【0049】
図12】コーディングする手段の実施形態の概略図である。
【発明を実施するための形態】
【0050】
初めに理解されるべきことに、1つ以上の実施形態の説明的実装が以下に提供されるが、開示のシステムおよび/または方法は、現在知られているかまたは既存かに関わらず、任意の数の技術を用いて実装されてよい。本開示は、ここに図示され説明される例示的な設計および実装を含む以下に説明する説明的実装、図面、および技術に決して限定されるべきではなく、添付の請求の範囲の範囲内で、それらの均等物の全範囲と共に、変更されてよい。
【0051】
以下の用語は、本願明細書で矛盾する文脈で使用されない限り、以下のように定義される。特に、以下の定義は、本開示に更なる明確さを提供することを意図している。しかしながら、用語は、異なる文脈で異なるように記載されることがある。従って、以下の定義は、補助として考えられるべきであり、本願明細書においてそのような用語のために提供される記述の任意の他の定義を制限すると考えられるべきではない。
【0052】
ビットストリームは、エンコーダとデコーダの間の送信のために圧縮されるビデオデータを含むビットのシーケンスである。エンコーダは、ビデオデータをビットストリームへと圧縮するために、符号化処理を利用するよう構成される装置である。デコーダは、表示のためにビットストリームからビデオデータを再構成するために、復号処理を利用するよう構成される装置である。ピクチャーは、フレームまたはそのフィールドを生成するクロマサンプルのアレイおよび/またはルマサンプルのアレイである。符号化または復号されているピクチャーは、議論の明確さのために、現在ピクチャーと呼ぶことができる。参照ピクチャーは、インター予測および/またはインターレイヤー予測に従い、参照により他のピクチャーをコーディングするときに使用可能な参照サンプルを含むピクチャーである。参照ピクチャーリストは、インター予測および/またはインターレイヤー予測のために使用される参照ピクチャーのリストである。いくつかのビデオコーディングシステムは、参照ピクチャーリスト1および参照ピクチャーリスト0と表すことのできる2つの参照ピクチャーリストを利用する。参照ピクチャーリスト構造は、複数の参照ピクチャーリストを含むアドレス可能なシンタックス構造である。インター予測は、参照により、現在ピクチャーのサンプルを、現在ピクチャーと異なる参照ピクチャー内の示されたサンプルにコーディングするメカニズムである。ここで、参照ピクチャーと現在ピクチャーは同じレイヤーにある。参照ピクチャーリスト構造エントリーは、参照ピクチャーリストに関連付けられる参照ピクチャーを示す、参照ピクチャーリスト構造内のアドレス可能な位置である。スライスヘッダーは、スライス内で表現されるタイルの中の全部のビデオデータに関連するデータ要素を含むコーディングスライスの一部である。ピクチャーパラメータセット(picture parameter set (PPS))は、ピクチャー全体に関連するデータを含むパラメータセットである。より具体的には、PPSは、各ピクチャーヘッダーの中で見付かるシンタックス要素により決定されるような、0個以上のコーディングピクチャー全体に適用されるシンタックス要素を含むシンタックス構造である。シーケンスパラメータセット(sequence parameter set (SPS))は、ピクチャーのシーケンスに関連するデータを含むパラメータセットである。アクセスユニット(access unit (AU))は、復号ピクチャーバッファ(decoded picture buffer (DPB))から出力するために(たとえば、ユーザーへの表示のために)同じ表示時間(たとえば、同じピクチャー順序カウント)に関連付けられる1つ以上のコーディングピクチャーのセットである。アクセスユニットデリミタ(access unit delimiter (AUD))は、AUの開始またはAU間の境界を示すために使用される指示子またはデータ構造である。復号ビデオシーケンスは、ユーザーへの表示を準備する際に、デコーダにより再構成されたピクチャーのシーケンスである。
【0053】
以下の略語が本願明細書で使用される。コーディングツリーブロック(coding tree block (CTB))、コーディングツリーユニット(coding tree unit (CTU))、コーディングユニット(coding unit (CU))、コーディングビデオシーケンス(coded video sequence (CVS))、共同ビデオ専門家チーム(Joint Video Experts Team (JVET))、ネットワーク抽象化レイヤー(network abstraction layer (NAL))、ピクチャー順序カウント(picture order count (POC))、ピクチャーパラメータセット(Picture Parameter Set (PPS))、生バイトシーケンスペイロード(raw byte sequence payload (RBSP))、シーケンスパラメータセット(sequence parameter set (SPS))、バーサタイルビデオコーディング(versatile video coding (VVC))、およびワーキングドラフト(working draft (WD))。
【0054】
図1は、ビデオ信号のコーディングの例示的な動作方法100のフローチャートである。具体的に、ビデオ信号はエンコーダで符号化される。符号化処理は、ビデオファイルサイズを削減するために、種々のメカニズムを利用することにより、ビデオ信号を圧縮する。小さなファイルサイズほど、関連する帯域幅オーバーヘッドを削減しながら、ユーザーに向けて圧縮されたビデオファイルを送信することを可能にする。デコーダは、次に、エンドユーザーに表示するために、圧縮されたビデオファイルを復号して元のビデオ信号を再構成する。復号処理は、通常、符号化処理のミラーであり、デコーダがビデオ信号を矛盾無く再構成することを可能にする。
【0055】
ステップ101で、ビデオ信号はエンコーダに入力される。たとえば、ビデオ信号は、メモリに格納された非圧縮ビデオファイルであってよい。別の例として、ビデオファイルは、ビデオカメラのようなビデオキャプチャ装置によりキャプチャされ、ビデオのライブストリーミングをサポートするために符号化されてよい。ビデオファイルは、オーディオコンポーネントおよびビデオコンポーネントの両方を含んでよい。ビデオコンポーネントは、シーケンスの中で閲覧されるとき、動きの視覚的印象を与える一連の画像フレームを含む。フレームは、ここではルマ成分(またはルマサンプル)と呼ばれる光、およびクロマ成分(またはクロマサンプル)と呼ばれる色、の観点で表現されるピクセルを含む。いくつかの例では、フレームは、3次元表示をサポートするために、深さ値も含んでよい。
【0056】
ステップ103で、ビデオはブロックにパーティションされる。パーティションは、圧縮のために、各フレーム内のピクセルを正方形および/または長方形ブロックに細分化することを含む。たとえば、高効率ビデオコーディング(High Efficiency Video Coding(HEVC))(H.265およびMPEG-H Part2としても知られる)では、フレームは、先ず、所定のサイズ(たとえば、64ピクセル×64ピクセル)のブロックであるコーディングツリー単位(coding tree unit(CTU))に分割できる。CTUは、ルマおよびクロマサンプルの両方を含む。コーディングツリーは、CTUをブロックに分割し、次に、更なる符号化をサポートする構成が達成されるまで、ブロックを繰り返し細分化するために利用されてよい。たとえば、フレームのルマ成分は、個々のブロックが比較的同種の光の値を含むまで、細分化されてよい。さらに、フレームのクロマ成分は、個々のブロックが比較的同種の色の値を含むまで、細分化されてよい。したがって、パーティションメカニズムは、ビデオフレームの内容に依存して変化する。
【0057】
ステップ105で、ステップ103でパーティションされた画像ブロックを圧縮するために、種々の圧縮メカニズムが利用される。たとえば、インター予測および/またはイントラ予測が利用されてよい。インター予測は、共通のシーンの中のオブジェクトは連続フレームで現れる傾向があるという事実を利用するよう設計される。したがって、参照フレーム内のオブジェクトを描写するブロックは、隣接フレーム内で繰り返し示される必要がない。具体的には、テーブルのようなオブジェクトは、複数のフレームに渡り、一定の位置に留まってよい。したがって、テーブルは一度示され、隣接フレームは参照フレームに戻り参照できる。複数のフレームに渡りオブジェクトを一致させるために、パターンマッチングメカニズムが利用されてよい。さらに、たとえばオブジェクトの動きまたはカメラの動きにより、動くオブジェクトが複数のフレームに渡り表示されてよい。特定の例として、ビデオは、複数のフレームに渡りスクリーンを横に移動する自動車を示してよい。このような動きを示すために、動きベクトルが利用できる。動きベクトルは、フレーム内のオブジェクトの座標から参照フレーム内の該オブジェクトの座標へのオフセットを提供する2次元ベクトルである。したがって、インター予測は、現在フレーム内の画像ブロックを、参照フレーム内の対応するブロックからのオフセットを示す動きベクトルのセットとして、符号化できる。
【0058】
イントラ予測は、共通フレーム内のブロックを符号化する。イントラ予測は、ルマおよびクロマ成分がフレーム内で密集する傾向があるという事実を利用する。たとえば、ツリーの一部の緑のパッチは、同様の緑のパッチに隣接して位置する傾向がある。イントラ予測は、複数の方向予測モード(たとえば、HEVCでは33個)、平面モード、および直流(direct current(DC))モードを利用する。方向モードは、現在ブロックが対応する方向の近隣ブロックのサンプルと同様/同じであることを示す。平面モードは、行/列(たとえば、平面)に沿う一連のブロックが行の端にある近隣ブロックに基づき補間できることを示す。平面モードは、事実上、変化する値の比較的一定の勾配を利用することにより、行/列に渡る光/色の円滑な遷移を示す。DCモードは、境界円滑化のために利用され、ブロックが方向予測モードの角度方向に関連する全部の近隣ブロックのサンプルに関連する平均値と同様/同じであることを示す。したがって、イントラ予測ブロックは、実際の値の代わりに、種々の関係予測モードとして、画像ブロックを表すことができる。さらに、インター予測ブロックは、実際の値の代わりに、動きベクトル値として、画像ブロックを表すことができる。いずれの場合にも、予測ブロックは、いくつかの場合に画像を正確に表さないことがある。任意の差が残差ブロックに格納される。ファイルを更に圧縮するために、変換が残差ブロックに適用されてよい。
【0059】
ステップ107で、種々のフィルタリング技術が適用されてよい。HEVCでは、フィルタは、インループフィルタリング方式に従い適用される。上述のブロックに基づく予測は、デコーダにおいて濃淡のむらのある画像の生成をもたらし得る。さらに、ブロックに基づく予測方式は、ブロックを符号化し、次に、参照ブロックとして後に使用するために、符号化したブロックを再構成し得る。インループフィルタリング方式は、ノイズ抑制フィルタ、デブロッキングフィルタ、適応型ループフィルタ、およびサンプル適応型オフセット(sample adaptive offset(SAO))フィルタをブロック/フィルタに繰り返し適用する。これらのフィルタは、このような濃淡のむらのアーチファクトを緩和し、その結果、符号化されたファイルは正確に再構成できる。さら、これらのフィルタは、再構成された参照ブロック内のアーチファクトを緩和し、その結果、再構成された参照ブロックに基づき符号化される後のブロック内で追加アーチファクトを生じる可能性が低い。
【0060】
ビデオ信号がパーティションされ、圧縮され、およびフィルタリングされると、結果として生じるデータは、ステップ109でビットストリーム内に符号化される。ビットストリームは、上述のデータ、およびデコーダにおける適正なビデオ信号再構成をサポートするための任意の所望のシグナリングデータを含む。たとえば、このようなデータは、パーティションデータ、予測データ、残差ブロック、およびデコーダにコーディング指示を提供する種々のフラグを含んでよい。ビットストリームは、要求によりデコーダへ向けて送信するために、メモリに格納されてよい。ビットストリームは、複数のデコーダへ向けてブロードキャストおよび/またはマルチキャストされてもよい。ビットストリームの生成は反復処理である。したがって、ステップ101、103、105、107、および109は、多数のフレームおよびブロックに渡り連続しておよび/または同時に生じてよい。図1に示す順序は明確さおよび議論の容易さのために提示され、ビデオコーディング処理を特定の順序に限定することを意図しない。
【0061】
ステップ111で、デコーダは、ビットストリームを受信し、復号処理を開始する。具体的に、デコーダは、エントロピー復号方式を利用して、ビットストリームを対応するシンタックスおよびビデオデータに変換する。ステップ111で、デコーダは、ビットストリームからのシンタックスを利用して、フレームのパーティションを決定する。パーティションは、ステップ103におけるブロックパーティションの結果と一致するべきである。ステップ111で利用されるようなエントロピー符号化/復号は、以下に説明される。エンコーダは、圧縮処理の間に、入力画像内の値の空間的位置に基づきいくつかの可能な選択肢からブロックパーティション方式を選択するような、多くの選択肢を生成する。正確な選択肢をシグナリングすることは、膨大な数のビンを利用し得る。ここで使用されるように、ビンは、変数として扱われる2進値である(たとえば、コンテキストに依存して変化し得るビット値)。エントロピーコーディングは、許容可能な選択肢のセットを残して、エンコーダが特定の場合に明らかに実行可能ではない任意の選択肢を廃棄することを可能にする。それぞれの許容可能な選択肢は、次にコードワードを割り当てられる。コードワードの長さは、許容可能な選択肢の数に基づく(たとえば、2個の選択肢に対して1つのビン、3~4個の選択肢に対して2つのビン、等)。エンコーダは、次に、選択された選択肢についてコードワードを符号化する。この方式は、全ての可能な選択肢の潜在的に大きな集合からの選択をユニークに示すのとは反対に、可能な選択肢の小さな部分集合からの選択をユニークに示すために望ましい程度の大きさなので、コードワードのサイズを削減する。デコーダは、次に、エンコーダと同様の方法で許容可能な選択肢の集合を決定することにより、選択を復号する。許容可能な選択肢の集合を決定することにより、デコーダは、コードワードを読み出し、エンコーダにより行われた選択を決定できる。
【0062】
ステップ113で、デコーダは、ブロック復号を実行する。具体的に、デコーダは、逆変換を利用して残差ブロックを生成する。次に、デコーダは、残差ブロックおよび対応する予測ブロックを利用して、パーティションに従い画像ブロックを再構成する。予測ブロックは、エンコーダにおいてステップ105で生成されたイントラ予測ブロックおよびインター予測ブロックの両方を含んでよい。再構成画像ブロックは、次に、ステップ111で決定されたパーティションデータに従い再構成ビデオ信号のフレームへと位置付けられる。ステップ113のシンタックスも、上述のようなエントロピーコーディングによりビットストリームの中でシグナリングされてよい。
【0063】
ステップ115で、エンコーダにおけるステップ107と同様の方法で、再構成ビデオ信号のフレームに対してフィルタリングが実行される。たとえば、ノイズ抑制フィルタ、デブロッキングフィルタ、適応型ループフィルタ、およびSAOフィルタが、ブロッキングアーチファクトを除去するためにフレームに適用されてよい。フレームがフィルタリングされると、ビデオ信号は、エンドユーザーによる閲覧のためにステップ117においてディスプレーへと出力できる。
【0064】
図2は、ビデオコーディングのための例示的なコーディングおよび復号(コーデック)システム200の概略図である。具体的に、コーデックシステム200は、動作方法100の実装をサポートするための機能を提供する。コーデックシステム200は、エンコーダおよびデコーダの両方の中で利用されるコンポーネントを示すために一般化される。コーデックシステム200は、パーティションされたビデオ信号201を生じる、動作方法100におけるステップ101および103に関して上述したビデオ信号を受信しパーティションする。コーデックシステム200は、次に、方法100におけるステップ105、107、および109に関して上述したエンコーダとして動作するとき、パーティションされたビデオ信号201をコーディングビットストリームへと圧縮する。デコーダとして動作するとき、コーデックシステム200は、動作方法100におけるステップ111、113、115、および117に関して上述したようにビットストリームから出力ビデオ信号を生成する。コーデックシステム200は、汎用コーダ制御コンポーネント211、変換スケーリングおよび量子化コンポーネント213、イントラピクチャー推定コンポーネント215、イントラピクチャー予測コンポーネント217、動き補償コンポーネント219、動き推定コンポーネント221、スケーリングおよび逆変換コンポーネント229、フィルタ制御分析コンポーネント227、インループフィルタコンポーネント225、復号ピクチャーバッファコンポーネント223、およびヘッダーフォーマットおよびコンテキスト適応型2進算術コーディング(Context adaptive binary arithmetic coding(CABAC))コンポーネント231を含む。このようなコンポーネントは図示のように結合される。図2では、黒線は符号化/復号されるべきデータの動きを示し、一方で、破線は他のコンポーネントの動作を制御する制御データの動きを示す。コーデックシステム200のコンポーネントは、エンコーダ内に全て存在してよい。デコーダは、コーデックシステム200のコンポーネントの一部を含んでよい。たとえば、デコーダは、イントラピクチャー予測コンポーネント217、動き補償コンポーネント219、スケーリングおよび逆変換コンポーネント229、インループフィルタコンポーネント225、および復号ピクチャーバッファコンポーネント223を含んでよい。これらのコンポーネントはここで説明される。
【0065】
パーティションされたビデオ信号201は、コーディングツリーによりピクセルのブロックへとパーティションされた、キャプチャされたビデオシーケンスである。コーディングツリーは、種々の分割モードを利用して、ピクセルのブロックをより小さなピクセルのブロックへと細分化する。これらのブロックは、次に、より小さなブロックへと更に細分化できる。ブロックは、コーディングツリー上のノードと呼ばれてよい。より大きな親ノードは、より小さな子ノードへと分割される。ノードが細分化される回数は、ノード/コーディングツリーの深さと呼ばれる。分割されたブロックは、いくつかの場合にはコーディングユニット(coding unit(CU))に含まれ得る。たとえば、CUは、ルマブロック、赤色差分クロマ(Cr)ブロック、および青色差分クロマ(Cb)ブロック、ならびにCUの対応するシンタックス命令を含むCTUのサブ部分であり得る。分割モードは、利用される分割モードに依存して変化する形状のそれぞれ2、3、または4個の子ノードにノードをパーティションするために利用される2分木(binary tree(BT))、3分木(triple tree(TT))、および4分木(quad tree(QT))を含んでよい。パーティションされたビデオ信号201は、汎用コーダ制御コンポーネント211、変換スケーリングおよび量子化コンポーネント213、イントラピクチャー推定コンポーネント215、フィルタ制御分析コンポーネント227、および動き推定コンポーネント221へと圧縮のために転送される。
【0066】
汎用コーダ制御コンポーネント211は、アプリケーション制約に従いビットストリームへのビデオシーケンスの画像のコーディングに関連する決定を行うよう構成される。たとえば、汎用コーダ制御コンポーネント211は、再構成品質に対するビットレート/ビットストリームサイズの最適化を管理する。このような決定は、記憶空間/帯域幅の利用可能性、および画像解像度要求に基づき行われてよい。汎用コーダ制御コンポーネント211は、また、バッファアンダーランおよびオーバラン問題を緩和するために、変換速度の観点でバッファ利用を管理する。これらの問題に対応するために、汎用コーダ制御コンポーネント211は、他のコンポーネントによるパーティション、予測、およびフィルタリングを管理する。たとえば、汎用コーダ制御コンポーネント211は、解像度を増大するために圧縮複雑性を動的に増大させ、解像度および帯域幅使用を低減するために帯域幅使用を増大しまたは圧縮複雑性を減少させてよい。したがって、汎用コーダ制御コンポーネント211は、コーデックシステム200の他のコンポーネントを制御して、ビデオ信号再構成品質とビットレート関心事とのバランスをとる。汎用コーダ制御コンポーネント211は、他のコンポーネントの動作を制御する制御データを生成する。制御データも、デコーダにおける復号のためのパラメータをシグナリングするためにビットストリーム内に符号化されるようヘッダーフォーマットおよびCABACコンポーネント231へ転送される。
【0067】
パーティションされたビデオ信号201は、インター予測のために、動き推定コンポーネント221および動き補償コンポーネント219へも送信される。パーティションされたビデオ信号201のフレームまたはスライスは、複数のビデオブロックに分割されてよい。動き推定コンポーネント221および動き補償コンポーネント219は、1つ以上の参照フレームの中の1つ以上のブロックに関連して、受信したビデオブロックのインター予測コーディングを実行し、時間予測を提供する。コーデックシステム200は、たとえばビデオデータの各ブロックについて適切なコーディングモードを選択するために、複数のコーディングパスを実行してよい。
【0068】
動き推定コンポーネント221および動き補償コンポーネント219は、高度に統合されてよいが、概念的目的のために別個に示される。動き推定コンポーネント221により実行される動き推定は、ビデオブロックについて動きを推定する動きベクトルを生成する処理である。動きベクトルは、たとえば、予測ブロックに関連してコーディングオブジェクトの配置を示してよい。予測ブロックは、ピクセル差分の観点で、コーディングされるべきブロックに厳密に一致すると分かったブロックである。予測ブロックは、参照ブロックとも呼ばれてよい。このようなピクセル差分は、絶対値差分の和(sum of absolute difference(SAD))、平方差分の和(sum of square difference(SSD))、または他の差分メトリックにより決定されてよい。HEVCは、CTU、コーディングツリーブロック(coding tree block(CTB))、およびCUを含むいくつかのコーディングオブジェクトを利用する。たとえば、CTUは、CTBに分割でき、CTBは次にCUに含むためにCBに分割できる。CUは、予測データを含む予測ユニット(prediction unit)および/またはCUの変換された残差データを含む変換ユニット(transform unit(TU))として符号化できる。動き推定コンポーネント221は、レート歪み最適化処理の部分としてレート歪み分析を用いて、動きベクトル、予測ユニット、およびTUを生成する。たとえば、動き推定コンポーネント221は、現在ブロック/フレームについて複数の参照ブロック、複数の動きベクトル、等を決定してよく、最適なレート歪み特性を有する参照ブロック、動きベクトル、等を選択してよい。最適なレート歪み特性は、ビデオ再構成の品質(たとえば、圧縮によるデータ損失の量)およびコーディング効率(たとえば、最終的な符号化のサイズ)の両方のバランスをとる。
【0069】
いくつかの例では、コーデックシステム200は、復号ピクチャーバッファコンポーネント223に格納された参照ピクチャーのサブ整数ピクチャー位置の値を計算してよい。たとえば、ビデオコーデックシステム200は、参照ピクチャーの4分の1ピクセル位置、8分の1ピクセル位置、または他の分数ピクセル位置の値を補間してよい。したがって、動き推定コンポーネント221は、完全ピクセル位置および分数ピクセル位置に関連して動き探索を実行し、分数ピクセル精度で動きベクトルを出力してよい。動き推定コンポーネント221は、予測ユニットの位置を参照ピクチャーの予測ブロックの位置と比較することにより、インターコーディングスライスの中のビデオブロックの予測ユニットについて、動きベクトルを計算する。動き推定コンポーネント221は、計算した動きベクトルを動きデータとして、符号化のためにヘッダーフォーマットおよびCABACコンポーネント231へ、動きを動き補償コンポーネント219へ出力する。
【0070】
動き補償コンポーネント219により実行される動き補償は、動き推定コンポーネント221により決定された動きベクトルに基づき、予測ブロックをフェッチするまたは生成することを含んでよい。ここでも、動き推定コンポーネント221および動き補償コンポーネント219は、いくつかの例では機能的に統合されてよい。現在ビデオブロックの予測ユニットの動きベクトルを受信すると、動き補償コンポーネント219は、動きベクトルの指す予測ブロックの位置を特定してよい。次に、コーディングされている現在ビデオブロックのピクセル値から予測ブロックのピクセル値を減算してピクセル差分値を形成することにより、残差ビデオブロックが形成される。一般に、動き推定コンポーネント221は、ルマ成分に関連して動き推定を実行し、動き補償コンポーネント219は、クロマ成分およびルマ成分の両方についてルマ成分に基づき計算された動きベクトルを使用する。予測ブロックおよび残差ブロックは、変換スケーリングおよび量子化コンポーネント213へ転送される。
【0071】
パーティションされたビデオ信号201は、イントラピクチャー推定コンポーネント215およびイントラピクチャー予測コンポーネント217へも送信される。動き推定コンポーネント221および動き補償コンポーネント219と同様に、イントラピクチャー推定コンポーネント215およびイントラピクチャー予測コンポーネント217は、高度に統合されてよいが、概念的目的のために別個に示される。上述のようなフレーム間の動き推定コンポーネント221および動き補償コンポーネント219により実行されるインター予測の代わりに、イントラピクチャー推定コンポーネント215およびイントラピクチャー予測コンポーネント217は、現在フレーム内のブロックに関連して現在ブロックをイントラ予測する。特に、イントラピクチャー推定コンポーネント215は、現在ブロックを符号化するために使用すべきイントラ予測モードを決定する。いくつかの例では、イントラピクチャー推定コンポーネント215は、複数のテストされたイントラ予測モードから、現在ブロックを符号化するための適切なイントラ予測モードを選択する。選択したイントラ予測モードは、次に、符号化のためにヘッダーフォーマットおよびCABACコンポーネント231へ転送される。
【0072】
たとえば、イントラピクチャー推定コンポーネント215は、種々のテストされたイントラ予測モードについてレート歪み分析を用いてレート歪み値を計算し、テストしたモードの中で最適なレート歪み特性を有するイントラ予測モードを選択する。レート歪み分析は、一般に、符号化ブロックと、符号化されて該符号化ブロックを生成した元の未符号化ブロックとの間の歪み(または誤差)の量、並びに符号化ブロックを生成するために使用されたビットレート(たとえば、ビット数)を決定する。イントラピクチャー推定コンポーネント215は、種々の符号化ブロックについて歪みおよびレートから比を計算して、ブロックについて、どのイントラ予測モードが最適なレート歪み値を示すかを決定する。さらに、イントラピクチャー推定コンポーネント215は、レート歪み最適化(rate-distortion optimization(RDO))に基づき、深さモデル化モード(depth modeling mode(DMM))を用いて深さマップの深さブロックをコーディングするよう構成されてよい。
【0073】
イントラピクチャー予測コンポーネント217は、エンコーダに実装されるとき、イントラピクチャー推定コンポーネント215により決定された、選択されたイントラ予測モードに基づき、予測ブロックから残差ブロックを生成し、または、デコーダに実装されるとき、ビットストリームから残差ブロックを読み出してよい。残差ブロックは、行列として表現される、予測ブロックと元のブロックとの間の値の差分を含む。残差ブロックは、次に、変換スケーリングおよび量子化コンポーネント213へ転送される。イントラピクチャー推定コンポーネント215およびイントラピクチャー予測コンポーネント217は、ルマおよびクロマ成分の両方に対して動作してよい。
【0074】
変換スケーリングおよび量子化コンポーネント213は、残差ブロックを更に圧縮するよう構成される。変換スケーリングおよび量子化コンポーネント213は、離散コサイン変換(discrete cosine transform(DCT))、離散サイン変換(discrete sine transform(DST))、または概念的に類似する変換のような変換を残差ブロックに適用して、残差変換係数値を含むビデオブロックを生成する。ウェーブレット変換、整数変換、サブバンド変換、または他の種類の変換も使用され得る。変換は、残差情報を、ピクセル値ドメインから周波数ドメインのような変換ドメインへと変換してよい。変換スケーリングおよび量子化コンポーネント213は、また、たとえば周波数に基づき、変換された残差情報をスケーリングするよう構成される。このようなスケーリングは、倍率を残差情報に適用することを含む。その結果、異なる周波数情報は異なる粒度で量子化され、これは再構成ビデオの最終的な視覚的品質に影響を与え得る。変換スケーリングおよび量子化コンポーネント213は、また、ビットレートを更に低減するために、変換係数を量子化するよう構成される。量子化処理は、係数の一部または全部に関連するビット深さを低減してよい。量子化の程度は、量子化パラメータを調整することにより、変更されてよい。いくつかの例では、変換スケーリングおよび量子化コンポーネント213は、次に、量子化された変換係数を含む行列のスキャンを実行してよい。量子化された変換係数は、ビットストリーム内に符号化されるために、ヘッダーフォーマットおよびCABACコンポーネント231へ転送される。
【0075】
スケーリングおよび逆変換コンポーネント229は、動き推定をサポートするために、変換スケーリングおよび量子化コンポーネント213の逆処理を適用する。スケーリングおよび逆変換コンポーネント229は、逆スケーリング、変換、および/または量子化を適用して、たとえば別の現在ブロックのための予測ブロックになり得る参照ブロックとして後に使用するために、ピクセルドメインの残差ブロックを再構成する。動き推定コンポーネント221および/または動き補償コンポーネント219は、後のブロック/フレームの動き推定で使用するために、残差ブロックを対応する予測ブロックに加算して戻すことにより、参照ブロックを計算してよい。スケーリング、量子化、および変換の間に生成されたアーチファクトを低減するために、再構成された参照ブロックにフィルタが適用される。このようなアーチファクトは、そうでなければ、後続のブロックが予測されるときに不正確な予測を生じ(および追加アーチファクトを生成し)得る。
【0076】
フィルタ制御分析コンポーネント227およびインループフィルタコンポーネント225は、残差ブロックにおよび/または再構成画像ブロックにフィルタを適用する。たとえば、スケーリングおよび逆変換コンポーネント229からの変換された残差ブロックは、元の画像ブロックを再構成するために、イントラピクチャー予測コンポーネント217および/または動き補償コンポーネント219からの対応する予測ブロックと結合されてよい。フィルタは、次に、再構成画像ブロックに適用されてよい。いくつかの例では、フィルタは、代わりに、残差ブロックに適用されてよい。図2の他のコンポーネントと同様に、フィルタ制御分析コンポーネント227およびインループフィルタコンポーネント225は、高度に統合され一緒に実装されてよいが、概念的目的のために別個に示される。再構成された参照ブロックに適用されるフィルタは、特定の空間領域に適用され、このようなフィルタがどのように適用されるかを調整するための複数のパラメータを含む。フィルタ制御分析コンポーネント227は、再構成された参照ブロックを分析して、このようなフィルタが適用されるべき場合を決定し、対応するパラメータを設定する。このようなデータは、ヘッダーフォーマットおよびCABACコンポーネント231へ、符号化のためのフィルタ制御データとして転送される。インループフィルタコンポーネント225は、フィルタ制御データに基づき、このようなフィルタを適用する。フィルタは、デブロッキングフィルタ、ノイズ抑制フィルタ、SAOフィルタ、および適応型ループフィルタを含んでよい。このようなフィルタは、例に依存して、(たとえば、再構成されたピクセルブロック上の)空間/ピクセルドメインにおいて、または周波数ドメインにおいて、適用されてよい。
【0077】
エンコーダとして動作するとき、フィルタリングされた再構成画像ブロック、残差ブロック、および/または予測ブロックは、上述のように動き推定において後に使用するために、復号ピクチャーバッファコンポーネント223に格納される。デコーダとして動作するとき、復号ピクチャーバッファコンポーネント223は、出力ビデオ信号の部分として、再構成されフィルタリングされたブロックを格納しディスプレーへ向けて転送する。復号ピクチャーバッファコンポーネント223は、予測ブロック、残差ブロック、および/または再構成画像ブロックを格納することの可能な任意のメモリ装置であってよい。
【0078】
ヘッダーフォーマットおよびCABACコンポーネント231は、コーデックシステム200の種々のコンポーネントからデータを受信し、デコーダへ向けて送信するためにこのようなデータをコーディングビットストリームに符号化する。具体的に、ヘッダーフォーマットおよびCABACコンポーネント231は、一般制御データおよびフィルタ制御データのような制御データを符号化するために種々のヘッダーを生成する。さらに、イントラ予測および動きデータを含む予測データ、ならびに量子化された変換係数データの形式の残差データは、全てビットストリーム内に符号化される。最終的なビットストリームは、元のパーティションされたビデオ信号201を再構成するためにデコーダにより所望される全ての情報を含む。このような情報は、イントラ予測モードインデックステーブル(コードワードマッピングテーブルとも呼ばれる)、種々のブロックの符号化コンテキストの定義、最も有望なイントラ予測モードの指示、パーティション情報の指示、等も含んでよい。このようなデータは、エントロピーコーディングを利用することにより、符号化されてよい。たとえば、情報は、コンテキスト適応型可変長コーディング(context adaptive variable length coding(CAVLC))、シンタックスに基づくコンテキスト適応型2進算術コーディング(syntax-based context-adaptive binary arithmetic coding(SBAC))、確率区間パーティショニングエントロピー(probability interval partitioning entropy(PIPE))コーディング、または別のエントロピーコーディング技術を利用することにより、符号化されてよい。エントロピーコーディングに従い、コーディングされたビットストリームは、別の装置(たとえば、ビデオデコーダ)へ送信され、または後の送信または読み出しのために保存されてよい。
【0079】
図3は、例示的なビデオエンコーダ300を示すブロック図である。ビデオエンコーダ300は、コーデックシステム200の符号化機能を実装するために、および/または動作方法100のステップ101、103、105、107および/または109を実装するために、利用されてよい。エンコーダ300は、入力ビデオ信号をパーティションして、実質的にパーティションされたビデオ信号201と同様であるパーティションされたビデオ信号301を生じる。パーティションされたビデオ信号301は、次に、エンコーダ300のコンポーネントにより圧縮されビットストリームに符号化される。
【0080】
具体的に、パーティションされたビデオ信号301は、イントラ予測のためにイントラピクチャー予測コンポーネント317へ転送される。イントラピクチャー予測コンポーネント317は、イントラピクチャー推定コンポーネント215およびイントラピクチャー予測コンポーネント217と実質的に同様であってよい。パーティションされたビデオ信号301は、復号ピクチャーバッファコンポーネント323の中の参照ブロックに基づくインター予測のために動き補償コンポーネント321へも転送される。動き補償コンポーネント321は、動き推定コンポーネント221および動き補償コンポーネント219と実質的に同様であってよい。イントラピクチャー予測コンポーネント317および動き補償コンポーネント321からの予測ブロックおよび残差ブロックは、残差ブロックの変換および量子化のために、変換および量子化コンポーネント313へ転送される。変換および量子化コンポーネント313は、変換スケーリングおよび量子化コンポーネント213と実質的に同様であってよい。変換され量子化された残差ブロックおよび対応する予測ブロックは(関連する制御データと一緒に)、ビットストリームへのコーディングのためにエントロピーコーディングコンポーネント313へ転送される。エントロピーコーディングコンポーネント331は、ヘッダーフォーマットおよびCABACコンポーネント231と実質的に同様であってよい。
【0081】
変換され量子化された残差ブロックおよび/または対応する予測ブロックは、また、動き補償コンポーネント321による使用のために参照ブロックへと再構成するために、変換および量子化コンポーネント313から逆変換および量子化コンポーネント329へ転送される。逆変換および量子化コンポーネント329は、スケーリングおよび逆変換コンポーネント229と実質的に同様であってよい。インループフィルタコンポーネント325の中のインループフィルタも、例に依存して、残差ブロックおよび/または再構成された参照ブロックに適用される。インループフィルタコンポーネント325は、フィルタ制御分析コンポーネント227およびインループフィルタコンポーネント225と実質的に同様であってよい。インループフィルタコンポーネント325は、インループフィルタコンポーネント225に関して議論したような複数のフィルタを含んでよい。フィルタリングされたブロックは、次に、動き補償コンポーネント321により参照ブロックとして使用するために、復号ピクチャーバッファコンポーネント323に格納される。復号ピクチャーバッファコンポーネント323は、復号ピクチャーバッファコンポーネント223と実質的に同様であってよい。
【0082】
図4は、例示的なビデオデコーダ400を示すブロック図である。ビデオデコーダ400は、コーデックシステム200の復号機能を実装するために、および/または動作方法100のステップ111、113、115および/または117を実装するために、利用されてよい。デコーダ400は、たとえばエンコーダ300からビットストリームを受信し、エンドユーザーに表示するためにビットストリームに基づき再構成された出力ビデオ信号を生成する。
【0083】
ビットストリームは、エントロピー復号コンポーネント433により受信される。エントロピー復号コンポーネント433は、CAVLC、CABAC、SBAC、PIPEコーディングのようなエントロピー復号方式、または他のエントロピーコーディング技術を実装するよう構成される。たとえば、エントロピー復号コンポーネント433は、ビットストリーム内にコードワードとして符号化された追加データを解釈するために、ヘッダー情報を利用してコンテキストを提供してよい。復号された情報は、一般制御データ、フィルタ制御データ、パーティション情報、動きデータ、予測データ、および残差ブロックからの量子化済み変換係数のような、ビデオ信号を復号するための任意の所望の情報を含む。量子化済み変換係数は、残差ブロックへと再構成するために、逆変換および量子化コンポーネント429へ転送される。逆変換および量子化コンポーネント429は、逆変換および量子化コンポーネント329と同様であってよい。
【0084】
再構成残差ブロックおよび/または予測ブロックは、イントラ予測動作に基づき画像ブロックへと再構成するために、イントラピクチャー予測コンポーネント417へ転送される。イントラピクチャー予測コンポーネント417は、イントラピクチャー推定コンポーネント215およびイントラピクチャー予測コンポーネント217と同様であってよい。具体的に、イントラピクチャー予測コンポーネント417は、フレーム内の参照ブロックの位置を特定するために予測モードを利用し、結果に残差ブロックを適用して、イントラ予測された画像ブロックを再構成する。再構成されたイントラ予測された画像ブロックおよび/または残差ブロック、および対応するインター予測データは、それぞれ復号ピクチャーバッファコンポーネント223およびインループフィルタコンポーネント225と実質的に同様であってよいインループフィルタコンポーネント425を介して復号ピクチャーバッファコンポーネント423へ転送される。インループフィルタコンポーネント425は、再構成画像ブロック、残差ブロック、および/または予測ブロックをフィルタリングし、そのような情報は復号ピクチャーバッファコンポーネント423に格納される。復号ピクチャーバッファコンポーネント423からの再構成画像ブロックは、インター予測のために動き補償コンポーネント421へ転送される。動き補償コンポーネント421は、動き推定コンポーネント221および/または動き補償コンポーネント219と実質的に同様であってよい。具体的に、動き補償コンポーネント421は、参照ブロックからの動きベクトルを利用して、予測ブロックを生成し、結果に残差ブロックを提供して、画像ブロックを再構成する。結果として生じた再構成ブロックは、インループフィルタコンポーネント425を介して、復号ピクチャーバッファコンポーネント423へ転送されてもよい。復号ピクチャーバッファコンポーネント423は、パーティション情報によりフレームへと再構成できる、追加再構成画像ブロックを格納し続けてよい。このようなフレームは、シーケンス内に配置されてもよい。シーケンスは、再構成された出力ビデオ信号としてディスプレーに向けて出力される。
【0085】
以上を心に留めて、ビデオ圧縮技術は、空間(イントラピクチャー)予測および/または時間(インターピクチャー)予測を実行して、ビデオシーケンスに内在する冗長性を低減するか、または除去する。ブロックに基づくビデオコーディングでは、ビデオスライス(つまり、ビデオピクチャーまたはビデオピクチャーの部分)は、ツリーブロック、コーディングツリーブロック(coding tree block (CTB))、コーディングツリーユニット(coding tree unit (CTU))、コーディングユニット(coding unit (CU))、および/またはコーディングノードとも呼ばれてよいビデオブロックにパーティションされてよい。ピクチャーのイントラコーディング(I)スライス内のビデオブロックは、同じピクチャー内の近隣ブロックの中の参照サンプルに対して空間予測を用いて符号される。ピクチャーのインターコーディング(PまたはB)スライス内のビデオブロックは、同じピクチャー内の近隣ブロックの中の参照サンプルに対する空間予測、または他の参照ピクチャー内の参照サンプルに対する時間予測を利用してよい。ピクチャーは、フレームと呼ばれてよく、参照ピクチャーは、参照フレームと呼ばれてよい。
【0086】
空間または時間予測は、コーディングされるべきブロックの予測ブロックを生じる。残差データは、コーディングされるべき元のブロックと予測ブロックとの間のピクセル差を表す。インターコーディングブロックは予測ブロックを形成する参照サンプルのブロックを指す動きベクトル、およびコーディングブロックと予測ブロックとの間の差を示す残差データに従い符号化される。イントラコーディングブロックは、イントラコーディングモードおよび残差データに従い符号化される。更なる圧縮のために、残差データは、ピクセルドメインから変換ドメインへと変換されてよく、結果として残差変換係数を生じ、これは次に量子化されてよい。量子化変換係数は、最初に2次元アレイに構成され、変換係数の1次元ベクトルを生成するためにスキャンされてよく、更に多くの圧縮を達成するためにエントロピーコーディングが適用されてよい。
【0087】
画像およびビデオ圧縮は、急速な成長を経験しており、種々のコーディング規格をもたらしている。そのようなビデオコーディング規格は、ITU-TH.261、国際標準化機構/国際電気標準会議(International Organization for Standardization/International Electrotechnical Commission (ISO/IEC)、MPEG-1 Part2, ITU-TH.262またはISO/IEC MPEG-2 Part2, ITU-TH.263, ISO/IEC MPEG-4 Part2, ITU-T H.264またはISO/IEC MPEG-4 Part 10としても知られているAdvanced Video Coding (AVC)、ITU-T H.265またはMPEG-H Part2としても知られているHigh Efficiency Video Coding (HEVC)、を含む。AVCは、スケーラブル映像コーディング(Scalable Video Coding (SVC))、多視点映像コーディング(Multiview Video Coding (MVC))、および多視点映像コーディングおよび奥行き(Multiview Video Coding plus Depth (MVC+D))、並びに3次元AVC(3D-AVC)のような拡張を含む。HEVCは、スケーラブルHEVC(Scalable HEVC (SHVC))、多視点HEVC(Multiview HEVC (MV-HEVC))、および3D HEVC(3D-HEVC)のような拡張を含む。
【0088】
ITU-TおよびISO/IECの共同ビデオ専門家チーム(joint video experts team (JVET))Versatile Video Coding (VVC)と命名される新しいコーディング規格もある。VVC規格はいくつかのワーキングドラフトを有するが、特にVVCの1つのワーキングドラフト(Working Draft (WD))、つまりB.Bross, J. Chen,およびS. Liu, 「Versatile Video Coding (Draft5)」、JVET-N1001-v3, 13th JVET Meeting, March 27, 2019(VVC Draft5)がここで参照される。
【0089】
HEVCにおけるピクチャーパーティション方式が議論される。
【0090】
HEVCは、4つの異なるピクチャーパーティション方式を含む。つまり、通常スライス、依存スライス、タイル、およびウェーブフロント並列処理(Wavefront Parallel Processing (WPP))であり、最大変換ユニット(Maximum Transfer Unit (MTU))マッチング、並列処理、およびエンドツーエンド遅延の低減のために適用されてよい。
【0091】
通常スライスは、H.264/AVCにおけるものと同様である。各通常スライスは、それ自体のNALユニット内にカプセル化され、ピクチャー内予測(イントラサンプル予測、動き情報予測、コーディングモード予測)およびスライス境界を跨がるエントロピーコーディング依存性が無効にされる。従って、通常スライスは、(ループフィルタリング演算のために相互依存性が依然として存在し得るが)同じピクチャー内の他の通常スライスから独立して、再構成できる。
【0092】
通常スライスは、H.264/AVCでは実質的に同一の形式で、利用可能な並列化のために使用できる唯一のツールである。並列化に基づく通常スライスは、多くのインタープロセッサまたはインターコア通信を必要としない(予測的にコーディングされたピクチャーを復号するとき、動き補償のためのインタープロセッサまたはインターコア共有を除く、これは、ピクチャー内予測によるインタープロセッサまたはインターコアデータ共有より標準的に遙かに重い)。しかしながら、同じ理由で、通常スライスの使用は、スライスヘッダーのビットコストにより、およびスライス境界に跨がる予測の欠如により、相当なコーディングオーバーヘッドを生じ得る。更に、通常スライスのピクチャー内独立性のために、通常スライスは(後述する他のツールと対照的に)、MTUサイズ要件に適合するためにビットストリームパーティショニングのための重要なメカニズムとしても機能し、その各通常スライスは、それ自体のネットワーク抽象化レイヤー(Network Adaptation Layer (NAL))ユニットにカプセル化される。多くの場合、並列化の目的と、MTUサイズ適合目的とは、ピクチャー内のスライスレイアウトに対して矛盾する要求を課す。この状況の実現は、後述する並列化ツールの開発をもたらした。
【0093】
依存スライスは、短いスライスヘッダーを有し、ピクチャー内予測を壊すことなくツリーブロック境界におけるビットストリームのパーティショニングを可能にする。基本的に、依存スライスは、通常スライスの複数のNALユニットへのフラグメント化を提供し、通常スライス全体の符号化が完了する前に、通常スライスの部分を送出可能にすることにより、削減されたエンドツーエンド遅延をもたらす。
【0094】
WPPでは、ピクチャーは単一の行のコーディングツリーブロック(coding tree block (CTB))へとパーティションされる。エントロピー復号および予測は、他のパーティションの中のCTBからのデータを使用することを許可される。並列化処理は、対象のCTBの上および右にあるCTBに関連するデータが対象のCTBが復号される前に利用可能になることを保証するために、CTB行の復号の開始が2個のCTBだけ遅延されるCTB行の並列復号を通じて可能である。この時間差のある開始(これは、グラフィカルに表現されるときウェーブフロントのように現れる)を用いて、最大でピクチャーが含むCTBと同じくらい多くのプロセッサ/コアにより並列化が可能である。ピクチャー内の近隣ツリーブロック行の間のピクチャー内予測が許可されるので、ピクチャー内予測を可能にするために必要なインタープロセッサ/インターコア通信が重要になり得る。WPPパーティショニングは、それが適用されないときと比べて、追加NALユニットの生成を生じない。従って、WPPはMTUサイズ適合のためのツールではない。しかしながら、MTUサイズ適合が必要な場合、通常スライスは、特定のコーディングオーバーヘッドを伴い、WPPと共に使用できる。
【0095】
タイルは、ピクチャーをタイル列および行にパーティションする水平および垂直境界を定める。CTBのスキャン順序は、ピクチャーのタイルラスタスキャンの順序で次のタイルの左上CTBを復号する前に、(タイルのCTBラスタスキャンの順序で)タイル内のローカルになるよう変更される。通常スライスと同様に、タイルは、ピクチャー内予測依存性、並びにエントロピー復号依存性を壊す。しかしながら、タイルは、(この点に関してWPPと同じ)個々のNALユニットに含まれる必要がなく、従って、タイルはMTUサイズ適合のために使用できない。各タイルは1つのプロセッサ/コアにより処理でき、近隣タイルを復号する処理ユニットの間でピクチャー内予測のために必要なインタープロセッサ/インターコア通信は、スライスが1つより多くのタイルに渡る場合には共有スライスヘッダーを運ぶこと、およびループフィルタリングに関連する再構成サンプルおよびメタデータを共有することに限定される。1つより多くのタイルまたはWPPセグメントがスライスに含まれるとき、スライス内の最初のもの以外の各タイルまたはWPPセグメントのエントリーポイントバイトオフセットは、スライスヘッダーの中でシグナリングされる。
【0096】
簡単のため、4つの異なるパーティショニング方式の適用についての制約がHEVCにおいて指定されている。所与の符号化ビデオシーケンスは、HEVCで指定されたプロファイルの大部分について、タイルおよび波面の両方を含むことができない。スライスおよびタイル毎に、以下の条件のうちのいずれかまたは両方が満たされなければならない。1)スライス内の全部のコーディングツリーブロックが同じタイルに属する、および、2)タイル内の全部のコーディングツリーブロックが同じスライスに属する。最後に、ウェーブフロントセグメントは、正確に1個のCTB行を含み、WPPが使用されるとき、スライスがCTB行内で開始する場合、それは同じCTB行の中で終了しなければならない。
【0097】
VVCにおけるピクチャーパーティション方式が議論される。
【0098】
HEVCは、4つの異なるピクチャーパーティション方式を含む。つまり、スライス、タイルおよびブリック、およびウェーブフロント並列処理(Wavefront Parallel Processing (WPP))であり、最大変換ユニット(Maximum Transfer Unit (MTU))サイズ適合、並列処理、およびエンドツーエンド遅延の低減のために適用されてよい。
【0099】
VVCにおけるタイルはHEVCにおけるタイルと同様である。タイルは、ピクチャーをタイル列および行にパーティションする水平および垂直境界を定める。VVCでは、タイルの概念は、タイルを水平方向に更に分割させてブリックを形成させることにより、更に改良される。更に分割されないタイルは、ブリックとも考えられる。CTBのスキャン順序は、ピクチャーのブリックラスタースキャンの順序で次のブリックの左上CTBを復号する前に、(ブリックのCTBラスタスキャンの順序で)ブリック内のローカルになるよう変更される。
【0100】
VVCにおけるスライスは、1つ以上のブリックを含む。各スライスは、それ自体のNALユニット内にカプセル化され、ピクチャー内予測(イントラサンプル予測、動き情報予測、コーディングモード予測)およびスライス境界を跨がるエントロピーコーディング依存性が無効にされる。従って、通常スライスは、(ループフィルタリング演算のために相互依存性を依然として有し得るが)同じピクチャー内の他の通常スライスから独立して、再構成できる。VVCは、長方形スライスおよびラスタスキャンスライスの2種類のスライスを定義する。長方形スライスは、ピクチャー内の長方形領域を占有する1つ以上のブリックを含む。ラスタスキャンスライスは、ピクチャー内のブリックのラスタスキャン順序の1つ以上のブリックを含む。
【0101】
VVCにおけるWPP特徴は、HEVCにおけるWPP特徴と同様であるが、HEVC WPPが2つのCTU遅延を有するのに対し、VVC WPPが1つのCTU遅延を有することが異なる。HEVC WPPでは、新しい復号スレッドは、前のCTU行がその最初の2個のCTUを復号された後に、自身に割り当てられたCTU行の中の最初のCTUの復号を開始できる。一方で、VVC WPPでは、新しい復号スレッドは、前のCTU行がその最初のCTUを復号された後に、自身に割り当てられたCTU行の中の最初のCTUの復号を開始できる。
【0102】
タイル、ブリック、およびスライスのPPS内でのシグナリングが議論される。
【0103】
タイル、ブリック、およびスライス(特に長方形スライス)のPPS内での現在のシグナリングは以下の通りである。
【表1-1】
【表1-2】
【0104】
スライスは、スライスを復号するために必要なスライスの特性を記述するシンタックス要素を含むスライスヘッダーに関連付けられる。スライスヘッダーシンタックステーブルおよびスライスヘッダーセマンティクスの導入部分の例は以下に与えられる。
【0105】
一般的なスライスヘッダーシンタックス
【表2】
【0106】
一般的なスライスヘッダーセマンティクス
【0107】
存在するとき、スライスヘッダーシンタックス要素slice_pic_parameter_set_id、non_reference_picture_flag、colour_plane_id、slice_pic_order_cnt_lsb、recovery_poc_cnt、no_output_of_prior_pics_flag、pic_output_flag、およびslice_temporal_mvp_enabled_flagのそれぞれの値は、コーディングピクチャーの全部のスライスヘッダーの中で同じであるべきである。
【0108】
変数CuQpDeltaValは、cu_qp_delta_absを含むコーディングユニットのルマ量子化パラメータと、その予測との間の差を指定し、0に等しく設定される。変数CuQpOffsetCb、CuQpOffsetCr、およびCuQpOffsetCbCrは、cu_chroma_qp_offset_flagを含むコーディングユニットのQp’Cb、Qp’Cr、およびQp’CbCr量子化パラメータのそれぞれの値を決定するときに使用されるべき値を指定し、全部0に等しく設定される。
【0109】
アクセスユニットデリミタが議論される。
【0110】
Gothenburgにおける第15回JVET会議で、VVCビットストリームの中の各ピクチャーについてアクセスユニットデリミタ(access unit delimiter (AUD))の存在を必須とすることが合意された。AUDは、各ピクチャーの最初のスライスの前に、存在することが必須である。これは、VVCビットストリーム内の新しいピクチャーの始めを検出するためのデコーダ実装を助ける。
【0111】
AUD RBSPのシンタックスおよびセマンティクスは以下の通りである。
【表3】
【0112】
アクセスユニットデリミタは、アクセスユニットの開始、およびアクセスユニットデリミタNALユニットを含むアクセスの中のコーディングピクチャー内に存在するスライスのタイプを示すために使用される。アクセスユニットデリミタに関連付けられる規範的な復号処理は存在しない。
【0113】
pic_typeは、アクセスユニットデリミタNALユニットを含むアクセスユニットの中のコーディングピクチャーの全部のスライスのslice_type値が、所与の値のpic_typeについて、表7-3にリストしたセットの構成要素であることを示す。pic_typeの値は、この仕様のこのバージョンに準拠するビットストリームでは0、1、または2に等しく設定されるべきである。他の値のpic_typeは、ITU-T/ISO/IECによる将来の使用のために予約されている。この仕様のこのバージョンに準拠するデコーダは、pic_typeの予約された値を無視するべきである。
表7-3 pic_typeの解釈
【表4】
【0114】
アクセスユニットデリミタに伴う問題が議論される。
【0115】
ピクチャー毎にAUDが存在することを必須にすることにより、いくつかの問題が以下のように識別される。
【0116】
1つのみのアクセスユニットデリミタがピクチャーまたはアクセスユニット毎に存在し、アクセスユニットの中の最初であるNALユニットに含まれることが予想される。しかしながら、マルチレイヤービットストリームの場合におけるように、アクセスユニットが1つより多くのピクチャーを含む場合、アクセスユニットデリミタは、各ピクチャーではなく、各アクセスユニットの検出を助けることができるだけである。
【0117】
単一レイヤービットストリームでは、1つのAUDがピクチャー毎に存在するので、スライスヘッダーの中で現在シグナリングされるが、同じピクチャーの全部のスライスについて同じであるよう制約されるいくつかのシンタックス要素は、AUDへと移動されるべきである。そのようなシンタックス要素は、ピクチャーレベルシンタックス要素と呼ばれてよい。しかしながら、AUDを含むNALユニットが、アクセスユニットの中の最初のNALユニットであると想定されるならば、AUDを含むNALユニットは、SPS、PPS、等のようなパラメータセットを含むNALユニットより先行してよい。AUDおよびパラメータセットの順序は、ピクチャーレベルシンタックス要素をスライスヘッダーからAUDへ移動する柔軟性を制限し、これらのシンタックス要素のパースは、パラメータセットの中でシグナリングされる情報への依存性を有し得る。
【0118】
本願明細書に開示される技術の説明は、ITU-TおよびISO/IECの共同ビデオ専門家チーム(joint video experts team (JVET))により開発中のビデオコーディング規格であるバーサタイルビデオコーディング(Versatile Video Coding (VVC))に基づく。しかしながら、技術は他のビデオコーデック仕様にも適用される。
【0119】
上述のように、AUDは、ビットストリームが単一レイヤーを含むとき、各AUの開始、従ってピクチャーの開始点を示すために使用されている。しかしながら、マルチレイヤービットストリームは同じAU内の異なる解像度で複数のピクチャーを含むので、AUDは、マルチレイヤービットストリームのために同じ機能を提供できない。従って、マルチレイヤービットストリームにおけるように、アクセスユニットが1つより多くのピクチャーを含むとき、AUDは、AUの開始点を示すことができるだけであり、AU内の特定のピクチャーの開始点を示すことはできない。
【0120】
本願明細書は、ピクチャーユニット(PU)が1つのみのピクチャーヘッダー(PH)と1つのみのピクチャーとを含むことを保証する技術を開示し、これは、ネットワーク抽象化レイヤー(NAL)ユニットのレイヤー識別子(ID)が関連するビデオ符号化レイヤー(VCL)NALユニットの前記レイヤーIDと等しくなること、および前記 NALユニットがピクチャーヘッダーNALユニットタイプ(PH_NUT)を含むとき、前記 NALユニットの時間IDが前記PH NALユニットを含むピクチャーユニット(PU)の前記時間IDと等しくなることを可能にする。前記レイヤーIDおよび前記時間IDを用いて、コーディングエラーを生じることなく、前記マルチレイヤービットストリーム内の前記ピクチャーの開始点が決定できる。従って、ビデオコーディングにおけるコーダ/デコーダ(別名:「コーデック」)は、現在のコーデックに対して改良される。現実問題として、改良されたビデオコーディング処理は、ビデオが送信され、受信され、および/または閲覧されるとき、ユーザーに良好なユーザー経験を提供する。
【0121】
ビデオコーディングにおけるスケーラビリティは、マルチレイヤーコーディング技術を用いることにより、サポートされる。マルチレイヤービットストリームは、基本レイヤー(base layer (BL))および1つ以上の拡張レイヤー(enhancement layer (EL))を含む。スケーラビリティの例としては、空間スケーラビリティ、品質/信号対雑音(SNR)スケーラビリティ、マルチビュースケーラビリティなどがある。マルチレイヤーコーディング技術が使用される場合、ピクチャーまたはその一部は、(1)参照ピクチャーを使用せずに、すなわち、イントラ予測を使用することによって、(2)同じレイヤー内にある参照ピクチャーを参照することによって、すなわち、インター予測を使用することによって、または、(3)他のレイヤーにある参照ピクチャーを参照することによって、すなわち、レイヤー間予測を使用することによって、コーディングされ得る。現在ピクチャーのレイヤー間予測に使用される参照ピクチャーは、レイヤー間参照ピクチャー(inter-layer reference picture (ILRP))と呼ばれる。
【0122】
図5は、たとえばブロック圧縮ステップ105、ブロック復号ステップ113、動き推定コンポーネント221、動き補償コンポーネント219、動き補償コンポーネント321、および/または動き補償コンポーネント421においてMVを決定するために実行されるような、レイヤーベースの予測500の一例を示す概略図である。レイヤーベースの予測500は、一方向のインター予測および/または双方向のインター予測と互換性があるが、異なるレイヤーのピクチャー間でも実行される。
【0123】
レイヤーベースの予測500は、異なるレイヤーにおいて、ピクチャー511、512、513、および514とピクチャー515、516、517、および518との間に適用される。図示の例では、ピクチャー511、512、513、および514はレイヤーN+1 532の一部であり、ピクチャー515、516、517、および518はレイヤーN531の一部である。レイヤー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が対応する図を含むかを示すことができる。
【0124】
異なるレイヤー531~532内のピクチャー511~518は、代替として表示されるように構成される。このように、異なるレイヤー531-532内のピクチャー511-518は、ピクチャーが同じAU内に含まれる場合、同じ時間識別子(ID)を共有することができる。本願明細書で使用される場合、AUは、DPBからの出力のための同じ表示時間に関連する1つ以上のコーディングピクチャーの集合である。たとえば、より小さなピクチャーが望まれる場合には、デコーダは、現在の表示時間でピクチャー515を復号および表示し、より大きなピクチャーが望まれる場合には、デコーダは、現在の表示時間でピクチャー511をデコードおよび表示し得る。このように、上位レイヤーN+1 532におけるピクチャー511~514は、(ピクチャーサイズの差にもかかわらず)下位レイヤーN 531における対応するピクチャー515~518と実質的に同じ画像データを含む。具体的には、ピクチャー511は、ピクチャー515と実質的に同じ画像データを含み、ピクチャー512は、ピクチャー516と実質的に同じ画像データを含む、などである。
【0125】
ピクチャー511~518は、同じレイヤーN 531またはN+1 532内の他のピクチャー511~518を参照することによってコーディングすることができる。同じレイヤー内の別のピクチャーを参照してピクチャーを符号化すると、互換性のある一方向性のインター予測および/または双方向性のインター予測であるインター予測523が得られる。インター予測523は、実線矢印で示される。たとえば、ピクチャー513は、レイヤーN+1532内のピクチャー511、512、および/または514のうちの1つまたは2つを参照として使用するインター予測523を採用することによってコーディングされてもよく、1つのピクチャーが、一方向のインター予測のために参照され、および/または、2つのピクチャーが、双方向のインター予測のために参照される。更に、ピクチャー517は、レイヤーN531内のピクチャー515、516、および/または518のうちの1つまたは2つを参照として使用するインター予測523を採用することによってコーディングされてもよく、1つのピクチャーが、一方向のインター予測のために参照され、および/または、2つのピクチャーが、双方向のインター予測のために参照される。ピクチャーが、インター予測523を実行するときに、同じレイヤー内の別のピクチャーのための参照として使用される場合、ピクチャーは、参照ピクチャーと呼ばれ得る。たとえば、ピクチャー512は、インター予測523に従ってピクチャー513をコーディングするために使用される参照ピクチャーであってもよい。インター予測523は、マルチレイヤーコンテキストにおいてイントラレイヤー予測とも呼ばれ得る。このように、インター予測523は、参照により、現在ピクチャーのサンプルを、現在ピクチャーと異なる参照ピクチャー内の示されたサンプルにコーディングするメカニズムである。ここで、参照ピクチャーと現在ピクチャーは同じレイヤーにある。
【0126】
ピクチャー511~518は、異なるレイヤー内の他のピクチャー511~518を参照することによってコーディングすることもできる。この処理は、インターレイヤー予測521として知られており、破線の矢印で示されている。インターレイヤー予測521は、現在ピクチャーと参照ピクチャーが異なるレイヤーにあり、したがって異なるレイヤーIDを有する場合に、参照ピクチャー内の示されたサンプルを参照することによって、現在のピクチャーのサンプルをコーディングするメカニズムである。たとえば、下位レイヤーN 531内のピクチャーを参照ピクチャーとして使用して、対応するピクチャーを上位レイヤーN+1 532にコーディングすることができる。特定の例として、ピクチャー511は、インターレイヤー予測521に従って、ピクチャー515を参照することによってコーディングできる。このような場合、ピクチャー515は、インターレイヤー参照ピクチャーとして使用される。インターレイヤー参照ピクチャーは、インターレイヤー予測521に使用される参照ピクチャーである。ほとんどの場合、インターレイヤー予測521は、ピクチャー511のような現在ピクチャーが、同じAUに含まれ、ピクチャー515のような下位レイヤーにあるインターレイヤー参照ピクチャーのみを使用することができるように制約される。複数のレイヤー(たとえば、2つ以上)が利用可能である場合、インターレイヤー予測521は、現在ピクチャーよりも低いレベルで、複数のインターレイヤー参照ピクチャーに基づいて、現在ピクチャーを符号化/復号することができる。
【0127】
ビデオエンコーダは、レイヤーベースの予測500を使用して、インター予測523およびインターレイヤー予測521の多くの異なる組み合わせおよび/または順列を介して、ピクチャー511~518を符号化することができる。たとえば、ピクチャー515は、イントラ予測に従ってコーディングされてもよい。次いで、ピクチャー515を参照ピクチャーとして使用することによって、ピクチャー516~518をインター予測523に従ってコーディングすることができる。さらに、ピクチャー511は、インターレイヤー参照ピクチャーとしてピクチャー515を使用することによって、インターレイヤー予測521に従ってコーディングされてもよい。次いで、ピクチャー511を参照ピクチャーとして使用することによって、ピクチャー512~514をインター予測523に従ってコーディングすることができる。このように、参照ピクチャーは、異なるコーディングメカニズムに対して単一レイヤー参照ピクチャーおよびインターレイヤー参照ピクチャーの両方として機能することができる。下位レイヤーN 531ピクチャーに基づいて上位レイヤーN+1 532ピクチャーをコーディングすることによって、上位レイヤーN+1 532は、インター予測523およびインターレイヤー予測521よりもはるかに低いコーディング効率を有するイントラ予測を使用することを回避することができる。従って、イントラ予測の劣ったコーディング効率は、最小/最低品質のピクチャーに制限され得、従って、最小量のビデオデータをコーディングすることに制限され得る。参照ピクチャーおよび/またはインターレイヤー参照ピクチャーとして使用されるピクチャーは、参照ピクチャーリスト構造に含まれる参照ピクチャーリストのエントリーの中で示すことができる。
【0128】
図5の各AU506は、いくつかのピクチャーを含むことができる。たとえば、1つのAU506は、ピクチャー511および515を含むことができる。別のAU506は、ピクチャー512および516を含むことができる。実際、各AU506は、(たとえば、ユーザーに表示するために)復号ピクチャーバッファ(decoded picture buffer (DPB))から出力するために、同じ表示時間(たとえば、同じ時間ID)に関連付けられた1つ以上のコーディングピクチャーのセットである。各AUD508は、AU(たとえば、(AU506)の開始またはAU間の境界を示すために使用される指示子またはデータ構造である。
【0129】
以前のH.26xビデオコーディングファミリーは、単一レイヤーコーディングのためのプロファイルとは別のプロファイルにおけるスケーラビリティのサポートを提供してきた。スケーラブルビデオコーディング(Scalable video coding (SVC))は、空間的、時間的および品質的スケーラビリティのサポートを提供するAVC/H.264のスケーラブルな拡張である。SVCでは、ELピクチャー内の各マクロブロック(MB)の中でフラグがシグナリングされ、下位レイヤーからの同一位置ブロックを使用してEL MBが予測されるかどうかが示される。同一位置ブロックからの予測は、テクスチャ、動きベクトル、および/またはコーディングモードを含んでいてもよい。SVCの実装は、未修正のH.264/AVC実装を設計に直接再利用することはできない。SVC ELマクロブロックのシンタックスおよび復号処理は、H.264/AVCのシンタックスおよび復号処理とは異なる。
【0130】
スケーラブルHEVC(Scalable HEVC (SHVC))は、空間的および品質的スケーラビリティのサポートを提供するHEVC/H.265規格の拡張であり、マルチビューHEVC(multiview HEVC (MV-HEVC))は、マルチビュースケーラビリティのサポートを提供するHEVC/H.265の拡張であり、3DHEVC(3D-HEVC)は、MV-HEVCよりも高度で効率的な3次元(3D)ビデオコーディングのサポートを提供するHEVC/H.264の拡張である。時間的スケーラビリティは単一レイヤーHEVCコーデックの不可欠な部分として含まれることに注意されたい。HEVCのマルチレイヤー拡張の設計は、インターレイヤー予測のために使用される復号画像が同じアクセスユニット(AU)のみから来て、長期参照ピクチャー(long-term reference picture (LTRP))として扱われ、現在レイヤーの他の時間参照ピクチャーと共に参照ピクチャーリストの中で参照インデックスを割り当てられるという考えを利用する。インターレイヤー予測(Inter-layer prediction (ILP))は、参照ピクチャーリスト内のインターレイヤー参照ピクチャーを参照するために参照インデックスの値を設定することにより、予測ユニットレベルで達成される。
【0131】
注目すべきことに、参照ピクチャーの再サンプリングおよび空間スケーラビリティの特徴の両方は、参照ピクチャーまたはその一部の再サンプリングを必要とする。参照ピクチャー再サンプリング(Reference picture resampling (RPR))は、ピクチャーレベルまたはコーディングブロックレベルのいずれかで実現することができる。しかしながら、RPRが符号化特徴と呼ばれる場合、それは単一レイヤーコーディングのための特徴である。たとえそうであっても、単一レイヤーコーディングのRPR特徴およびマルチレイヤーコーディングの空間スケーラビリティ特徴の両方に対して同じ再サンプリングフィルタを使用することは、コーデック設計の観点から可能であるか、または望ましい。
【0132】
図6は、段階的復号リフレッシュ(gradual decoding refresh (GDR))技術を実施するよう構成されるビデオビットストリーム650を示す。本願明細書で使用する場合、ビデオビットストリーム650は、コーディングビデオビットストリーム、ビットストリーム、またはそれらの変形を表すこともできる。図6に示すように、ビットストリーム650は、シーケンスパラメータセット(sequence parameter set (SPS))652、ピクチャーパラメータセット(picture parameter set (PPS))654、スライスヘッダー656、および画像データ658を含む。
【0133】
SPS652は、ピクチャーのシーケンス(sequence of pictures (SOP))の中の全てのピクチャーに共通であるデータを含む。対照的に、PPS654は、ピクチャー全体に共通するデータを含む。スライスヘッダー656は、たとえば、スライスタイプ、どのリファレンスピクチャーが使用されるかなど、現在スライスに関する情報を含む。SPS652およびPPS654は、総称的に、パラメータセットと呼ばれてもよい。SPS652、PPS654、およびスライスヘッダー656は、ネットワーク抽象化レイヤー(Network Abstraction Layer (NAL))ユニットのタイプである。NALユニットは、従うべきデータのタイプ(たとえば、コーディングビデオデータ)の指示を含むシンタックス構造である。NALユニットは、ビデオコーディングレイヤー(video coding layer (VCL))と非VCL NALユニットに分類される。VCL NALユニットは、ビデオピクチャー内のサンプルの値を表すデータを含み、非VCL NALユニットは、パラメータセット(多数のVCL NALユニットに適用できる重要なデータ)および補足拡張情報(タイミング情報およびビデオピクチャー内のサンプルの値を復号するためには必要ではないが、復号ビデオ信号の有用性を高める可能性があるその他の補足データ)のような、任意の関連する追加情報を含む。当業者は、ビットストリーム650が、実際の用途における他のパラメータおよび情報を含んでいてもよいことを理解するであろう。
【0134】
図6の画像データ658は、符号化または復号される画像またはビデオに関連するデータを含む。画像データ658は、単に、ビットストリーム650内で搬送されるペイロードまたはデータと呼ばれてもよい。一実施形態では、画像データ658は、GDRピクチャー602、1つ以上のトレーリングピクチャー604、および復元ポイントピクチャー606を含むCVS608(またはCLVS)を含む。実施形態では、GDRピクチャー602は、CVS開始(CVS starting (CVSS))ピクチャーと呼ばれる。CVS608は、ビデオビットストリーム650内の各コーディングレイヤービデオシーケンス(coded layer video sequence (CLVS))のためのコーディングビデオシーケンスである。注目すべきことに、ビデオビットストリーム650が単一レイヤーを含む場合、CVSとCLVSは同じである。ビデオビットストリーム650が複数のレイヤーを含む場合にのみ、CVSとCLVSは異なる。実施形態では、トレーリングピクチャー604は、GDR期間の復元ポイントピクチャー606に先行するため、トレーリングピクチャー604は、GDRピクチャーの一形態であると考えることができる。
【0135】
実施形態では、GDRピクチャー602、トレーリングピクチャー604、および回復ポイントピクチャー606は、CVS608内でGDR周期を定義することができる。実施形態では、復号順序は、GDRピクチャー602で始まり、トレーリングピクチャー604で続き、次いで、復元ピクチャー606に進む。
【0136】
CVS608は、GDRピクチャー602から始まるピクチャーのシリーズ(またはその一部)であり、次のGDRピクチャーまでだがこれを含まない、またはビットストリームの終了までの全てのピクチャー(またはその一部)を含む。GDR期間は、GDRピクチャー602から始まるピクチャーのシリーズであり、復元ポイントピクチャー606までの、およびそれを含む全てのピクチャーを含む。CVS608の復号処理は、常にGDRピクチャー602から開始する。
【0137】
図6に示すように、GDR技術600または原理は、GDRピクチャー602から始まり復元ポイントピクチャー606で終わるピクチャーのシリーズ上で動作する。GDRピクチャー602は、イントラ予測を使用して全てコーディングされたブロック(すなわち、イントラ予測ブロック)を含むリフレッシュ/クリーン領域610と、インター予測を使用して全てコーディングされたブロック(すなわち、インター予測ブロック)を含む未リフレッシュ/ダーティ領域612とを含む。
【0138】
GDRピクチャー602にすぐ隣接するトレーリングピクチャー604は、イントラ予測を用いてコーディングされた第1部分610Aと、インター予測を用いてコーディングされた第2部分610Bとを有するリフレッシュ/クリーン領域610を含む。第2部分610Bは、たとえば、CVS608のGDR周期内の先行ピクチャーのリフレッシュ/クリーン領域610を参照することによってコーディングされる。図示のように、トレーリングピクチャー604のリフレッシュ/クリーン領域610は、コーディング処理が一貫した方向に(たとえば、左から右へ)移動または進行するにつれて拡張し、それに応じて、未リフレッシュ/ダーティ領域612を縮小させる。最終的に、リフレッシュ/クリーン領域610のみを含む復元ポイントピクチャー606が、コーディング処理から得られる。注目すべきことに、以下でさらに説明するように、インター予測ブロックとしてコーディングされるリフレッシュ/クリーン領域610の第2部分610Bは、参照ピクチャー内のリフレッシュ/クリーン領域610のみを参照してもよい。
【0139】
図6に示すように、CVS608内のGDRピクチャー602、トレーリングピクチャー604、および復元ポイントピクチャー606は、それぞれ、それら自身のVCL NALユニット630内に含まれる。CVS608内のVCL NALユニット630のセットは、アクセスユニットと呼ばれてよい。
【0140】
実施形態では、CVS608内のGDRピクチャー602を含むVCL NALユニット630は、GDR NALユニットタイプ(GDR_NUT)を有する。すなわち、実施形態では、CVS608内のGDRピクチャー602を含むVCL NALユニット630は、トレーリングピクチャー604および復元ポイントピクチャー606に対して独自のNALユニットタイプを有する。実施形態では、GDR_NUTは、ビットストリーム650がイントラランダムアクセスポイント(intra random access point (IRAP))ピクチャーで始まる必要がある代わりに、ビットストリーム650がGDRピクチャー602で始まることを可能にする。GDRピクチャー602のVCL NALユニット630をGDR_NUTとして指定することは、たとえば、CVS608内の初期VCL NALユニット630がGDRピクチャー602を含むことをデコーダに示すことができる。実施形態では、GDRピクチャー602は、CVS608内の初期ピクチャーである。実施形態では、GDRピクチャー602は、GDR周期内の初期ピクチャーである。
【0141】
図7は、GDRをサポートするためにエンコーダ制約を用いるときの、望ましくない動き検索700を示す概略図である。図示のように、動き検索700は、現在ピクチャー702および参照ピクチャー704を示す。現在ピクチャー702および参照ピクチャー704は、それぞれ、イントラ予測でコーディングされたリフレッシュ領域706、インター予測でコーディングされたリフレッシュ領域708、および未リフレッシュ領域710を含む。リフレッシュ領域706、リフレッシュ領域708、および未リフレッシュ領域710は、図6のリフレッシュ/クリーン領域610の第1部分610A、リフレッシュ/クリーン領域610の第2部分610B、および未リフレッシュ/ダーティ領域612と同様である。
【0142】
動き検索700の処理の間、エンコーダは、リフレッシュ領域706の外側に位置する参照ブロック714のサンプルの一部を生じる、任意の動きベクトル712を選択するように制約されるか、または阻止される。これは、参照ブロック714が、現在ピクチャー702内の現在ブロック716を予測する際に、最良のレート歪みコスト基準を提供する場合であっても生じる。このように、図7は、GDRをサポートするためにエンコーダ制限を使用する場合に、動き検索700が最適でない理由を示す。
【0143】
図8は、ビデオビットストリーム800の実施形態を示す。本願明細書で使用する場合、ビデオビットストリーム800は、コーディングビデオビットストリーム、ビットストリーム、またはそれらの変形を表すこともできる。図8に示すように、ビットストリーム800は、少なくとも1つピクチャーユニット(picture unit (PU))を含む。3つのPU801が図8に示されているが、実際の適用では、異なる数のPU801がビットストリーム800内に存在してもよい。各PU801は、指定された分類ルールに従い互いに関連付けられた、復号順で連続する、正確に1つのコーディングピクチャー(たとえば、ピクチャー814)を含むNALユニットのセットである。実施形態では、各PU801は、時間ID819を有するか、またはそれに関連付けられる。
【0144】
実施形態では、各PU801は、復号能力情報(decoding capability information (DCI))802、ビデオパラメータセット(video parameter set (VPS))804、シーケンスパラメータセット(sequence parameter set (SPS))806、ピクチャーパラメータセット(picture parameter set (PPS))808、ピクチャーヘッダー(picture header (PH))812、およびピクチャー814、のうちの1つ以上を含む。DCI802、VPS804、SPS806、およびPPS808のそれぞれは、総称して、パラメータセットと呼ばれてよい。実施形態では、図8に示されていない他のパラメータセット、たとえば、適応パラメータセット(adaption parameter set (APS))がビットストリーム800に含まれてもよく、これは、スライスヘッダーに見られる0個以上のシンタックス要素によって決定される0個以上のスライスに適用されるシンタックス要素を含むシンタックス構造である。
【0145】
DCI802は、復号パラメータセット(decoding parameter set (DPS))またはデコーダパラメータセットとも呼ばれてよく、ビットストリーム全体に適用されるシンタックス要素を含むシンタックス構造である。DCI802は、ビデオビットストリーム(たとえば、ビットストリーム800)の寿命に対して一定のままであるパラメータを含み、これは、セッションの寿命に変換することができる。DCI802は、たとえビデオシーケンスのスプライシングがセッション内で起こったとしても、決して超えられないことが保証される最大複雑度の相互運用性ポイントを決定するために、プロファイル、レベル、およびサブプロファイル情報を含むことができる。それは、さらに任意で制約フラグを含み、これは、ビデオビットストリームが、それらのフラグの値によって示されるように、特定の特徴の使用の制約であることを示す。これにより、ビットストリームは、特にデコーダ実装におけるリソース割り当てを可能にする、特定のツールを使用しないものとしてラベル付けされることができる。全てのパラメータセットと同様に、DCI802は最初に参照されたときに存在し、ビデオシーケンスの最初のピクチャーによって参照され、ビットストリームの最初のNALユニット間で送信されなければならないことを意味する。複数のDCI802がビットストリーム内に存在できるが、その中のシンタックス要素の値は、参照されるときに矛盾しない。
【0146】
VPS804は、拡張レイヤーの参照ピクチャーセット構成のための復号依存性または情報を含む。VPS804は、どのタイプのオペレーションポイントが提供されるか、オペレーションポイントのプロファイル、ティア、およびレベル、ならびにセッション交渉およびコンテンツ選択などの基礎として使用され得るビットストリームの他のいくつかの高レベル特性を含む、スケーラブルなシーケンスの全体的な視点またはビューを提供する。
【0147】
SPS806は、ピクチャーのシーケンス(sequence of pictures (SOP))の中の全てのピクチャーに共通であるデータを含む。SPS806は、各ピクチャーヘッダーの中で見付かったシンタックス要素により参照されるPPS内で見付かったシンタックス要素の内容により決定されるような、0個以上のCLVS全体に適用するシンタックス要素を含むシンタックス構造。対照的に、PPS808は、ピクチャー全体に共通するデータを含む。PPS808は、各ピクチャーヘッダー(たとえば、PH812)の中で見付かったシンタックス要素により決定されるような、0個以上のコーディングピクチャー全体に適用するシンタックス要素を含むシンタックス構造である。
【0148】
DCI802、VPS804、SPS806、およびPPS808は、異なるタイプのネットワーク抽象化レイヤー(Network Abstraction Layer (NAL))ユニットに含まれる。NALユニットは、従うべきデータのタイプ(たとえば、コーディングビデオデータ)の指示を含むシンタックス構造である。NALユニットは、ビデオコーディングレイヤー(video coding layer (VCL))と非VCL NALユニットに分類される。VCL NALユニットは、ビデオピクチャー内のサンプルの値を表すデータを含み、非VCL NALユニットは、パラメータセット(多数のVCL NALユニットに適用できる重要なデータ)および補足拡張情報(タイミング情報およびビデオピクチャー内のサンプルの値を復号するためには必要ではないが、復号ビデオ信号の有用性を高める可能性があるその他の補足データ)のような、任意の関連する追加情報を含む。
【0149】
実施形態では、DCI802は、DCI NALユニットまたはDPS NALユニットとして指定された非VCL NALユニットに含まれる。つまり、DCI NALユニットはDCI NALユニットタイプ(NAL unit type (NUT))を有し、DPS NALユニットはDPS NUTを有する。実施形態では、VPS804は、DPS 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を有する。
【0150】
PH812は、コーディングピクチャー(たとえば、ピクチャー814)の全てのスライス(たとえば、スライス818)に適用されるシンタックス要素を含むシンタックス構造である。実施形態では、PH812は、PH NALユニットとして指定された新しいタイプの非VCL NALユニットである。したがって、PH NALユニットはPH NUT(たとえば、PH_NUT)を有する。実施形態では、各PU801には、1つのPH812のみが含まれる。すなわち、PU801は、単一または孤立したPH812を含む。実施形態では、正確に1つのPHNALユニットが、ビットストリーム800内の各ピクチャー801に対して存在する。
【0151】
実施形態では、PH812に関連するPH NALユニットは、時間ID817およびレイヤーID813を有する。時間ID817は、ビットストリーム(たとえば、ビットストリーム801)中の他のPH NALユニットに対する、PH NALユニットの時間的位置を示す。レイヤーID813は、PH NALユニットを含むレイヤー(たとえば、レイヤー531またはレイヤー532)を示す。実施形態では、時間ID817は、POCに類似しているが、POCとは異なる。POCは、各ピクチャーを順番に一意に識別する。単一レイヤービットストリームでは、時間ID817とPOCは同じになる。マルチレイヤービットストリーム(たとえば、図5参照)において、同じAU内のピクチャーは、異なるPOCを有するが、同じ時間ID817を有する。
【0152】
実施形態では、PH NALユニットは、関連するピクチャー814の第1スライス818を含むVCL NALユニットより先行する。これは、PH812の中でシグナリングされ、スライスヘッダー820から参照されるピクチャーヘッダーIDを有する必要なく、PH812と、PH812に関連するピクチャー814のスライス818との間の関連を確立する。従って、2つのPH812の間の全てのVCLNALユニットは、同じピクチャー814に属し、ピクチャー814は、2つのPH812の間の第1PH812に関連すると推定できる。実施形態では、PH812に続く第1VCL NALユニットは、PUに含まれるPH812に関連するピクチャー814(たとえば、ピクチャーの左上角からのスライス)の第1スライス818を含む。
【0153】
実施形態では、PH NALユニットは、ピクチャーレベルパラメータセット(たとえば、PPS)、またはより高いレベルのパラメータセット、たとえば、DCI(別名、DPS)、VPS、SPS、PPSなど)に従い、それぞれ、PH NALユニットの時間IDおよびレイヤーIDよりも両方とも小さい時間ID817およびレイヤーID813を有する。その結果、それらのパラメータセットは、ピクチャーまたはアクセスユニット内で繰り返されない。この順序により、PH812は直ちに解決することができる。つまり、ピクチャー全体に関連するパラメータを含むパラメータセットは、ビットストリーム内で、PH NALユニットの前に配置される。ピクチャーの一部のパラメータを含むものは、PH NALユニットの後に配置される。
【0154】
1つの代替として、PH NALユニットは、ピクチャーレベルパラメータセットおよびプレフィックス補足拡張情報(supplemental enhancement information (SEI))メッセージ、またはDCI(別名、DPS)、VPS、SPS、PPS、APS、SEIメッセージなどのより高いレベルのパラメータセットに従う。
【0155】
実施形態では、PH812は、PH812に関連付けられたピクチャー814のピクチャータイプを指定するシンタックス要素(たとえば、フラグなど)を含んでいてもよい。ピクチャータイプは、以下のタイプを含むことができるが、これらに限定されない:瞬時デコーダリフレッシュ(instantaneous decoder refresh (IDR))ピクチャー、クリーンランダムアクセス(clean random access( CRA))ピクチャー、GDRピクチャー、非GDRピクチャーであり、イントラ予測スライス(Iスライス)のみを含む非IRAPピクチャー、非GDRピクチャーであり、単一方向インター予測スライス(Pスライス)のみを含む非IRAPピクチャー、および非GDRピクチャーであり、双方向インター予測スライス(Bスライス)、Pスライス、およびIスライスのみを含む非IRAPピクチャー。従って、PH812内の単一フラグは、ピクチャー(たとえば、ピクチャー814)内の全てのスライス(たとえば、スライス818)が、たとえば、GDRピクチャー(たとえば、GDRピクチャー602)のスライスであるか否かを示すことができる。これはまた、全てのスライスヘッダー(たとえば、スライスヘッダー820)の代わりに、PH812内で一度、GDRピクチャーに対する復元ポイントピクチャーオーダカウント(picture order count (POC))のシグナリングをサポートする。
【0156】
実施形態では、1つ以上のシンタックス要素は、PH812に関連付けられたピクチャー814のスライスヘッダー820の代わりに、PH812内でシグナリングされる。それらのシンタックス要素は、ピクチャー814によって参照されるPPS ID、ピクチャー814が参照ピクチャーであるか否かを指定するフラグ、ピクチャー814のカラープレーン、ピクチャー814のPOC最下位ビット(least significant bit (LSB))、ピクチャー814がGDRピクチャー(たとえば、GDRピクチャー602)である場合の復元ポイントPOC、ピクチャー814の前のピクチャーが出力されるか否かを指定するフラグ、およびピクチャーが出力ピクチャーであるか否かを指定するフラグである。PPS IDは、ピクチャー814の特定のPPSを識別する識別子である。ピクチャー814のカラー平面は、ピクチャー814のルマ成分およびクロマ成分(たとえば、Y、Cb、およびCrなど)を含む。POC LSBは、POCを識別するビット(または複数のビット)である。POCは、各ピクチャー(たとえば、ピクチャー814)に関連付けられ、CLVS内の全てのピクチャーの中で関連付けられたピクチャーを一意に識別し、関連付けられたピクチャーがDPBから出力される場合、DPBから出力されるべき同じCLVS内の他のピクチャーの出力順序位置に対する出力順序で、関連付けられたピクチャーの位置を示す。復元ポイントPOCは、復元ポイントを識別し、結果として復元ポイントピクチャーを識別するPOCである。
【0157】
これらのシンタックス要素をスライスヘッダー820からPH812に移動させることにより、各スライスヘッダー820内のシンタックス要素を繰り返す代わりに、シンタックス要素をピクチャー814全体について一度だけシグナリングすることが可能になる。これは冗長性を減らし、コーディング効率を増大させる。
【0158】
ピクチャー814は、モノクロフォーマットのルマサンプルのアレイ、またはルマサンプルのアレイ、および4:2:0、4:2:2、および4:4:4カラーフォーマットのクロマサンプルの2つの対応するアレイである。実施形態では、各PU801には、1つの、および1つのみのピクチャー814が含まれる。従って、各PU801内には、PH812が1つのみ、およびそのPH812に対応する1つのみのピクチャー814が存在する。すなわち、PU801は、単一または孤立したピクチャー814を含む。
【0159】
ピクチャー814は、フレームまたはフィールドであってよい。しかしながら、1つのCVS816では、全てのピクチャー814がフレームであるか、または全てのピクチャー814がフィールドである。CVS816は、ビデオビットストリーム800内の各コーディングレイヤービデオシーケンス(coded layer video sequence (CLVS))のためのコーディングビデオシーケンスである。注目すべきことに、ビデオビットストリーム800が単一レイヤーを含む場合、CVS816とCLVSは同じである。(たとえば、図5に示されるように)ビデオビットストリーム800が複数のレイヤーを含む場合にのみ、CVS816とCLVSは異なる。
【0160】
PU801は、集合的にCLVSを含むことができる。CLVSは、復号順で符号化レイヤービデオシーケンス開始(coded layer video sequence start (CLVSS))PUで構成される同じ値のnuh_layer_idを有するPU801のシーケンスであり、その後に、CLVSS PUである後続のPU801までの全ての後続のPU801を含むが、CLVSS PUを含まない0個以上のPU801が続く。CLVSS PUは、コーディングピクチャー(たとえば、ピクチャー814)がCLVSSピクチャーであるPU801である。CLVSSピクチャーは、NoOutputBeforeRecoveryFlagが1に等しいIRAPピクチャー、またはNoOutputBeforeRecoveryFlagが1に等しいGDRピクチャー(たとえば、GDRピクチャー602)であるコーディングピクチャーである。
【0161】
各ピクチャー814は、1つ以上のスライス818を含む。スライス818は、ピクチャー(たとえば、ピクチャー814)のタイル内の整数個の完全タイルまたは整数個の連続する完全CTU行である。各スライス818は、単一のNALユニット(たとえば、VCL NALユニット)に排他的に含まれる。実施形態では、単一NALユニットは、レイヤーID815に関連付けられるか、またはそれを有する。タイル(図示しない)は、ピクチャー(たとえば、ピクチャー814)内の特定のタイル列および特定のタイル行の中で長方形領域のCTUである。タイルは、水平および垂直境界により生成されるピクチャーのパーティションされた部分である。タイルは、長方形および/または正方形であってよい。具体的には、タイルは、直角に接続された4つの辺を含む。4つの辺は、平行な2対の辺を含む。さらに、平行な辺の対の中の辺は、等しい長さである。このように、タイルは、任意の長方形の形状であってもよく、正方形は、四辺の全てが等しい長さである長方形の特殊なケースである。画像/ピクチャーは、1つ以上のタイルを含むことができる。CTU(図示しない)は、ルマサンプルのCTB、3つのサンプルアレイを有するピクチャーのクロマサンプルの2個の対応するCTB、または単色ピクチャーまたは3つの別個の色平面およびサンプルをコーディングするために使用されるシンタックス構造を用いてコーディングされるピクチャーのサンプルのCTBである。CTB(図示しない)は、何らかの値のNについてサンプルのN×Nブロックであってよい。その結果、CTBへの成分の分割はパーティションである。ブロック(図示しない)は、サンプル(たとえば、ピクセル)のM×N(M列×N行)アレイ、または変換係数のM×Nアレイである。
【0162】
実施形態では、各スライス818はスライスヘッダー820を含む。スライスヘッダー820は、スライス818内で表現されるタイルの中の全部のタイルまたはCTU行に関連するデータ要素を含むコーディングスライス818の一部である。つまり、スライスヘッダー820は、たとえば、スライスタイプ、どのリファレンスピクチャーが使用されるかなど、スライス818に関する情報を含む。
【0163】
ピクチャー814、およびそれらのスライス818は、符号化または復号される画像またはビデオに関連するデータを含む。従って、ピクチャー814、およびそれらのスライス818は、単に、ビットストリーム800内で運ばれるペイロードまたはデータと呼ばれてもよい。
【0164】
当業者は、ビットストリーム800が、実際の用途における他のパラメータおよび情報を含んでいてもよいことを理解するであろう。
【0165】
図9は、ビデオデコーダ(たとえば、ビデオデコーダ400)によって実装される復号方法900の実施形態である。方法900は、ビットストリームがビデオエンコーダ(たとえば、ビデオエンコーダ300)から直接的または間接的に受信された後に実行されてもよい。方法900は、PU(たとえば、PU801)が1つのみのPH(たとえば、PH812)と1つのみのピクチャー(たとえば、ピクチャー814)とを含むことを保証することにより、復号処理を向上し、これは、PH_NUTを有するPH NALユニットのレイヤーID(たとえば、レイヤーID813)が関連するVCL NALユニットのレイヤーID(たとえば、レイヤーID815)と等しくなること、およびPH NALユニットの時間ID(たとえば、時間ID817)がPH NALユニットを含むPUの時間ID(たとえば、時間ID819)と等しくなることを可能にする。レイヤーID813/815および時間ID817/819を用いて、コーディングエラーを生じることなく、マルチレイヤービットストリーム内のピクチャーの開始点が決定できる。従って、実用的な問題として、コーデックの性能が改善され、より良いユーザー経験につながる。
【0166】
ブロック902で、ビデオデコーダは、PU(たとえば、PU801)を含むビデオビットストリーム(たとえば、ビデオビットストリーム800)を受信する。PUは、PH_NUTを有するNALユニットを含む。PH_NUTは、PH NALユニットのレイヤーID813が、関連するVCL NALユニットのレイヤーID815と等しいこと、およびPH NALユニットの時間ID817が、PU801の時間ID819と等しいことを示す。実施形態では、PH NALユニットは非VCL NALユニットである。実施形態では、NALユニットはPH(たとえば、PH812)を含む。
【0167】
実施形態では、VCL NALユニットのレイヤーID815は、関連するVCL NALユニットが属するレイヤー(たとえば、レイヤー531、レイヤー532、等)を識別する。つまり、レイヤーIDは、関連するVCL NALユニットを含むレイヤーを識別する。実施形態では、レイヤーIDは、ビデオビットストリーム内の(たとえば、マルチレイヤービットストリーム内の)ピクチャーのレイヤーを識別する。実施形態では、PH NALユニットおよびVCL NALユニットの一方または両方のレイヤーIDは、nuh_layer_idとして指定される。実施形態では、関連するVCL NALユニットは、ピクチャーの複数のスライス(たとえば、スライス818)のうちの1つを含む。
【0168】
実施形態では、時間IDは、ビデオビットストリーム内の(たとえば、マルチレイヤービットストリーム内の)コーディングピクチャーの時間的位置を識別する。つまり、時間IDは、時間に関して、CVS内の他のピクチャーに対して、コーディングピクチャーがCVS(たとえば、CVS816)内のどこに位置するかを識別する。実施形態では、PUは、1つのみのピクチャーヘッダー(PH)および1つのみのピクチャーを含む。レイヤーID813/815および時間ID817/819を用いて、マルチレイヤービットストリーム内のピクチャーの開始点が決定できる。
【0169】
ブロック904では、ビデオデコーダは、復号ピクチャーを得るために、PUからコーディングピクチャーを復号する。実施形態では、PUの復号は、DCI802、VPS804、SPS806、PPS808、PH812、およびスライスヘッダー820のうちの1つ以上の中の情報または命令に従って、ピクチャー814のさまざまなスライス818を復号することを含む。いったん復号されると、ピクチャー814は、電子装置(たとえば、スマートフォン、タブレット、ラップトップ、パーソナルコンピュータなど)のディスプレーまたはスクリーン上のユーザーに表示するための画像またはビデオシーケンスを生じるまたは生成するために使用されてよい。
【0170】
図10は、ビデオエンコーダ(たとえば、ビデオエンコーダ300)によって実装されるビデオビットストリームを符号化する方法1000の実施形態である。方法1000は、(たとえば、ビデオからの)ピクチャーがビデオビットストリームに符号化され、ビデオデコーダ(たとえば、ビデオデコーダ400)に向けて送信されるときに実行されてもよい。方法1000は、PU(たとえば、PU801)が1つのみのPH(たとえば、PH812)と1つのみのピクチャー(たとえば、ピクチャー814)とを含むことを保証することにより、符号化処理を向上し、これは、PH NALユニットタイプ(PH_NUT)を有するPH NALユニットのレイヤーID(たとえば、レイヤーID813)が関連するVCL NALユニットのレイヤーID(たとえば、レイヤーID815)と等しくなること、およびPH NALユニットの時間ID(たとえば、時間ID817)がPH NALユニットを含むPUの時間ID(たとえば、時間ID819)と等しくなることを可能にする。レイヤーID813/815および時間ID817/819を用いて、コーディングエラーを生じることなく、マルチレイヤービットストリーム内のピクチャーの開始点が決定できる。従って、実用的な問題として、コーデックの性能が改善され、より良いユーザー経験につながる。
【0171】
ブロック1002で、ビデオエンコーダは、PU(たとえば、PU801)を生成する。PUは、PH_NUTを有するNALユニットを含む。PH_NUTは、NALユニットのレイヤーIDが、関連するVCL NALユニットのレイヤーIDと等しいこと、およびNALユニットの時間IDがPUの時間IDと等しいことを示す。実施形態では、 NALユニットは非VCL NALユニットである。実施形態では、NALユニットはPH(たとえば、PH812)を含む。
【0172】
実施形態では、VCL NALユニットのレイヤーID815は、関連するVCL NALユニットが属するレイヤー(たとえば、レイヤー531、レイヤー532、等)を識別する。つまり、レイヤーID815は、関連するVCL NALユニットを含むレイヤーを識別する。実施形態では、PH NALユニットのレイヤーID813は、ビデオビットストリーム内の(たとえば、マルチレイヤービットストリーム内の)ピクチャーのレイヤーを識別する。実施形態では、レイヤーIDは、nuh_layer_idとして指定される。実施形態では、関連するVCL NALユニットは、ピクチャーの複数のスライス(たとえば、スライス818)のうちの1つを含む。
【0173】
実施形態では、PH NALユニットの時間IDは、ビデオビットストリーム内の(たとえば、マルチレイヤービットストリーム内の)コーディングピクチャーの時間的位置を識別する。つまり、PH NALユニットの時間IDは、時間に関して、CVS内の他のピクチャーに対して、コーディングピクチャーがCVS(たとえば、CVS816)内のどこに位置するかを識別する。実施形態では、PUは、1つのみのピクチャーヘッダー(PH)および1つのみのピクチャーを含む。レイヤーIDおよび時間IDを用いて、マルチレイヤービットストリーム内のピクチャーの開始点が決定できる。
【0174】
ブロック1004において、ビデオエンコーダは、PUをビデオビットストリーム(たとえば、ビットストリーム800)に符号化する。ブロック1006では、ビデオエンコーダは、ビデオデコーダに向けて通信するためにビデオビットストリームを格納する。ビデオビットストリームは、ビデオビットストリームがビデオデコーダに向かって送信されるまで、メモリに記憶されてもよい。ビデオデコーダによりいったん受信されると、符号化ビデオビットストリームは、(たとえば上述のように)電子装置(たとえば、スマートフォン、タブレット、ラップトップ、パーソナルコンピュータなど)のディスプレーまたはスクリーン上のユーザーに表示するための画像またはビデオシーケンスを生じるまたは生成するために復号されてよい。
【0175】
以下のシンタックスおよびセマンティクスは、本願明細書に開示される実施形態を実装するために使用されてもよい。以下の説明は、最新のVVCドラフト仕様である基本テキストと比較したものである。言い換えると、デルタのみが説明され、一方で、以下で言及されない基本テキストの中のテキストは、それらが記載されたように適用される。基本テキストに対して追加されたテキストは太字または下線で、削除されたテキストは斜体で表示される。
【0176】
ピクチャーヘッダーRBSPシンタックス
【表5】
【0177】
スライスヘッダーRBSPシンタックス
【表6】
【0178】
ピクチャーヘッダーRBSPセマンティクス
【0179】
ピクチャーヘッダーは、復号順で次のVCL NALユニットが最初のコーディングスライスであるコーディングピクチャーの全部のスライスについて共通である情報を含む。
【0180】
pic_typeは、pic_typeの与えられた値に対する表7-3にリストされているコーディングピクチャーの特徴付けを示す。pic_typeの値は、この仕様のこのバージョンに準拠するビットストリームでは、両端を含む0~5に等しく設定されるべきである。他の値のpic_typeは、ITU-T/ISO/IECによる将来の使用のために予約されている。この仕様のこのバージョンに準拠するデコーダは、pic_typeの予約された値を無視するべきである。
表7-3 pic_typeの解釈
【表7】
【0181】
pic_parameter_set_idは、使用中のPPSのpps_pic_parameter_set_idの値を指定する。pic_parameter_set_idの値は、両端を含む0~63の範囲であるべきである。
【0182】
non_reference_picture_flagが1に等しいことは、ピクチャーヘッダーに関連付けられたピクチャーが参照ピクチャーとして使用されないことを指定する。non_reference_picture_flagが0に等しいことは、ピクチャーが参照ピクチャーとして使用される、または使用されないことを指定する。
【0183】
color_plane_idは、separate_color_plane_flagが1に等しいときに、ピクチャーヘッダーに関連付けられたピクチャーに関連付けられた色平面を指定する。colour_plane_idの値は、両端を含む0~2の範囲であるべきである。color_plane_id値0、1、2は、それぞれY、Cb、Cr平面に対応する。
【0184】
注:color_plane_idの値が異なるピクチャーの復号処理の間には依存関係はない。
【0185】
pic_order_cnt_lsbは、ピクチャーヘッダーに関連付けられたピクチャーについて、MaxPicOrderCntLsbを法とするピクチャーオーダカウントを指定する。pic_order_cnt_lsbシンタックス要素の長さは、log2_max_pic_order_cnt_lsb_minus4+4ビットである。pic_order_cnt_lsbの値は、両端を含む、0からMaxPicOrderCntLsb-1までの範囲であるべきである。
【0186】
recovery_poc_cntは、復号ピクチャーの復元ポイントを出力順序で指定する。CVSで現在のGDRピクチャーに続き、現在のGDRピクチャーのPicOrderCntValにrecover_poc_cntの値を加えたものに等しいPicOrderCntValを有するピクチャーpicAがある場合、ピクチャーpicAは復元ポイントピクチャーと呼ばれる。その他の場合、現在ピクチャーのPicOrderCntValにrecover_poc_cntの値を加えたよりも大きいPicOrderCntValを有する出力順序で最初のピクチャーが、復元ポイントピクチャーと呼ばれる。復元ポイントピクチャーは、復号順で現在のGDRピクチャーに先行するべきではない。recovery_poc_cntの値は、両端を含む、0からMaxPicOrderCntLsb-1までの範囲であるべきである。
【0187】
変数RpPicOrderCntValは、以下のように導出される:
【0188】
RpPicOrderCntVal=PicOrderCntVal+recovery_poc_cnt (7-94)
【0189】
no_output_of_prior_pics_flagは、Annex Cで指定されたビットストリームの最初のピクチャーではないCLVSSピクチャーの復号後の復号ピクチャーバッファ内の以前に復号されたピクチャーの出力に影響を与える。
【0190】
pic_output_flagは、Annex Cに規定されているように、復号ピクチャー出力および削除処理に影響を与える。pic_output_flagが存在しない場合、それは、1に等しいと推定される。
【0191】
pic_temporal_mvp_enabled_flagは、時間動きベクトル予測子をインター予測に使用できるかどうかを指定する。pic_temporal_mvp_enabled_flagが0に等しい場合、ピクチャーヘッダーに関連するピクチャーのシンタックス要素は、ピクチャーの復号に時間動きベクトル予測子が使用されないように制約されるべきである。その他の場合(pic_temporal_mvp_enabled_flagga1に等しい)、時間動きベクトル予測子がピクチャーの復号に使用されてよい。
【0192】
pic_temporal_mvp_enabled_flagが存在しない場合、以下が適用される:
【0193】
-sps_temporal_mvp_enabled_flagが0に等しい場合、pic_temporal_mvp_enabled_flagの値は0に等しいと推定される。
【0194】
-その他の場合(sps_temporal_mvp_enabled_flagが1に等しい)、pic_temporal_mvp_enabled_flagの値は、pps_temporal_mvp_enabled_idc-1に等しいと推定される。
【0195】
NALユニットヘッダーセマンティクス。
【0196】
nuh_layer_idは、VCL NALユニットが属するレイヤーの識別子、または非VCL NALユニットが適用されるレイヤーの識別子を指定する。
【0197】
nuh_layer_idの値は、コーディングピクチャーの全てのVCL NALユニットに対して同じであるべきである。コーディングピクチャーまたはレイヤーアクセスユニットのnah_layer_idの値は、コーディングピクチャーまたはレイヤーアクセスユニットのVCL NALユニットのnah_layer_idの値である。
【0198】
nal_unit_typeがPH_NUTと等しい場合、nuh_layer_idの値は、ピクチャーヘッダーNALユニットを含むレイヤーアクセスユニットのVCL NALユニットのnuh_layer_idの値に等しいべきである。
表7-1 NALユニットタイプコード、およびNALユニットタイプクラス
【表8-1】
【表8-2】
【0199】
nuh_temporal_id_plus1-1は、NALユニットの時間識別子を指定する。
【0200】
nuh_temporal_id_plus1の値は0に等しくてはならない。
【0201】
変数TemporalIdは、以下のように導出される:
【0202】
TemporalId=nuh_temporal_id_plus1-1 (7-1)
【0203】
nal_unit_typeが、両端を含むIDR_W_RADLからRSV_IRAP_VCL13までの範囲である場合、TemporalIdは0に等しいべきである。
【0204】
nal_unit_typeがSTSA_NUTに等しいとき、TemporalIdは0に等しいべきではない。
【0205】
TemporalIdの値は、レイヤーアクセスユニットの全てのVCL NALユニットに対して同じであるべきである。コーディングピクチャーまたはレイヤーアクセスユニットのTemporalIdの値は、コーディングピクチャーまたはレイヤーアクセスユニットのVCL NALユニットのTemporalIdの値である。[Ed.(YK):AU内の全てのレイヤーAUが同じ値のTemporarilIdを有することが要求されるべくいかどうかをチェックする。]サブレイヤー表現のTemporarilIdの値は、サブレイヤー表現の全てのVCL NALユニットのTemporarilIdの最大値である。
【0206】
非VCL NALユニットのTemporalIdの値は次のように制約される:
【0207】
-nal_unit_typeがDPS_NUT、VPS_NUT、またはSPS_NUTと等しい場合、TemporalIdは0に等しく、NALユニットを含むレイヤーアクセスユニットのTemporalIdは0に等しいべきである。
【0208】
その他の場合、nal_unit_typeがPH_NUTに等しい場合、TemporalIdは、NALユニットを含むレイヤーアクセスユニットのTemporalIdに等しいべきである。
【0209】
-その他の場合、nal_unit_typeがEOS_NUTに等しくなく、EOB_NUTに等しくない場合、TemporalIdはNALユニットを含むレイヤーアクセスユニットのTemporalId以上であるべきである。
【0210】
注5:NALユニットが非VCL NALユニットである場合、TemporalIdの値は、非VCL NALユニットが適用される全てのレイヤーアクセスユニットのTemporalId値の最小値に等しい。nal_unit_typeがPPS_NUTまたはAPS_NUTと等しい場合、TemporalIdは、全てのPPSおよびAPSがビットストリームの先頭に含まれてもよく、最初のコーディングピクチャーはTemporalIdが0であるため、格納レイヤーアクセスユニットのTemporalId以上であってもよい。nal_unit_typeがPREFIX_SEI_NUTまたはSUFFIX_SEI_NUTに等しい場合、SEI NALユニットは、SEI NALユニットを含むレイヤーアクセスユニットのTemporalIdよりもTemporalId値が大きいレイヤーアクセスユニットを含むビットストリームサブセットに適用される情報を含み得るため、TemporalIdは、格納レイヤーアクセスユニットのTemporalId以上であってよい。
【0211】
NALユニットおよびコーディングピクチャーの順序、並びにレイヤーアクセスユニットおよびアクセスユニットへのそれらの関連付け。
【0212】
この節は、Annex Aで規定される1つ以上のプロファイルに適合し、節2から10で規定される復号処理を使用して復号されるCVSのための、NALユニットとコーディングピクチャーの順序、並びにレイヤーアクセスユニットとアクセスユニットへのそれらの関連を規定する。
【0213】
レイヤーアクセスユニットは、1つのピクチャーヘッダーNALユニットと1つ以上のVCL NALユニットを含む1つのコーディングピクチャーと、0個以上のVCL NALユニットと、0個以上の非VCL NALユニットと、から構成される。コーディングピクチャーへのVCL NALユニットの関連付けは、節7.4.2.4.4に記述される。
【0214】
アクセスユニットは、nuh_layer_idの高い順に、アクセスユニットデリミタNALユニットと1つ以上のレイヤーアクセスユニットから構成される。
【0215】
ビットストリームの最初のアクセスユニットは、ビットストリームの最初のNALユニットから始まる。
【0216】
firstPicHeaderNalUnitInAuを、前のコーディングピクチャーのPicOrderCntValとは異なるPicOrderCntValが導出された最初のコーディングピクチャーのピクチャーヘッダーであるピクチャーヘッダーNALユニットとする。firstPicHeaderNalUnitInAuに先行し、firstPicHeaderNalUnitInAuに先行する最後のVCL NALユニットに続く以下のNALユニットのうちの最初のものは、もしあれば、新しいアクセスユニットの開始を指定する:
【0217】
-DPS NALユニット(存在する場合)、
【0218】
-VPS NALユニット(存在する場合)、
【0219】
-SPS NALユニット(存在する場合)、
【0220】
-PPS NALユニット(存在する場合)、
【0221】
-APS NALユニット(存在する場合)、
【0222】
-プレフィックスSEI NALユニット(存在する場合)、
【0223】
-RSV_NVCL_25~RSV_NVCL_26の範囲のnal_unit_typeを持つNALユニット(存在する場合)、
【0224】
-UNSPEC28~UNSPEC29の範囲のnal_unit_typeを持つNALユニット。
【0225】
注:firstPicHeaderNalUnitInAuより先行し、firstPicHeaderNalUnitInAuより先行する最後のVCLNALユニットの後に続く、最初のNALユニットのみが、もしあれば、上記のNALユニットの1つである。
【0226】
firstPicHeaderNalUnitInAuに先行し、firstPicHeaderNalUnitInAuに先行する最後のVCL NALユニットに続く上述のNALユニットが存在しない場合、もしあれば、firstPicHeaderNalUnitInAuは新しいアクセスユニットを開始する。
【0227】
レイヤーアクセスユニットまたはアクセスユニット内のコーディングピクチャーおよび非VCL NALユニットの順序は、以下の制約に従うべきである:
【0228】
各レイヤーアクセスユニットは、レイヤーアクセスユニットの最初のVCL NALユニットに先行する、1つのおよび1つのみのピクチャーヘッダーNALユニットを含むべきである。
【0229】
DPS NALユニット、VPS NALユニット、SPS NALユニット、またはPPS NALユニットがレイヤーアクセスユニット内に存在する場合、それらはレイヤーアクセスユニットのピクチャーヘッダーNALユニットに先行するべきである。
【0230】
APS NALユニット、プレフィクスSEI NALユニット、RSV_NVCL_25~RSV_NVCL_26の範囲にあるnal_unit_typeを有するNALユニット、またはUNSPEC28~UNSPEC29の範囲にあるnal_unit_typeを有するNALユニットが、レイヤーアクセスユニットの中に存在するとき、それらは、レイヤーアクセスユニットの最後のVCL NALユニットに続いてはならない。
【0231】
-レイヤーアクセスユニットの中でSUFFIX_SEI_NUTまたはRSV_NVCL_27と等しい、またはUNSPEC30~UNSPEC31の範囲にあるnal_unit_typeを有するNALユニットは、レイヤーアクセスユニットの最初のVCL NALユニットに先行するべきではない。
【0232】
-シーケンスNALユニットの終端がアクセスユニット内に存在するとき、それは、(存在するとき)ビットストリームNALユニットの終端以外のアクセスユニット内の全部のNALユニットの中の最後のNALユニットであるべきである。
【0233】
-ビットストリームNALユニットの終端がアクセスユニット内に存在するとき、それはアクセスユニット内の最後のNALユニットであるべきである。
【0234】
SliceヘッダーRBSPセマンティクス
【0235】
(外1)
【0236】
変数CuQpDeltaValは、cu_qp_delta_absを含むコーディングユニットのルマ量子化パラメータと、その予測との間の差を指定し、0に等しく設定される。変数CuQpOffsetCb、CuQpOffsetCr、およびCuQpOffsetCbCrは、cu_chroma_qp_offset_flagを含むコーディングユニットのQp′Cb、Qp′Cr、およびQp′CbCr量子化パラメータのそれぞれの値を決定するときに使用されるべき値を指定し、全部0に等しく設定される。
【0237】
(外2)
【0238】
現在ピクチャーのTemporalIdの値が、slice_pic_parameter_set_idに等しいpps_pic_parameter_set_idを持つPPSのTemporalIdの値以上であることはビットストリーム適合性の要件である。
【0239】
slice_addressはスライスのスライスアドレスを指定する。存在しないとき、slice_addressの値は0に等しいと推定される。
【0240】
rect_slice_flagが0に等しい場合、以下が適用される:
【0241】
-スライスアドレスは、式(7-59)で指定されるブリックIDである。
【0242】
-slice_addressの長さはCeil(Log2(NumBricksInPic))ビットである。
【0243】
-slice_addressの値は、両端を含む0~NumBricksInPic-1の範囲であるべきである。
【0244】
その他の場合(rect_slice_flagが1に等しい)、以下が適用される:
【0245】
-スライスアドレスは、スライスのスライスIDである。
【0246】
-slice_addressの長さはsignalled_slice_id_length_minus1+1ビットである。
【0247】
signalled_slice_id_flagが0に等しい場合、slice_addressの値は、両端を含む0からnum_slices_in_pic_minus1の範囲であるべきである。その他の場合、slice_addressの値は、両端を含む0~2(signalled_slice_id_length_minus1+1)-1の範囲であるべきである。
【0248】
以下の制約が適用されることは、ビットストリーム適合性の要件である:
【0249】
-slice_addressの値は、同じコーディングピクチャーの任意の他のコーディングスライスNALユニットのslice_addresの値と等しくてはならない。
【0250】
-rect_slice_flagが0に等しいとき、ピクチャーのスライスはそれらのslice_address値の昇順になるべきである。
【0251】
-ピクチャーのスライスの形状は、各ブリックが、復号されたときに、ピクチャー境界からなるか、または以前に復号されたブリックの境界からなる、その左側境界全体および上側境界全体を有するようなものでなければならない。
【0252】
num_bricks_in_slice_minus1は、存在する場合、スライス内のブリック数から1を引いた値を指定する。num_bricks_in_slice_minus1の値は、両端を含む0からNumBricksInPic-1の範囲であるべきである。rect_slice_flagが0に等しく、single_brick_per_slice_flagが1に等しい場合、num_bricks_in_slice_minus1の値は0に等しいと推定される。single_brick_per_slice_flagが1に等しい場合、num_bricks_in_slice_minus1の値は0に等しいと推定される。
【0253】
現在スライス内のブリックの数を指定する変数NumBricksInCurrSliceと、現在スライス内のi番目のブリックのブリックインデックスを指定するSliceBrickIdx[i]は、次のように導出される:
【数1】
【0254】
変数SubPicIdx、SubPicLeftBoundaryPos、SubPicTopBoundaryPos、SubPicRightBoundaryPos、およびSubPicBotBoundaryPosは、次のように導出される:
【数2】
【0255】
(外3)
【0256】
slice_typeは、表7-11に従ってスライスのコーディングタイプを指定する。
表7-11 slice_typeへの名称の関連
【表9】
【0257】
nal_unit_typeが、両端を含むIDR_W_RADLからCRA_NUTの範囲のnal_unit_typeの値であり、現在ピクチャーがアクセスユニットの中の最初のピクチャーである場合、slice_typeは2に等しいべきである。存在しないとき、slice_type値は2に等しいと推定される。
【0258】
(外4)
【0259】
(外5)
【0260】
(外6)
【0261】
(外7)
【0262】
(外8)
【0263】
(外9)
【0264】
(外10)
【0265】
(外11)
【0266】
(外12)
【0267】
(外13)
【0268】
(外14)
【0269】
(外15)
【0270】
(外16)
【0271】
ピクチャーオーダカウントの復号処理。
【0272】
この処理の出力は、現在ピクチャーのピクチャーオーダカウントであるPicOrderCntValである。
【0273】
各コーディングピクチャーは、PicOrderCntValとして示されるピクチャーオーダカウント変数に関連付けられる。
【0274】
現在ピクチャーがCLVSSピクチャーでない場合、変数prevPicOrderCntLsbとprevPicOrderCntMsbは次のように導出される:
【0275】
-prevTid0Picを、現在ピクチャーのnuh_layer_idに等しいnuh_layer_idと、0に等しいTemporalIdとを有し、RASLまたはRADLピクチャーではない、復号順で前のピクチャーであるとする。
【0276】
-変数prevPicOrderCntLsbは、prevTid0Picのpic_order_cnt_lsbに等しく設定される。
【0277】
-変数prevPicOrderCntMsbは、prevTid0PicのPicOrderCntMsbに等しく設定される。
【0278】
現在ピクチャーの変数PicOrderCntMsbは、以下のように導出される:
【0279】
-現在ピクチャーがCLVSSピクチャーである場合、PicOrderCntMsbは0に等しく設定される。
【0280】
-その他の場合、PicOrderCntMsbは次のように導出される:
【数3】
【0281】
PicOrderCntValは次のように導出される:
【数4】
【0282】
注1:CLVSSピクチャーについて、PicOrderCntMsbが0に等しく設定されているため、全てのCLVSSピクチャーは、pic_order_cnt_lsbに等しいPicOrderCntValを有する。
【0283】
PicOrderCntValの値は、両端を含む-231~231-1の範囲であるべきである。
【0284】
1つのCVSでは、同じ値のnuh_layer_idを有する任意の12つのコーディングピクチャーのPicOrderCntVal値は、同じであるべきではない。
【0285】
任意の特定のアクセスユニットの中の全部のピクチャーは、同じ値のPicOrderCntValを有する。
【0286】
関数PicOrderCnt(picX)は以下のように指定される:
【数5】
【0287】
関数DiffPicOrderCnt(picA,picB)は以下のように指定される:
【数6】
【0288】
ビットストリームは、結果として、両端を含む-215から215-1の範囲でない復号処理で使用されるDiffPicOrderCnt(picA,picB)の値になるデータを含むべきではない。
【0289】
注2:Xを現在ピクチャーとし、YとZを同じCVS内の他の2つのピクチャーとすると、DiffPicOrderCnt(X,Y)とDiffPicOrderCnt(X,Z)がともに正またはともに負の場合、YとZはXからの方向の出力順序が同じであると見なされる。
【0290】
利用不可能な参照ピクチャーを生成する一般的な復号処理。
【0291】
現在ピクチャーがNoIncorrectPicOutputFlagが1のCRAピクチャー、またはNoIncorrectPicOutputFlagが1のGDRピクチャーである場合、この処理は、コーディングピクチャーごとに1回呼び出される。
【0292】
この処理が呼び出されると、以下が適用される:
【0293】
-それぞれについて、RefPicList[i][j]、iは両端を含む0から1の範囲であり、jは両端を含む0からnum_ref_entries[i][RplsIdx[i]]-1の範囲であり、「参照画像なし」に等しく、ピクチャーは、第8.3.4.2項で規定されるように生成され、以下が適用される。
【0294】
-生成されたピクチャーのnuh_layer_idの値は、現在ピクチャーのnuh_layer_idに等しく設定される。
【0295】
st_ref_pic_flag[i][RplsIdx[i]][j]が1に等しい場合、生成されたピクチャーのPicOrderCntValの値はRefPicPocList[i][j]に等しく設定され、生成されたピクチャーは「短期参照のために使用される」とマークされる。
【0296】
-その他の場合(st_ref_pic_pic_flag[i][RplsIdx[][j]が0に等しい)、生成された画像のPicOrderCntValの値がRefPicLtPocList[i][j]に等しく設定され、生成された画像のpic_order_cnt_lsbの値が(RefPicLtPocList[i][j]&(MaxPicOrderCntLsb-1))に等しいと推定され、生成されたピクチャーは「長期参照に使用される」とマークされる。
【0297】
-生成された参照ピクチャーのPicOutputFlagの値は、0に等しく設定される。
【0298】
-RefPicList[i][j]は、生成された参照ピクチャーに設定される。
【0299】
時間ルマ動きベクトル予測のための導出処理。
【0300】
変数mvLXColおよびavailableFlagLXColは、以下のように導出される:
【0301】
pic_temporal_mvp_enabled_flagが0に等しいか、または(cbWidth*cbHeight)が32以下である場合、mvLXColの両コンポーネントは0に等しく設定され、avalableFlagLXColは0に等しく設定される。
【0302】
-その他の場合(pic_temporal_mvp_enabled_flagが1に等しい)、以下の順序付きステップが適用される。
【0303】
1.
右下の同一位置動きベクトル、および下と右の境界サンプル位置は、次のように導出される:
【数7】
【0304】
-yCb>>CtbLog2SizeYがyColBr>>CtbLog2SizeYに等しく、yColBrがbotBoundaryPos以下であり、xColBrがrightBoundaryPos以下である場合、以下が適用される:
【0305】
-変数colCbは、ColPicにより指定された同一位置ピクチャーの内部にある((xColBr>>3)<<3,(yColBr>>3)<<3)で与えられる変更された位置をカバーするルマコーディングブロックを指定する。
【0306】
-ルマ位置(xColCb,yColCb)は、ColPicで指定された同一位置ピクチャーの左上のルマサンプルに対する、colCbで指定された同一位置ルマコーディングブロックの左上のサンプルに等しく設定される。
【0307】
-8.5.2.12節で指定されている同一位置動きベクトルの導出処理は、currentCb、colCb、((xColCb、yColCb)、refIdxLX、sbFlagを入力として0に設定して呼び出され、出力はmvLXColとavailableFlagLXColに割り当てられる。
【0308】
-その他の場合、mvLXColの両方のコンポーネントは0に等しく設定され、avalableFlagLXColは0に等しく設定される。
【0309】
2.
availableFlagLXColが0に等しい場合、中央の同一位置動きベクトルは、以下のように導出される:
【数8】
【0310】
-変数colCbは、ColPicにより指定された同一位置ピクチャーの内部にある((xColCtr>>3)<<3,(yColCtr>>3)<<3)で与えられる変更された位置をカバーするルマコーディングブロックを指定する。
【0311】
-ルマ位置(xColCb,yColCb)は、ColPicで指定された同一位置ピクチャーの左上のルマサンプルに対する、colCbで指定された同一位置ルマコーディングブロックの左上のサンプルに等しく設定される。
【0312】
-8.5.2.12節で指定されている同一位置動きベクトルの導出処理は、currentCb、colCb、((xColCb、yColCb)、refIdxLX、sbFlagを入力として0に設定して呼び出され、出力はmvLXColとavailableFlagLXColに割り当てられる。
【0313】
サブブロックベースの時間マージ候補の導出処理。
【0314】
利用可能性フラグavailableFlagSbColは以下のように導出される:
【0315】
-以下の条件のうちの1つ以上が真である場合、availableFlagSbColは0に等しく設定される。
【0316】
pic_temporal_mvp_enabled_flagiが0に等しい。
【0317】
-ps_sbtmvp_enabled_flagが0に等しい。
【0318】
-cbWidthが8未満である。
【0319】
-cbHeightが8未満である。
【0320】
-その他の場合、以下の順序付きステップが適用される。
【0321】
1.
現在コーディングブロックを含むルマコーディングツリーブロックの左上のサンプルの位置(xCtb,yCtb)と、現在ルマコーディングブロックの右下の中央のサンプルの位置(xCtr,yCtr)は、次のように導出される:
【数9】
【0322】
2.
ルマ位置(xColCtrCb,yColCtrCb)は、ColPicで指定された同一位置ピクチャーの左上のルマサンプルに対する、ColPic内の(xCtr,yCtr)で与えられる位置をカバーする同一位置ルマコーディングブロックの左上のサンプルに等しく設定される。
【0323】
3.
8.5.5.4項に規定されているサブブロックベースの時間マージベースの動きデータの導出処理は、位置(xCtb,yCtb)、位置(xColCtrCb,yColCtrCb)、利用可能性フラグavailableFlagA、予測リスト利用フラグpredFlagLXA、参照refIdxLXA、および動きベクトルmvLXAを入力として、Xは0および1であり、並びに、同一位置ブロックの予測リスト利用フラグctrPredFlagLX、Xは0および1であり、時間動きベクトルtempMvを出力として、呼び出される。
【0324】
4.
変数availableFlagSbColは、以下のように導出される:
【0325】
-ctrPredFlagL0およびctrPredFlagL1の両方が0に等しい場合、availableFlagSbColは0に等しく設定される。
【0326】
-その他の場合、availableFlagSbColは1に等しく設定される。
【0327】
構成されたアフィン制御点動きベクトルマージ候補の導出処理。
【0328】
第4(同一位置の右下)制御点動きベクトルcpMvLXCorner[3]、参照インデックスrefIdxLXCorner[3]、予測リスト利用フラグpredFlagLXCorner[3]、および利用可能性フラグavailableFlagCorner[3]、Xは0および1、は、以下のように導出される。
【0329】
-時間マージ候補refIdxLXCorner[3]の参照インデックスは、0に等しく設定され、Xは0または1である。
【0330】
-変数mvLXColおよびavailableFlagLXColは、以下のように導出され、Xは0または1である:
【0331】
pic_temporal_mvp_enabled_flagが0に等しく設定される場合、mvLXColの両方のコンポーネントは0に等しく設定され、avalableFlagLXColは0に等しく設定される。
【0332】
その他の場合(pic_temporal_mvp_enabled_flagが1に等しい)、以下が適用される:
【数10】
【0333】
-yCb>>CtbLog2SizeYがyColBr>>CtbLog2SizeYに等しく、yColBrがpic_height_in_luma_samples未満であり、xColBrがpic_width_in_luma_samples未満である場合、以下が適用される:
【0334】
-変数colCbは、ColPicにより指定された同一位置ピクチャーの内部にある((xColBr>>3)<<3,(yColBr>>3)<<3)で与えられる変更された位置をカバーするルマコーディングブロックを指定する。
【0335】
-ルマ位置(xColCb,yColCb)は、ColPicで指定された同一位置ピクチャーの左上のルマサンプルに対する、colCbで指定された同一位置ルマコーディングブロックの左上のサンプルに等しく設定される。
【0336】
-8.5.2.12節で指定されている同一位置動きベクトルの導出処理は、currCb、colCb、(xColCb,yColCb)、refIdxLXCorner[3]、および0に等しく設定されるsbFlagを入力として呼び出され、出力はmvLXColとavailableFlagLXColに割り当てられる。
【0337】
-その他の場合、mvLXColの両方のコンポーネントは0に等しく設定され、avalableFlagLXColは0に等しく設定される。
【0338】
変数avalableFlagCorner[3]、predFlagL0Corner[3]、cpMvL0Corner[3]およびpredFlagL1Corner[3]は以下のように導出される。
【数11】
【0339】
slice_typeがBと等しい場合、変数avalableFlagCorner[3]、predFlagL1Corner[3]、cpMvL1Corner[3]は次のように導出される。
【数12】
【0340】
図11は、本開示の実施形態による、ビデオコーディング装置1100(たとえば、ビデオエンコーダ300またはビデオデコーダ400)の概略図である。ビデオコーディング装置1100は、ここに説明したような開示の実施形態を実施するのに適する。ビデオ符号化装置1100は、データを受信するためのイングレスポート1110および受信機ユニット(receiver units, Rx)1120と、データを処理するためのプロセッサ、論理ユニット、または中央処理ユニット(central processing unit, CPU)1130と、データを送信するための送信機ユニット(transmitter units, Tx)1140およびイグレスポート1150と、データを格納するためのメモリ1160と、を含む。ビデオコーディング装置1100は、イングレスポート1110、受信機ユニット1120、送信機ユニット1140、およびイグレスポート1150に接続された、光若しくは電気信号のイグレス若しくはイングレスのための光-電気(optical-to-electrical (OE))コンポーネントおよび電気-光(electrical-to-optical (EO))コンポーネントも含んでよい。
【0341】
プロセッサ1130は、ハードウェアおよびソフトウェアにより実装される。プロセッサ1130は、1つ以上のCPUチップ、コア(たとえば、マルチコアプロセッサ)、フィールドプログラマブルゲートアレイ(field-programmable gate array(FPGA))、特定用途向け集積回路(application specific integrated circuit (ASIC))、およびデジタル信号プロセッサ(digital signal processor(DSP))として実装されてよい。プロセッサ1130は、イングレスポート1110、受信機ユニット1120、送信機ユニット1140、イグレスポート1150、およびメモリ1160と通信する。プロセッサ1130は、コーディングモジュール1170を含む。コーディングモジュール1170は、上述の開示の実施形態を実装する。たとえば、コーディングモジュール1170は、種々のコーデック機能を実装し、処理し、準備し、または提供する。コーディングモジュール1170の中に含まれるものは、従って、ビデオコーディング装置1100の機能に実質的な改良を提供し、ビデオコーディング装置1100の異なる状態への変換をもたらす。代替として、コーディングモジュール1170は、メモリ1160に格納されプロセッサ1130により実行される命令として実装される。
【0342】
ビデオコーディング装置1100は、データをユーザーにおよびから通信する入力および/または出力(input and/or output(I/O))装置1180も含んでよい。I/O装置1180は、ビデオデータを表示するディスプレー、オーディオデータを出力するスピーカー、等のような出力装置を含んでよい。I/O装置1180は、キーボード、マウス、トラックボール、等のような入力装置、および/または、そのような出力装置とインターフェースする対応するインターフェースも含んでよい。
【0343】
メモリ1160は、1つ以上のディスク、テープドライブ、および固体ドライブを含み、プログラムが実行のために選択されるとき該プログラムを格納するためおよびプログラムの実行中に読み出される命令およびデータを格納するためのオーバフローデータ記憶装置として使用されてよい。メモリ1160は、揮発性および/または不揮発性であってよく、読み出し専用メモリ(read-only memory, ROM)、ランダムアクセスメモリ(random access memory, RAM)、三値連想メモリ(ternary content-addressable memory, TCAM)、および/または静的ランダムアクセスメモリ(static random-access memory, SRAM)であってよい。
【0344】
図12は、コーディングする手段1200の実施形態の概略図である。実施形態では、コーディングする手段1200は、ビデオコーディング装置1202(たとえば、ビデオエンコーダ300またはビデオデコーダ400)内に実装される。ビデオコーディング装置1202は、受信手段1201を含む。受信手段1201は、符号化するピクチャーを受信するか、または復号するビットストリームを受信するように構成される。ビデオコーディング装置1202は、受信手段1201に結合された送信手段1207を含む。送信手段1207は、ビットストリームをデコーダに送信するか、または復号画像を表示手段(たとえば、I/O装置1180の1つ)に送信するように構成される。
【0345】
ビデオコーディング装置1202は、記憶手段1203を含む。記憶手段1203は、受信手段1201または送信手段1207のうちの少なくとも1つに結合される。記憶意味1203は、命令を格納するよう構成される。ビデオコーディング装置1202は、受信手段1205を更に含む。処理手段1205は、記憶手段1203に結合される。処理手段1205は、本願明細書に開示される方法を実行するために、記憶手段1203に格納された命令を実行するように構成される。
【0346】
更に理解されるべきことに、ここに説明された例示的な方法のステップは、必ずしも説明された順に実行される必要はなく、このような方法のステップの順は、単なる例であると理解されるべきである。同様に、追加ステップがこのような方法に含まれてよく、特定のステップは、本開示の種々の実施形態に従う方法において、省略されまたは結合されてよい。
【0347】
いくつかの実施形態が本開示において提供されたが、開示のシステムおよび方法は、本開示の精神または範囲から逸脱することなく、多くの他の特定の形式で実施され得ることが理解されるべきである。本発明の例は、説明のためであり限定的ではないと考えられるべきであり、ここに与えられた詳細事項に限定されることを意図しない。たとえば、種々の要素またはコンポーネントは、結合され、または別のシステムに統合されてよく、或いは、特定の機能は、省略されまたは実施されなくてよい。
【0348】
更に、種々の実施形態において説明され示された技術、システム、サブシステム、および方法は、本開示の範囲から逸脱することなく、他のシステム、モジュール、技術、または方法と結合されまたは統合されてよい。互いに結合されまたは直接結合されまたは通信するとして示されまたは議論された他のアイテムは、電気的、機械的、またはその他にかかわらず、間接的に結合されまたは何らかのインターフェース、装置、または中間コンポーネントを通じて通信してよい。変更、代用、および改造の他の例は、当業者により確認され、ここに開示した精神および範囲から逸脱することなく行われ得る。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
【手続補正書】
【提出日】2022-04-26
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
ビデオデコーダによって実現される復号方法であって、
前記ビデオデコーダによって、ピクチャーユニット(PU)を含むビデオビットストリームを受信し、前記PUは、ピクチャーヘッダー(PH)ネットワーク抽象化レイヤー(NAL)ユニットタイプ(PH_NUT)を有するPH NALユニットと、関連するビデオコーディングレイヤー(VCL)NALユニットと、を含み、前記PH_NUTは、前記PH NALユニットのレイヤー識別子(ID)が前記関連するVCL NALユニットのレイヤーIDに等しいこと、および前記PH NALユニットの時間IDが、前記PUの時間IDに等しいことを示す、ステップと、
前記ビデオデコーダによって、前記PUからコーディングピクチャーを復号して、復号ピクチャーを得るステップと、
を含む方法。
【請求項2】
前記PUは、1つのみのピクチャーヘッダー(PH)を含み、前記コーディングピクチャーは前記PU内の1つのみのピクチャーである、請求項1に記載の方法。
【請求項3】
前記PH NALユニットの前記レイヤーIDに基づき、前記コーディングピクチャーのレイヤーを識別し、前記PH NALユニットの前記時間IDに基づき、前記ビデオビットストリーム内の前記コーディングピクチャーの時間的位置を識別するステップ、を更に含む請求項1~2のいずれかに記載の方法。
【請求項4】
前記関連するVCL NALユニットは、前記コーディングピクチャーのスライスを含む、請求項1~3のいずれかに記載の方法。
【請求項5】
前記PH NALユニットは、非VCL NALユニットである、請求項1~4のいずれかに記載の方法。
【請求項6】
前記PH NALユニットは、前記1つのみのPHを含む、請求項2に記載の方法。
【請求項7】
前記PH NALユニットの前記レイヤーIDは、nuh_layer_idとして指示される、請求項1~6のいずれかに記載の方法。
【請求項8】
前記VCL NALユニットのレイヤーIDは、前記関連するVCL NALユニットを含むレイヤーを識別する、請求項1~7のいずれかに記載の方法。
【請求項9】
電子装置のディスプレー上で前記復号ピクチャーを表示するステップを更に含む請求項1~8のいずれかに記載の方法。
【請求項10】
ビデオエンコーダにより実施される符号化方法であって、前記方法は、
前記ビデオエンコーダにより、ピクチャーユニット(PU)を生成するステップであって、前記PUは、ピクチャーヘッダーNALユニットタイプ(PH_NUT)を有するピクチャーヘッダー(PH)ネットワーク抽象化レイヤー(NAL)ユニットと、関連するビデオコーディングレイヤー(VCL)NALユニットと、を含み、前記PH_NUTは、前記PH NALユニットのレイヤー識別子(ID)が前記関連するVCL NALユニットのレイヤーIDと等しいこと、および前記PH NALユニットの時間IDが前記PUの時間IDと等しいことを示す、ステップと、
前記ビデオエンコーダにより、前記PUをビデオビットストリームへと符号化するステップと、
前記ビデオエンコーダにより、ビデオデコーダへ向けて通信するために、前記ビデオビットストリームを格納するステップと、
を含む方法。
【請求項11】
前記PUは、1つのみのピクチャーヘッダー(PH)、およびコーディングピクチャーを含み、前記コーディングピクチャーは前記PU内の1つのみのピクチャーである、請求項10に記載の方法。
【請求項12】
前記PH NALユニットの前記レイヤーIDは、前記ビデオビットストリーム内の前記コーディングピクチャーのレイヤーを識別し、前記PH NALユニットの前記時間IDは、マルチレイヤービットストリーム内の前記コーディングピクチャーの時間的位置を識別する、請求項11に記載の方法。
【請求項13】
前記関連するVCL NALユニットは、前記コーディングピクチャーのスライスを含み、前記PH NALユニットは非VCL NALユニットであるむ、請求項11~12のいずれかに記載の方法。
【請求項14】
復号装置であって、
ピクチャーユニット(PU)を含むビデオビットストリームを受信するよう構成される受信機であって、前記PUは、ピクチャーヘッダー(PH)ネットワーク抽象化レイヤー(NAL)ユニットタイプ(PH_NUT)を有するPH NALユニットと、関連するビデオコーディングレイヤー(VCL)NALユニットと、を含み、前記PH_NUTは、前記PH NALユニットのレイヤー識別子(ID)が前記関連するVCL NALユニットのレイヤーIDに等しいこと、および前記PH NALユニットの時間IDが、前記PUの時間IDに等しいことを示す、受信機と、
前記受信機に結合されるメモリであって、前記メモリは命令を含む、メモリと、
前記メモリに結合されるプロセッサであって、前記プロセッサは、前記復号装置に、前記PUからコーディングピクチャーを復号させて、復号ピクチャーを取得させるために、前記命令を実行するよう構成される、プロセッサと、
を含む復号装置。
【請求項15】
前記PUは、1つのみのピクチャーヘッダー(PH)を含み、前記コーディングピクチャーは前記PU内の1つのみのピクチャーである、請求項14に記載の復号装置。
【請求項16】
前記プロセッサは、前記復号装置に、前記PH NALユニットの前記レイヤーIDに基づき、前記ビデオビットストリーム内の前記コーディングピクチャーのレイヤーを識別させ、前記PH NALユニットの前記時間IDに基づき、前記ビデオビットストリーム内の前記コーディングピクチャーの時間的位置を識別させるために、前記命令を実行するよう構成される、請求項15に記載の復号装置。
【請求項17】
前記関連するVCL NALユニットは、前記コーディングピクチャーのスライスを含む、請求項15~16のいずれかに記載の復号装置。
【請求項18】
符号化装置であって、
命令を含むメモリと、
前記メモリに結合されるプロセッサであって、前記プロセッサは、前記符号化装置に、
ピクチャーヘッダー(PH)ネットワーク抽象化レイヤー(NAL)ユニットタイプ(PH_NUT)を有するPH NALユニットと、関連するビデオコーディングレイヤー(VCL)NALユニットと、を含むピクチャーユニット(PU)を生成させ、前記PH_NUTは、前記PH NALユニットのレイヤー識別子(ID)が前記関連するVCL NALユニットのレイヤーIDに等しいこと、および前記PH NALユニットの時間IDが前記PUの時間IDと等しいこと、を示し、
前記PUをビデオビットストリームへと符号化させる、
ために、前記命令を実施するよう構成される、プロセッサと、
前記プロセッサに結合される送信機であって、前記送信機は、ビデオデコーダへ向けて前記ビデオビットストリームを送信するよう構成される、送信機と、
を含む符号化装置。
【請求項19】
前記PUは、1つのみのピクチャーヘッダー(PH)、およびコーディングピクチャーを含み、前記コーディングピクチャーは前記PU内の1つのみのピクチャーである、請求項18に記載の符号化装置。
【請求項20】
前記PH NALユニットの前記レイヤーIDは、前記ビデオビットストリーム内の前記コーディングピクチャーのレイヤーを識別し、前記PH NALユニットの前記時間IDは、前記ビデオビットストリーム内の前記コーディングピクチャーの時間的位置を識別する、請求項19に記載の符号化装置。
【請求項21】
コーディング機器であって、
ピクチャーを受信して符号化するか、またはビットストリームを受信して復号するよう構成される受信機と、
前記受信機に結合される送信機であって、前記送信機は、前記ビットストリームをデコーダへ送信するか、または復号画像をディスプレーへ送信するよう構成される、送信機と、
前記受信機または前記送信機のうちの少なくとも1つに結合されるメモリであって、前記メモリは、命令を格納するよう構成される、メモリと、
前記メモリに結合されるプロセッサであって、前記プロセッサは、請求項1~9のいずれか、または請求項10~13のいずれかに記載の方法を実行するために、前記メモリに格納された前記命令を実行するよう構成される、プロセッサと、
を含むコーディング機器。
【請求項22】
復号ピクチャーを表示するよう構成されるディスプレーを更に含む請求項21に記載のコーディング機器。
【請求項23】
エンコーダと、
前記エンコーダと通信するデコーダであって、前記エンコーダまたは前記デコーダは、請求項14~17のいずれかに記載の復号装置、請求項18~20のいずれかに記載の符号化装置、または請求項21~22のいずれかに記載のコーディング機器を含む、デコーダと、
を含むシステム。
【請求項24】
コーディングする手段であって、
ピクチャーを受信して符号化するか、またはビットストリームを受信して復号するよう構成される受信手段と、
前記受信手段に結合される送信手段であって、前記送信手段は、前記ビットストリームを復号手段へ送信するか、または復号画像をディスプレー手段へ送信するよう構成される、送信手段と、
前記受信手段または前記送信手段のうちの少なくとも1つに結合される記憶手段であって、前記記憶手段は、命令を格納するよう構成される、記憶手段と、
前記記憶手段に結合される処理手段であって、前記処理手段は、請求項1~9のいずれか、または請求項10~13のいずれかに記載の方法を実行するために、前記記憶手段に格納された前記命令を実行するよう構成される、処理手段と、
を含むコーディングする手段。
【請求項25】
コンピュータ可読記憶媒体であって、前記コンピュータ可読記憶媒体はコンピュータプログラムを格納し、該コンピュータプログラムはプロセッサにより実行可能であり、前記コンピュータプログラムが前記プロセッサにより実行されると、前記プロセッサは、請求項1~9のいずれか一項、または請求項10~13のいずれか一項に記載の方法を実行する、コンピュータ可読記憶媒体。
【請求項26】
記憶媒体であって、前記記憶媒体は、請求項1~9のいずれか一項、または請求項10~13のいずれか一項に記載の方法を用いて得られたビットストリームを格納している、記憶媒体。
【請求項27】
プログラムであって、コンピュータまたはプロセッサ上で実行されると請求項1~9のいずれか一項、または請求項10~13のいずれか一項に記載の方法を実行するためのプログラムコードを含むプログラム。
【請求項28】
コーダであって、請求項1~9のいずれか一項、または請求項10~13のいずれか一項に記載の方法を実行する処理回路を含むコーダ。
【国際調査報告】