Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP3779066B2 - Video encoding device - Google Patents
[go: Go Back, main page]

JP3779066B2 - Video encoding device - Google Patents

Video encoding device Download PDF

Info

Publication number
JP3779066B2
JP3779066B2 JP19954098A JP19954098A JP3779066B2 JP 3779066 B2 JP3779066 B2 JP 3779066B2 JP 19954098 A JP19954098 A JP 19954098A JP 19954098 A JP19954098 A JP 19954098A JP 3779066 B2 JP3779066 B2 JP 3779066B2
Authority
JP
Japan
Prior art keywords
frame
encoding
interval
buffer
rate
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
JP19954098A
Other languages
Japanese (ja)
Other versions
JP2000023155A (en
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP19954098A priority Critical patent/JP3779066B2/en
Publication of JP2000023155A publication Critical patent/JP2000023155A/en
Application granted granted Critical
Publication of JP3779066B2 publication Critical patent/JP3779066B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は動画像符号化装置、特にインターネット/イントラネット動画像放送システム、テレビ電話、テレビ会議システム、携帯情報端末、デジタルビデオディスクシステムのように、動画像信号を伝送、蓄積する装置/システムに係り、動画像を少ない情報量に圧縮符号化する装置に関する。
【0002】
【従来の技術】
画像信号を伝送、蓄積するために少ない情報量に圧縮符号化する技術として、離散コサイン変換符号化、サブバンド符号化、ウエーブレット符号化、ピラミッド符号化、可変長符号化等の方式やこれらを組み合わせた方式など様々な方式が開発されている。また、画像信号の圧縮符号化の国際標準方式として、静止画符号化ではISO・JPEG、動画像符号化ではISO・MPEG1、MPEG2、ITU−T・H.261,H.262、H.263が規定されている。
【0003】
これらはいずれもコサイン変換符号化を用いた方式であり、文献1:安田浩編著、”マルチメディア符号化の国際標準”、丸善、(平成3年6月)、等に詳細が述べられている。
【0004】
圧縮された動画像信号を伝送ビットレートが規定された伝送路や記録容量が決められている蓄積媒体に伝送/記録する場合には、動画像符号化装置において圧縮動画像符号列が指定されたビットレートになるように符号化パラメータを制御するレート制御と呼ばれる処理を行う。
【0005】
以下、従来用いられていたレート制御の例について説明する。この例では、仮想的なバッファを用いて、ステップサイズや次に符号化するフレーム等を決定する。仮想バッファが満杯になると、次に符号化する画像までの間隔を長くするとともにステップサイズを大きくする。
【0006】
フレーム内符号化(イントラ)で符号化される最初のフレーム(ピクチャ、VOPともいう)はステップサイズ(QP)=16で符号化する。最初のフレームを符号化した後、バッファ量を次式(1)の値に設定する。
【0007】
【数1】

Figure 0003779066
後続のフレームでは、ステップサイズを画面の左端の各マクロブロック(マクロブロックラインの先頭のマクロブロック)で次式(2)を用いて決定する。
【0008】
【数2】
Figure 0003779066
式(2)の第1項および第2項はフレーム内の全マクロブロック固定であり、第3項はマクロブロック単位にステップサイズを修正するためのパラメータである。
【0009】
各フレーム符号化終了後に仮想バッファのバッファ量 (buffer_content)を次式(3)のように更新する。
【0010】
【数3】
Figure 0003779066
さらに、目標フレームレートと1フレーム当たりの目標ビット数を次式(4)に従って更新する。
【0011】
【数4】
Figure 0003779066
このような従来のレート制御では、式(3)のように次に符号化するフレームまでの間隔(frame_incr) はバッファ量 (buffer_content)が指定された値(上の例では3R/FR)以下になるまで増加させながら決定する。このため、そのフレームの発生符号量が多いほど、次に符号化するフレームまでのフレーム間隔が大きくなる。
【0012】
イントラ符号化を行うフレームや、大きな動きやシーンチェンジのあるフレームでは、このフレーム間隔が大きくなり過ぎてしまう。フレーム間隔が大きくなり過ぎると、符号化画像の視覚的品質が劣化するだけでなく、動き補償の効率も低下するため、符号化効率が低下して画質が劣化してしまう。
【0013】
【発明が解決しようとする課題】
上述したように、従来の動画像符号化装置で用いられていたレート制御方法では、発生符号量の多いフレームの直後はフレーム間隔が大きくなり過ぎてしまうために、動き補償の効率低下、符号化画像の主観品質の低下を招くという問題点があった。
【0014】
本発明は、発生符号量の多いフレームの直後でもフレーム間隔が大きくなり過ぎてしまうことがなく、動き補償の効率向上、符号化画像の主観品質の向上を図ることができる動画像符号化装置を提供することを目的とする。
【0015】
【発明を解決するための手段】
上記の課題を解決するため、本発明に係る動画像符号化装置は、フレーム単位で入力される動画像信号を圧縮符号化して圧縮動画像符号列を出力する圧縮符号化手段と、圧縮動画像符号列のビットレートが指定された値になるように圧縮符号化手段における符号化パラメータを決定するレート制御手段と、符号化に先立って指定されたビットレート、画像サイズ、フレームレート等の符号化パラメータで圧縮符号化が可能か否か判定して判定結果を出力する手段を有することを特徴とする。
【0016】
このように符号化に先立って指定したビットレート、画像サイズ、目標フレームレート等の符号化パラメータで動画像の圧縮符号化を行うことが可能か否かを判定するため、符号化により得られた動画像符号列が指定されたビットレートを大幅に上回ったり、発生符号量の多いフレームの後で符号化フレームの間隔が大きくなり過ぎるという問題が解決される。
【0017】
また、符号化に先立って指定されたビットレート、画像サイズ、フレームレート等の符号化パラメータで圧縮符号化が可能か否か判定して判定結果を出力すると共に、圧縮符号化が不可能と判定された場合には符号化が可能となるように符号化パラメータを修正し、該修正した符号化パラメータを圧縮符号化手段に供給することを特徴とする。
【0018】
このように指定した画像サイズ、目標フレームレート等が不適切な値であった場合に、これらを自動的に修正することにより、不適切な値を指定してしまった場合、あるいは、適切な値がわからない場合にも、指定したビットレートに適した符号化パラメータを用いて符号化を行うことができ、不適切な符号化パラメータを用いて符号化を行うことによる画質劣化が防止される。
【0019】
また、レート制御手段は、圧縮動画像符号列を入力して符号化パラメータに含まれるビットレートに従って定められたビット数の符号を出力する仮想バッファを有し、圧縮符号化手段におけるステップサイズと該圧縮符号化手段が圧縮符号化を行うフレームの間隔を該仮想バッファの占有量を用いて決定することを特徴とする。
【0020】
この場合、圧縮符号化手段が圧縮符号化を行うフレームの間隔の最大値および最小値の少なくとも一方を指定された符号化パラメータを基に決定することが望ましい。
【0021】
本発明に係る他の動画像符号化装置は、フレーム単位で入力される動画像信号をフレーム内予測のみを用いて圧縮符号化するイントラフレームとフレーム間予測を用いて圧縮符号化するインターフレームとを周期的に選択して用いつつ圧縮符号化して圧縮動画像符号列を出力する圧縮符号化手段と、仮想的に圧縮動画像符号列を入力し、該圧縮動画像符号列のビットレートによって定められたビット数の符号を出力してバッファ占有量を計数する仮想バッファ手段と、このバッファ占有量を用いて圧縮符号化手段における符号化パラメータを決定すると共に、イントラフレームとその直後のフレームのフレーム間隔をその直前のフレームのフレーム間隔と同一にする制御を行うレート制御手段とを有することを特徴とする。
【0022】
さらに、本発明に係る別の動画像符号化装置は、フレーム単位で入力される動画像信号をフレーム内予測のみを用いて圧縮符号化するイントラフレームとフレーム間予測を用いて圧縮符号化するインターフレームとを周期的に選択して用いつつ圧縮符号化して圧縮動画像符号列を出力する圧縮符号化手段と、仮想的に圧縮動画像符号列を入力し、該圧縮動画像符号列のビットレートによって定められたビット数の符号を出力してバッファ占有量を計数する仮想バッファ手段と、このバッファ占有量を用いて圧縮符号化手段におけるステップサイズ、圧縮符号化を行うフレームの時間間隔を含む符号化パラメータを決定すると共に、少なくとも前記イントラフレームとインターフレームのそれぞれに割り当てる発生符号量、前記仮想バッファ手段のバッファ量、およびフレーム間隔を少なくとも既に符号化したイントラフレームとインターフレームの発生符号量の比率およびフレーム間隔から決定するレート制御手段とを有することを特徴とする。
【0023】
このように、次に符号化するフレームまでの時間間隔の最大値を指定したビットレート、画像サイズ等によって決定するため、従来の動画像符号化装置のようにフレーム間隔が大きくなり過ぎて動き補償の効率が低下したり、符号化画像の主観品質が低下するなどの問題が回避され、さらにランダムアクセスなどのために周期的にイントラフレームを用いて圧縮符号化を行う場合に、イントラフレームとそれ以外のフレームのフレーム間隔が等しくなるようにフレーム間隔、割り当て符号量、目標フレームレート等を制御する処理を行うことにより、イントラフレームの後に大きなフレームスキップを生じ、イントラフレームとそれ以外のフレームでフレーム間隔が不均衡になるという問題も解決される。
【0024】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態を説明する。
図1は、本発明の一実施形態に係る動画像符号化装置の第1の実施形態を示すブロック図である。本実施形態の動画像符号化装置は、動き補償適応予測と直交符号化の一種である離散コサイン変換(DCT)符号化を用いた動画像圧縮符号化装置の例である。動き補償適応予測・離散コサイン変換符号化方式については前述の文献1等に詳しいので、動作の概略のみを説明し、従来方式との差異を詳細に説明する。
【0025】
図1において、フレーム単位で入力される符号化対象の入力動画像信号131は、まずマクロブロック等の小領域単位で動き補償適応予測が行われる。すなわち、動き補償適応予測器101において、入力動画像信号131とフレームメモリ102中に蓄えられている既に符号化/局部復号化が行われた画像信号との間の動きベクトルが検出され、この動きベクトルに基づいて動き補償予測により予測信号132が作成される。動き補償予測器101においては、動き補償予測符号化と、入力動画像信号131をそのまま符号化するフレーム内符号化(予測信号=0)のうち、符号化に用いて好適な方の予測モードが選択され、この予測モードに対応する予測信号132が出力される。
【0026】
予測信号132は減算器103に入力され、入力動画像信号131から予測信号132が減算されることによって予測残差信号133が出力される。予測残差信号133は、離散コサイン変換器104において一定の大きさのブロック単位で離散コサイン変換(DCT)され、DCT係数が生成される。このDCT係数は量子化器105で量子化される。
【0027】
量子化器105からの量子化されたDCT係数データは二分岐され、一方は第1の可変長符号化器106で可変長符号化され、他方は逆量子化器107で逆量子化された後、逆離散コサイン変換器108で逆離散コサイン変換(逆DCT)される。逆離散コサイン変換器108からの出力は加算器109において予測信号132と加算され、局部復号信号が生成される。この局部復号信号は、フレームメモリ102に記憶される。
【0028】
一方、動き補償適応予測器101において決定された予測モードおよび動きベクトル情報135は、第2の可変長符号化器101で可変長符号化される。この際、動きベクトルは隣接の既に符号化された動きベクトルから予測動きベクトルを求め、その予測動きベクトルとの差分を取って可変長符号化する。
【0029】
第1、第2の可変長符号化器106、110から出力される可変長符号(圧縮符号)は、多重化器111において多重化され、出力符号列201となる。
【0030】
量子化器105における量子化ステップサイズ(QP)、および次のフレームを符号化するまでの時間間隔は、指定符号化パラメータ判定器119から送られたビットレート、画像サイズ、目標フレームレート等の符号化パラメータを示す情報212を基にレート制御器118で決定される。
【0031】
指定符号化パラメータ判定器119では、ビットレート、画像サイズ、目標フレームレート等の符号化パラメータを指定する情報210を入力し、これらの符号化パラメータが適正な値か否かを判定する。符号化パラメータが適正な値と判定された場合には、指定された情報210をそのまま情報212としてレート制御器118に出力し、適正な値でないと判定された場合には、その旨を示す情報211を出力すると共に、必要に応じて符号化パラメータを指定する情報210を修正し、修正後の符号化パラメータを示す情報212としてレート制御器118に出力する。
【0032】
図2は、この指定符号化パラメータ判定器119での判定に用いるデータの一例を示した図である。図の横軸がビットレート、縦軸が目標フレームレートを示し、指定したビットレートに対して符号化に好適な目標フレームレートが画像サイズ毎に定められている。
【0033】
以下、この判定の手順の例を説明する。
[例1]ビットレートと画像サイズを指定し、目標フレームレートを自動的に設定する例
指定されたビットレートがBR1、画像サイズがQCIF(176×144画素)の場合、図2のデータはフレームレートをFR1にするのが適正であることを示している。このため、目標フレームレートがFR1であることを示す信号212を他の指定情報と合わせてレート制御器に出力する。
【0034】
[例2]ビットレートのみ指定し画像サイズと目標フレームレートを自動的に設定する例
指定されたビットレートがBR2の場合、適正な画像サイズとフレームレートは、画像サイズがCIF(352×288画素)でフレームレートがFR2、ないしは、画像サイズがQCIF(176×144画素)でフレームレートがFR3である。この場合、この2組の画像サイズ、フレームレートを示す信号211を出力して再度パラメータ指定を行うようにしてもよいし、どちらか一方の組を選択して選択された画像サイズ、フレームレートを示す信号212を出力して符号化を行うようにしてもよい。
【0035】
[例3]ビットレート、画像サイズ、目標フレームレートを指定する例
入力されたビットレート、画像サイズ、目標フレームレートと図2のデータを照合し、符号化に適正な指定か判定を行う。例えば、指定されたビットレートがFR1、画像サイズがQCIFの場合、適正なフレームレートはFR1と考えられる。もし指定された目標フレームレートがこれから大幅に外れた値であった場合には、符号化に適さないと判定された旨を示す信号211を出力する。あるいは、信号211を出力すると共に、目標フレームレートをFR1に修正して符号化を行っても良い。
【0036】
上記の例において、指定されたビットレートがFR3のように対応する画像サイズ、目標フレームレートが無く、この動画像符号化装置では符号化不可能、ないしは、無理に符号化を行っても十分な品質が得られないと判断される値であった場合には、その旨を示す信号211を出力してもよい。
【0037】
レート制御器118では、判定器119で決定されたビットレート、画像サイズ、フレームレート等を示す信号211をもとに符号化を行う。
【0038】
図3は、レート制御の動作を説明するための図である。同図のように、圧縮符号列210を入力とし、符号化ビットレートに従って定められた単位時間当たり一定の符号量(ビット数)の符号を出力する仮想的なバッファを用い、仮想バッファが蓄積する符号量(バッファ量)に応じてステップサイズ(QP)を決定する。発生符号量が大きく、仮想バッファのバッファ量が多くなった場合はQPを大きくし、発生符号量が少なくなるようにする。逆に発生符号量が少なく、バッファ量が少なくなった場合にはQPを小さくし、発生符号量が多くなるようにする。
【0039】
次に、本実施形態におけるレート制御の具体的な処理手順についてフローチャートを用いて説明する。
図4のフローチャートを用いて、第1のレート制御処理を説明する。前述のように、符号化に先立って指定符号化パラメータ判定器119において指定されたビットレート、画像サイズ、フレームレート等の符号化パラメータが適正か否かを判定し、必要に応じて修正する処理を行う(ステップ301)。ここで決定された符号化パラメータを基に、各フレームの符号化処理を行っていく。
【0040】
まず、現在のバッファ量を基に次式に従ってステップサイズ(QP)を決定する(ステップ302)。
QP=現バッファ量×(QP最大値−QP最小値+1))/バッファサイズ+QP最小値)
次に、このステップサイズQPに従って1フレーム符号化を行う(ステップ303)。この1フレーム符号化の終了後、次式に従ってバッファ容量を更新する(ステップ304)。
バッファ量=前フレームバッファ量+現フレーム発生符号量−ビットレート×フレーム間隔
以下、上述したステップ302〜304の処理を繰り返して動画像符号化を行ってゆく。
【0041】
この例では、ステップサイズのみをバッファ容量に従ってフレーム毎に変化させ、フレーム間隔は判定器119で決定された値を用いる例を示したが、フレーム間隔も各符号化フレーム毎に変化させるようにしても良い。
【0042】
図5に示すフローチャートは、このような処理を行う第2のレート制御処理を示している。以下、第1のレート制御処理との相違点のみを説明する。
【0043】
図5において、ステップ401〜403は図4のステップ301〜303の処理と同様である。このレート制御処理では1フレーム符号化(ステップ403)の終了後、バッファ容量を基に以下の手順でフレーム間隔とステップサイズを決定する。
【0044】
まず、フレーム間隔の初期値を指定された値、あるいは判定器119で決定された値に設定する(ステップ404)。次に、この初期フレーム間隔に従って、バッファ容量を更新する(ステップ405)。更新されたバッファ容量を予め定められたしきい値を比較し(ステップ406)、バッファ容量がしきい値を越えた場合にはフレーム間隔を次式に従って変更する(ステップ407)。
フレーム間隔=初期フレーム間隔+(バッファ容量―しきい値)/ビットレート
変更されたフレーム間隔と予め定められた最大フレーム間隔を比較し(ステップ408)、もし最大フレーム間隔以上だったならば、フレーム間隔を最大フレーム間隔に設定する(ステップ409)。ステップ407〜409に従って決定されたフレーム間隔を基に再度バッファ容量を計算し(ステップ410)、次のフレームの処理に移る。
【0045】
ここで、最大フレーム間隔は判断器119で指定されたビットレート、画面サイズ、フレームレートから決定するようにしてもよい。例えば、目標フレームレートを基に以下のような計算式を用いて求めてもよい。
最大フレーム間隔=(1/目標フレームレート)×α
αは予め定めた定数
また、図6のような指定ビットレート、画面サイズと最大フレームレートの関係を示すデータを用いて最大フレーム間隔を決定してもよい。例えば、ビットレートがBR1、画像サイズがSQCIFの場合、最大フレーム間隔はFI1にする。また、ビットレートがBR2の場合、画像サイズがQCIFならば最大フレーム間隔をFI2に、画像サイズがCIFならば最大フレーム間隔をFI3にする。
【0046】
図4および図5におけるステップサイズ決定ステップ302,402におけるステップサイズQPの最大値および最小値は、量子化器がとり得る最大、最小の値としてもよいが、判断器119で指定されたビットレート、画面サイズ、フレームレートから決定するようにしてもよい。
【0047】
図7および図8に示すフローチャートは、本実施形態における第3および第4のレート制御処理を示している。これらのレート制御処理は、図5で説明したレート制御処理と同様に仮想バッファのバッファ量を基にステップサイズやフレーム間隔を決定するが、ランダムアクセスやエラー耐性処理のために周期的にフレーム内符号化フレーム(イントラフレーム、Iフレーム、Iピクチャ、I−VOPともいう)を用いるための処理が加わっている点が異なる。
【0048】
図9は、イントラフレームを周期的に用いた場合に、図7や図8のレート制御処理を行わない場合の仮想バッファのバッファ量の推移とフレーム間隔を示した図で、横軸が符号化フレームの時刻、縦軸がバッファ量をそれぞれ表している。動き補償予測を行わず、フレーム内符号化のみを用いるイントラフレーム(Iフレーム)901は、それ以外のフレーム(インターフレーム)に比べ発生符号量が大きいため、イントラフレーム符号化直後はバッファ量が非常に多くなる。このため、フレームスキップを行って次に符号化を行うフレームまでのフレーム間隔を大きくとり(902)、バッファ量を減らす必要がある。このため、イントラフレームとインターフレームでフレーム間隔が大きく異なることになり、符号化画像の品質が低下する。図7および図8のレート制御処理では、このような現象を防ぐため、イントラフレーム符号化後に特別な処理を追加している。
【0049】
図7のレート制御処理では、まずレート制御処理で決定した入力画像フレームの時刻(指定時刻)と、実際に入力された画像フレームの時刻(入力時刻)との間にずれがあった場合に、仮想バッファのバッファ量を修正する処理を行う(ステップ702)。これは、キャプチャボード等のビデオ入力回路からリアルタイムに動画像を入力しながら画像符号化処理を行う際、ビデオ入力回路の処理遅延により指定した時刻より後のフレームが入力された場合に、これを修正する処理である。
【0050】
次に、仮想バッファのバッファ量を基にステップサイズ(QP)を決定し(ステップ703)、1フレーム符号化する(ステップ704)。
【0051】
次に、符号化したフレームがイントラフレームかどうかを判定し(ステップ705)、イントラフレームならばステップ721〜722の処理、イントラフレームでなければステップ706〜710の処理をそれぞれ行う。
【0052】
イントラフレームでなかった場合、まず指定フレームレートを基に仮のフレームレートを決定し(ステップ706)、仮バッファ量を計算する(ステップ707)。バッファ量の計算はステップ725に示す式に基づいて行う。次に、仮バッファ量がしきい値以下か判定し(ステップ708)、もししきい値以下ならばステップ706、707で求めたフレームレート、バッファ量を用いて次のフレームの処理に移る。もしバッファ量がしきい値を超えていたら、フレーム間隔を更新し(ステップ709)、さらにバッファ量を更新して(ステップ710)、次のフレームの処理に移る。
【0053】
ステップ705でイントラフレームと判定された場合は、フレーム間隔を直前のフレームと同一のフレーム間隔に設定する(ステップ721)。これは、発生符号量が多いイントラフレームでインターフレームと同様にバッファ容量を基にフレーム間隔を計算してしまうと、フレーム間隔が非常に大きくなってしまうためである。
【0054】
図8のレート制御処理は、図7のレート制御処理とイントラフレームの後の処理が異なる。図7のレート制御処理と同一の処理に同一の記号を付して、その差違のみを説明する。
【0055】
イントラフレームの後ではフレーム間隔を直前のフレームと同一にし(ステップ721)、バッファ量を更新する(ステップ722)。次に、バッファ量がしきい値以下か判定し(ステップ731)、もししきい値以下ならば次のフレームの処理に移る。バッファ量がしきい値以上だった場合は、以下の(1)〜(2)のように、割り当てビットレートや目標フレームレートを変更する(ステップ732)。
【0056】
(1) 既に符号化したイントラフレームとインターフレームの発生符号量の比率に応じて、イントラフレームとインターフレームそれぞれのバッファ量更新ステップ725に用いるビットレート、およびフレームスキップ判定ステップ708および731におけるしきい値を変える。
【0057】
(2) (1)で決定したイントラフレームとインターフレームのビットレート、フレームスキップ判定しきい値を基に、ステップ706で用いるインターフレームの目標フレームレートを決定する。
【0058】
図10は、図8のレート制御処理を行った場合のバッファ量の推移を表す図である。上記(1)の処理により、イントラフレームのフレームスキップしきい値がインターフレームに比べ大きくなり、イントラフレーム後のフレームスキップが起こりにくくなる。また、上記(2)の処理でインターフレームのフレーム間隔がイントラフレーム後のフレーム間隔と合うように目標フレームレートを変更する。このため、イントラフレームとインターフレームのフレーム間隔はほぼ同じになり、イントラフレームだけ大きなフレームスキップが生じて符号化画像の主観品質が低下する問題が解決する。
【0059】
なお、上記(1)の処理において、イントラフレームとインターフレームに割り当てられるビットレートの比が大きくなり過ぎないように、制限を加えても良い。例えば、この比が予め定められたしきい値を越えたときは、(1)で計算した比をこのしきい値の値に修正するようにしても良い。あるいは、インターフレームへの割り当てビットレートが予め定められた値以上になるように制限をしても良い。
【0060】
【発明の効果】
以上説明したように、本発明に係る動画像符号化装置は、レート制御手段において、符号化に先立って指定したビットレート、画像サイズ、目標フレームレート等の符号化パラメータで動画像の圧縮符号化を行うことが可能か否かを判定するため、符号化により得られた動画像符号列が指定されたビットレートを大幅に上回ったり、発生符号量の多いフレームの後で符号化フレームの間隔が大きくなり過ぎる、といった従来の動画像符号化装置の問題を解決することができる。
【0061】
また、指定した画像サイズ、目標フレームレート等が不適切な値であった場合に、これらを自動的に修正する機能を有するため、不適切な値を指定してしまった場合、あるいは、適切な値がわからない場合にも、指定したビットレートに適した符号化パラメータを用いて符号化を行うことができ、不適切な符号化パラメータを用いて符号化を行うことによる画質劣化を防ぐことができる。
【0062】
また、次に符号化するフレームまでの時間間隔の最大値を指定したビットレート、画像サイズ等によって決定するため、従来の動画像符号化装置のようにフレーム間隔が大きくなり過ぎて動き補償の効率が低下したり、符号化画像の主観品質が低下するなどの問題が回避される。
【0063】
さらに、ランダムアクセスなどのために周期的にイントラフレームを用いた符号化方式において、イントラフレームとそれ以外のフレームのフレーム間隔が等しくなるようにフレーム間隔、割り当て符号量、目標フレームレート等を制御する処理を行うため、イントラフレームの後に大きなフレームスキップを生じ、イントラフレームとそれ以外のフレームでフレーム間隔が不均衡になるという問題も解決される。
【図面の簡単な説明】
【図1】 本発明の一実施形態に係る動画像符号化装置の構成を示すブロック図
【図2】 同実施形態における指定されたビットレート、画像サイズ等の適正を判定するデータの例を示す図
【図3】 同実施形態におけるレート制御の動作を説明する図
【図4】 同実施形態におけるレート制御処理の第1の例の流れを示すフローチャート
【図5】 同実施形態におけるレート制御処理の第2の例の流れを示すフローチャート
【図6】 ビットレートと最大フレーム間隔の関係を示す図
【図7】 同実施形態におけるレート制御処理の第3の例の流れを示すフローチャート
【図8】 同実施形態におけるレート制御処理の第4の例の流れを示すフローチャート
【図9】 仮想バッファのバッファ量の推移を表す図
【図10】 第3の例のレート制御を用いたときの仮想バッファのバッファ量の推移を表す図
【符号の説明】
101…動き補償適応予測器
102…フレームメモリ
104…離散コサイン変換器
105…量子化器
107…逆量子化器
108…逆離散コサイン変換器
111…多重化器
106、110…可変長符号化器
118…レート制御器
119…指定符号化パラメータ適正判定器
131…入力画像
201…圧縮動画像符号列[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a moving image encoding apparatus, and more particularly to an apparatus / system for transmitting and storing moving image signals, such as an Internet / intranet moving image broadcasting system, a videophone, a video conference system, a portable information terminal, and a digital video disk system. The present invention relates to an apparatus for compressing and encoding a moving image with a small amount of information.
[0002]
[Prior art]
Techniques for compression coding to reduce the amount of information to transmit and store image signals include discrete cosine transform coding, subband coding, wavelet coding, pyramid coding, variable length coding, and other methods. Various methods such as a combination method have been developed. Further, as international standard systems for compression coding of image signals, ISO / JPEG is used for still image coding, ISO / MPEG1, MPEG2, ITU-T / H. 261, H.M. 262, H.C. H.263 is defined.
[0003]
These are all systems using cosine transform coding, and are described in detail in Reference 1: edited by Hiroshi Yasuda, "International Standard for Multimedia Coding", Maruzen (June 1991), etc. .
[0004]
When a compressed video signal is transmitted / recorded on a transmission medium with a prescribed transmission bit rate or a storage medium with a predetermined recording capacity, a compressed video code string is designated in the video encoding device. A process called rate control is performed to control the encoding parameter so that the bit rate is obtained.
[0005]
Hereinafter, an example of rate control that has been conventionally used will be described. In this example, a step size, a frame to be encoded next, and the like are determined using a virtual buffer. When the virtual buffer is full, the interval between images to be encoded next is increased and the step size is increased.
[0006]
The first frame (also referred to as a picture or VOP) encoded by intra-frame encoding (intra) is encoded with a step size (QP) = 16. After encoding the first frame, the buffer amount is set to the value of the following equation (1).
[0007]
[Expression 1]
Figure 0003779066
In subsequent frames, the step size is determined by using the following equation (2) in each macroblock (the first macroblock on the macroblock line) at the left end of the screen.
[0008]
[Expression 2]
Figure 0003779066
The first and second terms of Equation (2) are fixed for all macroblocks in the frame, and the third term is a parameter for correcting the step size for each macroblock.
[0009]
After each frame encoding is completed, the buffer amount (buffer_content) of the virtual buffer is updated as in the following equation (3).
[0010]
[Equation 3]
Figure 0003779066
Further, the target frame rate and the target number of bits per frame are updated according to the following equation (4).
[0011]
[Expression 4]
Figure 0003779066
In such conventional rate control, the interval (frame_incr) until the next frame to be encoded is equal to or less than the value (3R / FR in the above example) in which the buffer amount (buffer_content) is specified as shown in Equation (3). Decrease while increasing until For this reason, the larger the generated code amount of the frame, the larger the frame interval to the next frame to be encoded.
[0012]
This frame interval becomes too large in a frame where intra coding is performed or a frame where there is a large movement or scene change. When the frame interval becomes too large, not only the visual quality of the encoded image is deteriorated but also the efficiency of motion compensation is reduced, so that the encoding efficiency is lowered and the image quality is deteriorated.
[0013]
[Problems to be solved by the invention]
As described above, in the rate control method used in the conventional moving image encoding apparatus, the frame interval becomes too large immediately after a frame with a large amount of generated code, so that the efficiency of motion compensation is reduced and encoding is performed. There was a problem that the subjective quality of the image was lowered.
[0014]
The present invention provides a moving image coding apparatus capable of improving the efficiency of motion compensation and improving the subjective quality of a coded image without the frame interval becoming too large immediately after a frame having a large amount of generated code. The purpose is to provide.
[0015]
[Means for Solving the Invention]
In order to solve the above-described problem, a moving image encoding apparatus according to the present invention includes a compression encoding unit that compresses and encodes a moving image signal input in units of frames and outputs a compressed moving image code string, and a compressed moving image. Rate control means for determining encoding parameters in the compression encoding means so that the bit rate of the code string becomes a specified value, and encoding such as the bit rate, image size, frame rate, etc. specified prior to encoding It has a means for determining whether or not compression encoding is possible with a parameter and outputting a determination result.
[0016]
In this way, it was obtained by encoding to determine whether or not it is possible to perform compression encoding of a moving image with encoding parameters such as a bit rate, image size, target frame rate, etc. specified prior to encoding. The problem that the moving image code string greatly exceeds the specified bit rate or the interval between the encoded frames becomes too large after a frame with a large amount of generated codes is solved.
[0017]
Also, prior to encoding, it is determined whether or not compression encoding is possible with encoding parameters such as a specified bit rate, image size, and frame rate, and a determination result is output, and determination that compression encoding is impossible In such a case, the encoding parameter is corrected so that encoding is possible, and the corrected encoding parameter is supplied to the compression encoding means.
[0018]
When the specified image size, target frame rate, etc. are inappropriate values, if these values are automatically corrected to specify inappropriate values, or appropriate values Even when the user does not know, encoding can be performed using an encoding parameter suitable for the designated bit rate, and image quality deterioration due to encoding using an inappropriate encoding parameter can be prevented.
[0019]
The rate control means has a virtual buffer for inputting a compressed video code string and outputting a code having a number of bits determined according to the bit rate included in the encoding parameter. The compression encoding means determines an interval between frames for compression encoding using the occupation amount of the virtual buffer.
[0020]
In this case, it is desirable that the compression encoding means determines at least one of the maximum value and the minimum value of the interval between frames for compression encoding based on the specified encoding parameter.
[0021]
Another moving image encoding apparatus according to the present invention includes an intra frame that compresses and encodes a moving image signal input in units of frames using only intra-frame prediction, and an inter frame that compresses and encodes using inter-frame prediction. A compression coding means for outputting a compressed video code string by compressing and encoding while periodically selecting and using, and a virtual compressed video code string is input and determined by the bit rate of the compressed video code string Virtual buffer means for outputting the code of the number of bits obtained and counting the buffer occupancy, determining the encoding parameter in the compression coder using this buffer occupancy, and the frame of the intra frame and the immediately following frame And rate control means for performing control to make the interval equal to the frame interval of the immediately preceding frame.
[0022]
Furthermore, another moving image encoding apparatus according to the present invention includes an intra frame that compresses and encodes a moving image signal input in units of frames using only intra-frame prediction, and an inter-frame that performs compression encoding using inter-frame prediction. A compression encoding means for outputting a compressed video code string by compressing and encoding while periodically selecting and using a frame; and a bit rate of the compressed video code string by virtually inputting the compressed video code string A virtual buffer means for outputting the code of the number of bits determined by the above and counting the buffer occupancy, and a code including the step size in the compression coder using this buffer occupancy and the time interval of the frame for compression encoding And determining at least the generated code amount allocated to each of the intra frame and the inter frame, and the virtual buffer Characterized in that it has a buffer amount, and a rate control means for determining a frame interval from the at least already ratio and frame interval of the amount of codes generated in the intra-frame and inter frame coding.
[0023]
In this way, since the maximum value of the time interval until the next frame to be encoded is determined by the designated bit rate, image size, etc., the frame interval becomes too large as in the case of a conventional video encoding device, and motion compensation is performed. Intra-frames and their performance can be avoided when compression encoding is performed periodically using intra-frames for random access, etc. By performing processing to control the frame interval, allocated code amount, target frame rate, etc. so that the frame intervals of other frames are equal, a large frame skip occurs after the intra frame, and the intra frame and other frames The problem of unbalanced spacing is also solved.
[0024]
DETAILED DESCRIPTION OF THE INVENTION
Embodiments of the present invention will be described below with reference to the drawings.
FIG. 1 is a block diagram showing a first embodiment of a video encoding apparatus according to an embodiment of the present invention. The moving picture coding apparatus according to the present embodiment is an example of a moving picture compression coding apparatus that uses discrete cosine transform (DCT) coding, which is a kind of motion compensated adaptive prediction and orthogonal coding. Since the motion compensation adaptive prediction / discrete cosine transform coding method is detailed in the above-mentioned document 1 and the like, only the outline of the operation will be described, and the difference from the conventional method will be described in detail.
[0025]
In FIG. 1, an input moving image signal 131 to be encoded input in units of frames is first subjected to motion compensation adaptive prediction in units of small regions such as macroblocks. That is, the motion compensated adaptive predictor 101 detects a motion vector between the input moving image signal 131 and the image signal that has been stored in the frame memory 102 and has already been encoded / locally decoded. A prediction signal 132 is generated by motion compensation prediction based on the vector. In the motion compensated predictor 101, a prediction mode which is suitable for encoding is selected from among motion compensation predictive coding and intraframe coding (predictive signal = 0) in which the input moving image signal 131 is coded as it is. The prediction signal 132 corresponding to this prediction mode is output.
[0026]
The prediction signal 132 is input to the subtractor 103, and the prediction residual signal 133 is output by subtracting the prediction signal 132 from the input moving image signal 131. The prediction residual signal 133 is subjected to discrete cosine transform (DCT) in units of blocks having a certain size in the discrete cosine transformer 104, and DCT coefficients are generated. This DCT coefficient is quantized by the quantizer 105.
[0027]
The quantized DCT coefficient data from the quantizer 105 is bifurcated, one of which is variable length encoded by the first variable length encoder 106 and the other is dequantized by the inverse quantizer 107. The inverse discrete cosine transformer 108 performs inverse discrete cosine transform (inverse DCT). The output from the inverse discrete cosine transformer 108 is added to the prediction signal 132 in the adder 109 to generate a local decoded signal. This locally decoded signal is stored in the frame memory 102.
[0028]
On the other hand, the prediction mode and motion vector information 135 determined by the motion compensated adaptive predictor 101 are variable length encoded by the second variable length encoder 101. At this time, as the motion vector, a predicted motion vector is obtained from the adjacent already-encoded motion vector, and a difference from the predicted motion vector is obtained and variable length coding is performed.
[0029]
The variable length codes (compression codes) output from the first and second variable length encoders 106 and 110 are multiplexed by the multiplexer 111 to become an output code string 201.
[0030]
The quantization step size (QP) in the quantizer 105 and the time interval until the next frame is encoded are the codes such as the bit rate, the image size, and the target frame rate sent from the designated encoding parameter determination unit 119. It is determined by the rate controller 118 based on the information 212 indicating the conversion parameter.
[0031]
The designated coding parameter determiner 119 receives information 210 for designating coding parameters such as a bit rate, an image size, and a target frame rate, and determines whether or not these coding parameters are appropriate values. When it is determined that the encoding parameter is an appropriate value, the designated information 210 is output as it is to the rate controller 118 as information 212, and when it is determined that the encoding parameter is not an appropriate value, information indicating that fact. 211 is output, information 210 for specifying the encoding parameter is corrected as necessary, and output to the rate controller 118 as information 212 indicating the corrected encoding parameter.
[0032]
FIG. 2 is a diagram showing an example of data used for determination by the designated encoding parameter determination unit 119. In the figure, the horizontal axis indicates the bit rate, the vertical axis indicates the target frame rate, and a target frame rate suitable for encoding is determined for each image size with respect to the designated bit rate.
[0033]
Hereinafter, an example of this determination procedure will be described.
[Example 1] Example of specifying the bit rate and image size and automatically setting the target frame rate
When the specified bit rate is BR1 and the image size is QCIF (176 × 144 pixels), the data in FIG. 2 indicates that it is appropriate to set the frame rate to FR1. Therefore, a signal 212 indicating that the target frame rate is FR1 is output to the rate controller together with other designation information.
[0034]
[Example 2] Example of specifying only the bit rate and automatically setting the image size and target frame rate
When the specified bit rate is BR2, the appropriate image size and frame rate are the frame size when the image size is CIF (352 × 288 pixels) and the frame rate is FR2, or the image size is QCIF (176 × 144 pixels). Is FR3. In this case, the signal 211 indicating these two sets of image size and frame rate may be output and parameter specification may be performed again, or one of the sets may be selected to select the selected image size and frame rate. The signal 212 shown may be output for encoding.
[0035]
[Example 3] Example of specifying the bit rate, image size, and target frame rate
The input bit rate, image size, and target frame rate are collated with the data shown in FIG. 2, and it is determined whether the designation is appropriate for encoding. For example, when the designated bit rate is FR1 and the image size is QCIF, the proper frame rate is considered to be FR1. If the designated target frame rate is a value significantly deviating from this, a signal 211 indicating that it is determined that the target frame rate is not suitable for encoding is output. Alternatively, encoding may be performed while outputting the signal 211 and correcting the target frame rate to FR1.
[0036]
In the above example, there is no image size and target frame rate corresponding to the designated bit rate as in FR3, and this video encoding device cannot encode or is sufficient to perform encoding forcibly. If the value is determined to be incapable of quality, a signal 211 indicating that may be output.
[0037]
The rate controller 118 receives a signal 211 indicating the bit rate, image size, frame rate, etc. determined by the determiner 119. Originally Encoding is performed.
[0038]
FIG. 3 is a diagram for explaining the rate control operation. As shown in the figure, the virtual code is stored using a virtual buffer that receives the compression code string 210 and outputs a code having a constant code amount (number of bits) per unit time determined according to the encoding bit rate. The step size (QP) is determined according to the code amount (buffer amount). When the generated code amount is large and the buffer amount of the virtual buffer is increased, the QP is increased so that the generated code amount is decreased. Conversely, when the generated code amount is small and the buffer amount is small, the QP is decreased so that the generated code amount is increased.
[0039]
Next, a specific processing procedure of rate control in the present embodiment will be described using a flowchart.
The first rate control process will be described using the flowchart of FIG. As described above, the process of determining whether or not the encoding parameters such as the bit rate, the image size, and the frame rate specified by the specified encoding parameter determination unit 119 are appropriate prior to encoding, and correcting as necessary. (Step 301). Based on the encoding parameters determined here, encoding processing of each frame is performed.
[0040]
First, a step size (QP) is determined according to the following equation based on the current buffer amount (step 302).
QP = current buffer amount × (QP maximum value−QP minimum value + 1)) / buffer size + QP minimum value)
Next, one frame encoding is performed according to the step size QP (step 303). After this one-frame encoding is completed, the buffer capacity is updated according to the following equation (step 304).
Buffer amount = previous frame buffer amount + current frame generated code amount-bit rate x frame interval
Hereinafter, the process of steps 302 to 304 described above is repeated to perform moving image encoding.
[0041]
In this example, only the step size is changed for each frame according to the buffer capacity, and the frame interval is a value determined by the determiner 119. However, the frame interval is also changed for each encoded frame. Also good.
[0042]
The flowchart shown in FIG. 5 shows a second rate control process for performing such a process. Only the difference from the first rate control process will be described below.
[0043]
In FIG. 5, steps 401 to 403 are the same as the processing of steps 301 to 303 in FIG. In this rate control process, after one frame encoding (step 403) is completed, the frame interval and step size are determined by the following procedure based on the buffer capacity.
[0044]
First, the initial value of the frame interval is set to a designated value or a value determined by the determiner 119 (step 404). Next, the buffer capacity is updated according to the initial frame interval (step 405). The updated buffer capacity is compared with a predetermined threshold (step 406). If the buffer capacity exceeds the threshold, the frame interval is changed according to the following equation (step 407).
Frame interval = initial frame interval + (buffer capacity-threshold) / bit rate
The changed frame interval is compared with a predetermined maximum frame interval (step 408), and if it is equal to or greater than the maximum frame interval, the frame interval is set to the maximum frame interval (step 409). The buffer capacity is calculated again based on the frame interval determined in accordance with steps 407 to 409 (step 410), and the process proceeds to the next frame.
[0045]
Here, the maximum frame interval may be determined from the bit rate, screen size, and frame rate specified by the determiner 119. For example, you may obtain | require using the following calculation formulas based on a target frame rate.
Maximum frame interval = (1 / target frame rate) x α
α is a predetermined constant
Further, the maximum frame interval may be determined using data indicating the relationship between the designated bit rate, the screen size and the maximum frame rate as shown in FIG. For example, when the bit rate is BR1 and the image size is SQCIF, the maximum frame interval is FI1. When the bit rate is BR2, the maximum frame interval is set to FI2 if the image size is QCIF, and the maximum frame interval is set to FI3 if the image size is CIF.
[0046]
The maximum value and the minimum value of the step size QP in the step size determination steps 302 and 402 in FIGS. 4 and 5 may be the maximum and minimum values that the quantizer can take, but the bit rate specified by the determiner 119 It may be determined from the screen size and the frame rate.
[0047]
The flowcharts shown in FIGS. 7 and 8 show the third and fourth rate control processes in the present embodiment. In these rate control processes, the step size and the frame interval are determined based on the buffer amount of the virtual buffer in the same manner as the rate control process described in FIG. The difference is that processing for using an encoded frame (also referred to as an intra frame, an I frame, an I picture, or an I-VOP) is added.
[0048]
FIG. 9 is a diagram showing the transition of the buffer amount of the virtual buffer and the frame interval when the rate control processing of FIG. 7 and FIG. 8 is not performed when the intra frame is periodically used. The frame time and the vertical axis represent the buffer amount. An intra frame (I frame) 901 that uses only intra-frame coding without performing motion compensation prediction has a larger amount of generated code than other frames (inter-frame), so the buffer amount is very large immediately after intra-frame coding. To be more. For this reason, it is necessary to increase the frame interval from the frame skip to the next frame to be encoded (902) to reduce the buffer amount. For this reason, the frame interval is greatly different between the intra frame and the inter frame, and the quality of the encoded image is lowered. In the rate control process of FIGS. 7 and 8, a special process is added after intra-frame coding in order to prevent such a phenomenon.
[0049]
In the rate control process of FIG. 7, when there is a difference between the time of the input image frame (designated time) determined in the rate control process and the time of the actually input image frame (input time), Processing for correcting the buffer amount of the virtual buffer is performed (step 702). This is because when a video after the time specified by the processing delay of the video input circuit is input when image encoding processing is performed while moving images are input in real time from a video input circuit such as a capture board. It is a process to correct.
[0050]
Next, a step size (QP) is determined based on the buffer amount of the virtual buffer (step 703), and one frame is encoded (step 704).
[0051]
Next, it is determined whether or not the encoded frame is an intra frame (step 705). If the frame is an intra frame, the processing of steps 721 to 722 is performed, and if it is not an intra frame, the processing of steps 706 to 710 is performed.
[0052]
If it is not an intra frame, a temporary frame rate is first determined based on the designated frame rate (step 706), and a temporary buffer amount is calculated (step 707). The buffer amount is calculated based on the formula shown in step 725. Next, it is determined whether or not the temporary buffer amount is equal to or smaller than the threshold value (step 708). If the temporary buffer amount is equal to or smaller than the threshold value, the process proceeds to the next frame using the frame rate and buffer amount obtained in steps 706 and 707. If the buffer amount exceeds the threshold value, the frame interval is updated (step 709), the buffer amount is further updated (step 710), and the process moves to the next frame.
[0053]
If it is determined in step 705 that the frame is an intra frame, the frame interval is set to the same frame interval as the immediately preceding frame (step 721). This is because if the frame interval is calculated on the basis of the buffer capacity in the case of an intra frame with a large amount of generated code as in the case of the inter frame, the frame interval becomes very large.
[0054]
The rate control process in FIG. 8 is different from the rate control process in FIG. 7 after the intra frame. The same symbols are attached to the same processes as the rate control process of FIG. 7, and only the differences will be described.
[0055]
After the intra frame, the frame interval is made the same as that of the immediately preceding frame (step 721), and the buffer amount is updated (step 722). Next, it is determined whether or not the buffer amount is equal to or smaller than the threshold value (step 731). If the buffer amount is equal to or larger than the threshold value, the allocated bit rate and the target frame rate are changed as in the following (1) to (2) (step 732).
[0056]
(1) The bit rate used for buffer amount update step 725 for each intra frame and inter frame, and the threshold in frame skip determination steps 708 and 731 according to the ratio of the generated code amount of the intra frame and inter frame that have already been encoded. Change the value.
[0057]
(2) The target frame rate of the inter frame used in step 706 is determined based on the intra frame and inter frame bit rates determined in (1) and the frame skip determination threshold value.
[0058]
FIG. 10 is a diagram illustrating the transition of the buffer amount when the rate control process of FIG. 8 is performed. By the process (1), the frame skip threshold of the intra frame becomes larger than that of the inter frame, and the frame skip after the intra frame hardly occurs. Further, the target frame rate is changed so that the inter-frame frame interval matches the frame interval after the intra frame in the process (2). For this reason, the frame interval of an intra frame and an inter frame becomes substantially the same, and the problem that a large frame skip occurs only for an intra frame and the subjective quality of an encoded image is reduced is solved.
[0059]
In the process (1), a restriction may be added so that the ratio of the bit rate assigned to the intra frame and the inter frame does not become too large. For example, when this ratio exceeds a predetermined threshold value, the ratio calculated in (1) may be corrected to this threshold value. Or you may restrict | limit so that the bit rate allocated to an inter-frame may become more than a predetermined value.
[0060]
【The invention's effect】
As described above, the moving picture coding apparatus according to the present invention is a compression coding of a moving picture using coding parameters such as a bit rate, an image size, and a target frame rate specified prior to coding in the rate control means. In order to determine whether or not it is possible to perform the encoding, the moving image code string obtained by encoding greatly exceeds the specified bit rate, or the encoded frame interval is increased after a frame having a large amount of generated code. It is possible to solve the problem of the conventional video encoding device that becomes too large.
[0061]
In addition, if the specified image size, target frame rate, etc. are inappropriate values, it has a function to automatically correct them, so if an inappropriate value is specified or an appropriate Even when the value is unknown, encoding can be performed using an encoding parameter suitable for a specified bit rate, and deterioration in image quality due to encoding using an inappropriate encoding parameter can be prevented. .
[0062]
In addition, since the maximum value of the time interval until the next frame to be encoded is determined by the designated bit rate, image size, etc., the frame interval becomes too large as in the case of a conventional video encoding device, and the efficiency of motion compensation is increased. Problems such as a decrease in image quality and a decrease in subjective quality of the encoded image can be avoided.
[0063]
In addition, in an encoding scheme that uses intra frames periodically for random access, etc., the frame interval, allocated code amount, target frame rate, etc. are controlled so that the frame intervals of the intra frame and other frames are equal. Since the processing is performed, a large frame skip is caused after the intra frame, and the problem that the frame interval is unbalanced between the intra frame and the other frames is also solved.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a configuration of a moving image encoding apparatus according to an embodiment of the present invention.
FIG. 2 is a view showing an example of data for determining appropriateness of a specified bit rate, image size, etc. in the embodiment;
FIG. 3 is a diagram for explaining the rate control operation in the embodiment;
FIG. 4 is a flowchart showing a flow of a first example of rate control processing in the embodiment;
FIG. 5 is a flowchart showing a flow of a second example of rate control processing in the embodiment;
FIG. 6 is a diagram showing the relationship between the bit rate and the maximum frame interval.
FIG. 7 is a flowchart showing the flow of a third example of rate control processing in the embodiment;
FIG. 8 is a flowchart showing the flow of a fourth example of rate control processing in the embodiment;
FIG. 9 is a diagram showing transition of the buffer amount of the virtual buffer.
FIG. 10 is a diagram illustrating transition of the buffer amount of the virtual buffer when the rate control of the third example is used.
[Explanation of symbols]
101 ... Motion compensated adaptive predictor
102: Frame memory
104: Discrete cosine transformer
105 ... Quantizer
107: Inverse quantizer
108: Inverse discrete cosine transformer
111 ... Multiplexer
106, 110 ... variable length encoder
118 ... Rate controller
119 ... Designated coding parameter appropriateness determiner
131 ... Input image
201: Compressed video code string

Claims (1)

フレーム単位で入力される動画像信号をフレーム内予測のみを用いて圧縮符号化するイントラフレームとフレーム間予測を用いて圧縮符号化するインターフレームとを周期的に選択して用いつつ圧縮符号化して圧縮動画像符号列を出力する圧縮符号化手段と、Compression encoding is performed while periodically selecting and using an intra frame for compressing and encoding a moving image signal input in units of frames using only intra-frame prediction and an inter frame for compression encoding using inter-frame prediction. Compression encoding means for outputting a compressed video code string;
仮想的に入力される圧縮動画像符号列のビットレートによって定められたビット数の符号を出力してバッファ占有量を計数する仮想バッファ手段と、  Virtual buffer means for outputting a code having a number of bits determined by a bit rate of a compressed video code string that is virtually input and counting a buffer occupation amount;
前記バッファ占有量を用いて前記圧縮符号化手段における符号化パラメータを決定すると共に、前記仮想バッファのバッファ量がしきい値を超えた場合に、前記圧縮符号化手段が圧縮符号化を行うフレーム間隔を  A frame interval at which the compression encoding means performs compression encoding when the buffer occupancy amount is used to determine an encoding parameter in the compression encoding means and the buffer amount of the virtual buffer exceeds a threshold value The
フレーム間隔=初期フレーム間隔+(バッファ容量−しきい値)/ビットレート  Frame interval = initial frame interval + (buffer capacity−threshold) / bit rate
に従って変更し、該変更したフレーム間隔が予め定められた最大フレーム間隔以上の場合にフレーム間隔を最大フレーム間隔に設定し、さらに前記イントラフレームとその直後のフレームのフレーム間隔をその直前のフレームのフレーム間隔と同一にする制御を行うレート制御手段とを有することを特徴とする動画像符号化装置。If the changed frame interval is equal to or greater than a predetermined maximum frame interval, the frame interval is set to the maximum frame interval, and the frame interval between the intra frame and the immediately following frame is set to the frame of the immediately preceding frame. A moving picture coding apparatus comprising rate control means for performing control to be equal to the interval.
JP19954098A 1998-06-30 1998-06-30 Video encoding device Expired - Fee Related JP3779066B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP19954098A JP3779066B2 (en) 1998-06-30 1998-06-30 Video encoding device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP19954098A JP3779066B2 (en) 1998-06-30 1998-06-30 Video encoding device

Publications (2)

Publication Number Publication Date
JP2000023155A JP2000023155A (en) 2000-01-21
JP3779066B2 true JP3779066B2 (en) 2006-05-24

Family

ID=16409535

Family Applications (1)

Application Number Title Priority Date Filing Date
JP19954098A Expired - Fee Related JP3779066B2 (en) 1998-06-30 1998-06-30 Video encoding device

Country Status (1)

Country Link
JP (1) JP3779066B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4718736B2 (en) * 2001-09-17 2011-07-06 株式会社東芝 Video encoding device
JP4228271B2 (en) 2002-07-09 2009-02-25 日本電気株式会社 Video data compression apparatus and video data compression method
US20150181208A1 (en) * 2013-12-20 2015-06-25 Qualcomm Incorporated Thermal and power management with video coding

Also Published As

Publication number Publication date
JP2000023155A (en) 2000-01-21

Similar Documents

Publication Publication Date Title
JP5351040B2 (en) Improved video rate control for video coding standards
KR970003789B1 (en) Bit allocation method for controlling bit-rate of video encoder
US6956899B2 (en) Precise bit control apparatus with look-ahead for MPEG encoding
JPH07184196A (en) Image coding device
JP2001169281A (en) Moving picture coding apparatus and moving picture coding method
JP2002051343A (en) Image signal encoding method and image signal encoding device
EP1575294B1 (en) Method and apparatus for improving the average image refresh rate in a compressed video bitstream
JP2004274236A (en) Encoding device and encoding method, program, and recording medium
JP3651706B2 (en) Video encoding device
JP3508916B2 (en) Moving image variable bit rate encoding method and apparatus
JP2005072742A (en) Encoding apparatus and encoding method
JP3173369B2 (en) Image compression coding device
JP3818819B2 (en) Image coding method conversion apparatus, image coding method conversion method, and recording medium
JP3779066B2 (en) Video encoding device
JP2873781B2 (en) Moving image code amount control method and apparatus
JPH07203430A (en) Image coding device
JP4718736B2 (en) Video encoding device
JPH09191458A (en) Moving image compression coding method and its device
JP2005303555A (en) Moving picture coding apparatus and moving picture coding method
JPH07131793A (en) Video signal high efficiency encoder
CN119420922B (en) Video coding method and device
JPH11205803A (en) Encoding device and encoding method
KR20010104058A (en) Adaptive quantizer according to DCT mode in MPEG2 encoder
JP4228739B2 (en) Encoding apparatus, encoding method, program, and recording medium
JP2002354484A (en) Rate transforming method for encoded image and rate transforming apparatus for encoded image

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040907

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041108

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050125

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050328

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20050426

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050623

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20050701

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20060228

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060301

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

Free format text: PAYMENT UNTIL: 20100310

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees