JP2012065177A - 画像符号化装置、画像符号化方法、画像復号装置、及び画像復号方法 - Google Patents

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

Info

Publication number
JP2012065177A
JP2012065177A JP2010208188A JP2010208188A JP2012065177A JP 2012065177 A JP2012065177 A JP 2012065177A JP 2010208188 A JP2010208188 A JP 2010208188A JP 2010208188 A JP2010208188 A JP 2010208188A JP 2012065177 A JP2012065177 A JP 2012065177A
Authority
JP
Japan
Prior art keywords
time interval
picture
decoding
time
encoding
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
Application number
JP2010208188A
Other languages
English (en)
Inventor
Ichiro Ando
一郎 安藤
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.)
JVCKenwood Corp
Original Assignee
JVCKenwood 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 JVCKenwood Corp filed Critical JVCKenwood Corp
Priority to JP2010208188A priority Critical patent/JP2012065177A/ja
Publication of JP2012065177A publication Critical patent/JP2012065177A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

【課題】動画像の品質低下を抑制しつつ、符号化側から復号側に伝送される動画像の符号化ストリームを低遅延で復号する。
【解決手段】符号化部1103は、動画像を、ピクチャレートを可変可能な規格にしたがい符号化する。符号化パラメータ設定部1102は、規定されたピクチャレートにしたがったピクチャ間の時間間隔で復号する場合に少なくとも必要な復号能力と、復号側に存在すべき仮想復号バッファの単位動作時間の倍数の時間間隔であって、かつピクチャ間の時間間隔より短い時間間隔で復号する場合に少なくとも必要な復号能力と、を含む符号化パラメータを符号化部1103に設定する。符号化部1103は、符号化パラメータを符号化して、動画像の符号化ストリーム内に挿入する。
【選択図】図1

Description

本発明は、ピクチャレートが可変な符号化規格を用いて動画像を符号化、及び復号する画像符号化装置、画像符号化方法、画像復号装置、及び画像復号方法に関する。
動画像を効率よく伝送するために、動画像信号の時間的冗長性、空間的冗長性、及び統計的冗長性を利用したピクチャ内符号化やピクチャ間符号化が用いられている。例えば、ISO/IEC 11172-2(通称MPEG-1 Video)、ISO/IEC 13818-2(通称MPEG-2 Video)、ISO/IEC 14496-2(通称MPEG-4 Video)、ISO/IEC 14496-10(通称MPEG-4 AVC)、ITU-T H.261、ITU-T H.263等の国際標準に基づく符号化方式がある。
ピクチャ毎の発生符号量は、ピクチャ内符号化またはピクチャ間符号化により規定される各符号化ピクチャのタイプ、そのピクチャの絵柄や動き変化等により変動する。したがって、動画像を符号化した符号化データを所定の伝送レートで伝送するためには、符号化側の出力段、及び復号側の入力段に符号化データを一時滞留させるための符号バッファを設け、符号量変動を吸収する手法が有効である。ただし、当該符号バッファでオーバーフローやアンダーフローが発生すると、符号化データの欠落等が発生し、復号後の動画像におけるノイズ要因となる。
符号化側は、出力する符号化データの符号量変動が、復号側の入力段に設けられる符号バッファにより吸収できるように符号化する必要がある。例えば、各ピクチャの発生符号量を予測しながら量子化幅を制御することにより、各ピクチャの発生符号量を調整して、符号バッファがオーバーフローやアンダーフローしないようにする手法が提案されている(例えば、特許文献1参照)。
符号化側の出力段や復号側の入力段の符号バッファの動作は、符号化や復号の実装方法の違いにより異なる。このため、符号化側で想定する復号側の符号バッファの仕様と、実際の復号側の符号バッファの仕様とが一致しないことで、オーバーフローやアンダーフローが発生する場合がある。一般に国際標準に基づく符号化方式では、仮想復号バッファを規定することで、符号化や復号の実装方法が異なる場合においても相互運用性を確保できるようにしている。仮想復号バッファとは、不特定多数の画像復号装置に符号化データを出力または伝送する画像符号化装置が、画像復号装置に存在すると仮定している符号バッファを指す。例えば、MPEG-2ビデオのVBV (Video buffer verifier)のVBV buffer、MPEG-4 AVCのHRD (Hypothetical reference decoder)のCPB(Coded picture buffer)等の規定がある。
符号バッファの容量を大きくすれば、符号化データの滞留時間を長くすることができ、より大きな符号量変動を吸収できる。すなわち、オーバーフローやアンダーフローの発生を抑制できる。しかしながら、符号化データの滞留時間を長くすることで遅延が増大する。なお、仮想復号バッファにおけるアンダーフローとは、復号対象の符号化ピクチャが、規定の復号時刻までに、仮想復号バッファに蓄積完了していない状態をいう。
テレビ電話、テレビ会議、遠隔操作のための監視システム等の用途では、できる限り遅延を小さくすることが求められる。遅延を小さくするには、符号化データの符号バッファにおける一時滞留時間を短くすることが有効であるが、シーンチェンジや急激な動き変化等による符号量変動を吸収できず、仮想復号バッファがアンダーフローする可能性が高くなる。このため、MPEG-2ビデオやMPEG-4 AVC等では、低遅延モードとして符号化する際に、仮想復号バッファにおけるアンダーフローの発生を許容している。符号化ピクチャが仮想復号バッファへの蓄積が完了するまで待機してから復号する。すなわち、待機時間分だけ遅延が生じる。
従来、符号化時に仮想復号バッファがアンダーフローした場合、上記待機時間分の遅延を解消するために、以下のような方法が用いられている。例えば、アンダーフローを起こしたピクチャに続くピクチャを少なくともひとつ飛ばす方法(所謂、ピクチャスキップ)や、符号化ピクチャを破棄、もしくは途中までの符号化ピクチャをそのシンタックスを整えた上で出力する方法が用いられている(例えば、特許文献2、3参照)。
特開平6−205393号公報 特開平10−215449号公報 特開2001−298735号公報
しかしながら、ピクチャスキップや符号化ピクチャの破棄は、画像欠落を招く。例えば、遠隔操作のための監視システム等では、重要な画像を受信表示できないことにより、操作に支障をきたしたり、判断を誤る可能性がある。また、途中までの符号化ピクチャを、そのシンタックスを整えただけで出力する場合、受信画像に大きな乱れが生じる可能性がある。また、ピクチャスキップは、ピクチャ間符号化において対象ピクチャと参照ピクチャとの時間間隔が広がり、時間的な相関性が低下する可能性がある。その場合、符号化効率が低下し、画質低下を招く可能性もある。
本発明はこうした状況に鑑みなされたものであり、その目的は、動画像の品質低下を抑制しつつ、符号化側から復号側に伝送される動画像の符号化ストリームを低遅延で復号する技術を提供することにある。
本発明のある態様の画像符号化装置は、動画像を、ピクチャレートを可変可能な規格にしたがい符号化する符号化部と、規定されたピクチャレートにしたがったピクチャ間の時間間隔で復号する場合に少なくとも必要な復号能力と、復号側に存在すべき仮想復号バッファの単位動作時間の倍数の時間間隔であって、かつピクチャ間の時間間隔より短い時間間隔で復号する場合に少なくとも必要な復号能力と、を含む符号化パラメータを符号化部に設定する符号化パラメータ設定部と、を備える。符号化部は、符号化パラメータを符号化して、動画像の符号化ストリーム内に挿入する。
なお、以上の構成要素の任意の組み合わせ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラム等の間で変換したものもまた、本発明の態様として有効である。
本発明によれば、動画像の品質低下を抑制しつつ、符号化側から復号側に伝送される動画像の符号化ストリームを低遅延で復号することができる。
実施の形態1に係る画像符号化装置の構成を示すブロック図である。 実施の形態1に係る画像符号化装置による符号化処理を説明するためのフローチャートである。 実施の形態1に係る符号化処理における仮想復号バッファの蓄積量推移の一例を示す図である。 実施の形態1に係る画像復号装置の構成を示すブロック図である。 実施の形態1に係る画像復号装置による復号処理を説明するためのフローチャートである。 図3の符号化処理に対応する復号処理における、仮想復号バッファの蓄積量推移を示す図である。 実施の形態1の変形例に係る符号化処理を説明するためのフローチャートである。 実施の形態1の変形例に係る符号化処理における仮想復号バッファの蓄積量推移の一例を示す図である。 実施の形態2に係る画像符号化装置の構成を示すブロック図である。 実施の形態2に係る画像符号化装置による符号化処理を説明するためのフローチャートである。 実施の形態2に係る符号化処理における仮想復号バッファの蓄積量推移の第1例を示す図である。 実施の形態2に係る符号化処理における仮想復号バッファの蓄積量推移の第2例を示す図である。 実施の形態2に係る画像復号装置の構成を示すブロック図である。 実施の形態2に係る画像復号装置による復号処理を説明するためのフローチャートである。 実施の形態2の変形例に係る符号化処理を説明するためのフローチャートである。 実施の形態2の変形例に係る符号化処理における仮想復号バッファの蓄積量推移の一例を示す図である。
まず、本発明の実施の形態を詳細に説明する前に、その概要を説明する。MPEG-2 VideoやMPEG-4 Videoでは、仮想復号バッファがアンダーフローした場合、次ピクチャをピクチャスキップする必要がある。MPEG-4 AVCでは、現ピクチャの復号完了時刻から次ピクチャ復号開始時刻までの時間間隔は、符号化レベルで規定する単位時間あたりの最大マクロブロック数で1ピクチャを復号する時間間隔以上とすると規定されている。すなわち、仮想復号バッファのアンダーフロー発生後、符号化ピクチャの符号化データがすべて仮想復号バッファに蓄積して復号される復号完了時刻から、次ピクチャ復号開始時刻までの時間間隔が、符号化レベルで規定する単位時間あたりの最大マクロブロック数で1ピクチャを復号する時間間隔未満ならば、次ピクチャをピクチャスキップする必要がある。
逆に、現ピクチャの復号完了時刻から次ピクチャの復号開始時刻までに単位時間当たりの最大マクロブロック数で1ピクチャを復号する時間間隔以上確保できれば、アンダーフローが発生しても、次ピクチャをスキップせずに符号化できる。すなわち、次ピクチャをスキップせずに符号化できるアンダーフロー許容時間が確保できる。以下に説明する実施の形態1、2は、この点に着目したものである。
(実施の形態1)
図1は、実施の形態1に係る画像符号化装置1100の構成を示すブロック図である。画像符号化装置1100は、時間間隔算出設定部1101、符号化パラメータ設定部1102、符号化部1103、仮想復号バッファ演算部1104、及び符号化制御部1105を備える。
これらの構成は、ハードウェア的には、任意のプロセッサ、メモリ、その他のLSIで実現でき、ソフトウェア的にはメモリにロードされたプログラムなどによって実現されるが、ここではそれらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組み合わせによっていろいろな形で実現できることは、当業者には理解されるところである。また、ファームウェアやソフトウェアとして上記機能を実現するプログラムを、コンピュータ等で読み取り可能な記録媒体に記録して提供することも、有線あるいは無線のネットワークを通してサーバから提供することも、地上波あるいは衛星ディジタル放送のデータ放送として提供することも可能である。以下、実施の形態1に係る画像復号装置、実施の形態2に係る画像符号化装置、及び実施の形態2に係る画像復号装置についても同様である。
本実施の形態では、ピクチャレートを可変可能な規格であるMPEG-4 AVCに準拠して、動画像を符号化する例を説明する。MPEG-4 AVCでは、各ピクチャをブロック分割してピクチャ内符号化、もしくはピクチャ間符号化する。当該ブロックの単位として、MPEG-4 AVCでは、マクロブロック、マクロブロック・パーティション、サブマクロブロック、及びサブマクロブロック・パーティションを採用することができる。
時間間隔算出設定部1101には、所定のピクチャ時間間隔PTの1/N(Nは2以上の整数)である第1の時間間隔TQ1と、所定のピクチャ時間間隔PTのM/N(MはM<Nである整数)である第2の時間間隔TQ2が入力される。時間間隔算出設定部1101は、所定のピクチャ時間間隔PTと第2の時間間隔TQ2との差分を算出して、第3の時間間隔TQ3を設定する。それとともに、第2の時間間隔TQ2をもとに第5の時間間隔TQ5(TQ2≦TQ5<PT)を設定する。そして、時間間隔算出設定部1101は、第1の時間間隔TQ1、第2の時間間隔TQ2、第3の時間間隔TQ3、及び第5の時間間隔TQ5を符号化パラメータ設定部1102、仮想復号バッファ演算部1104、及び符号化制御部1105にそれぞれ出力する。
第1の時間間隔TQ1は、仮想復号バッファの動作時間単位であり、MPEG-4 AVCのHRDのCPB規定におけるclock tickとして用いる。第2の時間間隔TQ2、及び第5の時間間隔TQ5は、符号化側、及び復号側の符号バッファの容量やその他の仕様に応じて、設計者により設定される値である。また、それらの値を調整することにより、後述するピクチャスキップの感度、及び復号側における遅延の感度を調整することができる。
図1では、第1の時間間隔TQ1と第2の時間間隔TQ2が外部から直接的に時間間隔算出設定部1101に入力される例を描いているが、その代わりにNとMが入力されてもよい。その場合、時間間隔算出設定部1101は、所定のピクチャ時間間隔PTを1/Nして第1の時間間隔TQ1を設定し、所定のピクチャ時間間隔PTをM/Nして第2の時間間隔TQ2を設定する。
第5の時間間隔TQ5は、第2の時間間隔TQ2以上であればよい。仮想復号バッファにおいてピクチャ復号時刻を第5の時間間隔TQ5遅延させた場合、仮想復号バッファのその時点における蓄積量が増加する。その最大増加量は、符号化における最大ビットレートと第5の時間間隔TQ5の積で求められる。この最大増加量は、例えば次のように利用することができる。すなわち、符号化パラメータで示される仮想復号バッファの大きさより当該最大増加量分だけ小さい値を用いて符号化制御する。これにより、復号においてピクチャ復号時刻を第5の時間間隔TQ5遅延させた際の、復号側の入力段に設けられる符号バッファのオーバーフローを防ぐことができる。また、復号側において、仮想復号バッファの最大増加量分を考慮して当該符号バッファの容量を確保できれば、最大増加量分だけ小さい値を用いる必要はない。
符号化パラメータ設定部1102には、時間間隔算出設定部1101から第1の時間間隔TQ1、第2の時間間隔TQ2、及び第3の時間間隔TQ3が入力される。符号化パラメータ設定部1102は、第3の時間間隔TQ3で復号する場合に少なくとも必要な復号能力を設定する。例えばこの復号能力として、符号化パラメータ設定部1102は、第3の時間間隔TQ3で復号可能な、所定のピクチャサイズのマクロブロック数から求められる単位時間当たりのマクロブロック数以上の値を、第1の単位時間当たりのブロック数NMB1に設定する。なお、上記復号能力を、上記ブロック数ではなく復号側のその他の仕様(例えば、動作周波数など)で規定してもよい。
符号化パラメータ設定部1102は、所定のピクチャ時間間隔PTで復号する場合に少なくとも必要な復号能力を設定する。例えばこの復号能力として、符号化パラメータ設定部1102は、所定のピクチャ時間間隔PTで復号可能な、所定のピクチャサイズのマクロブロック数から求められる単位時間当たりのマクロブロック数の値を、第2の単位時間当たりのブロック数NMB2を設定する。
次に、符号化パラメータ設定部1102は、符号化で用いる符号化方式のサブセット条件により符号化プロファイルを設定する。それと共に、ピクチャ時間間隔PT、ピクチャサイズPSZ、符号化で用いる最大ビットレート、及び第1の単位時間当たりのマクロブロック数NMB1等に基づき符号化レベルを設定する。
そして、符号化パラメータ設定部1102は、当該符号化プロファイル、当該符号化レベル、当該ピクチャサイズPSZ、当該最大ビットレート、及び第1の時間間隔TQ1(本実施の形態では、MPEG-4 AVCにおけるHRDのCPB規定におけるclock tick)等に基づき、MPEG-4 AVCで規定する”Sequence Parameter Set”に従い符号化パラメータを設定し、符号化部1103に出力する。
また、符号化パラメータ設定部1102は、MPEG-4 AVCの”Supplemental enhancement information”に準じた形式で符号化パラメータの付随情報として、ピクチャ時間間隔PT、ピクチャサイズPSZ、符号化で用いる最大ビットレート、及び第2の単位時間当たりのマクロブロック数NMB2等に基づく符号化レベルを示す情報、及び第5の時間間隔TQ5を示す情報を設定し、符号化部1103に出力する。
符号化部1103は、符号化パラメータ設定部1102から入力される符号化パラメータと付随情報を所定のピクチャ数(例えば、30ピクチャ)ごとに、そのピクチャ群の符号化の直前に符号化し、符号化ストリーム内に挿入する。
また、符号化部1103は、所定の圧縮符号化規格(本実施の形態では、MPEG-4 AVC)に準拠し、外部から入力される動画像を構成する各画像をブロック分割してピクチャ内符号化、もしくはピクチャ間符号化して、動画像を圧縮符号化して符号化ストリームを生成する。その際、符号化部1103は、符号化制御部1105から入力されるピクチャ復号時刻、及びピクチャ目標符号量に従い、各ピクチャを符号化する。MPEG-4 AVCで規定するPicture timing SEI messageに従い符号化する。
また、符号化部1103は、符号化制御部1105からピクチャスキップの指示があった場合、その対象ピクチャを符号化せずにピクチャスキップする。符号化部1103は、ピクチャ符号化の処理結果として、各ピクチャのピクチャ復号時刻とピクチャ符号量を、仮想復号バッファ演算部1104に出力する。
符号化部1103により符号化された符号化ストリームは、図示しない伝送路を介して後述する画像復号装置に伝送される。
仮想復号バッファ演算部1104は、符号化部1103から入力される各ピクチャのピクチャ復号時刻とピクチャ符号量に基づき、仮想復号バッファの蓄積量の推移を演算し、符号化制御部1105に出力する。本実施の形態では、仮想復号バッファの蓄積量の推移は、MPEG-4 AVCにおけるHRDのCPB規定に従い演算する。
符号化制御部1105は、所定のピクチャ時間間隔PTに基づき、符号化順に各ピクチャのピクチャ復号時刻を算出する。また、仮想復号バッファ演算部1104から入力される、各時刻における仮想復号バッファの蓄積量の推移に基づき、各ピクチャの目標符号量を算出する。符号化制御部1105は、算出した各ピクチャのピクチャ復号時刻と目標符号量を符号化部1103に出力し、ピクチャ符号化を指示する。また、符号化制御部1105は、仮想復号バッファ演算部1104から入力される仮想復号バッファの蓄積量の推移に基づき、次ピクチャをスキップすべきと判断した場合、符号化部1103にピクチャスキップを指示する。
図2は、実施の形態1に係る画像符号化装置1100による符号化処理を説明するためのフローチャートである。図3は、実施の形態1に係る符号化処理における仮想復号バッファの蓄積量推移の一例を示す図である。以下、図2、3を参照しながら実施の形態1に係る画像符号化装置1100の動作例を説明する。
第1の時間間隔TQ1と第2の時間間隔TQ2が時間間隔算出設定部1101に設定される(S1201)。本実施の形態では、第1の時間間隔TQ1は、仮想復号バッファの動作時間単位であり、MPEG-4 AVCにおけるHRDのCPB規定で用いるclock tickが用いられる。
TQ1=PT×1/N ・・・(式1)
TQ2=PT×M/N ・・・(式2)
ここで、Nは2以上の整数、MはM<Nの整数である。
本動作例では、N、Mを下記(式3)、(式4)と定義する。
N=4 ・・・(式3)
M=1 ・・・(式4)
本動作例では、仮想復号バッファは、ピクチャ時間間隔PTの1/4である第1の時間間隔TQ1を単位時間として動作する。また、図3では時刻を、小数点を用いて時刻t1、時刻t1.1、時刻t1.2、及び時刻t1.3のように表す。時刻の整数部はピクチャ時間間隔PTを単位とし、その小数部は、第1の時間間隔TQ1を単位とする。本動作例では、N=4であるため、小数部を4進法で扱う。すなわち、下記(式5)〜(式9)のようになる。
時刻t1=時刻(t1+0×TQ1) ・・・(式5)
時刻t1.1=時刻(t1+1×TQ1) ・・・(式6)
時刻t1.2=時刻(t1+2×TQ1) ・・・(式7)
時刻t1.3=時刻(t1+3×TQ1) ・・・(式8)
時刻t1.4=時刻(t1+4×TQ1)=時刻(t1+PT)=時刻t2 ・・・(式9)
時間間隔算出設定部1101は、所定のピクチャ時間間隔PTと第2の時間間隔TQ2との差分を算出して、第3の時間間隔TQ3とする。また、第2の時間間隔TQ2を第5の時間間隔TQ5として設定する(S1202)。
TQ3=PT−TQ2 ・・・(式10)
TQ5=TQ2 ・・・(式11)
符号化パラメータ設定部1102は、第1の単位時間当たりのマクロブロック数NMB1を、所定の符号化ピクチャサイズのマクロブロック数PNMB、及び第3の時間間隔TQ3から求められる単位時間当たりのマクロブロック数以上に設定する。また、第2の単位時間当たりのマクロブロック数NMB2を、所定の符号化ピクチャサイズのマクロブロック数PNMB、及び所定のピクチャ時間間隔PTから求められる単位時間当たりのマクロブロック数に設定する(S1203)。本動作例では、単位時間を1秒に設定している。
NMB1≧PNMB/TQ3 ・・・(式12)
NMB2=PNMB/PT ・・・(式13)
次に、符号化パラメータ設定部1102は、符号化で用いる符号化方式のサブセット条件により符号化プロファイルを設定すると共に、ピクチャ時間間隔PT、符号化ピクチャサイズPSZ、ビットレート、及び第1の単位時間当たりのマクロブロック数NMB1に基づき、符号化レベルを設定する。
次に、符号化パラメータ設定部1102は、当該符号化プロファイル、当該符号化レベル、当該符号化ピクチャサイズPSZ、当該ビットレート、及び第1の時間間隔TQ1(本実施の形態では、MPEG-4 AVCにおけるHRDのCPB規定におけるclock tick)等に基づき、MPEG-4 AVCで規定する”Sequence Parameter Set”に従い符号化パラメータを設定する。また、第2の単位時間当たりのマクロブロック数NMB2に基づく符号化レベル、及び第5の時間間隔TQ5を、例えば、MPEG-4 AVCの”Supplemental enhancement information”に準じた形式で符号化パラメータの付随情報として設定する(S1204)。
以下、下記条件1で符号化する場合について説明する。
(条件1)
ピクチャレート: 30Hz
ピクチャサイズ: 1280×720
符号化方式: MPEG−4 AVC
プロファイル: ベースラインプロファイル
ビットレート: 14Mbps(VCL基準)
上記(式3)、(式4)、及び上記条件1を前提とすると、ピクチャ時間間隔PT、第1の時間間隔TQ1、第2の時間間隔TQ2、第3の時間間隔TQ3、及び第5の時間間隔TQ5は、下記(式14)〜(式18)のように算出される。
PT=1/30秒 ・・・(式14)
TQ1=1/30×1/4=1/120秒 ・・・(式15)
TQ2=1/120×1=1/120秒 ・・・(式16)
TQ3=(1/30)−1/120=1/40秒 ・・・(式17)
TQ5=TQ2=1/120秒 ・・・(式18)
上記条件1のピクチャサイズから画面当たりのマクロブロック数は3600である。所定の符号化ピクチャサイズのマクロブロック数PNMB、及び第3の時間間隔TQ3から求められる第1の単位時間当たりのマクロブロック数NMB1は、下記(式19)になる。ここでは、第1の単位時間当たりのマクロブロック数NMB1を、求められるマクロブロック数と等しい値に設定している。
NMB1=3600/(1/40)=毎秒144000マクロブロック ・・・(式19)
また、所定の符号化ピクチャサイズのマクロブロック数PNMB、及び所定のピクチャ時間間隔PTから求められる、第2の単位時間当たりのマクロブロック数NMB2は、下記(式20)になる。
NMB2=3600/(1/30)=毎秒108000マクロブロック ・・・(式20)
以上から、符号化パラメータ設定部1102は、上記条件1、及び第1の単位時間当たりのマクロブロック数NMB1に対応する符号化レベルとしてレベル3.2を設定する。そして、符号化パラメータ設定部1102は、符号化プロファイル、符号化レベル、符号化ピクチャサイズPSZ、ビットレート、及び第1の時間間隔TQ1(本実施の形態では、MPEG-4 AVCにおけるHRDのCPB規定におけるclock tick)等に基づき、符号化パラメータを設定する。
また、符号化パラメータ設定部1102は、上記条件1、及び第2の単位時間当たりのマクロブロック数NMB2に対応する符号化レベルとしてレベル3.1を設定する。そして、この符号化レベル、及び第5の時間間隔TQ5を、例えば、MPEG-4 AVCの”Supplemental enhancement information”に準じた形式で符号化パラメータの付随情報として設定する(S1204)。
符号化制御部1105は、所定のピクチャ時間間隔PTで、符号化順に順次、ピクチャごとに算出した時刻として、現ピクチャのピクチャ復号時刻を設定する(S1205)。図3に示す例では、ピクチャP1の場合にピクチャ復号時刻を時刻t1に設定する。以降、ピクチャP2の場合に時刻t2を、ピクチャP3の場合に時刻t3を、及びピクチャP4の場合に時刻t4をそれぞれ設定する。なお、図3には描いていなが、ピクチャP5の場合に時刻t5を、及びピクチャP6の場合に時刻t6を設定する。
符号化制御部1105は、前ピクチャにおいて、後続するステップS1216で「次ピクチャのピクチャスキップ指示」が設定されている場合(S1206のY)、現ピクチャをピクチャスキップすると共に、次ピクチャのピクチャスキップ指示を解除して(S1207)、ステップS1205に戻る。
符号化制御部1105は、前ピクチャにおいて、後続するステップS1216で「次ピクチャのピクチャスキップ指示」が設定されていない場合(S1206のN)、すなわち、「次ピクチャのピクチャスキップ指示」が解除されている場合、ステップS1208に進む。
図3に示す例では、現ピクチャP5の前ピクチャP4の処理において、ステップS1216で「次ピクチャのピクチャスキップ指示」が設定されたため、ステップS1206からステップS1207に進み、ステップS1207でピクチャスキップされる。したがって、図3中にピクチャP5の表記はない。
符号化制御部1105は、現ピクチャの復号直前の仮想復号バッファ蓄積量を最大として、例えば、過去の仮想復号バッファ推移に基づきピクチャ目標符号量を算出する(S1208)。
図3では、ピクチャP1の復号時刻t1直前の仮想復号バッファ蓄積量を矢印(細線)db1の長さで、ピクチャP2の復号時刻t2直前の仮想復号バッファ蓄積量を矢印(細線)db2の長さで描いている。また、ピクチャP1の符号量を矢印(太線)C1の長さで、ピクチャP2の符号量を矢印(太線)C2の長さで描いている。なお、矢印(太線)が点線の場合、ピクチャ復号時刻変更前のピクチャを示し、矢印(太線)が実線の場合、ピクチャ復号時刻変更後のピクチャを示す。図3では、一連の復号処理を、各ピクチャを示す実線の矢印(太線)の上方向から下方向に進んでいき、一番下に到達すると、次の実線の矢印(太線)の一番上に遷移することにより描いている。
符号化制御部1105は、ピクチャP1の場合、仮想復号バッファ蓄積量db1を最大としてピクチャ目標符号量を算出し、ピクチャP2の場合、仮想復号バッファ蓄積量db2を最大としてピクチャ目標符号量を算出する。
符号化パラメータ設定部1102は、符号化パラメータを符号化するか否か判断する(S1209)。例えば、30ピクチャごとに符号化パラメータを符号化すると判断し、それ以外のタイミングでは符号化しないと判断する。符号化パラメータを符号化すると判断した場合(S1209のY)、符号化パラメータ設定部1102は、符号化パラメータを符号化して(S1210)、その後、ステップS1211に進む。符号化パラメータを符号化しないと判断した場合(S1209のN)、ステップS1210をスキップし、ステップS1211に進む。
符号化部1103は、現ピクチャをブロック分割して、ステップS1208で設定されたピクチャ目標符号量に応じて、ピクチャ内符号化、もしくはピクチャ間符号化して、符号化ピクチャを生成する(S1211)。この際、ステップS1205で設定されたピクチャ復号時刻を、符号化ピクチャに付随する補助情報として符号化する。MPEG-4 AVCで規定する”Picture timing SEI message”に従い符号化する。
仮想復号バッファ演算部1104は、現ピクチャのピクチャ復号時刻において、ピクチャ復号直後の仮想復号バッファ蓄積量を演算する(S1212)。当該蓄積量が負ならば(S1212のY)、アンダーフロー発生と判断してステップS1213に進み、当該蓄積量がゼロ以上ならば(S1212のN)、アンダーフロー発生なしと判断して、ステップS1213〜S1216をスキップして、ステップS1217に進む。
図3では、ピクチャ復号時刻t1におけるピクチャ復号直後の仮想復号バッファ蓄積量da1はゼロ以上なので、ピクチャP1にアンダーフローは発生しないと判断する。また、ピクチャ復号時刻t2におけるピクチャ復号直後の仮想復号バッファ蓄積量da2は負であるため、ピクチャP2にはアンダーフローが発生すると判断する。
アンダーフローが発生した場合(S1212のY)、仮想復号バッファ演算部1104は、第1の時間間隔TQ1刻みで、現ピクチャのピクチャ復号直後の仮想復号バッファ蓄積量がゼロ以上となる最初の時刻を、第1の時刻として設定する(S1213)。
図3において、ピクチャ復号時刻t2においてアンダーフロー発生後、ピクチャP2のピクチャ復号直後の仮想復号バッファ蓄積量がゼロ以上となる最初の時刻は、時刻t2.1である。したがって、ピクチャP2における第1の時刻を時刻t2.1と設定する。同様に、ピクチャ復号時刻t4においてアンダーフロー発生後、ピクチャP4のピクチャ復号直後の仮想復号バッファ蓄積量がゼロ以上となる最初の時刻は、時刻t4.2である。したがって、ピクチャP4における第1の時刻を時刻t4.2と設定する。
仮想復号バッファ演算部1104は、現ピクチャのピクチャ復号時刻から第1の時刻までの時間間隔を、第4の時間間隔TQ4として算出する(S1214)。図3において、ピクチャP2の場合、現ピクチャのピクチャ復号時刻である時刻t2から第1の時刻である時刻t2.1までの時間間隔が第4の時間間隔TQ4である。上記条件1に基づく場合、ピクチャP2における第4の時間間隔TQ4(P2)は、下記(式21)となる。
TQ4(P2)=t2.1−t2=TQ1=1/120秒 ・・・(式21)
同様に、ピクチャP4の場合、現ピクチャのピクチャ復号時刻t4から第1の時刻である時刻t4.2までの時間間隔が第4の時間間隔TQ4である。上記条件1に基づく場合、ピクチャP4における第4の時間間隔TQ4(P4)は、下記(式22)となる。
TQ4(P2)=t4.2−t4=2×TQ1=1/60秒 ・・・(式22)
符号化制御部1105は、第4の時間間隔TQ4と第2の時間間隔TQ2とを比較し(S1215)、前者が後者を超える場合(S1215のN)、ステップS1216に進み、前者が後者以下の場合(S1215のY)、ステップS1216をスキップして、ステップS1217に進む。
図3において、上記(式21)、(式16)から、ピクチャP2の第4の時間間隔TQ4は1/120秒、及び第2の時間間隔TQ2は1/120秒である。ピクチャP2の第4の時間間隔TQ4は第2の時間間隔TQ2以下であるため、ピクチャP2の場合、ステップS1217に進む。上記(式22)、(式16)から、ピクチャP4の第4の時間間隔TQ4は1/60秒、及び第2の時間間隔TQ2は1/120秒である。ピクチャP4の第4の時間間隔TQ4は第2の時間間隔TQ2を超えるため、ピクチャP4の場合、ステップS1216に進む。
第4の時間間隔TQ4が第2の時間間隔TQ2を超える場合(S1215のN)、符号化制御部2105は、次ピクチャを符号化せずにピクチャスキップするように「次ピクチャのピクチャスキップ指示」を設定して(S1216)、ステップS1217に進む。図3では、ピクチャP4に、「次ピクチャのピクチャスキップ指示」を設定する。
符号化制御部1105は、動画像の符号化処理を終了するか否かを判定する(S1217)。例えば、外部からの符号化処理終了コマンドの入力により判断することができる。符号化を終了しない場合(S1217のN)、ステップS1205に戻り、符号化を終了する場合(S1217のY)、一連の処理を終了する。
図4は、実施の形態1に係る画像復号装置1400の構成を示すブロック図である。画像復号装置1400は、分離部1401、符号化パラメータ復号部1402、復号制御部1403、及びピクチャ復号部1404を備える。
分離部1401は、伝送されてくる符号化ストリームから符号化パラメータの符号化データの情報を分離して、符号化パラメータ復号部1402に出力し、その情報が分離された後の各符号化ピクチャをピクチャ復号部1404に出力する。当該符号化ストリームは、実施の形態1に係る画像符号化装置1100により生成され、伝送されたものである。
符号化パラメータ復号部1402は、分離部1401から入力される符号化パラメータの情報を復号して、復号制御部1403に出力する。
復号制御部1403は、符号化パラメータ復号部1402から入力される符号化パラメータが示す、符号化プロファイル、符号化レベル、ピクチャ時間間隔、ピクチャサイズ、復号に必要なメモリ、ビットレート等を参照して、種々の符号化条件に適応して復号するようにピクチャ復号部1404を制御する。
復号制御部1403は、符号化パラメータが示す符号化プロファイル、及びMPEG-4 AVCの”Supplemental enhancement information”に準じた形式による符号化パラメータの付随情報から取得される第2の単位時間当たりのマクロブロック数NMB2に基づく符号化レベルに応じて、入力された符号化ストリームが復号可能か否かを判定する。復号可能であれば、ピクチャ復号部1404に順次、符号化ピクチャを復号するよう制御し、復号可能でなければ、一連の処理を終了する。その際、復号不可である旨をユーザに画像表示してもよい。
上述したように、上記符号化レベルは、ピクチャ時間間隔PT、ピクチャサイズPSZ、符号化で用いる最大ビットレート、及び第2の単位時間当たりのマクロブロック数NMB2等に基づいている。
復号制御部1403は、ピクチャ復号部1404に対し、例えば、符号化プロファイルに準拠した符号化方式のサブセットに適応して復号するよう制御したり、符号化レベルに準拠したピクチャ当たりの最大マクロブロック数、単位時間当たりの最大マクロブロック数、最大ビットレート、及び復号に必要なメモリに適応して復号するよう制御したり、並びにピクチャ時間間隔PT、ピクチャサイズPSZに適応して復号するよう制御したりする。
また、復号制御部1403は、ピクチャ復号部1404に対して、各ピクチャのピクチャ復号時刻を少なくとも第5の時間間隔TQ5、遅延するよう制御する。
ピクチャ復号部1404は、所定の圧縮符号化規格(本実施の形態では、MPEG-4 AVC)に準拠し、復号制御部1403からの制御に従い、分離部1401から入力される各符号化ピクチャを逐次復号して動画像を出力する。その際、各ピクチャのピクチャ復号時刻を、少なくとも第5の時間間隔TQ5、一律に遅延させた遅延ピクチャ復号時刻に従うタイミングで各符号化ピクチャを復号する。なお、当該ピクチャ復号時刻は、符号化パラメータに付随する補助情報(本実施の形態では、MPEG-4 AVCで規定するPicture timing SEI message)を復号して得ることができる。
また、ピクチャ復号時刻において符号化ピクチャの蓄積が不完全な場合、すなわち、符号化ピクチャの復号において、ピクチャ復号部1404内の入力段に含まれる符号バッファ1405がアンダーフローする場合、次のように処理する。すなわち、ピクチャ復号部1404は、ピクチャ復号時刻以降、符号化パラメータから得られるclock tickの時間間隔(本実施の形態では、第1の時間間隔TQ1)ごとに、符号バッファ1405のアンダーフローが解消して符号化ピクチャの蓄積が完全か否か確認する。そして、符号化ピクチャの蓄積が完全となりしだい復号を開始する。
図5は、実施の形態1に係る画像復号装置1400による復号処理を説明するためのフローチャートである。図6は、図3の符号化処理に対応する復号処理における、仮想復号バッファの蓄積量推移を示す図である。以下、図5、6を参照しながら実施の形態1に係る復号処理を説明する。
分離部1401は、入力される符号化ストリームから符号化パラメータを分離して符号化パラメータ復号部1402に出力し、符号化パラメータ復号部1402は、当該符号化パラメータを復号する(S1501)。
復号制御部1403は、復号された符号化パラメータが示す符号化プロファイル、及びMPEG-4 AVCの ”Supplemental enhancement information”に準じた形式による符号化パラメータの付随情報から得られる符号化レベルに適合して、入力される符号化ストリームが復号可能か否かを判定する(S1502)。復号可能な場合(S1502のY)、ステップS1503に進み、復号できない場合(S1502のN)、一連の処理を終了する。ここで、符号化レベルは、ピクチャ時間間隔PT、ピクチャサイズPSZ、符号化で用いる最大ビットレート、及び第2の単位時間当たりのマクロブロック数NMB2等に基づき、設定されている。
復号可能な符号化ストリームの場合(S1502のY)、復号制御部1403は、復号された符号化パラメータが示す種々の符号化条件に適応して復号するように復号条件を設定する(S1503)。次に、符号化パラメータ復号部1402は、各符号化ピクチャに付随する補助情報(本実施の形態では、MPEG-4 AVCで規定するPicture timing SEI message)からピクチャ復号時刻を示す情報を取得して、ピクチャ復号時刻を復号する(S1504)。
復号制御部1403は、復号されたピクチャ復号時刻を第5の時間間隔TQ5だけ一律に遅延させた遅延ピクチャ復号時刻を設定する(S1505)。ピクチャ復号部1404は、符号化パラメータに基づき得られるclock tickの時間間隔(本実施の形態では、第1の時間間隔TQ1)ごとに管理して、復号制御部1403により設定された遅延ピクチャ復号時刻となるまで待機する(S1506)。
復号制御部1403は、復号すべき符号化ピクチャの蓄積が完全か否かを判断する(S1507)。完全でない場合(S1507のN)、ピクチャ復号部1404は、符号化パラメータに基づき得られるclock tickの時間間隔(本実施の形態では、第1の時間間隔TQ1)、待機して(S1508)、ステップS1507に戻る。符号化ピクチャの蓄積が完全な場合(S1507のY)、ピクチャ復号部1404は、符号化ピクチャを復号する(S1509)。
上記図3では、ピクチャ復号時刻t2においてアンダーフロー発生後、ピクチャP2のピクチャ復号直後の仮想復号バッファ蓄積量がゼロ以上となる最初の時刻は、時刻t2.1である。ピクチャP2の復号は、この時刻t2.1で完了する。ピクチャP2の第4の時間間隔TQ4(P2)は、TQ4(P2)=TQ1≦TQ2である。したがって、ピクチャサイズPSZの符号化ピクチャを、第3の時間間隔TQ3で復号するに必要な第1の単位時間当たりのマクロブロック数NMB1以上で復号可能なら正常に復号できる。しかしながら、第1の単位時間当たりのマクロブロック数NMB1に適合して復号できない場合は正常に復号できない。
これに対して、図6のように、ピクチャ復号時刻を第5の時間間隔TQ5だけ一律に遅延させた遅延ピクチャ復号時刻を用いることにより、第2の単位時間当たりのマクロブロック数NMB2以上で復号可能であれば正常に復号できる。第4の時間間隔TQ4が第2の時間間隔TQ2以下の場合、次ピクチャを所定のピクチャ時間間隔PTに従うピクチャ復号時刻として符号化する場合であっても、第2の単位時間当たりのマクロブロック数NMB2以上で復号可能であれば正常に復号できる。
図5に戻る。復号制御部1403は、終了コマンド(例えば、MPEG-4 AVCにおける”end of stream”)の検出の有無により、一連の復号をすべて終了するか否かを判定する(S1510)。一連の復号がすべて終了していない場合(S1510のN)、ステップS1504に戻る。終了コマンドが検出された場合(S1510のY)、一連の復号を終了する。
以上説明した実施の形態1に係る符号化では、第4の時間間隔TQ4が第2の時間間隔TQ2以下の場合に次ピクチャを符号化するように制御する例を説明した。この点、第1の時刻から次ピクチャのピクチャ復号時刻までの時間間隔を第41の時間間隔TQ41とし、第41の時間間隔TQ41が第3の時間間隔TQ3以上の場合に次ピクチャを符号化するように制御してもよい。以下、より具体的に説明する。
図7は、実施の形態1の変形例に係る符号化処理を説明するためのフローチャートである。図7に示すフローチャートは、図2に示すフローチャートのステップS1214とS1215が異なる。図7に示すフローチャートでは、仮想復号バッファ演算部1104は、第1の時刻から、現ピクチャの次ピクチャのピクチャ復号時刻までの時間間隔を、第41の時間間隔TQ41として算出する(S12141)。符号化制御部1105は、第3の時間間隔TQ3と第41の時間間隔TQ41とを比較し(S12151)、前者が後者を超える場合(S12151のN)、ステップS1216に進み、前者が後者以下の場合(S12151のY)、ステップS1216をスキップして、ステップS1217に進む。
図8は、実施の形態1の変形例に係る符号化処理における仮想復号バッファの蓄積量推移の一例を示す図である。図3と図8を比較すると、前者ではピクチャ復号時刻の遅延を、現ピクチャのピクチャ復号時刻を基準に規定し、後者は次ピクチャのピクチャ復号時刻を基準に規定したものである。
復号側が第1の単位時間当たりのマクロブロック数NMB1で符号化ピクチャを復号可能なら、符号化ピクチャの付随情報から取得されるピクチャ復号時刻に従い復号することにより、低遅延化を図ることができる。また、第1の単位時間当たりのマクロブロック数NMB1で符号化ピクチャを復号できなくても、第2の単位時間当たりのマクロブロック数NMB2で復号可能なら、符号化ピクチャの付随情報から取得されるピクチャ復号時刻を第5の時間間隔TQ5だけ一律に遅延させることにより、破綻なく正常に復号することができる。
以上説明したように実施の形態1によれば、所定のピクチャ時間間隔PT、所定のピクチャサイズPSZにおける各ピクチャの符号化において、仮想復号バッファのアンダーフローが発生しても、ピクチャ復号時刻から第2の時間間隔TQ2以内にアンダーフローが解消すれば、次ピクチャをピクチャスキップせずに符号化できる。第1の単位時間当たりのブロック数NMB1を示す情報を符号化することにより、復号側が第1の単位時間当たりのブロックNMB1数以上で符号化ピクチャを復号できれば、復号側に、その符号化ストリームが復号可能であることを明示できる。
また、第5の時間間隔TQ5を示す情報、及び第2の単位時間当たりのブロック数NMB2を示す情報を符号化することで、復号側が第2の単位時間当たりのブロック数NMB2以上で符号化ピクチャを復号できれば、ピクチャ復号時刻を第5の時間間隔TQ5だけ遅延させることで、復号側に、その符号化ストリームが復号可能であることを明示できる。なお、実施の形態1において、第2の単位時間当たりのブロック数NMB2に基づく符号化レベルを符号化パラメータの付随情報として設定するよう説明したが、第2の単位時間当たりのブロック数NMB2を符号化してもよい。この場合、復号側では、第2の単位時間当たりのブロック数NMB2で復号可能か否かを判断する。
さらに、第2の単位時間当たりのブロック数NMB2以上で符号化ピクチャを復号可能ならば、ピクチャ復号時刻を第5の時間間隔TQ5だけ遅延させることで、破綻なく正常に復号できる。これにより、次ピクチャをピクチャスキップせずに符号化することで画像欠落を抑制することができる。したがって、ピクチャスキップに起因するピクチャ間符号化における符号化効率低下、及び画質低下を抑制することができる。また、所定のピクチャ時間間隔PTだけ遅延させる必要がないため、復号側の遅延を小さくすることができる。
このように、実施の形態1に係る画像符号化装置、及び画像復号装置よれば、第1の単位時間当たりのブロック数NMB1以上で復号可能ならば遅延時間を短くして復号できる。また、第2の単位時間当たりのブロック数NMB2以上でも復号可能とすることで復号対象の符号化ストリームを拡大できる。
(実施の形態2)
図9は、実施の形態2に係る画像符号化装置2100の構成を示すブロック図である。画像符号化装置2100は、時間間隔算出設定部2101、符号化パラメータ設定部2102、符号化部2103、仮想復号バッファ演算部2104、及び符号化制御部2105を備える。
時間間隔算出設定部2101には、所定のピクチャ時間間隔PTの1/N(Nは2以上の整数)である第1の時間間隔TQ1と、所定のピクチャ時間間隔PTのM/N(MはM<Nである整数)である第2の時間間隔TQ2が入力される。時間間隔算出設定部2101は、所定のピクチャ時間間隔PTと第2の時間間隔TQ2との差分を算出して、第3の時間間隔TQ3を設定する。それとともに、第2の時間間隔TQ2をもとに第6の時間間隔TQ6(TQ2≦TQ6<PT)を設定する。そして、時間間隔算出設定部2101は、第1の時間間隔TQ1、第2の時間間隔TQ2、第3の時間間隔TQ3、及び第6の時間間隔TQ6を符号化パラメータ設定部2102、仮想復号バッファ演算部2104、及び符号化制御部2105にそれぞれ出力する。
第1の時間間隔TQ1は、仮想復号バッファの動作時間単位であり、MPEG-4 AVCのHRDのCPB規定におけるclock tickが用いられる。第2の時間間隔TQ2、及び第6の時間間隔TQ6は、符号化側、及び復号側の符号バッファの容量やその他の仕様に応じて、設計者により設定される値である。
図9では、第1の時間間隔TQ1と第2の時間間隔TQ2が外部から直接的に時間間隔算出設定部2101に入力される例を描いているが、その代わりにNとMが入力されてもよい。その場合、時間間隔算出設定部2101は、所定のピクチャ時間間隔PTを1/Nして第1の時間間隔TQ1を設定し、所定のピクチャ時間間隔PTをM/Nして第2の時間間隔TQ2を設定する。
第6の時間間隔TQ6は、第2の時間間隔TQ2以上であればよい。仮想復号バッファにおいてピクチャ復号時刻を第6の時間間隔TQ6遅延させた場合、仮想復号バッファのその時点における蓄積量が増加する。その最大増加量は、符号化における最大ビットレートと第6の時間間隔TQ6の積で求められる。この最大増加量は、例えば次のように利用することができる。すなわち、符号化パラメータで示される仮想復号バッファの大きさより当該最大増加量分だけ小さい値を用いて符号化制御する。これにより、復号においてピクチャ復号時刻を第6の時間間隔TQ6遅延させた際の、復号側の入力段に設けられる符号バッファのオーバーフローを防ぐことができる。また、復号側において、仮想復号バッファの最大増加量分を考慮して当該符号バッファの容量を確保できれば、最大増加量分だけ小さい値を用いる必要はない。
符号化パラメータ設定部2102には、時間間隔算出設定部2101から第1の時間間隔TQ1、第2の時間間隔TQ2、及び第3の時間間隔TQ3が入力される。符号化パラメータ設定部2102は、第3の時間間隔TQ3で復号可能な、所定のピクチャサイズのマクロブロック数から求められる単位時間当たりのマクロブロック数以上の値を、第1の単位時間当たりのブロック数NMB1に設定する。また、所定のピクチャ時間間隔PTで復号可能な、所定のピクチャサイズのマクロブロック数から求められる単位時間当たりのマクロブロック数の値を、第2の単位時間当たりのブロック数NMB2を設定する。
次に、符号化パラメータ設定部2102は、符号化で用いる符号化方式のサブセット条件により符号化プロファイルを設定する。それと共に、ピクチャ時間間隔PT、ピクチャサイズPSZ、符号化で用いる最大ビットレート、第2の単位時間当たりのマクロブロック数NMB2に基づき符号化レベルを設定する。
そして、符号化パラメータ設定部2102は、当該符号化プロファイル、当該符号化レベル、当該ピクチャサイズPSZ、当該最大ビットレート、及び第1の時間間隔TQ1(本実施の形態では、MPEG-4 AVCにおけるHRDのCPB規定におけるclock tick)等に基づき、MPEG-4 AVCで規定する”Sequence Parameter Set”に従い符号化パラメータを設定し、符号化部2103に出力する。
また、符号化パラメータ設定部2102は、MPEG-4 AVCの”Supplemental enhancement information”に準じた形式で符号化パラメータの付随情報として、ピクチャ時間間隔PT、ピクチャサイズPSZ、符号化で用いる最大ビットレート、及び第1の単位時間当たりのマクロブロック数NMB1等に基づく符号化レベルを示す情報、及び第6の時間間隔TQ6を示す情報を設定し、符号化部2103に出力する。
符号化部2103は、符号化パラメータ設定部2102から入力される符号化パラメータを所定のピクチャ数(例えば、30ピクチャ)ごとに、そのピクチャ群の符号化の直前に符号化する。
また、符号化部2103は、所定の圧縮符号化規格(本実施の形態では、MPEG-4 AVC)に準拠し、外部から入力される動画像を構成する各画像をブロック分割してピクチャ内符号化、もしくはピクチャ間符号化して、動画像を圧縮符号化する。その際、符号化部2103は、符号化制御部2105から入力されるピクチャ復号時刻、及びピクチャ目標符号量に従い、各ピクチャを符号化する。
この際、仮想復号バッファ演算で用いるピクチャ復号時刻を第6の時間間隔TQ6だけ遅延させた遅延ピクチャ復号時刻を、符号化ピクチャに付随する補助情報として符号化する。MPEG-4 AVCで規定する”Picture timing SEI message”に従って符号化する。
また、符号化部2103は、符号化制御部2105からピクチャスキップの指示があった場合、その対象ピクチャを符号化せずにピクチャスキップする。符号化部2103は、ピクチャ符号化の処理結果として、各ピクチャのピクチャ復号時刻とピクチャ符号量を、仮想復号バッファ演算部2104に出力する。
符号化部2103により符号化された符号化ストリームは、図示しない伝送路を介して後述する画像復号装置に伝送される。
仮想復号バッファ演算部2104は、符号化部2103から入力される各ピクチャのピクチャ復号時刻とピクチャ符号量に基づき、仮想復号バッファの蓄積量の推移を演算し、符号化制御部2105に出力する。本実施の形態では、仮想復号バッファの蓄積量の推移は、MPEG-4 AVCにおけるHRDのCPB規定に従い演算する。
符号化制御部2105は、所定のピクチャ時間間隔PTに基づき、符号化順に各ピクチャのピクチャ復号時刻を算出する。また、仮想復号バッファ演算部2104から入力される、各時刻における仮想復号バッファの蓄積量に基づき、各ピクチャの目標符号量を算出する。符号化制御部2105は、算出した各ピクチャの復号時刻と目標符号量を符号化部2103に出力し、ピクチャ符号化を指示する。また、符号化制御部2105は、仮想復号バッファ演算部2104から入力される仮想復号バッファの蓄積量の推移に基づき、次ピクチャをスキップすべきと判断した場合、符号化部2103にピクチャスキップを指示する。
図10は、実施の形態2に係る画像符号化装置2100による符号化処理を説明するためのフローチャートである。図11は、実施の形態2に係る符号化処理における仮想復号バッファの蓄積量推移の第1例を示す図である。図12は、実施の形態2に係る符号化処理における仮想復号バッファの蓄積量推移の第2例を示す図である。以下、図10〜12を参照しながら実施の形態2に係る画像符号化装置2100の動作例を説明する。
第1の時間間隔TQ1と第2の時間間隔TQ2が時間間隔算出設定部2101に設定される(S2201)。本実施の形態では、第1の時間間隔TQ1は、仮想復号バッファの動作時間単位であり、MPEG-4 AVCにおけるHRDのCPB規定で用いるclock tickが用いられる。
TQ1=PT×1/N ・・・(式23)
TQ2=PT×M/N ・・・(式24)
ここで、Nは2以上の整数、MはM<Nの整数である。
本動作例では、N、Mを下記(式25)、(式26)と定義する。
N=4 ・・・(式25)
M=1 ・・・(式26)
本動作例では、仮想復号バッファはピクチャ時間間隔PTの1/4である第1の時間間隔TQ1を単位時間として動作する。また、図9では時刻を、小数点を用いて時刻t1、時刻t1.1、時刻t1.2、及び時刻t1.3のように表す。時刻の整数部はピクチャ時間間隔PTを単位とし、その小数部は、第1の時間間隔TQ1を単位とする。本動作例では、N=4であるため、小数部を4進法で扱う。すなわち、下記(式27)〜(式31)のようになる。
時刻t1=時刻(t1+0×TQ1) ・・・(式27)
時刻t1.1=時刻(t1+1×TQ1) ・・・(式28)
時刻t1.2=時刻(t1+2×TQ1) ・・・(式29)
時刻t1.3=時刻(t1+3×TQ1) ・・・(式30)
時刻t1.4=時刻(t1+4×TQ1)=時刻(t1+PT)=時刻t2 ・・・(式31)
時間間隔算出設定部2101は、所定のピクチャ時間間隔PTと第2の時間間隔TQ2との差分を算出して、第3の時間間隔TQ3とする。また、第2の時間間隔TQ2を第6の時間間隔TQ6として設定する(S2202)。
TQ3=PT−TQ2 ・・・(式32)
TQ6=TQ2 ・・・(式33)
符号化パラメータ設定部2102は、第1の単位時間当たりのマクロブロック数NMB1を、所定の符号化ピクチャサイズのマクロブロック数PNMB、及び第3の時間間隔TQ3から求められる単位時間当たりのマクロブロック数以上に設定する。また、第2の単位時間当たりのマクロブロック数NMB2を、所定の符号化ピクチャサイズのマクロブロック数PNMB、及び所定のピクチャ時間間隔PTから求められる単位時間当たりのマクロブロック数に設定する(S2203)。本動作例では、単位時間を1秒に設定している。
NMB1≧PNMB/TQ3 ・・・(式34)
NMB2=PNMB/PT ・・・(式35)
次に、符号化パラメータ設定部2102は、符号化で用いる符号化方式のサブセット条件により符号化プロファイルを設定すると共に、ピクチャ時間間隔PT、符号化ピクチャサイズPSZ、ビットレート、及び第2の単位時間当たりのマクロブロック数NMB2を符号化する際の単位時間当たりの最大マクロブロック数に基づき、符号化レベルを設定する。
次に、符号化パラメータ設定部2102は、当該符号化プロファイル、当該符号化レベル、当該符号化ピクチャサイズPSZ、当該ビットレート、及び第1の時間間隔TQ1(本実施の形態では、MPEG-4 AVCにおけるHRDのCPB規定におけるclock tick)等に基づき、符号化パラメータを設定する。また、第1の単位時間当たりのマクロブロック数NMB1に基づく符号化レベル、及び第6の時間間隔TQ6を、例えば、MPEG-4 AVCの”Supplemental enhancement information”に準じた形式で符号化パラメータの付随情報として設定する(S2204)。
以下、下記条件2で符号化する場合について説明する。
(条件2)
ピクチャレート: 30Hz
ピクチャサイズ: 1280×720
符号化方式: MPEG−4 AVC
プロファイル: ベースラインプロファイル
ビットレート: 14Mbps(VCL基準)
上記(式25)、(式26)、及び上記条件2を前提とすると、ピクチャ時間間隔PT、第1の時間間隔TQ1、第2の時間間隔TQ2、第3の時間間隔TQ3、及び第6の時間間隔TQ6は、下記(式36)〜(式40)のように算出される。
PT=1/30秒 ・・・(式36)
TQ1=1/30×1/4=1/120秒 ・・・(式37)
TQ2=1/120×1=1/120秒 ・・・(式38)
TQ3=(1/30)−1/120=1/40秒 ・・・(式39)
TQ6=TQ2=1/120秒 ・・・(式40)
上記条件2のピクチャサイズから画面当たりのマクロブロック数は3600である。所定の符号化ピクチャサイズのマクロブロック数PNMB、及び第3の時間間隔TQ3から求められる第1の単位時間当たりのマクロブロック数NMB1は、下記(式41)になる。ここでは、第1の単位時間当たりのマクロブロック数NMB1を、求められるマクロブロック数と等しい値に設定している。
NMB1=3600/(1/40)=毎秒144000マクロブロック ・・・(式41)
また、所定の符号化ピクチャサイズのマクロブロック数PNMB、及び所定のピクチャ時間間隔PTから求められる、第2の単位時間当たりのマクロブロック数NMB2は、下記(式42)になる。
NMB2=3600/(1/30)=毎秒108000マクロブロック ・・・(式42)
以上から、符号化パラメータ設定部2102は、上記条件2、及び第2の単位時間当たりのマクロブロック数NMB2に対応する符号化レベルとしてレベル3.1を設定する。そして、符号化パラメータ設定部2102は、符号化プロファイル、符号化レベル、符号化ピクチャサイズPSZ、ビットレート、及び第1の時間間隔TQ1(本実施の形態では、MPEG-4 AVCにおけるHRDのCPB規定におけるclock tick)等に基づき、符号化パラメータを設定する。
また、符号化パラメータ設定部2102は、条件2、及び第1の単位時間当たりのマクロブロック数NMB1に対応する符号化レベルとしてレベル3.2、及び第6の時間間隔TQ6を、MPEG-4 AVCの”Supplemental enhancement information”に準じた形式で符号化パラメータの付随情報として設定する(ステップS2204)。
符号化制御部2105は、所定のピクチャ時間間隔PTで、符号化順に順次、ピクチャごとに算出した時刻として、現ピクチャのピクチャ復号時刻を設定する(S2205)。図11に示す例では、ピクチャP1の場合にピクチャ復号時刻を時刻t1に設定する。以降、ピクチャP2の場合に時刻t2を、ピクチャP3の場合に時刻t3を、及びピクチャP4の場合に時刻t4をそれぞれ設定する。なお、図11には描いていなが、ピクチャP5の場合に時刻t5を、及びピクチャP6の場合に時刻t6を設定する。
符号化制御部2105は、前ピクチャにおいて、後続するステップS2216で「次ピクチャのピクチャスキップ指示」が設定されている場合(S2206のY)、現ピクチャをピクチャスキップすると共に、次ピクチャのピクチャスキップ指示を解除して(S2207)、ステップS2205に戻る。
符号化制御部2105は、前ピクチャにおいて、後続するステップS2216で「次ピクチャのピクチャスキップ指示」が設定されていない場合(S2206のN)、すなわち、「次ピクチャのピクチャスキップ指示」が解除されている場合、ステップS2208に進む。
図11に示す例では、現ピクチャP5の前ピクチャP4の処理において、ステップS2216で「次ピクチャのピクチャスキップ指示」が設定されたため、ステップS2206からステップS2207に進み、ステップS2207でピクチャスキップされる。したがって、図11中にピクチャP5の表記はない。
符号化制御部2105は、現ピクチャの復号直前の仮想復号バッファ蓄積量を最大として、例えば、過去の仮想復号バッファ推移に基づきピクチャ目標符号量を算出する(S2208)。
図11では、ピクチャP1のピクチャ復号時刻t1直前の仮想復号バッファ蓄積量はdb1であり、ピクチャP2のピクチャ復号時刻t2直前の仮想復号バッファ蓄積量はdb2である。ピクチャP1の場合、仮想復号バッファ蓄積量db1を最大として目標符号量を算出する。ピクチャP2の場合、仮想復号バッファ蓄積量db2を最大としてピクチャ目標符号量を算出する。
符号化パラメータ設定部2102は、符号化パラメータを符号化するか否か判断する(S2209)。例えば、30ピクチャごとに符号化パラメータを符号化すると判断し、それ以外のタイミングでは符号化しないと判断する。符号化パラメータを符号化すると判断した場合(S2209のY)、符号化パラメータ設定部2102は、符号化パラメータを符号化して(S2210)、その後、ステップS2211に進む。符号化パラメータを符号化しないと判断した場合(S2209のN)、ステップS2210をスキップし、ステップS2211に進む。
符号化部2103は、現ピクチャをブロック分割して、ステップS2208で設定されたピクチャ目標符号量に応じて、ピクチャ内符号化、もしくはピクチャ間符号化して、符号化ピクチャを生成する(S2211)。この際、ステップS2205で設定されたピクチャ復号時刻を第6の時間間隔TQ6だけ一律に遅延させたピクチャ復号時刻を、符号化ピクチャに付随する補助情報として符号化する。MPEG-4 AVCで規定する”Picture timing SEI message”に従い符号化する。
仮想復号バッファ演算部2104は、現ピクチャのピクチャ復号時刻において、ピクチャ復号直後の仮想復号バッファ蓄積量を演算する(S2212)。当該蓄積量が負ならば(S2212のY)、アンダーフロー発生と判断してステップS2213に進み、当該蓄積量がゼロ以上ならば(S2212のN)、アンダーフロー発生なしと判断して、ステップS2213〜S2216をスキップして、ステップS2217に進む。
図11では、ピクチャ復号時刻t1におけるピクチャ復号直後の仮想復号バッファ蓄積量da1はゼロ以上なので、ピクチャP1にアンダーフローは発生しないと判断する。また、ピクチャ復号時刻t2におけるピクチャ復号直後の仮想復号バッファ蓄積量da2は負であるため、ピクチャP2にはアンダーフローが発生すると判断する。
アンダーフローが発生した場合(S2212のY)、仮想復号バッファ演算部2104は、第1の時間間隔TQ1刻みで、現ピクチャのピクチャ復号直後の仮想復号バッファ蓄積量がゼロ以上となる最初の時刻を、第1の時刻として設定する(S2213)。
図11において、ピクチャ復号時刻t2においてアンダーフロー発生後、ピクチャP2のピクチャ復号直後の仮想復号バッファ蓄積量がゼロ以上となる最初の時刻は、時刻t2.1である。したがって、ピクチャP2における第1の時刻を時刻t2.1と設定する。同様に、ピクチャ復号時刻t4においてアンダーフロー発生後、ピクチャP4のピクチャ復号直後の仮想復号バッファ蓄積量がゼロ以上となる最初の時刻は、時刻t4.2である。したがって、ピクチャP4における第1の時刻を時刻t4.2と設定する。
仮想復号バッファ演算部2104は、現ピクチャのピクチャ復号時刻から第1の時刻までの時間間隔を、第4の時間間隔TQ4として算出する(S2214)。図11において、ピクチャP2の場合、現ピクチャのピクチャ復号時刻である時刻t2から第1の時刻である時刻t2.1までの時間間隔が第4の時間間隔TQ4である。上記条件2に基づく場合、ピクチャP2における第4の時間間隔TQ4(P2)は、下記(式43)となる。
TQ4(P2)=t2.1−t2=TQ1=1/120秒 ・・・(式43)
同様に、ピクチャP4の場合、現ピクチャのピクチャ復号時刻t4から第1の時刻である時刻t4.2までの時間間隔が第4の時間間隔TQ4である。上記条件2に基づく場合、ピクチャP4における第4の時間間隔TQ4(P4)は、下記(式44)となる。
TQ4(P2)=t4.2−t4=2×TQ1=1/60秒 ・・・(式44)
符号化制御部2105は、第4の時間間隔TQ4と第2の時間間隔TQ2とを比較し(S2215)、前者が後者を超える場合(S2215のN)、ステップS2216に進み、前者が後者以下の場合(S2215のY)、ステップS2216をスキップして、ステップS2217に進む。
図11において、上記(式43)、(式38)から、ピクチャP2の第4の時間間隔TQ4は1/120秒、及び第2の時間間隔TQ2は1/120秒である。ピクチャP2の第4の時間間隔TQ4は第2の時間間隔TQ2以下であるため、ピクチャP2の場合、ステップS2217に進む。上記(式44)、(式38)から、ピクチャP4の第4の時間間隔TQ4は1/60秒、及び第2の時間間隔TQ2は1/120秒である。ピクチャP4の第4の時間間隔TQ4は第2の時間間隔TQ2を超えるため、ピクチャP4の場合、ステップS2216に進む。
第4の時間間隔TQ4が第2の時間間隔TQ2を超える場合(S2215のN)、符号化制御部2105は、次ピクチャを符号化せずにピクチャスキップするように「次ピクチャのピクチャスキップ指示」を設定して(S2216)、ステップS2217に進む。図11では、ピクチャP4に、「次ピクチャのピクチャスキップ指示」を設定する。
符号化制御部2105は、動画像の符号化処理を終了するか否かを判定する(S2217)。例えば、外部からの符号化処理終了コマンドの入力により判断することができる。符号化を終了しない場合(S2217のN)、ステップS2205に戻り、符号化を終了する場合(S2217のY)、一連の処理を終了する。
図12は、図11のステップS2211において符号化ピクチャの付随情報として符号化したピクチャ復号時刻を、第6の時間間隔TQ6だけ一律に遅延させた遅延ピクチャ復号時刻を用いた場合の、仮想復号バッファの蓄積量推移を示す図である。
図11では、ピクチャ復号時刻t2においてアンダーフロー発生後、ピクチャP2のピクチャ復号直後の仮想復号バッファ蓄積量がゼロ以上となる最初の時刻t2.1で復号が完了する。ピクチャP2における第4の時間間隔TQ4(P2)は、TQ4(P2)=TQ1≦TQ2であるため、所定のピクチャサイズPSZの符号化ピクチャを第3の時間間隔TQ3で復号するに必要な、第1の単位時間当たりのマクロブロック数NMB1に適合して復号可能ならば、正常に復号できる。
しかしながら、ピクチャサイズPSZの符号化ピクチャを所定のピクチャ間隔PTで復号するに必要な第2の単位時間当たりのマクロブロック数NMB2に適合して復号可能ではあるが、第1の単位時間当たりのマクロブロック数NMB1に適合して復号できない場合、正常に復号できない。
これに対して、図12に示すように符号化ピクチャの付随情報であるピクチャ復号時刻を、第6の時間間隔TQ6だけ一律に遅延させた遅延ピクチャ復号時刻を、復号する際のピクチャ復号時刻として用いることで、第2の単位時間当たりのマクロブロック数NMB2に適合して復号可能であれば、正常に復号できる。例えば、実施の形態2に係る符号化において、アンダーフローが発生したが、第4の時間間隔TQ4が第2の時間間隔TQ2以下の場合、次ピクチャを所定のピクチャ時間間隔PTに従うピクチャ復号時刻で復号すれば、正常に復号できる。
実施の形態2に係る画像符号化装置2100により符号化された符号化ストリームは、既存の画像復号装置でも、MPEG-4 AVCで規定する”Sequence Parameter Set”に従う符号化パラメータ中の符号化プロファイル、符号化レベルの条件に適合していれば、復号することができる。ここでは、既存の画像復号装置ではなく、別の形態に係る画像復号装置(実施の形態2に係る画像復号装置)について説明する。
図13は、実施の形態2に係る画像復号装置2500の構成を示すブロック図である。画像復号装置2500は、分離部2501、符号化パラメータ復号部2502、復号制御部2503、及びピクチャ復号部2504を備える。
分離部2501は、伝送されてくる符号化ストリームから符号化パラメータの情報を分離して、符号化パラメータ復号部2502に出力し、その情報が分離された後の各符号化ピクチャをピクチャ復号部2504に出力する。当該符号化ストリームは、実施の形態2に係る画像符号化装置2100により生成され、伝送されたものである。
符号化パラメータ復号部2502は、分離部2501から入力される符号化パラメータの情報を復号して、復号制御部2503に出力する。
復号制御部2503は、符号化パラメータ復号部2502から入力される符号化パラメータが示す、符号化プロファイル、符号化レベル、ピクチャ時間間隔、ピクチャサイズ、復号に必要なメモリ、ビットレート等を参照して、種々の符号化条件に適応して復号するようにピクチャ復号部2504を制御する。
復号制御部2503は、符号化パラメータが示す符号化プロファイルと符号化レベルに適合して、入力された符号化ストリームが復号可能か否かを判定する。復号可能であれば、ピクチャ復号部2504に順次、符号化ピクチャを復号するよう制御し、復号可能でなければ、一連の処理を終了する。その際、復号不可である旨をユーザに画像表示してもよい。
復号制御部2503は、ピクチャ復号部2504に対し、例えば、符号化プロファイルに準拠した符号化方式のサブセットに適応して復号するよう制御したり、符号化レベルに準拠したピクチャ当たりの最大マクロブロック数、単位時間当たりの最大マクロブロック数、最大ビットレート、及び復号に必要なメモリに適応して復号するよう制御したり、並びにピクチャ時間間隔PT、ピクチャサイズPSZに適応して復号するよう制御したりする。
また、復号制御部2503は、MPEG-4 AVCの”Supplemental enhancement information”に準じた形式による符号化パラメータの付随情報から取得される第1の単位時間当たりのマクロブロック数NMB1に基づく符号化レベルに応じて、入力された符号化ストリームが復号可能か否かを判定する。復号可能であれば、ピクチャ復号部2504に対して、各ピクチャのピクチャ復号時刻を、最大で第6の時間間隔TQ6、早めるよう制御する。復号可能でなければ、各ピクチャのピクチャ復号時刻に従うよう制御する。
ピクチャ復号部2504は、所定の圧縮符号化規格(本実施の形態では、MPEG-4 AVC)に準拠し、復号制御部2503からの制御に従い、分離部2501から入力される各符号化ピクチャを逐次復号して動画像を出力する。その際、復号制御部2503からの制御に応じて、各ピクチャのピクチャ復号時刻を最大で第6の時間間隔TQ6、一律に早めた繰上ピクチャ復号時刻に従うタイミングで、もしくは、各ピクチャのピクチャ復号時刻に従うタイミングで、逐次復号して動画像を出力する。
また、ピクチャ復号時刻において符号化ピクチャの蓄積が不完全な場合、すなわち、符号化ピクチャの復号において、ピクチャ復号部2504内の入力段に含まれる符号バッファ2505がアンダーフローする場合、次のように処理する。すなわち、ピクチャ復号部2504は、ピクチャ復号時刻以降、符号化パラメータから得られるclock tickの時間間隔(本実施の形態では、第1の時間間隔TQ1)ごとに、符号バッファ2505のアンダーフローが解消して符号化ピクチャの蓄積が完全か否か確認する。そして、符号化ピクチャの蓄積が完全となりしだい復号を開始する。
図14は、実施の形態2に係る画像復号装置2500による復号処理を説明するためのフローチャートである。分離部2501は、入力される符号化ストリームから符号化パラメータを分離して符号化パラメータ復号部2502に出力し、符号化パラメータ復号部2502は、当該符号化パラメータを復号する(S2601)。
復号制御部2503は、復号された符号化パラメータが示す符号化プロファイルと符号化レベル、及びMPEG-4 AVC ”Supplemental enhancement information”に準じた形式による符号化パラメータの付随情報から得られる第1の単位時間当たりのマクロブロック数NMB1に基づく符号化レベルに適合して、入力された符号化ストリームが復号可能か否かを判定する(S2602)。復号可能な場合(S2602のY)、ステップS2603に進み、復号できない場合(S2602のN)、一連の処理を終了する。
復号可能な符号化ストリームピクチャの場合(S2602のY)、復号制御部2503は、復号された符号化パラメータが示す種々の符号化条件に適応して復号するように復号条件を設定する(S2603)。次に、符号化パラメータ復号部2502は、各符号化ピクチャに付随する補助情報(本実施の形態では、MPEG-4 AVCで規定するPicture timing SEI message)からピクチャ復号時刻を示す情報を取得して、ピクチャ復号時刻を復号する(S2604)。
復号制御部2503は、復号されたピクチャ復号時刻を第6の時間間隔TQ6だけ一律に早めた繰上ピクチャ復号時刻を設定する(S2605)。ピクチャ復号部2504は、符号化パラメータに基づき得られるclock tickの時間間隔(本実施の形態では、第1の時間間隔TQ1)ごとに管理して、復号制御部2503により設定された繰上ピクチャ復号時刻となるまで待機する(S2606)。
復号制御部2503は、復号すべき符号化ピクチャの蓄積が完全か否かを判断する(S2607)。完全でない場合(S2607のN)、ピクチャ復号部2504は、符号化パラメータに基づき得られるclock tickの時間間隔(本実施の形態では、第1の時間間隔TQ1)、待機して(S2608)、ステップS2607に戻る。符号化ピクチャの蓄積が完全な場合(S2607のY)、ピクチャ復号部2504は、符号化ピクチャを復号する(S2609)。
実施の形態2に係る符号化において、各符号化ピクチャに付随する補助情報からピクチャ復号時刻は、第6の時間間隔TQ6だけ一律に遅延させた遅延ピクチャ復号時刻であり、この遅延ピクチャ復号時刻に基づく仮想復号バッファの推移は、上記図12のようになる。これに対して、符号化ピクチャに付随する補助情報からピクチャ復号時刻を第6の時間間隔TQ6だけ一律に早めることで仮想復号バッファの推移は、上記図11のようになる。
上記図11において、ピクチャ復号時刻t2においてアンダーフロー発生後、ピクチャP2のピクチャ復号直後の仮想復号バッファ蓄積量がゼロ以上となる最初の時刻t2.1で復号が完了する。ピクチャP2における第4の時間間隔TQ4(P2)は、TQ4(P2)=TQ1≦TQ2であるため、所定のピクチャサイズPSZの符号化ピクチャを第3の時間間隔TQ3で復号するに必要な、第1の単位時間当たりのマクロブロック数NMB1に適合して復号可能なら正常に復号できる。
図14に戻る。復号制御部2503は、終了コマンド(例えば、MPEG-4 AVCにおける”end of stream”)の検出の有無により、一連の復号をすべて終了するか否かを判定する(S2610)。一連の復号がすべて終了していない場合(S2610のN)、ステップS2604に戻る。終了コマンドが検出された場合(S2610のY)、一連の復号を終了する。
以上説明した実施の形態2に係る符号化では、第4の時間間隔TQ4が第2の時間間隔TQ2以下の場合に次ピクチャを符号化するように制御する例を説明した。この点、第1の時刻から次ピクチャのピクチャ復号時刻までの時間間隔を第41の時間間隔TQ41とし、第41の時間間隔TQ41が第3の時間間隔TQ3以上の場合に次ピクチャを符号化するように制御してもよい。以下、より具体的に説明する。
図15は、実施の形態2の変形例に係る符号化処理を説明するためのフローチャートである。図15に示すフローチャートは、図10に示すフローチャートのステップS2214とS2215が異なる。図15に示すフローチャートでは、仮想復号バッファ演算部2104は、第1の時刻から、現ピクチャの次ピクチャのピクチャ復号時刻までの時間間隔を、第41の時間間隔TQ41として算出する(S22141)。符号化制御部2105は、第3の時間間隔TQ3と第41の時間間隔TQ41とを比較し(S22151)、前者が後者を超える場合(S22151のN)、ステップS2216に進み、前者が後者以下の場合(S22151のY)、ステップS2216をスキップして、ステップS2217に進む。
図16は、実施の形態2の変形例に係る符号化処理における仮想復号バッファの蓄積量推移の一例を示す図である。図11と図16を比較すると、前者ではピクチャ復号時刻の遅延を、現ピクチャのピクチャ復号時刻を基準に規定し、後者は次ピクチャのピクチャ復号時刻を基準に規定したものである。
以上説明したように実施の形態2によれば、所定のピクチャ時間間隔PT、所定のピクチャサイズPSZにおける各ピクチャの符号化において、仮想復号バッファのアンダーフローが発生しても、ピクチャ復号時刻から第2の時間間隔TQ2以内にアンダーフローが解消すれば、次ピクチャをピクチャスキップせずに符号化できる。第2の単位時間当たりのブロック数NMB2を示す情報を符号化すると共に、ピクチャ復号時刻を一律に第6の時間間隔TQ6だけ遅らせて符号化することにより、復号側が第2の単位時間当たりのブロック数NMB2以上で符号化ピクチャを復号できれば、復号側に、その符号化ストリームが復号可能であることを明示できる。
また、第6の時間間隔TQ6を示す情報、及び第1の単位時間当たりのブロック数NMB1を示す情報を符号化することで、復号側が第1の単位時間当たりのブロック数NMB1以上で符号化ピクチャを復号できれば、ピクチャ復号時刻を第6の時間間隔TQ6だけ早めても、復号側に、その符号化ストリームが復号可能であることを明示できる。なお、実施の形態2において、第1の単位時間当たりのブロック数NMB1に基づく符号化レベルを符号化パラメータの付随情報として設定するよう説明したが、第1の単位時間当たりのブロック数NMB1を符号化してもよい。この場合、復号側では、第1の単位時間当たりのブロック数NMB1で復号可能か否かを判断する。
さらに、第1の単位時間当たりのブロック数NMB1以上で符号化ピクチャを復号可能ならば、ピクチャ復号時刻を第6の時間間隔TQ6だけ遅延時間を短くしても、正常に復号できる。これにより、次ピクチャをピクチャスキップせずに符号化することで画像欠落を抑制することができる。したがって、ピクチャスキップに起因するピクチャ間符号化における符号化効率低下、及び画質低下を抑制することができる。また、所定のピクチャ時間間隔PTだけ遅延させる必要がないため、復号側の遅延を小さくすることができる。
このように、実施の形態2に係る画像符号化装置、及び画像復号装置によれば、第1の単位時間当たりのブロック数NMB1以上で復号可能ならば遅延時間を短くして復号できる。また、第2の単位時間当たりのブロック数NMB2でも復号可能とすることで復号対象の符号化ストリームを拡大できる。
以上、本発明をいくつかの実施の形態をもとに説明した。これらの実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
1100 画像符号化装置、 1101 時間間隔算出設定部、 1102 符号化パラメータ設定部、 1103 符号化部、 1104 仮想復号バッファ演算部、 1105 符号化制御部、 1400 画像復号装置、 1401 分離部、 1402 符号化パラメータ復号部、 1403 復号制御部、 1404 ピクチャ復号部、 1405 符号バッファ、 2100 画像符号化装置、 2101 時間間隔算出設定部、 2102 符号化パラメータ設定部、 2103 符号化部、 2104 仮想復号バッファ演算部、 2105 符号化制御部、 2500 画像復号装置、 2501 分離部、 2502 符号化パラメータ復号部、 2503 復号制御部、 2504 ピクチャ復号部、 2505 符号バッファ。

Claims (12)

  1. 動画像を、ピクチャレートを可変可能な規格にしたがい符号化する符号化部と、
    規定されたピクチャレートにしたがったピクチャ間の時間間隔で復号する場合に少なくとも必要な復号能力と、復号側に存在すべき仮想復号バッファの単位動作時間の倍数の時間間隔であって、かつ前記ピクチャ間の時間間隔より短い時間間隔で復号する場合に少なくとも必要な復号能力と、を含む符号化パラメータを前記符号化部に設定する符号化パラメータ設定部と、を備え、
    前記符号化部は、前記符号化パラメータを符号化して、前記動画像の符号化ストリーム内に挿入することを特徴とする画像符号化装置。
  2. 前記符号化パラメータ設定部は、
    前記仮想復号バッファの単位動作時間であり、かつ前記ピクチャ間の時間間隔の1/N(Nは2以上の整数)である第1の時間間隔と、
    前記第1の時間間隔のM倍(MはM<Nの整数)である第2の時間間隔と、
    前記ピクチャ間の時間間隔と前記第2の時間間隔との差である第3の時間間隔と、
    前記第2の時間間隔以上であり、前記ピクチャ間の時間間隔未満に設定される第5の時間間隔と、
    前記第3の時間間隔で復号可能な、所定ピクチャサイズのブロック数から求められる単位時間当たりのブロック数以上に設定される、第1の単位時間当たりのブロック数と、
    前記ピクチャ間の時間間隔で復号可能な、所定ピクチャサイズのブロック数から求められる単位時間当たりのブロック数以上に設定される、第2の単位時間当たりのブロック数と、を前記符号化部に設定し、
    前記符号化部は、
    前記第1の単位時間当たりのブロック数を示す情報と、
    前記第2の単位時間当たりのブロック数を示す情報と、
    前記第5の時間間隔を示す情報と、
    前記ピクチャ間の時間間隔に対応する各ピクチャのピクチャ復号時刻を示す情報と、を少なくとも前記符号化パラメータに含めるべき情報として符号化することを特徴とする請求項1に記載の画像符号化装置。
  3. 前記符号化パラメータ設定部は、
    前記仮想復号バッファの単位動作時間であり、かつ前記ピクチャ間の時間間隔の1/N(Nは2以上の整数)である第1の時間間隔と、
    前記第1の時間間隔のM倍(MはM<Nの整数)である第2の時間間隔と、
    前記ピクチャ間の時間間隔と前記第2の時間間隔との差である第3の時間間隔と、
    前記第2の時間間隔以上であり、前記ピクチャ間の時間間隔未満に設定される第6の時間間隔と、
    前記第3の時間間隔で復号可能な、所定ピクチャサイズのブロック数から求められる単位時間当たりのブロック数以上に設定される、第1の単位時間当たりのブロック数と、
    前記ピクチャ間の時間間隔で復号可能な、所定ピクチャサイズのブロック数から求められる単位時間当たりのブロック数以上に設定される、第2の単位時間当たりのブロック数と、を前記符号化部に設定し、
    前記符号化部は、
    前記第1の単位時間当たりのブロック数を示す情報と、
    前記第2の単位時間当たりのブロック数を示す情報と、
    前記第6の時間間隔を示す情報と、
    前記第6の時間間隔遅延させた、前記ピクチャ間の時間間隔に対応する各ピクチャのピクチャ復号時刻を示す情報と、を少なくとも前記符号化パラメータに含めるべき情報として符号化することを特徴とする請求項1に記載の画像符号化装置。
  4. 前記符号化部から取得される各ピクチャの符号量に基づき、前記第1の時間間隔ごとの前記仮想復号バッファの蓄積量の推移を算出する仮想復号バッファ演算部と、
    現ピクチャの復号直後における前記仮想復号バッファの蓄積量が負の場合、前記第1の時間間隔単位で、前記蓄積量がゼロ以上となる最初の時刻を第1の時刻として算出し、前記現ピクチャのピクチャ復号時刻から前記第1の時刻までの第4の時間間隔を算出する符号化制御部と、をさらに備え、
    前記符号化制御部は、前記第4の時間間隔が前記第2の時間間隔以下の場合、前記現ピクチャの次ピクチャを符号化し、前記第4の時間間隔が前記第2の時間間隔を超える場合、前記次ピクチャをスキップするよう前記符号化部を制御することを特徴とする請求項2または3に記載の画像符号化装置。
  5. 前記符号化部から取得される各ピクチャの符号量に基づき、前記第1の時間間隔ごとの前記仮想復号バッファの蓄積量の推移を算出する仮想復号バッファ演算部と、
    現ピクチャの復号直後における前記仮想復号バッファの蓄積量が負の場合、前記第1の時間間隔単位で、前記蓄積量がゼロ以上となる最初の時刻を第1の時刻として算出し、前記第1の時刻から、前記現ピクチャの次ピクチャのピクチャ復号時刻までの第4−1の時間間隔を算出する符号化制御部と、をさらに備え、
    前記符号化制御部は、前記第4−1の時間間隔が前記第3の時間間隔以上の場合、前記次ピクチャを符号化し、前記第4−1の時間間隔が前記第3の時間間隔未満の場合、前記次ピクチャをスキップするよう前記符号化部を制御することを特徴とする請求項2または3に記載の画像符号化装置。
  6. 動画像を、ピクチャレートを可変可能な規格にしたがい符号化する符号化ステップと、
    規定されたピクチャレートにしたがったピクチャ間の時間間隔で復号する場合に少なくとも必要な復号能力と、復号側に存在すべき仮想復号バッファの単位動作時間の倍数の時間間隔であって、かつ前記ピクチャ間の時間間隔より短い時間間隔で復号する場合に少なくとも必要な復号能力と、を含む符号化パラメータを設定する符号化パラメータ設定ステップと、を備え、
    前記符号化ステップは、前記符号化パラメータを符号化して、前記動画像の符号化ストリーム内に挿入することを特徴とする画像符号化方法。
  7. 前記符号化パラメータ設定ステップは、
    前記仮想復号バッファの単位動作時間であり、かつ前記ピクチャ間の時間間隔の1/N(Nは2以上の整数)である第1の時間間隔と、
    前記第1の時間間隔のM倍(MはM<Nの整数)である第2の時間間隔と、
    前記ピクチャ間の時間間隔と前記第2の時間間隔との差である第3の時間間隔と、
    前記第2の時間間隔以上であり、前記ピクチャ間の時間間隔未満に設定される第5の時間間隔と、
    前記第3の時間間隔で復号可能な、所定ピクチャサイズのブロック数から求められる単位時間当たりのブロック数以上に設定される、第1の単位時間当たりのブロック数と、
    前記ピクチャ間の時間間隔で復号可能な、所定ピクチャサイズのブロック数から求められる単位時間当たりのブロック数以上に設定される、第2の単位時間当たりのブロック数と、を設定し、
    前記符号化ステップは、
    前記第1の単位時間当たりのブロック数を示す情報と、
    前記第2の単位時間当たりのブロック数を示す情報と、
    前記第5の時間間隔を示す情報と、
    前記ピクチャ間の時間間隔に対応する各ピクチャのピクチャ復号時刻を示す情報と、
    を少なくとも前記符号化パラメータに含む情報として符号化することを特徴とする請求項6に記載の画像符号化方法。
  8. 前記符号化パラメータ設定ステップは、
    前記仮想復号バッファの単位動作時間であり、かつ前記ピクチャ間の時間間隔の1/N(Nは2以上の整数)である第1の時間間隔と、
    前記第1の時間間隔のM倍(MはM<Nの整数)である第2の時間間隔と、
    前記ピクチャ間の時間間隔と前記第2の時間間隔との差である第3の時間間隔と、
    前記第2の時間間隔以上であり、前記ピクチャ間の時間間隔未満に設定される第6の時間間隔と、
    前記第3の時間間隔で復号可能な、所定ピクチャサイズのブロック数から求められる単位時間当たりのブロック数以上に設定される、第1の単位時間当たりのブロック数と、
    前記ピクチャ間の時間間隔で復号可能な、所定ピクチャサイズのブロック数から求められる単位時間当たりのブロック数以上に設定される、第2の単位時間当たりのブロック数と、を設定し、
    前記符号化ステップは、
    前記第1の単位時間当たりのブロック数を示す情報と、
    前記第2の単位時間当たりのブロック数を示す情報と、
    前記第6の時間間隔を示す情報と、
    前記第6の時間間隔遅延させた、前記ピクチャ間の時間間隔に対応する各ピクチャのピクチャ復号時刻を示す情報と、を少なくとも前記符号化パラメータに含めるべき情報として符号化することを特徴とする請求項6に記載の画像符号化方法。
  9. 請求項2に記載の画像符号化装置により生成された符号化ストリームを復号する画像復号装置であって、
    前記第2の単位時間当たりのブロック数を示す情報、前記第5の時間間隔を示す情報、及び前記各ピクチャのピクチャ復号時刻の情報を復号する符号化パラメータ復号部と、
    前記第2の単位時間当たりのブロック数を復号する能力がある場合、各ピクチャのピクチャ復号時刻を少なくとも前記第5の時間間隔、遅延させる復号制御部と、
    を備えることを特徴とする画像復号装置。
  10. 請求項3に記載の画像符号化装置により生成された符号化ストリームを復号する画像復号装置であって、
    前記第1の単位時間当たりのブロック数を示す情報、前記第6の時間間隔を示す情報、及び前記各ピクチャのピクチャ復号時刻を示す情報を復号する符号化パラメータ復号部と、
    前記第1の単位時間当たりのブロック数以上で復号する能力がある場合、各ピクチャのピクチャ復号時刻を最大で前記第6の時間間隔、早める復号制御部と、
    を備えることを特徴とする画像復号装置。
  11. 請求項7に記載の画像符号化方法により生成された符号化ストリームを復号する画像復号方法であって、
    前記第2の単位時間当たりのブロック数を示す情報、前記第5の時間間隔を示す情報、及び前記各ピクチャのピクチャ復号時刻の情報を復号する符号化パラメータ復号ステップと、
    前記第2の単位時間当たりのブロック数で復号する能力がある場合、各ピクチャのピクチャ復号時刻を少なくとも前記第5の時間間隔、遅延させる復号制御ステップと、
    を備えることを特徴とする画像復号方法。
  12. 請求項8に記載の画像符号化方法により生成された符号化ストリームを復号する画像復号方法であって、
    前記第1の単位時間当たりのブロック数を示す情報、前記第6の時間間隔を示す情報、及び前記各ピクチャのピクチャ復号時刻を示す情報を復号する符号化パラメータ復号ステップと、
    前記第1の単位時間当たりのブロック数以上で復号する能力がある場合、各ピクチャのピクチャ復号時刻を最大で第6の時間間隔、早める復号制御ステップと、
    を備えることを特徴とする画像復号方法。
JP2010208188A 2010-09-16 2010-09-16 画像符号化装置、画像符号化方法、画像復号装置、及び画像復号方法 Pending JP2012065177A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010208188A JP2012065177A (ja) 2010-09-16 2010-09-16 画像符号化装置、画像符号化方法、画像復号装置、及び画像復号方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010208188A JP2012065177A (ja) 2010-09-16 2010-09-16 画像符号化装置、画像符号化方法、画像復号装置、及び画像復号方法

Publications (1)

Publication Number Publication Date
JP2012065177A true JP2012065177A (ja) 2012-03-29

Family

ID=46060428

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010208188A Pending JP2012065177A (ja) 2010-09-16 2010-09-16 画像符号化装置、画像符号化方法、画像復号装置、及び画像復号方法

Country Status (1)

Country Link
JP (1) JP2012065177A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015073154A (ja) * 2013-10-01 2015-04-16 株式会社リコー データ伝送システム、データ伝送プログラム及びデータ伝送方法
CN108111864A (zh) * 2012-07-02 2018-06-01 索尼公司 具有低延迟的视频编码系统及其操作方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108111864A (zh) * 2012-07-02 2018-06-01 索尼公司 具有低延迟的视频编码系统及其操作方法
JP2015073154A (ja) * 2013-10-01 2015-04-16 株式会社リコー データ伝送システム、データ伝送プログラム及びデータ伝送方法

Similar Documents

Publication Publication Date Title
US8804825B2 (en) Bi-pred mode decision in GOP architecture
US6057893A (en) Picture encoding method, picture encoding apparatus, picture transmitting method and picture recording medium
US20050169370A1 (en) Scalable MPEG video/macro block rate control
US6229849B1 (en) Coding device and method
US20080151998A1 (en) Method and Apparatus for Providing Rate Control for Panel-Based Real Time Video Encoder
EP1833256B1 (en) Selection of encoded data, setting of encoded data, creation of recoded data, and recoding method and device
US9479781B2 (en) Motion video encoding apparatus, motion video encoding method, and motion video encoding computer program
US8948242B2 (en) Encoding device and method and multimedia apparatus including the encoding device
KR101697456B1 (ko) 동화상 복호 장치 및 동화상 복호 방법
KR20140110221A (ko) 비디오 인코더, 장면 전환 검출 방법 및 비디오 인코더의 제어 방법
JP2005323386A (ja) 編集装置、編集方法、再符号化装置、再符号化方法、スプライシング装置及びスプライシング方法
JP4532980B2 (ja) 動画像符号化装置及び方法、並びにコンピュータプログラム及びコンピュータ可読記憶媒体
WO2014178984A1 (en) Methods and apparatuses including a statistical multiplexer with global rate control
JP2015171114A (ja) 動画像符号化装置
US20070147500A1 (en) Moving picture encoding method and apparatus
US8229000B2 (en) Moving image conversion method, moving image conversion apparatus, moving image conversion system, and server apparatus, and program
US6226326B1 (en) Coding device and coding method
JP2012065177A (ja) 画像符号化装置、画像符号化方法、画像復号装置、及び画像復号方法
US9648337B2 (en) Video image encoding device and video image encoding method
US20130287102A1 (en) Video image encoding device, video image encoding method, video image decoding device, and video image decoding method
Xu et al. Rate control for consistent visual quality of H. 264/AVC encoding
Pang et al. Model-based optimal dependent joint bit allocation of H. 264/AVC statistical multiplexing
US20140334552A1 (en) Image decoding device
WO2023277105A1 (ja) 仮想参照デコーダ装置、バッファ判定方法及びプログラム
JP2005072995A (ja) レート変換装置