JP2005065291A - ビデオエンコーダのエンコーディング率制御方法、ビデオデータの伝送方法、ビデオエンコーダのエンコーディング率制御器、及びビデオデータ伝送システム - Google Patents

ビデオエンコーダのエンコーディング率制御方法、ビデオデータの伝送方法、ビデオエンコーダのエンコーディング率制御器、及びビデオデータ伝送システム Download PDF

Info

Publication number
JP2005065291A
JP2005065291A JP2004235609A JP2004235609A JP2005065291A JP 2005065291 A JP2005065291 A JP 2005065291A JP 2004235609 A JP2004235609 A JP 2004235609A JP 2004235609 A JP2004235609 A JP 2004235609A JP 2005065291 A JP2005065291 A JP 2005065291A
Authority
JP
Japan
Prior art keywords
encoding
mquant
picture type
quantization scale
row
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.)
Pending
Application number
JP2004235609A
Other languages
English (en)
Inventor
Jae-Young Beom
宰 榮 范
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of JP2005065291A publication Critical patent/JP2005065291A/ja
Pending legal-status Critical Current

Links

Images

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/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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • H04N19/198Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters including smoothing of a sequence of encoding parameters, e.g. by averaging, by choice of the maximum, minimum or median value
    • 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
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
    • 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/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/176Methods 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 block, e.g. a macroblock
    • 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/177Methods 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 a group of pictures [GOP]
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • H04N19/197Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters including determination of the initial value of an encoding parameter
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

【課題】リアルタイム可変ビット率制御によって画質を改善させるビデオエンコーダのエンコーディング率制御器、それを備えたビデオデータ伝送システム、及びその方法を提供する。
【解決手段】エンコーディング率と歪曲との関係を定義せずとも、従来のエンコーディング結果に基づいて現在のピクチャーにビットを割当て、現在のピクチャーの性質が以前のピクチャーと異なる場合、制限されたビットに合せるように強制せず、量子化スケール変化による追加ビットも使用せずにピクチャー内の多様な性質に適応して量子化スケールを設定するエンコーディング率制御器、及びビデオデータ伝送システムである。したがって、このようなリアルタイム可変ビット率制御方式でエンコーディングされたビデオデータがモニターに表示されるようにデコーディングされる時、ディスプレイ画質を改善させうる。
【選択図】図1

Description

本発明はビデオデータ伝送システムに係り、特に、MPEG2(Moving Picture Experts Group 2)ビデオエンコーダのエンコーディング率制御器、それを備えたビデオデータ伝送システム、及びその方法に関する。
MPEG2ビデオエンコーディングでエンコーディング率の制御方法には2つがある。その一つは恒等ビット率方式であり、他の一つは可変ビット率方式である。恒等ビット率方式は、DTV(Digital Television)放送信号のように一定時間に対して決まったビット数でエンコーディングする方式であって、静止映像のビデオデータ及び動き映像のビデオデータが何れも同じビット数でエンコーディングするので、大きいビット数を割当てなければならない動き映像の画質が相対的に悪い。そして、可変ビット率方式は、帯域幅が十分であるか、またはDVD(Digital Video Disk)などの保存媒体を使用する状況のようにデータ伝送率が可変的である時、動き映像のビデオデータにさらに大きいビット数で割当てられるので、恒等ビット率方式に比べて画質を向上させうる。このようにビデオカメラで撮像されたビデオデータがビデオエンコーディングによって圧縮されたデータは、無線LANやDTV送信機などで変調されてRF(Radio Frequency)信号として出力されうる。また、圧縮されたビデオデータはDVD光ディスクなどにコード化されて記録されうる。
MPEG2ビデオエンコーディングのエンコーディング率制御は、主にマクロブロック量子化パラメータの量子化スケールを調節する方法を使用する。マクロブロックは、エンコーディングされたI、P、Bフレームデータで所定ウィンドー(例えば、16*16ピクセル)を取る時、当該ウィンドー内にあるピクセルデータを意味する。グレーレベルを表すピクセルデータは、主に8ビットデータである。この時、可変ビット率方式によるエンコーディング率の制御方法は、大きく3段階に分けられる。第一段階は、フレームごとにピクチャータイプ(I、P、またはB)に適するビット数を割当てるビット割当て段階であり、第二段階は、量子化スケールを決定するレート制御段階であり、第三段階は、ピクチャータイプ(I、P、またはB)内の全てのマクロブロックに対して量子化スケールを調節する適応量子化段階である。
ビット割当て段階では、エンコーディング率と歪曲との関係を利用して複雑度を定義した後、以前にエンコーディングされたピクチャータイプ(I、P、またはB)の複雑度を参照して、現在のピクチャータイプ(I、P、またはB)のビット数を決定して、それに合わせてビット数を割当てる。レート制御段階では、仮想のバッファ量や以前のピクチャータイプ(I、P、またはB)の複雑度に基づいて量子化スケールを計算する。ここで、量子化スケールは、エンコーディングビット数と反比例する関係にあるため、量子化スケールが大きくなれば、エンコーディングビット数が小さくなる方向に量子化される。適応量子化段階では、以前のマクロブロック内での活動度(データ変化度)を利用して、現在のマクロブロックに対して新しい量子化スケールを決定する。
このような可変ビット率方式による従来のエンコーディング率の制御方法では、ビット割当て段階で、エンコーディング率と歪曲との関係を表す最も近い数式を探そうとする色々な試みから見れば、その正確な関係を定義し難く、近い数式で定義しても、ピクチャータイプ(I、P、またはB)の多様な変化に対応できないという問題点がある。
また、従来のエンコーディング率の制御方法では、適応量子化段階で、全てのマクロブロックに対して新しい量子化スケールを計算する方法は、ビット使用量に比べて画質向上性能が高くないという問題点がある。一方、1ピクチャーに一つの量子化スケールを使用する他の方法も適用できるが、この場合には、ピクチャー内に多様な性質が存在する時に効果的ではないという問題点が再び現れる。
本発明が解決しようとする技術的課題は、エンコーディング率と歪曲との関係を定義せずとも、従来のエンコーディング結果に基づいて現在のピクチャーにビットを割当て、現在のピクチャーの性質が以前のピクチャーと異なる場合、制限されたビットに合せるように強制せず、量子化スケールの変化による追加ビットも使用せずにピクチャー内の多様な性質に適応して量子化スケールを設定する、リアルタイム可変ビット率制御方式で画質を改善させるビデオエンコーダのエンコーディング率の制御方法、及びそれを備えてMPEG−2ビデオエンコーディングを行うビデオデータ伝送方法を提供することである。
本発明が解決しようとする他の技術的課題は、エンコーディング率と歪曲との関係を定義せずとも、従来のエンコーディング結果に基づいて現在のピクチャーにビットを割当て、現在のピクチャーの性質が以前のピクチャーと異なる場合、制限されたビットに合せるように強制せず、量子化スケールの変化による追加ビットも使用せずにピクチャー内の多様な性質に適応して量子化スケールを設定する、リアルタイム可変ビット率制御方式で画質を改善させるビデオエンコーダのエンコーディング率制御器、及びそれを備えてMPEG−2ビデオエンコーディングを行うビデオデータ伝送システムを提供することである。
前記課題を達成するための本発明によるビデオエンコーダのエンコーディング率の制御方法は、
以前のGOP(Group Of Picture)のピクチャータイプI、P、及びBそれぞれの平均エンコーディングビット数と平均目標ビット数、及びバッファバランス値を利用して、現在のピクチャータイプの目標ビット数を計算して出力するビット割当て段階と、
前記現在のピクチャータイプと同じ以前のピクチャータイプのうち最も最近のピクチャータイプの平均量子化スケール値と前記目標ビット数とを利用して、前記現在のピクチャータイプの一番目のローマクロブロックに対応する量子化スケール値を計算して出力するレートコントロール段階と、
前記現在のピクチャータイプのマクロブロックローそれぞれに対応して、以前のローでの単位ロー当り目標ビット数とエンコーディングビット数とを計算し、その値を含む関数によって現在のローに対応する量子化スケール値を計算して出力し、前記現在のピクチャータイプの全体エンコーディングビット数を計算して出力する適応量子化段階と、
前記適応量子化段階で出力される前記量子化スケール値を保存し、前記以前のピクチャータイプ及び前記以前のローマクロブロックの量子化スケール値を出力するメモリ入出力段階と、前記現在のピクチャータイプの全体エンコーディングビット数及び前記平均目標ビット数を利用して前記バッファバランス値を計算して出力するバッファ量計算段階と、を備える。
前記目標ビット数の計算は、数式、
Figure 2005065291
(ここで、Tは目標ビット数、Tavgi,p,bはピクチャータイプ別平均目標ビット数、Bi,p,bはピクチャータイプ別平均エンコーディングビット数、N、N、及びNそれぞれはGOP内のI、P、及びBピクチャー数、bit_rateは所定伝送率、frame_rateはフレーム率、dはバッファバランス値、Ndisは分散ピクチャー数)
によって決定されることを特徴とする。
前記バッファバランス値は、数式、
d+=Si,p,b−Tavgi,p,b
(ここで、dはバッファバランス値、Si,p,bはピクチャータイプ別の1ピクチャーの全体エンコーディングビット数)
によって決定されることを特徴とする。
前記ピクチャータイプ別平均エンコーディングビット数Bi,p,bは、補正条件式、
If (Bp < 1.2・Bb) Bp = 1.2・Bb;
If (Bi < 1.2・Bp) Bi = 1.2・Bp;
If (Bi > 3.5・Bp) Bi = 3.5・Bp;
If (Bb < 0.6・Bp) Bb = 0.6・Bp.
によって補正されることを特徴とする。
前記現在のピクチャータイプの一番目のローマクロブロックに対応する量子化スケール値の計算は、数式、
Figure 2005065291
(ここで、Qi,p,bは平均量子化スケール値、mquantはj番目のローマクロブロックに対応する量子化スケール値、Nrowはピクチャー内の全体ロー数、Tavgi,p,bはピクチャータイプ別平均目標ビット数、Tは目標ビット数、Qinitは一番目のローマクロブロックに対応する量子化スケール値、δは定数)
によって決定されることを特徴とする。
前記現在のピクチャータイプのマクロブロックローそれぞれに対応する量子化スケール値の計算は、前記関数と関連された数式、
If (f(j,Sj,Sj-1,Trow)>β_upj) mquantj+1 = mquant_up(mquantj,q_scale_type);
else if (g(j,Sj,Sj-1,Trow)>β_dnj) mquantj+1 = mquant_dn(mquantj,q_scale_type);
else mquantj+1 = mquantj.
(ここで、Sはピクチャー内の一番目のローマクロブロックからj番目のローマクロブロックまでのエンコーディングビット数、Trowは単位ロー当り目標ビット数、mquant_up(mquant,q_scale_type)は多数のq_scale_typeのうち何れか一つでmquantに対応する以前のk番目のコードより大きいコードに対応する量子化スケール値、mquant_dn(mquant,q_scale_type)は多数のq_scale_typeのうち何れか一つでmquantに対応する以前のk番目のコードより小さなコードに対応する量子化スケール値、β_up及びβ_dnそれぞれは第1臨界定数及び第2臨界定数)
によって決定されることを特徴とする。
前記関数f()、及びg()は、以前のローでのエンコーディングビット数を表す数式、 S−Sj−1
を含む関数であることを特徴とする。
前記mquant_up(mquant,q_scale_type)及びmquant_dn(mquant,q_scale_type)は、多数のq_scale_typeのうち何れか一つでmquantに対応する以前のk番目のコードより、1が大きい“k+1”番目のコードに対応する量子化スケール値、及び1が小さな“k−1”番目のコードに対応する量子化スケール値であることを特徴とする。
前記課題を達成するための本発明によるビデオデータ伝送方法は、現在のピクチャータイプの現在のローマクロブロックに対応する量子化スケール値を入力されて、前記量子化スケール値によってビデオ入力データをエンコーディングしてエンコーディングされたビデオデータを出力するビデオエンコーディング段階と、
前記エンコーディングされたビデオデータに対する以前のGOPのピクチャータイプI、P、及びBそれぞれの平均エンコーディングビット数と平均目標ビット数、及びバッファバランス値を利用して計算された現在のピクチャータイプの目標ビット数、及び前記現在のピクチャータイプと同じ以前のピクチャータイプのうち最も最近のピクチャータイプの平均量子化スケール値を利用して前記現在のピクチャータイプの一番目のローマクロブロックに対応する量子化スケール値を計算し、以前のローマクロブロックでの単位ロー当り目標ビット数とエンコーディングビット数とを含む関数によって前記現在のローマクロブロックに対応する量子化スケール値を計算して出力するエンコーディング率制御段階と、
前記エンコーディングされたビデオデータを伝送率によって出力するバッファリング段階と、を備えることを特徴とする。
前記エンコーディング率制御段階は、
前記平均エンコーディングビット数と前記平均目標ビット数、及び前記バッファバランス値を利用して前記目標ビット数を計算して出力するビット割当て段階と、
前記平均量子化スケール値と前記目標ビット数とを利用して前記現在のピクチャータイプの一番目のローマクロブロックに対応する量子化スケール値を計算して出力するレートコントロール段階と、
前記現在のピクチャータイプのマクロブロックローそれぞれに対応して、以前のローでの単位ロー当り目標ビット数とエンコーディングビット数とを計算してその値を含む関数によって現在のローに対応する量子化スケール値を計算して出力し、前記現在のピクチャータイプの全体エンコーディングビット数を計算して出力する適応量子化段階と、
前記適応量子化段階で出力される前記量子化スケール値を保存し、前記以前のピクチャータイプ及び前記以前のローマクロブロックの量子化スケール値を出力するメモリ入出力段階と、
前記現在のピクチャータイプの全体エンコーディングビット数及び前記平均目標ビット数を利用して前記バッファバランス値を計算して出力するバッファ量計算段階と、を備えることを特徴とする。
前記課題を達成するための本発明によるビデオエンコーダのエンコーディング率制御器は、ビット割当て部、レートコントロール部、適応量子化部、メモリ、及びバッファ量計算部を備える。
前記ビット割当て部は、以前のGOPのピクチャータイプI、P、及びBそれぞれの平均エンコーディングビット数と平均目標ビット数、及びバッファバランス値を利用して現在のピクチャータイプの目標ビット数を計算して出力する。
前記レートコントロール部は、前記現在ピクチャータイプと同じ以前のピクチャータイプのうち最も最近のピクチャータイプの平均量子化スケール値と前記目標ビット数とを利用して前記現在のピクチャータイプの一番目のローマクロブロックに対応する量子化スケール値を計算して出力する。
前記適応量子化部は、前記現在のピクチャータイプのマクロブロックローそれぞれに対応して、以前のローでの単位ロー当り目標ビット数とエンコーディングビット数とを計算し、その値を含む関数によって現在のローに対応する量子化スケール値を計算して出力し、前記現在のピクチャータイプの全体エンコーディングビット数を計算して出力する。
前記メモリは、前記適応量子化部から出力される前記量子化スケール値を保存し、前記以前のピクチャータイプ及び前記以前のローマクロブロックの量子化スケール値を出力する。
前記バッファ量計算部は、前記現在のピクチャータイプの全体エンコーディングビット数及び前記平均目標ビット数を利用して前記バッファバランス値を計算して出力する。
前記課題を達成するための本発明によるビデオデータ伝送システムは、ビデオエンコーダ、エンコーディング率制御器、及びエンコーダバッファを備える。
前記ビデオエンコーダは、現在のピクチャータイプの現在のローマクロブロックに対応する量子化スケール値を入力されて、前記量子化スケール値によってビデオ入力データをエンコーディングしてエンコーディングされたビデオデータを出力する。
前記エンコーディング率制御器は、前記エンコーディングされたビデオデータに対する以前のGOPのピクチャータイプI、P、及びBそれぞれの平均エンコーディングビット数と平均目標ビット数、及びバッファバランス値を利用して計算された現在のピクチャータイプの目標ビット数、及び前記現在のピクチャータイプと同じ以前のピクチャータイプのうち最も最近のピクチャータイプの平均量子化スケール値を利用して前記現在のピクチャータイプの一番目のローマクロブロックに対応する量子化スケール値を計算し、以前のローマクロブロックでの単位ロー当り目標ビット数とエンコーディングビット数とを含む関数によって前記現在のローマクロブロックに対応する量子化スケール値を計算して出力する。
前記エンコーダバッファは、前記エンコーディングされたビデオデータを伝送率によって出力する。
本発明によるエンコーディング率制御器及びビデオデータ伝送システムは、エンコーディング率と歪曲との関係を定義せずとも、従来のエンコーディング結果に基づいて現在のピクチャーにビットを割当て、現在ピクチャーの性質が以前のピクチャーと異なる場合、制限されたビットに合わせるように強制せず、量子化スケールの変化による追加ビットも使用せずにピクチャー内の多様な性質に適応して量子化スケールを設定する。したがって、このようなリアルタイム可変ビット率制御方式でエンコーディングされたビデオデータがモニターに表示されるようにデコーディングされる時、ディスプレイ画質を改善させうる。
本発明と本発明の動作上の利点及び本発明の実施によって達成される目的を十分に理解するためには、本発明の望ましい実施例を例示する添付図面及び図面に記載された内容を参照しなければならない。
以下、添付した図面を参照して本発明の望ましい実施例を説明することによって、本発明を詳細に説明する。各図面に提示された同じ参照符号は同じ部材を表す。
図1は、本発明の一実施例によるエンコーディング率制御器を備えたMPEG2ビデオデータ伝送システムのブロック図である。
図1を参照すれば、本発明の一実施例によるビデオデータ伝送システムは、ビデオエンコーダ110、エンコーディング率制御器120、及びエンコーダバッファ130を備える。
前記ビデオエンコーダ110は、現在のピクチャータイプの現在のローマクロブロックに対応する量子化スケール値mquantj+1を入力されて、前記量子化スケール値mquantj+1によってビデオ入力データをエンコーディングしてエンコーディングされたビデオデータEDを出力する。ビデオ入力データは、通常、ビデオカメラで撮像されて8ビットデジタル信号として出力されるビデオデータのR、G、B信号、またはY、Pb、Pr信号であるが、これに限定されない。
前記エンコーディング率制御器120は、前記エンコーディングされたビデオデータEDに対する以前のGOPのピクチャータイプI、P、及びBそれぞれの平均エンコーディングビット数Bi,p,bと平均目標ビット数Tavgi,p,b、及びバッファバランス値dを利用して計算された現在のピクチャータイプの目標ビット数T、及び前記現在のピクチャータイプと同じ以前のピクチャータイプのうち最も最近のピクチャータイプの平均量子化スケール値Qi,p,bを利用して、前記現在のピクチャータイプの一番目のローマクロブロックに対応する量子化スケール値Qinitを計算し、以前のローマクロブロックでの単位ロー当り目標ビット数Trowとエンコーディングビット数S−Sj−1を含む関数f,gによって、前記現在のローマクロブロックに対応する量子化スケール値mquantj+1を計算して出力する。GOPは、通常、15個のピクチャーより構成され、2個のGOPが伝送される時間は1秒である。GOPを構成するピクチャータイプの伝送順序は、I,B,B,P,B,B,P,B,B,P,...と同じであり、ピクチャータイプのうち一つに当る時間は一つのフレームに当る時間と同じである。
前記エンコーダバッファ130は、前記エンコーディングされたビデオデータEDを伝送率によって出力する。伝送率は、DTVの場合、20Mbpsほどであり、DVDの場合、5Mbpsほどである。前記エンコーダバッファ130から出力されたビデオデータBDは、MPEG2規格によって圧縮されたデータであって、無線LANやDTV送信機などで変調されてRF信号として出力されうる。また、このように圧縮されたビデオデータBDは、DVD光ディスクにコード化されて記録されうる。
本発明は、特に、前記エンコーディング率制御器120の可変ビット率方式によるエンコーディング率制御と関連付けがなされている。
図2は、図1のエンコーディング率制御器120の具体的なブロック図である。
図2を参照すれば、図1のエンコーディング率制御器120は、ビット割当て部121、レートコントロール部123、適応量子化部125、メモリ127、及びバッファ量計算部129を備える。
前記ビット割当て部121は、以前のGOPのピクチャータイプI、P、及びBそれぞれの平均エンコーディングビット数Bi,p,bと平均目標ビット数Tavgi,p,b、及びバッファバランス値dを利用して、現在のピクチャータイプの目標ビット数Tを計算して出力する。前記目標ビット数Tの計算は、数式1及び2によって決定される。図2で、平均エンコーディングビット数計算部1211は、前記エンコーディングされたビデオデータEDを受信してピクチャータイプ別平均エンコーディングビットBi,p,bを計算し、目標ビット数計算部1213は数式1を利用して数式2のように目標ビット数Tを計算して出力する。
Tavgi,p,bはピクチャータイプ別平均目標ビット数であって、I、P、Bピクチャータイプ別にTavgi、Tavgp、Tavgbそれぞれを意味する。同様に、Bi,p,bはピクチャータイプ別平均エンコーディングビット数であって、I、P、Bピクチャータイプ別にB、B、Bそれぞれを意味する。Ndisは、バッファバランスの影響を分散させる分散ピクチャー数であって、前記の例で1秒に当るフレーム数である30と同じである。N、N、及びNそれぞれはGOP内のI、P、及びBピクチャー数であって、それぞれは前記の例で、1、4、10と同じである。bit_rateは所定伝送率であって、1秒当り伝送ビット数と同じであり、frame_rateはフレーム率であって1秒当りフレーム数と同じである。
前記バッファバランス値dは、数式2を利用して数式3のように計算される。数式3の計算は、前記バッファ量計算部129でなされる。
数式3は“d(i)=d(i−1)+Si,p,b−Tavgi,p,b”を簡略に表したものであって、d(i)は現在のピクチャーのバッファバランス値であり、d(i−1)は以前のピクチャーのバッファバランス値である。ここで、数式2に表されたように、バッファバランス値dが負の値であれば、現在のピクチャータイプの目標ビット数Tは大きくなる関係がある。Si,p,bはピクチャータイプ別の1ピクチャーの全体エンコーディングビット数であって、I、P、Bピクチャータイプ別にS、S、Sそれぞれを意味する。前記ピクチャータイプ別平均エンコーディングビット数Bi,p,bは、補正条件式、例えば、数式4のような補正条件式によって補正される。
Figure 2005065291
(ここで、Tavgi,p,bはピクチャータイプ別平均目標ビット数、Bi,p,bはピクチャータイプ別平均エンコーディングビット数、N、N、及びNそれぞれはGOP内のI、P、及びBピクチャー数、bit_rateは所定伝送率、frame_rateはフレーム率)
Figure 2005065291
(ここで、Tは目標ビット数、dはバッファバランス値、Ndisは分散ピクチャー数)
Figure 2005065291
(ここで、dはバッファバランス値、Si,p,bはピクチャータイプ別の1ピクチャーの全体エンコーディングビット数)
Figure 2005065291
前記レートコントロール部123は、前記現在のピクチャータイプと同じ以前のピクチャータイプのうち最も最近のピクチャータイプの平均量子化スケール値Qi,p,bと前記目標ビット数Tとを利用して、前記現在のピクチャータイプの一番目のローマクロブロックに対応する量子化スケール値Qinitを計算して出力する。一番目のローマクロブロックに対応する量子化スケール値Qinitはmquant1と同じである。前記現在のピクチャータイプの一番目のローマクロブロックに対応する量子化スケール値Qinitの計算は、数式5ないし数式7によって決定される。数式7は、数式6を利用して計算する。
Figure 2005065291
(ここで、Qi,p,bは平均量子化スケール値、mquantはj番目のローマクロブロックに対応する量子化スケール値、Nrowはピクチャー内の全体ロー数)
Figure 2005065291
(ここで、Tavgi,p,bはピクチャータイプ別平均目標ビット数、Tは目標ビット数、Qinitは一番目のローマクロブロックに対応する量子化スケール値)
Figure 2005065291
(ここで、δは定数)
前記適応量子化部125は、前記現在ピクチャータイプのマクロブロックローそれぞれに対応して、以前のローでの単位ロー当り目標ビット数Trowとエンコーディングビット数S−Sj−1を計算し、その値を含む関数f,gによって現在のローに対応する量子化スケール値を計算して出力し、前記現在のピクチャータイプの全体エンコーディングビット数Si,p,bを計算して出力する。前記現在のピクチャータイプのマクロブロックローそれぞれに対応する量子化スケール値mquantj+1の計算は、前記関数f,gと関連された数式8によって決定される。
数式8で、関数f()、及びg()は、以前のローでのエンコーディングビット数、“S−Sj−1”を含む関数である。図4に示されたようなmquantタイプ別量子化スケールを表す一例で、数式8のmquant_up(mquant,q_scale_type)及びmquant_dn(mquant,q_scale_type)は、多数のq_scale_typeのうち何れか一つでmquantに対応する以前のk番目のコードより、1が大きい“k+1”番目のコードに対応する量子化スケール値、及び1が小さな“k−1”番目のコードに対応する量子化スケール値にできる。例えば、図4でmquantに対応する以前のk番目のコードが2であり、この時、q_scale_type“0”で量子化スケール値が4である場合に、mquant_up(mquant,q_scale_type)及びmquant_dn(mquant,q_scale_type)それぞれは、“k+1”番目及び“k−1”番目のコードに対応する量子化スケール値6及び2を表す。
前記メモリ127は、前記適応量子化部125から出力される前記量子化スケール値mquantj+1を保存し、前記以前のピクチャータイプ及び前記以前のローマクロブロックの量子化スケール値mquantを出力する。
前記バッファ量計算部129は、前記現在のピクチャータイプの全体エンコーディングビット数Si,p,b及び前記平均目標ビット数Tavgi,p,bを利用して、数式3のように前記バッファバランス値dを計算して出力する。
Figure 2005065291
(ここで、Sは、ピクチャー内の一番目のローマクロブロックからj番目のローマクロブロックまでのエンコーディングビット数、Trowは単位ロー当り目標ビット数、mquant_up(mquant,q_scale_type)は、多数のq_scale_typeのうち何れか一つでmquantに対応する以前のk番目のコードより大きいコードに対応する量子化スケール値、mquant_dn(mquant,q_scale_type)は、多数のq_scale_typeのうち何れか一つでmquantに対応する以前のk番目のコードより小さなコードに対応する量子化スケール値、β_up及びβ_dnそれぞれは第1臨界定数及び第2臨界定数)
以下、本発明の一実施例による前記エンコーディング率制御器120の動作を、さらに詳細に説明する。
図3は、エンコーディング率制御器120の動作説明のためのフローチャートである。
図3を参照するに、図1のビデオエンコーダ110がエンコーディングを開始すれば、エンコーディング率制御器120で、以前のGOPのピクチャータイプI、P、及びBそれぞれの平均エンコーディングビット数Bi,p,bと、現在のピクチャータイプと同じ以前のピクチャータイプのうち最も最近のピクチャータイプの平均量子化スケール値Qi,p,bと、がリセットされて初期化され(S311)、GOP開始段階に進入する(S313)。エンコーディングが開始されて、現在のGOP内での各ピクチャータイプに対するエンコーディングは、まず、平均エンコーディングビット数計算部1211が、以前のGOPのピクチャータイプI、P、及びBそれぞれの平均エンコーディングビット数Bi,p,bを計算する(S313)。
これに基づいて、目標ビット数計算部1213は、数式2によって、平均目標ビット数Tavgi,p,b、及びバッファバランス値dを利用して、現在のピクチャータイプの目標ビット数Tを計算する。この時、レートコントロール部123は、数式7によって、前記現在のピクチャータイプと同じ以前のピクチャータイプのうち最も最近のピクチャータイプの平均量子化スケール値Qi,p,bを利用して、前記現在のピクチャータイプの一番目のローマクロブロックに対応する量子化スケール値Qinit、すなわち、mquant1を計算する(S315)。
各ピクチャーを構成するマクロブロックローに対する量子化スケール値mquantj+1計算段階に進入すれば(S317)、適応量子化部125が以前のローマクロブロックでのエンコーディングビット数S−Sj−1を計算し(S319)、単位ロー当り目標ビット数Trowを含む関数f,gによって、数式8のように、現在のピクチャーの最後のローまで前記現在のローマクロブロックに対応する量子化スケール値mquantj+1を計算する(S320〜S321)。
1ピクチャーに対する計算が終われば、適応量子化部125は、現在のピクチャータイプの全体エンコーディングビット数Si,p,bも計算して出力する。この時、次のピクチャーに対する計算のために、バッファ量計算部129は、数式3によって、バッファバランス値dを計算し、レートコントロール部123は、数式5によって、再び従来のピクチャータイプのうち最も最近のピクチャータイプの平均量子化スケール値Qi,p,bを計算する(S323)。GOPが終われば、平均エンコーディングビット数計算部1211が、再び以前のGOPのピクチャータイプI、P、及びBそれぞれの平均エンコーディングビット数Bi,p,bを計算する(S325、S313)。新しいGOP内でピクチャータイプ別に量子化スケール値mquantj+1を計算するために、前記のような過程はエンコーディングシークエンスが終了するまで続く(S327)。
以上、本発明による本発明の一実施例によるエンコーディング率制御器120は、ビット割当て部121、レートコントロール部、及び適応量子化部125を備えて、現在のピクチャーの性質が以前のピクチャーと異なる場合、制限されたビットに合せるように強制せず、量子化スケール変化による追加ビットも使用せずにピクチャー内の多様な性質に適応して量子化スケールを設定する可変ビット率制御方式で、現在のピクチャータイプのマクロブロックローそれぞれに対応する量子化スケール値mquantj+1をリアルタイム計算して出力する。
以上のように、図面と明細書とで最適の実施例が開示された。ここで、特定の用語が使われたが、これは単に本発明を説明するための目的で使われたものであり、意味限定や特許請求の範囲に記載された本発明の範囲を制限するために使われたものではない。したがって、当業者ならば、これから多様な変形及び均等な他の実施例が可能であることが分かる。こうして、本発明の真の技術的保護範囲は、特許請求の範囲の技術的思想によって決定されなければならない。
本発明によるビデオエンコーダのエンコーディング制御器、それを備えたビデオデータ伝送システム及びその方法は、MPEG2ビデオエンコーダなどに利用されて、ビデオデータのエンコーディング方式を大きく改善する。
本発明の一実施例によるエンコーディング率制御器を備えたMPEG2ビデオデータ伝送システムのブロック図である。 図1のエンコーディング率制御器の具体的なブロック図である。 エンコーディング率制御器の動作説明のためのフローチャートである。 適応量子化過程を説明するためのmquantタイプ別量子化スケールを表す一例である。
符号の説明
110 ビデオエンコーダ
120 エンコーディング率制御器
130 エンコーダバッファ
ED エンコーディングされたビデオデータ
BD 出力されたビデオデータ
mquantj+1 量子化スケール値

Claims (20)

  1. 以前のGOPのピクチャータイプI、P、及びBそれぞれの平均エンコーディングビット数と平均目標ビット数、及びバッファバランス値を利用して、現在のピクチャータイプの目標ビット数を計算して出力するビット割当て段階と、
    前記現在のピクチャータイプと同じ以前のピクチャータイプのうち最も最近のピクチャータイプの平均量子化スケール値と前記目標ビット数とを利用して、前記現在のピクチャータイプの一番目のローマクロブロックに対応する量子化スケール値を計算して出力するレートコントロール段階と、
    前記現在のピクチャータイプのマクロブロックローそれぞれに対応して、以前のローでの単位ロー当り目標ビット数とエンコーディングビット数とを計算し、その値を含む関数によって現在のローに対応する量子化スケール値を計算して出力し、前記現在のピクチャータイプの全体エンコーディングビット数を計算して出力する適応量子化段階と、
    前記適応量子化段階で出力される前記量子化スケール値を保存して、前記以前のピクチャータイプ及び前記以前のローマクロブロックの量子化スケール値を出力するメモリ入出力段階と、
    前記現在のピクチャータイプの全体エンコーディングビット数及び前記平均目標ビット数を利用して、前記バッファバランス値を計算して出力するバッファ量計算段階と、を備えることを特徴とするビデオエンコーダのエンコーディング率の制御方法。
  2. 前記目標ビット数の計算は、
    数式、
    Figure 2005065291
    (ここで、Tは目標ビット数、Tavgi,p,bはピクチャータイプ別平均目標ビット数、Bi,p,bはピクチャータイプ別平均エンコーディングビット数、N、N、及びNそれぞれはGOP内のI、P、及びBピクチャー数、bit_rateは所定の伝送率、frame_rateはフレーム率、dはバッファバランス値、Ndisは分散ピクチャー数)
    によって決定されることを特徴とする請求項1に記載のビデオエンコーダのエンコーディング率の制御方法。
  3. 前記バッファバランス値は、
    数式、
    d+=Si,p,b−Tavgi,p,b
    (ここで、dはバッファバランス値、Si,p,bはピクチャータイプ別1ピクチャーの全体エンコーディングビット数)
    によって決定されることを特徴とする請求項2に記載のビデオエンコーダのエンコーディング率の制御方法。
  4. 前記ピクチャータイプ別平均エンコーディングビット数Bi,p,bは、
    補正条件式、
    If(Bp < 1.2・Bb) Bp = 1.2・Bb;
    If(Bi < 1.2・Bp) Bi = 1.2・Bp;
    If(Bi > 3.5・Bp) Bi = 3.5・Bp;
    If(Bb < 0.6・Bp) Bb = 0.6・Bp.
    によって補正されることを特徴とする請求項2に記載のビデオエンコーダのエンコーディング率の制御方法。
  5. 前記現在のピクチャータイプの一番目のローマクロブロックに対応する量子化スケール値の計算は、
    数式、
    Figure 2005065291
    (ここで、Qi,p,bは平均量子化スケール値、mquantはj番目のローマクロブロックに対応する量子化スケール値、Nrowはピクチャー内の全体ロー数、Tavgi,p,bはピクチャータイプ別平均目標ビット数、Tは目標ビット数、Qinitは一番目のローマクロブロックに対応する量子化スケール値、δは定数)
    によって決定されることを特徴とする請求項2に記載のビデオエンコーダのエンコーディング率の制御方法。
  6. 前記現在のピクチャータイプのマクロブロックローそれぞれに対応する量子化スケール値の計算は、
    前記関数と関連された数式、
    If (f(j,Sj,Sj-1,Trow)>β_upj) mquantj+1 = mquant_up(mquantj,q_scale_type);
    else if (g(j,Sj,Sj-1,Trow)>β_dnj) mquantj+1 = mquant_dn(mquantj,q_scale_type);
    else mquantj+1 = mquantj.
    (ここで、Sjはピクチャー内の一番目のローマクロブロックからj番目のローマクロブロックまでエンコーディングビット数、Trowは単位ロー当り目標ビット数、mquant_up(mquant,q_scale_type)は多数のq_scale_typeのうち何れか一つでmquantに対応する以前のk番目のコードより大きいコードに対応する量子化スケール値、mquant_dn(mquant,q_scale_type)は多数のq_scale_typeのうち何れか一つでmquantに対応する以前のk番目のコードより小さなコードに対応する量子化スケール値、β_up及びβ_dnそれぞれは第1臨界定数及び第2臨界定数)
    によって決定されることを特徴とする請求項5に記載のビデオエンコーダのエンコーディング率の制御方法。
  7. 前記関数f()、及びg()は、
    以前のローでのエンコーディングビット数を表す数式、
    −Sj−1.
    を含む関数であることを特徴とする請求項6に記載のビデオエンコーダのエンコーディング率の制御方法。
  8. 前記mquant_up(mquant,q_scale_type)及びmquant_dn(mquant,q_scale_type)は、
    多数のq_scale_typeのうち何れか一つでmquantに対応する以前のk番目のコードより、1が大きい“k+1”番目のコードに対応する量子化スケール値、及び1が小さな“k−1”番目のコードに対応する量子化スケール値であることを特徴とする請求項6に記載のビデオエンコーダのエンコーディング率の制御方法。
  9. 現在のピクチャータイプの現在のローマクロブロックに対応する量子化スケール値を入力されて、前記量子化スケール値によってビデオ入力データをエンコーディングし、エンコーディングされたビデオデータを出力するビデオエンコーディング段階と、
    前記エンコーディングされたビデオデータに対する以前のGOPのピクチャータイプI、P、及びBそれぞれの平均エンコーディングビット数と平均目標ビット数、及びバッファバランス値を利用して計算された現在のピクチャータイプの目標ビット数、及び前記現在のピクチャータイプと同じ以前のピクチャータイプのうち最も最近のピクチャータイプの平均量子化スケール値を利用して、前記現在のピクチャータイプの一番目のローマクロブロックに対応する量子化スケール値を計算し、以前のローマクロブロックでの単位ロー当り目標ビット数とエンコーディングビット数とを含む関数によって前記現在のローマクロブロックに対応する量子化スケール値を計算して出力するエンコーディング率制御段階と、
    前記エンコーディングされたビデオデータを伝送率によって出力するバッファリング段階と、を備えることを特徴とするビデオデータの伝送方法。
  10. 前記エンコーディング率制御段階は、
    前記平均エンコーディングビット数と前記平均目標ビット数、及び前記バッファバランス値を利用して、前記目標ビット数を計算して出力するビット割当て段階と、
    前記平均量子化スケール値と前記目標ビット数とを利用して、前記現在のピクチャータイプの一番目のローマクロブロックに対応する量子化スケール値を計算して出力するレートコントロール段階と、
    前記現在のピクチャータイプのマクロブロックローそれぞれに対応して、以前のローでの単位ロー当り目標ビット数とエンコーディングビット数とを計算し、その値を含む関数によって現在のローに対応する量子化スケール値を計算して出力し、前記現在のピクチャータイプの全体エンコーディングビット数を計算して出力する適応量子化段階と、
    前記適応量子化段階で出力される前記量子化スケール値を保存し、前記以前のピクチャータイプ及び前記以前のローマクロブロックの量子化スケール値を出力するメモリ入出力段階と、
    前記現在のピクチャータイプの全体エンコーディングビット数及び前記平均目標ビット数を利用して、前記バッファバランス値を計算して出力するバッファ量計算段階と、を備えることを特徴とする請求項9に記載のビデオデータの伝送方法。
  11. 以前のGOPのピクチャータイプI、P、及びBそれぞれの平均エンコーディングビット数と平均目標ビット数、及びバッファバランス値を利用して現在のピクチャータイプの目標ビット数を計算して出力するビット割当て部と、
    前記現在のピクチャータイプと同じ以前のピクチャータイプのうち最も最近のピクチャータイプの平均量子化スケール値と前記目標ビット数とを利用して、前記現在のピクチャータイプの一番目のローマクロブロックに対応する量子化スケール値を計算して出力するレートコントロール部と、
    前記現在のピクチャータイプのマクロブロックローそれぞれに対応して、以前のローでの単位ロー当り目標ビット数とエンコーディングビット数とを計算し、その値を含む関数によって現在のローに対応する量子化スケール値を計算して出力し、前記現在のピクチャータイプの全体エンコーディングビット数を計算して出力する適応量子化部と、
    前記適応量子化部から出力される前記量子化スケール値を保存し、前記以前のピクチャータイプ及び前記以前のローマクロブロックの量子化スケール値を出力するメモリと、
    前記現在のピクチャータイプの全体エンコーディングビット数及び前記平均目標ビット数を利用して、前記バッファバランス値を計算して出力するバッファ量計算部と、を備えることを特徴とするビデオエンコーダのエンコーディング率制御器。
  12. 前記目標ビット数の計算は、
    数式、
    Figure 2005065291
    (ここで、Tは目標ビット数、Tavgi,p,bはピクチャータイプ別平均目標ビット数、Bi,p,bはピクチャータイプ別平均エンコーディングビット数、N、N、及びNそれぞれはGOP内のI、P、及びBピクチャー数、bit_rateは所定伝送率、frame_rateはフレーム率、dはバッファバランス値、Ndisは分散ピクチャー数)
    によって決定されることを特徴とする請求項11に記載のビデオエンコーダのエンコーディング率制御器。
  13. 前記バッファバランス値は、
    数式、
    d+=Si,p,b−Tavgi,p,b
    (ここで、dはバッファバランス値、Si,p,bはピクチャータイプ別の1ピクチャーの全体エンコーディングビット数)
    によって決定されることを特徴とする請求項12に記載のビデオエンコーダのエンコーディング率制御器。
  14. 前記ピクチャータイプ別の平均エンコーディングビット数Bi,p,bは、
    補正条件式、
    If (Bp < 1.2・Bb)・Bp = 1.2・Bb;
    If (Bi < 1.2・Bp)・Bi = 1.2・Bp;
    If (Bi > 3.5・Bp)・Bi = 3.5・Bp;
    If (Bb < 0.6・Bp)・Bb = 0.6・Bp.
    によって補正されることを特徴とする請求項12に記載のビデオエンコーダのエンコーディング率制御器。
  15. 前記現在のピクチャータイプの一番目のローマクロブロックに対応する量子化スケール値の計算は、
    数式、
    Figure 2005065291
    (ここで、Qi,p,bは平均量子化スケール値、mquantはj番目ローマクロブロックに対応する量子化スケール値、Nrowはピクチャー内の全体ロー数、Tavgi,p,bはピクチャータイプ別の平均目標ビット数、Tは目標ビット数、Qinitは一番目のローマクロブロックに対応する量子化スケール値、δは定数)
    によって決定されることを特徴とする請求項12に記載のビデオエンコーダのエンコーディング率制御器。
  16. 前記現在のピクチャータイプのマクロブロックローそれぞれに対応する量子化スケール値の計算は、
    前記関数と関連された数式、
    If (f(j,Sj,Sj-1,Trow)>β_upj) mquantj+1 = mquant_up(mquantj,q_scale_type);
    else if (g(j,Sj,Sj-1,Trow)>β_dnj) mquantj+1 = mquant_dn(mquantj,q_scale_type);
    else mquantj+1 = mquantj.
    (ここで、Sはピクチャー内の一番目のローマクロブロックからj番目のローマクロブロックまでエンコーディングビット数、Trowは単位ロー当り目標ビット数、mquant_up(mquant,q_scale_type)は多数のq_scale_typeのうち何れか一つでmquantに対応する以前のk番目のコードより大きいコードに対応する量子化スケール値、mquant_dn(mquant,q_scale_type)は多数のq_scale_typeのうち何れか一つでmquantに対応する以前のk番目のコードより小さなコードに対応する量子化スケール値、β_up及びβ_dnそれぞれは第1臨界定数及び第2臨界定数)
    によって決定されることを特徴とする請求項15に記載のビデオエンコーダのエンコーディング率制御器。
  17. 前記関数f()、及びg()は、
    以前のローでのエンコーディングビット数を表す数式、
    −Sj−1
    を含む関数であることを特徴とする請求項16に記載のビデオエンコーダのエンコーディング率制御器。
  18. 前記mquant_up(mquant,q_scale_type)及びmquant_dn(mquant,q_scale_type)は、
    多数のq_scale_typeのうち何れか一つでmquantに対応する以前のk番目のコードより、1が大きい“k+1”番目のコードに対応する量子化スケール値、及び1が小さな“k−1”番目のコードに対応する量子化スケール値であることを特徴とする請求項16に記載のビデオエンコーダのエンコーディング率制御器。
  19. 現在のピクチャータイプの現在のローマクロブロックに対応する量子化スケール値を入力されて、前記量子化スケール値によってビデオ入力データをエンコーディングし、エンコーディングされたビデオデータを出力するビデオエンコーダと、
    前記エンコーディングされたビデオデータに対する以前のGOPのピクチャータイプI、P、及びBそれぞれの平均エンコーディングビット数と平均目標ビット数、及びバッファバランス値を利用して計算された現在のピクチャータイプの目標ビット数、及び前記現在のピクチャータイプと同じ以前のピクチャータイプのうち最も最近のピクチャータイプの平均量子化スケール値を利用して、前記現在のピクチャータイプの一番目のローマクロブロックに対応する量子化スケール値を計算し、以前のローマクロブロックでの単位ロー当り目標ビット数とエンコーディングビット数とを含む関数によって、前記現在のローマクロブロックに対応する量子化スケール値を計算して出力するエンコーディング率制御器と、
    前記エンコーディングされたビデオデータを伝送率によって出力するエンコーダバッファと、を備えることを特徴とするビデオデータ伝送システム。
  20. 前記エンコーディング率制御器は、
    前記平均エンコーディングビット数と前記平均目標ビット数、及び前記バッファバランス値を利用して、前記目標ビット数を計算して出力するビット割当て部と、
    前記平均量子化スケール値と前記目標ビット数とを利用して、前記現在のピクチャータイプの一番目のローマクロブロックに対応する量子化スケール値を計算して出力するレートコントロール部と、
    前記現在のピクチャータイプのマクロブロックローそれぞれに対応して、以前のローでの単位ロー当り目標ビット数とエンコーディングビット数とを計算し、その値を含む関数によって現在のローに対応する量子化スケール値を計算して出力し、前記現在のピクチャータイプの全体エンコーディングビット数を計算して出力する適応量子化部と、
    前記適応量子化部から出力される前記量子化スケール値を保存して、前記以前のピクチャータイプ及び前記以前のローマクロブロックの量子化スケール値を出力するメモリと、
    前記現在のピクチャータイプの全体エンコーディングビット数及び前記平均目標ビット数を利用して前記バッファバランス値を計算して出力するバッファ量計算部を備えることを特徴とする請求項19に記載のビデオデータ伝送システム。
JP2004235609A 2003-08-12 2004-08-12 ビデオエンコーダのエンコーディング率制御方法、ビデオデータの伝送方法、ビデオエンコーダのエンコーディング率制御器、及びビデオデータ伝送システム Pending JP2005065291A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2003-0055877A KR100505699B1 (ko) 2003-08-12 2003-08-12 실시간 가변 비트율 제어로 화질을 개선시키는 비디오인코더의 인코딩율 제어기, 이를 구비한 비디오 데이터전송 시스템 및 그 방법

Publications (1)

Publication Number Publication Date
JP2005065291A true JP2005065291A (ja) 2005-03-10

Family

ID=34192083

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004235609A Pending JP2005065291A (ja) 2003-08-12 2004-08-12 ビデオエンコーダのエンコーディング率制御方法、ビデオデータの伝送方法、ビデオエンコーダのエンコーディング率制御器、及びビデオデータ伝送システム

Country Status (4)

Country Link
US (1) US7426309B2 (ja)
JP (1) JP2005065291A (ja)
KR (1) KR100505699B1 (ja)
CN (1) CN100512432C (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102271248A (zh) * 2011-08-15 2011-12-07 复旦大学 一种基于权重窗口模型的h.264/avc宏块级码率控制算法

Families Citing this family (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8218624B2 (en) * 2003-07-18 2012-07-10 Microsoft Corporation Fractional quantization step sizes for high bit rates
US7602851B2 (en) * 2003-07-18 2009-10-13 Microsoft Corporation Intelligent differential quantization of video coding
US7738554B2 (en) 2003-07-18 2010-06-15 Microsoft Corporation DC coefficient signaling at small quantization step sizes
US10554985B2 (en) 2003-07-18 2020-02-04 Microsoft Technology Licensing, Llc DC coefficient signaling at small quantization step sizes
US7580584B2 (en) * 2003-07-18 2009-08-25 Microsoft Corporation Adaptive multiple quantization
KR100505699B1 (ko) * 2003-08-12 2005-08-03 삼성전자주식회사 실시간 가변 비트율 제어로 화질을 개선시키는 비디오인코더의 인코딩율 제어기, 이를 구비한 비디오 데이터전송 시스템 및 그 방법
US7801383B2 (en) 2004-05-15 2010-09-21 Microsoft Corporation Embedded scalar quantizers with arbitrary dead-zone ratios
EP1830573A1 (en) * 2006-03-02 2007-09-05 Thomson Licensing Method and apparatus for determining in picture signal encoding the bit allocation for groups of pixel blocks in a picture
KR100790986B1 (ko) 2006-03-25 2008-01-03 삼성전자주식회사 가변 비트율 비디오 코딩에서 비트율을 제어하는 장치 및방법
EP1841237B1 (en) * 2006-03-29 2014-10-08 TELEFONAKTIEBOLAGET LM ERICSSON (publ) Method and apparatus for video encoding
US8059721B2 (en) 2006-04-07 2011-11-15 Microsoft Corporation Estimating sample-domain distortion in the transform domain with rounding compensation
US8130828B2 (en) 2006-04-07 2012-03-06 Microsoft Corporation Adjusting quantization to preserve non-zero AC coefficients
US8503536B2 (en) * 2006-04-07 2013-08-06 Microsoft Corporation Quantization adjustments for DC shift artifacts
US7995649B2 (en) 2006-04-07 2011-08-09 Microsoft Corporation Quantization adjustment based on texture level
US7974340B2 (en) * 2006-04-07 2011-07-05 Microsoft Corporation Adaptive B-picture quantization control
US8711925B2 (en) 2006-05-05 2014-04-29 Microsoft Corporation Flexible quantization
US8238424B2 (en) * 2007-02-09 2012-08-07 Microsoft Corporation Complexity-based adaptive preprocessing for multiple-pass video compression
BRPI0808567A2 (pt) * 2007-03-14 2014-09-02 Nippon Telegraph & Telephone Método e aparelho de pesquisa de vetor de movimento, programa para o mesmo, e meio de armazenamento, que armazena o programa
WO2008111454A1 (ja) * 2007-03-14 2008-09-18 Nippon Telegraph And Telephone Corporation 量子化制御方法及び装置、そのプログラム並びにプログラムを記録した記録媒体
CA2679767C (en) * 2007-03-14 2013-06-25 Nippon Telegraph And Telephone Corporation Encoding bit-rate control method and apparatus, program therefor, and storage medium which stores the program
ES2369214T3 (es) * 2007-03-14 2011-11-28 Nippon Telegraph And Telephone Corporation Método y dispositivo de estimación de la cantidad de código, su programa y medio de almacenamiento.
US8396118B2 (en) * 2007-03-19 2013-03-12 Sony Corporation System and method to control compressed video picture quality for a given average bit rate
US8498335B2 (en) * 2007-03-26 2013-07-30 Microsoft Corporation Adaptive deadzone size adjustment in quantization
US8243797B2 (en) * 2007-03-30 2012-08-14 Microsoft Corporation Regions of interest for quality adjustments
US8442337B2 (en) * 2007-04-18 2013-05-14 Microsoft Corporation Encoding adjustments for animation content
US8331438B2 (en) 2007-06-05 2012-12-11 Microsoft Corporation Adaptive selection of picture-level quantization parameters for predicted video pictures
US7987285B2 (en) 2007-07-10 2011-07-26 Bytemobile, Inc. Adaptive bitrate management for streaming media over packet networks
US7991904B2 (en) 2007-07-10 2011-08-02 Bytemobile, Inc. Adaptive bitrate management for streaming media over packet networks
CN101743754B (zh) * 2007-07-17 2012-04-18 日本电信电话株式会社 视频编码装置及方法
JP5032936B2 (ja) * 2007-10-04 2012-09-26 キヤノン株式会社 動画像符号化装置及びその制御方法
JP4958713B2 (ja) * 2007-10-04 2012-06-20 キヤノン株式会社 動画像符号化装置及びその制御方法
US8189933B2 (en) * 2008-03-31 2012-05-29 Microsoft Corporation Classifying and controlling encoding quality for textured, dark smooth and smooth video content
US8897359B2 (en) 2008-06-03 2014-11-25 Microsoft Corporation Adaptive quantization for enhancement layer video coding
EP2301251A4 (en) * 2008-06-25 2012-12-26 Ericsson Telefon Ab L M LINES EVALUATION-RATE CONTROL
US8775665B2 (en) * 2009-02-09 2014-07-08 Citrix Systems, Inc. Method for controlling download rate of real-time streaming as needed by media player
US20110280398A1 (en) * 2010-05-17 2011-11-17 Anatoly Fradis Secured content distribution system
CN101860757B (zh) * 2010-06-03 2012-06-06 无锡中星微电子有限公司 智能监控系统及其图像编解码方法
WO2012170904A2 (en) 2011-06-10 2012-12-13 Bytemobile, Inc. Adaptive bitrate management on progressive download with indexed media files
WO2012170920A1 (en) 2011-06-10 2012-12-13 Bytemobile, Inc. On-demand adaptive bitrate management for streaming media over packet networks
CN102572521B (zh) * 2012-01-18 2014-04-02 北京瀚景锦河科技有限公司 一种自动分配传输流视频基本码流码率的方法和系统
JP5843631B2 (ja) * 2012-01-26 2016-01-13 日本電信電話株式会社 フレームレート制御方法,フレームレート制御装置およびフレームレート制御プログラム
CN102868883B (zh) * 2012-06-26 2013-11-13 中国科学技术大学 一种视频编码的码率控制方法
CN111614976B (zh) * 2014-09-12 2022-05-24 松下知识产权经营株式会社 发送装置、接收装置、发送方法以及接收方法
KR102274747B1 (ko) * 2014-11-24 2021-07-07 삼성전자주식회사 코덱과 이를 포함하는 시스템 온 칩, 및 상기 시스템 온 칩을 포함하는 데이터 처리 시스템
GB201502915D0 (en) * 2015-02-22 2015-04-08 Compton Matthew P And Riovideo Ltd Method and apparatus for rate control subjective optimisation
US20160360206A1 (en) * 2015-06-04 2016-12-08 Microsoft Technology Licensing, Llc Rate controller for real-time encoding and transmission
CN106792149B (zh) * 2016-12-14 2021-03-02 广州视源电子科技股份有限公司 图片播放方法及装置
CN113365061B (zh) * 2020-03-03 2024-02-09 炬芯科技股份有限公司 H264宏块级码率控制方法、装置及可读存储介质

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4302775A (en) * 1978-12-15 1981-11-24 Compression Labs, Inc. Digital video compression system and methods utilizing scene adaptive coding with rate buffer feedback
US5291282A (en) * 1990-04-19 1994-03-01 Olympus Optical Co., Ltd. Image data coding apparatus and method capable of controlling amount of codes
JPH05344490A (ja) * 1992-06-10 1993-12-24 Canon Inc 符号化方法および符号化装置
US5592225A (en) * 1993-09-30 1997-01-07 Matsushita Electric Industrial Co., Ltd. Device and method for controlling coding
JPH08317218A (ja) * 1995-05-18 1996-11-29 Minolta Co Ltd 画像処理装置
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
US5796434A (en) * 1996-06-07 1998-08-18 Lsi Logic Corporation System and method for performing motion estimation in the DCT domain with improved efficiency
KR100232098B1 (ko) * 1997-03-26 1999-12-01 서평원 퍼지 제어를 이용한 mpeg 영상 신호의 전송율 제어 장치
US6115423A (en) * 1997-11-19 2000-09-05 Rockwell Science Center, Llc Image coding for liquid crystal displays
IL141104A0 (en) * 1998-07-27 2002-02-10 Webtv Networks Inc Remote computer access
US6714594B2 (en) * 2001-05-14 2004-03-30 Koninklijke Philips Electronics N.V. Video content detection method and system leveraging data-compression constructs
US6961376B2 (en) * 2002-06-25 2005-11-01 General Instrument Corporation Methods and apparatus for rate control during dual pass encoding
KR100505699B1 (ko) * 2003-08-12 2005-08-03 삼성전자주식회사 실시간 가변 비트율 제어로 화질을 개선시키는 비디오인코더의 인코딩율 제어기, 이를 구비한 비디오 데이터전송 시스템 및 그 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102271248A (zh) * 2011-08-15 2011-12-07 复旦大学 一种基于权重窗口模型的h.264/avc宏块级码率控制算法

Also Published As

Publication number Publication date
US7426309B2 (en) 2008-09-16
KR20050018047A (ko) 2005-02-23
US20050036698A1 (en) 2005-02-17
CN100512432C (zh) 2009-07-08
CN1617590A (zh) 2005-05-18
KR100505699B1 (ko) 2005-08-03

Similar Documents

Publication Publication Date Title
JP2005065291A (ja) ビデオエンコーダのエンコーディング率制御方法、ビデオデータの伝送方法、ビデオエンコーダのエンコーディング率制御器、及びビデオデータ伝送システム
JP5524072B2 (ja) 動画像符号化装置
KR100756596B1 (ko) 비디오 데이터 부호화 장치 및 비디오 데이터 부호화 방법
JP5117915B2 (ja) イントラピクチャーのみを利用した動画シーケンスの符号化時のビット率制御方法及び装置
US8634458B2 (en) Image processing apparatus
US20080063052A1 (en) Quantizer Parameter Determination for Video Encoder Rate Control
KR19980032089A (ko) 화상 압축 부호화 장치 및 방법
US20050201460A1 (en) System and method for controlling bit rate of an image
JPH11346362A (ja) リアルタイム単一パス可変ビット・レ―ト制御方法及び符号器
US7035334B2 (en) Device and method for controlling image encoding, encoding system, transmission system and broadcast system
JPH1075451A (ja) 映像データ圧縮装置およびその方法
EP2978219B1 (en) Variable rate video encoder
JPH09200758A (ja) 画像符号化装置
JPH10164577A (ja) 動画像符号化装置
JP2013005414A (ja) 符号化装置、復号化装置、符復号化システム、符号化方法及び復号化方法
JP3173369B2 (ja) 画像圧縮符号化装置
US8780977B2 (en) Transcoder
JP2004040811A (ja) 動映像符号化のためのdct演算量調節方法及びその装置
JP2000261799A (ja) 可変レート動画像符号化装置
JP3218994B2 (ja) 画像符号化方法および装置
Guo et al. Quality-progressive coding for high bit-rate background frames on surveillance videos
KR100789535B1 (ko) 영상의 변화율에 따른 적응적 비트율 제어 장치 및 방법
JP3779066B2 (ja) 動画像符号化装置
JP2004056677A (ja) 画像情報符号化装置及び画像情報符号化方法
JPH1042293A (ja) 符号化制御装置および符号化装置および符号化制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070726

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100622

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100921

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20101012