KR20090061961A - Apparatus for motion compensation - Google Patents

Apparatus for motion compensation Download PDF

Info

Publication number
KR20090061961A
KR20090061961A KR1020070128999A KR20070128999A KR20090061961A KR 20090061961 A KR20090061961 A KR 20090061961A KR 1020070128999 A KR1020070128999 A KR 1020070128999A KR 20070128999 A KR20070128999 A KR 20070128999A KR 20090061961 A KR20090061961 A KR 20090061961A
Authority
KR
South Korea
Prior art keywords
cache
cache line
motion compensation
external memory
index
Prior art date
Application number
KR1020070128999A
Other languages
Korean (ko)
Other versions
KR100944995B1 (en
Inventor
김주현
이혁재
이진원
현경환
Original Assignee
재단법인서울대학교산학협력재단
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 재단법인서울대학교산학협력재단 filed Critical 재단법인서울대학교산학협력재단
Priority to KR1020070128999A priority Critical patent/KR100944995B1/en
Publication of KR20090061961A publication Critical patent/KR20090061961A/en
Application granted granted Critical
Publication of KR100944995B1 publication Critical patent/KR100944995B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods 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/43Hardware specially adapted for motion estimation or compensation
    • H04N19/433Hardware specially adapted for motion estimation or compensation characterised by techniques for memory access

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

A motion compensation apparatus is provided to minimize a cache line with a cache address configuration and perform motion compensation without data collision, thereby decoding clearly an image. A motion compensation apparatus comprises a cache memory, an external memory, and a motion compensation engine. The cache memory comprises a save domain and an address assigning domain composed of cache lines. The external memory is comprised of a plurality of blocks in which each cache line index is given. The external memory is made of a plurality of rows. In the external memory, data of a row of an image frame is stored within one row among the plurality of rows. The motion compensation engine stores image data, stored in each block of the external memory, in a cache line which a cache line index designates. The motion compensation engine performs motion compensation with image data stored in the designated cache line.

Description

움직임 보정장치{apparatus for motion compensation}Apparatus for motion compensation

도 1은 본 발명의 움직임 보정을 위한 구성 블록도이다.1 is a block diagram illustrating a motion correction of the present invention.

도 2는 본 발명의 움직임 보정을 위한 외부 메모리의 블록구성도이다.2 is a block diagram of an external memory for motion compensation according to the present invention.

도 3은 본 발명의 움직임 보정을 위한 캐쉬 메모리의 어드레스 포맷이다.3 is an address format of a cache memory for motion compensation according to the present invention.

본 발명은 이미지의 움직임 보정장치에 관한 것으로, 더욱 상세하게는 H.264/AVC 디코더에 적용되는 이미지의 움직임 보정장치에 관한 것이다.The present invention relates to an apparatus for compensating for motion of an image, and more particularly, to an apparatus for compensating for motion of an image applied to an H.264 / AVC decoder.

H.264/AVC는 가변 블록 사이즈(variable block size)와 쿼터-샘플 정밀 움직임 보정을 포함한 적극적인 압축기술을 채택하는 최신의 표준이다. H.264/AVC의 움직임 보정을 얻기 위해서, H.264/AVC 디코더는 레퍼런스 프레임 메모리(reference frame memory)로부터 많은 데이터 엑세스가 이루어져야 한다. 예를 들어, 하나의 4×4 블록의 움직임 보정을 실행하기 위해서 디코더는 레퍼런스 프레임 메모리의 최대 9×9 블록에 엑세스되게 된다. 결과적으로 움직임 보정은 레퍼런스 프레임 메모리에 엑세스 하는 데에 소요되는 메모리 밴드폭(memory bandwidth)의 75%를 차지하게 되고, 이러한 과도한 움직임 보정의 메모리 엑세스는 H.264/AVC의 성능 향상에 큰 장 애를 주고 있다.H.264 / AVC is the latest standard to adopt aggressive compression techniques, including variable block size and quarter-sample precision motion compensation. In order to obtain the motion correction of H.264 / AVC, the H.264 / AVC decoder must make a lot of data access from the reference frame memory. For example, in order to perform motion compensation of one 4x4 block, the decoder may access up to 9x9 blocks of the reference frame memory. As a result, motion compensation accounts for 75% of the memory bandwidth required to access the reference frame memory, and such excessive motion compensation memory access is a major obstacle to the performance improvement of H.264 / AVC. Is giving.

움직임 보정을 위하여 레퍼런스 프레임 메모리의 엑세스 시에 필요한 메모리 밴드폭을 줄이기 위한 다양한 기술들이 제안되어 왔으며, 그 중 하나의 기술이 정수 움직임 보정(integer motion compensation)과 소수 움직임 보정(fraction motion compensation)으로 구분하고, 임의의 움직임 벡터(motion vector)가 임의의 정수 위치(integer position)를 가리킬 때 정확히 필요한 블록을 패치(fetch)하도록 하는 것이다. 이 방식에서 인접된 레퍼런스 블록들은 이들이 동일한 움직임 벡터들을 갖을 때 함께 패치되며, 임의의 데이터 블록이 레지스터 파일에 저장되고, 다음 블록들에서 재 사용된다. 이 방식은 인접 블록들에 공유되는 반복적인 데이터 엑세스를 피함으로써 메모리 엑세스를 크게 줄이기는 하지만 인접한 블록들의 움직임 벡터들이 다를 때는 사용될 수 없다.Various techniques have been proposed to reduce the memory bandwidth required to access the reference frame memory for motion compensation, and one of them is divided into integer motion compensation and fraction motion compensation. And fetching exactly the required blocks when an arbitrary motion vector points to an integer position. In this way, adjacent reference blocks are patched together when they have the same motion vectors, and any data block is stored in a register file and reused in subsequent blocks. This approach greatly reduces memory access by avoiding repetitive data access shared by adjacent blocks, but cannot be used when the motion vectors of adjacent blocks are different.

본 발명은 인접한 블록들이 갖는 움직임 벡터들의 동일 여부와 관계없이 움직임 보정에서 외부 메모리에 엑세스 하는 데에 소요되는 메모리 밴드폭(memory bandwidth)을 감소시키는 움직임 보정장치를 제공하는 데에 목적이 있다.An object of the present invention is to provide a motion compensation device for reducing a memory bandwidth required for accessing an external memory in motion compensation regardless of whether the motion vectors of adjacent blocks are the same.

상기 목적을 위한 본 발명의 특징은 캐쉬 라인들로 이루어진 저장영역과 어드레스 할당영역을 포함하는 캐쉬 메모리; 각각의 캐쉬 라인 인덱스가 부여된 복수의 블록들로 이루어 복수의 열들로 이루어지며, 이미지 프레임의 한 열의 데이터가 상기 복수의 열들 중 한 열 내에 저장되는 외부 메모리; 상기 외부 메모리의 각 블 록들에 저장된 이미지 데이터를 상기 캐쉬 라인 인덱스가 지정하는 캐쉬 라인에 저장하고, 지정된 캐쉬 라인에 저장된 이미지 데이터에 의하여 움직임 보정을 수행하는 움직임 보정엔진을 포함하는 것이다.A feature of the present invention for this purpose is a cache memory comprising a storage area consisting of cache lines and an address allocation area; An external memory comprising a plurality of columns each of which is assigned a cache line index, wherein data of one column of an image frame is stored in one of the plurality of columns; And a motion correction engine for storing image data stored in each of the blocks of the external memory in a cache line designated by the cache line index, and performing motion compensation based on the image data stored in the designated cache line.

또한, 본 발명에서 상기 한 열을 형성하는 복수의 블록들에는 두 개의 캐쉬 라인 인덱스가 교대로 부여되는 것이 바람직하다.In the present invention, it is preferable that two cache line indices are alternately assigned to the plurality of blocks forming one column.

또한, 본 발멸에서 상기 어드레스 할당영역의 어드레스 포맷(format)은 열을 구분하기 위한 제1태그영역; 동일한 열 내에서 블록들을 식별하기 위한 제2태그영역; 상기 캐쉬라인을 지정하기 위한 인덱스 영역; 및 오프셋트 영역을 포함하는 것이다.In addition, the address format of the address allocating area in the present announcement includes: a first tag area for classifying columns; A second tag area for identifying blocks within the same column; An index area for designating the cache line; And an offset region.

또한, 본 발명에 있어서 상기 인덱스 영역은 상기 캐쉬 라인을 지정하는 제1인덱스 영역과 토글링(toggling)으로 사용되는 제2인덱스영역으로 이루어지는 것이 바람직하다.In addition, in the present invention, the index region preferably includes a first index region for designating the cache line and a second index region used for toggling.

또한, 본 발명에 있어서 상기 캐쉬라인은 32인 것이 바람직하다.In the present invention, the cash line is preferably 32.

또한, 본 발명에 있어서 상기 캐쉬라인 및 상기 외부 메모리의 한 블록은 8 바이트(byte)인 것이 바람직하다.In the present invention, one block of the cache line and the external memory is preferably 8 bytes.

이하, 첨부된 도면에 따라서 본 발명의 실시예를 상세히 설명하기로 한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 움직임 보정을 위한 블록구성도이다.1 is a block diagram for motion compensation of the present invention.

종래 메모리 구조에서, 내부 버퍼는 움직임 보정을 위한 데이터를 일시적으로 저장하기 위하여 하드웨어 움직임 보정 엔진과 외부 메모리 사이에 설치되나, 도 1에서, 캐쉬 메모리(3)가 움직임 보정 엔진(1)과 외부 메모리(2) 사이에 설치된 다. 캐쉬 메모리(3)는 종래의 버퍼보다 복잡하고 큰 메모리 용량이 필요하지만 한 블록의 데이터를 저장할 수 있으며, 그것들을 또 다른 블록을 위하여 재사용 할 수 있으므로 외부 메모리(2)의 엑세스를 감소시킨다.In the conventional memory structure, an internal buffer is installed between the hardware motion compensation engine and the external memory to temporarily store data for motion compensation, but in FIG. 1, the cache memory 3 is provided with the motion compensation engine 1 and the external memory. Installed between (2). The cache memory 3 is more complicated and requires a larger memory capacity than a conventional buffer, but can store one block of data and can reuse them for another block, thereby reducing access to the external memory 2.

도 1의 실시예에서 움직임 보정 알고리즘의 엑세스 패턴으로 후술되는 스프릿트-인덱스 직접 맵 캐쉬(split-index direct mapped cache)를 필요로 한다. 일반적인 비디오 압축 알고리즘에서 하나의 이미지는 블록들로 분해되고, 각각의 블록들은 독립적으로 처리된다. 따라서, 동일 블록 내에 두 데이터는 함께 엑세스될 가능성이 높다. 그러나, 두 데이터가 하나의 블록 이상으로 분리된다면 이들은 함께 엑세스될 수 없다. 실시예의 캐쉬 구성은 캐쉬 엑세스 충돌을 감소시키는 잇점을 갖는다. 1 requires a split-index direct mapped cache described below as an access pattern of a motion compensation algorithm. In a typical video compression algorithm, one image is decomposed into blocks, and each block is processed independently. Thus, two data in the same block are likely to be accessed together. However, if two data are separated into more than one block, they cannot be accessed together. The cache configuration of the embodiment has the advantage of reducing cache access collisions.

이하 스프릿트-인덱스 직접 맵 캐쉬에 대하여 설명하기로 한다.The split-index direct map cache will now be described.

도 2에 도시된 바와 같이, 데이터는 H.264/AVC 움직임 보정을 위하여 외부 메모리(2)로부터 캐쉬 메모리(3)에 매핑된다. 예시적으로 도 2에는 루미넌스(luminance) 데이터만이 고려되었으며, 외부 메모리(2)는 각 페이지(= 열(row))가 512 바이트를 갖으며, 하나의 이미지 프레임의 각 열의 사이즈는 512 바이트 보다 작도록 한다. 따라서, 이미지 프레임의 각 열은 외부 메모리(2)의 한 페이지에 저장되고, 캐쉬 라인 사이즈는 8바이트로 한다. 외부 메모리(2)는 블록으로 분할되고, 블록 각각은 1×8 바이트 데이터를 나타내며, 하나의 캐쉬 라인에 매핑된다. 각 블록의 번호는 각 블록이 매핑되는 캐쉬 라인의 인덱스를 나타낸다. 외부 메모리의 첫 번째 페이지(어드레스 0)는 캐쉬 라인 0과 1에 순차적으로 매핑된다. 동일 한 방법으로 두 번째 페이지의 블록들은 캐쉬 라인 2와 3에 매핑되고, 16페이지는 캐쉬 라인 30과 31에 매핑되고, 16페이지의 다음 페이지는 다시 캐쉬 라인 0과 1에 매핑된다. 이때 9×9 블록은 H.264/AVC 움직임 보정을 위한 4×4 블록을 삽입하기 위하여 요구되는 최대 블록 사이즈이며, 따라서 두 캐쉬 라인들에는 한 열에 있는 9바이트가 동시에 저장될 수 있다. 또한, 9픽셀들 이상으로 분리되는 두 개의 데이터는 함께 9×9 데이터 엑세스를 위하여 접근될 수 없기 때문에 데이터 충돌 없이 동일한 두 개의 캐쉬 라인들이 전 페이지를 위하여 사용된다. 캐쉬가 9×9 블록(81바이트)을 저장하여야 하며, 32가 9×9 블록을 저장할 수 있는 캐쉬 라인들의 가장 작은 수이고, 32가 2의 승수이기 때문에 캐쉬 라인들의 수는 32로 결정한다. 이때, 하나의 캐쉬는 캐쉬 사이즈가 2의 승수일 때 편리하게 제어된다.As shown in FIG. 2, data is mapped from external memory 2 to cache memory 3 for H.264 / AVC motion correction. 2, only luminance data is considered. In the external memory 2, each page (= row) has 512 bytes, and the size of each column of one image frame is larger than 512 bytes. Make it small. Therefore, each column of the image frame is stored in one page of the external memory 2, and the cache line size is 8 bytes. The external memory 2 is divided into blocks, each of which represents 1x8 byte data and is mapped to one cache line. The number of each block represents the index of the cache line to which each block is mapped. The first page of external memory (address 0) is mapped sequentially to cache lines 0 and 1. In the same way, blocks on the second page are mapped to cache lines 2 and 3, page 16 is mapped to cache lines 30 and 31, and the next page on page 16 is again mapped to cache lines 0 and 1. In this case, the 9 × 9 block is a maximum block size required for inserting a 4 × 4 block for H.264 / AVC motion correction. Therefore, 9 bytes in one column may be simultaneously stored in two cache lines. Also, since two data separated by 9 pixels or more cannot be accessed together for 9x9 data access, the same two cache lines are used for the entire page without data collision. The cache must store 9x9 blocks (81 bytes), and the number of cache lines is determined to be 32 because 32 is the smallest number of cache lines that can store 9x9 blocks, and 32 is a multiplier of two. At this time, one cache is conveniently controlled when the cache size is a multiplier of two.

도 3에 도시된 바와 같이, 어드레스 비트들은 도 2에 도시된 캐쉬 매핑이 이루어지도록 할당된다. 이미지 사이즈의 크기가 512×512인 경우에 18비트가 이미지의 한 프레임을 어드레스하기 위하여 필요하다. 어드레스 분할은 총 어드레스 비트수를 변화시킴으로써 임의의 이미지에 적용할 수 있다. 캐쉬 블록 인덱스는 어드레스 비트는 9에서 12 까지의 비트 및 3비트이고, A[12:9]와 A[3]으로 각각 표시된다. 어드레스 비트[12:9]는 16 이미지 열(image row)을 어드레스하는 데 사용되고, A[3]는 같은 이미지 열에서 2 블록들을 토글링(toggling)하는 데 사용된다. 이러한 5 비트를 조합하여 인덱스는 32 캐쉬 블록을 선택할 수 있다. 0에서 2까지의 어드레스 비트 A[2:0]는 하나의 캐쉬 블록에서 오프 세트(offset)를 나타낸다. 13에서 7까지의 어드레스 비트 A[13:7]는 하나의 이미지에서 다른 열들을 구분하기 위한 TAG_upper로 표시된 캐쉬 태그로 사용되고, 4에서 8까지의 어드레스 비트 A[4:8]는 하나의 이미지에서 동일한 줄 내에서 블록들을 식별하기 위한 TAG_low로 표시되는 또 다른 태그로 사용된다. 종래의 직접적인 매핑된 캐쉬와 대조적으로, 인덱스 비트와 태그 비트는 분할(split)되어 있기 때문에 이러한 캐쉬를 스프릿트 인덱스 직접 매핑 캐쉬(split-index direct mapped cache)라 한다. 도 2 및 도 3에 도시된 캐쉬 구성은 이미지 프레임 보다 긴 임의의 외부 메모리 사이즈에도 적용할 수 있다. 크로미넨스(chrominance) 샘플들의 크기는 루미넨스의 크기의 1/4이기 때문에 캐쉬의 사이즈가 또한 16×4로 감소된다. 도 3 b는 16 비트 어드레스로 256×256 크로미넨스 샘플들을 할당하는 크로미넨스 캐쉬의 어드레스 형식을 도시한다. 캐쉬 사이즈가 16×4이고, 4 비트들은 인덱스로 사용되고, 2비트들은 오프 세트로 할당된다.As shown in FIG. 3, the address bits are allocated such that the cache mapping shown in FIG. 2 is achieved. If the size of the image size is 512 x 512, 18 bits are needed to address one frame of the image. Address segmentation can be applied to any image by changing the total number of address bits. The cache block index is address bits of 9 to 12 bits and 3 bits, denoted by A [12: 9] and A [3], respectively. Address bits [12: 9] are used to address 16 image rows, and A [3] is used to toggle 2 blocks in the same image row. Combining these 5 bits, the index can select 32 cache blocks. Address bits A [2: 0] from 0 to 2 indicate an offset in one cache block. Address bits A [13: 7] from 13 to 7 are used as cache tags labeled TAG_upper to distinguish different columns in one image. Address bits A [4: 8] from 4 to 8 are used in one image. Used as another tag, labeled TAG_low, to identify blocks within the same line. In contrast to the conventional direct mapped cache, the cache is called a split-index direct mapped cache because the index and tag bits are split. The cache configuration shown in FIGS. 2 and 3 may also apply to any external memory size that is longer than the image frame. Since the size of the chrominance samples is one quarter of the size of the luminance, the size of the cache is also reduced to 16 × 4. 3B shows the address format of a chrominance cache that allocates 256 × 256 chrominance samples to 16 bit addresses. The cache size is 16x4, 4 bits are used as an index, and 2 bits are allocated as an offset.

실험예Experimental Example

실험예에서는 본 발명의 캐쉬 구성에 의한 외부 메모리 엑세스와 종래 캐쉬 구성이 없을 때의 외부 메모리 엑세스를 비교하여 감축된 정도를 살펴보기로 한다. 소프트웨어로 H.264/AVC 버전7.3이 캐쉬 구성이 없을 때와 있을 때의 움직임 보정의 데이터 엑세스 패턴을 측정하기 위하여 사용되었다. QP, 서치 영역, 기준 프레임수를 각각 28, 16, 5로 설정하였다. 첫 번째 프레임은 I-슬라이스(slice)로 엔코딩되었고, 나머지 프레임들은 P-슬라이스로 엔코딩되었다. 실험예에서 스프릿트 인덱스 캐쉬로 32×8이 적용되었다. 또한 크로미넌스 샘플로 16×4가 스프릿트 인덱스 캐쉬로 적용되었다. 실험을 위하여 외부 메모리로부터 패취된 메모리 워 드(memory word)(32 비트)가 본 발명의 캐쉬 구성과 캐쉬 구성이 없는 원래의 H.264/AVC와 비교, 측정되었다. 측정결과 밴드폭의 감소 비율은 스프릿트 인덱스 캐쉬 적용시에 평균 66% 감소되었다.In the experimental example, the reduced degree is compared by comparing the external memory access by the cache configuration of the present invention with the external memory access when there is no conventional cache configuration. In software, H.264 / AVC version 7.3 was used to measure the data access pattern of motion compensation with and without cache configuration. The QP, search area, and reference frame number were set to 28, 16, and 5, respectively. The first frame was encoded in I-slice and the remaining frames were encoded in P-slice. In the experimental example, 32 × 8 was applied as the split index cache. In addition, 16 × 4 was applied as the split index cache as the chrominance sample. For the experiment, memory words (32 bits) patched from external memory were measured and compared with the original H.264 / AVC without cache configuration and cache configuration of the present invention. As a result, the reduction ratio of the bandwidth was reduced by 66% on average with the split index cache.

상기 목적과 구성을 갖는 본 발명에 따르는 외부 메모리와 캐쉬 구성에 의하여 움직임 보정에 따른 외부 메모리에 엑세스하는 데에 소요되는 메모리 밴드폭(memory bandwidth)을 대폭 감소시킬 수 있다.The memory bandwidth required for accessing the external memory according to the motion compensation can be greatly reduced by the external memory and the cache configuration according to the present invention having the above object and configuration.

또한, 본 발명의 캐쉬 어드레스 구성에 의하여 캐쉬 라인을 최소화하며, 데이터 충돌 없이 움직임 보정을 수행하도록 하여 선명한 이미지를 디코딩하도록 한다.In addition, the cache address structure of the present invention minimizes cache lines and performs motion compensation without data collision, thereby decoding clear images.

Claims (6)

캐쉬 라인들로 이루어진 저장영역과 어드레스 할당영역을 포함하는 캐쉬 메모리;A cache memory including a storage area consisting of cache lines and an address allocation area; 각각의 캐쉬 라인 인덱스가 부여된 복수의 블록들로 이루어 복수의 열들로 이루어지며, 이미지 프레임의 한 열의 데이터가 상기 복수의 열들 중 한 열 내에 저장되는 외부 메모리;An external memory comprising a plurality of columns each of which is assigned a cache line index, wherein data of one column of an image frame is stored in one of the plurality of columns; 상기 외부 메모리의 각 블록들에 저장된 이미지 데이터를 상기 캐쉬 라인 인덱스가 지정하는 캐쉬 라인에 저장하고, 지정된 캐쉬 라인에 저장된 이미지 데이터에 의하여 움직임 보정을 수행하는 움직임 보정엔진을 포함하는 것을 특징으로 하는 움직임 보정장치.And a motion correction engine storing image data stored in each block of the external memory in a cache line designated by the cache line index, and performing a motion correction based on the image data stored in the designated cache line. Compensator. 청구항 제1항에 있어서, 상기 한 열을 형성하는 복수의 블록들에는 두 개의 캐쉬 라인 인덱스가 교대로 부여되는 것을 특징으로 하는 움직임 보정장치.The apparatus of claim 1, wherein two cache line indices are alternately assigned to the plurality of blocks forming one column. 청구항 제2항에 있어서, 상기 어드레스 할당영역의 어드레스 포맷(format)은 3. The address format of claim 2, wherein the address format of the address allocation area is 열을 구분하기 위한 제1태그영역;A first tag area for distinguishing columns; 동일한 열 내에서 블록들을 식별하기 위한 제2태그영역;A second tag area for identifying blocks within the same column; 상기 캐쉬라인을 지정하기 위한 인덱스 영역; 및 An index area for designating the cache line; And 오프셋트 영역을 포함하는 것을 특징으로 하는 움직임 보정장치.And a offset region. 청구항 제3항에 있어서, 상기 인덱스 영역은 상기 캐쉬 라인을 지정하는 제1인덱스 영역과 토글링(toggling)으로 사용되는 제2인덱스영역으로 이루어지는 것을 특징으로 하는 움직임 보정장치.4. The motion compensation apparatus of claim 3, wherein the index area comprises a first index area for designating the cache line and a second index area used for toggling. 청구항 제1항 내지 제4항 중 어느 한 항에 있어서, 상기 캐쉬라인은 32인 것을 특징으로 하는 움직임 보정장치.5. The motion compensating device according to any one of claims 1 to 4, wherein said cache line is 32. 청구항 제1항 내지 제4항 중 어느 한 항에 있어서, 상기 캐쉬라인 및 상기 외부 메모리의 한 블록은 8 바이트(byte)인 것을 특징으로 하는 움직임 보정장치.5. The motion compensating device according to any one of claims 1 to 4, wherein one block of the cache line and the external memory is 8 bytes.
KR1020070128999A 2007-12-12 2007-12-12 Apparatus for motion compensation KR100944995B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070128999A KR100944995B1 (en) 2007-12-12 2007-12-12 Apparatus for motion compensation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070128999A KR100944995B1 (en) 2007-12-12 2007-12-12 Apparatus for motion compensation

Publications (2)

Publication Number Publication Date
KR20090061961A true KR20090061961A (en) 2009-06-17
KR100944995B1 KR100944995B1 (en) 2010-03-05

Family

ID=40991275

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070128999A KR100944995B1 (en) 2007-12-12 2007-12-12 Apparatus for motion compensation

Country Status (1)

Country Link
KR (1) KR100944995B1 (en)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1629674A1 (en) * 2003-05-19 2006-03-01 Koninklijke Philips Electronics N.V. Video processing device with low memory bandwidth requirements
US20060050976A1 (en) * 2004-09-09 2006-03-09 Stephen Molloy Caching method and apparatus for video motion compensation
KR100640592B1 (en) * 2004-10-25 2006-11-01 삼성전자주식회사 Image encoding apparatus having improved encoding speed and method thereof

Also Published As

Publication number Publication date
KR100944995B1 (en) 2010-03-05

Similar Documents

Publication Publication Date Title
US10939112B2 (en) Method and device for video coding and decoding
US10430099B2 (en) Data processing systems
US7702878B2 (en) Method and system for scalable video data width
KR101085622B1 (en) Efficient use of storage in encoding and decoding video data streams
KR100852084B1 (en) Unit and method for memory address translation and image processing apparatus comprising such a unit
US8867609B2 (en) Dynamically configuring a video decoder cache for motion compensation
US8890881B2 (en) Mapping method and video system for mapping pixel data included in the same pixel group to the same bank of memory
JP5039334B2 (en) Cache memory control method and apparatus
US20080147980A1 (en) Enhancing Performance of a Memory Unit of a Data Processing Device By Separating Reading and Fetching Functionalities
JP6263538B2 (en) Method and system for multimedia data processing
US20080259089A1 (en) Apparatus and method for performing motion compensation by macro block unit while decoding compressed motion picture
US7401177B2 (en) Data storage device, data storage control apparatus, data storage control method, and data storage control program
US9118891B2 (en) Video encoding system and method
US9137541B2 (en) Video data cache
US20130057770A1 (en) Data processing apparatus, data processing method and data sharing system
US20080292276A1 (en) Two Dimensional Memory Caching Apparatus for High Definition Video
KR100944995B1 (en) Apparatus for motion compensation
TWI418219B (en) Data-mapping method and cache system for use in a motion compensation system
US10085016B1 (en) Video prediction cache indexing systems and methods
US8264496B2 (en) Data management for image processing
US8115874B2 (en) Memory optimization for video processing
JP2007299211A (en) Memory control device
US20140362095A1 (en) Image cache memory and semiconductor integrated circuit
KR100785964B1 (en) Method for efficiently managing sdram on drawing image asic
CN117575888A (en) Method, device, medium and equipment for accelerating operation of feature data

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130226

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140212

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20150212

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180129

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20190201

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20200203

Year of fee payment: 11