JP4632049B2 - 動画像符号化方法及び装置 - Google Patents

動画像符号化方法及び装置 Download PDF

Info

Publication number
JP4632049B2
JP4632049B2 JP2005516646A JP2005516646A JP4632049B2 JP 4632049 B2 JP4632049 B2 JP 4632049B2 JP 2005516646 A JP2005516646 A JP 2005516646A JP 2005516646 A JP2005516646 A JP 2005516646A JP 4632049 B2 JP4632049 B2 JP 4632049B2
Authority
JP
Japan
Prior art keywords
frame
frames
image quality
encoding
picture
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
JP2005516646A
Other languages
English (en)
Other versions
JPWO2005064947A1 (ja
Inventor
慶一 蝶野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Publication of JPWO2005064947A1 publication Critical patent/JPWO2005064947A1/ja
Application granted granted Critical
Publication of JP4632049B2 publication Critical patent/JP4632049B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/115Selection of the code volume for a coding unit prior to coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/31Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the temporal domain
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/573Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction

Description

本発明は、動画像符号化技術に関し、特に、マルチフレーム動き予測を行う動画像符号化方法及び装置に関する。
図1は、動画像信号を符号化する従来の典型的な符号化装置の構成を示すブロック図である。
図1に示される符号化装置は、局所的復号装置を含んでおり、周波数変換装置101、量子化装置102、可変長符号化装置103、逆量子化装置104、逆周波数変換装置105、フレームメモリ106、フレーム内予測装置107、動き補償装置108、動き推定装置109、バッファ110および符号量制御装置111を備えている。さらに符号化装置は、減算器121、スイッチ122および加算器123を備えている。
入力画像フレームは、符号化装置に入力されて、複数のブロックに分割される。分割されたブロックは、減算器121によって、フレーム内予測あるいはフレーム間予測による予測値が減じられる。ここで、フレーム内予測とは、現在の符号化フレームの再構築領域を用いて現在の画像を予測する方法であり、フレーム間予測とは、過去に再構築された画像フレームを用いて現在の画像を予測する方法である。フレーム内予測あるいはフレーム間予測による予測値が減じられた画像ブロックを予測誤差と呼ぶ。なお、同一符号化フレームの隣接画素から予測値を生成するフレーム内予測のみで符号化フレーム内の全てのブロックを符号化した画像フレームをIピクチャと呼ぶ。フレーム内予測とフレーム間予測とを混在して用いて符号化された画像フレームをPピクチャと呼ぶ。さらに、フレーム間予測において、現在の符号化フレームに対して入力時刻が過去と未来である複数の画像フレームを参照して符号化された画像フレームを、Bピクチャと呼ぶ。
一般に、符号化動画像データにおいて、Iピクチャは一定周期で設定され、このIピクチャで区切られる複数フレームからなる区間をGOP(グループオブピクチャ;Group Of Picture)と呼ぶ。I,P,BピクチャおよびGOPの定義は、国際標準の動画像符号化規格であるMPEG(Motion Picture Expert Group)方式などで定められている。
次に、予測誤差は、周波数変換装置101によって周波数領域に変換される。周波数領域に変換された予測誤差は、量子化装置102によって量子化される。量子化された予測誤差すなわち変換係数は、可変長符号化装置103によってエントロピー符号化され、バッファ110に蓄積される。バッファ110は、蓄積した発生符号すなわちビットストリームを所定のタイミングで出力する。また、量子化された予測誤差は、局所的復号処理として、逆量子化装置104および逆周波数変換装置105により、再び元の空間領域の予測誤差に戻される。さらに空間領域に戻された予測誤差は、加算器123により予測値を加えられ、再構築画像としてフレームメモリ106に格納される。
フレームメモリ106に格納された再構築画像は、フレーム内予測装置107、動き補償装置108および動き推定装置109によって予測値の生成に参照される。よってフレームメモリ106に格納された再構築画像は参照フレームとも呼ばれる。
フレーム内予測装置107は、フレームメモリ107内の再構築画像に基づいてフレーム内予測を行い、予測値を出力する。動き推定装置109は、入力画像のブロックとフレームメモリ106から読み出される参照フレームとから、入力ブロックと予測値との差分すなわち予測誤差を最小にする、入力ブロックの動きベクトルと参照フレームとを検出する。動き補償装置108は、動き推定装置109から供給される動きベクトルと参照フレームを用いて、フレームメモリ106に格納された参照フレームから予測値を生成する。動き補償装置109による予測値はフレーム間予測に基づくものである。そこで、スイッチ122を設け、フレーム内予測装置107が出力する予測値と動き補償装置108が出力する予測値のうち、減算器121に供給される予測値を切り替えられるようにしている。
上記の処理によって圧縮された動画像情報であるビットストリームは、主にブロックごとの変換係数、量子化パラメータ、(予測誤差を最小にする)動きベクトル、および(予測誤差を最小にする)参照フレームからなる可変長符号によって構成されている。
以上は、動画像圧縮技術の基本動作である。
ところで、一般に、デジタル放送システムや画像通信サービスなどにおいて、動画像信号は、伝送・蓄積のために、その発生符号量すなわちビットレートが制御されている。そこで、符号量制御装置111は、可変長符号化装置103が供給する発生符号量を検出して、以下に示す2つの処理を実行して、発生符号量を制御する。
第1の処理では、符号量制御器111は、各ピクチャタイプに応じて各フレームに目標符号量を設定する。RをGOP内でまだ符号化されていないフレームに対して割り当てられる符号量、NpおよびNbをそれぞれGOP内でまだ符号化されていないPピクチャとBピクチャの枚数、Xi,Xp,Xbを式(1)〜(3)で定義される各ピクチャの画面の複雑さを示すパラメータ、KpとKbをピクチャタイプ別の主観画質を考慮したパラメータであるとすると、ピクチャタイプ別の目標符号量Ti,Tp,Tbは、式(4)〜(6)で与えられる。
Xi=Qi×Ci …(1),
Xp=Qp×Cp …(2),
Xb=Qb×Cb …(3),
Ti=R/(1+Np×Xp/(Kp×Xi)+Nb×Xb/(Kb×Xi)) …(4),
Tp=R/(Np+Nb×Kp×Xb/(Kb×Xp)) …(5),
Tb=R/(Nb+Np×Kb×Xp/(Kp×Xb)) …(6).
ここで、Ci,Cp,Cbは、それぞれ、最後に符号化したI,P,Bピクチャの発生符号量であり、Qi,Qp,Qbは、それぞれ、最後に符号化したI,P,Bピクチャの平均量子化ステップサイズとする。なお、以下の説明において、表記の簡単化のため、例えば、Ci,Cp,Cbのいずれかである値は、Ci,p,bのように記載する。また、Qi,p,b=Xi,p,b/Ti,p,bなる式は、Iピクチャに対するQi=Xi/Tiという式と、Pピクチャに対するQp=Xp/Tpという式と、Bピクチャに対するQb=Xb/Tbという式とをまとめて示している。
各フレームを第1の処理と以下で説明する第2の処理とにしたがって符号化するごとに、GOP内でまだ符号化されていないフレームに対して割り当てられる符号量Rを式(7)に基づいて更新する。
R=R−Ci,p,b …(7).
また、GOP先頭のピクチャを符号化する際には、符号量Rを式(8)で初期化する。
R=bit_rate×N/frame_rate+R …(8).
ここで、bit_rateは目標とするビットレートであり、frame_rateはフレームレートであり、NはGOP内のフレームの枚数である。
第2の処理では、第1の処理で求められた各フレームに対する割り当て符号量Ti,Tp,Tbと実際の発生符号量を一致させるために、各ピクチャタイプ別に設定した仮想バッファ容量に基づいて、量子化ステップをマクロブロック単位のフィードバック制御で求める。
まずj番目のマクロブロックの符号化に先立ち、仮想バッファの占有量をピクチャタイプ別に式(9)でもとめる。
di,p,b(j)=di,p,b(0)+B(j−1)−Ti,p,b×(j−1)/MBcount …(9).
di,p,b(0)は、仮想バッファの初期占有量であり、B(j)は、フレームの先頭からj番目のマクロブロックまでの発生符号量であり、MBcountは、フレーム内のマクロブロックの数である。
各フレームの符号化が終了した時、ピクチャタイプ別の仮想バッファの初期占有量di,p,b(MBcount)は、次のピクチャに対する仮想バッファの初期占有量di,p,b(0)として用いられる。
次に、j番目のマクロブロックに対する量子化ステップサイズQ(j)を式(10)によって、計算する。
Q(j)=Qi,p,b×di,p,b(j)×31/(10×r) …(10),
Qi,p,b=Xi,p,b/Ti,p,b …(11).
rは、リアクションパラメータと呼ばれるフィードバックループの応答速度を制御するパラメータであり、式(12)で与えられる。
r=2×bitrate/frame_rate …(12).
なお、符号化の開始時における仮想バッファの初期占有量di,p,b(0)は、式(13)〜(15)で与えられる。
di(0)=10×r/31 …(13),
dp(0)=Kp×di(0) …(14),
db(0)=Kb×di(0) …(15).
一方、直前に符号化したIピクチャまたはPピクチャだけからでなくさらに過去に符号化したフレームからPピクチャを予測し、直前に符号化したIピクチャまたはPピクチャからだけでなくさらに過去に符号化したBピクチャからもBピクチャを予測するという、動き予測が可能なマルチフレーム動き予測を取り入れた動画像の符号化方式が考えられている。この方式では、過去に符号化した高画質なフレームを選択して動き予測を行えるため、動き予測の自由度が増大する。
しかしながら、上述した従来の動画像符号化技術は、マルチフレーム動き予測による動き予測の自由度を利用しないで、単純にピクチャタイプと、最後に符号化した各ピクチャの複雑度とのみで各フレームに対する割り当て符号量を制御する。このため従来の手法では、マルチフレーム動き予測を用いる動画像圧縮において、マルチフレーム動き予測を有効的に用いて動画像を高画質に符号化しているとはいえない。逆に言えば、マルチフレーム動き予測を用いる動画像圧縮において、マルチフレーム動き予測を有効的に用いることにより、動画像を高品質に符号化できる技術が望まれている。
本発明の目的は、マルチフレーム動き予測を有効的に活用して動画像を高画質に符号化することができる動画像符号化方法を提供することにある。
本発明の別の目的は、マルチフレーム動き予測を有効的に活用して動画像を高画質に符号化することができる動画像符号化装置を提供することにある。
本発明の目的は、複数枚の画像フレームを参照してマルチフレーム動き予測を行う動画像符号化方法であって、マルチフレーム動き予測に用いる参照フレームに、同じピクチャタイプの他のフレームよりも高画質に符号化されたフレームを含めることを有する、動画像符号化方法によって達成される。
本発明の別の目的は、複数枚の画像フレームを参照してマルチフレーム動き予測を行って符号化を行う動画像符号化装置であって、同じピクチャタイプの複数枚の参照フレームのうちから少なくとも1枚の参照フレームを選択する選択手段と、選択された参照フレームを同じピクチャタイプの他の参照フレームよりも高画質に符号化する符号化手段と、を有することを特徴とする動画像符号化装置によって達成される。
本発明では、マルチフレーム動き予測を用いる動画像圧縮において、単純にピクチャタイプと最後に符号化した各ピクチャの複雑度を利用するのではなく、マルチフレーム動き予測における符号化対象フレームと参照フレームとの関係も考慮し、参照フレームとして優先度の高いフレームを高画質に符号化することによって、シーン全体の動き予測の効果を改善するような符号量制御を行う。これにより、本発明によれば、マルチフレーム動き予測による動き予測の自由度を利用した動画像圧縮において、高画質な動画像符号化方法を実現できる。
また、動画像のシーンに応じて、高画質に符号化するフレームを一定のフレーム間隔で配置したり、高画質に符号化するフレームのフレーム間隔を、参照フレームと符号化対象フレームとの間の差分情報及び動き情報とによって適応的に変更することで、優先的に高画質に符号化する参照フレームを正確に選択することができ、より高画質な動画像の符号量制御を提供できる。この結果、さらに動画像を高画質に符号化することができる。
また、参照フレームとして優先度の高いBピクチャフレームにより多くの符号量を割り当てることにより、高画質な動画像の符号量制御も提供できる。この結果、シーケンス全体の動き予測の効果を改善できるので、動画像を高画質に符号化することができる。
図1は、従来の典型的な動画像符号化装置の構成を示すブロック図である。 図2は、本発明に基づく動画像符号化処理を説明する図である。 図3は、本発明に基づく動画像符号化処理を説明する図である。 図4は、本発明の第1の実施形態の動画像符号化装置の構成を示すブロック図である。 図5は、画質制御装置の構成を示すブロック図である。 図6は、画質判定の処理を示すフローチャートである。 図7は、高画質に符号化されるフレームを説明する図である。 図8は、画質制御カウンタ処理を示すフローチャートである。 図9は、符号量制御装置の構成を示すブロック図である。 図10は、フレーム符号量割り当ての処理を示すフローチャートである。 図11は、量子化パラメータ更新の処理を示すフローチャートである。 図12は、本発明の第2の実施形態の動画像符号化装置の構成を示すブロック図である。 図13は、動画像解析装置の構成を示すブロック図である。 図14は、動き検出の処理を示すフローチャートである。 図15は、画質制御装置の構成を示すブロック図である。 図16は、画質判定の処理を示すフローチャートである。 図17Aは、最良参照フレームを説明する図である。 図17Bは、最良参照フレームを説明する図である。 図18Aは、フレーム間予測困難度を説明する図である。 図18Bは、フレーム間予測困難度を説明する図である。 図19は、高画質符号化フレーム判定の処理を示すフローチャートである。 図20は、高画質に符号化されるフレームを説明する図である。 図21は、画質判定の処理を示すフローチャートである。 図22は、高画質に符号化されるフレームを説明する図である。 図23は、フレーム符号量割り当ての処理を示すフローチャートである。 図24は、画質判定の処理を示すフローチャートである。 図25は、本発明に基づく動画像符号化装置を実装した情報処理システムの一般的なブロック構成図である。 図26は、本発明に基づいて生成された動画像ビットストリームが入力される受信機の一例を示すブロック図である。 図27は、参照フレーム画質変動フラグを生成する処理を示すフローチャートである。
上述しように本発明では、マルチフレーム動き予測における符号化対象フレームと参照フレームとの関係も考慮し、参照フレームとして優先度の高いフレームを高画質に符号化することによって、シーン全体の動き予測の効果を改善するような符号量制御を行っている。
以下の説明において、「シーン」とは、任意の枚数の連続するフレームを意味する。「フレームを高画質に符号化する」とは、そのフレームに対して多くの符号量を割り当てる、そのフレームの量子化ステップサイズを小さくする、あるいは、そのフレームの符号化歪みを小さくすることなどを意味する。
以下に、本発明の基本原理について、従来技術と対比しながら説明する。
本発明では、マルチフレーム動き予測を用いた動画像符号化方法において、同じピクチャタイプのフレームの画質を均一ではなく、可変とすることで、シーン全体の動き予測の効果を高め、高画質な動画像の符号化を可能にしている。これに対し、従来の動き予測方向を用いた動画像符号化方法では、直前に符号化した画像のみから動き予測を行うため、同じピクチャタイプのフレームの画質を均一に保つ符号化しか行えなかった。なぜなら、同じシーンで画質を変動させた場合、画質の低下したフレームを参照するフレームでのフレーム間の差分が大きくなって動き予測の効果が低下するため、シーン全体の符号化効率が低下し、これに伴って、符号化された動画像の画質も低下するからである。
以下に図2を参照して、この問題点を説明する。
図2において実線で示すように、従来の動き予測では、各Pピクチャは、直前に符号化されたIまたはPピクチャのみを参照する。P2,P4フレームをP1,P3フレームよりも高画質に符号化しようとしても、P1フレームは低画質で符号化されるため、P1フレームを参照するP2フレームでの動き予測の効果は大きく低減し、P2フレームの画質も大きく低下する。P2フレームを参照するP3フレームも同様に画質が大きく低下し、この画質劣化が以降のフレームに伝播するため、シーン全体の画質が劣化する。このため従来の動き予測を用いた方法では、同じピクチャタイプの画像の画質を均一に保たなければならない。
しかしながら、本発明が適用される符号化方法のように、直前に符号化されたフレームだけでなく、さらに過去に符号化したフレームを参照して動き予測が可能なマルチフレーム動き予測がある。マルチフレーム動き予測により、図2に示した場合では、従来方式に追加して、点線で示すような予測が可能となる。この場合、フレーム内の領域あるいはブロックの単位で、参照するフレームを選択できる。
このマルチフレーム動き予測の構造を利用することにより、同じピクチャタイプでも、画質を変動させる符号化が可能となる。図2を参照して、本発明を説明する。
図2に示すマルチフレーム動き予測では、各Pピクチャは、直前に符号化された複数のIまたはPピクチャを参照する。ここでは、2枚のIまたはPピクチャを参照している。P2,P4フレームをP1,P3フレームよりも高画質に符号化しようとしたとき、P1フレームが低画質で符号化されたとしても、P1フレームだけでなくI0フレームも参照するP2フレームでは、動き予測の効果は大きく低減しない。よって、P2フレームは高画質に符号化される。
また、高画質に符号化されたP2フレームを参照するP3フレームでの動き予測の効果も高まり、P3フレームは、従来技術よりも高画質に符号化される。さらに、P4フレームは、高画質に符号化されたP2,P3フレームを参照するため、より高画質に符号化される。以降のフレームでも前記と同様に、動き予測の効果が高まり、動画像を高画質に符号化することができる。
これにより、従来技術よりも動き予測の効果が高まり、動画像を高画質に符号化することが可能となる。また、本発明によって符号化された動画像は、高画質に符号化されたフレームが復号時に周期的に表示されることと、人間の残像の視覚特性により、従来技術よりも主観的にも高画質となる。
以上は、I、Pピクチャのみを用いた場合での例を示したが、I、P、Bピクチャを用いた場合にも、本発明を適用することができる。そこで、図3を用いて、I、P、Bピクチャが存在する場合の本発明の利点について、従来技術と対比させながら説明する。なお、Pピクチャに対する本発明の基本的な概念は図2に示したものと同様であるので、以下では、Bピクチャのみに着目して説明する。
従来技術において、Bピクチャフレームは、被参照でないフレーム、すなわち他のフレームから参照されないフレームである。したがって、Bピクチャフレームが連続する場合、その連続する各Bピクチャでの動き予測の効果が同等であるから、連続する各Bフレームには同じ符号量が割り当てられ、同じ画質で符号化される。ここで、連続する各Bピクチャの動き予測の効果が同等とする理由は、図3の例でB1およびB2フレームに着目すると、I0,P3フレームからB1フレームまでのフレーム間距離がそれぞれ1,2であり、B2フレームまではそれぞれ2,1であって、動き予測の効果を決定するフレーム間距離の総和がともに3だからである。
しかしながら、マルチフレーム動き予測を用いた動画像符号化においては、Bピクチャは、過去に符号化されたBピクチャも参照することが可能である。このため、連続するBピクチャの動き予測の効果は可変となる、図3のB1およびB2フレームに着目すると、B2フレームでは、I0フレームだけでなく、フレーム間距離の短いB1フレームを参照した動き予測が可能であり、B2フレームでは、明らかにB1フレームよりも高い動き予測の性能が得られる。このため、B1フレームとB2フレームとに同じ符号量を割り当てなくとも、同じ画質で符号化することができる。
このことを利用し、本発明によれば、マルチフレーム動き予測を用いた動画像符号化方法において、連続するBフレームにおいて符号化順で先行する参照Bフレームに優先的に符号量を配分することで、高画質に動画像符号化を行うことができることになる。図3に示したB1およびB2フレームにおいては、優先的に符号量が割り当てられた分だけ、B1フレームは従来技術よりも高画質に符号化されることとなり、より高画質に符号化されたB1フレームを参照するB2フレームも、より高画質に符号化できる。すなわち、Bピクチャフレームの画質を変動させることで、動き予測全体の効果を高め、動画像をより高画質に符号化することができる。
以下に本発明の具体的な実施形態を説明する。
図4に示した本発明の第1の実施形態の動画像符号化装置は、図1に示した動画像符号化装置に対し、さらに、画質制御装置112を加えたものであり、符号量制御装置111は、画質制御装置112から供給される画質制御情報に基づいて、参照フレームに対応する割り当て符号量を決定する。図4において、図1におけるものと同一の構成要素には同一の参照符号が付与されており、これらについては、詳細な説明は省略する。なお、第1の実施形態では、フレームを符号化するピクチャタイプとしてIピクチャとPピクチャとを用いる場合の動作を説明する。以下、本実施形態の動画像符号化装置で特徴的な画質制御装置112および符号量制御装置111を説明する。
図5に示されるように、画質制御装置112は、画質判定装置1121と画質制御カウンタ1122によって構成されている。画質制御装置112が供給する画質制御情報は、高画質化フラグHQ_flgと残り高画質化フレーム数R_HQ_numと残り高画質化フレーム番号R_HQ_frame_numとである。画質制御装置112において画質判定装置1121は、高画質化フラグHQ_flg、高画質化フレーム数HQ_numおよび高画質化フレーム番号HQ_frame_numを計算し、高画質化フラグHQ_flgを符号量制御装置111に供給し、高画質化フレーム数HQ_numと高画質化フレーム番号HQ_frame_numを画質制御カウンタ1122に供給する。
以下、図6を参照して、本実施形態における画質判定装置1121の動作を説明する。以下の説明において、高画質に符号化されるフレーム相互のフレーム間隔をSとし、直前に高画質に符号化すると判定したフレーム番号をprev_hq_num、高画質化判定済みのフレーム枚数をiとする。ただし、符号化対象フレームとマルチフレーム予測で参照できる最も過去のフレームとの間隔をMAX_REFとして、S≦MAX_REFである。prev_hq_numとiの初期値はいずれも0である。
なお、本実施形態において、高画質に符号化するフレーム間隔Sは、動きの速さあるいは圧縮後のフレームレートによって、ある期間ごと、例えば、GOPごとあるいはシーンごとに、切り替えてもよい。GOPごとあるいはシーンごとにそれに適したフレーム間隔Sを選択することによって、本発明による符号化効率の改善はさらに高まる。
ステップS101では、画質判定装置1121は、フレーム間隔SとGOPのフレーム枚数Nとから、式(16)を用いて高画質化フレーム数HQ_numを計算する。
HQ_num=(N/S)−1 …(16).
次にステップS102において、画質判定装置1121は、高画質化フレーム数HQ_numよりも高画質化判定済みのフレーム枚数iが小さいかを判定し、小さければステップS103を実行し、そうでなければ処理を終了する。
ステップS103では、画質判定装置1121は、高画質化フレーム番号HQ_frame_num[i]を式(17)を用いて計算する。また、次の処理のために高画質化判定済みのフレーム枚数iを1インクリメントし、直前に高画質に符号化すると判定したフレーム番号prev_hq_numを式(18)によって更新し、ステップS102を実行する。
HQ_frame_num[i]=prev_hq_num+S …(17),
prev_hq_num=HQ_frame_num[i] …(18).
画質判定装置1121は、以上の処理を完了した後HQ_numが1以上であればHQ_flgをオンとし、そうでなければオフとする。
本実施形態の動画像符号化装置では、図6で示した処理によって、他のフレームの符号化に際して参照される参照フレームをSの間隔ごとに高画質に符号化する。Sは、マルチフレーム予測で最も過去に参照できるフレームの間隔MAX_REF以下であるから、すべての符号化対象フレームは、必ず、高画質に符号化されたフレームを参照して動き予測が可能となる。
例として、N=10,MAX_REF=3,S=2の場合に、本実施形態の方法によって高画質に符号化されるフレームを図7に示す。この場合、P2、P4、P6、P8の各フレームが高画質に符号化される。
画質制御カウンタ1122は、符号量制御器111が供給するフレーム番号coding_frame_num、画質判定装置1121が供給する高画質化フレーム数HQ_numと高画質化フレーム番号HQ_frame_num[HQ_num]から、残り高画質化フレーム数R_HQ_numと残り高画質化フレーム番号R_HQ_frame_numを計算し、符号量制御器111に出力する。この画質制御カウンタ1122は、高画質化フレーム数HQ_numが1以上の時にのみ動作する。ここで、GOP先頭のIピクチャのフレーム番号をframe_num_I、高画質フレームカウンタHQ_frame_countを0とし、図8を参照して、画質制御カウンタ1122の動作を説明する。
ステップS201では、画質制御カウンタ1122は、画質判定装置1121から供給される高画質化フレーム番号HQ_frame_num[HQ_frame_count]にframe_num_Iを加える。これは、符号量制御器111から入力される符号化中のフレーム番号coding_frame_numと高画質に符号化するフレーム番号との同期をとるためである。
ステップS202において、画質制御カウンタ1122は、HQ_frame_num[HQ_frame_count]を残り高画質フレーム番号R_HQ_frame_numとし、HQ_num−HQ_frame_countを残り高画質フレーム数R_HQ_numとして出力する。その後、ステップS203では、画質制御カウンタ1122は、フレーム番号coding_frame_numと高画質化フレーム番号HQ_frame_num[HQ_frame_count]とが同期したかを判定する。同期した場合にはステップS204に移行し、そうでなければステップS202に戻る。
ステップS204では、画質制御カウンタ1122は、HQ_frame_countを1インクリメントし、HQ_frame_countがHQ_numよりも小さいかどうかを判断する。HQ_frame_countがHQ_numよりも小さければステップS201に移行し、そうでなければ処理を終了する。
以上のようにして、画質制御カウンタ1122は、残り高画質フレーム番号R_HQ_frame_numと残り高画質フレーム数R_HQ_numとを符号量制御装置111に出力する。
符号量制御装置111は、図9に示されるように、フレーム符号量割り当て装置1111と量子化パラメータ更新装置1112とによって構成されている。本実施形態における符号量制御装置111と、図1に示した従来の動画像符号化装置における符号量制御装置との違いは、フレーム符号量割り当て装置1111の動作にある。
本実施形態においてフレーム符号量割り当て装置1111は、画質制御装置112から供給される画質制御情報(高画質化フラグHQ_flg、残り高画質化フレーム数R_HQ_numおよび残り高画質化フレーム番号R_HQ_frame_num)を用いて、各フレームに対する割り当て符号量を計算し、量子化パラメータ更新装置1112へ供給する。量子化パラメータ更新装置1112は、フレーム符号量割り当て装置1111から供給されるフレーム割り当て符号量とバッファ110から供給される発生符号量とを用いて、量子化パラメータを計算し、可変長符号化装置103に供給する。
以下に、フレーム符号量割り当て装置1111の動作を説明する。なお、以下の説明において、目標符号量Ti,Tpをピクチャタイプ別の目標符号量、RをGOP内でまだ符号化されていないフレームに対して割り当てられる符号量、NpをGOP内でまだ符号化されていないPピクチャの枚数、Xiを最後に符号化したIピクチャの画面の複雑度、Xpを最後に符号化したPピクチャの画面の複雑度、Kpをピクチャタイプ別の主観画質を考慮したパラメータとする。
図10は、第1の実施形態におけるフレーム符号量割り当て装置1111の動作を示している。
まずステップS301において、フレーム符号量割り当て装置1111は、画質制御装置112から供給される高画質化フラグHQ_flgがオンかオフかを判定する。高画質化フラグHQ_flgがオンであればステップS302に移行し、オフであればステップS307に移行する。
ステップS302では、今から符号化しようとするフレームがIピクチャか否かが判定される。符号化対象フレームがIピクチャであればステップS303に移行し、そうでなければステップS304に移行する。
ステップS303では、フレーム符号量割り当て装置1111は、今から符号化するIピクチャに対する符号量Tiを式(19)によって計算し、フレーム符号量割り当てを終了する。
Ti=R/(1+Np×Xp/Xi)+additional_Ti …(19),
additional_Ti=residu1_bit1×Xi/Xgop2 …(20),
residu_bit1=(margin_ratio×R×(Np−R_HQ_num)×Xp)/(Kp×Xgop1) …(21),
Xgop1=Xi+Np×Xp/Kp …(22),
Xgop2=Xi+R_HQ_num×Xp/Kp …(23).
ここで、margin_ratioは1以下の数である。
この場合、従来技術よりも、additional_Tiだけ多いビット数がこのIフレームに割り当てられるので、このフレームの画質は改善する。この結果、このフレームを参照するフレームの動き予測効果も改善する。
ステップS304では、フレーム符号量割り当て装置1111は、今から符号化しようとするPピクチャのフレーム番号coding_frame_numが、画質制御装置112から供給される残り高画質フレーム番号R_HQ_frame_numと同期するかを判定する。同期すればステップS305に移行し、そうでなければステップS306に移行する。
ステップS305では、フレーム符号量割り当て装置1111は、今から符号化しようとするPピクチャに対する符号量を式(24)によって計算し、フレーム符号量割り当てを終了する。
Tp=R/Np+additional_Tp …(24),
additional_Tp=(margin_ratio×R×(Np−R_HQ_num))/(Np×R_HQ_num) …(25).
この場合、従来技術よりも、additional_Tpだけ多いビット数がこのPフレームに割り当てられるので、このフレームの画質は改善する。この結果、このフレームを参照するフレームの動き予測効果も改善する。
ステップS306では、フレーム符号量割り当て装置1111は、式(26)によって、今から符号化しようとするPピクチャに対する符号量を計算し、フレーム符号量割り当てを終了する。
Tp=(1−margin_ratio)×R/Np …(26).
この場合、margin_ratioの分だけこのフレームに対する割り当て符号量が減少するため、このフレームの画質劣化が考えられる。しかしながら、画質制御装置112の制御により、高画質に符号化されたフレームを参照して動き予測が可能であるから、割り当て符号量が多少すくなくても、動き予測の性能が改善した分、画質の劣化を抑えることができる。
ステップS307では、フレーム符号量割り当て装置1111は、今から符号化しようとするフレームがIピクチャか否かを判定する。符号化対象フレームがIピクチャであればステップS308に移行し、そうでなければステップS309に移行する。
ステップS308では、フレーム符号量割り当て装置1111は、今から符号化しようとするIピクチャに対する符号量を式(27)によって計算し、フレーム符号量割り当てを終了する。
Ti=R/(1+Np×Xp/Xi) …(27).
同様にステップS309では、フレーム符号量割り当て装置1111は、今から符号化しようとするPピクチャに対する符号量を式(28)によって計算し、フレーム符号量割り当てを終了する。
Tp=R/Np …(28).
以上の符号量割り当てにより、マルチフレーム動き予測における動き予測の自由度を利用して、すべてのフレームが高画質に符号化されたフレームを参照することができるようになる。これにより、本実施形態によれば、シーン全体の動き予測の効果が改善されるので、動画像を高画質に符号化することができる。
量子化パラメータ更新装置1112は、フレーム符号量割り当て装置1111で求められた各フレームに対する割り当て符号量Ti,Tpと実際の発生符号量を一致させるため、各ピクチャタイプ別に設定した仮想バッファ容量に基づいて、量子化パラメータをマクロブロック単位でフィードバック制御する。図11は、量子化パラメータの更新のフローチャートである。
まずステップS401では、量子化パラメータ更新装置1112は、j番目のマクロブロックの符号化に先立ち、仮想バッファの占有量をピクチャタイプ別に式(29)によって計算する。
di,p(j)=di,p(0)+B(j−1)−Ti,p×(j−1)/MBcount …(29).
di,p(0)はピクチャタイプ別の仮想バッファの初期占有量、B(j)はフレームの先頭からj番目のマクロブロックまでの発生符号量、MBcountはフレーム内のマクロブロックの数である。もちろん、Iピクチャ用の仮想バッファの初期占有量はdi(0)であり、Pピクチャ用のdp(0)である。
各フレームの符号化の終了時において、ピクチャタイプ別の仮想バッファの初期占有量di,p(MBcount)は、次のピクチャに対する仮想バッファの初期占有量di,p(0)として用いられる。
次にステップS402において、量子化パラメータ更新装置1112は、j番目のマクロブロックに対する量子化ステップサイズを式(30)によって計算する。
Qstep=Qi,p×di,p(j)×31/(10×r) …(30),
Qi,p=Xi,p/Ti,p …(31).
フレーム符号量割り当て装置1111の制御により、高画質に符号化されるフレームの割り当て符号量Ti,pは従来方式よりも大きくなる。よって、式(31)から分かるように、高画質化フレームの量子化ステップサイズQi,pは小さくなり、フレームは高画質に符号化される。この結果、出力されるビットストリームのフレームの平均量子化パラメータは、Sのフレーム間隔で小さな値をとる。
rはリアクションパラメータと呼ばれるフィードバックループの応答速度を制御するパラメータであり、式(32)で与えられる。
r=2×bitrate/frame_rate …(32).
なお、符号化の開始時に仮想バッファの初期占有量di,p(0)は、ピクチャタイプごとに、式(33)、(34)で与えられる。
di(0)=10×r/31 …(33),
dp(0)=Kp×di(0) …(34).
続いてステップS403において、量子化パラメータ更新装置1112は、量子化ステップサイズQstepに対応する量子化パラメータQを量子化テーブルから検出する。量子化テーブルに、対応する量子化ステップサイズQstepが存在しない場合、量子化ステップサイズQstepに最も近い量子化ステップ値の量子化パラメータQを出力する。
以上のようにして、第1の実施形態の動画像符号化装置は、参照フレームとして優先度の高いフレームを高画質に符号化することによって、シーン全体の動き予測の効果を改善するような符号量制御を行っている。
次に、本発明の第2の実施形態の動画像符号化装置を説明する。図12に示す本発明の第2の実施形態の動画像符号化装置は、図4に示した第1の実施形態の動画像符号化装置に対し、さらに、動画像の解析を行う動画像解析装置113を加えたものである。動画像解析装置113はフレーム差分情報とフレーム動き情報を出力し、画質制御装置112は、このフレーム差分情報とフレーム動き情報をも用いて、画質制御情報を生成する。そこで、第2の実施形態の動画像符号化装置について、動画像解析装置113および画質制御装置112を重点的に説明する。なお、ここでは、フレームを符号化するピクチャタイプとして、IピクチャとPピクチャとを用いる場合を説明する。
動画像解析装置113は、入力画像からフレーム差分情報とフレーム動き情報とを計算し、計算された情報を画質制御装置112へ供給するものであって、図13に示すように、入力フレームバッファ1131と動き検出装置1132とによって構成されている。
入力フレームバッファ1131は、入力動画像フレームのN枚を先読みし、各フレームに昇順に番号を割り振り、フレームを蓄積する。この先読みフレームの枚数Nは任意であるが、例として、MPEGで用いられるGOP間隔などをNとして用いることが考えられる。
動き検出装置1132は、入力フレームバッファ1131に蓄積されたフレームから、各フレームのフレーム動き情報とフレーム差分情報を計算する。以下、
図14を参照して動き検出装置1132の動作を説明する。動き検出装置1132は、先読みした各フレームに対して、図14に示す各ステップの処理を行う。
まず、ステップS501において、動き検出装置1132は、フレームをフレームサイズW×Hよりも小さなw×hサイズのブロックに分割し、ステップS502において、フレームを構成するブロックのブロック動き情報MVX,MVYとブロック差分情報Dを以下の処理によって計算する。
cur番目のフレームの座標(x,y)での画素値をF(cur,x,y)とし、cur番目のフレームの分割したk番目ブロックをB(cur,k)とし、B(cur,k)の左上角のフレーム内での座標を(bx(cur,k),by(cur,k))とする。
cur番フレームのブロックB(cur,k)の、そのフレームからref枚だけ過去のフレームすなわち(cur−ref)番フレームに対するブロック動き情報MVX(cur,k,ref),MVY(cur,k,ref)と差分情報D(cur,k,ref)は、式(35)のdiff(ref,mvx,mvy)を最小にするmvx,mvyと、その最小なdiff(ref,MVX(cur,k,ref),MVY(cur,k,ref))によって与えられる。
Figure 0004632049
cur_pixel(i,j)=F(cur,bx(cur,k)+i,by(cur,k)+j) …(36),
ref_pixel(ref,i,j)=F(cur−ref,bx(cur,k)+i,by(cur,k+j)) …(37).
そこでステップS503において、動き検出装置1132は、ブロック動き情報MVX,MVYとブロック差分情報Dとから、フレーム動き情報とフレーム差分情報を計算する。
フレーム内のブロックの数をblock_numとすると、i番目フレームのi−j番目フレームに対するフレーム動き情報FMVj(i)およびフレーム差分情報FDj(i)は、式(38)、(39)によって与えられる。
Figure 0004632049
動き検出装置1132は、以上の処理を各入力フレームi (1≦i≦N−1)および各参照フレームref (1≦ref≦MAX_REF)について行い、すべての入力フレームと参照フレームとの間のフレーム差分情報とフレーム動き情報を計算する。
画質制御装置112は、図15に示すように、画質判定装置1121と画質制御カウンタ1122によって構成される。画質制御装置112が供給する画質制御情報は、高画質化フラグ、残り高画質化フレーム数及び残り高画質化フレーム番号である。本実施形態における画質制御装置112と上述した第1の実施形態の画質制御装置112とは、画質判定装置1121の動作に関して異なっている。そこで、以下では、この第2の実施形態における画質判定装置1121の動作を説明する。
画質判定装置1121は、動画像解析装置112によって供給されるフレーム差分情報とフレーム動き情報から、高画質化フラグ、高画質化フレーム数および高品質化フレーム番号を計算する。高画質化フラグは、符号量制御装置111に対して出力され、高画質化フレーム数と高品質化フレーム番号は画質制御カウンタ1122に出力される。以下、図16を参照して、本実施形態における画質判定装置1121の動作を説明する。
まず、ステップS601において、画質判定装置1121は、各フレームiとその参照フレームjについて、式(40)を用いて、フレーム間コストIFC(i)を計算する。αはフレームの平均量子化パラメータに依存する値である。
IFCj(i)=FDj(i)+α×FMVj(i) …(40),
Figure 0004632049
次にステップS602において、画質判定装置1121は、は、最小フレーム間コストMIN_IFC(i) (1≦i≦N−1)を式(41)を用いて計算し、これに対応する最良参照フレームBEST_REF(i)を求める。ここで、MAX_REFは、符号化対象フレームとマルチフレーム予測で参照できる最も過去のフレームとの間隔である。
ステップS603において、画質判定装置1121は、すべてのフレームのBEST_REF(i) (1≦i≦N−1)が1かを判定する。図17Aに示されるようにすべてのフレームのBEST_REF(i)が1であれば、N枚の解析区間にシーンチェンジやフラッシュなどの瞬時的な画像の変動がない連続したシーンであると予測される。これに対し、図17Bに示すようにBEST_REF(i)が1でないフレームが存在する場合は、N枚の解析区間中にシーンチェンジやフラッシュなどが存在する不連続シーンであると予測される。そこで、ステップS603においてすべてのBEST_REF(i)が1であればステップS604へ移行し、そうでなければ、高画質化フラグをオフにし、高画質化フレーム数を0として、処理を終了する。
ステップS604において、画質制御装置112は、すべてのフレームのMIN_IFC(i) (==IFC1(i))から、平均フレーム間コストAVERAGE_IFC、フレーム間コスト上限IFC_LOWER_LIMITおよびフレーム間コスト下限IFC_UPPER_LIMITを式(42)〜(44)によって計算する。ここでmargin_ratioは1以下の値である。
Figure 0004632049
IFC_UPPER_LIMIT=(1+margin_ratio)×AVERAGE_IFC …(43),
IFC_LOWER_LIMIT=(1−margin_ratio)×AVERAGE_IFC …(44).
その後ステップS605において、画質制御装置112は、すべてのフレームのMIN_IFC(i) (1≦i≦N−1)が、IFC_LOWER_LIMITとIFC_UPPER_LIMITとの間の範囲内に収まっているかを解析する。N−1枚すべての画像フレームのMIN_IFC(i)が上記の範囲に収まっているのであれば、図18Aに示すように、フレーム間予測の困難度は安定となり、そうでなければ、図18Bに示すように、不安定となる。
よって、画質制御装置112は、ステップS605においてすべてのフレームのMIN_IFC(i)が上記の範囲に収まっていれば高画質化フラグをオンとしてステップS606に移行し、そうでなければ高画質化フラグをオフとし、高画質化フレーム数を0として、以降の処理を終了する。
ステップS606では、画質制御装置112は、GOPごとあるいはシーンごとに設定する最大高画質化フレーム間隔をSSとして、以下で述べる処理によって、高画質に符号化するフレーム間隔SをSSの範囲で適応的に計算する。ここで最大高画質化フレーム間隔SSは、符号化対象フレームとマルチフレーム予測で最も過去に参照できるフレームとの間隔以下の値であって、動きの速さや動画像圧縮後でのフレームレートによって、適切に設定される。
IFC_UPPER_LIMITを超えない連続したフレームの数をs_frameとし、直前に高画質に符号化すると判定したフレーム番号をprev_fnumとし、画質判定処理中のフレームの番号をiとして、図19を参照して、高画質化フレーム数HQ_numと高画質化フレーム番号HQ_frame_num[N−1]の計算方法の例を示す。ただし、s_frameの初期値は1であり、prev_fnumの初期値は0であり、iの初期値は2であり、HQ_numの初期値は0である。
図19は、ステップS606での処理をさらに詳細に示している。
まず、ステップS701において、画質制御装置112は、IFCs_frame+1(i)が、IFC_UPPER_LIMITよりも大きいかどうかを判定し、大きければステップS702に移行し、そうでなければステップS703に移行する。
ステップS702では、画質制御装置112は、式(45)に基づいて高画質化フレーム番号を求め、prev_fnum、HQ_numおよびs_frameを式(46)〜(48)によって更新し、ステップS706に移行する。
HQ_frame_num [hp_num]=prev_fnum+s_frame …(45),
prev_fnum=HQ_frame_num [hp_num] …(46),
HQ_fnum=HQ_fnum+1 …(47),
s_frame=1 …(48).
ステップS703では、画質制御装置112は、s_frameがSS−1に等しいかを判定し、等しいようであればステップS704に移行し、等しくなければステップS705に移行する。
ステップS704では、画質制御装置112は、s_frame=SSとして、式(45)より高画質化フレーム番号を求め、prev_fnum、HQ_numおよびs_frameを式(46)〜(48)にしたがって更新し、フレーム番号iを1インクリメントする。その後、ステップS706に移行する。
ステップS705では、画質制御装置112は、s_frameを1インクリメントし、ステップS706に移行する。
ステップS706では、画質制御装置112は、処理対象のフレーム番号iを1インクリメントして、iが先読みフレーム数Nより小さいかを判定し、小さければステップS701に戻り、そうでなければ処理を終了する。
以上の処理により、すべての符号化対象フレームが、必ず高画質に符号化されたフレームを参照して、動き予測可能となる。なお、上述した画質判定処理によって得られたHQ_numがN−1に等しいとき、すなわち全てのフレームを高画質に符号化すると判定した場合には、HQ_numを0にリセットし、高画質化フラグをオフ、高画質化フレーム数を0とする。
N=15、REF_NUM=3、0番目の先頭フレームがIピクチャの場合に、上述した高画質符号化フレーム判定を実行した例を図20に示す。本実施形態によれば、高画質に符号化されるフレーム間隔Sが、適応的に更新されることがわかる。
このようにこの第2の実施形態では、動画像解析装置113を設け、GOP中でのシーンチェンジやフラッシュなどの瞬時的な画像の変動、すなわち連続するフレーム間の画素相関の急激な低下や、シーンの符号化困難度の大きな変動の影響などを考慮して、高画質に符号化するフレームを正確に選択することができる。この結果、本実施形態によれば、さらに動画像を高画質に符号化することができる。
また、高画質に符号化されるフレームの選択の方法は、上述したものに限定されない。例えば、フレーム間コストIFC(i)を用いた簡単な実施形態でも実現できる。例えば、符号化対象フレームとマルチフレーム予測で参照できる最も過去のフレームとの間隔がMAX_REFの時に、直前に高画質化された高画質フレーム番号R_HQ_frame_numを参照フレームの一つとし、m≦MAX_REFであるフレーム番号(R_HQ_frame_num+m)の中で、高画質参照フレームに対するフレーム間コストIFC(i)が予め定めたしきい値より小さく、かつ最も大きいmに対応するフレームを、次なる高画質化フレームと定めることができる。
次に、本発明の第3の実施形態の動画像符号化装置を説明する。第3の実施形態では、フレームを符号化するピクチャタイプとして、Iピクチャ、PピクチャおよびBピクチャを用いる。第3の実施形態の動画像符号化装置は、第1の実施形態の動画像符号化装置と同じ構成を有するが、Bピクチャを用いて符号化を行うため、画質制御装置112および符号量制御装置111の動作が第1の実施形態の場合と異なっている。以下、第3の実施形態における画質制御装置112と符号量制御装置111の動作を説明する。
画質制御装置112は、第1の実施形態の場合と同様に画質判定装置1121と画質制御カウンタ1122によって構成される。画質制御装置112は、符号量制御装置111対し、画質制御情報として高画質化フラグ、残り高画質化フレーム数、残り高画質化フレーム番号を供給するが、このうちに残り高画質化フレーム数及び残り高画質化フレーム番号については第1の実施形態ではPピクチャフレームに関するものであったのに対し、第3の実施形態では、Bピクチャフレームに関するものである。このため、第3の実施形態では、画質制御装置112における画質判定装置1121の動作のみが、第1の実施形態とは異なる。
そこで、図21を用いて、第3の実施形態における画質判定装置1121の動作を説明する。
GOPに含まれるフレームの枚数をNとし、画質判定処理中のフレームの番号をiとして、図21を参照して、高画質化フレーム数HQ_numと高画質化フレーム番号HQ_frame_num[HQ_num]の計算手順を説明する。iの初期値は1であり、HQ_numの初期値は0である。
まず、ステップS801において、画質判定装置1121は、現在の解析対象であるi番目のフレームの符号化タイプがBピクチャか否かを判定する。BピクチャであればステップS802に移行し、そうでなければステップS804に移行する。
ステップS802では、画質判定装置1121は、続くi+1番目のフレームの符号化タイプがBピクチャか否かを判定する。BピクチャであればステップS803に移行し、そうでなければステップS804に移行する。
ステップS803では、画質判定装置1121は、式(49)に基づいて現在のi番目のフレームを高画質に符号化するフレームとして記憶し、高画質化フレーム数を式(50)によって更新する。
HQ_frame_num[HQ_num]=i …(49),
HQ_num=HQ_num+1 …(50).
ステップS804では、画質判定装置1121は、処理対象のフレーム番号iを1インクリメントして、Nより小さいかを判定し、小さければステップS801にもどり、そうでなければ処理を終了する。
画質判定装置1121は、以上の処理を完了した後HQ_numが1以上であれば高画質化フラグHQ_flgをオンとし、そうでなければオフとする。
以上の処理により、被参照であってかつBピクチャとして符号化されるフレームを高画質フレーム番号とすることができる。すなわち、参照フレームを高画質に符号化することができる。図22は、このような処理によって、高画質に符号化されるBピクチャの例を示している。
符号量制御装置111は、第1の実施形態の場合と同様に、フレーム符号量割り当て装置1111と量子化パラメータ更新装置1112とによって構成されている。第3の実施形態における、符号量制御装置111でのフレーム符号量割り当て装置1111と量子化パラメータ更新装置1112の動作を説明する。
フレーム符号量割り当て装置1111は、画質制御装置112から供給される画質制御情報の高画質化制御フラグ、残り高画質化フレーム数R_HQ_numおよび残り高画質化フレーム番号R_HQ_frame_numを用いて、フレーム符号量割り当てを行う。
目標符号量Ti,Tp,Tbをピクチャタイプ別の目標符号量とし、RをGOP内でまだ符号化されていないフレームに対して割り当てられる符号量とし、NpおよびNbをGOP内でまだ符号化されていないPおよびBピクチャの枚数とし、Xi,Xp,Xpを最後に符号化した各ピクチャの画面の複雑度とし、KpとKbをピクチャタイプ別の主観画質を考慮したパラメータとする。図23は、第3の実施形態におけるフレーム符号量割り当て装置1111の動作を示している。
まず、ステップS901において、フレーム符号量割り当て装置1111は、画質制御装置112から供給される高画質フラグHQ_flgがオンかオフかを判定する。高画質フラグHQ_flgがオンであればステップS902に移行し、オフであればステップS908に移行する。
ステップS902では、フレーム符号量割り当て装置1111は、今から符号化しようとするフレームのピクチャタイプを判定する。IピクチャであればステップS903に移行し、PピクチャであればステップS904に移行し、それ以外であれば、すなわちBピクチャであれば、ステップS905に移行する。
ステップS903では、フレーム符号量割り当て装置1111は、今から符号化使用とするIピクチャに対する符号量を式(51)によって計算し、フレーム符号量割り当てを終了する。
Ti=R/(1+Np×Xp/(Kp×Xi)+Nb×Xb/(Kb×Xi))+additional_Ti …(51),
additional_Ti=residu_bit3×Xi/Xgop4 …(52),
residu_bit3=(margin_ratio×R×(Nb−R_HQ_num)×Xb)/(Kb×Xgop3) …(53),
Xgop3=Xi+Np×Xp/Kp+Nb×Xb/Kb …(54),
Xgop4=Xi+Np×Xp/Kp+(Nb−R_HQ_num)×Xb/Kb …(55).
この場合、従来技術と比べて、additional_Tiに対応する分だけ多くのビット数がこのIフレームに割り当てられるので、このフレームの画質は改善する。この結果、このフレームを参照するフレームの動き予測効果も改善する。
ステップS904では、フレーム符号量割り当て装置1111は、今から符号化しようとするPピクチャに対する符号量を式(56)によって計算し、フレーム符号量割り当てを終了する。
Tp=R/(Np+Nb×Kp×Xb/(Kb×Xp))+additional_Tp …(56),
additional_Tp=residu_bit4×Xp/(Kp×Xgop6) …(57),
residu_bit4=(margin_ratio×R×(Nb−R_HQ_num)×Xb)/(Kb×Xgop5) …(58),
Xgop5=Np×Xp/Kp+Nb×Xb/Kb …(59),
Xgop6=Np×Xp/Kp+(Nb−R_HQ_num)×Xb/Kb …(60).
この場合も、従来技術に比べて、additional_Tpの分だけ多くのビット数がこのPフレームに割り当てられるため、このフレームの画質は改善する。この結果、このフレームを参照するフレームの動き予測効果も改善する。
ステップS905では、フレーム符号量割り当て装置1111は、今から符号化しようとするBピクチャのフレーム番号coding_frame_numが、画質制御装置112から供給される残り高画質フレーム番号R_HQ_frame_numと同期するかを判定する。同期すればステップS906に移行し、そうでなければステップS907に移行する。
ステップS906では、フレーム符号量割り当て装置1111は、式(61)によって、今から符号化しようとするBピクチャに対する符号量を計算し、フレーム符号量割り当てを終了する。
Tb=R/(Nb+Np×Kb×Xp/(Kp×Xb))+additional_Tb …(61),
additional_Tb=residu_bit4×Xb/(Kb×Xgop6) …(62).
この場合も、従来方式と比べ、additional_Tbの分だけ多いビット数がこのBフレームに割り当てられるため、このフレームの画質は改善する。この結果、このフレームを参照するフレームの動き予測効果も改善する。
ステップS907では、フレーム符号量割り当て装置1111は、今から符号化しようとするBピクチャに対する符号量を式(63)によって計算し、フレーム符号量割り当てを終了する。
Tb=(1−margin_ratio)×R/(Nb+Np×Kb×Xp/(Kp×Xb)) …(63).
このとき、margin_ratioの分だけこのBフレームに対する割り当て符号量が減少するため、このフレームの画質劣化が考えられる。しかしながら、画質制御装置112の制御により、高画質に符号化されたI,P,Bフレームを参照して動き予測が可能であるから、割り当て符号量が多少少なくても、動き予測の性能が改善した分、画質の劣化を抑えることができる。
ステップS908では、フレーム符号量割り当て装置1111は、今から符号化しようとするフレームのピクチャタイプを判定する。IピクチャであればステップS909に移行し、PピクチャであればステップS910に移行し、それ以外であれば、すなわちBピクチャであれば、S911に移行する。
ステップS909では、フレーム符号量割り当て装置1111は、今から符号化しようとするIピクチャに対する符号量を式(64)によって計算し、フレーム符号量割り当てを終了する。
Ti=R/(1+Np×Xp/(Kp×Xi)+Nb×Xb/(Kb×Xi)) …(64).
ステップS910では、フレーム符号量割り当て装置1111は、今から符号化しようとするPピクチャに対する符号量を式(65)によって計算し、フレーム符号量割り当てを終了する。
Tp=R/(Np+Nb×Kp×Xb/(Kb×Xp)) …(65).
ステップS911では、フレーム符号量割り当て装置1111は、今から符号化するBピクチャに対する符号量を式(66)によって計算し、フレーム符号量割り当てを終了する。
Tb=R/(Nb+Np×Kb×Xp/(Kp×Xb)) …(66).
以上の符号量割り当てにより、参照フレームとして優先度の低いBピクチャフレームに余分な符号量を割り当てることなく、他のフレームから参照されるとともにI,P,Bピクチャとして符号化されるフレームを高画質に符号化することができる。この結果、すべてのフレームが高画質に符号化されたフレームから動き予測可能となり、動画像を高画質に符号化することができる。
量子化パラメータ更新装置1112は、フレーム符号量割り当て装置1111で求められた各フレームに対する割り当て符号量Ti,p,bと実際の発生符号量を一致させるため、各ピクチャタイプ別に設定した仮想バッファ容量を元に、量子化パラメータをマクロブロック単位のフィードバック制御で求める。この量子化パラメータ更新装置1112の動作は、第1の実施形態の場合と同じであるが、ピクチャタイプ別の変数名に対応させるため、図11のフローチャートを参照して、各ステップの動作を以下で説明する。
ステップS401では、量子化パラメータ更新装置1112は、j番目のマクロブロックの符号化に先立ち、仮想バッファの占有量をピクチャタイプ別に式(67)によって計算する。
di,p,b(j)=di,p,b(0)+B(j−1)−Ti,p,b×(j−1)/MBcount …(67).
di,p,b(0)は仮想バッファの初期占有量、B(j)はフレームの先頭からj番目のマクロブロックまでの発生符号量、MBcountはフレーム内のマクロブロックの数である。各フレームの符号化終了時において、ピクチャタイプ別の仮想バッファの初期占有量di,p,b(MBcount)は、次のピクチャに対する仮想バッファの初期占有量di,p,b(0)として用いられる。
ステップS402では、量子化パラメータ更新装置1112は、j番目のマクロブロックに対する量子化ステップサイズを式(68)に基づいて計算する。
Qstep=Qi,p,b×di,p,b(j)×31/(10×r) …(68),
Qi,p,b=Xi,p,b/Ti,p,b …(69).
フレーム符号量割り当て1111の制御により、高画質に符号化されるフレームの割り当て符号量Ti,p,bは、従来の方式よりも大きくなり、粗く符号化されるBピクチャ符号量はTbは、従来の方式よりも小さくなる。式(69)より、高画質に符号化されるBピクチャフレームの量子化ステップサイズQbは小さくなり、粗く符号化されるBピクチャフレームの量子化ステップサイズQbは大きくなる。すなわち、参照フレームとして優先度の高いBピクチャフレームは、参照フレームとして優先度の低いBピクチャフレームよりも高画質に符号化される。
rはリアクションパラメータと呼ばれるフィードバックループの応答速度を制御するパラメータであり、式(70)で与えられる。
r=2×bitrate/frame_rate …(70).
なお、符号化の開始時における仮想バッファの初期占有量di,p(0)は、式(71)〜(73)で与えられる。
di(0)=10×r/31 …(71),
dp(0)=Kp×di(0) …(72),
db(0)=Kb×di(0) …(73).
ステップS403では、量子化パラメータ更新装置1112は、量子化ステップサイズQstepに対応する量子化パラメータQを量子化テーブルから検出する。量子化テーブルに、対応する量子化ステップサイズQstepが存在しない場合には、量子化パラメータ更新装置1112は、量子化ステップサイズQstepに最も近い量子化ステップ値の量子化パラメータQを出力する。
次に、本発明の第4の実施形態の動画像符号化装置を説明する。第4の実施形態では、フレームを符号化するピクチャタイプとして、Iピクチャ、PピクチャおよびBピクチャを用いる。第4の実施形態の動画像符号化装置は、第2の実施形態の動画像符号化装置と同じ構成を有するが、Bピクチャを用いて符号化を行うため、画質制御装置112および符号量制御装置111の動作が第2の実施形態の場合と異なっている。このうち、符号量制御装置111の動作は、第3の実施形態における符号量制御装置111と同じである。よって、以下では、本実施例における画質制御装置112を説明する。
画質制御装置112は、第3の実施形態の場合と同様に、画質判定装置1121と画質制御カウンタ1122によって構成される。第4の実施形態の画質制御装置が第3の実施形態の画質制御装置と異なっているところは、動画像解析装置112から供給されるフレーム差分情報とフレーム動き情報による画質判定装置1121の動作が変わったことである。図24を用いて、第4の実施形態における画質判定装置1121の動作を説明する。
GOPのフレーム枚数をNとし、画質判定処理中のフレームの番号をiとして、図24を参照して、高画質化フレーム数HQ_numと高画質化フレーム番号HQ_frame_num[HQ_num]の計算方法を説明する。iの初期値は1であり、HQ_numの初期値は0である。
まず、ステップS1001において、画質判定装置1121は、各フレームiとその参照フレーム1について、動画像解析装置113が供給するフレーム差分情報FD1(i)とフレーム動き情報FMV1(i)を用いて式(40)よりフレーム間コストIFC1(i)を計算する。また、画質判定装置1121は、式(42)のMIN_IFC(i)についてMIN_IFC(i)=IFC1(i)が成り立つものとして、式(42)〜(44)に基づいて、IFC_UPPER_LIMITおよびIFC_LOWER_LIMITを求める。その上で、画質判定装置1121は、すべてのIFC1(i)がIFC_LOWER_LIMIT<IFC1(i)<IFC_UPPRE_LIMITかを判定する。すべてのIFC1(i)が上記範囲に収まっていればi=1としてS1002に移行し、そうでなければ処理を終了する。
ステップS1002では、画質判定装置1121は、現在の解析対象であるi番目のフレームの符号化タイプがBピクチャか否かを判定する。BピクチャであればステップS1003に移行し、そうでなければステップS1005に移行する。
ステップS1003では、画質判定装置1121は、続くi+1番目のフレームの符号化タイプがBピクチャか否かを判定する。BピクチャであればステップS1004に移行し、そうでなければステップS1005に移行する。
ステップS1004では、画質判定装置1121は、式(49)に基づいて、現在のi番目のフレームを高画質化フレーム番号HQ_frame_num[HQ_num]として記憶し、高画質化フレーム数HQ_numを式(50)によって更新する。
ステップS1005では、画質判定装置1121は、処理対象のフレーム番号iを1インクリメントして、フレーム数Nより小さいかを判定し、小さければステップS1002にもどり、そうでなければ処理を終了する。
画質判定装置1121は、以上の処理を完了したのちHQ_numが1以上であれば高画質化フラグHQ_flgをオンとし、そうでなければオフとする。
本実施形態でも、動画像解析装置113を備えていることにより、GOP中にシーンチェンジやフラッシュなどの瞬時的な画像の変動があった場合や、シーンの符号化困難度の大きな変動の影響を考慮して、高画質に符号化するBピクチャフレームを正確に選択することができる。この結果、さらに動画像を高画質に符号化することができる。
次に、本発明の第5の実施形態を説明する。以上説明した本発明に基づく動画像符号化装置は、以上の説明からも明らかなように、ハードウェアで構成することも可能であるが、コンピュータプログラムにより実現することも可能である。
図25は、本発明の第5の実施形態における情報処理システムを示すものであって、本発明に基づく動画像符号化装置をインプリメントした情報処理システムの一般的な構成を示している。
この情報処理システムは、プロセッサ210、プログラムメモリ(主メモリ)202、記憶媒体203、204からなる。記憶媒体203、204は、別個の記憶媒体であってもよいし、同一の記憶媒体における異なる記憶領域であってもよい。記憶媒体としては、ハードディスクの磁気記憶媒体などを用いることができる。
そして、上述した動画像符号化処理を情報処理システムに実行させるためのプログラムをプログラムメモリ202に格納し、そのプログラムをプロセッサ210が実行することによって、この情報処理システムは上述した動画像符号化装置として機能することになる。入力動画像データは記憶媒体203に予め格納されており、符号化後のビットストリームは、記憶媒体204に格納される。
したがって、本発明の範疇には、本発明に基づく動画像符号化処理をコンピュータに実行させるためのプログラム、あるいはそのようなプログラムを格納したコンピュータ読み取り可能な記憶媒体、さらにはそのようなプログラムからなるプログラムプロダクトも含まれる。
本発明のコンピュータプログラムは、例えば、複数枚の画像フレームを参照してマルチフレーム動き予測を行って動画像符号化を実行するコンピュータに、
同じピクチャタイプの複数枚の参照フレームのうちから少なくとも1枚の参照フレームを選択する処理、
選択された参照フレームを同じピクチャタイプの他の参照フレームよりも高画質に符号化する処理、
とを実行させるプログラムである。
あるいは、本発明のコンピュータプログラムは、例えば、複数枚の画像フレームを参照してマルチフレーム動き予測を行って動画像符号化を実行するコンピュータに、
参照フレームと符号化対象フレームとの間の差分情報及び動き情報を求める処理、
差分情報及び動き情報に基づいて、選択される参照フレームの間隔が適応的に変化するように、同じピクチャタイプの複数枚の参照フレームのうちから少なくとも1つの参照フレームを選択する処理、
選択された参照フレームを同じピクチャタイプの他の参照フレームよりも高画質に符号化する処理、
とを実行させるプログラムである。
次に、本発明の第6の実施形態として、例えば上述した第1乃至第5の実施形態の動画像符号化装置によって符号化された動画像データあるいは動画像ビットストリームが入出力される入出力装置について説明する。ここでは、動画像データ(動画像ビットストリーム)が入出力される入出力装置の例として、第1の実施形態あるいは第2の実施形態に基づいて生成された動画像符号化ビットストリームを入力とする受信機を説明するが、本発明に基づく入出力装置はこれに限られるものではなく、動画像データが入出力されるフレームシンクロナイザや、ビデオ等の録画装置などでもよい。
図26に示すように、受信機は、ビデオデコーダ115と参照フレーム画質監視装置116とを備えている。ビデオデコーダ115は、図1に示した従来の動画像符号化装置と対をなして使用される従来の動画像復号装置と同様のものである。すなわちビデオデコーダ115は、図1に示した動画像符号化装置のうちの局所的復号装置を構成する逆量子化装置104、逆周波数変換装置105、フレームメモリ106、フレーム内予測装置107、動き補償装置108及びバッファ110に備えている。さらに、ビデオデコーダ115は、可変長復号装置114を備えている。ビデオデコーダ115におけるこれら構成要素の機能は、可変長復号装置114を除けば、図1に示した従来の動画像符号化装置におけるものと同等である。
ビデオデコーダ115に入力するビデオビットストリームは、動画像符号化装置によって、元の入力画像を複数のブロックに分割し、これらのブロックからフレーム内予測装置あるいは動き補償装置によって予測値が減じられた予測誤差信号を周波数変換して量子化して得た変換係数、および予測値を生成するための動きベクトルおよび参照フレームなどが可変長復号された符号列を主な構成要素とする。
可変長復号装置114は、受信したビデオビットストリームを蓄えるバッファ110から供給される可変長符号を元の数値に復号する。復号された数値には。変換係数、量子化パラメータ、ピクチャタイプ、動きベクトルおよび参照フレームなどが含まれる。
逆量子化装置104は、量子化パラメータを用いて変換係数を逆量子化し、逆量子化変換係数を生成する。逆周波数変換装置105は、逆量子化変換係数を逆周波数変換し、予測誤差信号を生成する。この予測誤差信号には、フレーム内予測装置107もしくは動き補償装置108から供給される予測値が加算器132によって加えられ、復号画像が得られる。フレーム内予測装置107及び動き補償装置108のいずれからの予測値が用いられるかは、スイッチ131によって選択できる。これらの処理をビデオデコーダが繰り返すことで、復号画像を得ることができる。また、このように得られた復号画像は、再構築画像としてフレームメモリ106に格納されて、フレーム内予測装置107、動き補償装置108および動き推定装置109による予測値の生成に利用される。
次に、参照フレーム画質監視装置114の動作について説明する。
参照フレーム画質監視装置114は、ビデオデコーダ115から供給されるピクチャタイプ、参照フレーム、量子化パラメータ、可変長符号およびフレームメモリを監視し、参照フレーム画質変動フラグからなる参照フレーム画質変動情報を出力する。参照フレーム画質変動フラグとは、“動画像ビットストリームの復号の動き補償(マルチフレーム動き予測)に用いる参照フレームに、同じピクチャタイプの他のフレームよりも多くの符号量が割り当てられている、あるいは量子化パラメータが小さいフレームを含む動画像符号化ビットストリームか否か”を示す。
参照フレーム画質変動フラグは、具体的に、復号後に他のフレームから参照されることとなる参照フレームとなるフレームの復号時のピクチャタイプ、符号量および平均量子化パラメータを記憶しておくことで、フレームメモリに格納された参照フレームに、同じピクチャタイプの他のフレームよりも多くの符号量が割り当てられている、あるいは量子化パラメータが小さいフレームを含む動画像符号化ビットストリームか否か確認することによって求めることができる。
フレームメモリに格納された参照フレームの番号i (1<i<MAX_REF)に対応するピクチャタイプをpic_type(i)とし、フレーム全体の符号量をtotal_bit(i)とし、フレーム全体の平均量子化パラメータをaverage_q(i)として、図27は、参照フレーム画質変動フラグを生成するための処理を示している。
まず、ステップSA01において、参照フレーム画質監視装置114は、今から復号を開始しようとするフレームのピクチャタイプがPピクチャあるいはBピクチャであるかを判別する。PピクチャあるいはBピクチャであればステップSA02に移行し、そうでなければ参照フレーム画質変動フラグがオフに設定されて処理が終了する。
ステップSA02では、参照フレーム画質監視装置114は、今から復号を開始しようとするフレームのピクチャタイプと同じピクチャタイプの複数枚ref(1<ref<MAX_REF))の参照フレームにおいて、条件1として、i番目のフレームがj番目の参照フレームよりも多くの符号量が割り当てられているか、あるいは、条件2として、量子化パラメータが小さいか、を判定する。
条件1は、total_bit(i)≒(1+margin_ratio)xtotal_bit(j)、かつ、pic_type(i)=pic_type(j)、かつ、i≠jと記述できる。条件2は、average_q(i)≒(1/(1+margin_ratio))×average_q(j)、かつ、pic_type(i)=pic_type(j)、かつ、i≠jと記述できる。
ステップSA02において、条件1または条件2が成立する場合は、動画像ビットストリームがマルチフレーム動き予測に用いる参照フレームに、同じピクチャタイプの他のフレームよりも多くの符号量が割り当てられている、あるいは、そのような参照フレームは、量子化パラメータが小さいフレームを含む動画像符号化ビットストリームであるから、参照フレーム画質監視装置114は、参照フレーム画質変動フラグをオンとする。条件1、条件2のいずれも満たされない場合には、参照フレーム画質変動フラグはオフとされる。
次に、ステップSA03では、参照フレーム画質監視装置114は、バッファ110から供給される可変長符号の符号長を検査することによって復号対象フレーム全体の符号量tmp_total_bitを計算するとともに、可変長復号装置114から供給されるMBごとの量子化パラメータから、フレーム全体の平均量子化パラメータtmp_average_Qを計算する。またこの際、可変長復号装置114から供給されるピクチャタイプtmp_pic_typeも記憶する。現在の復号対象のフレームが復号終了後にフレームメモリ106に番号kとして格納されるタイミングで、参照フレーム画質監視装置114は、tmp_total_bit,tmp_average_Qおよびtmp_pic_typeをそれぞれpic_type(k)、total_bit(k)およびaverage_q(k)に格納して、処理を終了する。
このような参照フレーム画質変動フラグの計算は、各フレームをデコードするたびに実行される。
以上の処理によって、参照フレーム画質変動フラグがオンとなったとき、本発明に基づく動画像符号化方法によって生成された動画像ビットストリームであってマルチフレーム動き予測に用いる参照フレームに、同じピクチャタイプの他のフレームよりも多くの符号量が割り当てられている、あるいは量子化パラメータが小さいフレームを含むことを確認することができる。

Claims (25)

  1. 複数枚の画像フレームを参照してマルチフレーム動き予測を行って符号化を行う動画像符号化方法であって、
    あるフレームのマルチフレーム動き予測に用いる同じピクチャタイプの複数枚の参照フレームのうちから少なくとも1枚の参照フレームを選択することと、
    選択された参照フレームを前記同じピクチャタイプの他の参照フレームよりも高画質に符号化することと、
    を有することを特徴とする動画像符号化方法。
  2. 前記高画質に符号化されたフレームは、同じピクチャタイプの他のフレームよりも多くの符号量が割り当てられたフレームである、請求項1に記載の方法。
  3. 前記高画質に符号化されたフレームは、同じピクチャタイプの他のフレームよりも量子化パラメータが小さいフレームである、請求項1に記載の方法。
  4. 前記高画質に符号化されたフレームは、Pピクチャフレームである、請求項1に記載の方法。
  5. 前記高画質に符号化されたフレームは、Bピクチャフレームである、請求項1に記載の方法。
  6. 連続する複数のBピクチャフレームを符号化する際に、前記連続するBピクチャフレームのうちの最後のBピクチャフレームに比較して、前記最後のBピクチャフレーム以前のBピクチャフレームを高画質に符号化する段階を有する、請求項5に記載の方法。
  7. 前記高画質に符号化されたフレームを一定のフレーム間隔で配置する段階をさらに有する、請求項1に記載の方法。
  8. 前記高画質に符号化されたフレームを一定のフレーム間隔で配置する段階をさらに有する、請求項6に記載の方法。
  9. 前記高画質に符号化されたフレームのフレーム間隔を、参照フレームと符号化対象フレームとの間の差分情報及び動き情報が多い場合には狭く、そうでない場合には広くなるように、変更する段階をさらに有する、請求項1に記載の方法。
  10. 前記高画質に符号化されたフレームのフレーム間隔を、参照フレームと符号化対象フレームとの間の差分情報及び動き情報が多い場合には狭く、そうでない場合には広くなるように、変更する段階をさらに有する、請求項6に記載の方法。
  11. 複数枚の画像フレームを参照してマルチフレーム動き予測を行って符号化を行う動画像符号化装置であって、
    あるフレームのマルチフレーム動き予測に用いる同じピクチャタイプの複数枚の参照フレームのうちから少なくとも1枚の参照フレームを選択する選択手段と、
    選択された参照フレームを前記同じピクチャタイプの他の参照フレームよりも高画質に符号化する符号化手段と、
    を有することを特徴とする動画像符号化装置。
  12. 前記符号化手段は、前記選択された参照フレームに対し、前記同じピクチャタイプの他の参照フレームよりも多くの符号量を割り当てる、請求項11に記載の装置。
  13. 前記符号化手段は、前記選択された参照フレームに対し、前記同じピクチャタイプの他の参照フレームよりも量子化パラメータを小さく設定する、請求項11に記載の装置。
  14. 前記選択される参照フレームはPピクチャフレームである、請求項11に記載の装置。
  15. 前記選択される参照フレームはBピクチャフレームである、請求項11に記載の装置。
  16. 前記選択手段は、連続する複数のBピクチャフレームの中から、前記連続するBピクチャフレームの最後のBピクチャフレームより以前のBピクチャフレームを選択する、請求項15に記載の装置。
  17. 前記選択手段は、一定のフレーム間隔で前記参照フレームを選択する、請求項11に記載の装置。
  18. 前記選択手段は、一定のフレーム間隔で前記参照フレームを選択する、請求項16に記載の装置。
  19. 参照フレームと符号化対象フレームとの間の差分情報及び動き情報を出力する動画像解析手段をさらに有し、
    前記選択手段は、選択される参照フレームのフレーム間隔が、前記差分情報及び前記動き情報が多い場合には狭く、そうでない場合には広くなるように、前記参照フレームを選択する、請求項11に記載の装置。
  20. 参照フレームと符号化対象フレームとの間の差分情報及び動き情報を出力する動画像解析手段をさらに有し、
    前記選択手段は、選択される参照フレームのフレーム間隔が、前記差分情報及び前記動き情報が多い場合には狭く、そうでない場合には広くなるように、前記参照フレームを選択する、請求項16に記載の装置。
  21. 複数枚の画像フレームを参照してマルチフレーム動き予測が行われて符号化された動画像データが入力または出力される入出力装置であって、
    前記符号化された動画像データを復号するビデオデコーダと、
    前記ビデオデコーダ1から供給されるピクチャタイプ、参照フレーム、量子化パラメータ、可変長符号およびフレームメモリを監視し、前記符号化された動画像データに、マルチフレーム動き予測に用いる参照フレームであって同じピクチャタイプの他のフレームよりも高画質に符号化された参照フレームを含むかどうかを判別する監視手段と、
    を有する入出力装置。
  22. 複数枚の画像フレームを参照してマルチフレーム動き予測を行って動画像符号化を実行するコンピュータに、
    あるフレームのマルチフレーム動き予測に用いる同じピクチャタイプの複数枚の参照フレームのうちから少なくとも1枚の参照フレームを選択する処理、
    選択された参照フレームを前記同じピクチャタイプの他の参照フレームよりも高画質に符号化する処理、
    とを実行させるプログラム。
  23. 複数枚の画像フレームを参照してマルチフレーム動き予測を行って動画像符号化を実行するコンピュータに、
    参照フレームと符号化対象フレームとの間の差分情報及び動き情報を求める処理、
    選択される参照フレームの間隔が、前記差分情報及び前記動き情報が多い場合には狭く、そうでない場合には広くなるように、同じピクチャタイプの複数枚の参照フレームのうちから少なくとも1つの参照フレームを選択する処理、
    選択された参照フレームを同じピクチャタイプの他の参照フレームよりも高画質に符号化する処理、
    とを実行させるプログラム。
  24. コンピュータが読み取り可能な記録媒体であって、複数枚の画像フレームを参照してマルチフレーム動き予測を行って動画像符号化を実行するコンピュータに、
    あるフレームのマルチフレーム動き予測に用いる同じピクチャタイプの複数枚の参照フレームのうちから少なくとも1枚の参照フレームを選択する処理、
    選択された参照フレームを前記同じピクチャタイプの他の参照フレームよりも高画質に符号化する処理、
    とを実行させるプログラムを記録した記録媒体。
  25. コンピュータが読み取り可能な記録媒体であって、複数枚の画像フレームを参照してマルチフレーム動き予測を行って動画像符号化を実行するコンピュータに、
    参照フレームと符号化対象フレームとの間の差分情報及び動き情報を求める処理、
    選択される参照フレームの間隔が、前記差分情報及び前記動き情報が多い場合には狭く、そうでない場合には広くなるように、同じピクチャタイプの複数枚の参照フレームのうちから少なくとも1つの参照フレームを選択する処理、
    選択された参照フレームを同じピクチャタイプの他の参照フレームよりも高画質に符号化する処理、
    とを実行させるプログラムを記録した記録媒体。
JP2005516646A 2003-12-25 2004-12-24 動画像符号化方法及び装置 Expired - Fee Related JP4632049B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2003430577 2003-12-25
JP2003430577 2003-12-25
PCT/JP2004/019355 WO2005064947A1 (ja) 2003-12-25 2004-12-24 動画像符号化方法及び装置

Publications (2)

Publication Number Publication Date
JPWO2005064947A1 JPWO2005064947A1 (ja) 2007-12-20
JP4632049B2 true JP4632049B2 (ja) 2011-02-16

Family

ID=34736346

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005516646A Expired - Fee Related JP4632049B2 (ja) 2003-12-25 2004-12-24 動画像符号化方法及び装置

Country Status (7)

Country Link
US (1) US9071846B2 (ja)
EP (1) EP1699244B1 (ja)
JP (1) JP4632049B2 (ja)
KR (1) KR100796857B1 (ja)
CN (1) CN1898965B (ja)
TW (1) TW200525902A (ja)
WO (1) WO2005064947A1 (ja)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4732184B2 (ja) * 2006-02-21 2011-07-27 キヤノン株式会社 動画像符号化装置及びその制御方法、コンピュータプログラム、記憶媒体
JP5099371B2 (ja) * 2007-01-31 2012-12-19 日本電気株式会社 画質評価方法、画質評価装置および画質評価プログラム
RU2479942C2 (ru) * 2008-06-27 2013-04-20 Сони Корпорейшн Устройство обработки изображения и способ обработки изображения
KR101377527B1 (ko) 2008-10-14 2014-03-25 에스케이 텔레콤주식회사 복수 개의 참조 픽처의 움직임 벡터 부호화/복호화 방법 및장치와 그를 이용한 영상 부호화/복호화 장치 및 방법
US8582654B1 (en) * 2009-09-30 2013-11-12 Hewlett-Packard Development Company, L.P. Generating a deblocked version of video frames using motion estimation
CN107295346B (zh) * 2010-04-01 2020-11-10 索尼公司 图像处理设备和方法
US10027957B2 (en) * 2011-01-12 2018-07-17 Sun Patent Trust Methods and apparatuses for encoding and decoding video using multiple reference pictures
WO2012108181A1 (en) 2011-02-08 2012-08-16 Panasonic Corporation Methods and apparatuses for encoding and decoding video using multiple reference pictures
WO2012120855A1 (ja) * 2011-03-04 2012-09-13 パナソニック株式会社 画像符号化方法、画像復号方法、画像符号化装置および画像復号装置
WO2013066045A1 (ko) * 2011-10-31 2013-05-10 엘지전자 주식회사 참조 픽처 리스트 초기화 방법 및 장치
US20150139310A1 (en) * 2012-06-29 2015-05-21 Sony Corporation Image processing apparatus and image processing method
CN104396256B (zh) * 2012-06-29 2018-11-06 威勒斯媒体国际有限公司 解码设备和解码方法
JP6212345B2 (ja) * 2013-10-02 2017-10-11 ルネサスエレクトロニクス株式会社 動画像符号化装置およびその動作方法
JP6046761B2 (ja) * 2015-04-06 2016-12-21 日本電信電話株式会社 符号量算出方法、符号量算出装置及び符号量算出プログラム
CN110708570B (zh) * 2019-10-21 2022-05-17 腾讯科技(深圳)有限公司 视频的编码码率确定方法、装置、设备及存储介质
CN112291560B (zh) * 2020-10-30 2024-05-07 北京百度网讯科技有限公司 视频编码方法、装置、设备和介质
CN112291559B (zh) * 2020-10-30 2023-10-31 北京百度网讯科技有限公司 视频编码方法、装置、设备和介质
US20230078190A1 (en) * 2021-09-15 2023-03-16 Synaptics Incorporated Image compression method and apparatus

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002125232A (ja) * 2000-10-12 2002-04-26 Matsushita Electric Ind Co Ltd 動画像データの符号化装置およびその方法
JP2003284077A (ja) * 2002-01-16 2003-10-03 Matsushita Electric Ind Co Ltd 画像符号化装置、画像符号化方法、及び画像符号化プログラム
JP2003299103A (ja) * 2002-03-29 2003-10-17 Toshiba Corp 動画像符号化方法と装置及び動画像復号化方法と装置

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3223043B2 (ja) 1994-07-19 2001-10-29 松下電器産業株式会社 動画像符号化装置
JPH09191458A (ja) * 1996-01-10 1997-07-22 Nippon Columbia Co Ltd 動画像圧縮符号化方法及びその装置
CA2208950A1 (en) * 1996-07-03 1998-01-03 Xuemin Chen Rate control for stereoscopic digital video encoding
JP3604864B2 (ja) 1997-04-25 2004-12-22 シャープ株式会社 動画像符号化装置
US6249318B1 (en) * 1997-09-12 2001-06-19 8×8, Inc. Video coding/decoding arrangement and method therefor
JP2891253B1 (ja) 1997-12-10 1999-05-17 日本電気株式会社 画像圧縮処理装置
WO1999063760A1 (en) * 1998-05-30 1999-12-09 Sgs-Thomson Microelectronics Asia Pacific (Pte) Ltd. Sequence adaptive bit allocation for pictures encoding
JP3757088B2 (ja) * 1999-10-26 2006-03-22 日本電気株式会社 動画像符号化装置および方法
JP2003087732A (ja) 2001-09-12 2003-03-20 Sanyo Electric Co Ltd 映像再生装置
JP2003304538A (ja) * 2002-04-11 2003-10-24 Matsushita Electric Ind Co Ltd 画像符号化装置、画像復号化装置及びそれらの方法
JP4217011B2 (ja) 2001-09-28 2009-01-28 日本放送協会 ピクチャタイプの推定方法、推定装置及びそれを用いた画像測定装置、符号化器
US7106798B1 (en) * 2002-05-23 2006-09-12 Microsoft Corporation Smooth scanning presenter
JP4593556B2 (ja) 2003-01-09 2010-12-08 ザ リージェンツ オブ ザ ユニバーシティ オブ カリフォルニア 映像符号化方法及びデバイス

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002125232A (ja) * 2000-10-12 2002-04-26 Matsushita Electric Ind Co Ltd 動画像データの符号化装置およびその方法
JP2003284077A (ja) * 2002-01-16 2003-10-03 Matsushita Electric Ind Co Ltd 画像符号化装置、画像符号化方法、及び画像符号化プログラム
JP2003299103A (ja) * 2002-03-29 2003-10-17 Toshiba Corp 動画像符号化方法と装置及び動画像復号化方法と装置

Also Published As

Publication number Publication date
CN1898965B (zh) 2012-04-18
US20070147500A1 (en) 2007-06-28
TW200525902A (en) 2005-08-01
KR20060103545A (ko) 2006-10-02
WO2005064947A1 (ja) 2005-07-14
EP1699244B1 (en) 2016-04-06
EP1699244A1 (en) 2006-09-06
EP1699244A4 (en) 2010-04-07
US9071846B2 (en) 2015-06-30
CN1898965A (zh) 2007-01-17
JPWO2005064947A1 (ja) 2007-12-20
KR100796857B1 (ko) 2008-01-22

Similar Documents

Publication Publication Date Title
US11375240B2 (en) Video coding using constructed reference frames
JP4632049B2 (ja) 動画像符号化方法及び装置
US9258567B2 (en) Method and system for using motion prediction to equalize video quality across intra-coded frames
JP4763548B2 (ja) スケーラブルビデオコーディング及びデコーディング方法と装置
KR20010021879A (ko) 코딩 시스템의 매크로 블록 기반 비율을 제어하기 위한장치 및 방법
JP4702059B2 (ja) 動画像を符号化する方法及び装置
US8780997B2 (en) Regulation of decode-side processing based on perceptual masking
JP2007089035A (ja) 動画像符号化方法、装置及びプログラム
JP4764136B2 (ja) 動画像符号化装置、及びフェードシーン検出装置
KR19990076563A (ko) 동화상 부호화 방식
JP7015183B2 (ja) 画像符号化装置及びその制御方法及びプログラム
US20070014364A1 (en) Video coding method for performing rate control through frame dropping and frame composition, video encoder and transcoder using the same
JP3508916B2 (ja) 動画像可変ビットレート符号化方法および装置
US20090279610A1 (en) Method and apparatus for encoding/decoding with interlace scanning based motion vector transformation
JP4243205B2 (ja) 動画像符号化装置、その方法及びそのプログラム
JP4243286B2 (ja) 符号化方法
JP6874844B2 (ja) 動画像符号化装置、動画像符号化方法、及び、動画像符号化プログラム
JP3877043B2 (ja) シーン適応型動画像符号化装置
JPH0818952A (ja) 画像信号符号化装置
JPH11196423A (ja) 画像処理装置および方法、並びに提供媒体
JP2000083255A (ja) デ―タ符号化方法及び装置
JP2007082048A (ja) 動画像符号化装置及び動画像符号化方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100728

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100922

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

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101102

R150 Certificate of patent or registration of utility model

Ref document number: 4632049

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20131126

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees