JP3440830B2 - 画像符号化装置及び方法、並びに記録媒体 - Google Patents

画像符号化装置及び方法、並びに記録媒体

Info

Publication number
JP3440830B2
JP3440830B2 JP19676998A JP19676998A JP3440830B2 JP 3440830 B2 JP3440830 B2 JP 3440830B2 JP 19676998 A JP19676998 A JP 19676998A JP 19676998 A JP19676998 A JP 19676998A JP 3440830 B2 JP3440830 B2 JP 3440830B2
Authority
JP
Japan
Prior art keywords
block
motion vector
format
image
color difference
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.)
Expired - Fee Related
Application number
JP19676998A
Other languages
English (en)
Other versions
JP2000023190A (ja
Inventor
修 春原
陽一 矢ケ崎
武文 名雲
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 JP19676998A priority Critical patent/JP3440830B2/ja
Publication of JP2000023190A publication Critical patent/JP2000023190A/ja
Application granted granted Critical
Publication of JP3440830B2 publication Critical patent/JP3440830B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Color Television Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、画像符号化装置及
び方法、並びに記録媒体に関し、特に、例えば動画像デ
ータを光磁気ディスクや磁気テープなどの記録媒体に記
録し、これを再生してディスプレイなどに表示したり、
テレビ会議システム、テレビ電話システム、放送用機
器、マルチメディアデータベース検索システムなどのよ
うに、動画像データを伝送路を介して送信側から受信側
に伝送し、受信側において、受信された動画像データを
表示する場合や、編集して記録する場合などに用いて好
適な画像符号化装置及び方法、並びに記録媒体に関す
る。
【0002】
【従来の技術】例えば、テレビ会議システム、テレビ電
話システムなどのように、動画像データを遠隔地に伝送
するシステムにおいては、伝送路を効率良く利用するた
めに、画像のライン相関やフレーム間相関を利用して画
像データを圧縮符号化するようにしている。
【0003】動画像の高能率符号化方式には、代表的な
ものとしてMPEG(Moving Picture Experts Group)
(蓄積用動画像符号化)方式がある。これはISO−I
EC/JTC1/SC2/WG11において議論され、
標準案として提案されたものであり、動き補償予測符号
化とDCT(Discrete Cosine Transform)符号化を組
み合わせたハイブリッド方式が採用されている。
【0004】MPEGでは、様々なアプリケーションや
機能に対応するために、幾つかのプロファイルおよびレ
ベルが定義されている。最も基本となるのが、メインプ
ロファイルメインレベル(MP@ML:Main Profile a
t Main Level)である。
【0005】図42は、MPEG方式におけるMP@M
Lのエンコーダの一般的な構成例を示している。
【0006】符号化すべき入力画像データは、フレーム
メモリ31に入力され、一時記憶される。
【0007】動きベクトル検出器32は、フレームメモ
リ31に記憶された画像データを、例えば16画素×1
6画素などで構成されるマクロブロック単位で読み出
し、その動きベクトルを検出する。
【0008】ここで、動きベクトル検出器32において
は、各フレームの画像データを、Iピクチャ(フレーム
内符号化)、Pピクチャ(前方予測符号化)、またはB
ピクチャ(両方向予測符号化)のうちの何れかとして処
理する。なお、シーケンシャルに入力される各フレーム
の画像を、I,P,Bピクチャのいずれのピクチャとし
て処理するかは、例えば予め定められている(例えば、
I,B,P,B,P,・・・B,Pとして処理され
る)。
【0009】すなわち、動きベクトル検出器32は、フ
レームメモリ31に記憶された画像データの中の、予め
定められた所定の参照フレームを参照し、その参照フレ
ームと、現在符号化の対象となっているフレームの16
画素×16ラインの小ブロック(マクロブロック)とを
パターンマッチング(ブロックマッチング)することに
より、そのマクロブロックの動きベクトルを検出する。
【0010】ここで、MPEGにおいて、画像の予測モ
ードには、イントラ符号化(フレーム内符号化)、前方
予測符号化、後方予測符号化、両方向予測符号化の4種
類があり、Iピクチャはイントラ符号化され、Pピクチ
ャはイントラ符号化または前方予測符号化の何れかで符
号化され、Bピクチャはイントラ符号化、前方予測符号
化、後方予測符号化、または両方法予測符号化の何れか
で符号化される。
【0011】このため、動きベクトル検出器32は、I
ピクチャについては予測モードとしてイントラ符号化モ
ードを設定する。この場合、動きベクトル検出器32
は、動きベクトルの検出は行わず、その予測モード(イ
ントラ予測モード)の情報のみをVLC(可変長符号
化)器36および動き補償器42に出力する。
【0012】また、動きベクトル検出器32は、Pピク
チャについては前方予測を行い、その動きベクトルを検
出する。さらに、動きベクトル検出器32は、前方予測
を行うことにより生じる予測誤差と、符号化対象のマク
ロブロック(Pピクチャのマクロブロック)の、例えば
分散とを比較する。その比較の結果、マクロブロックの
分散の方が予測誤差より小さい場合、動きベクトル検出
器32は、予測モードとしてイントラ符号化モードを設
定し、検出した動きベクトルとともにそのモードの情報
をVLC器36および動き補償器42に出力する。ま
た、動きベクトル検出器32は、前方予測を行うことに
より生じる予測誤差の方が小さければ、予測モードとし
て前方予測符号化モードを設定し、検出した動きベクト
ルとともそのモードの情報を、VLC器36および動き
補償器42に出力する。
【0013】さらに、動きベクトル検出器32は、Bピ
クチャについては、前方予測、後方予測、および両方向
予測を行い、それぞれの動きベクトルを検出する。そし
て、動きベクトル検出器32は、前方予測、後方予測、
および両方向予測についての予測誤差の中の最小のもの
(以下、適宜、最小予測誤差という)を検出し、その最
小予測誤差と、符号化対象のマクロブロック(Bピクチ
ャのマクロブロック)の、例えば分散とを比較する。そ
の比較の結果、マクロブロックの分散の方が最小予測誤
差より小さい場合、動きベクトル検出器32は、予測モ
ードとしてイントラ符号化モードを設定し、検出した動
きベクトルとともそのモードの情報を、VLC器36お
よび動き補償器42に出力する。また、動きベクトル検
出器32は、最小予測誤差の方が小さければ、予測モー
ドとして、その最小予測誤差が得られた予測モードを設
定し、検出した動きベクトルとともそのモードの情報
を、VLC器36および動き補償器42に出力する。
【0014】動き補償器42は、動きベクトル検出器3
2から予測モードと動きベクトルの両方を受信すると、
その予測モードおよび動きベクトルにしたがって、フレ
ームメモリ41に記憶されている、符号化され且つ既に
局所復号された画像データを読み出し、この読み出され
た画像データを予測画像データとして演算器33および
40に供給する。
【0015】演算器33は、動きベクトル検出器32が
フレームメモリ31から読み出した画像データと同一の
マクロブロックをフレームメモリ31から読み出し、そ
のマクロブロックと、動き補償器42からの予測画像と
の差分を演算する。この差分値はDCT器34に供給さ
れる。
【0016】一方、動き補償器42は、動きベクトル検
出器32から予測モードのみを受信した場合、すなわち
予測モードがイントラ符号化モードである場合には、予
測画像を出力しない。この場合、演算器33(演算器4
0も同様)は、特に処理を行わず、フレームメモリ31
から読み出したマクロブロックをそのままDCT器34
に出力する。
【0017】DCT器34では、演算器33の出力デー
タに対してDCT処理を施し、その結果得られるDCT
係数を、量子化器35に供給する。量子化器35では、
バッファ37のデータ蓄積量(バッファ37に記憶され
ているデータの量)(バッファフィードバック)に対応
して量子化ステップ(量子化スケール)が設定され、そ
の量子化ステップでDCT器34からのDCT係数を量
子化する。この量子化されたDCT係数(以下、適宜、
量子化係数という)は、設定された量子化ステップとと
もにVLC器36に供給される。
【0018】VLC器36では、量子化器35より供給
される量子化係数を、例えばハフマン符号などの可変長
符号に変換し、バッファ37に出力する。さらに、VL
C器36は、量子化器35からの量子化ステップ、動き
ベクトル検出器32からの予測モード(イントラ符号化
(画像内予測符号化)、前方予測符号化、後方予測符号
化、または両方向予測符号化のうちの何れが設定された
かを示すモード)および動きベクトルも可変長符号化
し、その結果得られる符号化データをバッフ37に出力
する。
【0019】バッファ37は、VLC器36からの符号
化データを一時蓄積することにより、そのデータ量を平
滑化し、符号化ビットストリームとして例えば伝送路に
出力、または記録媒体に記録する。
【0020】また、バッファ37は、そのデータ蓄積量
を量子化器35に出力しており、量子化器35は、この
バッファ37からのデータ蓄積量にしたがって量子化ス
テップを設定する。すなわち、量子化器35は、バッフ
ァ37がオーバーフローしそうなとき、量子化ステップ
を大きくし、これにより量子化係数のデータ量を低下さ
せる。また、量子化器35は、バッファ37がアンダー
フローしそうなとき、量子化ステップを小さくし、これ
により量子化係数のデータ量を増大させる。このように
して、バッファ37のオーバフローとアンダフローを防
止するようになっている。
【0021】量子化器35が出力する量子化係数と量子
化ステップは、VLC器36だけでなく、逆量子化器3
8にも供給されるようになされている。逆量子化器38
では、量子化器35からの量子化係数を、同じく量子化
器35からの量子化ステップにしたがって逆量子化す
る。これにより、量子化係数はDCT係数に変換され
る。このDCT係数は、IDCT器(逆DCT器)39
に供給される。IDCT器39では、DCT係数を逆D
CT処理し、その処理の結果得られるデータを演算器4
0に供給する。
【0022】演算器40には、IDCT器39の出力デ
ータの他、上述したように動き補償器42から演算器3
3に供給されている予測画像と同一のデータが供給され
ている。演算器40は、IDCT器39の出力データ
(予測残差(差分データ))と、動き補償器42からの
予測画像データとを加算することで、元の画像データを
局所復号し、この局所復号された画像データ(局所復号
画像データ)を出力する。但し、予測モードがイントラ
符号化である場合、IDCT器39の出力データは演算
器40をスルーして、そのまま局所復号画像データとし
てフレームメモリ41に供給される。なお、この復号画
像データは、受信側において得られる復号画像データと
同一のものである。
【0023】演算器40において得られた復号画像デー
タ(局所復号画像データ)は、フレームメモリ41に供
給されて記憶され、その後、インター符号化(前方予測
符号化、後方予測符号化、量方向予測符号化)される画
像に対する参照画像データ(参照フレーム)として用い
られる。
【0024】次に、図43は、図42のエンコーダから
出力される符号化データを復号する、MPEGにおける
MP@MLのデコーダの一例の構成を示している。
【0025】このデコーダにおいて、バッファ101に
は、伝送路を介して伝送されてきた符号化ビットストリ
ーム(符号化データ)を図示せぬ受信装置で受信し、ま
たは記録媒体に記録された符号化ビットストリーム(符
号化データ)を図示せぬ再生装置で再生した、符号化ビ
ットストリーム(符号化データ)が供給される。当該バ
ッファ101は、この符号化ビットストリームを一時記
憶する。
【0026】IVLC器(逆VLC器(可変長復号
器))102は、バッファ101に記憶された符号化デ
ータを読み出し、可変長復号することにより、その符号
化データをマクロブロック単位で、動きベクトル、予測
モード、量子化ステップ、および量子化係数に分離す
る。これらのデータのうち、動きベクトルおよび予測モ
ードは動き補償器107に供給され、量子化ステップお
よびマクロブロックの量子化係数は逆量子化器103に
供給される。
【0027】逆量子化器103は、IVLC器102よ
り供給されたマクロブロックの量子化係数を、同じくI
VLC器102より供給された量子化ステップにしたが
って逆量子化し、その結果得られるDCT係数をIDC
T器104に出力する。IDCT器104は、逆量子化
器103からのマクロブロックのDCT係数を逆DCT
し、演算器105に供給する。
【0028】演算器105には、IDCT器104の出
力データの他、動き補償器107の出力データも供給さ
れている。すなわち、動き補償器107は、フレームメ
モリ106に記憶されている、既に復号された画像デー
タを、図42の動き補償器42における場合と同様に、
IVLC器102からの動きベクトルおよび予測モード
にしたがって読み出し、予測画像データとして演算器1
05に供給する。演算器105は、IDCT器104の
出力データ(予測残差(差分値))と、動き補償器10
7からの予測画像データとを加算することで、元の画像
データを復号する。この復号画像データは、再生画像デ
ータとして出力されると共に、フレームメモリ106に
供給されて記憶される。なお、IDCT器104の出力
データがイントラ符号化されたものである場合、その出
力データは、演算器105をスルーして、復号画像デー
タとして、そのままフレームメモリ106に供給されて
記憶される。
【0029】フレームメモリ106に記憶された復号画
像データは、その後に復号される画像データの参照画像
データとして用いられる。さらに、復号画像データは、
出力再生画像として例えば図示せぬディスプレイなどに
供給されて表示される。
【0030】なお、MPEG1およびMPEG2では、
Bピクチャは参照画像データとして用いられないため、
エンコーダまたはデコーダのそれぞれにおいて、フレー
ムメモリ41(図42)または106(図43)には記
憶されない。
【0031】
【発明が解決しようとする課題】以上の図42,図43
に示したエンコーダ,デコーダはMPEG1及びMPE
G2の規格に準拠したものであるが、現在は、ISO−
IEC/JTC1/SC29/WG11において、画像
を構成する物体などのオブジェクトのシーケンスである
ビデオオブジェクト(VO:Video Object)単位で符号
化を行う方式についてMPEG(Moving Picture Exper
ts Group)4としての標準化作業が進められている。
【0032】ところで、MPEG4では、現在4:2:
0フォーマットと呼ばれる、図44に規定されている画
像フォーマットのみが符号化/復号化できる画像として
規定されている。
【0033】当該4:2:0フォーマットは、図44に
示すように、輝度Y及び2つの色差Cr,Cbの信号で
構成される。
【0034】4:2:0フォーマットは、輝度Yの走査
線2本、および水平方向の2画素に対して、色差Cr,
Cbがそれぞれ1画素づつ割り当てられる画像フォーマ
ット(すなわち、輝度Yの4画素に対し色差Cr,Cb
がそれぞれ1画素づつ割り当てられる)であり、その色
差Cr,Cbの位置は輝度Yに対し同位置に存在する。
【0035】なお、輝度Yに対しての色差Cr、Cbの
位置は、図44の位置だけではなく、使用される装置等
によって異なる。
【0036】4:2:0フォーマットは、前述のとお
り、輝度Yの4画素に対し色差Cr,Cbがそれぞれ1
画素割り当てられているため、輝度Yに対し、色差C
r,Cbの解像度が低くなる。
【0037】そのため、放送局等で求められる画質の高
い画像に対しては、その使用用途に応じて、4:2:0
フォーマットではなく、4:2:2フォーマット、4:
4:4フォーマットが用いられる。
【0038】上記4:2:2フォーマットは、図45に
示す画素配置のように、輝度Yの走査線1本及び水平方
向の2画素に対し、色差Cr,Cbがそれぞれ1画素ず
つ(すなわち輝度Yの2画素に対し色差Cr,Cbが1
画素)割り当てられる。
【0039】上記4:4:4フォーマットは、図46に
示す画素配置のように、輝度Yの走査線1本及び水平方
法の1画素に対し、色差Cr,Cbがそれぞれ1画素ず
つ(すなわち、輝度Y、色差Cr,Cbの画素数、位置
は等しい)が割り当てられる。
【0040】このように4:2:2フォーマットや4:
4:4フォーマットは、4:2:0フォーマットに対
し、色差信号の画素数が多く、画質を求める画像に対し
て使用することはその画質を向上させることに対し大変
有効である。
【0041】しかし、MPEG4においては、前述した
とおり4:2:0フォーマットの画像のみが規定されて
おり、4:2:2フォーマットや4:4:4フォーマッ
トをその符号化・復号画像として使用することは不可能
である。
【0042】また、MPEG4では、画像の符号化だけ
ではなく、形状情報も符号化できるように規格化されて
いる。さらに、形状情報を持った画像を符号化する方法
は、4:2:0フォーマットのみに対応しており、4:
2:2フォーマット、4:4:4フォーマットには対応
していない。
【0043】そこで、本発明はこのような状況に鑑みて
なされたものであり、形状情報を所有している画像にお
いての4:2:2フォーマット,4:4:4フォーマッ
トの色差成分の符号化、及び、MPEG4において4:
2:2フォーマット,4:4:4フォーマットが使用で
きるように拡張された画像符号化等に適用可能であり、
特に、色差ブロックの動きベクトル検出や動き補償に用
いて好適な画像符号化装置及び方法、並びに記録媒体を
提供することを目的とする。
【0044】
【課題を解決するための手段】本発明に係る画像符号化
装置及び方法は、画像の輝度成分と色差成分とをそれぞ
れブロック化して各ブロック毎の動きベクトルを求め、
動き補償を伴う予測符号化を行う際に、上記画像の形状
情報が供給され、上記色差成分として、複数種類の色差
フォーマットのいずれかが選択された色差成分を用い、
上記輝度成分のブロックの動きベクトルを検出すると共
に、得られた輝度成分の動きベクトルに基づき、上記色
差成分の色差フォーマットの種類及び上記形状情報に応
じて選択された計算により、対応する色差成分のブロッ
クの動きベクトルを生成し、上記動きベクトルを用いて
動き補償を行い、上記動き補償が行われたデータと入力
画像とに基づいて予測符号化を行うことにより、上述の
課題を解決する。
【0045】ここで、上記色差成分として、複数種類の
色差フォーマットのいずれかが選択された色差成分を用
い、この色差フォーマットの種類に応じて、上記輝度成
分のブロックに対して得られた動きベクトルに基づく色
差成分のブロックの動きベクトルの計算を行うことが挙
げられる。
【0046】具体的には、VOLレイヤもしくはさらに
上位のレイヤにおいて、色差フォーマットを示すフラグ
(croma_type)を採用する。このフラグ(croma_type)
は、2ビットのフラグであり、例えばその値を表1と定
義することによって符号化/復号化を行う画像の色差フ
ォーマットを特定が可能となる。また、マクロブロック
レイヤにおいても、従来、MPEG4では色差のブロッ
クの符号化状態を表すフラグ(cbpc)を用いてその色差
ブロックにおけるDCT係数の存在を判断している。M
PEG4では、このフラグ(cbpc)をI−VOP、P−
VOPのマクロブロックの場合には、VLCである(mc
bpc)より得て、B−VOPの場合には、CBPBの下
位2ビットから得ることができる。
【0047】本方式では、これを改良し、フラグ(crom
a_type)によりその読み込むビット量を変化させること
が可能である。すなわちクロマフォーマット(croma_fo
rmat)が4:2:0フォーマットを示す場合には従来通
り2ビットのフラグ(cbpc)のみでそのブロックの存在
を判断するが、さらにクロマフォーマット(croma_typ
e)が4:2:0以外の色差フォーマットを示した場
合、さらにその色差のタイプに応じて数ビット読み込み
そのビットの状態に応じて色差ブロックのDCT係数の
存在を判断することができる。
【0048】これらの手法により、MPEG4を4:
2:0フォーマットだけではなく、4:2:2もしくは
4:4:4フォーマットに拡張することが可能となる。
【0049】また、形状情報は輝度と同じ画素数を持
つ、2値または多値の画像で構成され、色差の符号化/
復号化時にてこの形状情報を利用する際には、形状情報
に特定の処理を施し、色差用の形状情報として利用して
いる。そのため、本方式では この処理方法をクロマの
フォーマットを示すフラグを用いて適用的に変化させる
方法を提案し、それにより形状情報を有する422、4
44フォーマットの画像の符号化が可能になる。
【0050】
【発明の実施の形態】本発明の好ましい実施の形態につ
いて、図面を参照しながら説明する。
【0051】図1には本発明の画像符号化方法及び装置
を適用したエンコーダの一実施の形態の構成例を示す
が、この図1の構成について説明する前に、本発明を理
解する上で必要な用語として、ビジュアルオブジェクト
(Visual Object)、ビデオオブジェクト(Video Objec
t、以下適宜VOとする)、ビデオオブジェクトレイヤ
(Video Object Layer、以下適宜VOLとする) 、グ
ループオブビデオオブジェクトプレーン(Group of Vid
eo Object Plane 、以下適宜GOVとする)、ビデオオ
ブジェクトプレーン(Video Object Plane、以下適宜V
OPとする)、グループオブブロック(Group of bloc
k、以下適宜GOBとする) ,マクロブロック(以下、
適宜MBとする),ブロック(block)について、図2及
び図3を用いて簡単に説明する。
【0052】先ず、ブロックは、輝度または色差毎の隣
り合った例えば8ライン×8画素から構成される。例え
ば、DCT(離散コサイン変換)はこの単位で実行され
る。なお、これ以降、各ブロックについては、便宜上図
3の各ブロックに付加した番号により表すことにする。
【0053】4:2:0フォーマットにおけるマクロブ
ロック内のブロックの配置を図3の(a)を用いて説明
する。図3の(a)は、MPEG4のビジュアルコミッ
ティドラフト(Visual Comitee Draft、以下、適宜、C
Dと記述する)における、マクロブロック内でのブロッ
クの分割法を示した図である。
【0054】マクロブロック(MB)は、例えば画像の
フォーマットが、いわゆる4:2:0コンポーネントデ
ィジタル信号である場合、上下左右に隣り合った4つの
輝度Yのブロックと、画像上では同じ位置にあたる色差
Cb,Crそれぞれのブロックの全部で6つのブロック
で構成される。すなわち、MPEG4には、従来4:
2:0フォーマットのマクロブロックをその符号化/復
号画像として定義してあり、図3の(a)のブロック
0,1,2,3は輝度Yのブロックを示し、ブロック4
は色差Cbのブロックを、ブロック5は色差Crのブロ
ックを示す。各ブロックは8×8画素で構成されてい
る。ここで、図3の(a)の輝度Yのブロックの配置
は、16×16画素の輝度Yのブロックを4つの8×8
のブロックに分割して考えることを示す。同様に色差C
b,Crのブロック4,5も8×8画素のブロックであ
る。このとき4:2:0フォーマットでは、色差の大き
さは一つのマクロブロックでそれぞれ8×8画素となさ
れており、この色差のブロックは分割せずにそのまま符
号化される。また、各マクロブロックを8×8画素のブ
ロックに分割して考えるのは、MPEGにおいてDCT
が8×8画素のブロックに対して行われるものであるか
らである。
【0055】ここで、本実施の形態では、色差フォーマ
ットが、4:2:0フォーマットだけでなく、4:2:
2フォーマット、4:4:4フォーマットにも対応して
いる。図3の(a)のブロックの配置では、4:2:2
フォーマット、4:4:4フォーマットに対応できない
ため、4:2:2フォーマットに対応させたときのブロ
ック配置を図3の(b)に、4:4:4フォーマットに
対応させたときのブロック配置を図3の(c)に示す。
なお、図3の(b)、図3の(c)の各ブロックは、図
3の(a)と同様に、それぞれ8×8画素のブロックを
示す。
【0056】図3の(b)は、4:2:2フォーマット
に対応したマクロブロック内のブロックの構造を模式的
に示している。図3の(b)のブロック配置では、輝度
Yが4つのブロック0,1,2,3で構成され、色差C
b,Crのブロックは上下に位置するそれぞれ2つの8
×8のブロック4と6、5と7で構成される。すなわち
4:2:2フォーマットの輝度Yのブロックは、4:
2:0フォーマットと同様16×16のブロックを上下
左右に2等分づつした形になっているが、色差のブロッ
クは8×16画素で構成されている。そのため、図3の
(b)の様に、色差信号は上下2つに分割されている。
【0057】さらに、図3の(c)は、4:4:4フォ
ーマットに対するマクロブロックの構造を模式的に示し
ている。4:4:4フォーマットでは、輝度Y及び色差
Cb、Crはそれぞれ16×16画素で構成される。そ
のため4:4:4フォーマットをブロックに分割した場
合、Y、Cb、Crのそれぞれが図3の(c)に示すよ
うな4つの8×8ブロックで構成されることとなる。す
なわち、輝度Yはブロック0,1,2,3で構成され、
色差Cbのブロックは4,6,8,10で、色差Crの
ブロックは5,7,9,11で構成される。
【0058】次に、VOP(Video Object Plane)は、
1つまたは複数のマクロブロックから構成される1枚の
画像を表す。この画像は、符号化される方式にしたがっ
て、Iピクチャ(画像内符号化画像)、Pピクチャ(前
方予測符号化画像)、およびBピクチャ(両方向予測符
号化画像)のうちのいずれかに分類される。
【0059】I−VOP(Iピクチャ)は、動き補償を
行うことなく、画像そのものが符号化(イントラ符号
化)されるものである。P−VOP(Pピクチャ)は、
基本的には、自身より時間的に前に位置する画像(Iま
たはP−VOP)に基づいて、前方予測符号化される。
B−VOP(Bピクチャ)は、基本的には、自身より時
間的に前と後ろに位置する2つの画像(IまたはP−V
OP)に基づいて両方向予測符号化されるものである。
【0060】GOV(Group of Video Object Plane)
は、少なくとも1枚のI−VOPと、0または少なくと
も1枚の非I−VOP(すなわちP−VOP、B−VO
P)とから構成される。ただし、階層符号化を行った場
合の上位レイヤに関してはこの限りではない。なお、G
OVの使用、不使用は符号化時に自由に決められる。
【0061】VOL(Video Object Layer)は、少なく
とも1枚以上のVOPもしくはGOVから成り立つ。V
OL内には同一の表示時間を持つVOPは含まれず、V
OPをその表示時間順に表示することにより一連の画像
が表示されることになる。
【0062】ビデオオブジェクト(video Object:V
O)は、1つ以上のVOLから構成され、VOLの組合
わせにより同一オブジェクトを複数の解像度、フレーム
レート等で符号化、復号化することが可能である。これ
は図2に表す関係を有する。
【0063】ビジュアルオブジェクト(Visual Objec
t)は、一つのビデオオブジェクト(video Object)ま
たは他の一つのオブジェクト(例えばフェイスオブジェ
クト(face object)、メッシュオブジェクト(mesh ob
ject)、スチルテクスチャオブジェクト(still textur
e object)等)により構成される。
【0064】ビデオオブジェクトシーケンス(Visual O
bject Sequence)は、一つもしくは複数のビジュアルオ
ブジェクト(Visual Object)より構成され、図2に表
す関係を有する。
【0065】次に、図1を用いて、本発明を適用した実
施の形態のエンコーダについて説明する。
【0066】入力画像信号すなわち符号化すべき画像
(動画像)データは、VO(Video Object)構成部1に
入力される。VO構成部1では、入力される画像を構成
するオブジェクト毎に、そのシーケンスであるVO(Vi
deo Object)を構成し、VOP構成部21乃至2Nに出力
する。すなわち、VO構成部1においてN個のVO#1
乃至VO#Nが構成された場合、そのN個のVO#1乃
至VO#Nは、それぞれ対応したN個のVOP構成部2
1乃至2Nにそれぞれ出力される。
【0067】図4を用いて具体的に説明すると、符号化
すべき画像データが、例えば独立した背景F1のシーケ
ンスと前景F2のシーケンスとから構成される場合、V
O構成部1は、例えば背景F1のシーケンスをVO#1
としてVOP構成部21に出力するとともに、前景F2
のシーケンスをVO#2としてVOP構成部22に出力
する。なお、図4の例は、背景である画像F1と前景で
ある画像F2とからなる画像を示しており、画像F1
は、例えばある自然の風景を撮影したものであり、その
画像全体のシーケンスが1つのVO(VO#1)とされ
ている。また、画像F2は、例えば人が歩いている様子
を撮影したものであり、その人を囲む最小の長方形のシ
ーケンスが1つのVO(VO#2)とされている。
【0068】VO構成部1は、符号化すべき画像データ
が、例えば背景F1と前景F2とが既に合成されたもの
である場合、所定のアルゴリズムにしたがって当該画像
を領域分割することにより、背景F1と前景F2とを取
り出し、それぞれのシーケンスとしてのVOを、対応す
るVOP構成部2n(但し、n=1,2,・・・,N)
に出力する。
【0069】VOP構成部2nは、VO構成部1の出力
からVOPを構成する。すなわち例えば、各フレームか
ら物体(オブジェクト)を抽出し、その物体を囲む、例
えば最小の長方形(以下、適宜、最小長方形という)を
VOPとする。なおこのとき、VOP構成部2nは、そ
の横および縦の画素数が、例えば16の倍数となるよう
にVOPを構成する。VO構成部2nは、VOPを構成
すると、そのVOPをVOP符号化部3nに出力する。
【0070】さらに、VOP構成部2nは、VOPの大
きさ(例えば横および縦の長さ)を表すサイズデータ
(VOP_size)と、フレームにおけるそのVOPの位
置(例えばフレームの最も左上を原点とするときの座
標)を表すオフセットデータ(VOP_offset)とを検
出し、これらのデータもVOP符号化部3nに供給す
る。
【0071】VOP符号化部3nは、VOP構成部2nの
出力を、例えばMPEGやH.263などの規格に準拠
した方式で符号化し、その結果得られるビットストリー
ムを多重化部4に出力する。多重化部4は、VOP符号
化部31乃至3Nからのビットストリームを多重化し、そ
の結果得られる多重化データを、例えば地上波や衛星回
線、CATV網その他の伝送路5を介して伝送し、また
は、例えば磁気ディスク、光磁気ディスク、光ディス
ク、磁気テープその他の記録媒体6に記録する。
【0072】ここで、VOおよびVOPについて説明す
る。
【0073】VOは、ある合成画像のシーケンスが存在
する場合の、その合成画像を構成する各オブジェクト
(物体)のシーケンスであり、VOPは、ある時刻にお
けるVOを意味する。すなわち、例えば画像F1および
F2を合成して構成された合成画像F3がある場合、画
像F1またはF2が時系列に並んだものがそれぞれVO
であり、ある時刻における画像F1またはF2がそれぞ
れVOPである。従って、VOは、異なる時刻の同一オ
ブジェクトのVOPの集合であると言うことができる。
【0074】なお、図4の例のように、画像F1を背景
とするとともに画像F2を前景とすると、それらの合成
画像F3は、画像F2を切り抜くためのキー信号を用い
て、画像F1およびF2を合成することによって得られ
るが、この場合における画像F2のVOPには、その画
像F2を構成する画像データ(輝度信号および色差信
号)の他、適宜、そのキー信号も含まれるものとする。
【0075】画像フレーム(画枠)のシーケンスは、そ
の大きさおよび位置のいずれも変化しないが、VOは、
大きさや位置が変化する場合がある。すなわち、同一の
VOを構成するVOPであっても、時刻によってその大
きさや位置が異なる場合がある。
【0076】具体的にいうと、図4の例のように、画像
F1が例えばある自然の風景を撮影したものであり、画
像F2が例えば人が歩いている様子を撮影したものであ
る場合、画像F1のVO#1は風景の画像であるから、
基本的に通常の画像のフレームと同様にその位置および
大きさの両方とも変化しないのに対して、画像F2のV
O#2は人の画像であるから、人物が左右に移動した
り、また図面において手前側または奥側に移動すること
により、その大きさや位置が変化する。従って、図4
は、同一時刻におけるVO#1およびVO#2を表して
いるが、VOの位置や大きさは時間の経過に伴って変化
することがある。
【0077】そこで、図1のVOP符号化部3nは、そ
の出力するビットストリームに、VOPを符号化したデ
ータの他、所定の絶対座標系におけるVOPの位置(座
標)および大きさに関する情報も含めるようになされて
いる。なお、図4においては、VO#1を構成するある
時刻のVOP(画像F1)の位置を示すベクトルをOS
T1とし、その時刻と同一時刻におけるVO#2のVO
P(画像F2)の位置を表すベクトルをOST2とし
て、それぞれ表してある。
【0078】次に、図5には、図1のVOP符号化部3
nの詳細な構成例を示す。なお、この図5において、図
42における場合と対応する各構成要素については、同
一の指示符号を付してある。すなわち、VOP符号化部
3nは、基本的には図42のエンコーダと同様に構成さ
れているものである。
【0079】この図5において、図42における場合と
同様に、入力画像の画像データはフレームメモリ31に
供給されてVOPとして記憶される。
【0080】動きベクトル検出器32では、フレームメ
モリ31に記憶されたVOPに対してマクロブロック単
位で動きベクトルの検出を行う。すなわち、上述したよ
うに、VOPは時刻(フレーム)によって大きさや位置
が変化するため、その動きベクトルの検出にあたって
は、その検出のための基準となる座標系を設定し、その
座標系における動きを検出する必要がある。そこで、動
きベクトル検出器32では、上述の絶対座標系を基準と
なる座標系とし、サイズデータFSZ_Bおよびオフセ
ットデータFPOS_Bにしたがってその絶対座標系に
符号化対象のVOP及び参照画像とするVOPを配置し
て、動きベクトルを検出する。なお、検出された動きベ
クトル(MV)は、予測モードとともに形状情報符号化
器50、VLC器36および動き補償器42、量子化器
35、逆量子化器38、DCT係数差分化器44に供給
される。
【0081】また、動き補償を行う場合においても、や
はり上述したように基準となる座標系における動きを検
出する必要があるため、動き補償器42には、サイズデ
ータFSZ_BおよびオフセットデータFPOS_Bが
供給されるようになされている。
【0082】演算器33には、図42の場合と同様に、
動きベクトル検出器32がフレームメモリ31から読み
出した画像データのおけるものと同一のマクロブロック
のデータが供給される。この演算器33では、そのマク
ロブロックと動き補償器42からの予測画像との差分を
演算する。この差分値は、DCT器34に送られる。動
き補償器42は、図42の場合と同様に、予測モードが
イントラ符号化モードである場合には、予測画像を出力
しない。この場合、演算器33(演算器40も同様)
は、特に処理を行わず、フレームメモリ31から読み出
したマクロブロックのデータをそのままDCT器34に
出力する。
【0083】DCT器34では、演算器33の出力デー
タに対して、8ライン×8画素からなるブロック単位で
DCT処理を施し、そのDCT処理の結果得られるDC
T係数を量子化器35に供給する。
【0084】量子化器35では、図42の量子化器35
と同様に、入力されたDCT係数を量子化し、その量子
化データをDCT係数差分化器44及び逆量子化器38
に送る。
【0085】逆量子化器38では、図42に示す逆量子
化器38と同様の動作を行う。すなわち、量子化器35
から入力された8×8の量子化されたDCT係数を逆量
子化し、IDCT器39に送る。
【0086】IDCT器39は、図42のIDCT器3
9と同様に動作し、逆量子化器38より逆量子化された
DCT係数を、IDCT処理して演算器40に出力す
る。
【0087】演算器40には、IDCT器39の出力デ
ータの他、動き補償器42から、演算器33に供給され
ている予測画像と同一のデータが供給されている。演算
器40は、IDCT器39の出力データ(予測残差(差
分データ))と、動き補償器42からの予測画像データ
とを加算することで、元の画像データを局所復号し、こ
の局所復号した画像データ(局所復号画像データ)を出
力する。但し、予測モードがイントラ符号化である場合
には、IDCT器39の出力データは演算器40をスル
ーして、そのまま局所復号画像データとしてフレームメ
モリ41に供給される。なお、この復号画像データは、
受信側において得られる復号画像データと同一のもので
ある。
【0088】演算器40において得られた復号画像デー
タ(局所復号画像データ)は、テクスチャ(texture)
情報として後述するパディング(Padding)処理器51
に供給される。
【0089】一方、形状情報(キー信号)、入力された
サイズデータFSZ_B、オフセットデータFPOS_
B、VOPのサイズデータVOP_size、VOPのオフ
セットデータVOP_offset及び、動きベクトル検出器
32より出力された動きベクトルと予測モードは、形状
情報符号化器50に供給される。形状情報符号化器50
では、MPEG4のビジュアルコミッティドラフト(Vi
sual Committe draft)にある記述に従ってその形状情
報の符号化を行う。符号化された形状情報は、形状情報
復号器52及びVLC器36へ送られる。
【0090】形状情報復号器52は、形状情報符号化器
50から供給された、符号化されている形状情報の局所
復号化を行い、そのデータを色差情報用作成器53及び
パディング(Padding)処理器51、DCT係数差分化
器44及び、VLC器36へ送る。
【0091】色差用形状情報作成器53では、色差フォ
ーマットの形式により形状情報へ処理を加える。当該色
差用形状情報作成器53の動作について以下に説明す
る。図6には、4:2:0フォーマット(図6の
(a))、4:2:2フォーマット(図6の(b))、
4:4:4フォーマット(図6の(c))の場合の色差
用形状情報の作成方法を説明するための図を示す。
【0092】4:2:0フォーマットの場合を示す図6
の(a)において、輝度Yの画素la,lb,lc,l
dのと色差Cb,Crの画素ca(図6の(a)では同
じ位置に色差Cb及びCrが存在する)が対応した位置
に存在する画素となり、同様に輝度の画素le,lf,
lg,lhと色差の画素cbが対応した位置に存在する
画素となる。すなわちここでの対応とは、laの位置の
画素を実際に表示しようとした場合、当該laの位置に
ある輝度Yの画素値、及びcaの位置にある色差Cb,
Crの画素値を用いてその表示する画素の情報として用
いると言うことである。
【0093】ここで、4:2:0フォーマットの場合、
次段に送られることになる形状情報は、輝度の画素と一
対一に対応するように同数で同位置の情報のみとなされ
る。すなわち、図6の(a)の場合は、輝度の画素l
a,lb,lc,ld,le,lf,lg,lhの位置
に対応する形状情報のみであり、色差の位置に対応した
形状情報は送られない。そのため、色差信号の符号化を
する際には、色差の画素と一対一対応した同位置で同数
の色差用の形状情報を、輝度用の形状情報より作成する
必要がある。具体的にいうと、色差の画素caの位置
(この位置にはCb,Crの色差情報が存在する)に対
応する輝度の画素はla,lb,lc,ldであり、し
たがって色差の画素caの位置に対応する色差用の形状
情報は、これらla,lb,lc,ldの位置に存在す
る形状情報より作成することになる。
【0094】形状情報は、通常2値の画像で伝送され、
例えば値が0のとき当該画素はオブジェクトの外側であ
ることを、値が1のとき当該画素がオブジェクトの内側
であることを示している。そのため、4:2:0フォー
マットにおいて、対応する輝度の画素の形状情報の中に
一つでも形状情報が1となっている画素、すなわちオブ
ジェクトの内側であると判断された画素の場合には、対
応する色差の形状情報も1(オブジェクトの内側)であ
るとされる。また、対応する輝度の画素が全て0(オブ
ジェクトの外側)である場合、色差の画素も0(オブジ
ェクトの外側)となる。例えば、輝度の画素la,l
b,lc,ldの形状情報が1、すなわち当該画素がオ
ブジェクトの内側である場合には、caに位置する色差
用の形状情報も1、すなわちオブジェクトの内側である
として判断され、逆に、輝度の画素la,lb,lc,
ldの形状情報が0、すなわち当該画素がオブジェクト
の外側である場合には、caに位置する色差用の形状情
報も0、すなわちオブジェクトの外側であるとして判断
される。なお、グレイスケールシェイプ(gray-scalesh
ape)の場合の形状情報としては、上記2値情報に加
え、形状情報の階調を表す情報が別途送られる。
【0095】次に、4:2:2フォーマットの場合は、
図6の(b)に示すように輝度の画素la,lbと色差
の画素ca(この位置には色差情報Cb,Crが存在す
る)が対応し、同様に輝度の画素lc,ldと色差の画
素cbが対応し、輝度の画素le,lfと色差の画素c
cが、輝度の画素lg,lhと色差の画素cdがそれぞ
れ対応する。4:2:2フォーマットの場合は、対応す
る2つの輝度の画素の両方または何れか一方の形状情報
が1、すなわちオブジェクトの内側であることを示して
いる場合、対応する色差の形状情報も1(オブジェクト
の内側)となる。また、対応する2つの輝度の画素の何
れも形状情報が0(オブジェクトの外側)である場合、
同位置の色差の形状情報も0(オブジェクトの外側)と
なる。例えば、図6の(b)の場合には、輝度の画素l
a,lbの位置に属する形状情報のどちらかまたは両方
が1の場合、色差の画素caの位置に属する形状情報も
1となる。また輝度の画素la,lbの位置に属する形
状情報がどちらも0の場合、色差の画素caの位置に属
する形状情報も0となる。
【0096】次に、4:4:4フォーマットの場合は、
図6の(c)に示すように、各輝度の画素と色差の画素
が同位置に配置される。すなわち、輝度の画素laと色
差の画素ca(この位置には色差情報Cb,Crが存在
する)が対応し、以下同様に、輝度の画素lbと色差の
画素cbが、輝度の画素lcと色差の画素ccが、輝度
の画素ldと色差の画素cdが、輝度の画素leと色差
の画素ceが、輝度の画素lfと色差の画素cfが、輝
度の画素lgと色差の画素cgが、輝度の画素lhと色
差の画素chがそれぞれ対応する。したがって、この
4:4:4フォーマットの場合は、輝度の画素laの位
置に属する形状情報はそのまま色差の画素caの位置に
ある色差の画素(Cb、Cr)の形状情報として活用す
ることが可能である。他の色差の画素cb,cc,c
d,ce,cf,cg,chについても同様に、それぞ
れ対応する輝度の画素lb,lc,ld,le,lf,
lg,lhの位置に属する形状情報を活用する。
【0097】このようにして 色差用形状情報作成器5
3では、輝度の画素と同位置にある形状情報より、その
符号化を行っている色差フォーマットに合わせて色差用
の形状情報を作成する。当該色差用形状情報作成器53
にて作成された色差用形状情報は、パディング(Paddin
g)処理器51、DCT係数差分化器44、VLC器3
6に供給される。
【0098】ここで、図7及び図8を用いて、パディン
グ処理器51の動作を説明する。図7は、パディング処
理器51の具体的な構成例を示している。
【0099】図7において、図5の演算器40からの局
所復号画像データであるテクスチャ(texture)情報
は、水平方向パディング処理器61に供給される。ま
た、水平方向パディング処理器61には、図5の形状情
報復号器52及び、色差用形状情報作成器53より、輝
度のパディングに用いる形状情報、及び色差のパディン
グに用いる形状情報が供給される。
【0100】図8には、水平方向パディング処理器61
にて行われる操作手順を示す。
【0101】パディング処理は、各マクロブロック毎
に、また各マクロブロック内では輝度及び2つの色差情
報毎に行われる。ここで、マクロブロックの輝度情報に
ついてパディング処理を行う場合、テクスチャ(textur
e)情報の輝度の画素値(16画素×16画素)が図8
に示す操作手順の中の変数d[y][x]として、また対応す
る位置の形状情報(16画素×16画素)が図8に示す
操作手順の中の変数s[y][x]として処理される。また、
色差情報についてパディング処理を行う場合、それぞれ
テクスチャ情報が変数d[y][x]として、また色差用の形
状情報が変数s[y][x]として処理される。ただし、色差
情報の場合、その処理を行う画素数は4:2:0フォー
マットの場合で8画素×8画素、4:2:2フォーマッ
トの場合で8画素×16画素、4:4:4フォーマット
の場合で16画素×16画素単位となる。
【0102】当該水平方向パディング処理器61でのパ
ディング処理は、各ライン毎に行われる。すなわち、水
平方向パディング処理器61では、マクロブロックの各
ラインに対して順次パディング操作を行って、水平方向
のパディングを行う。なお、水平方向のパディングを行
うライン内にオブジェクト内の画素が一つも存在しない
場合、そのラインについてはパディング処理が行われな
い。水平方向のラインに1つ以上のオブジェクトが存在
している場合に、図8の処理が行われることとなる。
【0103】上記水平方向パディング処理器61にて水
平方向にパディング処理が施されたテクスチャ(textur
e)情報と形状情報は、垂直方向パディング処理器62
に供給される。この垂直方向パディング処理器62に供
給されるテクスチャ情報は、図8に示す操作手順の中の
変数hor_pad[y][x]で表され、また同様に垂直方向パデ
ィング処理器62へ供給される形状情報は、図8に示す
操作手順の中の変数s'[y][x]で表される。また、図8に
示す操作手順の中の変数x'はパディング処理を行ってい
る水平ラインにおいて、xの左側に位置するオブジェク
トの境界の画素の位置を表し、変数x''は同様に右側の
オブジェクトの境界の位置を示す。
【0104】図9には、垂直方向パディング処理器62
にて行われる操作手順を示す。
【0105】この図9に示す操作手順の中の変数hor_pa
d[y][x]は、上記水平方向にパディング処理を行ったテ
クスチャ情報であり、図9に示す操作手順の中の変数s'
[y][x]は水平方向のパディング時に変更された形状情報
であり、どちらも水平方向パディング処理器61より供
給されたものである。
【0106】この垂直方向パディング処理器62におい
ても水平方向パディング処理器61と同様、色差情報の
場合、その処理を行う画素数は、4:2:0フォーマッ
トの場合で8画素×8画素、4:2:2フォーマットの
場合で8画素×16画素、4:4:4フォーマットの場
合で16画素×16画素単位となる。
【0107】また、この垂直方向パディング処理器62
にて垂直方向にもパディング処理が行われたテクスチャ
情報は、図9に示す操作手順の中の変数hv_pad[y][x]で
表される。また、図9に示す操作手順の中の変数y'はパ
ディング処理を行う垂直ラインにおいて、yの上側に位
置するオブジェクトの境界の画素の位置を表し、図9に
示す操作手順の中の変数y''は同様に下側のオブジェク
トの境界の位置を示す。
【0108】垂直方向パディング処理器62でのパディ
ング処理は、各垂直ライン毎に行われる。すなわち、当
該垂直方向パディング処理器62では、マクロブロック
の各垂直ラインに対して順次パディング操作を行って、
垂直方向のパディングを行う。なお、垂直方向のパディ
ングを行うライン内にオブジェクト内の画素が一つも存
在しない場合、そのラインについてはパディング処理が
行われない。垂直方向のラインに1つ以上のオブジェク
トが存在している場合に、図9で示す処理が行われる。
図9に示す操作手順の中の変数hv_pad[y][x]は、拡張パ
ディング器63へ供給される。
【0109】拡張パディング器63では、オブジェクト
の境界に位置するマクロブロックの上下左右に隣接する
マクロブロックに対し、さらにパディング処理を行う。
すなわち図10に示す例の場合、図中の黒色のマクロブ
ロックがその対象となる。当該拡張パディングによるマ
クロブロック(previous block)は、例えば図11の
(a),(b)に示すように、隣接するオブジェクトの
境界に位置するマクロブロック(current block)のそ
の端の画素値を用いてパディングされる。また、図12
に示すように、パディングされるマクロブロック(Exte
rior macroblock)が複数のオブジェクトの境界を持つ
マクロブロック(Boundary macroblock0〜Boundary ma
croblock3)に囲まれている場合、この図12のマクロ
ブロック(Boundary macroblock0〜Boundary macroblo
ck3)に付けられている0〜3の番号の順番に参照する
マクロブロックを選択する。
【0110】拡張パディング器63の出力は、図5のフ
レームメモリ41に供給されて記憶され、その後、イン
ター符号化(前方予測符号化、後方予測符号化、量方向
予測符号化)される画像に対する参照画像データ(参照
フレーム)として用いられる。
【0111】そして、フレームメモリ41に記憶された
画像データは、後方予測に用いる画像、または前方予測
に用いる画像データとして、動き補償器42より出力さ
れることになる。
【0112】一方、動き補償器42は、動き補償参照画
像指示信号により指定される画像(フレームメモリ41
に記憶されている局所復号された画像)に対して、動き
ベクトル検出器32からの予測モードおよび動きベクト
ルをもとに動き補償を施し、予測画像を生成して演算器
33および40に出力する。すなわち、動き補償器42
は、前方/後方/両方向予測モードのときのみ、フレー
ムメモリ41の読み出しアドレスを、演算器33に対し
て現在出力しているブロックの位置に対応する位置から
動きベクトルに対応する分だけずらして、当該フレーム
メモリ41から前方予測または後方予測に用いる画像デ
ータを読み出し、予測画像データとして出力する。な
お、両方向予測モードのときは、前方予測と後方予測に
用いる画像データの両方が読み出され、例えばその平均
値が予測画像データとして出力される。このようにして
得られた予測画像データが、減算器としての前記演算器
33に供給され、前述したように差分データが生成され
る。
【0113】ここで、図13を参照しながら、動き補償
器42の画像の輝度成分と色差成分に対する動作につい
て具体的に説明する。動き補償器42は各マクロブロッ
ク単位で動き補償を行う。図13は、マクロブロックに
対する動き補償動作を示すフローチャートである。
【0114】本実施の形態の動き補償においては、動き
ベクトルを生成する際に、上記輝度成分のブロックに対
して得られた動きベクトルに基づいて、対応する色差成
分のブロックの動きベクトルを生成しており、このと
き、上記色差成分の色差フォーマットが、4:2:0フ
ォーマット、4:2:2フォーマット、4:4:4フォ
ーマットのいずれであるかに応じて、上記輝度成分のブ
ロックに対して得られた動きベクトルに基づく色差成分
のブロックの動きベクトルの計算方法を切換選択してい
る。また、上記色差フォーマット、マクロブロックの動
き予想モードのタイプ、及び形状情報に応じて、動き補
償の計算方法を切換選択している。
【0115】先ず、図13の最初のステップS201で
は、動きベクトル予測モード、動きベクトル、形状情報
の読み込みを行う。次のステップS202で、予測され
るブロックの決定を行い、次のステップS203で、全
てのブロックが予測されているか否かを判別し、YES
のときはステップS201に戻り、NOのときは次のス
テップS204に進んでいる。ステップS204では、
現在のブロックが輝度("luminance") ブロックか否か
を判別し、YESのときはステップS211に進み、N
Oのときは、ステップS205以降のクロマタイプ(ch
roma_type) に応じた処理に進んでいる。
【0116】ここで、上記ステップS201において読
み込まれる動きベクトル検出器32からの予測モードと
しては、後述する図34に示すように、マクロブロック
毎に、イントラ(intra)、インター(inter)、インタ
ー+q(inter+q) 及びインター4V(inter4v) の4
種類のうちのいずれかの予測モードとなる。
【0117】マクロブロックのモードが、上記4種類の
内のインター(inter) 及びインター+q(inter+q)
モードの場合は、このマクロブロックMBに対してただ
1つの動きベクトルが動きベクトル検出器32から得ら
れ、このベクトルが図3における輝度ブロック0〜3全
てに対してそのまま動きベクトルとして用いられる。マ
クロブロックのモードが、インター4V(inter4v) モ
ードの場合は、このマクロブロックMBに対して、K
(1<K≦4)個の動きベクトルが得られる。ここでK
は、形状情報符号化器50からの形状情報から、マクロ
ブロックの4個の輝度ブロックのうち、オブジェクトの
内側にあると判断された輝度ブロックの個数である。こ
れらのベクトルは、それぞれ、図14の(c)、図15
の(c)、図16の(c)に示すように、オブジェクト
の内側にある輝度ブロックの動きベクトルとしてそのま
ま用いられる。このように輝度成分に対しては、動きベ
クトル検出器32からの動きベクトルを変換せずに用い
るが、画像の解像度とマクロブロック内のブロック数の
異なる色差成分に対する動きベクトルは、輝度ブロック
の動きベクトルを元に以下のように計算される。
【0118】マクロブロックが4:2:0フォーマット
の場合には、図13のステップS205でYES(chro
ma_type = “01”)と判別され、ステップS206
で、4:2:0色差動きベクトル計算が行われる。
【0119】この4:2:0フォーマットの場合におい
て、色差ブロック4,5の動きベクトルは、マクロブロ
ックのモードがインター(inter) 又はインター+q
(inter+q) モードの場合、図14の(a)に示すよう
に、対応する輝度ブロックの動きベクトルの解像度を半
分にしたベクトルとする。マクロブロックのモードがイ
ンター4V(inter4v) の場合、図14の(b)、
(c)に示すように、オブジェクトの内部にあるK個の
輝度ブロックの動きベクトルを全て足し合わせ、その平
均と解像度が半分であるということから、2×Kで割り
算することにより色差ブロックの動きベクトルが計算さ
れる。図14の(b)ではK=4、図14の(c)では
K=2の例が書かれている。
【0120】ここで、動きベクトル検出器32から得ら
れる動きベクトルは、その解像度を2倍としたhalf sam
ple resolutionを採用しており、色差ブロックの動きベ
クトル要素の解像度変換として、そのまま割り算を行う
のではなく、図17に示すテーブルを用いる。例えば、
K=4の場合は、動きベクトルMVを、sixteenth samp
le resolution からhalf sample resolutionに変換する
のに、図17の(a)を用いる。同様に、K=3、2、
1の場合には、それぞれ、図17の(b),(c),
(d)の変換を用いる。
【0121】このようにして計算された動きベクトルと
フレームメモリーから得られる参照画像から、ステップ
S207での動き補償により、輝度ブロックと色差ブロ
ックから構成される4:2:0予測マクロブロック画像
が得られる。また、輝度ブロックの予測画像は、VOL
シンタックス(図28)のフラグ obmc_disable =0の
場合、現在のブロックの1個の動きベクトルによる動き
補償ではなく、オーバーラップ動き補償により得られ
る。
【0122】なお、輝度ブロックの動き補償について
は、図13のステップS211において、上記フラグ o
bmc_disable が0か否かの判別がなされ、 obmc_disabl
e =0(YES)の場合にはオーバーラップ動き補償が
行われ、NOの場合には、ステップS212に進んで通
常の(オーバーラップ動き補償でない)動き補償が行わ
れる。ここで、オーバーラップ動き補償について説明す
る。オーバーラップ動き補償は、obmc_disable =0 の
時のみ実行されるブロック単位の動き補償法であり、隣
接ブロックと動きベクトルの相関が高い輝度ブロックに
対しての適用される。オーバーラップ動き補償では、輝
度ブロックの予測画像は、図18の(a)に示す、この
予測ブロックの動きベクトルと、上下左右に隣接するブ
ロックの動きベクトルMVを用いることにより得られ
る。
【0123】具体的には、予測ブロック内の各画素値
は、現在の輝度ブロックの動きベクトルMVと2個の隣
接ブロックの動きベクトルMVとを用いて得られた3個
の予測画素値に、図19の(a),(b),(c)のma
trixに示す重みを掛けて足し合わせ、8で割ることによ
り得られる。例えば、予測輝度ブロックの上半分に存在
する画素に対しては、このブロックの真上に隣接するブ
ロックの動きベクトルMVが使われ、逆に下半分の画素
に対しては、真下に隣接するブロックの動きベクトルM
Vが用いられる。同様に、このブロックの左半分の画素
には、真左のブロックの動きベクトルMVが用いられ、
右半分には、真右のブロックの動きベクトルMVが用い
られる。この計算を各画素に対して一般化した式を、以
下に示す。
【0124】すなわち、予測輝度ブロック内の各画素値
(i,j) とすると、 (i,j) = (q(i,j)×H0(i,j)+r(i,j)×H1(i,
j)+s(i,j)×H2(i,j)+4)//8 ここで、q(i,j),r(i,j),及びs(i,j) は、参照画像
から得られる画素値であり、 q(i,j) = q(i+MV0 x,j+MV0 y) , r(i,j) = r(i+MV1 x,j+MV1 y) , s(i,j) = s(i+MV2 x,j+MV2 y) である。また、ベクトル(MV0 x,MV0 y)は、現在の
ブロックの動きベクトルであり、ベクトル(MV1 x,M
1 y)は、上部、又は下部隣接ブロックの動きベクト
ル、ベクトル(MV2 x,MV2 y)は、左側、又は右側隣
接ブロックの動きベクトルである。さらに、行列H
0(i,j),H1(i,j) ,及びH2(i,j) は、図19の
(a),(b),(c)で定義された行列である。
【0125】ただし、隣接ブロックが符号化されていな
い場合は、このブロックの動きベクトルは0とする。ま
た、隣接ブロックに対応するマクロブロックMBがイン
トラモード(intra mode)の場合、及び、予測ブロック
がVOPの境界に位置するために、隣接ブロックがない
場合、及び、予測ブロックがマクロブロックMBの底辺
(ブロック2,3)に位置するため、真下に隣接するブ
ロックの動きベクトルMVを用いることが出来ない場合
には、これら隣接ブロックに対応する動きベクトルMV
は現在ブロック(current block) の動きベクトルMV
を代用する。
【0126】以上が、4:2:0フォーマットにおけ
る、動きベクトル、及び動き補償の計算法であるが、マ
クロブロック内の色差ブロックの個数の異なる、4:
2:2、及び4:4:4フォーマットに対しては適用す
ることが出来ない、以下に4:2:2、及び4:4:4
フォーマットのための動きベクトル、及び動き補償の計
算方法を示す。
【0127】図13のフローチャートでは、ステップS
205においてクロマタイプ(chroma_type) が“0
1”以外、すなわちNOと判別され、ステップS221
で、4:2:2フォーマットである(chroma_type =
“10”) か否かの判別が行われる。ステップS22
1でYES(4:2:2フォーマット)と判別されたと
きには、ステップS222以降の4:2:2フォーマッ
トにおける色差成分の動きベクトル計算及び動き補償が
行われ、NO(4:4:4フォーマット)と判別された
ときには、ステップS231以降の4:4:4フォーマ
ットにおける色差成分の動きベクトル計算及び動き補償
が行われる。
【0128】4:2:2、4:4:4フォーマットいず
れにおいても、輝度ブロックに対するMV、MCの計算
法は4:2:0と同じである。
【0129】4:2:2フォーマットにおけるマクロブ
ロックMBの構造は、図3の(b)となる。この時、C
b、Crの上部のブロック4,5は同じ動きベクトルM
Vを持つ。下部のブロック6,7についても同様に、同
じ動きベクトルMVを持つ。
【0130】まず、マクロブロックMBのモードが図3
4におけるインター(inter) 又はインター+q(inte
r+q) モードの場合は、色差成分の全てのブロックの動
きベクトルMVは全て同じ値となり、図15の(a)に
示すように、色差成分のx方向の解像度が1/2である
ということから、動きベクトルのx成分のみを1/2に
する。ここで、MVCのx成分MVCxはfourth sampl
e resolutionであるため、図17の(b)を適用して、
half sample resolutionに変換される。
【0131】次に、マクロブロックMBのモードがイン
ター4v(inter4v) モードの場合は、図15の(b)
(c)に示すように、色差成分の上部のブロック5,6
の動きベクトルMVは、マクロブロックの上部の2個の
輝度ブロック(ブロック0,1)の動きベクトルMV
(MV0,MV1)から計算される。ただし、図15の
(c)に示すように、対応する2個の輝度ブロックのい
づれかがオブジェクトの外部となった場合には、オブジ
ェクト内の輝度ブロックのベクトルから色差ブロックの
ベクトルを計算し、対応する輝度ブロックの両方がオブ
ジェクトの外部となった場合には、動き補償はされな
い。
【0132】ここで、図15の(b)、(c)のK(0
<K≦2)を、輝度ブロック0,1のうちのオブジェク
トの内部にあるブロックの個数とする。K=1の場合、
MVC4のx成分はfourth sample resolutionとなるた
め、図17の(d)を用いて、half sample resolution
に変換される。K=2の場合、MVC4のx成分、y成
分はそれぞれ eighth sample resolution、fourth samp
le resolution となるため、図17の(c)、(d)を
用いて、half sample resolutionに変換される。K=0
の場合は、色差ブロック4,6に対応する2個の輝度ブ
ロック全てがオブジェクトの外部となるため、このブロ
ックは符号化されない。色差成分の下部のブロック6,
7の動きベクトルMVは、対応する2個の輝度ブロック
2,3の動きベクトルMV2,MV3から計算される。
その計算法は、上部の色差ブロック4,5の場合と同じ
である。
【0133】4:2:2フォーマットの場合、色差ブロ
ックの解像度は、輝度ブロックと比較して、x方向は解
像度が1/2であるが、y方向は同じ解像度であるた
め、y方向に対しては、近接ブロックの動きベクトルの
相関が高い。そのため、色差ブロックの動き補償の方式
として、4:2:0のとき用いられた1個の動きベクト
ルによる動き補償でなく、輝度ブロックのの動き補償法
であるオーバーラップ動き補償を、4:2:2の色差成
分用に改良した方式を用い、予測色差ブロックの上下の
隣接ブロックのみの動きベクトルMVを用いてオーバー
ラップ動き補償を行うことが出来る。これは、VOL s
yntax の obmc_disable =0の時のみ実行される。
【0134】具体的には、図18の(b)のように上下
のブロックを隣接ブロックとし、予測色差ブロック内の
各画素値は現在の色差ブロックの動きベクトルMVと1
個の隣接ブロックの動きベクトルMVから得られた2個
の予測画素値に図19の(a),(b)のmatrixに示す
重みを掛けて足し合わせ、8で割ることより得られる。
例えば、予測色差ブロックの上半分に有る画素に対して
は、このブロックの真上に隣接するブロックの動きベク
トルMVが使われ、逆に下半分の画素に対しては、真下
に隣接するブロックの動きベクトルMVが用いられる。
この計算を各画素に対して一般化した式が、以下であ
る。
【0135】すなわち、予測輝度ブロック内の各画素値
(i,j) とすると、 (i,j) = (q(i,j)×H0(i,j)+r(i,j)×H1(i,
j)+4)//8 ここで、q(i,j),及びr(i,j) は、参照画像から得ら
れる画素値であり、 q(i,j) = q(i+MV0 x,j+MV0 y) , r(i,j) = r(i+MV1 x,j+MV1 y) である。また、ベクトル(MV0 x,MV0 y)は、現在の
ブロックの動きベクトルであり、ベクトル(MV1 x,M
1 y)は、上部、又は下部隣接ブロックの動きベクトル
である。さらに、行列H0(i,j),及びH1(i,j)
は、図20の(a),(b)で定義された行列である。
【0136】ただし、隣接ブロックが符号化されていな
い場合は、このブロックはMV=0とする。また、隣接
ブロックに対応するマクロブロックMBがイントラモー
ド(intra mode)の場合、及び、予測色差ブロックがV
OPの境界に位置するために、隣接ブロックがない場
合、及び、予測色差ブロックがマクロブロックMBの底
辺(図におけるブロック6、7)に位置するため、真下
に隣接するブロックのMVを用いることが出来ない場合
には、これら隣接ブロックに対応する動きベクトルMV
は現ブロックの動きベクトルMVを代用する。
【0137】図13のフローチャートにおいては、ステ
ップS222で4:2:2フォーマットにおける色差ブ
ロックの動きベクトル計算が行われ、ステップS223
で上記フラグ obmc_disable が0か否かの判別がなさ
れ、 obmc_disable =0(YES)の場合にはステップ
S225に進んでオーバーラップ動き補償が行われ、N
Oの場合には、ステップS224に進んで通常の(オー
バーラップ動き補償でない)動き補償が行われる。
【0138】次に、4:4:4フォーマットの場合の色
差ブロックの動きベクトル計算及び動き補償動作につい
て説明する。
【0139】4:4:4フォーマットにおけるマクロブ
ロックMBの構造は図3の(c)となる。この時、C
b,Crの同じ位置にあるブロック4,5、6,7、
8,9、10,11は、それぞれ同じ動きベクトルMV
を持つ。
【0140】まず、マクロブロックのモードがインター
(inter) 又はインター+q(inter+q) モードの場合
は、色差ブロックの各ブロックの動きベクトルMVは全
て同じ値となり、そのベクトルは、輝度ブロックの動き
ベクトルMVと同じベクトルとなる(図16の
(a))。
【0141】マクロブロックのモードがインター4v
(inter4v) モードの場合は、各色差ブロックの動きベ
クトルMVは、その色差ブロックと同じ位置にある輝度
ブロックのMVと同じベクトルとなる(図16の
(b),(c))。ただし、色差ブロックがオブジェク
トの外部にある場合は、このブロックは符号化されな
い。(図16の(c))。
【0142】4:4:4フォーマットの場合、色差ブロ
ックの解像度は、輝度ブロックと同じであるため、隣接
ブロックの動きベクトルの相関が高い。そのため、輝度
ブロックの動き補償法であるオーバーラップ動き補償
を、4:4:4の色差ブロックに対して同様に行うこと
が出来る。図13のフローチャートにおいては、ステッ
プS231で4:4:4フォーマットにおける色差ブロ
ックの動きベクトル計算が行われ、ステップS232で
上記フラグ obmc_disable が0か否かの判別がなされ、
obmc_disable =0(YES)の場合にはステップS2
34に進んでオーバーラップ動き補償が行われ、NOの
場合には、ステップS233に進んで通常の(オーバー
ラップ動き補償でない)動き補償が行われる。
【0143】以上が、各マクロブロックに対する動き補
償法である。
【0144】再び図5に戻って、上述したような動き補
償が行われる動き補償器42からの予測画像データは、
加算器としての演算器40にも供給される。また、前方
/後方/両方向予測の場合、演算器40には、予測画像
データの他、予測画像によって差分化された差分データ
が逆DCT回路39から送られている。当該演算器40
では、この差分データを動き補償器42からの予測画像
に対して加算し、これにより局所復号が行われることに
なる。この局所復号画像は、復号化装置で復号される画
像と全く同一の画像であり、上述したように、次の処理
画像に対して、前方/後方/両方向予測を行うときに用
いる画像としてフレームメモリ41に記憶される。
【0145】また、予測モードがイントラ符号化である
場合、演算器40には画像データそのものが逆DCT回
路39の出力として送られてくるので、当該演算器40
は、この画像データをそのままフレームメモリ41に出
力して記憶させる。
【0146】なお、MPEG4においては、MPEG1
及びMPEG2と異なり、Bピクチャ(B−VOP)も
参照画像として用いられるため、当該Bピクチャも局所
復号され、フレームメモリ41に記憶されるようになさ
れている。但し、現時点においては、Bピクチャが参照
画像として用いられるのは階層符号化を行った場合の上
位レイヤについてだけである。
【0147】図5に戻り、DCT係数差分化器44で
は、量子化器35にて量子化されたDCT係数に対し、
後述するように、ブロック単位でAC係数/DC係数の
予測処理を行う。
【0148】すなわち、DCT係数差分化器44は、イ
ントラ符号化されるマクロブロックの各ブロックに対
し、そのDCT係数のうちのDC係数とAC係数をMP
EG4(ISO/IEC 14496-2)のコミッティドラフト(Commi
tee Draft)にて定められた手段に応じて予測を行う。
また、DCT係数差分化器44は、この時、各ブロック
毎に同じくコミッティドラフトにて定められた手段に応
じて各係数の予測に用いるブロックを決定する。
【0149】図21には、DCT係数差分化器44の具
体的構成例を示す。
【0150】この図21において、DCT係数差分化器
44には、量子化されたDCT係数及び、量子化スケー
ル、形状情報、色差用形状情報、予測モードが入力され
る。予測モードは、イントラフラグ発生器400に入力
される。イントラフラグ発生器400は、予測モードが
イントラ符号化を示す予測モード(イントラ符号化モー
ドあるいは画像内予測モード)である場合のみ、イント
ラフラグを立てる。このイントラフラグは、通常0とな
っているものであり、イントラ符号化の予測モードのと
きに1となされる。
【0151】一方、量子化されたDCT係数、すなわち
64個のDCT係数は、スイッチ401に供給される。
スイッチ401は、イントラフラグが0の場合、被切換
端子A側を選択し、またイントラフラグが1の場合、被
切換端子B側を選択するようになされている。従って、
予測モードがイントラ符号化(画像内予測)モードでな
い場合、DCT係数は、スイッチ401の被切換端子A
を介して、図5のVLC器36へ供給される。
【0152】一方、予測モードがイントラ符号化モード
の場合、DCT係数は、DCT係数予測器402、及び
逆量子化器405へ供給される。
【0153】DCT係数予測器402は、スイッチ40
1より供給されたDCT係数と、DCT係数予測値選択
器403より供給されたDCT係数の予測値との差分を
とり、その差分値を図5のVLC器36へと供給する。
【0154】また、逆量子化器405では、後のDCT
係数の予測に使用されるDC係数及び一部のAC係数
を、図5の逆量子化器38と同様の手段で逆量子化し、
その結果をDCT係数予測モード蓄積メモリ404に供
給する。
【0155】DCT係数予測モード蓄積メモリ404
は、前述した通り、DCT係数の予測に用いるDC係数
及び一部のAC係数、さらに予測モードを蓄積する。こ
こで蓄積された情報は、次段のDCT係数予測値選択器
404において使用される。
【0156】DCT係数予測値選択器403では、DC
係数と、DCT係数予測モード蓄積メモリ404に保存
された情報を用いて、DCT係数の予測値及び予測ブロ
ックの位置を出力し、その値をDCT係数予測器402
に供給する。
【0157】ここでDCT成分予測値選択器403の動
作を、図22を用いて説明する。図22は、DC係数の
差分演算を行うブロックXと、当該差分演算を行う上で
DCT係数を参照するブロックの位置関係を示してい
る。
【0158】この図22において、ブロックXの左側に
位置するブロックをA、上に位置するブロックをC、そ
の左上に位置するブロックをBとする。また、ブロック
AのDC係数をFA[0][0]、ブロックBのDC係数をFB
[0][0]、ブロックCのDC係数をFC[0][0]とする。これ
らの値は、逆量子化されたDC係数の値であり、量子化
されたブロックA,B,CのDC係数に、イントラDC
プレシジョン(intra_dc_precision)、量子化スケール
を用いて図7の手法により求められたDC量子化ステッ
プの値を積算して求められたものである。ただし、これ
らのブロックが、VOPの外側に位置していたり、イン
トラ(intra)符号化されるブロック以外のブロックで
あった場合、2の(number_of_bits-2)乗の値が使用され
る。また、図22のA,B,Cの各ブロックについて、
これらのブロックがオブジェクトの外側であると判断さ
れた場合、これらのDC係数も(number_of_bits-2)乗の
値となる。
【0159】ここで、ブロックXのDC係数の差分値を
求めるのに使用するブロックは、式(1)により決定さ
れる。
【0160】 if(|FA[0][0]-FB[0][0]|<|FB[0][0]-FC[0][0]|) predict from block C else predict from block A (1) すなわち、この式(1)は、FA[0][0]とFB[0][0]の差の
絶対値とFB[0][0]とFC[0][0]の差の絶対値を比較し、FA
[0][0]とFB[0][0]の差の絶対値がFB[0][0]とFC[0][0]の
よりも小さい場合には、ブロックAをその予測ブロック
としその予測に用い、FB[0][0]とFC[0][0]の差の絶対値
がFA[0][0]とFB[0][0]の差の絶対値よりも小さい場合に
はブロックCをその予測ブロックとし予測値とすること
を表している。
【0161】また、DCT係数は、入力された量子化ス
テップにより図5の量子化器35と同様の方法により量
子化される。これは、DCT係数予測器402において
入力されたDCT係数は、DCT係数予測値選択器40
3に入力された量子化スケールと同じ値により既に量子
化されているため、その量子化ステップを揃えるためで
ある。
【0162】また、予測に用いられるDCT係数は、図
23により示されるAC係数及び各DC係数である。
【0163】以下、予測値の選択方法をこの図23を用
いて説明する。
【0164】図23において、ブロックXのDCT係数
の予測ブロックがブロックAであった場合、その予測に
使用されるAC係数は、ブロックAにおいて図中黒色で
示される位置に対応するAC係数となり、またブロック
AのDC係数も同様に予測に用いられる。また、ブロッ
クCがその予測ブロックとされた場合、当該ブロックC
の図中黒色で示される位置に対応するAC係数及び、当
該ブロックCのDC係数がその予測値として用いられ
る。
【0165】さらに、ブロックAが予測ブロックとして
選択された場合、ブロックXにおいては、そのDC係数
及び左側の列に並んだAC係数のみがその予測の対象と
なり、これらのDCT係数のみの差分がとられることに
なる。また同様に、ブロックCが予測ブロックとして選
択された場合、ブロックXにおいては、一番上の行のA
C係数及びDC係数がその予測対象となる。
【0166】また、DC係数の予測値は、その予測に選
択されたブロックがオブジェクトの外側に位置していた
り、インター予測をしていた場合、128の値が出力さ
れ、AC係数の場合は、選択されたブロックがオブジェ
クトの外側に位置したとき、そのAC係数が0として扱
われる。
【0167】DCT成分予測値選択器403において上
述にようにして求められたDCT係数の予測値は、DC
T係数予測器402に供給される。
【0168】DCT係数予測器402では、前述したよ
うにDCT係数の予測値と、それに対応する位置の差分
を求め、その値を図5のVLC器36に出力する。
【0169】次に、上述したようなAC/DC予測に用
いるブロックについて、色差フォーマット毎に図24を
用いて説明する。また、色差ブロックにおいてオブジェ
クト内のブロックかどうか判別する方法について、図2
5を用いて説明する。
【0170】図24の(a)は、輝度及び4:4:4フ
ォーマットの色差ブロックにおけるAC/DC予測に用
いるブロックを模式的に示したものである。
【0171】すなわち、図24の(a)におけるブロッ
クEのAC/DC係数の予測を行う場合、先ず、A,
B,Dのブロックを用いて、その予測に用いるブロック
を決定する。その後、その決定に従い、ブロックBもし
くはブロックDの何れかのブロックが、ブロックEの予
測ブロックとして用いられることになる。同様に、ブロ
ックFのAC/DC係数の予測は、B,C,Eのブロッ
クを予測の決定に用い、その後当該決定に従ってC,E
の何れかのブロックから予測を行う。ブロックHのAC
/DC係数の予測は、D,E,Gのブロックを予測の決
定に用い、その後当該決定に従ってE,Gのブロックの
何れかから予測を行う。ブロックIのAC/DC係数の
予測は、E,F,Hのブロックを予測の決定に用い、そ
の後当該決定に従ってF,Hのブロックの何れかから予
測を行う。
【0172】ここで、AC/DC予測を行う際には、各
ブロックがオブジェクトの境界内に存在するか否かを判
定する必要がある。
【0173】輝度ブロックの場合は、図5の形状情報復
号器52より供給される形状情報を用いてこれを決定す
る。すなわちオブジェクトの内側かどうかを判定するの
は、その同位置に位置する形状情報を参照し、同位置の
形状情報の8×8画素のブロック内に、形状情報が1の
値となる画素を持つ画素値が一つ以上存在する場合(す
なわちオブジェクト内の画素が1つ以上存在する場
合)、そのブロックをオブジェクト内の画素として見な
すことができる。
【0174】4:4:4フォーマットにおける色差ブロ
ックの場合は、図25に示すように、図5の色差用形状
情報作成器53より供給される色差用の形状情報(ただ
し、4:4:4フォーマットの場合は、輝度に用いられ
る形状情報と等しい)から各ブロック内に値が1となる
画素値を持つ画素、すなわちオブジェクトの内側である
ことを示す画素が1つ以上存在するか否かで判別するこ
とができる。
【0175】また、これ以外の方法としては、同位置に
存在する輝度のブロックがオブジェクト内か否かにより
判別しても良い。例えば図3の(c)の場合、ブロック
4,5がオブジェクトの内側であるか否かは、ブロック
0より判定することができ、同様にブロック6,7の場
合はブロック2より、ブロック8,9の場合はブロック
1より、ブロック10,11の場合はブロック3より判
定することも可能である。
【0176】それらどちらの判断方法を使用した場合で
も、色差ブロックがオブジェクトの内側に位置するかど
うかの判定結果は同じになるため、その符号化/復号化
装置の仕様により適宜選択することができる。
【0177】図24の(b)は、4:2:2フォーマッ
トの色差ブロックにおけるAC/DC予測に用いるブロ
ックを模式的に示したものである。
【0178】すなわち、図24の(b)におけるブロッ
クDのAC/DC係数の予測を行う場合、先ずA,B、
Cのブロックを用いて、その予測に用いるブロックを決
定する。その後当該決定に従ってBもしくはCのブロッ
クの何れかがブロックDの予測ブロックとして用いられ
ることになる。同様にブロックGのAC/DC係数の予
測は、C,D,Eのブロックを予測の決定に用い、その
決定に従ってD,Eのブロックの何れかから予測を行
う。
【0179】この4:2:2フォーマットにおいても、
上記4:4:4フォーマットの色差ブロックの場合と同
様に、AC/DC予測を行う上で各ブロックがオブジェ
クトの境界内に存在するか否かを判定する必要がある。
【0180】すなわち当該4:2:2フォーマットにお
ける色差ブロックの場合は、図25に示すように、図5
の色差用形状情報作成器53より供給される色差用の形
状情報から、各ブロック内に値が1となっている画素値
を持つ画素、すなわちオブジェクトの内側であることを
示す画素が存在するか否かで判別することができる。
【0181】また、これ以外の方法としては、判定を行
う色差ブロックと対応する位置に存在する輝度のブロッ
クがオブジェクト内か否かにより判別しても良い。例え
ば図3の(b)の場合、ブロック4,5がオブジェクト
の内側かどうかは、ブロック0,1の何れか、もしくは
両方がオブジェクトの内側のブロックであるとき、当該
ブロック4,5もオブジェクトの内側のブロックである
と判断することができ、同様にブロック6,7の場合
は、ブロック2,3がオブジェクトの内側かどうかで判
断することができる。
【0182】どちらの判断方法を使用した場合でも色差
ブロックがオブジェクトの内側に位置するかどうかの判
定結果は同じになるため、その符号化/復号化装置の仕
様により適宜選択することができる。
【0183】図24の(c)は、4:2:0フォーマッ
トの色差ブロックにおけるAC/DC予測に用いるブロ
ックを模式的に示したものである。
【0184】すなわち、図24の(c)におけるブロッ
クDのAC/DC係数の予測を行う場合、先ずA,B,
Cのブロックを用いて、その予測に用いるブロックを決
定する。その後その決定に従ってBもしくはCのブロッ
クの何れかが、Dのブロックの予測ブロックとして用い
られることになる。
【0185】4:2:0フォーマットにおいても、上記
4:4:4フォーマットや4:2:2フォーマットの色
差ブロックの場合と同様に、AC/DC予測を行う上で
各ブロックがオブジェクトの境界内に存在するか否かを
判定する必要がある。
【0186】すなわち4:2:0フォーマットにおける
色差ブロックの場合、図25に示すように、図5の色差
用形状情報作成器53より供給される色差用の形状情報
から、各ブロック内に値が1となる画素値を持つ画素、
すなわちオブジェクトの内側であることを示す画素が存
在するか否かで判別することができる。
【0187】またこれ以外の方法としては、判定を行う
色差ブロックと対応する位置に存在する輝度のブロック
がオブジェクト内か否かにより判別しても良い。例えば
図3の(a)の場合、ブロック4,5がオブジェクトの
内側かどうかは、ブロック0,1,2,3の何れか、も
しくは両方がオブジェクトの内側のブロックであると
き、これらブロック4,5もオブジェクトの内側のブロ
ックであると判断することができる。
【0188】どちらの判断方法を使用した場合でも、色
差ブロックがオブジェクトの内側に位置するかどうかの
判定結果は同じになるため、その符号化/復号化装置の
仕様により適宜選択することができる。
【0189】図5に戻って、VLC器36では、図42
における場合と同様に、量子化係数、量子化ステップ、
動きベクトル、および予測モードが供給される他、サイ
ズデータFSZ_BおよびオフセットデータFPOS_
Bも供給される。したがって、VLC器36では、これ
らのデータすべてを可変長符号化する。
【0190】また、VLC器36では、図42で説明し
たように、I,P,Bピクチャ(I−VOP,P−VO
P,B−VOP)のマクロブロックについて、スキップ
マクロブロックとするかどうかを決定し、その決定結果
を示すフラグCOD,MODBを設定する。このフラグ
COD,MODBは、やはり可変長符号化されて伝送さ
れる。また、各ブロック毎にそのDCT係数の符号化を
行うが、そのブロックがオブジェクトの外側のブロック
である場合、DCT係数の符号化は行われない。
【0191】各ブロックがオブジェクトの外側もしくは
内側に位置するかは、輝度ブロックの場合は形状情報復
号器52より判断することができ、色差ブロックの場合
はこの輝度ブロックの判定結果もしくは、色差用形状情
報作成器53より供給される色差用の形状情報より判断
できる。オブジェクトの内側かどうかの判定法は、輝
度、色差の場合共に、前述したDCT係数差分化器44
におけるブロックの判定法と同様の方法で判定すること
ができる。
【0192】次に、図26には、図1のエンコーダから
出力されるビットストリームを復号するデコーダの一実
施の形態の構成例を示している。
【0193】このデコーダには、図1のエンコーダから
伝送路5または記録媒体6を介して提供されるビットス
トリーム(bitstream)が供給される。すなわち、図1
のエンコーダから出力され、伝送路5を介して伝送され
てくるビットストリームは図示せぬ受信装置で受信さ
れ、また、記録媒体6に記録されたビットストリームは
図示せぬ再生装置で再生されて、逆多重化部71に供給
される。
【0194】逆多重化部71では、入力されたビットス
トリーム(後述するVS(Video Stream))を、ビデオ
オブジェクト(Video Object)ごとのビットストリーム
VO#1,VO#2,・・・,VO#Nに分離し、それ
ぞれ対応するVOP復号部721〜72Nに供給する。
【0195】VOP復号部721〜72Nのうち、VOP
復号部72nでは、逆多重化部71から供給されたビッ
トストリームより、ビデオオブジェクト(Video Objec
t)を構成するVOP(画像データ)、サイズデータ
(VOP_size)、およびオフセットデータ(VOP_
offset)を復号し、画像再構成部73に供給する。
【0196】画像再構成部73では、VOP復号部72
1乃至72Nからの出力に基づいて、元の画像を再構成す
る。この再構成された画像信号は、例えばモニタ74に
供給される。これにより、当該モニタ72には再構成さ
れた画像が表示される。
【0197】次に、図27は、VOP復号部72nの構
成例を示す。なお、図27中で、図43のデコーダにお
ける場合と対応する各構成要素については、同一の指示
符号を付してある。すなわち、VOP復号部72nは、
基本的に図43のデコーダと同様に構成されている。
【0198】この図27において、逆多重化部72nか
ら供給されたビットストリームは、バッファ101に供
給されて一時記憶される。
【0199】IVLC器102は、後段におけるブロッ
クの処理状態に対応して、上記バッファ101からビッ
トストリームを適宜読み出し、そのビットストリームを
可変長復号することで、量子化係数、動きベクトル、予
測モード、量子化ステップ、サイズデータFSZ_B、
オフセットデータFPOS_B、形状復号化情報および
フラグCODなどを分離する。量子化係数および量子化
ステップは、逆量子化器103に供給され、動きベクト
ルおよび予測モードは、動き補償器107、逆量子化器
103、DC係数逆差分化器111に供給される。ま
た、サイズデータFSZ_BおよびオフセットデータF
POS_Bは、動き補償器107、図26の画像再構成
部73に供給される。形状復号化情報は、形状復号化器
110に供給される。
【0200】逆量子化器103、IDCT器104、演
算器105、フレームメモリ106、形状復号化器11
0、色差用形状情報作成器109、パディング処理器1
08、動き補償器107では、図1のVOP符号化部3
nを構成する図5の逆量子化器38、IDCT器39、
演算器40、フレームメモリ41、形状情報復号器5
2、色差用形状情報作成器53,パディング処理器51
または動き補償器42における場合とそれぞれ同様の処
理が行われる。
【0201】形状情報復号器110では、IVLC器1
02より供給された符号化された形状情報を復号して復
元する。形状情報復号器110は、図5の形状情報復号
器52と同様に動作し、その出力はDCT係数逆差分化
器111、パディング処理器108、及び色差用形状情
報作成器109に供給される。
【0202】色差用形状情報作成器109は、図5の色
差用形状情報作成器53と同様に動作し、色差のフォー
マットに合わせて、形状情報復号器110からの出力を
変換してパディング処理器108及びDCT係数逆差分
化器111に供給する。
【0203】逆量子化器103では、IVLC器102
から供給された量子化係数(量子化スケール)を元に、
同じくIVLC器102から供給された量子化されたD
CT係数を逆量子化する。当該逆量子化器103は、図
5の逆量子化器38と同様に動作し、その出力はDCT
係数逆差分化器111に供給される。
【0204】DCT係数逆差分化器111は、図5のD
CT係数差分化器44と同様にして、該当ブロックの予
測に使用されたブロックを選択し、逆量子化器103よ
り供給されたDCT係数と加算することで、DCT係数
のAC係数及びDC係数を復元する。このように復元さ
れたDCT係数は、IDCT器104に送られる。
【0205】また、DCT係数逆差分化器111では、
図5のDCT係数差分化器44の場合と同様に、形状情
報復号器110から供給された形状情報、及び色差用形
状情報作成器109より供給された色差用形状情報を用
いて、各ブロックにオブジェクトの内側かあるいは外側
かの判定を行う。この判定方法についても、図5でのD
CT係数差分化器44と同様の方法が使用される。
【0206】IDCT器104は、図5のIDCT器3
9と同様に動作し、DCT係数逆差分化器111からの
DCT係数をIDCT処理し、得られたデータを演算器
105に供給する。
【0207】演算器105は、図5の演算器40と同様
に動作し、フレーム間予測が行われている場合には動き
補償器107からの出力とIDCT器104の出力とを
1画素単位で加算する。フレーム内予測(イントラ符号
化)が行われている場合には、特に動作しない。演算器
105の出力は、パディング処理器1108に供給され
るとともに、テクスチャ情報として出力される。
【0208】パディング処理器108は、図5のパディ
ング処理器51と同様に動作し、形状情報復号器110
及び色差用形状情報作成器109から出力された形状情
報を元に、演算器105からの出力画像に対してパディ
ング処理を行う。このパディング処理器108の出力
は、フレームメモリ106に蓄積される。
【0209】フレームメモリ106に蓄積されているデ
ータは、動き補償器107により適宜呼び出され、演算
器105に出力される。これらフレームメモリ106及
び動き補償器107の動作は、図5に示すフレームメモ
リ41及び動き補償器42の動作と同様である。
【0210】この図27に示したように、VOP復号部
72nではVOPが復号され、当該復号されたVOPが
図26の画像再構成部73に供給される。
【0211】次に、図1のエンコーダが出力する符号化
ビットストリームのシンタックスについて、例えば、M
PEG4規格のビジュアルコミッティドラフト(Visual
Comitee Draft)の記載を例に説明する。なお、これ以
降に説明する各シンタックスは、MPEG4のビジュア
ルコミッティドラフトにて規定されており、既知のもの
であるためそれらの図示は省略するが、本発明において
特に必要と認めるシンタックスについては図示する。
【0212】MPEG4において、ビジュアルオブジェ
クト(visual object)については、2次元の動画像デ
ータだけではなく、2次元静止画画像、フェイスオブジ
ェクト(face object)等を符号化/復号化することが
可能である。
【0213】そのため、MPEG4のビジュアルオブジ
ェクト(visual Object)については、先ず、ビジュア
ルオブジェクトシーケンス(Visual Object Sequence)
を伝送する。このビジュアルオブジェクトシーケンス内
では、複数のビジュアルオブジェクト(Visual Objec
t)を伝送することができ、複数のビジュアルオブジェ
クによりビジュアルオブジェクシーケンスを構成するこ
とが可能である。
【0214】次に、図示しないビジュアルオブジェクト
(VisualObject)のシンタックスでは、当該シンタック
ス以降に続くオブジェクトのタイプ(現在のところ動画
像であるビデオオブジェクト(Video Object)、静止画
であるスチルテクスチャオブジェクト(Still Texture
Object)、2次元のメッシュを示すメッシュオブジェク
ト(Mesh Object)、顔形状を示すフェイスオブジェク
ト(Face Object)の4つが定義されている)等を示す
ことが可能であり、ビジュアルオブジェクト(Visual O
bject)に続いて、ビデオオブジェクト(Video Objec
t)、スチルテクスチャオブジェクト(Still texture o
bject)、メッシュオブジェクト(Mesh Object)、フェ
イスオブジェクト(Face Object)の何れかのシンタッ
クスが続く。
【0215】また、図示しないユーザデータ(user_dat
a)のシンタックスでは、ビジュアルオブジェクトシー
ケンス(Visual Obect Sequence)、ビジュアルオブジ
ェクト(Visual Object)、ビデオオブジェクト(Video
Object)、GOVレイヤ等で使用し、符号化時におい
て、復号時等に使用するデータを復号側で定義して伝送
することが可能である。
【0216】ここで、図示しないビデオオブジェクト
(VO)のシンタックスにおいて、当該ビデオオブジェ
クトは、1以上のVOL(Video Object Layer Class)
から構成される。なお、画像を階層化しないときは一の
VOLで構成され、画像を階層化する場合には、その階
層数だけのVOLで構成される。
【0217】続いて、図示しないVOL(video Object
Layer)のシンタックスにおいて、当該VOLは、上述し
たようなスケーラビリティのためのクラスであり、ビデ
オオブジェクトレイヤID(video_object_layer_id)
で示される番号によって識別される。すなわち、例え
ば、下位レイヤのVOLについてのビデオオブジェクト
レイヤID(video_object_layer_id)は0とされ、ま
た、例えば、上位レイヤのVOLについてのビデオオブ
ジェクトレイヤID(video_object_layer_id)は1と
される。なお、上述したように、スケーラブルのレイヤ
の数は2に限られることなく、1や3以上を含む任意の
数とすることができる。
【0218】また、VOLは大きく2つのシンタックス
から構成されており、ビデオオブジェクトレイヤスター
トコード(video_object_layer_start_code)からなる
部分と、ショートビデオスタートマーカ(short_video_
start_marker)より始る部分の2つにより構成されてい
る。
【0219】ここで、VOL(video Object Layer)のシ
ンタックスにおいて、ビデオオブジェクトレイヤスター
トコード(video_object_layer_start_code)に続く部
分から構成されるシンタックスについて、図28を用い
て説明する。なお、図28には、当該VOLのシンタッ
クスの前半部分のみを示し、後半部分については省略し
ている。
【0220】なお、この図28や、後述する図30、図
31、図40、図41のようなシンタックスを示す図面
中で「*」を付した部分は、本実施の形態による変更箇
所等の注目部分を表している。
【0221】図28に示すシンタックスにおいて、クロ
マフォーマット(chroma_format)は、色差フォーマッ
トの種類を表し、このクロマフォーマットは図29に示
す通りに定義される。すなわち、クロマフォーマット
(chroma_format)が「01」の場合、符号化/復号化
される画像は4:2:0フォーマットであり、また「1
0」の場合は4:2:2フォーマット、「11」の場合
は4:4:4フォーマットとなる。
【0222】また、各VOLについて、それが画像全体
であるのか、画像の一部であるのかは、ビデオオブジェ
クトレイヤシェイプ(video_object_layer_shape)で識
別される。このビデオオブジェクトレイヤシェイプ(vi
deo_object_layer_shape)は、VOLの形状を示すフラ
グであり、例えば、以下のように設定される。
【0223】すなわち、VOLの形状が長方形状である
とき、当該ビデオオブジェクトレイヤシェイプ(video_
object_layer_shape)は、例えば「00」とされる。ま
た、VOLが、ハードキー(0または1のうちの何れか
一方の値をとる2値(バイナリ)の信号)によって抜き
出される領域の形状をしているとき、ビデオオブジェク
トレイヤシェイプ(video_object_layer_shape)は、例
えば「01」とされる。さらに、VOLが、ソフトキー
(0乃至1の範囲の連続した値(グレイスケール)をと
ることが可能な信号)によって抜き出される領域の形状
をしているとき(ソフトキーを用いて合成されるもので
あるとき)、当該ビデオオブジェクトレイヤシェイプ
(video_object_layer_shape)は、例えば「10」とさ
れる。
【0224】ここで、ビデオオブジェクトレイヤシェイ
プ(video_object_layer_shape)が「00」とされるの
は、VOLの形状が長方形状であり、かつ、そのVOL
の絶対座標形における位置および大きさが、時間ととも
に変化しない場合、すなわち、一定の場合である。な
お、この場合、その大きさ(横の長さと縦の長さ)は、
ビデオオブジェクトレイヤワイド(video_object_layer
_width)とビデオオブジェクトレイヤハイ(video_obje
ct_layer_height)によって示される。ビデオオブジェ
クトレイヤワイド(video_object_layer_width)および
ビデオオブジェクトレイヤハイ(video_object_layer_h
eight)は、いずれも10ビットの固定長のフラグであ
り、ビデオオブジェクトレイヤシェイプ(video_object
_layer_shape)が「00」の場合には、最初に一度だけ
伝送される。これはビデオオブジェクトレイヤシェイプ
(video_object_layer_shape)が「00」の場合、上述
したように、VOLの絶対座標系における大きさが一定
であるからである。
【0225】また、VOLが、下位レイヤまたは上位レ
イヤのうちの何れかであるかは、1ビットのフラグであ
るスケーラビリティ(scalability)によって示され
る。VOLが下位レイヤの場合、スケーラビリティ(sc
alability)は例えば1とされ、それ以外の場合は例え
ば0とされる。
【0226】さらに、VOLが、自身以外のVOLにお
ける画像を参照画像として用いる場合、その参照画像が
属するVOLは、リファレンスレイヤID(ref_layer_
id)で表される。なお、リファレンスレイヤID(ref_
layer_id)は、上位レイヤについてのみ伝送される。
【0227】また、ホリゾンタルサンプリングファクタ
n(hor_sampling_factor_n)とホリゾンタルサンプリ
ングファクタm(hor_sampling_factor_m)は、下位レ
イヤのVOPの水平方向の長さに対応する値と、上位レ
イヤのVOPの水平方向の長さに対応する値をそれぞれ
示す。従って、下位レイヤに対する上位レイヤの水平方
向の長さ(水平方向の解像度の倍率)は、下記式(2) hor_sampling_factor_n/hor_sampling_factor_m (2) で与えられる。
【0228】さらに、バーチカルサンプリングファクタ
n(ver_sampling_factor_n)とバーチカルサンプリン
グファクタm(ver_sampling_factor_m)は、下位レイ
ヤのVOPの垂直方向の長さに対応する値と、上位レイ
ヤのVOPの垂直方向の長さに対応する値をそれぞれ示
す。従って、下位レイヤに対する上位レイヤの垂直方向
の長さ(垂直方向の解像度の倍率)は、下記式(3) ver_sampling_factor_n/ver_sampling_factor_m (3) で与えられる。
【0229】VOLにおいて、コンプレクシティエステ
ィメイションディセーブル(complexity_estimation_di
sable)が0の場合、当該シンタックスのディファイン
VOPエスティメイションヘッダ(define_VOP_esti
mation_header)以下が符号化/復号化される。
【0230】また、VOLのビットストリームの先頭に
ビデオオブジェクトレイヤスタートコード(video_obje
ct_layer_start_code)ではなく、ショートビデオスタ
ートマーカ(short_video_start_marker)が読み込まれ
た場合、当該シンタックスのelse行以下のシンタックス
がVOLのビットストリームの復号に際し使用される。
【0231】VOLは、単数もしくは複数のVOP、ビ
デオプレーンウイズショートヘッダ(video_plane_with
_short_header)もしくはGOVで構成される。
【0232】GOV層は、ビットストリームの先頭だけ
でなく、符号化ビットストリームの任意の位置に挿入す
ることができるように、VOL層とVOP層との間に規
定されている。これにより、あるVOL#0が、OP#
0,VOP#1,・・・,VOP#n,VOP#(n+
1),・・・,VOP#mといったVOPのシーケンスで
構成される場合において、GOV層は、その先頭のVO
P#0の直前だけでなく、VOP#(n+1)の直前にも挿
入することができる。従って、エンコーダにおいて、G
OV層は、例えば符号化ストリームの中のランダムアク
セスさせたい位置に挿入することができ、従って、GO
V層を挿入することで、あるVOLを構成するVOPの
一連のシーケンスは、GOV層によって複数のグループ
(GOV)に分けられて符号化されることになる。
【0233】図示しないGOV層のシンタックスにおい
て、当該GOV層は、グループスタートコード(group_
start_code)、タイムコード(time_code)、クローズ
ドGOP(closed_gop)、ブロークンリンク(broken_l
ink)、ネクストスタートコード(next_start_code())
が順次配置されて構成される。
【0234】次に、図示しないVOP(Video Object P
lane Class)のシンタックスにおいて、VOPの大きさ
(横と縦の長さ)は、例えば、13ビット固定長のVO
Pワイド(VOP_width)とVOPハイ(VOPP_height)
で表される。また、VOPの絶対座標系における位置
は、例えば13ビット固定長のVOPホリゾンタルスペ
ーシャルMCリファレンス(VOP_horizontal_spatial_m
c_ref)とVOPバーチカルMCリファレンス(VOPP_v
ertical_mc_ref)で表される。なお、VOPワイド(VO
P_width)又はVOPハイ(VOP_height)は、VOPの
水平方向又は垂直方向の長さをそれぞれ表し、これらは
上述のサイズデータFSZ_BやFSZ_Eに相当す
る。また、VOPホリゾンタルスペーシャルMCリファ
レンス(VOP_horizontal_spatial_mc_ref)またはVO
PバーチカルMCリファレンス(VOP_vertical_mc_re
f)は、VOPの水平方向または垂直方向の座標(x座
標またはy座標)をそれぞれ表し、これらは、上述のオ
フセットデータFPOS_BやFPOS_Eに相当す
る。
【0235】VOPワイド(VOP_width)、VOPハイ
(VOP_height)、VOPホリゾンタルスペーシャルMC
リファレンス(VOP_horizontal_spatial_mc_ref)、V
OPバーチカルMCリファレンス(VOP_vertical_mc_re
f)は、ビデオオブジェクトレイヤシェイプ(video_obj
ect_layer_shape)が「00」以外の場合にのみ伝送さ
れる。すなわち、ビデオオブジェクトレイヤシェイプ
(video_object_layer_shape)が「00」の場合、上述
したように、VOPの大きさおよび位置はいずれも一定
であるから、それらVOPワイド(VOP_width)、VO
Pハイ(VOP_height)、VOPホリゾンタルスペーシャ
ルMCリファレンス(VOP_horizontal_spatial_mc_re
f)、VOPバーチカルMCリファレンス(VOP_vertica
l_mc_ref)は伝送する必要がない。この場合、受信側で
は、VOPは、その左上の頂点が、例えば、絶対座標系
の原点に一致するように配置され、また、その大きさ
は、上述のビデオオブジェクトレイヤスタートコード
(video_object_layer_start_code)に続く部分から構
成されるシンタックスのところで説明したビデオオブジ
ェクトレイヤワイド(video_object_layer_width)およ
びビデオオブジェクトレイヤハイ(video_object_layer
_height)から認識される。
【0236】次に、リファレンスセレクトコード(ref_
select_code)は、参照画像として用いる画像を表すも
ので、VOPのシンタックスにおいて規定されている。
【0237】当該シンタックスのリードVOPコンプレ
クシティエスティメイションヘッダ(read_VOP_compexi
ty_estimation_header)以下は、VOLにおいてコンプ
レクシティエスティメイションディセーブル(complexi
ty_estimation_disable)の値が「0」と示された場合
のみVOPより、読み込まれる。
【0238】また、ビデオパケットヘッダ(video_pack
et_header)は、VOLにおいて、エラーレジッシェン
トディセーブル(error_resilient_disable)が「0」
を示す時にのみ使用可能であり、符号化側でその使用を
自由に使用することができVOPより読み込むことが可
能である。
【0239】ここで、前記VOLがショートビデオスタ
ートマーカ(short_video_start_marker)より始る場合
において使用されるビデオプレーンウイズショートヘッ
ダ(video_plane_with_short_header)について説明す
る。
【0240】ビデオプレーンウイズショートヘッダ(vi
deo_plane_with_short_header)は、前述した通りVO
Lがショートビデオスタートマーカ(short_video_star
t_marker)により開始する場合にのみ使用される。
【0241】このショートビデオスタートマーカ(shor
t_video_start_marker)は、フラグ群及び複数のGOB
レイヤ(gob_layer)により構成される。
【0242】GOBレイヤ(gob_layer)は、複数のマ
クロブロックをひとまとまりのグループとして符号化し
たもので、GOBレイヤ(gob_layer)内のマクロブロ
ックの個数は符号化を行っている画像の画枠により一意
に定められる。
【0243】ビデオオブジェクトプレーン(video_obje
ct_plane)では、画像のテクスチャ情報、形状符号化情
報を符号化するために、モーションシェイプテクスチャ
(motion_shape_texture)が読み込まれ、この中でマク
ロブロック等の符号化が行われる。図示しないモーショ
ンシェイプテクスチャ(motion_shape_texture)のシン
タックスは、大きく2つの部分から構成され、データパ
ティショニングモーションシェイプテクスチャ(data_p
attitioning_motion_shape_texture)と、コンバインド
モーションシェイプテクスチャ(combined_motion_shap
e_texture)に分けられる。データパティショニングウ
モーションシェイプテクスチャ(data_pattitioning_mo
tion_shape_texture)は、VOLで示される1ビットの
フラグ(data_partitioning)が1の場合であり、テク
スチャ情報が伝送される場合に使われる。
【0244】コンバインドモーションシェイプテクスチ
ャ(combined_motion_shape_texture)は、フラグ(dat
a_partitioning)が0の場合もしくは、形状情報のみを
伝送する場合に用いられる。このようにコンバインドモ
ーションシェイプテクスチャ(combined_motion_shape_
texture)は、一つもしくは複数のマクロブロックによ
り構成されている。
【0245】図30及び図31には、マクロブロックの
シンタックスの一部(前半部分)を示す。このマクロブ
ロックのシンタックスは大きく3つの部分から構成され
ており、I−VOP、P−VOPにおけるマクロブロッ
クのシンタックスを示す部分と、B−VOPのマクロブ
ロックのシンタックスを示す部分、またグレイスケール
シェイプ(GrayScale shape)におけるマクロブロック
を示す部分の3個所から構成される。
【0246】I−VOP、P−VOPにおけるマクロブ
ロックのシンタックスを示す部分、及びB−VOPのマ
クロブロックのシンタックスを示す部分については、シ
ェイプのブロックを符号化する部分MBバイナリシェイ
プコーディング(mb_binary_shape_coding)、マクロブ
ロックの符号化状態を示すフラグ群、及び動きベクトル
の符号化部モーションベクター(motion_vector)、各
ブロックの符号化部ブロック(block)から構成され
る。
【0247】また、マクロブロックのグレイスケール
(GrayScale)の情報を表す部分は、マクロブロック内
のグレイスケール(Gray-Scale)状態を表すフラグ群及
びグレイスケール(Gray-Scale)を構成するブロックの
符号化部アルファブロック(alpha_block)から構成さ
れる。
【0248】当該マクロブロックのシンタックスでは、
I−VOP、P−VOPで使用されるものとB−VOP
で使用されるものの大きく2つのシンタックスより構成
される。ここで、I−VOP、P−VOPの時に読み込
まれるフラグ(mcbpc)は、マクロブロックのタイプ及
び、マクロブロックの色差ブロックのコーディングパタ
ーンを示すVLCである。MPEG4のビジュアルコミ
ッティドラフト(Visual Comitee Draft)で使用されて
いるフラグ(mcbpc)のVLCテーブルを、図32に示
す。
【0249】この図32に示すVLCテーブルは、I−
VOPのフラグ(mcbpc)に対応する表であり、図33
にはP−VOPに対するVLCテーブルを示す。
【0250】これら図32、図33のVLCテーブルに
示すように、フラグ(mcbpc)はその値により独立した
2つのパラメータを指す。一つはマクロブロックタイプ
(MBtype)であり、他方はフラグ(cbpc)である。フラ
グ(mcbpc)は図32、図33のテーブルをもとに、符
号化/復号される。図32,図33のテーブルを用い
て、フラグ(mcbpc)より、マクロブロックタイプ(MBt
ype)及び、フラグ(cbpc)が判断される。マクロブロ
ックタイプ(MBtype)はマクロブロックの符号化タイプ
であり、フラグ(cbpc)は色差信号の符号化の状態を表
す2ビットのフラグである。マクロブロックタイプ(MB
type)は、整数により記述されているが、各整数は、図
34のようにマクロブロックの符号化タイプとして定義
される。また、同じ番号でもその意味はVOPのタイプ
により異なることもある。
【0251】ここで、本実施の形態の方法を明確にする
ためにMPEG4のビジュアルコミッティドラフト(Vi
sual Comitee Draft)におけるマクロブロックレイヤの
フラグ(cbpc)の動作について説明する。フラグ(cbp
c)は、図32に示されるように2ビットで示され、前
述したようにそれぞれの色差ブロックの符号化の状態を
表す。
【0252】先ず、4:2:0フォーマットにおけるフ
ラグ(cbpc)の動作を説明する。
【0253】当該フラグ(cbpc)は2ビットで表され、
各ビットはそれぞれ対応した色差ブロックの符号化状態
を表す。すなわち、フラグ(cbpc)のうちの先頭の1ビ
ットは図3の(a)に示したブロック4の符号化状態を
示し、後ろの1ビットは図3の(a)のブロック5の符
号化状態を示す。このビットの値が1の時、その対応す
るブロックは符号化/復号化されるブロックとして判断
され、後にこのフラグをもとにブロックのDCT係数が
出力/入力される。またこのビットが0の場合、対応す
るブロックのDCT係数は何も存在しないと判断され
る。
【0254】このようなことから、例えばフラグ(cbp
c)が「11」の場合、図3の(a)の対応するブロッ
ク4,5のそれぞれにDCT係数が存在していると判断
される。また「10」の場合にはブロック4にのみDC
T係数が存在する、「01」の場合には5のブロックの
み、「00」の場合にはブロック4,5にはDCT係数
が存在しないと判断される。
【0255】また、本実施の形態では、他の色差フォー
マットにおいてはフラグ(cbpc)を以下のように定義す
る。
【0256】クロマタイプ(croma_type)が「01」す
なわち4:2:0フォーマットを示す場合、フラグ(cb
pc)は従来と同じ定義、すなわち4:2:0フォーマッ
トのマクロブロックの構成図を表す図3の(a)におい
ての、ブロック4,5の状態を表すフラグであると判断
する。
【0257】一方、クロマタイプ(croma_type)が「1
0」もしくは「11」の場合、すなわち4:2:2フォ
ーマットもしくは4:4:4フォーマットの場合、フラ
グ(cbpc)はシンタックスに従い2ビットの値が読み込
まれる。ここでこのフラグのセマンティックスは4:
2:0フォーマットの場合と異なる。この時 先頭の1
ビットは4:2:2フォーマットの場合、図3の(b)
における色差Cbのブロック4,6の何れかもしくは両
方がDCT係数を持つか否かを表すフラグとして、ま
た、4:4:4フォーマットの場合、図3の(b)にお
ける色差Cbのブロック4,6,8,10の一つ以上の
ブロックがDCT係数を持つことを示すフラグと判断さ
れる。
【0258】残り1ビットは、同様に4:2:2フォー
マットの場合、図3の(b)の色差Crのブロック5,
7がDCT係数を持つか否かを表すフラグとして、ま
た、4:4:4フォーマットの場合、図3の(c)の色
差Cbのブロック5,7,9,11がDCT係数と持つ
か否かを示すフラグとして判断される。
【0259】フラグ(cbpc)が「00」を示す場合、
4:2:2フォーマット、4:4:4フォーマットどち
らの場合においてもどの色差ブロックもDCT係数を持
たないものと判断される。
【0260】ここでフラグ(cbpc)が「10」の場合も
しくは「11」の場合、色差Cbのブロックにおいて、
DCT係数を持つブロックが存在すると判断される。こ
のとき色差Cbのブロックの符号化状態を示すフラグ
(cbpcb)が読み込まれる。
【0261】4:2:2フォーマットの場合、フラグ
(cbpcb)は1ビットもしくは2ビットであり、4:
4:4フォーマットの場合、フラグ(cbpcb)は1から
4ビットとなる。
【0262】フラグ(cbpcb)のビット数は、そのオブ
ジェクトの内側のブロック数により判断される。例え
ば、4:2:2フォーマットの場合、図3の(b)のブ
ロック4,5のうち、どちらか1つのブロックのみがオ
ブジェクトの内側であったとき、このマクロブロックで
のフラグ(cbpcb)のビット数は1ビットとなり、ブロ
ック4,5の二つのブロックともオブジェクトの内側で
あるとき、2ビットのフラグが出力される。
【0263】同様に、4:4:4フォーマットの場合に
は、図3の(c)の何れか1つのマクロブロックのみが
オブジェクトの内側であると、フラグ(cbpcb)が1ビ
ット、2個オブジェクト内のブロックが存在する場合に
は2ビット、3個の場合は3ビット、すべてのマクロブ
ロックがオブジェクトの内側である場合には4ビットが
出力される。
【0264】これらフラグ(cbpcb)の各ビットは色差
Cbの各ブロックに対し、DCT係数を伝送するマクロ
ブロックか否かを出力することを示すフラグとなる。ま
たこの時、オブジェクトの外側のブロックに対しては、
輝度の場合と同様に符号化されるテクスチャのデータが
存在しないため、符号化データは何も出力されず、また
当然、フラグ(cbpcb)のビットにもその状態を表すフ
ラグは存在しない。
【0265】このようにフラグ(cbpcb)は、オブジェ
クト内のブロックに対して、図3に示す順序にて各1ビ
ットづつ割り当てられて、またそのフラグが1の場合、
該当ブロック内にDCT係数が存在し、0の場合には存
在しないことを示す。
【0266】図35及び図36には上記フラグの定義の
手順を示す。なお、このフローチャートでは、図37に
示すような色差のブロック番号を使用している。
【0267】ステップS1ではフラグ(cbpc)の読み込
みを開始し、ステップS2ではクロマタイプ(croma_ty
pe)が「01」か否かの判断を行う。
【0268】当該ステップS2にてクロマタイプ(crom
a_type)が「01」であると判断されたとき、すなわち
クロマタイプ(croma_type)が4:2:0フォーマット
を示す場合には、ステップS3にてフラグ(cbpc)は従
来同様に定義する。つまり、4:2:0フォーマットの
マクロブロックの構成図を表す前記図3の(a)におい
て、ブロック4,5の状態を表すフラグであると判断す
る。
【0269】一方、ステップS2において、クロマタイ
プ(croma_type)が「01」でないと判断したとき、す
なわちクロマタイプ(croma_type)が「10」もしくは
「11」であると判断(4:2:2フォーマットもしく
は4:4:4フォーマットであると判断)した場合は、
ステップS4に進む。
【0270】ステップS4では、フラグ(cbpc)が「0
1」又は「11」か否かを判断する。このステップS4
において、フラグ(cbpc)が「01」又は「11」であ
ると判断した場合はステップS5に進み、そうでないと
判断した場合はステップS6に進む。
【0271】ステップS6では、フラグ(cbpc)が「1
0」又は「11」か否かを判断する。このステップS6
において、フラグ(cbpc)が「10」又は「11」であ
ると判断した場合はステップS7に進み、そうでないと
判断した場合はステップS8に進んで処理を終了する。
【0272】ステップS5とステップS7では、クロマ
タイプ(croma_type)が「10」か否かの判断を行い、
何れの場合も図36のステップS9に進む。
【0273】図36のステップS9では、オブジェクト
内のブロックの個数をカウントし、次のステップS10
では、オブジェクト内のブロックの個数分のビットを読
み込んでバッファに格納する。
【0274】次のステップS11では、図37に示した
ブロックc1がオブジェクト内であるか否かを判断す
る。このステップS11において、ブロックc1がオブ
ジェクト内であると判断した場合はステップS12に進
み、そうでないと判断した場合はステップS13に進
む。
【0275】ステップS12では、バッファより1ビッ
トを取り出し、ブロックc1の符号化パターンの判断に
使用する。
【0276】ステップS13では、図37に示したブロ
ックc2がオブジェクト内であるか否かを判断する。こ
のステップS13において、ブロックc2がオブジェク
ト内であると判断した場合はステップS14に進み、そ
うでないと判断した場合はステップS15に進む。
【0277】ステップS14では、バッファより1ビッ
トを取り出し、ブロックc2の符号化パターンの判断に
使用する。
【0278】ステップS15では、4:2:2フォーマ
ットであるか否かの判断を行う。このステップS15に
おいて、4:2:2フォーマットであると判断した場合
はステップS16に進み、そうでないと判断した場合は
ステップS17に進む。
【0279】ステップS16では、図35の処理に戻
る。
【0280】ステップS17では、図37に示したブロ
ックc3がオブジェクト内であるか否かを判断する。こ
のステップS17において、ブロックc3がオブジェク
ト内であると判断した場合はステップS18に進み、そ
うでないと判断した場合はステップS19に進む。
【0281】ステップS18では、バッファより1ビッ
トを取り出し、ブロックc3の符号化パターンの判断に
使用する。
【0282】ステップS19では、図37に示したブロ
ックc4がオブジェクト内であるか否かを判断する。こ
のステップS19において、ブロックc4がオブジェク
ト内であると判断した場合はステップS20に進み、そ
うでないと判断した場合はステップS21に進む。
【0283】ステップS20では、バッファより1ビッ
トを取り出し、ブロックc4の符号化パターンの判断に
使用する。
【0284】ステップS21では、図35の処理に戻
る。
【0285】次に、図38には、フラグ(cbpcb)のビ
ット割り当ての例を示す。
【0286】図38の(a)は、4:2:2フォーマッ
トの場合のオブジェクト内のブロックの数及びその発生
ビット数を示し、図38の(b)は、4:4:4フォー
マットでの発生ビット量及びその割り当てビット順の例
を示す。
【0287】同様に4:2:2フォーマット、4:4:
4フォーマットにおいて、フラグ(cbpc)が「01」、
「11」の場合、色差CrのブロックにDCT係数を持
つブロックが存在するものと判断され、4:2:2フォ
ーマットの場合は2ビット、4:4:4フォーマットの
場合は4ビットの色差Crのブロックの符号化状態を表
すフラグ(cbpcr)が読み込まれる。
【0288】これらのフラグは、フラグ(cbpcb)の場
合と同様の方法により符号化/復号化される。これらの
符号化法は前述したフラグ(cbpcb)の場合と同様にそ
のオブジェクト内のブロック数に応じて変化し、それぞ
れのビットは該当ブロックのDCT係数の状態を示す。
【0289】このようにして、各色差ブロックに対して
DCT係数の有無が判別される。この結果は、後のDC
T係数の出力/入力過程において使用される。
【0290】また、マクロブロック内のブロックカウン
ト(block_count)は、マクロブロック内でのオブジェ
クト内に位置するブロックの個数、すなわち(オブジェ
クト内の輝度のブロックの個数+オブジェクト内の色差
Cbのブロックの個数+オブジェクト内の色差Crのブ
ロックの個数)となる。
【0291】ブロックカウント(block_count)の最大
値は、色差フォーマットにより決定されるものとし、図
39に示すように定められる。
【0292】次に、図示は省略するが、マクロブロック
内の各ブロックの符号化方法を表すシンタックスと、D
CT係数の有無の判別結果の使用方法について説明す
る。
【0293】ここで、便宜上これらの判別結果は、当該
シンタックスの配列パターンコード(pattern_code)に
格納されるものとする。例えばパターンコード[i](pat
ten_code[i])は、i番目のブロックの符号化状態を示
すものとする。パターンコード[1](patten_code[1])
は、前記図3の(a)〜(c)に示したブロック1のD
CT係数の状態を示し、パターンコード[5](patten_co
de[5])は、同様にブロック5の状態を示す。このパタ
ーンコードの配列の長さは色差フォーマットにより異な
り4:2:0フォーマットの場合は0から5、4:2:
2フォーマットで0から7、4:4:4フォーマットで
0から11の要素を持つものとする。それぞれの要素
は、対応するブロックがDCT係数を持つ場合には1、
それ以外に場合には0をとる。また、DCTの読み出し
を行うか否かは、当該シンタックスの先頭の行において
求められた値により決定される。また、iがオブジェク
トの外側のブロックであった場合、その番号は欠番とさ
れ、パターンコードに格納されるビットの総数は、オブ
ジェクト内のブロックの個数と一致する。
【0294】次に、B−VOPでの色差信号の符号化パ
ターンの認識方法を説明する。
【0295】図30及び図31に示したマクロブロック
のシンタックスに戻り、B−VOPにおいての符号化ブ
ロックのパターンの認識方法を説明する。
【0296】B−VOPでは、そのマクロブロックの符
号化パターンを示すのに、当該マクロブロックのシンタ
ックスにおけるフラグ(cbpb)が使われる。当該フラグ
(cbpb)は、4:2:0フォーマットの時には、MPE
G4のビジュアルコミッティドラフト(Visual Comitee
Draft)と同様の定義である。
【0297】以下、クロマタイプ(croma_type)が「1
0」(4:2:0フォーマット)の時のフラグ(cbpb)
の定義、すなわちMPEG4のビジュアルコミッティド
ラフトにおけるフラグ(cbpb)を説明する。
【0298】フラグ(cbpb)は、前述した通り6ビット
のフラグであり、その値はマクロブロック内の各ブロッ
クの符号化状態を示す。この時、フラグ(cbpb)の各ビ
ットは、先頭のビットより順に図3の(a)に示したブ
ロック0,1,2,3,4,5がDCT係数を持ってい
るか否かを示し、そのビットが1のとき対応するブロッ
クにおいてDCT係数が存在すると判断され、0のとき
存在しないと判断される。ここで読み込まれたフラグ
(cbpb)は、後段においてDCT係数の入出力に使用さ
れる。また、I−VOP、P−VOPの場合と同様、こ
のビット数は、あるマクロブロックに存在するオブジェ
クト内のブロックの個数と一致するものとする。すなわ
ちオブジェクト内のブロックが3個であった場合、この
ビットは3ビットとなり、順にオブジェクト内のブロッ
クの符号化状態を示すフラグとして利用される。
【0299】これらの判断結果の使用方法は、B−VO
Pの場合においても、I−VOP、P−VOPと同様で
ある。
【0300】また、フラグ(cbpb)の下位2ビットは、
前述したフラグ(cbpc)と全く同様に色差ブロックの符
号化状態を示す。そのため、4:2:2フォーマットお
よび4:4:4フォーマットにおける色差ブロックの符
号化パターンの判別は、この下位2ビットおよびクロマ
タイプ(croma_type)を用い、I−VOP、P−VOP
の時と同様の手段を用いて行われる。これらの下位2ビ
ットが1を示した場合に読み込まれるビット数も符号化
を行っている画像の色差フォーマット、及びオブジェク
ト内のブロックの個数により変化する。
【0301】このようにして、色差フォーマットを用い
ること、および色差の符号化パターンを判断する手段を
用いることにより、4:2:0フォーマット、4:2:
2フォーマット、4:4:4フォーマットの各色差フォ
ーマットの符号化/復号化が可能となる、次に、MBバ
イナリシェイプコーディング(mb_binary_shape_codin
g)のシンタックス、モーションベクター(motion_vect
or)、ブロック(block)の各シンタックスについても
図示は省略するが、ブロック(block)においては、D
C係数の差分値、及びその値が符号化される。また、サ
ブシーケンスDCTコイフシャンツ(SubsequentDCTcoe
fficients)は、その他のAC係数を示し、これもVL
C符号化される。
【0302】モーションシェイプテクスチャ(motion_s
hape_texture)のシンタックスに戻って、データパティ
ショニング(data_partitioning)のフラブが1であり
かつテクスチャ情報が伝送される場合には、図示しない
データパティショニングモーションシェイプテクスチャ
(data_partitioning_motion_shape_texture)が符号化
される。このデータパティショニングモーションシェイ
プテクスチャ(data_partitioning_motion_shape_textu
re)は大きく2つの部分から構成されており、ブロック
(block)のシンタックスにおけるデータパティショニ
ングI−VOP(data_partitioning_I_VOP)及びデー
タパティショニングP−VOP(data_partitioning_P_
VOP)から構成される。
【0303】これらデータパティショニングI−VOP
(data_partitioning_I_VOP)及びデータパティショニ
ングP−VOP(data_partitioning_P_VOP)とも、V
OPの性質を示すフラグ群及び各ブロックのDCT係数
を符号化する。DCT係数の符号化方法は、前述したD
CT係数の符号化方法と同様の方法で行う。
【0304】以上説明した本発明実施の形態のエンコー
ダおよびデコーダは、それ専用のハードウェアによって
実現することもできるし、例えばコンピュータに上述し
たような処理を行わせるためのプログラムを実行させる
ことによっても実現することができる。
【0305】次に、本発明の第2の実施の形態について
説明する。
【0306】この第2の実施の形態では、前述した実施
の形態(第1の実施の形態)においてB−VOPにおけ
る色差ブロックの符号化パターンを、フラグ(cbpb)の
ビット長をクロマタイプ(chroma_type)により変化さ
せて求めるように変更したものである。すなわち、第2
の実施の形態においては、マクロブロックの符号化を行
うそのシンタックス及び、符号化/復号化方法のみが第
1の実施の形態と異なる。
【0307】それ以外の符号化/復号化方法、シンタッ
クス等は第1の実施の形態と同様である。
【0308】第1の実施の形態においてフラグ(cbpb)
は常に6ビットのフラグであり、その下位2ビットが常
に色差ブロックの状態を示していたが、これを第2の実
施の形態では4:2:2フォーマットの場合には最大8
ビットのフラブ、4:4:4フォーマットの場合には最
大12ビットのフラグとする。
【0309】この第2の実施の形態におけるマクロブロ
ックの符号化方法を示すシンタックスの一部(前半部
分)を図40及び図41に示す。
【0310】4:2:2フォーマットの場合、この8ビ
ットのフラグは、先頭から図3の(b)に示したブロッ
ク0,1,2,3,4,5,6,7のDCT係数の有無
を表すものとする。
【0311】同様に4:4:4フォーマットの場合、1
2ビットのフラグの先頭のビットより図3の(c)に示
したブロック0,1,2,3,4,5,6,7,8,
9,10,11に対応しているものとし、そのDCT係
数の有無を表すものとする。
【0312】4:2:2フォーマット、4:4:4フォ
ーマットとも、対応するブロックがオブジェクトの外側
に位置する時、そのブロックに対応するフラグは存在せ
ず、その場合、フラグ(cbpb)のビット長はそのマクロ
ブロックにおいて、オブジェクト内に存在するブロック
の個数と等しくなる。
【0313】このようにして、色差フォーマットを用い
ること、および色差の符号化パターンを判断する手段を
用いることにより、4:2:0フォーマット、4:2:
2フォーマット、4:4:4フォーマットの色差フォー
マットの符号化/復号化が可能となる、この第2の実施
の形態においてもエンコーダおよびデコーダは、それ専
用のハードウェアによって実現することもできるし、コ
ンピュータに、上述したような処理を行わせるためのプ
ログラムを実行させることによっても実現することがで
きる。
【0314】なお、本発明の提供媒体は、上述した符号
化データを提供する場合のみならず、本発明実施の形態
のエンコーダやデコーダの動作を行わせるためのプログ
ラムを提供するものとすることも可能である。
【0315】なお、本発明の記録媒体としては、上述し
た符号化データが記録された記録媒体のみならず、本発
明実施の形態のエンコーダやデコーダの動作を行わせる
ためのプログラムが記録された記録媒体を提供すること
も可能である。
【0316】
【発明の効果】以上の説明から明らかなように、本発明
によれば、画像の輝度成分と色差成分とをそれぞれブロ
ック化して各ブロック毎の動きベクトルを求め、動き補
償を伴う予測符号化を行う際に、上記画像の形状情報が
供給され、上記色差成分として、複数種類の色差フォー
マットのいずれかが選択された色差成分を用い、上記輝
度成分のブロックの動きベクトルを検出すると共に、得
られた輝度成分の動きベクトルに基づき、上記色差成分
の色差フォーマットの種類と、マクロブロックの予測モ
ードあるいは上記形状情報とに応じて選択された計算に
より、対応する色差成分のブロックの動きベクトルを生
成し、上記動きベクトルを用いて動き補償を行い、上記
動き補償が行われたデータと入力画像とに基づいて予測
符号化を行うことにより、4:2:0フォーマット以外
の色差フォーマットにも好適な画像符号化装置及び方
法、並びに記録媒体を提供することができる。
【0317】また、上記色差成分として、複数種類の色
差フォーマットのいずれかが選択された色差成分を用
い、この色差フォーマットの種類に応じて、上記輝度成
分のブロックに対して得られた動きベクトルに基づく色
差成分のブロックの動きベクトルの計算を行うことによ
り、4:2:2フォーマット、4:4:4フォーマット
のような色差成分の解像度が高いフォーマットの画像信
号についての動きベクトル検出や動き補償が有効に行
え、色差成分の高い解像度を活かした符号化/復号化が
可能となる。
【図面の簡単な説明】
【図1】本発明実施の形態のエンコーダの概略構成を示
すブロック回路図である。
【図2】ビデオオブジェクトシーケンスからブロックま
での構成説明に用いる図である。
【図3】色差フォーマットにおけるマクロブロック内の
ブロック配置の説明に用いる図である。
【図4】背景画像とオブジェクト画像との関係説明に用
いる図である。
【図5】図1のエンコーダのVOP符号化部の詳細な構
成例を示すブロック回路図である。
【図6】輝度の形状情報から色差の形状情報を作成する
作成方法の説明に用いる図である。
【図7】図5のパディング処理器の詳細な構成例を示す
ブロック回路図である。
【図8】水平方向のパディング処理の手順を表す図であ
る。
【図9】垂直方向のパディング処理の手順を表す図であ
る。
【図10】拡張パディング処理されるマクロブロックの
説明に用いる図である。
【図11】拡張パディング処理の説明に用いる図であ
る。
【図12】パディングされるマクロブロックが複数のオ
ブジェクトの境界を持つマクロブロックに囲まれている
場合に、参照するマクロブロックの順番を示す図であ
る。
【図13】マクロブロックに対する動き補償動作を説明
するためのフローチャートである。
【図14】4:2:0フォーマットの場合の色差ブロッ
クの動きベクトルを説明するための図である。
【図15】4:2:2フォーマットの場合の色差ブロッ
クの動きベクトルを説明するための図である。
【図16】4:4:4フォーマットの場合の色差ブロッ
クの動きベクトルを説明するための図である。
【図17】色差ブロックの解像度変換のためのテーブル
を示す図である。
【図18】オーバーラップ動き補償の動作を説明するた
めの図である。
【図19】オーバーラップ動き補償に用いられる重みテ
ーブルを示す図である。
【図20】オーバーラップ動き補償に用いられる重みテ
ーブルを示す図である。
【図21】図5のDCT係数差分化器の詳細な構成例を
示すブロック回路図である。
【図22】図21のDCT成分予測値選択器の動作説明
に用いる図である。
【図23】予測に用いられるDCT係数(AC係数及び
各DC係数)の説明に用いる図である。
【図24】各色差フォーマットにおいてAC/DC予測
に用いるブロックの説明を行うための図である。
【図25】色差ブロックにおいてオブジェクト内のブロ
ックかどうか判別する方法についての説明に用いる図で
ある。
【図26】図1のエンコーダから出力されるビットスト
リームを復号する本実施の形態のデコーダの構成例を示
すブロック回路図である。
【図27】図26のVOP復号部の詳細な構成例を示す
ブロック回路図である。
【図28】VOL(video Object Layer)のシンタックス
において、ビデオオブジェクトレイヤスタートコード
(video_object_layer_start_code)に続く部分から構
成されるシンタックスの前半部分を示す図である。
【図29】クロマフォーマット(chroma_format)の定
義説明に用いる図である。
【図30】マクロブロックのシンタックスの一部を示す
図である。
【図31】図30のシンタックスの続きを示す図であ
る。
【図32】I−VOPのフラグ(mcbpc)のVLCテー
ブルを示す図である。
【図33】P−VOPのフラグ(mcbpc)のVLCテー
ブルを示す図である。
【図34】マクロブロックタイプ(MBtype)の定義説明
に用いる図である。
【図35】フラグ(cbpcb)の定義の手順のうち前半部
の手順を示すフローチャートである。
【図36】フラグ(cbpcb)の定義の手順のうち後半部
の手順を示すフローチャートである。
【図37】図35及び図36中で使用するブロックの説
明に用いる図である。
【図38】フラグ(cbpcb)のビット割り当ての例の説
明に用いる図である。
【図39】ブロックカウント(block_count)の最大値
の説明に用いる図である。
【図40】第2の実施の形態におけるマクロブロックの
符号化方法を示すシンタックスの一部を示す図である。
【図41】図40のシンタックスの続きを示す図であ
る。
【図42】一般的なMPEGエンコーダの概略構成を示
すブロック回路図である。
【図43】一般的なMPEGデコーダの概略構成を示す
ブロック回路図である。
【図44】4:2:0フォーマットの説明に用いる図で
ある。
【図45】4:2:2フォーマットの説明に用いる図で
ある。
【図46】4:4:4フォーマットの説明に用いる図で
ある。
【符号の説明】
1 VO構成部、 2 VOP構成部、 3 VOP符
号化部、 4 多重化部、 5 伝送路、 6 記録媒
体、 31,41 フレームメモリ、 32動きベクト
ル検出器、 33,40 演算器、 34 DCT器、
35 量子化器、 36 VLC器、 37 バッフ
ァ、 38 逆量子化器、 39 IDCT器、 42
動き補償器、 44 DCT係数差分化器、 50
形状情報符号化器、 51 パディング処理器、 52
形状情報復号器、 53 色差用形状情報作成器、
61 水平方向パディング処理器、 62 垂直方向パ
ディング処理器、 63 拡張パディング器、 71
逆多重化器、 72 VOP復号部、 73 画像再構
成部、 74 モニタ、 101 バッファ、102
IVLC器、 103 逆多重化器、 104 IDC
T器、 105演算器、 106 フレームメモリ、
107 動き補償器、 108 パディング処理器、
109 色差用形状情報作成器、 110 形状情報復
号器、111 DCT係数逆差分化器、 400 イン
トラフラグ発生器、 401スイッチ、 402 DC
T係数予測器、 403 DCT係数予測値選択器、
404 DCT係数予測モード蓄積メモリ、 405
逆量子化器、方位表示装置、 2 CPU、 3 RA
M、 4 ROM、 5 バス、 6A/Dコンバー
タ、 7 出力ポート、 8 地磁気センサ、 9 L
ED表示器、 10 地磁気センサ入力プログラム、
11 方位決定プログラム、12 表示プログラム、
13 演算制御部、 14 データテーブル
フロントページの続き (56)参考文献 特開 平5−308662(JP,A) 特開 平6−311533(JP,A) 特開 平6−78336(JP,A) 特開 平6−189297(JP,A) 特開 平6−217344(JP,A) 特開 平6−319156(JP,A) (58)調査した分野(Int.Cl.7,DB名) H04N 11/04 H04N 7/32

Claims (3)

    (57)【特許請求の範囲】
  1. 【請求項1】 画像の輝度成分と色差成分とをそれぞれ
    ブロック化して各ブロック毎の動きベクトルを求め、動
    き補償を伴う予測符号化を行う画像符号化装置におい
    て、 上記色差成分として、複数種類の色差フォーマットのい
    ずれかが選択された色差成分を用い、 上記輝度成分のブロックの動きベクトルを検出すると共
    に、得られた輝度成分の動きベクトルに基づき、上記色
    差成分の色差フォーマットの種類及びマクロブロックの
    予測モードに応じて切換選択された計算により、対応す
    る色差成分のブロックの動きベクトルを生成する動きベ
    クトル検出手段と、 この動きベクトル検出手段により得られた動きベクトル
    を用いて動き補償を行う動き補償手段と、 この動き補償手段からの出力と入力画像とに基づいて予
    測符号化を行う符号化部とを有することを特徴とする画
    像符号化装置。
  2. 【請求項2】 画像の輝度成分と色差成分とをそれぞれ
    ブロック化して各ブロック毎の動きベクトルを求め、動
    き補償を伴う予測符号化を行う画像符号化方法におい
    て、画像 の形状情報が供給され、上記色差成分として、複数
    種類の色差フォーマットのいずれかが選択された色差成
    分を用い、 上記輝度成分のブロックの動きベクトルを検出すると共
    に、得られた輝度成分の動きベクトルに基づき、上記色
    差成分の色差フォーマットの種類及び上記形状情報に応
    じて選択された計算により、対応する色差成分のブロッ
    クの動きベクトルを生成し、 上記動きベクトルを用いて動き補償を行い、 上記動き補償が行われたデータと入力画像とに基づいて
    予測符号化を行うことを特徴とする画像符号化方法。
  3. 【請求項3】 画像の輝度成分と色差成分とをそれぞれ
    ブロック化して各ブロック毎の動きベクトルを求め、動
    き補償を伴う予測符号化を行うことにより得られた符号
    化データが記録された記録媒体において、 上記符号化データは、 上記色差成分として、複数種類の色差フォーマットのい
    ずれかが選択された色差成分を用い、 上記輝度成分のブロックの動きベクトルを検出すると共
    に、得られた輝度成分の動きベクトルに基づき、上記色
    差成分の色差フォーマットの種類及びマクロブロックの
    予測モードとに応じて切替選択された計算により、対応
    する色差成分のブロックの動きベクトルを生成し、 上記動きベクトルを用いて動き補償を行い、 上記動き補償が行われたデータと入力画像とに基づいて
    予測符号化を行うことにより得られたものであることを
    特徴とする符号化データが記録された記録媒体。
JP19676998A 1998-06-26 1998-06-26 画像符号化装置及び方法、並びに記録媒体 Expired - Fee Related JP3440830B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP19676998A JP3440830B2 (ja) 1998-06-26 1998-06-26 画像符号化装置及び方法、並びに記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP19676998A JP3440830B2 (ja) 1998-06-26 1998-06-26 画像符号化装置及び方法、並びに記録媒体

Publications (2)

Publication Number Publication Date
JP2000023190A JP2000023190A (ja) 2000-01-21
JP3440830B2 true JP3440830B2 (ja) 2003-08-25

Family

ID=16363328

Family Applications (1)

Application Number Title Priority Date Filing Date
JP19676998A Expired - Fee Related JP3440830B2 (ja) 1998-06-26 1998-06-26 画像符号化装置及び方法、並びに記録媒体

Country Status (1)

Country Link
JP (1) JP3440830B2 (ja)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4574019B2 (ja) * 2000-02-24 2010-11-04 キヤノン株式会社 画像処理装置及び画像処理方法及びメモリ媒体、並びに画像符号化装置及び画像復号装置
JP4574020B2 (ja) * 2000-02-24 2010-11-04 キヤノン株式会社 画像処理装置及び画像符号化装置及び画像復号装置
JP4557440B2 (ja) * 2000-02-24 2010-10-06 キヤノン株式会社 画像処理装置及び画像符号化装置及び画像復号装置
JP2007516630A (ja) * 2003-06-23 2007-06-21 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ シーンを合成する方法及び復号器
JP4617644B2 (ja) 2003-07-18 2011-01-26 ソニー株式会社 符号化装置及び方法
JP3879741B2 (ja) * 2004-02-25 2007-02-14 ソニー株式会社 画像情報符号化装置および画像情報符号化方法
US8300694B2 (en) 2005-09-20 2012-10-30 Mitsubishi Electric Corporation Image encoding method and image decoding method, image encoder and image decoder, and image encoded bit stream and recording medium
EP2228995A3 (en) 2005-09-20 2012-07-25 Mitsubishi Electric Corporation Image encoding method and image decoding method, image encoder and image decoder, and image encoded bit stream and recording medium
US8306112B2 (en) 2005-09-20 2012-11-06 Mitsubishi Electric Corporation Image encoding method and image decoding method, image encoder and image decoder, and image encoded bit stream and recording medium
US8300700B2 (en) 2005-09-20 2012-10-30 Mitsubishi Electric Corporation Image encoding method and image decoding method, image encoder and image decoder, and image encoded bit stream and recording medium
KR101365566B1 (ko) * 2007-01-04 2014-02-25 삼성전자주식회사 영상 부호화 및 복호화 방법과 장치
JP4817260B2 (ja) * 2007-07-18 2011-11-16 富士フイルム株式会社 画像処理装置、画像処理方法、及びプログラム
JP5234368B2 (ja) 2009-09-30 2013-07-10 ソニー株式会社 画像処理装置および方法
WO2011122659A1 (ja) * 2010-03-30 2011-10-06 シャープ株式会社 符号化装置および復号装置
WO2012175003A1 (en) * 2011-06-20 2012-12-27 Mediatek Singapore Pte. Ltd. Method and apparatus of chroma intra prediction with reduced line memory
US9743091B2 (en) * 2012-12-17 2017-08-22 Lg Electronics Inc. Method for encoding/decoding image, and device using same
KR101377136B1 (ko) 2013-08-29 2014-03-26 삼성전자주식회사 영상 복호화 장치
JP2014143716A (ja) * 2014-03-12 2014-08-07 Sony Corp 画像処理装置および方法、プログラム、並びに記録媒体
US10230980B2 (en) * 2015-01-26 2019-03-12 Qualcomm Incorporated Overlapped motion compensation for video coding

Also Published As

Publication number Publication date
JP2000023190A (ja) 2000-01-21

Similar Documents

Publication Publication Date Title
JP3413720B2 (ja) 画像符号化方法及び装置、並びに画像復号方法及び装置
JP3413721B2 (ja) 画像符号化方法及び装置、並びに画像復号方法及び装置
JP3440830B2 (ja) 画像符号化装置及び方法、並びに記録媒体
US6427027B1 (en) Picture encoding and/or decoding apparatus and method for providing scalability of a video object whose position changes with time and a recording medium having the same recorded thereon
US6005980A (en) Motion estimation and compensation of video object planes for interlaced digital video
US6483874B1 (en) Efficient motion estimation for an arbitrarily-shaped object
US7302002B2 (en) Image encoder, image encoding method, image decoder, image decoding method, and distribution media
AU724796B2 (en) Prediction and coding of bi-directionally predicted video object planes for interlaced digital video
USRE38564E1 (en) Motion estimation and compensation of video object planes for interlaced digital video
JP2000023195A (ja) 画像符号化装置及び方法、並びに画像復号装置及び方法、並びに符号化データ提供媒体
JP3344577B2 (ja) 画像符号化装置および画像符号化方法、画像復号化装置および画像復号化方法、並びに記録方法
JP3344576B2 (ja) 画像符号化装置および画像符号化方法、画像復号化装置および画像復号化方法
JP3263812B2 (ja) 画像符号化装置および画像符号化方法、並びに画像復号化装置および画像復号化方法
JP2000013791A (ja) 画像符号化装置および画像符号化方法、画像復号装置および画像復号方法、並びに提供媒体
AU731425B2 (en) Picture encoding and decoding
O’Connor et al. Current Developments in MPEG-4 Video
JP2004134889A (ja) 画像信号変換装置及び画像信号変換方法
JP2001061145A (ja) 画像符号化装置および画像符号化方法、並びに画像復号装置および画像復号方法
AU1839301A (en) Padding of video object planes for interlaced digital video
AU1835301A (en) Picture encoding and decoding

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20030520

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080620

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090620

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090620

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100620

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100620

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110620

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120620

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120620

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130620

Year of fee payment: 10

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees