KR100842557B1 - 동영상 처리 장치에서 메모리 액세스 방법 - Google Patents

동영상 처리 장치에서 메모리 액세스 방법 Download PDF

Info

Publication number
KR100842557B1
KR100842557B1 KR1020060102300A KR20060102300A KR100842557B1 KR 100842557 B1 KR100842557 B1 KR 100842557B1 KR 1020060102300 A KR1020060102300 A KR 1020060102300A KR 20060102300 A KR20060102300 A KR 20060102300A KR 100842557 B1 KR100842557 B1 KR 100842557B1
Authority
KR
South Korea
Prior art keywords
block
memory
pixels
pixel
interpolation
Prior art date
Application number
KR1020060102300A
Other languages
English (en)
Other versions
KR20080035794A (ko
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 KR1020060102300A priority Critical patent/KR100842557B1/ko
Priority to CN200710180899XA priority patent/CN101166277B/zh
Priority to US11/975,818 priority patent/US8036269B2/en
Priority to EP07118949A priority patent/EP1919221B1/en
Publication of KR20080035794A publication Critical patent/KR20080035794A/ko
Application granted granted Critical
Publication of KR100842557B1 publication Critical patent/KR100842557B1/ko

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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
    • 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/423Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

본 발명은 외부 메모리의 프레임 버퍼로부터 데이터를 로드하여 모션 예측 기법을 사용하는 동영상 처리 장치에서 메모리 액세스 방법에 있어서, 매크로 블록을 분할하여 8x8 블록의 인터 예측 수행시, 해당 8x8의 블록 픽셀 및 예측에 필요한 여분의 픽셀 데이터를 프레임 버퍼로부터 로드하여 내부 캐시 메모리에 저장하여 사용하는 과정과, 8x8 블록 및 이의 서브 블록들의 인터 예측시에 개시 메모리에 저장된 픽셀 데이터를 재사용하는 과정을 수행한다.
모션, 예측, 보간, 수직, 메모리, 픽셀

Description

동영상 처리 장치에서 메모리 액세스 방법{METHOD FOR ACCESSING MEMORY IN MOVING PICTURE PROCESSING DEVICE}
도 1은 일반적인 동영상 처리시 4x4 휘도 인터 예측을 위해 필요한 픽셀들을 나타낸 도면
도 2는 일반적인 동영상 처리시 4x4 휘도 인터 예측을 위한 반 픽셀 및 사분 픽셀의 생성 방식을 설명하기 위한 도면
도 3은 일반적인 동영상 처리시 4x4 휘도 예측을 위해 필요한 독출 픽셀들을 나타낸 도면
도 4는 도 3의 휘도 예측시 6탭 필터를 이용한 수직 보간 픽셀의 생성 방식을 나타낸 도면
도 5는 본 발명의 일 실시예에 따른 동영상 처리시 4x4 휘도 인터 예측을 위한 픽셀의 범위를 나타낸 도면
도 6은 본 발명의 일 실시예에 따른 동영상 처리시 4x4 휘도 인터 예측을 위한 보간 픽셀의 생성 방식을 나타낸 도면
도 7은 본 발명이 적용되는 동영상 처리 장치의 블록 구성도
본 발명은 H.264 및 MPEG-4와 같은 동영상의 영상처리 분야에 관한 것으로, 특히 모션 추청(motion estimation) 및 모션 보상(motion compensation) 기법을 사용하는 동영상 처리 장치에서 영상 처리를 위한 메모리 액세스 방법에 관한 것이다.
H.264 또는 MPEG-4 AVC는 국제 표준화 기구인 ISO/IEC MPEG 및 ITU-T VCEG의 협력 프로젝트인 JVT(Joint Video Team)에서 제정한 표준기술이다. 이는 코딩 효율을 높이기 위해 기존의 코딩 방식과는 다른 개선된 기술들이 제공되었는데, 대표적인 것으로 가변 블록(flexible block size)을 이용한 인트라 예측(intra prediction), 인루프 디블록킹 필터(in loop de-blocking filter), 사분 픽셀 모션 보상(quarter-pixel motion compensation) 등의 코딩 툴(coding tool)을 들 수 있다.
이러한 코덱(codec)을 실시간으로 구현하기 위해서는 수행 사이클(cycle) 수를 줄일 뿐만 아니라 메모리 액세스(memory access) 수를 최소화 하는 것이 필요하다. 대부분의 비디오 코덱의 프레임 저장용 참조 버퍼(reference buffer)는 외부 메모리(external memory)에 위치하므로 상대적으로 많은 액세스 시간이 요구된다. 하기 표 1은 H.264 디코더 내의 각 기능 모듈에서 상대적인 메모리 액세스 비율을 나타내고 있다.
Figure 112006075852052-pat00001
(W : Width, H : Height)
상기 표 1에서 보는 바와 같이, 메모리 액세스의 대부분은 모션 보상(Motion Compensation) 부분에서 발생함을 알 수 있다. 특히, 모바일(mobile) 환경에서는 인트라 예측(intra prediction)(I-MB)보다는 인터 예측(inter prediction)의 비율이 증가함으로 이 부분의 메모리 액세스를 줄임으로서, 효율적인 디코더를 구현하기 위한 방안이 요구된다.
H.264에서는 트리 구조의 모션 보상(Tree structured motion compensation) 구조를 가지므로 하나의 매크로 블록을 픽셀단위로 16x16, 16x8, 8x16, 8x8로 나누어, 각각 모션 벡터를 구하여 시간상으로 영상 값을 예측한다. 특히 8x8 크기의 블록은 다시 서브 매크로 블록(sub Macro Block)인 8x4, 4x8, 4x4 크기로 나누어 세밀한 움직임도 정확히 감지하도록 한다. 이때 반 픽셀(half pixel) 또는 사분 픽셀(quarter pixel)을 구하여 기본 영상을 2배 또는 4배 등으로 확대한 후에 모션 예측을 수행할 수 있다. 이와 같은 영상 확대를 위하여 H.264에서는 6탭 필터(예를 들어 6-tap FIR filter)를 사용하여 참조 프레임에서 픽셀을 가져와서 예측을 수행한다.
도 1은 일반적인 동영상 처리시 4x4 휘도 인터 예측을 위해 필요한 픽셀들을 나타낸 도면이다. 도 1을 참조하면, 4x4 블록의 경우 6탭 필터를 사용하여 반 픽셀 또는 사분 픽셀 등의 보간 픽셀을 구하기 위해서는 4x4 블록의 픽셀들 외에 해당 블록의 상 하, 좌우에 인접한 각각 2열/행 또는 3열/행의 픽셀들의 추가로 더 필요하게 된다.
예를 들어, 도 1에서서 A0, A1 픽셀 사이의 수직 방향으로 보간된 반 픽셀(A0' 보간 픽셀)을 구하기 것(수직 보간)은, 6탭 필터를 사용할 경우, A_2, A_1, A0, A1, A2, A3 픽셀을 이용한다. 이때 보간에 참여하는 각 픽셀들은 가중치(즉, 6탭 필터에 탭 값)가 부여된다. 각 탭 값은 통상 1, -5, 20, 20, -5, 1로 설정된다. 물론 보간에 참여하는 각 픽셀들의 개수 및 이들에 부여되는 탭 값은 다양하게 설정될 수 있다. 하기 수학식 1에는 이러한 6탭 필터를 이용하여 A0' 반 픽셀의 값을 구하는 방식이 개시되어 있다.
A0' = (1*A_2 -5*A_1 +20*A0 +20*A1 -5*A2 +1*A3)/32
상기 수학식 1에서와 같이 A0' 보간 픽셀은 각각 적절한 가중치가 부여된 A_2, A_1, A0, A1, A2, A3 픽셀들을 더하여 평균한 값으로 볼 수 있다.
그런데, 이와 같이, 인터 예측 동작시에 각 프레임을 저장용 참조 버퍼가 외부 메모리에 존재하므로, 필요한 픽셀의 데이터 바이트(byte)를 내부 CPU 캐시 메모리인 L1, L2 메모리로 로드(load)하여야 한다. 이때 하나의 매크로 블록(16x16)의 인터 예측을 수행할 경우에 최악의 경우 4x4 블록이 16개 존재함으로 총 9*9*16 = 1296 바이트의 블록을 읽어 와야 한다.
또한, 수직 보간의 경우, L2, L1 메모리에 로드된 데이터에서 필터링을 수행해야 하는데, 메모리 배열이 연속적이지 않기 때문에 메모리 액세스 횟수가 증가한다. 즉 4x4 블록인 경우 6번의 로드로 하나의 보간 픽셀이 만들어지는데, 대부분의 CPU 레지스터(register)는 레지스터 수가 20여개여서 최대 20바이트 이상 로드할 수 없으며, 수직 보간에 필요한 전체 바이트는 9*4 = 36 바이트이므로, 이를 레지스터에 로드하여 필터링하고자 할 때 2번의 재 로드가 이루어져야 한다. 이는 레지스터가 다른 인스트럭션 등을 위해 사용되는 경우를 고려할 경우에 더욱 많은 재 로드가 필요하게 된다.
따라서, 본 발명의 목적은 모션 보상시 보다 효율적인 연산 성능을 가질 수 있도록 하기 위한 동영상 처리 장치에서 메모리 액세스 방법을 제공함에 있다.
상기한 목적을 달성하기 위하여 본 발명은 외부 메모리의 프레임 버퍼로부터 데이터를 로드하여 모션 예측 기법을 사용하는 동영상 처리 장치에서 메모리 액세스 방법에 있어서, 매크로 블록을 분할하여 8x8 블록의 인터 예측 수행시, 해당 8x8의 블록 픽셀 및 예측에 필요한 여분의 픽셀 데이터를 상기 프레임 버퍼로부터 로드하여 내부 캐시 메모리에 저장하여 사용하는 과정과, 상기 8x8 블록 및 이의 서브 블록들의 인터 예측시에 상기 개시 메모리에 저장된 픽셀 데이터를 재사용하는 과정을 포함함을 특징으로 하는 메모리 액세스 방법.
이하 본 발명에 따른 바람직한 실시예를 첨부한 도면을 참조하여 상세히 설명한다. 하기 설명에서는 구체적인 구성 소자 등과 같은 특정 사항들이 나타나고 있는데 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐 이러한 특정 사항들이 본 발명의 범위 내에서 소정의 변형이나 혹은 변경이 이루어질 수 있음은 이 기술분야에서 통상의 지식을 가진 자에게는 자명하다 할 것이다.
도 2는 일반적인 동영상 처리시 4x4 휘도 인터 예측을 위한 반 픽셀 및 사분 픽셀의 생성 방식을 설명하기 위한 도면이다. 먼저 도 2 이하를 참조하여 일반적인 기술에 대해 보다 상세히 설명하면, 먼저 도 2에 도시된 바와 같이, 6탭 필터를 사용하여 반 픽셀, 사분 픽셀 보간을 수행할 경우에, 먼저 반 픽셀(예를 들어, b, h, j, m, s 등) 보간을 수평(horizontal) 및 수직(vertical) 방향으로 수행한 후, 모션 벡터에 맞게 사분 픽셀(a, c, d, e, f, g, I, k 등)을 생성한다.
도 3은 일반적인 동영상 처리시 4x4 휘도 예측을 위해 필요한 독출 픽셀들을 나타낸 도면이다. 도 3에 도시된 바와 같이, 하나의 4x4 블록의 픽셀 보간을 위해서는, 원래의 4x4 블록의 픽셀 외에, 추가 픽셀들 및 추가 픽셀들의 로딩시에 덧붙여져 로딩되는 픽셀들을 포함하여 9x9 블록의 픽셀이 독출됨을 알 수 있다. 종래에서는 이러한 9x9 블록의 픽셀은 해당 4x4 블록의 처리시마다 외부 메모리에서 로드되어 L2 메모리에 저장된 후 처리된다. 이에 따라 외부 메모리에서 로드되는 데이터는 총 9*9*4 = 324 바이트임을 알 수 있다.
도 4는 도 3의 휘도 예측시 6탭 필터를 이용한 수직 보간 픽셀의 생성 방식 을 나타낸 도면이다. 도 4를 참조하면, L2 메모리에 상기와 같이 저장된 9x9 블록에서 수평 방향의 데이터를 레지스터에 로드할 경우에는 메모리 스트라이드(stride)가 연속적이므로 CPU(또는 DSP)에서 로드를 워드(word) 단위로 수행한 후 MAC(Multiply and Accumulate) 연산을 수행할 수 있다.
그러나 수직 방향의 데이터를 로드할 경우에는 스트라이드 만큼씩 메모리 주소를 이동시켜 한 바이트 단위로 읽어들여 MAC 연산을 수행하여야 한다. 따라서 이를 위해서 산술적으로 4x4 블록일 경우 4x9 = 36번의 메모리 액세스를 수행이 필요함을 알 수 있다. 실제적으로는 도 4에 도시된 바와 같이, 6*4*4 = 96 번의 L2 메모리 액세스를 통해 이를 수행한다. 또한 해당 계산 결과로 발생한 4x4 보간 픽셀을 외부 메모리에 저장하기 위해서는 총 4*4 = 16번의 동작이 필요하게 된다.
이러한 수직 방향의 픽셀 보간 방식은 기본적으로 L2 메모리로부터 6번의 로드 동작을 수행한 후 MAC 연산이 이루어지므로 사이클당 MAC 연산수가 감소하여 시스템 성능 저하를 가져오게 된다. 따라서, 본 발명에서는 본 발명은 휘도 인터 예측시 외부 메모리의 액세스 횟수를 최소화 하는 동시에 수직 방향의 보간 픽셀 생성시 L2 메모리로부터 비연속적인 바이트를 읽어 필터링을 계산한 후 외부 메모리에 저장하는 전형적인 인터 예측 수행 방법을 변경하여 최소의 메모리 액세스 회수가 가능하도록 하여 H.264 디코더의 실시간 구현을 용이하도록 한다. 이하 첨부 도면을 참조하여 이를 보다 상세히 설명하기로 한다.
도 5는 본 발명의 일 실시예에 따른 동영상 처리시 4x4 휘도 인터 예측을 위한 독출 픽셀의 범위를 나타낸 도면이다. 도 5를 참조하면, 본 발명에서는 인터 예 측 수행시 16x16, 8x16, 16x8 블록의 인터 예측을 수행한 후 8x8 블록을 수행할 때 8x8의 블록 픽셀뿐만 아니라 여분(즉 도 5에 도시된 바와 같이 13x13 바이트의 픽셀 데이터)의 픽셀 데이터를 내부 캐시 메모리 즉 L2 메모리에 로드한다. 또한 이와 같이 로드한 데이터를 로드하여 8x4, 4x8, 4x4 블록의 인터 예측시에 재사용한다. 이에 따라 본 발명에서는 8x8 블록 및 이의 서브 블록들의 인터 예측을 위해 미리 총 13*13 = 169 바이트의 데이터만 외부 메모리의 프레임 버퍼로부터 로드하여 사용하게 된다. 도 5에 도시된 바와 같이, 본 발명에서는 하나의 8x8 블록의 인터 예측을 위해서는, 원래의 8x8 블록의 픽셀 외에, 추가 픽셀들 및 추가 픽셀들의 로딩시에 덧붙여져 로딩되는 픽셀들을 포함하여 13x13 블록의 픽셀이 독출되며, 이들 중에서 8x8 블록의 픽셀 중에서 4x4 블록별 인터 예측시에 다수의 픽셀들이 재사용됨을 알 수 있다.
인터 예측 모드인 경우 트리 구조로 16x16, 8x16, 16x8, 8x8 블록의 인터 예측을 수행 할 때, 8x8 블록인 경우 4x8, 8x4, 4x4의 3개의 서브 블록에 대한 인터 예측 모드가 존재한다. 기존의 방식은 트리 구조 그대로 7개의 모드를 디코더가 수신한 후 보간 동작을 수행하였다. 이때, 본 발명은 도 4에 도시된 바와 같은 8x8 블록 이하에 대한 4개의 모드시에 각각 독립적으로 외부의 프레임 버퍼로부터 해당 블록의 픽셀 데이터를 읽어오는 기존의 방식보다 8x8의 블록 및 여분의 픽셀 데이터를 로드함으로, 보간 동작시에 약 49%의 데이터 로드 작업을 줄이게 된다.
도 6은 본 발명의 일 실시예에 따른 동영상 처리시 4x4 휘도 인터 예측을 위한 보간 픽셀의 생성 방식을 나타낸 도면이다. 도 6을 참조하면, 본 발명에서는 수 직 보간을 수행할 경우에, 상기 도 5에 도시된 바와 같은 방식으로 L2 메모리에 로드된 13x13 블록 픽셀 데이터에서 해당 4x4 블록 픽셀 및 이들의 추가 픽셀들에서 세로 열 픽셀들을 L2 메모리로부터 바이트 단위로 로드하여 FIR 필터를 구현하는 방식을 수행하지 않고, 필터의 계수(coefficient)를 분리하여 워드 단위로 로드 후 패킹하여 동시에 작업할 수 있도록 한다.
즉, 본 발명에서는 도 6에 도시된 바와 같이, L2 메모리가 연속적인 부분을 레지스터로 워드 단위(즉 4바이트 단위)로 읽어 들인 후 레지스터의 바이트간간 팩킹(packing) 작업을 통해, 첫번째 로드 워드를 레지스터 %r0, 두 번째를 %r1 등에 읽어 오며, 이들을 상기 도 1에 도시된 바와 같은 각 바이트간 가중치를 가하여 다음과 같은 순서로 결과를 누적한다.
보간된 첫 번째 세로 픽셀 = %r0 -5x%r1 +20x%r2 +20x%r3 -5x%r4 +%r5
이러한 작업을 통해 처음 6번째의 워드를 6개의 레지스터에 차례대로 로드하여 레지스터간 패킹 작업을 거치면, 그 결과로 발생하는 4바이트의 순차적인 데이터들 중 각각의 바이트는 4x4 보간 픽셀 중 첫 번째 행의 4 픽셀 각각에 해당하게 된다. 즉, L2 메모리로부터 6번의 로드 후 4개의 보간 픽셀을 동시에 생성하며, 이에 따라 이러한 작업을 4번 더 수행하여 4x4 보간 픽셀들을 모두 생성하게 된다. 이와 같이, 생성된 4x4 보간 픽셀들은 워드 단위로 총 4번의 작업을 통해 외부 메모리의 프레임 버퍼에 저장될 수 있게 된다.
도 7은 본 발명이 적용되는 동영상 처리 장치의 블록 구성도로서, H.264 디코드의 구성을 개략적으로 도시하였다. 도 7을 참조하면, 디코더 장치는 인코더 장 치에서 부호화 절차의 역순의 절차를 수행하도록 구성되는데, 먼저, 엔트로피 복호화 모듈(111)은 비디오 코딩 계층(VCL: Video Coding Layer) NAL(Network Abstraction Layer)의 비트스트림을 매크로 블록 단위로 엔트로피 디코딩한다. VCL NAL에서 하나의 프레임은 여러 개의 슬라이스로 구분되며, 하나의 슬라이스는 슬라이스(slice) 헤더와 데이터(data) 필드로 이루어지고, 각 슬라이스 데이터는 적어도 하나 이상의 여러 개의 매크로 블록으로 이루어질 수 있다.
역양자화 및 역변환 모듈(113)은 엔트로피 디코딩된 데이터를 부호화시에 예를 들어 양자화된 이산 코사인 변환(DCT: Discrete Cosine Transform) 계수를 역양자화하여 복원하며, 또한 부호화시에 이산 코사인 변환된 데이터를 원래의 데이터로 변환한다. 변환된 데이터는 예측모듈(115)로 제공되며 데이터 버스(100)를 통해 메모리(119)에 저장된다.
예측모듈(115)은 본 발명의 특징에 따라 입력된 매크로 블록에 대해 인트라 예측 또는 인터 예측 모드에 따라 모션 예측 및 모션 보상을 수행하여 현재 매크로 블록에 대한 원본 영상을 복원한다. 복원된 결과는 디블록킹 필터 모듈(117)로 제공되며, 또한 데이터 버스(100)를 통해 외부 메모리(119)의 프레임 버퍼에 저장된다. 이러한 예측 모들은 인트라 예측 및 인터 예측을 수행하며, 본 발명의 특징에 따른 휘도 인터 예측 동작을 수행하게 된다.
디블록킹 필터 모듈(117)은 복원 영상에 대하여 각 블록들간의 블록킹 효과를 제거하기 위하여 디블록킹 필터링을 수행하고, 디블록킹 필터링 결과는 후단으로 출력되는 동시에 외부 메모리(119)에 저장된다.
상기와 같이 본 발명의 일 실시예에 따른 동영상 처리 장치에서 메모리 액세스 동작이 이루어질 수 있으며, 한편 상기한 본 발명의 설명에서는 구체적인 실시예에 관해 설명하였으나 여러 가지 변형이 본 발명의 범위를 벗어나지 않고 실시될 수 있다. 따라서 본 발명의 범위는 설명된 실시예에 의하여 정할 것이 아니고 청구범위와 청구범위의 균등한 것에 의하여 정하여져야 할 것이다.
상기한 바와 같이, 본 발명에 따른 동영상 처리 장치에서 메모리 액세스 방식은 모션 보상 동작시 최소의 메모리 액세스 회수가 가능하도록 하여, 보다 효율적인 연산 성능을 가질 수 있도록 함으로, H.264 디코더의 실시간 구현을 용이하도록 할 수 있다.

Claims (6)

  1. 외부 메모리의 프레임 버퍼로부터 데이터를 로드하여 모션 예측 기법을 사용하는 동영상 처리 장치에서 메모리 액세스 방법에 있어서,
    매크로 블록을 분할하여 8x8 블록의 인터 예측 수행시, 해당 8x8의 블록 픽셀 및 상기 8x8 블록 주변의 미리 설정된 부위의 픽셀 데이터를 상기 프레임 버퍼로부터 로드하여 내부 캐시 메모리에 저장하여 사용하는 과정과,
    상기 8x8 블록 및 이의 서브 블록들의 인터 예측시에 상기 캐시 메모리에 저장된 픽셀 데이터를 재사용하는 과정을 포함함을 특징으로 하는 메모리 액세스 방법.
  2. 제1항에 있어서, 상기 8x8 블록의 서브 블록 중 4x4 블록의 인터 예측 중 수직 보간의 수행시에,
    상기 캐시 메모리에 저장된 해당 4x4 블록 픽셀 및 수직 보간을 위한 이들의 추가 픽셀들에서 메모리가 연속적인 부분을 레지스터들로 각각 4바이트의 워드 단위로 미리 설정된 범위만큼 읽어 들인 후, 레지스터들의 바이트간간 팩킹(packing) 작업을 수행하여, 4x4 보간 픽셀 중 한 행의 4개의 보간 픽셀을 동시에 생성함을 특징으로 하는 메모리 액세스 방법.
  3. 제2항에 있어서, 상기 캐시 메모리에 저장된 해당 4x4 블록 픽셀 및 수직 보간을 위한 이들의 추가 픽셀들에서 메모리가 연속적인 부분을 레지스터로 4바이트의 워드 단위로 미리 설정된 범위만큼 읽어 들이는 것은 첫번째 로드 워드를 레지스터 %r0, 두 번째를 %r1, 세 번째를 %r2, 네 번째를 %r3, 다섯 번째를 %r4, 여섯 번째를 %r5에 읽어오는 것이며,
    상기 레지스터들 바이트간간 팩킹 작업은 '%r0 -5x%r1 +20x%r2 +20x%r3 -5x%r4 +%r5'로 수행함을 특징으로 하는 메모리 액세스 방법.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서, 상기 8x8의 블록 픽셀 및 상기 8x8 블록 주변의 미리 설정된 부위의 픽셀 데이터는 13x13 블록의 픽셀 데이터임을 특징으로 하는 메모리 액세스 방법.
  5. 외부 메모리의 프레임 버퍼로부터 데이터를 내부 캐시 메모리에 로드하여 모션 예측 기법을 사용하는 동영상 처리 장치에서 메모리 액세스 방법에 있어서,
    매크로 블록을 분할하여 4x4 블록의 인터 예측 수행시, 최소한 해당 4x4의 블록 픽셀 및 상기 4x4 블록 주변의 미리 설정된 부의의 픽셀 데이터를 미리 상기 프레임 버퍼로부터 로드하여 내부 캐시 메모리에 저장하여 사용하는 과정과,
    상기 캐시 메모리에 저장된 해당 4x4 블록 픽셀 및 수직 보간을 위한 이들의 추가 픽셀들에서 메모리가 연속적인 부분을 레지스터들로 각각 4바이트의 워드 단위로 미리 설정된 범위만큼 읽어 들이는 과정과,
    상기 레지스터들의 바이트간간 팩킹(packing) 작업을 수행하여, 4x4 보간 픽셀 중 한 행의 4개의 보간 픽셀을 동시에 생성함을 특징으로 하는 메모리 액세스 방법.
  6. 제5항에 있어서, 상기 캐시 메모리에 저장된 해당 4x4 블록 픽셀 및 수직 보간을 위한 이들의 추가 픽셀들에서 메모리가 연속적인 부분을 레지스터로 4바이트의 워드 단위로 미리 설정된 범위만큼 읽어 들이는 것은 첫번째 로드 워드를 레지스터 %r0, 두 번째를 %r1, 세 번째를 %r2, 네 번째를 %r3, 다섯 번째를 %r4, 여섯 번째를 %r5에 읽어오는 것이며,
    상기 레지스터들 바이트간간 팩킹 작업은 '%r0 -5x%r1 +20x%r2 +20x%r3 -5x%r4 +%r5'로 수행함을 특징으로 하는 메모리 액세스 방법.
KR1020060102300A 2006-10-20 2006-10-20 동영상 처리 장치에서 메모리 액세스 방법 KR100842557B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020060102300A KR100842557B1 (ko) 2006-10-20 2006-10-20 동영상 처리 장치에서 메모리 액세스 방법
CN200710180899XA CN101166277B (zh) 2006-10-20 2007-10-19 在用于处理运动图像的设备中访问存储器的方法
US11/975,818 US8036269B2 (en) 2006-10-20 2007-10-22 Method for accessing memory in apparatus for processing moving pictures
EP07118949A EP1919221B1 (en) 2006-10-20 2007-10-22 Method for accessing memory in apparatus for processing moving pictures

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060102300A KR100842557B1 (ko) 2006-10-20 2006-10-20 동영상 처리 장치에서 메모리 액세스 방법

Publications (2)

Publication Number Publication Date
KR20080035794A KR20080035794A (ko) 2008-04-24
KR100842557B1 true KR100842557B1 (ko) 2008-07-01

Family

ID=39190362

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060102300A KR100842557B1 (ko) 2006-10-20 2006-10-20 동영상 처리 장치에서 메모리 액세스 방법

Country Status (4)

Country Link
US (1) US8036269B2 (ko)
EP (1) EP1919221B1 (ko)
KR (1) KR100842557B1 (ko)
CN (1) CN101166277B (ko)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090119454A1 (en) * 2005-07-28 2009-05-07 Stephen John Brooks Method and Apparatus for Video Motion Process Optimization Using a Hierarchical Cache
US8045819B1 (en) * 2007-11-01 2011-10-25 Altera Corporation Efficient implementation of mirror-mode edge handling in image filtering
NO330275B1 (no) 2008-12-19 2011-03-21 Tandberg Telecom As Fremgangsmate i en videokodings-/-dekodingsprosess
KR101341993B1 (ko) * 2010-10-06 2013-12-16 에스케이텔레콤 주식회사 고정밀 필터를 이용한 영상 부호화/복호화 방법 및 장치
CN102625093B (zh) * 2011-01-27 2015-02-04 联合信源数字音视频技术(北京)有限公司 一种基于avs的帧间预测方法
JP5682454B2 (ja) * 2011-05-30 2015-03-11 株式会社Jvcケンウッド 映像処理装置及び補間フレーム生成方法
WO2014104520A1 (ko) * 2012-12-27 2014-07-03 전자부품연구원 변환 방법, 연산 방법 및 이를 적용한 hevc 시스템
JP2016059015A (ja) * 2014-09-12 2016-04-21 株式会社東芝 画像出力装置
MY183484A (en) 2015-06-03 2021-02-20 Mediatek Inc Method and apparatus for resource sharing between intra block copy mode and inter prediction mode in video coding systems
CN105072447B (zh) * 2015-07-17 2018-03-27 福州瑞芯微电子股份有限公司 一种用于vp9解码器运动矢量预测的方法和装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020082536A (ko) * 2001-04-24 2002-10-31 주식회사 하이닉스반도체 영상 압축 움직임 추정 방법
KR20050117728A (ko) * 2004-06-11 2005-12-15 삼성전자주식회사 움직임 예측 방법 및 그 장치

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6757330B1 (en) * 2000-06-01 2004-06-29 Hewlett-Packard Development Company, L.P. Efficient implementation of half-pixel motion prediction
US7266150B2 (en) * 2001-07-11 2007-09-04 Dolby Laboratories, Inc. Interpolation of video compression frames
KR200282536Y1 (ko) 2002-04-29 2002-07-22 (주)덕원테크 컵라면자동판매기
CN101039424B (zh) * 2002-07-15 2010-05-26 株式会社日立制作所 动态图像编码方法
KR20050078706A (ko) * 2004-01-31 2005-08-08 삼성전자주식회사 메모리 액세스 방법 및 메모리 액세스 장치
US7720148B2 (en) * 2004-03-26 2010-05-18 The Hong Kong University Of Science And Technology Efficient multi-frame motion estimation for video compression
US20060227880A1 (en) * 2004-06-18 2006-10-12 Stephen Gordon Reducing motion compensation memory bandwidth through filter utilization
US8514944B2 (en) * 2004-06-18 2013-08-20 Broadcom Corporation Reducing motion compensation memory bandwidth through memory utilization
US20050286777A1 (en) * 2004-06-27 2005-12-29 Roger Kumar Encoding and decoding images
CN1286323C (zh) * 2004-08-05 2006-11-22 联合信源数字音视频技术(北京)有限公司 帧场视频解码中运动矢量存取的控制装置及其方法
US7720154B2 (en) * 2004-11-12 2010-05-18 Industrial Technology Research Institute System and method for fast variable-size motion estimation
KR100772873B1 (ko) * 2006-01-12 2007-11-02 삼성전자주식회사 스무딩 예측을 이용한 다계층 기반의 비디오 인코딩 방법,디코딩 방법, 비디오 인코더 및 비디오 디코더

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020082536A (ko) * 2001-04-24 2002-10-31 주식회사 하이닉스반도체 영상 압축 움직임 추정 방법
KR20050117728A (ko) * 2004-06-11 2005-12-15 삼성전자주식회사 움직임 예측 방법 및 그 장치

Also Published As

Publication number Publication date
US8036269B2 (en) 2011-10-11
EP1919221B1 (en) 2012-12-19
CN101166277B (zh) 2010-12-08
US20080095236A1 (en) 2008-04-24
EP1919221A1 (en) 2008-05-07
KR20080035794A (ko) 2008-04-24
CN101166277A (zh) 2008-04-23

Similar Documents

Publication Publication Date Title
KR100842557B1 (ko) 동영상 처리 장치에서 메모리 액세스 방법
KR100843196B1 (ko) H.264/avc 비디오 디코더의 디블록킹 필터
US8000388B2 (en) Parallel processing apparatus for video compression
AU2019240711C1 (en) Method and apparatus for motion compensation prediction
US20060115002A1 (en) Pipelined deblocking filter
US20090245351A1 (en) Moving picture decoding apparatus and moving picture decoding method
KR20070111467A (ko) 중간 루프 필터 데이터를 저장하는 스크래치 패드
JP2021502031A (ja) ビデオ符号化のためのインター予測機器及び方法の補間フィルタ
JP2006157925A (ja) パイプラインデブロッキングフィルタ
JP2007013298A (ja) 画像符号化装置
WO2009133845A1 (ja) 動画像符号化/復号化装置及び方法
KR20050121627A (ko) 동영상 코덱의 필터링 방법 및 필터링 장치
GB2459567A (en) Video signal edge filtering
KR20080035904A (ko) 영상 인코더 및 디코더에서의 색차 신호 보간 방법
KR20140031974A (ko) 화상 부호화 방법, 화상 복호 방법, 화상 부호화 장치, 화상 복호 장치, 화상 부호화 프로그램 및 화상 복호 프로그램
KR102171119B1 (ko) 복수개의 블록 기반의 파이프라인을 이용한 데이터 처리 속도 개선 장치 및 그 동작 방법
Di Wu et al. A single scalar DSP based Programmable H. 264 decoder
Bae et al. Quarter-pel interpolation architecture in H. 264/AVC decoder
Ogunfunmi et al. On low power fractional motion estimation algorithms for H. 264
Yang et al. An efficient hardware implementation for intra prediction of AVS encoder

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

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20140529

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20150528

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20160530

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20170529

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20180530

Year of fee payment: 11