JP2015076766A - Video encoding device, video encoding method, and video encoding program - Google Patents

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

Info

Publication number
JP2015076766A
JP2015076766A JP2013212360A JP2013212360A JP2015076766A JP 2015076766 A JP2015076766 A JP 2015076766A JP 2013212360 A JP2013212360 A JP 2013212360A JP 2013212360 A JP2013212360 A JP 2013212360A JP 2015076766 A JP2015076766 A JP 2015076766A
Authority
JP
Japan
Prior art keywords
motion vector
candidate
video encoding
vector
center point
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
JP2013212360A
Other languages
Japanese (ja)
Other versions
JP6148146B2 (en
Inventor
和也 横張
Kazuya Yokohari
和也 横張
卓 佐野
Taku Sano
卓 佐野
大西 隆之
Takayuki Onishi
隆之 大西
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2013212360A priority Critical patent/JP6148146B2/en
Publication of JP2015076766A publication Critical patent/JP2015076766A/en
Application granted granted Critical
Publication of JP6148146B2 publication Critical patent/JP6148146B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

PROBLEM TO BE SOLVED: To provide a video encoding device which, when a plurality of motion vector candidates exist, can broaden an actual search area for an encode block by adaptively correcting a search area and performing a search.SOLUTION: Provided is a video encoding device correcting a prediction vector candidate in order to avoid the duplication of a search range and generating a new prediction vector candidate before performing video encoding on the prediction vector candidate, the video encoding device comprising: center point detection means for calculating coordinates of a center point from among coordinates indicated by all motion vector candidates and outputting the calculated center point coordinates; detection means for detecting the overlapping of motion vector candidate search areas from the coordinates indicated by a plurality of motion vector candidates and a search range and outputting overlap information; and candidate vector correction means for correcting the value of the motion vector candidate using the coordinates indicated by the plurality of motion vector candidates, the coordinates of the center point, the overlap information, and reference image information, and outputting the corrected motion vector candidate.

Description

本発明は、動き予測を用いて映像符号化を行う映像符号化装置、映像符号化方法及び映像符号化プログラムに関する。   The present invention relates to a video encoding device that performs video encoding using motion prediction, a video encoding method, and a video encoding program.

映像符号化技術は、MPEG−2、MPEG−4、MPEG−4/AVCが多く用いられており、近年ではMPEG−4/AVCに次ぐ映像符号化規格として、HEVCが規格化されている。映像符号化規格では、1つのフレーム内に閉じた情報を用いて符号化を行う画面内符号化を用いた情報量の削減方法が一般的であったが、近年用いられている映像符号化規格では時間的に連続した複数のフレームを用いて符号化を行う画面間符号化を組合せた情報量の削減手法が一般的である。   MPEG-2, MPEG-4, and MPEG-4 / AVC are often used as video encoding techniques. In recent years, HEVC has been standardized as a video encoding standard following MPEG-4 / AVC. In the video coding standard, a method for reducing the amount of information using intra-screen coding, in which coding is performed using information closed in one frame, is common. In general, a method for reducing the amount of information is generally combined with inter-frame coding in which coding is performed using a plurality of temporally continuous frames.

画面間符号化では、異なる画面間の動き予測処理を行い動きベクトル情報を取得し、動きベクトル情報と画面間の差分値を符号化することで情報量を削減している。ここで、正しい動きを捉えて精度の高い動きベクトルを導くことで、高効率に情報量を削減することが可能となる。精度の高い動きベクトルを探す手法としては、もっとも基本的な手法として全探索手法がある。全探索手法では、画面内を端から端まですべての領域を対象に探索を行うため、高い精度を実現することが可能だが、その演算量は膨大である。そこで高効率に動きベクトルを探す手法として様々な手法が提案されている。   In inter-screen coding, motion prediction processing between different screens is performed to obtain motion vector information, and the amount of information is reduced by coding the difference values between the motion vector information and the screen. Here, it is possible to reduce the amount of information with high efficiency by capturing a correct motion and deriving a highly accurate motion vector. As a method for searching for a highly accurate motion vector, there is a full search method as the most basic method. The full search method searches for all areas in the screen from end to end, so that high accuracy can be realized, but the amount of calculation is enormous. Therefore, various methods have been proposed as a method for searching for a motion vector with high efficiency.

1つ目は予測ベクトルの周辺を探索する手法である。これは符号化ブロックの動き予測結果と周囲の符号化ブロックの動き予測結果は相関が高いという傾向に基づいた手法であり、MPEG−4/AVCやHEVCでは予測ベクトルの算出方法が定められており、ブロックの動きベクトルは予測ベクトルからの差分値のみを符号化することで符号量の削減を行なっている。この予測ベクトルを利用し、ブロック周辺の既出の動きベクトルから予測ベクトルを算出し、予測ベクトルが指し示す位置を探索の中心として周辺を探索する手法である(例えば、非特許文献1参照)。   The first is a method for searching around the prediction vector. This is a method based on the tendency that the motion prediction result of the encoded block and the motion prediction result of the surrounding encoded blocks have a high correlation, and MPEG-4 / AVC and HEVC have a method for calculating a prediction vector. For the motion vector of the block, the code amount is reduced by encoding only the difference value from the prediction vector. In this method, a prediction vector is calculated from the motion vectors already existing around the block using this prediction vector, and the periphery is searched using the position indicated by the prediction vector as the center of the search (for example, see Non-Patent Document 1).

2つ目は探索点を効率よく削減し探索する手法である。ステップサーチに代表されるように、ある探索範囲の探索点すべてを評価するのではなく、まず広く離散的な数点を評価しその中で最も適した点を中心に近傍点を探索して行くことで少ない演算量で動きベクトルを決定する方法である。近年ではEPZS(Enhanced Predictive Zonal Search)と呼ばれるステップサーチと全探索を組合せた探索手法が行われており、少ない演算量で全探索とほぼ同程度の探索精度を実現している(例えば、非特許文献2参照)。   The second is a method for efficiently reducing search points. Rather than evaluating all search points in a certain search range as represented by step search, first, a wide range of discrete points are evaluated, and neighboring points are searched around the most suitable point. This is a method for determining a motion vector with a small amount of calculation. In recent years, a search method that combines step search and full search called EPZS (Enhanced Predictive Zonal Search) has been performed, and a search accuracy almost equal to that of full search is realized with a small amount of computation (for example, non-patented). Reference 2).

すべての領域を探索する全探索とは異なり探索点を絞る方法では、探索の精度を高めるために複数の候補点を定め、その候補について段階的に評価を行なっている。この様な探索器の一つとして図1に示す構成が考えられる。図1は、動きベクトル候補の探索範囲例を示す図である。図1において、mvA、mvBはそれぞれ上近傍と左近傍の符号化ブロックの動き予測結果から得られる予測ベクトルを表しており、探索範囲を予測ベクトルの中心から±1画素としているが、縦横それぞれ±n画素探索も考えられる。この時、参照画像としては整数画素精度でもよいし、縮小画像を用いた小数画素精度でもよい。図1に示す探索を行う場合は、1つの探索範囲あたり3×3画素の合計9画素を探索するため、予測ベクトルmvA、mvBの2つの候補がある場合は9画素以上探索することが可能となる。   Unlike a full search that searches all regions, the method of narrowing search points defines a plurality of candidate points in order to improve the accuracy of the search, and evaluates the candidates step by step. A configuration shown in FIG. 1 can be considered as one of such searchers. FIG. 1 is a diagram illustrating an example of a search range for motion vector candidates. In FIG. 1, mvA and mvB represent prediction vectors obtained from the motion prediction results of the upper and left neighboring encoded blocks, respectively, and the search range is ± 1 pixel from the center of the prediction vector. An n-pixel search is also conceivable. At this time, the reference image may have integer pixel accuracy, or may have decimal pixel accuracy using a reduced image. When the search shown in FIG. 1 is performed, a total of 9 pixels of 3 × 3 pixels are searched per search range. Therefore, if there are two candidates for the prediction vectors mvA and mvB, it is possible to search for 9 or more pixels. Become.

このことから、探索の精度を高めるための手法として候補を複数用意することが有益であることは明らかである。そのため、周囲の符号化ベクトルの動きベクトルを複数個用意し、その動きベクトルをもとに探索を行うという手法が考えられている(例えば、非特許文献2参照)。   From this, it is clear that it is beneficial to prepare a plurality of candidates as a technique for improving the accuracy of the search. Therefore, a method of preparing a plurality of motion vectors of surrounding encoded vectors and performing a search based on the motion vectors is considered (for example, see Non-Patent Document 2).

ISO/IEC 14496−2(MPEG−4の勧告書)ISO / IEC 14496-2 (MPEG-4 recommendation) Alexis M.Tourapis."Enhanced Predictive Zonal Search for Single and Multiple Frame Motion Estimation".in Proceedings of Visual Communications and Image Processing、pp.1069-1079、January 2002.Alexis M. Tourapis. "Enhanced Predictive Zonal Search for Single and Multiple Frame Motion Estimation" .in Proceedings of Visual Communications and Image Processing, pp.1069-1079, January 2002.

しかしながら、非特許文献1、2に記載の映像符号化装置では複数の動きベクトル候補の探索領域に重なりが生じる可能性がある。探索領域に重なりが生じる場合は、動きベクトル候補ごとに同一の探索領域を複数回探索することが発生するため、動きベクトル候補数あたりの実際の探索領域が狭くなるという問題がある。   However, in the video encoding devices described in Non-Patent Documents 1 and 2, there is a possibility that overlap occurs in search areas for a plurality of motion vector candidates. When the search areas overlap, there is a problem that an actual search area per number of motion vector candidates is narrowed because the same search area is searched a plurality of times for each motion vector candidate.

図1に示す例では、予測ベクトルmvA、mvBの探索領域の重なりが生じている。この様な場合に、重複した探索範囲では探索処理を止めるという解もあるが、ハードウェア実装のような定められた処理あたりの時間が決まっている場合には(ここでは、探索処理に与えられた演算時間を指す)、探索処理を止めている間は演算を行わない空きの時間が生じてしまう。探索処理を止めてしまうと、演算器が処理を行わない空きの時間が生じてしまうことに加え、十分な探索領域を探索することができていないという問題がある。   In the example shown in FIG. 1, the search areas of the prediction vectors mvA and mvB overlap. In such a case, there is a solution that the search processing is stopped in the overlapping search range, but when the time per predetermined processing such as hardware implementation is determined (here, given to the search processing) When the search process is stopped, an idle time during which no calculation is performed occurs. If the search process is stopped, there is a problem that an empty time during which the arithmetic unit does not perform processing occurs, and a sufficient search area cannot be searched.

本発明は、このような事情に鑑みてなされたもので、複数の動きベクトル候補があるときに、適応的に探索領域を修正して探索を行うことにより、符号化ブロックに対する実際の探索領域を広くすることができる映像符号化装置、映像符号化方法及び映像符号化プログラムを提供することを目的とする。   The present invention has been made in view of such circumstances. When there are a plurality of motion vector candidates, the search area is adaptively corrected to perform a search, whereby an actual search area for the encoded block is determined. An object is to provide a video encoding device, a video encoding method, and a video encoding program that can be widened.

本発明は、予測ベクトル候補に対して、探索範囲の重複を避けるために予測ベクトル候補を修正し、新たに予測ベクトル候補を生成して映像符号化を行う映像符号化装置であって、全ての動きベクトル候補の指す座標から中心点の座標を算出して出力する中心点検出手段と、複数の前記動きベクトル候補の指す座標および探索範囲から、前記動きベクトル候補の探索領域の重なりを検出し、重なり情報を出力する重なり検出手段と、複数の前記動きベクトル候補の指す座標と、前記中心点の座標と、前記重なり情報と、参照画像情報を用いて、前記動きベクトル候補の値を修正し、修正済の動きベクトル候補を出力する候補ベクトル修正手段とを備えることを特徴とする。   The present invention is a video encoding device that corrects a prediction vector candidate to avoid duplication of search ranges with respect to the prediction vector candidate, generates a prediction vector candidate newly, and performs video encoding. Center point detection means for calculating and outputting the coordinates of the center point from the coordinates indicated by the motion vector candidate, and detecting the overlap of the search area of the motion vector candidate from the coordinates and search range indicated by the plurality of motion vector candidates, Using the overlap detection means for outputting overlap information, the coordinates pointed to by a plurality of motion vector candidates, the coordinates of the center point, the overlap information, and reference image information, the value of the motion vector candidate is corrected, Candidate vector correction means for outputting a corrected motion vector candidate.

本発明は、前記候補ベクトル修正手段は、前記動きベクトル候補が指す座標を横方向へ移動させることにより、前記動きベクトル候補の値を修正することを特徴とする。   The present invention is characterized in that the candidate vector correcting means corrects the value of the motion vector candidate by moving a coordinate indicated by the motion vector candidate in a horizontal direction.

本発明は、前記候補ベクトル修正手段は、前記動きベクトル候補が指す座標を縦方向へ移動させることにより、前記動きベクトル候補の値を修正することを特徴とする。   The present invention is characterized in that the candidate vector correcting means corrects the value of the motion vector candidate by moving a coordinate indicated by the motion vector candidate in a vertical direction.

本発明は、前記候補ベクトル修正手段は、前記動きベクトル候補のベクトルの長さを変えることにより、前記動きベクトル候補の値を修正することを特徴とする。   The present invention is characterized in that the candidate vector correcting means corrects the value of the motion vector candidate by changing the length of the vector of the motion vector candidate.

本発明は、前記候補ベクトル修正手段は、前記動きベクトル候補のベクトルの向きを変えることにより、前記動きベクトル候補の値を修正することを特徴とする。   The present invention is characterized in that the candidate vector correcting means corrects the value of the motion vector candidate by changing the direction of the vector of the motion vector candidate.

本発明は、前記中心点検出手段は、全ての前記動きベクトル候補が指す座標点から、算術平均を用いて前記中心点座標を算出することを特徴とする。   The present invention is characterized in that the center point detecting means calculates the center point coordinates from the coordinate points indicated by all the motion vector candidates using an arithmetic mean.

本発明は、前記中心点検出手段は、全ての前記動きベクトル候補が指す座標点の中央値を前記中心点座標として算出することを特徴とする。   The present invention is characterized in that the center point detection means calculates a median value of coordinate points indicated by all the motion vector candidates as the center point coordinates.

本発明は、予測ベクトル候補に対して、探索範囲の重複を避けるために予測ベクトル候補を修正し、新たに予測ベクトル候補を生成して映像符号化を行う映像符号化装置が行う映像符号化方法であって、全ての動きベクトル候補の指す座標から中心点の座標を算出して出力する中心点検出ステップと、複数の前記動きベクトル候補の指す座標および探索範囲から、前記動きベクトル候補の探索領域の重なりを検出し、重なり情報を出力する重なり検出ステップと、複数の前記動きベクトル候補の指す座標と、前記中心点の座標と、前記重なり情報と、参照画像情報を用いて、前記動きベクトル候補の値を修正し、修正済の動きベクトル候補を出力する候補ベクトル修正ステップとを有することを特徴とする。   The present invention relates to a video encoding method performed by a video encoding apparatus that corrects a prediction vector candidate in order to avoid duplication of search ranges with respect to the prediction vector candidate, and newly generates a prediction vector candidate and performs video encoding. A center point detecting step for calculating and outputting the coordinates of the center point from the coordinates indicated by all the motion vector candidates, and the search area of the motion vector candidates from the coordinates and search ranges indicated by the plurality of motion vector candidates The motion vector candidate using the overlap detection step of detecting the overlap of the image and outputting the overlap information; the coordinates indicated by the plurality of motion vector candidates; the coordinates of the center point; the overlap information; and the reference image information. And a candidate vector correcting step for correcting the value of the motion vector and outputting a corrected motion vector candidate.

本発明は、コンピュータを、前記映像符号化装置として機能させるための映像符号化プログラムである。   The present invention is a video encoding program for causing a computer to function as the video encoding device.

本発明によれば、複数の動きベクトル候補の情報を探索範囲情報を用いて修正を行い、新たに動きベクトル候補を定め、新たに定めた動きベクトル候補では探索範囲の重複が発生しないようにしたため、より広い範囲を探索することが可能になるという効果が得られる。そのため、探索性能の向上が見込め、符号化効率を向上することができる。   According to the present invention, information on a plurality of motion vector candidates is corrected using search range information, a new motion vector candidate is determined, and search range duplication does not occur in the newly determined motion vector candidate. As a result, it is possible to search for a wider range. Therefore, improvement in search performance can be expected, and encoding efficiency can be improved.

動きベクトル候補の探索範囲例を示す図である。It is a figure which shows the search range example of a motion vector candidate. 本発明の一実施形態の構成を示すブロック図である。It is a block diagram which shows the structure of one Embodiment of this invention. 動きベクトル候補の修正例を示す図である。It is a figure which shows the example of correction of a motion vector candidate. 動きベクトル候補の修正例を示す図である。It is a figure which shows the example of correction of a motion vector candidate. 動きベクトル候補の修正例を示す図である。It is a figure which shows the example of correction of a motion vector candidate. 動きベクトル候補の修正例を示す図である。It is a figure which shows the example of correction of a motion vector candidate. 動きベクトル候補の修正例を示す図である。It is a figure which shows the example of correction of a motion vector candidate. 動きベクトル候補の修正例を示す図である。It is a figure which shows the example of correction of a motion vector candidate. ベクトルの方向の定義を示す図である。It is a figure which shows the definition of the direction of a vector. 動きベクトル候補の修正例を示す図である。It is a figure which shows the example of correction of a motion vector candidate. 動きベクトル候補の修正例を示す図である。It is a figure which shows the example of correction of a motion vector candidate. 図2に示す予測ベクトル生成部100の処理動作を示すフローチャートである。It is a flowchart which shows the processing operation of the prediction vector production | generation part 100 shown in FIG.

以下、図面を参照して、本発明の一実施形態による映像符号化装置を説明する。図2は同実施形態の構成を示すブロック図である。映像符号化装置1の構成を図2を参照して説明するに際して、映像符号化装置が普通に有する公知の機能・構成については、本発明の説明に直接関わりがない限り、その説明及び構成の図示を省略する。本実施形態による映像符号化装置1は、予測ベクトル生成部100を備えている。予測ベクトル生成部100は、中心点検出部101と、重なり検出部102と、候補ベクトル修正部103とを含んで構成される。   Hereinafter, a video encoding apparatus according to an embodiment of the present invention will be described with reference to the drawings. FIG. 2 is a block diagram showing the configuration of the embodiment. When the configuration of the video encoding device 1 is described with reference to FIG. 2, the well-known functions and configurations that the video encoding device normally has are explained and the configuration of the video encoding device 1 is not directly related to the description of the present invention. Illustration is omitted. The video encoding device 1 according to the present embodiment includes a prediction vector generation unit 100. The prediction vector generation unit 100 includes a center point detection unit 101, an overlap detection unit 102, and a candidate vector correction unit 103.

中心点検出部101は、すべての動きベクトル候補(動きベクトル候補1〜N)を入力とし、各動きベクトル候補の指す座標値から中心点を算出する。中心点の決定方法としては平均値や中央値を考慮した方法などがある。例えば、平均値として中心点を算出する方法は以下の通りとなる。候補ベクトルの数が2個で、それぞれmvA=(xA,yA)、mvB=(xB,yB)とする。その時、中心点(CenterX,CenterY)は(1)式、(2)式のようになる。

Figure 2015076766
Figure 2015076766
The center point detection unit 101 receives all motion vector candidates (motion vector candidates 1 to N) as input, and calculates a center point from the coordinate value indicated by each motion vector candidate. As a method for determining the center point, there are a method in consideration of an average value and a median value. For example, the method for calculating the center point as an average value is as follows. The number of candidate vectors is two, and mvA = (xA, yA) and mvB = (xB, yB), respectively. At that time, the center points (CenterX, CenterY) are as shown in equations (1) and (2).
Figure 2015076766
Figure 2015076766

同様に、中央値で定める場合は(3)式、(4)式のようになる。ここでmedian(val1,val2,…,valN)はval1〜valNを小さい順から並べたときに中央の値を返す関数である。Nが偶数の場合は中央の2つの値の算術平均値を返す。

Figure 2015076766
Figure 2015076766
Similarly, when it is determined by the median value, the equations (3) and (4) are obtained. Here, median (val1, val2,..., ValN) is a function that returns a central value when val1 to valN are arranged in ascending order. If N is an even number, the arithmetic average of the two middle values is returned.
Figure 2015076766
Figure 2015076766

重なり検出部102は、すべての動きベクトル候補(動きベクトル候補1〜N)及び探索範囲の情報を入力とし、各動きベクトル間の重なり度合いを検出する。重なり度合いは、各動きベクトル候補の指す座標値に加え、探索範囲(Sx,Sy)から算出する。例えば、候補ベクトルの数が2個で、それぞれmvA=(xA、yA),mvB=(xB、yB)とし、この時のX方向の重なりをOLx、Y方向の重なりをOLyとする。ここで重なりがある場合は、(5)式が成立する。このとき、OLx、OLyをそれぞれ(6)式、(7)式のように定める。

Figure 2015076766
Figure 2015076766
Figure 2015076766
The overlap detection unit 102 receives all the motion vector candidates (motion vector candidates 1 to N) and search range information as inputs, and detects the degree of overlap between the motion vectors. The degree of overlap is calculated from the search range (Sx, Sy) in addition to the coordinate value indicated by each motion vector candidate. For example, the number of candidate vectors is two and mvA = (xA, yA) and mvB = (xB, yB), respectively, and the overlap in the X direction at this time is OLx and the overlap in the Y direction is OLy. If there is an overlap here, equation (5) holds. At this time, OLx and OLy are determined as shown in equations (6) and (7), respectively.
Figure 2015076766
Figure 2015076766
Figure 2015076766

一方、候補ベクトル間に重なりが無い場合は、(8)式が成立する。このとき、OLx、OLyはそれぞれ(9)式、(10)式のように定める。

Figure 2015076766
Figure 2015076766
Figure 2015076766
On the other hand, if there is no overlap between candidate vectors, equation (8) is established. At this time, OLx and OLy are determined as shown in equations (9) and (10), respectively.
Figure 2015076766
Figure 2015076766
Figure 2015076766

候補ベクトル修正部103は、すべての動きベクトル候補(動きベクトル候補1〜N)、探索範囲、中心点、参照画像を入力とし、動きベクトル候補の修正を行い各動きベクトルの探索範囲が重なりが起きないように修正を行う。修正を行う方法としてはいくつかの方法がある。ここでは、候補ベクトルの数が2個で、それぞれmvA=(xA,yA),mvB=(xB、yB)とし、X方向の重なりがOLx、Y方向の重なりをOLyとし、探索範囲が(Sx、Sy)、中心点が(CenterX,CenterY)のときを例に説明する。   Candidate vector correcting section 103 receives all motion vector candidates (motion vector candidates 1 to N), search range, center point, and reference image as input, corrects the motion vector candidate, and the search range of each motion vector overlaps. Make corrections so that no. There are several ways to make corrections. Here, the number of candidate vectors is 2, mvA = (xA, yA), mvB = (xB, yB), the overlap in the X direction is OLx, the overlap in the Y direction is OLy, and the search range is (Sx , Sy), and the case where the center point is (CenterX, CenterY) will be described as an example.

修正前の各候補ベクトルの探索範囲を図1に示す。塗りつぶされている部分がmvA,mvBによる探索範囲を表しており、斜線で塗られている部分が重なり部分を表している。   The search range of each candidate vector before correction is shown in FIG. The shaded portion represents the search range by mvA and mvB, and the shaded portion represents the overlapping portion.

第1の修正方法は、横スライドである。横スライドは候補ベクトルが指す座標を横方向へスライドさせる方法である。図3、図4は横スライドの時の処理例を示す。図3は一方の候補ベクトルを固定し、もう一方の候補ベクトルのみ横方向へスライドさせている。スライドさせるベクトルの選択方法はとしては様々な手法が適用できる。例えば、ベクトルの長さが短い方または長い方を選択する方法や、周辺ブロックの動きベクトルに近いベクトルを選択する方法などが適用できる。図4は候補ベクトルをどちらも横方向へスライドさせている。スライドさせる大きさはX方向の重なりを表すOLxから算出する。スライドさせる方向はmvA、mvB、中心点から算出する。mvAを固定し、mvBを修正する場合は、スライドさせる方向は(xB−CenterX)の値の正負によって求める。正の時はプラス方向に、負の時はマイナス方向へスライドさせる。正のときは(11)式のように修正を行う。

Figure 2015076766
The first correction method is a horizontal slide. The horizontal slide is a method of sliding the coordinates indicated by the candidate vector in the horizontal direction. FIG. 3 and FIG. 4 show processing examples at the time of horizontal sliding. In FIG. 3, one candidate vector is fixed, and only the other candidate vector is slid in the horizontal direction. Various methods can be applied to select a vector to be slid. For example, a method of selecting the shorter or longer vector length, a method of selecting a vector close to the motion vector of the peripheral block, and the like can be applied. In FIG. 4, both candidate vectors are slid in the horizontal direction. The size to be slid is calculated from OLx representing the overlap in the X direction. The sliding direction is calculated from mvA, mvB, and the center point. When mvA is fixed and mvB is corrected, the sliding direction is determined by the sign of (xB-CenterX). When positive, slide in the plus direction; when negative, slide in the minus direction. If it is positive, correction is performed as shown in equation (11).
Figure 2015076766

mvA、mvBともに修正を行う場合は、優先ベクトルを予め定めてからベクトルの修正を行う。OLxが偶数の場合はxA、xBともにOLx/2だけ加算し修正を行うが、OLxが奇数の場合は優先ベクトルの方のスライドの大きさを大きくする。スライドさせる方向はmvA、mvB、中心点から算出する。mvA、mvBの移動する方向はそれぞれ(xA−CenterX)および(xB−CenterX)の符号によって決める。正の時はプラス方向に、負の時はマイナス方向へスライドさせる。mvAが優先ベクトルで、OLxが奇数の時で、mvAのスライド方向がプラス、mvBのスライド方向がマイナスでmvA、mvBを修正する場合は、(12)式、(13)式のように修正を行う。

Figure 2015076766
Figure 2015076766
When correcting both mvA and mvB, the vector is corrected after a priority vector is determined in advance. When OLx is an even number, both xA and xB are corrected by adding only OLx / 2, but when OLx is an odd number, the size of the slide of the priority vector is increased. The sliding direction is calculated from mvA, mvB, and the center point. The moving directions of mvA and mvB are determined by the codes (xA-CenterX) and (xB-CenterX), respectively. When positive, slide in the plus direction; when negative, slide in the minus direction. When mvA is a priority vector and OLx is an odd number, when mvA slide direction is positive and mvB slide direction is negative and mvA and mvB are corrected, correction is made as shown in equations (12) and (13). Do.
Figure 2015076766
Figure 2015076766

第2の修正方法は、縦スライドである。縦スライドは候補ベクトルが指す座標を縦方向へスライドさせる方法である。図5、図6は縦スライドの時の処理例を示す。図5は一方の候補ベクトルを固定し、もう一方の候補ベクトルのみ縦方向へスライドさせている。スライドさせるベクトルの選択方法はとしては様々な手法が適用できる。例えば、ベクトルの長さが短い方または長い方を選択する方法や、周辺ブロックの動きベクトルに近いベクトルを選択する方法などが適用できる。図6は候補ベクトルをどちらも縦方向へスライドさせている。スライドさせる大きさはY方向の重なりを表すOLyから算出する。スライドさせる方向はmvA、mvB、中心点から算出する。mvAを固定し、mvBを修正する場合は、スライドさせる方向は(yB−CenterY)の値の正負によって求める。正の時はプラス方向に、負の時はマイナス方向へスライドさせる。正のときは(14)式のように修正を行う。

Figure 2015076766
The second correction method is a vertical slide. The vertical slide is a method of sliding the coordinates indicated by the candidate vector in the vertical direction. FIG. 5 and FIG. 6 show an example of processing during vertical sliding. In FIG. 5, one candidate vector is fixed, and only the other candidate vector is slid in the vertical direction. Various methods can be applied to select a vector to be slid. For example, a method of selecting the shorter or longer vector length, a method of selecting a vector close to the motion vector of the peripheral block, and the like can be applied. In FIG. 6, both candidate vectors are slid in the vertical direction. The size to be slid is calculated from OLy representing the overlap in the Y direction. The sliding direction is calculated from mvA, mvB, and the center point. When mvA is fixed and mvB is corrected, the sliding direction is obtained by the sign of (yB-CenterY). When positive, slide in the plus direction; when negative, slide in the minus direction. If it is positive, correction is performed as shown in equation (14).
Figure 2015076766

mvA、mvBともに修正を行う場合は、優先ベクトルを予め定めてからベクトルの修正を行う。OLyが偶数の場合はyA、yBともにOLy/2だけ加算し修正を行うが、OLyが奇数の場合は優先ベクトルの方のスライドの大きさを大きくする。スライドさせる方向はmvA、mvB、中心点から算出する。mvA、mvBの移動する方向はそれぞれ(yA−CenterY)および(yB−CenterY)の符号によって決める。正の時はプラス方向に、負の時はマイナス方向へスライドさせる。mvAが優先ベクトルで、OLyが奇数の時で、mvAのスライド方向がプラス、mvBのスライド方向がマイナスでmvA、mvBを修正する場合は、(15)式、(16)式のように修正を行う。

Figure 2015076766
Figure 2015076766
When correcting both mvA and mvB, the vector is corrected after a priority vector is determined in advance. When OLy is an even number, both yA and yB are corrected by adding only OLy / 2. When OLy is an odd number, the size of the priority vector slide is increased. The sliding direction is calculated from mvA, mvB, and the center point. The moving directions of mvA and mvB are determined by the signs of (yA-CenterY) and (yB-CenterY), respectively. When positive, slide in the plus direction; when negative, slide in the minus direction. When mvA is a priority vector and OLy is an odd number, when mvA slide direction is positive and mvB slide direction is negative and mvA and mvB are corrected, correction is made as shown in equations (15) and (16). Do.
Figure 2015076766
Figure 2015076766

第3の修正方法は、ベクトル伸縮である。ベクトル伸縮は候補ベクトルが指す座標をベクトルの向きは同じで長さを変える方法である。図7、図8はベクトル伸縮の時の処理例を示す。図7は一方の候補ベクトルを固定し、もう一方の候補ベクトルのみ伸縮させている。伸縮させるベクトルの選択方法はとしては様々な手法が適用できる。例えば、ベクトルの長さが短い方または長い方を選択する方法や、周辺ブロックの動きベクトルに近いベクトルを選択する方法などが適用できる。図8は候補ベクトルをどちらも伸縮させている。図9は、ベクトルの方向の定義を示す図である。伸縮させる大きさはmvA、mvB、OLx、OLyから求める。伸縮させる大きさはX方向の重なりを表すOLxおよびY方向の重なりを表すOLyから算出する。具体的には、ベクトル伸縮させるベクトルの向きが上方向または下方向の場合はOLxから算出し、ベクトル伸縮させるベクトルの向きが右方向または下方向の場合はOLyから算出する。伸縮させる方向はmvA、mvB、中心点から算出する。   The third correction method is vector expansion / contraction. Vector expansion / contraction is a method of changing the length of the coordinate pointed to by the candidate vector with the same vector direction. 7 and 8 show examples of processing at the time of vector expansion / contraction. In FIG. 7, one candidate vector is fixed and only the other candidate vector is expanded or contracted. Various methods can be applied to select a vector to be expanded or contracted. For example, a method of selecting the shorter or longer vector length, a method of selecting a vector close to the motion vector of the peripheral block, and the like can be applied. In FIG. 8, both candidate vectors are expanded and contracted. FIG. 9 is a diagram showing the definition of the vector direction. The size of expansion / contraction is obtained from mvA, mvB, OLx, and OLy. The size of expansion / contraction is calculated from OLx representing the overlap in the X direction and OLy representing the overlap in the Y direction. Specifically, when the direction of the vector to be expanded / contracted is upward or downward, calculation is made from OLx, and when the direction of the vector to be expanded / contracted is rightward or downward, it is calculated from OLy. The direction of expansion / contraction is calculated from mvA, mvB, and the center point.

mvAを固定し、mvBを修正する場合は、伸縮させる方向は候補ベクトルの長さと、原点から中心点までのベクトル(以下、中心点ベクトルという)の長さを比較する。候補ベクトルの方が中心点ベクトルよりも長い場合は候補ベクトルを伸ばす方向へ、候補ベクトルの方が中心点ベクトルよりも短い場合は候補ベクトルを縮める方向へとベクトルを修正する。伸ばす方向のときは(17)式のように修正を行う。ただし、この時|xB|が負、|yB|が正とし、mvBが上方向とする。ここで、xA×OLy/yAの結果は切り上げとする。

Figure 2015076766
When mvA is fixed and mvB is corrected, the direction of expansion / contraction is compared with the length of the candidate vector and the length of the vector from the origin to the center point (hereinafter referred to as the center point vector). If the candidate vector is longer than the center point vector, the vector is corrected in the direction of extending the candidate vector, and if the candidate vector is shorter than the center point vector, the vector is corrected in the direction of reducing the candidate vector. When it is in the extending direction, correction is performed as shown in equation (17). However, at this time, | xB | is negative, | yB | is positive, and mvB is upward. Here, the result of xA × OLy / yA is rounded up.
Figure 2015076766

mvA、mvBともに修正を行う場合は、優先ベクトルを予め定めてからベクトルの修正を行う。伸縮させる方向に対応するOLxまたはOLyの値が偶数の場合はその値の1/2だけ加算し修正を行うが、OLxまたはOLyの値が奇数の場合は優先ベクトルの方の伸縮の大きさを大きくする。伸縮させる方向は候補ベクトルの長さと、中心点ベクトルの長さを比較する。候補ベクトルの方が中心点ベクトルよりも長い場合は候補ベクトルを伸ばす方向へ、候補ベクトルの方が中心点ベクトルよりも短い場合は候補ベクトルを縮める方向へとベクトルを修正する。mvAが優先ベクトルで、mvAは下方向に縮める方向に、mvBは上方向に伸ばす方向でmvA、mvBを修正する場合は、(18)式、(19)式のように修正を行う。ただし、この時|xA|が負、|yA|が正、|xB|が負、|yB|が正とする。ここで、xA×OLy/2yA、yB×OLy/2yBおよびOLy/2の結果は切り上げとする。

Figure 2015076766
Figure 2015076766
When correcting both mvA and mvB, the vector is corrected after a priority vector is determined in advance. When the value of OLx or OLy corresponding to the direction of expansion / contraction is an even number, the correction is performed by adding 1/2 of the value, but when the value of OLx or OLy is an odd number, the size of expansion / contraction of the priority vector is set. Enlarge. The direction of expansion / contraction is compared with the length of the candidate vector and the length of the center point vector. If the candidate vector is longer than the center point vector, the vector is corrected in the direction of extending the candidate vector, and if the candidate vector is shorter than the center point vector, the vector is corrected in the direction of reducing the candidate vector. When mvA is a priority vector, mvA is corrected in the downward direction, and mvB is corrected in the upward direction, mvA and mvB are corrected as shown in equations (18) and (19). However, at this time, | xA | is negative, | yA | is positive, | xB | is negative, and | yB | is positive. Here, the results of xA × OLy / 2yA, yB × OLy / 2yB, and OLy / 2 are rounded up.
Figure 2015076766
Figure 2015076766

第4の修正方法は、ベクトル回転である。ベクトル回転は候補ベクトル間の距離を遠ざけるようにベクトルの向きを変える方法である。図10、図11はベクトル回転の時の処理例を示す。図10は一方の候補ベクトルを固定し、もう一方の候補ベクトルのみ回転させている。回転させるベクトルの選択方法はとしては様々な手法が適用できる。例えば、ベクトルの長さが短い方または長い方を選択する方法や、周辺ブロックの動きベクトルに近いベクトルを選択する方法などが適用できる。図11は候補ベクトルをどちらも回転させている。回転させるためのベクトルの方向は、mvA、mvB、中心点から求める。mvBを動かす場合は、mvAまたは中心点からmvBへのベクトルの方向により求める。ベクトルの移動の大きさはベクトルの方向とOLx、OLyから求める。
mvAを固定し、mvBを修正する場合は(20)式のように修正を行う。この時、回転させる方向は右方向であるとする。また、yA×OLy/xAの結果は切り上げとする。

Figure 2015076766
The fourth correction method is vector rotation. Vector rotation is a method of changing the direction of vectors so as to increase the distance between candidate vectors. 10 and 11 show processing examples during vector rotation. In FIG. 10, one candidate vector is fixed and only the other candidate vector is rotated. Various methods can be applied as a method for selecting a vector to be rotated. For example, a method of selecting the shorter or longer vector length, a method of selecting a vector close to the motion vector of the peripheral block, and the like can be applied. In FIG. 11, both candidate vectors are rotated. The direction of the vector for rotation is obtained from mvA, mvB, and the center point. When mvB is moved, it is obtained from the vector direction from mvA or the center point to mvB. The magnitude of the vector movement is obtained from the vector direction and OLx and OLy.
When mvA is fixed and mvB is corrected, correction is performed as shown in equation (20). At this time, it is assumed that the direction of rotation is the right direction. The result of yA × OLy / xA is rounded up.
Figure 2015076766

mvA、mvBともに修正を行う場合は、優先ベクトルを予め定めてからベクトルの修正を行う。回転させる方向に対応するOLxまたはOLyの値が偶数の場合はその値の1/2だけ加算し修正を行うが、OLxまたはOLyの値が奇数の場合は優先ベクトルの方の移動の大きさを大きくする。回転させるためのベクトルの方向は、mvA、mvB、中心点から求める。mvAが優先ベクトルで、mvAは左方向への回転で、mvBは右方向への回転の時は、(21)式、(22)式のように修正を行う。この時、yA×OLy/2xA、yB×OLy/2xBおよびOLy/2の結果は切り上げとする。

Figure 2015076766
Figure 2015076766
When correcting both mvA and mvB, the vector is corrected after a priority vector is determined in advance. When the value of OLx or OLy corresponding to the direction of rotation is an even number, the correction is performed by adding 1/2 of that value, but when the value of OLx or OLy is an odd number, the magnitude of movement of the priority vector is set. Enlarge. The direction of the vector for rotation is obtained from mvA, mvB, and the center point. When mvA is a priority vector, mvA is rotated to the left, and mvB is rotated to the right, correction is performed as shown in equations (21) and (22). At this time, the results of yA × OLy / 2xA, yB × OLy / 2xB, and OLy / 2 are rounded up.
Figure 2015076766
Figure 2015076766

次に、図12を参照して、図2に示す予測ベクトル生成部100の処理動作を説明する。図12は、図2に示す予測ベクトル生成部100の処理動作を示すフローチャートである。まず、中心点検出部101は、すべての動きベクトル候補(動きベクトル候補1〜N)を入力し、このすべての動きベクトル候補の中から中心点の検出を行う(ステップS201)。   Next, the processing operation of the prediction vector generation unit 100 shown in FIG. 2 will be described with reference to FIG. FIG. 12 is a flowchart showing the processing operation of the prediction vector generation unit 100 shown in FIG. First, the center point detection unit 101 receives all motion vector candidates (motion vector candidates 1 to N), and detects a center point from all the motion vector candidates (step S201).

次に、重なり検出部102は、すべての動きベクトル候補(動きベクトル候補1〜N)と探索範囲を入力し、動きベクトル候補の中から重なりを検出する(ステップS202)。   Next, the overlap detection unit 102 inputs all motion vector candidates (motion vector candidates 1 to N) and the search range, and detects an overlap from the motion vector candidates (step S202).

次に、重なり検出部102は、重なり検出の出力結果から重なりの有無を判定する(ステップS203)。この判定の結果、重なりがある場合、候補ベクトル修正部103は、候補ベクトルの修正を行い、各候補ベクトルの重なりが無いようにベクトル情報の修正を行う(ステップS204)。   Next, the overlap detection unit 102 determines the presence or absence of overlap from the output result of overlap detection (step S203). As a result of this determination, if there is an overlap, the candidate vector correction unit 103 corrects the candidate vector and corrects the vector information so that there is no overlap between the candidate vectors (step S204).

一方、判定の結果、重なりが無い場合、または、候補ベクトルの修正が済んだ後、重なり検出部102は、すべての動きベクトル候補について重なりが無いように処理が済んでいるかの判定を行う(ステップS205)。この判定の結果、全候補について処理済みでなければ、ステップS202へ戻り処理を繰り返す。   On the other hand, if there is no overlap as a result of the determination, or after the candidate vectors have been corrected, the overlap detection unit 102 determines whether all the motion vector candidates have been processed so that there is no overlap (step) S205). As a result of the determination, if all the candidates have not been processed, the process returns to step S202 to repeat the process.

一方、すべての候補ベクトルについて処理が完了していた場合、候補ベクトル修正部103は、修正済みのすべての候補ベクトルを出力し、処理を完了する(ステップS206)。   On the other hand, when the process has been completed for all candidate vectors, the candidate vector correcting unit 103 outputs all the corrected candidate vectors and completes the process (step S206).

以上説明したように、探索範囲を決定するための動き予測ベクトルが複数ある場合に、探索範囲に重なりが生じないように動き予測ベクトルを修正することで、符号化ブロックに対する探索範囲を広く設定することを可能とし、かつ、ハード実装に適したアルゴリズムを提供することができる。   As described above, when there are a plurality of motion prediction vectors for determining the search range, the search range for the coding block is set wide by correcting the motion prediction vector so that the search range does not overlap. It is possible to provide an algorithm suitable for hardware implementation.

前述した実施形態における予測ベクトル生成部100をコンピュータで実現するようにしてもよい。その場合、この機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよく、PLD(Programmable Logic Device)やFPGA(Field Programmable Gate Array)等のハードウェアを用いて実現されるものであってもよい。   The prediction vector generation unit 100 in the embodiment described above may be realized by a computer. In that case, a program for realizing this function may be recorded on a computer-readable recording medium, and the program recorded on this recording medium may be read into a computer system and executed. Here, the “computer system” includes an OS and hardware such as peripheral devices. The “computer-readable recording medium” refers to a storage device such as a flexible medium, a magneto-optical disk, a portable medium such as a ROM and a CD-ROM, and a hard disk incorporated in a computer system. Furthermore, the “computer-readable recording medium” dynamically holds a program for a short time like a communication line when transmitting a program via a network such as the Internet or a communication line such as a telephone line. In this case, a volatile memory inside a computer system serving as a server or a client in that case may be included and a program held for a certain period of time. Further, the program may be for realizing a part of the functions described above, and may be a program capable of realizing the functions described above in combination with a program already recorded in the computer system. It may be realized using hardware such as PLD (Programmable Logic Device) or FPGA (Field Programmable Gate Array).

以上、図面を参照して本発明の実施の形態を説明してきたが、上記実施の形態は本発明の例示に過ぎず、本発明が上記実施の形態に限定されるものではないことは明らかである。したがって、本発明の技術思想及び範囲を逸脱しない範囲で構成要素の追加、省略、置換、その他の変更を行ってもよい。   As mentioned above, although embodiment of this invention has been described with reference to drawings, the said embodiment is only the illustration of this invention, and it is clear that this invention is not limited to the said embodiment. is there. Therefore, additions, omissions, substitutions, and other modifications of the components may be made without departing from the technical idea and scope of the present invention.

複数の動きベクトル候補があるときに、適応的に探索領域を修正して探索を行うことにより、符号化ブロックに対する実際の探索領域を広くすることが不可欠な用途に適用できる。   When there are a plurality of motion vector candidates, the search area is adaptively corrected and the search is performed, so that it can be applied to an application in which it is essential to widen the actual search area for the coding block.

1・・・映像符号化装置、100・・・予測ベクトル生成部、101・・・中心点検出部、102・・・重なり検出部、103・・・候補ベクトル修正部   DESCRIPTION OF SYMBOLS 1 ... Video coding apparatus, 100 ... Predictive vector production | generation part, 101 ... Center point detection part, 102 ... Overlap detection part, 103 ... Candidate vector correction part

Claims (9)

予測ベクトル候補に対して、探索範囲の重複を避けるために予測ベクトル候補を修正し、新たに予測ベクトル候補を生成して映像符号化を行う映像符号化装置であって、
全ての動きベクトル候補の指す座標から中心点の座標を算出して出力する中心点検出手段と、
複数の前記動きベクトル候補の指す座標および探索範囲から、前記動きベクトル候補の探索領域の重なりを検出し、重なり情報を出力する重なり検出手段と、
複数の前記動きベクトル候補の指す座標と、前記中心点の座標と、前記重なり情報と、参照画像情報を用いて、前記動きベクトル候補の値を修正し、修正済の動きベクトル候補を出力する候補ベクトル修正手段と
を備えることを特徴とする映像符号化装置。
A prediction vector candidate is a video encoding device that corrects a prediction vector candidate in order to avoid duplication of search ranges, newly generates a prediction vector candidate, and performs video encoding,
Center point detection means for calculating and outputting the coordinates of the center point from the coordinates indicated by all motion vector candidates;
An overlap detection means for detecting an overlap of search areas of the motion vector candidates from coordinates and search ranges indicated by the plurality of motion vector candidates, and outputting overlap information;
A candidate that corrects the value of the motion vector candidate using the coordinates indicated by the plurality of motion vector candidates, the coordinates of the center point, the overlap information, and reference image information, and outputs a corrected motion vector candidate A video encoding device comprising: vector correction means.
前記候補ベクトル修正手段は、前記動きベクトル候補が指す座標を横方向へ移動させることにより、前記動きベクトル候補の値を修正することを特徴とする請求項1に記載の映像符号化装置。   The video encoding apparatus according to claim 1, wherein the candidate vector correcting unit corrects the value of the motion vector candidate by moving a coordinate indicated by the motion vector candidate in a horizontal direction. 前記候補ベクトル修正手段は、前記動きベクトル候補が指す座標を縦方向へ移動させることにより、前記動きベクトル候補の値を修正することを特徴とする請求項1に記載の映像符号化装置。   The video encoding apparatus according to claim 1, wherein the candidate vector correcting unit corrects the value of the motion vector candidate by moving a coordinate indicated by the motion vector candidate in a vertical direction. 前記候補ベクトル修正手段は、前記動きベクトル候補のベクトルの長さを変えることにより、前記動きベクトル候補の値を修正することを特徴とする請求項1に記載の映像符号化装置。   The video encoding apparatus according to claim 1, wherein the candidate vector correcting unit corrects the value of the motion vector candidate by changing a length of the vector of the motion vector candidate. 前記候補ベクトル修正手段は、前記動きベクトル候補のベクトルの向きを変えることにより、前記動きベクトル候補の値を修正することを特徴とする請求項1に記載の映像符号化装置。   The video encoding apparatus according to claim 1, wherein the candidate vector correcting unit corrects the value of the motion vector candidate by changing a direction of the vector of the motion vector candidate. 前記中心点検出手段は、全ての前記動きベクトル候補が指す座標点から、算術平均を用いて前記中心点座標を算出することを特徴とする請求項1から5のいずれか1項に記載の映像符号化装置。   6. The video according to claim 1, wherein the center point detecting means calculates the center point coordinates from the coordinate points indicated by all the motion vector candidates using an arithmetic mean. Encoding device. 前記中心点検出手段は、全ての前記動きベクトル候補が指す座標点の中央値を前記中心点座標として算出することを特徴とする請求項1から5のいずれか1項に記載の映像符号化装置。   6. The video encoding device according to claim 1, wherein the center point detection unit calculates, as the center point coordinates, median values of coordinate points indicated by all the motion vector candidates. 7. . 予測ベクトル候補に対して、探索範囲の重複を避けるために予測ベクトル候補を修正し、新たに予測ベクトル候補を生成して映像符号化を行う映像符号化装置が行う映像符号化方法であって、
全ての動きベクトル候補の指す座標から中心点の座標を算出して出力する中心点検出ステップと、
複数の前記動きベクトル候補の指す座標および探索範囲から、前記動きベクトル候補の探索領域の重なりを検出し、重なり情報を出力する重なり検出ステップと、
複数の前記動きベクトル候補の指す座標と、前記中心点の座標と、前記重なり情報と、参照画像情報を用いて、前記動きベクトル候補の値を修正し、修正済の動きベクトル候補を出力する候補ベクトル修正ステップと
を有することを特徴とする映像符号化方法。
A predictive vector candidate is a video encoding method performed by a video encoding device that corrects a predictive vector candidate in order to avoid duplication of search ranges, newly generates a predictive vector candidate, and performs video encoding,
A center point detection step of calculating and outputting the coordinates of the center point from the coordinates indicated by all motion vector candidates;
An overlap detection step of detecting an overlap of search areas of the motion vector candidates from coordinates and search ranges indicated by the plurality of motion vector candidates, and outputting overlap information;
A candidate that corrects the value of the motion vector candidate using the coordinates indicated by the plurality of motion vector candidates, the coordinates of the center point, the overlap information, and reference image information, and outputs a corrected motion vector candidate A video encoding method comprising: a vector correction step.
コンピュータを、請求項1から7のいずれか1項に記載の映像符号化装置として機能させるための映像符号化プログラム。   A video encoding program for causing a computer to function as the video encoding device according to any one of claims 1 to 7.
JP2013212360A 2013-10-09 2013-10-09 Video encoding apparatus, video encoding method, and video encoding program Active JP6148146B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013212360A JP6148146B2 (en) 2013-10-09 2013-10-09 Video encoding apparatus, video encoding method, and video encoding program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013212360A JP6148146B2 (en) 2013-10-09 2013-10-09 Video encoding apparatus, video encoding method, and video encoding program

Publications (2)

Publication Number Publication Date
JP2015076766A true JP2015076766A (en) 2015-04-20
JP6148146B2 JP6148146B2 (en) 2017-06-14

Family

ID=53001308

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013212360A Active JP6148146B2 (en) 2013-10-09 2013-10-09 Video encoding apparatus, video encoding method, and video encoding program

Country Status (1)

Country Link
JP (1) JP6148146B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019148117A1 (en) * 2018-01-29 2019-08-01 Vid Scale, Inc. Frame-rate up conversion with low complexity

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0220988A (en) * 1988-07-08 1990-01-24 Fujitsu Ltd Moving vector detection system for animation encoding device
US20020172287A1 (en) * 2001-05-07 2002-11-21 Lg Electronics Inc. Motion vector searching method using plural search areas
US20040247029A1 (en) * 2003-06-09 2004-12-09 Lefan Zhong MPEG motion estimation based on dual start points

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0220988A (en) * 1988-07-08 1990-01-24 Fujitsu Ltd Moving vector detection system for animation encoding device
US20020172287A1 (en) * 2001-05-07 2002-11-21 Lg Electronics Inc. Motion vector searching method using plural search areas
US20040247029A1 (en) * 2003-06-09 2004-12-09 Lefan Zhong MPEG motion estimation based on dual start points

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019148117A1 (en) * 2018-01-29 2019-08-01 Vid Scale, Inc. Frame-rate up conversion with low complexity
KR20200127992A (en) * 2018-01-29 2020-11-11 브이아이디 스케일, 인크. Frame-rate upconversion with low complexity
US11470344B2 (en) 2018-01-29 2022-10-11 Vid Scale, Inc. Frame-rate up conversion with low complexity
AU2019212951B2 (en) * 2018-01-29 2023-01-19 Vid Scale, Inc. Frame-rate up conversion with low complexity
TWI815854B (en) * 2018-01-29 2023-09-21 美商Vid衡器股份有限公司 Frame-rate up conversion with low complexity
KR102656965B1 (en) * 2018-01-29 2024-04-11 브이아이디 스케일, 인크. Frame-rate upconversion with low complexity

Also Published As

Publication number Publication date
JP6148146B2 (en) 2017-06-14

Similar Documents

Publication Publication Date Title
US11006106B2 (en) Simplified entropy coding for sub-block based motion information list
TWI711299B (en) Decoding method and apparatus utilizing partial cost calculation
US10856006B2 (en) Method and system using overlapped search space for bi-predictive motion vector refinement
TWI666926B (en) Block partitioning using tree structures
US20210029356A1 (en) Sub-block mv inheritance between color components
US20240107053A1 (en) Concept Of Interweaved Prediction
US11677973B2 (en) Merge with MVD for affine
US8675735B2 (en) Predicted reference information generating method, video encoding and decoding methods, apparatuses therefor, programs therefor, and storage media which store the programs
CN112913240A (en) Collocation between decoder-side motion vector derivation and other codec tools
JP5277257B2 (en) Video decoding method and video encoding method
TW202041002A (en) Constraints on decoder-side motion vector refinement
KR101347062B1 (en) Apparatus and method of setting search area for motion vector prediction
TW202038614A (en) Spatio-temporal motion vector prediction patterns for video coding
Liu et al. H. 264/AVC video error concealment algorithm by employing motion vector recovery under cloud computing environment
TW202015405A (en) Method and apparatus of inter prediction for video coding
JP5843032B2 (en) Moving picture decoding apparatus, moving picture decoding method, moving picture decoding program, receiving apparatus, receiving method, and receiving program
JP6148146B2 (en) Video encoding apparatus, video encoding method, and video encoding program
JP6159292B2 (en) Motion vector detection apparatus, motion vector detection method, and motion vector detection program
JP5725118B2 (en) Moving picture decoding apparatus, moving picture decoding method, moving picture decoding program, receiving apparatus, receiving method, and receiving program
US20210203981A1 (en) Image decoding device, image encoding device, image processing system, and program
US20170019683A1 (en) Video encoding apparatus and method and video decoding apparatus and method
US20230388484A1 (en) Method and apparatus for asymmetric blending of predictions of partitioned pictures
US10972751B2 (en) Video encoding apparatus and method, and video decoding apparatus and method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160308

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170216

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170221

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170417

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: 20170516

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170518

R150 Certificate of patent or registration of utility model

Ref document number: 6148146

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150