KR20070061214A - Low cost motion estimation device and motion estimation method - Google Patents
Low cost motion estimation device and motion estimation method Download PDFInfo
- Publication number
- KR20070061214A KR20070061214A KR1020060065770A KR20060065770A KR20070061214A KR 20070061214 A KR20070061214 A KR 20070061214A KR 1020060065770 A KR1020060065770 A KR 1020060065770A KR 20060065770 A KR20060065770 A KR 20060065770A KR 20070061214 A KR20070061214 A KR 20070061214A
- Authority
- KR
- South Korea
- Prior art keywords
- sampling
- mode
- motion
- similarity
- motion vector
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/43—Hardware specially adapted for motion estimation or compensation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/12—Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
- H04N19/122—Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/132—Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Discrete Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Description
도 1은 일반적인 영상 압축 장치의 구조의 하나를 도시한 블록도.1 is a block diagram showing one structure of a general video compression apparatus.
도 2는 본 발명의 일실시예에 따른 움직임 추정 장치를 도시한 블록도.2 is a block diagram showing a motion estimation apparatus according to an embodiment of the present invention.
도 3은 본 발명에 따른 2:1 셈플링 과정을 도시한 개념도.3 is a conceptual diagram illustrating a 2: 1 sampling process according to the present invention.
도 4는 본 발명에 따라 참조 블록을 형성하는 탐색영역을 도시한 메모리 맵.4 is a memory map illustrating a search region for forming a reference block in accordance with the present invention.
도 5는 H.264 포맷의 블록 그룹핑을 도시한 블록도.5 is a block diagram illustrating block grouping in H.264 format.
도 6은 본 발명의 일실시예에 따른 움직임 추정 방법을 도시한 흐름도.6 is a flowchart illustrating a motion estimation method according to an embodiment of the present invention.
도 7은 MPEG4 포맷의 경우의 움직임 계산 방법의 일실시예를 도시한 흐름도.7 is a flowchart showing an embodiment of a motion calculation method in the case of MPEG4 format.
도 8은 H.264 포맷의 경우의 움직임 계산 방법의 일실시예를 도시한 흐름도. 8 is a flowchart illustrating an embodiment of a motion calculation method in the case of H.264 format.
도 9는 본 발명의 일실시예에 따른 움직임 추정 장치에 내장되는 프로세싱 구조의 회로도.9 is a circuit diagram of a processing structure embedded in a motion estimation apparatus according to an embodiment of the present invention.
도 10은 종래 기술에 따른 움직임 추정장치를 도시한 블록도.10 is a block diagram showing a motion estimation apparatus according to the prior art.
* 도면의 주요 부분에 대한 부호의 설명* Explanation of symbols for the main parts of the drawings
102 : 2:1 샘플링 블록(2:1 Sampling block) 102: 2: 1 Sampling Block
103 : 메모리(Memory)103: Memory
104 : 블록분할 어드레스 생성(Address Generation for Block Division)104: Address Generation for Block Division
105 : SAD 연산부(SAD Calulation)105: SAD calculation unit (SAD Calulation)
106 : 최적모드결정 블록 (Optimized Mode Decision)106: Optimized Mode Decision
본 발명의 목적은 영상데이터를 압축 알고리즘을 이용하여 이를 하드웨어로 구현하기 위한 VLSI(Very Large Scale Integration) 설계 분야에 관한 것으로, 특히, 영상압축 알고리즘을 구현한 VLSI에 적용될 수 있는 움직임 추정 장치 및 움직임 추정 방법에 관한 것이다. An object of the present invention relates to the field of VLSI (Very Large Scale Integration) design for implementing the image data in hardware using a compression algorithm, in particular, a motion estimation apparatus and motion that can be applied to VLSI implementing the image compression algorithm It is about an estimation method.
H.264는 국제적인 동영상 표준 제정 그룹인 ITU의 VCEG과 ISO의 MPEG이 공동으로 개발하고 있는 표준이다. 이 표준은 매우 높은 압축율을 주요 기술적 목표로 하고 있으며, 저장매체, 인터넷, 위성방송 등의 거의 모든 전송미디어 및 다양한 동영상 해상도의 환경에서 사용될 수 있는 범용 동영상 부호화 기술이다. 전통적으로 ITU의 국제 표준은 유선 통신 매체를 기반으로 한 H.261, H.263 등의 동영상 부호화 표준을 제정하여 왔으며, MPEG은 저장매체나 방송매체에서의 동영상 처리를 위한 MPEG-1, MPEG-2 등을 표준으로 제정하였다. MPEG은 또한 멀티미디어 전반에 걸친 부호 표준인 MPEG-4에서 객체 기반 동영상 부호를 중요한 특징으로 하는 다양한 기능과 고압축율을 실현한 MPEG-4 동영상 표준 제정을 완료하였다. ITU의 VCEG 그룹에서는 MPEG-4 동영상 표준 제정 이후에도 계속 H.26L이라는 이름으로 고압축 율의 동영상 표준을 제정하여 왔는데, MPEG에서의 공식적인 비교 실험에서, 비슷한 기능의 MPEG-4 동영상 표준(advanced simple profile)보다 압축률의 측면에서 큰 우위성을 나타내었다. 이에 따라 MPEG은 H.26L을 기반으로 ITU VCEG 그룹과 공동으로 JVT 동영상 표준인 H.264/AVC를 개발하기로 하였다. H.264 is a standard that is jointly developed by VCEG of ITU and MPEG of ISO, a group of international video standards. The standard has a very high compression ratio as the main technical goal. It is a general purpose video encoding technology that can be used in almost all transmission media such as storage media, Internet, satellite broadcasting, and various video resolutions. Traditionally, ITU's international standards have established video coding standards such as H.261 and H.263, which are based on wired communication media. MPEG is MPEG-1 and MPEG- for video processing in storage media and broadcasting media. 2 etc. were established as a standard. MPEG also completed the development of the MPEG-4 video standard, which realizes various functions and high compression ratios, which are important features of object-based video coding in MPEG-4, a multimedia standard coding standard. ITU's VCEG group has been developing a high compression video standard under the name of H.26L since the MPEG-4 video standard was established. In an official comparison experiment in MPEG, the MPEG-4 video standard (advanced simple profile) It showed a greater advantage in terms of compression ratio. Accordingly, MPEG decided to develop H.264 / AVC, a JVT video standard, in collaboration with ITU VCEG Group based on H.26L.
H.264/AVC은 다양한 우수한 특성들을 가지고 있지만, 그 중 최적 부호화 모드의 결정 방법이 성능 개선에 크게 기여한다. 최적 부호화 모드 결정 모듈은 부호화의 기본 단위인 매크로블록의 부호화 모드를 결정하는 부분으로서, 움직임 추정이 그 핵심에 위치하고 있다. H.264 / AVC has various excellent characteristics, but the method of determining the optimal coding mode among them contributes greatly to the performance improvement. The optimal coding mode determination module is a part for determining an encoding mode of a macroblock which is a basic unit of encoding, and motion estimation is located at the core thereof.
그 특징으로는, 매크로블록을 다양한 모양의 부블록들로 나누어질 수 있으며, 각 부블록이 별도의 움직임 벡터을 가질 수 있다. 또한 한장의 참조영상만을 사용하는 기존의 움직임 추정 방법과는 달리 다수의 참조영상을 사용할 수 있도록 허용함으로써 상당한 압축 효율을 얻을 수 있도록 하였다. As a feature, a macroblock may be divided into subblocks of various shapes, and each subblock may have a separate motion vector. In addition, unlike conventional motion estimation method using only one reference image, a large number of reference images can be used to obtain a significant compression efficiency.
그러나, 이러한 특징들은 계산량의 증가를 가져온다. 따라서, H.264/AVC에서의 움직임 추정 알고리즘은 예측 오차의 측면과 계산량의 측면을 잘 고려하여 설계되어야 한다. However, these features lead to an increase in the amount of computation. Therefore, the motion estimation algorithm in H.264 / AVC should be designed in consideration of the side of prediction error and the side of calculation.
도 10에 도시한 바와 같은 종래의 기술은 움직임 추정의 알고리즘을 이용하여 VLSI로 구현시 부가 메모리를 사용하여 구현 함으로써, 많은 면적과 전력소비가 생기는 문제점이 있다. The conventional technique as shown in FIG. 10 has a problem in that a large area and power consumption are generated by implementing an additional memory when implementing the VLSI using an algorithm of motion estimation.
움직임 추정(Motion Estimation)은 많은 계산량이 필요한 부분으로 지금까지 많은 알고리즘 및 하드웨어 구조가 연구되어져 왔다. 종래의 발명은 영상의 화질은 저하시키지 않고 움직임 추정 생략(Motion Estimation Skip)알고리즘을 이용한 혼합형 움직임 추정을 제안하였으며, 움직임 추정의 정상적인 동작 전에 이전 매크로블럭과 현재블럭의 위와 위 오른쪽 매크로블럭의 움직임벡터(Motion Vector)를 입력으로 하여 이중에 중간 값을 선택하는 움직임 벡터 예측(Motion Vector Prediction) 과정을 수행하여 움직임 벡터 예측 값(Motion Vector Predictor value)을 구한다. Motion Estimation requires a lot of computation, and many algorithms and hardware structures have been studied so far. The conventional invention proposed a hybrid motion estimation using a motion estimation skipping algorithm without degrading the image quality, and before the normal operation of the motion estimation, the motion vector of the previous and the right macroblocks above and above the current block. A Motion Vector Prediction value is obtained by performing a Motion Vector Prediction process of selecting an intermediate value among them as a Motion Vector.
구해진 예측 벡터를 통하여 움직임 보상(Motion Compensation)을 수행하여 SADmcp(Sum Absolute of Difference Motion Compensation Prediction)값을 구하게 된다. 위와 동시에 이전 매크로 블록과 위 및 위 오른쪽 매크로블럭 에서부터 SAD 값을 입력으로부터 최대 SAD값을 구하게 된다. 이때 구해진 SAD값을 SADmax라고 하면 이전에 구해진 SADmcp와 SADmax를 비교하여 SADmcp가 작으면 움직임 추정을 생략한다. A motion compensation (SADmcp) value is obtained by performing motion compensation through the obtained prediction vector. At the same time, the maximum SAD value is obtained from the input of the SAD value from the previous macro block and the upper and upper right macro blocks. At this time, if the obtained SAD value is SADmax, the previously estimated SADmcp and SADmax are compared. If SADmcp is small, motion estimation is omitted.
이 방법은 MPEG-4 표준에 준거한 방식으로 16x16 매크로 블록단위로 움직임 추정을 하기 때문에 부블럭 분할 방식보다 화질이 저하되, 움직임 추정 생략 모드는 부가적인 회로로 인해서 전력소모가 많아지는 단점이 있다. In this method, the motion estimation is performed in 16x16 macroblock units based on the MPEG-4 standard, so the image quality is lower than the sub-block division method, and the motion estimation skip mode has a disadvantage in that power consumption is increased due to additional circuits. .
종래기술의 문제점은 방대한 연산을 필요로하기 때문에 동영상 부호화기에서는 실시간 구현에 어려움이 있다. 또한 내부에 부가 메모리를 구현하므로써 면적과 전력소비에 문제점이 있다. 아울러 영상의 종류 및 응용분야 따라서 고정된 알고리즘을 사용하므로써 불필요한 연산량을 필요로 하며 영상의 종류에 따라서 적합한 움직임 추정 알고리즘을 사용하는데 제한이 있다. The problem of the prior art is that it requires a large amount of computation, it is difficult to implement a real time in the video encoder. In addition, there are problems in area and power consumption by implementing additional memory inside. In addition, by using a fixed algorithm according to the type and application of the image, an unnecessary amount of computation is required, and there is a limitation in using a motion estimation algorithm suitable for the type of the image.
본 발명은 상기 문제점들을 해결하기 위하여 안출된 것으로서, 하드웨어 코스트를 줄일 수 있는 움직임 추정 장치 및 움직임 추정 방법을 제공하는데 그 목적이 있다.The present invention has been made to solve the above problems, and an object thereof is to provide a motion estimation apparatus and a motion estimation method that can reduce hardware cost.
또한, 본 발명은 연산량을 줄일 수 있는 움직임 추정 장치 및 움직임 추정 방법을 제공하는데 다른 목적이 있다.Another object of the present invention is to provide a motion estimation apparatus and a motion estimation method capable of reducing the amount of computation.
상기 목적을 달성하기 위한 본 발명의 움직임 추정 장치는, 블록 단위 영상 데이터에 대한 셈플링을 수행하여 셈플링 블록을 생성하기 위한 셈플링부; 상기 셈플링된 데이터를 셈플링 서브 블록으로 분할하고, 움직임 추정 연산을 위한 어드레스를 생성하기 위한 블록 분할/어드레스 생성부; 및 각 서브블록 단위로 추정 함수를 이용하여 움직임을 연산하기 위한 움직임 연산부를 포함하는 것을 특징으로 한다.In accordance with another aspect of the present invention, there is provided a motion estimation apparatus comprising: a sampling unit for generating a sampling block by performing sampling on block unit image data; A block division / address generator for dividing the sampled data into a sampling subblock and generating an address for a motion estimation operation; And a motion calculating unit for calculating a motion by using an estimation function in each subblock unit.
상기 목적을 달성하기 위한 본 발명의 움직임 추정 방법은, 소정 블록 단위의 영상 데이터를 셈플링하여 셈플링 블록을 생성하는 단계; 상기 셈플링 블록을 다수개의 셈플링 서브 블록으로 분할하는 단계; 외부에서 특정한 참조 블록에 대하여 각 움직임 벡터로 지정되는 영역과 상기 각 셈플링 서브 블록의 유사도를 산 출하는 단계; 및 상기 다수개의 셈플링 서브 블록에 각각에 대하여 각 움직임 벡터에 대한 상기 유사도들을 취합하여 상기 입력 받은 영상 데이터에 대한 움직임 벡터를 결정하는 단계를 포함하는 것을 특징으로 한다.According to another aspect of the present invention, there is provided a motion estimation method, comprising: generating a sampling block by sampling image data in a predetermined block unit; Dividing the sampling block into a plurality of sampling subblocks; Calculating a similarity degree between an area designated by each motion vector and each sampling subblock with respect to a specific reference block from the outside; And determining the motion vector for the received image data by combining the similarities for each motion vector with respect to each of the plurality of sampling subblocks.
H.264표준에서는 다양한 모양의 부블록들로 나누어 부호화 함으로써 우수한 성능 및 압축 효율을 얻을 수 있었으나 이러한 특징은 계산량의 증가를 가져온다. 본 발명에서는 화질의 저하를 최소화 하면서 하드웨어로 구현시 하드웨어 복잡도를 최소화 하는 움직임 추정 알고리즘 및 최적의 부블럭 분할 기법을 제안하였다. In the H.264 standard, excellent performance and compression efficiency can be obtained by dividing the subblocks into various shapes, but this feature increases the computational complexity. In the present invention, a motion estimation algorithm and an optimal sub-block partitioning method are proposed to minimize hardware complexity when implementing the hardware while minimizing degradation of image quality.
이하, 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art may easily implement the present invention. As those skilled in the art would realize, the described embodiments may be modified in various different ways, all without departing from the spirit or scope of the present invention.
(실시예)(Example)
도 1은 일반적인 동영상 부호화 장치의 블록도를 도시한다. 도 1을 참조하면, 동영상 부호화 장치는 트랜스폼/퀀타이져(Transform/Quantizer)(110), 디퀀타이져/역트랜스폼(Dequantizer/Inverse transform)(131), 디블록킹(Deblocking) 필터(133), 픽쳐 재현부(135), 움직임 보상 예측부(Motion compensated predictor)(137), 인트라(Intra) 예측부(139), 움직임 추정 장치(Motion estimator)(100), 감산부(170) 및 엔트로피(Entropy) 코딩부(190)를 포함한다. 1 is a block diagram of a general video encoding apparatus. Referring to FIG. 1, a video encoding apparatus may include a transform /
16x16 화소로 이루어진 매크로 블록 단위로 영상 데이터가 동영상 부호화 장치로 입력된다. 트랜스폼/퀀타이져(110)는 입력 매크로 블록을 소정 방식에 따라 변환한 후 양자화한다. 대표적인 영상 변환 기법으로는 DCT(Discrete Cosing Transform)이 있다.Image data is input to a video encoding apparatus in units of macroblocks of 16x16 pixels. The transform /
디퀀타이져/역트랜스폼(131)는 트랜스폼/퀀타이져(110)로부터 변환 후 양자화된 영상 데이터를 입력받아 역양자화 및 역변환한다. 디블록킹 필터(133)는 디퀀타이져/역트랜스폼(131)로부터 역양자화 및 역변환된 영상 데이터를 입력받아 블록킹(blocking) 효과를 제거하기 위한 필터링을 수행한다.The dequantizer /
픽쳐 재현부(135)는 필터링된 영상 데이터를 디블록킹 필터(133)로부터 입력받아 픽쳐(picture) 단위로 영상을 재현하여 저장한다. 픽쳐는 프레임 단위의 영상이거나 필드 단위의 영상이다. 픽쳐 재현부(135)는 다수의 픽쳐를 저장할 수 있는 버퍼(도시되지 않음)를 구비한다. 버퍼에 저장된 다수의 픽쳐는 움직임 추정을 위해 제공되는 픽쳐로서 이하에서는 참조 픽쳐라 한다.The
움직임 추정 장치(100)는 픽쳐 재현부(135)에 저장된 적어도 하나의 참조 픽쳐를 제공받아 본 발명에 따라 입력 매크로 블록의 움직임 추정을 수행하여 모션 벡터, 참조 픽쳐를 나타내는 인덱스 및 블록 모드를 포함한 모션 데이터를 출력한다.The
움직임 보상 예측부(137)는 움직임 추정 장치(150)로부터 입력된 모션 데이터에 따라, 픽쳐 재현부(135)에 저장된 다수의 참조 픽쳐들 중 움직임 추정에 이용된 참조 픽쳐로부터, 입력 매크로 블록에 대응하는 매크로 블록을 추출하여 출력한 다.The
감산부(170)는 입력 매크로 블록을 픽쳐간 예측 부호화하는 경우, 움직임 보상 예측부(137)로부터 입력 매크로 블록에 대응하는 참조 픽쳐 내의 매크로 블록을 입력받아 입력 매크로 블록과의 차분 연산을 수행하여 잔차 신호(residue signal)를 출력한다.The
감산부(170)로부터 출력된 잔차 신호는 다시 트랜스폼/퀀타이져(110)에 의해 변환 및 양자화되고, 엔트로피 코딩부(190)에 의해 엔트로피 부호화되어 출력 비트 스트림이 생성된다. 인트라 예측부(139)는 참조 픽쳐를 이용하여 픽쳐간 예측 부호화가 아닌 픽쳐내 예측 부호화를 수행한다.The residual signal output from the
한편, 전술한 동영상 부호화 장치에 의해 생성된 비트 스트림을 복호화하는 동영상 복호부(decoder)(130)는 디퀀타이져/역트랜스폼(131), 디블록킹 필터(133), 픽쳐 재현부(135), 움직임 보상 예측부(137) 및 인트라 예측부(139)를 포함한다.On the other hand, the
본 발명은 도 1의 구성들 중 움직임 추정 장치(100)에 대한 개선 기술을 제공하기 위한 것으로, 도 1의 동영상 부호화 뿐만 아니라 움직임 추정 장치가 필요한 다른 구조의 동영상 부호화 장치에도 적용될 수 있다.The present invention is to provide an improvement technique for the
본 발명의 일실시예에 따른 움직임 추정 장치는, 도 2에 도시한 바와 같이, 블록 단위 영상 데이터에 대한 셈플링을 수행하여 셈플링 블록을 생성하기 위한 셈플링부(102); 상기 셈플링부에서 셈플링된 데이터를 저장하기 위한 셈플링 메모리(103); 상기 셈플링된 데이터를 셈플링 서브 블록으로 분할하고, 움직임 추정 연산을 위한 어드레스를 생성하기 위한 블록 분할/어드레스 생성부(104); 각 서브블록 단위로 추정 함수를 이용하여 움직임을 연산하기 위한 움직임 연산부(105); 및 동영상 압축에 최적의 블록 그룹핑 모드를 결정하기 위한 최적 모드 결정부(106)로 이루어진다.According to an embodiment of the present invention, a motion estimation apparatus includes a
상기 셈플링부(102)에서는 16x16 단위의 영상 데이터를 가로축 및 세로축에 대하여 2:1 셈플링하여 8x8 단위의 셈플링 블록을 생성한다. 즉, 셈플링부(102)는 다양한 블록모드의 복잡도를 연산량을 감소하기 위하여 도 3에 도시한 바와 같이 원영상을 2:1 샘플링을 하여 1/4로 데이터를 줄인 후 이를 상기 셈플링 메모리(103)에 저장한다. 따라서, 상기 셈플링 메모리(103)는 종래 기술에 따른 움직임 추정 장치의 입력 블록을 저장하는 메모리에 비하여 그 크기가 1/4로 줄어든 것을 알 수 있다.The
상기 블록분할/어드레스 생성부(104)는 상기 8x8 단위의 셈플링 블록을 4개의 4x4 단위의 셈플링 서브 블록으로 분할한다. 이때, 상기 4x4 단위의 셈플링 서브 블록을 이루는 각 픽셀들은 2:1 셈플링된 것들이므로, 원래의 영상 데이터의 8x8 모드의 데이터에 대응한다. 또한, 상기 블록분할/어드레스 생성부(104)는 압축 모드에 따라 움직임 벡터로 주어지는 참조 블록에서의 픽셀 리딩 위치를 지정한다. The block division /
상기 움직임 연산부(105)는 분할된 4x4 단위의 셈플링 서브 블록과 참조 블록에 대한 SAD 연산을 수행한다. 경우에 따라서는 SSD 연산을 수행하도록 구현할 수도 있다.The
상기 최적 모드 결정부(106)는 압축 모드가 H.264인 경우, H.264 표준이 규 정하는 4개의 블록 그룹핑 모드 중 하나를 선택하기 위한 것으로, H.264 표준 모드를 지원하지 않는 장치의 경우에는 생략할 수도 있다.The
이하, 도시한 움직임 추정 장치에서 수행되는 움직임 추정 방법에 대하여 설명하겠다.Hereinafter, a motion estimation method performed in the illustrated motion estimation apparatus will be described.
도 6에 도시한 바와 같은 움직임 추정 방법은, 소정 블록 단위의 영상 데이터를 셈플링하여 셈플링 블록을 생성하는 단계(S100); 상기 셈플링 블록을 다수개의 셈플링 서브 블록으로 분할하는 단계(S120); 외부에서 특정한 참조 블록에 대하여 각 움직임 벡터로 지정되는 영역과 상기 각 셈플링 서브 블록의 유사도를 산출하는 단계; 및 상기 다수개의 셈플링 서브 블록에 각각에 대하여 각 움직임 벡터에 대한 상기 유사도들을 취합하여 상기 입력 받은 영상 데이터에 대한 움직임 벡터를 결정하는 단계(S800)를 포함한다.As shown in FIG. 6, the motion estimation method includes: generating a sampling block by sampling image data in a predetermined block unit (S100); Dividing the sampling block into a plurality of sampling subblocks (S120); Calculating a similarity degree between an area designated by each motion vector and each sampling subblock with respect to a specific reference block from the outside; And determining the motion vector for the received image data by combining the similarities for each motion vector with respect to each of the plurality of sampling subblocks (S800).
도시한 움직임 추정 방법은 압축 모드를 MPEG4 포맷과 H.264 포맷을 선택적으로 적용할 수 있도록 구현한 것이다. 따라서, 도시한 상기 각 셈플링 서브 블록의 유사도를 산출하는 단계는, 압축 모드 설정을 판단하는 단계(S140); MPEG4 포맷에서의 유사도 산출 단계(S200); 및 H.264 포맷에서의 유사도 산출 단계(S400)로 이루어진다.The illustrated motion estimation method implements the compression mode to selectively apply the MPEG4 format and the H.264 format. Accordingly, the calculating of the similarity of each of the illustrated sub-blocks may include determining a compression mode setting (S140); A similarity calculation step (S200) in the MPEG4 format; And a similarity calculating step (S400) in the H.264 format.
도면의 상기 셈플링 서브 블록의 유사도 산출 단계(S200, S400)에서는 SAD 함수를 실행시키는 것으로 도시되었지만, 구현에 따라서는 SSD 함수가 실행될 수도 있다.Although similarity calculating steps S200 and S400 of the sampling sub-blocks in the figure are illustrated as executing the SAD function, the SSD function may be executed depending on the implementation.
본 실시예의 움직임 추정 장치는 16x16 단위의 영상 데이터를 입력받으므로, 상기 셈플링 블록 생성 단계(100)에서는 16x16 단위의 영상 데이터를 8x8 단위로 셈플링하고, 상기 셈플링 블록 분할 단계(S120)에서는 8x8 단위 셈플링 데이터를 4개의 4x4 단위 셈플링 서브 블록으로 분할한다.Since the motion estimation apparatus of the present embodiment receives image data of 16 × 16 units, the sampling block generation step 100
이제, 압축 모드가 MPEG4 포맷인 경우의 움직임 연산 단계(S200)에 대하여 도 7을 참조하여 보다 상세히 살펴보겠다.Now, the motion calculation step S200 when the compression mode is the MPEG4 format will be described in detail with reference to FIG. 7.
4개의 셈플링 서브 블록에 대하여 각각 SAD를 연산하는 프로세싱 엘리먼트를 4개를 구비하는 경우에는, 도시한 바와 같이 각 서브 블록에 대한 SAD를 계산하는 과정(S222, S224, S226, S228)이 동시에 병렬적으로 수행된다. When four processing elements for calculating SADs for each of four sampling subblocks are provided, the processes of calculating SADs for each subblock (S222, S224, S226, and S228) are simultaneously parallel as shown. Is performed as
MPEG4 모드의 경우 16x16 단위의 영상 데이터에 대하여 SAD를 계산하도록 되어 있으므로, 도 7의 경우 비록 4개의 8x8 영상 데이터에 대하여 각각 SAD를 계산하지만, 이는 4개의 프로세싱 엘리먼트를 이용한 병렬 처리를 위한 것으로 실질적으로는 16x16 단위의 영상 데이터에 대하여 SAD의 계산과 동일하도록 참조 블록의 어드레스가 정해진다.In the case of MPEG4 mode, since SAD is calculated for 16x16 image data, in FIG. 7, although SAD is calculated for four 8x8 image data, this is for parallel processing using four processing elements. The reference block is addressed so as to be equal to the calculation of SAD with respect to the image data of 16 × 16 units.
즉, S210 단계 또는 S280 단계에 따라 움직임 벡터가 정해지면, 어드레스 생성부는 정해진 움직임 벡터에 따라 셈플링 서브 블록의 각 픽셀에 대응하는 참조 블록의 픽섹의 어드레스를 산출하고, 각 프로세싱 엘리먼트는 대응되는 각 픽셀을 사용하여 SAD 연산을 수행한다.That is, when the motion vector is determined according to the step S210 or the step S280, the address generator calculates the address of the pixel of the reference block corresponding to each pixel of the sampling subblock according to the determined motion vector, and each processing element corresponds to the corresponding angle. Perform SAD operations using pixels.
따라서, 일단 움직임 벡터가 설정되는 설정된 움직임 벡터에 대한 SAD 계산 이 4번 수행되고, 도시한 움직임 벡터 결정 단계(S800)는, 하나의 움직임 벡터에 대하여 상기 4개의 셈플링 서브 블록에 각각의 유사도들을 합산하는 과정을 모든 움직임 벡터에 대하여 수행하여 가장 유사도가 큰 움직임 벡터를 선택한다.Therefore, once the SAD calculation is performed four times for the set motion vector in which the motion vector is set, the step S800 of determining the motion vector illustrated in FIG. A summation process is performed on all motion vectors to select a motion vector having the highest similarity.
이제, 압축 모드가 H.264 포맷인 경우의 움직임 연산 단계(S400)에 대하여 도 8을 참조하여 보다 상세히 살펴보겠다.Now, the motion calculation step (S400) when the compression mode is the H.264 format will be described in more detail with reference to FIG. 8.
H.264 모드에서는 16x16, 16x8, 8x16, 8x8로 정의되는 4개의 블록 그룹핑 모드가 존재하며, 입력 영상 데이터에 대하여 모든 블록 그룹핑 모드에 대한 SAD 연산을 수행하고 그 중 가장 효율이 높은 블록 그룹핑 모드를 선택하게 된다.In the H.264 mode, there are four block grouping modes defined as 16x16, 16x8, 8x16, and 8x8.SAD operation is performed on all block grouping modes on the input image data, and the most efficient block grouping mode is selected. Will be chosen.
4개의 셈플링 서브 블록에 대하여 각각 SAD를 연산하는 프로세싱 엘리먼트를 4개를 구비하는 경우에는, 도시한 바와 같이 각 서브 블록에 대한 SAD를 계산하는 과정(S422, S424, S426, S228)이 동시에 병렬적으로 수행되며, 상기 4개의 SAD 연산 결과로부터 4개의 블록 그룹핑 모드에 따른 SAD 취합 과정(S432, S434, S436, S438)이 동시에 병렬적으로 수행된다.When four processing elements for calculating SADs for each of four sampling subblocks are provided, the processes of calculating SADs for each subblock (S422, S424, S426, and S228) are parallel at the same time. The SAD aggregation process (S432, S434, S436, S438) according to the four block grouping modes is simultaneously performed in parallel from the four SAD calculation results.
도 6의 움직임 벡터 결정 단계(S400)는, 16x16 모드에서의 유사도를 계산하는 16x16 단계; 16x8 모드에서의 유사도를 계산하는 16x8 단계; 8x16 모드에서의 유사도를 계산하는 8x16 단계; 및 8x8 모드에서의 유사도를 계산하는 8x8 단계를 포함할 수 있다. 여기서 도 8에 도시한 바와 같이, 상기 16x16 단계는 각 셈플링 서브 블록들에 대한 SAD 계산 과정(S422, S424, S426, S228) 및 16x16 모드에서의 SAD 취합 과정(S432)으로 이루어지며, 상기 16x8 단계는 각 셈플링 서브 블록들에 대한 SAD 계산 과정(S422, S424, S426, S228) 및 16x8 모드에서의 SAD 취합 과정(S434)으로 이루어지며, 상기 8x16 단계는 각 셈플링 서브 블록들에 대한 SAD 계산 과정(S422, S424, S426, S228) 및 8x16 모드에서의 SAD 취합 과정(S436)으로 이루어지며, 상기 8x8 단계는 각 셈플링 서브 블록들에 대한 SAD 계산 과정(S422, S424, S426, S228) 및 8x8 모드에서의 SAD 취합 과정(S438)으로 이루어진다.The motion vector determining step S400 of FIG. 6 includes: a 16x16 step of calculating the similarity in the 16x16 mode; A 16x8 step of calculating the similarity in the 16x8 mode; An 8x16 step of calculating the similarity in the 8x16 mode; And an 8x8 step of calculating the similarity in the 8x8 mode. As shown in FIG. 8, the 16x16 step includes a SAD calculation process (S422, S424, S426, S228) for each of the sampling subblocks, and an SAD aggregation process (S432) in the 16x16 mode. The step consists of the SAD calculation process (S422, S424, S426, S228) for each of the sampling sub-blocks and the SAD aggregation process (S434) in the 16x8 mode, wherein the 8x16 step is SAD for each of the sampling sub-blocks. Computation process (S422, S424, S426, S228) and SAD aggregation process (S436) in the 8x16 mode, the 8x8 step is SAD calculation process for each of the sampling sub-blocks (S422, S424, S426, S228) And an SAD aggregation process (S438) in the 8x8 mode.
16x16 단계에서는, 하나의 움직임 벡터에 대하여 상기 4개의 셈플링 서브 블록 각각의 유사도들을 합산하는 과정을 모든 움직임 벡터에 대하여 수행하여 가장 유사도가 큰 움직임 벡터를 선택하는 과정을 수행하며 MPEG4 포맷의 경우와 거의 유사함을 알 수 있다.In step 16x16, the similarity of each of the four sampling subblocks is summed with respect to one motion vector for all motion vectors, and the motion vector having the largest similarity is selected. It is almost similar.
상기 16x8 단계에서는, 상기 4개의 셈플링 서브 블록들을 16x8 모드를 위한 2개의 집합으로 구분하고, 하나의 움직임 벡터에 대하여 제1 집합에 속하는 2개의 셈플링 서브 블록 각각의 유사도들을 합산하는 과정을 모든 움직임 벡터에 대하여 수행하여 가장 유사도가 큰 움직임 벡터를 선택하고, 하나의 움직임 벡터에 대하여 제2 집합에 속하는 2개의 셈플링 서브 블록 각각의 유사도들을 합산하는 과정을 모든 움직임 벡터에 대하여 수행하여 가장 유사도가 큰 움직임 벡터를 선택하고, 상기 선택된 2 움직임 벡터들에 대한 유사도들을 합산하는 과정을 수행한다.In the 16x8 step, the four sampling subblocks are divided into two sets for the 16x8 mode, and the similarity of each of the two sampling subblocks belonging to the first set is summed for one motion vector. A motion vector having the highest similarity is selected by performing the motion vector, and the similarity of each of the two sampling subblocks belonging to the second set with respect to one motion vector is added to all motion vectors. Selects a large motion vector and adds similarities for the selected two motion vectors.
상기 8x16 단계에서는, 상기 4개의 셈플링 서브 블록들을 8x16 모드를 위한 2개의 집합으로 구분하고, 하나의 움직임 벡터에 대하여 제1 집합에 속하는 2개의 셈플링 서브 블록 각각의 유사도들을 합산하는 과정을 모든 움직임 벡터에 대하여 수행하여 가장 유사도가 큰 움직임 벡터를 선택하고, 하나의 움직임 벡터에 대하 여 제2 집합에 속하는 2개의 셈플링 서브 블록 각각의 유사도들을 합산하는 과정을 모든 움직임 벡터에 대하여 수행하여 가장 유사도가 큰 움직임 벡터를 선택하고, 상기 선택된 2 움직임 벡터들에 대한 유사도들을 합산하는 과정을 수행한다.In step 8x16, the four sampling subblocks are divided into two sets for the 8x16 mode, and the similarities of the two sampling subblocks belonging to the first set are summed with respect to one motion vector. A motion vector having the most similarity is selected by performing the motion vector, and the similarity of each of the two sampling subblocks belonging to the second set is summed for all the motion vectors. A process of selecting a motion vector having a high similarity and summing similarities for the selected two motion vectors is performed.
상기 8x8 단계에서는, 하나의 움직임 벡터에 대하여 하나의 셈플링 서브 블록의 유사도들 구하는 과정을 모든 움직임 벡터에 대하여 수행하여 가장 유사도가 큰 움직임 벡터를 선택하는 작업을 각 셈플링 서브 블록에 대하여 수행하고, 각 셈플링 서브 블록에 대해 선택된 움직임 벡터들에 대한 유사도들을 합산하는 과정을 수행한다. In step 8x8, a process of obtaining similarities of one sampling subblock with respect to one motion vector is performed for all motion vectors, and a motion vector having the largest similarity is selected for each sampling subblock. Next, the similarity of the selected motion vectors for each sampling subblock is added.
H.264 포맷의 경우 도 6의 움직임 벡터 결정 단계(S800)는, MPEG4 포맷의 경우에는 블록 그룹핑 모드에 따라 다른 방식으로 4개의 서브 블록에 대한 SAD 계산(S422, S424, S426, S228) 결과를 취합하게 된다.In the case of the H.264 format, the step of determining the motion vector of FIG. 6 (S800) determines the results of SAD calculation (S422, S424, S426, S228) for four sub-blocks in a different manner according to the block grouping mode in the MPEG4 format. Will be collected.
도 8의 경우 각 셈플링 서브 블록에 대한 SAD를 계산하기 위해 설정된 움직임 벡터에 대한 참조 블록의 어드레싱은, 모든 셈플링 서브 블록에 대하여 전체 참조 블록에 대하여 이루어지므로, S410 단계 및 S480 단계에서 이루어지는 움직임 벡터 설정은 MPEG4의 경우보다 넓은 폭으로 이루어지며, S432, S434 및 S436 단계에서 취합하지 않고 스킵(skip)하는 움직임 벡터 설정값이 있을 수 있다. In the case of FIG. 8, since the addressing of the reference block for the motion vector set to calculate the SAD for each sampling subblock is performed for all the reference blocks for all the sampling subblocks, the movements made in steps S410 and S480 are performed. The vector setting has a wider width than that of MPEG4, and there may be a motion vector setting value that is skipped without being collected in steps S432, S434, and S436.
도 9a 및 9b는 SAD연산을 수행하는 프로세싱 엘리먼트들의 구성을 나타낸 것이다. 도 9a에 도시한 프로세싱 구조는 하나의 셈플링 서브 블록에 대한 SAD 연산을 수행하는 구조만을 도시한 것인데, 본 실시예에서는 8x8 분할 원영상을 2:1 셈 플링한 4x4 크기의 셈플링 서브 블록에 대하여 SAD 연산을 수행하므로 4개의 프로세싱 엘리먼트(200, 201, 202, 203) 및 하나의 합산기/비교기(300)로 구현된다. 9A and 9B show a configuration of processing elements for performing SAD operation. The processing structure shown in FIG. 9A illustrates only a structure for performing SAD operations on one sampling sub-block. In this embodiment, a 4x4-sampling sub-block in which the 8 × 8 split original image is 2: 1 sampled The SAD operation is performed on the four
도 1의 움직임 연산부(105)는 도 9a의 프로세싱 구조 하나만을 포함할 수도 있지만, 보다 속도를 높이기 위해 분할된 각 셈플링 서브 블록에 대한 SAD를 계산하기 위한 도 9a의 프로세싱 구조를 하나씩 모두 4개를 구비하여, 동시에 4개의 셈플링 서브 블록에 대한 SAD를 계산하도록 구현할 수도 있다.Although the
도 9b는 하나의 프로세싱 엘리먼트(201)의 세부 구조를 도시한 것으로, 도시한 구조는 SAD 연산을 위해 현재 화면 프레임 이전의 프레임 2개를 비교대상으로 삼고 있으며, 보다 연산 속도를 높이기 위해, 짝수번과 홀수번의 두 비교대상 프레임에 대한 SAD 연산을 동시에 수행한다. FIG. 9B illustrates a detailed structure of one
구체적으로, R은 현재데이터 입력이며, S0와 S1은 이전프레임데이터의 입력이며 입력은 홀수번과 짝수번이 교대로 입력을 한다. 프로세싱 엘리먼트의 입력을 2개를 사용하여 홀수번과 짝수번을 교대로 입력하여 입력되는 데이터의 속도보다 내부에서 프로세싱되는 속도를 2배로 처리하는 구조를 가지며 초기값을 셋팅하는 시간을 제외한 나머지 시간에서는 프로세싱의 효율은 100%를 가지는 특징이 있다. Specifically, R is the current data input, S0 and S1 are the input of the previous frame data, and the input is an odd number and even number input alternately. Using the input of two processing elements, odd and even numbers are alternately inputted so that the internal processing speed is doubled than the speed of the input data.The rest of the time except for setting the initial value The efficiency of the processing is characterized by having 100%.
또한, SAD을 구하기 위하여 4개의 프르세싱 엘리먼트를 사용하여 SAD를 구한다. Psum_in은 중간의 임시 SAD를 저장하는 값으로 PE_0, PE_1, PE_3의 중간 SAD값을 저장하여 현재의 값과 누적을 하여 SAD를 연산을 한다.In addition, the SAD is obtained by using four processing elements to obtain the SAD. Psum_in is a value that stores an intermediate temporary SAD, and stores an intermediate SAD value of PE_0, PE_1, and PE_3, and accumulates the current value to calculate SAD.
살펴본 바와 같이 본 실시예에 따라 제안된 움직임 추정 장치 및 방법은 4개 의 셈플링 서브 블록에 대한 SAD(Sum Absoluted Difference)값을 동시에 계산을 하여 모드에 따라서 최적의 조건을 선택하므로 연산시간을 단축시킬 수 있으며, 입력되는 영상도 2:1 샘플링 방법을 이용하여 연산량 및 메모리 소요량을 1/4 이하로 줄일 수 있음을 알 수 있다. As described above, the proposed motion estimation apparatus and method simultaneously calculates SAD (Sum Absoluted Difference) values for four sampling subblocks and selects an optimal condition according to a mode, thereby reducing computation time. It can be seen that the amount of computation and memory requirements can be reduced to less than 1/4 using the 2: 1 sampling method.
이상, 본 발명을 바람직한 실시예를 들어 상세하게 설명하였으나, 본 발명은 상기 실시예에 한정되지 않고, 본 발명의 기술적 사상의 범위 내에서 당 분야에서 통상의 지식을 가진 자에 의하여 여러가지 변형이 가능하다.The present invention has been described in detail with reference to preferred embodiments, but the present invention is not limited to the above embodiments, and various modifications can be made by those skilled in the art within the scope of the technical idea of the present invention. Do.
상기 구성의 본 발명에 따른 움직임 추정 장치 및 움직임 추정 방법을 실시함에 의해, 하드웨어 코스트 및/또는 연산량을 줄일 수 있는 효과가 있다.By implementing the motion estimation apparatus and the motion estimation method according to the present invention of the above configuration, it is possible to reduce the hardware cost and / or calculation amount.
즉, 본 발명은 블록분할을 이용하여 프로세싱 엘리먼트를 4개만 사용 하여 각각의 부블럭에 대한 SAD를 연산함에 따라, 움직임 벡터를 계산하는 알고리즘 및 구조를 제안하였으며 구현된 알고리즘 및 구조는 하드웨어 비용이 기존의 방법보다 1/4이하로 줄어드는 효과가 있다. That is, the present invention proposes an algorithm and a structure for calculating a motion vector by calculating the SAD for each subblock using only four processing elements using block partitioning. Less than 1/4 of the method is effective.
나아가, 본 발명은 4개의 프로세싱 엘리먼트를 가지고 각각의 모드에 대해서 연산을 수행하므로 적은 하드웨어 코스트를 가지고 H.264 움직임 추정을 구현하였으며 이는 저전력이 필요한 휴대멀티미디어 단말기등에 핵심 코아로 사용될 수 있는 효과도 있다.Furthermore, the present invention implements H.264 motion estimation with low hardware cost because it performs calculation for each mode with four processing elements, which can be used as a core core for portable multimedia terminals requiring low power. .
또한, 본 발명은 분할된 셈플링 서브 블록에 대한 SAD연산을 동시에 수행하 여 연산시간을 단축시킬 수 있는 효과도 있다.In addition, the present invention has the effect that the operation time can be shortened by simultaneously performing the SAD operation on the divided sampling sub-blocks.
Claims (16)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/545,296 US20070133689A1 (en) | 2005-12-08 | 2006-10-10 | Low-cost motion estimation apparatus and method thereof |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20050119475 | 2005-12-08 | ||
KR1020050119475 | 2005-12-08 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20070061214A true KR20070061214A (en) | 2007-06-13 |
KR100801974B1 KR100801974B1 (en) | 2008-02-12 |
Family
ID=38357152
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020060065770A KR100801974B1 (en) | 2005-12-08 | 2006-07-13 | Low Cost Motion Estimation Device and Motion Estimation Method |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100801974B1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8139643B2 (en) | 2007-12-17 | 2012-03-20 | Electronics And Telecommunications Research Institute | Motion estimation apparatus and method for moving picture coding |
US8200035B2 (en) | 2007-10-04 | 2012-06-12 | Samsung Electronics Co., Ltd. | Method and apparatus for correcting quantized coefficients in decoder |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4193406B2 (en) | 2002-04-16 | 2008-12-10 | 三菱電機株式会社 | Video data conversion apparatus and video data conversion method |
KR100565066B1 (en) * | 2004-02-11 | 2006-03-30 | 삼성전자주식회사 | Method for interpolating frame with motion compensation by overlapped block motion estimation and frame-rate converter using thereof |
KR100587562B1 (en) * | 2004-04-13 | 2006-06-08 | 삼성전자주식회사 | Method for motion estimation of video frame, and video encoder using the same |
-
2006
- 2006-07-13 KR KR1020060065770A patent/KR100801974B1/en active IP Right Grant
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8200035B2 (en) | 2007-10-04 | 2012-06-12 | Samsung Electronics Co., Ltd. | Method and apparatus for correcting quantized coefficients in decoder |
US8139643B2 (en) | 2007-12-17 | 2012-03-20 | Electronics And Telecommunications Research Institute | Motion estimation apparatus and method for moving picture coding |
Also Published As
Publication number | Publication date |
---|---|
KR100801974B1 (en) | 2008-02-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5081305B2 (en) | Method and apparatus for interframe predictive coding | |
US9462272B2 (en) | Intra prediction method and apparatus | |
KR101448440B1 (en) | Speculative start point selection for motion estimation iterative search | |
EP2824931B1 (en) | Video encoder and method for interprediction at boundaries of tiles | |
US20110176614A1 (en) | Image processing device and method, and program | |
US20060120455A1 (en) | Apparatus for motion estimation of video data | |
US20190098319A1 (en) | Method and apparatus for motion compensation prediction | |
KR20120042910A (en) | Template matching for video coding | |
US20120076207A1 (en) | Multiple-candidate motion estimation with advanced spatial filtering of differential motion vectors | |
KR20050045746A (en) | Method and device for motion estimation using tree-structured variable block size | |
JP5795525B2 (en) | Image encoding method, image decoding method, image encoding device, image decoding device, image encoding program, and image decoding program | |
JP2009531980A (en) | Method for reducing the computation of the internal prediction and mode determination process of a digital video encoder | |
US20190230379A1 (en) | Method and device for intra-prediction | |
US8144766B2 (en) | Simple next search position selection for motion estimation iterative search | |
US20070133689A1 (en) | Low-cost motion estimation apparatus and method thereof | |
WO2011064673A1 (en) | Method of and apparatus for encoding video frames, method of and apparatus for decoding video frames | |
JP2006025429A (en) | Coding method and circuit device for executing this method | |
WO2004056125A1 (en) | Video encoding with skipping motion estimation for selected macroblocks | |
US20230328280A1 (en) | Method and device for intra-prediction | |
US7433407B2 (en) | Method for hierarchical motion estimation | |
US20090028241A1 (en) | Device and method of coding moving image and device and method of decoding moving image | |
JP2010258739A (en) | Image processing apparatus, method and program | |
KR100801974B1 (en) | Low Cost Motion Estimation Device and Motion Estimation Method | |
JP2009260421A (en) | Moving image processing system, encoding device, encoding method, encoding program, decoding device, decoding method and decoding program | |
KR100723840B1 (en) | Apparatus for motion estimation of image data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20110104 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20111208 Year of fee payment: 20 |