(57)【特許請求の範囲】
【請求項１】
方法を実行するよう適合されたコンピューティング・デバイスであって、前記方法は、
ビデオ・シーケンスの現ピクチャの所与のアクセス・ユニットの符号化ピクチャ・バッファ引き抜き遅延（ＣＰＢＲＤ）差分値を設定するステップであって、前記現ピクチャは、前記現ピクチャに関連付けられたバッファリング期間ＳＥＩメッセージを有する、ステップと、
前記所与のアクセス・ユニットのフラグの値を設定するステップであって、
前記フラグの前記値が第１の値である場合、前記所与のアクセス・ユニットのピクチャ・タイミングＳＥＩメッセージにおけるＣＰＢＲＤ値は、復号化順で先行する第１の先行ピクチャの名目上の符号化ピクチャ・バッファ（ＣＰＢ）引き抜き時間に対する、前記現ピクチャの名目上のＣＰＢ引き抜き時間を指定したインクリメント値を示し、前記第１の先行ピクチャは、前記第１の先行ピクチャに関連付けられたバッファリング期間ＳＥＩメッセージを有し、
前記フラグの前記値が第２の値である場合、前記現ピクチャの前記名目上のＣＰＢ引き抜き時間は、復号化順で先行する第２の先行ピクチャの名目上のＣＰＢ引き抜き時間に対するインクリメント値として、前記ＣＰＢＲＤ差分値により示される、
ステップと、
前記現ピクチャに関連付けられた前記バッファリング期間ＳＥＩメッセージにおいて、前記所与のアクセス・ユニットの前記ＣＰＢＲＤ差分値及び前記フラグの前記値をシグナリングするステップと、
を含む、コンピューティング・デバイス。
【請求項２】
前記ＣＰＢＲＤ差分値は、前記ＣＰＢＲＤ差分値−１を表すシンタックス要素として、前記現ピクチャに関連付けられた前記バッファリング期間ＳＥＩメッセージにおいてシグナリングされる、請求項１記載のコンピューティング・デバイス。
【請求項３】
前記現ピクチャは、ランダム・アクセス・ピクチャである、請求項１記載のコンピューティング・デバイス。
【請求項４】
前記方法は、
前記所与のアクセス・ユニットの前記ＣＰＢＲＤ値を設定するステップと、
前記ＣＰＢＲＤ値−１を表すシンタックス要素として、前記ピクチャ・タイミングＳＥＩメッセージにおいて、前記所与のアクセス・ユニットの前記ＣＰＢＲＤ値をシグナリングするステップと、
をさらに含む、請求項１記載のコンピューティング・デバイス。
【請求項５】
コンピューティング・デバイスにおける方法であって、
ビデオ・シーケンスの符号化されたビデオを受信するステップであって、
前記ビデオ・シーケンスの現ピクチャの所与のアクセス・ユニットの符号化ピクチャ・バッファ引き抜き遅延（ＣＰＢＲＤ）差分値を受信するステップであって、前記現ピクチャは、前記現ピクチャに関連付けられたバッファリング期間ＳＥＩメッセージを有する、ステップと、
前記所与のアクセス・ユニットのフラグの値を受信するステップであって、
前記フラグの前記値が第１の値である場合、前記所与のアクセス・ユニットのピクチャ・タイミングＳＥＩメッセージにおけるＣＰＢＲＤ値は、復号化順で先行する第１の先行ピクチャの名目上の符号化ピクチャ・バッファ（ＣＰＢ）引き抜き時間に対する、前記現ピクチャの名目上のＣＰＢ引き抜き時間を指定したインクリメント値を示し、前記第１の先行ピクチャは、前記第１の先行ピクチャに関連付けられたバッファリング期間ＳＥＩメッセージを有し、
前記フラグの前記値が第２の値である場合、前記現ピクチャの前記名目上のＣＰＢ引き抜き時間は、復号化順で先行する第２の先行ピクチャの名目上のＣＰＢ引き抜き時間に対するインクリメント値として、前記ＣＰＢＲＤ差分値により示される、
ステップと、
を含むステップと、
前記符号化されたビデオを復号化するステップであって、
前記現ピクチャに関連付けられた前記バッファリング期間ＳＥＩメッセージから、前記所与のアクセス・ユニットの前記ＣＰＢＲＤ差分値及び前記フラグの前記値を解析するステップ
を含むステップと、
を含む、方法。
【請求項６】
前記ＣＰＢＲＤ差分値は、前記ＣＰＢＲＤ差分値−１を表すシンタックス要素として、前記現ピクチャに関連付けられた前記バッファリング期間ＳＥＩメッセージにおいてシグナリングされる、請求項５記載の方法。
【請求項７】
前記現ピクチャは、ランダム・アクセス・ピクチャである、請求項５記載の方法。
【請求項８】
前記符号化されたビデオを受信する前記ステップは、
前記ＣＰＢＲＤ値−１を表すシンタックス要素として、前記所与のアクセス・ユニットの前記ピクチャ・タイミングＳＥＩメッセージにおいてシグナリングされた、前記所与のアクセス・ユニットの前記ＣＰＢＲＤ値を受信するステップ
をさらに含む、請求項５記載の方法。
【請求項９】
前記所与のアクセス・ユニットの前記ＣＰＢＲＤ値を、前記第２の先行ピクチャのＣＰＢＲＤ値と前記所与のアクセス・ユニットの前記ＣＰＢＲＤ差分値とに基づく合計と比較することにより、データの損失を検出するステップ
をさらに含む、請求項８記載の方法。
【請求項１０】
コンピューティング・デバイスに方法を実行させるコンピュータ・プログラムであって、前記方法は、
第１ビデオ・シーケンスの第１ビットストリームの少なくとも一部分を受信するステップと、
現ピクチャを含む第２ビデオ・シーケンスの第２ビットストリームの少なくとも一部分を受信するステップであって、前記現ピクチャは、前記現ピクチャに関連付けられたバッファリング期間ＳＥＩメッセージを有し、前記バッファリング期間ＳＥＩメッセージは、
前記現ピクチャの所与のアクセス・ユニットの符号化ピクチャ・バッファ引き抜き遅延（ＣＰＢＲＤ）差分値と、
前記所与のアクセス・ユニットのフラグの値であって、
前記フラグの前記値が第１の値である場合、前記所与のアクセス・ユニットのピクチャ・タイミングＳＥＩメッセージにおけるＣＰＢＲＤ値は、復号化順で先行する第１の先行ピクチャの名目上の符号化ピクチャ・バッファ（ＣＰＢ）引き抜き時間に対する、前記現ピクチャの名目上のＣＰＢ引き抜き時間を指定したインクリメント値を示し、前記第１の先行ピクチャは、前記第１の先行ピクチャに関連付けられたバッファリング期間ＳＥＩメッセージを有し、
前記フラグの前記値が第２の値である場合、前記現ピクチャの前記名目上のＣＰＢ引き抜き時間は、復号化順で先行する第２の先行ピクチャの名目上のＣＰＢ引き抜き時間に対するインクリメント値として、前記ＣＰＢＲＤ差分値により示される、
フラグの値と、
を含む、ステップと、
前記第２ビデオ・シーケンスの少なくとも一部を、前記第１ビデオ・シーケンスの少なくとも一部にスプライシングするステップであって、
前記所与のアクセス・ユニットで始まる前記第２ビデオ・シーケンスの前記少なくとも一部を、前記第１ビデオ・シーケンスの前記少なくとも一部に連結するステップ
を含むステップと、
を含む、コンピュータ・プログラム。
【発明の詳細な説明】
【背景技術】
【０００１】
エンジニアは、デジタル・ビデオのビット・レートを低減させるために、圧縮（ソース符号化とも呼ばれる）を使用する。圧縮は、ビデオ情報をより低いビット・レート形式に変換することにより、ビデオ情報を記憶して伝送するコストを低減させる。伸張（復号化とも呼ばれる）は、圧縮形式からオリジナル情報のバージョンを再構築する。「コーデック」はエンコーダ／デコーダ・システムである。
【０００２】
ここ２０年の間、ＩＴＵ−Ｔ  Ｈ．２６１規格、Ｈ．２６２（ＭＰＥＧ−２又はＩＳＯ／ＩＥＣ  １３８１８−２）規格、Ｈ．２６３規格、及びＨ．２６４（ＭＰＥＧ−４  ＡＶＣ又はＩＳＯ／ＩＥＣ  １４４９６−１０）規格、並びに、ＭＰＥＧ−１（ＩＳＯ／ＩＥＣ  １１１７２−２）規格、ＭＰＥＧ−４  Ｖｉｓｕａｌ（ＩＳＯ／ＩＥＣ  １４４９６−２）規格、及びＳＭＰＴＥ  ４２１Ｍ（ＶＣ−１）規格を含む様々なビデオ・コーデック規格が採用されてきた。より最近では、ＨＥＶＣ（ＩＴＵ−Ｔ  Ｈ．２６５又はＩＳＯ／ＩＥＣ  ２３００８−２）規格を策定中である。ビデオ・コーデック規格は、通常、特定の機能が符号化及び復号化において使用されるときの、符号化ビデオ・ビットストリームのシンタックスのためのオプション、ビットストリームにおける詳細パラメータを定義している。多くの場合、ビデオ・コーデック規格はまた、デコーダが復号化において整合する結果を達成するために実行すべき復号化オペレーションに関する詳細を提供している。コーデック規格とは別に、様々なプロプライエタリ・コーデック・フォーマット（proprietary  codec  format）が、符号化ビデオ・ビットストリームのシンタックスのための他のオプション及び対応する復号化オペレーションを定義している。
【０００３】
符号化ビデオ・ビットストリームにおける１つのタイプのパラメータは、符号化ピクチャ・バッファ引き抜き遅延（「ＣＰＢＲＤ（coded  picture  buffer  removal  delay）」）である。一般に、所与のピクチャのＣＰＢＲＤ値は、デコーダにおいて、そのピクチャに関連付けられた符号化データがバッファから引き抜かれることになる名目上の時間（nominal  time）を規定する。ピクチャの符号化データが、正確な時間に引き抜かれる場合、オペレーションの通常モードに従うと、デコーダ・バッファは、オーバーフローしない（これは、符号化データの損失を生じさせることがある）、あるいは、アンダーフローしない（これは、「グリッチ（glitching）」又は連続的再生の他の中断をもたらす場合がある）。低遅延モードでは、アンダーフローは、いくつかの状況において許容されるが、（放送（broadcasting）のために通常使用されるような）非低遅延モードの下では、バッファ・アンダーフローは許容されない。従来から仮想リファレンス・デコーダ（「ＨＲＤ（hypothetical  reference  decoder）」）又はビデオ・バッファリング確認器（「ＶＢＶ（video  buffering  verifier）」と呼ばれているバッファ・モデルは、ＣＰＢＲＤ値と、レート値、バッファ・サイズ値、及びバッファ・フルネス値又は（再生が開始する前の）初期バッファリング遅延値等の他のパラメータと、を使用して、復号化システムのバッファリング・リソース内でビットストリームを復号化できることを確認し、デコーダが復号化プロセスのオペレーションのタイミング及びステップを判定するのを助ける。
【０００４】
多くのコンテキストにおいて、異なるビデオ・シーケンスのビットストリームは、一緒にスプライシングされる。例えば、そのようなスプライシングを使用して、テレビ番組にコマーシャル又は一連のコマーシャルを挿入することができる、あるいは、異なるテレビ番組間を切り替えることができる。ＣＰＢＲＤ値をシグナリングする既存の手法は、ＣＰＢＲＤ値を調整してスプライシングを考慮するために、スプライシング中の面倒且つ潜在的に困難なオペレーションをもたらすことがある。別の問題は、２つのソース・ストリームが独立したＨＲＤ準拠のものであり得るが、スプライシング後、結果として生じるスプライシング・ストリームがＨＲＤ準拠のものであると保障されない、ことである。
【発明の概要】
【０００５】
要約すると、詳細な説明は、スプライシング・オペレーションを単純化する、符号化ピクチャ・バッファ引き抜き遅延（「ＣＰＢＲＤ」）値のシンタックス及び／又はセマンティックスにおけるイノベーションを提供する。詳細には、このイノベーションは、所定のピクチャのＣＰＢＲＤ値をシグナリングする新たな方法により、スプライシング・オペレーションをサポートする。ここで、１つのビデオ・シーケンスのビットストリーム又はビットストリームの一部分が、別のビデオ・シーケンスの別のビットストリーム又は別のビットストリームの一部分に連結されるときに、そのようなＣＰＢＲＤ値を単に再使用することができる。
【０００６】
本明細書で説明するイノベーションの一態様に従うと、ビデオ・エンコーダ又は他のツールは、ビデオ・シーケンスの所与のピクチャのＣＰＢＲＤ値を設定する。所与のピクチャのＣＰＢＲＤ値は、復号化順で先行するピクチャがバッファリング期間付加拡張情報（「ＢＰ  ＳＥＩ（buffering  period  supplemental  enhancement  information）」）メッセージを有しているかどうかにかかわらず、その先行するピクチャの名目上の符号化ピクチャ・バッファ（「ＣＰＢ」）引き抜き時間に対するインクリメント値（increment  value）を示す。エンコーダ又は他のツールは、次いで、所与のピクチャのＣＰＢＲＤ値をシグナリングする。ＣＰＢＲＤ値は、フラグがＣＰＢＲＤ値をどのように解釈するかを示す単一値手法（single-value  approach）に従ってシグナリングされてもよいし、（別の解釈を有する）別のＣＰＢＲＤ値もシグナリングされる２値手法（two-value  approach）に従ってシグナリングされてもよいし、フラグ及び差分値（delta  value）を使用する２値手法に従ってシグナリングされてもよいし、あるいは、別の手法に従ってシグナリングされてもよい。
【０００７】
本明細書で説明するイノベーションの別の態様に従うと、ビデオ・デコーダ又は他のツールは、ビデオ・シーケンスの所与のピクチャのＣＰＢＲＤ値を受信する。所与のピクチャのＣＰＢＲＤ値は、復号化順で先行するピクチャがＢＰ  ＳＥＩメッセージを有しているかどうかにかかわらず、その先行するピクチャの名目上のＣＰＢ引き抜き時間に対するインクリメント値を示す。ビデオ・デコーダ又は他のツールは、次いで、所与のピクチャのＣＰＢＲＤ値を解析する。ＣＰＢＲＤ値は、フラグがＣＰＢＲＤ値をどのように解釈するかを示す単一値手法に従ってシグナリングされてもよいし、（別の解釈を有する）別のＣＰＢＲＤ値もシグナリングされる２値手法に従ってシグナリングされてもよいし、フラグ及び差分値を使用する２値手法に従ってシグナリングされてもよいし、あるいは、別の手法に従ってシグナリングされてもよい。
【０００８】
本明細書で説明するイノベーションの別の態様に従うと、スプライシング・ツールは、第１ビデオ・シーケンスの第１ビットストリームの少なくとも一部分を受信するとともに、第２ビデオ・シーケンスの第２ビットストリームの少なくとも一部分を受信する。第２ビデオ・シーケンスの所与のピクチャのＣＰＢＲＤ値は、復号化順で先行するピクチャがＢＰ  ＳＥＩメッセージを有しているかどうかにかかわらず、その先行するピクチャの名目上のＣＰＢ引き抜き時間に対するインクリメント値を示す。スプライシング・ツールは、第２ビデオ・シーケンスの少なくとも一部分を、第１ビデオ・シーケンスの少なくとも一部分にスプライシングする。スプライシングの一部として、スプライシング・ツールは、所与のピクチャで始まる第２ビデオ・シーケンスの全て又は一部を、第１ビデオ・シーケンスの少なくとも一部に連結する。ＣＰＢＲＤ値は、フラグがＣＰＢＲＤ値をどのように解釈するかを示す単一値手法に従ってシグナリングされてもよいし、（別の解釈を有する）別のＣＰＢＲＤ値もシグナリングされる２値手法に従ってシグナリングされてもよいし、フラグ及び差分値を使用する２値手法に従ってシグナリングされてもよいし、あるいは、別の手法に従ってシグナリングされてもよい。
【０００９】
符号化、復号化、又はスプライシングは、方法の一部として、方法を実行するよう適合されたコンピューティング・デバイスの一部として、又は、コンピューティング・デバイスに方法を実行させるコンピュータ実行可能命令を記憶した有体のコンピュータ読み取り可能媒体の一部として実施され得る。
【００１０】
本発明の前述の目的及び他の目的、特徴、並びに利点が、添付の図面を参照しながら進む以下の詳細な説明からより明らかになるであろう。
【図面の簡単な説明】
【００１１】
【図１】いくつかの説明する実施形態を実装することができる例示的なコンピューティング・システムの図。
【図２ａ】いくつかの説明する実施形態を実装することができる例示的なネットワーク環境の図。
【図２ｂ】いくつかの説明する実施形態を実装することができる例示的なネットワーク環境の図。
【図３】いくつかの説明する実施形態を協働して実装することができる例示的なエンコーダ・システムの図。
【図４】いくつかの説明する実施形態を協働して実装することができる例示的なデコーダ・システムの図。
【図５】いくつかの説明する実施形態を協働して実装することができる例示的なビデオ・エンコーダを示す図。
【図６】いくつかの説明する実施形態を協働して実装することができる例示的なビデオ・デコーダを示す図。
【図７】ＣＰＢＲＤ値を調整する従来手法に従ったスプライシング・オペレーションを示す図。
【図８】ＣＰＢＲＤ値をシグナリングする単一値手法のためのシンタックスを示すテーブル。
【図９】ＣＰＢＲＤ値をシグナリングする単一値手法のためのシンタックスを示すテーブル。
【図１０】２つのビットストリームがスプライシングされるときのバッファ・フルネスを示すチャート。
【図１１】フラグ及び差分値を使用する、ＣＰＢＲＤ値をシグナリングする２値手法のためのシンタックスを示すテーブル。
【図１２】ビデオ・スプライシングを単純化する、符号化中にＣＰＢＲＤ値を設定するための一般化された技術を示すフローチャート。
【図１３】単一値手法に従って、ビデオ・スプライシングを単純化する、符号化中にＣＰＢＲＤ値を設定するための例示的な技術を示すフローチャート。
【図１４】復号化中にＣＰＢＲＤ値を処理するための一般化された技術を示すフローチャート。
【図１５】単一値手法に従って、復号化中にＣＰＢＲＤ値を判定するための例示的な技術を示すフローチャート。
【図１６】ビットストリームをスプライシングするための一般化された技術を示すフローチャート。
【図１７】フラグ及び差分値を使用する２値手法に従って、ビデオ・スプライシングを単純化する、符号化中にＣＰＢＲＤ値を設定するための例示的な技術を示すフローチャート。
【図１８】フラグ及び差分値を使用する２値手法に従って、復号化中にＣＰＢＲＤ値を判定するための例示的な技術を示すフローチャート。
【発明を実施するための形態】
【００１２】
詳細な説明は、符号化ピクチャ・バッファ引き抜き遅延（「ＣＰＢＲＤ」）値のシンタックス及び／又はセマンティックスを調整することにより、スプライシング・オペレーションのサポートを向上させる様々な手法を提供する。多くの場合、これらの手法は、従来の手法の欠点を軽減させる。詳細には、詳細な説明は、ＨＥＶＣ規格又はＨ．２６４／ＡＶＣ規格における複数のタイプの付加拡張情報（「ＳＥＩ」）メッセージにおいてシグナリングされるＣＰＢＲＤ値のシンタックス及びセマンティックスのためのイノベーションを提供する。様々な例において、バッファリング期間ＳＥＩ（「ＢＰ  ＳＥＩ」）メッセージ及び／又はピクチャ・タイミングＳＥＩ（「ＰＴ（picture  timing）  ＳＥＩ」）メッセージのシンタックス及び／又はセマンティックスが、スプライシング・オペレーションを容易にするよう調整される。
【００１３】
本明細書で説明するオペレーションは、エンコーダ（例えば、ビデオ・エンコーダ）、デコーダ（例えば、ビデオ・デコーダ）、又はスプライシング・ツール（例えば、ビデオ・スプライシング・ツール）により実行されるものとして所々で説明されるが、多くの場合、このようなオペレーションは、代替的に、別のタイプのメディア処理ツールにより実行することができる。
【００１４】
本明細書で説明するイノベーションのいくつかは、ＨＥＶＣ規格に固有のシンタックス要素及びオペレーションを参照して示される。例えば、ＨＥＶＣ規格のドラフト・バージョンＪＣＴＶＣ−Ｋ１００３（２０１２年１０月１０日〜１９日に上海で開催された第１１回会合の”High  Efficiency  Video  Coding  (HEVC)  text  specification  draft  9”,  JCTVC-K1003_d13）を参照する。本明細書で説明するイノベーションはまた、例えば、Ｈ．２６４／ＡＶＣ規格といった他の規格又はフォーマットのためにも実装することができる。
【００１５】
より一般的に、本明細書で説明する例に対する様々な代替例が可能である。例えば、本明細書で説明する方法のいくつかは、例えば、説明する方法動作の順番を変えることにより、所定の方法動作を分けることにより、所定の方法動作を繰り返すことにより、又は所定の方法動作を省略することにより、変更することができる。開示する技術の様々な態様が、組み合わせることにより、又は別々に使用され得る。様々な実施形態が、説明するイノベーションのうちの１以上を使用する。本明細書で説明するイノベーションのいくつかは、背景技術において記した問題のうちの１以上に対処する。一般的に、所与の技術／ツールが、そのような問題の全てを解決するわけではない。
【００１６】
Ｉ．例示的なコンピューティング・システム
図１は、説明するイノベーションのいくつかを実装することができる適切なコンピューティング・システム（１００）の一般化された例を示している。コンピューティング・システム（１００）は、使用又は機能の範囲に関して限定を示唆するよう意図するものではない。というのは、このイノベーションは、多様な汎用コンピューティング・システム又は専用コンピューティング・システムにおいて実施することができるからである。
【００１７】
図１を参照すると、コンピューティング・システム（１００）は、１以上の処理装置（１１０、１１５）及びメモリ（１２０、１２５）を含む。処理装置（１１０、１１５）はコンピュータ実行可能命令を実行する。処理装置は、汎用中央処理装置（「ＣＰＵ」）、特定用途向け集積回路（「ＡＳＩＣ」）におけるプロセッサ、又は任意の他のタイプのプロセッサとすることができる。マルチ処理システムにおいて、複数の処理装置が、処理能力を増大させるために、コンピュータ実行可能命令を実行する。例えば、図１は、中央処理装置（１１０）に加えて、グラフィックス処理装置又は共処理装置（１１５）も示している。有体のメモリ（１２０、１２５）は、１以上の処理装置によりアクセス可能な、揮発性メモリ（例えば、レジスタ、キャッシュ、ＲＡＭ）であってもよいし、不揮発性メモリ（例えば、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュ・メモリ等）であってもよいし、それら２つの何らかの組合せであってもよい。メモリ（１２０、１２５）は、１以上の処理装置による実行に適したコンピュータ実行可能命令の形態で、ビデオ・スプライシングを単純化する、ＣＰＢＲＤ値のためのシンタックス及びセマンティックスによるビデオの符号化、復号化、及び／又はスプライシングのための１以上のイノベーションを実装するソフトウェア（１８０）を記憶する。
【００１８】
コンピューティング・システムは追加の特徴を有することができる。例えば、コンピューティング・システム（１００）は、ストレージ（１４０）、１以上の入力デバイス（１５０）、１以上の出力デバイス（１６０）、及び１以上の通信コネクション（１７０）を含む。バス、コントローラ、又はネットワーク等の相互接続機構（図示せず）が、コンピューティング・システム（１００）のコンポーネントを相互接続する。通常、オペレーティング・システム・ソフトウェア（図示せず）が、コンピューティング・システム（１００）において実行される他のソフトウェアのための動作環境を提供し、コンピューティング・システム（１００）のコンポーネントの動作を調整する。
【００１９】
有体のストレージ（１４０）は、取り外し可能であっても取り外し不可能であってもよく、磁気ディスク、磁気テープ若しくは磁気カセット、ＣＤ−ＲＯＭ、ＤＶＤ、又は、情報を記憶するために使用することができ、コンピューティング・システム（１００）内でアクセスされ得る任意の他の媒体を含む。ストレージ（１４０）は、ビデオ・スプライシングを単純化する、ＣＰＢＲＤ値のためのシンタックス及びセマンティックスによるビデオの符号化、復号化、及び／又はスプライシングのための１以上のイノベーションを実装するソフトウェア（１８０）の命令を記憶する。
【００２０】
１以上の入力デバイス（１５０）は、キーボード、マウス、ペン、若しくはトラックボール等のタッチ入力デバイス、音声入力デバイス、スキャニング・デバイス、又はコンピューティング・システム（１００）に入力を提供する別のデバイスとすることができる。ビデオ符号化に関して、１以上の入力デバイス（１５０）は、カメラ、ビデオ・カード、ＴＶチューナ・カード、若しくはアナログ形態あるいはデジタル形態でビデオ入力を受信する同様のデバイス、又はビデオ入力をコンピューティング・システム（１００）に読み込むＣＤ−ＲＯＭあるいはＣＤ−ＲＷとすることができる。１以上の出力デバイス（１６０）は、ディスプレイ、プリンタ、スピーカ、ＣＤライタ、又はコンピューティング・システム（１００）からの出力を提供する別のデバイスとすることができる。
【００２１】
１以上の通信コネクション（１７０）は、通信媒体を介した別のコンピューティング・エンティティへの通信を可能にする。通信媒体は、変調されたデータ信号により、コンピュータ実行可能命令、オーディオ入力、ビデオ入力、オーディオ出力、ビデオ出力、又は他のデータ等の情報を伝達する。変調されたデータ信号とは、信号内の情報を符号化するように設定又は変更された特性のうちの１以上を有する信号である。例えば、通信媒体は、電気信号、光信号、ＲＦ、又は他のキャリアを使用することができるが、これらに限定されるものではない。
【００２２】
イノベーションは、コンピュータ読み取り可能媒体の一般的なコンテキストにおいて説明することができる。コンピュータ読み取り可能媒体は、コンピューティング環境内でアクセスされ得る任意の利用可能な有体の媒体である。例えば、コンピューティング・システム（１００）において、コンピュータ読み取り可能媒体は、メモリ（１２０、１２５）、ストレージ（１４０）、及びそれらの組合せを含むが、これらに限定されるものではない。
【００２３】
イノベーションは、コンピュータ実行可能命令の一般的なコンテキストにおいて説明することができる。コンピュータ実行可能命令は、例えば、プログラム・モジュールに含まれ、コンピューティング・システムにおいて、ターゲット実プロセッサ又は仮想プロセッサ上で実行される。一般に、プログラム・モジュールは、特定のタスクを実行する、あるいは特定の抽象データ型を実装するルーチン、プログラム、ライブラリ、オブジェクト、クラス、コンポーネント、データ構造等を含む。プログラム・モジュールの機能は、様々な実施形態において、必要に応じて、組み合わされてもよいし、プログラム・モジュール間で分割されてもよい。プログラム・モジュールのコンピュータ実行可能命令は、ローカル・コンピューティング・システム又は分散コンピューティング・システム内で実行され得る。
【００２４】
「システム」及び「デバイス」という語は、本明細書において置き換え可能に使用される。文脈が別途明確に示さない限り、これらの語は、コンピューティング・システム又はコンピューティング・デバイスのタイプに関して、いかなる限定も示すものではない。一般に、コンピューティング・システム又はコンピューティング・デバイスは、ローカルであってもよいし、分散されてもよく、専用ハードウェア及び／又は汎用ハードウェアと、本明細書で説明する機能を実装するソフトウェアと、の任意の組合せを含み得る。
【００２５】
開示する方法は、開示する方法のいずれかを実行するよう構成された専用コンピューティング・ハードウェアを用いて実装することもできる。例えば、開示する方法は、開示する方法のいずれかを実行するよう特別に設計又は構成された集積回路（例えば、特定用途向け集積回路（「ＡＳＩＣ」）（例えば、ＡＳＩＣデジタル信号処理装置（「ＤＳＰ」））、グラフィックス処理装置（「ＧＰＵ」）、又はフィールド・プログラマブル・ゲート・アレイ（「ＦＰＧＡ」）等のプログラマブル・ロジック・デバイス（「ＰＬＤ」）等）により実装することができる。
【００２６】
プレゼンテーションの目的上、詳細な説明では、コンピューティング・システムにおけるコンピュータ・オペレーションを説明するための「決定する」及び「使用する」のような語が使用される。これらの語は、コンピュータにより実行されるオペレーションの高レベル抽象表現であって、人間により実行される動作と混同すべきではない。これらの語に対応する実際のコンピュータ・オペレーションは、実装に応じて変化する。
【００２７】
ＩＩ．例示的なネットワーク環境
図２ａ及び図２ｂは、ビデオ・エンコーダ（２２０）及びビデオ・デコーダ（２７０）を含む例示的なネットワーク環境（２０１、２０２）を示している。エンコーダ（２２０）及びデコーダ（２７０）は、適切な通信プロトコルを用いて、ネットワーク（２５０）を介して接続される。ネットワーク（２５０）は、インターネット又は別のコンピュータ・ネットワークを含み得る。
【００２８】
図２ａに示されるネットワーク環境（２０１）において、各リアルタイム通信（「ＲＴＣ」）ツール（２１０）は、双方向通信のためのエンコーダ（２２０）及びデコーダ（２７０）の両方を含む。所与のエンコーダ（２２０）は、ＳＭＰＴＥ  ４２１Ｍ規格、ＩＳＯ／ＩＥＣ  １４４９６−１０規格（Ｈ．２６４又はＡＶＣとしても知られている）、ＨＥＶＣ規格（Ｈ．２６５としても知られている）、別の規格、又はプロプライエタリ・フォーマットに準拠する出力を生成することができ、対応するデコーダ（２７０）は、エンコーダ（２２０）から符号化データを受信することができる。双方向通信は、ビデオ会議、ビデオ通話、又は他の２パーティ若しくはマルチパーティの通信シナリオの一部であり得る。図２ａのネットワーク環境（２０１）は、２つのリアルタイム通信ツール（２１０）を含むが、ネットワーク環境（２０１）は、マルチパーティ通信に参加する３以上のリアルタイム通信ツール（２１０）を含んでもよい。
【００２９】
リアルタイム通信ツール（２１０）は、エンコーダ（２２０）による符号化を管理する。図３は、リアルタイム通信ツール（２１０）に含まれ得る例示的なエンコーダ・システム（３００）を示している。代替的に、リアルタイム通信ツール（２１０）は、別のエンコーダ・システムを使用してもよい。リアルタイム通信ツール（２１０）はまた、デコーダ（２７０）による復号化も管理する。図４は、リアルタイム通信ツール（２１０）に含まれ得る例示的なデコーダ・システム（４００）を示している。代替的に、リアルタイム通信ツール（２１０）は、別のデコーダ・システムを使用してもよい。
【００３０】
図２ｂに示されるネットワーク環境（２０２）において、符号化ツール（２１２）は、デコーダ（２７０）を含む複数の再生ツール（２１４）に伝送するためのビデオを符号化するエンコーダ（２２０）を含む。一方向通信は、ビデオが符号化されて１つのロケーションから１以上の他のロケーションに送信される、ビデオ監視システム、ウェブ・カメラ・モニタリング・システム、リモート・デスクトップ会議プレゼンテーション、又は他のシナリオのために提供され得る。図２ｂのネットワーク環境（２０２）は、２つの再生ツール（２１４）を含むが、ネットワーク環境（２０２）は、それより多い又はそれより少ない再生ツール（２１４）を含んでもよい。一般に、再生ツール（２１４）は、再生ツール（２１４）が受信するビデオのストリームを判定するために、符号化ツール（２１２）と通信する。再生ツール（２１４）は、ストリームを受信し、適切な期間の間受信した符号化データをバッファし、復号化及び再生を開始する。
【００３１】
図３は、符号化ツール（２１２）に含まれ得る例示的なエンコーダ・システム（３００）を示している。代替的に、符号化ツール（２１２）は、別のエンコーダ・システムを使用してもよい。符号化ツール（２１２）はまた、１以上の再生ツール（２１４）との接続を管理するためのサーバ・サイド・コントローラ・ロジックも含み得る。図４は、再生ツール（２１４）に含まれ得る例示的なデコーダ・システム（４００）を示している。代替的に、再生ツール（２１４）は、別のデコーダ・システムを使用してもよい。再生ツール（２１４）はまた、符号化ツール（２１２）との接続を管理するためのクライアント・サイド・コントローラ・ロジックも含み得る。
【００３２】
図２ａに示されるネットワーク環境（２０１）は、複数のエンコーダを有する複数のＲＴＣツールを含み得る。図２ｂに示されるネットワーク環境（２０２）は、複数のエンコーダを有する複数の符号化ツールを含み得る。そのような複数のエンコーダは、スプライシング・ツールにより単一のビットストリームにスプライシングされる複数の出力ビットストリームを生成することができる。あるいは、１つのエンコーダが、スプライシング・ツールにより単一のビットストリームにスプライシングされる複数のビットストリームを生成してもよい。
【００３３】
ＩＩＩ．例示的なエンコーダ・システム
図３は、いくつかの説明する実施形態を協働して実装することができる例示的なエンコーダ・システム（３００）のブロック図である。エンコーダ・システム（３００）は、リアルタイム通信のための低レイテンシ符号化モード、トランスコーディング・モード、及びファイル又はストリームから再生のためのメディアを生成するためのより高いレイテンシの符号化モード等の複数の符号化モードのうちいずれかで動作することができる汎用符号化ツールであってもよいし、そのような１つの符号化モードのために適合された専用符号化ツールであってもよい。エンコーダ・システム（３００）は、オペレーティング・システム・モジュールとして、アプリケーション・ライブラリの一部として、又はスタンドアロン・アプリケーションとして、実装することができる。概して、エンコーダ・システム（３００）は、ビデオ・ソース（３１０）から、一連のソース・ビデオ・フレーム（３１１）を受信し、チャネル（３９０）への出力として符号化データを生成する。チャネルに出力される符号化データは、ピクチャのＣＰＢＲＤ値を示すシンタックス要素に加えて、ＣＰＢＲＤ値がどのように解釈されるべきであるかを示すシンタックス要素も含み得る。
【００３４】
ビデオ・ソース（３１０）は、カメラ、チューナ・カード、記憶媒体、又は他のデジタル・ビデオ・ソースとすることができる。ビデオ・ソース（３１０）は、例えば、毎秒３０フレームといったフレーム・レートで一連のビデオ・フレームを生成する。本明細書で使用されるとき、「フレーム」という語は、一般に、ソースの符号化された又は再構築された画像データを指す。プログレッシブ・スキャン・ビデオでは、フレームはプログレッシブ・スキャン・ビデオ・フレームである。インターレース・ビデオでは、例示的な実施形態において、インターレース・ビデオ・フレームは、符号化の前にインターレース解除される（de-interlaced）。代替的に、２つの相補的インターレース・ビデオ・フィールドが、単一のビデオ・フレームとして一緒に符号化されてもよいし、２つの別々に符号化されたフィールドとして符号化されてもよい。プログレッシブ・スキャン・ビデオ・フレーム又はインターレース・スキャン・ビデオ・フレームを示すかは別にして、「フレーム」又は「ピクチャ」という語は、単一の対でないビデオ・フィールド、相補的な一対のビデオ・フィールド、所与の時間におけるビデオ・オブジェクトを表すビデオ・オブジェクト・プレーン、又はより大きな画像における関心領域を示し得る。ビデオ・オブジェクト・プレーン又は領域は、シーンの複数のオブジェクト又は領域を含むより大きな画像の一部であり得る。
【００３５】
到着ソース・フレーム（３１１）は、複数のフレーム・バッファ記憶領域（３２１、３２２、．．．、３２ｎ）を含むソース・フレーム一時メモリ記憶領域（３２０）に記憶される。フレーム・バッファ（３２１、３２２等）は、ソース・フレーム記憶領域（３２０）内で１つのソース・フレームを保持する。ソース・フレーム（３１１）のうちの１以上がフレーム・バッファ（３２１、３２２等）に記憶された後、フレーム・セレクタ（３３０）が、ソース・フレーム記憶領域（３２０）から個々のソース・フレームを選択する。エンコーダ（３４０）への入力のためにフレーム・セレクタ（３３０）によりフレームが選択される順番は、ビデオ・ソース（３１０）によりフレームが生成される順番とは異なり得る。例えば、いくつかの後続のフレームをまず符号化することを可能とし、次いで、一時的に後方予測を容易にするために、いくつかのフレームの符号化は、遅延され得る。エンコーダ（３４０）の前に、エンコーダ・システム（３００）は、符号化の前に選択されたフレーム（３３１）の前処理（例えば、フィルタリング）を実行するプリ・プロセッサ（図示せず）を含み得る。前処理はまた、プライマリ成分（例えば、ルマ）及びセカンダリ成分（例えば、赤色のクロマ差及び青色のクロマ差）への色空間変換と、符号化のための（例えば、クロマ成分の空間解像度を低減させる）再サンプリング処理と、を含み得る。
【００３６】
エンコーダ（３４０）は、符号化フレーム（３４１）を生成するために、選択されたフレーム（３３１）を符号化するとともに、メモリ管理制御操作（「ＭＭＣＯ」）信号（３４２）又は参照ピクチャ・セット（「ＲＰＳ」）情報を生成する。現フレームが、符号化された最初のフレームではない場合、符号化プロセスを実行するとき、エンコーダ（３４０）は、復号化フレーム一時メモリ記憶領域（３６０）に記憶された１以上の以前に符号化／復号化されたフレーム（３６９）を使用することができる。そのような記憶された復号化フレーム（３６９）は、現ソース・フレーム（３３１）のコンテンツのフレーム間予測のための参照フレームとして使用される。ＭＭＣＯ／ＲＰＳ情報（３４２）は、どの再構築フレームが参照フレームとして使用され得るかをデコーダに示すものであり、したがって、フレーム記憶領域に記憶されるべきである。
【００３７】
一般に、エンコーダ（３４０）は、動き推定及び動き補償、周波数変換、量子化、並びにエントロピ符号化等の符号化タスクを実行する複数の符号化モジュールを含む。エンコーダ（３４０）により実行される正確なオペレーションは、圧縮フォーマットに応じて変わり得る。出力される符号化データのフォーマットは、Ｗｉｎｄｏｗｓ（登録商標）  Ｍｅｄｉａ  Ｖｉｄｅｏフォーマット、ＶＣ−１フォーマット、ＭＰＥＧ−ｘフォーマット（例えば、ＭＰＥＧ−１、ＭＰＥＧ−２、又はＭＰＥＧ−４）、Ｈ．２６ｘフォーマット（例えば、Ｈ．２６１、Ｈ．２６２、Ｈ．２６３、Ｈ．２６４）、ＨＥＶＣフォーマット、又は他のフォーマットであり得る。
【００３８】
例えば、エンコーダ（３４０）において、フレーム間符号化された予測フレームが、参照フレームからの予測の観点で表される。動き推定部が、１以上の参照フレーム（３６９）に関して、ソース・フレーム（３３１）のサンプルのセットの動きを推定する。サンプルのセットは、（例えば、Ｈ．２６４規格における）マクロブロック、サブマクロブロック、又はサブマクロブロック・パーティションであってもよいし、（例えば、ＨＥＶＣ規格における）符号化ツリー・ユニット又は予測ユニットであってもよい。一般に、本明細書で使用されるとき、「ブロック」という語は、サンプルのセットを示し、これは、単一の２次元（「２Ｄ」）アレイであってもよいし、複数の２Ｄアレイ（例えば、１つのアレイはルマ成分のためのものであり、２つのアレイはクロマ成分のためのものである）であってもよい。複数の参照フレームが使用される場合、複数の参照フレームは、異なる時間的方向からのものであってもよいし、同じ時間的方向からのものであってもよい。動き推定部は、エントロピ符号化される動きベクトル情報等の動き情報を出力する。動き補償部は、フレーム間予測のための動き補償予測値を決定するために、動きベクトルを参照フレームに適用する。エンコーダは、ブロックの動き補償予測値と対応するオリジナルの値との間の差（あれば）を決定する。このような予測残差値が、周波数変換、量子化、及びエントロピ符号化を用いて、さらに符号化される。例えば、エンコーダ（３４０）は、ピクチャ、スライス、及び／又はビデオの他の部分のためのルマ量子化パラメータ（「ＱＰ」）及びクロマＱＰの値を設定し、それに従って変換係数を量子化する。同様に、フレーム内予測では、エンコーダ（３４０）は、ブロックに関するイントラ予測値を決定し、予測残差値を決定し、（周波数変換、量子化、及びエントロピ符号化を用いて）予測残差値を符号化することができる。詳細には、エンコーダ（３４０）のエントロピ符号化部が、量子化された変換係数値に加えて、所定のサイド情報（例えば、動きベクトル情報、ＱＰ値、モード決定、パラメータ選択）も圧縮する。一般的なエントロピ符号化技術は、指数ゴロム符号化、ゴロム−ライス符号化、算術符号化、差分符号化、ハフマン符号化、ラン・レングス符号化、「Ｖ２Ｖ（variable-length-to-variable-length）」符号化、「Ｖ２Ｆ（variable-length-to-fixed-length）」符号化、「ＬＺ（Lempel-Ziv）」符号化、辞書符号化、「ＰＩＰＥ（probability  interval  partitioning  entropy）」符号化、及びこれらの組合せを含む。エントロピ符号化部は、様々な種類の情報のための様々な符号化技術を使用することができ、複数の技術を組み合わせて適用することができ（例えば、ゴロム−ライス符号化に続いて算術符号化を適用することにより）、特定の符号化技術における複数の符号テーブルの中から選択することができる。
【００３９】
符号化フレーム（３４１）及びＭＭＣＯ／ＲＰＳ情報（３４２）（又は、ＭＭＣＯ／ＲＰＳ情報（３４２）と同等の情報、なぜならば、フレームの依存関係及び順序構造がエンコーダ（３４０）において既に知られているので）が、復号化プロセス・エミュレータ（３５０）により処理される。復号化プロセス・エミュレータ（３５０）は、例えば、動き推定及び動き補償においてエンコーダ（３４０）により使用される参照フレームを再構築する復号化タスク等のデコーダの機能の一部を実装している。ＭＭＣＯ／ＲＰＳ情報（３４２）と整合する形で、復号化プロセス・エミュレータ（３５０）は、所与の符号化フレーム（３４１）が、符号化される後続フレームのフレーム間予測において参照フレームとして使用するために再構築されて記憶される必要があるかどうかを判定する。符号化フレーム（３４１）が記憶される必要がある場合、復号化プロセス・エミュレータ（３５０）は、符号化フレーム（３４１）を受信して対応する復号化フレーム（３５１）を生成するデコーダにより行われるであろう復号化プロセスをモデル化する。そうする場合、エンコーダ（３４０）が、復号化フレーム記憶領域（３６０）に記憶された１以上の復号化フレーム（３６９）を使用したとき、復号化プロセス・エミュレータ（３５０）は、復号化プロセスの一部として、記憶領域（３６０）から１以上の復号化フレーム（３６９）を使用する。
【００４０】
復号化フレーム一時メモリ記憶領域（３６０）は、複数のフレーム・バッファ記憶領域（３６１、３６２、．．．、３６ｎ）を含む。ＭＭＣＯ／ＲＰＳ情報（３４２）と整合する形で、復号化プロセス・エミュレータ（３５０）は、参照フレームとして使用するためにエンコーダ（３４０）によりもはや必要とされなくなったフレームを有する任意のフレーム・バッファ（３６１、３６２等）を識別するために、記憶領域（３６０）のコンテンツを管理する。復号化プロセスをモデル化した後、復号化プロセス・エミュレータ（３５０）は、このように識別されるフレーム・バッファ（３６１、３６２等）に、新たに復号化されたフレーム（３５１）を記憶する。
【００４１】
エンコーダ（３４０）は、バッファ・フロー・モデル（例えば、仮想リファレンス・デコーダ（「ＨＲＤ」）又はビデオ・バッファ確認器（「ＶＢＶ」））の仕様に従って符号化されるピクチャのＣＰＢＲＤ値を設定する。このように、エンコーダ（３４０）は、復号化システムのバッファリング・リソース内でビットストリームを復号化できることを確実にするのに役立つように、ビットストリームのビット・レートにおける変動（fluctuation）に対する制約を適用する。エンコーダ（３４０）はまた、デコーダが復号化プロセスのオペレーションのタイミング及びステップを判定するのを助けるために、ＣＰＢＲＤ値を設定する。
【００４２】
符号化フレーム（３４１）及びＭＭＣＯ／ＲＰＳ情報（３４２）（又は、ＭＭＣＯ／ＲＰＳ情報（３４２）と同等の情報）はまた、一時符号化データ領域（３７０）にバッファされる。符号化データ領域（３７０）に収集される符号化データは、エレメンタリ符号化ビデオ・ビットストリームのシンタックスの一部として、１以上のピクチャの符号化データを含む。符号化データ領域（３７０）に収集される符号化データはまた、（例えば、１以上の付加拡張情報（「ＳＥＩ」）メッセージ又はビデオ・ユーザビリティ情報（「ＶＵＩ」）メッセージにおける１以上のパラメータとして、）符号化ビデオ・データに関連するメディア・メタデータを含み得る。そのようなメディア・メタデータは、（例えば、ＰＴ  ＳＥＩメッセージ及びＢＰ  ＳＥＩメッセージの一部として、）ピクチャのＣＰＢＲＤ値を示すシンタックス要素に加えて、ＣＰＢＲＤ値がどのように解釈されるべきであるかを示すシンタックス要素も含み得る。
【００４３】
一時符号化データ領域（３７０）からの収集されたデータ（３７１）は、チャネル・エンコーダ（３８０）により処理される。チャネル・エンコーダ（３８０）は、（例えば、ＩＴＵ−Ｔ  Ｈ．２２２．０｜ＩＳＯ／ＩＥＣ  １３８１８−１等のメディア・プログラム・ストリーム・フォーマット若しくはトランスポート・ストリーム・フォーマット、又はＩＥＴＦ  ＲＦＣ  ３５５０等のインターネット・リアルタイム・トランスポート・プロトコル・フォーマットに従って）メディア・ストリームとして伝送又は記憶するために、収集されたデータをパケット化及び／又は多重化することができる。そのような場合、チャネル・エンコーダ（３８０）は、メディア伝送ストリームのシンタックスの一部として、シンタックス要素を付加することができる。そのようなシンタックスは、ピクチャのＣＰＢＲＤ値を示すシンタックス要素に加えて、ＣＰＢＲＤ値がどのように解釈されるべきであるかを示すシンタックス要素も含み得る。あるいは、チャネル・エンコーダ（３８０）は、（例えば、ＩＳＯ／ＩＥＣ  １４４９６−１２等のメディア・コンテナ・フォーマットに従って）ファイルとして記憶するために、収集されたデータを編成することができる。そのような場合、チャネル・エンコーダ（３８０）は、メディア記憶ファイルのシンタックスの一部として、シンタックス要素を付加することができる。そのようなシンタックスは、ピクチャのＣＰＢＲＤ値を示すシンタックス要素に加えて、ＣＰＢＲＤ値がどのように解釈されるべきであるかを示すシンタックス要素も含み得る。あるいは、より一般的に、チャネル・エンコーダ（３８０）は、１以上のメディア・システム多重化プロトコル又はトランスポート・プロトコルを実装することができる。そのような場合、チャネル・エンコーダ（３８０）は、１以上のプロトコルのシンタックスの一部として、シンタックス要素を付加することができる。再度、そのようなシンタックスは、ピクチャのＣＰＢＲＤ値を示すシンタックス要素に加えて、ＣＰＢＲＤ値がどのように解釈されるべきであるかを示すシンタックス要素も含み得る。チャネル・エンコーダ（３８０）は、チャネル（３９０）への出力を提供する。チャネル（３９０）は、ストレージ、通信コネクション、又は出力のための別のチャネルを表す。チャネル・エンコーダ（３８０）又はチャネル（３９０）はまた、順方向誤り訂正（「ＦＥＣ」）符号化及びアナログ信号変調等の他の要素（図示せず）を含んでもよい。
【００４４】
ＩＶ．例示的なデコーダ・システム
図４は、いくつかの説明する実施形態を協働して実装することができる例示的なデコーダ・システム（４００）のブロック図である。デコーダ・システム（４００）は、リアルタイム通信のための低レイテンシ復号化モード及びファイル又はストリームからのメディア再生のためのより高いレイテンシの復号化モード等の複数の復号化モードのうちいずれかで動作することができる汎用復号化ツールであってもよいし、そのような１つの復号化モードのために適合された専用復号化ツールであってもよい。デコーダ・システム（４００）は、オペレーティング・システム・モジュールとして、アプリケーション・ライブラリの一部として、又はスタンドアロン・アプリケーションとして、実装することができる。概して、デコーダ・システム（４００）は、チャネル（４１０）から符号化データを受信し、出力先（４９０）への出力として再構築フレームを生成する。符号化データは、ピクチャのＣＰＢＲＤ値を示すシンタックス要素に加えて、ＣＰＢＲＤ値がどのように解釈されるべきであるかを示すシンタックス要素も含み得る。
【００４５】
デコーダ・システム（４００）は、ストレージ、通信コネクション、又は入力としての符号化データのための別のチャネルを表し得るチャネル（４１０）を含む。チャネル（４１０）は、チャネル符号化された符号化データを生成する。チャネル・デコーダ（４２０）は、符号化データを処理することができる。例えば、チャネル・デコーダ（４２０）は、（例えば、ＩＴＵ−Ｔ  Ｈ．２２２．０｜ＩＳＯ／ＩＥＣ  １３８１８−１等のメディア・プログラム・ストリーム・フォーマット若しくはトランスポート・ストリーム・フォーマット、又はＩＥＴＦ  ＲＦＣ  ３５５０等のインターネット・リアルタイム・トランスポート・プロトコル・フォーマットに従って）メディア・ストリームとして伝送又は記憶するために収集されたデータを脱パケット化及び／又は逆多重化する。そのような場合、チャネル・デコーダ（４２０）は、メディア伝送ストリームのシンタックスの一部として付加されたシンタックス要素を解析することができる。そのようなシンタックスは、ピクチャのＣＰＢＲＤ値を示すシンタックス要素に加えて、ＣＰＢＲＤ値がどのように解釈されるべきであるかを示すシンタックス要素も含み得る。あるいは、チャネル・デコーダ（４２０）は、（例えば、ＩＳＯ／ＩＥＣ  １４４９６−１２等のメディア・コンテナ・フォーマットに従って）ファイルとして記憶するために収集された符号化ビデオ・データを分離する。そのような場合、チャネル・デコーダ（４２０）は、メディア記憶ファイルのシンタックスの一部として付加されたシンタックス要素を解析することができる。そのようなシンタックスは、ピクチャのＣＰＢＲＤ値を示すシンタックス要素に加えて、ＣＰＢＲＤ値がどのように解釈されるべきであるかを示すシンタックス要素も含み得る。あるいは、より一般的に、チャネル・デコーダ（４２０）は、１以上のメディア・システム逆多重化プロトコル又はトランスポート・プロトコルを実装することができる。そのような場合、チャネル・デコーダ（４２０）は、１以上のプロトコルのシンタックスの一部として付加されたシンタックス要素を解析することができる。再度、そのようなシンタックスは、ピクチャのＣＰＢＲＤ値を示すシンタックス要素に加えて、ＣＰＢＲＤ値がどのように解釈されるべきであるかを示すシンタックス要素も含み得る。チャネル（４１０）又はチャネル・デコーダ（４２０）はまた、ＦＥＣ復号化及びアナログ信号復調等の他の要素（図示せず）を含んでもよい。
【００４６】
十分な量のデータが受信されるまで、チャネル・デコーダ（４２０）から出力される符号化データ（４２１）は、一時符号化データ領域（４３０）に記憶される。符号化データ（４２１）は、符号化フレーム（４３１）及びＭＭＣＯ／ＲＰＳ情報（４３２）を含む。符号化データ領域（４３０）内の符号化データ（４２１）は、エレメンタリ符号化ビデオ・ビットストリームのシンタックスの一部として、１以上のピクチャの符号化データを含む。符号化データ領域（４３０）内の符号化データ（４２１）はまた、（例えば、１以上のＳＥＩメッセージ又はＶＵＩメッセージにおける１以上のパラメータとして、）符号化ビデオ・データに関連するメディア・メタデータを含み得る。そのようなメディア・メタデータは、（例えば、ＰＴ  ＳＥＩメッセージ及びＢＰ  ＳＥＩメッセージの一部として、）ピクチャのＣＰＢＲＤ値を示すシンタックス要素に加えて、ＣＰＢＲＤ値がどのように解釈されるべきであるかを示すシンタックス要素も含み得る。
【００４７】
デコーダ（４５０）は、ＣＰＢＲＤ値を使用して、復号化プロセス全体のオペレーションのタイミング及びステップを判定する。一般に、ＣＰＢＲＤ値により示されるように、そのような符号化データ（４２１）がデコーダ（４５０）により使用されるまで、符号化データ領域（４３０）は、符号化データ（４２１）を一時的に記憶する。その時点で、符号化フレーム（４３１）及びＭＭＣＯ／ＲＰＳ情報（４３２）の符号化データが、符号化データ領域（４３０）からデコーダ（４５０）に伝送される。復号化が進むにつれ、新たな符号化データが、符号化データ領域（４３０）に追加され、符号化データ領域（４３０）に残っている最も古い符号化データが、デコーダ（４５０）に伝送される。
【００４８】
デコーダ（４５０）は、対応する復号化フレーム（４５１）を生成するために、符号化フレーム（４３１）を復号化する。必要に応じて、復号化プロセスを実行するとき、デコーダ（４５０）は、フレーム間予測のための参照フレームとして、１以上の以前に復号化されたフレーム（４６９）を使用することができる。デコーダ（４５０）は、復号化フレーム一時メモリ記憶領域（４６０）から、そのような以前に復号化されたフレーム（４６９）を読み出す。一般に、デコーダ（４５０）は、エントロピ復号化、フレーム内予測、動き補償フレーム間予測、逆量子化、逆周波数変換、及び逆周波数変換等の復号化タスクを実行する複数の復号化モジュールを含む。デコーダ（４５０）により実行される正確なオペレーションは、圧縮フォーマットに応じて変わり得る。
【００４９】
例えば、デコーダ（４５０）は、圧縮フレーム又は一連のフレームの符号化データを受信し、復号化フレーム（４５１）を含む出力を生成する。デコーダ（４５０）において、バッファは、圧縮フレームの符号化データを受け入れ、ＣＰＢＲＤ値により名目的に示される適切な時間に、受け入れた符号化データをエントロピ復号化部に利用可能にする。エントロピ復号化部は、通常はエンコーダにおいて実行されたエントロピ符号化の逆を適用することにより、エントロピ符号化された量子化データに加えて、エントロピ符号化されたサイド情報もエントロピ復号化する。動き補償部は、再構築されているフレームのブロック（例えば、マクロブロック、サブマクロブロック、サブマクロブロック・パーティション、符号化ツリー・ユニット、予測ユニット、又は、符号化ツリー・ブロック、予測ブロック、若しくは他のブロック等のそれらの一部分）の動き補償予測を形成するために、動き情報を１以上の参照フレームに適用する。フレーム内予測モジュールは、隣接する以前に再構築されたサンプル値から、現ブロックのサンプル値を空間的に予測することができる。デコーダ（４５０）はまた、予測残差値を再構築する。逆量子化部は、エントロピ復号化されたデータを逆量子化する。例えば、デコーダ（４５０）は、ビットストリームにおけるシンタックス要素に基づいて、ピクチャ、スライス、及び／又はビデオの他の部分のためのルマＱＰ及びクロマＱＰの値を設定し、それに従って変換係数を逆量子化する。逆周波数変換部は、量子化された周波数領域データを空間領域情報に変換する。フレーム間予測フレームに関して、デコーダ（４５０）は、再構築フレームを形成するために、再構築された予測残差値を動き補償予測と結合する。デコーダ（４５０）は、同様に、予測残差値を、フレーム内予測からの空間予測と結合することができる。適応デブロッキング・フィルタが、ビデオ・デコーダ（４５０）における動き補償ループ内に含まれ、復号化フレーム（４５１）内のブロック境界ロー及び／又はカラムにわたる不連続さを平滑化する。他のフィルタリング（デリンギング・フィルタリング、適応ループ・フィルタリング（「ＡＬＦ」）、又はサンプル適応オフセット（「ＳＡＯ」）フィルタリング等；図示せず）が、代替的に又は追加的に、ループ内フィルタリング・オペレーションとして適用されてもよい。
【００５０】
復号化フレーム一時メモリ記憶領域（４６０）は、複数のフレーム・バッファ記憶領域（４６１、４６２、．．．、４６ｎ）を含む。復号化フレーム記憶領域（４６０）はＤＰＢの一例である。デコーダ（４５０）は、復号化フレーム（４５１）を記憶することができるフレーム・バッファ（４６１、４６２等）を識別するために、ＭＭＣＯ／ＲＰＳ情報（４３２）を使用する。デコーダ（４５０）は、そのフレーム・バッファに復号化フレーム（４５１）を記憶する。
【００５１】
出力シーケンサ（４８０）は、（例えば、ＢＰ  ＳＥＩメッセージ及びＰＴ  ＳＥＩメッセージ内の情報を使用して、）出力順で生成される次のフレームが復号化フレーム記憶領域（４６０）内で利用可能になるときを識別する。出力順で生成される次のフレーム（４８１）が、復号化フレーム記憶領域（４６０）内で利用可能になったとき、そのフレームが、出力シーケンサ（４８０）により読み出され、出力先（４９０）（例えば、ディスプレイ）に出力される。一般に、復号化フレーム記憶領域（４６０）から出力シーケンサ（４８０）によりフレームが出力される順番は、デコーダ（４５０）によりフレームが復号化される順番とは異なり得る。
【００５２】
Ｖ．例示的なビデオ・エンコーダ
図５は、いくつかの説明する実施形態を協働して実装することができる一般化されたビデオ・エンコーダ（５００）のブロック図である。エンコーダ（５００）は、現フレーム（５０５）を含む一連のビデオ・フレームを受信し、出力として符号化データ（５９５）を生成する。
【００５３】
エンコーダ（５００）は、ブロックベースであり、実装に依存するブロック・フォーマットを使用する。ブロックは、例えば、周波数変換段階及びエントロピ符号化段階において等の様々な段階において、さらに分割され得る。例えば、フレームは、６４ｘ６４ブロック、３２ｘ３２ブロック、又は１６ｘ１６ブロックに分割され得、今度は、それらのブロックが、符号化及び復号化のために、サンプル値のより小さなブロックに分割され得る。
【００５４】
エンコーダ・システム（５００）は、フレーム間予測フレーム及びフレーム内符号化フレームを圧縮する。プレゼンテーションの目的上、図５は、フレーム内符号化のためのエンコーダ（５００）を介した「イントラ・パス」と、フレーム間符号化のための「インター・パス」と、を示している。エンコーダ（５００）のコンポーネントの多くが、フレーム内符号化及びフレーム間符号化の両方のために使用される。これらのコンポーネントにより実行される正確なオペレーションは、圧縮される情報のタイプに応じて変わり得る。
【００５５】
現フレーム（５０５）がフレーム間予測フレームである場合、動き推定部（５１０）は、１以上の参照フレームに関して、現フレーム（５０５）のブロック（例えば、マクロブロック、サブマクロブロック、サブマクロブロック・パーティション、符号化ツリー・ユニット、予測ユニット、又は、符号化ツリー・ブロック、予測ブロック、若しくは他のブロック等のそれらの一部分）の動きを推定する。フレーム・ストア（５２０）は、参照フレームとして使用するために、１以上の再構築された以前のフレーム（５２５）をバッファする。複数の参照フレームが使用される場合、複数の参照フレームは、異なる時間的方向からのものであってもよいし、同じ時間的方向からのものであってもよい。動き推定部（５１０）は、サイド情報として、差分動きベクトル情報等の動き情報（５１５）を出力する。
【００５６】
動き補償部（５３０）は、動き補償された現フレーム（５３５）を形成するとき、再構築された動きベクトルを、１以上の再構築された参照フレーム（５２５）に適用する。動き補償された現フレーム（５３５）のブロックとオリジナルの現フレーム（５０５）の対応する部分との間の差（あれば）が、ブロックの予測残差（５４５）である。オリジナルの現フレーム（５０５）により近い再構築フレームを得るために、現フレームの後の再構築の間に、再構築された予測残差値が、動き補償された現フレーム（５３５）に付加される。しかしながら、損失圧縮（lossy  compression）では、それでも、いくつかの情報が、オリジナルの現フレーム（５０５）から失われる。イントラ・パスは、イントラ予測モジュール（図示せず）を含み得る。イントラ予測モジュールは、隣接する以前に再構築されたサンプル値から、現ブロックのサンプル値を空間的に予測する。
【００５７】
周波数変換部（５６０）は、空間領域ビデオ情報を周波数領域（すなわち、スペクトル変換）データに変換する。ブロックベースのビデオ・フレームに関して、周波数変換部（５６０）は、離散コサイン変換とその整数近似、又は別のタイプの前方ブロック変換（例えば、離散サイン変換とその整数近似）をサンプル値データ又は予測残差データのブロックに適用して、周波数変換係数のブロックを生成する。次いで、量子化部（５７０）は、変換係数を量子化する。例えば、量子化部（５７０）は、フレームごとに、スライスごとに、ブロックごとに、周波数固有の単位で、又は他の単位で変わる量子化ステップ・サイズで、デッドゾーン・スカラ量子化（dead-zone  scalar  quantization）を周波数領域データに適用する。
【００５８】
後続の動き推定／動き補償のために現フレームの再構築されたバージョンが必要とされる場合、逆量子化部（５７６）が、量子化された周波数係数データに対して逆量子化を実行する。逆周波数変換部（５６６）は、逆周波数変換を実行し、再構築された予測残差値又はサンプル値のブロックを生成する。フレーム間予測フレームに関して、エンコーダ（５００）は、再構築フレーム（５０５）を形成するために、再構築された予測残差値（５４５）を動き補償予測（５３５）と結合する。（図５には示されていないが、イントラ・パスにおいては、エンコーダ（５００）は、予測残差値を、イントラ予測からの空間予測と結合することができる。）フレーム・ストア（５２０）は、後続の動き補償予測において使用するために、再構築された現フレームをバッファする。
【００５９】
図５において、エンコーダ（５００）における動き補償ループは、通常はフレーム・ストア（５２０）の前に、適応ループ内デブロック・フィルタ（５１０）を含む。エンコーダ（５００）は、フレーム内の境界にわたる不連続さを適応的に平滑化するために、ループ内フィルタリングを再構築フレームに適用する。他のフィルタリング（デリンギング・フィルタリング、ＡＬＦ、又はＳＡＯフィルタリング等；図示せず）が、代替的に又は追加的に、ループ内フィルタリング・オペレーションとして適用されてもよい。
【００６０】
エントロピ符号化部（５８０）は、量子化部（５７０）の出力に加えて、動き情報（５１５）及び所定のサイド情報（例えば、ＱＰ値）も圧縮する。エントロピ符号化部（５８０）は、符号化データ（５９５）をバッファ（５９０）に供給し、バッファ（５９０）は、符号化データを出力ビットストリームに多重化する。
【００６１】
コントローラ（図示せず）は、エンコーダの様々なモジュールから入力を受信する。コントローラは、符号化中、中間結果を評価し、例えば、ＱＰ値を設定して、レート−歪み解析を実行する。コントローラは、他のモジュールと協働して、符号化中、符号化パラメータを設定及び変更する。コントローラは、バッファ・フロー・モデルに従って符号化されるピクチャのＣＰＢＲＤ値を設定することができる。このように、コントローラは、復号化システムのバッファリング・リソース内でビットストリームを復号化できることを確実にするのに役立つように、ビットストリームのビット・レートにおける変動に対する制約を適用する。コントローラはまた、デコーダが復号化プロセスのオペレーションのタイミング及びステップを判定するのを助けるために、ＣＰＢＲＤ値を設定する。
【００６２】
実装及び所望の圧縮のタイプに応じて、エンコーダのモジュールを追加してもよいし、省略してもよいし、複数のモジュールに分割してもよいし、他のモジュールと結合してもよいし、且つ／あるいは同様のモジュールと置換してもよい。代替実施形態において、異なるモジュール及び／又はモジュールの他の構成を有するエンコーダは、説明した技術のうちの１以上を実行する。エンコーダの特定の実施形態は、通常、エンコーダ（５００）の変形又は補完バージョンを使用する。エンコーダ（５００）内のモジュール間の示された関係は、エンコーダ内の情報の一般的な流れを示すものである。他の関係は、簡潔さのため示されていない。
【００６３】
ＶＩ．例示的なビデオ・デコーダ
図６は、いくつかの説明する実施形態を協働して実装することができる一般化されたデコーダ（６００）のブロック図である。デコーダ（６００）は、圧縮フレーム又は一連のフレームの符号化データ（６９５）を受信し、再構築フレーム（６０５）を含む出力を生成する。プレゼンテーションの目的上、図６は、フレーム内復号化のためのデコーダ（６００）を介した「イントラ・パス」と、フレーム間復号化のための「インター・パス」と、を示している。デコーダ（６００）のコンポーネントの多くが、フレーム内復号化及びフレーム間復号化の両方のために使用される。これらのコンポーネントにより実行される正確なオペレーションは、伸張される情報のタイプに応じて変わり得る。
【００６４】
バッファ（６９０）は、圧縮フレームの符号化データ（６９５）を受け入れ、それぞれのフレームのＣＰＢＲＤ値により少なくとも部分的に示されるタイミングで、受け入れた符号化データを解析部／エントロピ復号化部（６８０）に利用可能にする。解析部／エントロピ復号化部（６８０）は、通常はエンコーダにおいて実行されたエントロピ符号化の逆を適用することにより、エントロピ符号化された量子化データに加えて、エントロピ符号化されたサイド情報もエントロピ復号化する。
【００６５】
動き補償部（６３０）は、再構築されているフレーム（６０５）のブロック（例えば、マクロブロック、サブマクロブロック、サブマクロブロック・パーティション、符号化ツリー・ユニット、予測ユニット、又は、符号化ツリー・ブロック、予測ブロック、若しくは他のブロック等のそれらの一部分）の動き補償予測（６３５）を形成するために、動き情報（６１５）を１以上の参照フレーム（６２５）に適用する。フレーム・ストア（６２０）は、参照フレームとして使用するために、１以上の以前に再構築されたフレームを記憶する。
【００６６】
イントラ・パスは、イントラ予測モジュール（図示せず）を含み得る。イントラ予測モジュールは、隣接する以前に再構築されたサンプル値から、現ブロックのサンプル値を空間的に予測する。インター・パスにおいて、デコーダ（６００）は、予測残差値を再構築する。逆量子化部（６７０）は、エントロピ復号化されたデータを逆量子化する。例えば、デコーダ（６００）は、ビットストリームにおけるシンタックス要素に基づいて、ピクチャ、スライス、及び／又は符号化ユニット等のビデオの他の部分のためのルマＱＰ及びクロマＱＰの値を設定し、逆量子化部（６７０）は、それに従って変換係数を逆量子化する。
【００６７】
逆周波数変換部（６６０）は、再構築された周波数領域データを空間領域情報に変換する。例えば、逆周波数変換部（６６０）は、逆ブロック変換を周波数変換係数に適用して、サンプル値データ又は予測残差データを生成する。逆周波数変換は、逆離散コサイン変換とその整数近似、又は別のタイプの逆周波数変換（例えば、逆離散サイン変換とその整数近似）であり得る。
【００６８】
フレーム間予測フレームに関して、デコーダ（６００）は、再構築フレーム（６０５）を形成するために、再構築された予測残差値（６４５）を動き補償予測（６３５）と結合する。（図６には示されていないが、イントラ・パスにおいては、デコーダ（６００）は、予測残差値を、フレーム内予測からの空間予測と結合することができる。）デコーダ（６００）における動き補償ループは、フレーム・ストア（６２０）の前又は後に、適応ループ内デブロック・フィルタ（６１０）を含む。デコーダ（６００）は、フレーム内の境界にわたる不連続さを適応的に平滑化するために、ループ内フィルタリングを再構築フレームに適用する。他のフィルタリング（デリンギング・フィルタリング、ＡＬＦ、又はＳＡＯフィルタリング等；図示せず）が、代替的に又は追加的に、ループ内フィルタリング・オペレーションとして適用されてもよい。
【００６９】
図６において、デコーダ（６００）はまた、後処理フィルタ（６０８）を含む。後処理フィルタ（６０８）は、デリンギング・フィルタリング、適応ウィナー・フィルタリング、フィルムグレイン再生フィルタリング、ＳＡＯフィルタリング、又は別の種類のフィルタリングを含み得る。
【００７０】
実装及び所望の伸張のタイプに応じて、デコーダのモジュールを追加してもよいし、省略してもよいし、複数のモジュールに分割してもよいし、他のモジュールと結合してもよいし、且つ／あるいは同様のモジュールと置換してもよい。代替実施形態において、異なるモジュール及び／又はモジュールの他の構成を有するデコーダは、説明した技術のうちの１以上を実行する。デコーダの特定の実施形態は、通常、デコーダ（６００）の変形又は補完バージョンを使用する。デコーダ（６００）内のモジュール間の示された関係は、デコーダ内の情報の一般的な流れを示すものである。他の関係は、簡潔さのため示されていない。
【００７１】
ＶＩＩ．スプライシングを単純化する、ＣＰＢＲＤ値のシンタックス及びセマンティックス
このセクションは、符号化ピクチャ・バッファ引き抜き遅延（「ＣＰＢＲＤ」）値のシンタックス及びセマンティックスのための様々なイノベーションを提供する。多くの場合、このイノベーションは、ビデオ・シーケンスのスプライシングを単純化する。ＨＥＶＣ規格及びＨ．２６４／ＡＶＣ規格に従った付加拡張情報（「ＳＥＩ」）メッセージにおいてシグナリングされるＣＰＢＲＤ値の様々な例が提供される。
【００７２】
Ａ．イントロダクション
ＪＣＴＶＣ−Ｋ１００３等のＨＥＶＣ規格のドラフト・バージョンにおいて、及びＨ．２６４／ＡＶＣ規格において、ピクチャ・タイミングＳＥＩ（「ＰＴ  ＳＥＩ」）メッセージのためのシンタックス及びセマンティックスが規定されている。ＰＴ  ＳＥＩメッセージは、符号化ピクチャ・バッファ引き抜き遅延（「ＣＰＢＲＤ」）を示すシンタックス要素を含む。ＪＣＴＶＣ−Ｋ１００３において、このシンタックス要素は、au_cpb_removal_delay_minus1と名付けられており、これは、ＰＴ  ＳＥＩメッセージにおいてシグナリングされる符号化整数値（coded  integer  value）に１を加えることにより解釈される。
【００７３】
一般に、初期バッファリング遅延（又は、代替的に、初期バッファ・フルネス）とともに、（通常は「現ピクチャ」と呼ばれる）所与のピクチャのＣＰＢＲＤ値は、そのピクチャに関連付けられた符号化データが符号化ピクチャ・バッファ（「ＣＰＢ」）から引き抜かれることになる名目上の時間を規定している。ＣＰＢは、仮想デコーダ・バッファであり、デコーダは、これをリファレンスとして使用して、デコーダ・バッファを設計することができる。また、エンコーダは、仮想デコーダ・バッファに基づいて、準拠ビットストリーム（compliant  bitstream）を生成することができる。ＨＥＶＣ規格のコンテキストにおいて、現ピクチャに関連付けられたデータのセットは、「アクセス・ユニット」である。ＣＰＢＲＤ値は、ＨＲＤ又はＶＢＶと呼ばれ得るバッファ・モデルのコンテキストにおいて理解される。バッファ・モデルに従った仕様は、復号化システムのバッファリング・リソース内でビットストリームを復号化できることを確実にするのに役立ち、デコーダがピクチャのための復号化プロセス全体のオペレーションのタイミング及びステップを判定するのを助ける。
【００７４】
バッファリング期間ＳＥＩ（「ＢＰ  ＳＥＩ」）メッセージが、符号化ビデオ・データ内に存在する場合、ＣＰＢＲＤ値のタイミング・リファレンスは、後続のメッセージのためにリセットされる。ＪＣＴＶＣ−Ｋ１００３において、ＣＰＢＲＤ値は、ＢＰ  ＳＥＩメッセージを含んでいた、復号化順で先行するピクチャ（あれば）の名目上の引き抜き時間に対して、常に符号化される。エンコーダは、ビットストリームにおいて、ランダム・アクセス・ポイント（「ＲＡＰ」）ピクチャ全てとともに、ＢＰ  ＳＥＩメッセージを送信し得る。エンコーダはまた、ＲＡＰピクチャではない他のピクチャとともに、ＢＰ  ＳＥＩメッセージを送信し得る。
【００７５】
ビデオ・スプライシング・ツールは、通常、ビットストリーム内のＲＡＰピクチャの位置でスプライシング・オペレーションを実行する。ＲＡＰピクチャは、瞬間デコーダ・リフレッシュ（「ＩＤＲ（instantaneous  decoder  refresh）」）ピクチャであり得る。ＲＡＰピクチャは、自身に関連付けられたＢＰ  ＳＥＩメッセージを有する。例えば、スプライシング・オペレーションを使用して、テレビ番組にコマーシャル又は一連のコマーシャルを挿入することができる、あるいは、異なるテレビ番組間を切り替えることができる。
【００７６】
ＨＥＶＣ  ＲＡＰピクチャの設計は、ビットストリームのスプライシング・ポイントとしてのＲＡＰピクチャの使用を可能にするよう、特に意図されている。しかしながら、ＪＣＴＶＣ−Ｋ１００３において、ＣＰＢＲＤ値は、ＢＰ  ＳＥＩメッセージを有する、復号化順で先行するピクチャの名目上のＣＰＢ引き抜き時間に対して、常に符号化される。このリファレンス・ポイントが理由で、ビットストリーム間をスプライシングするとき（あるいは、より長いビットストリームを形成するために、別々に符号化されたビットストリームをスムーズに連結するとき）、スプライシング・システムがＣＰＢＲＤ値の正確な値を判定するのは難しいことであり得る。
【００７７】
したがって、ＪＣＴＶＣ−Ｋ１００３におけるようなＣＰＢＲＤのシンタックス及びセマンティックスのための手法では、スプライシング・オペレーションを実行してビットストリームＡのピクチャを送信することからビットストリームＢのピクチャを送信することに切り替わるために、スプライシング・ツールは、スプライス・ポイントにおけるピクチャのＣＰＢＲＤ値（すなわち、スプライス・ポイントにおけるピクチャに関連付けられたＰＴ  ＳＥＩメッセージ内のＣＰＢＲＤ値）を調整する。切り替わりが生じるスプライス・ポイントは、ビットストリームＢ内のＲＡＰピクチャに対応する位置である。（スプライス・ポイントにおけるビットストリームＢ内のＲＡＰピクチャはまた、自身に関連付けられたＢＰ  ＳＥＩメッセージを有し、ＢＰ  ＳＥＩメッセージは、ビットストリームＢからの復号化順で後続のピクチャのＣＰＢＲＤ値のリファレンス時間をリセットするので、ビットストリームＢ内の後続のピクチャのＣＰＢＲＤ値の調整は不必要である。）スプライシング・オペレーションを実現するために、スプライシング・ツールは、通常、以下のステップを実行する。しかしながら、これらのステップは、必ずしもこの順番で実行される必要はなく、いくつかの代替的変形が存在してもよい。
【００７８】
スプライシング・ツールは、ビットストリームＢ内の以前のＢＰ  ＳＥＩメッセージを有するピクチャの名目上の引き抜き時間に対する、ビットストリームＢ内のＲＡＰピクチャのＣＰＢＲＤ値を発見して読み出す。このＣＰＢＲＤの値は、ＤＲＡＰＢである。ビットストリームＢ内に先行するピクチャがなかった場合、ＤＲＡＰＢは、ローカル・フレーム・レートに基づいて（例えば、ビットストリームＡ内の最後のピクチャ又はビットストリームＢ内の最初のピクチャのpic_struct_present_flag、field_pic_flag、及びpic_structの値に基づいて指定され得るDeltaToDivisorに基づいて）、ある値に設定され得る。
【００７９】
スプライシング・ツールはまた、ビットストリームＢ内の以前のＢＰ  ＳＥＩメッセージを有するピクチャに対する遅延である、ビットストリームＢ内の復号化順でＲＡＰピクチャに先行していた（ビットストリームＢ）のピクチャのＣＰＢＲＤ値を発見して読み出す。このＣＰＢＲＤの値は、ＤＰＲＥＶＢである。ビットストリームＢ内に先行するピクチャがなかった場合、ＤＰＲＥＶＢは、０に設定される。
【００８０】
スプライシング・ツールはまた、ビットストリームＡ内の以前のＢＰ  ＳＥＩメッセージを有するピクチャに対する遅延である、ビットストリームＡ内の復号化順でスプライス・ポイントに先行する（ビットストリームＡ）の最後のピクチャのＣＰＢＲＤ値を発見して読み出す。このＣＰＢＲＤの値は、ＤＰＲＥＶＡである。ビットストリームＡ内の復号化順でスプライス・ポイントに先行する（ビットストリームＡの）最後のピクチャが、ＢＰ  ＳＥＩメッセージを有するピクチャである場合、ＤＰＲＥＶＡは、０に設定される。
【００８１】
スプライシング・ツールは、次いで、スプライス・ポイントにおける、ビットストリームＢからのＲＡＰピクチャのＣＰＢＲＤ値を修正して、そのＣＰＢＲＤ値をＤＰＲＥＶＡ＋（ＤＲＡＰＢ−ＤＰＲＥＶＢ）に設定すると、スプライス・ポイントにおける、ビットストリームＢからのＲＡＰピクチャのＣＰＢＲＤ値は、ビットストリームＡ内の以前のＢＰ  ＳＥＩメッセージを有するピクチャに対して表されるようになる。スプライシング・ツールは、この修正したＲＡＰピクチャと、ビットストリームＢからの後続のピクチャと、を、ビットストリームＡから取得されたピクチャの後のスプライシング・ビットストリーム（spliced  bitstream）にする。
【００８２】
所定の詳細、関連する他のオペレーション、及び潜在的複雑さは、この説明から省略されている。例えば、この説明は、リファレンス・クロック・チック値（reference  clock  tick  value）が２つのビットストリーム間で異なる場合、又はＲＡＰピクチャとＢＰ  ＳＥＩメッセージの位置とが一致しない場合には対処しない。
【００８３】
スプライシング・ツールは、上述した発見オペレーション及び読み出しオペレーションを実行する。というのは、ＣＰＢＲＤのシンタックス及びセマンティックのための従来の手法に従うと、ＣＰＢＲＤ情報は、以前のＢＰ  ＳＥＩメッセージを有する、ビットストリーム内のピクチャを基準とするからである。スプライス・ポイントにおけるＣＰＢＲＤ値が、このリファレンス・ポイントに対して表されるように、スプライシング・ツールは、スプライシング・ビットストリーム内のＣＰＢＲＤ情報を調整する。ＣＰＢＲＤ値を発見して読み出すオペレーションは、面倒で、実行するのに難しいものであり得、（例えば、暗号化又はバッファリング容量制約に起因して、）スプライシング・システムが容易にアクセスできないデータへのアクセスを要し得る。
【００８４】
図７は、２つの別々に符号化されたビットストリームＡ及びビットストリームＢの連結を伴う単純化した状況の問題を示している。図７の一番上の部分は、スプライシング前の、ビットストリームＡの３つのアクセス・ユニット（「ＡＵ」）と、ビットストリームＢの２つのＡＵと、を示している。ビットストリームＡに関して、ＣＰＢＲＤ値は、ビットストリームＡの第１ＡＵ（すなわち、ＡＵ０）の初期ＣＰＢ引き抜き遅延に対する、第２ＡＵ及び第３ＡＵ（すなわち、ＡＵ１及びＡＵ２）の引き抜き遅延を示すためにシグナリングされる。ビットストリームＢに関して、ＣＰＢＲＤ値は、ビットストリームＢの第１ＡＵ（すなわち、ＡＵ０）の初期ＣＰＢ引き抜き遅延に対する、第２ＡＵ（すなわち、ＡＵ１）の引き抜き遅延を示すためにシグナリングされる。値au_cbp_removal_delay(k)は、ＡＵｋのＣＰＢ引き抜き遅延を指す。ビットストリームＢのＡＵが、ビットストリームＡのＡＵの後にスプライシングされるとき、ビットストリームＢの第１ＡＵ（ＡＵ０）のＣＰＢＲＤが決定される。図７の一番下の部分は、単一のビットストリームにスプライシングした後の、ビットストリームＡ及びビットストリームＢのＡＵを示している。ＡＵのＣＰＢＲＤ値のいくつか（すなわち、ビットストリームＡの第１ＡＵ（ＡＵ０）の初期ＣＰＢ引き抜き遅延に対する、ビットストリームＡの第２ＡＵ及び第３ＡＵ（ＡＵ１及びＡＵ２）のＣＰＢＲＤ値、及び、ビットストリームＢの第１ＡＵ（ＡＵ０）のＣＰＢ引き抜き遅延に対する、ビットストリームＢの第２ＡＵ（ＡＵ１）のＣＰＢＲＤ値）は、スプライシング・ビットストリームにおいて変わらない。しかしながら、ビットストリームＢの第１ＡＵ（スプライシング前はＡＵ０であるが、スプライシング後は、ＡＵ３と番号が付けられる）のＣＰＢＲＤ値は、スプライシング・ビットストリームに関して、ビットストリームＡの第１ＡＵ（ＡＵ０）の初期ＣＰＢ引き抜き遅延に対する引き抜き遅延を表すように調整される。より複雑な例において（例えば、ビットストリームがより多くのＡＵを含む場合、及び／又はいくつかのＡＵが利用可能でない場合）、スプライシング・ビットストリームにおける第２シーケンスの第１ＡＵのＣＰＢＲＤ値を決定することは、難しいことであり得る。
【００８５】
Ｂ．ＣＰＢＲＤのシンタックス及びセマンティックスを修正する一般的手法
このセクションは、ＣＰＢＲＤのシンタックス及びセマンティックスの以前の手法に対する様々な修正例を提供する。この修正例に従うと、（通常は「現ピクチャ」と呼ばれる）所与のピクチャが、自身に関連付けられたＢＰ  ＳＥＩメッセージを有する場合、エンコーダは、以下のことを示すシンタックス要素を送信することができる。
（ａ）以前の手法と同様に、ＢＰ  ＳＥＩメッセージを有する、復号化順（ビットストリーム順とも呼ばれる）で現ピクチャに先行するピクチャの名目上のＣＰＢ引き抜き時間に対するＣＰＢＲＤ値（「アイテムａ」）；
（ｂ）復号化順で現ピクチャに先行する最後の先行するピクチャがＢＰ  ＳＥＩメッセージを有しているかどうかにかかわらず、現ピクチャに先行するその最後のピクチャの名目上のＣＰＢ引き抜き時間に対するＣＰＢＲＤ値（「アイテムｂ」）（いくつかの変形例において、同じ又はより下位のテンポラル・サブレイヤ（temporal  sub-layer）にある、現ピクチャに先行する最後のピクチャが考慮される；例えば、現ピクチャが、０に等しいTemporalIdを有する場合、先行するピクチャもまた、０に等しいTemporalIdを有する）；及び
（ｃ）（ｉ）アイテムａにおいて指定される値が存在するかどうか（又は、常に存在する場合、その値が妥当であるかどうか）と、（ｉｉ）アイテムｂにおいて指定される値が存在するかどうか（又は、常に存在する場合、その値が妥当であるかどうか）と、のインジケーション（「アイテムｃ」）。
【００８６】
アイテムｃの２つのインジケーションは、３つの許容される組合せ（すなわち、アイテムａは妥当／アイテムｂは妥当でない、アイテムａは妥当でない／アイテムｂは妥当、又はアイテムａ及びアイテムｂの両方とも妥当）のうちの１つを示す単一のシンタックス要素に結合することができる。（代替的に、０の値が妥当な値ではあり得ない実施例において、アイテムｃに関して、妥当性の欠如を示す１つの方法は、ＣＰＢＲＤ値に対して０の値を使用することである。ＣＰＢＲＤ値の両方とも妥当でないと示すことは禁止される。）
【００８７】
そのようなシンタックスを使用すると、スプライシング・ツールは、多くの場合において、そのスプライシング・オペレーションを単純化することができる。ビットストリームＢのコンテンツが、アイテムｂにおける決まりに従う場合、他の値を読み出すことは必要とされず、２つのビットストリームからのデータを単に一緒に連結することができる。ビットストリームＢのコンテンツがまた、アイテムａにおける決まりに従うシンタックス要素を含む場合、アイテムａのＣＰＢＲＤデータは、連結ビットストリームにおいて、妥当でないものとして、除去される、あるいはマーキングされる。
【００８８】
現ピクチャが、ＢＰ  ＳＥＩメッセージを有していない場合、ＪＣＴＶＣ−Ｋ１００３におけるようなＨＥＶＣ規格のシンタックス又は（Ｈ．２６４／ＡＶＣ規格におけるような）同等のシンタックスを、変更することなく、使用することができる。
【００８９】
アイテムｂの変形例として、シンタックスは、（上記で示したように、任意のテンポラル・サブレイヤではなく）同じテンポラル・サブレイヤ又はより下位のテンポラル・サブレイヤ内にある、復号化順で現ピクチャに先行する最後のピクチャの名目上のＣＰＢ引き抜き時間に対するＣＰＢＲＤインクリメント値を指定することができる。この場合、ＣＰＢＲＤ値は、任意のサブレイヤのまさに先行するピクチャではなく、同じ（又は、より下位の）テンポラル・サブレイヤ内の先行するピクチャに対して表される。これは、このスキームを、もしあればより上位のテンポラル・サブレイヤのピクチャの引き抜きに対してロバストにする。この変形例はまた、セクションＣ、セクションＤ、及びセクションＥのそれぞれにおいて説明する単一値手法及び２値手法のために適用することができる。例えば、現ピクチャが、０に等しいTemporalIDを有する場合、ＣＰＢＲＤ値は、０に等しいTemporalIdを有する先行するピクチャに対して表される。これは、０に等しいTemporalIdを有するピクチャのために、アイテムｂの決まりに従うＣＰＢＲＤ値のみがシグナリングされる状況であり得る（例えば、０に等しいTemporalIdを有するピクチャのために、そのようなＣＰＢＲＤ値を有するＳＥＩメッセージのみを使用することができる状態に起因して）。
【００９０】
Ｃ．フラグを用いる単一値手法
上述した修正例の単一値変形例において、いくつかのピクチャに関して、エンコーダは、アイテムａ及びアイテムｂの２つのＣＰＢＲＤ値のうちの１つとともに、シグナリングされるＣＰＢＲＤ値がアイテムａ又はアイテムｂの決まりに対応するかどうかのインジケーションを送信する。
【００９１】
図８及び図９は、（ＪＣＴＶＣ−Ｋ１００３におけるような）ＢＰ  ＳＥＩメッセージのシンタックス及びセマンティックスが修正されており、（ＪＣＴＶＣ−Ｋ１００３におけるような）いくつかのＰＴ  ＳＥＩメッセージのセマンティックスが修正されているが、それらのシンタックスは変わっていない単一値手法の一実施例を示している。ＢＰ  ＳＥＩメッセージ・シンタックスは、図８の例示的なシンタックス（８００）に示されるように、concatenation_flagと呼ばれるフラグを含むよう修正される。concatenation_flagは、バイナリ値である。所与のピクチャ（現ピクチャ）が、ＢＰ  ＳＥＩメッセージを有する場合、現ピクチャのＰＴ  ＳＥＩメッセージにおけるＣＰＢＲＤ値のセマンティックスは、そのピクチャのＢＰ  ＳＥＩメッセージにおけるconcatenation_flagの値に依存する。図９は、シンタックス要素au_cpb_removal_delay_minus1を含むＰＴ  ＳＥＩメッセージのシンタックス（９００）を示している。concatenation_flagの値が０である場合、シンタックス要素au_cpb_removal_delay_minus1により示されるＣＰＢＲＤ値は、アイテムａの決まりに従って解釈される。一方、concatenation_flagの値が１である場合、au_cpb_removal_delay_minus1により示されるＣＰＢＲＤ値は、アイテムｂの決まりに従って解釈される。
【００９２】
図８及び図９に示される他のシンタックス要素は、ＪＣＴＶＣ−Ｋ１００３において規定された意味を有する。
【００９３】
スプライシング・ビットストリームに関して、concatenation_flagが１である場合、ＢＰ  ＳＥＩメッセージを有するピクチャｎの名目上の引き抜き時間ｔｒ，ｎ（ｎ）は、遅延とともに、前のピクチャ（アクセス・ユニット）ｎ−１の名目上の引き抜き時間ｔｒ，ｎ（ｎ−１）から計算することができる：
ｔｒ，ｎ（ｎ）＝ｔｒ，ｎ（ｎ−１）＋ｔｃ＊（Ｍａｘ（au_cpb_removal_delay(n)，Ceil（（InitCpbRemovalDelay[SchedSelIdx]÷90000＋ｔａｆ（ｎ−１）−ｔｒ，ｎ（ｎ−１））÷ｔｃ）））
この式において、制約Ceil（（InitCpbRemovalDelay[SchedSelIdx]÷90000＋ｔａｆ（ｎ−１）−ｔｒ，ｎ（ｎ−１））÷ｔｃ）は、遅延が、復号化がバッファ・アンダーフローなくスプライス・ポイント（ピクチャｎ）で始まる場合と少なくとも同じ長さであることを確実にする。ｔｒ，ｎ（ｎ−１）に付加される遅延は、ピクチャｎのためにシグナリングされるＣＰＢＲＤ値と、制約により示されるスタートアップ遅延と、のうちの長い方に応じて設定される。
【００９４】
図１０は、制約Ceil（（InitCpbRemovalDelay[SchedSelIdx]÷90000＋ｔａｆ（ｎ−１）−ｔｒ，ｎ（ｎ−１））÷ｔｃ）がなぜ考慮されるかを示している。バッファリング期間ＳＥＩメッセージに関連付けられた各アクセス・ユニットｎ（ｎ＞０）について、値Δｔｇ，９０（ｎ）は、Δｔｇ，９０（ｎ）＝９００００＊（ｔｒ，ｎ（ｎ）−ｔａｆ（ｎ−１））により定められる。ここで、ｔｒ，ｎ（ｎ）は、アクセス・ユニットｎ（図１０においては、現在のバッファ期間の最初のアクセス・ユニット）の名目上の引き抜き時間であり、ｔａｆ（ｎ−１）は、アクセス・ユニットｎ−１（図１０においては、前のバッファ期間の最後のアクセス・ユニット）の最終到着時間である。図１０において、ストリーム１及びストリーム２が、一緒に連結されるとき、ＣＰＢＲＤ値が使用される場合、アンダーフローが生じ得る。この制約を用いると、アンダーフローが回避される。なぜならば、連結後のストリーム２のバッファ・ステータスは、元のバッファ・ステータスと同じに保たれるからである。
【００９５】
Ｄ．フラグ及び差分値を用いる２値手法
上述した修正例のいくつかの２値変形例において、いくつかのピクチャに関して、エンコーダは、ＲＡＰピクチャのＳＥＩメッセージにおいて、アイテムａ及びアイテムｂの２つのＣＰＢＲＤ値のうちの一方又は両方を送信することができる。
【００９６】
図１１は、（ＪＣＴＶＣ−Ｋ１００３におけるような）ＢＰ  ＳＥＩメッセージのシンタックス及びセマンティックスが修正されている２値手法の一実施例を示している。（ＪＣＴＶＣ−Ｋ１００３におけるような）ＰＴ  ＳＥＩメッセージのシンタックスは変わっていない。図１１の例示的なシンタックス（１１００）に示されるように、ＢＰ  ＳＥＩメッセージ・シンタックスは、concatenation_flagと、au_cpb_removal_delay_delta_minus1と呼ばれるシンタックス要素と、を含むよう修正される。au_cpb_removal_delay_delta_minus1は、ＣＰＢＲＤ「差分」値（ここでは、差分値−１）を示し得る。
【００９７】
concatenation_flagシンタックス要素は、指定された制約が、もしあれば復号化順で先行するピクチャの（又は、いくつかの変形例では、例えば、現ピクチャのTemporalIdの値以下のTemporalIdを有する先行するピクチャをチェックすることにより、もしあれば同じ又はより下位のテンポラル・サブレイヤ内の先行するピクチャの）、au_cpb_removal_delay_delta_minus1の値と、au_cpb_removal_delay_minus1の値と、の間の関係に適用されるかどうかを示す。例えば、テンポラル・サブレイヤが考慮されるとき、現ピクチャが０に等しいTemporalIdを有する場合には、そのチェックは、０に等しいTemporalIdを有する先行するピクチャのためである。
【００９８】
au_cpb_removal_delay_delta_minus1シンタックス要素＋１は、もしあればビットストリーム順（復号化順）で現ピクチャに先行する最後のピクチャの（又は、いくつかの変形例では、例えば、現ピクチャのTemporalIdの値以下のTemporalIdを有する先行するピクチャをチェックすることにより、もしあれば同じ又はより下位のテンポラル・サブレイヤ内のそのような最後のピクチャの）名目上のＣＰＢ引き抜き時間に対するＣＰＢ引き抜き遅延インクリメント値を指定する。例えば、テンポラル・サブレイヤが考慮されるとき、現ピクチャが０に等しいTemporalIdを有する場合には、そのチェックは、０に等しいTemporalIdを有する先行するピクチャのためである。
【００９９】
concatenation_flagが０に等しい場合、（現ピクチャのＰＴ  ＳＥＩメッセージのau_cpb_removal_delay_minus1シンタックス要素により決定される）ＣＰＢＲＤ値は、アイテムａに従って解釈される。先行するピクチャが、ＢＰ  ＳＥＩメッセージを有していない場合、アイテムａのＣＰＢＲＤ値は、（アイテムｂに従ったＣＰＢＲＤ値）＋（復号化順で現ピクチャに先行するピクチャの（いくつかの変形例では、適切なテンポラル・サブレイヤの先行するピクチャの）アイテムａのＣＰＢＲＤ値）に等しい。アイテムｂのＣＰＢＲＤ値は、現ピクチャのアイテムａのＣＰＢＲＤ値と、先行するピクチャのアイテムａのＣＰＢＲＤ値と、の差である。このアイテムｂの値は、シンタックス要素au_cpb_removal_delay_delta_minus1により示され、その値は、２つのアイテムａのＣＰＢＲＤ値間の差に対してチェックされ得る。この２つのアイテムａのＣＰＢＲＤ値は、アイテムａのＣＰＢＲＤ値及びアイテムｂのＣＰＢＲＤ値が妥当であることを確認するために、現ピクチャ及び先行するピクチャのＰＴ  ＳＥＩメッセージにおいて送信される。別のアイテムａのＣＰＢＲＤ値が、現ピクチャのＰＴ  ＳＥＩメッセージにおいてシグナリングされる。すなわち、現ピクチャが、ＢＰ  ＳＥＩメッセージを有しており、concatenation_flagが０に等しい場合、現ピクチャは、ビットストリーム内の最初のピクチャではなく、以下のことが、ビットストリーム・コンフォーマンスのために必要とされる。
（１）先行するピクチャ（又は、いくつかの変形例では、現ピクチャのTemporalIdの値以下であるTemporalIdを有する先行するピクチャ）が、ＢＰ  ＳＥＩメッセージを有していない場合、現ピクチャのau_cpb_removal_delay_minus1は、（先行するピクチャの（いくつかの変形例では、現ピクチャのTemporalIdの値以下であるTemporalIdを有する先行するピクチャの）au_cpb_removal_delay_minus1）＋au_cpb_removal_delay_delta_minus1＋１に等しい。
（２）そうでなければ（先行するピクチャが、ＢＰ  ＳＥＩメッセージを有する場合）、au_cpb_removal_delay_minus1は、au_cpb_removal_delay_delta_minus1に等しい。
これらの要件は、concatenation_flagが０に等しい場合、先行する条件が満たされ、先行するピクチャが、ＢＰ  ＳＥＩメッセージを有していないと仮定すると、アイテムａ及びアイテムｂのインジケーションがともに妥当であり存在する、ことを意味する。この場合、現ピクチャのＢＰ  ＳＥＩメッセージは、（シンタックス要素au_cpb_removal_delay_delta_minus1により表される）アイテムｂのＣＰＢＲＤ値を含み、現ピクチャのＰＴ  ＳＥＩメッセージは、（au_cpb_removal_delay_minus1により表される）アイテムａのＣＰＢＲＤ値を含む。一方、先行するピクチャが、ＢＰ  ＳＥＩメッセージを有する（且つ、フラグがやはり０に等しい）場合、シンタックス要素au_cpb_removal_delay_delta_minus1及びシンタックス要素au_cpb_removal_delay_minus1はともに、アイテムａのＣＰＢＲＤ値を示す。
【０１００】
concatenation_flagが１に等しい場合、シンタックス要素au_cpb_removal_delay_delta_minus1及びシンタックス要素au_cpb_removal_delay_minus1の上述したビットストリーム・コンフォーマンス要件は、満たされる必要がない。フラグが１に等しい場合、ＣＰＢＲＤの計算は、ＢＰ  ＳＥＩメッセージを有していた先行するピクチャを直接的に基準とするのではなく、ビットストリーム・スプライシングに適切であるよう変更される。現ピクチャが、ＢＰ  ＳＥＩメッセージを有し、concatenation_flagが１に等しい場合、現ピクチャの（現ピクチャのＰＴ  ＳＥＩメッセージにおける）au_cpb_removal_delay_minus1シンタックス要素は無視される。したがって、concatenation_flagが１に等しい場合、（現ピクチャのＢＰ  ＳＥＩメッセージにおける）au_cpb_removal_delay_delta_minus1シンタックス要素により示されるアイテムｂのインジケーションだけが妥当である。
【０１０１】
ＣＰＢＲＤ値の上述した解釈は、スプライシング・ポイントにおけるＲＡＰピクチャのＢＰ  ＳＥＩメッセージにおけるconcatenation_flagの値を０から１に単に変えることにより、（適切に設計されたリファレンシング構造を使用する）ビットストリームをスプライシングすることを可能にする。
【０１０２】
このスキームにおいて、アイテムｂのインジケーションは、常に妥当であるので（いくつかの場合では、現ピクチャのアイテムａのＣＰＢＲＤ値に等しいことが必要とされ、他の場合では、現ピクチャのアイテムａのＣＰＢＲＤ値と前のピクチャのアイテムａのＣＰＢＲＤ値との差に等しいことが必要とされるが）、ＨＲＤタイミング情報の仕様は、常にアイテムｂに基づき得る。さらに、concatenation_flagが０に等しい場合、デコーダは、等しいことの条件が満たされるか否かをチェックすることができる。満たされない場合、これは、何らかの問題が生じたこと（例えば、先行するピクチャが失われた、あるいは同じ又はより下位のテンポラル・サブレイヤにおける先行するピクチャが失われた）を示す。このピクチャが失われたことを検出すると、デコーダは、アイテムａのＣＰＢＲＤデータを解釈し、アイテムｂのデータを破棄することにより、正しいＣＰＢＲＤタイミング情報をリカバーすることができる（というのは、そのデータから正しいＣＰＢＲＤタイミングを計算することは、失われたピクチャのデータの使用を必要とするからである）。デコーダはまた、そのような損失が検出された場合、損失隠蔽手段（loss  concealment  measures）を呼び出すこともできる。
【０１０３】
フラグ（例えば、concatenation_flag）及び差分値を用いるこのような２値手法において、ＢＰ  ＳＥＩメッセージを有するピクチャｎの名目上の引き抜き時間は、遅延とともに、前のピクチャ（アクセス・ユニット）ｎｂの名目上の引き抜き時間から計算することができる。例えば、アクセス・ユニットｎが、ＨＲＤを初期化しないバッファリング期間の最初のアクセス・ユニットである場合、ＣＰＢからのアクセス・ユニットｎの名目上の引き抜き時間ｔｒ，ｎ（ｎ）は、以下のように指定される。
【０１０４】
現ピクチャが、１に等しいconcatenation_flagを有するＢＰ  ＳＥＩメッセージに関連付けられている場合、名目上の引き抜き時間ｔｒ，ｎ（ｎ）は、以下のように指定される。
ｔｒ，ｎ（ｎ）＝ｔｒ，ｎ（ｎｂ）＋ｔｃ＊（Ｍａｘ（（au_cpb_removal_delay_delta_minus1(n)＋１），Ceil（（InitCpbRemovalDelay[SchedSelIdx]÷90000＋ｔａｆ（ｎｂ）−ｔｒ，ｎ（ｎｂ））÷ｔｃ）））
ここで、ｔｒ，ｎ（ｎｂ）は、先行するピクチャの（いくつかの変形例では、現ピクチャのTemporalIdの値以下であるTemporalIdを有する先行するピクチャの）名目上の引き抜き時間であり、au_cpb_removal_delay_delta_minus1(n)は、アクセス・ユニットｎに関連付けられたＢＰ  ＳＥＩメッセージにおけるau_cpb_removal_delay_delta_munus1の値である。制約Ceil（（InitCpbRemovalDelay[SchedSelIdx]÷90000＋ｔａｆ（ｎｂ）−ｔｒ，ｎ（ｎｂ））÷ｔｃ）は、遅延が、復号化がバッファ・アンダーフローなくスプライス・ポイント（ピクチャｎ）で始まる場合と少なくとも同じ長さであることを確実にする。ｔｒ，ｎ（ｎｂ）に付加される遅延は、ピクチャｎのためにシグナリングされるＣＰＢＲＤ値と、制約により示されるスタートアップ遅延と、のうちの長い方に応じて設定される。
【０１０５】
そうでなければ（現ピクチャが、１に等しいconcatenation_flagを有するＢＰ  ＳＥＩメッセージに関連付けられていない場合）、名目上の引き抜き時間は、以下のように指定される。
ｔｒ，ｎ（ｎ）＝ｔｒ，ｎ（ｎｂ）＋ｔｃ＊（au_cpb_removal_delay_minus1(n)＋１）
ここで、ｔｒ，ｎ（ｎｂ）は、前のバッファリング期間の最初のアクセス・ユニットの名目上の引き抜き時間であり、au_cpb_removal_delay_minus1(n)は、アクセス・ユニットｎに関連付けられたＰＴ  ＳＥＩメッセージにおけるau_cpb_removal_delay_minus1の値である。
【０１０６】
連結フラグ（concatenation  flag）及び差分値を用いる２値手法に関して、デコーダの複雑さに対する影響及びシンタックス・データの付加量は、最小限で済む。付加されるシンタックス要素（au_cpb_removal_delay_delta_minus1及び関連するconcatenation_flag）は、ＢＰ  ＳＥＩメッセージを有するピクチャのために必要とされるだけであり、これはめったに生じない。スプライシング・オペレーションは、潜在的に格段に単純化される。この手法を用いると、単にスプライシング・ポイントにおけるＲＡＰピクチャのＢＰ  ＳＥＩメッセージにおけるconcatenation_flagの値を１に設定することにより、ビットストリーム間をスプライシングすることが可能となり得る、あるいは、（適切に設計されたリファレンシング構造を使用する）別々に符号化されたビットストリームをスムーズに連結することが可能となり得る。同時に、concatenation_flagが０に等しい場合、指定された制約により、デコーダは、先行するピクチャ（又は、同じ又はより下位のテンポラル・サブレイヤ内の先行するピクチャ）の損失を検出する方法として、制約が満たされるかどうかをチェックすることが可能となる。
【０１０７】
Ｅ．代替的なＣＰＢＲＤのシンタックス及びセマンティックスの条件付き使用
いくつかの変形例では、代替的なＣＰＢＲＤのシンタックス及びセマンティックスの使用又は不使用が、ビットストリームにおいてシグナリングされる。したがって、付加データ量が懸念される場合、追加のシンタックス要素が存在しない場合には従来の解釈（ＢＰ  ＳＥＩメッセージを有する先行するピクチャに対するＣＰＢＲＤ値）が適用され、追加のシンタックス要素の存在が、より高いシンタックス・レベルにおけるフラグの必要条件とされ得る。
【０１０８】
例えば、エンコーダは、単純化されるビデオ・スプライシング・オペレーションのためのサポートを伴うＣＰＢＲＤのシンタックス及びセマンティックスが使用されるかどうかを示す、ビットストリーム内のシーケンス・パラメータ・セット（「ＳＰＳ」）又は他のどこかにおけるオン／オフ値を設定することができる。オン／オフ値が、単純化されるビデオ・スプライシングのためのサポートがオフであることを示す場合、エンコーダは、以前の手法のように、従来のＣＰＢＲＤのシンタックス及びセマンティックスを使用する。オン／オフ値が、単純化されるビデオ・スプライシングのためのサポートがオンであることを示す場合、エンコーダは、（例えば、本明細書で説明した新たな手法のうちの1つに従った、）単純化されるビデオ・スプライシング・オペレーションのためのサポートを伴うＣＰＢＲＤのシンタックス及びセマンティックスを使用する。
【０１０９】
対応するデコーダは、単純化されるビデオ・スプライシング・オペレーションのためのサポートを伴うＣＰＢＲＤのシンタックス及びセマンティックスが使用されるかどうかを示す、ビットストリーム内のアクティブＳＰＳ又は他のどこかにおけるオン／オフ値を受信及び解析する。オン／オフ値が、単純化されるビデオ・スプライシングのためのサポートがオフであることを示す場合、デコーダは、以前の手法のように、従来のＣＰＢＲＤのシンタックス及びセマンティックスを使用する。オン／オフ値が、単純化されるビデオ・スプライシングのためのサポートがオンであることを示す場合、デコーダは、（例えば、本明細書で説明した新たな手法のうちの1つに従った、）単純化されるビデオ・スプライシング・オペレーションのためのサポートを伴うＣＰＢＲＤのシンタックス及びセマンティックスを使用する。
【０１１０】
ビデオ・スプライシング・ツールは、スプライシング・オペレーションをどのように実行するかを決定するとき、オン／オフ・フラグを考慮することができる。オン／オフ値が設定されていない（オフである）場合、スプライシング・ツールは、以前の手法のように、ＣＰＢＲＤ値の調整による従来のスプライシングを使用する。オン／オフ値が設定されている（オンである）場合、スプライシング・ツールは、本明細書で説明したように、単純化した連結オペレーションを使用する。
【０１１１】
Ｆ．復号化ユニットの代替例
前述の例の多くにおいて、ＣＰＢＲＤ値は、ピクチャのために設定又は決定される。そのようなピクチャはまた、プライマリ・ピクチャに対応するアクセス・ユニットと呼ばれ得る。
【０１１２】
代替的に、ＣＰＢＲＤ値は、復号化ユニットのために設定又は決定されてもよい。ここで、復号化ユニットは、プライマリ・ピクチャのアクセス・ユニットのサブセットである。例えば、復号化ユニットは、ピクチャのスライスであり得る。ＨＲＤは、アクセス・ユニットに対して機能してもよいし、（例えば、ピクチャのスライス又は他の部分等の）復号化ユニットに対して機能してもよい。一般に、復号化ユニットに関して、ＣＰＢＲＤ値は、先行するピクチャの最後の復号化ユニットに対するものである。
【０１１３】
本明細書で説明した技術及びツールは、アクセス・ユニット又は復号化ユニットに適用することができる。「ユニット」という語は、アクセス・ユニット又は復号化ユニットを意味し得る。ユニットのＣＰＢＲＤ値は、先行するピクチャに対して表される。アクセス・ユニットに関して、先行するアクセス・ユニットは、解釈に応じて、最後のアクセス・ユニットであってもよいし、同じテンポラル・サブレイヤ又はより下位のテンポラル・サブレイヤ内の最後のアクセス・ユニットであってもよいし、ＢＰ  ＳＥＩメッセージを有する最後のアクセス・ユニットであってもよい。復号化ユニットに関して、そのような先行するアクセス・ユニットの最後の復号化ユニットが考慮される。
【０１１４】
Ｇ．ＣＰＢＲＤのシンタックス及びセマンティックスを修正する技術
図１２は、符号化中にＣＰＢＲＤ値を設定するための一般化された技術（１２００）を示している。図３を参照して上述したもののようなビデオ・エンコーダ又は他のビデオ・エンコーダが、技術（１２００）を実行する。
【０１１５】
エンコーダは、ビデオ・シーケンスの所与のユニットのＣＰＢＲＤ値を設定する（１２１０）。例えば、所与のユニットは、ＢＰ  ＳＥＩメッセージを有し、ランダム・アクセス・ピクチャとすることができるピクチャのアクセス・ユニットである。あるいは、所与のユニットは、そのようなピクチャの一部の復号化ユニットであってもよい。所与のユニットのＣＰＢＲＤ値は、復号化順で先行するピクチャがＢＰ  ＳＥＩメッセージを有しているかどうかにかかわらず、その先行するピクチャの名目上のＣＰＢ引き抜き時間に対するインクリメント値を示す。いくつかの実施例において、先行するピクチャは、復号化順で所与のユニット（又は、所与のユニットを含むピクチャ）の直前に先行するものである。代替的に、所与のユニットと同じテンポラル・サブレイヤ又はより下位のテンポラル・サブレイヤにおけるビデオ・シーケンスのピクチャのうち、先行するピクチャは、復号化順で所与のユニット（又は、所与のユニットを含むピクチャ）の直前に先行するものであってもよい。例えば、テンポラル・サブレイヤが考慮されるとき、現ピクチャが、０に等しいTemporalIdを有する場合、先行するピクチャは、０に等しいTemporalIdを有する先行するピクチャである。
【０１１６】
エンコーダは、所与のユニットのＣＰＢＲＤ値をシグナリングする（１２２０）。例えば、ＣＰＢＲＤ値は、符号化ピクチャのアクセス・ユニットに関連付けられたＢＰ  ＳＥＩメッセージ又はＰＴ  ＳＥＩメッセージ内に書き込まれる。
【０１１７】
いくつかの変形例（例えば、２値手法）において、エンコーダは、異なる決まりに従って、所与のユニットの複数のＣＰＢＲＤ値を潜在的に設定する。例えば、復号化順で先行するピクチャがＢＰ  ＳＥＩメッセージを有しているかどうかにかかわらず、その先行するピクチャの名目上のＣＰＢ引き抜き時間に対するインクリメント値としてＣＰＢＲＤ値を設定する（１２１０）ことに加えて、エンコーダは、所与のユニットの別のＣＰＢＲＤ値を設定する。所与のユニットの別のＣＰＢＲＤ値は、ＢＰ  ＳＥＩメッセージを有する、復号化順で先行するピクチャの名目上のＣＰＢ引き抜き時間に対するインクリメント値を示す。エンコーダは、次いで、（例えば、所与のユニットのＰＴ  ＳＥＩメッセージにおいて）所与のユニットの別のＣＰＢＲＤ値をシグナリングする。エンコーダはまた、ＣＰＢＲＤ値の各々が、それぞれ、存在するか存在しないかの１以上のインジケーションをシグナリングする（例えば、１以上のＳＥＩメッセージ内に書き込む）こともできる。あるいは、エンコーダは、ＣＰＢＲＤ値の各々が、それぞれ、妥当であるか妥当でないかの１以上のインジケーションをシグナリングする（例えば、１以上のＳＥＩメッセージ内に書き込む）ことができる。
【０１１８】
他の変形例（例えば、単一値手法）において、エンコーダは、所与のユニットのＣＰＢＲＤ値のタイプのインジケーションをシグナリングする（例えば、１以上のＳＥＩメッセージ内に書き込む）。例えば、ＣＰＢＲＤ値のタイプのインジケーションは、所与のユニット又は所与のユニットを含むピクチャのＢＰ  ＳＥＩメッセージにおいてシグナリングされる。ＣＰＢＲＤ値のタイプのインジケーションは、所与のユニットのＣＰＢＲＤ値をどのように解釈するかを示し、これは、ＰＴ  ＳＥＩメッセージにおいてシグナリングされ得る。例えば、エンコーダは、ビデオ・シーケンスの所与のユニットのＣＰＢＲＤ値のタイプのインジケーションをシグナリングし、次いで、所与のユニットのＣＰＢＲＤ値を設定する。ＣＰＢＲＤ値の第１のタイプに関して、所与のユニットのＣＰＢＲＤ値は、ＢＰ  ＳＥＩメッセージを有する、復号化順で先行するピクチャの名目上のＣＰＢ引き抜き時間に対するインクリメント値を示す。ＣＰＢＲＤ値の第２のタイプに関して、所与のユニットのＣＰＢＲＤ値は、復号化順で先行するピクチャがＢＰ  ＳＥＩメッセージを有しているかどうかにかかわらず、その先行するピクチャの名目上のＣＰＢ引き抜き時間に対するインクリメント値を示す。エンコーダは、次いで、所与のユニットのＣＰＢＲＤ値をシグナリングする。
【０１１９】
さらに他の変形例（例えば、フラグ及び差分値を用いる２値手法）において、エンコーダは、所与のユニットのＣＰＢＲＤ値のタイプのインジケーションをシグナリングし（例えば、１以上のＳＥＩメッセージ内に書き込み）、差分値を表す、所与のユニットのＣＰＢＲＤ値をシグナリングする。例えば、ＣＰＢＲＤ値のタイプのインジケーション及びＣＰＢＲＤ値（差分値）は、所与のユニット又は所与のユニットを含むピクチャのＢＰ  ＳＥＩメッセージにおいてシグナリングされる。ＣＰＢＲＤ値のタイプに応じて、現ピクチャのＣＰＢＲＤ値は、ＰＴ  ＳＥＩメッセージにおいてシグナリングされ得る。例えば、エンコーダは、ビデオ・シーケンスの所与のユニットのＣＰＢＲＤ値のタイプのインジケーションをシグナリングし、所与のユニットのＣＰＢＲＤ値として、差分値を設定する。所与のユニットの差分値は、所与のユニットのＣＰＢＲＤ値と復号化順で先行するピクチャのＣＰＢＲＤ値との差を示す。エンコーダは、（例えば、ＢＰ  ＳＥＩメッセージにおいて）所与のユニットのＣＰＢＲＤ値として、差分値をシグナリングする。エンコーダはまた、所与のユニットの別のＣＰＢＲＤ値を設定する。ＣＰＢＲＤ値の第１のタイプに関して、別のＣＰＢＲＤ値は、ＢＰ  ＳＥＩメッセージを有する、復号化順で先行するピクチャの名目上のＣＰＢ引き抜き時間に対するインクリメント値を示す。ＣＰＢＲＤ値の第２のタイプに関して、所与のユニットの別のＣＰＢＲＤ値は、妥当でない。エンコーダは、（例えば、ＰＴ  ＳＥＩメッセージにおいて）所与のユニットの別のＣＰＢＲＤ値をシグナリングする。
【０１２０】
エンコーダは、ユニット単位で（例えば、ピクチャ単位で）、技術（１２００）を繰り返すことができる。単純さのため、図１２は、技術（１２００）が他の符号化プロセスとともにどのように機能するかを示してはいない。
【０１２１】
図１３は、ＣＰＢＲＤ値がピクチャのために設定される場合の、単一値手法に従って、符号化中にＣＰＢＲＤ値を設定するための例示的な技術（１３００）を示している。図３を参照して上述したもののようなビデオ・エンコーダ又は他のビデオ・エンコーダが、技術（１３００）を実行する。
【０１２２】
まず、エンコーダは、ビデオ・シーケンス内の現ピクチャを取得する（１３１０）。エンコーダは、現ピクチャがＢＰ  ＳＥＩメッセージを有しているかどうかをチェックする（１３２０）。現ピクチャがＢＰ  ＳＥＩメッセージを有していない場合、エンコーダは、ＢＰ  ＳＥＩメッセージを有する、復号化順で先行するピクチャの名目上のＣＰＢ引き抜き時間に対するインクリメント値として、ＰＴ  ＳＥＩメッセージにおける現ピクチャのＣＰＢＲＤ値を設定する（１３６０）。
【０１２３】
一方、現ピクチャが、ＢＰ  ＳＥＩメッセージを有している場合、エンコーダは、現ピクチャのＢＰ  ＳＥＩメッセージにおける連結フラグ値を設定する（１３３０）。フラグの値に応じて（１３４０）、エンコーダは、現ピクチャのＣＰＢＲＤ値を、異なる態様で設定することができる。フラグが１に等しい場合、エンコーダは、復号化順で先行するピクチャがＢＰ  ＳＥＩメッセージを有しているかどうかにかかわらず、その先行するピクチャの名目上のＣＰＢ引き抜き時間に対するインクリメント値として、ＰＴ  ＳＥＩメッセージにおける現ピクチャのＣＰＢＲＤ値を設定する（１３５０）。そうでなければ（フラグが０に等しい場合）、エンコーダは、ＢＰ  ＳＥＩメッセージを有する、復号化順で先行するピクチャの名目上のＣＰＢ引き抜き時間に対するインクリメント値として、ＰＴ  ＳＥＩメッセージにおける現ピクチャのＣＰＢＲＤ値を設定する（１３６０）。
【０１２４】
エンコーダは、終了かどうかをチェックし（１３７０）、終了でない場合、現ピクチャとして次のピクチャを続ける。単純さのため、図１３は、技術（１３００）が他の符号化プロセスとともにどのように機能するかを示してはいない。
【０１２５】
図１４は、復号化中にＣＰＢＲＤ値を処理するための一般化された技術（１４００）を示している。図４を参照して上述したもののようなビデオ・デコーダ又は他のビデオ・デコーダが、技術（１４００）を実行する。
【０１２６】
デコーダは、ビデオ・シーケンスの所与のユニットのＣＰＢＲＤ値を受信する（１４１０）。例えば、所与のユニットは、ＢＰ  ＳＥＩメッセージを有し、ランダム・アクセス・ピクチャとすることができるピクチャのアクセス・ユニットである。あるいは、所与のユニットは、そのようなピクチャの一部の復号化ユニットであってもよい。所与のユニットのＣＰＢＲＤ値は、復号化順で先行するピクチャがＢＰ  ＳＥＩメッセージを有しているかどうかにかかわらず、その先行するピクチャの名目上のＣＰＢ引き抜き時間に対するインクリメント値を示す。いくつかの実施例において、先行するピクチャは、復号化順で所与のユニット（又は、所与のユニットを含むピクチャ）の直前に先行するものである。代替的に、所与のユニットと同じテンポラル・サブレイヤ又はより下位のテンポラル・サブレイヤにおけるビデオ・シーケンスのピクチャのうち、先行するピクチャは、復号化順で所与のユニット（又は、所与のユニットを含むピクチャ）の直前に先行するものであってもよい。例えば、テンポラル・サブレイヤが考慮されるとき、現ピクチャが、０に等しいTemporalIdを有する場合、先行するピクチャは、０に等しいTemporalIdを有する先行するピクチャである。
【０１２７】
デコーダは、所与のユニットのＣＰＢＲＤ値を解析する（１４２０）。例えば、符号化ピクチャのアクセス・ユニットに関連付けられたＢＰ  ＳＥＩメッセージ又はＰＴ  ＳＥＩメッセージからのＣＰＢＲＤ値が解析される。
【０１２８】
いくつかの変形例（例えば、２値手法）において、デコーダは、異なる決まりに従って解釈されるべき、所与のユニットの複数のＣＰＢＲＤ値を潜在的に受信及び解析する。例えば、復号化順で先行するピクチャがＢＰ  ＳＥＩメッセージを有しているかどうかにかかわらず、その先行するピクチャの名目上のＣＰＢ引き抜き時間に対するインクリメント値として設定されたＣＰＢＲＤ値に加えて、デコーダは、所与のユニットの（例えば、所与のユニットのＰＴ  ＳＥＩメッセージからの）別のＣＰＢＲＤ値を受信及び解析する。所与のユニットの別のＣＰＢＲＤ値は、ＢＰ  ＳＥＩメッセージを有する、復号化順で先行するピクチャの名目上のＣＰＢ引き抜き時間に対するインクリメント値を示す。デコーダはまた、ＣＰＢＲＤ値の各々が、それぞれ、存在するか存在しないかの１以上のインジケーションを受信及び解析することもできる。あるいは、デコーダは、ＣＰＢＲＤ値の各々が、それぞれ、妥当であるか妥当でないかの１以上のインジケーションを受信及び解析することができる。
【０１２９】
他の変形例（例えば、単一値手法）において、デコーダは、所与のユニットのＣＰＢＲＤ値のタイプのインジケーションを受信及び解析する。例えば、所与のユニット又は所与のユニットを含むピクチャのＢＰ  ＳＥＩメッセージからのＣＰＢＲＤ値のタイプのインジケーションが解析される。ＣＰＢＲＤ値のタイプのインジケーションは、所与のユニットのＣＰＢＲＤ値をどのように解釈するかを示し、ＰＴ  ＳＥＩメッセージからのＣＰＢＲＤ値が解析され得る。例えば、デコーダは、ビデオ・シーケンスの所与のユニットのＣＰＢＲＤ値のタイプのインジケーションを受信及び解析し、次いで、所与のユニットのＣＰＢＲＤ値を受信及び解析する。ＣＰＢＲＤ値の第１のタイプに関して、所与のユニットのＣＰＢＲＤ値は、ＢＰ  ＳＥＩメッセージを有する、復号化順で先行するピクチャの名目上のＣＰＢ引き抜き時間に対するインクリメント値を示す。ＣＰＢＲＤ値の第２のタイプに関して、所与のユニットのＣＰＢＲＤ値は、復号化順で先行するピクチャがＢＰ  ＳＥＩメッセージを有しているかどうかにかかわらず、その先行するピクチャの名目上のＣＰＢ引き抜き時間に対するインクリメント値を示す。
【０１３０】
さらに他の変形例（例えば、フラグ及び差分値を用いる２値手法）において、デコーダは、所与のユニットのＣＰＢＲＤ値のタイプのインジケーションを受信及び解析し、差分値を表す、所与のユニットのＣＰＢＲＤ値を受信及び解析する。例えば、所与のユニット又は所与のユニットを含むピクチャのＢＰ  ＳＥＩメッセージからのＣＰＢＲＤ値のタイプのインジケーション及びＣＰＢＲＤ値（差分値）が解析される。ＣＰＢＲＤ値のタイプに応じて、ＰＴ  ＳＥＩメッセージからの所与のユニットのＣＰＢＲＤ値が解析され得る。例えば、デコーダは、ビデオ・シーケンスの所与のユニットのＣＰＢＲＤ値のタイプのインジケーションを受信及び解析し、（例えば、ＢＰ  ＳＥＩメッセージからの）所与のユニットのＣＰＢＲＤ値としての差分値を受信及び解析する。所与のユニットの差分値は、所与のユニットのＣＰＢＲＤ値と復号化順で先行するピクチャのＣＰＢＲＤ値との差を示す。デコーダはまた、（例えば、ＰＴ  ＳＥＩメッセージからの）所与のユニットの別のＣＰＢＲＤ値を受信及び解析する。妥当である場合、所与のユニットの別のＣＰＢＲＤ値は、ＢＰ  ＳＥＩメッセージを有する、復号化順で先行するピクチャの名目上のＣＰＢ引き抜き時間に対するインクリメント値を示す。
【０１３１】
所与のユニットのＣＰＢＲＤ値を解析した後、デコーダは、ＣＰＢＲＤ値を利用することができる。例えば、所与のユニットのＣＰＢＲＤ値に少なくとも部分的に基づいて、デコーダは、所与のユニットのＣＰＢからの、名目上の引き抜き時間を計算することができる。
【０１３２】
デコーダは、ユニット単位で（例えば、ピクチャ単位で）、技術（１４００）を繰り返すことができる。単純さのため、図１４は、技術（１４００）が他の復号化プロセスとともにどのように機能するかを示してはいない。
【０１３３】
図１５は、ＣＰＢＲＤ値がピクチャのために設定される場合の、単一値手法に従って、復号化中にＣＰＢＲＤ値を判定するための例示的な技術（１５００）を示している。図４を参照して上述したもののようなビデオ・デコーダ又は他のビデオ・デコーダが、技術（１５００）を実行する。
【０１３４】
まず、デコーダは、ビデオ・シーケンス内の現ピクチャを取得する（１５１０）。デコーダは、現ピクチャがＢＰ  ＳＥＩメッセージを有しているかどうかをチェックする（１５２０）。現ピクチャがＢＰ  ＳＥＩメッセージを有していない場合、デコーダは、ＢＰ  ＳＥＩメッセージを有する、復号化順で先行するピクチャの名目上のＣＰＢ引き抜き時間に対するインクリメント値として、ＰＴ  ＳＥＩメッセージにおける現ピクチャのＣＰＢＲＤ値を解釈する（１５６０）。
【０１３５】
一方、現ピクチャが、ＢＰ  ＳＥＩメッセージを有している場合、デコーダは、現ピクチャのＢＰ  ＳＥＩメッセージにおける連結フラグ値を取得する（１５３０）。フラグの値に応じて（１５４０）、デコーダは、現ピクチャのＣＰＢＲＤ値を、異なる態様で解釈することができる。フラグが１に等しい場合、デコーダは、復号化順で先行するピクチャがＢＰ  ＳＥＩメッセージを有しているかどうかにかかわらず、その先行するピクチャの名目上のＣＰＢ引き抜き時間に対するインクリメント値として、ＰＴ  ＳＥＩメッセージにおける現ピクチャのＣＰＢＲＤ値を解釈する（１５５０）。そうでなければ（フラグが０に等しい場合）、デコーダは、ＢＰ  ＳＥＩメッセージを有する、復号化順で先行するピクチャの名目上のＣＰＢ引き抜き時間に対するインクリメント値として、ＰＴ  ＳＥＩメッセージにおける現ピクチャのＣＰＢＲＤ値を解釈する（１５６０）。
【０１３６】
デコーダは、終了かどうかをチェックし（１５７０）、終了でない場合、現ピクチャとして次のピクチャを続ける。単純さのため、図１５は、技術（１５００）が他の復号化プロセスとともにどのように機能するかを示してはいない。
【０１３７】
図１６は、ビットストリームをスプライシングするための一般化された技術（１６００）を示している。ビデオ・スプライシング・ツールが、技術（１６００）を実行する。
【０１３８】
スプライシング・ツールは、第１ビデオ・シーケンスの第１ビットストリームを受信する（１６１０）とともに、第２ビデオ・シーケンスの第２ビットストリームを受信する（１６２０）。第２ビデオ・シーケンスの所与のユニットのＣＰＢＲＤ値は、復号化順で先行するピクチャがＢＰ  ＳＥＩメッセージを有しているかどうかにかかわらず、その先行するピクチャの名目上のＣＰＢ引き抜き時間に対するインクリメント値を示す。
【０１３９】
スプライシング・ツールは、第２ビデオ・シーケンスの少なくとも一部分を、第１ビデオ・シーケンスにスプライシングする（１６３０）。スプライシングの一部として、スプライシング・ツールは、所与のユニット又は所与のユニットを含むピクチャで始まる第２ビデオ・シーケンスを、第１ビデオ・シーケンスに連結する。例えば、スプライシング・ツールは、所与のユニット又は所与のユニットを含むピクチャのＢＰ  ＳＥＩメッセージ（ＢＰ  ＳＥＩメッセージは、所与のユニットのＣＰＢＲＤ値のタイプのインジケーションと、いくつかの変形例においては、所与のユニットの第１のＣＰＢＲＤ値と、を含む）と、ＰＴ  ＳＥＩメッセージ（ＰＴ  ＳＥＩメッセージは、所与のユニットのＣＰＢＲＤ値と、いくつかの変形例においては、所与のユニットの第２のＣＰＢＲＤ値と、を含む）と、を連結する。
【０１４０】
いくつかの実施例において、所与のユニットの（例えば、ＰＴ  ＳＥＩメッセージにおける）第２のＣＰＢＲＤ値は、ＢＰ  ＳＥＩメッセージを有する、復号化順で先行するピクチャの名目上のＣＰＢ引き抜き時間に対するインクリメント値を示す。この場合、スプライシングの一部として、スプライシング・ツールは、所与のユニットの他の第２のＣＰＢＲＤを破棄してもよいし、妥当でないものとして、所与のユニットの他の第２のＣＰＢＲＤをマーキングしてもよい。
【０１４１】
図１７は、ＣＰＢＲＤ値がピクチャのために設定される場合の、フラグ及び差分値を用いる２値手法に従って、符号化中にＣＰＢＲＤ値を設定するための例示的な技術（１７００）を示している。図３を参照して上述したもののようなビデオ・エンコーダ又は他のビデオ・エンコーダが、技術（１７００）を実行する。
【０１４２】
まず、エンコーダは、ビデオ・シーケンス内の現ピクチャを取得する（１７１０）。エンコーダは、現ピクチャがＢＰ  ＳＥＩメッセージを有しているかどうかをチェックする（１７２０）。現ピクチャがＢＰ  ＳＥＩメッセージを有していない場合、エンコーダは、ＢＰ  ＳＥＩメッセージを有する、復号化順で先行するピクチャの名目上のＣＰＢ引き抜き時間に対するインクリメント値として、ＰＴ  ＳＥＩメッセージにおける現ピクチャのＣＰＢＲＤ値を設定する（１７６０）。
【０１４３】
一方、現ピクチャが、ＢＰ  ＳＥＩメッセージを有している場合、エンコーダは、現ピクチャのＢＰ  ＳＥＩメッセージにおける連結フラグ値を設定する（１７３０）。フラグの値に応じて（１７４０）、エンコーダは、現ピクチャのＣＰＢＲＤ値を、異なる態様で設定することができる。
【０１４４】
フラグが１に等しい場合、エンコーダは、任意の値を有する、ＰＴ  ＳＥＩメッセージにおける現ピクチャのＣＰＢＲＤ値を設定する（１７５０）。なぜならば、ＰＴ  ＳＥＩメッセージにおける現ピクチャのＣＰＢＲＤ値は、無視されることになるからである。現ピクチャのＢＰ  ＳＥＩメッセージにおけるＣＰＢＲＤ値（差分値）が、復号化順で先行するピクチャの名目上のＣＰＢ引き抜き時間に対するインクリメント値として解釈されることになる。
【０１４５】
そうでなければ（フラグが０に等しい場合）、エンコーダは、復号化順で先行するピクチャが、ＢＰ  ＳＥＩメッセージを有しているかどうかをチェックする（１７４２）。復号化順で先行するピクチャが、ＢＰ  ＳＥＩメッセージを有している場合、ＰＴ  ＳＥＩメッセージにおける現ピクチャのＣＰＢＲＤ値が、（現ピクチャのＢＰ  ＳＥＩメッセージにおけるＣＰＢＲＤ値）＋１に等しくなるように、エンコーダは、現ピクチャのＢＰ  ＳＥＩメッセージにおけるＣＰＢＲＤ値を設定する（１７４４）。そうでなければ（先行するピクチャが、ＢＰ  ＳＥＩメッセージを有していない場合）、ＰＴ  ＳＥＩメッセージにおける現ピクチャのＣＰＢＲＤ値が、（ＰＴ  ＳＥＩメッセージにおける前のピクチャのＣＰＢＲＤ値）＋（現ピクチャのＢＰ  ＳＥＩメッセージにおけるＣＰＢＲＤ値（差分値））＋１に等しくなるように、エンコーダは、現ピクチャのＢＰ  ＳＥＩメッセージにおけるＣＰＢＲＤ値を設定する（１７４６）。エンコーダはまた、ＢＰ  ＳＥＩメッセージを有する、復号化順で先行するピクチャの名目上のＣＰＢ引き抜き時間に対するインクリメント値として、ＰＴ  ＳＥＩメッセージにおける現ピクチャのＣＰＢＲＤ値を設定する（１７６０）。
【０１４６】
エンコーダは、終了かどうかをチェックし（１７７０）、終了でない場合、現ピクチャとして次のピクチャを続ける。単純さのため、図１７は、技術（１７００）が他の符号化プロセスとともにどのように機能するかを示してはいない。
【０１４７】
図１８は、ＣＰＢＲＤ値がピクチャのために設定される場合の、フラグ及び差分値を用いる２値手法に従って、復号化中にＣＰＢＲＤ値を判定するための例示的な技術（１８００）を示している。図４を参照して上述したもののようなビデオ・デコーダ又は他のビデオ・デコーダが、技術（１８００）を実行する。
【０１４８】
まず、デコーダは、ビデオ・シーケンス内の現ピクチャを取得する（１８１０）。デコーダは、現ピクチャがＢＰ  ＳＥＩメッセージを有しているかどうかをチェックする（１８２０）。現ピクチャがＢＰ  ＳＥＩメッセージを有していない場合、デコーダは、ＢＰ  ＳＥＩメッセージを有する、復号化順で先行するピクチャの名目上のＣＰＢ引き抜き時間に対するインクリメント値として、ＰＴ  ＳＥＩメッセージにおける現ピクチャのＣＰＢＲＤ値を解釈する（１８６０）。
【０１４９】
一方、現ピクチャがＢＰ  ＳＥＩメッセージを有している場合、デコーダは、現ピクチャのＢＰ  ＳＥＩメッセージにおける連結フラグ値を取得する（１８３０）。フラグの値に応じて（１８４０）、デコーダは、現ピクチャのＣＰＢＲＤ値を、異なる態様で解釈することができる、あるいは、現ピクチャのＣＰＢＲＤ値を無視することさえできる。
【０１５０】
フラグが１に等しい場合、デコーダは、ＰＴ  ＳＥＩメッセージにおける現ピクチャのＣＰＢＲＤ値を無視する（１８５０）。現ピクチャのＢＰ  ＳＥＩメッセージにおけるＣＰＢＲＤ値（差分値）が、復号化順で先行するピクチャの名目上のＣＰＢ引き抜き時間に対するインクリメント値として解釈される。
【０１５１】
そうでなければ（フラグが０に等しい場合）、デコーダは、先行するピクチャがＢＰ  ＳＥＩメッセージを有しているかどうかをチェックする（１８４２）。先行するピクチャがＢＰ  ＳＥＩメッセージを有している場合、デコーダは、ＰＴ  ＳＥＩメッセージにおける現ピクチャのＣＰＢＲＤ値が、（現ピクチャのＢＰ  ＳＥＩメッセージにおけるＣＰＢＲＤ値）＋１に等しいことを確認することができる（１８４４）。そうでなければ（先行するピクチャがＢＰ  ＳＥＩメッセージを有していない場合）、デコーダは、ＰＴ  ＳＥＩメッセージにおける現ピクチャのＣＰＢＲＤ値が、（ＰＴ  ＳＥＩメッセージにおける前のピクチャのＣＰＢＲＤ値）＋（現ピクチャのＢＰ  ＳＥＩメッセージにおけるＣＰＢＲＤ値（差分値））＋１に等しいことを確認することができる（１８４６）。デコーダはまた、ＢＰ  ＳＥＩメッセージを有する、復号化順で先行するピクチャの名目上のＣＰＢ引き抜き時間に対するインクリメント値として、ＰＴ  ＳＥＩメッセージにおける現ピクチャのＣＰＢＲＤ値を解釈する（１８６０）。
【０１５２】
デコーダは、終了かどうかをチェックし（１８７０）、終了でない場合、現ピクチャとして次のピクチャを続ける。単純さのため、図１８は、技術（１８００）が他の復号化プロセスとともにどのように機能するかを示してはいない。
【０１５３】
Ｈ．変形例及び代替例
詳細な説明は、ＳＥＩメッセージのためのシンタックス及びセマンティックスの多くの例を含む。場合によっては、これらの例は、一般に、Ｈ．２６４／ＡＶＣ規格及び／又はＨＥＶＣ規格において使用されるＳＥＩメッセージの形に従う。より一般的に、「ＳＥＩメッセージ」又は「ＶＵＩメッセージ」という語は、シンタックス要素が、参照されるＨ．２６４／ＡＶＣ規格又はＨＥＶＣ規格において規定されるＳＥＩシンタックス又はＶＵＩシンタックスを用いてシグナリングされるか、符号化ビデオ・ビットストリーム内の他のシンタックスにおいてシグナリングされるか、あるいは何らかの他の手段によりシグナリングされるかにかかわらず、本明細書で説明した例示的なＳＥＩメッセージ又はＶＵＩメッセージの１以上のシンタックス構造において伝達される情報と同等の少なくとも何らかの情報を伝達する符号化ビデオ・データに関連付けられたシンタックス要素の任意のセットを示す。
【０１５４】
開示した本発明の原理を適用することができる多くの可能な実施形態の観点から、例示した実施形態は、本発明の好ましい例に過ぎないことを認識すべきであり、本発明の範囲を限定するものとして解釈すべきではない。むしろ、本発明の範囲は、請求項により定められる。したがって、我々は、請求項の範囲及び主旨に含まれる全てを、我々の発明として特許請求する。
【図１】
0006312704.tif 000002
【図２ａ】
0006312704.tif 000003
【図２ｂ】
0006312704.tif 000004
【図３】
0006312704.tif 000005
【図４】
0006312704.tif 000006
【図５】
0006312704.tif 000007
【図６】
0006312704.tif 000008
【図７】
0006312704.tif 000009
【図８】
0006312704.tif 000010
【図９】
0006312704.tif 000011
【図１０】
0006312704.tif 000012
【図１１】
0006312704.tif 000013
【図１２】
0006312704.tif 000014
【図１３】
0006312704.tif 000015
【図１４】
0006312704.tif 000016
【図１５】
0006312704.tif 000017
【図１６】
0006312704.tif 000018
【図１７】
0006312704.tif 000019
【図１８】
0006312704.tif 000020