JP2012186760A - Video decoding device, video decoding method, and video decoding program - Google Patents

Video decoding device, video decoding method, and video decoding program Download PDF

Info

Publication number
JP2012186760A
JP2012186760A JP2011050121A JP2011050121A JP2012186760A JP 2012186760 A JP2012186760 A JP 2012186760A JP 2011050121 A JP2011050121 A JP 2011050121A JP 2011050121 A JP2011050121 A JP 2011050121A JP 2012186760 A JP2012186760 A JP 2012186760A
Authority
JP
Japan
Prior art keywords
motion vector
predetermined range
prediction block
block
prediction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2011050121A
Other languages
Japanese (ja)
Inventor
Katsuyoshi Nishitani
勝義 西谷
Motoharu Ueda
基晴 上田
Kazumi Arakage
和美 荒蔭
Hideki Takehara
英樹 竹原
Shigeru Fukushima
茂 福島
Toru Kumakura
徹 熊倉
Hiroya Nakamura
博哉 中村
Satoshi Sakazume
智 坂爪
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.)
JVCKenwood Corp
Original Assignee
JVCKenwood Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by JVCKenwood Corp filed Critical JVCKenwood Corp
Priority to JP2011050121A priority Critical patent/JP2012186760A/en
Publication of JP2012186760A publication Critical patent/JP2012186760A/en
Withdrawn legal-status Critical Current

Links

Images

Abstract

PROBLEM TO BE SOLVED: To solve the program that, when a motion vector of a block at the same position as that in another picture is used as a candidate of a predictive motion vector, since it is necessary to record the motion vector of another picture that has already been decoded in a memory of a decoding device, the data amount of motion vectors becomes huge, and an additional memory becomes indispensable, so that cost increases.SOLUTION: A motion vector compression/decompression unit 209, before starting decoding of the next picture, extracts motion vectors recorded in a memory, and selects one motion vector from among plural motion vectors in a predetermined range as a representative value of the predetermined range, thereby reducing the storage capacity for motion vectors occupied in the memory. The predetermined range is designated at the time of encoding, and data structure stored as information is also defined in an encoded bit stream, so that reduction of motion vectors similar to that in encoding is also enabled in decoding.

Description

本発明は、動画像の復号技術に関し、特に動き補償予測を利用した動画像の復号技術に関する。   The present invention relates to a moving picture decoding technique, and more particularly to a moving picture decoding technique using motion compensated prediction.

MPEG(Moving Picture coding Experts Group)に代表される、ピクチャを矩形ブロックに分割し、ピクチャ間でブロック単位に動き推定、補償を行う動画像符号化方式では、各ブロックで生成される動きベクトルの符号量を削減する為に、動きベクトルに対して予測処理が行われる。MPEG-2では、マクロブロック単位に検出される動きベクトルは、直前に符号化されたマクロブロックの動きベクトルとの差分がとられ、その差分ベクトルを符号化することで、符号量を削減している。MPEG-4 AVC / H.264では、動きベクトルが周囲の隣接ブロックの動きベクトルと強い相関があることを利用して、周囲の隣接ブロックからの予測を行い、その差分ベクトルを符号化することによって符号量を削減している。具体的には、図1に示されるように、周囲の隣接ブロックの動きベクトルから中央値を算出し、その中央値との差分をとることで動きベクトルの予測を実現している。但し、図2のように符号化対象ブロックと隣接ブロックとの形状が異なる場合は、左隣に複数の隣接ブロックがある時はその中の一番上のブロックを、上に複数の隣接ブロックがある時はその中の一番左のブロックを予測ブロックとし、図3のように符号化対象ブロックが2N×N画素或いはN×2N画素で分割される場合は、中央値ではなく、動き補償ブロックサイズに応じて図3に示されるように予測ブロックを決定し、その動きベクトルから予測を実施する。   In a moving picture coding method that divides a picture into rectangular blocks, represented by MPEG (Moving Picture coding Experts Group), and performs motion estimation and compensation between blocks, the coding of the motion vector generated in each block In order to reduce the amount, a prediction process is performed on the motion vector. In MPEG-2, the motion vector detected in units of macroblocks is taken as the difference from the motion vector of the macroblock encoded immediately before, and the amount of code is reduced by encoding the difference vector. Yes. In MPEG-4 AVC / H.264, by using the fact that motion vectors have a strong correlation with the motion vectors of neighboring neighboring blocks, prediction from neighboring neighboring blocks is performed, and the difference vector is encoded. The code amount is reduced. Specifically, as shown in FIG. 1, a median value is calculated from motion vectors of neighboring neighboring blocks, and a motion vector prediction is realized by taking a difference from the median value. However, when the shape of the encoding target block and the adjacent block are different as shown in FIG. 2, when there are a plurality of adjacent blocks on the left side, the top block among them is shown, and the plurality of adjacent blocks are shown above. In some cases, the leftmost block is a prediction block, and if the block to be encoded is divided by 2N × N pixels or N × 2N pixels as shown in FIG. A prediction block is determined according to the size as shown in FIG. 3, and prediction is performed from the motion vector.

ISO/IEC 13818-2 Information technology -- Generic coding of moving pictures and associated audio information: VideoISO / IEC 13818-2 Information technology-Generic coding of moving pictures and associated audio information: Video ISO/IEC 14496-10 Information technology -- Coding of audio-visual objects -- Part 10: Advanced Video CodingISO / IEC 14496-10 Information technology-Coding of audio-visual objects-Part 10: Advanced Video Coding

従来の動きベクトルの予測方法では、予測の為の動きベクトルが1つしかないので、予測が当たらないと、動きベクトルの差分が大きくなり、発生符号量が増加する課題があった。この課題を解決する為に、ISO/IEC及びITU-Tにおける動画像符号化の規格作業の中で新たな動きベクトルの予測手法が検討されている。この手法は、符号化済みの周囲の隣接ブロックの動きベクトル及び符号化済みの時間が異なる別のピクチャの同一位置のブロックの動きベクトルについて、それぞれを予測動きベクトルの候補として適用した場合の発生符号量を評価する基準としている。図4に予測動きベクトルの候補となる隣接ブロックの一例を示す。図4(a)は同一ピクチャ内の隣接ブロックの例であり、処理対象のブロックの左側に隣接するブロックA0からA3の中から1つが左の隣接ブロックとして選択され、上側に隣接するブロックB0からB5の中から1つが上の隣接ブロックとして選択される。図4(b)は時間が異なる別のピクチャの同一位置のブロックの例である。これら3つのブロックの動きベクトルを予測動きベクトルの候補とし、発生符号量が最も小さくなる動きベクトルを予測動きベクトルとして選択し、動きベクトルを選択した隣接ブロックに関する付加情報を必要であれば符号化し伝送するものである。しかしながら、既符号化済みの別のピクチャの動き情報を符号化装置のメモリの記録しておく必要がある為、メモリの増設が不可欠となり、コストが増加する課題があった。動き情報は予測ブロック毎に動き検出で算出されるが、動き検出する予測ブロックのサイズを適応的に変更しても、最小サイズの予測ブロックでの動き検出を想定する必要があるので、メモリには最小サイズ単位に動き情報を保存しておく必要がある。その為、予測ブロックが大きい場合でも、その予測ブロックの1つの動き情報をメモリに保存するのではなく、予測ブロック内部を構成する最小サイズ全てに同一の動き情報を保存することになる。一方、予測動きベクトルの候補を別のピクチャの同一位置のブロックから得るには、動き情報が重複しても予測ブロックの最小サイズ単位でメモリに記録しておく方がメモリへのアクセスがし易い利点もある。その為、予測ブロックのサイズに応じて動き情報をメモリに格納すると、メモリに対する動き情報の使用容量は削減されるが、予測ブロックのアドレスからメモリアドレスへの変換が複雑になり、アクセス効率が低下しまう課題も生じる。   In the conventional motion vector prediction method, since there is only one motion vector for prediction, there is a problem that if the prediction is not successful, the difference between the motion vectors becomes large and the generated code amount increases. In order to solve this problem, a new motion vector prediction method has been studied in the standard work of moving picture coding in ISO / IEC and ITU-T. This method is a generated code when each of the motion vectors of neighboring blocks that have been encoded and the motion vector of a block at the same position of another picture that has been encoded are applied as prediction motion vector candidates. It is a standard for evaluating the quantity. FIG. 4 shows an example of adjacent blocks that are candidates for the motion vector predictor. FIG. 4 (a) is an example of an adjacent block in the same picture. One of the blocks A0 to A3 adjacent to the left side of the block to be processed is selected as the left adjacent block, and the block B0 adjacent to the upper side is selected. One of B5 is selected as the upper adjacent block. FIG. 4B is an example of a block at the same position in another picture with different time. The motion vectors of these three blocks are used as prediction motion vector candidates, the motion vector with the smallest generated code amount is selected as the prediction motion vector, and additional information related to the adjacent block for which the motion vector is selected is encoded and transmitted if necessary. To do. However, since it is necessary to record the motion information of another already encoded picture in the memory of the encoding device, it is indispensable to add the memory, and there is a problem that the cost increases. Although motion information is calculated by motion detection for each prediction block, even if the size of the prediction block for motion detection is adaptively changed, it is necessary to assume motion detection in the prediction block of the minimum size. Needs to store motion information in minimum size units. Therefore, even when the prediction block is large, one motion information of the prediction block is not stored in the memory, but the same motion information is stored in all the minimum sizes constituting the prediction block. On the other hand, in order to obtain prediction motion vector candidates from a block at the same position in another picture, it is easier to access the memory if it is recorded in the memory in the minimum size unit of the prediction block even if motion information is duplicated. There are also advantages. Therefore, if motion information is stored in the memory according to the size of the prediction block, the use capacity of the motion information for the memory is reduced, but the conversion from the prediction block address to the memory address becomes complicated and the access efficiency decreases. The problem which ends.

以上の点を鑑みて、本発明は、既復号済みの別のピクチャの動き情報、特に動きベクトルに関して、所定範囲内にある複数の動きベクトルの中から1つの動きベクトルをその所定範囲の代表値として選出することで、メモリの中に占める動きベクトルの記憶容量を削減させる技術を提供することを目的とする。本発明では、所定範囲内の中を占める領域の大きい予測ブロックを判定し、その動きベクトルを代表値とすることで、別のピクチャから得られる予測動きベクトルの精度を向上させて、符号化効率を改善させる。   In view of the above points, the present invention relates to motion information of another picture that has already been decoded, in particular, a motion vector, and selects one motion vector from a plurality of motion vectors within a predetermined range as a representative value of the predetermined range. It is an object of the present invention to provide a technique for reducing the storage capacity of motion vectors in the memory. In the present invention, a prediction block having a large area occupying within a predetermined range is determined, and the motion vector is used as a representative value, thereby improving the accuracy of a prediction motion vector obtained from another picture and encoding efficiency. Improve.

そこで、上記課題を解決するために本発明は以下の装置、方法、およびプログラムを提供するものである。
(1) 動画像の各ピクチャを分割したブロック単位で動きベクトルを用いて前記動画像が符号化されたビットストリームを復号する動画像復号化装置であって、
前記ビットストリームから所定範囲内の前記ブロック単位で復号された動きベクトルを含む動き情報とともに、前記ビットストリームから復号された前記所定範囲内の前記ブロックの属する予測ブロックの大きさを表すパラメータを用いて、前記所定範囲内を占める領域の大きい予測ブロックを判定し、判定された前記予測ブロックの動きベクトルを前記所定範囲の代表値としてメモリに格納するとともに、次のピクチャの復号時に前記所定範囲の大きさと前記予測ブロックの位置により前記メモリから前記動きベクトルの代表値を選択する動きベクトル圧縮伸張部と、
前記動きベクトル圧縮伸張部にて選択された前記動きベクトルの代表値を予測動きベクトルの候補に用いて予測動きベクトルを復号する予測動きベクトル選択部と、
を具備することを特徴とする動画像復号化装置。
(2) 上記(1)に記載の動画像復号化装置において、
前記予測ブロックは前記分割したブロックを1個或いは複数個有する矩形の画素領域であって、同一の動き情報及び予測ブロックの大きさを表すパラメータを備えるように分割されることを特徴とする動画像復号化装置。
(3) 上記(1)に記載の動画像復号化装置において、
前記分割したブロックには、前記動き情報として、動きベクトル以外に、参照ピクチャ番号、予測モードが格納され、前記分割したブロックが属する前記予測ブロックの大きさを表すパラメータとして、前記予測ブロックのサイズに至るまでの分割数と前記予測ブロックの形状とを示す分割モードが格納されることを特徴とする動画像復号化装置。
(4) 上記(1)に記載の動画像復号化装置において、
所定範囲は前記メモリ内をピクチャと対応するように二次元に配列した前記動きベクトルのデータ列を均等に分割する正方矩形配列で定義され、前記正方矩形配列の辺長として前記分割したブロックの個数を表すパラメータをビットストリームより復号化して得ることを特徴とする動画像復号化装置。
(5) 上記(1)に記載の動画像復号化装置において、
前記動きベクトル圧縮伸張部は、前記所定範囲で複数の予測ブロックが選択候補として残った場合に、復号された順番が先の予測ブロックを優先して、前記予測ブロックの動きベクトルを代表値として選択することを特徴とする動画像復号化装置。
(6) 上記(1)に記載の動画像復号化装置において、
前記動きベクトル圧縮伸張部は、前記所定範囲で複数の予測ブロックが選択候補として残った場合に、前記所定範囲の中央に近い位置にある予測ブロックを優先して、前記予測ブロックの動きベクトルを代表値として選択することを特徴とする動画像復号化装置。
(7) 上記(1)に記載の動画像復号化装置において、
前記動きベクトル圧縮伸張部は、前記所定範囲の中央に配置された複数のブロックの動き情報と予測ブロックの大きさを表すパラメータに基づいて、前記複数のブロックが属する予測ブロックの大きさが最も大きいブロックの動きベクトルを代表値として選択することを特徴とする動画像復号化装置。
(8) 上記(1)に記載の動画像復号化装置において、
前記動きベクトル圧縮伸張部は、予め前記所定範囲の大きさに基づいて動きベクトルの選択の判定を実施する最小判定範囲を定め、前記所定範囲内の予測ブロックが前記最小判定範囲以上の大きさである場合に前記予測ブロックの動きベクトルを代表値として選択し、判定処理を終了することを特徴とする動画像復号化装置。
(9) 動画像の各ピクチャを分割したブロック単位で動きベクトルを用いて前記動画像が符号化されたビットストリームを復号する動画像復号化方法であって、
前記ビットストリームから所定範囲内の前記ブロック単位で復号された動きベクトルを含む動き情報とともに、前記ビットストリームから復号された前記所定範囲内の前記ブロックの属する予測ブロックの大きさを表すパラメータを用いて、前記所定範囲内を占める領域の大きい予測ブロックを判定し、判定された前記予測ブロックの動きベクトルを前記所定範囲の代表値としてメモリに格納するとともに、次のピクチャの復号時に前記所定範囲の大きさと前記予測ブロックの位置により前記メモリから前記動きベクトルの代表値を選択する動きベクトル圧縮伸張ステップと、
前記動きベクトル圧縮伸張ステップにて選択された前記動きベクトルの代表値を予測動きベクトルの候補に用いて予測動きベクトルを復号する予測動きベクトル選択ステップと、
を具備することを特徴とする動画像復号化方法。
(10) 動画像の各ピクチャを分割したブロック単位で動きベクトルを用いて前記動画像が符号化されたビットストリームを復号する動作をコンピュータに実行させる動画像復号化プログラムであって、
前記ビットストリームから所定範囲内の前記ブロック単位で復号された動きベクトルを含む動き情報とともに、前記ビットストリームから復号された前記所定範囲内の前記ブロックの属する予測ブロックの大きさを表すパラメータを用いて、前記所定範囲内を占める領域の大きい予測ブロックを判定し、判定された前記予測ブロックの動きベクトルを前記所定範囲の代表値としてメモリに格納するとともに、次のピクチャの復号時に前記所定範囲の大きさと前記予測ブロックの位置により前記メモリから前記動きベクトルの代表値を選択する動きベクトル圧縮伸張ステップと、
前記動きベクトル圧縮伸張ステップにて選択された前記動きベクトルの代表値を予測動きベクトルの候補に用いて予測動きベクトルを復号する予測動きベクトル選択ステップと、
をコンピュータに実行させる動画像復号化プログラム。
In order to solve the above problems, the present invention provides the following apparatus, method, and program.
(1) A moving picture decoding apparatus for decoding a bitstream in which the moving picture is encoded using a motion vector in units of blocks obtained by dividing each picture of the moving picture,
Using motion information including a motion vector decoded in units of blocks within a predetermined range from the bitstream, and using a parameter indicating the size of a prediction block to which the block within the predetermined range decoded from the bitstream belongs Determining a prediction block having a large area occupying the predetermined range, storing the determined motion vector of the prediction block in a memory as a representative value of the predetermined range, and at the time of decoding the next picture, A motion vector compression / decompression unit that selects a representative value of the motion vector from the memory according to the position of the prediction block;
A predicted motion vector selection unit that decodes a predicted motion vector using a representative value of the motion vector selected by the motion vector compression / decompression unit as a candidate for a predicted motion vector;
A moving picture decoding apparatus comprising:
(2) In the video decoding device according to (1) above,
The prediction block is a rectangular pixel area having one or a plurality of the divided blocks, and is divided so as to have the same motion information and a parameter representing the size of the prediction block. Decryption device.
(3) In the video decoding device according to (1) above,
In the divided block, a reference picture number and a prediction mode are stored as the motion information in addition to a motion vector, and the parameter indicating the size of the prediction block to which the divided block belongs is set as the size of the prediction block. A moving picture decoding apparatus, wherein a division mode indicating the number of divisions up to and a shape of the prediction block is stored.
(4) In the video decoding device according to (1) above,
The predetermined range is defined by a square rectangular array that equally divides the motion vector data array arranged two-dimensionally so as to correspond to the picture in the memory, and the number of blocks divided as the side length of the square rectangular array A video decoding device characterized in that it obtains a parameter representing the above from a bit stream.
(5) In the video decoding device according to (1) above,
The motion vector compression / decompression unit selects a motion vector of the prediction block as a representative value by prioritizing the previous prediction block in decoding order when a plurality of prediction blocks remain as selection candidates in the predetermined range. A moving picture decoding apparatus characterized by:
(6) In the video decoding device according to (1) above,
The motion vector compression / decompression unit represents a motion vector of the prediction block by giving priority to a prediction block located near the center of the predetermined range when a plurality of prediction blocks remain as selection candidates in the predetermined range. A moving picture decoding apparatus characterized by selecting as a value.
(7) In the video decoding device according to (1) above,
The motion vector compression / decompression unit has the largest predicted block size to which the plurality of blocks belong based on motion information of a plurality of blocks arranged in the center of the predetermined range and a parameter representing the size of the predicted block. A moving picture decoding apparatus, wherein a motion vector of a block is selected as a representative value.
(8) In the video decoding device according to (1) above,
The motion vector compression / decompression unit previously determines a minimum determination range for performing determination of motion vector selection based on the size of the predetermined range, and a prediction block in the predetermined range is larger than the minimum determination range. In some cases, the motion decoding apparatus is characterized in that the motion vector of the prediction block is selected as a representative value, and the determination process is terminated.
(9) A moving picture decoding method for decoding a bitstream in which the moving picture is encoded using a motion vector in units of blocks obtained by dividing each picture of the moving picture,
Using motion information including a motion vector decoded in units of blocks within a predetermined range from the bitstream, and using a parameter indicating the size of a prediction block to which the block within the predetermined range decoded from the bitstream belongs Determining a prediction block having a large area occupying the predetermined range, storing the determined motion vector of the prediction block in a memory as a representative value of the predetermined range, and at the time of decoding the next picture, And a motion vector compression / decompression step for selecting a representative value of the motion vector from the memory according to the position of the prediction block;
A predicted motion vector selection step of decoding a predicted motion vector using a representative value of the motion vector selected in the motion vector compression / decompression step as a predicted motion vector candidate;
A moving picture decoding method comprising:
(10) A moving picture decoding program for causing a computer to execute an operation of decoding a bitstream in which the moving picture is encoded using a motion vector in units of blocks obtained by dividing each picture of the moving picture,
Using motion information including a motion vector decoded in units of blocks within a predetermined range from the bitstream, and using a parameter indicating the size of a prediction block to which the block within the predetermined range decoded from the bitstream belongs Determining a prediction block having a large area occupying the predetermined range, storing the determined motion vector of the prediction block in a memory as a representative value of the predetermined range, and at the time of decoding the next picture, And a motion vector compression / decompression step for selecting a representative value of the motion vector from the memory according to the position of the prediction block;
A predicted motion vector selection step of decoding a predicted motion vector using a representative value of the motion vector selected in the motion vector compression / decompression step as a predicted motion vector candidate;
Is a moving picture decoding program for causing a computer to execute.

本発明によれば、既復号済みの別のピクチャの動きベクトルに関して、所定範囲内にある複数の動きベクトルの中から1つの動きベクトルをその所定範囲の代表値として選出しメモリに格納することで、メモリの中に占める動きベクトルの記憶容量を削減させることが出来る。   According to the present invention, with respect to a motion vector of another picture that has already been decoded, one motion vector is selected as a representative value of the predetermined range from a plurality of motion vectors within the predetermined range, and stored in the memory. The storage capacity of motion vectors in the memory can be reduced.

従来の周辺の隣接ブロックから予測動きベクトルの求め方を説明する図である。It is a figure explaining how to obtain a predicted motion vector from conventional neighboring blocks. 従来の隣接ブロックの形状が異なる場合の予測動きベクトルの求め方を説明する図である。It is a figure explaining the calculation method of the prediction motion vector in case the shape of the conventional adjacent block differs. 従来の符号化対象ブロックの形状が2N×N或いはN×2Nの場合の予測動きベクトルの求め方を説明する図である。It is a figure explaining how to obtain a prediction motion vector when the shape of a conventional encoding target block is 2N × N or N × 2N. 動きベクトルの予測において、周辺の隣接ブロック及び別ピクチャの同一位置のブロックから予測動きベクトルの候補を選出する動作を説明する為の図である。In motion vector prediction, it is a figure for demonstrating the operation | movement which selects the candidate of a motion vector predictor from the adjacent block of a periphery, and the block of the same position of another picture. 実施例における動きベクトルの選出方法を具備した動画像符号化装置の構成を示すブロック図である。It is a block diagram which shows the structure of the moving image encoder which comprised the selection method of the motion vector in an Example. 実施例における動きベクトルの選出方法を具備した動画像復号化装置の構成を示すブロック図である。It is a block diagram which shows the structure of the moving image decoding apparatus which comprised the selection method of the motion vector in an Example. 実施例における符号化ブロックの定義を説明する為の図である。It is a figure for demonstrating the definition of the encoding block in an Example. 実施例における予測ブロックの形状の種類を説明する為の図である。It is a figure for demonstrating the kind of shape of the prediction block in an Example. 実施例におけるCUパーティションの形状の種類を説明する為の図である。It is a figure for demonstrating the kind of shape of the CU partition in an Example. 実施例における動きベクトルの選出方法にて選出された動きベクトルの保存形式を説明する図である。It is a figure explaining the preservation | save format of the motion vector selected by the selection method of the motion vector in an Example. 実施例における動きベクトルの選出方法を実行するか否かを決定するビットストリームのシンタックスパターンを示す図である。It is a figure which shows the syntax pattern of the bit stream which determines whether the motion vector selection method in an Example is performed. 実施例における動きベクトルの選出方法を具備した動画像符号化装置及び動画像復号化装置の動きベクトル圧縮伸張部の動作を説明する為の詳細な構成を示すブロック図である。It is a block diagram which shows the detailed structure for demonstrating operation | movement of the motion vector compression / decompression part of the moving image encoder which provided the motion vector selection method in an Example, and a moving image decoder. 実施例における動きベクトルの選出方法の処理対象となる予測ブロックの位置を説明する為の図である。It is a figure for demonstrating the position of the prediction block used as the process target of the selection method of the motion vector in an Example. 実施例における動きベクトルの選出方法を具備した動画像符号化装置及び動画像復号化装置の動きベクトル圧縮部の動作を説明する為の詳細な構成を示すブロック図である。It is a block diagram which shows the detailed structure for demonstrating operation | movement of the motion vector compression part of the moving image encoder which provided the motion vector selection method in an Example, and a moving image decoder. 実施例における動きベクトルの選出方法で設定された所定範囲内の最小予測ブロック単位にメモリに記録されるdepth及びpartModeの一例を説明する図である。It is a figure explaining an example of depth and partMode recorded on a memory in the minimum prediction block unit in the predetermined range set with the selection method of the motion vector in an example. 動きベクトルの選出方法の第1実施例の動作を説明する為のフローチャートである。6 is a flowchart for explaining the operation of the first embodiment of the motion vector selection method; 実施例における動きベクトルの選出方法で設定された所定範囲とその内部の最小予測ブロックの配置を説明する図である。It is a figure explaining arrangement | positioning of the predetermined range set with the selection method of the motion vector in an Example, and the minimum prediction block inside it. 実施例における動きベクトルの選出方法で定義される最大符号化ブロックとその内部を分割して配置されるブロックの構成を説明する為の図である。It is a figure for demonstrating the structure of the block by which the largest encoding block defined with the selection method of the motion vector in an Example and the inside are divided | segmented. 動きベクトルの選出方法の第1実施例の2分割選択判定の動作を説明する為のフローチャートである。6 is a flowchart for explaining an operation of two-division selection determination in the first embodiment of the motion vector selection method. 実施例における動きベクトルの選出方法で定義される最小符号化ブロック内部の分割の一例を説明する為の図である。It is a figure for demonstrating an example of the division | segmentation inside the minimum coding block defined with the selection method of the motion vector in an Example. 動きベクトルの選出方法の第1実施例において、所定範囲内で選択される最小予測ブロックの位置を説明する為の図である。FIG. 6 is a diagram for explaining the position of a minimum prediction block selected within a predetermined range in the first embodiment of the motion vector selection method. 動きベクトルの選出方法の第1実施例の4分割選択判定の動作を説明する為のフローチャートである。4 is a flowchart for explaining an operation of 4-division selection determination in the first embodiment of the motion vector selection method; 実施例における動きベクトルの選出方法で使用される分割モードのインデックスを定義するテーブルである。It is a table which defines the index of the division | segmentation mode used with the selection method of the motion vector in an Example. 動きベクトルの選出方法の第2実施例において、所定範囲内で選択される最小予測ブロックの位置を説明する為の図である。FIG. 10 is a diagram for explaining the position of the minimum prediction block selected within a predetermined range in the second embodiment of the motion vector selection method. 動きベクトルの選出方法の第2実施例において、所定範囲の中の最小符号化ブロックの位置と最小符号化ブロックの分割モードから選択される最小予測ブロックの位置を指定するテーブルである。FIG. 10 is a table for designating a position of a minimum coding block within a predetermined range and a position of a minimum prediction block selected from a division mode of the minimum coding block in the second embodiment of the motion vector selection method. 動きベクトルの選出方法の第3実施例において、所定範囲の中の判定対象となる最小予測ブロックの位置を説明する為の図である。FIG. 10 is a diagram for explaining the position of a minimum prediction block to be determined within a predetermined range in the third embodiment of the motion vector selection method. 動きベクトルの選出方法の第3実施例の所定範囲内の4個の最小予測ブロックから代表値を選出する動作を説明する為のフローチャートである。12 is a flowchart for explaining an operation of selecting a representative value from four minimum prediction blocks within a predetermined range of the third embodiment of the motion vector selection method. 動きベクトルの選出方法の第4実施例において、分割された所定範囲から第1実施例を適用した場合の最小予測ブロックを選択する一例を説明する為の図である。FIG. 20 is a diagram for describing an example of selecting a minimum prediction block when the first embodiment is applied from a predetermined divided range in the fourth embodiment of the motion vector selection method. 動きベクトルの選出方法の第4実施例の動作を説明する為のフローチャートである。10 is a flowchart for explaining the operation of a fourth embodiment of the motion vector selection method.

本発明の実施例である動画像符号化装置及び動画像復号化装置について説明する。図5は実施例の動画像符号化装置の構成を示すブロックであり、ピクチャ間でブロック単位にマッチングを行い動きベクトルを検出する動きベクトル検出部101、符号化する画像と予測画像との引き算を行い残差信号を生成する減算部102、残差信号に対して直交変換及び量子化を行い変換信号を生成する直交変換・量子化部103、エントロピー符号化を行う可変長符号化部104、変換信号を逆量子化及び逆直交変換して元の残差信号に戻す逆量子化・逆直交変換部105、動きベクトルを用いて予測画像を生成する動き補償部106、適応的に重み係数を掛け算して予測画像生成する重み付き予測部107、予測画像と残差信号を加算して復号画像を生成する加算部108、符号化によるブロック歪を減少させるデブロッキング・フィルタ部109、復号画像や既に符号化された画像の情報を記憶しておくメモリ110、既に符号化された画像の動き情報により最適な予測動きベクトルを選択する予測動きベクトル選択部111及びメモリ110に記録された動きベクトルの選出を行う動きベクトル圧縮伸張部112を備えるものである。   A video encoding device and a video decoding device that are embodiments of the present invention will be described. FIG. 5 is a block diagram illustrating a configuration of the moving image encoding apparatus according to the embodiment. The motion vector detecting unit 101 that detects a motion vector by performing matching between pictures in units of blocks, and subtracts an image to be encoded and a predicted image. A subtractor 102 that generates a residual signal, an orthogonal transform and quantization unit 103 that performs orthogonal transform and quantization on the residual signal, and a variable-length encoding unit 104 that performs entropy encoding, a transform Inverse quantization / inverse orthogonal transform unit 105 that returns the original residual signal by inverse quantization and inverse orthogonal transform of the signal, motion compensation unit 106 that generates a prediction image using a motion vector, and adaptively multiplying the weight coefficient A weighted prediction unit 107 that generates a predicted image, an adder unit 108 that generates a decoded image by adding the predicted image and the residual signal, a deblocking filter unit 109 that reduces block distortion due to encoding, Coding A memory 110 for storing information on the recorded image, a motion vector selector 111 that selects an optimal motion vector predictor based on motion information of an already encoded image, and a motion vector recorded in the memory 110 is selected. A motion vector compression / decompression unit 112 is provided.

図6は図5の動画像符号化装置に対応した本発明の実施例の動画像復号化装置の構成を示すブロックであり、ビットストリームを復号化して各種情報を出力する可変長復号化部201、逆量子化・逆直交変換部202、動き補償部203、重み付き予測部204、加算部205、デブロッキング・フィルタ部206、メモリ207、予測動きベクトル選択部208及び動きベクトル圧縮伸張部209を備えるものである。動画像復号化装置の202から209の各部は、動画像符号化部の内部に設けられている復号化過程と対応しているので、動画像符号化装置の105から112の各部とそれぞれ対応する機能を有するものである。   FIG. 6 is a block diagram showing a configuration of a moving picture decoding apparatus according to an embodiment of the present invention corresponding to the moving picture encoding apparatus of FIG. 5, and a variable length decoding unit 201 that decodes a bit stream and outputs various information. An inverse quantization / inverse orthogonal transform unit 202, a motion compensation unit 203, a weighted prediction unit 204, an addition unit 205, a deblocking filter unit 206, a memory 207, a predicted motion vector selection unit 208, and a motion vector compression / decompression unit 209. It is to be prepared. Each unit 202 to 209 of the video decoding device corresponds to a decoding process provided inside the video encoding unit, and therefore corresponds to each unit 105 to 112 of the video encoding device. It has a function.

実施例での動きベクトルのメモリに占める記憶容量を削減する動きベクトルの選出方法は、動画像符号化装置の動きベクトル圧縮伸張部112及び動画像復号化装置の動きベクトル圧縮伸張部209の中で実施される。動画像符号化装置の動きベクトル圧縮伸張部112では、1ピクチャの符号化が終了し、参照ピクチャとして使用される復号化されたピクチャを記録すると同時に、そのピクチャのブロック単位に備える動きベクトルを符号化時に指定される所定範囲毎にメモリ110から抽出し、その所定範囲の中に含まれる複数の動きベクトルの中から代表値が選出され、メモリ110に再度記録される。予測動きベクトル選択部111にて予測動きベクトルの候補として参照ピクチャの動きベクトルを参照する際に、処理対象のブロックと同一位置のブロックに当たる所定範囲のアドレスを算出し、メモリ110から該当する所定範囲の動きベクトルを読み出される。既に符号化済みの同一ピクチャの周囲の隣接ブロックの動きベクトルともに予測動きベクトル選択部111に入力され、その中から最も発生符号量が少ない動きベクトルが予測動きベクトルとして選択される。一方、動画像復号化装置の動きベクトル圧縮伸張部209も同様に、ビットストリームから復号化されたピクチャを次のピクチャの復号化の為の参照ピクチャとして記録すると同時に、そのピクチャのブロック単位に備える動きベクトルを所定範囲毎にメモリ207から抽出し、その所定範囲の中に含まれる複数の動きベクトルの中から代表値が選出され、メモリ207に再度記録される。ここで、所定範囲はビットストリームから復号化された所定範囲を示す情報により算出される。予測動きベクトル選択部208にて予測動きベクトルの候補として参照ピクチャの動きベクトルを参照する際に、処理対象のブロックと同一位置のブロックに当たる所定範囲のアドレスを算出し、メモリ207から該当する所定範囲の動きベクトルを読み出される。復号化された同一ピクチャの周囲の隣接ブロックの動きベクトルともに予測動きベクトル選択部111に入力され、その中から最も発生符号量が少ない動きベクトルが予測動きベクトルとして選択される。   The motion vector selection method for reducing the storage capacity of the motion vector in the memory according to the embodiment is the motion vector compression / expansion unit 112 of the video encoding device and the motion vector compression / expansion unit 209 of the video decoding device. To be implemented. The motion vector compressing / decompressing unit 112 of the moving image encoding apparatus finishes encoding one picture, records a decoded picture used as a reference picture, and simultaneously encodes a motion vector provided for each block of the picture. Each predetermined range designated at the time of conversion is extracted from the memory 110, representative values are selected from a plurality of motion vectors included in the predetermined range, and recorded in the memory 110 again. When referring to a motion vector of a reference picture as a motion vector predictor candidate in the motion vector predictor selection unit 111, an address of a predetermined range corresponding to a block at the same position as the block to be processed is calculated, and the corresponding predetermined range from the memory 110 Are read out. The motion vectors of adjacent blocks around the same picture that have already been encoded are input to the predicted motion vector selection unit 111, and the motion vector with the smallest generated code amount is selected as the predicted motion vector. On the other hand, the motion vector compression / decompression unit 209 of the moving picture decoding apparatus similarly records a picture decoded from the bit stream as a reference picture for decoding the next picture, and at the same time prepares for a block unit of the picture. A motion vector is extracted from the memory 207 for each predetermined range, a representative value is selected from a plurality of motion vectors included in the predetermined range, and is recorded in the memory 207 again. Here, the predetermined range is calculated from information indicating the predetermined range decoded from the bitstream. When the motion vector of the reference picture is referred to as a motion vector predictor candidate by the motion vector predictor selection unit 208, an address of a predetermined range corresponding to a block at the same position as the block to be processed is calculated, and the corresponding predetermined range from the memory 207 is calculated. Are read out. The motion vectors of adjacent blocks around the decoded same picture are input to the predicted motion vector selection unit 111, and the motion vector with the smallest generated code amount is selected as the predicted motion vector.

このように、所定範囲は符号化時に指定し、符号化されたビットストリームの中にも情報として格納されるデータ構造を定義するので、復号化においても符号化と同様の動きベクトルの削減が可能となる。所定範囲は動き情報が保存される予測ブロックの最小サイズより大きくなり、本来存在した動きベクトルが無くなるので、予測動きベクトルとして選択された場合に本来の動きベクトルよりも符号化効率が低下することが考えられるが、本発明では、所定範囲内の中を占める領域の大きい予測ブロックを判定し、その動きベクトルを代表値とすることで、別のピクチャから得られる予測動きベクトルの精度を向上させて、符号化効率の低下を回避させる。   In this way, the predetermined range is specified at the time of encoding, and the data structure stored as information is also defined in the encoded bit stream, so that the motion vectors can be reduced in the same way as in encoding. It becomes. Since the predetermined range is larger than the minimum size of the prediction block in which motion information is stored and there is no motion vector that originally existed, the encoding efficiency may be lower than the original motion vector when selected as a prediction motion vector. In the present invention, it is possible to improve the accuracy of a prediction motion vector obtained from another picture by determining a prediction block having a large area occupying within a predetermined range and using the motion vector as a representative value. , Avoiding a decrease in encoding efficiency.

以下の実施例では、動画像符号化装置の動きベクトル圧縮伸張部112及び動画像復号化装置の動きベクトル圧縮伸張部209の中で共通に実施される動きベクトルの選出方法の詳細について説明する。
[実施例]
本発明に係る動きベクトルの選出方法の実施例を説明する前に、本実施例にて使用する用語を定義しておく。
・符号化ブロックの定義
本実施例では、図7に示されるように、画面内を同一サイズの正方の矩形ブロックにて均等分割される。このブロックを符号化ブロックと呼び、符号化及び復号化を行う際の処理の基本となる。符号化ブロックは画面内のテクスチャに応じて、符号化処理を最適にすべく、符号化ブロック内を4分割して、ブロックサイズの小さい符号化ブロックにすることが出来る。図7で示される画面内を均等サイズで分割される符号化ブロックを最大符号化ブロックと呼び、その内部を符号化条件に応じて4分割したものを総じて符号化ブロックとする。符号化ブロックをこれ以上4分割出来ない最小のサイズとなる符号化ブロックを最小符号化ブロックと呼ぶこととする。
・予測ブロックの定義
画面内をブロックに分割して動き補償を行う場合、動き補償のブロックサイズをより小さくした方が、よりきめ細かい予測を行うことが出来ることから、いくつかのブロックサイズの中から最適なものを選択して、ブロック内部を分割して動き補償を行う仕組みを取り入れている。この動き補償を行うブロックを予測ブロックと呼ぶ。予測ブロックは最小符号化ブロックの内部を分割する場合にのみ使用され、動き補償に応じて、最小符号化ブロック内部を分割せず1ブロックとみなす場合を最大とし、水平或いは垂直方向に2分割したもの、水平と垂直の均等分割により4分割したものに分けられる。分割後のサイズに応じて、分割タイプに対応したモードが定義されており、図8に示される。図8中の矩形内部の番号は分割された予測ブロックの番号を表す。最小符号化ブロック内部において、予測ブロックを管理する為に、0から開始する番号が予測ブロックに対してジグザグスキャン順に割り当てられる。
・CUパーティションの定義
最小符号化ブロックよりも大きいサイズの符号化ブロックに対しても、動き補償のブロックサイズをより小さくした方が、よりきめ細かい予測を行うことが出来るので、前述した最小符号化ブロックに適用される予測ブロックと同等の機能を有した動き補償の為の分割が定義される。この分割をCU(Coding Unit:符号化ブロックと同義)パーティションと呼ぶ。図9にCUパーティションによる分割例を示す。符号化ブロックを水平或いは垂直方向に2分割したブロックに対して、予測ブロックと同様に、動き検出・補償を行う。予測ブロックの水平と垂直の均等分割により4分割する場合は、符号化ブロックを4分割して、個々の分割した符号化ブロックに対して動き補償を行う場合と同義であるので、CUパーティションでは定義されない。図9中の矩形内部の番号はCUパーティションで分割されたブロックの番号を表す。
In the following embodiment, details of a motion vector selection method that is commonly performed in the motion vector compression / expansion unit 112 of the video encoding device and the motion vector compression / expansion unit 209 of the video decoding device will be described.
[Example]
Before describing an embodiment of a motion vector selection method according to the present invention, terms used in this embodiment will be defined.
Definition of coding block In this embodiment, as shown in FIG. 7, the screen is equally divided into square rectangular blocks of the same size. This block is called a coding block and is the basis of processing when performing coding and decoding. In order to optimize the encoding process according to the texture in the screen, the encoded block can be divided into four to make the encoded block small in block size. An encoded block in which the screen shown in FIG. 7 is divided into equal sizes is referred to as a maximum encoded block, and the inside of which is divided into four according to the encoding conditions is collectively referred to as an encoded block. An encoded block having a minimum size in which the encoded block cannot be further divided into four is referred to as a minimum encoded block.
・ Definition of prediction block When performing motion compensation by dividing the screen into blocks, the smaller the motion compensation block size, the more detailed prediction can be performed. It adopts a mechanism to select the optimal one and divide the inside of the block to perform motion compensation. A block that performs this motion compensation is called a prediction block. The prediction block is used only when the inside of the minimum coding block is divided, and according to motion compensation, the case where the inside of the minimum coding block is regarded as one block without being divided is maximized and divided into two in the horizontal or vertical direction. Can be divided into four parts by horizontal and vertical equal divisions. A mode corresponding to the division type is defined according to the size after the division, and is shown in FIG. The numbers inside the rectangles in FIG. 8 represent the numbers of the divided prediction blocks. In order to manage the prediction block in the minimum coding block, numbers starting from 0 are assigned to the prediction block in the zigzag scan order.
・ Definition of CU partition Even if the block size of motion compensation is made smaller for a coding block of a size larger than the minimum coding block, more detailed prediction can be performed. A partition for motion compensation having a function equivalent to that of the prediction block applied to is defined. This division is called a CU (Coding Unit: synonymous with coding block) partition. Fig. 9 shows an example of partitioning by CU partition. Similar to the prediction block, motion detection / compensation is performed on the block obtained by dividing the encoded block into two in the horizontal or vertical direction. When the prediction block is divided into four parts by horizontal and vertical equal divisions, it is synonymous with the case where the coded block is divided into four parts and motion compensation is performed for each divided coded block. Not. The numbers inside the rectangles in FIG. 9 represent the numbers of the blocks divided by the CU partition.

以上のように、符号化ブロックを動き検出・補償を行う場合、動き検出・補償の単位としては、符号化ブロック自身のサイズ、符号化ブロックをCUパーティションにより2分割したサイズ、符号化ブロックを4分割した個々の小ブロック、更にその小ブロックを符号化ブロックとして同様に分割することで予測ブロックの最小サイズまで再帰的に得られるサイズのブロックとなる。以下、説明では断らない限り動き検出・補償を行う単位はサイズに関わらず“予測ブロック”とする。   As described above, when motion detection / compensation is performed on an encoded block, the unit of motion detection / compensation is the size of the encoded block itself, the size obtained by dividing the encoded block into two by the CU partition, and 4 encoded blocks. Each divided small block, and further dividing the small block as an encoded block in the same manner, becomes a block of a size that can be obtained recursively up to the minimum size of the prediction block. Hereinafter, unless otherwise specified, the unit for performing motion detection / compensation is a “prediction block” regardless of the size.

次に、動き検出・補償により検出される動きベクトル等の動き情報の記録について説明する。予測ブロック単位に動き検出・補償が行われるが、検出された動きベクトル等の動き情報は予測ブロック単位で記録せず、上で説明した最小予測ブロック単位で記録する。即ち、予測ブロック内部を構成する複数の最小予測ブロックに同一の動き情報を記録するようにする。予測ブロックのサイズは符号化条件によって変わるので、予測ブロック単位にメモリに記録するには、検出された動きベクトルの他に予測ブロックのピクチャ上での位置、予測ブロックの形状等の付加情報が必要になり、動き情報を取得する為のアクセスが複雑化する。その為、情報の重複記録による冗長度はあるが、均一な最小予測ブロック単位に分割し、記録する方がアクセスが容易である。図10はピクチャを最小予測ブロックで分割した一例であり、この図を用いてメモリ110及び207に記録される動き情報の保存形式を説明する。図10中のwはピクチャの幅、hはピクチャの高さを表す。最小予測ブロックの幅及び高さをpとすると、横方向にw/p個、縦方向にh/p個の最小予測ブロックでピクチャは構成されることになり、この1つ1つの最小予測ブロックに対応する動き情報が図10中の太実線で表されるラスタスキャン順にメモリ110及び207に記録される。ここで、図10中の太線で囲まれた矩形領域を予測ブロック(図10中の灰色の領域を示す)とすると、予測ブロックは動き検出により動きベクトル等の動き情報が検出される。検出された動き情報は予測ブロックの中を構成する最小予測ブロックに対応するメモリ110及び207に記録される。メモリ110及び207の動き情報の記録領域の先頭アドレスを図10中の左上を原点とすると、予測ブロックの先頭位置は図10中の黒丸で示され、最小予測ブロック単位で左にx個、下にy個の位置にあるとすると、予測ブロックの先頭アドレスはw/p×y+xで表される。その先頭位置の最小予測ブロックから灰色で示される予測ブロック内の最小予測ブロックに対応するメモリ110及び207に予測ブロックの動き情報を記録していく。このようにして、予測ブロックの中の最小予測ブロックに同じ動き情報をメモリ110及び207に記録する。   Next, recording of motion information such as motion vectors detected by motion detection / compensation will be described. Although motion detection / compensation is performed in units of prediction blocks, motion information such as detected motion vectors is not recorded in units of prediction blocks, but is recorded in units of minimum prediction blocks described above. That is, the same motion information is recorded in a plurality of minimum prediction blocks constituting the prediction block. Since the size of the prediction block varies depending on the encoding condition, additional information such as the position of the prediction block on the picture and the shape of the prediction block is required in addition to the detected motion vector in order to record in the memory in units of the prediction block. This complicates access for obtaining motion information. Therefore, although there is redundancy due to redundant recording of information, it is easier to access by dividing and recording into uniform minimum prediction block units. FIG. 10 shows an example in which a picture is divided into minimum prediction blocks, and the storage format of motion information recorded in the memories 110 and 207 will be described with reference to this figure. In FIG. 10, w represents the width of the picture, and h represents the height of the picture. If the width and height of the minimum prediction block are p, a picture is composed of w / p minimum prediction blocks in the horizontal direction and h / p minimum prediction blocks in the vertical direction. The motion information corresponding to is recorded in the memories 110 and 207 in the raster scan order represented by the thick solid line in FIG. Here, if a rectangular area surrounded by a thick line in FIG. 10 is a prediction block (showing a gray area in FIG. 10), motion information such as a motion vector is detected by motion detection in the prediction block. The detected motion information is recorded in the memories 110 and 207 corresponding to the minimum prediction block constituting the prediction block. When the start address of the motion information recording area in the memories 110 and 207 is the origin in the upper left in FIG. 10, the start position of the prediction block is indicated by a black circle in FIG. If there are y positions, the start address of the prediction block is represented by w / p × y + x. The motion information of the prediction block is recorded in the memories 110 and 207 corresponding to the minimum prediction block in the prediction block shown in gray from the minimum prediction block at the head position. In this way, the same motion information is recorded in the memories 110 and 207 in the smallest prediction block of the prediction blocks.

1ピクチャの符号化終了後に、本発明に係る動きベクトルの選出方法が実施される。メモリ110及び207に記録された動き情報の動きベクトルの圧縮処理が行われ、メモリ使用量が削減される。圧縮処理された動きベクトルは、次のピクチャの符号化の動きベクトルの予測において、時間が異なる参照ピクチャの同一位置のブロックの動きベクトルを予測動きベクトルの候補として使用される。本発明に係る動きベクトルの選出方法は、メモリ110及び207に記録された動き情報の動きベクトルを所定範囲毎に抽出し、その中から代表値を選出して、メモリ110及び207に再度記録する。本発明の動きベクトルの選出判定を実施する所定範囲は次に説明するシンタックスで定義される。
(シンタックスの定義)
まず、本実施例に係る動きベクトルの選出方法を備える動画像符号化装置により符号化される動画像のビットストリームのシンタックスについて説明する。
After the encoding of one picture is completed, the motion vector selection method according to the present invention is performed. The motion vector of the motion information recorded in the memories 110 and 207 is compressed, and the memory usage is reduced. The motion vector that has been subjected to the compression process is used as a motion vector candidate for a motion vector of a block at the same position of a reference picture with a different time in the prediction of the motion vector for encoding the next picture. The motion vector selection method according to the present invention extracts motion vectors of motion information recorded in the memories 110 and 207 for each predetermined range, selects a representative value from them, and records it again in the memories 110 and 207. . The predetermined range for performing the motion vector selection determination of the present invention is defined by the syntax described below.
(Syntax definition)
First, the syntax of a bit stream of a moving image that is encoded by a moving image encoding device including the motion vector selection method according to the present embodiment will be described.

図11は動画像のビットストリームのシーケンス・パラメータ・セット(以下SPSと略す)に記述されるシンタックスパターンを示す。ビットストリーム全体に渡って本発明の動きベクトルの選出方法を適用してメモリ使用量の削減を実施するか否かを示す第1フラグmotion vector buffer comp flagが設置される。motion vector buffer comp flagが偽(0)の場合は、本発明の動きベクトルの選出方法は適用されず、動き情報はそのままメモリに記録される。motion vector buffer comp flagが真(1)の場合は、更に、実際に動きベクトルの選出判定を実施する所定範囲のサイズの表すパラメータを示す第2フラグmotion vector buffer comp ratioが設置される。動き補償の最小サイズは最小符号化ブロックを水平と垂直の均等分割により4分割された予測ブロックとなり、この予測ブロック単位に動き情報がメモリに記録される。この予測ブロックを最小予測ブロックと呼ぶこととする。本発明の動きベクトルの選出判定を実施する所定範囲のサイズは、縦及び横にmotion vector buffer comp ratioで表される個数分の最小予測ブロックを並べたものととなり、その個数をMVBufferCompRatioとすると以下の式で表される。   FIG. 11 shows a syntax pattern described in a sequence parameter set (hereinafter abbreviated as SPS) of a moving image bit stream. A first flag motion vector buffer comp flag indicating whether to reduce the memory usage by applying the motion vector selection method of the present invention over the entire bitstream is provided. When the motion vector buffer comp flag is false (0), the motion vector selection method of the present invention is not applied, and the motion information is recorded in the memory as it is. When the motion vector buffer comp flag is true (1), a second flag motion vector buffer comp ratio indicating a parameter representing the size of a predetermined range for actually performing the motion vector selection determination is set. The minimum size of motion compensation is a prediction block obtained by dividing the minimum coding block into four by horizontal and vertical equal divisions, and motion information is recorded in the memory for each prediction block. This prediction block is called a minimum prediction block. The size of the predetermined range for performing the motion vector selection determination according to the present invention is such that the minimum prediction blocks for the number represented by the motion vector buffer comp ratio are arranged in the vertical and horizontal directions, and when the number is MVBufferCompRatio, It is expressed by the following formula.

MVBufferCompRatio=1<< motion vector buffer comp ratio
即ち、所定範囲の中の最小予測ブロックMVBufferCompRatio×MVBufferCompRatio個の中から1つの最小予測ブロックが選出され、そのブロックの動きベクトルを所定範囲の代表値としてメモリに記録することになるので、メモリ使用量が削減される。動きベクトルの選出判定は、この所定範囲単位に、ピクチャの左上から右下にラスタ・スキャン順に実施される。ここで、最小予測ブロックの縦或いは横の画素数にMVBufferCompRatioを乗じた画素数が最大符号化ブロックの縦或いは横の画素の画素数を超えないようにmotion vector buffer comp ratioの設定に制限が課される。最大符号化ブロックはピクチャ内部を均等に分割する符号化単位であり、この境界を跨って動きベクトルの選出判定を実施する所定範囲を設定することは出来ない為である。また、motion vector buffer comp ratioが存在しない場合は“0”に設定されることとする。
MVBufferCompRatio = 1 << motion vector buffer comp ratio
In other words, one minimum prediction block is selected from the minimum prediction block MVBufferCompRatio × MVBufferCompRatio in the predetermined range, and the motion vector of that block is recorded in the memory as a representative value of the predetermined range. Is reduced. The motion vector selection determination is performed in the raster scan order from the upper left to the lower right of the picture in units of the predetermined range. Here, there is a restriction on the motion vector buffer comp ratio setting so that the number of pixels by multiplying the number of vertical or horizontal pixels of the minimum prediction block by MVBufferCompRatio does not exceed the number of vertical or horizontal pixels of the maximum coding block. Is done. This is because the maximum coding block is a coding unit that equally divides the inside of a picture, and a predetermined range for performing motion vector selection determination cannot be set across this boundary. If the motion vector buffer comp ratio does not exist, it is set to “0”.

次に、本発明に係る動きベクトルの選出方法を備える動画像符号化装置のメモリ110と動きベクトル圧縮伸張部112、及び動画像復号化装置のメモリ207と動きベクトル圧縮伸張部209との間の動作について説明する。
(符号化における動きベクトルの選出)
上述のシンタックスに基づき、動画像のビットストリームを符号化する動画像符号化装置において、本発明に係る動きベクトルの選出方法の動作を説明する。
Next, the memory 110 and the motion vector compression / decompression unit 112 of the moving picture coding apparatus including the motion vector selection method according to the present invention, and the memory 207 and the motion vector compression / decompression unit 209 of the moving picture decoding apparatus The operation will be described.
(Selection of motion vector in encoding)
The operation of the motion vector selection method according to the present invention in a video encoding device that encodes a video bitstream based on the above syntax will be described.

図12は、動きベクトル圧縮伸張部112の内部の構成を示す図であり、太枠線で示される箇所に該当する。動きベクトル圧縮伸張部112は動きベクトルの圧縮と伸張の両方の機能を備えており、内部のスイッチ305及ぶ306により、圧縮と伸張の処理の切り換えを可能としている。   FIG. 12 is a diagram illustrating an internal configuration of the motion vector compression / decompression unit 112, and corresponds to a portion indicated by a thick frame line. The motion vector compression / decompression unit 112 has both functions of motion vector compression and decompression, and switching between compression and decompression is enabled by internal switches 305 and 306.

まず、動きベクトルの圧縮処理の動作について説明する。符号化対象のピクチャの符号化が終了すると、メモリ110に記録されている動きベクトルの選出(圧縮)を開始する。最初に、動きベクトル圧縮伸張部112のスイッチ305及び306が圧縮側に設定される。スイッチ305と306は連動して、圧縮と伸張の切り換えの動作を行い、スイッチ305はメモリ110と動きベクトル圧縮部303との間を接続する。一方、スイッチ306は所定範囲位置設定部302へのアドレスの入力を禁止する。次に、動きベクトルの圧縮符号化で設定される動きベクトルの選出判定を実施する所定範囲のサイズを表すパラメータmotion vector buffer comp ratioが所定範囲設定部301に入力される。所定範囲設定部301では、上述した式に基づいて、所定範囲の縦及び横の個数MVBufferCompRatioが算出される。この処理は符号化開始時に一度設定し、所定範囲設定部301に記録しておき、ピクチャの符号化毎に計算しなくても良い。また、所定範囲の個数を変更したい場合には、その都度値を変更したSPSヘッダーをビットストリーム中に挿入するように制御しても良い。SPSヘッダーが更新されるまでは、その前に設定された所定範囲の個数を所定範囲設定部301に記録しておき、ピクチャの符号化毎に計算しなくても良い。位置設定部302では、動きベクトルが記録されているメモリ110の先頭アドレスから所定範囲に該当する位置が算出され、所定範囲内に含まれる動きベクトルのアドレスが指定される。メモリ110では、所定範囲位置設定部302で指定された所定範囲の動きベクトルが抽出され、動きベクトル圧縮部303に出力される。動きベクトル圧縮部303では、抽出された所定範囲の動きベクトルから1つの代表値が選出され、メモリ110に再度記録される。   First, the operation of motion vector compression processing will be described. When encoding of a picture to be encoded is completed, selection (compression) of a motion vector recorded in the memory 110 is started. First, the switches 305 and 306 of the motion vector compression / decompression unit 112 are set to the compression side. The switches 305 and 306 operate in conjunction with each other to switch between compression and expansion, and the switch 305 connects between the memory 110 and the motion vector compression unit 303. On the other hand, the switch 306 prohibits input of an address to the predetermined range position setting unit 302. Next, a parameter “motion vector buffer comp ratio” representing the size of a predetermined range in which the motion vector selection determination set in the compression encoding of the motion vector is performed is input to the predetermined range setting unit 301. The predetermined range setting unit 301 calculates the number MVBufferCompRatio of the predetermined range in the vertical and horizontal directions based on the above formula. This process may be set once at the start of encoding, recorded in the predetermined range setting unit 301, and not calculated every time a picture is encoded. In addition, when it is desired to change the number of the predetermined range, control may be performed so that an SPS header whose value is changed is inserted into the bit stream each time. Until the SPS header is updated, the number of the predetermined range set before that is recorded in the predetermined range setting unit 301 and may not be calculated every time the picture is encoded. In the position setting unit 302, a position corresponding to a predetermined range is calculated from the top address of the memory 110 in which the motion vector is recorded, and the address of the motion vector included in the predetermined range is designated. In the memory 110, motion vectors in a predetermined range designated by the predetermined range position setting unit 302 are extracted and output to the motion vector compression unit 303. In the motion vector compressing unit 303, one representative value is selected from the extracted motion vectors in a predetermined range and recorded again in the memory 110.

次に、動きベクトルの伸張処理の動作について説明する。伸張処理は予測ブロック単位に予測動きベクトルの候補として、同一位置に存在する参照ピクチャの予測ブロックの動きベクトルを参照する必要があるので、次のピクチャの符号化が開始される直前に動きベクトル圧縮伸張部112のスイッチ305及び306が伸張側に設定される。スイッチ305はメモリ110と動きベクトル伸張部304との間を接続する。一方、スイッチ306は所定範囲位置設定部302へのアドレスの入力を許可する。符号化時に設定したmotion vector buffer comp ratioが所定範囲設定部301に入力される。所定範囲設定部301では、上述した式に基づいて、所定範囲の縦及び横の個数MVBufferCompRatioが算出される。符号化制御として、符号化するビットストリーム中にSPSヘッダーを挿入して、motion vector buffer comp ratioを変更する場合はMVBufferCompRatioを再計算する。それまではその前に計算されたMVBufferCompRatioを所定範囲設定部301に記録しておき、使用するので、この処理はピクチャ毎に実施する必要は無い。所定範囲位置設定部302では、符号化対象のピクチャの予測ブロックのアドレスと所定範囲設定部301にて算出された所定範囲の個数からメモリ110に圧縮記録されている動きベクトルのアドレスを指定する。図13に示されるように、符号化対象のピクチャ内の符号化ブロック内部を動き補償する為に定義される予測ブロック(図13中の灰色領域)のアドレスは黒丸の位置で表される。ピクチャの左上を先頭アドレスとすると、予測ブロックの先頭アドレスは、黒丸の画素位置を最小予測ブロックの縦或いは横の画素数で除算すると最小予測ブロック単位のアドレスに変換される。この予測ブロックのアドレスが所定範囲位置設定部302に入力されることになる。所定範囲の縦及び横の個数MVBufferCompRatioは動きベクトルの代表値を選択する為の間引かれた数となるので、予測ブロックのアドレスをMVBufferCompRatioで除算した商がメモリ110に圧縮記録されている動きベクトルのアドレスとなる。メモリ110から該当するアドレスの動きベクトルが抽出され、動きベクトル伸張部304に送られる。動きベクトル伸張部304は抽出された動きベクトルを参照ピクチャの同一位置に存在する予測ブロックからの予測動きベクトルの候補として、メモリ110に送られる。   Next, the operation of the motion vector expansion process will be described. Since the decompression process needs to refer to the motion vector of the prediction block of the reference picture existing at the same position as the prediction motion vector candidate for each prediction block, the motion vector compression is performed immediately before the encoding of the next picture is started. The switches 305 and 306 of the expansion unit 112 are set to the expansion side. The switch 305 connects between the memory 110 and the motion vector decompression unit 304. On the other hand, the switch 306 permits input of an address to the predetermined range position setting unit 302. The motion vector buffer comp ratio set at the time of encoding is input to the predetermined range setting unit 301. The predetermined range setting unit 301 calculates the number MVBufferCompRatio of the predetermined range in the vertical and horizontal directions based on the above formula. As an encoding control, when an SPS header is inserted into a bitstream to be encoded and the motion vector buffer comp ratio is changed, the MVBufferCompRatio is recalculated. Until then, the previously calculated MVBufferCompRatio is recorded in the predetermined range setting unit 301 and used, so this process need not be performed for each picture. The predetermined range position setting unit 302 specifies the address of the motion vector compressed and recorded in the memory 110 from the predicted block address of the picture to be encoded and the number of predetermined ranges calculated by the predetermined range setting unit 301. As shown in FIG. 13, the address of a prediction block (gray area in FIG. 13) defined for motion compensation within a coding block in a picture to be coded is represented by a black circle position. Assuming that the upper left of the picture is the head address, the head address of the prediction block is converted to an address of the minimum prediction block unit by dividing the pixel position of the black circle by the number of vertical or horizontal pixels of the minimum prediction block. The address of the predicted block is input to the predetermined range position setting unit 302. The number of vertical and horizontal MVBufferCompRatio in the predetermined range is the number that is thinned out to select the representative value of the motion vector. Address. The motion vector at the corresponding address is extracted from the memory 110 and sent to the motion vector decompression unit 304. The motion vector decompression unit 304 sends the extracted motion vector to the memory 110 as a predicted motion vector candidate from a prediction block existing at the same position of the reference picture.

以上のようにして、本発明に係る動きベクトルの選出方法を使用する場合には、ビットストリームのSPSヘッダーに記載される第1フラグmotion vector buffer comp flag、第2フラグmotion vector buffer comp ratioが設定され、符号化される。必要であれば、SPSヘッダーを更新してビットストリームに挿入することも可能である。   As described above, when the motion vector selection method according to the present invention is used, the first flag motion vector buffer comp flag and the second flag motion vector buffer comp ratio described in the SPS header of the bitstream are set. And encoded. If necessary, the SPS header can be updated and inserted into the bitstream.

本発明に係る動きベクトルの選出方法の動作の説明として図12のように構成した場合、予測ブロック単位に動きベクトル検出・補償を行い、その後に動きベクトルの選出を行うと、同一ピクチャ内での予測動きベクトルの精度が低下してしまう恐れがある。これは、本来の動き検出にて検出された動きベクトルが動きベクトルの圧縮処理により変更されてしまう影響が大きい為である。同一ピクチャ内の左或いは上に隣接するブロックの動きベクトルを参照しようとしても、動きベクトルの圧縮によって、最悪の場合、MVBufferCompRatio−1個の離れた最小予測ブロックの動きベクトルを予測動きベクトルの候補として参照することになってしまい、動きベクトルの予測が十分に動作せず、発生符号量が増加することになる。この課題を解決する為に、図14で示されるように、動きベクトル圧縮伸張部112内部に、所定範囲内で選出された動きベクトルを一時的に記録しておく一時記憶用メモリ307を追加する。図14は動きベクトルの圧縮処理についてのみ特記したものであるので、スイッチ305及び306は省略した。図12との相違は予測ブロック毎に動きベクトルの圧縮を実施する為に、予測ブロックのアドレスが入力されるようになっている点と、選出された動きベクトルの代表値を記録しておく一時記憶用メモリ307が追加された点である。動き検出により予測ブロックのアドレスから所定範囲内に動きベクトルがメモリ110に記録されていくことが分かるので、所定範囲位置設定部302でその都度所定範囲位置を指定し、メモリ110は指定された所定範囲の動きベクトルが抽出され、動きベクトル圧縮部303に出力される。動きベクトル圧縮部303では、抽出された所定範囲の動きベクトルから1つの代表値が選出される。一方、所定範囲位置設定部302は所定範囲の位置に該当する動きベクトルの記録位置を一時記憶用メモリ307に指定し、そこに代表値を記録する。符号化対象のピクチャの符号化が終了すると、一時記憶用メモリ307に記録された動きベクトルの代表値はメモリ110に記録される。このように、一時記憶用メモリ307を追加した図14で示される動きベクトル圧縮伸張部112は予測ブロック単位に動きベクトルの圧縮が可能となる。尚、動きベクトルの伸張処理は従来と同様であるので割愛する。
(復号化における動きベクトルの予測)
上述のシンタックスに基づき、符号化された動画像のビットストリームを復号化する動画像復号化装置において、本発明に係る動きベクトルの選出方法の動作を説明する。基本的な考え方は、上述した動画像符号化装置と同じであり、動画像復号化装置の動きベクトル圧縮伸張部209は動画像符号化装置の動きベクトル圧縮伸張部112と同等の機能を果たす。
When the motion vector selection method according to the present invention is configured as shown in FIG. 12 as an explanation of the operation, when motion vector detection / compensation is performed in units of prediction blocks and then motion vectors are selected, There is a possibility that the accuracy of the predicted motion vector is lowered. This is because the motion vector detected by the original motion detection is greatly affected by the motion vector compression processing. Even if you try to refer to the motion vector of the block adjacent to the left or above in the same picture, the motion vector compression causes the motion vector of the smallest prediction block that is one MVBufferCompRatio−1 apart to be the motion vector predictor candidate. As a result, the motion vector prediction does not operate sufficiently, and the generated code amount increases. In order to solve this problem, as shown in FIG. 14, a temporary storage memory 307 for temporarily recording a motion vector selected within a predetermined range is added inside the motion vector compression / decompression unit 112. . Since FIG. 14 only shows the motion vector compression processing, the switches 305 and 306 are omitted. The difference from FIG. 12 is that, in order to perform motion vector compression for each prediction block, the address of the prediction block is input, and the representative value of the selected motion vector is temporarily recorded. The memory memory 307 is added. Since it can be seen from the motion detection that the motion vector is recorded in the memory 110 within the predetermined range from the address of the prediction block, the predetermined range position is designated by the predetermined range position setting unit 302 each time, and the memory 110 A range of motion vectors is extracted and output to the motion vector compression unit 303. In the motion vector compression unit 303, one representative value is selected from the extracted motion vectors in a predetermined range. On the other hand, the predetermined range position setting unit 302 designates the recording position of the motion vector corresponding to the position of the predetermined range in the temporary storage memory 307, and records the representative value there. When the encoding of the picture to be encoded is completed, the representative value of the motion vector recorded in the temporary storage memory 307 is recorded in the memory 110. As described above, the motion vector compression / decompression unit 112 shown in FIG. 14 to which the temporary storage memory 307 is added can compress motion vectors in units of prediction blocks. It should be noted that the motion vector expansion processing is the same as the conventional one, and is therefore omitted.
(Prediction of motion vector in decoding)
The operation of the motion vector selection method according to the present invention in the video decoding device that decodes the encoded video bitstream based on the above-described syntax will be described. The basic concept is the same as that of the above-described video encoding device, and the motion vector compression / decompression unit 209 of the video decoding device performs the same function as the motion vector compression / expansion unit 112 of the video encoding device.

可変長復号化部201にて復号化されるビットストリームの各フラグについて説明する。ビットストリームのSPSヘッダーの中に記述されているフラグから、ビットストリーム全体に動きベクトルの選出方法を適用してメモリ使用量の削減を実施するか否かを判定する。SPSヘッダーからフラグmotion vector buffer comp flagを判定し、motion vector buffer comp flagが真(1)の場合はメモリ使用量の削減を実施され、motion vector buffer comp flagが偽(0)の場合は実施されない。更に、motion vector buffer comp flagが真(1)の場合は、フラグmotion vector buffer comp ratioがSPSヘッダーから読み出され、所定範囲設定部301に入力される。所定範囲設定部301では、上述した式に基づいて、所定範囲の縦及び横の個数MVBufferCompRatioが算出される。SPSヘッダーが復号化される度にMVBufferCompRatioが再計算されるが、それまではその前に計算されたMVBufferCompRatioを所定範囲設定部301に記録しておき、使用するので、この処理はピクチャ毎に実施する必要は無い。   Each flag of the bit stream decoded by the variable length decoding unit 201 will be described. It is determined from the flags described in the SPS header of the bitstream whether or not to reduce the memory usage by applying a motion vector selection method to the entire bitstream. The flag motion vector buffer comp flag is determined from the SPS header. If the motion vector buffer comp flag is true (1), memory usage is reduced. If the motion vector buffer comp flag is false (0), it is not implemented. . Further, when the motion vector buffer comp flag is true (1), the flag motion vector buffer comp ratio is read from the SPS header and input to the predetermined range setting unit 301. The predetermined range setting unit 301 calculates the number MVBufferCompRatio of the predetermined range in the vertical and horizontal directions based on the above formula. Every time the SPS header is decoded, MVBufferCompRatio is recalculated. Until then, the MVBufferCompRatio calculated before that is recorded in the predetermined range setting unit 301 and used, so this processing is performed for each picture. There is no need to do.

こうして、ビットストリームから復号化されるフラグに基づいて、動きベクトルの選出方法が実施される。メモリ207と動きベクトル圧縮伸張部209との間の動きベクトルの圧縮伸張動作については、動画像符号化装置におけるメモリ110と動きベクトル圧縮伸張部112と同様であるので、説明を割愛する。   Thus, the motion vector selection method is performed based on the flag decoded from the bitstream. The motion vector compression / decompression operation between the memory 207 and the motion vector compression / decompression unit 209 is the same as that of the memory 110 and the motion vector compression / decompression unit 112 in the video encoding apparatus, and thus description thereof is omitted.

以上のように、本発明に係る動きベクトルの選出方法を備える動画像符号化装置及び動画像復号化装置では、メモリ110及び207に記録された動きベクトルを動きベクトル圧縮伸張部112及び209にて圧縮処理して記録し直すことで動きベクトルのメモリ使用量の削減が実現される。実際の動きベクトルの圧縮処理は、動きベクトル圧縮伸張部112及び209の中の動きベクトル圧縮部303にて実施され、所定範囲の中の複数の動きベクトルから最適な代表値を選出する。以下では、代表値選出に関する具体的な実施例を示す。
[第1実施例]
本発明に係る動きベクトルの選出方法に関し、動きベクトルの圧縮の第1実施例について説明する。ここでは、以下の条件に各ブロックサイズを定義して説明を行うこととする。尚、第1実施例以降にも本条件を定義して説明する。
As described above, in the video encoding device and video decoding device including the motion vector selection method according to the present invention, the motion vectors recorded in the memories 110 and 207 are stored in the motion vector compression / decompression units 112 and 209. Reduction of memory usage of motion vectors is realized by performing compression processing and re-recording. The actual motion vector compression processing is performed by the motion vector compression unit 303 in the motion vector compression / expansion units 112 and 209, and an optimum representative value is selected from a plurality of motion vectors in a predetermined range. Below, the specific Example regarding representative value selection is shown.
[First Example]
The motion vector selection method according to the present invention will be described with reference to a first embodiment of motion vector compression. Here, description will be made by defining each block size under the following conditions. Note that this condition is also defined and described in the first and subsequent examples.

・最小符号化ブロックのサイズを8×8画素とする。     -The minimum coding block size is 8 x 8 pixels.

・最大符号化ブロックのサイズを32×32画素とする。     ・ The size of the maximum coding block is 32 × 32 pixels.

・所定範囲の個数MVBufferCompRatioを4とする。
即ち、motion vector buffer comp ratioが2となる。
・ Set the number of MVBufferCompRatio in the specified range to 4.
That is, the motion vector buffer comp ratio is 2.

・最小予測ブロックのサイズは最小符号化ブロックを4分割したサイズ4×4画素とする。     The size of the minimum prediction block is 4 × 4 pixels, which is a size obtained by dividing the minimum coding block into four.

・最小予測ブロックに対応するメモリ領域には、動きベクトルの圧縮前に、動きベクトルや参照ピクチャ番号、予測モード、予測方向等の動き情報の他に、予測ブロックの付属情報として、予測ブロックの属する符号化ブロックの情報が一時的に記録される。予測ブロックの属する符号化ブロックのサイズとなる為の最大符号化ブロックから分割された回数を示す情報(depth)や符号化ブロックの分割モードを表す情報partMode等である。     The memory area corresponding to the smallest prediction block belongs to the prediction block as auxiliary information of the prediction block, in addition to the motion information such as the motion vector, reference picture number, prediction mode, and prediction direction, before compression of the motion vector. Information on the encoded block is temporarily recorded. Information (depth) indicating the number of times of division from the maximum coding block to be the size of the coding block to which the prediction block belongs, information partMode representing the coding block division mode, and the like.

図15に最小予測ブロックに対応するメモリ領域に記録される予測ブロックの付属情報の一例を示す。図15の点線で囲まれたブロックが最小符号化ブロックであり、太実線が分割を表す。図15(a)は分割が無い場合であり、この時全ての最小予測ブロックにはdepth=0,partMode=2N×2Nが記録される。図15(b)は図15(a)に対して4分割した場合であり、4つに分割された矩形では動き情報には差異はあるが、分割が1回施されたので、全ての最小予測ブロックにはdepth=1,partMode=2N×2Nが記録される。図15(c)は図15(b)に対して、右上のブロックを更に4分割した場合である。左上、左下及び右下のブロックの分割処理が無いので、各最小予測ブロックには図15(b)のdepthとpartModeが記録される。4分割された右上のブロックの各最小予測ブロックには、depth=2,partMode=2N×2Nが記録される。図15(d)及び(e)は図15(a)に対してそれぞれ垂直方向或いは水平方向に2分割した場合である。この時depthを加算せず、分割モードを変更して対応する。即ち、全ての最小予測ブロックには図15(d)の場合depth=0,partMode=N×2N、図15(e)の場合depth=0,partMode=2N×Nが記録される。このように、符号化ブロックが4分割される場合、分割された下位の符号化ブロックに属する最小化予測ブロックにはdepthが加算され、水平或いは垂直方向に2分割される場合、分割された下位の符号化ブロックに属する最小化予測ブロックの分割モードを変更して、最小予測ブロックの状態を表す。   FIG. 15 shows an example of attached information of the prediction block recorded in the memory area corresponding to the minimum prediction block. A block surrounded by a dotted line in FIG. 15 is a minimum coding block, and a thick solid line represents division. FIG. 15A shows a case where there is no division. At this time, depth = 0 and partMode = 2N × 2N are recorded in all the minimum prediction blocks. Fig. 15 (b) shows the case of dividing into four parts with respect to Fig. 15 (a), and there is a difference in motion information in the rectangle divided into four, but since the division was performed once, all the minimum In the prediction block, depth = 1 and partMode = 2N × 2N are recorded. FIG. 15 (c) shows a case where the upper right block is further divided into four with respect to FIG. 15 (b). Since there is no division processing of the upper left, lower left and lower right blocks, the depth and partMode in FIG. 15B are recorded in each minimum prediction block. In each minimum prediction block of the upper right block divided into four, depth = 2 and partMode = 2N × 2N are recorded. FIGS. 15 (d) and 15 (e) show a case where the image is divided into two in the vertical direction or the horizontal direction with respect to FIG. At this time, the depth is not added and the division mode is changed. That is, depth = 0 and partMode = N × 2N in the case of FIG. 15D, and depth = 0 and partMode = 2N × N in the case of FIG. 15E are recorded in all the minimum prediction blocks. Thus, when the coding block is divided into four, depth is added to the minimized prediction block belonging to the divided lower coding block, and when divided into two in the horizontal or vertical direction, the divided lower block The division mode of the minimized prediction block belonging to the encoded block is changed to represent the state of the minimum prediction block.

本発明に係る第1実施例では、所定範囲内に占める面積が最も大きい予測ブロックを選択し、その予測ブロックの動きベクトルを代表値として選出する。この代表となる動きベクトルを後に続く画像の動きベクトルの予測で使用する予測動きベクトルの候補として記憶することで、全ての予測ブロックの動きベクトルを記憶する場合に比べて記憶容量を削減することが出来る。予測ブロックを構成する最小予測ブロックには同一の動き情報がメモリに記録されており、所定範囲内で最も面積が大きい予測ブロックを選択することは、所定範囲の中で数の多い動きベクトルを選出することと等価で、所定範囲の動き誤差を最小とすることになるので、この動きベクトルを後に続くピクチャの動きベクトルの予測で使用する予測動きベクトルの候補とすることで、予測精度を向上させ、符号化効率を改善させることが出来る。また、動きベクトルの代表値選出の条件として、所定範囲内に占める予測ブロックが同じである場合には、処理順で先の方を優先的に選択することとする。更に、動きベクトルの代表値を選出する最小予測ブロックは、所定範囲内で選択された予測ブロックの中の左上のブロックとする。予測ブロックの中の左上の最小予測ブロックは予測ブロックの先頭であるので、メモリへのアドレス変換が容易で、アクセス性が高い利点がある。   In the first embodiment according to the present invention, a prediction block having the largest area in a predetermined range is selected, and a motion vector of the prediction block is selected as a representative value. By storing the representative motion vector as a predicted motion vector candidate used in the prediction of the motion vector of the subsequent image, the storage capacity can be reduced as compared with the case of storing the motion vectors of all the prediction blocks. I can do it. The same motion information is recorded in the memory of the smallest prediction block that constitutes the prediction block, and selecting the prediction block having the largest area within the predetermined range selects a motion vector having a large number within the predetermined range. This is equivalent to doing so and minimizes the motion error within a predetermined range. By using this motion vector as a motion vector predictor candidate for use in the prediction of the motion vector of the following picture, the prediction accuracy is improved. Coding efficiency can be improved. In addition, as a condition for selecting a representative value of motion vectors, when the prediction blocks occupying within a predetermined range are the same, the earlier one is preferentially selected in the processing order. Further, the minimum prediction block for selecting the representative value of the motion vector is the upper left block among the prediction blocks selected within a predetermined range. Since the smallest prediction block at the upper left in the prediction block is the head of the prediction block, there is an advantage that the address conversion to the memory is easy and the accessibility is high.

本発明に係る第1実施例を実施する動きベクトル圧縮伸張部112及び209の中の動きベクトル圧縮部303の動作を説明するフローチャートを図16に示す。最初に、メモリ110及び207から所定範囲位置設定部302で指定された所定範囲の動き情報が記録されたメモリ領域がアクセスされ、動きベクトル圧縮部303に所定範囲内の最小予測ブロックの動き情報が入力される(S101)。入力される動き情報は図17に示されるように、MVBufferCompRatio×MVBufferCompRatio個の最小予測ブロックの動き情報である。第1実施例では、所定範囲は16個の最小予測ブロックから構成され、16×16画素の矩形領域となる。これは最大符号化ブロックを1回分割した場合の分割された符号化ブロックと同サイズとなる。次に、入力された所定範囲の動き情報の中から図17で示される左上の最小予測ブロックの動き情報が指定され、判定に使用する情報としてdepth、partMode及び予測モードが読み出される(S102)。まず、depthについて判定処理が実施され、depthが0であるか否か判定される(S103)。depthが0の場合、最大符号化ブロックにて分割無しに相当し、最大符号化ブロックが予測ブロックになるので、最大符号化ブロックは1つの動き情報を持つことになる。その為、図18(a)で示されるように、最大符号化ブロックの中に存在する4つの所定範囲の最小予測ブロックは全て同じ動き情報で構成されることになる。次に、左上の最小予測ブロックの予測モードがイントラか否かを判定する(S106)。予測モードがイントラの場合、所定範囲内の他の最小予測ブロックも全てイントラであるので、動きベクトルが存在しないので、動きベクトルとして(0,0)を出力する(S107)。予測モードがイントラでない場合は、所定範囲の左上の最小予測ブロックの動きベクトルを代表値と選出して処理を終了する(S108)。一方、depthが0で無い場合は、depthが1であるか否かの判定に進む(S104)。depthが1でない場合、所定範囲内部が4分割以上の分割をされることになるので、4分割選択判定に進む。depthが1の場合、最大符号化ブロックが4分割されたことになるので、図18(b)で示されるように、4つの均等な符号化ブロックに分けられ、この符号化ブロックと所定範囲とが一致することになる。その為、次のpartModeの判定でpartModeが2N×2Nの場合(S105)、符号化ブロック内部を2分割しない場合と等価であり、この符号化ブロック、即ち所定範囲内の最小予測ブロックは全て同じ動き情報で構成されることになる。この所定範囲の状態はdepthが0の場合と同様であるので、左上の最小予測ブロックの予測モードがイントラか否かの判定(S106)以降の処理に進む。一方、partModeが2N×2Nでない場合、即ち符号化ブロック内部で水平或いは垂直方向に分割がある場合となり、2分割選択判定に進み、終了する。   FIG. 16 is a flowchart for explaining the operation of the motion vector compressing unit 303 in the motion vector compressing / decompressing units 112 and 209 implementing the first embodiment according to the present invention. First, the memory area in which the motion information of the predetermined range specified by the predetermined range position setting unit 302 is recorded is accessed from the memories 110 and 207, and the motion information of the minimum prediction block within the predetermined range is received by the motion vector compression unit 303. Input (S101). As shown in FIG. 17, input motion information is motion information of MVBufferCompRatio × MVBufferCompRatio minimum prediction blocks. In the first embodiment, the predetermined range is composed of 16 minimum prediction blocks, and is a rectangular area of 16 × 16 pixels. This is the same size as the divided encoded block when the maximum encoded block is divided once. Next, motion information of the upper left minimum prediction block shown in FIG. 17 is designated from the input motion information in a predetermined range, and depth, partMode, and prediction mode are read as information used for determination (S102). First, a determination process is performed for depth, and it is determined whether depth is 0 (S103). When the depth is 0, this corresponds to no division in the maximum encoded block, and the maximum encoded block becomes a prediction block, so the maximum encoded block has one piece of motion information. For this reason, as shown in FIG. 18 (a), the minimum prediction blocks in the four predetermined ranges existing in the maximum coding block are all configured with the same motion information. Next, it is determined whether the prediction mode of the upper left minimum prediction block is intra (S106). When the prediction mode is intra, the other minimum prediction blocks within the predetermined range are all intra, and no motion vector exists, so (0, 0) is output as a motion vector (S107). If the prediction mode is not intra, the motion vector of the minimum prediction block at the upper left of the predetermined range is selected as a representative value, and the process ends (S108). On the other hand, if the depth is not 0, the process proceeds to determination of whether the depth is 1 (S104). If the depth is not 1, the inside of the predetermined range is divided into four or more divisions. When the depth is 1, the maximum coding block is divided into four, so as shown in FIG. 18 (b), it is divided into four equal coding blocks. Will match. For this reason, when partMode is 2N × 2N in the next determination of partMode (S105), this is equivalent to the case where the inside of the coding block is not divided into two, and this coding block, that is, the smallest prediction block within the predetermined range is all the same. It consists of motion information. Since the state of this predetermined range is the same as that when depth is 0, the process proceeds to the processing after determination (S106) whether or not the prediction mode of the upper left minimum prediction block is intra. On the other hand, when the partMode is not 2N × 2N, that is, there is a division in the horizontal or vertical direction inside the coding block, the process proceeds to the 2-division selection determination and ends.

次に、図19のフローチャートを用いて2分割選択判定について説明する。depthが1でpartModeがN×2N或いは2N×Nとなるのは、所定範囲内を水平或いは垂直方向に2分割する場合であり、図18(c)及び(d)に相当する。この場合、分割された左と右或いは上と下の予測ブロックは所定範囲を占める面積が同じなので判定出来ない。ここでは、前述した代表値選出の条件に従い、処理順として先となる方を優先選択する。所定範囲内で分割された予測ブロックのうち、処理順で先となる左或いは上の予測ブロックの左上の最小予測ブロックの予測モードが読み込まれる(S201)。予測モードがイントラか否かを判定する(S202)。予測モードがイントラでない場合、その最小予測ブロックの動きベクトルが出力され、終了する(S204)。予測モードがイントラの場合、もう一方の右或いは下の予測ブロックの左上の最小予測ブロックの予測モードが読み込まれる(S203)。予測モードがイントラか否かを判定する(S205)。予測モードがイントラでない場合、その最小予測ブロックの動きベクトルが出力され、終了する(S207)。予測モードがイントラの場合は、動きベクトルとして(0,0)が出力され、処理を終了する(S206)。   Next, the two-division selection determination will be described using the flowchart of FIG. The depth is 1 and the partMode is N × 2N or 2N × N when the predetermined range is divided into two in the horizontal or vertical direction, which corresponds to FIGS. 18 (c) and 18 (d). In this case, the divided left and right or upper and lower prediction blocks cannot be determined because they occupy the same area. Here, according to the above-described conditions for selecting the representative value, the earlier one is preferentially selected as the processing order. Of the prediction blocks divided within the predetermined range, the prediction mode of the minimum prediction block at the upper left of the left or upper prediction block preceding in the processing order is read (S201). It is determined whether or not the prediction mode is intra (S202). If the prediction mode is not intra, the motion vector of the minimum prediction block is output and the process ends (S204). When the prediction mode is intra, the prediction mode of the minimum prediction block at the upper left of the other right or lower prediction block is read (S203). It is determined whether or not the prediction mode is intra (S205). When the prediction mode is not intra, the motion vector of the minimum prediction block is output and the process ends (S207). If the prediction mode is intra, (0, 0) is output as the motion vector, and the process ends (S206).

次に、4分割選択判定について説明する。このような状況になるのはdepthが2となる場合あり、所定範囲内で均等に4分割され、図18(e)に示されるように最小符号化ブロックが4個配置される。ここで、説明を円滑に進める為に、図18(e)に示される各最小符号化ブロックに対して、左上から右下の処理順にA,B,C,Dと名前を付けることとする。各最小符号化ブロックは図20に示されるような4種類のパターンの予測ブロックに分割される。図20中の最小符号化ブロックの中の実線は分割を、点線は最小予測ブロックの境界を表し、4個の最小予測ブロックにはそれぞれ番号を付けることとする。前述した代表値選出の条件に則ると、図20の4つの分割パターンに関わらず左上の最小予測ブロック(図20中の“00”の最小予測ブロック)が選択されることになるので、図18(e)で示される4つの最小符号化ブロックの中の分割状態を比較し、分割生成された予測ブロックの数が最も少ない最小符号化ブロックの左上の最小予測ブロックを選択すればよい。分割された予測ブロックの数が少なければ、同一の動き情報を持つ最小予測ブロックの数が多くなるので、所定範囲内を占める面積が大きくなる。図21に所定範囲内の4つの最小符号化ブロックの分割配置の一例を示す。図21(a)の場合、C以外の最小符号化ブロックが分割されているので、Cが選択される。図21(b)の場合、全ての最小符号化ブロックが4分割されているので、処理順で先になるAが選択される。図21(c)の場合、A,Bは4分割、C,Dが2分割されているので、処理順で先となるCが選択される。図21(d)の場合、A,Bは分割が無く、C,Dが分割されているので、処理順ではAが選択されるが、Aの予測モードがイントラの場合、次の処理順になるBが選択される。選択された最小符号化ブロックの左上の最小予測ブロック(図21中の灰色の矩形領域)から動きベクトルを代表値として出力する。このような4分割選択判定の処理の流れを纏めると図22のフローチャートで示される。最初に、一時的に最適値を記録しておくレジスタを初期化する。レジスタは符号化ブロックの分割状態で分割数が最も少ない分割モードを記録しておくMaxPart、その時の符号化ブロックの中の左上の最小予測ブロックの動きベクトルを記録しておくMvRegであり、それぞれMaxPart=4、MvReg=(0,0)に初期化される(S301)。ここで、分割モードに割り当てられる値について説明する。本発明に係る動画像符号化装置により符号化される動画像のビットストリームのシンタックスの中で、ブロックの分割モードの定義の一例を図23に示す。分割モードを示すpartModeに対するインデックス値としてinter partioning idcが定義され、このインデックス値が符号化される。動きベクトルの代表選出における分割モードでの優先順位は、
2N×2N > 2N×N or N×2N > N×N
であるが、インデックス値の割り当ては逆になっている。第1実施例では、図23の分割モードの定義に従うこととするので、最小符号化ブロック間の分割モードによる比較は小さい方が優先されることになる。その為、MaxPartの初期値として、N×Nのインデックス値よりも大きい“4”を設定した。次に、最初に判定処理を行う最小符号化ブロックとしてカウンタをAに設定する(S302)。カウンタに設定された最小符号化ブロックの左上の最小予測ブロックの動き情報が読み込まれる(S303)。予測モードがイントラか否か判定する(S304)。予測モードがイントラの場合、判定処理を行わず、カウンタの判定(S307)に進む。予測モードがイントラでない場合、partModeとMaxPartとの比較を行う(S305)。partModeがMaxPartより小さい場合、即ち現在処理しているカウンタに設定された最小符号化ブロックが含まれる予測ブロックのサイズが大きい場合であり、MaxPartをpartModeに更新され、MvRegにその時の動きベクトルが格納される。partModeがMaxPart以上の場合、カウンタの判定(S307)に進む。カウンタの判定では、4つの最小符号化ブロックに対して判定処理が終了したか否かを判定する(S307)。カウンタがDであれば4つ中の最後のブロックに当たるので、判定処理を終了し、MvRegに格納された動きベクトルを代表値として出力する(S309)。カウンタがDでなければ、カウンタを更新する(S308)。A,B,C,Dの順に更新し、S303以降の処理を繰り返す。
Next, the 4-division selection determination will be described. This situation occurs when the depth is 2, which is equally divided into four within a predetermined range, and four minimum coding blocks are arranged as shown in FIG. 18 (e). Here, in order to facilitate the explanation, the names A, B, C, and D are assigned to the minimum coding blocks shown in FIG. 18 (e) in the order of processing from the upper left to the lower right. Each minimum encoded block is divided into four types of predicted blocks as shown in FIG. A solid line in the minimum coding block in FIG. 20 represents division, a dotted line represents a boundary of the minimum prediction block, and a number is assigned to each of the four minimum prediction blocks. According to the representative value selection conditions described above, the minimum prediction block at the upper left (the minimum prediction block of “00” in FIG. 20) is selected regardless of the four division patterns in FIG. The division states in the four minimum encoded blocks indicated by 18 (e) are compared, and the minimum prediction block on the upper left of the minimum encoded block with the smallest number of prediction blocks generated by division may be selected. If the number of divided prediction blocks is small, the number of minimum prediction blocks having the same motion information increases, and the area that occupies the predetermined range increases. FIG. 21 shows an example of a divided arrangement of four minimum coding blocks within a predetermined range. In the case of FIG. 21 (a), C is selected because the minimum coding block other than C is divided. In the case of FIG. 21 (b), since all the minimum encoded blocks are divided into four, A which is first in the processing order is selected. In the case of FIG. 21 (c), A and B are divided into four, and C and D are divided into two. Therefore, the first C in the processing order is selected. In the case of FIG. 21 (d), since A and B are not divided and C and D are divided, A is selected in the processing order. However, when the prediction mode of A is intra, the processing order is as follows. B is selected. A motion vector is output as a representative value from the minimum prediction block (gray rectangular area in FIG. 21) at the upper left of the selected minimum coding block. The flow of such a 4-division selection determination process is summarized in the flowchart of FIG. First, a register for temporarily storing an optimum value is initialized. The register is a MaxPart that records the division mode with the smallest number of divisions in the division state of the encoded block, and an MvReg that records the motion vector of the minimum prediction block in the upper left of the encoded block at that time, each MaxPart = 4, MvReg = (0,0) is initialized (S301). Here, values assigned to the division mode will be described. FIG. 23 shows an example of the definition of the block division mode in the syntax of the bit stream of the moving image encoded by the moving image encoding apparatus according to the present invention. Inter partioning idc is defined as an index value for partMode indicating the division mode, and this index value is encoded. The priority in the split mode in the representative selection of motion vectors is
2N × 2N> 2N × N or N × 2N> N × N
However, the index value assignment is reversed. In the first embodiment, since the definition of the division mode in FIG. 23 is followed, the smaller one of the comparisons by the division mode between the minimum coding blocks is prioritized. Therefore, “4”, which is larger than the index value of N × N, is set as the initial value of MaxPart. Next, a counter is set to A as the minimum coding block to be subjected to the determination process first (S302). The motion information of the minimum prediction block at the upper left of the minimum coding block set in the counter is read (S303). It is determined whether or not the prediction mode is intra (S304). When the prediction mode is intra, the determination process is not performed, and the process proceeds to the counter determination (S307). If the prediction mode is not intra, partMode and MaxPart are compared (S305). When partMode is smaller than MaxPart, that is, when the size of the prediction block including the minimum coding block set in the currently processed counter is large, MaxPart is updated to partMode, and the motion vector at that time is stored in MvReg Is done. If partMode is equal to or greater than MaxPart, the process proceeds to counter determination (S307). In the determination of the counter, it is determined whether or not the determination process has been completed for the four minimum encoded blocks (S307). If the counter is D, it corresponds to the last block among the four, so the determination process is terminated and the motion vector stored in MvReg is output as a representative value (S309). If the counter is not D, the counter is updated (S308). Update in the order of A, B, C, D, and repeat the processing from S303.

以上のようにして、所定範囲の動きベクトルの代表値が選出される。選出された代表値は、動画像符号化装置のメモリ110及び動画像復号化装置メモリ207に送られ、所定範囲の位置に該当する記録領域に記録される。
[第2実施例]
本発明に係る動きベクトルの選出方法に関し、動きベクトルの圧縮の第2実施例について説明する。基本的な選出方法は第1実施例を踏襲し、所定範囲内の4分割選択判定において、代表値として選出する動きベクトルを持つ最小予測ブロックの優先条件を変更したものである。第1実施例では、動きベクトルの代表値を選出する最小予測ブロックは所定範囲内で選択された予測ブロックの中の左上のブロックとしたが、第2実施例では、所定範囲内の中央寄りの最小予測ブロックを選択する。例えば、現在のピクチャの所定範囲が、図21(b)のように、所定範囲内の4つの最小符号化ブロックが全て分割されている場合、個々の最小符号化ブロックの動きベクトルが異なっていることが多い。次のピクチャを符号化する場合に、同一位置の符号化ブロックがDである場合、Dの参照ピクチャの同一位置の動きベクトルは、第1実施例の選出方法に則ると、所定範囲の動きベクトルの代表値としてAの左上が選択されることになる。Dの参照先としては参照ピクチャのDと同一位置にあるブロックの動くベクトルが適当であるが、動きベクトルの圧縮によってAの左上の最小予測ブロックの動きベクトルを予測動きベクトルの候補として参照することになるので、予測精度が低下する恐れがある。そこで、第2実施例では、予測動きベクトルの精度をより向上させる為に、所定範囲内の中央寄りの最小予測ブロックを優先的に選択する。上の例の場合では、Aの右下の最小予測ブロックが選択される。Aの左上よりAの右下の最小予測ブロックの方がDに近いので、Dの動きベクトルに近い予測動きベクトルの候補となり、予測精度が向上することが期待出来る。特に、このような選択は、所定範囲以下の符号化ブロックの符号化に有効である。
As described above, representative values of motion vectors in a predetermined range are selected. The selected representative value is sent to the memory 110 and the video decoding device memory 207 of the video encoding device, and is recorded in a recording area corresponding to a position in a predetermined range.
[Second Example]
A second embodiment of motion vector compression will be described with respect to a motion vector selection method according to the present invention. The basic selection method follows the first embodiment, and changes the priority condition of the minimum prediction block having a motion vector to be selected as a representative value in the 4-division selection determination within a predetermined range. In the first embodiment, the minimum prediction block for selecting the representative value of the motion vector is the upper left block of the prediction blocks selected within the predetermined range. However, in the second embodiment, the block near the center in the predetermined range is selected. Select the smallest prediction block. For example, when the predetermined range of the current picture is divided into four minimum encoded blocks within the predetermined range as shown in FIG. 21B, the motion vectors of the individual minimum encoded blocks are different. There are many cases. When coding the next picture, if the coding block at the same position is D, the motion vector at the same position of the reference picture of D is a motion within a predetermined range according to the selection method of the first embodiment. The upper left of A is selected as the representative value of the vector. The reference vector for D is the motion vector of the block located at the same position as D in the reference picture, but the motion vector of the upper left prediction block of A is referenced as a candidate for the predicted motion vector by compressing the motion vector. Therefore, the prediction accuracy may be reduced. Therefore, in the second embodiment, in order to further improve the accuracy of the motion vector predictor, the minimum predicted block closer to the center within the predetermined range is preferentially selected. In the case of the above example, the smallest prediction block at the lower right of A is selected. Since the minimum prediction block at the lower right of A is closer to D than the upper left of A, it becomes a predicted motion vector candidate close to the motion vector of D, and an improvement in prediction accuracy can be expected. In particular, such a selection is effective for encoding a coding block having a predetermined range or less.

第2実施例での具体的な動きベクトルの選択の一例を図24を用いて説明する。図24は第1実施例の4分割選択判定の例に対応した判定例である。図24(a)の場合、Cが選択される。Cの中の最小予測ブロックの動きベクトルはどれも同じなので、左上の最小予測ブロックの動きベクトルが選出される。図24(b)の場合、Aが選択され、所定範囲の中央寄りのAの右下の最小予測ブロックの動きベクトルが選出される。図24(c)の場合、Cが選択される。Cは垂直方向に2分割されているので、所定範囲の中央寄りとなるのは右側の予測ブロックであるから、右側の予測ブロックの上の最小予測ブロックの動きベクトルが選出される。図24(d)の場合、Aの予測モードがイントラなのでBが選択される。Bの中の最小予測ブロックの動きベクトルはどれも同じなので、左上の最小予測ブロックの動きベクトルが選出される。   An example of specific motion vector selection in the second embodiment will be described with reference to FIG. FIG. 24 is a determination example corresponding to the four-division selection determination example of the first embodiment. In the case of FIG. 24 (a), C is selected. Since the motion vectors of the minimum prediction block in C are the same, the motion vector of the minimum prediction block in the upper left is selected. In the case of FIG. 24 (b), A is selected, and the motion vector of the minimum prediction block at the lower right of A near the center of the predetermined range is selected. In the case of FIG. 24 (c), C is selected. Since C is divided into two in the vertical direction, since the right prediction block is closer to the center of the predetermined range, the motion vector of the minimum prediction block above the right prediction block is selected. In the case of FIG. 24 (d), B is selected because the prediction mode of A is intra. Since the motion vectors of the minimum prediction block in B are the same, the motion vector of the minimum prediction block at the upper left is selected.

以上のようにして、所定範囲内の4分割選択判定において、動きベクトルの代表値を選出する最小予測ブロックは所定範囲内で選択された予測ブロックの中の所定範囲内の中央寄りの最小予測ブロックを選択した。実際に4分割選択判定を実施する場合、図25で示されるpartModeと所定範囲の中で選択されたブロックとのパターンから、動きベクトルの代表値を選出する最小予測ブロックが選択される。図25中の数字は、図20で示される符号化ブロック内部の最小予測ブロックに付けれた番号であり、この番号に該当する最小予測ブロックの動きベクトルが選出される。
[第3実施例]
本発明に係る動きベクトルの選出方法に関し、動きベクトルの圧縮の第3実施例について説明する。基本的な選出方法は第1実施例を踏襲し、所定範囲内の4分割選択判定において、代表値として選出する動きベクトルを持つ最小予測ブロックの優先条件を変更したものである。第3実施例では、図26で灰色で示される所定範囲内の中央の4個の最小予測ブロックの動き情報に基づいて、その4個の中から動きベクトルの代表値を選出する。ここで、以下の説明を円滑にする為に、所定範囲内の中央に配置された左上から右下の最小予測ブロックに対して、図26に示される番号付けをする。
As described above, in the four-division selection determination within the predetermined range, the minimum prediction block for selecting the representative value of the motion vector is the minimum prediction block closer to the center within the predetermined range among the prediction blocks selected within the predetermined range. Selected. When actually performing the 4-division selection determination, the minimum prediction block for selecting the representative value of the motion vector is selected from the pattern of the partMode shown in FIG. 25 and the block selected within the predetermined range. The numbers in FIG. 25 are numbers assigned to the minimum prediction block in the encoded block shown in FIG. 20, and the motion vector of the minimum prediction block corresponding to this number is selected.
[Third embodiment]
A third embodiment of motion vector compression will be described with respect to a motion vector selection method according to the present invention. The basic selection method follows the first embodiment, and changes the priority condition of the minimum prediction block having a motion vector to be selected as a representative value in the 4-division selection determination within a predetermined range. In the third embodiment, based on the motion information of the four smallest predicted blocks in the center within the predetermined range shown in gray in FIG. 26, representative values of motion vectors are selected from the four. Here, in order to facilitate the following description, the numbering shown in FIG. 26 is given to the minimum prediction block arranged from the upper left to the lower right arranged in the center within the predetermined range.

第3の実施例の4分割選択判定の処理の流れを図27のフローチャートを用いて説明する。最初に、一時的に最適値を記録しておくレジスタを初期化する。レジスタは、最小予測ブロックの分割状態で最も少ない分割数を記録しておくMinDepth、最小予測ブロックの分割状態で分割数が最も少ない分割モードを記録しておくMaxPart、その時の符号化ブロックの中の左上の最小予測ブロックの動きベクトルを記録しておくMvRegであり、それぞれMinDepth=4、MaxPart=4、MvReg=(0,0)に初期化される(S401)。MinDepthの初期値は、最小予測ブロックより小さいサイズに4分割することは出来ないので、最大符号化ブロックから最小予測ブロックに分割されるまでの分割数が設定される。ここでは、最大符号化ブロックは32×32画素、最小予測ブロックが4×4画素であることから、4回の4分割で最大符号化ブロックが4×4画素を下回るので、“4”が設定される。MaxPart及びMvRegの初期化は、上述した第1実施例の設定に従うこととする。次に、最初に判定処理を行う最小符号化ブロックとしてカウンタcountを0に設定する(S402)。カウンタに設定された最小予測ブロックの動き情報が読み込まれる(S403)。予測モードがイントラか否か判定する(S404)。予測モードがイントラの場合、判定処理を行わず、カウンタの判定(S408)に進む。予測モードがイントラでない場合、depthとMinDepthとの比較を行う(S405)。depthがMinDepthより小さい場合、即ち現在処理しているカウンタに設定された最小予測ブロックが含まれる予測ブロックの分割数が少ない場合であり、所定範囲内でその予測ブロックの占める面積が大きいことを意味する。depthがMinDepth以上の場合はカウンタの判定(S408)に進み、depthがMinDepthより小さい場合はpartModeとMaxPartとの比較を行う(S406)。partModeがMaxPartより小さい場合、即ち現在処理しているカウンタに設定された最小予測ブロックが含まれる予測ブロックのサイズが大きい場合であり、所定範囲内でその予測ブロックの占める面積が大きいことを意味する。partModeがMaxPart以上の場合はカウンタの判定(S408)に進み、partModeがMaxPartより小さい場合はMinDepthがdepth、MaxPartがpartModeに更新され、MvRegにその時の最小予測ブロックの動きベクトルが格納される。カウンタの判定では、4つの最小符号化ブロックに対して判定処理が終了したか否かを判定する(S408)。count=3であれば判定処理を終了し、MvRegに格納された動きベクトルを代表値として出力する(S410)。count≠3であれば、countを1加算して更新し、S403以降の処理を繰り返す(S409)。   The process flow of the 4-division selection determination of the third embodiment will be described with reference to the flowchart of FIG. First, a register for temporarily storing an optimum value is initialized. Registers are MinDepth, which records the smallest number of divisions in the division state of the smallest prediction block, MaxPart, which records the division mode with the smallest division number in the division state of the smallest prediction block, and the coding block at that time It is MvReg which records the motion vector of the minimum prediction block at the upper left, and is initialized to MinDepth = 4, MaxPart = 4, and MvReg = (0, 0), respectively (S401). Since the initial value of MinDepth cannot be divided into four smaller than the minimum prediction block, the number of divisions until the maximum encoding block is divided into the minimum prediction block is set. Here, since the maximum coding block is 32 × 32 pixels and the minimum prediction block is 4 × 4 pixels, the maximum coding block is less than 4 × 4 pixels in 4 divisions, so “4” is set. Is done. The initialization of MaxPart and MvReg follows the setting of the first embodiment described above. Next, the counter count is set to 0 as the minimum coding block to be subjected to the determination process first (S402). The motion information of the minimum prediction block set in the counter is read (S403). It is determined whether or not the prediction mode is intra (S404). When the prediction mode is intra, the determination process is not performed, and the process proceeds to the counter determination (S408). When the prediction mode is not intra, the depth is compared with MinDepth (S405). When the depth is smaller than MinDepth, that is, when the number of prediction blocks including the smallest prediction block set in the currently processed counter is small, it means that the area occupied by the prediction block is large within the specified range. To do. If the depth is equal to or greater than MinDepth, the process proceeds to counter determination (S408). If the depth is smaller than MinDepth, partMode and MaxPart are compared (S406). When partMode is smaller than MaxPart, that is, when the size of the prediction block including the minimum prediction block set in the currently processed counter is large, which means that the area occupied by the prediction block is large within a predetermined range. . If partMode is equal to or greater than MaxPart, the process proceeds to counter determination (S408). If partMode is smaller than MaxPart, MinDepth is updated to depth and MaxPart is updated to partMode, and the motion vector of the minimum prediction block at that time is stored in MvReg. In the determination of the counter, it is determined whether or not the determination process has been completed for the four minimum encoded blocks (S408). If count = 3, the determination process is terminated, and the motion vector stored in MvReg is output as a representative value (S410). If count ≠ 3, the count is incremented by 1, and the processing after S403 is repeated (S409).

以上のようにして、所定範囲の動きベクトルの代表値が選出される。選出された代表値は、動画像符号化装置のメモリ110及び動画像復号化装置メモリ207に送られ、所定範囲の位置に該当する記録領域に記録される。
[第4実施例]
本発明に係る動きベクトルの選出方法に関し、動きベクトルの圧縮の第4実施例について説明する。基本的な選出方法は第1実施例を踏襲をするが、第1実施例とは分割される予測ブロックにサイズに基づいて、予測ブロックから動きベクトルの代表値を選出する点が異なる。所定範囲よりも小さい予測ブロックの動きベクトルを選出しても、信頼性が高い代表値と言えず、予測動きベクトルの候補として予測精度を向上させるとは言えないので、判定する予測ブロックにサイズを制限する。
As described above, representative values of motion vectors in a predetermined range are selected. The selected representative value is sent to the memory 110 and the video decoding device memory 207 of the video encoding device, and is recorded in a recording area corresponding to a position in a predetermined range.
[Fourth embodiment]
A fourth embodiment of motion vector compression will be described with respect to a motion vector selection method according to the present invention. The basic selection method follows the first embodiment, but differs from the first embodiment in that a representative value of a motion vector is selected from the prediction block based on the size of the prediction block to be divided. Even if a motion vector of a prediction block smaller than the predetermined range is selected, it cannot be said that it is a highly reliable representative value and it cannot be said that the prediction accuracy is improved as a prediction motion vector candidate. Restrict.

図28に示される分割された所定範囲を一例として説明する。図28の所定範囲の中の実線は4分割による境界、点線は最小予測ブロックの境界を示しており、所定範囲を4分割された最小符号化ブロックに対して、左上から右下の順に名前としてA,B,C,Dで表すものとする。図28の所定範囲は4分割され、4個の最小符号化ブロックに分けられている。各最小符号化ブロックの状態は、A及びCは更に最小予測ブロックになるまで4分割され、B及びDは2分割され、それぞれ分割モードが2N×N、N×2Nで表される。A及びCの中の最小予測ブロックにはdepth=3、partMode=2N×2Nが設定され、Bにはdepth=2、partMode=2N×N、Cにはdepth=2、partMode=N×2Nが設定される。図28の所定範囲に対して、第1実施例による動きベクトルの選出を適用すると、図28の灰色矩形で示されるBの2分割された上の予測ブロックの中の左の最小予測ブロックが選択され、その動きベクトルが選出される。Bの2分割された上の予測ブロックの中の右の最小予測ブロックも選出された動きベクトルを持つが、所定範囲の16個の最小予測ブロックの中でわずか2個に過ぎず、予測動きベクトルの候補の精度としては低い。第4実施例では、所定範囲のサイズに基づいて設定される最小判定範囲未満となる予測ブロックは動きベクトルの選出外として選択しないように制限することとする。更に所定範囲内に最小判定範囲以上の予測ブロックを見つけた場合には、以降の判定処理を強制的に中止させるようにすることで、判定処理時間を向上させる。   The divided predetermined range shown in FIG. 28 will be described as an example. The solid line in the predetermined range in FIG. 28 indicates the boundary by four divisions, and the dotted line indicates the boundary of the minimum prediction block. Names are given in order from the upper left to the lower right for the minimum coding block in which the predetermined range is divided into four. It shall be represented by A, B, C, D. The predetermined range in FIG. 28 is divided into four and divided into four minimum encoded blocks. The state of each minimum coding block is divided into four until A and C become further minimum prediction blocks, B and D are divided into two, and the division modes are represented by 2N × N and N × 2N, respectively. Depth = 3 and partMode = 2N × 2N are set in the smallest prediction block in A and C, depth = 2, partMode = 2N × N in B, depth = 2, partMode = N × 2N in C Is set. When the motion vector selection according to the first embodiment is applied to the predetermined range in FIG. 28, the left smallest prediction block in the upper two prediction blocks divided into B shown by the gray rectangle in FIG. 28 is selected. Then, the motion vector is selected. The right minimum prediction block in the upper prediction block divided into two bisects also has a selected motion vector, but only two of the 16 minimum prediction blocks in a given range, the prediction motion vector The accuracy of the candidate is low. In the fourth embodiment, a prediction block that is less than the minimum determination range set based on the size of a predetermined range is limited so as not to be selected as a motion vector. Further, when a predicted block that is equal to or greater than the minimum determination range is found within the predetermined range, the determination processing time is improved by forcibly stopping the subsequent determination processing.

図29に第4実施例の判定処理のフローチャートを示す。第4実施例における制限条件として、所定範囲の縦横の画素数が1/2となる領域を最小判定範囲として設定する。最小判定範囲は8×8画素となり、この条件に一致するdepthが2、partModeが2N×2Nであり、この条件未満の動き情報を備える最小予測ブロックを含む予測ブロックに対しては判定処理を実施しない。まず、メモリ110及び207から所定範囲位置設定部302で指定された所定範囲の動き情報が記録されたメモリ領域がアクセスされ、動きベクトル圧縮部303に所定範囲内の最小予測ブロックの動き情報が入力される(S501)。次に、一時的に動きベクトルを記録しておくレジスタMvRegを初期化する。レジスタMvReg=(0,0)に初期化される(S502)。判定処理を行う最小符号化ブロックとしてカウンタをAに設定する(S503)。第4実施例では最小判定範囲が最小符号化ブロックと同じサイズであるので、所定範囲内の最小符号化ブロック単位に処理を実施する。カウンタに設定された最小符号化ブロックの最小予測ブロックの動き情報が読み込まれる(S504)。最小符号化ブロック内で分割が無ければ、最小符号化ブロック内の4個の最小予測ブロックはどれも同じ動き情報を持っているので、どの最小予測ブロックの動き情報を読み込んでも良いが、ここでは左上の最小予測ブロックを指定することとする。最初に、予測モードがイントラか否か判定する(S505)。予測モードがイントラの場合、判定処理を行わず、カウンタの判定(S510)に進む。予測モードがイントラでない場合、指定された最小予測ブロックの動き情報のdepthについて判定を実施する(S506)。depthが2より小さい場合、最小符号化ブロックが最小判定範囲よりも大きい予測ブロックに含まれることになるので、判定を中止して、動きベクトルの更新(S509)に進む。depthが2以上の場合、depthが2に等しいか否かの判定が実施される(S507)。depthが2に等しい場合、分割モードの判定に進む。depthが2で無い場合、即ちdepthが3以上の場合、カウンタに設定された最小符号化ブロック内で4分割が存在する場合であり、最小判定範囲よりも小さい予測ブロックが存在することになるので、判定を中止して、カウンタの判定(S510)に進む。分割モードの判定はpartModeが2N×2Nと等しいか否かを判定する(S508)。partModeが2N×2N の場合、depthが2であるから最小符号化ブロックが最小判定範囲と同じサイズとなるので、判定を中止して、動きベクトルの更新(S509)に進む。partModeが2N×2N でない場合は、カウンタに設定された最小符号化ブロック内で水平或いは垂直方向の2分割が存在する場合であり、最小判定範囲よりも小さい予測ブロックが存在することになるので、判定を中止して、カウンタの判定(S510)に進む。動きベクトルの更新では、指定された最小予測ブロックの動きベクトルをMvRegに格納した(S509)後、MvRegに格納された動きベクトルを所定範囲の代表値として出力し(S512)、終了する。一方、カウンタの判定では、カウンタがDであるかを判定する(S510)。カウンタがDの場合、所定範囲内の全ての最小符号化ブロックに対して判定処理が終了したことになるので、S512に進み、MvRegに格納された動きベクトルを所定範囲の代表値として出力し(S512)、終了する。カウンタがDでなければ、カウンタを更新する(S511)。A,B,C,Dの順に更新し、S503以降の処理を繰り返す。   FIG. 29 shows a flowchart of the determination process of the fourth embodiment. As a limiting condition in the fourth embodiment, an area in which the number of vertical and horizontal pixels in a predetermined range is halved is set as the minimum determination range. The minimum determination range is 8 × 8 pixels, the depth that matches this condition is 2, and the partMode is 2N × 2N, and the determination process is performed for the prediction block that includes the minimum prediction block with motion information that is less than this condition do not do. First, the memory area in which the motion information of the predetermined range specified by the predetermined range position setting unit 302 is recorded is accessed from the memories 110 and 207, and the motion information of the minimum prediction block within the predetermined range is input to the motion vector compression unit 303 (S501). Next, a register MvReg for temporarily recording a motion vector is initialized. The register MvReg is initialized to (0, 0) (S502). The counter is set to A as the minimum coding block for performing the determination process (S503). In the fourth embodiment, since the minimum determination range is the same size as the minimum encoded block, the process is performed in units of the minimum encoded block within the predetermined range. The motion information of the minimum prediction block of the minimum coding block set in the counter is read (S504). If there is no division in the minimum coding block, the four minimum prediction blocks in the minimum coding block all have the same motion information, so the motion information of any minimum prediction block may be read. The minimum prediction block at the upper left is specified. First, it is determined whether or not the prediction mode is intra (S505). When the prediction mode is intra, the determination process is not performed, and the process proceeds to the counter determination (S510). If the prediction mode is not intra, a determination is made regarding the depth of the motion information of the designated minimum prediction block (S506). When the depth is smaller than 2, the minimum coding block is included in the prediction block larger than the minimum determination range, so the determination is stopped and the process proceeds to the motion vector update (S509). When the depth is 2 or more, it is determined whether or not the depth is equal to 2 (S507). If the depth is equal to 2, proceed to split mode determination. When the depth is not 2, that is, when the depth is 3 or more, there are 4 divisions in the minimum coding block set in the counter, and there is a prediction block smaller than the minimum judgment range. The determination is stopped and the process proceeds to the counter determination (S510). In the determination of the division mode, it is determined whether or not partMode is equal to 2N × 2N (S508). When partMode is 2N × 2N, since the depth is 2, the minimum encoded block has the same size as the minimum determination range, so the determination is stopped and the process proceeds to motion vector update (S509). If partMode is not 2N × 2N, there are two horizontal or vertical divisions within the minimum coding block set in the counter, and there will be a prediction block smaller than the minimum decision range. The determination is stopped and the process proceeds to the counter determination (S510). In the update of the motion vector, after the motion vector of the designated minimum prediction block is stored in MvReg (S509), the motion vector stored in MvReg is output as a representative value within a predetermined range (S512), and the process ends. On the other hand, in the determination of the counter, it is determined whether the counter is D (S510). If the counter is D, the determination process has been completed for all the minimum coding blocks within the predetermined range, so the process proceeds to S512, and the motion vector stored in MvReg is output as a representative value of the predetermined range ( S512) and finish. If the counter is not D, the counter is updated (S511). Update in the order of A, B, C, D, and repeat the processing from S503.

以上のようにして、所定範囲の動きベクトルの代表値が選出される。選出された代表値は、動画像符号化装置のメモリ110及び動画像復号化装置メモリ207に送られ、所定範囲の位置に該当する記録領域に記録される。   As described above, representative values of motion vectors in a predetermined range are selected. The selected representative value is sent to the memory 110 and the video decoding device memory 207 of the video encoding device, and is recorded in a recording area corresponding to a position in a predetermined range.

尚、第4実施例では、所定範囲内に最小判定範囲未満の予測ブロックしか存在しない場合は、レジスタMvRegの初期値として設定した(0,0)を所定範囲の動きベクトルの代表値として出力するようにしたが、初期値として最初の最小符号化ブロックの動きベクトルを設定しても良い。また、所定範囲内の最小符号化ブロックに対して順番に判定する際に、最初に最小判定範囲に該当する予測ブロックが見つかった場合に判定処理を中止するようにしたが、判定処理を中止せずそのまま続けて、一時的にその時の動きベクトルをMvRegに格納しておき、所定範囲内で最後に最小判定範囲に該当する予測ブロックの動きベクトルを出力するように判定処理を変更しても良い。   In the fourth embodiment, when there is only a prediction block less than the minimum determination range within the predetermined range, (0, 0) set as the initial value of the register MvReg is output as the representative value of the motion vector in the predetermined range. However, the motion vector of the first minimum encoded block may be set as an initial value. Also, when determining in order for the smallest encoded block within the predetermined range, the determination process is stopped when a prediction block corresponding to the minimum determination range is first found. Instead, the determination process may be changed so that the motion vector at that time is temporarily stored in MvReg, and the motion vector of the prediction block corresponding to the minimum determination range is finally output within the predetermined range. .

以上の符号化及び復号に関する処理は、ハードウェアを用いた伝送、蓄積、受信装置として実現することができるのは勿論のこと、ROM(リード・オンリ・メモリ)やフラッシュメモリ等に記憶されているファームウェアや、コンピュータ等のソフトウェアによっても実現することができる。そのファームウェアプログラム、ソフトウェアプログラムをコンピュータ等で読み取り可能な記録媒体に記録して提供することも、有線あるいは無線のネットワークを通してサーバから提供することも、地上波あるいは衛星ディジタル放送のデータ放送として提供することも可能である。   The above processing relating to encoding and decoding can be realized as a transmission, storage, and reception device using hardware, and is stored in a ROM (Read Only Memory), a flash memory, or the like. It can also be realized by firmware or software such as a computer. The firmware program and software program can be recorded on a computer-readable recording medium, provided from a server through a wired or wireless network, or provided as a data broadcast of terrestrial or satellite digital broadcasting Is also possible.

101 動きベクトル検出部
102 減算部
103 直交変換・量子化部
104 可変長符号化部
105 逆量子化・逆直交変換部
106 動き補償部
107 重み付き予測部
108 加算部
109 デブロッキング・フィルタ部
110 メモリ
111 予測動きベクトル選択部
112 動きベクトル圧縮伸張部
201 可変長復号化部
202 逆量子化・逆直交変換部
203 動き補償部
204 重み付き予測部
205 加算部
206 デブロッキング・フィルタ部
207 メモリ
208 予測動きベクトル選択部
209 動きベクトル圧縮伸張部
301 所定範囲設定部
302 所定範囲位置設定部
303 動きベクトル圧縮部
304 動きベクトル伸張部
305 スイッチ
306 スイッチ
307 一時記憶用メモリ
101 Motion vector detector
102 Subtraction part
103 Orthogonal transformation / quantization unit
104 Variable length encoder
105 Inverse quantization and inverse orthogonal transform
106 Motion compensation unit
107 Weighted predictor
108 Adder
109 Deblocking filter section
110 memory
111 Predictive motion vector selector
112 Motion vector compression / decompression unit
201 Variable length decoder
202 Inverse quantization and inverse orthogonal transform
203 Motion compensation unit
204 Weighted prediction part
205 Adder
206 Deblocking filter section
207 memory
208 Predictive motion vector selector
209 Motion vector compression / decompression unit
301 Predetermined range setting section
302 Predetermined range position setting section
303 Motion vector compression unit
304 Motion vector stretcher
305 switch
306 switch
307 Temporary memory

Claims (10)

動画像の各ピクチャを分割したブロック単位で動きベクトルを用いて前記動画像が符号化されたビットストリームを復号する動画像復号化装置であって、
前記ビットストリームから所定範囲内の前記ブロック単位で復号された動きベクトルを含む動き情報とともに、前記ビットストリームから復号された前記所定範囲内の前記ブロックの属する予測ブロックの大きさを表すパラメータを用いて、前記所定範囲内を占める領域の大きい予測ブロックを判定し、判定された前記予測ブロックの動きベクトルを前記所定範囲の代表値としてメモリに格納するとともに、次のピクチャの復号時に前記所定範囲の大きさと前記予測ブロックの位置により前記メモリから前記動きベクトルの代表値を選択する動きベクトル圧縮伸張部と、
前記動きベクトル圧縮伸張部にて選択された前記動きベクトルの代表値を予測動きベクトルの候補に用いて予測動きベクトルを復号する予測動きベクトル選択部と、
を具備することを特徴とする動画像復号化装置。
A video decoding device that decodes a bitstream in which the video is encoded using a motion vector in units of blocks obtained by dividing each picture of the video,
Using motion information including a motion vector decoded in units of blocks within a predetermined range from the bitstream, and using a parameter indicating the size of a prediction block to which the block within the predetermined range decoded from the bitstream belongs Determining a prediction block having a large area occupying the predetermined range, storing the determined motion vector of the prediction block in a memory as a representative value of the predetermined range, and at the time of decoding the next picture, A motion vector compression / decompression unit that selects a representative value of the motion vector from the memory according to the position of the prediction block;
A predicted motion vector selection unit that decodes a predicted motion vector using a representative value of the motion vector selected by the motion vector compression / decompression unit as a candidate for a predicted motion vector;
A moving picture decoding apparatus comprising:
請求項1に記載の動画像復号化装置において、
前記予測ブロックは前記分割したブロックを1個或いは複数個有する矩形の画素領域であって、同一の動き情報及び予測ブロックの大きさを表すパラメータを備えるように分割されることを特徴とする動画像復号化装置。
The video decoding device according to claim 1,
The prediction block is a rectangular pixel area having one or a plurality of the divided blocks, and is divided so as to have the same motion information and a parameter representing the size of the prediction block. Decryption device.
請求項1に記載の動画像復号化装置において、
前記分割したブロックには、前記動き情報として、動きベクトル以外に、参照ピクチャ番号、予測モードが格納され、前記分割したブロックが属する前記予測ブロックの大きさを表すパラメータとして、前記予測ブロックのサイズに至るまでの分割数と前記予測ブロックの形状とを示す分割モードが格納されることを特徴とする動画像復号化装置。
The video decoding device according to claim 1,
In the divided block, a reference picture number and a prediction mode are stored as the motion information in addition to a motion vector, and the parameter indicating the size of the prediction block to which the divided block belongs is set as the size of the prediction block. A moving picture decoding apparatus, wherein a division mode indicating the number of divisions up to and a shape of the prediction block is stored.
請求項1に記載の動画像復号化装置において、
所定範囲は前記メモリ内をピクチャと対応するように二次元に配列した前記動きベクトルのデータ列を均等に分割する正方矩形配列で定義され、前記正方矩形配列の辺長として前記分割したブロックの個数を表すパラメータをビットストリームより復号化して得ることを特徴とする動画像復号化装置。
The video decoding device according to claim 1,
The predetermined range is defined by a square rectangular array that equally divides the motion vector data array arranged two-dimensionally so as to correspond to the picture in the memory, and the number of blocks divided as the side length of the square rectangular array A video decoding device characterized in that it obtains a parameter representing the above from a bit stream.
請求項1に記載の動画像復号化装置において、
前記動きベクトル圧縮伸張部は、前記所定範囲で複数の予測ブロックが選択候補として残った場合に、復号された順番が先の予測ブロックを優先して、前記予測ブロックの動きベクトルを代表値として選択することを特徴とする動画像復号化装置。
The video decoding device according to claim 1,
The motion vector compression / decompression unit selects a motion vector of the prediction block as a representative value by prioritizing the previous prediction block in decoding order when a plurality of prediction blocks remain as selection candidates in the predetermined range. A moving picture decoding apparatus characterized by:
請求項1に記載の動画像復号化装置において、
前記動きベクトル圧縮伸張部は、前記所定範囲で複数の予測ブロックが選択候補として残った場合に、前記所定範囲の中央に近い位置にある予測ブロックを優先して、前記予測ブロックの動きベクトルを代表値として選択することを特徴とする動画像復号化装置。
The video decoding device according to claim 1,
The motion vector compression / decompression unit represents a motion vector of the prediction block by giving priority to a prediction block located near the center of the predetermined range when a plurality of prediction blocks remain as selection candidates in the predetermined range. A moving picture decoding apparatus characterized by selecting as a value.
請求項1に記載の動画像復号化装置において、
前記動きベクトル圧縮伸張部は、前記所定範囲の中央に配置された複数のブロックの動き情報と予測ブロックの大きさを表すパラメータに基づいて、前記複数のブロックが属する予測ブロックの大きさが最も大きいブロックの動きベクトルを代表値として選択することを特徴とする動画像復号化装置。
The video decoding device according to claim 1,
The motion vector compression / decompression unit has the largest predicted block size to which the plurality of blocks belong based on motion information of a plurality of blocks arranged in the center of the predetermined range and a parameter representing the size of the predicted block. A moving picture decoding apparatus, wherein a motion vector of a block is selected as a representative value.
請求項1に記載の動画像復号化装置において、
前記動きベクトル圧縮伸張部は、予め前記所定範囲の大きさに基づいて動きベクトルの選択の判定を実施する最小判定範囲を定め、前記所定範囲内の予測ブロックが前記最小判定範囲以上の大きさである場合に前記予測ブロックの動きベクトルを代表値として選択し、判定処理を終了することを特徴とする動画像復号化装置。
The video decoding device according to claim 1,
The motion vector compression / decompression unit previously determines a minimum determination range for performing determination of motion vector selection based on the size of the predetermined range, and a prediction block in the predetermined range is larger than the minimum determination range. In some cases, the motion decoding apparatus is characterized in that the motion vector of the prediction block is selected as a representative value, and the determination process is terminated.
動画像の各ピクチャを分割したブロック単位で動きベクトルを用いて前記動画像が符号化されたビットストリームを復号する動画像復号化方法であって、
前記ビットストリームから所定範囲内の前記ブロック単位で復号された動きベクトルを含む動き情報とともに、前記ビットストリームから復号された前記所定範囲内の前記ブロックの属する予測ブロックの大きさを表すパラメータを用いて、前記所定範囲内を占める領域の大きい予測ブロックを判定し、判定された前記予測ブロックの動きベクトルを前記所定範囲の代表値としてメモリに格納するとともに、次のピクチャの復号時に前記所定範囲の大きさと前記予測ブロックの位置により前記メモリから前記動きベクトルの代表値を選択する動きベクトル圧縮伸張ステップと、
前記動きベクトル圧縮伸張ステップにて選択された前記動きベクトルの代表値を予測動きベクトルの候補に用いて予測動きベクトルを復号する予測動きベクトル選択ステップと、
を具備することを特徴とする動画像復号化方法。
A moving picture decoding method for decoding a bitstream in which the moving picture is encoded using a motion vector in units of blocks obtained by dividing each picture of the moving picture,
Using motion information including a motion vector decoded in units of blocks within a predetermined range from the bitstream, and using a parameter indicating the size of a prediction block to which the block within the predetermined range decoded from the bitstream belongs Determining a prediction block having a large area occupying the predetermined range, storing the determined motion vector of the prediction block in a memory as a representative value of the predetermined range, and at the time of decoding the next picture, And a motion vector compression / decompression step for selecting a representative value of the motion vector from the memory according to the position of the prediction block;
A predicted motion vector selection step of decoding a predicted motion vector using a representative value of the motion vector selected in the motion vector compression / decompression step as a predicted motion vector candidate;
A moving picture decoding method comprising:
動画像の各ピクチャを分割したブロック単位で動きベクトルを用いて前記動画像が符号化されたビットストリームを復号する動作をコンピュータに実行させる動画像復号化プログラムであって、
前記ビットストリームから所定範囲内の前記ブロック単位で復号された動きベクトルを含む動き情報とともに、前記ビットストリームから復号された前記所定範囲内の前記ブロックの属する予測ブロックの大きさを表すパラメータを用いて、前記所定範囲内を占める領域の大きい予測ブロックを判定し、判定された前記予測ブロックの動きベクトルを前記所定範囲の代表値としてメモリに格納するとともに、次のピクチャの復号時に前記所定範囲の大きさと前記予測ブロックの位置により前記メモリから前記動きベクトルの代表値を選択する動きベクトル圧縮伸張ステップと、
前記動きベクトル圧縮伸張ステップにて選択された前記動きベクトルの代表値を予測動きベクトルの候補に用いて予測動きベクトルを復号する予測動きベクトル選択ステップと、
をコンピュータに実行させる動画像復号化プログラム。
A moving picture decoding program for causing a computer to execute an operation of decoding a bitstream in which the moving picture is encoded using a motion vector in units of blocks obtained by dividing each picture of the moving picture,
Using motion information including a motion vector decoded in units of blocks within a predetermined range from the bitstream, and using a parameter indicating the size of a prediction block to which the block within the predetermined range decoded from the bitstream belongs Determining a prediction block having a large area occupying the predetermined range, storing the determined motion vector of the prediction block in a memory as a representative value of the predetermined range, and at the time of decoding the next picture, And a motion vector compression / decompression step for selecting a representative value of the motion vector from the memory according to the position of the prediction block;
A predicted motion vector selection step of decoding a predicted motion vector using a representative value of the motion vector selected in the motion vector compression / decompression step as a predicted motion vector candidate;
Is a moving picture decoding program for causing a computer to execute.
JP2011050121A 2011-03-08 2011-03-08 Video decoding device, video decoding method, and video decoding program Withdrawn JP2012186760A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011050121A JP2012186760A (en) 2011-03-08 2011-03-08 Video decoding device, video decoding method, and video decoding program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011050121A JP2012186760A (en) 2011-03-08 2011-03-08 Video decoding device, video decoding method, and video decoding program

Publications (1)

Publication Number Publication Date
JP2012186760A true JP2012186760A (en) 2012-09-27

Family

ID=47016405

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011050121A Withdrawn JP2012186760A (en) 2011-03-08 2011-03-08 Video decoding device, video decoding method, and video decoding program

Country Status (1)

Country Link
JP (1) JP2012186760A (en)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014103632A (en) * 2012-11-22 2014-06-05 Kddi Corp Video compression format converter, video compression format converting method, and program
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
JP2016106494A (en) * 2016-02-12 2016-06-16 株式会社東芝 Moving image encoding method and moving image decoding method
WO2017052009A1 (en) * 2015-09-24 2017-03-30 엘지전자 주식회사 Amvr-based image coding method and apparatus in image coding system
JP2017200215A (en) * 2017-06-16 2017-11-02 株式会社東芝 Moving image encoding method and moving image decoding method
US9900594B2 (en) 2011-03-09 2018-02-20 Kabushiki Kaisha Toshiba Image encoding and decoding method with predicted and representative motion information
JP2018085751A (en) * 2018-01-05 2018-05-31 株式会社東芝 Moving image encoding method and moving image decoding method
CN110830800A (en) * 2018-08-08 2020-02-21 腾讯美国有限责任公司 Video decoding method, video decoding device, computer equipment and storage medium
JP2020048208A (en) * 2019-11-28 2020-03-26 株式会社東芝 Moving image encoding method and moving image decoding method
JP2020074582A (en) * 2020-01-21 2020-05-14 株式会社東芝 Moving picture coding device and moving picture decoding method
JP2020074624A (en) * 2020-02-03 2020-05-14 株式会社東芝 Moving picture coding device and moving picture decoding method
WO2020177696A1 (en) * 2019-03-05 2020-09-10 Huawei Technologies Co., Ltd. Use of extended samples during search in decoder-side motion refinement

Cited By (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10511851B2 (en) 2011-03-09 2019-12-17 Kabushiki Kaisha Toshiba Image encoding and decoding method with merge flag and motion vectors
US11323735B2 (en) 2011-03-09 2022-05-03 Kabushiki Kaisha Toshiba Image encoding and decoding method with a merge flag and motion vectors
US11290738B2 (en) 2011-03-09 2022-03-29 Kabushiki Kaisha Toshiba Image encoding and decoding method with a merge flag and motion vectors
US11303918B2 (en) 2011-03-09 2022-04-12 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
US9900594B2 (en) 2011-03-09 2018-02-20 Kabushiki Kaisha Toshiba Image encoding and decoding method with predicted and representative motion information
US10841606B2 (en) 2011-03-09 2020-11-17 Kabushiki Kaisha Toshiba Image encoding method and image decoding method
US11303917B2 (en) 2011-03-09 2022-04-12 Kabushiki Kaisha Toshiba Image encoding and decoding method with a merge flag and motion vectors
JP2014103632A (en) * 2012-11-22 2014-06-05 Kddi Corp Video compression format converter, video compression format converting method, and program
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
CN108353176A (en) * 2015-09-24 2018-07-31 Lg 电子株式会社 The image Compilation Method and device based on AMVR in image compiling system
US10547847B2 (en) 2015-09-24 2020-01-28 Lg Electronics Inc. AMVR-based image coding method and apparatus in image coding system
WO2017052009A1 (en) * 2015-09-24 2017-03-30 엘지전자 주식회사 Amvr-based image coding method and apparatus in image coding system
JP2016106494A (en) * 2016-02-12 2016-06-16 株式会社東芝 Moving image encoding method and moving image decoding method
JP2017200215A (en) * 2017-06-16 2017-11-02 株式会社東芝 Moving image encoding method and moving image decoding method
JP2018085751A (en) * 2018-01-05 2018-05-31 株式会社東芝 Moving image encoding method and moving image decoding method
CN110830800A (en) * 2018-08-08 2020-02-21 腾讯美国有限责任公司 Video decoding method, video decoding device, computer equipment and storage medium
WO2020177696A1 (en) * 2019-03-05 2020-09-10 Huawei Technologies Co., Ltd. Use of extended samples during search in decoder-side motion refinement
US11902508B2 (en) 2019-03-05 2024-02-13 Huawei Technologies Co., Ltd. Use of extended samples during search in decoder-side motion refinement
JP2020048208A (en) * 2019-11-28 2020-03-26 株式会社東芝 Moving image encoding method and moving image decoding method
JP2020074582A (en) * 2020-01-21 2020-05-14 株式会社東芝 Moving picture coding device and moving picture decoding method
JP2020074624A (en) * 2020-02-03 2020-05-14 株式会社東芝 Moving picture coding device and moving picture decoding method

Similar Documents

Publication Publication Date Title
JP2012186760A (en) Video decoding device, video decoding method, and video decoding program
US9848190B2 (en) Method and apparatus for setting reference picture index of temporal merging candidate
JP6615287B2 (en) Image decoding device
KR101457418B1 (en) Method and apparatus for video encoding and decoding dependent on hierarchical structure of coding unit
CN108696755B (en) Image encoding device, image decoding device, and methods thereof
US8422803B2 (en) Image encoding device, image decoding device, image encoding method and image decoding method
KR20190046704A (en) Method and apparatus for asymmetric sub-block based video encoding/decoding
KR20180018388A (en) Method for encoding/decoding video and apparatus thereof
JP2020114013A (en) Encoding device, decoding device, encoding method, decoding method, and program
WO2012087034A2 (en) Intra prediction method and apparatus using the method
JP5795525B2 (en) Image encoding method, image decoding method, image encoding device, image decoding device, image encoding program, and image decoding program
WO2013051794A1 (en) Method for encoding/decoding an intra-picture prediction mode using two intra-prediction mode candidates, and apparatus using such a method
JP2011223303A (en) Image encoding device and image encoding method, and image decoding device and image decoding method
CN114830651A (en) Intra prediction method, encoder, decoder, and computer storage medium
CN113906740A (en) Inter-frame prediction information encoding/decoding method and apparatus
JP2012186759A (en) Video encoding device, video encoding method, and video encoding program
CN113841404A (en) Video encoding/decoding method and apparatus, and recording medium storing bitstream
KR101926017B1 (en) Method and apparatus for video encoding and decoding dependent on hierarchical structure of coding unit
KR101811721B1 (en) Method and apparatus for video encoding and decoding dependent on hierarchical structure of coding unit
KR101687283B1 (en) Method and apparatus for video encoding and decoding dependent on hierarchical structure of coding unit
KR101538921B1 (en) Method and apparatus for video encoding and decoding dependent on hierarchical structure of coding unit
KR20190081488A (en) Method and apparatus for encoding/decoding a video signal
WO2012077533A1 (en) Image decoding device, motion vector decoding method, image encoding device, and motion vector encoding method
KR101662742B1 (en) Method and apparatus for video encoding and decoding dependent on hierarchical structure of coding unit
KR101662743B1 (en) Method and apparatus for video encoding and decoding dependent on hierarchical structure of coding unit

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20140513