KR100891116B1 - Apparatus and method for bandwidth aware motion compensation - Google Patents
Apparatus and method for bandwidth aware motion compensation Download PDFInfo
- Publication number
- KR100891116B1 KR100891116B1 KR1020070052222A KR20070052222A KR100891116B1 KR 100891116 B1 KR100891116 B1 KR 100891116B1 KR 1020070052222 A KR1020070052222 A KR 1020070052222A KR 20070052222 A KR20070052222 A KR 20070052222A KR 100891116 B1 KR100891116 B1 KR 100891116B1
- Authority
- KR
- South Korea
- Prior art keywords
- bandwidth
- data
- cache buffer
- motion compensation
- variable
- 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/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion 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/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
-
- 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/423—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 characterised by memory arrangements
-
- 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
Abstract
본 발명은 대역폭 인식 움직임 보상 장치에 관한 것으로써, 움직임 보상을 위해 허용되는 최대 버스 대역폭을 결정하는 대역폭 결정부, 결정된 버스 대역폭에 기초하여 가변 캐쉬 버퍼에 저장될 레퍼런스 데이터의 수량과 범위를 결정하고, 레퍼런스 데이터를 특정하여 외부 메모리로부터 가변 캐쉬 버퍼로 레퍼런스 데이터를 전송하여 가변 캐쉬 버퍼를 업데이트하는 캐쉬 제어부, 움직임 보상을 수행할 데이터가 가변 캐쉬 버퍼 또는 외부 메모리 중 적어도 어느 하나에 저장되어 있는지를 확인하는 캐쉬 확인부 및 캐쉬 확인부의 결과에 따라 가변 캐쉬 버퍼 또는 외부 메모리 중 적어도 어느 하나에 억세스하여 움직임 보상을 수행할 데이터를 읽어오는 데이터 판독부를 포함함으로써, 움직임 보상의 판독 사이클과 시스템 대역폭을 절감하여 효율적인 움직임 보상을 가능하게 한다.The present invention relates to a bandwidth-aware motion compensation device, comprising: a bandwidth determination unit for determining a maximum bus bandwidth allowed for motion compensation, and determining the quantity and range of reference data to be stored in the variable cache buffer based on the determined bus bandwidth. Specify the reference data and transfer the reference data from the external memory to the variable cache buffer to update the variable cache buffer, and check whether the data to perform motion compensation is stored in at least one of the variable cache buffer or the external memory. In accordance with the results of the cache checker and the cache checker to include at least one of the variable cache buffer or the external memory to read the data to perform the data to perform the motion compensation, thereby reducing the read cycle of the motion compensation and system bandwidth efficient It allows for motion compensation.
움직임 보상, HD, 메모리 버스 대역폭, 대역폭 인식, 가변 캐쉬 버퍼 Motion Compensation, HD, Memory Bus Bandwidth, Bandwidth Aware, Variable Cache Buffer
Description
도 1은 HD 급의 1088-60p 환경에서 임계적인 경우의 대역폭 분석을 도시한 도표이다. 1 is a diagram illustrating bandwidth analysis in a critical case in an HD class 1088-60p environment.
도 2는 본 발명의 일 실시예에 따른 대역폭 인식 움직임 보상 장치의 블록도를 도시한다.2 is a block diagram of a bandwidth-aware motion compensation apparatus according to an embodiment of the present invention.
도 3은 가변 캐쉬 버퍼의 구조를 도시한다.3 illustrates the structure of a variable cache buffer.
도 4는 캐쉬 제어부의 기능을 설명한다. 4 illustrates the function of the cache controller.
도 5는 캐쉬 제어부의 데이터 전송 및 업데이트 방법을 도시한다.5 illustrates a data transmission and update method of the cache controller.
도 6은 가변 캐쉬 버퍼에서의 데이터 업데이트 방법을 도시한다.6 illustrates a data update method in a variable cache buffer.
도 7은 본 발명의 일 실시예에 따른 대역폭 인식 움직임 보상 장치의 방법의 흐름도를 도시한다.7 is a flowchart of a method of a bandwidth aware motion compensation apparatus according to an embodiment of the present invention.
본 발명은 대역폭 인식 움직임 보상 장치 및 방법에 관한 것으로, 더 상세하게는 비디오 코덱 장치에서 움직임 보상 모듈에게 허용되는 대역폭을 고려하여 매크로 블록의 움직임을 보상하는 움직임 보상 장치 및 방법에 관한 것이다.The present invention relates to a bandwidth-aware motion compensation device and method, and more particularly, to a motion compensation device and method for compensating for motion of a macro block in consideration of a bandwidth allowed to a motion compensation module in a video codec device.
H.264/AVC 비디오 코딩은 2001년 ITU-T VCEG(Video Coding Experts Group) 및 MPEG(Moving Picture Experts Group)을 구성하는 JVC(Joint Video Team)에 의해 개발되었다. H.264/AVC는 MPEG-4, H.263, MPEG-2에 비해 비트율을 39%~64% 가량 절감할 수 있고, 이러한 성능 개선은 주로 쿼터 픽셀을 이용한 움직임 추정, 가변 블록 사이즈(variable block sizes, VBS), 다중 참조 프레임(multiple reference frame, MRF), 디블로킹 필터(de-blocking filter), 정수 변환 및 향상된 엔트로피 코딩 툴(advanced entropy coding tools)을 포함하는 여러 가지 새로운 특징들로부터 비롯된다. H.264 / AVC video coding was developed in 2001 by the JVC (Joint Video Team), which forms the ITU-T Video Coding Experts Group (VCEG) and Moving Picture Experts Group (MPEG). H.264 / AVC can reduce the bit rate by 39% ~ 64% compared to MPEG-4, H.263, and MPEG-2, and these performance improvements are mainly based on motion estimation using quarter pixel and variable block size. It comes from several new features, including sizes (VBS), multiple reference frames (MRF), de-blocking filters, integer transforms, and advanced entropy coding tools.
움직임 보상의 관점에서 볼 때, 가변 블록 사이즈와 다중 참조 프레임은 버스 트래픽과 대역폭을 불충분하게 만드는 주요 요인들이다. 움직임 보상 과정은 임계적인 경우에는 총 데이터 대역폭의 50%를 넘게 사용할 수 있으나, 이는 얼마나 많은 다른 구성요소를 가지는지 여부에 달려 있는 문제이다. H.264/AVC 복호화기 소프트웨어의 작동 시간 분석에 따라, 움직임 보상 과정은 총 복호화 시간의 55%까지 사용하기도 한다.In terms of motion compensation, variable block size and multiple reference frames are the major factors that make bus traffic and bandwidth insufficient. The motion compensation process can use more than 50% of the total data bandwidth in critical cases, but this depends on how many different components it has. According to the operating time analysis of the H.264 / AVC decoder software, the motion compensation process uses up to 55% of the total decoding time.
움직임 보상은 HD(high definition) 시스템의 실시간 처리에 있어서, 특히 영상 시퀀스가 1920*1088 해상도 및 초당 60 프레임의 전송 속도(이하, '1088-60p'라 한다.)로 입력되는 환경에서, 두 가지의 매우 중요한 문제점을 갖는다. 하나는 버스 대역폭 문제이며 다른 하나는 움직임 보상의 처리 사이클 문제이다. 움직임 보상의 처리 사이클 문제는 코어 유틸라이제이션(core utilization), 보간 처리의 병렬화, 최적화된 복호화 플로우(decoding flow), 움직임 보상 데이터 판독기의 계층 분리 등으로 해결될 수 있다. Motion compensation is two methods for real time processing of high definition (HD) systems, especially in an environment in which an image sequence is input at 1920 * 1088 resolution and a transmission rate of 60 frames per second (hereinafter, referred to as '1088-60p'). Has a very important problem. One is the bus bandwidth problem and the other is the processing cycle problem of motion compensation. The processing cycle problem of motion compensation can be solved by core utilization, parallelization of interpolation processing, optimized decoding flow, hierarchical separation of motion compensation data reader, and the like.
HD급 해상도 이상의 영상에 있어서, 버스 대역폭 문제가 더 심각한 문제이다. 게다가, 마스터의 임의의 요청, DRAM 지원 버스트에 의한 짧은 버스트의 효율성 문제, 초기 지연 및 버스 트래픽 등의 문제 때문에, 거의 모든 시스템은 버스의 효율성을 100%로 만들 수는 없다. 버스의 효율성은 버스로부터 데이터 응답이 직접 오는지에 달려있다. 이러한 대역폭 문제를 해결하기 위해 여러 가지 방법들이 개발되어 있지만, 이 방법들은 상이한 대역폭을 가지는 다양한 시스템에 적용될 수 없다. 또한 캐쉬 방법은 가변 블록 사이즈 및 다중 참조 프레임은 물론 HD급의 1088-60p의 환경에는 적절하지 않다. For video over HD resolution, the bus bandwidth problem is more serious. In addition, almost all systems cannot make the bus 100% efficient because of random master requests, short burst efficiency issues due to DRAM-assisted bursts, initial delays and bus traffic. The efficiency of the bus depends on whether the data response comes directly from the bus. Various methods have been developed to solve this bandwidth problem, but these methods cannot be applied to various systems having different bandwidths. In addition, the caching method is not suitable for variable block sizes and multiple reference frames, as well as in the environment of HD-class 1088-60p.
움직임 보상 모듈은 복호화기에서 버스 대역폭을 가장 많이 소비하는 모듈이다. H.264/AVC 시스템에서, 6-탭 필터로 데이터를 보간하므로 5 픽셀이 더 필요하다. 또한, 고화질의 고해상도 이미지를 위한 일부 제약이 있는데, 이는 두 장의 연속된 매크로 블록(MB)당 움직임 벡터의 최대 수량(MaxMVsPer-2Mb)은 16개라는 것이다. 이 때, 움직임 보상의 임계적인 경우는 모든 매크로 블록이 8×8(13×13) 크기 블록의 양방향 예측 또는 4×8(9×13) 크기 블록의 한방향 예측으로 부호화되었음을 의미한다.The motion compensation module is the module that consumes the most bus bandwidth in the decoder. In an H.264 / AVC system, 5 pixels are needed because the data is interpolated with a 6-tap filter. In addition, there are some restrictions for high resolution images of high quality, which means that the maximum number of motion vectors (MaxMVsPer-2Mb) per two consecutive macroblocks (MB) is 16. In this case, the critical case of motion compensation means that all macro blocks are encoded by bidirectional prediction of 8 × 8 (13 × 13) size blocks or unidirectional prediction of 4 × 8 (9 × 13) size blocks.
버스 데이터 비트를 고려하면, 각각 DDR(double date rate)이 이미 고려된 32 또는 64비트 버스 시스템에서 8×8 모드를 위한 버스트의 크기는 4 바이트 또는 3 바이트이며, 4×8 모드를 위한 버스트의 크기는 4 바이트 또는 3 바이트 및 3 바 이트 또는 2 바이트이다. 그러나 DDR1은 오직 2-, 4- 및 8-버스트를 지원하고, DDR2는 4-, 8-버스트를 지원하므로, 실질적으로 양 버스 데이터 비트의 경우 모든 경우를 위해 4-버스트만이 채택된다. 그러므로 최대 데이터 대역폭은 1MB당 576Hz이다.Considering the bus data bits, the burst size for 8x8 mode is 4 bytes or 3 bytes in 32 or 64 bit bus systems where double date rate (DDR) is already taken into account, respectively. The size is 4 bytes or 3 bytes and 3 bytes or 2 bytes. However, DDR1 only supports 2-, 4- and 8-bursts, and DDR2 supports 4-, 8-bursts, so virtually only 4-bursts are adopted for all cases for both bus data bits. Therefore, the maximum data bandwidth is 576 Hz per MB.
도 1은 HD 급의 1088-60p 환경에서 임계적인 경우의 대역폭 분석을 도시한다.Figure 1 shows the bandwidth analysis of the critical case in HD class 1088-60p environment.
YCbCr은 4:2:0이고 단일 버스 시스템을 고려하였다. 고정된 버스트는 DDR1 또는 DDR2에 적용 가능한 버스트로 산출된 실제값을 의미한다.YCbCr is 4: 2: 0 and considered a single bus system. Fixed bursts represent actual values calculated with bursts applicable to DDR1 or DDR2.
도 1에서 보는 것과 같이, 움직임 보상의 임계 대역폭은 1088-60p에서 280MHz를 넘는다. 이 경우 실시간 처리를 위해 시스템 대역폭과 클럭은 400MHz를 넘을 것이다. 이는 일반적인 경우는 아니지만, H.264/AVC 환경에서는 가능한 경우이다. 그리고 만약 모든 시스템이 모든 임의의 경우를 고려한다면, 이러한 임계적 경우에 대한 해결책이 있어야 한다.As shown in FIG. 1, the threshold bandwidth of motion compensation exceeds 280 MHz at 1088-60p. In this case, the system bandwidth and clock will exceed 400 MHz for real-time processing. This is not common, but it is possible in an H.264 / AVC environment. And if every system considers any arbitrary case, there must be a solution to this critical case.
종래 기술에서, 대역폭이 불충분한 문제에 대한 여러 가지 해결책이 있었으나, 움직임 보상 모듈이 사용할 수 있는 최대 대역폭이 얼마인지 고려하지 않았다. 또한 보간 윈도우가 같은 장소에 위치해야 한다는 일부 가정이 필요하므로 가변 블록 사이즈 및 다중 참조 프레임에 적절하지 않으며, 각각의 블록이 다른 움직임 벡터를 가지는 경우까지 다루지 못한다.In the prior art, there have been various solutions to the problem of insufficient bandwidth, but it does not take into account what the maximum bandwidth the motion compensation module can use. In addition, some assumptions that the interpolation window should be located in the same place are necessary, and thus are not appropriate for variable block sizes and multiple reference frames, and cannot be handled until each block has a different motion vector.
따라서 본 발명이 이루고자 하는 기술적 과제는, 압축 영상의 복호화기의 대 역폭을 고려한 움직임 보상 장치 및 방법에 있어서, 움직임 보상을 수행하는데 필요한 대역폭을 고려하여 데이터의 전송 및 저장을 제어하는 움직임 보상 장치 및 방법을 제시하는데 있다. H.264/AVC 복호화기를 위한 대역폭 인식 움직임 보상 구조가 제안된다. 움직임 보상 모듈에서 이용 가능한 최대 대역폭 정보를 파악하여, 가변 캐쉬 버퍼를 이용하여 관리할 데이터의 수량 및 범위를 결정하고, 외부 메모리로부터 가변 캐쉬 버퍼로 전송된 데이터의 저장 및 업데이트를 제어한다.Accordingly, an object of the present invention is to provide a motion compensation apparatus and method considering a bandwidth of a decoder of a compressed image, the motion compensation apparatus controlling transmission and storage of data in consideration of a bandwidth required for performing motion compensation; To present a method. A bandwidth aware motion compensation structure for an H.264 / AVC decoder is proposed. By determining the maximum bandwidth information available in the motion compensation module, the variable cache buffer is used to determine the quantity and range of data to be managed, and to control the storage and update of data transferred from the external memory to the variable cache buffer.
또한 데이터 판독 사이클을 줄이기 위해 가변 캐쉬 버퍼에의 데이터 전송 및 업데이트 과정은 움직임 보상과는 별개로 수행하여, 움직임 보상과 병렬적으로 데이터를 업데이트할 수 있다. 또한 움직임 보상을 위한 데이터는 가변 캐쉬 버퍼 또는 외부 메모리로부터 읽어올 수 있고, 가변 캐쉬 버퍼와 외부 메모리 양 쪽으로부터도 판독이 가능한 방법을 제시한다.In addition, in order to reduce the data read cycle, the data transfer and update process to the variable cache buffer may be performed separately from the motion compensation, thereby updating data in parallel with the motion compensation. In addition, the data for motion compensation can be read from the variable cache buffer or the external memory, and the method can be read from both the variable cache buffer and the external memory.
따라서 상기 기술적 과제를 달성하기 위해, 본 발명의 일 실시예에 따른 대역폭 인식 움직임 보상 장치는 움직임 보상을 위해 허용되는 최대 버스 대역폭을 결정하는 대역폭 결정부, 결정된 버스 대역폭에 기초하여 가변 캐쉬 버퍼에 저장될 레퍼런스 데이터의 수량과 범위를 결정하고, 레퍼런스 데이터를 특정하여 외부 메모리로부터 가변 캐쉬 버퍼로 레퍼런스 데이터를 전송하여 가변 캐쉬 버퍼를 업데이트하는 캐쉬 제어부, 현재 블록의 움직임 보상을 위해 필요한 데이터가 가변 캐쉬 버퍼 또는 외부 메모리 중 적어도 어느 하나에 저장되어 있는지를 확인하는 캐쉬 확인부 및 캐쉬 확인부의 결과에 따라 가변 캐쉬 버퍼 또는 외부 메모리 중 적 어도 어느 하나에 억세스하여 움직임 보상을 수행할 데이터를 읽어오는 데이터 판독부를 포함한다.Therefore, in order to achieve the above technical problem, the bandwidth-aware motion compensation apparatus according to an embodiment of the present invention is a bandwidth determination unit for determining the maximum bus bandwidth allowed for motion compensation, and stored in a variable cache buffer based on the determined bus bandwidth A cache controller which determines the quantity and range of reference data to be used, specifies the reference data, and transfers the reference data from the external memory to the variable cache buffer to update the variable cache buffer; Or a cache checker for checking whether the memory is stored in at least one of the external memories, and a data readout for reading data to perform motion compensation by accessing at least one of the variable cache buffer or the external memory according to the result of the cache checker. Include.
본 발명의 일 실시예에서, 대역폭 결정부는, 제 1 대역폭은 복호화기의 총 버스 대역폭이고, 제 2 대역폭은 움직임 보상 장치를 제외한 다른 구성 요소의 수행에 필요한 버스 대역폭이며, 제 3 대역폭은 가변 캐쉬 버퍼에 저장된 데이터가 없을 때 움직임 보상을 위해 필요한 버스 대역폭일 때, 최대 버스 대역폭은 제 1 대역폭에서 제 2 대역폭과 제 3 대역폭의 합을 뺌으로써 결정한다.In one embodiment of the invention, the bandwidth determiner, the first bandwidth is the total bus bandwidth of the decoder, the second bandwidth is the bus bandwidth required for the performance of other components except the motion compensation device, the third bandwidth is a variable cache When the bus bandwidth required for motion compensation when no data is stored in the buffer, the maximum bus bandwidth is determined by subtracting the second bandwidth and the third bandwidth from the first bandwidth.
바람직한 실시예에서, 가변 캐쉬 버퍼는 적어도 하나 이상의 캐쉬 버퍼를 사용하며, 제 1 캐쉬 버퍼는 블록의 한 라인의 바이트 수보다 큰 너비를 가지고, 제 2 캐쉬 버퍼는 블록의 한 라인의 바이트 수보다 작은 너비를 가질 때, 제 1캐쉬 버퍼 및 복수 개의 상기 제 2 캐쉬 버퍼 중 적어도 어느 하나로 구성되어, 가변 캐쉬 버퍼의 한 라인의 총 너비는 블록의 한 라인의 바이트 수보다 크다.In a preferred embodiment, the variable cache buffer uses at least one cache buffer, the first cache buffer having a width greater than the number of bytes in one line of the block, and the second cache buffer less than the number of bytes in one line of the block. When having a width, it is comprised of at least one of a first cache buffer and a plurality of said second cache buffers, such that the total width of one line of the variable cache buffer is greater than the number of bytes in one line of the block.
일 실시예에서, 캐쉬 제어부는 레퍼런스 데이터 중 매스데이터 및 업데이트 데이터를 구분하여 가변 캐쉬 버퍼에 전송하고, 가변 캐쉬 버퍼 상에서 매스데이터를 검색하는 영역을 결정한다.In one embodiment, the cache controller classifies the mass data and the update data among the reference data and transmits them to the variable cache buffer, and determines an area for searching the mass data on the variable cache buffer.
상기 기술적 과제를 달성하기 위해, 본 발명의 일 실시예에 따른 대역폭 인식 움직임 보상 방법은, 움직임 보상을 위해 허용되는 최대 버스 대역폭을 결정하는 단계, 결정된 버스 대역폭에 기초하여 가변 캐쉬 버퍼에 저장될 레퍼런스 데이터의 수량과 범위를 결정하고, 레퍼런스 데이터를 특정하여 외부 메모리로부터 가변 캐쉬 버퍼로 레퍼런스 데이터를 전송하여 가변 캐쉬 버퍼를 업데이트하는 단 계, 움직임 보상을 수행할 데이터가 가변 캐쉬 버퍼 또는 외부 메모리 중 적어도 어느 하나에 저장되어 있는지를 확인하는 단계 및 확인 결과에 따라 가변 캐쉬 버퍼 또는 외부 메모리 중 적어도 어느 하나에 억세스하여 움직임 보상을 수행할 데이터를 읽어오는 단계를 포함한다.In order to achieve the above technical problem, the bandwidth-aware motion compensation method according to an embodiment of the present invention, determining the maximum bus bandwidth allowed for motion compensation, the reference to be stored in the variable cache buffer based on the determined bus bandwidth Determining the quantity and range of data, specifying the reference data and transferring the reference data from the external memory to the variable cache buffer to update the variable cache buffer, and at least one of the variable cache buffer or the external memory to perform motion compensation Determining whether the data is stored in one of the variable cache buffers or the external memory according to the result of the checking, and reading data to perform motion compensation.
이하에서는 도 2 내지 도 7을 참조하여, 본 발명의 일 실시예에 따르는 대역폭 인식 움직임 보상 장치 및 방법을 설명한다.Hereinafter, a bandwidth aware motion compensation apparatus and method according to an embodiment of the present invention will be described with reference to FIGS. 2 to 7.
도 2는 본 발명의 일 실시예에 따른 대역폭 인식 움직임 보상 장치의 블록도를 도시한다.2 is a block diagram of a bandwidth-aware motion compensation apparatus according to an embodiment of the present invention.
대역폭 인식 움직임 보상 장치(200)는 대역폭 결정부(202), 캐쉬 제어부(204), 가변 캐쉬 버퍼(206), 데이터 버스(208), 외부 메모리(210), 캐쉬 확인부(212) 및 데이터 판독부(214)를 포함한다.The bandwidth aware
대역폭 결정부(202)는 복호화기에서 데이터 버스(210)의 총 대역폭 중 움직임 보상 장치가 사용할 수 있는 대역폭을 산출하여 캐쉬 선택부(204)로 출력한다. The bandwidth determiner 202 calculates a bandwidth that can be used by the motion compensation device among the total bandwidth of the
캐쉬 제어부(204)는 대역폭 결정부(202)에서 구한 대역폭을 입력 받아, 대역폭에 기초하여 가변 캐쉬 버퍼(206)에 저장될 레퍼런스 데이터의 수량과 범위를 결정하고, 가변 캐쉬 버퍼(206)에 저장될 레퍼런스 데이터를 특정하여 외부 메모리(210)로부터 가변 캐쉬 버퍼(206)로 특정된 레퍼런스 데이터를 전송 및 업데이트한다. The
가변 캐쉬 버퍼(206)는 캐쉬 제어부(204)가 지시하는 대로 데이터 버 스(208)를 통해 외부 메모리(210)로부터 레퍼런스 데이터를 전송받아 저장하고 업데이트되어, 데이터 판독부(214)에 데이터를 출력한다.The
데이터 버스(208)는 외부 메모리(210)와 대역폭 인식 움직임 보상 장치(200)의 데이터 전송 통로이다.The
외부 메모리(210)는 대역폭 인식 움직임 보상 장치(200)에서 사용될 데이터가 저장되어 있으며, 캐쉬 제어부(204) 혹은 캐쉬 확인부(212)의 지시에 따라, 데이터를 움직임 보상 처리 모듈에 출력하기 위해 데이터 버스(208)에 데이터를 출력한다.The
캐쉬 확인부(212)는 데이터 판독부(214)에서 필요한 데이터가 가변 캐쉬 버퍼(206)과 외부 메모리(210) 중 적어도 어느 하나에 저장되어 있는지를 확인하고, 그 결과를 데이터 판독부(214)에 출력한다.The
데이터 판독부(214)는 캐쉬 확인부(212)의 결과를 기초로 가변 캐쉬 버퍼(206), 외부 메모리(210), 혹은 양 쪽 모두에서 데이터를 읽어와, 본 발명의 일 실시예에 따른 대역폭 인식 움직임 보상을 수행하게 된다.The
이하, 대역폭 인식 움직임 보상 장치(200)의 각 구성요소에 대해 상세히 설명한다.Hereinafter, each component of the bandwidth aware
모든 시스템은 복수 개의 구성요소와 데이터 버스를 가질 수 있다. 영상의 크기와 프레임율이 상승함에 따라, 각 구성요소의 대역폭 사용은 제한된다. 이는 시스템이 얼마나 많은 다른 구성요소를 사용하는지에 의해 결정된다.Every system can have multiple components and data buses. As the image size and frame rate increase, the bandwidth usage of each component is limited. This is determined by how many different components the system uses.
대역폭 결정부(202)에서는 복호화기가 사용할 수 있는 총 대역폭에서 움직 임 보상 장치를 제외한 다른 구성 요소의 수행에 필요한 버스 대역폭과, 가변 캐쉬 버퍼에 저장된 데이터가 없을 때 움직임 보상을 위해 필요한 버스 대역폭을 고려하여, 대역폭 움직임 보상 장치(200)이 사용할 수 있는 대역폭을 산출한다.The
BW는 대역폭 인식 움직임 보상 장치(200)가 사용할 수 있는 버스 대역폭을 나타내며, TotalBW는 복호화 시스템이 사용할 수 있는 총 버스 대역폭, OtherBW는 움직임 보상 장치를 제외한 모든 다른 구성 요소 및 병렬 장치가 사용하는 버스 대역폭을 나타낸다. BW denotes a bus bandwidth to a bandwidth recognized
nohitBW는 가변 캐쉬 버퍼에 저장된 데이터가 없을 때 움직임 보상 장치가 사용하는 버스 대역폭을 나타낸다. nohitBW는 가변 캐쉬 버퍼에 데이터를 저장하지 않고 외부 메모리에서만 데이터를 전송받아야 하는 임계적인 경우를 위한 것이다. 본 발명의 일 실시예에서는 nohitBW를 한 매크로블록 당 50 클럭이라고 가정한다. nohitBW represents the bus bandwidth used by the motion compensation device when there is no data stored in the variable cache buffer. nohitBW is for critical cases where data should only be sent from external memory without storing it in the variable cache buffer. In an embodiment of the present invention, it is assumed that nohitBW is 50 clocks per macroblock.
따라서 대역폭 인식 움직임 보상 장치에서 고려될 버스 대역폭은 총 버스의 대역폭 TotalBW에서 다른 구성 요소의 대역폭 OtherBW와 가변 캐쉬 버퍼에 데이터가 없을 경우의 대역폭 nohitBW의 합을 뺀 값이 된다.Thus bandwidth recognition bus bandwidth to be considered in the motion compensation unit is the value obtained by subtracting the sum of the bandwidth nohitBW of the absence of data on a variable bandwidth OtherBW cache buffers of the other components in the bandwidth of the total TotalBW bus.
가변 캐쉬 버퍼(206)는 움직임 보상이 수행되는 한 매크로블록의 한 라인을 한 클럭에 억세스할 수 있을 만큼의 충분한 크기를 가져야 한다. 가변 캐쉬 버퍼(206)은 매크로블록의 너비보다 큰 너비를 가지는 캐쉬 버퍼를 사용할 수 있다. 작은 너비의 캐쉬 버퍼를 사용하는 경우에는, 한 클럭에 매크로블록의 한 라인을 억세스할 수 있도록 작은 너비를 가지는 캐쉬 버퍼를 복수 개를 병렬로 한 것이 사용된다. The
도 3는 도 2의 가변 캐쉬 버퍼(206)의 구조를 도시한다. 3 illustrates the structure of the
일 실시예에 따라 가변 캐쉬 버퍼(206)는 6TSRAM 또는 1TSRAM을 사용한다. 움직임 보상에서 사용되는 매크로블록의 최대 너비는 16×16 모드에서 6-탭 필터를 고려하여 21바이트이므로 가변 캐쉬 버퍼의 너비는 21바이트를 포함할 수 있을 정도로 충분히 커야 한다. 따라서, 21바이트 이상의 너비를 가지는 캐쉬 버퍼가 사용되는 방법도 있으나, 21바이트보다 작은 너비의 캐쉬 버퍼의 경우 복수 개의 캐퍼 버퍼를 병렬로 연결하여 이용될 수 있다. According to one embodiment, the
즉, 도 3과 같이 16바이트 너비의 캐쉬 버퍼가 가변 캐쉬 버퍼(206)로써 사용될 때의 임계적인 경우를 상정하자. 21바이트의 데이터 308을 포함하기 위해서, 캐쉬 버퍼 302에는 한 바이트, 캐쉬 버퍼 304에는 16바이트, 캐쉬 버퍼 306에는 4바이트가 호출되는 경우가 있을 수 있다. 따라서, 본 발명의 일 실시예에 따른 가변 캐쉬 버퍼(206)를 구성하기 위해 16 바이트의 캐쉬 버퍼가 사용되는 경우에는 적어도 3개의 16 바이트 너비의 캐쉬 버퍼가 필요하다. That is, assume a critical case when a 16-byte wide cache buffer is used as the
마찬가지로 8바이트 너비의 캐쉬 버퍼가 사용되는 경우에는 4개의 캐쉬 버퍼에 각각 1, 8, 8 및 4 바이트가 포함되는 임계적인 경우까지 허용되어야 하므로, 본 발명의 일 실시예에 따른 가변 캐쉬 버퍼(206)을 구성하기 위해서는 8 바이트 캐쉬 버퍼를 사용하는 경우에는, 적어도 4개의 8바이트 캐쉬 버퍼가 필요하다. Similarly, when an 8 byte wide cache buffer is used, the four cache buffers must be allowed until a critical case including 1, 8, 8, and 4 bytes, respectively, and thus the
도 4은 캐쉬 제어부(204)의 기능을 설명한다.4 illustrates the function of the
단계 402에서는, 대역폭 결정부(202)에서 생성된 대역폭을 이용하여 가변 캐쉬 버퍼(206)에 저장할 레퍼런스 데이터의 수량과 범위가 결정된다. In
단계 404에서는, 단계 402에서 결정된 레퍼런스 데이터의 수량 및 범위에 기초하여, 캐쉬 선택 알고리즘에 의해 가변 캐쉬 버퍼(206)에 저장할 레퍼런스 데이터가 특정된다. 본 발명의 일 실시예의 캐쉬 선택 알고리즘은 가장 가까운 POC(picture order count)를 사용하고, 필드의 경우 동일한 패러티(parity) 가중치를 덧붙이는 방법이다.In
단계 406에서는 단계 404에서 특정된 레퍼런스 데이터를 외부 메모리(210)로부터 가변 캐쉬 버퍼(206)로 전송하여, 매스데이터(massdata)와 업데이트 데이터를 저장한다.In
캐쉬 제어부(204)의 데이터 전송이 움직임 보상 처리 모듈의 작업과는 별개의 단계에서 수행되므로, 움직임 보상 과정과 병렬적으로 데이터의 전송 및 저장이 가능하다.Since the data transmission of the
도 5는 캐쉬 제어부(204)의 데이터 전송 및 업데이트 방법을 도시한다. 수직 검색 영역 502는 레퍼런스 데이터 중 매스데이터의 검색 영역이고, 수직 검색 영역 502 다음의 수직 검색 영역 504는 업데이트 데이터의 검색 영역이다.5 illustrates a data transmission and update method of the
캐쉬 제어부(204)는 슬라이스(slice)의 시작점에서, 가변 캐쉬 버퍼(206)에 저장되기로 선택된 레퍼런스 데이터로부터 매스데이터를 얻어 가변 캐쉬 버퍼(206)에 저장하고, 이때 매스데이터의 수직 검색 영역 502도 역시 캐쉬 제어부(204)에서 결정된다. 또한, 각각의 매크로블록의 시작점에서 2- 또는 4-버스트 × 씩은 가변 캐쉬 버퍼의 수직 범위 504에 업데이트된다. 는 캐쉬 버퍼에서의 수직 검색 영역이다. The
매크로블록의 데이터의 어드레스가 바뀌는 경우 데이터의 억세스 타임이 길어지므로, 데이터의 더욱 효율적인 호출을 위해 버스트 단위로 가변 캐쉬 버퍼의 수직 검색 영역 504에 업데이트 데이터를 미리 저장한다.When the address of the data of the macroblock is changed, the access time of the data becomes long, so that update data is stored in advance in the
도 6은 가변 캐쉬 버퍼(206)에서의 데이터 업데이트 방법을 도시한다.6 illustrates a data update method in the
예를 들면, 본 발명의 일 실시예에서 16바이트 × 3 크기의 캐쉬 버퍼를 복수 개로 사용한다면, 1번, 2번, 3번 매크로블록을 위한 캐쉬 버퍼의 수직 검색 영역 의 값은 각각 5, 5, 6 일 수 있다. 이는 대역폭 트래픽과, DRAM의 프로그램할 수 있는 버스트 길이로부터 야기되는 비효율성, 즉 1-, 2-, 3-버스트와 같이 작은 버스트로부터 오는 비효율성 문제를 감소시키기 위함이다.For example, in one embodiment of the present invention, if multiple cache buffers of
본 발명의 일 실시예에 따라 가변 캐쉬 버퍼(206)에 저장될 레퍼런스 데이터의 수량은 움직임 보상 장치(200)의 최대 대역폭를 이용하여 캐쉬 제어부(204)로부터 알아낸다. 또 다른 실시예서는, 움직임 보상 장치(200)의 저전력 설계를 위해 가변 캐쉬 버퍼(206)에 저장될 레퍼런스 데이터의 수량이 사용자에 의해 직접 제한될 수도 있다.According to an embodiment of the present invention, the quantity of reference data to be stored in the
캐쉬 제어부(204)의 작업이 완료되면, 움직임 보상 장치(200)는 이미 어느 레퍼런스 데이터와 어떤 범위의 데이터가 가변 캐쉬 버퍼(206)에 저장될지 파악한다. 버스 데이터(208)는 캐쉬 제어부(204)의 작업이 완료된 후에야 응답을 보일 수 있으므로, 가변 캐쉬 버퍼(206) 없이 움직임 보상 및 보간 처리를 하기는 어렵다. 더욱이 가중치가 있는 예측 또는 양방향 예측에서는 더 많은 처리 사이클이 소요된다. When the operation of the
본 발명의 바람직한 실시예는 캐쉬 확인부(212) 및 캐쉬 판독부(214)를 움직임 보상 처리 모듈과 분리한다. 그럼으로 인해, 움직임 보상 처리 모듈은 움직임 보상 장치(200)의 가변 캐쉬 버퍼(206)를 처음부터 끝까지 사용하여 움직임 보상 작업을 처리할 수 있으며 딜레이가 없다. The preferred embodiment of the present invention separates the
캐쉬 확인부(212)는 현재 블록의 움직임 보상을 위해 필요한 레퍼런스 데이터가 가변 캐쉬 버퍼(206) 또는 외부 메모리(210) 중 저장되어있는지 확인하고, 그 결과를 데이터 판독부(214)에 출력한다. 필요한 레퍼런스 데이터는 가변 캐쉬 버퍼(206), 외부 메모리(210) 중 어느 하나에 저장되어 있거나, 양 쪽 모두에 저장되어 있을 수도 있다. 캐쉬 확인부(212)는 필요한 레퍼런스 데이터의 위치를 파악하면서 모드, 움직임 벡터, 레퍼런스 데이터의 인덱스를 함께 확인한다.The
데이터 판독부(214)는 캐쉬 확인부(212)의 지시에 따라, 버스(208)를 통해 외부 메모리(210)에 억세스하거나, 가변 캐쉬 버퍼(206)에 억세스하거나, 외부 메모리(210)와 가변 캐쉬 버퍼(206) 모두에 억세스하여 데이트를 읽어올 수 있다. 움직임 보상 처리 모듈은 데이터 판독부가 읽어오는 데이터를 이용하여 움직임 보상 작업을 처리하게 된다.The
도 7은 본 발명의 일 실시예에 따른 대역폭 인식 움직임 보상 장치(200)의 방법의 흐름도를 도시한다.7 shows a flowchart of a method of the bandwidth aware
단계 702에서는, 움직임 보상을 위해 허용되는 최대 버스 대역폭을 결정한다.In
단계 704에서는, 단계 702에서 결정된 버스 대역폭에 기초하여 가변 캐쉬 버퍼에 저장될 레퍼런스 데이터의 수량 및 범위를 결정한다.In
단계 706에서는, 단계 704에서 결정된 정보에 따라 레퍼런스 데이터를 특정하고, 외부 메모리로부터 가변 캐쉬 버퍼로 레퍼런스 데이터를 전송하여 가변 캐쉬 버퍼에 저장하고 업데이트한다.In
단계 708에서는, 현재 블록의 움직임 보상을 위해 필요한 데이터가 가변 캐쉬 버퍼 또는 외부 메모리 중 어디에 위치하는 파악한다.In
단계 710에서는, 단계 708에서 파악된 대로 가변 캐쉬 버퍼 또는 외부 메모리 또는 양 쪽 모두에 억세스하여 움직임 보상을 수행할 데이터를 읽어온다.In
본 발명의 일 실시예는 H.264/AVC 레퍼런스 소프트웨어 JM10.2 코덱 및 움직임 보상 하드웨어 모듈이 사용된다. 매 30번째 프레임을 인트라 피리어드(period)로 사용하고, 4개의 레퍼런스 프레임과 3개의 B 프레임을 사용한다. DDR을 고려한 32비트 버스 및 64비트 버스 시스템 모두를 이용한다.One embodiment of the present invention uses the H.264 / AVC reference software JM10.2 codec and motion compensation hardware module. Every 30th frame is used as an intra period, and 4 reference frames and 3 B frames are used. Both 32-bit and 64-bit bus systems are considered for DDR.
1088-60p 환경 하의 움직임 보상의 판독 사이클의 60~80% 가량을 절감할 수 있다. DDR1-32비트 및 DDR2-64비트 시스템의 사용된 데이터 대역폭의 경우, I 및 P만을 가진 시퀀스에서 30~50%가 절감되고, I, P, B를 가진 시퀀스에서 50~80%가 각각 절감된다. 각 버스 데이터 비트 및 구조에서 프레임의 80% 이상은 가변 캐쉬 버퍼에 데이터가 저장되고, 캐쉬 제어부를 위해 더 많은 대역폭을 허용된다면 가변 캐쉬 버퍼에 데이터가 저장되는 확률을 더 높일 수 있다.It can save about 60 to 80% of the readout cycle of motion compensation under 1088-60p environment. The used data bandwidth of DDR1-32-bit and DDR2-64-bit systems saves 30-50% in sequences with I and P only and 50-80% in sequences with I, P, and B, respectively. . More than 80% of the frames in each bus data bit and structure are stored in the variable cache buffer, and if more bandwidth is allowed for the cache control, the probability of storing the data in the variable cache buffer can be increased.
본 발명의 바람직한 실시예는 MC 판독 사이클의 60~80%, 총 데이터 대역폭의 50~85%를 절감할 수 있다. 또한 상이한 최대 데이터 대역폭을 가진 다양한 시스템에서 적용될 수 있다. 가변 캐쉬 버퍼의 데이터 업데이트 과정이 일정한 패턴을 가지므로 버스의 호출 형태가 거의 정규화되어 있으므로, 종래 기법보다 가변 캐쉬 버퍼에 억세스하는 것이 훨씬 편하고, 데이터 버스 스케쥴링에 유용하다. Preferred embodiments of the present invention can save 60-80% of MC read cycles and 50-85% of total data bandwidth. It can also be applied in various systems with different maximum data bandwidths. Since the data update process of the variable cache buffer has a certain pattern, the calling form of the bus is almost normalized. Therefore, it is much more convenient to access the variable cache buffer than the conventional technique, and it is useful for data bus scheduling.
한편, 상술한 본 발명의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다.Meanwhile, the above-described embodiments of the present invention can be written as a program that can be executed in a computer, and can be implemented in a general-purpose digital computer that operates the program using a computer-readable recording medium.
상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등) 및 캐리어 웨이브(예를 들면, 인터넷을 통한 전송)와 같은 저장매체를 포함한다.The computer-readable recording medium may be a magnetic storage medium (for example, a ROM, a floppy disk, a hard disk, etc.), an optical reading medium (for example, a CD-ROM, a DVD, etc.) and a carrier wave (for example, the Internet). Storage medium).
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.So far I looked at the center of the preferred embodiment for the present invention. Those skilled in the art will appreciate that the present invention can be implemented in a modified form without departing from the essential features of the present invention. Therefore, the disclosed embodiments should be considered in descriptive sense only and not for purposes of limitation. The scope of the present invention is shown in the claims rather than the foregoing description, and all differences within the scope will be construed as being included in the present invention.
본 발명은, 압축 영상의 복호화기의 대역폭을 고려한 움직임 보상 장치 및 방법에 있어서, 움직임 보상을 수행하는데 필요한 대역폭을 고려하여 데이터의 이동 및 저장을 제어하는 움직임 보상 장치 및 방법을 제시한다. 특히 1920×1088 해상도의 초당 60 프레임의 전송 속도 이상의 HD급 환경의 복호화기를 지원하는 H.264/AVC를 위한 대역폭 인식 움직임 보상 장치 및 방법을 제시한다.The present invention provides a motion compensation apparatus and method for controlling a movement and storage of data in consideration of a bandwidth required for performing motion compensation in a motion compensation apparatus and method considering a bandwidth of a decoder of a compressed image. In particular, the present invention proposes a bandwidth-aware motion compensation apparatus and method for H.264 / AVC that supports a decoder in a HD class environment with a transmission speed of 60 frames per second at 1920 × 1088 resolution.
이 하드웨어 모듈은 DDR1-32bits 및 DDR2-64bits 시스템 모두에서 움직임 보상의 데이터 판독 사이클의 60~80%를 절감할 수 있다. 그리고, 또한 'IBBBP' 구조의 시퀀스에서 데이터 대역폭의 50~85%를, 'IPPPP' 시퀀스에서 30~50%를 절감하는 효과를 가진다. 이러한 차이는 'IPPPP' 시퀀스가 'IBBBP' 시퀀스의 경우에 비해 상대적으로 더 적게 버스를 억세스하기 때문에 발생한다.This hardware module can save 60-80% of the data read cycle of motion compensation in both DDR1-32bits and DDR2-64bits systems. In addition, it has the effect of reducing 50 to 85% of the data bandwidth in the sequence of the 'IBBBP' structure, and 30 to 50% in the 'IPPPP' sequence. This difference occurs because the 'IPPPP' sequence has relatively fewer buses to access than the 'IBBBP' sequence.
움직임 보상 모듈이 이용할 수 있는 최대 버스 대역폭을 파악함으로써 가변 캐쉬 버퍼의 수량과 범위를 제어할 수 있으므로, 본 발명의 실시예는 다양한 시스템에 적용될 수 있다. 1088-60p 환경 하의 266MHz의 데이터 대역폭 이하로 작동하는 시스템을 만들 수도 있다. 대역폭 인식 움직임 보상 장치는 버스 대역폭과 판독 사이클 모두를 절감하고 HD급 1088-60p 이상의 환경에서도 실시간으로 수행하는 효과가 있다.Since the number and range of the variable cache buffers can be controlled by identifying the maximum bus bandwidth that the motion compensation module can use, embodiments of the present invention can be applied to various systems. It is also possible to build a system that operates under 266MHz data bandwidth in a 1088-60p environment. Bandwidth-aware motion compensation can reduce both bus bandwidth and read cycles and perform in real time even in HD-grade 1088-60p and higher environments.
Claims (5)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US90741807P | 2007-04-02 | 2007-04-02 | |
US60/907,418 | 2007-04-02 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20080090238A KR20080090238A (en) | 2008-10-08 |
KR100891116B1 true KR100891116B1 (en) | 2009-03-30 |
Family
ID=40174726
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020070052222A KR100891116B1 (en) | 2007-04-02 | 2007-05-29 | Apparatus and method for bandwidth aware motion compensation |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100891116B1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8837843B2 (en) | 2011-03-17 | 2014-09-16 | Samsung Electronics Co., Ltd. | Motion estimation device to manage encoding time and associated method |
WO2019245612A1 (en) * | 2018-06-19 | 2019-12-26 | Western Digital Technologies, Inc. | Balanced caching |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103729449B (en) * | 2013-12-31 | 2017-02-15 | 上海富瀚微电子股份有限公司 | Reference data access management method and device |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20030008999A (en) * | 2001-07-21 | 2003-01-29 | 삼성전자 주식회사 | Method for managing bandwidth of serial bus and apparatus thereof |
-
2007
- 2007-05-29 KR KR1020070052222A patent/KR100891116B1/en active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20030008999A (en) * | 2001-07-21 | 2003-01-29 | 삼성전자 주식회사 | Method for managing bandwidth of serial bus and apparatus thereof |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8837843B2 (en) | 2011-03-17 | 2014-09-16 | Samsung Electronics Co., Ltd. | Motion estimation device to manage encoding time and associated method |
US9319676B2 (en) | 2011-03-17 | 2016-04-19 | Samsung Electronics Co., Ltd. | Motion estimator and system on chip comprising the same |
WO2019245612A1 (en) * | 2018-06-19 | 2019-12-26 | Western Digital Technologies, Inc. | Balanced caching |
US11188474B2 (en) | 2018-06-19 | 2021-11-30 | Western Digital Technologies, Inc. | Balanced caching between a cache and a non-volatile memory based on rates corresponding to the cache and the non-volatile memory |
Also Published As
Publication number | Publication date |
---|---|
KR20080090238A (en) | 2008-10-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8175157B2 (en) | Apparatus and method for controlling data write/read in image processing system | |
US8442107B2 (en) | Memory mapping apparatus and method for video decoder/encoder | |
KR101177666B1 (en) | Intelligent decoded picture buffering | |
JP5724038B2 (en) | Adaptive setting of reference frame buffer based on camera and background movement | |
KR100772379B1 (en) | External memory device, method for storing image date thereof, apparatus for processing image using the same | |
US8400460B2 (en) | Image data processing method, program for image data processing method, recording medium with recorded program for image data processing method and image date processing device | |
US8577165B2 (en) | Method and apparatus for bandwidth-reduced image encoding and decoding | |
JP2014123830A (en) | Moving image compression/expansion device | |
US20080259089A1 (en) | Apparatus and method for performing motion compensation by macro block unit while decoding compressed motion picture | |
JP2011120244A (en) | System for processing images | |
KR100891116B1 (en) | Apparatus and method for bandwidth aware motion compensation | |
KR20050078706A (en) | Memory access method and memory access device | |
JP4675383B2 (en) | Image decoding apparatus and method, and image encoding apparatus | |
CN116233453B (en) | Video coding method and device | |
US9363523B2 (en) | Method and apparatus for multi-core video decoder | |
WO2022206217A1 (en) | Method and apparatus for performing image processing in video encoder, and medium and system | |
KR101419378B1 (en) | System for Video Processing | |
US8908777B2 (en) | Memory request ordering for a motion compensation process, implemented by a picture processing apparatus, a picture processing method, and a picture processing program | |
JP2003230148A (en) | Image data coding unit | |
CN106686380B (en) | Enhanced data processing apparatus employing multi-block based pipeline and method of operation | |
US20030123555A1 (en) | Video decoding system and memory interface apparatus | |
JP2009130599A (en) | Moving picture decoder | |
WO2022206199A1 (en) | Method and apparatus for performing image processing in video decoding apparatus, and system | |
KR20070034870A (en) | Image data storage device for motion estimation and data storage method | |
KR100821922B1 (en) | Local memory controller for mpeg decoder |
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: 20130227 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20140227 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20150226 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20160226 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20170224 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20180227 Year of fee payment: 10 |
|
FPAY | Annual fee payment |
Payment date: 20190227 Year of fee payment: 11 |
|
FPAY | Annual fee payment |
Payment date: 20200227 Year of fee payment: 12 |