JP2000023190A - Motion vector generation method, picture encoder, motion compensation method, motion compensation device and provision medium - Google Patents
Motion vector generation method, picture encoder, motion compensation method, motion compensation device and provision mediumInfo
- Publication number
- JP2000023190A JP2000023190A JP10196769A JP19676998A JP2000023190A JP 2000023190 A JP2000023190 A JP 2000023190A JP 10196769 A JP10196769 A JP 10196769A JP 19676998 A JP19676998 A JP 19676998A JP 2000023190 A JP2000023190 A JP 2000023190A
- Authority
- JP
- Japan
- Prior art keywords
- block
- motion vector
- format
- color difference
- motion
- 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.)
- Granted
Links
Landscapes
- Color Television Systems (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
Description
【0001】[0001]
【発明の属する技術分野】本発明は、動きベクトル生成
方法、画像符号化装置、動き補償方法、動き補償装置、
及び提供媒体に関し、特に、例えば動画像データを光磁
気ディスクや磁気テープなどの記録媒体に記録し、これ
を再生してディスプレイなどに表示したり、テレビ会議
システム、テレビ電話システム、放送用機器、マルチメ
ディアデータベース検索システムなどのように、動画像
データを伝送路を介して送信側から受信側に伝送し、受
信側において、受信された動画像データを表示したり、
編集して記録するための画像符号化等に適用可能な動き
ベクトル生成方法、画像符号化装置、動き補償方法、動
き補償装置、及び提供媒体に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a motion vector generation method, an image encoding device, a motion compensation method, a motion compensation device,
And, regarding the providing medium, in particular, for example, moving image data is recorded on a recording medium such as a magneto-optical disk or a magnetic tape, and is reproduced and displayed on a display or the like. Like a multimedia database search system, video data is transmitted from a transmission side to a reception side via a transmission path, and on the reception side, received video data is displayed,
The present invention relates to a motion vector generation method, an image encoding device, a motion compensation method, a motion compensation device, and a providing medium applicable to image encoding for editing and recording.
【0002】[0002]
【従来の技術】例えば、テレビ会議システム、テレビ電
話システムなどのように、動画像データを遠隔地に伝送
するシステムにおいては、伝送路を効率良く利用するた
めに、画像のライン相関やフレーム間相関を利用して画
像データを圧縮符号化するようにしている。2. Description of the Related Art For example, in a system for transmitting moving image data to a remote place, such as a video conference system and a video telephone system, in order to use a transmission line efficiently, image line correlation and inter-frame correlation are required. Is used to compress and encode the image data.
【0003】動画像の高能率符号化方式には、代表的な
ものとしてMPEG(Moving Picture Experts Group)
(蓄積用動画像符号化)方式がある。これはISO−I
EC/JTC1/SC2/WG11において議論され、
標準案として提案されたものであり、動き補償予測符号
化とDCT(Discrete Cosine Transform)符号化を組
み合わせたハイブリッド方式が採用されている。[0003] A typical moving picture high-efficiency coding method is MPEG (Moving Picture Experts Group).
(Moving picture coding for storage). This is ISO-I
Discussed in EC / JTC1 / SC2 / WG11,
It has been proposed as a standard, and employs a hybrid method combining motion compensation prediction coding and DCT (Discrete Cosine Transform) coding.
【0004】MPEGでは、様々なアプリケーションや
機能に対応するために、幾つかのプロファイルおよびレ
ベルが定義されている。最も基本となるのが、メインプ
ロファイルメインレベル(MP@ML:Main Profile a
t Main Level)である。[0004] In MPEG, several profiles and levels are defined in order to support various applications and functions. The most basic is the main profile main level (MP @ ML: Main Profile a)
t Main Level).
【0005】図42は、MPEG方式におけるMP@M
Lのエンコーダの一般的な構成例を示している。[0005] FIG. 42 is a diagram showing MP @ M in the MPEG system.
5 shows a general configuration example of an L encoder.
【0006】符号化すべき入力画像データは、フレーム
メモリ31に入力され、一時記憶される。[0006] Input image data to be encoded is input to a frame memory 31 and is temporarily stored.
【0007】動きベクトル検出器32は、フレームメモ
リ31に記憶された画像データを、例えば16画素×1
6画素などで構成されるマクロブロック単位で読み出
し、その動きベクトルを検出する。The motion vector detector 32 converts the image data stored in the frame memory 31 into, for example, 16 pixels × 1
The motion vector is read out in units of macroblocks composed of six pixels or the like, and the motion vector is detected.
【0008】ここで、動きベクトル検出器32において
は、各フレームの画像データを、Iピクチャ(フレーム
内符号化)、Pピクチャ(前方予測符号化)、またはB
ピクチャ(両方向予測符号化)のうちの何れかとして処
理する。なお、シーケンシャルに入力される各フレーム
の画像を、I,P,Bピクチャのいずれのピクチャとし
て処理するかは、例えば予め定められている(例えば、
I,B,P,B,P,・・・B,Pとして処理され
る)。In the motion vector detector 32, the image data of each frame is converted into an I picture (intra-frame coding), a P picture (forward prediction coding),
It is processed as one of the pictures (bidirectional predictive coding). It should be noted that it is predetermined, for example, as to which of I, P, and B pictures the image of each frame that is sequentially input is processed (for example,
I, B, P, B, P,..., B, P).
【0009】すなわち、動きベクトル検出器32は、フ
レームメモリ31に記憶された画像データの中の、予め
定められた所定の参照フレームを参照し、その参照フレ
ームと、現在符号化の対象となっているフレームの16
画素×16ラインの小ブロック(マクロブロック)とを
パターンマッチング(ブロックマッチング)することに
より、そのマクロブロックの動きベクトルを検出する。That is, the motion vector detector 32 refers to a predetermined reference frame in the image data stored in the frame memory 31, and the reference frame and the current encoding target are 16 of the frame
By performing pattern matching (block matching) with a small block (macroblock) of pixels × 16 lines, a motion vector of the macroblock is detected.
【0010】ここで、MPEGにおいて、画像の予測モ
ードには、イントラ符号化(フレーム内符号化)、前方
予測符号化、後方予測符号化、両方向予測符号化の4種
類があり、Iピクチャはイントラ符号化され、Pピクチ
ャはイントラ符号化または前方予測符号化の何れかで符
号化され、Bピクチャはイントラ符号化、前方予測符号
化、後方予測符号化、または両方法予測符号化の何れか
で符号化される。[0010] Here, in MPEG, there are four types of image prediction modes: intra coding (intra-frame coding), forward prediction coding, backward prediction coding, and bidirectional prediction coding. Coded, P pictures are coded by either intra coding or forward prediction coding, and B pictures are coded by intra coding, forward prediction coding, backward prediction coding, or both method prediction coding. Encoded.
【0011】このため、動きベクトル検出器32は、I
ピクチャについては予測モードとしてイントラ符号化モ
ードを設定する。この場合、動きベクトル検出器32
は、動きベクトルの検出は行わず、その予測モード(イ
ントラ予測モード)の情報のみをVLC(可変長符号
化)器36および動き補償器42に出力する。For this reason, the motion vector detector 32 calculates I
For a picture, an intra coding mode is set as a prediction mode. In this case, the motion vector detector 32
Does not detect the motion vector, and outputs only the information on the prediction mode (intra prediction mode) to the VLC (variable length coding) unit 36 and the motion compensator 42.
【0012】また、動きベクトル検出器32は、Pピク
チャについては前方予測を行い、その動きベクトルを検
出する。さらに、動きベクトル検出器32は、前方予測
を行うことにより生じる予測誤差と、符号化対象のマク
ロブロック(Pピクチャのマクロブロック)の、例えば
分散とを比較する。その比較の結果、マクロブロックの
分散の方が予測誤差より小さい場合、動きベクトル検出
器32は、予測モードとしてイントラ符号化モードを設
定し、検出した動きベクトルとともにそのモードの情報
をVLC器36および動き補償器42に出力する。ま
た、動きベクトル検出器32は、前方予測を行うことに
より生じる予測誤差の方が小さければ、予測モードとし
て前方予測符号化モードを設定し、検出した動きベクト
ルとともそのモードの情報を、VLC器36および動き
補償器42に出力する。The motion vector detector 32 performs forward prediction on a P picture and detects the motion vector. Further, the motion vector detector 32 compares a prediction error caused by performing forward prediction with, for example, a variance of a macroblock to be coded (a macroblock of a P picture). As a result of the comparison, if the variance of the macroblock is smaller than the prediction error, the motion vector detector 32 sets the intra coding mode as the prediction mode, and transmits the information of the mode together with the detected motion vector to the VLC unit 36 and Output to the motion compensator 42. If the prediction error caused by performing forward prediction is smaller, the motion vector detector 32 sets the forward prediction encoding mode as the prediction mode, and outputs the detected motion vector and the information of the mode to the VLC unit. 36 and the motion compensator 42.
【0013】さらに、動きベクトル検出器32は、Bピ
クチャについては、前方予測、後方予測、および両方向
予測を行い、それぞれの動きベクトルを検出する。そし
て、動きベクトル検出器32は、前方予測、後方予測、
および両方向予測についての予測誤差の中の最小のもの
(以下、適宜、最小予測誤差という)を検出し、その最
小予測誤差と、符号化対象のマクロブロック(Bピクチ
ャのマクロブロック)の、例えば分散とを比較する。そ
の比較の結果、マクロブロックの分散の方が最小予測誤
差より小さい場合、動きベクトル検出器32は、予測モ
ードとしてイントラ符号化モードを設定し、検出した動
きベクトルとともそのモードの情報を、VLC器36お
よび動き補償器42に出力する。また、動きベクトル検
出器32は、最小予測誤差の方が小さければ、予測モー
ドとして、その最小予測誤差が得られた予測モードを設
定し、検出した動きベクトルとともそのモードの情報
を、VLC器36および動き補償器42に出力する。Further, the motion vector detector 32 performs forward prediction, backward prediction, and bidirectional prediction on the B picture, and detects respective motion vectors. Then, the motion vector detector 32 performs forward prediction, backward prediction,
And a minimum prediction error of the bidirectional prediction (hereinafter, appropriately referred to as a minimum prediction error), and the minimum prediction error and the variance of the encoding target macroblock (the macroblock of the B picture), for example. Compare with As a result of the comparison, if the variance of the macroblock is smaller than the minimum prediction error, the motion vector detector 32 sets the intra coding mode as the prediction mode, and outputs the detected motion vector and the information of the mode together with the VLC. To the motion compensator and the motion compensator. If the minimum prediction error is smaller, the motion vector detector 32 sets the prediction mode in which the minimum prediction error is obtained as the prediction mode, and outputs the detected motion vector and the information of the mode together with the VLC unit. 36 and the motion compensator 42.
【0014】動き補償器42は、動きベクトル検出器3
2から予測モードと動きベクトルの両方を受信すると、
その予測モードおよび動きベクトルにしたがって、フレ
ームメモリ41に記憶されている、符号化され且つ既に
局所復号された画像データを読み出し、この読み出され
た画像データを予測画像データとして演算器33および
40に供給する。The motion compensator 42 includes a motion vector detector 3
When both the prediction mode and the motion vector are received from 2,
According to the prediction mode and the motion vector, the coded and already locally decoded image data stored in the frame memory 41 is read out, and the read out image data is sent to the computing units 33 and 40 as predicted image data. Supply.
【0015】演算器33は、動きベクトル検出器32が
フレームメモリ31から読み出した画像データと同一の
マクロブロックをフレームメモリ31から読み出し、そ
のマクロブロックと、動き補償器42からの予測画像と
の差分を演算する。この差分値はDCT器34に供給さ
れる。The arithmetic unit 33 reads the same macroblock as the image data read from the frame memory 31 by the motion vector detector 32 from the frame memory 31 and calculates the difference between the macroblock and the predicted image from the motion compensator 42. Is calculated. This difference value is supplied to the DCT unit 34.
【0016】一方、動き補償器42は、動きベクトル検
出器32から予測モードのみを受信した場合、すなわち
予測モードがイントラ符号化モードである場合には、予
測画像を出力しない。この場合、演算器33(演算器4
0も同様)は、特に処理を行わず、フレームメモリ31
から読み出したマクロブロックをそのままDCT器34
に出力する。On the other hand, when only the prediction mode is received from the motion vector detector 32, that is, when the prediction mode is the intra-coding mode, the motion compensator 42 does not output a predicted image. In this case, the operator 33 (the operator 4
0 is the same), the frame memory 31
The macro block read out from the
Output to
【0017】DCT器34では、演算器33の出力デー
タに対してDCT処理を施し、その結果得られるDCT
係数を、量子化器35に供給する。量子化器35では、
バッファ37のデータ蓄積量(バッファ37に記憶され
ているデータの量)(バッファフィードバック)に対応
して量子化ステップ(量子化スケール)が設定され、そ
の量子化ステップでDCT器34からのDCT係数を量
子化する。この量子化されたDCT係数(以下、適宜、
量子化係数という)は、設定された量子化ステップとと
もにVLC器36に供給される。The DCT unit 34 performs a DCT process on the output data of the arithmetic unit 33, and obtains the resulting DCT
The coefficients are supplied to a quantizer 35. In the quantizer 35,
A quantization step (quantization scale) is set corresponding to the amount of data stored in the buffer 37 (the amount of data stored in the buffer 37) (buffer feedback), and the DCT coefficient from the DCT unit 34 is set in the quantization step. Is quantized. This quantized DCT coefficient (hereinafter, appropriately,
The quantization coefficient is supplied to the VLC unit 36 together with the set quantization step.
【0018】VLC器36では、量子化器35より供給
される量子化係数を、例えばハフマン符号などの可変長
符号に変換し、バッファ37に出力する。さらに、VL
C器36は、量子化器35からの量子化ステップ、動き
ベクトル検出器32からの予測モード(イントラ符号化
(画像内予測符号化)、前方予測符号化、後方予測符号
化、または両方向予測符号化のうちの何れが設定された
かを示すモード)および動きベクトルも可変長符号化
し、その結果得られる符号化データをバッフ37に出力
する。The VLC unit 36 converts the quantized coefficient supplied from the quantizer 35 into a variable length code such as a Huffman code, and outputs it to the buffer 37. Furthermore, VL
The C unit 36 includes a quantization step from the quantizer 35, a prediction mode (intra-coding (intra-picture prediction coding), forward prediction coding, backward prediction coding, or bidirectional prediction coding from the motion vector detector 32). And the motion vector is also variable-length coded, and the resulting coded data is output to the buffer 37.
【0019】バッファ37は、VLC器36からの符号
化データを一時蓄積することにより、そのデータ量を平
滑化し、符号化ビットストリームとして例えば伝送路に
出力、または記録媒体に記録する。The buffer 37 temporarily stores the encoded data from the VLC unit 36 to smooth the data amount, and outputs the encoded data as an encoded bit stream, for example, to a transmission path or records it on a recording medium.
【0020】また、バッファ37は、そのデータ蓄積量
を量子化器35に出力しており、量子化器35は、この
バッファ37からのデータ蓄積量にしたがって量子化ス
テップを設定する。すなわち、量子化器35は、バッフ
ァ37がオーバーフローしそうなとき、量子化ステップ
を大きくし、これにより量子化係数のデータ量を低下さ
せる。また、量子化器35は、バッファ37がアンダー
フローしそうなとき、量子化ステップを小さくし、これ
により量子化係数のデータ量を増大させる。このように
して、バッファ37のオーバフローとアンダフローを防
止するようになっている。The buffer 37 outputs the data storage amount to the quantizer 35, and the quantizer 35 sets a quantization step according to the data storage amount from the buffer 37. That is, when the buffer 37 is likely to overflow, the quantizer 35 increases the quantization step, thereby reducing the data amount of the quantization coefficient. When the buffer 37 is about to underflow, the quantizer 35 reduces the quantization step, thereby increasing the data amount of the quantization coefficient. Thus, the overflow and the underflow of the buffer 37 are prevented.
【0021】量子化器35が出力する量子化係数と量子
化ステップは、VLC器36だけでなく、逆量子化器3
8にも供給されるようになされている。逆量子化器38
では、量子化器35からの量子化係数を、同じく量子化
器35からの量子化ステップにしたがって逆量子化す
る。これにより、量子化係数はDCT係数に変換され
る。このDCT係数は、IDCT器(逆DCT器)39
に供給される。IDCT器39では、DCT係数を逆D
CT処理し、その処理の結果得られるデータを演算器4
0に供給する。The quantization coefficient and the quantization step output from the quantizer 35 are determined not only by the VLC unit 36 but also by the inverse quantizer 3.
8 as well. Inverse quantizer 38
Then, the quantization coefficient from the quantizer 35 is inversely quantized in accordance with the quantization step from the quantizer 35. As a result, the quantized coefficients are converted into DCT coefficients. This DCT coefficient is calculated by an IDCT unit (inverse DCT unit) 39
Supplied to In the IDCT unit 39, the DCT coefficient is
CT processing and the data obtained as a result of the processing
Supply 0.
【0022】演算器40には、IDCT器39の出力デ
ータの他、上述したように動き補償器42から演算器3
3に供給されている予測画像と同一のデータが供給され
ている。演算器40は、IDCT器39の出力データ
(予測残差(差分データ))と、動き補償器42からの
予測画像データとを加算することで、元の画像データを
局所復号し、この局所復号された画像データ(局所復号
画像データ)を出力する。但し、予測モードがイントラ
符号化である場合、IDCT器39の出力データは演算
器40をスルーして、そのまま局所復号画像データとし
てフレームメモリ41に供給される。なお、この復号画
像データは、受信側において得られる復号画像データと
同一のものである。The arithmetic unit 40 includes, in addition to the output data of the IDCT unit 39, the motion compensator 42 and the arithmetic unit 3 as described above.
3 is supplied with the same data as the prediction image supplied. The arithmetic unit 40 locally decodes the original image data by adding the output data (prediction residual (difference data)) of the IDCT unit 39 and the predicted image data from the motion compensator 42, and locally decodes the original image data. It outputs the obtained image data (locally decoded image data). However, when the prediction mode is the intra coding, the output data of the IDCT unit 39 passes through the arithmetic unit 40 and is supplied as it is to the frame memory 41 as locally decoded image data. The decoded image data is the same as the decoded image data obtained on the receiving side.
【0023】演算器40において得られた復号画像デー
タ(局所復号画像データ)は、フレームメモリ41に供
給されて記憶され、その後、インター符号化(前方予測
符号化、後方予測符号化、量方向予測符号化)される画
像に対する参照画像データ(参照フレーム)として用い
られる。The decoded image data (local decoded image data) obtained in the arithmetic unit 40 is supplied to and stored in the frame memory 41, and then inter-coded (forward predictive coding, backward predictive coding, quantitative prediction). It is used as reference image data (reference frame) for the image to be encoded.
【0024】次に、図43は、図42のエンコーダから
出力される符号化データを復号する、MPEGにおける
MP@MLのデコーダの一例の構成を示している。FIG. 43 shows an example of the configuration of an MPEG @ ML decoder in MPEG for decoding encoded data output from the encoder shown in FIG.
【0025】このデコーダにおいて、バッファ101に
は、伝送路を介して伝送されてきた符号化ビットストリ
ーム(符号化データ)を図示せぬ受信装置で受信し、ま
たは記録媒体に記録された符号化ビットストリーム(符
号化データ)を図示せぬ再生装置で再生した、符号化ビ
ットストリーム(符号化データ)が供給される。当該バ
ッファ101は、この符号化ビットストリームを一時記
憶する。In this decoder, a buffer 101 receives an encoded bit stream (encoded data) transmitted via a transmission line by a receiving device (not shown) or encodes the encoded bit stream recorded on a recording medium. An encoded bit stream (encoded data) obtained by reproducing the stream (encoded data) by a reproducing device (not shown) is supplied. The buffer 101 temporarily stores the encoded bit stream.
【0026】IVLC器(逆VLC器(可変長復号
器))102は、バッファ101に記憶された符号化デ
ータを読み出し、可変長復号することにより、その符号
化データをマクロブロック単位で、動きベクトル、予測
モード、量子化ステップ、および量子化係数に分離す
る。これらのデータのうち、動きベクトルおよび予測モ
ードは動き補償器107に供給され、量子化ステップお
よびマクロブロックの量子化係数は逆量子化器103に
供給される。The IVLC unit (inverse VLC unit (variable length decoder)) 102 reads out the coded data stored in the buffer 101 and performs variable length decoding to convert the coded data into motion vectors in units of macroblocks. , Prediction mode, quantization step, and quantization coefficient. Among these data, the motion vector and the prediction mode are supplied to the motion compensator 107, and the quantization step and the quantization coefficient of the macroblock are supplied to the inverse quantizer 103.
【0027】逆量子化器103は、IVLC器102よ
り供給されたマクロブロックの量子化係数を、同じくI
VLC器102より供給された量子化ステップにしたが
って逆量子化し、その結果得られるDCT係数をIDC
T器104に出力する。IDCT器104は、逆量子化
器103からのマクロブロックのDCT係数を逆DCT
し、演算器105に供給する。The inverse quantizer 103 converts the quantization coefficient of the macroblock supplied from the IVLC unit 102 into I
The inverse quantization is performed according to the quantization step supplied from the VLC unit 102, and the resulting DCT coefficient is
Output to the T unit 104. The IDCT unit 104 performs inverse DCT on the DCT coefficient of the macroblock from the inverse quantizer 103.
Then, it is supplied to the arithmetic unit 105.
【0028】演算器105には、IDCT器104の出
力データの他、動き補償器107の出力データも供給さ
れている。すなわち、動き補償器107は、フレームメ
モリ106に記憶されている、既に復号された画像デー
タを、図42の動き補償器42における場合と同様に、
IVLC器102からの動きベクトルおよび予測モード
にしたがって読み出し、予測画像データとして演算器1
05に供給する。演算器105は、IDCT器104の
出力データ(予測残差(差分値))と、動き補償器10
7からの予測画像データとを加算することで、元の画像
データを復号する。この復号画像データは、再生画像デ
ータとして出力されると共に、フレームメモリ106に
供給されて記憶される。なお、IDCT器104の出力
データがイントラ符号化されたものである場合、その出
力データは、演算器105をスルーして、復号画像デー
タとして、そのままフレームメモリ106に供給されて
記憶される。The arithmetic unit 105 is supplied with the output data of the motion compensator 107 in addition to the output data of the IDCT unit 104. That is, the motion compensator 107 converts the already decoded image data stored in the frame memory 106 into the same as in the case of the motion compensator 42 in FIG.
The arithmetic unit 1 reads out according to the motion mode and the prediction mode from the IVLC unit 102 and obtains the prediction image data.
05. The arithmetic unit 105 outputs the output data (prediction residual (difference value)) of the IDCT unit 104 and the motion compensator 10
7, the original image data is decoded. The decoded image data is output as reproduced image data, and is also supplied to and stored in the frame memory 106. If the output data of the IDCT unit 104 is intra-coded, the output data passes through the arithmetic unit 105 and is supplied as it is to the frame memory 106 as decoded image data, where it is stored.
【0029】フレームメモリ106に記憶された復号画
像データは、その後に復号される画像データの参照画像
データとして用いられる。さらに、復号画像データは、
出力再生画像として例えば図示せぬディスプレイなどに
供給されて表示される。The decoded image data stored in the frame memory 106 is used as reference image data of image data to be decoded thereafter. Further, the decoded image data is
The output reproduction image is supplied to, for example, a display (not shown) and displayed.
【0030】なお、MPEG1およびMPEG2では、
Bピクチャは参照画像データとして用いられないため、
エンコーダまたはデコーダのそれぞれにおいて、フレー
ムメモリ41(図42)または106(図43)には記
憶されない。In MPEG1 and MPEG2,
Since B pictures are not used as reference image data,
In each of the encoder and the decoder, it is not stored in the frame memory 41 (FIG. 42) or 106 (FIG. 43).
【0031】[0031]
【発明が解決しようとする課題】以上の図42,図43
に示したエンコーダ,デコーダはMPEG1及びMPE
G2の規格に準拠したものであるが、現在は、ISO−
IEC/JTC1/SC29/WG11において、画像
を構成する物体などのオブジェクトのシーケンスである
ビデオオブジェクト(VO:Video Object)単位で符号
化を行う方式についてMPEG(Moving Picture Exper
ts Group)4としての標準化作業が進められている。42 and 43 described above.
The encoder and decoder shown in are MPEG1 and MPE
Although it conforms to the G2 standard, it is currently ISO-compliant.
In IEC / JTC1 / SC29 / WG11, MPEG (Moving Picture Exper) is used for encoding a video object (VO), which is a sequence of objects such as an object constituting an image.
(ts Group) 4 is being standardized.
【0032】ところで、MPEG4では、現在4:2:
0フォーマットと呼ばれる、図44に規定されている画
像フォーマットのみが符号化/復号化できる画像として
規定されている。By the way, in MPEG4, 4: 2:
Only the image format defined in FIG. 44 called the 0 format is defined as an image that can be encoded / decoded.
【0033】当該4:2:0フォーマットは、図44に
示すように、輝度Y及び2つの色差Cr,Cbの信号で
構成される。The 4: 2: 0 format is composed of signals of luminance Y and two color differences Cr and Cb, as shown in FIG.
【0034】4:2:0フォーマットは、輝度Yの走査
線2本、および水平方向の2画素に対して、色差Cr,
Cbがそれぞれ1画素づつ割り当てられる画像フォーマ
ット(すなわち、輝度Yの4画素に対し色差Cr,Cb
がそれぞれ1画素づつ割り当てられる)であり、その色
差Cr,Cbの位置は輝度Yに対し同位置に存在する。In the 4: 2: 0 format, the color difference Cr, Cr,
An image format in which Cb is assigned to each pixel (that is, color differences Cr, Cb for four pixels of luminance Y).
Are assigned one pixel at a time), and the positions of the color differences Cr and Cb are at the same position with respect to the luminance Y.
【0035】なお、輝度Yに対しての色差Cr、Cbの
位置は、図44の位置だけではなく、使用される装置等
によって異なる。The positions of the color differences Cr and Cb with respect to the luminance Y differ depending not only on the positions shown in FIG. 44 but also on the apparatus used.
【0036】4:2:0フォーマットは、前述のとお
り、輝度Yの4画素に対し色差Cr,Cbがそれぞれ1
画素割り当てられているため、輝度Yに対し、色差C
r,Cbの解像度が低くなる。In the 4: 2: 0 format, as described above, the chrominance Cr and Cb are each 1 for four pixels of luminance Y.
Since the pixels are allocated, the color difference C
The resolution of r and Cb decreases.
【0037】そのため、放送局等で求められる画質の高
い画像に対しては、その使用用途に応じて、4:2:0
フォーマットではなく、4:2:2フォーマット、4:
4:4フォーマットが用いられる。Therefore, for a high quality image required by a broadcasting station or the like, 4: 2: 0 according to the intended use.
Not 4: 2: 2 format, 4: 3
A 4: 4 format is used.
【0038】上記4:2:2フォーマットは、図45に
示す画素配置のように、輝度Yの走査線1本及び水平方
向の2画素に対し、色差Cr,Cbがそれぞれ1画素ず
つ(すなわち輝度Yの2画素に対し色差Cr,Cbが1
画素)割り当てられる。In the 4: 2: 2 format, as shown in the pixel arrangement shown in FIG. 45, the color difference Cr and Cb are each one pixel (that is, the luminance is one pixel) for one luminance Y scanning line and two pixels in the horizontal direction. Color difference Cr, Cb is 1 for two pixels of Y
Pixel) assigned.
【0039】上記4:4:4フォーマットは、図46に
示す画素配置のように、輝度Yの走査線1本及び水平方
法の1画素に対し、色差Cr,Cbがそれぞれ1画素ず
つ(すなわち、輝度Y、色差Cr,Cbの画素数、位置
は等しい)が割り当てられる。In the 4: 4: 4 format, as shown in the pixel arrangement shown in FIG. 46, the color difference Cr and Cb are one pixel each (that is, one pixel in the horizontal method and one pixel in the horizontal method). (The number of pixels and the positions of the luminance Y and the color differences Cr and Cb are equal).
【0040】このように4:2:2フォーマットや4:
4:4フォーマットは、4:2:0フォーマットに対
し、色差信号の画素数が多く、画質を求める画像に対し
て使用することはその画質を向上させることに対し大変
有効である。As described above, the 4: 2: 2 format and the 4: 2: 2 format are used.
The 4: 4 format has a larger number of pixels of the color difference signal than the 4: 2: 0 format, and using it for an image for which image quality is required is very effective for improving the image quality.
【0041】しかし、MPEG4においては、前述した
とおり4:2:0フォーマットの画像のみが規定されて
おり、4:2:2フォーマットや4:4:4フォーマッ
トをその符号化・復号画像として使用することは不可能
である。However, in MPEG4, only the 4: 2: 0 format image is specified as described above, and the 4: 2: 2 format or 4: 4: 4 format is used as the encoded / decoded image. It is impossible.
【0042】また、MPEG4では、画像の符号化だけ
ではなく、形状情報も符号化できるように規格化されて
いる。さらに、形状情報を持った画像を符号化する方法
は、4:2:0フォーマットのみに対応しており、4:
2:2フォーマット、4:4:4フォーマットには対応
していない。Further, MPEG4 is standardized so that not only image coding but also shape information can be coded. Furthermore, a method of encoding an image having shape information corresponds to only the 4: 2: 0 format.
It does not support 2: 2 format and 4: 4: 4 format.
【0043】そこで、本発明はこのような状況に鑑みて
なされたものであり、形状情報を所有している画像にお
いての4:2:2フォーマット,4:4:4フォーマッ
トの色差成分の符号化、及び、MPEG4において4:
2:2フォーマット,4:4:4フォーマットが使用で
きるように拡張された画像符号化等に適用可能であり、
特に、色差ブロックの動きベクトル検出や動き補償に用
いて好適な動きベクトル生成方法、画像符号化装置、動
き補償方法、動き補償装置、及び提供媒体を提供するこ
とを目的とする。Accordingly, the present invention has been made in view of such a situation, and encodes color difference components of 4: 2: 2 format and 4: 4: 4 format in an image having shape information. And in MPEG4:
The present invention is applicable to image encoding extended to use a 2: 2 format and a 4: 4: 4 format, and the like.
In particular, an object of the present invention is to provide a motion vector generation method, an image encoding device, a motion compensation method, a motion compensation device, and a medium suitable for use in motion vector detection and motion compensation of a color difference block.
【0044】[0044]
【課題を解決するための手段】本発明に係る動きベクト
ル生成方法は、ことにより、上述した課題を解決する。The motion vector generating method according to the present invention solves the above-mentioned problem.
【0045】VOLレイヤもしくはさらに上位のレイヤ
において、色差フォーマットを示すフラグ(croma_typ
e)を採用する。このフラグ(croma_type)は、2ビッ
トのフラグであり、例えばその値を表1と定義すること
によって符号化/復号化を行う画像の色差フォーマット
を特定が可能となる。In the VOL layer or a higher layer, a flag (croma_typ) indicating the color difference format
e) is adopted. This flag (croma_type) is a two-bit flag. For example, by defining its value as Table 1, it is possible to specify the color difference format of the image to be encoded / decoded.
【0046】また、マクロブロックレイヤにおいても、
従来、MPEG4では色差のブロックの符号化状態を表
すフラグ(cbpc)を用いてその色差ブロックにおけるD
CT係数の存在を判断している。MPEG4では、この
フラグ(cbpc)をI−VOP、P−VOPのマクロブロ
ックの場合には、VLCである(mcbpc)より得て、B
−VOPの場合には、CBPBの下位2ビットから得る
ことができる。In the macro block layer,
Conventionally, in MPEG4, a flag (cbpc) indicating the encoding state of a chrominance block is used to calculate the D in the chrominance block.
The existence of the CT coefficient is determined. In MPEG4, this flag (cbpc) is obtained from VLC (mcbpc) in the case of an I-VOP or P-VOP macroblock, and
In the case of -VOP, it can be obtained from the lower 2 bits of CBPB.
【0047】本方式では、これを改良し、フラグ(crom
a_type)によりその読み込むビット量を変化させること
が可能である。すなわちクロマフォーマット(croma_fo
rmat)が4:2:0フォーマットを示す場合には従来通
り2ビットのフラグ(cbpc)のみでそのブロックの存在
を判断するが、さらにクロマフォーマット(croma_typ
e)が4:2:0以外の色差フォーマットを示した場
合、さらにその色差のタイプに応じて数ビット読み込み
そのビットの状態に応じて色差ブロックのDCT係数の
存在を判断することができる。In the present system, this is improved and a flag (crom
a_type), it is possible to change the read bit amount. That is, the chroma format (croma_fo
rmat) indicates the 4: 2: 0 format, the presence of the block is determined only by the 2-bit flag (cbpc) as in the conventional case, but the chroma format (croma_typ) is further determined.
If e) indicates a chrominance format other than 4: 2: 0, it is possible to read several bits according to the type of the chrominance and determine the presence of the DCT coefficient of the chrominance block according to the state of the bit.
【0048】これらの手法により、MPEG4を4:
2:0フォーマットだけではなく、4:2:2もしくは
4:4:4フォーマットに拡張することが可能となる。According to these methods, MPEG4 is converted into 4:
It is possible to expand to not only the 2: 0 format but also the 4: 2: 2 or 4: 4: 4 format.
【0049】また、形状情報は輝度と同じ画素数を持
つ、2値または多値の画像で構成され、色差の符号化/
復号化時にてこの形状情報を利用する際には、形状情報
に特定の処理を施し、色差用の形状情報として利用して
いる。そのため、本方式では この処理方法をクロマの
フォーマットを示すフラグを用いて適用的に変化させる
方法を提案し、それにより形状情報を有する422、4
44フォーマットの画像の符号化が可能になる。The shape information is composed of a binary or multi-valued image having the same number of pixels as the luminance.
When the shape information is used at the time of decoding, a specific process is performed on the shape information, and the shape information is used as shape information for color difference. Therefore, the present method proposes a method of adaptively changing this processing method by using a flag indicating a chroma format, whereby 422, 4
44-format images can be encoded.
【0050】[0050]
【発明の実施の形態】本発明の好ましい実施の形態につ
いて、図面を参照しながら説明する。DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Preferred embodiments of the present invention will be described with reference to the drawings.
【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を用いて簡単に説明する。FIG. 1 shows a configuration example of an embodiment of an encoder to which the image encoding method and apparatus of the present invention is applied. Before describing the configuration of FIG. Necessary terms are Visual Object and Video Object.
t, hereafter referred to as VO), video object layer (Video Object Layer, hereafter referred to as VOL), group of video object plane (Group of Vid)
eo Object Plane (hereinafter referred to as GOV), Video Object Plane (hereinafter referred to as V)
OP), Group of bloc
k, hereinafter appropriately referred to as GOB), macro block (hereinafter, referred to as GOB)
The block will be briefly described with reference to FIGS. 2 and 3.
【0052】先ず、ブロックは、輝度または色差毎の隣
り合った例えば8ライン×8画素から構成される。例え
ば、DCT(離散コサイン変換)はこの単位で実行され
る。なお、これ以降、各ブロックについては、便宜上図
3の各ブロックに付加した番号により表すことにする。First, a block is composed of, for example, 8 lines × 8 pixels adjacent to each other for each luminance or color difference. For example, DCT (Discrete Cosine Transform) is performed in this unit. Hereinafter, each block is represented by a number added to each block in FIG. 3 for convenience.
【0053】4:2:0フォーマットにおけるマクロブ
ロック内のブロックの配置を図3の(a)を用いて説明
する。図3の(a)は、MPEG4のビジュアルコミッ
ティドラフト(Visual Comitee Draft、以下、適宜、C
Dと記述する)における、マクロブロック内でのブロッ
クの分割法を示した図である。The arrangement of blocks in a macroblock in the 4: 2: 0 format will be described with reference to FIG. FIG. 3A shows a Visual Committee Draft of MPEG4 (hereinafter referred to as C as appropriate).
FIG. 3D is a diagram illustrating a method of dividing a block in a macroblock in the following description.
【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画素のブロックに対して行われるものであるか
らである。For example, when the image format is a so-called 4: 2: 0 component digital signal, the macroblock (MB) is a block of four luminance Y adjacent vertically and horizontally and a color difference block located at the same position on the image. Each of the blocks of Cb and Cr is composed of six blocks in total. That is, in MPEG4, conventional 4:
A macroblock in the 2: 0 format is defined as the encoded / decoded image, and blocks 0, 1, 2, and 3 in FIG.
Denotes a block of color difference Cb, and block 5 denotes a block of color difference Cr. Each block is composed of 8 × 8 pixels. Here, the arrangement of the blocks of luminance Y in FIG. 3A is such that four 8 × 8 blocks of luminance Y of 16 × 16 pixels are arranged.
Indicates that the block is divided into blocks. Similarly, color difference C
The blocks 4 and 5 of b and Cr are also blocks of 8 × 8 pixels. At this time, in the 4: 2: 0 format, the size of the chrominance is 8 × 8 pixels in one macroblock, and the chrominance block is encoded as it is without being divided. Also, dividing each macro block into 8 × 8 pixel blocks is considered by DCT in MPEG.
Is performed on a block of 8 × 8 pixels.
【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画素のブロックを
示す。Here, in the present embodiment, the color difference format is not limited to 4: 2: 0 format but 4: 2:
It also supports two formats and 4: 4: 4 format. In the block arrangement of FIG. 3A, 4: 2: 2
Since the format cannot support the 4: 4: 4 format, the block layout when the 4: 2: 2 format is supported is shown in FIG. 3B. The block layout when the 4: 4: 4 format is supported. Is shown in FIG.
Each of the blocks in FIG. 3 (b) and FIG. 3 (c) indicates a block of 8 × 8 pixels, similarly to FIG. 3 (a).
【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つに分割されている。FIG. 3B schematically shows the structure of a block in a macroblock corresponding to the 4: 2: 2 format. In the block arrangement of FIG. 3B, the luminance Y is composed of four blocks 0, 1, 2, 3, and the color difference C
The blocks of b and Cr are two 8
It is composed of × 8 blocks 4, 6, 5 and 7. That is, the block of the luminance Y of the 4: 2: 2 format is 4:
Like the 2: 0 format, a 16 × 16 block is divided into two equal parts in the vertical, horizontal, and horizontal directions, but a color difference block is composed of 8 × 16 pixels. Therefore, as shown in FIG. 3B, the color difference signal is divided into upper and lower parts.
【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で構成される。FIG. 3C schematically shows the structure of a macroblock for the 4: 4: 4 format. In the 4: 4: 4 format, the luminance Y and the color differences Cb and Cr are each composed of 16 × 16 pixels. Therefore, when the 4: 4: 4 format is divided into blocks, each of Y, Cb, and Cr is composed of four 8 × 8 blocks as shown in FIG. That is, the luminance Y is composed of blocks 0, 1, 2, and 3,
The blocks of the color difference Cb are composed of 4, 6, 8, and 10, and the blocks of the color difference Cr are composed of 5, 7, 9, and 11.
【0058】次に、VOP(Video Object Plane)は、
1つまたは複数のマクロブロックから構成される1枚の
画像を表す。この画像は、符号化される方式にしたがっ
て、Iピクチャ(画像内符号化画像)、Pピクチャ(前
方予測符号化画像)、およびBピクチャ(両方向予測符
号化画像)のうちのいずれかに分類される。Next, VOP (Video Object Plane) is
Represents one image composed of one or more macroblocks. This image is classified into one of an I picture (intra-coded image), a P picture (forward predicted coded image), and a B picture (bidirectional predicted coded image) according to a coding method. You.
【0059】I−VOP(Iピクチャ)は、動き補償を
行うことなく、画像そのものが符号化(イントラ符号
化)されるものである。P−VOP(Pピクチャ)は、
基本的には、自身より時間的に前に位置する画像(Iま
たはP−VOP)に基づいて、前方予測符号化される。
B−VOP(Bピクチャ)は、基本的には、自身より時
間的に前と後ろに位置する2つの画像(IまたはP−V
OP)に基づいて両方向予測符号化されるものである。An I-VOP (I picture) is a picture that is coded (intra coded) without performing motion compensation. P-VOP (P picture)
Basically, forward predictive coding is performed based on an image (I or P-VOP) located temporally before itself.
Basically, a B-VOP (B picture) is basically composed of two images (I or PV) located temporally before and after itself.
OP) and bidirectional predictive coding.
【0060】GOV(Group of Video Object Plane)
は、少なくとも1枚のI−VOPと、0または少なくと
も1枚の非I−VOP(すなわちP−VOP、B−VO
P)とから構成される。ただし、階層符号化を行った場
合の上位レイヤに関してはこの限りではない。なお、G
OVの使用、不使用は符号化時に自由に決められる。GOV (Group of Video Object Plane)
Means that at least one I-VOP and zero or at least one non-I-VOP (i.e., P-VOP, B-VO
P). However, this does not apply to the upper layer when hierarchical coding is performed. Note that G
Use or non-use of OV is freely determined at the time of encoding.
【0061】VOL(Video Object Layer)は、少なく
とも1枚以上のVOPもしくはGOVから成り立つ。V
OL内には同一の表示時間を持つVOPは含まれず、V
OPをその表示時間順に表示することにより一連の画像
が表示されることになる。A VOL (Video Object Layer) is composed of at least one VOP or GOV. V
OLs do not include VOPs having the same display time,
By displaying OPs in the order of their display time, a series of images will be displayed.
【0062】ビデオオブジェクト(video Object:V
O)は、1つ以上のVOLから構成され、VOLの組合
わせにより同一オブジェクトを複数の解像度、フレーム
レート等で符号化、復号化することが可能である。これ
は図2に表す関係を有する。The video object (video object: V)
O) is composed of one or more VOLs, and the same object can be encoded and decoded at a plurality of resolutions, frame rates, and the like by combining VOLs. This has the relationship shown in FIG.
【0063】ビジュアルオブジェクト(Visual Objec
t)は、一つのビデオオブジェクト(video Object)ま
たは他の一つのオブジェクト(例えばフェイスオブジェ
クト(face object)、メッシュオブジェクト(mesh ob
ject)、スチルテクスチャオブジェクト(still textur
e object)等)により構成される。The Visual Object (Visual Objec)
t) can be one video object or one other object (eg face object, mesh object
ject), still texture objects (still textur)
e object).
【0064】ビデオオブジェクトシーケンス(Visual O
bject Sequence)は、一つもしくは複数のビジュアルオ
ブジェクト(Visual Object)より構成され、図2に表
す関係を有する。The video object sequence (Visual O
Bject Sequence) is composed of one or a plurality of visual objects (Visual Objects) and has a relationship shown in FIG.
【0065】次に、図1を用いて、本発明を適用した実
施の形態のエンコーダについて説明する。Next, an encoder according to an embodiment of the present invention will be described with reference to FIG.
【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にそれぞれ出力される。An input image signal, that is, image (moving image) data to be encoded is input to a VO (Video Object) forming unit 1. The VO composing unit 1 generates a sequence VO (Vi) for each object constituting an input image.
deo object), and outputs it to the VOP constructing units 21 to 2N. That is, N VO # 1s in the VO configuration unit 1
To VO # N, the N VO # 1 to VO # N correspond to the N VOP constituent units 2 respectively.
It is output to 1 to 2N, respectively.
【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)とされている。More specifically, referring to FIG. 4, when the image data to be encoded is composed of, for example, a sequence of independent background F1 and a sequence of foreground F2, V
The O configuration unit 1 converts the sequence of the background F1 into VO # 1
And outputs the result to the VOP composing section 21 and the foreground F2
Is output to the VOP constructing unit 22 as VO # 2. The example of FIG. 4 shows an image including an image F1 as a background and an image F2 as a foreground.
Is a photograph of a natural scene, for example, and the sequence of the entire image is one VO (VO # 1). The image F2 is, for example, an image of a person walking, and the smallest rectangular sequence surrounding the person is one VO (VO # 2).
【0068】VO構成部1は、符号化すべき画像データ
が、例えば背景F1と前景F2とが既に合成されたもの
である場合、所定のアルゴリズムにしたがって当該画像
を領域分割することにより、背景F1と前景F2とを取
り出し、それぞれのシーケンスとしてのVOを、対応す
るVOP構成部2n(但し、n=1,2,・・・,N)
に出力する。If the image data to be encoded is, for example, the background F1 and the foreground F2 already synthesized, the VO constructing unit 1 divides the image into regions according to a predetermined algorithm, thereby obtaining the background F1 and the foreground F2. The foreground F2 is taken out, and the VOs as the respective sequences are converted into the corresponding VOP constituents 2n (where n = 1, 2,..., N)
Output to
【0069】VOP構成部2nは、VO構成部1の出力
からVOPを構成する。すなわち例えば、各フレームか
ら物体(オブジェクト)を抽出し、その物体を囲む、例
えば最小の長方形(以下、適宜、最小長方形という)を
VOPとする。なおこのとき、VOP構成部2nは、そ
の横および縦の画素数が、例えば16の倍数となるよう
にVOPを構成する。VO構成部2nは、VOPを構成
すると、そのVOPをVOP符号化部3nに出力する。The VOP constructing unit 2 n constructs a VOP from the output of the VO constructing unit 1. That is, for example, an object is extracted from each frame, and a minimum rectangle (hereinafter, appropriately referred to as a minimum rectangle) surrounding the object is set as a VOP. At this time, the VOP forming unit 2n forms the VOP such that the number of horizontal and vertical pixels is, for example, a multiple of 16. After constructing the VOP, the VO constructing unit 2n outputs the VOP to the VOP encoding unit 3n.
【0070】さらに、VOP構成部2nは、VOPの大
きさ(例えば横および縦の長さ)を表すサイズデータ
(VOP_size)と、フレームにおけるそのVOPの位
置(例えばフレームの最も左上を原点とするときの座
標)を表すオフセットデータ(VOP_offset)とを検
出し、これらのデータもVOP符号化部3nに供給す
る。Further, the VOP constructing unit 2n includes size data (VOP_size) representing the size (for example, horizontal and vertical length) of the VOP, and the position of the VOP in the frame (for example, when the origin is at the upper left end of the frame). ), And also supplies these data to the VOP encoding unit 3n.
【0071】VOP符号化部3nは、VOP構成部2nの
出力を、例えばMPEGやH.263などの規格に準拠
した方式で符号化し、その結果得られるビットストリー
ムを多重化部4に出力する。多重化部4は、VOP符号
化部31乃至3Nからのビットストリームを多重化し、そ
の結果得られる多重化データを、例えば地上波や衛星回
線、CATV網その他の伝送路5を介して伝送し、また
は、例えば磁気ディスク、光磁気ディスク、光ディス
ク、磁気テープその他の記録媒体6に記録する。The VOP encoder 3n outputs the output of the VOP constructor 2n to, for example, MPEG or H.264. H.263 and the like, and the resulting bit stream is output to the multiplexing unit 4. The multiplexing unit 4 multiplexes the bit streams from the VOP encoding units 31 to 3N, and transmits the resulting multiplexed data via, for example, a terrestrial wave, a satellite line, a CATV network, or another transmission path 5, Alternatively, the information is recorded on a recording medium 6 such as a magnetic disk, a magneto-optical disk, an optical disk, a magnetic tape, or the like.
【0072】ここで、VOおよびVOPについて説明す
る。Here, VO and VOP will be described.
【0073】VOは、ある合成画像のシーケンスが存在
する場合の、その合成画像を構成する各オブジェクト
(物体)のシーケンスであり、VOPは、ある時刻にお
けるVOを意味する。すなわち、例えば画像F1および
F2を合成して構成された合成画像F3がある場合、画
像F1またはF2が時系列に並んだものがそれぞれVO
であり、ある時刻における画像F1またはF2がそれぞ
れVOPである。従って、VOは、異なる時刻の同一オ
ブジェクトのVOPの集合であると言うことができる。VO is a sequence of each object (object) constituting the composite image when a sequence of the composite image exists, and VOP means VO at a certain time. That is, for example, when there is a synthesized image F3 formed by synthesizing the images F1 and F2, those in which the images F1 or F2 are arranged in a time series
And the image F1 or F2 at a certain time is a VOP. Therefore, a VO can be said to be a set of VOPs of the same object at different times.
【0074】なお、図4の例のように、画像F1を背景
とするとともに画像F2を前景とすると、それらの合成
画像F3は、画像F2を切り抜くためのキー信号を用い
て、画像F1およびF2を合成することによって得られ
るが、この場合における画像F2のVOPには、その画
像F2を構成する画像データ(輝度信号および色差信
号)の他、適宜、そのキー信号も含まれるものとする。When the image F1 is set as the background and the image F2 is set as the foreground as in the example of FIG. 4, the composite image F3 is formed by using the key signals for cutting out the image F2 and the images F1 and F2. In this case, the VOP of the image F2 in this case includes not only the image data (the luminance signal and the color difference signal) constituting the image F2 but also the key signal as appropriate.
【0075】画像フレーム(画枠)のシーケンスは、そ
の大きさおよび位置のいずれも変化しないが、VOは、
大きさや位置が変化する場合がある。すなわち、同一の
VOを構成するVOPであっても、時刻によってその大
きさや位置が異なる場合がある。The sequence of image frames (image frames) does not change in both size and position, but VO
The size and position may change. That is, even in the case of VOPs that constitute the same VO, the size and position may vary depending on the time.
【0076】具体的にいうと、図4の例のように、画像
F1が例えばある自然の風景を撮影したものであり、画
像F2が例えば人が歩いている様子を撮影したものであ
る場合、画像F1のVO#1は風景の画像であるから、
基本的に通常の画像のフレームと同様にその位置および
大きさの両方とも変化しないのに対して、画像F2のV
O#2は人の画像であるから、人物が左右に移動した
り、また図面において手前側または奥側に移動すること
により、その大きさや位置が変化する。従って、図4
は、同一時刻におけるVO#1およびVO#2を表して
いるが、VOの位置や大きさは時間の経過に伴って変化
することがある。More specifically, as shown in the example of FIG. 4, when the image F1 is an image of a certain natural scene, for example, and the image F2 is an image of a person walking, for example, Since VO # 1 of the image F1 is a landscape image,
Basically, both the position and the size do not change like the frame of the normal image, while the V
Since O # 2 is an image of a person, its size and position change when the person moves left and right or moves forward or backward in the drawing. Therefore, FIG.
Represents VO # 1 and VO # 2 at the same time, but the position and size of VO may change over time.
【0077】そこで、図1のVOP符号化部3nは、そ
の出力するビットストリームに、VOPを符号化したデ
ータの他、所定の絶対座標系におけるVOPの位置(座
標)および大きさに関する情報も含めるようになされて
いる。なお、図4においては、VO#1を構成するある
時刻のVOP(画像F1)の位置を示すベクトルをOS
T1とし、その時刻と同一時刻におけるVO#2のVO
P(画像F2)の位置を表すベクトルをOST2とし
て、それぞれ表してある。Therefore, the VOP encoding unit 3n of FIG. 1 includes, in the output bit stream, information on the position (coordinate) and size of the VOP in a predetermined absolute coordinate system, in addition to the data obtained by encoding the VOP. It has been made like that. In FIG. 4, a vector indicating the position of the VOP (image F1) at a certain time constituting VO # 1 is represented by OS
T1 and the VO of VO # 2 at the same time
A vector representing the position of P (image F2) is represented as OST2.
【0078】次に、図5には、図1のVOP符号化部3
nの詳細な構成例を示す。なお、この図5において、図
42における場合と対応する各構成要素については、同
一の指示符号を付してある。すなわち、VOP符号化部
3nは、基本的には図42のエンコーダと同様に構成さ
れているものである。Next, FIG. 5 shows the VOP encoder 3 of FIG.
A detailed configuration example of n is shown. In FIG. 5, the same reference numerals are given to the respective components corresponding to those in FIG. That is, the VOP encoding unit 3n is basically configured similarly to the encoder of FIG.
【0079】この図5において、図42における場合と
同様に、入力画像の画像データはフレームメモリ31に
供給されてVOPとして記憶される。In FIG. 5, as in the case of FIG. 42, the image data of the input image is supplied to the frame memory 31 and stored as a VOP.
【0080】動きベクトル検出器32では、フレームメ
モリ31に記憶されたVOPに対してマクロブロック単
位で動きベクトルの検出を行う。すなわち、上述したよ
うに、VOPは時刻(フレーム)によって大きさや位置
が変化するため、その動きベクトルの検出にあたって
は、その検出のための基準となる座標系を設定し、その
座標系における動きを検出する必要がある。そこで、動
きベクトル検出器32では、上述の絶対座標系を基準と
なる座標系とし、サイズデータFSZ_Bおよびオフセ
ットデータFPOS_Bにしたがってその絶対座標系に
符号化対象のVOP及び参照画像とするVOPを配置し
て、動きベクトルを検出する。なお、検出された動きベ
クトル(MV)は、予測モードとともに形状情報符号化
器50、VLC器36および動き補償器42、量子化器
35、逆量子化器38、DCT係数差分化器44に供給
される。The motion vector detector 32 detects a motion vector for each VOP stored in the frame memory 31 on a macroblock basis. That is, as described above, since the size and position of the VOP change depending on the time (frame), a coordinate system serving as a reference for the detection is set when detecting the motion vector, and the motion in the coordinate system is determined. Need to detect. Therefore, the motion vector detector 32 uses the above-described absolute coordinate system as a reference coordinate system, and arranges a VOP to be encoded and a VOP as a reference image in the absolute coordinate system in accordance with the size data FSZ_B and the offset data FPOS_B. Then, a motion vector is detected. The detected motion vector (MV) is supplied to the shape information encoder 50, the VLC unit 36 and the motion compensator 42, the quantizer 35, the inverse quantizer 38, and the DCT coefficient difference unit 44 together with the prediction mode. Is done.
【0081】また、動き補償を行う場合においても、や
はり上述したように基準となる座標系における動きを検
出する必要があるため、動き補償器42には、サイズデ
ータFSZ_BおよびオフセットデータFPOS_Bが
供給されるようになされている。Also, when performing motion compensation, the size data FSZ_B and the offset data FPOS_B are supplied to the motion compensator 42 because it is necessary to detect the motion in the reference coordinate system as described above. It has been made.
【0082】演算器33には、図42の場合と同様に、
動きベクトル検出器32がフレームメモリ31から読み
出した画像データのおけるものと同一のマクロブロック
のデータが供給される。この演算器33では、そのマク
ロブロックと動き補償器42からの予測画像との差分を
演算する。この差分値は、DCT器34に送られる。動
き補償器42は、図42の場合と同様に、予測モードが
イントラ符号化モードである場合には、予測画像を出力
しない。この場合、演算器33(演算器40も同様)
は、特に処理を行わず、フレームメモリ31から読み出
したマクロブロックのデータをそのままDCT器34に
出力する。In the arithmetic unit 33, as in the case of FIG.
The same macroblock data as that in the image data read out from the frame memory 31 by the motion vector detector 32 is supplied. The calculator 33 calculates the difference between the macroblock and the predicted image from the motion compensator 42. This difference value is sent to the DCT unit 34. The motion compensator 42 does not output a predicted image when the prediction mode is the intra-coding mode, as in the case of FIG. In this case, the operation unit 33 (the operation unit 40 is also the same)
Performs no particular processing, and outputs the macroblock data read from the frame memory 31 to the DCT unit 34 as it is.
【0083】DCT器34では、演算器33の出力デー
タに対して、8ライン×8画素からなるブロック単位で
DCT処理を施し、そのDCT処理の結果得られるDC
T係数を量子化器35に供給する。The DCT unit 34 performs a DCT process on the output data of the arithmetic unit 33 in units of blocks of 8 lines × 8 pixels, and obtains a DCT result obtained by the DCT process.
The T coefficient is supplied to the quantizer 35.
【0084】量子化器35では、図42の量子化器35
と同様に、入力されたDCT係数を量子化し、その量子
化データをDCT係数差分化器44及び逆量子化器38
に送る。In the quantizer 35, the quantizer 35 shown in FIG.
Similarly, the input DCT coefficient is quantized, and the quantized data is converted to the DCT coefficient differencer 44 and the inverse quantizer 38.
Send to
【0085】逆量子化器38では、図42に示す逆量子
化器38と同様の動作を行う。すなわち、量子化器35
から入力された8×8の量子化されたDCT係数を逆量
子化し、IDCT器39に送る。The inverse quantizer 38 performs the same operation as the inverse quantizer 38 shown in FIG. That is, the quantizer 35
The inversely quantized 8 × 8 quantized DCT coefficient input from the above is sent to the IDCT unit 39.
【0086】IDCT器39は、図42のIDCT器3
9と同様に動作し、逆量子化器38より逆量子化された
DCT係数を、IDCT処理して演算器40に出力す
る。The IDCT unit 39 is the IDCT unit 3 shown in FIG.
9, the DCT coefficient inversely quantized by the inverse quantizer 38 is subjected to IDCT processing and output to the arithmetic unit 40.
【0087】演算器40には、IDCT器39の出力デ
ータの他、動き補償器42から、演算器33に供給され
ている予測画像と同一のデータが供給されている。演算
器40は、IDCT器39の出力データ(予測残差(差
分データ))と、動き補償器42からの予測画像データ
とを加算することで、元の画像データを局所復号し、こ
の局所復号した画像データ(局所復号画像データ)を出
力する。但し、予測モードがイントラ符号化である場合
には、IDCT器39の出力データは演算器40をスル
ーして、そのまま局所復号画像データとしてフレームメ
モリ41に供給される。なお、この復号画像データは、
受信側において得られる復号画像データと同一のもので
ある。The arithmetic unit 40 is supplied with the same data as the predicted image supplied to the arithmetic unit 33 from the motion compensator 33 in addition to the output data of the IDCT unit 39. The arithmetic unit 40 locally decodes the original image data by adding the output data (prediction residual (difference data)) of the IDCT unit 39 and the predicted image data from the motion compensator 42, and locally decodes the original image data. The image data (local decoded image data) is output. However, when the prediction mode is the intra coding, the output data of the IDCT unit 39 passes through the arithmetic unit 40 and is supplied as it is to the frame memory 41 as locally decoded image data. This decoded image data is
This is the same as the decoded image data obtained on the receiving side.
【0088】演算器40において得られた復号画像デー
タ(局所復号画像データ)は、テクスチャ(texture)
情報として後述するパディング(Padding)処理器51
に供給される。The decoded image data (local decoded image data) obtained by the arithmetic unit 40 is a texture (texture).
Padding processing unit 51 described later as information
Supplied to
【0089】一方、形状情報(キー信号)、入力された
サイズデータFSZ_B、オフセットデータFPOS_
B、VOPのサイズデータVOP_size、VOPのオフ
セットデータVOP_offset及び、動きベクトル検出器
32より出力された動きベクトルと予測モードは、形状
情報符号化器50に供給される。形状情報符号化器50
では、MPEG4のビジュアルコミッティドラフト(Vi
sual Committe draft)にある記述に従ってその形状情
報の符号化を行う。符号化された形状情報は、形状情報
復号器52及びVLC器36へ送られる。On the other hand, shape information (key signal), input size data FSZ_B, offset data FPOS_
B, VOP size data VOP_size, VOP offset data VOP_offset, and the motion vector and prediction mode output from the motion vector detector 32 are supplied to the shape information encoder 50. Shape information encoder 50
Then, MPEG4 Visual Committee Draft (Vi
The shape information is encoded according to the description in the manual (Sual Committe draft). The encoded shape information is sent to the shape information decoder 52 and the VLC unit 36.
【0090】形状情報復号器52は、形状情報符号化器
50から供給された、符号化されている形状情報の局所
復号化を行い、そのデータを色差情報用作成器53及び
パディング(Padding)処理器51、DCT係数差分化
器44及び、VLC器36へ送る。The shape information decoder 52 performs local decoding of the encoded shape information supplied from the shape information encoder 50, and converts the data into a chrominance information creator 53 and a padding (Padding) process. Unit 51, the DCT coefficient difference unit 44, and the VLC unit 36.
【0091】色差用形状情報作成器53では、色差フォ
ーマットの形式により形状情報へ処理を加える。当該色
差用形状情報作成器53の動作について以下に説明す
る。図6には、4:2:0フォーマット(図6の
(a))、4:2:2フォーマット(図6の(b))、
4:4:4フォーマット(図6の(c))の場合の色差
用形状情報の作成方法を説明するための図を示す。The color-difference shape information creator 53 performs processing on the shape information in the form of a color-difference format. The operation of the color difference shape information generator 53 will be described below. FIG. 6 shows a 4: 2: 0 format (FIG. 6A), a 4: 2: 2 format (FIG. 6B),
FIG. 7 is a diagram for explaining a method of creating color difference shape information in a 4: 4: 4 format ((c) of FIG. 6).
【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の画素値を用いてその表示する画素の情報として用
いると言うことである。FIG. 6 showing the case of 4: 2: 0 format.
(A), pixels la, lb, lc, l of luminance Y
The pixel ca of d and the color difference Cb, Cr (the color difference Cb and Cr are present at the same position in FIG. 6A) are located at the corresponding positions, and similarly, the luminance pixels le, lf,
The pixels cb having the color differences of lg and lh are present at the corresponding positions. That is, the correspondence here means that when the pixel at the position of la is actually displayed, the pixel value of the luminance Y at the position of the la and the color difference Cb,
This means that a pixel value of Cr is used as information of a pixel to be displayed.
【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の位置に存在す
る形状情報より作成することになる。Here, in the case of the 4: 2: 0 format,
The shape information to be sent to the next stage is only the information of the same number and the same position so as to correspond one-to-one with the pixel of luminance. That is, in the case of FIG.
Only the shape information corresponding to the positions of a, lb, lc, ld, le, lf, lg, and lh is received, and the shape information corresponding to the position of the color difference is not sent. Therefore, when encoding the color difference signal, it is necessary to create the same number of pieces of color difference shape information at the same position and one-to-one correspondence with the color difference pixels from the luminance shape information. Specifically, the pixels of the luminance corresponding to the position of the color difference pixel ca (where color difference information of Cb and Cr exists) are la, lb, lc, and ld. The shape information for color difference corresponding to the position is created from the shape information existing at the positions of la, lb, lc, and 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値情報に加
え、形状情報の階調を表す情報が別途送られる。The shape information is usually transmitted as a binary image.
For example, a value of 0 indicates that the pixel is outside the object, and a value of 1 indicates that the pixel is inside the object. Therefore, in the 4: 2: 0 format, in the case of a pixel in which even one of the shape information of the pixels of the corresponding luminance has a shape information of 1, that is, a pixel determined to be inside the object, The corresponding color difference shape information is also set to 1 (inside the object). If all the pixels of the corresponding luminance are 0 (outside the object), the pixels of the color difference are also 0 (outside the object). For example, luminance pixels la, l
If the shape information of b, lc, and ld is 1, that is, the pixel is inside the object, it is also determined that the shape information for color difference located at ca is also 1, that is, inside the object, and conversely, the luminance Pixels la, lb, lc,
If the shape information of ld is 0, that is, the pixel is outside the object, it is determined that the shape information for color difference located at ca is also 0, that is, outside the object. In addition, gray-scale shape (gray-scalesh
As the shape information in the case of ape), in addition to the above-described binary information, information indicating the gradation of the shape information is separately transmitted.
【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となる。Next, in the case of the 4: 2: 2 format,
As shown in FIG. 6B, the luminance pixels la and lb correspond to the color difference pixels ca (color difference information Cb and Cr exist at this position), and similarly, the luminance pixels lc and ld correspond to the color difference pixels. The pixels cb correspond to each other, and the luminance pixels le and lf and the color difference pixel c
c corresponds to the luminance pixels lg and lh and the chrominance pixel cd, respectively. In the case of the 4: 2: 2 format, the shape information of both or any one of the two pixels of the corresponding luminance is 1, that is, if it indicates that the pixel is inside the object, the shape information of the corresponding color difference is also 1 (Inside the object). When the shape information of each of the two corresponding luminance pixels is 0 (outside the object),
The color difference shape information at the same position is also 0 (outside the object). For example, in the case of FIG.
When either or both of the shape information belonging to the positions a and lb is 1, the shape information belonging to the position of the color difference pixel ca is also 1. When the shape information belonging to the positions of the luminance pixels la and lb is 0, the shape information belonging to the position of the color difference pixel ca is also 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の位置に属する形状情報を活用する。Next, in the case of the 4: 4: 4 format,
As shown in FIG. 6C, the pixels of each luminance and the pixels of the color difference are arranged at the same position. That is, the luminance pixel la corresponds to the chrominance pixel ca (the chrominance information Cb and Cr are present at this position), and similarly, the luminance pixel lb and the chrominance pixel cb correspond to the luminance pixel lc and the chrominance pixel lc. Pixel cc, the luminance pixel ld and the color difference pixel cd, the luminance pixel le and the color difference pixel ce, the luminance pixel lf and the color difference pixel cf, the luminance pixel lg and the color difference pixel CG Pixel lh and the color difference pixel ch correspond to each other. Therefore, in the 4: 4: 4 format, the shape information belonging to the position of the luminance pixel la can be used as it is as the shape information of the color difference pixel (Cb, Cr) at the position of the color difference pixel ca. It is. Other color difference pixels cb, cc, c
Similarly, the pixels lb, lc, ld, le, lf, and lf of the corresponding luminances for d, ce, cf, CG, and ch, respectively.
The shape information belonging to the positions lg and lh is utilized.
【0097】このようにして 色差用形状情報作成器5
3では、輝度の画素と同位置にある形状情報より、その
符号化を行っている色差フォーマットに合わせて色差用
の形状情報を作成する。当該色差用形状情報作成器53
にて作成された色差用形状情報は、パディング(Paddin
g)処理器51、DCT係数差分化器44、VLC器3
6に供給される。Thus, the color difference shape information generator 5
In step 3, shape information for color difference is created from the shape information at the same position as the pixel of luminance in accordance with the color difference format in which the encoding is performed. The color difference shape information generator 53
The shape information for color difference created in
g) Processor 51, DCT coefficient differencer 44, VLC unit 3
6.
【0098】ここで、図7及び図8を用いて、パディン
グ処理器51の動作を説明する。図7は、パディング処
理器51の具体的な構成例を示している。The operation of the padding processor 51 will now be described with reference to FIGS. FIG. 7 shows a specific configuration example of the padding processor 51.
【0099】図7において、図5の演算器40からの局
所復号画像データであるテクスチャ(texture)情報
は、水平方向パディング処理器61に供給される。ま
た、水平方向パディング処理器61には、図5の形状情
報復号器52及び、色差用形状情報作成器53より、輝
度のパディングに用いる形状情報、及び色差のパディン
グに用いる形状情報が供給される。In FIG. 7, the texture information as the locally decoded image data from the arithmetic unit 40 in FIG. 5 is supplied to the horizontal padding processor 61. The shape information used for luminance padding and the shape information used for color difference padding are supplied to the horizontal padding processor 61 from the shape information decoder 52 and the color difference shape information generator 53 shown in FIG. .
【0100】図8には、水平方向パディング処理器61
にて行われる操作手順を示す。FIG. 8 shows a horizontal padding processor 61.
The operation procedure performed in is shown.
【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画素単位となる。The padding process is performed for each macroblock, and for each luminance and two pieces of color difference information in each macroblock. Here, when padding processing is performed on luminance information of a macroblock, a texture (textur
e) The pixel value of the information luminance (16 pixels × 16 pixels) is shown in FIG.
And the shape information (16 pixels × 16 pixels) of the corresponding position is defined as a variable s [y] [x] in the operation procedure shown in FIG. It is processed. Also,
When the padding process is performed on the color difference information, the texture information is processed as a variable d [y] [x], and the shape information for the color difference is processed as a variable s [y] [x]. However, in the case of color difference information, the number of pixels to be processed is 8 pixels × 8 pixels in the case of 4: 2: 0 format, 8 pixels × 16 pixels in the case of 4: 2: 2 format, and 4: 4: 4 format. In this case, the unit is 16 pixels × 16 pixels.
【0102】当該水平方向パディング処理器61でのパ
ディング処理は、各ライン毎に行われる。すなわち、水
平方向パディング処理器61では、マクロブロックの各
ラインに対して順次パディング操作を行って、水平方向
のパディングを行う。なお、水平方向のパディングを行
うライン内にオブジェクト内の画素が一つも存在しない
場合、そのラインについてはパディング処理が行われな
い。水平方向のラインに1つ以上のオブジェクトが存在
している場合に、図8の処理が行われることとなる。The padding process in the horizontal padding processor 61 is performed for each line. That is, the horizontal padding processor 61 performs padding in the horizontal direction by sequentially performing padding operations on each line of the macroblock. If there is no pixel in the object in the horizontal padding line, no padding processing is performed on that line. When one or more objects exist in the horizontal line, the processing in FIG. 8 is performed.
【0103】上記水平方向パディング処理器61にて水
平方向にパディング処理が施されたテクスチャ(textur
e)情報と形状情報は、垂直方向パディング処理器62
に供給される。この垂直方向パディング処理器62に供
給されるテクスチャ情報は、図8に示す操作手順の中の
変数hor_pad[y][x]で表され、また同様に垂直方向パデ
ィング処理器62へ供給される形状情報は、図8に示す
操作手順の中の変数s'[y][x]で表される。また、図8に
示す操作手順の中の変数x'はパディング処理を行ってい
る水平ラインにおいて、xの左側に位置するオブジェク
トの境界の画素の位置を表し、変数x''は同様に右側の
オブジェクトの境界の位置を示す。A texture (textur) subjected to horizontal padding by the horizontal padding processor 61 is described below.
e) The information and the shape information are stored in the vertical padding processor 62.
Supplied to The texture information supplied to the vertical padding processor 62 is represented by a variable hor_pad [y] [x] in the operation procedure shown in FIG. The information is represented by a variable s' [y] [x] in the operation procedure shown in FIG. Also, the variable x ′ in the operation procedure shown in FIG. 8 represents the position of the pixel at the boundary of the object located on the left side of x in the horizontal line on which the padding process is being performed, and the variable x ″ is similarly located on the right side. Indicates the position of the boundary of the object.
【0104】図9には、垂直方向パディング処理器62
にて行われる操作手順を示す。FIG. 9 shows a vertical padding processor 62.
The operation procedure performed in is shown.
【0105】この図9に示す操作手順の中の変数hor_pa
d[y][x]は、上記水平方向にパディング処理を行ったテ
クスチャ情報であり、図9に示す操作手順の中の変数s'
[y][x]は水平方向のパディング時に変更された形状情報
であり、どちらも水平方向パディング処理器61より供
給されたものである。Variable hor_pa in the operation procedure shown in FIG.
d [y] [x] is the texture information obtained by performing the padding process in the horizontal direction, and the variable s ′ in the operation procedure shown in FIG.
[y] [x] are shape information changed at the time of horizontal padding, and both are supplied from the horizontal padding processor 61.
【0106】この垂直方向パディング処理器62におい
ても水平方向パディング処理器61と同様、色差情報の
場合、その処理を行う画素数は、4:2:0フォーマッ
トの場合で8画素×8画素、4:2:2フォーマットの
場合で8画素×16画素、4:4:4フォーマットの場
合で16画素×16画素単位となる。In the vertical padding processor 62, similarly to the horizontal padding processor 61, in the case of chrominance information, the number of pixels to be processed is 8 × 8 pixels in the case of 4: 2: 0 format. : 8 pixels × 16 pixels in the case of 2: 2 format, and 16 pixels × 16 pixels in the case of 4: 4: 4 format.
【0107】また、この垂直方向パディング処理器62
にて垂直方向にもパディング処理が行われたテクスチャ
情報は、図9に示す操作手順の中の変数hv_pad[y][x]で
表される。また、図9に示す操作手順の中の変数y'はパ
ディング処理を行う垂直ラインにおいて、yの上側に位
置するオブジェクトの境界の画素の位置を表し、図9に
示す操作手順の中の変数y''は同様に下側のオブジェク
トの境界の位置を示す。The vertical padding processor 62
The texture information subjected to the padding process in the vertical direction is represented by a variable hv_pad [y] [x] in the operation procedure shown in FIG. The variable y ′ in the operation procedure shown in FIG. 9 represents the position of the pixel at the boundary of the object located above y in the vertical line on which the padding process is performed, and the variable y ′ in the operation procedure shown in FIG. '' Similarly indicates the position of the boundary of the lower object.
【0108】垂直方向パディング処理器62でのパディ
ング処理は、各垂直ライン毎に行われる。すなわち、当
該垂直方向パディング処理器62では、マクロブロック
の各垂直ラインに対して順次パディング操作を行って、
垂直方向のパディングを行う。なお、垂直方向のパディ
ングを行うライン内にオブジェクト内の画素が一つも存
在しない場合、そのラインについてはパディング処理が
行われない。垂直方向のラインに1つ以上のオブジェク
トが存在している場合に、図9で示す処理が行われる。
図9に示す操作手順の中の変数hv_pad[y][x]は、拡張パ
ディング器63へ供給される。The padding process in the vertical padding processor 62 is performed for each vertical line. That is, the vertical padding processor 62 sequentially performs a padding operation on each vertical line of the macroblock,
Performs vertical padding. If there is no pixel in the object in the line on which vertical padding is performed, no padding processing is performed on that line. When one or more objects exist in the vertical line, the processing shown in FIG. 9 is performed.
The variable hv_pad [y] [x] in the operation procedure shown in FIG. 9 is supplied to the extended padding unit 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の番号の順番に参照する
マクロブロックを選択する。The extended padding unit 63 further performs padding processing on macroblocks adjacent to the upper, lower, left, and right of the macroblock located at the boundary of the object.
That is, in the case of the example shown in FIG. 10, the target is the black macroblock in the figure. A macroblock (previous block) by the extended padding uses a pixel value at the end of a macroblock (current block) located at a boundary between adjacent objects as shown in, for example, FIGS. Padded. FIG.
As shown in the figure, the macroblock (Exte
macro block (Boundary macroblock 0 to Boundary ma) having a boundary of a plurality of objects
croblock3), the macroblocks (Boundary macroblock0 to Boundary macroblo) in FIG.
Macroblocks to be referred to in the order of numbers 0 to 3 assigned to ck3) are selected.
【0110】拡張パディング器63の出力は、図5のフ
レームメモリ41に供給されて記憶され、その後、イン
ター符号化(前方予測符号化、後方予測符号化、量方向
予測符号化)される画像に対する参照画像データ(参照
フレーム)として用いられる。The output of the extended padding unit 63 is supplied to and stored in the frame memory 41 shown in FIG. 5, and thereafter, for the image to be inter-coded (forward prediction coding, backward prediction coding, and quantity direction prediction coding). Used as reference image data (reference frame).
【0111】そして、フレームメモリ41に記憶された
画像データは、後方予測に用いる画像、または前方予測
に用いる画像データとして、動き補償器42より出力さ
れることになる。The image data stored in the frame memory 41 is output from the motion compensator 42 as an image used for backward prediction or as image data used for forward prediction.
【0112】一方、動き補償器42は、動き補償参照画
像指示信号により指定される画像(フレームメモリ41
に記憶されている局所復号された画像)に対して、動き
ベクトル検出器32からの予測モードおよび動きベクト
ルをもとに動き補償を施し、予測画像を生成して演算器
33および40に出力する。すなわち、動き補償器42
は、前方/後方/両方向予測モードのときのみ、フレー
ムメモリ41の読み出しアドレスを、演算器33に対し
て現在出力しているブロックの位置に対応する位置から
動きベクトルに対応する分だけずらして、当該フレーム
メモリ41から前方予測または後方予測に用いる画像デ
ータを読み出し、予測画像データとして出力する。な
お、両方向予測モードのときは、前方予測と後方予測に
用いる画像データの両方が読み出され、例えばその平均
値が予測画像データとして出力される。このようにして
得られた予測画像データが、減算器としての前記演算器
33に供給され、前述したように差分データが生成され
る。On the other hand, the motion compensator 42 outputs the image (frame memory 41) designated by the motion compensation reference image instruction signal.
Is subjected to motion compensation based on the prediction mode and the motion vector from the motion vector detector 32 to generate a predicted image and output it to the calculators 33 and 40. . That is, the motion compensator 42
Shifts the read address of the frame memory 41 from the position corresponding to the position of the block currently output to the arithmetic unit 33 by the amount corresponding to the motion vector only in the forward / backward / bidirectional prediction mode. Image data used for forward prediction or backward prediction is read from the frame memory 41 and output as predicted image data. In the case of the bidirectional prediction mode, both image data used for forward prediction and backward prediction are read, and, for example, an average value thereof is output as predicted image data. The prediction image data thus obtained is supplied to the arithmetic unit 33 as a subtractor, and the difference data is generated as described above.
【0113】ここで、図13を参照しながら、動き補償
器42の画像の輝度成分と色差成分に対する動作につい
て具体的に説明する。動き補償器42は各マクロブロッ
ク単位で動き補償を行う。図13は、マクロブロックに
対する動き補償動作を示すフローチャートである。Here, the operation of the motion compensator 42 for the luminance component and the color difference component of the image will be specifically described with reference to FIG. The motion compensator 42 performs motion compensation for each macroblock. FIG. 13 is a flowchart showing a motion compensation operation for a macroblock.
【0114】本実施の形態の動き補償においては、動き
ベクトルを生成する際に、上記輝度成分のブロックに対
して得られた動きベクトルに基づいて、対応する色差成
分のブロックの動きベクトルを生成しており、このと
き、上記色差成分の色差フォーマットが、4:2:0フ
ォーマット、4:2:2フォーマット、4:4:4フォ
ーマットのいずれであるかに応じて、上記輝度成分のブ
ロックに対して得られた動きベクトルに基づく色差成分
のブロックの動きベクトルの計算方法を切換選択してい
る。また、上記色差フォーマット、マクロブロックの動
き予想モードのタイプ、及び形状情報に応じて、動き補
償の計算方法を切換選択している。In the motion compensation of the present embodiment, when a motion vector is generated, a motion vector of a corresponding chrominance component block is generated based on the motion vector obtained for the luminance component block. At this time, depending on whether the color difference format of the color difference component is a 4: 2: 0 format, a 4: 2: 2 format, or a 4: 4: 4 format, the luminance component block The calculation method of the motion vector of the block of the color difference component based on the obtained motion vector is switched and selected. Further, the calculation method of the motion compensation is switched and selected according to the color difference format, the type of the macro block motion prediction mode, and the shape information.
【0115】先ず、図13の最初のステップS201で
は、動きベクトル予測モード、動きベクトル、形状情報
の読み込みを行う。次のステップS202で、予測され
るブロックの決定を行い、次のステップS203で、全
てのブロックが予測されているか否かを判別し、YES
のときはステップS201に戻り、NOのときは次のス
テップS204に進んでいる。ステップS204では、
現在のブロックが輝度("luminance") ブロックか否か
を判別し、YESのときはステップS211に進み、N
Oのときは、ステップS205以降のクロマタイプ(ch
roma_type) に応じた処理に進んでいる。First, in the first step S201 in FIG. 13, a motion vector prediction mode, a motion vector, and shape information are read. In the next step S202, a block to be predicted is determined. In the next step S203, it is determined whether or not all blocks are predicted, and YES
In the case of, the process returns to step S201, and in the case of NO, the process proceeds to the next step S204. In step S204,
It is determined whether or not the current block is a luminance (“luminance”) block.
In the case of O, the chroma type (ch) after step S205
roma_type).
【0116】ここで、上記ステップS201において読
み込まれる動きベクトル検出器32からの予測モードと
しては、後述する図34に示すように、マクロブロック
毎に、イントラ(intra)、インター(inter)、インタ
ー+q(inter+q) 及びインター4V(inter4v) の4
種類のうちのいずれかの予測モードとなる。Here, as the prediction mode from the motion vector detector 32 read in the above step S201, as shown in FIG. 34 to be described later, intra, inter, inter + q (Inter + q) and 4 of inter4V (inter4v)
The prediction mode is one of the prediction modes.
【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からの動きベクトルを変換せずに用い
るが、画像の解像度とマクロブロック内のブロック数の
異なる色差成分に対する動きベクトルは、輝度ブロック
の動きベクトルを元に以下のように計算される。The mode of the macro block is inter (inter) or inter + q (inter + q) among the above four types.
In the mode, only one motion vector for this macroblock MB is obtained from the motion vector detector 32, and this vector is used as a motion vector for all the luminance blocks 0 to 3 in FIG. When the mode of the macroblock is the inter 4 V (inter4v) mode, K
(1 <K ≦ 4) motion vectors are obtained. Where K
Is the number of luminance blocks determined to be inside the object among the four luminance blocks of the macroblock from the shape information from the shape information encoder 50. These vectors are respectively shown in FIG.
(C), and (c) of FIG. 16, are used as they are as the motion vectors of the luminance blocks inside the object. As described above, for the luminance component, the motion vector from the motion vector detector 32 is used without conversion, but the motion vector for the color difference component having a different image resolution and the number of blocks in the macroblock is the It is calculated as follows based on the vector.
【0118】マクロブロックが4:2:0フォーマット
の場合には、図13のステップS205でYES(chro
ma_type = “01”)と判別され、ステップS206
で、4:2:0色差動きベクトル計算が行われる。If the macroblock is in the 4: 2: 0 format, YES in step S205 in FIG.
ma_type = “01”), and step S206
Then, 4: 2: 0 color difference motion vector calculation is performed.
【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の例が書かれている。In the case of the 4: 2: 0 format, the motion vector of the chrominance blocks 4 and 5 is such that the macroblock mode is inter or inter + q.
In the case of the (inter + q) mode, as shown in FIG. 14A, the motion vector of the corresponding luminance block is set to half the resolution of the motion vector. When the mode of the macro block is inter 4V (inter4v), FIG.
As shown in (c), the motion vectors of the chrominance blocks are obtained by adding all the motion vectors of the K luminance blocks inside the object and dividing the sum by 2 × K because the average and the resolution are half. The vector is calculated. FIG. 14B shows an example of K = 4, and FIG. 14C shows an example of 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)の変換を用いる。Here, the motion vector obtained from the motion vector detector 32 is a half sam whose resolution is doubled.
The ple resolution is adopted, and the resolution conversion of the motion vector element of the chrominance block is not performed as it is, but a table shown in FIG. 17 is used. For example,
If K = 4, the motion vector MV is calculated using the sixteenth samp
FIG. 17A is used to convert from le resolution to half sample resolution. Similarly, K = 3,2,
In the case of 1, respectively, (b), (c),
The transformation of (d) is used.
【0121】このようにして計算された動きベクトルと
フレームメモリーから得られる参照画像から、ステップ
S207での動き補償により、輝度ブロックと色差ブロ
ックから構成される4:2:0予測マクロブロック画像
が得られる。また、輝度ブロックの予測画像は、VOL
シンタックス(図28)のフラグ obmc_disable =0の
場合、現在のブロックの1個の動きベクトルによる動き
補償ではなく、オーバーラップ動き補償により得られ
る。From the motion vector calculated in this way and the reference image obtained from the frame memory, a motion compensation in step S207 yields a 4: 2: 0 predicted macroblock image composed of a luminance block and a chrominance block. Can be The prediction image of the luminance block is VOL
When the flag obmc_disable = 0 in the syntax (FIG. 28), the flag is obtained not by the motion compensation using one motion vector of the current block but by the overlap motion compensation.
【0122】なお、輝度ブロックの動き補償について
は、図13のステップS211において、上記フラグ o
bmc_disable が0か否かの判別がなされ、 obmc_disabl
e =0(YES)の場合にはオーバーラップ動き補償が
行われ、NOの場合には、ステップS212に進んで通
常の(オーバーラップ動き補償でない)動き補償が行わ
れる。ここで、オーバーラップ動き補償について説明す
る。オーバーラップ動き補償は、obmc_disable =0 の
時のみ実行されるブロック単位の動き補償法であり、隣
接ブロックと動きベクトルの相関が高い輝度ブロックに
対しての適用される。オーバーラップ動き補償では、輝
度ブロックの予測画像は、図18の(a)に示す、この
予測ブロックの動きベクトルと、上下左右に隣接するブ
ロックの動きベクトルMVを用いることにより得られ
る。The motion compensation of the luminance block is performed in step S211 in FIG.
It is determined whether bmc_disable is 0 or not, and obmc_disabl
If e = 0 (YES), overlap motion compensation is performed. If NO, control proceeds to step S212, where normal (non-overlap motion compensation) motion compensation is performed. Here, overlap motion compensation will be described. The overlap motion compensation is a block-based motion compensation method executed only when obmc_disable = 0, and is applied to a luminance block having a high correlation between an adjacent block and a motion vector. In the overlap motion compensation, a prediction image of a luminance block is obtained by using a motion vector of the prediction block and a motion vector MV of a vertically adjacent block, as shown in FIG.
【0123】具体的には、予測ブロック内の各画素値
は、現在の輝度ブロックの動きベクトルMVと2個の隣
接ブロックの動きベクトルMVとを用いて得られた3個
の予測画素値に、図19の(a),(b),(c)のma
trixに示す重みを掛けて足し合わせ、8で割ることによ
り得られる。例えば、予測輝度ブロックの上半分に存在
する画素に対しては、このブロックの真上に隣接するブ
ロックの動きベクトルMVが使われ、逆に下半分の画素
に対しては、真下に隣接するブロックの動きベクトルM
Vが用いられる。同様に、このブロックの左半分の画素
には、真左のブロックの動きベクトルMVが用いられ、
右半分には、真右のブロックの動きベクトルMVが用い
られる。この計算を各画素に対して一般化した式を、以
下に示す。Specifically, each pixel value in the prediction block is converted into three prediction pixel values obtained using the motion vector MV of the current luminance block and the motion vector MV of two adjacent blocks. Ma of FIGS. 19A, 19B and 19C
It is obtained by multiplying by the weight shown in trix, adding up, and dividing by 8. For example, for a pixel present in the upper half of the predicted luminance block, the motion vector MV of a block immediately above this block is used, and conversely, for a pixel in the lower half, a block immediately below this block is used. Motion vector M
V is used. Similarly, the motion vector MV of the block on the right is used for the left half pixel of this block,
For the right half, the motion vector MV of the block on the right is used. An equation that generalizes this calculation for each pixel is shown below.
【0124】すなわち、予測輝度ブロック内の各画素値
をp(i,j) とすると、p (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
V1 y)は、上部、又は下部隣接ブロックの動きベクト
ル、ベクトル(MV2 x,MV2 y)は、左側、又は右側隣
接ブロックの動きベクトルである。さらに、行列H
0(i,j),H1(i,j) ,及びH2(i,j) は、図19の
(a),(b),(c)で定義された行列である。That is, assuming that each pixel value in the predicted luminance block is p (i, j), p (i, j) = (q (i, j) × H 0 (i, j) + r (i, j) ) × H 1 (i,
j) + s (i, j) × H 2 (i, j) +4) / 8 where q (i, j), r (i, j) and s (i, j) are a pixel value obtained, q (i, j) = q (i + MV 0 x, j + MV 0 y), r (i, j) = r (i + MV 1 x, j + MV 1 y), s (i, j) = s (i + MV 2 x, j + MV 2 y) is. Furthermore, the vector (MV 0 x, MV 0 y ) is the motion vector of the current block, the vector (MV 1 x, M
V 1 y ) is the motion vector of the upper or lower neighboring block, and the vector (MV 2 x , MV 2 y ) is the motion vector of the left or right neighboring block. Further, the matrix H
0 (i, j), H 1 (i, j), and H 2 (i, j) are matrices defined in (a), (b), and (c) of FIG.
【0125】ただし、隣接ブロックが符号化されていな
い場合は、このブロックの動きベクトルは0とする。ま
た、隣接ブロックに対応するマクロブロックMBがイン
トラモード(intra mode)の場合、及び、予測ブロック
がVOPの境界に位置するために、隣接ブロックがない
場合、及び、予測ブロックがマクロブロックMBの底辺
(ブロック2,3)に位置するため、真下に隣接するブ
ロックの動きベクトルMVを用いることが出来ない場合
には、これら隣接ブロックに対応する動きベクトルMV
は現在ブロック(current block) の動きベクトルMV
を代用する。However, when the adjacent block is not coded, the motion vector of this block is set to 0. In addition, when the macroblock MB corresponding to the adjacent block is in the intra mode, when there is no adjacent block because the prediction block is located at the boundary of the VOP, and when the prediction block is at the bottom of the macroblock MB. If the motion vector MV of the block immediately below is not available because it is located at (blocks 2 and 3), the motion vector MV corresponding to these adjacent blocks
Is the motion vector MV of the current block
Substitute
【0126】以上が、4:2:0フォーマットにおけ
る、動きベクトル、及び動き補償の計算法であるが、マ
クロブロック内の色差ブロックの個数の異なる、4:
2:2、及び4:4:4フォーマットに対しては適用す
ることが出来ない、以下に4:2:2、及び4:4:4
フォーマットのための動きベクトル、及び動き補償の計
算方法を示す。The above is the calculation method of the motion vector and the motion compensation in the 4: 2: 0 format, but the number of the chrominance blocks in the macro block differs.
Not applicable for 2: 2 and 4: 4: 4 formats, below for 4: 2: 2 and 4: 4: 4
4 shows a motion vector calculation method for a format and a motion compensation calculation method.
【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フォーマ
ットにおける色差成分の動きベクトル計算及び動き補償
が行われる。In the flowchart of FIG.
In 205, the chroma type (chroma_type) is “0”.
1 ", that is, NO is determined, and step S221 is performed.
And the format is 4: 2: 2 (chroma_type =
"10") is determined. Step S22
If YES (4: 2: 2 format) is determined in step 1, the motion vector calculation and motion compensation of the color difference component in the 4: 2: 2 format after step S222 are performed, and NO (4: 4: 4 format) is performed. Is determined, the motion vector calculation and the motion compensation of the color difference component in the 4: 4: 4 format after step S231 are performed.
【0128】4:2:2、4:4:4フォーマットいず
れにおいても、輝度ブロックに対するMV、MCの計算
法は4:2:0と同じである。In any of the 4: 2: 2 and 4: 4: 4 formats, the calculation method of MV and MC for a luminance block is the same as that of 4: 2: 0.
【0129】4:2:2フォーマットにおけるマクロブ
ロックMBの構造は、図3の(b)となる。この時、C
b、Crの上部のブロック4,5は同じ動きベクトルM
Vを持つ。下部のブロック6,7についても同様に、同
じ動きベクトルMVを持つ。The structure of the macro block MB in the 4: 2: 2 format is as shown in FIG. At this time, C
Blocks 4 and 5 above b and Cr have the same motion vector M
Have V. Similarly, the lower blocks 6 and 7 have the same motion vector 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に変換される。First, the mode of the macroblock MB is shown in FIG.
Inter in (4) or inter + q (inte
In the (r + q) mode, the motion vectors MV of all the blocks of the chrominance component have the same value, and the resolution of the chrominance component in the x direction is 方向, as shown in FIG. Therefore, only the x component of the motion vector is reduced to 1 /. Here, the x component MVCx of MVC is fourth sampl
Since it is e resolution, apply (b) in FIG.
Converted to half sample resolution.
【0131】次に、マクロブロックMBのモードがイン
ター4v(inter4v) モードの場合は、図15の(b)
(c)に示すように、色差成分の上部のブロック5,6
の動きベクトルMVは、マクロブロックの上部の2個の
輝度ブロック(ブロック0,1)の動きベクトルMV
(MV0,MV1)から計算される。ただし、図15の
(c)に示すように、対応する2個の輝度ブロックのい
づれかがオブジェクトの外部となった場合には、オブジ
ェクト内の輝度ブロックのベクトルから色差ブロックの
ベクトルを計算し、対応する輝度ブロックの両方がオブ
ジェクトの外部となった場合には、動き補償はされな
い。Next, when the mode of the macroblock MB is the inter 4v (inter4v) mode, FIG.
As shown in (c), blocks 5 and 6 above the color difference components
Is the motion vector MV of the two luminance blocks (blocks 0 and 1) at the top of the macroblock.
It is calculated from (MV0, MV1). However, as shown in FIG. 15C, when one of the two corresponding luminance blocks is outside the object, the vector of the chrominance block is calculated from the vector of the luminance block in the object, and the corresponding If both of the luminance blocks are outside the object, no motion compensation is performed.
【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の場合と同じ
である。Here, K (0) in FIGS. 15B and 15C is used.
Let <K ≦ 2) be the number of blocks inside the object among the luminance blocks 0 and 1. If K = 1,
Since the x component of the MVC4 has the fourth sample resolution, the half sample resolution will be described with reference to FIG.
Is converted to When K = 2, the x and y components of MVC4 are eighth sample resolution and fourth samp, respectively.
Since the resolution becomes le resolution, it is converted to half sample resolution using (c) and (d) in FIG. K = 0
In the case of, all the two luminance blocks corresponding to the chrominance blocks 4 and 6 are outside the object, so this block is not coded. Block 6, below the color difference component
7 are calculated from the motion vectors MV2 and MV3 of the corresponding two luminance blocks 2 and 3.
The calculation method is the same as that of the upper color difference blocks 4 and 5.
【0133】4:2:2フォーマットの場合、色差ブロ
ックの解像度は、輝度ブロックと比較して、x方向は解
像度が1/2であるが、y方向は同じ解像度であるた
め、y方向に対しては、近接ブロックの動きベクトルの
相関が高い。そのため、色差ブロックの動き補償の方式
として、4:2:0のとき用いられた1個の動きベクト
ルによる動き補償でなく、輝度ブロックのの動き補償法
であるオーバーラップ動き補償を、4:2:2の色差成
分用に改良した方式を用い、予測色差ブロックの上下の
隣接ブロックのみの動きベクトルMVを用いてオーバー
ラップ動き補償を行うことが出来る。これは、VOL s
yntax の obmc_disable =0の時のみ実行される。In the case of the 4: 2: 2 format, the resolution of the chrominance block is half the resolution in the x direction as compared with the luminance block, but is the same in the y direction. Therefore, the correlation between the motion vectors of the neighboring blocks is high. Therefore, as the motion compensation method of the chrominance block, instead of the motion compensation using one motion vector used at 4: 2: 0, the overlap motion compensation which is the motion compensation method of the luminance block is performed by using the 4: 2: 0 motion compensation method. : 2, using the improved method for the chrominance component, and using the motion vectors MV of only the blocks above and below the predicted chrominance block to perform the overlap motion compensation. This is VOL s
Executed only when obmc_disable = 0 in the syntax.
【0134】具体的には、図18の(b)のように上下
のブロックを隣接ブロックとし、予測色差ブロック内の
各画素値は現在の色差ブロックの動きベクトルMVと1
個の隣接ブロックの動きベクトルMVから得られた2個
の予測画素値に図19の(a),(b)のmatrixに示す
重みを掛けて足し合わせ、8で割ることより得られる。
例えば、予測色差ブロックの上半分に有る画素に対して
は、このブロックの真上に隣接するブロックの動きベク
トルMVが使われ、逆に下半分の画素に対しては、真下
に隣接するブロックの動きベクトルMVが用いられる。
この計算を各画素に対して一般化した式が、以下であ
る。Specifically, as shown in FIG. 18 (b), the upper and lower blocks are adjacent blocks, and each pixel value in the predicted chrominance block is the same as the motion vector MV of the current chrominance block.
This is obtained by multiplying two predicted pixel values obtained from the motion vectors MV of the adjacent blocks by the weights shown in the matrices of FIGS.
For example, for a pixel in the upper half of the predicted chrominance block, the motion vector MV of a block immediately above the block is used, and conversely, for a pixel in the lower half, the pixel of the block immediately below is used. The motion vector MV is used.
An equation that generalizes this calculation for each pixel is as follows.
【0135】すなわち、予測輝度ブロック内の各画素値
をp(i,j) とすると、p (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
V1 y)は、上部、又は下部隣接ブロックの動きベクトル
である。さらに、行列H0(i,j),及びH1(i,j)
は、図20の(a),(b)で定義された行列である。That is, assuming that each pixel value in the predicted luminance block is p (i, j), p (i, j) = (q (i, j) × H 0 (i, j) + r (i, j) ) × H 1 (i,
j) +4) // 8 where, q (i, j), and r (i, j) is a pixel value obtained from the reference image, q (i, j) = q (i + MV 0 x, j + MV 0 y ), r (i, j) = r (i + MV 1 x , j + MV 1 y ). Furthermore, the vector (MV 0 x, MV 0 y ) is the motion vector of the current block, the vector (MV 1 x, M
V 1 y ) is the motion vector of the upper or lower neighboring block. Further, the matrices H 0 (i, j) and H 1 (i, j)
Is a matrix defined in (a) and (b) of FIG.
【0136】ただし、隣接ブロックが符号化されていな
い場合は、このブロックはMV=0とする。また、隣接
ブロックに対応するマクロブロックMBがイントラモー
ド(intra mode)の場合、及び、予測色差ブロックがV
OPの境界に位置するために、隣接ブロックがない場
合、及び、予測色差ブロックがマクロブロックMBの底
辺(図におけるブロック6、7)に位置するため、真下
に隣接するブロックのMVを用いることが出来ない場合
には、これら隣接ブロックに対応する動きベクトルMV
は現ブロックの動きベクトルMVを代用する。However, if an adjacent block is not coded, this block is set to MV = 0. When the macro block MB corresponding to the adjacent block is in the intra mode (intra mode), and when the predicted chrominance block is V
When there is no adjacent block to be located at the boundary of the OP, and because the predicted chrominance block is located at the bottom side of the macroblock MB (blocks 6 and 7 in the figure), it is possible to use the MV of the block immediately below. Otherwise, the motion vectors MV corresponding to these adjacent blocks
Substitutes the motion vector MV of the current block.
【0137】図13のフローチャートにおいては、ステ
ップS222で4:2:2フォーマットにおける色差ブ
ロックの動きベクトル計算が行われ、ステップS223
で上記フラグ obmc_disable が0か否かの判別がなさ
れ、 obmc_disable =0(YES)の場合にはステップ
S225に進んでオーバーラップ動き補償が行われ、N
Oの場合には、ステップS224に進んで通常の(オー
バーラップ動き補償でない)動き補償が行われる。In the flowchart of FIG. 13, the motion vector of the chrominance block in the 4: 2: 2 format is calculated in step S222, and step S223 is performed.
It is determined whether or not the flag obmc_disable is 0. If obmc_disable = 0 (YES), the flow proceeds to step S225 to perform overlap motion compensation.
In the case of O, the process proceeds to step S224, where normal motion compensation (not overlap motion compensation) is performed.
【0138】次に、4:4:4フォーマットの場合の色
差ブロックの動きベクトル計算及び動き補償動作につい
て説明する。Next, the motion vector calculation and the motion compensation operation of the chrominance block in the 4: 4: 4 format will be described.
【0139】4:4:4フォーマットにおけるマクロブ
ロックMBの構造は図3の(c)となる。この時、C
b,Crの同じ位置にあるブロック4,5、6,7、
8,9、10,11は、それぞれ同じ動きベクトルMV
を持つ。FIG. 3C shows the structure of the macro block MB in the 4: 4: 4 format. At this time, C
blocks 4, 5, 6, 7, at the same position of b and Cr,
8, 9, 10, and 11 are the same motion vectors MV, respectively.
have.
【0140】まず、マクロブロックのモードがインター
(inter) 又はインター+q(inter+q) モードの場合
は、色差ブロックの各ブロックの動きベクトルMVは全
て同じ値となり、そのベクトルは、輝度ブロックの動き
ベクトルMVと同じベクトルとなる(図16の
(a))。First, when the macroblock mode is the inter (inter) or inter + q (inter + q) mode, the motion vectors MV of the respective blocks of the chrominance block all have the same value, and the vector is the motion vector of the luminance block. The vector is the same as the vector MV ((a) of FIG. 16).
【0141】マクロブロックのモードがインター4v
(inter4v) モードの場合は、各色差ブロックの動きベ
クトルMVは、その色差ブロックと同じ位置にある輝度
ブロックのMVと同じベクトルとなる(図16の
(b),(c))。ただし、色差ブロックがオブジェク
トの外部にある場合は、このブロックは符号化されな
い。(図16の(c))。The mode of the macro block is inter 4v.
In the (inter4v) mode, the motion vector MV of each chrominance block is the same as the MV of the luminance block located at the same position as the chrominance block ((b), (c) in FIG. 16). However, if the chrominance block is outside the object, this block is not coded. ((C) of FIG. 16).
【0142】4:4:4フォーマットの場合、色差ブロ
ックの解像度は、輝度ブロックと同じであるため、隣接
ブロックの動きベクトルの相関が高い。そのため、輝度
ブロックの動き補償法であるオーバーラップ動き補償
を、4:4:4の色差ブロックに対して同様に行うこと
が出来る。図13のフローチャートにおいては、ステッ
プS231で4:4:4フォーマットにおける色差ブロ
ックの動きベクトル計算が行われ、ステップS232で
上記フラグ obmc_disable が0か否かの判別がなされ、
obmc_disable =0(YES)の場合にはステップS2
34に進んでオーバーラップ動き補償が行われ、NOの
場合には、ステップS233に進んで通常の(オーバー
ラップ動き補償でない)動き補償が行われる。In the 4: 4: 4 format, the resolution of the chrominance block is the same as that of the luminance block, so that the correlation between the motion vectors of adjacent blocks is high. Therefore, overlap motion compensation, which is a motion compensation method for a luminance block, can be similarly performed on a 4: 4: 4 chrominance block. In the flowchart of FIG. 13, the motion vector of the chrominance block in the 4: 4: 4 format is calculated in step S231, and it is determined in step S232 whether or not the flag obmc_disable is 0.
If obmc_disable = 0 (YES), step S2
Proceeding to S34, overlap motion compensation is performed. If NO, the process proceeds to step S233 to perform normal (non-overlap motion compensation) motion compensation.
【0143】以上が、各マクロブロックに対する動き補
償法である。The above is the motion compensation method for each macro block.
【0144】再び図5に戻って、上述したような動き補
償が行われる動き補償器42からの予測画像データは、
加算器としての演算器40にも供給される。また、前方
/後方/両方向予測の場合、演算器40には、予測画像
データの他、予測画像によって差分化された差分データ
が逆DCT回路39から送られている。当該演算器40
では、この差分データを動き補償器42からの予測画像
に対して加算し、これにより局所復号が行われることに
なる。この局所復号画像は、復号化装置で復号される画
像と全く同一の画像であり、上述したように、次の処理
画像に対して、前方/後方/両方向予測を行うときに用
いる画像としてフレームメモリ41に記憶される。Returning to FIG. 5, the predicted image data from the motion compensator 42 for which the above-described motion compensation is performed is
It is also supplied to a computing unit 40 as an adder. In addition, in the case of forward / backward / bidirectional prediction, the arithmetic unit 40 receives, from the inverse DCT circuit 39, differential data obtained by differentiating the predicted image data in addition to the predicted image data. The computing unit 40
Then, the difference data is added to the predicted image from the motion compensator 42, whereby local decoding is performed. This locally decoded image is exactly the same image as the image decoded by the decoding device. As described above, the frame memory is used as an image used when performing forward / backward / bidirectional prediction on the next processed image. 41.
【0145】また、予測モードがイントラ符号化である
場合、演算器40には画像データそのものが逆DCT回
路39の出力として送られてくるので、当該演算器40
は、この画像データをそのままフレームメモリ41に出
力して記憶させる。When the prediction mode is the intra coding, the image data itself is sent to the computing unit 40 as the output of the inverse DCT circuit 39.
Outputs the image data as it is to the frame memory 41 and stores it.
【0146】なお、MPEG4においては、MPEG1
及びMPEG2と異なり、Bピクチャ(B−VOP)も
参照画像として用いられるため、当該Bピクチャも局所
復号され、フレームメモリ41に記憶されるようになさ
れている。但し、現時点においては、Bピクチャが参照
画像として用いられるのは階層符号化を行った場合の上
位レイヤについてだけである。Note that in MPEG4, MPEG1
Unlike MPEG2 and B2, a B-picture (B-VOP) is also used as a reference picture, so that the B-picture is also locally decoded and stored in the frame memory 41. However, at present, the B picture is used as a reference image only in an upper layer when hierarchical coding is performed.
【0147】図5に戻り、DCT係数差分化器44で
は、量子化器35にて量子化されたDCT係数に対し、
後述するように、ブロック単位でAC係数/DC係数の
予測処理を行う。Returning to FIG. 5, in the DCT coefficient differencer 44, the DCT coefficient quantized by the quantizer 35 is
As will be described later, the prediction process of the AC coefficient / DC coefficient is performed in block units.
【0148】すなわち、DCT係数差分化器44は、イ
ントラ符号化されるマクロブロックの各ブロックに対
し、そのDCT係数のうちのDC係数とAC係数をMP
EG4(ISO/IEC 14496-2)のコミッティドラフト(Commi
tee Draft)にて定められた手段に応じて予測を行う。
また、DCT係数差分化器44は、この時、各ブロック
毎に同じくコミッティドラフトにて定められた手段に応
じて各係数の予測に用いるブロックを決定する。That is, the DCT coefficient differentiator 44 converts the DC coefficient and the AC coefficient of the DCT coefficient into MPP for each block of the intra-coded macroblock.
EG4 (ISO / IEC 14496-2) committee draft (Commi
tee Draft).
At this time, the DCT coefficient differentiator 44 determines a block to be used for prediction of each coefficient for each block according to the means similarly defined in the committee draft.
【0149】図21には、DCT係数差分化器44の具
体的構成例を示す。FIG. 21 shows a specific configuration example of the DCT coefficient differentiator 44.
【0150】この図21において、DCT係数差分化器
44には、量子化されたDCT係数及び、量子化スケー
ル、形状情報、色差用形状情報、予測モードが入力され
る。予測モードは、イントラフラグ発生器400に入力
される。イントラフラグ発生器400は、予測モードが
イントラ符号化を示す予測モード(イントラ符号化モー
ドあるいは画像内予測モード)である場合のみ、イント
ラフラグを立てる。このイントラフラグは、通常0とな
っているものであり、イントラ符号化の予測モードのと
きに1となされる。In FIG. 21, a DCT coefficient differentiator 44 receives quantized DCT coefficients, quantization scale, shape information, color difference shape information, and a prediction mode. The prediction mode is input to the intra flag generator 400. The intra flag generator 400 sets an intra flag only when the prediction mode is a prediction mode indicating intra coding (intra coding mode or intra prediction mode). This intra flag is normally 0, and is set to 1 in the prediction mode of intra coding.
【0151】一方、量子化されたDCT係数、すなわち
64個のDCT係数は、スイッチ401に供給される。
スイッチ401は、イントラフラグが0の場合、被切換
端子A側を選択し、またイントラフラグが1の場合、被
切換端子B側を選択するようになされている。従って、
予測モードがイントラ符号化(画像内予測)モードでな
い場合、DCT係数は、スイッチ401の被切換端子A
を介して、図5のVLC器36へ供給される。On the other hand, the quantized DCT coefficients, that is, 64 DCT coefficients are supplied to the switch 401.
When the intra flag is 0, the switch 401 selects the switched terminal A side, and when the intra flag is 1, the switch 401 selects the switched terminal B side. Therefore,
When the prediction mode is not the intra coding (intra-picture prediction) mode, the DCT coefficient is
Is supplied to the VLC unit 36 in FIG.
【0152】一方、予測モードがイントラ符号化モード
の場合、DCT係数は、DCT係数予測器402、及び
逆量子化器405へ供給される。On the other hand, when the prediction mode is the intra coding mode, the DCT coefficient is supplied to the DCT coefficient predictor 402 and the inverse quantizer 405.
【0153】DCT係数予測器402は、スイッチ40
1より供給されたDCT係数と、DCT係数予測値選択
器403より供給されたDCT係数の予測値との差分を
とり、その差分値を図5のVLC器36へと供給する。The DCT coefficient predictor 402
The difference between the DCT coefficient supplied from 1 and the predicted value of the DCT coefficient supplied from the DCT coefficient predicted value selector 403 is obtained, and the difference value is supplied to the VLC unit 36 in FIG.
【0154】また、逆量子化器405では、後のDCT
係数の予測に使用されるDC係数及び一部のAC係数
を、図5の逆量子化器38と同様の手段で逆量子化し、
その結果をDCT係数予測モード蓄積メモリ404に供
給する。In the inverse quantizer 405, the subsequent DCT
The DC coefficient and some AC coefficients used for predicting the coefficients are inversely quantized by the same means as the inverse quantizer 38 in FIG.
The result is supplied to the DCT coefficient prediction mode storage memory 404.
【0155】DCT係数予測モード蓄積メモリ404
は、前述した通り、DCT係数の予測に用いるDC係数
及び一部のAC係数、さらに予測モードを蓄積する。こ
こで蓄積された情報は、次段のDCT係数予測値選択器
404において使用される。DCT coefficient prediction mode storage memory 404
Accumulates DC coefficients used for DCT coefficient prediction, some AC coefficients, and a prediction mode, as described above. The information stored here is used in the DCT coefficient predicted value selector 404 at the next stage.
【0156】DCT係数予測値選択器403では、DC
係数と、DCT係数予測モード蓄積メモリ404に保存
された情報を用いて、DCT係数の予測値及び予測ブロ
ックの位置を出力し、その値をDCT係数予測器402
に供給する。In the DCT coefficient predicted value selector 403, DC
Using the coefficients and the information stored in the DCT coefficient prediction mode storage memory 404, the DCT coefficient prediction value and the position of the prediction block are output, and the values are used as the DCT coefficient predictor 402.
To supply.
【0157】ここでDCT成分予測値選択器403の動
作を、図22を用いて説明する。図22は、DC係数の
差分演算を行うブロックXと、当該差分演算を行う上で
DCT係数を参照するブロックの位置関係を示してい
る。Here, the operation of the DCT component predicted value selector 403 will be described with reference to FIG. FIG. 22 shows the positional relationship between a block X for performing a DC coefficient difference calculation and a block that refers to a DCT coefficient when performing the difference calculation.
【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)乗の
値となる。In FIG. 22, a block located on the left side of block X is denoted by A, a block located on the upper side is denoted by C, and a block located on the upper left side is denoted by B. Also, the DC coefficient of block A is FA [0] [0], and the DC coefficient of block B is FB.
[0] [0], and the DC coefficient of block C is FC [0] [0]. These values are the values of the inversely quantized DC coefficients, and the DC coefficients of the quantized blocks A, B, and C are added to the intra DC
It is obtained by integrating the values of the DC quantization step obtained by the method of FIG. 7 using the precision (intra_dc_precision) and the quantization scale. However, when these blocks are located outside the VOP or are blocks other than the blocks to be intra-coded, a value of 2 (number_of_bits−2) is used. In addition, for each block of A, B, and C in FIG.
When it is determined that these blocks are outside the object, these DC coefficients also have the value of the (number_of_bits−2) power.
【0159】ここで、ブロックXのDC係数の差分値を
求めるのに使用するブロックは、式(1)により決定さ
れる。Here, the block used to obtain the difference value of the DC coefficient of the block X is determined by the equation (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をその予測ブロックとし予測値とすること
を表している。If (| FA [0] [0] -FB [0] [0] | <| FB [0] [0] -FC [0] [0] |) predict from block C else predict from block A (1) That is, this equation (1) represents the absolute value of the difference between FA [0] [0] and FB [0] [0] and the difference between FB [0] [0] and FC [0] [0]. Compare the absolute value of
If the absolute value of the difference between [0] [0] and FB [0] [0] is smaller than FB [0] [0] and FC [0] [0], block A is set as the prediction block. When the absolute value of the difference between FB [0] [0] and FC [0] [0] is smaller than the absolute value of the difference between FA [0] [0] and FB [0] [0] Indicates that block C is used as the prediction block and used as a prediction value.
【0161】また、DCT係数は、入力された量子化ス
テップにより図5の量子化器35と同様の方法により量
子化される。これは、DCT係数予測器402において
入力されたDCT係数は、DCT係数予測値選択器40
3に入力された量子化スケールと同じ値により既に量子
化されているため、その量子化ステップを揃えるためで
ある。The DCT coefficient is quantized by the input quantization step in the same manner as the quantizer 35 shown in FIG. This is because the DCT coefficient input in the DCT coefficient predictor 402 is different from the DCT coefficient predictor selector 40.
This is because the quantization steps have already been quantized by the same value as the quantization scale input to No. 3, so that the quantization steps are aligned.
【0162】また、予測に用いられるDCT係数は、図
23により示されるAC係数及び各DC係数である。The DCT coefficients used for prediction are the AC coefficient and each DC coefficient shown in FIG.
【0163】以下、予測値の選択方法をこの図23を用
いて説明する。A method of selecting a predicted value will be described below with reference to FIG.
【0164】図23において、ブロックXのDCT係数
の予測ブロックがブロックAであった場合、その予測に
使用されるAC係数は、ブロックAにおいて図中黒色で
示される位置に対応するAC係数となり、またブロック
AのDC係数も同様に予測に用いられる。また、ブロッ
クCがその予測ブロックとされた場合、当該ブロックC
の図中黒色で示される位置に対応するAC係数及び、当
該ブロックCのDC係数がその予測値として用いられ
る。In FIG. 23, when the predicted block of the DCT coefficient of the block X is the block A, the AC coefficient used for the prediction is the AC coefficient corresponding to the position shown in black in the block A. The DC coefficient of block A is also used for prediction. When the block C is set as the prediction block, the block C
The AC coefficient corresponding to the position shown in black in the figure and the DC coefficient of the block C are used as the predicted values.
【0165】さらに、ブロックAが予測ブロックとして
選択された場合、ブロックXにおいては、そのDC係数
及び左側の列に並んだAC係数のみがその予測の対象と
なり、これらのDCT係数のみの差分がとられることに
なる。また同様に、ブロックCが予測ブロックとして選
択された場合、ブロックXにおいては、一番上の行のA
C係数及びDC係数がその予測対象となる。Further, when block A is selected as a prediction block, in block X, only the DC coefficient and the AC coefficients arranged in the left column are subjected to the prediction, and the difference between these DCT coefficients alone is Will be done. Similarly, when block C is selected as a prediction block, in block X, A in the top row
The C coefficient and the DC coefficient are prediction targets.
【0166】また、DC係数の予測値は、その予測に選
択されたブロックがオブジェクトの外側に位置していた
り、インター予測をしていた場合、128の値が出力さ
れ、AC係数の場合は、選択されたブロックがオブジェ
クトの外側に位置したとき、そのAC係数が0として扱
われる。[0166] The predicted value of the DC coefficient is 128 when the block selected for the prediction is located outside the object or when inter prediction is performed. When the selected block is located outside the object, its AC coefficient is treated as zero.
【0167】DCT成分予測値選択器403において上
述にようにして求められたDCT係数の予測値は、DC
T係数予測器402に供給される。The predicted value of the DCT coefficient obtained by the DCT component predicted value selector 403 as described above is
It is supplied to a T coefficient predictor 402.
【0168】DCT係数予測器402では、前述したよ
うにDCT係数の予測値と、それに対応する位置の差分
を求め、その値を図5のVLC器36に出力する。The DCT coefficient predictor 402 obtains the difference between the predicted value of the DCT coefficient and the corresponding position as described above, and outputs the value to the VLC unit 36 in FIG.
【0169】次に、上述したようなAC/DC予測に用
いるブロックについて、色差フォーマット毎に図24を
用いて説明する。また、色差ブロックにおいてオブジェ
クト内のブロックかどうか判別する方法について、図2
5を用いて説明する。Next, the blocks used for AC / DC prediction as described above will be described for each color difference format with reference to FIG. FIG. 2 shows a method of determining whether a color difference block is a block in an object.
5 will be described.
【0170】図24の(a)は、輝度及び4:4:4フ
ォーマットの色差ブロックにおけるAC/DC予測に用
いるブロックを模式的に示したものである。FIG. 24A schematically shows blocks used for AC / DC prediction in a luminance and chrominance blocks of 4: 4: 4 format.
【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のブロックの何れかから予
測を行う。That is, when predicting the AC / DC coefficient of the block E in FIG.
The blocks used for the prediction are determined using the blocks B and D. Thereafter, according to the determination, either the block B or the block D is used as a prediction block of the block E. Similarly, the prediction of the AC / DC coefficients of the block F is performed by using the blocks B, C, and E for the determination of the prediction, and thereafter, according to the determination, C, E
Is predicted from any of the blocks. Block H AC
The prediction of the / DC coefficient uses the D, E, and G blocks for determining the prediction, and then performs prediction from any of the E and G blocks according to the determination. In the prediction of the AC / DC coefficient of the block I, the blocks of E, F, and H are used for determining the prediction, and then the prediction is performed from any of the blocks of F and H according to the determination.
【0172】ここで、AC/DC予測を行う際には、各
ブロックがオブジェクトの境界内に存在するか否かを判
定する必要がある。Here, when performing AC / DC prediction, it is necessary to determine whether each block exists within the boundary of the object.
【0173】輝度ブロックの場合は、図5の形状情報復
号器52より供給される形状情報を用いてこれを決定す
る。すなわちオブジェクトの内側かどうかを判定するの
は、その同位置に位置する形状情報を参照し、同位置の
形状情報の8×8画素のブロック内に、形状情報が1の
値となる画素を持つ画素値が一つ以上存在する場合(す
なわちオブジェクト内の画素が1つ以上存在する場
合)、そのブロックをオブジェクト内の画素として見な
すことができる。In the case of a luminance block, this is determined using the shape information supplied from the shape information decoder 52 in FIG. That is, it is determined whether or not the object is inside the object by referring to the shape information located at the same position and having a pixel whose shape information has a value of 1 in the 8 × 8 pixel block of the shape information at the same position. If there is one or more pixel values (that is, if there is one or more pixels in the object), the block can be regarded as a pixel in the object.
【0174】4:4:4フォーマットにおける色差ブロ
ックの場合は、図25に示すように、図5の色差用形状
情報作成器53より供給される色差用の形状情報(ただ
し、4:4:4フォーマットの場合は、輝度に用いられ
る形状情報と等しい)から各ブロック内に値が1となる
画素値を持つ画素、すなわちオブジェクトの内側である
ことを示す画素が1つ以上存在するか否かで判別するこ
とができる。In the case of a chrominance block in the 4: 4: 4 format, as shown in FIG. 25, the chrominance shape information supplied from the chrominance shape information creator 53 in FIG. 5 (however, 4: 4: 4 (In the case of a format, it is equal to the shape information used for luminance.) Therefore, it is determined whether or not there is one or more pixels having a pixel value of 1 in each block, that is, whether or not there is one or more pixels indicating that the object is inside the object. Can be determined.
【0175】また、これ以外の方法としては、同位置に
存在する輝度のブロックがオブジェクト内か否かにより
判別しても良い。例えば図3の(c)の場合、ブロック
4,5がオブジェクトの内側であるか否かは、ブロック
0より判定することができ、同様にブロック6,7の場
合はブロック2より、ブロック8,9の場合はブロック
1より、ブロック10,11の場合はブロック3より判
定することも可能である。As another method, the determination may be made based on whether or not the luminance block existing at the same position is within the object. For example, in the case of FIG. 3C, it can be determined from the block 0 whether the blocks 4 and 5 are inside the object. Similarly, in the case of the blocks 6 and 7, the blocks 2 and In the case of 9, the determination can be made from the block 1, and in the case of the blocks 10, 11, the determination can be made from the block 3.
【0176】それらどちらの判断方法を使用した場合で
も、色差ブロックがオブジェクトの内側に位置するかど
うかの判定結果は同じになるため、その符号化/復号化
装置の仕様により適宜選択することができる。In either case, the result of determining whether or not the chrominance block is located inside the object is the same, and can be appropriately selected according to the specifications of the encoding / decoding device. .
【0177】図24の(b)は、4:2:2フォーマッ
トの色差ブロックにおけるAC/DC予測に用いるブロ
ックを模式的に示したものである。FIG. 24B schematically shows blocks used for AC / DC prediction in a chrominance block of 4: 2: 2 format.
【0178】すなわち、図24の(b)におけるブロッ
クDのAC/DC係数の予測を行う場合、先ずA,B、
Cのブロックを用いて、その予測に用いるブロックを決
定する。その後当該決定に従ってBもしくはCのブロッ
クの何れかがブロックDの予測ブロックとして用いられ
ることになる。同様にブロックGのAC/DC係数の予
測は、C,D,Eのブロックを予測の決定に用い、その
決定に従ってD,Eのブロックの何れかから予測を行
う。That is, when predicting the AC / DC coefficient of the block D in FIG.
The block used for the prediction is determined using the block C. Thereafter, either the block B or C is used as the prediction block of the block D according to the determination. Similarly, in the prediction of the AC / DC coefficient of the block G, the blocks C, D, and E are used for determining the prediction, and the prediction is performed from one of the blocks D and E according to the determination.
【0179】この4:2:2フォーマットにおいても、
上記4:4:4フォーマットの色差ブロックの場合と同
様に、AC/DC予測を行う上で各ブロックがオブジェ
クトの境界内に存在するか否かを判定する必要がある。In the 4: 2: 2 format,
As in the case of the 4: 4: 4 format chrominance block, it is necessary to determine whether or not each block exists within the boundary of the object in performing the AC / DC prediction.
【0180】すなわち当該4:2:2フォーマットにお
ける色差ブロックの場合は、図25に示すように、図5
の色差用形状情報作成器53より供給される色差用の形
状情報から、各ブロック内に値が1となっている画素値
を持つ画素、すなわちオブジェクトの内側であることを
示す画素が存在するか否かで判別することができる。That is, in the case of a chrominance block in the 4: 2: 2 format, as shown in FIG.
From the color-difference shape information supplied from the color-difference shape information creator 53, whether there is a pixel having a pixel value of which the value is 1 in each block, that is, a pixel indicating that the pixel is inside the object No, it can be determined.
【0181】また、これ以外の方法としては、判定を行
う色差ブロックと対応する位置に存在する輝度のブロッ
クがオブジェクト内か否かにより判別しても良い。例え
ば図3の(b)の場合、ブロック4,5がオブジェクト
の内側かどうかは、ブロック0,1の何れか、もしくは
両方がオブジェクトの内側のブロックであるとき、当該
ブロック4,5もオブジェクトの内側のブロックである
と判断することができ、同様にブロック6,7の場合
は、ブロック2,3がオブジェクトの内側かどうかで判
断することができる。As another method, the determination may be made based on whether or not a luminance block existing at a position corresponding to the chrominance block to be determined is within the object. For example, in the case of FIG. 3B, it is determined whether the blocks 4 and 5 are inside the object when one or both of the blocks 0 and 1 are blocks inside the object. It can be determined that it is an inner block. Similarly, in the case of blocks 6 and 7, it can be determined whether or not blocks 2 and 3 are inside the object.
【0182】どちらの判断方法を使用した場合でも色差
ブロックがオブジェクトの内側に位置するかどうかの判
定結果は同じになるため、その符号化/復号化装置の仕
様により適宜選択することができる。In either case, the result of determining whether or not the chrominance block is located inside the object is the same, and it can be appropriately selected according to the specifications of the encoding / decoding device.
【0183】図24の(c)は、4:2:0フォーマッ
トの色差ブロックにおけるAC/DC予測に用いるブロ
ックを模式的に示したものである。FIG. 24C schematically shows blocks used for AC / DC prediction in a 4: 2: 0 format chrominance block.
【0184】すなわち、図24の(c)におけるブロッ
クDのAC/DC係数の予測を行う場合、先ずA,B,
Cのブロックを用いて、その予測に用いるブロックを決
定する。その後その決定に従ってBもしくはCのブロッ
クの何れかが、Dのブロックの予測ブロックとして用い
られることになる。That is, when predicting the AC / DC coefficients of the block D in FIG.
The block used for the prediction is determined using the block C. Thereafter, according to the determination, either the block B or the block C is used as a prediction block of the block D.
【0185】4:2:0フォーマットにおいても、上記
4:4:4フォーマットや4:2:2フォーマットの色
差ブロックの場合と同様に、AC/DC予測を行う上で
各ブロックがオブジェクトの境界内に存在するか否かを
判定する必要がある。In the 4: 2: 0 format, as in the case of the chrominance blocks of the 4: 4: 4 format and the 4: 2: 2 format, each block is within the boundary of the object in performing the AC / DC prediction. It is necessary to determine whether or not it exists.
【0186】すなわち4:2:0フォーマットにおける
色差ブロックの場合、図25に示すように、図5の色差
用形状情報作成器53より供給される色差用の形状情報
から、各ブロック内に値が1となる画素値を持つ画素、
すなわちオブジェクトの内側であることを示す画素が存
在するか否かで判別することができる。That is, in the case of the chrominance block in the 4: 2: 0 format, as shown in FIG. 25, the value in each block is obtained from the chrominance shape information supplied from the chrominance shape information generator 53 in FIG. A pixel having a pixel value of 1,
That is, it can be determined based on whether or not there is a pixel indicating that the pixel is inside the object.
【0187】またこれ以外の方法としては、判定を行う
色差ブロックと対応する位置に存在する輝度のブロック
がオブジェクト内か否かにより判別しても良い。例えば
図3の(a)の場合、ブロック4,5がオブジェクトの
内側かどうかは、ブロック0,1,2,3の何れか、も
しくは両方がオブジェクトの内側のブロックであると
き、これらブロック4,5もオブジェクトの内側のブロ
ックであると判断することができる。As another method, the determination may be made based on whether or not a luminance block existing at a position corresponding to the chrominance block to be determined is within the object. For example, in the case of FIG. 3A, it is determined whether the blocks 4 and 5 are inside the object when one or both of the blocks 0, 1, 2, and 3 are blocks inside the object. 5 can also be determined to be a block inside the object.
【0188】どちらの判断方法を使用した場合でも、色
差ブロックがオブジェクトの内側に位置するかどうかの
判定結果は同じになるため、その符号化/復号化装置の
仕様により適宜選択することができる。Regardless of which method is used, the result of determining whether or not the chrominance block is located inside the object is the same, so that it can be appropriately selected according to the specifications of the encoding / decoding device.
【0189】図5に戻って、VLC器36では、図42
における場合と同様に、量子化係数、量子化ステップ、
動きベクトル、および予測モードが供給される他、サイ
ズデータFSZ_BおよびオフセットデータFPOS_
Bも供給される。したがって、VLC器36では、これ
らのデータすべてを可変長符号化する。Returning to FIG. 5, in the VLC unit 36, FIG.
As in the case of, the quantization coefficient, the quantization step,
The motion vector and the prediction mode are supplied, and the size data FSZ_B and the offset data FPOS_
B is also supplied. Therefore, the VLC unit 36 performs variable length coding on all of these data.
【0190】また、VLC器36では、図42で説明し
たように、I,P,Bピクチャ(I−VOP,P−VO
P,B−VOP)のマクロブロックについて、スキップ
マクロブロックとするかどうかを決定し、その決定結果
を示すフラグCOD,MODBを設定する。このフラグ
COD,MODBは、やはり可変長符号化されて伝送さ
れる。また、各ブロック毎にそのDCT係数の符号化を
行うが、そのブロックがオブジェクトの外側のブロック
である場合、DCT係数の符号化は行われない。In the VLC unit 36, as described with reference to FIG. 42, the I, P, and B pictures (I-VOP, P-VO
It is determined whether a macroblock of (P, B-VOP) is to be a skipped macroblock, and flags COD and MODB indicating the determination result are set. The flags COD and MODB are also transmitted after being variable-length coded. In addition, the encoding of the DCT coefficient is performed for each block, but if the block is a block outside the object, the encoding of the DCT coefficient is not performed.
【0191】各ブロックがオブジェクトの外側もしくは
内側に位置するかは、輝度ブロックの場合は形状情報復
号器52より判断することができ、色差ブロックの場合
はこの輝度ブロックの判定結果もしくは、色差用形状情
報作成器53より供給される色差用の形状情報より判断
できる。オブジェクトの内側かどうかの判定法は、輝
度、色差の場合共に、前述したDCT係数差分化器44
におけるブロックの判定法と同様の方法で判定すること
ができる。Whether each block is located outside or inside the object can be determined by the shape information decoder 52 in the case of a luminance block. In the case of a chrominance block, the result of determination of this luminance block or the chrominance shape is used. The determination can be made from the color difference shape information supplied from the information generator 53. The method of determining whether the object is inside the object is the same as that of the DCT coefficient differentiator 44 described above for both luminance and color difference.
Can be determined by a method similar to the method of determining a block in.
【0192】次に、図26には、図1のエンコーダから
出力されるビットストリームを復号するデコーダの一実
施の形態の構成例を示している。Next, FIG. 26 shows a configuration example of an embodiment of a decoder for decoding a bit stream output from the encoder of FIG.
【0193】このデコーダには、図1のエンコーダから
伝送路5または記録媒体6を介して提供されるビットス
トリーム(bitstream)が供給される。すなわち、図1
のエンコーダから出力され、伝送路5を介して伝送され
てくるビットストリームは図示せぬ受信装置で受信さ
れ、また、記録媒体6に記録されたビットストリームは
図示せぬ再生装置で再生されて、逆多重化部71に供給
される。This decoder is supplied with a bit stream provided from the encoder in FIG. 1 via the transmission path 5 or the recording medium 6. That is, FIG.
The bit stream output from the encoder and transmitted through the transmission path 5 is received by a receiving device (not shown), and the bit stream recorded on the recording medium 6 is reproduced by a reproducing device (not shown). The signal is supplied to the demultiplexing unit 71.
【0194】逆多重化部71では、入力されたビットス
トリーム(後述するVS(Video Stream))を、ビデオ
オブジェクト(Video Object)ごとのビットストリーム
VO#1,VO#2,・・・,VO#Nに分離し、それ
ぞれ対応するVOP復号部721〜72Nに供給する。The demultiplexer 71 converts the input bit stream (VS (Video Stream) described later) into bit streams VO # 1, VO # 2,..., VO # for each video object (Video Object). N and supplies them to the corresponding VOP decoding units 721 to 72N.
【0195】VOP復号部721〜72Nのうち、VOP
復号部72nでは、逆多重化部71から供給されたビッ
トストリームより、ビデオオブジェクト(Video Objec
t)を構成するVOP(画像データ)、サイズデータ
(VOP_size)、およびオフセットデータ(VOP_
offset)を復号し、画像再構成部73に供給する。The VOP decoding units 721 to 72N
The decoding unit 72n converts the bit stream supplied from the demultiplexing unit 71 into a video object (Video Objec).
t), VOP (image data), size data (VOP_size), and offset data (VOP_
offset) and supplies it to the image reconstruction unit 73.
【0196】画像再構成部73では、VOP復号部72
1乃至72Nからの出力に基づいて、元の画像を再構成す
る。この再構成された画像信号は、例えばモニタ74に
供給される。これにより、当該モニタ72には再構成さ
れた画像が表示される。In the image reconstruction unit 73, the VOP decoding unit 72
Reconstruct the original image based on the outputs from 1 to 72N. The reconstructed image signal is supplied to, for example, a monitor 74. Thus, the reconstructed image is displayed on the monitor 72.
【0197】次に、図27は、VOP復号部72nの構
成例を示す。なお、図27中で、図43のデコーダにお
ける場合と対応する各構成要素については、同一の指示
符号を付してある。すなわち、VOP復号部72nは、
基本的に図43のデコーダと同様に構成されている。Next, FIG. 27 shows a configuration example of the VOP decoding section 72n. In FIG. 27, the same reference numerals are given to the components corresponding to those in the decoder in FIG. That is, the VOP decoding unit 72n
The configuration is basically the same as that of the decoder in FIG.
【0198】この図27において、逆多重化部72nか
ら供給されたビットストリームは、バッファ101に供
給されて一時記憶される。In FIG. 27, the bit stream supplied from demultiplexing section 72n is supplied to buffer 101 and is temporarily stored.
【0199】IVLC器102は、後段におけるブロッ
クの処理状態に対応して、上記バッファ101からビッ
トストリームを適宜読み出し、そのビットストリームを
可変長復号することで、量子化係数、動きベクトル、予
測モード、量子化ステップ、サイズデータFSZ_B、
オフセットデータFPOS_B、形状復号化情報および
フラグCODなどを分離する。量子化係数および量子化
ステップは、逆量子化器103に供給され、動きベクト
ルおよび予測モードは、動き補償器107、逆量子化器
103、DC係数逆差分化器111に供給される。ま
た、サイズデータFSZ_BおよびオフセットデータF
POS_Bは、動き補償器107、図26の画像再構成
部73に供給される。形状復号化情報は、形状復号化器
110に供給される。The IVLC unit 102 appropriately reads out a bit stream from the buffer 101 in accordance with the processing state of the block in the subsequent stage, and performs variable length decoding on the bit stream to obtain quantization coefficients, motion vectors, prediction modes, Quantization step, size data FSZ_B,
The offset data FPOS_B, the shape decoding information and the flag COD are separated. The quantization coefficient and the quantization step are supplied to the inverse quantizer 103, and the motion vector and the prediction mode are supplied to the motion compensator 107, the inverse quantizer 103, and the DC coefficient inverse difference unit 111. Further, the size data FSZ_B and the offset data F
POS_B is supplied to the motion compensator 107 and the image reconstruction unit 73 in FIG. The shape decoding information is supplied to the shape decoder 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における場合とそれぞれ同様の処
理が行われる。Inverse quantizer 103, IDCT unit 104, arithmetic unit 105, frame memory 106, shape decoder 11
0, color difference shape information generator 109, padding processor 1
08, in the motion compensator 107, the VOP encoding unit 3 in FIG.
5, the inverse quantizer 38, the IDCT unit 39,
Arithmetic unit 40, frame memory 41, shape information decoder 5
2. Color difference shape information generator 53, padding processor 51
Alternatively, the same processing as in the case of the motion compensator 42 is performed.
【0201】形状情報復号器110では、IVLC器1
02より供給された符号化された形状情報を復号して復
元する。形状情報復号器110は、図5の形状情報復号
器52と同様に動作し、その出力はDCT係数逆差分化
器111、パディング処理器108、及び色差用形状情
報作成器109に供給される。In the shape information decoder 110, the IVLC device 1
02, and decodes and restores the encoded shape information. The shape information decoder 110 operates in the same manner as the shape information decoder 52 in FIG. 5, and its output is supplied to the DCT coefficient inverse difference generator 111, the padding processor 108, and the color difference shape information generator 109.
【0202】色差用形状情報作成器109は、図5の色
差用形状情報作成器53と同様に動作し、色差のフォー
マットに合わせて、形状情報復号器110からの出力を
変換してパディング処理器108及びDCT係数逆差分
化器111に供給する。The chrominance shape information generator 109 operates in the same manner as the chrominance shape information generator 53 shown in FIG. 5, converts the output from the shape information decoder 110 to a padding processor according to the chrominance format. 108 and the DCT coefficient inverse differentiator 111.
【0203】逆量子化器103では、IVLC器102
から供給された量子化係数(量子化スケール)を元に、
同じくIVLC器102から供給された量子化されたD
CT係数を逆量子化する。当該逆量子化器103は、図
5の逆量子化器38と同様に動作し、その出力はDCT
係数逆差分化器111に供給される。In the inverse quantizer 103, the IVLC unit 102
Based on the quantization coefficient (quantization scale) supplied from,
The quantized D also supplied from the IVLC unit 102
Dequantize the CT coefficients. The inverse quantizer 103 operates similarly to the inverse quantizer 38 of FIG.
The coefficient is supplied to the coefficient inverse differentiator 111.
【0204】DCT係数逆差分化器111は、図5のD
CT係数差分化器44と同様にして、該当ブロックの予
測に使用されたブロックを選択し、逆量子化器103よ
り供給されたDCT係数と加算することで、DCT係数
のAC係数及びDC係数を復元する。このように復元さ
れたDCT係数は、IDCT器104に送られる。The DCT coefficient inverse differentiator 111 calculates the DT coefficient in FIG.
Similarly to the CT coefficient differentiator 44, the block used for the prediction of the corresponding block is selected and added to the DCT coefficient supplied from the inverse quantizer 103, so that the AC coefficient and the DC coefficient of the DCT coefficient are calculated. Restore. The DCT coefficients thus restored are sent to the IDCT unit 104.
【0205】また、DCT係数逆差分化器111では、
図5のDCT係数差分化器44の場合と同様に、形状情
報復号器110から供給された形状情報、及び色差用形
状情報作成器109より供給された色差用形状情報を用
いて、各ブロックにオブジェクトの内側かあるいは外側
かの判定を行う。この判定方法についても、図5でのD
CT係数差分化器44と同様の方法が使用される。In the DCT coefficient inverse differentiator 111,
As in the case of the DCT coefficient differentiator 44 in FIG. 5, each block is formed using the shape information supplied from the shape information decoder 110 and the color difference shape information supplied from the color difference shape information generator 109. Determine if the object is inside or outside. This determination method is also referred to as D in FIG.
A method similar to that of the CT coefficient differentiator 44 is used.
【0206】IDCT器104は、図5のIDCT器3
9と同様に動作し、DCT係数逆差分化器111からの
DCT係数をIDCT処理し、得られたデータを演算器
105に供給する。The IDCT device 104 is the IDCT device 3 shown in FIG.
9, the DCT coefficient from the DCT coefficient inverse differentiator 111 is subjected to IDCT processing, and the obtained data is supplied to the arithmetic unit 105.
【0207】演算器105は、図5の演算器40と同様
に動作し、フレーム間予測が行われている場合には動き
補償器107からの出力とIDCT器104の出力とを
1画素単位で加算する。フレーム内予測(イントラ符号
化)が行われている場合には、特に動作しない。演算器
105の出力は、パディング処理器1108に供給され
るとともに、テクスチャ情報として出力される。The arithmetic unit 105 operates in the same manner as the arithmetic unit 40 of FIG. 5, and when the inter-frame prediction is performed, the output from the motion compensator 107 and the output from the IDCT unit 104 are output in units of one pixel. to add. When the intra-frame prediction (intra coding) is being performed, no particular operation is performed. The output of the arithmetic unit 105 is supplied to the padding processing unit 1108 and output as texture information.
【0208】パディング処理器108は、図5のパディ
ング処理器51と同様に動作し、形状情報復号器110
及び色差用形状情報作成器109から出力された形状情
報を元に、演算器105からの出力画像に対してパディ
ング処理を行う。このパディング処理器108の出力
は、フレームメモリ106に蓄積される。The padding processor operates in the same manner as the padding processor 51 shown in FIG.
Based on the shape information output from the color difference shape information generator 109, padding is performed on the output image from the calculator 105. The output of the padding processor 108 is stored in the frame memory 106.
【0209】フレームメモリ106に蓄積されているデ
ータは、動き補償器107により適宜呼び出され、演算
器105に出力される。これらフレームメモリ106及
び動き補償器107の動作は、図5に示すフレームメモ
リ41及び動き補償器42の動作と同様である。The data stored in the frame memory 106 is appropriately called by the motion compensator 107 and output to the arithmetic unit 105. The operations of the frame memory 106 and the motion compensator 107 are the same as the operations of the frame memory 41 and the motion compensator 42 shown in FIG.
【0210】この図27に示したように、VOP復号部
72nではVOPが復号され、当該復号されたVOPが
図26の画像再構成部73に供給される。As shown in FIG. 27, the VOP is decoded by the VOP decoding section 72n, and the decoded VOP is supplied to the image reconstruction section 73 in FIG.
【0211】次に、図1のエンコーダが出力する符号化
ビットストリームのシンタックスについて、例えば、M
PEG4規格のビジュアルコミッティドラフト(Visual
Comitee Draft)の記載を例に説明する。なお、これ以
降に説明する各シンタックスは、MPEG4のビジュア
ルコミッティドラフトにて規定されており、既知のもの
であるためそれらの図示は省略するが、本発明において
特に必要と認めるシンタックスについては図示する。Next, the syntax of the coded bit stream output from the encoder of FIG.
PEG4 standard visual committee draft (Visual
Comitee Draft) will be described as an example. Note that the syntaxes described hereinafter are defined in the MPEG4 Visual Committee Draft and are well-known, so that their illustration is omitted. However, syntaxes deemed to be particularly necessary in the present invention are illustrated. I do.
【0212】MPEG4において、ビジュアルオブジェ
クト(visual object)については、2次元の動画像デ
ータだけではなく、2次元静止画画像、フェイスオブジ
ェクト(face object)等を符号化/復号化することが
可能である。In MPEG4, as for visual objects, not only two-dimensional moving image data but also two-dimensional still image images, face objects and the like can be encoded / decoded. .
【0213】そのため、MPEG4のビジュアルオブジ
ェクト(visual Object)については、先ず、ビジュア
ルオブジェクトシーケンス(Visual Object Sequence)
を伝送する。このビジュアルオブジェクトシーケンス内
では、複数のビジュアルオブジェクト(Visual Objec
t)を伝送することができ、複数のビジュアルオブジェ
クによりビジュアルオブジェクシーケンスを構成するこ
とが可能である。[0213] Therefore, regarding the visual object (visual object) of MPEG4, first, a visual object sequence (Visual Object Sequence)
Is transmitted. Within this visual object sequence, multiple visual objects (Visual Objec
t) can be transmitted, and a visual object sequence can be composed of a plurality of visual objects.
【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)の何れかのシンタッ
クスが続く。Next, in the syntax of a visual object (VisualObject) not shown, the types of objects following the syntax (video object (Video Object) which is a moving image at present, and still texture object (still object) which is a still image) Still Texture
Object), a mesh object (Mesh Object) indicating a two-dimensional mesh, and a face object (Face Object) indicating a face shape are defined.
bject) followed by a video object (Video Objec
t), Still texture object (Still texture o)
bject), a mesh object (Mesh Object), or a face object (Face Object).
【0215】また、図示しないユーザデータ(user_dat
a)のシンタックスでは、ビジュアルオブジェクトシー
ケンス(Visual Obect Sequence)、ビジュアルオブジ
ェクト(Visual Object)、ビデオオブジェクト(Video
Object)、GOVレイヤ等で使用し、符号化時におい
て、復号時等に使用するデータを復号側で定義して伝送
することが可能である。Also, user data (user_dat not shown)
In the syntax of a), a visual object sequence (Visual Obect Sequence), a visual object (Visual Object), and a video object (Video
Object, GOV layer, etc., and at the time of encoding, data to be used at the time of decoding or the like can be defined and transmitted on the decoding side.
【0216】ここで、図示しないビデオオブジェクト
(VO)のシンタックスにおいて、当該ビデオオブジェ
クトは、1以上のVOL(Video Object Layer Class)
から構成される。なお、画像を階層化しないときは一の
VOLで構成され、画像を階層化する場合には、その階
層数だけのVOLで構成される。Here, in the syntax of a video object (VO) (not shown), the video object includes one or more VOL (Video Object Layer Class).
Consists of When the image is not hierarchized, it is composed of one VOL. When the image is hierarchized, it is composed of the VOL of the number of layers.
【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以上を含む任意の
数とすることができる。Next, a VOL (video Object not shown)
Layer), the VOL is a class for scalability as described above, and a video object layer ID (video_object_layer_id)
Is identified by the number indicated by. That is, for example, the video object layer ID (video_object_layer_id) for the VOL of the lower layer is set to 0, and the video object layer ID (video_object_layer_id) for the VOL of the upper layer is set to 1, for example. As described above, the number of scalable layers is not limited to two, but may be any number including one or three or more.
【0218】また、VOLは大きく2つのシンタックス
から構成されており、ビデオオブジェクトレイヤスター
トコード(video_object_layer_start_code)からなる
部分と、ショートビデオスタートマーカ(short_video_
start_marker)より始る部分の2つにより構成されてい
る。[0218] The VOL is roughly composed of two syntaxes, a portion composed of a video object layer start code (video_object_layer_start_code) and a short video start marker (short_video_start).
start_marker).
【0219】ここで、VOL(video Object Layer)のシ
ンタックスにおいて、ビデオオブジェクトレイヤスター
トコード(video_object_layer_start_code)に続く部
分から構成されるシンタックスについて、図28を用い
て説明する。なお、図28には、当該VOLのシンタッ
クスの前半部分のみを示し、後半部分については省略し
ている。Here, in the syntax of VOL (video Object Layer), the syntax composed of a portion following the video object layer start code (video_object_layer_start_code) will be described with reference to FIG. FIG. 28 shows only the first half of the syntax of the VOL, and omits the second half.
【0220】なお、この図28や、後述する図30、図
31、図40、図41のようなシンタックスを示す図面
中で「*」を付した部分は、本実施の形態による変更箇
所等の注目部分を表している。Note that, in FIG. 28 and the drawings showing the syntax as shown in FIGS. 30, 31, 40, and 41, which will be described later, the portions marked with “*” are the changed parts according to the present embodiment. Represents the noticed part of.
【0221】図28に示すシンタックスにおいて、クロ
マフォーマット(chroma_format)は、色差フォーマッ
トの種類を表し、このクロマフォーマットは図29に示
す通りに定義される。すなわち、クロマフォーマット
(chroma_format)が「01」の場合、符号化/復号化
される画像は4:2:0フォーマットであり、また「1
0」の場合は4:2:2フォーマット、「11」の場合
は4:4:4フォーマットとなる。In the syntax shown in FIG. 28, the chroma format (chroma_format) indicates the type of the color difference format, and this chroma format is defined as shown in FIG. That is, when the chroma format (chroma_format) is “01”, the image to be encoded / decoded is in the 4: 2: 0 format and “1”.
In the case of "0", the format is 4: 2: 2, and in the case of "11", the format is 4: 4: 4.
【0222】また、各VOLについて、それが画像全体
であるのか、画像の一部であるのかは、ビデオオブジェ
クトレイヤシェイプ(video_object_layer_shape)で識
別される。このビデオオブジェクトレイヤシェイプ(vi
deo_object_layer_shape)は、VOLの形状を示すフラ
グであり、例えば、以下のように設定される。For each VOL, whether it is an entire image or a part of the image is identified by a video object layer shape (video_object_layer_shape). This video object layer shape (vi
deo_object_layer_shape) is a flag indicating the shape of the VOL, and is set, for example, as follows.
【0223】すなわち、VOLの形状が長方形状である
とき、当該ビデオオブジェクトレイヤシェイプ(video_
object_layer_shape)は、例えば「00」とされる。ま
た、VOLが、ハードキー(0または1のうちの何れか
一方の値をとる2値(バイナリ)の信号)によって抜き
出される領域の形状をしているとき、ビデオオブジェク
トレイヤシェイプ(video_object_layer_shape)は、例
えば「01」とされる。さらに、VOLが、ソフトキー
(0乃至1の範囲の連続した値(グレイスケール)をと
ることが可能な信号)によって抜き出される領域の形状
をしているとき(ソフトキーを用いて合成されるもので
あるとき)、当該ビデオオブジェクトレイヤシェイプ
(video_object_layer_shape)は、例えば「10」とさ
れる。That is, when the VOL has a rectangular shape, the video object layer shape (video_
object_layer_shape) is, for example, “00”. When the VOL has a shape of an area extracted by a hard key (a binary (binary) signal having one of 0 or 1), the video object layer shape (video_object_layer_shape) is , For example, "01". Furthermore, when the VOL is in the shape of an area extracted by a soft key (a signal capable of taking a continuous value (gray scale) in the range of 0 to 1) (combined using the soft key) ), The video object layer shape (video_object_layer_shape) is set to, for example, “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の絶対座標系における大きさが一定
であるからである。Here, the reason why the video object layer shape (video_object_layer_shape) is “00” is that the VOL has a rectangular shape and the VOL is
Is the case where the position and size in the absolute coordinate form do not change with time, that is, are constant. In this case, the size (horizontal length and vertical length)
Video object layer wide (video_object_layer
_width) and video object layer high (video_obje)
ct_layer_height). Video object layer wide (video_object_layer_width) and video object layer high (video_object_layer_h)
eight) is a fixed-length flag of 10 bits, and has a video object layer shape (video_object
If _layer_shape) is “00”, it is transmitted only once at first. This is because, when the video object layer shape (video_object_layer_shape) is “00”, as described above, the size of the VOL in the absolute coordinate system is constant.
【0225】また、VOLが、下位レイヤまたは上位レ
イヤのうちの何れかであるかは、1ビットのフラグであ
るスケーラビリティ(scalability)によって示され
る。VOLが下位レイヤの場合、スケーラビリティ(sc
alability)は例えば1とされ、それ以外の場合は例え
ば0とされる。Whether the VOL is a lower layer or an upper layer is indicated by scalability which is a 1-bit flag. If the VOL is a lower layer, scalability (sc
alability) is, for example, 1; otherwise, it is, for example, 0.
【0226】さらに、VOLが、自身以外のVOLにお
ける画像を参照画像として用いる場合、その参照画像が
属するVOLは、リファレンスレイヤID(ref_layer_
id)で表される。なお、リファレンスレイヤID(ref_
layer_id)は、上位レイヤについてのみ伝送される。Further, when a VOL uses an image in a VOL other than itself as a reference image, the VOL to which the reference image belongs is a reference layer ID (ref_layer_ref).
id). The reference layer ID (ref_
layer_id) is transmitted only for the upper layer.
【0227】また、ホリゾンタルサンプリングファクタ
n(hor_sampling_factor_n)とホリゾンタルサンプリ
ングファクタm(hor_sampling_factor_m)は、下位レ
イヤのVOPの水平方向の長さに対応する値と、上位レ
イヤのVOPの水平方向の長さに対応する値をそれぞれ
示す。従って、下位レイヤに対する上位レイヤの水平方
向の長さ(水平方向の解像度の倍率)は、下記式(2) hor_sampling_factor_n/hor_sampling_factor_m (2) で与えられる。The horizontal sampling factor n (hor_sampling_factor_n) and the horizontal sampling factor m (hor_sampling_factor_m) correspond to the value corresponding to the horizontal length of the VOP of the lower layer and the horizontal length of the VOP of the upper layer. Are shown below. Therefore, the horizontal length (horizontal resolution magnification) of the upper layer with respect to the lower layer is given by the following equation (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) で与えられる。Further, the vertical sampling factor n (ver_sampling_factor_n) and the vertical sampling factor m (ver_sampling_factor_m) correspond to the value corresponding to the vertical length of the VOP of the lower layer and the vertical length of the VOP of the upper layer. Are shown below. Therefore, the vertical length (magnification of the vertical resolution) of the upper layer with respect to the lower layer is given by the following equation (3): ver_sampling_factor_n / ver_sampling_factor_m (3)
【0229】VOLにおいて、コンプレクシティエステ
ィメイションディセーブル(complexity_estimation_di
sable)が0の場合、当該シンタックスのディファイン
VOPエスティメイションヘッダ(define_VOP_esti
mation_header)以下が符号化/復号化される。In the VOL, the complexity estimation disabled (complexity_estimation_di)
sable) is 0, the definition VOP estimation header (define_VOP_esti
The following is encoded / decoded.
【0230】また、VOLのビットストリームの先頭に
ビデオオブジェクトレイヤスタートコード(video_obje
ct_layer_start_code)ではなく、ショートビデオスタ
ートマーカ(short_video_start_marker)が読み込まれ
た場合、当該シンタックスのelse行以下のシンタックス
がVOLのビットストリームの復号に際し使用される。Also, a video object layer start code (video_obje
When a short video start marker (short_video_start_marker) is read instead of (ct_layer_start_code), the syntax below the else line of the syntax is used for decoding the VOL bit stream.
【0231】VOLは、単数もしくは複数のVOP、ビ
デオプレーンウイズショートヘッダ(video_plane_with
_short_header)もしくはGOVで構成される。The VOL is composed of one or more VOPs, a video plane short header (video_plane_with).
_short_header) or 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)に分けられて符号化されることになる。The GOV layer is defined between the VOL layer and the VOP layer so that the GOV layer can be inserted not only at the head of the bit stream but also at an arbitrary position in the encoded bit stream. As a result, a certain VOL # 0 becomes OP #
0, VOP # 1,..., VOP # n, VOP # (n +
1),..., VOP # m, the GOV layer includes the first VO
It can be inserted not only immediately before P # 0 but also immediately before VOP # (n + 1). Therefore, in the encoder, G
The OV layer can be inserted, for example, at a position in the coded stream at which random access is desired.
By inserting the V layer, a series of VOPs constituting a certain VOL is encoded by being divided into a plurality of groups (GOV) by the GOV layer.
【0233】図示しないGOV層のシンタックスにおい
て、当該GOV層は、グループスタートコード(group_
start_code)、タイムコード(time_code)、クローズ
ドGOP(closed_gop)、ブロークンリンク(broken_l
ink)、ネクストスタートコード(next_start_code())
が順次配置されて構成される。In the syntax of the GOV layer (not shown), the GOV layer includes a group start code (group_group_code).
start_code), time code (time_code), closed GOP (closed_gop), broken link (broken_l)
ink), next start code (next_start_code ())
Are sequentially arranged.
【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に相当す
る。Next, a VOP (Video Object P not shown)
In the syntax of “lane Class), the size (horizontal and vertical length) of the VOP is, for example, a 13-bit fixed-length VO.
P wide (VOP_width) and VOP high (VOPP_height)
It is represented by The position of the VOP in the absolute coordinate system is, for example, a VOP horizontal spatial MC reference (VOP_horizontal_spatial_m) having a fixed length of 13 bits.
c_ref) and VOP vertical MC reference (VOPP_v
ertical_mc_ref). In addition, VOP wide (VO
P_width) or VOP high (VOP_height) indicates the length of the VOP in the horizontal direction or the vertical direction, respectively, and these correspond to the size data FSZ_B and FSZ_E described above. Also, VOP horizontal spatial MC reference (VOP_horizontal_spatial_mc_ref) or VO
P vertical MC reference (VOP_vertical_mc_re
f) represents the horizontal or vertical coordinates (x coordinate or y coordinate) of the VOP, respectively, and these correspond to the above-described offset data FPOS_B and 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)から認識される。VOP wide (VOP_width), VOP high (VOP_height), VOP horizontal spatial MC
Reference (VOP_horizontal_spatial_mc_ref), V
OP Vertical MC Reference (VOP_vertical_mc_re
f) is the video object layer shape (video_obj
ect_layer_shape) is other than “00”. That is, when the video object layer shape (video_object_layer_shape) is “00”, as described above, since the size and position of the VOP are all constant, the VOP wide (VOP_width) and the VO
P high (VOP_height), VOP horizontal spatial MC reference (VOP_horizontal_spatial_mc_re)
f), VOP vertical MC reference (VOP_vertica)
l_mc_ref) need not be transmitted. In this case, on the receiving side, the VOP is arranged such that its upper left vertex coincides with, for example, the origin of the absolute coordinate system, and its size follows the above-mentioned video object layer start code (video_object_layer_start_code). The video object layer wide (video_object_layer_width) and the video object layer high (video_object_layer) described in the syntax
_height).
【0236】次に、リファレンスセレクトコード(ref_
select_code)は、参照画像として用いる画像を表すも
ので、VOPのシンタックスにおいて規定されている。Next, the reference select code (ref_
select_code) represents an image used as a reference image, and is specified in the VOP syntax.
【0237】当該シンタックスのリードVOPコンプレ
クシティエスティメイションヘッダ(read_VOP_compexi
ty_estimation_header)以下は、VOLにおいてコンプ
レクシティエスティメイションディセーブル(complexi
ty_estimation_disable)の値が「0」と示された場合
のみVOPより、読み込まれる。[0237] The read VOP complexity estimation header of the syntax (read_VOP_compexi
ty_estimation_header) The following is a complexity estimation disable (complexi) in the VOL.
It is read from the VOP only when the value of (ty_estimation_disable) is indicated as “0”.
【0238】また、ビデオパケットヘッダ(video_pack
et_header)は、VOLにおいて、エラーレジッシェン
トディセーブル(error_resilient_disable)が「0」
を示す時にのみ使用可能であり、符号化側でその使用を
自由に使用することができVOPより読み込むことが可
能である。In addition, the video packet header (video_pack
et_header) indicates that the VOL has an error residue disable (error_resilient_disable) of “0”.
, And can be used freely on the encoding side, and can be read from the VOP.
【0239】ここで、前記VOLがショートビデオスタ
ートマーカ(short_video_start_marker)より始る場合
において使用されるビデオプレーンウイズショートヘッ
ダ(video_plane_with_short_header)について説明す
る。Here, a video plane short header (video_plane_with_short_header) used when the VOL starts with a short video start marker (short_video_start_marker) will be described.
【0240】ビデオプレーンウイズショートヘッダ(vi
deo_plane_with_short_header)は、前述した通りVO
Lがショートビデオスタートマーカ(short_video_star
t_marker)により開始する場合にのみ使用される。The video plane with short header (vi
deo_plane_with_short_header) is the VO as described above.
L is short video start marker (short_video_star)
Used only when starting with (t_marker).
【0241】このショートビデオスタートマーカ(shor
t_video_start_marker)は、フラグ群及び複数のGOB
レイヤ(gob_layer)により構成される。This short video start marker (shor
t_video_start_marker) is a flag group and a plurality of GOBs.
It is composed of a layer (gob_layer).
【0242】GOBレイヤ(gob_layer)は、複数のマ
クロブロックをひとまとまりのグループとして符号化し
たもので、GOBレイヤ(gob_layer)内のマクロブロ
ックの個数は符号化を行っている画像の画枠により一意
に定められる。The GOB layer (gob_layer) is obtained by encoding a plurality of macroblocks as a group, and the number of macroblocks in the GOB layer (gob_layer) is unique depending on the picture frame of the image being encoded. Is determined.
【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の場合であり、テク
スチャ情報が伝送される場合に使われる。The video object plane (video_obje)
In ct_plane), a motion shape texture (motion_shape_texture) is read in order to encode texture information and shape encoding information of an image, and macroblocks and the like are encoded therein. The syntax of a motion shape texture (motion_shape_texture) (not shown) is roughly composed of two parts, and a data partitioning motion shape texture (data_p
attitioning_motion_shape_texture) and combined motion shape texture (combined_motion_shap)
e_texture). Data partitioning motion shape texture (data_pattitioning_mo
tion_shape_texture) is used when the 1-bit flag (data_partitioning) indicated by the VOL is 1, and is used when texture information is transmitted.
【0244】コンバインドモーションシェイプテクスチ
ャ(combined_motion_shape_texture)は、フラグ(dat
a_partitioning)が0の場合もしくは、形状情報のみを
伝送する場合に用いられる。このようにコンバインドモ
ーションシェイプテクスチャ(combined_motion_shape_
texture)は、一つもしくは複数のマクロブロックによ
り構成されている。The combined motion shape texture (combined_motion_shape_texture) has a flag (dat
a_partitioning) is 0 or used when only shape information is transmitted. The combined motion shape texture (combined_motion_shape_
texture) is composed of one or a plurality of macro blocks.
【0245】図30及び図31には、マクロブロックの
シンタックスの一部(前半部分)を示す。このマクロブ
ロックのシンタックスは大きく3つの部分から構成され
ており、I−VOP、P−VOPにおけるマクロブロッ
クのシンタックスを示す部分と、B−VOPのマクロブ
ロックのシンタックスを示す部分、またグレイスケール
シェイプ(GrayScale shape)におけるマクロブロック
を示す部分の3個所から構成される。FIGS. 30 and 31 show a part (first half) of the syntax of a macroblock. The syntax of this macroblock is roughly composed of three parts, a part indicating the syntax of the macroblock in the I-VOP and the P-VOP, a part indicating the syntax of the macroblock in the B-VOP, and gray. It is composed of three parts indicating a macroblock in a scale shape (GrayScale shape).
【0246】I−VOP、P−VOPにおけるマクロブ
ロックのシンタックスを示す部分、及びB−VOPのマ
クロブロックのシンタックスを示す部分については、シ
ェイプのブロックを符号化する部分MBバイナリシェイ
プコーディング(mb_binary_shape_coding)、マクロブ
ロックの符号化状態を示すフラグ群、及び動きベクトル
の符号化部モーションベクター(motion_vector)、各
ブロックの符号化部ブロック(block)から構成され
る。A part indicating the syntax of the macroblock in the I-VOP and the P-VOP and a part indicating the syntax of the macroblock in the B-VOP are a part for coding the block of the shape. MB binary shape coding (mb_binary_shape_coding) ), A group of flags indicating the coding state of the macroblock, a motion vector coding unit motion vector (motion_vector), and a coding unit block (block) of each block.
【0247】また、マクロブロックのグレイスケール
(GrayScale)の情報を表す部分は、マクロブロック内
のグレイスケール(Gray-Scale)状態を表すフラグ群及
びグレイスケール(Gray-Scale)を構成するブロックの
符号化部アルファブロック(alpha_block)から構成さ
れる。[0247] Further, the part indicating the information of the gray scale (GrayScale) of the macroblock is a group of flags indicating the grayscale (Gray-Scale) state in the macroblock and the code of the block constituting the grayscale (Gray-Scale). It is composed of an alpha block (alpha_block).
【0248】当該マクロブロックのシンタックスでは、
I−VOP、P−VOPで使用されるものとB−VOP
で使用されるものの大きく2つのシンタックスより構成
される。ここで、I−VOP、P−VOPの時に読み込
まれるフラグ(mcbpc)は、マクロブロックのタイプ及
び、マクロブロックの色差ブロックのコーディングパタ
ーンを示すVLCである。MPEG4のビジュアルコミ
ッティドラフト(Visual Comitee Draft)で使用されて
いるフラグ(mcbpc)のVLCテーブルを、図32に示
す。In the syntax of the macro block,
What is used in I-VOP, P-VOP and B-VOP
It is composed of two major syntaxes used in Here, the flag (mcbpc) read at the time of the I-VOP and the P-VOP is VLC indicating the type of the macroblock and the coding pattern of the color difference block of the macroblock. FIG. 32 shows a VLC table of the flag (mcbpc) used in the Visual Committee Draft of MPEG4.
【0249】この図32に示すVLCテーブルは、I−
VOPのフラグ(mcbpc)に対応する表であり、図33
にはP−VOPに対するVLCテーブルを示す。The VLC table shown in FIG.
FIG. 33 is a table corresponding to VOP flags (mcbpc).
Shows a VLC table for P-VOP.
【0250】これら図32、図33のVLCテーブルに
示すように、フラグ(mcbpc)はその値により独立した
2つのパラメータを指す。一つはマクロブロックタイプ
(MBtype)であり、他方はフラグ(cbpc)である。フラ
グ(mcbpc)は図32、図33のテーブルをもとに、符
号化/復号される。図32,図33のテーブルを用い
て、フラグ(mcbpc)より、マクロブロックタイプ(MBt
ype)及び、フラグ(cbpc)が判断される。マクロブロ
ックタイプ(MBtype)はマクロブロックの符号化タイプ
であり、フラグ(cbpc)は色差信号の符号化の状態を表
す2ビットのフラグである。マクロブロックタイプ(MB
type)は、整数により記述されているが、各整数は、図
34のようにマクロブロックの符号化タイプとして定義
される。また、同じ番号でもその意味はVOPのタイプ
により異なることもある。As shown in the VLC tables of FIGS. 32 and 33, the flag (mcbpc) indicates two independent parameters depending on the value. One is a macroblock type (MBtype) and the other is a flag (cbpc). The flag (mcbpc) is encoded / decoded based on the tables in FIGS. Using the tables of FIGS. 32 and 33, the macroblock type (MBt
ype) and a flag (cbpc) are determined. The macroblock type (MBtype) is a coding type of the macroblock, and the flag (cbpc) is a 2-bit flag indicating a coding state of the color difference signal. Macro block type (MB
type) is described by integers, but each integer is defined as a macroblock encoding type as shown in FIG. Also, the meaning of the same number may differ depending on the type of VOP.
【0251】ここで、本実施の形態の方法を明確にする
ためにMPEG4のビジュアルコミッティドラフト(Vi
sual Comitee Draft)におけるマクロブロックレイヤの
フラグ(cbpc)の動作について説明する。フラグ(cbp
c)は、図32に示されるように2ビットで示され、前
述したようにそれぞれの色差ブロックの符号化の状態を
表す。Here, in order to clarify the method of this embodiment, a visual committee draft (Vi
The operation of the flag (cbpc) of the macro block layer in the dual composite Draft will be described. Flag (cbp
c) is represented by 2 bits as shown in FIG. 32, and represents the encoding state of each chrominance block as described above.
【0252】先ず、4:2:0フォーマットにおけるフ
ラグ(cbpc)の動作を説明する。First, the operation of the flag (cbpc) in the 4: 2: 0 format will be described.
【0253】当該フラグ(cbpc)は2ビットで表され、
各ビットはそれぞれ対応した色差ブロックの符号化状態
を表す。すなわち、フラグ(cbpc)のうちの先頭の1ビ
ットは図3の(a)に示したブロック4の符号化状態を
示し、後ろの1ビットは図3の(a)のブロック5の符
号化状態を示す。このビットの値が1の時、その対応す
るブロックは符号化/復号化されるブロックとして判断
され、後にこのフラグをもとにブロックのDCT係数が
出力/入力される。またこのビットが0の場合、対応す
るブロックのDCT係数は何も存在しないと判断され
る。The flag (cbpc) is represented by 2 bits.
Each bit indicates the encoding state of the corresponding color difference block. That is, the leading one bit of the flag (cbpc) indicates the coding state of the block 4 shown in FIG. 3A, and the last bit is the coding state of the block 5 of FIG. Is shown. When the value of this bit is 1, the corresponding block is determined as a block to be encoded / decoded, and the DCT coefficient of the block is output / input later based on this flag. When this bit is 0, it is determined that there is no DCT coefficient of the corresponding block.
【0254】このようなことから、例えばフラグ(cbp
c)が「11」の場合、図3の(a)の対応するブロッ
ク4,5のそれぞれにDCT係数が存在していると判断
される。また「10」の場合にはブロック4にのみDC
T係数が存在する、「01」の場合には5のブロックの
み、「00」の場合にはブロック4,5にはDCT係数
が存在しないと判断される。For this reason, for example, the flag (cbp
When c) is “11”, it is determined that the DCT coefficient exists in each of the corresponding blocks 4 and 5 in FIG. In the case of "10", DC is applied only to block 4.
It is determined that the DCT coefficient does not exist in the block 5 when the T coefficient exists and is "01" and in the blocks 4 and 5 when the coefficient is "00".
【0255】また、本実施の形態では、他の色差フォー
マットにおいてはフラグ(cbpc)を以下のように定義す
る。In this embodiment, a flag (cbpc) is defined as follows in other color difference formats.
【0256】クロマタイプ(croma_type)が「01」す
なわち4:2:0フォーマットを示す場合、フラグ(cb
pc)は従来と同じ定義、すなわち4:2:0フォーマッ
トのマクロブロックの構成図を表す図3の(a)におい
ての、ブロック4,5の状態を表すフラグであると判断
する。If the chroma type (croma_type) indicates “01”, that is, 4: 2: 0 format, the flag (cb
pc) is determined to be a flag indicating the state of blocks 4 and 5 in FIG. 3A showing the configuration of a macro block in 4: 2: 0 format, that is, the configuration diagram of a 4: 2: 0 format.
【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係数を持つことを示すフラグと判断さ
れる。On the other hand, when the chroma type (croma_type) is “1”
In the case of "0" or "11", that is, in the case of 4: 2: 2 format or 4: 4: 4 format, a 2-bit value is read from the flag (cbpc) according to the syntax. Where the semantics of this flag are 4:
This is different from the case of the 2: 0 format. At this time, the first one
When the bits are in 4: 2: 2 format, FIG.
As a flag indicating whether one or both of the color difference Cb blocks 4 and 6 have a DCT coefficient, and in the case of the 4: 4: 4 format, the color difference Cb blocks 4 and 6 in FIG. It is determined that the flag indicates that one or more of the blocks 6, 8, and 10 have DCT coefficients.
【0258】残り1ビットは、同様に4:2:2フォー
マットの場合、図3の(b)の色差Crのブロック5,
7がDCT係数を持つか否かを表すフラグとして、ま
た、4:4:4フォーマットの場合、図3の(c)の色
差Cbのブロック5,7,9,11がDCT係数と持つ
か否かを示すフラグとして判断される。Similarly, in the case of the 4: 2: 2 format, the remaining 1 bit is used for the color difference Cr blocks 5 and 5 shown in FIG.
7 as a flag indicating whether or not the block has a DCT coefficient. In the case of the 4: 4: 4 format, whether or not the blocks 5, 7, 9, and 11 of the color difference Cb in FIG. It is determined as a flag indicating
【0259】フラグ(cbpc)が「00」を示す場合、
4:2:2フォーマット、4:4:4フォーマットどち
らの場合においてもどの色差ブロックもDCT係数を持
たないものと判断される。When the flag (cbpc) indicates “00”,
In both the 4: 2: 2 format and the 4: 4: 4 format, it is determined that no chrominance block has a DCT coefficient.
【0260】ここでフラグ(cbpc)が「10」の場合も
しくは「11」の場合、色差Cbのブロックにおいて、
DCT係数を持つブロックが存在すると判断される。こ
のとき色差Cbのブロックの符号化状態を示すフラグ
(cbpcb)が読み込まれる。Here, when the flag (cbpc) is “10” or “11”, in the block of the color difference Cb,
It is determined that a block having DCT coefficients exists. At this time, a flag (cbpcb) indicating the encoding state of the block of the color difference Cb is read.
【0261】4:2:2フォーマットの場合、フラグ
(cbpcb)は1ビットもしくは2ビットであり、4:
4:4フォーマットの場合、フラグ(cbpcb)は1から
4ビットとなる。In the case of the 4: 2: 2 format, the flag (cbpcb) is 1 bit or 2 bits, and
In the case of the 4: 4 format, the flag (cbpcb) has 1 to 4 bits.
【0262】フラグ(cbpcb)のビット数は、そのオブ
ジェクトの内側のブロック数により判断される。例え
ば、4:2:2フォーマットの場合、図3の(b)のブ
ロック4,5のうち、どちらか1つのブロックのみがオ
ブジェクトの内側であったとき、このマクロブロックで
のフラグ(cbpcb)のビット数は1ビットとなり、ブロ
ック4,5の二つのブロックともオブジェクトの内側で
あるとき、2ビットのフラグが出力される。The bit number of the flag (cbpcb) is determined by the number of blocks inside the object. For example, in the case of the 4: 2: 2 format, when only one of the blocks 4 and 5 in FIG. 3B is inside the object, the flag (cbpcb) of this macroblock is The number of bits is 1 bit. When both blocks 4 and 5 are inside the object, a 2-bit flag is output.
【0263】同様に、4:4:4フォーマットの場合に
は、図3の(c)の何れか1つのマクロブロックのみが
オブジェクトの内側であると、フラグ(cbpcb)が1ビ
ット、2個オブジェクト内のブロックが存在する場合に
は2ビット、3個の場合は3ビット、すべてのマクロブ
ロックがオブジェクトの内側である場合には4ビットが
出力される。Similarly, in the case of the 4: 4: 4 format, if only one of the macroblocks shown in FIG. 3C is inside the object, the flag (cbpcb) is set to one bit and two objects are set. 2 bits are output when there is a block in 3 bits, 3 bits when 3 blocks are present, and 4 bits when all macroblocks are inside the object.
【0264】これらフラグ(cbpcb)の各ビットは色差
Cbの各ブロックに対し、DCT係数を伝送するマクロ
ブロックか否かを出力することを示すフラグとなる。ま
たこの時、オブジェクトの外側のブロックに対しては、
輝度の場合と同様に符号化されるテクスチャのデータが
存在しないため、符号化データは何も出力されず、また
当然、フラグ(cbpcb)のビットにもその状態を表すフ
ラグは存在しない。Each bit of these flags (cbpcb) is a flag indicating whether or not to output, for each block of the color difference Cb, a macro block transmitting a DCT coefficient. At this time, for the block outside the object,
As in the case of the luminance, there is no texture data to be coded, so that no coded data is output, and of course, there is no flag indicating the state of the bit of the flag (cbpcb).
【0265】このようにフラグ(cbpcb)は、オブジェ
クト内のブロックに対して、図3に示す順序にて各1ビ
ットづつ割り当てられて、またそのフラグが1の場合、
該当ブロック内にDCT係数が存在し、0の場合には存
在しないことを示す。As described above, the flag (cbpcb) is assigned to each block in the object one bit at a time in the order shown in FIG. 3, and when the flag is 1,
A DCT coefficient exists in the corresponding block, and 0 indicates that it does not exist.
【0266】図35及び図36には上記フラグの定義の
手順を示す。なお、このフローチャートでは、図37に
示すような色差のブロック番号を使用している。FIGS. 35 and 36 show the procedure for defining the flag. In this flowchart, block numbers of color differences as shown in FIG. 37 are used.
【0267】ステップS1ではフラグ(cbpc)の読み込
みを開始し、ステップS2ではクロマタイプ(croma_ty
pe)が「01」か否かの判断を行う。In step S1, reading of the flag (cbpc) is started, and in step S2, the chroma type (croma_ty) is read.
pe) is "01" or not.
【0268】当該ステップS2にてクロマタイプ(crom
a_type)が「01」であると判断されたとき、すなわち
クロマタイプ(croma_type)が4:2:0フォーマット
を示す場合には、ステップS3にてフラグ(cbpc)は従
来同様に定義する。つまり、4:2:0フォーマットの
マクロブロックの構成図を表す前記図3の(a)におい
て、ブロック4,5の状態を表すフラグであると判断す
る。At step S2, the chroma type (crom
When it is determined that “a_type” is “01”, that is, when the chroma type (croma_type) indicates the 4: 2: 0 format, the flag (cbpc) is defined in the same manner as in the related art in step S3. That is, it is determined that the flag is a flag indicating the state of blocks 4 and 5 in FIG.
【0269】一方、ステップS2において、クロマタイ
プ(croma_type)が「01」でないと判断したとき、す
なわちクロマタイプ(croma_type)が「10」もしくは
「11」であると判断(4:2:2フォーマットもしく
は4:4:4フォーマットであると判断)した場合は、
ステップS4に進む。On the other hand, in step S2, when it is determined that the chroma type (croma_type) is not “01”, that is, it is determined that the chroma type (croma_type) is “10” or “11” (4: 2: 2 format or 4: 4: 4 format)
Proceed to step S4.
【0270】ステップS4では、フラグ(cbpc)が「0
1」又は「11」か否かを判断する。このステップS4
において、フラグ(cbpc)が「01」又は「11」であ
ると判断した場合はステップS5に進み、そうでないと
判断した場合はステップS6に進む。In step S4, the flag (cbpc) is set to "0".
It is determined whether it is "1" or "11". This step S4
In step, when it is determined that the flag (cbpc) is “01” or “11”, the process proceeds to step S5, otherwise, the process proceeds to step S6.
【0271】ステップS6では、フラグ(cbpc)が「1
0」又は「11」か否かを判断する。このステップS6
において、フラグ(cbpc)が「10」又は「11」であ
ると判断した場合はステップS7に進み、そうでないと
判断した場合はステップS8に進んで処理を終了する。In step S6, the flag (cbpc) is set to "1".
It is determined whether it is "0" or "11". This step S6
In step, if it is determined that the flag (cbpc) is “10” or “11”, the process proceeds to step S7, and if not, the process proceeds to step S8 to end the process.
【0272】ステップS5とステップS7では、クロマ
タイプ(croma_type)が「10」か否かの判断を行い、
何れの場合も図36のステップS9に進む。In steps S5 and S7, it is determined whether or not the chroma type (croma_type) is “10”.
In any case, the process proceeds to step S9 in FIG.
【0273】図36のステップS9では、オブジェクト
内のブロックの個数をカウントし、次のステップS10
では、オブジェクト内のブロックの個数分のビットを読
み込んでバッファに格納する。In step S9 of FIG. 36, the number of blocks in the object is counted, and the next step S10
Then, the bits of the number of blocks in the object are read and stored in the buffer.
【0274】次のステップS11では、図37に示した
ブロックc1がオブジェクト内であるか否かを判断す
る。このステップS11において、ブロックc1がオブ
ジェクト内であると判断した場合はステップS12に進
み、そうでないと判断した場合はステップS13に進
む。In the next step S11, it is determined whether or not the block c1 shown in FIG. 37 is within the object. In this step S11, when it is determined that the block c1 is inside the object, the process proceeds to step S12, and when it is determined that it is not, the process proceeds to step S13.
【0275】ステップS12では、バッファより1ビッ
トを取り出し、ブロックc1の符号化パターンの判断に
使用する。In step S12, one bit is taken out from the buffer and used to determine the coding pattern of block c1.
【0276】ステップS13では、図37に示したブロ
ックc2がオブジェクト内であるか否かを判断する。こ
のステップS13において、ブロックc2がオブジェク
ト内であると判断した場合はステップS14に進み、そ
うでないと判断した場合はステップS15に進む。In the step S13, it is determined whether or not the block c2 shown in FIG. 37 is inside the object. In this step S13, when it is determined that the block c2 is inside the object, the process proceeds to step S14, and when it is determined that it is not, the process proceeds to step S15.
【0277】ステップS14では、バッファより1ビッ
トを取り出し、ブロックc2の符号化パターンの判断に
使用する。In step S14, one bit is extracted from the buffer and used for determining the coding pattern of the block c2.
【0278】ステップS15では、4:2:2フォーマ
ットであるか否かの判断を行う。このステップS15に
おいて、4:2:2フォーマットであると判断した場合
はステップS16に進み、そうでないと判断した場合は
ステップS17に進む。In step S15, it is determined whether the format is 4: 2: 2. In this step S15, if it is determined that the format is 4: 2: 2, the process proceeds to step S16, and if not, the process proceeds to step S17.
【0279】ステップS16では、図35の処理に戻
る。In step S16, the process returns to the process of FIG.
【0280】ステップS17では、図37に示したブロ
ックc3がオブジェクト内であるか否かを判断する。こ
のステップS17において、ブロックc3がオブジェク
ト内であると判断した場合はステップS18に進み、そ
うでないと判断した場合はステップS19に進む。In the step S17, it is determined whether or not the block c3 shown in FIG. 37 is within the object. In this step S17, when it is determined that the block c3 is within the object, the process proceeds to step S18, and when it is determined that it is not, the process proceeds to step S19.
【0281】ステップS18では、バッファより1ビッ
トを取り出し、ブロックc3の符号化パターンの判断に
使用する。At step S18, one bit is taken out from the buffer and used for judging the coding pattern of the block c3.
【0282】ステップS19では、図37に示したブロ
ックc4がオブジェクト内であるか否かを判断する。こ
のステップS19において、ブロックc4がオブジェク
ト内であると判断した場合はステップS20に進み、そ
うでないと判断した場合はステップS21に進む。In the step S19, it is determined whether or not the block c4 shown in FIG. 37 is inside the object. In this step S19, when it is determined that the block c4 is inside the object, the process proceeds to step S20, and when it is determined that it is not, the process proceeds to step S21.
【0283】ステップS20では、バッファより1ビッ
トを取り出し、ブロックc4の符号化パターンの判断に
使用する。In step S20, one bit is extracted from the buffer and used to determine the coding pattern of block c4.
【0284】ステップS21では、図35の処理に戻
る。In step S21, the process returns to the process of FIG.
【0285】次に、図38には、フラグ(cbpcb)のビ
ット割り当ての例を示す。Next, FIG. 38 shows an example of bit assignment of the flag (cbpcb).
【0286】図38の(a)は、4:2:2フォーマッ
トの場合のオブジェクト内のブロックの数及びその発生
ビット数を示し、図38の(b)は、4:4:4フォー
マットでの発生ビット量及びその割り当てビット順の例
を示す。FIG. 38A shows the number of blocks in an object and the number of generated bits in the 4: 2: 2 format, and FIG. 38B shows the number of blocks in the 4: 4: 4 format. An example of the amount of generated bits and the order of allocated bits is shown.
【0287】同様に4:2:2フォーマット、4:4:
4フォーマットにおいて、フラグ(cbpc)が「01」、
「11」の場合、色差CrのブロックにDCT係数を持
つブロックが存在するものと判断され、4:2:2フォ
ーマットの場合は2ビット、4:4:4フォーマットの
場合は4ビットの色差Crのブロックの符号化状態を表
すフラグ(cbpcr)が読み込まれる。Similarly, 4: 2: 2 format, 4: 4:
In the four formats, the flag (cbpc) is "01",
In the case of "11", it is determined that there is a block having a DCT coefficient in the block of the color difference Cr, and the color difference Cr of 2 bits is used in the 4: 2: 2 format and the bit is 4 bits in the case of the 4: 4: 4 format. The flag (cbpcr) indicating the encoding state of the block is read.
【0288】これらのフラグは、フラグ(cbpcb)の場
合と同様の方法により符号化/復号化される。これらの
符号化法は前述したフラグ(cbpcb)の場合と同様にそ
のオブジェクト内のブロック数に応じて変化し、それぞ
れのビットは該当ブロックのDCT係数の状態を示す。These flags are encoded / decoded in the same manner as in the case of the flag (cbpcb). These encoding methods change according to the number of blocks in the object, as in the case of the flag (cbpcb) described above, and each bit indicates the state of the DCT coefficient of the corresponding block.
【0289】このようにして、各色差ブロックに対して
DCT係数の有無が判別される。この結果は、後のDC
T係数の出力/入力過程において使用される。In this way, the presence or absence of a DCT coefficient is determined for each color difference block. This result is later DC
Used in the output / input process of the T coefficient.
【0290】また、マクロブロック内のブロックカウン
ト(block_count)は、マクロブロック内でのオブジェ
クト内に位置するブロックの個数、すなわち(オブジェ
クト内の輝度のブロックの個数+オブジェクト内の色差
Cbのブロックの個数+オブジェクト内の色差Crのブ
ロックの個数)となる。Also, the block count (block_count) in the macroblock is the number of blocks located in the object in the macroblock, that is, (the number of luminance blocks in the object + the number of blocks of color difference Cb in the object) + The number of blocks of the color difference Cr in the object).
【0291】ブロックカウント(block_count)の最大
値は、色差フォーマットにより決定されるものとし、図
39に示すように定められる。The maximum value of the block count (block_count) is determined by the color difference format, and is determined as shown in FIG.
【0292】次に、図示は省略するが、マクロブロック
内の各ブロックの符号化方法を表すシンタックスと、D
CT係数の有無の判別結果の使用方法について説明す
る。Next, although not shown, the syntax representing the encoding method of each block in the macroblock and D
A method of using the result of determining whether there is a CT coefficient will be described.
【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がオブジェク
トの外側のブロックであった場合、その番号は欠番とさ
れ、パターンコードに格納されるビットの総数は、オブ
ジェクト内のブロックの個数と一致する。Here, for the sake of convenience, it is assumed that these determination results are stored in an array pattern code (pattern_code) of the syntax. For example, pattern code [i] (pat
ten_code [i]) indicates the coding state of the i-th block. Pattern code [1] (patten_code [1])
Is the D of the block 1 shown in FIGS.
Indicates the state of the CT coefficient, and indicates the pattern code [5] (patten_co
de [5]) similarly indicates the state of block 5. The length of the pattern code array differs depending on the color difference format. In the case of the 4: 2: 0 format, 0 to 5, 4: 2:
It is assumed that two formats have elements 0 to 7, and 4: 4: 4 format have elements 0 to 11. Each element is 1 if the corresponding block has DCT coefficients,
Otherwise, it takes 0. Whether or not to read the DCT is determined by the value obtained in the first line of the syntax. If i is a block outside the object, the number is omitted, and the total number of bits stored in the pattern code matches the number of blocks in the object.
【0294】次に、B−VOPでの色差信号の符号化パ
ターンの認識方法を説明する。Next, a method of recognizing the coding pattern of the color difference signal in the B-VOP will be described.
【0295】図30及び図31に示したマクロブロック
のシンタックスに戻り、B−VOPにおいての符号化ブ
ロックのパターンの認識方法を説明する。Returning to the macroblock syntax shown in FIGS. 30 and 31, a method of recognizing the pattern of an encoded block in a B-VOP will be described.
【0296】B−VOPでは、そのマクロブロックの符
号化パターンを示すのに、当該マクロブロックのシンタ
ックスにおけるフラグ(cbpb)が使われる。当該フラグ
(cbpb)は、4:2:0フォーマットの時には、MPE
G4のビジュアルコミッティドラフト(Visual Comitee
Draft)と同様の定義である。In a B-VOP, a flag (cbpb) in the syntax of the macroblock is used to indicate the coding pattern of the macroblock. The flag (cbpb) is set to MPE when the format is 4: 2: 0.
G4 Visual Committee Draft (Visual Comitee
Draft).
【0297】以下、クロマタイプ(croma_type)が「1
0」(4:2:0フォーマット)の時のフラグ(cbpb)
の定義、すなわちMPEG4のビジュアルコミッティド
ラフトにおけるフラグ(cbpb)を説明する。[0297] Hereinafter, the chroma type (croma_type) is "1".
Flag at the time of "0" (4: 2: 0 format) (cbpb)
, That is, the flag (cbpb) in the visual committee draft of MPEG4 will be described.
【0298】フラグ(cbpb)は、前述した通り6ビット
のフラグであり、その値はマクロブロック内の各ブロッ
クの符号化状態を示す。この時、フラグ(cbpb)の各ビ
ットは、先頭のビットより順に図3の(a)に示したブ
ロック0,1,2,3,4,5がDCT係数を持ってい
るか否かを示し、そのビットが1のとき対応するブロッ
クにおいてDCT係数が存在すると判断され、0のとき
存在しないと判断される。ここで読み込まれたフラグ
(cbpb)は、後段においてDCT係数の入出力に使用さ
れる。また、I−VOP、P−VOPの場合と同様、こ
のビット数は、あるマクロブロックに存在するオブジェ
クト内のブロックの個数と一致するものとする。すなわ
ちオブジェクト内のブロックが3個であった場合、この
ビットは3ビットとなり、順にオブジェクト内のブロッ
クの符号化状態を示すフラグとして利用される。The flag (cbpb) is a 6-bit flag as described above, and its value indicates the encoding state of each block in the macroblock. At this time, each bit of the flag (cbpb) indicates whether or not blocks 0, 1, 2, 3, 4, and 5 shown in FIG. When the bit is 1, it is determined that the DCT coefficient exists in the corresponding block, and when it is 0, it is determined that the DCT coefficient does not exist. The flag (cbpb) read here is used for input / output of the DCT coefficient in the subsequent stage. Also, as in the case of the I-VOP and the P-VOP, the number of bits is assumed to be equal to the number of blocks in an object existing in a certain macroblock. That is, if the number of blocks in the object is three, this bit becomes three bits, which are sequentially used as flags indicating the encoding state of the blocks in the object.
【0299】これらの判断結果の使用方法は、B−VO
Pの場合においても、I−VOP、P−VOPと同様で
ある。The method of using these judgment results is described in B-VO.
The case of P is the same as that of I-VOP and P-VOP.
【0300】また、フラグ(cbpb)の下位2ビットは、
前述したフラグ(cbpc)と全く同様に色差ブロックの符
号化状態を示す。そのため、4:2:2フォーマットお
よび4:4:4フォーマットにおける色差ブロックの符
号化パターンの判別は、この下位2ビットおよびクロマ
タイプ(croma_type)を用い、I−VOP、P−VOP
の時と同様の手段を用いて行われる。これらの下位2ビ
ットが1を示した場合に読み込まれるビット数も符号化
を行っている画像の色差フォーマット、及びオブジェク
ト内のブロックの個数により変化する。The lower two bits of the flag (cbpb) are
Just like the flag (cbpc) described above, it indicates the encoding state of the chrominance block. For this reason, the coding pattern of the chrominance block in the 4: 2: 2 format and the 4: 4: 4 format is determined using the lower two bits and the chroma type (croma_type) using I-VOP and P-VOP.
This is performed using the same means as in the case of. The number of bits read when these lower 2 bits indicate 1 also changes depending on the color difference format of the image being encoded and the number of blocks in the object.
【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符号化される。As described above, by using the color difference format and the means for judging the color difference coding pattern, the 4: 2: 0 format and the 4: 2:
Encoding / decoding of each color difference format of 2 format, 4: 4: 4 format is enabled, and then MB binary shape coding (mb_binary_shape_codin) is performed.
g) syntax, motion vector (motion_vect
or) and the syntax of the block (block) are not shown, but in the block (block),
The difference value of the C coefficient and its value are encoded. In addition, Subsequent DCTcoe
fficients) indicate the other AC coefficients, which are also VL
It is C-coded.
【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)から構成される。The motion shape texture (motion_s
Returning to the syntax of “hape_texture”, the data partitioning (data_partitioning) flag is 1
In addition, when texture information is transmitted, a data partitioning motion shape texture (data_partitioning_motion_shape_texture) (not shown) is encoded. This data partitioning motion shape texture (data_partitioning_motion_shape_textu
re) is roughly composed of two parts, a data partitioning I-VOP (data_partitioning_I_VOP) and a data partitioning P-VOP (data_partitioning_P_) in the syntax of a block.
VOP).
【0303】これらデータパティショニングI−VOP
(data_partitioning_I_VOP)及びデータパティショニ
ングP−VOP(data_partitioning_P_VOP)とも、V
OPの性質を示すフラグ群及び各ブロックのDCT係数
を符号化する。DCT係数の符号化方法は、前述したD
CT係数の符号化方法と同様の方法で行う。These data partitioning I-VOPs
(Data_partitioning_I_VOP) and data partitioning P-VOP (data_partitioning_P_VOP)
A flag group indicating the nature of the OP and a DCT coefficient of each block are encoded. The encoding method of the DCT coefficient is the same as that of the D
This is performed in the same manner as the method of coding the CT coefficients.
【0304】以上説明した本発明実施の形態のエンコー
ダおよびデコーダは、それ専用のハードウェアによって
実現することもできるし、例えばコンピュータに上述し
たような処理を行わせるためのプログラムを実行させる
ことによっても実現することができる。[0304] The encoder and decoder according to the embodiment of the present invention described above can be realized by dedicated hardware, or, for example, by causing a computer to execute a program for performing the above-described processing. Can be realized.
【0305】次に、本発明の第2の実施の形態について
説明する。Next, a second embodiment of the present invention will be described.
【0306】この第2の実施の形態では、前述した実施
の形態(第1の実施の形態)においてB−VOPにおけ
る色差ブロックの符号化パターンを、フラグ(cbpb)の
ビット長をクロマタイプ(chroma_type)により変化さ
せて求めるように変更したものである。すなわち、第2
の実施の形態においては、マクロブロックの符号化を行
うそのシンタックス及び、符号化/復号化方法のみが第
1の実施の形態と異なる。In the second embodiment, the coding pattern of the chrominance block in the B-VOP in the above-described embodiment (the first embodiment) is determined by changing the bit length of the flag (cbpb) to the chroma type (chroma_type). ). That is, the second
The second embodiment differs from the first embodiment only in the syntax for encoding a macroblock and the encoding / decoding method.
【0307】それ以外の符号化/復号化方法、シンタッ
クス等は第1の実施の形態と同様である。The other encoding / decoding methods, syntax, and the like are the same as in the first embodiment.
【0308】第1の実施の形態においてフラグ(cbpb)
は常に6ビットのフラグであり、その下位2ビットが常
に色差ブロックの状態を示していたが、これを第2の実
施の形態では4:2:2フォーマットの場合には最大8
ビットのフラブ、4:4:4フォーマットの場合には最
大12ビットのフラグとする。In the first embodiment, the flag (cbpb)
Is always a 6-bit flag, the lower 2 bits of which always indicate the state of the chrominance block. In the second embodiment, this is changed to a maximum of 8 in the case of the 4: 2: 2 format.
In the case of a bit flab, 4: 4: 4 format, the flag is a maximum of 12 bits.
【0309】この第2の実施の形態におけるマクロブロ
ックの符号化方法を示すシンタックスの一部(前半部
分)を図40及び図41に示す。FIGS. 40 and 41 show a part (first half) of the syntax showing the macroblock encoding method according to the second embodiment.
【0310】4:2:2フォーマットの場合、この8ビ
ットのフラグは、先頭から図3の(b)に示したブロッ
ク0,1,2,3,4,5,6,7のDCT係数の有無
を表すものとする。In the case of the 4: 2: 2 format, the 8-bit flag indicates the DCT coefficients of the blocks 0, 1, 2, 3, 4, 5, 6, and 7 shown in FIG. It shall indicate presence or absence.
【0311】同様に4:4:4フォーマットの場合、1
2ビットのフラグの先頭のビットより図3の(c)に示
したブロック0,1,2,3,4,5,6,7,8,
9,10,11に対応しているものとし、そのDCT係
数の有無を表すものとする。Similarly, in the case of the 4: 4: 4 format, 1
Blocks 0, 1, 2, 3, 4, 5, 6, 7, 8, and 8 shown in FIG.
9, 10, and 11, and indicates the presence or absence of the DCT coefficient.
【0312】4:2:2フォーマット、4:4:4フォ
ーマットとも、対応するブロックがオブジェクトの外側
に位置する時、そのブロックに対応するフラグは存在せ
ず、その場合、フラグ(cbpb)のビット長はそのマクロ
ブロックにおいて、オブジェクト内に存在するブロック
の個数と等しくなる。In the 4: 2: 2 format and the 4: 4: 4 format, when the corresponding block is located outside the object, the flag corresponding to the block does not exist. In that case, the bit of the flag (cbpb) is used. The length is equal to the number of blocks existing in the object in the macro block.
【0313】このようにして、色差フォーマットを用い
ること、および色差の符号化パターンを判断する手段を
用いることにより、4:2:0フォーマット、4:2:
2フォーマット、4:4:4フォーマットの色差フォー
マットの符号化/復号化が可能となる、この第2の実施
の形態においてもエンコーダおよびデコーダは、それ専
用のハードウェアによって実現することもできるし、コ
ンピュータに、上述したような処理を行わせるためのプ
ログラムを実行させることによっても実現することがで
きる。As described above, by using the chrominance format and using the means for judging the chrominance encoding pattern, the 4: 2: 0 format and the 4: 2:
In the second embodiment, encoding / decoding of a chrominance format of two formats and 4: 4: 4 format is possible. Also in the second embodiment, the encoder and the decoder can be realized by dedicated hardware. This can also be realized by causing a computer to execute a program for performing the above-described processing.
【0314】なお、本発明の提供媒体は、上述した符号
化データを提供する場合のみならず、本発明実施の形態
のエンコーダやデコーダの動作を行わせるためのプログ
ラムを提供するものとすることも可能である。[0314] It should be noted that the providing medium of the present invention not only provides the above-described encoded data, but also provides a program for causing the operation of the encoder or decoder according to the embodiment of the present invention. It is possible.
【0315】以上説明したように、本発明の各実施の形
態においては、画像の色差フォーマットを示すフラグを
用いること、また色差のブロックの符号化パターンを上
記した手段を用いて示すことにより、4:2:0フォー
マット以外の色差フォーマットの符号化/復号化が可能
となる。As described above, in each embodiment of the present invention, the flag indicating the chrominance format of the image is used, and the coding pattern of the chrominance block is indicated by using the above-described means. : Encoding / decoding of a color difference format other than the 2: 0 format becomes possible.
【0316】[0316]
【発明の効果】本発明によれば、画像の輝度成分と色差
成分とをそれぞれブロック化して各ブロック毎の動きベ
クトルを生成する際に、上記輝度成分のブロックに対し
て得られた動きベクトルに基づいて、対応する色差成分
のブロックの動きベクトルを生成することにより、4:
2:0フォーマット以外の色差フォーマットにも好適な
動きベクトル生成方法、画像符号化装置、動き補償方
法、及び動き補償装置を提供することができる。According to the present invention, when the luminance component and the color difference component of an image are divided into blocks to generate a motion vector for each block, the motion vector obtained for the block of the luminance component is used. By generating a motion vector of the block of the corresponding chrominance component based on:
It is possible to provide a motion vector generating method, an image encoding device, a motion compensation method, and a motion compensation device that are suitable for a color difference format other than the 2: 0 format.
【0317】また、上記色差成分として、複数種類の色
差フォーマットのいずれかが選択された色差成分を用
い、この色差フォーマットの種類に応じて、上記輝度成
分のブロックに対して得られた動きベクトルに基づく色
差成分のブロックの動きベクトルの計算を行うことによ
り、4:2:2フォーマット、4:4:4フォーマット
のような色差成分の解像度が高いフォーマットの画像信
号についての動きベクトル検出や動き補償が有効に行
え、色差成分の高い解像度を活かした符号化/復号化が
可能となる。As the color difference component, a color difference component in which one of a plurality of types of color difference formats is selected is used. Depending on the type of the color difference format, a motion vector obtained for the block of the luminance component is used. By calculating the motion vector of the block of the chrominance component based on the chrominance component, the motion vector detection and the motion compensation for the image signal of the format having the high resolution of the chrominance component such as the 4: 2: 2 format and the 4: 4: 4 format can be performed. The encoding / decoding can be performed effectively and utilizing the high resolution of the color difference components.
【図1】本発明実施の形態のエンコーダの概略構成を示
すブロック回路図である。FIG. 1 is a block circuit diagram illustrating a schematic configuration of an encoder according to an embodiment of the present invention.
【図2】ビデオオブジェクトシーケンスからブロックま
での構成説明に用いる図である。FIG. 2 is a diagram used to describe a configuration from a video object sequence to blocks.
【図3】色差フォーマットにおけるマクロブロック内の
ブロック配置の説明に用いる図である。FIG. 3 is a diagram used to describe a block arrangement in a macroblock in a chrominance format.
【図4】背景画像とオブジェクト画像との関係説明に用
いる図である。FIG. 4 is a diagram used to explain the relationship between a background image and an object image.
【図5】図1のエンコーダのVOP符号化部の詳細な構
成例を示すブロック回路図である。FIG. 5 is a block circuit diagram illustrating a detailed configuration example of a VOP encoding unit of the encoder in FIG. 1;
【図6】輝度の形状情報から色差の形状情報を作成する
作成方法の説明に用いる図である。FIG. 6 is a diagram used to describe a creation method for creating color difference shape information from luminance shape information.
【図7】図5のパディング処理器の詳細な構成例を示す
ブロック回路図である。FIG. 7 is a block circuit diagram showing a detailed configuration example of a padding processor of FIG. 5;
【図8】水平方向のパディング処理の手順を表す図であ
る。FIG. 8 is a diagram illustrating a procedure of horizontal padding processing.
【図9】垂直方向のパディング処理の手順を表す図であ
る。FIG. 9 is a diagram illustrating a procedure of vertical padding processing.
【図10】拡張パディング処理されるマクロブロックの
説明に用いる図である。FIG. 10 is a diagram used to describe a macroblock subjected to extended padding processing.
【図11】拡張パディング処理の説明に用いる図であ
る。FIG. 11 is a diagram used for describing extended padding processing.
【図12】パディングされるマクロブロックが複数のオ
ブジェクトの境界を持つマクロブロックに囲まれている
場合に、参照するマクロブロックの順番を示す図であ
る。FIG. 12 is a diagram showing the order of macroblocks to be referred to when a padded macroblock is surrounded by a macroblock having a plurality of object boundaries.
【図13】マクロブロックに対する動き補償動作を説明
するためのフローチャートである。FIG. 13 is a flowchart illustrating a motion compensation operation for a macroblock.
【図14】4:2:0フォーマットの場合の色差ブロッ
クの動きベクトルを説明するための図である。FIG. 14 is a diagram illustrating a motion vector of a chrominance block in a 4: 2: 0 format.
【図15】4:2:2フォーマットの場合の色差ブロッ
クの動きベクトルを説明するための図である。FIG. 15 is a diagram for explaining a motion vector of a chrominance block in a 4: 2: 2 format.
【図16】4:4:4フォーマットの場合の色差ブロッ
クの動きベクトルを説明するための図である。FIG. 16 is a diagram for explaining a motion vector of a chrominance block in a 4: 4: 4 format.
【図17】色差ブロックの解像度変換のためのテーブル
を示す図である。FIG. 17 is a diagram showing a table for resolution conversion of a color difference block.
【図18】オーバーラップ動き補償の動作を説明するた
めの図である。FIG. 18 is a diagram illustrating an operation of overlap motion compensation.
【図19】オーバーラップ動き補償に用いられる重みテ
ーブルを示す図である。FIG. 19 is a diagram illustrating a weight table used for overlap motion compensation.
【図20】オーバーラップ動き補償に用いられる重みテ
ーブルを示す図である。FIG. 20 is a diagram illustrating a weight table used for overlap motion compensation.
【図21】図5のDCT係数差分化器の詳細な構成例を
示すブロック回路図である。21 is a block circuit diagram showing a detailed configuration example of the DCT coefficient differentiator in FIG. 5;
【図22】図21のDCT成分予測値選択器の動作説明
に用いる図である。FIG. 22 is a diagram used to explain the operation of the DCT component predicted value selector in FIG. 21;
【図23】予測に用いられるDCT係数(AC係数及び
各DC係数)の説明に用いる図である。FIG. 23 is a diagram used to explain DCT coefficients (AC coefficients and DC coefficients) used for prediction.
【図24】各色差フォーマットにおいてAC/DC予測
に用いるブロックの説明を行うための図である。FIG. 24 is a diagram for describing blocks used for AC / DC prediction in each color difference format.
【図25】色差ブロックにおいてオブジェクト内のブロ
ックかどうか判別する方法についての説明に用いる図で
ある。FIG. 25 is a diagram used to describe a method of determining whether a color difference block is a block in an object.
【図26】図1のエンコーダから出力されるビットスト
リームを復号する本実施の形態のデコーダの構成例を示
すブロック回路図である。26 is a block circuit diagram illustrating a configuration example of a decoder according to the present embodiment that decodes a bit stream output from the encoder in FIG.
【図27】図26のVOP復号部の詳細な構成例を示す
ブロック回路図である。FIG. 27 is a block circuit diagram illustrating a detailed configuration example of a VOP decoding unit in FIG. 26;
【図28】VOL(video Object Layer)のシンタックス
において、ビデオオブジェクトレイヤスタートコード
(video_object_layer_start_code)に続く部分から構
成されるシンタックスの前半部分を示す図である。FIG. 28 is a diagram illustrating, in the syntax of a VOL (video Object Layer), the first half of the syntax composed of a portion following a video object layer start code (video_object_layer_start_code).
【図29】クロマフォーマット(chroma_format)の定
義説明に用いる図である。FIG. 29 is a diagram used to describe the definition of a chroma format (chroma_format).
【図30】マクロブロックのシンタックスの一部を示す
図である。FIG. 30 is a diagram illustrating a part of the syntax of a macroblock.
【図31】図30のシンタックスの続きを示す図であ
る。FIG. 31 is a diagram illustrating a continuation of the syntax of FIG. 30;
【図32】I−VOPのフラグ(mcbpc)のVLCテー
ブルを示す図である。FIG. 32 is a diagram illustrating a VLC table of an I-VOP flag (mcbpc).
【図33】P−VOPのフラグ(mcbpc)のVLCテー
ブルを示す図である。FIG. 33 is a diagram illustrating a VLC table of a P-VOP flag (mcbpc).
【図34】マクロブロックタイプ(MBtype)の定義説明
に用いる図である。FIG. 34 is a diagram used to explain the definition of a macroblock type (MBtype).
【図35】フラグ(cbpcb)の定義の手順のうち前半部
の手順を示すフローチャートである。FIG. 35 is a flowchart showing the first half of the procedure for defining a flag (cbpcb).
【図36】フラグ(cbpcb)の定義の手順のうち後半部
の手順を示すフローチャートである。FIG. 36 is a flowchart showing the latter half of the procedure for defining a flag (cbpcb).
【図37】図35及び図36中で使用するブロックの説
明に用いる図である。FIG. 37 is a diagram used for describing blocks used in FIGS. 35 and 36.
【図38】フラグ(cbpcb)のビット割り当ての例の説
明に用いる図である。FIG. 38 is a diagram used to describe an example of bit assignment of a flag (cbpcb).
【図39】ブロックカウント(block_count)の最大値
の説明に用いる図である。FIG. 39 is a diagram used to describe the maximum value of a block count (block_count).
【図40】第2の実施の形態におけるマクロブロックの
符号化方法を示すシンタックスの一部を示す図である。[Fig. 40] Fig. 40 is a diagram illustrating a part of syntax indicating a macroblock encoding method according to the second embodiment.
【図41】図40のシンタックスの続きを示す図であ
る。FIG. 41 is a diagram illustrating a continuation of the syntax of FIG. 40;
【図42】一般的なMPEGエンコーダの概略構成を示
すブロック回路図である。FIG. 42 is a block circuit diagram showing a schematic configuration of a general MPEG encoder.
【図43】一般的なMPEGデコーダの概略構成を示す
ブロック回路図である。FIG. 43 is a block circuit diagram showing a schematic configuration of a general MPEG decoder.
【図44】4:2:0フォーマットの説明に用いる図で
ある。FIG. 44 is a diagram used to explain the 4: 2: 0 format.
【図45】4:2:2フォーマットの説明に用いる図で
ある。FIG. 45 is a diagram used to explain the 4: 2: 2 format.
【図46】4:4:4フォーマットの説明に用いる図で
ある。FIG. 46 is a diagram used to explain the 4: 4: 4 format.
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 データテーブル1 VO configuration unit, 2 VOP configuration unit, 3 VOP encoding unit, 4 multiplexing unit, 5 transmission line, 6 recording medium, 31, 41 frame memory, 32 motion vector detector, 33, 40 arithmetic unit, 34 DCT unit ,
35 quantizer, 36 VLC device, 37 buffer, 38 inverse quantizer, 39 IDCT device, 42
Motion compensator, 44 DCT coefficient differencer, 50
Shape information encoder, 51 padding processor, 52
Shape information decoder, 53 color difference shape information generator,
61 horizontal padding processor, 62 vertical padding processor, 63 extended padding unit, 71
Demultiplexer, 72 VOP decoding unit, 73 image reconstruction unit, 74 monitor, 101 buffer, 102
IVLC unit, 103 demultiplexer, 104 IDC
T unit, 105 arithmetic unit, 106 frame memory,
107 motion compensator, 108 padding processor,
109 color difference shape information generator, 110 shape information decoder, 111 DCT coefficient inverse difference generator, 400 intra flag generator, 401 switch, 402 DC
T coefficient predictor, 403 DCT coefficient predicted value selector,
404 DCT coefficient prediction mode accumulation memory, 405
Inverse quantizer, direction display device, 2 CPU, 3 RA
M, 4 ROM, 5 bus, 6 A / D converter, 7 output port, 8 geomagnetic sensor, 9 L
ED display, 10 geomagnetic sensor input program,
11 azimuth determination program, 12 display program,
13 arithmetic control unit, 14 data table
───────────────────────────────────────────────────── フロントページの続き (72)発明者 名雲 武文 東京都品川区北品川6丁目7番35号 ソニ ー株式会社内 Fターム(参考) 5C057 AA06 BA01 CA01 CE10 EA02 EA07 ED07 ED09 EG06 EG08 EL01 EM04 EM09 EM11 EM13 EM16 GG01 5C059 MA00 MA05 MA23 MA31 MB01 MB11 MB12 MB21 MB27 MC11 MC38 ME01 ME02 NN01 NN28 PP05 PP06 PP07 PP16 SS01 SS07 SS11 TA62 TB07 TB18 TC01 TC02 TC24 TC27 TC42 TD05 UA02 UA05 UA33 5J064 AA02 BA09 BA13 BA15 BA16 BB03 BB11 BC02 BC08 BC14 BC16 BC25 BD03 ────────────────────────────────────────────────── ─── Continued on the front page (72) Inventor Takefumi Nagumo 7-35 Kita Shinagawa, Shinagawa-ku, Tokyo Sony Corporation F-term (reference) 5C057 AA06 BA01 CA01 CE10 EA02 EA07 ED07 ED09 EG06 EG08 EL01 EM04 EM09 EM11 EM13 EM16 GG01 5C059 MA00 MA05 MA23 MA31 MB01 MB11 MB12 MB21 MB27 MC11 MC38 ME01 ME02 NN01 NN28 PP05 PP06 PP07 PP16 SS01 SS07 SS11 TA62 TB07 TB18 TC01 TC02 TC24 TC27 TC42 TD05 UA02 UA05 BA13 BA08 ABA3BA03 BA03 BC08 BC14 BC16 BC25 BD03
Claims (25)
ブロック化して各ブロック毎の動きベクトルを生成する
動きベクトル生成方法において、 上記輝度成分のブロックに対して得られた動きベクトル
に基づいて、対応する色差成分のブロックの動きベクト
ルを生成することを特徴とする動きベクトル生成方法。1. A motion vector generating method for generating a motion vector for each block by dividing a luminance component and a chrominance component of an image into blocks, based on a motion vector obtained for the block of the luminance component. A motion vector generation method, comprising generating a motion vector of a block of a corresponding color difference component.
ォーマットのいずれかが選択された色差成分を用い、こ
の色差フォーマットの種類に応じて、上記輝度成分のブ
ロックに対して得られた動きベクトルに基づく色差成分
のブロックの動きベクトルの計算を行うことを特徴とす
る請求項1記載の動きベクトル生成方法。2. A chrominance component in which one of a plurality of types of chrominance formats is selected as the chrominance component, and a motion vector obtained for a block of the luminance component is determined according to the type of the chrominance format. 2. The method according to claim 1, wherein a motion vector of a color difference component block is calculated based on the motion vector.
4:2:0フォーマット、4:2:2フォーマット、
4:4:4フォーマットであることを特徴とする請求項
2記載の動きベクトル生成方法。3. The plurality of types of color difference formats are as follows:
4: 2: 0 format, 4: 2: 2 format,
3. The method according to claim 2, wherein the format is a 4: 4: 4 format.
ォーマットの種類と、マクロブロックの予測モードとに
応じて切換選択することを特徴とする請求項2記載の動
きベクトル生成方法。4. The motion vector generating method according to claim 2, wherein the calculation of the motion vector is switched and selected according to the type of the color difference format and a prediction mode of a macroblock.
に、画像の形状情報が供給され、この形状情報に応じ
て、上記色差成分のブロックの動きベクトルを計算する
ことを特徴とする請求項2記載の動きベクトル生成方
法。5. The image processing apparatus according to claim 2, wherein shape information of the image is supplied together with the luminance component and the color difference component of the image, and a motion vector of the block of the color difference component is calculated according to the shape information. Motion vector generation method.
符号化を行うための動き補償に用いられるものであるこ
とを特徴とする請求項2記載の動きベクトル生成方法。6. The method according to claim 2, wherein the motion vector is used for motion compensation for performing predictive coding for each block.
ブロック化して各ブロック毎の動きベクトルを求め、動
き補償を伴う予測符号化を行う画像符号化装置におい
て、 上記色差成分として、複数種類の色差フォーマットのい
ずれかが選択された色差成分を用い、 上記輝度成分のブロックの動きベクトルを検出すると共
に、得られた輝度成分の動きベクトルに基づき、上記色
差成分の色差フォーマットの種類に応じて選択された計
算により、対応する色差成分のブロックの動きベクトル
を生成する動きベクトル検出手段と、 この動きベクトル検出手段により得られた動きベクトル
を用いて動き補償を行う動き補償手段と、 この動き補償手段からの出力と入力画像とに基づいて予
測符号化を行う符号化部とを有することを特徴とする画
像符号化装置。7. An image coding apparatus for performing prediction coding with motion compensation by dividing a luminance component and a chrominance component of an image into respective blocks to obtain a motion vector for each block, wherein: Using the chrominance component for which one of the chrominance formats is selected, detecting the motion vector of the block of the luminance component, and selecting the motion vector of the block of the luminance component according to the type of the chrominance format of the chrominance component based on the obtained motion vector of the luminance component A motion vector detecting unit that generates a motion vector of a block of a corresponding color difference component by the calculated calculation; a motion compensating unit that performs motion compensation using the motion vector obtained by the motion vector detecting unit; Having an encoding unit for performing predictive encoding based on an output from an input device and an input image Apparatus.
4:2:0フォーマット、4:2:2フォーマット、
4:4:4フォーマットであることを特徴とする請求項
7記載の画像符号化装置。8. The plurality of types of color difference formats are as follows:
4: 2: 0 format, 4: 2: 2 format,
The image encoding device according to claim 7, wherein the image encoding device has a 4: 4: 4 format.
ォーマットの種類と、マクロブロックの予測モードとに
応じて切換選択することを特徴とする請求項7記載の画
像符号化装置。9. The image coding apparatus according to claim 7, wherein the calculation of the motion vector is switched and selected according to the type of the color difference format and a prediction mode of a macroblock.
に、画像の形状情報が供給され、この形状情報に応じ
て、上記色差成分のブロックの動きベクトルを計算する
ことを特徴とする請求項7記載の画像符号化装置。10. The image processing apparatus according to claim 7, wherein shape information of the image is supplied together with the luminance component and the color difference component of the image, and a motion vector of the block of the color difference component is calculated according to the shape information. Image encoding device.
れブロック化して各ブロック毎に求められた動きベクト
ルに基づいて動き補償を行う動き補償方法において、 上記色差成分のブロックの動きベクトルは、上記輝度成
分のブロックに対して検出された動きベクトルに基づい
て生成されたものであり、 上記色差成分のブロックの動きベクトルに応じて、当該
色差成分のブロックの動き補償を行うことを特徴とする
動き補償方法。11. A motion compensation method for dividing a luminance component and a chrominance component of an image into blocks and performing motion compensation based on a motion vector obtained for each block, wherein the motion vector of the chrominance component block is The motion is generated based on a motion vector detected for a block of a luminance component, and performs motion compensation of the block of the color difference component in accordance with the motion vector of the block of the color difference component. Compensation method.
フォーマットのいずれかが選択された色差成分を用い、
この色差フォーマットの種類に応じて、上記色差成分の
ブロックの動き補償の計算方法が選択されることを特徴
とする請求項11記載の動き補償方法。12. A color difference component in which one of a plurality of types of color difference formats is selected as the color difference component,
12. The motion compensation method according to claim 11, wherein a calculation method of motion compensation of the block of the color difference component is selected according to the type of the color difference format.
4:2:0フォーマット、4:2:2フォーマット、
4:4:4フォーマットであることを特徴とする請求項
12記載の動き補償方法。13. The plurality of types of color difference formats are as follows:
4: 2: 0 format, 4: 2: 2 format,
13. The motion compensation method according to claim 12, wherein the format is 4: 4: 4.
ルは、画像の上記輝度成分及び色差成分と共に供給され
る画像の形状情報に応じて計算されたものであることを
特徴とする請求項12記載の動き補償方法。14. The apparatus according to claim 12, wherein the motion vector of the block of the chrominance component is calculated according to shape information of the image supplied together with the luminance component and the chrominance component of the image. Motion compensation method.
を含むマクロブロック内の各ブロックの動き補償の計算
方法を選択するフラグを有し、 マクロブロック内の色差ブロックについての動き補償の
計算方法を、上記色差フォーマットの種類と、上記フラ
グとから選択することを特徴とする請求項12記載の動
き補償方法。15. A flag for selecting a method of calculating a motion compensation of each block in a macroblock including the block of the luminance component and the chrominance component. 13. The motion compensation method according to claim 12, wherein a selection is made from the type of the color difference format and the flag.
測モードが選択可能であり、上記動き補償の計算方法
を、上記色差フォーマットの種類と、上記マクロブロッ
クの予測モードとに応じて切換選択することを特徴とす
る請求項15記載の動き補償方法。16. A plurality of prediction modes can be selected for the macroblock, and the motion compensation calculation method is switched and selected according to the type of the chrominance format and the prediction mode of the macroblock. The motion compensation method according to claim 15, wherein
とき、色差成分のブロックに対して、上下の隣接ブロッ
クの動きベクトルを用いたオーバーラップ動き補償を施
すことを特徴とする請求項12記載の動き補償方法。17. The method according to claim 12, wherein when the chrominance format is 4: 2: 2, overlap motion compensation is performed on the chrominance component block using motion vectors of upper and lower adjacent blocks. Motion compensation method.
れブロック化して各ブロック毎に求められた動きベクト
ルに基づいて動き補償を行う動き補償装置において、 上記色差成分として、複数種類の色差フォーマットのい
ずれかが選択された色差成分を用い、 上記色差成分のブロックの動きベクトルは、上記輝度成
分のブロックに対して検出された動きベクトルに基づい
て生成されたものであり、 上記色差成分のブロックの動きベクトルに応じて当該色
差成分のブロックの動き補償を行う際に、上記複数種類
の色差フォーマットに応じた動き補償の計算方法を選択
することを特徴とする動き補償装置。18. A motion compensating apparatus which blocks a luminance component and a chrominance component of an image and performs motion compensation based on a motion vector obtained for each block, wherein the chrominance component has a plurality of types of chrominance formats. Either of the chrominance components selected is used, and the motion vector of the chrominance component block is generated based on the motion vector detected for the luminance component block. A motion compensation apparatus, wherein when performing motion compensation of a block of the color difference component according to a motion vector, a motion compensation calculation method corresponding to the plurality of types of color difference formats is selected.
4:2:0フォーマット、4:2:2フォーマット、
4:4:4フォーマットであることを特徴とする請求項
18記載の動き補償装置。19. The plurality of types of color difference formats are as follows:
4: 2: 0 format, 4: 2: 2 format,
19. The motion compensation device according to claim 18, wherein the motion compensation device has a 4: 4: 4 format.
ルは、画像の上記輝度成分及び色差成分と共に供給され
る画像の形状情報に応じて計算されたものであることを
特徴とする請求項18記載の動き補償装置。20. The motion vector according to claim 18, wherein the motion vector of the block of the color difference component is calculated according to shape information of the image supplied together with the luminance component and the color difference component of the image. Motion compensator.
を含むマクロブロック内の各ブロックの動き補償の計算
方法を選択するフラグを有し、 マクロブロック内の色差ブロックについての動き補償の
計算方法を、上記色差フォーマットの種類と、上記フラ
グとから選択することを特徴とする請求項18記載の動
き補償方法。21. A flag for selecting a method of calculating the motion compensation of each block in the macro block including the block of the luminance component and the chrominance component. 19. The motion compensation method according to claim 18, wherein the type is selected from the type of the color difference format and the flag.
測モードが選択可能であり、上記動き補償の計算方法
を、上記色差フォーマットの種類と、上記マクロブロッ
クの予測モードとに応じて切換選択することを特徴とす
る請求項21記載の動き補償方法。22. A plurality of prediction modes can be selected for the macroblock, and the motion compensation calculation method is switched and selected according to the type of the chrominance format and the prediction mode of the macroblock. The motion compensation method according to claim 21, wherein:
とき、色差成分のブロックに対して、上下の隣接ブロッ
クの動きベクトルを用いたオーバーラップ動き補償を施
すことを特徴とする請求項21記載の動き補償装置。23. An apparatus according to claim 21, wherein when the chrominance format is 4: 2: 2, overlap motion compensation is performed on the chrominance component block using motion vectors of upper and lower neighboring blocks. Motion compensator.
れブロック化して各ブロック毎の動きベクトルを求め、
動き補償を伴う予測符号化を行うことにより得られた符
号化データを提供する提供媒体において、 上記符号化データは、 上記色差成分として、複数種類の色差フォーマットのい
ずれかが選択された色差成分を用い、 上記輝度成分のブロックの動きベクトルを検出すると共
に、得られた輝度成分の動きベクトルに基づき、上記色
差成分の色差フォーマットの種類に応じて選択された計
算により、対応する色差成分のブロックの動きベクトル
を生成し、 この動きベクトル検出手段により得られた動きベクトル
を用いて動き補償を行い、 この動き補償手段からの出力と入力画像とに基づいて予
測符号化を行うことにより得られたものであることを特
徴とする符号化データの提供媒体。24. A luminance vector and a color difference component of an image are divided into blocks to obtain a motion vector for each block,
In a providing medium that provides encoded data obtained by performing predictive encoding with motion compensation, the encoded data includes, as the color difference component, a color difference component in which one of a plurality of types of color difference formats is selected. Using, the motion vector of the block of the luminance component is detected, and based on the obtained motion vector of the luminance component, the calculation of the block of the corresponding color difference component is performed by a calculation selected according to the type of the color difference format of the color difference component. A motion vector is generated by performing motion compensation using the motion vector obtained by the motion vector detecting means, generating a motion vector, and performing predictive encoding based on an output from the motion compensating means and an input image. A coded data providing medium, characterized in that:
4:2:0フォーマット、4:2:2フォーマット、
4:4:4フォーマットであることを特徴とする請求項
24記載の提供媒体。25. The plurality of types of color difference formats are as follows:
4: 2: 0 format, 4: 2: 2 format,
The providing medium according to claim 24, wherein the providing medium is in a 4: 4: 4 format.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP19676998A JP3440830B2 (en) | 1998-06-26 | 1998-06-26 | Image encoding apparatus and method, and recording medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP19676998A JP3440830B2 (en) | 1998-06-26 | 1998-06-26 | Image encoding apparatus and method, and recording medium |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000023190A true JP2000023190A (en) | 2000-01-21 |
JP3440830B2 JP3440830B2 (en) | 2003-08-25 |
Family
ID=16363328
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP19676998A Expired - Fee Related JP3440830B2 (en) | 1998-06-26 | 1998-06-26 | Image encoding apparatus and method, and recording medium |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3440830B2 (en) |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001313949A (en) * | 2000-02-24 | 2001-11-09 | Canon Inc | Image processor, image encoder and image decoder |
JP2001313945A (en) * | 2000-02-24 | 2001-11-09 | Canon Inc | Image processor, image encoder and image decoder |
JP2001313939A (en) * | 2000-02-24 | 2001-11-09 | Canon Inc | Image processor, image processing method, memory medium, image encoder and image decoding device |
WO2005009050A1 (en) * | 2003-07-18 | 2005-01-27 | Sony Corporation | Image information encoding device and method, and image information decoding device and method |
WO2005081541A1 (en) * | 2004-02-25 | 2005-09-01 | Sony Corporation | Image information encoding device and image information encoding method |
JP2007516630A (en) * | 2003-06-23 | 2007-06-21 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | Method and decoder for synthesizing scenes |
JP2009027367A (en) * | 2007-07-18 | 2009-02-05 | Fujifilm Corp | Image processor, image processing method and program |
WO2011122659A1 (en) * | 2010-03-30 | 2011-10-06 | シャープ株式会社 | Encoder apparatus and decoder apparatus |
US8165392B2 (en) | 2005-09-20 | 2012-04-24 | Mitsubishi Electric Corporation | Image decoder and image decoding method for decoding color image signal, and image decoding method for performing decoding processing |
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 |
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 |
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 |
KR101365566B1 (en) * | 2007-01-04 | 2014-02-25 | 삼성전자주식회사 | Method and apparatus for encoding and decoding image |
KR101377136B1 (en) | 2013-08-29 | 2014-03-26 | 삼성전자주식회사 | Apparatus for decoding image |
CN103688533A (en) * | 2011-06-20 | 2014-03-26 | 联发科技(新加坡)私人有限公司 | Method and apparatus of chroma intra prediction with reduced line memory |
JP2014143716A (en) * | 2014-03-12 | 2014-08-07 | Sony Corp | Image processor, image processing method, program and recording medium |
JP2016506154A (en) * | 2012-12-17 | 2016-02-25 | エルジー エレクトロニクス インコーポレイティド | Video encoding / decoding method and apparatus using the same |
US9503748B2 (en) | 2009-09-30 | 2016-11-22 | Sony Corporation | Image processing device and method for assigning luma blocks to chroma blocks |
JP2018509032A (en) * | 2015-01-26 | 2018-03-29 | クアルコム,インコーポレイテッド | Overlapping motion compensation for video coding |
-
1998
- 1998-06-26 JP JP19676998A patent/JP3440830B2/en not_active Expired - Fee Related
Cited By (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4557440B2 (en) * | 2000-02-24 | 2010-10-06 | キヤノン株式会社 | Image processing apparatus, image encoding apparatus, and image decoding apparatus |
JP2001313945A (en) * | 2000-02-24 | 2001-11-09 | Canon Inc | Image processor, image encoder and image decoder |
JP2001313939A (en) * | 2000-02-24 | 2001-11-09 | Canon Inc | Image processor, image processing method, memory medium, image encoder and image decoding device |
JP2001313949A (en) * | 2000-02-24 | 2001-11-09 | Canon Inc | Image processor, image encoder and image decoder |
JP4574019B2 (en) * | 2000-02-24 | 2010-11-04 | キヤノン株式会社 | Image processing apparatus, image processing method, memory medium, image encoding apparatus, and image decoding apparatus |
JP4574020B2 (en) * | 2000-02-24 | 2010-11-04 | キヤノン株式会社 | Image processing apparatus, image encoding apparatus, and image decoding apparatus |
JP2007516630A (en) * | 2003-06-23 | 2007-06-21 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | Method and decoder for synthesizing scenes |
KR100994524B1 (en) | 2003-07-18 | 2010-11-15 | 소니 주식회사 | Image information encoding device and method, and image information decoding device and method |
WO2005009050A1 (en) * | 2003-07-18 | 2005-01-27 | Sony Corporation | Image information encoding device and method, and image information decoding device and method |
US7492950B2 (en) | 2003-07-18 | 2009-02-17 | Sony Corporation | Image encoding apparatus and method for handling intra-image predictive encoding with various color spaces and color signal resolutions |
US9843817B2 (en) | 2003-07-18 | 2017-12-12 | Sony Corporation | Image decoding apparatus and method for handling intra-image predictive decoding with various color spaces and color signal resolutions |
US8873873B2 (en) | 2003-07-18 | 2014-10-28 | Sony Corporation | Image decoding apparatus and method for handling intra-image predictive decoding with various color spaces and color signal resolutions |
US8873870B2 (en) | 2003-07-18 | 2014-10-28 | Sony Corporation | Image encoding apparatus and method for handling intra-image predictive encoding with various color spaces and color signal resolutions |
US7912301B2 (en) | 2003-07-18 | 2011-03-22 | Sony Corporation | Image decoding apparatus and method for handling intra-image predictive decoding with various color spaces and color signal resolutions |
US9344719B2 (en) | 2003-07-18 | 2016-05-17 | Sony Corporation | Image decoding apparatus and method for handling intra-image predictive decoding with various color spaces and color signal resolutions |
US8682090B2 (en) | 2003-07-18 | 2014-03-25 | Sony Corporation | Image decoding apparatus and method for handling intra-image predictive decoding with various color spaces and color signal resolutions |
US8675976B2 (en) | 2003-07-18 | 2014-03-18 | Sony Corporation | Image encoding apparatus and method for handling intra-image predictive encoding with various color spaces and color signal resolutions |
CN100542305C (en) * | 2003-07-18 | 2009-09-16 | 索尼株式会社 | Image information encoding device and method, and image information decoding device and method |
WO2005081541A1 (en) * | 2004-02-25 | 2005-09-01 | Sony Corporation | Image information encoding device and image information encoding method |
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 |
US8320462B2 (en) | 2005-09-20 | 2012-11-27 | Mitsubishi Electric Corporation | Image encoding method, image decoding method, image encoding apparatus, image decoding apparatus, image encoded bitstream and recording medium |
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 |
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 |
US8165392B2 (en) | 2005-09-20 | 2012-04-24 | Mitsubishi Electric Corporation | Image decoder and image decoding method for decoding color image signal, and image decoding method for performing decoding processing |
KR101365566B1 (en) * | 2007-01-04 | 2014-02-25 | 삼성전자주식회사 | Method and apparatus for encoding and decoding image |
JP2009027367A (en) * | 2007-07-18 | 2009-02-05 | Fujifilm Corp | Image processor, image processing method and program |
US9510014B2 (en) | 2009-09-30 | 2016-11-29 | Sony Corporation | Image processing device and method for assigning luma blocks to chroma blocks |
US10911772B2 (en) | 2009-09-30 | 2021-02-02 | Velos Media, Llc | Image processing device and method |
US9979981B2 (en) | 2009-09-30 | 2018-05-22 | Velos Media, Llc | Image processing device and method |
US9544614B2 (en) | 2009-09-30 | 2017-01-10 | Sony Corporation | Image processing device and method for assigning luma blocks to chroma blocks |
US9503748B2 (en) | 2009-09-30 | 2016-11-22 | Sony Corporation | Image processing device and method for assigning luma blocks to chroma blocks |
US9510015B2 (en) | 2009-09-30 | 2016-11-29 | Sony Corporation | Image processing device and method for assigning luma blocks to chroma blocks |
WO2011122659A1 (en) * | 2010-03-30 | 2011-10-06 | シャープ株式会社 | Encoder apparatus and decoder apparatus |
US9565428B2 (en) | 2011-06-20 | 2017-02-07 | Mediatek Singapore Pte. Ltd. | Method and apparatus of chroma intra prediction with reduced line memory |
CN103688533A (en) * | 2011-06-20 | 2014-03-26 | 联发科技(新加坡)私人有限公司 | 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 |
JP2016506154A (en) * | 2012-12-17 | 2016-02-25 | エルジー エレクトロニクス インコーポレイティド | Video encoding / decoding method and apparatus using the same |
KR101377136B1 (en) | 2013-08-29 | 2014-03-26 | 삼성전자주식회사 | Apparatus for decoding image |
JP2014143716A (en) * | 2014-03-12 | 2014-08-07 | Sony Corp | Image processor, image processing method, program and recording medium |
JP2018509032A (en) * | 2015-01-26 | 2018-03-29 | クアルコム,インコーポレイテッド | Overlapping motion compensation for video coding |
US10771811B2 (en) | 2015-01-26 | 2020-09-08 | Qualcomm Incorporated | Overlapped motion compensation for video coding |
Also Published As
Publication number | Publication date |
---|---|
JP3440830B2 (en) | 2003-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3413720B2 (en) | Image encoding method and apparatus, and image decoding method and apparatus | |
JP3413721B2 (en) | Image encoding method and apparatus, and image decoding method and apparatus | |
JP3440830B2 (en) | Image encoding apparatus and method, and recording medium | |
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 | |
US6404814B1 (en) | Transcoding method and transcoder for transcoding a predictively-coded object-based picture signal to a predictively-coded block-based picture signal | |
US7876830B2 (en) | Video encoder and decoder for achieving inter-and intra-frame predictions with reduced memory resource | |
US20020114391A1 (en) | Image encoder, image encoding method, image decoder, image decoding method, and distribution media | |
KR19980080014A (en) | Method and apparatus for coding a digital video picture such as bi-directionally predicted video object plane | |
JP2001028757A (en) | Coding method for picture signal, transmission method, decoding method, coder, transmitter and decoder | |
JP2001197501A (en) | Motion vector searching device and motion vector searching method, and moving picture coder | |
USRE38564E1 (en) | Motion estimation and compensation of video object planes for interlaced digital video | |
JP2000023195A (en) | Image encoding device and method, image decoding device and method and encoded data providing medium | |
JP3344577B2 (en) | Image encoding device and image encoding method, image decoding device and image decoding method, and recording method | |
JP3344576B2 (en) | Image encoding device and image encoding method, image decoding device and image decoding method | |
O’Connor et al. | Current Developments in MPEG-4 Video | |
KR100681920B1 (en) | Method and apparatus for a spatial scalable encoding/decoding based on multiple reference frames | |
JP3263812B2 (en) | Image encoding device and image encoding method, and image decoding device and image decoding method | |
JP2000013791A (en) | Image encoding device, image encoding method, image decoding device, image decoding method, and providing medium | |
JP2005064897A (en) | Dynamic image compression-coding apparatus | |
AU1839301A (en) | Padding of video object planes for interlaced digital video | |
JP2004134889A (en) | Image signal converting apparatus and image signal converting method | |
JP2001061145A (en) | Image coding device and method therefor, and image decoding device and method therefor | |
MXPA98001809A (en) | Estimation and compensation of the movement of planes of the video object for digital video entrelaz |
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 |