JP2013058873A - Motion vector prediction device, encoder, decoder, and program therefor - Google Patents

Motion vector prediction device, encoder, decoder, and program therefor Download PDF

Info

Publication number
JP2013058873A
JP2013058873A JP2011195420A JP2011195420A JP2013058873A JP 2013058873 A JP2013058873 A JP 2013058873A JP 2011195420 A JP2011195420 A JP 2011195420A JP 2011195420 A JP2011195420 A JP 2011195420A JP 2013058873 A JP2013058873 A JP 2013058873A
Authority
JP
Japan
Prior art keywords
motion vector
block
prediction
reference block
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2011195420A
Other languages
Japanese (ja)
Other versions
JP5651560B2 (en
Inventor
Yasutaka Matsuo
康孝 松尾
Yoshiaki Shishikui
善明 鹿喰
Toshie Misu
俊枝 三須
Shinichi Sakaida
慎一 境田
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.)
Japan Broadcasting Corp
Original Assignee
Nippon Hoso Kyokai NHK
Japan Broadcasting 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 Nippon Hoso Kyokai NHK, Japan Broadcasting Corp filed Critical Nippon Hoso Kyokai NHK
Priority to JP2011195420A priority Critical patent/JP5651560B2/en
Publication of JP2013058873A publication Critical patent/JP2013058873A/en
Application granted granted Critical
Publication of JP5651560B2 publication Critical patent/JP5651560B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

PROBLEM TO BE SOLVED: To enhance prediction accuracy of a motion vector.SOLUTION: A motion vector prediction device 1 comprises: a motion vector threshold determination unit 12 for determining a threshold of magnitude of a motion vector in a reference block to be smaller when image resolution is higher and also when a block size of the reference block is smaller; a motion vector accuracy determination unit 13 for determining whether the magnitude of the motion vector of the reference block exceeds the threshold determined by the motion vector threshold determination unit 12, for each reference block; and a prediction motion vector generation unit 14 for generating a prediction motion vector of a prediction target block by using a median or a mean value of motion vectors of one or more reference blocks. The prediction motion vector generation unit 14 generates the prediction motion vector by using motion vectors of reference blocks of which the magnitude is determined to be equal to or less than the threshold by the motion vector accuracy determination unit 13.

Description

本発明は、予測対象ブロックの動きベクトルを予測する動きベクトル予測装置、符号化装置、復号装置、及びこれらのプログラムに関するものである。   The present invention relates to a motion vector prediction device, a coding device, a decoding device, and a program for predicting a motion vector of a prediction target block.

動画像の圧縮符号化方式としてMPEG−4 AVC/H.264方式などが用いられており、また、次世代の圧縮符号化方式としてHEVC(High Efficiency Video Coding)方式が検討されている。これらの圧縮符号化方式では、符号化対象ブロックの動きベクトルは周囲のブロックの動きベクトルと強い相関があることを利用して、符号化対象ブロックの左側や上側に隣接するブロック群を用いて動きベクトルの予測を行うことが知られている(例えば、非特許文献1及び2参照)。   MPEG-4 AVC / H. The H.264 system is used, and the HEVC (High Efficiency Video Coding) system is being studied as a next-generation compression encoding system. In these compression coding systems, using the fact that the motion vector of the block to be encoded has a strong correlation with the motion vector of the surrounding blocks, motion is performed using a block group adjacent to the left side or the upper side of the block to be encoded. It is known to perform vector prediction (see, for example, Non-Patent Documents 1 and 2).

図9は、動きベクトル予測に用いるブロックを示す図である。図9(a)は、MPEG−4 AVC/H.264方式における動きベクトル予測に用いるブロックの一例を示しており、予測対象ブロックXの動きベクトルの予測に、予測対象ブロックXに隣接するブロックA,B,Cを用いる。図9(b)は、HEVC方式における隣接ブロックの一例を示しており、予測対象ブロックXの動きベクトルの予測に、さらに多くのブロックA〜Aを用いる。 FIG. 9 is a diagram illustrating blocks used for motion vector prediction. FIG. 9A shows MPEG-4 AVC / H. 2 shows an example of a block used for motion vector prediction in the H.264 system, and blocks A, B, and C adjacent to the prediction target block X are used for prediction of the motion vector of the prediction target block X. FIG. 9B shows an example of adjacent blocks in the HEVC scheme, and more blocks A 1 to An are used for motion vector prediction of the prediction target block X.

MPEG−4 AVC/H.264方式やHEVC方式では、予測対象ブロックに隣接するブロックの動きベクトルの中央値を予測対象ブロックの動きベクトルの予測値(予測動きベクトル)とする。図10は、MPEG−4 AVC/H.264方式における動きベクトルの予測方法を説明する図である。予測対象ブロックXの左側、上側、右上側に隣接する隣接ブロックA,B,Cの動きベクトルをそれぞれmvA,mvB,mvCとし、予測対象ブロックXの予測動きベクトルをPとすると、次式(1)により予測動きベクトルPの水平方向成分及び垂直方向成分を算出する。   MPEG-4 AVC / H. In the H.264 system and the HEVC system, the median value of the motion vectors of the blocks adjacent to the prediction target block is used as the prediction value (predicted motion vector) of the motion vector of the prediction target block. FIG. 10 shows MPEG-4 AVC / H. It is a figure explaining the prediction method of the motion vector in H.264 system. When the motion vectors of adjacent blocks A, B, and C adjacent to the left side, the upper side, and the upper right side of the prediction target block X are mvA, mvB, and mvC, respectively, and the prediction motion vector of the prediction target block X is P, ) To calculate the horizontal direction component and the vertical direction component of the predicted motion vector P.

P(x)=median (mvA(x),mvB(x),mvC(x))
P(y)=median (mvA(y),mvB(y),mvC(y)) (1)
ここで、(x)はベクトルの水平方向成分を示し、(y)はベクトルの垂直方向成分を示し、medianは中央値を示す。
P (x) = median (mvA (x), mvB (x), mvC (x))
P (y) = median (mvA (y), mvB (y), mvC (y)) (1)
Here, (x) indicates the horizontal component of the vector, (y) indicates the vertical component of the vector, and median indicates the median value.

大久保 榮、他3名、「改訂三版 H.264/AVC教科書」、インプレスR&D、2008年12月26日、p.118-119Satoshi Okubo and three others, “Revised Third Edition H.264 / AVC Textbook”, Impress R & D, December 26, 2008, p.118-119 TK Tan, Gary J.Sullivan and Jean-Rainer Ohm, “Summary of HEVC working draft 1 and HEVC test model(HM)”, China, JCTVC-C405, Guangzhou, October 2010TK Tan, Gary J. Sullivan and Jean-Rainer Ohm, “Summary of HEVC working draft 1 and HEVC test model (HM)”, China, JCTVC-C405, Guangzhou, October 2010

しかし、従来技術では、予測に用いるブロックの動きベクトルの確度(動きベクトルの信頼度)を判定していないため、動きベクトルの確度が低いと、動きベクトルの予測確度も低下するという課題があった。例えば、フレーム間の大きな動きを小さなブロックで捉える場合、動きぼやけによりブロック内で画像特徴を捉えられないため、一般的に予測確度は低くなる。動物体の動きが大きいほど、この動きぼやけは大きくなる。また、同じ角速度(角度/秒)の動物体を同じ画角で撮影した場合、フレームレートに対する画像解像度が高いほど、動きぼやけは大きくなる。動きベクトルの確度が低い場合は、例えばブロックマッチングにおいてSAD(Sum of Absolute Difference)やSSD(Sum of Squared Difference)が最小となる動きベクトルを検出しても、それは真の動きを捉えていない可能性が高い。このような確度の低い動きベクトルを用いて動き補償を行うと、予測誤りの可能性が高くなる。   However, since the prior art does not determine the accuracy of the motion vector of the block used for prediction (motion vector reliability), if the accuracy of the motion vector is low, the prediction accuracy of the motion vector also decreases. . For example, when capturing a large motion between frames with a small block, the image feature cannot be captured within the block due to motion blur, and therefore the prediction accuracy is generally low. The greater the movement of the animal body, the greater this motion blur. In addition, when a moving object having the same angular velocity (angle / second) is photographed at the same angle of view, motion blur increases as the image resolution with respect to the frame rate increases. If the accuracy of the motion vector is low, for example, even if a motion vector having the smallest SAD (Sum of Absolute Difference) or SSD (Sum of Squared Difference) in block matching is detected, it may not capture true motion. Is expensive. If motion compensation is performed using a motion vector with such a low accuracy, the possibility of a prediction error increases.

本発明の目的は、上記問題を解決するため、動きベクトルの予測確度を向上させることが可能な動きベクトル予測装置、符号化装置、復号装置、及びこれらのプログラムを提供することにある。   In order to solve the above problems, an object of the present invention is to provide a motion vector prediction device, an encoding device, a decoding device, and a program thereof that can improve the prediction accuracy of motion vectors.

上記課題を解決するため、本発明では、まず画像解像度を基準に、参照ブロックの動きベクトルの大きさの閾値を決定する。そして、予測に用いる各参照ブロックについて、動きベクトルの大きさが閾値を超えているか否かを判定する。動きベクトルの大きさが閾値を超えている場合には動きぼやけにより動きベクトルの確度が低いとみなし、当該動きベクトルを動きベクトルの予測に用いないなどの処理を行う。   In order to solve the above-described problem, in the present invention, first, a threshold value of the magnitude of the motion vector of the reference block is determined based on the image resolution. Then, for each reference block used for prediction, it is determined whether or not the magnitude of the motion vector exceeds a threshold value. When the magnitude of the motion vector exceeds the threshold value, it is considered that the accuracy of the motion vector is low due to motion blur, and processing such as not using the motion vector for motion vector prediction is performed.

すなわち、本発明に係る動きベクトル予測装置は、予測対象ブロックの動きベクトルを、該予測対象ブロックに隣接する1以上の参照ブロックの動きベクトルを用いて予測する動きベクトル予測装置であって、参照ブロックの動きベクトルの大きさの閾値を、画像解像度が高いほど小さく、且つ該参照ブロックのブロックサイズが小さいほど小さくなるように決定する動きベクトル閾値決定部と、参照ブロックの動きベクトルの大きさが前記動きベクトル閾値決定部により決定された閾値を越えるか否かを参照ブロックごとに判定する動きベクトル確度判定部と、1以上の参照ブロックの動きベクトルの中央値又は平均値を前記予測対象ブロックの予測動きベクトルとして生成する予測動きベクトル生成部と、を備え、前記予測動きベクトル生成部は、前記動きベクトル確度判定部により参照ブロックの動きベクトルの大きさが前記閾値以下であると判定された動きベクトルを用いて前記予測動きベクトルを生成することを特徴とする。   That is, the motion vector prediction apparatus according to the present invention is a motion vector prediction apparatus that predicts a motion vector of a prediction target block using a motion vector of one or more reference blocks adjacent to the prediction target block. A motion vector threshold value determination unit that determines a threshold value of the motion vector size to be smaller as the image resolution is higher and smaller as the block size of the reference block is smaller; A motion vector accuracy determination unit that determines whether or not the threshold determined by the motion vector threshold determination unit is exceeded for each reference block, and the median value or average value of the motion vectors of one or more reference blocks is predicted for the prediction target block A predicted motion vector generation unit that generates a motion vector, and the predicted motion vector Forming unit, and generates the predicted motion vector using the determined motion vector and the magnitude is below the threshold value of the motion vector of the reference block by the motion vector accuracy determining unit.

また、本発明に係る動きベクトル予測装置において、前記動きベクトル確度判定部により参照ブロックの動きベクトルの大きさが前記閾値を越えると判定された場合に、参照ブロックの動きベクトルを修正する動きベクトル修正部を更に備え、前記予測動きベクトル生成部は、前記動きベクトル確度判定部により参照ブロックの動きベクトルの大きさが前記閾値以下であると判定された場合には該動きベクトルを用い、前記動きベクトル確度判定部により参照ブロックの動きベクトルの大きさが前記閾値を越えると判定された場合には動きベクトルの前記動きベクトル修正部により修正された動きベクトルを用いて前記予測動きベクトルを生成することを特徴とする。   Further, in the motion vector prediction device according to the present invention, when the motion vector accuracy determination unit determines that the size of the motion vector of the reference block exceeds the threshold, the motion vector correction for correcting the motion vector of the reference block The motion vector accuracy determining unit uses the motion vector when the motion vector accuracy determining unit determines that the size of the motion vector of the reference block is equal to or less than the threshold value. When the accuracy determining unit determines that the size of the motion vector of the reference block exceeds the threshold, the motion vector corrected by the motion vector correcting unit of the motion vector is used to generate the predicted motion vector. Features.

また、本発明に係る動きベクトル予測装置において、前記動きベクトル修正部は、前記動きベクトル確度判定部により参照ブロックの動きベクトルの大きさが前記閾値を越えると判定された場合に、参照ブロックの動きベクトル及び該参照ブロックに隣接するブロックの動きベクトルの中央値又は平均値を算出し、参照ブロックの動きベクトルを、前記算出した中央値又は平均値に修正することを特徴とする。   Further, in the motion vector prediction device according to the present invention, the motion vector correction unit, when the motion vector accuracy determination unit determines that the size of the motion vector of the reference block exceeds the threshold value, The median or average value of the vector and the motion vector of the block adjacent to the reference block is calculated, and the motion vector of the reference block is corrected to the calculated median or average value.

また、本発明に係る動きベクトル予測装置において、前記動きベクトル修正部は、前記動きベクトル確度判定部により参照ブロックの動きベクトルの大きさが前記閾値を越えると判定された場合に、参照ブロック及び該参照ブロックに隣接するブロックを統合した統合ブロックを生成して統合ブロックの動きベクトルを検出し、参照ブロックの動きベクトルを、前記検出した統合ブロックの動きベクトルに修正することを特徴とする。   Further, in the motion vector prediction device according to the present invention, the motion vector correction unit, when the motion vector accuracy determination unit determines that the size of the motion vector of the reference block exceeds the threshold, An integrated block obtained by integrating blocks adjacent to the reference block is generated to detect a motion vector of the integrated block, and the motion vector of the reference block is corrected to the detected motion vector of the integrated block.

また、上記課題を解決するため、本発明に係る符号化装置は、上述した動きベクトル予測装置を備え、上述した予測動きベクトルを用いて動き補償を行うことを特徴とする。   In order to solve the above-described problem, an encoding apparatus according to the present invention includes the motion vector prediction device described above, and performs motion compensation using the prediction motion vector described above.

また、上記課題を解決するため、本発明に係る復号装置は、上述した動きベクトル予測装置を備え、上述した予測動きベクトルを用いて動き補償を行うことを特徴とする。   In order to solve the above problem, a decoding apparatus according to the present invention includes the above-described motion vector prediction apparatus, and performs motion compensation using the above-described prediction motion vector.

また、上記課題を解決するため、本発明に係るプログラムは、コンピュータを、上述した動きベクトル予測装置、符号化装置、又は復号装置として機能させることを特徴とする。   In order to solve the above-described problem, a program according to the present invention causes a computer to function as the above-described motion vector prediction device, encoding device, or decoding device.

本発明によれば、動きベクトルの予測確度を向上させることができるようになる。   According to the present invention, the prediction accuracy of motion vectors can be improved.

本発明による実施例1の動きベクトル予測装置の構成を示すブロック図である。It is a block diagram which shows the structure of the motion vector prediction apparatus of Example 1 by this invention. 本発明による実施例1の動きベクトル予測装置の動作を示すフローチャートである。It is a flowchart which shows operation | movement of the motion vector prediction apparatus of Example 1 by this invention. 本発明による実施例2の動きベクトル予測装置の構成を示すブロック図である。It is a block diagram which shows the structure of the motion vector prediction apparatus of Example 2 by this invention. 本発明による実施例2の動きベクトル予測装置の隣接参照ブロックの例を示す図である。It is a figure which shows the example of the adjacent reference block of the motion vector prediction apparatus of Example 2 by this invention. 本発明による実施例2の動きベクトル予測装置の動作を示すフローチャートである。It is a flowchart which shows operation | movement of the motion vector prediction apparatus of Example 2 by this invention. 本発明による実施例3の動きベクトル予測装置の構成を示すブロック図である。It is a block diagram which shows the structure of the motion vector prediction apparatus of Example 3 by this invention. 本発明による符号化装置の構成を示すブロック図である。It is a block diagram which shows the structure of the encoding apparatus by this invention. 本発明による復号装置の構成を示すブロック図である。It is a block diagram which shows the structure of the decoding apparatus by this invention. 従来の動きベクトル予測に用いるブロックを示す図である。It is a figure which shows the block used for the conventional motion vector prediction. 従来の動きベクトルの予測方法を説明する図である。It is a figure explaining the prediction method of the conventional motion vector.

以下、本発明の実施形態について、図面を参照して詳細に説明する。   Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.

本発明による動きベクトル予測装置は、予測対象ブロックの動きベクトルを、1以上の参照ブロックの動きベクトルを用いて予測するものである。ここで、参照ブロックとは、予測対象ブロックに隣接し、動きベクトル検出済みのブロックのことをいう。図1は、本発明による実施例1の動きベクトル予測装置の構成を示すブロック図である。図1に示すように、動きベクトル予測装置1は、ブロック情報取得部11と、動きベクトル閾値決定部12と、動きベクトル確度判定部13と、予測動きベクトル生成部14とを備える。   The motion vector prediction apparatus according to the present invention predicts a motion vector of a prediction target block using a motion vector of one or more reference blocks. Here, the reference block is a block adjacent to the prediction target block and having a motion vector detected. FIG. 1 is a block diagram showing the configuration of the motion vector predicting apparatus according to the first embodiment of the present invention. As illustrated in FIG. 1, the motion vector prediction device 1 includes a block information acquisition unit 11, a motion vector threshold value determination unit 12, a motion vector accuracy determination unit 13, and a predicted motion vector generation unit 14.

ブロック情報取得部11は、入力画像の解像度情報、参照ブロックのサイズ情報、及び参照ブロックの動きベクトルを含むブロック情報を取得する。そして、ブロック情報取得部11は、入力画像の解像度情報及び参照ブロックのサイズ情報を動きベクトル閾値決定部12に出力し、参照ブロックの動きベクトルを動きベクトル確度判定部13及び予測動きベクトル生成部14に出力する。動きベクトル予測装置1が符号化装置の動きベクトルの予測に用いられる場合には、ブロック情報取得部11は、入力画像の解像度情報を符号化装置に設定されたパラメータ情報から取得し、参照ブロックのサイズ情報及び参照ブロックの動きベクトルを、参照ブロックの動きベクトル検出処理時のブロックサイズ及び動きベクトル検出処理により検出された動きベクトルとする。   The block information acquisition unit 11 acquires block information including resolution information of the input image, reference block size information, and reference block motion vectors. Then, the block information acquisition unit 11 outputs the resolution information of the input image and the size information of the reference block to the motion vector threshold value determination unit 12, and the motion vector accuracy determination unit 13 and the predicted motion vector generation unit 14 output the motion vector of the reference block. Output to. When the motion vector prediction device 1 is used for motion vector prediction of the encoding device, the block information acquisition unit 11 acquires the resolution information of the input image from the parameter information set in the encoding device, and The size information and the motion vector of the reference block are set as the motion vector detected by the block size and the motion vector detection processing at the time of the motion vector detection processing of the reference block.

動きベクトル閾値決定部12は、参照ブロックの動きベクトルの確度を判定するために、参照ブロックごとに、動きベクトルの大きさの閾値(以下、「動きベクトル閾値」という)を、入力画像の画像解像度が高いほど小さく、且つ参照ブロックのサイズが小さいほど小さくなるように決定し、決定した動きベクトル閾値を動きベクトル確度判定部13に出力する。   In order to determine the accuracy of the motion vector of the reference block, the motion vector threshold value determination unit 12 sets a motion vector magnitude threshold value (hereinafter referred to as “motion vector threshold value”) for each reference block, and the image resolution of the input image. And the smaller the reference block size is, the smaller the value is, and the smaller the reference block size is, and the determined motion vector threshold is output to the motion vector accuracy determination unit 13.

動きベクトル閾値決定部12は、予め定められた閾値対応表を参照して、動きベクトル閾値決定するようにしてもよい。以下の表1に、閾値対応表の一例を示す。動きベクトル閾値決定部12は、閾値対応表を参照することで、画像解像度及び参照ブロックの水平又は垂直方向のサイズ(いずれか小さいほう)に対応する、動きベクトル閾値を決定することができる。例えば、表1の閾値対応表を参照すると、参照ブロックのブロックサイズが8×8画素で画像解像度が1920×1080の場合、動きベクトル閾値は16画素となる。   The motion vector threshold value determination unit 12 may determine the motion vector threshold value with reference to a predetermined threshold correspondence table. Table 1 below shows an example of the threshold correspondence table. The motion vector threshold value determination unit 12 can determine a motion vector threshold value corresponding to the image resolution and the size of the reference block in the horizontal or vertical direction (whichever is smaller) by referring to the threshold value correspondence table. For example, referring to the threshold correspondence table in Table 1, when the block size of the reference block is 8 × 8 pixels and the image resolution is 1920 × 1080, the motion vector threshold is 16 pixels.

Figure 2013058873
Figure 2013058873

なお、閾値対応表は、画像解像度に対して比較的大きなサイズのブロック(例えば、画像解像度が1920×1080の場合は、32×32サイズのブロック)でブロックマッチングによる動き検出を行い、画像の持つ大まかな動き量を把握してから決定するようにしてもよい。   Note that the threshold correspondence table performs motion detection by block matching on a block having a relatively large size with respect to the image resolution (for example, a block of 32 × 32 when the image resolution is 1920 × 1080), and has an image. You may make it determine after grasping | ascertaining rough movement amount.

動きベクトル確度判定部13は、ブロック情報取得部11から入力される参照ブロックの動きベクトル、及び動きベクトル閾値決定部12から入力される動きベクトル閾値に基づいて、参照ブロックの動きベクトルの確度を判定する。具体的には、動きベクトル確度判定部13は、参照ブロックの動きベクトルの大きさが、動きベクトル閾値決定部12により決定された動きベクトル閾値を越える場合は確度が低いと判定し、動きベクトル閾値決定部12により決定された動きベクトル閾値以下である場合は確度が高いと判定する。そして、動きベクトル確度判定部13は、動きベクトル閾値を越えるか否か、すなわち参照ブロックの動きベクトルの確度が低いか高いかを示す確度情報を予測動きベクトル生成部14に出力する。   The motion vector accuracy determination unit 13 determines the accuracy of the motion vector of the reference block based on the motion vector of the reference block input from the block information acquisition unit 11 and the motion vector threshold value input from the motion vector threshold value determination unit 12. To do. Specifically, the motion vector accuracy determination unit 13 determines that the accuracy is low when the size of the motion vector of the reference block exceeds the motion vector threshold determined by the motion vector threshold determination unit 12, and determines the motion vector threshold. When it is below the motion vector threshold determined by the determination unit 12, it is determined that the accuracy is high. Then, the motion vector accuracy determination unit 13 outputs accuracy information indicating whether or not the motion vector threshold is exceeded, that is, whether the accuracy of the motion vector of the reference block is low or high, to the predicted motion vector generation unit 14.

予測動きベクトル生成部14は、動きベクトル確度判定部13から入力される確度情報に基づき、動きベクトル確度判定部13により確度が高い(参照ブロックの動きベクトルの大きさが動きベクトル閾値以下である)と判定された動きベクトルのみを用いて、該動きベクトルの中央値又は平均値を予測対象ブロックの予測動きベクトルとして生成する。ただし、動きベクトル確度判定部13により、予測対象ブロックに対応する全ての参照ブロックの動きベクトルの確度が低いと判定された場合には、動きベクトルの予測を行わないようにするか、後述する実施例2の動きベクトル予測装置のように動きベクトルを修正し、修正された動きベクトルを用いて予測動きベクトルを生成する必要がある。   The predicted motion vector generation unit 14 has high accuracy from the motion vector accuracy determination unit 13 based on the accuracy information input from the motion vector accuracy determination unit 13 (the size of the motion vector of the reference block is equal to or less than the motion vector threshold). Using only the motion vector determined to be, the median value or average value of the motion vectors is generated as the predicted motion vector of the prediction target block. However, when the motion vector accuracy determination unit 13 determines that the accuracy of the motion vectors of all the reference blocks corresponding to the prediction target block is low, the motion vector is not predicted or is described later. It is necessary to correct the motion vector as in the motion vector prediction apparatus of Example 2 and generate a predicted motion vector using the corrected motion vector.

次に、このように構成される動きベクトル予測装置1の動作を説明する。図2は、本発明による実施例1の動きベクトル予測装置1の動作を示すフローチャートであり、予測対象ブロックごとの予測動きベクトルの生成手順を示す。   Next, the operation of the motion vector prediction apparatus 1 configured as described above will be described. FIG. 2 is a flowchart showing the operation of the motion vector predicting apparatus 1 according to the first embodiment of the present invention, and shows a procedure for generating a predicted motion vector for each prediction target block.

まず、動きベクトル予測装置1は、ブロック情報取得部11により、ブロック情報を参照ブロックごとに取得する(ステップS101)。例えば、図9(a)に示す予測対象ブロックXについては、参照ブロックA,B又はCのブロック情報を取得する。次に、動きベクトル予測装置1は、動きベクトル閾値決定部12により、入力画像の解像度情報及び参照ブロックのサイズ情報に基づいて、参照ブロックごとに動きベクトル閾値を決定する(ステップS102)。   First, the motion vector prediction device 1 acquires block information for each reference block by the block information acquisition unit 11 (step S101). For example, the block information of the reference block A, B, or C is acquired for the prediction target block X shown in FIG. Next, the motion vector prediction apparatus 1 determines the motion vector threshold value for each reference block based on the resolution information of the input image and the size information of the reference block by the motion vector threshold value determination unit 12 (step S102).

次に、動きベクトル予測装置1は、動きベクトル確度判定部13により、参照ブロックの動きベクトルをステップS102で決定した動きベクトル閾値に基づいて判定する(ステップS103)。そして、動きベクトル予測装置1は、ステップS103で参照ブロックの動きベクトルの確度が高い、すなわち、参照ブロックの動きベクトルの大きさが、ステップS101にて決定した閾値以下であると判定した場合にのみ、予測動きベクトル生成部14により動きベクトルを取得する(ステップS104)。   Next, the motion vector prediction device 1 determines the motion vector of the reference block based on the motion vector threshold determined in step S102 by the motion vector accuracy determination unit 13 (step S103). Then, the motion vector prediction apparatus 1 only when it is determined in step S103 that the accuracy of the motion vector of the reference block is high, that is, the size of the motion vector of the reference block is equal to or less than the threshold value determined in step S101. The motion vector is acquired by the predicted motion vector generation unit 14 (step S104).

次に、動きベクトル予測装置1は、予測対象ブロックに対応する全ての参照ブロックについてブロック情報を取得したか否かを判定する(ステップS105)。例えば、図9(a)に示す予測対象ブロックXについては、参照ブロックA,B及びCのブロック情報を取得したか否かを判定する。そして、動きベクトル予測装置1は、ステップS105で予測対象ブロックに対応する全ての参照ブロックのブロック情報を取得したと判定されるまで、ステップS101からステップS104の処理を繰り返し行う。動きベクトル予測装置1は、予測対象ブロックに対応する全ての参照ブロックについてブロック情報を取得すると、予測動きベクトル生成部14により、動きベクトルを予測して予測動きベクトルを生成する(ステップS106)。動きベクトル予測装置1は、このような処理を予測対象ブロックごとに行う。   Next, the motion vector prediction device 1 determines whether or not block information has been acquired for all reference blocks corresponding to the prediction target block (step S105). For example, for the prediction target block X shown in FIG. 9A, it is determined whether or not the block information of the reference blocks A, B, and C has been acquired. Then, the motion vector predicting apparatus 1 repeatedly performs the processing from step S101 to step S104 until it is determined in step S105 that block information of all reference blocks corresponding to the prediction target block has been acquired. When the motion vector prediction device 1 acquires block information for all reference blocks corresponding to the prediction target block, the motion vector predictor 1 predicts a motion vector and generates a motion vector predictor (step S106). The motion vector prediction apparatus 1 performs such processing for each prediction target block.

このように、動きベクトル予測装置1は、動きベクトル確度判定部13により参照ブロックの動きベクトルの確度を判定し、確度が高いと判定された動きベクトルのみを用いて予測動きベクトル生成部14により予測動きベクトルを生成する。このため、動きベクトル予測装置1によれば、動きベクトルの予測確度を向上させることができるようになる。   As described above, the motion vector prediction device 1 determines the accuracy of the motion vector of the reference block by the motion vector accuracy determination unit 13 and predicts by the motion vector predictor generation unit 14 using only the motion vector determined to have high accuracy. Generate motion vectors. For this reason, according to the motion vector prediction apparatus 1, the prediction accuracy of a motion vector can be improved.

なお、上述した動きベクトル予測装置1として機能させるためにコンピュータを好適に用いることができ、そのようなコンピュータは、動きベクトル予測装置1の各機能を実現する処理内容を記述したプログラムを、当該コンピュータの記憶部に格納しておき、当該コンピュータのCPU(中央演算処理装置)によってこのプログラムを読み出して実行させることで実現することができる。   It should be noted that a computer can be suitably used to function as the motion vector predicting apparatus 1 described above, and such a computer can store a program describing processing contents for realizing each function of the motion vector predicting apparatus 1. This program can be realized by reading out and executing this program by the CPU (central processing unit) of the computer.

次に、本発明による実施例2の動きベクトル予測装置について説明する。図3は、実施例2の動きベクトル予測装置の構成を示すブロック図である。図3に示すように、実施例2の動きベクトル予測装置2は、ブロック情報取得部11と、動きベクトル閾値決定部12と、動きベクトル確度判定部13と、予測動きベクトル生成部14と、動きベクトル修正部15とを備える。実施例2の動きベクトル予測装置2は、実施例1の動きベクトル予測装置1と比較して、動きベクトル修正部15を更に備える点で相違する。なお、第1の実施形態と同じ構成要素には同一の参照番号を付して適宜説明を省略する。動きベクトル予測装置2は、参照ブロックに隣接する動きベクトル検出済みのブロック(以下、「隣接参照ブロック」という)も用いて動きベクトルを予測する。   Next, a motion vector predicting apparatus according to a second embodiment of the present invention will be described. FIG. 3 is a block diagram illustrating the configuration of the motion vector prediction apparatus according to the second embodiment. As illustrated in FIG. 3, the motion vector prediction device 2 according to the second embodiment includes a block information acquisition unit 11, a motion vector threshold determination unit 12, a motion vector accuracy determination unit 13, a predicted motion vector generation unit 14, And a vector correction unit 15. The motion vector prediction device 2 according to the second embodiment is different from the motion vector prediction device 1 according to the first embodiment in that it further includes a motion vector correction unit 15. The same constituent elements as those in the first embodiment are denoted by the same reference numerals, and description thereof will be omitted as appropriate. The motion vector predicting apparatus 2 predicts a motion vector also using a motion vector detected block (hereinafter referred to as an “adjacent reference block”) adjacent to the reference block.

ブロック情報取得部11は、入力画像の解像度情報、並びに、参照ブロック及び隣接参照ブロックのサイズ情報、動きベクトル、及びフレーム内における位置情報を含むブロック情報を取得する。そして、ブロック情報取得部11は、入力画像の解像度情報及び参照ブロックのサイズ情報を動きベクトル閾値決定部12に出力し、参照ブロックの動きベクトルを動きベクトル確度判定部13に出力し、参照ブロック及び隣接参照ブロックのサイズ情報、動きベクトル、及びフレーム内における位置情報を動きベクトル修正部15に出力する。   The block information acquisition unit 11 acquires block information including resolution information of an input image, size information of reference blocks and adjacent reference blocks, motion vectors, and position information within a frame. Then, the block information acquisition unit 11 outputs the resolution information of the input image and the size information of the reference block to the motion vector threshold value determination unit 12, and outputs the motion vector of the reference block to the motion vector accuracy determination unit 13, The size information of the adjacent reference block, the motion vector, and the position information in the frame are output to the motion vector correction unit 15.

図4は、隣接参照ブロックの例を示す図である。ブロック情報取得部11は、HEVC方式の場合、例えば図4(a)に示すように、参照ブロックAのブロック情報と、参照ブロックAに隣接する隣接参照ブロックa1〜a5のブロック情報とを取得する。図4(a)は参照ブロックAが予測対象ブロックXの左側に隣接する場合を示しており、図4(b)は参照ブロックAが予測対象ブロックXの上側に隣接する場合を示している。図4(c)に示すように、参照ブロックAと頂点のみが隣接するブロックa3を隣接参照ブロックに含めてもよい。図4(d)(e)は、参照ブロックAと隣接参照ブロックのバリエーションを示す図である。なお、図4(f)に示すように、参照ブロックAに隣接する隣接参照ブロックa1〜a5と、参照ブロックBに隣接する隣接参照ブロックb1〜b5の一部が重なってもよい。また、MPEG−4 AVC/H.264の場合における参照ブロック及び隣接参照ブロックの例を図4(g)(h)に示す。図4(g)は参照ブロックAが予測対象ブロックXの左側に隣接する場合を示しており、図4(h)は参照ブロックAが予測対象ブロックXの上側に隣接する場合を示している。   FIG. 4 is a diagram illustrating an example of adjacent reference blocks. In the HEVC scheme, the block information acquisition unit 11 acquires block information of the reference block A and block information of adjacent reference blocks a1 to a5 adjacent to the reference block A, for example, as illustrated in FIG. . 4A shows a case where the reference block A is adjacent to the left side of the prediction target block X, and FIG. 4B shows a case where the reference block A is adjacent to the upper side of the prediction target block X. As shown in FIG. 4C, a block a3 in which only the vertex is adjacent to the reference block A may be included in the adjacent reference block. 4D and 4E are diagrams showing variations of the reference block A and the adjacent reference block. As shown in FIG. 4F, adjacent reference blocks a1 to a5 adjacent to the reference block A and adjacent reference blocks b1 to b5 adjacent to the reference block B may overlap. In addition, MPEG-4 AVC / H. Examples of reference blocks and adjacent reference blocks in the case of H.264 are shown in FIGS. FIG. 4G shows a case where the reference block A is adjacent to the left side of the prediction target block X, and FIG. 4H shows a case where the reference block A is adjacent to the upper side of the prediction target block X.

動きベクトル確度判定部13は、ブロック情報取得部11から所得した参照ブロックの動きベクトルが、動きベクトル閾値決定部12により決定された動きベクトル閾値を越えるか否かを判定し、動きベクトル閾値を越えるか否か(動きベクトルが低いか高いか)を示す確度情報を動きベクトル修正部15に出力する。   The motion vector accuracy determination unit 13 determines whether or not the motion vector of the reference block obtained from the block information acquisition unit 11 exceeds the motion vector threshold determined by the motion vector threshold determination unit 12, and exceeds the motion vector threshold. Whether or not (the motion vector is low or high) is output to the motion vector correction unit 15.

動きベクトル修正部15は、動きベクトル確度判定部13から取得した確度情報が、参照ブロックの動きベクトルが動きベクトル閾値を超えること(確度が低いこと)を示している場合には、動きベクトルを修正し、修正された動きベクトル(以下、「修正動きベクトル」という)を予測動きベクトル生成部14に出力し、動きベクトル確度判定部13から取得した確度情報が、参照ブロックの動きベクトルが動きベクトル閾値以下であること(確度が高いこと)を示している場合には、動きベクトルを修正することなくそのまま予測動きベクトル生成部14に出力する。以下に、参照ブロックの動きベクトルの確度が低い場合における動きベクトル修正部15の動きベクトル修正処理方法について、2つの例を説明する。   The motion vector correction unit 15 corrects the motion vector when the accuracy information acquired from the motion vector accuracy determination unit 13 indicates that the motion vector of the reference block exceeds the motion vector threshold (the accuracy is low). Then, the corrected motion vector (hereinafter referred to as “corrected motion vector”) is output to the predicted motion vector generation unit 14, and the accuracy information acquired from the motion vector accuracy determination unit 13 indicates that the motion vector of the reference block is the motion vector threshold value. If it indicates the following (high accuracy), the motion vector is output to the predicted motion vector generation unit 14 without modification. Hereinafter, two examples of the motion vector correction processing method of the motion vector correction unit 15 when the accuracy of the motion vector of the reference block is low will be described.

動きベクトル修正部15は、第1の例では、参照ブロックの動きベクトルの確度が低い場合、参照ブロックの動きベクトル及び該参照ブロックに隣接するブロックの動きベクトルの中央値又は平均値を算出し、参照ブロックの動きベクトルを、算出した中央値又は平均値に修正する。例えば、図4(a)の場合、参照ブロックAの動きベクトル及び隣接参照ブロックa1〜a5の5つの動きベクトルの中央値又は平均値を、参照ブロックAの修正動きベクトルとする。ここで、参照ブロックと隣接参照ブロックとの間で、動きベクトル検出時の参照フレームが異なる場合には、その時間方向の距離に合わせて、動きベクトルのスケーリングを行う。例えば、参照ブロックAの参照フレームが1フレーム後で隣接参照ブロックa1の参照フレームが2フレーム後であった場合、隣接参照ブロックa1の動きベクトルを水平方向及び垂直方向に1/2にし、参照ブロックAの参照フレームが1フレーム後で隣接参照ブロックa2の参照フレームが1フレーム前であった場合、隣接参照ブロックa2の動きベクトルの符号を逆にする。   In the first example, when the accuracy of the motion vector of the reference block is low, the motion vector correction unit 15 calculates the median value or the average value of the motion vector of the reference block and the motion vector of the block adjacent to the reference block, The motion vector of the reference block is corrected to the calculated median value or average value. For example, in the case of FIG. 4A, the median value or average value of the motion vector of the reference block A and the five motion vectors of the adjacent reference blocks a1 to a5 is set as the corrected motion vector of the reference block A. Here, when the reference frame at the time of motion vector detection differs between the reference block and the adjacent reference block, the motion vector is scaled according to the distance in the time direction. For example, when the reference frame of the reference block A is one frame later and the reference frame of the adjacent reference block a1 is two frames later, the motion vector of the adjacent reference block a1 is halved in the horizontal direction and the vertical direction, and the reference block When the reference frame of A is one frame later and the reference frame of the adjacent reference block a2 is one frame before, the sign of the motion vector of the adjacent reference block a2 is reversed.

また、動きベクトル修正部15は、第2の例では、参照ブロックの動きベクトルの確度が低い場合、参照ブロック及び隣接参照ブロックの位置情報及びブロックサイズ情報に基づいて、参照ブロック及び隣接参照ブロックを統合した統合ブロックを生成する。そして動きベクトル修正部15は、統合ブロックの動きベクトルを検出し、参照ブロックの動きベクトルを、統合ブロックの動きベクトルに修正する。ここで、統合ブロックの動きベクトルは、例えばSSD法やSAD法を用いたブロックマッチングにより検出する。また、ブロックマッチングは、例えば次式(2)に示すパラボラフィッティング関数を用いた補間処理により、小数画素精度で行う。   Also, in the second example, the motion vector correction unit 15 determines the reference block and the adjacent reference block based on the position information and the block size information of the reference block and the adjacent reference block when the accuracy of the motion vector of the reference block is low. Generate integrated integrated block. Then, the motion vector correction unit 15 detects the motion vector of the integrated block, and corrects the motion vector of the reference block to the motion vector of the integrated block. Here, the motion vector of the integrated block is detected by block matching using, for example, the SSD method or the SAD method. In addition, block matching is performed with decimal pixel accuracy by interpolation processing using a parabolic fitting function represented by the following equation (2), for example.

Figure 2013058873
Figure 2013058873

予測動きベクトル生成部14は、予測対象ブロックごとに、該予測対象ブロックに関する全ての参照ブロックについて、動きベクトル確度判定部13により動きベクトルの確度が高いと判定された場合には該動きベクトルを、動きベクトル確度判定部13により動きベクトルの確度が低いと判定された場合には修正動きベクトルを、動きベクトル修正部15から取得し、これらのベクトルの中央値又は平均値を予測対象ブロックの予測動きベクトルとして生成する。   The predicted motion vector generation unit 14 for each prediction target block, when the motion vector accuracy determination unit 13 determines that the accuracy of the motion vector is high for all reference blocks related to the prediction target block, When the motion vector accuracy determination unit 13 determines that the accuracy of the motion vector is low, the corrected motion vector is acquired from the motion vector correction unit 15, and the median value or average value of these vectors is predicted motion of the prediction target block. Generate as a vector.

次に、このように構成される動きベクトル予測装置2の動作を説明する。図5は、本発明による実施例2の動きベクトル予測装置2の動作を示すフローチャートであり、予測対象ブロックごとの予測動きベクトルの生成手順を示す。まず、動きベクトル予測装置2は、ブロック情報取得部11により、ブロック情報を取得する(ステップS101)。次に、動きベクトル予測装置2は、動きベクトル閾値決定部12により、入力画像の解像度情報及び参照ブロックのサイズ情報に基づいて動きベクトル閾値を決定する(ステップS102)。   Next, the operation of the motion vector prediction apparatus 2 configured as described above will be described. FIG. 5 is a flowchart showing the operation of the motion vector predicting apparatus 2 according to the second embodiment of the present invention, and shows a procedure for generating a predicted motion vector for each prediction target block. First, the motion vector prediction device 2 acquires block information by the block information acquisition unit 11 (step S101). Next, the motion vector prediction apparatus 2 determines the motion vector threshold value based on the resolution information of the input image and the size information of the reference block by the motion vector threshold value determination unit 12 (step S102).

次に、動きベクトル予測装置2は、動きベクトル確度判定部13により、参照ブロックの動きベクトルの確度を、ステップS102で決定した動きベクトル閾値に基づいて判定する(ステップS103)。そして、動きベクトル予測装置2は、ステップS103で参照ブロックの動きベクトルの確度が高いと判定した場合には、予測動きベクトル生成部14により動きベクトルを取得し(ステップS104)、ステップS103で参照ブロックの動きベクトルの確度が低いと判定した場合には、動きベクトル修正部15により動きベクトルを修正する(ステップS107)。   Next, the motion vector prediction device 2 determines the accuracy of the motion vector of the reference block by the motion vector accuracy determination unit 13 based on the motion vector threshold determined in step S102 (step S103). When the motion vector prediction device 2 determines that the accuracy of the motion vector of the reference block is high in step S103, the motion vector prediction device 2 acquires the motion vector by the predicted motion vector generation unit 14 (step S104), and in step S103, the reference block When it is determined that the accuracy of the motion vector is low, the motion vector correction unit 15 corrects the motion vector (step S107).

次に、動きベクトル予測装置2は、予測対象ブロックに対応する全ての参照ブロックについてブロック情報を取得したか否かを判定する(ステップS105)。そして、ベクトル予測装置2は、ステップS105で予測対象ブロックに対応する全ての参照ブロックのブロック情報を取得するまで、ステップS101からステップS104、及びステップS107の処理を繰り返し行う。動きベクトル予測装置2は、予測対象ブロックに対応する全ての参照ブロックについてブロック情報を取得すると、予測動きベクトル生成部14により、動きベクトルを予測して予測動きベクトルを生成する(ステップS106)。動きベクトル予測装置2は、このような処理を、予測対象ブロックごとに行う。   Next, the motion vector prediction device 2 determines whether or not block information has been acquired for all reference blocks corresponding to the prediction target block (step S105). Then, the vector prediction device 2 repeatedly performs the processing from step S101 to step S104 and step S107 until block information of all reference blocks corresponding to the prediction target block is acquired in step S105. When the motion vector prediction device 2 acquires block information for all reference blocks corresponding to the prediction target block, the motion vector predictor 2 predicts a motion vector and generates a motion vector predictor (step S106). The motion vector prediction device 2 performs such processing for each prediction target block.

なお、動きベクトル予測装置2は、ステップS107にて動きベクトルを修正した後に、再度動きベクトルの確度を動きベクトル閾値に基づいて判定し、確度が低いと判定した場合には、当該修正動きベクトルをステップS106における予測動きベクトルの生成に用いないようにしてもよい。   Note that the motion vector prediction device 2 determines the accuracy of the motion vector again based on the motion vector threshold after correcting the motion vector in step S107, and if the accuracy is determined to be low, the motion vector prediction device 2 You may make it not use for the production | generation of the prediction motion vector in step S106.

このように、実施例2の動きベクトル予測装置2は、動きベクトル確度判定部13により参照ブロックの動きベクトルの確度を判定し、確度が低いと判定された動きベクトルについては動きベクトル修正部15により動きベクトルを修正する。予測動きベクトル生成部14は、確度が高いと判定された動きベクトル、及び確度が低いと判定された動きベクトルの修正動きベクトルを用いて予測動きベクトルを生成する。このため、動きベクトル予測装置2によれば、さらに動きベクトルの予測確度を向上させることができるようになる。   As described above, the motion vector prediction device 2 according to the second embodiment determines the accuracy of the motion vector of the reference block by the motion vector accuracy determination unit 13, and the motion vector correction unit 15 determines the motion vector determined to have low accuracy. Correct the motion vector. The predicted motion vector generation unit 14 generates a predicted motion vector using the motion vector determined to have high accuracy and the corrected motion vector of the motion vector determined to have low accuracy. For this reason, according to the motion vector prediction apparatus 2, the prediction accuracy of a motion vector can further be improved.

上述の動きベクトル予測装置2では、参照ブロックの動きベクトルの大きさが動きベクトル閾値を超える場合には、該動きベクトルを動きベクトル修正部15により修正するものとして説明した。しかし、予測対象ブロックに対応する全ての参照ブロックについて動きベクトルの大きさが動きベクトル閾値を超える場合にのみ動きベクトルを修正し、予測対象ブロックに対応する参照ブロックのうち一部の参照ブロックについて動きベクトルの大きさが動きベクトル閾値以下である場合には、該動きベクトルのみを用いて予測動きベクトル生成部14により予測動きベクトルを生成するようにしてもよい。   In the motion vector prediction device 2 described above, the motion vector is corrected by the motion vector correction unit 15 when the size of the motion vector of the reference block exceeds the motion vector threshold. However, the motion vector is corrected only when the size of the motion vector exceeds the motion vector threshold for all the reference blocks corresponding to the prediction target block, and the motion is performed for some of the reference blocks corresponding to the prediction target block. When the magnitude of the vector is equal to or smaller than the motion vector threshold, the predicted motion vector generation unit 14 may generate a predicted motion vector using only the motion vector.

なお、上述した動きベクトル予測装置2として機能させるためにコンピュータを好適に用いることができ、そのようなコンピュータは、動きベクトル予測装置2の各機能を実現する処理内容を記述したプログラムを、当該コンピュータの記憶部に格納しておき、当該コンピュータのCPUによってこのプログラムを読み出して実行させることで実現することができる。   Note that a computer can be suitably used to function as the motion vector prediction device 2 described above, and such a computer can store a program describing processing contents for realizing each function of the motion vector prediction device 2. This program can be realized by reading out and executing the program by the CPU of the computer.

次に、本発明による実施例3の動きベクトル予測装置について説明する。図6は、実施例3の動きベクトル予測装置の構成を示すブロック図である。図6に示すように、実施例3の動きベクトル予測装置3は、ブロック情報取得部11と、動きベクトル閾値決定部12と、動きベクトル確度判定部13と、第1予測動きベクトル生成部14−1と、第2予測動きベクトル生成部14−2と、第3予測動きベクトル生成部14−3と、第1動きベクトル修正部15−1と、第2動きベクトル修正部15−2とを備える。実施例3の動きベクトル予測装置3は、実施例2の動きベクトル予測装置2と比較して、動きベクトル修正部及び予測動きベクトル生成部を複数備え、予測動きベクトルを複数生成する点で相違する。なお、第2の実施形態と同じ構成要素には同一の参照番号を付して適宜説明を省略する。   Next, a motion vector predicting apparatus according to a third embodiment of the present invention will be described. FIG. 6 is a block diagram illustrating the configuration of the motion vector prediction apparatus according to the third embodiment. As illustrated in FIG. 6, the motion vector prediction device 3 according to the third embodiment includes a block information acquisition unit 11, a motion vector threshold value determination unit 12, a motion vector accuracy determination unit 13, and a first prediction motion vector generation unit 14-. 1, a second predicted motion vector generation unit 14-2, a third predicted motion vector generation unit 14-3, a first motion vector correction unit 15-1, and a second motion vector correction unit 15-2. . The motion vector prediction device 3 according to the third embodiment is different from the motion vector prediction device 2 according to the second embodiment in that it includes a plurality of motion vector correction units and prediction motion vector generation units, and generates a plurality of prediction motion vectors. . In addition, the same reference number is attached | subjected to the same component as 2nd Embodiment, and description is abbreviate | omitted suitably.

ブロック情報取得部11は、入力画像の解像度情報、並びに、参照ブロック及び隣接参照ブロックのサイズ情報、動きベクトル、及びフレーム内における位置情報を含むブロック情報を取得する。そして、ブロック情報取得部11は、入力画像の解像度情報及び参照ブロックのサイズ情報を動きベクトル閾値決定部12に出力し、参照ブロックの動きベクトルを動きベクトル確度判定部13及び第3予測動きベクトル生成部14−3に出力し、参照ブロック及び隣接参照ブロックのサイズ情報、動きベクトル、及びフレーム内における位置情報を第1動きベクトル修正部15−1、及び第2動きベクトル修正部15−2に出力する。   The block information acquisition unit 11 acquires block information including resolution information of an input image, size information of reference blocks and adjacent reference blocks, motion vectors, and position information within a frame. Then, the block information acquisition unit 11 outputs the resolution information of the input image and the size information of the reference block to the motion vector threshold value determination unit 12, and generates the motion vector accuracy determination unit 13 and the third predicted motion vector generation of the motion vector of the reference block. Output to the section 14-3, and output the size information, motion vector, and position information in the frame of the reference block and adjacent reference block to the first motion vector correction section 15-1 and the second motion vector correction section 15-2. To do.

動きベクトル確度判定部13は、ブロック情報取得部11から所得した参照ブロックの動きベクトルが、動きベクトル閾値決定部12により決定された動きベクトル閾値を越えるか否かを判定し、動きベクトルの確度情報を第1動きベクトル修正部15−1、第2動きベクトル修正部15−2、及び第3予測動きベクトル生成部14−3に出力する。   The motion vector accuracy determination unit 13 determines whether or not the motion vector of the reference block obtained from the block information acquisition unit 11 exceeds the motion vector threshold determined by the motion vector threshold determination unit 12, and motion vector accuracy information Are output to the first motion vector correction unit 15-1, the second motion vector correction unit 15-2, and the third predicted motion vector generation unit 14-3.

第1動きベクトル修正部15−1は、実施例2において動きベクトル修正部15の第1の例として説明した動きベクトル修正処理を行う。すなわち、参照ブロックの動きベクトルの確度が低い場合、参照ブロック及び隣接参照ブロックの動きベクトルの中央値又は平均値を修正動きベクトルとして生成し、参照ブロックの動きベクトルの確度が高い場合、そのまま動きベクトルを出力する。   The first motion vector correction unit 15-1 performs the motion vector correction process described as the first example of the motion vector correction unit 15 in the second embodiment. That is, when the accuracy of the motion vector of the reference block is low, a median value or an average value of the motion vectors of the reference block and the adjacent reference block is generated as a corrected motion vector, and when the accuracy of the motion vector of the reference block is high, the motion vector is used as it is. Is output.

第2動きベクトル修正部15−2は、実施例2において動きベクトル修正部15の第2の例として説明した動きベクトル修正処理を行う。すなわち、参照ブロックの動きベクトルの確度が低い場合、参照ブロック及び隣接参照ブロックを統合し、統合ブロックの動きベクトルを修正動きベクトルとして生成し、参照ブロックの動きベクトルの確度が高い場合、そのまま動きベクトルを出力する。   The second motion vector correction unit 15-2 performs the motion vector correction process described as the second example of the motion vector correction unit 15 in the second embodiment. That is, when the accuracy of the motion vector of the reference block is low, the reference block and the adjacent reference block are integrated, the motion vector of the integrated block is generated as a corrected motion vector, and when the accuracy of the motion vector of the reference block is high, the motion vector is directly Is output.

第1予測動きベクトル生成部14−1は、第1動きベクトル修正部15−1から予測対象ブロックに関する全ての参照ブロックについて、動きベクトル又は修正動きベクトルを取得し、これらのベクトルの中央値又は平均値を予測対象ブロックの第1予測動きベクトルとして生成する。同様に、第2予測動きベクトル生成部14−2は、第2動きベクトル修正部15−2から予測対象ブロックに関する全ての参照ブロックについて、動きベクトル又は修正動きベクトルを取得し、これらのベクトルの中央値又は平均値を予測対象ブロックの第2予測動きベクトルとして生成する。   The first predicted motion vector generation unit 14-1 acquires a motion vector or a corrected motion vector for all reference blocks related to the prediction target block from the first motion vector correction unit 15-1, and obtains a median value or an average of these vectors. The value is generated as the first predicted motion vector of the prediction target block. Similarly, the second predicted motion vector generation unit 14-2 acquires the motion vector or the corrected motion vector for all reference blocks related to the prediction target block from the second motion vector correction unit 15-2, and the center of these vectors. A value or an average value is generated as the second predicted motion vector of the prediction target block.

第3予測動きベクトル生成部14−3は、動きベクトル確度判定部13から入力される確度情報に基づき、動きベクトル確度判定部13により確度が高いと判定された動きベクトルのみを用い、該動きベクトルの中央値又は平均値を予測対象ブロックの第3予測動きベクトルとして生成する。   The third predicted motion vector generation unit 14-3 uses only the motion vector determined by the motion vector accuracy determination unit 13 as having high accuracy based on the accuracy information input from the motion vector accuracy determination unit 13, and uses the motion vector. Is generated as the third predicted motion vector of the prediction target block.

このように、実施例3の動きベクトル予測装置3は、第1予測動きベクトル生成部14−1、第2予測動きベクトル生成部14−2、及び第3予測動きベクトル生成部14−3から、それぞれ異なる方法で予測した予測動きベクトルを出力する。このため、動きベクトル予測装置3によれば、予測対象ブロックごとや入力画像ごとに最適な予測動きベクトルを選択するといった自由度を持たせることができ、さらに動きベクトルの予測確度を向上させることができるようになる。   As described above, the motion vector prediction device 3 according to the third embodiment includes the first predicted motion vector generation unit 14-1, the second predicted motion vector generation unit 14-2, and the third predicted motion vector generation unit 14-3. Predicted motion vectors predicted by different methods are output. For this reason, according to the motion vector predicting device 3, it is possible to provide a degree of freedom such as selecting an optimal predicted motion vector for each prediction target block or for each input image, and to further improve the motion vector prediction accuracy. become able to.

なお、上述した動きベクトル予測装置3として機能させるためにコンピュータを好適に用いることができ、そのようなコンピュータは、動きベクトル予測装置3の各機能を実現する処理内容を記述したプログラムを、当該コンピュータの記憶部に格納しておき、当該コンピュータのCPUによってこのプログラムを読み出して実行させることで実現することができる。   It should be noted that a computer can be suitably used to function as the motion vector prediction device 3 described above, and such a computer can store a program that describes the processing content for realizing each function of the motion vector prediction device 3. This program can be realized by reading out and executing the program by the CPU of the computer.

次に、上述した動きベクトル予測装置1乃至3を備える符号化装置について説明する。図7は、本発明による実施例1の符号化装置の構成を示すブロック図であり、ここではMPEG−4 AVC/H.264方式の符号化装置に本発明に係る動きベクトル予測装置1乃至3を適用した例を示している。図7に示すように、符号化装置20は、減算部21と、直交変換部22と、量子化部23と、逆量子化部24と、逆直交変換部25と、加算部26と、メモリ27と、イントラ予測部28と、動きベクトル検出部29と、動き補償部30と、切替えスイッチ31と、動きベクトル予測装置1乃至3と、可変長符号化部32とを備える。   Next, an encoding device including the above-described motion vector prediction devices 1 to 3 will be described. FIG. 7 is a block diagram showing the configuration of the encoding apparatus according to the first embodiment of the present invention. In this example, MPEG-4 AVC / H. The example which applied the motion vector prediction apparatuses 1 thru | or 3 which concern on this invention to the encoding apparatus of a H.264 system is shown. As illustrated in FIG. 7, the encoding device 20 includes a subtraction unit 21, an orthogonal transformation unit 22, a quantization unit 23, an inverse quantization unit 24, an inverse orthogonal transformation unit 25, an addition unit 26, and a memory. 27, an intra prediction unit 28, a motion vector detection unit 29, a motion compensation unit 30, a changeover switch 31, motion vector prediction devices 1 to 3, and a variable length encoding unit 32.

減算部21は、入力画像と、切替えスイッチ31を介してイントラ予測部28又は動き補償部30から入力される予測画像との差分画像を生成し、直交変換部22に出力する。   The subtraction unit 21 generates a difference image between the input image and a prediction image input from the intra prediction unit 28 or the motion compensation unit 30 via the changeover switch 31 and outputs the difference image to the orthogonal transformation unit 22.

直交変換部22は、減算部21から入力される差分画像に対して小領域の画像ブロック(以下、単に「ブロック」という)ごとに直交変換を施し、直交変換係数を量子化部23に出力する。   The orthogonal transform unit 22 performs orthogonal transform on the difference image input from the subtraction unit 21 for each small area image block (hereinafter simply referred to as “block”), and outputs the orthogonal transform coefficient to the quantization unit 23. .

量子化部23は、直交変換部22から入力される直交変換係数に対して量子化テーブルを選択して量子化処理を行い、逆量子化部24及び可変長符号化部32に出力する。   The quantization unit 23 selects a quantization table for the orthogonal transform coefficient input from the orthogonal transform unit 22, performs a quantization process, and outputs the quantization table to the inverse quantization unit 24 and the variable length coding unit 32.

逆量子化部24は、量子化部23から入力される量子化された直交変換係数に対して逆量子化処理を行い、逆直交変換部25に出力する。   The inverse quantization unit 24 performs an inverse quantization process on the quantized orthogonal transform coefficient input from the quantization unit 23 and outputs the result to the inverse orthogonal transform unit 25.

逆直交変換部25は、逆量子化部24から入力される直交変換係数に対して逆直交変換(例えば、IDCT;Inverse Discrete Cosine Transform)処理を施し、加算部26に出力する。   The inverse orthogonal transform unit 25 performs inverse orthogonal transform (for example, IDCT; Inverse Discrete Cosine Transform) processing on the orthogonal transform coefficient input from the inverse quantization unit 24 and outputs the result to the addition unit 26.

加算部26は、逆直交変換部25から入力される逆直交変換した画像と、切替えスイッチ31を介してイントラ予測部28又は動き補償部30から入力される予測画像とを加算して復号画像を生成し、メモリ27に出力する。   The adding unit 26 adds the inverse orthogonal transformed image input from the inverse orthogonal transform unit 25 and the predicted image input from the intra prediction unit 28 or the motion compensation unit 30 via the changeover switch 31 to obtain a decoded image. Generate and output to the memory 27.

イントラ予測部28は、メモリ27に記憶された符号化対象ブロックに隣接する符号化済みのブロックの復号画像を参照し、予測モードを決定してイントラ予測画像を生成し、切替えスイッチ31を介して減算部21及び加算部26に出力するとともに、決定した予測モードを示す予測モード情報を可変長符号化部32に出力する。   The intra prediction unit 28 refers to the decoded image of the encoded block adjacent to the encoding target block stored in the memory 27, determines the prediction mode, generates an intra predicted image, and passes the changeover switch 31. While outputting to the subtraction part 21 and the addition part 26, the prediction mode information which shows the determined prediction mode is output to the variable length encoding part 32. FIG.

動きベクトル検出部29は、入力画像に対して、メモリ27に記憶された過去及び/又は未来のピクチャ(フレーム)を参照し、SSD法やSAD法を用いたブロックマッチングにより動きベクトルを生成し、動きベクトルを動き補償部30、動きベクトル予測装置1乃至3、及び可変長符号化部32に出力し、動きベクトル検出処理時のブロックサイズを可変長符号化部32に出力する。ブロックマッチングは、例えば式(2)に示したようにパラボラフィッティング関数を用いた補間処理により、小数画素精度で行う。   The motion vector detection unit 29 refers to past and / or future pictures (frames) stored in the memory 27 for the input image, generates a motion vector by block matching using the SSD method or the SAD method, The motion vector is output to the motion compensation unit 30, the motion vector prediction devices 1 to 3, and the variable length encoding unit 32, and the block size at the time of motion vector detection processing is output to the variable length encoding unit 32. Block matching is performed with decimal pixel accuracy by interpolation processing using a parabolic fitting function, for example, as shown in Equation (2).

また、動きベクトル検出部29は、フレーム内のブロックのうち、動きベクトルを予測により求めるブロックを決定する。あるブロックについて動きベクトルを予測するのは、全てのブロックについて動きベクトルを検出して復号側に伝送すると伝送情報量が多くなるので、一部のブロックについては動きベクトルを伝送せずに予測により求めて伝送情報量を削減するためである。動きベクトルを予測により求めるブロックは、例えばR−D最適化(Rate-Distortion Optimization)により決定することができる。動きベクトル検出部29は、動きベクトルを予測により求めるブロックを示す情報を動きベクトル予測装置1乃至3、及び可変長符号化部32に出力する。   In addition, the motion vector detection unit 29 determines a block for which a motion vector is obtained by prediction from among the blocks in the frame. The motion vector is predicted for a certain block because the amount of transmission information increases when motion vectors are detected for all blocks and transmitted to the decoding side. Therefore, some blocks are obtained by prediction without transmitting motion vectors. This is to reduce the amount of transmission information. A block for which a motion vector is obtained by prediction can be determined by, for example, RD optimization (Rate-Distortion Optimization). The motion vector detection unit 29 outputs information indicating a block for which a motion vector is obtained by prediction to the motion vector prediction devices 1 to 3 and the variable length encoding unit 32.

動きベクトル予測装置1乃至3は、動きベクトル検出部29から参照ブロックのブロック情報を取得し、動きベクトルを予測により求めるブロック(予測対象ブロック)について予測動きベクトルを生成し、動き補償部30に出力する。   The motion vector prediction devices 1 to 3 acquire block information of the reference block from the motion vector detection unit 29, generate a prediction motion vector for a block (prediction target block) for which a motion vector is obtained by prediction, and output the motion vector to the motion compensation unit 30. To do.

動き補償部30は、メモリ27に記憶された復号画像に対し、動きベクトル検出部29から入力される動きベクトル、又は動きベクトル予測装置1乃至3から入力される予測動きベクトルを用いて動き補償を行ってインター予測画像を生成し、切替えスイッチ31を介して減算部21及び加算部26に出力する。   The motion compensation unit 30 performs motion compensation on the decoded image stored in the memory 27 using the motion vector input from the motion vector detection unit 29 or the predicted motion vector input from the motion vector prediction devices 1 to 3. The inter prediction image is generated and output to the subtraction unit 21 and the addition unit 26 via the changeover switch 31.

動きベクトル予測装置3を適用する場合には、複数の予測動きベクトルのうち1つを選択する。例えば、予測動きベクトルごとにそれぞれ動き補償を行い、入力画像と各動き補償画像とを比較して最も誤差の小さくなる予測動きベクトルを選択する。   When the motion vector prediction device 3 is applied, one of a plurality of predicted motion vectors is selected. For example, motion compensation is performed for each predicted motion vector, and the predicted motion vector with the smallest error is selected by comparing the input image with each motion compensated image.

切替えスイッチ31は、イントラ予測部28から入力されるイントラ予測画像と、動き補償部30から入力されるインター予測画像とを切替えて、減算部21及び加算部26に出力する。   The changeover switch 31 switches between the intra prediction image input from the intra prediction unit 28 and the inter prediction image input from the motion compensation unit 30, and outputs the result to the subtraction unit 21 and the addition unit 26.

可変長符号化部32は、量子化部23から入力される量子化された直交変換係数についてスキャンを行って可変長符号化処理を施しビットストリームを生成するとともに、イントラ予測部28から入力される予測モード情報、及び動きベクトル検出部29から入力されるブロック情報(動きベクトルの情報、動きベクトル検出処理時のブロックサイズ、及び動きベクトルを予測により求めるブロックを示す情報)も可変長符号化処理を施し、符号化データを外部に出力する。   The variable length encoding unit 32 scans the quantized orthogonal transform coefficient input from the quantization unit 23 to perform variable length encoding processing to generate a bit stream, and also receives the input from the intra prediction unit 28. The prediction mode information and the block information input from the motion vector detection unit 29 (information on the motion vector, the block size during the motion vector detection process, and the information indicating the block for which the motion vector is obtained by prediction) are also subjected to the variable length encoding process. And output the encoded data to the outside.

このように、符号化装置20によれば、動きベクトル予測装置1乃至3により予測動きベクトルの予測確度が向上するため、確度の高い予測動きベクトルを用いて原画像を符号化することにより、符号化効率を向上させることができるようになる。   As described above, according to the encoding device 20, since the prediction accuracy of the prediction motion vector is improved by the motion vector prediction devices 1 to 3, by encoding the original image using the prediction motion vector with high accuracy, Efficiency can be improved.

なお、上述した符号化装置20として機能させるためにコンピュータを好適に用いることができ、そのようなコンピュータは、符号化装置20の各機能を実現する処理内容を記述したプログラムを、当該コンピュータの記憶部に格納しておき、当該コンピュータのCPUによってこのプログラムを読み出して実行させることで実現することができる。   Note that a computer can be suitably used to cause the above-described encoding device 20 to function, and such a computer stores a program that describes processing contents for realizing each function of the encoding device 20 in the storage of the computer. The program can be realized by reading out and executing the program by the CPU of the computer.

次に、上述した符号化装置20によって符号化されたデータを復号する復号装置について説明する。図8は、本発明による実施例5の復号装置の構成を示すブロック図であり、ここではMPEG−4 AVC/H.264方式の復号装置に本発明に係る動きベクトル予測装置1乃至3を適用した例を示している。図8に示すように、復号装置40は、可変長復号部41と、逆量子化部42と、逆直交変換部43と、加算部44と、メモリ45と、イントラ予測部46と、動き補償部47と、切替えスイッチ48と、動きベクトル予測装置1乃至3とを備える。   Next, a decoding device that decodes data encoded by the above-described encoding device 20 will be described. FIG. 8 is a block diagram showing the configuration of the decoding apparatus according to the fifth embodiment of the present invention. In this example, MPEG-4 AVC / H. An example in which the motion vector prediction devices 1 to 3 according to the present invention are applied to a H.264 decoding device is shown. As illustrated in FIG. 8, the decoding device 40 includes a variable length decoding unit 41, an inverse quantization unit 42, an inverse orthogonal transform unit 43, an addition unit 44, a memory 45, an intra prediction unit 46, and motion compensation. A unit 47, a changeover switch 48, and motion vector predictors 1 to 3;

可変長復号部41は、符号化された直交変換係数に対して可変長復号処理を施して逆量子化部42に出力し、符号化された予測モード情報に対して可変長復号処理を施してイントラ予測装部46に出力し、符号化されたブロック情報(動きベクトルの情報、動きベクトル検出処理時のブロックサイズ、及び動きベクトルを予測により求めるブロックを示す情報)に対して可変長復号処理を施し、動き補償部47及び動きベクトル予測装置1乃至3に出力する。   The variable length decoding unit 41 performs variable length decoding processing on the encoded orthogonal transform coefficient and outputs it to the inverse quantization unit 42, and performs variable length decoding processing on the encoded prediction mode information. A variable length decoding process is performed on the encoded block information (information on motion vectors, block size at the time of motion vector detection processing, and information indicating a block obtained by prediction of motion vectors) output to the intra prediction unit 46. And output to the motion compensation unit 47 and the motion vector prediction devices 1 to 3.

逆量子化部42は、可変長復号部41から入力される量子化された直交変換係数に対して逆量子化処理を施して、動き補償した差分画像の直交変換係数を取得し、逆直交変換部43に出力する。   The inverse quantization unit 42 performs an inverse quantization process on the quantized orthogonal transform coefficient input from the variable length decoding unit 41, acquires an orthogonal transform coefficient of the motion compensated difference image, and performs an inverse orthogonal transform To the unit 43.

逆直交変換部43は、逆量子化部42から入力される差分画像の直交変換係数に対して、逆直交変換(例えば、IDCT)を施し、得られる差分画像を加算部44に出力する。   The inverse orthogonal transform unit 43 performs inverse orthogonal transform (for example, IDCT) on the orthogonal transform coefficient of the difference image input from the inverse quantization unit 42 and outputs the obtained difference image to the addition unit 44.

加算部44は、逆直交変換部43から得られる差分画像と、切替えスイッチ48を介してイントラ予測部46又は動き補償部47から入力される予測画像とを加算して画像を復元し、メモリ45及び外部に出力する。   The adding unit 44 adds the difference image obtained from the inverse orthogonal transform unit 43 and the predicted image input from the intra prediction unit 46 or the motion compensation unit 47 via the changeover switch 48 to restore the image, and the memory 45 And output to the outside.

イントラ予測装部46は、メモリ45に記憶された復号対象ブロックに隣接する復号済みのブロックの復号画像を参照して、可変長復号部41から入力される予測モードに基づいてイントラ予測画像を生成し、切替えスイッチ48を介して加算部44に出力する。   The intra prediction unit 46 generates an intra prediction image based on the prediction mode input from the variable length decoding unit 41 with reference to the decoded image of the decoded block adjacent to the decoding target block stored in the memory 45. Then, the data is output to the adding unit 44 via the changeover switch 48.

動きベクトル予測装置1乃至3は、可変長復号部41からブロック情報を取得し、動きベクトルを予測により求めるブロック(予測対象ブロック)について予測動きベクトルを生成し、動き補償部47に出力する。   The motion vector prediction devices 1 to 3 acquire block information from the variable length decoding unit 41, generate a prediction motion vector for a block (prediction target block) for which a motion vector is obtained by prediction, and output it to the motion compensation unit 47.

動き補償部47は、メモリ45に記憶された復号フレーム画像を参照し、可変長復号部41から得られる動きベクトルを用いてインター予測画像を生成する。また、動き補償部47は、動きベクトルを予測により求めるブロックについては、動きベクトル予測装置1乃至3から得られる予測動きベクトルを用いてインター予測画像を生成する。動き補償部47は、生成したインター予測画像を切替えスイッチ48を介して加算部44に出力する。   The motion compensation unit 47 refers to the decoded frame image stored in the memory 45 and generates an inter prediction image using the motion vector obtained from the variable length decoding unit 41. Also, the motion compensation unit 47 generates an inter-predicted image using the predicted motion vector obtained from the motion vector prediction devices 1 to 3 for the block for which the motion vector is obtained by prediction. The motion compensation unit 47 outputs the generated inter prediction image to the addition unit 44 via the changeover switch 48.

切替えスイッチ48は、イントラ予測部46から入力されるイントラ予測画像と、動き補償部47から入力されるインター予測画像とを切替えて加算部44に出力する。   The changeover switch 48 switches between the intra prediction image input from the intra prediction unit 46 and the inter prediction image input from the motion compensation unit 47 and outputs the result to the addition unit 44.

このように、復号装置40によれば、確度の高い予測動きベクトルを用いて符号化された原画像の符号化データを復号するため、復号画像の画質を向上させることができるようになる。   Thus, according to the decoding apparatus 40, since the encoded data of the original image encoded using the predictive motion vector with high accuracy is decoded, the image quality of the decoded image can be improved.

なお、上述した復号装置40として機能させるためにコンピュータを好適に用いることができ、そのようなコンピュータは、復号装置40の各機能を実現する処理内容を記述したプログラムを、当該コンピュータの記憶部に格納しておき、当該コンピュータのCPUによってこのプログラムを読み出して実行させることで実現することができる。   Note that a computer can be suitably used to cause the above-described decryption device 40 to function, and such a computer stores a program describing processing contents for realizing each function of the decryption device 40 in a storage unit of the computer. This can be realized by storing the program and executing it by the CPU of the computer.

上述の各実施例は、代表的な例として説明したが、本発明の趣旨及び範囲内で、多くの変更及び置換ができることは当業者に明らかである。したがって、本発明は、上述の実施形態によって制限するものと解するべきではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。   Each of the above embodiments has been described as a representative example, but it will be apparent to those skilled in the art that many changes and substitutions can be made within the spirit and scope of the invention. Therefore, the present invention should not be construed as being limited by the above-described embodiments, and various modifications and changes can be made without departing from the scope of the claims.

このように、本発明によれば、動きベクトルの予測確度を向上させることができるので、動きベクトルを予測する任意の用途に有用である。   Thus, according to the present invention, since the prediction accuracy of motion vectors can be improved, it is useful for any application for predicting motion vectors.

1,2,3 動きベクトル予測装置
11 ブロック情報取得部
12 動きベクトル閾値決定部
13 動きベクトル確度判定部
14 予測動きベクトル生成部
14−1 第1予測動きベクトル生成部
14−2 第2予測動きベクトル生成部
14−3 第3予測動きベクトル生成部
15 動きベクトル修正部
15−1 第1動きベクトル修正部
15−2 第2動きベクトル修正部
20 符号化装置
40 復号装置
21 減算部
22 直交変換部
23 量子化部
24,42 逆量子化部
25,43 逆直交変換部
26,44 加算部
27,45 メモリ
28,46 イントラ予測部
29 動きベクトル検出部
30,47 動き補償部
31,48 切替えスイッチ
32 可変長符号化部
41 可変長復号部
1, 2, 3 Motion vector prediction device 11 Block information acquisition unit 12 Motion vector threshold value determination unit 13 Motion vector accuracy determination unit 14 Prediction motion vector generation unit 14-1 First prediction motion vector generation unit 14-2 Second prediction motion vector Generation Unit 14-3 Third Prediction Motion Vector Generation Unit 15 Motion Vector Correction Unit 15-1 First Motion Vector Correction Unit 15-2 Second Motion Vector Correction Unit 20 Encoding Device 40 Decoding Device 21 Subtraction Unit 22 Orthogonal Transformation Unit 23 Quantization unit 24, 42 Inverse quantization unit 25, 43 Inverse orthogonal transform unit 26, 44 Adder unit 27, 45 Memory 28, 46 Intra prediction unit 29 Motion vector detection unit 30, 47 Motion compensation unit 31, 48 Changeover switch 32 Variable Long encoding unit 41 Variable length decoding unit

Claims (9)

予測対象ブロックの動きベクトルを、該予測対象ブロックに隣接する1以上の参照ブロックの動きベクトルを用いて予測する動きベクトル予測装置であって、
参照ブロックの動きベクトルの大きさの閾値を、画像解像度が高いほど小さく、且つ該参照ブロックのブロックサイズが小さいほど小さくなるように決定する動きベクトル閾値決定部と、
参照ブロックの動きベクトルの大きさが前記動きベクトル閾値決定部により決定された閾値を越えるか否かを参照ブロックごとに判定する動きベクトル確度判定部と、
1以上の参照ブロックの動きベクトルの中央値又は平均値を前記予測対象ブロックの予測動きベクトルとして生成する予測動きベクトル生成部と、を備え、
前記予測動きベクトル生成部は、前記動きベクトル確度判定部により参照ブロックの動きベクトルの大きさが前記閾値以下であると判定された動きベクトルを用いて前記予測動きベクトルを生成することを特徴とする動きベクトル予測装置。
A motion vector prediction device that predicts a motion vector of a prediction target block using a motion vector of one or more reference blocks adjacent to the prediction target block,
A motion vector threshold value determination unit that determines a threshold value of the size of the motion vector of the reference block so that the threshold value is smaller as the image resolution is higher and smaller as the block size of the reference block is smaller;
A motion vector accuracy determination unit that determines for each reference block whether or not the size of the motion vector of the reference block exceeds a threshold determined by the motion vector threshold determination unit;
A predicted motion vector generation unit that generates a median value or an average value of motion vectors of one or more reference blocks as a predicted motion vector of the prediction target block, and
The predicted motion vector generation unit generates the predicted motion vector using a motion vector determined by the motion vector accuracy determination unit to determine that the size of a motion vector of a reference block is equal to or less than the threshold value. Motion vector prediction device.
前記動きベクトル確度判定部により参照ブロックの動きベクトルの大きさが前記閾値を越えると判定された場合に、参照ブロックの動きベクトルを修正する動きベクトル修正部を更に備え、
前記予測動きベクトル生成部は、前記動きベクトル確度判定部により参照ブロックの動きベクトルの大きさが前記閾値以下であると判定された場合には該動きベクトルを用い、前記動きベクトル確度判定部により参照ブロックの動きベクトルの大きさが前記閾値を越えると判定された場合には前記動きベクトル修正部により修正された動きベクトルを用いて前記予測動きベクトルを生成することを特徴とする、請求項1に記載の動きベクトル予測装置。
A motion vector correction unit that corrects the motion vector of the reference block when the motion vector accuracy determination unit determines that the size of the motion vector of the reference block exceeds the threshold;
The predicted motion vector generation unit uses the motion vector when the motion vector accuracy determination unit determines that the size of the motion vector of the reference block is equal to or less than the threshold, and refers to the motion vector accuracy determination unit. The predicted motion vector is generated using the motion vector corrected by the motion vector correction unit when it is determined that the size of the motion vector of the block exceeds the threshold value. The motion vector prediction device described.
前記動きベクトル修正部は、前記動きベクトル確度判定部により参照ブロックの動きベクトルの大きさが前記閾値を越えると判定された場合に、参照ブロックの動きベクトル及び該参照ブロックに隣接するブロックの動きベクトルの中央値又は平均値を算出し、参照ブロックの動きベクトルを、前記算出した中央値又は平均値に修正することを特徴とする、請求項2に記載の動きベクトル予測装置。   When the motion vector accuracy determination unit determines that the size of the motion vector of the reference block exceeds the threshold, the motion vector correction unit and the motion vector of the block adjacent to the reference block The motion vector prediction apparatus according to claim 2, wherein a median value or an average value is calculated, and a motion vector of a reference block is corrected to the calculated median value or average value. 前記動きベクトル修正部は、前記動きベクトル確度判定部により参照ブロックの動きベクトルの大きさが前記閾値を越えると判定された場合に、参照ブロック及び該参照ブロックに隣接するブロックを統合した統合ブロックを生成して統合ブロックの動きベクトルを検出し、参照ブロックの動きベクトルを、前記検出した統合ブロックの動きベクトルに修正することを特徴とする、請求項2に記載の動きベクトル予測装置。   When the motion vector accuracy determination unit determines that the size of the motion vector of the reference block exceeds the threshold, the motion vector correction unit integrates a reference block and a block adjacent to the reference block. The motion vector prediction apparatus according to claim 2, wherein the motion vector of the integrated block is detected and the motion vector of the reference block is corrected to the detected motion vector of the integrated block. 請求項1から4のいずれか一項に記載の動きベクトル予測装置を備え、前記予測動きベクトルを用いて動き補償を行うことを特徴とする符号化装置。   5. A coding apparatus comprising the motion vector prediction apparatus according to claim 1 and performing motion compensation using the predicted motion vector. 請求項1から4のいずれか一項に記載の動きベクトル予測装置を備え、前記予測動きベクトルを用いて動き補償を行うことを特徴とする復号装置。   5. A decoding apparatus comprising the motion vector prediction apparatus according to claim 1, wherein motion compensation is performed using the prediction motion vector. コンピュータを、請求項1から4のいずれか一項に記載の動きベクトル予測装置として機能させるための動きベクトル検出プログラム。   A motion vector detection program for causing a computer to function as the motion vector prediction apparatus according to claim 1. コンピュータを、請求項5に記載の符号化装置として機能させるための符号化プログラム。   An encoding program for causing a computer to function as the encoding device according to claim 5. コンピュータを、請求項6に記載の復号装置として機能させるための復号プログラム。   A decoding program for causing a computer to function as the decoding device according to claim 6.
JP2011195420A 2011-09-07 2011-09-07 Motion vector prediction apparatus, encoding apparatus, decoding apparatus, and programs thereof Active JP5651560B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011195420A JP5651560B2 (en) 2011-09-07 2011-09-07 Motion vector prediction apparatus, encoding apparatus, decoding apparatus, and programs thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011195420A JP5651560B2 (en) 2011-09-07 2011-09-07 Motion vector prediction apparatus, encoding apparatus, decoding apparatus, and programs thereof

Publications (2)

Publication Number Publication Date
JP2013058873A true JP2013058873A (en) 2013-03-28
JP5651560B2 JP5651560B2 (en) 2015-01-14

Family

ID=48134372

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011195420A Active JP5651560B2 (en) 2011-09-07 2011-09-07 Motion vector prediction apparatus, encoding apparatus, decoding apparatus, and programs thereof

Country Status (1)

Country Link
JP (1) JP5651560B2 (en)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018097115A1 (en) * 2016-11-22 2018-05-31 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ Encoding device, decoding device, encoding method, and decoding method
WO2018097116A1 (en) * 2016-11-22 2018-05-31 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ Encoding device, decoding device, encoding method, and decoding method
WO2018097117A1 (en) * 2016-11-22 2018-05-31 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ Encoding device, decoding device, encoding method, and decoding method
RU2679981C2 (en) * 2014-09-30 2019-02-14 МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи Hash-based encoder decisions for video coding
US10368092B2 (en) 2014-03-04 2019-07-30 Microsoft Technology Licensing, Llc Encoder-side decisions for block flipping and skip mode in intra block copy prediction
US10390039B2 (en) 2016-08-31 2019-08-20 Microsoft Technology Licensing, Llc Motion estimation for screen remoting scenarios
US10567754B2 (en) 2014-03-04 2020-02-18 Microsoft Technology Licensing, Llc Hash table construction and availability checking for hash-based block matching
US10681372B2 (en) 2014-06-23 2020-06-09 Microsoft Technology Licensing, Llc Encoder decisions based on results of hash-based block matching
WO2020228692A1 (en) * 2019-05-12 2020-11-19 Beijing Bytedance Network Technology Co., Ltd. Motion prediction from temporal blocks with reference picture resampling
US11076171B2 (en) 2013-10-25 2021-07-27 Microsoft Technology Licensing, Llc Representing blocks with hash values in video and image coding and decoding
US11095877B2 (en) 2016-11-30 2021-08-17 Microsoft Technology Licensing, Llc Local hash-based motion estimation for screen remoting scenarios
US11202085B1 (en) 2020-06-12 2021-12-14 Microsoft Technology Licensing, Llc Low-cost hash table construction and hash-based block matching for variable-size blocks

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107406925A (en) 2015-10-30 2017-11-28 诺维尔里斯公司 High intensity 7XXX aluminium alloys and its preparation method

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009049519A (en) * 2007-08-14 2009-03-05 Kddi Corp Prediction motion vector generating device of motion picture coding device
JP2009212667A (en) * 2008-03-03 2009-09-17 Kddi Corp Moving image encoding apparatus and decoding apparatus
JP2011091696A (en) * 2009-10-23 2011-05-06 Victor Co Of Japan Ltd Motion vector predicting method
WO2011061880A1 (en) * 2009-11-19 2011-05-26 三菱電機株式会社 Image encoder apparatus, image decoder apparatus, image encoding method, and image decoding method
WO2011099463A1 (en) * 2010-02-09 2011-08-18 日本電信電話株式会社 Predictive coding method for motion vector, predictive decoding method for motion vector, video coding device, video decoding device, and programs therefor

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009049519A (en) * 2007-08-14 2009-03-05 Kddi Corp Prediction motion vector generating device of motion picture coding device
JP2009212667A (en) * 2008-03-03 2009-09-17 Kddi Corp Moving image encoding apparatus and decoding apparatus
JP2011091696A (en) * 2009-10-23 2011-05-06 Victor Co Of Japan Ltd Motion vector predicting method
WO2011061880A1 (en) * 2009-11-19 2011-05-26 三菱電機株式会社 Image encoder apparatus, image decoder apparatus, image encoding method, and image decoding method
WO2011099463A1 (en) * 2010-02-09 2011-08-18 日本電信電話株式会社 Predictive coding method for motion vector, predictive decoding method for motion vector, video coding device, video decoding device, and programs therefor

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11076171B2 (en) 2013-10-25 2021-07-27 Microsoft Technology Licensing, Llc Representing blocks with hash values in video and image coding and decoding
US10368092B2 (en) 2014-03-04 2019-07-30 Microsoft Technology Licensing, Llc Encoder-side decisions for block flipping and skip mode in intra block copy prediction
US10567754B2 (en) 2014-03-04 2020-02-18 Microsoft Technology Licensing, Llc Hash table construction and availability checking for hash-based block matching
US10681372B2 (en) 2014-06-23 2020-06-09 Microsoft Technology Licensing, Llc Encoder decisions based on results of hash-based block matching
RU2679981C2 (en) * 2014-09-30 2019-02-14 МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи Hash-based encoder decisions for video coding
US11025923B2 (en) 2014-09-30 2021-06-01 Microsoft Technology Licensing, Llc Hash-based encoder decisions for video coding
US10390039B2 (en) 2016-08-31 2019-08-20 Microsoft Technology Licensing, Llc Motion estimation for screen remoting scenarios
WO2018097115A1 (en) * 2016-11-22 2018-05-31 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ Encoding device, decoding device, encoding method, and decoding method
WO2018097117A1 (en) * 2016-11-22 2018-05-31 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ Encoding device, decoding device, encoding method, and decoding method
WO2018097116A1 (en) * 2016-11-22 2018-05-31 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ Encoding device, decoding device, encoding method, and decoding method
US11095877B2 (en) 2016-11-30 2021-08-17 Microsoft Technology Licensing, Llc Local hash-based motion estimation for screen remoting scenarios
WO2020228692A1 (en) * 2019-05-12 2020-11-19 Beijing Bytedance Network Technology Co., Ltd. Motion prediction from temporal blocks with reference picture resampling
US11671602B2 (en) 2019-05-12 2023-06-06 Beijing Bytedance Network Technology Co., Ltd Signaling for reference picture resampling
US11202085B1 (en) 2020-06-12 2021-12-14 Microsoft Technology Licensing, Llc Low-cost hash table construction and hash-based block matching for variable-size blocks

Also Published As

Publication number Publication date
JP5651560B2 (en) 2015-01-14

Similar Documents

Publication Publication Date Title
JP5651560B2 (en) Motion vector prediction apparatus, encoding apparatus, decoding apparatus, and programs thereof
US10382775B2 (en) Moving picture decoding method and moving picture encoding method
US10200715B2 (en) Methods and devices for encoding and decoding video pictures
JP4999854B2 (en) Image encoding method and decoding method, apparatus thereof, program thereof, and storage medium storing program
US20170214932A1 (en) Method of Motion Vector Derivation for Video Coding
JP5833757B2 (en) Image encoding method, image decoding method, image encoding device, image decoding device, image encoding program, image decoding program, and recording medium
KR20110008653A (en) Method and apparatus for predicting motion vector and method and apparatus of encoding/decoding a picture using the same
CN111201795B (en) Memory access window and padding for motion vector modification
KR102162856B1 (en) Apparatus and method for video motion compensation
JPWO2011099468A1 (en) Motion vector predictive coding method, motion vector predictive decoding method, moving picture coding apparatus, moving picture decoding apparatus, and programs thereof
US20120170653A1 (en) Block based sampling coding systems
JP2023052788A (en) Device for selecting intra-prediction mode for padding
JP4944046B2 (en) Video encoding method, decoding method, encoding device, decoding device, program thereof, and computer-readable recording medium
JP5407974B2 (en) Video encoding apparatus and motion vector detection method
JP2007110409A (en) Image processing device and program for making computer perform image processing method
JP5281597B2 (en) Motion vector prediction method, motion vector prediction apparatus, and motion vector prediction program
JP5281596B2 (en) Motion vector prediction method, motion vector prediction apparatus, and motion vector prediction program
WO2015141549A1 (en) Video encoding device and method and video decoding device and method
JP5298060B2 (en) Prediction vector generator, encoding device, decoding device, and program
WO2009128208A1 (en) Dynamic image encoder, dynamic image decoder, dynamic image encoding method, and dynamic image decoding method
JP5705948B2 (en) Moving picture encoding apparatus, moving picture decoding apparatus, moving picture encoding method, moving picture decoding method, moving picture encoding program, and moving picture decoding program
JP5346871B2 (en) Encoding device, decoding device, and program
JP2016051922A (en) Dynamic image encoding device, dynamic image decoding device, dynamic image processing system, dynamic image encoding method, dynamic image decoding method, and program
JP2012095099A (en) Moving image encoding device, moving image encoding method, moving image encoding program, moving image decoding device, moving image decoding method, and moving image decoding program
JP2010288096A (en) Moving image encoding method, moving image encoding apparatus, and moving image encoding program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140109

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20141009

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20141021

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141117

R150 Certificate of patent or registration of utility model

Ref document number: 5651560

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250