JP2009017595A - 非同期コード化システムにおける適応性ビットレート制御のための方法および装置 - Google Patents

非同期コード化システムにおける適応性ビットレート制御のための方法および装置 Download PDF

Info

Publication number
JP2009017595A
JP2009017595A JP2008244994A JP2008244994A JP2009017595A JP 2009017595 A JP2009017595 A JP 2009017595A JP 2008244994 A JP2008244994 A JP 2008244994A JP 2008244994 A JP2008244994 A JP 2008244994A JP 2009017595 A JP2009017595 A JP 2009017595A
Authority
JP
Japan
Prior art keywords
video
rate
picture
mpeg
clock
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2008244994A
Other languages
English (en)
Other versions
JP4303775B2 (ja
Inventor
Michael L Olson
エル. オルソン マイケル
Si Jun Huang
ジュン フアン シ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Scientific Atlanta LLC
Original Assignee
Scientific Atlanta LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Scientific Atlanta LLC filed Critical Scientific Atlanta LLC
Publication of JP2009017595A publication Critical patent/JP2009017595A/ja
Application granted granted Critical
Publication of JP4303775B2 publication Critical patent/JP4303775B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/23406Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving management of server-side video buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2401Monitoring of the client buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/242Synchronization processes, e.g. processing of PCR [Program Clock References]

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Transmission Systems Not Characterized By The Medium Used For Transmission (AREA)

Abstract

【課題】非同期コード化システムにおいて、コード化ビットストリームの出力ビットレートを制御する好適な方法を提供すること。
【解決手段】非同期コード化システムにおいて、コード化ビットストリームの出力ビットレートを制御する方法であって、該非同期コード化システムは、第1のクロックを有し、ビットストリームを第1のレートで出力するビデオ圧縮エンジンと、第2のクロックを有し、ビットストリームを第2のレートで出力するビデオエンコーダとを含む。ビットストリームの出力レートを決定する技術であって、その出力レートは、そのビットストリームから読み出された情報を利用可能な帯域幅に適応させることによって決定される技術である。デジタルフライホイールは、連続的なフィードバックを、コード化システムから、ビデオ圧縮エンジンへと、両者のクロックレートが適切に同期化された状態を維持することを確実にするために供給する。
【選択図】図2

Description

(発明の分野)
本発明は、概して、可変レートビットストリームの伝送に関し、より具体的には、起こり得る帯域幅オーバーフローを検出し、防ぐ方法に関する。特に、本発明は、非同期コード化システムにおける、コード化されたビットストリームの適応性のある高精度ビットレート制御に関する。
(発明の背景)
近年、データ、特にビデオデータの伝送は、ビデオデータがしばしば高帯域幅を必要とし、バースト的(bursty)であり、時間的制約があるいうことに関連する問題点を提示して来た。従来、データ伝送は、電話会社によって提供される公衆変換回線網またはパケットネットワークで行われてきた。公衆変換回線網は、双方向音声用途用に設計されており、従って、厳しい時間的制約を満たす比較的低い帯域幅の回路を提供する。パケットネットワークは、コンピュータシステム間のデータ転送用に設計されている。唯一の制約は、データが最終的にその宛先に到達するということである。転送に関して利用可能な帯域幅は、ネットワークにおける輻輳の程度に依存する。従って、典型的には、パケットネットワークは、大量のデータのうちのあるデータが、いつ宛先に到達するかを保証しないし、どのような順序で到達するかということさえ保証しない。
従って、電話ネットワークもパケットネットワークも、時間的制約がある、高帯域幅のバーストデータの処理に良好に適応していないことが認識され得る。このようなデータの一例は、ISO/IEC13818−1および13818−2に示されるように、Motion Picture Experts Group(「MPEG」)MPEG−2規格に従って圧縮されたデジタルテレビである。
MPEG−2規格は、ビデオのデジタル表現を圧縮するためのコード化方式を定義する。そのコード化方式は、概して、ビデオイメージの空間的かつ時間的な冗長性が高いということを利用している。所与のビデオイメージは、領域全体が同じ外観である部分を複数有しているので、空間的冗長性がある。領域が広くなり、領域の数が増大するにつれ、イメージにおける空間的冗長度はより高くなる。シーケンス内のある所与のビデオイメージとその前後のイメージとの間に大きな変化がないことが多いので、時間的冗長性がある。2つのビデオイメージ間の変化が少なければ少ないほど、時間的冗長度はより高くなる。1イメージにおける空間的冗長度が高くなり、そのイメージが属するイメージシーケンス内の時間的冗長度が高くなるほど、その次に続くイメージを表すために必要になる情報のビットはより少なくなる。
MPEG−2圧縮方式は、圧縮されたピクチャのシーケンスとしてビデオイメージのシーケンスを提示し、各ピクチャは特定のときにデコードされる必要がある。ピクチャを圧縮し得る方法は三つある。第1の方法はイントラコーディングと呼ばれ、他のピクチャを参照することなく圧縮が行われる方法である。このコード化技術は、空間的冗長性を低減するが、時間的冗長性は低減されない。得られるピクチャは、概して、コード化によって空間的かつ時間的冗長性がともに低減したピクチャよりも大きい。この方法でコード化されたピクチャはI−ピクチャと呼ばれる。ある程度の数のI−ピクチャがシーケンスにおいて必要とされる。これは、第1に、シーケンス内の最初のピクチャはI−ピクチャである必要があり、第2に、I−ピクチャは伝送エラーからの復元を可能にするからである。
時間的冗長性は、前方または後方または両方のピクチャからの変化のセットとしてピクチャをコード化することによって低減される。MPEG−2においては、これは、移動補償された前方予測および後方予測を用いて実行される。ピクチャが前方移動補償予測のみを使用する場合、そのピクチャは予測コード化ピクチャ(Predictive−coded picture)またはPピクチャと呼ばれる。ピクチャが前方移動補償予測および後方移動補償予測の両方を用いる場合、2方向予測コード化ピクチャ(bi−directional predictive−coded picture)、または、省略してBピクチャと呼ばれる。概して、PピクチャはIピクチャよりもビットが少なく、Bピクチャは最もビット数が少ない。従って、所与のピクチャシーケンスをMPEG−2フォーマットでコード化するために必要なビット数は、ピクチャ内容自体だけでなく、上述のピクチャコード化タイプの分布に依存する。前述の記載から明らかなように、ニュース番組のメインキャスターのイメージをコード化するために必要なピクチャのシーケンスは、MTVでの曲の演奏のために必要なシーケンスよりも、I−ピクチャの数も少なく、大きさも小さく、BピクチャおよびPピクチャも小さい。結果として、ニュース番組のメインキャスターのイメージのMPEG−2表現は、MTVのシーケンスのイメージのMPEG−2表現よりもずっと小さくなる。
MPEG−2ピクチャは、典型的には、民生電子デバイス、すなわち、ケーブルテレビ(「CATV」)サービスプロバイダによって提供されるデジタルテレビやセットトップボックスなどの受信器によって受信される。デバイスの制約によって、MPEG−2ピクチャを格納するために利用可能なメモリの量が制限され得る。さらに、そのピクチャは、動画を生成するために用いられている。結果として、MPEG−2ピクチャは、次のMPEG−2ピクチャが必要なときに利用可能であり、現在送信されているピクチャを入れる空間がメモリ内にあるように、適切な順序でかつ時間間隔で、受信器に到達する必要がある。この技術において、データが足りなくなってしまったメモリはアンダーフローしたと言われ、一方保持できるデータよりも多いデータを受け取ってしまったメモリはオーバーフローしたと言われる。アンダーフローの場合、TVピクチャの動きは次のMPEG−2ピクチャが到達するまで停止する必要があり、オーバーフローの場合、メモリに納まらなかったデータは単に失われるだけである。
また、MPEG−2が、可変かつバースト的なビデオデータストリームと可変ビットレートコード化ストリームとの区別を理解することが重要である。実際、MPEG−2のもとでは、一定ビットレートストリーム(「CBR」)と可変ビットレートストリーム(「VBR」)が定義される。コード化されたCBRビデオシーケンスにおいては、比較的に動きの少ないテレビのニュースキャスターは、依然として、規定されたビットレートでコード化される。CBRシステムの制約は、ビデオ「パイプ(pipe)」が満たされていることを要求するので、Iピクチャ、PピクチャおよびBピクチャはすべて依然として比較的大きい。VBRにおいては、ビデオパイプを満たすというシステムの要求はないので、伝送されるピクチャは必要とされるだけの大きさである。
図1は、テレビイメージのシーケンスのMPEG−2ビットストリーム表現を搬送するチャネル16によって接続されているデジタルピクチャソース12およびテレビ14を含むシステム10を表す。デジタルピクチャソース12は、イメージの非圧縮デジタル表示(「UDR」)18を生成し、UDR18は、可変ビットレート(「VBR」)エンコーダ20に送られる。VBRエンコーダ20は、非圧縮デジタル表現をコード化して、可変レートビットストリーム(「VRBS」)22を生成する。可変レートビットストリーム22は、可変長の圧縮デジタルピクチャ24(a...n)のシーケンスである。MPEG−2規格に従ってコード化されるとき、ピクチャの長さは、イメージの複雑さと、I−ピクチャ、P−ピクチャまたはB−ピクチャのいずれであるかということとに依存する。さらに、ピクチャの長さは、VBRエンコーダ20のコード化レートに依存する。そのレートは、変更され得る。概して、より多くのビットが用いられてピクチャがコード化されるほど、画質は、より良好になる。
VRBS22は、チャネル16を介してVBRデコーダ26に転送される。VBRデコーダ26は、圧縮デジタルピクチャ24(a...n)をデコードして、非圧縮デジタルピクチャ28を生成する。次に、非圧縮デジタルピクチャ28は、テレビ14に供給される。テレビ14がデジタルテレビである場合、直接供給される。そうでない場合には、非圧縮デジタルピクチャ(「UDP」)28を標準アナログテレビ信号に変換し、これらの信号をテレビ14に供給する他の要素がある。当然、1つのエンコーダ20の出力を受け取るVBRデコーダ26の数は、任意の数であり得る。
図1において、チャネル16は、VRBS22を、パケット30のシーケンスとして転送する。パケットのシーケンスは、MPEG−2規格関連で、パケット基本ストリーム、または「PES」として公知である。従って、圧縮デジタルピクチャ24は、図1において、パケット30の可変長シーケンスとして表されている。従って、ピクチャ24(a)は「n」個のパケットを有し得、ピクチャ24(n)は、「k」個のパケットを有する。各ピクチャ24には、タイミング情報32が含まれる。タイミング情報は、2種類の情報、すなわち、クロック情報およびタイムスタンプを含む。クロック情報は、デコーダ26をエンコーダ20と同期化させるために用いられる。MPEG−2規格は、このクロック情報のことを、プログラムクロック基準(「PCR」)と呼ぶ。タイムスタンプは、いつピクチャがデコードされるかを規定するデコードタイムスタンプ(「DTS」)と、いつピクチャが実際に表示されるかを規定するプレゼンテーションタイムスタンプ(「PTS」)とを含む。タイムスタンプにおいて規定される時間は、クロック情報に関して規定される。VBRデコーダ26は、ピクチャ24をデコードし、これをTV14に供給するまで格納する、比較的少量のメモリを含む。このメモリを、図1において参照符号34で示し、以下、デコーダのビットバッファと呼ぶ。ビットバッファ34の大きさは、少なくとも、最大限のあり得るMPEG−2ピクチャを保持するために十分な大きさである必要がある。さらに、デコーダ26が、TV14にとって適切なときにピクチャ24を利用可能にすることができ、ビットバッファ34が決してオーバーフローまたはアンダーフローしないように、チャネル16はピクチャ24をビットバッファ34に供給する必要がある。ビットバッファ34は、デコーダがピクチャのタイムスタンプにおいてピクチャのデコードを開始する時間として規定される時間までに、ピクチャ24内のビットの全てがビットバッファに到達しなかった場合に、アンダーフローする。
次に、図2を参照すると、ここに典型的なMPEG−2エンコーダインプリメンテーションの概念的なブロック図が示されている。このインプリメンテーションにおいて固有の問題点は、以下により詳細に説明されるが、ビデオコード化エンジンからの可変PESビットレートがシステムレートと一致しないことに関する。この不一致によって生じる問題点は、明らかになる。図2に示すように、生のビデオ入力40は、ビデオコード化エンジン42に結合され、ビデオコード化エンジン42において、例えば、MPEG−2コード化アルゴリズムによって圧縮される。一定ビットレート(CBR)コード化システムにおいて、MPEG−2コード化エンジンは、コード化ビットバッファ44にあるコード化されたビットが、一定ビットレートRで、コード化システム、すなわち、FPGAトランスポートパケット化器46に伝えられると想定している。このビットレートは、コード化ビットバッファレベルまたはシステムがコード化されたデータをコード化ビットストリームバッファから取り出す速度とは無関係に、ビデオコード化エンジンの内部ビットレート計算に依存する。この取り出す速度は、Rとして公知である。
図2に示すように、コード化ビットストリームは、コード化ビットストリームバッファ44からトランスポートパケット化器46に、ビットレートRで伝えられる。トランスポートパケット化器46においてトランスポートパケットヘッダを追加することに起因して、トランスポートストリームパケット化器出力レートRは、Rと異なる(R>R)。CBRリアルタイムデジタルコード化システムにおいて、コード化されたビットが、デコーダ入力ビットバッファ(図1の34)に、生成された元のビットレートで連続的に供給されることがきわめて重要である。RがRと等しい場合、デコーダのバッファの制限は破られない。すなわち、オーバーフローまたはアンダーフローという結果のいずれにもならない。反対に、ビットが、R以外のビットレートでデコーダの入力ビットバッファに入る場合、デコーダバッファのオーバーフローまたはアンダーフローが起き、デコーダの出力におけるビデオの乱れが引き起こされる。可能な解決策の1つとして、コード化エンジンおよびコード化ビットストリーム処理回路の両方の制御に1つのシステムクロックを用いることを要求することである。しかし、図2に示す、現実世界におけるインプリメンテーションにおいて、この理想的な条件は満たされない。
従って、デコーダのオーバーフローおよびアンダーフローがいずれも発生しないことを確実にするように、ビットレートRとビットレートRが十分に一致することを確実にする改善された方法および装置に対するニーズがある。これは、特に、CBRシステムに適用される場合に有用であり得る。このような解決策は、上記のようにさらなるクロックレートを用いるのではなく、システムに組み込まれた既に存在するクロックレートを利用する必要がある。
(項目1) 非同期コード化システムにおいて、コード化ビットストリームの出力ビットレートを制御する方法であって、該非同期コード化システムは、第1のクロックを有し、ビットストリームを第1のレートで出力するビデオ圧縮エンジンと、第2のクロックを有し、ビットストリームを第2のレートで出力するビデオエンコーダとを含み、該方法は、
該ビデオ圧縮エンジンからの該ビットストリーム出力を構文解析して、少なくとも、該ビットストリームにおける第1および第2の時間パラメータを識別する、工程と、
該ビデオコード化システムによるビデオ出力の各フレームについてビットエラー偏差を判定する工程であって、該ビットエラー偏差は、該第1および第2の時間パラメータから計算される、工程と、
該ビットエラー偏差に基づいて、該ビデオ圧縮エンジンの出力を調整する工程と
を包含する、方法。
(項目2) 前記ビットストリームは、MPEG−2ビットストリームである、項目1に記載の方法。
(項目3) 前記第1の時間パラメータは、MPEG−2タイムスタンプである、項目2に記載の方法。
(項目4) 前記MPEG−2タイムスタンプは、デコードタイムスタンプ(DTS)である、項目3に記載の方法。
(項目5) 前記MPEG−2タイムスタンプは、プレゼンテーションタイムスタンプ(PTS)である、項目3に記載の方法。
(項目6) 前記第2の時間パラメータは、ビデオバッファベリファイヤ遅延(VBV_delay)値である、項目1に記載の方法。
(項目7) 前記第2のクロックは、前記コード化システムのローカル時間を表すシステムタイムクロック(STC)である、項目1に記載の方法。
(項目8) 前記ビットエラー偏差は、タイムエラー偏差に基づく、項目1に記載の方法。
(項目9) 前記タイムエラー偏差(T error )が、以下の式:
error (秒)=(VBV_delay−(DTS−STC))/90,000
で計算される、項目8に記載の方法。
(項目10) ビットエラー偏差(B error )は、各フレームについて、以下の式:
error (ビット)=(T error *R )/フレームレート
で計算されるが、ここで、R は、ビデオ圧縮エンジンがビットストリームを出力するレートを表す、項目9に記載の方法。
(好適な実施形態の詳細な説明)
本明細書は、新規とみなされる本発明の特徴を規定する請求の範囲を結論付けるが、本発明は図面に関連して以下の説明の考察からよりよく理解されると考えられている。図面では、同様の参照符号が繰返し使用されている。
ここで図3を参照すると、デジタルビデオエンコーダにおいて3つの主要な機能ブロックおよびタイムベースを示した、クロック周波数にしたがう周波数ブロック図が図示される。これらの三つのブロックは、異なる周波数で、かつ、そのクロックの任意の一つ同士の間で位相ロックすることなく、クロックされている。デジタルビデオエンコーダ50は、第1のブロック(それは、ビデオストリームを特定のビットレートRでPESストリームにコード化するビデオ圧縮エンジン52である)を含む。この実施形態において、ビデオ圧縮エンジン52は、MPEG−2ビデオ圧縮エンジンプロセッサであり、100メガへヘルツ(「MHz」)クロック入力によってクロックされる。第2のブロックは、PESパイプラインまたはビデオコード化システム54によって表され、27MHzの第2の周波数で動作する。第3のブロック56は、第3の周波数(一般的には4.096MHz)で動作する、本発明による制御プロセッサを図示する。これは、MPEG IIビデオ圧縮プロセッサRのコード化レートおよびPESパイプラインの臨界出力スロットレートRに設定する。したがって、図3に図示されたコード化システムは、ブロック52、54、56において使用されるクロックが、それぞれ、異なった独立の周波数を有し得るという観点から非同期コード化システムであることが認識され得る。さらに、任意の一つのブロックの動作は、他のブロックの任意のものの異なるタイミング周波数に依存しない。しかし、これは、本発明によってのみ解決される課題の原因である。より詳細には、MPEG−2ビデオ圧縮プロセッサはビデオPESデータを圧縮し、100MHzプロセッサクロックから派生するそれ自体の計算だけに基づくレートRでビデオPESデータを出力する。逆に、PESパイプラインは、圧縮PESビデオデータを、別個の27MHzクロックから派生するそれ自体のビットレート計算だけに基づくコード化システムの残りに転送している。したがって、理想的な状況では、Rは、Rに等しく、すなわち、RとRとの一致が、ビデオ圧縮エンジンからのビットレートを出力PESパイプラインにロックすることになる。上述したように、この問題を解決するための一つ方法は、単一のシステムクロックを用いて、コード化エンジンおよびコード化ビットストリーム処理回路の両方を制御することである。しかしながら、実世界のインプリメンテーションでは、これは、実用的ではなく、商業的に可能でもない。
したがって、ビットレートRおよびRを一致させる目的で、非同期適応レート制御方法を説明する。この非同期適応レート制御方法は、MPEG−2データストリームに既に組み込まれたタイミング情報を使用して、適切な時間を計算して、ビデオ圧縮エンジンレートRと正確に一致するように、PESパイプライン出力レートRを適応的に調整し、それにより、MPEGビデオビットストリームは、意図した時間においてデコーダに送達される。
ここで、図4を参照すると、ここでは、本発明による適応レート制御方法の概念的ブロック図が示されている。そのブロック図60は、適応レート制御方法を図示している。その方法では、MPEGビデオ圧縮エンジン62のPESビデオデータストリーム出力は調べられ、二つのビデオMPEGデータストリームエレメントを比較し、引き出された差を、PESビデオフィールドプログラム可能ゲートアレイ(FPGA)ストリームパーサ66における適応的に調整されたデジタル「フライホイール」に対して使用する。R’の一致された出力レートがR’と等しくするようにMPEGビデオエンコーダ62の出力レートをPESパイプラインFIFO64に正確に一致させるために、このデジタル「フライホイール」は、制御プロセッサ68にインプリメントされ、ビデオストリームタイミング情報は、PESビデオFPGAストリームパーサ66から出力され、適応レート制御アルゴリズム(本明細書において以下で詳細に説明する)および制御プロセッサ68に影響され、PESパイプラインFIFO64に入力される。
ここで、図5を参照すると、ここでは、本発明による適応レート制御を行うように適応された装置の実施形態のブロック図を示す。デジタルビデオエンコーダ70は、ビデオ入力72で生ビデオ入力を供給し、それをビデオ圧縮エンジン74に供給する。そのビデオ圧縮エンジンは、生ビデオ入力を受け取り、特定のビデオ圧縮アルゴリズムまたはプロトコルにしたがってそれをコード化する。その例は、MPEG−2ビデオ圧縮コード化アルゴリズムである。制御プロセッサ76は、本明細書の下記で詳細に説明する適応レート制御アルゴリズムに準拠するコード化パラメータを設定し、モニタし、かつ、調整する。その圧縮されたコード化ビットストリームは、ビデオ圧縮エンジン74を出て、出力パイプラインに入力し、出力パイプライにおいて、それは、PES FIFOビットストリームバッファ80においてバッファリングされ、パケット化された例示的なストリームからトランスポートストリームに変換される。
さらに詳細には、ビデオ圧縮エンジン74に対する物理インターフェースは、周辺部品相互接続(Peripheral Component Interconnect)(「PCI」)バス77である。これは、パーソナルコンピュータで使用されるのと同じバス規格であり、PCIバス77は、ビデオ圧縮エンジン74をPCIターゲット78に接続する。PCIターゲット78は、圧縮ビデオデータストリームの物理「ターゲット」である。PCIターゲットに接続されるのは、フィールドプログラム可能ゲートアレイ(「FGPA」)PCIターゲットコントローラ82である。FPGA PCIターゲットコントローラ82は、ステートマシーンと制御信号とを有するカスタムプログラム化FPGAである。これは、PCIターゲットから圧縮ビデオデータを読み出し、PES FIFOビットストリームバッファ80にそれを書きこむ。PES FIFOビットストリームバッファ82は、圧縮ビデオデータを格納する大きなFIFOアレイである。そのPES FIFOビットストリームバッファ82は重要な機能を提供する。なぜなら、ビデオ圧縮エンジン74とPCIターゲット78との間に配置されたPCIバス77は非決定的であるからである。すなわち、圧縮ビデオデータは、PCIバス77にわたって極めてバースト的である。ときどき、PCIバスにわたってバースト転送される、極めて大きな「I」ピクチャが存在する。他のときには、そのバスをわたって何も転送されない。PES FIFOビットストリームバッファは、このバーストのいくらかを吸収する。
このFPGA PCIターゲットコントローラに接続されるのは、FPGA PESパイプラインコントローラ84である。FPGA PESパイプラインコントローラ84は、ステートマシーンと制御信号とを有する別のカスタムプログラム化FPGAである。これは、PES FIFOビットストリームバッファ80からデータを読み出し、それをFPGAトランスポートパケット化器86に転送する。FPGA PESパイプラインコントローラ84は、PES FIFOビットストリームバッファ80からデータが取り出されるレートを制御する。FPGAトランスポートパケット化器86は、PESストリームをトランスポートパケットストリームに変換する。FPGAトランスポートパケット化器86は、また、ビデオバッファベリファイ遅延(「VBV delay)およびデコードタイムスタンプ(「DTS」)の値のために圧縮ビデオデータを構文解析を行う。制御プロセッサ76を用いて、FPGAトランスポートパケット化器86を一意のプログラム識別子(PID)で設定し、ビデオトランスポートパケットのPCR挿入間隔を設定する。その制御プロセッサ76は、また、上述のFPGAのそれぞれにおいて他のパラメータを関係させ、設定し得る。
図4および図5に対して上で示したように適応レート制御を提供するためには、ビットストリームの少なくとも第1の時間パラメータおよび第2の時間パラメータを特定するように、ビデオ圧縮エンジンからのビットストリーム出力を構文解析を行うことが必要である。好ましくは、時間パラメータは、ビットストリーム内に組み込れ、コード化MPEG−2ビデオデータストリーム内の2つのタイミングエレメントである。MPEG−2ビデオ圧縮によってビデオデータストリーム内に組み込まれたこれらの二つのデータ値は、例えば、DTSおよびVBV
delayである。これらの値は、例えば、MPEGビデオデコーダによって用いられ、適切な時間において各ビデオフレームをデコードし、表示する。第3のパラメータ、システム時間クロック(「STC」)は、コード化システムの現地時間である。これらの時間パラメータを用いて、下記にさらに詳細に本発明を説明するが、そのビデオストリーム内に組み込まれた他の時間パラメータもまた使用され得ることが理解されるべきである。例えば、上述したように、プログラムクロック基準および提示時間スタンプは、両方とも代替的であり、それらは、本発明に関連して使用され得る。ビデオ圧縮アルゴリズムおよびプロトコルに精通するものは他のものも理解する。
PESパケット定義およびDTS位置は、以下に示すように特定され得る。
Figure 2009017595
同様に、ピクチャヘッダ定義およびVBV delay位置が以下のように特定される。
Figure 2009017595
VBV delayおよびDTS−STCとの間の差異によって決定される適応レート制御方法およびアルゴリズムは、以下の式にしたがって、MPEG−2ビデオコード化レートRおよびビデオコード化システムレートRとの偏差を決定する。
error(秒)=(VBV delay−(DTS−STC))4/90,000
ここで、Terrorレートは、各フレームに対するビットエラー偏差またはエラー差異に変換される。このビットエラーレートはBerrorとよばれる。これは、ビデオコード化レートRとコード化システムレートRとの間でフレームごとのビットの差異である。したがって、
error(bits)=(Terror*R)/frame rateこのframe rateは、秒毎のフレーム数(例えば、NTSC信号に対して秒毎に29.97回およびPAL信号に対して秒毎に25回)に基づく。このBerror差異または偏差を用いて、図4および図5に説明されたデジタルフライホイール、および、そのデータがビデオ圧縮エンジンとビデオコード化システムとの間で転送されるレートを制御する、ビデオエンコーダパイプラインFPGAを調整する。R’は、ビデオエンコーダビットレート出力Rを正確に一致させる新たな調整出力レートである。したがって、
R’=R+Berror
一定の構文解析、フィードバック、出力レート調整は、ビデオコード化プロセッサの出力をビデオコード化システムに対して高い精度で一致させる。図7−10は、適応レート制御アルゴリズムの精度を図示する。
ここで、図6を参照すると、本発明による適応レート制御アルゴリズム100のフローチャートが図示される。そのフローチャートは、コード化およびPES
FIFO出力レートを初期出力レートに設定するボックス102から始まる。ここで、R=R−R*0.0015である。0.0015の値は、秒毎にスキップされるデ=ータの所定のパーセント(0.15%)であり、所定の数のバイトが、PES FIFOビットストリームバッファ80からFPGAトランスポートパッケージ化器86に転送される。同様に、RおよびRは、ともに、ビットレートのこの減少を反映するように設定される。したがって、デジタルカウンタは一定の周波数で固定される。
続くボックス104には、ビデオコード化プロセスを初期化し、FIFOを初期レベル限界まで満たすステップが示される。このステップは、公知のパラメータに基づいて、システムによって設定された初期限界までFIFOを満たすことによって、規定される。PES FIFOは、PESビットストリームバッファに書きこまれている圧縮ビデオデータのバースト性に起因して、初期の満たされたレベルに設定される。初期のFIFOレベルにより、データは、FIFOから連続的に読み出される一方で、エンプティおよびアンダーフローとなる(ビデオ破壊を生じる)ような可能性をFIFOに作成して、FIFOに書き込まれる圧縮データがない期間もある。
ここで、ボックス106を参照すると、VBV delay時間パラメータおよびDTS時間パラメータを特定し、調べるために、パッケージ化エレメンタリビデオストリームの構文解析を行うステップが示される。この情報は、各離散フレームに対して構文解析を行い、一つ一つのフレームに対して繰り返される。
ボックス108は、エンコーダシステム時間クロックまたはSTCを読み出す工程を示す。その後、ボックス110に示されるように、そのアルゴリズムは、引用した式に対して上で示したように、時間エラー差異、Terrorを計算する。その後、ボックス112において、上で引用した式にしたがって、時間エラー(Terror)をビットレートエラー(Berror)に変換するステップが示される。
次いで、ボックス114は、上で開示したように、R’=R+BerrorとなるようにPES出力レートを調整することによってPES FIFO出力を調整するステップを示す。次いで、ステップ116は、プロセスが、コード化されるべきビデオ情報の次のフレームに続き、ステップ104とステップ106との間のステージにそのプロセスを戻すことを示す。ここで、次のビデオフレームは、ステップ106において説明された構文解析ステップを受ける。
本発明などの適応レート制御方法なしで、システムに固有の問題点を理解するために、具体的には、図7は、適応制御方法なしでMPEGコード化システムにおいてVBV delayとDTS−STCとの間の相違を示す。ミリ秒で測定された時間はY軸で示され、フレームに関するピクチャはX軸で示される。トレース130はミリ秒のVBV delayを示し、一方、トレース132はミリ秒のDTS−STCを示す。VBV delay曲線とDTS−STC曲線との間の差異は、RおよびRとの間のビットレート差異におけるエラーである。
このコンテキストにおいて、図8は、図7からのVBV:DTSエラー差異を示す。理想的には、エラー差異は、ゼロであるか、ゼロに極めて近い。しかし、図7の例において、偏差エラーは、32.0ミリ秒から53.0ミリ秒の範囲である。MPEG−2エンコーダのコンテキストにおいて、このVBV:DTS−STCエラーの量は重要である。実際には、DTSからVBV delayの任意の偏差は、圧縮ビデオデータストリームのデコーダへの転送におけるエラーを表す。任意の所与のビデオシーケンスに対して、デコーダの内部バッファがオーバーフローまたはアンダーフローする前に、デコーダによって耐久できるエラーの量を明示的に説明することは困難であり得る。これは、さらに、ビデオソース材料の複雑性にしたがってエラー差異が大きく変動するという事実によってさらに複雑化され、したがって、予想することは困難である。
ここで、図9を参照すると、本発明の適応レート制御方法を用いたビデオストリームレート制御が示される。図9は、適応レート制御方法をイネーブルにした条件での、絶対的なVBV delay値およびDTS−STC値を示す。図7で示されたのと同じスケールで、ライン142はVBV delayを示し、ライン144はDTS−STC遅延を示す。図9を精読すると認識され得るように、VBV delayおよびDTS−STCは同時発生し、理想に極めて近い。さらなる展望に関して、図10は、適応レート制御でのVBV delayおよびDTS−STCの図9からの絶対エラー差異が理想的なゼロに近いことを示す。これらのグラフの重要性は、それらが、コード化されたデータをエンコーダからデコーダに送達する際のタイミングエラーを表すエラー差異を示すことである。デコーダ内の異なるバッファレベル下で、圧縮ビデオデータの送達におけるこれらのタイミングエラーは、バッファオーバーフローおよびバッファアンダーフローを引き起こす。適応レート制御にともない、そのエンコーダは、必要とされる時間において圧縮ビデオデータを送達する。これにより、エンコーダシステムに、相互互換性およびロバスト性の利点が生じる。
最終的には、本システムの利点を示すために、図11は、ライン154によって示された、非適応レート制御を伴うコード化システムに対する、ライン150およびライン152によって示された、適応レート制御を伴うコード化潜在時間システムを示す。潜在時間は、Y軸に沿って示され、ミリ秒で測定される一方、秒当たりのメガビットで測定されたビットレートはX軸に沿ってプロットされる。したがって、ライン150およびライン152によって示された本発明の適応レート制御システムの重要な利点は、特に低いビットレートにおいて、潜在時間を1/2から2/3だけ減少させることであると認識され得る。システム潜在時間を短くすることがカスタマーアプリケーションの観点から強く望まれているため、これは重要である。例えば、デジタル衛星ニュース集合セットアップにおいて、システム潜在時間の増加は、スタジオと遠隔地との間の望ましくない遅延を引き起こす(遠隔地は、コード化し、送信する一方で、ローカルスタジオは受け取り、デコードする)。これは、異なる場所の間で「生」の質疑応答通信を邪魔する。
本発明が、レシーバにおけるオーバーフローまたはアンダーフローを避けるようにビットストリームを出力するための装置の製造方法および使用方法に関することを、上記の(詳細な説明)は当業者に開示している。これらの理由に対して、(詳細な説明)は、全ての点で限定的ではなく、例示的であり、本明細書で開示される本発明の範囲は、(詳細な説明)から決定されるべきではなく、むしろ、特許法によって認められた十分な範囲で解釈されるように特許請求の範囲から決定されるべきである。
本発明の好適な実施形態を図示し、説明してきたが、本発明はそのように限定されないことは明らかである。上掲の特許請求の範囲によって規定される本発明の意図および範囲から逸脱することなく、多くの改変、変更、変形、置換および均等が当業者には明らかである。
図1は、デジタルテレビピクチャがどのようにコード化され、伝送され、デコードされるかを示すブロック図である。 図2は、典型的なMPEG−2エンコーダインプリメンテーションの概念的ブロック図である。 図3は、本発明による、コード化システムのクロック周波数を示す周波数ブロック図である。 図4は、本発明による、適応性レート制御フィードバックの概念的ブロック図である。 図5は、本発明による、適応性レート制御フィードバックループの一実施形態のブロック図である。 図6は、本発明による、適応性レート制御アルゴリズムを示すフローチャートである。 図7は、適応性レート制御方法なしのMPEGコード化システムにおける、ビデオバッファベリファイヤ遅延とデコード化タイムスタンプ−システムタイムクロックとの間の発散を示す図である。 図8は、図7に示すような、ビデオバッファベリファイヤとデコードタイムスタンプ−システムタイムクロックとの間のタイムクロックエラーの差を示す図である。 図9は、図7に示すようなものと同様であるが、本発明による、適応性レート制御方法が可能になった、ビデオバッファベリファイヤ遅延およびデコードタイムスタンプ−システムタイムクロックの絶対値を示す図である。 図10は、図8からのビデオバッファベリファイヤ遅延の絶対値のエラーの差対デコードタイムスタンプ−システムタイムクロックのエラー差を示す図である。 図11は、適応性レート制御方法が可能になったコード化システムの待ち時間対適応性レート制御方法が可能になっていないコード化システムの待ち時間を示す図である。

Claims (1)

  1. 本願明細書に記載の方法。
JP2008244994A 2000-12-12 2008-09-24 非同期コード化システムにおける適応性ビットレート制御のための方法および装置 Expired - Fee Related JP4303775B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US09/735,236 US6594316B2 (en) 2000-12-12 2000-12-12 Method and apparatus for adaptive bit rate control in an asynchronized encoding system

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2002550728A Division JP4216595B2 (ja) 2000-12-12 2001-12-11 非同期コード化システムにおける適応性ビットレート制御のための方法および装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2008291574A Division JP2009033775A (ja) 2000-12-12 2008-11-13 非同期コード化システムにおける適応性ビットレート制御のための方法および装置

Publications (2)

Publication Number Publication Date
JP2009017595A true JP2009017595A (ja) 2009-01-22
JP4303775B2 JP4303775B2 (ja) 2009-07-29

Family

ID=24954904

Family Applications (3)

Application Number Title Priority Date Filing Date
JP2002550728A Expired - Fee Related JP4216595B2 (ja) 2000-12-12 2001-12-11 非同期コード化システムにおける適応性ビットレート制御のための方法および装置
JP2008244994A Expired - Fee Related JP4303775B2 (ja) 2000-12-12 2008-09-24 非同期コード化システムにおける適応性ビットレート制御のための方法および装置
JP2008291574A Pending JP2009033775A (ja) 2000-12-12 2008-11-13 非同期コード化システムにおける適応性ビットレート制御のための方法および装置

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2002550728A Expired - Fee Related JP4216595B2 (ja) 2000-12-12 2001-12-11 非同期コード化システムにおける適応性ビットレート制御のための方法および装置

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2008291574A Pending JP2009033775A (ja) 2000-12-12 2008-11-13 非同期コード化システムにおける適応性ビットレート制御のための方法および装置

Country Status (5)

Country Link
US (1) US6594316B2 (ja)
EP (1) EP1342378B1 (ja)
JP (3) JP4216595B2 (ja)
CA (1) CA2431063A1 (ja)
WO (1) WO2002049364A2 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7139743B2 (en) 2000-04-07 2006-11-21 Washington University Associative database scanning and information retrieval using FPGA devices
US20040228411A1 (en) * 2003-05-12 2004-11-18 Sony Corporation Method and system for decoder clock control in presence of jitter
JP2007524923A (ja) 2003-05-23 2007-08-30 ワシントン ユニヴァーシティー Fpgaデバイスを使用するインテリジェントデータ記憶および処理
US10572824B2 (en) 2003-05-23 2020-02-25 Ip Reservoir, Llc System and method for low latency multi-functional pipeline with correlation logic and selectively activated/deactivated pipelined data processing engines
JP4988567B2 (ja) * 2004-06-27 2012-08-01 アップル インコーポレイテッド マルチパスのビデオ符号化
US8005139B2 (en) 2004-06-27 2011-08-23 Apple Inc. Encoding with visual masking
US7660793B2 (en) 2006-11-13 2010-02-09 Exegy Incorporated Method and system for high performance integration, processing and searching of structured and unstructured data using coprocessors
US8588310B2 (en) * 2010-08-31 2013-11-19 General Instrument Corporation Method and apparatus for managing delivery of bits to a decoder
US8972923B2 (en) * 2011-02-08 2015-03-03 Maxeler Technologies Ltd. Method and apparatus and software code for generating a hardware stream processor design
EP2884485B1 (en) * 2012-08-09 2018-11-07 Yamaha Corporation Device and method for pronunciation allocation
WO2018119035A1 (en) 2016-12-22 2018-06-28 Ip Reservoir, Llc Pipelines for hardware-accelerated machine learning

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5566208A (en) 1994-03-17 1996-10-15 Philips Electronics North America Corp. Encoder buffer having an effective size which varies automatically with the channel bit-rate
US5838686A (en) 1994-04-22 1998-11-17 Thomson Consumer Electronics, Inc. System for dynamically allocating a scarce resource
US5506844A (en) 1994-05-20 1996-04-09 Compression Labs, Inc. Method for configuring a statistical multiplexer to dynamically allocate communication channel bandwidth
US5652627A (en) 1994-09-27 1997-07-29 Lucent Technologies Inc. System and method for reducing jitter in a packet-based transmission network
US5543853A (en) * 1995-01-19 1996-08-06 At&T Corp. Encoder/decoder buffer control for variable bit-rate channel
US5677969A (en) 1995-02-23 1997-10-14 Motorola, Inc. Method, rate controller, and system for preventing overflow and underflow of a decoder buffer in a video compression system
GB9517130D0 (en) 1995-08-22 1995-10-25 Nat Transcommunications Ltd Statistical multiplexing
US5877812A (en) 1995-11-21 1999-03-02 Imedia Corporation Method and apparatus for increasing channel utilization for digital video transmission
US5862140A (en) 1995-11-21 1999-01-19 Imedia Corporation Method and apparatus for multiplexing video programs for improved channel utilization
US5861919A (en) 1995-12-18 1999-01-19 Divicom Dynamic rate optimization for an ensemble of video encoders
US5640388A (en) 1995-12-21 1997-06-17 Scientific-Atlanta, Inc. Method and apparatus for removing jitter and correcting timestamps in a packet stream
US5686963A (en) 1995-12-26 1997-11-11 C-Cube Microsystems Method for performing rate control in a video encoder which provides a bit budget for each frame while employing virtual buffers and virtual buffer verifiers
US5835493A (en) 1996-01-02 1998-11-10 Divicom, Inc. MPEG transport stream remultiplexer
US5719632A (en) 1996-01-25 1998-02-17 Ibm Corporation Motion video compression system with buffer empty/fill look-ahead bit allocation
US6240103B1 (en) 1997-03-21 2001-05-29 Scientific-Atlanta, Inc. Method and apparatus for detecting and preventing bandwidth overflow in a statistical multiplexer
US5936968A (en) 1997-05-28 1999-08-10 Sarnoff Corporation Method and apparatus for multiplexing complete MPEG transport streams from multiple sources using a PLL coupled to both the PCR and the transport encoder clock
GB2328099B (en) 1997-08-08 2002-07-03 British Broadcasting Corp Processing coded video
US6219067B1 (en) * 1998-04-03 2001-04-17 Sarnoff Corporation Measures for characterizing compressed bitstreams

Also Published As

Publication number Publication date
CA2431063A1 (en) 2002-06-20
JP4216595B2 (ja) 2009-01-28
US6594316B2 (en) 2003-07-15
EP1342378B1 (en) 2013-07-24
WO2002049364A3 (en) 2002-08-15
EP1342378A2 (en) 2003-09-10
JP2005518680A (ja) 2005-06-23
WO2002049364A2 (en) 2002-06-20
JP4303775B2 (ja) 2009-07-29
JP2009033775A (ja) 2009-02-12
US20020159530A1 (en) 2002-10-31

Similar Documents

Publication Publication Date Title
JP4303775B2 (ja) 非同期コード化システムにおける適応性ビットレート制御のための方法および装置
US6157674A (en) Audio and video data transmitting apparatus, system, and method thereof
EP1323312B1 (en) Regeneration of program clock reference data for mpeg transport streams
US6324217B1 (en) Method and apparatus for producing an information stream having still images
US6289129B1 (en) Video rate buffer for use with push dataflow
US6654421B2 (en) Apparatus, method and computer program product for transcoding a coded multiplexed sound and moving picture sequence
EP1002424B1 (en) Processing coded video
US8189679B2 (en) Content receiving apparatus, method of controlling video-audio output timing and content providing system
JP3925311B2 (ja) データ配信システム
US7983345B2 (en) Content receiving apparatus, video/audio output timing control method, and content provision system
EP0897245A2 (en) MPEG frame processing method and apparatus
US20180139511A1 (en) Class-Based Intelligent Multiplexing Over Unmanaged Networks
US8170401B2 (en) Optimizing ad insertion by removing low information frames
US20140259053A1 (en) Dts/pts backward extrapolation for stream transition events
EP1145559B1 (en) Method and apparatus for delivering reference signal information within a specified time interval
JP3836701B2 (ja) 動画像を符号化する方法及び装置及びプログラム並びに動画像音声多重化の方法及び装置
JPH09312656A (ja) 伝送装置およびその方法
Chen Video Buffer Management and MPEG Video Buffer Verifier
EP1161838A1 (en) Method and apparatus for generating time stamp information
Reid An MPEG-2 digital decoder design: A practical approach with emphasis on elementary stream data flows
Chen Transcoder Buffer Dynamics and Regenerating Timestamps
Chen Transport Packet Scheduling and Multiplexing
Haskell et al. Timing Recovery for Variable Bit-Rate Video on ATM
JP2000232625A (ja) 符号化データ編集多重化装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081029

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081113

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A132

Effective date: 20081204

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20090303

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20090306

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090327

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090417

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090424

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120501

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4303775

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120501

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130501

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140501

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees