JP2012080369A - 画像処理装置及び画像処理方法 - Google Patents

画像処理装置及び画像処理方法 Download PDF

Info

Publication number
JP2012080369A
JP2012080369A JP2010224348A JP2010224348A JP2012080369A JP 2012080369 A JP2012080369 A JP 2012080369A JP 2010224348 A JP2010224348 A JP 2010224348A JP 2010224348 A JP2010224348 A JP 2010224348A JP 2012080369 A JP2012080369 A JP 2012080369A
Authority
JP
Japan
Prior art keywords
boundary
unit
intersection
block
route
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.)
Withdrawn
Application number
JP2010224348A
Other languages
English (en)
Inventor
Kazufumi Sato
数史 佐藤
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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Priority to JP2010224348A priority Critical patent/JP2012080369A/ja
Priority to PCT/JP2011/070232 priority patent/WO2012043165A1/ja
Priority to US13/825,860 priority patent/US20130279586A1/en
Priority to CN2011800461820A priority patent/CN103141104A/zh
Publication of JP2012080369A publication Critical patent/JP2012080369A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/109Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/537Motion estimation other than block-based

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Analysis (AREA)

Abstract

【課題】既存の手法と比較してより少ない演算量でジオメトリ動き分割を利用すること。
【解決手段】一実施形態に係る画像処理装置は、画像内に設定されるブロックを傾きを有する境界を用いて複数の領域に区分して各領域の動きベクトルを決定する動きベクトル決定部と、上記ブロックの外周と上記境界との複数の交点を指定する境界情報を生成する境界情報生成部と、を備える。また、他の実施形態に係る画像処理装置は、画像の符号化の際に上記画像内のブロックを複数の領域に区分した境界を、上記ブロックの外周と上記境界との複数の交点を指定する境界情報に基づいて認識する境界認識部と、上記境界認識部により認識された上記境界により区分される領域ごとに、動きベクトルに基づいて画素値を予測する予測部と、を備える。
【選択図】図2

Description

本発明は、画像処理装置及び画像処理方法に関する。
従来、デジタル画像を効率的に伝送し又は蓄積することを目的とし、画像に特有の冗長性を利用して、例えば離散コサイン変換などの直交変換と動き補償とにより画像の情報量を圧縮する圧縮技術が普及している。例えば、ITU−Tの策定したH.26x標準又はMPEG(Moving Picture Experts Group)の策定したMPEG−y標準などの標準技術に準拠した画像符号化装置及び画像復号化装置は、放送局による画像の蓄積及び配信、並びに一般ユーザによる画像の受信及び蓄積など、様々な場面で広く利用されている。
MPEG2(ISO/IEC 13818-2)は、汎用画像符号化方式として定義されたMPEG−y標準の1つである。MPEG2は、飛び越し走査(インターレース)画像及び順次走査(ノン・インターレース)画像の双方を扱うことが可能であり、標準解像度のデジタル画像に加えて、高精細画像をも対象としている。MPEG2は、現在、プロフェッショナル用途及びコンシューマ用途を含む広範なアプリケーションに広く用いられている。MPEG2によれば、例えば、720×480画素を持つ標準解像度の飛び越し走査画像には4〜8Mbpsの符号量(ビットレート)、1920×1088画素を持つ高解像度の飛び越し走査画像には18〜22Mbpsの符号量を割り当てることで、高い圧縮率及び良好な画質を共に実現することができる。
MPEG2は、主として、放送の用途に適合する高画質符号化を目的としており、MPEG1よりも低い符号量(ビットレート)、即ちより高い圧縮率には対応するものではなかった。しかし、近年の携帯端末の普及により、高い圧縮率を可能とする符号化方式のニーズは高まっている。そこで、新たにMPEG4符号化方式の標準化が進められた。MPEG4符号化方式の一部である画像符号化方式に関しては、1998年12月に、その規格が国際標準(ISO/IEC 14496-2)として承認された。
H.26x標準(ITU-T Q6/16 VCEG)は、当初、テレビ電話又はテレビ会議などの通信の用途に適合する符号化を目的として策定された標準規格である。H.26x標準は、MPEG−y標準と比較して、符号化及び復号化により多くの演算量を要する一方、より高い圧縮率を実現できることが知られている。また、MPEG4の活動の一環としてのJoint Model of Enhanced-Compression Video Codingでは、H.26x標準をベースとしながら新たな機能をも取り入れることで、より高い圧縮率を実現可能な標準規格が策定された。この標準規格は、2003年3月に、H.264及びMPEG−4 Part10(Advanced Video Coding;AVC)という名称で国際標準となった。
上述した画像符号化方式において重要な技術の1つは、動き補償である。一連の画像内で物体が大きく動いている場合、符号化対象画像と参照画像との差分も大きくなり、単純なフレーム間予測では高い圧縮率を得ることができない。しかし、物体の動きを認識し、動きが現れている領域の画素値をその動きに応じて補償することで、フレーム間予測による予測誤差が低減され、圧縮率が向上する。MPEG2において、動き補償は、フレーム動き補償モードの場合には16×16画素、フィールド動き補償モードの場合には第1フィールド及び第二フィールドのそれぞれに対して16×8画素を処理単位として行われる。また、H.264/AVCにおいては、16×16画素のサイズを有するマクロブロックを16×16画素、16×8画素、8×16画素及び8×8画素のいずれかのサイズの領域(partition)に区分し、各領域に個別に動きベクトルを設定することができる。また、8×8画素の領域をさらに8×8画素、8×4画素、4×8画素及び4×4画素のいずれかのサイズの領域に区分し、各領域に動きベクトルを設定することもできる。
多くの場合、ある領域に設定される動きベクトルは、周囲のブロック又は領域に設定される動きベクトルと相関を有する。例えば、1つの動物体が一連の画像内で移動している場合、その動物体が映る範囲に属する複数の領域についての動きベクトルは、同じであるか、又は少なくとも類似するものとなる。また、ある領域に設定される動きベクトルは、時間方向の距離が近い参照画像内の対応する領域に設定される動きベクトルと相関を有する場合もある。そこで、MPEG4及びH.264/AVCなどの画像符号化方式は、このような動きの空間的相関又は時間的相関を利用して動きベクトルを予測し、予測された動きベクトルと実際の動きベクトルとの差分のみを符号化することにより、符号化される情報量の削減を図っている。また、下記非特許文献1は、動きの空間的相関及び時間的相関の双方を組み合わせて利用することを提案している。
動きベクトルの予測に際しては、符号化対象の領域と相関のある他のブロック又は領域を適切に選択することが求められる。その選択の基準となるのが、基準画素位置である。既存の画像符号化方式における動き補償の処理単位は、一般的に矩形の形状を有している。そのため、通常、矩形の左上若しくは右上又はその双方の画素位置が、動きベクトルの予測に際しての基準画素位置として選択され得る。
ところで、画像内に現れる動物体の輪郭線は、水平及び垂直以外の傾きを有する場合が多い。そこで、そのような動物体と背景との間の動きの差異をより的確に動き補償に反映するために、下記非特許文献2は、図34に示したように、ブロックの中心点からの距離ρと傾き角θとにより定まる境界によって、ブロックを斜めに区分することを提案している。図34の例では、ブロックBLが、距離ρと傾き角θとにより定まる境界BDによって、第1の領域PT1及び第2の領域PT2に区分されている。このように、水平及び垂直以外の傾きを有する境界により動き補償のためのブロックを区分する手法を、「ジオメトリ動き分割(geometry motion partitioning)」という。また、ジオメトリ動き分割によって形成される各領域を、ジオメトリ領域(geometry partition)という。
Jungyoup Yang, Kwanghyun Won, Byeungwoo Jeon,"Motion Vector Coding with Optimal PMV Selection" (VCEG-AI22, 2008年7月) Qualcomm Inc., "Video coding technology proposal by Qualcomm Inc."(JCTVC-A121, 2010年4月)
ジオメトリ動き分割においても、通常、動きベクトルの予測のための基準画素位置は、ジオメトリ領域に含まれるいずれかのコーナーの位置である。しかしながら、ブロックの中心点からの距離ρと傾き角θとを指定する手法では、基準画素位置の認識のために、距離ρ及び傾き角θから各ジオメトリ領域に含まれるコーナーを判定するための単純でない幾何学的演算が求められる。
また、上記非特許文献2によれば、距離ρは、画素単位で指定される。そのため、例えば16×8画素などの長方形のブロックにジオメトリ動き分割を適用する場合には、傾き角θの値に依存してとり得る距離ρの値の範囲が変化する。図35には、一例として、16×8画素のブロックにおいて、傾き角θ=315°であればρのとり得る値の範囲は1〜4であるのに対し、傾き角θ=0°であればρのとり得る値の範囲は1〜7であることが示されている。即ち、長方形のブロックにジオメトリ動き分割を適用する場合には、動き探索において、傾き角θに応じて距離ρの探索範囲を動的に制御しなければならない。
既存の手法のこのような側面はいずれも、ジオメトリ動き分割を利用する際の、エンコーダ及びデコーダにおける演算量の無視できない増加をもたらす。そこで、本発明は、上述した欠点の少なくとも1つを改善し、既存の手法と比較してより少ない演算量でジオメトリ動き分割を利用することのできる画像処理装置及び画像処理方法を提供しようとするものである。
本発明のある実施形態によれば、画像内に設定されるブロックを傾きを有する境界を用いて複数の領域に区分して各領域の動きベクトルを決定する動きベクトル決定部と、上記ブロックの外周と上記境界との複数の交点を指定する境界情報を生成する境界情報生成部と、を備える画像処理装置が提供される。
上記画像処理装置は、典型的には、画像を符号化する画像符号化装置として実現され得る。
また、上記境界情報は、上記ブロックの外周と上記境界との各交点を、上記外周上に設定される基準点からの上記外周を周回する経路に沿った道のりにより指定する情報であってもよい。
また、上記境界情報は、第1の基準点からの道のりにより第1の交点を指定する情報と第2の基準点からの道のりにより第2の交点を指定する情報とを含み、上記第1の基準点は、上記ブロックの予め選択されるコーナーであり、上記第2の基準点は、上記経路上で上記第1の交点の次に位置するコーナーであってもよい。
また、上記外周は、複数の経路に分割され、各交点を指定する情報は、各交点が属する経路を識別する情報と、各経路上に設定される基準点からの当該経路に沿った道のりとを含んでもよい。
また、上記動きベクトル決定部は、各交点についての上記道のりを1画素よりも大きい単位量で量子化してもよい。
また、上記動きベクトル決定部は、上記道のりの量子化のための上記単位量を、上記ブロックのサイズが大きいほど大きい値に設定してもよい。
また、上記外周は、上記ブロックの各辺に対応する4つの経路に分割されてもよい。
また、上記外周は、上記ブロックの上辺及び下辺の一方と上記ブロックの左辺及び右辺の一方とを含む2つの経路に分割されてもよい。
また、共通する経路に第1の交点と第2の交点とが属する場合には、上記境界情報は、上記共通する経路の起点である第1の基準点からの道のりにより上記第1の交点を指定する情報と、上記共通する経路上で上記第1の交点の次に位置するコーナーである第2の基準点からの道のりにより上記第2の交点を指定する情報とを含んでもよい。
また、上記画像処理装置は、上記画像を符号化して符号化ストリームを生成する符号化部、及び上記符号化部により生成された上記符号化ストリームと上記境界情報とを伝送する伝送手段、をさらに備えてもよい。
また、本発明の別の実施形態によれば、画像を処理するための画像処理方法において、画像内に設定されるブロックを傾きを有する境界を用いて複数の領域に区分して、区分された各領域の動きベクトルを決定するステップと、上記ブロックの外周と上記境界との複数の交点を指定する境界情報を生成するステップと、を含む画像処理方法が提供される。
また、本発明の別の実施形態によれば、画像の符号化の際に上記画像内のブロックを複数の領域に区分した境界を、上記ブロックの外周と上記境界との複数の交点を指定する境界情報に基づいて認識する境界認識部と、上記境界認識部により認識された上記境界により区分される領域ごとに、動きベクトルに基づいて画素値を予測する予測部と、を備える画像処理装置が提供される。
上記画像処理装置は、典型的には、画像を復号化する画像復号化装置として実現され得る。
また、上記境界情報は、上記ブロックの外周と上記境界との各交点を、上記外周上に設定される基準点からの上記外周を周回する経路に沿った道のりにより指定する情報であってもよい。
また、上記境界情報は、第1の基準点からの道のりにより第1の交点を指定する情報と第2の基準点からの道のりにより第2の交点を指定する情報とを含み、上記第1の基準点は、上記ブロックの予め選択されるコーナーであり、上記第2の基準点は、上記経路上で上記第1の交点の次に位置するコーナーであってもよい。
また、上記外周は、複数の経路に分割され、各交点を指定する情報は、各交点が属する経路を示す情報と、各経路上に設定される基準点からの当該経路に沿った道のりとを含んでもよい。
また、上記境界認識部は、1画素よりも大きい単位量で量子化された各交点についての上記道のりを逆量子化してもよい。
また、上記境界認識部は、上記ブロックのサイズが大きいほど大きい単位量で上記道のりを逆量子化してもよい。
また、上記外周は、上記ブロックの各辺に対応する4つの経路に分割されてもよい。
また、上記外周は、上記ブロックの上辺及び下辺の一方と上記ブロックの左辺及び右辺の一方とを含む2つの経路に分割されてもよい。
また、共通する経路に第1の交点と第2の交点とが属する場合には、上記境界情報は、上記共通する経路の起点である第1の基準点からの道のりにより上記第1の交点を指定する情報と、上記共通する経路上で上記第1の交点の次に位置するコーナーである第2の基準点からの道のりにより上記第2の交点を指定する情報とを含んでもよい。
また、上記画像処理装置は、上記画像が符号化されている符号化ストリームと上記境界情報とを受け取る受け取り部、及び上記受け取り部により受け取られた上記符号化ストリームを復号化する復号化部、をさらに備えてもよい。
また、本発明の別の実施形態によれば、画像を処理するための画像処理方法において、画像の符号化の際に上記画像内のブロックを複数の領域に区分した境界を、上記ブロックの外周と上記境界との複数の交点を指定する境界情報に基づいて認識するステップと、認識された上記境界により区分される領域ごとに、動きベクトルに基づいて画素値を予測するステップと、を含む画像処理方法が提供される。
本発明に係る画像処理装置及び画像処理方法によれば、既存の手法と比較してより少ない演算量でジオメトリ動き分割を利用することができる。
一実施形態に係る画像符号化装置の構成の一例を示すブロック図である。 一実施形態に係る画像符号化装置の動き探索部の詳細な構成の一例を示すブロック図である。 ブロックの矩形領域への区分化について説明するための第1の説明図である。 ブロックの矩形領域への区分化について説明するための第2の説明図である。 ブロックの非矩形領域への区分化について説明するための説明図である。 矩形領域に設定され得る基準画素位置について説明するための説明図である。 矩形領域における空間的予測について説明するための説明図である。 矩形領域における時間的予測について説明するための説明図である。 マルチ参照フレームについて説明するための説明図である。 時間ダイレクトモードについて説明するための説明図である。 非矩形領域に設定され得る基準画素位置について説明するための説明図である。 非矩形領域における空間的予測について説明するための説明図である。 非矩形領域における時間的予測について説明するための説明図である。 ブロックの外周上に設定される経路について説明するための説明図である。 ブロックの外周を分割しない場合の境界情報の一例について説明するための説明図である。 ブロックの外周を2つの経路に分割する場合の境界情報の第1の例について説明するための説明図である。 ブロックの外周を2つの経路に分割する場合の境界情報の第2の例について説明するための説明図である。 ブロックの外周を4つの経路に分割する場合の境界情報の一例について説明するための説明図である。 境界情報の量子化の一例について説明するための説明図である。 一実施形態に係る動き探索処理の流れの一例を示すフローチャートである。 ブロックの外周を分割しない場合の境界情報生成処理の流れの一例を示すフローチャートである。 ブロックの外周を2つの経路に分割する場合の境界情報生成処理の流れの一例を示すフローチャートである。 ブロックの外周を4つの経路に分割する場合の境界情報生成処理の流れの一例を示すフローチャートである。 一実施形態に係る画像復号化装置の構成の一例を示すブロック図である。 一実施形態に係る画像復号化装置の動き補償部の詳細な構成の一例を示すブロック図である。 一実施形態に係る動き補償処理の流れの一例を示すフローチャートである。 ブロックの外周を分割しない場合の境界認識処理の流れの一例を示すフローチャートである。 ブロックの外周を2つの経路に分割する場合の境界認識処理の流れの一例を示すフローチャートである。 ブロックの外周を4つの経路に分割する場合の境界認識処理の流れの一例を示すフローチャートである。 テレビジョン装置の概略的な構成の一例を示すブロック図である。 携帯電話機の概略的な構成の一例を示すブロック図である。 記録再生装置の概略的な構成の一例を示すブロック図である。 撮像装置の概略的な構成の一例を示すブロック図である。 距離ρと傾き角θとを指定する従来のジオメトリ動き分割の一例を示す説明図である。 従来のジオメトリ動き分割において傾き角θに応じて異なる距離ρの範囲について説明するための説明図である。
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付すことにより重複説明を省略する。
また、以下の順序にしたがって当該「発明を実施するための形態」を説明する。
1.一実施形態に係る画像符号化装置の構成例
1−1.全体的な構成例
1−2.動き探索部の構成例
1−3.動きベクトル予測処理の説明
1−4.境界情報の例
1−5.境界情報の量子化
2.一実施形態に係る符号化時の処理の流れ
2−1.動き探索処理
2−2.境界情報生成処理(外周の分割なし)
2−3.境界情報生成処理(外周2分割)
2−4.境界情報生成処理(外周4分割)
3.一実施形態に係る画像復号化装置の構成例
3−1.全体的な構成例
3−2.動き補償部の構成例
4.一実施形態に係る復号化時の処理の流れ
4−1.動き補償処理
4−2.境界認識処理(外周の分割なし)
4−3.境界認識処理(外周2分割)
4−4.境界認識処理(外周4分割)
5.応用例
6.まとめ
<1.一実施形態に係る画像符号化装置の構成例>
[1−1.全体的な構成例]
図1は、本発明の一実施形態に係る画像符号化装置10の構成の一例を示すブロック図である。図1を参照すると、画像符号化装置10は、A/D(Analogue to Digital)変換部11、並べ替えバッファ12、減算部13、直交変換部14、量子化部15、可逆符号化部16、蓄積バッファ17、レート制御部18、逆量子化部21、逆直交変換部22、加算部23、デブロックフィルタ24、フレームメモリ25、セレクタ26、イントラ予測部30、動き探索部40、及びモード選択部50を備える。
A/D変換部11は、アナログ形式で入力される画像信号をデジタル形式の画像データに変換し、一連のデジタル画像データを並べ替えバッファ12へ出力する。
並べ替えバッファ12は、A/D変換部11から入力される一連の画像データに含まれる画像を並べ替える。並べ替えバッファ12は、符号化処理に係るGOP(Group of Pictures)構造に応じて画像を並べ替えた後、並べ替え後の画像データを減算部13、イントラ予測部30及び動き探索部40へ出力する。
減算部13には、並べ替えバッファ12から入力される画像データ、及び後に説明するモード選択部50により選択される予測画像データが供給される。減算部13は、並べ替えバッファ12から入力される画像データとモード選択部50から入力される予測画像データとの差分である予測誤差データを算出し、算出した予測誤差データを直交変換部14へ出力する。
直交変換部14は、減算部13から入力される予測誤差データについて直交変換を行う。直交変換部14により実行される直交変換は、例えば、離散コサイン変換(Discrete Cosine Transform:DCT)又はカルーネン・レーベ変換などであってよい。直交変換部14は、直交変換処理により取得される変換係数データを量子化部15へ出力する。
量子化部15には、直交変換部14から入力される変換係数データ、及び後に説明するレート制御部18からのレート制御信号が供給される。量子化部15は、変換係数データを量子化し、量子化後の変換係数データ(以下、量子化データという)を可逆符号化部16及び逆量子化部21へ出力する。また、量子化部15は、レート制御部18からのレート制御信号に基づいて量子化パラメータ(量子化スケール)を切り替えることにより、可逆符号化部16に入力される量子化データのビットレートを変化させる。
可逆符号化部16には、量子化部15から入力される量子化データ、及び、後に説明するイントラ予測部30又は動き探索部40により生成されモード選択部50により選択されるイントラ予測又はインター予測に関する情報が供給される。イントラ予測に関する情報は、例えば、ブロックごとの最適なイントラ予測モードを示す予測モード情報を含み得る。また、インター予測に関する情報は、例えば、各ブロックを区分した境界を特定する境界情報、各領域について動きベクトルの予測のために使用された予測式を特定する予測式情報、差分動きベクトル情報、及び参照画像情報などを含み得る。
可逆符号化部16は、量子化データについて可逆符号化処理を行うことにより、符号化ストリームを生成する。可逆符号化部16による可逆符号化は、例えば、可変長符号化、又は算術符号化などであってよい。また、可逆符号化部16は、上述したイントラ予測に関する情報又はインター予測に関する情報を、符号化ストリームのヘッダ(例えばブロックヘッダ又はスライスヘッダなど)内に多重化する。そして、可逆符号化部16は、生成した符号化ストリームを蓄積バッファ17へ出力する。
蓄積バッファ17は、可逆符号化部16から入力される符号化ストリームを半導体メモリなどの記憶媒体を用いて一時的に蓄積する。そして、蓄積バッファ17は、蓄積した符号化ストリームを、伝送路(又は画像符号化装置10からの出力線)の帯域に応じたレートで出力する。
レート制御部18は、蓄積バッファ17の空き容量を監視する。そして、レート制御部18は、蓄積バッファ17の空き容量に応じてレート制御信号を生成し、生成したレート制御信号を量子化部15へ出力する。例えば、レート制御部18は、蓄積バッファ17の空き容量が少ない時には、量子化データのビットレートを低下させるためのレート制御信号を生成する。また、例えば、レート制御部18は、蓄積バッファ17の空き容量が十分大きい時には、量子化データのビットレートを高めるためのレート制御信号を生成する。
逆量子化部21は、量子化部15から入力される量子化データについて逆量子化処理を行う。そして、逆量子化部21は、逆量子化処理により取得される変換係数データを、逆直交変換部22へ出力する。
逆直交変換部22は、逆量子化部21から入力される変換係数データについて逆直交変換処理を行うことにより、予測誤差データを復元する。そして、逆直交変換部22は、復元した予測誤差データを加算部23へ出力する。
加算部23は、逆直交変換部22から入力される復元された予測誤差データとモード選択部50から入力される予測画像データとを加算することにより、復号化画像データを生成する。そして、加算部23は、生成した復号化画像データをデブロックフィルタ24及びフレームメモリ25へ出力する。
デブロックフィルタ24は、画像の符号化時に生じるブロック歪みを減少させるためのフィルタリング処理を行う。デブロックフィルタ24は、加算部23から入力される復号化画像データをフィルタリングすることによりブロック歪みを除去し、フィルタリング後の復号化画像データをフレームメモリ25へ出力する。
フレームメモリ25は、加算部23から入力される復号化画像データ、及びデブロックフィルタ24から入力されるフィルタリング後の復号化画像データを記憶媒体を用いて記憶する。
セレクタ26は、イントラ予測のために使用されるフィルタリング前の復号化画像データをフレームメモリ25から読み出し、読み出した復号化画像データを参照画像データとしてイントラ予測部30に供給する。また、セレクタ26は、インター予測のために使用されるフィルタリング後の復号化画像データをフレームメモリ25から読み出し、読み出した復号化画像データを参照画像データとして動き探索部40に供給する。
イントラ予測部30は、並べ替えバッファ12から入力される符号化対象の画像データ、及びセレクタ26を介して供給される復号化画像データに基づいて、H.264/AVCにより規定されている各イントラ予測モードのイントラ予測処理を行う。例えば、イントラ予測部30は、各イントラ予測モードによる予測結果を所定のコスト関数を用いて評価する。そして、イントラ予測部30は、コスト関数値が最小となるイントラ予測モード、即ち圧縮率が最も高くなるイントラ予測モードを、最適なイントラ予測モードとして選択する。さらに、イントラ予測部30は、当該最適なイントラ予測モードを示す予測モード情報、予測画像データ、及びコスト関数値などのイントラ予測に関する情報を、モード選択部50へ出力する。さらに、イントラ予測部30は、並べ替えバッファ12から入力される符号化対象の画像データ、及びセレクタ26を介して供給される復号化画像データに基づいて、H.264/AVCにより規定されている各イントラ予測モードよりもサイズの大きいブロックでイントラ予測処理を行ってもよい。その場合にも、イントラ予測部30は、各イントラ予測モードによる予測結果を所定のコスト関数を用いて評価し、最適なイントラ予測モードについてのイントラ予測に関する情報をモード選択部50へ出力する。
動き探索部40は、並べ替えバッファ12から入力される符号化対象の画像データ、及びフレームメモリ25から供給される参照画像データとしての復号化画像データに基づいて、画像内に設定される各ブロックを対象として動き探索処理を行う。
より具体的には、動き探索部40は、各ブロックを、複数の境界の候補によって複数の領域にそれぞれ区分する。ブロックを区分する境界の候補は、例えばH.264/AVCにおける水平方向又は垂直方向に沿った境界に加えて、ジオメトリ動き分割による傾きを有する境界を含む。そして、動き探索部40は、参照画像の画素値と各領域内の原画像の画素値とに基づいて、各領域についての動きベクトルを算出する。
また、動き探索部40は、各領域に設定される基準画素位置に対応するブロック又は領域について既に算出した動きベクトルに基づいて、符号化対象の領域内の画素値の予測に使用すべき動きベクトルを領域ごとに予測する。動きベクトルの予測は、複数の予測式の候補についてそれぞれ行われ得る。複数の予測式の候補は、例えば、空間的相関若しくは時間的相関又はその双方を利用する予測式を含み得る。従って、動き探索部40は、境界の候補と予測式の候補との組合せごとに、各領域の動きベクトルを予測する。そして、動き探索部40は、所定のコスト関数に従ったコスト関数値が最小となる(即ち、圧縮率が最も高くなる)境界と予測式との組合せを、最適な組合せとして選択する。
このような動き探索部40による動き探索処理について、後にさらに説明する。動き探索部40は、動き探索処理の結果として、最適な境界を特定する境界情報、最適な予測式を特定する予測式情報、差分動きベクトル情報、及びコスト関数値などのインター予測に関する情報と、予測画像データとを、モード選択部50へ出力する。このうち、境界情報は、ブロックの中心点からの距離ρと傾き角θとを指定する情報ではなく、後に詳細に説明するように、ブロックの外周と境界との2つの交点とを指定する情報である。
モード選択部50は、イントラ予測部30から入力されるイントラ予測に関するコスト関数値と動き探索部40から入力されるインター予測に関するコスト関数値とを比較する。そして、モード選択部50は、イントラ予測及びインター予測のうちコスト関数値がより少ない予測手法を選択する。モード選択部50は、イントラ予測を選択した場合には、イントラ予測に関する情報を可逆符号化部16へ出力すると共に、予測画像データを減算部13及び加算部23へ出力する。また、モード選択部50は、インター予測を選択した場合には、インター予測に関する上述した情報を可逆符号化部16へ出力すると共に、予測画像データを減算部13及び加算部23へ出力する。
[1−2.動き探索部の構成例]
図2は、図1に示した画像符号化装置10の動き探索部40の詳細な構成の一例を示すブロック図である。図2を参照すると、動き探索部40は、探索処理部41、動きベクトル算出部42、動きベクトルバッファ43、境界情報バッファ44、動きベクトル予測部45、動きベクトル決定部46、及び補償部47を有する。
探索処理部41は、画像内に設定されるブロックを複数の領域に区分する境界と動きベクトルの予測のための予測式との様々な組合せを対象とする探索の範囲を制御する。本実施形態において、動き探索部40による探索の対象となる境界は、水平及び垂直の境界だけでなく、傾きを有する境界を含む。
探索処理部41は、例えば、図3及び図4に示すように、画像内に設定されるブロックを傾きのない水平方向又は垂直方向に沿った境界の候補によって区分してもよい。この場合に形成される各領域は、矩形領域となる。図3の例では、16×16画素の最大マクロブロックは、水平の境界により16×8画素の2つのブロックに区分され得る。また、16×16画素の最大マクロブロックは、垂直な境界により8×16画素の2つのブロックに区分され得る。また、16×16画素の最大マクロブロックは、水平の境界及び垂直の境界により8×8画素の4つのブロックに区分され得る。さらに、8×8画素のマクロブロックは、8×4画素の2つのサブマクロブロック、4×8画素の2つのサブマクロブロック、又は4×4画素の4つのサブマクロブロックに区分され得る。また、探索処理部41は、例えば、図4に示したように、H.264/AVCによりサポートされる16×16画素の最大マクロブロックよりも大きい、拡張されたサイズ(例えば64×64画素)を有するブロックを矩形領域に区分してもよい。
また、探索処理部41は、例えば、図5に示したように、画像内に設定されるブロックを傾きを有する境界の候補によって区分する。この場合に形成される各領域は、非矩形領域となり得る。図5の例では、傾きを有する境界により区分される6通りのブロックBL11〜BL16が示されている。ブロックBL11〜BL16において形成されているジオメトリ領域の形状は、三角形、台形、又は五角形である。探索処理部41は、このような境界の複数の候補を、例えば、ブロックの外周と境界との2つの交点の位置をそれぞれ離散的に変化させながら順次指定する。そして、探索処理部41は、指定した境界により区分される各領域について動きベクトル算出部42により動きベクトルを算出させる。また、探索処理部41は、複数の予測式の候補を用いて動きベクトル予測部45により動きベクトルを予測させる。
動きベクトル算出部42は、探索処理部41により指定される境界により区分される各領域について、原画像の画素値、及びフレームメモリ25から入力される参照画像の画素値に基づいて、動きベクトルを算出する。動きベクトル算出部42は、例えば、隣り合う画素間の中間的な画素値を線型内挿処理により補間し、1/2画素精度で動きベクトルを算出してもよい。また、動きベクトル算出部42は、例えば、6タップのFIRフィルタを用いてさらに中間的な画素値を補間し、1/4画素精度で動きベクトルを算出してもよい。動きベクトル算出部42は、算出した動きベクトルを、動きベクトル予測部45へ出力する。
動きベクトルバッファ43は、動きベクトル予測部45による動きベクトル予測処理において参照される参照動きベクトルを、記憶媒体を用いて一時的に記憶する。動きベクトル予測処理において参照される動きベクトルとは、符号化済みの参照画像内のブロック又は領域に設定された動きベクトル、及び符号化対象の画像内の他のブロック又は領域に設定された動きベクトルを含み得る。
境界情報バッファ44は、動きベクトル予測部45による動きベクトル予測処理において参照される参照領域を特定するための境界情報を、記憶媒体を用いて一時的に記憶する。境界情報バッファ44により記憶される境界情報は、符号化済みの参照画像内のブロックを区分した境界を特定する情報、及び符号化対象の画像内の他のブロックを区分した境界を特定する情報を含み得る。
動きベクトル予測部45は、探索処理部41により指定される境界により区分される領域の各々に基準画素位置を設定する。そして、動きベクトル予測部45は、設定した基準画素位置に対応する参照ブロック又は参照領域に設定された動きベクトル(参照動きベクトル)に基づいて、各領域内の画素値の予測に使用すべき動きベクトルを予測する。
動きベクトル予測部45は、ある1つの領域について、複数の予測式の候補を用いて、複数の動きベクトルを予測してもよい。例えば、第1の予測式は動きの空間的相関を利用する予測式であり、第2の予測式は動きの時間的相関を利用する予測式であってよい。また、第3の予測式として、動きの空間的相関と時間的相関の双方を利用する予測式が使用されてもよい。動きの空間的相関を利用する場合、動きベクトル予測部45は、例えば、動きベクトルバッファ43に記憶されている、基準画素位置に隣接する他のブロック又は領域に設定された参照動きベクトルを参照する。また、動きの時間的相関を利用する場合、動きベクトル予測部45は、例えば、動きベクトルバッファ43に記憶されている、基準画素位置とコロケーテッドな参照画像内のブロック又は領域に設定された参照動きベクトルを参照する。動きベクトル予測部45が使用し得る予測式について、後に例を挙げて説明する。
動きベクトル予測部45は、1つの領域について1つの予測式を用いて予測動きベクトルを算出すると、動きベクトル算出部42により算出された動きベクトルと当該予測動きベクトルとの差分を表す差分動きベクトルを算出する。そして、動きベクトル予測部45は、上記境界を特定する情報及び上記予測式を特定する予測式情報と関連付けて、算出した差分動きベクトル及び参照画像情報を、動きベクトル決定部46へ出力する。
動きベクトル決定部46は、動きベクトル予測部45から入力される情報を用いて、コスト関数値を最小にする最適な境界と最適な予測式との組合せを選択する。それにより、画像内に設定されるブロックを区分する最適な境界と、当該境界により区分される領域内の画素値の補償のために使用すべき動きベクトルが決定される。また、動きベクトル決定部46は、各領域内の画素値を補償する他の装置(典型的には、画像復号化装置)のために、後に詳細に説明する境界情報を生成する。即ち、本実施形態において、動きベクトル決定部46は、動きベクトルを決定する決定手段及び境界情報を生成する生成手段としての役割を有する。そして、動きベクトル決定部46は、生成した境界情報、最適な予測式を特定する予測式情報、対応する差分動きベクトル情報、参照画像情報、及び対応するコスト関数値などを、補償部47へ出力する。
補償部47は、動きベクトル決定部46により選択された最適な境界、最適な予測式、差分動きベクトル、及びフレームメモリ25から入力される参照画像データを用いて、予測画像データを生成する。そして、補償部47は、生成した予測画像データ、並びに、動きベクトル決定部46から入力された境界情報、予測式情報、差分動きベクトル情報及びコスト関数値などのインター予測に関する情報を、モード選択部50へ出力する。また、補償部47は、予測画像データの生成に用いた動きベクトル、即ち各領域に最終的に設定した動きベクトルを、動きベクトルバッファ43に記憶させる。
[1−3.動きベクトル予測処理の説明]
次に、上述した動きベクトル予測部45による動きベクトル予測処理についてより具体的に説明する。
(1)矩形領域での動きベクトルの予測
(1−1)基準画素位置
図6は、矩形領域に設定され得る基準画素位置について説明するための説明図である。図6を参照すると、境界により区分されていない矩形ブロック(16×16画素)、及び、水平又は垂直な境界によりそれぞれ区分された矩形領域が示されている。動きベクトル予測部45は、これら矩形領域については、動きベクトルの予測のための基準画素位置を、各領域内の左上若しくは右上又はその双方に一律的に設定する。図6においては、これら基準画素位置が、斜線の網掛けにより示されている。なお、H.264/AVCでは、8×16画素の領域の基準画素位置は、ブロック内で左側の領域については左上、ブロック内で右側の領域については右上に設定される。
(1−2)空間的予測
図7は、矩形領域における空間的予測について説明するための説明図である。図7を参照すると、1つの矩形領域PTeに設定され得る2つの基準画素位置PX1及びPX2が示されている。動きの空間的相関を利用する予測式は、例えば、これら基準画素位置PX1及びPX2に隣接する他のブロック又は領域に設定された動きベクトルを入力とする。なお、本明細書において、「隣接する」という用語は、例えば、2つのブロック、領域又は画素が辺を共有する場合のみならず、頂点を共有する場合をも含むものとする。
例えば、基準画素位置PX1の左の画素が属するブロックBLaに設定された動きベクトルをMVaとする。また、基準画素位置PX1の上の画素が属するブロックBLbに設定された動きベクトルをMVbとする。また、基準画素位置PX2の右上の画素が属するブロックBLcに設定された動きベクトルをMVcとする。これら動きベクトルMVa、MVb及びMVcは、既に符号化済みである。符号化対象のブロック内の矩形領域PTeについての予測動きベクトルPMVeは、次のような予測式を用いて、動きベクトルMVa、MVb及びMVcから算出され得る。
Figure 2012080369
ここで、式(1)におけるmedはメディアンオペレーションを表す。即ち、式(1)によれば、予測動きベクトルPMVeは、動きベクトルMVa、MVb及びMVcの水平成分の中央値と垂直成分の中央値とを成分とするベクトルである。なお、上記式(1)は、空間的相関を利用する予測式の一例に過ぎない。例えば、符号化対象のブロックが画像の端部に位置するために、動きベクトルMVa、MVb又はMVcのいずれかが存在しない場合には、存在しない動きベクトルは、メディアンオペレーションの引数から省略されてもよい。また、例えば、符号化対象のブロックが画像の右端に位置する場合には、動きベクトルMVcの代わりに、図7に示したブロックBLdに設定された動きベクトルが使用されてもよい。
なお、予測動きベクトルPMVeは、プレディクタ(predictor)とも呼ばれる。特に、式(1)のように、動きの空間的相関を利用する予測式によって算出される予測動きベクトルを、空間的プレディクタ(spatial predictor)という。一方、次項で説明する動きの時間的相関を利用する予測式によって算出される予測動きベクトルを、時間的プレディクタ(temporal predictor)という。
動きベクトル予測部45は、このように予測動きベクトルPMVeを決定した後、次式のように、動きベクトル算出部42により算出された動きベクトルMVeと予測動きベクトルPMVeとの差分を表す差分動きベクトルMVDeを算出する。
Figure 2012080369
動き探索部40からインター予測に関する情報の1つとして出力される差分動きベクトル情報は、この差分動きベクトルMVDeを表す。そして、差分動きベクトル情報は、可逆符号化部16により符号化され、画像を復号化する装置へ伝送され得る。
(1−3)時間的予測
図8は、矩形領域における時間的予測について説明するための説明図である。図8を参照すると、符号化対象領域PTeを含む符号化対象画像IM01、及び参照画像IM02が示されている。参照画像IM02内のブロックBLcolは、参照画像IM02内で基準画素位置PX1又はPX2と共通する位置の画素を含む、いわゆるコロケーテッドブロックである。動きの時間的相関を利用する予測式は、例えば、このコロケーテッドブロックBLcol又はコロケーテッドブロックBLcolに隣接するブロック(又は領域)に設定された動きベクトルを入力とする。
例えば、コロケーテッドブロックBLcolに設定された動きベクトルをMVcolとする。また、コロケーテッドブロックBLcolの上、左、下、右、左上、左下、右下及び右上のブロックに設定された動きベクトルを、それぞれMVt0〜MVt7とする。これら動きベクトルMVcol及びMVt0〜MVt7は、既に符号化済みである。この場合、予測動きベクトルPMVeは、例えば、次の予測式(3)又は(4)を用いて、動きベクトルMVcol及びMVt0〜MVt7から算出され得る。
Figure 2012080369
また、動きの空間的相関及び時間的相関の双方を利用する次のような予測式が用いられてもよい。なお、動きベクトルMVa、MVb及びMVcは、基準画素位置PX1又はPX2に隣接するブロックに設定された動きベクトルである。
Figure 2012080369
この場合にも、動きベクトル予測部45は、予測動きベクトルPMVeを決定した後、動きベクトル算出部42により算出された動きベクトルMVeと予測動きベクトルPMVeとの差分を表す差分動きベクトルMVDeを算出する。そして、境界と予測式との最適な組合せに係る差分動きベクトルMVDeを表す差分動きベクトル情報が、動き探索部40から出力され、可逆符号化部16により符号化され得る。
なお、図8の例では1つの符号化対象画像IM01について1つの参照画像IM02のみを示しているが、1つの符号化対象画像IM01内で領域ごとに異なる参照画像が使用されてもよい。図9の例では、符号化対象画像IM01内の領域PTe1の動きベクトルの予測の際に参照される参照画像はIM021であり、領域PTe2の動きベクトルの予測の際に参照される参照画像はIM022である。このような参照画像の設定手法を、マルチ参照フレーム(Multi-Reference Frame)という。
(2)ダイレクトモード
なお、動きベクトル情報の情報量の増加に伴う圧縮率の低下を回避するために、H.264/AVCは、主にBピクチャを対象として、いわゆるダイレクトモードを導入している。ダイレクトモードにおいては、動きベクトル情報は符号化されず、符号化済みのブロックの動きベクトル情報から符号化対象のブロックの動きベクトル情報が生成される。ダイレクトモードは、空間ダイレクトモード(Spatial Direct Mode)、及び時間ダイレクトモード(Temporal Direct Mode)を含み、例えばスライスごとにこれら2つのモードが切り替えられ得る。本実施形態においても、このようなダイレクトモードが利用されてよい。
例えば、空間ダイレクトモードにおいては、符号化対象の領域についての動きベクトルMVeは、上述した予測式(1)を用いて、次式のように決定され得る。
Figure 2012080369
図10は、時間ダイレクトモードについて説明するための説明図である。図10において、符号化対象画像IM01のL0参照ピクチャである参照画像IML0、及び符号化対象画像IM01のL1参照ピクチャである参照画像IML1が示されている。参照画像IML0内のブロックBLcolは、符号化対象画像IM01内の符号化対象領域PTeのコロケーテッドブロックである。ここで、コロケーテッドブロックBLcolに設定された動きベクトルをMVcolとする。また、符号化対象画像IM01と参照画像IML0との間の時間軸上の距離をTD、参照画像IML0と参照画像IML1との間の時間軸上の距離をTDとする。すると、時間ダイレクトモードにおいては、符号化対象領域PTeについての動きベクトルMVL0及びMVL1は、次式のように決定され得る。
Figure 2012080369
なお、時間軸上の距離を表す指標として、POC(Picture Order Count)が使用されてもよい。このようなダイレクトモードの利用の有無は、例えば、ブロック単位で指定され得る。
(3)非矩形領域での動きベクトルの予測
上述したように、矩形領域については、例えば左上又は右上の画素というように、基準画素位置を一律的に定義付けることができる。これに対し、ジオメトリ動き分割の場合のように、傾きを有する境界によりブロックが区分される場合には、形成される非矩形領域の形状が様々であることから、基準画素位置を適応的に設定することが望ましい。
(3−1)基準画素位置
図11は、非矩形領域に設定され得る基準画素位置について説明するための説明図である。図11には、図5に示した6つのブロックBL11〜BL16があらためて示されている。境界が直線であれば、ブロック内に形成される各領域は、ブロックの少なくとも1つのコーナーに位置する画素を含む。従って、そのコーナーの画素の位置は、基準画素位置となり得る。図11の例では、ブロックBL11の領域PT11aの基準画素位置は画素Pcの位置であってよい。ブロックBL11の領域PT11bの基準画素位置は画素Pdの位置であってよい。ブロックBL12の領域PT12aの基準画素位置は画素Pa及びPcのいずれか一方又は双方の位置であってよい。他のブロックの各領域の基準画素位置もまた、同様に設定され得る。
(3−2)空間的予測
図12は、非矩形領域における空間的予測について説明するための説明図である。図12を参照すると、符号化対象ブロックBLe内の各領域の基準画素位置として設定され得る4つの画素位置Pa〜Pdが示されている。また、画素位置Paに、ブロックNBa及びNBbが隣接している。画素位置Pcには、ブロックNBc及びNBeが隣接している。画素位置Pdには、ブロックNBfが隣接している。非矩形領域についての動きの空間的相関を利用する予測式は、例えば、基準画素位置Pa〜Pdに隣接するこれら隣接ブロック(又は領域)NBa〜NBfに設定された動きベクトルを入力とする予測式であってよい。
式(9)及び式(10)は、それぞれ、基準画素位置が左上のコーナー(画素位置Pa)である領域についての予測動きベクトルPMVeを予測するための予測式の一例である。なお、動きベクトルMVni(i=a,b,…,f)は、隣接ブロックNBiに設定された動きベクトルを表す。
Figure 2012080369
式(9)及び式(10)は、最も単純な予測式の一例である。しかし、予測式として、他の式が使用されてもよい。例えば、領域が左上及び右上のコーナーを共に含む場合には、図7を用いて説明した矩形領域についての空間的予測と同様に、隣接ブロックNBa、NBb及びNBcに設定された動きベクトルに基づく予測式が使用されてもよい。この場合の予測式は、式(1)と同様である。
なお、基準画素位置が右下のコーナー(画素位置Pb)である領域については、隣接ブロックが符号化済みでないため、隣接ブロック(又は領域)に設定された動きベクトルを使用することができない。この場合には、動きベクトル予測部45は、空間的相関に基づく予測動きベクトルをゼロベクトルとしてもよい。
(3−3)時間的予測
図13は、非矩形領域における時間的予測について説明するための説明図である。図13を参照すると、符号化対象ブロックBLe内の各領域の基準画素位置として設定され得る4つの画素位置Pa〜Pdが示されている。基準画素位置が画素位置Paである場合、参照画像内のコロケーテッドブロックはブロックBLcol_aとなる。基準画素位置が画素位置Pbである場合、参照画像内のコロケーテッドブロックはブロックBLcol_bとなる。基準画素位置が画素位置Pcである場合、参照画像内のコロケーテッドブロックはブロックBLcol_cとなる。基準画素位置が画素位置Pdである場合、参照画像内のコロケーテッドブロックはブロックBLcol_dとなる。動きベクトル予測部45は、上述した基準画素位置に応じて、このようにコロケーテッドブロック(又はコロケーテッド領域)BLcolを認識する。また、動きベクトル予測部45は、例えば、図8を用いて説明したように、コロケーテッドブロック(又はコロケーテッド領域)BLcolに隣接するブロック又は領域をさらに認識する。そして、動きベクトル予測部45は、基準画素位置に対応するこれら参照画像内のブロック又は領域に設定された動きベクトルMVcol及びMVt0〜MVt7(図8参照)を用いて、動きの時間的相関を利用する予測式に従って、予測動きベクトルを算出することができる。この場合の予測式は、例えば、式(3)及び式(4)と同様であってよい。
(3−4)時空間的予測
また、動きベクトル予測部45は、非矩形領域についても、動きの空間的相関及び時間的相関の双方を利用する予測式を用いてよい。その場合には、動きベクトル予測部45は、図12を用いて説明した隣接ブロック(又は隣接領域)に設定された動きベクトルと、図13を用いて説明した参照画像内のコロケーテッドブロック(又はコロケーテッド領域)に設定された動きベクトルとに基づく予測式を使用することができる。この場合の予測式は、例えば、式(5)と同様であってよい。
(4)予測式の選択
上述したように、動きベクトル予測部45は、動きベクトルの予測(予測動きベクトルの算出)に際して、空間的相関を利用する予測式、時間的相関を利用する予測式、及び時空間的相関を利用する予測式を、予測式の候補として使用し得る。また、動きベクトル予測部45は、例えば、時間的相関を利用する予測式として複数の予測式の候補を使用してもよい。動きベクトル予測部45は、このように、探索処理部41により指定される複数の境界の候補の各々について、さらに複数の予測式の候補ごとに、各領域についての予測動きベクトルを算出する。そして、動きベクトル決定部46は、境界の候補と予測式の候補との各組合せをコスト関数値により評価し、圧縮率が最も高くなる(最良の符号化効率を達成する)最適な組合せを選択する。その結果、例えば、画像内に設定されるブロックごとに、ブロックを区分する境界が変化すると共に、当該ブロックに適用される予測式もまた適応的に切り替えられ得る。
[1−4.境界情報の例]
本実施形態において、動きベクトル決定部46が出力する境界情報は、ブロックの中心点からの距離ρと傾き角θとを指定する情報ではなく、ブロックの外周と境界との複数の交点を指定する情報である。より具体的には、例えば、境界情報は、ブロックの外周と境界との各交点を、外周上に設定される基準点からの外周を周回する経路に沿った道のりにより指定する情報であってよい。本実施形態において、経路の基準点とは、経路に沿った道のりを計測する際の起点(あるいは原点)である。ブロックの外周が複数の経路に分割される場合には、経路ごとに1つの基準点が設定される。但し、複数の基準点の位置は互いに重なってもよい。なお、本明細書では、ブロックの外周と境界との交点の位置に依存することなく予め固定的に設定される基準点を、固定基準点という。これに対し、交点の位置に依存して動的に設定される基準点を、可変基準点という。
(1)外周上の経路の構成例
図14は、ブロックの外周上に構成される経路について説明するための説明図である。図14を参照すると、典型的な4種類の経路の構成例14a〜14dが示されている。
第1の構成例14aでは、左上のコーナーPaが固定基準点に設定されている。また、基準点Paを起点とし、時計回りにブロックの外周を周回する1つの経路K11が構成されている。経路K11の長さはブロックの外周の全長に等しい。
第2の構成例14bでは、左上のコーナーPa及び右下のコーナーPbが固定基準点に設定されている。また、基準点Paを起点とし時計回りにブロックの外周を半周する経路K21と、基準点Pbを起点とし時計回りにブロックの外周を半周する経路K22とが構成されている。即ち、第2の構成例14bにおいては、ブロックの外周は2つの経路に分割される。経路K21及びK22の長さはブロックの外周の半分の長さに等しい。
第3の構成例14cでは、左上のコーナーPaが固定基準点に設定されている。また、基準点Paを起点とし時計回りにブロックの外周を半周する経路K31と、基準点Paを起点とし反時計回りにブロックの外周を半周する経路K32とが構成されている。即ち、第3の構成例14cにおいても、ブロックの外周は2つの経路に分割される。経路K31及びK32の長さはブロックの外周の半分の長さに等しい。
第4の構成例14dでは、4つのコーナーPa、Pc、Pb及びPdが固定基準点に設定されている。また、基準点Paを起点としブロックの上辺に沿った経路K41、基準点Pcを起点としブロックの右辺に沿った経路K42、基準点Pbを起点としブロックの下辺に沿った経路K43、及び基準点Pdを起点としブロックの左辺に沿った経路K44が構成されている。即ち、第4の構成例14dにおいては、ブロックの外周は4つの経路に分割される。経路K41、K42、K43及びK44の長さは、ブロックの対応する各辺の長さに等しい。
なお、ブロックの外周上の経路の構成は、かかる例に限定されない。例えば、図14に示した構成例とは異なる基準点を有する経路、周回方向の異なる経路、又は分割パターンの異なる経路が構成されてもよい。
(2)境界情報の例(外周の分割なし)
図15は、図14の第1の構成例14aにおいて動きベクトル決定部46により生成され得る境界情報の一例について説明するための説明図である。図15から理解されるように、第1の構成例14aにおいては、境界情報は、基準点Paからより近い第1の交点を指定する情報と、基準点Paからより遠い第2の交点を指定する情報とを順に含む。このうち、第1の交点は、固定基準点Paからの道のりにより指定される。一方、第2の交点は、経路K11上で第1の交点の次に位置するコーナーを基準点(可変基準点)として、当該基準点からの道のりにより指定される。
図15の左の例では、ブロックBL14の外周と境界B14との第1の交点は、基準点Paから第1の交点までの道のりXにより指定される。また、経路K11上で第1の交点の次に位置するコーナーは、コーナーPcである。従って、第2の交点は、可変基準点Pcから第2の交点までの道のりYにより指定される。このうち、境界情報の前半に道のりX、後半に道のりYが含められる。
図15の中央の例では、ブロックBL13の外周と境界B13との第1の交点は、基準点Paから第1の交点までの道のりXにより指定される。また、経路K11上で第1の交点の次に位置するコーナーは、コーナーPcである。従って、第2の交点は、可変基準点Pcから第2の交点までの道のりYにより指定される。このうち、境界情報の前半に道のりX、後半に道のりYが含められる。
図15の右の例では、ブロックBL16の外周と境界B16との第1の交点は、基準点Paから第1の交点までの道のりXにより指定される。また、経路K11上で第1の交点の次に位置するコーナーは、コーナーPdである。従って、第2の交点は、可変基準点Pdから第2の交点までの道のりYにより指定される。このうち、境界情報の前半に道のりX、後半に道のりYが含められる。
一般的に、ブロックの外周とブロックを区分する境界との2つの交点が共にブロックの一辺に位置することはない。従って、図15の例のように、予め選択される基準点からより近くに位置する第1の交点を先に符号化し、後に符号化される第2の交点のための基準点(可変基準点)を第1の交点の次に位置するコーナーとすることで、第2の交点の道のりのダイナミックレンジが小さくなる。その結果、固定基準点からの道のりにより第2の交点を指定する場合と比較して、可変長符号化後の第2の交点に関する境界情報の符号量が削減され得る。
(3)境界情報の例(外周2分割)
図16は、図14の第2の構成例14bにおいて動きベクトル決定部46により生成され得る境界情報の一例について説明するための説明図である。図16から理解されるように、第2の構成例14bにおいては、境界情報は、各交点が属する経路を識別する情報(例えば、経路フラグ)と、各経路上に設定される基準点からの当該経路に沿った道のりとを含む。また、2つの交点が共通する経路に属する場合には、固定基準点からより遠くに位置する第2の交点は、可変基準点からの道のりにより指定される。
図16の左の例では、第1の交点は経路K21、第2の交点は経路K22に属する。ブロックBL15の外周と境界B15との第1の交点は、経路K21に沿った基準点Paから第1の交点までの道のりXにより指定される。また、第2の交点は、経路K22に沿った基準点Pbから第2の交点までの道のりYにより指定される。この場合、いずれの交点に関する情報が先に符号化されてもよい。但し、2つの交点についての道のりよりも先に、2つの交点についての経路を識別する情報が符号化される。
図16の中央の例では、2つの交点は共に経路K21に属する。このうち、経路K21の固定基準点Paからより近くに位置する第1の交点は、固定基準点Paから第1の交点までの道のりXにより指定される。また、経路K21上で第1の交点の次に位置するコーナーは、コーナーPcである。従って、第2の交点は、可変基準点Pcから第2の交点までの道のりYにより指定される。そして、境界情報の前半には2つの交点が属する経路を識別する情報(K21,K21)、後半には第1の交点の道のり(X)及び第2の交点の道のり(Y)が順に含められる。
図16の右の例では、2つの交点は共に経路K22に属する。このうち、経路22の固定基準点Pbからより近くに位置する第1の交点は、固定基準点Pbから第1の交点までの道のりXにより指定される。また、経路K22上で第1の交点の次に位置するコーナーは、コーナーPdである。従って、第2の交点は、可変基準点Pdから第2の交点までの道のりYにより指定される。そして、境界情報の前半には2つの交点が属する経路を識別する情報(K22,K22)、後半には第1の交点の道のり(X)及び第2の交点の道のり(Y)が順に含められる。
図17は、図14の第3の構成例14cにおいて動きベクトル決定部46により生成され得る境界情報の一例について説明するための説明図である。第3の構成例14cにおいても、境界情報は、各交点が属する経路を識別する情報と、各経路上に設定される基準点からの当該経路に沿った道のりとを含む。また、2つの交点が共通する経路に属する場合には、固定基準点からより遠くに位置する第2の交点は、可変基準点からの道のりにより指定される。
図17の左の例では、第1の交点は経路K31、第2の交点は経路K32に属する。ブロックBL15の外周と境界B15との第1の交点は、経路K31に沿った基準点Paから第1の交点までの道のりXにより指定される。また、第2の交点は、経路K32に沿った基準点Paから第2の交点までの道のりYにより指定される。この場合、いずれの交点に関する情報が先に符号化されてもよい。但し、2つの交点についての道のりよりも先に、2つの交点についての経路を識別する情報が符号化される。
図17の中央の例では、2つの交点は共に経路K31に属する。このうち、経路K31の固定基準点Paからより近くに位置する第1の交点は、固定基準点Paから第1の交点までの道のりXにより指定される。また、経路K31上で第1の交点の次に位置するコーナーは、コーナーPcである。従って、第2の交点は、可変基準点Pcから第2の交点までの道のりYにより指定される。そして、境界情報の前半には2つの交点が属する経路を識別する情報(K31,K31)、後半には第1の交点の道のり(X)及び第2の交点の道のり(Y)が順に含められる。
図17の右の例では、2つの交点は共に経路K32に属する。このうち、経路22の固定基準点Paからより近くに位置する第1の交点は、固定基準点Paから第1の交点までの道のりXにより指定される。また、経路K32上で第1の交点の次に位置するコーナーは、コーナーPdである。従って、第2の交点は、可変基準点Pdから第2の交点までの道のりYにより指定される。そして、境界情報の前半には2つの交点が属する経路を識別する情報(K32,K32)、後半には第1の交点の道のり(X)及び第2の交点の道のり(Y)が順に含められる。
図16及び図17の例では、ブロックの外周が2つの経路に分割されるため、1つの交点が属する経路を1ビットで識別することができる。また、基準点から交点までの道のりのダイナミックレンジは、図15の例と比較して半分になる。ここで、可変長符号化では、通常、より小さい値に対してより短い符号が割り当てられる。その結果、図16及び図17の例では、図15の例と比較して、全体として境界情報の符号量が削減され得る。また、第2の交点を可変基準点からの道のりにより指定することで、図15の例と同様、第2の交点に関する境界情報の符号量をさらに削減することも可能である。
(4)境界情報の例(外周4分割)
図18は、図14の第4の構成例14dにおいて動きベクトル決定部46により生成され得る境界情報の一例について説明するための説明図である。第4の構成例14dにおいても、境界情報は、各交点が属する経路を識別する情報と、各経路上に設定される基準点からの当該経路に沿った道のりとを含む。
図18の左の例では、第1の交点は経路K42、第2の交点は経路K43に属する。第1の交点は、経路K42に沿った基準点Pcから第1の交点までの道のりX10により指定される。また、第2の交点は、経路K43に沿った基準点Pbから第2の交点までの道のりY10により指定される。
図18の中央の例では、第1の交点は経路K41、第2の交点は経路K43に属する。第1の交点は、経路K41に沿った基準点Paから第1の交点までの道のりX11により指定される。また、第2の交点は、経路K43に沿った基準点Pbから第2の交点までの道のりY11により指定される。
図18の右の例では、第1の交点は経路K43、第2の交点は経路K44に属する。第1の交点は、経路K43に沿った基準点Pbから第1の交点までの道のりX12により指定される。また、第2の交点は、経路K44に沿った基準点Pdから第2の交点までの道のりY12により指定される。
図18の例では、ブロックの外周が4つの経路に分割されるため、1つの交点が属する経路を2ビットで識別することができる。また、基準点から交点までの道のりのダイナミックレンジは、図15の例と比較して4分の1、図16及び図17の例と比較して半分になる。その結果、図18の例では、全体として境界情報の符号量をさらに削減することができる。
[1−5.境界情報の量子化]
上述した境界情報に含まれる各交点についての道のりの指定の粒度は、典型的には、動き補償の品質、符号量、及び動き探索の処理コストなどを考慮して決定され得る。例えば、道のりの指定の粒度をより小さくすれば、実際の動物体の輪郭に近い境界を指定できる可能性が高まるため、動き補償の品質は向上し得る。しかし、その場合、境界情報の符号量は多くなる。また、動き探索における探索範囲が拡大する結果、処理コストも増大し得る。これに対し、道のりの指定の粒度をより大きくすれば、動き補償の品質が低下し得る一方で、境界情報の符号量が減少する。特に、より大きいブロックサイズは、ブロック内に現れる動きが比較的一様である場合に選択され得る。そのため、ブロックサイズが大きい場合には、道のりの指定の粒度をより大きくしても、動き補償の品質が大きく低下することはないものと予測される。そこで、本実施形態において、動きベクトル決定部46は、ブロックサイズに応じて、各交点についての道のりを1画素よりも大きい単位量で量子化する。より具体的には、動きベクトル決定部46は、道のりの量子化のための単位量を、ブロックサイズが大きいほど大きい値に設定する。
図19は、動きベクトル決定部46による境界情報の量子化の一例について説明するための説明図である。図19を参照すると、ブロックサイズが16×16画素であるブロックBLaと、ブロックサイズが32×32画素であるブロックBLbとが示されている。なお、各ブロックの外周は、一例として、それぞれ基準点Pa及びPbを起点とする2つの経路K21及びK22に分割されているものとする。
ブロックBLaの第1の交点Is1は、経路K21に属している。第1の交点Is1の基準点Paからの道のりXは26画素と計測される。第2の交点Is2は、経路K22に属している。第2の交点Is2の基準点Pbからの道のりYは10画素と計測される。ここで、一例として、ブロックサイズ16×16画素のブロックについての道のりの量子化の単位量は2(画素)であるものとする。第1の交点Is1の道のりXは、量子化により26/2=13と算出される。同様に、第2の交点Is2の道のりYは、量子化により10/2=5と算出される。従って、動きベクトル決定部46が生成する境界情報は、各交点の経路を識別するための経路フラグ(経路K21を意味する“0”、及び経路K22を意味する“1”)に加えて、量子化後の第1の交点Is1の道のり“13”及び量子化後の第2の交点Is2の道のり“5”を含む。
ブロックBLbの第1の交点Is3は、経路K21に属している。第1の交点Is3の基準点Paからの道のりXは52画素と計測される。第2の交点Is4は、経路K22に属している。第2の交点Is2の基準点Pbからの道のりYは20画素と計測される。ここで、一例として、ブロックサイズ32×32画素のブロックについての道のりの量子化の単位量は4(画素)であるものとする。第1の交点Is3の道のりXは、量子化により52/4=13と算出される。同様に、第2の交点Is4の道のりYは、量子化により20/4=5と算出される。従って、動きベクトル決定部46が生成する境界情報は、各交点の経路を識別するための経路フラグ(経路K21を意味する“0”、及び経路K22を意味する“1”)に加えて、量子化後の第1の交点Is3の道のり“13”及び量子化後の第2の交点Is4の道のり“5”を含む。
このような量子化の単位量は、予め画像符号化装置と画像復号化装置との間で共通的に定義されてもよい。その場合、動きベクトル決定部46は、当該単位量に関する情報を出力しない。一方、共通的な定義が存在しない場合には、動きベクトル決定部46は、量子化の単位量に関する情報をさらに境界情報に含めて出力してもよい。
<2.一実施形態に係る符号化時の処理の流れ>
次に、図20〜図23を用いて、符号化時の処理の流れを説明する。
[2−1.動き探索処理]
図20は、本実施形態に係る動き探索部40による動き探索処理の流れの一例を示すフローチャートである。
図20を参照すると、まず、探索処理部41は、傾きを有する境界を含む複数の境界の候補により、画像内に設定されるブロックを複数の領域に区分する(ステップS100)。例えば、第1の境界の候補は、H.264/AVCにおける水平方向又は垂直方向に沿った境界であり、第1の境界の候補によって、各ブロックは複数の矩形領域に区分され得る。また、例えば、第2の境界の候補は、ジオメトリ動き分割による傾きを有する境界(斜めの境界)であり、第2の境界の候補によって、各ブロックは複数の非矩形領域に区分され得る。
次に、動きベクトル算出部42は、参照画像の画素値と各領域内の原画像の画素値とに基づいて、各領域についての動きベクトルを算出する(ステップS110)。
次に、動きベクトル予測部45は、境界により区分されたブロック内の各領域内の画素値の予測に使用すべき動きベクトルを、領域ごとに複数の予測式の候補を用いて予測する(ステップS120)。次に、動きベクトル予測部45は、候補としての境界と予測式との組合せごとに、動きベクトル算出部42により算出された動きベクトルと予測動きベクトルとの差分を表す差分動きベクトルを算出する(ステップS130)。
次に、動きベクトル決定部46は、動きベクトル予測部45による予測結果に基づいて、境界と予測式との各組合せについてのコスト関数値を評価し、最良の符号化効率を達成する境界と予測式との組合せを選択する(ステップS140)。動きベクトル決定部46に用いられるコスト関数は、例えば、原画像及び復号化後の画像の間の差分エネルギーと発生する符号量とに基づく関数であってよい。
次に、動きベクトル決定部46は、ステップS140において選択した境界が図3及び図4に例示したような水平又は垂直の境界であるか否かを判定する(ステップS150)。そして、選択した境界が水平又は垂直の境界でない場合には、動きベクトル決定部46は、後に詳細に説明する境界情報生成処理を行う(ステップS155)。
次に、補償部47は、動きベクトル決定部46により選択された最適な境界及び最適な予測式を用いて、符号化対象ブロック内の画素に関する予測画素値を算出し、予測画素データを生成する(ステップS190)。そして、補償部47は、インター予測に関する情報と予測画素データとをモード選択部50へ出力する(ステップS195)。インター予測に関する情報には、例えば、ステップS155において生成された境界情報、最適な予測式を特定する予測式情報、対応する差分動きベクトル情報、参照画像情報、及び対応するコスト関数値などが含まれ得る。ここで出力された境界情報は、例えば、図1に示した可逆符号化部16により可変長符号化され得る。なお、最終的に各ブロック内の各領域に設定された動きベクトルは、参照動きベクトルとして動きベクトルバッファ43により記憶される。また、境界情報は、境界情報バッファ44により記憶される。
[2−2.境界情報生成処理(外周の分割なし)]
図21は、図20のステップS155の処理に相当する、動きベクトル決定部46による境界情報生成処理の流れの第1の例を示すフローチャートである。図21の例は、ブロックの外周が分割されない場合(即ち、外周上に1つの経路のみが設定される場合)の処理の流れを示している。
図21を参照すると、まず、動きベクトル決定部46は、ブロックの外周上の経路に沿って固定基準点からより近くに位置する第1の交点の道のりを決定する(ステップS162)。次に、動きベクトル決定部46は、上記経路上の第1の交点の次のコーナーを可変基準点に設定する(ステップS163)。次に、動きベクトル決定部46は、上記経路上での可変基準点からの第2の交点の道のりを決定する(ステップS164)。次に、動きベクトル決定部46は、ブロックサイズに応じて選択される単位量で、ステップS162及びS164において決定した各交点の道のりを量子化する(ステップS166)。そして、動きベクトル決定部46は、量子化した第1の交点の道のり、量子化した第2の交点の道のりの順に、境界情報を形成する(ステップS167)。
[2−3.境界情報生成処理(外周2分割)]
図22は、図20のステップS155の処理に相当する、動きベクトル決定部46による境界情報生成処理の流れの第2の例を示すフローチャートである。図22の例は、ブロックの外周が2つの経路に分割される場合の処理の流れを示している。
図22を参照すると、まず、動きベクトル決定部46は、ブロックの外周と境界との2つの交点がそれぞれ属する経路を認識する(ステップS170)。次に、動きベクトル決定部46は、2つの交点が同じ経路に属するか否かを判定する(ステップS171)。ここで、2つの交点が同じ経路に属する場合には、処理はステップS172へ進む。一方、2つの交点が同じ経路に属しない場合には、処理はステップS175へ進む。
ステップS172では、動きベクトル決定部46は、ブロックの外周上の経路に沿って固定基準点からより近い第1の交点の道のりを決定する(ステップS172)。次に、動きベクトル決定部46は、上記経路上の第1の交点の次のコーナーを可変基準点に設定する(ステップS173)。次に、動きベクトル決定部46は、上記経路上での可変基準点からの第2の交点の道のりを決定する(ステップS174)。一方、ステップS175では、動きベクトル決定部46は、それぞれの経路に沿って固定基準点からの各交点の道のりを決定する(ステップS175)。
次に、動きベクトル決定部46は、ブロックサイズに応じて選択される単位量で、ステップS172及びS174、又はステップS175において決定した各交点の道のりを量子化する(ステップS176)。そして、動きベクトル決定部46は、第1の交点の経路フラグ、第2の交点の経路フラグ、量子化した第1の交点の道のり、量子化した第2の交点の道のりの順に、境界情報を形成する(ステップS177)。
[2−4.境界情報生成処理(外周4分割)]
図23は、図20のステップS155の処理に相当する、動きベクトル決定部46による境界情報生成処理の流れの第3の例を示すフローチャートである。図23の例は、ブロックの外周が各辺に対応する4つの経路に分割される場合の処理の流れを示している。
図23を参照すると、まず、動きベクトル決定部46は、ブロックの外周と境界との2つの交点がそれぞれ属する経路を認識する(ステップS180)。次に、動きベクトル決定部46は、それぞれの経路に沿って固定基準点からの各交点の道のりを決定する(ステップS185)。次に、動きベクトル決定部46は、ブロックサイズに応じて選択される単位量で、ステップS185において決定した各交点の道のりを量子化する(ステップS186)。そして、動きベクトル決定部46は、第1の交点の経路フラグ、第2の交点の経路フラグ、量子化した第1の交点の道のり、量子化した第2の交点の道のりの順に、境界情報を形成する(ステップS187)。
<3.一実施形態に係る画像復号化装置の構成例>
本節では、図24及び図25を用いて、本発明の一実施形態に係る画像復号化装置の構成例について説明する。
[3−1.全体的な構成例]
図24は、本発明の一実施形態に係る画像復号化装置60の構成の一例を示すブロック図である。図24を参照すると、画像復号化装置60は、蓄積バッファ61、可逆復号化部62、逆量子化部63、逆直交変換部64、加算部65、デブロックフィルタ66、並べ替えバッファ67、D/A(Digital to Analogue)変換部68、フレームメモリ69、セレクタ70及び71、イントラ予測部80、並びに動き補償部90を備える。
蓄積バッファ61は、伝送路を介して入力される符号化ストリームを記憶媒体を用いて一時的に蓄積する。
可逆復号化部62は、蓄積バッファ61から入力される符号化ストリームを、符号化の際に使用された符号化方式に従って復号化する。また、可逆復号化部62は、符号化ストリームのヘッダ領域に多重化されている情報を復号化する。符号化ストリームのヘッダ領域に多重化されている情報とは、例えば、ブロックヘッダ内のイントラ予測に関する情報及びインター予測に関する情報を含み得る。可逆復号化部62は、イントラ予測に関する情報をイントラ予測部80へ出力する。また、可逆復号化部62は、インター予測に関する情報を動き補償部90へ出力する。
逆量子化部63は、可逆復号化部62による復号化後の量子化データを逆量子化する。逆直交変換部64は、符号化の際に使用された直交変換方式に従い、逆量子化部63から入力される変換係数データについて逆直交変換を行うことにより、予測誤差データを生成する。そして、逆直交変換部64は、生成した予測誤差データを加算部65へ出力する。
加算部65は、逆直交変換部64から入力される予測誤差データと、セレクタ71から入力される予測画像データとを加算することにより、復号化画像データを生成する。そして、加算部65は、生成した復号化画像データをデブロックフィルタ66及びフレームメモリ69へ出力する。
デブロックフィルタ66は、加算部65から入力される復号化画像データをフィルタリングすることによりブロック歪みを除去し、フィルタリング後の復号化画像データを並べ替えバッファ67及びフレームメモリ69へ出力する。
並べ替えバッファ67は、デブロックフィルタ66から入力される画像を並べ替えることにより、時系列の一連の画像データを生成する。そして、並べ替えバッファ67は、生成した画像データをD/A変換部68へ出力する。
D/A変換部68は、並べ替えバッファ67から入力されるデジタル形式の画像データをアナログ形式の画像信号に変換する。そして、D/A変換部68は、例えば、画像復号化装置60と接続されるディスプレイ(図示せず)にアナログ画像信号を出力することにより、画像を表示させる。
フレームメモリ69は、加算部65から入力されるフィルタリング前の復号化画像データ、及びデブロックフィルタ66から入力されるフィルタリング後の復号化画像データを記憶媒体を用いて記憶する。
セレクタ70は、可逆復号化部62により取得されるモード情報に応じて、画像内のブロックごとに、フレームメモリ70からの画像データの出力先をイントラ予測部80と動き補償部90との間で切り替える。例えば、セレクタ70は、イントラ予測モードが指定された場合には、フレームメモリ70から供給されるフィルタリング前の復号化画像データを参照画像データとしてイントラ予測部80へ出力する。また、セレクタ70は、インター予測モードが指定された場合には、フレームメモリ70から供給されるフィルタリング後の復号化画像データを参照画像データとして動き補償部90へ出力する。
セレクタ71は、可逆復号化部62により取得されるモード情報に応じて、画像内のブロックごとに、加算部65へ供給すべき予測画像データの出力元をイントラ予測部80と動き補償部90との間で切り替える。例えば、セレクタ71は、イントラ予測モードが指定された場合には、イントラ予測部80から出力される予測画像データを加算部65へ供給する。セレクタ71は、インター予測モードが指定された場合には、動き補償部90から出力される予測画像データを加算部65へ供給する。
イントラ予測部80は、可逆復号化部62から入力されるイントラ予測に関する情報とフレームメモリ69からの参照画像データとに基づいて画素値の画面内予測を行い、予測画像データを生成する。そして、イントラ予測部80は、生成した予測画像データをセレクタ71へ出力する。
動き補償部90は、可逆復号化部62から入力されるインター予測に関する情報とフレームメモリ69からの参照画像データとに基づいて動き補償処理を行い、予測画像データを生成する。そして、動き補償部90は、生成した予測画像データをセレクタ71へ出力する。
[3−2.動き補償部の構成例]
図25は、図24に示した画像復号化装置60の動き補償部90の詳細な構成の一例を示すブロック図である。図25を参照すると、動き補償部90は、境界認識部91、差分復号化部92、動きベクトル設定部93、動きベクトルバッファ94、境界情報バッファ95及び予測部96を有する。
境界認識部91は、画像の符号化の際に画像内のブロックを複数の領域に区分した境界を認識する。かかる境界は、傾きを有する境界を含む複数の候補から選択される境界である。より具体的には、境界認識部91は、まず、可逆復号化部62から入力されるインター予測に関する情報に含まれる境界情報を取得する。ここで取得される境界情報は、ブロックの外周と境界との複数の交点を指定する情報である。そして、境界認識部91は、取得した境界情報に基づいて、各ブロックを区分した境界を認識する。境界認識部91による境界認識処理の流れについて、後により具体的に説明する。
差分復号化部92は、可逆復号化部62から入力されるインター予測に関する情報に含まれる差分動きベクトル情報に基づいて、各領域について符号化の際に算出された差分動きベクトルを復号化する。そして、差分復号化部92は、差分動きベクトルを、動きベクトル設定部93へ出力する。
動きベクトル設定部93は、境界認識部91により認識される境界に応じて、当該境界により区分される各領域に基準画素位置を設定する。このとき、ブロックの外周と境界との交点が境界情報により直接的に指定されているため、動きベクトル設定部93は、少ない演算量で各領域に容易に基準画素位置を設定することができる。また、動きベクトル設定部93は、設定した基準画素位置に対応する参照ブロック又は参照領域の動きベクトル(即ち、参照動きベクトル)を、動きベクトルバッファ94から取得する。そして、動きベクトル設定部93は、取得した参照動きベクトルに基づいて、各領域内の画素値の予測に使用すべき動きベクトルを設定する。
より具体的には、動きベクトル設定部93は、まず、可逆復号化部62から入力されるインター予測に関する情報に含まれる予測式情報を取得する。予測式情報は、各領域と関連付けて取得され得る。次に、動きベクトル設定部93は、予測式情報が特定する予測式に参照動きベクトルを代入し、予測動きベクトルを算出する。さらに、動きベクトル設定部93は、算出した予測動きベクトルに、差分復号化部92から入力される差分動きベクトルを加算して動きベクトルを算出する。動きベクトル設定部93は、このように算出される動きベクトルを、各領域に設定する。また、動きベクトル設定部93は、各領域に設定した動きベクトルを動きベクトルバッファ94へ出力すると共に、境界情報を境界情報バッファ95へ出力する。
動きベクトルバッファ94は、動きベクトル設定部93による動きベクトル設定処理において参照される動きベクトルを、記憶媒体を用いて一時的に記憶する。動きベクトルバッファ94において参照される動きベクトルとは、復号化済みの参照画像内のブロック又は領域に設定された動きベクトル、及び符号化対象の画像内の他のブロック又は領域に設定された動きベクトルを含み得る。
境界情報バッファ95は、動きベクトル設定部93による動きベクトル設定処理において参照される境界情報を、記憶媒体を用いて一時的に記憶する。境界情報バッファ95により記憶される境界情報は、例えば、基準画素位置に対応する参照ブロック又は参照領域を特定するために参照され得る。
予測部96は、境界認識部91により認識される境界により区分されたブロック内の領域ごとに、動きベクトル設定部93により設定される動きベクトル及び参照画像情報、並びにフレームメモリ69から入力される参照画像データを用いて、予測画素値を生成する。そして、予測部93は、生成した予測画素値を含む予測画像データをセレクタ71へ出力する。
<4.一実施形態に係る復号化時の処理の流れ>
[4−1.動き補償処理]
次に、図26を用いて、復号化時の処理の流れを説明する。図26は、本実施形態に係る画像復号化装置60の動き補償部90による動き補償処理の流れの一例を示すフローチャートである。
図26を参照すると、まず、画像符号化装置60の境界認識部91は、ジオメトリ動き分割が指定されているか否かを判定する(ステップS200)。例えば、境界認識部91は、インター予測に関する情報に含まれる予測モードを参照することにより、ジオメトリ動き分割が指定されているか否かを判定することができる。ここで、ジオメトリ動き分割が指定されている場合には、処理はステップS205へ進む。一方、ジオメトリ動き分割が指定されていない場合には、ブロックは、図3及び図4に例示したような水平又は垂直の境界により区分されている。この場合、処理はステップS250へ進む。
ステップS205において、境界認識部91は、可逆復号化部62から入力されるインター予測に関する情報に含まれる境界情報を取得する(ステップS205)。次に、境界認識部91は、後に詳細に説明する境界認識処理を行う(ステップS210)。
次に、差分復号化部92は、可逆復号化部62から入力されるインター予測に関する情報に含まれる差分動きベクトル情報に基づいて、差分動きベクトルを取得する(ステップS250)。そして、差分復号化部92は、取得した差分動きベクトルを、動きベクトル設定部93へ出力する。
次に、動きベクトル設定部93は、境界認識部91により認識された境界に応じた基準画素位置に対応するブロック又は領域に設定された動きベクトルである参照動きベクトルを、動きベクトルバッファ94から取得する(ステップS260)。
次に、動きベクトル設定部93は、可逆復号化部62から入力されるインター予測に関する情報に含まれる予測式情報から認識される予測式に参照動きベクトルを代入することにより、各領域についての予測動きベクトルを算出する(ステップS265)。
次に、動きベクトル設定部93は、算出した予測動きベクトルに差分復号化部92から入力された差分動きベクトルを加算することにより、各領域についての動きベクトルを算出する(ステップS270)。動きベクトル設定部93は、このように領域ごとに動きベクトルを算出し、算出した動きベクトルを各領域に設定する。
次に、予測部94は、動きベクトル設定部93により設定された動きベクトル及び参照画像情報、並びにフレームメモリ69から入力される参照画像データを用いて、予測画素値を生成する(ステップ280)。そして、予測部94は、生成した予測画素値を含む予測画像データをセレクタ71へ出力する(ステップS290)。
[4−2.境界認識処理(外周の分割なし)]
図27は、図26のステップS210の処理に相当する、境界認識部91による境界認識処理の流れの第1の例を示すフローチャートである。図27の例は、ブロックの外周が分割されない場合(即ち、外周上に1つの経路のみが設定される場合)の処理の流れを示している。
図27を参照すると、まず、境界認識部91は、境界情報に含まれる各交点についての道のりを、ブロックサイズに応じた単位量で逆量子化する(ステップS221)。ここでの逆量子化の単位量は、例えば1画素よりも大きい単位量であって、図19に関連して説明したように、ブロックのサイズが大きいほど大きい値であってよい。次に、境界認識部91は、逆量子化後の第1の交点の道のりと固定基準点の位置とに基づいて、第1の交点を認識する(ステップS223)。次に、境界認識部91は、上記経路上の第1の交点の次のコーナーを可変基準点に設定する(ステップS224)。次に、境界認識部91は、逆量子化後の第2の交点の道のりと可変基準点の位置とに基づいて、第2の交点を認識する(ステップS225)。
[4−3.境界認識処理(外周2分割)]
図28は、図26のステップS210の処理に相当する、境界認識部91による境界認識処理の流れの第2の例を示すフローチャートである。図28の例は、ブロックの外周が2つの経路に分割される場合の処理の流れを示している。この場合、境界情報は、図16及び図17に例示したように、各交点が属する経路を識別する情報(以下、経路識別情報という)と、各経路上に設定される基準点からの当該経路に沿った道のりとを含む。
図28を参照すると、まず、境界認識部91は、境界情報に含まれる経路識別情報に基づいて、ブロックの外周と境界との2つの交点がそれぞれ属する経路を識別する(ステップS230)。次に、境界認識部91は、境界情報に含まれる各交点についての道のりを、ブロックサイズに応じた単位量で逆量子化する(ステップS231)。次に、境界認識部91は、ステップS230での識別結果に基づいて、2つの交点が同じ経路に属するか否かを判定する(ステップS232)。ここで、2つの交点が同じ経路に属する場合には、処理はステップS233へ進む。一方、2つの交点が同じ経路に属しない場合には、処理はステップS236へ進む。
ステップS233では、境界認識部91は、逆量子化後の第1の交点の道のりと2つの交点が属する経路の固定基準点の位置とに基づいて、第1の交点を認識する(ステップS233)。次に、境界認識部91は、上記経路上の第1の交点の次のコーナーを可変基準点に設定する(ステップS234)。次に、境界認識部91は、逆量子化後の第2の交点の道のりと可変基準点の位置とに基づいて、第2の交点を認識する(ステップS235)。
一方、ステップS236では、境界認識部91は、2つの交点がそれぞれ属する経路の各固定基準点の位置と逆量子化後の各道のりとに基づいて、2つの交点を認識する(ステップS236)。
[4−4.境界認識処理(外周4分割)]
図29は、図26のステップS210の処理に相当する、境界認識部91による境界認識処理の流れの第3の例を示すフローチャートである。図29の例は、ブロックの外周が4つの経路に分割される場合の処理の流れを示している。この場合、境界情報は、図18に例示したように、各交点が属する経路を識別する情報と、各経路上に設定される基準点からの当該経路に沿った道のりとを含む。
図29を参照すると、まず、境界認識部91は、境界情報に含まれる経路識別情報に基づいて、ブロックの外周と境界との2つの交点がそれぞれ属する経路を識別する(ステップS240)。次に、境界認識部91は、境界情報に含まれる各交点についての道のりを、ブロックサイズに応じた単位量で逆量子化する(ステップS241)。次に、境界認識部91は、2つの交点がそれぞれ属する経路の各固定基準点の位置と逆量子化後の各道のりとに基づいて、2つの交点を認識する(ステップS246)。
このように、本明細書で説明した境界情報を用いることで、ジオメトリ動き分割においても、幾何学的演算を経ることなく、ブロックの外周と境界との交点を少ない演算量で簡易に認識することが可能である。
<5.応用例>
上述した実施形態に係る画像符号化装置10及び画像復号化装置60は、衛星放送、ケーブルTVなどの有線放送、インターネット上での配信、及びセルラー通信による端末への配信などにおける送信機若しくは受信機、光ディスク、磁気ディスク及びフラッシュメモリなどの媒体に画像を記録する記録装置、又は、これら記憶媒体から画像を再生する再生装置などの様々な電子機器に応用され得る。以下、4つの応用例について説明する。
[5−1.第1の応用例]
図30は、上述した実施形態を適用したテレビジョン装置の概略的な構成の一例を示している。テレビジョン装置900は、アンテナ901、チューナ902、デマルチプレクサ903、デコーダ904、映像信号処理部905、表示部906、音声信号処理部907、スピーカ908、外部インタフェース909、制御部910、ユーザインタフェース911、及びバス912を備える。
チューナ902は、アンテナ901を介して受信される放送信号から所望のチャンネルの信号を抽出し、抽出した信号を復調する。そして、チューナ902は、復調により得られた符号化ビットストリームをデマルチプレクサ903へ出力する。即ち、チューナ902は、画像が符号化されている符号化ストリームを受け取る、テレビジョン装置900における伝送手段としての役割を有する。
デマルチプレクサ903は、符号化ビットストリームから視聴対象の番組の映像ストリーム及び音声ストリームを分離し、分離した各ストリームをデコーダ904へ出力する。また、デマルチプレクサ903は、符号化ビットストリームからEPG(Electronic Program Guide)などの補助的なデータを抽出し、抽出したデータを制御部910に供給する。なお、デマルチプレクサ903は、符号化ビットストリームがスクランブルされている場合には、デスクランブルを行ってもよい。
デコーダ904は、デマルチプレクサ903から入力される映像ストリーム及び音声ストリームを復号化する。そして、デコーダ904は、復号化処理により生成される映像データを映像信号処理部905へ出力する。また、デコーダ904は、復号化処理により生成される音声データを音声信号処理部907へ出力する。
映像信号処理部905は、デコーダ904から入力される映像データを再生し、表示部906に映像を表示させる。また、映像信号処理部905は、ネットワークを介して供給されるアプリケーション画面を表示部906に表示させてもよい。また、映像信号処理部905は、映像データについて、設定に応じて、例えばノイズ除去などの追加的な処理を行ってもよい。さらに、映像信号処理部905は、例えばメニュー、ボタン又はカーソルなどのGUI(Graphical User Interface)の画像を生成し、生成した画像を出力画像に重畳してもよい。
表示部906は、映像信号処理部905から供給される駆動信号により駆動され、表示デバイス(例えば、液晶ディスプレイ、プラズマディスプレイ又はOLEDなど)の映像面上に映像又は画像を表示する。
音声信号処理部907は、デコーダ904から入力される音声データについてD/A変換及び増幅などの再生処理を行い、スピーカ908から音声を出力させる。また、音声信号処理部907は、音声データについてノイズ除去などの追加的な処理を行ってもよい。
外部インタフェース909は、テレビジョン装置900と外部機器又はネットワークとを接続するためのインタフェースである。例えば、外部インタフェース909を介して受信される映像ストリーム又は音声ストリームが、デコーダ904により復号化されてもよい。即ち、外部インタフェース909もまた、画像が符号化されている符号化ストリームを受け取る、テレビジョン装置900における伝送手段としての役割を有する。
制御部910は、CPU(Central Processing Unit)などのプロセッサ、並びにRAM(Random Access Memory)及びROM(Read Only Memory)などのメモリを有する。メモリは、CPUにより実行されるプログラム、プログラムデータ、EPGデータ、及びネットワークを介して取得されるデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、テレビジョン装置900の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース911から入力される操作信号に応じて、テレビジョン装置900の動作を制御する。
ユーザインタフェース911は、制御部910と接続される。ユーザインタフェース911は、例えば、ユーザがテレビジョン装置900を操作するためのボタン及びスイッチ、並びに遠隔制御信号の受信部などを有する。ユーザインタフェース911は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部910へ出力する。
バス912は、チューナ902、デマルチプレクサ903、デコーダ904、映像信号処理部905、音声信号処理部907、外部インタフェース909及び制御部910を相互に接続する。
このように構成されたテレビジョン装置900において、デコーダ904は、上述した実施形態に係る画像復号化装置60の機能を有する。それにより、矩形以外の様々な形状をとり得る領域にブロックが区分される場合に、既存の手法と比較してより少ない演算量で動きを補償することができる。
[5−2.第2の応用例]
図31は、上述した実施形態を適用した携帯電話機の概略的な構成の一例を示している。携帯電話機920は、アンテナ921、通信部922、音声コーデック923、スピーカ924、マイクロホン925、カメラ部926、画像処理部927、多重分離部928、記録再生部929、表示部930、制御部931、操作部932、及びバス933を備える。
アンテナ921は、通信部922に接続される。スピーカ924及びマイクロホン925は、音声コーデック923に接続される。操作部932は、制御部931に接続される。バス933は、通信部922、音声コーデック923、カメラ部926、画像処理部927、多重分離部928、記録再生部929、表示部930、及び制御部931を相互に接続する。
携帯電話機920は、音声通話モード、データ通信モード、撮影モード及びテレビ電話モードを含む様々な動作モードで、音声信号の送受信、電子メール又は画像データの送受信、画像の撮像、及びデータの記録などの動作を行う。
音声通話モードにおいて、マイクロホン925により生成されるアナログ音声信号は、音声コーデック923に供給される。音声コーデック923は、アナログ音声信号を音声データへ変換し、変換された音声データをA/D変換し圧縮する。そして、音声コーデック923は、圧縮後の音声データを通信部922へ出力する。通信部922は、音声データを符号化及び変調し、送信信号を生成する。そして、通信部922は、生成した送信信号をアンテナ921を介して基地局(図示せず)へ送信する。また、通信部922は、アンテナ921を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。そして、通信部922は、受信信号を復調及び復号化して音声データを生成し、生成した音声データを音声コーデック923へ出力する。音声コーデック923は、音声データを伸張し及びD/A変換し、アナログ音声信号を生成する。そして、音声コーデック923は、生成した音声信号をスピーカ924に供給して音声を出力させる。
また、データ通信モードにおいて、例えば、制御部931は、操作部932を介するユーザによる操作に応じて、電子メールを構成する文字データを生成する。また、制御部931は、文字を表示部930に表示させる。また、制御部931は、操作部932を介するユーザからの送信指示に応じて電子メールデータを生成し、生成した電子メールデータを通信部922へ出力する。通信部922は、電子メールデータを符号化及び変調し、送信信号を生成する。そして、通信部922は、生成した送信信号をアンテナ921を介して基地局(図示せず)へ送信する。また、通信部922は、アンテナ921を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。そして、通信部922は、受信信号を復調及び復号化して電子メールデータを復元し、復元した電子メールデータを制御部931へ出力する。制御部931は、表示部930に電子メールの内容を表示させると共に、電子メールデータを記録再生部929の記憶媒体に記憶させる。
記録再生部929は、読み書き可能な任意の記憶媒体を有する。例えば、記憶媒体は、RAM又はフラッシュメモリなどの内蔵型の記憶媒体であってもよく、ハードディスク、磁気ディスク、光磁気ディスク、光ディスク、USBメモリ、又はメモリカードなどの外部装着型の記憶媒体であってもよい。
また、撮影モードにおいて、例えば、カメラ部926は、被写体を撮像して画像データを生成し、生成した画像データを画像処理部927へ出力する。画像処理部927は、カメラ部926から入力される画像データを符号化し、符号化ストリームを記憶再生部929の記憶媒体に記憶させる。
また、テレビ電話モードにおいて、例えば、多重分離部928は、画像処理部927により符号化された映像ストリームと、音声コーデック923から入力される音声ストリームとを多重化し、多重化したストリームを通信部922へ出力する。通信部922は、ストリームを符号化及び変調し、送信信号を生成する。そして、通信部922は、生成した送信信号をアンテナ921を介して基地局(図示せず)へ送信する。また、通信部922は、アンテナ921を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。これら送信信号及び受信信号には、符号化ビットストリームが含まれ得る。そして、通信部922は、受信信号を復調及び復号化してストリームを復元し、復元したストリームを多重分離部928へ出力する。多重分離部928は、入力されるストリームから映像ストリーム及び音声ストリームを分離し、映像ストリームを画像処理部927、音声ストリームを音声コーデック923へ出力する。画像処理部927は、映像ストリームを復号化し、映像データを生成する。映像データは、表示部930に供給され、表示部930により一連の画像が表示される。音声コーデック923は、音声ストリームを伸張し及びD/A変換し、アナログ音声信号を生成する。そして、音声コーデック923は、生成した音声信号をスピーカ924に供給して音声を出力させる。
このように構成された携帯電話機920において、画像処理部927は、上述した実施形態に係る画像符号化装置10及び画像復号化装置60の機能を有する。それにより、矩形以外の様々な形状をとり得る領域にブロックが区分される場合に、既存の手法と比較してより少ない演算量で動きを補償することができる。
[5−3.第3の応用例]
図32は、上述した実施形態を適用した記録再生装置の概略的な構成の一例を示している。記録再生装置940は、例えば、受信した放送番組の音声データ及び映像データを符号化して記録媒体に記録する。また、記録再生装置940は、例えば、他の装置から取得される音声データ及び映像データを符号化して記録媒体に記録してもよい。また、記録再生装置940は、例えば、ユーザの指示に応じて、記録媒体に記録されているデータをモニタ及びスピーカ上で再生する。このとき、記録再生装置940は、音声データ及び映像データを復号化する。
記録再生装置940は、チューナ941、外部インタフェース942、エンコーダ943、HDD(Hard Disk Drive)944、ディスクドライブ945、セレクタ946、デコーダ947、OSD(On-Screen Display)948、制御部949、及びユーザインタフェース950を備える。
チューナ941は、アンテナ(図示せず)を介して受信される放送信号から所望のチャンネルの信号を抽出し、抽出した信号を復調する。そして、チューナ941は、復調により得られた符号化ビットストリームをセレクタ946へ出力する。即ち、チューナ941は、記録再生装置940における伝送手段としての役割を有する。
外部インタフェース942は、記録再生装置940と外部機器又はネットワークとを接続するためのインタフェースである。外部インタフェース942は、例えば、IEEE1394インタフェース、ネットワークインタフェース、USBインタフェース、又はフラッシュメモリインタフェースなどであってよい。例えば、外部インタフェース942を介して受信される映像データ及び音声データは、エンコーダ943へ入力される。即ち、外部インタフェース942は、記録再生装置940における伝送手段としての役割を有する。
エンコーダ943は、外部インタフェース942から入力される映像データ及び音声データが符号化されていない場合に、映像データ及び音声データを符号化する。そして、エンコーダ943は、符号化ビットストリームをセレクタ946へ出力する。
HDD944は、映像及び音声などのコンテンツデータが圧縮された符号化ビットストリーム、各種プログラム及びその他のデータを内部のハードディスクに記録する。また、HDD944は、映像及び音声の再生時に、これらデータをハードディスクから読み出す。
ディスクドライブ945は、装着されている記録媒体へのデータの記録及び読み出しを行う。ディスクドライブ945に装着される記録媒体は、例えばDVDディスク(DVD−Video、DVD−RAM、DVD−R、DVD−RW、DVD+R、DVD+RW等)又はBlu−ray(登録商標)ディスクなどであってよい。
セレクタ946は、映像及び音声の記録時には、チューナ941又はエンコーダ943から入力される符号化ビットストリームを選択し、選択した符号化ビットストリームをHDD944又はディスクドライブ945へ出力する。また、セレクタ946は、映像及び音声の再生時には、HDD944又はディスクドライブ945から入力される符号化ビットストリームをデコーダ947へ出力する。
デコーダ947は、符号化ビットストリームを復号化し、映像データ及び音声データを生成する。そして、デコーダ947は、生成した映像データをOSD948へ出力する。また、デコーダ904は、生成した音声データを外部のスピーカへ出力する。
OSD948は、デコーダ947から入力される映像データを再生し、映像を表示する。また、OSD948は、表示する映像に、例えばメニュー、ボタン又はカーソルなどのGUIの画像を重畳してもよい。
制御部949は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、及びプログラムデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、記録再生装置940の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース950から入力される操作信号に応じて、記録再生装置940の動作を制御する。
ユーザインタフェース950は、制御部949と接続される。ユーザインタフェース950は、例えば、ユーザが記録再生装置940を操作するためのボタン及びスイッチ、並びに遠隔制御信号の受信部などを有する。ユーザインタフェース950は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部949へ出力する。
このように構成された記録再生装置940において、エンコーダ943は、上述した実施形態に係る画像符号化装置10の機能を有する。また、デコーダ947は、上述した実施形態に係る画像復号化装置60の機能を有する。それにより、矩形以外の様々な形状をとり得る領域にブロックが区分される場合に、既存の手法と比較してより少ない演算量で動きを補償することができる。
[5−4.第4の応用例]
図33は、上述した実施形態を適用した撮像装置の概略的な構成の一例を示している。撮像装置960は、被写体を撮像して画像を生成し、画像データを符号化して記録媒体に記録する。
撮像装置960は、光学ブロック961、撮像部962、信号処理部963、画像処理部964、表示部965、外部インタフェース966、メモリ967、メディアドライブ968、OSD969、制御部970、ユーザインタフェース971、及びバス972を備える。
光学ブロック961は、撮像部962に接続される。撮像部962は、信号処理部963に接続される。表示部965は、画像処理部964に接続される。ユーザインタフェース971は、制御部970に接続される。バス972は、画像処理部964、外部インタフェース966、メモリ967、メディアドライブ968、OSD969、及び制御部970を相互に接続する。
光学ブロック961は、フォーカスレンズ及び絞り機構などを有する。光学ブロック961は、被写体の光学像を撮像部962の撮像面に結像させる。撮像部962は、CCD又はCMOSなどのイメージセンサを有し、撮像面に結像した光学像を光電変換によって電気信号としての画像信号に変換する。そして、撮像部962は、画像信号を信号処理部963へ出力する。
信号処理部963は、撮像部962から入力される画像信号に対してニー補正、ガンマ補正、色補正などの種々のカメラ信号処理を行う。信号処理部963は、カメラ信号処理後の画像データを画像処理部964へ出力する。
画像処理部964は、信号処理部963から入力される画像データを符号化し、符号化データを生成する。そして、画像処理部964は、生成した符号化データを外部インタフェース966又はメディアドライブ968へ出力する。また、画像処理部964は、外部インタフェース966又はメディアドライブ968から入力される符号化データを復号化し、画像データを生成する。そして、画像処理部964は、生成した画像データを表示部965へ出力する。また、画像処理部964は、信号処理部963から入力される画像データを表示部965へ出力して画像を表示させてもよい。また、画像処理部964は、OSD969から取得される表示用データを、表示部965へ出力する画像に重畳してもよい。
OSD969は、例えばメニュー、ボタン又はカーソルなどのGUIの画像を生成して、生成した画像を画像処理部964へ出力する。
外部インタフェース966は、例えばUSB入出力端子として構成される。外部インタフェース966は、例えば、画像の印刷時に、撮像装置960とプリンタとを接続する。また、外部インタフェース966には、必要に応じてドライブが接続される。ドライブには、例えば、磁気ディスク又は光ディスクなどのリムーバブルメディアが装着され、リムーバブルメディアから読み出されるプログラムが、撮像装置960にインストールされ得る。さらに、外部インタフェース966は、LAN又はインターネットなどのネットワークに接続されるネットワークインタフェースとして構成されてもよい。即ち、外部インタフェース966は、撮像装置960における伝送手段としての役割を有する。
メディアドライブ968に装着される記録媒体は、例えば、磁気ディスク、光磁気ディスク、光ディスク、又は半導体メモリなどの、読み書き可能な任意のリムーバブルメディアであってよい。また、メディアドライブ968に記録媒体が固定的に装着され、例えば、内蔵型ハードディスクドライブ又はSSD(Solid State Drive)のような非可搬性の記憶部が構成されてもよい。
制御部970は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、及びプログラムデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、撮像装置960の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース971から入力される操作信号に応じて、撮像装置960の動作を制御する。
ユーザインタフェース971は、制御部970と接続される。ユーザインタフェース971は、例えば、ユーザが撮像装置960を操作するためのボタン及びスイッチなどを有する。ユーザインタフェース971は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部970へ出力する。
このように構成された撮像装置960において、画像処理部964は、上述した実施形態に係る画像符号化装置10及び画像復号化装置60の機能を有する。それにより、矩形以外の様々な形状をとり得る領域にブロックが区分される場合に、既存の手法と比較してより少ない演算量で動きを補償することができる。
<6.まとめ>
ここまで、図1〜図33を用いて、本発明の一実施形態に係る画像符号化装置10及び画像復号化装置60について説明した。本実施形態によれば、画像内に設定されるブロックを傾きを有する境界を用いて複数の領域に区分して各領域の動きベクトルが決定される場合に、ブロックの外周と境界との複数の交点を指定する境界情報が、上記動きベクトルに基づく動き補償のために出力される。かかる境界情報を画像符号化装置から画像復号化装置に受け渡すことで、既存の手法のように幾何学的演算を経ることなく、ブロックの外周と境界との交点から各領域の基準画素位置をより少ない演算量で認識し、動き補償を行うことができる。その結果、エンコード及びデコードの双方において処理の複雑さが低減され、装置の実装が容易になると共に、画像の蓄積、配信及び再生をより高速に行うことが可能となる。
また、本実施形態によれば、上記境界情報は、ブロックの外周と境界との各交点を、上記外周上に設定される基準点からの上記外周を周回する経路に沿った道のりにより指定する情報である。かかる構成によれば、画素単位で道のりを指定する場合にも、境界の傾きに応じて探索範囲が変化することがない。従って、画像を符号化する際の動き探索の処理の負荷を軽減することができる。また、既存の手法のように傾き角θと画素単位での距離ρとを指定する場合と比較して、より多くの境界の候補から最適な境界を選択することも可能となる。
また、本実施形態によれば、ブロックの外周上に設定される共通する経路に2つの交点が属する場合に、予め選択される固定基準点からより遠い第2の交点が、当該固定基準点からではなく、可変基準点からの道のりにより指定され得る。それにより、第2の交点の道のりのダイナミックレンジが小さくなるため、可変長符号化後の道のりの符号量を削減することができる。
また、本実施形態によれば、ブロックの外周上に複数の経路が設定され、各交点を指定する情報は、各交点が属する経路を識別する情報と、各経路上に設定される基準点からの当該経路に沿った道のりとを含み得る。この場合には、2つの交点の道のりのダイナミックレンジが小さくなるため、可変長符号化後の道のりの符号量をさらに削減することができる。
また、本実施形態によれば、各交点についての道のりは、1画素よりも大きい単位量で量子化され得る。それにより、境界情報の符号量をより一層削減することができる。また、ブロックサイズの大きさに応じて量子化の単位量を変化させることで、動き補償の品質を大きく低下させることなく、境界情報の符号量が削減され得る。
なお、本明細書では、イントラ予測に関する情報及びインター予測に関する情報が、符号化ストリームのヘッダに多重化されて、符号化側から復号化側へ伝送される例について主に説明した。しかしながら、これら情報を伝送する手法はかかる例に限定されない。例えば、これら情報は、符号化ビットストリームに多重化されることなく、符号化ビットストリームと関連付けられた別個のデータとして伝送され又は記録されてもよい。ここで、「関連付ける」という用語は、ビットストリームに含まれる画像(スライス若しくはブロックなど、画像の一部であってもよい)と当該画像に対応する情報とを復号化時にリンクさせ得るようにすることを意味する。即ち、情報は、画像(又はビットストリーム)とは別の伝送路上で伝送されてもよい。また、情報は、画像(又はビットストリーム)とは別の記録媒体(又は同一の記録媒体の別の記録エリア)に記録されてもよい。さらに、情報と画像(又はビットストリーム)とは、例えば、複数フレーム、1フレーム、又はフレーム内の一部分などの任意の単位で互いに関連付けられてよい。
以上、添付図面を参照しながら本発明の好適な実施形態について詳細に説明したが、本発明はかかる例に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本発明の技術的範囲に属するものと了解される。
10 画像符号化装置(画像処理装置)
46 動きベクトル決定部(境界情報生成部)
60 画像復号化装置(画像処理装置)
91 境界認識部
96 予測部

Claims (22)

  1. 画像内に設定されるブロックを傾きを有する境界を用いて複数の領域に区分して各領域の動きベクトルを決定する動きベクトル決定部と、
    前記ブロックの外周と前記境界との複数の交点を指定する境界情報を生成する境界情報生成部と、
    を備える画像処理装置。
  2. 前記境界情報は、前記ブロックの外周と前記境界との各交点を、前記外周上に設定される基準点からの前記外周を周回する経路に沿った道のりにより指定する情報である、請求項1に記載の画像処理装置。
  3. 前記境界情報は、第1の基準点からの道のりにより第1の交点を指定する情報と第2の基準点からの道のりにより第2の交点を指定する情報とを含み、
    前記第1の基準点は、前記ブロックの予め選択されるコーナーであり、
    前記第2の基準点は、前記経路上で前記第1の交点の次に位置するコーナーである、
    請求項2に記載の画像処理装置。
  4. 前記外周は、複数の経路に分割され、
    各交点を指定する情報は、各交点が属する経路を識別する情報と、各経路上に設定される基準点からの当該経路に沿った道のりとを含む、
    請求項2に記載の画像処理装置。
  5. 前記動きベクトル決定部は、各交点についての前記道のりを1画素よりも大きい単位量で量子化する、請求項2に記載の画像処理装置。
  6. 前記動きベクトル決定部は、前記道のりの量子化のための前記単位量を、前記ブロックのサイズが大きいほど大きい値に設定する、請求項5に記載の画像処理装置。
  7. 前記外周は、前記ブロックの各辺に対応する4つの経路に分割される、請求項4に記載の画像処理装置。
  8. 前記外周は、前記ブロックの上辺及び下辺の一方と前記ブロックの左辺及び右辺の一方とを含む2つの経路に分割される、請求項4に記載の画像処理装置。
  9. 共通する経路に第1の交点と第2の交点とが属する場合には、前記境界情報は、前記共通する経路の起点である第1の基準点からの道のりにより前記第1の交点を指定する情報と、前記共通する経路上で前記第1の交点の次に位置するコーナーである第2の基準点からの道のりにより前記第2の交点を指定する情報とを含む、
    請求項8に記載の画像処理装置。
  10. 前記画像処理装置は、
    前記画像を符号化して符号化ストリームを生成する符号化部、及び
    前記符号化部により生成された前記符号化ストリームと前記境界情報とを伝送する伝送手段、
    をさらに備える、請求項1に記載の画像処理装置。
  11. 画像を処理するための画像処理方法において、
    画像内に設定されるブロックを傾きを有する境界を用いて複数の領域に区分して、区分された各領域の動きベクトルを決定するステップと、
    前記ブロックの外周と前記境界との複数の交点を指定する境界情報を生成するステップと、
    を含む画像処理方法。
  12. 画像の符号化の際に前記画像内のブロックを複数の領域に区分した境界を、前記ブロックの外周と前記境界との複数の交点を指定する境界情報に基づいて認識する境界認識部と、
    前記境界認識部により認識された前記境界により区分される領域ごとに、動きベクトルに基づいて画素値を予測する予測部と、
    を備える画像処理装置。
  13. 前記境界情報は、前記ブロックの外周と前記境界との各交点を、前記外周上に設定される基準点からの前記外周を周回する経路に沿った道のりにより指定する情報である、請求項12に記載の画像処理装置。
  14. 前記境界情報は、第1の基準点からの道のりにより第1の交点を指定する情報と第2の基準点からの道のりにより第2の交点を指定する情報とを含み、
    前記第1の基準点は、前記ブロックの予め選択されるコーナーであり、
    前記第2の基準点は、前記経路上で前記第1の交点の次に位置するコーナーである、
    請求項13に記載の画像処理装置。
  15. 前記外周は、複数の経路に分割され、
    各交点を指定する情報は、各交点が属する経路を示す情報と、各経路上に設定される基準点からの当該経路に沿った道のりとを含む、
    請求項13に記載の画像処理装置。
  16. 前記境界認識部は、1画素よりも大きい単位量で量子化された各交点についての前記道のりを逆量子化する、請求項13に記載の画像処理装置。
  17. 前記境界認識部は、前記ブロックのサイズが大きいほど大きい単位量で前記道のりを逆量子化する、請求項16に記載の画像処理装置。
  18. 前記外周は、前記ブロックの各辺に対応する4つの経路に分割される、請求項15に記載の画像処理装置。
  19. 前記外周は、前記ブロックの上辺及び下辺の一方と前記ブロックの左辺及び右辺の一方とを含む2つの経路に分割される、請求項15に記載の画像処理装置。
  20. 共通する経路に第1の交点と第2の交点とが属する場合には、前記境界情報は、前記共通する経路の起点である第1の基準点からの道のりにより前記第1の交点を指定する情報と、前記共通する経路上で前記第1の交点の次に位置するコーナーである第2の基準点からの道のりにより前記第2の交点を指定する情報とを含む、
    請求項19に記載の画像処理装置。
  21. 前記画像処理装置は、
    前記画像が符号化されている符号化ストリームと前記境界情報とを受け取る受け取り部、及び
    前記受け取り部により受け取られた前記符号化ストリームを復号化する復号化部、
    をさらに備える、請求項12に記載の画像処理装置。
  22. 画像を処理するための画像処理方法において、
    画像の符号化の際に前記画像内のブロックを複数の領域に区分した境界を、前記ブロックの外周と前記境界との複数の交点を指定する境界情報に基づいて認識するステップと、
    認識された前記境界により区分される領域ごとに、動きベクトルに基づいて画素値を予測するステップと、
    を含む画像処理方法。
JP2010224348A 2010-10-01 2010-10-01 画像処理装置及び画像処理方法 Withdrawn JP2012080369A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2010224348A JP2012080369A (ja) 2010-10-01 2010-10-01 画像処理装置及び画像処理方法
PCT/JP2011/070232 WO2012043165A1 (ja) 2010-10-01 2011-09-06 画像処理装置及び画像処理方法
US13/825,860 US20130279586A1 (en) 2010-10-01 2011-09-06 Image processing device and image processing method
CN2011800461820A CN103141104A (zh) 2010-10-01 2011-09-06 图像处理装置和图像处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010224348A JP2012080369A (ja) 2010-10-01 2010-10-01 画像処理装置及び画像処理方法

Publications (1)

Publication Number Publication Date
JP2012080369A true JP2012080369A (ja) 2012-04-19

Family

ID=45892638

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010224348A Withdrawn JP2012080369A (ja) 2010-10-01 2010-10-01 画像処理装置及び画像処理方法

Country Status (4)

Country Link
US (1) US20130279586A1 (ja)
JP (1) JP2012080369A (ja)
CN (1) CN103141104A (ja)
WO (1) WO2012043165A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014158083A (ja) * 2013-02-14 2014-08-28 Mitsubishi Electric Corp 映像処理装置、映像処理方法、放送受信装置、映像撮影装置、映像蓄積装置及びプログラム
US11627319B2 (en) 2018-02-22 2023-04-11 Lg Electronics Inc. Image decoding method and apparatus according to block division structure in image coding system

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101980349B1 (ko) * 2014-03-05 2019-05-20 엘지전자 주식회사 폴리곤 유닛 기반 영상 인코딩/디코딩 방법 및 이를 위한 장치
CN116170584A (zh) * 2017-01-16 2023-05-26 世宗大学校产学协力团 影像编码/解码方法
CN113056917B (zh) 2018-11-06 2024-02-06 北京字节跳动网络技术有限公司 为视频处理使用具有几何分割的帧间预测
CN113170166B (zh) 2018-12-30 2023-06-09 北京字节跳动网络技术有限公司 具有几何分割的帧间预测在视频处理中有条件的应用
KR20240119195A (ko) 2019-08-26 2024-08-06 후아웨이 테크놀러지 컴퍼니 리미티드 모션 정보 저장을 위한 방법 및 장치
CN111626935B (zh) * 2020-05-18 2021-01-15 成都乐信圣文科技有限责任公司 像素图缩放方法、游戏内容生成方法及装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4313710B2 (ja) * 2004-03-25 2009-08-12 パナソニック株式会社 画像符号化方法および画像復号化方法
CN1306824C (zh) * 2004-07-29 2007-03-21 联合信源数字音视频技术(北京)有限公司 图像边界像素扩展系统及其实现方法
JP2007124408A (ja) * 2005-10-28 2007-05-17 Matsushita Electric Ind Co Ltd 動きベクトル検出装置および動きベクトル検出方法
CN101502119B (zh) * 2006-08-02 2012-05-23 汤姆逊许可公司 用于视频编码的自适应几何分割方法和设备
CN101729903B (zh) * 2008-10-24 2013-06-19 安凯(广州)微电子技术有限公司 一种读取参考帧数据的方法、系统和多媒体处理器

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014158083A (ja) * 2013-02-14 2014-08-28 Mitsubishi Electric Corp 映像処理装置、映像処理方法、放送受信装置、映像撮影装置、映像蓄積装置及びプログラム
US11627319B2 (en) 2018-02-22 2023-04-11 Lg Electronics Inc. Image decoding method and apparatus according to block division structure in image coding system

Also Published As

Publication number Publication date
CN103141104A (zh) 2013-06-05
WO2012043165A1 (ja) 2012-04-05
US20130279586A1 (en) 2013-10-24

Similar Documents

Publication Publication Date Title
WO2012008270A1 (ja) 画像処理装置及び画像処理方法
JP6419113B2 (ja) 画像処理装置および方法、並びに、プログラム
JP6057140B2 (ja) 画像処理装置および方法、プログラム、並びに、記録媒体
JP6432809B2 (ja) 復号装置および復号方法
WO2012043165A1 (ja) 画像処理装置及び画像処理方法
US20140037013A1 (en) Image processing apparatus and image processing method
US20130259129A1 (en) Image processing device and method
KR102622468B1 (ko) 인터 예측 기반 영상 코딩 방법 및 장치
US20220368891A1 (en) Image encoding/decoding method and apparatus, and method of transmitting bitstream using sequence parameter set including information on maximum number of merge candidates
US20240275974A1 (en) Image decoding method for chroma component and apparatus therefor
WO2014038330A1 (ja) 画像処理装置及び画像処理方法
JP2023145648A (ja) 画像デコード方法及びその装置
JPWO2012128241A1 (ja) 画像処理装置、画像処理方法、及び、プログラム
US20220224912A1 (en) Image encoding/decoding method and device using affine tmvp, and method for transmitting bit stream
JP2023153372A (ja) クロマ量子化パラメータデータに対する画像デコード方法及びその装置
JP2012019447A (ja) 画像処理装置および方法
RU2826874C1 (ru) Кодирование видео или изображений на основе внутриблочного кодирования
RU2789454C2 (ru) Кодирование видео или изображений на основе внутриблочного кодирования
RU2774673C1 (ru) Кодирование видео или изображений на основе внутриблочного кодирования
RU2816199C1 (ru) Кодирование видео или изображений на основе внутриблочного кодирования
JP6268556B2 (ja) 画像処理装置および方法、プログラム、並びに、記録媒体
JP6048564B2 (ja) 画像処理装置及び画像処理方法
WO2011125625A1 (ja) 画像処理装置および方法
KR20240128846A (ko) 인트라 예측 모드를 코딩하는 방법 및 장치
CN118303026A (zh) 用于对帧内预测模式进行编码的方法和设备

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20131203