JP5676705B2 - 映像符号化規格に対応した映像レート制御の改善 - Google Patents

映像符号化規格に対応した映像レート制御の改善 Download PDF

Info

Publication number
JP5676705B2
JP5676705B2 JP2013171123A JP2013171123A JP5676705B2 JP 5676705 B2 JP5676705 B2 JP 5676705B2 JP 2013171123 A JP2013171123 A JP 2013171123A JP 2013171123 A JP2013171123 A JP 2013171123A JP 5676705 B2 JP5676705 B2 JP 5676705B2
Authority
JP
Japan
Prior art keywords
size
frame
interframe
bit rate
encoded
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.)
Active
Application number
JP2013171123A
Other languages
English (en)
Other versions
JP2013258754A (ja
Inventor
ステファン・コロンブ
Original Assignee
ヴァントリックス コーポレーション
ヴァントリックス コーポレーション
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 ヴァントリックス コーポレーション, ヴァントリックス コーポレーション filed Critical ヴァントリックス コーポレーション
Publication of JP2013258754A publication Critical patent/JP2013258754A/ja
Application granted granted Critical
Publication of JP5676705B2 publication Critical patent/JP5676705B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/15Data rate or code amount at the encoder output by monitoring actual compressed data size at the memory before deciding storage at the transmission buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/115Selection of the code volume for a coding unit prior to coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/149Data rate or code amount at the encoder output by estimating the code amount by means of a model, e.g. mathematical model or statistical model
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/152Data rate or code amount at the encoder output by measuring the fullness of the transmission buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Description

本発明は、一般的に、映像符号化に関する。特に、本発明は、例えば、他の規格への対応も排除しないが、H.263及びMPEG−4(動画像符号化専門家会合−4)規格等の映像符号化規格に対応した映像符号化の際の映像レート制御に関する。
ここ数年、デジタル及びオンライン映像並びにそれらのアプリケーションが多大な人気を博している。高速通信技術及びマルチメディア・アプリケーションの出現に伴って、デジタル映像コーデックが、MPEG−2(動画像符号化専門家会合−2)フォーマットを用いるDVD(デジタル映像ディスク)、MPEG−1(動画像符号化専門家会合−1)フォーマットを用いるVCD2(映像コンパクトディスク)、台頭しつつある衛星及び地上波放送システム並びにインターネット等、多くの領域及びシステムで用いられる。
更に具体的には、映像アプリケーションのこの人気によって、映像データを圧縮及び展開する映像コーデックの興味深い発展が可能になった。映像データ圧縮では、映像品質と、圧縮率即ち必要な送信データ量、言い換えると、映像を表現するのに必要なビットレートとの間の均衡が保たれる。
更に、例えば、符号化及び復号化アルゴリズムの複雑さ、データ欠落及びエラーに対する堅牢さ、最先端技術の圧縮アルゴリズム設計並びにテレビ会議アプリケーションのエンド・ツー・エンド遅延等も考慮される。
複数の映像符号化規格が存在し、それらは、各々、特定の種類のアプリケーションのために特別に設計されている。例えば、ITU(国際電気通信連合)発行のH.263規格は、40乃至128kbps(キロビット/秒)範囲等の低ビットレート用の映像符号化及び圧縮規格である。更に具体的には、この規格は、テレビ会議及びテレビ電話アプリケーションの映像符号化をサポートする。
H.263規格は、符号化されたデータストリームのフォーマット及びコンテンツを規定し、従って、エンコーダ及びデコーダ自体の設計又は構造を具体的に提供することなく、エンコーダ及びデコーダが満たすべき要件を設定している。同様の原則は、MPEG−4等の他の映像規格にも当てはまる。
映像圧縮において、各画面は、通常、一般的にフレームと称される2種類の画面、即ち、イントラフレーム及びインターフレームによって表される。更に、インターフレームは、2つの範疇、即ち、Pフレーム(前方向予測フレーム)及びBフレーム(双方向予測又は双方向フレーム)に分けられる。イントラフレームは、画面全体を表し、従って、画面全体のコンテンツを符号化しなければならないことから、帯域幅を消費する。圧縮して、それにより帯域幅を節約するために、画面全体(即ち、イントラフレーム)間の差異だけを符号化して送信する。それらの差異は、Pフレーム及びBフレームによって表される。例えば、2つの連続した画面間の背景は、通常、変化せず、従って、その背景は、再度符号化する必要はない。Bフレームは、双方向であり、従って、双方向の予測、即ち、先行及び後続画面による予測を実施する。
更に、映像を圧縮する際、画面は、マクロブロックに分割され処理される。実際には、処理は、マクロブロック毎に適用される。各マクロブロックは、一般的に、16×16画素のブロックを表す。
映像エンコーダには、一般的に、動き推定モジュール、動き補償モジュール、DCT(離散コサイン変換)モジュール、及び量子化モジュールが含まれる。
動き推定モジュールによって、先行フレームのどの領域が、現フレームに移行していて再符号化する必要のない領域か予測し得る。
動き補償モジュールによって、先行フレームから現フレームへの領域の動きを補償し得る。
DCTは、一般的に、画素のブロックを「空間周波数係数」に変換するために用いられる。DCTは、マクロブロック等の二次元ブロックの画素に作用する。DCTは、画面のエネルギ(又は、情報)を効率的に圧縮することから、一般的に、DCT係数が少なくても、充分に元の画面を再現できる。
更に、量子化モジュールは、DCT係数を量子化するために設けられる。例えば、量子化モジュールは、ほぼゼロであるDCT係数をゼロに設定し、また、残りのゼロ以外のDCT係数を量子化する。
映像符号化における制限の1つは、チャネルの容量に由来する。実際、通信チャネルは、1秒間に送信できるビットの数によって制限される。多くのチャネルでは、例えば、ISDN(総合サービスデジタル網)、POTS(基本電話サービス)、無線チャネル等では、ビットレートは一定である。
しかしながら、映像を圧縮するために用いるアルゴリズムの効率及びそれら映像の動きの複雑さに依存して、映像を符号化するために、また、符号化された映像を送信するために必要なビット予算及びビットレートは、変動又は増加することがある。従って、レート制御を用いて、様々な複雑さの映像を符号化するのに必要なビットレートを、それらの符号化された映像の送信に用いるチャネルのビットレートに調整する。
H.263規格に用いる現在のレート制御アルゴリズムは、TMN8(テストモデル短期バージョン8)と呼ばれる。一般的に言えば、このレート制御アルゴリズムは、平均ビットレートだけを確実に満たす。
ジョルディ・リバス・コーベラ(Jordi_Ribas−Corbera)による1999年の論文、表題「低遅延通信のためのDCT映像符号化におけるレート制御」(以降、参考文献1と称する)には、目標フレームサイズに関連する目標平均ビットレートをフレーム毎に確実に満たすためにレート制御TMN8によって用いるアルゴリズムが、開示されている。更に具体的には、TMN8レート制御アルゴリズムは、幾つかの画像統計値を演算して、各マクロブロック用の幾つかの固有のQP(量子化パラメータ)値を求めて、目標フレームサイズを満たすように、各インターフレーム内のQP値を更新する。残念なことに、この制御は、あくまでも概算であり、そして、結果的に生じるフレームサイズは、目標フレームサイズを大幅に上回ったり下回ったりすることが多い。イントラフレームの場合、映像シーケンスの特性にかかわらず、固定されたQPが、映像シーケンス全体に用いられる。イントラフレームのサイズを制御できないと、一般的に、所望のビットレートを超過する要因になる。
更に、レート制御TMN8は、平均目標ビットレートと最大ビットレートとの双方を制御することができない。実際、H.263映像符号化規格に用いるTMN8レート制御アルゴリズムは、平均ビットレートパラメータだけを用いる。しかしながら、多くの映像アプリケーションでは、平均ビットレートに加え、最大ビットレートも考慮すべきである。
TMN8は、所定の目標ビットレートを超過しないと保証できないが、この理由は、エンコーダが、イントラフレームサイズを制御できず、また、インターフレームサイズも充分に制御できないためである。所定の目標ビットレートを超過した場合、エンコーダは、オーバーフローを補償するように、幾つかの数のフレームをスキップする。しかしながら、そうすることによって通信及び映像の品質が変わる。
従って、H.263規格等の映像符号化規格における現在のレート制御の制限に関連して、上述した問題の克服に対するニーズがある。従って、映像符号化規格におけるレート制御を改善するための方法及びシステムを求める。
本発明の目的は、従って、平均ビットレート及び最大ビットレート双方を確実に考慮することによって、映像の品質を強化するように、映像符号化における、例えば、H.263及びMPEG−4規格等の映像符号化規格におけるレート制御を提供することである。
更に具体的には、本発明に基づき、映像符号化におけるレート制御のための方法を提供する。本方法には、最大ビットレート及び平均ビットレートを指定する段階と、指定された最大ビットレートを満たすためのインターフレームサイズを計算する段階であって、このインターフレームサイズが、イントラフレームの位置を基準としたインターフレームの位置に関連する前記段階と、指定された最大ビットレート及び平均ビットレート双方を満たすための計算されたインターフレームサイズを調整する段階と、が含まれる。
更に、本発明は、復号遅延を考慮する場合、イントラフレームで分離された一連のインターフレームを含むシーケンスの映像符号化におけるレート制御を改善するための方法に関する。本方法には、一連の各インターフレームについて、目標フレームサイズを演算する段階と、先行イントラフレーム及び後続イントラフレームを基準とした各インターフレームの位置に関係する最大バッファレベルを演算する段階と、演算された目標フレームサイズ及び演算された最大バッファレベルに応じて、送信バッファレベルを最適化する段階と、が含まれる。
本発明は、更に、映像符号化におけるレート制御のための装置に関連する。本装置には、指定された最大ビットレートを満たすためのインターフレームサイズの第1計算器であって、このインターフレームサイズが、イントラフレームの位置を基準としたインターフレームの位置に関係する前記第1計算器と、指定された最大ビットレートに加えて、指定された平均ビットレートを満たすために、第1計算器によって計算されたインターフレームサイズの第2計算器と、が含まれる。
本発明は、更に、復号遅延を許容する場合、イントラフレームによって分離された一連のインターフレームを含むシーケンスの映像符号化におけるレート制御を改善するための装置に関する。本装置には、各インターフレームについて、目標フレームサイズの計算器と、先行イントラフレーム及び後続イントラフレームを基準とした各インターフレームの位置に関係する最大バッファレベルの計算器と、演算された目標フレームサイズ及び演算された最大バッファレベルに応じた送信バッファレベルの最適化器と、が含まれる。
本発明の上記及び他の目的、利点、並びに特徴は、添付図面を参照して、あくまで一例として与えられた例示の実施形態の以下の非限定的説明を解釈すると、更に明らかになる。
映像通信システムの概略図である。 図1の通信システムにおける映像符号化のためのエンコーダの概略ブロック図である。 本発明の非限定的な例示の実施形態に基づく、映像符号化におけるレート制御のための装置の概略ブロック図である。 H.263映像符号化規格におけるレート制御のための本発明の非限定的な例示の実施形態による方法を示すフローチャートである。 インターフレーム目標サイズを計算するための方法の例を示すフローチャートである。 インターフレーム目標サイズを計算するための方法の他の例を示すフローチャートである。 計算されたインターフレーム目標サイズを更新するための方法の例を示すフローチャートである。 計算されたインターフレーム目標サイズを更新するための方法の他の例を示すフローチャートである。 H.263映像符号化規格におけるレート制御のための本発明の他の非限定的な例示の実施形態による方法を示すフローチャートである。
一般的に言えば、本発明の非限定的な例示の実施形態によるレート制御を改善するための装置によって、TMN8レート制御では満たせない以下の要件に対応し得る。
1.イントラフレーム用の目標フレームサイズを指定し、また、満足することが可能であること。
‐そうすることにより、イントラフレームの品質及びイントラフレームの存在に起因するビットレートの変動を制御し得る。また、
‐QP(量子化パラメータ)は、固定されず、イントラフレーム特性に基づき演算され、また、指定されたイントラフレーム目標サイズを満足するために、イントラフレームの各ブロックの画素に対して、変えることができる。
2.平均ビットレートに加えて、最大ビットレートを指定して、満たすことが可能であること。
‐更に、フレームを符号化した後、符号化されたフレームサイズの検証を実施し、最大ビットレートと比較して、符号化されたフレームサイズが、大き過ぎて許容できない場合、フレームは、より小さい目標サイズで再符号化するか又は削除する必要がある。
‐対照的に、TMN8レート制御は、例えば、フレームを削除することによって、平均ビットレートだけを満たそうとするが、それは、最大ビットレートを満たせない。
3.最大ビットレートを管理する円形バッファ及び平均ビットレート用の他のバッファを有すること。
‐対照的に、TMN8は、1つの送信バッファだけを用いる。
4.イントラフレームのタイミング及び符号化に依存するインターフレーム目標サイズを推定し計算すること。イントラフレームが、つい最近符号化された場合又はイントラフレームが、まもなく符号化される場合、
‐更に、インターフレーム目標サイズの推定には、イントラフレームのサイズ、2つのイントラフレーム間の期間、平均ビットレートを下回る又は上回るビット数等、様々なパラメータを考慮する。
‐対照的に、TMN8は、送信バッファ占有期間及び割合だけに基づく目標サイズを用いる。それは、後続イントラフレームを予測せず、また通常、イントラフレームの符号化後、多くのフレームをスキップし、このため映像品質の劣化を招く。
5.フレームを事前に且つ予防的に削除すること。
‐本発明の1つの非限定的な例示の実施形態による装置は、最大ビットレートを超過しないことを保証し、また、必要に応じて、送信する前にフレームを削除する。フレーム削除の判断は、推定されたものと実現されたもの、即ち、実際に符号化されたものとの間の差異に基づく。
‐対照的に、TMN8は、大き過ぎて目標サイズを超過することになるフレームを生成して送信した後、フレームを省く。そのようにしても、映像の品質には、既に害が及んでしまっている。更に、フレーム削除の判断は、送信バッファの埋まり具合に基づく。
I.システム
まず、映像通信システムについて、そこで映像符号化が行われる通信システムを定義するように述べる。しかしながら、この通信システムは、本発明の一部ではない。
図1において、通信システム10について述べる。
通信システム10には、映像カメラ又はウェブカメラ等、映像を取り込むための映像ソース12が含まれる。そして、それらの映像は、映像エンコーダ14に供給される。映像エンコーダ14は、ネットワーク16に接続されている。ネットワーク16には、更に、符号化された映像をデコーダ18に送信するための通信リンクを含み得る。最後に、デコーダ18は、映像プレーヤ20に接続されている。映像プレーヤ20は、コンピュータ、テレビ受像機又は映像を表示し得る任意の装置であってよい。
例えば、第一者と第二者との間の通信セッション中、第一者の映像ソース12によって取り込まれた映像は、エンコーダ14によって受信され、次に、エンコーダ14は、映像の圧縮及び符号化を実施し得る。一旦、エンコーダ14が映像データの符号化を終えると、符号化された映像は、ネットワーク16又は単に通信リンクを介して、第二者に送信される。第二者側では、デコーダ18は、符号化された映像を受信し、そして、その復号を開始する。一旦、符号化された映像が復号されると、デコーダ18は、復号された映像データを映像プレーヤ20に送り、映像プレーヤ20は、次に、第一者から受信した映像の再生を開始し得る。
エンコーダ14について、図2で詳述する。エンコーダ14には、1つ又は複数のプロセス30乃至30が含まれ、これによって、後述するように、映像符号化の際、異なる動作を実施し得る。エンコーダ14には、更に、動き推定モジュール32、動き補償モジュール34、DCTモジュール36、量子化モジュール38及びバッファ40を含む。
尚、このエンコーダ14は、異なるプラットホームで、例えば、バントリックス(Vantrix)社のspot_xde(登録商標)等で実現し得る。映像ソースは、映像ファイル又は映像カメラであってよい。
上述したように、動き推定モジュール32によって、現フレームに移動したであろう先行フレームの範囲を予測し得る。
そして、動き補償モジュール34は、動き推定モジュール32によって検出された動きの補償を目的とする。
DCTモジュール36は、画素のブロックに対して、空間周波数係数へのDCT変換を実施する。
それらの空間周波数係数は、次に、それらを量子化するための量子化モジュール38に供給される。
符号化されたフレームは、エンコーダ14のバッファ40に格納し得る。従って、バッファ40によって、符号化されたフレームの受信が可能になり、そして、符号化されたフレームは、通信リンク(ネットワーク16)を介して送信される。
最後に、エンコーダ14には、更に、映像符号化の際、ビットレートを制御するための本出願によるレート制御装置42を含む。このレート制御装置では、通信リンクの最大容量を超過しないことが保証され、また、特に、遠隔監視アプリケーション及び連続映像シーケンスを提示する他のアプリケーションの映像品質を強化する。
II.装置
レート制御装置42は、エンコーダ14においてレート制御の改善を実現する。更に具体的には、装置42は、平均及び最大ビットレート制約条件を満たすように、H.263及びMPEG4映像符号化規格におけるビットレート制御のための方法100を実装している。方法100については、後述する。
装置42には、図3に示すように、イントラフレーム用の目標サイズを指定するための予測器50であって、更に、指定されたイントラフレーム目標サイズを満たすために、量子化モジュール38で用いられる必要なQPを予測するための予測器50が含まれる。イントラフレームのサイズは、ビットレートの品質及びバーストの双方に影響を及ぼし得ることから、ビットレートを制御する場合、イントラフレームを符号化するためのビット予算を適切に設定するために、目標サイズを求める。
装置42には、更に、インターフレームサイズの第1計算器52を含む。第1計算器52により、後述するように、最大ビットレート制約条件を満たすために、様々な状況において、インターフレームの目標サイズを演算することが可能になる。
更に、装置42には、最大ビットレート及び平均ビットレート制約条件双方を満たすように、第1計算器52によって提供されたインターフレーム目標サイズを再計算するための第2計算器54が含まれる。
更に、装置42には、符号化されたフレームのサイズが、計算されたインターフレーム目標サイズと最大ビットレートによって許容された最大サイズとを超過しないことを保証するための検証器56が含まれる。
最後に、最大及び平均ビットレートの制約条件を満たすために、図2のプロセス302は、直近の1秒間内に送信されたフレームのサイズを含むための円形バッファ(図示せず)を有する。例えば、毎秒10フレームでは、そのようなバッファは、符号化された最新の10フレームのサイズを保持する。
一般的に言えば、最大及び平均ビットレート制約条件を満たすための、本発明の非限定的な例示の実施形態による方法100は、30及び30等の2つの制御プロセスを用いる。例えば、プロセス30は、第1及び第2計算器52及び54と共に、最大ビットレートの超過を回避するのに必要な目標フレームサイズを演算するために用い得る。そして、プロセス30は、検証器56と共に、フレームを符号化した後、符号化されたフレームを送信できるか、即ち、最大ビットレートに達していないかどうかチェックするために用いる。最大ビットレートを超過した場合、符号化されたフレームは、削除するか、又はエンコーダ14が、同じフレームを異なる符号化パラメータで再度符号化しようとする。
III.方法
以下、H.263規格等の映像符号化規格におけるビットレート制御のための、本発明の非限定的な例示の実施形態による方法100について、図4と共に述べる。
しかしながら、このレート制御は、H.261、MPEG−4、H.264等、他の映像符号化規格においても用い得ることに留意されたい。
上述したように、イントラフレームのサイズは、ビットレートの品質及びバースト双方に影響を及ぼし得ることから、ビットレートを制御する場合、イントラフレームを符号化するための第1ビット予算を設定することが、重要である。
動作101において、最大ビットレートRMAX及び平均ビットレートRavgを指定する。
そして、動作102において、イントラフレームの目標サイズBi(ビット)を指定する。
方法100の動作103において、QPの予測を実施し、これにより、イントラフレームを符号化する際、動作102で指定したイントラフレーム目標サイズをもっと良く満たし得る。動作102及び103は、例えば、図3の予測器50において実施し得る。
そして、動作104において、動作102で指定されたイントラフレームの目標サイズに基づき、指定された最大ビットレートRMAXを満たすために、インターフレームの目標サイズを計算する。この動作104は、例えば、図3の第1計算器52によって実施し得る。
動作106において、計算されたインターフレーム目標サイズは、指定された最大ビットレート及び平均ビットレート双方を満たすように、再演算する。この動作は、例えば、図3の第2計算器54によって実施し得る。
最後に、動作108において、符号化されたフレームサイズが、最大及び平均ビットレートによって許容される演算済みフレームサイズに対して検証される。
次に、更に具体的に、図4の方法100の各動作について、更に詳細に述べる。
動作101:最大ビットレート及び平均ビットレートの仕様
映像符号化における映像品質を改善するために、超過してはならないRMAXで表す最大ビットレートを設定する。最大ビットレートは、任意の1秒間内にチャネルを介して送信し得るビットの最大数として定義する。この定義の場合、最大サイズは、最大ビットレートと等価である。最大ビットレートの他の定義にも該当し得ることに留意されたい。各用途に応じて最大ビットレートを指定及び定義することは、当業者の範囲及び知識内である。更に、ある期間のフレームに渡って、平均ビットレートをどのように指定するかは、当分野で公知である。
動作102:イントラフレーム目標サイズの仕様
映像符号化の特定用途並びに指定された最大及び平均ビットレートに基づき、イントラフレーム目標サイズをどのように指定するかを知ることは、当業者の知識及び理解の範囲内である。例えば、イントラフレーム目標サイズは、最大ビットレートRMAX又は平均ビットレートRavgの百分率として設定し得る。
動作103:指定イントラフレーム目標サイズを満足するためのQPの予測
このために、以降、参考文献2と称する、2004年、パン(Pan)らによる「超低ビットレート映像符号化のための適応イントラフレーム量子化」に開示された推定アルゴリズムに基づき、量子化モジュール38に用いるQP(量子化パラメータ)を予測するための推定アルゴリズムが、開発されている。
このアルゴリズムは、所定のイントラフレーム目標サイズを満たすために、イントラフレームの統計値に基づき、量子化モジュール38において必要なQPを推定するための図3の予測器50によって用いられる。しかしながら、イントラフレームの全存続時間の間、一定のQPを考慮する参考文献2の教示内容とは異なり、開発された本推定アルゴリズムでは、QP値は、指定された目標フレームサイズを更に正確に満たすように、イントラフレームのGOB(ブロックのグループ)毎に更新し得る。更に、参考文献2は、中間調画像を考慮するが、開発した本推定アルゴリズムは、カラー画像をサポートする。
参考文献2によれば、QPと他のフレーム統計値との間の関係は、下式で記述し得る。
上式において、
であり、F(u、v)は、N×Mサイズの画面における全画素ブロックの8×8DCT係数を含み、Bは、指定されたイントラフレーム目標サイズ(単位=ビット)である。
項MAVDCTは、DCT係数の平均絶対値を表し、また、画面の複雑さの目安を示す。項ABS()は、絶対値関数である。
式(1)は、画面の輝度の統計値だけを考慮し、クロミナンスを無視していることに留意されたい。従って、クロミナンスも考慮するためには、新しい式が必要であり、これは、輝度と比較して、一般的に、4倍二次抽出され、下式で与えられる。
上式において、F(u、v)は、輝度用ブロックの8×8DCT係数を含み、Fc1(u、v)及びFc2(u、v)は、クロミナンス用ブロックの8×8DCT係数を含む。
上述したように、指定されたイントラフレーム目標サイズBを更に正確に満たすために、QPは、イントラフレームの各GOBについて調整される。更に、式(2)は、イントラフレームの残りのブロックを符号化するために必要なビットを考慮するように、修正される。従って、QPを予測するための修正式は、次のようになる。
ここで、
であり、上式において、Bremainは、フレームを符号化するための指定されたイントラフレーム目標サイズから残されているビットの数であり、Ntotalは、フレームのマクロブロックの総数であり、Nremainは、そのフレームで符号化する残りのマクロブロックの数であり、Nbiasは、符号化するフレームの端が近づくにつれて、QP推定を更に控えめにするための偏りであり、通常、Nbias=4である。
指定されたイントラフレーム目標サイズBを満たすように、QPが演算された後、方法100は、動作104に移行する。
動作104:最大ビットレート制約条件を満たすためのインターフレームサイズの計算
非限定的な例として、動作101において指定されたイントラフレーム目標サイズは、一定と見なされる。しかしながら、インターフレーム目標サイズは、状況に依存する。2つのケースを考慮する必要がある。即ち、
i)ケース1:イントラフレームが、直近の1秒間に符号化された又は後続の1秒間に符号化される場合と、
ii)ケース2:インターフレームだけが、直近の1秒間に符号化された又は後続の1秒間に符号化され、イントラフレームからは何ら影響を受けない場合。
従って、動作104は、インターフレーム目標サイズを演算するために、上述した2つのケース即ちケース1及びケース2を考慮する必要がある。動作104によって、方法200は、ケース1に用いられ、方法250は、ケース2に用いられる。
イントラフレームが直近の1秒間内に符号化されたか又は後続の1秒間に符号化されようとしている場合、インターフレーム目標サイズを計算するための方法200(ケース1)
図5では、ケース1においてインターフレーム目標サイズを計算するための方法200について述べる。
まず、動作202において、理想的なインターフレーム目標サイズBが、RMAXに基づき演算される。そのために、非限定的な例として、全てのインターフレームが、同じサイズであるとすると、最大ビットレートは、次のように与えられる。
ここで、Bは、イントラフレーム目標サイズであり、Bは、ケース1における、即ち、イントラフレームが直近の1秒間に符号化される又は後続の1秒間に符号化される場合の理想的なインターフレーム目標サイズであり、Fは、1秒あたりに符号化するフレームの数、即ち、フレームレートである。
次に、式(4)から、理想的なインターフレーム目標サイズBは、次のように与えられる。
定義により、式(5)に示すように、Fは、1フレーム/秒より大きい。
はじめに、ケース1のインターフレーム目標サイズは、BPIと表記され、動作202において計算された理想的なインターフレーム目標サイズBによって与えられる。即ち、
PI=B
しかしながら、上記インターフレーム目標サイズBPIは、過去に符号化されたフレーム、特に、イントラフレームの影響を考慮するために、調整される。実際には、一般的に、符号化されたフレームは、目標サイズと厳密に等しいサイズを有さない。従って、最大ビットレートRMAXを超過せずに、将来のイントラフレームの符号化において、充分なビットを確実に配分するために、符号化されたフレームの実際のサイズと目標サイズとの間の差異を負うように、将来のインターフレームサイズを調整する。
従って、動作204において、過去に符号化されたフレームに基づく調整済みインターフレーム目標サイズが、例えば、図3の第1計算器52により演算される。このために、2つのケースを考慮する。
i)イントラフレームが、直近の1秒間に符号化されている場合、次のインターフレームのサイズBPIは、下式、
を用いて、調整され、また、限定される。上式において、SizeHistory[k]は、符号化されたフレームkのサイズであり、tは、符号化する現フレームのインデックスであり、Tは、2つのイントラフレーム間の期間(フレーム数で表す)であり、Nは、次のイントラフレームの前に残っているフレーム数である。tmp(t)は、フレームtにおけるビット予算バッファを表す。更に、式(6)において、最大値関数内のゼロ(0)によって、バッファのアンダーフローを回避し得る。
式(6)及び(7)によって、イントラフレーム後の1秒間内に符号化される残りのインターフレーム間のフレームを符号化するためのビット予算から、ほぼ均等に、任意の追加ビットを分配し得ることに留意されたい。更に、時間t−(T−N)におけるフレームは、イントラ符号化されたものであることに留意されたい。
ii)イントラフレームが、後続の1秒で符号化されようとする場合、次のインターフレームの目標サイズは、以下のように限定される。
上式において、SizeHistory[k]は、符号化されたフレームkのサイズであり、tは、符号化される現フレームのインデックスであり、Nは、次のイントラフレーム前に残っているフレームの数である。
式(9)において、F−(N−1)の項が、追加されていることに留意されたい。従って、(N−1)個の残りのフレームのサイズは、1つのフレームがイントラフレームである期間において計算される。従って、ビット予算バッファtmp(t)を表す式は、Nによる除算を含む。
最後に、動作206において、調整されたインターフレーム目標サイズは、誤差のマージンを小さく維持し、また、過去のフレームの符号化に用いられたビットを考慮しつつ、最大ビットレートRMAXによって許容された最大サイズを確実に超過しないように再計算される。
従って、インターフレーム目標サイズは、下式、
を用いることによって限定される。上式において、Rmarginは、インターフレーム目標サイズが、最大ビットレートRMAXによって許容された最大サイズを超過しないことを保証するための誤差マージンである。
直近の1秒間内に符号化された又は後続の1秒間に符号化されるイントラフレームがない場合、これはケース2に対応するが、動作104は、インターフレーム目標サイズを計算するための方法250を用いる。
直近の1秒間内に符号化された又は後続の1秒間に符号化されるイントラフレームがない場合にインターフレーム目標サイズを計算するための方法250(ケース2)
次に、図6では、ケース2において、インターフレーム目標サイズを計算するための方法250について述べる。
まず、動作252において、インターフレームの理想的な目標サイズBを最大ビットレートに基づき計算する。この場合、イントラフレームが存在しないと仮定されることから、任意の1秒間の最大ビットレートRMAXは、下式によって与えられる。
上式において、Bは、直近の1秒間内に符号化された又は後続の1秒間に符号化されるイントラフレームがない理想的なインターフレーム目標サイズである。
従って、理想的なインターフレーム目標サイズSは、下式によって与えられる。
最初、ケース2において、インターフレーム目標サイズは、Bと表記されるが、これは、計算された理想的なインターフレームサイズBの値をとる、即ち、B=Bである。
この場合、インターフレームは、イントラフレームによって影響されないと仮定されることから、過去に符号化されたイントラフレームに基づき目標サイズBを調整する必要はない。
次に、動作254において、インターフレーム目標サイズBは、誤差のマージンを小さく維持し、また、過去のフレームの符号化に用いられたビットを考慮しつつ、最大ビットレートRMAXによって許容された最大サイズを確実に超過しないように、再計算する。
このために、以下の式を用いる。
ここで、
であり、上式において、Rmarginは、目標サイズと、最大ビットレートによって許容された最大サイズとの間の誤差のマージンであり、例えば、Rmargin=1000ビットである。
ケース1又はケース2のいずれにおいても、一旦、最大ビットレート制約条件を満たすために、インターフレーム目標サイズが計算されると、図4の方法100は、動作101で指定された最大ビットレート及び平均ビットレートを双方共に満たすように、計算されたインターフレームサイズを更新及び調整するために、動作106に進む。この動作106は、例えば、図3の第2計算器54において実施し得る。
動作106:平均及び最大ビットレート制約条件を双方共に満たすための計算されたインターフレームサイズの再計算
動作106は、平均及び最大ビットレート制約条件を双方共に満たし得る方法を用いる。これらの方法には、2つの要素がある。i)平均及び最大ビットレート制約条件を満たすためのインターフレーム目標サイズの演算、並びに、ii)過去のフレームの符号化に用いられず、将来のフレームの符号化に用い得る追加ビットの管理。
再度、2つの場合、即ち、動作104において述べたケース1及びケース2を考慮する。従って、動作106は、ケース1において方法300を用い、ケース2において方法350を用いる。
イントラフレームが直近の1秒間内に符号化される又は後続の1秒間に符号化されようとしている場合にインターフレームサイズを再計算するための方法300(ケース1)
次に、図7では、ケース1において、動作104で計算されたインターフレーム目標サイズを再計算するための方法300について述べる。
まず、動作302において、指定された平均ビットレート基づき、理想的なインターフレーム目標サイズBを計算する。
理想的には、インターフレームは、同じサイズを有し、そのため、2つのイントラフレーム間の期間Tにおいて、平均ビットレートRavgは、下式によって与えられる。
従って、理想的なインターフレーム目標サイズBは、次のように表し得る。
インターフレームサイズが、平均ビットレートRavg及び最大ビットレートRMAXを超過しないことを保証するために、インターフレーム目標サイズBPIは、次のように再計算される。
動作302は、エンコーダ14が最初に初期化された時、又は例えば、指定された最大ビットレートが含まれるビットレートパラメータが変わる度に、一度だけ演算してよい。
そして、動作304において、計算された目標フレームサイズBPIは、過去に符号化されたフレーム、特に、イントラフレームを考慮するように調整される。そうするために、式(6)又は(8)と同様な式が、更新されたインターフレーム目標サイズBPIを得るために、過去に符号化されたフレームに基づき、計算される。
ここで、式(7)又は(9)で定義されたtmpは、次のケースに依存する。即ち、i)イントラフレームが、直近の1秒間内に符号化されている場合、式(7)が用いられ、また、ii)イントラフレームが、後続の1秒間に符号化される場合、式(9)が用いられる。
次に、動作306において、上述したように、符号化されたフレームは、一般的に、目標サイズと厳密に同じサイズは有さないことから、調整された目標フレームサイズと、実際のフレームサイズとの間の差異を計算する。
そのために、例えば、図2のプロセス301を利用して、変数Bextraを用いて、これらの差異を監視する。この変数は、通信セッションの開始時、ゼロに初期化される。変数Bextraは、フレーム毎に、目標サイズを上回る又は下回るビットの数を積算する。Bextraがゼロより大きい場合、実際のビットレートは、指定された平均ビットレート未満である。Bextraが負の場合、実際のビットレートは、指定された平均ビットレートを上回る。Bextraの更新は、符号化された各フレームに対して、次のように実施される。
上式において、Btargetは、目標サイズであり、インターフレームの場合、BPIに、また、イントラフレームの場合、Bに相当し、Bencodedは、符号化されたフレームのサイズである。
extraが正であり、実際のビットレートが、指定された平均ビットレート未満であることを意味する場合、未使用ビットは、それらの符号化に用いられる次のフレームに分配され、従って、次のフレームの目標サイズは、大きくなる。Bextraが負の場合、次のフレームの目標サイズは、減少する。用いられるアルゴリズムは、以下の通りである。
extra>0の場合(これは、実際のビットレートが平均ビットレート未満であるケースに対応する)、
それ以外の場合、
ここで、αは、現フレームに用いられる追加ビットの割合を表し、βは、追加し得る目標サイズの最も大きな割合を表す。例えば、シミュレーションにおいて、α=0.6及びβ=0.15を用いる。しかしながら、これらの値は、エンコーダ14の性能を更に改善するために、修正し得る。様々な性能を得るために、α及びβの値を調整することは、当業者の範囲内及び知識内である。更に、目標サイズBtargetを更新するための上記方法もまた、このレート制御方法の主な概念から逸脱することなく、修正又は変更し得る。
実施の観点から、Bextraを負にする符号化されたフレームは、削除することが可能であることに留意されたい。そのような場合、符号化されたフレームの実際の平均ビットレートは、指定された平均ビットレートを上回ることがある。更に、或るしきい値未満である符号化済みフレームの削除を決めることが可能である。例えば、或る実施例では、−500ビットのしきい値を用い得る。
最後に、動作308は、符号化される現フレームの調整済みインターフレーム目標サイズが、最大ビットレートRMAXによって許容された最大サイズを超過しないように確かめる。そのために、式(10)と同様な式を用いて、有効なインターフレーム目標サイズを得る。
ここで、tmp2は、式(11)で定義される。
更に、動作306の前に必ずBextraを明らかにするように、方法300を修正することが可能である。これは、実施上の選択であり、このレート制御方法の主な考え方から逸脱することなく、振舞い及び性能における他のいずれかの妥協につながる。
直近の1秒間内に符号化された又は後続の1秒間に符号化されるイントラフレームがない場合、動作106は、平均及び最大ビットレートを双方共に満たすために、計算されたインターフレーム目標サイズを更新するための方法350を用いる。
直近の1秒間内に符号化される又は後続の1秒間に符号化されようとしているイントラフレームがない場合にインターフレームサイズを再計算するための方法350(ケース2)
上述したように、理想的な場合にのみ、インターフレームは、同じサイズになる。現実には、最大ビットレート制約条件により、イントラフレームに近接して配置されたインターフレームの目標サイズは、大幅に低減されたはずである。サイズ上のこれらの差異を補償するために、イントラフレームによって影響されないインターフレームのサイズを再評価する。
次に、図8では、ケース2において、インターフレーム目標サイズを再計算するための方法350について述べる。
まず、動作352において、平均ビットレートに基づき、理想的なインターフレーム目標サイズBを計算する。
理想的な状況では、インターフレームのサイズは、同じ長さであると仮定する。従って、その場合、2つのイントラフレーム間の期間T全体において、平均ビットレートRavgは、下式によって与えられる。
式(19)から、インターフレームの理想的なサイズBは、下式によって与えられることが推定できる。
動作352は、エンコーダ14が初期化される時、又はビットレートパラメータが変わる度に、一度だけ処理してよい。
平均ビットレートと、最大ビットレートを超過しないために方法250の動作252で計算されたインターフレームサイズとに基づき、インターフレーム目標サイズBが、理想的なインターフレーム目標サイズを超過しないことを保証するために、インターフレームの目標サイズBは、次のように限定する。
次に、動作354では、動作352で演算されたインターフレームサイズBと、実際に符号化されたフレームサイズとの間の差異を計算する。この動作は、各フレームについて実施する。
動作354において演算された差異に起因するビットの数が、追跡され、また、変数Bextraに記憶される。この変数によって、実際に符号化されたフレームが、指定された平均ビットレートを上回っているか又は下回っているかどうか判断でき、また、その状況に基づいて、その差異を補正し得る。これは、図7の方法300の動作306で述べたように行われ、目標サイズは、式(21)によって計算する。
最後に、動作356では、誤差のマージンを維持し、また、過去のフレームの符号化に用いられたビットを考慮しつつ、最大ビットレートを超過しないように、Bを制限する。Bは、下式によって与えられる。
ここで、
であり、また、Rmarginは、ビットレート用の誤差のマージンである。例えば、Rmargin=1000ビットである。
一旦、インターフレーム目標サイズが計算されると、図4の動作108において、検証動作が、例えば、図3の検証器56によって実施される。実際には、符号化されたフレームは、通常、計算されたインターフレームと同じサイズを有さない。従って、符号化されたフレームサイズが、計算された目標サイズ及び最大ビットレートと比較して、大き過ぎる場合、再符号化又は削除メカニズムを起動する。それらのメカニズムは、当分野で公知であり、従って、本明細書ではこれ以上述べない。
IV.数値例
この節では、映像符号化におけるレート制御のための方法100に従って、幾つかの数値例について述べる。
例えば、方法200及び方法250に基づき、最大ビットレートが、RMAX=48000bps(ビット/秒)、イントラフレーム目標サイズが、B=40000ビット、フレームレートが、F=10fps(フレーム/秒)である場合、動作202の式(5)及び動作252の式(12)をそれぞれ用いることによって、以下のことが分かる。
また、動作202及び252は、エンコーダ14が初期化される時又はビットレートパラメータが変わる度のいずれかに一度だけ処理し得る。しかしながら、動作204、206、及び254は、その都度、即ち、フレーム毎に、実際の符号化されたフレームサイズに基づいて処理する。
他の例は、方法300及び方法350に関する。この場合、最大ビットレートが、RMAX=48000bps、平均ビットレートが、Ravg=32000bps、イントラフレーム目標サイズが、B=40000ビット、イントラフレームの期間が、T=4s、即ち、各々40フレーム、及びフレームレートが、F=10fpsである場合、動作302の式(17)及び動作354の式(20)を用いることによって、以下のことが分かる。
また、動作302及び352は、エンコーダ14が初期化される時又はビットレートパラメータが変わる度のいずれかにおいて、一度だけ処理し得る。しかしながら、動作304、306、354、及び356は、フレーム毎に、実際に符号化されたフレームサイズに基づいて演算する。
次に、B=3429ビットとして、式(19)を用いて、平均ビットレートを演算するが、これは、計算された目標サイズを用いることによって、計画した通りに全てのフレームを符号化すると得ることができる。
従って、所望の理想的な結果が得られる。或る場合、特に、最大ビットレートが、平均ビットレートに近く、また、目標イントラフレームサイズが大きい場合、最大ビットレート及びイントラフレーム目標サイズは、平均ビットレートを制限し得る。例えば、前の例では、平均ビットレートが、48000bpsである場合、以下のようになる。
平均ビットレートは、全てのフレームが計画通りに符号化されると得られるが、B=4800ビットとして、次のように演算される。
しかし、現実には、符号化されたフレームサイズは、目標サイズを中心にして変動することから、より小さい平均ビットレートが守られる。従って、式(19)によって与えられる結果は、理論的最大値に対応する。
方法100におけるインターフレーム目標サイズの計算は、イントラフレームを基準としたインターフレームの位置に依存することに留意されたい。
V.計算された目標サイズの超過に至る符号化されたフレームの管理
TMN8レート制御において、全ての符号化されたフレームは、それらを送信すると、指定された平均ビットレートを超過する状況になる場合であっても、送信される。フレームの送信後、指定された平均ビットレートを超過した場合、エンコーダは、指定された平均ビットレートを再び守れるようになるまで、必要に応じて、1つ又は複数のフレームをスキップする。従って、この制御は、事前対処的ではなく、事後対処的である。
上記の方式は、平均ビットレートを満たすためには、受入可能であり得る。しかしながら、実際の伝送チャネルを用いる多くの現実の用途の場合そうであるように、最大ビットレートを決して超過してはならない場合、受入可能ではない。
実際には、どのフレームのサイズも、目標サイズを潜在的に超過し得ることから、最大ビットレートの超過に至る符号化されたフレームが送信前に削除されるメカニズムが、実装されるべきである。この取り組み方法の問題は、映像符号化が、フレーム毎の予測(時間的予測符号化)を用いることである。従って、フレームが削除された場合、エンコーダの状態は、削除されたフレームの再符号化に先立って、復元される必要があり、そうでない場合、エンコーダ及びデコーダの同期がとれなくなる。
従って、本発明の非限定的な実施形態による装置42は、フレームを符号化する前に、エンコーダ状態変数を記憶する。符号化されたフレームサイズは、最大ビットレートを超過することになる場合、削除され、状態変数が、次のフレームを符号化するために復元される。そうでない場合、符号化されたフレームが送信され、エンコーダ14は、新しい状態変数で先に進む。
この特徴は、多重パス符号化等、他の用途にも用いることができ、この場合、サイズ及び/又は品質の目標が達成されるまで、1つのフレームに対して多数の符号化の繰り返しを行うことができる。
エンコーダ14は、2つの条件下で、フレームを削除又はスキップし得る。第1に、符号化されたフレームは、最大ビットレートを超過すると、自動的に削除される。第2に、送信されたビットの数が、指定された平均ビットレートを超過すると、将来のフレームは、スキップし得るが、符号化されたばかりのフレームではなく、それに続くフレームが、平均ビットレートを再び守れるようになるまで、スキップされる。更に具体的には、指定された平均ビットレートが、或るしきい値によって超過されると、将来のフレームは、スキップでき、また、現フレームは、それを維持すると最大ビットレートの超過に至る場合にのみ削除される。
更に、エンコーダ14によって、イントラフレームをいつでも要求することができ、これが、「要求に応じたイントラフレーム」の特徴を実現することになる。明らかに、そのような場合、最大ビットレートを超過せずに、イントラフレーム目標サイズを守れないことがある。これが起こった場合、エンコーダ14は、最大ビットレートを超過せずに最大イントラフレーム目標サイズを演算して用いる。符号化されたイントラフレームサイズは、最大ビットレートを超過すると、削除され、エンコーダ14は、そのイントラフレームの再符号化を試みる前に、或る時間期間待つ。エンコーダ14は、継続して待ち、そして、符号化されたイントラフレームサイズが最大ビットレートを守るまで、そのイントラフレームの符号化を試みる。試行が失敗する度に、イントラフレーム目標サイズは、無限ループを回避するように低減されるが、この場合、符号化されたフレームサイズは、常に最大ビットレートを超える。
一般的に、エンコーダ14は、映像データ及びフレームを符号化する時、以下のパラメータを要求する。
●方法100の動作102で指定されたイントラフレーム目標サイズ
●方法100の動作101で指定された平均ビットレート
●方法100の動作101で指定された最大ビットレート
エンコーダ14は、上記所定のパラメータについて幾つかの検証を実施し、それらの使用が可能でない場合、パラメータ値を変え得ることに留意されたい。例えば、所定のイントラフレーム目標サイズ及び最大ビットレートでは、平均ビットレートは、達成できない。従って、パラメータは、変えられ、また、平均レートが、再計算される。
Vl.バッファに基づく、H.263用レート制御の第2の非限定的実施形態
上記実施形態において、最大ビットレートRMAXは、1秒間に送信し得るビットの最大数として定義した。
しかしながら、映像ストリーミング等のアプリケーションでは、最大ビットレートの異なる定義が検討され、これは、それらのアプリケーションに存在する実際の制限を考慮する。
映像ストリーミングにおいて、映像パケットは、容量限定チャネルを介して送られ、従って、ビットレートが、制限される。図1のプレーヤ20が、受信した最初のイントラフレームの再生を開始する前に、1秒の遅延が許容可能と見なされる場合、本明細書において後述するように、イントラフレーム目標サイズは、RMAXより小さくすべきである。
デコーダ18は、プレーヤ20が、最初に受信したフレームの再生を開始する前に、1秒間待たなければならない。しかしながら、それは、この1秒の遅延の間に、追加のフレームを送信できないという意味ではない。ここで、B=RMAXであり、また、最大ビットレートRMAXを超過しないことは、送信バッファ40が、RMAXを超過しない状況と等価であるとする。すると、時間t=0において、サイズRMAXのフレームが、ちょうど挿入されることから、図2のバッファ40は、満杯である。F=10fps及びRMAX=48000bpsの場合、t=0.1秒において、それらがチャネルを介して送信されたことから、バッファ40は、RMAX/F=4800ビットだけ空にする。従って、所定の時間t=0.1秒において、また、送信バッファ40がオーバーフローすることなく、4800ビットが、フレームを符号化するために利用可能となる。同じ方法が、後続のフレームにも適用される。従って、イントラフレームに続く各フレームの場合、4800ビットの追加量を送信し得る。従って、この方法により、本明細書においてこれまでに例示した48000ビットの代わりに、合計48000+(10−1)(4800)=91200ビットを送信することが可能である。
それらの追加利用可能なビットは、イントラフレームに続くインターフレームを符号化するためのビットの数を増やすために用いられることから、イントラフレームに続くフレームの品質を改善し得る。
しかしながら、前に計算した91200ビットは、1秒間で送られるのではなく、送信されたイントラフレームを受信するためにアプリケーションによって生じた遅延のために、それらのビットを網羅する時間は、1.9秒であり、即ち、遅延の1秒及び時間1.1sから1.9sまでの9フレームであるが、これは、(91200ビット/1.9s)=48000ビット/秒のビットレートを与え、最大ビットレートRMAXに対応することに留意されたい。
説明のために、最大バッファサイズは、最大ビットレートRMAXに対応すると見なす。しかしながら、最大バッファサイズは、異なる値で設定し得る。当業者は、それに伴って式をどのように修正すべきか分かっている。
ここで、次のイントラフレームが来る場合を考える。次のイントラフレームが来ることから、バッファ40は、やって来るイントラフレーム用のスペースが、その予定された時間に充分にあるように、徐々に空にしなければならない。
イントラフレームの目標サイズは、Bであるが、実用上は、より多くの利用可能なビットを、イントラフレームに続くフレームに配分し、その品質を改善するように、バッファ40を空にすることが望ましい。
そのため、実際の用途では、B<RMAXである。従って、イントラフレームに続くフレームに配分されるビットの数は、バッファ40を空にし始める前に、それらのフレームの品質を改善するように増大する。
イントラフレームの到着時間をゼロとする。そして、Nは、イントラフレームの符号化からの未使用ビットが分配されるイントラフレームの後のフレームの数として定義される。Lは、バッファレベルが最適化されたインターフレームの数として定義される。t=Lにおいて、バッファ40は満杯であり、また、0≦N≦Lであることに留意されたい。
一般的に言えば、採用し得る可能な戦略は、以下の通りである。
常に、バッファレベルは、RMAXを超過せず、これは、オーバーフローを発生する符号化されたフレームが削除されることを意味する。通常、映像の品質は、イントラフレームの後に最も悪くなることから、バッファレベルを最大にし、また、映像の全体的な品質を上げるために、イントラフレームの符号化において未使用のビットは、後続のインターフレームの符号化に用いる。フレーム番号Lまで、バッファ40は、RMAX/Fを目標サイズでフレームを符号化することによって、満杯のままに維持される。更に、演算されたが先行フレームに未使用のビットは、後続のフレームに再配分されるが、しかしながら、目標サイズは、或る値を超過してはならず、この値は、対象バッファレベルに依存し、バッファレベル自体は、時間のフレームインデックスに依存する。対象バッファレベルは、イントラフレームの後の第1フレームの場合、RMAXであり、次のイントラフレームが来るまで、徐々にゼロ(0)に減少することに留意されたい。
次に、図9では、映像符号化における改善されたレート制御のための方法400について述べる。
動作402では、時間t=0において、イントラフレームが、送信バッファ40によって受信される。従って、時間t=0において、目標フレームサイズは、B(t)=Bである。
動作404において、新しいバッファレベル(これは、以前のバッファレベルと実際に符号化されたイントラフレームのサイズとの和である)と、最大バッファサイズRMAXとの間の比較を行う。
動作406において試験した際、新しいバッファレベルが、最大バッファサイズRMAXより大きい場合、動作408において、実際に符号化されたフレームは、削除される。更に、そのフレームの符号化に先立つエンコーダ状態変数を復元する(バッファレベルを含むが、これは、符号化に先立って、バッファレベル値に復元される)。
新しいバッファレベルが、最大バッファサイズRMAXより小さい場合、動作410において、インターフレーム目標サイズB(t)は、下式、
を用いることによって、2つのイントラフレーム間の期間T内の時間tにおける各フレームについて計算される。上式において、
は、任意であるが、条件としては、バッファ40がオーバーフローしてはならない、即ち、バッファレベル≦RMAXであり、また、t=Lにおいてほぼ満杯でなければならない。
そして、動作412において、超過できない最大バッファレベルが、計算される。実際には、バッファ40に次のイントラフレームを挿入するための充分なスペースが確実にあるように、最大バッファレベルは、フレーム毎に演算すべきである。イントラフレームのサイズは、RMAXを超過できない。従って、T−1におけるフレームでは、次のイントラフレームの始まりにおいて、バッファレベルが、RMAX−Bを超過しないように、バッファレベルは、RMAX−B+RMAX/Fを超過できない。
しかしながら、実用上の理由により、バッファ40のサイズは、上述したように、RMAX−B+RMAX/Fの代わりに、RMAX/Fにすべきである。これは、現実的には、符号化されたイントラフレームの実際のサイズを正確に予測することは、困難であることによる。今日存在するアルゴリズムは、充分に堅牢ではない。従って、より多くのビットをイントラフレームに続くフレームに用い得るように、フレームT−1において、バッファ40を空にする方が、より安全である。
従って、最大バッファレベルは、次のように計算される。
そして、動作414において、動作410で計算されたインターフレーム目標サイズは、イントラフレームの符号化から未使用ビットを取り込むように、更新される。
イントラフレームに続くインターフレームに未使用ビットを分配するやり方は、数多くある。イントラフレームに続く映像の品質を最適化するために、フレームLの後、バッファ40は、満杯であるべきことに留意されたい。
例えば、後続のN個のフレームに未使用ビットを均等に分配するために、時間tにおける目標フレームサイズは、下式によって与えられる。
L=Nの場合、RMAX/Fの目標フレームサイズは、存在しないことに留意されたい。更に、バッファ40が、2つのイントラフレーム間において、それ自体を空にするための充分な時間を有するように、T>F+Lである。
動作416において、更新されたインターフレーム目標サイズを考慮するように、将来のフレーム各々に割り当てられたバッファレベルを計算する。
従って、バッファレベルは、下式によって与えられる。
初めに、送信バッファ40は、空であり、そして、サイズB及びB(t)のフレームが、それらの演算に従って連続的に挿入されることに留意されたい。
そして、動作418において、フレームを符号化するためのマージンΔ(t)を計算する。
一般的に、エンコーダ14が、フレームを符号化する場合、符号化されたフレームサイズは、目標サイズと若干異なる。目標サイズが、符号化されたフレームより大きい場合、未使用ビットは、最大バッファレベルが超過されない限り、次フレームに再配分される。従って、フレームの符号化後、追加可能なビットの数を示すE(t)が、動作420において演算される。フレームの符号化から生じるそれらの未使用ビットは、次のフレームの符号化に用い得る。E(t)は、次のように定義される。
上式において、BufferLevelactual(t)は、フレームの実際の符号化後のバッファレベルである。
一般的に、追加ビットの割合は、最大バッファレベルが超過されないことを保証するために用いられることに留意されたい。当業者は、最大バッファレベルが超過されないことを保証するために、追加ビットの割合をどのように指定するか分かっている。
しかしながら、符号化されたフレームが、目標フレームサイズより大きいことが起こり得る。この場合、E(t)は、負になるか又は或る所定のしきい値より小さくなる。従って、動作422において、符号化されたフレームについて、検証プロセスが実施される。符号化されたフレームが、目標フレームサイズを超過した場合、この符号化されたフレームは、削除される。更に、この場合、エンコーダ状態変数は、フレームの符号化に先立って、それらの値に復元される。
例えば、方法400の動作410は、図3の第1計算器52を介して実施でき、また、方法400の動作412は、図3の第2計算器54を介して実施し得ることは、注目に値する。更に、図2のプロセス301によって提供された最適化器(図示せず)によって、例えば、送信バッファ40をLフレームに渡って最適化し得る。
VII.数値例
例えば、以前の数値例で与えたられたものと同じ値を用いることができる。即ち、RMAX=48000ビット、B=40000ビット、F=10fps、T=40、即ち、4sである。更に、N=3及びL=F−1=9と仮定すると、
上記計算値を用いて、最大ビットレートは、次のように計算し得る。
この結果は、方法100によって与えられる39.2kbpsより更に興味深い。更に、イントラフレームに続くインターフレームに、追加ビットが分配されることから、フレームの視認品質が、改善される。
上記明細書において、非限定的な例示の実施形態によって、本発明について説明したが、これらの例示の実施形態は、添付された請求項の範囲内において、本発明の精神及び本質から逸脱することなく、意のままに修正し得る。
10 通信システム
12 映像ソース
14 映像エンコーダ
16 ネットワーク
18 デコーダ
20 映像プレーヤ
30−30 プロセス
32 動き推定モジュール
34 動き補償モジュール
36 DCTモジュール
38 量子化モジュール
40 バッファ
42 レート制御装置
50 予測器
52 第1計算器
54 第2計算器
56 検証器

Claims (20)

  1. ビデオストリームのビデオエンコーディングにおけるレート制御のための方法であって、
    前記ビデオストリームのために最大ビットレートおよび平均ビットレートを指定する段階と、
    前記指定された最大ビットレートが超過しないことを保証するために、イントラフレームを基準としたインターフレームの位置に基づいてインターフレームサイズを計算する段階と、
    前記指定された最大ビットレートが超過しないことと、前記指定された平均ビットレートが得られることとの両方を保証するために、前記計算されたインターフレームサイズを調整する段階と、を含む方法。
  2. 指定されたイントラフレームサイズを達成するために、前記イントラフレームの符号化のための前記イントラフレームの量子化パラメータを推定する段階をさらに含む請求項1に記載の方法。
  3. (i)前記インターフレームサイズを計算する前記段階は、前記指定された最大ビットレートに基づく理想的なインターフレームサイズを計算する段階を含む、
    または、
    (ii)前記計算されたインターフレームサイズを調整する前記段階は、前記指定された平均ビットレートに基づいて理想的なインターフレームサイズを計算する段階を含む、
    請求項1に記載の方法。
  4. 前記段階(i)における前記理想的なインターフレームサイズを計算する前記段階は、
    イントラフレームが、最後に発生した時間期間の間に符号化された、または後続の時間期間の間に符号化されようとしている場合、下式、
    を用いる段階であって、B2は、前記理想的なインターフレームサイズであり、RMAXは、前記指定された最大ビットレートであり、Fは、フレームレートであり、BIは、イントラフレームサイズである、段階、
    または、
    イントラフレームが、最後に発生した時間期間の間に符号化されていない、または後続の時間期間の間に符号化されようとしていない場合、下式、
    を用いる段階であって、B3は、前記理想的なインターフレームサイズであり、RMAXは、前記指定された最大ビットレートであり、Fは、フレームレートである、段階を
    さらに含む、
    請求項3に記載の方法。
  5. 前記段階(ii)において前記理想的なインターフレームサイズを計算する前記段階は、
    イントラフレームが、最後に発生した時間期間の間に符号化された、または後続の時間期間の間に符号化されようとしている場合、下式、
    を用いる段階であって、Bは、前記理想的なインターフレームサイズであり、Ravgは、前記平均ビットレートであり、BIは、イントラフレームサイズであり、Tは、2つのイントラフレーム間の期間であり、Fは、フレームレートである、段階、
    または、
    イントラフレームが、最後に発生した時間期間の間に符号化されていない、または後続の時間期間の間に符号化されようとしていない場合、下式、
    を用いる段階であって、Baは、前記理想的なインターフレームサイズであり、Ravgは、前記平均ビットレートであり、BI、イントラフレームサイズであり、BPIは、前記インターフレームサイズであり、Tは、2つのイントラフレーム間の期間であり、Fは、フレームレートである、段階を
    さらに含む、
    請求項3に記載の方法。
  6. 前記インターフレームサイズを計算する前記段階は、
    過去に符号化されたフレームを考慮する段階をさらに含む、
    または、
    前記計算されたインターフレームサイズを調整する前記段階は、過去に符号化されたフレームを考慮する段階を含む、
    または、
    前記計算されたインターフレームサイズを調整する前記段階は、前記指定された最大ビットレートによって許容された最大サイズに前記インターフレームサイズを制限する段階をさらに含む、
    請求項1に記載の方法。
  7. 過去に符号化されたフレームを考慮する前記インターフレームサイズBPIを計算する前記段階は、
    イントラフレームが、最後に発生した時間期間内において符号化された場合、下式、
    を用いる段階を含み、ここで、
    であり、SizeHistory[k]は、符号化されたフレームkのサイズであり、tは、符号化する現フレームのインデックスであり、Tは、2つのイントラフレーム間の期間であり、Nは、次のイントラフレームの前に残っているフレーム数である、
    請求項6に記載の方法。
  8. 過去に符号化されたフレームを考慮する前記インターフレームサイズBPIを計算する前記段階は、
    後続の時間期間においてイントラフレームを符号化する必要がある場合、下式、
    を用いる段階をさらに含み、ここで、
    であり、BIは、イントラフレームサイズである、
    請求項7に記載の方法。
  9. 前記インターフレームサイズを制限する前記段階は、
    下式、
    を用いて実行され、
    BPは、前記インターフレームサイズであり、
    であり、
    上式において、Rmarginは、前記インターフレームサイズと前記最大ビットレートRMAXによって許容された前記最大サイズとの間の誤差のマージンであり、SizeHistory[k]は、符号化されたフレームkのサイズであり、tは、符号化する現フレームのインデックスである、
    請求項に記載の方法。
  10. 将来のインターフレームを符号化するために使用可能な余分なビットを次のインターフレームサイズに分配する段階、
    または、
    次のインターフレームサイズのために前記計算されたインターフレームサイズを低減する段階、
    または、
    前記指定された最大ビットレートを超過することになるフレームサイズの符号化されたインターフレームを削減する段階、
    または、
    前記指定された平均ビットレートを超過することになるフレームサイズの符号化されたインターフレームを削減する段階、
    の一つ以上をさらに含む、請求項1から9のいずれか一項に記載の方法。
  11. ビデオストリームのビデオエンコーディングにおけるレート制御のためのシステムであって、
    前記ビデオストリームのために最大ビットレートおよび平均ビットレートを指定するための手段と、
    前記指定された最大ビットレートが超過しないことを保証するために、イントラフレームを基準としたインターフレームの位置に基づいてインターフレームサイズを計算するための手段と、
    前記指定された最大ビットレートが超過しないことと、前記指定された平均ビットレートが得られることとの両方を保証するために、前記計算されたインターフレームサイズを調整するための手段と、を含むシステム。
  12. 指定されたイントラフレームサイズを達成するために、前記イントラフレームの符号化のための前記イントラフレームの量子化パラメータを推定するための手段をさらに含む、請求項11に記載のシステム。
  13. (i)前記インターフレームサイズを計算するための前記手段は、前記指定された最大ビットレートに基づく理想的なインターフレームサイズを計算するための手段を含む、
    または、
    (ii)前記計算されたインターフレームサイズを調整するための前記手段は、前記指定された平均ビットレートに基づいて理想的なインターフレームサイズを計算するための手段を含む、
    請求項11に記載のシステム。
  14. 前記理想的なインターフレームサイズを計算するための前記手段(i)は、
    イントラフレームが、最後に発生した時間期間の間に符号化された、または後続の時間期間の間に符号化されようとしている場合、下式、
    に従って計算するための手段であって、B2は、前記理想的なインターフレームサイズであり、RMAXは、前記指定された最大ビットレートであり、Fは、フレームレートであり、BIは、イントラフレームサイズである、手段、
    または、
    イントラフレームが、最後に発生した時間期間の間に符号化されていない、または後続の時間期間の間に符号化されようとしていない場合、下式、
    に従って計算するための手段であって、B3は、前記理想的なインターフレームサイズであり、RMAXは、前記指定された最大ビットレートであり、Fは、フレームレートである、手段を
    さらに含む、
    請求項13に記載のシステム。
  15. 前記理想的なインターフレームサイズを計算するための前記手段(ii)は、
    イントラフレームが、最後に発生した時間期間の間に符号化された、または後続の時間期間の間に符号化されようとしている場合、下式、
    に従って計算するための手段であって、Bは、前記理想的なインターフレームサイズであり、Ravgは、前記平均ビットレートであり、BI、イントラフレームサイズであり、Tは、2つのイントラフレーム間の期間であり、Fは、フレームレートである、手段、
    または、
    イントラフレームが、最後に発生した時間期間の間に符号化されていない、または後続の時間期間の間に符号化されようとしていない場合、下式、
    に従って計算を行うための手段であって、Baは、前記理想的なインターフレームサイズであり、Ravgは、前記平均ビットレートであり、BIは、イントラフレームサイズであり、BPIは、前記インターフレームサイズであり、Tは、2つのイントラフレーム間の期間であり、Fは、フレームレートである、手段を
    さらに含む、
    請求項13に記載のシステム。
  16. 前記インターフレームサイズを計算するための前記手段は、過去に符号化されたフレームを考慮するための手段をさらに含む、
    または、
    前記計算されたインターフレームサイズを調整するための前記手段は、過去に符号化されたフレームを考慮するための手段を含む、
    または、
    前記計算されたインターフレームサイズを調整するための前記手段は、前記指定された最大ビットレートによって許容された最大サイズに前記インターフレームサイズを制限する手段をさらに含む、
    請求項11に記載のシステム。
  17. 過去に符号化されたフレームを考慮する前記インターフレームサイズBPIを計算するための前記手段は、イントラフレームが、最後に発生した時間期間内において符号化された場合、下式、
    に従って計算するための手段を含み、ここで、
    であり、SizeHistory[k]は、符号化されたフレームkのサイズであり、tは、符号化する現フレームのインデックスであり、Tは、2つのイントラフレーム間の期間であり、Nは、次のイントラフレームの前に残っているフレーム数である、
    請求項16に記載のシステム。
  18. 過去に符号化されたフレームを考慮する前記インターフレームサイズBPIを計算するための前記手段は、
    後続の時間期間においてイントラフレームを符号化する必要がある場合、下式、
    に従って計算するための手段をさらに含み、ここで、
    であり、BIは、イントラフレームサイズである、
    請求項17に記載のシステム。
  19. 前記インターフレームサイズを制限するための前記手段は、
    下式、
    に従って計算するための手段を含み、BPは、前記インターフレームサイズであり、
    であり、上式において、Rmarginは、前記インターフレームサイズと前記最大ビットレートRMAXによって許容された前記最大サイズとの間の誤差のマージンであり、SizeHistory[k]は、符号化されたフレームkのサイズであり、tは、符号化する現フレームのインデックスである、
    請求項16に記載のシステム。
  20. 将来のインターフレームを符号化するために使用可能な余分なビットを次のインターフレームサイズに分配するための手段、
    または、
    次のインターフレームサイズのために前記計算されたインターフレームサイズを低減するための手段、
    または、
    前記指定された最大ビットレートを超過することになるフレームサイズの符号化されたインターフレームを削減するための手段、
    または、
    前記指定された平均ビットレートを超過することになるフレームサイズの符号化されたインターフレームを削減するための手段、
    の一つ以上をさらに含む、請求項11から19のいずれか一項に記載のシステム。
JP2013171123A 2006-12-12 2013-08-21 映像符号化規格に対応した映像レート制御の改善 Active JP5676705B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US87425006P 2006-12-12 2006-12-12
US60/874,250 2006-12-12

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2009540563A Division JP5351040B2 (ja) 2006-12-12 2007-12-11 映像符号化規格に対応した映像レート制御の改善

Publications (2)

Publication Number Publication Date
JP2013258754A JP2013258754A (ja) 2013-12-26
JP5676705B2 true JP5676705B2 (ja) 2015-02-25

Family

ID=39511201

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2009540563A Expired - Fee Related JP5351040B2 (ja) 2006-12-12 2007-12-11 映像符号化規格に対応した映像レート制御の改善
JP2013171123A Active JP5676705B2 (ja) 2006-12-12 2013-08-21 映像符号化規格に対応した映像レート制御の改善

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2009540563A Expired - Fee Related JP5351040B2 (ja) 2006-12-12 2007-12-11 映像符号化規格に対応した映像レート制御の改善

Country Status (8)

Country Link
US (2) US8401076B2 (ja)
EP (1) EP2123040B1 (ja)
JP (2) JP5351040B2 (ja)
KR (1) KR101418950B1 (ja)
CN (2) CN102638687A (ja)
CA (1) CA2672339C (ja)
IL (1) IL199335A (ja)
WO (1) WO2008070987A1 (ja)

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8526490B2 (en) 2002-12-10 2013-09-03 Ol2, Inc. System and method for video compression using feedback including data related to the successful receipt of video content
US9077991B2 (en) 2002-12-10 2015-07-07 Sony Computer Entertainment America Llc System and method for utilizing forward error correction with video compression
US9061207B2 (en) 2002-12-10 2015-06-23 Sony Computer Entertainment America Llc Temporary decoder apparatus and method
US9446305B2 (en) 2002-12-10 2016-09-20 Sony Interactive Entertainment America Llc System and method for improving the graphics performance of hosted applications
US8549574B2 (en) * 2002-12-10 2013-10-01 Ol2, Inc. Method of combining linear content and interactive content compressed together as streaming interactive video
US8964830B2 (en) 2002-12-10 2015-02-24 Ol2, Inc. System and method for multi-stream video compression using multiple encoding formats
US10201760B2 (en) 2002-12-10 2019-02-12 Sony Interactive Entertainment America Llc System and method for compressing video based on detected intraframe motion
US8711923B2 (en) 2002-12-10 2014-04-29 Ol2, Inc. System and method for selecting a video encoding format based on feedback data
US9138644B2 (en) * 2002-12-10 2015-09-22 Sony Computer Entertainment America Llc System and method for accelerated machine switching
US20090118019A1 (en) 2002-12-10 2009-05-07 Onlive, Inc. System for streaming databases serving real-time applications used through streaming interactive video
US9108107B2 (en) 2002-12-10 2015-08-18 Sony Computer Entertainment America Llc Hosting and broadcasting virtual events using streaming interactive video
US20100166056A1 (en) * 2002-12-10 2010-07-01 Steve Perlman System and method for encoding video using a selected tile and tile rotation pattern
US8366552B2 (en) * 2002-12-10 2013-02-05 Ol2, Inc. System and method for multi-stream video compression
US9192859B2 (en) 2002-12-10 2015-11-24 Sony Computer Entertainment America Llc System and method for compressing video based on latency measurements and other feedback
US9314691B2 (en) 2002-12-10 2016-04-19 Sony Computer Entertainment America Llc System and method for compressing video frames or portions thereof based on feedback information from a client device
KR101418950B1 (ko) 2006-12-12 2014-07-17 밴트릭스 코오퍼레이션 비디오 코딩 표준에 대한 개선된 비디오율 제어
JP5180294B2 (ja) 2007-06-19 2013-04-10 ヴァントリックス コーポレーション ビデオ符号化において、フレームの複雑さ、バッファレベル、およびイントラフレームの位置を利用するバッファベースのレート制御
US9168457B2 (en) 2010-09-14 2015-10-27 Sony Computer Entertainment America Llc System and method for retaining system state
TWI419519B (zh) * 2009-12-22 2013-12-11 Ind Tech Res Inst 適用於多媒體串流的網路封包傳送系統與方法
JP5694674B2 (ja) * 2010-03-03 2015-04-01 株式会社メガチップス 画像符号化装置、画像符号化復号化システム、画像符号化方法、画像表示方法
US20110310956A1 (en) * 2010-06-22 2011-12-22 Jian-Liang Lin Methods for controlling video decoder to selectively skip one or more video frames and related signal processing apparatuses thereof
US9832540B2 (en) 2010-12-15 2017-11-28 Hulu, LLC Method and apparatus for hybrid transcoding of a media program
US8831108B2 (en) * 2011-05-04 2014-09-09 Cavium, Inc. Low latency rate control system and method
US20130208786A1 (en) * 2012-02-15 2013-08-15 Wei Xiong Content Adaptive Video Processing
US20140104493A1 (en) * 2012-10-11 2014-04-17 Tangome, Inc. Proactive video frame dropping for hardware and network variance
US9549189B2 (en) * 2012-11-06 2017-01-17 Ittiam Systems (P) Ltd. Method for media rate control in a video encoding system
CN102970246B (zh) * 2012-11-23 2017-12-22 上海寰创通信科技股份有限公司 一种以太网报文流量控制方法
KR101610436B1 (ko) 2013-07-24 2016-04-08 연세대학교 산학협력단 트래픽 조절 방법 및 장치
CN103581670B (zh) * 2013-10-09 2015-05-20 合一网络技术(北京)有限公司 H264自适应帧内模式选择码率估计的率失真优化方法及其装置
US9537779B2 (en) * 2013-10-11 2017-01-03 Huawei Technologies Co., Ltd. System and method for real-time traffic delivery
US10157620B2 (en) * 2014-03-04 2018-12-18 Interactive Intelligence Group, Inc. System and method to correct for packet loss in automatic speech recognition systems utilizing linear interpolation
US9848193B2 (en) * 2014-04-15 2017-12-19 Qualcomm Incorporated System and method for selecting quantization parameter (QP) in display stream compression (DSC)
US10397574B2 (en) * 2014-05-12 2019-08-27 Intel Corporation Video coding quantization parameter determination suitable for video conferencing
US9716852B2 (en) * 2015-04-03 2017-07-25 Semiconductor Energy Laboratory Co., Ltd. Broadcast system
US20160360206A1 (en) * 2015-06-04 2016-12-08 Microsoft Technology Licensing, Llc Rate controller for real-time encoding and transmission
WO2016192079A1 (en) * 2015-06-04 2016-12-08 Intel Corporation Adaptive batch encoding for slow motion video recording
US10542262B2 (en) 2016-11-15 2020-01-21 City University Of Hong Kong Systems and methods for rate control in video coding using joint machine learning and game theory
EP3376766B1 (en) * 2017-03-14 2019-01-30 Axis AB Method and encoder system for determining gop length for encoding video
US10924744B2 (en) * 2017-11-17 2021-02-16 Intel Corporation Selective coding
EP3881306A4 (en) * 2018-11-14 2022-08-03 Saab Ab VIDEO DATA BURST CONTROL FOR REMOTE TOWERS
CN113141541B (zh) * 2020-01-17 2022-06-10 北京达佳互联信息技术有限公司 码率切换方法、装置、设备及存储介质
US11413542B2 (en) * 2020-04-29 2022-08-16 Dell Products L.P. Systems and methods for measuring and optimizing the visual quality of a video game application

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3187097B2 (ja) * 1991-10-17 2001-07-11 株式会社東芝 動画像符号化における符号量配分方法とこれを用いた動画像符号化方法及び装置
US5619341A (en) * 1995-02-23 1997-04-08 Motorola, Inc. Method and apparatus for preventing overflow and underflow of an encoder buffer in a video compression system
JP3300561B2 (ja) * 1995-02-28 2002-07-08 株式会社東芝 可変レート圧縮装置及び可変レート伸長装置
EP1357758A3 (en) * 1995-08-02 2004-10-27 Matsushita Electric Industrial Co., Ltd. Video coding device and video transmission system using the same, quantization control method and average throughput calculation method used therein
US5717464A (en) 1995-12-18 1998-02-10 Divicom, Inc. Rate control for a video encoder
JPH114444A (ja) * 1997-06-11 1999-01-06 Sony Corp 画像符号化装置および方法
CA2264834C (en) * 1997-07-08 2006-11-07 Sony Corporation Video data encoder, video data encoding method, video data transmitter, and video data recording medium
US6141380A (en) 1998-09-18 2000-10-31 Sarnoff Corporation Frame-level rate control for video compression
US6233226B1 (en) 1998-12-14 2001-05-15 Verizon Laboratories Inc. System and method for analyzing and transmitting video over a switched network
WO2000064187A1 (en) * 1999-04-19 2000-10-26 Sony Corporation Image encoding device and its method
US6330286B1 (en) 1999-06-09 2001-12-11 Sarnoff Corporation Flow control, latency control, and bitrate conversions in a timing correction and frame synchronization apparatus
US6731685B1 (en) 2000-09-20 2004-05-04 General Instrument Corporation Method and apparatus for determining a bit rate need parameter in a statistical multiplexer
US7023924B1 (en) * 2000-12-28 2006-04-04 Emc Corporation Method of pausing an MPEG coded video stream
US20040252758A1 (en) 2002-08-14 2004-12-16 Ioannis Katsavounidis Systems and methods for adaptively filtering discrete cosine transform (DCT) coefficients in a video encoder
EP1547393A4 (en) 2002-09-05 2010-10-13 Agency Science Tech & Res METHOD AND DEVICE FOR CONTROLLING THE RATE OF A VIDEO SEQUENCE AND VIDEO CODING DEVICE
CN1658673A (zh) * 2005-03-23 2005-08-24 南京大学 视频压缩编解码方法
US7864840B2 (en) 2005-04-15 2011-01-04 Inlet Technologies, Inc. Scene-by-scene digital video processing
US20090225829A2 (en) 2005-07-06 2009-09-10 Do-Kyoung Kwon Method and apparatus for operational frame-layerrate control in video encoder
US9544602B2 (en) 2005-12-30 2017-01-10 Sharp Laboratories Of America, Inc. Wireless video transmission system
KR101418950B1 (ko) 2006-12-12 2014-07-17 밴트릭스 코오퍼레이션 비디오 코딩 표준에 대한 개선된 비디오율 제어

Also Published As

Publication number Publication date
US9407909B2 (en) 2016-08-02
CA2672339A1 (en) 2008-06-19
CN102638687A (zh) 2012-08-15
KR20090108026A (ko) 2009-10-14
EP2123040B1 (en) 2017-12-06
JP2010512697A (ja) 2010-04-22
IL199335A (en) 2015-03-31
US20100080292A1 (en) 2010-04-01
WO2008070987A1 (en) 2008-06-19
CN101647278B (zh) 2012-05-30
JP5351040B2 (ja) 2013-11-27
KR101418950B1 (ko) 2014-07-17
EP2123040A1 (en) 2009-11-25
EP2123040A4 (en) 2011-12-21
JP2013258754A (ja) 2013-12-26
US8401076B2 (en) 2013-03-19
CA2672339C (en) 2018-12-04
IL199335A0 (en) 2010-03-28
CN101647278A (zh) 2010-02-10
US20130182766A1 (en) 2013-07-18

Similar Documents

Publication Publication Date Title
JP5676705B2 (ja) 映像符号化規格に対応した映像レート制御の改善
KR101518358B1 (ko) 비디오 코딩에서 프레임 복잡성, 버퍼 레벨 및 인트라 프레임들의 위치를 이용하는 버퍼 기반의 비율 제어
KR100927083B1 (ko) 예측에 의한 유사 고정 품질 레이트 제어
KR100942395B1 (ko) 다층 비디오 설계를 위한 레이트 제어
US6526097B1 (en) Frame-level rate control for plug-in video codecs
EP1745653A2 (en) Encoder with adaptive rate control for h.264
US20060165168A1 (en) Multipass video rate control to match sliding window channel constraints
EP1575294B1 (en) Method and apparatus for improving the average image refresh rate in a compressed video bitstream
WO2009149564A1 (en) Method and device for controlling bit-rate for video encoding, video encoding system using same and computer product therefor
Yin et al. A rate control scheme for H. 264 video under low bandwidth channel
KR101371507B1 (ko) 저지연 영상 통신 시스템 및 방법
KR100789535B1 (ko) 영상의 변화율에 따른 적응적 비트율 제어 장치 및 방법
JP3779066B2 (ja) 動画像符号化装置
Xiong et al. An error resilience scheme on an end-to-end distortion analysis for video transmission over Internet
Jiang Adaptive rate control for advanced video coding
Abdullah et al. Constant Bit Rate For Video Streaming Over Packet Switching Networks
Liu et al. A novel frame-level constant-distortion bit allocation for smooth H. 264/AVC video quality

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140723

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140728

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141028

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: 20141201

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141225

R150 Certificate of patent or registration of utility model

Ref document number: 5676705

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250