JP2008252562A - 動画像符号化制御方法および動画像符号化装置 - Google Patents
動画像符号化制御方法および動画像符号化装置 Download PDFInfo
- Publication number
- JP2008252562A JP2008252562A JP2007091674A JP2007091674A JP2008252562A JP 2008252562 A JP2008252562 A JP 2008252562A JP 2007091674 A JP2007091674 A JP 2007091674A JP 2007091674 A JP2007091674 A JP 2007091674A JP 2008252562 A JP2008252562 A JP 2008252562A
- Authority
- JP
- Japan
- Prior art keywords
- frame
- skip
- control method
- moving image
- skips
- 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.)
- Pending
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
【課題】動画の滑らかさを損なわずに、目標ビットレートを維持するようなフレームスキップ制御を行うことができる動画像符号化装置を提供する。
【解決手段】動画像符号化装置において、動画像のフレームをスキップさせるフレームスキップを用いて、動画像を符号化する際のレート制御を行うレート制御部115を備え、レート制御部115は、現フレームの符号量を基に、符号化ストリームの発生ビットレートが目標ビットレートに追従するために将来必要なフレームスキップの枚数を算出し、フレームスキップの枚数のフレームスキップを等間隔にスケジュールする。
【選択図】図1
【解決手段】動画像符号化装置において、動画像のフレームをスキップさせるフレームスキップを用いて、動画像を符号化する際のレート制御を行うレート制御部115を備え、レート制御部115は、現フレームの符号量を基に、符号化ストリームの発生ビットレートが目標ビットレートに追従するために将来必要なフレームスキップの枚数を算出し、フレームスキップの枚数のフレームスキップを等間隔にスケジュールする。
【選択図】図1
Description
本発明は、動画像を符号化する動画像符号化制御方法および動画像符号化装置に関し、特に、動画像符号化のレート制御に関するものであり、さらに詳細にはレート制御におけるフレームスキップ制御に適用して有効な技術に関する。
動画像符号化方式には、MPEG−1(Moving Picture Expert Group Phase−1)、MPEG−2、MPEG−4、MPEG−4 AVC(Advanced Video Coding)などがある。これら一般的な動画像符号化では、時間方向での画像フレーム間の相関性や、フレーム内の画素間の相関性などを利用して冗長な情報量を削減し、可変長符号化を行う。このため、入力画像の性質や動きなどに応じて一定の画質を得るために要する符号量が変化する。
レート制御は、符号量と画質の制御を行う処理である。すなわち、符号量を多く割り当てて画質を高めるか、符号量を少なくして画質を落とすかを制御する処理である。レート制御では一般的に、過去のフレームの符号量情報などを基に、変換・量子化処理における量子化ステップ幅を決定することにより、符号量と画質を制御する。具体的には、量子化ステップ幅が増えると符号量が小さくなり、量子化ステップ幅が小さくなると符号量が大きくなる性質を利用し、符号量と画質の制御を行う。
フレームスキップ処理は、レート制御における、上記の量子化ステップ幅以外による符号量制御方法として位置づけられる。量子化ステップ幅が取り得る値の範囲には制限があるため、この制限内の調整だけでは、符号量を目標のビットレート以下に抑えることができない場合がある。フレームスキップ処理では、このようなときに符号化フレームを破棄し、符号化ストリームとして出力しないことにより、出力される符号量を抑制する。ただしフレームスキップは、フレームとフレームの時間間隔を増加させるため、映像の滑らかさを損ねる可能性がある。このためフレームスキップ処理では、いかにフレームスキップによる映像の滑らかさの劣化を抑えながら、符号量を目標ビットレートに収束させるかが重要となる。
また、フレームスキップ処理における閾値判定の技術として、特許第3206413号公報(特許文献1)に示されるような、フレームの動き量などといった、画像の特徴に応じてフレームスキップ数を増減させる方法があった。これは、画像の特徴に応じてフレームスキップ数を制御することで、人間の視覚特性を利用してフレームスキップによる映像の滑らかさの劣化を抑制することができる。
特許第3206413号公報
しかしながら、従来のフレームスキップ処理では、1フレームの符号化後の発生符号量に基づき、何らかの閾値処理を行い、当該フレームをスキップさせるか否かを判定させる方法が主である。例えば、あるレート制御の単位区間において、発生ビットレートが目標ビットレートを大きく上回る場合には、当該フレームをスキップさせる、といった閾値処理が挙げられる。この場合、一度スキップが発生してしまう状況に陥ると、スキップが連続して起こるため、フレーム間の時間間隔が広がり、動画の滑らかさが損なわれるという問題があった。
また、特許文献1に記載の閾値判定においても、画像の特徴によってフレームスキップが制御されるため、目標ビットレートへの追従性が悪いという課題があった。
そこで、本発明の目的は、上記の事情を鑑みてなされるものであり、動画像符号化レート制御において、動画の滑らかさを損なわずに、目標ビットレートを維持するようなフレームスキップ制御を行うことができる動画像符号化制御方法および動画像符号化装置を提供することである。
本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次のとおりである。
本発明による動画像符号化制御方法は、動画像を符号化する際のレート制御に、動画像のフレームをスキップさせるフレームスキップを用いる動画像符号化制御方法であって、現フレームの符号量を基に、符号化ストリームの発生ビットレートが目標ビットレートに追従するために将来必要なフレームスキップの枚数を算出し、フレームスキップの枚数のフレームスキップを等間隔にスケジュールするものである。
また、本発明による動画像符号化装置は、動画像を符号化して出力する動画像符号化装置であって、動画像のフレームをスキップさせるフレームスキップを用いて、動画像を符号化する際のレート制御を行うレート制御部を備え、レート制御部は、現フレームの符号量を基に、符号化ストリームの発生ビットレートが目標ビットレートに追従するために将来必要なフレームスキップの枚数を算出し、フレームスキップの枚数のフレームスキップを等間隔にスケジュールするものである。
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下のとおりである。
本発明によれば、フレームスキップを時間的に等間隔に発生させながら、発生ビットレートを目標ビットレートに追従させることで、フレームスキップによる動画像の滑らかさが損なわれる現象を軽減できる。
また、本発明によれば、これから符号化を行う1枚以上のフレームを予め解析できるような場合には、将来符号化するフレームと符号化済みフレームとの予測誤差絶対和を基に、フレームスキップの枚数を算出することで、符号化ストリームの目標ビットレートへの追従性を向上させることが可能となる。
さらに、本発明によれば、システムの外的要因により(例えば周囲が突然暗くなるとカメラモジュールが映像をキャプチャできずに、入力フレーム画像が生成されないなど)、指定したフレームレート通りに符号化装置にフレーム画像が入力されないような場合には、入力フレーム画像がどれだけ落ちたかを検出し、この検出結果を考慮してフレームスキップをスケジュールすることで、入力フレームレートが指定フレームレートよりも落ちる場合であっても、符号化ストリームの目標ビットレートへの追従性を保つことが可能となる。
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。
(実施の形態1)
図1により、本発明の実施の形態1に係る動画像符号化制御方法を実施するための動画像符号化装置の構成について説明する。図1は本発明の実施の形態1に係る動画像符号化制御方法を実施するための動画像符号化装置の構成を示す構成図である。
図1により、本発明の実施の形態1に係る動画像符号化制御方法を実施するための動画像符号化装置の構成について説明する。図1は本発明の実施の形態1に係る動画像符号化制御方法を実施するための動画像符号化装置の構成を示す構成図である。
図1において、動画像符号化装置は、符号化対象の入力画像を一時的に蓄積する入力フレームメモリ101、予測の際に参照される符号化済み画像を蓄積する参照フレームメモリ107、ブロック単位でフレーム内予測画像を生成するフレーム内予測部108、ブロック単位でフレーム間予測画像を生成するフレーム間予測部109、フレーム内予測画像とフレーム間予測画像を適宜切り替えてブロック単位で予測画像を生成し、ブロック単位で予測画像と入力画像との予測誤差Sa を算出するモード選択部110、ブロック単位の入力画像と予測画像の差分画像(予測誤差画像)を直交変換する直交変換部102、量子化部103、可変長符号化部(VLC)104、復号側と同じ予測誤差画像を得るための逆量子化部105、逆直交変換部106およびレート制御部115から構成されている。
レート制御部115は、毎フレームの目標符号量Tb を決める目標符号量算出部111、目標符号量Tb を実現するための量子化パラメータQp を決めるQP算出部112、フレームスキップ判定を行うフレームスキップ部113、レート歪モデルパラメータの更新を行うRDモデル更新部114から構成されている。
次に、図2および図3により、本発明の実施の形態1に係る動画像符号化制御方法による処理フローについて説明する。図2は本発明の実施の形態1に係る動画像符号化制御方法の処理フローを示すフローチャート、図3は本発明の実施の形態1に係る動画像符号化制御方法のフレームスキップ判定処理を示すフローチャートである。
本発明の実施の形態1に係る動画像符号化制御方法は、図1に示すレート制御部115内での処理として実施されている。以下、レート制御部115の動作として説明する。
まず、動画像符号化制御方法の処理フローとしては、図2に示すように、ステップS201で符号化処理に必要な諸パラメータの初期化を行う。ステップS202で、目標ビット量を満たすように当該フレームの目標符号量Tb を決める。
ステップS203では符号化した結果の発生符号量が目標符号量Tb に近くなるような量子化パラメータQp を決定する。ステップS204では、決定したQp により1フレームの符号化が行われた符号化結果が入力される。
ステップS205では、符号化結果を基に当該フレームをスキップするか否かの判定を行う。ステップS205でフレームがスキップされた場合には、当該フレームの符号化結果は破棄され、出力ストリームには含まれない。
ステップS206では、符号化後の諸パラメータの更新を行う。ステップS207で符号化終了判定を行い、終了でなければ次のフレームの符号化処理を行うため、ステップS202へジャンプする。この処理を符号化終了まで繰り返す。
次に、上記のステップのうち、本発明の実施の形態1に係る動画像符号化制御方法に関連するステップS202、ステップS203、ステップS204、およびステップS206の処理について詳細を説明する。
ステップS202では、目標符号量算出部111においてフレームの目標符号量Tb を決定する。ここでは、MPEG−2の参照モデルTM5(Test Model 5)で採用されている以下の周知の式(1)を用いる。ただし、本実施の形態の動画像符号化制御方法は、目標符号量の算出方法に制約されるものではない。
式(1)においてTI 、TP 、TB はそれぞれ、Iフレーム、Pフレーム、Bフレームに対する割当ビット量であり、符号化フレームのタイプに応じてTI 、TP 、TB のいずれかをTb とする。Rはレート制御区間内のビット残量、Ni 、Np 、Nb はそれぞれIフレーム、Pフレーム、Bフレームのレート制御区間内の残り枚数、Kp 、Kb はそれぞれIフレームに対する、Pフレーム、Bフレームの量子化ステップ幅の比率を表す係数であり、ここではそれぞれKp =1.0、Kb =1.4とする。
Xi 、Xp 、Xb は、それぞれIフレーム、Pフレーム、Bフレームの複雑度を示す値であり、それぞれのタイプの直前のフレームの発生符号量と量子化ステップ幅の積により与えられる。
式(1)により、レート制御区間の残りのフレームの枚数、フレームタイプに応じた量子化ステップ幅の比や、発生符号量を考慮した上で、目標ビットレートへ追従するための各フレームの目標符号量Tb を決定することができる。
ステップS203では、QP算出部112において、フレームの目標符号量Tb を基に、量子化パラメータQp を決定する。ここでは、以下の式(2)で示される既知のレート歪モデル関数を用いてQp を決定する。ただし、本実施の形態の動画像符号化制御方法はQp の決定方法に制約されるものではない。例えば、直前のフレームのQp を、何らかのルールにより増減させるような決定方法でもよい。
式(2)で、Ri はi番目フレームの発生符号量、Qi は量子化ステップ幅、SADi は符号化フレーム画像の、参照フレーム画像との予測誤差絶対和である。X1 、X2 はレート歪モデルパラメータであり、後述するように毎フレームの符号化後に更新される。X1 、X2 は、Iフレーム、Pフレーム、およびBフレームそれぞれのフレームタイプ毎に管理される。
量子化パラメータQp を決定するためには、目標符号量Tb を式(2)のRi に代入し、Qiについての2次方程式を解くことでフレームの量子化ステップ幅Qi を求める。
さらに、各動画像符号化方式が定める仕様により、Qi を量子化パラメータQp に変換する。ただし、SADi は先頭フレームでは求めることができないため、各フレームタイプの先頭フレームでは、式(2)を用いず、予め定められた初期値を設定するなど、何らかの代替手段によりQp を決定するものとする。
また、SADi は、本来これから符号化を行うフレームの、参照フレーム画像との予測誤差絶対和であるべきだが、レート制御部115では、符号化遅延時間を軽減するため、この予測誤差絶対和を算出する機能ブロックを有していない。
このため、式(2)で用いるSADi には、前フレームの符号化処理にて、モード選択部110で得られる予測誤差絶対和Sa にて代用する。
ただし、ステップS203では、後述するように、レート制御区間の残りにおいてフレームスキップが1枚以上スケジューリングされている場合には、Qp を最大値に設定する。これは後述するように、フレームスキップが発生するような状況では、フレームの符号量を極力小さくし、フレームスキップを回避するように制御されるべきであるためである。
ステップS203で決定されたQp は、量子化部103へ渡され、ステップS204で1フレームの符号化処理が行われる。フレームの符号化結果は出力フレームメモリ116に蓄積される。
ステップS205のスキップ判定処理は後述する。
ステップS206では、レート制御に関する式(1)と式(2)のパラメータの更新を行う。
式(1)に関しては、レート制御区間内のビット残量Rを、R=R−Gb により更新する。ここでGb はステップS205で符号化したフレームの発生符号量である。またレート制御区間内の残りフレーム数Ni 、Np 、Nb のうち、当該フレームのフレームタイプに相当する値を1減らす。
さらに、各フレームタイプの複雑度Xi 、Xp 、Xb のうち、当該フレームのフレームタイプに相当する値をX=Qa ×Gb により更新する。ここでQa は符号化フレーム内の平均Qp に相当する量子化ステップ幅である。
式(2)に関しては、当該フレームのフレームタイプに相当するパラメータX1 、X2 を、過去のNフレームにおけるRi 、Qi 、SADi を用いた線形回帰分析により、以下の既知の式(3)のように更新する。
次に、ステップS205にて、フレームスキップ部113で行われるフレームスキップ判定処理の詳細を説明する。
フレームスキップ部113で行われるフレームスキップ判定処理は、図3に示すように、ステップS301では、発生ビットレートを目標ビットレートに追従させるために、レート制御区間に最大何枚のフレームを含むことができるかを予測する。具体的には、以下の(1)〜(2)の手順に従う。
(1)Qp が最大値であるかどうかを判定する。
フレームスキップは、映像の滑らかさを損ねるため、極力回避されるべきである。このため、フレームスキップが発生するときには、Qp が最大値になっていて、フレームの符号量が極力小さくなるべきである。このことから本処理では、ステップS203で決定されたQpが最大値、もしくは最大値に近いときにのみフレームスキップ判定処理を行い、それ以外のときにはフレームスキップは行わない。
(2)最大フレーム枚数を推定する。
前記の判定でQp が最大値である場合、符号化した結果の発生符号量Gb は、最小符号量かそれに近い値となっているとみなす(このときの発生符号量Gb をGbminと記す)。この最小符号量Gbminを基に、目標ビットレートを実現するためには、レート制御区間の残りに、極力符号量を小さくしたときに最大何枚のフレームを符号化できるかを推定する。なお以下では説明の簡略化のため、Pフレームをスキップさせる場合の例で述べるが、IフレームやBフレームについても同様に適用できる。なお、フレームタイプに応じたフレームスキップのさせ方については後述する。
Pフレームを何枚含むことができるかを推定する一例として、式(1)の第2式のTP にGbminを代入し、Np を未知数Zp とし、この式をZp について解くことで、Pフレームの最大枚数を推定することができる。これは、将来のPフレームの符号量がGbminであると仮定した場合に、目標ビットレートに追従するために含むことができる最大のPフレーム枚数に相当する。
ステップS302では、後述するスキップの再スケジューリングが必要かどうかを判定する。ここでフレームスキップのスケジューリングとは、レート制御区間の残りのフレームのスキップ位置を決定することを意味する。
レート制御区間内の残りのPフレーム枚数Np と、ステップS301で得られた推定最大フレーム数Zとから、以下の条件式(4)、(5)のいずれかに該当する場合は、フレームスキップの再スケジューリングが必要と判定する。
Np −Y−Zp >TH ・・・(4)
Np −Y <Zp ・・・(5)
ここでTHは予め定めた閾値であり、1以上の整数値である。Yは後述するように、既にフレームスキップがスケジュールされている場合の、残りのスキップ予定枚数であり、初期値は0である。
Np −Y−Zp >TH ・・・(4)
Np −Y <Zp ・・・(5)
ここでTHは予め定めた閾値であり、1以上の整数値である。Yは後述するように、既にフレームスキップがスケジュールされている場合の、残りのスキップ予定枚数であり、初期値は0である。
式(4)は、目標ビットレート以下に抑えるために、現在のスキップ予定枚数Yよりも、さらにスキップ枚数を増やすための判定条件である。
式(5)は、現在のスキップ予定枚数Yよりも、スキップ枚数を減らしても、目標ビットレートに追従できると判断するための条件である。
これら以外のときは、スキップの再スケジューリングは不要と判定される。
ステップS303では、ステップS302でスキップの再スケジューリングが必要と判定された場合にフレームスキップのスケジューリングを行う。ここではフレームスキップのスケジューリングの一例としては、以下の(1)〜(3)のようにスキップ開始位置、スキップ間隔、スキップ枚数を決定する。
(1)初めにスキップ枚数Yを決定する。前述の例では、(Np −Zp )を新たな予定スキップ枚数Yとする。
(2)レート制御区間の残りフレーム数Npと、予定スキップ枚数Yとから、残りのレート制御区間でフレームスキップが等間隔に行われるように、スキップ間隔を決定する。ここでは、Np /Yをスキップ間隔とする。
(3)スキップ開始位置S0を決定する。一例としては、スキップ枚数が増えるときには、必ず当該フレームをスキップ開始位置とし、当該フレームをスキップさせるようにする。逆にスキップ枚数が減り、かつ直前のスケジューリングにおいてフレームスキップが予定されていない場合には、スキップが不必要に連続しないように、スキップ開始位置を次のフレームとする。
(1)初めにスキップ枚数Yを決定する。前述の例では、(Np −Zp )を新たな予定スキップ枚数Yとする。
(2)レート制御区間の残りフレーム数Npと、予定スキップ枚数Yとから、残りのレート制御区間でフレームスキップが等間隔に行われるように、スキップ間隔を決定する。ここでは、Np /Yをスキップ間隔とする。
(3)スキップ開始位置S0を決定する。一例としては、スキップ枚数が増えるときには、必ず当該フレームをスキップ開始位置とし、当該フレームをスキップさせるようにする。逆にスキップ枚数が減り、かつ直前のスケジューリングにおいてフレームスキップが予定されていない場合には、スキップが不必要に連続しないように、スキップ開始位置を次のフレームとする。
以上により、予定フレームスキップ位置は、以下の式(6)のようにスケジューリングされる。
S0 +Ceil(Np /Y×n) ・・・(6)
ただし、n=0・・・Np −Z−1である。Ceil(X)は、実数X以上の最小の整数である。式(6)により、発生する符号化ストリームが目標ビットレートに追従するように、(Np −Z)回のフレームスキップが、スキップ開始位置S0 から(Np /Y)の間隔で発生するようにスケジューリングされる。
S0 +Ceil(Np /Y×n) ・・・(6)
ただし、n=0・・・Np −Z−1である。Ceil(X)は、実数X以上の最小の整数である。式(6)により、発生する符号化ストリームが目標ビットレートに追従するように、(Np −Z)回のフレームスキップが、スキップ開始位置S0 から(Np /Y)の間隔で発生するようにスケジューリングされる。
ステップS304では、式(6)におけるスキップ開始位置S0 が現在の符号化フレーム位置であれば、ステップS305に移り、現フレームスキップを確定する。ステップS305では、フレームスキップ部113は、スキップ制御信号Sk をONにし、当該フレームデータを出力させない。
ステップS304では、式(6)におけるスキップ開始位置S0 が現在の符号化フレーム位置でなければ、ステップS306に移り、現フレームの非スキップを確定する。ステップS306では、フレームスキップ部113は、スキップ制御信号Sk をOFFにし、当該フレームデータを出力させる。
ステップS302で、スキップの再スケジューリングが不要と判定された場合には、ステップS307に移り、現在のフレームが既存のスケジューリングによりフレームスキップが予定されていないかどうかをチェックする。すなわち、現フレーム位置が式(6)におけるいずれかのnに対応するフレームスキップ位置に該当するかどうかを判定する。
もしも現フレームでフレームスキップが予定されている場合には、ステップS305に移り、フレームスキップを確定する。もしも現フレームでフレームスキップが予定されていない場合には、ステップS306に移り、フレームスキップを行わないと確定する。
以上に述べたように、本実施の形態によると、目標ビットレートに近い発生ビットレートを得るために必要な将来のフレームスキップ枚数を予測し、フレームスキップ位置を等間隔にスケジューリングする。このため、目標ビットレートに抑えるためにフレームスキップが連続して発生する現象が回避され、フレームスキップ発生による映像の滑らかさが損なわれる問題を軽減できる。
次に、図4〜図12により、本発明の実施の形態1に係る動画像符号化制御方法におけるフレームタイプとフレームスキップとの関係について、符号化ストリームがBフレームを含まない(すなわちIフレームとPフレームのみから構成される)場合と、Bフレームを含む(すなわちIフレーム、Pフレーム、およびBフレームとから構成される)場合とについてそれぞれ説明する。図4〜図12は本発明の実施の形態1に係る動画像符号化制御方法におけるフレームタイプとフレームスキップとの関係を説明するための説明図である。
図4は符号化ストリームが、Bフレームを含まないときの入力フレーム、フレームバッファ、および出力フレームの関係を示している。図4において入力フレームの個々の数字は入力フレームの順番を表しており、出力フレームにおける数字にそれぞれ対応する。符号化処理においてBフレームを含まない場合には、入力フレームの画像データを蓄積するフレームバッファは原理的に最低1フレームだけでよく、図4では全てフレームバッファ#0として記されている。
フレームバッファ#0に蓄積された入力フレームデータが符号化され、出力フレームとして符号化される。ただし、図4の横軸は、フレーム単位の時刻であり、符号化処理による遅延は示していない(以降の図5から図12も同様である)。すなわち、図4では入力されたフレームは、フレーム単位での遅延がなく、入力フレームの時刻と出力フレームの時刻とは同じであることを示している。
図5は、図4の例において、Pフレームの時刻のみでフレームスキップを発生させる場合の、入出力フレームの関係を示している。図5で示すように、符号化ストリームがBフレームを含まない場合、Pフレームの時刻でフレームスキップが発生しても、後続フレームのフレームタイプに影響を及ぼすことはない。
これに対し、Iフレーム時刻でフレームスキップが発生する場合には図6と図7に示す2通りの出力が考えられる。図6は、図4の例においてIフレーム(図中のI5)の時刻でフレームスキップが発生したとき、後続フレームのフレームタイプを変更しない場合の例を示している。
Iフレーム(I5)I5直後のPフレーム(P6)の符号化の際のフレーム間予測では、Iフレーム(I5)を参照することはできないため、Pフレーム(P4)を参照する。
図6に示す例では、フレームスキップしたIフレームの代わりのIフレームが後続しない。通常、Iフレームの符号量はPフレームよりも大きいため、図6ではIフレームが削減されたことによる符号量の削減効果は高いが、フレームスキップによりIフレームの出現間隔が大きく変化するため、符号化ストリームのランダムアクセス性に影響が出る可能性がある。
これに対し、図7は、Iフレーム(図中のI5)の時刻でフレームスキップが発生したとき、直後のフレームのフレームタイプをIフレームに変更する場合の例を示している。
図6と比べ、Iフレームの時刻が直後のフレーム時刻に変わるだけのため、フレームスキップによる符号量の削減効果は小さいが、Iフレームの出現間隔の変化は小さいため、ランダムアクセス性は保たれる。
以上で述べたように、符号化ストリームにBフレームが含まれない場合には、「Iフレーム時刻ではフレームスキップさせない」(図5参照)、「Iフレーム時刻でフレームスキップさせ、Iフレーム数を減らす」(図6参照)、「Iフレーム時刻でフレームスキップさせるが、直後のフレーム時刻でIフレームを出力する」(図7参照)、との3通りの可能性がある。
本実施の形態における動画像符号化装置は、Iフレーム時刻でのフレームスキップ時の出力に関する上記の選択肢をユーザが選択できるよう、何らかの手段を備えていることが望ましい。
また、図2のステップS202において目標符号量Tb を算出する際に用いる式(1)のNi 、Np は、上記の選択肢に基づき、レート制御区間内のそれぞれのフレームタイプの残り枚数を、毎フレームの符号化時に算出される必要がある。
図8は符号化ストリームが、Bフレームを含むときの入力フレーム、フレームバッファ、および出力フレームの関係を示している。図8に示すようにPフレームの間にBフレームが最大N枚存在する場合は、符号化フレームが出力されるフレーム時刻は、入力フレームの時刻に対してNフレームだけ遅延する。
このため、入力フレームを格納するフレームバッファは(N+1)フレーム分必要となる。図8では、N=2(すなわちBフレームがPフレームの間に2枚存在する)の場合の例を示している。このとき必要なフレームバッファは3枚であり、図8ではそれぞれ#0、#1、#2と記している。
図9は、Bフレームの時刻のみでフレームスキップを発生させる場合の、入出力フレームの関係を示している。図9で示すように、符号化ストリームがBフレームを含む場合、Bフレームの時刻のみでフレームスキップが発生しても、後続フレームのフレームタイプに影響を及ぼすことはない。
図10は、Pフレーム(P3)の時刻でフレームスキップが発生したときの、入出力フレームの関係を示している。Pフレームの時刻でフレームスキップが発生した場合には、その直後のフレーム時刻でPフレーム(P4)が出力されるようにフレームタイプを変更する。
この理由としては、もしも上記の場合に、4番目の出力フレームのフレームタイプをBフレームのままにすると、Pフレーム間のBフレームの枚数が増え、必要なフレームバッファが増えてしまうこととなり、実装上好ましくないためである。
符号化ストリームがBフレームを含む際、Iフレームの時刻でフレームスキップが発生する場合には、直後のフレームタイプの変更方法には2つの選択肢がある。
図11は、Iフレーム(I9)の時刻でフレームスキップが発生した場合、その直後のフレームタイプをIフレーム(I10)に変更する例を示している。図7で示した例と同様に、Iフレームの時刻が直後のフレーム時刻に変わるだけのため、フレームスキップによる符号量の削減効果は小さいが、Iフレームの出現間隔の変化は小さいため、ランダムアクセス性は保たれる。
図12は、Iフレーム(I9)の時刻でフレームスキップが発生した場合、その直後のフレームタイプをPフレーム(P10)に変更する例を示している。図6で示した例と同様に、IフレームがPフレームに置き換えられるため、フレームスキップによる符号量の削減効果は高いが、Iフレームが削除されたため、Iフレームの出現間隔が大きく変わる。
以上で述べたように、符号化ストリームにBフレームが含まれる場合には、「Bフレーム時刻のみでフレームスキップさせる」(図9参照)、「Iフレーム時刻でフレームスキップさせ、その直後のフレームタイプをIフレームにする」(図11参照)、「Iフレーム時刻でフレームスキップさせ、直後のフレームタイプをPフレームに変更する」(図12参照)、の3通りの可能性がある。
本実施の形態における動画像符号化装置は、Iフレーム時刻でのフレームスキップ時の出力に関する上記の選択肢をユーザが選択できるよう、何らかの手段を備えていることが望ましい。
また、図2のステップS202において目標符号量Tb を算出する際に用いる式(1)のNi 、Np 、Nb は、上記の選択肢に基づき、レート制御区間内のそれぞれのフレームタイプの残り枚数を、毎フレームの符号化時に算出される必要がある。
次に、図13および図14により、本発明の実施の形態1に係る動画像符号化制御方法によるフレームスキップの効果について説明する。図13および図14は本発明の実施の形態1に係る動画像符号化制御方法によるフレームスキップの効果を説明するための説明図である。
図13(a)は、従来技術の例として、1フレームの符号化後の発生符号量により、符号化結果が目標ビットレートを超えるかどうか、閾値判定を行うことにより当該フレームをスキップさせるか否かを決定する際の、フレームスキップの結果を示している。図13(a)に示すように、符号化結果が閾値条件に到達して一度フレームスキップが発生すると、その閾値条件が続きフレームスキップが連続して発生してしまうことで、映像の滑らかさが損なわれてしまう。
これに対し、図13(b)に示すように、本実施の形態では予め必要なフレームスキップ数を予測し、図13(a)における閾値条件に到達する前にフレームスキップを発生させることで、図13(a)のようにフレームスキップが連続することを回避できる。
図14(a)は、従来技術の例として、画像のフレーム間の動きの量に応じてフレームスキップの増減を制御する際のビットレートの推移を示している。従来技術では、一般的に動きが大きい場合、フレームスキップによる劣化が目立ちやすいため、フレームスキップ数が減るように制御される。よって図14(a)に示すように、フレーム間の動きが大きい場合にはフレームスキップが行われずに、発生ビットレートが目標ビットレートを超えてしまう可能性がある。
これに対し、図14(b)に示すように、本実施の形態では目標ビットレートへの追従性を優先してフレームスキップの配置を決めているため、画像の特徴によってビットレートが変動するような現象を回避できる。
(実施の形態2)
実施の形態2による動画像符号化制御方法は、実施の形態1の動画像符号化制御方法において、符号化対象フレームを含め、1フレーム以上先のフレームが入力フレームメモリに予め格納され、データを先読みして予測処理を行ってSADを算出し、その結果をレート制御に反映することで、将来のフレームの符号化に要する符号量をより精度よく推測するようにしたものである。
実施の形態2による動画像符号化制御方法は、実施の形態1の動画像符号化制御方法において、符号化対象フレームを含め、1フレーム以上先のフレームが入力フレームメモリに予め格納され、データを先読みして予測処理を行ってSADを算出し、その結果をレート制御に反映することで、将来のフレームの符号化に要する符号量をより精度よく推測するようにしたものである。
図15により、本発明の実施の形態2に係る動画像符号化制御方法を実施するための動画像符号化装置の構成について説明する。図15は本発明の実施の形態2に係る動画像符号化制御方法を実施するための動画像符号化装置の構成を示す構成図である。
図15において、レート制御部401は、実施の形態1におけるレート制御部115と比較して、SAD算出部402を新たに有し、QP算出部403が、実施の形態1のQP算出部112に置き換わっている点が異なる。その他の構成ブロックは実施の形態1と同様である。
次に、図16により、本発明の実施の形態2に係る動画像符号化制御方法による処理フローについて説明する。図16は本発明の実施の形態2に係る動画像符号化制御方法の処理フローを示すフローチャートであり、以下、実施の形態1の図2に示すフローチャートとの差異を中心に説明する。
まず、ステップS201におけるパラメータ初期化は実施の形態1と同様である。
ステップS501では、符号化に先立ち、モード選択部110は、入力フレームメモリ101に格納された入力フレーム画像と、参照フレームメモリ107に格納された参照画像に動き補償を施した予測画像との差分である予測誤差絶対和Sa をブロック毎に算出し、SAD算出部402へ送る。SAD算出部402では、ブロック毎の予測誤差絶対和Sa の平均値Sb を算出する。
ステップS202における目標符号量決定処理は実施例1と同様である。
ステップS502における初期QP決定処理では、ステップS202で決定した当該フレームの目標符号量を式(2)のRi に、ステップS501で算出された当該フレームの平均予測誤差絶対和Sb を式(2)のSADi にそれぞれ代入し、ステップS203と同様にQについて解くことで、当該フレームの初期QPを決定する。
このように将来符号化するフレームの平均予測誤差絶対和Sb を予め算出しておくことで、ステップS502における初期QPにおいて、当該フレームの目標符号量により近い発生符号量を生成する初期QPを算出することが可能となる。
ステップS204におけるフレーム符号化処理は実施の形態1と同様である。
ステップS503におけるスキップ判定処理は、実施の形態1とほぼ同様であるが、目標ビットレートに追従させるためのフレームスキップ枚数の予測精度を向上させるために、将来のフレームの平均予測誤差絶対和Sb を利用する点において、実施の形態1のステップS205と異なる。
すなわち、ステップS301における最大フレーム数の予測処理において、実施の形態1では、現フレームの発生符号量Gb を式(1)の左辺(当該フレームがPフレームであればTp)に代入していた。
一方、本実施の形態では、平均予測誤差絶対和Sb を求めたそれぞれの将来のフレームに対し、式(2)のSADi にSb を代入し、Qには最大QPに対応する量子化ステップ幅を代入することで、各々のフレームの符号量の予測値を得る。例えば、これらの予測値の平均値を式(1)の左辺に代入することにより、将来のフレームの符号量予測を考慮した上で、フレームスキップ数を決定することができる。
図16において、以降のステップS206、S207における処理は、実施の形態1と同様である。
以上のように、本実施の形態による動画像符号化制御方法では、入力フレームメモリ101に格納された、将来符号化を行うフレームの予測誤差絶対和を予め算出しておくことにより、将来発生する符号量の予測精度を高めた上で、フレームスキップのスケジュールを行うことができるため、よりビットレート追従性の高いフレームスキップ制御が実現できる。
(実施の形態3)
実施の形態3による動画像符号化制御方法は、実施の形態1の動画像符号化制御方法において、入力フレームレートが変動した場合を考慮するようにしたものである。すなわち、入力フレームメモリに格納されるフレームのシーケンス番号を参照し、前回の符号化フレームから次の入力フレームまで、何枚のフレームが落ちているかを検出し、フレームスキップのスケジューリングに反映させる。
実施の形態3による動画像符号化制御方法は、実施の形態1の動画像符号化制御方法において、入力フレームレートが変動した場合を考慮するようにしたものである。すなわち、入力フレームメモリに格納されるフレームのシーケンス番号を参照し、前回の符号化フレームから次の入力フレームまで、何枚のフレームが落ちているかを検出し、フレームスキップのスケジューリングに反映させる。
本実施の形態は、カメラモジュールなどからの映像信号を入力とする符号化器において、符号化器への映像の入力が何らかの外因により、指定したフレームレート通りに入力されないような場合に、符号化器への入力フレームレートが変動するようなときの動作を想定している。例えば、カメラモジュールの中には、周囲が突然暗くなると映像をキャプチャできないような場合があり、本実施の形態はこのような場合を想定している。
図17により、本発明の実施の形態3に係る動画像符号化制御方法を実施するための動画像符号化装置の構成について説明する。図17は本発明の実施の形態3に係る動画像符号化制御方法を実施するための動画像符号化装置の構成を示す構成図である。
図17において、レート制御部601は、実施の形態1におけるレート制御部115と比較して、入力フレーム落ち検出部602を新たに有し、目標符号量算出部603が、実施の形態1の目標符号量算出部111に置き換わっている点が異なる。その他の構成ブロックは実施の形態1と同様である。
次に、図18により、本発明の実施の形態3に係る動画像符号化制御方法による処理フローについて説明する。図18は本発明の実施の形態3に係る動画像符号化制御方法の処理フローを示すフローチャートであり、以下、実施の形態1の図2に示すフローチャートとの差異を中心に説明する。
まず、ステップS201におけるパラメータ初期化は実施の形態1と同様である。
ステップS701では、入力フレーム落ち検出部602は、今回の入力フレームの入力シーケンス番号Fn を入力フレームメモリ101から受け取り、シーケンス番号Fn と、前回の入力フレームの入力シーケンス番号Fn-1 とを参照し、前回の入力フレームから今回の入力フレームまでの間で、I、P、Bの各タイプのフレームがそれぞれ何枚落ちたかをカウントする。
この入力フレーム落ち枚数をカウントするために、入力フレーム落ち検出部602は、少なくとも、前回の入力フレームのシーケンス番号、Iフレーム間隔、Bフレーム挿入枚数、前回のIフレームのシーケンス番号、を保持しておく必要がある。
これらの情報があれば、各シーケンス番号でのフレームタイプが確定するため、前回の入力フレーム番号から今回の入力フレーム番号が不連続であった場合でも、Iフレーム、Pフレーム、Bフレームがそれぞれ何枚落ちたかの情報Fd を検出することができる。
ステップS702における目標符号量決定処理は、実施の形態1におけるステップS202とほぼ同様であるが、式(1)におけるレート制御区間のフレーム枚数Ni 、Np 、Nb にそれぞれに対し、ステップS701で得られた、フレーム落ち枚数情報Fd を反映させる点において異なる。
よって、ステップS702では、フレーム落ちによるフレームレート変動を考慮して目標符号量を算出するため、目標ビットレートへの追従性が向上する。
図18において、以降のステップS203、S204、S205、S206、S207における処理は実施の形態1と同様である。
以上のように、本実施の形態による動画像符号化制御方法では、レート制御部601において入力フレーム落ち枚数を検出し、目標符号量の設定に反映させることで、何らかの外因により入力フレームレートが変動するような場合であっても、目標ビットレートへの追従性を損なわずにフレームスキップのスケジューリングを行うことができる。
(実施の形態4)
実施の形態4による動画像符号化制御方法は、実施の形態2における制御方法と実施の形態3の制御方法とを併せた制御を行うものである。
実施の形態4による動画像符号化制御方法は、実施の形態2における制御方法と実施の形態3の制御方法とを併せた制御を行うものである。
図19により、本発明の実施の形態4に係る動画像符号化制御方法を実施するための動画像符号化装置の構成について説明する。図19は本発明の実施の形態4に係る動画像符号化制御方法を実施するための動画像符号化装置の構成を示す構成図である。
図19において、レート制御部801は、実施の形態2で新たに加えられたSAD算出部402と、実施の形態3で新たに加えられた入力フレーム落ち検出部602とを有している。
次に、図20により、本発明の実施の形態4に係る動画像符号化制御方法による処理フローについて説明する。図20は本発明の実施の形態4に係る動画像符号化制御方法の処理フローを示すフローチャートである。
図20において、本実施の形態の処理フローの個々の処理は、実施の形態1、実施の形態2、および実施の形態3で述べた処理と同じであるため、説明を省略する。
また、本実施の形態による動画像符号化制御方法では、実施の形態2および実施の形態3と同様に、よりビットレート追従性の高いフレームスキップ制御が実現でき、何らかの外因により入力フレームレートが変動するような場合であっても、目標ビットレートへの追従性を損なわずにフレームスキップのスケジューリングを行うことができる。
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
本発明は、動画像符号化制御にフレームスキップ制御を用いる機器に広く適用可能である。
101…入力フレームメモリ、102…直交変換部、103…量子化部、104…VLC、105…逆量子化部、106…逆直交変換部、107…参照フレームメモリ、108…フレーム内予測部、109…フレーム間予測部、110…モード選択部、111…目標符号量算出部、112,403…QP算出部、113…フレームスキップ部、114…RDモデル更新部、115,601,801…レート制御部、116…出力フレームメモリ、401…レート制御部、402…SAD算出部、602…入力フレーム落ち検出部、603…目標符号量算出部。
Claims (10)
- 動画像を符号化する際のレート制御に、前記動画像のフレームをスキップさせるフレームスキップを用いる動画像符号化制御方法であって、
現フレームの符号量を基に、符号化ストリームの発生ビットレートが目標ビットレートに追従するために将来必要な前記フレームスキップの枚数を算出し、前記フレームスキップの枚数のフレームスキップを等間隔にスケジュールすることを特徴とする動画像符号化制御方法。 - 請求項1記載の動画像符号化制御方法において、
前記フレームスキップの枚数は、少なくとも現在のフレームまたは過去のフレームの符号化後の予測誤差絶対和と量子化パラメータを基に算出されることを特徴とする動画像符号化制御方法。 - 請求項1または2記載の動画像符号化制御方法において、
前記フレームスキップの枚数は、将来符号化するフレームと符号化済みフレームとの予測誤差絶対和を基に算出されることを特徴とする動画像符号化制御方法。 - 請求項1〜3のいずれか1項記載の動画像符号化制御方法において、
前記フレームスキップの枚数は、前記動画像の入力フレームのシーケンス番号を基に前記入力フレームが落ちた枚数を検知し、この入力フレームの落ちた枚数を考慮して算出されることを特徴とする動画像符号化制御方法。 - 請求項1〜4のいずれか1項記載の動画像符号化制御方法において、
前記フレームスキップを1以上発生させる際には、出力するフレームの量子化パラメータ値を最大値とすることを特徴とする動画像符号化制御方法。 - 請求項1〜5のいずれか1項記載の動画像符号化制御方法において、
Iフレームの時刻における前記フレームスキップは、
少なくとも、当該時刻にはフレームスキップさせない、当該時刻にフレームスキップさせ直後に前記Iフレームを出力させる、または当該時刻にフレームスキップさせ直後にPフレームを出力させる、のいずれかの動作となるようにスケジュールすることを特徴とする動画像符号化制御方法。 - 動画像を符号化して出力する動画像符号化装置であって、
前記動画像のフレームをスキップさせるフレームスキップを用いて、前記動画像を符号化する際のレート制御を行うレート制御部を備え、
前記レート制御部は、現フレームの符号量を基に、符号化ストリームの発生ビットレートが目標ビットレートに追従するために将来必要な前記フレームスキップの枚数を算出し、前記フレームスキップの枚数のフレームスキップを等間隔にスケジュールすることを特徴とする動画像符号化装置。 - 請求項7記載の動画像符号化装置において、
前記レート制御部は、前記フレームスキップの枚数を、少なくとも現在のフレームまたは過去のフレームの符号化後の予測誤差絶対和と量子化パラメータを基に算出することを特徴とする動画像符号化装置。 - 請求項7または8記載の動画像符号化装置において、
前記レート制御部は、前記フレームスキップの枚数を、将来符号化するフレームと符号化済みフレームとの予測誤差絶対和を基に算出することを特徴とする動画像符号化装置。 - 請求項7〜9のいずれか1項記載の動画像符号化装置において、
前記レート制御部は、前記フレームスキップの枚数を、前記動画像の入力フレームのシーケンス番号を基に前記入力フレームが落ちた枚数を検知し、この入力フレームの落ちた枚数を考慮して算出することを特徴とする動画像符号化装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007091674A JP2008252562A (ja) | 2007-03-30 | 2007-03-30 | 動画像符号化制御方法および動画像符号化装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007091674A JP2008252562A (ja) | 2007-03-30 | 2007-03-30 | 動画像符号化制御方法および動画像符号化装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008252562A true JP2008252562A (ja) | 2008-10-16 |
Family
ID=39976977
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007091674A Pending JP2008252562A (ja) | 2007-03-30 | 2007-03-30 | 動画像符号化制御方法および動画像符号化装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008252562A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010097946A1 (ja) | 2009-02-27 | 2010-09-02 | 富士通株式会社 | 動画像符号化装置、動画像符号化方法及び動画像符号化用コンピュータプログラム |
JP2011035682A (ja) * | 2009-08-03 | 2011-02-17 | Nec Corp | データ符号化/復号方法および装置 |
KR20120096911A (ko) * | 2011-02-23 | 2012-08-31 | 한국항공대학교산학협력단 | 비디오 비트율 제어 방법 및 그 장치 |
JP2014135741A (ja) * | 2010-05-06 | 2014-07-24 | Nippon Telegr & Teleph Corp <Ntt> | 映像符号化制御方法および装置 |
US9179165B2 (en) | 2010-05-07 | 2015-11-03 | Nippon Telegraph And Telephone Corporation | Video encoding control method, video encoding apparatus and video encoding program |
-
2007
- 2007-03-30 JP JP2007091674A patent/JP2008252562A/ja active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010097946A1 (ja) | 2009-02-27 | 2010-09-02 | 富士通株式会社 | 動画像符号化装置、動画像符号化方法及び動画像符号化用コンピュータプログラム |
JP2011035682A (ja) * | 2009-08-03 | 2011-02-17 | Nec Corp | データ符号化/復号方法および装置 |
JP2014135741A (ja) * | 2010-05-06 | 2014-07-24 | Nippon Telegr & Teleph Corp <Ntt> | 映像符号化制御方法および装置 |
US9179154B2 (en) | 2010-05-06 | 2015-11-03 | Nippon Telegraph And Telephone Corporation | Video encoding control method and apparatus |
US9179165B2 (en) | 2010-05-07 | 2015-11-03 | Nippon Telegraph And Telephone Corporation | Video encoding control method, video encoding apparatus and video encoding program |
KR20120096911A (ko) * | 2011-02-23 | 2012-08-31 | 한국항공대학교산학협력단 | 비디오 비트율 제어 방법 및 그 장치 |
KR101959490B1 (ko) * | 2011-02-23 | 2019-03-19 | 한국항공대학교산학협력단 | 비디오 비트율 제어 방법 및 그 장치 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9936217B2 (en) | Method and encoder for video encoding of a sequence of frames | |
KR100335052B1 (ko) | 프레임 레벨 속도 제어 방법 | |
JP4203707B2 (ja) | 事前解析を用いた動画像符号化装置、動画像符号化方法、及びそのプログラム。 | |
JP4358215B2 (ja) | 動画像符号化装置及びその方法 | |
JP2004166183A (ja) | 動画像符号化装置及び方法、動画像符号化方式変換装置及び方法 | |
JP2008252562A (ja) | 動画像符号化制御方法および動画像符号化装置 | |
US8861596B2 (en) | Image encoding device and image encoding method | |
WO2005064947A1 (ja) | 動画像符号化方法及び装置 | |
JP2006295535A (ja) | 動画像符号化装置および方法 | |
JP4257655B2 (ja) | 動画像符号化装置 | |
JP5879555B2 (ja) | 動画像符号化装置 | |
US20080152009A1 (en) | Scaling the complexity of video encoding | |
KR20130032807A (ko) | 동영상 부호화 장치 및 방법 | |
JP2008252225A (ja) | 動画像符号化装置及び方法 | |
JP7001159B2 (ja) | 動画像符号化装置、動画像符号化方法、プログラム | |
JP4648805B2 (ja) | 動画像圧縮装置 | |
JP2003032691A (ja) | 画像特徴に応じた画像符号化装置 | |
JP2009194474A (ja) | 動画像符号化装置 | |
JP2009246489A (ja) | 映像信号切替装置 | |
JP2008182408A (ja) | 動画像符号化装置及び方法 | |
KR101319916B1 (ko) | 움직임 추정방법 및 장치, 및 이를 이용한 영상 부호화방법및 장치 | |
JP2006054802A (ja) | 動き予測情報検出装置 | |
JP2007208377A (ja) | 動画像符号化装置、方法及びプログラム | |
JP4934411B2 (ja) | 画像符号化装置 | |
US20130243084A1 (en) | Bit rate regulation module and method for regulating bit rate |