(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024058566
(43)【公開日】2024-04-25
(54)【発明の名称】符号化ピクチャバッファを用いたビデオ符号化
(51)【国際特許分類】
H04N 19/70 20140101AFI20240418BHJP
【FI】
H04N19/70
【審査請求】有
【請求項の数】4
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2023084060
(22)【出願日】2023-05-22
(11)【特許番号】
(45)【特許公報発行日】2024-01-29
(31)【優先権主張番号】17/965,591
(32)【優先日】2022-10-13
(33)【優先権主張国・地域又は機関】US
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.Blu-ray
(71)【出願人】
【識別番号】591037214
【氏名又は名称】フラウンホッファー-ゲゼルシャフト ツァ フェルダールング デァ アンゲヴァンテン フォアシュンク エー.ファオ
(74)【代理人】
【識別番号】110003915
【氏名又は名称】弁理士法人岡田特許事務所
(72)【発明者】
【氏名】サンチェス デ ラ フエンテ ヤーゴ
(72)【発明者】
【氏名】ブロス ベンヤミン
(72)【発明者】
【氏名】スクーピン ローベルト
(72)【発明者】
【氏名】ヘルゲ コルネリウス
(72)【発明者】
【氏名】シーアル トーマス
(72)【発明者】
【氏名】ウィーガント トーマス
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159KK35
5C159MA04
5C159MA05
5C159MA21
5C159ME01
5C159UA02
5C159UA05
5C159UA16
5C159UA32
(57)【要約】 (修正有)
【課題】HRD信号化のためのビット消費と多くのビットレートシナリオに対するHRDパラメータの効果的な決定方法との間のより良いトレードオフをもたらす、符号化ピクチャバッファ動作を使用するビデオ符号化を提供する。
【解決手段】エンコーダ10は、ビデオ12を表示する際にピクチャ16がシーケンシャルに表示又は出力される表示時間順序18とは異なる可能性のあるピクチャ符号化順序を用いてビデオのピクチャをビットストリーム14に符号化し、ブロック単位方式で、ピクチャの現在符号化されているポーションを予測し、減算器22で現在のピクチャ26のオリジナルバージョンから予測信号24を減算することによって予測残差20を形成し、残差符号化器28が予測残差をビットストリームに符号化し、残差デコーダ30が残差符号化を反転し、残差符号化器によって導入された損失の分によって予測残差とは異なる残差信号32を生成する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
ビデオ復号化のための装置であって、前記装置は、符号化ピクチャバッファ(CPB)と復号化ピクチャバッファ(DPB)とを備え、
ビデオのピクチャが符号化順序に沿って符号化されているデータストリームをアクセスユニット(AU)のシーケンスとして受信し、
選択されたビットレートを用いて前記アクセスユニットのシーケンスを前記CPBにシーケンシャルに供給するとともに、前記符号化順序において最初のアクセスユニットについては選択された時間的除去遅延の分、及び、前記符号化順序において2番目以降のアクセスユニットについては前記選択された時間的除去遅延と選択された時間オフセットとの和の分、前倒しされた時間フレーム除去ラスタによる仮想利用可能時間にまだ到達していないアクセスユニットについては前記仮想利用可能時間に到達するまでは前記供給を停止させ、
時間ラスタを用いて前記CPBから前記AUをAU単位で除去し、
第1の動作点に関連する第1のCPBパラメータと第2の動作点に関連する第2のCPBパラメータとを前記データストリームから抽出し、ここで前記第1のCPBパラメータ及び前記第2のCPBパラメータの各々は、CPBサイズ、既定の時間オフセット、既定の時間的除去遅延及び既定のビットレートを示し、前記第1のCPBパラメータは、少なくとも前記既定のビットレートに関して前記第2のCPBパラメータと相違しており、
前記第1のCPBパラメータが示す前記既定の時間オフセットと前記第2のCPBパラメータが示す前記既定の時間オフセットとの間を前記選択されたビットレートで補間することによって前記選択された時間オフセットを決定し、前記第1のCPBパラメータが示す前記既定の時間的除去遅延と前記第2のCPBパラメータが示す前記既定の時間的除去遅延との間を前記選択されたビットレートで補間することによって前記選択された時間的除去遅延を決定し、
前記CPBから除去された現在のAUを前記DPBに格納された参照される基準ピクチャからピクチャ間予測を用いて復号化して復号化されたピクチャを取得し、
前記復号化されたピクチャを前記DPBに挿入し、
前記DPBに格納された各基準ピクチャに、短期基準ピクチャ、長期基準ピクチャ、未参照基準ピクチャのうちの1つとしての分類を割り当て、
前記現在のAUからDPBモード情報を読み出し、
前記DPBモード情報が第1モードを示す場合、先入れ先出し(FIFO)方法に従って、短期ピクチャに分類された1つ以上の基準ピクチャを前記DPBから除去し、
前記DPBモード情報が第2モードを示す場合、前記現在のAUにおいて少なくとも1つのコマンドを含むメモリ管理制御情報を読み出し、前記少なくとも1つのコマンドを実行して前記DPBに格納された前記基準ピクチャのうちの少なくとも1つに割り当てられた前記分類を変更し、前記DPB内の前記基準ピクチャの前記分類を使用して前記DPBからの基準ピクチャの除去を管理する
ように構成され、
前記選択されたビットレートは、前記第1のCPBパラメータが示す前記既定のビットレートと前記第2のCPBパラメータが示す前記既定のビットレートとの間にある、装置。
【請求項2】
ビデオ復号化のための装置であって、前記装置は、符号化ピクチャバッファ(CPB)と復号化ピクチャバッファ(DPB)とを備え、
ビデオのピクチャが符号化順序に沿って符号化されているデータストリームをアクセスユニット(AU)のシーケンスとして受信し、
選択されたビットレートを用いて前記アクセスユニットのシーケンスを前記CPBにシーケンシャルに供給するとともに、前記符号化順序において最初のアクセスユニットについては選択された時間的除去遅延の分、及び、前記符号化順序において2番目以降のアクセスユニットについては前記選択された時間的除去遅延と選択された時間オフセットとの和の分、前倒しされた時間フレーム除去ラスタによる仮想利用可能時間にまだ到達していないアクセスユニットについては前記仮想利用可能時間に到達するまでは前記供給を停止させ、
時間ラスタを用いて前記CPBから前記AUをAU単位で除去し、
第1の動作点に関連する第1のCPBパラメータと第2の動作点に関連する第2のCPBパラメータとを前記データストリームから抽出し、ここで前記第1のCPBパラメータ及び前記第2のCPBパラメータの各々は、CPBサイズ、既定の時間オフセット、既定の時間的除去遅延及び既定のビットレートを示し、前記第1のCPBパラメータは、少なくとも前記既定のビットレートに関して前記第2のCPBパラメータと相違しており、
前記第1のCPBパラメータが示す前記既定の時間オフセットと前記第2のCPBパラメータが示す前記既定の時間オフセットとの間を前記選択されたビットレートで補間することによって前記選択された時間オフセットを決定し、前記第1のCPBパラメータが示す前記既定の時間的除去遅延と前記第2のCPBパラメータが示す前記既定の時間的除去遅延との間を前記選択されたビットレートで補間することによって前記選択された時間的除去遅延を決定し、
前記CPBから除去された現在のAUを前記DPBに格納された参照される基準ピクチャからピクチャ間予測を用いて復号化して復号化されたピクチャを取得し、
前記復号化されたピクチャを前記DPBに挿入し、
前記DPBに格納された各基準ピクチャに、短期基準ピクチャ、長期基準ピクチャ、未参照基準ピクチャのうちの1つとしての分類を割り当て、
前記現在のAUからDPBモード情報を読み出し、
前記DPBモード情報が第1モードを示す場合、先入れ先出し(FIFO)方法に従って、短期ピクチャに分類された1つ以上の基準ピクチャを前記DPBから除去し、
前記DPBモード情報が第2モードを示す場合、前記現在のAUにおいて少なくとも1つのコマンドを含むメモリ管理制御情報を読み出し、前記少なくとも1つのコマンドを実行して前記DPBに格納された前記基準ピクチャのうちの少なくとも1つに割り当てられた前記分類を変更し、前記DPB内の前記基準ピクチャの前記分類を使用して前記DPBからの基準ピクチャの除去を管理する
ように構成され、
前記データストリームから1つ以上の補間パラメータを導出し、前記1つ以上の補間パラメータを用いて前記補間をパラメータ化するように構成される、装置。
【請求項3】
ビデオ復号化のための装置であって、前記装置は、符号化ピクチャバッファ(CPB)と復号化ピクチャバッファ(DPB)とを備え、
ビデオのピクチャが符号化順序に沿って符号化されているデータストリームをアクセスユニット(AU)のシーケンスとして受信し、
選択されたビットレートを用いて前記アクセスユニットのシーケンスを前記CPBにシーケンシャルに供給するとともに、前記符号化順序において最初のアクセスユニットについては選択された時間的除去遅延の分、及び、前記符号化順序において2番目以降のアクセスユニットについては前記選択された時間的除去遅延と選択された時間オフセットとの和の分、前倒しされた時間フレーム除去ラスタによる仮想利用可能時間にまだ到達していないアクセスユニットについては前記仮想利用可能時間に到達するまでは前記供給を停止させ、
時間ラスタを用いて前記CPBから前記AUをAU単位で除去し、
第1の動作点に関連する第1のCPBパラメータと第2の動作点に関連する第2のCPBパラメータとを前記データストリームから抽出し、ここで前記第1のCPBパラメータ及び前記第2のCPBパラメータの各々は、CPBサイズ、既定の時間オフセット、既定の時間的除去遅延及び既定のビットレートを示し、前記第1のCPBパラメータは、少なくとも前記既定のビットレートに関して前記第2のCPBパラメータと相違しており、
前記第1のCPBパラメータが示す前記既定の時間オフセットと前記第2のCPBパラメータが示す前記既定の時間オフセットとの間を前記選択されたビットレートで補間することによって前記選択された時間オフセットを決定し、前記第1のCPBパラメータが示す前記既定の時間的除去遅延と前記第2のCPBパラメータが示す前記既定の時間的除去遅延との間を前記選択されたビットレートで補間することによって前記選択された時間的除去遅延を決定し、
前記CPBから除去された現在のAUを前記DPBに格納された参照される基準ピクチャからピクチャ間予測を用いて復号化して復号化されたピクチャを取得し、
前記復号化されたピクチャを前記DPBに挿入し、
前記DPBに格納された各基準ピクチャに、短期基準ピクチャ、長期基準ピクチャ、未参照基準ピクチャのうちの1つとしての分類を割り当て、
前記現在のAUからDPBモード情報を読み出し、
前記DPBモード情報が第1モードを示す場合、先入れ先出し(FIFO)方法に従って、短期ピクチャに分類された1つ以上の基準ピクチャを前記DPBから除去し、
前記DPBモード情報が第2モードを示す場合、前記現在のAUにおいて少なくとも1つのコマンドを含むメモリ管理制御情報を読み出し、前記少なくとも1つのコマンドを実行して前記DPBに格納された前記基準ピクチャのうちの少なくとも1つに割り当てられた前記分類を変更し、前記DPB内の前記基準ピクチャの前記分類を使用して前記DPBからの基準ピクチャの除去を管理する
ように構成され、
前記現在のAUにおける動きベクトルに基づいて、且つ6タップFIRフィルタを使用して2分の1ピクセル単位値を導出し、隣接する2分の1ピクセル単位値を平均化して、前記参照される基準ピクチャにおける4分の1ピクセル単位値を導出するように構成される、装置。
【請求項4】
データストリームにビデオを符号化するための装置であって、前記データストリームは、符号化ピクチャバッファ(CPB)を備えるデコーダに供給されることによって復号化されるものであり、前記装置は、
符号化順序で符号化されたビデオのピクチャをアクセスユニット(AU)のシーケンスとしてデータストリームに符号化し、
第1の動作点に関連する第1のCPBパラメータと第2の動作点に関連する第2のCPBパラメータを決定し、ここで前記第1のCPBパラメータ及び第2のCPBパラメータの各々は、CPBサイズ、既定の時間オフセット、既定の時間的除去遅延及び既定のビットレートを示し、前記第1のCPBパラメータは、少なくとも前記既定のビットレートに関して前記第2のCPBパラメータと相違し、複数の選択されたビットレートの各々において前記第1のCPBパラメータの前記既定の時間オフセットと前記第2のCPBパラメータの前記既定の時間的オフセットとの間を補間することによって、補間された時間オフセット及び補間された時間的除去遅延が生じて、
それぞれの前記選択されたビットレートを使用して前記AUのシーケンスを前記CPBにシーケンシャルに供給するとともに前記符号化順序において最初のアクセスユニットについては補間された時間的除去遅延の分、及び、符号化順序において2番目以降のアクセスユニットについては前記補間された時間的除去遅延と補間された時間オフセットとの和の分、前倒しされた時間フレーム除去ラスタによる仮想利用可能時間にまだ到達していないアクセスユニットについては前記仮想利用可能時間に到達するまでは前記供給を停止し、
時間ラスタを用いて前記CPBから前記AUをAU単位で除去して、
前記データストリームを前記CPBを介して前記デコーダに供給することが、いかなるアンダーフローも、いかなるオーバーフローも引き起こさないように前記決定が実行され、
前記CPBパラメータを前記データストリームに符号化する
ように構成され、
ここで、前記装置は、前記AUを符号化する際に、
復号化ピクチャバッファ(DPB)に格納された参照される基準ピクチャからのピクチャ間予測を使用して現在のピクチャを現在のAUに符号化し、
前記DPB内の前記現在のピクチャの復号化バージョンを前記DPBに挿入し、
前記DPBに格納された各基準ピクチャに、短期基準ピクチャ、長期基準ピクチャ、未使用基準ピクチャのうちの1つとしての分類を割り当て、
DPBモード情報を前記現在のAUに書き込み、
前記DPBモード情報が第1モードを示す場合、FIFO方法に従って、短期ピクチャに分類される1つ以上の基準ピクチャを前記DPBから除去し、
前記DPBモード情報が第2モードを示す場合、少なくとも1つのコマンドを含むメモリ管理制御情報を前記現在のAUに書き込み、ここで前記コマンドは、前記DPBに格納された前記基準ピクチャのうちの少なくとも1つに割り当てられた前記分類を変更するように指示するものであり、前記DPBにおける前記基準ピクチャの前記分類は、前記DPBからの基準ピクチャ除去を管理するために使用される
ように構成され、
前記補間は、補間パラメータを用いてパラメータ化され、
前記装置は、前記補間パラメータを前記データストリームに符号化する
ように構成される、装置。
【発明の詳細な説明】
【技術分野】
【0001】
本願発明は、ビデオ符号化及びビデオ符号化における符号化ピクチャバッファの使用法に関するものである。
【背景技術】
【0002】
仮想的な基準デコーダと、ビットストリーム及びデコーダの適合性をチェックするためのその使用は、VVCのようなあらゆるビデオ符号化規格に不可欠な要素である。
【0003】
このような適合性チェックを行うために、
図17に示すように、HSS(Hypothetical stream scheduler:仮説ストリームスケジューラ)、CPB(Coded Picture Buffer:符号化ピクチャバッファ)、(瞬時とみなされる)デコード処理、DBP(Decoded Picture Buffer:復号化ピクチャバッファ)、出力クロッピング処理からなるHRDバッファモデルを規定する。
【0004】
符号化ピクチャーバッファにビットストリームを供給するタイミング及びビットレート、その復号化ユニット(低遅延動作モードの場合はアクセスユニット又はVCL NALユニット)をCPBから除去して瞬時に復号化する時間、及びDPBからピクチャーを出力する出力時間を定義するモデルである。
【0005】
そうすることで、バッファオーバーフロー(CPBに保持できる量より多くのデータがデコーダに送られる)又はアンダーフロー(必要以上に低いビットレートで少ない量のデータがデコーダに送られる)、AUからの必要なデータが復号化のために適切なタイミングでデコーダに存在しないことを避けるために、デコーダに必要なCPBサイズを定義することも可能になる。
【0006】
最先端のビデオ符号化規格では、ビットストリーム及びHRDの要件及びバッファモデルを記述するために、異なるパラメータが指定される。
【0007】
例えば、HEVCでは、hrd_parameters(hrd_パラメータ)がサブレイヤごとに定義され、Bitrate(i)及びCPBsize(i)の1つ以上のタプル(tuples)を記述し、HSSがCPBsize(i)のサイズのCPBにBitrate(i)のビットレートを供給する場合、オーバーフローやアンダーフローは発生しないことを示す。つまり、これらのビットレート及びCPBサイズのタプルに従えば、連続した復号化が保証される。
【0008】
hrd_parameterシンタックスエレメントと連動して、CPBからの各ピクチャの除去時間を特定する追加のタイミング情報、すなわち、各ピクチャに属するVCL
NALユニットがどのタイミングでデコードに送られるかを示す情報がビットストリーム内に存在する。
【0009】
関連する情報は、InitialCPBRemovalDelay(i)、InitialCPBRemovalDelayOffset(i)、AuCPBRemovalDelayのシンタックスエレメントまたは変数でバッファリング期間SEIメッセージに存在し、及び、AuCPBRemovalDelayでピクチャタイミングSEIメッセージに存在する。
【0010】
しかし、アプリケーションや及び伝送チャネルによっては、ビットレートに関して微調整できるようにするには、多くのビットレートのHRDパラメータに関する情報が必要となる場合がある。しかし、この場合、bitrates(i)を密に選択するために、多くのHRDパラメータをビット消費して送信する必要がある。HRD情報を送信するための合理的なオーバーヘッドで多数のビットレートに対して正しいHRDパラメータ化、すなわち、CPBのアンダーフローまたはオーバーフローにつながらないものを可能にする概念を手元に置くことは好ましいと思われる。
【発明の概要】
【発明が解決しようとする課題】
【0011】
従って、本発明の目的は、一方ではHRD信号化のためのビット消費と多くのビットレートシナリオに対するHRDパラメータの効果的な決定方法との間のより良いトレードオフをもたらす、符号化ピクチャバッファ動作を使用するビデオ符号化を提供することである。
【課題を解決するための手段】
【0012】
実施形態は、ビデオ復号化のための装置であって、装置は、符号化ピクチャバッファと復号化ピクチャバッファ(DPB)とを備え、ビデオのピクチャが符号化順序に沿って符号化されているデータストリームをアクセスユニットのシーケンスとして受信し、選択されたビットレートを用いてアクセスユニットのシーケンスをCPBにシーケンシャルに供給するとともに、符号化順序において最初のアクセスユニットについては選択された時間的除去遅延の分、及び、符号化順序において2番目以降のアクセスユニットについては選択された時間的除去遅延と選択された時間オフセットとの和の分、前倒しされた時間フレーム除去ラスタによる仮想利用可能時間にまだ到達していないアクセスユニットについては仮想利用可能時間に到達するまでは供給を停止させ、時間ラスタを用いてCPBからAUをAU単位で除去し、第1の動作点に関連する第1のCPBパラメータと第2の動作点に関連する第2のCPBパラメータとをデータストリームから抽出し、ここで第1のCPBパラメータ及び第2のCPBパラメータの各々は、CPBサイズ、既定の時間オフセット、既定の時間的除去遅延及び既定のビットレートを示し、第1のCPBパラメータは、少なくとも既定のビットレートに関して第2のCPBパラメータと相違しており、第1のCPBパラメータが示す既定の時間オフセットと第2のCPBパラメータが示す既定の時間オフセットとの間を選択されたビットレートで補間することによって選択された時間オフセットを決定し、第1のCPBパラメータが示す既定の時間的除去遅延と第2のCPBパラメータが示す既定の時間的除去遅延との間を選択されたビットレートで補間することによって選択された時間的除去遅延を決定し、CPBから除去された現在のAUをDPBに格納された参照される基準ピクチャからピクチャ間予測(inter-picture
prediction)を用いて復号化して復号化されたピクチャを取得し、復号化されたピクチャをDPBに挿入し、DPBに格納された各基準ピクチャに、短期基準ピクチャ、長期基準ピクチャ、未参照基準ピクチャのうちの1つとしての分類を割り当て、現在のAUからDPBモード情報を読み出し、DPBモード情報が第1モードを示す場合、FIFO方法に従って、短期ピクチャに分類された1つ以上の基準ピクチャをDPBから除去し、DPBモード情報が第2モードを示す場合、現在のAUにおいて少なくとも1つのコマンドを含むメモリ管理制御情報を読み出し、少なくとも1つのコマンドを実行してDPBに格納された基準ピクチャのうちの少なくとも1つに割り当てられた分類を変更し、DPB内の基準ピクチャの分類を使用してDPBからの基準ピクチャの除去を管理するように構成される。
【0013】
別の実施形態は、データストリームにビデオを符号化するための装置であって、データストリームは、符号化ピクチャバッファ(CPB)を備えるデコーダに供給されることによって復号化されるものであり、装置は、符号化順序で符号化されたビデオのピクチャを
アクセスユニット(AU)のシーケンスとしてデータストリームに符号化し、第1の動作点に関連する第1のCPBパラメータと第2の動作点に関連する第2のCPBパラメータを決定し、ここで第1のCPBパラメータ及び第2のCPBパラメータの各々は、CPBサイズ、既定の時間オフセット、既定の時間的除去遅延及び既定のビットレートを示し、第1のCPBパラメータは、少なくとも既定のビットレートに関して第2のCPBパラメータと相違し、複数の選択されたビットレートの各々において第1のCPBパラメータの既定の時間オフセットと第2のCPBパラメータの既定の時間オフセットとの間を補間することによって、補間された時間オフセット及び補間された時間的除去遅延が生じて、それぞれの選択されたビットレートを使用してAUのシーケンスをCPBにシーケンシャルに供給するとともに符号化順序において最初のアクセスユニットについては補間された時間的除去遅延の分、及び、符号化順序において2番目以降のアクセスユニットについては補間された時間的除去遅延と補間された時間オフセットとの和の分、前倒しされた時間フレーム除去ラスタによる仮想利用可能時間にまだ到達していないアクセスユニットについては仮想利用可能時間に到達するまでは供給を停止し、時間ラスタを用いてCPBからAUをAU単位で除去して、データストリームをCPBを介してデコーダに供給することが、いかなるアンダーフローも、いかなるオーバーフローも引き起こさないように決定が実行され、CPBパラメータをデータストリームに符号化するように構成され、ここで、装置は、AUを符号化する際に、DPBに格納された参照される基準ピクチャからのピクチャ間予測を使用して現在のピクチャを現在のAUに符号化し、DPB内の現在のピクチャの復号化バージョンをDPBに挿入し、DPBに格納された各基準ピクチャに、短期基準ピクチャ、長期基準ピクチャ、未使用基準ピクチャのうちの1つとしての分類を割り当て、DPBモード情報を現在のAUに書き込み、DPBモード情報が第1モードを示す場合、FIFO方法に従って、短期ピクチャに分類される1つ以上の基準ピクチャをDPBから除去し、DPBモード情報が第2モードを示す場合、少なくとも1つのコマンドを含むメモリ管理制御情報を現在のAUに書き込み、ここでコマンドは、DPBに格納された基準ピクチャのうちの少なくとも1つに割り当てられた分類を変更するように指示するものであり、DPBにおける基準ピクチャの分類は、DPBからの基準ピクチャ除去を管理するために使用されるように構成される。
【0014】
別の実施形態によれば、符号化ピクチャバッファと復号化ピクチャバッファ(DPB)を用いたビデオ復号化のための方法であって、ビデオのピクチャが符号化順序に沿って符号化されているデータストリームをアクセスユニットのシーケンスとして受信するステップと、選択されたビットレートを用いて前記アクセスユニットのシーケンスを前記CPBにシーケンシャルに供給するとともに、前記符号化順序において最初のアクセスユニットについては選択された時間的除去遅延の分、及び、前記符号化順序において2番目以降のアクセスユニットについては前記選択された時間的除去遅延と選択された時間オフセットとの和の分、前倒しされた時間フレーム除去ラスタによる仮想利用可能時間にまだ到達していないアクセスユニットについては前記仮想利用可能時間に到達するまでは前記供給を停止させるステップと、前記時間ラスタを用いて前記CPBから前記AUをAU単位で除去するステップと、第1の動作点に関連する第1のCPBパラメータと第2の動作点に関連する第2のCPBパラメータとを前記データストリームから抽出するステップであって、前記第1のCPBパラメータ及び第2のCPBパラメータの各々は、CPBサイズ、既定の時間オフセット、既定の時間的除去遅延及び既定のビットレートを示し、前記第1のCPBパラメータは、少なくとも前記既定のビットレートに関して前記第2のCPBパラメータと相違している、ステップと、前記第1のCPBパラメータが示す前記既定の時間オフセットと前記第2のCPBパラメータが示す前記既定の時間オフセットとの間を前記選択されたビットレートで補間することによって前記選択された時間オフセットを決定し、前記第1のCPBパラメータが示す前記既定の時間的除去遅延と前記第2のCPBパラメータが示す前記既定の時間的除去遅延との間を前記選択されたビットレートで補間することによって前記選択された時間的除去遅延を決定するステップと、前記CPBから除去
された現在のAUを前記DPBに格納された参照される基準ピクチャからピクチャ間予測を用いて復号化し、復号化されたピクチャを取得するステップと、前記復号化されたピクチャを前記DPBに挿入するステップと、前記DPBに格納された各基準ピクチャに、短期基準ピクチャ、長期基準ピクチャ、未参照基準ピクチャのうちの1つとしての分類を割り当てるステップと、前記現在のAUからDPBモード情報を読み出すステップと、前記DPBモード情報が第1モードを示す場合、FIFO方法に従って、短期ピクチャに分類される1つ以上の基準ピクチャを前記DPBから除去するステップと、前記DPBモード情報が第2モードを示す場合、前記現在のAUにおいて少なくとも1つのコマンドを含むメモリ管理制御情報を読み出し、前記少なくとも1つのコマンドを実行して前記DPBに格納された前記基準ピクチャのうちの少なくとも1つに割り当てられた前記分類を変更し、前記DPB内の前記基準ピクチャの前記分類を使用して前記DPBからの基準ピクチャの除去を管理するステップと、を含む。
【0015】
別の実施形態では、データストリームは、ビデオが符号化され、第1のCPBパラメータ及び第2のCPBパラメータを含み、上記方法がCPBのオーバーフロー及びアンダーフローを引き起こさないようになっている。
【0016】
本発明の基礎となる考えは、選択されたビットレートにおける明示的に信号化されたCPB(またはHRD)パラメータ間の補間は、CPBパラメータ伝送容量とCPBパラメータ化の有効性との間の良好な妥協を達成するために特に、有効な方法において使用されてよい。有効な方法、すなわち、アンダーフローおよびオーバーフローのない安全で正しいCPB動作につながる方法、および、例えば、明示的に信号化されたCPBパラメータが、明示的に信号化された動作点に対するCPBサイズおよびビットレートに加えて、これらの動作点に対する既定の時間オフセットおよび既定の時間的除去遅延を示すものであっても、補間関連の意図しない状況を考慮するための安全オフセットを備える必要がない方法による。特に、本考案によれば、復号化側において、選択されたビットレートに対する時間オフセットおよび時間的除去遅延の両方が、選択されたビットレートで、信号化されたCPBパラメータに従ってこのオフセットおよび遅延に対する対応値の間を補間することによって決定され得る。このような補間/選択された時間オフセットは、次に、選択されたビットレートを用いて、ビデオデータストリームのアクセスユニットのシーケンスを符号化ピクチャバッファに順次供給するために使用され、すなわち、符号化順序の最初のアクセスユニットについては、選択/補間された時間的除去遅延の分、符号化順序の2番目以降のアクセスユニットについては、選択された時間的除去遅延と選択/補間された時間オフセットとの和の分、前倒しされたた時間フレーム除去ラスタによる仮想利用可能時間にまだ到達していないアクセスユニットについては仮想利用可能時間に到達するまでは前記供給を停止させる。時間ラスタを使用して、アクセスユニットは、その後、符号化ピクチャバッファから除去されることができる。復号化側では、選択された時間オフセット及び選択された時間的除去遅延を決定するために単に補間が実行されなければならないが、エンコーダは、補間を考慮した方法で、すなわち、時間オフセット及び時間的除去遅延の対応する選択/補間値が動作点のCPBパラメータに従ってアンダーフロー又はオーバーフローをもたらさない方法で、ビデオデータストリームが明示的に準備される動作点に関連する明示的に信号化されたCPBパラメータを設定する。
【0017】
本願の実施形態は、その中の図に関して以下に説明される。
【図面の簡単な説明】
【0018】
【
図1】
図1は、本願の実施形態が実装されることができるエンコーダの可能な実装のブロック図である。
【
図2】
図2は、本願の実施形態が実施されることができるデコーダの可能な実装のブロック図であり、
図1のエンコーダに適合するデコーダを示す。
【
図3】
図3は、本願の実施形態によるデコードのための装置のブロック図である。
【
図4】
図4は、CPBパラメータ符号化とその間の補間に関する概略図である。
【
図5】
図5は、左側にCPBのフィーダの充填状態のグラフを、右側にCPBの充填状態のグラフを示し、上半分は、後続の最初ではないアクセスユニットに対する時間オフセットを使用しない例を示し、下半分は、後続の最初ではないアクセスユニットに対する時間オフセットを使用する例を示している。
【
図6】
図6は、CPBパラメータのビットレート、その間の選択されたビットレート及び時間オフセットの設定例を変えた場合のCPBバッファの充填状態を示す図である。
【
図7】
図7は、CPBパラメータのビットレート、その間の選択されたビットレート及び時間オフセットの設定例を変えた場合のCPBバッファの充填状態を示す図である。
【
図8】
図8は、CPBパラメータのビットレート、その間の選択されたビットレート及び時間オフセットの設定例を変えた場合のCPBバッファの充填状態を示す図である。
【
図9】
図9は、CPBパラメータのビットレート、その間の選択されたビットレート及び時間オフセットの設定例を変えた場合のCPBバッファの充填状態を示す図である。
【
図10】
図10は、CPBパラメータのビットレート、その間の選択されたビットレート及び時間オフセットの設定例を変えた場合のCPBバッファの充填状態を示す図である。
【
図11】
図11は、CPBパラメータのビットレート、その間の選択されたビットレート及び時間オフセットの設定例を変えた場合のCPBバッファの充填状態を示す図である。
【
図12】
図12は、CPBパラメータのビットレート、その間の選択されたビットレート及び時間オフセットの設定例を変えた場合のCPBバッファの充填状態を示す図である。
【
図13】
図13は、CPBパラメータのビットレート、その間の選択されたビットレート及び時間オフセットの設定例を変えた場合のCPBバッファの充填状態を示す図である。
【
図14】
図14は、CPBパラメータのビットレート、その間の選択されたビットレート及び時間オフセットの設定例を変えた場合のCPBバッファの充填状態を示す図である。
【
図15】
図15は、DPBを管理するための
図3の装置の動作モードの一例を示す概略図である。
【
図16】
図16は、本願の実施形態による符号化のための装置のブロック図である。
【
図17】
図17は、既知のHRDバッファモデルのブロック図である。
【発明を実施するための形態】
【0019】
本明細書の導入部分の説明を再開し、HRD動作に関する動作点の高い柔軟性を提供する希望に関わる問題を説明する前に、その後に説明する実施形態が組み込まれ得るビデオ符号化のための予備的な例が提供される。しかしながら、ビデオ符号化に関するこれらの例は、本願の後に説明する実施形態を限定するものとして扱われるべきでないことに留意されたい。
【0020】
図1は、ビデオ12をビットストリーム14に符号化するように構成されたエンコーダ10を示す。エンコーダ10は、ビデオ12を表示する際にピクチャ16がシーケンシャル(順次的)に表示または出力される表示時間順序18とは異なる可能性のあるピクチャ符号化順序を用いてビデオ12のピクチャ16をビットストリーム14に符号化する。
図1はまた、エンコーダ10の可能な実装を示すが、
図1に関して設定された詳細は、以下でより詳細に説明される本願の実施形態を限定するものではないことに再度留意されたい。続いて適用されるが、エンコーダ10の符号化は、イントラ予測(intra prediction)を伴わない場合があり、インタ予測(inter-prediction)を伴わない場合があり、ブロック単位(blockwise)を動作しない場合があ
り、変換残差符号化を使用しない場合があり、損失のある(lossy、不可逆)または損失の無い(lossfree)またはその組み合わせを動作する場合がある。
【0021】
図1のエンコーダ10は、予測の使用による符号化を実行する。ブロック単位方式で、エンコーダ10は、現在のピクチャ、より正確にはこのピクチャの現在符号化されているポーションを予測し、減算器22で現在のピクチャ26のオリジナルバージョンから予測信号24を減算することによって予測残差20を形成する。次に、残差符号化器28が、予測残差20をビットストリーム14に符号化し、ここで、残差符号化は、不可逆であってもよく、例えば、残差信号20に変換領域への変換を施し、変換から生じる変換係数のエントロピー符号化を伴うことがある。ビデオ12の既に符号化されたポーションの再構成可能なバージョンに基づいて予測信号24を得るために、残差デコーダ30は残差符号化を反転し、逆変換によって変換係数から、残差符号化器28によって導入された損失の分によって残差信号20とは異なる残差信号32を生成する。現在のピクチャ、より正確には現在のピクチャの現在符号化されているブロックを再構成するために、再構成信号36をもたらすように、残差信号32は、加算器34によって予測信号24に加算される。任意に、ループフィルタ38が再構成された信号38に何らかのループフィルタリングを施し、フィルタリングされた信号40がループバッファ42に入力される。ループバッファ42は、それに応じて、既に符号化されたピクチャの再構成されたバージョンと現在のピクチャの再構成されたポーションとをそれぞれバッファリングする。これらの再構成されたバージョン44に基づき、また任意に、現在のピクチャの既に符号化されたポーションのフィルタリングされていない再構成されたバージョン36に基づき、予測ステージ46が予測信号24を決定する。
【0022】
エンコーダ10は、レート歪み最適化を用いて多くの符号化決定を実行する。例えば、予測器46は、符号化ブロックの粒度で、例えば、1つ以上のインタ予測モードと1つ以上のイントラ予測モードと任意にそれらの組み合わせを含むいくつかの符号化モードのうちの1つを選択する。これらの符号化ブロックの粒度において、または代替的に、これらの符号化ブロックがさらに細分化された予測ブロックの粒度において、予測器46は、インタ予測ブロックのための1つ以上の動きベクトル、またはイントラ予測ブロックのためのイントラ予測モードなど、選択した予測モードに適合する予測パラメータを決定する。残差符号化器28は、任意に、符号化ブロックまたは予測ブロックのいずれかと一致してもよいし、これらのブロックのいずれかのさらなる細分化であってもよいし、現在のピクチャの残差ブロックへの別の独立した細分化に起因してもよい残差ブロックの粒度において残差符号化を実行する。前述の細分化でさえも、エンコーダ10によって決定される。これらの符号化決定、すなわち、細分化情報、予測モード、予測パラメータおよび残差データは、エンコーダ10によって、例えば、エントロピー符号化を用いてビットストリーム14に符号化される。
【0023】
各ピクチャ16は、エンコーダ10によって、アクセスユニットと呼ばれるビットストリーム14の連続ポーション48に符号化される。したがって、ビットストリーム14のアクセスユニット48のシーケンスは、その中にピクチャ16がシーケンシャルに符号化、すなわち前述のピクチャ符号化順序に沿って符号化されている。
【0024】
図2は、
図1のエンコーダ10に適合するデコーダ100を示す。デコーダ100は、各アクセスユニット48からビデオ12’の対応するピクチャ16’を復号化することによって、ビットストリーム14から、
図1のビデオ12の再構成されたバージョン12’を復号化する。このため、デコーダ100は、内部的には、
図1のエンコーダ10の予測ループの再構成パートのように解釈される。すなわち、デコーダ100は、ビットストリーム14から残差信号32を再構成する残差デコーダ130を含んで構成される。予測信号124は、加算器134でこの残差信号132に加算され、再構成された信号136を
得ることができる。オプションのループフィルタ138は、再構成された信号136をフィルタリングして、フィルタリングされた再構成された信号140をもたらし、これは、ループバッファ142においてバッファリングされる。このバッファから、バッファリングされフィルタリングされた再構成信号144がデコーダ100によって出力され、すなわち、バッファリングされ再構成された信号は再構成されたピクチャ16’を含み、バッファ142からこれらのピクチャ16’は表示時間順序で出力される。さらに、予測器または予測ユニット146は、信号144および任意に再構成された信号136に基づいて予測を実行し、予測信号124を得る。デコーダは、細分化情報、予測モード決定、予測パラメータ、およびエントロピー復号化を使用するような残差データなど、ビットストリーム14からレート/歪み最適化を使用してエンコーダ10によって決定され、復号化のために必要なすべての情報を取得する。残差データは、上述したように、変換係数で構成され得る。
【0025】
エンコーダ10は、平均して、あるビットレートでビデオ12がビットストリーム14に符号化されるように、すなわち、平均して、あるビット数を使用してピクチャ16がビットストリーム14に符号化されるように、その符号化タスクを実行し得る。しかしながら、異なるピクチャコンテンツの複雑さ、変化するシーンコンテンツ、及びIフレーム、Pフレーム、及びBフレームなどの異なる符号化ピクチャゆえに、各ピクチャ16に対してビットストリーム14で費やされるビット数は異なる可能性がある。すなわち、各アクセスユニット48のサイズまたはビット数は異なる可能性がある。デコーダ100におけるビデオ12’の割り込みのないプレイアウトを保証するために、エンコーダ10は、ビットストリーム14にCPBパラメータを提供する。これらのCPBパラメータは、デコーダ100が特定の事前定義された方法でデコードピクチャバッファ200を介して供給される場合に、デコーダ100によるそのような割り込みのないまたは問題のないデコードを保証する。すなわち、CPBパラメータは、
図3に示す装置を指し、フィーダ202が符号化ピクチャバッファ200を介してデコーダ100に供給し、フィーダ202はビットストリーム14を受け取るとともに、ビットストリーム14を符号化ピクチャバッファ200を介してデコーダ100に供給し、ビデオ12’のピクチャ16’が表示時間順序で割り込みなしに出力されるようにデコーダ100が今度は時間内にビットストリーム14のアクセスユニット48へアクセスする。
【0026】
CPBパラメータは、エンコーダ10によって複数のいわゆる動作点OP
iのためにビットストリーム14に書き込まれる。各動作点OP
iは、フィーダ202がビットストリーム14、すなわちアクセスユニット48のシーケンスを符号化ピクチャバッファ200に供給する、異なるビットレート(i)を指す。すなわち、各動作点OP
iについて、CPBパラメータ300は、それらが適用されるビットレートを示す。さらに、それらは、対応するビットレートでデコーダ100に供給するときに、最も十分な状態を包含するのに十分な符号化ピクチャバッファ200のための符号化ピクチャバッファサイズを指示する。さらに、CPBパラメータ300
iによって示される情報は、ビットストリーム14の最初のビットが符号化ピクチャバッファ200に入力される時点に比較して、最初のアクセスユニットが符号化ピクチャバッファ200から除去されてデコーダ100にそれぞれ渡される時間遅延を示すものである。first(最初)という用語は、ピクチャ符号化順序と、あるバッファ期間、すなわちピクチャのサブシーケンスを指す場合がある。さらに、CPBパラメータ300
iは、前述の最初のアクセスユニットに続く後続のアクセスユニットの供給が、前述の時間遅延によって遅延された通常の時間ラスタによって決定されるそれらの通常の供給に先立ち、復号化ピクチャバッファ200に供給されることが許される時間オフセットを示す。
図4には示されていないが、任意に、CPBパラメータ300
iは、ビットストリーム14がアクセスユニット単位で、デコーダ100による復号化の対象となるように符号化ピクチャバッファ200から取り除かれる、前述の時間ラスタを明らかにする、または示す、またはそこから導出することを可能にする情報などの
さらなる情報を示し、時間ラスタは、前述のように、時間遅延によって遅延される。時間ラスタは、それに応じて、このフレームレートでこれらのピクチャ16’を出力するのに十分なレートでデコーダ100によるピクチャ16’の回復を可能にするように、ビデオ12のフレームレートに関連している。時間ラスタのオプションの表示は、すべての動作点に共通であってよく、同じものに対して共通にビットストリームで示される。さらに、時間ラスタの任意の情報をシグナリングする代わりに、この情報を固定し、エンコーダおよびデコーダが予め知っているようにしてもよい。
【0027】
図4は、2つの異なるビットレートおよびCPBサイズを参照する2つの動作点OP
iおよびOP
i、すなわち2つの動作点OP
iについてのCPBパラメータ300
iを示す。これらのビットレートbitrate(i-1)とbitrate(i)との間のビットレートについては、ビットストリーム14におけるそのようなCPBパラメータのさらなるインスタンス化が存在しない。上記で既に示したように、本願の実施形態は、補間によって、ビットレート(i-1)とビットレート(i)との間のいくつかの選択されたビットレートについて、CPBパラメータのそのような欠落したインスタンス化を導出する可能性によってこのギャップを埋めることである。
【0028】
前述の時間ラスタがフレームレートに関連しているという事実のために、エンコーダ10は、すべてのCPBパラメータまたはCPBパラメータのすべてのインスタンス化について共通に、あるいはさらに言い換えると、すべての動作点について共通に、この時間ラスタまたはその情報を1回だけ示すことができることに注意されたい。さらに、例えば、ビデオ12および12’のそれぞれの既定のフレームレート、および特定のピクチャ群(GOP)構造および一方でのピクチャ符号化順序と他方での提示時間順序18との関係についてのエンコーダおよびデコーダ間の事前知識によって等、エンコーダとデコーダの間であらかじめ時間ラスタが知られている状態で、時間ラスタに関してデータストリームに情報が伝達されない可能性さえある。
【0029】
ここで、本明細書の導入部分の説明を再開する。上記に示したように、CPBパラメータは、SEIメッセージによって伝達されることがある。InitialCPBRemovalDelayは、
図4の時間遅延に対応し、InitialCPBRemovalDelayOffsetは、
図4の時間オフセットに対応する。AuCPBRemovalDelayは、時間ラスタ、すなわち、連続するAUがDPBから除去される間の時間的距離を示す。説明したように、
図4のCPBパラメータは、いわゆるバッファリング期間、すなわち、このバッファリング期間の最初のアクセスユニットとそれに続くアクセスユニットを含むアクセスユニットのあるシーケンスに対応するビデオのピクチャのシーケンスに対して、符号化ピクチャバッファ200を介してデコーダ100に供給するための正しいスケジューリングを示すbuffering period SEI message(バッファリング期間SEIメッセージ)において伝達され得る。
【0030】
明細書の導入部分で説明したように、CPBパラメータは、ビットストリームで転送されることが既に知られているが、それらは特定のビットレートを参照する。
【0031】
最も基本的な動作では、InitialCPBRemovalDelay(i)とAuCPBRemovalDelayのみが使用される。
【0032】
その場合、復号化される最初のアクセスユニットは、対応するBuffering Period SEIメッセージ(バッファリン期間SEIメッセージ)を有するRandom Access Point(ランダムアクセスポイント)であり、時間0は、Random Access Pointの最初のビットがCPBに入る時間として定義される。そして、時間InitialCPBRemovalDelay(i)において、Ra
ndom Access Pointに対応するピクチャがCPBから除去される。さらに非RAPピクチャの場合、CPBの除去は、InitialCPBRevovalDelay(i)+AuCPBRemovalDelayで生じる。(レガシー符号化(レガシーコーデック)は、示された遅延を時間デルタ(時間差)に変換するためのいくつかの追加パラメータ、すなわちClockTickを定義するかもしれないが、ここでは単純化のために無視されている)
【0033】
次のRAPが来るとき、除去時間は、非RAPピクチャのために前と同様に計算される。すなわち、InitialCPBRevovalDelay(i)+AuCPBRemovalDelayであり、この新しい値は、別のRAPまでの更なるデルタのためのアンカーとして用いられる。すなわちanchorTime=InitialCPBRemovalDelay(i)+AuCPBRemovalDelayとなり、その後ピクチャの除去はanchorTime+AuCPBRemovalDelayとなり、次のRAPでバッファリングSEIメッセージでanchorTimeを更新し、anchorTime=anchorTime+AuCPBRemovalDelay等とする。
【0034】
つまり、デコーダを初期化する一番最初のアクセスユニット(バッファリング期間SEIを有するAU)のRemovalTimeは、次のように計算される:
【0035】
【0036】
なお、InitialCPBRemovalDelayは、ビットストリームからinitial_cpb_removal_delay[i]÷90000として導出することができる。
【0037】
デコーダを初期化する最初のアクセスユニットではなく、別のバッファリング期間の最初であるAU(すなわち、デコーダを初期化する一番最初のAUではないbuffering period SEI message(バッファリング期間SEIメッセージ)を有するAU)の除去時間は、次のように計算される:
【0038】
RemovalTime[n]=RemovalTime[nb]+AuCPBRemovalDelay
【0039】
ここで、nbは前のバッファリング期間の最初のAU(バッファリング期間SEIメッセージも持つ現在のAUに先立つAU)を参照するインデックスであり、AuCPBRemovalDelayはビットストリームからtc
*cpb_removal_delay(n)として導出でき、tcはclockTicks(所与の値を時間に変換するためにcpb_removal_delay syntaxが与えられるユニット)である。
【0040】
デコーダを初期化する最初のアクセスユニットでもなく、別のバッファリング期間の最初のアクセスユニットでもないAU(すなわち、デコーダを初期化する一番最初のAUではないバッファリング期間SEIメッセージを持つAU)の除去時間は、次のように計算される:
【0041】
RemovalTime[n]=RemovalTime[nb]+AuCPBRemovalDelay
【0042】
ここで、nbは現在のバッファリング期間の最初のAU(バッファリング期間SEIメッセージを持つ現在のAUに先立つAU)を参照するインデックスである。AuCPBRemovalDelayはビットストリームからtc
*cpb_removal_dela
y(n)として導出することができ。tcはclockTicks(所与の値を時間に変換するためにcpb_removal_delay syntaxが与えられるユニット)である。
【0043】
上述のモデルの欠点は、定義されたInitialCPBRemovalDelayが、利用可能/使用可能なCPBサイズの制限を暗黙のうちに設定することである。したがって、CPBバッファを利用するためには、最初のアクセスユニットの除去のための大きな時間遅延(InitialCPBRemovalDelay)が必要とされることになる。実際、デコーダで符号化されたピクチャが符号化されるとすぐに送信されると仮定すると、すべてのピクチャは、時間どおりよりも早くデコーダに到着しない。:
initArrivalEarliestTime[n]=RemovalTime[n]-InitCpbRemovalDelay(i)
すなわち、その除去時間からInitialCPBRemovalDelayを引いたもので、CPBでこのAUのそれぞれの最初のビットを受信してから、デコーダが最初のAUを除去するために待った時間である。
【0044】
または、現在のピクチャの前のピクチャが非常に大きく、その最後のビットがRemovalTime[n]-InitCpbRemovalDelay(i)よりも遅れて到着(AuFinalArrivalTime[n-1])する場合、初期到着時間(現在のピクチャの最初のビットがCPBに供給される時間)は、以下のとおりである:
initArrivalTime[n]=Max(AuFinalArrivalTime[n-1],initArrivalEarliestTime[n])
【0045】
これは、例えば、新しいバッファリング期間SEIメッセージを有する後続のAUが、その除去時間のInitialCPBRemovalDelay(i)より早くCPBに入ることができない場合、InitialCPBRemovalDelay(i)の間にBitrate(i)をCPBに供給してもCPBAのCPBフルネス(fullness)を達成するだけなので、CPBAより大きなCPBBを達成することは不可能である。
【0046】
この問題を解決するために、
図5に示すように、仮想の送信機(または
図17のHSSまたは
図4のフィーダ202)が、所与の時間オフセットInitialCPBRemovalDelayOffset(i)を有するバッファリングSEIメッセージで最初のRAPのスケジューリングを遅延させることが考えられる。
【0047】
すなわち、
図5の上部は、左側に、この「送信機」が前述の除去ラスタでアクセスユニットを瞬時に取得すると仮定して、
図17のHSSの仮想バッファフルネスまたは
図3のフィーダ202による符号化ピクチャバッファ200の供給を示し、送信機は、グラフの傾斜から導き出せるあるビットレートを用いてアクセスユニットのシーケンスを符号化ピクチャバッファにシーケンシャルに送出する。右側は受信側を示し、より正確には、CPBへのAUの供給と符号化ピクチャバッファからのアクセスユニットの除去を示すCPBフルネスを示している。除去は瞬時に行われ、供給はあるビットレートで行われる。ビットレートは、やはり右側のグラフの傾きから導き出される。このグラフの後縁(trailing edges)は、アクセスユニットのシーケンスが、アクセスユニット単位で、CPBから除去され、デコーダに入力されるインスタンスを示す。ただし、最初のアクセスユニットT
ai1の最初のビットに到着してから、その除去を示す最初の後縁までの最初の時間遅延によって、それらは時間ラスターの遅延で発生する。
【0048】
図5の下半分は、時間オフセットがあることの効果を示している。:利用可能または使用可能なCPBサイズは、最初のアクセスユニットを除去するための時間遅延によって決定される量によって制限されることはない。むしろ、時間オフセットは、時間的除去遅延
によって先送りされる時間ラスタより前の時間インスタンス、すなわち時間オフセットの時間的前進時間の最大値で、最初のアクセスユニットに続く後続のアクセスユニットに供給することができる。ここで、
図5の例では、それに応じて、供給においては、時間遅延のみによって先送りされる時間ラスタに従ったこの第5のアクセスユニットのための時間に達するまで供給を待つか停止することなく、第4のアクセスユニットの直後に第5のアクセスユニットによる供給を再開することが可能である。
【0049】
それに伴い、スケジューリングは以下のように変更される。
initArrivalEarliestTime[n]=RemovalTime[n]-InitCpbRemovalDelay(i)-InitialCPBRemovalDelayOffset(i)
これは、CPBAより大きいCPBBのCPBサイズは、InitCpbRemovalDelay(i)+InitialCPBRemovalDelayOffset(i)のBitrate(i)をCPBに供給することによって達成されるサイズに対応し得ることを意味する。
【0050】
前述した動作原理をまとめると、initArrivalEarliestTimeの計算方法に関して、2種類のフレームが存在する。バッファリング期間(すなわち、バッファリング期間は、バッファリング期間SEIメッセージを有するAUからバッファリング期間SEIメッセージを有する次のAUまでの期間として定義される)内の最初のピクチャ(またはアクセスユニット)については、initArrivalEarliestTimeは、その除去時間からInitCpbRemovalDelayを引いたものとして算定される。バッファリング期間内の最初のAUでない他のAU(すなわち、バッファリング期間SEIメッセージを有しないAU)については、InitArrivalEarliestTimeは、その除去時間からInitCpbRemovalDelayを引いたものからInitialCPBRemovalDelayOffsetを差し引いたものとして計算される。
【0051】
エンコーダは通常、スケジューリングオプションと呼ばれる、HRDの動作に関連するパラメータを持つ単一値または数個の値を持つビットストリームを送信する。例えば、デコーダがそのCPBを動作させる異なるRate値(レート値)、すなわちCPBを供給することができるレートである。
【0052】
しかし、異なるレートを使用することが望ましいシナリオがあるかもしれない。例えば、チャネルがデータをバーストでデコーダに送信し、データ(利用可能な限り)を高ビットレートで送信する一方で、送信すべきビデオデータがないときにチャネルを他のデータの送信に使用する場合などである。
【0053】
これに対処するために、HRDまたはCPBパラメータの計算は、ある種の適合によって必要であり、それは区分的な線形適合/回帰である可能性がある。
【0054】
例えば、
図4の300
i-1に示すような、R
0<R
1の2つのレートR
0、R
1に対応する2組のパラメータがあるとする。そして、R
selはR
0とR
1の間に位置し、90%R
0と10%R
1の和に等しい値に対応するように選択されるとする。このようなレートに対するCPBサイズのような値は、同じ式、すなわち、例の場合において、新しいCPBサイズが90%CPB
0と10%CPB
1の和に等しい線形適合を用いて、同様に計算することができる。
【0055】
しかし、各ピクチャの最早到着時刻を決定するオフセット、すなわちInitialCPBRemovalDelayOffsetに関しては、同じ計算を行うことができない
。その理由は、以下のように様々である:
【0056】
1)バッファフルネス(CPBサイズが決定的な制限である)は、使用する供給レートとInitialCPBRemovalDelayOffsetに影響されるので、InitialCPBRemovalDelayOffset値の線形適合がうまくいかない。
2)実際の初期到着時刻は、最早到着時刻ではなく、前のアクセスユニットの最終到着時刻と最早到着時刻の間の最大値である。すなわち以下である。
initArrivalTime[n]=Max(AuFinalArrivalTime[n-1],initArrivalEarliestTime[n])
【0057】
したがって、各アクセスユニットにおいて、InitialCPBRemovalDelayOffsetによりバッファに供給される追加データは、
Max(initArrivalTime[n]-AuFinalArrivalTime[n-1],0)
に比例する。
【0058】
この問題において、離散パラメータに信号化されていない動作点を計算するための適合が、区分的線形適合ではなく、三次適合や多項式適合のようなより複雑な適合に従う場合に、計算がさらに複雑になり得る。
【0059】
このように、本願発明の実施形態によれば、受信側は、一方の動作点が示す時間オフセットと他方の動作点が示す時間オフセットとの間の補間バージョンを含む動作点間の補間を用いて符号化ピクチャバッファ200の供給及び空化を管理する場合に、問題のない動作モード、すなわちアンダーフローやオーバーフローのないモードに依存することができる。エンコーダは、結果として得られる補間値が、バッファの問題を生じないように注意する。
【0060】
すなわち、
図3の装置は、一実施形態によれば、以下のように動作することになる。装置は、ビットストリーム14をアクセスユニット48のシーケンスとして受信するであろう。フィーダ202は、CPBパラメータ300
i-1および300
iが
図1のエンコーダ10によってビットストリーム14に書き込まれる1つの動作点OP
i-1のビットレート(i-1)と別の動作点OP
iのビットレート(i)との間のどこかにある選択されたビットレート302を用いてアクセスユニットのシーケンスをシーケンシャルに符号化バッファ200に供給するだろう。しかし、フィーダ200は、符号化ピクチャバッファ200に選択されたビットレートで連続的に供給するのではなく、特定のアクセスユニットに関して供給を停止(halt)するかまたは止める(stop)ことができる。特に、フィーダ202は、ピクチャ符号化順序において最初のアクセスユニットについては補間された時間的除去遅延の分、及び、ピクチャ符号化順序において2番目以降のアクセスユニットについては補間された時間的除去遅延と補間された時間オフセットとの和の分、前倒しされた時間除去ラスタによって定義される、先の説明でInitArrivalEarliestTimeと呼ばれる仮想利用可能時間にまだ達していない任意のアクセスユニットについてはこの仮想利用可能時間が到達するまで、供給を止めるか停止させる。ここでも、これらの時間の計算の違いにより、最初のアクセスユニットでないアクセスユニットは、最初のアクセスユニットと比較して、符号化ピクチャバッファ200に長く留まる可能性がある。例えば、あるアクセスユニットについて、時間除去ラスタが除去時間t
removalを示しているが、t
removalから補間された時間的除去遅延(アクセスユニットが最初のアクセスユニットの場合)を引いたもの、またはt
removalから補間された時間的除去遅延と(プラス)補間された時間オフセットとの和(アクセスユニットが最初のアクセスユニットではなく、後続のアクセスユニットの場合)にまだ達していなければ、このアク
セスユニットの符号化ピクチャバッファ200への供給を、この時間に達するまで遅らせる。以上の説明において、先の説明におけるInitArrivalEarliestTime、停止または止めることが上述のmax関数によって具体化され、InitialCPBRemovalDelayOffsetは時間オフセットを示すために用いられ、時間ラスタはアレイRemovalTimeによって定義される。newInitialCPBRemovalDelayOffsetが以下において補間された時間オフセットを示すために用いられる。上述したように、時間ラスタは、最初のアクセスユニットの除去と2番目以降のアクセスユニットのそれぞれの除去との間の時間差、例えば、2番目以降のアクセスユニットのそれぞれの差、このAUの除去と(現在のバッファ期間の)最初のAUの除去との間の時間を測定したもの等、の形態でデータストリーム14から導出可能である。
【0061】
しかし、
図3の装置は、時間ラスタを使用して、符号化ピクチャバッファ200のアクセスユニットからアクセスユニット単位でアクセスユニットを除去する。時間的除去遅延によって供給が先送りされているという事実のために、最初のアクセスユニットの除去は、実際には、この時間的除去遅延で起こる。デコーダ100は、除去されたアクセスユニットを受け取り、それらを復号化し、復号化/再構成されたピクチャを出力する。
【0062】
補間値を得るために、
図3の装置は以下のことを行う。それは、ビットストリーム14から、第1の動作点OP
i-1に関連する第1のCPBパラメータ300
i-1と、第2の動作点OP
iに関連する第2のCPBパラメータ300
iとを抽出する。ここで、第1および第2のCPBパラメータの各々は、CPBサイズ、既定の時間オフセット、既定の時間的除去遅延および既定のビットレートを示し、CPBパラメータ300
i-1と300
iは異なる既定のビットレート用である。次に、装置は、第1のCPBパラメータ300
i-1によって示される既定の時間オフセットと第2のCPBパラメータ300
iによって示される既定の時間オフセットとの間を選択されたビットレート302で補間することによって補間された時間オフセットを決定する。それは、第1のCPBパラメータ300
i-1によって示される既定の時間的除去遅延と第2のCPBパラメータ300
iによって示される既定の時間的除去遅延との間で選択されたビットレート302で補間することによって補間された時間的除去遅延を決定する。後に、具体的な実施形態が説明されるが、この実施形態では、例えば、補間は線形補間であってよいことが示されている。すなわち、
図3の装置は、CPBパラメータ300
i-1および300
iによって示される既定の時間オフセットの間を線形補間し、これらの隣接するCPBパラメータによって示される既定の時間的除去遅延の間を線形補間してよい。しかし、異なる種類の補間が交互に使用されてもよい。エンコーダが、補間をパラメータ化するための1つ以上の補間パラメータを決定し、
図3の装置がデータストリーム14からこの情報を導出し、それに応じて補間を実行することによって、データストリーム内の1つ以上の補間パラメータを送信するということさえあり得る。補間の方法は、時間オフセット及び時間的除去遅延について同じであってよい。さらに、追加的に、
図3の装置は、補間されたCPBサイズを得るように、第1のCPBパラメータ300
i-1が示すCPBサイズと第2のCPBパラメータ300
iが示すCPBサイズとの間を選択されたビットレート302で補間してもよく、
図3の装置は、CPB200に対するこの補間されたCPBサイズは、時間的除去遅延と時間オフセットに関する補間値を使用して符号化ピクチャバッファ200に供給および符号化ピクチャバッファ200を空にする際に生じるあらゆるフルネス状態に十分対応するという事実を頼りにしてよい。前述のように、エンコーダは、この約束が成立することを確認する。例えば、エンコーダは、ビットレートbitrate(i-1)とbitrate(i)との間の中間ビットレートのある離散セット(例えば、これらのビットレート間の間隔の10分の1または別の分数のユニット)についてデコード側への約束を制限してもよい。次に、エンコーダは、任意のオーバーフローまたはアンダーフローの状況が発生するかどうかをテストし、イエスであれば、それに応じて値のいずれかを適応させることができる。例えば、オ
ーバーフローが発生した場合、エンコーダは、動作点OP
i及びOP
i-1によってそれぞれ示されるCPBサイズのうちの1つを増加させてもよい。あるいは、エンコーダは、CPBパラメータの決定および補間値の競合がないことのチェックとともに、ビットストリームの全体の符号化を再び再開することができる。
【0063】
言い換えれば、実施形態に従って、エンコーダは、CPBおよびビットレート曲線が対応する指示された離散値から適合されるときに計算される(CPBサイズおよびBitrateについての)HRD限界が有効なデコーダ動作をもたらすように、指示された離散InitialCPBRemovalDelayOffset値のうちの2つの重み付け線形結合を計算し、最早到着時刻を計算するためのnewInitialCPBRemovalDelayOffsetとして使用できるようにすることもある。議論されたように、CPBサイズおよびビットレート曲線のカーブ適合は、以下のようにすることができる。:
- 線形
- 三次曲線
- 多項式
【0064】
すなわち、エンコーダおよびデコーダは、動作点のOPi値間、特に、時間オフセットのためのそれらの値InitCpbRemovalDelayOffseti間の区分的線形補間以外の補間を使用してもよい。
【0065】
【0066】
【0067】
【0068】
ここでもエンコーダは、提供されたビットストリームと指示が、所与の離散的な動作点だけでなく、その間において計算できる値にも適用されることを確認する。そのために、エンコーダは、与えられた離散的な値の間にある異なる値をサンプリングし、そのような値に対してバッファのアンダーフローまたはオーバーフローがないことを確認することができる。
【0069】
ビットストリームの一実施形態は、中間初期除去オフセットを計算するために、ビットレートR0およびR1の形態で上述の重みを伝達している。上記のようなエンコーダによって生成されたビットストリームを受信するクライアント側のビデオデコーダなどの、または関与するビットストリーム処理装置は、エンコーダが上記の時間制約を満たす方法でビットストリームを生成するという事実に頼らなければならないであろう。装置は、ビットストリームが実際に合法的なビットストリームであることを確認するためにビットストリームのチェックを実行することができ、このようなチェックは、通常のデコード処理の一部とすることができる。このチェックは、CPBと初期除去オフセットなどのタイミング情報とを伝達するそれぞれのビットストリームシンタックスを解析し、それぞれの方程式を通して直接関連する変数およびさらなる変数を導出し、ビットストリームの他のシンタックス(レベルインジケータなど)に示されるように、時間の経過と共にレベル制限に従うように前記変数の値を監視することを含むことができる。さらに、エンコーダとデコーダからなるシステムは、前記ビットストリーム特性をチェックするステップを含むことができる。
【0070】
図6と
図7は、R
0とR
1がそれぞれ13.5と16Mbpsに等しい2つの動作点におけるCPBバッファの充填レベルを示す。CPBサイズCPB
0とCPB
1はそれぞれ1400メガバイトと1000メガバイトである。そして、上述のオフセット、すなわちInitCpbRemovalDelayOffset
0とInitCpbRemovalDelayOffset
1は、それぞれ30ミリ秒と0ミリ秒である。
【0071】
次の図は、R
selの値が14.75Mbps(つまり、13.5~16Mbpsのちょうど中間)に等しい場合、及び、newInitialCPBRemovalDelayOffsetの値が異なる場合のCPBフルネスを示したものである。
図8では、後者がInitCpbRemovalDelayOffset
0(30ms)に等しく、オーバーフローが発生し、
図9では、同じものがInitCpbRemovalDelayOffset1(0ms)に等しく、アンダーフローが発生している。所与の動作点InitCpbRemovalDelayOffset
0とInitCpbRemovalDelayOffset
1(15ms)を線形適合しただけでは、
図10のような状態になる。前述の計算値(16.3ms)を用いると、
図11のようになる。
図12は、InitCpbRemovalDelayOffset
0とInitCpbRemovalDelayOffset
1の間の任意の値(20ms)を使用し、やはりオーバーフローが発生することを示している。このように、InitCpbRemovalDelayOffset
0とInitCpbRemovalDelayOffset
1に等しい任意の数のオフセットは、バッファのアンダーフローやオーバーフローといった問題が発生する可能性があることがわかる。上記の例では、線形適合により、有効な動作値が得られ、また、前述の明示的な重み付けプロビジョニングが提供される。しかし、他のケースでは、線形適合は、(エンコーダが処理しない場合)オーバーフローにつながる可能性がある。例えば、R
0とR
1が14.5Mbpsと18Mbpsに等しく、CPB
0とCPB
1がそれぞれ1250メガバイトと1300メガバイトで、InitCpbRemovalDelayOffset
0とInitCpbRemovalDelayOffset
1がそれぞれ15と40に等しい場合についての線形適合は、
図13に描かれる。ここではオーバーフローが発生している。
図14では、2因子重みを用いた補間を示している。
【0072】
図3のデコーダ100は、各インバウンドAUから、対応するピクチャ16’を再構成するが、ここで、個別にまたは組み合わせて適用され得る、可能だがオプションの実装の詳細が、
図2に関して上で説明されている。デコーダおよびエンコーダの実装のためのいくつかのオプションは、以下により詳細に説明される。
【0073】
最初のものは、復号化ピクチャ16’の処理とそれらの復号化ピクチャバッファのバッファリングとに関連する。
図2のループバッファ142は、そのようなDPBを含むことができる。
図3では、DPBはデコーダ100の一部であってもよい。
【0074】
実施形態によれば、
図3の装置は、短期および長期の2種類の基準ピクチャを区別する。エンコーダは、復号化中の各時点におけるデコーダ100のDPB充填状態をエミュレートする際に、同様のことを行う。なお、基準ピクチャは、予測参照に不要となった時点で「未参照基準」とマークするようにしてもよい。これら3つのステータス(短期、長期、未参照基準)の間の変換は、復号化基準ピクチャマーキング処理によって制御される。暗黙のスライディングウィンドウ処理と明示的なメモリ管理制御操作(MMCO)処理という2つの代替的な復号化基準ピクチャマーキング機構が存在する。各現在復号化されたピクチャまたは各現在復号化されたAUについて、DPB管理のためにどの処理を使用するかについて、データストリーム14において信号化される。スライディングウィンドウ処理は、基準フレームの数が所与の最大数(SPSではmax-num-ref-frames)に等しい場合に、短期基準ピクチャを「未参照基準」としてマークする。短期基準ピクチャは先入れ先出しで保存され、最も新しく復号化された短期ピクチャがDPBに保持される。明示的なMMCO処理は、複数のMMCOコマンドによって制御される。このモードが現在のAUまたは現在復号化されたピクチャに対して選択される場合、ビットストリームは、これまたはこのAUにおいて、これらのコマンドの1つ以上を含む。MMCOコマンドは、1)1つ以上の短期または長期の基準ピクチャを「未参照基準」としてマークする、2)すべてのピクチャを「未参照基準」としてマークする、3)現在の基準ピクチャまたは既存の短期基準ピクチャを長期としてマークし、長期ピクチャインデック
スをその長期ピクチャに割り当てる、のいずれかである。基準ピクチャのマーキング操作、および表示のための出力及びDPBからのピクチャの除去は、ピクチャが復号化された後に実行することができる。
【0075】
すなわち、
図3に戻ると、実施形態によれば、デコーダ100は、CPB200から除去され、したがってCPB200から受信された現在のAU402を復号化400して、復号化されたピクチャ16’を得ることができる。それは、前述のループバッファ142によって構成される前述のDPB406に格納された参照される基準ピクチャ404に基づいてピクチャ間予測を使用することができる。復号化されたピクチャ16’は、DPB406に挿入408されることによってもよい。挿入408は、現在復号化されたピクチャ16’ごとに実行されてもよく、すなわち、各復号化されたピクチャは、その復号化400の後、DPB406に配置されてもよい。挿入408は、瞬時に、すなわち、復号化時間を無視したときのAUの402のCPB除去時間、またはCPB除去時間と必要な復号化時間との合計で行われることができる。しかしながら、挿入408は、追加的に、410で示されるような特定の事実に依存するようにしてもよく、例えば、各新しく復号化されたピクチャは、それがそのCPB除去時間に出力412される場合を除き、すなわち、それが即時出力ピクチャ、すなわち、表示用に直ちに出力すべきピクチャであり、それが、対応するAU402において、状況が対応のシンタックスエレメントにより示され得る非基準ピクチャでない限り、DPB406に挿入される。DPB406に格納された各基準ピクチャ414に対して、装置は、短期基準ピクチャ、長期基準ピクチャおよび未参照基準ピクチャのうちの1つとしての分類を割り当ててよい。装置はさらに、現在のAU402からDPBモード情報416を読み取り、モード情報416が固有または第1モードを示す場合、固有DPB管理処理418が起動され、FIFO方法に従って、短期ピクチャとして分類される1以上の基準ピクチャ414をDPB406から除去する424。モード情報416が明示的または第2モードを示す場合、明示的DPB管理処理420が起動され、DPB406に格納された基準ピクチャ414の少なくとも1つに割り当てられた分類を変更するように、現在のAU402によって構成されたメモリ管理制御情報に含まれる1つ以上のコマンドを実行し、DPB406からの基準ピクチャ除去424の管理のために、DPB406における基準ピクチャ414の分類を用いる。現在のピクチャ16’に対して処理418および420が選択されているかどうかに関係なく、ピクチャ出力時間が到達したDPB406内の任意のピクチャ414は、表示のために出力422される。もはや出力する必要がなく、未参照基準として分類されたピクチャ414は、DPB406から除去される424。
【0076】
図15の基準ピクチャマーキング機構のいくつかの可能な詳細について、以下に説明する。1)第1の態様は、フレーム番号のギャップ及び非存在ピクチャに関連する。上記では説明しなかったが、DPB406内の各基準ピクチャ414がフレーム番号と関連付けられ、このフレーム番号は、復号化順序におけるAUのランクを示すAU402内のフレーム番号シンタックスエレメントから
図3の装置によって導出される得る。通常、この番号は、各基準ピクチャ414に対して1ずつ増加するが、フレーム番号のギャップは、エンコーダまたはMANE(media aware network element)が、復号化順序において先行する基準ピクチャと比較して基準ピクチャに対してフレーム番号が1以上増加するビットストリームを配信できるように、たとえば、パラメータ-ギャップ-イン-フレーム番号-許可-fag(parameter-gaps-in-frame-num-allowed-flag)と呼ばれる対応の高レベル(シーケンスレベルなど)フラッグを設定することによって許可される場合がある。これは、時間的スケーラビリティをサポートするために有利である可能性がある。
図3の装置は、フレーム番号にギャップがあるAUのシーケンスを受信すると、ギャップを埋めるために非存在ピクチャを作成するように構成されるかもしれない。非存在ピクチャは、ギャップ内のフレーム番号値で割り当てられ、復号化された基準ピクチャマーキング中に基準ピクチャとし
て考慮されるが、出力には使用されない(したがって、表示されない)。非存在ピクチャは、DPBに存在するピクチャのフレーム番号に関するDPBのステータスが、ピクチャを受信したデコーダにとっても、ピクチャを受信しなかったデコーダにとっても同じであることを保証する。
【0077】
別の可能な態様は、スライディングウィンドウを使用する際の基準ピクチャの損失に関連するものである。基準ピクチャが失われた場合、
図3の装置は、ピクチャを隠蔽しようとすることができ、損失が検出された場合にフィードバックチャネルが利用可能であれば、エンコーダに損失を報告する可能性がある。フレーム番号におけるギャップが禁止されている場合、フレーム番号値の不連続性は、基準ピクチャの意図しない損失を示す。フレーム番号のギャップが許可される場合、フレーム番号値の不連続性は、時間レイヤ又はサブシーケンスの意図的な除去又は偶然のピクチャ損失のいずれかによって引き起こされ、
図3の装置のようなデコーダは、インタ予測処理において存在しないピクチャが参照される場合にのみピクチャ損失を推測すべきである。隠蔽ピクチャのピクチャ順序カウントは不明であるため、
図3の装置などのデコーダは、Bピクチャを復号化するときにエラーを検出せずに誤った基準ピクチャを使用する可能性がある。
【0078】
さらに考えられる側面は、MMCOによる基準ピクチャの損失に関するものである。短期基準ピクチャを「未参照基準」としてマーキングするMMCOコマンドを含む基準ピクチャが失われた場合、DPB内の基準ピクチャのステータスが不正確になり、その結果、失われたピクチャに続くいくつかのピクチャの基準ピクチャリストが不正確になることがある。長期基準ピクチャに関連するMMCOコマンドを含むピクチャが失われた場合、DPB内の長期基準ピクチャの数が、そのピクチャを受信した場合の数と異なるため、後続の全てのピクチャに対して「不正な」スライドウィンドウ処理が行われる恐れがある。つまり、エンコーダとデコーダ、すなわち
図3の装置には、異なる数の短期基準ピクチャが含まれ、その結果、スライディングウィンドウ処理の動作が同期しないことになる。さらに状況を悪化させるのは、デコーダは、スライディングウィンドウ処理が同期していないことを必ずしも知ることができないことである。
【0079】
【0080】
デコーダおよびエンコーダの実装に関するさらなる選択肢をここで説明し、任意に、前に説明したDPB管理に関するものと組み合わせることができ、ビットストリーム14への変換係数の形態における残差データのようないくつかのシンタックスエレメントのエントロピー復号化に関連するものである。不可逆的な量子化変換係数の可逆的なエントロピー符号化は、効率的なビデオ符号化の重要な部分である。そのような方法の1つは、コンテキスト適応的可変長コーディング(CAVLC)と称され、これは、コンテキスト適応的に同じスライス内の以前に送信されたシンタックスエレメントの値に応じて、様々なシンタックスエレメントのための異なる可変長コード(VLC)テーブルの間でエンコーダが切り替える。エンコーダとデコーダはCAVLCを使用することができる。コンテキス
ト適応的に選択されたコードテーブルからそのシンタックスエレメントに対して選択されたビットストリームに対応するコードワードを書き込むことによって、各シンタックスエレメントがビットストリーム14に符号化されるという事実により、ビットストリーム内の各CAVLC符号化ビットを単一のシンタックスエレメントに関連づけることができる。ビットストリーム14に存在すべきスキャン順序の変換係数レベルに関する関連情報は、したがって、CAVLCが使用されるとき、シンタックスエレメントとして直接アクセス可能な形態で利用可能である。エンコーダおよびデコーダは、ビットストリーム14内の変換係数を信号化するためにCAVLCを使用することができる。以下のシンタックスエレメント、すなわち、以下のセマンティクスを有するシンタックスエレメントを使用することができる:
【0081】
-(CoeffTokenによって示される)変換ブロック内の非ゼロ変換係数レベルの総数を示す1つのシンタックスエレメント。
-後続の1つの変換係数レベルの数を示す1つ以上のシンタックスエレメント、すなわち、すべて1である最後の非ゼロシンタックスエレメントまで、スキャン順序でシンタックスエレメントをスキャンした最後に発生するシンタックスエレメントの実行、およびそれらの符号。
-後続の1つの変換係数を除く非ゼロの変換係数ごとに、変換係数レベル値を示す1つ以上のシンタックスエレメント。
-ゼロ値の変換係数レベルの総数を示す1つのシンタックスエレメント。
-非ゼロ値の変換係数レベルに遭遇する前に、現在のスキャン位置からゼロ値を持つスキャン順序の連続した変換係数レベルの数を示すシンタックスエレメント。
【0082】
エンコーダがCABAC(コンテキスト適応型バイナリ算術符号化)の使用とCAVLCの使用との間で選択し、ビットストリーム14でその選択を信号化し、デコーダがこの信号を読み、残差データを復号化するために指示された方法を使用するということも、代替的にまたは追加であり得る。
【0083】
ここで、デコーダとエンコーダの実装に関する更なるオプションを説明するが、オプションは、任意に、先に説明したDPB管理に関するものとCAVLCに関するもののいずれかと組み合わせることができ、4分の1ピクセル補間フィルタに関するものである。通常のフルピクセルサンプルグリッドよりも細かい粒度でのインタ予測を可能にするために、サンプル補間処理を使用して、2分の1ピクセルポジションから4分の1ピクセルポジションまでの範囲のサブピクセルサンプルポジションでのサンプル値を導出することが可能である。4分の1ピクセル補間を実施する1つの方法は、エンコーダとデコーダによって使用されることがあり、以下の通りである。まず、6タップのFIRフィルタを使用して2分の1ピクセルポジションのサンプル値を生成し、生成された2分の1ピクセルポジションのサンプル値を補間によって平均化し、輝度成分(luma components)について4分の1ピクセルポジションでのサンプル値を生成する。
【0084】
完全性のために、
図16は、
図3の装置に適合するエンコーダ、すなわち、ビデオ12をビットストリーム14に符号化するもので、
図1に従う必要は必ずしもないが、
図3の装置によって行われるべきような補間がアンダーフローおよびオーバーフローのない動作をもたらすように、ビットストリーム14にCPBパラメータ300を提供するものを示す。
【0085】
したがって、以下の実施形態または態様は、上記の説明から導出可能であり、以下の実施形態または態様は、順番に、個別にまたは組み合わせて、上記の詳細および事実のいずれかによってさらに拡張可能である。
【0086】
第1の態様によれば、ビデオ復号化のための装置は、符号化ピクチャバッファ200を備え、ビデオ12のピクチャ16が符号化順序に沿って符号化されているデータストリーム14をアクセスユニット48のシーケンスとして受信し、選択されたビットレート302を用いて前記アクセスユニット48のシーケンスを前記CPBにシーケンシャルに供給するとともに、前記符号化順序において最初のアクセスユニットについては選択された時間的除去遅延の分、及び、前記符号化順序において2番目以降のアクセスユニットについては前記選択された時間的除去遅延と選択された時間オフセットとの和の分、前倒しされた時間フレーム除去ラスタによる仮想利用可能時間にまだ到達していないアクセスユニットについては前記仮想利用可能時間に到達するまでは供給を停止させ、前記時間ラスタを用いて前記CPBから前記AUをAU単位で除去し、第1の動作点に関連する第1のCPBパラメータ300i-1と第2の動作点に関連する第2のCPBパラメータ300iとを前記データストリームから抽出し、ここで前記第1のCPBパラメータ及び前記第2のCPBパラメータの各々は、CPBサイズ、既定の時間オフセット、既定の時間的除去遅延及び既定のビットレートを示し、前記第1のCPBパラメータ300i-1は、少なくとも前記既定のビットレートに関して前記第2のCPBパラメータ300iと相違しており、前記第1のCPBパラメータ300i-1が示す前記既定の時間オフセットと前記第2のCPBパラメータ300iが示す前記既定の時間オフセットとの間を前記選択されたビットレートで補間することによって前記選択された時間オフセットを決定し、前記第1のCPBパラメータ300i-1が示す前記既定の時間的除去遅延と前記第2のCPBパラメータ300iが示す前記既定の時間的除去遅延との間を前記選択されたビットレートで補間することによって前記選択された時間的除去遅延を決定する。
【0087】
第1の態様を参照するときの第2の態様に従って、装置は、前記データストリームから1つ以上の補間パラメータを導出し、前記1つ以上の補間パラメータを用いて前記補間をパラメータ化するように構成される。
【0088】
第1または第2の態様を参照するときの第3の態様に従って、装置は、第1の重みで重み付けされた前記第1のCPBパラメータが示す前記既定の時間オフセットと、第2の重みで重み付けされた前記第2のCPBパラメータが示す前記既定の時間オフセットとの重み付け和を用いて前記補間を実行するように構成される。
【0089】
第3の態様を参照するときの第4の態様に従って、装置は、前記選択されたビットレート、前記第1のCPBパラメータが示す前記既定のビットレート、及び前記第2のCPBパラメータが示す前記既定のビットレートに基づいて、前記第1の重み及び前記第2の重みを決定するように構成される。
【0090】
第3の態様を参照するときの第5の態様に従って、装置は、前記選択されたビットレートと前記第1のCPBパラメータが示す前記既定のビットレートとの間の差を、前記第1のCPBパラメータが示前記す既定のビットレートと前記第2のCPBパラメータが示す前記既定のビットレートとの間の差によって除算することによって線形補間重みを計算し、前記線形補間重みを用いて前記第1の重み及び前記第2の重みを決定するように構成される。
【0091】
第5の態様を参照するときの第6の態様に従って、装置は、前記第1の重みが前記線形補間重み又は因数の1つが前記線形補間重みである積となるように前記第1の重みを決定し、前記第2の重みが前記線形補間重みと1との差、又は因数の1つが前記線形補間重みと1との前記差である積となるように前記第2の重みを決定するように構成される。
【0092】
第5の態様を参照したときの第7の態様に従って、装置は、前記第1の重み、が第1の因数が前記線形補間重みであり、第2の因数が前記第1のCPBパラメータが示す前記既
定のビットレートを前記選択されたビットレートで除算したものである積となるように前記第1の重みを決定し、前記第2の重みが、第1の因数が前記線形補間重みと1との前記差であり、第2の因数が前記第2のCPBパラメータが示す前記既定のビットレートを前記選択されたビットレートで除算したものである積となるように第2の重みを決定するように構成される。
【0093】
第1から第7の態様のいずれかを参照するときの第8の態様に従って、装置は、復号化ピクチャバッファ(DPB)をさらに備え、前記CPB200から除去された現在のAU402を前記DPBに格納された参照される基準ピクチャ404からピクチャ間予測を用いて復号化して復号化されたピクチャ16’を取得し、前記復号化されたピクチャを前記DPBに挿入し408、前記DPBに格納された各基準ピクチャ414に、短期基準ピクチャ、長期基準ピクチャ、未参照基準ピクチャのうちの1つとしての分類を割り当て、前記現在のAUからDPBモード情報416を読み出し、前記DPBモード情報が第1モードを示す場合、FIFO方法に従って、短期ピクチャに分類された1つ以上の基準ピクチャを前記DPBから除去し424、前記DPBモード情報が第2モードを示す場合、前記現在のAUにおいて少なくとも1つのコマンドを含むメモリ管理制御情報を読み出し、前記少なくとも1つのコマンドを実行して前記DPBに格納された前記基準ピクチャのうちの少なくとも1つに割り当てられた前記分類を変更し、前記DPB内の前記基準ピクチャの前記分類を使用して前記DPBからの基準ピクチャの除去424を管理するように構成される。
【0094】
第8の態様を参照した場合の第9の態様に従って、装置は、前記復号化されたピクチャがピクチャ間予測に使用されていないかの指標を前記現在のAUから読み取り、前記復号化されたピクチャがピクチャ間予測に使用されていないこと、又は直接出力されないことが示されていない場合、前記復号化されたピクチャの前記DPBへの前記挿入を実行し、前記復号化されたピクチャがピクチャ間予測に使用されていないこと、及び直接出力されることが示されている場合、前記DPBにおいて前記復号化されたピクチャをバッファリングせずに直接出力するように構成される。
【0095】
第8または第9の態様を参照する際の第10の態様に従って、装置は、長期ピクチャに分類される前記DPB内の各基準ピクチャにフレームインデックスを割り当て、既定の基準ピクチャに割り当てられた前記フレームインデックスが前記現在のAUにおいて参照される場合、長期ピクチャに分類される前記DPB内の前記既定の基準ピクチャを前記DPB内の参照される基準ピクチャとして使用するように構成される。
【0096】
第10の態様を参照するときの第11の態様に従って、装置は、前記現在のAU内の前記少なくとも1つのコマンドが第1コマンドである場合、短期基準ピクチャに分類された前記DPB内の基準ピクチャを未参照基準ピクチャとして再分類し、前記現在のAU内の前記少なくとも1つのコマンドが第2コマンドである場合、長期基準ピクチャに分類された前記DPB内の基準ピクチャを未参照基準ピクチャとして再分類し、前記現在のAU内の前記少なくとも1つのコマンドが第3コマンドである場合、短期ピクチャに分類された前記DPB内の基準ピクチャを長期基準ピクチャに再分類して、再分類された前記基準ピクチャにフレームインデックスを割り当て、前記現在のAU内の前記少なくとも1つのコマンドが第4コマンドである場合、前記第4コマンドに従ってフレームインデックス上限値を設定し、長期ピクチャに分類され、前記フレームインデックス上限値を超えるフレームインデックスが割り当てられた前記DPB内の全ての基準ピクチャを未参照基準ピクチャに再分類し、前記現在のAU内の前記少なくとも1つのコマンドが第5コマンドである場合、前記現在のピクチャを長期ピクチャとして分類し、前記現在の基準ピクチャにフレームインデックスを割り当てる、のうちの1つ以上を満たすように構成される。
【0097】
第8から第11の態様のいずれかを参照するときの第12の態様によれば、装置は、未参照基準ピクチャとして分類され、もはや出力されることのないあらゆる基準ピクチャを前記DPBから除去するように構成される。
【0098】
第1から第12の態様のいずれかを参照したときの第13の態様に従って、装置は、前記データストリームからエントロピー符号化モードインジケータを読み取り、前記エントロピー符号化モードインジケータがコンテキスト適応型可変長符号化モードを示す場合は前記コンテキスト適応型可変長符号化モードを使用して、そして前記エントロピー符号化モードインジケータがコンテキスト適応型バイナリ算術符号化モードを示す場合は前記コンテキスト適応型バイナリ算術符号化モードを使用して、前記現在のAUから予測残差データを復号化するように構成される。
【0099】
第1から第13の態様のいずれかを参照するときの第14の態様に従って、装置は、前記現在のAUにおける動きベクトルに基づいて、且つ6タップFIRフィルタを使用して2分の1ピクセル単位値を導出し、隣接する2分の1ピクセル単位値を平均化して、前記参照される基準ピクチャにおける4分の1ピクセル単位値を導出するように構成される。
【0100】
第1から第14の態様のいずれかを参照するときの第15の態様に従って、装置は、前記最初のアクセスユニットの除去と前記2番目以降のアクセスユニットの各々の前記除去との間の時間差によって、前記時間ラスタに関する情報を前記データストリームから導出するように構成される。
【0101】
第1から第15の態様のいずれかを参照するときの第16の態様に従って、装置は、前記第1のCPBパラメータ300i-1が示す前記CPBサイズと前記第2のCPBパラメータ300iが示す前記CPBサイズとの間を前記選択されたビットレート302で補間して、補間されたCPBサイズを取得して前記符号化ピクチャバッファ200の最小CPBサイズを決定するように構成される。
【0102】
第1から第16の態様のいずれかを参照するときの第17の態様によれば、本装置において前記選択されたビットレートは、前記第1のCPBパラメータ300i-1が示す前記既定のビットレートと前記第2のCPBパラメータ300iが示す前記既定のビットレートとの間にある。
【0103】
第1から第17の態様のいずれかに戻って参照する場合の第18の態様に従って、装置は、現在のバッファリング期間の前記最初のアクセスユニットである、前記符号化順序において前記最初のアクセスユニットについては、バッファリング期間単位で動作するように構成される。
【0104】
第19の態様によれば、データストリームにビデオを符号化するための装置であって、前記データストリームは、符号化ピクチャバッファ(CPB)を備えるデコーダに供給されることによって復号化されるものであり、前記装置は、符号化順序で符号化されたビデオのピクチャをアクセスユニット(AU)のシーケンスとしてデータストリームに符号化し、第1の動作点に関連する第1のCPBパラメータと第2の動作点に関連する第2のCPBパラメータを決定し、ここで前記第1のCPBパラメータ及び第2のCPBパラメータの各々は、CPBサイズ、既定の時間オフセット、既定の時間的除去遅延及び既定のビットレートを示し、前記第1のCPBパラメータは、少なくとも前記既定のビットレートに関して前記第2のCPBパラメータと相違し、複数の選択されたビットレートの各々において前記第1のCPBパラメータの前記既定の時間オフセットと前記第2のCPBパラメータの前記既定の時間的オフセットとの間を補間することによって、補間された時間オフセット及び補間された時間的除去遅延が生じて、それぞれの前記選択されたビットレー
トを使用して前記AUのシーケンスを前記CPBにシーケンシャルに供給するとともに前記符号化順序において最初のアクセスユニットについては補間された時間的除去遅延の分、及び、符号化順序において2番目以降のアクセスユニットについては前記補間された時間的除去遅延と補間された時間オフセットとの和の分、前倒しされた時間フレーム除去ラスタによる仮想利用可能時間にまだ到達していないアクセスユニットについては前記仮想利用可能時間に到達するまでは前記供給を停止し、前記時間ラスタを用いて前記CPBから前記AUをAU単位で除去して、前記データストリームを前記CPBを介して前記デコーダに供給することが、いかなるアンダーフローも、いかなるオーバーフローも引き起こさないように前記決定が実行され、前記CPBパラメータを前記データストリームに符号化するように構成される。
【0105】
第19の態様を参照するときの第20の態様に従って、装置において、前記補間は、補間パラメータを用いてパラメータ化され、前記装置は、前記補間パラメータを前記データストリームに符号化するように構成される。
【0106】
第19または第20の態様を参照するときの第21の態様に従って、装置において、前記補間は、第1の重みで重み付けされた前記第1のCPBパラメータが示す前記既定の時間オフセットと、第2の重みで重み付けされた前記第2のCPBパラメータが示す前記既定の時間オフセットとの重み付き和を用いて実行される。
【0107】
第21の態様を参照するときの第22の態様に従って、装置において、前記第1の重み及び前記第2の重みは、前記選択されたビットレート、前記第1のCPBパラメータが示す前記既定のビットレート、及び前記第2のCPBパラメータが示す前記既定のビットレートに基づいて決定される。
【0108】
第21の態様を参照するときの第23の態様に従って、装置において、前記選択されたビットレートと前記第1のCPBパラメータが示す前記既定のビットレートとの間の差を、前記第1のCPBパラメータが示す前記既定のビットレートと前記第2のCPBパラメータが示す前記既定のビットレートとの間の差で除算することによって決定される線形補間重みが、前記第1の重み及び前記第2の重みを決定するために使用される。
【0109】
第23の態様に戻って参照する場合の第24の態様によれば、装置において、前記第1の重みは、前記第1の重みが前記線形補間重み又は1つの因数が前記線形補間重みである積となるように決定され、前記第2の重みは、前記第2の重みが前記線形補間重みと1との差又は1つの因数が前記線形補間重みと1との前記差である積となるように決定される。
【0110】
第23の態様を参照したときの第25の態様に従って、装置において、前記第1の重みは、前記第1の重みが、第1の因数が前記線形補間重みであり、第2の因数が前記第1のCPBパラメータが示す前記既定のビットレートを前記選択されたビットレートで割ったものである積となるように決定され、前記第2の重みは、前記第2の重みが、1つの因数が前記線形補間重みと1との前記差であり、第2の因数が前記第2のCPBパラメータが示す前記既定のビットレートを前記選択されたビットレートで除算したものである積となるように決定される。
【0111】
第19から第25の態様のいずれかを参照するときの第26の態様に従って、前記装置は、前記AUを符号化する際に、DPBに格納された参照される基準ピクチャからのピクチャ間予測を使用して現在のピクチャを現在のAUに符号化し、前記DPB内の前記現在のピクチャの復号化バージョンを前記DPBに挿入し、前記DPBに格納された各基準ピクチャに、短期基準ピクチャ、長期基準ピクチャ、未使用基準ピクチャのうちの1つとして
の分類を割り当て、DPBモード情報を前記現在のAUに書き込み、前記DPBモード情報が第1モードを示す場合、FIFO方法に従って、短期ピクチャに分類される1つ以上の基準ピクチャを前記DPBから除去し、前記DPBモード情報が第2モードを示す場合、少なくとも1つのコマンドを含むメモリ管理制御情報を前記現在のAUに書き込み、ここで前記コマンドは、前記DPBに格納された前記基準ピクチャのうちの少なくとも1つに割り当てられた前記分類を変更するように指示するものであり、前記DPBにおける前記基準ピクチャの前記分類は、前記DPBからの基準ピクチャ除去を管理するために使用されるように構成される。
【0112】
第26の態様を参照するときの第27の態様に従って、装置は、前記復号化されたピクチャがピクチャ間予測に使用されないのかの指標を前記現在のAUに書き込むように構成され、前記復号化されたピクチャがピクチャ間予測に使用されないこと、又は直接出力されないことが示されていない場合、前記復号化されたピクチャは前記DPBに挿入され、前記復号化されたピクチャがピクチャ間予測に使用されず、かつ直接出力されることが示されている場合、前記復号化されたピクチャは前記DPBにおいてバッファリングされることなく直接出力される。
【0113】
第26または第27の態様を参照した場合の第28の態様に従って、本装置では、長期ピクチャに分類される前記DPB内の各基準ピクチャにフレームインデックスが割り当てられ、既定の基準ピクチャに割り当てられた前記フレームインデックスが前記現在のAUにおいて参照される場合、長期ピクチャに分類される、前記DPB内の既定の基準ピクチャを前記DPB内の参照される基準ピクチャとして使用される。
【0114】
第28の態様を参照するときの第29の態様に従って、装置において、前記現在のAU内の前記少なくとも1つのコマンドが第1コマンドである場合、短期参照ピクチャに分類された前記DPB内の基準ピクチャを未参照基準ピクチャに再分類し、前記現在のAU内の前記少なくとも1つのコマンドが第2コマンドである場合、長期参照ピクチャに分類された前記DPB内の基準ピクチャを未参照基準ピクチャとして再分類し、前記現在のAU内の前記少なくとも1つのコマンドが第3コマンドである場合、短期ピクチャに分類された前記DPB内の基準ピクチャを長期基準ピクチャに再分類し、再分類された前記基準ピクチャにフレームインデックスを割り当て、前記現在のAU内の前記少なくとも1つのコマンドが第4コマンドである場合、前記第4コマンドに従ってフレームインデックス上限値を設定し、長期ピクチャに分類され、前記フレームインデックス上限値を超えるフレームインデックスが割り当てられた前記DPB内の全ての基準ピクチャを未参照基準ピクチャに再分類し、前記現在のAU内の前記少なくとも1つのコマンドが第5コマンドである場合、前記現在のピクチャを長期ピクチャとして分類し、前記現在の基準ピクチャにフレームインデックスを割り当てる、のうちの1つ以上を満たす。
【0115】
第26から第29の態様のいずれかを参照するときの第30の態様に従って、装置において、未参照基準ピクチャとして分類され、もはや出力されることのないあらゆる基準ピクチャは前記DPBから除去される。
【0116】
第19から第30の態様のいずれかを参照するときの第31の態様に従って、装置は、エントロピー符号化モードインジケータを前記データストリームに書き込み、前記エントロピー符号化モードインジケータがコンテキスト適応型可変長符号化モードを示す場合には前記コンテキスト適応型可変長符号化モードを使用して、及び、前記エントロピー符号化モードインジケータがコンテキスト適応型バイナリ算術符号化モードを示す場合には前記コンテキスト適応型バイナリ算術符号化モードを使用して、予測残差データを前記現在のAUに符号化するように構成されてよい。
【0117】
第19から第31の態様のいずれかを参照するときの第32の態様に従って、装置は、前記現在のAUにおける動きベクトルに基づいて、且つ6タップFIRフィルタを使用して2分の1ピクセル単位値を導出し、隣接する2分の1ピクセル単位値を平均化して、前記参照される基準ピクチャにおける4分の1ピクセル単位値を導出するように構成される。
【0118】
第19から第32の態様のいずれかを参照するときの第33の態様に従って、前記装置は、前記最初のアクセスユニットの除去と前記2番目以降のアクセスユニットの各々の前記除去との間の時間差によって、前記時間ラスタに関する情報を前記データストリームに提供するように構成される。
【0119】
第19から第33の態様のいずれかを参照するときの第34の態様に従って、前記装置において、前記第1のCPBパラメータ300i-1が示す前記CPBサイズと前記第2のCPBパラメータ300iが示す前記CPBサイズとの間を前記選択されたビットレート302で補間が実行され、補間されたCPBサイズを取得して前記符号化ピクチャバッファ200の最小CPBサイズを決定するように構成される。
【0120】
第19から第34の態様のいずれかを参照するときの第35の態様に従って、本装置において、前記選択されたビットレートは、前記第1のCPBパラメータ300i-1が示す前記既定の時間オフセットと前記第2のCPBパラメータ300iが示す前記既定の時間オフセットとの間にある。
【0121】
第19から第35の態様のいずれかに戻って参照する場合の第36の態様に従って、装置は、現在のバッファリング期間の前記最初のアクセスユニットである、前記符号化順序において前記最初のアクセスユニットについては、バッファリング期間単位で動作するように構成される。
【0122】
第19から第36の態様のいずれかを参照するときの第37の態様に従って、装置は、第1のCPBパラメータおよび第2のCPBパラメータの予備的バージョンを決定することによって前記決定を実行するように構成され、前記複数の選択されたビットレートのそれぞれについて前記補間された時間オフセットおよび前記補間された時間除去遅延を得るように前記複数の選択されたビットレートで前記補間を実行し、得られた前記補間された時間オフセットおよび前記補間された時間的除去遅延を用いて前記CPBを介して前記データストリームを前記デコーダに供給することがアンダーフローおよびオーバーフローにつながるかどうかを前記複数の選択されたビットレートのそれぞれについてチェックし、もしそうなら、異なる方法で符号化を再開し、前記第1のCPBパラメータおよび前記第2のCPBパラメータの前記予備的バージョンを修正し、または異なる方法を用いて前記補間を再開し、もし違うなら前記第1のCPBパラメータおよび前記第2のCPBパラメータを前記予備的バージョンに等しくなるよう決定する。
【0123】
第38の態様によれば、符号化ピクチャバッファ200を用いたビデオ復号化のための方法であって、ビデオ12のピクチャ16が符号化順序に沿って符号化されているデータストリーム14をアクセスユニット48のシーケンスとして受信するステップと、選択されたビットレート302を用いて前記アクセスユニット48のシーケンスを前記CPBにシーケンシャルに供給するとともに、前記符号化順序において最初のアクセスユニットについては選択された時間的除去遅延の分、及び、前記符号化順序において2番目以降のアクセスユニットについては前記選択された時間的除去遅延と選択された時間オフセットとの和の分、前倒しされた時間フレーム除去ラスタによる仮想利用可能時間にまだ到達していないアクセスユニットについては前記仮想利用可能時間に到達するまでは前記供給を停止させるステップと、前記時間ラスタ[RemovalTime]を用いて前記CPBか
ら前記AUをAU単位で除去するステップと、第1の動作点に関連する第1のCPBパラメータ300i-1と第2の動作点に関連する第2のCPBパラメータ300iとを前記データストリームから抽出するステップであって、前記第1のCPBパラメータ300i-1及び前記第2のCPBパラメータ300iの各々は、CPBサイズ、既定の時間オフセット、既定の時間的除去遅延及び既定のビットレートを示し、前記第1のCPBパラメータ300i-1は、少なくとも前記既定のビットレートに関して前記第2のCPBパラメータ300iと相違している、ステップと前記、第1のCPBパラメータ300i-1が示す前記既定の時間オフセットと前記第2のCPBパラメータ300iが示す前記既定の時間オフセットとの間を前記選択されたビットレートで補間することによって前記選択された時間オフセットを決定し、前記第1のCPBパラメータ300i-1が示す前記既定の時間的除去遅延と前記第2のCPBパラメータ300iが示す前記既定の時間的除去遅延との間を前記選択されたビットレートで補間することによって前記選択された時間的除去遅延を決定するステップと、を備える。
【0124】
第39の態様は、ビデオが符号化され、第1のCPBパラメータ及び第2のCPBパラメータを含み、第38の態様に記載の前記方法がCPBのオーバーフロー及びアンダーフローを引き起こさないようになっている。
【0125】
第40の態様によれば、データストリームにビデオを符号化するための方法であって、前記データストリームは、符号化ピクチャバッファ(CPB)を備えるデコーダに供給されることによって復号化されるものであり、前記方法は、符号化順序で符号化されたビデオのピクチャをアクセスユニット(AU)のシーケンスとしてデータストリームに符号化し、第1の動作点に関連する第1のCPBパラメータと第2の動作点に関連する第2のCPBパラメータを決定し、ここで前記第1のCPBパラメータ及び第2のCPBパラメータの各々は、CPBサイズ、既定の時間オフセット、既定の時間的除去遅延及び既定のビットレートを示し、前記第1のCPBパラメータは、少なくとも前記既定のビットレートに関して前記第2のCPBパラメータと相違し、複数の選択されたビットレートの各々において前記第1のCPBパラメータの前記既定の時間オフセットと前記第2のCPBパラメータの前記既定の時間的オフセットとの間を補間することによって、補間された時間オフセット及び補間された時間的除去遅延が生じて、それぞれの前記選択されたビットレートを使用して前記AUのシーケンスを前記CPBにシーケンシャルに供給するとともに前記符号化順序において最初のアクセスユニットについては前記補間された時間的除去遅延の分、及び、符号化順序において2番目以降のアクセスユニットについては補間された時間的除去遅延と補間された時間オフセットとの和の分、前倒しされた時間フレーム除去ラスタによる仮想利用可能時間にまだ到達していないアクセスユニットについては前記仮想利用可能時間に到達するまでは前記供給を停止し、前記時間ラスタを用いて前記CPBから前記AUをAU単位で除去して、前記データストリームを前記CPBを介して前記デコーダに供給することが、いかなるアンダーフローも、いかなるオーバーフローも引き起こさないように前記決定が実行される。
【0126】
第41の態様は、第40の態様の方法によって生成されたデータストリームを有することができる。
【0127】
本明細書において、線上の信号は、線に対する参照数字によって命名されることもあれば、線に帰属した参照数字そのものによって示されることもあることを理解されたい。したがって、ある信号を有する線がその信号そのものを示すような表記となる。線は、ハードワイヤードの実装では、物理的な線とすることができる。しかし、コンピュータによる実装では、物理的な線は存在せず、線によって表される信号が一方の計算モジュールから他方の計算モジュールに送信される。
【0128】
本発明は、ブロックが実際のまたは論理的なハードウェアコンポーネントを表すブロック図の文脈で説明されてきたが、本発明は、コンピュータに実装された方法によって実施することもできる。後者の場合、ブロックは対応する方法ステップを表し、これらのステップは対応する論理的または物理的ハードウェアブロックによって実行される機能性を表している。
【0129】
いくつかの態様は装置の文脈で説明されてきたが、これらの態様は、ブロックまたは装置が方法ステップまたは方法ステップの特徴に対応する、対応する方法の説明も表していることは明らかである。同様に、方法ステップの文脈で説明される態様は、対応するブロックまたはアイテムまたは対応する装置の特徴の説明も表す。方法ステップのいくつかまたはすべては、例えば、マイクロプロセッサ、プログラム可能なコンピュータまたは電子回路のようなハードウェア装置によって(またはそれを使用して)実行され得る。いくつかの実施形態では、最も重要な方法ステップのうちのいくつかの1つまたは複数が、そのような装置によって実行されることがある。
【0130】
本発明の送信信号または符号化信号は、デジタル記憶媒体に格納することができ、また、無線伝送媒体やインターネットなどの有線伝送媒体で送信することができる。
【0131】
特定の実装要件に応じて、本発明の実施形態は、ハードウェアまたはソフトウェアで実装することができる。実装は、デジタル記憶媒体、例えばフロッピーディスク、DVD、Blu-Ray、CD、ROM、PROM、およびEPROM、EEPROMまたはFLASHメモリであって、その上に記憶された電子的に読み取り可能な制御信号を有し、それぞれの方法が行われるようにプログラム可能なコンピュータシステムと協力する(または協力することができる)ものを使用して行うことができる。したがって、デジタル記憶媒体は、コンピュータ可読であってもよい。
【0132】
本発明によるいくつかの実施形態は、電子的に読み取り可能な制御信号を有するデータキャリアを備え、本明細書に記載される方法の1つが実行されるように、プログラム可能なコンピュータシステムと協働することが可能である。
【0133】
一般に、本発明の実施形態は、プログラムコードを有するコンピュータプログラム製品として実施することができ、プログラムコードは、コンピュータプログラム製品がコンピュータ上で実行されるときに、方法の1つを実行するために動作可能である。プログラムコードは、例えば、機械読み取り可能なキャリアに格納され得る。
【0134】
他の実施形態は、本明細書に記載された方法の1つを実行するためのコンピュータプログラムが、機械可読キャリアに格納されて構成される。
【0135】
言い換えれば、本発明方法の実施形態は、したがって、コンピュータプログラムがコンピュータ上で実行される場合、本明細書に記載された方法の1つを実行するためのプログラムコードを有するコンピュータプログラムである。
【0136】
したがって、本発明方法のさらなる実施形態は、本明細書に記載の方法の1つを実行するためのコンピュータプログラムをその上に記録してなるデータキャリア(またはデジタル記憶媒体などの非一過性の記憶媒体、またはコンピュータ読み取り可能媒体)である。データキャリア、デジタル記憶媒体、または記録媒体は、典型的には、有形および/または非一過性のものである。
【0137】
したがって、本発明方法のさらなる実施形態は、本明細書に記載の方法の1つを実行するためのコンピュータプログラムを表すデータストリームまたは信号のシーケンスである
。データストリームまたは信号のシーケンスは、例えば、データ通信接続を介して、例えば、インターネットを介して転送されるように構成され得る。
【0138】
さらなる実施形態は、本明細書に記載の方法のうちの1つを実行するように構成された、または実行するように適合された、処理手段、例えば、コンピュータまたはプログラマブルロジックデバイスを具備する。
【0139】
さらなる実施形態は、本明細書に記載された方法の1つを実行するためのコンピュータプログラムをその上にインストールしたコンピュータを具備する。
【0140】
本発明によるさらなる実施形態は、本明細書に記載の方法の1つを実行するためのコンピュータプログラムを受信機に(例えば、電子的または光学的に)転送するように構成された装置またはシステムである。受信機は、例えば、コンピュータ、モバイルデバイス、メモリデバイス等であってもよい。装置またはシステムは、例えば、コンピュータ・プログラムを受信機に転送するためのファイル・サーバを含んでいてもよい。
【0141】
いくつかの実施形態では、プログラマブルロジックデバイス(例えば、フィールドプログラマブルゲートアレイ)が、本明細書に記載の方法の機能性の一部または全部を実行するために使用されることがある。いくつかの実施形態では、フィールドプログラマブルゲートアレイは、本明細書に記載の方法の1つを実行するために、マイクロプロセッサと協働することができる。一般に、本方法は、任意のハードウェア装置によって実行されてもよい。
【0142】
上述した実施形態は、本発明の原理を単に例示するものである。本明細書に記載された配置および詳細の修正および変形は、当業者にとって明らかであることが理解される。したがって、本明細書の実施形態の説明および解説によって提示された特定の詳細によってではなく、差し迫った特許請求の範囲の範囲によってのみ制限されることが意図される。
【0143】
Reference
[1] From Sjoberg, Rickard, et al. ”Overview of HEVC high-level syntax and reference picture management” IEEE transactio
ns on Circuits and Systems for Video Technology 22.12 (2012): 1858-1870.
【外国語明細書】