以下、図面に基づいて、本発明の実施形態について詳細に説明する。
(一つの実施形態)
図1に、動画像符号化装置の一実施形態を示す。
図1に示した動画像符号化装置では、符号化対象の原画像は、外部メモリ100を介して符号化コア部101に渡される。符号化コア部101は、原画像に対して、例えば、H.264/AVCなどで規定された符号化処理を行う。この符号化処理によって、符号化コア部101は、符号化ストリームを生成し、この符号化ストリームを出力する。
符号化コア部101による符号化処理の過程で、原画像の符号化結果を復号する処理が行われる。この復号処理により、ローカルデコード画像が生成される。このローカルデコード画像は、圧縮記録部102の圧縮処理部103により、DCT変換などの高い圧縮率を実現する非可逆圧縮手法を用いて圧縮される。圧縮処理部103で得られた圧縮ローカルデコード画像は、書込み処理部104を介して外部メモリ100に記録される。外部メモリ100に記録された圧縮ローカルデコード画像は、展開処理部105を介して符号化コア部101による符号化処理に供される。
図1に示した動画像符号化装置は、上述した外部メモリ100、符号化コア部101、圧縮記録部102および展開処理部105に加えて、抑止制御部110を備えている。この抑止制御部110は、後述するようにして、圧縮記録部102が圧縮ローカルデコード画像を外部メモリ100に書き込む動作を抑止する。
抑止制御部110において、誤差評価部111は、符号化対象のピクチャごとに、圧縮処理部103による非可逆圧縮処理による誤差量を評価する。この誤差量は、符号化コア部101で生成されたローカルデコード画像と、圧縮ローカルデコード画像から復元されるローカルデコード画像とを比較することによって得られる。誤差評価部111で得られた誤差量は、誤差量判定部112により、所定の閾値Thaと比較される。この比較で、誤差量が閾値Thaを超えているとされた場合に、誤差量判定部112は、符号化対象のピクチャに対応する誤差量が大きいと判定する。
累積集計部113は、例えば、各ピクチャに対応して圧縮ローカルデコード画像が外部メモリ100に書き込まれるごとに、そのデータ量を書込み処理部104から受け取る。累積集計部113は、受け取ったデータ量を累積加算する。この累積加算結果は、データ量判定部114で、別の所定の閾値Thbと比較される。この比較で、累積加算結果が閾値Thbを超えているとされた場合に、データ量判定部114は、非可逆圧縮処理による誤差の累積量が大きくなったと判定する。なお、累積加算結果と比較される閾値Thbの値は、例えば、符号化対象のピクチャのGOP内での位置に応じて決定することができる。
フラグ操作部115は、誤差量判定部112およびデータ量判定部114の判定結果に基づいて、フラグ保持部116に保持される書込みフラグの値を操作する。例えば、誤差量判定部112とデータ量判定部114との少なくとの一方の判定結果で誤差量が大きいとされたときに、フラグ操作部115は、書込みフラグを「OFF」とする。その他の場合に、フラグ操作部115は、書込みフラグを「ON」とする。この書込みフラグは、フラグ保持部116に保持される。そして、次のピクチャの符号化処理の際に、書込みフラグは、符号化連携部117を介して符号化コア部101および圧縮記録部102に渡される。
図1に示した実施形態では、圧縮処理部103は、書込みフラグが「ON」とされたピクチャについてのみ、ローカルデコード画像の圧縮処理を実行する。つまり、書込みフラグが「OFF」とされたピクチャについて、圧縮処理部103の圧縮処理を停止させることで圧縮ローカルデコード画像の記録を抑止する。なお、書込みフラグが「OFF」とされたピクチャについて、書込み処理部104の動作を抑止することもできる。
また、図1に示した実施形態では、符号化コア部101は、書込みフラグが「ON」とされたピクチャについては、復号側で参照される参照画像として符号化する。一方、書込みフラグが「OFF」とされたピクチャについては、復号側で参照されない非参照画像として符号化する。
図2に、圧縮ローカルデコード画像のピクチャ単位の記録抑止を説明する図を示す。図2に示した例では、圧縮ローカルデコード画像を「圧縮LD画像」として示した。また、書込みフラグを単に「フラグ」として示した。
図2に示した例では、Iピクチャ、P1〜P6ピクチャが順次に動画像符号化装置に入力されている。そして、P2ピクチャの符号化の際に、書込みフラグが「OFF」とされている。この書込みフラグの操作は、次のP3ピクチャの処理に影響を与える。書込みフラグが「OFF」となっていることから、P3ピクチャは非参照画像として符号化される。また、P3ピクチャに対応する圧縮ローカルデコード画像の記録が抑止される。なお、図2の例では、記録が抑止された圧縮ローカルデコード画像に×印を付して示した。
P3ピクチャ対応の圧縮ローカルデコード画像の記録抑止は、次のP4ピクチャの符号化処理に影響を与える。P4ピクチャの符号化処理では、P2ピクチャの圧縮ローカルデコード画像から展開された画像が参照される。なお、図2の例では、P3ピクチャの符号化処理の過程で、書込みフラグが「ON」に戻されている。これに応じて、P4ピクチャは参照画像として符号化される。また、P4ピクチャに対応する圧縮ローカルデコード画像が生成されて記録される。図2に示したP5ピクチャとP6ピクチャについての処理は、上述したP2ピクチャとP3ピクチャの処理と同様である。
ここで、ローカルデコード画像を非可逆圧縮したことによる誤差は、圧縮ローカルデコード画像が記録され、この記録された圧縮ローカルデコード画像が参照されるごとに累積する。したがって、本件開示の動画像符号化装置では、圧縮ローカルデコード画像を記録する回数を低減することにより、ローカルデコード画像を非可逆圧縮したことによる誤差の累積量を低減することができる。また、圧縮ローカルデコード画像を外部メモリ100に書き込む回数を低減したことにより、外部メモリ100に書き込まれる圧縮ローカルデコード画像のデータの総量を増大させることなく、1ピクチャあたりの非可逆圧縮品質を高めることができる。そして、個々の圧縮ローカルデコード画像の圧縮品質を向上させたことにより、外部メモリ100に記録される圧縮ローカルデコード画像に含まれる非可逆圧縮前後での量子化誤差を抑制することができる。
圧縮ローカルデコード画像が書き込まれるピクチャ数を低減したことにより、画面間予測でのベクトル符号量や残差符号量が増える場合がある。しかし、これらが増加したことによる影響は、個々のピクチャの画質に影響を及ぼすに留まる。つまり、上述した符号量の増大は、後続のピクチャの画質に影響を累積させる性質を持たない。このため、本件開示の動画像符号化装置を適用したことにより、個々のピクチャに対応する符号量が増大したとしても、その影響は、視覚的に目立たないものである。
また、個々のピクチャに対応する量子化誤差量に応じて書込みフラグを「OFF」とする構成は、複雑なピクチャが連続する動画像シーケンスを符号化する場合に有効である。複雑なピクチャの符号化処理では、ローカルデコード画像を非可逆圧縮した際に大きな量子化誤差を発生する場合が多い。したがって、複雑なピクチャが連続する動画像シーケンスの符号化の際に、閾値Thaを超える大きな量子化誤差が検出に応じて、次のピクチャに対応する圧縮ローカルデコード画像の記録を抑止することにより、大きな量子化誤差の累積を防ぐことができる。
なお、図1に示した誤差評価部111が量子化誤差量を評価する単位は、ピクチャ単位に限られない。例えば、誤差評価部111により、複数のマクロブロックラインを含むスライス単位で、量子化誤差量を求めることも可能である。そして、この評価結果に基づいて、スライス単位で圧縮ローカルデコード画像の記録を抑止することもできる。
図3に、圧縮ローカルデコード画像のスライス単位の記録抑止を説明する図を示す。図3に示した例では、各ピクチャ(I,P1〜P5)が3つのスライス(S1,S2,S3)に分割されている。
図3の例では、例えば、IピクチャのスライスS2に対応するローカルデコード画像の圧縮前後の誤差が所定の閾値を超えた場合に、次のP1ピクチャのスライスS2に対応する圧縮ローカルデコード画像の記録が抑止される。同様に、P1ピクチャのスライスS1に対応するローカルデコード画像の圧縮前後の誤差が所定の閾値を超えた場合に、次のP2ピクチャのスライスS1に対応する圧縮ローカルデコード画像の記録が抑止される。また、P2ピクチャのように、スライスS2,S3に対応するローカルデコード画像の圧縮前後の誤差が所定の閾値を超えた場合には、P3ピクチャのスライスS2、S3に対応する圧縮ローカルデコード画像の記録が抑止される。また、P4ピクチャのスライスS2のローカルデコード画像について検出された大きな誤差に応じて、P5ピクチャのスライスS2対応する圧縮ローカルデコード画像の記録が抑止されている。
このように、スライス単位で誤差量を判定し、誤差量が大きいスライスについて、圧縮ローカルデコード画像の記録を抑止する構成は、1枚のピクチャ内において、圧縮前後で大きな量子化誤差が発生する領域に偏りがある場合に有効である。例えば、画面の中央部に、動きの激しい被写体を捉えた動画像シーケンスでは、各ピクチャの画面中央に相当するスライスに対応する誤差量とその他のスライスに対応する誤差量には大きな差がある。このような場合に、画面中央に相当するスライスに対応する圧縮ローカルデコード画像の記録頻度を低減することで、累積誤差を低減することができる。
以下に、抑止制御部110の様々な実施形態について説明する。まず、ピクチャ単位で圧縮ローカルデコード画像の記録を抑止する抑止制御部110の一例を説明する。
(別実施形態)
図4に、抑制制御部の別実施形態を示す。なお、図4に示した構成要素のうち、図1に示した構成要素と同等のものについては、同一の符号を付して示し、その説明は省略する。
図4に示した誤差評価部111は、展開処理部121と、差分算出部122と、差分絶対値和算出部123とを備えている。符号化コア部101によって符号化対象のピクチャに含まれる各マクロブロックが符号化されるごとに、各マクロブロックに対応するローカルデコード画像が差分算出部122に入力される。一方、展開処理部121には、各マクロブロックの符号化処理に応じて、圧縮処理部103から各マクロブロックに対応する圧縮ローカルデコード画像が渡される。展開処理部121は、入力される各マクロブロックに対応する圧縮ローカルデコード画像に対して展開処理を行う。この展開処理で復元された復元ローカルデコード画像は、差分算出部122に渡される。そして、差分算出部122により、マクロブロックに含まれる各画素について、復元ローカルデコード画像と圧縮前のローカルデコード画像との差分が算出される。差分絶対値和算出部123は、差分算出部122により、各画素についての差分が得られるごとに、この差分の絶対値をそれまでの加算結果に加算する。例えば、差分絶対値和算出部123は、集計制御部128からの指示に従って、1ピクチャに含まれる全ての画素に対応する差分を加算する。この加算処理により、符号化対象のピクチャに対応するローカルデコード画像と復元ローカルデコード画像との差を示す差分絶対値和が算出される。この差分絶対値和の大きさは、符号化対象のピクチャに対応するローカルデコード画像の非可逆圧縮によって発生する量子化誤差の大きさを示している。つまり、図4に示した実施形態では、ローカルデコード画像と復元ローカルデコード画像との差を示す差分絶対値和を、ローカルデコード画像の非可逆圧縮によって発生する量子化誤差の大きさを示す指標として用いる。
なお、各画素に対応する差分絶対値の平均を、ローカルデコード画像の非可逆圧縮によって発生する量子化誤差の大きさを示す指標として用いることもできる。また、ローカルデコード画像と復元ローカルデコード画像との差を示す差分二乗和や差分二乗値の平均を、ローカルデコード画像の非可逆圧縮によって発生する量子化誤差の大きさを示す指標として用いることもできる。
図4に示した累積集計部113は、各マクロブロックの符号化に対応して圧縮ローカルデコード画像が生成されるごとに、マクロブロック対応の圧縮ローカルデコード画像からそのデータ量を示す情報を抽出する。そして、抽出した情報に基づいて、データ量を累積加算する処理が、累積集計部113によって行われる。集計制御部128は、累積集計部113により、例えば、1GOPにわたって、圧縮ローカルデコード画像のデータ量を累積加算させることができる。
図4に示したデータ量判定部114は、閾値設定部124と比較器125とを備えている。閾値設定部124は、例えば、集計制御部128から符号化対象のピクチャのGOP内での位置を示すピクチャ番号を受け取る。そして、閾値設定部124により、このピクチャ番号に対応する閾値Thbが決定される。閾値設定部124は、例えば、ピクチャ番号と閾値Thbとの関係を表す式に基づいて、比較器125に設定する閾値Thbを決定することができる。図4に示した例では、比較器125の出力がデータ量判定部114の判定結果として出力される。
また、図4に示した抑止制御部110では、誤差量判定部112は、比較器126によって実現されている。この比較器126は、差分絶対値和算出部123によって算出された差分絶対値和と、所定の閾値Thaとを比較する。この閾値Thaの値は、例えば、1枚のピクチャに対応するローカルデコード画像について、圧縮前後の差分絶対値和の許容量を示す値を設定することができる。この許容量を示す値は、様々な動画像シーケンスに含まれる各ピクチャについてローカルデコード画像の圧縮前後で発生する量子化誤差量と、これらの累積による復号画像の画質の劣化との関係を調べる実験結果などに基づいて決定することができる。
図4に示した比較器125は、閾値Thbが累積データ量よりも大きいときに、「H」を出力する。また、比較器126は、閾値Thaが差分絶対値和よりも大きいときに、「H」を出力する。つまり、図4に示した2つの比較器125,126は、書込みフラグを「ON」とする条件が満たされているときに、それぞれの出力が「H」となる。これらの比較器125,126の出力は、アンドゲート127の2つの入力端子に入力される。そして、このアンドゲート127の出力が、書込みフラグの値としてフラグ保持部116に保持される。図4に示した実施形態では、2つの比較器125,126の出力が「H」となるときに、書込みフラグが「ON」であることを示す「H」がフラグ保持部116に保持される。一方、2つの比較器125,126の少なくとも一方の出力が「L」となるときに、書込みフラグが「OFF」であることを示す「L」がフラグ保持部116に保持される。つまり、図4に示した実施形態では、アンドゲート127はフラグ操作部115に相当している。
また、図4に示した符号化連携部117は、符号化コア部101から、例えば、符号化対象のピクチャを示すピクチャ番号とともに、当該ピクチャの種類を示す情報を受け取る。これらの情報は、符号化連携部117を介して集計制御部128に渡される。集計制御部128は、ピクチャ番号およびピクチャの種類に基づいて、差分絶対値和算出部123、閾値設定部124および累積集計部113の動作を制御する。
次に、抑止制御部の動作と、図4に示した抑止制御部を適用した動画像符号化装置における符号化コア部101および圧縮記録部102の動作について説明する。
図5に、抑止制御部の動作を表す流れ図を示す。また、図6に、符号化コア部および圧縮記録部の動作を表す流れ図を示す。なお、図5、図6の例では、符号化対象の1枚のピクチャについての処理を示した。つまり、図5、図6に示した処理は、動画像に含まれる各ピクチャについて実行される。
図4に示した集計制御部128は、符号化連携部117を介して符号化対象のピクチャのピクチャ番号やピクチャの種別を含むピクチャ情報を受け取る(ステップ301)。このピクチャ情報に基づいて、集計制御部128は、まず、符号化対象のピクチャがIピクチャあるいはIDRピクチャであるか、その他の種別のピクチャであるかを判定する(ステップ302)。
ピクチャ情報によって符号化対象のピクチャが例えばPピクチャであることが示されている場合に(ステップ302の否定判定)、処理は、ステップ303に進む。ステップ303で、集計制御部128は、フラグ保持部116に保持された書込みフラグが「ON」であるか否かを判定する。書込みフラグが「ON」である場合に(ステップ303の肯定判定)、処理は、ステップ304に進む。ステップ304では、誤差評価部111により、量子化誤差量の評価が行われ、また、累積集計部113により、圧縮ローカルデコード画像の累積データ量の集計が行われる。ステップ304の処理は、符号化コア部101による符号化処理および圧縮記録部102によるローカルデコード画像の圧縮記録処理と連携して行われる。
一方、ステップ303の否定判定の場合は、ステップ304はスキップされる。また、符号化対象のピクチャがIピクチャあるいはIDRピクチャである場合には(ステップ302の肯定判定)、書込みフラグの値にかかわらず、ステップ304の処理が行われる。
ステップ305〜ステップ309では、ステップ304で得られた量子化誤差の評価結果および累積データ量の集計結果に基づいて、書込みフラグの更新が行われる。
図5に示した例では、まず、比較器126により、量子化誤差量と閾値Thaとの比較が行われる(ステップ305)。この比較器126により、量子化誤差量が閾値Thaを超えるとされた場合は(ステップ305の否定判定)、フラグ保持部116の書込みフラグは「OFF」とされる(ステップ309)。一方、量子化誤差量が閾値Tha以下である場合に(ステップ305の否定判定)、データ量判定部113による判定が行われる(ステップ306,307)。図5に示した例では、まず、閾値設定部124により、閾値Thbの更新が行われる(ステップ306)。閾値設定部124は、例えば、ピクチャ番号の増大に応じて、所定のレートで増大する閾値Thbを設定することができる。このような閾値Thbを適用した場合は、累積集計部113で得られた累積データ量が、上述したレートを超えて増大したときに、ステップ307の否定判定として、ステップ309で書込みフラグを「OFF」とすることができる。
このように、図5に示した例では、閾値Thaを超える量子化誤差量と所定のレートを超える累積データ量の増大との少なくとも一方が検出されたときに、ステップ309で、書込みフラグが「OFF」とされる。そして、量子化誤差量が閾値Tha以下であり、かつ、累積データ量が閾値Thb以下である場合に、処理は、ステップ308に進み、書込みフラグが「ON」とされる。
なお、ステップ303の否定判定の場合は、後述するように、圧縮記録部102による圧縮ローカルデコード画像の記録が抑止される。このとき、抑止制御部110では、ステップ304,305の処理がスキップされ、処理は、ステップ306に進む。そして、ステップ306で更新された閾値Thbとその時点での累積集計部113による集計結果とが、比較器125によって比較される(ステップ307)。
例えば、N−1番目のピクチャまでの累積データ量が、対応する閾値Thbを超えたとされると(ステップ307の否定判定)、ステップ309で書込みフラグが「OFF」とされる。この場合に、次のN番目のピクチャの処理では、ステップ304がスキップされ、累積集計部113による集計結果には、N−1番目のピクチャまでの累積データ量が維持される。つまり、このN−1番目のピクチャまでの累積データ量が、N番目のピクチャに対応する閾値Thb以下であれば(ステップ307の肯定判定)、処理はステップ308に進む。そして、ステップ308において、書込みフラグは「ON」に戻される。
次に、図6を参照して、符号化コア部101および圧縮記録部102の動作をついて説明する。
符号化コア部101では、まず、符号化対象のピクチャがIピクチャあるいはIDRピクチャであるか、その他の種別のピクチャであるかを判定する(ステップ311)。符号化対象のピクチャが例えばPピクチャである場合に(ステップ311の否定判定)、符号化コア部101は、抑止制御部110の符号化連携部117を介して書込みフラグを受け取る(ステップ312)。そして、符号化コア部101は、受け取った書込みフラグが「ON」であるか否かを判定する(ステップ313)。
書込みフラグが「ON」である場合に(ステップ313の肯定判定)、符号化コア部101は、符号化対象のピクチャを参照画像として符号化する(ステップ314)。この符号化処理に伴ってローカルデコード画像が生成される。また、書込みフラグが「ON」である場合に、圧縮記録部102は、ローカルデコード画像の入力に応じて圧縮ローカルデコード画像を生成する。そして、生成した圧縮ローカルデコード画像を外部メモリ100に記録する(ステップ315)。
一方、書込みフラグが「OFF」である場合に(ステップ313の否定判定)、符号化コア部101は、符号化対象のピクチャを非参照画像として符号化する(ステップ316)。そして、圧縮記録部102は、書込みフラグが「OFF」である場合に、ローカルデコード画像に対応する圧縮ローカルデコード画像を生成しない制御を行うことができる。このようにして、書込みフラグを介して、圧縮記録部102による圧縮ローカルデコード画像の生成および記録の実行を抑止することができる。
図6に示した例では、符号化対象のピクチャがIピクチャあるいはIDRピクチャである場合に(ステップ311の肯定判定)、ステップ312,313をスキップして、処理は、ステップ314に進んでいる。したがって、IピクチャあるいはIDRピクチャは、直前のピクチャの符号化処理に伴って抑止制御部110で設定された書込みフラグにかかわらず、参照画像として符号化される。
なお、符号化対象のピクチャを非参照画像として符号化する処理は、例えば、H.264/AVCで規定されたNAL(Network Abstraction Layer)ヘッダにおいてNRI(nal-ref-idc)に「0」を設定することで実現される。
次に、圧縮ローカルデコード画像の記録処理をスライス単位で抑止制御する方法について説明する。
(更に別の実施形態)
図7に、抑止制御部の別実施形態を示す。なお、図7に示した構成要素のうち、図4に示した構成要素と同等のものについては、同一の符号を付して示し、その説明は省略する。
図7に示した誤差評価部111は、展開処理部121、差分算出部122、誤差集計部123に加えて、誤差量テーブル131を備えている。この誤差評価部111では、誤差集計部123は、スライス単位で誤差量を集計する。そして、この集計結果は、誤差量テーブル131に、例えば、スライス番号に対応して保持される。なお、図7に示した誤差量テーブル131の例では、スライス番号1〜Kに対応して誤差量R1〜RKが保持されている。
図7に示した抑止制御部110では、誤差量テーブル131に集計された各スライスに対応する量子化誤差量に基づいて、抑止スライス決定部132により、各スライスに対応する書込みフラグを決定する。各スライスに対応する書込みフラグは、フラグテーブル133に保持される。図7に示したフラグテーブル133の例では、抑止スライス決定部132によって新たに決定された各スライスの書込みフラグに加えて、その前のピクチャの符号化処理の際に決定された書込みフラグが保持されている。以下の説明では、N番目のピクチャの符号化処理において、圧縮ローカルデコード画像の記録抑止制御に用いられる書込みフラグをフラグF(N−1)と称する。そして、N−1番目のピクチャの符号化処理において、圧縮ローカルデコード画像の記録抑止制御に用いられた書込みフラグをフラグF(N−2)と称する。なお、フラグテーブル133に各スライスに対応して保持された2つのフラグF(N−1),F(N−2)は、第N−1ピクチャ、第N−2ピクチャについて圧縮ローカルデコード画像の記録抑止がなされた履歴を示している。つまり、フラグテーブル133は、圧縮ローカルデコード画像の記録抑止がなされた履歴を保持する履歴テーブルに相当している。
図8に、別実施形態の抑止制御部の動作を表す流れ図を示す。また、図9に、符号化コア部および圧縮記録部の動作を表す流れ図(その1)を、図10に、符号化コア部および圧縮記録部の動作を表す流れ図(その2)を示す。なお、図8に示したステップのうち、図5に示したステップと同等のものについては、同一の符号を付して示し、その説明は省略する。同様に、図9、図10に示したステップのうち、図6に示したステップと同等のものについては、同一の符号を付して示し、その説明は省略する。
まず、図8を参照して、第Nピクチャの符号化処理で参照される各スライスの書込みフラグを生成する処理を説明する。なお、第Nピクチャに対応する書込みフラグは、第N−1ピクチャの符号化処理と並行して生成される。このため、図8では、第N−1ピクチャの符号化に対応する抑止制御部110の動作を示す。
抑止制御部110の集計制御部128は、符号化連携部117を介して、第N−1ピクチャのピクチャ情報を受け取る(図8のステップ321)。このピクチャ情報には、上述したピクチャ番号およびピクチャ種別に加えて、スライス分割に関する情報が含まれている。次に、集計制御部128により、誤差量テーブル131が初期化される。例えば、集計制御部128は、誤差量テーブル131の各スライスに対応する誤差量に初期値「0」を書き込んで初期化することができる。
次に、集計制御部128は、図5のステップ302と同様にして、ピクチャの種別を判定する。ステップ302の否定判定の場合に、集計制御部128は、現在符号化されているスライスに対応してフラグテーブル133に保持されている書込みフラグを参照する。そして、集計制御部128により、当該スライスの書込みフラグが「ON」となっているか否かが判定される(ステップ323)。なお、この時点では、各スライスに対応して、第N−1ピクチャの1つ前の第N−2ピクチャとその前の第N−3ピクチャにそれぞれ対応する2つの書込みフラグがフラグテーブル133に保持されている。ステップ323では、上述した2つの書込みフラグのうち、より新しい第N−2ピクチャに対応する書込みフラグが参照される。
ステップ323の肯定判定の場合に、誤差評価部111により、当該スライスの符号化処理に伴って生成されるローカルデコード画像の圧縮前後の量子化誤差が評価される。そして、この評価処理で得られた誤差量が、スライス番号に対応して誤差量テーブル131に保持される(ステップ324)。一方、ステップ323の否定判定の場合は、ステップ324はスキップされる。この場合に、誤差量テーブルの当該スライスに対応する誤差量は、初期値「0」のまま変化しない。
次に、集計制御部128は、全てのスライスについての処理が完了したか否かを判定する(ステップ325)。このステップ325の否定判定の場合に、集計制御部128は、処理をステップ302に戻し、次のスライスについての処理を開始させる。なお、第NピクチャがIピクチャあるいはIDRピクチャであった場合は、書込みフラグにかかわらず、ステップ324が実行される。これにより、全てのスライスについて量子化誤差量の評価が行われ、評価結果が誤差量テーブル131に保持される。
上述したようにして、第Nピクチャに含まれる全てのスライスについての処理が完了したときに(ステップ325の肯定判定)、抑止スライス決定部132は、誤差量テーブル131に基づいて、抑止対象のスライスを決定する(ステップ326)。例えば、抑止スライス決定部132は、まず、誤差量テーブル131に保持された各スライスの量子化誤差量を互いに比較する。そして、比較結果に基づいて、抑止スライス決定部132は、例えば、最も量子化誤差量が大きいスライスを抑止対象とすることができる。
ステップ326での決定に基づいて、ステップ327で、抑止スライス決定部132により、フラグテーブル133の更新処理が行われる。このとき、抑止スライス決定部132は、まず、フラグテーブル133のフラグF(N−1)欄に保持された各スライスの書込みフラグを、フラグF(N−2)欄に退避する。次いで、抑止スライス決定部132は、ステップ326での処理結果に基づいて、抑止対象のスライスに対応するフラグF(N−1)を「OFF」とする。そして、このとき、他のフライスのフラグF(N−1)は、抑止スライス決定部132により「ON」とされる。
このようにして更新されたフラグテーブル133は、第Nピクチャの符号化処理に供される。次に、図9、図10を参照して、スライス単位の記録抑止制御を適用した符号化コア部101および圧縮記録部102の動作を説明する。
符号化対象の第NピクチャがIピクチャあるいはIDRピクチャであるとされた場合に(ステップ311の肯定判定)、符号化コア部101は、第Nピクチャに含まれる全てのスライスを参照画像として符号化する(ステップ314)。そして、この符号化処理に対応して、圧縮記録部102により、圧縮ローカルデコード画像が生成され、外部メモリ100に記録される(ステップ315)。
一方、ステップ311の否定判定の場合に、符号化コア部101は、抑止制御部110の符号化連携部117を介して、符号化対象のスライスに対応してフラグテーブル133に保持された書込みフラグF(N−1)を受け取る(ステップ332)。
この書込みフラグF(N−1)が「ON」である場合に(ステップ333の肯定判定)、符号化対象のスライスは参照画像として符号化される(ステップ334)。一方、書込みフラグF(N−1)が「OFF」である場合に(ステップ333の否定判定)、符号化対象のスライスは非参照画像として符号化される(ステップ335)。
次いで、符号化コア部101は、図10のステップ336において、まず、符号化対象のマクロブロックの動きベクトルを検出するための探索範囲が属するスライスを特定する。そして、符号化連携部117を介して、フラグテーブル133のフラグF(N−2)欄にこのスライスに対応して保持された書込みフラグF(N−2)を受け取る(ステップ336)。
この書込みフラグF(N−2)が「ON」である場合に(ステップ337の肯定判定)、符号化コア部101は、上述した探索範囲は、第N−1ピクチャの符号化処理の際に、圧縮ローカルデコード画像が記録された範囲に含まれていると判断する。この場合に、符号化コア部101からの指示に応じて、展開処理部105により、外部メモリ100から探索範囲に対応する圧縮ローカルデコード画像の展開処理が行われる(ステップ338)。また、符号化コア部101は、当該マクロブロックについて、第N−1ピクチャを参照画像とする旨のヘッダ情報を生成する(ステップ339)。次いで、符号化コア部101により、マクロブロックの符号化処理が行われる(ステップ340)。
一方、書込みフラグF(N−2)が「OFF」である場合に(ステップ337の否定判定)、符号化コア部101は、上述した探索範囲は、第N−1ピクチャの符号化処理の際に、圧縮ローカルデコード画像が記録された範囲に含まれていないと判断する。この場合に、符号化コア部101は、当該マクロブロックについて、第N−2ピクチャを参照画像とする旨のヘッダ情報を生成する(ステップ344)。次いで、符号化コア部101により、マクロブロックの符号化処理が行われる(ステップ340)。
圧縮記録部102では、書込みフラグF(N−1)が「ON」である場合に(ステップ341の肯定判定)、符号化コア部101からのローカルデコード画像の入力に応じて圧縮ローカルデコード画像を生成する。そして、生成した圧縮ローカルデコード画像を外部メモリ100に記録する(ステップ342)。
一方、書込みフラグF(N−1)が「OFF」である場合には(ステップ341の否定判定)、圧縮記録部102によるローカルデコード画像に対応する圧縮ローカルデコード画像は生成されない。このようにして、各スライス対応の書込みフラグを介して、圧縮記録部102による圧縮ローカルデコード画像の生成および記録の実行をスライス単位で抑止することができる。
ステップ336〜ステップ344の処理は、符号化対象のスライスに含まれる各マクロブロックについて繰り返し実行される。符号化対象のスライスに含まれる全マクロブロックについての処理が完了したときに(ステップ344の肯定判定)、符号化コア部101は、第Nピクチャに含まれる全てのスライスについての処理が完了したか否かを判定する(ステップ345)。ステップ345の否定判定の場合に、処理は、図9に示したステップ332の前に戻される。そして、次の符号化対象のスライスに対応する処理が開始される。このようにして、第Nピクチャに含まれる全てのスライスについての符号化処理が完了したときに(ステップ345の肯定判定)、処理は終了する。
図7に示した抑止制御部110では、フラグテーブル133に符号化対象の第Nピクチャに先立つ2枚のピクチャに対応する書込みフラグF(N−1),F(N−2)が保持されている。したがって、第Nピクチャの符号化処理の際に、符号化コア部101は、これらの書込みフラグを参照することができる。これにより、符号化コア部101は、第N−1ピクチャの符号化処理に伴って外部メモリ100に圧縮ローカルデコード画像が記録されたスライスについてのみ、ローカルデコード画像の展開処理を展開処理部105に指示することができる。つまり、図7に示したフラグテーブル133に基づく処理により、ローカルデコード画像の展開をスライスごとに制御することができる。これにより、外部メモリ100に対するアクセス帯域をより有効に利用することができる。
なお、図7に示した抑止スライス決定部132は、前のピクチャに対応する書込みフラグを考慮して、抑止対象スライスを決定することもできる。例えば、先に、フラグテーブル133に保持された各スライスの書込みフラグF(N−1)を参照し、「OFF」とされているスライスを抑止対象の候補からはずしておく。その後、抑止対象の候補に含まれる各スライスから、量子化誤差量に基づいて抑止対象のスライスを決定することができる。
このように動作する抑止スライス決定部132により、記録抑止がなされた履歴に基づいて、次のピクチャについて記録抑止を行うか否かをスライスごとに決定する履歴判定部を実現することができる。
このように、記録抑止がなされた履歴を考慮して抑止対象のスライスを決定した場合は、任意のスライスに注目したとき、2枚の連続したピクチャのいずれかについて、圧縮記録部102により、圧縮ローカルデコード画像が記録される。したがって、参照可能なピクチャの範囲が固定される符号化方式にも、本件開示の抑止制御部110を備えた動画像符号化装置を適用することができる。
また、抑止スライス決定部132は、複数のスライスを抑止対象とすることもできる。例えば、上述した閾値Thaとは別の閾値Thcとの比較に基づいて、抑止対象のスライスを決定することもできる。
更に、抑止スライス決定部132により、累積データ量を考慮して抑止スライスを決定することも可能である。
(更に別の実施形態)
図11に、抑止制御部の更に別の実施形態を示す。なお、図11に示した構成要素のうち、図1および図7に示した構成要素と同等のものについては、同一の符号を付して示し、その説明は省略する。
図11に示した抑止スライス決定部132には、誤差量テーブル131に保持された各スライスの量子化誤差量とともに、データ量判定部114による判定結果が入力される。そして、各スライスの量子化誤差量と累積データ量についての判定結果とに基づいて、抑止スライス決定部132により、圧縮ローカルデコード画像の記録を抑止する対象となるスライスが決定される。
図12、図13に、別実施形態の抑止制御部の動作を表す流れ図(その1)および(その1)を示す。なお、図12、図13に示したステップのうち、図5および図8に示したステップと同等のものについては、同一の符号を付して示し、その説明は省略する。
図12に示した流れ図で表される処理は、図8に示した流れ図の対応する部分の処理と、ステップ323の肯定判定の場合に、ステップ251を実行する点で異なっている。このステップ251では、累積集計部113により、当該スライスの符号化処理に伴って記録される圧縮ローカルデコード画像のデータ量が集計される。
また、図13に示した流れ図の例では、図8に示したステップ326の処理に先立って、データ量判定部114による判定処理が行われる(ステップ305,306)。そして、累積データ量がピクチャ番号に対応する閾値Thbを超えているとされた場合に(ステップ306の否定判定)、抑止スライス決定部132は、全てのスライスを抑止対象とする(ステップ352)。なお、ステップ306の肯定判定の場合は、処理は、ステップ326に進む。そして、このステップ326において、抑止スライス決定部132は、誤差量テーブル131に保持された各スライスの量子誤差量に基づいて、抑止対象のスライスを決定する。
このようにして、圧縮ローカルデコード画像の記録を抑止するスライスを決定することにより、外部メモリ100に書き込まれる圧縮ローカルデコード画像のデータ量を、上述した閾値Thbで示される上限以下に抑制することができる。
なお、以上で説明した実施形態の適用範囲は、GOPがIピクチャと前方参照のみを行うPピクチャとを含むIPPP構造である場合のみに限られない。例えば、参照可能なピクチャの範囲を拡大することにより、前方参照と後方参照との双方を行うBピクチャを含むIBBP構造のGOPを適用する符号化方式にも適用が可能である。
以上の説明に関して、更に、以下の各項を開示する。
(付記1) 動画像に含まれる各ピクチャの画像に対応する動画像符号の生成に応じて、符号化対象の前記画像に対応して生成されるローカルデコード画像を圧縮し、生成された圧縮ローカルデコード画像を記憶媒体に記録する圧縮記録部と、
動画像に含まれる各ピクチャの画像の画面間予測処理に際して、前記記憶媒体に記録された前記圧縮ローカルデコード画像の少なくとも一部を展開して提供する展開処理部と、
前記ローカルデコード画像の圧縮による誤差の累積量を示す指標が所定の条件を満たすときに、次のピクチャの画像に対応する圧縮ローカルデコード画像の前記記憶媒体への記録を抑止する抑止制御部と、
を備え、
前記抑止制御部は、
前記記憶媒体への記録対象となった圧縮ローカルデコード画像の累積データ量を前記誤差の累積量を示す指標として集計する累積集計部と、
前記累積データ量が所定の閾値を超えたときに、前記所定の条件が満たされたと判定するデータ量判定部と、
を備えた
ことを特徴とする動画像符号化装置(1)。
(付記2) 動画像に含まれる各ピクチャの画像に対応する動画像符号の生成に応じて、符号化対象の前記画像に対応して生成されるローカルデコード画像を圧縮し、生成された圧縮ローカルデコード画像を記憶媒体に記録する圧縮記録部と、
動画像に含まれる各ピクチャの画像の画面間予測処理に際して、前記記憶媒体に記録された前記圧縮ローカルデコード画像の少なくとも一部を展開して提供する展開処理部と、
前記ローカルデコード画像の圧縮による誤差の累積量を示す指標が所定の条件を満たすときに、次のピクチャの画像に対応する圧縮ローカルデコード画像の前記記憶媒体への記録を抑止する抑止制御部と、
を備え、
前記抑止制御部は、
前記記憶媒体への記録対象となった圧縮ローカルデコード画像について、前記圧縮記録部による圧縮の前後での誤差量を評価する誤差評価部と、
前記誤差量が別の所定の閾値を超えたときに、前記所定の条件が満たされたと判定する誤差量判定部と、
を備えたことを特徴とする動画像符号化装置(2)。
(付記3) 付記1または付記2に記載の動画像符号化装置において、
前記抑止制御部は、
前記条件についての判定を、少なくとも一つのマクロブロックラインを含むスライスごとに行い、得られた判定結果に応じて、次のピクチャに含まれる当該スライスについて圧縮ローカルデコード画像の記録を抑止する制御を行う
ことを特徴とする動画像符号化装置(3)。
(付記4) 付記1に記載の動画像符号化装置において、
前記データ量判定部は、
前記符号化対象のピクチャのGOP内における位置に対応する値を、前記累積データ量と比較する前記所定の閾値に設定する閾値設定部と、
を備えた
ことを特徴とする動画像符号化装置(4)。
(付記5) 付記3に記載の動画像符号化装置において、
前記抑止制御部は、
前記圧縮ローカルデコード画像の記録抑止がなされた履歴に基づいて、次のピクチャについて記録抑止を行うか否かをスライスごとに決定する履歴判定部と
を備えたことを特徴とする動画像符号化装置(5)。
(付記6) 付記3に記載の動画像符号化装置において、
前記抑止制御部は、
前記各スライスについて、前記圧縮ローカルデコード画像の記録抑止がなされた履歴を複数のピクチャについて保持する履歴テーブルと、
を備え、
前記展開処理部は、前記履歴テーブルに基づいて、符号化対象のピクチャの前のピクチャにおいて、符号化対象のスライスに対応する圧縮ローカルデコード画像の記録が抑止されなかった場合に限って、前記記録された圧縮ローカルデコード画像を展開する
ことを特徴とする動画像符号化装置。