JP4205315B2 - 実時間画像通信のためのレート制御装置及びその制御方法 - Google Patents

実時間画像通信のためのレート制御装置及びその制御方法 Download PDF

Info

Publication number
JP4205315B2
JP4205315B2 JP2001130285A JP2001130285A JP4205315B2 JP 4205315 B2 JP4205315 B2 JP 4205315B2 JP 2001130285 A JP2001130285 A JP 2001130285A JP 2001130285 A JP2001130285 A JP 2001130285A JP 4205315 B2 JP4205315 B2 JP 4205315B2
Authority
JP
Japan
Prior art keywords
bit
bits
bit string
encoded
rate control
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.)
Expired - Fee Related
Application number
JP2001130285A
Other languages
English (en)
Other versions
JP2002044656A (ja
Inventor
ミンス キム
ヒョンス カン
ジェウォン ジョン
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.)
SK Hynix Inc
Original Assignee
Hynix Semiconductor Inc
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 Hynix Semiconductor Inc filed Critical Hynix Semiconductor Inc
Publication of JP2002044656A publication Critical patent/JP2002044656A/ja
Application granted granted Critical
Publication of JP4205315B2 publication Critical patent/JP4205315B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • 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
    • H04N19/587Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal sub-sampling or interpolation, e.g. decimation or subsequent interpolation of pictures in a video sequence
    • 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/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/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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • 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/164Feedback from the receiver or from the transmission channel
    • 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/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

Description

【0001】
【発明の属する技術分野】
本発明は、実時間画像通信サービスのためのレート制御装置及びその制御方法に関し、より詳細には、符号器と復号器バッファのオーバーフロー(overflow)やアンダーフロー(underflow)が発生しないようにするために、マクロブロック単位で符号化するか否かを決定して、ビットレートを制御する実時間画像通信サービスのためレート制御装置及びその制御方法に関する。
【0002】
【従来の技術】
一定の伝送速度を有する伝送線路(channel)を介して符号化された画像情報を実時間(real−time)で伝送するためには、符号化されて伝送される画像情報を一定のビットレート(bit−rate)に合わせる作業が必要である。このために、一定の大きさを有するバッファを使用して瞬間的に発生する画像情報を格納しておき、これを一定の速度で復号器(decoder)(または受信器(receiver))に伝送する。この場合、バッファのアンダーフローやオーバーフローが発生しないように保障するために、符号器(encoder)を制御する方法をレート制御(rate control)方法という。
【0003】
レート制御は、一定の時間間隔で入力される画像(フレーム)をフレーム単位で制御するフレーム単位レート制御方法と、入力画像を一定の大きさのブロックに分けて各ブロック単位で符号化する場合に、これらのブロックをブロック単位で制御する方法とに区分することができる。この場合、符号化単位ブロックをマクロブロック(macroblock)という。一般的に、マクロブロック単位レート制御方式は、フレーム単位の演算とマクロブロック単位の演算とが混在している形態に具現される。
【0004】
以下、図1を参照しながら従来のマクロブロック単位のレート制御装置及びその制御方法を説明する。
【0005】
図1は、従来のレート制御装置の構成を例示した図であって、フレーム単位の演算モジュール(module)を示す。
【0006】
図面に示すように、初期化(initialization)モジュール110は、符号化開始の時、ただ一回行われ、伝送線路の伝送速度(bit rate)と符号化しようとする画像の秒当たりの入力フレーム数(frame rate)などを外部から入力されてレート制御に必要な初期値を設定して、目標ビット演算モジュール120に伝達する。
【0007】
目標ビット演算(Target bit calculation)モジュール120は、現在のバッファの状態と伝送線路の伝送速度とを考慮して、現在の符号化されるフレームの目標符号化ビット数を決定して、マクロブロック単位のレート制御・符号化(MB rate control&encoder)モジュール130に出力する。この場合、現在のバッファの状態は、バッファモジュール140から直接入力されることもできるし、伝送速度とその前のフレームの符号化ビット数、及びその前のフレームでのバッファ状態から計算することもできる。
【0008】
マクロブロック単位のレート制御・符号化モジュール130は、目標ビット演算モジュール120から入力された目標符号化ビット数に近接する符号化ビット数を有するビット列を出力するように、フレームより小さい符号化単位であるマクロブロック単位で符号化過程を制御する。これについては、後に述べる図2を参照して説明する。
【0009】
バッファモジュール140は、マクロブロック単位のレート制御・符号化モジュール130から出力されるビット列を入力してこれを格納し、これを伝送線路を介して復号器に伝送するようにし、必要に応じてバッファの占有状態信号を目標ビット演算モジュール120に伝達する。バッファモジュール140に入力されるビット列は、一般的に可変的な長さを有し、伝送線路を介して伝送される速度は、伝送線路の特徴に応じて可変的な速度または固定された速度を有する。
【0010】
フレームスキップ(Frame skip)モジュール150は、一フレームに対する符号化過程が全部終了する場合に、バッファモジュール140から現在の状態を入力して、バッファにビット列が格納されている状態が一定の限度を越える場合に、バッファのオーバーフローによる画像情報の損失を防止するために、次の入力フレームを符号化しないように、制御モジュール160にフレームスキップ信号を出力する。
【0011】
制御(Control logic)モジュール160は、全体符号化過程を制御する役割を有し、特に、レート制御のためには、フレームスキップモジュール150からフレームスキップ信号が入力されて、次の入力フレームの符号化をするか否かを決定する。
【0012】
図2は、図1のマクロブロック単位レート制御・符号化モジュールの詳細な構成を例示した図であって、マクロブロック単位の演算、及び符号化過程の制御を行う過程を示している。ここで、全ての機能ブロックは、マクロブロック単位で演算を行う。
【0013】
図2に示すように、量子化パラメーター演算モジュール131は、目標ビット演算モジュール120からフレーム当たりの目標ビットレート(目標符号化ビット数)が入力され、モデル更新モジュール133から量子化パラメーターを計算するためのモデル情報(パラメーター)が入力されて、マクロブロックを量子化するための量子化パラメーター(QP)を符号化モジュール132へ出力する。符号化モジュール132は、量子化パラメーター演算モジュール131から量子化パラメーターが入力されて、実際に符号化を行ってビット列の大きさをモデル更新モジュール133に伝達し、ビット列をバッファモジュール140に伝達するモジュールであって、変換器、量子器及び可変長さ符号器等から構成される。
【0014】
モデル更新モジュール133は、各マクロブロックの符号化されたビット列の大きさが符号化モジュール132から入力され、量子化パラメーター演算モジュール131から量子化パラメーターが入力されて、量子化パラメーター演算モジュール131が次の入力マクロブロックの量子化パラメーターを計算するための入力値に使用しできるようにするために、更新された量子化モデルパラメーターを出力する。
【0015】
上述したように、従来のレート制御技術は、伝送線路による伝送レートを效率的に合わせるための量子化パラメーターを出力することを特徴とする。
【0016】
【発明が解決しようとする課題】
しかしながら、従来のレート制御技術は、実時間画像伝送時、必然的に存在する復号器のバッファ状態に対する考慮なしに、符号器のバッファ状態のみを考慮するという短所があり、実際符号化されるビット数が目標ビット数より多くなる例外的な状況を考慮しないことによって、バッファのアンダーフローやオーバーフローが発生し得るという問題がある。
【0017】
本発明は、このような問題に鑑みてなされたもので、その目的とするところは、符号器と復号器のバッファのオーバーフローやアンダーフローが発生しないようにするために、目標ビット数を設定し、最大許容ビット数と最小許容ビット数とを求めて、符号化をするか否かを決定してビットレートを制御するためのレート制御装置及びその制御方法を提供することにある。
【0018】
【課題を解決するための手段】
本発明は、このような目的を達成するために、請求項1に記載の発明は、伝送速度と入力フレーム数とに応じてレート制御に必要な初期値を設定する初期化手段と、バッファモジュールの状態と前記伝送速度とを考慮して目標符号化ビット数、最大許容ビット数及び最小許容ビット数を求める目標ビット演算手段と、該目標ビット演算手段からの目標符号化ビット数、最大許容ビット数及び最小許容ビット数を利用してレート制御と符号化とを行うレート制御・符号化手段と、該レート制御・符号化手段からのビット列の大きさと前記目標ビット演算手段からの最小許容ビット数とを比較して、意味のないデータであるスタッフィングビット列を出力するスタッフィング制御手段と、前記レート制御・符号化手段からのビット列と前記スタッフィング制御手段からのスタッフィングビットとを組合わせて格納し、前記目標ビット演算手段に出力するバッファリング手段と、該バッファリング手段からのバッファの占有状態の信号に応じてフレームスキップ信号を出力するフレームスキップ手段と、前記各手段の符号化過程を制御し、前記フレームスキップ手段からのフレームスキップ信号に応じて次の入力フレームを符号化するか否かを決定する制御手段とを含み、前記目標ビット演算手段は、前記最小許容ビット数(Min_bit)をMin_bit=max{B fd +B −B 、B −B fe 、0}として求め、前記最大許容ビット数(Max_bit)をMax_bit=min{B fd 、B −B fe }として求めることを特徴とする実時間画像通信のためのレート制御装置。(ここで、B fd は、復号器バッファモジュールに格納されたビット列を意味し、B は、一フレームが符号化される間にビット列がバッファに伝送されるビット数であり、B は、復号器バッファの大きさであり、B は、符号器バッファの大きさであり、B fe は、符号器バッファモジュールに格納されたビット列を示し、min{}は、構成元素の中最小値を出力する関数であって、max{}は、構成元素の中最大値を出力する関数である。)
【0020】
請求項に記載の発明は、請求項1に記載の発明において、前記スタッフィング制御手段が、前記目標ビット演算手段からの最小許容ビット数と前記レート制御・符号化手段からのビット列の大きさとを比較して、前記ビット列の大きさが前記最小許容ビット数より小さい場合に、これらの差以上のビット数のスタッフィングビット列を前記バッファリング手段に出力することを特徴とする。
【0021】
請求項に記載の発明は、請求項1に記載の発明において、前記レート制御・符号化手段が、現在符号化されるマクロブロックまでのビット列の符号化ビット数の和が前記最大許容ビット数を越える場合に、現在符号化されるマクロブロックのビット列を廃棄してビット列の長さが前記最大許容ビット数を越えないように保障することを特徴とする。
【0022】
請求項の発明は、請求項に記載の発明において、前記レート制御・符号化手段は、現在マクロブロックのビット列を廃棄する場合に、現在マクロブロックを符号化しなかったことを示すビット列を追加することを特徴とする。
【0023】
請求項に記載の発明は、請求項1に記載の発明において、前記レート制御・符号化手段が、現在符号化されるマクロブロックまでのビット列の符号化ビット数の和が前記最大許容ビット数、または目標符号化ビット数、または最小許容ビット数から計算された所定の許容限界を越える場合に、画素情報を符号化しないことによって、ビット列の長さが前記最大許容ビット数を越えないようにすることを特徴とする。
【0024】
請求項に記載の発明は、請求項1乃至5いずれかに記載の発明において、前記レート制御・符号化手段は、前記目標ビット演算手段から目標符号化ビット数と最大許容ビット数、及び最小許容ビット数が入力され、その前のマクロブロックのビット列の大きさが入力され、モデルパラメーターが入力されて、量子化パラメーターと該当マクロブロックの符号化をするか否かとを決定する量子化パラメーター演算手段と、該量子化パラメーター演算手段からの量子化パラメーターに応じて変換係数の量子化幅を決定し、この値に応じて画素情報符号化判定信号が生成され、画素情報を符号化して、ビット列の大きさを前記量子化パラメーター演算手段に出力する符号化手段と、該符号化手段からビット列の大きさが入力され、前記量子化パラメーター演算手段から量子化パラメーターが入力されて、モデルパラメータを更新して前記量子化パラメーター演算手段に出力するモデル更新手段と、前記符号化手段からビット列の大きさが入力され、前記目標ビット演算手段から最大許容ビット数が入力されて、マクロブロックのスキップをするか否かを決定してマクロブロックスキップ信号を出力するマクロブロックスキップ制御手段と、該マクロブロックスキップ制御手段からのマクロブロックスキップ信号と前記符号化手段からのビット列とを組合わせるビット列の操作手段とを含み、前記量子化パラメーター演算手段は、前記目標ビット演算手段からの目標符号化ビット数、最大許容ビット数及び最小許容ビット数に応じてしきい値を計算するしきい値演算部と、前記目標ビット演算手段からの目標符号化ビット数、最大許容ビット数(max_bit)及び最小許容ビット数(min_bit)と前記モデル更新手段からのモデルパラメーターとに応じて量子化パラメーター(QP)を計算する量子化パラメーター演算部と、累積ビット数を格納する格納手段と、前記符号化手段からのその前のマクロブロックのビット列の大きさと前記格納手段の累積ビット数とを足して前記格納手段に出力する加算部と、該加算部からの累積ビット数を前記しきい値演算部からのしきい値と比較してマクロブロックの符号化をするか否かを決定する比較部とを含むことを特徴とする
【0026】
請求項に記載の発明は、請求項に記載の発明において、前記しきい値演算部でしきい値を計算する時、前記目標ビット演算手段からの目標符号化ビット数、最大許容ビット数、及び最小許容ビット数を全部使用するか、または一部のみを使用することを特徴とする。
【0027】
請求項に記載の発明は、請求項に記載の発明において、前記量子化パラメーター演算部で量子化パラメーターを求める時、前記目標ビット演算手段からの目標符号化ビット数、最大許容ビット数、及び最小許容ビット数を全部使用するか、または一部のみを使用することを特徴とする。
【0028】
請求項に記載の発明は、請求項に記載の発明において、一フレームの符号化が全部終了した場合に、次のフレームの累積ビット数を格納できるようにするために、前記格納手段に格納されている累積ビット数を”0”に初期化することを特徴とする。
【0029】
請求項10に記載の発明は、請求項に記載の発明において、前記比較部が、前記加算部からの累積ビット数を前記しきい値演算部からのしきい値と比較して前記累積ビット数が前記しきい値以下である場合には、画素情報を符号化する画素情報符号化判定信号を出力し、前記累積ビット数が前記しきい値より大きい場合には、バッファのオーバーフローを防止するために、画素情報を符号化しない画素情報符号化判定信号を出力することを特徴とする。
【0030】
請求項11に記載の発明は、請求項に記載の発明において、前記符号化手段は、前記量子化パラメーター演算手段からの量子化パラメーターに応じて変換係数を量子化する量子化手段と、意味のないデータと前記量子化手段の量子化された変換係数のいずれか一つを、前記量子化パラメーター演算手段からの画素情報符号化判定信号に応じて選択する選択手段とを有することを特徴とする。
【0031】
請求項12に記載の発明は、請求項に記載の発明において、前記マクロブロックスキップ制御手段が、累積ビット数を格納する格納手段と、前記符号化手段からの現在マクロブロックのビット列の大きさと前記格納手段の累積ビット数とを足して前記格納手段に出力する加算手段と、該加算手段からの累積ビット数を前記目標ビット演算手段からの最大許容ビット数と比較して現在マクロブロックの伝送をするか否かを決定する比較手段とを有することを特徴とする。
【0032】
請求項13に記載の発明は、請求項12に記載の発明において、前記比較手段は、前記加算手段からの累積ビット数が前記目標ビット演算手段からの最大許容ビット数より小さい場合には、現在マクロブロックのビット列をそのまま伝送するようにマクロブロックスキップ信号を出力し、前記加算手段からの累積ビット数が前記目標ビット演算手段からの最大許容ビット数より大きい場合には、現在マクロブロックのビット列を出力しないようにマクロブロックスキップ信号を出力することを特徴とする。
【0033】
請求項14に記載の発明は、請求項12に記載の発明において、一フレームの符号化が全部終了した場合に、次のフレームの累積ビット数を格納できるようにするために、前記格納手段に格納されている累積ビット数を”0”に初期化することを特徴とする。
【0034】
請求項15に記載の発明は、請求項に記載の発明において、前記ビット列操作手段が、前記符号化手段から符号化されたビット列が入力されるか、現在のマクロブロックが符号化されなかったことを知らせるマクロブロックスキップビット列が入力されて、前記マクロブロックスキップ制御手段から現在のマクロブロックが伝送されないようにするマクロブロックスキップ信号が入力された時には、マクロブロックスキップビット列を選択して出力し、現在のマクロブロックが伝送されるようにするマクロブロックスキップ信号が入力された時には、ビット列を選択して出力することを特徴とする。
【0035】
請求項16に記載の発明は、実時間画像通信のためのレート制御装置に適用されるレート制御方法において、伝送線路の伝送速度と符号化しようとする画像の秒当たりの入力フレーム数に応じてレート制御に必要な初期値を設定する第1ステップと、現在バッファモジュールの状態と前記伝送線路の伝送速度とを考慮して目標符号化ビット数、最大許容ビット数、及び最小許容ビット数を求める第2ステップと、前記目標符号化ビット数、最大許容ビット数、及び最小許容ビット数を利用してレート制御と符号化とを行う第3ステップと、符号化されたビット列の大きさと前記最小許容ビット数とを比較して意味のないデータであるスタッフィングビット列を発生する第4ステップと、符号化されたビット列と前記スタッフィングビット列とを組合わせて格納し、画像情報を伝送するようにする第5ステップと、現在のバッファの状態に応じて発生したフレームスキップ信号に応じて次の入力フレームの符号化をするか否かを決定する第6ステップとを含み、前記最小許容ビット数(Min_bit)はMin_bit=max{B fd +B −B 、B −B fe 、0}として求め、前記最大許容ビット数(Max_bit)は、Max_bit=min{B fd 、B −B fe }として求めることを特徴とする実時間画像通信のためのレート制御方法。(ここで、B fd は、復号器バッファモジュールに格納されたビット列を意味し、B は、一フレームが符号化される間にビット列がバッファに伝送されるビット数であり、B は、復号器バッファの大きさであり、B は、符号器バッファの大きさであり、B fe は、符号器バッファモジュールに格納されたビット列を示し、min{}は、構成元素の中最小値を出力する関数であって、max{}は、構成元素の中最大値を出力する関数である。)
【0037】
請求項17に記載の発明は、請求項16に記載の発明において、前記第4ステップが、前記最小許容ビット数と前記符号化されたビット列の大きさとを比較して前記ビット列の大きさが前記最小許容ビット数より小さい場合に、これらの差以上のビット数のスタッフィングビット列を発生することを特徴とする。
【0038】
請求項18に記載の発明は、請求項16に記載の発明において、前記第3ステップのレート制御及び符号化過程が、現在符号化されるマクロブロックまでのビット列の符号化ビット数の和が前記最大許容ビット数を越える場合、現在符号化されるマクロブロックのビット列を廃棄してビット列の長さが前記最大許容ビット数を越えないように保障することを特徴とする。
【0039】
請求項19に記載の発明は、請求項18に記載の発明において、前記第3ステップのレート制御及び符号化過程が、現在のマクロブロックのビット列を廃棄する場合に、現在のマクロブロックを符号化しなかったことを示すビット列を追加することを特徴とする。
【0040】
請求項20に記載の発明は、請求項16に記載の発明において、前記第3ステップのレート制御及び符号化過程が、現在符号化されるマクロブロックまでのビット列の符号化ビット数の和が前記最大許容ビット数、または目標符号化ビット数、または最小許容ビット数から計算された所定の許容限界を越える場合に、画素情報を符号化しないことによって、ビット列の長さが前記最大許容ビット数を越えないようにすることを特徴とする。
【0041】
請求項21に記載の発明は、請求項16乃至20いずれかに記載の発明において、前記第3ステップは、前記目標符号化ビット数と最大許容ビット数及び最小許容ビット数とその前のマクロブロックのビット列の大きさとモデルパラメーターとに応じて量子化パラメーターと該当マクロブロックの符号化をするか否かとを決定する第7ステップと、前記量子化パラメーターに応じて変換係数の量子化幅を決定し、この値に応じて画素情報符号化判定信号が生成され、前記画像情報符号化判定信号に応じて符号化する第8ステップと、前記符号化されたビット列の大きさと前記量子化パラメーターとに応じてモデルパラメーターを更新して生成する第9ステップと、前記符号化されたビット列の大きさと前記最大許容ビット数とを比較してマクロブロックのスキップをするか否かを決定してマクロブロックスキップ信号を発生する第10ステップと、前記マクロブロックスキップ信号と前記符号化されたビット列とを組合わせる第11ステップとを含み、前記第7ステップは、前記目標符号化ビット数、最大許容ビット数及び最小許容ビット数に応じてしきい値を求める第12ステップと、前記目標符号化ビット数(target_bit)、最大許容ビット数(min_bit)及び最小許容ビット数(min_bit)と前記モデルパラメーターに応じて量子化パラメーター(QP)を求める第13ステップと、前記符号化されたその前のマクロブロックのビット列の大きさと累積ビット数とを足して新しい累積ビット数を求める第14ステップと、新しく得られた該累積ビット数と前記得られたしきい値とを比較してマクロブロックの符号化をするか否か決定する第15ステップとを含むことを特徴とする。
【0043】
請求項22に記載の発明は、請求項21に記載の発明において、前記第15ステップが、前記得られた累積ビット数と前記しきい値とを比較して前記累積ビット数が前記しきい値以下である場合には、画素情報を符号化する画素情報符号化判定信号を出力し、前記累積ビット数が前記しきい値より大きい場合には、バッファのオーバーフローを防止するために、画素情報を符号化しない画素情報符号化判定信号を発生することを特徴とする。
【0044】
請求項23に記載の発明は、請求項21に記載の発明において、前記第10ステップが、符号化された現在のマクロブロックのビット列の大きさとその前のマクロブロックまでの累積ビット数とを足して新しい累積ビット数を求める第12ステップと、前記得られた累積ビット数を前記最大許容ビット数と比較して、現在のマクロブロックの伝送をするか否かを決定する第13ステップとを有することを特徴とする。
【0045】
請求項24に記載の発明は、請求項23に記載の発明において、前記第13ステップが、前記得られた累積ビット数が前記最大許容ビット数より小さい場合には、現在のマクロブロックのビット列をそのまま伝送するように、マクロブロックスキップ信号を出力し、前記得られた累積ビット数が前記最大許容ビット数より大きい場合には、現在のマクロブロックのビット列を出力しないように、マクロブロックスキップ信号を出力することを特徴とする。
【0046】
請求項25に記載の発明は、請求項21に記載の発明において、前記第11ステップが、前記符号化されたビット列と現在のマクロブロックが符号化されなかったことを知らせるマクロブロックスキップビット列とを組合わせるが、現在のマクロブロックが伝送されないようにするマクロブロックスキップ信号が入力された時には、マクロブロックスキップビット列を選択して出力し、現在のマクロブロックが伝送されるようにするマクロブロックスキップ信号が入力された時には、ビット列を選択して出力することを特徴とする。
【0047】
請求項26に記載の発明は、実時間画像通信のためのレート制御のために、プロセッサを備えたレート制御装置に、伝送線路の伝送速度と符号化しようとする画像の秒当たりの入力フレーム数とに応じてレート制御に必要な初期値を設定する第1機能と、現在のバッファモジュールの状態と前記伝送線路の伝送速度とを考慮して目標符号化ビット数、最大許容ビット数、及び最小許容ビット数を求める第2機能と、前記目標符号化ビット数、最大許容ビット数、及び最小許容ビット数を利用してレート制御と符号化とを行う第3機能と、符号化されたビット列の大きさと前記最小許容ビット数とを比較して意味のないデータであるスタッフィングビット列を発生する第4機能と、符号化されたビット列と前記スタッフィングビット列とを組合わせて格納し、画像情報を伝送する第5機能と、現在のバッファの状態によって発生したフレームスキップ信号に応じて次の入力フレームの符号化をするか否かを決定する第6機能とを含み、前記第3機能は、前記目標符号化ビット数と最大許容ビット数、及び最小許容ビット数とその前のマクロブロックのビット列の大きさとモデルパラメーターに応じて量子化パラメーターと該当マクロブロックの符号化をするか否かを決定する第7機能と、前記量子化パラメーターに応じて変換係数の量子化幅を決定し、符号化するか否かを示す画像情報符号化判定信号に応じて符号化する第8機能と、前記符号化されたビット列の大きさと前記量子化パラメーターとに応じてモデルパラメーターを更新してモデルパラメーターを生成する第9機能と、前記符号化されたビット列の大きさと前記最大許容ビット数とを比較してマクロブロックのスキップをするか否かを決定してマクロブロックスキップ信号を発生する第10機能と、前記マクロブロックスキップ信号と前記符号化されたビット列とを組合わせる第11機能とを実現させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体であることを特徴とする。
【0049】
請求項27に記載の発明は、請求項26に記載の発明において、前記第7機能は、前記目標符号化ビット数、最大許容ビット数、及び最小許容ビット数に応じてしきい値を求める第12機能と、前記目標符号化ビット数、最大許容ビット数、及び最小許容ビット数と前記モデルパラメーターとに応じて量子化パラメーターを求める第13機能と、前記符号化されたその前のマクロブロックのビット列の大きさと累積ビット数とを足して新しい累積ビット数を求める第14機能と、前記新しく得られた累積ビット数を前記得られたしきい値と比較してマクロブロックの符号化をするか否かを決定する第15機能とを実現させるための請求項26に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体であることを特徴とする。
【0050】
このように、本発明では、従来の目標ビット演算モジュールで計算されるフレームの目標ビット数と共に符号器バッファと復号器バッファの全てでオーバーフローやアンダーフローが発生しないようにするための最大許容ビット数と最小許容ビット数とを求めた後、これを利用して符号化するか否かを決定してビットレートを制御するようにする。
【0051】
入力画像信号を符号化するにおいて、符号化ビット数が前記最大許容ビット数を越える場合に、バッファのオーバーフローが発生することとなって、画像情報を失うこととなる。したがって、バッファのオーバーフローを防止するために、入力マクロブロックの一部または全ての画像情報を符号化しない方法を用いる。
【0052】
これに対する一例として、符号化ビット数が前記最大許容ビット数を越える時点からその後の全てのマクロブロックを符号化しないようにして、符号化されるビット数が前記上限線を越えないようにする方法がある。すなわち、現在符号化されるマクロブロックまでのビット列の符号化ビット数の和が最大許容ビット数を越える場合に、現在符号化されるマクロブロックのビット列を廃棄してビット列の長さが最大許容ビット数を越えないように保障する。そして、上記のように、現在マクロブロックのビット列を廃棄する場合に、現在のマクロブロックに対するビット列を廃棄し、現在のマクロブロックを符号化しなかったことを示すビット列を追加して復号器に伝達する。
【0053】
一方、フレームの符号化ビット数が最小許容ビット数未満である場合に、最小許容ビット数とフレームビット数との差以上にビット列を拡張して復号器に伝送する方法を使用する。
【0054】
これに対する一例として、入力フレームの全てのマクロブロックに対する符号化が終了した時点に、符号化ビット数が前記最小許容ビット数より少ない場合に、その差ほど意味のないデータ(したがって、復号器で無視する。すなわち、ビット列を読み出して廃棄する。)で満たしてバッファのアンダーフローを防止する。
【0055】
一方、現在符号化されるマクロブロックまでのビット列の符号化ビット数の和が最大許容ビット数、または目標符号化ビット数、または最小許容ビット数から計算された許容限界を越える場合に、画素情報を符号化しないことによって、ビット列の長さが最大許容ビット数を越えないようにする方法を使用する。
【0056】
【発明の実施の形態】
以下、本発明が属する技術分野で通常の知識を有するものが、本発明を容易に実施できるようにするため、本発明の最も好ましい実施の形態を添付した図面を参照しながら説明する。
【0057】
図3は、本発明にかかる実時間画像通信のためのレート制御装置の一実施の形態を示した構成図であって、フレーム単位のレート制御演算モジュールを示す。
【0058】
本発明にかかる実時間画像通信のためのレート制御装置は、伝送線路の伝送速度と符号化しようとする画像の秒当たりの入力フレーム数が入力されてレート制御に必要な初期値を設定する初期化モジュール200と、現在のバッファの状態と伝送線路の伝送速度を考慮して目標符号化ビット数、最大許容ビット数、及び最小許容ビット数を求めて出力する目標ビット演算モジュール300と、目標ビット演算モジュール300から入力される目標符号化ビット数、最大許容ビット数、及び最小許容ビット数を利用してマクロブロック単位のレート制御と符号化とを行うマクロブロック単位レート制御・符号化モジュール400と、マクロブロック単位レート制御・符号化モジュール400から入力されるビット列の大きさと目標ビット演算モジュール300から入力される目標符号化ビット数とを比較してスタッフィングビット列を出力するスタッフィング制御モジュール800と、マクロブロック単位のレート制御・符号化モジュール400から入力されるビット列とスタッフィング制御モジュール800から入力されるスタッフィングビットとを組合わせて格納し、目標ビット演算モジュール300にバッファの占有状態信号を出力し、復号器に画像情報を伝送するバッファモジュール500と、バッファモジュール500からバッファの占有状態信号が入力されて、バッファの状態が一定の限度を越える場合に、フレームスキップ信号を出力するフレームスキップモジュール600と、全体の符号化過程を制御し、フレームスキップモジュール600からフレームスキップ信号が入力されて、次の入力フレームの符号化をするか否かを決定する制御モジュール700とを有する。
【0059】
以下、本発明にかかるレート制御装置の構成及び動作を図3を参照しながらより詳細に説明する。
【0060】
目標ビット演算モジュール300は、符号器と復号器バッファのアンダーフローやオーバーフローが発生しないように、目標符号化ビット数を計算して、マクロブロック単位レート制御・符号化モジュール400に出力する。
【0061】
これと同時に、符号器と復号器バッファのアンダーフローやオーバーフローが発生しないようにするための最大許容ビット数と最小許容ビット数とを計算して、マクロブロック単位レート制御・符号化モジュール400に出力することによって、その後のモジュールは、これを参照して発生ビット数がこれらの最小許容ビット数と最大許容ビット数との間にあるようにする。この場合、最小許容ビット数(Min_bit)は、次の数式1と同様であって、最大許容ビット数(Max_bit)は、次の数式と同様である。
【0062】
数式1:Min_bit=max{Bfd+B−B、B−Bfe、0}
数式2:Max_bit=min{Bfd、B−Bfe
ここで、Bfdは、復号器バッファの格納された状態を意味し、これは符号器で直接測定が不可能であるので、符号器で計算された値を使用する。Bは、一フレームが符号化される間にビット列がバッファから伝送されるビット数である。Bは、復号器バッファの大きさであって、Bは、符号器バッファの大きさである。Bfeは、符号器バッファの格納された状態を示す。また、min{}は構成元素の中で最小値を出力する関数であって、max{}は、構成元素の中で最大値を出力する関数である。
【0063】
マクロブロック単位レート制御・符号化モジュール400は、目標ビット演算モジュール300から出力される目標符号化ビット数、最大許容ビット数、そして最小許容ビット数が入力されて、入力画像を符号化してビット列をバッファモジュール500に出力し、ビット列の大きさをスタッフィング制御モジュール800に出力する。これについては、後に述べる図4を参照しながら詳細に説明する。
【0064】
スタッフィング制御モジュール800は、目標ビット演算モジュール300から最小許容ビット数が入力され、マクロブロック単位レート制御・符号化モジュール400からビット列の大きさが入力されて、ビット列の大きさが最小許容ビット数より小さい場合に、これらの差以上のビット数のスタッフィングビット列(意味のないデータ)をバッファモジュール500に出力し、バッファモジュール500でこれらを組合わせて伝送線路を介して画像情報を復号器に伝送する。
【0065】
前述した目標ビット演算の具体的な方法は、本発明を制限しない。しかし、本発明で最も重要な概念は、目標符号化ビット数のみを利用してレート制御を行う従来の技術に比べて、最大許容ビット数と最小許容ビット数とを予め決定し、これを利用してレート制御を行うという点にある。
【0066】
図4は、図3のマクロブロック単位レート制御・符号化モジュールの一実施の形態の詳細を示した構成図であって、マクロブロック単位のレート制御演算及び符号化過程の制御を行う過程を示している。
【0067】
本発明にかかるマクロブロック単位レート制御・符号化モジュール400は、目標ビット演算モジュール300から目標符号化ビット数と最大許容ビット数、及び最小許容ビット数が入力され、符号化モジュール420からその前のマクロブロックのビット列の大きさが入力され、モデル更新モジュール430からモデルパラメーターが入力されて、量子化パラメーターと、該当マクロブロックの符号化をするか否か(texture_coded)とを決定する量子化パラメーター演算モジュール410と、量子化パラメーター演算モジュール410から入力される量子化パラメーターに応じて変換係数の量子化幅を決定し、画素情報符号化判定信号に応じて画素情報を符号化する符号化モジュール420と、符号化モジュール420からビット列の大きさが入力され、量子化パラメーター演算モジュール410から量子化パラメーターが入力されて、モデルを更新してモデルパラメーターを量子化パラメーター演算モジュール410に出力するモデル更新モジュール430と、符号化モジュール420からビット列の大きさが入力され、目標ビット演算モジュール300から最大許容ビット数が入力されて、マクロブロックのスキップをするか否かを決定してマクロブロックスキップ信号を出力するマクロブロックスキップ制御モジュール440と、マクロブロックスキップ制御モジュール440から入力されるマクロブロックスキップ信号と符号化モジュール420から入力されるビット列とを組合わせるビット列操作モジュール450とを有する。
【0068】
以下、このようなマクロブロック単位レート制御・符号化モジュール400の構成及び動作を図4を参照しながら詳細に説明する。
量子化パラメーター演算モジュール410は、目標ビット演算モジュール300から目標符号化ビット数と、最大許容ビット数と、最小許容ビット数とが入力され、符号化モジュール420からその前のマクロブロックの符号化ビット数が入力され、モデル更新モジュール430からモデルパラメーターが入力されて、入力マクロブロックを量子化するための量子化パラメーターとマクロブロックの画素情報の符号化をするか否かを示した画像情報符号化判定信号とを符号化モジュール420に出力する。この場合、現在までの累積ビット数が最大許容ビット数を越える場合に、画素情報を符号化しない画素情報符号化判定信号を符号化モジュール420に出力する。
【0069】
量子化パラメーター演算モジュール410からの出力は、符号化モジュール420に入力されて変換係数の量子化に利用される。すなわち、量子化パラメーターにより変換係数の量子化の幅が決定され、画素情報符号化判定信号に応じて画素情報を符号化する。この場合、画素情報が符号化されない場合に、画素情報を除いた残りの画像情報(動き情報(motion information)、形状情報(shape information)等)のみが符号化される。
【0070】
モデル更新モジュール430は、符号化モジュール420からビット列の大きさが入力され、量子化パラメーター演算モジュール410から量子化パラメーターが入力されて、量子化パラメーターと生成ビット数との間の関係を表現するモデルを更新して、モデルパラメーターを量子化パラメーター演算モジュール410に出力する。モデルパラメーターは、次の入力マクロブロックに対する量子化パラメーターを決定することに利用される。
【0071】
マクロブロックスキップ制御モジュール440は、符号化モジュール420から入力マクロブロックのビット列の大きさが入力され、目標ビット演算モジュール300から最大許容ビット数が入力されて、現在のマクロブロックまでの累積ビットレートの大きさが最大許容ビット数を越える場合に、現在のマクロブロックに対するビット列を廃棄させるように、ビット列操作モジュール450にマクロブロックスキップ信号を出力する。
【0072】
ビット列操作モジュール450は、マクロブロックスキップ制御モジュール440から現在のマクロブロックのビット列を廃棄する旨のマクロブロックスキップ信号が入力される場合に、入力されたビット列を廃棄し、現在の入力マクロブロックが符号化されなかったことを示す情報のみをビット列に加えてバッファモジュール500に出力する。
【0073】
図5は、図4の量子化パラメーター演算モジュールの一実施の形態の詳細を示した構成図である。
【0074】
本発明にかかる量子化パラメーター演算モジュール410は、目標ビット演算モジュール300から入力される目標符号化ビット数、最大許容ビット数、及び最小許容ビット数に応じてしきい値を計算するしきい値演算部411と、目標ビット演算モジュール300から入力される目標符号化ビット数(target_bit)、最大許容ビット数(max_bit)、及び最小許容ビット数(min_bit)とモデル更新モジュール430から入力されるモデルパラメーターとに応じて量子化パラメーター(QP)を計算する量子化パラメーター演算部412と、累積ビット数を格納するラッチ部414と、符号化モジュール420から入力されるその前のマクロブロックのビット列の大きさとラッチ部414の累積ビット数とを足してラッチ部414と比較部415とに出力する加算部413と、加算部413からの累積ビット数をしきい値演算部411からのしきい値と比較してマクロブロックの符号化をするか否かを決定する比較部415とを有する。
【0075】
以下、このような量子化パラメーター演算モジュール410の構成及び動作を図5を参照しながら詳細に説明する。
【0076】
図5に示すように、しきい値演算部411は、目標ビット演算モジュール300から目標符号化ビット数(target_bit)、最大許容ビット数(max_bit)及び最小許容ビット数(min_bit)が入力されてしきい値を計算する。
【0077】
そして、量子化パラメーター演算部412は、目標ビット演算モジュール300から目標符号化ビット数(target_bit)、最大許容ビット数(max_bit)、及び最小許容ビット数(min_bit)が入力され、モデル更新モジュール430からモデルパラメーターが入力されて、量子化パラメーター(QP)を計算して符号化モジュール420に出力する。
【0078】
ここで、しきい値と量子化パラメーターとを求める時、三つのビット数を全部使用するか、または一部のみを使用して計算することができる。
そして、ラッチ部414は、累積ビット数を格納しておいて、加算部413に出力する。
【0079】
そして、加算部413は、符号化モジュール420から入力されるその前のマクロブロックのビット列の大きさとラッチ部414に格納されている累積ビット数とを足して比較部415に出力する。また、加算部413は、次のマクロブロックを処理するために、累積ビット数をラッチ部414に再入力して格納する。この場合、ラッチ部414に格納されている累積ビット数を一フレームの符号化が全部終了した場合に、”0”に初期化して次のフレームの累積ビット数を格納し得るようにする。
【0080】
そして、比較部415は、加算部413から入力される累積ビット数をしきい値演算部411から入力されるしきい値と比較して累積ビット数がしきい値以下である場合には、画素情報を符号化するように、画素情報符号化判定信号を出力し、累積ビット数がしきい値より大きい場合には、バッファのオーバーフローを防止するために、画素情報を符号化しないように、画素情報符号化判定信号を出力する。
【0081】
図6は、図4の符号化モジュールの中の量子器の一実施の形態の詳細を示した構成図である。
本発明にかかる量子器は、量子化パラメーター演算モジュール410から入力される量子化パラメーター(QP)に応じて変換係数を量子化する量子化部421と、”0”にセッティングされた意味のないデータと、量子化部421において量子化された変換係数とのいずれか一つを、量子化パラメーター演算モジュール410から入力される画素情報符号化判定信号に応じて選択して出力するスイッチング部422とを有する。
【0082】
以下、このような量子器の構成及び動作を図6を参照しながら詳細に説明する。
まず、画素情報を符号化するようにする画素情報符号化判定信号が入力された場合に、量子化部421に入力される変換係数(coeff)は、量子化パラメーター演算モジュール410から入力される量子化パラメーター(QP)に応じて量子化されてスイッチング部422に伝達され、スイッチング部422は、量子化された変換係数が出力されるようにスイッチングされる。
【0083】
一方、画素情報を符号化しないようにする画素情報符号化判定信号が入力された場合には、”0”にセッティング(setting)されたデータがスイッチング部422に伝達され、スイッチング部422は、”0”にセッティングされたデータが出力されるようにスイッチングされる。
【0084】
図7は、図4のマクロブロックスキップ制御モジュールの一実施の形態の詳細を示した構成図である。
本発明にかかるマクロブロックスキップ制御モジュール440は、累積ビット数を格納するためのラッチ部442と、符号化モジュール420から入力される現在のマクロブロックのビット列の大きさとラッチ部442の累積ビット数とを足してラッチ部442と比較部443とに出力する加算部441と、加算部441から入力される累積ビット数と目標ビット演算モジュール300から入力される最大許容ビット数と比較して現在のマクロブロックの伝送をするか否かを決定する比較部443とを有している。
【0085】
以下、このようなマクロブロックスキップ制御モジュール440の構成及び動作を図7を参照しながら詳細に説明する。
図7に示すように、加算部441は、現在のマクロブロックのビット数とラッチ部442に格納されている累積ビット数とが入力されて、現在マクロブロックまでの累積ビット数を出力する。加算部441で計算された累積ビット数は、目標ビット演算モジュール300から入力される最大許容ビット数(max_bit)と共に比較部443に入力されて、現在のマクロブロックのビット列に対する伝送をするか否かを示す信号を出力する。すなわち、累積ビット数が最大許容ビット数より小さい場合には、現在のマクロブロックのビット列をそのまま伝送するように、マクロブロックスキップ信号を出力し、累積ビット数が最大許容ビット数より大きい場合には、現在のマクロブロックのビット列を出力しないように、マクロブロックスキップ信号を出力する。
【0086】
この場合、加算部441で計算された累積ビット数は、次のマクロブロックまでの累積ビット数を計算するために、再びラッチ部442に格納される。そして、ラッチ部442内に格納されている値は、フレームに対する符号化作業が全部終了する場合に、”0”に初期化されて次のフレームの累積ビット数を計算することに利用される。
【0087】
図8は、図4のビット列操作モジュールの一実施の形態の詳細を示した構成図であって、マクロブロックスキップ信号に応じて現在のマクロブロックのビット列を操作するビット列操作機能ブロックを示す。
【0088】
図8に示すように、ビット列操作モジュール450は、符号化モジュール420から符号化されたビット列が入力されるか、現在のマクロブロックが符号化されなかったことを知らせるマクロブロックスキップビット列が入力されて、マクロブロックスキップ制御モジュール440から現在のマクロブロックが伝送されないようにするマクロブロックスキップ信号が入力された時には、マクロブロックスキップビット列を選択して出力し、現在のマクロブロックが伝送されるようにするマクロブロックスキップ信号が入力された時には、ビット列を選択して出力するスイッチング部451を有する。
【0089】
一方、復号器では、ビット列を決められた順に復号化を行う途中にマクロブロックスキップ信号が入力されれば、マクロブロックがスキップされたか否かを判断して、スキップされた場合には、決められた方法によりマクロブロックを再現すれば良い。例えば、マクロブロックがスキップされた場合に、その前の再現画像の同じ位置のマクロブロック信号を利用して再現することもできる。
【0090】
図9は、本発明にかかる実時間画像通信のためのレート制御方法に対する一実施の形態を示したフローチャートである。
まず、ステップS1100で、初期化モジュール200は、伝送線路の伝送速度と符号化しようとする画像の秒当たりの入力フレーム数とが入力されて、レート制御に必要な初期値を設定する。そして、ステップS1200で、目標ビット演算モジュール300が現在のバッファの状態と伝送線路の伝送速度とを考慮して目標符号化ビット数、最大許容ビット数、及び最小許容ビット数を求めて出力する。
【0091】
そして、ステップS1300で、マクロブロック単位レート制御・符号化モジュール400が、目標ビット演算モジュール300から入力される目標符号化ビット数、最大許容ビット数、及び最小許容ビット数を利用してマクロブロック単位のレート制御と符号化とを行う。そして、ステップS1400で、スタッフィング制御モジュール800がマクロブロック単位レート制御・符号化モジュール400から入力されるビット列の大きさと目標ビット演算モジュール300から入力される目標符号化ビット数とを比較して、ビット列の大きさが最小許容ビット数より小さい場合に、スタッフィングビット列を出力する。そして、ステップS1500で、バッファモジュール500がマクロブロック単位レート制御・符号化モジュール400から入力されるビット列とスタッフィング制御モジュール800から入力されるスタッフィングビットとを組合わせて格納し、目標ビット演算モジュール300にバッファの占有状態信号を出力して復号器に画像情報を伝送するようにする。
【0092】
そして、ステップS1600で、フレームスキップモジュール600は、バッファモジュール500からバッファの占有状態信号が入力されて、バッファの状態が一定の限度を越える場合に、フレームスキップ信号を出力する。そして、ステップS1700で、制御モジュール700が全体符号化過程を制御し、フレームスキップモジュール600からフレームスキップ信号が入力されて、次の入力フレームの符号化をするか否かを決定する。
【0093】
図10は、図9のマクロブロック単位のレート制御と符号化を行うステップS1300に対する一実施の形態の詳細を示したフローチャートである。
【0094】
まず、ステップS1310で、量子化パラメーター演算モジュール410は、目標ビット演算モジュール300から目標符号化ビット数と最大許容ビット数及び最小許容ビット数とが入力され、符号化モジュール420からその前のマクロブロックのビット列の大きさが入力され、モデル更新モジュール430からモデルパラメーターが入力されて量子化パラメーターと該当マクロブロックの符号化をするか否かとを決定する。
【0095】
そして、ステップS1320で、符号化モジュール420が量子化パラメーター演算モジュール410から入力される量子化パラメーターに応じて変換係数の量子化幅を決定し、画素情報符号化判定信号に応じて画素情報を符号化する。
【0096】
そして、ステップS1330で、モデル更新モジュール430は符号化モジュール420からビット列の大きさが入力され、量子化パラメーター演算モジュール410から量子化パラメーターが入力されて、モデルを更新してモデルパラメーターを量子化パラメーター演算モジュール410に出力する。
【0097】
そして、ステップS1340で、マクロブロックスキップ制御モジュール440は、符号化モジュール420からビット列の大きさが入力され、目標ビット演算モジュール300から最大許容ビット数が入力されて、二つのビット列を比較してマクロブロックのスキップをするか否かを決定してマクロブロックスキップ信号を出力する。
【0098】
そして、ステップS1350で、ビット列操作モジュール450がマクロブロックスキップ制御モジュール440から入力されるマクロブロックスキップ信号と符号化モジュール420から入力されるビット列とを組合わせる。
【0099】
図11は、図10の量子化パラメーター及び符号化をするか否かを決定するステップS1310に対する一実施の形態の詳細を示したフローチャートである。
【0100】
まず、しきい値演算部411が目標ビット演算モジュール300から入力される目標符号化ビット数、最大許容ビット数、及び最小許容ビット数に応じてしきい値を計算する。そして、量子化パラメーター演算部412が目標ビット演算モジュール300から入力された目標符号化ビット数(target_bit)、最大許容ビット数(max_bit)、及び最小許容ビット数(min_bit)とモデル更新モジュール430から入力されるモデルパラメーターとに応じて量子化パラメーター(QP)を計算する。
【0101】
そして、加算部413が符号化モジュール420から入力されるその前のマクロブロックのビット列の大きさとラッチ部414の累積ビット数とを足して新しい累積ビット数を求めてラッチ部414と比較部415とに出力する。
そして、比較部415が加算部413から入力される累積ビット数を、しきい値演算部411から入力されるしきい値と比較して、マクロブロックの符号化をするか否かを決定する。
【0102】
本発明について、上記好ましい実施の形態を用いて具体的に説明したが、上記実施の形態は説明のためのものであって、本発明は上記実施の形態に制限されるものではない。また、本発明の技術分野における通常の専門家であるならば、本発明の技術思想の範囲内において、上述の実施の形態に対して種々の変更を行うことが可能である。
【0103】
【発明の効果】
以上説明したように本発明によれば、目標ビット数を設定し、最大許容ビット数と最小許容ビット数とを求めて符号化をするか否かを決定して、ビットレートを制御することによって、符号器と復号器のバッファオーバーフローやアンダーフローが発生することを防止できる効果がある。このように本発明を画像符号化装置に適用する場合に、符号器と復号器バッファのアンダーフローやオーバーフローが発生しなくなって再現画像の画質を向上させることのできる効果がある。また、本発明は、特に低伝送レートの特性を有する次世代移動通信網(IMT−2000)または公衆通信網(PSTN:Public Switched Telephone Network)上での画像通信サービス装置等に有用である。
【図面の簡単な説明】
【図1】従来のレート制御装置の構成を例示した図である。
【図2】図1のマクロブロック単位レート制御・符号化モジュールの詳細構成を例示した図である。
【図3】本発明にかかる実時間画像通信のためのレート制御装置の一実施の形態を示した構成図である。
【図4】図3のマクロブロック単位レート制御・符号化モジュールの一実施の形態の詳細を示した構成図である。
【図5】図4の量子化パラメーター演算モジュールの一実施の形態の詳細を示した構成図である。
【図6】図4の符号化モジュールの中の量子器の一実施の形態の詳細を示した構成図である。
【図7】図4のマクロブロックスキップ制御モジュールの一実施の形態の詳細を示した構成図である。
【図8】図4のビット列操作モジュールの一実施の形態の詳細を示した構成図である。
【図9】本発明にかかる実時間画像通信のためのレート制御方法に対する一実施の形態を示したフローチャートである。
【図10】図9のマクロブロック単位のレート制御と符号化を行う過程に対する一実施の形態の詳細を示したフローチャートである。
【図11】量子化パラメーター及び符号化をするか否かを決定する過程に対する一実施の形態の詳細を示したフローチャートである。
【符号の説明】
110,200 初期化モジュール
120,300 目標ビット演算モジュール
130,400 マクロブロック単位レート制御・符号化モジュール
131,410 量子化パラメーター演算モジュール
132,420 符号化モジュール
133,430 モデル更新モジュール
140,500 バッファモジュール
150,600 フレームスキップモジュール
160、700 制御モジュール
411 しきい値演算部
415,443 比較部
412 量子化パラメーター演算部
413,441 加算部
414,442 ラッチ部
421 量子化部
422,451 スイッチング部
440 マクロブロックスキップ制御モジュール
450 ビット列操作モジュール
800 スタッフィング制御モジュール

Claims (27)

  1. 伝送速度と入力フレーム数とに応じてレート制御に必要な初期値を設定する初期化手段と、
    バッファモジュールの状態と前記伝送速度とを考慮して目標符号化ビット数、最大許容ビット数及び最小許容ビット数を求める目標ビット演算手段と、
    該目標ビット演算手段からの目標符号化ビット数、最大許容ビット数及び最小許容ビット数を利用してレート制御と符号化とを行うレート制御・符号化手段と、
    該レート制御・符号化手段からのビット列の大きさと前記目標ビット演算手段からの最小許容ビット数とを比較して、意味のないデータであるスタッフィングビット列を出力するスタッフィング制御手段と、
    前記レート制御・符号化手段からのビット列と前記スタッフィング制御手段からのスタッフィングビットとを組合わせて格納し、前記目標ビット演算手段に出力するバッファリング手段と、
    該バッファリング手段からのバッファの占有状態の信号に応じてフレームスキップ信号を出力するフレームスキップ手段と、
    前記各手段の符号化過程を制御し、前記フレームスキップ手段からのフレームスキップ信号に応じて次の入力フレームを符号化するか否かを決定する制御手段とを含み、
    前記目標ビット演算手段は、前記最小許容ビット数(Min_bit)をMin_bit=max{B fd +B −B 、B −B fe 、0}として求め、前記最大許容ビット数(Max_bit)をMax_bit=min{B fd 、B −B fe }として求めることを特徴とする実時間画像通信のためのレート制御装置。
    (ここで、B fd は、復号器バッファモジュールに格納されたビット列を意味し、B は、一フレームが符号化される間にビット列がバッファに伝送されるビット数であり、B は、復号器バッファの大きさであり、B は、符号器バッファの大きさであり、B fe は、符号器バッファモジュールに格納されたビット列を示し、min{}は、構成元素の中最小値を出力する関数であって、max{}は、構成元素の中最大値を出力する関数である。)
  2. 前記スタッフィング制御手段は、前記目標ビット演算手段からの最小許容ビット数と前記レート制御・符号化手段からのビット列の大きさとを比較して、前記ビット列の大きさが前記最小許容ビット数より小さい場合に、これらの差以上のビット数のスタッフィングビット列を前記バッファリング手段に出力することを特徴とする請求項1に記載の実時間画像通信のためのレート制御装置。
  3. 前記レート制御・符号化手段は、現在符号化されるマクロブロックまでのビット列の符号化ビット数の和が前記最大許容ビット数を越える場合に、現在符号化されるマクロブロックのビット列を廃棄してビット列の長さが前記最大許容ビット数を越えないように保障することを特徴とする請求項1に記載の実時間画像通信のためのレート制御装置。
  4. 前記レート制御・符号化手段は、現在マクロブロックのビット列を廃棄する場合に、現在マクロブロックを符号化しなかったことを示すビット列を追加することを特徴とする請求項3に記載の実時間画像通信のためのレート制御装置。
  5. 前記レート制御・符号化手段は、現在符号化されるマクロブロックまでのビット列の符号化ビット数の和が前記最大許容ビット数、または目標符号化ビット数、または最小許容ビット数から計算された所定の許容限界を越える場合に、画素情報を符号化しないことによって、ビット列の長さが前記最大許容ビット数を越えないようにすることを特徴とする請求項1に記載の実時間画像通信のためのレート制御装置。
  6. 前記レート制御・符号化手段は、
    前記目標ビット演算手段から目標符号化ビット数と最大許容ビット数、及び最小許容ビット数が入力され、その前のマクロブロックのビット列の大きさが入力され、モデルパラメーターが入力されて、量子化パラメーターと該当マクロブロックの符号化をするか否かとを決定する量子化パラメーター演算手段と、
    該量子化パラメーター演算手段からの量子化パラメーターに応じて変換係数の量子化幅を決定し、この値に応じて画素情報符号化判定信号が生成され、画素情報を符号化して、ビット列の大きさを前記量子化パラメーター演算手段に出力する符号化手段と、
    該符号化手段からビット列の大きさが入力され、前記量子化パラメーター演算手段から量子化パラメーターが入力されて、モデルパラメータを更新して前記量子化パラメーター演算手段に出力するモデル更新手段と、
    前記符号化手段からビット列の大きさが入力され、前記目標ビット演算手段から最大許容ビット数が入力されて、マクロブロックのスキップをするか否かを決定してマクロブロックスキップ信号を出力するマクロブロックスキップ制御手段と、
    該マクロブロックスキップ制御手段からのマクロブロックスキップ信号と前記符号化手段からのビット列とを組合わせるビット列の操作手段とを含み、
    前記量子化パラメーター演算手段は、
    前記目標ビット演算手段からの目標符号化ビット数、最大許容ビット数及び最小許容ビット数に応じてしきい値を計算するしきい値演算部と、
    前記目標ビット演算手段からの目標符号化ビット数、最大許容ビット数(max_bit)及び最小許容ビット数(min_bit)と前記モデル更新手段からのモデルパラメーターとに応じて量子化パラメーター(QP)を計算する量子化パラメーター演算部と、
    累積ビット数を格納する格納手段と、
    前記符号化手段からのその前のマクロブロックのビット列の大きさと前記格納手段の累積ビット数とを足して前記格納手段に出力する加算部と、
    該加算部からの累積ビット数を前記しきい値演算部からのしきい値と比較してマクロブロックの符号化をするか否かを決定する比較部と
    を含むことを特徴とする請求項1乃至請求項5のいずれか一項に記載の実時間画像通信のためのレート制御装置。
  7. 前記しきい値演算部でしきい値を計算する時、前記目標ビット演算手段からの目標符号化ビット数、最大許容ビット数、及び最小許容ビット数を全部使用するか、または一部のみを使用することを特徴とする請求項6に記載の実時間画像通信のためのレート制御装置。
  8. 前記量子化パラメーター演算部で量子化パラメーターを求める時、前記目標ビット演算手段からの目標符号化ビット数、最大許容ビット数、及び最小許容ビット数を全部使用するか、または一部のみを使用することを特徴とする請求項6に記載の実時間画像通信のためのレート制御装置。
  9. 一フレームの符号化が全部終了した場合に、次のフレームの累積ビット数を格納できるようにするために、前記格納手段に格納されている累積ビット数を”0”に初期化することを特徴とする請求項6に記載の実時間画像通信のためのレート制御装置。
  10. 前記比較部は、前記加算部からの累積ビット数を前記しきい値演算部からのしきい値と比較して前記累積ビット数が前記しきい値以下である場合には、画素情報を符号化する画素情報符号化判定信号を出力し、前記累積ビット数が前記しきい値より大きい場合には、バッファのオーバーフローを防止するために、画素情報を符号化しない画素情報符号化判定信号を出力することを特徴とする請求項6に記載の実時間画像通信のためのレート制御装置。
  11. 前記符号化手段は、
    前記量子化パラメーター演算手段からの量子化パラメーターに応じて変換係数を量子化する量子化手段と、
    意味のないデータと前記量子化手段の量子化された変換係数のいずれか一つを、前記量子化パラメーター演算手段からの画素情報符号化判定信号に応じて選択する選択手段と
    を有することを特徴とする請求項6に記載の実時間画像通信のためのレート制御装置。
  12. 前記マクロブロックスキップ制御手段は、
    累積ビット数を格納する格納手段と、
    前記符号化手段からの現在マクロブロックのビット列の大きさと前記格納手段の累積ビット数とを足して前記格納手段に出力する加算手段と、
    該加算手段からの累積ビット数を前記目標ビット演算手段からの最大許容ビット数と比較して現在マクロブロックの伝送をするか否かを決定する比較手段と
    を有することを特徴とする請求項6に記載の実時間画像通信のためのレート制御装置。
  13. 前記比較手段は、
    前記加算手段からの累積ビット数が前記目標ビット演算手段からの最大許容ビット数より小さい場合には、現在マクロブロックのビット列をそのまま伝送するようにマクロブロックスキップ信号を出力し、前記加算手段からの累積ビット数が前記目標ビット演算手段からの最大許容ビット数より大きい場合には、現在マクロブロックのビット列を出力しないようにマクロブロックスキップ信号を出力することを特徴とする請求項12に記載の実時間画像通信のためのレート制御装置。
  14. 一フレームの符号化が全部終了した場合に、次のフレームの累積ビット数を格納できるようにするために、前記格納手段に格納されている累積ビット数を”0”に初期化することを特徴とする請求項12に記載の実時間画像通信のためのレート制御装置。
  15. 前記ビット列操作手段は、
    前記符号化手段から符号化されたビット列が入力されるか、現在のマクロブロックが符号化されなかったことを知らせるマクロブロックスキップビット列が入力されて、前記マクロブロックスキップ制御手段から現在のマクロブロックが伝送されないようにするマクロブロックスキップ信号が入力された時には、マクロブロックスキップビット列を選択して出力し、現在のマクロブロックが伝送されるようにするマクロブロックスキップ信号が入力された時には、ビット列を選択して出力することを特徴とする請求項6に記載の実時間画像通信のためのレート制御装置。
  16. 実時間画像通信のためのレート制御装置に適用されるレート制御方法において、
    伝送線路の伝送速度と符号化しようとする画像の秒当たりの入力フレーム数に応じてレート制御に必要な初期値を設定する第1ステップと、
    現在バッファモジュールの状態と前記伝送線路の伝送速度とを考慮して目標符号化ビット数、最大許容ビット数、及び最小許容ビット数を求める第2ステップと、
    前記目標符号化ビット数、最大許容ビット数、及び最小許容ビット数を利用してレート制御と符号化とを行う第3ステップと、
    符号化されたビット列の大きさと前記最小許容ビット数とを比較して意味のないデータであるスタッフィングビット列を発生する第4ステップと、
    符号化されたビット列と前記スタッフィングビット列とを組合わせて格納し、画像情報を伝送するようにする第5ステップと、
    現在のバッファの状態に応じて発生したフレームスキップ信号に応じて次の入力フレームの符号化をするか否かを決定する第6ステップとを含み、
    前記最小許容ビット数(Min_bit)はMin_bit=max{B fd +B −B 、B −B fe 、0}として求め、前記最大許容ビット数(Max_bit)は、Max_bit=min{B fd 、B −B fe }として求めることを特徴とする実時間画像通信のためのレート制御方法。
    (ここで、B fd は、復号器バッファモジュールに格納されたビット列を意味し、B は、一フレームが符号化される間にビット列がバッファに伝送されるビット数であり、B は、復号器バッファの大きさであり、B は、符号器バッファの大きさであり、B fe は、符号器バッファモジュールに格納されたビット列を示し、min{}は、構成元素の中最小値を出力する関数であって、max{}は、構成元素の中最大値を出力する関数である。)
  17. 前記第4ステップは、前記最小許容ビット数と前記符号化されたビット列の大きさとを比較して前記ビット列の大きさが前記最小許容ビット数より小さい場合に、これらの差以上のビット数のスタッフィングビット列を発生することを特徴とする請求項16に記載の実時間画像通信のためのレート制御方法。
  18. 前記第3ステップのレート制御及び符号化過程は、現在符号化されるマクロブロックまでのビット列の符号化ビット数の和が前記最大許容ビット数を越える場合、現在符号化されるマクロブロックのビット列を廃棄してビット列の長さが前記最大許容ビット数を越えないように保障することを特徴とする請求項16に記載の実時間画像通信のためのレート制御方法。
  19. 前記第3ステップのレート制御及び符号化過程は、現在のマクロブロックのビット列を廃棄する場合に、現在のマクロブロックを符号化しなかったことを示すビット列を追加することを特徴とする請求項18に記載の実時間画像通信のためのレート制御方法。
  20. 前記第3ステップのレート制御及び符号化過程は、現在符号化されるマクロブロックまでのビット列の符号化ビット数の和が前記最大許容ビット数、または目標符号化ビット数、または最小許容ビット数から計算された所定の許容限界を越える場合に、画素情報を符号化しないことによって、ビット列の長さが前記最大許容ビット数を越えないようにすることを特徴とする請求項16に記載の実時間画像通信のためのレート制御方法。
  21. 前記第3ステップは、
    前記目標符号化ビット数と最大許容ビット数及び最小許容ビット数とその前のマクロブロックのビット列の大きさとモデルパラメーターとに応じて量子化パラメーターと該当マクロブロックの符号化をするか否かとを決定する第7ステップと、
    前記量子化パラメーターに応じて変換係数の量子化幅を決定し、この値に応じて画素情報符号化判定信号が生成され、前記画像情報符号化判定信号に応じて符号化する第8ステップと、
    前記符号化されたビット列の大きさと前記量子化パラメーターとに応じてモデルパラメーターを更新して生成する第9ステップと、
    前記符号化されたビット列の大きさと前記最大許容ビット数とを比較してマクロブロックのスキップをするか否かを決定してマクロブロックスキップ信号を発生する第10ステップと、
    前記マクロブロックスキップ信号と前記符号化されたビット列とを組合わせる第11ステップとを含み、
    前記第7ステップは、
    前記目標符号化ビット数、最大許容ビット数及び最小許容ビット数に応じてしきい値を求める第12ステップと、
    前記目標符号化ビット数(target_bit)、最大許容ビット数(min_bit)及び最小許容ビット数(min_bit)と前記モデルパラメーターに応じて量子化パラメーター(QP)を求める第13ステップと、
    前記符号化されたその前のマクロブロックのビット列の大きさと累積ビット数とを足して新しい累積ビット数を求める第14ステップと、
    新しく得られた該累積ビット数と前記得られたしきい値とを比較してマクロブロックの符号化をするか否か決定する第15ステップと
    を含むことを特徴とする請求項16乃至20いずれかに記載の実時間画像通信のためのレート制御方法。
  22. 前記第15ステップは、
    前記得られた累積ビット数と前記しきい値とを比較して前記累積ビット数が前記しきい値以下である場合には、画素情報を符号化する画素情報符号化判定信号を出力し、前記累積ビット数が前記しきい値より大きい場合には、バッファのオーバーフローを防止するために、画素情報を符号化しない画素情報符号化判定信号を発生することを特徴とする請求項21に記載の実時間画像通信のためのレート制御方法。
  23. 前記第10ステップは、
    符号化された現在のマクロブロックのビット列の大きさとその前のマクロブロックまでの累積ビット数とを足して新しい累積ビット数を求める第12ステップと、
    前記得られた累積ビット数を前記最大許容ビット数と比較して、現在のマクロブロックの伝送をするか否かを決定する第13ステップと
    を有することを特徴とする請求項21に記載の実時間画像通信のためのレート制御方法。
  24. 前記第13ステップは、
    前記得られた累積ビット数が前記最大許容ビット数より小さい場合には、現在のマクロブロックのビット列をそのまま伝送するように、マクロブロックスキップ信号を出力し、前記得られた累積ビット数が前記最大許容ビット数より大きい場合には、現在のマクロブロックのビット列を出力しないように、マクロブロックスキップ信号を出力することを特徴とする請求項23に記載の実時間画像通信のためのレート制御方法。
  25. 前記第11ステップは、
    前記符号化されたビット列と現在のマクロブロックが符号化されなかったことを知らせるマクロブロックスキップビット列とを組合わせるが、現在のマクロブロックが伝送されないようにするマクロブロックスキップ信号が入力された時には、マクロブロックスキップビット列を選択して出力し、現在のマクロブロックが伝送されるようにするマクロブロックスキップ信号が入力された時には、ビット列を選択して出力することを特徴とする請求項21に記載の実時間画像通信のためのレート制御方法。
  26. 実時間画像通信のためのレート制御のために、プロセッサを備えたレート制御装置に、
    伝送線路の伝送速度と符号化しようとする画像の秒当たりの入力フレーム数とに応じてレート制御に必要な初期値を設定する第1機能と、
    現在のバッファモジュールの状態と前記伝送線路の伝送速度とを考慮して目標符号化ビット数、最大許容ビット数、及び最小許容ビット数を求める第2機能と、
    前記目標符号化ビット数、最大許容ビット数、及び最小許容ビット数を利用してレート制御と符号化とを行う第3機能と、
    符号化されたビット列の大きさと前記最小許容ビット数とを比較して意味のないデータであるスタッフィングビット列を発生する第4機能と、
    符号化されたビット列と前記スタッフィングビット列とを組合わせて格納し、画像情報を伝送する第5機能と、
    現在のバッファの状態によって発生したフレームスキップ信号に応じて次の入力フレームの符号化をするか否かを決定する第6機能とを含み、
    前記第3機能は、
    前記目標符号化ビット数と最大許容ビット数、及び最小許容ビット数とその前のマクロブロックのビット列の大きさとモデルパラメーターに応じて量子化パラメーターと該当マクロブロックの符号化をするか否かを決定する第7機能と、
    前記量子化パラメーターに応じて変換係数の量子化幅を決定し、符号化するか否かを示す画像情報符号化判定信号に応じて符号化する第8機能と、
    前記符号化されたビット列の大きさと前記量子化パラメーターとに応じてモデルパラメーターを更新してモデルパラメーターを生成する第9機能と、
    前記符号化されたビット列の大きさと前記最大許容ビット数とを比較してマクロブロックのスキップをするか否かを決定してマクロブロックスキップ信号を発生する第10機能と、
    前記マクロブロックスキップ信号と前記符号化されたビット列とを組合わせる第11機能と
    を実現させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
  27. 前記第7機能は、
    前記目標符号化ビット数、最大許容ビット数、及び最小許容ビット数に応じてしきい値を求める第12機能と、
    前記目標符号化ビット数、最大許容ビット数、及び最小許容ビット数と前記モデルパラメーターとに応じて量子化パラメーターを求める第13機能と、
    前記符号化されたその前のマクロブロックのビット列の大きさと累積ビット数とを足して新しい累積ビット数を求める第14機能と、
    前記新しく得られた累積ビット数を前記得られたしきい値と比較してマクロブロックの符号化をするか否かを決定する第15機能と
    を実現させるための請求項26に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
JP2001130285A 2000-06-28 2001-04-26 実時間画像通信のためのレート制御装置及びその制御方法 Expired - Fee Related JP4205315B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020000035982A KR100341063B1 (ko) 2000-06-28 2000-06-28 실시간 영상 통신을 위한 율제어 장치 및 그 방법
KR2000-35982 2000-06-28

Publications (2)

Publication Number Publication Date
JP2002044656A JP2002044656A (ja) 2002-02-08
JP4205315B2 true JP4205315B2 (ja) 2009-01-07

Family

ID=19674437

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001130285A Expired - Fee Related JP4205315B2 (ja) 2000-06-28 2001-04-26 実時間画像通信のためのレート制御装置及びその制御方法

Country Status (3)

Country Link
US (1) US6937653B2 (ja)
JP (1) JP4205315B2 (ja)
KR (1) KR100341063B1 (ja)

Families Citing this family (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6563953B2 (en) * 1998-11-30 2003-05-13 Microsoft Corporation Predictive image compression using a single variable length code for both the luminance and chrominance blocks for each macroblock
GB2374746B (en) * 2001-04-19 2005-04-13 Discreet Logic Inc Displaying image data
JP3565182B2 (ja) * 2001-05-11 2004-09-15 日本電気株式会社 可変長符号の入力が中断されることを防止する方式及びその方法
US7200275B2 (en) * 2001-12-17 2007-04-03 Microsoft Corporation Skip macroblock coding
US7418037B1 (en) * 2002-07-15 2008-08-26 Apple Inc. Method of performing rate control for a compression system
KR100484148B1 (ko) * 2002-07-27 2005-04-18 삼성전자주식회사 개선된 비트율 제어 방법과 그 장치
KR100949755B1 (ko) * 2002-09-05 2010-03-25 에이전시 포 사이언스, 테크놀로지 앤드 리서치 비디오 시퀀스의 레이트를 제어하는 방법 및 장치, 비디오부호화 장치
US7804897B1 (en) * 2002-12-16 2010-09-28 Apple Inc. Method for implementing an improved quantizer in a multimedia compression and encoding system
US7940843B1 (en) 2002-12-16 2011-05-10 Apple Inc. Method of implementing improved rate control for a multimedia compression and encoding system
JP2005051633A (ja) * 2003-07-30 2005-02-24 Sony Corp 編集装置、ビットレート制御方法及びビットレート制御プログラム
US20050169369A1 (en) * 2004-02-03 2005-08-04 Sony Corporation Scalable MPEG video/macro block rate control
US7697608B2 (en) * 2004-02-03 2010-04-13 Sony Corporation Scalable MPEG video/macro block rate control
CN100411476C (zh) * 2004-09-20 2008-08-13 华为技术有限公司 一种宽带码分多址系统中上行增强链路信令编码方法
US7747095B2 (en) * 2004-10-08 2010-06-29 Nvidia Corporation Methods and systems for rate control in image compression
US8340172B2 (en) * 2004-11-29 2012-12-25 Qualcomm Incorporated Rate control techniques for video encoding using parametric equations
US9077960B2 (en) * 2005-08-12 2015-07-07 Microsoft Corporation Non-zero coefficient block pattern coding
CN100463526C (zh) * 2006-12-11 2009-02-18 陈耀武 视频延时自适应矫正的解码装置
US10069591B2 (en) 2007-01-04 2018-09-04 Qualcomm Incorporated Method and apparatus for distributed spectrum sensing for wireless communication
JP4427570B2 (ja) * 2007-09-26 2010-03-10 株式会社東芝 通信装置、通信制御方法及びプログラム
US8548042B2 (en) * 2008-06-05 2013-10-01 Nippon Telegraph And Telephone Corporation Video bitrate control method, video bitrate control apparatus, video bitrate control program, and computer-readable recording medium having the program recorded thereon
KR101009822B1 (ko) * 2008-08-06 2011-01-19 삼성전자주식회사 서버 및 이동통신 단말기를 포함하는 통신 시스템에서스트리밍 데이터를 송수신하는 방법 및 그 통신 시스템
KR20100057388A (ko) * 2008-11-21 2010-05-31 삼성전자주식회사 버퍼 상태에 적응적인 영상 부호화 방법 및 장치, 영상 복호화 방법 및 장치
US9009337B2 (en) 2008-12-22 2015-04-14 Netflix, Inc. On-device multiplexing of streaming media content
US8311115B2 (en) * 2009-01-29 2012-11-13 Microsoft Corporation Video encoding using previously calculated motion information
US8396114B2 (en) * 2009-01-29 2013-03-12 Microsoft Corporation Multiple bit rate video encoding using variable bit rate and dynamic resolution for adaptive video streaming
US8270473B2 (en) * 2009-06-12 2012-09-18 Microsoft Corporation Motion based dynamic resolution multiple bit rate video encoding
US8902995B2 (en) * 2009-07-02 2014-12-02 Qualcomm Incorporated Transmitter quieting and reduced rate encoding
US8958475B2 (en) * 2009-07-02 2015-02-17 Qualcomm Incorporated Transmitter quieting and null data encoding
US9112618B2 (en) * 2009-07-02 2015-08-18 Qualcomm Incorporated Coding latency reductions during transmitter quieting
JP4861456B2 (ja) * 2009-07-15 2012-01-25 富士通株式会社 データレート調整装置、データ配信システム、及びプログラム
EP2285112A1 (en) 2009-08-07 2011-02-16 Canon Kabushiki Kaisha Method for sending compressed data representing a digital image and corresponding device
US8595582B2 (en) * 2009-10-01 2013-11-26 Stmicroelectronics, Inc. High-rate reverse-order run-length-limited code
US20110110422A1 (en) 2009-11-06 2011-05-12 Texas Instruments Incorporated Transmission bit-rate control in a video encoder
JP5585062B2 (ja) * 2009-12-04 2014-09-10 ソニー株式会社 情報処理装置、情報処理方法、データ管理サーバおよびデータ同期システム
US20110182257A1 (en) * 2010-01-26 2011-07-28 Qualcomm Incorporated White space spectrum commmunciation device with multiplexing capabilties
US8705616B2 (en) 2010-06-11 2014-04-22 Microsoft Corporation Parallel multiple bitrate video encoding to reduce latency and dependences between groups of pictures
US8629913B2 (en) * 2010-09-30 2014-01-14 Apple Inc. Overflow control techniques for image signal processing
WO2012093074A1 (en) * 2011-01-04 2012-07-12 Telefonaktiebolaget L M Ericsson (Publ) Method, user equipment, computer program and computer program product for selecting an output stream
US9025665B2 (en) 2011-07-01 2015-05-05 Cavium, Inc. Video encoder bit estimator for macroblock encoding
US9591318B2 (en) 2011-09-16 2017-03-07 Microsoft Technology Licensing, Llc Multi-layer encoding and decoding
US9237352B2 (en) * 2011-10-05 2016-01-12 Texas Instruments Incorporated Methods and systems for encoding pictures associated with video data
US10390016B2 (en) 2011-11-04 2019-08-20 Infobridge Pte. Ltd. Apparatus of encoding an image
KR20130049524A (ko) * 2011-11-04 2013-05-14 오수미 인트라 예측 블록 생성 방법
TWI451722B (zh) * 2011-11-07 2014-09-01 Quanta Comp Inc 位元率控制裝置及其方法
US11089343B2 (en) 2012-01-11 2021-08-10 Microsoft Technology Licensing, Llc Capability advertisement, configuration and control for video coding and decoding
JP5843631B2 (ja) * 2012-01-26 2016-01-13 日本電信電話株式会社 フレームレート制御方法,フレームレート制御装置およびフレームレート制御プログラム
JP5848993B2 (ja) * 2012-03-06 2016-01-27 株式会社メガチップス 画像処理装置
US8982702B2 (en) * 2012-10-30 2015-03-17 Cisco Technology, Inc. Control of rate adaptive endpoints
US9363473B2 (en) * 2012-12-17 2016-06-07 Intel Corporation Video encoder instances to encode video content via a scene change determination
JP6143866B2 (ja) * 2013-09-30 2017-06-07 日本放送協会 画像符号化装置、画像復号装置及びそれらのプログラム
GB2518909B (en) * 2013-12-16 2015-10-28 Imagination Tech Ltd Encoder adaptation
US9979970B2 (en) * 2014-08-08 2018-05-22 Qualcomm Incorporated System and method for determining buffer fullness for display stream compression
KR102274747B1 (ko) 2014-11-24 2021-07-07 삼성전자주식회사 코덱과 이를 포함하는 시스템 온 칩, 및 상기 시스템 온 칩을 포함하는 데이터 처리 시스템
US10805635B1 (en) * 2016-03-22 2020-10-13 NGCodec Inc. Apparatus and method for coding tree unit bit size limit management

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5159447A (en) 1991-05-23 1992-10-27 At&T Bell Laboratories Buffer control for variable bit-rate channel
US5231484A (en) * 1991-11-08 1993-07-27 International Business Machines Corporation Motion video compression system with adaptive bit allocation and quantization
US5552832A (en) * 1994-10-26 1996-09-03 Intel Corporation Run-length encoding sequence for video signals
JPH08163554A (ja) 1994-12-02 1996-06-21 Electron & Telecommun Res Inst ビデオビット率制御方法
US5825970A (en) * 1994-12-20 1998-10-20 Lg Electronics Inc. Quantization number selecting apparatus for DVCR and method therefor
US5686964A (en) 1995-12-04 1997-11-11 Tabatabai; Ali Bit rate control mechanism for digital image and video data compression
US5686963A (en) 1995-12-26 1997-11-11 C-Cube Microsystems Method for performing rate control in a video encoder which provides a bit budget for each frame while employing virtual buffers and virtual buffer verifiers
US5731835A (en) 1996-02-26 1998-03-24 David Sarnoff Research Center, Inc. Dynamic coding rate control in a block-based video coding system
KR100297830B1 (ko) * 1996-11-09 2001-08-07 윤종용 영상단위별 비트발생량 조절 장치 및 방법
JP3934712B2 (ja) * 1996-09-27 2007-06-20 日本ビクター株式会社 映像信号符号化方法及び装置
JPH10190745A (ja) 1996-11-07 1998-07-21 Sony Corp 符号化信号伝送方法及び装置
JPH10190946A (ja) 1996-12-27 1998-07-21 Canon Inc 密着型イメージセンサとこれを用いた画像読み取り装置
JPH10290428A (ja) 1997-04-15 1998-10-27 Sony Corp データ圧縮装置
JP4061511B2 (ja) 1997-04-15 2008-03-19 ソニー株式会社 符号化装置及び符号化方法
JPH10290427A (ja) 1997-04-15 1998-10-27 Sony Corp データ圧縮装置
JPH10290429A (ja) 1997-04-17 1998-10-27 Sony Corp データ圧縮装置
EP1051853B1 (en) * 1998-01-26 2003-06-18 STMicroelectronics Asia Pacific Pte Ltd. One-pass variable bit rate moving pictures encoding
EP1005233A1 (en) * 1998-10-12 2000-05-31 STMicroelectronics S.r.l. Constant bit-rate coding control in a video coder by way of pre-analysis of the slices of the pictures

Also Published As

Publication number Publication date
US20020012395A1 (en) 2002-01-31
KR20020001344A (ko) 2002-01-09
US6937653B2 (en) 2005-08-30
JP2002044656A (ja) 2002-02-08
KR100341063B1 (ko) 2002-06-20

Similar Documents

Publication Publication Date Title
JP4205315B2 (ja) 実時間画像通信のためのレート制御装置及びその制御方法
KR100484148B1 (ko) 개선된 비트율 제어 방법과 그 장치
JPH10174103A (ja) 画像符号化装置、符号化画像記録媒体、画像復号化装置、画像符号化方法、および符号化画像伝送方法
EP1947862B1 (en) Method for re-encoding image blocks, device using the same, and computer program
JP4795223B2 (ja) 画像処理装置
US7428339B2 (en) Pseudo-frames for MPEG-2 encoding
JP2002320228A5 (ja)
WO2002080567A1 (en) Image signal quantizing device and its method
JP4224778B2 (ja) ストリーム変換装置および方法、符号化装置および方法、記録媒体、並びに、プログラム
JP2005151391A (ja) 動画像符号化方法、動画像符号化装置およびプログラム
JP2894137B2 (ja) 動画像符号化におけるプリフィルタ制御方法および装置
JP2004040811A (ja) 動映像符号化のためのdct演算量調節方法及びその装置
KR20100057388A (ko) 버퍼 상태에 적응적인 영상 부호화 방법 및 장치, 영상 복호화 방법 및 장치
KR100800838B1 (ko) 비디오 인코딩 데이터율 제어 방법
JPH07288804A (ja) 画像信号の再符号化装置
KR101176213B1 (ko) 화면내?프레임을 위한 부호율 제어 장치 및 그 방법
JP4539028B2 (ja) 画像処理装置および画像処理方法、記録媒体、並びに、プログラム
KR100555750B1 (ko) 저전송율 비디오 부호화 장치 및 방법
JP4490046B2 (ja) 画像符号化装置及び画像符号化方法
JP4079530B2 (ja) バリアブル・ビットレートによる動画像の符号化方法と装置
JP3652889B2 (ja) 映像符号化方法、映像符号化装置、記録媒体、及び映像通信システム
JP2002218464A (ja) 動画像符号化データのトランスコーディングを実行するための方法、装置、プログラムおよび記録媒体
KR100228549B1 (ko) 채널율을 이용한 가변 비트율 비디오 제어 방법
JPH10210475A (ja) 画像符号化装置
US20040062528A1 (en) Image encoding apparatus and method

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040629

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20040929

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20041005

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050104

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20050104

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20050809

RD13 Notification of appointment of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7433

Effective date: 20051107

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20051107

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051207

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20051220

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20060120

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20081016

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

Free format text: PAYMENT UNTIL: 20111024

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20111024

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20121024

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20131024

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees