JP4718736B2 - 動画像符号化装置 - Google Patents
動画像符号化装置 Download PDFInfo
- Publication number
- JP4718736B2 JP4718736B2 JP2001282379A JP2001282379A JP4718736B2 JP 4718736 B2 JP4718736 B2 JP 4718736B2 JP 2001282379 A JP2001282379 A JP 2001282379A JP 2001282379 A JP2001282379 A JP 2001282379A JP 4718736 B2 JP4718736 B2 JP 4718736B2
- Authority
- JP
- Japan
- Prior art keywords
- frame rate
- buffer
- encoding
- vop
- frame
- 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
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Description
【発明の属する技術分野】
この発明は、動画像を圧縮したり、圧縮された動画像を伸張するための動画像符号化装置に関し、特に、圧縮された動画像を伸張して鮮明な画像を出力するための動画像符号化装置に関する。
【0002】
【従来の技術】
この発明での動画像符号化装置とは、ITU−T(International Telecommunication Union-Telecommunication sector)勧告のH.26xやISO/IEC(International Standards Organization/International Electrotechnical Commission)標準のMPEG(Moving Picture Experts Group)に代表される動画像符号化方式によって、動画像を符号化するための装置である。すなわち、動画像符号化装置は、動き補償および直交変換(たとえば、離散コサイン変換)等を用いてフレーム単位で符号化を実行する。
【0003】
ITU−T勧告のH.26xやISO/IEC標準のMPEGに代表される動画像符号化方式は、一般に、入力される映像信号に対して空間的および時間的相関関係により圧縮をかける。この圧縮により得られるデータをもとに、所定の順序にしたがってさらに可変長符号化を行い、符号列(ビットストリーム)を生成する。
【0004】
動画像符号化装置は、所定の符号化パラメータにしたがって指定された符号量のビットストリームを出力しなければならない。さらにデコーダ側のバッファにおいて、オーバーフローやアンダーフローが生じないように、エンコーダ側でデコーダ側のバッファの占有量を想定して発生符号量を制御しなくてはならない。このバッファは、VBV(Video Buffering Verifier)バッファと呼ばれる。また、単に仮想バッファと呼ぶこともある。VBVバッファの容量は、MPEG−4ではプロファイルとレベルによって上限値が決まっている。発生符号量は、フレームをマクロブロック(MB:MacroBlock)ごとにDCTが実行された結果得られた離散コサイン変換(DCT:Discrete Cosine Transform)係数を量子化するために使用される量子化スケールにより制御される。一般に、発生符号量と量子化スケールとは反比例の関係にある。この性質を利用して発生符号量を自在に変化させることが可能である。
【0005】
しかし、一般的に量子化スケールには制限があるため、量子化スケールだけで発生符号量を制御することは不可能である。そこで、発生符号量が目標値よりも多い場合は、フレームスキップ数が増やされる。フレームスキップ数を増やすことで、符号化すべきフレームを遅らせ、VBVバッファのアンダーフローをふせぐことができる。また、発生符号量が目標値よりも少ない場合は、スタッフィングが実行される。スタッフィングは、冗長なビットを挿入することで、VBVバッファのオーバーフローをふせぐ。
【0006】
図1は、仮想バッファを制御する従来の方法を示す図であって、時間に対する仮想バッファのバッファ占有量を示す。
フレームスキップの制御方法としては、VBVバッファにある境界値(B(min))を設ける。これを下回る場合(図1に示される時刻t4)はフレームスキップ数を増やし、境界値を越すまでスキップすることでバッファ量を増加させる。
【0007】
【発明が解決しようとする課題】
しかしながら、この方法によると、発生符号量が多い状態が続く場合は、バッファ占有量が少ない状態が続き、バッファ占有量が境界値周辺を上下動する。たとえば、図1に示されている時刻t4と時刻t5のように上下動する。ゆえに、フレームスキップ数を増やしてバッファの回復を行う動作と所定のフレームスキップの動作とが繰り返される。その結果、フレーム間隔が不安定な状態となり見た目にも非常に品質が悪くなる。
【0008】
さらに、画質の向上やエラー耐性、ランダムアクセス性を考慮して、ビットストリーム中にI−VOP(I−VOP:Intra-Video Object Plane)を挿入する場合がある。I−VOPは比較的符号量が多いため、頻繁にI−VOPを挿入すると、VBVバッファがアンダーフロー傾向になる。また、前記境界値周辺でI−VOPを挿入することにより急激にフレームスキップ数が増えるという問題がある。
【0009】
そこで、これら従来における問題に鑑み、この発明の目的は、動画像の見た目の品質を向上させ、スムーズに安定した動画像が再生されることが可能になる動画像符号化装置を提供することである。
【0010】
【課題を解決するための手段】
上記目的を達成するためにこの発明は、復号側でのバッファの占有量を推測するための仮想バッファを参照しながら符号化を実行する動画像符号化装置において、
1画像が画面内符号化されたときの発生符号量を推定する発生符号量推定手段と、
前記1画像分の推定された発生符号量が取り去られたときの前記仮想バッファのバッファ占有量を推定するバッファ占有量推定手段と、
前記仮想バッファのバッファ占有量に対ししきい値を設定し、当該しきい値と1画像が符号化された直後の前記推定されたバッファ占有量とを比較して、当該バッファ占有量が前記しきい値を下回った場合に、フレームレートをバッファ占有量が前記しきい値を下回る前のレートより低いレートに更新するフレームレート更新手段と、
所望のフレームレートを指定するフレームレート指定手段と、
前記推定されたフレームレートと、前記指定されているフレームレ−トとの差が所定値以上か否かを判定するフレームレート判定手段と、
前記判定されたフレームレートの差が所定値未満の場合は画面内符号化を実行し、前記判定されたフレームレートの差が所定値以上である場合は画面間符号化によって符号化を実行するように制御する符号化制御手段と、
を具備することを特徴とするものである。
【0011】
この動画像符号化装置は、I−VOP符号化後の仮想バッファを予測し、その予測値から得られるフレームレートが現在のフレームレートから大きく変動するときは、I−VOPの符号化を行わない。
【0012】
また、仮想バッファに複数の制御ポイントを設け、そのポイントごとに異なるフレームレートを設定するフレームレート更新部を設ける。この複数ポイントごとに設定されたフレームレートをビデオの符号化部に送り、符号化部は指定されたフレームレートにしたがって入力される画像をスキップし、符号化を行う。
【0013】
さらに、仮想バッファのバッファ占有量から所定の時間内に含まれるべきI−VOPの数を制御し、バッファアンダーフローを抑制する。
【0014】
【発明の実施の形態】
以下、図面を参照してこの発明の動画像符号化装置の実施形態を説明する。
(第1の実施形態)
図2は、第1の実施形態における動画像符号化装置の電気的な内部構成を示す機能ブロック図である。
この発明の動画像符号化装置は、符号化部1、出力バッファ2、仮想バッファ3、フレームレート更新部4、発生符号量制御部5、符号化モード設定部6、および装置制御部7からなる。
【0015】
符号化部1は、符号化するべき画像信号を画像入力装置から入力する。画像入力装置は、ディジタルビデオカメラ、あるいは録画再生機器のような動画像信号の信号源である。入力した画像信号が、所定の動画像圧縮方式、すなわち、ISO/IEC標準のMPEG−4方式やITU−T勧告のH.263方式、またはこれらを変更した方式にしたがって、符号化される。符号化は、動画像圧縮方式にしたがって、入力した画像信号に含まれるフレームそれぞれを所定のマクロブロックに分割する。符号化モード設定部6から、各マクロブロックを符号化する符号化モード(イントラ符号化またはインター符号化)が入力される。
【0016】
以下では、MPEG−4(Moving Picture Experts Group Phase 4)における動画像符号化方式について述べる。
映像信号は、複数のビデオオブジェクトプレーン(VOP:Video Object Plane)から構成される。VOPは矩形状の場合、MPEG−1、2におけるフレームおよびフィールドに相当する。VOP単位で空間的および時間的相関関係により圧縮を行う。VOPは、輝度信号と色差信号を有して、複数のMBから構成される。MBは、輝度信号に対して縦横16画素からなる。空間的圧縮および時間的圧縮は、このMB単位に実行される。空間的圧縮では、DCTと量子化によって画像が圧縮される。時間的圧縮では、動き補償(MC:Motion Compensation)によって、画像が圧縮される。
【0017】
VOP単位の圧縮方法には、空間的圧縮のみで符号化される画面内符号化(イントラ符号化)と、空間的圧縮と時間的圧縮によって符号化される画面間符号化(インター符合化)がある。画面内符号化されたVOPは、I−VOP(Intra-VOP)と呼ばれる。画面間符号化されたVOPは、P−VOP(Predictive-VOP)とB−VOP(Bi-directionally predictive-VOP)との2種類がある。P−VOPは、参照VOPとして時間的に前に符号化されたVOPのみが参照されたVOPであって、片方向のMCが実行されて、符号化されたVOPである。また、B−VOPは、参照VOPとして時間的に前後に符号化されたVOPが参照されたVOPであって、双方向のMCが実行されて、符号化されたVOPである。ここで参照VOPとは、過去にI−VOPまたはP−VOPとして符号化され画面間符号化で用いるために復号されたVOPの中で、現在符号化すべきVOPに対して時間的に隣接するVOPである。1度の画面間符号化では、高々2つのVOPが参照される。また、I−VOPに含まれるMBは、すべてイントラで符号化されなければならない。一方、PおよびB−VOPに含まれる各MBは、イントラ、インターのどちらを用いて符号化されても良い。ここで、「VOPを画面内符号化する」、「VOPをイントラ符号化する」、および「I−VOPで符号化する」は、すべて同様の内容を示す。したがって、このいずれの表現も内容的な違いはなく、同様の内容を意味する。
【0018】
以下、MB単位の符号化処理を簡単に述べる。
符号化すべきMBを含むVOPがI−VOPの場合は符号化部1が、輝度信号と色差信号について、量子化されたDCT係数を可変長符号化により圧縮する。量子化されたDCT係数は、輝度信号と色差信号とについて、DCTと量子化とが実行されて算出される。そして、ヘッダ情報とともに所定の順序にしたがってビットストリームを作成する。
【0019】
一方、符号化すべきMBを含むVOPがI−VOP以外の場合は符号化部1が、符号化すべきMBとの輝度信号における差分値(MC誤差)が最も小さくなる参照VOP上のMBが探し出される。参照VOPは、符号化すべきMBを含むVOPに対して、時間的に隣接している符号化されたVOPである。参照VOP上のMBで、符号化すべきMBとの輝度信号における差分値(MC誤差)が最も小さくなるような、MBが探し出される。このMBを探し出すために、ブロックマッチングに代表される動き検出法が使用される。符号化すべきMBからMC誤差が最も小さくなるMBまでの動きを示すベクトルが生成される。このベクトルは、動きベクトルと呼ばれる。MC誤差に対して、DCTと量子化とが実行される。得られた動きベクトルと、輝度信号および色差信号のMC誤差について量子化されたDCT係数とを可変長符号化により圧縮する。これら圧縮された動きベクトルと量子化されたDCT係数とが、ヘッダ情報とともに所定の順序にしたがってビットストリームとして生成される。
【0020】
また、フレームレート更新部4から、出力される動画像のフレームレートを指定する制御信号が符号化部1に出力される。さらに、発生符号量制御部5から、符号化によって発生する符号量の目標値を指定する制御信号が符号化部1に出力される。これら、フレームレートと発生符号量の目標値とが指定されて、符号化部1はフレームスキップまたはスタッフィングを実行する。そして、可変長符号化された符号列は、出力バッファ2に出力される。
【0021】
出力バッファ2は、符号化部1で符号化された符号化列を、目標のビットレートで出力する。このビットレートは、装置制御部7で設定される。また、VOPの発生符号量を算出し、算出された発生符号量を仮想バッファ3と発生符号量制御部5に出力する。
【0022】
仮想バッファ3は、装置制御部7で設定されたバッファ占有量の初期値(図1のB0)がバッファ占有量に設定される。最初のフレームの符号化後、出力バッファ2から得られる最初のフレームの発生符号量(図1のd0)を、バッファ占有量から減少させる(図1のB’0)。その後、つぎに符号化するフレームまでの時間(図1のT:フレーム間隔)にビットレートを乗じた値を、バッファ占有量に増加させる(図1のB1)。これ以降、出力バッファ2から得られる発生符号量を、バッファ占有量から減少させ、つぎのフレーム間隔にビットレートを乗じた値を、バッファ占有量に増加させる、ということをフレームごとに実行する。また、仮想バッファ3は、時刻ごとのバッファ占有量を、フレームレート更新部4、発生符号量制御部5、および符号化モード設定部6へ与える。
【0023】
フレームレート更新部4は、1枚分の符号量が取り去られた後のバッファ占有量を検査し、あらかじめ設定されたフレームスキップを実行するバッファ占有量に対応するしきい値(制御ポイント)に応じたフレームレートを符号化モード設定部6および符号化部1に出力する。複数の制御ポイントに応じたフレームレートを符号化モード設定部6および符号化部1に出力する。
【0024】
発生符号量制御部5は、出力バッファ2から得られる符号化したVOPの発生符号量と、符号化したVOPの量子化スケールの平均値とを、符号化モード別に記憶し、これを符号化モード設定部6へと与える。また、つぎに符号化すべきVOP符号化モードを、所定の規則(たとえば、MPEG−2のGOP構造)や後述する動画像の変化を考慮して決定し、これを符号化モード設定部6へと与える。また、仮想バッファ3のバッファ占有量から、つぎに符号化すべきVOPの量子化スケールやスタッフィングビット数などを、符号化部1へと与える。
【0025】
符号化モード設定部6は、発生符号量制御部5で決定された符号化モードで符号化された場合の発生符号量を推定する。この符号量と、仮想バッファ3から得られるバッファ占有量とから符号化後の仮想バッファ3のバッファ占有量を推定する。そして、推定されたバッファ占有量に対応するフレームレートに適する符号化モードを指定する制御信号を符号化部1に出力する。
【0026】
装置制御部7は、符号化部1、出力バッファ2、仮想バッファ3、フレームレート更新部4、および発生符号量制御部5を制御する。たとえば、装置が出力すべきビットストリームの制御をする。具体的には、目標となる発生符号量(目標ビットレート)を発生符号量制御部5に指示する。発生符号量制御部5は、この目標ビットレートに合うように、符号化部1に様々な符号化パラメタ(量子化スケール、スタッフィングビット数、符号化モード、およびフレームスキップ数)を与え、発生符号量を制御している。また、目標となる、単位時間当りのフレーム数(目標フレームレート)をフレームレート更新部4に指示する。さらに、仮想バッファ3に初期遅延量の値を指示する。また、誤り耐性などの符号化モードの設定条件を発生符号量制御部5に設定する。さらに、制御ポイントを設定してもよい。
また、装置制御部7は、装置に入力される画像信号の制御も実行する。
【0027】
図3は、符号化後のフレームレートを推定することによって、符号化する方式を設定するフロー図である。
【0028】
画質の向上やエラー耐性、ランダムアクセス性を考慮して、ビットストリーム中にI−VOPで符号化されることがある。一般的に、P−VOPやB−VOPで符号化を行うよりも、I−VOPで符号化を行う方が発生する符号量は多くなることが知られている。
【0029】
したがって、頻繁にI−VOPを挿入すると、仮想バッファ3がアンダーフロー傾向になる。特に、バッファ占有量が低い場合(たとえば、図1、図4または図5のB(min)の場合)で比較的発生符号量の多いI−VOPで符号化を行うと、B(min)を下回り、フレームスキップ数が急激に増加し、目標フレームレートが急激に小さくなる場合が起こりうる。このように目標フレームレートが急激に変動している符号化された動画像を、ユーザが見た場合、見栄えが悪いと感じることが多い。そこで、I−VOPの挿入により目標フレームレートが急激に変動してしまう場合には、I−VOPで符号化をしないように制御する。
【0030】
動画像の符号化が開始されると、ステップST−A1でVOPをイントラ符号化するか否かが判定される。この判定は、発生符号量制御部5が実行する。たとえば、動画像が劇的に変化する(シーンチェンジ)場合は、VOPをイントラ符号化する等の制御をする。発生符号量制御部5がVOPをイントラ符号化すると判定した場合は、ステップST−A3に進む。一方、発生符号量制御部5がVOPをイントラ符号化しないと判定した場合は、ステップST−A2に進む。
【0031】
ステップST−A2では、VOPをインター符号化する。ここでは、P−VOPに符号化する。また、P−VOPだけでなく、B−VOPに符号化するように設定されてもよい。また、発生符号量制御部5が判断して、P−VOPまたはB−VOPのいずれかに符号化するように設定してもよい。さらに、後述するようにステップST−A3、およびST−A4においてI−VOPについて実行されることをP−VOPについても実行されてもよい。すなわち、P−VOPで符号化後のフレームレートが推定されて、このフレームレートが所定値以上である場合は、B−VOPで符号化するように設定されていてもよい。
【0032】
ステップST−A3では、I−VOPに符号化後のフレームレートを推定する。そして、ステップST−A4では、ステップST−A3で推定されたフレームレートと所望のフレームレートとの差が、所定値より小さいか否かが判定される。すなわち、ステップST−A3で推定されたフレームレートがその直前のフレームレートに比較して急激に変化しているか否かが判定される。この場合は、その差が所定値よりも小さい場合は、フレームレートが急激に変化していないと判定されることになる。この所定値は、装置制御部7によって与えられる。
ステップST−A4で、ステップST−A3で推定されたフレームレートと所望のフレームレートとの差が、所定値より小さい場合は、ステップST−A5に進む。一方、ステップST−A3で推定されたフレームレートと所望のフレームレートとの差が、所定値より小さくない場合は、ステップST−A2に進む。
【0033】
フレームレートを推定するには、I−VOPで符号化後の仮想バッファ3のバッファ占有量を知る必要がある。すなわち、I−VOPで符号化した場合の符号量が必要になる。そこで、以前に符号化したI−VOPの符号量とその量子化スケールの平均値とから、符号化モード設定部6がI−VOPの符号量を推測する。この推測されたI−VOPの符号量と、符号化直前の仮想バッファ3のバッファ占有量とにより、I−VOPに符号化した場合の仮想バッファ3のバッファ占有量を計算して推測することが可能になる。バッファ占有量が推測されると、フレームレートを推定することができる。
【0034】
ステップST−A5では、I−VOPで動画像を符号化する。そして、つぎのVOPを符号化するために、ステップST−A1に戻る。そして、全ての動画像を符号化するまで、上記ステップを繰り返す。
【0035】
図4は、従来の方法によってある動画像を符号化する場合での、時間に対する仮想バッファ3のバッファ占有量の一例を示す図である。図5は、図4に示されるように符号化される動画像を、第1の実施形態における動画像符号化装置を使用して符号化した場合の、時間に対する仮想バッファ3のバッファ占有量を示す図である。
【0036】
図3に示したフロー図にしたがって符号化を実行することにより、図4でVOPをイントラ符号化している時刻tIで、VOPをイントラ符号化しないでP−VOP符号化した場合を図5は示している。すなわち、図4および図5に示されている時刻tIにおいて、図4では、I−VOPに符号化しているが、図5では、P−VOPに符号化している。
【0037】
図5では、図3に示したようにI−VOPに符号化した後のフレームレートを推定して、そのフレームレートの変化が所定値以内である場合には、I−VOPに符号化される(図5の時刻t’I)。図4に示される時刻tIでI−VOP符号化されると、フレームスキップが図4に示されるように、I−VOPに符号化される前後で大きく変動する。図5では、時刻tIで符号化する時点で図3に示される方法により、時刻tIの前後ではI−VOPに符号化されるとフレームレートが大きく変動してしまうことを避けるために時刻tIではP−VOPに符号化する。
【0038】
その結果、図4に示されるように時刻tIの前後に見られるようなフレームスキップ数の変動はなくなり、変動の少ないフレームスキップを得ることが可能になる。したがって、動画像全体を通じて画質向上を実現することが可能になる。
【0039】
(第2の実施形態)
この発明の第2の実施形態に係る動画像符号化装置の構成は、第1の実施形態に係る動画符号化装置の構成と同様である。すなわち、この発明の動画像符号化装置は、符号化部1、出力バッファ2、仮想バッファ3、フレームレート更新部4、発生符号量制御部5、符号化モード設定部6、および装置制御部7からなる。ただし、フレームレート更新部4および発生符号量制御部5の動作が異なる。以下、この相違点を中心にして第2の実施形態を説明する。
【0040】
図6は、この発明の第2の実施形態における時間に対する仮想バッファ3のバッファ占有量を示す図であって、フレームスキップを実行するバッファ占有量に対応するしきい値(制御ポイント)を3段階設定した場合(図6に示されているB1、B2、およびB(min))の時間に対する仮想バッファ3のバッファ占有量の履歴(破線)と、制御ポイントを1つのみ設定した場合(図6に示されているB(min))の時間に対する仮想バッファ3のバッファ占有量の履歴(実線)とを示す図である。
【0041】
図6の破線に示されている例では、上記のしきい値である制御ポイントが3段階設けられている。一番大きな値としてB1、つぎに大きな値としてB2、最終的な限界値としてB(min)が設定されている。B(min)は、1画像がインター符号化された程度の大きさであり、B1とB2との差、およびB2とB(min)との差も1画像がインター符号化された程度の大きさである。しかし、これらの値は特に限定する必要はなく、動画像符号化装置の製造者が所望の値に自在に設定することが可能である。
仮想バッファ3内のバッファ占有量は、フレームレート更新部4に入力され、3段階に設定された制御ポイントに応じた目標フレームレートを符号化モード設定部6および符号化部1に出力する。
【0042】
また、目標フレームレートをたとえば、秒15枚とする。すなわち、通常の制御では、符号化するフレーム間隔が2枚ごとスキップする枚数は1枚という設定で符号化を実行する。フレームレート更新部4には通常動作でのスキップ枚数は1、B1を下回った場合のスキップ枚数は2、B2を下回った場合のスキップ枚数は3、B(min)を下回った場合はバッファが回復するまでのスキップ枚数だけスキップするという条件が入力されている。
【0043】
図6に示されている最初の状態(時間が0からt3まで)では、バッファ占有量が十分であるため制御ポイントを設定しない場合(実線の履歴)、および制御ポイントを設定する場合(破線の履歴)ともに同様なバッファ占有量の履歴を示す。t0からt3まで、一定の時間間隔Tを保っている。この時間間隔(フレームスキップ)は、フレームレートに反比例している。ゆえに、図6のt0からt3までフレームレートは、秒15枚をキープし、1枚スキップしながら符号化されている。時刻t3において、第1の制御ポイントB1を下回る。したがって、フレームレート更新部4においてB1に対応するスキップ枚数2が選択される。すると、フレームスキップ数が増える。換言すれば、フレームレートが遅くなる。図6では、つぎに符号化される時刻をt’4とすると、t’4−t3>Tになる。その後のt’4、t’5、t’6では、それぞれスキップ枚数が3、2、3と続く。このように、図6に示した符号化例では、制御ポイントを3つ設定した場合は、フレームスキップ数は、3枚より多くなっていない。したがって、全体を通してB(min)を下回る機会が著しく減少し、大きなフレームスキップを必要としなくなる。
【0044】
一方、制御ポイントB1およびB2が設定されていない場合は、時刻t3において、スキップ枚数は1のままである。そして、この場合は、つぎに符号化する時刻t4においてB(min)を下回る。ゆえに、バッファアンダーフローを防ぐために、大きなフレームスキップが実行される。図6の場合は、スキップ枚数は3枚より多くなってしまう。また、B(min)以上のスキップ枚数は常に1であるので、符号量の多いフレームがあると時刻t6の場合のように、バッファ占有量が再びB(min)を下回ってしまう場合が頻発しうる。その結果、フレームスキップ数が1と3の間をゆらぎ、フレームスキップ数の変動が大きくなる。また、この場合であれば、B1の制御ポイントの周辺を行ったり来たりする場合でも、フレームスキップ数の変動は1枚ですむため、見た目には大きな変動を感じさせずにすむ。
【0045】
以上のように、制御ポイントが複数ある場合は、制御ポイントが1つしかない場合に比較して、フレームスキップ数のゆらぎの大きさが小さい。したがって、見た目には大きな変動を感じさせずにすむ。バッファ占有量のフレームスキップ数が1枚ずつ段階的に変化するように設定されているので、フレームスキップ数が突然2枚変化する可能性は、制御ポイントが1つしかない場合に比較して格段に少なくなる。さらにはバッファ占有量が全体を通して高い値で推移するため量子化スケール値を粗くすることも少なくなり、全体を通した画質向上を実現できる。
【0046】
図7は、図3の工程に加えて、過去の所定時間内のイントラ符号化されたVOPの数を確認することによって符号化する方式を設定する工程を含むフロー図である。
【0047】
第1の実施形態での符号化の動作を示すフローに1つのステップが加わったものが第2の実施形態での符号化の動作を示すフローである。すなわち図3のステップST−A1とステップST−A3との間に新たなステップが付加される。新たなステップは、頻繁にI−VOPで符号化されないようにするためのものである。
【0048】
上述したように、一般的にP−VOPやB−VOPで符号化を行うよりも、I−VOPで符号化を行う方が発生する符号量は多くなる。したがって、頻繁にI−VOPを挿入すると、仮想バッファ3がアンダーフロー傾向になる。たとえば、動画像が劇的に変化するシーンチェンジの場合は、VOPをイントラ符号化することが多く、シーンチェンジが頻出する場合は仮想バッファ3がアンダーフロー傾向になりやすい。そこで、I−VOPを頻繁に挿入しないように制御する。その方法として第2の実施形態では、ある一定時間内で符号化されたVOPのうち、I−VOPで符号化される最大のVOP数を制限する。
【0049】
具体的には、発生符号量制御部5がVOPをイントラ符号化すると決定した場合に、ステップST−B1からステップST−B3に進む。ステップST−B3では、過去の所定時間内にI−VOPに符号化されたVOP数をあらかじめ設定してある所定数と比較する。I−VOPに符号化されたVOP数が所定数以上である場合には、バッファ占有量が小さくバッファアンダーフローが発生しやすい状態であるとみなす。この場合は、I−VOPに符号化せず、P−VOPで符号化する(ST−B2)。また、設定してある所定数は、通常、仮想バッファ3の大きさに依存して決定される。
過去の所定時間内のI−VOP数は、たとえば符号化モード設定部6がカウントしておき、VOPが符号化されるごとにアップデートされるように設定しておく。
【0050】
この結果、ステップST−B3によって、I−VOPが頻繁に挿入され仮想バッファ3がバッファアンダーフロー傾向になることを抑制することができる。
【0051】
ほかのステップは、すべて第1の実施形態で示した図3と同様である。
【0052】
図8は、図6に示されたしきい値を設定して、図7のフロー図に示される方法を使用して、動画像を符号化した場合の、時間に対する仮想バッファ3のバッファ占有量を示す図である。
【0053】
バッファ占有量が時刻t1、t2、t3等のB1またはB2以下にある場合は、B2以上B1未満、B(min)以上B2未満、B(min)未満にしたがって、段階的にフレームスキップ数が多くされる。その結果、隣同士のフレームでは、スキップする枚数に最大1枚の差があるだけである。ところで、バッファ占有量がB(min)未満の場合は、隣のフレームとの間でスキップする枚数差が1枚以上である可能性はある。しかし、B(min)以上のしきい値B1およびB2で段階的にフレームスキップ数が増加されているので、スキップ枚数差が2枚以上になる場合は少ない。
したがって、ユーザは、見た目に画像が大きく変動することなく、スムーズに安定した動画像を見ることが可能になる。また、バッファ占有量が全体を通して高い値で推移するため量子化スケール値を粗くすることも少なくなり、全体を通した画質向上を実現できる。
【0054】
また、バッファ占有量に無関係に、ある一定時間内で符号化されたVOPのうち、I−VOPで符号化される最大のVOP数を制限している。さらに、あるVOPを符号化する際に、フレームレートがどう変化するかを推定して、その推定されたフレームレートにしたがって、イントラ符号化をするかインター符号化をするかが決定される。
したがって、フレームレートが急激に低下することを避けることができる。ゆえに、バッファアンダーフローを防ぐことが可能になる。また、フレームスキップ数が急に増えることも防ぐことができる。その結果、ユーザは、見た目に画像が大きく変動することなく、スムーズに安定した動画像を見ることが可能になる。また、バッファ占有量が全体を通して高い値で推移するため量子化スケール値を粗くすることも少なくなり、全体を通した画質向上を実現できる。
【0055】
この発明は、上述した実施の形態に限定されるものではなく、その技術的範囲において種々変形して実施することができる。
【0056】
【発明の効果】
この発明の動画像符号化装置によれば、フレームスキップ数が大きく変動することを避けることができるので、見た目に画像が大きく変動することなく、スムーズに安定した動画像を見ることが可能になる。
【0057】
また、バッファ占有量が全体を通して高い値で推移させることが可能になる。したがって、量子化スケール値を粗くすることも少なくなり、全体を通した画質向上を実現できる。
【図面の簡単な説明】
【図1】仮想バッファを制御する従来の方法を示す図であって、時間に対する仮想バッファのバッファ占有量を示す図である。
【図2】この発明の実施形態における動画像符号化装置の電気的な内部構成を示す機能ブロック図である。
【図3】この発明の第1の実施形態における符号化する方式を設定するための手順を示すフロー図であって、符号化後のフレームレートを推定することによって、符号化する方式を設定するフロー図である。
【図4】従来の方法によってある動画像を符号化する場合での、時間に対する仮想バッファのバッファ占有量の一例を示す図である。
【図5】図4に示されるように符号化される動画像を、この発明の第1の実施形態における動画像符号化装置を使用して符号化した場合の、時間に対する仮想バッファのバッファ占有量を示す図である。
【図6】この発明の第2の実施形態における時間に対する仮想バッファのバッファ占有量を示す図であって、フレームスキップを実行するバッファ占有量に対応するしきい値(制御ポイント)を3段階設定した場合の時間に対する仮想バッファのバッファ占有量の履歴(破線)と、制御ポイントを1つのみ設定した場合の時間に対する仮想バッファのバッファ占有量の履歴(実線)とを示す図である。
【図7】この発明の第2の実施形態における符号化する方式を設定するための手順を示すフロー図であって、図3の工程に加えて、過去の所定時間内のイントラ符号化されたVOPの数を確認することによって符号化する方式を設定する工程を含むフロー図である。
【図8】図6に示されたしきい値を設定して、図7のフロー図に示される方法を使用して、動画像を符号化した場合の、時間に対する仮想バッファのバッファ占有量を示す図である。
【符号の説明】
1 符号化部
2 出力バッファ
3 仮想バッファ
4 フレームレート更新部
5 発生符号量制御部
6 符号化モード設定部
7 装置制御部
Claims (3)
- 復号側でのバッファの占有量を推測するための仮想バッファを参照しながら符号化を実行する動画像符号化装置において、
1画像が画面内符号化されたときの発生符号量を推定する発生符号量推定手段と、
前記1画像分の推定された発生符号量が取り去られたときの前記仮想バッファのバッファ占有量を推定するバッファ占有量推定手段と、
前記仮想バッファのバッファ占有量に対ししきい値を設定し、当該しきい値と1画像が符号化された直後の前記推定されたバッファ占有量とを比較して、当該バッファ占有量が前記しきい値を下回った場合に、フレームレートをバッファ占有量が前記しきい値を下回る前のレートより低いレートに更新するフレームレート更新手段と、
所望のフレームレートを指定するフレームレート指定手段と、
前記フレームレート更新手段により選択されたフレームレートと、前記指定されているフレームレ−トとの差が所定値以上か否かを判定するフレームレート判定手段と、
前記判定されたフレームレートの差が所定値未満の場合は画面内符号化を実行し、前記判定されたフレームレートの差が所定値以上である場合は画面間符号化によって符号化を実行するように制御する符号化制御手段と、
を具備することを特徴とする動画像符号化装置。 - 前記フレームレート更新手段は、前記仮想バッファのバッファ占有量に対し複数のしきい値を設定し、当該複数のしきい値のうち、最も大きい値を有するしきい値から最も低い値を有するしきい値によって区切られた複数の領域で、1画像が符号化された直後の前記仮想バッファのバッファ占有量が低い領域に属するほど、フレームレートが順に低くなるように更新することを特徴とする請求項1記載の動画像符号化装置。
- 過去のある時間内に画面内符号化されたフレームの数を算出するフレーム数算出手段と、
前記算出されたフレーム数が所定数未満か否かを判定するフレーム数判定手段と、
前記フレーム数が所定数以上の場合は画面間符号化を実行するように制御する制御手段と、
をさらに具備することを特徴とする請求項1又は2記載の動画像符号化装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001282379A JP4718736B2 (ja) | 2001-09-17 | 2001-09-17 | 動画像符号化装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001282379A JP4718736B2 (ja) | 2001-09-17 | 2001-09-17 | 動画像符号化装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003092759A JP2003092759A (ja) | 2003-03-28 |
JP4718736B2 true JP4718736B2 (ja) | 2011-07-06 |
Family
ID=19106037
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001282379A Expired - Fee Related JP4718736B2 (ja) | 2001-09-17 | 2001-09-17 | 動画像符号化装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4718736B2 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007522724A (ja) * | 2004-01-30 | 2007-08-09 | トムソン ライセンシング | アダプティブレートコントロールによるエンコーダ |
CA2798008C (en) * | 2010-05-06 | 2015-10-20 | Nippon Telegraph And Telephone Corporation | Method for controlling video encoding if a decoder underflow condition is detected |
JP5295429B2 (ja) | 2010-05-07 | 2013-09-18 | 日本電信電話株式会社 | 動画像符号化制御方法,動画像符号化装置および動画像符号化プログラム |
JP2012010263A (ja) * | 2010-06-28 | 2012-01-12 | Sony Corp | 符号化装置、撮像装置、符号化伝送システムおよび符号化方法 |
JP6699881B2 (ja) * | 2015-04-24 | 2020-05-27 | 株式会社東芝 | 送信装置、受信装置および伝送システム |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0376488A (ja) * | 1989-08-18 | 1991-04-02 | Matsushita Electric Ind Co Ltd | 動画像信号符号化装置 |
JPH10126792A (ja) * | 1996-10-23 | 1998-05-15 | Matsushita Electric Ind Co Ltd | 画像符号化方法および装置 |
JPH11234680A (ja) * | 1998-02-12 | 1999-08-27 | Mitsubishi Electric Corp | 画像圧縮装置 |
JP2000023155A (ja) * | 1998-06-30 | 2000-01-21 | Toshiba Corp | 動画像符号化装置 |
-
2001
- 2001-09-17 JP JP2001282379A patent/JP4718736B2/ja not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0376488A (ja) * | 1989-08-18 | 1991-04-02 | Matsushita Electric Ind Co Ltd | 動画像信号符号化装置 |
JPH10126792A (ja) * | 1996-10-23 | 1998-05-15 | Matsushita Electric Ind Co Ltd | 画像符号化方法および装置 |
JPH11234680A (ja) * | 1998-02-12 | 1999-08-27 | Mitsubishi Electric Corp | 画像圧縮装置 |
JP2000023155A (ja) * | 1998-06-30 | 2000-01-21 | Toshiba Corp | 動画像符号化装置 |
Also Published As
Publication number | Publication date |
---|---|
JP2003092759A (ja) | 2003-03-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8804820B2 (en) | Rate control with look-ahead for video transcoding | |
US8374236B2 (en) | Method and apparatus for improving the average image refresh rate in a compressed video bitstream | |
US20030215012A1 (en) | Method and apparatus for transforming moving picture coding system | |
US7388995B2 (en) | Quantization matrix adjusting method for avoiding underflow of data | |
JP2001169281A (ja) | 動画像符号化装置、および動画像符号化方法 | |
JPH11346362A (ja) | リアルタイム単一パス可変ビット・レ―ト制御方法及び符号器 | |
JP4221655B2 (ja) | 符号化装置および符号化方法、プログラム、並びに記録媒体 | |
JP4532980B2 (ja) | 動画像符号化装置及び方法、並びにコンピュータプログラム及びコンピュータ可読記憶媒体 | |
US7373004B2 (en) | Apparatus for constant quality rate control in video compression and target bit allocator thereof | |
JP3907875B2 (ja) | 符号化レート制御装置及び情報符号化装置 | |
JP2001054110A (ja) | 信号処理装置、信号処理方法及びコンピュータプログラム製品 | |
EP1077000A1 (en) | Conditional masking for video encoder | |
JP3641214B2 (ja) | 動画像符号化装置および動画像符号化方法 | |
JP4718736B2 (ja) | 動画像符号化装置 | |
JP2001245296A (ja) | 映像符号化装置及び映像符号化方法 | |
JP3487205B2 (ja) | 画像データ編集装置 | |
JP2000312362A (ja) | 画像符号化方式変換装置、画像符号化方式変換方法および記録媒体 | |
WO2000064187A1 (en) | Image encoding device and its method | |
JP4186543B2 (ja) | 符号化装置および符号化方法、プログラム、並びに記録媒体 | |
JP3690259B2 (ja) | 動画像高速符号化装置及び動画像高速符号化方法 | |
JP2002199408A (ja) | 動画像符号化方法および動画像符号化装置 | |
JP3779066B2 (ja) | 動画像符号化装置 | |
JPH11205803A (ja) | 符号化装置及び符号化方法 | |
JP4228739B2 (ja) | 符号化装置および符号化方法、プログラム、並びに記録媒体 | |
JP4186544B2 (ja) | 符号化装置および符号化方法、プログラム、並びに記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080909 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20100721 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100727 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100921 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20110308 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110401 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140408 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |