説明

画像符号化装置

【課題】パイプライン処理の影響や動き探索方式の性質等により予測ベクトルが正確に算出できない場合、予測ベクトルを参照する動き探索処理やモード選択処理の精度が低下して符号化効率が著しく劣化するという問題があった。
【解決手段】符号化対象領域の周辺ブロックの動きベクトルを用いて所定の規則に応じて決定される符号化対象領域の予測ベクトルから、符号化対象領域の動きベクトルの探索開始点を決定し、探索開始点から動きベクトルの探索を開始する。また、予測ベクトルを算出する際に、符号化対象領域のサイズが取得できない場合には、符号化対象領域以外の符号化済み領域のサイズから符号化対象領域のサイズを決定して予測ベクトルを算出し、周辺ブロックの動きベクトルの少なくとも一つが取得できない場合には、符号化対象領域以外の符号化済み領域の動きベクトルから予測ベクトルを算出する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像を符号化する画像符号化装置に関する。
【背景技術】
【0002】
大容量の動画像情報をデジタルデータ化して記録、伝達する手法として、MPEG(Moving Picture Experts Group)方式等の符号化方式が策定されており、MPEG-1規格、MPEG-2規格、MPEG-4規格、H.264/AVC(Advanced Video Coding)規格等として国際標準の符号化方式となっている。これらの方式はデジタル衛星放送、DVD(Digital Versatile Disc)、携帯電話、デジタルカメラなどにおける符号化方式として採用されており、現在ますます利用の範囲が広がり、身近なものとなってきている。
【0003】
これらの規格では、符号化処理が完了した画像情報(以下、適宜「復号画像」という)を利用して符号化の対象である符号化対象画像(以下、単に「対象画像」という場合もある)をブロック単位で予測し、原画像との差分(以下、適宜「予測差分」という)を符号化することによって、動画像の持つ冗長性を除いて符号量を減らしている。特に、対象画像とは別の画像である参照画像を参照する画面間予測(フレーム間予測とも言われる)では、参照画像(復号画像)内において、対象画像の符号化対象ブロック(以下、「対象ブロック」という)と相関の高いブロック(以下、「参照ブロック」という)を指定することによって、高精度な予測を可能としている。その際、予測差分とは別に、対象ブロックの座標値と参照ブロックの座標値との差分として表される動きベクトルを符号化する。
【0004】
動きベクトルの符号化では、対象ブロックの周辺に位置するブロックの動きベクトルから対象ブロックの動きベクトルを予測し(以下、「予測ベクトル」という)、この予測ベクトルとの差分を符号化する(例えば、特許文献1)。予測ベクトルの値によっては、発生符号量が大きく異なるため、参照画像中から対象ブロックと相関の高い参照ブロックを探索するための動き探索処理や、最適な予測方法(画面内予測もしくは画面間予測)を決定するモード選択処理を行う際に、この差分値を参照して発生符号量を見積もることがある。さらに、動き探索の精度を高めるために、予測ベクトルの値を用いて探索開始点を決定することもある。
【0005】
また、近年、H.264/AVC等の標準規格に準拠した画像処理専用のLSIの開発が進んでいる(例えば、非特許文献1)。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2008−278091号公報
【非特許文献】
【0007】
【非特許文献1】“標準技術集(システムLSIのレイアウト)データベース:画像処理用LSI/データ圧縮用LSI”、[online]、日本国特許庁、[平成23年10月11日検索]、インターネット<URL:http://www.jpo.go.jp/shiryou/toushin/chousa/0007.html>
【発明の概要】
【発明が解決しようとする課題】
【0008】
ところで、標準規格に準拠して予測ベクトルを算出するためには、対象ブロックのブロックサイズ情報、および対象ブロックの周辺に位置するブロック(周辺ブロック)のサイズと動きベクトルの情報が必要である。しかし、例えばLSIによるハードウェア技術を用いてエンコーダを実現する場合など、符号化処理がパイプライン処理性能の影響を受ける場合、対象ブロックの符号化処理の途中では、周辺ブロックの符号化が未だ完了しておらず、周辺ブロックのブロックサイズや動きベクトルなどの必要な情報が取得できない場合がある。また、処理量削減のため、例えば細かいブロック単位で動き探索を行い、それらの探索結果に基づいて対象ブロックのブロックサイズを決定する場合は、動き探索を行う際に対象ブロックのサイズが決定していない場合もある。
【0009】
こういった場合は予測ベクトルが参照できなくなり、動き探索処理やモード選択処理の精度低下による符号化効率の著しい劣化を招くという問題があった。
【0010】
そこで、本発明は上記課題に鑑み、予測ベクトルの算出に必要な諸情報を適切に推定することにより、動き探索処理やモード選択処理の精度低下を回避することを可能とする画像符号化装置を提供することを目的とする。
【課題を解決するための手段】
【0011】
上記課題を解決するために、本発明の一態様によれば、符号化を行う対象画像内の領域である符号化対象領域の動きベクトルを探索し、前記符号化対象領域の動きベクトルに基づいて前記対象画像の画面間予測を行うことによって画像の符号化を行う画像符号化装置であって、予測される前記符号化対象領域の動きベクトルであって、前記符号化対象領域の周辺に位置する周辺ブロックの動きベクトルを用いてあらかじめ定められた所定の規則に応じて決定される動きベクトルである予測ベクトルから、前記符号化対象領域の動きベクトルの探索開始点を決定し、前記探索開始点から前記符号化対象領域の動きベクトルの探索を開始する動き探索部と、前記所定の規則に応じて前記予測ベクトルを算出する際に、前記符号化対象領域のサイズが取得できない場合には、前記対象画像内の前記符号化対象領域以外の符号化済み領域のサイズから前記符号化対象領域のサイズを決定して予測ベクトルを算出し、前記周辺ブロックの動きベクトルの少なくとも一つが取得できない場合には、前記対象画像内の前記符号化対象領域以外の符号化済み領域の動きベクトルから前記予測ベクトルを算出する予測ベクトル推定部と、前記動き探索部にて探索された前記符号化対象領域の動きベクトルと、前記予測ベクトルと、の差分値を符号化する可変長符号化部と、を有する画像符号化装置が提供される。
【0012】
この構成によれば、予測ベクトルを算出するために必要な情報が取得できないことにより予測ベクトルが参照できない場合でも、予測ベクトルの算出に必要な諸情報を適切に推定して予測ベクトルを算出することができる。これにより、動き探索処理やモード選択処理の精度低下を回避することができる。ひいては、符号化効率の低下を回避することが可能である。
【0013】
また、本発明の他の態様によれば、前記予測ベクトル推定部は、前記符号化対象領域のサイズが取得できない場合には、前記周辺ブロックのサイズ情報を用いて、あらかじめ定められた規則に従って、前記符号化対象領域のブロックサイズを決定するようになっていてもよい。
【0014】
この構成によれば、予測ベクトルを算出するために必要な符号化対象領域のサイズが取得できないことにより予測ベクトルが参照できない場合でも、予測ベクトルの算出に必要な諸情報を適切に推定して予測ベクトルを算出することができる。これにより、動き探索処理やモード選択処理の精度低下を回避することができる。ひいては、符号化効率の低下を回避することが可能である。
【0015】
また、本発明の他の態様によれば、前記予測ベクトル推定部は、前記周辺ブロックの動きベクトルの少なくとも一つが取得できない場合には、前記対象画像内の前記符号化対象領域以外の複数の符号化済み領域の動きベクトルの分散値に基づいて、前記複数の符号化済み領域の動きベクトルのうち、いずれの動きベクトルを用いて前記予測ベクトルを算出するかを決定するようになっていてもよい。
【0016】
この構成によれば、予測ベクトルを算出するために必要な周辺ブロックの動きベクトルの少なくとも一つが取得できないことにより予測ベクトルが参照できない場合でも、予測ベクトルの算出に必要な諸情報を適切に推定して予測ベクトルを算出することができる。これにより、動き探索処理やモード選択処理の精度低下を回避することができる。ひいては、符号化効率の低下を回避することが可能である。
【発明の効果】
【0017】
本発明の一態様によれば、予測ベクトルを算出するために必要な情報が取得できないことにより予測ベクトルが参照できない場合でも、予測ベクトルの算出に必要な諸情報を適切に推定して予測ベクトルを算出することができる。これにより、動き探索処理やモード選択処理の精度低下を回避することが可能である。
【図面の簡単な説明】
【0018】
【図1】H.264/AVCにおける動画像符号化処理について概念的に説明する図である。
【図2】H.264/AVCによる画面間予測処理について概念的に説明する図である。
【図3】H.264/AVCによる画面間予測において許容されるマクロブロックの分割パターンについて説明する図である。
【図4】H.264/AVCにおける予測ベクトルの計算方法について概念的に説明する図である。
【図5】予測ベクトルが正確に計算できない場合の一例について概念的に説明する図である。
【図6】本発明の一実施形態に係る画像符号化装置の構成の一例を示すブロック図である。
【図7】本発明の一実施形態に係る画像符号化装置における予測ベクトル推定部が対象ブロック内の小ブロックを統合するかどうかを判定する統合判定処理の一例を説明する図である。
【図8】本発明の一実施形態に係る画像符号化装置における予測ベクトル推定部が対象ブロック内の小ブロックを統合するかどうかを判定する統合判定処理の一例を説明する図である。
【図9】本発明の一実施形態に係る画像符号化装置における予測ベクトル推定部が統合判定結果に基づいてマクロブロック分割パターンを推定する方法の一例を示す図である。
【図10】本発明の一実施形態に係る画像符号化装置における予測ベクトル推定部が対象ブロック内において左上に位置する8×8ブロックの動きベクトルを符号化するための予測ベクトルを算出する方法の一例を示す図である。
【図11】本発明の一実施形態に係る画像符号化装置における予測ベクトル推定部が実行する処理手順の一例を示すフロー図である。
【発明を実施するための形態】
【0019】
以下、本発明の実施形態について、図面を参照して説明する。なお、以下の説明において参照する各図では、他の図と同等部分は同一符号によって示される。
【0020】
(H.264/AVCにおける符号化処理)
まず初めに、H.264/AVCにおける符号化処理と、その問題点について詳述する。
【0021】
H.264/AVCでは、符号化処理が完了した復号画像を利用して符号化の対象である符号化対象画像を予測し、この符号化対象画像と原画像との差分(予測差分)を符号化することによって、動画像の持つ冗長性を減らして符号量を削減している。また、H.264/AVCでは、動画像の局所的性質を利用するために、画像を細かく分割したブロック単位で予測が行われる。
【0022】
図1に示されるように、符号化処理は対象画像10に対して、矢印101で示されるラスタースキャンの順序に従い、16×16画素(横画素×縦画素。以下同様。)で構成されるマクロブロック(MB:MacroBlock)102単位で実行される。なお、図1に示される対象画像10において、網掛け部分はすでに符号化が完了した領域(既符号化領域)103を示し、それ以外の部分は符号化が完了していない領域(未符号化領域)104を示している。
【0023】
また、予測方式には、大別して画面内予測と画面間予測が存在する。図2は、H.264/AVCによる画面間予測処理の動作について概念的に説明する図である。画面間予測を行う際には、符号化対象画像10と同じ映像30に含まれる画像であって、符号化済みの別画像である復号画像(参照画像)20を参照し、対象画像10中の予測対象である対象ブロック102と相関の高い参照ブロック(予測画像)202を参照画像20中から探索する(動き探索)。このとき、両ブロックの差分として計算される予測差分に加えて、両ブロックの座標値の差分として表される動きベクトル(MV:Motion Vector)105を符号化する。
【0024】
一方、復号化の際には上記の逆の手順が行われる。すなわち、復号化された予測差分を参照画像20中の参照ブロック(予測画像)202に加算することにより、復号画像を取得できる。
【0025】
また、H.264/AVCでは、マクロブロックをさらに小さなサイズのブロックに分割し、この分割されたブロック単位で上記の画面間予測を行うことができる。図3は、画面間予測を行う際に許容されているマクロブロック102の分割パターンについて示す図である。すなわち、対象画像10中のすべてのマクロブロック102は、あらかじめ定義された4×4画素サイズから16×16画素サイズまでの分割パターンの中から最適なものを選択して予測を行うことが可能である。
【0026】
なお、マクロブロック102の分割パターンとは、具体的には、図3に示されるように、16×16、8×16、16×8、8×8、4×8、8×4、4×4画素サイズの分割パターンがあり得る。
【0027】
図4は、動きベクトルを符号化する際に必要な予測ベクトル(PMV:Predictive MV)について、概念的に説明する図である。対象ブロック102の動きベクトルは、符号化が完了している周辺ブロック(対象ブロックの左、上、右上のブロック)の動きベクトルMVA,MVB,MVCの中間値である予測ベクトルとの差分が符号化される(ただし、動きベクトルMVCが利用不可の場合は、対象ブロックの左上のブロックの動きベクトルMVDが代用される)。ここで、H.264/AVC規格では、動きベクトルを参照するブロックの位置を厳密に定めているが、対象ブロックの分割パターンによってその位置は異なる。
【0028】
また、動きベクトルは予測ベクトルとの差分値として符号化されるため、予測ベクトルの値によって発生符号量が大きく異なる。そのため、高い符号化効率を実現するためには、動き探索処理やモード選択処理時にこの予測ベクトルの値を参照して符号量を見積もることが必要である。
【0029】
図5は、動き探索処理やモード選択処理時に予測ベクトルが算出できない場合の2つの例について示す図である。1つ目の例は、以下のような場合である。例えば、最初に細かいブロック単位で動き探索を行い、その探索結果に基づいて対象ブロックの分割パターンを決定するエンコーダなどでは、動き探索処理時に対象ブロック102のサイズが決定していないことがある(図5(1))。
【0030】
また、2つ目の例は、以下のような場合である。エンコーダをLSI実装する際など、パイプライン処理の影響を受ける場合には、符号化処理の途中段階では周辺ブロックの符号化が完了しておらず、参照すべき周辺ブロックの動きベクトルが決定していないことがある(図5(2))。
【0031】
そこで、本実施形態に係る画像符号化装置は、このような予測ベクトルが算出できない2つのパターンに対処することを可能とするものである。
【0032】
(画像符号化装置の構成)
図6は、本実施形態に係る画像符号化装置の構成例を示したものである。画像符号化装置1は、図6に示されるように、入力画像メモリ210と、ブロック分割部211と、画面内予測部213と、動き探索部212と、画面間予測部214と、モード選択部215と、減算部216と、周波数変換部217と、量子化処理部218と、可変長符号化部219と、逆量子化処理部220と、逆周波数変換部221と、加算部222と、参照画像メモリ223と、予測ベクトル推定部224とを有する。
【0033】
入力画像メモリ210は、入力された原画像40を保持する。ブロック分割部211は、原画像40を所定の大きさの小領域に分割する。画面内予測部213は、ブロック分割部211で分割されたブロック単位で画面内予測を行う。画面間予測部214は、動き探索部212にて検出された動き量(動きベクトル)に基づいてブロック単位で画面間予測を行う。モード選択部215は、画像の性質に合致する予測モード(予測方法およびブロックサイズ)を決定する。
【0034】
減算部216は、予測差分を生成する。周波数変換部217および量子化処理部218は、生成された予測差分に対して符号化を行う。可変長符号化部219は、符号の発生確率に応じた適応的符号化を行う。逆量子化処理部220および逆周波数変換部221は、周波数変換部217および量子化処理部218で符号化された予測差分を復号化する。加算部222は、復号化された予測差分を用いて復号画像を生成する。参照画像メモリ223は、生成された復号画像を保持して後の画面内予測または画面間予測に使用するためのメモリである。予測ベクトル推定部224は、予測ベクトルを推定する。
【0035】
なお、図6に示される構成のうち、予測ベクトル推定部224以外の構成においては、従来の画面内予測もしくは画面間予測における処理とほぼ同様の処理が実行される。ただし、動き探索部212とモード選択部215においては、予測ベクトル推定部224の出力に応じて処理を実行する。これら以外の構成の機能については公知の技術であるので、ここでは、簡単に説明する。
【0036】
入力画像メモリ210は、原画像40に含まれる画像のうち一枚の画像を符号化対象画像10として保持する。また、この符号化対象画像10は、ブロック分割部211にて細かいブロックに分割され、動き探索部212、画面内予測部213、および画面間予測部214に出力される。
【0037】
動き探索部212では、参照画像メモリ223に格納されている復号化済みの復号画像(参照画像20)を用いて、対象ブロック102の動き量を計算し、動きベクトルを画面間予測部214に出力する。また、画面内予測部213および画面間予測部214では、それぞれ画面内予測処理および画面間予測処理をいくつかの大きさのブロック単位で実行し、モード選択部215にて最適な予測モードを選んで、画面内予測もしくは画面間予測のいずれかを選択する。
【0038】
続いて、減算部216では、モード選択部215で選択された最適な予測符号化手段(画面内予測部213または画面間予測部214)による予測差分を生成し、周波数変換部217に渡す。周波数変換部217および量子化処理部218では、送られてきた予測差分に対して、指定された大きさのブロック単位でそれぞれDCT(離散コサイン変換)などの周波数変換および量子化処理を行い、可変長符号化部219および逆量子化処理部220に出力する。可変長符号化部219では、量子化済みの変換係数や動きベクトルなどのヘッダ情報について、符号の発生確率に基づき符号化を行って符号化ストリーム50を生成する。
【0039】
また、逆量子化処理部220および逆周波数変換部221では、量子化後の周波数変換係数に対して、それぞれ逆量子化および逆DCTなどの逆周波数変換を施し、予測差分を取得して加算部222に出力する。続いて、加算部222では、モード選択部215から出力される予測画像と、逆周波数変換部221から出力される復号化済みの予測差分とを加算して復号画像(参照画像20)を生成する。そして、生成された復号画像は、参照画像メモリ223に格納される。
【0040】
予測ベクトル推定部224は、H.264/AVC規格に準じて予測ベクトルを算出するための情報が取得できない場合に、これらの情報を推定して、予測ベクトルを算出する。なお、動き探索部212とモード選択部215では、予測ベクトル推定部224が推定した予測ベクトルの値を用いて符号量予測や探索開始点、モード選択の決定を行う。
【0041】
上記説明した画像符号化装置1は、例えば、非特許文献1に記載の画像処理用LSIによって実現可能である。もしくは、図示しないCPU(Central Processing Unit)、RAM(Random Access Memory)等のメモリ、ハードディスク等の記憶装置、ネットワークインタフェース等の一般的なコンピュータの構成と同様の構成によりも実現可能である。つまり、画像符号化装置1の各構成の機能は、例えば、CPUがハードディスク等に記憶されているプログラムを読み出して実行することにより、もしくは、例えば、FPGA(Field Programmable Gate Array)においてシーケンサロジックをカスタム設計することによっても実現可能である。
【0042】
本実施形態に係る画像符号化装置1は、図5を用いて上述したように、対象ブロックのサイズが未確定である場合や参照すべき周辺ブロックの動きベクトルが決定していない場合に、予測ベクトル推定部224において、予測ベクトルの算出に必要な情報を予測して予測ベクトルを算出する点が特徴である。以下、予測ベクトル推定部224が実行する処理について詳細に説明する。
【0043】
(対象ブロックのサイズが未確定である場合)
図5(1)のように、対象ブロック102のサイズが未確定である場合、予測ベクトル推定部224は、マクロブロックの分割パターンを推定して対象ブロック102のサイズを見積もることにより、予測ベクトルの算出を可能とする。
【0044】
図7は、予測ベクトル推定部224が、符号化が完了している周辺ブロックの分割パターンを参照して対象ブロック102内の小ブロックを統合するかどうかの判定(統合判定)を行う手順について、その一例を説明する図である。ここでは、あらかじめ定められた基準(以下、「統合判定基準」という)に従って統合判定を繰り返すことにより、最終的なブロック分割パターンを推定する。また、同図は、対象ブロック102の左に隣接するマクロブロック111と上に隣接するマクロブロック112とを参照する場合の例について示している。本例では、理解を容易なものとするために、8×8サイズの小ブロックを用いて統合判定を行う場合について示す。
【0045】
なお、H.264/AVC規格の場合、小ブロックのサイズは、4×4としても良いし、H.264/AVC以外の規格を用いる場合、すなわち、その規格においてマクロブロックに相当する小ブロック群のサイズが16×16以外の場合には、2×2や16×16など、どのようなサイズを用いても良い。
【0046】
本例では、対象ブロック102の上2つの小ブロック(1)と(2)を統合するかどうかを判定するには、対象ブロック102の左隣接マクロブロック111の上2つの小ブロックaとbの組、および、上隣接マクロブロック112の下2つの小ブロックgとhの組の少なくとも一組が、統合されているかどうかを確認すればよい。これらのうち少なくとも一組が統合されている場合には、対象ブロック102の小ブロック(1)と(2)とを統合すると判定する。
【0047】
また、小ブロック(3)と(4)の統合については、対象ブロック102の左隣接マクロブロック111の上2つの小ブロックcとdが統合されていれば、小ブロック(3)と(4)とを統合すると判定する。
【0048】
同様に、対象ブロック102の左2つの小ブロック(1)と(3)を統合するかどうかを判定するには、左隣接マクロブロック111の右2つの小ブロックbとdの組、および、上隣接マクロブロック112の下2つの小ブロックeとgの組の少なくとも一組が、統合されているかどうかを確認すればよい。
【0049】
これらのうち少なくとも一組が統合されている場合には、対象ブロック102の小ブロック(1)と(3)とを統合すると判定する。また、小ブロック(2)と(4)の統合については、対象ブロック102の上隣接マクロブロック112の右2つの小ブロックfとhが統合されていれば、小ブロック(2)と(4)とを統合すると判定する。
【0050】
ただし、図7の例はあくまで一例であり、統合判定基準301は周辺ブロックを参照していればどのようなものでもよく、参照するマクロブロックの位置も問わない。
【0051】
図8は、左隣のマクロブロック111に対する符号化が未完了の場合などの理由により利用できない場合に、予測ベクトル推定部224が、対象ブロック102の上に隣接するマクロブロック112のみを参照して統合判定を行う手順について、その一例を説明する図である。
【0052】
図8の統合判定基準302では、小ブロックgとhが統合されている場合には、対象ブロック102の小ブロック(1)と(2)、小ブロック(3)と(4)とを統合すると判定する。また、小ブロックeとgが統合されている場合には、対象ブロック102の小ブロック(1)と(3)が、小ブロックfとhが統合されている場合には、対象ブロック102の小ブロック(2)と(4)とを統合すると判定する。
【0053】
図8の例についても、あくまで一例であり、統合判定基準302はどのようなものでもよく、参照するマクロブロックの位置も問わない。
【0054】
図9は、統合判定結果に基づいてマクロブロック(MB)分割パターンを推定する方法について、一例を示している。8×8サイズの小ブロックを用いて統合判定を行った場合、マクロブロックの分割パターンは、図9に示されるように、16×16(ブロック411)、16×8(ブロック412)、8×16(ブロック413)、8×8(ブロック414)の4種類となる。
【0055】
統合判定の結果、例えば対象ブロックの上2つの小ブロック(1)と(2)、および下2つの小ブロック(3)と(4)とが統合された場合(対象ブロック311)は、最も近い分割パターンは16×8(ブロック412)であるため、この分割パターンが選択される。
【0056】
しかし、例えば対象ブロックの上2つの小ブロック(1)と(2)、および右2つの小ブロック(2)と(4)とが統合された場合(対象ブロック312)は、最も近い分割パターンとして、16×8(ブロック412)、8×16(ブロック413)、8×8(ブロック414)が存在する。この場合、ビットレートや量子化パラメータ、周辺ブロックの動きベクトルなど別の符号化パラメータを参照するなどして、いずれか一つに決定する。例えば、ビットレートが高い場合にはより細かいブロックサイズを有する分割パターン(例えば、8×8(ブロック414))を選ぶようにすると効果的である。
【0057】
また、予測ベクトル推定部224は、例えば、図7〜図9にて説明したように対象ブロック102のブロックサイズを決定し、決定したブロックサイズを用いて予測ベクトルを算出する。
【0058】
(参照すべき周辺ブロックの動きベクトルが決定していない場合)
続いて、図5(2)のように、参照すべき周辺ブロックの動きベクトルが決定していない場合の予測ベクトルの算出方法について説明する。上述したように、予測ベクトルを算出する際に参照するようH.264/AVC標準規格で定められている周辺ブロックに対する符号化処理が未完了であるために、周辺ブロックの動きベクトル情報が得られない場合がある。
【0059】
その場合、本例では、予測ベクトル推定部224は、対象ブロックの周辺に位置する周辺ブロックの参照可能な動きベクトルを複数参照してそれらの分散値を計算する。そして、その分散値に基づいて、動きベクトル情報が得られない周辺ブロック(以下、「参照不可ブロック」という)の代わりに参照するブロック(以下、「代替ブロック」という)を決定し、代替ブロックの動きベクトル情報を用いて予測ベクトルを算出する。
【0060】
ここで、一般的に、動きベクトルの分散が小さい場合は、対象ブロックの近辺には大きな物体が存在する(描画されている)ことが多く、参照不可ブロックとの距離が比較的大きなブロックでも参照不可ブロックとの相関性が高い場合が多い。逆に、上記分散値が大きい場合は、対象ブロックの近辺に小さな物体が存在する(描画されている)ことが多く、参照不可ブロックとの距離が大きなブロックは、参照不可ブロックとの相関性が低いと想定される。
【0061】
そのため、上記分散値が小さい場合には、対象ブロックとの距離が多少離れているブロックでも、対象ブロックから見て参照不可ブロックと近い方向のブロックを代替ブロックとして用い、逆にそれが大きい場合は距離が近いブロックを代替ブロックとして用いて予測ベクトルを推定する。
【0062】
図10は、左隣のブロック111の動きベクトルが未確定である場合に、対象ブロック102内において左上に位置する8×8ブロックの動きベクトルMV1を符号化するための予測ベクトルPMVMV1を算出する方法について、その一例を示す図である。本例では、本来参照すべき左隣のブロック111が参照不可であるため、この参照不可ブロックと同じ方向に位置するさらに一つ左のマクロブロック111’内における右上のブロックを利用し、その動きベクトルMVaを参照する。
【0063】
具体的には、マクロブロック111’の動きベクトルMVaと、対象ブロック102の上、左上にそれぞれ隣接するブロック112、113の各動きベクトルMVc、MVdとの分散値ACTMVを計算し、これが閾値よりも小さければ(図10(1))、左隣の参照ブロックと同じ方向にあるブロックの動きベクトルMVaを用いて予測ベクトルPMVMV1を推定する。
【0064】
また、上記ACTMVの値が閾値以上であれば(図10(2))、対象ブロック102との距離がより小さなブロック(本例では左上の隣接ブロック113)の動きベクトルMVdを用いて予測ベクトルPMVMV1を推定する。なお、図10はあくまで一例であり、符号化が未完了である参照不可ブロックの代わりに利用する代替ブロックの位置や分散の計算方法は、本例に限定されるものではない。
【0065】
また、分散値ACTMVと比較する閾値は固定値としてあらかじめ設定しておいても良いが、量子化パラメータや対象ブロックと代替ブロックとの距離などに応じて適応的に決定してもよい。具体的には、例えば、量子化パラメータが大きな値に設定されている場合には、閾値をより小さな値に設定すると、より精度良く予測ベクトルを算出することができる。
【0066】
また、予測ベクトルPMVMV1を動き探索処理の探索開始点を決定するために用いる場合や、動き探索処理やモード選択処理等で符号量の見積もりに用いる場合など、その用途によって予測ベクトルPMVMV1の算出方法を変化させても良い。例えば、符号量の見積もりに用いる予測ベクトルは本実施例による方法にて計算を行い、探索処理の開始点を決定するための予測ベクトルは最も距離の近いブロックの動きベクトルをそのまま用いると効率的に予測ベクトルを算出することができる。
【0067】
(予測ベクトル推定処理のフロー図)
図11は、本実施形態に係る画像符号化装置1の予測ベクトル推定部224が実行する予測ベクトル推定処理の一例の流れを示すフローチャートである。
【0068】
予測ベクトル推定部224は、対象ブロック102のブロックサイズが未確定である場合には(ステップS101:Yes)、符号化が完了している周辺ブロック(例えば、図7のブロック111およびブロック112、図8のブロック112等)の分割パターンを参照し、統合判定基準(例えば、図7の統合判定基準301、図8の統合判定基準302等)に応じて、対象ブロック内の小ブロックを統合するかどうかの判定を行う(ステップS102)。
【0069】
そして、ステップS102における統合判定結果に最も近い分割パターンを選択する(ステップS103)。ステップS103で選択した分割パターンにより決定される対象ブロックのブロックサイズを用いて、予測ベクトルを算出し(ステップS104)、処理を終了する。
【0070】
一方、ステップS101で、対象ブロック102のブロックサイズが未確定ではないが(ステップS101:No)、対象ブロック102の周辺ブロック(例えば、図10のブロック111)の動きベクトルが未確定である場合には(ステップS105:Yes)、その他の周辺ブロックの動きベクトル(例えば、図10の動きベクトルMVa,MVb,MVc)の分散値ACTMVを算出する(ステップS106)。
【0071】
ステップS106で算出された分散値ACTMVが所定の閾値未満である場合には(ステップS107:Yes)、対象ブロック102から見て参照不可ブロック(例えば、図10のブロック111)と近い方向のブロック(例えば、図10のブロック111’)を代替ブロックとして用いて予測ベクトルを算出する(ステップS108)。
【0072】
一方、ステップS106で算出された分散値ACTMVが所定の閾値以上である場合には(ステップS107:No)、対象ブロック102との距離がより小さなブロックの動きベクトル(例えば、図10のブロック111のMVd)を用いて予測ベクトルを算出する(ステップS109)。
また、ステップS105で、対象ブロック102の周辺ブロックの動きベクトルが未確定でない場合には(ステップ105:No)、規格通りの方法にて予測ベクトルを算出する(ステップS110)。
【0073】
なお、上記説明した予測ベクトル推定処理はあくまで一例であり、予測ベクトル推定部224が実行する処理は、これに限定されるものではない。
(変形例)
本実施形態では、予測および周波数変換をブロック単位で行っているが、それ以外にも例えば画像の背景から分離したオブジェクト単位で算出しても良い。また、本実施形態では、周波数変換の一例としてDCTを挙げているが、DST(Discrete Sine Transformation:離散サイン変換)、WT(Wavelet Transformation:ウェーブレット変換)、DFT(Discrete Fourier Transformation:離散フーリエ変換)、KLT(Karhunen-Loeve Transformation:カルーネン−レーブ変換)など、画素間相関除去に利用する直交変換ならどのようなものでも構わない。また、例えば、特に画面内予測を行わなくても、MPEG-1やMPEG-2のイントラ符号化のように、原画像に対して直接周波数変換を施しても構わない。可変長符号化も特に行わなくても良い。
【0074】
また、本発明はH.262/MPEG-2、MPEG-4、H.263、H.264/AVCなど、動きベクトルを予測してその予測誤差を符号化して用いる方式ならどのような動画像符号化方式にも適用できる。
【0075】
なお、本発明の範囲は、図示され記載された例示的な実施形態に限定されるものではなく、本発明が目的とするものと均等な効果をもたらすすべての実施形態をも含む。さらに、本発明の範囲は、すべての開示されたそれぞれの特徴のうち特定の特徴のあらゆる所望する組み合わせによって画されうる。
【0076】
(付記)
以上に、本発明に係る実施形態について詳細に説明したことからも明らかなように、前述の実施形態の一部または全部は、以下の各付記のようにも記載することができる。しかしながら、以下の各付記は、あくまでも、本発明の単なる例示に過ぎず、本発明は、かかる場合のみに限るものではない。
【0077】
(付記1)
符号化を行う対象画像内の領域である符号化対象領域の動きベクトルを探索し、前記符号化対象領域の動きベクトルに基づいて前記対象画像の画面間予測を行うことによって画像の符号化を行う画像符号化装置であって、
予測される前記符号化対象領域の動きベクトルであって、前記符号化対象領域の周辺に位置する周辺ブロックの動きベクトルを用いてあらかじめ定められた所定の規則に応じて決定される動きベクトルである予測ベクトルから、前記符号化対象領域の動きベクトルの探索開始点を決定し、前記探索開始点から前記符号化対象領域の動きベクトルの探索を開始する動き探索部と、
前記所定の規則に応じて前記予測ベクトルを算出する際に、前記符号化対象領域のサイズが取得できない場合には、前記対象画像内の前記符号化対象領域以外の符号化済み領域のサイズから前記符号化対象領域のサイズを決定して予測ベクトルを算出し、前記周辺ブロックの動きベクトルの少なくとも一つが取得できない場合には、前記対象画像内の前記符号化対象領域以外の符号化済み領域の動きベクトルから前記予測ベクトルを算出する予測ベクトル推定部と、
前記動き探索部にて探索された前記符号化対象領域の動きベクトルと、前記予測ベクトルと、の差分値を符号化する可変長符号化部と、
を有する画像符号化装置。
【0078】
この構成によれば、予測ベクトルを算出するために必要な情報が取得できないことにより予測ベクトルが参照できない場合でも、予測ベクトルの算出に必要な諸情報を適切に推定して予測ベクトルを算出することができる。これにより、動き探索処理やモード選択処理の精度低下を回避することができる。ひいては、符号化効率の低下を回避することが可能である。
【0079】
(付記2)
前記予測ベクトル推定部は、前記符号化対象領域のサイズが取得できない場合には、前記周辺ブロックのサイズ情報を用いて、あらかじめ定められた規則に従って、前記符号化対象領域のブロックサイズを決定すること
を特徴とする付記1に記載の画像符号化装置。
【0080】
この構成によれば、予測ベクトルを算出するために必要な符号化対象領域のサイズが取得できない場合ことにより予測ベクトルが参照できない場合でも、予測ベクトルの算出に必要な諸情報を適切に推定して予測ベクトルを算出することができる。これにより、動き探索処理やモード選択処理の精度低下を回避することができる。ひいては、符号化効率の低下を回避することが可能である。
【0081】
(付記3)
前記予測ベクトル推定部は、前記周辺ブロックの動きベクトルの少なくとも一つが取得できない場合には、前記対象画像内の前記符号化対象領域以外の複数の符号化済み領域の動きベクトルの分散値に基づいて、前記複数の符号化済み領域の動きベクトルのうち、いずれの動きベクトルを用いて前記予測ベクトルを算出するかを決定すること
を特徴とする付記1又は2に記載の画像符号化装置。
【0082】
この構成によれば、予測ベクトルを算出するために必要な周辺ブロックの動きベクトルの少なくとも一つが取得できないことにより予測ベクトルが参照できない場合でも、予測ベクトルの算出に必要な諸情報を適切に推定して予測ベクトルを算出することができる。これにより、動き探索処理やモード選択処理の精度低下を回避することができる。ひいては、符号化効率の低下を回避することが可能である。
【0083】
(付記4)
前記動き探索部は、前記予測ベクトル推定部にて算出された前記予測ベクトルに基づいて、動き探索開始点を決定することを特徴とする付記1から3のいずれか一項に記載の画像符号化装置。
【0084】
(付記5)
複数の符号化モードの中から、一つの符号化モードを選択するモード選択部をさらに有し、
前記モード選択部は、前記予測ベクトル推定部にて算出された前記予測ベクトルから発生符号量を算出し、算出した前記発生符号量に基づいて前記一つの符号化モードを選択することを特徴とする付記1から4のいずれか一項に記載の画像符号化装置。
【0085】
(付記6)
動き探索部と、予測ベクトル推定部と、可変長符号化部と、を備え、符号化を行う対象画像内の領域である符号化対象領域の動きベクトルを探索し、前記符号化対象領域の動きベクトルに基づいて前記対象画像の画面間予測を行うことによって画像の符号化を行う画像符号化装置が実行する画像符号化方法であって、
前記動き探索部が、予測される前記符号化対象領域の動きベクトルであって、前記符号化対象領域の周辺に位置する周辺ブロックの動きベクトルを用いてあらかじめ定められた所定の規則に応じて決定される動きベクトルである予測ベクトルから、前記符号化対象領域の動きベクトルの探索開始点を決定し、前記探索開始点から前記符号化対象領域の動きベクトルの探索を開始する第1のステップと、
前記予測ベクトル推定部が、前記所定の規則に応じて前記予測ベクトルを算出する際に、前記符号化対象領域のサイズが取得できない場合には、前記対象画像内の前記符号化対象領域以外の符号化済み領域のサイズから前記符号化対象領域のサイズを決定して予測ベクトルを算出し、前記周辺ブロックの動きベクトルの少なくとも一つが取得できない場合には、前記対象画像内の前記符号化対象領域以外の符号化済み領域の動きベクトルから前記予測ベクトルを算出する第2のステップと、
前記可変長符号化部が、前記第1のステップにて探索された前記符号化対象領域の動きベクトルと、前記予測ベクトルと、の差分値を符号化する第3のステップと、
を含むことを特徴とする画像符号化方法。
【0086】
この構成によれば、予測ベクトルを算出するために必要な情報が取得できないことにより予測ベクトルが参照できない場合でも、予測ベクトルの算出に必要な諸情報を適切に推定して予測ベクトルを算出することができる。これにより、動き探索処理やモード選択処理の精度低下を回避することができる。ひいては、符号化効率の低下を回避することが可能である。
【符号の説明】
【0087】
1 画像符号化装置
10 符号化対象画像
20 参照画像
30 動画像
40 原画像
50 符号化ストリーム
101 ラスタースキャン順序
102 符号化対象ブロック
111 左隣接マクロブロック
112 上隣接マクロブロック
113 左上隣接マクロブロック
210 入力画像メモリ
211 ブロック分割部
212 探索部
213 画面内予測部
214 画面間予測部
215 モード選択部
216 減算部
217 周波数変換部
218 量子化処理部
219 可変長符号化部
220 逆量子化処理部
221 逆周波数変換部
222 加算部
223 参照画像メモリ
224 予測ベクトル推定部
301、302 統合判定基準
311、312 統合判定結果
411、412、413、414 マクロブロック分割パターン

【特許請求の範囲】
【請求項1】
符号化を行う対象画像内の領域である符号化対象領域の動きベクトルを探索し、前記符号化対象領域の動きベクトルに基づいて前記対象画像の画面間予測を行うことによって画像の符号化を行う画像符号化装置であって、
予測される前記符号化対象領域の動きベクトルであって、前記符号化対象領域の周辺に位置する周辺ブロックの動きベクトルを用いてあらかじめ定められた所定の規則に応じて決定される動きベクトルである予測ベクトルから、前記符号化対象領域の動きベクトルの探索開始点を決定し、前記探索開始点から前記符号化対象領域の動きベクトルの探索を開始する動き探索部と、
前記所定の規則に応じて前記予測ベクトルを算出する際に、前記符号化対象領域のサイズが取得できない場合には、前記対象画像内の前記符号化対象領域以外の符号化済み領域のサイズから前記符号化対象領域のサイズを決定して予測ベクトルを算出し、前記周辺ブロックの動きベクトルの少なくとも一つが取得できない場合には、前記対象画像内の前記符号化対象領域以外の符号化済み領域の動きベクトルから前記予測ベクトルを算出する予測ベクトル推定部と、
前記動き探索部にて探索された前記符号化対象領域の動きベクトルと、前記予測ベクトルと、の差分値を符号化する可変長符号化部と、
を有する画像符号化装置。
【請求項2】
前記予測ベクトル推定部は、前記符号化対象領域のサイズが取得できない場合には、前記周辺ブロックのサイズ情報を用いて、あらかじめ定められた規則に従って、前記符号化対象領域のブロックサイズを決定すること
を特徴とする請求項1に記載の画像符号化装置。
【請求項3】
前記予測ベクトル推定部は、前記周辺ブロックの動きベクトルの少なくとも一つが取得できない場合には、前記対象画像内の前記符号化対象領域以外の複数の符号化済み領域の動きベクトルの分散値に基づいて、前記複数の符号化済み領域の動きベクトルのうち、いずれの動きベクトルを用いて前記予測ベクトルを算出するかを決定すること
を特徴とする請求項1又は2に記載の画像符号化装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate


【公開番号】特開2013−98789(P2013−98789A)
【公開日】平成25年5月20日(2013.5.20)
【国際特許分類】
【出願番号】特願2011−240445(P2011−240445)
【出願日】平成23年11月1日(2011.11.1)
【出願人】(000001122)株式会社日立国際電気 (5,007)
【Fターム(参考)】