JP2005341601A - 動画像符号化装置 - Google Patents

動画像符号化装置 Download PDF

Info

Publication number
JP2005341601A
JP2005341601A JP2005167721A JP2005167721A JP2005341601A JP 2005341601 A JP2005341601 A JP 2005341601A JP 2005167721 A JP2005167721 A JP 2005167721A JP 2005167721 A JP2005167721 A JP 2005167721A JP 2005341601 A JP2005341601 A JP 2005341601A
Authority
JP
Japan
Prior art keywords
frame
encoding
code amount
target code
skip
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.)
Granted
Application number
JP2005167721A
Other languages
English (en)
Other versions
JP4073444B2 (ja
Inventor
Naoyuki Fujiyama
直之 藤山
Yoshiko Hatano
喜子 幡野
Junji Sukeno
順司 助野
Junko Shinohara
順子 篠原
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2005167721A priority Critical patent/JP4073444B2/ja
Publication of JP2005341601A publication Critical patent/JP2005341601A/ja
Application granted granted Critical
Publication of JP4073444B2 publication Critical patent/JP4073444B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】 フレーム間の画像の変化に対して、符号量の割り当て、及び符号化のスキップを適切に行うことができ、これにより画質の維持を行う。
【解決手段】 入力画像解析部7で検出されるフレーム間変化量VAが第1の閾値以上であり、かつフレーム複雑度FHが所定の閾値以上であるときに、フレームスキップ制御手段8が、符号化手段10における現フレームの符号化をスキップさせる。
【選択図】 図1


Description

本発明は、動画像の符号化に関し、ITU−T勧告H.26xやISO/IEC標準MPEG等に代表される動画像符号化方式により符号化を行う動画像符号化装置及び動画像符号化方法に関するものであり、特に、携帯電話などに搭載される装置に関する。
以下、MPEG−4を例に取り説明する。一般に、MPEG−4に代表される動画像符号化方式は、入力される画像信号に対して空間的・時間的相関関係を利用してデータの圧縮を行う。そして、この空間的圧縮・時間的圧縮により得られるデータをもとに、所定の順序に従ってさらに可変長符号化を行い、ビットストリームを生成する。
ここで以下の説明のため、MPEG−4のフレームの概念について述べておく。MPEG−4では、表示される画像全体(合成画像)は、複数の画像系列の画像(物体)により構成されることから、各画像系列の、各表示時刻における画面をビデオ・オブジェクト・プレーンと呼び、MPEG−1,2におけるフレームと区別している。なお、表示画像の全体が1つの画像系列の画像により構成される場合には、ビデオ・オブジェクト・プレーンとフレームは一致することとなる(以下、表示画像の全体が1つの画像系列の画像により構成されるとし、ビデオ・オブジェクト・プレーンを「フレーム」と記す。)。
フレームは輝度信号と色差信号をもち、複数のマクロブロックから構成される。マクロブロックは、輝度信号に対して縦横それぞれ16画素から成り、MPEG−4における画像符号化では、このマクロブロック単位で空間的圧縮、時間的圧縮等の手法により情報量の圧縮が行われる。
空間的圧縮は、直交変換の一種である離散コサイン変換(Discrete Cosine Transform。以下、「DCT」と記す。)により時間領域から周波数領域に変換した後の信号を量子化することにより行われ、時間的圧縮には、動き補償が用いられる。
また、フレーム単位のデータ圧縮方法には、同一画面内の空間的圧縮のみで符号化される空間的画面内符号化(以下、「フレーム内符号化」と記す。)と、画面間の相関から時間的圧縮を用いて符号化される画面間符号化(以下、「フレーム間符号化」と記す。)とがある。
動画像符号化装置では、所定の符号化パラメータに従って、指定された符号量のビットストリームを出力しなければならない。さらにビットストリームを受け取る復号化装置側のバッファ(仮想バッファ検証器、以下、「VBVバッファ」と記す。)においてオーバーフローやアンダーフローが生じないように、符号化装置側でVBVバッファの占有量を想定して発生符号量を制御しなくてはならない。
発生符号量の制御は、フレームを構成するマクロブロック毎に設定される、DCT係数を量子化するために用いる、量子化パラメータにより行う。従って、発生符号量の制御はフレーム単位で行われることとなる。一般に、量子化パラメータを大きくすると発生符号量は小さくなり、量子化パラメータを小さくすると発生符号量は多くなる。つまり、発生符号量と量子化パラメータとは反比例の関係にある。この性質を用いて発生符号量を変化させることが可能である。
しかし、量子化パラメータが取り得る範囲には制限があるため、量子化パラメータだけで適正な発生符号量に制御することは難しい場合がある。そこで、発生符号量が目標値より多い場合は、すべてのフレームについて符号化処理を行うのではなく、符号化処理を行わないフレーム、即ち符号化処理をスキップするフレームスキップを作り、全体の発生符号量を抑制する一方、発生符号量が目標値よりも小さい場合は、ビットストリームに冗長なビットを挿入し、発生符号量を増加させる処理を行う。
上記のような、一部のフレームの符号化処理をスキップし、発生符号量を抑制する技術については、例えば特許文献1に記載されている。
また、入力される画像信号に対して符号化処理を行う装置において、連続したフレーム間の映像が不連続であり、シーンが変わったと考えられる場合、フレーム間符号化の画質劣化を改善するために、シーンが変わった直後の画像に多くの符号量を割当てる符号量制御方法について、例えば特許文献2に記載されている。
特開2002−262297号公報(第4−7頁、第3図) 特開平6−54319号公報(第4−5頁、第2図)
従来のMPEG−4で符号化処理を行う動画像符号化装置では、フレーム間の相関性が低い場合、フレームの目標符号量よりも多い符号量を割当てなければ、画質の劣化を抑えて符号化を行うことができない。そこで符号量を割増して符号化を行うと、1秒間でのビット数が予め設定されており、幾フレームかの符号化処理をスキップし、ビットレートに合わせた符号化処理を行わなければならない。このとき、フレーム間符号化を行うと、フレームがスキップしていることからフレーム間の相関性が低く、さらに符号量を割増さなければならず悪循環となる。
上記特許文献1ではフレームのスキップ数がある所定値を超えると、直後のフレームでフレーム内符号化処理を行い画質の劣化を抑えている。しかし、フレームのスキップが起きてから対応しているため、上述した問題を解消することはできない。また、フレームスキップが起きず、かつフレーム間の変化が大きくなる場合は、通常の符号化処理を行ってしまうため、画質劣化を生じる可能性がある。
また、上記特許文献2では、フレーム間の相関性が低いことを検出した場合、その直後の画像には多くの符号量を割増して、フレーム内符号化を行うことによって画像の劣化を防止する符号化処理を行っている。しかし、連続するフレームにフレームの変化が多く検出される場合、連続して符号量を多く割増すこととなり、全体として適切な符号量の割当てを行うことができないという問題がある。
本発明は、上記の問題点を解決するもので、その目的は、フレーム間の画像の変化に対して、符号量の割り当て、及び符号化のスキップを適切に行うことができ、これにより画質の維持を行うことができる動画像符号化装置を提供することにある。
本発明は、
入力された動画像の現フレームと前フレームとのフレーム間変化量を検出する入力画像解析手段と、
前記入力された動画像を符号化する符号化手段と、
前記符号化手段から出力された符号化データの発生符号量と所定の基準符号量とにより、前記符号化手段で符号化するフレームの目標符号量を仮決定するフレーム目標符号量設定手段と、
前記符号化手段における符号化をフレーム単位でスキップさせるフレームスキップ制御手段と
を備えた動画像符号化装置において、
前記入力画像解析手段が、フレーム間変化量に基づいて第1のフレームスキップ挿入回数を決定し、
前記フレーム目標符号量設定手段が前記フレーム間変化量及び前記仮決定された目標符号量に基づいて第2のフレームスキップ挿入回数を決定し、
前記フレームスキップ制御手段が前記第1のフレームスキップ挿入回数と前記第2のフレームスキップ挿入回数とに基づいてフレームスキップ挿入可否情報を設定し、これにより前記符号化手段における符号化のフレーム単位でのスキップを制御する
ことを特徴とする動画像符号化装置を提供する。
本発明はまた、
入力された動画像の現フレームと前フレームとのフレーム間変化量を検出する入力画像解析手段と、
前記入力された動画像を符号化する符号化手段と、
前記符号化手段から出力された符号化データの発生符号量と所定の基準符号量とにより、前記符号化手段で符号化するフレームの目標符号量を仮決定するフレーム目標符号量設定手段と、
前記符号化手段における符号化をフレーム単位でスキップさせるフレームスキップ制御手段と
を備えた動画像符号化装置において、
前記入力画像解析手段が、フレーム間変化量に加え、入力された動画像の現フレームにおけるフレーム内複雑度も検出するように構成され、
前記入力画像解析手段において、前記フレーム間変化量が所定の第1の変化量閾値以上であり、かつフレーム複雑度が所定の複雑度閾値以上であることが検出された場合に、前記フレームスキップ制御手段が、現フレームの符号化をスキップさせるようフレームスキップ挿入可否情報を設定、これにより前記符号化手段における符号化のフレーム単位でのスキップを制御する
ことを特徴とする動画像符号化装置を提供する。
本発明によれば、フレームを符号化する際、フレーム間変化量(VA)が大きい場合、フレームスキップを意図的に発生させて、フレームの符号化を行わず、スキップしたフレームへの割当てが予定されていたフレーム目標符号量を、スキップ後のフレームへの割当てが予定されていたフレーム目標符号量に加えることができるので、スキップ後のフレームでは、十分な目標符号量を用いて画質劣化の少ない符号化を行うことができ、その結果、安定した画質の維持と符号量制御を実現することができる。
また、本発明によれば、フレームを符号化する際、フレーム間変化量(VA)が閾値よりも大きく、かつフレーム内複雑度(FH)が閾値よりも大きい場合、フレームスキップを意図的に発生させて、フレームの符号化を行わず、スキップしたフレームへの割当てが予定されていたフレーム目標符号量を、スキップ後のフレームへの割当てが予定されていたフレーム目標符号量に加えることができるので、スキップ後のフレームに対して画質劣化の少ない符号化を行うことができ、その結果、安定した画質と符号量制御を実現することができる。
本発明に係る動画像符号化装置は、符号化処理対象のフレーム(以下、「現フレーム画像」と記す。)と、現フレームより時間的にN(Nは1以上の整数)フレーム前にあるフレーム(以下、「Nフレーム前画像」と記す。)とのフレーム間の輝度信号や色差信号等の特徴量の変化量が、所定の閾値以上であるか否かの判定結果を参照することにより、フレームスキップ挿入可否情報SK、符号化方法、目標符号量QUを設定する。以下に、実施の形態について図面を参照して説明する。
実施の形態1.
図1は、実施の形態1における動画像符号化装置の構成を示すブロック図である。図1に示す動画像符号化装置100は、有線通信や無線通信により伝送される画像信号がフレームとして入力され、この入力されるフレームに対する画像符号化処理を行うもので、入力されるフレームをマクロブロックに分割して符号化処理を行い、ビットストリームとして出力するものであり、入力端子11と、フレームメモリ1と、スイッチ2と、符号化器3と、バッファ4と、符号量検出部5と、出力端子12と、フレーム目標符号量設定部6と、入力画像解析部7と、フレームスキップ制御部8と、符号化制御部9とを備えている。
フレームメモリ1は、入力端子11から順次入力される画像信号を例えば2フレーム分を一時的に蓄積する。
図2は、フレームメモリ1の一例を図示したもので、第1の領域1aと第2の領域1bとを有する。図示の例では、N=1であり、第1の領域1aには、i番目のフレーム、即ち1フレーム前のデータが記憶され、第2の領域1bには、(i+1)番目のフレーム、即ち現フレームのデータが記憶される。以下の説明では、1フレーム前のフレームを前フレームと呼ぶ。
スイッチ2は、後述のフレームスキップ挿入可否情報SKを入力として開閉する。具体的には、フレームスキップ挿入可否情報SKが「1」のとき(フレームスキップを行う場合)は、オフ(開状態)となり、フレームスキップ挿入可否情報SKが「0」のとき(フレームスキップを行わないとき)は、オン(閉状態)となる。
符号化器3は、スイッチ2を介して供給されるデータに対し、符号化制御部9により指定される符号化方法、量子化パラメータで符号化及び量子化を行う。符号化方法としてフレーム内符号化が指示されているときは、フレーム内符号化を行い、フレーム間符号化が指示されているときは、フレーム間符号化を行う。ここで符号化はDCT符号化であり、量子化されたDCT係数が符号として得られる。また、供給された量子化パラメータに基づいて量子化ステップを定めて、それによってDCT係数の量子化を行う。
バッファ4は、符号化器3から出力されたビットストリームを一時的に蓄積して、出力する。バッファ4から出力されたビットストリームは、出力端子12を介して出力される。
符号量検出部5は、バッファ4に蓄積され、バッファ4から出力されるビットストリームから各フレームの発生符号量を計算により検出し、検出値を、符号化における符号量制御のための情報として、フレーム目標符号量設定部6及び符号化制御部9に出力する。
入力画像解析部7は、フレームメモリ1に蓄積されたNフレーム前画像(本例ではN=1)と、入力端子11から入力される現フレーム画像とのフレーム間変化量VAを検出して出力するとともに、フレーム間変化量VAに基づいて第1のフレームスキップ挿入回数(「フレームスキップ挿入回数NA」と呼ぶ)を設定して出力する。
入力画像解析部7は例えば図3に示されるように構成される。図3に示される入力画像解析部7は、フレームメモリ1から読み出されたNフレーム前画像(本例ではN=1)を入力する入力端子25と、図1の入力端子11に接続され、現フレーム画像を入力する入力端子26と、入力端子25から入力されたNフレーム前画像と、入力端子26から入力された現フレーム画像間の変化量を抽出する変化量抽出部22とを有する。
図3の変化量抽出部22は例えば図4に示すように構成される。図4に示される変化量抽出部22は、フレーム間輝度変化平均値を求めるものであり、フレームメモリ1からのNフレーム前画像(本例ではN=1)を入力する入力端子34と、入力端子11からの現フレーム画像を入力する入力端子35と、入力端子34から入力されたNフレーム前画像と、入力端子35から入力された現フレーム画像のフレーム間の差を演算する減算器37と、減算器37の出力の絶対値を求める絶対値演算器31と、絶対値演算部31から出力される絶対値を表すデータの合計を計算する和演算器32と、入力値をデータ数で割って平均値を求める平均演算部33と、フレーム間輝度変化平均値を出力する出力端子36とを備える。本実施の形態では、出力端子36から出力されるフレーム間輝度変化平均値がフレーム間変化量VAとして用いられる。
入力画像解析部7はさらに、第1の閾値(変化量閾値)TVを設定する閾値設定部23と、変化量抽出部22から出力されたフレーム間変化量VAを、閾値設定部23で設定された第1の閾値TVと比較する比較器24と、フレームスキップ挿入回数NAを出力する出力端子27と、フレーム間変化量VAを出力する出力端子28とを備える。
変化量抽出部22から出力されるフレーム間変化量VAが第1の閾値TV以上であれば、フレームスキップ挿入回数NAが「1」となり、フレーム間変化量VAが第1の閾値TV未満であれば、フレームスキップ挿入回数NAが「0」となる。
変化量抽出部22から出力されるフレーム間変化量VAはまた、そのまま出力端子28から出力される。
フレーム目標符号量設定部6は、入力画像解析部7の出力信号であるフレーム間変化量VAと、符号量検出部5で検出された前フレームの符号量QBと、所定の基準符号量QRとを入力とし、目標符号量QTを仮決定する(この仮決定された目標符号量を「仮の目標符号量」或いは「第1の目標符号量」と呼ぶこともある)とともに、仮決定された目標符号量(仮の目標符号量)QTと、フレーム間変化量VAとに基づいて第2のフレームスキップ挿入回数NBを決定するとともに、現フレームの符号化方法を決定するとともに、後述のようにして目標符号量を最終決定する。決定されたフレームスキップ挿入回数NBはフレームスキップ制御部6へ供給され、決定された符号化方法及び最終決定された目標符号量は符号化制御部9に供給される。
フレーム目標符号量設定部6の内部構成の一例が図5に示されている。
図示のようにこのフレーム目標符号量設定部6は、メモリ61と、目標符号量演算部62と、判定部63と、乗算部64と、選択部65とを有する。
メモリ61には、所定の基準符号量QRと、前フレームの目標符号量とを記憶している。前フレームの目標符号量は、前フレームについての目標符号量の決定に際し、後述のように選択部65から出力されたものが、メモリ61に書込まれる。
目標符号量演算部62は、例えばメモリ61に記憶された所定の基準符号量QRと、同じくメモリ61に記憶された前フレームの目標符号量と、符号量検出部5で検出された前フレームの符号量(「発生符号量」とも言う)QBとに基づいて現フレームのための仮の目標符号量QTを算出する。
判定部63は、後述の判定を行って、フレームスキップ挿入回数NBを「1」とするか「0」とするかの判定、符号量の割増しを行うかどうかの判定を行う。
乗算部64は、仮の目標符号量QTに「1」より大きい係数kを掛けて割増した目標符号量k×QTを発生する。
選択部65は、判定部63から出力される割増しの要否を示す信号WMに従って、割増す前の目標符号量QT又は割増した目標符号量k×QTのいずれかを選択し、選択したものを最終の目標符号量QUとして出力する。(「最終の目標符号量」或いは「第2の目標符号量」と呼ぶのは、上記した「仮の目標符号量」或いは「第1の目標符号量」との区別のためであり、両者の混同が生じないときは単に「目標符号量」と呼ぶこともある。)
割増し要のときは、割増した目標符号量k×QTを選択し、割増し不要のときは、割増す前の目標符号量QTを選択する。
判定部63は、入力画像解析部7から供給されるフレーム間変化量VAが、第2の閾値(変化量閾値)TW以上であり、かつ仮の目標符号量QTが所定の閾値(符号量閾値)TM未満であるときはフレームスキップ挿入回数NBを「1」とする。
本例では、第2の閾値TWは第1の閾値TVよりも大きい。しかし、第2の閾値TWが第1の閾値よりも小さくても良く、また第2の閾値TWが第1の閾値TVと等しくても良い。
判定部63は、フレーム間変化量VAが第1の閾値以上で、第2の閾値TW未満であるとき、或いは、仮の目標符号量QTが閾値TM以上であるときは、フレームスキップ挿入回数NBを「0」とする。
判定部63は、さらにフレーム間変化量VAが第1の閾値TV以上であるが第2の閾値TW未満であるときは、割増し要否を示す信号WMを「1」(割増し要であることを示す値)にする。
フレームスキップ制御部8は、入力画像解析部7からのフレームスキップ挿入回数NAと、フレーム目標符号量設定部6からのフレームスキップ挿入回数NBを入力とし、フレームスキップ挿入可否情報SKを出力する。
より具体的には、フレームスキップ制御部8は、フレームスキップ挿入回数NAとフレームスキップ挿入回数NBの平均値を計算して小数点未満を切り捨て、その結果をフレームスキップ挿入可否情報SKとして出力する。
本例では、フレームスキップ挿入回数NA及びフレームスキップ挿入回数NBの両方が「1」であれば、フレームスキップ挿入可否情報SKが「1」となり、それ以外のときはフレームスキップ挿入可否情報SKは「0」となる。
符号化制御部9は、フレームスキップ制御部8から出力されるフレームスキップ挿入可否情報SKと、フレーム目標符号量設定部6から出力される目標符号量QUと、符号量検出部5で検出された符号量とを入力とし、符号化器3に対し、フレームスキップの制御及び符号化方法及び量子化パラメータの設定を行う。
具体的には、フレームスキップ制御部8からのフレームスキップ挿入可否情報SKが「1」であれば、符号化器3に対してフレームスキップを指示する。
また、フレームスキップ挿入可否情報SKによりフレームスキップを行ったときは、次のフレームでフレーム内符号化を指示する。フレームスキップ挿入可否情報SKによるフレームスキップを行わない場合にも、周期的に、即ち所定のフレーム数(「フレーム内符号化周期」と言うことがある)毎にフレーム内符号化を指示する。
符号化制御部9はさらに、以下のようにして量子化パラメータ(量子化のステップサイズ)を決定する。
まず、周期的にフレーム内符号化されるフレームについては、先頭のマクロブロックの量子化パラメータ(量子化パラメータの初期値)を以下のようにして決める。即ち、1フレーム内符号化周期前にフレーム内符号化されたフレームの各マクロブロックで用いた量子化パラメータの平均を求めて整数化し、これを当該フレームの量子化パラメータの初期値とする。但し、この場合、符号量検出部5で検出された、1フレーム内符号化周期前のフレームにおける発生符号量と、当該1フレーム内符号化周期前のフレームの目標符号量とに基づいて、量子化パラメータの初期値に修正を加える。即ち、1フレーム内符号化周期前のフレームの発生符号量が目標符号量よりも多ければ、量子化パラメータを小さくする修正を加え、1フレーム内符号化周期前のフレームの発生符号量が目標符号量よりも少なければ、量子化パラメータを大きくする修正を加える。
フレームスキップを行った場合、スキップされたフレームの次のフレームについては、フレーム内符号化を行うが、その場合には、量子化パラメータを初期設定する。この場合、例えば、予め定められた量子化パラメータを初期値として用いる。なお、予め定めた初期値を用いる代わりに、上記のように、周期的に行われるフレーム内符号化の場合と同様に量子化パラメータの初期値を定めても良い。
フレーム内符号化されるフレーム以外については、フレーム目標符号量設定部6から供給された目標符号量QUと、前フレームの目標符号量と、前フレームの量子化パラメータに基づいて量子化パラメータを決定して出力する。
符号化制御部9は、このようにして定められた量子化パラメータに基いて、各マクロブロック毎の量子化パラメータを定めて符号化器3に対して量子化パラメータを指示する。
符号化器3は、符号化制御部9からフレームスキップを指示されたときは、そのフレームの符号化を行わない。符号化器3はまた、符号化制御部9からフレーム内符号化を指示されたときは、フレーム内符号化を行い、フレーム内符号化を指示されないときはフレーム間符号化を行う。符号化器3はさらに、符号化制御部9から指示された量子化パラメータで量子化を行う。
符号化制御部9と符号化器3とで、スイッチ2を介して供給される動画像をフレーム内符号化またはフレーム間符号化に基づき、量子化されたDCT係数を符号化する符号化手段10が構成されている。
以上のように構成される動画像符号化装置において、フレーム間変化量VAと閾値TW、TV(TW,TVは整数、TW≧TV>0)との比較により、符号化方法及び量子化パラメータの決定、フレームスキップ挿入の要否の決定を行っている。
要約すれば、フレーム間変化量VAが第2の閾値TW以上であり(この場合本例では第1の閾値TV以上である)かつ仮の目標符号量QTが所定の閾値TM未満であるときは、フレームスキップを行い、次のフレームでフレーム内符号化を行い、量子化パラメータを初期設定する。
フレーム間変化量VAが第1の閾値TV以上であると言う条件は満たされるものの、フレーム間変化量VAが第2の閾値TW未満であるか、仮の目標符号量QTが閾値TM以上であるときは、目標符号量の割増しを行って、フレーム間符号化を行う。
フレーム間変化量VAが第1の閾値TV未満のときはフレームスキップも目標符号量の割増しも行わず、フレーム間符号化を行う。
以下、図6を参照して符号化処理の概要を説明する。ここでは、N=1とし、Nフレーム前のフレームを単に前フレームと呼ぶ。
まず、前フレームと現フレームとがフレームメモリ1に格納される(ステップS1)。
入力画像解析部7で、現フレームと前フレームとのフレーム間変化量VAが検出され、これによりフレーム間の相違が定量的に判定される。そして検出されたフレーム間変化量VAに基づいてフレームスキップ挿入回数NAが設定され出力される(ステップS2)。即ち、フレーム間変化量VAが第1の閾値TV以上であればフレームスキップ挿入回数NAを「1」に設定する。
次に、フレーム目標符号量設定部6で、所定の基準符号量QR、前フレームの目標符号量QU及び実際に発生した符号量QBから仮の目標符号量(現フレームで使用が可能である符号量)を求め、さらに、求めた仮の目標符号量につき、フレーム間変化量VAを考慮に入れ、仮の目標符号量が所定値よりも少なければフレームスキップを考慮し、フレームスキップ挿入回数NBを設定する(ステップS3)。即ち、フレーム間変化量VAが第2の閾値TW以上で、かつ、仮の目標符号量QTが閾値TM未満であればフレームスキップ挿入回数NBを「1」に設定する。
次に、ステップS2で算出したフレームスキップ挿入回数NAと、ステップS3で算出したフレームスキップ挿入回数NBをフレームスキップ制御部8において組み合わせることにより、フレームスキップ挿入可否情報SKを設定する(ステップS4)。
ステップS4におけるフレームスキップ制御部8の動作とともに、フレーム目標符号量設定部6及び符号化制御部9では、フレーム間変化量VA及び仮の目標符号量QTについての判定結果に基づいて目標符号量の制御、割増しの要否の決定などを行う(ステップS5,S6)。
フレーム間変化量VAが第1の閾値TV未満である場合(ステップS5でNO)、フレーム間における映像の変化量が小さいと考えられるため、フレーム間符号化で符号量を増やす必要は無い。そこで、符号量を割り増しを行わず、フレーム目標符号量設定部6で定められた目標符号量に基づいて、さらに前フレームで用いた量子化パラメータを参照して新たに量子化パラメータを設定し、現フレームに対して符号化手段10でフレーム間符号化を行う(ステップS12)。
符号化手段10でフレーム間符号化されたビットストリームはバッファ4に格納され(ステップS13)、符号量検出部5で符号量QBが検出される(ステップS14)。
これにより、一つのフレームに対する処理が終わり、次のフレームに対する処理が始まる。
フレーム間変化量VAが第1の閾値TV以上であると言う条件は満たされる(ステップS5でYES)ものの、フレーム間変化量VAが第2の閾値TW未満であるか、仮の目標符号量QTが閾値TM以上である(ステップS6でNO)場合には、現フレームに対して符号量を割増し、割増した目標符号量に基づいて、さらに前フレームで用いた量子化パラメータを参照して、フレーム間符号化を行う(ステップS9)。符号量を割増すのは、フレーム間における映像の変化量が大きいためである。
フレーム間符号化されたビットストリームをバッファへ格納し(ステップS10)、符号量QBを検出して(ステップS11)、現フレームの処理を終了とし、次フレームの符号化処理へ進む。
フレーム間変化量VAが第2の閾値TW以上であり、仮の目標符号量QTが閾値TM未満であれば(ステップS6でYES)場合には、上記のように、フレームスキップ制御部8から出力されるフレームスキップ挿入可否情報SKが「1」となるので、これに基づき符号化手段10ではフレームの符号化をスキップし、符号化処理を行わない(ステップS7)。
スキップしたフレームの次フレームでは、前フレームで用いた量子化パラメータを参照せずに、量子化パラメータを所定の初期値に設定し、フレーム内符号化を行う(ステップS8)。
本発明は、以上の符号化手順の中で、フレーム間での画像の変化量が多い場合、フレーム間変化量VAに応じてフレームスキップ挿入の要否を判定し、判定結果に応じてフレームスキップを意図的に発生させて、フレームの符号化を行わないことにより、スキップしたフレームへの割当てが予定されていたフレーム目標符号量を、スキップ後のフレームへの割当てが予定されていたフレーム目標符号量に加え、スキップ後のフレームに対して画質劣化の少ない符号化を行う。
なお、フレームスキップ挿入回数NAは「1」に限らず、フレーム間変化量VAの大きさに応じてその数を増減させるようにすることもできる。また、フレームスキップ挿入回数NBは「1」に限らず、仮の目標符号量QTの大きさに応じてその数を増減させるようにすることもできる。
ここで、スキップしたフレームへの割当てが予定されていたフレーム目標符号量の、スキップ後のフレームへの割増しのための付加の方法について述べる。
まず、スキップしたフレームへの割当てが予定されていたフレーム目標符号量を、スキップ直後のフレームにすべて付加し、符号化を行うことができる。さらには、スキップ直後のフレームから数フレームに渡って符号量を均等に分配して付加することもできる。また、スキップ直後のフレームから数フレームに渡り、フレーム毎に異なる符号量を分配して付加することもできる。このとき、入力画像解析部7の出力を考慮して、フレーム間変化量VAが大きいときにより多くの符号量を分配することもできる。
次に、図1乃至図6を用いて、動画像符号化装置100のフレーム符号化処理動作について詳細に説明する。
まず、本実施の形態1における動画像符号化装置100の各部を統括して制御する上位の制御系(図示しない)により入力端子11を介して入力された一連のフレームが、順次フレームメモリ1に格納され、現フレームと前フレームとがそれぞれ領域1bと1aとに格納された状態が維持される(ステップS1)。
フレームメモリ1内に記憶された相連続する現フレームと前フレームとは、入力画像解析部7に入力され、両フレーム間における特徴量の変化量が図3の変化量抽出部22で検出され、検出されたフレーム間変化量VAが比較器24において予め設定された第1の閾値TVと比較されて、その結果によって、フレームスキップ挿入回数NAが設定され、フレームスキップ制御部8へ出力する(ステップS2)。
フレーム間変化量VAの検出には、図4に示すように、フレーム間輝度変化平均を用いている。具体的には、連続するフレーム間の輝度信号のみに注目し、各画素で差の絶対値を取り、さらに画素全体の和を取ることによってフレーム間変化量VAとする。
ここで、連続するフレーム間変化量VAの検出は、上記の方法に限るものでは無く、フレーム間変化量VAを例えば色信号により検出しても良い。
また、フレーム間変化量の検出は現フレームと前フレームとの間で行っているが、現フレームと比較するフレームは複数のフレームであっても構わない。また、フレーム間の誤差分散や画面内の信号値の最大値、最小値、中央値など、画面の特徴値を用いることもできる。また、連続するフレーム間の変化量の計算を画面全体について行っているが、これに限るものではなく、画面をいくつかの部分に分割して、分割した小領域内で計算し、比較してもよい。また、これら全てのフレーム間変化量の検出方法を組み合わせてもよく、これらの組み合わせで、各方法が当てはまるかどうかの多数決によりフレーム間変化量と閾値との比較をする方法、各方法に重みをつけて当てはまるかどうかの多数決によりフレーム間変化量と閾値との比較をする方法、所定数以上の方法でフレーム間変化量VAと閾値との比較をする方法、特定の方法でフレーム間変化量と閾値との比較をする方法等があるが、これらも本発明に包含される。
次に、フレーム目標符号量設定部6では、所定の基準符号量QRと、符号量検出部5で検出された前フレームの符号量QBとから、現フレームの目標符号量QTを仮決定する。
また、仮決定された目標符号量(仮の目標符号量)につき、入力画像解析部7から得られるフレーム間変化量VAを考慮にいれて、割増しを行って最終の目標符号量を定める。さらに、フレームスキップを行う判定を行い、フレームスキップ制御部8にフレームスキップ挿入回数NBを出力する。符号化制御部9では、目標符号量から量子化パラメータを算出し、符号化器3に量子化パラメータと符号化方法を出力する(ステップS3)。
例えば、仮の目標符号量QTが閾値TM未満であり、フレーム間変化量VAが第2の閾値TW以上である場合、フレームスキップ挿入回数NBを「1」として出力し、そうでないときは、フレームスキップ挿入回数NBを「0」として出力する。
但し、フレームスキップ挿入回数NBの設定は上述の手法に限るものでは無く、フレーム間変化量VAの大きさに応じてフレームスキップ挿入回数NBを変化させることとしても良い。
次に、ステップS2で出力されたフレームスキップ挿入回数NA、ステップS3で出力されたフレームスキップ挿入回数NBをフレームスキップ制御部8に入力し、フレームスキップ制御部8においてフレームスキップ挿入可否情報SKを設定してスイッチ2に出力する(ステップS4)。
最初に、フレーム間変化量VAが第1の閾値TVよりも小さい場合について説明する。
この場合には、入力画像解析部7からフレームスキップ制御部8へ、フレームスキップ挿入回数NAを「0」として出力する(ステップS2)。また、入力画像解析部7から第1の閾値TVよりも小さいフレーム間変化量VAを入力したフレーム目標符号量設定部6は、符号量検出部5から前フレームの符号量QBに基づいて目標符号量を求め、求めた目標符号量を符号化制御部9へ伝え、さらに、フレームスキップ制御部8へフレームスキップ挿入回数NBを「0」として出力する(ステップS3)。
フレームスキップ制御部8は、入力画像解析部7から入力したフレームスキップ挿入回数NA(=0)と、フレーム目標符号量設定部6から入力したフレームスキップ挿入回数NB(=0)の平均値(=0)を計算し、小数点未満の切り捨てを行い、その結果(0)をフレームスキップ挿入可否情報SK(=0)として符号化制御部9及びスイッチ2へ出力する(ステップS4)。
符号化制御部9は、フレーム目標符号量設定部6からの目標符号量に基づき、さらに前フレームを参照して量子化パラメータを決定し、符号化器3へ符号化方法と量子化パラメータを出力し、符号化器3でこれに従って現フレームのフレーム間符号化を行う(ステップS12)。
バッファ4は符号化されたビットストリームを出力し(ステップS13)、符号量検出部5はバッファ4から受け取ったビットストリームの符号量QBを検出し、この検出値を次フレームの符号化における符号量制御のための発生符号量検出値として、フレーム目標符号量設定部6に出力する(ステップS14)。
次に、入力画像解析部7から出力されたフレーム間変化量VAが、第1の閾値TV以上であると言う条件は満たされるものの、フレーム間変化量VAが第2の閾値TW未満であるか、仮の目標符号量QTが閾値TM以上である場合について説明する。
入力画像解析部7はフレーム間変化量VAが第1の閾値TVよりも大きいので、フレームスキップ制御部8へフレームスキップ挿入回数NAを「1」として出力する(ステップS2)。入力画像解析部7からフレーム間変化量VAを入力したフレーム目標符号量設定部6は、符号量検出部5から前フレームの符号量QBに基づいて目標符号量を求め、求めた目標符号量を符号化制御部9へ伝え、フレームスキップ制御部8へフレームスキップ挿入回数NBを「0」として出力する(ステップS3)。
フレームスキップ制御部8は、入力画像解析部7から入力したフレームスキップ挿入回数NA(=1)と、フレーム目標符号量設定部6から入力したフレームスキップ挿入回数NB(=0)の平均値(=0.5)を計算し切り捨てを行い、その結果(0)をフレームスキップ挿入可否情報SK(=0)として符号化制御部9及びスイッチ2へ出力する(ステップS4)。
符号化制御部9は、フレーム目標符号量設定部6からの目標符号量に基づき、さらに前フレームを参照して量子化パラメータを決定し、符号化器3へ符号化方法と量子化パラメータを出力し、符号化器3でこれに従って現フレームのフレーム間符号化を行う(ステップS9)。
バッファ4は符号化されたビットストリームを出力し(ステップS10)、符号量検出部5はバッファ4から受け取ったビットストリームの符号量QBを検出し、この検出値を次フレームの符号化における符号量制御のための情報として、フレーム目標符号量設定部6に出力する(ステップS11)。
次に、フレーム間変化量VAが第2の閾値TWよりも大きく(本例ではTW>TVであるので、VA≧TW以上であれば、VA>TVである)、かつ仮の目標符号量QTが閾値TM未満である場合について説明する。
入力画像解析部7はフレーム間変化量VAが第1の閾値TVよりも大きいので、フレームスキップ制御部8へフレームスキップ挿入回数NAを「1」として出力する(ステップS2)。入力画像解析部7からフレーム間変化量VAを入力したフレーム目標符号量設定部6は、フレーム間変化量VAが第2の閾値TWよりも大きく、かつ仮の目標符号量QTが閾値TM未満であるので、フレームスキップ制御部8へフレームスキップ挿入回数NBを「1」として出力する(ステップS3)。
フレームスキップ制御部8は、入力画像解析部7から入力したフレームスキップ挿入回数NA(=1)と、フレーム目標符号量設定部6から入力したフレームスキップ挿入回数NB(=1)の平均値(=1)を計算し切り捨てを行い、その結果(=1)をフレームスキップ挿入可否情報SK(=1)として符号化制御部9及びスイッチ2へ出力する(ステップS4)。
符号化制御部9は、符号化器3へ符号化方法と量子化パラメータを出力せずにフレームスキップを行わせ(ステップS7)、次フレームの符号化の準備をする(ステップS8)。そして次のフレームの符号化に関し、フレーム内符号化を指示し、量子化パラメータを初期設定する(例えば、符号量検出部5から入力された前フレームの符号量QBを参照せずに量子化パラメータを所定の初期値に設定する)。
フレームスキップを行った場合、次フレームでは、入力画像解析部7ではフレーム間変化量VAの算出は行わず、フレームスキップ制御部8はフレームスキップ挿入可否情報SKとして「0」を出力し、スイッチ2がオンとなる。そして、符号化制御部9の出力である、前フレーム時に設定した符号化方法(フレーム内符号化を指示している)と初期設定された量子化パラメータを用いて、符号化器3が符号化処理を行うこととなる。
バッファ4は符号化されたビットストリームを出力し、符号量検出部5はバッファ4から受け取ったビットストリームの符号量QBを検出し、この検出値を次フレームの符号化における符号量制御のための情報として、フレーム目標符号量設定部6に出力する。
ここで、フレームスキップ挿入回数NA、フレームスキップ挿入回数NB、フレームスキップ挿入可否情報SKの決定手法は上記の方法に限らない。
上記の例では、フレームスキップ挿入回数NAがフレーム間変化量VAの大きさによって「0」、あるいは「1」を取ることとしたが、フレーム間変化量VAに基づいて回数を多段に設定させても良い。即ち、フレーム間変化量VAの大きさに応じてフレームスキップ挿入回数NAを増減させることとしても良い。
実施の形態1では、フレームスキップ挿入回数NBがフレーム間変化量VAと仮の目標符号量QTとを組み合わせて「0」あるいは「1」を取ることとしたが、フレーム間変化量VAと仮の目標符号量QTとの組み合わせに基づいてフレームスキップ挿入回数を多段に設定(複数の値のうちの一つを選択)しても良い。また、仮の目標符号量QTの大きさに応じてフレームスキップ挿入回数NBを増減させることとしても良い。
また、フレームスキップ挿入回数NAは常に「0」を取るものとし、フレームスキップ挿入回数NBのみを用いてもよく、その逆としてフレームスキップ挿入回数NBを常に「0」としてフレームスキップ挿入回数NAのみを用いても良い。
また、フレームスキップ挿入可否情報SKの決定において、実施の形態1ではフレームスキップ挿入回数NAとフレームスキップ挿入回数NBの平均値を計算し小数点未満の切り捨てを行ったが、それらの合計を求めてもよく、またはそれらの最大値を求めて良く、またはフレームスキップ挿入回数NA、NBを「0」あるいは「1」と限定しておき論理和演算などを行うことも可能である。これらはすべて本発明に包含される。
次に、実施の形態1において連続して供給される一連のフレーム(フレームシーケンス)を順次符号化処理する具体例を図7乃至図10で示し、本実施の形態の処理を説明する。
図7及び図9は、複数のフレームから成るフレームシーケンスの例と、該フレームシーケンスにおける前フレームに対するフレーム間変化量VA、各フレームに対して決定される符号化方法を示す。
図8及び図10は、上記フレームシーケンスの各時点における目標符号量を棒グラフとして、符号化方法とともに示したものである。
フレーム間変化量VAに対する閾値TW、TVはそれぞれTW=80、TV=20と設定されている。
まず、図7、図8を参照して符号量の割増しが発生するフレームシーケンスについて説明する。
最初に、図7において、時点T=a0からT=a1にかけてフレーム間変化量VAが0/pixelであり、第1の閾値TV未満である。この場合、通常処理により符号化を行っても画質劣化は少ない。したがって、図8で示すように同フレームでは、割増し無しのフレーム目標符号量で(割増し無しのフレーム目標符号量を最終の目標符号量として)フレーム間符号化を行っている。
時点T=a1からT=a2にかけてフレーム間変化量VAが10/pixelであり、第1の閾値TV未満である。この場合、通常処理により符号化を行っても画質劣化は少ない。そこで、図8で示すように同フレームでは、割増し無しのフレーム目標符号量でフレーム間符号化を行っている。
時点T=a2からT=a3にかけてフレーム間変化量VAが40/pixelであり、第1の閾値TV以上で第2の閾値TW未満である。この場合、通常より多い符号量を用いた符号化処理し画質劣化を抑える必要がある。そこで、同フレームでは、符号量を割増し、フレーム間符号化を行う。例えば、図8で示すようにフレーム目標符号量を2倍に割増してフレーム間符号化を行う。
時点T=a3からT=a4にかけてフレーム間変化量VAが10/pixelであり、第1の閾値TV未満である。この場合、通常処理により符号化を行っても画質劣化は少ない。そこで、図8で示すように同フレームでは、割増し無しのフレーム目標符号量でフレーム間符号化を行っている。
時点T=a4からT=a5にかけてフレーム間変化量VAが15/pixelであり、第1の閾値TV未満である。この場合、通常処理により符号化を行っても画質劣化は少ない。そこで、図8で示すように同フレームでは、割増し無しのフレーム目標符号量でフレーム間符号化を行っている。
時点T=a5からT=a6にかけてフレーム間変化量VAが15/pixelであり、第1の閾値TV未満である。この場合、通常処理により符号化を行っても画質劣化は少ない。そこで、図8で示すように同フレームでは、割増し無しのフレーム目標符号量でフレーム間符号化を行っている。
次に、図9、図10を参照してフレームスキップ及び符号量割増しが発生するフレームシーケンスについて説明する。
最初に、時点T=b0からT=b1にかけてフレーム間変化量VAが15/pixelであり、第1の閾値TV未満である。この場合、通常処理により符号化を行っても画質劣化は少ない。そこで、図10で示すように同フレームでは、割増し無しのフレーム目標符号量でフレーム間符号化を行っている。
時点T=b1からT=b2にかけてフレーム間変化量VAが15/pixelとであり、第1の閾値TV未満である。この場合、通常処理により符号化を行っても画質劣化は少ない。そこで、図10で示すように同フレームでは、割増し無しのフレーム目標符号量でフレーム間符号化を行っている。
時点T=b2からT=b3にかけてフレーム間変化量VAが100/pixelであり、第2の閾値TW以上である。この場合、通常処理により符号化を行うと画質が劣化してしまう。そこで、仮の目標符号量が閾値TM未満であることを条件として、フレームスキップを意図的に行い、符号化処理を行わず、次フレームにこのときの符号量を回すこととする。この結果、図10に示すように、同フレームでは、符号量が「0」となる。
T=b3からT=b4にかけては、前フレームが符号化されておらず、T=b4のフレームにおいて、前フレームで用いられた量子化パラメータを参照せず、量子化パラメータを所定の初期値に設定し、フレーム内符号化を行う。
つまり、フレーム間変化量VAが大きくなるフレームの次フレームは、前フレームとの相関性が低くなり、過去のフレームの量子化パラメータを参照する必要性は少ないことから、前フレームとは独立に次フレームに適切な量子化パラメータを与え、フレーム内符号化を行うことで、画質の劣化の少ない符号化を行う。一般的に、フレーム内符号化はフレーム間符号化よりも多い符号量を要するが、前フレームで意図的にフレームスキップを行ったため利用可能な符号量が減っておらず、その分の符号量を次フレームの符号化に付加することができ、次フレームでフレーム内符号化を行っても画質の劣化が少なくなる十分な符号量を割当てることができる。
時点T=b4からT=b5にかけてフレーム間変化量VAが10/pixelであり、第1の閾値TV未満である。この場合、通常処理により符号化を行っても画質劣化は少ない。そこで、図10で示すように同フレームでは、割増し無しの目標符号量でフレーム間符号化を行っている。
時点T=a5からT=a6にかけてフレーム間変化量VAが40/pixelであり、第1の閾値TV以上で第2の閾値TW未満である。この場合、通常より多い符号量を用いた符号化処理し画質劣化を抑える必要がある。そこで、同フレームでは符号量を割増し、フレーム間符号化を行う。例えば、図10に示すようにフレーム目標符号量を2倍に割増してフレーム間符号化を行う。
フレーム間変化量VAに対する閾値の設定は、上記のように、第1の閾値TV及び第2の閾値TWの2つを用いる代わりに、閾値を値の低いものから順に第1乃至第4の閾値Ta、Tb、Tc、Tdを設定し、フレーム間変化量VAが第1の閾値Ta未満であれば割増し無しの符号量でフレーム間符号化を行い、第1の閾値Ta以上で第2の閾値Tb未満であれば符号量を割増してフレーム間符号化を行い、第2の閾値Tb以上で第3の閾値Tc未満であれば量子化パラメータを初期化してフレーム内符号化を行い、第3閾値Tc以上で第4の閾値Td未満であれば、フレームスキップ数を「1」とし、第4の閾値Td以上であればフレームスキップ数を「3」とするなど、上記とは異なる構成とすることもできる。
また、フレーム間変化量VAに対する閾値の設定として、複数個の閾値を用意しておき、フレーム毎に選んで用いることもできる。さらに、数フレーム毎に閾値の設定を変化させて、数フレーム毎に適切な閾値を用いることもできる。
実施の形態1における量子化パラメータの推移を図11を用いて説明する。
まず、時点T=Iaは、周期的に挿入されるフレーム内符号化に用いる量子化パラメータのため小さい値を取る。つまり、細かい量子化を行っており符号量は多くなる。
時点T=Ia以降時点T=Ibまでは、フレーム間変化量VAが少なくフレーム間符号化を行うため、比較的大きい量子化パラメータを用いても画質の劣化は少ないことから、パラメータを大きくする。つまり、粗い量子化を行っており符号量は少なくて済む。また、前フレームで用いた量子化パラメータを参照して量子化パラメータを求める。
時点T=Ibでは、周期的に挿入されるフレーム内符号化に用いる量子化パラメータのため小さい値を取る。つまり、細かい量子化を行っており符号量は多くなる。
さらに、時点T=b2まではフレーム間符号化を行うため、比較的大きい量子化パラメータを用いても画質の劣化は少ないことから、パラメータを大きくする。つまり、粗い量子化を行っており符号量は少なくて済む。また、前フレームで用いた量子化パラメータを参照して量子化パラメータを求める。
時点T=b2と時点T=b3間では、フレーム間変化量VAが大となり、時点T=b3で意図的にフレームスキップをさせている。このとき、時点T=b3では符号化が行われないため、量子化パラメータは設定されない。従って、図11では量子化パラメータを表す曲線が中断されることとなる。
時点T=b4では、前フレームで用いた量子化パラメータを参照せずに量子化パラメータを所定の初期値に設定し、フレーム内符号化を行う。この場合、画質の劣化を防ぐために量子化パラメータを小さくする。その結果、符号量は増加する。しかし前フレームで符号化を行わなかったため、前フレームの符号量は0bitであり、前フレームで割当てられた符号量を現フレームで割当てられた符号量に加えて用いることができ、フレーム内符号化を挿入しても全体的な符号量は増えず、画質の劣化も少ない。さらに、フレーム間変化量VAが大きく、不連続な映像であると考えられ、フレームスキップを行っても不自然な映像とはならない。
時点T=Icまではフレーム間符号化を行うため、比較的大きい量子化パラメータを用いても画質の劣化は少ないことから、パラメータを大きくする。つまり、粗い量子化を行っており符号量は少なくて済む。
時点T=Icでは、周期的に挿入されるフレーム内符号化のため、用いる量子化パラメータのため小さい値を取る。つまり、細かい量子化を行っており符号量は多くなる。
時点T=Ic以降も同様にして、周期的にフレーム内符号化を挿入しつつフレーム間符号化を行う。また、フレーム間変化量VAを指標としてフレームスキップを意図的に導入し、画質劣化の少ない符号化を行う。
上記の実施の形態1によれば、フレームを符号化する際、フレーム間変化量VAが大きい場合、フレームスキップを意図的に発生させて、フレームの符号化を行わず、スキップしたフレームへの割当てが予定されていたフレーム目標符号量を、スキップ後のフレームへの割当てが予定されていたフレーム目標符号量に加えることができるので、スキップ後のフレームでは、十分な符号量を用いて画質劣化の少ない符号化を行うことができ、その結果、安定した画質と符号量制御を実現することができる。
また、上記のようにフレームスキップ挿入回数NAやフレームスキップ挿入回数NBは「1」か「0」ではなく、多段に設定することができ、例えば、フレーム目標符号量設定部6において、仮決定された目標符号量QTに基づいてフレームスキップ挿入回数NBを多値の中から一つの値に決定し、フレームスキップ制御手段8において、決定されたフレームスキップ挿入回数NBに基づいてフレームスキップを行わせるようフレームスキップ挿入可否情報の内容を定めることとすれば、仮決定された目標符号量の値に応じて、フレームスキップの回数を増減することができ、安定した画質と符号量制御を実現することができる。同様に、入力画像解析手段7が、検出したフレーム間変化量VAに基づいてフレームスキップ挿入回数NAを多値の中から一つの値に決定し、フレームスキップ制御手段8において、決定されたフレームスキップ挿入回数NAに基づいてフレームスキップを行わせるよう前記フレームスキップ挿入可否情報SKの内容を定めることとすれば、フレーム間変化量(VA)の値に応じて、フレームスキップの回数を増減することができ、安定した画質と符号量制御を実現することができる。
さらに、フレーム間変化量VAが第1の閾値TVよりも大きいと判定されたときに、フレーム目標符号量設定部6において、前記フレーム間変化量VAが前記第1の閾値TVよりも小さい場合に比べより多くの符号量を割当てることとすれば、画質劣化の少ない符号化を行うことができ、その結果、安定した画質と符号量制御を実現することができる。
実施の形態2.
次に、実施の形態2を説明する。実施の形態2の動画像符号化装置の構成を図12に示す。図12の装置は、図1の装置と概して同じであるが、入力画像解析部7及びフレームスキップ制御部8の構成が異なる。図13は、図12の入力画像解析部7の構成を示す。
図13に示される入力画像解析部7は、フレーム内複雑度FHをも検出できるようにしたものであり、図3の入力画像解析部7と同じく、Nフレーム前画像を入力する入力端子25と、現フレーム画像を入力する入力端子26と、入力端子25から入力されたNフレーム前画像と、入力端子26から入力された現フレーム画像間の変化量を抽出する変化量抽出部22と、第1の閾値TVを設定する閾値設定部23と、変化量抽出部22から出力されたフレーム間変化量VAを、閾値設定部23で設定された第1の閾値TVと比較してフレームスキップ挿入回数NAを出力する比較器24と、フレームスキップ挿入回数NAを出力する出力端子27と、フレーム間変化量VAを出力する出力端子28とを備える。
図13に示される入力画像解析部7はさらに、入力端子26から入力された現フレーム画像の複雑度FHを抽出する複雑度抽出部51と、閾値(複雑度閾値)THを設定する閾値設定部52と、複雑度抽出部51から出力されたフレーム内複雑度を閾値設定部52から出力された閾値THと比較してフレームスキップ挿入回数NCを出力する比較器53と、比較器24から出力されたフレームスキップ挿入回数NAと比較器53から出力されたフレームスキップ挿入回数NCを入力とし、これらに基づいてフレームスキップ挿入回数NDを決定して出力するフレームスキップ挿入回数仮決定部54と、フレームスキップ挿入回数NDを出力する出力端子29とを備える。
出力端子27から出力されるフレームスキップ挿入回数NAと出力端子29に出力されるフレームスキップ挿入回数NDとがフレームスキップ制御部8に供給される。
図13の複雑度抽出部51は例えば図14に示されるように、入力端子71と、エッジ抽出部72と、和演算部73と、平均演算部74と、出力端子75とを備える。
エッジ抽出部72は、入力端子71から入力された現フレーム画像のエッジ抽出する。即ち、各画素についてエッジの有無を検出する。和加算部73は、エッジ抽出部72により抽出されたエッジを入力として加算する。即ち、エッジとして検出された画素の数を求める。平均演算部74は、和演算部73から出力されるエッジ総数をフレーム内の画素数で割り、それを100倍した値を出力する。100倍するのは、取り扱いの容易な数値とするためである。平均演算部74から出力される値は、現フレームに含まれるエッジの割合、即ち1画素当たりのエッジ数に比例した値(1画素当たりのエッジ数を100倍した値)を表すものであり、これがフレーム内複雑度FHを表す信号として出力端子75から出力される。
次に、図12、図13、図14を用いて実施の形態2を説明する。実施の形態1の符号化処理と異なる部分のみ詳細に述べる。
まず、本実施の形態1と同様、動画像符号化装置100の各部を統括して制御する上位の制御系により入力されたフレームが、フレームメモリ1に一時的に蓄積される。
フレームメモリ1内に記憶された連続する現フレームと前フレームとを、入力画像解析部7に入力し、両フレーム間における特徴量の変化量を検出し、フレームスキップ挿入回数NAを求め、出力端子27からフレームスキップ制御部8に出力する。さらに、複雑度抽出部51で現フレームに対してフレーム内複雑度FHを検出し、フレームスキップ挿入回数NCを求める。そしてフレームスキップ挿入回数NAとフレームスキップ挿入回数NCとに基づきフレームスキップ挿入回数仮決定部54でフレームスキップ挿入回数NDを決定して出力端子29からフレームスキップ制御部8へ出力する。
フレーム間変化量VAの検出には、実施の形態1と同様に、様々な検出方法を用いることができる。また、フレーム内複雑度の検出も同様であり、実施の形態2では輝度信号に対して現フレーム画像の一画素中含まれるエッジ数を用いているが、たとえば輝度信号を用いずに、色信号を用いる方法や、フレームの一部を占める小領域内で検出処理を行ってもよく、複数の小領域に対して検出処理を行った後、それらを総合して(例えば平均を取って)複雑度を検出する方法などが考えられる。また、フレーム内複雑度の評価は画像の分散値を求めることや、DCT係数の高周波域を評価する方法など、様々な方法が考えられる。
実施の形態2では、フレーム内複雑度FHが閾値TH(TH≧0、THは整数)以上で、かつフレーム間変化量VAが第1の閾値TV以上である場合において、現フレームのフレーム間符号化には多くの符号量を要するものと判断し、フレームスキップ挿入回数NDを「1」として、現フレームに対してフレームスキップを意図的に発生させて、フレームの符号化を行わないことにより、フレームスキップしたフレームへの割当てが予定されていたフレーム目標符号量を、スキップ後のフレームへの割当てが予定されていたフレーム目標符号量に加え、スキップ後のフレームに対してフレーム内符号化を適用し、画質劣化の少ない符号化を行う。即ち実施の形態2では、フレームスキップ制御部8は、入力画像解析部7からのフレームスキップ挿入回数NDが「1」であれば、フレーム目標符号量設定部6からのフレームスキップ挿入回数NBの値の如何を問わず、フレームスキップ挿入可否情報SKを「1」として符号化手段10にフレームスキップを行わせる。ここで、フレーム内複雑度FHが閾値TH以上でなければ、実施の形態1と同様の符号化を行う。即ち、フレームスキップ制御部8は、入力画像解析部7からのフレームスキップ挿入回数NAとフレーム目標符号量設定部6からのフレームスキップ挿入回数NBとに基づいて実施の形態1で説明したのと同様の判断を行って、フレームスキップを行わせる。
フレーム内複雑度FHを用いることにより、フレーム間変化量VAが少ない場合でも、符号量が足りなくなり画質の劣化が生じてしまう符号化を回避することができる。
以上に述べたことを、図15、図16に示される具体的なフレームシーケンスの例について説明する。以下の説明でフレーム内複雑度FHに対する閾値THを20とする。
まず、時点T=c0からT=c1にかけてフレーム間変化量VAが15/pixelで閾値TVよりも小さく、フレーム内複雑度FHが3/pixelであり閾値THよりも小さい。この場合、通常処理により符号化を行っても画質劣化は少ない。そこで、図15に示すように、同フレームでは、割増し無しのフレーム目標符号量でフレーム間符号化を行っている。
時点T=c1からT=c2にかけてフレーム間変化量VAが15/pixelで閾値TVよりも小さく、フレーム内複雑度FHが5/pixelであり閾値THよりも小さい。この場合、通常処理により符号化を行っても画質劣化は少ない。そこで、図15に示すように、同フレームでは、割増し無しのフレーム目標符号量でフレーム間符号化を行っている。
時点T=c2からT=c3にかけてフレーム間変化量が100/pixelで第2の閾値TV以上であり、フレーム内複雑度FHが25/pixelであり閾値TH以上である。この場合、通常処理により符号化を行うと画質が劣化してしまう。そこで、フレームスキップを意図的に行い、符号化処理を行わず、次フレームにこのときの符号量を回すこととする。この結果、図15に示すように、同フレームでは、符号量が「0」となる。
T=c3からT=c4にかけては、前フレームが符号化されておらず、T=c4のみのフレームで符号化を行うため、前フレームで用いられた量子化パラメータを参照せずに量子化パラメータを所定の初期値に設定し、フレーム内符号化を行う。つまり、フレーム間変化量VAが大きくなるフレームの次フレームは、前フレームとの相関性が低くなり、過去のフレームの量子化パラメータを参照する必要性は少ない。従って、前フレームとは独立に次フレームに適切な量子化パラメータを与え、フレーム内符号化を行うことで、画質の劣化の少ない符号化を行う。一般的に、フレーム内符号化はフレーム間符号化よりも多い符号量を要するが、前フレームで意図的にフレームスキップを行ったため利用可能な符号量が減っておらず、その分の符号量を次フレームの符号化に割当てることができ、次フレームでフレーム内符号化を行っても画質の劣化が少なくなる十分な符号量を割当てることができる。
時点T=c4からT=c5にかけてフレーム間変化量VAが10/pixelで閾値TVよりも小さく、フレーム内複雑度FHも15/pixelと閾値THよりも小さい。この場合、通常処理により符号化を行っても画質劣化は少ない。そこで、図15に示すように、同フレームでは、割増し無しのフレーム目標符号量でフレーム間符号化を行っている。
時点T=c5からT=c6にかけてフレーム間変化量VAが40/pixelで、第1の閾値TV以上でかつ第2の閾値TW未満となることと、フレーム内複雑度FHが20/pixelと閾値THを超えている。この場合、通常より多い符号量を用いなければ画質劣化が起こると考えられる。そこで、図15に示すように、符号量を通常よりも例えば2倍に割増してフレーム間符号化を行う。
フレーム内複雑度FHにおける閾値THの設定は、限定された値を持つわけでは無く、フレームに対して適切なものを選ぶことができる。また閾値THを多段階に設定し、フレームスキップ挿入回数を増減することも可能である。
実施の形態2において、量子化パラメータの推移を図17に示すフレームシーケンスについて説明する。
まず、時点T=Icは、周期的に挿入されるフレーム内符号化に用いる量子化パラメータのため小さい値を取る。つまり、細かい量子化を行っており符号量は多くなる。
時点T=c2まではフレーム間符号化を行うため、比較的大きい量子化パラメータを用いても画質の劣化は少ないことから、パラメータを大きくする。つまり、粗い量子化を行っており符号量は少なくて済む。また、前フレームで用いた量子化パラメータを参照して量子化パラメータを求める。
時点T=c2と時点T=c3間のフレーム間変化量VAが大となり、かつT=c3でフレーム内複雑度FHが大となっているので、時点T=c3で意図的にフレームスキップをさせることとする。このとき、時点T=c3では符号化が行われないため、量子化パラメータは設定されず、図17に示すように、曲線が中断されることとなる。
時点T=c4では、前フレームで用いた量子化パラメータを参照せずに量子化パラメータを所定の初期値に設定し、フレーム内符号化を行う。この場合、画質の劣化を防ぐために量子化パラメータを小さくする。その結果、符号量は増加する。しかし前フレームで符号化を行わなかったため、前フレームの符号量QBは0bitであり、前フレームで割当てられた符号量を現フレームで割当てられた符号量に加えて用いることができ、フレーム内符号化を挿入しても全体的な符号量は増えず、画質の劣化も少ない。さらに、フレーム間変化量VAが大きく、不連続な映像であると考えられ、フレームスキップを行っても不自然な映像とはならない。
時点T=Idまではフレーム間符号化を行うため、比較的大きい量子化パラメータを用いても画質の劣化は少ないことから、パラメータを大きくする。つまり、粗い量子化を行っており符号量は少なくて済む。
時点T=Idでは、周期的に挿入されるフレーム内符号化を行うので、量子化パラメータを小さくする。つまり、細かい量子化を行っており符号量は多くなる。
時点T=Id以降も同様にして量子化パラメータを制御し符号化を行う。
上記の実施の形態2によれば、フレームを符号化する際、フレーム間変化量VAが閾値よりも大きく、かつフレーム内複雑度FHが閾値よりも大きい場合、フレームスキップを意図的に発生させて、フレームの符号化を行わず、スキップしたフレームへの割当てが予定されていたフレーム目標符号量を、スキップ後のフレームへの割当てが予定されていたフレーム目標符号量に加えることができるので、実施の形態1について述べた効果に加え、スキップ後のフレームに対して画質劣化の少ない符号化を行うことができ、その結果、安定した画質と符号量制御を実現することができる。
実施の形態1の動画像符号化装置の全体的構成を示すブロック図である。 図1のフレームメモリの構成を示す図である。 図1の動画像符号化装置における入力画像解析部7の構成を示すブロック図である。 図3の入力画像解析部7における変化量抽出部22の構成を示すブロック図である。 図1の動画像符号化装置におけるフレーム目標符号量設定部6の構成を示すブロック図である。 実施の形態1の動画像符号化装置における符号化処理の動作の手順を示す図である。 実施の形態1において、符号量割増しが発生するフレームシーケンス中のフレーム間変化量VA及び各フレームの符号化方法を示す図である。 実施の形態1における図7の各時点での目標符号量を示す図である。 実施の形態1において、フレームスキップ及び符号量割増しが発生するフレームシーケンス中のフレーム間変化量VA及び各フレームの符号化方法を示す図である。 実施の形態1における図9の各時点での目標符号量を示す図である。 実施の形態1における量子化パラメータの推移を示す図である。 実施の形態2の動画像符号化装置の全体的構成を示すブロック図である。 実施の形態2における動画像符号化装置中の入力画像解析部7の構成を示すブロック図である。 図13の入力画像解析部7における複雑度抽出部51の構成を示すブロック図である。 実施の形態2において、フレームスキップ及び符号量割増しが発生するフレームシーケンス中のフレーム間変化量VA、並びに各フレームのフレーム内複雑度FH及び符号化方法を示す図である。 実施の形態2における図15の各時点での目標符号量を示す図である。 実施の形態2における量子化パラメータの推移を示す図である。
符号の説明
1 フレームメモリ、 2 スイッチ、 3 符号化器、 4 バッファ、 5 符号量検出部、 6 フレーム目標符号量設定部、 7 入力画像解析部、 8 フレームスキップ制御部、 9 符号化制御部、 10 符号化手段、 22 変化量抽出部、 23 閾値設定部、 24 比較器、 31 絶対値演算部、 32 和演算部、 33 平均演算部、 51 複雑度抽出部、 52 閾値設定部、 53 比較器、 54 フレームスキップ挿入回数仮決定部、 72 エッジ抽出部、 73 和演算部、 74 平均演算部、 100 動画像符号化装置。


Claims (7)

  1. 入力された動画像の現フレームと前フレームとのフレーム間変化量を検出する入力画像解析手段と、
    前記入力された動画像を符号化する符号化手段と、
    前記符号化手段から出力された符号化データの発生符号量と所定の基準符号量とにより、前記符号化手段で符号化するフレームの目標符号量を仮決定するフレーム目標符号量設定手段と、
    前記符号化手段における符号化をフレーム単位でスキップさせるフレームスキップ制御手段と
    を備えた動画像符号化装置において、
    前記入力画像解析手段が、フレーム間変化量に加え、入力された動画像の現フレームにおけるフレーム内複雑度も検出するように構成され、
    前記入力画像解析手段において、前記フレーム間変化量が所定の第1の変化量閾値以上であり、かつフレーム複雑度が所定の複雑度閾値以上であることが検出された場合に、前記フレームスキップ制御手段が、現フレームの符号化をスキップさせるようフレームスキップ挿入可否情報を設定、これにより前記符号化手段における符号化のフレーム単位でのスキップを制御する
    ことを特徴とする動画像符号化装置。
  2. 前記フレーム目標符号量設定手段が前記フレーム間変化量及び前記仮決定された目標符号量に基づいて最終の目標符号量を決定し、
    前記符号化手段は、
    前記入力された動画像をフレーム内符号化またはフレーム間符号化により符号化する符号化器と、
    前記フレームスキップ挿入可否情報に基づいてフレーム単位での符号化スキップを行うかどうか、及び符号化をフレーム内符号化で行うかフレーム間符号化で行うかを決定し、前記最終の目標符号量に基づいて量子化パラメータを設定し、これらの決定及び設定に基づいて前記符号化器を制御する符号化制御部と
    を有する
    ことを特徴とする請求項1に記載の動画像符号化装置。
  3. 前記符号化制御部は、現フレームの目標符号量と前フレームの量子化パラメータとに基づいて現フレームの量子化パラメータを定めることを特徴とする請求項2に記載の動画像符号化装置。
  4. 前記フレーム間変化量が前記第1の変化量閾値以上であると判定されたときに、前記フレーム目標符号量設定手段が、前記最終の目標符号量を、前記仮決定された目標符号量よりも大きな値とすることを特徴とする請求項2に記載の動画像符号化装置。
  5. 前記フレーム目標符号量設定手段において、前記フレーム間変化量が、所定の第2の変化量閾値以上であり、かつ前記仮決定された目標符号量が所定の符号量閾値未満であると判定されたときに、前記フレームスキップ制御手段は現フレームの符号化をスキップさせるように前記フレームスキップ挿入可否情報を設定する
    ことを特徴とする請求項1、2又は4に記載の動画像符号化装置。
  6. 前記符号化手段は、前記フレームスキップ挿入可否情報に基づいてスキップしたフレームの次のフレームをフレーム内符号化で符号化を行うことを特徴とする請求項1乃至5のいずれかに記載の動画像符号化装置。
  7. 前記符号化手段は、フレーム内符号化を行うときは、前フレームの量子化パラメータを参照せずに設定された量子化パラメータを設定することを特徴とする請求項6に記載の動画像符号化装置。
JP2005167721A 2005-06-08 2005-06-08 動画像符号化装置 Expired - Fee Related JP4073444B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005167721A JP4073444B2 (ja) 2005-06-08 2005-06-08 動画像符号化装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005167721A JP4073444B2 (ja) 2005-06-08 2005-06-08 動画像符号化装置

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2004152915A Division JP3889013B2 (ja) 2004-05-24 2004-05-24 動画像符号化装置及び動画像符号化方法

Publications (2)

Publication Number Publication Date
JP2005341601A true JP2005341601A (ja) 2005-12-08
JP4073444B2 JP4073444B2 (ja) 2008-04-09

Family

ID=35494562

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005167721A Expired - Fee Related JP4073444B2 (ja) 2005-06-08 2005-06-08 動画像符号化装置

Country Status (1)

Country Link
JP (1) JP4073444B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008053557A1 (en) * 2006-11-02 2008-05-08 Pioneer Corporation Moving picture re-encoding device, moving picture re-encoding method, moving picture re-encoding program, and recording medium containing the moving picture re-encoding program
CN103636212A (zh) * 2011-07-01 2014-03-12 苹果公司 基于帧相似性和视觉质量以及兴趣的帧编码选择
KR101371507B1 (ko) * 2007-02-20 2014-03-12 세종대학교산학협력단 저지연 영상 통신 시스템 및 방법
CN110113602A (zh) * 2019-04-22 2019-08-09 西安电子科技大学 一种h.264码率控制跳帧优化方法

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008053557A1 (en) * 2006-11-02 2008-05-08 Pioneer Corporation Moving picture re-encoding device, moving picture re-encoding method, moving picture re-encoding program, and recording medium containing the moving picture re-encoding program
JPWO2008053557A1 (ja) * 2006-11-02 2010-02-25 パイオニア株式会社 動画像再符号化装置、動画像再符号化方法、動画像再符号化プログラムおよび動画像再符号化プログラムを格納した記録媒体
KR101371507B1 (ko) * 2007-02-20 2014-03-12 세종대학교산학협력단 저지연 영상 통신 시스템 및 방법
CN103636212A (zh) * 2011-07-01 2014-03-12 苹果公司 基于帧相似性和视觉质量以及兴趣的帧编码选择
JP2014523713A (ja) * 2011-07-01 2014-09-11 アップル インコーポレイテッド 類似度、視覚的品質、および関心に基づくフレーム符号化選択
US9723315B2 (en) 2011-07-01 2017-08-01 Apple Inc. Frame encoding selection based on frame similarities and visual quality and interests
CN103636212B (zh) * 2011-07-01 2017-10-31 苹果公司 基于帧相似性和视觉质量以及兴趣的帧编码选择
CN110113602A (zh) * 2019-04-22 2019-08-09 西安电子科技大学 一种h.264码率控制跳帧优化方法

Also Published As

Publication number Publication date
JP4073444B2 (ja) 2008-04-09

Similar Documents

Publication Publication Date Title
KR100335052B1 (ko) 프레임 레벨 속도 제어 방법
JP3954656B2 (ja) 画像符号化装置及び方法
EP1833256B1 (en) Selection of encoded data, setting of encoded data, creation of recoded data, and recoding method and device
JP2012502590A (ja) 構成参照フレームを用いた動画符号化システムおよび方法
JPH0898185A (ja) 画像符号化装置
JP2001169281A (ja) 動画像符号化装置、および動画像符号化方法
JP4764136B2 (ja) 動画像符号化装置、及びフェードシーン検出装置
JP4532980B2 (ja) 動画像符号化装置及び方法、並びにコンピュータプログラム及びコンピュータ可読記憶媒体
WO2005115008A1 (ja) 動画像符号化装置
US8290041B2 (en) Communication terminal
JP4073444B2 (ja) 動画像符号化装置
JP5649296B2 (ja) 画像符号化装置
US8792562B2 (en) Moving image encoding apparatus and method for controlling the same
JP2001128179A (ja) 動画像符号化装置および方法
US7751474B2 (en) Image encoding device and image encoding method
KR101519653B1 (ko) 이미지 무손실 및 손실 압축 장치
JP4964689B2 (ja) 画像符号化方法,画像復号方法,画像符号化装置,画像復号装置,画像符号化プログラム,画像復号プログラムおよびコンピュータ読み取り可能な記録媒体
JP3480067B2 (ja) 画像符号化装置及び方法
JP4224662B2 (ja) 画像符号化装置および方法、画像復号装置および方法、ならびに画像処理装置
US6922490B2 (en) Image compression of selected regions based on transmission bit rate, motion, and/or region information, and bit selection before compression based on transmission bit rate
JPH10229563A (ja) 動画像符号化方法、及び動画像符号化装置
JP4676513B2 (ja) 符号化ピクチャタイプ決定方法,装置,そのプログラムおよびその記録媒体
JP3690259B2 (ja) 動画像高速符号化装置及び動画像高速符号化方法
JP3970267B2 (ja) 動画像符号化装置および動画像符号化方法
JP2005303362A (ja) 画像符号化装置及びプログラム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070710

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070907

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080122

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

Free format text: PAYMENT UNTIL: 20110201

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

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130201

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130201

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20140201

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees