(57)【要約】　　　（修正有）【課題】ビデオデコーダの入力バッファがオーバーフローまたはアンダーフローを生じないようにビットストリームを符号化するために必要なリソースを提供する。【解決手段】複数のリーキーバケットによるＨＲＤモデルは、ピーク伝送速度に基づき、リーキーバケットの集合から適切なリーキーバケットを算出することができる。このモデルは、このピーク伝送速度がビデオデコーダに対して既知である場合に作用することができるが、ピーク伝送速度を決定することができない場合に、リーキーバケットの集合から適切なビットストリーム制約条件を選択するための方法であって、この方法により、ビットストリーム制約条件に関して用いるべき一定のデフォルト値が確保され、デコーダはビットストリームを正確に符号化することができる。【選択図】　図３
2004040739.tif 000002
【特許請求の範囲】
【請求項１】
ハイポセティカルレファレンスデコーダモデルに関する適切なビットストリーム制約条件を選択するための方法であって、エンコーダまたはサーバが、
ＣＢＲ（固定ビット速度）符号化である場合には、ＣＢＲ変数に関して第１のＨＲＤ（ハイポセティカルレファレンスデコーダ）モデルを設定するか、またはＶＢＲ（可変ビット速度）符号化である場合には、ＶＢＲ変数に関して設定することによって、固定であれ、可変であれ、一定の符号化ビット速度でシーケンスを符号化するステップと、
前記ビットストリームに基づきリーキーバケット変数の他の可能な集合を得るステップと、
前記ストリームのヘッダに、リーキーバケット変数の前記集合のすべてを挿入するステップと、
サービスタイプに応じて、前記サーバによる可能伝送速度（Ｒ）を決定するステップと、
利用可能な前記伝送速度および前記リーキーバケット変数に基づき、前記ビットストリーム制約条件を決定するステップと、
第２のＨＲＤモデルに関する前記ビットストリーム制約条件に従うことによって、前記伝送速度（Ｒ）で前記ストリームを送信するステップと、
前記第２のＨＲＤモデルが仮想デコーダのバッファフルネスを検出する場合には、送信を停止することによって、ビットストリーム送信プロセスを調整するステップと、を含む方法。
【請求項２】
ハイポセティカルレファレンスデコーダモデルに関する適切なビットストリーム制約条件を選択するための方法であって、エンコーダまたはサーバが、
ＣＢＲ（固定ビット速度）符号化である場合には、ＣＢＲ変数に関して第１のＨＲＤ（ハイポセティカルレファレンスデコーダ）モデルを設定するか、またはＶＢＲ（可変ビット速度）符号化である場合には、ＶＢＲ変数に関して設定することによって、固定であれ、可変であれ、一定の符号化ビット速度でシーケンスを符号化するステップと、
前記ビットストリームに基づきリーキーバケット変数の他の可能な集合を得るステップと、
前記ストリームヘッダの予め定義された位置にリーキーバケット変数の前記集合を配置するステップであって、その点は、デコーダが伝送速度に関して既知でなく、かつ前記デコーダがよりすぐれた性能を得るためにリーキーバケット変数の前記集合を選択しなければならない場合に対応するようになっているステップと、
前記ストリームのヘッダに、リーキーバケット変数の前記集合の残りを挿入するステップと、
サービスタイプに応じて、前記サーバによる可能伝送速度（Ｒ）を決定するステップと、
利用可能な前記伝送速度および前記リーキーバケット変数に基づき、前記ビットストリーム制約条件を決定するステップと、
第２のＨＲＤモデルに関する前記ビットストリーム制約条件に従うことによって、前記伝送速度（Ｒ）で前記ストリームを送信するステップと、
前記第２のＨＲＤモデルが仮想デコーダのバッファフルネスを検出する場合には、送信を停止することによって、ビットストリーム送信プロセスを調整するステップと、を含む方法。
【請求項３】
ハイポセティカルレファレンスデコーダモデルに関する適切なビットストリーム制約条件を選択するための方法であって、エンコーダまたはサーバが、
ＣＢＲ（固定ビット速度）符号化である場合には、ＣＢＲ変数に関して第１のＨＲＤ（ハイポセティカルレファレンスデコーダ）モデルを設定するか、またはＶＢＲ（可変ビット速度）符号化である場合には、ＶＢＲ変数に関して設定することによって、固定であれ、可変であれ、一定の符号化ビット速度でシーケンスを符号化するステップと、
前記ビットストリームに基づきリーキーバケット変数の可能な集合を得るステップと、
前記ストリームのヘッダに、リーキーバケット変数の前記集合を挿入するステップと、
デコーダまたはネットワークのいずれかから、端末性能およびネットワーク性能を受信するステップと、
前記受信された端末性能およびネットワーク性能、利用可能な前記リーキーバケット変数に基づき、最大伝送速度（Ｒ）およびビットストリーム制約条件を決定するステップと、
前記決定された伝送速度（Ｒ）を前記デコーダに送信するステップと、
第２のＨＲＤモデルに関する前記ビットストリーム制約条件に従うことによって、前記決定された伝送速度（Ｒ）で前記ストリームを送信するステップと、
前記第２のＨＲＤモデルが仮想デコーダのバッファフルネスを検出する場合には、送信を停止することによって、ビットストリーム送信プロセスを調整するステップと、を含む方法。
【請求項４】
ハイポセティカルレファレンスデコーダモデルに関する適切なビットストリーム制約条件を選択するための方法であって、エンコーダまたはサーバが、
ＣＢＲ（固定ビット速度）符号化である場合には、ＣＢＲ変数に関して第１のＨＲＤ（ハイポセティカルレファレンスデコーダ）モデルを設定するか、またはＶＢＲ（可変ビット速度）符号化である場合には、ＶＢＲ変数に関して設定することによって、固定であれ、可変であれ、一定の符号化ビット速度でシーケンスを符号化するステップと、
前記ビットストリームに基づきリーキーバケット変数の可能な集合を得るステップと、
前記ストリームヘッダの予め定義された位置にリーキーバケット変数の前記集合を配置するステップであって、その点は、デコーダが前記サーバにフィードバックされることができず、かつ前記デコーダがよりすぐれた性能を得るためにリーキーバケット変数の前記集合を選択しなければならない場合に対応するようになっているステップと、
前記ビットストリームのヘッダに、リーキーバケット変数の前記集合の残りを挿入するステップと、
デコーダまたはネットワークのいずれかから、端末性能およびネットワーク性能を受信するステップと、
前記受信された端末性能およびネットワーク性能、利用可能な前記リーキーバケット変数に基づき、最大伝送速度（Ｒ）およびビットストリーム制約条件を決定するステップと、
第２のＨＲＤモデルに関する前記ビットストリーム制約条件に従うことによって、前記最大伝送速度（Ｒ）で前記ストリームを送信するステップと、
前記第２のＨＲＤモデルが仮想デコーダのバッファフルネスを検出する場合には、送信を停止することによって、ビットストリーム送信プロセスを調整するステップと、を含む方法。
【請求項５】
ハイポセティカルレファレンスデコーダモデルに関する適切なビットストリーム制約条件を選択するための方法であって、デコーダが、
前記リーキーバケット変数を満たすビットストリーム制約条件を有するビットストリームを受信するステップと、
前記ストリームを前記デコーダに送信するために、前記エンコーダまたはサーバによって用いられる伝送速度を得るステップと、
前記ビットストリームヘッダからリーキーバケット変数の前記集合のすべてを得るステップと、
前記伝送速度に基づき、前記リーキーバケット変数を決定するステップと、
前記リーキーバケット変数に基づき、最小バッファサイズおよびバッファ遅延を決定するステップと、
前記デコーダにおける前記バッファサイズに基づき、十分なメモリを割り当てるステップと、
前記バッファ遅延に従うことによって、前記ビットストリームの復号化を開始するステップと、を含む方法。
【請求項６】
ハイポセティカルレファレンスデコーダモデルに関する適切なビットストリーム制約条件を選択するための方法であって、デコーダが、
前記リーキーバケット変数を満たすビットストリーム制約条件を有するビットストリームを受信するステップと、
前記伝送速度が既知でない場合には、前記ヘッダにおける前記予め定義された位置からリーキーバケット変数の前記集合を得るステップと、
前記リーキーバケット変数に基づき、最小バッファサイズおよびバッファ遅延を決定するステップと、
前記デコーダにおける前記バッファサイズに基づき、十分なメモリを割り当てるステップと、
前記バッファ遅延に従うことによって、前記ビットストリームの復号化を開始するステップと、を含む方法。
【請求項７】
ハイポセティカルレファレンスデコーダモデルに関する適切なビットストリーム制約条件を選択するための方法であって、デコーダが、
前記リーキーバケット変数を満たすビットストリーム制約条件を有するビットストリームを受信するステップと、
前記ビットストリームヘッダからリーキーバケット変数の前記集合のすべてを得るステップと、
前記復号化プロセスの開始前に、前記デコーダから端末の性能およびネットワーク性能に関して前記サーバにフィードバックするステップと、
前記サーバから伝送速度値を受信するステップと、
前記伝送速度に基づき前記リーキーバケット変数を決定するステップと、
前記リーキーバケット変数に基づき、最小バッファサイズおよびバッファ遅延を決定するステップと、
前記デコーダにおける前記バッファサイズに基づき、十分なメモリを割り当てるステップと、
前記バッファ遅延に従うことによって、前記ビットストリームの復号化を開始するステップと、を含む方法。
【請求項８】
ハイポセティカルレファレンスデコーダモデルに関する適切なビットストリーム制約条件を選択するための方法であって、デコーダが、
前記リーキーバケット変数を満たすビットストリーム制約条件を有するビットストリームを受信するステップと、
前記端末性能およびネットワーク性能に関して、前記サーバにフィードバックされない場合には、前記ヘッダにおける前記予め定義された位置から前記リーキーバケット変数を得るステップと、
前記リーキーバケット変数に基づき、最小バッファサイズおよびバッファ遅延を決定するステップと、
前記デコーダにおける前記バッファサイズに基づき、十分なメモリを割り当てるステップと、
前記バッファ遅延に従うことによって、前記ビットストリームの復号化を開始するステップと、を含む方法。
【請求項９】
前記エンコーダは、前記バッファがオーバーフローまたはアンダーフローを生じないようにするために、前記第１のＨＲＤモデルを用いて、ビットストリームを符号化するステップと、を含む請求項１〜４に記載のハイポセティカルレファレンスデコーダに基づく適切なビットストリーム制約条件の選択のための方法。
【請求項１０】
前記ビットストリーム制約条件が前記ビットストリーム、必要な最小デコーダの入力バッファサイズ、最小デコーダの初期開始遅延を考慮した最大伝送速度を含む請求項１〜８に記載のハイポセティカルレファレンスデコーダに基づく適切なビットストリーム制約条件の選択のための方法。
【請求項１１】
前記ビットストリームに基づきリーキーバケット変数の他の前記可能な集合を得るステップは、
可能な伝送速度の集合を選択するステップと、
各前記伝送速度に基づき最小デコーダの入力バッファサイズを決定するステップと、
各前記伝送速度に基づき最小デコーダの初期開始遅延を決定するステップと、を含む請求項１〜４に記載のハイポセティカルレファレンスデコーダに基づく適切なビットストリーム制約条件の選択のための方法。
【請求項１２】
各前記伝送速度に基づき前記最小デコーダの入力バッファサイズを決定するステップは、
所定のサイズの大きな仮想デコーダバッファを作成するステップと、
符号化されたビデオの各圧縮フレームのサイズを決定するステップと、
前記伝送速度をビデオのフレーム速度で分割することによって、各フレーム間隔で前記仮想デコーダバッファへの入力サイズを算出するステップと、
前記フレーム間隔における前記フレームを減じた後に、各フレーム間隔における前記仮想デコーダバッファの残りのサイズを算出するステップと、
前記残りのサイズを算出した後に、各フレーム間隔における前記入力サイズを前記仮想デコーダバッファのサイズを追加するステップと、
仮想デコーダバッファの前記サイズが前記所定サイズより大きい場合には、仮想デコーダバッファの前記サイズを前記所定サイズに設定するステップと、
ビデオシーケンスの全持続時間に関する最小の前記残りのサイズを決定するステップと、
前記最小残りサイズに関して、前記仮想デコーダバッファの前記所定のサイズを減じることによって、前記最小デコーダの入力サイズを算出するステップと、を含む請求項１，２，３，４，１１に記載のハイポセティカルレファレンスデコーダに基づく適切なビットストリーム制約条件の選択のための方法。
【請求項１３】
各前記伝送速度に基づく前記最小デコーダの初期遅延を決定するステップは、
前記算出された前記最小デコーダのバッファサイズを得るステップと、
前記最小デコーダのバッファサイズを前記伝送速度で分割することによって、前記最小デコーダの初期遅延を算出するステップと、を含む請求項１，２，３，４，１１に記載のハイポセティカルレファレンスデコーダに基づく適切なビットストリーム制約条件の選択のための方法。
【請求項１４】
各前記サービスタイプが、前記サーバの可能伝送速度によって特徴付けられることができる請求項１または２に記載のハイポセティカルレファレンスデコーダに基づく適切なビットストリーム制約条件の選択のための方法。
【請求項１５】
前記伝送速度およびリーキーバケット変数の２つ以上の集合に基づく前記ビットストリーム制約条件を決定するステップは、
前記伝送速度に最も近い最大伝送速度を有するリーキーバケット変数の２つの集合を得るステップと、
前記リーキーバケット変数の前記最大伝送速度を有する前記伝送速度に基づく相対強度を用いてリーキーバケット変数の前記２つの集合の最小バッファサイズを補間することによって、最小デコーダの入力バッファサイズを算出するステップと、
前記リーキーバケット変数の前記最大伝送速度を有する前記送信に基づく相対強度を用いてリーキーバケット変数の前記２つの集合の最小デコーダの初期遅延を補間することによって、最小デコーダの初期遅延を算出するステップと、を含む請求項１または２に記載のハイポセティカルレファレンスデコーダに基づく適切なビットストリーム制約条件の選択のための方法。
【請求項１６】
前記ビデオシーケンスがＣＢＲ符号化である場合には、前記ビットストリームヘッダの前記予め定義された位置におけるリーキーバケット変数のデフォルトの集合は、ＣＢＲリーキーバケット変数である請求項２，４，６，８に記載のハイポセティカルレファレンスデコーダに基づく適切なビットストリーム制約条件の選択のための方法。
【請求項１７】
前記可能伝送速度が前記デコーダによって決定されることができない場合には、前記ビットストリームヘッダの前記予め定義された位置におけるリーキーバケット変数のデフォルトの集合から前記ビットストリーム制約条件を決定することができる請求項２，６，１６に記載のハイポセティカルレファレンスデコーダに基づく適切なビットストリーム制約条件の選択のための方法。
【請求項１８】
前記端末性能およびネットワーク性能がデコーダによってフィードバックされることができない場合には、前記ビットストリームヘッダの前記予め定義された位置におけるリーキーバケット変数のデフォルトの集合から前記ビットストリーム制約条件を決定することができる請求項４，８，１６に記載のハイポセティカルレファレンスデコーダに基づく適切なビットストリーム制約条件の選択のための方法。
【請求項１９】
前記可能伝送速度が前記デコーダによって決定されることができない場合には、前記ストリームが、前記リーキーバケット変数の前記デフォルトの集合の前記最大伝送速度で送信される請求項２，１６，１７に記載のハイポセティカルレファレンスデコーダに基づく適切なビットストリーム制約条件の選択のための方法。
【請求項２０】
前記端末性能およびネットワーク性能がデコーダによってフィードバックされることができない場合には、前記ストリームが、前記リーキーバケット変数の前記デフォルトの集合の前記最大伝送速度で送信される請求項４，１６，１８に記載のハイポセティカルレファレンスデコーダに基づく適切なビットストリーム制約条件の選択のための方法。
【請求項２１】
前記仮想デコーダのサイズが、ビットストリーム制約条件の最小バッファサイズによって決定される請求項１〜４に記載のハイポセティカルレファレンスデコーダに基づく適切なビットストリーム制約条件の選択のための方法。
【請求項２２】
前記端末性能が、前記デコーダの入力バッファの物理サイズを含む請求項３，４，７，８に記載のハイポセティカルレファレンスデコーダに基づく適切なビットストリーム制約条件の選択のための方法。
【請求項２３】
前記ネットワーク性能が、前記ネットワークの平均可能チャネル速度を含む請求項３，４，７，８に記載のハイポセティカルレファレンスデコーダに基づく適切なビットストリーム制約条件の選択のための方法。
【請求項２４】
前記端末性能に基づく最大伝送速度を決定するステップは、
前記デコーダの前記物理入力バッファサイズを得るステップと、
前記物理入力バッファサイズに最も近い最小デコーダの入力バッファサイズを有するリーキーバケット変数の２つの集合を得るステップと、
前記物理入力バッファサイズを有する前記リーキーバケット変数の前記入力バッファサイズに基づく相対強度を用いて、リーキーバケット変数の前記２つの集合の最大伝送速度を補間することによって、前記最大伝送速度を算出するステップと、を含む請求項３，４，２２に記載のハイポセティカルレファレンスデコーダに基づく適切なビットストリーム制約条件の選択のための方法。
【請求項２５】
１つのみのリーキーバケットが利用可能である場合には、前記ビットストリーム制約条件が前記リーキーバケットによって定義される請求項１〜８に記載のハイポセティカルレファレンスデコーダに基づく適切なビットストリーム制約条件の選択のための方法。
【請求項２６】
前記エンコーダまたはサーバによって用いられる前記伝送速度が、前記ビットストリームの前記ヘッダによって前記デコーダに送信される請求項５に記載のハイポセティカルレファレンスデコーダに基づく適切なビットストリーム制約条件の選択のための方法。
【請求項２７】
前記エンコーダまたはサーバによって用いられる前記伝送速度が、前記ビットストリーム伝送チャネル以外の個別の通信チャネルによって前記デコーダに送信されることができる請求項５に記載ハイポセティカルレファレンスデコーダに基づく適切なビットストリーム制約条件の選択のための方法。
【請求項２８】
前記端末性能およびネットワーク性能が、前記デコーダで決定され、個別のアップリンクチャネルを通じて前記サーバに送信される請求項７に記載のハイポセティカルレファレンスデコーダに基づく適切なビットストリーム制約条件の選択のための方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、特にＩＳＯ／ＩＥＣ　１４４９６−２　パート１０標準において、送信されるビットストリームと受信デコーダとの間の相互運用性を確保するために、任意の高度マルチメディアデータ符号化および配信の分野に用いられることができる。ＩＳＯ／ＩＥＣ　１４４９６−２　パート１０の委員会草案で提案された現在のハイポセティカルレファレンスデコーダ（ｈｙｐｏｔｈｅｔｉｃａｌ　ｒｅｆｅｒｅｎｃｅ　ｄｅｃｏｄｅｒ）は、ハイポセティカルレファレンスデコーダモデルにおける特徴の一部を用いるために、デコーダの一定の特性が存在することを想定している。これらの特性には、伝送速度を決定するためのデコーダの性能および伝送速度を制御するためにストリーミングサーバと通信を行うためのデコーダの性能が挙げられる。このようなデコーダの特性は標準に定められていないが、デコーダにこれらの特性がない状態では、ビットストリームとデコーダの相互運用性がほとんど実現することができない。これらの特性がデコーダに欠けている場合に、本発明は、ビットストリームおよびデコーダの伝送の両方に関する一定の挙動を制限したり強化したりするのに役立つ。
【０００２】
【従来の技術】
ハイポセティカルレファレンスデコーダ（ＨＲＤ）は、ビデオエンコーダまたはサーバのための仮想モデルである。ＨＲＤは、符号化されたデータストリームのビット速度の変動を制御するために、ビデオエンコーダの出力部で通常用いられる。ＨＲＤは、ビデオデコーダの入力バッファがオーバーフローまたはアンダーフローを起こさないように、ビットストリームおよびビデオデコーダに制約条件（ｃｏｎｓｔｒａｉｎｔｓ）を設ける。
【０００３】
リーキーバケットは、ビットストリームにおける数学的制約条件である。これはチャネルのピーク速度Ｒ、バッファサイズＢ、初期デコーダバッファフルネスＦによって特徴付けられる。ＩＳＯ／ＩＥＣ　１４４９６−２　パート１０の委員会草案における現在のハイポセティカルレファレンスデコーダにおいて、ビットストリームは、複数のリーキーバケット（Ｒ１，Ｂ１，Ｆ１），．．．（ＲＮ，ＢＮ，ＦＮ），Ｎ＞１によって制約されると考えられる。ＨＲＤは、２つのモードの操作、対話アプリケーション用低遅延モードおよび受信専用アプリケーション用遅延許容モードを有する。低遅延モードが用いられる場合には、１つのリーキーバケット変数のみがビットストリームヘッダで符号化される。遅延許容モードが用いられる場合には、２つ以上のリーキーバケット変数を符号化することができる。
【０００４】
遅延許容モードに関してビットストリームが固定ビット速度（ＣＢＲ）で符号化される場合には、ビットストリームの制約条件を示すために、ＣＢＲリーキーバケットを符号化することができる。同一のビットストリームが固定ビット速度で送信される場合に、このリーキーバケットが用いられる。また、可変ビット速度（ＶＢＲ）で送信される場合には、ビットストリームの制約条件を定義するために、ビットストリームのヘッダにおいて、追加のＶＢＲリーキーバケットを符号化することもできる。
【０００５】
図１は、２つ以上のリーキーバケットが用いられる場合のピーク伝送速度ＲとバッファサイズＢとの関係を示している。同様に、初期デコーダバッファフルネスＦは、ピーク伝送速度Ｒとの同様の関係に従っている。
【０００６】
したがって、特定のピーク伝送速度Ｒが与えられると、式１〜７に基づくリーキーバケットから最小バッファサイズＢＭＩＮおよび最小初期デコーダフルネスＦＭＩＮを決定することが可能である。
Ｎ＞１である場合、
Ｒ＜Ｒ１に関して
Ｂｍｉｎ（Ｒ）＝Ｂ１＋（Ｒ１‐Ｒ）Ｔ　　　　　　　　　　　　　　　（１）
Ｆｍｉｎ（Ｒ）＝Ｆ１　　　　　　　　　　　　　　　　　　　　　　　（２）
Ｒ＞ＲＮに関して
Ｂｍｉｎ（Ｒ）＝ＢＮ　　　　　　　　　　　　　　　　　　　　　　　（３）
Ｆｍｉｎ（Ｒ）＝ＦＮ　　　　　　　　　　　　　　　　　　　　　　　（４）
ｎ＞１であるとき、Ｒｎ＜Ｒ＜Ｒｎ＋１に関して
Ｂｍｉｎ（Ｒ）＝αＢｎ＋（１‐α）Ｂｎ＋１　　　　　　　　　　　　（５）
Ｆｍｉｎ（Ｒ）＝αＦｎ＋（１‐α）Ｆｎ＋１　　　　　　　　　　　　（６）
α＝（Ｒｎ＋１‐Ｒ）／（Ｒｎ＋１‐Ｒｎ）　　　　　　　　　　　　　（７）
【０００７】
図２は、リーキーバケットによりビットストリーム制約条件を決定するためのプロセスを示している。第一に、モジュール２０１に示されているように、リーキーバケット変数が、ビットストリームヘッダから決定される。特に低遅延モードが用いられる場合に、リーキーバケットが１つしか存在しないのであれば、モジュール２０３に示されているように、リーキーバケットは、ビットストリーム制約条件として用いられる。リーキーバケットが２つ以上存在するのであれば、モジュール２０４に示されているように、ビットストリームは、ＣＢＲまたはＶＢＲを用いて送信されるかどうか確かめる決定がなされる。ビットストリームがＣＢＲで送信され、ＣＢＲリーキーバケットが存在する場合には、モジュール２０８に示されているように、ＣＢＲリーキーバケットは、ビットストリーム制約条件として用いられる。ＣＢＲリーキーバケットが存在しないか、またはビットストリームがＣＢＲで送信されない場合には、モジュール２０５に示されているように、ピーク伝送速度Ｒが決定される。次に、決定されたＲおよび式１〜７に基づいて、ビットストリーム制約条件が算出される。
【０００８】
【発明が解決しようとする課題】
先行技術に示されているハイポセティカルレファレンスデコーダは、ビデオデコーダでなされた一定の仮定に基づいている。これらの仮定は、ピーク伝送速度Ｒを決定するためのデコーダの手段およびビットストリームの伝送速度を制御するためのデコーダの手段を含む。「知的」デコーダは、おそらく、用いられるピーク伝送速度を決定するために、ピーク伝送速度を検知するか、またはビデオストリーミングサーバまたはビデオエンコーダと通信を行うことができるであろう。しかし、「性能の劣った」デコーダの場合には、これらの特徴を実現することは難しいと思われる。
【０００９】
ピーク伝送速度値の決定または信号送信のための方法は、ＩＳＯ／ＩＥＣ　１４４９６−２　パート１０の委員会の現在の草案の基準に従っていない。このことは、デコーダとビットストリームの相互運用性をビットストリーム制約条件として困難にしており、ピーク伝送速度Ｒが既知でない場合には、正確に決定することができない。これは、今日、実際のピーク伝送速度としての実際の実行は、伝送チャネルの両端との一定の通信がなければ、正確に決定することができない事実である。したがって、性能の劣ったデコーダ、すなわちＲを決定する能力が欠けているデコーダの場合には、デコーダの入力バッファにオーバーフローまたはアンダーフローが生じないように、ビットストリームを制限するための一定の制約条件はない。
【００１０】
【課題を解決するための手段】
問題を克服するために、適切なビットストリーム制約条件の選択のための新たな方法が用いられる。この新たな選択方法は、最適なビットストリーム制約条件を正確に選択するために、デコーダでビットストリームを正確に復号化することができるように、ビットストリームおよびビデオデコーダの両方に適用されることができる。
【００１１】
現在、先行技術の選択方法は、最適なビットストリーム制約条件を選択するために、ピーク伝送を用いている。本発明の新規である点は、本発明は、ピーク伝送速度を決定することができない場合であっても、リーキーバケットの集合から最適なビットストリーム制約条件を選択することができることである。本発明は、そのような状況を生じるように、ビットストリームおよびビデオデコーダの両方に関してデフォルトのビットストリーム制約条件を設定する。したがって、このことは、異なる性能を持つように構築された異なるデコーダで同時に使用することができるビットストリームを形成する。言い方を換えれば、「知的」デコーダおよび「性能の劣った」デコーダの両方で、同一のビットストリームを符号化することができる。
【００１２】
【作用】
本発明の作用について、以下に説明する。実時間およびオンデマンドストリーミングの両方に関して、サーバ側アプリケーションおよびビデオデコーダアプリケーションの両方に本発明を適用することができる。本発明は、用いるべき最適なビットストリーム制約条件を選択するために、符号化されたビットストリームの実際の伝送の前に、サーバ側アプリケーションによって適用される。
【００１３】
図３は、サーバ側アプリケーションにおいて本発明を用いる実施例を示している。実時間およびオンデマンドストリーミングの両方に関して、モジュール３０１に示されているように、本発明の適用前に、リーキーバケットは予め決定されている。次に、本発明は、モジュール３０２に示されているように、必要なＢＭｉｎ，ＲＭａｘ，ＦＭｉｎ値を決定するために用いられる。次に、モジュール３０３に示されているように、仮想デコーダバッファを作成するために、算出されたＢＭｉｎ，ＦＭｉｎ値を用いる。仮想デコーダバッファの状態に基づき、デコーダの力バッファがオーバーフローまたはアンダーフローを生じないようにするために、ビット速度調整装置がビットストリームの品質または伝送速度を制御する。ビットストリームが伝送されるピーク伝送速度がＲＭａｘに設定される。
【００１４】
図４は、ビデオデコーダアプリケーションにおける本発明を用いる実施例を示している。図３と同様に、モジュール４０１において、ビットストリームヘッダからリーキーバケット変数が決定される。次に、モジュール４０２に示されているように、必要なＢＭｉｎ，ＲＭａｘ，ＦＭｉｎ値を決定するために用いられる。モジュール４０３に示されているように、ＢＭｉｎ値はビデオデコーダの入力バッファを作成するために用いられる。入力ビットストリームは、ピークビデオ伝送速度ＲＭａｘでビデオデコーダの入力バッファを満たす。データのＦＭｉｎ量を受信するとすぐに、モジュール４０４に示されているように、ビデオデコーダは、入力バッファにおけるビットの符号化を開始する。
【００１５】
上述したように、ビデオデコーダが時期尚早に停止しないようにするために、ビットストリームの符号化および送信は、ビットストリーム制約条件を満たさなければならない。同様に、デコーダの入力バッファサイズおよび初期開始遅延も、これらのビットストリーム制約条件を満たさなければならない。これらを満たした場合にのみ、ビットストリームは、ビデオデコーダによって復号化されることができるように保証される。
【００１６】
【発明の実施の形態】
本発明は、デコーダにおけるピーク伝送速度の検出が可能でない状況であっても、ビットストリームの送信およびデコーダの両方に関して、制約条件（Ｃｏｎｓｔｒａｉｎｔｓ）を設定する。図５は、デコーダ側の本発明を示している。先行技術と同様に、モジュール５０１において、リーキーバケット変数がビットストリームヘッダから復号化される。リーキーバケットが１つしか存在しないのであれば、モジュール５０３に示されているように、リーキーバケットは、ビットストリーム制約条件として用いられる。リーキーバケットが２つ以上存在するのであれば、モジュール５０４に示されているように、デコーダが、ピーク伝送速度を決定する性能があるかどうかを点検する。ピーク伝送速度を決定することができない場合には、モジュール５０６に示されているように、デコーダが、ＣＢＲに関するリーキーバケットが存在するかどうかを点検する。ＣＢＲに関するリーキーバケットがビットストリームヘッダに存在する場合には、モジュール５１０に示されているように、リーキーバケットは、ビットストリーム制約条件として用いられる。そうでない場合には、デコーダは、モジュール５１１，５１２に示されているように、ビットストリームヘッダの予め定義された位置で発見されたＶＢＲリーキーバケットをビットストリーム制約条件として用いる。本実施例では、予め定義された位置が、第１の位置である。本発明では、ビットストリームヘッダにおける第１のＶＢＲリーキーバケットは、最も遅い伝送速度または最も小さいバッファサイズのリーキーバケットである必要はない。ピーク伝送速度を決定することができない場合に、用いるべき最も適切なＶＢＲリーキーバケットを設定することは、エンコーダに左右される。
【００１７】
他方、ピーク伝送速度を決定することができる場合には、ビットストリーム制約条件の算出および決定を行うために、先行技術の場合と同一のステップが行われる。モジュール５０５において、ビットストリームがＣＢＲまたはＶＢＲで送信されているかどうかをデコーダが点検する。ＣＢＲで送信されている場合には、モジュール５０９において、ＣＢＲリーキーバケットがビットストリームヘッダに存在しているかどうかをデコーダが点検する。存在している場合には、モジュール５１０において、リーキーバケットはビットストリーム制約条件として用いられる。存在していない場合には、ビットストリームがＶＢＲで送信される場合と同様に、ビットストリーム制約条件が算出される。モジュール５０７において、ピーク伝送速度が決定され、モジュール５０８において、ビットストリーム制約条件を算出するために用いられる。
【００１８】
図６は、エンコーダで用いられる場合の本発明を示している。ステップは、モジュール６０４以外は、図５と全く同一である。モジュール６０４において、エンコーダまたはサーバは、デコーダがピーク伝送速度を決定する性能があるかどうか、またはデコーダにピーク伝送速度を送信することができるかどうかを点検しなければならない。デコーダがピーク伝送速度値の受信または決定を行うことができると、エンコーダまたはサーバが保証する場合に限り、サーバまたはエンコーダはこのピーク伝送速度で伝送する。そうでない場合には、ＣＢＲリーキーバケットが利用可能であるならば、サーバまたはエンコーダは固定ビット速度で伝送する。ＣＢＲリーキーバケットがビットストリームヘッダで符号化されない場合には、サーバまたはエンコーダはチャネルを通じてビットストリームを伝送するために、ビットストリームヘッダで符号化された第１のＶＢＲリーキーバケットを用いる。
【００１９】
図７は、デコーダがサーバとデコーダ自体との間のピーク伝送速度を決定することができる実施例を示している。サーバは、このピーク伝送速度値で同期化され、ピーク伝送速度でビデオビットストリームを送信するために、デコーダを用いて通信を行う。サーバおよびデコーダの両方が、仮想ビデオバッファおよび入力ビデオバッファをそれぞれ構築するために必要なビットストリーム制約条件を導出する。サーバは、ビットストリームの伝送を調整するために、この仮想バッファに基づく。デコーダは、サーバから送信されたデオビットストリームを受信するために、入力ビデオバッファを用いる。
【００２０】
図８は、デコーダがサーバに戻るネットワークまたは端末の性能をフィードバックさせることができる場合の別の実施例を示している。サーバは、必要な伝送速度を導出するために、フィードバックチャネルの能力またはデコーダの物理バッファサイズに基づいている。この導出された伝送速度をデコーダに送信する。サーバおよびデコーダの両方が、仮想ビデオバッファおよび入力ビデオバッファをそれぞれ構築するために必要なビットストリーム制約条件を導出する。ビットストリームは、この導出された伝送速度に基づき、デコーダに伝送される。
【００２１】
図９および図１０は、デコーダが伝送速度を決定することができず、ネットワークまたは端末の性能がサーバにそれぞれフィードバックすることができない場合の実施例を示している。いずれの場合も、サーバおよびデコーダの両方が、ビットストリームヘッダで発見されたリーキーバケット変数のデフォルトのを用いる。ＣＢＲリーキーバケット変数の集合が存在する場合には、デフォルトの設定は、リーキーバケット変数のＣＢＲ設定であるものとする。サーバおよびデコーダの両方が、仮想ビデオバッファおよび入力ビデオバッファをそれぞれ構築するためにリーキーバケット変数のデフォルトの集合を用いる。次に、デフォルトのリーキーバケット変数のピーク伝送速度に基づき、ビットストリームがデコーダに伝送される。
【００２２】
【発明の効果】
エンコーダおよびデコーダの両方に関して、ビットストリーム制約条件を同期化させることがきわめて重要である。そうでなければ、ビットストリームを受信したとき、デコーダの入力バッファがオーバーフローまたはアンダーフローを生じる恐れがある。本発明の効果は、異なるタイプのデコーダで符号化されたビットストリームの相互運用性にある。伝送されたビットストリームの復号化および表示の際に、利用者がよりよい体験をすることになる点から、この効果は明白である。
【図面の簡単な説明】
【図１】ピーク伝送速度ＲとデコーダのバッファサイズＢとの関係を示す。
【図２】先行技術におけるＨＲＤリーキーバケットによりビットストリーム制約条件を決定するための手順を示す。
【図３】サーバまたはエンコーダにおける本発明を用いた実施例を示す。
【図４】デコーダにおける本発明を用いた実施例を示す。
【図５】サーバまたはエンコーダ側でビットストリーム制約条件を決定するためのプロセスにおける本発明を示す。
【図６】デコーダ側でビットストリーム制約条件を決定するためのプロセスにおける本発明を示す。
【図７】伝送速度Ｒがデコーダによって決定されることができる場合におけるエンコーダ、サーバ、デコーダの関係の実施例を示す。
【図８】ネットワークまたは端末の性能がデコーダによってフィードバックされることができる場合におけるエンコーダ、サーバ、デコーダの関係の実施例を示す。
【図９】伝送速度Ｒがデコーダによって決定されることができない場合におけるエンコーダ、サーバ、デコーダの関係の実施例を示す。
【図１０】ネットワークまたは端末の性能がデコーダによってフィードバックされることができない場合におけるエンコーダ、サーバ、デコーダの関係の実施例を示す。
【符号の説明】
２０１　ビットストリームヘッダからリーキーバケット変数を決定するモジュール
２０２　Ｎ＞１であるかどうかによって分岐するモジュール
２０３　リーキーバケットが１つしか存在しない場合に、リーキーバケットが、ビットストリーム制約条件として用いられるモジュール
２０４　リーキーバケットが２つ以上存在する場合に、ビットストリームが、ＣＢＲまたはＶＢＲのどちらを用いて送信されるかどうか確かめる決定がなされるモジュール
２０５　ビットストリームがＶＢＲで送信される場合に、ピーク伝送速度Ｒが決定されるモジュール
２０６　Ｒを用いてＢＭｉｎおよびＦＭｉｎを算出するモジュール、
２０７　ビットストリームがＣＢＲで送信され、ＣＢＲリーキーバケットが存在するかどうかによる分岐モジュール
２０８　ビットストリームがＣＢＲで送信され、ＣＢＲリーキーバケットが存在する場合に、ＣＢＲリーキーバケットが、ビットストリーム制約条件として用いられるモジュール
３０１　Ｎ個のリーキーバケット変数を決定するモジュール
３０２　必要なＢＭｉｎ，ＲＭａｘ，ＦＭｉｎ値を決定するためのモジュール
３０３　算出されたＢＭｉｎ，ＦＭｉｎ値を用いて、仮想デコーダバッファを作成するモジュール
３０４　ビットストリームビット速度調整装置がビットストリームの品質または伝送速度を制御するモジュール
４０１　ビットストリームヘッダからリーキーバケット変数を決定するモジュール
４０２　必要なＢＭｉｎ，ＲＭａｘ，ＦＭｉｎ値を決定するためのモジュール
４０３　ＢＭｉｎ値を用いて、ビデオデコーダの入力バッファを作成するモジュール
４０４　入力バッファにおけるビットの符号化を開始するモジュール
５０１　ビットストリームヘッダからリーキーバケット変数を復号化するモジュール
５０２　Ｎ＞１であるかどうかによって分岐するモジュール
５０３　リーキーバケットが１つしか存在しない場合に、リーキーバケットが、ビットストリーム制約条件として用いられるモジュール
５０４　リーキーバケットが２つ以上存在する場合に、デコーダが、ピーク伝送速度を決定する性能があるかどうかを点検するモジュール
５０５　ビットストリームがＣＢＲまたはＶＢＲで送信されているかどうかをデコーダが点検するモジュール
５０６　ピーク伝送速度を決定することができない場合に、デコーダが、ＣＢＲに関するリーキーバケットが存在するかどうかを点検するモジュール
５０７　ピーク伝送速度が決定されるモジュール
５０８　Ｒを用いてＢＭｉｎおよびＦＭｉｎを算出するモジュール
５０９　ＣＢＲで送信されている場合に、ＣＢＲリーキーバケットがビットストリームヘッダに存在しているかどうかをデコーダが点検するモジュール
５１０　ＣＢＲに関するリーキーバケットがビットストリームヘッダに存在する場合に、リーキーバケットが、ビットストリーム制約条件として用いられるモジュール
５１１　デフォルトのＶＢＲリーキーバケット変数を得るモジュール
５１２　ビットストリームヘッダの予め定義された位置で発見されたＶＢＲリーキーバケットをビットストリーム制約条件として用いるモジュール
６０１　ビットストリームヘッダからリーキーバケット変数を復号化するモジュール
６０２　Ｎ＞１であるかどうかによって分岐するモジュール
６０３　リーキーバケットが１つしか存在しない場合に、リーキーバケットが、ビットストリーム制約条件として用いられるモジュール
６０４　エンコーダまたはサーバは、デコーダがピーク伝送速度を決定する性能があるかどうか、またはデコーダにピーク伝送速度を送信することができるかどうかを点検するモジュール
６０５　ビットストリームがＣＢＲまたはＶＢＲで送信されているかどうかをデコーダが点検するモジュール
６０６　ピーク伝送速度を決定することができない場合に、デコーダが、ＣＢＲに関するリーキーバケットが存在するかどうかを点検するモジュール
６０７　ピーク伝送速度が決定されるモジュール
６０８　Ｒを用いてＢＭｉｎおよびＦＭｉｎを算出するモジュール
６０９　ＣＢＲで送信されている場合に、ＣＢＲリーキーバケットがビットストリームヘッダに存在しているかどうかをデコーダが点検するモジュール
６１０　ＣＢＲに関するリーキーバケットがビットストリームヘッダに存在する場合に、リーキーバケットが、ビットストリーム制約条件として用いられるモジュール
６１１　デフォルトのＶＢＲリーキーバケット変数を得るモジュール
６１２　ビットストリームヘッダの予め定義された位置で発見されたＶＢＲリーキーバケットをビットストリーム制約条件として用いるモジュール
【図１】
2004040739.tif 000003
【図２】
2004040739.tif 000004
【図３】
2004040739.tif 000005
【図４】
2004040739.tif 000006
【図５】
2004040739.tif 000007
【図６】
2004040739.tif 000008
【図７】
2004040739.tif 000009
【図８】
2004040739.tif 000010
【図９】
2004040739.tif 000011
【図１０】
2004040739.tif 000012
【外国語明細書】
2004040739.tif 000013
2004040739.tif 000014
2004040739.tif 000015
2004040739.tif 000016
2004040739.tif 000017
2004040739.tif 000018
2004040739.tif 000019
2004040739.tif 000020
2004040739.tif 000021
2004040739.tif 000022
2004040739.tif 000023
2004040739.tif 000024
2004040739.tif 000025
2004040739.tif 000026
2004040739.tif 000027
2004040739.tif 000028
2004040739.tif 000029
2004040739.tif 000030
2004040739.tif 000031
2004040739.tif 000032
2004040739.tif 000033
2004040739.tif 000034
2004040739.tif 000035
2004040739.tif 000036