JP2008283490A - Moving image encoding device, method and program, and moving image decoding device, method and program - Google Patents

Moving image encoding device, method and program, and moving image decoding device, method and program Download PDF

Info

Publication number
JP2008283490A
JP2008283490A JP2007126035A JP2007126035A JP2008283490A JP 2008283490 A JP2008283490 A JP 2008283490A JP 2007126035 A JP2007126035 A JP 2007126035A JP 2007126035 A JP2007126035 A JP 2007126035A JP 2008283490 A JP2008283490 A JP 2008283490A
Authority
JP
Japan
Prior art keywords
block
motion vector
blocks
similarity
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.)
Pending
Application number
JP2007126035A
Other languages
Japanese (ja)
Inventor
Junya Takigami
順也 瀧上
Chunsen Bun
チュンセン ブン
Thiow Keng Tan
ティオ ケン タン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NTT Docomo Inc
Original Assignee
NTT Docomo Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NTT Docomo Inc filed Critical NTT Docomo Inc
Priority to JP2007126035A priority Critical patent/JP2008283490A/en
Publication of JP2008283490A publication Critical patent/JP2008283490A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To improve the efficiency and accuracy of encoding and decoding. <P>SOLUTION: This encoding device is provided with: an area dividing means for dividing an input moving image signal composed of time sequences of a frame image signal into a plurality of processing object areas; a motion detecting means for detecting motion vectors of the processing target areas; a prediction signal generating means for generating a prediction signal for the processing object areas; a residual signal generating means for generating a residual signal between the prediction signal and a processing object area signal; and an encoding means for encoding the residual signal and the motion vector and generating compressed data. The prediction signal generating means encodes a motion vector on the basis of similarity of motion vectors of a plurality of blocks present in frames different from each other or on the basis of the similarity of motion vectors, and similarity of motion vectors of a plurality of blocks present in the same frame as the block of an encoding object. <P>COPYRIGHT: (C)2009,JPO&INPIT

Description

本発明は、動きベクトルによる動き補償に関連する、動画像符号化装置、方法及びプログラム、並びに動画像復号化装置、方法及びプログラムに関する。   The present invention relates to a moving picture coding apparatus, method and program, and a moving picture decoding apparatus, method and program related to motion compensation by a motion vector.

静止画像や動画像データの伝送や蓄積を効率よく行うために、圧縮符号化技術が用いられている。従来の動画像符号化方式の事例として、MPEG1〜MPEG4やITU(International Telecommunication Union)H.261〜H.264の方式が広く用いられている。   In order to efficiently transmit and store still images and moving image data, compression coding technology is used. Examples of conventional video coding systems include MPEG1-MPEG4 and ITU (International Telecommunication Union) H.264. 261-H. H.264 is widely used.

これらの符号化方式では、符号化の対象となる画像を複数のブロックに分割した上で符号化・復号処理を行う。MPEG4やH.264においては、符号化効率をさらに高めるため、画面内の予測符号化については、対象ブロックと同じ画面内にある隣接する既再生の画像信号(圧縮された画像データが復元されたもの)を用いて予測信号を生成した上で、それを対象ブロックの信号から引き算した差分信号を符号化する。画面間の予測符号化については、対象ブロックと異なる画面内にある隣接する既再生の画像信号を参照し、動きの補正を行ない、予測信号を生成し、それを対象ブロックの信号から引き算した差分信号を符号化する(非特許文献1参照)。   In these encoding methods, encoding / decoding processing is performed after an image to be encoded is divided into a plurality of blocks. MPEG4 and H.264 In H.264, in order to further increase the coding efficiency, adjacent pre-reproduced image signals (reconstructed compressed image data) in the same screen as the target block are used for predictive coding in the screen. After generating the prediction signal, the difference signal obtained by subtracting the prediction signal from the signal of the target block is encoded. For predictive coding between screens, refer to adjacent previously reproduced image signals in a screen different from the target block, perform motion correction, generate a prediction signal, and subtract it from the signal of the target block The signal is encoded (see Non-Patent Document 1).

上記方式における画面間予測では、動き補償に用いる符号化対象ブロックの動きベクトルを符号化する際に、対象ブロックと同じフレーム内で上・左・左上にあるブロックの動きベクトルの中間値を、対象ブロックの動きベクトルの予測値とし、対象ブロックの動きベクトルから動きベクトル予測値を引き算した差分値を符号化している(特許文献1参照)。   In the inter-frame prediction in the above method, when encoding the motion vector of the target block to be used for motion compensation, the intermediate value of the motion vector of the upper, left and upper left blocks in the same frame as the target block is used as the target. A difference value obtained by subtracting the motion vector prediction value from the motion vector of the target block is encoded as the prediction value of the motion vector of the block (see Patent Document 1).

また、符号化対象ブロックの動きベクトルの予測値を算出する際に、対象ブロックを含むフレームとは異なるフレームにあるブロックの動きベクトルを対象ブロックの動きベクトル予測値とし、差分符号化する技術が開示されている(非特許文献2参照)。   Also disclosed is a technique for performing differential encoding using a motion vector of a block in a frame different from a frame including the target block as a motion vector predicted value of the target block when calculating a motion vector predicted value of the target block for encoding. (See Non-Patent Document 2).

MPEG-4の符号化方式では、対象ブロックと異なるフレームにあるブロックの動きベクトルを、対象ブロックの動きベクトル予測値とするダイレクトモード(Direct mode)という方法とともに、対象ブロックと同じフレーム内で隣接するブロックの動きベクトルを対象ブロックの動きベクトル予測値とする方法が使われている。あるブロックでダイレクトモードを用いるかどうかを示すために、予測モードを示すインデックスが使われている(非特許文献3参照)。   In the MPEG-4 encoding method, a method called direct mode that uses a motion vector of a block in a frame different from that of the target block as a motion vector prediction value of the target block is adjacent in the same frame as the target block. A method is used in which a motion vector of a block is used as a motion vector prediction value of a target block. In order to indicate whether or not the direct mode is used in a certain block, an index indicating a prediction mode is used (see Non-Patent Document 3).

さらに、対象ブロックを含むフレーム内のブロックの動きベクトルを対象ブロックの動きベクトル予測値とし、隣り合うフレームにある2つの動きベクトルの差分値に基づいて動きベクトル差分値をエントロピー符号化する際の確率分布を切り替えることで符号化効率を上げる手法が開示されている(非特許文献4参照)。
米国特許5905535号 “ITU-T H.264”TELECOMMUNICATION STANDARDIZATION SECTOR OF ITU SERIES H: AUDIOVISUAL AND MULTIMEDIA SYSTEMS Infrastructure of audiovisual services - Coding of moving video 『MOTION COMPENSATION OF MOTION VECTORS』 Yeh, J.; Vetterli, M.; Khansari, M.;Image Processing, 1995. Proceedings., International Conference on, Volume1, 23-26 Oct. 1995 Page(s):574-577 vol.1, Digital Object Identifier 10.1109/ICIP.1995.531431 Text of ISO/IEC 14496-2:2001 (Unifying N2502, N3307, N3056, and N3664) INTERNATIONAL ORGANIZATION FOR STANDARDIZATION ORGANIZATION INTERNATIONAL NORMALIZATION ISO/IEC JTC 1/SC 29/WG 11 CODING OF MOVING PICTURES AND AUDIO 『A Spatial and Temporal Motion Vector Coding Algorithm for Low-Bit-Rate Video Coding』 Chen, M.C.; Willson, A.N., Jr.;Image Processing, 1997. Proceedings., International Conference on Volume2, 26-29 Oct. 1997 Page(s):791-794 vol.2 Digital Object Identifier 10.1109/ICIP.1997.638615
Further, the probability of entropy encoding the motion vector difference value based on the difference value between two motion vectors in adjacent frames, using the motion vector of the block in the frame including the target block as the motion vector prediction value of the target block A technique for increasing the coding efficiency by switching the distribution is disclosed (see Non-Patent Document 4).
US Pat. No. 5,905,535 “ITU-T H.264” TELECOMMUNICATION STANDARDIZATION SECTOR OF ITU SERIES H: AUDIOVISUAL AND MULTIMEDIA SYSTEMS Infrastructure of audiovisual services-Coding of moving video `` MOTION COMPENSATION OF MOTION VECTORS '' Yeh, J .; Vetterli, M .; Khansari, M .; Image Processing, 1995. Proceedings., International Conference on, Volume1, 23-26 Oct. 1995 Page (s): 574-577 vol.1, Digital Object Identifier 10.1109 / ICIP.1995.531431 Text of ISO / IEC 14496-2: 2001 (Unifying N2502, N3307, N3056, and N3664) INTERNATIONAL ORGANIZATION FOR STANDARDIZATION ORGANIZATION INTERNATIONAL NORMALIZATION ISO / IEC JTC 1 / SC 29 / WG 11 CODING OF MOVING PICTURES AND AUDIO `` A Spatial and Temporal Motion Vector Coding Algorithm for Low-Bit-Rate Video Coding '' Chen, MC; Willson, AN, Jr .; Image Processing, 1997. Proceedings., International Conference on Volume2, 26-29 Oct. 1997 Page ( s): 791-794 vol.2 Digital Object Identifier 10.1109 / ICIP.1997.638615

しかし、MPEG−4による従来技術は、対象ブロックの動きベクトル予測値をダイレクトモードを用いて決めるかどうかを示すための情報を送らなくてはならないため、その分だけ符号量が増えてしまう。   However, in the prior art based on MPEG-4, information for indicating whether or not the motion vector prediction value of the target block is to be determined using the direct mode must be sent, so that the code amount increases accordingly.

また、対象ブロックの動きベクトルの予測方法を示すモード情報や、対象ブロックの動きベクトルを指示するための情報や、動きベクトル差分値は固定の確率分布に基づいてエントロピー符号化されるため、周囲環境の変化に適応的な符号化ができず、符号化の効率及び精度が良いとはいえない。   In addition, since the mode information indicating the motion vector prediction method of the target block, the information for specifying the motion vector of the target block, and the motion vector difference value are entropy-coded based on a fixed probability distribution, Therefore, it cannot be said that the coding efficiency and accuracy are good.

また、周囲環境の変化に適応的な例として非特許文献3に記載の従来技術があるが、動きベクトルの空間方向の相関のみに注目している。このため、対象ブロックとは異なるフレームにあるブロックの動きベクトルを動きベクトル予測値とした場合には、符号化の効率及び精度が良くない。   Further, as an example adaptive to changes in the surrounding environment, there is a conventional technique described in Non-Patent Document 3, but attention is paid only to the spatial direction correlation of motion vectors. For this reason, when the motion vector of a block in a frame different from the target block is used as a motion vector prediction value, the efficiency and accuracy of encoding are not good.

さらに従来技術では、対象ブロックと同じフレーム内で対象ブロックに隣接するブロックの動きベクトルや、対象ブロックを含むフレームと隣り合うフレーム内で対象ブロックと同じ空間位置のブロックの動きベクトルをのみをベクトル予測値としているため、局所的な動きベクトルの変化に影響されてしまう。このため、動きベクトルの変化の大勢を反映した予測値を得ることが困難であり、動きベクトルのノイズの影響を受けやすい。   Furthermore, in the prior art, only the motion vector of the block adjacent to the target block in the same frame as the target block, or the motion vector of the block in the same spatial position as the target block in the frame adjacent to the target block is vector-predicted Because it is a value, it is affected by a local motion vector change. For this reason, it is difficult to obtain a predicted value reflecting a large number of changes in the motion vector, and it is easily affected by noise of the motion vector.

本発明は、上述の課題を解決するために成されたものであり、符号化及び復号化の効率及び精度を向上させることを目的とする。   The present invention has been made to solve the above-described problems, and an object thereof is to improve the efficiency and accuracy of encoding and decoding.

上述の課題を解決するために、本発明の動画像符号化装置は、フレーム画像信号の時間系列で構成される入力動画像信号を複数の処理対象領域に分割する領域分割手段と、前記処理対象領域の動きベクトルを検出する動き検出手段と、前記処理対象領域に対する予測信号を生成する予測信号生成手段と、前記予測信号と前記処理対象領域信号との残差信号を生成する残差信号生成手段と、前記残差信号と前記動きベクトルを符号化して圧縮データを生成する符号化手段とを備え、前記予測信号生成手段は、互いに異なるフレーム内にある複数のブロックの動きベクトルの類似性、又は、前記類似性および符号化対象のブロックと同じフレーム内にある複数のブロックの動きベクトルの類似性に基づいて、前記動きベクトルを符号化することを特徴とする。   In order to solve the above-described problem, a moving image encoding device according to the present invention includes an area dividing unit that divides an input moving image signal formed of a time sequence of frame image signals into a plurality of processing target areas, and the processing target. Motion detection means for detecting a motion vector of a region, prediction signal generation means for generating a prediction signal for the processing target region, and residual signal generation means for generating a residual signal between the prediction signal and the processing target region signal And encoding means for generating compressed data by encoding the residual signal and the motion vector, wherein the prediction signal generating means is a similarity between motion vectors of a plurality of blocks in different frames, or Encoding the motion vector based on the similarity and the similarity of motion vectors of a plurality of blocks in the same frame as the block to be encoded. And butterflies.

この動画像符号化装置は、フレーム画像信号の時間系列で構成される入力動画像信号を複数の処理対象領域に分割し、前記処理対象領域の動きベクトルを検出し、前記処理対象領域に対する予測信号を生成し、前記予測信号と前記処理対象領域信号との残差信号を生成し、前記残差信号と前記動きベクトルを符号化して圧縮データを生成することができる。そして、予測信号生成手段は、互いに異なるフレーム内にある複数のブロックの動きベクトルの類似性、又は、前記類似性および符号化対象のブロックと同じフレーム内にある複数のブロックの動きベクトルの類似性に基づいて、動きベクトルを符号化することを特徴とする。これにより、動きベクトルの変化の大勢を反映した符号化が可能となり、符号化の効率及び精度を向上させることができる。   The moving image encoding apparatus divides an input moving image signal composed of a time sequence of frame image signals into a plurality of processing target regions, detects a motion vector of the processing target region, and outputs a prediction signal for the processing target region And generating a residual signal between the prediction signal and the processing target region signal, and encoding the residual signal and the motion vector to generate compressed data. Then, the prediction signal generating means is similar to motion vectors of a plurality of blocks in different frames, or similarities of motion vectors of a plurality of blocks in the same frame as the block to be encoded. Based on the above, a motion vector is encoded. As a result, encoding that reflects the majority of changes in motion vectors becomes possible, and the efficiency and accuracy of encoding can be improved.

なお、以下では、対象ブロックを含むフレームと異なるフレームにあるブロックの動きベクトルを対象ブロックの動きベクトル予測値とすることを「時間方向から予測する」といい、対象ブロックを含むフレームにあるブロックの動きベクトルを対象ブロックの動きベクトル予測値をすることを「空間方向から予測する」という。   In the following, making a motion vector of a block in a frame different from the frame including the target block as a motion vector prediction value of the target block is referred to as “predicting from the time direction”, and the block in the frame including the target block Making the motion vector a motion vector prediction value of the target block is called “predicting from the spatial direction”.

上記の予測信号生成手段は、互いに異なるフレーム内にある複数のブロックの動きベクトルの類似性、又は、前記類似性および符号化対象のブロックと同じフレーム内にある複数のブロックの動きベクトルの類似性に基づいて、動きベクトルの予測値の決定、又は、動きベクトルの予測値決定方法の選択、を行う構成とすることが望ましい。   The predictive signal generation means described above is similar to motion vectors of a plurality of blocks in different frames, or similarities of motion vectors of a plurality of blocks in the same frame as the block to be encoded. It is desirable to determine the motion vector prediction value or select a motion vector prediction value determination method based on the above.

この場合、互いに異なるフレームにある複数のブロックの動きベクトルの類似性(例えば差分値、分散値、標準偏差などの類似性を示す情報)、又は、前記類似性及び対象ブロックと同じフレーム内にある複数のブロックの動きベクトルの類似性に基づいて、対象ブロックの動きベクトルの予測値の決定、又は、予測値決定方法の選択を行うことができる。これにより、予測方法を自動的に決定できるため、予測方法を示す情報を送る必要が無く、符号量を削減できる。また、対象ブロックの動きベクトル予測値を時間方向から予測する際や、時間方向および空間方向から予測する際に、予測精度が高い動きベクトルを選択して予測値とすることで、精度よく予測することができる。   In this case, the similarity of motion vectors of a plurality of blocks in different frames (for example, information indicating similarity such as a difference value, a variance value, a standard deviation), or the similarity and the same block as the target block Based on the similarity of motion vectors of a plurality of blocks, it is possible to determine a prediction value of a motion vector of a target block or to select a prediction value determination method. Thereby, since the prediction method can be determined automatically, it is not necessary to send information indicating the prediction method, and the code amount can be reduced. In addition, when predicting the motion vector prediction value of the target block from the temporal direction, or when predicting from the temporal direction and the spatial direction, a motion vector with high prediction accuracy is selected and used as a prediction value, thereby predicting with high accuracy. be able to.

また、予測信号生成手段は、互いに異なるフレーム内にある複数のブロックの動きベクトルの類似性、又は、前記類似性および符号化対象のブロックと同じフレーム内にある複数のブロックの動きベクトルの類似性に基づく重み付けによって、動きベクトルの予測値を決定する構成とすることが望ましい。   In addition, the prediction signal generation means may determine the similarity of motion vectors of a plurality of blocks in different frames, or the similarity of motion vectors of a plurality of blocks in the same frame as the block to be encoded. It is desirable that the predicted value of the motion vector is determined by weighting based on.

この場合、上記重み付けによって、周辺の動きベクトルを有効利用することで、局所的な動きベクトルの変化の影響を少なくし、動きベクトルの変化の大勢を反映した予測値を得ることが可能となる。   In this case, by using the surrounding motion vectors effectively by the weighting, it is possible to reduce the influence of local motion vector changes and obtain a predicted value reflecting the majority of motion vector changes.

また、予測信号生成手段は、互いに異なるフレーム内にある複数のブロックの動きベクトルの類似性、又は、前記類似性および符号化対象のブロックと同じフレーム内にある複数のブロックの動きベクトルの類似性に基づいて、動きベクトルの予測値を示すための情報を符号化する際に用いる確率分布、又は、動きベクトルの予測値決定方法を示すための情報を符号化する際に用いる確率分布、を適応的に決定する構成とすることが望ましい。   In addition, the prediction signal generation means may determine the similarity of motion vectors of a plurality of blocks in different frames, or the similarity of motion vectors of a plurality of blocks in the same frame as the block to be encoded. The probability distribution used when encoding information for indicating a motion vector prediction value or the probability distribution used when encoding information for indicating a motion vector prediction value determination method is applied. It is desirable to adopt a configuration that determines automatically.

この場合、対象ブロックの動きベクトル予測値を時間方向から予測する際や、時間方向および空間方向から予測する際にも、周辺環境に応じて各インデックスの確率分布を適応化し、適切な符号量で符号化することによって、符号化効率を高めることができる。   In this case, when predicting the motion vector prediction value of the target block from the temporal direction or from the temporal direction and the spatial direction, the probability distribution of each index is adapted according to the surrounding environment, and an appropriate code amount is used. Encoding efficiency can be increased by encoding.

更に、予測信号生成手段は、互いに異なるフレーム内にある複数のブロックの動きベクトルの類似性、又は、前記類似性および符号化対象のブロックと同じフレーム内にある複数のブロックの動きベクトルの類似性に基づいて、動きベクトル差分値を符号化する際に用いる確率分布を適応的に決定する構成とすることが望ましい。   Further, the prediction signal generation means may perform similarity of motion vectors of a plurality of blocks in different frames, or similarity of motion vectors of a plurality of blocks in the same frame as the block to be encoded. Based on the above, it is desirable to adopt a configuration that adaptively determines the probability distribution used when coding the motion vector difference value.

この場合、対象ブロックの動きベクトル予測値を時間方向から予測する際や、時間方向および空間方向から予測する際にも周辺環境に応じて動きベクトル差分値の発生確率分布を適応化し、適切な符号量で符号化することによって、符号化効率を高めることができる。   In this case, when predicting the motion vector prediction value of the target block from the temporal direction, or predicting from the temporal direction and the spatial direction, the occurrence probability distribution of the motion vector difference value is adapted according to the surrounding environment, and an appropriate code is used. Coding efficiency can be improved by encoding with a quantity.

本発明の動画像符号化装置は、フレーム画像信号の時間系列で構成される入力動画像信号を複数の処理対象領域に分割する領域分割手段と、前記処理対象領域の動きベクトルを検出する動き検出手段と、前記処理対象領域に対する予測信号を生成する予測信号生成手段と、前記予測信号と前記処理対象領域信号との残差信号を生成する残差信号生成手段と、前記残差信号と前記動きベクトルを符号化して圧縮データを生成する符号化手段とを備え、前記予測信号生成手段は、符号化対象のブロックと同じフレーム内で対象ブロックに対して1ブロック以上隔てたブロックを含む複数のブロックの動きベクトルの類似性に基づいて、前記動きベクトルを符号化することを特徴とする。   The moving image coding apparatus according to the present invention includes an area dividing unit that divides an input moving image signal composed of a time series of frame image signals into a plurality of processing target areas, and motion detection that detects a motion vector of the processing target areas. Means, a prediction signal generating means for generating a prediction signal for the processing target area, a residual signal generating means for generating a residual signal between the prediction signal and the processing target area signal, the residual signal and the motion A plurality of blocks including a block separated by one block or more from the target block in the same frame as the block to be encoded. The motion vector is encoded based on the similarity of the motion vectors.

この動画像符号化装置は、フレーム画像信号の時間系列で構成される入力動画像信号を複数の処理対象領域に分割し、前記処理対象領域の動きベクトルを検出し、前記処理対象領域に対する予測信号を生成し、前記予測信号と前記処理対象領域信号との残差信号を生成し、前記残差信号と前記動きベクトルを符号化して圧縮データを生成することができる。そして、予測信号生成手段は、符号化対象のブロックと同じフレーム内で対象ブロックに対して1ブロック以上隔てたブロックを含む複数のブロックの動きベクトルの類似性に基づいて、前記動きベクトルを符号化することを特徴とする。これにより、動きベクトルの変化の大勢を反映した符号化が可能となり、符号化の効率及び精度を向上させることができる。   The moving image encoding apparatus divides an input moving image signal composed of a time sequence of frame image signals into a plurality of processing target regions, detects a motion vector of the processing target region, and outputs a prediction signal for the processing target region And generating a residual signal between the prediction signal and the processing target region signal, and encoding the residual signal and the motion vector to generate compressed data. Then, the prediction signal generating means encodes the motion vector based on the similarity of the motion vectors of a plurality of blocks including a block separated by one block or more from the target block in the same frame as the block to be encoded. It is characterized by doing. As a result, encoding that reflects the majority of changes in motion vectors becomes possible, and the efficiency and accuracy of encoding can be improved.

なお、上記の「複数のブロック」は、符号化対象のブロックを含むフレームに対して1フレーム以上隔てたフレーム内のブロックを含んでもよい。   Note that the “plurality of blocks” may include blocks in a frame that is one or more frames apart from a frame that includes a block to be encoded.

上記の予測信号生成手段は、符号化対象のブロックと同じフレーム内で対象ブロックに対して1ブロック以上隔てたブロックを含む複数のブロックの動きベクトルの類似性に基づいて、動きベクトルの予測値の決定、又は、動きベクトルの予測値決定方法の選択、を行う構成とすることが望ましい。   The prediction signal generation means described above is based on the similarity of motion vectors of a plurality of blocks including blocks separated by one or more blocks from the target block in the same frame as the block to be encoded. It is desirable to adopt a configuration that performs determination or selection of a motion vector prediction value determination method.

この場合、対象ブロックの動きベクトル予測値を空間方向から予測する際に、動きベクトルの変化の大勢を反映することで、精度よく予測することができる。また、ノイズや局所的な変化による影響を打ち消すこともできる。   In this case, when predicting the motion vector prediction value of the target block from the spatial direction, it is possible to accurately predict by reflecting a large number of motion vector changes. It is also possible to cancel the influence of noise and local changes.

また、予測信号生成手段は、符号化対象のブロックと同じフレーム内で対象ブロックに対して1ブロック以上隔てたブロックを含む複数のブロックの動きベクトルの類似性に基づく重み付けによって、動きベクトルの予測値を決定する構成とすることが望ましい。   In addition, the prediction signal generation unit may calculate a motion vector prediction value by weighting based on the similarity of motion vectors of a plurality of blocks including a block separated by one block or more from the target block in the same frame as the block to be encoded. It is desirable to adopt a configuration that determines

この場合、上記重み付けによって、周辺の動きベクトルを有効利用することで、局所的な動きベクトルの変化の影響を少なくし、動きベクトルの変化の大勢を反映した予測値を得ることが可能となる。   In this case, by using the surrounding motion vectors effectively by the weighting, it is possible to reduce the influence of local motion vector changes and obtain a predicted value reflecting the majority of motion vector changes.

また、予測信号生成手段は、符号化対象のブロックと同じフレーム内で対象ブロックに対して1ブロック以上隔てたブロックを含む複数のブロックの動きベクトルの類似性に基づいて、動きベクトルの予測値を示すための情報を符号化する際に用いる確率分布、又は、動きベクトルの予測値決定方法を示すための情報を符号化する際に用いる確率分布、を適応的に決定する構成とすることが望ましい。   Further, the prediction signal generation means calculates a motion vector prediction value based on the similarity of motion vectors of a plurality of blocks including a block separated by one block or more from the target block in the same frame as the block to be encoded. It is desirable to adopt a configuration that adaptively determines a probability distribution used when encoding information for indicating or a probability distribution used when encoding information for indicating a motion vector prediction value determination method. .

この場合、対象ブロックの動きベクトル予測値を空間方向から予測する際に、動きベクトルの予測値を示すための情報を符号化する際に用いる確率分布、又は、動きベクトルの予測値決定方法を示すための情報を符号化する際に用いる確率分布、を周辺環境に応じて適応化し、適切な符号量で符号化することによって、符号化効率を高めることができる。   In this case, when predicting a motion vector prediction value of a target block from a spatial direction, a probability distribution used when encoding information for indicating a motion vector prediction value or a motion vector prediction value determination method is shown. The coding efficiency can be increased by adapting the probability distribution used when coding the information for coding according to the surrounding environment and coding with an appropriate code amount.

更に、予測信号生成手段は、符号化対象のブロックと同じフレーム内で対象ブロックに対して1ブロック以上隔てたブロックを含む複数のブロックの動きベクトルの類似性に基づいて、動きベクトル差分値を符号化する際に用いる確率分布を適応的に決定する構成とすることが望ましい。   Further, the prediction signal generation means encodes the motion vector difference value based on the similarity of the motion vectors of a plurality of blocks including a block separated by one block or more from the target block in the same frame as the block to be encoded. It is desirable to adopt a configuration that adaptively determines the probability distribution to be used at the time of conversion.

この場合、対象ブロックの動きベクトル予測値を空間方向から予測する際に、動きベクトル差分値を符号化する際に用いる確率分布を、周辺環境に応じて適応化し、適切な符号量で符号化することによって、符号化効率を高めることができる。   In this case, when predicting the motion vector prediction value of the target block from the spatial direction, the probability distribution used when encoding the motion vector difference value is adapted according to the surrounding environment and encoded with an appropriate code amount. Thus, encoding efficiency can be increased.

上述の課題を解決するために、本発明の動画像復号化装置は、圧縮データの中から処理対象領域に関する残差信号と動きベクトルの情報を抽出するデータ抽出手段と、前記処理対象領域に関する残差信号を再生残差信号に復元する残差信号復元手段と、前記処理対象領域に対する予測信号を生成する予測信号生成手段と、前記予測信号と前記再生残差信号を加算することによって、前記対象領域の画素信号を復元する画像復元手段を備え、前記予測信号生成手段は、互いに異なるフレーム内にある複数のブロックの動きベクトルの類似性、又は、前記類似性および復号化対象のブロックと同じフレーム内にある複数のブロックの動きベクトルの類似性に基づいて、前記動きベクトルを復号化することを特徴とする。   In order to solve the above-described problem, a moving picture decoding apparatus according to the present invention includes data extraction means for extracting residual signal and motion vector information related to a processing target area from compressed data, and a residual related to the processing target area. A residual signal restoring means for restoring the difference signal to a reproduction residual signal; a prediction signal generating means for generating a prediction signal for the region to be processed; and adding the prediction signal and the reproduction residual signal, Image restoration means for restoring a pixel signal of a region, wherein the prediction signal generation means is similar to motion vectors of a plurality of blocks in different frames or the same frame as the similarity and a block to be decoded The motion vector is decoded based on the similarity of motion vectors of a plurality of blocks in the block.

この動画像復号化装置によれば、圧縮データの中から処理対象領域に関する残差信号と動きベクトルの情報を抽出し、前記処理対象領域に関する残差信号を再生残差信号に復元し、前記処理対象領域に対する予測信号を生成し、前記予測信号と前記再生残差信号を加算することによって、前記対象領域の画素信号を復元することができる。   According to this moving image decoding apparatus, the residual signal and motion vector information relating to the processing target region are extracted from the compressed data, the residual signal relating to the processing target region is restored to the reproduction residual signal, and the processing By generating a prediction signal for the target region and adding the prediction signal and the reproduction residual signal, the pixel signal of the target region can be restored.

そして、予測信号生成手段は、互いに異なるフレーム内にある複数のブロックの動きベクトルの類似性、又は、前記類似性および復号化対象のブロックと同じフレーム内にある複数のブロックの動きベクトルの類似性に基づいて、動きベクトルを復号化することを特徴とする。これにより、動きベクトルの変化の大勢を反映した復号化が可能となり、復号化処理の効率及び精度を向上させることができる。   Then, the prediction signal generating means is similar to motion vectors of a plurality of blocks in different frames, or similarities of motion vectors of a plurality of blocks in the same frame as the block to be decoded. Based on the above, the motion vector is decoded. As a result, decoding that reflects the majority of changes in motion vectors is possible, and the efficiency and accuracy of the decoding process can be improved.

上記の予測信号生成手段は、互いに異なるフレーム内にある複数のブロックの動きベクトルの類似性、又は、前記類似性および復号化対象のブロックと同じフレーム内にある複数のブロックの動きベクトルの類似性に基づいて、動きベクトルの予測値の決定、又は、動きベクトルの予測値決定方法の選択、を行う構成とすることが望ましい。   The predictive signal generation means described above is similar to motion vectors of a plurality of blocks in different frames, or similarities of motion vectors of a plurality of blocks in the same frame as the block to be decoded. It is desirable to determine the motion vector prediction value or select a motion vector prediction value determination method based on the above.

この場合、予測方法を自動的に決定できるため、予測方法を示す情報が入力される必要が無い。また、対象ブロックの動きベクトル予測値を時間方向から予測する際や、時間方向および空間方向から予測する際に、予測精度が高い動きベクトルを選択して予測値とすることで、精度よく予測することができる。   In this case, since the prediction method can be automatically determined, it is not necessary to input information indicating the prediction method. In addition, when predicting the motion vector prediction value of the target block from the temporal direction, or when predicting from the temporal direction and the spatial direction, a motion vector with high prediction accuracy is selected and used as a prediction value, thereby predicting with high accuracy. be able to.

また、予測信号生成手段は、互いに異なるフレーム内にある複数のブロックの動きベクトルの類似性、又は、前記類似性および復号化対象のブロックと同じフレーム内にある複数のブロックの動きベクトルの類似性に基づく重み付けによって、動きベクトルの予測値を決定する構成とすることが望ましい。   In addition, the prediction signal generating unit may be similar to motion vectors of a plurality of blocks in different frames, or similarities of motion vectors of a plurality of blocks in the same frame as the block to be decoded. It is desirable that the predicted value of the motion vector is determined by weighting based on.

この場合、上記重み付けによって、周辺の動きベクトルを有効利用することで、局所的な動きベクトルの変化の影響を少なくし、動きベクトルの変化の大勢を反映した予測値を得ることが可能となる。   In this case, by using the surrounding motion vectors effectively by the weighting, it is possible to reduce the influence of local motion vector changes and obtain a predicted value reflecting the majority of motion vector changes.

また、予測信号生成手段は、互いに異なるフレーム内にある複数のブロックの動きベクトルの類似性、又は、前記類似性および復号化対象のブロックと同じフレーム内にある複数のブロックの動きベクトルの類似性に基づいて、動きベクトルの予測値を示すための情報を復号化する際に用いる確率分布、又は、動きベクトルの予測値決定方法を示すための情報を復号化する際に用いる確率分布、を適応的に決定する構成とすることが望ましい。   In addition, the prediction signal generating unit may be similar to motion vectors of a plurality of blocks in different frames, or similarities of motion vectors of a plurality of blocks in the same frame as the block to be decoded. The probability distribution used when decoding the information for indicating the motion vector prediction value or the probability distribution used when decoding the information for indicating the motion vector prediction value determination method is applied based on It is desirable to adopt a configuration that determines automatically.

この場合、動きベクトルの予測値を示すための情報を復号化する際に用いる確率分布、又は、動きベクトルの予測値決定方法を示すための情報を復号化する際に用いる確率分布を、周辺環境に応じて適応化し、動画像符号化装置と同じ確率分布を用いることで、データを抽出することができる。   In this case, the probability distribution used when decoding the information for indicating the motion vector prediction value or the probability distribution used for decoding the information for indicating the motion vector prediction value determination method is the peripheral environment. By using the same probability distribution as that of the moving picture coding apparatus, data can be extracted.

更に、予測信号生成手段は、互いに異なるフレーム内にある複数のブロックの動きベクトルの類似性、又は、前記類似性および復号化対象のブロックと同じフレーム内にある複数のブロックの動きベクトルの類似性に基づいて、動きベクトル差分値を復号化する際に用いる確率分布を適応的に決定する構成とすることが望ましい。   Further, the prediction signal generation means may perform similarity of motion vectors of a plurality of blocks in different frames, or similarity of motion vectors of a plurality of blocks in the same frame as the block to be decoded. Based on the above, it is desirable to adopt a configuration that adaptively determines the probability distribution used when decoding the motion vector difference value.

この場合、対象ブロックの動きベクトル予測値を時間方向から予測する際や、時間方向および空間方向から予測する際に、周辺環境に応じて動きベクトル差分値の発生確率分布を適応化し、動画像符号化装置と同じ確率分布を用いることで、データを抽出することができる。   In this case, when predicting the motion vector prediction value of the target block from the temporal direction, or predicting from the temporal direction and the spatial direction, the motion vector difference value occurrence probability distribution is adapted according to the surrounding environment, and the video code Data can be extracted by using the same probability distribution as that of the conversion apparatus.

本発明の動画像復号化装置は、圧縮データの中から処理対象領域に関する残差信号と動きベクトルの情報を抽出するデータ抽出手段と、前記処理対象領域に関する残差信号を再生残差信号に復元する残差信号復元手段と、前記処理対象領域に対する予測信号を生成する予測信号生成手段と、前記予測信号と前記再生残差信号を加算することによって、前記対象領域の画素信号を復元する画像復元手段を備え、前記予測信号生成手段は、復号化対象のブロックと同じフレーム内で対象ブロックに対して1ブロック以上隔てたブロックを含む複数のブロックの動きベクトルの類似性に基づいて、前記動きベクトルを復号化することを特徴とする。   The moving picture decoding apparatus according to the present invention includes a data extraction unit that extracts residual signal and motion vector information related to a processing target region from compressed data, and restores the residual signal related to the processing target region into a reproduction residual signal. Residual signal restoring means for performing prediction signal generating means for generating a prediction signal for the processing target region, and image restoration for restoring the pixel signal of the target region by adding the prediction signal and the reproduction residual signal And the prediction signal generating means is based on similarity of motion vectors of a plurality of blocks including a block that is one block or more apart from the target block in the same frame as the block to be decoded. Is decrypted.

この動画像復号化装置によれば、圧縮データの中から処理対象領域に関する残差信号と動きベクトルの情報を抽出し、前記処理対象領域に関する残差信号を再生残差信号に復元し、前記処理対象領域に対する予測信号を生成し、前記予測信号と前記再生残差信号を加算することによって、前記対象領域の画素信号を復元することができる。   According to this moving image decoding apparatus, the residual signal and motion vector information relating to the processing target region are extracted from the compressed data, the residual signal relating to the processing target region is restored to the reproduction residual signal, and the processing By generating a prediction signal for the target region and adding the prediction signal and the reproduction residual signal, the pixel signal of the target region can be restored.

そして、予測信号生成手段は、復号化対象のブロックと同じフレーム内で対象ブロックに対して1ブロック以上隔てたブロックを含む複数のブロックの動きベクトルの類似性に基づいて、動きベクトルを復号化することを特徴とする。これにより、動きベクトルの変化の大勢を反映した復号化が可能となり、復号化処理の効率及び精度を向上させることができる。   Then, the prediction signal generation unit decodes the motion vector based on the similarity of the motion vectors of a plurality of blocks including a block separated by one block or more from the target block in the same frame as the block to be decoded. It is characterized by that. As a result, decoding that reflects the majority of changes in motion vectors is possible, and the efficiency and accuracy of the decoding process can be improved.

上記の予測信号生成手段は、復号化対象のブロックと同じフレーム内で対象ブロックに対して1ブロック以上隔てたブロックを含む複数のブロックの動きベクトルの類似性に基づいて、動きベクトルの予測値の決定、又は、動きベクトルの予測値決定方法の選択、を行う構成とすることが望ましい。   The prediction signal generation means described above is based on the similarity of motion vectors of a plurality of blocks including blocks separated by one or more blocks from the target block in the same frame as the block to be decoded. It is desirable to adopt a configuration that performs determination or selection of a motion vector prediction value determination method.

この場合、予測方法を自動的に決定できるため、予測方法を示す情報が入力される必要が無い。また、対象ブロックの動きベクトル予測値を時間方向から予測する際や、時間方向および空間方向から予測する際に、予測精度が高い動きベクトルを選択して予測値とすることで、精度よく予測することができる。   In this case, since the prediction method can be automatically determined, it is not necessary to input information indicating the prediction method. In addition, when predicting the motion vector prediction value of the target block from the temporal direction, or when predicting from the temporal direction and the spatial direction, a motion vector with high prediction accuracy is selected and used as a prediction value, thereby predicting with high accuracy. be able to.

また、予測信号生成手段は、復号化対象のブロックと同じフレーム内で対象ブロックに対して1ブロック以上隔てたブロックを含む複数のブロックの動きベクトルの類似性に基づく重み付けによって、動きベクトルの予測値を決定する構成とすることが望ましい。   In addition, the prediction signal generation unit is configured to calculate a motion vector prediction value by weighting based on the similarity of motion vectors of a plurality of blocks including a block that is one block or more apart from the target block in the same frame as the block to be decoded. It is desirable to adopt a configuration that determines

この場合、上記重み付けによって、周辺の動きベクトルを有効利用することで、局所的な動きベクトルの変化の影響を少なくし、動きベクトルの変化の大勢を反映した予測値を得ることが可能となる。   In this case, by using the surrounding motion vectors effectively by the weighting, it is possible to reduce the influence of local motion vector changes and obtain a predicted value reflecting the majority of motion vector changes.

また、予測信号生成手段は、復号化対象のブロックと同じフレーム内で対象ブロックに対して1ブロック以上隔てたブロックを含む複数のブロックの動きベクトルの類似性に基づいて、動きベクトルの予測値を示すための情報を復号化する際に用いる確率分布、又は、動きベクトルの予測値決定方法を示すための情報を復号化する際に用いる確率分布、を適応的に決定する構成とすることが望ましい。   Further, the prediction signal generation means calculates the motion vector prediction value based on the similarity of the motion vectors of a plurality of blocks including a block that is one block or more apart from the target block in the same frame as the block to be decoded. It is desirable to adopt a configuration that adaptively determines a probability distribution used when decoding information for indicating or a probability distribution used when decoding information for indicating a motion vector prediction value determination method. .

この場合、動きベクトルの予測値を示すための情報を復号化する際に用いる確率分布、又は、動きベクトルの予測値決定方法を示すための情報を復号化する際に用いる確率分布を、周辺環境に応じて適応化し、動画像符号化装置と同じ確率分布を用いることで、データを抽出することができる。   In this case, the probability distribution used when decoding the information for indicating the motion vector prediction value or the probability distribution used for decoding the information for indicating the motion vector prediction value determination method is the peripheral environment. By using the same probability distribution as that of the moving picture coding apparatus, data can be extracted.

更に、予測信号生成手段は、復号化対象のブロックと同じフレーム内で対象ブロックに対して1ブロック以上隔てたブロックを含む複数のブロックの動きベクトルの類似性に基づいて、動きベクトル差分値を復号化する際に用いる確率分布を適応的に決定する構成とすることが望ましい。   Furthermore, the prediction signal generation means decodes the motion vector difference value based on the similarity of the motion vectors of a plurality of blocks including a block separated by one block or more from the target block in the same frame as the block to be decoded. It is desirable to adopt a configuration that adaptively determines the probability distribution to be used at the time of conversion.

この場合、対象ブロックの動きベクトル予測値を空間方向から予測する際に、周辺環境に応じて動きベクトル差分値の発生確率分布を適応化し、動画像符号化装置と同じ確率分布を用いることで、データを抽出することができる。   In this case, when predicting the motion vector prediction value of the target block from the spatial direction, by adapting the occurrence probability distribution of the motion vector difference value according to the surrounding environment, and using the same probability distribution as the moving picture encoding device, Data can be extracted.

なお、本発明は、上記のように動画像符号化装置に係る発明および動画像復号化装置に係る発明として記述できる他、以下のように動画像符号化方法に係る発明、動画像符号化プログラムに係る発明、動画像復号方法に係る発明、及び動画像復号プログラムに係る発明としても記述することができる。動画像符号化方法に係る発明および動画像符号化プログラムに係る発明は、動画像符号化装置に係る発明とはカテゴリーが異なるだけで、実質的に同一の発明であり、同様の作用及び効果を奏する。また、動画像復号方法に係る発明および動画像復号プログラムに係る発明は、動画像復号化装置に係る発明とはカテゴリーが異なるだけで、実質的に同一の発明であり、同様の作用及び効果を奏する。   The present invention can be described as the invention related to the moving picture encoding apparatus and the invention related to the moving picture decoding apparatus as described above, as well as the invention related to the moving picture encoding method and the moving picture encoding program as described below. The invention according to the present invention, the invention according to the moving picture decoding method, and the invention related to the moving picture decoding program can also be described. The invention related to the moving image encoding method and the invention related to the moving image encoding program are substantially the same invention except for the category different from the invention related to the moving image encoding apparatus, and have the same operations and effects. Play. In addition, the invention related to the moving picture decoding method and the invention related to the moving picture decoding program are substantially the same invention except for the category different from the invention related to the moving picture decoding apparatus, and have the same operations and effects. Play.

本発明に係る動画像符号化方法は、動画像符号化装置により実行される動画像符号化方法であって、フレーム画像信号の時間系列で構成される入力動画像信号を複数の処理対象領域に分割する領域分割ステップと、前記処理対象領域の動きベクトルを検出する動き検出ステップと、前記処理対象領域に対する予測信号を生成する予測信号生成ステップと、前記予測信号と前記処理対象領域信号との残差信号を生成する残差信号生成ステップと、前記残差信号と前記動きベクトルを符号化して圧縮データを生成する符号化ステップとを備え、前記予測信号生成ステップでは、前記動画像符号化装置は、互いに異なるフレーム内にある複数のブロックの動きベクトルの類似性、又は、前記類似性および符号化対象のブロックと同じフレーム内にある複数のブロックの動きベクトルの類似性に基づいて、前記動きベクトルを符号化することを特徴とする。   A moving image encoding method according to the present invention is a moving image encoding method executed by a moving image encoding device, and an input moving image signal composed of a time sequence of frame image signals is assigned to a plurality of processing target regions. A region dividing step for dividing, a motion detecting step for detecting a motion vector of the processing target region, a prediction signal generating step for generating a prediction signal for the processing target region, and the remaining of the prediction signal and the processing target region signal A residual signal generating step for generating a difference signal; and an encoding step for encoding the residual signal and the motion vector to generate compressed data. In the prediction signal generating step, the video encoding device includes: The similarity of motion vectors of a plurality of blocks in different frames, or the same frame as the similarity and the block to be encoded. Based on the similarity of motion vectors of a plurality of blocks, characterized by coding the motion vector.

上記動画像符号化方法における予測信号生成ステップでは、前記動画像符号化装置は、互いに異なるフレーム内にある複数のブロックの動きベクトルの類似性、又は、前記類似性および符号化対象のブロックと同じフレーム内にある複数のブロックの動きベクトルの類似性に基づいて、動きベクトルの予測値を決定することが望ましい。   In the prediction signal generation step in the moving picture coding method, the moving picture coding apparatus is similar to motion vectors of a plurality of blocks in different frames or the similarity and the block to be coded. It is desirable to determine a motion vector prediction value based on the similarity of motion vectors of a plurality of blocks in a frame.

また、上記動画像符号化方法における予測信号生成ステップでは、前記動画像符号化装置は、互いに異なるフレーム内にある複数のブロックの動きベクトルの類似性、又は、前記類似性および符号化対象のブロックと同じフレーム内にある複数のブロックの動きベクトルの類似性に基づいて、動きベクトルの予測値決定方法を決定することが望ましい。   In the prediction signal generating step in the video encoding method, the video encoding device may use the similarity of motion vectors of a plurality of blocks in different frames, or the similarity and a block to be encoded. It is desirable to determine a motion vector prediction value determination method based on the similarity of motion vectors of a plurality of blocks in the same frame.

また、上記動画像符号化方法における予測信号生成ステップでは、前記動画像符号化装置は、互いに異なるフレーム内にある複数のブロックの動きベクトルの類似性、又は、前記類似性および符号化対象のブロックと同じフレーム内にある複数のブロックの動きベクトルの類似性に基づく重み付けによって、動きベクトルの予測値を決定することが望ましい。   In the prediction signal generating step in the video encoding method, the video encoding device may use the similarity of motion vectors of a plurality of blocks in different frames, or the similarity and a block to be encoded. It is desirable to determine a motion vector prediction value by weighting based on the similarity of motion vectors of a plurality of blocks in the same frame.

また、上記動画像符号化方法における予測信号生成ステップでは、前記動画像符号化装置は、互いに異なるフレーム内にある複数のブロックの動きベクトルの類似性、又は、前記類似性および符号化対象のブロックと同じフレーム内にある複数のブロックの動きベクトルの類似性に基づいて、動きベクトルの予測値を示すための情報を符号化する際に用いる確率分布を適応的に決定することが望ましい。   In the prediction signal generating step in the video encoding method, the video encoding device may use the similarity of motion vectors of a plurality of blocks in different frames, or the similarity and a block to be encoded. It is desirable to adaptively determine a probability distribution used when encoding information for indicating a motion vector prediction value based on the similarity of motion vectors of a plurality of blocks in the same frame.

また、上記動画像符号化方法における予測信号生成ステップでは、前記動画像符号化装置は、互いに異なるフレーム内にある複数のブロックの動きベクトルの類似性、又は、前記類似性および符号化対象のブロックと同じフレーム内にある複数のブロックの動きベクトルの類似性に基づいて、動きベクトルの予測値決定方法を示すための情報を符号化する際に用いる確率分布を適応的に決定することが望ましい。   In the prediction signal generating step in the video encoding method, the video encoding device may use the similarity of motion vectors of a plurality of blocks in different frames, or the similarity and a block to be encoded. It is desirable to adaptively determine the probability distribution used when encoding information for indicating a motion vector prediction value determination method based on the similarity of motion vectors of a plurality of blocks in the same frame.

また、上記動画像符号化方法における予測信号生成ステップでは、前記動画像符号化装置は、互いに異なるフレーム内にある複数のブロックの動きベクトルの類似性、又は、前記類似性および符号化対象のブロックと同じフレーム内にある複数のブロックの動きベクトルの類似性に基づいて、動きベクトル差分値を符号化する際に用いる確率分布を適応的に決定することが望ましい。   In the prediction signal generating step in the video encoding method, the video encoding device may use the similarity of motion vectors of a plurality of blocks in different frames, or the similarity and a block to be encoded. It is desirable to adaptively determine the probability distribution used when coding the motion vector difference value based on the similarity of the motion vectors of a plurality of blocks in the same frame.

本発明に係る動画像符号化方法は、動画像符号化装置により実行される動画像符号化方法であって、フレーム画像信号の時間系列で構成される入力動画像信号を複数の処理対象領域に分割する領域分割ステップと、前記処理対象領域の動きベクトルを検出する動き検出ステップと、前記処理対象領域に対する予測信号を生成する予測信号生成ステップと、前記予測信号と前記処理対象領域信号との残差信号を生成する残差信号生成ステップと、前記残差信号と前記動きベクトルを符号化して圧縮データを生成する符号化ステップとを備え、前記予測信号生成ステップでは、前記動画像符号化装置は、符号化対象のブロックと同じフレーム内で対象ブロックに対して1ブロック以上隔てたブロックを含む複数のブロックの動きベクトルの類似性に基づいて、前記動きベクトルを符号化することを特徴とする。   A moving image encoding method according to the present invention is a moving image encoding method executed by a moving image encoding device, and an input moving image signal composed of a time sequence of frame image signals is assigned to a plurality of processing target regions. A region dividing step for dividing, a motion detecting step for detecting a motion vector of the processing target region, a prediction signal generating step for generating a prediction signal for the processing target region, and the remaining of the prediction signal and the processing target region signal A residual signal generating step for generating a difference signal; and an encoding step for encoding the residual signal and the motion vector to generate compressed data. In the prediction signal generating step, the video encoding device includes: Similarity of motion vectors of a plurality of blocks including a block separated by one block or more from the target block in the same frame as the block to be encoded Based on, characterized by coding the motion vector.

上記動画像符号化方法における予測信号生成ステップでは、前記動画像符号化装置は、符号化対象のブロックと同じフレーム内で対象ブロックに対して1ブロック以上隔てたブロックを含む複数のブロックの動きベクトルの類似性に基づいて、動きベクトルの予測値を決定することが望ましい。   In the prediction signal generating step in the moving image encoding method, the moving image encoding device includes motion vectors of a plurality of blocks including a block separated by at least one block from the target block in the same frame as the block to be encoded. It is desirable to determine the predicted value of the motion vector based on the similarity of.

また、上記動画像符号化方法における予測信号生成ステップでは、前記動画像符号化装置は、符号化対象のブロックと同じフレーム内で対象ブロックに対して1ブロック以上隔てたブロックを含む複数のブロックの動きベクトルの類似性に基づいて、動きベクトルの予測値決定方法を決定することが望ましい。   Further, in the prediction signal generation step in the video encoding method, the video encoding apparatus includes a plurality of blocks including blocks separated by one block or more from the target block in the same frame as the block to be encoded. It is desirable to determine a motion vector prediction value determination method based on the similarity of motion vectors.

また、上記動画像符号化方法における予測信号生成ステップでは、前記動画像符号化装置は、符号化対象のブロックと同じフレーム内で対象ブロックに対して1ブロック以上隔てたブロックを含む複数のブロックの動きベクトルの類似性に基づく重み付けによって、動きベクトルの予測値を決定することが望ましい。   Further, in the prediction signal generation step in the video encoding method, the video encoding apparatus includes a plurality of blocks including blocks separated by one block or more from the target block in the same frame as the block to be encoded. It is desirable to determine a motion vector prediction value by weighting based on the similarity of motion vectors.

また、上記動画像符号化方法における予測信号生成ステップでは、前記動画像符号化装置は、符号化対象のブロックと同じフレーム内で対象ブロックに対して1ブロック以上隔てたブロックを含む複数のブロックの動きベクトルの類似性に基づいて、動きベクトルの予測値を示すための情報を符号化する際に用いる確率分布を適応的に決定することが望ましい。   Further, in the prediction signal generation step in the video encoding method, the video encoding apparatus includes a plurality of blocks including blocks separated by one block or more from the target block in the same frame as the block to be encoded. It is desirable to adaptively determine a probability distribution used when encoding information for indicating a motion vector prediction value based on the similarity of motion vectors.

また、上記動画像符号化方法における予測信号生成ステップでは、前記動画像符号化装置は、符号化対象のブロックと同じフレーム内で対象ブロックに対して1ブロック以上隔てたブロックを含む複数のブロックの動きベクトルの類似性に基づいて、動きベクトルの予測値決定方法を示すための情報を符号化する際に用いる確率分布を適応的に決定することが望ましい。   Further, in the prediction signal generation step in the video encoding method, the video encoding apparatus includes a plurality of blocks including blocks separated by one block or more from the target block in the same frame as the block to be encoded. It is desirable to adaptively determine the probability distribution used when encoding information for indicating a motion vector prediction value determination method based on the similarity of motion vectors.

また、上記動画像符号化方法における予測信号生成ステップでは、前記動画像符号化装置は、符号化対象のブロックと同じフレーム内で対象ブロックに対して1ブロック以上隔てたブロックを含む複数のブロックの動きベクトルの類似性に基づいて、動きベクトル差分値を符号化する際に用いる確率分布を適応的に決定することが望ましい。   Further, in the prediction signal generation step in the video encoding method, the video encoding apparatus includes a plurality of blocks including blocks separated by one block or more from the target block in the same frame as the block to be encoded. It is desirable to adaptively determine the probability distribution used when coding the motion vector difference value based on the similarity of the motion vectors.

本発明に係る動画像復号化方法は、動画像復号化装置により実行される動画像復号化方法であって、圧縮データの中から処理対象領域に関する残差信号と動きベクトルの情報を抽出するデータ抽出ステップと、前記処理対象領域に関する残差信号を再生残差信号に復元する残差信号復元ステップと、前記処理対象領域に対する予測信号を生成する予測信号生成ステップと、前記予測信号と前記再生残差信号を加算することによって、前記対象領域の画素信号を復元する画像復元ステップを備え、前記予測信号生成ステップでは、前記動画像復号化装置は、互いに異なるフレーム内にある複数のブロックの動きベクトルの類似性、又は、前記類似性および復号化対象のブロックと同じフレーム内にある複数のブロックの動きベクトルの類似性に基づいて、前記動きベクトルを復号化することを特徴とする。   A moving image decoding method according to the present invention is a moving image decoding method executed by a moving image decoding apparatus, and is a data for extracting residual signal and motion vector information relating to a processing target region from compressed data. An extraction step; a residual signal restoration step that restores a residual signal related to the processing target region to a playback residual signal; a prediction signal generation step that generates a prediction signal for the processing target region; the prediction signal and the playback residual An image restoration step of restoring a pixel signal of the target region by adding a difference signal, wherein in the prediction signal generation step, the moving picture decoding device includes motion vectors of a plurality of blocks in different frames; Or the similarity of motion vectors of blocks in the same frame as the block to be decoded. Zui it, characterized by decoding the motion vector.

上記動画像復号化方法における予測信号生成ステップでは、前記動画像復号化装置は、互いに異なるフレーム内にある複数のブロックの動きベクトルの類似性、又は、前記類似性および復号化対象のブロックと同じフレーム内にある複数のブロックの動きベクトルの類似性に基づいて、動きベクトルの予測値を決定することが望ましい。   In the prediction signal generation step in the moving picture decoding method, the moving picture decoding apparatus is similar to the similarity of motion vectors of a plurality of blocks in different frames or the similarity and the block to be decoded. It is desirable to determine a motion vector prediction value based on the similarity of motion vectors of a plurality of blocks in a frame.

また、上記動画像復号化方法における予測信号生成ステップでは、前記動画像復号化装置は、互いに異なるフレーム内にある複数のブロックの動きベクトルの類似性、又は、前記類似性および復号化対象のブロックと同じフレーム内にある複数のブロックの動きベクトルの類似性に基づいて、動きベクトルの予測値決定方法を決定することが望ましい。   Further, in the prediction signal generating step in the video decoding method, the video decoding device is configured to detect the similarity of motion vectors of a plurality of blocks in different frames or the similarity and a block to be decoded. It is desirable to determine a motion vector prediction value determination method based on the similarity of motion vectors of a plurality of blocks in the same frame.

また、上記動画像復号化方法における予測信号生成ステップでは、前記動画像復号化装置は、互いに異なるフレーム内にある複数のブロックの動きベクトルの類似性、又は、前記類似性および復号化対象のブロックと同じフレーム内にある複数のブロックの動きベクトルの類似性に基づく重み付けによって、動きベクトルの予測値を決定することが望ましい。   Further, in the prediction signal generating step in the video decoding method, the video decoding device is configured to detect the similarity of motion vectors of a plurality of blocks in different frames or the similarity and a block to be decoded. It is desirable to determine a motion vector prediction value by weighting based on the similarity of motion vectors of a plurality of blocks in the same frame.

また、上記動画像復号化方法における予測信号生成ステップでは、前記動画像復号化装置は、互いに異なるフレーム内にある複数のブロックの動きベクトルの類似性、又は、前記類似性および復号化対象のブロックと同じフレーム内にある複数のブロックの動きベクトルの類似性に基づいて、動きベクトルの予測値を示すための情報を復号化する際に用いる確率分布を適応的に決定することが望ましい。   Further, in the prediction signal generating step in the video decoding method, the video decoding device is configured to detect the similarity of motion vectors of a plurality of blocks in different frames or the similarity and a block to be decoded. It is desirable to adaptively determine a probability distribution used when decoding information for indicating a motion vector prediction value based on the similarity of motion vectors of a plurality of blocks in the same frame.

また、上記動画像復号化方法における予測信号生成ステップでは、前記動画像復号化装置は、互いに異なるフレーム内にある複数のブロックの動きベクトルの類似性、又は、前記類似性および復号化対象のブロックと同じフレーム内にある複数のブロックの動きベクトルの類似性に基づいて、動きベクトルの予測値決定方法を示すための情報を復号化する際に用いる確率分布を適応的に決定することが望ましい。   Further, in the prediction signal generating step in the video decoding method, the video decoding device is configured to detect the similarity of motion vectors of a plurality of blocks in different frames or the similarity and a block to be decoded. It is desirable to adaptively determine a probability distribution used when decoding information for indicating a motion vector prediction value determination method based on the similarity of motion vectors of a plurality of blocks in the same frame.

また、上記動画像復号化方法における予測信号生成ステップでは、前記動画像復号化装置は、互いに異なるフレーム内にある複数のブロックの動きベクトルの類似性、又は、前記類似性および復号化対象のブロックと同じフレーム内にある複数のブロックの動きベクトルの類似性に基づいて、動きベクトル差分値を復号化する際に用いる確率分布を適応的に決定することが望ましい。   Further, in the prediction signal generating step in the video decoding method, the video decoding device is configured to detect the similarity of motion vectors of a plurality of blocks in different frames or the similarity and a block to be decoded. It is desirable to adaptively determine a probability distribution used when decoding a motion vector difference value based on the similarity of motion vectors of a plurality of blocks in the same frame.

本発明に係る動画像復号化方法は、動画像復号化装置により実行される動画像復号化方法であって、圧縮データの中から処理対象領域に関する残差信号と動きベクトルの情報を抽出するデータ抽出ステップと、前記処理対象領域に関する残差信号を再生残差信号に復元する残差信号復元ステップと、前記処理対象領域に対する予測信号を生成する予測信号生成ステップと、前記予測信号と前記再生残差信号を加算することによって、前記対象領域の画素信号を復元する画像復元ステップを備え、前記予測信号生成ステップでは、前記動画像復号化装置は、復号化対象のブロックと同じフレーム内で対象ブロックに対して1ブロック以上隔てたブロックを含む複数のブロックの動きベクトルの類似性に基づいて、前記動きベクトルを復号化することを特徴とする。   A moving image decoding method according to the present invention is a moving image decoding method executed by a moving image decoding apparatus, and is a data for extracting residual signal and motion vector information relating to a processing target region from compressed data. An extraction step; a residual signal restoration step that restores a residual signal related to the processing target region to a playback residual signal; a prediction signal generation step that generates a prediction signal for the processing target region; the prediction signal and the playback residual An image restoration step of restoring the pixel signal of the target region by adding the difference signal is provided, and in the prediction signal generation step, the video decoding device includes the target block within the same frame as the block to be decoded. The motion vector is decoded based on the similarity of motion vectors of a plurality of blocks including a block separated by one block or more And wherein the door.

上記動画像復号化方法における動き予測信号生成ステップでは、前記動画像復号化装置は、復号化対象のブロックと同じフレーム内で対象ブロックに対して1ブロック以上隔てたブロックを含む複数のブロックの動きベクトルの類似性に基づいて、動きベクトルの予測値を決定することが望ましい。   In the motion prediction signal generation step in the moving picture decoding method, the moving picture decoding apparatus moves a plurality of blocks including a block separated by at least one block from the target block in the same frame as the block to be decoded. It is desirable to determine a motion vector prediction value based on vector similarity.

また、上記動画像復号化方法における予測信号生成ステップでは、前記動画像復号化装置は、復号化対象のブロックと同じフレーム内で対象ブロックに対して1ブロック以上隔てたブロックを含む複数のブロックの動きベクトルの類似性に基づいて、動きベクトルの予測値決定方法を決定することが望ましい。   Further, in the prediction signal generating step in the video decoding method, the video decoding device includes a plurality of blocks including blocks separated by one block or more from the target block in the same frame as the block to be decoded. It is desirable to determine a motion vector prediction value determination method based on the similarity of motion vectors.

また、上記動画像復号化方法における予測信号生成ステップでは、前記動画像復号化装置は、復号化対象のブロックと同じフレーム内で対象ブロックに対して1ブロック以上隔てたブロックを含む複数のブロックの動きベクトルの類似性に基づく重み付けによって、動きベクトルの予測値を決定することが望ましい。   Further, in the prediction signal generating step in the video decoding method, the video decoding device includes a plurality of blocks including blocks separated by one block or more from the target block in the same frame as the block to be decoded. It is desirable to determine a motion vector prediction value by weighting based on the similarity of motion vectors.

また、上記動画像復号化方法における予測信号生成ステップでは、前記動画像復号化装置は、復号化対象のブロックと同じフレーム内で対象ブロックに対して1ブロック以上隔てたブロックを含む複数のブロックの動きベクトルの類似性に基づいて、動きベクトルの予測値を示すための情報を復号化する際に用いる確率分布を適応的に決定することが望ましい。   Further, in the prediction signal generating step in the video decoding method, the video decoding device includes a plurality of blocks including blocks separated by one block or more from the target block in the same frame as the block to be decoded. It is desirable to adaptively determine a probability distribution used when decoding information for indicating a motion vector prediction value based on the similarity of motion vectors.

また、上記動画像復号化方法における動き予測信号生成ステップでは、前記動画像復号化装置は、復号化対象のブロックと同じフレーム内で対象ブロックに対して1ブロック以上隔てたブロックを含む複数のブロックの動きベクトルの類似性に基づいて、動きベクトルの予測値決定方法を示すための情報を復号化する際に用いる確率分布を適応的に決定することが望ましい。   In the motion prediction signal generation step in the video decoding method, the video decoding device includes a plurality of blocks including a block separated by one block or more from the target block in the same frame as the block to be decoded. It is desirable to adaptively determine a probability distribution used when decoding information for indicating a motion vector prediction value determination method based on the similarity of motion vectors.

また、上記動画像復号化方法における予測信号生成ステップでは、前記動画像復号化装置は、復号化対象のブロックと同じフレーム内で対象ブロックに対して1ブロック以上隔てたブロックを含む複数のブロックの動きベクトルの類似性に基づいて、動きベクトル差分値を復号化する際に用いる確率分布を適応的に決定することが望ましい。   Further, in the prediction signal generating step in the video decoding method, the video decoding device includes a plurality of blocks including blocks separated by one block or more from the target block in the same frame as the block to be decoded. It is desirable to adaptively determine the probability distribution used when decoding the motion vector difference value based on the similarity of the motion vectors.

本発明に係る動画像符号化プログラムは、コンピュータを、前述したいずれか1つの態様の動画像符号化装置として機能させることを特徴とする。   A moving image encoding program according to the present invention causes a computer to function as the moving image encoding apparatus according to any one of the above-described aspects.

本発明に係る動画像復号化プログラムは、コンピュータを、前述したいずれか1つの態様の動画像復号化装置として機能させることを特徴とする。   A moving picture decoding program according to the present invention causes a computer to function as the moving picture decoding apparatus according to any one of the aspects described above.

本発明によれば、符号化の効率及び精度を向上させることができる。また、復号化の効率及び精度を向上させることができる。   According to the present invention, encoding efficiency and accuracy can be improved. Also, the decoding efficiency and accuracy can be improved.

本発明の実施形態に係る動画像符号化装置及び動画像復号化装置について図面を参照して説明する。なお、各図において、同一要素には同一符号を付して重複する説明を省略する。   A video encoding device and video decoding device according to an embodiment of the present invention will be described with reference to the drawings. In addition, in each figure, the same code | symbol is attached | subjected to the same element and the overlapping description is abbreviate | omitted.

[第1実施形態]
図1を用いて、本発明に係る動画像符号化装置10について説明する。動画像符号化装置10は、機能的な構成要素として、図1に示すように、ブロック分割器101と、フレームメモリ102と、動き検出器103と、予測信号生成器104と、動きベクトルメモリ105と、減算器106と、変換器107と、量子化器108と、逆量子化器109と、逆変換器110と、加算器111と、動き予測器112と、減算器113と、エントロピー符号化器114とを備えて構成される。
[First Embodiment]
A moving picture coding apparatus 10 according to the present invention will be described with reference to FIG. As shown in FIG. 1, the moving image encoding apparatus 10 includes a block divider 101, a frame memory 102, a motion detector 103, a prediction signal generator 104, and a motion vector memory 105 as functional components. A subtractor 106, a converter 107, a quantizer 108, an inverse quantizer 109, an inverse transformer 110, an adder 111, a motion predictor 112, a subtractor 113, and entropy coding. Device 114.

動画像符号化装置10に入力される入力映像信号(動画像信号)は、フレーム単位の画像信号(以下「フレーム画像信号」という)の時間系列で構成されている。   An input video signal (moving image signal) input to the moving image encoding apparatus 10 is composed of a time series of image signals in units of frames (hereinafter referred to as “frame image signals”).

ブロック分割器101は、ラインL101を経由して入力された入力映像信号の符号化対象となるフレーム画像信号を複数の領域(ブロック)に分割し、ラインL102を経由して符号化対象のブロック(以下「対象ブロック」という)の画像信号を出力する。本実施形態では8×8の画素からなるブロックに分割するが、それ以外の大きさまたは形に分割してもよい。このブロック単位で以下の符号化処理が行われる。   The block divider 101 divides the frame image signal to be encoded of the input video signal input via the line L101 into a plurality of regions (blocks), and blocks the block to be encoded via the line L102 ( The image signal (hereinafter referred to as “target block”) is output. In this embodiment, the block is divided into 8 × 8 pixels, but may be divided into other sizes or shapes. The following encoding process is performed for each block.

フレームメモリ102は、ラインL103を経由して入力される過去に符号化済みのフレーム画像信号(以下「参照フレーム画像信号」という)を格納し、必要に応じてラインL104を経由して出力する。   The frame memory 102 stores a previously encoded frame image signal (hereinafter referred to as “reference frame image signal”) input via the line L103, and outputs it via the line L104 as necessary.

動き検出器103は、ラインL102を経由して入力される対象ブロックの画像信号のパターンに類似した画像信号パターンを、ラインL104を経由して入力される参照フレーム画像信号から所定範囲内で探索し、両画像信号パターン間の空間的な変位量である動きベクトルを検出し、ラインL105を経由して出力する。また、その動きベクトルが参照するフレームの番号(以下「参照フレーム番号」という)を検出し、ラインL115を経由して出力する。   The motion detector 103 searches for an image signal pattern similar to the image signal pattern of the target block input via the line L102 within a predetermined range from the reference frame image signal input via the line L104. Then, a motion vector, which is a spatial displacement amount between both image signal patterns, is detected and output via a line L105. Further, the frame number referred to by the motion vector (hereinafter referred to as “reference frame number”) is detected and output via the line L115.

予測信号生成器104は、ラインL105を経由して入力される対象ブロックの動きベクトル信号値とラインL115を経由して入力される参照フレーム番号と、ラインL104を経由して入力される参照フレーム画像信号から、対象ブロックに対する予測画像信号を生成し、ラインL106を経由して出力する。   The prediction signal generator 104 includes the motion vector signal value of the target block input via the line L105, the reference frame number input via the line L115, and the reference frame image input via the line L104. A predicted image signal for the target block is generated from the signal and output via the line L106.

動きベクトルメモリ105は、過去に符号化済みの動きベクトルや参照フレーム番号と併せて、ラインL105を経由して入力される動きベクトルとラインL115を経由して入力される参照フレーム番号を格納し、必要に応じてラインL112を経由して出力する。   The motion vector memory 105 stores the motion vector input via the line L105 and the reference frame number input via the line L115 together with the motion vector and the reference frame number encoded in the past. Output via line L112 as necessary.

減算器106は、ラインL102を経由して入力された対象ブロックの画像信号から、ラインL106を経由して入力された対象ブロックに対する予測画像信号を減算し、残差信号を生成し、ラインL107を経由して出力する。   The subtractor 106 subtracts the prediction image signal for the target block input via the line L106 from the image signal of the target block input via the line L102, generates a residual signal, Output via.

変換器107は、ラインL107を経由して入力された残差信号を直交変換し、ラインL108を経由して変換係数を出力する。   The converter 107 orthogonally transforms the residual signal input via the line L107 and outputs a conversion coefficient via the line L108.

量子化器108は、ラインL108を経由して入力された変換係数を量子化し、ラインL109を経由して量子化された変換係数を出力する。   The quantizer 108 quantizes the transform coefficient input via the line L108, and outputs the quantized transform coefficient via the line L109.

逆量子化器109は、ラインL109を経由して入力された量子化された変換係数を逆量子化し、ラインL110を経由して復元された変換係数を出力する。   The inverse quantizer 109 inversely quantizes the quantized transform coefficient input via the line L109, and outputs the restored transform coefficient via the line L110.

逆変換器110は、ラインL110を経由して入力された変換係数を逆直交変換し、ラインL111を経由して復元された残差信号を出力する。   The inverse transformer 110 performs inverse orthogonal transform on the transform coefficient input via the line L110, and outputs a residual signal restored via the line L111.

加算器111は、ラインL111を経由して入力された残差信号と、ラインL106を経由して入力された対象ブロックに対する予測画像信号を加算し、対象ブロックの画像信号を復元し、ラインL103を経由して出力する。   The adder 111 adds the residual signal input via the line L111 and the prediction image signal for the target block input via the line L106, restores the image signal of the target block, and sets the line L103 to Output via.

動き予測器112は、ラインL112を経由して入力される過去に符号化済みのブロックの動きベクトルと、それに対応した参照フレーム番号とラインL115を経由して入力される対象ブロックの参照フレーム番号から、後述するフローに従って対象ブロックの動きベクトル予測値を算出し、ラインL113を経由して出力する。   The motion predictor 112 uses the motion vector of the previously encoded block input via the line L112, the corresponding reference frame number, and the reference frame number of the target block input via the line L115. Then, the motion vector prediction value of the target block is calculated according to the flow described later, and is output via the line L113.

減算器113は、ラインL105を経由して入力された対象ブロックの動きベクトル値から、ラインL113を経由して入力された対象ブロックの動きベクトル予測値を減算し、動きベクトル差分値を生成する。そしてラインL114を経由して動きベクトル差分値を出力する。   The subtractor 113 subtracts the motion vector prediction value of the target block input via the line L113 from the motion vector value of the target block input via the line L105 to generate a motion vector difference value. Then, the motion vector difference value is output via the line L114.

エントロピー符号化器114は、ラインL109を経由して入力された量子化された変換係数とラインL114を経由して入力された動きベクトル差分値とラインL115を経由して入力された対象ブロックの参照フレーム番号を符号化し、多重化したうえで、圧縮ストリームをラインL116に出力する。   The entropy encoder 114 refers to the quantized transform coefficient input via the line L109, the motion vector difference value input via the line L114, and the target block input via the line L115. The frame number is encoded and multiplexed, and then the compressed stream is output to the line L116.

次に、図2を参照して動き予測器112について詳細に説明する。図2は、動き予測器112における動きベクトル予測値を決定する手順を説明するための模式図である。   Next, the motion predictor 112 will be described in detail with reference to FIG. FIG. 2 is a schematic diagram for explaining a procedure for determining a motion vector prediction value in the motion predictor 112.

図2で、対象ブロックをHとし、フレームF001はブロックHを含むフレームである。フレームF002は既に符号化済みのフレームで、フレームF001とは時間方向で隣り合うフレームである。   In FIG. 2, the target block is H, and the frame F001 is a frame including the block H. The frame F002 is an already encoded frame, and the frame F001 is a frame adjacent in the time direction.

フレームF001において、ブロックDをブロックHの最も左上の画素の真左上の画素を含むブロック、ブロックEをブロックHの最も左上の画素の真上の画素を含むブロック、ブロックFをブロックHの最も左上の画素の真左の画素を含むブロックとする。   In frame F001, block D is a block including the pixel immediately above the upper leftmost pixel of block H, block E is a block including the pixel immediately above the uppermost left pixel of block H, and block F is the upper leftmost of block H. A block including a pixel immediately to the left of the pixel.

フレームF002において、ブロックAはブロックHの最も左上の画素と同じ空間位置の画素を含むブロックとする。ブロックBをブロックAの最も左上の画素の真上の画素を含むブロック、ブロックCをブロックAの最も左上の画素の真左の画素を含むブロックとする。   In the frame F002, the block A is a block including a pixel at the same spatial position as the upper left pixel of the block H. Block B is a block including a pixel immediately above the upper leftmost pixel of block A, and block C is a block including a pixel immediately left of the uppermost left pixel of block A.

図3は、動き予測器112における動きベクトル予測値を決定する手順を説明するためのフローチャートである。   FIG. 3 is a flowchart for explaining a procedure for determining a motion vector prediction value in the motion predictor 112.

まず動き予測器112は、ラインL112を経由して入力される符号化済みのブロックA、B、C、E、Fの動きベクトルと対応する参照フレーム番号とを取得する(ステップS001)。   First, the motion predictor 112 acquires the motion vectors of the encoded blocks A, B, C, E, and F input via the line L112 and the corresponding reference frame numbers (step S001).

なおステップS001で取得される動きベクトルは、対象ブロックを含むフレームと、対象ブロックの動きベクトルが参照するフレームとの時間的距離に基づいてスケーリングされることが好ましい。スケーリングの際には各ブロックの動きベクトルが参照するフレームの時刻を用いるため、各ブロックに対応する参照フレーム番号からその時刻を求める必要がある。   Note that the motion vector acquired in step S001 is preferably scaled based on a temporal distance between a frame including the target block and a frame referred to by the motion vector of the target block. Since the time of the frame referred to by the motion vector of each block is used at the time of scaling, it is necessary to obtain the time from the reference frame number corresponding to each block.

スケーリングによって、対象ブロックを含むフレームの時刻t0から、対象ブロックの動きベクトルが参照するフレームの時刻teまでの時間的距離(t0-te)を基準にして、取得した符号化済みのブロックA、B、C、E、Fの動きベクトルの大きさを補正することができる。具体的に一例を挙げると、ブロックAの動きベクトルMViA(i=x,y)が参照するフレームの時刻をta、ブロックAを含むフレームの時刻をt1とすると、スケーリングされた動きベクトルMViA’(i=x,y)は、下記式(1)によって与えられるベクトルである。

Figure 2008283490

なお、このスケーリング処理は必須ではなく、スケーリング処理を行わない場合は各ブロックに対応する参照フレーム番号は必要ない。 Encoded blocks A and B obtained by scaling based on the time distance (t0-te) from the time t0 of the frame including the target block to the time te of the frame referred to by the motion vector of the target block , C, E, and F motion vector magnitudes can be corrected. As a specific example, if the time of the frame referred to by the motion vector MViA (i = x, y) of the block A is ta and the time of the frame including the block A is t1, the scaled motion vector MViA ′ ( i = x, y) is a vector given by the following equation (1).
Figure 2008283490

Note that this scaling processing is not essential, and reference frame numbers corresponding to the respective blocks are not required when the scaling processing is not performed.

また、ステップS001において符号化済みのブロックそのもの、あるいは符号化済みのブロックの動きベクトルが存在しない場合、そのブロックは極めて大きい動きベクトルを持つとみなし、十分大きな値とした上で処理を進める。あるいは、処理対象から除く。   Further, if there is no encoded block itself or a motion vector of the encoded block in step S001, it is considered that the block has a very large motion vector, and the process proceeds with a sufficiently large value. Alternatively, it is excluded from the processing target.

続いて、ブロックBの動きベクトルとブロックEの動きベクトルの差分、ブロックCの動きベクトルとブロックFの動きベクトルの差分が算出される(ステップS002)。   Subsequently, the difference between the motion vector of block B and the motion vector of block E, and the difference of the motion vector of block C and the motion vector of block F are calculated (step S002).

次に、ステップS002で算出された2通りの差分のうち、少なくとも1つが閾値以下かどうかが判定される(ステップS003)。   Next, it is determined whether at least one of the two differences calculated in step S002 is equal to or less than a threshold value (step S003).

ステップS003での判定の結果、2通りの差分のうち、少なくとも1つが閾値以下ならば(ステップS003:YES)、処理をステップS004に進める。2通りの差分がともに閾値より大きいならば(ステップS003:NO)、処理をステップS005に進める。   As a result of the determination in step S003, if at least one of the two differences is equal to or less than the threshold value (step S003: YES), the process proceeds to step S004. If the two differences are both greater than the threshold (step S003: NO), the process proceeds to step S005.

ステップS004では、ブロックHの動きベクトル予測値はブロックAの動きベクトルと同じ値に決定される。   In step S004, the motion vector prediction value of block H is determined to be the same value as the motion vector of block A.

ステップS005では、ブロックHの動きベクトル予測値はブロックFの動きベクトルと同じ値に決定される。   In step S005, the motion vector prediction value of block H is determined to be the same value as the motion vector of block F.

最後に、決定された値PMVi(i=x,y)を出力し(ステップS006)、処理を終了する。   Finally, the determined value PMVi (i = x, y) is output (step S006), and the process ends.

なお、ステップS003における判定は2通りの差分の両方が閾値以下かどうかを判定しても良い。   Note that the determination in step S003 may determine whether both of the two differences are equal to or less than a threshold value.

また、ステップS005でブロックHの動きベクトル予測値はブロックFの動きベクトルと同じ値としたが、動きベクトルをゼロベクトル(すなわち、動きベクトルの予測をしない)としてもよい。あらかじめ決められた任意の動きベクトルを予測値としてもよい。   In step S005, the motion vector prediction value of block H is the same as the motion vector of block F, but the motion vector may be a zero vector (that is, no motion vector is predicted). An arbitrary motion vector determined in advance may be used as the predicted value.

また、動き予測器112における動きベクトル予測値の決定は、図4のフローチャートに従ってもよい。   Further, the motion vector prediction value in the motion predictor 112 may be determined according to the flowchart of FIG.

図4では、動きベクトルのx成分、y成分はそれぞれ独立に予測値が決定されるものとする。具体的にはまず動きベクトルのx成分の予測値を決定・出力し、次にy成分の予測値を決定・出力する。以下では必要に応じて、成分を示す添え字をiと記す(iはx又はyである)。   In FIG. 4, it is assumed that predicted values are independently determined for the x and y components of the motion vector. Specifically, first, the predicted value of the x component of the motion vector is determined and output, and then the predicted value of the y component is determined and output. In the following, a subscript indicating a component is written as i (i is x or y) as necessary.

まず動き予測器112は、ラインL112を経由して入力される符号化済みのブロックA、B、C、D、E、Fの動きベクトルと対応する参照フレーム番号を取得する(ステップS101)。   First, the motion predictor 112 acquires reference frame numbers corresponding to motion vectors of encoded blocks A, B, C, D, E, and F input via the line L112 (step S101).

なおステップS101で取得される動きベクトルは、対象ブロックを含むフレームと、対象ブロックの動きベクトルが参照するフレームとの時間的距離に基づいてスケーリングされることが好ましい。スケーリングの際には各ブロックの動きベクトルが参照するフレームの時刻を用いるため、各ブロックに対応する参照フレーム番号からその時刻を求める必要がある。   Note that the motion vector acquired in step S101 is preferably scaled based on a temporal distance between a frame including the target block and a frame referred to by the motion vector of the target block. Since the time of the frame referred to by the motion vector of each block is used at the time of scaling, it is necessary to obtain the time from the reference frame number corresponding to each block.

スケーリングによって、対象ブロックを含むフレームの時刻t0から、対象ブロックの動きベクトルが参照するフレームの時刻teまでの時間的距離(t0-te)を基準にして、取得した符号化済みのブロックA、B、C、D、E、Fの動きベクトルの大きさを補正することができる。具体的に一例を挙げると、ブロックAの動きベクトルMViA(i=x,y)が参照するフレームの時刻をta、ブロックAを含むフレームの時刻をt1とすると、スケーリングされた動きベクトルMViA’(i=x,y)は、式(1)によって与えられるベクトルである。   Encoded blocks A and B obtained by scaling based on the time distance (t0-te) from the time t0 of the frame including the target block to the time te of the frame referred to by the motion vector of the target block , C, D, E, and F motion vector magnitudes can be corrected. As a specific example, if the time of the frame referred to by the motion vector MViA (i = x, y) of the block A is ta and the time of the frame including the block A is t1, the scaled motion vector MViA ′ ( i = x, y) is a vector given by equation (1).

なお、このスケーリング処理は必須ではなく、スケーリング処理を行わない場合は各ブロックに対応する参照フレーム番号は必要ない。   Note that this scaling processing is not essential, and reference frame numbers corresponding to the respective blocks are not required when the scaling processing is not performed.

また、ステップS101において符号化済みのブロックそのもの、あるいは符号化済みのブロックの動きベクトルが存在しない場合、そのブロックは極めて大きい動きベクトルを持つとみなし、十分大きな値とした上で処理を進める。あるいは、処理対象から除く。   If there is no coded block itself or a motion vector of the coded block in step S101, the block is regarded as having a very large motion vector, and the process proceeds with a sufficiently large value. Alternatively, it is excluded from the processing target.

続いて、ブロックBの動きベクトルとブロックEの動きベクトルの差分、ブロックCの動きベクトルとブロックFの動きベクトルの差分、ブロックDの動きベクトルとブロックEの動きベクトルの差分、ブロックDの動きベクトルとブロックFの動きベクトルの差分の4通りが算出される(ステップS102)。   Subsequently, the difference between the motion vector of block B and the motion vector of block E, the difference of the motion vector of block C and the motion vector of block F, the difference of the motion vector of block D and the motion vector of block E, the motion vector of block D And four different motion vector differences of the block F are calculated (step S102).

次に、ステップS102で算出された4通りの差分のうち、どの組み合わせの差分が最小のものであるかが判定される。(ステップS103)。   Next, it is determined which combination of the four differences calculated in step S102 has the smallest difference. (Step S103).

ステップS103での判定の結果、もっとも小さい差分を与える組み合わせがブロックBとブロックEである場合にはブロックHの動きベクトル予測値はブロックAの動きベクトルと同じ値に決定される。ブロックCとブロックFである場合には、ブロックHの動きベクトル予測値はブロックAの動きベクトルと同じ値に決定される。ブロックDとブロックEである場合には、ブロックHの動きベクトル予測値はブロックFの動きベクトルと同じ値に決定される。ブロックDとブロックFである場合には、ブロックHの動きベクトル予測値はブロックEの動きベクトルと同じ値に決定される(ステップS104)。   As a result of the determination in step S103, if the combination that gives the smallest difference is block B and block E, the motion vector prediction value of block H is determined to be the same value as the motion vector of block A. In the case of block C and block F, the motion vector prediction value of block H is determined to be the same value as the motion vector of block A. In the case of block D and block E, the motion vector prediction value of block H is determined to be the same value as the motion vector of block F. In the case of block D and block F, the motion vector prediction value of block H is determined to be the same value as the motion vector of block E (step S104).

最後に、ステップS104で決定された値PMVi(i=x,y)を出力し(ステップS105)、処理を終了する。   Finally, the value PMVi (i = x, y) determined in step S104 is output (step S105), and the process ends.

なお、図4のフローチャートに示される一連の処理はx成分、y成分に分けずにベクトルの差分(具体的にはベクトルノルムなど)を算出し、動きベクトルのx成分、y成分を同時に決定してもよい。   The series of processes shown in the flowchart of FIG. 4 calculates a vector difference (specifically, a vector norm) without dividing the x component and the y component, and simultaneously determines the x component and the y component of the motion vector. May be.

また、動き予測器112における動きベクトル予測値を決定する手順は図5で説明されるフローチャートに従ってもよい。動きベクトルx成分、y成分はそれぞれ独立に予測値が決定されるものとする。具体的にはまず動きベクトルのx成分の予測値を決定・出力し、次にy成分の予測値を決定・出力する。以下では必要に応じて、成分を示す添え字をiと記す(iはx又はyである)。   Further, the procedure for determining the motion vector prediction value in the motion predictor 112 may follow the flowchart described in FIG. It is assumed that predicted values are determined independently for the motion vector x component and the y component. Specifically, first, the predicted value of the x component of the motion vector is determined and output, and then the predicted value of the y component is determined and output. In the following, a subscript indicating a component is written as i (i is x or y) as necessary.

まず動き予測器112は、ラインL112を経由して入力される符号化済みのブロックA、B、C、D、E、Fの動きベクトルと対応する参照フレーム番号を取得する(ステップS201)。   First, the motion predictor 112 acquires reference frame numbers corresponding to motion vectors of encoded blocks A, B, C, D, E, and F input via the line L112 (step S201).

なおステップS201で取得される動きベクトルは、対象ブロックを含むフレームと、対象ブロックの動きベクトルが参照するフレームとの時間的距離に基づいてスケーリングされることが好ましい。スケーリングの際には各ブロックの動きベクトルが参照するフレームの時刻を用いるため、各ブロックに対応する参照フレーム番号からその時刻を求める必要がある。   Note that the motion vector acquired in step S201 is preferably scaled based on the temporal distance between the frame including the target block and the frame referred to by the motion vector of the target block. Since the time of the frame referred to by the motion vector of each block is used at the time of scaling, it is necessary to obtain the time from the reference frame number corresponding to each block.

スケーリングによって、対象ブロックを含むフレームの時刻t0から、対象ブロックの動きベクトルが参照するフレームの時刻teまでの時間的距離(t0-te)を基準にして、取得した符号化済みのブロックA、B、C、D、E、Fの動きベクトルの大きさを補正することができる。具体的に一例を挙げると、ブロックAの動きベクトルMViA(i=x,y)が参照するフレームの時刻をta、ブロックAを含むフレームの時刻をt1とすると、スケーリングされた動きベクトルMViA’(i=x,y)は、式(1)によって与えられるベクトルである。   Encoded blocks A and B obtained by scaling based on the time distance (t0-te) from the time t0 of the frame including the target block to the time te of the frame referred to by the motion vector of the target block , C, D, E, and F motion vector magnitudes can be corrected. As a specific example, if the time of the frame referred to by the motion vector MViA (i = x, y) of the block A is ta and the time of the frame including the block A is t1, the scaled motion vector MViA ′ ( i = x, y) is a vector given by equation (1).

なお、このスケーリング処理は必須ではなく、スケーリング処理を行わない場合は各ブロックに対応する参照フレーム番号は必要ない。   Note that this scaling processing is not essential, and reference frame numbers corresponding to the respective blocks are not required when the scaling processing is not performed.

また、ステップS201において符号化済みのブロックそのもの、あるいは符号化済みのブロックの動きベクトルが存在しない場合、そのブロックは極めて大きい動きベクトルを持つとみなし、十分大きな値とした上で処理を進める。あるいは、処理対象から除く。   If there is no encoded block itself or a motion vector of the encoded block in step S201, the block is regarded as having a very large motion vector, and the process proceeds with a sufficiently large value. Alternatively, it is excluded from the processing target.

続いて、ブロックDの動きベクトルとブロックEの動きベクトルの差分、およびブロックDの動きベクトルとブロックFの動きベクトルの差分が算出され、前者のほうが大きい場合(ステップS202:YES)は処理をステップS203に進める。それに該当しない場合(ステップS202:NO)は処理をステップS204に進める(ステップS202)。   Subsequently, the difference between the motion vector of block D and the motion vector of block E, and the difference between the motion vector of block D and the motion vector of block F are calculated. If the former is larger (step S202: YES), the process is performed. The process proceeds to S203. If not (NO at step S202), the process proceeds to step S204 (step S202).

ステップS203では、ブロックEの動きベクトルとブロックBの動きベクトルの差分、およびブロックDの動きベクトルとブロックFの動きベクトルの差分が算出され、前者のほうが大きい場合(ステップS203:YES)は処理をステップS205に進める。それに該当しない場合(ステップS203:NO)は処理をステップS206に進める。   In step S203, the difference between the motion vector of block E and the motion vector of block B, and the difference between the motion vector of block D and the motion vector of block F are calculated. If the former is larger (step S203: YES), the process is performed. Proceed to step S205. If not (NO at step S203), the process proceeds to step S206.

ステップS204では、ブロックCの動きベクトルとブロックFの動きベクトルの差分、およびブロックCの動きベクトルとブロックAの動きベクトルの差分が算出され、前者のほうが大きい場合(ステップS204:YES)は処理をステップS207に進める。それに該当しない場合(ステップS204:NO)は処理をステップS208に進める。   In step S204, the difference between the motion vector of block C and the motion vector of block F, and the difference between the motion vector of block C and the motion vector of block A are calculated. If the former is larger (step S204: YES), the process is performed. The process proceeds to step S207. If not (NO at step S204), the process proceeds to step S208.

ステップS205では、ブロックHの動きベクトル予測値はブロックEの動きベクトルと同じ値に決定される。   In step S205, the motion vector prediction value of block H is determined to be the same value as the motion vector of block E.

ステップS206では、ブロックHの動きベクトル予測値はブロックAの動きベクトルと同じ値に決定される。   In step S206, the motion vector prediction value of block H is determined to be the same value as the motion vector of block A.

ステップS207では、ブロックHの動きベクトル予測値はブロックFの動きベクトルと同じ値に決定される。   In step S207, the motion vector prediction value of block H is determined to be the same value as the motion vector of block F.

ステップS208では、ブロックHの動きベクトル予測値はブロックAの動きベクトルと同じ値に決定される。   In step S208, the motion vector prediction value of block H is determined to be the same value as the motion vector of block A.

最後に、決定された動きベクトル予測値PMVi(i=x,y)を出力し(ステップS209)、処理を終了する。   Finally, the determined motion vector prediction value PMVi (i = x, y) is output (step S209), and the process ends.

なお、図5のフローチャートに示される一連の処理はx成分、y成分に分けずにベクトルの差分(具体的にはベクトルノルムなど)を算出し、動きベクトルのx成分、y成分を同時に決定してもよい。   The series of processes shown in the flowchart of FIG. 5 calculates a vector difference (specifically, a vector norm) without dividing the x component and the y component, and simultaneously determines the x component and the y component of the motion vector. May be.

また、対象ブロックを含む領域が大きく移動しているような場合の予測精度をあげるために、図2に示されるブロックの位置関係は以下のように定めてもよい。その際の動きベクトル予測値を決定する手順は図3あるいは図4あるいは図5で説明されるフローチャートのどれに従ってもよい。   Further, in order to increase the prediction accuracy when the region including the target block is greatly moved, the positional relationship of the blocks shown in FIG. 2 may be determined as follows. The procedure for determining the motion vector prediction value at that time may follow any of the flowcharts described in FIG. 3, FIG. 4 or FIG.

対象ブロックをHとし、フレームF001はブロックHを含むフレームである。フレームF002は既に符号化済みのフレームである。   The target block is H, and the frame F001 is a frame including the block H. Frame F002 is an already encoded frame.

フレームF001において、ブロックDをブロックHの最も左上の画素の真左上の画素を含むブロック、ブロックEをブロックHの最も左上の画素の真上の画素を含むブロック、ブロックFをブロックHの最も左上の画素の真左の画素を含むブロックとする。   In frame F001, block D is a block including the pixel immediately above the upper leftmost pixel of block H, block E is a block including the pixel immediately above the uppermost left pixel of block H, and block F is the upper leftmost of block H. A block including a pixel immediately to the left of the pixel.

フレームF002において、ブロックAはブロックDの動きベクトルが参照しているブロック、またはブロックEの動きベクトルが参照しているブロック、またはブロックFの動きベクトルが参照しているブロックとする。その際もブロックBをブロックAの最も左上の画素の真上の画素を含むブロック、ブロックCをブロックAの最も左上の画素の真左の画素を含むブロックとする。   In frame F002, block A is a block that is referenced by the motion vector of block D, a block that is referenced by the motion vector of block E, or a block that is referenced by the motion vector of block F. Also in this case, the block B is a block including a pixel immediately above the uppermost leftmost pixel of the block A, and the block C is a block including a pixel rightward of the uppermost leftmost pixel of the block A.

なお上記の定め方をする場合、各ブロックの大きさ以下の精度で類似する画像信号パターンの位置を探し出して動きベクトルの検出を行う際に、ブロックDが参照するブロック、あるいはブロックEが参照するブロック、あるいはブロックFが参照するブロックが動きベクトルをもつ複数のブロックにまたがることが考えられるが、その際はそれら複数のブロックの動きベクトルの平均値、あるいはまたがる領域でもっとも占める割合の高いブロックの動きベクトルを該当するブロック(DあるいはEあるいはF)が参照するブロックの動きベクトルとして用いるものとする。   When the above method is used, when the position of a similar image signal pattern is detected with an accuracy less than the size of each block and the motion vector is detected, the block referred to by the block D or the block E refers to It is conceivable that the block or the block referenced by block F may span multiple blocks with motion vectors. In this case, the average value of the motion vectors of these blocks or the block with the highest ratio in the spanning area The motion vector is used as a motion vector of a block referred to by the corresponding block (D, E, or F).

また、動き予測器112における動きベクトルの予測値の決定は、以下に示すように行われても良い。   Further, the motion vector prediction value in the motion predictor 112 may be determined as follows.

図6は、動き予測器112における動きベクトルの予測値の決定手順の説明に用いる模式図である。   FIG. 6 is a schematic diagram used for explaining a procedure for determining a motion vector prediction value in the motion predictor 112.

図6で、対象ブロックをHとし、フレームF101はブロックHを含むフレームである。フレームF102は既に符号化済みのフレームで、フレームF101とは時間方向で隣り合うフレームである。フレームF103は既に符号化済みのフレームで、フレームF102とは時間方向で隣り合うフレームである。   In FIG. 6, the target block is H, and the frame F101 is a frame including the block H. A frame F102 is an already encoded frame, and is a frame adjacent to the frame F101 in the time direction. The frame F103 is a frame that has already been encoded, and the frame F102 is a frame that is adjacent in the time direction.

フレームF101において、ブロックEをブロックHの最も左上の画素の真左上の画素を含むブロック、ブロックFをブロックHの最も左上の画素の真上の画素を含むブロック、ブロックGをブロックHの最も左上の画素の真左の画素を含むブロックとする。   In the frame F101, the block E is a block including the pixel immediately above the upper leftmost pixel of the block H, the block F is a block including the pixel immediately above the uppermost left pixel of the block H, and the block G is uppermost left of the block H. A block including a pixel immediately to the left of the pixel.

フレームF102において、ブロックDはブロックHの最も左上の画素と同じ空間位置の画素を含むブロック、ブロックBをブロックDの最も左上の画素の真上の画素を含むブロック、ブロックCをブロックDの最も左上の画素の真左の画素を含むブロックとする。   In the frame F102, the block D is a block including a pixel at the same spatial position as the uppermost left pixel of the block H, the block B is a block including a pixel immediately above the uppermost left pixel of the block D, and the block C is the highest block of the block D. It is assumed that the block includes a pixel immediately to the left of the upper left pixel.

フレームF103において、ブロックAはブロックDの最も左上の画素と同じ空間位置の画素を含むブロックとする。   In the frame F103, the block A is a block including a pixel at the same spatial position as the upper left pixel of the block D.

図7は、動き予測器112における動きベクトル予測値を決定する手順を説明するためのフローチャートである。   FIG. 7 is a flowchart for explaining a procedure for determining a motion vector prediction value in the motion predictor 112.

図7では、動きベクトルのx成分、y成分はそれぞれ独立に予測値が決定されるものとする。具体的にはまず動きベクトルのx成分の予測値を決定・出力し、次にy成分の予測値を決定・出力する。以下では必要に応じて、成分を示す添え字をiと記す(iはx又はyである)。   In FIG. 7, it is assumed that predicted values are independently determined for the x and y components of the motion vector. Specifically, first, the predicted value of the x component of the motion vector is determined and output, and then the predicted value of the y component is determined and output. In the following, a subscript indicating a component is written as i (i is x or y) as necessary.

まず動き予測器112は、ラインL112を経由して入力される符号化済みのブロックA、B、C、D、E、F、Gの動きベクトルと対応する参照フレーム番号を取得する(ステップS301)。   First, the motion predictor 112 acquires reference frame numbers corresponding to motion vectors of encoded blocks A, B, C, D, E, F, and G input via the line L112 (step S301). .

なおステップS301で取得される動きベクトルは、対象ブロックを含むフレームと、対象ブロックの動きベクトルが参照するフレームとの時間的距離に基づいてスケーリングされることが好ましい。スケーリングの際には各ブロックの動きベクトルが参照するフレームの時刻を用いるため、各ブロックに対応する参照フレーム番号からその時刻を求める必要がある。   Note that the motion vector acquired in step S301 is preferably scaled based on a temporal distance between a frame including the target block and a frame referred to by the motion vector of the target block. Since the time of the frame referred to by the motion vector of each block is used at the time of scaling, it is necessary to obtain the time from the reference frame number corresponding to each block.

スケーリングによって、対象ブロックを含むフレームの時刻t0から、対象ブロックの動きベクトルが参照するフレームの時刻teまでの時間的距離(t0-te)を基準にして、取得した符号化済みのブロックA、B、C、D、E、F、Gの動きベクトルの大きさを補正することができる。具体的に一例を挙げると、ブロックAの動きベクトルMViA(i=x,y)が参照するフレームの時刻をta、ブロックAを含むフレームの時刻をt1とすると、スケーリングされた動きベクトルMViA’(i=x,y)は、式(1)によって与えられるベクトルである。   Encoded blocks A and B obtained by scaling based on the time distance (t0-te) from the time t0 of the frame including the target block to the time te of the frame referred to by the motion vector of the target block , C, D, E, F, and G motion vector magnitudes can be corrected. As a specific example, if the time of the frame referred to by the motion vector MViA (i = x, y) of the block A is ta and the time of the frame including the block A is t1, the scaled motion vector MViA ′ ( i = x, y) is a vector given by equation (1).

なお、このスケーリング処理は必須ではなく、スケーリング処理を行わない場合は各ブロックに対応する参照フレーム番号は必要ない。   Note that this scaling processing is not essential, and reference frame numbers corresponding to the respective blocks are not required when the scaling processing is not performed.

また、ステップS301において符号化済みのブロックそのもの、あるいは符号化済みのブロックの動きベクトルが存在しない場合、そのブロックは極めて大きい動きベクトルを持つとみなし、十分大きな値とした上で処理を進める。あるいは、処理対象から除く。   If there is no coded block itself or a motion vector of the coded block in step S301, the block is regarded as having a very large motion vector, and the process proceeds with a sufficiently large value. Alternatively, it is excluded from the processing target.

続いて、ブロックBの動きベクトルとブロックFの動きベクトルの差分、ブロックCの動きベクトルとブロックGの動きベクトルの差分、ブロックAの動きベクトルとブロックDの動きベクトルの差分、ブロックEの動きベクトルとブロックFの動きベクトルの差分、ブロックEの動きベクトルとブロックGの動きベクトルの差分の5通りが算出される(ステップS302)。   Subsequently, the difference between the motion vector of block B and the motion vector of block F, the difference of the motion vector of block C and the motion vector of block G, the difference of the motion vector of block A and the motion vector of block D, the motion vector of block E And the difference between the motion vector of block F and the difference between the motion vector of block E and the motion vector of block G are calculated (step S302).

次に、ステップS302で算出された5通りの差分のうち、どの組み合わせの差分が最小のものであるかが判定される。(ステップS303)。   Next, it is determined which combination of the five differences calculated in step S302 has the smallest difference. (Step S303).

ステップS303での判定の結果、もっとも小さい差分を与える組み合わせがブロックBとブロックFである場合にはブロックHの動きベクトル予測値はブロックBの動きベクトルと同じ値に決定される。ブロックCとブロックGである場合には、ブロックHの動きベクトル予測値はブロックCの動きベクトルと同じ値に決定される。ブロックAとブロックDである場合には、ブロックHの動きベクトル予測値はブロックDの動きベクトルと同じ値に決定される。ブロックEとブロックFである場合には、ブロックHの動きベクトル予測値はブロックGの動きベクトルと同じ値に決定される。ブロックEとブロックGである場合には、ブロックHの動きベクトル予測値はブロックFの動きベクトルと同じ値に決定される。(ステップS304)。   As a result of the determination in step S303, when the combination that gives the smallest difference is the block B and the block F, the motion vector prediction value of the block H is determined to be the same value as the motion vector of the block B. In the case of block C and block G, the motion vector prediction value of block H is determined to be the same value as the motion vector of block C. In the case of block A and block D, the motion vector prediction value of block H is determined to be the same value as the motion vector of block D. In the case of block E and block F, the motion vector prediction value of block H is determined to be the same value as the motion vector of block G. In the case of block E and block G, the motion vector prediction value of block H is determined to be the same value as the motion vector of block F. (Step S304).

最後に、ステップS304で決定された値PMVi(i=x,y)を出力し(ステップS305)、処理を終了する。   Finally, the value PMVi (i = x, y) determined in step S304 is output (step S305), and the process ends.

なお、図7のフローチャートに示される一連の処理はx成分、y成分に分けずにベクトルの差分(具体的にはベクトルノルムなど)を算出し、動きベクトルのx成分、y成分を同時に決定してもよい。   The series of processes shown in the flowchart of FIG. 7 calculates a vector difference (specifically, a vector norm) without dividing the x component and the y component, and simultaneously determines the x component and the y component of the motion vector. May be.

また、ステップS302において算出する差分は、ブロックBの動きベクトルとブロックFの動きベクトルの差分、ブロックCの動きベクトルとブロックGの動きベクトルの差分、ブロックAの動きベクトルとブロックDの動きベクトルの差分の3通りでもよい。その際もステップS303で最小となる組み合わせが判定され、ステップS304では、もっとも小さい差分を与える組み合わせがブロックBとブロックFである場合にはブロックHの動きベクトル予測値はブロックBの動きベクトルと同じ値に決定される。ブロックCとブロックGである場合には、ブロックHの動きベクトル予測値はブロックCの動きベクトルと同じ値に決定される。ブロックAとブロックDである場合には、ブロックHの動きベクトル予測値はブロックDの動きベクトルと同じ値に決定される。   Also, the difference calculated in step S302 is the difference between the motion vector of block B and the motion vector of block F, the difference between the motion vector of block C and the motion vector of block G, the motion vector of block A and the motion vector of block D. Three types of differences may be used. At that time, the smallest combination is determined in step S303. In step S304, when the combination that gives the smallest difference is block B and block F, the motion vector prediction value of block H is the same as the motion vector of block B. Determined by value. In the case of block C and block G, the motion vector prediction value of block H is determined to be the same value as the motion vector of block C. In the case of block A and block D, the motion vector prediction value of block H is determined to be the same value as the motion vector of block D.

また、ステップS302において算出する差分は、ブロックBの動きベクトルとブロックFの動きベクトルの差分、ブロックCの動きベクトルとブロックGの動きベクトルの差分の2通りでもよい。その際もステップS303で最小となる組み合わせが判定され、ステップS304では、もっとも小さい差分を与える組み合わせがブロックBとブロックFである場合にはブロックHの動きベクトル予測値はブロックBの動きベクトルと同じ値に決定される。ブロックCとブロックGである場合には、ブロックHの動きベクトル予測値はブロックCの動きベクトルと同じ値に決定される。   Further, the difference calculated in step S302 may be two types, that is, the difference between the motion vector of block B and the motion vector of block F, and the difference between the motion vector of block C and the motion vector of block G. At that time, the smallest combination is determined in step S303. In step S304, when the combination that gives the smallest difference is block B and block F, the motion vector prediction value of block H is the same as the motion vector of block B. Determined by value. In the case of block C and block G, the motion vector prediction value of block H is determined to be the same value as the motion vector of block C.

また、対象ブロックを含む領域が大きく移動しているような場合の予測精度をあげるために、図6に示されるブロックの位置関係は以下のように定めてもよい。   Further, in order to increase the prediction accuracy when the region including the target block is moved greatly, the positional relationship of the blocks shown in FIG. 6 may be determined as follows.

対象ブロックをHとし、フレームF101はブロックHを含むフレームである。フレームF102は既に符号化済みのフレームである。フレームF103は既に符号化済みのフレームである。   The target block is H, and the frame F101 is a frame including the block H. The frame F102 is an already encoded frame. A frame F103 is an already encoded frame.

フレームF101において、ブロックEをブロックHの最も左上の画素の真左上の画素を含むブロック、ブロックFをブロックHの最も左上の画素の真上の画素を含むブロック、ブロックGをブロックHの最も左上の画素の真左の画素を含むブロックとする。   In the frame F101, the block E is a block including the pixel immediately above the upper leftmost pixel of the block H, the block F is a block including the pixel immediately above the uppermost left pixel of the block H, and the block G is uppermost left of the block H. A block including a pixel immediately to the left of the pixel.

フレームF102において、ブロックDはブロックEの動きベクトルが参照しているブロック、またはブロックFの動きベクトルが参照しているブロック、またはブロックGの動きベクトルが参照しているブロックとする。その際もブロックBをブロックDの最も左上の画素の真上の画素を含むブロック、ブロックCをブロックDの最も左上の画素の真左の画素を含むブロックとする。   In the frame F102, the block D is a block that is referenced by the motion vector of the block E, a block that is referenced by the motion vector of the block F, or a block that is referenced by the motion vector of the block G. Also in this case, the block B is a block including a pixel immediately above the upper leftmost pixel of the block D, and the block C is a block including a pixel immediately left of the uppermost left pixel of the block D.

フレームF103において、ブロックAはブロックDの動きベクトルが参照しているブロックとする。   In the frame F103, the block A is a block referred to by the motion vector of the block D.

なお上記の定め方をする場合、各ブロックの大きさ以下の精度で類似する画像信号パターンの位置を探し出して動きベクトルの検出を行う際に、ブロックEが参照するブロック、あるいはブロックFが参照するブロック、あるいはブロックGが参照するブロック、あるいはブロックDが参照するブロックが動きベクトルをもつ複数のブロックにまたがることが考えられるが、その際はそれら複数のブロックの動きベクトルの平均値、あるいはまたがる領域でもっとも占める割合の高いブロックの動きベクトルを該当するブロック(EあるいはFあるいはGあるいはD)が参照するブロックの動きベクトルとして用いるものとする。   When the above method is used, when the position of a similar image signal pattern is detected with an accuracy less than the size of each block and the motion vector is detected, the block referred to by the block E or the block F refers to It is possible that the block referenced by block or block G or the block referenced by block D may span multiple blocks with motion vectors. In this case, the average value of the motion vectors of these multiple blocks, or the region that spans the blocks It is assumed that the motion vector of the block having the highest ratio is used as the motion vector of the block referred to by the corresponding block (E, F, G, or D).

また、動き予測器112における動きベクトルの予測値の決定は、以下に示すように空間的に1画素以上隔てられたブロックの動きベクトルや、時間方向で1フレーム以上隔てられたフレームにあるブロックの動きベクトルに基づいて行われてもよい。   In addition, the motion vector predictor 112 determines the motion vector prediction values of blocks that are spatially separated by one or more pixels as shown below, or blocks in a frame that is separated by one or more frames in the time direction. It may be performed based on a motion vector.

このような動きベクトルの予測値の決定方法は、動きベクトルの大勢を反映した予測をすることで、高精度の動きベクトル予測値を得る効果がある。また、ノイズや局所的な変化による影響を打ち消す効果もある。   Such a method for determining a motion vector prediction value has an effect of obtaining a motion vector prediction value with high accuracy by performing prediction reflecting a large number of motion vectors. It also has the effect of countering the effects of noise and local changes.

また、動き予測器112における動きベクトルの予測値は、過去に符号化済みのブロックの動きベクトルをそのまま引用して動きベクトル予測値とする代わりに、以下に示すように複数ある動きベクトルの決定方法の中からひとつを選択して、その決定方法にしたがって決定してもよい。   In addition, the motion vector prediction value in the motion predictor 112 is a method for determining a plurality of motion vectors as described below, instead of using the motion vector of a block that has been encoded in the past as it is as a motion vector prediction value. One of them may be selected and determined according to the determination method.

図8は、動き予測器112における動きベクトルの予測値の決定手順の説明に用いる模式図である。   FIG. 8 is a schematic diagram used for explaining a procedure for determining a motion vector prediction value in the motion predictor 112.

図8で、対象ブロックをJとし、フレームF201はブロックJを含むフレームである。フレームF202は既に符号化済みのフレームで、フレームF201とは時間方向で隣り合うフレームである。フレームF203は既に符号化済みのフレームで、フレームF202とは時間方向で隣り合うフレームである。フレームF204は既に符号化済みのフレームで、フレームF203とは時間方向で隣り合うフレームである。   In FIG. 8, the target block is J, and the frame F201 is a frame including the block J. The frame F202 is a frame that has already been encoded, and the frame F201 is a frame that is adjacent in the time direction. The frame F203 is a frame that has already been encoded, and the frame F202 is a frame that is adjacent in the time direction. The frame F204 is an already encoded frame, and the frame F203 is a frame adjacent in the time direction.

フレームF201において、ブロックIをブロックJの最も左上の画素の真上の画素を含むブロック、ブロックHをブロックIの最も左上の画素の真上の画素を含むブロック、ブロックGをブロックHの最も左上の画素の真上の画素を含むブロック、ブロックFをブロックJの最も左上の画素の真左の画素を含むブロック、ブロックEをブロックFの最も左上の画素の真左の画素を含むブロック、ブロックDをブロックEの最も左上の画素の真左の画素を含むブロックとする。   In frame F201, block I is a block including the pixel immediately above the uppermost leftmost pixel of block J, block H is a block including the pixel immediately above the uppermost leftmost pixel of block I, and block G is the uppermost leftmost of block H. A block including the pixel immediately above the leftmost pixel of the block J, a block F including the pixel immediately left of the uppermost leftmost pixel of the block J, a block E including a pixel immediately above the leftmost pixel of the block F, and a block Let D be a block including the pixel immediately to the left of the upper leftmost pixel of block E.

フレームF202において、ブロックCはブロックJの最も左上の画素と同じ空間位置の画素を含むブロックとする。   In the frame F202, the block C is a block including a pixel at the same spatial position as the upper left pixel of the block J.

フレームF203において、ブロックBはブロックCの最も左上の画素と同じ空間位置の画素を含むブロックとする。   In the frame F203, the block B is a block including a pixel at the same spatial position as the upper left pixel of the block C.

フレームF204において、ブロックAはブロックBの最も左上の画素と同じ空間位置の画素を含むブロックとする。   In the frame F204, the block A is a block including a pixel at the same spatial position as the upper left pixel of the block B.

図9は、動き予測器112における動きベクトル予測値を決定する手順を説明するためのフローチャートである。動きベクトルx成分、y成分はそれぞれ独立に予測値が決定されるものとする。具体的にはまず動きベクトルのx成分の予測値を決定・出力し、次にy成分の予測値を決定・出力する。以下では必要に応じて、成分を示す添え字をiと記す(iはx又はyである)。   FIG. 9 is a flowchart for explaining a procedure for determining a motion vector prediction value in the motion predictor 112. It is assumed that predicted values are determined independently for the motion vector x component and the y component. Specifically, first, the predicted value of the x component of the motion vector is determined and output, and then the predicted value of the y component is determined and output. In the following, a subscript indicating a component is written as i (i is x or y) as necessary.

まず動き予測器112は、ラインL112を経由して入力される符号化済みのブロックA、B、C、D、E、F、G、H、Iの動きベクトルと対応する参照フレーム番号とラインL115を経由して入力される対象ブロックの参照フレーム番号を取得する(ステップS401)。   First, the motion predictor 112 receives the reference frame number corresponding to the motion vector of the encoded blocks A, B, C, D, E, F, G, H, and I input via the line L112 and the line L115. The reference frame number of the target block input via is acquired (step S401).

なおステップS401で取得される動きベクトルは、対象ブロックを含むフレームと、対象ブロックの動きベクトルが参照するフレームとの時間的距離に基づいてスケーリングされることが好ましい。スケーリングの際には各ブロックの動きベクトルが参照するフレームの時刻を用いるため、各ブロックに対応する参照フレーム番号からその時刻を求める必要がある。   Note that the motion vector acquired in step S401 is preferably scaled based on the temporal distance between the frame including the target block and the frame referenced by the motion vector of the target block. Since the time of the frame referred to by the motion vector of each block is used at the time of scaling, it is necessary to obtain the time from the reference frame number corresponding to each block.

スケーリングによって、対象ブロックを含むフレームの時刻t0から、対象ブロックの動きベクトルが参照するフレームの時刻teまでの時間的距離(t0-te)を基準にして、取得した符号化済みのブロックA、B、C、D、E、F、G、H、Iの動きベクトルの大きさを補正することができる。具体的に一例を挙げると、ブロックAの動きベクトルMViA(i=x,y)が参照するフレームの時刻をta、ブロックAを含むフレームの時刻をt1とすると、スケーリングされた動きベクトルMViA’(i=x,y)は、式(1)によって与えられるベクトルである。   Encoded blocks A and B obtained by scaling based on the time distance (t0-te) from the time t0 of the frame including the target block to the time te of the frame referred to by the motion vector of the target block , C, D, E, F, G, H, and I can correct the magnitude of the motion vector. As a specific example, if the time of the frame referred to by the motion vector MViA (i = x, y) of the block A is ta and the time of the frame including the block A is t1, the scaled motion vector MViA ′ ( i = x, y) is a vector given by equation (1).

なお、このスケーリング処理は必須ではなく、スケーリング処理を行わない場合は各ブロックに対応する参照フレーム番号は必要ない。   Note that this scaling processing is not essential, and reference frame numbers corresponding to the respective blocks are not required when the scaling processing is not performed.

また、ステップS401において符号化済みのブロックそのもの、あるいは符号化済みのブロックの動きベクトルが存在しない場合、そのブロックは極めて大きい動きベクトルを持つとみなし、十分大きな値とした上で処理を進める。あるいは、処理対象から除く。   If there is no encoded block itself or a motion vector of the encoded block in step S401, the block is regarded as having a very large motion vector, and the process proceeds with a sufficiently large value. Alternatively, it is excluded from the processing target.

続いて、ブロックAの動きベクトルとブロックBの動きベクトルとブロックCの動きベクトルの分散、ブロックDの動きベクトルとブロックEの動きベクトルとブロックFの動きベクトルの分散、ブロックGの動きベクトルとブロックHの動きベクトルとブロックIの動きベクトルの分散、の3組の分散をそれぞれ算出する。(ステップS402)
次に、ステップS402で算出された3通りの分散のうち、どの組み合わせの分散が最小のものであるかが判定される。(ステップS403)。
Subsequently, variance of motion vector of block A, motion vector of block B and motion vector of block C, variance of motion vector of block D, motion vector of block E and motion vector of block F, motion vector of block G and block Three sets of variances of H motion vector and block I motion vector variance are calculated. (Step S402)
Next, it is determined which combination of the three variances calculated in step S402 has the smallest variance. (Step S403).

ステップS403での判定の結果、もっとも小さい差分を与える組み合わせがブロックAとブロックBとブロックCである場合には、ブロックJの動きベクトル予測値はブロックAの動きベクトルとブロックBの動きベクトルとブロックCの動きベクトルの平均値に決定される。ブロックDとブロックEとブロックFである場合には、ブロックJの動きベクトル予測値はブロックDの動きベクトルとブロックEの動きベクトルとブロックFの動きベクトルの平均値に決定される。ブロックGとブロックHとブロックIである場合には、ブロックJの動きベクトル予測値はブロックGの動きベクトルとブロックHの動きベクトルとブロックIの動きベクトルの平均値に決定される(ステップS404)。   As a result of the determination in step S403, when the combination that gives the smallest difference is block A, block B, and block C, the motion vector prediction value of block J is the motion vector of block A, the motion vector of block B, and the block The average value of C motion vectors is determined. In the case of block D, block E, and block F, the motion vector prediction value of block J is determined as the average value of the motion vector of block D, the motion vector of block E, and the motion vector of block F. In the case of block G, block H, and block I, the motion vector prediction value of block J is determined as the average value of the motion vector of block G, the motion vector of block H, and the motion vector of block I (step S404). .

最後に、ステップS404で決定された値PMVi(i=x,y)を出力し(ステップS405)、処理を終了する。   Finally, the value PMVi (i = x, y) determined in step S404 is output (step S405), and the process ends.

なお、図9のフローチャートに示される一連の処理はx成分、y成分に分けずにベクトルの差分(具体的にはベクトルノルムなど)を算出し、動きベクトルのx成分、y成分を同時に決定してもよい。   The series of processes shown in the flowchart of FIG. 9 calculates a vector difference (specifically, a vector norm) without dividing the x component and the y component, and simultaneously determines the x component and the y component of the motion vector. May be.

また、ステップS402において動きベクトルの類似性をあらわす値として分散を用いたが、標準偏差や、各ブロック間の動きベクトルの差分値や、それら複数の差分値の平均を用いてもよい。   In addition, although variance is used as a value representing the similarity of motion vectors in step S402, a standard deviation, a difference value of motion vectors between blocks, or an average of the plurality of difference values may be used.

ステップS404において、3つの動きベクトルの平均値を動きベクトルの予測値としたが、3つの動きベクトルの中間値、あるいはいずれかひとつの値を予測値としてもよい。   In step S404, the average value of the three motion vectors is set as the predicted value of the motion vector, but an intermediate value of the three motion vectors or any one of the values may be set as the predicted value.

図9では時間方向、空間方向にそれぞれ連続する3ブロックの動きベクトルを参照して動きベクトル予測値の決定を行ったが、これは時間方向のみでもよい。またそれぞれの方向に2ブロックのみ、あるいは4ブロック以上のブロックを用いてもよい。また時間方向で隣り合うフレームのブロックと空間方向で1ブロック以上隔てたブロックを組み合わせて用いてもよい。   In FIG. 9, the motion vector prediction value is determined by referring to the motion vectors of three blocks continuous in the time direction and the spatial direction, but this may be only in the time direction. Further, only two blocks or four or more blocks may be used in each direction. Further, a block of frames adjacent in the time direction and a block separated by one or more blocks in the spatial direction may be used in combination.

また、対象ブロックを含む領域が大きく移動しているような場合の予測精度をあげるために、図8に示されるブロックの位置関係は以下のように定めてもよい。   Further, in order to increase the prediction accuracy when the region including the target block is greatly moved, the positional relationship of the blocks shown in FIG. 8 may be determined as follows.

対象ブロックをJとし、フレームF201はブロックJを含むフレームであり、フレームF202、F203、F204は既に符号化済みのフレームである。   The target block is J, the frame F201 is a frame including the block J, and the frames F202, F203, and F204 are already encoded frames.

フレームF201において、ブロックIをブロックJの最も左上の画素の真上の画素を含むブロック、ブロックHをブロックIの最も左上の画素の真上の画素を含むブロック、ブロックGをブロックHの最も左上の画素の真上の画素を含むブロック、ブロックFをブロックJの最も左上の画素の真左の画素を含むブロック、ブロックEをブロックFの最も左上の画素の真左の画素を含むブロック、ブロックDをブロックEの最も左上の画素の真左の画素を含むブロックとする。   In frame F201, block I is a block including the pixel immediately above the uppermost leftmost pixel of block J, block H is a block including the pixel immediately above the uppermost leftmost pixel of block I, and block G is the uppermost leftmost of block H. A block including the pixel immediately above the leftmost pixel of the block J, a block F including the pixel immediately left of the uppermost leftmost pixel of the block J, a block E including a pixel immediately above the leftmost pixel of the block F, and a block Let D be a block including the pixel immediately to the left of the upper leftmost pixel of block E.

フレームF202において、ブロックCはブロックIの動きベクトルが参照しているブロック、またはブロックFの動きベクトルが参照しているブロック、またはブロックJの最も左上の画素の真左上の画素を含むブロック(ブロックKとする)の動きベクトルが参照しているブロックとする。   In the frame F202, the block C is a block including a pixel referred to by the motion vector of the block I, a block referred to by the motion vector of the block F, or a block including the pixel immediately above the upper left pixel of the block J (block K)) is referred to by the motion vector.

フレームF203において、ブロックBはブロックCの動きベクトルが参照しているブロックとする。   In frame F203, block B is a block that is referenced by the motion vector of block C.

フレームF204において、ブロックAはブロックBの動きベクトルが参照しているブロックとする。   In frame F204, block A is a block that is referenced by the motion vector of block B.

なお上記の定め方をする場合、各ブロックの大きさ以下の精度で類似する画像信号パターンの位置を探し出して動きベクトルの検出を行う際に、ブロックI、ブロックF、ブロックK、ブロックC、ブロックBが参照するブロックが動きベクトルをもつ複数のブロックにまたがることが考えられるが、その際はそれら複数のブロックの動きベクトルの平均値、あるいはまたがる領域でもっとも占める割合の高いブロックの動きベクトルを該当するブロック(IあるいはFあるいはKあるいはCあるいはB)が参照するブロックの動きベクトルとして用いるものとする。   If the above method is used, block I, block F, block K, block C, block block when detecting the position of a similar image signal pattern with accuracy below the size of each block and detecting the motion vector It is possible that the block referenced by B spans multiple blocks with motion vectors. In this case, the average value of the motion vectors of the multiple blocks or the motion vector of the block with the highest ratio in the spanning area is applicable. This block is used as a motion vector of a block referred to by a block (I or F or K or C or B).

さらに、動き予測器112における動きベクトルの予測値の決定は、以下に示すように空間的に1画素以上隔てられたブロックの動きベクトル、または時間方向で1フレーム以上隔てられたフレームにあるブロックの動きベクトルに基づいて行われてもよい。   Further, the motion vector prediction value in the motion predictor 112 is determined by the motion vector of a block spatially separated by one or more pixels as shown below, or a block in a frame separated by one or more frames in the time direction. It may be performed based on a motion vector.

このような動きベクトルの予測値の決定方法は、動きベクトルの大勢を反映した予測をすることで、高精度の動きベクトル予測値を得る効果がある。また、ノイズや局所的な変化による影響を打ち消す効果もある。   Such a method for determining a motion vector prediction value has an effect of obtaining a motion vector prediction value with high accuracy by performing prediction reflecting a large number of motion vectors. It also has the effect of countering the effects of noise and local changes.

また、動き予測器112における動きベクトルの予測値は、過去に符号化済みのブロックの動きベクトルをそのまま引用して動きベクトル予測値とする代わりに、以下に示すように複数ある動きベクトルの決定方法の中からひとつを選択して、その決定方法にしたがって決定してもよい。   In addition, the motion vector prediction value in the motion predictor 112 is a method for determining a plurality of motion vectors as described below, instead of using the motion vector of a block that has been encoded in the past as it is as a motion vector prediction value. One of them may be selected and determined according to the determination method.

図10は、動き予測器112における動きベクトルの予測値の決定手順の説明に用いる模式図である。   FIG. 10 is a schematic diagram used for explaining a procedure for determining a motion vector prediction value in the motion predictor 112.

図10で、対象ブロックをMとし、フレームF301はブロックMを含むフレームである。フレームF302は既に符号化済みのフレームで、フレームF301とは時間方向で隣り合うフレームである。フレームF303は既に符号化済みのフレームで、フレームF302とは時間方向で隣り合うフレームである。フレームF304は既に符号化済みのフレームで、フレームF303とは時間方向で隣り合うフレームである。   In FIG. 10, the target block is M, and the frame F301 is a frame including the block M. The frame F302 is a frame that has already been encoded, and the frame F301 is a frame that is adjacent in the time direction. The frame F303 is an already encoded frame, and is adjacent to the frame F302 in the time direction. The frame F304 is an already encoded frame, and the frame F303 is a frame adjacent in the time direction.

フレームF301において、ブロックIをブロックMの最も左上の画素の真上の画素を含むブロック、ブロックHをブロックIの最も左上の画素の真上の画素を含むブロック、ブロックGをブロックHの最も左上の画素の真上の画素を含むブロック、ブロックFをブロックMの最も左上の画素の真左の画素を含むブロック、ブロックEをブロックFの最も左上の画素の真左の画素を含むブロック、ブロックDをブロックEの最も左上の画素の真左の画素を含むブロックとする。また、ブロックKをブロックMの最も左上の画素の真左上の画素を含むブロック、ブロックLをブロックKの最も左上の画素の真上の画素を含むブロック、ブロックJをブロックMの最も右上の画素の真右上の画素を含むブロックとする。   In frame F301, block I is a block including the pixel immediately above the uppermost leftmost pixel of block M, block H is a block including the pixel immediately above the uppermost leftmost pixel of block I, and block G is the uppermost leftmost of block H. A block including the pixel immediately above the leftmost pixel of the block M, a block F including the pixel immediately left of the leftmost pixel of the block M, and a block E including a pixel immediately left of the uppermost left pixel of the block F Let D be a block including the pixel immediately to the left of the upper leftmost pixel of block E. Also, block K is a block including the pixel immediately above the upper left pixel of block M, block L is a block including the pixel immediately above the upper left pixel of block K, and block J is the upper right pixel of block M. A block including a pixel on the right upper side of.

フレームF302において、ブロックCはブロックMの最も左上の画素と同じ空間位置の画素を含むブロックとする。   In the frame F302, the block C is a block including a pixel at the same spatial position as the upper left pixel of the block M.

フレームF303において、ブロックBはブロックCの最も左上の画素と同じ空間位置の画素を含むブロックとする。   In the frame F303, the block B is a block including a pixel at the same spatial position as the upper left pixel of the block C.

フレームF304において、ブロックAはブロックBの最も左上の画素と同じ空間位置の画素を含むブロックとする。   In the frame F304, the block A is a block including a pixel at the same spatial position as the upper left pixel of the block B.

図11は、動き予測器112における動きベクトル予測値を決定する手順を説明するためのフローチャートである。   FIG. 11 is a flowchart for explaining a procedure for determining a motion vector prediction value in the motion predictor 112.

まず動き予測器112は、ラインL112を経由して入力される符号化済みのブロックA、B、C、D、E、F、G、H、I、J、K、Lの動きベクトルと対応する参照フレーム番号を取得する(ステップS501)。   First, the motion predictor 112 corresponds to the motion vectors of the encoded blocks A, B, C, D, E, F, G, H, I, J, K, and L that are input via the line L112. A reference frame number is acquired (step S501).

なおステップS501で取得される動きベクトルは、対象ブロックを含むフレームと、対象ブロックの動きベクトルが参照するフレームとの時間的距離に基づいてスケーリングされることが好ましい。スケーリングの際には各ブロックの動きベクトルが参照するフレームの時刻を用いるため、各ブロックに対応する参照フレーム番号からその時刻を求める必要がある。   Note that the motion vector acquired in step S501 is preferably scaled based on a temporal distance between a frame including the target block and a frame referred to by the motion vector of the target block. Since the time of the frame referred to by the motion vector of each block is used at the time of scaling, it is necessary to obtain the time from the reference frame number corresponding to each block.

スケーリングによって、対象ブロックを含むフレームの時刻t0から、対象ブロックの動きベクトルが参照するフレームの時刻teまでの時間的距離(t0-te)を基準にして、取得した符号化済みのブロックA、B、C、D、E、F、G、H、I、J、K、Lの動きベクトルの大きさを補正することができる。具体的に一例を挙げると、ブロックAの動きベクトルMViA(i=x,y)が参照するフレームの時刻をta、ブロックAを含むフレームの時刻をt1とすると、スケーリングされた動きベクトルMViA’(i=x,y)は、式(1)によって与えられるベクトルである。   Encoded blocks A and B obtained by scaling based on the time distance (t0-te) from the time t0 of the frame including the target block to the time te of the frame referred to by the motion vector of the target block , C, D, E, F, G, H, I, J, K, and L, the magnitudes of motion vectors can be corrected. As a specific example, if the time of the frame referred to by the motion vector MViA (i = x, y) of the block A is ta and the time of the frame including the block A is t1, the scaled motion vector MViA ′ ( i = x, y) is a vector given by equation (1).

なお、このスケーリング処理は必須ではなく、スケーリング処理を行わない場合は各ブロックに対応する参照フレーム番号は必要ない。   Note that this scaling processing is not essential, and reference frame numbers corresponding to the respective blocks are not required when the scaling processing is not performed.

また、ステップS501において符号化済みのブロックそのもの、あるいは符号化済みのブロックの動きベクトルが存在しない場合、そのブロックは極めて大きい動きベクトルを持つとみなし、十分大きな値とした上で処理を進める。あるいは、処理対象から除く。   If there is no coded block itself or a motion vector of the coded block in step S501, the block is regarded as having a very large motion vector, and the process proceeds with a sufficiently large value. Alternatively, it is excluded from the processing target.

続いて、ブロックAの動きベクトルとブロックBの動きベクトルとブロックCの動きベクトルのx成分の分散、ブロックDの動きベクトルとブロックEの動きベクトルとブロックFの動きベクトルのx成分の分散、ブロックJの動きベクトルとブロックKの動きベクトルとブロックIの動きベクトルのx成分の分散、の3組のx成分の分散をそれぞれ算出する。(ステップS502)
次に、ステップS502で算出された3通りの分散のうち、どの組み合わせの分散が最小のものであるかが判定される。(ステップS503)。
Subsequently, variance of x components of block A motion vector, block B motion vector and block C motion vector, block D motion vector, block E motion vector and block F motion vector variance, block The three sets of x component variances of the J motion vector, the block K motion vector, and the block I motion vector variance are calculated. (Step S502)
Next, it is determined which combination of the three variances calculated in step S502 has the smallest variance. (Step S503).

ステップS503での判定の結果、もっとも小さい差分を与える組み合わせがブロックAとブロックBとブロックCである場合には、ブロックMの動きベクトル予測値のx成分はブロックAの動きベクトルとブロックBの動きベクトルとブロックCの動きベクトルのx成分の平均値に決定される。ブロックDとブロックEとブロックFである場合には、ブロックMの動きベクトル予測値のx成分はブロックDの動きベクトルとブロックEの動きベクトルとブロックFの動きベクトルのx成分の平均値に決定される。ブロックJとブロックKとブロックIである場合には、ブロックMの動きベクトル予測値のx成分はブロックJの動きベクトルとブロックKの動きベクトルとブロックIの動きベクトルのx成分の平均値に決定される(ステップS504)。   As a result of the determination in step S503, when the combination that gives the smallest difference is block A, block B, and block C, the x component of the motion vector prediction value of block M is the motion vector of block A and the motion of block B. The average value of the x component of the vector and the motion vector of block C is determined. In the case of block D, block E, and block F, the x component of the motion vector prediction value of block M is determined as the average value of the motion vector of block D, the motion vector of block E, and the x component of the motion vector of block F Is done. In the case of block J, block K, and block I, the x component of the motion vector prediction value of block M is determined as the average value of the motion vector of block J, the motion vector of block K, and the x component of the motion vector of block I (Step S504).

続いて、ブロックAの動きベクトルとブロックBの動きベクトルとブロックCの動きベクトルのy成分の分散、ブロックGの動きベクトルとブロックHの動きベクトルとブロックIの動きベクトルのy成分の分散、ブロックLの動きベクトルとブロックKの動きベクトルとブロックFの動きベクトルのy成分の分散、の3組のy成分の分散をそれぞれ算出する。(ステップS505)
次に、ステップS505で算出された3通りの分散のうち、どの組み合わせの分散が最小のものであるかが判定される。(ステップS506)。
Subsequently, variance of y component of motion vector of block A, motion vector of block B and motion vector of block C, variance of y component of motion vector of block G, motion vector of block H and motion vector of block I, block Three sets of variances of the y component of the L motion vector, the motion vector of the block K, and the variance of the y component of the motion vector of the block F are calculated. (Step S505)
Next, it is determined which combination of the three variances calculated in step S505 has the smallest variance. (Step S506).

ステップS506での判定の結果、もっとも小さい差分を与える組み合わせがブロックAとブロックBとブロックCである場合には、ブロックMの動きベクトル予測値のy成分はブロックAの動きベクトルとブロックBの動きベクトルとブロックCの動きベクトルのy成分の平均値に決定される。ブロックGとブロックHとブロックIである場合には、ブロックMの動きベクトル予測値のy成分はブロックGの動きベクトルとブロックHの動きベクトルとブロックIの動きベクトルのy成分の平均値に決定される。ブロックLとブロックKとブロックFである場合には、ブロックMの動きベクトル予測値のy成分はブロックLの動きベクトルとブロックKの動きベクトルとブロックFの動きベクトルのy成分の平均値に決定される(ステップS507)。   As a result of the determination in step S506, when the combination that gives the smallest difference is block A, block B, and block C, the y component of the motion vector prediction value of block M is the motion vector of block A and the motion of block B. The average value of the y component of the vector and the motion vector of block C is determined. In the case of block G, block H, and block I, the y component of the motion vector prediction value of block M is determined as the average value of the y component of the motion vector of block G, the motion vector of block H, and the motion vector of block I Is done. In the case of block L, block K, and block F, the y component of the motion vector prediction value of block M is determined as the average value of the motion vector of block L, the motion vector of block K, and the y component of the motion vector of block F (Step S507).

最後に、ステップS507で決定された値PMVi(i=x,y)を出力し(ステップS508)、処理を終了する。   Finally, the value PMVi (i = x, y) determined in step S507 is output (step S508), and the process ends.

また、ステップS502、ステップS505において動きベクトルの類似性をあらわす値として分散を用いたが、標準偏差や、各ブロック間の動きベクトルの差分値や、それら複数の差分値の平均を用いてもよい。   Further, although variance is used as a value representing the similarity of motion vectors in step S502 and step S505, a standard deviation, a difference value of motion vectors between blocks, or an average of the plurality of difference values may be used. .

ステップS504、ステップS507において、3つの動きベクトルの平均値を動きベクトルの予測値としたが、3つの動きベクトルの中間値、あるいはいずれかひとつの値を予測値としてもよい。   In step S504 and step S507, the average value of the three motion vectors is used as the predicted value of the motion vector, but an intermediate value of the three motion vectors or any one of the values may be used as the predicted value.

図11では時間方向、空間方向にそれぞれ連続する3ブロックの動きベクトルを参照して動きベクトル予測値の決定を行ったが、空間方向のみでもよい。またそれぞれの方向に2ブロックのみ、あるいは4ブロック以上のブロックを用いてもよい。また時間方向で隣り合うフレームのブロックと空間方向で1ブロック以上隔てたブロックを組み合わせて用いてもよい。   In FIG. 11, the motion vector prediction value is determined by referring to the motion vectors of three blocks continuous in the time direction and the space direction, but only the space direction may be used. Further, only two blocks or four or more blocks may be used in each direction. Further, a block of frames adjacent in the time direction and a block separated by one or more blocks in the spatial direction may be used in combination.

また、対象ブロックを含む領域が大きく移動しているような場合の予測精度をあげるために、図10に示されるブロックの位置関係は以下のように定めてもよい。   Further, in order to increase the prediction accuracy when the region including the target block is greatly moved, the positional relationship of the blocks shown in FIG. 10 may be determined as follows.

対象ブロックをMとし、フレームF301はブロックMを含むフレームであり、フレームF302、F303、F304は既に符号化済みのフレームである。   The target block is M, the frame F301 is a frame including the block M, and the frames F302, F303, and F304 are already encoded frames.

フレームF301において、ブロックIをブロックMの最も左上の画素の真上の画素を含むブロック、ブロックHをブロックIの最も左上の画素の真上の画素を含むブロック、ブロックGをブロックHの最も左上の画素の真上の画素を含むブロック、ブロックFをブロックMの最も左上の画素の真左の画素を含むブロック、ブロックEをブロックFの最も左上の画素の真左の画素を含むブロック、ブロックDをブロックEの最も左上の画素の真左の画素を含むブロックとする。また、ブロックKをブロックMの最も左上の画素の真左上の画素を含むブロック、ブロックLをブロックKの最も左上の画素の真上の画素を含むブロック、ブロックJをブロックMの最も右上の画素の真右上の画素を含むブロックとする。   In frame F301, block I is a block including the pixel immediately above the uppermost leftmost pixel of block M, block H is a block including the pixel immediately above the uppermost leftmost pixel of block I, and block G is the uppermost leftmost of block H. A block including the pixel immediately above the leftmost pixel of the block M, a block F including the pixel immediately left of the leftmost pixel of the block M, and a block E including a pixel immediately left of the uppermost left pixel of the block F Let D be a block including the pixel immediately to the left of the upper leftmost pixel of block E. Also, block K is a block including the pixel immediately above the upper left pixel of block M, block L is a block including the pixel immediately above the upper left pixel of block K, and block J is the upper right pixel of block M. A block including a pixel on the right upper side of.

フレームF302において、ブロックCはブロックIの動きベクトルが参照しているブロック、またはブロックKの動きベクトルが参照しているブロック、またはブロックFの動きベクトルが参照しているブロックとする。   In the frame F302, the block C is a block that is referenced by the motion vector of the block I, a block that is referenced by the motion vector of the block K, or a block that is referenced by the motion vector of the block F.

フレームF303において、ブロックBはブロックCの動きベクトルが参照しているブロックとする。   In the frame F303, the block B is a block referred to by the motion vector of the block C.

フレームF304において、ブロックAはブロックBの動きベクトルが参照しているブロックとする。   In frame F304, block A is a block that is referenced by the motion vector of block B.

なお上記の定め方をする場合、各ブロックの大きさ以下の精度で類似する画像信号パターンの位置を探し出して動きベクトルの検出を行う際に、ブロックI、ブロックK、ブロックF、ブロックC、ブロックBが参照するブロックが動きベクトルをもつ複数のブロックにまたがることが考えられるが、その際はそれら複数のブロックの動きベクトルの平均値、あるいはまたがる領域でもっとも占める割合の高いブロックの動きベクトルを該当するブロック(IあるいはKあるいはFあるいはCあるいはB)が参照するブロックの動きベクトルとして用いるものとする。   If the above method is used, block I, block K, block F, block C, block block when detecting the position of a similar image signal pattern with accuracy below the size of each block and detecting the motion vector It is possible that the block referenced by B spans multiple blocks with motion vectors. In this case, the average value of the motion vectors of the multiple blocks or the motion vector of the block with the highest ratio in the spanning area is applicable. This block is used as a motion vector of a block to be referenced by a block (I or K or F or C or B).

ところで、動きベクトル予測値を算出する際に、周辺にある過去に符号化済みの動きベクトルから一部の動きベクトルを選択するのではなく、以下のように重み付けによって周辺の動きベクトルを有効利用する方法を採用してもよい。この場合、重み付けによって周辺の動きベクトルを有効利用することで、局所的な動きベクトルの変化の影響を少なくし、動きベクトルの変化の大勢を反映した予測値を得ることができ、予測精度を高めることができる。   By the way, when calculating a motion vector prediction value, a peripheral motion vector is effectively used by weighting as follows, instead of selecting a part of motion vectors from previously encoded motion vectors in the vicinity. A method may be adopted. In this case, by effectively using surrounding motion vectors by weighting, it is possible to reduce the influence of local motion vector changes, obtain a predicted value reflecting the majority of motion vector changes, and improve prediction accuracy. be able to.

以下では、重み付けによる周辺の動きベクトル利用方法を、(a)図2のブロックに適用した例、(b)図6のブロックに適用した例、(c)図8のブロックに適用した例を、順に説明する。   In the following, the peripheral motion vector utilization method by weighting is applied to (a) an example applied to the block of FIG. 2, (b) an example applied to the block of FIG. 6, and (c) an example applied to the block of FIG. These will be described in order.

まず、(a)図2のブロックに適用した例としては、例えば、図57のフローチャートが挙げられる。即ち、動き予測器112における動きベクトル予測値を決定する手順は、図57のフローチャートに従って実行すればよい。動きベクトルx成分、y成分はそれぞれ独立に予測値が決定されるものとする。具体的にはまず動きベクトルのx成分の予測値を決定・出力し、次にy成分の予測値を決定・出力する。以下では必要に応じて、成分を示す添え字をiと記す(iはx又はyである)。   First, (a) as an example applied to the block of FIG. 2, for example, the flowchart of FIG. That is, the procedure for determining the motion vector prediction value in the motion predictor 112 may be executed according to the flowchart of FIG. It is assumed that predicted values are determined independently for the motion vector x component and the y component. Specifically, first, the predicted value of the x component of the motion vector is determined and output, and then the predicted value of the y component is determined and output. In the following, a subscript indicating a component is written as i (i is x or y) as necessary.

まず動き予測器112は、ラインL112を経由して入力される符号化済みのブロックA、B、C、D、E、Fの動きベクトルと対応する参照フレーム番号を取得する(ステップS3001)。   First, the motion predictor 112 acquires reference frame numbers corresponding to motion vectors of encoded blocks A, B, C, D, E, and F input via the line L112 (step S3001).

なおステップS3001で取得される動きベクトルは、対象ブロックを含むフレームと、対象ブロックの動きベクトルが参照するフレームとの時間的距離に基づいてスケーリングされることが好ましい。スケーリングの際には各ブロックの動きベクトルが参照するフレームの時刻を用いるため、各ブロックに対応する参照フレーム番号からその時刻を求める必要がある。   Note that the motion vector acquired in step S3001 is preferably scaled based on a temporal distance between a frame including the target block and a frame referred to by the motion vector of the target block. Since the time of the frame referred to by the motion vector of each block is used at the time of scaling, it is necessary to obtain the time from the reference frame number corresponding to each block.

スケーリングによって、対象ブロックを含むフレームの時刻t0から、対象ブロックの動きベクトルが参照するフレームの時刻teまでの時間的距離(t0-te)を基準にして、取得した符号化済みのブロックA、B、C、D、E、Fの動きベクトルの大きさを補正することができる。具体的に一例を挙げると、ブロックAの動きベクトルMViA(i=x,y)が参照するフレームの時刻をta、ブロックAを含むフレームの時刻をt1とすると、スケーリングされた動きベクトルMViA’(i=x,y)は、式(1)によって与えられるベクトルである。   Encoded blocks A and B obtained by scaling based on the time distance (t0-te) from the time t0 of the frame including the target block to the time te of the frame referred to by the motion vector of the target block , C, D, E, and F motion vector magnitudes can be corrected. As a specific example, if the time of the frame referred to by the motion vector MViA (i = x, y) of the block A is ta and the time of the frame including the block A is t1, the scaled motion vector MViA ′ ( i = x, y) is a vector given by equation (1).

なお、このスケーリング処理は必須ではなく、スケーリング処理を行わない場合は各ブロックに対応する参照フレーム番号は必要ない。   Note that this scaling processing is not essential, and reference frame numbers corresponding to the respective blocks are not required when the scaling processing is not performed.

また、ステップS3001において符号化済みのブロックそのもの、あるいは符号化済みのブロックの動きベクトルが存在しない場合、そのブロックは極めて大きい動きベクトルを持つとみなし、十分大きな値とした上で処理を進める。あるいは、処理対象から除く。   If the encoded block itself or the encoded block motion vector does not exist in step S3001, the block is regarded as having a very large motion vector, and the process proceeds with a sufficiently large value. Alternatively, it is excluded from the processing target.

続いて、ブロックBの動きベクトルとブロックEの動きベクトルの差分MViD_0(i=x,y)、ブロックCの動きベクトルとブロックFの動きベクトルの差分MViD_1(i=x,y)、ブロックDの動きベクトルとブロックEの動きベクトルの差分MViD_2(i=x,y)、ブロックDの動きベクトルとブロックFの動きベクトルの差分MViD_3(i=x,y)、が算出される(ステップS3002)。   Subsequently, the difference MViD — 0 (i = x, y) between the motion vector of block B and the motion vector of block E, the difference MViD — 1 (i = x, y) between the motion vector of block C and the motion vector of block F, A difference MViD_2 (i = x, y) between the motion vector and the motion vector of the block E and a difference MViD_3 (i = x, y) between the motion vector of the block D and the motion vector of the block F are calculated (step S3002).

次に、ステップS3002で算出された各差分を変数とする関数Fを用いた以下の式(2)に基づいて、ブロックA、F、Eの動きベクトル全てを有効利用して、動きベクトル予測値PMVi(i=x,y)を算出する(ステップS3003)。

Figure 2008283490

最後に、算出された動きベクトル予測値PMVi(i=x,y)を出力し(ステップS3004)、処理を終了する。 Next, based on the following equation (2) using the function F having each difference as a variable calculated in step S3002, all the motion vectors of the blocks A, F, and E are effectively used, and a motion vector prediction value is obtained. PMVi (i = x, y) is calculated (step S3003).
Figure 2008283490

Finally, the calculated motion vector prediction value PMVi (i = x, y) is output (step S3004), and the process ends.

なお、図57のフローチャートに示される一連の処理はx成分、y成分に分けずにベクトルの差分(具体的にはベクトルノルムなど)を算出し、動きベクトルのx成分、y成分を同時に決定してもよい。   The series of processes shown in the flowchart of FIG. 57 calculates a vector difference (specifically, a vector norm) without dividing the x component and the y component, and simultaneously determines the x component and the y component of the motion vector. May be.

また、式(2)で用いられる関数Fとしては、例えば、変数(差分)の逆数を算出する関数を採用してもよい。この場合、例えばブロックBの動きベクトルとブロックEの動きベクトルの差分MViD_0(i=x,y)が小さいとき、当該差分の逆数、即ち、大きな値がブロックAの動きベクトルの重み付け係数となるので、ブロックAの動きベクトルの重みを大きくすることができる。   Moreover, as the function F used by Formula (2), you may employ | adopt the function which calculates the reciprocal number of a variable (difference), for example. In this case, for example, when the difference MViD — 0 (i = x, y) between the motion vector of the block B and the motion vector of the block E is small, the reciprocal of the difference, that is, a large value becomes the weighting coefficient of the motion vector of the block A. The weight of the motion vector of block A can be increased.

次に、(b)図6のブロックに適用した例としては、例えば、図58のフローチャートが挙げられる。即ち、動き予測器112における動きベクトル予測値を決定する手順は、図58のフローチャートに従って実行すればよい。動きベクトルx成分、y成分はそれぞれ独立に予測値が決定されるものとする。具体的にはまず動きベクトルのx成分の予測値を決定・出力し、次にy成分の予測値を決定・出力する。以下では必要に応じて、成分を示す添え字をiと記す(iはx又はyである)。   Next, (b) as an example applied to the block of FIG. 6, for example, the flowchart of FIG. That is, the procedure for determining the motion vector prediction value in the motion predictor 112 may be executed according to the flowchart of FIG. It is assumed that predicted values are determined independently for the motion vector x component and the y component. Specifically, first, the predicted value of the x component of the motion vector is determined and output, and then the predicted value of the y component is determined and output. In the following, a subscript indicating a component is written as i (i is x or y) as necessary.

まず動き予測器112は、ラインL112を経由して入力される符号化済みのブロックA、B、C、D、E、F、Gの動きベクトルと対応する参照フレーム番号を取得する(ステップS3101)。   First, the motion predictor 112 acquires reference frame numbers corresponding to motion vectors of encoded blocks A, B, C, D, E, F, and G input via the line L112 (step S3101). .

なおステップS3101で取得される動きベクトルは、対象ブロックを含むフレームと、対象ブロックの動きベクトルが参照するフレームとの時間的距離に基づいてスケーリングされることが好ましい。スケーリングの際には各ブロックの動きベクトルが参照するフレームの時刻を用いるため、各ブロックに対応する参照フレーム番号からその時刻を求める必要がある。   Note that the motion vector acquired in step S3101 is preferably scaled based on a temporal distance between a frame including the target block and a frame referred to by the motion vector of the target block. Since the time of the frame referred to by the motion vector of each block is used at the time of scaling, it is necessary to obtain the time from the reference frame number corresponding to each block.

スケーリングによって、対象ブロックを含むフレームの時刻t0から、対象ブロックの動きベクトルが参照するフレームの時刻teまでの時間的距離(t0-te)を基準にして、取得した符号化済みのブロックA、B、C、D、E、F、Gの動きベクトルの大きさを補正することができる。具体的に一例を挙げると、ブロックAの動きベクトルMViA(i=x,y)が参照するフレームの時刻をta、ブロックAを含むフレームの時刻をt1とすると、スケーリングされた動きベクトルMViA’(i=x,y)は、式(1)によって与えられるベクトルである。   Encoded blocks A and B obtained by scaling based on the time distance (t0-te) from the time t0 of the frame including the target block to the time te of the frame referred to by the motion vector of the target block , C, D, E, F, and G motion vector magnitudes can be corrected. As a specific example, if the time of the frame referred to by the motion vector MViA (i = x, y) of the block A is ta and the time of the frame including the block A is t1, the scaled motion vector MViA ′ ( i = x, y) is a vector given by equation (1).

なお、このスケーリング処理は必須ではなく、スケーリング処理を行わない場合は各ブロックに対応する参照フレーム番号は必要ない。   Note that this scaling processing is not essential, and reference frame numbers corresponding to the respective blocks are not required when the scaling processing is not performed.

また、ステップS3101において符号化済みのブロックそのもの、あるいは符号化済みのブロックの動きベクトルが存在しない場合、そのブロックは極めて大きい動きベクトルを持つとみなし、十分大きな値とした上で処理を進める。あるいは、処理対象から除く。   If the encoded block itself or the encoded block motion vector does not exist in step S 3101, the block is regarded as having a very large motion vector, and the process proceeds with a sufficiently large value. Alternatively, it is excluded from the processing target.

続いて、ブロックBの動きベクトルとブロックFの動きベクトルの差分MViD_0(i=x,y)、ブロックCの動きベクトルとブロックGの動きベクトルの差分MViD_1(i=x,y)、ブロックAの動きベクトルとブロックDの動きベクトルの差分MViD_2(i=x,y)、ブロックEの動きベクトルとブロックFの動きベクトルの差分MViD_3(i=x,y)、ブロックEの動きベクトルとブロックGの動きベクトルの差分MViD_4(i=x,y)の5通りが算出される(ステップS3102)。   Subsequently, the difference MViD — 0 (i = x, y) between the motion vector of block B and the motion vector of block F, the difference MViD — 1 (i = x, y) between the motion vector of block C and the motion vector of block G, The difference MViD — 2 (i = x, y) between the motion vector and the motion vector of block D, the difference MViD — 3 (i = x, y) between the motion vector of block E and the motion vector of block F, the motion vector of block E and the block G Five types of motion vector differences MViD — 4 (i = x, y) are calculated (step S3102).

次に、ステップS3102で算出された各差分を変数とする関数Fを用いた以下の式(3)に基づいて、ブロックB、C、D、G、Fの動きベクトル全てを有効利用して、動きベクトル予測値PMVi(i=x,y)を算出する(ステップS3103)。

Figure 2008283490

最後に、算出された動きベクトル予測値PMVi(i=x,y)を出力し(ステップS3104)、処理を終了する。 Next, all the motion vectors of the blocks B, C, D, G, and F are effectively used based on the following formula (3) using the function F having each difference as a variable calculated in step S3102. A motion vector prediction value PMVi (i = x, y) is calculated (step S3103).
Figure 2008283490

Finally, the calculated motion vector prediction value PMVi (i = x, y) is output (step S3104), and the process ends.

なお、図58のフローチャートに示される一連の処理はx成分、y成分に分けずにベクトルの差分(具体的にはベクトルノルムなど)を算出し、動きベクトルのx成分、y成分を同時に決定してもよい。また、式(3)で用いられる関数Fとしては、例えば、変数(差分)の逆数を算出する関数を採用してもよい。この場合、例えばブロックBの動きベクトルとブロックFの動きベクトルの差分MViD_0(i=x,y)が小さいとき、当該差分の逆数、即ち、大きな値がブロックBの動きベクトルの重み付け係数となるので、ブロックBの動きベクトルの重みを大きくすることができる。   The series of processes shown in the flowchart of FIG. 58 calculates a vector difference (specifically, a vector norm) without dividing the x component and the y component, and simultaneously determines the x component and the y component of the motion vector. May be. Moreover, as the function F used by Formula (3), you may employ | adopt the function which calculates the reciprocal number of a variable (difference), for example. In this case, for example, when the difference MViD — 0 (i = x, y) between the motion vector of the block B and the motion vector of the block F is small, the reciprocal of the difference, that is, a large value becomes the weighting coefficient of the motion vector of the block B. The weight of the motion vector of block B can be increased.

また、ステップS3102において算出する差分は、ブロックBの動きベクトルとブロックFの動きベクトルの差分MViD_0(i=x,y)、ブロックCの動きベクトルとブロックGの動きベクトルの差分MViD_1(i=x,y)の2通りでもよい。その際、ステップS3103では、算出されない差分を変数とする関数F(MViD_2(i=x,y))、関数F(MViD_3(i=x,y))及び関数F(MViD_4(i=x,y))は0として動きベクトル予測値PMVi(i=x,y)を算出すればよい。この場合、空間方向の動きベクトルの差分を含まず、時間方向の動きベクトルの差分のみに基づいて動きベクトル予測値PMVi(i=x,y)を算出することができる。   Further, the difference calculated in step S3102 is the difference MViD_0 (i = x, y) between the motion vector of block B and the motion vector of block F, and the difference MViD_1 (i = x) of the motion vector of block C and the motion vector of block G. , y). At this time, in step S3103, a function F (MV iD — 2 (i = x, y)), a function F (MV iD — 3 (i = x, y)), and a function F (MV iD — 4 (i = x, y)) are set. The motion vector prediction value PMVi (i = x, y) may be calculated with 0). In this case, the motion vector prediction value PMVi (i = x, y) can be calculated based on only the motion vector difference in the temporal direction without including the motion vector difference in the spatial direction.

更に、ステップS3102において算出する差分は、ブロックBの動きベクトルとブロックFの動きベクトルの差分MViD_0(i=x,y)、ブロックCの動きベクトルとブロックGの動きベクトルの差分MViD_1(i=x,y)、ブロックAの動きベクトルとブロックDの動きベクトルの差分MViD_2(i=x,y)の3通りでもよい。その際、ステップS3103では、算出されない差分を変数とする関数F(MViD_3(i=x,y))及び関数F(MViD_4(i=x,y))は0として動きベクトル予測値PMVi(i=x,y)を算出すればよい。この場合、対象ブロックから1フレーム以上隔てたブロック間での動きベクトルの差分を含んだ時間方向の動きベクトルの差分のみに基づいて動きベクトル予測値PMVi(i=x,y)を算出することができる。   Further, the difference calculated in step S3102 is the difference MViD — 0 (i = x, y) between the motion vector of block B and the motion vector of block F, and the difference MViD — 1 (i = x) of the motion vector of block C and the motion vector of block G. , y), the difference MViD_2 (i = x, y) between the motion vector of the block A and the motion vector of the block D may be used. At this time, in step S3103, the function F (MV iD — 3 (i = x, y)) and the function F (MV iD — 4 (i = x, y)) using the difference not calculated as variables are set to 0 and the motion vector prediction value PMVi (i = x, y) may be calculated. In this case, the motion vector prediction value PMVi (i = x, y) can be calculated based only on the temporal motion vector difference including the motion vector difference between the blocks one frame or more away from the target block. it can.

次に、(c)図8のブロックに適用した例としては、例えば、図59のフローチャートが挙げられる。即ち、動き予測器112における動きベクトル予測値を決定する手順は、図59のフローチャートに従って実行すればよい。動きベクトルx成分、y成分はそれぞれ独立に予測値が決定されるものとする。具体的にはまず動きベクトルのx成分の予測値を決定・出力し、次にy成分の予測値を決定・出力する。以下では必要に応じて、成分を示す添え字をiと記す(iはx又はyである)。   Next, (c) as an example applied to the block of FIG. 8, there is a flowchart of FIG. 59, for example. That is, the procedure for determining the motion vector prediction value in the motion predictor 112 may be executed according to the flowchart of FIG. It is assumed that predicted values are determined independently for the motion vector x component and the y component. Specifically, first, the predicted value of the x component of the motion vector is determined and output, and then the predicted value of the y component is determined and output. In the following, a subscript indicating a component is written as i (i is x or y) as necessary.

まず動き予測器112は、ラインL112を経由して入力される符号化済みのブロックA、B、C、D、E、F、G、H、Iの動きベクトルと対応する参照フレーム番号とラインL115を経由して入力される対象ブロックの参照フレーム番号を取得する(ステップS3201)。   First, the motion predictor 112 receives the reference frame number corresponding to the motion vector of the encoded blocks A, B, C, D, E, F, G, H, and I input via the line L112 and the line L115. The reference frame number of the target block input via is acquired (step S3201).

なおステップS3201で取得される動きベクトルは、対象ブロックを含むフレームと、対象ブロックの動きベクトルが参照するフレームとの時間的距離に基づいてスケーリングされることが好ましい。スケーリングの際には各ブロックの動きベクトルが参照するフレームの時刻を用いるため、各ブロックに対応する参照フレーム番号からその時刻を求める必要がある。   Note that the motion vector acquired in step S3201 is preferably scaled based on a temporal distance between a frame including the target block and a frame referred to by the motion vector of the target block. Since the time of the frame referred to by the motion vector of each block is used at the time of scaling, it is necessary to obtain the time from the reference frame number corresponding to each block.

スケーリングによって、対象ブロックを含むフレームの時刻t0から、対象ブロックの動きベクトルが参照するフレームの時刻teまでの時間的距離(t0-te)を基準にして、取得した符号化済みのブロックA、B、C、D、E、F、G、H、Iの動きベクトルの大きさを補正することができる。具体的に一例を挙げると、ブロックAの動きベクトルMViA(i=x,y)が参照するフレームの時刻をta、ブロックAを含むフレームの時刻をt1とすると、スケーリングされた動きベクトルMViA’(i=x,y)は、式(1)によって与えられるベクトルである。   Encoded blocks A and B obtained by scaling based on the time distance (t0-te) from the time t0 of the frame including the target block to the time te of the frame referred to by the motion vector of the target block , C, D, E, F, G, H, and I can correct the magnitude of the motion vector. As a specific example, if the time of the frame referred to by the motion vector MViA (i = x, y) of the block A is ta and the time of the frame including the block A is t1, the scaled motion vector MViA ′ ( i = x, y) is a vector given by equation (1).

なお、このスケーリング処理は必須ではなく、スケーリング処理を行わない場合は各ブロックに対応する参照フレーム番号は必要ない。   Note that this scaling processing is not essential, and reference frame numbers corresponding to the respective blocks are not required when the scaling processing is not performed.

また、ステップS3201において符号化済みのブロックそのもの、あるいは符号化済みのブロックの動きベクトルが存在しない場合、そのブロックは極めて大きい動きベクトルを持つとみなし、十分大きな値とした上で処理を進める。あるいは、処理対象から除く。   If the encoded block itself or the encoded block motion vector does not exist in step S3201, the block is regarded as having a very large motion vector, and the process proceeds with a sufficiently large value. Alternatively, it is excluded from the processing target.

続いて、ブロックAの動きベクトルとブロックBの動きベクトルとブロックCの動きベクトルの分散MViV_0(i=x,y)、ブロックDの動きベクトルとブロックEの動きベクトルとブロックFの動きベクトルの分散MViV_1(i=x,y)、ブロックGの動きベクトルとブロックHの動きベクトルとブロックIの動きベクトルの分散MViV_2(i=x,y)、の3組の分散をそれぞれ算出する。(ステップS3202)
次に、ステップS3202で算出された各分散を変数とする関数Fを用いた以下の式(4)に基づいて、ブロックA〜Iの9つの動きベクトル全てを有効利用して、動きベクトル予測値PMVi(i=x,y)を算出する(ステップS3203)。

Figure 2008283490

最後に、算出された動きベクトル予測値PMVi(i=x,y)を出力し(ステップS3204)、処理を終了する。 Subsequently, variance of motion vector of block A, motion vector of block B and motion vector of block C, MViV_0 (i = x, y), variance of motion vector of block D, motion vector of block E and motion vector of block F Three sets of variances are calculated: MViV_1 (i = x, y), block G motion vector, block H motion vector, and block I motion vector variance MViV_2 (i = x, y). (Step S3202)
Next, based on the following equation (4) using the function F having each variance as a variable calculated in step S3202, all nine motion vectors of the blocks A to I are effectively used, and a motion vector prediction value is obtained. PMVi (i = x, y) is calculated (step S3203).
Figure 2008283490

Finally, the calculated motion vector prediction value PMVi (i = x, y) is output (step S3204), and the process ends.

なお、図59のフローチャートに示される一連の処理はx成分、y成分に分けずにベクトルの差分(具体的にはベクトルノルムなど)を算出し、動きベクトルのx成分、y成分を同時に決定してもよい。また、式(4)で用いられる関数Fとしては、例えば、変数(分散)の逆数を算出する関数を採用してもよい。この場合、例えばブロックAの動きベクトルとブロックBの動きベクトルとブロックCの動きベクトルの分散MViV_0(i=x,y)が小さいとき、当該分散の逆数、即ち、大きな値がブロックAの動きベクトルとブロックBの動きベクトルとブロックCの動きベクトルの平均値の重み付け係数となるので、ブロックAの動きベクトルとブロックBの動きベクトルとブロックCの動きベクトルの平均値の重みを大きくすることができる。   The series of processes shown in the flowchart of FIG. 59 calculates a vector difference (specifically, a vector norm) without dividing the x component and the y component, and simultaneously determines the x component and the y component of the motion vector. May be. Moreover, as the function F used by Formula (4), you may employ | adopt the function which calculates the reciprocal number of a variable (dispersion), for example. In this case, for example, when the variance MViV — 0 (i = x, y) of the motion vector of block A, the motion vector of block B, and the motion vector of block C is small, the reciprocal of the variance, that is, a large value is the motion vector of block A Since the weighting coefficient of the average value of the motion vector of block B and the motion vector of block C can be increased, the weight of the average value of the motion vector of block A, the motion vector of block B, and the motion vector of block C can be increased. .

また、ステップS3202において動きベクトルの類似性をあらわす値として分散を用いたが、標準偏差や、各ブロック間の動きベクトルの差分値や、それら複数の差分値の平均を用いてもよい。   Further, although variance is used as a value representing the similarity of motion vectors in step S3202, standard deviation, a difference value of motion vectors between blocks, or an average of the plurality of difference values may be used.

また、ステップS3203において、3つの動きベクトルの平均値を動きベクトルの予測値としたが、3つの動きベクトルの中間値、あるいはいずれかひとつの値を予測値としてもよい。   In step S3203, the average value of the three motion vectors is set as the predicted value of the motion vector, but an intermediate value of the three motion vectors or any one of the values may be set as the predicted value.

図59では時間方向、空間方向にそれぞれ連続する3ブロックの動きベクトルを参照して動きベクトル予測値の決定を行ったが、これは時間方向のみでもよい。またそれぞれの方向に2ブロックのみ、あるいは4ブロック以上のブロックを用いてもよい。また時間方向で隣り合うフレームのブロックと空間方向で1ブロック以上隔てたブロックを組み合わせて用いてもよい。   In FIG. 59, the motion vector prediction value is determined with reference to three blocks of motion vectors that are continuous in the time direction and the spatial direction, but this may be only in the time direction. Further, only two blocks or four or more blocks may be used in each direction. Further, a block of frames adjacent in the time direction and a block separated by one or more blocks in the spatial direction may be used in combination.

また、ステップS3202において算出する分散は、ブロックDの動きベクトルとブロックEの動きベクトルとブロックFの動きベクトルの分散MViV_1(i=x,y)、ブロックGの動きベクトルとブロックHの動きベクトルとブロックIの動きベクトルの分散MViV_2(i=x,y)、の2組のみでもよい。その際、ステップS3203では、算出されない分散を変数とする関数F(MViV_0(i=x,y))は0として動きベクトル予測値PMVi(i=x,y)を算出すればよい。この場合、対象ブロックから1ブロック以上隔てた複数ブロックを含む空間方向のみからの動きベクトル予測値PMVi(i=x,y)の算出を行うことができる。   Further, the variance calculated in step S3202 is the variance MViV_1 (i = x, y) of the motion vector of block D, the motion vector of block E, and the motion vector of block F, the motion vector of block G, and the motion vector of block H. Only two sets of block vector motion vector variance MViV — 2 (i = x, y) may be used. At this time, in step S3203, the motion vector prediction value PMVi (i = x, y) may be calculated by setting the function F (MViV — 0 (i = x, y)) with the variance not calculated as a variable to zero. In this case, the motion vector prediction value PMVi (i = x, y) can be calculated only from the spatial direction including a plurality of blocks separated by one block or more from the target block.

最後に、コンピュータを動画像符号化装置10として動作させる動画像符号化プログラムについて説明する。図51は、本実施形態に係る動画像符号化プログラムP10の構成を示し、この動画像符号化プログラムP10は、記録媒体に格納されて提供される。記録媒体としては、フレキシブルディスク、CD−ROM、DVD、ROM等の記録媒体あるいは半導体メモリ等が例示される。図63は、記録媒体に記憶されたプログラムを実行するためのコンピュータのハードウェア構成を示す図であり、図64は、記録媒体に記憶されたプログラムを実行するためのコンピュータの斜視図である。   Finally, a moving picture coding program that causes a computer to operate as the moving picture coding apparatus 10 will be described. FIG. 51 shows a configuration of a moving image encoding program P10 according to the present embodiment, and this moving image encoding program P10 is provided by being stored in a recording medium. Examples of the recording medium include a recording medium such as a flexible disk, a CD-ROM, a DVD, and a ROM, or a semiconductor memory. FIG. 63 is a diagram showing a hardware configuration of a computer for executing a program stored in the recording medium, and FIG. 64 is a perspective view of the computer for executing the program stored in the recording medium.

図63に示すように、コンピュータ80は、フレキシブルディスクドライブ装置、CD−ROMドライブ装置、DVDドライブ装置等の読取装置62と、作業用メモリ(RAM)64と、記録媒体60に記憶されたプログラム等を記憶するメモリ66と、ディスプレイ68と、マウス70と、キーボード72と、データ等の送受信を行う通信装置74と、プログラムの実行を制御するCPU76とを備えている。コンピュータ80は、記録媒体60が読取装置62に挿入されると、読取装置62から記録媒体60に格納された動画像符号化プログラムP10にアクセス可能になり、当該動画像符号化プログラムP10によって、動画像符号化装置10として動作することが可能になる。   As shown in FIG. 63, the computer 80 includes a reading device 62 such as a flexible disk drive device, a CD-ROM drive device, a DVD drive device, a working memory (RAM) 64, a program stored in the recording medium 60, and the like. A memory 66, a display 68, a mouse 70, a keyboard 72, a communication device 74 that transmits and receives data and the like, and a CPU 76 that controls execution of a program. When the recording medium 60 is inserted into the reading device 62, the computer 80 can access the moving image encoding program P10 stored in the recording medium 60 from the reading device 62, and the moving image encoding program P10 allows the moving image encoding program P10 to It becomes possible to operate as the image encoding device 10.

図64に示すように、動画像符号化プログラムP10は、搬送波に重畳されたコンピュータデータ信号90としてネットワークを介して提供されるものであってもよい。この場合、コンピュータ80は、通信装置74によって受信した動画像符号化プログラムP10をメモリ66に格納し、当該動画像符号化プログラムP10を実行することができる。   As shown in FIG. 64, the moving image encoding program P10 may be provided via a network as a computer data signal 90 superimposed on a carrier wave. In this case, the computer 80 can store the moving image encoding program P10 received by the communication device 74 in the memory 66 and execute the moving image encoding program P10.

図51に示すように、動画像符号化プログラムP10は、処理を統括するメインモジュールP101と、ブロック分割モジュールP102と、変換モジュールP103と、量子化モジュールP104と、逆量子化モジュールP105と、逆変換モジュールP106と、記憶モジュールP107と、予測信号生成モジュールP108と、動き予測モジュールP109と、動き検出モジュールP110と、加算モジュールP111と、減算モジュールP112と、エントロピー符号化モジュールP113とを備えている。   As shown in FIG. 51, the moving picture encoding program P10 includes a main module P101 that supervises processing, a block division module P102, a transform module P103, a quantization module P104, an inverse quantization module P105, and an inverse transform. A module P106, a storage module P107, a prediction signal generation module P108, a motion prediction module P109, a motion detection module P110, an addition module P111, a subtraction module P112, and an entropy encoding module P113 are provided.

ブロック分割モジュールP102、変換モジュールP103、量子化モジュールP104、逆量子化モジュールP105、逆変換モジュールP106、予測信号生成モジュールP108、動き予測モジュールP109、動き検出モジュールP110、加算モジュールP111、エントロピー符号化モジュールP113がコンピュータ80に実現させる機能は、それぞれ図1のブロック分割器101、変換器107、量子化器108、逆量子化器109、逆変換器110、予測信号生成器104、動き予測器112、動き検出器103、加算器111、エントロピー符号化器114の機能と同様である。記憶モジュールP107がコンピュータ80に実現させる機能は、フレームメモリ102及び動きベクトルメモリ105の機能と同様である。減算モジュールP112がコンピュータ80に実現させる機能は、減算器106、113の機能と同様である。   Block division module P102, transform module P103, quantization module P104, inverse quantization module P105, inverse transform module P106, prediction signal generation module P108, motion prediction module P109, motion detection module P110, addition module P111, entropy encoding module P113 The functions realized by the computer 80 are the block divider 101, transformer 107, quantizer 108, inverse quantizer 109, inverse transformer 110, prediction signal generator 104, motion predictor 112, motion of FIG. The functions of the detector 103, the adder 111, and the entropy encoder 114 are the same. The functions that the storage module P107 realizes in the computer 80 are the same as the functions of the frame memory 102 and the motion vector memory 105. The function that the subtraction module P112 realizes in the computer 80 is the same as the function of the subtractors 106 and 113.

[第2実施形態]
図12を用いて、本発明に係る動画像符号化装置20について説明する。動画像符号化装置20は、機能的な構成要素として、図12に示すように、ブロック分割器201と、フレームメモリ202と、動き検出器203と、予測信号生成器204と、動きベクトルメモリ205と、減算器206と、変換器207と、量子化器208と、逆量子化器209と、逆変換器210と、加算器211と、動き予測器212と、確率切替信号生成器213と、エントロピー符号化器114とを備えて構成される。
[Second Embodiment]
The moving picture coding apparatus 20 according to the present invention will be described with reference to FIG. As shown in FIG. 12, the moving image coding apparatus 20 includes a block divider 201, a frame memory 202, a motion detector 203, a prediction signal generator 204, and a motion vector memory 205 as functional components. A subtractor 206, a converter 207, a quantizer 208, an inverse quantizer 209, an inverse transformer 210, an adder 211, a motion predictor 212, a probability switching signal generator 213, And an entropy encoder 114.

動画像符号化装置20に入力される入力映像信号(動画像信号)は、フレーム単位の画像信号(以下、フレーム画像信号)の時間系列で構成されている。   An input video signal (moving image signal) input to the moving image encoding device 20 is composed of a time series of image signals in units of frames (hereinafter referred to as frame image signals).

ブロック分割器201は、ラインL201を経由して入力された入力映像信号の符号化対象となるフレーム画像信号を複数の領域(ブロック)に分割し、ラインL202を経由して符号化対象のブロック(以下、対象ブロック)の画像信号を出力する。本実施形態では8×8の画素からなるブロックに分割するが、それ以外の大きさまたは形に分割してもよい。このブロック単位で以下の符号化処理が行われる。   The block divider 201 divides the frame image signal to be encoded of the input video signal input via the line L201 into a plurality of areas (blocks), and blocks the block to be encoded via the line L202 ( Hereinafter, the image signal of the target block) is output. In this embodiment, the block is divided into 8 × 8 pixels, but may be divided into other sizes or shapes. The following encoding process is performed for each block.

フレームメモリ202は、ラインL203を経由して入力される過去に符号化済みのフレーム画像信号(以下、参照フレーム画像信号)を格納し、必要に応じてラインL204を経由して出力する。   The frame memory 202 stores a previously encoded frame image signal (hereinafter referred to as a reference frame image signal) input via the line L203 and outputs it via the line L204 as necessary.

動き検出器203は、ラインL202を経由して入力される対象ブロックの画像信号のパターンに類似した画像信号パターンを、ラインL204を経由して入力される参照フレーム画像信号から所定範囲内で探索し、両画像信号パターン間の空間的な変位量である動きベクトルを検出し、ラインL205を経由して出力する。また、その動きベクトルが参照するフレームの番号(以下、参照フレーム番号)を検出し、ラインL216を経由して出力する。   The motion detector 203 searches an image signal pattern similar to the image signal pattern of the target block input via the line L202 within a predetermined range from the reference frame image signal input via the line L204. Then, a motion vector, which is a spatial displacement amount between both image signal patterns, is detected and output via the line L205. Also, the frame number (hereinafter referred to as the reference frame number) referred to by the motion vector is detected and output via the line L216.

予測信号生成器204は、ラインL205を経由して入力される対象ブロックの動きベクトル信号値とラインL216を経由して入力される参照フレーム番号と、ラインL204を経由して入力される参照フレーム画像信号から、対象ブロックに対する予測画像信号を生成し、ラインL206を経由して出力する。   The prediction signal generator 204 includes the motion vector signal value of the target block input via the line L205, the reference frame number input via the line L216, and the reference frame image input via the line L204. A predicted image signal for the target block is generated from the signal and output via the line L206.

動きベクトルメモリ205は、過去に符号化済みの動きベクトルや参照フレーム番号と併せて、ラインL205を経由して入力される動きベクトルとラインL215を経由して入力される参照フレーム番号を格納し、必要に応じてラインL212を経由して出力する。   The motion vector memory 205 stores a motion vector input via the line L205 and a reference frame number input via the line L215, together with a previously encoded motion vector and reference frame number. Output via line L212 as necessary.

減算器206は、ラインL202を経由して入力された対象ブロックの画像信号から、ラインL206を経由して入力された対象ブロックに対する予測画像信号を減算し、残差信号を生成し、ラインL207を経由して出力する。   The subtracter 206 subtracts the prediction image signal for the target block input via the line L206 from the image signal of the target block input via the line L202, generates a residual signal, Output via.

変換器207は、ラインL207を経由して入力された残差信号を直交変換し、ラインL208を経由して変換係数を出力する。   The converter 207 performs orthogonal transform on the residual signal input via the line L207 and outputs a conversion coefficient via the line L208.

量子化器208は、ラインL208を経由して入力された変換係数を量子化し、ラインL209を経由して量子化された変換係数を出力する。   The quantizer 208 quantizes the transform coefficient input via the line L208 and outputs the quantized transform coefficient via the line L209.

逆量子化器209は、ラインL209を経由して入力された量子化された変換係数を逆量子化し、ラインL210を経由して復元された変換係数を出力する。   The inverse quantizer 209 inversely quantizes the quantized transform coefficient input via the line L209 and outputs the restored transform coefficient via the line L210.

逆変換器210は、ラインL210を経由して入力された変換係数を逆直交変換し、ラインL211を経由して復元された残差信号を出力する。   The inverse transformer 210 performs an inverse orthogonal transform on the transform coefficient input via the line L210 and outputs a restored residual signal via the line L211.

加算器211は、ラインL211を経由して入力された残差信号と、ラインL206を経由して入力された対象ブロックに対する予測画像信号を加算し、対象ブロックの画像信号を復元し、ラインL203を経由して出力する。   The adder 211 adds the residual signal input via the line L211 and the prediction image signal for the target block input via the line L206, restores the image signal of the target block, and sets the line L203 Output via.

動き予測器212は、ラインL212を経由して入力される過去に符号化済みのブロックの動きベクトルと、それに対応した参照フレーム番号とラインL216を経由して入力される対象ブロックの参照フレーム番号から、後述するフローに従って対象ブロックの動きベクトル予測値を示すインデックスの決定および動きベクトル予測値と実際の動きベクトルの差分である動きベクトル差分値の算出を行い、ラインL213を経由して動きベクトル予測値を示すインデックスを出力する。また、ラインL214を経由して動きベクトル差分値を出力する。   The motion predictor 212 uses the motion vector of the previously encoded block input via the line L212, the corresponding reference frame number, and the reference frame number of the target block input via the line L216. In accordance with the flow to be described later, the index indicating the motion vector prediction value of the target block is determined, the motion vector difference value that is the difference between the motion vector prediction value and the actual motion vector is calculated, and the motion vector prediction value is obtained via the line L213. The index indicating is output. Also, the motion vector difference value is output via the line L214.

確率切替信号生成器213はラインL212を経由して入力される過去に符号化済みのブロックの動きベクトルと、それに対応する参照フレーム番号と、ラインL216を経由して入力される対象ブロックの参照フレーム番号から、後述するフローに従って切り替える確率テーブルを示す確率切替信号を生成し、ラインL215を経由して出力する。   The probability switching signal generator 213 inputs the motion vector of the previously encoded block input via the line L212, the corresponding reference frame number, and the reference frame of the target block input via the line L216. From the number, a probability switching signal indicating a probability table to be switched according to a flow to be described later is generated and output via a line L215.

エントロピー符号化器214は、ラインL209を経由して入力された量子化された変換係数と、ラインL214を経由して入力された動きベクトル差分値と、ラインL216を経由して入力された対象ブロックの参照フレーム番号を符号化する。また、ラインL215を経由して入力された確率切替信号に基づいて、エントロピー符号化を行う際に用いる確率テーブルを後述の方法で切り替えたのち、ラインL213を経由して入力された動きベクトル予測値を示すインデックスを符号化する。そして符号化された変換係数および動きベクトル差分値および動きベクトル予測値を示すインデックスを多重化したうえで、圧縮ストリームをラインL216に出力する。   The entropy encoder 214 receives the quantized transform coefficient input via the line L209, the motion vector difference value input via the line L214, and the target block input via the line L216. The reference frame number is encoded. In addition, based on the probability switching signal input via the line L215, the probability table used when performing entropy coding is switched by the method described later, and then the motion vector prediction value input via the line L213 The index indicating is encoded. The encoded transform coefficient, motion vector difference value, and index indicating the motion vector prediction value are multiplexed, and then the compressed stream is output to line L216.

上記のようにエントロピー符号化を行う際に用いる確率テーブルを切り替えることは、動きベクトル予測値を示す各インデックスをその出現頻度に基づいた適切な符号量で符号化することによって、インデックスの符号化効率を高める効果がある。   Switching the probability table used when entropy encoding is performed as described above is performed by encoding each index indicating a motion vector prediction value with an appropriate code amount based on the appearance frequency, thereby increasing the index encoding efficiency. There is an effect to increase.

次に、図13を参照して動き予測器212について詳細に説明する。図13は、動き予測器112における動きベクトル予測値を示すインデックスを決定する手順を説明するための模式図である。   Next, the motion predictor 212 will be described in detail with reference to FIG. FIG. 13 is a schematic diagram for explaining a procedure for determining an index indicating a motion vector prediction value in the motion predictor 112.

図13で、対象ブロックをHとし、フレームF401はブロックHを含むフレームである。フレームF402は既に符号化済みのフレームで、フレームF401とは時間方向で隣り合うフレームである。   In FIG. 13, the target block is H, and the frame F401 is a frame including the block H. The frame F402 is an already encoded frame, and is adjacent to the frame F401 in the time direction.

フレームF401において、ブロックDをブロックHの最も左上の画素の真左上の画素を含むブロック、ブロックEをブロックHの最も左上の画素の真上の画素を含むブロック、ブロックFをブロックHの最も左上の画素の真左の画素を含むブロックとする。   In frame F401, block D is a block including the pixel immediately above the upper left pixel of block H, block E is a block including the pixel immediately above the upper left pixel of block H, and block F is the upper left pixel of block H. A block including a pixel immediately to the left of the pixel.

フレームF402において、ブロックAはブロックHの最も左上の画素と同じ空間位置の画素を含むブロックとする。ブロックBをブロックAの最も左上の画素の真上の画素を含むブロック、ブロックCをブロックAの最も左上の画素の真左の画素を含むブロックとする。   In the frame F402, the block A is a block including a pixel at the same spatial position as the upper left pixel of the block H. Block B is a block including a pixel immediately above the upper leftmost pixel of block A, and block C is a block including a pixel immediately left of the uppermost left pixel of block A.

図14は、動き予測器212における動きベクトル予測値を示すインデックスを決定する手順を説明するためのフローチャートである。動きベクトルのx成分、y成分はそれぞれ独立にインデックスが決定されるものとする。具体的にはまず動きベクトルのx成分の予測値を示すインデックスを決定・出力し、次にy成分の予測値を示すインデックスを決定・出力する。以下では必要に応じて、成分を示す添え字をiと記す(iはx又はyである)。   FIG. 14 is a flowchart for explaining a procedure for determining an index indicating a motion vector prediction value in the motion predictor 212. Assume that the indices of the x and y components of the motion vector are determined independently. Specifically, an index indicating the predicted value of the x component of the motion vector is first determined and output, and then an index indicating the predicted value of the y component is determined and output. In the following, a subscript indicating a component is written as i (i is x or y) as necessary.

まず動き予測器212は、ラインL212を経由して入力される符号化済みのブロックA、E、Fの動きベクトルと、それに対応する参照フレーム番号と、ラインL205を経由して入力される対象ブロックHの動きベクトルと、ラインL216を経由して入力される対象ブロックの参照フレーム番号を取得する(ステップS601)。   First, the motion predictor 212 receives the motion vectors of the encoded blocks A, E, and F input via the line L212, the corresponding reference frame numbers, and the target block input via the line L205. The motion vector of H and the reference frame number of the target block input via the line L216 are acquired (step S601).

なおステップS601で取得される動きベクトルは、対象ブロックを含むフレームと、対象ブロックの動きベクトルが参照するフレームとの時間的距離に基づいてスケーリングされることが好ましい。スケーリングの際には各ブロックの動きベクトルが参照するフレームの時刻を用いるため、各ブロックに対応する参照フレーム番号からその時刻を求める必要がある。   Note that the motion vector acquired in step S601 is preferably scaled based on a temporal distance between a frame including the target block and a frame referred to by the motion vector of the target block. Since the time of the frame referred to by the motion vector of each block is used at the time of scaling, it is necessary to obtain the time from the reference frame number corresponding to each block.

スケーリングによって、対象ブロックを含むフレームの時刻t0から、対象ブロックの動きベクトルが参照するフレームの時刻teまでの時間的距離(t0-te)を基準にして、取得した符号化済みのブロックA、E、Fの動きベクトルの大きさを補正することができる。具体的に一例を挙げると、ブロックAの動きベクトルMViA(i=x,y)が参照するフレームの時刻をta、ブロックAを含むフレームの時刻をt1とすると、スケーリングされた動きベクトルMViA’(i=x,y)は、式(1)によって与えられるベクトルである。   Encoded blocks A and E obtained by scaling based on the temporal distance (t0-te) from the time t0 of the frame including the target block to the time te of the frame referenced by the motion vector of the target block , The magnitude of the motion vector of F can be corrected. As a specific example, if the time of the frame referred to by the motion vector MViA (i = x, y) of the block A is ta and the time of the frame including the block A is t1, the scaled motion vector MViA ′ ( i = x, y) is a vector given by equation (1).

なお、このスケーリング処理は必須ではなく、スケーリング処理を行わない場合は各ブロックに対応する参照フレーム番号は必要ない。   Note that this scaling processing is not essential, and reference frame numbers corresponding to the respective blocks are not required when the scaling processing is not performed.

また、ステップS601において符号化済みのブロックそのもの、あるいは符号化済みのブロックの動きベクトルが存在しない場合、そのブロックは極めて大きい動きベクトルを持つとみなし、十分大きな値とした上で処理を進める。あるいは、処理対象から除く。   If there is no encoded block itself or a motion vector of the encoded block in step S601, the block is regarded as having a very large motion vector, and the process proceeds with a sufficiently large value. Alternatively, it is excluded from the processing target.

続いて、ブロックAの動きベクトルとブロックHの動きベクトルの差分、ブロックEの動きベクトルとブロックHの動きベクトルの差分、ブロックFの動きベクトルとブロックHの動きベクトルの差分の3通りの差分値が算出される(ステップS602)。   Subsequently, the difference between the motion vector of block A and the motion vector of block H, the difference between the motion vector of block E and the motion vector of block H, and the difference between the motion vector of block F and the motion vector of block H Is calculated (step S602).

次に、ステップS602で算出された3通りの差分値のうち、どの組み合わせの差分値が最小のものであるかが判定される。(ステップS603)。   Next, it is determined which combination of the three difference values calculated in step S602 has the smallest difference value. (Step S603).

ステップS603での判定の結果、もっとも小さい差分を与える組み合わせがブロックAとブロックHである場合には、ブロックHの動きベクトル予測値はブロックAの動きベクトルと同じ値であることを示すインデックスIndex_i=0(i=x,y)を生成する、またブロックAとブロックHの動きベクトルの差分を、動きベクトル差分値MViD(i=x,y)とする。もっとも小さい差分を与える組み合わせがブロックEとブロックHである場合には、ブロックHの動きベクトル予測値はブロックEの動きベクトルと同じ値であることを示すインデックスIndex_i=1(i=x,y)を生成する、またブロックEとブロックHの動きベクトルの差分を、動きベクトル差分値MViD(i=x,y)とする。もっとも小さい差分を与える組み合わせがブロックFとブロックHである場合には、ブロックHの動きベクトル予測値はブロックFの動きベクトルと同じ値であることを示すインデックスIndex_i=2(i=x,y)を生成する、またブロックAとブロックHの動きベクトルの差分を、動きベクトル差分値MViD(i=x,y)とする(ステップS604)。   If the combination that gives the smallest difference is the block A and the block H as a result of the determination in step S603, the index Index_i = indicating that the motion vector prediction value of the block H is the same value as the motion vector of the block A 0 (i = x, y) is generated, and the difference between the motion vectors of block A and block H is set as a motion vector difference value MViD (i = x, y). When the combination that gives the smallest difference is the block E and the block H, the index Index_i = 1 (i = x, y) indicating that the motion vector prediction value of the block H is the same value as the motion vector of the block E And the difference between the motion vectors of the block E and the block H is a motion vector difference value MViD (i = x, y). When the combination that gives the smallest difference is the block F and the block H, the index Index_i = 2 (i = x, y) indicating that the motion vector prediction value of the block H is the same value as the motion vector of the block F The difference between the motion vectors of block A and block H is set as a motion vector difference value MViD (i = x, y) (step S604).

続いて、ステップS604で決定されたインデックスIndex_i(i=x,y)を出力する(ステップS605)。   Subsequently, the index Index_i (i = x, y) determined in step S604 is output (step S605).

最後に、ステップS604で決定された動きベクトル差分値MViD(i=x,y)を出力し(ステップS606)、処理を終了する。   Finally, the motion vector difference value MViD (i = x, y) determined in step S604 is output (step S606), and the process ends.

なお、ステップS602において、動きベクトル予測値と実際の動きベクトルの差分を用いて動きベクトル予測値の決定を行ったが、その代わりに実際に符号化を行い、符号量と歪みの最適化(R-D最適化)によって動きベクトル予測値の決定を行ってもよい。   In step S602, the motion vector prediction value is determined using the difference between the motion vector prediction value and the actual motion vector. Instead, encoding is actually performed to optimize the code amount and distortion (RD). The motion vector prediction value may be determined by optimization).

なお、図14のフローチャートに示される一連の処理はx成分、y成分に分けずにベクトルの差分(具体的にはベクトルノルムなど)を算出し、動きベクトルのx成分、y成分を示すインデックスや動きベクトル差分値を同時に決定してもよい。   The series of processes shown in the flowchart of FIG. 14 calculates a vector difference (specifically, a vector norm) without dividing the x component and the y component into an index indicating the x component and y component of the motion vector. The motion vector difference value may be determined simultaneously.

また、対象ブロックを含む領域が大きく移動しているような場合の予測精度をあげるために、図13に示されるブロックの位置関係は以下のように定めてもよい。   Further, in order to increase the prediction accuracy when the region including the target block is greatly moved, the positional relationship of the blocks shown in FIG. 13 may be determined as follows.

対象ブロックをHとし、フレームF401はブロックHを含むフレームである。フレームF402は既に符号化済みのフレームである。   The target block is H, and the frame F401 is a frame including the block H. A frame F402 is an already encoded frame.

フレームF401において、ブロックDをブロックHの最も左上の画素の真左上の画素を含むブロック、ブロックEをブロックHの最も左上の画素の真上の画素を含むブロック、ブロックFをブロックHの最も左上の画素の真左の画素を含むブロックとする。   In frame F401, block D is a block including the pixel immediately above the upper left pixel of block H, block E is a block including the pixel immediately above the upper left pixel of block H, and block F is the upper left pixel of block H. A block including a pixel immediately to the left of the pixel.

フレームF402において、ブロックAはブロックDの動きベクトルが参照しているブロック、またはブロックEの動きベクトルが参照しているブロック、またはブロックFの動きベクトルが参照しているブロックとする。その際もブロックBをブロックAの最も左上の画素の真上の画素を含むブロック、ブロックCをブロックAの最も左上の画素の真左の画素を含むブロックとする。   In the frame F402, the block A is a block that is referenced by the motion vector of the block D, a block that is referenced by the motion vector of the block E, or a block that is referenced by the motion vector of the block F. Also in this case, the block B is a block including a pixel immediately above the uppermost leftmost pixel of the block A, and the block C is a block including a pixel rightward of the uppermost leftmost pixel of the block A.

なお上記の定め方をする場合、各ブロックの大きさ以下の精度で類似する画像信号パターンの位置を探し出して動きベクトルの検出を行う際に、ブロックDが参照するブロック、あるいはブロックEが参照するブロック、あるいはブロックFが参照するブロックが動きベクトルをもつ複数のブロックにまたがることが考えられるが、その際はそれら複数のブロックの動きベクトルの平均値、あるいはまたがる領域でもっとも占める割合の高いブロックの動きベクトルを該当するブロック(DあるいはEあるいはF)が参照するブロックの動きベクトルとして用いるものとする。   When the above method is used, when the position of a similar image signal pattern is detected with an accuracy less than the size of each block and the motion vector is detected, the block referred to by the block D or the block E refers to It is conceivable that the block or the block referenced by block F may span multiple blocks with motion vectors. In this case, the average value of the motion vectors of these blocks or the block with the highest ratio in the spanning area The motion vector is used as a motion vector of a block referred to by the corresponding block (D, E, or F).

上述した実施形態は、同じフレームのブロック間で求めた動きベクトル差分値と、互いに異なるフレームのブロック間で求めた動きベクトル差分値を組み合わせて動きベクトルの予測を行っているが、互いに異なるフレームのブロック間で求めた動きベクトル差分値のみで動きベクトルの予測を行ってもよい。その際は、ブロックAとHの動きベクトルの差分、ブロックBとHの動きベクトルの差分、ブロックCとHの動きベクトルの差分の組み合わせのうち、差分値が最小となるものを用いてもよいし、さらにブロックA、B、Cの動きベクトル平均値とブロックHの動きベクトルの差分を候補に加えてもよい。   In the embodiment described above, motion vector prediction is performed by combining a motion vector difference value obtained between blocks in the same frame and a motion vector difference value obtained between blocks in different frames. The motion vector may be predicted using only the motion vector difference value obtained between the blocks. In that case, among the combinations of the difference between the motion vectors of the blocks A and H, the difference between the motion vectors of the blocks B and H, and the difference between the motion vectors of the blocks C and H, the one having the smallest difference value may be used. Furthermore, the difference between the motion vector average value of blocks A, B, and C and the motion vector of block H may be added to the candidates.

このとき、確率切替信号生成器213の詳細は図15のフローチャートに従うことが好ましい。確率切替信号は動きベクトル予測値を示すインデックスの発生確率の尤もらしさを示すものであって、この信号に基づいて確率テーブルを切り替えてエントロピー符号化を行うことで、データの発生確率に応じた適切な符号量でインデックスの符号化を行うことができる。   At this time, the details of the probability switching signal generator 213 preferably follow the flowchart of FIG. The probability switching signal indicates the likelihood of the occurrence probability of the index indicating the motion vector prediction value, and by switching the probability table based on this signal and performing entropy coding, the probability switching signal Indexes can be encoded with a large code amount.

確率切替信号生成器213では、動きベクトルのx成分、y成分はそれぞれ独立に計算されるものとする。具体的にはまず動きベクトルのx成分の計算を行い、x成分に相当する確率切替信号を出力し、次にy成分の計算を行い、y成分に相当する確率切替信号の出力を行う。以下では必要に応じて、成分を示す添え字をiと記す(iはx又はyである)。   In the probability switching signal generator 213, the x component and y component of the motion vector are calculated independently. Specifically, the x component of the motion vector is first calculated, a probability switching signal corresponding to the x component is output, then the y component is calculated, and a probability switching signal corresponding to the y component is output. In the following, a subscript indicating a component is written as i (i is x or y) as necessary.

まず確率切替信号生成器213は、ラインL212を経由して入力される符号化済みのブロックA、B、C、D、E、Fの動きベクトルと対応する参照フレーム番号と、ラインL216を経由して入力される対象ブロックの参照フレーム番号を取得する(ステップS701)。   First, the probability switching signal generator 213 receives the reference frame numbers corresponding to the motion vectors of the encoded blocks A, B, C, D, E, and F input via the line L212 and the line L216. The reference frame number of the target block input in step S701 is acquired.

なおステップS701で取得される動きベクトルは、対象ブロックを含むフレームと、対象ブロックの動きベクトルが参照するフレームとの時間的距離に基づいてスケーリングされることが好ましい。スケーリングの際には各ブロックの動きベクトルが参照するフレームの時刻を用いるため、各ブロックに対応する参照フレーム番号からその時刻を求める必要がある。   Note that the motion vector acquired in step S701 is preferably scaled based on a temporal distance between a frame including the target block and a frame referred to by the motion vector of the target block. Since the time of the frame referred to by the motion vector of each block is used at the time of scaling, it is necessary to obtain the time from the reference frame number corresponding to each block.

スケーリングによって、対象ブロックを含むフレームの時刻t0から、対象ブロックの動きベクトルが参照するフレームの時刻teまでの時間的距離(t0-te)を基準にして、取得した符号化済みのブロックA、B、C、D、E、Fの動きベクトルの大きさを補正することができる。具体的に一例を挙げると、ブロックAの動きベクトルMViA(i=x,y)が参照するフレームの時刻をta、ブロックAを含むフレームの時刻をt1とすると、スケーリングされた動きベクトルMViA’(i=x,y)は、式(1)によって与えられるベクトルである。   Encoded blocks A and B obtained by scaling based on the time distance (t0-te) from the time t0 of the frame including the target block to the time te of the frame referred to by the motion vector of the target block , C, D, E, and F motion vector magnitudes can be corrected. As a specific example, if the time of the frame referred to by the motion vector MViA (i = x, y) of the block A is ta and the time of the frame including the block A is t1, the scaled motion vector MViA ′ ( i = x, y) is a vector given by equation (1).

なお、このスケーリング処理は必須ではなく、スケーリング処理を行わない場合は各ブロックに対応する参照フレーム番号は必要ない。   Note that this scaling processing is not essential, and reference frame numbers corresponding to the respective blocks are not required when the scaling processing is not performed.

また、ステップS701において符号化済みのブロックそのもの、あるいは符号化済みのブロックの動きベクトルが存在しない場合、そのブロックは極めて大きい動きベクトルを持つとみなし、十分大きな値とした上で処理を進める。あるいは、処理対象から除く。   Also, if there is no encoded block itself or a motion vector of the encoded block in step S701, the block is regarded as having a very large motion vector, and the process proceeds with a sufficiently large value. Alternatively, it is excluded from the processing target.

続いて、ブロックBの動きベクトルとブロックEの動きベクトルの差分、ブロックCの動きベクトルとブロックFの動きベクトルの差分、ブロックDの動きベクトルとブロックEの動きベクトルの差分、ブロックDの動きベクトルとブロックFの動きベクトルの差分の4通りが算出される(ステップS702)。   Subsequently, the difference between the motion vector of block B and the motion vector of block E, the difference of the motion vector of block C and the motion vector of block F, the difference of the motion vector of block D and the motion vector of block E, the motion vector of block D And four different motion vector differences of block F are calculated (step S702).

次に、ステップS702で算出された4通りの差分のうち、どの組み合わせの差分が最小のものであるかが判定される。(ステップS703)。   Next, it is determined which combination of the four differences calculated in step S702 has the smallest difference. (Step S703).

ステップS703での判定の結果、もっとも小さい差分を与える組み合わせがブロックBとブロックEである場合にはブロックHの動きベクトル予測値はブロックAの動きベクトルと同じ値に決定されることが尤もらしいことを示す信号Signal_i(i=x,y)=0を生成するとともに、その際の差分MViD(i=x,y)をブロックBとブロックEの動きベクトルの差分値とする。もっとも小さい差分を与える組み合わせがブロックCとブロックFである場合には、ブロックHの動きベクトル予測値はブロックAの動きベクトルと同じ値に決定されることが尤もらしいことを示す信号Signal_i(i=x,y)=0を生成するとともに、その際の差分MViD(i=x,y)をブロックCとブロックFの動きベクトルの差分値とする。もっとも小さい差分を与える組み合わせがブロックDとブロックEである場合には、ブロックHの動きベクトル予測値はブロックFの動きベクトルと同じ値に決定されることが尤もらしいことを示す信号Signal_i(i=x,y)=1を生成するとともに、その際の差分MViD(i=x,y)をブロックDとブロックEの動きベクトルの差分値とする。もっとも小さい差分を与える組み合わせがブロックDとブロックFである場合には、ブロックHの動きベクトル予測値はブロックEの動きベクトルと同じ値に決定されることが尤もらしいことを示す信号Signal_i(i=x,y)=2を生成するとともに、その際の動きベクトル差分値MViD(i=x,y)をブロックDとブロックFの動きベクトルの差分値とする。(ステップS704)。   As a result of the determination in step S703, if the combination that gives the smallest difference is block B and block E, it is likely that the motion vector prediction value of block H is determined to be the same value as the motion vector of block A. A signal Signal_i (i = x, y) = 0 indicating the difference between the motion vectors of the block B and the block E is used as a difference MViD (i = x, y) at that time. When the combination that gives the smallest difference is the block C and the block F, the signal Signal_i (i = i = i) indicates that it is likely that the motion vector prediction value of the block H is determined to be the same value as the motion vector of the block A. x, y) = 0 is generated, and the difference MViD (i = x, y) at that time is set as the difference value between the motion vectors of block C and block F. When the combination that gives the smallest difference is the block D and the block E, the signal Signal_i (i = i = i) indicates that it is likely that the motion vector prediction value of the block H is determined to be the same value as the motion vector of the block F. x, y) = 1 is generated, and the difference MViD (i = x, y) at that time is set as the difference value between the motion vectors of block D and block E. When the combination that gives the smallest difference is the block D and the block F, the signal Signal_i (i = i = i) indicates that it is likely that the motion vector prediction value of the block H is determined to be the same value as the motion vector of the block E. x, y) = 2 is generated, and the motion vector difference value MViD (i = x, y) at that time is set as the difference value between the motion vectors of the block D and the block F. (Step S704).

最後に、ステップS704で決定された信号値Signal_i(i=x,y)およびMViD(i=x,y)を出力し(ステップS705)、処理を終了する。
なお、発生確率信号はSignal_i(i=x,y)のみでもよい。
Finally, the signal values Signal_i (i = x, y) and MViD (i = x, y) determined in step S704 are output (step S705), and the process ends.
The occurrence probability signal may be only Signal_i (i = x, y).

なお、図15のフローチャートに示される一連の処理はx成分、y成分に分けずにベクトルの差分(具体的にはベクトルノルムなど)を算出し、x成分、y成分に相当する確率切替信号を同時に決定してもよい。   The series of processes shown in the flowchart of FIG. 15 calculates a vector difference (specifically, a vector norm) without dividing the x component and the y component into a probability switching signal corresponding to the x component and the y component. It may be determined at the same time.

このとき、エントロピー符号化器214では、あらかじめ複数所持してある動きベクトル予測値を示す各インデックスの発生確率分布のテーブルを、ラインL215を経由して入力される確率切替信号に基づいて切り替える。具体的にはSignal_i(i=x,y)によって最も発生確率が高いインデックス、MViD(i=x,y)によってその発生確率を予測し、それに応じた確率テーブルへの切り替えを行う。   At this time, the entropy encoder 214 switches a table of occurrence probability distribution of each index indicating a plurality of motion vector prediction values possessed in advance based on a probability switching signal input via the line L215. Specifically, the index with the highest probability of occurrence is calculated by Signal_i (i = x, y), the probability of occurrence is predicted by MViD (i = x, y), and switching to the probability table is performed accordingly.

また、動き予測器212は以下に説明するようにしてもよい。図16を参照して動き予測器212について詳細に説明する。図16は、動き予測器112における動きベクトル予測値を示すインデックスを決定する手順を説明するための模式図である。   Further, the motion predictor 212 may be described below. The motion predictor 212 will be described in detail with reference to FIG. FIG. 16 is a schematic diagram for explaining a procedure for determining an index indicating a motion vector prediction value in the motion predictor 112.

図16で、対象ブロックをHとし、フレームF501はブロックHを含むフレームである。フレームF502は既に符号化済みのフレームで、フレームF501とは時間方向で隣り合うフレームである。フレームF503は既に符号化済みのフレームで、フレームF502とは時間方向で隣り合うフレームである。   In FIG. 16, the target block is H, and the frame F501 is a frame including the block H. A frame F502 is an already encoded frame, and is a frame adjacent to the frame F501 in the time direction. A frame F503 is an already encoded frame, and is adjacent to the frame F502 in the time direction.

フレームF501において、ブロックEをブロックHの最も左上の画素の真左上の画素を含むブロック、ブロックFをブロックHの最も左上の画素の真上の画素を含むブロック、ブロックGをブロックHの最も左上の画素の真左の画素を含むブロックとする。   In frame F501, block E is a block including the pixel immediately above the upper leftmost pixel of block H, block F is a block including the pixel immediately above the uppermost left pixel of block H, and block G is the uppermost leftmost of block H. A block including a pixel immediately to the left of the pixel.

フレームF502において、ブロックDはブロックHの最も左上の画素と同じ空間位置の画素を含むブロック、ブロックBをブロックDの最も左上の画素の真上の画素を含むブロック、ブロックCをブロックDの最も左上の画素の真左の画素を含むブロックとする。   In the frame F502, the block D is a block including a pixel at the same spatial position as the upper leftmost pixel of the block H, the block B is a block including a pixel immediately above the uppermost left pixel of the block D, and the block C is the highest block of the block D. It is assumed that the block includes a pixel immediately to the left of the upper left pixel.

フレームF503において、ブロックAはブロックDの最も左上の画素と同じ空間位置の画素を含むブロックとする。   In the frame F503, the block A is a block including a pixel at the same spatial position as the upper left pixel of the block D.

図17は、動き予測器212における動きベクトル予測値を示すインデックスを決定する手順を説明するためのフローチャートである。動きベクトルのx成分、y成分はそれぞれ独立にインデックスが決定されるものとする。具体的にはまず動きベクトルのx成分の予測値を示すインデックスを決定・出力し、次にy成分の予測値を示すインデックスを決定・出力する。以下では必要に応じて、成分を示す添え字をiと記す(iはx又はyである)。   FIG. 17 is a flowchart for explaining a procedure for determining an index indicating a motion vector prediction value in the motion predictor 212. Assume that the indices of the x and y components of the motion vector are determined independently. Specifically, an index indicating the predicted value of the x component of the motion vector is first determined and output, and then an index indicating the predicted value of the y component is determined and output. In the following, a subscript indicating a component is written as i (i is x or y) as necessary.

まず動き予測器212は、ラインL212を経由して入力される符号化済みのブロックA、B、C、D、E、F、Gの動きベクトルと、それに対応する参照フレーム番号と、ラインL205を経由して入力される対象ブロックHの動きベクトルと、ラインL216を経由して入力される対象ブロックの参照フレーム番号を取得する(ステップS801)。   First, the motion predictor 212 obtains the motion vectors of the encoded blocks A, B, C, D, E, F, and G input via the line L212, the corresponding reference frame numbers, and the line L205. The motion vector of the target block H that is input via and the reference frame number of the target block input via the line L216 are acquired (step S801).

なおステップS801で取得される動きベクトルは、対象ブロックを含むフレームと、対象ブロックの動きベクトルが参照するフレームとの時間的距離に基づいてスケーリングされることが好ましい。スケーリングの際には各ブロックの動きベクトルが参照するフレームの時刻を用いるため、各ブロックに対応する参照フレーム番号からその時刻を求める必要がある。   Note that the motion vector acquired in step S801 is preferably scaled based on a temporal distance between a frame including the target block and a frame referred to by the motion vector of the target block. Since the time of the frame referred to by the motion vector of each block is used at the time of scaling, it is necessary to obtain the time from the reference frame number corresponding to each block.

スケーリングによって、対象ブロックを含むフレームの時刻t0から、対象ブロックの動きベクトルが参照するフレームの時刻teまでの時間的距離(t0-te)を基準にして、取得した符号化済みのブロックA、B、C、D、E、Fの動きベクトルの大きさを補正することができる。具体的に一例を挙げると、ブロックAの動きベクトルMViA(i=x,y)が参照するフレームの時刻をta、ブロックAを含むフレームの時刻をt1とすると、スケーリングされた動きベクトルMViA’(i=x,y)は、式(1)によって与えられるベクトルである。   Encoded blocks A and B obtained by scaling based on the temporal distance (t0-te) from the time t0 of the frame including the target block to the time te of the frame referenced by the motion vector of the target block , C, D, E, and F motion vector magnitudes can be corrected. As a specific example, if the time of the frame referred to by the motion vector MViA (i = x, y) of the block A is ta and the time of the frame including the block A is t1, the scaled motion vector MViA ′ ( i = x, y) is a vector given by equation (1).

なお、このスケーリング処理は必須ではなく、スケーリング処理を行わない場合は各ブロックに対応する参照フレーム番号は必要ない。   Note that this scaling processing is not essential, and reference frame numbers corresponding to the respective blocks are not required when the scaling processing is not performed.

また、ステップS801において符号化済みのブロックそのもの、あるいは符号化済みのブロックの動きベクトルが存在しない場合、そのブロックは極めて大きい動きベクトルを持つとみなし、十分大きな値とした上で処理を進める。あるいは、処理対象から除く。   If there is no encoded block itself or a motion vector of the encoded block in step S801, the block is regarded as having a very large motion vector, and the process proceeds with a sufficiently large value. Alternatively, it is excluded from the processing target.

続いて、ブロックBの動きベクトルとブロックHの動きベクトルの差分、ブロックCの動きベクトルとブロックHの動きベクトルの差分、ブロックDの動きベクトルとブロックHの動きベクトルの差分、ブロックGの動きベクトルとブロックHの動きベクトルの差分、ブロックFの動きベクトルとブロックHの動きベクトルの差分の5通りの差分値が算出される(ステップS802)。   Subsequently, the difference between the motion vector of block B and the motion vector of block H, the difference of the motion vector of block C and the motion vector of block H, the difference of the motion vector of block D and the motion vector of block H, the motion vector of block G And the difference between the motion vector of block H and the difference between the motion vector of block F and the motion vector of block H are calculated (step S802).

次に、ステップS802で算出された5通りの差分値のうち、どの組み合わせの差分値が最小のものであるかが判定される。(ステップS803)。   Next, it is determined which combination of the five difference values calculated in step S802 has the smallest difference value. (Step S803).

ステップS803での判定の結果、もっとも小さい差分を与える組み合わせがブロックBとブロックHである場合には、ブロックHの動きベクトル予測値はブロックBの動きベクトルと同じ値であることを示すインデックスIndex_i=0(i=x,y)を生成する、またブロックBとブロックHの動きベクトルの差分を、動きベクトル差分値MViD(i=x,y)とする。もっとも小さい差分を与える組み合わせがブロックCとブロックHである場合には、ブロックHの動きベクトル予測値はブロックCの動きベクトルと同じ値であることを示すインデックスIndex_i=1(i=x,y)を生成する、またブロックCとブロックHの動きベクトルの差分を、動きベクトル差分値MViD(i=x,y)とする。もっとも小さい差分を与える組み合わせがブロックDとブロックHである場合には、ブロックHの動きベクトル予測値はブロックDの動きベクトルと同じ値であることを示すインデックスIndex_i=2(i=x,y)を生成する、またブロックDとブロックHの動きベクトルの差分を、動きベクトル差分値MViD(i=x,y)とする。もっとも小さい差分を与える組み合わせがブロックGとブロックHである場合には、ブロックHの動きベクトル予測値はブロックGの動きベクトルと同じ値であることを示すインデックスIndex_i=3(i=x,y)を生成する、またブロックGとブロックHの動きベクトルの差分を、動きベクトル差分値MViD(i=x,y)とする。もっとも小さい差分を与える組み合わせがブロックFとブロックHである場合には、ブロックHの動きベクトル予測値はブロックFの動きベクトルと同じ値であることを示すインデックスIndex_i=4(i=x,y)を生成する、またブロックFとブロックHの動きベクトルの差分を、動きベクトル差分値MViD(i=x,y)とする(ステップS804)。   If the combination that gives the smallest difference is the block B and the block H as a result of the determination in step S803, the index Index_i = indicating that the motion vector prediction value of the block H is the same value as the motion vector of the block B 0 (i = x, y) is generated, and the difference between the motion vectors of block B and block H is set as a motion vector difference value MViD (i = x, y). When the combination that gives the smallest difference is the block C and the block H, an index Index_i = 1 (i = x, y) indicating that the motion vector prediction value of the block H is the same value as the motion vector of the block C And the difference between the motion vectors of the block C and the block H is a motion vector difference value MViD (i = x, y). When the combination giving the smallest difference is the block D and the block H, the index Index_i = 2 (i = x, y) indicating that the motion vector prediction value of the block H is the same value as the motion vector of the block D And the difference between the motion vectors of block D and block H is defined as a motion vector difference value MViD (i = x, y). When the combination that gives the smallest difference is the block G and the block H, an index Index_i = 3 (i = x, y) indicating that the motion vector prediction value of the block H is the same value as the motion vector of the block G And the difference between the motion vectors of the block G and the block H is defined as a motion vector difference value MViD (i = x, y). When the combination that gives the smallest difference is the block F and the block H, the index Index_i = 4 (i = x, y) indicating that the motion vector prediction value of the block H is the same value as the motion vector of the block F The difference between the motion vectors of the block F and the block H is set as a motion vector difference value MViD (i = x, y) (step S804).

続いて、ステップS804で決定されたインデックスIndex_i(i=x,y)を出力する(ステップS805)。   Subsequently, the index Index_i (i = x, y) determined in step S804 is output (step S805).

最後に、ステップS804で決定された動きベクトル差分値MViD(i=x,y)を出力し(ステップS806)、処理を終了する。   Finally, the motion vector difference value MViD (i = x, y) determined in step S804 is output (step S806), and the process ends.

なお、ステップS802において、動きベクトル予測値と実際の動きベクトルの差分を用いて動きベクトル予測値の決定を行ったが、その代わりに実際に符号化を行い、符号量と歪みの最適化(R-D最適化)によって動きベクトル予測値の決定を行ってもよい。   In step S802, the motion vector prediction value is determined using the difference between the motion vector prediction value and the actual motion vector. Instead, encoding is actually performed to optimize the code amount and distortion (RD). The motion vector prediction value may be determined by optimization).

なお、図17のフローチャートに示される一連の処理はx成分、y成分に分けずにベクトルの差分(具体的にはベクトルノルムなど)を算出し、動きベクトルのx成分、y成分を示すインデックスや動きベクトル差分値を同時に決定してもよい。   Note that the series of processes shown in the flowchart of FIG. 17 calculates a vector difference (specifically, a vector norm) without dividing the x component and the y component into an index indicating the x component and y component of the motion vector. The motion vector difference value may be determined simultaneously.

また、ステップS802において算出する差分は、ブロックBの動きベクトルとブロックHの動きベクトルの差分、ブロックCの動きベクトルとブロックHの動きベクトルの差分、ブロックDの動きベクトルとブロックHの動きベクトルの差分の3通りでもよい。その際もステップS803で最小となる組み合わせが判定され、ステップS804では、もっとも小さい差分を与える組み合わせがブロックBとブロックHである場合には、ブロックHの動きベクトル予測値はブロックBの動きベクトルと同じ値であることを示すインデックスIndex_i=0(i=x,y)を生成する、またブロックBとブロックHの動きベクトルの差分を、動きベクトル差分値MViD(i=x,y)とする。もっとも小さい差分を与える組み合わせがブロックCとブロックHである場合には、ブロックHの動きベクトル予測値はブロックCの動きベクトルと同じ値であることを示すインデックスIndex_i=1(i=x,y)を生成する、またブロックCとブロックHの動きベクトルの差分を、動きベクトル差分値MViD(i=x,y)とする。もっとも小さい差分を与える組み合わせがブロックDとブロックHである場合には、ブロックHの動きベクトル予測値はブロックDの動きベクトルと同じ値であることを示すインデックスIndex_i=2(i=x,y)を生成する、またブロックDとブロックHの動きベクトルの差分を、動きベクトル差分値MViD(i=x,y)とする。   Also, the difference calculated in step S802 is the difference between the motion vector of block B and the motion vector of block H, the difference between the motion vector of block C and the motion vector of block H, the motion vector of block D and the motion vector of block H. Three types of differences may be used. At that time, the smallest combination is determined in step S803. In step S804, when the combination that gives the smallest difference is the block B and the block H, the motion vector prediction value of the block H is the motion vector of the block B. An index Index_i = 0 (i = x, y) indicating the same value is generated, and a difference between motion vectors of block B and block H is set as a motion vector difference value MViD (i = x, y). When the combination that gives the smallest difference is the block C and the block H, an index Index_i = 1 (i = x, y) indicating that the motion vector prediction value of the block H is the same value as the motion vector of the block C And the difference between the motion vectors of the block C and the block H is a motion vector difference value MViD (i = x, y). When the combination giving the smallest difference is the block D and the block H, the index Index_i = 2 (i = x, y) indicating that the motion vector prediction value of the block H is the same value as the motion vector of the block D And the difference between the motion vectors of block D and block H is defined as a motion vector difference value MViD (i = x, y).

また、ステップS302において算出する差分は、ブロックBの動きベクトルとブロックHの動きベクトルの差分、ブロックCの動きベクトルとブロックHの動きベクトルの差分の2通りでもよい。その際もステップS803で最小となる組み合わせが判定され、ステップS804では、もっとも小さい差分を与える組み合わせがブロックBとブロックHである場合には、ブロックHの動きベクトル予測値はブロックBの動きベクトルと同じ値であることを示すインデックスIndex_i=0(i=x,y)を生成する、またブロックBとブロックHの動きベクトルの差分を、動きベクトル差分値MViD(i=x,y)とする。もっとも小さい差分を与える組み合わせがブロックCとブロックHである場合には、ブロックHの動きベクトル予測値はブロックCの動きベクトルと同じ値であることを示すインデックスIndex_i=1(i=x,y)を生成する、またブロックCとブロックHの動きベクトルの差分を、動きベクトル差分値MViD(i=x,y)とする。   Further, the difference calculated in step S302 may be two types, that is, the difference between the motion vector of block B and the motion vector of block H, and the difference between the motion vector of block C and the motion vector of block H. At that time, the smallest combination is determined in step S803. In step S804, when the combination that gives the smallest difference is the block B and the block H, the motion vector prediction value of the block H is the motion vector of the block B. An index Index_i = 0 (i = x, y) indicating the same value is generated, and a difference between motion vectors of block B and block H is set as a motion vector difference value MViD (i = x, y). When the combination that gives the smallest difference is the block C and the block H, an index Index_i = 1 (i = x, y) indicating that the motion vector prediction value of the block H is the same value as the motion vector of the block C And the difference between the motion vectors of the block C and the block H is a motion vector difference value MViD (i = x, y).

また、対象ブロックを含む領域が大きく移動しているような場合の予測精度をあげるために、図16に示されるブロックの位置関係は以下のように定めてもよい。   Further, in order to increase the prediction accuracy when the region including the target block is moved greatly, the positional relationship of the blocks shown in FIG. 16 may be determined as follows.

対象ブロックをHとし、フレームF501はブロックHを含むフレームである。フレームF502は既に符号化済みのフレームである。フレームF503は既に符号化済みのフレームである。   The target block is H, and the frame F501 is a frame including the block H. A frame F502 is an already encoded frame. A frame F503 is an already encoded frame.

フレームF501において、ブロックEをブロックHの最も左上の画素の真左上の画素を含むブロック、ブロックFをブロックHの最も左上の画素の真上の画素を含むブロック、ブロックGをブロックHの最も左上の画素の真左の画素を含むブロックとする。   In frame F501, block E is a block including the pixel immediately above the upper leftmost pixel of block H, block F is a block including the pixel immediately above the uppermost left pixel of block H, and block G is the uppermost leftmost of block H. A block including a pixel immediately to the left of the pixel.

フレームF502において、ブロックDはブロックEの動きベクトルが参照しているブロック、またはブロックFの動きベクトルが参照しているブロック、またはブロックGの動きベクトルが参照しているブロックとする。その際もブロックBをブロックDの最も左上の画素の真上の画素を含むブロック、ブロックCをブロックDの最も左上の画素の真左の画素を含むブロックとする。   In the frame F502, the block D is a block that is referenced by the motion vector of the block E, a block that is referenced by the motion vector of the block F, or a block that is referenced by the motion vector of the block G. Also in this case, the block B is a block including a pixel immediately above the upper leftmost pixel of the block D, and the block C is a block including a pixel immediately left of the uppermost left pixel of the block D.

フレームF503において、ブロックAはブロックDの動きベクトルが参照しているブロックとする。   In the frame F503, the block A is a block referred to by the motion vector of the block D.

なお上記の定め方をする場合、各ブロックの大きさ以下の精度で類似する画像信号パターンの位置を探し出して動きベクトルの検出を行う際に、ブロックEが参照するブロック、あるいはブロックFが参照するブロック、あるいはブロックGが参照するブロック、あるいはブロックDが参照するブロックが動きベクトルをもつ複数のブロックにまたがることが考えられるが、その際はそれら複数のブロックの動きベクトルの平均値、あるいはまたがる領域でもっとも占める割合の高いブロックの動きベクトルを該当するブロック(EあるいはFあるいはGあるいはD)が参照するブロックの動きベクトルとして用いるものとする。   When the above method is used, when the position of a similar image signal pattern is detected with an accuracy less than the size of each block and the motion vector is detected, the block referred to by the block E or the block F refers to It is possible that the block referenced by block or block G or the block referenced by block D may span multiple blocks with motion vectors. In this case, the average value of the motion vectors of these multiple blocks, or the region that spans the blocks It is assumed that the motion vector of the block having the highest ratio is used as the motion vector of the block referred to by the corresponding block (E, F, G, or D).

このとき、確率切替信号生成器213の詳細は図18のフローチャートに従うことが好ましい。確率切替信号は動きベクトル予測値を示すインデックスの発生確率の尤もらしさを示すものであって、この信号に基づいて確率テーブルを切り替えてエントロピー符号化を行うことで、データの発生確率に応じた適切な符号量でインデックスの符号化を行うことができる。   At this time, the details of the probability switching signal generator 213 preferably follow the flowchart of FIG. The probability switching signal indicates the likelihood of the occurrence probability of the index indicating the motion vector prediction value, and by switching the probability table based on this signal and performing entropy coding, the probability switching signal Indexes can be encoded with a large code amount.

確率切替信号生成器213では、動きベクトルのx成分、y成分はそれぞれ独立に計算されるものとする。具体的にはまず動きベクトルのx成分の計算を行い、x成分に相当する確率切替信号を出力し、次にy成分の計算を行い、y成分に相当する確率切替信号の出力を行う。以下では必要に応じて、成分を示す添え字をiと記す(iはx又はyである)。   In the probability switching signal generator 213, the x component and y component of the motion vector are calculated independently. Specifically, the x component of the motion vector is first calculated, a probability switching signal corresponding to the x component is output, then the y component is calculated, and a probability switching signal corresponding to the y component is output. In the following, a subscript indicating a component is written as i (i is x or y) as necessary.

まず確率切替信号生成器213は、ラインL212を経由して入力される符号化済みのブロックA、B、C、D、E、F、Gの動きベクトルと対応する参照フレーム番号と、ラインL216を経由して入力される対象ブロックの参照フレーム番号を取得する(ステップS901)。   First, the probability switching signal generator 213 sets the reference frame number corresponding to the motion vector of the encoded blocks A, B, C, D, E, F, and G input via the line L212, and the line L216. The reference frame number of the target block that is input via is acquired (step S901).

なおステップS901で取得される動きベクトルは、対象ブロックを含むフレームと、対象ブロックの動きベクトルが参照するフレームとの時間的距離に基づいてスケーリングされることが好ましい。スケーリングの際には各ブロックの動きベクトルが参照するフレームの時刻を用いるため、各ブロックに対応する参照フレーム番号からその時刻を求める必要がある。   Note that the motion vector acquired in step S901 is preferably scaled based on a temporal distance between a frame including the target block and a frame referred to by the motion vector of the target block. Since the time of the frame referred to by the motion vector of each block is used at the time of scaling, it is necessary to obtain the time from the reference frame number corresponding to each block.

スケーリングによって、対象ブロックを含むフレームの時刻t0から、対象ブロックの動きベクトルが参照するフレームの時刻teまでの時間的距離(t0-te)を基準にして、取得した符号化済みのブロックA、B、C、D、E、F、Gの動きベクトルの大きさを補正することができる。具体的に一例を挙げると、ブロックAの動きベクトルMViA(i=x,y)が参照するフレームの時刻をta、ブロックAを含むフレームの時刻をt1とすると、スケーリングされた動きベクトルMViA’(i=x,y)は、式(1)によって与えられるベクトルである。   Encoded blocks A and B obtained by scaling based on the time distance (t0-te) from the time t0 of the frame including the target block to the time te of the frame referred to by the motion vector of the target block , C, D, E, F, and G motion vector magnitudes can be corrected. As a specific example, if the time of the frame referred to by the motion vector MViA (i = x, y) of the block A is ta and the time of the frame including the block A is t1, the scaled motion vector MViA ′ ( i = x, y) is a vector given by equation (1).

なお、このスケーリング処理は必須ではなく、スケーリング処理を行わない場合は各ブロックに対応する参照フレーム番号は必要ない。   Note that this scaling processing is not essential, and reference frame numbers corresponding to the respective blocks are not required when the scaling processing is not performed.

また、ステップS901において符号化済みのブロックそのもの、あるいは符号化済みのブロックの動きベクトルが存在しない場合、そのブロックは極めて大きい動きベクトルを持つとみなし、十分大きな値とした上で処理を進める。あるいは、処理対象から除く。   If there is no encoded block itself or a motion vector of the encoded block in step S901, the block is regarded as having a very large motion vector, and the process proceeds with a sufficiently large value. Alternatively, it is excluded from the processing target.

続いて、ブロックBの動きベクトルとブロックFの動きベクトルの差分、ブロックCの動きベクトルとブロックGの動きベクトルの差分、ブロックAの動きベクトルとブロックDの動きベクトルの差分、ブロックEの動きベクトルとブロックFの動きベクトルの差分、ブロックEの動きベクトルとブロックGの動きベクトルの差分の5通りが算出される(ステップS902)。   Subsequently, the difference between the motion vector of block B and the motion vector of block F, the difference of the motion vector of block C and the motion vector of block G, the difference of the motion vector of block A and the motion vector of block D, the motion vector of block E And the difference between the motion vector of block F and the difference between the motion vector of block E and the motion vector of block G are calculated (step S902).

次に、ステップS902で算出された5通りの差分のうち、どの組み合わせの差分が最小のものであるかが判定される。(ステップS903)。   Next, it is determined which combination of the five differences calculated in step S902 has the smallest difference. (Step S903).

ステップS903での判定の結果、もっとも小さい差分を与える組み合わせがブロックBとブロックFである場合にはブロックHの動きベクトル予測値はブロックBの動きベクトルと同じ値に決定されることが尤もらしいことを示す信号Signal_i=0(i=x,y)を生成するとともに、その際の差分MViD(i=x,y)をブロックBとブロックFの動きベクトルの差分値とする。もっとも小さい差分を与える組み合わせがブロックCとブロックGである場合には、ブロックHの動きベクトル予測値はブロックCの動きベクトルと同じ値に決定されることが尤もらしいことを示す信号Signal_i=1(i=x,y)を生成するとともに、その際の差分MViD(i=x,y)をブロックCとブロックGの動きベクトルの差分値とする。もっとも小さい差分を与える組み合わせがブロックAとブロックDである場合には、ブロックHの動きベクトル予測値はブロックDの動きベクトルと同じ値に決定されることが尤もらしいことを示す信号Signal_i=2(i=x,y)を生成するとともに、その際の差分MViD(i=x,y)をブロックAとブロックDの動きベクトルの差分値とする。もっとも小さい差分を与える組み合わせがブロックEとブロックFである場合には、ブロックHの動きベクトル予測値はブロックGの動きベクトルと同じ値に決定されることが尤もらしいことを示す信号Signal_i=3(i=x,y)を生成するとともに、その際の差分MViD(i=x,y)をブロックEとブロックFの動きベクトルの差分値とする。もっとも小さい差分を与える組み合わせがブロックEとブロックGである場合には、ブロックHの動きベクトル予測値はブロックFの動きベクトルと同じ値に決定されることが尤もらしいことを示す信号Signal_i=4(i=x,y)を生成するとともに、その際の動きベクトル差分値MViD(i=x,y)をブロックEとブロックGの動きベクトルの差分値とする。(ステップS904)。   As a result of the determination in step S903, if the combination that gives the smallest difference is block B and block F, it is likely that the motion vector prediction value of block H is determined to be the same value as the motion vector of block B. A signal Signal_i = 0 (i = x, y) is generated, and the difference MViD (i = x, y) at that time is set as a difference value between the motion vectors of the block B and the block F. When the combination that gives the smallest difference is the block C and the block G, the signal Signal_i = 1 () indicating that it is likely that the motion vector prediction value of the block H is determined to be the same value as the motion vector of the block C. i = x, y) is generated, and the difference MViD (i = x, y) at that time is set as the difference value between the motion vectors of block C and block G. When the combination that gives the smallest difference is the block A and the block D, the signal Signal_i = 2 () indicating that it is likely that the motion vector prediction value of the block H is determined to be the same value as the motion vector of the block D. i = x, y) is generated, and the difference MViD (i = x, y) at that time is set as the difference value between the motion vectors of block A and block D. When the combination that gives the smallest difference is the block E and the block F, the signal Signal_i = 3 () indicating that it is likely that the motion vector prediction value of the block H is determined to be the same value as the motion vector of the block G. i = x, y) is generated, and the difference MViD (i = x, y) at that time is set as the difference value between the motion vectors of block E and block F. When the combination that gives the smallest difference is the block E and the block G, the signal Signal_i = 4 () indicating that it is likely that the motion vector prediction value of the block H is determined to be the same value as the motion vector of the block F. i = x, y) is generated, and the motion vector difference value MViD (i = x, y) at that time is used as the difference value between the motion vectors of block E and block G. (Step S904).

最後に、ステップS904で決定された信号値Signal_i(i=x,y)およびMViD(i=x,y)を出力し(ステップS705)、処理を終了する。   Finally, the signal values Signal_i (i = x, y) and MViD (i = x, y) determined in step S904 are output (step S705), and the process ends.

なお、発生確率信号はSignal_i(i=x,y)のみでもよい。   The occurrence probability signal may be only Signal_i (i = x, y).

なお、図18のフローチャートに示される一連の処理はx成分、y成分に分けずにベクトルの差分(具体的にはベクトルノルムなど)を算出し、x成分、y成分に相当する確率切替信号を同時に決定してもよい。   The series of processes shown in the flowchart of FIG. 18 calculates a vector difference (specifically, a vector norm) without dividing the x component and the y component into a probability switching signal corresponding to the x component and the y component. It may be determined at the same time.

また、ステップS902において算出する差分は、ブロックBの動きベクトルとブロックFの動きベクトルの差分、ブロックCの動きベクトルとブロックGの動きベクトルの差分、ブロックAの動きベクトルとブロックDの動きベクトルの差分の3通りでもよい。その際もステップS903で最小となる組み合わせが判定され、ステップS904では、もっとも小さい差分を与える組み合わせがブロックBとブロックFである場合にはブロックHの動きベクトル予測値はブロックBの動きベクトルと同じ値に決定されることが尤もらしいことを示す信号Signal_i=0(i=x,y)を生成するとともに、その際の差分MViD(i=x,y)をブロックBとブロックFの動きベクトルの差分値とする。もっとも小さい差分を与える組み合わせがブロックCとブロックGである場合には、ブロックHの動きベクトル予測値はブロックCの動きベクトルと同じ値に決定されることが尤もらしいことを示す信号Signal_i=1(i=x,y)を生成するとともに、その際の差分MViD(i=x,y)をブロックCとブロックGの動きベクトルの差分値とする。もっとも小さい差分を与える組み合わせがブロックAとブロックDである場合には、ブロックHの動きベクトル予測値はブロックDの動きベクトルと同じ値に決定されることが尤もらしいことを示す信号Signal_i=2(i=x,y)を生成するとともに、その際の差分MViD(i=x,y)をブロックAとブロックDの動きベクトルの差分値とする。   The difference calculated in step S902 is the difference between the motion vector of block B and the motion vector of block F, the difference between the motion vector of block C and the motion vector of block G, the motion vector of block A and the motion vector of block D. Three types of differences may be used. Even in this case, the smallest combination is determined in step S903. In step S904, when the combination that gives the smallest difference is block B and block F, the motion vector prediction value of block H is the same as the motion vector of block B. A signal Signal_i = 0 (i = x, y) indicating that it is plausible to be determined as a value is generated, and the difference MViD (i = x, y) at that time is calculated as the motion vector of the block B and the block F. The difference value. When the combination that gives the smallest difference is the block C and the block G, the signal Signal_i = 1 () indicating that it is likely that the motion vector prediction value of the block H is determined to be the same value as the motion vector of the block C. i = x, y) is generated, and the difference MViD (i = x, y) at that time is set as the difference value between the motion vectors of block C and block G. When the combination that gives the smallest difference is the block A and the block D, the signal Signal_i = 2 () indicating that it is likely that the motion vector prediction value of the block H is determined to be the same value as the motion vector of the block D. i = x, y) is generated, and the difference MViD (i = x, y) at that time is set as the difference value between the motion vectors of block A and block D.

また、ステップS902において算出する差分は、ブロックBの動きベクトルとブロックFの動きベクトルの差分、ブロックCの動きベクトルとブロックGの動きベクトルの差分の2通りでもよい。その際もステップS903で最小となる組み合わせが判定され、ステップS904では、もっとも小さい差分を与える組み合わせがブロックBとブロックFである場合にはブロックHの動きベクトル予測値はブロックBの動きベクトルと同じ値に決定されることが尤もらしいことを示す信号Signal_i=0(i=x,y)を生成するとともに、その際の差分MViD(i=x,y)をブロックBとブロックFの動きベクトルの差分値とする。もっとも小さい差分を与える組み合わせがブロックCとブロックGである場合には、ブロックHの動きベクトル予測値はブロックCの動きベクトルと同じ値に決定されることが尤もらしいことを示す信号Signal_i=1(i=x,y)を生成するとともに、その際の差分MViD(i=x,y)をブロックCとブロックGの動きベクトルの差分値とする。   Also, the difference calculated in step S902 may be two types, that is, the difference between the motion vector of block B and the motion vector of block F, and the difference between the motion vector of block C and the motion vector of block G. Even in this case, the smallest combination is determined in step S903. In step S904, when the combination that gives the smallest difference is block B and block F, the motion vector prediction value of block H is the same as the motion vector of block B. A signal Signal_i = 0 (i = x, y) indicating that it is plausible to be determined as a value is generated, and the difference MViD (i = x, y) at that time is calculated as the motion vector of the block B and the block F. The difference value. When the combination that gives the smallest difference is the block C and the block G, the signal Signal_i = 1 () indicating that it is likely that the motion vector prediction value of the block H is determined to be the same value as the motion vector of the block C. i = x, y) is generated, and the difference MViD (i = x, y) at that time is set as the difference value between the motion vectors of block C and block G.

また、対象ブロックを含む領域が大きく移動しているような場合の予測精度をあげるために、図16に示されるブロックの位置関係は以下のように定めてもよい。   Further, in order to increase the prediction accuracy when the region including the target block is moved greatly, the positional relationship of the blocks shown in FIG. 16 may be determined as follows.

対象ブロックをHとし、フレームF501はブロックHを含むフレームである。フレームF502は既に符号化済みのフレームである。フレームF503は既に符号化済みのフレームである。   The target block is H, and the frame F501 is a frame including the block H. A frame F502 is an already encoded frame. A frame F503 is an already encoded frame.

フレームF501において、ブロックEをブロックHの最も左上の画素の真左上の画素を含むブロック、ブロックFをブロックHの最も左上の画素の真上の画素を含むブロック、ブロックGをブロックHの最も左上の画素の真左の画素を含むブロックとする。   In frame F501, block E is a block including the pixel immediately above the upper leftmost pixel of block H, block F is a block including the pixel immediately above the uppermost left pixel of block H, and block G is the uppermost leftmost of block H. A block including a pixel immediately to the left of the pixel.

フレームF502において、ブロックDはブロックEの動きベクトルが参照しているブロック、またはブロックFの動きベクトルが参照しているブロック、またはブロックGの動きベクトルが参照しているブロックとする。その際もブロックBをブロックDの最も左上の画素の真上の画素を含むブロック、ブロックCをブロックDの最も左上の画素の真左の画素を含むブロックとする。   In the frame F502, the block D is a block that is referenced by the motion vector of the block E, a block that is referenced by the motion vector of the block F, or a block that is referenced by the motion vector of the block G. Also in this case, the block B is a block including a pixel immediately above the upper leftmost pixel of the block D, and the block C is a block including a pixel immediately left of the uppermost left pixel of the block D.

フレームF503において、ブロックAはブロックDの動きベクトルが参照しているブロックとする。   In the frame F503, the block A is a block referred to by the motion vector of the block D.

なお上記の定め方をする場合、各ブロックの大きさ以下の精度で類似する画像信号パターンの位置を探し出して動きベクトルの検出を行う際に、ブロックEが参照するブロック、あるいはブロックFが参照するブロック、あるいはブロックGが参照するブロック、あるいはブロックDが参照するブロックが動きベクトルをもつ複数のブロックにまたがることが考えられるが、その際はそれら複数のブロックの動きベクトルの平均値、あるいはまたがる領域でもっとも占める割合の高いブロックの動きベクトルを該当するブロック(EあるいはFあるいはGあるいはD)が参照するブロックの動きベクトルとして用いるものとする。   When the above method is used, when the position of a similar image signal pattern is detected with an accuracy less than the size of each block and the motion vector is detected, the block referred to by the block E or the block F refers to It is possible that the block referenced by block or block G or the block referenced by block D may span multiple blocks with motion vectors. In this case, the average value of the motion vectors of these multiple blocks, or the region that spans the blocks It is assumed that the motion vector of the block having the highest ratio is used as the motion vector of the block referred to by the corresponding block (E, F, G, or D).

このとき、エントロピー符号化器214では、あらかじめ複数所持してある動きベクトル予測値を示す各インデックスの発生確率分布のテーブルを、ラインL215を経由して入力される確率切替信号に基づいて切り替える。具体的にはSignal_i(i=x,y)によって最も発生確率が高いインデックス、MViD(i=x,y)によってその発生確率を予測し、それに応じた確率テーブルへの切り替えを行う。   At this time, the entropy encoder 214 switches the occurrence probability distribution table of each index indicating the motion vector prediction values possessed in advance based on the probability switching signal input via the line L215. Specifically, the index with the highest probability of occurrence is calculated by Signal_i (i = x, y), the probability of occurrence is predicted by MViD (i = x, y), and switching to the probability table is performed accordingly.

また、動き予測器212において動きベクトル予測値を示すインデックスを生成する代わりに、複数ある動きベクトル予測値決定方法の中からひとつを選択し、選択した決定方法示すインデックスを生成してもよい。この方法の詳細を図19、図20を参照して説明する。   Instead of generating an index indicating a motion vector prediction value in the motion predictor 212, one of a plurality of motion vector prediction value determination methods may be selected and an index indicating the selected determination method may be generated. Details of this method will be described with reference to FIGS.

図19は動き予測器212において複数ある動きベクトル予測値決定方法の中からひとつを選択し、選択した決定方法示すインデックスを生成する手順を説明するための模式図である。   FIG. 19 is a schematic diagram for explaining a procedure for selecting one of a plurality of motion vector prediction value determination methods in the motion predictor 212 and generating an index indicating the selected determination method.

図19で、対象ブロックをNとし、フレームF601はブロックNを含むフレームである。フレームF602は既に符号化済みのフレームで、フレームF601とは時間方向で隣り合うフレームである。   In FIG. 19, the target block is N, and the frame F601 is a frame including the block N. The frame F602 is a frame that has already been encoded, and is adjacent to the frame F601 in the time direction.

フレームF601において、ブロックJをブロックNの最も左上の画素の真左上の画素を含むブロック、ブロックKをブロックNの最も左上の画素の真上の画素を含むブロック、ブロックLをブロックNの最も右上の画素の真右上の画素を含むブロック、ブロックMをブロックNの最も左上の画素の真左の画素を含むブロックとする。   In frame F601, block J is a block including the pixel immediately above the upper left pixel of block N, block K is a block including the pixel immediately above the upper left pixel of block N, and block L is the upper right pixel of block N. A block including the pixel immediately above the rightmost pixel and the block M is a block including a pixel immediately left of the uppermost leftmost pixel of the block N.

フレームF602において、ブロックEはブロックNの最も左上の画素と同じ空間位置の画素を含むブロックとする。ブロックAをブロックEの最も左上の画素の真左上の画素を含むブロック、ブロックBをブロックEの最も左上の画素の真上の画素を含むブロック、ブロックCをブロックEの最も右上の画素の真右上の画素を含むブロック、ブロックDをブロックEの最も左下の画素の真左の画素を含むブロック、ブロックFをブロックEの最も右上の画素の真右の画素を含むブロック、ブロックGをブロックEの最も左下の画素の真左下の画素を含むブロック、ブロックHをブロックEの最も右下の画素の真下の画素を含むブロック、ブロックIをブロックEの最も右下の画素の真右下の画素を含むブロックとする。   In the frame F602, the block E is a block including a pixel at the same spatial position as the upper left pixel of the block N. Block A is a block including the pixel immediately above the upper left pixel of block E, block B is a block including the pixel immediately above the upper left pixel of block E, block C is the true of the upper right pixel of block E A block including the upper right pixel, a block D including the pixel immediately left of the lower leftmost pixel of the block E, a block F including a pixel right of the upper rightmost pixel of the block E, and a block G including the block E A block including the pixel directly below the leftmost pixel of block E, a block including the pixel immediately below the pixel below rightmost of block E, and a block I including the pixel directly below the rightmost pixel of block E A block containing

図20は動き予測器212において複数ある動きベクトル予測値決定方法の中からひとつを選択し、選択した決定方法示すインデックスを生成する手順を説明するためのフローチャートである。   FIG. 20 is a flowchart for explaining a procedure for selecting one of a plurality of motion vector prediction value determination methods in the motion predictor 212 and generating an index indicating the selected determination method.

動きベクトルx成分、y成分はそれぞれ独立に予測値決定方法が選ばれるものとする。具体的にはまず動きベクトルのx成分の予測値決定方法を選択・出力し、次にy成分の予測値決定方法を選択・出力する。以下では必要に応じて、成分を示す添え字をiと記す(iはx又はyである)。   It is assumed that a prediction value determination method is independently selected for each of the motion vector x component and y component. Specifically, first, a predicted value determination method for the x component of the motion vector is selected and output, and then a predicted value determination method for the y component is selected and output. In the following, a subscript indicating a component is written as i (i is x or y) as necessary.

まず動き予測器212は、ラインL212を経由して入力される符号化済みのブロックA、B、C、D、E、F、G、H、I、J、K、L、Mの動きベクトルと、対応する参照フレーム番号と、ラインL205を経由して取得される対象ブロックNの動きベクトルと、ラインL216を経由して入力される対象ブロックの参照フレーム番号を取得する(ステップS1001)。   First, the motion predictor 212 receives the motion vectors of the encoded blocks A, B, C, D, E, F, G, H, I, J, K, L, and M input via the line L212. The corresponding reference frame number, the motion vector of the target block N acquired via the line L205, and the reference frame number of the target block input via the line L216 are acquired (step S1001).

なおステップS1001で取得される動きベクトルは、対象ブロックを含むフレームと、対象ブロックの動きベクトルが参照するフレームとの時間的距離に基づいてスケーリングされることが好ましい。スケーリングの際には各ブロックの動きベクトルが参照するフレームの時刻を用いるため、各ブロックに対応する参照フレーム番号からその時刻を求める必要がある。   Note that the motion vector acquired in step S1001 is preferably scaled based on a temporal distance between a frame including the target block and a frame referred to by the motion vector of the target block. Since the time of the frame referred to by the motion vector of each block is used at the time of scaling, it is necessary to obtain the time from the reference frame number corresponding to each block.

スケーリングによって、対象ブロックを含むフレームの時刻t0から、対象ブロックの動きベクトルが参照するフレームの時刻teまでの時間的距離(t0-te)を基準にして、取得した符号化済みのブロックA、B、C、D、E、F、G、H、I、J、K、Lの動きベクトルの大きさを補正することができる。具体的に一例を挙げると、ブロックAの動きベクトルMViA(i=x,y)が参照するフレームの時刻をta、ブロックAを含むフレームの時刻をt1とすると、スケーリングされた動きベクトルMViA’(i=x,y)は、式(1)によって与えられるベクトルである。   Encoded blocks A and B obtained by scaling based on the time distance (t0-te) from the time t0 of the frame including the target block to the time te of the frame referred to by the motion vector of the target block , C, D, E, F, G, H, I, J, K, and L, the magnitudes of motion vectors can be corrected. As a specific example, if the time of the frame referred to by the motion vector MViA (i = x, y) of the block A is ta and the time of the frame including the block A is t1, the scaled motion vector MViA ′ ( i = x, y) is a vector given by equation (1).

なお、このスケーリング処理は必須ではなく、スケーリング処理を行わない場合は各ブロックに対応する参照フレーム番号は必要ない。   Note that this scaling processing is not essential, and reference frame numbers corresponding to the respective blocks are not required when the scaling processing is not performed.

また、ステップS1001において符号化済みのブロックそのもの、あるいは符号化済みのブロックの動きベクトルが存在しない場合、そのブロックは極めて大きい動きベクトルを持つとみなし、十分大きな値とした上で処理を進める。あるいは、処理対象から除く。   If there is no encoded block itself or a motion vector of the encoded block in step S1001, the block is regarded as having a very large motion vector, and the process proceeds with a sufficiently large value. Alternatively, it is excluded from the processing target.

続いてブロックA、B、C、D、E、F、G、H、Iの動きベクトルの平均値と対象ブロックNの動きベクトルの差分、ブロックB、D、E、F、Hの動きベクトルの平均値と対象ブロックNの動きベクトルの差分、ブロックE、J、K、L、Mの動きベクトルの平均値と対象ブロックNの動きベクトルの差分の3通りの差分が計算される(ステップS1002)。   Subsequently, the difference between the average value of the motion vectors of the blocks A, B, C, D, E, F, G, H, and I and the motion vector of the target block N, the motion vectors of the blocks B, D, E, F, and H Three differences are calculated: the difference between the average value and the motion vector of the target block N, the average value of the motion vectors of the blocks E, J, K, L, and M and the difference of the motion vector of the target block N (step S1002). .

続いて、ステップS1002で算出した3通りの差分のうち、もっとも値が小さくなる組み合わせが判定される。(ステップS1003)。   Subsequently, the combination having the smallest value among the three differences calculated in step S1002 is determined. (Step S1003).

ステップS1003での判定の結果、もっとも小さい差分を与える組み合わせがブロックA、B、C、D、E、F、G、H、Iと対象ブロックNである場合にはブロックNの動きベクトル予測値はブロックA、B、C、D、E、F、G、H、Iの動きベクトルの平均値に決定するという方法を示すインデックスIndex_i=0(i=x,y)を生成するとともに、その方法を用いたときの動きベクトル予測値と対象ブロックの動きベクトルとの差分を動きベクトル差分値MViD(i=x,y)とする。もっとも小さい差分を与える組み合わせがブロックB、D、E、F、Hと対象ブロックNである場合にはブロックNの動きベクトル予測値はブロックB、D、E、F、Hの動きベクトルの平均値に決定するという方法を示すインデックスIndex_i=1(i=x,y)を生成するとともに、その方法を用いたときの動きベクトル予測値と対象ブロックの動きベクトルとの差分を動きベクトル差分値MViD(i=x,y)とする。もっとも小さい差分平均値を与える組み合わせがブロックE、J、K、L、Mと対象ブロックNである場合にはブロックNの動きベクトル予測値はブロックE、J、K、L、Mの動きベクトルの平均値に決定するという方法を示すインデックスIndex_i=2(i=x,y)を生成するとともに、その方法を用いたときの動きベクトル予測値と対象ブロック動きベクトルとの差分を動きベクトル差分値MViD(i=x,y)とする(ステップS1004)。   As a result of the determination in step S1003, when the combination that gives the smallest difference is the block A, B, C, D, E, F, G, H, I and the target block N, the motion vector prediction value of the block N is An index Index_i = 0 (i = x, y) indicating a method of determining an average value of motion vectors of blocks A, B, C, D, E, F, G, H, and I is generated, and the method is The difference between the motion vector prediction value when used and the motion vector of the target block is defined as a motion vector difference value MViD (i = x, y). When the combination that gives the smallest difference is the block B, D, E, F, H and the target block N, the motion vector predicted value of the block N is the average value of the motion vectors of the blocks B, D, E, F, H An index Index_i = 1 (i = x, y) indicating the method of determining the motion vector is generated, and the difference between the motion vector prediction value and the motion vector of the target block when using this method is calculated as a motion vector difference value MViD ( i = x, y). When the combination that gives the smallest difference average value is the block E, J, K, L, M and the target block N, the motion vector predicted value of the block N is the motion vector of the blocks E, J, K, L, M An index Index_i = 2 (i = x, y) indicating a method of determining an average value is generated, and a difference between a motion vector prediction value and a target block motion vector when using this method is calculated as a motion vector difference value MViD. (i = x, y) (step S1004).

次に、ステップS1004で決定されたインデックスIndex_i(i=x,y)を出力する(ステップS1005)。   Next, the index Index_i (i = x, y) determined in step S1004 is output (step S1005).

最後にステップS1004で決定された動きベクトル差分値MViD(i=x,y)を出力し(ステップS1006)、処理を終了する。   Finally, the motion vector difference value MViD (i = x, y) determined in step S1004 is output (step S1006), and the process ends.

なお、ステップS1002において各ブロック群の動きベクトルの平均値の変わりに、各ブロック群の動きベクトルの中間値を用いてもよい。その際は、ステップS1004で生成されるインデックスは、各ブロック群の平均値を動きベクトル予測値とすることを示す代わりに各ブロック群の中間値を動きベクトル予測値とすることを示すインデックスとなる。   In step S1002, an intermediate value of the motion vectors of each block group may be used instead of the average value of the motion vectors of each block group. In this case, the index generated in step S1004 is an index indicating that an intermediate value of each block group is used as a motion vector prediction value instead of indicating that an average value of each block group is used as a motion vector prediction value. .

なお、ステップS1002において、動きベクトル予測値と実際の動きベクトルの差分を用いて動きベクトル予測値の決定方法を選択したが、その代わりに実際に符号化を行い、符号量と歪みの最適化(R-D最適化)によって動きベクトル予測値の決定方法を選択してもよい。   In step S1002, the method of determining the motion vector prediction value is selected using the difference between the motion vector prediction value and the actual motion vector. Instead, encoding is actually performed to optimize the code amount and distortion ( A method for determining a motion vector prediction value may be selected by (RD optimization).

図20のフローチャートに示される実施形態では3通りの動きベクトル予測値決定方法の中から1つを選択したが、3通りのうちいずれか2つの中からどちらかを選択するようにしてもよい。   In the embodiment shown in the flowchart of FIG. 20, one of the three motion vector prediction value determination methods is selected. However, any one of the three methods may be selected.

また、図20のフローチャートに示される一連の処理はx成分、y成分に分けずにベクトルの差分(具体的にはベクトルノルムなど)を算出し、x成分、y成分それぞれの決定方法を示すインデックスを同時に選択してもよい。   The series of processes shown in the flowchart of FIG. 20 calculates a vector difference (specifically, a vector norm, etc.) without dividing the x component and the y component, and an index indicating how to determine each of the x component and the y component. May be selected simultaneously.

さらに、対象ブロックを含む領域が大きく移動しているような場合の予測精度をあげるために、図19に示されるブロックの位置関係は以下のように定めてもよい。   Furthermore, in order to improve the prediction accuracy when the region including the target block is moved greatly, the positional relationship of the blocks shown in FIG. 19 may be determined as follows.

対象ブロックをNとし、フレームF601はブロックNを含むフレームである。フレームF602は既に符号化済みのフレームである。   The target block is N, and the frame F601 is a frame including the block N. Frame F602 is an already encoded frame.

フレームF601において、ブロックJをブロックNの最も左上の画素の真左上の画素を含むブロック、ブロックKをブロックNの最も左上の画素の真上の画素を含むブロック、ブロックLをブロックNの最も右上の画素の真右上の画素を含むブロック、ブロックMをブロックNの最も左上の画素の真左の画素を含むブロックとする。   In frame F601, block J is a block including the pixel immediately above the upper left pixel of block N, block K is a block including the pixel immediately above the upper left pixel of block N, and block L is the upper right pixel of block N. A block including the pixel immediately above the rightmost pixel and the block M is a block including a pixel immediately left of the uppermost leftmost pixel of the block N.

フレームF602において、ブロックEはブロックJの動きベクトルが参照しているブロック、またはブロックKの動きベクトルが参照しているブロック、またはブロックLの動きベクトルが参照しているブロック、またはブロックMの動きベクトルが参照しているブロックとする。その際もブロックAをブロックEの最も左上の画素の真左上の画素を含むブロック、ブロックBをブロックEの最も左上の画素の真上の画素を含むブロック、ブロックCをブロックEの最も右上の画素の真右上の画素を含むブロック、ブロックDをブロックEの最も左下の画素の真左の画素を含むブロック、ブロックFをブロックEの最も右上の画素の真右の画素を含むブロック、ブロックGをブロックEの最も左下の画素の真左下の画素を含むブロック、ブロックHをブロックEの最も右下の画素の真下の画素を含むブロック、ブロックIをブロックEの最も右下の画素の真右下の画素を含むブロックとする。   In frame F602, block E is a block referenced by a motion vector of block J, a block referenced by a motion vector of block K, a block referenced by a motion vector of block L, or a motion of block M Let it be the block that the vector references. At that time, block A is a block including the pixel immediately above the upper left pixel of block E, block B is a block including the pixel immediately above the upper left pixel of block E, and block C is an upper right pixel of block E. A block including the pixel right above the pixel, a block D including the pixel immediately left of the pixel at the bottom left of the block E, a block F including a pixel right above the pixel at the top right of the block E, a block G Is the block containing the pixel directly below the leftmost pixel of block E, block H is the block containing the pixel directly below the rightmost pixel of block E, block I is the block right below the rightmost pixel of block E A block including the lower pixel.

なお上記の定め方をする場合、各ブロックの大きさ以下の精度で類似する画像信号パターンの位置を探し出して動きベクトルの検出を行う際に、ブロックJが参照するブロック、あるいはブロックKが参照するブロック、あるいはブロックLが参照するブロック、あるいはブロックMが参照するブロックが動きベクトルをもつ複数のブロックにまたがることが考えられるが、その際はそれら複数のブロックの動きベクトルの平均値、あるいはまたがる領域でもっとも占める割合の高いブロックの動きベクトルを該当するブロック(JあるいはKあるいはLあるいはM)が参照するブロックの動きベクトルとして用いるものとする。   When the above method is used, when the position of a similar image signal pattern is detected with an accuracy less than the size of each block and the motion vector is detected, the block referred to by the block J or the block K refers to It is possible that the block referenced by block or block L or the block referenced by block M may span multiple blocks with motion vectors. In this case, the average value of the motion vectors of the multiple blocks or the region that spans the blocks It is assumed that the motion vector of the block having the highest ratio is used as the motion vector of the block referred to by the corresponding block (J, K, L, or M).

このとき、確率切替信号生成器213の詳細は図21のフローチャートで説明される。確率切替信号は動きベクトル予測値決定方法を示すインデックスの尤度を示すものであって、この信号に基づいて確率テーブルを切り替えてエントロピー符号化を行うことで、データの発生確率に応じた適切な符号量でインデックスの符号化を行うことができる。   At this time, details of the probability switching signal generator 213 will be described with reference to the flowchart of FIG. The probability switching signal indicates the likelihood of the index indicating the motion vector prediction value determination method, and the entropy coding is performed by switching the probability table based on this signal, so that the appropriate probability corresponding to the data generation probability can be obtained. Indexes can be encoded with a code amount.

確率切替信号生成器213では、動きベクトルのx成分、y成分はそれぞれ独立に計算されるものとする。具体的にはまず動きベクトルのx成分の計算を行い、x成分に相当する確率切替信号を出力し、次にy成分の計算を行い、y成分に相当する確率切替信号の出力を行う。以下では必要に応じて、成分を示す添え字をiと記す(iはx又はyである)。   In the probability switching signal generator 213, the x component and y component of the motion vector are calculated independently. Specifically, the x component of the motion vector is first calculated, a probability switching signal corresponding to the x component is output, then the y component is calculated, and a probability switching signal corresponding to the y component is output. In the following, a subscript indicating a component is written as i (i is x or y) as necessary.

まず確率切替信号生成器213は、ラインL212を経由して入力される符号化済みのブロックA、B、C、D、E、F、G、H、I、J、K、L、Mの動きベクトルと対応する参照フレーム番号と、ラインL216を経由して入力される対象ブロックの参照フレーム番号を取得する(ステップS1101)。   First, the probability switching signal generator 213 moves the encoded blocks A, B, C, D, E, F, G, H, I, J, K, L, and M inputted via the line L212. The reference frame number corresponding to the vector and the reference frame number of the target block input via the line L216 are acquired (step S1101).

なおステップS1101で取得される動きベクトルは、対象ブロックを含むフレームと、対象ブロックの動きベクトルが参照するフレームとの時間的距離に基づいてスケーリングされることが好ましい。スケーリングの際には各ブロックの動きベクトルが参照するフレームの時刻を用いるため、各ブロックに対応する参照フレーム番号からその時刻を求める必要がある。   Note that the motion vector acquired in step S1101 is preferably scaled based on a temporal distance between a frame including the target block and a frame referred to by the motion vector of the target block. Since the time of the frame referred to by the motion vector of each block is used at the time of scaling, it is necessary to obtain the time from the reference frame number corresponding to each block.

スケーリングによって、対象ブロックを含むフレームの時刻t0から、対象ブロックの動きベクトルが参照するフレームの時刻teまでの時間的距離(t0-te)を基準にして、取得した符号化済みのブロックA、B、C、D、E、F、G、H、I、J、K、Lの動きベクトルの大きさを補正することができる。具体的に一例を挙げると、ブロックAの動きベクトルMViA(i=x,y)が参照するフレームの時刻をta、ブロックAを含むフレームの時刻をt1とすると、スケーリングされた動きベクトルMViA’(i=x,y)は、式(1)によって与えられるベクトルである。   Encoded blocks A and B obtained by scaling based on the time distance (t0-te) from the time t0 of the frame including the target block to the time te of the frame referred to by the motion vector of the target block , C, D, E, F, G, H, I, J, K, and L, the magnitudes of motion vectors can be corrected. As a specific example, if the time of the frame referred to by the motion vector MViA (i = x, y) of the block A is ta and the time of the frame including the block A is t1, the scaled motion vector MViA ′ ( i = x, y) is a vector given by equation (1).

なお、このスケーリング処理は必須ではなく、スケーリング処理を行わない場合は各ブロックに対応する参照フレーム番号は必要ない。   Note that this scaling processing is not essential, and reference frame numbers corresponding to the respective blocks are not required when the scaling processing is not performed.

また、ステップS1101において符号化済みのブロックそのもの、あるいは符号化済みのブロックの動きベクトルが存在しない場合、そのブロックは極めて大きい動きベクトルを持つとみなし、十分大きな値とした上で処理を進める。あるいは、処理対象から除く。   If the encoded block itself or the encoded block motion vector does not exist in step S1101, the block is regarded as having a very large motion vector, and the process proceeds with a sufficiently large value. Alternatively, it is excluded from the processing target.

続いて、ブロックAとブロックEの動きベクトルの差分、ブロックCとブロックEの動きベクトルの差分、ブロックGとブロックEの動きベクトルの差分、ブロックIとブロックEの動きベクトルの差分の計4通りの差分の平均値を算出する。また、ブロックBとブロックEの動きベクトルの差分、ブロックDとブロックEの動きベクトルの差分、ブロックFとブロックEの動きベクトルの差分、ブロックHとブロックEの動きベクトルの差分の計4通りの差分の平均値を算出する。また、ブロックJとブロックKの動きベクトルの差分、ブロックJとブロックMの動きベクトルの差分、ブロックEとブロックKの動きベクトルの差分、ブロックEとブロックMの動きベクトルの差分の計4通りの差分の平均値を算出する(ステップS1102)。   Next, there are 4 types of differences: motion vector difference between block A and block E, motion vector difference between block C and block E, motion vector difference between block G and block E, and motion vector difference between block I and block E. The average value of the differences is calculated. In addition, the difference between the motion vector of block B and block E, the difference of the motion vector of block D and block E, the difference of the motion vector of block F and block E, and the difference of the motion vector of block H and block E are 4 ways in total. Calculate the average value of the differences. In addition, the difference between the motion vector of block J and block K, the difference of the motion vector of block J and block M, the difference of the motion vector of block E and block K, and the difference of the motion vector of block E and block M are 4 ways in total. An average value of the differences is calculated (step S1102).

続いて、ステップS1102で算出した3通りの差分平均値のうち、もっとも値が小さくなる組み合わせが判定される。(ステップS1103)。   Subsequently, a combination having the smallest value among the three difference average values calculated in step S1102 is determined. (Step S1103).

ステップS1103での判定の結果、もっとも小さい差分平均値を与える組み合わせがブロックAとE、ブロックCとE、ブロックGとE、ブロックIとEである場合にはブロックNの動きベクトル予測値はブロックA、B、C、D、E、F、G、H、Iの動きベクトルの平均値に決定することが尤もらしいことを示す信号Signal_i=(i=x,y)0を生成するとともに、その際の平均差分値MViD_mean(i=x,y)をブロックAとブロックEの動きベクトルの差分、ブロックCとブロックEの動きベクトルの差分、ブロックGとブロックEの動きベクトルの差分、ブロックIとブロックEの動きベクトルの差分の計4通りの差分の平均値とする。もっとも小さい差分平均値を与える組み合わせがブロックBとE、ブロックDとE、ブロックFとE、ブロックHとEである場合にはブロックNの動きベクトル予測値はブロックB、D、E、F、Hの動きベクトルの平均値に決定することが尤もらしいことを示す信号Signal_i=1(i=x,y)を生成するとともに、その際の平均差分値MViD_mean(i=x,y)をブロックBとブロックEの動きベクトルの差分、ブロックDとブロックEの動きベクトルの差分、ブロックFとブロックEの動きベクトルの差分、ブロックHとブロックEの動きベクトルの差分の計4通りの差分の平均値とする。もっとも小さい差分平均値を与える組み合わせがブロックJとK、ブロックJとM、ブロックEとK、ブロックEとMである場合にはブロックNの動きベクトル予測値はブロックJ、K、L、M、Eの動きベクトルの平均値に決定することが尤もらしいことを示す信号Signal_i=2(i=x,y)を生成するとともに、その際の平均差分値MViD_mean(i=x,y)をブロックJとブロックKの動きベクトルの差分、ブロックJとブロックMの動きベクトルの差分、ブロックEとブロックKの動きベクトルの差分、ブロックEとブロックMの動きベクトルの差分の計4通りの差分の平均値とする(ステップS1104)。   As a result of the determination in step S1103, if the combination that gives the smallest difference average value is block A and E, block C and E, block G and E, block I and E, the motion vector prediction value of block N is block A signal Signal_i = (i = x, y) 0 indicating that it is likely to be determined as an average value of motion vectors of A, B, C, D, E, F, G, H, and I, and The average difference value MViD_mean (i = x, y) at the time is the difference between the motion vectors of block A and block E, the difference between the motion vectors of block C and block E, the difference of the motion vectors of block G and block E, and the block I and It is set as the average value of a total of four types of differences of the motion vector difference of the block E. When the combination that gives the smallest difference average value is block B and E, block D and E, block F and E, block H and E, the motion vector prediction value of block N is block B, D, E, F, A signal Signal_i = 1 (i = x, y) indicating that it is likely to be determined as an average value of the motion vector of H is generated, and the average difference value MViD_mean (i = x, y) at that time is generated in the block B Difference of motion vectors between block E and block E, difference between motion vectors between block D and block E, difference between motion vectors between block F and block E, and difference between motion vectors between block H and block E. And When the combination that gives the smallest difference average value is block J and K, block J and M, block E and K, block E and M, the motion vector prediction value of block N is block J, K, L, M, A signal Signal_i = 2 (i = x, y) indicating that it is likely to be determined as an average value of the motion vector of E is generated, and the average difference value MViD_mean (i = x, y) at that time is generated in the block J Difference between motion vectors of block K and block K, difference of motion vectors of block J and block M, difference of motion vectors of block E and block K, and difference of motion vectors of block E and block M (Step S1104).

最後に、ステップS1104で決定されたインデックスIndex_i(i=x,y)および動きベクトル平均差分値MViD_mean(i=x,y)を出力し(ステップS1105)、処理を終了する。   Finally, the index Index_i (i = x, y) and the motion vector average difference value MViD_mean (i = x, y) determined in step S1104 are output (step S1105), and the process ends.

なお、発生確率信号はSignal_i(i=x,y)のみでもよい。   The occurrence probability signal may be only Signal_i (i = x, y).

なお、図21のフローチャートに示される一連の処理はx成分、y成分に分けずにベクトルの差分(具体的にはベクトルノルムなど)を算出し、x成分、y成分に相当する確率切替信号を同時に決定してもよい。   The series of processes shown in the flowchart of FIG. 21 calculates a vector difference (specifically, a vector norm) without dividing the x component and the y component into a probability switching signal corresponding to the x component and the y component. It may be determined at the same time.

なお、ステップS1102において、各ブロック群の動きベクトルの類似性を表す情報として平均差分値を用いたが、そのかわりに各ブロック群の分散値や標準偏差を用いてもよい。その際にはステップS1104で生成される平均差分値は分散値あるいは標準偏差となる。   In step S1102, the average difference value is used as information representing the similarity of the motion vectors of each block group. Instead, the variance value or standard deviation of each block group may be used. In that case, the average difference value generated in step S1104 becomes a variance value or a standard deviation.

図21のフローチャートに示される実施形態では3通りの確率切替信号の中から1つを選択したが、3通りのうちいずれか2つの中からどちらかを選択するようにしてもよい。   In the embodiment shown in the flowchart of FIG. 21, one of the three probability switching signals is selected, but any one of the three probability switching signals may be selected.

また、対象ブロックを含む領域が大きく移動しているような場合の予測精度をあげるために、図13に示されるブロックの位置関係は以下のように定めてもよい。ただし、その定め方は動き予測器212と対応させる必要がある。   Further, in order to increase the prediction accuracy when the region including the target block is greatly moved, the positional relationship of the blocks shown in FIG. 13 may be determined as follows. However, the determination method needs to correspond to the motion predictor 212.

対象ブロックをNとし、フレームF601はブロックNを含むフレームである。フレームF602は既に符号化済みのフレームである。   The target block is N, and the frame F601 is a frame including the block N. Frame F602 is an already encoded frame.

フレームF601において、ブロックJをブロックNの最も左上の画素の真左上の画素を含むブロック、ブロックKをブロックNの最も左上の画素の真上の画素を含むブロック、ブロックLをブロックNの最も右上の画素の真右上の画素を含むブロック、ブロックMをブロックNの最も左上の画素の真左の画素を含むブロックとする。   In frame F601, block J is a block including the pixel immediately above the upper left pixel of block N, block K is a block including the pixel immediately above the upper left pixel of block N, and block L is the upper right pixel of block N. A block including the pixel immediately above the rightmost pixel and the block M is a block including a pixel immediately left of the uppermost leftmost pixel of the block N.

フレームF602において、ブロックEはブロックJの動きベクトルが参照しているブロック、またはブロックKの動きベクトルが参照しているブロック、またはブロックLの動きベクトルが参照しているブロック、またはブロックMの動きベクトルが参照しているブロックとする。その際もブロックAをブロックEの最も左上の画素の真左上の画素を含むブロック、ブロックBをブロックEの最も左上の画素の真上の画素を含むブロック、ブロックCをブロックEの最も右上の画素の真右上の画素を含むブロック、ブロックDをブロックEの最も左下の画素の真左の画素を含むブロック、ブロックFをブロックEの最も右上の画素の真右の画素を含むブロック、ブロックGをブロックEの最も左下の画素の真左下の画素を含むブロック、ブロックHをブロックEの最も右下の画素の真下の画素を含むブロック、ブロックIをブロックEの最も右下の画素の真右下の画素を含むブロックとする。   In frame F602, block E is a block referenced by a motion vector of block J, a block referenced by a motion vector of block K, a block referenced by a motion vector of block L, or a motion of block M Let it be the block that the vector references. At that time, block A is a block including the pixel immediately above the upper left pixel of block E, block B is a block including the pixel immediately above the upper left pixel of block E, and block C is an upper right pixel of block E. A block including the pixel right above the pixel, a block D including the pixel immediately left of the pixel at the bottom left of the block E, a block F including a pixel right above the pixel at the top right of the block E, a block G Is the block containing the pixel directly below the leftmost pixel of block E, block H is the block containing the pixel directly below the rightmost pixel of block E, block I is the block right below the rightmost pixel of block E A block including the lower pixel.

なお上記の定め方をする場合、各ブロックの大きさ以下の精度で類似する画像信号パターンの位置を探し出して動きベクトルの検出を行う際に、ブロックJが参照するブロック、あるいはブロックKが参照するブロック、あるいはブロックLが参照するブロック、あるいはブロックMが参照するブロックが動きベクトルをもつ複数のブロックにまたがることが考えられるが、その際はそれら複数のブロックの動きベクトルの平均値、あるいはまたがる領域でもっとも占める割合の高いブロックの動きベクトルを該当するブロック(JあるいはKあるいはLあるいはM)が参照するブロックの動きベクトルとして用いるものとする。   When the above method is used, when the position of a similar image signal pattern is detected with an accuracy less than the size of each block and the motion vector is detected, the block referred to by the block J or the block K refers to It is possible that the block referenced by block or block L or the block referenced by block M may span multiple blocks with motion vectors. In this case, the average value of the motion vectors of the multiple blocks or the region that spans the blocks It is assumed that the motion vector of the block having the highest ratio is used as the motion vector of the block referred to by the corresponding block (J, K, L, or M).

このとき、エントロピー符号化器214では、あらかじめ複数所持してある動きベクトル予測値決定方法を示す各インデックスの発生確率分布のテーブルを、ラインL215を経由して入力される確率切替信号に基づいて切り替える。具体的にはSignal_i(i=x,y)によって最も発生確率が高いインデックス、MViD_mean(i=x,y)によってその発生確率を予測し、それに応じた確率テーブルへの切り替えを行う。   At this time, the entropy encoder 214 switches the occurrence probability distribution table of each index indicating the motion vector prediction value determination method possessed in advance based on a probability switching signal input via the line L215. . Specifically, the occurrence probability is predicted by the index with the highest occurrence probability by Signal_i (i = x, y) and MViD_mean (i = x, y), and the probability table is switched accordingly.

最後に、コンピュータを動画像符号化装置20として動作させる動画像符号化プログラムについて説明する。図52は、本実施形態に係る動画像符号化プログラムP20の構成を示し、この動画像符号化プログラムP20は、記録媒体に格納されて提供される。記録媒体としては、フレキシブルディスク、CD−ROM、DVD、ROM等の記録媒体あるいは半導体メモリ等が例示される。なお、記録媒体に記憶されたプログラムを実行するためのコンピュータの構成は、既に説明した図63、図64の構成と同様であるため、重複した説明は省略する。   Finally, a moving picture coding program that causes a computer to operate as the moving picture coding apparatus 20 will be described. FIG. 52 shows a configuration of a moving image encoding program P20 according to the present embodiment, and the moving image encoding program P20 is provided by being stored in a recording medium. Examples of the recording medium include a recording medium such as a flexible disk, a CD-ROM, a DVD, and a ROM, or a semiconductor memory. Note that the configuration of the computer for executing the program stored in the recording medium is the same as the configuration of FIGS. 63 and 64 already described, and therefore, a duplicate description is omitted.

図52に示すように、動画像符号化プログラムP20は、処理を統括するメインモジュールP201と、ブロック分割モジュールP202と、変換モジュールP203と、量子化モジュールP204と、逆量子化モジュールP205と、逆変換モジュールP206と、記憶モジュールP207と、予測信号生成モジュールP208と、動き予測モジュールP209と、動き検出モジュールP210と、加算モジュールP211と、減算モジュールP212と、確率切替信号生成モジュールP213と、エントロピー符号化モジュールP214とを備えている。   As shown in FIG. 52, the moving image encoding program P20 includes a main module P201 that supervises processing, a block division module P202, a transform module P203, a quantization module P204, an inverse quantization module P205, and an inverse transform. Module P206, storage module P207, prediction signal generation module P208, motion prediction module P209, motion detection module P210, addition module P211, subtraction module P212, probability switching signal generation module P213, and entropy encoding module P214.

ブロック分割モジュールP202、変換モジュールP203、量子化モジュールP204、逆量子化モジュールP205、逆変換モジュールP206、予測信号生成モジュールP208、動き予測モジュールP209、動き検出モジュールP210、加算モジュールP211、減算モジュールP212、確率切替信号生成モジュールP213、エントロピー符号化モジュールP214がコンピュータに実現させる機能は、それぞれ図12のブロック分割器201、変換器207、量子化器208、逆量子化器209、逆変換器210、予測信号生成器204、動き予測器212、動き検出器203、加算器211、減算器206、確率切替信号生成器213、エントロピー符号化器214の機能と同様である。記憶モジュールP207がコンピュータに実現させる機能は、フレームメモリ202及び動きベクトルメモリ205の機能と同様である。   Block division module P202, transform module P203, quantization module P204, inverse quantization module P205, inverse transform module P206, prediction signal generation module P208, motion prediction module P209, motion detection module P210, addition module P211, subtraction module P212, probability The switching signal generation module P213 and the entropy encoding module P214 make the computer realize the block divider 201, the converter 207, the quantizer 208, the inverse quantizer 209, the inverse transformer 210, and the prediction signal shown in FIG. The functions of the generator 204, motion predictor 212, motion detector 203, adder 211, subtractor 206, probability switching signal generator 213, and entropy encoder 214 are the same. The functions that the storage module P207 realizes in the computer are the same as the functions of the frame memory 202 and the motion vector memory 205.

[第3実施形態]
図22を用いて、本発明に係る動画像符号化装置30について説明する。
[Third Embodiment]
The moving picture encoding apparatus 30 according to the present invention will be described with reference to FIG.

動画像符号化装置30は、機能的な構成要素として、図22に示すように、ブロック分割器301と、フレームメモリ302と、動き検出器303と、予測信号生成器304と、動きベクトルメモリ305と、減算器306と、変換器307と、量子化器308と、逆量子化器309と、逆変換器310と、加算器311と、動き予測器312と、減算器313と、確率切替信号生成器314と、エントロピー符号化器315とを備えて構成される。   As shown in FIG. 22, the moving image encoding apparatus 30 includes a block divider 301, a frame memory 302, a motion detector 303, a prediction signal generator 304, and a motion vector memory 305 as functional components. , Subtractor 306, converter 307, quantizer 308, inverse quantizer 309, inverse transformer 310, adder 311, motion predictor 312, subtractor 313, and probability switching signal A generator 314 and an entropy encoder 315 are provided.

動画像符号化装置30に入力される入力映像信号(動画像信号)は、フレーム単位の画像信号(以下、フレーム画像信号)の時間系列で構成されている。   An input video signal (moving image signal) input to the moving image encoding device 30 is composed of a time series of image signals in units of frames (hereinafter referred to as frame image signals).

ブロック分割器301は、ラインL301を経由して入力された入力映像信号の符号化対象となるフレーム画像信号を複数の領域(ブロック)に分割し、ラインL302を経由して符号化対象のブロック(以下、対象ブロック)の画像信号を出力する。本実施形態では8×8の画素からなるブロックに分割するが、それ以外の大きさまたは形に分割してもよい。このブロック単位で以下の符号化処理が行われる。   The block divider 301 divides the frame image signal to be encoded of the input video signal input via the line L301 into a plurality of regions (blocks), and blocks the block to be encoded via the line L302 ( Hereinafter, the image signal of the target block) is output. In this embodiment, the block is divided into 8 × 8 pixels, but may be divided into other sizes or shapes. The following encoding process is performed for each block.

フレームメモリ302は、ラインL303を経由して入力される過去に符号化済みのフレーム画像信号(以下、参照フレーム画像信号)を格納し、必要に応じてラインL304を経由して出力する。   The frame memory 302 stores a previously encoded frame image signal (hereinafter referred to as a reference frame image signal) input via the line L303, and outputs it via the line L304 as necessary.

動き検出器303は、ラインL302を経由して入力される対象ブロックの画像信号のパターンに類似した画像信号パターンを、ラインL304を経由して入力される参照フレーム画像信号から所定範囲内で探索し、両画像信号パターン間の空間的な変位量である動きベクトルを検出し、ラインL305を経由して出力する。また、その動きベクトルが参照するフレームの番号(以下、参照フレーム番号)を検出し、ラインL316を経由して出力する。   The motion detector 303 searches an image signal pattern similar to the image signal pattern of the target block input via the line L302 within a predetermined range from the reference frame image signal input via the line L304. Then, a motion vector, which is a spatial displacement amount between both image signal patterns, is detected and output via the line L305. Also, the frame number (hereinafter referred to as reference frame number) referred to by the motion vector is detected and output via the line L316.

予測信号生成器304は、ラインL305を経由して入力される対象ブロックの動きベクトル信号値とラインL316を経由して入力される参照フレーム番号と、ラインL304を経由して入力される参照フレーム画像信号から、対象ブロックに対する予測画像信号を生成し、ラインL306を経由して出力する。   The prediction signal generator 304 includes the motion vector signal value of the target block input via the line L305, the reference frame number input via the line L316, and the reference frame image input via the line L304. A predicted image signal for the target block is generated from the signal and output via a line L306.

動きベクトルメモリ305は、過去に符号化済みの動きベクトルや参照フレーム番号と併せて、ラインL305を経由して入力される動きベクトルとラインL316を経由して入力される参照フレーム番号を格納し、必要に応じてラインL312を経由して出力する。   The motion vector memory 305 stores a motion vector input via the line L305 and a reference frame number input via the line L316 together with a motion vector and a reference frame number encoded in the past. Output via line L312 if necessary.

減算器306は、ラインL302を経由して入力された対象ブロックの画像信号から、ラインL306を経由して入力された対象ブロックに対する予測画像信号を減算し、残差信号を生成し、ラインL307を経由して出力する。   The subtractor 306 subtracts the prediction image signal for the target block input via the line L306 from the image signal of the target block input via the line L302, generates a residual signal, and generates the line L307. Output via.

変換器307は、ラインL307を経由して入力された残差信号を直交変換し、ラインL308を経由して変換係数を出力する。   The converter 307 orthogonally transforms the residual signal input via the line L307 and outputs a transform coefficient via the line L308.

量子化器308は、ラインL308を経由して入力された変換係数を量子化し、ラインL309を経由して量子化された変換係数を出力する。   The quantizer 308 quantizes the transform coefficient input via the line L308, and outputs the quantized transform coefficient via the line L309.

逆量子化器309は、ラインL309を経由して入力された量子化された変換係数を逆量子化し、ラインL310を経由して復元された変換係数を出力する。   The inverse quantizer 309 inversely quantizes the quantized transform coefficient input via the line L309 and outputs the restored transform coefficient via the line L310.

逆変換器310は、ラインL310を経由して入力された変換係数を逆直交変換し、ラインL311を経由して復元された残差信号を出力する。   The inverse transformer 310 performs inverse orthogonal transform on the transform coefficient input via the line L310, and outputs a residual signal restored via the line L311.

加算器311は、ラインL311を経由して入力された残差信号と、ラインL306を経由して入力された対象ブロックに対する予測画像信号を加算し、対象ブロックの画像信号を復元し、ラインL303を経由して出力する。   The adder 311 adds the residual signal input via the line L311 and the prediction image signal for the target block input via the line L306, restores the image signal of the target block, and sets the line L303. Output via.

動き予測器312は、ラインL312を経由して入力される過去に符号化済みのブロックの動きベクトルと、それに対応した参照フレーム番号と、ラインL316を経由して入力される対象ブロックの参照フレーム番号から、対象ブロックの動きベクトル予測値を算出し、ラインL313を経由して出力する。動き予測器312の詳細な動作は、動き予測器112と同じであるとし、記載を省略する。   The motion predictor 312 receives the motion vector of the previously encoded block input via the line L312 and the reference frame number corresponding thereto, and the reference frame number of the target block input via the line L316. Then, the motion vector prediction value of the target block is calculated and output via the line L313. The detailed operation of the motion predictor 312 is assumed to be the same as that of the motion predictor 112, and the description is omitted.

減算器313は、ラインL305を経由して入力された対象ブロックの動きベクトル信号値から、ラインL313を経由して入力された対象ブロックの動きベクトル予測値を減算し、動きベクトル差分値を生成する。そしてラインL314を経由して動きベクトル差分値を出力する。   The subtractor 313 subtracts the motion vector prediction value of the target block input via the line L313 from the motion vector signal value of the target block input via the line L305 to generate a motion vector difference value. . Then, the motion vector difference value is output via the line L314.

確率切替信号生成器314はラインL312を経由して入力される過去に符号化済みのブロックの動きベクトルと、それに対応する参照フレーム番号と、ラインL316を経由して入力される対象ブロックの参照フレーム番号から、後述するフローに従って切り替える確率テーブルを示す確率切替信号を生成し、ラインL315を経由して出力する。   The probability switching signal generator 314 inputs the motion vector of the previously encoded block input via the line L312 and the corresponding reference frame number, and the reference frame of the target block input via the line L316. From the number, a probability switching signal indicating a probability table to be switched according to a flow to be described later is generated and output via a line L315.

エントロピー符号化器315は、ラインL309を経由して入力された量子化された変換係数を符号化する。また、ラインL315を経由して入力された確率切替信号に基づいて、エントロピー符号化を行う際に用いる確率テーブルを後述の方法で切り替えたのち、ラインL314を経由して入力された動きベクトル差分値を符号化する。そして符号化された変換係数および動きベクトル差分値を多重化したうえで、圧縮ストリームをラインL316に出力する。   The entropy encoder 315 encodes the quantized transform coefficient input via the line L309. Also, based on the probability switching signal input via the line L315, the probability table used when entropy encoding is switched by the method described later, and then the motion vector difference value input via the line L314 Is encoded. After the encoded transform coefficient and motion vector difference value are multiplexed, the compressed stream is output to the line L316.

上記のようにエントロピー符号化を行う際に用いる確率テーブルを切り替えることは、動きベクトル差分値をその出現頻度に基づいた適切な符号量で符号化することによって、符号化効率を高める効果がある。   Switching the probability table used when entropy encoding is performed as described above has an effect of increasing the encoding efficiency by encoding the motion vector difference value with an appropriate code amount based on the appearance frequency.

確率切替信号生成器の314の詳細な動作は、動き予測器312の動作と対応させることが好ましい。以下では、動きベクトル予測値は符号化済みのブロックの動きベクトルから決定され、動きベクトル予測値を示すためのインデックスを符号化しない形態において説明を行うが、動きベクトル予測値を示すためのインデックスを符号化する形態においても適応できる。   The detailed operation of the probability switching signal generator 314 preferably corresponds to the operation of the motion predictor 312. In the following description, the motion vector prediction value is determined from the motion vector of the encoded block, and an index for indicating the motion vector prediction value will not be encoded. However, an index for indicating the motion vector prediction value will be described. The present invention can also be applied to the form of encoding.

動き予測器312の動作が、前述の動き予測器112の図2と図4を用いて説明される動作をする場合、確率切替信号生成器の314の詳細な動作は図2の模式図と、図23のフローチャートに従うことが好ましい。図2の説明は前述の動き予測器112における説明と同じである。   When the operation of the motion predictor 312 performs the operation described with reference to FIGS. 2 and 4 of the motion predictor 112 described above, the detailed operation of the probability switching signal generator 314 is as shown in the schematic diagram of FIG. It is preferable to follow the flowchart of FIG. The description of FIG. 2 is the same as that in the motion predictor 112 described above.

このとき、確率切替信号は動きベクトル差分値の発生確率分布の尤もらしさを示すものであって、この信号に基づいて確率テーブルを切り替えてエントロピー符号化を行うことで、データの発生確率に応じた適切な符号量で動きベクトル差分値の符号化を行うことができる。   At this time, the probability switching signal indicates the likelihood of the occurrence probability distribution of the motion vector difference value. By switching the probability table based on this signal and performing entropy coding, the probability switching signal corresponds to the data occurrence probability. The motion vector difference value can be encoded with an appropriate code amount.

確率切替信号生成器314では、動きベクトルのx成分、y成分はそれぞれ独立に計算されるものとする。具体的にはまず動きベクトルのx成分の計算を行い、x成分に相当する確率切替信号を出力し、次にy成分の計算を行い、y成分に相当する確率切替信号の出力を行う。以下では必要に応じて、成分を示す添え字をiと記す(iはx又はyである)。   In the probability switching signal generator 314, the x component and y component of the motion vector are calculated independently. Specifically, the x component of the motion vector is first calculated, a probability switching signal corresponding to the x component is output, then the y component is calculated, and a probability switching signal corresponding to the y component is output. In the following, a subscript indicating a component is written as i (i is x or y) as necessary.

まず確率切替信号生成器314は、ラインL312を経由して入力される符号化済みのブロックA、B、C、D、E、Fの動きベクトルと対応する参照フレーム番号と、ラインL316を経由して入力される対象ブロックの参照フレーム番号を取得する(ステップS1201)。   First, the probability switching signal generator 314 passes the reference frame number corresponding to the motion vectors of the encoded blocks A, B, C, D, E, and F inputted via the line L312 and the line L316. The reference frame number of the target block input in step S1201 is acquired.

なおステップS1201で取得される動きベクトルは、対象ブロックを含むフレームと、対象ブロックの動きベクトルが参照するフレームとの時間的距離に基づいてスケーリングされることが好ましい。スケーリングの際には各ブロックの動きベクトルが参照するフレームの時刻を用いるため、各ブロックに対応する参照フレーム番号からその時刻を求める必要がある。   Note that the motion vector acquired in step S1201 is preferably scaled based on a temporal distance between a frame including the target block and a frame referred to by the motion vector of the target block. Since the time of the frame referred to by the motion vector of each block is used at the time of scaling, it is necessary to obtain the time from the reference frame number corresponding to each block.

スケーリングによって、対象ブロックを含むフレームの時刻t0から、対象ブロックの動きベクトルが参照するフレームの時刻teまでの時間的距離(t0-te)を基準にして、取得した符号化済みのブロックA、B、C、D、E、Fの動きベクトルの大きさを補正することができる。具体的に一例を挙げると、ブロックAの動きベクトルMViA(i=x,y)が参照するフレームの時刻をta、ブロックAを含むフレームの時刻をt1とすると、スケーリングされた動きベクトルMViA’(i=x,y)は、式(1)によって与えられるベクトルである。   Encoded blocks A and B obtained by scaling based on the time distance (t0-te) from the time t0 of the frame including the target block to the time te of the frame referred to by the motion vector of the target block , C, D, E, and F motion vector magnitudes can be corrected. As a specific example, if the time of the frame referred to by the motion vector MViA (i = x, y) of the block A is ta and the time of the frame including the block A is t1, the scaled motion vector MViA ′ ( i = x, y) is a vector given by equation (1).

なお、このスケーリング処理は必須ではなく、スケーリング処理を行わない場合は各ブロックに対応する参照フレーム番号は必要ない。   Note that this scaling processing is not essential, and reference frame numbers corresponding to the respective blocks are not required when the scaling processing is not performed.

また、ステップS1201において符号化済みのブロックそのもの、あるいは符号化済みのブロックの動きベクトルが存在しない場合、そのブロックは極めて大きい動きベクトルを持つとみなし、十分大きな値とした上で処理を進める。あるいは、処理対象から除く。   If the encoded block itself or the encoded block motion vector does not exist in step S1201, the block is regarded as having a very large motion vector, and the process proceeds with a sufficiently large value. Alternatively, it is excluded from the processing target.

続いて、ブロックBの動きベクトルとブロックEの動きベクトルの差分、ブロックCの動きベクトルとブロックFの動きベクトルの差分、ブロックDの動きベクトルとブロックEの動きベクトルの差分、ブロックDの動きベクトルとブロックFの動きベクトルの差分の4通りが算出される(ステップS1202)。   Subsequently, the difference between the motion vector of block B and the motion vector of block E, the difference of the motion vector of block C and the motion vector of block F, the difference of the motion vector of block D and the motion vector of block E, the motion vector of block D And four different motion vector differences of block F are calculated (step S1202).

次に、ステップS1202で算出された4通りの差分のうち、どの組み合わせの差分が最小のものであるかが判定される。(ステップS1203)。   Next, it is determined which combination of the four differences calculated in step S1202 has the smallest difference. (Step S1203).

ステップS1203での判定の結果、もっとも小さい差分を与える組み合わせがブロックBとブロックEである場合にはブロックHの動きベクトル予測値はブロックAの動きベクトルと同じ値に決定されることが尤もらしいことを示す信号Signal_i(i=x,y)=0を生成するとともに、その際の差分MViD(i=x,y)をブロックBとブロックEの動きベクトルの差分値とする。もっとも小さい差分を与える組み合わせがブロックCとブロックFである場合には、ブロックHの動きベクトル予測値はブロックAの動きベクトルと同じ値に決定されることが尤もらしいことを示す信号Signal_i=0(i=x,y)を生成するとともに、その際の差分MViD(i=x,y)をブロックCとブロックFの動きベクトルの差分値とする。もっとも小さい差分を与える組み合わせがブロックDとブロックEである場合には、ブロックHの動きベクトル予測値はブロックFの動きベクトルと同じ値に決定されることが尤もらしいことを示す信号Signal_i=1(i=x,y)を生成するとともに、その際の差分MViD(i=x,y)をブロックDとブロックEの動きベクトルの差分値とする。もっとも小さい差分を与える組み合わせがブロックDとブロックFである場合には、ブロックHの動きベクトル予測値はブロックEの動きベクトルと同じ値に決定されることが尤もらしいことを示す信号Signal_i=2(i=x,y)を生成するとともに、その際の動きベクトル差分値MViD(i=x,y)をブロックDとブロックFの動きベクトルの差分値とする。(ステップS1204)。   As a result of the determination in step S1203, when the combination that gives the smallest difference is block B and block E, it is likely that the motion vector prediction value of block H is determined to be the same value as the motion vector of block A. A signal Signal_i (i = x, y) = 0 indicating the difference between the motion vectors of the block B and the block E is used as a difference MViD (i = x, y) at that time. When the combination that gives the smallest difference is the block C and the block F, the signal Signal_i = 0 (which indicates that the motion vector prediction value of the block H is likely to be determined to be the same value as the motion vector of the block A. i = x, y) is generated, and the difference MViD (i = x, y) at that time is set as the difference value between the motion vectors of block C and block F. When the combination that gives the smallest difference is the block D and the block E, the signal Signal_i = 1 () indicating that the motion vector prediction value of the block H is likely to be determined to be the same value as the motion vector of the block F. i = x, y) is generated, and the difference MViD (i = x, y) at that time is set as the difference value between the motion vectors of block D and block E. When the combination that gives the smallest difference is the block D and the block F, the signal Signal_i = 2 () indicating that the motion vector prediction value of the block H is likely to be determined to be the same value as the motion vector of the block E. i = x, y) is generated, and the motion vector difference value MViD (i = x, y) at that time is set as the difference value between the motion vectors of block D and block F. (Step S1204).

最後に、ステップS1204で決定された信号値Signal_i(i=x,y)およびMViD(i=x,y)を出力し(ステップS1205)、処理を終了する。   Finally, the signal values Signal_i (i = x, y) and MViD (i = x, y) determined in step S1204 are output (step S1205), and the process ends.

なお、発生確率信号はSignal_i(i=x,y)のみでもよい。あるいはMViD(i=x,y)のみでもよい。   The occurrence probability signal may be only Signal_i (i = x, y). Alternatively, only MViD (i = x, y) may be used.

なお、図23のフローチャートに示される一連の処理はx成分、y成分に分けずにベクトルの差分(具体的にはベクトルノルムなど)を算出し、x成分、y成分に相当する確率切替信号を同時に決定してもよい。   Note that the series of processes shown in the flowchart of FIG. 23 calculates a vector difference (specifically, a vector norm) without dividing the x component and the y component into a probability switching signal corresponding to the x component and the y component. It may be determined at the same time.

このとき、エントロピー符号化器315では、あらかじめ複数所持してある動きベクトル差分値の発生確率分布のテーブルを、ラインL315を経由して入力される確率切替信号に基づいて切り替える。具体的にはSignal_i(i=x,y)によって動きベクトル予測値を引用する方向(x軸方向あるいはy軸方向あるいは時間方向)を予測し、MViD(i=x,y)によって動きベクトル差分値の発生確率を予測し、それらに応じた確率テーブルへの切り替えを行う。   At this time, the entropy encoder 315 switches a plurality of motion vector difference value occurrence probability distribution tables possessed in advance based on a probability switching signal input via the line L315. Specifically, the direction (x-axis direction, y-axis direction, or temporal direction) for quoting the motion vector prediction value is predicted by Signal_i (i = x, y), and the motion vector difference value is calculated by MViD (i = x, y). The occurrence probability is predicted, and the probability table is switched accordingly.

動き予測器312の動作が、前述の動き予測器112の図6と図7を用いて説明される動作をする場合、確率切替信号生成器の314の詳細な動作は図6の模式図と、図24のフローチャートに従うことが好ましい。図6の説明は前述の動き予測器112における説明と同じである。   When the operation of the motion predictor 312 performs the operation described with reference to FIGS. 6 and 7 of the motion predictor 112 described above, the detailed operation of the probability switching signal generator 314 is as shown in the schematic diagram of FIG. It is preferable to follow the flowchart of FIG. The description of FIG. 6 is the same as that in the motion predictor 112 described above.

このとき、確率切替信号は動きベクトル差分値の発生確率分布の尤もらしさを示すものであって、この信号に基づいて確率テーブルを切り替えてエントロピー符号化を行うことで、データの発生確率に応じた適切な符号量で動きベクトル差分値の符号化を行うことができる。   At this time, the probability switching signal indicates the likelihood of the occurrence probability distribution of the motion vector difference value. By switching the probability table based on this signal and performing entropy coding, the probability switching signal corresponds to the data occurrence probability. The motion vector difference value can be encoded with an appropriate code amount.

確率切替信号生成器314では、動きベクトルのx成分、y成分はそれぞれ独立に計算されるものとする。具体的にはまず動きベクトルのx成分の計算を行い、x成分に相当する確率切替信号を出力し、次にy成分の計算を行い、y成分に相当する確率切替信号の出力を行う。以下では必要に応じて、成分を示す添え字をiと記す(iはx又はyである)。   In the probability switching signal generator 314, the x component and y component of the motion vector are calculated independently. Specifically, the x component of the motion vector is first calculated, a probability switching signal corresponding to the x component is output, then the y component is calculated, and a probability switching signal corresponding to the y component is output. In the following, a subscript indicating a component is written as i (i is x or y) as necessary.

まず確率切替信号生成器314は、ラインL312を経由して入力される符号化済みのブロックA、B、C、D、E、F、Gの動きベクトルと対応する参照フレーム番号と、ラインL316を経由して入力される対象ブロックの参照フレーム番号を取得する(ステップS1301)。   First, the probability switching signal generator 314 sets the reference frame number corresponding to the motion vector of the encoded blocks A, B, C, D, E, F, and G input via the line L312 and the line L316. The reference frame number of the target block that is input via is acquired (step S1301).

なおステップS1301で取得される動きベクトルは、対象ブロックを含むフレームと、対象ブロックの動きベクトルが参照するフレームとの時間的距離に基づいてスケーリングされることが好ましい。スケーリングの際には各ブロックの動きベクトルが参照するフレームの時刻を用いるため、各ブロックに対応する参照フレーム番号からその時刻を求める必要がある。   Note that the motion vector acquired in step S1301 is preferably scaled based on a temporal distance between a frame including the target block and a frame referred to by the motion vector of the target block. Since the time of the frame referred to by the motion vector of each block is used at the time of scaling, it is necessary to obtain the time from the reference frame number corresponding to each block.

スケーリングによって、対象ブロックを含むフレームの時刻t0から、対象ブロックの動きベクトルが参照するフレームの時刻teまでの時間的距離(t0-te)を基準にして、取得した符号化済みのブロックA、B、C、D、E、F、Gの動きベクトルの大きさを補正することができる。具体的に一例を挙げると、ブロックAの動きベクトルMViA(i=x,y)が参照するフレームの時刻をta、ブロックAを含むフレームの時刻をt1とすると、スケーリングされた動きベクトルMViA’(i=x,y)は、式(1)によって与えられるベクトルである。   Encoded blocks A and B obtained by scaling based on the time distance (t0-te) from the time t0 of the frame including the target block to the time te of the frame referred to by the motion vector of the target block , C, D, E, F, and G motion vector magnitudes can be corrected. As a specific example, if the time of the frame referred to by the motion vector MViA (i = x, y) of the block A is ta and the time of the frame including the block A is t1, the scaled motion vector MViA ′ ( i = x, y) is a vector given by equation (1).

なお、このスケーリング処理は必須ではなく、スケーリング処理を行わない場合は各ブロックに対応する参照フレーム番号は必要ない。   Note that this scaling processing is not essential, and reference frame numbers corresponding to the respective blocks are not required when the scaling processing is not performed.

また、ステップS1301において符号化済みのブロックそのもの、あるいは符号化済みのブロックの動きベクトルが存在しない場合、そのブロックは極めて大きい動きベクトルを持つとみなし、十分大きな値とした上で処理を進める。あるいは、処理対象から除く。   If the encoded block itself or the encoded block motion vector does not exist in step S1301, the block is regarded as having a very large motion vector, and the process proceeds with a sufficiently large value. Alternatively, it is excluded from the processing target.

続いて、ブロックBの動きベクトルとブロックFの動きベクトルの差分、ブロックCの動きベクトルとブロックGの動きベクトルの差分、ブロックAの動きベクトルとブロックDの動きベクトルの差分、ブロックEの動きベクトルとブロックFの動きベクトルの差分、ブロックEの動きベクトルとブロックGの動きベクトルの差分の5通りが算出される(ステップS1302)。   Subsequently, the difference between the motion vector of block B and the motion vector of block F, the difference of the motion vector of block C and the motion vector of block G, the difference of the motion vector of block A and the motion vector of block D, the motion vector of block E And the difference between the motion vector of block F and the difference between the motion vector of block E and the motion vector of block G are calculated (step S1302).

次に、ステップS1302で算出された5通りの差分のうち、どの組み合わせの差分が最小のものであるかが判定される。(ステップS1303)。   Next, it is determined which combination of the five differences calculated in step S1302 has the smallest difference. (Step S1303).

ステップS1303での判定の結果、もっとも小さい差分を与える組み合わせがブロックBとブロックFである場合にはブロックHの動きベクトル予測値はブロックBの動きベクトルと同じ値に決定されることが尤もらしいことを示す信号Signal_i=0(i=x,y)を生成するとともに、その際の差分MViD(i=x,y)をブロックBとブロックFの動きベクトルの差分値とする。もっとも小さい差分を与える組み合わせがブロックCとブロックGである場合には、ブロックHの動きベクトル予測値はブロックCの動きベクトルと同じ値に決定されることが尤もらしいことを示す信号Signal_i=1(i=x,y)を生成するとともに、その際の差分MViD(i=x,y)をブロックCとブロックGの動きベクトルの差分値とする。もっとも小さい差分を与える組み合わせがブロックAとブロックDである場合には、ブロックHの動きベクトル予測値はブロックDの動きベクトルと同じ値に決定されることが尤もらしいことを示す信号Signal_i=2(i=x,y)を生成するとともに、その際の差分MViD(i=x,y)をブロックAとブロックDの動きベクトルの差分値とする。もっとも小さい差分を与える組み合わせがブロックEとブロックFである場合には、ブロックHの動きベクトル予測値はブロックGの動きベクトルと同じ値に決定されることが尤もらしいことを示す信号Signal_i=3(i=x,y)を生成するとともに、その際の差分MViD(i=x,y)をブロックEとブロックFの動きベクトルの差分値とする。もっとも小さい差分を与える組み合わせがブロックEとブロックGである場合には、ブロックHの動きベクトル予測値はブロックFの動きベクトルと同じ値に決定されることが尤もらしいことを示す信号Signal_i=4(i=x,y)を生成するとともに、その際の動きベクトル差分値MViD(i=x,y)をブロックEとブロックGの動きベクトルの差分値とする。(ステップS1304)。   As a result of the determination in step S1303, if the combination that gives the smallest difference is block B and block F, it is likely that the motion vector prediction value of block H is determined to be the same value as the motion vector of block B. A signal Signal_i = 0 (i = x, y) is generated, and the difference MViD (i = x, y) at that time is set as a difference value between the motion vectors of the block B and the block F. When the combination that gives the smallest difference is the block C and the block G, the signal Signal_i = 1 () indicating that it is likely that the motion vector prediction value of the block H is determined to be the same value as the motion vector of the block C. i = x, y) is generated, and the difference MViD (i = x, y) at that time is set as the difference value between the motion vectors of block C and block G. When the combination that gives the smallest difference is the block A and the block D, the signal Signal_i = 2 () indicating that it is likely that the motion vector prediction value of the block H is determined to be the same value as the motion vector of the block D. i = x, y) is generated, and the difference MViD (i = x, y) at that time is set as the difference value between the motion vectors of block A and block D. When the combination that gives the smallest difference is the block E and the block F, the signal Signal_i = 3 () indicating that it is likely that the motion vector prediction value of the block H is determined to be the same value as the motion vector of the block G. i = x, y) is generated, and the difference MViD (i = x, y) at that time is set as the difference value between the motion vectors of block E and block F. When the combination that gives the smallest difference is the block E and the block G, the signal Signal_i = 4 () indicating that it is likely that the motion vector prediction value of the block H is determined to be the same value as the motion vector of the block F. i = x, y) is generated, and the motion vector difference value MViD (i = x, y) at that time is used as the difference value between the motion vectors of block E and block G. (Step S1304).

最後に、ステップS1304で決定された信号値Signal_i(i=x,y)およびMViD(i=x,y)を出力し(ステップS705)、処理を終了する。   Finally, the signal values Signal_i (i = x, y) and MViD (i = x, y) determined in step S1304 are output (step S705), and the process ends.

なお、発生確率信号はSignal_i(i=x,y)のみでもよい。また、MViD(i=x,y)のみでもよい。   The occurrence probability signal may be only Signal_i (i = x, y). Further, only MViD (i = x, y) may be used.

なお、図24のフローチャートに示される一連の処理はx成分、y成分に分けずにベクトルの差分(具体的にはベクトルノルムなど)を算出し、x成分、y成分に相当する確率切替信号を同時に決定してもよい。   The series of processes shown in the flowchart of FIG. 24 calculates a vector difference (specifically, a vector norm) without dividing the x component and the y component, and generates a probability switching signal corresponding to the x component and the y component. It may be determined at the same time.

また、ステップS1302において算出する差分は、ブロックBの動きベクトルとブロックFの動きベクトルの差分、ブロックCの動きベクトルとブロックGの動きベクトルの差分、ブロックAの動きベクトルとブロックDの動きベクトルの差分の3通りでもよい。その際もステップS1303で最小となる組み合わせが判定され、ステップS1304では、もっとも小さい差分を与える組み合わせがブロックBとブロックFである場合にはブロックHの動きベクトル予測値はブロックBの動きベクトルと同じ値に決定されることが尤もらしいことを示す信号Signal_i=0(i=x,y)を生成するとともに、その際の差分MViD(i=x,y)をブロックBとブロックFの動きベクトルの差分値とする。もっとも小さい差分を与える組み合わせがブロックCとブロックGである場合には、ブロックHの動きベクトル予測値はブロックCの動きベクトルと同じ値に決定されることが尤もらしいことを示す信号Signal_i=1(i=x,y)を生成するとともに、その際の差分MViD(i=x,y)をブロックCとブロックGの動きベクトルの差分値とする。もっとも小さい差分を与える組み合わせがブロックAとブロックDである場合には、ブロックHの動きベクトル予測値はブロックDの動きベクトルと同じ値に決定されることが尤もらしいことを示す信号Signal_i=2(i=x,y)を生成するとともに、その際の差分MViD(i=x,y)をブロックAとブロックDの動きベクトルの差分値とする。   Also, the difference calculated in step S1302 is the difference between the motion vector of block B and the motion vector of block F, the difference between the motion vector of block C and the motion vector of block G, the motion vector of block A and the motion vector of block D. Three types of differences may be used. At that time, the smallest combination is determined in step S1303. In step S1304, when the combination that gives the smallest difference is block B and block F, the motion vector prediction value of block H is the same as the motion vector of block B. A signal Signal_i = 0 (i = x, y) indicating that it is plausible to be determined as a value is generated, and the difference MViD (i = x, y) at that time is calculated as the motion vector of the block B and the block F. The difference value. When the combination that gives the smallest difference is the block C and the block G, the signal Signal_i = 1 () indicating that it is likely that the motion vector prediction value of the block H is determined to be the same value as the motion vector of the block C. i = x, y) is generated, and the difference MViD (i = x, y) at that time is set as the difference value between the motion vectors of block C and block G. When the combination that gives the smallest difference is the block A and the block D, the signal Signal_i = 2 () indicating that it is likely that the motion vector prediction value of the block H is determined to be the same value as the motion vector of the block D. i = x, y) is generated, and the difference MViD (i = x, y) at that time is set as the difference value between the motion vectors of block A and block D.

また、ステップS1302において算出する差分は、ブロックBの動きベクトルとブロックFの動きベクトルの差分、ブロックCの動きベクトルとブロックGの動きベクトルの差分の2通りでもよい。その際もステップS1303で最小となる組み合わせが判定され、ステップS1304では、もっとも小さい差分を与える組み合わせがブロックBとブロックFである場合にはブロックHの動きベクトル予測値はブロックBの動きベクトルと同じ値に決定されることが尤もらしいことを示す信号Signal_i=0(i=x,y)を生成するとともに、その際の差分MViD(i=x,y)をブロックBとブロックFの動きベクトルの差分値とする。もっとも小さい差分を与える組み合わせがブロックCとブロックGである場合には、ブロックHの動きベクトル予測値はブロックCの動きベクトルと同じ値に決定されることが尤もらしいことを示す信号Signal_i=1(i=x,y)を生成するとともに、その際の差分MViD(i=x,y)をブロックCとブロックGの動きベクトルの差分値とする。   Further, the difference calculated in step S1302 may be two types, that is, the difference between the motion vector of block B and the motion vector of block F, and the difference between the motion vector of block C and the motion vector of block G. At that time, the smallest combination is determined in step S1303. In step S1304, when the combination that gives the smallest difference is block B and block F, the motion vector prediction value of block H is the same as the motion vector of block B. A signal Signal_i = 0 (i = x, y) indicating that it is plausible to be determined as a value is generated, and the difference MViD (i = x, y) at that time is calculated as the motion vector of the block B and the block F. The difference value. When the combination that gives the smallest difference is the block C and the block G, the signal Signal_i = 1 () indicating that it is likely that the motion vector prediction value of the block H is determined to be the same value as the motion vector of the block C. i = x, y) is generated, and the difference MViD (i = x, y) at that time is set as the difference value between the motion vectors of block C and block G.

なお、図24のフローチャートに示される一連の処理はx成分、y成分に分けずにベクトルの差分(具体的にはベクトルノルムなど)を算出し、x成分、y成分に相当する確率切替信号を同時に決定してもよい。   The series of processes shown in the flowchart of FIG. 24 calculates a vector difference (specifically, a vector norm) without dividing the x component and the y component, and generates a probability switching signal corresponding to the x component and the y component. It may be determined at the same time.

このとき、エントロピー符号化器315では、あらかじめ複数所持してある動きベクトル差分値の発生確率分布のテーブルを、ラインL315を経由して入力される確率切替信号に基づいて切り替える。具体的にはSignal_i(i=x,y)によって動きベクトル予測値を引用する方向(x軸方向あるいはy軸方向あるいは時間方向)を予測し、MViD(i=x,y)によって動きベクトル差分値の発生確率を予測し、それらに応じた確率テーブルへの切り替えを行う。   At this time, the entropy encoder 315 switches a plurality of motion vector difference value occurrence probability distribution tables possessed in advance based on a probability switching signal input via the line L315. Specifically, the direction (x-axis direction, y-axis direction, or temporal direction) for quoting the motion vector prediction value is predicted by Signal_i (i = x, y), and the motion vector difference value is calculated by MViD (i = x, y). The occurrence probability is predicted, and the probability table is switched accordingly.

動き予測器312の動作が、前述の動き予測器112の図8と図9を用いて説明される動作と同じ場合、確率切替信号生成器の314の詳細な動作は図8の模式図と、図25のフローチャートに従うことが好ましい。図8の説明は前述の動き予測器112における説明と同じである。   When the operation of the motion predictor 312 is the same as the operation described above with reference to FIGS. 8 and 9 of the motion predictor 112, the detailed operation of the probability switching signal generator 314 is as shown in the schematic diagram of FIG. It is preferable to follow the flowchart of FIG. The description of FIG. 8 is the same as that in the motion predictor 112 described above.

このとき、確率切替信号は動きベクトル差分値の発生確率分布の尤もらしさを示すものであって、この信号に基づいて確率テーブルを切り替えてエントロピー符号化を行うことで、データの発生確率に応じた適切な符号量で動きベクトル差分値の符号化を行うことができる。   At this time, the probability switching signal indicates the likelihood of the occurrence probability distribution of the motion vector difference value. By switching the probability table based on this signal and performing entropy coding, the probability switching signal corresponds to the data occurrence probability. The motion vector difference value can be encoded with an appropriate code amount.

確率切替信号生成器314では、動きベクトルのx成分、y成分はそれぞれ独立に計算されるものとする。具体的にはまず動きベクトルのx成分の計算を行い、x成分に相当する確率切替信号を出力し、次にy成分の計算を行い、y成分に相当する確率切替信号の出力を行う。以下では必要に応じて、成分を示す添え字をiと記す(iはx又はyである)。   In the probability switching signal generator 314, the x component and y component of the motion vector are calculated independently. Specifically, the x component of the motion vector is first calculated, a probability switching signal corresponding to the x component is output, then the y component is calculated, and a probability switching signal corresponding to the y component is output. In the following, a subscript indicating a component is written as i (i is x or y) as necessary.

まず確率切替信号生成器314は、ラインL312を経由して入力される符号化済みのブロックA、B、C、D、E、F、G、H、Iの動きベクトルと対応する参照フレーム番号と、ラインL316を経由して入力される対象ブロックの参照フレーム番号を取得する(ステップS1401)。   First, the probability switching signal generator 314 includes reference frame numbers corresponding to the motion vectors of the encoded blocks A, B, C, D, E, F, G, H, and I that are input via the line L312. The reference frame number of the target block input via the line L316 is acquired (step S1401).

なおステップS201で取得される動きベクトルは、対象ブロックを含むフレームと、対象ブロックの動きベクトルが参照するフレームとの時間的距離に基づいてスケーリングされることが好ましい。スケーリングの際には各ブロックの動きベクトルが参照するフレームの時刻を用いるため、各ブロックに対応する参照フレーム番号からその時刻を求める必要がある。   Note that the motion vector acquired in step S201 is preferably scaled based on the temporal distance between the frame including the target block and the frame referred to by the motion vector of the target block. Since the time of the frame referred to by the motion vector of each block is used at the time of scaling, it is necessary to obtain the time from the reference frame number corresponding to each block.

スケーリングによって、対象ブロックを含むフレームの時刻t0から、対象ブロックの動きベクトルが参照するフレームの時刻teまでの時間的距離(t0-te)を基準にして、取得した符号化済みのブロックA、B、C、D、E、F、G、H、Iの動きベクトルの大きさを補正することができる。具体的に一例を挙げると、ブロックAの動きベクトルMViA(i=x,y)が参照するフレームの時刻をta、ブロックAを含むフレームの時刻をt1とすると、スケーリングされた動きベクトルMViA’(i=x,y)は、式(1)によって与えられるベクトルである。   Encoded blocks A and B obtained by scaling based on the time distance (t0-te) from the time t0 of the frame including the target block to the time te of the frame referred to by the motion vector of the target block , C, D, E, F, G, H, and I can correct the magnitude of the motion vector. As a specific example, if the time of the frame referred to by the motion vector MViA (i = x, y) of the block A is ta and the time of the frame including the block A is t1, the scaled motion vector MViA ′ ( i = x, y) is a vector given by equation (1).

なお、このスケーリング処理は必須ではなく、スケーリング処理を行わない場合は各ブロックに対応する参照フレーム番号は必要ない。   Note that this scaling processing is not essential, and reference frame numbers corresponding to the respective blocks are not required when the scaling processing is not performed.

また、ステップS1401において符号化済みのブロックそのもの、あるいは符号化済みのブロックの動きベクトルが存在しない場合、そのブロックは極めて大きい動きベクトルを持つとみなし、十分大きな値とした上で処理を進める。あるいは、処理対象から除く。   If the encoded block itself or the motion vector of the encoded block does not exist in step S1401, the block is regarded as having a very large motion vector, and the process proceeds with a sufficiently large value. Alternatively, it is excluded from the processing target.

続いて、ブロックAの動きベクトルとブロックBの動きベクトルとブロックCの動きベクトルの分散、ブロックDの動きベクトルとブロックEの動きベクトルとブロックFの動きベクトルの分散、ブロックGの動きベクトルとブロックHの動きベクトルとブロックIの動きベクトルの分散、の3組の分散をそれぞれ算出する。(ステップS1402)
次に、ステップS1402で算出された3通りの分散のうち、どの組み合わせの分散が最小のものであるかが判定される。(ステップS1403)。
Subsequently, variance of motion vector of block A, motion vector of block B and motion vector of block C, variance of motion vector of block D, motion vector of block E and motion vector of block F, motion vector of block G and block Three sets of variances of H motion vector and block I motion vector variance are calculated. (Step S1402)
Next, it is determined which combination of the three variances calculated in step S1402 has the smallest variance. (Step S1403).

ステップS1403での判定の結果、もっとも小さい差分を与える組み合わせがブロックAとブロックBとブロックCである場合には、ブロックJの動きベクトル予測値はブロックAの動きベクトルとブロックBの動きベクトルとブロックCの動きベクトルの平均値に決定されることが尤もらしいことを示す信号Signal_i=0(i=x,y)を生成するとともに、その際の分散MVi_var(i=x,y)をブロックAとブロックBとブロックCの動きベクトルの分散とする。もっとも小さい差分を与える組み合わせがブロックDとブロックEとブロックFである場合には、ブロックJの動きベクトル予測値はブロックDの動きベクトルとブロックEの動きベクトルとブロックFの動きベクトルの平均値に決定されることが尤もらしいことを示す信号Signal_i=1(i=x,y)を生成するとともに、その際の分散MVi_var(i=x,y)をブロックDとブロックEとブロックFの動きベクトルの分散とする。もっとも小さい差分を与える組み合わせがブロックGとブロックHとブロックIである場合には、ブロックJの動きベクトル予測値はブロックGの動きベクトルとブロックHの動きベクトルとブロックIの動きベクトルの平均値に決定されることが尤もらしいことを示す信号Signal_i=2(i=x,y)を生成するとともに、その際の分散MVi_var(i=x,y)をブロックGとブロックHとブロックIの動きベクトルの分散とする。(ステップS1404)。   As a result of the determination in step S1403, when the combination that gives the smallest difference is block A, block B, and block C, the motion vector prediction value of block J is the motion vector of block A, the motion vector of block B, and the block A signal Signal_i = 0 (i = x, y) indicating that it is likely that the average value of the motion vector of C is determined is generated, and the variance MVi_var (i = x, y) at that time is generated as a block A It is assumed that the motion vectors of block B and block C are distributed. When the combination that gives the smallest difference is block D, block E, and block F, the motion vector prediction value of block J is the average of the motion vector of block D, the motion vector of block E, and the motion vector of block F. A signal Signal_i = 1 (i = x, y) indicating that it is likely to be determined is generated, and a distribution MVi_var (i = x, y) at that time is used as a motion vector of the block D, the block E, and the block F. Of variance. When the combination that gives the smallest difference is block G, block H, and block I, the motion vector prediction value of block J is the average value of the motion vector of block G, the motion vector of block H, and the motion vector of block I. A signal Signal_i = 2 (i = x, y) indicating that it is likely to be determined is generated, and a distribution MVi_var (i = x, y) at that time is used as a motion vector of the block G, the block H, and the block I Of variance. (Step S1404).

最後に、ステップS1404で決定された信号値Signal_i(i=x,y)およびMVi_var(i=x,y)を出力し(ステップS1405)、処理を終了する。   Finally, the signal values Signal_i (i = x, y) and MVi_var (i = x, y) determined in step S1404 are output (step S1405), and the process ends.

なお、発生確率信号はSignal_i(i=x,y)のみでもよい。また、MVi_var(i=x,y)のみでもよい。   The occurrence probability signal may be only Signal_i (i = x, y). Further, only MVi_var (i = x, y) may be used.

なお、図25のフローチャートに示される一連の処理はx成分、y成分に分けずにベクトルの差分(具体的にはベクトルノルムなど)を算出し、x成分、y成分に相当する確率切替信号を同時に決定してもよい。   The series of processes shown in the flowchart of FIG. 25 calculates a vector difference (specifically, a vector norm) without dividing the x component and the y component into a probability switching signal corresponding to the x component and the y component. It may be determined at the same time.

また、ステップS1402において動きベクトルの類似性をあらわす値として分散を用いたが、各ブロック間の動きベクトルの差分値や、それら複数の差分値の平均を用いてもよい。   In addition, although variance is used as a value representing the similarity of motion vectors in step S1402, a motion vector difference value between blocks or an average of the plurality of difference values may be used.

ステップS1404において、3つの動きベクトルの平均値を動きベクトルの予測値とすることが尤もらしいことを示す信号を生成したが、3つの動きベクトルの中間値、あるいはいずれかひとつの値を予測値とすることが尤もらしいことを示していてもよい。   In step S1404, a signal indicating that it is likely that the average value of the three motion vectors is used as the predicted value of the motion vector is generated. The intermediate value of any one of the three motion vectors or any one of the values is used as the predicted value. It may indicate that it is plausible to do.

図25では時間方向、空間方向にそれぞれ連続する3ブロックの動きベクトルを参照して確率切替信号の決定を行ったが、これは空間方向のみでもよい。またそれぞれの方向に2ブロックのみ、あるいは4ブロック以上のブロックを用いてもよい。   In FIG. 25, the probability switching signal is determined by referring to the motion vectors of three blocks that are continuous in the time direction and the spatial direction, but this may be only in the spatial direction. Further, only two blocks or four or more blocks may be used in each direction.

このとき、エントロピー符号化器315では、あらかじめ複数所持してある動きベクトル差分値の発生確率分布のテーブルを、ラインL315を経由して入力される確率切替信号に基づいて切り替える。具体的にはSignal_i(i=x,y)によって動きベクトル予測値を引用する方向(x軸方向あるいはy軸方向あるいは時間方向)を予測し、MViD_var(i=x,y)によって動きベクトル差分値の発生確率を予測し、それらに応じた確率テーブルへの切り替えを行う。   At this time, the entropy encoder 315 switches a plurality of motion vector difference value occurrence probability distribution tables possessed in advance based on a probability switching signal input via the line L315. Specifically, the direction (x-axis direction, y-axis direction, or temporal direction) for quoting the motion vector prediction value is predicted by Signal_i (i = x, y), and the motion vector difference value is calculated by MViD_var (i = x, y). The occurrence probability is predicted, and the probability table is switched accordingly.

最後に、コンピュータを動画像符号化装置30として動作させる動画像符号化プログラムについて説明する。図53は、本実施形態に係る動画像符号化プログラムP30の構成を示し、この動画像符号化プログラムP30は、記録媒体に格納されて提供される。記録媒体としては、フレキシブルディスク、CD−ROM、DVD、ROM等の記録媒体あるいは半導体メモリ等が例示される。なお、記録媒体に記憶されたプログラムを実行するためのコンピュータの構成は、既に説明した図63、図64の構成と同様であるため、重複した説明は省略する。   Finally, a moving picture coding program that causes a computer to operate as the moving picture coding apparatus 30 will be described. FIG. 53 shows a configuration of a moving image encoding program P30 according to the present embodiment, and the moving image encoding program P30 is provided by being stored in a recording medium. Examples of the recording medium include a recording medium such as a flexible disk, a CD-ROM, a DVD, and a ROM, or a semiconductor memory. Note that the configuration of the computer for executing the program stored in the recording medium is the same as the configuration of FIGS. 63 and 64 already described, and therefore, a duplicate description is omitted.

図53に示すように、動画像符号化プログラムP30は、処理を統括するメインモジュールP301と、ブロック分割モジュールP302と、変換モジュールP303と、量子化モジュールP304と、逆量子化モジュールP305と、逆変換モジュールP306と、記憶モジュールP307と、予測信号生成モジュールP308と、動き予測モジュールP309と、動き検出モジュールP310と、加算モジュールP311と、減算モジュールP312と、確率切替信号生成モジュールP313と、エントロピー符号化モジュールP314とを備えている。   As shown in FIG. 53, the moving image encoding program P30 includes a main module P301 that controls processing, a block division module P302, a transform module P303, a quantization module P304, an inverse quantization module P305, and an inverse transform. Module P306, storage module P307, prediction signal generation module P308, motion prediction module P309, motion detection module P310, addition module P311, subtraction module P312, probability switching signal generation module P313, and entropy encoding module P314.

ブロック分割モジュールP302、変換モジュールP303、量子化モジュールP304、逆量子化モジュールP305、逆変換モジュールP306、予測信号生成モジュールP308、動き予測モジュールP309、動き検出モジュールP310、加算モジュールP311、確率切替信号生成モジュールP313、エントロピー符号化モジュールP314がコンピュータに実現させる機能は、それぞれ図22のブロック分割器301、変換器307、量子化器308、逆量子化器309、逆変換器310、予測信号生成器304、動き予測器312、動き検出器303、加算器311、確率切替信号生成器314、エントロピー符号化器315の機能と同様である。記憶モジュールP307がコンピュータに実現させる機能は、フレームメモリ302及び動きベクトルメモリ305の機能と同様である。また、減算モジュールP312がコンピュータに実現させる機能は、減算器306、313の機能と同様である。   Block division module P302, transform module P303, quantization module P304, inverse quantization module P305, inverse transform module P306, prediction signal generation module P308, motion prediction module P309, motion detection module P310, addition module P311, probability switching signal generation module P313 and the function that the entropy encoding module P314 realizes in the computer are the block divider 301, the converter 307, the quantizer 308, the inverse quantizer 309, the inverse transformer 310, the prediction signal generator 304, The functions of the motion predictor 312, motion detector 303, adder 311, probability switching signal generator 314, and entropy encoder 315 are the same. The functions that the storage module P307 implements in the computer are the same as the functions of the frame memory 302 and the motion vector memory 305. The function that the subtraction module P312 realizes in the computer is the same as the function of the subtractors 306 and 313.

[第4実施形態]
図26を用いて、本発明に係る動画像復号化装置40について説明する。
[Fourth Embodiment]
A moving picture decoding apparatus 40 according to the present invention will be described with reference to FIG.

動画像復号化装置40は、機能的な構成要素として、図19に示すように、データ解析器401と、逆量子化器402と、逆変換器403と、フレームメモリ404と、動きベクトルメモリ405と、動き予測器406と、加算器407と、予測信号生成器408と、加算器409とを備えて構成される。   As shown in FIG. 19, the moving picture decoding apparatus 40 includes a data analyzer 401, an inverse quantizer 402, an inverse transformer 403, a frame memory 404, and a motion vector memory 405 as functional components. A motion predictor 406, an adder 407, a prediction signal generator 408, and an adder 409.

動画像復号化装置40には、上述した動画像符号化装置によって符号化された圧縮ストリームを入力する。この圧縮ストリームには、復号化対象となるブロックの原信号と予測信号の差分を表す残差信号と、復号化対象となるブロックの予測信号の生成に関する情報が含まれている。   The moving picture decoding apparatus 40 receives the compressed stream encoded by the above-described moving picture encoding apparatus. This compressed stream includes a residual signal that represents the difference between the original signal of the block to be decoded and the prediction signal, and information related to the generation of the prediction signal of the block to be decoded.

データ解析器401は、ラインL401を経由して入力された圧縮ストリームを解析することにより、直行変換および量子化された復号化の対象となるブロック(以下、対象ブロック)の残差信号を抽出しラインL402を経由して出力する。また、対象ブロックの動きベクトルとその予測値の差分である動きベクトル差分値を抽出し、ラインL403を経由して出力する、また対象ブロックの参照フレーム番号を抽出し、ラインL404を経由して出力する。   The data analyzer 401 analyzes the compressed stream input via the line L401, thereby extracting a residual signal of a block (hereinafter referred to as a target block) to be subjected to orthogonal transform and quantization. Output via line L402. Also, a motion vector difference value, which is the difference between the motion vector of the target block and its predicted value, is extracted and output via line L403, and the reference frame number of the target block is extracted and output via line L404. To do.

逆量子化器402は、ラインL402を経由して入力された量子化された変換係数を逆量子化し、ラインL405を経由して復元された変換係数を出力する。   The inverse quantizer 402 inverse quantizes the quantized transform coefficient input via the line L402 and outputs the restored transform coefficient via the line L405.

逆変換器403は、ラインL405を経由して入力された変換係数を逆直交変換し、ラインL406を経由して復元された残差信号を出力する。   The inverse transformer 403 performs inverse orthogonal transform on the transform coefficient input via the line L405, and outputs the restored residual signal via the line L406.

フレームメモリ404は、ラインL407を経由して入力される過去に復号化済みのフレーム画像信号(以下、参照フレーム画像信号)を格納し、必要に応じてラインL408を経由して出力する。   The frame memory 404 stores a previously decoded frame image signal (hereinafter referred to as a reference frame image signal) input via the line L407 and outputs it via the line L408 as necessary.

動きベクトルメモリ405は、過去に復号化済みの動きベクトルとそれに対応した参照フレーム番号と併せて、ラインL409を経由して入力される対象ブロックの動きベクトルとラインL404を経由して入力される対象ブロックの参照フレーム番号を格納し、必要に応じてラインL410を経由して出力する。   The motion vector memory 405 includes the motion vector of the target block input via the line L409 and the target input via the line L404 together with the previously decoded motion vector and the corresponding reference frame number. The reference frame number of the block is stored and output via the line L410 as necessary.

動き予測器406は、ラインL410を経由して入力される過去に復号化済みのブロックの動きベクトルから、後述のフローに従って対象ブロックの動きベクトル予測値を算出し、ラインL411を経由して出力する。   The motion predictor 406 calculates the motion vector prediction value of the target block from the motion vector of the previously decoded block input via the line L410 according to the flow to be described later, and outputs it via the line L411. .

加算器407は、ラインL411を経由して入力された動きベクトル予測値と、ラインL403を経由して入力された動きベクトル差分値を加算し、対象ブロックの動きベクトルを復元し、ラインL409を経由して出力する。   The adder 407 adds the motion vector prediction value input via the line L411 and the motion vector difference value input via the line L403, restores the motion vector of the target block, and passes the line L409. And output.

予測信号生成器408は、ラインL409を経由して入力される対象ブロックの動きベクトル信号値と、ラインL404を経由して入力される対象ブロックの参照フレーム番号と、ラインL408を経由して入力される参照フレーム画像信号から、対象ブロックに対する予測画像信号を生成し、ラインL412を経由して出力する。   The prediction signal generator 408 receives the motion vector signal value of the target block input via the line L409, the reference frame number of the target block input via the line L404, and the line L408. From the reference frame image signal, a predicted image signal for the target block is generated and output via the line L412.

加算器409は、ラインL406を経由して入力された残差信号と、ラインL412を経由して入力された対象ブロックに対する予測画像信号を加算し、対象ブロックの画像信号を復元し、ラインL407を経由して出力する。   The adder 409 adds the residual signal input via the line L406 and the prediction image signal for the target block input via the line L412, restores the image signal of the target block, and sets the line L407 Output via.

次に、図27を参照して動き予測器406について詳細に説明する。図27は、動き予測器406における動きベクトル予測値を決定する手順を説明するための模式図である。   Next, the motion predictor 406 will be described in detail with reference to FIG. FIG. 27 is a schematic diagram for explaining a procedure for determining a motion vector prediction value in the motion predictor 406.

図27で、対象ブロックをHとし、フレームF701はブロックHを含むフレームである。フレームF702は既に復号化済みのフレームで、フレームF701とは時間方向で隣り合うフレームである。   In FIG. 27, the target block is H, and the frame F701 is a frame including the block H. A frame F702 is a frame that has already been decoded, and is adjacent to the frame F701 in the time direction.

フレームF701において、ブロックDをブロックHの最も左上の画素の真左上の画素を含むブロック、ブロックEをブロックHの最も左上の画素の真上の画素を含むブロック、ブロックFをブロックHの最も左上の画素の真左の画素を含むブロックとする。   In frame F701, block D is a block including the pixel immediately above the upper leftmost pixel of block H, block E is a block including the pixel immediately above the uppermost left pixel of block H, and block F is the uppermost leftmost of block H. A block including a pixel immediately to the left of the pixel.

フレームF702において、ブロックAはブロックHの最も左上の画素と同じ空間位置の画素を含むブロックとする。ブロックBをブロックAの最も左上の画素の真上の画素を含むブロック、ブロックCをブロックAの最も左上の画素の真左の画素を含むブロックとする。   In the frame F702, the block A is a block including a pixel at the same spatial position as the upper left pixel of the block H. Block B is a block including a pixel immediately above the upper leftmost pixel of block A, and block C is a block including a pixel immediately left of the uppermost left pixel of block A.

図28は、動き予測器406における動きベクトル予測値を決定する手順を説明するためのフローチャートである。   FIG. 28 is a flowchart for explaining a procedure for determining a motion vector prediction value in the motion predictor 406.

まず動き予測器406は、ラインL410を経由して入力される復号化済みのブロックA、B、C、E、Fの動きベクトルと対応する参照フレーム番号を取得する(ステップS1501)。   First, the motion predictor 406 acquires reference frame numbers corresponding to the motion vectors of decoded blocks A, B, C, E, and F input via the line L410 (step S1501).

なおステップS1501で取得される動きベクトルは、対象ブロックを含むフレームと、対象ブロックの動きベクトルが参照するフレームとの時間的距離に基づいてスケーリングされることが好ましい。スケーリングの際には各ブロックの動きベクトルが参照するフレームの時刻を用いるため、各ブロックに対応する参照フレーム番号からその時刻を求める必要がある。   Note that the motion vector acquired in step S1501 is preferably scaled based on a temporal distance between a frame including the target block and a frame referred to by the motion vector of the target block. Since the time of the frame referred to by the motion vector of each block is used at the time of scaling, it is necessary to obtain the time from the reference frame number corresponding to each block.

スケーリングによって、対象ブロックを含むフレームの時刻t0から、対象ブロックの動きベクトルが参照するフレームの時刻teまでの時間的距離(t0-te)を基準にして、取得した復号化済みのブロックA、B、C、E、Fの動きベクトルの大きさを補正することができる。具体的に一例を挙げると、ブロックAの動きベクトルMViA(i=x,y)が参照するフレームの時刻をta、ブロックAを含むフレームの時刻をt1とすると、スケーリングされた動きベクトルMViA’(i=x,y)は、式(1)によって与えられるベクトルである。   The obtained decoded blocks A and B based on the temporal distance (t0-te) from the time t0 of the frame including the target block to the time te of the frame referred to by the motion vector of the target block by scaling. , C, E, and F motion vectors can be corrected. As a specific example, if the time of the frame referred to by the motion vector MViA (i = x, y) of the block A is ta and the time of the frame including the block A is t1, the scaled motion vector MViA ′ ( i = x, y) is a vector given by equation (1).

なお、このスケーリング処理は必須ではなく、スケーリング処理を行わない場合は各ブロックに対応する参照フレーム番号は必要ない。   Note that this scaling processing is not essential, and reference frame numbers corresponding to the respective blocks are not required when the scaling processing is not performed.

また、ステップS1501において復号化済みのブロックそのもの、あるいは復号化済みのブロックの動きベクトルが存在しない場合、そのブロックは極めて大きい動きベクトルを持つとみなし、十分大きな値とした上で処理を進める。あるいは、処理対象から除く。   If the decoded block itself or the motion vector of the decoded block does not exist in step S1501, it is assumed that the block has a very large motion vector, and the process proceeds with a sufficiently large value. Alternatively, it is excluded from the processing target.

続いて、ブロックBの動きベクトルとブロックEの動きベクトルの差分、ブロックCの動きベクトルとブロックFの動きベクトルの差分が算出される(ステップS1502)。   Subsequently, the difference between the motion vector of block B and the motion vector of block E, and the difference of the motion vector of block C and the motion vector of block F are calculated (step S1502).

次に、ステップS1502で算出された2通りの差分のうち、少なくとも1つが閾値以下かどうかが判定される(ステップS1503)。   Next, it is determined whether at least one of the two differences calculated in step S1502 is equal to or less than a threshold value (step S1503).

ステップS1503での判定の結果、2通りの差分のうち、少なくとも1つが閾値以下ならば(ステップS1503:YES)処理をステップS1504に進める。2通りの差分がともに閾値より大きいならば(ステップS1503:NO)処理をステップS1505に進める。   If it is determined in step S1503 that at least one of the two differences is equal to or less than the threshold (step S1503: YES), the process proceeds to step S1504. If the two differences are both greater than the threshold (step S1503: NO), the process proceeds to step S1505.

ステップS1504では、ブロックHの動きベクトル予測値はブロックAの動きベクトルと同じ値に決定される。   In step S1504, the motion vector prediction value of block H is determined to be the same value as the motion vector of block A.

ステップS1505では、ブロックHの動きベクトル予測値はブロックFの動きベクトルと同じ値に決定される。   In step S1505, the motion vector prediction value of block H is determined to be the same value as the motion vector of block F.

最後に、決定された値PMVi(i=x,y)を出力し(ステップS1506)、処理を終了する。   Finally, the determined value PMVi (i = x, y) is output (step S1506), and the process ends.

なお、ステップS1503における判定は2通りの差分の両方が閾値以下かどうかを判定しても良い。   Note that the determination in step S1503 may determine whether both of the two differences are equal to or less than a threshold value.

また、ステップS1505でブロックHの動きベクトル予測値はブロックFの動きベクトルと同じ値としたが、動きベクトルをゼロベクトル(すなわち、動きベクトルの予測をしない)としてもよい。あらかじめ決められた任意の動きベクトルを予測値としてもよい。   In step S1505, the motion vector prediction value of the block H is set to the same value as the motion vector of the block F, but the motion vector may be a zero vector (that is, the motion vector is not predicted). An arbitrary motion vector determined in advance may be used as the predicted value.

また、動き予測器406における動きベクトル予測値の決定は、図29のフローチャートに従ってもよい。   Further, the motion vector prediction value in the motion predictor 406 may be determined according to the flowchart of FIG.

図29では、動きベクトルのx成分、y成分はそれぞれ独立に予測値が決定されるものとする。具体的にはまず動きベクトルのx成分の予測値を決定・出力し、次にy成分の予測値を決定・出力する。以下では必要に応じて、成分を示す添え字をiと記す(iはx又はyである)。   In FIG. 29, it is assumed that predicted values are independently determined for the x component and the y component of the motion vector. Specifically, first, the predicted value of the x component of the motion vector is determined and output, and then the predicted value of the y component is determined and output. In the following, a subscript indicating a component is written as i (i is x or y) as necessary.

まず動き予測器406は、ラインL410を経由して入力される復号化済みのブロックA、B、C、D、E、Fの動きベクトルと対応する参照フレーム番号を取得する(ステップS1601)。   First, the motion predictor 406 acquires reference frame numbers corresponding to the motion vectors of the decoded blocks A, B, C, D, E, and F input via the line L410 (step S1601).

なおステップS1601で取得される動きベクトルは、対象ブロックを含むフレームと、対象ブロックの動きベクトルが参照するフレームとの時間的距離に基づいてスケーリングされることが好ましい。スケーリングの際には各ブロックの動きベクトルが参照するフレームの時刻を用いるため、各ブロックに対応する参照フレーム番号からその時刻を求める必要がある。   Note that the motion vector acquired in step S1601 is preferably scaled based on a temporal distance between a frame including the target block and a frame referred to by the motion vector of the target block. Since the time of the frame referred to by the motion vector of each block is used at the time of scaling, it is necessary to obtain the time from the reference frame number corresponding to each block.

スケーリングによって、対象ブロックを含むフレームの時刻t0から、対象ブロックの動きベクトルが参照するフレームの時刻teまでの時間的距離(t0-te)を基準にして、取得した復号化済みのブロックA、B、C、D、E、Fの動きベクトルの大きさを補正することができる。具体的に一例を挙げると、ブロックAの動きベクトルMViA(i=x,y)が参照するフレームの時刻をta、ブロックAを含むフレームの時刻をt1とすると、スケーリングされた動きベクトルMViA’(i=x,y)は、式(1)によって与えられるベクトルである。   The obtained decoded blocks A and B based on the temporal distance (t0-te) from the time t0 of the frame including the target block to the time te of the frame referred to by the motion vector of the target block by scaling. , C, D, E, and F motion vector magnitudes can be corrected. As a specific example, if the time of the frame referred to by the motion vector MViA (i = x, y) of the block A is ta and the time of the frame including the block A is t1, the scaled motion vector MViA ′ ( i = x, y) is a vector given by equation (1).

なお、このスケーリング処理は必須ではなく、スケーリング処理を行わない場合は各ブロックに対応する参照フレーム番号は必要ない。   Note that this scaling processing is not essential, and reference frame numbers corresponding to the respective blocks are not required when the scaling processing is not performed.

また、ステップS1601において復号化済みのブロックそのもの、あるいは復号化済みのブロックの動きベクトルが存在しない場合、そのブロックは極めて大きい動きベクトルを持つとみなし、十分大きな値とした上で処理を進める。あるいは、処理対象から除く。   If the decoded block itself or the motion vector of the decoded block does not exist in step S1601, the block is regarded as having a very large motion vector, and the process proceeds with a sufficiently large value. Alternatively, it is excluded from the processing target.

続いて、ブロックBの動きベクトルとブロックEの動きベクトルの差分、ブロックCの動きベクトルとブロックFの動きベクトルの差分、ブロックDの動きベクトルとブロックEの動きベクトルの差分、ブロックDの動きベクトルとブロックFの動きベクトルの差分の4通りが算出される(ステップS1602)。   Subsequently, the difference between the motion vector of block B and the motion vector of block E, the difference of the motion vector of block C and the motion vector of block F, the difference of the motion vector of block D and the motion vector of block E, the motion vector of block D And 4 types of motion vector differences of block F are calculated (step S1602).

次に、ステップS1602で算出された4通りの差分のうち、どの組み合わせの差分が最小のものであるかが判定される。(ステップS1603)。   Next, it is determined which combination of the four differences calculated in step S1602 has the smallest difference. (Step S1603).

ステップS1603での判定の結果、もっとも小さい差分を与える組み合わせがブロックBとブロックEである場合にはブロックHの動きベクトル予測値はブロックAの動きベクトルと同じ値に決定される。ブロックCとブロックFである場合には、ブロックHの動きベクトル予測値はブロックAの動きベクトルと同じ値に決定される。ブロックDとブロックEである場合には、ブロックHの動きベクトル予測値はブロックFの動きベクトルと同じ値に決定される。ブロックDとブロックFである場合には、ブロックHの動きベクトル予測値はブロックEの動きベクトルと同じ値に決定される(ステップS1604)。   As a result of the determination in step S1603, if the combination that gives the smallest difference is block B and block E, the motion vector prediction value of block H is determined to be the same value as the motion vector of block A. In the case of block C and block F, the motion vector prediction value of block H is determined to be the same value as the motion vector of block A. In the case of block D and block E, the motion vector prediction value of block H is determined to be the same value as the motion vector of block F. In the case of block D and block F, the motion vector prediction value of block H is determined to be the same value as the motion vector of block E (step S1604).

最後に、ステップS1604で決定された値PMVi(i=x,y)を出力し(ステップS1605)、処理を終了する。   Finally, the value PMVi (i = x, y) determined in step S1604 is output (step S1605), and the process ends.

なお、図29のフローチャートに示される一連の処理はx成分、y成分に分けずにベクトルの差分(具体的にはベクトルノルムなど)を算出し、動きベクトルのx成分、y成分を同時に決定してもよい。   The series of processes shown in the flowchart of FIG. 29 calculates a vector difference (specifically, a vector norm) without dividing the x component and the y component, and determines the x component and the y component of the motion vector at the same time. May be.

また、動き予測器406における動きベクトル予測値を決定する手順は図30で説明されるフローチャートに従ってもよい。動きベクトルx成分、y成分はそれぞれ独立に予測値が決定されるものとする。具体的にはまず動きベクトルのx成分の予測値を決定・出力し、次にy成分の予測値を決定・出力する。以下では必要に応じて、成分を示す添え字をiと記す(iはx又はyである)。   The procedure for determining the motion vector prediction value in the motion predictor 406 may follow the flowchart described in FIG. It is assumed that predicted values are determined independently for the motion vector x component and the y component. Specifically, first, the predicted value of the x component of the motion vector is determined and output, and then the predicted value of the y component is determined and output. In the following, a subscript indicating a component is written as i (i is x or y) as necessary.

まず動き予測器406は、ラインL410を経由して入力される復号化済みのブロックA、B、C、D、E、Fの動きベクトルと対応する参照フレーム番号を取得する(ステップS1701)。   First, the motion predictor 406 acquires reference frame numbers corresponding to motion vectors of decoded blocks A, B, C, D, E, and F input via the line L410 (step S1701).

なおステップS1701で取得される動きベクトルは、対象ブロックを含むフレームと、対象ブロックの動きベクトルが参照するフレームとの時間的距離に基づいてスケーリングされることが好ましい。スケーリングの際には各ブロックの動きベクトルが参照するフレームの時刻を用いるため、各ブロックに対応する参照フレーム番号からその時刻を求める必要がある。   Note that the motion vector acquired in step S1701 is preferably scaled based on a temporal distance between a frame including the target block and a frame referred to by the motion vector of the target block. Since the time of the frame referred to by the motion vector of each block is used at the time of scaling, it is necessary to obtain the time from the reference frame number corresponding to each block.

スケーリングによって、対象ブロックを含むフレームの時刻t0から、対象ブロックの動きベクトルが参照するフレームの時刻teまでの時間的距離(t0-te)を基準にして、取得した復号化済みのブロックA、B、C、D、E、Fの動きベクトルの大きさを補正することができる。具体的に一例を挙げると、ブロックAの動きベクトルMViA(i=x,y)が参照するフレームの時刻をta、ブロックAを含むフレームの時刻をt1とすると、スケーリングされた動きベクトルMViA’(i=x,y)は、式(1)によって与えられるベクトルである。   The obtained decoded blocks A and B based on the temporal distance (t0-te) from the time t0 of the frame including the target block to the time te of the frame referred to by the motion vector of the target block by scaling. , C, D, E, and F motion vector magnitudes can be corrected. As a specific example, if the time of the frame referred to by the motion vector MViA (i = x, y) of the block A is ta and the time of the frame including the block A is t1, the scaled motion vector MViA ′ ( i = x, y) is a vector given by equation (1).

なお、このスケーリング処理は必須ではなく、スケーリング処理を行わない場合は各ブロックに対応する参照フレーム番号は必要ない。   Note that this scaling processing is not essential, and reference frame numbers corresponding to the respective blocks are not required when the scaling processing is not performed.

また、ステップS1701において復号化済みのブロックそのもの、あるいは復号化済みのブロックの動きベクトルが存在しない場合、そのブロックは極めて大きい動きベクトルを持つとみなし、十分大きな値とした上で処理を進める。あるいは、処理対象から除く。   If the decoded block itself or the motion vector of the decoded block does not exist in step S1701, it is assumed that the block has a very large motion vector, and the process proceeds with a sufficiently large value. Alternatively, it is excluded from the processing target.

続いて、ブロックDの動きベクトルとブロックEの動きベクトルの差分、およびブロックDの動きベクトルとブロックFの動きベクトルの差分が算出され、前者のほうが大きい場合(ステップS1702:YES)は処理をステップS1703に進める。それに該当しない場合(ステップS1702:NO)は処理をステップS1704に進める(ステップS1702)。   Subsequently, the difference between the motion vector of block D and the motion vector of block E, and the difference between the motion vector of block D and the motion vector of block F are calculated. If the former is larger (step S1702: YES), the process is performed. The process proceeds to S1703. If this is not the case (step S1702: NO), the process proceeds to step S1704 (step S1702).

ステップS1703では、ブロックEの動きベクトルとブロックBの動きベクトルの差分、およびブロックDの動きベクトルとブロックFの動きベクトルの差分が算出され、前者のほうが大きい場合(ステップS1703:YES)は処理をステップS1705に進める。それに該当しない場合(ステップS1703:NO)は処理をステップS1706に進める。   In step S1703, the difference between the motion vector of block E and the motion vector of block B, and the difference of the motion vector of block D and the motion vector of block F are calculated. If the former is larger (step S1703: YES), the process is performed. The process proceeds to step S1705. If not (NO at step S1703), the process proceeds to step S1706.

ステップS1704では、ブロックCの動きベクトルとブロックFの動きベクトルの差分、およびブロックCの動きベクトルとブロックAの動きベクトルの差分が算出され、前者のほうが大きい場合(ステップS1704:YES)は処理をステップS1707に進める。それに該当しない場合(ステップS1704:NO)は処理をステップS1708に進める。   In step S1704, the difference between the motion vector of block C and the motion vector of block F, and the difference between the motion vector of block C and the motion vector of block A are calculated. If the former is larger (step S1704: YES), the process is performed. The process proceeds to step S1707. If not (NO at step S1704), the process proceeds to step S1708.

ステップS1705では、ブロックHの動きベクトル予測値はブロックEの動きベクトルと同じ値に決定される。   In step S1705, the motion vector prediction value of block H is determined to be the same value as the motion vector of block E.

ステップS1706では、ブロックHの動きベクトル予測値はブロックAの動きベクトルと同じ値に決定される。   In step S1706, the motion vector prediction value of block H is determined to be the same value as the motion vector of block A.

ステップS1707では、ブロックHの動きベクトル予測値はブロックFの動きベクトルと同じ値に決定される。   In step S1707, the motion vector prediction value of block H is determined to be the same value as the motion vector of block F.

ステップS1708では、ブロックHの動きベクトル予測値はブロックAの動きベクトルと同じ値に決定される。   In step S1708, the motion vector prediction value of block H is determined to be the same value as the motion vector of block A.

最後に、決定された動きベクトル予測値PMVi(i=x,y)を出力し(ステップS1709)、処理を終了する。   Finally, the determined motion vector prediction value PMVi (i = x, y) is output (step S1709), and the process ends.

なお、図30のフローチャートに示される一連の処理はx成分、y成分に分けずにベクトルの差分(具体的にはベクトルノルムなど)を算出し、動きベクトルのx成分、y成分を同時に決定してもよい。   The series of processes shown in the flowchart of FIG. 30 calculates a vector difference (specifically, a vector norm) without dividing the x component and the y component, and simultaneously determines the x component and the y component of the motion vector. May be.

また、対象ブロックを含む領域が大きく移動しているような場合の予測精度をあげるために、図27に示されるブロックの位置関係は以下のように定めてもよい。その際の動きベクトル予測値を決定する手順は図28あるいは図29あるいは図30で説明されるフローチャートのどれに従ってもよい。   Further, in order to increase the prediction accuracy when the region including the target block is greatly moved, the positional relationship of the blocks shown in FIG. 27 may be determined as follows. The procedure for determining the motion vector prediction value at that time may follow any of the flowcharts described in FIG. 28, FIG. 29, or FIG.

対象ブロックをHとし、フレームF701はブロックHを含むフレームである。フレームF702は既に復号化済みのフレームである。   The target block is H, and the frame F701 is a frame including the block H. A frame F702 is a frame that has already been decoded.

フレームF701において、ブロックDをブロックHの最も左上の画素の真左上の画素を含むブロック、ブロックEをブロックHの最も左上の画素の真上の画素を含むブロック、ブロックFをブロックHの最も左上の画素の真左の画素を含むブロックとする。   In frame F701, block D is a block including the pixel immediately above the upper leftmost pixel of block H, block E is a block including the pixel immediately above the uppermost left pixel of block H, and block F is the uppermost leftmost of block H. A block including a pixel immediately to the left of the pixel.

フレームF702において、ブロックAはブロックDの動きベクトルが参照しているブロック、またはブロックEの動きベクトルが参照しているブロック、またはブロックFの動きベクトルが参照しているブロックとする。その際もブロックBをブロックAの最も左上の画素の真上の画素を含むブロック、ブロックCをブロックAの最も左上の画素の真左の画素を含むブロックとする。   In the frame F702, the block A is a block that is referenced by the motion vector of the block D, a block that is referenced by the motion vector of the block E, or a block that is referenced by the motion vector of the block F. Also in this case, the block B is a block including a pixel immediately above the uppermost leftmost pixel of the block A, and the block C is a block including a pixel rightward of the uppermost leftmost pixel of the block A.

なお上記の定め方をする場合、各ブロックの大きさ以下の精度で類似する画像信号パターンの位置を探し出して動きベクトルの検出を行う際に、ブロックDが参照するブロック、あるいはブロックEが参照するブロック、あるいはブロックFが参照するブロックが動きベクトルをもつ複数のブロックにまたがることが考えられるが、その際はそれら複数のブロックの動きベクトルの平均値、あるいはまたがる領域でもっとも占める割合の高いブロックの動きベクトルを該当するブロック(DあるいはEあるいはF)が参照するブロックの動きベクトルとして用いるものとする。   When the above method is used, when the position of a similar image signal pattern is detected with an accuracy less than the size of each block and the motion vector is detected, the block referred to by the block D or the block E refers to It is conceivable that the block or the block referenced by block F may span multiple blocks with motion vectors. In this case, the average value of the motion vectors of these blocks or the block with the highest ratio in the spanning area The motion vector is used as a motion vector of a block referred to by the corresponding block (D, E, or F).

また、動き予測器406における動きベクトルの予測値の決定は、以下に示すように行われても良い。   Further, the motion vector prediction value in the motion predictor 406 may be determined as follows.

図31は、動き予測器406における動きベクトルの予測値の決定手順の説明に用いる模式図である。   FIG. 31 is a schematic diagram used for explaining a procedure for determining a motion vector prediction value in the motion predictor 406.

図31で、対象ブロックをHとし、フレームF801はブロックHを含むフレームである。フレームF802は既に復号化済みのフレームで、フレームF801とは時間方向で隣り合うフレームである。フレームF803は既に復号化済みのフレームで、フレームF802とは時間方向で隣り合うフレームである。   In FIG. 31, the target block is H, and the frame F801 is a frame including the block H. The frame F802 is a frame that has already been decoded, and the frame F801 is a frame that is adjacent in the time direction. The frame F803 is a frame that has already been decoded, and the frame F802 is a frame that is adjacent in the time direction.

フレームF801において、ブロックEをブロックHの最も左上の画素の真左上の画素を含むブロック、ブロックFをブロックHの最も左上の画素の真上の画素を含むブロック、ブロックGをブロックHの最も左上の画素の真左の画素を含むブロックとする。   In frame F801, block E is a block including the pixel immediately above the upper left pixel of block H, block F is a block including the pixel immediately above the upper left pixel of block H, and block G is the upper left pixel of block H. A block including a pixel immediately to the left of the pixel.

フレームF802において、ブロックDはブロックHの最も左上の画素と同じ空間位置の画素を含むブロック、ブロックBをブロックDの最も左上の画素の真上の画素を含むブロック、ブロックCをブロックDの最も左上の画素の真左の画素を含むブロックとする。   In frame F802, block D is a block including a pixel at the same spatial position as the upper leftmost pixel of block H, block B is a block including a pixel immediately above the uppermost left pixel of block D, and block C is the highest block of block D. It is assumed that the block includes a pixel immediately to the left of the upper left pixel.

フレームF803において、ブロックAはブロックDの最も左上の画素と同じ空間位置の画素を含むブロックとする。   In the frame F803, the block A is a block including a pixel at the same spatial position as the upper left pixel of the block D.

図32は、動き予測器406における動きベクトル予測値を決定する手順を説明するためのフローチャートである。   FIG. 32 is a flowchart for explaining a procedure for determining a motion vector prediction value in the motion predictor 406.

図32では、動きベクトルのx成分、y成分はそれぞれ独立に予測値が決定されるものとする。具体的にはまず動きベクトルのx成分の予測値を決定・出力し、次にy成分の予測値を決定・出力する。以下では必要に応じて、成分を示す添え字をiと記す(iはx又はyである)。   In FIG. 32, it is assumed that predicted values are independently determined for the x component and the y component of the motion vector. Specifically, first, the predicted value of the x component of the motion vector is determined and output, and then the predicted value of the y component is determined and output. In the following, a subscript indicating a component is written as i (i is x or y) as necessary.

まず動き予測器406は、ラインL410を経由して入力される復号化済みのブロックA、B、C、D、E、F、Gの動きベクトルと対応する参照フレーム番号を取得する(ステップS1801)。   First, the motion predictor 406 acquires reference frame numbers corresponding to the motion vectors of the decoded blocks A, B, C, D, E, F, and G input via the line L410 (step S1801). .

なおステップS1801で取得される動きベクトルは、対象ブロックを含むフレームと、対象ブロックの動きベクトルが参照するフレームとの時間的距離に基づいてスケーリングされることが好ましい。スケーリングの際には各ブロックの動きベクトルが参照するフレームの時刻を用いるため、各ブロックに対応する参照フレーム番号からその時刻を求める必要がある。   Note that the motion vector acquired in step S1801 is preferably scaled based on a temporal distance between a frame including the target block and a frame referred to by the motion vector of the target block. Since the time of the frame referred to by the motion vector of each block is used at the time of scaling, it is necessary to obtain the time from the reference frame number corresponding to each block.

スケーリングによって、対象ブロックを含むフレームの時刻t0から、対象ブロックの動きベクトルが参照するフレームの時刻teまでの時間的距離(t0-te)を基準にして、取得した復号化済みのブロックA、B、C、D、E、F、Gの動きベクトルの大きさを補正することができる。具体的に一例を挙げると、ブロックAの動きベクトルMViA(i=x,y)が参照するフレームの時刻をta、ブロックAを含むフレームの時刻をt1とすると、スケーリングされた動きベクトルMViA’(i=x,y)は、式(1)によって与えられるベクトルである。   The obtained decoded blocks A and B based on the temporal distance (t0-te) from the time t0 of the frame including the target block to the time te of the frame referred to by the motion vector of the target block by scaling. , C, D, E, F, and G motion vector magnitudes can be corrected. As a specific example, if the time of the frame referred to by the motion vector MViA (i = x, y) of the block A is ta and the time of the frame including the block A is t1, the scaled motion vector MViA ′ ( i = x, y) is a vector given by equation (1).

なお、このスケーリング処理は必須ではなく、スケーリング処理を行わない場合は各ブロックに対応する参照フレーム番号は必要ない。   Note that this scaling processing is not essential, and reference frame numbers corresponding to the respective blocks are not required when the scaling processing is not performed.

また、ステップS1801において復号化済みのブロックそのもの、あるいは復号化済みのブロックの動きベクトルが存在しない場合、そのブロックは極めて大きい動きベクトルを持つとみなし、十分大きな値とした上で処理を進める。あるいは、処理対象から除く。   If the decoded block itself or the motion vector of the decoded block does not exist in step S1801, the block is regarded as having a very large motion vector, and the process proceeds with a sufficiently large value. Alternatively, it is excluded from the processing target.

続いて、ブロックBの動きベクトルとブロックFの動きベクトルの差分、ブロックCの動きベクトルとブロックGの動きベクトルの差分、ブロックAの動きベクトルとブロックDの動きベクトルの差分、ブロックEの動きベクトルとブロックFの動きベクトルの差分、ブロックEの動きベクトルとブロックGの動きベクトルの差分の5通りが算出される(ステップS1802)。   Subsequently, the difference between the motion vector of block B and the motion vector of block F, the difference of the motion vector of block C and the motion vector of block G, the difference of the motion vector of block A and the motion vector of block D, the motion vector of block E And the difference between the motion vector of block F and the difference between the motion vector of block E and the motion vector of block G are calculated (step S1802).

次に、ステップS1802で算出された5通りの差分のうち、どの組み合わせの差分が最小のものであるかが判定される。(ステップS1803)。   Next, it is determined which combination of the five differences calculated in step S1802 has the smallest difference. (Step S1803).

ステップS1803での判定の結果、もっとも小さい差分を与える組み合わせがブロックBとブロックFである場合にはブロックHの動きベクトル予測値はブロックBの動きベクトルと同じ値に決定される。ブロックCとブロックGである場合には、ブロックHの動きベクトル予測値はブロックCの動きベクトルと同じ値に決定される。ブロックAとブロックDである場合には、ブロックHの動きベクトル予測値はブロックDの動きベクトルと同じ値に決定される。ブロックEとブロックFである場合には、ブロックHの動きベクトル予測値はブロックGの動きベクトルと同じ値に決定される。ブロックEとブロックGである場合には、ブロックHの動きベクトル予測値はブロックFの動きベクトルと同じ値に決定される。(ステップS1804)。   As a result of the determination in step S1803, when the combination that gives the smallest difference is the block B and the block F, the motion vector prediction value of the block H is determined to be the same value as the motion vector of the block B. In the case of block C and block G, the motion vector prediction value of block H is determined to be the same value as the motion vector of block C. In the case of block A and block D, the motion vector prediction value of block H is determined to be the same value as the motion vector of block D. In the case of block E and block F, the motion vector prediction value of block H is determined to be the same value as the motion vector of block G. In the case of block E and block G, the motion vector prediction value of block H is determined to be the same value as the motion vector of block F. (Step S1804).

最後に、ステップS1804で決定された値PMVi(i=x,y)を出力し(ステップS1805)、処理を終了する。   Finally, the value PMVi (i = x, y) determined in step S1804 is output (step S1805), and the process ends.

なお、図32のフローチャートに示される一連の処理はx成分、y成分に分けずにベクトルの差分(具体的にはベクトルノルムなど)を算出し、動きベクトルのx成分、y成分を同時に決定してもよい。   The series of processes shown in the flowchart of FIG. 32 calculates a vector difference (specifically, a vector norm) without dividing the x component and the y component, and simultaneously determines the x component and the y component of the motion vector. May be.

また、ステップS1802において算出する差分は、ブロックBの動きベクトルとブロックFの動きベクトルの差分、ブロックCの動きベクトルとブロックGの動きベクトルの差分、ブロックAの動きベクトルとブロックDの動きベクトルの差分の3通りでもよい。その際もステップS1803で最小となる組み合わせが判定され、ステップS1804では、もっとも小さい差分を与える組み合わせがブロックBとブロックFである場合にはブロックHの動きベクトル予測値はブロックBの動きベクトルと同じ値に決定される。ブロックCとブロックGである場合には、ブロックHの動きベクトル予測値はブロックCの動きベクトルと同じ値に決定される。ブロックAとブロックDである場合には、ブロックHの動きベクトル予測値はブロックDの動きベクトルと同じ値に決定される。   Also, the difference calculated in step S1802 is the difference between the motion vector of block B and the motion vector of block F, the difference between the motion vector of block C and the motion vector of block G, the motion vector of block A and the motion vector of block D. Three types of differences may be used. At that time, the smallest combination is determined in step S1803. In step S1804, when the combination that gives the smallest difference is block B and block F, the motion vector prediction value of block H is the same as the motion vector of block B. Determined by value. In the case of block C and block G, the motion vector prediction value of block H is determined to be the same value as the motion vector of block C. In the case of block A and block D, the motion vector prediction value of block H is determined to be the same value as the motion vector of block D.

また、ステップS1802において算出する差分は、ブロックBの動きベクトルとブロックFの動きベクトルの差分、ブロックCの動きベクトルとブロックGの動きベクトルの差分の2通りでもよい。その際もステップS1803で最小となる組み合わせが判定され、ステップS1804では、もっとも小さい差分を与える組み合わせがブロックBとブロックFである場合にはブロックHの動きベクトル予測値はブロックBの動きベクトルと同じ値に決定される。ブロックCとブロックGである場合には、ブロックHの動きベクトル予測値はブロックCの動きベクトルと同じ値に決定される。   Further, the difference calculated in step S1802 may be two types, that is, the difference between the motion vector of block B and the motion vector of block F, and the difference between the motion vector of block C and the motion vector of block G. At that time, the smallest combination is determined in step S1803. In step S1804, when the combination that gives the smallest difference is block B and block F, the motion vector prediction value of block H is the same as the motion vector of block B. Determined by value. In the case of block C and block G, the motion vector prediction value of block H is determined to be the same value as the motion vector of block C.

また、対象ブロックを含む領域が大きく移動しているような場合の予測精度をあげるために、図31に示されるブロックの位置関係は以下のように定めてもよい。   Further, in order to increase the prediction accuracy when the region including the target block is greatly moved, the positional relationship of the blocks shown in FIG. 31 may be determined as follows.

対象ブロックをHとし、フレームF801はブロックHを含むフレームである。フレームF802は既に復号化済みのフレームである。フレームF803は既に復号化済みのフレームである。   The target block is H, and the frame F801 is a frame including the block H. Frame F802 is a frame that has already been decoded. Frame F803 is a frame that has already been decoded.

フレームF801において、ブロックEをブロックHの最も左上の画素の真左上の画素を含むブロック、ブロックFをブロックHの最も左上の画素の真上の画素を含むブロック、ブロックGをブロックHの最も左上の画素の真左の画素を含むブロックとする。   In frame F801, block E is a block including the pixel immediately above the upper left pixel of block H, block F is a block including the pixel immediately above the upper left pixel of block H, and block G is the upper left pixel of block H. A block including a pixel immediately to the left of the pixel.

フレームF802において、ブロックDはブロックEの動きベクトルが参照しているブロック、またはブロックFの動きベクトルが参照しているブロック、またはブロックGの動きベクトルが参照しているブロックとする。その際もブロックBをブロックDの最も左上の画素の真上の画素を含むブロック、ブロックCをブロックDの最も左上の画素の真左の画素を含むブロックとする。   In the frame F802, the block D is a block that is referenced by the motion vector of the block E, a block that is referenced by the motion vector of the block F, or a block that is referenced by the motion vector of the block G. Also in this case, the block B is a block including a pixel immediately above the upper leftmost pixel of the block D, and the block C is a block including a pixel immediately left of the uppermost left pixel of the block D.

フレームF803において、ブロックAはブロックDの動きベクトルが参照しているブロックとする。   In frame F803, block A is a block that is referenced by the motion vector of block D.

なお上記の定め方をする場合、各ブロックの大きさ以下の精度で類似する画像信号パターンの位置を探し出して動きベクトルの検出を行う際に、ブロックEが参照するブロック、あるいはブロックFが参照するブロック、あるいはブロックGが参照するブロック、あるいはブロックDが参照するブロックが動きベクトルをもつ複数のブロックにまたがることが考えられるが、その際はそれら複数のブロックの動きベクトルの平均値、あるいはまたがる領域でもっとも占める割合の高いブロックの動きベクトルを該当するブロック(EあるいはFあるいはGあるいはD)が参照するブロックの動きベクトルとして用いるものとする。   When the above method is used, when the position of a similar image signal pattern is detected with an accuracy less than the size of each block and the motion vector is detected, the block referred to by the block E or the block F refers to It is possible that the block referenced by block or block G or the block referenced by block D may span multiple blocks with motion vectors. In this case, the average value of the motion vectors of these multiple blocks, or the region that spans the blocks It is assumed that the motion vector of the block having the highest ratio is used as the motion vector of the block referred to by the corresponding block (E, F, G, or D).

また、動き予測器406における動きベクトルの予測値の決定は、以下に示すように空間的に1画素以上隔てられたブロックの動きベクトルや、時間方向で1フレーム以上隔てられたフレームにあるブロックの動きベクトルに基づいて行われてもよい。   In addition, the motion vector predictor 406 determines the motion vector prediction value of a block that is spatially separated by one or more pixels as shown below, or a block in a frame that is separated by one or more frames in the time direction. It may be performed based on a motion vector.

このような動きベクトルの予測値の決定方法は、動きベクトルの大勢を反映した予測をすることで、高精度の動きベクトル予測値を得る効果がある。また、ノイズや局所的な変化による影響を打ち消す効果もある。   Such a method for determining a motion vector prediction value has an effect of obtaining a motion vector prediction value with high accuracy by performing prediction reflecting a large number of motion vectors. It also has the effect of countering the effects of noise and local changes.

また、動き予測器406における動きベクトルの予測値は、過去に復号化済みのブロックの動きベクトルをそのまま引用して動きベクトル予測値とする代わりに、以下に示すように複数ある動きベクトルの決定方法の中からひとつを選択して、その決定方法にしたがって決定してもよい。   In addition, the motion vector prediction value in the motion predictor 406 is determined as a motion vector prediction value as described below, instead of using the motion vector of a previously decoded block as it is as a motion vector prediction value. One of them may be selected and determined according to the determination method.

図33は、動き予測器406における動きベクトルの予測値の決定手順の説明に用いる模式図である。   FIG. 33 is a schematic diagram used for explaining a procedure for determining a motion vector prediction value in the motion predictor 406.

図33で、対象ブロックをJとし、フレームF901はブロックJを含むフレームである。フレームF902は既に復号化済みのフレームで、フレームF901とは時間方向で隣り合うフレームである。フレームF903は既に復号化済みのフレームで、フレームF902とは時間方向で隣り合うフレームである。フレームF904は既に復号化済みのフレームで、フレームF903とは時間方向で隣り合うフレームである。   In FIG. 33, the target block is J, and the frame F901 is a frame including the block J. The frame F902 is a frame that has already been decoded, and the frame F901 is a frame that is adjacent in the time direction. The frame F903 is a frame that has already been decoded, and the frame F902 is a frame that is adjacent in the time direction. The frame F904 is a frame that has already been decoded, and the frame F903 is a frame that is adjacent in the time direction.

フレームF901において、ブロックIをブロックJの最も左上の画素の真上の画素を含むブロック、ブロックHをブロックIの最も左上の画素の真上の画素を含むブロック、ブロックGをブロックHの最も左上の画素の真上の画素を含むブロック、ブロックFをブロックJの最も左上の画素の真左の画素を含むブロック、ブロックEをブロックFの最も左上の画素の真左の画素を含むブロック、ブロックDをブロックEの最も左上の画素の真左の画素を含むブロックとする。   In frame F901, block I is a block including the pixel immediately above the uppermost leftmost pixel of block J, block H is a block including the pixel immediately above the uppermost leftmost pixel of block I, and block G is the uppermost leftmost of block H. A block including the pixel immediately above the leftmost pixel of the block J, a block F including the pixel immediately left of the uppermost leftmost pixel of the block J, a block E including a pixel immediately above the leftmost pixel of the block F, and a block Let D be a block including the pixel immediately to the left of the upper leftmost pixel of block E.

フレームF902において、ブロックCはブロックJの最も左上の画素と同じ空間位置の画素を含むブロックとする。   In the frame F902, the block C is a block including a pixel at the same spatial position as the upper left pixel of the block J.

フレームF903において、ブロックBはブロックCの最も左上の画素と同じ空間位置の画素を含むブロックとする。   In the frame F903, the block B is a block including a pixel at the same spatial position as the upper left pixel of the block C.

フレームF904において、ブロックAはブロックBの最も左上の画素と同じ空間位置の画素を含むブロックとする。   In the frame F904, the block A is a block including a pixel at the same spatial position as the upper left pixel of the block B.

図34は、動き予測器406における動きベクトル予測値を決定する手順を説明するためのフローチャートである。動きベクトルx成分、y成分はそれぞれ独立に予測値が決定されるものとする。具体的にはまず動きベクトルのx成分の予測値を決定・出力し、次にy成分の予測値を決定・出力する。以下では必要に応じて、成分を示す添え字をiと記す(iはx又はyである)。   FIG. 34 is a flowchart for explaining a procedure for determining a motion vector prediction value in the motion predictor 406. It is assumed that predicted values are determined independently for the motion vector x component and the y component. Specifically, first, the predicted value of the x component of the motion vector is determined and output, and then the predicted value of the y component is determined and output. In the following, a subscript indicating a component is written as i (i is x or y) as necessary.

まず動き予測器406は、ラインL410を経由して入力される復号化済みのブロックA、B、C、D、E、F、G、H、Iの動きベクトルと対応する参照フレーム番号とラインL115を経由して入力される対象ブロックの参照フレーム番号を取得する(ステップS1901)。   First, the motion predictor 406 receives the reference frame number corresponding to the motion vector of the decoded blocks A, B, C, D, E, F, G, H, and I input via the line L410 and the line L115. The reference frame number of the target block input via is acquired (step S1901).

なおステップS1901で取得される動きベクトルは、対象ブロックを含むフレームと、対象ブロックの動きベクトルが参照するフレームとの時間的距離に基づいてスケーリングされることが好ましい。スケーリングの際には各ブロックの動きベクトルが参照するフレームの時刻を用いるため、各ブロックに対応する参照フレーム番号からその時刻を求める必要がある。   Note that the motion vector acquired in step S1901 is preferably scaled based on a temporal distance between a frame including the target block and a frame referred to by the motion vector of the target block. Since the time of the frame referred to by the motion vector of each block is used at the time of scaling, it is necessary to obtain the time from the reference frame number corresponding to each block.

スケーリングによって、対象ブロックを含むフレームの時刻t0から、対象ブロックの動きベクトルが参照するフレームの時刻teまでの時間的距離(t0-te)を基準にして、取得した復号化済みのブロックA、B、C、D、E、F、G、H、Iの動きベクトルの大きさを補正することができる。具体的に一例を挙げると、ブロックAの動きベクトルMViA(i=x,y)が参照するフレームの時刻をta、ブロックAを含むフレームの時刻をt1とすると、スケーリングされた動きベクトルMViA’(i=x,y)は、式(1)によって与えられるベクトルである。   The obtained decoded blocks A and B based on the temporal distance (t0-te) from the time t0 of the frame including the target block to the time te of the frame referred to by the motion vector of the target block by scaling. , C, D, E, F, G, H, and I can correct the magnitude of the motion vector. As a specific example, if the time of the frame referred to by the motion vector MViA (i = x, y) of the block A is ta and the time of the frame including the block A is t1, the scaled motion vector MViA ′ ( i = x, y) is a vector given by equation (1).

なお、このスケーリング処理は必須ではなく、スケーリング処理を行わない場合は各ブロックに対応する参照フレーム番号は必要ない。   Note that this scaling processing is not essential, and reference frame numbers corresponding to the respective blocks are not required when the scaling processing is not performed.

また、ステップS1901において復号化済みのブロックそのもの、あるいは復号化済みのブロックの動きベクトルが存在しない場合、そのブロックは極めて大きい動きベクトルを持つとみなし、十分大きな値とした上で処理を進める。あるいは、処理対象から除く。   If the decoded block itself or the motion vector of the decoded block does not exist in step S1901, it is assumed that the block has a very large motion vector, and the process proceeds with a sufficiently large value. Alternatively, it is excluded from the processing target.

続いて、ブロックAの動きベクトルとブロックBの動きベクトルとブロックCの動きベクトルの分散、ブロックDの動きベクトルとブロックEの動きベクトルとブロックFの動きベクトルの分散、ブロックGの動きベクトルとブロックHの動きベクトルとブロックIの動きベクトルの分散、の3組の分散をそれぞれ算出する。(ステップS1902)
次に、ステップS1902で算出された3通りの分散のうち、どの組み合わせの分散が最小のものであるかが判定される。(ステップS1903)。
Subsequently, variance of motion vector of block A, motion vector of block B and motion vector of block C, variance of motion vector of block D, motion vector of block E and motion vector of block F, motion vector of block G and block Three sets of variances of H motion vector and block I motion vector variance are calculated. (Step S1902)
Next, it is determined which combination of the three variances calculated in step S1902 has the smallest variance. (Step S1903).

ステップS1903での判定の結果、もっとも小さい差分を与える組み合わせがブロックAとブロックBとブロックCである場合には、ブロックJの動きベクトル予測値はブロックAの動きベクトルとブロックBの動きベクトルとブロックCの動きベクトルの平均値に決定される。ブロックDとブロックEとブロックFである場合には、ブロックJの動きベクトル予測値はブロックDの動きベクトルとブロックEの動きベクトルとブロックFの動きベクトルの平均値に決定される。ブロックGとブロックHとブロックIである場合には、ブロックJの動きベクトル予測値はブロックGの動きベクトルとブロックHの動きベクトルとブロックIの動きベクトルの平均値に決定される(ステップS1904)。   As a result of the determination in step S1903, when the combination that gives the smallest difference is block A, block B, and block C, the motion vector prediction value of block J is the motion vector of block A, the motion vector of block B, and the block The average value of C motion vectors is determined. In the case of block D, block E, and block F, the motion vector prediction value of block J is determined as the average value of the motion vector of block D, the motion vector of block E, and the motion vector of block F. In the case of block G, block H, and block I, the motion vector prediction value of block J is determined as the average value of the motion vector of block G, the motion vector of block H, and the motion vector of block I (step S1904). .

最後に、ステップS1904で決定された値PMVi(i=x,y)を出力し(ステップS1905)、処理を終了する。   Finally, the value PMVi (i = x, y) determined in step S1904 is output (step S1905), and the process ends.

なお、図34のフローチャートに示される一連の処理はx成分、y成分に分けずにベクトルの差分(具体的にはベクトルノルムなど)を算出し、動きベクトルのx成分、y成分を同時に決定してもよい。   The series of processes shown in the flowchart of FIG. 34 calculates a vector difference (specifically, a vector norm) without dividing the x component and the y component, and simultaneously determines the x component and the y component of the motion vector. May be.

また、ステップS1902において動きベクトルの類似性をあらわす値として分散を用いたが、標準偏差や、各ブロック間の動きベクトルの差分値や、それら複数の差分値の平均を用いてもよい。   Further, although variance is used as a value representing the similarity of motion vectors in step S1902, standard deviation, a difference value of motion vectors between blocks, or an average of a plurality of difference values may be used.

ステップS1904において、3つの動きベクトルの平均値を動きベクトルの予測値としたが、3つの動きベクトルの中間値、あるいはいずれかひとつの値を予測値としてもよい。   In step S1904, the average value of the three motion vectors is used as the predicted value of the motion vector. However, an intermediate value of the three motion vectors or any one of the values may be used as the predicted value.

図34では時間方向、空間方向にそれぞれ連続する3ブロックの動きベクトルを参照して動きベクトル予測値の決定を行ったが、これは時間方向のみでもよい。またそれぞれの方向に2ブロックのみ、あるいは4ブロック以上のブロックを用いてもよい。また時間方向で隣り合うフレームのブロックと空間方向で1ブロック以上隔てたブロックを組み合わせて用いてもよい。   In FIG. 34, the motion vector prediction value is determined with reference to three blocks of motion vectors that are continuous in the time direction and the spatial direction, but this may be only in the time direction. Further, only two blocks or four or more blocks may be used in each direction. Further, a block of frames adjacent in the time direction and a block separated by one or more blocks in the spatial direction may be used in combination.

また、対象ブロックを含む領域が大きく移動しているような場合の予測精度をあげるために、図33に示されるブロックの位置関係は以下のように定めてもよい。   Further, in order to increase the prediction accuracy when the region including the target block is moving greatly, the positional relationship of the blocks shown in FIG. 33 may be determined as follows.

対象ブロックをJとし、フレームF901はブロックJを含むフレームであり、フレームF902、F903、F904は既に復号化済みのフレームである。   The target block is J, frame F901 is a frame including block J, and frames F902, F903, and F904 are already decoded frames.

フレームF901において、ブロックIをブロックJの最も左上の画素の真上の画素を含むブロック、ブロックHをブロックIの最も左上の画素の真上の画素を含むブロック、ブロックGをブロックHの最も左上の画素の真上の画素を含むブロック、ブロックFをブロックJの最も左上の画素の真左の画素を含むブロック、ブロックEをブロックFの最も左上の画素の真左の画素を含むブロック、ブロックDをブロックEの最も左上の画素の真左の画素を含むブロックとする。   In frame F901, block I is a block including the pixel immediately above the uppermost leftmost pixel of block J, block H is a block including the pixel immediately above the uppermost leftmost pixel of block I, and block G is the uppermost leftmost of block H. A block including the pixel immediately above the leftmost pixel of the block J, a block F including the pixel immediately left of the uppermost leftmost pixel of the block J, a block E including a pixel immediately above the leftmost pixel of the block F, and a block Let D be a block including the pixel immediately to the left of the upper leftmost pixel of block E.

フレームF902において、ブロックCはブロックIの動きベクトルが参照しているブロック、またはブロックFの動きベクトルが参照しているブロック、またはブロックJの最も左上の画素の真左上の画素を含むブロック(ブロックKとする)の動きベクトルが参照しているブロックとする。   In the frame F902, a block C is a block including a pixel referred to by a motion vector of the block I, a block referred to by a motion vector of the block F, or a block including a pixel at the upper left of the upper left pixel of the block J (block K)) is referred to by the motion vector.

フレームF903において、ブロックBはブロックCの動きベクトルが参照しているブロックとする。   In the frame F903, the block B is a block referred to by the motion vector of the block C.

フレームF904において、ブロックAはブロックBの動きベクトルが参照しているブロックとする。   In frame F904, block A is a block that is referenced by the motion vector of block B.

なお上記の定め方をする場合、各ブロックの大きさ以下の精度で類似する画像信号パターンの位置を探し出して動きベクトルの検出を行う際に、ブロックI、ブロックF、ブロックK、ブロックC、ブロックBが参照するブロックが動きベクトルをもつ複数のブロックにまたがることが考えられるが、その際はそれら複数のブロックの動きベクトルの平均値、あるいはまたがる領域でもっとも占める割合の高いブロックの動きベクトルを該当するブロック(IあるいはFあるいはKあるいはCあるいはB)が参照するブロックの動きベクトルとして用いるものとする。   If the above method is used, block I, block F, block K, block C, block block when detecting the position of a similar image signal pattern with accuracy below the size of each block and detecting the motion vector It is possible that the block referenced by B spans multiple blocks with motion vectors. In this case, the average value of the motion vectors of the multiple blocks or the motion vector of the block with the highest ratio in the spanning area is applicable. This block is used as a motion vector of a block referred to by a block (I or F or K or C or B).

さらに、動き予測器406における動きベクトルの予測値の決定は、以下に示すように空間的に1画素以上隔てられたブロックの動きベクトル、または時間方向で1フレーム以上隔てられたフレームにあるブロックの動きベクトルに基づいて行われてもよい。   Furthermore, the motion vector predictor 406 determines the motion vector prediction value of a block in a block that is spatially separated by one or more pixels, as shown below, or in a frame that is separated by one or more frames in the temporal direction. It may be performed based on a motion vector.

このような動きベクトルの予測値の決定方法は、動きベクトルの大勢を反映した予測をすることで、高精度の動きベクトル予測値を得る効果がある。また、ノイズや局所的な変化による影響を打ち消す効果もある。   Such a method for determining a motion vector prediction value has an effect of obtaining a motion vector prediction value with high accuracy by performing prediction reflecting a large number of motion vectors. It also has the effect of countering the effects of noise and local changes.

また、動き予測器406における動きベクトルの予測値は、過去に復号化済みのブロックの動きベクトルをそのまま引用して動きベクトル予測値とする代わりに、以下に示すように複数ある動きベクトルの決定方法の中からひとつを選択して、その決定方法にしたがって決定してもよい。   In addition, the motion vector prediction value in the motion predictor 406 is determined as a motion vector prediction value as described below, instead of using the motion vector of a previously decoded block as it is as a motion vector prediction value. One of them may be selected and determined according to the determination method.

図35は、動き予測器406における動きベクトルの予測値の決定手順の説明に用いる模式図である。   FIG. 35 is a schematic diagram used for explaining a procedure for determining a motion vector prediction value in the motion predictor 406.

図35で、対象ブロックをMとし、フレームF1001はブロックMを含むフレームである。フレームF1002は既に復号化済みのフレームで、フレームF1001とは時間方向で隣り合うフレームである。フレームF1003は既に復号化済みのフレームで、フレームF1002とは時間方向で隣り合うフレームである。フレームF1004は既に復号化済みのフレームで、フレームF1003とは時間方向で隣り合うフレームである。   In FIG. 35, the target block is M, and a frame F1001 is a frame including the block M. A frame F1002 is a frame that has already been decoded, and is adjacent to the frame F1001 in the time direction. The frame F1003 is a frame that has already been decoded, and the frame F1002 is a frame that is adjacent in the time direction. The frame F1004 is a frame that has already been decoded, and the frame F1003 is a frame that is adjacent in the time direction.

フレームF1001において、ブロックIをブロックMの最も左上の画素の真上の画素を含むブロック、ブロックHをブロックIの最も左上の画素の真上の画素を含むブロック、ブロックGをブロックHの最も左上の画素の真上の画素を含むブロック、ブロックFをブロックMの最も左上の画素の真左の画素を含むブロック、ブロックEをブロックFの最も左上の画素の真左の画素を含むブロック、ブロックDをブロックEの最も左上の画素の真左の画素を含むブロックとする。また、ブロックKをブロックMの最も左上の画素の真左上の画素を含むブロック、ブロックLをブロックKの最も左上の画素の真上の画素を含むブロック、ブロックJをブロックMの最も右上の画素の真右上の画素を含むブロックとする。   In frame F1001, block I is a block including the pixel immediately above the uppermost leftmost pixel of block M, block H is a block including the pixel immediately above the uppermost leftmost pixel of block I, and block G is the uppermost leftmost of block H. A block including the pixel immediately above the leftmost pixel of the block M, a block F including the pixel immediately left of the leftmost pixel of the block M, and a block E including a pixel immediately left of the uppermost left pixel of the block F Let D be a block including the pixel immediately to the left of the upper leftmost pixel of block E. Also, block K is a block including the pixel immediately above the upper left pixel of block M, block L is a block including the pixel immediately above the upper left pixel of block K, and block J is the upper right pixel of block M. A block including a pixel on the right upper side of.

フレームF1002において、ブロックCはブロックMの最も左上の画素と同じ空間位置の画素を含むブロックとする。   In the frame F1002, the block C is a block including a pixel at the same spatial position as the upper left pixel of the block M.

フレームF1003において、ブロックBはブロックCの最も左上の画素と同じ空間位置の画素を含むブロックとする。   In the frame F1003, the block B is a block including a pixel at the same spatial position as the upper left pixel of the block C.

フレームF1004において、ブロックAはブロックBの最も左上の画素と同じ空間位置の画素を含むブロックとする。   In the frame F1004, the block A is a block including a pixel at the same spatial position as the upper left pixel of the block B.

図36は、動き予測器406における動きベクトル予測値を決定する手順を説明するためのフローチャートである。   FIG. 36 is a flowchart for explaining a procedure for determining a motion vector prediction value in the motion predictor 406.

まず動き予測器406は、ラインL410を経由して入力される復号化済みのブロックA、B、C、D、E、F、G、H、I、J、K、Lの動きベクトルと対応する参照フレーム番号を取得する(ステップS2001)。   First, the motion predictor 406 corresponds to the motion vectors of the decoded blocks A, B, C, D, E, F, G, H, I, J, K, and L that are input via the line L410. A reference frame number is acquired (step S2001).

なおステップS2001で取得される動きベクトルは、対象ブロックを含むフレームと、対象ブロックの動きベクトルが参照するフレームとの時間的距離に基づいてスケーリングされることが好ましい。スケーリングの際には各ブロックの動きベクトルが参照するフレームの時刻を用いるため、各ブロックに対応する参照フレーム番号からその時刻を求める必要がある。   Note that the motion vector acquired in step S2001 is preferably scaled based on the temporal distance between the frame including the target block and the frame referred to by the motion vector of the target block. Since the time of the frame referred to by the motion vector of each block is used at the time of scaling, it is necessary to obtain the time from the reference frame number corresponding to each block.

スケーリングによって、対象ブロックを含むフレームの時刻t0から、対象ブロックの動きベクトルが参照するフレームの時刻teまでの時間的距離(t0-te)を基準にして、取得した復号化済みのブロックA、B、C、D、E、F、G、H、I、J、K、Lの動きベクトルの大きさを補正することができる。具体的に一例を挙げると、ブロックAの動きベクトルMViA(i=x,y)が参照するフレームの時刻をta、ブロックAを含むフレームの時刻をt1とすると、スケーリングされた動きベクトルMViA’(i=x,y)は、式(1)によって与えられるベクトルである。   The obtained decoded blocks A and B based on the temporal distance (t0-te) from the time t0 of the frame including the target block to the time te of the frame referred to by the motion vector of the target block by scaling. , C, D, E, F, G, H, I, J, K, and L, the magnitudes of motion vectors can be corrected. As a specific example, if the time of the frame referred to by the motion vector MViA (i = x, y) of the block A is ta and the time of the frame including the block A is t1, the scaled motion vector MViA ′ ( i = x, y) is a vector given by equation (1).

なお、このスケーリング処理は必須ではなく、スケーリング処理を行わない場合は各ブロックに対応する参照フレーム番号は必要ない。   Note that this scaling processing is not essential, and reference frame numbers corresponding to the respective blocks are not required when the scaling processing is not performed.

また、ステップS2001において復号化済みのブロックそのもの、あるいは復号化済みのブロックの動きベクトルが存在しない場合、そのブロックは極めて大きい動きベクトルを持つとみなし、十分大きな値とした上で処理を進める。あるいは、処理対象から除く。   If there is no decoded block itself or a motion vector of the decoded block in step S2001, the block is regarded as having a very large motion vector, and the process proceeds with a sufficiently large value. Alternatively, it is excluded from the processing target.

続いて、ブロックAの動きベクトルとブロックBの動きベクトルとブロックCの動きベクトルのx成分の分散、ブロックDの動きベクトルとブロックEの動きベクトルとブロックFの動きベクトルのx成分の分散、ブロックJの動きベクトルとブロックKの動きベクトルとブロックIの動きベクトルのx成分の分散、の3組のx成分の分散をそれぞれ算出する。(ステップS2002)
次に、ステップS2002で算出された3通りの分散のうち、どの組み合わせの分散が最小のものであるかが判定される。(ステップS2003)。
Subsequently, the variance of the x component of the motion vector of block A, the motion vector of block B, and the motion vector of block C, the variance of the x component of the motion vector of block D, the motion vector of block E, and the motion vector of block F, block The three sets of x component variances of the J motion vector, the block K motion vector, and the block I motion vector variance are calculated. (Step S2002)
Next, it is determined which combination of the three variances calculated in step S2002 has the smallest variance. (Step S2003).

ステップS2003での判定の結果、もっとも小さい差分を与える組み合わせがブロックAとブロックBとブロックCである場合には、ブロックMの動きベクトル予測値のx成分はブロックAの動きベクトルとブロックBの動きベクトルとブロックCの動きベクトルのx成分の平均値に決定される。ブロックDとブロックEとブロックFである場合には、ブロックMの動きベクトル予測値のx成分はブロックDの動きベクトルとブロックEの動きベクトルとブロックFの動きベクトルのx成分の平均値に決定される。ブロックJとブロックKとブロックIである場合には、ブロックMの動きベクトル予測値のx成分はブロックJの動きベクトルとブロックKの動きベクトルとブロックIの動きベクトルのx成分の平均値に決定される(ステップS2004)。   As a result of the determination in step S2003, if the combination that gives the smallest difference is block A, block B, and block C, the x component of the motion vector prediction value of block M is the motion vector of block A and the motion of block B. The average value of the x component of the vector and the motion vector of block C is determined. In the case of block D, block E, and block F, the x component of the motion vector prediction value of block M is determined as the average value of the motion vector of block D, the motion vector of block E, and the x component of the motion vector of block F Is done. In the case of block J, block K, and block I, the x component of the motion vector prediction value of block M is determined as the average value of the motion vector of block J, the motion vector of block K, and the x component of the motion vector of block I (Step S2004).

続いて、ブロックAの動きベクトルとブロックBの動きベクトルとブロックCの動きベクトルのy成分の分散、ブロックGの動きベクトルとブロックHの動きベクトルとブロックIの動きベクトルのy成分の分散、ブロックLの動きベクトルとブロックKの動きベクトルとブロックFの動きベクトルのy成分の分散、の3組のy成分の分散をそれぞれ算出する。(ステップS2005)
次に、ステップS2005で算出された3通りの分散のうち、どの組み合わせの分散が最小のものであるかが判定される。(ステップS2006)。
Subsequently, variance of y component of motion vector of block A, motion vector of block B and motion vector of block C, variance of y component of motion vector of block G, motion vector of block H and motion vector of block I, block Three sets of variances of the y component of the L motion vector, the motion vector of the block K, and the variance of the y component of the motion vector of the block F are calculated. (Step S2005)
Next, it is determined which combination of the three variances calculated in step S2005 has the smallest variance. (Step S2006).

ステップS2006での判定の結果、もっとも小さい差分を与える組み合わせがブロックAとブロックBとブロックCである場合には、ブロックMの動きベクトル予測値のy成分はブロックAの動きベクトルとブロックBの動きベクトルとブロックCの動きベクトルのy成分の平均値に決定される。ブロックGとブロックHとブロックIである場合には、ブロックMの動きベクトル予測値のy成分はブロックGの動きベクトルとブロックHの動きベクトルとブロックIの動きベクトルのy成分の平均値に決定される。ブロックLとブロックKとブロックFである場合には、ブロックMの動きベクトル予測値のy成分はブロックLの動きベクトルとブロックKの動きベクトルとブロックFの動きベクトルのy成分の平均値に決定される(ステップS2007)。   As a result of the determination in step S2006, when the combination that gives the smallest difference is block A, block B, and block C, the y component of the motion vector prediction value of block M is the motion vector of block A and the motion of block B. The average value of the y component of the vector and the motion vector of block C is determined. In the case of block G, block H, and block I, the y component of the motion vector prediction value of block M is determined as the average value of the y component of the motion vector of block G, the motion vector of block H, and the motion vector of block I Is done. In the case of block L, block K, and block F, the y component of the motion vector prediction value of block M is determined as the average value of the motion vector of block L, the motion vector of block K, and the y component of the motion vector of block F (Step S2007).

最後に、ステップS2007で決定された値PMVi(i=x,y)を出力し(ステップS2008)、処理を終了する。   Finally, the value PMVi (i = x, y) determined in step S2007 is output (step S2008), and the process ends.

また、ステップS2002、ステップS2005において動きベクトルの類似性をあらわす値として分散を用いたが、標準偏差や、各ブロック間の動きベクトルの差分値や、それら複数の差分値の平均を用いてもよい。   Further, in step S2002 and step S2005, variance is used as a value representing the similarity of motion vectors. However, a standard deviation, a difference value of motion vectors between blocks, or an average of a plurality of difference values may be used. .

ステップS2004、ステップS2007において、3つの動きベクトルの平均値を動きベクトルの予測値としたが、3つの動きベクトルの中間値、あるいはいずれかひとつの値を予測値としてもよい。   In step S2004 and step S2007, the average value of the three motion vectors is used as the predicted value of the motion vector, but an intermediate value of the three motion vectors or any one of the values may be used as the predicted value.

図36では時間方向、空間方向にそれぞれ連続する3ブロックの動きベクトルを参照して動きベクトル予測値の決定を行ったが、空間方向のみでもよい。またそれぞれの方向に2ブロックのみ、あるいは4ブロック以上のブロックを用いてもよい。また時間方向で隣り合うフレームのブロックと空間方向で1ブロック以上隔てたブロックを組み合わせて用いてもよい。   In FIG. 36, the motion vector prediction value is determined by referring to three blocks of motion vectors that are continuous in the time direction and the space direction, but only the space direction may be used. Further, only two blocks or four or more blocks may be used in each direction. Further, a block of frames adjacent in the time direction and a block separated by one or more blocks in the spatial direction may be used in combination.

また、対象ブロックを含む領域が大きく移動しているような場合の予測精度をあげるために、図35に示されるブロックの位置関係は以下のように定めてもよい。   Further, in order to increase the prediction accuracy when the region including the target block is greatly moved, the positional relationship of the blocks shown in FIG. 35 may be determined as follows.

対象ブロックをMとし、フレームF1001はブロックMを含むフレームであり、フレームF1002、F1003、F1004は既に復号化済みのフレームである。   The target block is M, the frame F1001 is a frame including the block M, and the frames F1002, F1003, and F1004 are already decoded frames.

フレームF1001において、ブロックIをブロックMの最も左上の画素の真上の画素を含むブロック、ブロックHをブロックIの最も左上の画素の真上の画素を含むブロック、ブロックGをブロックHの最も左上の画素の真上の画素を含むブロック、ブロックFをブロックMの最も左上の画素の真左の画素を含むブロック、ブロックEをブロックFの最も左上の画素の真左の画素を含むブロック、ブロックDをブロックEの最も左上の画素の真左の画素を含むブロックとする。また、ブロックKをブロックMの最も左上の画素の真左上の画素を含むブロック、ブロックLをブロックKの最も左上の画素の真上の画素を含むブロック、ブロックJをブロックMの最も右上の画素の真右上の画素を含むブロックとする。   In frame F1001, block I is a block including the pixel immediately above the uppermost leftmost pixel of block M, block H is a block including the pixel immediately above the uppermost leftmost pixel of block I, and block G is the uppermost leftmost of block H. A block including the pixel immediately above the leftmost pixel of the block M, a block F including the pixel immediately left of the leftmost pixel of the block M, and a block E including a pixel immediately left of the uppermost left pixel of the block F Let D be a block including the pixel immediately to the left of the upper leftmost pixel of block E. Also, block K is a block including the pixel immediately above the upper left pixel of block M, block L is a block including the pixel immediately above the upper left pixel of block K, and block J is the upper right pixel of block M. A block including a pixel on the right upper side of.

フレームF1002において、ブロックCはブロックIの動きベクトルが参照しているブロック、またはブロックKの動きベクトルが参照しているブロック、またはブロックFの動きベクトルが参照しているブロックとする。   In the frame F1002, the block C is a block that is referenced by the motion vector of the block I, a block that is referenced by the motion vector of the block K, or a block that is referenced by the motion vector of the block F.

フレームF1003において、ブロックBはブロックCの動きベクトルが参照しているブロックとする。   In the frame F1003, the block B is a block referred to by the motion vector of the block C.

フレームF1004において、ブロックAはブロックBの動きベクトルが参照しているブロックとする。   In the frame F1004, the block A is a block referred to by the motion vector of the block B.

なお上記の定め方をする場合、各ブロックの大きさ以下の精度で類似する画像信号パターンの位置を探し出して動きベクトルの検出を行う際に、ブロックI、ブロックK、ブロックF、ブロックC、ブロックBが参照するブロックが動きベクトルをもつ複数のブロックにまたがることが考えられるが、その際はそれら複数のブロックの動きベクトルの平均値、あるいはまたがる領域でもっとも占める割合の高いブロックの動きベクトルを該当するブロック(IあるいはKあるいはFあるいはCあるいはB)が参照するブロックの動きベクトルとして用いるものとする。   If the above method is used, block I, block K, block F, block C, block block when detecting the position of a similar image signal pattern with accuracy below the size of each block and detecting the motion vector It is possible that the block referenced by B spans multiple blocks with motion vectors. In this case, the average value of the motion vectors of the multiple blocks or the motion vector of the block with the highest ratio in the spanning area is applicable. This block is used as a motion vector of a block to be referenced by a block (I or K or F or C or B).

ところで、動きベクトル予測値を算出する際に、周辺にある過去に復号化済みの動きベクトルから一部の動きベクトルを選択するのではなく、以下のように重み付けによって周辺の動きベクトルを有効利用する方法を採用してもよい。この場合、重み付けによって周辺の動きベクトルを有効利用することで、局所的な動きベクトルの変化の影響を少なくし、動きベクトルの変化の大勢を反映した予測値を得ることができ、予測精度を高めることができる。   By the way, when calculating a motion vector prediction value, a peripheral motion vector is effectively used by weighting as follows, instead of selecting a part of motion vectors from the motion vectors decoded in the past in the vicinity. A method may be adopted. In this case, by effectively using surrounding motion vectors by weighting, it is possible to reduce the influence of local motion vector changes, obtain a predicted value reflecting the majority of motion vector changes, and improve prediction accuracy. be able to.

以下では、重み付けによる周辺の動きベクトル利用方法を、(a)図27のブロックに適用した例、(b)図31のブロックに適用した例、(c)図33のブロックに適用した例を、順に説明する。   In the following, the peripheral motion vector using method by weighting is applied to (a) an example applied to the block of FIG. 27, (b) an example applied to the block of FIG. 31, and (c) an example applied to the block of FIG. These will be described in order.

まず、(a)図27のブロックに適用した例としては、例えば、図60のフローチャートが挙げられる。即ち、動き予測器406における動きベクトル予測値を決定する手順は、図60のフローチャートに従って実行すればよい。動きベクトルx成分、y成分はそれぞれ独立に予測値が決定されるものとする。具体的にはまず動きベクトルのx成分の予測値を決定・出力し、次にy成分の予測値を決定・出力する。以下では必要に応じて、成分を示す添え字をiと記す(iはx又はyである)。   First, (a) as an example applied to the block of FIG. 27, for example, the flowchart of FIG. That is, the procedure for determining the motion vector prediction value in the motion predictor 406 may be executed according to the flowchart of FIG. It is assumed that predicted values are determined independently for the motion vector x component and the y component. Specifically, first, the predicted value of the x component of the motion vector is determined and output, and then the predicted value of the y component is determined and output. In the following, a subscript indicating a component is written as i (i is x or y) as necessary.

まず動き予測器406は、ラインL410を経由して入力される復号化済みのブロックA、B、C、D、E、Fの動きベクトルと対応する参照フレーム番号を取得する(ステップS3301)。   First, the motion predictor 406 acquires reference frame numbers corresponding to motion vectors of decoded blocks A, B, C, D, E, and F input via the line L410 (step S3301).

なおステップS3301で取得される動きベクトルは、対象ブロックを含むフレームと、対象ブロックの動きベクトルが参照するフレームとの時間的距離に基づいてスケーリングされることが好ましい。スケーリングの際には各ブロックの動きベクトルが参照するフレームの時刻を用いるため、各ブロックに対応する参照フレーム番号からその時刻を求める必要がある。   Note that the motion vector acquired in step S3301 is preferably scaled based on a temporal distance between a frame including the target block and a frame referred to by the motion vector of the target block. Since the time of the frame referred to by the motion vector of each block is used at the time of scaling, it is necessary to obtain the time from the reference frame number corresponding to each block.

スケーリングによって、対象ブロックを含むフレームの時刻t0から、対象ブロックの動きベクトルが参照するフレームの時刻teまでの時間的距離(t0-te)を基準にして、取得した復号化済みのブロックA、B、C、D、E、Fの動きベクトルの大きさを補正することができる。具体的に一例を挙げると、ブロックAの動きベクトルMViA(i=x,y)が参照するフレームの時刻をta、ブロックAを含むフレームの時刻をt1とすると、スケーリングされた動きベクトルMViA’(i=x,y)は、式(1)によって与えられるベクトルである。   The obtained decoded blocks A and B based on the temporal distance (t0-te) from the time t0 of the frame including the target block to the time te of the frame referred to by the motion vector of the target block by scaling. , C, D, E, and F motion vector magnitudes can be corrected. As a specific example, if the time of the frame referred to by the motion vector MViA (i = x, y) of the block A is ta and the time of the frame including the block A is t1, the scaled motion vector MViA ′ ( i = x, y) is a vector given by equation (1).

なお、このスケーリング処理は必須ではなく、スケーリング処理を行わない場合は各ブロックに対応する参照フレーム番号は必要ない。   Note that this scaling processing is not essential, and reference frame numbers corresponding to the respective blocks are not required when the scaling processing is not performed.

また、ステップS3301において復号化済みのブロックそのもの、あるいは復号化済みのブロックの動きベクトルが存在しない場合、そのブロックは極めて大きい動きベクトルを持つとみなし、十分大きな値とした上で処理を進める。あるいは、処理対象から除く。   If the decoded block itself or the motion vector of the decoded block does not exist in step S3301, it is assumed that the block has a very large motion vector, and the process proceeds with a sufficiently large value. Alternatively, it is excluded from the processing target.

続いて、ブロックBの動きベクトルとブロックEの動きベクトルの差分MViD_0(i=x,y)、ブロックCの動きベクトルとブロックFの動きベクトルの差分MViD_1(i=x,y)、ブロックDの動きベクトルとブロックEの動きベクトルの差分MViD_2(i=x,y)、ブロックDの動きベクトルとブロックFの動きベクトルの差分MViD_3(i=x,y)、が算出される(ステップS3302)。   Subsequently, the difference MViD — 0 (i = x, y) between the motion vector of block B and the motion vector of block E, the difference MViD — 1 (i = x, y) between the motion vector of block C and the motion vector of block F, A difference MViD — 2 (i = x, y) between the motion vector and the motion vector of block E, and a difference MViD — 3 (i = x, y) between the motion vector of block D and the motion vector of block F are calculated (step S3302).

次に、ステップS3302で算出された各差分を変数とする関数Fを用いた前述の式(2)に基づいて、ブロックA、F、Eの動きベクトル全てを有効利用して、動きベクトル予測値PMVi(i=x,y)を算出する(ステップS3303)。   Next, based on the above equation (2) using the function F having each difference as a variable calculated in step S3302, all the motion vectors of the blocks A, F, and E are effectively used, and a motion vector prediction value is obtained. PMVi (i = x, y) is calculated (step S3303).

最後に、算出された動きベクトル予測値PMVi(i=x,y)を出力し(ステップS3304)、処理を終了する。   Finally, the calculated motion vector prediction value PMVi (i = x, y) is output (step S3304), and the process ends.

なお、図60のフローチャートに示される一連の処理はx成分、y成分に分けずにベクトルの差分(具体的にはベクトルノルムなど)を算出し、動きベクトルのx成分、y成分を同時に決定してもよい。   The series of processes shown in the flowchart of FIG. 60 calculates a vector difference (specifically, a vector norm) without dividing the x component and the y component, and simultaneously determines the x component and the y component of the motion vector. May be.

また、式(2)で用いられる関数Fとしては、例えば、変数(差分)の逆数を算出する関数を採用してもよい。この場合、例えばブロックBの動きベクトルとブロックEの動きベクトルの差分MViD_0(i=x,y)が小さいとき、当該差分の逆数、即ち、大きな値がブロックAの動きベクトルの重み付け係数となるので、ブロックAの動きベクトルの重みを大きくすることができる。   Moreover, as the function F used by Formula (2), you may employ | adopt the function which calculates the reciprocal number of a variable (difference), for example. In this case, for example, when the difference MViD — 0 (i = x, y) between the motion vector of the block B and the motion vector of the block E is small, the reciprocal of the difference, that is, a large value becomes the weighting coefficient of the motion vector of the block A. The weight of the motion vector of block A can be increased.

次に、(b)図31のブロックに適用した例としては、例えば、図61のフローチャートが挙げられる。即ち、動き予測器406における動きベクトル予測値を決定する手順は、図61のフローチャートに従って実行すればよい。動きベクトルx成分、y成分はそれぞれ独立に予測値が決定されるものとする。具体的にはまず動きベクトルのx成分の予測値を決定・出力し、次にy成分の予測値を決定・出力する。以下では必要に応じて、成分を示す添え字をiと記す(iはx又はyである)。   Next, (b) as an example applied to the block of FIG. 31, for example, the flowchart of FIG. That is, the procedure for determining the motion vector prediction value in the motion predictor 406 may be executed according to the flowchart of FIG. It is assumed that predicted values are determined independently for the motion vector x component and the y component. Specifically, first, the predicted value of the x component of the motion vector is determined and output, and then the predicted value of the y component is determined and output. In the following, a subscript indicating a component is written as i (i is x or y) as necessary.

まず動き予測器406は、ラインL410を経由して入力される復号化済みのブロックA、B、C、D、E、F、Gの動きベクトルと対応する参照フレーム番号を取得する(ステップS3401)。   First, the motion predictor 406 acquires reference frame numbers corresponding to the motion vectors of the decoded blocks A, B, C, D, E, F, and G input via the line L410 (step S3401). .

なおステップS3401で取得される動きベクトルは、対象ブロックを含むフレームと、対象ブロックの動きベクトルが参照するフレームとの時間的距離に基づいてスケーリングされることが好ましい。スケーリングの際には各ブロックの動きベクトルが参照するフレームの時刻を用いるため、各ブロックに対応する参照フレーム番号からその時刻を求める必要がある。   Note that the motion vector acquired in step S3401 is preferably scaled based on a temporal distance between a frame including the target block and a frame referred to by the motion vector of the target block. Since the time of the frame referred to by the motion vector of each block is used at the time of scaling, it is necessary to obtain the time from the reference frame number corresponding to each block.

スケーリングによって、対象ブロックを含むフレームの時刻t0から、対象ブロックの動きベクトルが参照するフレームの時刻teまでの時間的距離(t0-te)を基準にして、取得した復号化済みのブロックA、B、C、D、E、F、Gの動きベクトルの大きさを補正することができる。具体的に一例を挙げると、ブロックAの動きベクトルMViA(i=x,y)が参照するフレームの時刻をta、ブロックAを含むフレームの時刻をt1とすると、スケーリングされた動きベクトルMViA’(i=x,y)は、式(1)によって与えられるベクトルである。   The obtained decoded blocks A and B based on the temporal distance (t0-te) from the time t0 of the frame including the target block to the time te of the frame referred to by the motion vector of the target block by scaling. , C, D, E, F, and G motion vector magnitudes can be corrected. As a specific example, if the time of the frame referred to by the motion vector MViA (i = x, y) of the block A is ta and the time of the frame including the block A is t1, the scaled motion vector MViA ′ ( i = x, y) is a vector given by equation (1).

なお、このスケーリング処理は必須ではなく、スケーリング処理を行わない場合は各ブロックに対応する参照フレーム番号は必要ない。   Note that this scaling processing is not essential, and reference frame numbers corresponding to the respective blocks are not required when the scaling processing is not performed.

また、ステップS3401において復号化済みのブロックそのもの、あるいは復号化済みのブロックの動きベクトルが存在しない場合、そのブロックは極めて大きい動きベクトルを持つとみなし、十分大きな値とした上で処理を進める。あるいは、処理対象から除く。   If the decoded block itself or the motion vector of the decoded block does not exist in step S3401, it is assumed that the block has a very large motion vector, and the process proceeds with a sufficiently large value. Alternatively, it is excluded from the processing target.

続いて、ブロックBの動きベクトルとブロックFの動きベクトルの差分MViD_0(i=x,y)、ブロックCの動きベクトルとブロックGの動きベクトルの差分MViD_1(i=x,y)、ブロックAの動きベクトルとブロックDの動きベクトルの差分MViD_2(i=x,y)、ブロックEの動きベクトルとブロックFの動きベクトルの差分MViD_3(i=x,y)、ブロックEの動きベクトルとブロックGの動きベクトルの差分MViD_4(i=x,y)の5通りが算出される(ステップS3402)。   Subsequently, the difference MViD — 0 (i = x, y) between the motion vector of block B and the motion vector of block F, the difference MViD — 1 (i = x, y) between the motion vector of block C and the motion vector of block G, The difference MViD — 2 (i = x, y) between the motion vector and the motion vector of block D, the difference MViD — 3 (i = x, y) between the motion vector of block E and the motion vector of block F, the motion vector of block E and the block G Five types of motion vector differences MViD — 4 (i = x, y) are calculated (step S3402).

次に、ステップS3402で算出された各差分を変数とする関数Fを用いた前述の式(3)に基づいて、ブロックB、C、D、G、Fの動きベクトル全てを有効利用して、動きベクトル予測値PMVi(i=x,y)を算出する(ステップS3403)。   Next, all the motion vectors of the blocks B, C, D, G, and F are effectively used based on the above equation (3) using the function F having each difference as a variable calculated in step S3402. A motion vector prediction value PMVi (i = x, y) is calculated (step S3403).

最後に、算出された動きベクトル予測値PMVi(i=x,y)を出力し(ステップS3404)、処理を終了する。   Finally, the calculated motion vector prediction value PMVi (i = x, y) is output (step S3404), and the process ends.

なお、図61のフローチャートに示される一連の処理はx成分、y成分に分けずにベクトルの差分(具体的にはベクトルノルムなど)を算出し、動きベクトルのx成分、y成分を同時に決定してもよい。また、式(3)で用いられる関数Fとしては、例えば、変数(差分)の逆数を算出する関数を採用してもよい。この場合、例えばブロックBの動きベクトルとブロックFの動きベクトルの差分MViD_0(i=x,y)が小さいとき、当該差分の逆数、即ち、大きな値がブロックBの動きベクトルの重み付け係数となるので、ブロックBの動きベクトルの重みを大きくすることができる。   The series of processes shown in the flowchart of FIG. 61 calculates a vector difference (specifically, a vector norm) without dividing the x component and the y component, and simultaneously determines the x component and the y component of the motion vector. May be. Moreover, as the function F used by Formula (3), you may employ | adopt the function which calculates the reciprocal number of a variable (difference), for example. In this case, for example, when the difference MViD — 0 (i = x, y) between the motion vector of the block B and the motion vector of the block F is small, the reciprocal of the difference, that is, a large value becomes the weighting coefficient of the motion vector of the block B. The weight of the motion vector of block B can be increased.

また、ステップS3402において算出する差分は、ブロックBの動きベクトルとブロックFの動きベクトルの差分MViD_0(i=x,y)、ブロックCの動きベクトルとブロックGの動きベクトルの差分MViD_1(i=x,y)の2通りでもよい。その際、ステップS3403では、算出されない差分を変数とする関数F(MViD_2(i=x,y))、関数F(MViD_3(i=x,y))及び関数F(MViD_4(i=x,y))は0として動きベクトル予測値PMVi(i=x,y)を算出すればよい。この場合、空間方向の動きベクトルの差分を含まず、時間方向の動きベクトルの差分のみに基づいて動きベクトル予測値PMVi(i=x,y)を算出することができる。   The difference calculated in step S3402 is the difference MViD — 0 (i = x, y) between the motion vector of block B and the motion vector of block F, and the difference MViD — 1 (i = x) between the motion vector of block C and the motion vector of block G. , y). At this time, in step S3403, a function F (MV iD — 2 (i = x, y)), a function F (MV iD — 3 (i = x, y)), and a function F (MV iD — 4 (i = x, y)) are set. The motion vector prediction value PMVi (i = x, y) may be calculated with 0). In this case, the motion vector prediction value PMVi (i = x, y) can be calculated based on only the motion vector difference in the temporal direction without including the motion vector difference in the spatial direction.

更に、ステップS3402において算出する差分は、ブロックBの動きベクトルとブロックFの動きベクトルの差分MViD_0(i=x,y)、ブロックCの動きベクトルとブロックGの動きベクトルの差分MViD_1(i=x,y)、ブロックAの動きベクトルとブロックDの動きベクトルの差分MViD_2(i=x,y)の3通りでもよい。その際、ステップS3403では、算出されない差分を変数とする関数F(MViD_3(i=x,y))及び関数F(MViD_4(i=x,y))は0として動きベクトル予測値PMVi(i=x,y)を算出すればよい。この場合、対象ブロックから1フレーム以上隔てたブロック間での動きベクトルの差分を含んだ時間方向の動きベクトルの差分のみに基づいて動きベクトル予測値PMVi(i=x,y)を算出することができる。   Further, the differences calculated in step S3402 are the difference MViD — 0 (i = x, y) between the motion vector of block B and the motion vector of block F, and the difference MViD — 1 (i = x) of the motion vector of block C and the motion vector of block G. , y), the difference MViD_2 (i = x, y) between the motion vector of the block A and the motion vector of the block D may be used. At this time, in step S3403, the function F (MV iD — 3 (i = x, y)) and the function F (MV iD — 4 (i = x, y)) using the difference not calculated as variables are set to 0 and the motion vector prediction value PMVi (i = x, y) may be calculated. In this case, the motion vector prediction value PMVi (i = x, y) can be calculated based only on the temporal motion vector difference including the motion vector difference between the blocks one frame or more away from the target block. it can.

次に、(c)図33のブロックに適用した例としては、例えば、図62のフローチャートが挙げられる。即ち、動き予測器406における動きベクトル予測値を決定する手順は、図62のフローチャートに従って実行すればよい。動きベクトルx成分、y成分はそれぞれ独立に予測値が決定されるものとする。具体的にはまず動きベクトルのx成分の予測値を決定・出力し、次にy成分の予測値を決定・出力する。以下では必要に応じて、成分を示す添え字をiと記す(iはx又はyである)。   Next, (c) as an example applied to the block of FIG. 33, there is a flowchart of FIG. That is, the procedure for determining the motion vector prediction value in the motion predictor 406 may be executed according to the flowchart of FIG. It is assumed that predicted values are determined independently for the motion vector x component and the y component. Specifically, first, the predicted value of the x component of the motion vector is determined and output, and then the predicted value of the y component is determined and output. In the following, a subscript indicating a component is written as i (i is x or y) as necessary.

まず動き予測器406は、ラインL410を経由して入力される復号化済みのブロックA、B、C、D、E、F、G、H、Iの動きベクトルと対応する参照フレーム番号とラインL404を経由して入力される対象ブロックの参照フレーム番号を取得する(ステップS3501)。   First, the motion estimator 406 receives the reference frame number corresponding to the motion vector of the decoded blocks A, B, C, D, E, F, G, H, and I input via the line L410 and the line L404. The reference frame number of the target block input via is acquired (step S3501).

なおステップS3501で取得される動きベクトルは、対象ブロックを含むフレームと、対象ブロックの動きベクトルが参照するフレームとの時間的距離に基づいてスケーリングされることが好ましい。スケーリングの際には各ブロックの動きベクトルが参照するフレームの時刻を用いるため、各ブロックに対応する参照フレーム番号からその時刻を求める必要がある。   Note that the motion vector acquired in step S3501 is preferably scaled based on a temporal distance between a frame including the target block and a frame referred to by the motion vector of the target block. Since the time of the frame referred to by the motion vector of each block is used at the time of scaling, it is necessary to obtain the time from the reference frame number corresponding to each block.

スケーリングによって、対象ブロックを含むフレームの時刻t0から、対象ブロックの動きベクトルが参照するフレームの時刻teまでの時間的距離(t0-te)を基準にして、取得した復号化済みのブロックA、B、C、D、E、F、G、H、Iの動きベクトルの大きさを補正することができる。具体的に一例を挙げると、ブロックAの動きベクトルMViA(i=x,y)が参照するフレームの時刻をta、ブロックAを含むフレームの時刻をt1とすると、スケーリングされた動きベクトルMViA’(i=x,y)は、式(1)によって与えられるベクトルである。   The obtained decoded blocks A and B based on the temporal distance (t0-te) from the time t0 of the frame including the target block to the time te of the frame referred to by the motion vector of the target block by scaling. , C, D, E, F, G, H, and I can correct the magnitude of the motion vector. As a specific example, if the time of the frame referred to by the motion vector MViA (i = x, y) of the block A is ta and the time of the frame including the block A is t1, the scaled motion vector MViA ′ ( i = x, y) is a vector given by equation (1).

なお、このスケーリング処理は必須ではなく、スケーリング処理を行わない場合は各ブロックに対応する参照フレーム番号は必要ない。   Note that this scaling processing is not essential, and reference frame numbers corresponding to the respective blocks are not required when the scaling processing is not performed.

また、ステップS3501において復号化済みのブロックそのもの、あるいは復号化済みのブロックの動きベクトルが存在しない場合、そのブロックは極めて大きい動きベクトルを持つとみなし、十分大きな値とした上で処理を進める。あるいは、処理対象から除く。   If the decoded block itself or the motion vector of the decoded block does not exist in step S3501, it is assumed that the block has a very large motion vector, and the process proceeds with a sufficiently large value. Alternatively, it is excluded from the processing target.

続いて、ブロックAの動きベクトルとブロックBの動きベクトルとブロックCの動きベクトルの分散MViV_0(i=x,y)、ブロックDの動きベクトルとブロックEの動きベクトルとブロックFの動きベクトルの分散MViV_1(i=x,y)、ブロックGの動きベクトルとブロックHの動きベクトルとブロックIの動きベクトルの分散MViV_2(i=x,y)、の3組の分散をそれぞれ算出する。(ステップS3502)
次に、ステップS3502で算出された各分散を変数とする関数Fを用いた前述の式(4)に基づいて、ブロックA〜Iの9つの動きベクトル全てを有効利用して、動きベクトル予測値PMVi(i=x,y)を算出する(ステップS3503)。
Subsequently, variance of motion vector of block A, motion vector of block B and motion vector of block C, MViV_0 (i = x, y), variance of motion vector of block D, motion vector of block E and motion vector of block F Three sets of variances are calculated: MViV_1 (i = x, y), block G motion vector, block H motion vector, and block I motion vector variance MViV_2 (i = x, y). (Step S3502)
Next, based on the above equation (4) using the function F having each variance as a variable calculated in step S3502, all nine motion vectors of the blocks A to I are effectively used, and a motion vector prediction value is obtained. PMVi (i = x, y) is calculated (step S3503).

最後に、算出された動きベクトル予測値PMVi(i=x,y)を出力し(ステップS3504)、処理を終了する。   Finally, the calculated motion vector prediction value PMVi (i = x, y) is output (step S3504), and the process ends.

なお、図62のフローチャートに示される一連の処理はx成分、y成分に分けずにベクトルの差分(具体的にはベクトルノルムなど)を算出し、動きベクトルのx成分、y成分を同時に決定してもよい。また、式(4)で用いられる関数Fとしては、例えば、変数(分散)の逆数を算出する関数を採用してもよい。この場合、例えばブロックAの動きベクトルとブロックBの動きベクトルとブロックCの動きベクトルの分散MViV_0(i=x,y)が小さいとき、当該分散の逆数、即ち、大きな値がブロックAの動きベクトルとブロックBの動きベクトルとブロックCの動きベクトルの平均値の重み付け係数となるので、ブロックAの動きベクトルとブロックBの動きベクトルとブロックCの動きベクトルの平均値の重みを大きくすることができる。   The series of processes shown in the flowchart of FIG. 62 calculates a vector difference (specifically, a vector norm) without dividing the x component and the y component, and simultaneously determines the x component and the y component of the motion vector. May be. Moreover, as the function F used by Formula (4), you may employ | adopt the function which calculates the reciprocal number of a variable (dispersion), for example. In this case, for example, when the variance MViV — 0 (i = x, y) of the motion vector of block A, the motion vector of block B, and the motion vector of block C is small, the reciprocal of the variance, that is, a large value is the motion vector of block A Since the weighting coefficient of the average value of the motion vector of block B and the motion vector of block C can be increased, the weight of the average value of the motion vector of block A, the motion vector of block B, and the motion vector of block C can be increased. .

また、ステップS3502において動きベクトルの類似性をあらわす値として分散を用いたが、標準偏差や、各ブロック間の動きベクトルの差分値や、それら複数の差分値の平均を用いてもよい。   Further, although variance is used as a value representing the similarity of motion vectors in step S3502, a standard deviation, a difference value of motion vectors between blocks, or an average of the plurality of difference values may be used.

また、ステップS3503において、3つの動きベクトルの平均値を動きベクトルの予測値としたが、3つの動きベクトルの中間値、あるいはいずれかひとつの値を予測値としてもよい。   In step S3503, the average value of the three motion vectors is used as the predicted value of the motion vector, but an intermediate value of the three motion vectors or any one of the values may be used as the predicted value.

図62では時間方向、空間方向にそれぞれ連続する3ブロックの動きベクトルを参照して動きベクトル予測値の決定を行ったが、これは時間方向のみでもよい。またそれぞれの方向に2ブロックのみ、あるいは4ブロック以上のブロックを用いてもよい。また時間方向で隣り合うフレームのブロックと空間方向で1ブロック以上隔てたブロックを組み合わせて用いてもよい。   In FIG. 62, the motion vector prediction value is determined by referring to three blocks of motion vectors that are continuous in the time direction and the space direction, but this may be only in the time direction. Further, only two blocks or four or more blocks may be used in each direction. Further, a block of frames adjacent in the time direction and a block separated by one or more blocks in the spatial direction may be used in combination.

また、ステップS3502において算出する分散は、ブロックDの動きベクトルとブロックEの動きベクトルとブロックFの動きベクトルの分散MViV_1(i=x,y)、ブロックGの動きベクトルとブロックHの動きベクトルとブロックIの動きベクトルの分散MViV_2(i=x,y)、の2組のみでもよい。その際、ステップS3503では、算出されない分散を変数とする関数F(MViV_0(i=x,y))は0として動きベクトル予測値PMVi(i=x,y)を算出すればよい。この場合、対象ブロックから1ブロック以上隔てた複数ブロックを含む空間方向のみからの動きベクトル予測値PMVi(i=x,y)の算出を行うことができる。   The variance calculated in step S3502 is the variance MViV_1 (i = x, y) of the motion vector of block D, the motion vector of block E, and the motion vector of block F, the motion vector of block G, and the motion vector of block H. Only two sets of block vector motion vector variance MViV — 2 (i = x, y) may be used. At this time, in step S3503, the motion vector prediction value PMVi (i = x, y) may be calculated with the function F (MViV — 0 (i = x, y)) having the variance not calculated as 0 as 0. In this case, the motion vector prediction value PMVi (i = x, y) can be calculated only from the spatial direction including a plurality of blocks separated by one block or more from the target block.

最後に、コンピュータを動画像復号化装置40として動作させる動画像復号化プログラムについて説明する。図54は、本実施形態に係る動画像復号化プログラムP40の構成を示し、この動画像復号化プログラムP40は、記録媒体に格納されて提供される。記録媒体としては、フレキシブルディスク、CD−ROM、DVD、ROM等の記録媒体あるいは半導体メモリ等が例示される。なお、記録媒体に記憶されたプログラムを実行するためのコンピュータの構成は、既に説明した図63、図64の構成と同様であるため、重複した説明は省略する。   Finally, a video decoding program that causes a computer to operate as the video decoding device 40 will be described. FIG. 54 shows a configuration of a moving picture decoding program P40 according to the present embodiment, and the moving picture decoding program P40 is provided by being stored in a recording medium. Examples of the recording medium include a recording medium such as a flexible disk, a CD-ROM, a DVD, and a ROM, or a semiconductor memory. Note that the configuration of the computer for executing the program stored in the recording medium is the same as the configuration of FIGS. 63 and 64 already described, and therefore, a duplicate description is omitted.

図54に示すように、動画像復号化プログラムP40は、処理を統括するメインモジュールP401と、データ解析モジュールP402と、逆量子化モジュールP403と、逆変換モジュールP404と、記憶モジュールP405と、予測信号生成モジュールP406と、動き予測モジュールP407と、加算モジュールP408とを備えている。   As shown in FIG. 54, the moving picture decoding program P40 includes a main module P401 that supervises processing, a data analysis module P402, an inverse quantization module P403, an inverse transform module P404, a storage module P405, and a prediction signal. A generation module P406, a motion prediction module P407, and an addition module P408 are provided.

データ解析モジュールP402、逆量子化モジュールP403、逆変換モジュールP404、予測信号生成モジュールP406、動き予測モジュールP407がコンピュータに実現させる機能は、それぞれ図26のデータ解析器401、逆量子化器402、逆変換器403、予測信号生成器408、動き予測器406の機能と同様である。記憶モジュールP405がコンピュータに実現させる機能は、フレームメモリ404及び動きベクトルメモリ405の機能と同様である。また、加算モジュールP408がコンピュータに実現させる機能は、加算器407、409の機能と同様である。   The functions that the data analysis module P402, inverse quantization module P403, inverse transform module P404, prediction signal generation module P406, and motion prediction module P407 realize in the computer are the data analyzer 401, inverse quantizer 402, and inverse function of FIG. The functions of the converter 403, the prediction signal generator 408, and the motion predictor 406 are the same. The functions realized by the storage module P405 in the computer are the same as the functions of the frame memory 404 and the motion vector memory 405. The function that the adder module P408 realizes in the computer is the same as the function of the adders 407 and 409.

[第5実施形態]
図37を用いて、本発明に係る動画像復号化装置50について説明する。
[Fifth Embodiment]
The moving picture decoding apparatus 50 according to the present invention will be described with reference to FIG.

動画像復号化装置50は、機能的な構成要素として、図37に示すように、データ解析器501と、逆量子化器502と、逆変換器503と、フレームメモリ504と、動きベクトルメモリ505と、動き予測器506と、加算器507と、予測信号生成器508と、加算器509と、確率切替信号生成器510を備えて構成される。   As shown in FIG. 37, the moving picture decoding apparatus 50 includes a data analyzer 501, an inverse quantizer 502, an inverse transformer 503, a frame memory 504, and a motion vector memory 505 as functional components. A motion predictor 506, an adder 507, a prediction signal generator 508, an adder 509, and a probability switching signal generator 510.

動画像復号化装置50には、上述した動画像符号化装置によって符号化された圧縮ストリームを入力する。この圧縮ストリームには、復号化対象となるブロックの原信号と予測信号の差分を表す残差信号と、復号化対象となるブロックの予測信号の生成に関する情報が含まれている。   The moving picture decoding apparatus 50 receives the compressed stream encoded by the moving picture encoding apparatus described above. This compressed stream includes a residual signal that represents the difference between the original signal of the block to be decoded and the prediction signal, and information related to the generation of the prediction signal of the block to be decoded.

データ解析器501は、ラインL501を経由して入力された圧縮ストリームを解析することにより、直行変換および量子化された復号化の対象となるブロック(以下、対象ブロック)の残差信号を抽出しラインL502を経由して出力する。また、対象ブロックの動きベクトルとその予測値の差分である動きベクトル差分値を抽出し、ラインL503を経由して出力する、また対象ブロックの参照フレーム番号を抽出し、ラインL504を経由して出力する。また、ラインL512を経由して入力された確率切替信号に基づいて、データの抽出に用いる確率テーブルを後述の方法で切り替えたのち、対象ブロックの動きベクトル予測値を示すインデックスを抽出し、ラインL514を経由して出力する。   The data analyzer 501 analyzes the compressed stream input via the line L501 to extract a residual signal of a block (hereinafter referred to as a target block) to be decoded and subjected to direct transform and quantization. Output via line L502. Also, a motion vector difference value, which is the difference between the motion vector of the target block and its predicted value, is extracted and output via line L503, and the reference frame number of the target block is extracted and output via line L504. To do. Also, based on the probability switching signal input via the line L512, the probability table used for data extraction is switched by the method described later, and then an index indicating the motion vector prediction value of the target block is extracted, and the line L514 Output via.

逆量子化器502は、ラインL502を経由して入力された量子化された変換係数を逆量子化し、ラインL505を経由して復元された変換係数を出力する。   The inverse quantizer 502 inversely quantizes the quantized transform coefficient input via the line L502 and outputs the restored transform coefficient via the line L505.

逆変換器503は、ラインL505を経由して入力された変換係数を逆直交変換し、ラインL506を経由して復元された残差信号を出力する。   The inverse transformer 503 performs inverse orthogonal transform on the transform coefficient input via the line L505, and outputs a residual signal restored via the line L506.

フレームメモリ504は、ラインL507を経由して入力される過去に復号化済みのフレーム画像信号(以下、参照フレーム画像信号)を格納し、必要に応じてラインL508を経由して出力する。   The frame memory 504 stores a previously decoded frame image signal (hereinafter referred to as a reference frame image signal) input via the line L507 and outputs it via the line L508 if necessary.

動きベクトルメモリ505は、過去に復号化済みの動きベクトルとそれに対応した参照フレーム番号と併せて、ラインL509を経由して入力される対象ブロックの動きベクトルとラインL504を経由して入力される対象ブロックの参照フレーム番号を格納し、必要に応じてラインL510を経由して出力する。   The motion vector memory 505 includes the motion vector of the target block input via the line L509 and the target input via the line L504, together with the previously decoded motion vector and the corresponding reference frame number. The reference frame number of the block is stored and output via the line L510 as necessary.

動き予測器506は、ラインL514を経由して入力される動きベクトル予測値を示すインデックスと、ラインL510を経由して入力される過去に復号化済みのブロックの動きベクトルから、後述のフローに従って対象ブロックの動きベクトル予測値を算出し、ラインL511を経由して出力する。   The motion estimator 506 applies an index according to a flow described later from an index indicating a motion vector prediction value input via the line L514 and a motion vector of a previously decoded block input via the line L510. The block motion vector prediction value is calculated and output via the line L511.

加算器507は、ラインL511を経由して入力された動きベクトル予測値と、ラインL503を経由して入力された動きベクトル差分値を加算し、対象ブロックの動きベクトルを復元し、ラインL509を経由して出力する。   The adder 507 adds the motion vector prediction value input via the line L511 and the motion vector difference value input via the line L503, restores the motion vector of the target block, and passes the line L509. And output.

予測信号生成器508は、ラインL509を経由して入力される対象ブロックの動きベクトル信号値と、ラインL504を経由して入力される対象ブロックの参照フレーム番号と、ラインL508を経由して入力される参照フレーム画像信号から、対象ブロックに対する予測画像信号を生成し、ラインL513を経由して出力する。   The prediction signal generator 508 receives the motion vector signal value of the target block input via the line L509, the reference frame number of the target block input via the line L504, and the line L508. From the reference frame image signal, a predicted image signal for the target block is generated and output via the line L513.

加算器509は、ラインL506を経由して入力された残差信号と、ラインL513を経由して入力された対象ブロックに対する予測画像信号を加算し、対象ブロックの画像信号を復元し、ラインL507を経由して出力する。   The adder 509 adds the residual signal input via the line L506 and the predicted image signal for the target block input via the line L513, restores the image signal of the target block, and sets the line L507 Output via.

確率切替信号生成器510はラインL510を経由して入力される過去に符号化済みのブロックの動きベクトルと、それに対応する参照フレーム番号と、ラインL504を経由して入力される対象ブロックの参照フレーム番号から、後述するフローに従って切り替える確率テーブルを示す確率切替信号を生成し、ラインL512を経由して出力する。   The probability switching signal generator 510 receives the motion vector of the previously encoded block input via the line L510, the corresponding reference frame number, and the reference frame of the target block input via the line L504. From the number, a probability switching signal indicating a probability table to be switched according to a flow to be described later is generated and output via a line L512.

次に、図38を参照して動き予測器506について詳細に説明する。図38は、動き予測器506における動きベクトル予測値を示すインデックスから動きベクトル予測値を復元する手順を説明するための模式図である。   Next, the motion predictor 506 will be described in detail with reference to FIG. FIG. 38 is a schematic diagram for explaining a procedure for restoring a motion vector prediction value from an index indicating a motion vector prediction value in the motion predictor 506.

図38で、対象ブロックをHとし、フレームF1101はブロックHを含むフレームである。フレームF1102は既に復号化済みのフレームで、フレームF1101とは時間方向で隣り合うフレームである。   In FIG. 38, the target block is H, and the frame F1101 is a frame including the block H. The frame F1102 is a frame that has already been decoded, and is adjacent to the frame F1101 in the time direction.

フレームF1101において、ブロックDをブロックHの最も左上の画素の真左上の画素を含むブロック、ブロックEをブロックHの最も左上の画素の真上の画素を含むブロック、ブロックFをブロックHの最も左上の画素の真左の画素を含むブロックとする。   In frame F1101, block D is a block including the pixel immediately above the upper leftmost pixel of block H, block E is a block including the pixel immediately above the uppermost left pixel of block H, and block F is the upper leftmost of block H. A block including a pixel immediately to the left of the pixel.

フレームF1102において、ブロックAはブロックHの最も左上の画素と同じ空間位置の画素を含むブロックとする。ブロックBをブロックAの最も左上の画素の真上の画素を含むブロック、ブロックCをブロックAの最も左上の画素の真左の画素を含むブロックとする。   In the frame F1102, the block A is a block including a pixel at the same spatial position as the upper left pixel of the block H. Block B is a block including a pixel immediately above the upper leftmost pixel of block A, and block C is a block including a pixel immediately left of the uppermost left pixel of block A.

図39は、動き予測器506における動きベクトル予測値を示すインデックスから動きベクトル予測値を復元する手順を説明するためのフローチャートである。動きベクトルのx成分、y成分はそれぞれ独立に予測値が決定されるものとする。具体的にはまず動きベクトルのx成分の予測値を決定・出力し、次にy成分の予測値を決定・出力する。以下では必要に応じて、成分を示す添え字をiと記す(iはx又はyである)。   FIG. 39 is a flowchart for explaining a procedure for restoring a motion vector prediction value from an index indicating a motion vector prediction value in the motion predictor 506. Assume that predicted values are independently determined for the x and y components of the motion vector. Specifically, first, the predicted value of the x component of the motion vector is determined and output, and then the predicted value of the y component is determined and output. In the following, a subscript indicating a component is written as i (i is x or y) as necessary.

まず動き予測器506は、ラインL514を経由して、対象ブロックの動きベクトル予測値を示すインデックスを取得する。(ステップS2101)。
次に、ステップS2101で取得されたインデックスが判定される(ステップS2102)。
First, the motion predictor 506 acquires an index indicating the motion vector prediction value of the target block via the line L514. (Step S2101).
Next, the index acquired in step S2101 is determined (step S2102).

ステップS2102の判定の結果、インデックスが0であった場合は、ラインL510を経由して入力される過去に符号化済みのブロックAの動きベクトルを動きベクトル予測値とし、インデックスが1であった場合は、ラインL510を経由して入力される過去に符号化済みのブロックEの動きベクトルを動きベクトル予測値とし、インデックスが2であった場合は、ラインL510を経由して入力される過去に符号化済みのブロックFの動きベクトルを動きベクトル予測値とする(ステップS2103)。   When the index is 0 as a result of the determination in step S2102, the motion vector of the block A that has been encoded in the past and input via the line L510 is set as a motion vector prediction value, and the index is 1. Uses the motion vector of the block E encoded in the past input via the line L510 as a motion vector prediction value, and if the index is 2, the index is stored in the past input via the line L510. The motion vector of the converted block F is set as a motion vector prediction value (step S2103).

なおステップS2103で取得される動きベクトルは、対象ブロックを含むフレームと、対象ブロックの動きベクトルが参照するフレームとの時間的距離に基づいてスケーリングされることが好ましい。スケーリングの際には各ブロックの動きベクトルが参照するフレームの時刻を用いるため、ラインL510を経由して入力される過去に符号化済みのブロックに対応した参照フレーム番号と、ラインL504を経由して入力される対象ブロックの参照フレーム番号からその時刻を求める必要がある。   Note that the motion vector acquired in step S2103 is preferably scaled based on the temporal distance between the frame including the target block and the frame referenced by the motion vector of the target block. Since the time of the frame referenced by the motion vector of each block is used for scaling, the reference frame number corresponding to the previously encoded block input via the line L510 and the line L504 are used. It is necessary to obtain the time from the reference frame number of the input target block.

スケーリングによって、対象ブロックを含むフレームの時刻t0から、対象ブロックの動きベクトルが参照するフレームの時刻teまでの時間的距離(t0-te)を基準にして、取得した復号化済みのブロックA、E、Fの動きベクトルの大きさを補正することができる。具体的に一例を挙げると、ブロックAの動きベクトルMViA(i=x,y)が参照するフレームの時刻をta、ブロックAを含むフレームの時刻をt1とすると、スケーリングされた動きベクトルMViA’(i=x,y)は、式(1)によって与えられるベクトルである。   The obtained decoded blocks A and E based on the temporal distance (t0-te) from the time t0 of the frame including the target block to the time te of the frame referred to by the motion vector of the target block by scaling. , The magnitude of the motion vector of F can be corrected. As a specific example, if the time of the frame referred to by the motion vector MViA (i = x, y) of the block A is ta and the time of the frame including the block A is t1, the scaled motion vector MViA ′ ( i = x, y) is a vector given by equation (1).

なお、このスケーリング処理は必須ではなく、スケーリング処理を行わない場合は各ブロックに対応する参照フレーム番号は必要ない。   Note that this scaling processing is not essential, and reference frame numbers corresponding to the respective blocks are not required when the scaling processing is not performed.

最後に、ステップS2103で決定された動きベクトル予測値PMVi(i=x,y)を出力し(ステップS2105)、処理を終了する。   Finally, the motion vector prediction value PMVi (i = x, y) determined in step S2103 is output (step S2105), and the process ends.

なお、図29のフローチャートに示される一連の処理はx成分、y成分に分けずに、x成分、y成分共通のインデックスを用いて同時に動きベクトル予測値を決定してもよい。   Note that the series of processes shown in the flowchart of FIG. 29 may be determined simultaneously using an index common to the x and y components without being divided into the x and y components.

また、対象ブロックを含む領域が大きく移動しているような場合の予測精度をあげるために、図38に示されるブロックの位置関係は以下のように定めてもよい。   Further, in order to increase the prediction accuracy when the region including the target block is moving greatly, the positional relationship of the blocks shown in FIG. 38 may be determined as follows.

対象ブロックをHとし、フレームF1101はブロックHを含むフレームである。フレームF1102は既に符号化済みのフレームである。   The target block is H, and the frame F1101 is a frame including the block H. A frame F1102 is an already encoded frame.

フレームF1101において、ブロックDをブロックHの最も左上の画素の真左上の画素を含むブロック、ブロックEをブロックHの最も左上の画素の真上の画素を含むブロック、ブロックFをブロックHの最も左上の画素の真左の画素を含むブロックとする。   In frame F1101, block D is a block including the pixel immediately above the upper leftmost pixel of block H, block E is a block including the pixel immediately above the uppermost left pixel of block H, and block F is the upper leftmost of block H. A block including a pixel immediately to the left of the pixel.

フレームF1102において、ブロックAはブロックDの動きベクトルが参照しているブロック、またはブロックEの動きベクトルが参照しているブロック、またはブロックFの動きベクトルが参照しているブロックとする。その際もブロックBをブロックAの最も左上の画素の真上の画素を含むブロック、ブロックCをブロックAの最も左上の画素の真左の画素を含むブロックとする。   In the frame F1102, the block A is a block that is referenced by the motion vector of the block D, a block that is referenced by the motion vector of the block E, or a block that is referenced by the motion vector of the block F. Also in this case, the block B is a block including a pixel immediately above the uppermost leftmost pixel of the block A, and the block C is a block including a pixel rightward of the uppermost leftmost pixel of the block A.

なお上記の定め方をする場合、各ブロックの大きさ以下の精度で類似する画像信号パターンの位置を探し出して動きベクトルの検出を行う際に、ブロックDが参照するブロック、あるいはブロックEが参照するブロック、あるいはブロックFが参照するブロックが動きベクトルをもつ複数のブロックにまたがることが考えられるが、その際はそれら複数のブロックの動きベクトルの平均値、あるいはまたがる領域でもっとも占める割合の高いブロックの動きベクトルを該当するブロック(DあるいはEあるいはF)が参照するブロックの動きベクトルとして用いるものとする。   When the above method is used, when the position of a similar image signal pattern is detected with an accuracy less than the size of each block and the motion vector is detected, the block referred to by the block D or the block E refers to It is conceivable that the block or the block referenced by block F may span multiple blocks with motion vectors. In this case, the average value of the motion vectors of these blocks or the block with the highest ratio in the spanning area The motion vector is used as a motion vector of a block referred to by the corresponding block (D, E, or F).

このとき、確率切替信号生成器510の詳細は図40のフローチャートで説明される。確率切替信号は動きベクトル予測値を示すインデックスの発生確率の尤もらしさを示すものであって、この信号に基づいて確率テーブルを切り替えて、そのデータを符号化した際に用いた確率テーブルと同じ確率テーブルを用いてデータ解析を行うことで、データを抽出することができる。   At this time, details of the probability switching signal generator 510 will be described with reference to the flowchart of FIG. The probability switching signal indicates the likelihood of the occurrence probability of the index indicating the motion vector prediction value, and the probability is the same as the probability table used when the probability table is switched based on this signal and the data is encoded. Data can be extracted by performing data analysis using a table.

したがって、符号化装置と復号化装置はあらかじめ共通の確率テーブルを持ち、共通の仕組みによって確率テーブルを切り替える必要がある。   Therefore, the encoding device and the decoding device have a common probability table in advance, and it is necessary to switch the probability table by a common mechanism.

確率切替信号生成器510では、動きベクトルのx成分、y成分はそれぞれ独立に計算されるものとする。具体的にはまず動きベクトルのx成分の計算を行い、x成分に相当する確率切替信号を出力し、次にy成分の計算を行い、y成分に相当する確率切替信号の出力を行う。以下では必要に応じて、成分を示す添え字をiと記す(iはx又はyである)。   In the probability switching signal generator 510, the x component and y component of the motion vector are calculated independently. Specifically, the x component of the motion vector is first calculated, a probability switching signal corresponding to the x component is output, then the y component is calculated, and a probability switching signal corresponding to the y component is output. In the following, a subscript indicating a component is written as i (i is x or y) as necessary.

まず確率切替信号生成器510は、ラインL510を経由して入力される復号化済みのブロックA、B、C、D、E、Fの動きベクトルと対応する参照フレーム番号と、ラインL504を経由して入力される対象ブロックの参照フレーム番号を取得する(ステップS2201)。   First, the probability switching signal generator 510 receives the reference frame numbers corresponding to the motion vectors of the decoded blocks A, B, C, D, E, and F inputted via the line L510, and the line L504. The reference frame number of the target block input in step S2201 is acquired.

なおステップS2201で取得される動きベクトルは、対象ブロックを含むフレームと、対象ブロックの動きベクトルが参照するフレームとの時間的距離に基づいてスケーリングされることが好ましい。スケーリングの際には各ブロックの動きベクトルが参照するフレームの時刻を用いるため、各ブロックに対応する参照フレーム番号からその時刻を求める必要がある。   Note that the motion vector acquired in step S2201 is preferably scaled based on a temporal distance between a frame including the target block and a frame referred to by the motion vector of the target block. Since the time of the frame referred to by the motion vector of each block is used at the time of scaling, it is necessary to obtain the time from the reference frame number corresponding to each block.

スケーリングによって、対象ブロックを含むフレームの時刻t0から、対象ブロックの動きベクトルが参照するフレームの時刻teまでの時間的距離(t0-te)を基準にして、取得した復号化済みのブロックA、B、C、D、E、Fの動きベクトルの大きさを補正することができる。具体的に一例を挙げると、ブロックAの動きベクトルMViA(i=x,y)が参照するフレームの時刻をtaとすると、スケーリングされた動きベクトルMViA’(i=x,y)は、式(1)によって与えられるベクトルである。   The obtained decoded blocks A and B based on the temporal distance (t0-te) from the time t0 of the frame including the target block to the time te of the frame referred to by the motion vector of the target block by scaling. , C, D, E, and F motion vector magnitudes can be corrected. As a specific example, if the time of the frame referenced by the motion vector MViA (i = x, y) of the block A is ta, the scaled motion vector MViA ′ (i = x, y) The vector given by 1).

なお、このスケーリング処理は必須ではなく、スケーリング処理を行わない場合は各ブロックに対応する参照フレーム番号は必要ない。   Note that this scaling processing is not essential, and reference frame numbers corresponding to the respective blocks are not required when the scaling processing is not performed.

また、ステップS2201において復号化済みのブロックそのもの、あるいは復号化済みのブロックの動きベクトルが存在しない場合、そのブロックは極めて大きい動きベクトルを持つとみなし、十分大きな値とした上で処理を進める。あるいは、処理対象から除く。   If the decoded block itself or the motion vector of the decoded block does not exist in step S2201, it is assumed that the block has a very large motion vector, and the process proceeds with a sufficiently large value. Alternatively, it is excluded from the processing target.

続いて、ブロックBの動きベクトルとブロックEの動きベクトルの差分、ブロックCの動きベクトルとブロックFの動きベクトルの差分、ブロックDの動きベクトルとブロックEの動きベクトルの差分、ブロックDの動きベクトルとブロックFの動きベクトルの差分の4通りが算出される(ステップS2202)。   Subsequently, the difference between the motion vector of block B and the motion vector of block E, the difference of the motion vector of block C and the motion vector of block F, the difference of the motion vector of block D and the motion vector of block E, the motion vector of block D And four different motion vector differences of block F are calculated (step S2202).

次に、ステップS2202で算出された4通りの差分のうち、どの組み合わせの差分が最小のものであるかが判定される。(ステップS2203)。   Next, it is determined which combination of the four differences calculated in step S2202 has the smallest difference. (Step S2203).

ステップS2203での判定の結果、もっとも小さい差分を与える組み合わせがブロックBとブロックEである場合にはブロックHの動きベクトル予測値はブロックAの動きベクトルと同じ値に決定されることが尤もらしいことを示す信号Signal_i(i=x,y)=0を生成するとともに、その際の差分MViD(i=x,y)をブロックBとブロックEの動きベクトルの差分値とする。もっとも小さい差分を与える組み合わせがブロックCとブロックFである場合には、ブロックHの動きベクトル予測値はブロックAの動きベクトルと同じ値に決定されることが尤もらしいことを示す信号Signal_i=0(i=x,y)を生成するとともに、その際の差分MViD(i=x,y)をブロックCとブロックFの動きベクトルの差分値とする。もっとも小さい差分を与える組み合わせがブロックDとブロックEである場合には、ブロックHの動きベクトル予測値はブロックFの動きベクトルと同じ値に決定されることが尤もらしいことを示す信号Signal_i=1(i=x,y)を生成するとともに、その際の差分MViD(i=x,y)をブロックDとブロックEの動きベクトルの差分値とする。もっとも小さい差分を与える組み合わせがブロックDとブロックFである場合には、ブロックHの動きベクトル予測値はブロックEの動きベクトルと同じ値に決定されることが尤もらしいことを示す信号Signal_i=2(i=x,y)を生成するとともに、その際の動きベクトル差分値MViD(i=x,y)をブロックDとブロックFの動きベクトルの差分値とする。(ステップS2204)。   As a result of the determination in step S2203, when the combination that gives the smallest difference is block B and block E, it is likely that the motion vector prediction value of block H is determined to be the same value as the motion vector of block A. A signal Signal_i (i = x, y) = 0 indicating the difference between the motion vectors of the block B and the block E is used as a difference MViD (i = x, y) at that time. When the combination that gives the smallest difference is the block C and the block F, the signal Signal_i = 0 (which indicates that the motion vector prediction value of the block H is likely to be determined to be the same value as the motion vector of the block A. i = x, y) is generated, and the difference MViD (i = x, y) at that time is set as the difference value between the motion vectors of block C and block F. When the combination that gives the smallest difference is the block D and the block E, the signal Signal_i = 1 () indicating that the motion vector prediction value of the block H is likely to be determined to be the same value as the motion vector of the block F. i = x, y) is generated, and the difference MViD (i = x, y) at that time is set as the difference value between the motion vectors of block D and block E. When the combination that gives the smallest difference is the block D and the block F, the signal Signal_i = 2 () indicating that the motion vector prediction value of the block H is likely to be determined to be the same value as the motion vector of the block E. i = x, y) is generated, and the motion vector difference value MViD (i = x, y) at that time is set as the difference value between the motion vectors of block D and block F. (Step S2204).

最後に、ステップS2204で決定された信号値Signal_i(i=x,y)およびMViD(i=x,y)を出力し(ステップS2205)、処理を終了する。   Finally, the signal values Signal_i (i = x, y) and MViD (i = x, y) determined in step S2204 are output (step S2205), and the process ends.

なお、発生確率信号はSignal_i(i=x,y)のみでもよい。   The occurrence probability signal may be only Signal_i (i = x, y).

なお、図40のフローチャートに示される一連の処理はx成分、y成分に分けずにベクトルの差分(具体的にはベクトルノルムなど)を算出し、x成分、y成分に相当する確率切替信号を同時に決定してもよい。   Note that the series of processes shown in the flowchart of FIG. 40 calculates a vector difference (specifically, a vector norm) without dividing the x component and the y component into a probability switching signal corresponding to the x component and the y component. It may be determined at the same time.

このとき、データ解析器501では、あらかじめ複数所持してある動きベクトル予測値を示す各インデックスの発生確率分布のテーブルを、ラインL512を経由して入力される確率切替信号に基づいて切り替える。具体的にはSignal_i(i=x,y)によって最も発生確率が高いインデックス、MViD(i=x,y)によってその発生確率を予測し、それに応じた確率テーブルへの切り替えを行う。   At this time, the data analyzer 501 switches a table of occurrence probability distribution of each index indicating a plurality of motion vector prediction values possessed in advance based on a probability switching signal input via the line L512. Specifically, the index with the highest probability of occurrence is calculated by Signal_i (i = x, y), the probability of occurrence is predicted by MViD (i = x, y), and switching to the probability table is performed accordingly.

また、動き予測器506は以下のように動作してもよい。図41を参照して動き予測器506について詳細に説明する。図41は、動き予測器506における動きベクトル予測値を示すインデックスから動きベクトル予測値を復元する手順を説明するための模式図である。   Further, the motion predictor 506 may operate as follows. The motion predictor 506 will be described in detail with reference to FIG. FIG. 41 is a schematic diagram for explaining a procedure for restoring a motion vector prediction value from an index indicating a motion vector prediction value in the motion predictor 506.

図41で、対象ブロックをHとし、フレームF1201はブロックHを含むフレームである。フレームF1202は既に符号化済みのフレームで、フレームF1201とは時間方向で隣り合うフレームである。フレームF1203は既に符号化済みのフレームで、フレームF1202とは時間方向で隣り合うフレームである。   In FIG. 41, the target block is H, and the frame F1201 is a frame including the block H. A frame F1202 is an already encoded frame, and is adjacent to the frame F1201 in the time direction. A frame F1203 is an already encoded frame, and is adjacent to the frame F1202 in the time direction.

フレームF1201において、ブロックEをブロックHの最も左上の画素の真左上の画素を含むブロック、ブロックFをブロックHの最も左上の画素の真上の画素を含むブロック、ブロックGをブロックHの最も左上の画素の真左の画素を含むブロックとする。   In frame F1201, block E is a block including the pixel immediately above the upper leftmost pixel of block H, block F is a block including the pixel immediately above the uppermost left pixel of block H, and block G is the uppermost left of block H. A block including a pixel immediately to the left of the pixel.

フレームF1202において、ブロックDはブロックHの最も左上の画素と同じ空間位置の画素を含むブロック、ブロックBをブロックDの最も左上の画素の真上の画素を含むブロック、ブロックCをブロックDの最も左上の画素の真左の画素を含むブロックとする。   In frame F1202, block D is a block including a pixel at the same spatial position as the upper left pixel of block H, block B is a block including a pixel immediately above the upper left pixel of block D, and block C is the highest block of block D. It is assumed that the block includes a pixel immediately to the left of the upper left pixel.

フレームF1203において、ブロックAはブロックDの最も左上の画素と同じ空間位置の画素を含むブロックとする。   In the frame F1203, the block A is a block including a pixel at the same spatial position as the upper left pixel of the block D.

図42は、動き予測器506における動きベクトル予測値を示すインデックスから動きベクトル予測値を復元する手順を説明するためのフローチャートである。動きベクトルのx成分、y成分はそれぞれ独立に予測値が決定されるものとする。具体的にはまず動きベクトルのx成分の予測値を決定・出力し、次にy成分の予測値を決定・出力する。以下では必要に応じて、成分を示す添え字をiと記す(iはx又はyである)。   FIG. 42 is a flowchart for explaining a procedure for restoring a motion vector prediction value from an index indicating a motion vector prediction value in the motion predictor 506. Assume that predicted values are independently determined for the x and y components of the motion vector. Specifically, first, the predicted value of the x component of the motion vector is determined and output, and then the predicted value of the y component is determined and output. In the following, a subscript indicating a component is written as i (i is x or y) as necessary.

まず動き予測器506は、ラインL514を経由して、対象ブロックの動きベクトル予測値を示すインデックスを取得する。(ステップS2301)。   First, the motion predictor 506 acquires an index indicating the motion vector prediction value of the target block via the line L514. (Step S2301).

次に、ステップS2301で取得されたインデックスが判定される(ステップS2302)。   Next, the index acquired in step S2301 is determined (step S2302).

ステップS2302の判定の結果、インデックスが0であった場合は、ラインL510を経由して入力される過去に符号化済みのブロックBの動きベクトルを動きベクトル予測値とし、インデックスが1であった場合は、ラインL510を経由して入力される過去に符号化済みのブロックCの動きベクトルを動きベクトル予測値とし、インデックスが2であった場合は、ラインL510を経由して入力される過去に符号化済みのブロックDの動きベクトルを動きベクトル予測値とし、インデックスが3であった場合は、ラインL510を経由して入力される過去に符号化済みのブロックGの動きベクトルを動きベクトル予測値とし、インデックスが4であった場合は、ラインL510を経由して入力される過去に符号化済みのブロックEの動きベクトルを動きベクトル予測値とする(ステップS2303)。   If the index is 0 as a result of the determination in step S2302, the motion vector of the previously encoded block B input via the line L510 is used as a motion vector prediction value, and the index is 1. Uses the motion vector of the block C encoded in the past input via the line L510 as a motion vector prediction value, and if the index is 2, the code is encoded in the past input via the line L510. If the motion vector of the already-encoded block D is a motion vector prediction value and the index is 3, the motion vector of the previously encoded block G input via the line L510 is the motion vector prediction value. If the index is 4, the motion vector of the previously encoded block E input via the line L510 is moved. Vector prediction value (step S2303).

なおステップS2303で取得される動きベクトルは、対象ブロックを含むフレームと、対象ブロックの動きベクトルが参照するフレームとの時間的距離に基づいてスケーリングされることが好ましい。スケーリングの際には各ブロックの動きベクトルが参照するフレームの時刻を用いるため、ラインL510を経由して入力される過去に符号化済みのブロックに対応した参照フレーム番号と、ラインL504を経由して入力される対象ブロックの参照フレーム番号からその時刻を求める必要がある。   Note that the motion vector acquired in step S2303 is preferably scaled based on a temporal distance between a frame including the target block and a frame referred to by the motion vector of the target block. Since the time of the frame referenced by the motion vector of each block is used for scaling, the reference frame number corresponding to the previously encoded block input via the line L510 and the line L504 are used. It is necessary to obtain the time from the reference frame number of the input target block.

スケーリングによって、対象ブロックを含むフレームの時刻t0から、対象ブロックの動きベクトルが参照するフレームの時刻teまでの時間的距離(t0-te)を基準にして、取得した復号化済みのブロックA、E、Fの動きベクトルの大きさを補正することができる。具体的に一例を挙げると、ブロックAの動きベクトルMViA(i=x,y)が参照するフレームの時刻をtaとすると、スケーリングされた動きベクトルMViA’(i=x,y)は、式(1)によって与えられるベクトルである。   The obtained decoded blocks A and E based on the temporal distance (t0-te) from the time t0 of the frame including the target block to the time te of the frame referred to by the motion vector of the target block by scaling. , The magnitude of the motion vector of F can be corrected. As a specific example, if the time of the frame referenced by the motion vector MViA (i = x, y) of the block A is ta, the scaled motion vector MViA ′ (i = x, y) The vector given by 1).

なお、このスケーリング処理は必須ではなく、スケーリング処理を行わない場合は各ブロックに対応する参照フレーム番号は必要ない。   Note that this scaling processing is not essential, and reference frame numbers corresponding to the respective blocks are not required when the scaling processing is not performed.

最後に、ステップS2303で決定された動きベクトル予測値PMVi(i=x,y)を出力し(ステップS2304)、処理を終了する。   Finally, the motion vector prediction value PMVi (i = x, y) determined in step S2303 is output (step S2304), and the process ends.

なお、図42のフローチャートに示される一連の処理はx成分、y成分に分けずに、x成分、y成分共通のインデックスを用いて同時に動きベクトル予測値を決定してもよい。   Note that the series of processes shown in the flowchart of FIG. 42 may be simultaneously determined using an index common to the x component and the y component without being divided into the x component and the y component.

また、対象ブロックを含む領域が大きく移動しているような場合の予測精度をあげるために、図41に示されるブロックの位置関係は以下のように定めてもよい。   In addition, in order to improve the prediction accuracy when the region including the target block has moved greatly, the positional relationship of the blocks shown in FIG. 41 may be determined as follows.

対象ブロックをHとし、フレームF1201はブロックHを含むフレームである。フレームF1202は既に符号化済みのフレームである。フレームF1203は既に符号化済みのフレームである。   The target block is H, and the frame F1201 is a frame including the block H. A frame F1202 is an already encoded frame. The frame F1203 is an already encoded frame.

フレームF1201において、ブロックEをブロックHの最も左上の画素の真左上の画素を含むブロック、ブロックFをブロックHの最も左上の画素の真上の画素を含むブロック、ブロックGをブロックHの最も左上の画素の真左の画素を含むブロックとする。   In frame F1201, block E is a block including the pixel immediately above the upper leftmost pixel of block H, block F is a block including the pixel immediately above the uppermost left pixel of block H, and block G is the uppermost left of block H. A block including a pixel immediately to the left of the pixel.

フレームF1202において、ブロックDはブロックEの動きベクトルが参照しているブロック、またはブロックFの動きベクトルが参照しているブロック、またはブロックGの動きベクトルが参照しているブロックとする。その際もブロックBをブロックDの最も左上の画素の真上の画素を含むブロック、ブロックCをブロックDの最も左上の画素の真左の画素を含むブロックとする。   In the frame F1202, the block D is a block that is referenced by the motion vector of the block E, a block that is referenced by the motion vector of the block F, or a block that is referenced by the motion vector of the block G. Also in this case, the block B is a block including a pixel immediately above the upper leftmost pixel of the block D, and the block C is a block including a pixel immediately left of the uppermost left pixel of the block D.

フレームF1203において、ブロックAはブロックDの動きベクトルが参照しているブロックとする。   In the frame F1203, the block A is a block that is referenced by the motion vector of the block D.

なお上記の定め方をする場合、各ブロックの大きさ以下の精度で類似する画像信号パターンの位置を探し出して動きベクトルの検出を行う際に、ブロックEが参照するブロック、あるいはブロックFが参照するブロック、あるいはブロックGが参照するブロック、あるいはブロックDが参照するブロックが動きベクトルをもつ複数のブロックにまたがることが考えられるが、その際はそれら複数のブロックの動きベクトルの平均値、あるいはまたがる領域でもっとも占める割合の高いブロックの動きベクトルを該当するブロック(EあるいはFあるいはGあるいはD)が参照するブロックの動きベクトルとして用いるものとする。   When the above method is used, when the position of a similar image signal pattern is detected with an accuracy less than the size of each block and the motion vector is detected, the block referred to by the block E or the block F refers to It is possible that the block referenced by block or block G or the block referenced by block D may span multiple blocks with motion vectors. In this case, the average value of the motion vectors of these multiple blocks, or the region that spans the blocks It is assumed that the motion vector of the block having the highest ratio is used as the motion vector of the block referred to by the corresponding block (E, F, G, or D).

このとき、確率切替信号生成器510の詳細は図43のフローチャートで説明される。   At this time, details of the probability switching signal generator 510 will be described with reference to the flowchart of FIG.

確率切替信号は動きベクトル予測値を示すインデックスの発生確率の尤もらしさを示すものであって、この信号に基づいて確率テーブルを切り替えて、そのデータを符号化した際に用いた確率テーブルと同じ確率テーブルを用いてデータ解析を行うことで、データを抽出することができる。   The probability switching signal indicates the likelihood of the occurrence probability of the index indicating the motion vector prediction value, and the probability is the same as the probability table used when the probability table is switched based on this signal and the data is encoded. Data can be extracted by performing data analysis using a table.

したがって、符号化装置と復号化装置はあらかじめ共通の確率テーブルを持ち、共通の仕組みによって確率テーブルを切り替える必要がある。   Therefore, the encoding device and the decoding device have a common probability table in advance, and it is necessary to switch the probability table by a common mechanism.

確率切替信号生成器510では、動きベクトルのx成分、y成分はそれぞれ独立に計算されるものとする。具体的にはまず動きベクトルのx成分の計算を行い、x成分に相当する確率切替信号を出力し、次にy成分の計算を行い、y成分に相当する確率切替信号の出力を行う。以下では必要に応じて、成分を示す添え字をiと記す(iはx又はyである)。   In the probability switching signal generator 510, the x component and y component of the motion vector are calculated independently. Specifically, the x component of the motion vector is first calculated, a probability switching signal corresponding to the x component is output, then the y component is calculated, and a probability switching signal corresponding to the y component is output. In the following, a subscript indicating a component is written as i (i is x or y) as necessary.

まず確率切替信号生成器510は、ラインL510を経由して入力される符号化済みのブロックA、B、C、D、E、F、Gの動きベクトルと対応する参照フレーム番号と、ラインL504を経由して入力される対象ブロックの参照フレーム番号を取得する(ステップS2401)。   First, the probability switching signal generator 510 sets the reference frame number corresponding to the motion vector of the encoded blocks A, B, C, D, E, F, and G inputted via the line L510, and the line L504. The reference frame number of the target block that is input via is acquired (step S2401).

なおステップS2401で取得される動きベクトルは、対象ブロックを含むフレームと、対象ブロックの動きベクトルが参照するフレームとの時間的距離に基づいてスケーリングされることが好ましい。スケーリングの際には各ブロックの動きベクトルが参照するフレームの時刻を用いるため、各ブロックに対応する参照フレーム番号からその時刻を求める必要がある。   Note that the motion vector acquired in step S2401 is preferably scaled based on a temporal distance between a frame including the target block and a frame referred to by the motion vector of the target block. Since the time of the frame referred to by the motion vector of each block is used at the time of scaling, it is necessary to obtain the time from the reference frame number corresponding to each block.

スケーリングによって、対象ブロックを含むフレームの時刻t0から、対象ブロックの動きベクトルが参照するフレームの時刻teまでの時間的距離(t0-te)を基準にして、取得した符号化済みのブロックA、B、C、D、E、F、Gの動きベクトルの大きさを補正することができる。具体的に一例を挙げると、ブロックAの動きベクトルMViA(i=x,y)が参照するフレームの時刻をtaとすると、スケーリングされた動きベクトルMViA’(i=x,y)は、式(1)によって与えられるベクトルである。   Encoded blocks A and B obtained by scaling based on the time distance (t0-te) from the time t0 of the frame including the target block to the time te of the frame referred to by the motion vector of the target block , C, D, E, F, and G motion vector magnitudes can be corrected. As a specific example, if the time of the frame referenced by the motion vector MViA (i = x, y) of the block A is ta, the scaled motion vector MViA ′ (i = x, y) The vector given by 1).

なお、このスケーリング処理は必須ではなく、スケーリング処理を行わない場合は各ブロックに対応する参照フレーム番号は必要ない。   Note that this scaling processing is not essential, and reference frame numbers corresponding to the respective blocks are not required when the scaling processing is not performed.

また、ステップS2401において符号化済みのブロックそのもの、あるいは符号化済みのブロックの動きベクトルが存在しない場合、そのブロックは極めて大きい動きベクトルを持つとみなし、十分大きな値とした上で処理を進める。あるいは、処理対象から除く。   If the encoded block itself or the motion vector of the encoded block does not exist in step S2401, the block is regarded as having a very large motion vector, and the process proceeds with a sufficiently large value. Alternatively, it is excluded from the processing target.

続いて、ブロックBの動きベクトルとブロックFの動きベクトルの差分、ブロックCの動きベクトルとブロックGの動きベクトルの差分、ブロックAの動きベクトルとブロックDの動きベクトルの差分、ブロックEの動きベクトルとブロックFの動きベクトルの差分、ブロックEの動きベクトルとブロックGの動きベクトルの差分の5通りが算出される(ステップS2402)。   Subsequently, the difference between the motion vector of block B and the motion vector of block F, the difference of the motion vector of block C and the motion vector of block G, the difference of the motion vector of block A and the motion vector of block D, the motion vector of block E And the difference between the motion vector of block F and the difference between the motion vector of block E and the motion vector of block G are calculated (step S2402).

次に、ステップS2402で算出された5通りの差分のうち、どの組み合わせの差分が最小のものであるかが判定される。(ステップS2403)。   Next, it is determined which combination of the five differences calculated in step S2402 has the smallest difference. (Step S2403).

ステップS2403での判定の結果、もっとも小さい差分を与える組み合わせがブロックBとブロックFである場合にはブロックHの動きベクトル予測値はブロックBの動きベクトルと同じ値に決定されることが尤もらしいことを示す信号Signal_i=0(i=x,y)を生成するとともに、その際の差分MViD(i=x,y)をブロックBとブロックFの動きベクトルの差分値とする。もっとも小さい差分を与える組み合わせがブロックCとブロックGである場合には、ブロックHの動きベクトル予測値はブロックCの動きベクトルと同じ値に決定されることが尤もらしいことを示す信号Signal_i=1(i=x,y)を生成するとともに、その際の差分MViD(i=x,y)をブロックCとブロックGの動きベクトルの差分値とする。もっとも小さい差分を与える組み合わせがブロックAとブロックDである場合には、ブロックHの動きベクトル予測値はブロックDの動きベクトルと同じ値に決定されることが尤もらしいことを示す信号Signal_i=2(i=x,y)を生成するとともに、その際の差分MViD(i=x,y)をブロックAとブロックDの動きベクトルの差分値とする。もっとも小さい差分を与える組み合わせがブロックEとブロックFである場合には、ブロックHの動きベクトル予測値はブロックGの動きベクトルと同じ値に決定されることが尤もらしいことを示す信号Signal_i=3(i=x,y)を生成するとともに、その際の差分MViD(i=x,y)をブロックEとブロックFの動きベクトルの差分値とする。もっとも小さい差分を与える組み合わせがブロックEとブロックGである場合には、ブロックHの動きベクトル予測値はブロックFの動きベクトルと同じ値に決定されることが尤もらしいことを示す信号Signal_i=4(i=x,y)を生成するとともに、その際の動きベクトル差分値MViD(i=x,y)をブロックEとブロックGの動きベクトルの差分値とする。(ステップS2404)。   As a result of the determination in step S2403, if the combination that gives the smallest difference is block B and block F, it is likely that the motion vector prediction value of block H is determined to be the same value as the motion vector of block B. A signal Signal_i = 0 (i = x, y) is generated, and the difference MViD (i = x, y) at that time is set as a difference value between the motion vectors of the block B and the block F. When the combination that gives the smallest difference is the block C and the block G, the signal Signal_i = 1 () indicating that it is likely that the motion vector prediction value of the block H is determined to be the same value as the motion vector of the block C. i = x, y) is generated, and the difference MViD (i = x, y) at that time is set as the difference value between the motion vectors of block C and block G. When the combination that gives the smallest difference is the block A and the block D, the signal Signal_i = 2 () indicating that it is likely that the motion vector prediction value of the block H is determined to be the same value as the motion vector of the block D. i = x, y) is generated, and the difference MViD (i = x, y) at that time is set as the difference value between the motion vectors of block A and block D. When the combination that gives the smallest difference is the block E and the block F, the signal Signal_i = 3 () indicating that it is likely that the motion vector prediction value of the block H is determined to be the same value as the motion vector of the block G. i = x, y) is generated, and the difference MViD (i = x, y) at that time is set as the difference value between the motion vectors of block E and block F. When the combination that gives the smallest difference is the block E and the block G, the signal Signal_i = 4 () indicating that it is likely that the motion vector prediction value of the block H is determined to be the same value as the motion vector of the block F. i = x, y) is generated, and the motion vector difference value MViD (i = x, y) at that time is used as the difference value between the motion vectors of block E and block G. (Step S2404).

最後に、ステップS2404で決定された信号値Signal_i(i=x,y)およびMViD(i=x,y)を出力し(ステップS2405)、処理を終了する。   Finally, the signal values Signal_i (i = x, y) and MViD (i = x, y) determined in step S2404 are output (step S2405), and the process ends.

なお、発生確率信号はSignal_i(i=x,y)のみでもよい。   The occurrence probability signal may be only Signal_i (i = x, y).

なお、図43のフローチャートに示される一連の処理はx成分、y成分に分けずにベクトルの差分(具体的にはベクトルノルムなど)を算出し、x成分、y成分に相当する確率切替信号を同時に決定してもよい。   Note that the series of processing shown in the flowchart of FIG. 43 calculates a vector difference (specifically, a vector norm) without dividing the x component and the y component into a probability switching signal corresponding to the x component and the y component. It may be determined at the same time.

また、ステップS2402において算出する差分は、ブロックBの動きベクトルとブロックFの動きベクトルの差分、ブロックCの動きベクトルとブロックGの動きベクトルの差分、ブロックAの動きベクトルとブロックDの動きベクトルの差分の3通りでもよい。その際もステップS2403で最小となる組み合わせが判定され、ステップS2404では、もっとも小さい差分を与える組み合わせがブロックBとブロックFである場合にはブロックHの動きベクトル予測値はブロックBの動きベクトルと同じ値に決定されることが尤もらしいことを示す信号Signal_i=0(i=x,y)を生成するとともに、その際の差分MViD(i=x,y)をブロックBとブロックFの動きベクトルの差分値とする。もっとも小さい差分を与える組み合わせがブロックCとブロックGである場合には、ブロックHの動きベクトル予測値はブロックCの動きベクトルと同じ値に決定されることが尤もらしいことを示す信号Signal_i=1(i=x,y)を生成するとともに、その際の差分MViD(i=x,y)をブロックCとブロックGの動きベクトルの差分値とする。もっとも小さい差分を与える組み合わせがブロックAとブロックDである場合には、ブロックHの動きベクトル予測値はブロックDの動きベクトルと同じ値に決定されることが尤もらしいことを示す信号Signal_i=2(i=x,y)を生成するとともに、その際の差分MViD(i=x,y)をブロックAとブロックDの動きベクトルの差分値とする。   Also, the difference calculated in step S2402 is the difference between the motion vector of block B and the motion vector of block F, the difference between the motion vector of block C and the motion vector of block G, the motion vector of block A and the motion vector of block D. Three types of differences may be used. Also in this case, the smallest combination is determined in step S2403. In step S2404, if the combination that gives the smallest difference is block B and block F, the motion vector prediction value of block H is the same as the motion vector of block B. A signal Signal_i = 0 (i = x, y) indicating that it is plausible to be determined as a value is generated, and the difference MViD (i = x, y) at that time is calculated as the motion vector of the block B and the block F. The difference value. When the combination that gives the smallest difference is the block C and the block G, the signal Signal_i = 1 () indicating that it is likely that the motion vector prediction value of the block H is determined to be the same value as the motion vector of the block C. i = x, y) is generated, and the difference MViD (i = x, y) at that time is set as the difference value between the motion vectors of block C and block G. When the combination that gives the smallest difference is the block A and the block D, the signal Signal_i = 2 () indicating that it is likely that the motion vector prediction value of the block H is determined to be the same value as the motion vector of the block D. i = x, y) is generated, and the difference MViD (i = x, y) at that time is set as the difference value between the motion vectors of block A and block D.

また、ステップS2402において算出する差分は、ブロックBの動きベクトルとブロックFの動きベクトルの差分、ブロックCの動きベクトルとブロックGの動きベクトルの差分の2通りでもよい。その際もステップS2403で最小となる組み合わせが判定され、ステップS2404では、もっとも小さい差分を与える組み合わせがブロックBとブロックFである場合にはブロックHの動きベクトル予測値はブロックBの動きベクトルと同じ値に決定されることが尤もらしいことを示す信号Signal_i=0(i=x,y)を生成するとともに、その際の差分MViD(i=x,y)をブロックBとブロックFの動きベクトルの差分値とする。もっとも小さい差分を与える組み合わせがブロックCとブロックGである場合には、ブロックHの動きベクトル予測値はブロックCの動きベクトルと同じ値に決定されることが尤もらしいことを示す信号Signal_i=1(i=x,y)を生成するとともに、その際の差分MViD(i=x,y)をブロックCとブロックGの動きベクトルの差分値とする。   Further, the difference calculated in step S2402 may be two types, the difference between the motion vector of block B and the motion vector of block F, and the difference between the motion vector of block C and the motion vector of block G. Also in this case, the smallest combination is determined in step S2403. In step S2404, if the combination that gives the smallest difference is block B and block F, the motion vector prediction value of block H is the same as the motion vector of block B. A signal Signal_i = 0 (i = x, y) indicating that it is plausible to be determined as a value is generated, and the difference MViD (i = x, y) at that time is calculated as the motion vector of the block B and the block F. The difference value. When the combination that gives the smallest difference is the block C and the block G, the signal Signal_i = 1 () indicating that it is likely that the motion vector prediction value of the block H is determined to be the same value as the motion vector of the block C. i = x, y) is generated, and the difference MViD (i = x, y) at that time is set as the difference value between the motion vectors of block C and block G.

また、対象ブロックを含む領域が大きく移動しているような場合の予測精度をあげるために、図41に示されるブロックの位置関係は以下のように定めてもよい。   In addition, in order to improve the prediction accuracy when the region including the target block has moved greatly, the positional relationship of the blocks shown in FIG. 41 may be determined as follows.

対象ブロックをHとし、フレームF1201はブロックHを含むフレームである。フレームF1202は既に符号化済みのフレームである。フレームF1203は既に符号化済みのフレームである。   The target block is H, and the frame F1201 is a frame including the block H. A frame F1202 is an already encoded frame. The frame F1203 is an already encoded frame.

フレームF1201において、ブロックEをブロックHの最も左上の画素の真左上の画素を含むブロック、ブロックFをブロックHの最も左上の画素の真上の画素を含むブロック、ブロックGをブロックHの最も左上の画素の真左の画素を含むブロックとする。   In frame F1201, block E is a block including the pixel immediately above the upper leftmost pixel of block H, block F is a block including the pixel immediately above the uppermost left pixel of block H, and block G is the uppermost left of block H. A block including a pixel immediately to the left of the pixel.

フレームF1202において、ブロックDはブロックEの動きベクトルが参照しているブロック、またはブロックFの動きベクトルが参照しているブロック、またはブロックGの動きベクトルが参照しているブロックとする。その際もブロックBをブロックDの最も左上の画素の真上の画素を含むブロック、ブロックCをブロックDの最も左上の画素の真左の画素を含むブロックとする。   In the frame F1202, the block D is a block that is referenced by the motion vector of the block E, a block that is referenced by the motion vector of the block F, or a block that is referenced by the motion vector of the block G. Also in this case, the block B is a block including a pixel immediately above the upper leftmost pixel of the block D, and the block C is a block including a pixel immediately left of the uppermost left pixel of the block D.

フレームF1203において、ブロックAはブロックDの動きベクトルが参照しているブロックとする。   In the frame F1203, the block A is a block that is referenced by the motion vector of the block D.

なお上記の定め方をする場合、各ブロックの大きさ以下の精度で類似する画像信号パターンの位置を探し出して動きベクトルの検出を行う際に、ブロックEが参照するブロック、あるいはブロックFが参照するブロック、あるいはブロックGが参照するブロック、あるいはブロックDが参照するブロックが動きベクトルをもつ複数のブロックにまたがることが考えられるが、その際はそれら複数のブロックの動きベクトルの平均値、あるいはまたがる領域でもっとも占める割合の高いブロックの動きベクトルを該当するブロック(EあるいはFあるいはGあるいはD)が参照するブロックの動きベクトルとして用いるものとする。   When the above method is used, when the position of a similar image signal pattern is detected with an accuracy less than the size of each block and the motion vector is detected, the block referred to by the block E or the block F refers to It is possible that the block referenced by block or block G or the block referenced by block D may span multiple blocks with motion vectors. In this case, the average value of the motion vectors of these multiple blocks, or the region that spans the blocks It is assumed that the motion vector of the block having the highest ratio is used as the motion vector of the block referred to by the corresponding block (E, F, G, or D).

このとき、データ解析器501では、あらかじめ複数所持してある動きベクトル予測値を示す各インデックスの発生確率分布のテーブルを、ラインL512を経由して入力される確率切替信号に基づいて切り替える。具体的にはSignal_i(i=x,y)によって最も発生確率が高いインデックス、MViD(i=x,y)によってその発生確率を予測し、それに応じた確率テーブルへの切り替えを行う。   At this time, the data analyzer 501 switches a table of occurrence probability distribution of each index indicating a plurality of motion vector prediction values possessed in advance based on a probability switching signal input via the line L512. Specifically, the index with the highest probability of occurrence is calculated by Signal_i (i = x, y), the probability of occurrence is predicted by MViD (i = x, y), and switching to the probability table is performed accordingly.

また、動き予測器506において動きベクトル予測値を生成する代わりに、複数ある動きベクトル予測値決定方法の中から取得したインデックスに基づいてひとつを選択してもよい。この方法の詳細を図44、図45を参照して説明する。   Further, instead of generating a motion vector prediction value in the motion predictor 506, one may be selected based on an index acquired from a plurality of motion vector prediction value determination methods. Details of this method will be described with reference to FIGS. 44 and 45. FIG.

図44は動き予測器506において複数ある動きベクトル予測値決定方法の中から取得したインデックスに基づいてひとつを選択する手順を説明するための模式図である。   FIG. 44 is a schematic diagram for explaining a procedure for selecting one based on an index acquired from a plurality of motion vector prediction value determination methods in the motion predictor 506.

図44で、対象ブロックをNとし、フレームF1301はブロックNを含むフレームである。フレームF1302は既に復号化済みのフレームで、フレームF1301とは時間方向で隣り合うフレームである。   In FIG. 44, the target block is N, and the frame F1301 is a frame including the block N. The frame F1302 is a frame that has already been decoded, and is adjacent to the frame F1301 in the time direction.

フレームF1301において、ブロックJをブロックNの最も左上の画素の真左上の画素を含むブロック、ブロックKをブロックNの最も左上の画素の真上の画素を含むブロック、ブロックLをブロックNの最も右上の画素の真右上の画素を含むブロック、ブロックMをブロックNの最も左上の画素の真左の画素を含むブロックとする。   In frame F1301, block J is a block including the pixel immediately above the upper leftmost pixel of block N, block K is a block including the pixel immediately above the uppermost left pixel of block N, and block L is the uppermost right of block N. A block including the pixel immediately above the rightmost pixel and the block M is a block including a pixel immediately left of the uppermost leftmost pixel of the block N.

フレームF1302において、ブロックEはブロックNの最も左上の画素と同じ空間位置の画素を含むブロックとする。ブロックAをブロックEの最も左上の画素の真左上の画素を含むブロック、ブロックBをブロックEの最も左上の画素の真上の画素を含むブロック、ブロックCをブロックEの最も右上の画素の真右上の画素を含むブロック、ブロックDをブロックEの最も左下の画素の真左の画素を含むブロック、ブロックFをブロックEの最も右上の画素の真右の画素を含むブロック、ブロックGをブロックEの最も左下の画素の真左下の画素を含むブロック、ブロックHをブロックEの最も右下の画素の真下の画素を含むブロック、ブロックIをブロックEの最も右下の画素の真右下の画素を含むブロックとする。   In the frame F1302, the block E is a block including a pixel at the same spatial position as the upper left pixel of the block N. Block A is a block including the pixel immediately above the upper left pixel of block E, block B is a block including the pixel immediately above the upper left pixel of block E, block C is the true of the upper right pixel of block E A block including the upper right pixel, a block D including the pixel immediately left of the lower leftmost pixel of the block E, a block F including a pixel right of the upper rightmost pixel of the block E, and a block G including the block E A block including the pixel directly below the leftmost pixel of block E, a block including the pixel immediately below the pixel below rightmost of block E, and a block I including the pixel directly below the rightmost pixel of block E A block containing

図45は動き予測器506において複数ある動きベクトル予測値決定方法の中から取得したインデックスに基づいてひとつを選択しする手順を説明するためのフローチャートである。   FIG. 45 is a flowchart for explaining a procedure for selecting one based on an index acquired from a plurality of motion vector prediction value determination methods in the motion predictor 506.

動きベクトルx成分、y成分はそれぞれ独立に予測値決定方法が選ばれるものとする。具体的にはまず動きベクトルのx成分の予測値決定方法を選択・出力し、次にy成分の予測値決定方法を選択・出力する。以下では必要に応じて、成分を示す添え字をiと記す(iはx又はyである)。   It is assumed that a prediction value determination method is independently selected for each of the motion vector x component and y component. Specifically, first, a predicted value determination method for the x component of the motion vector is selected and output, and then a predicted value determination method for the y component is selected and output. In the following, a subscript indicating a component is written as i (i is x or y) as necessary.

まず動き予測器506は、ラインL514を経由して、対象ブロックの動きベクトル予測値決定方法を示すインデックスを取得する。(ステップS2501)。   First, the motion predictor 506 acquires an index indicating a motion vector prediction value determination method for the target block via the line L514. (Step S2501).

次に、ステップS2501で取得されたインデックスが判定される(ステップS2502)。   Next, the index acquired in step S2501 is determined (step S2502).

ステップS2502の判定の結果、インデックスが0であった場合は、ラインL510を経由して入力される過去に符号化済みのブロックA、B、C、D、E、F、G、H、Iの動きベクトルの平均値を動きベクトル予測値とし、インデックスが1であった場合は、ラインL510を経由して入力される過去に符号化済みのブロックB、D、E、F、Hの動きベクトルの平均値を動きベクトル予測値とし、インデックスが2であった場合は、ラインL510を経由して入力される過去に符号化済みのブロックJ、K、L、M、Eの動きベクトルの平均値を動きベクトル予測値とする(ステップS2503)。   As a result of the determination in step S2502, if the index is 0, the past encoded blocks A, B, C, D, E, F, G, H, and I input via the line L510 are stored. When the motion vector average value is the motion vector prediction value and the index is 1, the motion vector of the previously encoded blocks B, D, E, F, and H input via the line L510 If the average value is the motion vector prediction value and the index is 2, the average value of the motion vectors of the previously encoded blocks J, K, L, M, and E that are input via the line L510 is used. A motion vector prediction value is set (step S2503).

なおステップS2503で取得される動きベクトルは、対象ブロックを含むフレームと、対象ブロックの動きベクトルが参照するフレームとの時間的距離に基づいてスケーリングされることが好ましい。スケーリングの際には各ブロックの動きベクトルが参照するフレームの時刻を用いるため、ラインL510を経由して入力される過去に符号化済みのブロックに対応した参照フレーム番号と、ラインL504を経由して入力される対象ブロックの参照フレーム番号からその時刻を求める必要がある。   Note that the motion vector acquired in step S2503 is preferably scaled based on the temporal distance between the frame including the target block and the frame referred to by the motion vector of the target block. Since the time of the frame referenced by the motion vector of each block is used for scaling, the reference frame number corresponding to the previously encoded block input via the line L510 and the line L504 are used. It is necessary to obtain the time from the reference frame number of the input target block.

スケーリングによって、対象ブロックを含むフレームの時刻t0から、対象ブロックの動きベクトルが参照するフレームの時刻teまでの時間的距離(t0-te)を基準にして、取得した復号化済みのブロックA、B、C、D、E、F、G、H、I、J、K、Lの動きベクトルの大きさを補正することができる。具体的に一例を挙げると、ブロックAの動きベクトルMViA(i=x,y)が参照するフレームの時刻をtaとすると、スケーリングされた動きベクトルMViA’(i=x,y)は、式(1)によって与えられるベクトルである。   The obtained decoded blocks A and B based on the temporal distance (t0-te) from the time t0 of the frame including the target block to the time te of the frame referred to by the motion vector of the target block by scaling. , C, D, E, F, G, H, I, J, K, and L, the magnitudes of motion vectors can be corrected. As a specific example, if the time of the frame referenced by the motion vector MViA (i = x, y) of the block A is ta, the scaled motion vector MViA ′ (i = x, y) The vector given by 1).

なお、このスケーリング処理は必須ではなく、スケーリング処理を行わない場合は各ブロックに対応する参照フレーム番号は必要ない。   Note that this scaling processing is not essential, and reference frame numbers corresponding to the respective blocks are not required when the scaling processing is not performed.

最後に、ステップS2503で決定された動きベクトル予測値PMVi(i=x,y)を出力し(ステップS2504)、処理を終了する。   Finally, the motion vector prediction value PMVi (i = x, y) determined in step S2503 is output (step S2504), and the process ends.

なお、図45のフローチャートに示される一連の処理はx成分、y成分に分けずに、x成分、y成分共通のインデックスを用いて同時に動きベクトル予測値を決定してもよい。   Note that the series of processing shown in the flowchart of FIG. 45 may be determined simultaneously using an index common to the x component and the y component without being divided into the x component and the y component.

さらに、対象ブロックを含む領域が大きく移動しているような場合の予測精度をあげるために、図44に示されるブロックの位置関係は以下のように定めてもよい。   Furthermore, in order to increase the prediction accuracy in the case where the region including the target block has moved greatly, the positional relationship of the blocks shown in FIG. 44 may be determined as follows.

対象ブロックをNとし、フレームF1301はブロックNを含むフレームである。フレームF1302は既に復号化済みのフレームである。   The target block is N, and the frame F1301 is a frame including the block N. Frame F1302 is a frame that has already been decoded.

フレームF1301において、ブロックJをブロックNの最も左上の画素の真左上の画素を含むブロック、ブロックKをブロックNの最も左上の画素の真上の画素を含むブロック、ブロックLをブロックNの最も右上の画素の真右上の画素を含むブロック、ブロックMをブロックNの最も左上の画素の真左の画素を含むブロックとする。   In frame F1301, block J is a block including the pixel immediately above the upper leftmost pixel of block N, block K is a block including the pixel immediately above the uppermost left pixel of block N, and block L is the uppermost right of block N. A block including the pixel immediately above the rightmost pixel and the block M is a block including a pixel immediately left of the uppermost leftmost pixel of the block N.

フレームF1302において、ブロックEはブロックJの動きベクトルが参照しているブロック、またはブロックKの動きベクトルが参照しているブロック、またはブロックLの動きベクトルが参照しているブロック、またはブロックMの動きベクトルが参照しているブロックとする。その際もブロックAをブロックEの最も左上の画素の真左上の画素を含むブロック、ブロックBをブロックEの最も左上の画素の真上の画素を含むブロック、ブロックCをブロックEの最も右上の画素の真右上の画素を含むブロック、ブロックDをブロックEの最も左下の画素の真左の画素を含むブロック、ブロックFをブロックEの最も右上の画素の真右の画素を含むブロック、ブロックGをブロックEの最も左下の画素の真左下の画素を含むブロック、ブロックHをブロックEの最も右下の画素の真下の画素を含むブロック、ブロックIをブロックEの最も右下の画素の真右下の画素を含むブロックとする。   In frame F1302, block E is a block referenced by a motion vector of block J, a block referenced by a motion vector of block K, a block referenced by a motion vector of block L, or a motion of block M Let it be the block that the vector references. At that time, block A is a block including the pixel immediately above the upper left pixel of block E, block B is a block including the pixel immediately above the upper left pixel of block E, and block C is an upper right pixel of block E. A block including the pixel right above the pixel, a block D including the pixel immediately left of the pixel at the bottom left of the block E, a block F including a pixel right above the pixel at the top right of the block E, a block G Is the block containing the pixel directly below the leftmost pixel of block E, block H is the block containing the pixel directly below the rightmost pixel of block E, block I is the block right below the rightmost pixel of block E A block including the lower pixel.

なお上記の定め方をする場合、各ブロックの大きさ以下の精度で類似する画像信号パターンの位置を探し出して動きベクトルの検出を行う際に、ブロックJが参照するブロック、あるいはブロックKが参照するブロック、あるいはブロックLが参照するブロック、あるいはブロックMが参照するブロックが動きベクトルをもつ複数のブロックにまたがることが考えられるが、その際はそれら複数のブロックの動きベクトルの平均値、あるいはまたがる領域でもっとも占める割合の高いブロックの動きベクトルを該当するブロック(JあるいはKあるいはLあるいはM)が参照するブロックの動きベクトルとして用いるものとする。   When the above method is used, when the position of a similar image signal pattern is detected with an accuracy less than the size of each block and the motion vector is detected, the block referred to by the block J or the block K refers to It is possible that the block referenced by block or block L or the block referenced by block M may span multiple blocks with motion vectors. In this case, the average value of the motion vectors of the multiple blocks or the region that spans the blocks It is assumed that the motion vector of the block having the highest ratio is used as the motion vector of the block referred to by the corresponding block (J, K, L, or M).

このとき、確率切替信号生成器510の詳細は図46のフローチャートで説明される。確率切替信号は動きベクトル予測値決定方法を示すインデックスの発生確率の尤もらしさを示すものであって、この信号に基づいて確率テーブルを切り替えて、そのデータを符号化した際に用いた確率テーブルと同じ確率テーブルを用いてデータ解析を行うことで、データを抽出することができる。   Details of the probability switching signal generator 510 will be described with reference to the flowchart of FIG. The probability switching signal indicates the likelihood of the occurrence probability of the index indicating the motion vector prediction value determination method, and switches the probability table based on this signal, and the probability table used when the data is encoded Data can be extracted by performing data analysis using the same probability table.

したがって、符号化装置と復号化装置はあらかじめ共通の確率テーブルを持ち、共通の仕組みによって確率テーブルを切り替える必要がある。   Therefore, the encoding device and the decoding device have a common probability table in advance, and it is necessary to switch the probability table by a common mechanism.

確率切替信号生成器510では、動きベクトルのx成分、y成分はそれぞれ独立に計算されるものとする。具体的にはまず動きベクトルのx成分の計算を行い、x成分に相当する確率切替信号を出力し、次にy成分の計算を行い、y成分に相当する確率切替信号の出力を行う。以下では必要に応じて、成分を示す添え字をiと記す(iはx又はyである)。   In the probability switching signal generator 510, the x component and y component of the motion vector are calculated independently. Specifically, the x component of the motion vector is first calculated, a probability switching signal corresponding to the x component is output, then the y component is calculated, and a probability switching signal corresponding to the y component is output. In the following, a subscript indicating a component is written as i (i is x or y) as necessary.

まず確率切替信号生成器510は、ラインL510を経由して入力される復号化済みのブロックA、B、C、D、E、F、G、H、I、J、K、L、Mの動きベクトルと対応する参照フレーム番号と、ラインL504を経由して入力される対象ブロックの参照フレーム番号を取得する(ステップS2601)。   First, the probability switching signal generator 510 moves the decoded blocks A, B, C, D, E, F, G, H, I, J, K, L, and M inputted via the line L510. The reference frame number corresponding to the vector and the reference frame number of the target block input via the line L504 are acquired (step S2601).

なおステップS2601で取得される動きベクトルは、対象ブロックを含むフレームと、対象ブロックの動きベクトルが参照するフレームとの時間的距離に基づいてスケーリングされることが好ましい。スケーリングの際には各ブロックの動きベクトルが参照するフレームの時刻を用いるため、各ブロックに対応する参照フレーム番号からその時刻を求める必要がある。   Note that the motion vector acquired in step S2601 is preferably scaled based on a temporal distance between a frame including the target block and a frame referred to by the motion vector of the target block. Since the time of the frame referred to by the motion vector of each block is used at the time of scaling, it is necessary to obtain the time from the reference frame number corresponding to each block.

スケーリングによって、対象ブロックを含むフレームの時刻t0から、対象ブロックの動きベクトルが参照するフレームの時刻teまでの時間的距離(t0-te)を基準にして、取得した復号化済みのブロックA、B、C、D、E、F、G、H、I、J、K、Lの動きベクトルの大きさを補正することができる。具体的に一例を挙げると、ブロックAの動きベクトルMViA(i=x,y)が参照するフレームの時刻をtaとすると、スケーリングされた動きベクトルMViA’(i=x,y)は、式(1)によって与えられるベクトルである。   The obtained decoded blocks A and B based on the temporal distance (t0-te) from the time t0 of the frame including the target block to the time te of the frame referred to by the motion vector of the target block by scaling. , C, D, E, F, G, H, I, J, K, and L, the magnitudes of motion vectors can be corrected. As a specific example, if the time of the frame referenced by the motion vector MViA (i = x, y) of the block A is ta, the scaled motion vector MViA ′ (i = x, y) The vector given by 1).

なお、このスケーリング処理は必須ではなく、スケーリング処理を行わない場合は各ブロックに対応する参照フレーム番号は必要ない。   Note that this scaling processing is not essential, and reference frame numbers corresponding to the respective blocks are not required when the scaling processing is not performed.

また、ステップS2601において復号化済みのブロックそのもの、あるいは復号化済みのブロックの動きベクトルが存在しない場合、そのブロックは極めて大きい動きベクトルを持つとみなし、十分大きな値とした上で処理を進める。あるいは、処理対象から除く。   If the decoded block itself or the motion vector of the decoded block does not exist in step S2601, the block is regarded as having a very large motion vector, and the process proceeds with a sufficiently large value. Alternatively, it is excluded from the processing target.

続いて、ブロックAとブロックEの動きベクトルの差分、ブロックCとブロックEの動きベクトルの差分、ブロックGとブロックEの動きベクトルの差分、ブロックIとブロックEの動きベクトルの差分の計4通りの差分の平均値を算出する。また、ブロックBとブロックEの動きベクトルの差分、ブロックDとブロックEの動きベクトルの差分、ブロックFとブロックEの動きベクトルの差分、ブロックHとブロックEの動きベクトルの差分の計4通りの差分の平均値を算出する。また、ブロックJとブロックKの動きベクトルの差分、ブロックJとブロックMの動きベクトルの差分、ブロックEとブロックKの動きベクトルの差分、ブロックEとブロックMの動きベクトルの差分の計4通りの差分の平均値を算出する(ステップS2602)。   Next, there are 4 types of differences: motion vector difference between block A and block E, motion vector difference between block C and block E, motion vector difference between block G and block E, and motion vector difference between block I and block E. The average value of the differences is calculated. In addition, the difference between the motion vector of block B and block E, the difference of the motion vector of block D and block E, the difference of the motion vector of block F and block E, and the difference of the motion vector of block H and block E are 4 ways in total. Calculate the average value of the differences. In addition, the difference between the motion vector of block J and block K, the difference of the motion vector of block J and block M, the difference of the motion vector of block E and block K, and the difference of the motion vector of block E and block M are 4 ways in total. An average value of the differences is calculated (step S2602).

続いて、ステップS2602で算出した3通りの差分平均値のうち、もっとも値が小さくなる組み合わせが判定される。(ステップS2603)。   Subsequently, among the three difference average values calculated in step S2602, the combination having the smallest value is determined. (Step S2603).

ステップS2603での判定の結果、もっとも小さい差分平均値を与える組み合わせがブロックAとE、ブロックCとE、ブロックGとE、ブロックIとEである場合にはブロックNの動きベクトル予測値はブロックA、B、C、D、E、F、G、H、Iの動きベクトルの平均値に決定することが尤もらしいことを示す信号Signal_i=(i=x,y)0を生成するとともに、その際の平均差分値MViD_mean(i=x,y)をブロックAとブロックEの動きベクトルの差分、ブロックCとブロックEの動きベクトルの差分、ブロックGとブロックEの動きベクトルの差分、ブロックIとブロックEの動きベクトルの差分の計4通りの差分の平均値とする。もっとも小さい差分平均値を与える組み合わせがブロックBとE、ブロックDとE、ブロックFとE、ブロックHとEである場合にはブロックNの動きベクトル予測値はブロックB、D、E、F、Hの動きベクトルの平均値に決定することが尤もらしいことを示す信号Signal_i=1(i=x,y)を生成するとともに、その際の平均差分値MViD_mean(i=x,y)をブロックBとブロックEの動きベクトルの差分、ブロックDとブロックEの動きベクトルの差分、ブロックFとブロックEの動きベクトルの差分、ブロックHとブロックEの動きベクトルの差分の計4通りの差分の平均値とする。もっとも小さい差分平均値を与える組み合わせがブロックJとK、ブロックJとM、ブロックEとK、ブロックEとMである場合にはブロックNの動きベクトル予測値はブロックJ、K、L、M、Eの動きベクトルの平均値に決定することが尤もらしいことを示す信号Signal_i=2(i=x,y)を生成するとともに、その際の平均差分値MViD_mean(i=x,y)をブロックJとブロックKの動きベクトルの差分、ブロックJとブロックMの動きベクトルの差分、ブロックEとブロックKの動きベクトルの差分、ブロックEとブロックMの動きベクトルの差分の計4通りの差分の平均値とする(ステップS2604)。   As a result of the determination in step S2603, when the combination that gives the smallest difference average value is block A and E, block C and E, block G and E, and block I and E, the motion vector prediction value of block N is block A signal Signal_i = (i = x, y) 0 indicating that it is likely to be determined as an average value of motion vectors of A, B, C, D, E, F, G, H, and I, and The average difference value MViD_mean (i = x, y) at the time is the difference between the motion vectors of block A and block E, the difference between the motion vectors of block C and block E, the difference of the motion vectors of block G and block E, and the block I and It is set as the average value of a total of four types of differences of the motion vector difference of the block E. When the combination that gives the smallest difference average value is block B and E, block D and E, block F and E, block H and E, the motion vector prediction value of block N is block B, D, E, F, A signal Signal_i = 1 (i = x, y) indicating that it is likely to be determined as an average value of the motion vector of H is generated, and the average difference value MViD_mean (i = x, y) at that time is generated in the block B Difference of motion vectors between block E and block E, difference between motion vectors between block D and block E, difference between motion vectors between block F and block E, and difference between motion vectors between block H and block E. And When the combination that gives the smallest difference average value is block J and K, block J and M, block E and K, block E and M, the motion vector prediction value of block N is block J, K, L, M, A signal Signal_i = 2 (i = x, y) indicating that it is likely to be determined as an average value of the motion vector of E is generated, and the average difference value MViD_mean (i = x, y) at that time is generated in the block J Difference between motion vectors of block K and block K, difference of motion vectors of block J and block M, difference of motion vectors of block E and block K, and difference of motion vectors of block E and block M (Step S2604).

最後に、ステップS2604で決定されたインデックスIndex_i(i=x,y)および動きベクトル平均差分値MViD_mean(i=x,y)を出力し(ステップS2605)、処理を終了する。   Finally, the index Index_i (i = x, y) and the motion vector average difference value MViD_mean (i = x, y) determined in step S2604 are output (step S2605), and the process ends.

なお、発生確率信号はSignal_i(i=x,y)のみでもよい。   The occurrence probability signal may be only Signal_i (i = x, y).

なお、図33のフローチャートに示される一連の処理はx成分、y成分に分けずにベクトルの差分(具体的にはベクトルノルムなど)を算出し、x成分、y成分に相当する確率切替信号を同時に決定してもよい。   Note that the series of processing shown in the flowchart of FIG. 33 calculates a vector difference (specifically, a vector norm) without dividing the x component and the y component into a probability switching signal corresponding to the x component and the y component. It may be determined at the same time.

なお、ステップS2602において、各ブロック群の動きベクトルの類似性を表す情報として平均差分値を用いたが、そのかわりに各ブロック群の分散値や標準偏差を用いてもよい。その際にはステップS2604で生成される平均差分値は分散値あるいは標準偏差となる。   In step S2602, the average difference value is used as information representing the similarity of the motion vectors of each block group. Instead, the variance value or standard deviation of each block group may be used. In that case, the average difference value generated in step S2604 becomes a variance value or a standard deviation.

また、対象ブロックを含む領域が大きく移動しているような場合の予測精度をあげるために、図44に示されるブロックの位置関係は以下のように定めてもよい。   In addition, in order to increase the prediction accuracy when the region including the target block has moved greatly, the positional relationship of the blocks shown in FIG. 44 may be determined as follows.

対象ブロックをNとし、フレームF1301はブロックNを含むフレームである。フレームF1302は既に復号化済みのフレームである。   The target block is N, and the frame F1301 is a frame including the block N. Frame F1302 is a frame that has already been decoded.

フレームF1301において、ブロックJをブロックNの最も左上の画素の真左上の画素を含むブロック、ブロックKをブロックNの最も左上の画素の真上の画素を含むブロック、ブロックLをブロックNの最も右上の画素の真右上の画素を含むブロック、ブロックMをブロックNの最も左上の画素の真左の画素を含むブロックとする。   In frame F1301, block J is a block including the pixel immediately above the upper leftmost pixel of block N, block K is a block including the pixel immediately above the uppermost left pixel of block N, and block L is the uppermost right of block N. A block including the pixel immediately above the rightmost pixel and the block M is a block including a pixel immediately left of the uppermost leftmost pixel of the block N.

フレームF1302において、ブロックEはブロックJの動きベクトルが参照しているブロック、またはブロックKの動きベクトルが参照しているブロック、またはブロックLの動きベクトルが参照しているブロック、またはブロックMの動きベクトルが参照しているブロックとする。その際もブロックAをブロックEの最も左上の画素の真左上の画素を含むブロック、ブロックBをブロックEの最も左上の画素の真上の画素を含むブロック、ブロックCをブロックEの最も右上の画素の真右上の画素を含むブロック、ブロックDをブロックEの最も左下の画素の真左の画素を含むブロック、ブロックFをブロックEの最も右上の画素の真右の画素を含むブロック、ブロックGをブロックEの最も左下の画素の真左下の画素を含むブロック、ブロックHをブロックEの最も右下の画素の真下の画素を含むブロック、ブロックIをブロックEの最も右下の画素の真右下の画素を含むブロックとする。   In frame F1302, block E is a block referenced by a motion vector of block J, a block referenced by a motion vector of block K, a block referenced by a motion vector of block L, or a motion of block M Let it be the block that the vector references. At that time, block A is a block including the pixel immediately above the upper left pixel of block E, block B is a block including the pixel immediately above the upper left pixel of block E, and block C is an upper right pixel of block E. A block including the pixel right above the pixel, a block D including the pixel immediately left of the pixel at the bottom left of the block E, a block F including a pixel right above the pixel at the top right of the block E, a block G Is the block containing the pixel directly below the leftmost pixel of block E, block H is the block containing the pixel directly below the rightmost pixel of block E, block I is the block right below the rightmost pixel of block E A block including the lower pixel.

なお上記の定め方をする場合、各ブロックの大きさ以下の精度で類似する画像信号パターンの位置を探し出して動きベクトルの検出を行う際に、ブロックJが参照するブロック、あるいはブロックKが参照するブロック、あるいはブロックLが参照するブロック、あるいはブロックMが参照するブロックが動きベクトルをもつ複数のブロックにまたがることが考えられるが、その際はそれら複数のブロックの動きベクトルの平均値、あるいはまたがる領域でもっとも占める割合の高いブロックの動きベクトルを該当するブロック(JあるいはKあるいはLあるいはM)が参照するブロックの動きベクトルとして用いるものとする。   When the above method is used, when the position of a similar image signal pattern is detected with an accuracy less than the size of each block and the motion vector is detected, the block referred to by the block J or the block K refers to It is possible that the block referenced by block or block L or the block referenced by block M may span multiple blocks with motion vectors. In this case, the average value of the motion vectors of the multiple blocks or the region that spans the blocks It is assumed that the motion vector of the block having the highest ratio is used as the motion vector of the block referred to by the corresponding block (J, K, L, or M).

このとき、データ解析器501では、あらかじめ複数所持してある動きベクトル予測値を示す各インデックスの発生確率分布のテーブルを、ラインL512を経由して入力される確率切替信号に基づいて切り替える。具体的にはSignal_i(i=x,y)によって最も発生確率が高いインデックス、MViD(i=x,y)によってその発生確率を予測し、それに応じた確率テーブルへの切り替えを行う。   At this time, the data analyzer 501 switches a table of occurrence probability distribution of each index indicating a plurality of motion vector prediction values possessed in advance based on a probability switching signal input via the line L512. Specifically, the index with the highest probability of occurrence is calculated by Signal_i (i = x, y), the probability of occurrence is predicted by MViD (i = x, y), and switching to the probability table is performed accordingly.

最後に、コンピュータを動画像復号化装置50として動作させる動画像復号化プログラムについて説明する。図55は、本実施形態に係る動画像復号化プログラムP50の構成を示し、この動画像復号化プログラムP50は、記録媒体に格納されて提供される。記録媒体としては、フレキシブルディスク、CD−ROM、DVD、ROM等の記録媒体あるいは半導体メモリ等が例示される。なお、記録媒体に記憶されたプログラムを実行するためのコンピュータの構成は、既に説明した図63、図64の構成と同様であるため、重複した説明は省略する。   Finally, a moving picture decoding program that causes a computer to operate as the moving picture decoding apparatus 50 will be described. FIG. 55 shows a configuration of a moving picture decoding program P50 according to the present embodiment, and the moving picture decoding program P50 is provided by being stored in a recording medium. Examples of the recording medium include a recording medium such as a flexible disk, a CD-ROM, a DVD, and a ROM, or a semiconductor memory. Note that the configuration of the computer for executing the program stored in the recording medium is the same as the configuration of FIGS. 63 and 64 already described, and therefore, a duplicate description is omitted.

図55に示すように、動画像復号化プログラムP50は、処理を統括するメインモジュールP501と、データ解析モジュールP502と、逆量子化モジュールP503と、逆変換モジュールP504と、記憶モジュールP505と、予測信号生成モジュールP506と、動き予測モジュールP507と、加算モジュールP508と、確率切替信号生成モジュールP509とを備えている。   As shown in FIG. 55, the moving picture decoding program P50 includes a main module P501 that supervises processing, a data analysis module P502, an inverse quantization module P503, an inverse transform module P504, a storage module P505, and a prediction signal. A generation module P506, a motion prediction module P507, an addition module P508, and a probability switching signal generation module P509 are provided.

データ解析モジュールP502、逆量子化モジュールP503、逆変換モジュールP504、予測信号生成モジュールP506、動き予測モジュールP507、確率切替信号生成モジュールP509がコンピュータに実現させる機能は、それぞれ図37のデータ解析器501、逆量子化器502、逆変換器503、予測信号生成器508、動き予測器506、確率切替信号生成器510の機能と同様である。記憶モジュールP505がコンピュータに実現させる機能は、フレームメモリ504及び動きベクトルメモリ505の機能と同様である。また、加算モジュールP508がコンピュータに実現させる機能は、加算器507、509の機能と同様である。   The functions realized by the computer by the data analysis module P502, the inverse quantization module P503, the inverse transform module P504, the prediction signal generation module P506, the motion prediction module P507, and the probability switching signal generation module P509 are the data analyzer 501 in FIG. The functions of the inverse quantizer 502, the inverse transformer 503, the prediction signal generator 508, the motion predictor 506, and the probability switching signal generator 510 are the same. The functions that the storage module P505 realizes in the computer are the same as the functions of the frame memory 504 and the motion vector memory 505. The function that the adder module P508 realizes in the computer is the same as the function of the adders 507 and 509.

[第6実施形態]
図47を用いて、本発明に係る動画像復号化装置60について説明する。
[Sixth Embodiment]
The moving picture decoding apparatus 60 according to the present invention will be described with reference to FIG.

動画像復号化装置60は、機能的な構成要素として、図47に示すように、データ解析器601と、逆量子化器602と、逆変換器603と、フレームメモリ604と、動きベクトルメモリ605と、動き予測器606と、加算器607と、予測信号生成器608と、加算器609と、確率切替信号生成器610を備えて構成される。   As shown in FIG. 47, the moving picture decoding apparatus 60 includes a data analyzer 601, an inverse quantizer 602, an inverse transformer 603, a frame memory 604, and a motion vector memory 605 as functional components. A motion predictor 606, an adder 607, a prediction signal generator 608, an adder 609, and a probability switching signal generator 610.

動画像復号化装置60には、上述した動画像符号化装置によって符号化された圧縮ストリームを入力する。この圧縮ストリームには、復号化対象となるブロックの原信号と予測信号の差分を表す残差信号と、復号化対象となるブロックの予測信号の生成に関する情報が含まれている。   The moving picture decoding apparatus 60 receives the compressed stream encoded by the moving picture encoding apparatus described above. This compressed stream includes a residual signal that represents the difference between the original signal of the block to be decoded and the prediction signal, and information related to the generation of the prediction signal of the block to be decoded.

データ解析器601は、ラインL601を経由して入力された圧縮ストリームを解析することにより、直行変換および量子化された復号化の対象となるブロック(以下、対象ブロック)の残差信号を抽出しラインL602を経由して出力する。また、対象ブロックの参照フレーム番号を抽出し、ラインL604を経由して出力する。また、ラインL612を経由して入力された確率切替信号に基づいて、データの抽出に用いる確率テーブルを後述の方法で切り替えたのち、対象ブロックの動きベクトルとその予測値の差分である動きベクトル差分値を抽出し、ラインL603を経由して出力する。   The data analyzer 601 analyzes the compressed stream input via the line L601 to extract a residual signal of a block (hereinafter referred to as a target block) to be decoded and subjected to orthogonal transform and quantization. Output via line L602. Further, the reference frame number of the target block is extracted and output via the line L604. In addition, based on the probability switching signal input via the line L612, the probability table used for data extraction is switched by the method described later, and then the motion vector difference that is the difference between the motion vector of the target block and its predicted value. The value is extracted and output via line L603.

逆量子化器602は、ラインL602を経由して入力された量子化された変換係数を逆量子化し、ラインL605を経由して復元された変換係数を出力する。   The inverse quantizer 602 inversely quantizes the quantized transform coefficient input via the line L602 and outputs the restored transform coefficient via the line L605.

逆変換器603は、ラインL605を経由して入力された変換係数を逆直交変換し、ラインL606を経由して復元された残差信号を出力する。   The inverse transformer 603 performs inverse orthogonal transform on the transform coefficient input via the line L605, and outputs a restored residual signal via the line L606.

フレームメモリ604は、過去に復号化済みのフレーム画像信号(以下、参照フレーム画像信号)と併せて、ラインL607を経由して入力される復元された対象ブロックの画像信号を格納し、必要に応じてラインL608を経由して出力する。   The frame memory 604 stores the image signal of the restored target block input via the line L607 together with a frame image signal (hereinafter referred to as a reference frame image signal) that has been decoded in the past, and if necessary, And output via line L608.

動きベクトルメモリ605は、過去に復号化済みの動きベクトルとそれに対応した参照フレーム番号と併せて、ラインL609を経由して入力される対象ブロックの動きベクトルとラインL604を経由して入力される対象ブロックの参照フレーム番号を格納し、必要に応じてラインL610を経由して出力する。   The motion vector memory 605 includes the motion vector of the target block input via the line L609 and the target input via the line L604 together with the previously decoded motion vector and the corresponding reference frame number. The block reference frame number is stored and output via line L610 as necessary.

動き予測器606は、ラインL610を経由して入力される過去に符号化済みのブロックの動きベクトルと、それに対応した参照フレーム番号と、ラインL604を経由して入力される対象ブロックの参照フレーム番号から、対象ブロックの動きベクトル予測値を算出し、ラインL611を経由して出力する。動き予測器606の詳細な動作は、動き予測器406と同じであるとし、記載を省略する。   The motion predictor 606 inputs the motion vector of the previously encoded block input via the line L610, the reference frame number corresponding thereto, and the reference frame number of the target block input via the line L604. Then, the motion vector prediction value of the target block is calculated and output via the line L611. The detailed operation of the motion predictor 606 is assumed to be the same as that of the motion predictor 406, and the description thereof is omitted.

加算器607は、ラインL611を経由して入力された動きベクトル予測値と、ラインL603を経由して入力された動きベクトル差分値を加算し、対象ブロックの動きベクトルを復元し、ラインL609を経由して出力する。   The adder 607 adds the motion vector prediction value input via the line L611 and the motion vector difference value input via the line L603, restores the motion vector of the target block, and passes the line L609. And output.

予測信号生成器608は、ラインL609を経由して入力される対象ブロックの動きベクトル信号値と、ラインL604を経由して入力される対象ブロックの参照フレーム番号と、ラインL608を経由して入力される参照フレーム画像信号から、対象ブロックに対する予測画像信号を生成し、ラインL613を経由して出力する。   The prediction signal generator 608 is input via the line L608, the motion vector signal value of the target block input via the line L609, the reference frame number of the target block input via the line L604, and the line L608. From the reference frame image signal, a predicted image signal for the target block is generated and output via the line L613.

加算器609は、ラインL606を経由して入力された残差信号と、ラインL613を経由して入力された対象ブロックに対する予測画像信号を加算し、対象ブロックの画像信号を復元し、ラインL607を経由して出力する。   The adder 609 adds the residual signal input via the line L606 and the prediction image signal for the target block input via the line L613, restores the image signal of the target block, and sets the line L607 Output via.

確率切替信号生成器610はラインL610を経由して入力される過去に符号化済みのブロックの動きベクトルと、それに対応する参照フレーム番号と、ラインL604を経由して入力される対象ブロックの参照フレーム番号から、後述するフローに従って切り替える確率テーブルを示す確率切替信号を生成し、ラインL612を経由して出力する。   The probability switching signal generator 610 inputs the motion vector of the previously encoded block input via the line L610, the corresponding reference frame number, and the reference frame of the target block input via the line L604. From the number, a probability switching signal indicating a probability table to be switched according to a flow to be described later is generated and output via a line L612.

確率切替信号生成器610の詳細な動作は、動き予測器606の動作と対応させることが好ましい。以下では、動きベクトル予測値は符号化済みのブロックの動きベクトルから決定され、動きベクトル予測値を示すためのインデックスからの復元をしない形態において説明を行うが、動きベクトル予測値を示すためのインデックスからの復元する形態においても適応できる。   It is preferable that the detailed operation of the probability switching signal generator 610 corresponds to the operation of the motion predictor 606. In the following, the motion vector prediction value is determined from the motion vector of the encoded block and will be described in the form of not restoring from the index for indicating the motion vector prediction value. However, the index for indicating the motion vector prediction value is described. The present invention can also be applied to the form of restoring from the above.

動き予測器606の動作が、前述の動き予測器406の図27と図28を用いて説明される動作と同じ場合、確率切替信号生成器の610の詳細な動作は図27の模式図と、図48のフローチャートを用いて説明される。図27の説明は前述の動き予測器406における説明と同じである。   When the operation of the motion predictor 606 is the same as the operation described above with reference to FIGS. 27 and 28 of the motion predictor 406, the detailed operation of the probability switching signal generator 610 is as shown in the schematic diagram of FIG. This will be described with reference to the flowchart of FIG. The description of FIG. 27 is the same as that of the motion predictor 406 described above.

このとき、確率切替信号は動きベクトル差分値の発生確率分布の尤もらしさを示すものであって、この信号に基づいて確率テーブルを切り替えて、そのデータを符号化した際に用いた確率テーブルと同じ確率テーブルを用いてデータ解析を行うことで、動きベクトル差分値のデータを抽出することができる。   At this time, the probability switching signal indicates the likelihood of the occurrence probability distribution of the motion vector difference value, and is the same as the probability table used when the probability table is switched based on this signal and the data is encoded. Data of motion vector difference values can be extracted by performing data analysis using the probability table.

したがって、符号化装置と復号化装置はあらかじめ共通の確率テーブルを持ち、共通の仕組みによって確率テーブルを切り替える必要がある。   Therefore, the encoding device and the decoding device have a common probability table in advance, and it is necessary to switch the probability table by a common mechanism.

確率切替信号生成器610では、動きベクトルのx成分、y成分はそれぞれ独立に計算されるものとする。具体的にはまず動きベクトルのx成分の計算を行い、x成分に相当する確率切替信号を出力し、次にy成分の計算を行い、y成分に相当する確率切替信号の出力を行う。以下では必要に応じて、成分を示す添え字をiと記す(iはx又はyである)。   In the probability switching signal generator 610, the x component and y component of the motion vector are calculated independently. Specifically, the x component of the motion vector is first calculated, a probability switching signal corresponding to the x component is output, then the y component is calculated, and a probability switching signal corresponding to the y component is output. In the following, a subscript indicating a component is written as i (i is x or y) as necessary.

まず確率切替信号生成器610は、ラインL610を経由して入力される復号化済みのブロックA、B、C、D、E、Fの動きベクトルと対応する参照フレーム番号と、ラインL604を経由して入力される対象ブロックの参照フレーム番号を取得する(ステップS2701)。   First, the probability switching signal generator 610 passes through the line L604 and the reference frame number corresponding to the motion vectors of the decoded blocks A, B, C, D, E, and F inputted via the line L610. The reference frame number of the target block input in step S2701 is acquired.

なおステップS2701で取得される動きベクトルは、対象ブロックを含むフレームと、対象ブロックの動きベクトルが参照するフレームとの時間的距離に基づいてスケーリングされることが好ましい。スケーリングの際には各ブロックの動きベクトルが参照するフレームの時刻を用いるため、各ブロックに対応する参照フレーム番号からその時刻を求める必要がある。   Note that the motion vector acquired in step S2701 is preferably scaled based on a temporal distance between a frame including the target block and a frame referred to by the motion vector of the target block. Since the time of the frame referred to by the motion vector of each block is used at the time of scaling, it is necessary to obtain the time from the reference frame number corresponding to each block.

スケーリングによって、対象ブロックを含むフレームの時刻t0から、対象ブロックの動きベクトルが参照するフレームの時刻teまでの時間的距離(t0-te)を基準にして、取得した復号化済みのブロックA、B、C、D、E、Fの動きベクトルの大きさを補正することができる。具体的に一例を挙げると、ブロックAの動きベクトルMViA(i=x,y)が参照するフレームの時刻をtaとすると、スケーリングされた動きベクトルMViA’(i=x,y)は、式(1)によって与えられるベクトルである。   The obtained decoded blocks A and B based on the temporal distance (t0-te) from the time t0 of the frame including the target block to the time te of the frame referred to by the motion vector of the target block by scaling. , C, D, E, and F motion vector magnitudes can be corrected. As a specific example, if the time of the frame referenced by the motion vector MViA (i = x, y) of the block A is ta, the scaled motion vector MViA ′ (i = x, y) The vector given by 1).

なお、このスケーリング処理は必須ではなく、スケーリング処理を行わない場合は各ブロックに対応する参照フレーム番号は必要ない。   Note that this scaling processing is not essential, and reference frame numbers corresponding to the respective blocks are not required when the scaling processing is not performed.

また、ステップS2701において復号化済みのブロックそのもの、あるいは復号化済みのブロックの動きベクトルが存在しない場合、そのブロックは極めて大きい動きベクトルを持つとみなし、十分大きな値とした上で処理を進める。あるいは、処理対象から除く。   If the decoded block itself or the motion vector of the decoded block does not exist in step S2701, the block is regarded as having a very large motion vector, and the process proceeds with a sufficiently large value. Alternatively, it is excluded from the processing target.

続いて、ブロックBの動きベクトルとブロックEの動きベクトルの差分、ブロックCの動きベクトルとブロックFの動きベクトルの差分、ブロックDの動きベクトルとブロックEの動きベクトルの差分、ブロックDの動きベクトルとブロックFの動きベクトルの差分の4通りが算出される(ステップS2702)。   Subsequently, the difference between the motion vector of block B and the motion vector of block E, the difference of the motion vector of block C and the motion vector of block F, the difference of the motion vector of block D and the motion vector of block E, the motion vector of block D And four different motion vector differences of block F are calculated (step S2702).

次に、ステップS2702で算出された4通りの差分のうち、どの組み合わせの差分が最小のものであるかが判定される。(ステップS2703)。   Next, it is determined which combination of the four differences calculated in step S2702 has the smallest difference. (Step S2703).

ステップS2703での判定の結果、もっとも小さい差分を与える組み合わせがブロックBとブロックEである場合にはブロックHの動きベクトル予測値はブロックAの動きベクトルと同じ値に決定されることが尤もらしいことを示す信号Signal_i(i=x,y)=0を生成するとともに、その際の差分MViD(i=x,y)をブロックBとブロックEの動きベクトルの差分値とする。もっとも小さい差分を与える組み合わせがブロックCとブロックFである場合には、ブロックHの動きベクトル予測値はブロックAの動きベクトルと同じ値に決定されることが尤もらしいことを示す信号Signal_i=0(i=x,y)を生成するとともに、その際の差分MViD(i=x,y)をブロックCとブロックFの動きベクトルの差分値とする。もっとも小さい差分を与える組み合わせがブロックDとブロックEである場合には、ブロックHの動きベクトル予測値はブロックFの動きベクトルと同じ値に決定されることが尤もらしいことを示す信号Signal_i=1(i=x,y)を生成するとともに、その際の差分MViD(i=x,y)をブロックDとブロックEの動きベクトルの差分値とする。もっとも小さい差分を与える組み合わせがブロックDとブロックFである場合には、ブロックHの動きベクトル予測値はブロックEの動きベクトルと同じ値に決定されることが尤もらしいことを示す信号Signal_i=2(i=x,y)を生成するとともに、その際の動きベクトル差分値MViD(i=x,y)をブロックDとブロックFの動きベクトルの差分値とする。(ステップS2704)。   As a result of the determination in step S2703, if the combination that gives the smallest difference is block B and block E, it is likely that the motion vector prediction value of block H is determined to be the same value as the motion vector of block A. A signal Signal_i (i = x, y) = 0 indicating the difference between the motion vectors of the block B and the block E is used as a difference MViD (i = x, y) at that time. When the combination that gives the smallest difference is the block C and the block F, the signal Signal_i = 0 (which indicates that the motion vector prediction value of the block H is likely to be determined to be the same value as the motion vector of the block A. i = x, y) is generated, and the difference MViD (i = x, y) at that time is set as the difference value between the motion vectors of block C and block F. When the combination that gives the smallest difference is the block D and the block E, the signal Signal_i = 1 () indicating that the motion vector prediction value of the block H is likely to be determined to be the same value as the motion vector of the block F. i = x, y) is generated, and the difference MViD (i = x, y) at that time is set as the difference value between the motion vectors of block D and block E. When the combination that gives the smallest difference is the block D and the block F, the signal Signal_i = 2 () indicating that the motion vector prediction value of the block H is likely to be determined to be the same value as the motion vector of the block E. i = x, y) is generated, and the motion vector difference value MViD (i = x, y) at that time is set as the difference value between the motion vectors of block D and block F. (Step S2704).

最後に、ステップS2704で決定された信号値Signal_i(i=x,y)およびMViD(i=x,y)を出力し(ステップS2705)、処理を終了する。   Finally, the signal values Signal_i (i = x, y) and MViD (i = x, y) determined in step S2704 are output (step S2705), and the process ends.

なお、発生確率信号はSignal_i(i=x,y)のみでもよい。またMViD(i=x,y)のみでもよい。   The occurrence probability signal may be only Signal_i (i = x, y). Further, only MViD (i = x, y) may be used.

なお、図48のフローチャートに示される一連の処理はx成分、y成分に分けずにベクトルの差分(具体的にはベクトルノルムなど)を算出し、x成分、y成分に相当する確率切替信号を同時に決定してもよい。   The series of processes shown in the flowchart of FIG. 48 calculates a vector difference (specifically, a vector norm) without dividing the x component and the y component, and generates a probability switching signal corresponding to the x component and the y component. It may be determined at the same time.

このとき、データ解析器601では、あらかじめ複数所持してある動きベクトル差分値の発生確率分布のテーブルを、ラインL612を経由して入力される確率切替信号に基づいて切り替える。具体的にはSignal_i(i=x,y)によって動きベクトル予測値を引用する方向(x軸方向あるいはy軸方向あるいは時間方向)を予測し、MViD(i=x,y)によって動きベクトル差分値の発生確率を予測し、それらに応じた確率テーブルへの切り替えを行う。   At this time, the data analyzer 601 switches a plurality of motion vector difference value occurrence probability distribution tables possessed in advance based on the probability switching signal input via the line L612. Specifically, the direction (x-axis direction, y-axis direction, or temporal direction) for quoting the motion vector prediction value is predicted by Signal_i (i = x, y), and the motion vector difference value is calculated by MViD (i = x, y). The occurrence probability is predicted, and the probability table is switched accordingly.

動き予測器606の動作が、前述の動き予測器406の図31と図32を用いて説明される動作と同じ場合、確率切替信号生成器の610の詳細な動作は図31の模式図と、図49のフローチャートを用いて説明される。図31の説明は前述の動き予測器406における説明と同じである。   When the operation of the motion predictor 606 is the same as the operation described above with reference to FIGS. 31 and 32 of the motion predictor 406, the detailed operation of the probability switching signal generator 610 is as shown in the schematic diagram of FIG. This will be described with reference to the flowchart of FIG. The description of FIG. 31 is the same as that of the motion predictor 406 described above.

このとき、確率切替信号は動きベクトル差分値の発生確率分布の尤もらしさを示すものであって、この信号に基づいて確率テーブルを切り替えて、そのデータを符号化した際に用いた確率テーブルと同じ確率テーブルを用いてデータ解析を行うことで、動きベクトル差分値のデータを抽出することができる。   At this time, the probability switching signal indicates the likelihood of the occurrence probability distribution of the motion vector difference value, and is the same as the probability table used when the probability table is switched based on this signal and the data is encoded. Data of motion vector difference values can be extracted by performing data analysis using the probability table.

したがって、符号化装置と復号化装置はあらかじめ共通の確率テーブルを持ち、共通の仕組みによって確率テーブルを切り替える必要がある。   Therefore, the encoding device and the decoding device have a common probability table in advance, and it is necessary to switch the probability table by a common mechanism.

確率切替信号生成器610では、動きベクトルのx成分、y成分はそれぞれ独立に計算されるものとする。具体的にはまず動きベクトルのx成分の計算を行い、x成分に相当する確率切替信号を出力し、次にy成分の計算を行い、y成分に相当する確率切替信号の出力を行う。以下では必要に応じて、成分を示す添え字をiと記す(iはx又はyである)。   In the probability switching signal generator 610, the x component and y component of the motion vector are calculated independently. Specifically, the x component of the motion vector is first calculated, a probability switching signal corresponding to the x component is output, then the y component is calculated, and a probability switching signal corresponding to the y component is output. In the following, a subscript indicating a component is written as i (i is x or y) as necessary.

まず確率切替信号生成器610は、ラインL610を経由して入力される符号化済みのブロックA、B、C、D、E、F、Gの動きベクトルと対応する参照フレーム番号と、ラインL604を経由して入力される対象ブロックの参照フレーム番号を取得する(ステップS2801)。   First, the probability switching signal generator 610 sets the reference frame number corresponding to the motion vector of the encoded blocks A, B, C, D, E, F, and G input via the line L610, and the line L604. The reference frame number of the target block that is input via is acquired (step S2801).

なおステップS2801で取得される動きベクトルは、対象ブロックを含むフレームと、対象ブロックの動きベクトルが参照するフレームとの時間的距離に基づいてスケーリングされることが好ましい。スケーリングの際には各ブロックの動きベクトルが参照するフレームの時刻を用いるため、各ブロックに対応する参照フレーム番号からその時刻を求める必要がある。   Note that the motion vector acquired in step S2801 is preferably scaled based on a temporal distance between a frame including the target block and a frame referred to by the motion vector of the target block. Since the time of the frame referred to by the motion vector of each block is used at the time of scaling, it is necessary to obtain the time from the reference frame number corresponding to each block.

スケーリングによって、対象ブロックを含むフレームの時刻t0から、対象ブロックの動きベクトルが参照するフレームの時刻teまでの時間的距離(t0-te)を基準にして、取得した符号化済みのブロックA、B、C、D、E、F、Gの動きベクトルの大きさを補正することができる。具体的に一例を挙げると、ブロックAの動きベクトルMViA(i=x,y)が参照するフレームの時刻をtaとすると、スケーリングされた動きベクトルMViA’(i=x,y)は、式(1)によって与えられるベクトルである。   Encoded blocks A and B obtained by scaling based on the time distance (t0-te) from the time t0 of the frame including the target block to the time te of the frame referred to by the motion vector of the target block , C, D, E, F, and G motion vector magnitudes can be corrected. As a specific example, if the time of the frame referenced by the motion vector MViA (i = x, y) of the block A is ta, the scaled motion vector MViA ′ (i = x, y) The vector given by 1).

なお、このスケーリング処理は必須ではなく、スケーリング処理を行わない場合は各ブロックに対応する参照フレーム番号は必要ない。   Note that this scaling processing is not essential, and reference frame numbers corresponding to the respective blocks are not required when the scaling processing is not performed.

また、ステップS2801において符号化済みのブロックそのもの、あるいは符号化済みのブロックの動きベクトルが存在しない場合、そのブロックは極めて大きい動きベクトルを持つとみなし、十分大きな値とした上で処理を進める。あるいは、処理対象から除く。   If the encoded block itself or the motion vector of the encoded block does not exist in step S2801, the block is regarded as having a very large motion vector, and the process proceeds with a sufficiently large value. Alternatively, it is excluded from the processing target.

続いて、ブロックBの動きベクトルとブロックFの動きベクトルの差分、ブロックCの動きベクトルとブロックGの動きベクトルの差分、ブロックAの動きベクトルとブロックDの動きベクトルの差分、ブロックEの動きベクトルとブロックFの動きベクトルの差分、ブロックEの動きベクトルとブロックGの動きベクトルの差分の5通りが算出される(ステップS2802)。   Subsequently, the difference between the motion vector of block B and the motion vector of block F, the difference of the motion vector of block C and the motion vector of block G, the difference of the motion vector of block A and the motion vector of block D, the motion vector of block E And the difference between the motion vector of block F and the difference between the motion vector of block E and the motion vector of block G are calculated (step S2802).

次に、ステップS2802で算出された5通りの差分のうち、どの組み合わせの差分が最小のものであるかが判定される。(ステップS2803)。   Next, it is determined which combination of the five differences calculated in step S2802 has the smallest difference. (Step S2803).

ステップS2803での判定の結果、もっとも小さい差分を与える組み合わせがブロックBとブロックFである場合にはブロックHの動きベクトル予測値はブロックBの動きベクトルと同じ値に決定されることが尤もらしいことを示す信号Signal_i=0(i=x,y)を生成するとともに、その際の差分MViD(i=x,y)をブロックBとブロックFの動きベクトルの差分値とする。もっとも小さい差分を与える組み合わせがブロックCとブロックGである場合には、ブロックHの動きベクトル予測値はブロックCの動きベクトルと同じ値に決定されることが尤もらしいことを示す信号Signal_i=1(i=x,y)を生成するとともに、その際の差分MViD(i=x,y)をブロックCとブロックGの動きベクトルの差分値とする。もっとも小さい差分を与える組み合わせがブロックAとブロックDである場合には、ブロックHの動きベクトル予測値はブロックDの動きベクトルと同じ値に決定されることが尤もらしいことを示す信号Signal_i=2(i=x,y)を生成するとともに、その際の差分MViD(i=x,y)をブロックAとブロックDの動きベクトルの差分値とする。もっとも小さい差分を与える組み合わせがブロックEとブロックFである場合には、ブロックHの動きベクトル予測値はブロックGの動きベクトルと同じ値に決定されることが尤もらしいことを示す信号Signal_i=3(i=x,y)を生成するとともに、その際の差分MViD(i=x,y)をブロックEとブロックFの動きベクトルの差分値とする。もっとも小さい差分を与える組み合わせがブロックEとブロックGである場合には、ブロックHの動きベクトル予測値はブロックFの動きベクトルと同じ値に決定されることが尤もらしいことを示す信号Signal_i=4(i=x,y)を生成するとともに、その際の動きベクトル差分値MViD(i=x,y)をブロックEとブロックGの動きベクトルの差分値とする。(ステップS2804)。   As a result of the determination in step S2803, if the combination that gives the smallest difference is block B and block F, it is likely that the motion vector prediction value of block H is determined to be the same value as the motion vector of block B. A signal Signal_i = 0 (i = x, y) is generated, and the difference MViD (i = x, y) at that time is set as a difference value between the motion vectors of the block B and the block F. When the combination that gives the smallest difference is the block C and the block G, the signal Signal_i = 1 () indicating that it is likely that the motion vector prediction value of the block H is determined to be the same value as the motion vector of the block C. i = x, y) is generated, and the difference MViD (i = x, y) at that time is set as the difference value between the motion vectors of block C and block G. When the combination that gives the smallest difference is the block A and the block D, the signal Signal_i = 2 () indicating that it is likely that the motion vector prediction value of the block H is determined to be the same value as the motion vector of the block D. i = x, y) is generated, and the difference MViD (i = x, y) at that time is set as the difference value between the motion vectors of block A and block D. When the combination that gives the smallest difference is the block E and the block F, the signal Signal_i = 3 () indicating that it is likely that the motion vector prediction value of the block H is determined to be the same value as the motion vector of the block G. i = x, y) is generated, and the difference MViD (i = x, y) at that time is set as the difference value between the motion vectors of block E and block F. When the combination that gives the smallest difference is the block E and the block G, the signal Signal_i = 4 () indicating that it is likely that the motion vector prediction value of the block H is determined to be the same value as the motion vector of the block F. i = x, y) is generated, and the motion vector difference value MViD (i = x, y) at that time is used as the difference value between the motion vectors of block E and block G. (Step S2804).

最後に、ステップS2804で決定された信号値Signal_i(i=x,y)およびMViD(i=x,y)を出力し(ステップS705)、処理を終了する。   Finally, the signal values Signal_i (i = x, y) and MViD (i = x, y) determined in step S2804 are output (step S705), and the process ends.

なお、発生確率信号はSignal_i(i=x,y)のみでもよい。また、MViD(i=x,y)のみでもよい。   The occurrence probability signal may be only Signal_i (i = x, y). Further, only MViD (i = x, y) may be used.

なお、図49のフローチャートに示される一連の処理はx成分、y成分に分けずにベクトルの差分(具体的にはベクトルノルムなど)を算出し、x成分、y成分に相当する確率切替信号を同時に決定してもよい。   The series of processes shown in the flowchart of FIG. 49 calculates a vector difference (specifically, a vector norm) without dividing the x component and the y component, and generates a probability switching signal corresponding to the x component and the y component. It may be determined at the same time.

また、ステップS2802において算出する差分は、ブロックBの動きベクトルとブロックFの動きベクトルの差分、ブロックCの動きベクトルとブロックGの動きベクトルの差分、ブロックAの動きベクトルとブロックDの動きベクトルの差分の3通りでもよい。その際もステップS2803で最小となる組み合わせが判定され、ステップS2804では、もっとも小さい差分を与える組み合わせがブロックBとブロックFである場合にはブロックHの動きベクトル予測値はブロックBの動きベクトルと同じ値に決定されることが尤もらしいことを示す信号Signal_i=0(i=x,y)を生成するとともに、その際の差分MViD(i=x,y)をブロックBとブロックFの動きベクトルの差分値とする。もっとも小さい差分を与える組み合わせがブロックCとブロックGである場合には、ブロックHの動きベクトル予測値はブロックCの動きベクトルと同じ値に決定されることが尤もらしいことを示す信号Signal_i=1(i=x,y)を生成するとともに、その際の差分MViD(i=x,y)をブロックCとブロックGの動きベクトルの差分値とする。もっとも小さい差分を与える組み合わせがブロックAとブロックDである場合には、ブロックHの動きベクトル予測値はブロックDの動きベクトルと同じ値に決定されることが尤もらしいことを示す信号Signal_i=2(i=x,y)を生成するとともに、その際の差分MViD(i=x,y)をブロックAとブロックDの動きベクトルの差分値とする。   The difference calculated in step S2802 is the difference between the motion vector of block B and the motion vector of block F, the difference between the motion vector of block C and the motion vector of block G, the motion vector of block A and the motion vector of block D. Three types of differences may be used. At that time, the smallest combination is determined in step S2803. In step S2804, when the combination that gives the smallest difference is block B and block F, the motion vector prediction value of block H is the same as the motion vector of block B. A signal Signal_i = 0 (i = x, y) indicating that it is plausible to be determined as a value is generated, and the difference MViD (i = x, y) at that time is calculated as the motion vector of the block B and the block F. The difference value. When the combination that gives the smallest difference is the block C and the block G, the signal Signal_i = 1 () indicating that it is likely that the motion vector prediction value of the block H is determined to be the same value as the motion vector of the block C. i = x, y) is generated, and the difference MViD (i = x, y) at that time is set as the difference value between the motion vectors of block C and block G. When the combination that gives the smallest difference is the block A and the block D, the signal Signal_i = 2 () indicating that it is likely that the motion vector prediction value of the block H is determined to be the same value as the motion vector of the block D. i = x, y) is generated, and the difference MViD (i = x, y) at that time is set as the difference value between the motion vectors of block A and block D.

また、ステップS2802において算出する差分は、ブロックBの動きベクトルとブロックFの動きベクトルの差分、ブロックCの動きベクトルとブロックGの動きベクトルの差分の2通りでもよい。その際もステップS2803で最小となる組み合わせが判定され、ステップS2804では、もっとも小さい差分を与える組み合わせがブロックBとブロックFである場合にはブロックHの動きベクトル予測値はブロックBの動きベクトルと同じ値に決定されることが尤もらしいことを示す信号Signal_i=0(i=x,y)を生成するとともに、その際の差分MViD(i=x,y)をブロックBとブロックFの動きベクトルの差分値とする。もっとも小さい差分を与える組み合わせがブロックCとブロックGである場合には、ブロックHの動きベクトル予測値はブロックCの動きベクトルと同じ値に決定されることが尤もらしいことを示す信号Signal_i=1(i=x,y)を生成するとともに、その際の差分MViD(i=x,y)をブロックCとブロックGの動きベクトルの差分値とする。   Also, the difference calculated in step S2802 may be two types, that is, the difference between the motion vector of block B and the motion vector of block F, and the difference between the motion vector of block C and the motion vector of block G. At that time, the smallest combination is determined in step S2803. In step S2804, when the combination that gives the smallest difference is block B and block F, the motion vector prediction value of block H is the same as the motion vector of block B. A signal Signal_i = 0 (i = x, y) indicating that it is plausible to be determined as a value is generated, and the difference MViD (i = x, y) at that time is calculated as the motion vector of the block B and the block F. The difference value. When the combination that gives the smallest difference is the block C and the block G, the signal Signal_i = 1 () indicating that it is likely that the motion vector prediction value of the block H is determined to be the same value as the motion vector of the block C. i = x, y) is generated, and the difference MViD (i = x, y) at that time is set as the difference value between the motion vectors of block C and block G.

なお、図49のフローチャートに示される一連の処理はx成分、y成分に分けずにベクトルの差分(具体的にはベクトルノルムなど)を算出し、x成分、y成分に相当する確率切替信号を同時に決定してもよい。   The series of processes shown in the flowchart of FIG. 49 calculates a vector difference (specifically, a vector norm) without dividing the x component and the y component, and generates a probability switching signal corresponding to the x component and the y component. It may be determined at the same time.

このとき、データ解析器601では、あらかじめ複数所持してある動きベクトル差分値の発生確率分布のテーブルを、ラインL612を経由して入力される確率切替信号に基づいて切り替える。具体的にはSignal_i(i=x,y)によって動きベクトル予測値を引用する方向(x軸方向あるいはy軸方向あるいは時間方向)を予測し、MViD(i=x,y)によって動きベクトル差分値の発生確率を予測し、それらに応じた確率テーブルへの切り替えを行う。   At this time, the data analyzer 601 switches a plurality of motion vector difference value occurrence probability distribution tables possessed in advance based on the probability switching signal input via the line L612. Specifically, the direction (x-axis direction, y-axis direction, or temporal direction) for quoting the motion vector prediction value is predicted by Signal_i (i = x, y), and the motion vector difference value is calculated by MViD (i = x, y). The occurrence probability is predicted, and the probability table is switched accordingly.

動き予測器606の動作が、前述の動き予測器406の図33と図34を用いて説明される動作と同じ場合、確率切替信号生成器610の詳細な動作は図33の模式図と、図50のフローチャートを用いて説明される。図33の説明は前述の動き予測器406における説明と同じである。   When the operation of the motion predictor 606 is the same as the operation of the motion predictor 406 described with reference to FIGS. 33 and 34, the detailed operation of the probability switching signal generator 610 is shown in the schematic diagram of FIG. This will be described with reference to 50 flowcharts. The description of FIG. 33 is the same as that in the motion predictor 406 described above.

このとき、確率切替信号は動きベクトル差分値の発生確率分布の尤もらしさを示すものであって、この信号に基づいて確率テーブルを切り替えて、そのデータを符号化した際に用いた確率テーブルと同じ確率テーブルを用いてデータ解析を行うことで、動きベクトル差分値のデータを抽出することができる。   At this time, the probability switching signal indicates the likelihood of the occurrence probability distribution of the motion vector difference value, and is the same as the probability table used when the probability table is switched based on this signal and the data is encoded. Data of motion vector difference values can be extracted by performing data analysis using the probability table.

確率切替信号生成器610では、動きベクトルのx成分、y成分はそれぞれ独立に計算されるものとする。具体的にはまず動きベクトルのx成分の計算を行い、x成分に相当する確率切替信号を出力し、次にy成分の計算を行い、y成分に相当する確率切替信号の出力を行う。以下では必要に応じて、成分を示す添え字をiと記す(iはx又はyである)。   In the probability switching signal generator 610, the x component and y component of the motion vector are calculated independently. Specifically, the x component of the motion vector is first calculated, a probability switching signal corresponding to the x component is output, then the y component is calculated, and a probability switching signal corresponding to the y component is output. In the following, a subscript indicating a component is written as i (i is x or y) as necessary.

まず確率切替信号生成器610は、ラインL610を経由して入力される復号化済みのブロックA、B、C、D、E、F、G、H、Iの動きベクトルと対応する参照フレーム番号と、ラインL604を経由して入力される対象ブロックの参照フレーム番号を取得する(ステップS2901)。   First, the probability switching signal generator 610 includes the reference frame numbers corresponding to the motion vectors of the decoded blocks A, B, C, D, E, F, G, H, and I input via the line L610. The reference frame number of the target block input via the line L604 is acquired (step S2901).

なおステップS2901で取得される動きベクトルは、対象ブロックを含むフレームと、対象ブロックの動きベクトルが参照するフレームとの時間的距離に基づいてスケーリングされることが好ましい。スケーリングの際には各ブロックの動きベクトルが参照するフレームの時刻を用いるため、各ブロックに対応する参照フレーム番号からその時刻を求める必要がある。   Note that the motion vector acquired in step S2901 is preferably scaled based on a temporal distance between a frame including the target block and a frame referred to by the motion vector of the target block. Since the time of the frame referred to by the motion vector of each block is used at the time of scaling, it is necessary to obtain the time from the reference frame number corresponding to each block.

スケーリングによって、対象ブロックを含むフレームの時刻t0から、対象ブロックの動きベクトルが参照するフレームの時刻teまでの時間的距離(t0-te)を基準にして、取得した復号化済みのブロックA、B、C、D、E、F、G、H、Iの動きベクトルの大きさを補正することができる。具体的に一例を挙げると、ブロックAの動きベクトルMViA(i=x,y)が参照するフレームの時刻をtaとすると、スケーリングされた動きベクトルMViA’(i=x,y)は、式(1)によって与えられるベクトルである。   The obtained decoded blocks A and B based on the temporal distance (t0-te) from the time t0 of the frame including the target block to the time te of the frame referred to by the motion vector of the target block by scaling. , C, D, E, F, G, H, and I can correct the magnitude of the motion vector. As a specific example, if the time of the frame referenced by the motion vector MViA (i = x, y) of the block A is ta, the scaled motion vector MViA ′ (i = x, y) The vector given by 1).

なお、このスケーリング処理は必須ではなく、スケーリング処理を行わない場合は各ブロックに対応する参照フレーム番号は必要ない。   Note that this scaling processing is not essential, and reference frame numbers corresponding to the respective blocks are not required when the scaling processing is not performed.

また、ステップS2901において復号化済みのブロックそのもの、あるいは復号化済みのブロックの動きベクトルが存在しない場合、そのブロックは極めて大きい動きベクトルを持つとみなし、十分大きな値とした上で処理を進める。あるいは、処理対象から除く。   If the decoded block itself or the motion vector of the decoded block does not exist in step S2901, it is assumed that the block has a very large motion vector, and the process proceeds with a sufficiently large value. Alternatively, it is excluded from the processing target.

続いて、ブロックAの動きベクトルとブロックBの動きベクトルとブロックCの動きベクトルの分散、ブロックDの動きベクトルとブロックEの動きベクトルとブロックFの動きベクトルの分散、ブロックGの動きベクトルとブロックHの動きベクトルとブロックIの動きベクトルの分散、の3組の分散をそれぞれ算出する。(ステップS2902)
次に、ステップS2902で算出された3通りの分散のうち、どの組み合わせの分散が最小のものであるかが判定される。(ステップS2903)。
Subsequently, variance of motion vector of block A, motion vector of block B and motion vector of block C, variance of motion vector of block D, motion vector of block E and motion vector of block F, motion vector of block G and block Three sets of variances of H motion vector and block I motion vector variance are calculated. (Step S2902)
Next, it is determined which combination of the three variances calculated in step S2902 has the smallest variance. (Step S2903).

ステップS2903での判定の結果、もっとも小さい差分を与える組み合わせがブロックAとブロックBとブロックCである場合には、ブロックJの動きベクトル予測値はブロックAの動きベクトルとブロックBの動きベクトルとブロックCの動きベクトルの平均値に決定されることが尤もらしいことを示す信号Signal_i=0(i=x,y)を生成するとともに、その際の分散MVi_var(i=x,y)をブロックAとブロックBとブロックCの動きベクトルの分散とする。もっとも小さい差分を与える組み合わせがブロックDとブロックEとブロックFである場合には、ブロックJの動きベクトル予測値はブロックDの動きベクトルとブロックEの動きベクトルとブロックFの動きベクトルの平均値に決定されることが尤もらしいことを示す信号Signal_i=1(i=x,y)を生成するとともに、その際の分散MVi_var(i=x,y)をブロックDとブロックEとブロックFの動きベクトルの分散とする。もっとも小さい差分を与える組み合わせがブロックGとブロックHとブロックIである場合には、ブロックJの動きベクトル予測値はブロックGの動きベクトルとブロックHの動きベクトルとブロックIの動きベクトルの平均値に決定されることが尤もらしいことを示す信号Signal_i=2(i=x,y)を生成するとともに、その際の分散MVi_var(i=x,y)をブロックGとブロックHとブロックIの動きベクトルの分散とする。(ステップS2904)。   As a result of the determination in step S2903, when the combination that gives the smallest difference is block A, block B, and block C, the motion vector prediction value of block J is the motion vector of block A, the motion vector of block B, and the block A signal Signal_i = 0 (i = x, y) indicating that it is likely to be determined as an average value of the motion vector of C is generated, and the variance MVi_var (i = x, y) at that time is generated as a block A It is assumed that the motion vectors of block B and block C are distributed. When the combination that gives the smallest difference is block D, block E, and block F, the motion vector prediction value of block J is the average of the motion vector of block D, the motion vector of block E, and the motion vector of block F. A signal Signal_i = 1 (i = x, y) indicating that it is likely to be determined is generated, and a distribution MVi_var (i = x, y) at that time is used as a motion vector of the block D, the block E, and the block F. Of variance. When the combination that gives the smallest difference is block G, block H, and block I, the motion vector prediction value of block J is the average value of the motion vector of block G, the motion vector of block H, and the motion vector of block I. A signal Signal_i = 2 (i = x, y) indicating that it is likely to be determined is generated, and a distribution MVi_var (i = x, y) at that time is used as a motion vector of the block G, the block H, and the block I Of variance. (Step S2904).

最後に、ステップS2904で決定された信号値Signal_i(i=x,y)およびMVi_var(i=x,y)を出力し(ステップS2905)、処理を終了する。   Finally, the signal values Signal_i (i = x, y) and MVi_var (i = x, y) determined in step S2904 are output (step S2905), and the process ends.

なお、発生確率信号はSignal_i(i=x,y)のみでもよい。また、MVi_var(i=x,y)のみでもよい。   The occurrence probability signal may be only Signal_i (i = x, y). Further, only MVi_var (i = x, y) may be used.

なお、図50のフローチャートに示される一連の処理はx成分、y成分に分けずにベクトルの差分(具体的にはベクトルノルムなど)を算出し、x成分、y成分に相当する確率切替信号を同時に決定してもよい。   The series of processes shown in the flowchart of FIG. 50 calculates a vector difference (specifically, a vector norm) without dividing the x component and the y component into a probability switching signal corresponding to the x component and the y component. It may be determined at the same time.

また、ステップS2902において動きベクトルの類似性をあらわす値として分散を用いたが、標準偏差でもよい。また、各ブロック間の動きベクトルの差分値や、それら複数の差分値の平均を用いてもよい。   Further, although variance is used as a value representing the similarity of motion vectors in step S2902, a standard deviation may be used. Further, a motion vector difference value between blocks or an average of the plurality of difference values may be used.

ステップS2904において、3つの動きベクトルの平均値を動きベクトルの予測値とすることが尤もらしいことを示す信号を生成したが、3つの動きベクトルの中間値、あるいはいずれかひとつの値を予測値とすることが尤もらしいことを示していてもよい。   In step S2904, a signal indicating that it is likely that the average value of the three motion vectors is used as the predicted value of the motion vector is generated. The intermediate value of any one of the three motion vectors or any one of the values is used as the predicted value. It may indicate that it is plausible to do.

図50では時間方向、空間方向にそれぞれ連続する3ブロックの動きベクトルを参照して確率切替信号の決定を行ったが、空間方向のみでもよい。またそれぞれの方向に2ブロックのみ、あるいは4ブロック以上のブロックを用いてもよい。   In FIG. 50, the probability switching signal is determined with reference to three blocks of motion vectors that are continuous in the time direction and the space direction, but only the space direction may be used. Further, only two blocks or four or more blocks may be used in each direction.

このとき、データ解析器601では、あらかじめ複数所持してある動きベクトル差分値の発生確率分布のテーブルを、ラインL612を経由して入力される確率切替信号に基づいて切り替える。具体的にはSignal_i(i=x,y)によって動きベクトル予測値を引用する方向(x軸方向あるいはy軸方向あるいは時間方向)を予測し、MViD_var(i=x,y)によって動きベクトル差分値の発生確率を予測し、それらに応じた確率テーブルへの切り替えを行う。   At this time, the data analyzer 601 switches a plurality of motion vector difference value occurrence probability distribution tables possessed in advance based on a probability switching signal input via the line L612. Specifically, the direction (x-axis direction, y-axis direction, or temporal direction) for quoting the motion vector prediction value is predicted by Signal_i (i = x, y), and the motion vector difference value is calculated by MViD_var (i = x, y). The occurrence probability is predicted, and the probability table is switched accordingly.

最後に、コンピュータを動画像復号化装置60として動作させる動画像復号化プログラムについて説明する。図56は、本実施形態に係る動画像復号化プログラムP60の構成を示し、この動画像復号化プログラムP60は、記録媒体に格納されて提供される。記録媒体としては、フレキシブルディスク、CD−ROM、DVD、ROM等の記録媒体あるいは半導体メモリ等が例示される。なお、記録媒体に記憶されたプログラムを実行するためのコンピュータの構成は、既に説明した図63、図64の構成と同様であるため、重複した説明は省略する。   Finally, a video decoding program for causing a computer to operate as the video decoding device 60 will be described. FIG. 56 shows a configuration of a moving picture decoding program P60 according to the present embodiment, and the moving picture decoding program P60 is provided by being stored in a recording medium. Examples of the recording medium include a recording medium such as a flexible disk, a CD-ROM, a DVD, and a ROM, or a semiconductor memory. Note that the configuration of the computer for executing the program stored in the recording medium is the same as the configuration of FIGS. 63 and 64 already described, and therefore, a duplicate description is omitted.

図56に示すように、動画像復号化プログラムP60は、処理を統括するメインモジュールP601と、データ解析モジュールP602と、逆量子化モジュールP603と、逆変換モジュールP604と、記憶モジュールP605と、予測信号生成モジュールP606と、動き予測モジュールP607と、加算モジュールP608と、確率切替信号生成モジュールP609とを備えている。   As shown in FIG. 56, the moving picture decoding program P60 includes a main module P601 that supervises processing, a data analysis module P602, an inverse quantization module P603, an inverse transform module P604, a storage module P605, and a prediction signal. A generation module P606, a motion prediction module P607, an addition module P608, and a probability switching signal generation module P609 are provided.

データ解析モジュールP602、逆量子化モジュールP603、逆変換モジュールP604、予測信号生成モジュールP606、動き予測モジュールP607、確率切替信号生成モジュールP609がコンピュータに実現させる機能は、それぞれ図47のデータ解析器601、逆量子化器602、逆変換器603、予測信号生成器608、動き予測器606、確率切替信号生成器610の機能と同様である。記憶モジュールP605がコンピュータに実現させる機能は、フレームメモリ604及び動きベクトルメモリ605の機能と同様である。また、加算モジュールP608がコンピュータに実現させる機能は、加算器607、609の機能と同様である。   The functions realized by the data analysis module P602, inverse quantization module P603, inverse transform module P604, prediction signal generation module P606, motion prediction module P607, and probability switching signal generation module P609 are the data analyzer 601 in FIG. The functions of the inverse quantizer 602, the inverse transformer 603, the prediction signal generator 608, the motion predictor 606, and the probability switching signal generator 610 are the same. The functions that the storage module P605 realizes in the computer are the same as the functions of the frame memory 604 and the motion vector memory 605. The function that the adder module P608 realizes in the computer is the same as the function of the adders 607 and 609.

第1実施形態にかかる動画像符号化装置の一例を示す概略図である。It is the schematic which shows an example of the moving image encoder concerning 1st Embodiment. 第1実施形態における動き予測器の動作の説明に用いる模式図である。It is a schematic diagram used for description of operation | movement of the motion predictor in 1st Embodiment. 第1実施形態における動き予測器の動作を示すフローチャートである。It is a flowchart which shows operation | movement of the motion predictor in 1st Embodiment. 第1実施形態における動き予測器の動作を示すフローチャートである。It is a flowchart which shows operation | movement of the motion predictor in 1st Embodiment. 第1実施形態における動き予測器の動作を示すフローチャートである。It is a flowchart which shows operation | movement of the motion predictor in 1st Embodiment. 第1実施形態における動き予測器の動作の説明に用いる模式図である。It is a schematic diagram used for description of operation | movement of the motion predictor in 1st Embodiment. 第1実施形態における動き予測器の動作を示すフローチャートである。It is a flowchart which shows operation | movement of the motion predictor in 1st Embodiment. 第1実施形態における動き予測器の動作の説明に用いる模式図である。It is a schematic diagram used for description of operation | movement of the motion predictor in 1st Embodiment. 第1実施形態における動き予測器の動作を示すフローチャートである。It is a flowchart which shows operation | movement of the motion predictor in 1st Embodiment. 第1実施形態における動き予測器の動作の説明に用いる模式図であるIt is a schematic diagram used for description of operation | movement of the motion predictor in 1st Embodiment. 第1実施形態における動き予測器の動作を示すフローチャートである。It is a flowchart which shows operation | movement of the motion predictor in 1st Embodiment. 第2実施形態にかかる動画像符号化装置の一例を示す概略図である。It is the schematic which shows an example of the moving image encoder concerning 2nd Embodiment. 第2実施形態における動き予測器の動作の説明に用いる模式図である。It is a schematic diagram used for description of operation | movement of the motion predictor in 2nd Embodiment. 第2実施形態における動き予測器の動作を示すフローチャートである。It is a flowchart which shows operation | movement of the motion predictor in 2nd Embodiment. 第2実施形態における確率切替信号生成器の動作を示すフローチャートである。It is a flowchart which shows operation | movement of the probability switching signal generator in 2nd Embodiment. 第2実施形態における動き予測器の動作の説明に用いる模式図である。It is a schematic diagram used for description of operation | movement of the motion predictor in 2nd Embodiment. 第2実施形態における動き予測器の動作を示すフローチャートである。It is a flowchart which shows operation | movement of the motion predictor in 2nd Embodiment. 第2実施形態における確率切替信号生成器の動作を示すフローチャートである。It is a flowchart which shows operation | movement of the probability switching signal generator in 2nd Embodiment. 第2実施形態における動き予測器の動作の説明に用いる模式図である。It is a schematic diagram used for description of operation | movement of the motion predictor in 2nd Embodiment. 第2実施形態における動き予測器の動作を示すフローチャートである。It is a flowchart which shows operation | movement of the motion predictor in 2nd Embodiment. 第2実施形態における確率切替信号生成器の動作を示すフローチャートである。It is a flowchart which shows operation | movement of the probability switching signal generator in 2nd Embodiment. 第3実施形態にかかる動画像符号化装置の一例を示す概略図である。It is the schematic which shows an example of the moving image encoder concerning 3rd Embodiment. 第3実施形態における確率切替信号生成器の動作を示すフローチャートである。It is a flowchart which shows operation | movement of the probability switching signal generator in 3rd Embodiment. 第3実施形態における確率切替信号生成器の動作を示すフローチャートである。It is a flowchart which shows operation | movement of the probability switching signal generator in 3rd Embodiment. 第3実施形態における確率切替信号生成器の動作を示すフローチャートである。It is a flowchart which shows operation | movement of the probability switching signal generator in 3rd Embodiment. 第4実施形態にかかる動画像復号化装置の一例を示す概略図であるIt is the schematic which shows an example of the moving image decoding apparatus concerning 4th Embodiment. 第4実施形態における動き予測器の動作の説明に用いる模式図である。It is a schematic diagram used for description of operation | movement of the motion predictor in 4th Embodiment. 第4実施形態における動き予測器の動作を示すフローチャートである。It is a flowchart which shows operation | movement of the motion predictor in 4th Embodiment. 第4実施形態における動き予測器の動作を示すフローチャートである。It is a flowchart which shows operation | movement of the motion predictor in 4th Embodiment. 第4実施形態における動き予測器の動作を示すフローチャートである。It is a flowchart which shows operation | movement of the motion predictor in 4th Embodiment. 第4実施形態における動き予測器の動作の説明に用いる模式図である。It is a schematic diagram used for description of operation | movement of the motion predictor in 4th Embodiment. 第4実施形態における動き予測器の動作を示すフローチャートである。It is a flowchart which shows operation | movement of the motion predictor in 4th Embodiment. 第4実施形態における動き予測器の動作の説明に用いる模式図である。It is a schematic diagram used for description of operation | movement of the motion predictor in 4th Embodiment. 第4実施形態における動き予測器の動作を示すフローチャートである。It is a flowchart which shows operation | movement of the motion predictor in 4th Embodiment. 第4実施形態における動き予測器の動作の説明に用いる模式図である。It is a schematic diagram used for description of operation | movement of the motion predictor in 4th Embodiment. 第4実施形態における動き予測器の動作を示すフローチャートである。It is a flowchart which shows operation | movement of the motion predictor in 4th Embodiment. 第5実施形態にかかる動画像復号化装置の一例を示す概略図であるIt is the schematic which shows an example of the moving image decoding apparatus concerning 5th Embodiment. 第5実施形態における動き予測器の動作の説明に用いる模式図である。It is a schematic diagram used for description of operation | movement of the motion predictor in 5th Embodiment. 第5実施形態における動き予測器の動作を示すフローチャートである。It is a flowchart which shows operation | movement of the motion predictor in 5th Embodiment. 第5実施形態における確率切替信号生成器の動作を示すフローチャートである。It is a flowchart which shows operation | movement of the probability switching signal generator in 5th Embodiment. 第5実施形態における動き予測器の動作の説明に用いる模式図である。It is a schematic diagram used for description of operation | movement of the motion predictor in 5th Embodiment. 第5実施形態における動き予測器の動作を示すフローチャートである。It is a flowchart which shows operation | movement of the motion predictor in 5th Embodiment. 第5実施形態における確率切替信号生成器の動作を示すフローチャートである。It is a flowchart which shows operation | movement of the probability switching signal generator in 5th Embodiment. 第5実施形態における動き予測器の動作の説明に用いる模式図である。It is a schematic diagram used for description of operation | movement of the motion predictor in 5th Embodiment. 第5実施形態における動き予測器の動作を示すフローチャートである。It is a flowchart which shows operation | movement of the motion predictor in 5th Embodiment. 第5実施形態における確率切替信号生成器の動作を示すフローチャートである。It is a flowchart which shows operation | movement of the probability switching signal generator in 5th Embodiment. 第6実施形態にかかる動画像復号化装置の一例を示す概略図であるIt is the schematic which shows an example of the moving image decoding apparatus concerning 6th Embodiment. 第6実施形態における確率切替信号生成器の動作を示すフローチャートである。It is a flowchart which shows operation | movement of the probability switching signal generator in 6th Embodiment. 第6実施形態における確率切替信号生成器の動作を示すフローチャートである。It is a flowchart which shows operation | movement of the probability switching signal generator in 6th Embodiment. 第6実施形態における確率切替信号生成器の動作を示すフローチャートである。It is a flowchart which shows operation | movement of the probability switching signal generator in 6th Embodiment. 第1実施形態にかかる動画像符号化プログラムのモジュール図である。It is a module figure of the moving image encoding program concerning 1st Embodiment. 第2実施形態にかかる動画像符号化プログラムのモジュール図である。It is a module diagram of the moving image encoding program concerning 2nd Embodiment. 第3実施形態にかかる動画像符号化プログラムのモジュール図である。It is a module diagram of the moving image encoding program concerning 3rd Embodiment. 第4実施形態にかかる動画像復号化プログラムのモジュール図である。It is a module diagram of the moving image decoding program concerning 4th Embodiment. 第5実施形態にかかる動画像復号化プログラムのモジュール図である。It is a module diagram of the moving image decoding program concerning 5th Embodiment. 第6実施形態にかかる動画像復号化プログラムのモジュール図である。It is a module figure of the moving image decoding program concerning 6th Embodiment. 第1実施形態にて、重み付けによる周辺の動きベクトル利用方法を図2のブロックに適用した例を示すフローチャートである。3 is a flowchart illustrating an example in which a peripheral motion vector utilization method based on weighting is applied to the block of FIG. 2 in the first embodiment. 第1実施形態にて、重み付けによる周辺の動きベクトル利用方法を図6のブロックに適用した例を示すフローチャートである。7 is a flowchart illustrating an example in which a peripheral motion vector utilization method based on weighting is applied to the block of FIG. 6 in the first embodiment. 第1実施形態にて、重み付けによる周辺の動きベクトル利用方法を図8のブロックに適用した例を示すフローチャートである。9 is a flowchart illustrating an example in which a peripheral motion vector utilization method based on weighting is applied to the block of FIG. 8 in the first embodiment. 第4実施形態にて、重み付けによる周辺の動きベクトル利用方法を図27のブロックに適用した例を示すフローチャートである。It is a flowchart which shows the example which applied the surrounding motion vector utilization method by weighting to the block of FIG. 27 in 4th Embodiment. 第4実施形態にて、重み付けによる周辺の動きベクトル利用方法を図31のブロックに適用した例を示すフローチャートである。FIG. 32 is a flowchart illustrating an example in which a peripheral motion vector utilization method based on weighting is applied to the block of FIG. 31 in the fourth embodiment. 第4実施形態にて、重み付けによる周辺の動きベクトル利用方法を図33のブロックに適用した例を示すフローチャートである。It is a flowchart which shows the example which applied the surrounding motion vector utilization method by weighting to the block of FIG. 33 in 4th Embodiment. 記録媒体に記録されたプログラムを実行するためのコンピュータのハードウェア構成を示す図であるIt is a figure which shows the hardware constitutions of the computer for performing the program recorded on the recording medium. 記録媒体に記憶されたプログラムを実行するためのコンピュータの斜視図である。It is a perspective view of a computer for executing a program stored in a recording medium.

符号の説明Explanation of symbols

10、20、30…動画像符号化装置、40、50、60…動画像復号化装置、P10、P20、P30…動画像符号化プログラム、P40、P50、P60…動画像復号化プログラム、60…記録媒体、62…読み取り装置、64…作業用メモリ、66…メモリ、68…ディスプレイ、70…マウス、72…キーボード、74…通信装置、76…CPU、80…コンピュータ、90…コンピュータデータ信号。   10, 20, 30 ... moving picture encoding device, 40, 50, 60 ... moving picture decoding device, P10, P20, P30 ... moving picture encoding program, P40, P50, P60 ... moving picture decoding program, 60 ... Recording medium 62 ... reading device 64 ... working memory 66 ... memory 68 ... display 70 ... mouse 72 ... keyboard 74 ... communication device 76 ... CPU 80 ... computer 90 ... computer data signal

Claims (58)

フレーム画像信号の時間系列で構成される入力動画像信号を複数の処理対象領域に分割する領域分割手段と、前記処理対象領域の動きベクトルを検出する動き検出手段と、前記処理対象領域に対する予測信号を生成する予測信号生成手段と、前記予測信号と前記処理対象領域信号との残差信号を生成する残差信号生成手段と、前記残差信号と前記動きベクトルを符号化して圧縮データを生成する符号化手段とを備え、
前記予測信号生成手段は、互いに異なるフレーム内にある複数のブロックの動きベクトルの類似性、又は、前記類似性および符号化対象のブロックと同じフレーム内にある複数のブロックの動きベクトルの類似性に基づいて、前記動きベクトルを符号化する
ことを特徴とした動画像符号化装置。
Region dividing means for dividing an input moving image signal composed of a time sequence of frame image signals into a plurality of processing target regions, motion detection means for detecting a motion vector of the processing target region, and a prediction signal for the processing target region Predictive signal generating means for generating the residual signal, residual signal generating means for generating a residual signal between the predicted signal and the processing target area signal, and generating the compressed data by encoding the residual signal and the motion vector Encoding means,
The prediction signal generation means may determine the similarity of motion vectors of a plurality of blocks in different frames, or the similarity of motion vectors of a plurality of blocks in the same frame as the block to be encoded. A moving picture coding apparatus characterized by coding the motion vector based on the above.
前記予測信号生成手段は、互いに異なるフレーム内にある複数のブロックの動きベクトルの類似性、又は、前記類似性および符号化対象のブロックと同じフレーム内にある複数のブロックの動きベクトルの類似性に基づいて、動きベクトルの予測値を決定する
ことを特徴とした請求項1に記載の動画像符号化装置。
The prediction signal generation means may determine the similarity of motion vectors of a plurality of blocks in different frames, or the similarity of motion vectors of a plurality of blocks in the same frame as the block to be encoded. The motion image encoding apparatus according to claim 1, wherein a motion vector prediction value is determined based on the motion vector prediction value.
前記予測信号生成手段は、互いに異なるフレーム内にある複数のブロックの動きベクトルの類似性、又は、前記類似性および符号化対象のブロックと同じフレーム内にある複数のブロックの動きベクトルの類似性に基づいて、動きベクトルの予測値決定方法を選択する
ことを特徴とした請求項2に記載の動画像符号化装置。
The prediction signal generation means may determine the similarity of motion vectors of a plurality of blocks in different frames, or the similarity of motion vectors of a plurality of blocks in the same frame as the block to be encoded. The motion picture encoding apparatus according to claim 2, wherein a motion vector prediction value determination method is selected based on the motion vector prediction value determination method.
前記予測信号生成手段は、互いに異なるフレーム内にある複数のブロックの動きベクトルの類似性、又は、前記類似性および符号化対象のブロックと同じフレーム内にある複数のブロックの動きベクトルの類似性に基づく重み付けによって、動きベクトルの予測値を決定する
ことを特徴とした請求項2に記載の動画像符号化装置。
The prediction signal generation means may determine the similarity of motion vectors of a plurality of blocks in different frames, or the similarity of motion vectors of a plurality of blocks in the same frame as the block to be encoded. The moving picture coding apparatus according to claim 2, wherein a predicted value of the motion vector is determined by weighting based on the weighting.
前記予測信号生成手段は、互いに異なるフレーム内にある複数のブロックの動きベクトルの類似性、又は、前記類似性および符号化対象のブロックと同じフレーム内にある複数のブロックの動きベクトルの類似性に基づいて、動きベクトルの予測値を示すための情報を符号化する際に用いる確率分布を適応的に決定する
ことを特徴とした請求項1に記載の動画像符号化装置。
The prediction signal generation means may determine the similarity of motion vectors of a plurality of blocks in different frames, or the similarity of motion vectors of a plurality of blocks in the same frame as the block to be encoded. The video encoding apparatus according to claim 1, wherein a probability distribution used when encoding information for indicating a motion vector prediction value is adaptively determined.
前記予測信号生成手段は、互いに異なるフレーム内にある複数のブロックの動きベクトルの類似性、又は、前記類似性および符号化対象のブロックと同じフレーム内にある複数のブロックの動きベクトルの類似性に基づいて、動きベクトルの予測値決定方法を示すための情報を符号化する際に用いる確率分布を適応的に決定する
ことを特徴とした請求項5に記載の動画像符号化装置。
The prediction signal generation means may determine the similarity of motion vectors of a plurality of blocks in different frames, or the similarity of motion vectors of a plurality of blocks in the same frame as the block to be encoded. 6. The moving picture encoding apparatus according to claim 5, wherein a probability distribution used when encoding information for indicating a motion vector prediction value determination method is adaptively determined.
前記予測信号生成手段は、互いに異なるフレーム内にある複数のブロックの動きベクトルの類似性、又は、前記類似性および符号化対象のブロックと同じフレーム内にある複数のブロックの動きベクトルの類似性に基づいて、動きベクトル差分値を符号化する際に用いる確率分布を適応的に決定する
ことを特徴とした請求項1に記載の動画像符号化装置。
The prediction signal generation means may determine the similarity of motion vectors of a plurality of blocks in different frames, or the similarity of motion vectors of a plurality of blocks in the same frame as the block to be encoded. The video encoding apparatus according to claim 1, wherein a probability distribution used when encoding the motion vector difference value is adaptively determined based on.
フレーム画像信号の時間系列で構成される入力動画像信号を複数の処理対象領域に分割する領域分割手段と、前記処理対象領域の動きベクトルを検出する動き検出手段と、前記処理対象領域に対する予測信号を生成する予測信号生成手段と、前記予測信号と前記処理対象領域信号との残差信号を生成する残差信号生成手段と、前記残差信号と前記動きベクトルを符号化して圧縮データを生成する符号化手段とを備え、
前記予測信号生成手段は、符号化対象のブロックと同じフレーム内で対象ブロックに対して1ブロック以上隔てたブロックを含む複数のブロックの動きベクトルの類似性に基づいて、前記動きベクトルを符号化する
ことを特徴とした動画像符号化装置。
Region dividing means for dividing an input moving image signal composed of a time sequence of frame image signals into a plurality of processing target regions, motion detection means for detecting a motion vector of the processing target region, and a prediction signal for the processing target region Predictive signal generating means for generating the residual signal, residual signal generating means for generating a residual signal between the predicted signal and the processing target area signal, and generating the compressed data by encoding the residual signal and the motion vector Encoding means,
The prediction signal generation unit encodes the motion vector based on the similarity of motion vectors of a plurality of blocks including a block separated by one or more blocks from the target block in the same frame as the block to be encoded. A video encoding apparatus characterized by the above.
前記予測信号生成手段は、符号化対象のブロックと同じフレーム内で対象ブロックに対して1ブロック以上隔てたブロックを含む複数のブロックの動きベクトルの類似性に基づいて、動きベクトルの予測値を決定する
ことを特徴とした請求項8に記載の動画像符号化装置。
The prediction signal generation means determines a motion vector prediction value based on the similarity of motion vectors of a plurality of blocks including a block separated by one or more blocks from the target block in the same frame as the block to be encoded. The moving picture coding apparatus according to claim 8, wherein:
前記予測信号生成手段は、符号化対象のブロックと同じフレーム内で対象ブロックに対して1ブロック以上隔てたブロックを含む複数のブロックの動きベクトルの類似性に基づいて、動きベクトルの予測値決定方法を選択する
ことを特徴とした請求項9に記載の動画像符号化装置。
The prediction signal generation means is a method for determining a prediction value of a motion vector based on the similarity of motion vectors of a plurality of blocks including a block separated by one or more blocks from the target block in the same frame as the block to be encoded The moving picture coding apparatus according to claim 9, wherein the moving picture coding apparatus is selected.
前記予測信号生成手段は、符号化対象のブロックと同じフレーム内で対象ブロックに対して1ブロック以上隔てたブロックを含む複数のブロックの動きベクトルの類似性に基づく重み付けによって、動きベクトルの予測値を決定する
ことを特徴とした請求項9に記載の動画像符号化装置。
The prediction signal generation means calculates a predicted value of a motion vector by weighting based on similarity of motion vectors of a plurality of blocks including a block separated by one block or more from the target block in the same frame as the block to be encoded. The moving picture coding apparatus according to claim 9, wherein the moving picture coding apparatus is determined.
前記予測信号生成手段は、符号化対象のブロックと同じフレーム内で対象ブロックに対して1ブロック以上隔てたブロックを含む複数のブロックの動きベクトルの類似性に基づいて、動きベクトルの予測値を示すための情報を符号化する際に用いる確率分布を適応的に決定する
ことを特徴とした請求項8に記載の動画像符号化装置。
The prediction signal generation means indicates a predicted value of a motion vector based on the similarity of motion vectors of a plurality of blocks including a block separated by one block or more from the target block in the same frame as the block to be encoded. 9. The moving picture encoding apparatus according to claim 8, wherein a probability distribution used when encoding information for encoding is adaptively determined.
前記予測信号生成手段は、符号化対象のブロックと同じフレーム内で対象ブロックに対して1ブロック以上隔てたブロックを含む複数のブロックの動きベクトルの類似性に基づいて、動きベクトルの予測値決定方法を示すための情報を符号化する際に用いる確率分布を適応的に決定する
ことを特徴とした請求項12に記載の動画像符号化装置。
The prediction signal generation means is a method for determining a prediction value of a motion vector based on the similarity of motion vectors of a plurality of blocks including a block separated by one or more blocks from the target block in the same frame as the block to be encoded The moving picture encoding apparatus according to claim 12, wherein a probability distribution used when encoding information for indicating is adaptively determined.
前記予測信号生成手段は、符号化対象のブロックと同じフレーム内で対象ブロックに対して1ブロック以上隔てたブロックを含む複数のブロックの動きベクトルの類似性に基づいて、動きベクトル差分値を符号化する際に用いる確率分布を適応的に決定する
ことを特徴とした請求項8に記載の動画像符号化装置。
The prediction signal generating means encodes a motion vector difference value based on the similarity of motion vectors of a plurality of blocks including a block separated by one block or more from the target block in the same frame as the block to be encoded. 9. The moving picture encoding apparatus according to claim 8, wherein a probability distribution used for the determination is adaptively determined.
圧縮データの中から処理対象領域に関する残差信号と動きベクトルの情報を抽出するデータ抽出手段と、前記処理対象領域に関する残差信号を再生残差信号に復元する残差信号復元手段と、前記処理対象領域に対する予測信号を生成する予測信号生成手段と、前記予測信号と前記再生残差信号を加算することによって、前記対象領域の画素信号を復元する画像復元手段を備え、
前記予測信号生成手段は、互いに異なるフレーム内にある複数のブロックの動きベクトルの類似性、又は、前記類似性および復号化対象のブロックと同じフレーム内にある複数のブロックの動きベクトルの類似性に基づいて、前記動きベクトルを復号化する
ことを特徴とした動画像復号化装置。
Data extraction means for extracting residual signal and motion vector information relating to the processing target area from the compressed data, residual signal restoration means for restoring the residual signal relating to the processing target area to a reproduction residual signal, and the processing A prediction signal generation unit that generates a prediction signal for the target region; and an image restoration unit that restores the pixel signal of the target region by adding the prediction signal and the reproduction residual signal,
The prediction signal generation means may determine the similarity of motion vectors of a plurality of blocks in different frames, or the similarity of motion vectors of a plurality of blocks in the same frame as the block to be decoded. A motion picture decoding apparatus characterized in that the motion vector is decoded based on the motion vector.
前記予測信号生成手段は、互いに異なるフレーム内にある複数のブロックの動きベクトルの類似性、又は、前記類似性および復号化対象のブロックと同じフレーム内にある複数のブロックの動きベクトルの類似性に基づいて、動きベクトルの予測値を決定する
ことを特徴とした請求項15に記載の動画像復号化装置。
The prediction signal generation means may determine the similarity of motion vectors of a plurality of blocks in different frames, or the similarity of motion vectors of a plurality of blocks in the same frame as the block to be decoded. The motion picture decoding apparatus according to claim 15, wherein a motion vector prediction value is determined based on the motion vector prediction value.
前記予測信号生成手段は、互いに異なるフレーム内にある複数のブロックの動きベクトルの類似性、又は、前記類似性および復号化対象のブロックと同じフレーム内にある複数のブロックの動きベクトルの類似性に基づいて、動きベクトルの予測値決定方法を選択する
ことを特徴とした請求項16に記載の動画像復号化装置。
The prediction signal generation means may determine the similarity of motion vectors of a plurality of blocks in different frames, or the similarity of motion vectors of a plurality of blocks in the same frame as the block to be decoded. The motion picture decoding apparatus according to claim 16, wherein a motion vector prediction value determination method is selected based on the motion vector prediction value determination method.
前記予測信号生成手段は、互いに異なるフレーム内にある複数のブロックの動きベクトルの類似性、又は、前記類似性および復号化対象のブロックと同じフレーム内にある複数のブロックの動きベクトルの類似性に基づく重み付けによって、動きベクトルの予測値を決定する
ことを特徴とした請求項16に記載の動画像復号化装置。
The prediction signal generation means may determine the similarity of motion vectors of a plurality of blocks in different frames, or the similarity of motion vectors of a plurality of blocks in the same frame as the block to be decoded. The moving picture decoding apparatus according to claim 16, wherein a predicted value of a motion vector is determined by weighting based on the weighting.
前記予測信号生成手段は、互いに異なるフレーム内にある複数のブロックの動きベクトルの類似性、又は、前記類似性および復号化対象のブロックと同じフレーム内にある複数のブロックの動きベクトルの類似性に基づいて、動きベクトルの予測値を示すための情報を復号化する際に用いる確率分布を適応的に決定する
ことを特徴とした請求項15に記載の動画像復号化装置。
The prediction signal generation means may determine the similarity of motion vectors of a plurality of blocks in different frames, or the similarity of motion vectors of a plurality of blocks in the same frame as the block to be decoded. The video decoding device according to claim 15, wherein a probability distribution used when decoding information for indicating a predicted value of a motion vector is adaptively determined.
前記予測信号生成手段は、互いに異なるフレーム内にある複数のブロックの動きベクトルの類似性、又は、前記類似性および復号化対象のブロックと同じフレーム内にある複数のブロックの動きベクトルの類似性に基づいて、動きベクトルの予測値決定方法を示すための情報を復号化する際に用いる確率分布を適応的に決定する
ことを特徴とした請求項19に記載の動画像復号化装置。
The prediction signal generation means may determine the similarity of motion vectors of a plurality of blocks in different frames, or the similarity of motion vectors of a plurality of blocks in the same frame as the block to be decoded. 20. The moving picture decoding apparatus according to claim 19, wherein a probability distribution used when decoding information for indicating a motion vector prediction value determination method is adaptively determined.
前記予測信号生成手段は、互いに異なるフレーム内にある複数のブロックの動きベクトルの類似性、又は、前記類似性および復号化対象のブロックと同じフレーム内にある複数のブロックの動きベクトルの類似性に基づいて、動きベクトル差分値を復号化する際に用いる確率分布を適応的に決定する
ことを特徴とした請求項15に記載の動画像復号化装置。
The prediction signal generation means may determine the similarity of motion vectors of a plurality of blocks in different frames, or the similarity of motion vectors of a plurality of blocks in the same frame as the block to be decoded. The video decoding device according to claim 15, wherein the probability distribution used when decoding the motion vector difference value is adaptively determined based on the probability distribution.
圧縮データの中から処理対象領域に関する残差信号と動きベクトルの情報を抽出するデータ抽出手段と、前記処理対象領域に関する残差信号を再生残差信号に復元する残差信号復元手段と、前記処理対象領域に対する予測信号を生成する予測信号生成手段と、前記予測信号と前記再生残差信号を加算することによって、前記対象領域の画素信号を復元する画像復元手段を備え、
前記予測信号生成手段は、復号化対象のブロックと同じフレーム内で対象ブロックに対して1ブロック以上隔てたブロックを含む複数のブロックの動きベクトルの類似性に基づいて、前記動きベクトルを復号化する
ことを特徴とした動画像復号化装置。
Data extraction means for extracting residual signal and motion vector information relating to the processing target area from the compressed data, residual signal restoration means for restoring the residual signal relating to the processing target area to a reproduction residual signal, and the processing A prediction signal generation unit that generates a prediction signal for the target region; and an image restoration unit that restores the pixel signal of the target region by adding the prediction signal and the reproduction residual signal,
The prediction signal generating means decodes the motion vector based on the similarity of motion vectors of a plurality of blocks including a block separated by one block or more from the target block in the same frame as the block to be decoded. A moving picture decoding apparatus characterized by the above.
前記予測信号生成手段は、復号化対象のブロックと同じフレーム内で対象ブロックに対して1ブロック以上隔てたブロックを含む複数のブロックの動きベクトルの類似性に基づいて、動きベクトルの予測値を決定する
ことを特徴とした請求項22に記載の動画像復号化装置。
The prediction signal generation means determines a motion vector prediction value based on the similarity of motion vectors of a plurality of blocks including a block separated by one or more blocks from the target block in the same frame as the block to be decoded The moving picture decoding apparatus according to claim 22, wherein the moving picture decoding apparatus is provided.
前記予測信号生成手段は、復号化対象のブロックと同じフレーム内で対象ブロックに対して1ブロック以上隔てたブロックを含む複数のブロックの動きベクトルの類似性に基づいて、動きベクトルの予測値決定方法を選択する
ことを特徴とした請求項23に記載の動画像復号化装置。
The prediction signal generation means is a method for determining a prediction value of a motion vector based on the similarity of motion vectors of a plurality of blocks including a block separated by one or more blocks from the target block in the same frame as the block to be decoded The moving picture decoding apparatus according to claim 23, wherein:
前記予測信号生成手段は、復号化対象のブロックと同じフレーム内で対象ブロックに対して1ブロック以上隔てたブロックを含む複数のブロックの動きベクトルの類似性に基づく重み付けによって、動きベクトルの予測値を決定する
ことを特徴とした請求項23に記載の動画像復号化装置。
The predicted signal generation means calculates a predicted value of a motion vector by weighting based on the similarity of motion vectors of a plurality of blocks including a block separated by one or more blocks from the target block in the same frame as the block to be decoded. The moving picture decoding apparatus according to claim 23, wherein the moving picture decoding apparatus is determined.
前記予測信号生成手段は、復号化対象のブロックと同じフレーム内で対象ブロックに対して1ブロック以上隔てたブロックを含む複数のブロックの動きベクトルの類似性に基づいて、動きベクトルの予測値を示すための情報を復号化する際に用いる確率分布を適応的に決定する
ことを特徴とした請求項22に記載の動画像復号化装置。
The prediction signal generation means indicates a predicted value of a motion vector based on the similarity of motion vectors of a plurality of blocks including a block separated by one or more blocks from the target block in the same frame as the block to be decoded 23. The moving picture decoding apparatus according to claim 22, wherein a probability distribution to be used when decoding information for decoding is adaptively determined.
前記予測信号生成手段は、復号化対象のブロックと同じフレーム内で対象ブロックに対して1ブロック以上隔てたブロックを含む複数のブロックの動きベクトルの類似性に基づいて、動きベクトルの予測値決定方法を示すための情報を復号化する際に用いる確率分布を適応的に決定する
ことを特徴とした請求項26に記載の動画像復号化装置。
The prediction signal generation means is a method for determining a prediction value of a motion vector based on the similarity of motion vectors of a plurality of blocks including a block separated by one or more blocks from the target block in the same frame as the block to be decoded 27. The moving picture decoding apparatus according to claim 26, wherein a probability distribution to be used when decoding information for indicating the information is adaptively determined.
前記予測信号生成手段は、復号化対象のブロックと同じフレーム内で対象ブロックに対して1ブロック以上隔てたブロックを含む複数のブロックの動きベクトルの類似性に基づいて、動きベクトル差分値を復号化する際に用いる確率分布を適応的に決定する
ことを特徴とした請求項22に記載の動画像復号化装置。
The prediction signal generation means decodes a motion vector difference value based on similarity of motion vectors of a plurality of blocks including a block separated by one block or more from the target block in the same frame as the block to be decoded. The moving picture decoding apparatus according to claim 22, wherein the probability distribution to be used in the determination is adaptively determined.
動画像符号化装置により実行される動画像符号化方法であって、
フレーム画像信号の時間系列で構成される入力動画像信号を複数の処理対象領域に分割する領域分割ステップと、前記処理対象領域の動きベクトルを検出する動き検出ステップと、前記処理対象領域に対する予測信号を生成する予測信号生成ステップと、前記予測信号と前記処理対象領域信号との残差信号を生成する残差信号生成ステップと、前記残差信号と前記動きベクトルを符号化して圧縮データを生成する符号化ステップとを備え、
前記予測信号生成ステップでは、前記動画像符号化装置は、互いに異なるフレーム内にある複数のブロックの動きベクトルの類似性、又は、前記類似性および符号化対象のブロックと同じフレーム内にある複数のブロックの動きベクトルの類似性に基づいて、前記動きベクトルを符号化する
ことを特徴とした動画像符号化方法。
A video encoding method executed by a video encoding device,
A region dividing step for dividing an input moving image signal composed of a time sequence of frame image signals into a plurality of processing target regions, a motion detection step for detecting a motion vector of the processing target region, and a prediction signal for the processing target region A prediction signal generation step of generating a residual signal, a residual signal generation step of generating a residual signal between the prediction signal and the processing target region signal, and encoding the residual signal and the motion vector to generate compressed data An encoding step,
In the prediction signal generation step, the moving image encoding device is configured such that the motion vectors of a plurality of blocks in different frames, or a plurality of blocks in the same frame as the similarity and the block to be encoded A moving image encoding method, wherein the motion vector is encoded based on similarity of motion vectors of blocks.
前記予測信号生成ステップでは、前記動画像符号化装置は、互いに異なるフレーム内にある複数のブロックの動きベクトルの類似性、又は、前記類似性および符号化対象のブロックと同じフレーム内にある複数のブロックの動きベクトルの類似性に基づいて、動きベクトルの予測値を決定する
ことを特徴とした請求項29に記載の動画像符号化方法。
In the prediction signal generation step, the moving image encoding device is configured such that the motion vectors of a plurality of blocks in different frames, or a plurality of blocks in the same frame as the similarity and the block to be encoded 30. The moving picture coding method according to claim 29, wherein a predicted value of the motion vector is determined based on similarity of the motion vectors of the blocks.
前記予測信号生成ステップでは、前記動画像符号化装置は、互いに異なるフレーム内にある複数のブロックの動きベクトルの類似性、又は、前記類似性および符号化対象のブロックと同じフレーム内にある複数のブロックの動きベクトルの類似性に基づいて、動きベクトルの予測値決定方法を決定する
ことを特徴とした請求項30に記載の動画像符号化方法。
In the prediction signal generation step, the moving image encoding device is configured such that the motion vectors of a plurality of blocks in different frames, or a plurality of blocks in the same frame as the similarity and the block to be encoded 31. The moving picture coding method according to claim 30, wherein a motion vector prediction value determination method is determined based on similarity between motion vectors of blocks.
前記予測信号生成ステップでは、前記動画像符号化装置は、互いに異なるフレーム内にある複数のブロックの動きベクトルの類似性、又は、前記類似性および符号化対象のブロックと同じフレーム内にある複数のブロックの動きベクトルの類似性に基づく重み付けによって、動きベクトルの予測値を決定する
ことを特徴とした請求項30に記載の動画像符号化方法。
In the prediction signal generation step, the moving image encoding device is configured such that the motion vectors of a plurality of blocks in different frames, or a plurality of blocks in the same frame as the similarity and the block to be encoded The moving picture coding method according to claim 30, wherein the predicted value of the motion vector is determined by weighting based on the similarity of the motion vectors of the blocks.
前記予測信号生成ステップでは、前記動画像符号化装置は、互いに異なるフレーム内にある複数のブロックの動きベクトルの類似性、又は、前記類似性および符号化対象のブロックと同じフレーム内にある複数のブロックの動きベクトルの類似性に基づいて、動きベクトルの予測値を示すための情報を符号化する際に用いる確率分布を適応的に決定する
ことを特徴とした請求項29に記載の動画像符号化方法。
In the prediction signal generation step, the moving image encoding device is configured such that the motion vectors of a plurality of blocks in different frames, or a plurality of blocks in the same frame as the similarity and the block to be encoded 30. The moving picture code according to claim 29, wherein a probability distribution used when coding information for indicating a predicted value of a motion vector is adaptively determined based on similarity between motion vectors of blocks. Method.
前記予測信号生成ステップでは、前記動画像符号化装置は、互いに異なるフレーム内にある複数のブロックの動きベクトルの類似性、又は、前記類似性および符号化対象のブロックと同じフレーム内にある複数のブロックの動きベクトルの類似性に基づいて、動きベクトルの予測値決定方法を示すための情報を符号化する際に用いる確率分布を適応的に決定する
ことを特徴とした請求項33に記載の動画像符号化方法。
In the prediction signal generation step, the moving image encoding device is configured such that the motion vectors of a plurality of blocks in different frames, or a plurality of blocks in the same frame as the similarity and the block to be encoded 34. The moving image according to claim 33, wherein a probability distribution used when encoding information for indicating a method for determining a predicted value of a motion vector is adaptively determined based on similarity between motion vectors of blocks. Image coding method.
前記予測信号生成ステップでは、前記動画像符号化装置は、互いに異なるフレーム内にある複数のブロックの動きベクトルの類似性、又は、前記類似性および符号化対象のブロックと同じフレーム内にある複数のブロックの動きベクトルの類似性に基づいて、動きベクトル差分値を符号化する際に用いる確率分布を適応的に決定する
ことを特徴とした請求項29に記載の動画像符号化方法。
In the prediction signal generation step, the moving image encoding device is configured such that the motion vectors of a plurality of blocks in different frames, or a plurality of blocks in the same frame as the similarity and the block to be encoded 30. The moving picture coding method according to claim 29, wherein the probability distribution used when coding the motion vector difference value is adaptively determined based on the similarity of the motion vectors of the blocks.
動画像符号化装置により実行される動画像符号化方法であって、
フレーム画像信号の時間系列で構成される入力動画像信号を複数の処理対象領域に分割する領域分割ステップと、前記処理対象領域の動きベクトルを検出する動き検出ステップと、前記処理対象領域に対する予測信号を生成する予測信号生成ステップと、前記予測信号と前記処理対象領域信号との残差信号を生成する残差信号生成ステップと、前記残差信号と前記動きベクトルを符号化して圧縮データを生成する符号化ステップとを備え、
前記予測信号生成ステップでは、前記動画像符号化装置は、符号化対象のブロックと同じフレーム内で対象ブロックに対して1ブロック以上隔てたブロックを含む複数のブロックの動きベクトルの類似性に基づいて、前記動きベクトルを符号化する
ことを特徴とした動画像符号化方法。
A video encoding method executed by a video encoding device,
A region dividing step for dividing an input moving image signal composed of a time sequence of frame image signals into a plurality of processing target regions, a motion detection step for detecting a motion vector of the processing target region, and a prediction signal for the processing target region A prediction signal generation step of generating a residual signal, a residual signal generation step of generating a residual signal between the prediction signal and the processing target region signal, and encoding the residual signal and the motion vector to generate compressed data An encoding step,
In the prediction signal generation step, the video encoding device is based on the similarity of motion vectors of a plurality of blocks including a block separated by one block or more from the target block in the same frame as the block to be encoded. A moving image encoding method characterized by encoding the motion vector.
前記予測信号生成ステップでは、前記動画像符号化装置は、符号化対象のブロックと同じフレーム内で対象ブロックに対して1ブロック以上隔てたブロックを含む複数のブロックの動きベクトルの類似性に基づいて、動きベクトルの予測値を決定する
ことを特徴とした請求項36に記載の動画像符号化方法。
In the prediction signal generation step, the video encoding device is based on the similarity of motion vectors of a plurality of blocks including a block separated by one block or more from the target block in the same frame as the block to be encoded. The motion image encoding method according to claim 36, wherein a predicted value of the motion vector is determined.
前記予測信号生成ステップでは、前記動画像符号化装置は、符号化対象のブロックと同じフレーム内で対象ブロックに対して1ブロック以上隔てたブロックを含む複数のブロックの動きベクトルの類似性に基づいて、動きベクトルの予測値決定方法を決定する
ことを特徴とした請求項37に記載の動画像符号化方法。
In the prediction signal generation step, the video encoding device is based on the similarity of motion vectors of a plurality of blocks including a block separated by one block or more from the target block in the same frame as the block to be encoded. 38. The moving picture coding method according to claim 37, wherein a motion vector prediction value determination method is determined.
前記予測信号生成ステップでは、前記動画像符号化装置は、符号化対象のブロックと同じフレーム内で対象ブロックに対して1ブロック以上隔てたブロックを含む複数のブロックの動きベクトルの類似性に基づく重み付けによって、動きベクトルの予測値を決定する
ことを特徴とした請求項37に記載の動画像符号化方法。
In the prediction signal generating step, the video encoding device weights based on the similarity of motion vectors of a plurality of blocks including a block separated from the target block by one block or more in the same frame as the block to be encoded. The motion image encoding method according to claim 37, wherein a predicted value of a motion vector is determined by:
前記予測信号生成ステップでは、前記動画像符号化装置は、符号化対象のブロックと同じフレーム内で対象ブロックに対して1ブロック以上隔てたブロックを含む複数のブロックの動きベクトルの類似性に基づいて、動きベクトルの予測値を示すための情報を符号化する際に用いる確率分布を適応的に決定する
ことを特徴とした請求項36に記載の動画像符号化方法。
In the prediction signal generation step, the video encoding device is based on the similarity of motion vectors of a plurality of blocks including a block separated by one block or more from the target block in the same frame as the block to be encoded. 37. The moving picture coding method according to claim 36, wherein a probability distribution used when coding information for indicating a predicted value of a motion vector is adaptively determined.
前記予測信号生成ステップでは、前記動画像符号化装置は、符号化対象のブロックと同じフレーム内で対象ブロックに対して1ブロック以上隔てたブロックを含む複数のブロックの動きベクトルの類似性に基づいて、動きベクトルの予測値決定方法を示すための情報を符号化する際に用いる確率分布を適応的に決定する
ことを特徴とした請求項40に記載の動画像符号化方法。
In the prediction signal generation step, the video encoding device is based on the similarity of motion vectors of a plurality of blocks including a block separated by one block or more from the target block in the same frame as the block to be encoded. 41. The moving picture encoding method according to claim 40, wherein a probability distribution used when encoding information for indicating a motion vector prediction value determination method is adaptively determined.
前記予測信号生成ステップでは、前記動画像符号化装置は、符号化対象のブロックと同じフレーム内で対象ブロックに対して1ブロック以上隔てたブロックを含む複数のブロックの動きベクトルの類似性に基づいて、動きベクトル差分値を符号化する際に用いる確率分布を適応的に決定する
ことを特徴とした請求項36に記載の動画像符号化方法。
In the prediction signal generation step, the video encoding device is based on the similarity of motion vectors of a plurality of blocks including a block separated by one block or more from the target block in the same frame as the block to be encoded. The video encoding method according to claim 36, wherein a probability distribution used when encoding the motion vector difference value is adaptively determined.
動画像復号化装置により実行される動画像復号化方法であって、
圧縮データの中から処理対象領域に関する残差信号と動きベクトルの情報を抽出するデータ抽出ステップと、前記処理対象領域に関する残差信号を再生残差信号に復元する残差信号復元ステップと、前記処理対象領域に対する予測信号を生成する予測信号生成ステップと、前記予測信号と前記再生残差信号を加算することによって、前記対象領域の画素信号を復元する画像復元ステップとを備え、
前記予測信号生成ステップでは、前記動画像復号化装置は、互いに異なるフレーム内にある複数のブロックの動きベクトルの類似性、又は、前記類似性および復号化対象のブロックと同じフレーム内にある複数のブロックの動きベクトルの類似性に基づいて、前記動きベクトルを復号化する
ことを特徴とした動画像復号化方法。
A moving picture decoding method executed by a moving picture decoding apparatus,
A data extraction step for extracting residual signal and motion vector information relating to the processing target region from the compressed data, a residual signal restoring step for restoring the residual signal relating to the processing target region to a reproduction residual signal, and the processing A prediction signal generation step of generating a prediction signal for the target region, and an image restoration step of restoring the pixel signal of the target region by adding the prediction signal and the reproduction residual signal,
In the prediction signal generation step, the moving picture decoding apparatus is configured such that the motion vectors of a plurality of blocks in different frames, or a plurality of blocks in the same frame as the similarity and the block to be decoded A moving picture decoding method, wherein the motion vector is decoded based on similarity of block motion vectors.
前記予測信号生成ステップでは、前記動画像復号化装置は、互いに異なるフレーム内にある複数のブロックの動きベクトルの類似性、又は、前記類似性および復号化対象のブロックと同じフレーム内にある複数のブロックの動きベクトルの類似性に基づいて、動きベクトルの予測値を決定する
ことを特徴とした請求項43に記載の動画像復号化方法。
In the prediction signal generation step, the moving picture decoding apparatus is configured such that the motion vectors of a plurality of blocks in different frames, or a plurality of blocks in the same frame as the similarity and the block to be decoded 44. The moving picture decoding method according to claim 43, wherein a predicted value of the motion vector is determined based on similarity of the motion vectors of the blocks.
前記予測信号生成ステップでは、前記動画像復号化装置は、互いに異なるフレーム内にある複数のブロックの動きベクトルの類似性、又は、前記類似性および復号化対象のブロックと同じフレーム内にある複数のブロックの動きベクトルの類似性に基づいて、動きベクトルの予測値決定方法を決定する
ことを特徴とした請求項44に記載の動画像復号化方法。
In the prediction signal generation step, the moving picture decoding apparatus is configured such that the motion vectors of a plurality of blocks in different frames, or a plurality of blocks in the same frame as the similarity and the block to be decoded 45. The moving picture decoding method according to claim 44, wherein a motion vector prediction value determination method is determined based on similarity between motion vectors of blocks.
前記予測信号生成ステップでは、前記動画像復号化装置は、互いに異なるフレーム内にある複数のブロックの動きベクトルの類似性、又は、前記類似性および復号化対象のブロックと同じフレーム内にある複数のブロックの動きベクトルの類似性に基づく重み付けによって、動きベクトルの予測値を決定する
ことを特徴とした請求項44に記載の動画像復号化方法。
In the prediction signal generation step, the moving picture decoding apparatus is configured such that the motion vectors of a plurality of blocks in different frames, or a plurality of blocks in the same frame as the similarity and the block to be decoded 45. The moving picture decoding method according to claim 44, wherein the predicted value of the motion vector is determined by weighting based on the similarity of the motion vectors of the blocks.
前記予測信号生成ステップでは、前記動画像復号化装置は、互いに異なるフレーム内にある複数のブロックの動きベクトルの類似性、又は、前記類似性および復号化対象のブロックと同じフレーム内にある複数のブロックの動きベクトルの類似性に基づいて、動きベクトルの予測値を示すための情報を復号化する際に用いる確率分布を適応的に決定する
ことを特徴とした請求項43に記載の動画像復号化方法。
In the prediction signal generation step, the moving picture decoding apparatus is configured such that the motion vectors of a plurality of blocks in different frames, or a plurality of blocks in the same frame as the similarity and the block to be decoded 44. The moving picture decoding according to claim 43, wherein a probability distribution used in decoding information for indicating a predicted value of a motion vector is adaptively determined based on similarity between motion vectors of blocks. Method.
前記予測信号生成ステップでは、前記動画像復号化装置は、互いに異なるフレーム内にある複数のブロックの動きベクトルの類似性、又は、前記類似性および復号化対象のブロックと同じフレーム内にある複数のブロックの動きベクトルの類似性に基づいて、動きベクトルの予測値決定方法を示すための情報を復号化する際に用いる確率分布を適応的に決定する
ことを特徴とした請求項47に記載の動画像復号化方法。
In the prediction signal generation step, the moving picture decoding apparatus is configured such that the motion vectors of a plurality of blocks in different frames, or a plurality of blocks in the same frame as the similarity and the block to be decoded The moving image according to claim 47, wherein a probability distribution used when decoding information for indicating a method for determining a predicted value of a motion vector is adaptively determined based on similarity between motion vectors of blocks. Image decoding method.
前記予測信号生成ステップでは、前記動画像復号化装置は、互いに異なるフレーム内にある複数のブロックの動きベクトルの類似性、又は、前記類似性および復号化対象のブロックと同じフレーム内にある複数のブロックの動きベクトルの類似性に基づいて、動きベクトル差分値を復号化する際に用いる確率分布を適応的に決定する
ことを特徴とした請求項43に記載の動画像復号化方法。
In the prediction signal generation step, the moving picture decoding apparatus is configured such that the motion vectors of a plurality of blocks in different frames, or a plurality of blocks in the same frame as the similarity and the block to be decoded 44. The moving picture decoding method according to claim 43, wherein the probability distribution used when decoding the motion vector difference value is adaptively determined based on the similarity of the motion vectors of the blocks.
動画像復号化装置により実行される動画像復号化方法であって、
圧縮データの中から処理対象領域に関する残差信号と動きベクトルの情報を抽出するデータ抽出ステップと、前記処理対象領域に関する残差信号を再生残差信号に復元する残差信号復元ステップと、前記処理対象領域に対する予測信号を生成する予測信号生成ステップと、前記予測信号と前記再生残差信号を加算することによって、前記対象領域の画素信号を復元する画像復元ステップとを備え、
前記予測信号生成ステップでは、前記動画像復号化装置は、復号化対象のブロックと同じフレーム内で対象ブロックに対して1ブロック以上隔てたブロックを含む複数のブロックの動きベクトルの類似性に基づいて、前記動きベクトルを復号化する
ことを特徴とした動画像復号化方法。
A moving picture decoding method executed by a moving picture decoding apparatus,
A data extraction step for extracting residual signal and motion vector information relating to the processing target region from the compressed data, a residual signal restoring step for restoring the residual signal relating to the processing target region to a reproduction residual signal, and the processing A prediction signal generation step of generating a prediction signal for the target region, and an image restoration step of restoring the pixel signal of the target region by adding the prediction signal and the reproduction residual signal,
In the prediction signal generation step, the video decoding device is configured based on the similarity of motion vectors of a plurality of blocks including a block separated from the target block by one block or more in the same frame as the block to be decoded. Decoding the motion vector. A moving image decoding method, wherein:
前記予測信号生成ステップでは、前記動画像復号化装置は、復号化対象のブロックと同じフレーム内で対象ブロックに対して1ブロック以上隔てたブロックを含む複数のブロックの動きベクトルの類似性に基づいて、動きベクトルの予測値を決定する
ことを特徴とした請求項50に記載の動画像復号化方法。
In the prediction signal generation step, the video decoding device is configured based on the similarity of motion vectors of a plurality of blocks including a block separated from the target block by one block or more in the same frame as the block to be decoded. The motion picture decoding method according to claim 50, wherein a predicted value of the motion vector is determined.
前記予測信号生成ステップでは、前記動画像復号化装置は、復号化対象のブロックと同じフレーム内で対象ブロックに対して1ブロック以上隔てたブロックを含む複数のブロックの動きベクトルの類似性に基づいて、動きベクトルの予測値決定方法を決定する
ことを特徴とした請求項51に記載の動画像復号化方法。
In the prediction signal generation step, the video decoding device is configured based on the similarity of motion vectors of a plurality of blocks including a block separated from the target block by one block or more in the same frame as the block to be decoded. 52. The moving picture decoding method according to claim 51, further comprising: determining a motion vector prediction value determination method.
前記予測信号生成ステップでは、前記動画像復号化装置は、復号化対象のブロックと同じフレーム内で対象ブロックに対して1ブロック以上隔てたブロックを含む複数のブロックの動きベクトルの類似性に基づく重み付けによって、動きベクトルの予測値を決定する
ことを特徴とした請求項51に記載の動画像復号化方法。
In the prediction signal generating step, the moving picture decoding apparatus weights based on similarity of motion vectors of a plurality of blocks including a block separated by one block or more from the target block in the same frame as the block to be decoded 52. The moving picture decoding method according to claim 51, wherein a predicted value of a motion vector is determined by:
前記予測信号生成ステップでは、前記動画像復号化装置は、復号化対象のブロックと同じフレーム内で対象ブロックに対して1ブロック以上隔てたブロックを含む複数のブロックの動きベクトルの類似性に基づいて、動きベクトルの予測値を示すための情報を復号化する際に用いる確率分布を適応的に決定する
ことを特徴とした請求項50に記載の動画像復号化方法。
In the prediction signal generation step, the video decoding device is configured based on the similarity of motion vectors of a plurality of blocks including a block separated from the target block by one block or more in the same frame as the block to be decoded. 51. The moving picture decoding method according to claim 50, wherein a probability distribution used when decoding information for indicating a motion vector prediction value is adaptively determined.
前記予測信号生成ステップでは、前記動画像復号化装置は、復号化対象のブロックと同じフレーム内で対象ブロックに対して1ブロック以上隔てたブロックを含む複数のブロックの動きベクトルの類似性に基づいて、動きベクトルの予測値決定方法を示すための情報を復号化する際に用いる確率分布を適応的に決定する
ことを特徴とした請求項54に記載の動画像復号化方法。
In the prediction signal generation step, the video decoding device is configured based on the similarity of motion vectors of a plurality of blocks including a block separated from the target block by one block or more in the same frame as the block to be decoded. 55. The moving picture decoding method according to claim 54, wherein a probability distribution used when decoding information for indicating a motion vector prediction value determination method is adaptively determined.
前記予測信号生成ステップでは、前記動画像復号化装置は、復号化対象のブロックと同じフレーム内で対象ブロックに対して1ブロック以上隔てたブロックを含む複数のブロックの動きベクトルの類似性に基づいて、動きベクトル差分値を復号化する際に用いる確率分布を適応的に決定する
ことを特徴とした請求項50に記載の動画像復号化方法。
In the prediction signal generation step, the video decoding device is configured based on the similarity of motion vectors of a plurality of blocks including a block separated from the target block by one block or more in the same frame as the block to be decoded. 51. The moving picture decoding method according to claim 50, wherein the probability distribution used when decoding the motion vector difference value is adaptively determined.
コンピュータを、請求項1〜14のいずれか1項に記載の動画像符号化装置として機能させるための動画像符号化プログラム。   A moving picture coding program for causing a computer to function as the moving picture coding apparatus according to claim 1. コンピュータを、請求項15〜28のいずれか1項に記載の動画像復号化装置として機能させるための動画像復号化プログラム。   A moving picture decoding program for causing a computer to function as the moving picture decoding apparatus according to any one of claims 15 to 28.
JP2007126035A 2007-05-10 2007-05-10 Moving image encoding device, method and program, and moving image decoding device, method and program Pending JP2008283490A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007126035A JP2008283490A (en) 2007-05-10 2007-05-10 Moving image encoding device, method and program, and moving image decoding device, method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007126035A JP2008283490A (en) 2007-05-10 2007-05-10 Moving image encoding device, method and program, and moving image decoding device, method and program

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2012205650A Division JP5638581B2 (en) 2012-09-19 2012-09-19 Moving picture coding apparatus, method and program, and moving picture decoding apparatus, method and program

Publications (1)

Publication Number Publication Date
JP2008283490A true JP2008283490A (en) 2008-11-20

Family

ID=40143930

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007126035A Pending JP2008283490A (en) 2007-05-10 2007-05-10 Moving image encoding device, method and program, and moving image decoding device, method and program

Country Status (1)

Country Link
JP (1) JP2008283490A (en)

Cited By (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010064396A1 (en) * 2008-12-03 2010-06-10 株式会社日立製作所 Moving picture decoding method and moving picture encoding method
WO2011046008A1 (en) * 2009-10-16 2011-04-21 シャープ株式会社 Video coding device and video decoding device
WO2011048903A1 (en) * 2009-10-20 2011-04-28 シャープ株式会社 Video encoding device, video decoding device, and data structure
WO2011062082A1 (en) * 2009-11-17 2011-05-26 シャープ株式会社 Video encoder and video decoder
WO2011061880A1 (en) * 2009-11-19 2011-05-26 三菱電機株式会社 Image encoder apparatus, image decoder apparatus, image encoding method, and image decoding method
WO2011070730A1 (en) * 2009-12-07 2011-06-16 日本電気株式会社 Video coding device and video decoding device
WO2011099428A1 (en) * 2010-02-09 2011-08-18 日本電信電話株式会社 Predictive coding method for motion vector, predictive decoding method for motion vector, video coding device, video decoding device, and programs therefor
WO2011099468A1 (en) * 2010-02-09 2011-08-18 日本電信電話株式会社 Predictive coding method for motion vector, predictive decoding method for motion vector, video coding device, video decoding device, and programs therefor
WO2011099463A1 (en) * 2010-02-09 2011-08-18 日本電信電話株式会社 Predictive coding method for motion vector, predictive decoding method for motion vector, video coding device, video decoding device, and programs therefor
WO2011099440A1 (en) * 2010-02-09 2011-08-18 日本電信電話株式会社 Predictive coding method for motion vector, predictive decoding method for motion vector, video coding device, video decoding device, and programs therefor
WO2011099242A1 (en) * 2010-02-12 2011-08-18 三菱電機株式会社 Image encoding device, image decoding device, image encoding method, and image decoding method
JP2011166207A (en) * 2010-02-04 2011-08-25 Nippon Telegr & Teleph Corp <Ntt> Motion vector prediction method, motion vector prediction device, and motion vector prediction program
WO2011125411A1 (en) * 2010-04-01 2011-10-13 ソニー株式会社 Image processing device and method
JP2012010313A (en) * 2010-05-21 2012-01-12 Jvc Kenwood Corp Image coding device, image coding method and image coding program
JP2012010314A (en) * 2010-05-21 2012-01-12 Jvc Kenwood Corp Image decoding device, image decoding method and image decoding program
WO2012042719A1 (en) * 2010-09-30 2012-04-05 三菱電機株式会社 Dynamic image encoding device, dynamic image decoding device, dynamic image encoding method, and dynamic image decoding method
WO2012056924A1 (en) * 2010-10-25 2012-05-03 ソニー株式会社 Image processing device and image processing method
WO2012090397A1 (en) * 2010-12-28 2012-07-05 株式会社Jvcケンウッド Video encoding device, video encoding method, and video encoding program, and video decoding device, video decoding method, and video decoding program
WO2012108271A1 (en) * 2011-02-07 2012-08-16 ソニー株式会社 Image processing device and method
JP2012165278A (en) * 2011-02-08 2012-08-30 Jvc Kenwood Corp Image encoding device, image encoding method, and image encoding program
JP2012165279A (en) * 2011-02-08 2012-08-30 Jvc Kenwood Corp Image decoding device, image decoding method, and image decoding program
WO2012120661A1 (en) * 2011-03-09 2012-09-13 株式会社 東芝 Video image encoding method and video image decoding method
WO2012124497A1 (en) * 2011-03-11 2012-09-20 ソニー株式会社 Image processing device and method
WO2012164908A1 (en) * 2011-05-31 2012-12-06 パナソニック株式会社 Video encoding method, video encoding device, video decoding method, video decoding device, and video encoding/decoding device
WO2013002219A1 (en) * 2011-06-29 2013-01-03 日本電信電話株式会社 Video encoding device, video decoding device, video encoding method, video decoding method , video encoding program, video decoding program
JP2013514714A (en) * 2009-12-16 2013-04-25 エレクトロニクス アンド テレコミュニケーションズ リサーチ インスチチュート Adaptive video encoding apparatus and method
JP2013529878A (en) * 2010-11-29 2013-07-22 メディアテック インコーポレイテッド Method and apparatus for deriving motion vector / motion vector predictor candidates for inter mode, skip mode and merge mode
JP2013529877A (en) * 2010-07-12 2013-07-22 聯發科技股▲ふん▼有限公司 Method and apparatus for temporal motion vector prediction
JP2014502481A (en) * 2010-12-13 2014-01-30 エレクトロニクス アンド テレコミュニケーションズ リサーチ インスチチュート Reference unit determination method and apparatus
US8711940B2 (en) 2010-11-29 2014-04-29 Mediatek Inc. Method and apparatus of motion vector prediction with extended motion vector predictor
JP2014161041A (en) * 2014-03-31 2014-09-04 Toshiba Corp Moving image coding method and moving image decoding method
JP2015019420A (en) * 2009-08-13 2015-01-29 サムスン エレクトロニクス カンパニー リミテッド Image decryption method
US8953689B2 (en) 2011-05-31 2015-02-10 Panasonic Intellectual Property Corporation Of America Decoding method and apparatus with candidate motion vectors
US8964847B2 (en) 2011-05-24 2015-02-24 Panasonic Intellectual Property Corporation Of America Decoding method and apparatus with candidate motion vectors
US8982953B2 (en) 2011-04-12 2015-03-17 Panasonic Intellectual Property Corporation Of America Moving picture coding method, moving picture coding apparatus, moving picture decoding method, moving picture decoding apparatus and moving picture coding and decoding apparatus
JP2015084588A (en) * 2015-01-06 2015-04-30 株式会社東芝 Moving image encoding method and moving image decoding method
US9456214B2 (en) 2011-08-03 2016-09-27 Sun Patent Trust Moving picture coding method, moving picture coding apparatus, moving picture decoding method, moving picture decoding apparatus, and moving picture coding and decoding apparatus
US9485518B2 (en) 2011-05-27 2016-11-01 Sun Patent Trust Decoding method and apparatus with candidate motion vectors
US9615107B2 (en) 2011-05-27 2017-04-04 Sun Patent Trust Image coding method, image coding apparatus, image decoding method, image decoding apparatus, and image coding and decoding apparatus
RU2615677C1 (en) * 2015-10-30 2017-04-06 Кабусики Кайся Тосиба Images encoding method and images decoding method
JP2018082451A (en) * 2011-11-07 2018-05-24 インフォブリッジ ピーティーイー. エルティーディー. Image decoding method in amvp mode
JP2020048208A (en) * 2019-11-28 2020-03-26 株式会社東芝 Moving image encoding method and moving image decoding method
US10887585B2 (en) 2011-06-30 2021-01-05 Sun Patent Trust Image decoding method, image coding method, image decoding apparatus, image coding apparatus, and image coding and decoding apparatus
US11218708B2 (en) 2011-10-19 2022-01-04 Sun Patent Trust Picture decoding method for decoding using a merging candidate selected from a first merging candidate derived using a first derivation process and a second merging candidate derived using a second derivation process

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10224800A (en) * 1997-02-07 1998-08-21 Matsushita Electric Ind Co Ltd Motion vector coding method and decoding method

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10224800A (en) * 1997-02-07 1998-08-21 Matsushita Electric Ind Co Ltd Motion vector coding method and decoding method

Cited By (195)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9906808B2 (en) 2008-12-03 2018-02-27 Hitachi Maxell, Ltd. Moving picture decoding method and moving picture encoding method
US11134263B2 (en) 2008-12-03 2021-09-28 Maxell, Ltd. Moving picture decoding method and moving picture encoding method
US10764599B2 (en) 2008-12-03 2020-09-01 Maxell, Ltd. Moving picture decoding method and moving picture encoding method
US11546627B2 (en) 2008-12-03 2023-01-03 Maxell, Ltd. Moving picture decoding method and moving picture encoding method
US10382775B2 (en) 2008-12-03 2019-08-13 Maxell, Ltd. Moving picture decoding method and moving picture encoding method
WO2010064396A1 (en) * 2008-12-03 2010-06-10 株式会社日立製作所 Moving picture decoding method and moving picture encoding method
CN102239693A (en) * 2008-12-03 2011-11-09 株式会社日立制作所 Moving picture decoding method and moving picture encoding method
JP5277257B2 (en) * 2008-12-03 2013-08-28 株式会社日立製作所 Video decoding method and video encoding method
US9560368B2 (en) 2008-12-03 2017-01-31 Hitachi Maxell, Ltd. Moving picture decoding method and moving picture encoding method
US10110902B2 (en) 2009-08-13 2018-10-23 Samsung Electronics Co., Ltd. Method and apparatus for encoding/decoding motion vector
US9883186B2 (en) 2009-08-13 2018-01-30 Samsung Electronics Co., Ltd. Method and apparatus for encoding/decoding motion vector
US9544588B2 (en) 2009-08-13 2017-01-10 Samsung Electronics Co., Ltd. Method and apparatus for encoding/decoding motion vector
JP2015029335A (en) * 2009-08-13 2015-02-12 サムスン エレクトロニクス カンパニー リミテッド Image decoding method
JP2015019420A (en) * 2009-08-13 2015-01-29 サムスン エレクトロニクス カンパニー リミテッド Image decryption method
JPWO2011046008A1 (en) * 2009-10-16 2013-03-04 シャープ株式会社 Moving picture coding apparatus and moving picture decoding apparatus
WO2011046008A1 (en) * 2009-10-16 2011-04-21 シャープ株式会社 Video coding device and video decoding device
CN102577389A (en) * 2009-10-16 2012-07-11 夏普株式会社 Video coding device and video decoding device
JPWO2011048903A1 (en) * 2009-10-20 2013-03-07 シャープ株式会社 Moving picture coding apparatus, moving picture decoding apparatus, and data structure
WO2011048903A1 (en) * 2009-10-20 2011-04-28 シャープ株式会社 Video encoding device, video decoding device, and data structure
CN102577392A (en) * 2009-10-20 2012-07-11 夏普株式会社 Video encoding device, video decoding device, and data structure
WO2011062082A1 (en) * 2009-11-17 2011-05-26 シャープ株式会社 Video encoder and video decoder
JPWO2011061880A1 (en) * 2009-11-19 2013-04-04 三菱電機株式会社 Image encoding device, image decoding device, image encoding method, and image decoding method
WO2011061880A1 (en) * 2009-11-19 2011-05-26 三菱電機株式会社 Image encoder apparatus, image decoder apparatus, image encoding method, and image decoding method
WO2011070730A1 (en) * 2009-12-07 2011-06-16 日本電気株式会社 Video coding device and video decoding device
US11659159B2 (en) 2009-12-16 2023-05-23 Electronics And Telecommunications Research Institute Adaptive image encoding device and method
JP2013514714A (en) * 2009-12-16 2013-04-25 エレクトロニクス アンド テレコミュニケーションズ リサーチ インスチチュート Adaptive video encoding apparatus and method
US11805243B2 (en) 2009-12-16 2023-10-31 Electronics And Telecommunications Research Institute Adaptive image encoding device and method
US11812012B2 (en) 2009-12-16 2023-11-07 Electronics And Telecommunications Research Institute Adaptive image encoding device and method
US10728541B2 (en) 2009-12-16 2020-07-28 Electronics And Telecommunications Research Institute Adaptive image encoding device and method
US10708580B2 (en) 2009-12-16 2020-07-07 Electronics And Telecommunications Research Institute Adaptive image encoding device and method
US10419752B2 (en) 2009-12-16 2019-09-17 Electronics And Telecommunications Research Institute Adaptive image encoding device and method
JP2011166207A (en) * 2010-02-04 2011-08-25 Nippon Telegr & Teleph Corp <Ntt> Motion vector prediction method, motion vector prediction device, and motion vector prediction program
EP2536148A1 (en) * 2010-02-09 2012-12-19 Nippon Telegraph And Telephone Corporation Predictive coding method for motion vector, predictive decoding method for motion vector, video coding device, video decoding device, and programs therefor
JP5306486B2 (en) * 2010-02-09 2013-10-02 日本電信電話株式会社 Motion vector predictive coding method, motion vector predictive decoding method, moving picture coding apparatus, moving picture decoding apparatus, and programs thereof
EP2536150A1 (en) * 2010-02-09 2012-12-19 Nippon Telegraph And Telephone Corporation Predictive coding method for motion vector, predictive decoding method for motion vector, video coding device, video decoding device, and programs therefor
CN102884793A (en) * 2010-02-09 2013-01-16 日本电信电话株式会社 Predictive coding method for motion vector, predictive decoding method for motion vector, video coding device, video decoding device, and programs therefor
CN102823249A (en) * 2010-02-09 2012-12-12 日本电信电话株式会社 Motion vector predictive encoding method, motion vector predictive decoding method, moving picture encoding apparatus, moving picture decoding apparatus, and programs thereof
TWI450592B (en) * 2010-02-09 2014-08-21 Nippon Telegraph & Telephone Motion vector predictive coding method, motion vector predictive decoding method, moving picture coding apparatus, moving picture decoding apparatus, and programs thereof
CN102742276A (en) * 2010-02-09 2012-10-17 日本电信电话株式会社 Predictive coding method for motion vector, predictive decoding method for motion vector, video coding device, video decoding device, and programs therefor
WO2011099428A1 (en) * 2010-02-09 2011-08-18 日本電信電話株式会社 Predictive coding method for motion vector, predictive decoding method for motion vector, video coding device, video decoding device, and programs therefor
RU2523920C2 (en) * 2010-02-09 2014-07-27 Ниппон Телеграф Энд Телефон Корпорейшн Motion vector predictive encoding method, motion vector predictive decoding method, moving picture encoding apparatus, moving picture decoding apparatus, and programmes thereof
CN102884793B (en) * 2010-02-09 2016-03-23 日本电信电话株式会社 Motion vector prediction coding method, motion vector prediction coding/decoding method, moving picture encoder and moving picture decoder
JPWO2011099428A1 (en) * 2010-02-09 2013-06-13 日本電信電話株式会社 Motion vector predictive coding method, motion vector predictive decoding method, moving picture coding apparatus, moving picture decoding apparatus, and programs thereof
JPWO2011099440A1 (en) * 2010-02-09 2013-06-13 日本電信電話株式会社 Motion vector predictive coding method, motion vector predictive decoding method, moving picture coding apparatus, moving picture decoding apparatus, and programs thereof
JPWO2011099463A1 (en) * 2010-02-09 2013-06-13 日本電信電話株式会社 Motion vector predictive coding method, motion vector predictive decoding method, moving picture coding apparatus, moving picture decoding apparatus, and programs thereof
JPWO2011099468A1 (en) * 2010-02-09 2013-06-13 日本電信電話株式会社 Motion vector predictive coding method, motion vector predictive decoding method, moving picture coding apparatus, moving picture decoding apparatus, and programs thereof
RU2520377C2 (en) * 2010-02-09 2014-06-27 Ниппон Телеграф Энд Телефон Корпорейшн Motion vector predictive encoding method, motion vector predictive decoding method, moving picture encoding apparatus, moving picture decoding apparatus, and programmes thereof
RU2519526C2 (en) * 2010-02-09 2014-06-10 Ниппон Телеграф Энд Телефон Корпорейшн Motion vector predictive encoding method, motion vector predictive decoding method, moving picture encoding apparatus, moving picture decoding apparatus, and programmes thereof
EP2536150A4 (en) * 2010-02-09 2014-06-04 Nippon Telegraph & Telephone Predictive coding method for motion vector, predictive decoding method for motion vector, video coding device, video decoding device, and programs therefor
EP2536148A4 (en) * 2010-02-09 2014-06-04 Nippon Telegraph & Telephone Predictive coding method for motion vector, predictive decoding method for motion vector, video coding device, video decoding device, and programs therefor
JP5306485B2 (en) * 2010-02-09 2013-10-02 日本電信電話株式会社 Motion vector predictive coding method, motion vector predictive decoding method, moving picture coding apparatus, moving picture decoding apparatus, and programs thereof
CN102835110A (en) * 2010-02-09 2012-12-19 日本电信电话株式会社 predictive coding method for motion vector, predictive decoding method for motion vector, video coding device, video decoding device, and programs therefor
US9497481B2 (en) 2010-02-09 2016-11-15 Nippon Telegraph And Telephone Corporation Motion vector predictive encoding method, motion vector predictive decoding method, moving picture encoding apparatus, moving picture decoding apparatus, and programs thereof
JP5367097B2 (en) * 2010-02-09 2013-12-11 日本電信電話株式会社 Motion vector predictive coding method, motion vector predictive decoding method, moving picture coding apparatus, moving picture decoding apparatus, and programs thereof
JP5367098B2 (en) * 2010-02-09 2013-12-11 日本電信電話株式会社 Motion vector predictive coding method, motion vector predictive decoding method, moving picture coding apparatus, moving picture decoding apparatus, and programs thereof
WO2011099440A1 (en) * 2010-02-09 2011-08-18 日本電信電話株式会社 Predictive coding method for motion vector, predictive decoding method for motion vector, video coding device, video decoding device, and programs therefor
US9838709B2 (en) 2010-02-09 2017-12-05 Nippon Telegraph And Telephone Corporation Motion vector predictive encoding method, motion vector predictive decoding method, moving picture encoding apparatus, moving picture decoding apparatus, and programs thereof
WO2011099468A1 (en) * 2010-02-09 2011-08-18 日本電信電話株式会社 Predictive coding method for motion vector, predictive decoding method for motion vector, video coding device, video decoding device, and programs therefor
WO2011099463A1 (en) * 2010-02-09 2011-08-18 日本電信電話株式会社 Predictive coding method for motion vector, predictive decoding method for motion vector, video coding device, video decoding device, and programs therefor
JP5442039B2 (en) * 2010-02-12 2014-03-12 三菱電機株式会社 Image encoding device, image decoding device, image encoding method, and image decoding method
WO2011099242A1 (en) * 2010-02-12 2011-08-18 三菱電機株式会社 Image encoding device, image decoding device, image encoding method, and image decoding method
JPWO2011099242A1 (en) * 2010-02-12 2013-06-13 三菱電機株式会社 Image encoding device, image decoding device, image encoding method, and image decoding method
CN107318025A (en) * 2010-04-01 2017-11-03 索尼公司 Image processing equipment and method
WO2011125411A1 (en) * 2010-04-01 2011-10-13 ソニー株式会社 Image processing device and method
US10362316B2 (en) 2010-04-01 2019-07-23 Sony Corporation Image processing device and method
US10917649B2 (en) 2010-04-01 2021-02-09 Sony Corporation Image processing device and method
CN107318025B (en) * 2010-04-01 2020-12-29 索尼公司 Image processing apparatus and method
US10609387B2 (en) 2010-04-01 2020-03-31 Sony Corporation Image processing device and method
JP2012010313A (en) * 2010-05-21 2012-01-12 Jvc Kenwood Corp Image coding device, image coding method and image coding program
JP2012010314A (en) * 2010-05-21 2012-01-12 Jvc Kenwood Corp Image decoding device, image decoding method and image decoding program
JP2013529877A (en) * 2010-07-12 2013-07-22 聯發科技股▲ふん▼有限公司 Method and apparatus for temporal motion vector prediction
US9124898B2 (en) 2010-07-12 2015-09-01 Mediatek Inc. Method and apparatus of temporal motion vector prediction
US9961364B2 (en) 2010-07-12 2018-05-01 Hfi Innovation Inc. Method and apparatus of temporal motion vector prediction
WO2012042719A1 (en) * 2010-09-30 2012-04-05 三菱電機株式会社 Dynamic image encoding device, dynamic image decoding device, dynamic image encoding method, and dynamic image decoding method
US9900612B2 (en) 2010-09-30 2018-02-20 Mitsubishi Electric Corporation Moving image encoding device, moving image decoding device, moving image coding method, and moving image decoding method
US9894375B2 (en) 2010-09-30 2018-02-13 Mitsubishi Electric Corporation Moving image encoding device, moving image decoding device, moving image coding method, and moving image decoding method
US9894376B2 (en) 2010-09-30 2018-02-13 Mitsubishi Electric Corporation Moving image encoding device, moving image decoding device, moving image coding method, and moving image decoding method
US9369730B2 (en) 2010-09-30 2016-06-14 Mitsubishi Electric Corporation Moving image encoding device, moving image decoding device, moving image coding method, and moving image decoding method
JPWO2012042719A1 (en) * 2010-09-30 2014-02-03 三菱電機株式会社 Moving picture decoding apparatus and moving picture decoding method
JP2019146245A (en) * 2010-09-30 2019-08-29 三菱電機株式会社 Moving-image encoder, moving-image decoder, moving-image encoded data, and recording medium
US9900611B2 (en) 2010-09-30 2018-02-20 Mitsubishi Electric Corporation Moving image encoding device, moving image decoding device, moving image coding method, and moving image decoding method
JP2018067974A (en) * 2010-09-30 2018-04-26 三菱電機株式会社 Video encoding data and recording medium
JP5486091B2 (en) * 2010-09-30 2014-05-07 三菱電機株式会社 Moving picture decoding apparatus and moving picture decoding method
WO2012056924A1 (en) * 2010-10-25 2012-05-03 ソニー株式会社 Image processing device and image processing method
CN103168471A (en) * 2010-10-25 2013-06-19 索尼公司 Image processing device and image processing method
US9137544B2 (en) 2010-11-29 2015-09-15 Mediatek Inc. Method and apparatus for derivation of mv/mvp candidate for inter/skip/merge modes
US8711940B2 (en) 2010-11-29 2014-04-29 Mediatek Inc. Method and apparatus of motion vector prediction with extended motion vector predictor
JP2013529878A (en) * 2010-11-29 2013-07-22 メディアテック インコーポレイテッド Method and apparatus for deriving motion vector / motion vector predictor candidates for inter mode, skip mode and merge mode
US10425653B2 (en) 2010-12-13 2019-09-24 Electronics And Telecommunications Research Institute Method and device for determining reference unit
JP2016036162A (en) * 2010-12-13 2016-03-17 エレクトロニクス アンド テレコミュニケーションズ リサーチ インスチチュートElectronics And Telecommunications Research Institute Method and device for determining reference unit
JP2015053739A (en) * 2010-12-13 2015-03-19 エレクトロニクス アンド テレコミュニケーションズ リサーチ インスチチュートElectronics And Telecommunications Research Institute Method and device for determining reference unit
JP2022168308A (en) * 2010-12-13 2022-11-04 エレクトロニクス アンド テレコミュニケーションズ リサーチ インスチチュート Image decoding method
US9288491B2 (en) 2010-12-13 2016-03-15 Electronics And Telecommunications Research Institute Method and device for determining reference unit
JP7387841B2 (en) 2010-12-13 2023-11-28 エレクトロニクス アンド テレコミュニケーションズ リサーチ インスチチュート Video decoding method
JP2015053738A (en) * 2010-12-13 2015-03-19 エレクトロニクス アンド テレコミュニケーションズ リサーチ インスチチュートElectronics And Telecommunications Research Institute Method and device for determining reference unit
JP2014502481A (en) * 2010-12-13 2014-01-30 エレクトロニクス アンド テレコミュニケーションズ リサーチ インスチチュート Reference unit determination method and apparatus
JP2015053737A (en) * 2010-12-13 2015-03-19 エレクトロニクス アンド テレコミュニケーションズ リサーチ インスチチュートElectronics And Telecommunications Research Institute Method and device for determining reference unit
US11252424B2 (en) 2010-12-13 2022-02-15 Electronics And Telecommunications Research Institute Method and device for determining reference unit
JP2015053736A (en) * 2010-12-13 2015-03-19 エレクトロニクス アンド テレコミュニケーションズ リサーチ インスチチュートElectronics And Telecommunications Research Institute Method and device for determining reference unit
US11843795B2 (en) 2010-12-13 2023-12-12 Electronics And Telecommunications Research Institute Method and device for determining reference unit
WO2012090397A1 (en) * 2010-12-28 2012-07-05 株式会社Jvcケンウッド Video encoding device, video encoding method, and video encoding program, and video decoding device, video decoding method, and video decoding program
WO2012108271A1 (en) * 2011-02-07 2012-08-16 ソニー株式会社 Image processing device and method
US9392277B2 (en) 2011-02-07 2016-07-12 Sony Corporation Image processing device and method
JP2012165175A (en) * 2011-02-07 2012-08-30 Sony Corp Image processing device and method, and program
JP2012165279A (en) * 2011-02-08 2012-08-30 Jvc Kenwood Corp Image decoding device, image decoding method, and image decoding program
JP2012165278A (en) * 2011-02-08 2012-08-30 Jvc Kenwood Corp Image encoding device, image encoding method, and image encoding program
JPWO2012120661A1 (en) * 2011-03-09 2014-07-07 株式会社東芝 Video encoding method and video decoding method
US11290738B2 (en) 2011-03-09 2022-03-29 Kabushiki Kaisha Toshiba Image encoding and decoding method with a merge flag and motion vectors
US11647219B2 (en) 2011-03-09 2023-05-09 Kabushiki Kaisha Toshiba Image encoding and decoding method with merge flag and motion vectors
US10841606B2 (en) 2011-03-09 2020-11-17 Kabushiki Kaisha Toshiba Image encoding method and image decoding method
JP5563148B2 (en) * 2011-03-09 2014-07-30 株式会社東芝 Video encoding method and video decoding method
US11323735B2 (en) 2011-03-09 2022-05-03 Kabushiki Kaisha Toshiba Image encoding and decoding method with a merge flag and motion vectors
US11303917B2 (en) 2011-03-09 2022-04-12 Kabushiki Kaisha Toshiba Image encoding and decoding method with a merge flag and motion vectors
RU2571538C2 (en) * 2011-03-09 2015-12-20 Кабусики Кайся Тосиба Image encoding method and image decoding method
US10511851B2 (en) 2011-03-09 2019-12-17 Kabushiki Kaisha Toshiba Image encoding and decoding method with merge flag and motion vectors
WO2012120661A1 (en) * 2011-03-09 2012-09-13 株式会社 東芝 Video image encoding method and video image decoding method
US11303918B2 (en) 2011-03-09 2022-04-12 Kabushiki Kaisha Toshiba Image encoding and decoding method with a merge flag and motion vectors
US9900594B2 (en) 2011-03-09 2018-02-20 Kabushiki Kaisha Toshiba Image encoding and decoding method with predicted and representative motion information
US9177392B2 (en) 2011-03-11 2015-11-03 Sony Corporation Image processing apparatus and image processing method
CN103404149A (en) * 2011-03-11 2013-11-20 索尼公司 Image processing device and method
JP2012191513A (en) * 2011-03-11 2012-10-04 Sony Corp Image processing apparatus and method
WO2012124497A1 (en) * 2011-03-11 2012-09-20 ソニー株式会社 Image processing device and method
US11917186B2 (en) 2011-04-12 2024-02-27 Sun Patent Trust Moving picture coding method, moving picture coding apparatus, moving picture decoding method, moving picture decoding apparatus and moving picture coding and decoding apparatus
US10178404B2 (en) 2011-04-12 2019-01-08 Sun Patent Trust Moving picture coding method, moving picture coding apparatus, moving picture decoding method, moving picture decoding apparatus and moving picture coding and decoding apparatus
US11356694B2 (en) 2011-04-12 2022-06-07 Sun Patent Trust Moving picture coding method, moving picture coding apparatus, moving picture decoding method, moving picture decoding apparatus and moving picture coding and decoding apparatus
US8982953B2 (en) 2011-04-12 2015-03-17 Panasonic Intellectual Property Corporation Of America Moving picture coding method, moving picture coding apparatus, moving picture decoding method, moving picture decoding apparatus and moving picture coding and decoding apparatus
US11012705B2 (en) 2011-04-12 2021-05-18 Sun Patent Trust Moving picture coding method, moving picture coding apparatus, moving picture decoding method, moving picture decoding apparatus and moving picture coding and decoding apparatus
US9872036B2 (en) 2011-04-12 2018-01-16 Sun Patent Trust Moving picture coding method, moving picture coding apparatus, moving picture decoding method, moving picture decoding apparatus and moving picture coding and decoding apparatus
US10382774B2 (en) 2011-04-12 2019-08-13 Sun Patent Trust Moving picture coding method, moving picture coding apparatus, moving picture decoding method, moving picture decoding apparatus and moving picture coding and decoding apparatus
US10536712B2 (en) 2011-04-12 2020-01-14 Sun Patent Trust Moving picture coding method, moving picture coding apparatus, moving picture decoding method, moving picture decoding apparatus and moving picture coding and decoding apparatus
US10609406B2 (en) 2011-04-12 2020-03-31 Sun Patent Trust Moving picture coding method, moving picture coding apparatus, moving picture decoding method, moving picture decoding apparatus and moving picture coding and decoding apparatus
US9445120B2 (en) 2011-04-12 2016-09-13 Sun Patent Trust Moving picture coding method, moving picture coding apparatus, moving picture decoding method, moving picture decoding apparatus and moving picture coding and decoding apparatus
US11228784B2 (en) 2011-05-24 2022-01-18 Velos Media, Llc Decoding method and apparatuses with candidate motion vectors
US9826249B2 (en) 2011-05-24 2017-11-21 Velos Media, Llc Decoding method and apparatuses with candidate motion vectors
US8964847B2 (en) 2011-05-24 2015-02-24 Panasonic Intellectual Property Corporation Of America Decoding method and apparatus with candidate motion vectors
US10129564B2 (en) 2011-05-24 2018-11-13 Velos Media, LCC Decoding method and apparatuses with candidate motion vectors
US9456217B2 (en) 2011-05-24 2016-09-27 Sun Patent Trust Coding method and apparatus with candidate motion vectors
US10484708B2 (en) 2011-05-24 2019-11-19 Velos Media, Llc Decoding method and apparatuses with candidate motion vectors
US10212450B2 (en) 2011-05-27 2019-02-19 Sun Patent Trust Coding method and apparatus with candidate motion vectors
US9615107B2 (en) 2011-05-27 2017-04-04 Sun Patent Trust Image coding method, image coding apparatus, image decoding method, image decoding apparatus, and image coding and decoding apparatus
US11575930B2 (en) 2011-05-27 2023-02-07 Sun Patent Trust Coding method and apparatus with candidate motion vectors
US11570444B2 (en) 2011-05-27 2023-01-31 Sun Patent Trust Image coding method, image coding apparatus, image decoding method, image decoding apparatus, and image coding and decoding apparatus
US11979582B2 (en) 2011-05-27 2024-05-07 Sun Patent Trust Image coding method, image coding apparatus, image decoding method, image decoding apparatus, and image coding and decoding apparatus
US11895324B2 (en) 2011-05-27 2024-02-06 Sun Patent Trust Coding method and apparatus with candidate motion vectors
US9838695B2 (en) 2011-05-27 2017-12-05 Sun Patent Trust Image coding method, image coding apparatus, image decoding method, image decoding apparatus, and image coding and decoding apparatus
US9485518B2 (en) 2011-05-27 2016-11-01 Sun Patent Trust Decoding method and apparatus with candidate motion vectors
US10595023B2 (en) 2011-05-27 2020-03-17 Sun Patent Trust Image coding method, image coding apparatus, image decoding method, image decoding apparatus, and image coding and decoding apparatus
US9723322B2 (en) 2011-05-27 2017-08-01 Sun Patent Trust Decoding method and apparatus with candidate motion vectors
US10200714B2 (en) 2011-05-27 2019-02-05 Sun Patent Trust Decoding method and apparatus with candidate motion vectors
US11115664B2 (en) 2011-05-27 2021-09-07 Sun Patent Trust Image coding method, image coding apparatus, image decoding method, image decoding apparatus, and image coding and decoding apparatus
US11076170B2 (en) 2011-05-27 2021-07-27 Sun Patent Trust Coding method and apparatus with candidate motion vectors
US9883199B2 (en) 2011-05-27 2018-01-30 Sun Patent Trust Coding method and apparatus with candidate motion vectors
US10034001B2 (en) 2011-05-27 2018-07-24 Sun Patent Trust Image coding method, image coding apparatus, image decoding method, image decoding apparatus, and image coding and decoding apparatus
US10708598B2 (en) 2011-05-27 2020-07-07 Sun Patent Trust Image coding method, image coding apparatus, image decoding method, image decoding apparatus, and image coding and decoding apparatus
US10721474B2 (en) 2011-05-27 2020-07-21 Sun Patent Trust Image coding method, image coding apparatus, image decoding method, image decoding apparatus, and image coding and decoding apparatus
WO2012164908A1 (en) * 2011-05-31 2012-12-06 パナソニック株式会社 Video encoding method, video encoding device, video decoding method, video decoding device, and video encoding/decoding device
US11368710B2 (en) 2011-05-31 2022-06-21 Velos Media, Llc Image decoding method and image decoding apparatus using candidate motion vectors
US9560373B2 (en) 2011-05-31 2017-01-31 Sun Patent Trust Image coding method and apparatus with candidate motion vectors
US11917192B2 (en) 2011-05-31 2024-02-27 Sun Patent Trust Derivation method and apparatuses with candidate motion vectors
US11509928B2 (en) 2011-05-31 2022-11-22 Sun Patent Trust Derivation method and apparatuses with candidate motion vectors
US9609356B2 (en) 2011-05-31 2017-03-28 Sun Patent Trust Moving picture coding method and apparatus with candidate motion vectors
US10951911B2 (en) 2011-05-31 2021-03-16 Velos Media, Llc Image decoding method and image decoding apparatus using candidate motion vectors
US10652573B2 (en) 2011-05-31 2020-05-12 Sun Patent Trust Video encoding method, video encoding device, video decoding method, video decoding device, and video encoding/decoding device
US11057639B2 (en) 2011-05-31 2021-07-06 Sun Patent Trust Derivation method and apparatuses with candidate motion vectors
US10645413B2 (en) 2011-05-31 2020-05-05 Sun Patent Trust Derivation method and apparatuses with candidate motion vectors
US9900613B2 (en) 2011-05-31 2018-02-20 Sun Patent Trust Image coding and decoding system using candidate motion vectors
US11949903B2 (en) 2011-05-31 2024-04-02 Sun Patent Trust Image decoding method and image decoding apparatus using candidate motion vectors
CN107257483B (en) * 2011-05-31 2020-01-21 太阳专利托管公司 Moving image encoding method and moving image encoding device
CN103548351B (en) * 2011-05-31 2017-07-11 太阳专利托管公司 Dynamic image decoding method and moving image decoding apparatus
US10412404B2 (en) 2011-05-31 2019-09-10 Velos Media, Llc Image decoding method and image decoding apparatus using candidate motion vectors
US8989271B2 (en) 2011-05-31 2015-03-24 Panasonic Intellectual Property Corporation Of America Decoding method and apparatus with candidate motion vectors
CN107257483A (en) * 2011-05-31 2017-10-17 太阳专利托管公司 Dynamic image encoding method, dynamic image encoding device
US9819961B2 (en) 2011-05-31 2017-11-14 Sun Patent Trust Decoding method and apparatuses with candidate motion vectors
US8953689B2 (en) 2011-05-31 2015-02-10 Panasonic Intellectual Property Corporation Of America Decoding method and apparatus with candidate motion vectors
CN103548351A (en) * 2011-05-31 2014-01-29 松下电器产业株式会社 Video encoding method, video encoding device, video decoding method, video decoding device, and video encoding/decoding device
US9693053B2 (en) 2011-06-29 2017-06-27 Nippon Telegraph And Telephone Corporation Video encoding device, video decoding device, video encoding method, video decoding method, and non-transitory computer-readable recording media that use similarity between components of motion vector
WO2013002219A1 (en) * 2011-06-29 2013-01-03 日本電信電話株式会社 Video encoding device, video decoding device, video encoding method, video decoding method , video encoding program, video decoding program
CN103636216A (en) * 2011-06-29 2014-03-12 日本电信电话株式会社 Video encoding device, video decoding device, video encoding method, video decoding method, video encoding program, video decoding program
CN103636216B (en) * 2011-06-29 2017-02-08 日本电信电话株式会社 video encoding device, video decoding device, video encoding method and video decoding method
JP2013012894A (en) * 2011-06-29 2013-01-17 Nippon Telegr & Teleph Corp <Ntt> Moving image encoder, moving image decoder, moving image encoding method, moving image decoding method, moving image encoding program, and moving image decoding program
US10887585B2 (en) 2011-06-30 2021-01-05 Sun Patent Trust Image decoding method, image coding method, image decoding apparatus, image coding apparatus, and image coding and decoding apparatus
US10440387B2 (en) 2011-08-03 2019-10-08 Sun Patent Trust Video encoding method, video encoding apparatus, video decoding method, video decoding apparatus, and video encoding/decoding apparatus
US9456214B2 (en) 2011-08-03 2016-09-27 Sun Patent Trust Moving picture coding method, moving picture coding apparatus, moving picture decoding method, moving picture decoding apparatus, and moving picture coding and decoding apparatus
US10284872B2 (en) 2011-08-03 2019-05-07 Sun Patent Trust Video encoding method, video encoding apparatus, video decoding method, video decoding apparatus, and video encoding/decoding apparatus
US10129561B2 (en) 2011-08-03 2018-11-13 Sun Patent Trust Video encoding method, video encoding apparatus, video decoding method, video decoding apparatus, and video encoding/decoding apparatus
US11979598B2 (en) 2011-08-03 2024-05-07 Sun Patent Trust Video encoding method, video encoding apparatus, video decoding method, video decoding apparatus, and video encoding/decoding apparatus
US11553202B2 (en) 2011-08-03 2023-01-10 Sun Patent Trust Video encoding method, video encoding apparatus, video decoding method, video decoding apparatus, and video encoding/decoding apparatus
US11647208B2 (en) 2011-10-19 2023-05-09 Sun Patent Trust Picture coding method, picture coding apparatus, picture decoding method, and picture decoding apparatus
US11218708B2 (en) 2011-10-19 2022-01-04 Sun Patent Trust Picture decoding method for decoding using a merging candidate selected from a first merging candidate derived using a first derivation process and a second merging candidate derived using a second derivation process
JP2018082451A (en) * 2011-11-07 2018-05-24 インフォブリッジ ピーティーイー. エルティーディー. Image decoding method in amvp mode
JP2019169973A (en) * 2011-11-07 2019-10-03 インフォブリッジ ピーティーイー. エルティーディー. Video decoding method in AMVP mode
JP2014161041A (en) * 2014-03-31 2014-09-04 Toshiba Corp Moving image coding method and moving image decoding method
JP2015084588A (en) * 2015-01-06 2015-04-30 株式会社東芝 Moving image encoding method and moving image decoding method
RU2615677C1 (en) * 2015-10-30 2017-04-06 Кабусики Кайся Тосиба Images encoding method and images decoding method
JP2020048208A (en) * 2019-11-28 2020-03-26 株式会社東芝 Moving image encoding method and moving image decoding method

Similar Documents

Publication Publication Date Title
JP2008283490A (en) Moving image encoding device, method and program, and moving image decoding device, method and program
AU2019204853B2 (en) Image predictive encoding device, image predictive encoding method, image predictive encoding program, image predictive decoding device, image predictive decoding method, and image predictive decoding program
JP7085044B2 (en) Image prediction decoding method
JP5188875B2 (en) Image predictive encoding device, image predictive decoding device, image predictive encoding method, image predictive decoding method, image predictive encoding program, and image predictive decoding program
KR20080064982A (en) Image prediction encoding device, image prediction decoding device, image prediction encoding method, image prediction decoding method, image prediction encoding program, and image prediction decoding program
JP2007129370A (en) Motion vector detecting apparatus and method
JP5677576B2 (en) Video decoding method and video encoding method
KR101866440B1 (en) Image predict coding device, image predict coding method, image predict coding program, image predict decoding device, image predict decoding method, and image predict decoding program
JP5638581B2 (en) Moving picture coding apparatus, method and program, and moving picture decoding apparatus, method and program
JP5957513B2 (en) Video decoding method
JP2013106313A (en) Image decoder, image decoding method and image decoding program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100506

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110502

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120718

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120724

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20121113