KR101060492B1 - 픽셀의 버퍼링 방법 및 버퍼 시스템 - Google Patents

픽셀의 버퍼링 방법 및 버퍼 시스템 Download PDF

Info

Publication number
KR101060492B1
KR101060492B1 KR1020090000844A KR20090000844A KR101060492B1 KR 101060492 B1 KR101060492 B1 KR 101060492B1 KR 1020090000844 A KR1020090000844 A KR 1020090000844A KR 20090000844 A KR20090000844 A KR 20090000844A KR 101060492 B1 KR101060492 B1 KR 101060492B1
Authority
KR
South Korea
Prior art keywords
macroblock
buffer
frame
current
pixels
Prior art date
Application number
KR1020090000844A
Other languages
English (en)
Other versions
KR20100081553A (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 KR1020090000844A priority Critical patent/KR101060492B1/ko
Publication of KR20100081553A publication Critical patent/KR20100081553A/ko
Application granted granted Critical
Publication of KR101060492B1 publication Critical patent/KR101060492B1/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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/17Methods 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/176Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/17Methods 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/172Methods 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 picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/182Methods 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 a pixel

Landscapes

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

Abstract

본 발명은 픽셀의 버퍼링 방법에 관한 것으로서, 현재 매크로블록(macroblock)에 포함된 복수의 픽셀(pixel)들을 복호화하고, 현재 매크로블록이 필드(field) 단위로 부호화되었는지 또는 프레임(frame) 단위로 부호화되었는지 판단하며, 판단 결과를 참조하여 복수의 픽셀들을 프레임 단위로 버퍼링한다.

Description

픽셀의 버퍼링 방법 및 버퍼 시스템{Method of buffering a pixel and Buffer system}
본 발명은 영상의 부호화/복호화 방법에 관한 것이며, 보다 상세하게는 영상의 부호화/복호화 과정에서 영상에 포함된 픽셀의 버퍼링 방법 및 버퍼 시스템, 그리고 상기 버퍼 시스템을 포함하는 영상의 복호화 장치에 관한 것이다.
H.264는 매우 높은 데이터 압축률을 가지는 디지털 비디오 코덱 표준으로, 기존의 표준과 비교했을 때, 절반 이하의 비트레이트에서 비슷하거나 더 좋은 화질을 얻을 수 있도록 개발되었으며 다양한 시스템과 다양한 종류의 네트워크 등에서 작동할 수 있다.
카메라가 움직이거나 움직임이 있는 영상에서 격행 주사 프레임(interlaced frame) 내의 이웃하는 두 행은 같은 패리티의 필드(field) 내의 이웃하는 두 행에 비해 낮은 상관관계를 가질 수 있다. 이러한 경우, 각각의 필드를 분리하여 부호화하는 방법이 효율적일 수 있다.
H.264의 MBAFF(Macro Block Adaptive Field/Frame) 부호화 기술은 매크로블록을 단위로 프레임 모드 또는 필드 모드로 부호화한다. 구체적으로, MBAFF 부호 화 기술은 2개의 필드를 모아서 단일 프레임으로 부호화하는 프레임 모드 또는 2개의 필드를 분리하여 각각의 분리된 필드로 부호화하는 필드 모드를 선택적으로 이용할 수 있다. 이는 종래의 픽처(picture) 단위의 프레임/필드 부호화에 비해 매우 성능이 뛰어나다.
본 발명이 해결하고자 하는 과제는 현재 매크로블록에 포함된 픽셀들에 대한 복호화 과정에서 이웃 픽셀을 참조하기 위해 소요되는 연산량을 줄일 수 있는 픽셀의 버퍼링 방법, 버퍼 시스템 및 상기 버퍼 시스템을 포함하는 영상의 복호화 장치를 제공하는데 있다.
상기 과제를 해결하기 위한 본 발명에 따른 픽셀의 버퍼링 방법은 현재 매크로블록(macroblock)에 포함된 복수의 픽셀(pixel)들을 복호화하는 단계; 상기 현재 매크로블록이 필드(field) 단위로 부호화되었는지 또는 프레임(frame) 단위로 부호화되었는지 판단하는 단계; 및 상기 판단 결과를 참조하여 상기 복수의 픽셀들을 프레임 단위로 버퍼링하는 단계를 포함한다.
픽셀의 버퍼링 방법은 매크로블록 쌍(pair)을 저장하는 버퍼에서 상기 현재 매크로블록이 탑(top) 매크로블록인 경우의 저장 위치를 기준 위치로 결정하는 단계를 더 포함할 수 있다. 상기 복수의 픽셀들을 버퍼링하는 단계는, 상기 판단 결과를 참조하여 상기 기준 위치에 대한 상기 복수의 픽셀들의 저장 위치를 결정하는 단계; 및 상기 결정된 저장 위치에 상기 복수의 픽셀들을 프레임 단위로 저장하는 단계를 포함할 수 있다.
상기 현재 매크로블록이 필드 단위로 부호화되었는지 또는 프레임 단위로 부호화되었는지 판단하는 단계는, 상기 현재 매크로블록이 필드 단위로 부호화된 필 드 매크로블록인지 판단하는 단계; 상기 현재 매크로블록이 상기 필드 매크로블록인 경우에 상기 현재 매크로블록이 탑 라인(line)들만을 포함하는 탑 필드 매크로블록인지 또는 바텀 라인들만을 포함하는 바텀(bottom) 필드 매크로블록인지 판단하는 단계; 및 상기 현재 매크로블록이 필드 매크로블록이 아닌 경우에 상기 현재 매크로블록이 탑 프레임 매크로블록인지 또는 바텀 프레임 매크로블록인지 판단하는 단계를 포함할 수 있다. 픽셀의 버퍼링 방법은 상기 버퍼에서 상기 복수의 픽셀들에 이웃하는 픽셀의 저장 위치를 결정하는 단계를 더 포함할 수 있다.
또한, 상기 과제를 해결하기 위한 본 발명에 따른 버퍼 시스템은 매크로블록 쌍을 저장하고, 필드 단위 또는 프레임 단위로 부호화된 현재 매크로블록에 포함된 복수의 픽셀들을 프레임 단위로 저장하는 현재 매크로블록 버퍼; 및 상기 현재 매크로블록 버퍼에 공간적으로 이웃하고, 상기 복수의 픽셀들에 이웃하는 이웃 픽셀들을 저장하는 참조 매크로블록 버퍼를 포함한다.
또한, 상기 과제를 해결하기 위한 본 발명에 따른 영상의 복호화 장치는 프레임 모드 또는 필드 모드로 부호화된, 영상의 매크로블록을 복호화하는 가변장 복호화부; 상기 복호화된 매크로블록을 버퍼링하는 방식을 제어하는 버퍼링 제어부; 상기 제어된 버퍼링 방식에 따라 상기 복호화된 매크로블록을 프레임 단위로 저장하는 프레임 매크로블록 버퍼; 상기 복호화된 매크로블록에 대하여 상기 프레임 매크로블록 버퍼에 저장된 값을 참조하여 움직임 보상 및 인트라 예측을 수행하는 움직임 보상/인트라 예측부; 및 상기 복호화된 매크로블록에 대하여 상기 프레임 매크로블록 버퍼에 저장된 값을 참조하여 역변환/역양자화를 수행하는 역변환/역양자 화부를 포함한다.
본 발명에 따르면, 필드 단위 또는 프레임 단위로 부호화된 현재 매크로블록을 복호화한 결과를 프레임 단위로 버퍼링함으로써, 현재 복호화하고자 하는 픽셀에 이웃하는 픽셀을 획득하기 위한 별도의 연산을 거치지 않아도 된다. 이로써, 종래에 비하여 빠른 시간 내에 이웃 픽셀을 획득할 수 있으므로, 복호화 장치의 로드를 줄일 수 있다.
본문에 개시되어 있는 본 발명의 실시예들에 대해서, 특정한 구조적 내지 기능적 설명들은 단지 본 발명의 실시예를 설명하기 위한 목적으로 예시된 것으로, 본 발명의 실시예들은 다양한 형태로 실시될 수 있으며 본문에 설명된 실시예들에 한정되는 것으로 해석되어서는 아니 된다.
이하, 첨부한 도면들을 참조하여, 본 발명의 실시예를 보다 상세하게 설명하고자 한다. 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
도 1은 MBAFF 부호화 기술을 이용하지 않는 경우의 현재 매크로블록과 이웃(neighbor) 매크로블록들을 나타낸다.
도 1을 참조하면, 9개의 매크로블록이 도시되었고, 각각의 매크로블록은 16X16개의 픽셀들을 포함한다. 여기서, CurrMbAddr은 현재 매크로블록의 주소를 나타내고, mbAddrA는 현재 매크로블록의 좌측에 위치하는 매크로블록의 주소를 나 타내며, mbAddrB는 현재 매크로블록의 상부에 위치하는 매크로블록의 주소를 나타낸다. 또한, mbAddrC는 현재 매크로블록의 우측 상부에 위치하는 매크로블록의 주소를 나타내고, mbAddrD는 현재 매크로블록의 좌측 상부에 위치하는 매크로블록의 주소를 나타낸다.
현재 매크로블록(CurrMbAddr)에 포함된 복수의 픽셀들에 대한 부호화/복호화 과정에서 현재 매크로블록(CurrMbAddr)에 이웃하는 픽셀들을 참조한다. 구체적으로, 현재 매크로블록(CurrMbAddr)에 포함된 픽셀들에 대한 인트라 예측(intra prediction), 디블록킹 필터링(deblocking filtering) 등의 연산을 실행할 때 이웃 매크로블록들(mbAddrA, mbAddrB, mbAddrC, mbAddrD)에 포함된 픽셀들을 참조한다.
MBAFF 부호화 기술을 이용하지 않는 경우에는 현재 매크로블록(CurrMbAddr)에 공간적으로 인접한 매크로블록들이 이웃 매크로블록들(mbAddrA, mbAddrB, mbAddrC, mbAddrD)에 해당하므로 이웃 매크로블록에 포함된 참조 픽셀을 구하기 위한 별도의 계산 과정을 거치지 않아도 된다.
도 2는 MBAFF 부호화 기술을 이용하는 경우의 현재 매크로블록 쌍(pair)과 이웃 매크로블록 쌍들을 나타낸다.
도 2를 참조하면, 9개의 매크로블록 쌍이 도시되었고, 각각의 매크로블록 쌍은 16X32개의 픽셀들을 포함한다. 각각의 매크로블록 쌍에서 상부에 위치하는 매크로블록은 탑(top) 매크로블록이고, 하부에 위치하는 매크로블록은 바텀(bottom) 매크로블록이다. 여기서, CurrMbAddr은 현재 매크로블록의 주소를 나타내고, mbAddrA는 현재 매크로블록의 좌측에 위치하는 매크로블록 쌍에서 탑 매크로블록의 주소를 나타내며, mbAddrB는 현재 매크로블록의 상부에 위치하는 매크로블록 쌍에서 탑 매크로블록의 주소를 나타낸다. 또한, mbAddrC는 현재 매크로블록의 우측 상부에 위치하는 매크로블록 쌍에서 탑 매크로블록의 주소를 나타내고, mbAddrD는 현재 매크로블록의 좌측 상부에 위치하는 매크로블록 쌍에서 탑 매크로블록의 주소를 나타낸다.
현재 매크로블록(CurrMbAddr)이 현재 매크로블록 쌍에서 탑 매크로블록인지 바텀 매크로블록인지에 관계없이, 현재 매크로블록(CurrMbAddr)에 포함된 픽셀들에 대한 인트라 예측, 디블록킹 필터링 등의 연산을 실행할 때 이웃 매크로블록들(mbAddrA, mbAddrB, mbAddrC, mbAddrD)에 포함된 픽셀들을 참조한다.
MBAFF 부호화 기술을 이용하는 경우에는 현재 매크로블록(CurrMbAddr)에 공간적으로 인접한 매크로블록들이 반드시 이웃 매크로블록들(mbAddrA, mbAddrB, mbAddrC, mbAddrD)에 해당한다고 보장할 수 없으므로 이웃 매크로블록에 포함된 참조 픽셀을 구하기 위한 별도의 계산 과정을 거쳐야 한다. 그러나, 종래 기술에 따르면 각각의 참조 픽셀을 구하기 위해서는 모든 이웃 매크로블록에 포함된 이웃 픽셀들을 수식을 이용하여 계산해야 하는바, 연산량이 매우 크다. 특히, HD(high definition)급 영상의 경우 오버헤드가 더욱 크다.
도 3은 본 발명의 일 실시예에 따른 영상의 복호화 장치를 나타내는 블록도이다.
도 3을 참조하면, 영상의 복호화 장치(10)는 가변장 복호화부(variable length decoding unit, 11), 움직임 보상/인트라 예측부(motion compensation/intra prediction unit, 12), 역변환/역양자화부(inverse transformation/inverse quantization unit, 13), 루프 필터(loop filter, 14), 프레임 매크로블록 버퍼(frame macroblock buffer, 15), 프레임 버퍼(frame buffer, 16) 및 버퍼링 제어부(buffering controller, 17)를 포함한다.
가변장 복호화부(11)는 영상의 부호화 결과인 비트스트림을 복호화한다. 움직임 보상/인트라 예측부(12)는 가변장 복호화부(11)에서 복호화된 결과에 대하여 프레임 매크로블록 버퍼(15)에 저장된 값을 참조하여 움직임 보상 및 인트라 예측을 수행한다. 역변환/역양자화부(13)는 가변장 복호화부(11)에서 복호화된 결과를 주파수 도메인에서 시간 도메인으로 역변환하고, 역양자화하며, 역변환/역양자화된 결과를 프레임 매크로블록 버퍼(15)에 제공한다.
루프 필터(14)는 프레임 매크로블록 버퍼(15)에 저장된 매크로블록에 대해 디블록킹 필터링을 수행한다. 프레임 매크로블록 버퍼(15)는 프레임 모드 또는 필드 모드로 부호화된 픽셀들을 포함하는 매크로블록을 프레임 단위로 저장한다. 프레임 버퍼(16)는 최종적으로 복호화된 프레임을 저장한다.
버퍼링 제어부(17)는 가변장 복호화부(11)에서 복호화된 결과를 기초로 하여 프레임 매크로블록 버퍼(15)에 복호화된 결과를 버퍼링하는 방식을 제어한다. 버퍼링 제어부(17)의 구체적인 동작에 대해서는 이하에서 도 5를 참조하여 설명하기로 한다.
도 4는 도 3의 프레임 매크로블록 버퍼의 일 예를 나타낸다.
이하에서는, 도 3 및 4를 참조하여 프레임 매크로블록 버퍼(15)의 구조에 대 하여 상술하기로 한다.
프레임 매크로블록 버퍼(15)는 적어도 두 개의 버퍼를 포함하는 버퍼 시스템으로 구현된다. 이하에서는 도 4에 도시된 바와 같이 프레임 매크로블록 버퍼(15)는 3개의 버퍼, 즉, 제1 내지 제3 버퍼(151, 152, 153)를 포함하는 경우를 예로 하여 설명하기로 한다.
제1 내지 제3 버퍼(151, 152, 153) 각각은 두 개의 매크로블록들, 즉, 하나의 매크로블록 쌍을 저장한다. 다시 말해, 제1 내지 제3 버퍼(151, 152, 153) 각각은 16X32개의 픽셀들을 포함한다. 그러므로, 제1 내지 제3 버퍼(151, 152, 153) 각각의 스트라이드(stride)는 16이고, 프레임 매크로블록 버퍼(15)의 전체 스트라이드는 48(=16X3)이다.
또한, 제1 내지 제3 버퍼(151, 152, 153) 각각에 저장되는 매크로블록은 탑 라인(line)과 바텀 라인이 반복적으로 위치하는 프레임 매크로블록이다. 따라서, 프레임 매크로블록 버퍼(15)에 저장되는 매크로블록이 프레임 단위로 부호화된 프레임 매크로블록인 경우에는 탑 매크로블록인지 바텀 매크로블록인지에 따라 제1 내지 제3 버퍼(151, 152, 153)에 그대로 저장할 수 있다. 한편, 프레임 매크로블록 버퍼(15)에 저장되는 매크로블록이 필드 단위로 부호화된 필드 매크로블록인 경우에는 이를 프레임 매크로블록으로 저장하기 위한 연산 과정을 거쳐야 한다. 이에 대해서는 후술하기로 한다.
도 5는 도 3의 버퍼링 제어부를 상세하게 나타내는 블록도이다.
이하에서는 도 3 내지 5를 참조하여 버퍼링 제어부의 동작에 대하여 상술하 기로 한다. 버퍼링 제어부(17)는 기준 위치 결정부(171), 부호화 모드 결정부(172) 및 저장 위치 결정부(173)를 포함한다.
기준 위치 결정부(171)는 프레임 매크로블록 버퍼(15)에서 현재 탑 매크로블록의 저장 위치와 좌측 매크로블록의 저장 위치를 결정한다. 여기서, 현재 탑 매크로블록의 저장 위치를 현재 매크로블록에 포함된 픽셀들의 저장을 위한 기준 위치로 설정한다.
도 6은 도 5의 기준 위치 결정부의 동작을 설명하기 위한 흐름도이다.
이하에서는 도 5 및 6을 참조하여 기준 위치 결정부의 동작을 상술하기로 한다.
610 단계에서, 기준 위치 결정부(171)는 프레임 매크로블록 버퍼(15)에서 현재 탑 매크로블록의 저장 위치를 결정한다. 여기서, 현재 탑 매크로블록의 저장 위치는 현재 탑 매크로블록의 주소(Topaddr)와 프레임 매크로블록 버퍼(15)에 포함된 버퍼들의 개수(N)를 기초로 결정할 수 있다.
보다 상세하게는, 현재 탑 매크로블록의 주소(Topaddr)는 매크로블록의 주소(Mbaddr)에 대해 쉬프트(shift) 연산을 하여 결정하는데, 구체적으로, Topaddr = (Mbaddr>>1) << 1을 이용하여 현재 탑 매크로블록의 주소를 결정할 수 있다. 여기서, ">>1"은 오른쪽으로 1 비트만큼 쉬프트 연산을 하는 것을 나타내고, "<<1"은 왼쪽으로 1 비트만큼 쉬프트 연산을 하는 것을 나타낸다. 예를 들어, 매크로블록의 주소(Mbaddr)는 0(=000), 1(=001), 2(=010), 3(=011), 4(=100), 5(=101)…일 수 있다. 매크로블록의 주소(Mbaddr)가 001인 경우에 (001)>>1을 하면 000이 되고, (000)<<1을 하면 000이 되므로, 이 때의 탑 매크로블록의 주소는 0이 된다. 또한, 매크로블록의 주소(Mbaddr)가 010인 경우에 (010)>>1을 하면 001이 되고, (001)<<1을 하면 010이 되므로, 이 때의 탑 매크로블록의 주소는 2가 된다. 이와 같이 각각의 매크로블록(Mbaddr)에 대해 쉬프트 연산을 수행하면, 현재 탑 매크로블록의 주소(Topaddr)를 0, 2, 4..로 결정할 수 있다.
한편, 프레임 매크로블록 버퍼(15)에서 현재 탑 매크로블록의 저장 위치는 Topaddr/2 & (N-1)을 이용하여 결정할 수 있다. 현재 탑 매크로블록의 주소(Topaddr)는 0, 2, 4…이므로, 현재 탑 매크로블록의 주소(Topaddr)를 2로 나누면 0, 1, 2가 된다.
도 4의 예에서 프레임 매크로블록 버퍼(15)는 3개의 버퍼들을 포함하고 있는바 N은 3이므로, 프레임 매크로블록 버퍼(15)에서 현재 탑 매크로블록의 저장 위치는 Topaddr & 2를 이용하여 결정할 수 있다. 따라서, 현재 탑 매크로블록의 주소에 따라 프레임 매크로블록 버퍼(15)에서 현재 탑 매크로블록의 저장 위치는 0, 1, 2 중의 하나일 수 있다. 프레임 매크로블록 버퍼(15)에서 현재 탑 매크로블록의 저장 위치가 0인 경우에 현재 탑 매크로블록은 제1 버퍼(151)에 저장된다. 프레임 매크로블록 버퍼(15)에서 현재 탑 매크로블록의 저장 위치가 1인 경우에 현재 탑 매크로블록은 제2 버퍼(152)에 저장된다. 프레임 매크로블록 버퍼(15)에서 현재 탑 매크로블록의 저장 위치가 2인 경우에 현재 탑 매크로블록은 제3 버퍼(153)에 저장된다.
620 단계에서, 기준 위치 결정부(171)는 프레임 매크로블록 버퍼(15)에서 현 재 탑 매크로블록의 저장 위치가 0인지 여부를 판단한다. 판단 결과, 프레임 매크로블록 버퍼(15)에서 현재 탑 매크로블록의 저장 위치가 0인 경우 630 단계를 수행하고, 그렇지 않은 경우에는 640 단계를 수행한다.
630 단계에서, 기준 위치 결정부(171)는 프레임 매크로블록 버퍼(15)에서 현재 탑 매크로블록의 좌측에 이웃하는 좌측 매크로블록의 저장 위치를 (N-1)로 결정한다. 도 4의 예에서, 프레임 매크로블록 버퍼(15)에서 현재 탑 매크로블록의 저장 위치가 0이므로, 현재 탑 매크로블록이 제1 버퍼(151)에 위치한다. 이 경우, 프레임 매크로블록 버퍼(15)에서 현재 탑 매크로블록의 좌측에 이웃하는 좌측 매크로블록의 저장 위치는 2이므로, 좌측 매크로블록은 제3 버퍼(153)에 저장된다.
640 단계에서, 기준 위치 결정부(171)는 프레임 매크로블록 버퍼(15)에서 현재 탑 매크로블록의 좌측에 이웃하는 좌측 매크로블록의 저장 위치를 (Topaddr/2 & (N-1))-1로 결정한다. 도 4의 예에서, 프레임 매크로블록 버퍼(15)에서 현재 탑 매크로블록의 저장 위치가 1인 경우에, 현재 탑 매크로블록은 제2 버퍼(152)에 위치한다. 이 경우, 프레임 매크로블록 버퍼(15)에서 현재 탑 매크로블록의 좌측에 이웃하는 좌측 매크로블록의 저장 위치는 0이므로, 좌측 매크로블록은 제1 버퍼(151)에 저장된다. 또한, 프레임 매크로블록 버퍼(15)에서 현재 탑 매크로블록의 저장 위치가 2인 경우에, 현재 탑 매크로블록은 제3 버퍼(153)에 위치한다. 이 경우, 프레임 매크로블록 버퍼(15)에서 현재 탑 매크로블록의 좌측에 이웃하는 좌측 매크로블록의 저장 위치는 1이므로, 좌측 매크로블록은 제2 버퍼(152)에 저장된다.
이와 같이, 현재 탑 매크로블록이 프레임 매크로블록 버퍼(15)에서 가장 좌측 버퍼에 저장되는 경우에, 현재 탑 매크로블록의 좌측에 이웃하는 좌측 매크로블록을 가장 우측 버퍼에 저장한다. 그러나, 그 외의 경우에는, 즉, 현재 탑 매크로블록이 프레임 매크로블록 버퍼(15)에서 가장 좌측 버퍼에 저장되는 경우를 제외하면, 현재 탑 매크로블록의 좌측에 이웃하는 좌측 매크로블록을 현재 탑 매크로블록이 저장되는 버퍼의 바로 좌측에 위치하는 버퍼에 저장한다.
다시 도 5를 참조하면, 부호화 모드 결정부(172)는 현재 매크로블록이 필드 모드로 부호화되었는지 또는 프레임 모드로 부호화되었는지 결정한다. 현재 매크로블록이 필드 모드로 부호화된 경우에는 현재 매크로블록은 탑 필드 또는 바텀 필드만을 포함하고, 현재 매크로블록이 프레임 모드로 부호화된 경우에는 현재 매크로블록은 탑 필드 및 바텀 필드를 포함한다.
저장 위치 결정부(173)는 기준 위치 결정부(171)에서 결정된 기준 위치와 부호화 모드 결정부(172)에서 결정된 부호화 모드를 기초로 프레임 매크로블록 버퍼(15)에서 현재 매크로블록의 저장 위치를 결정한다. 예를 들어, 현재 탑 매크로블록의 주소를 2라고 하면, 프레임 매크로블록 버퍼(15)에서 현재 탑 매크로블록의 저장 위치, 즉, 기준 위치는 1이므로, 도 4의 예에서 제2 버퍼(152)의 상부가 현재 탑 매크로블록의 저장 위치이다.
먼저, 현재 매크로블록이 필드 모드로 부호화된 경우에 저장 위치 결정부(173)는 현재 매크로블록이 탑 필드 매크로블록인지 또는 바텀 필드 매크로블록인지 판단한다.
현재 매크로블록이 탑 필드 매크로블록인 경우에 저장 위치 결정부(173)는 프레임 매크로블록 버퍼의 스트라이드를 2배로 설정한다. 이로써, 현재 탑 매크로블록에 포함된 픽셀들의 저장 위치는, 프레임 매크로블록 버퍼(15)에서 상기 기준 위치에서의 탑 라인들로 결정된다. 그러므로, 상술한 예와 같이 기준 위치가 1인 경우에 현재 탑 매크로블록에 포함된 픽셀들의 저장 위치는 제2 버퍼(152)의 상부의 탑 라인들이다.
한편, 현재 매크로블록이 바텀 필드 매크로블록인 경우에 저장 위치 결정부(173)는 상기 기준 위치에서 버퍼의 스트라이드만큼 픽셀 위치를 아래로 이동하고, 프레임 매크로블록 버퍼의 스트라이드를 2배로 설정한다. 이로써, 현재 바텀 매크로블록에 포함된 픽셀들의 저장 위치는, 프레임 매크로블록 버퍼에서 상기 기준 위치에서의 바텀 라인들로 결정된다. 그러므로, 상술한 예와 같이 기준 위치가 1인 경우에 현재 바텀 매크로블록에 포함된 픽셀들의 저장 위치는 제2 버퍼(152)의 상부의 바텀 라인들이다.
다음으로, 현재 매크로블록이 프레임 모드로 부호화된 경우에 저장 위치 결정부(173)는 현재 매크로블록이 탑 매크로블록인지 또는 바텀 매크로블록인지 판단한다.
현재 매크로블록이 탑 매크로블록인 경우에 저장 위치 결정부(173)는 상기 기준 위치를 현재 매크로블록의 저장 위치로 결정한다. 그러므로, 상술한 예와 같이 기준 위치가 1인 경우에 현재 탑 매크로블록에 포함된 픽셀들의 저장 위치는 제2 버퍼(152)의 상부이다. 한편, 현재 매크로블록이 바텀 매크로블록인 경우에 저 장 위치 결정부(173)는 상기 기준 위치로부터 매크로블록에 포함된 라인의 수와 버퍼의 스트라이드의 곱만큼 픽셀 위치를 아래로 이동된 위치를 현재 매크로블록의 저장 위치로 결정한다. 그러므로, 상술한 예와 같이 기준 위치가 1인 경우에 현재 바텀 매크로블록에 포함된 픽셀들의 저장 위치는 제2 버퍼(152)의 하부이다.
도 7은 도 4의 프레임 매크로블록 버퍼를 이차원적으로 배열한 일 예를 나타낸다.
도 7을 참조하면, 71은 현재 매크로블록에 포함된 픽셀들을 저장하는 버퍼를 나타내고, 72는 현재 매크로블록의 좌측에 위치하는 좌측 매크로블록에 포함된 픽셀들을 저장하는 버퍼를 나타낸다. 73은 현재 매크로블록의 상부에 위치하는 상부 매크로블록에 포함된 픽셀들을 저장하는 버퍼를 나타내고, 74는 현재 매크로블록의 우측 상부에 위치하는 우측 상부 매크로블록에 포함된 픽셀들을 저장하는 버퍼를 나타내며, 75는 현재 매크로블록의 좌측 상부에 위치하는 좌측 상부 매크로블록에 포함된 픽셀들을 저장하는 버퍼를 나타낸다.
이하에서는, 편의상 현재 매크로블록을 저장하는 버퍼(71)는 도 4의 제2 버퍼(152)에 대응되고, 좌측 매크로블록에 포함된 픽셀들을 저장하는 버퍼(72)는 도 4의 제1 버퍼(151)에 대응되는 경우를 예로 하여 설명한다.
도 4에 도시된 바와 같이, 프레임 매크로블록 버퍼(15)는 일차원적인 구조를 가질 수 있다. 그러나, 현재 매크로블록에 포함된 복수의 픽셀들에 대한 복호화 과정에서 이웃하는 픽셀들을 참조하는 것이 요구되는데, 도 2에서 설명한 바와 같이 MBAFF 기술을 이용하는 경우에 공간적으로 이웃하는 픽셀이 현재 매크로블록에 대한 이웃 픽셀이라고 보장할 수 없다. 따라서, 본 발명의 일 실시예에서는, 프레임 매크로블록 버퍼에 프레임 단위로 매크로블록을 저장하고, 프레임 매크로블록 버퍼에 포함된 버퍼들을 이차원적으로 배열한다. 이로써, 이웃 픽셀을 획득하기 위해 개별적으로 연산을 하지 않아도, 프레임 매크로블록에서 현재 매크로블록에 공간적으로 이웃하는 픽셀을 이웃 픽셀로 참조할 수 있다.
보다 상세하게는, 도 3의 움직임 보상/인트라 예측부(12)는 현재 매크로블록에 대하여 인트라 예측을 수행하기 위해, H.264 스펙에 따라 현재 매크로블록의 상부에 위치하는 2줄의 픽셀들을 참조한다. 따라서, 이 경우에 상부 버퍼는 적어도 2줄의 픽셀들을 저장한다. 또한, 도 3의 루프 필터(14)는 현재 매크로블록에 대해 디블록킹 필터링을 수행하기 위해, H.264 스펙에 따라 현재 매크로블록의 상부에 위치하는 8줄의 픽셀들을 참조한다. 따라서, 이 경우에 상부 버퍼는 적어도 8줄의 픽셀들을 저장한다.
도 8는 본 발명의 일 실시예에 따른 픽셀의 버퍼링 방법을 나타내는 흐름도이다.
도 8을 참조하면, 810 단계에서, 가변장 복호화부(12)는 현재 매크로블록에 포함된 복수의 픽셀들을 복호화한다.
820 단계에서, 기준 위치 결정부(171)는 프레임 매크로블록 버퍼에서 현재 탑 매크로블록의 저장 위치와 좌측 매크로블록의 저장 위치를 결정한다. 여기서, 현재 탑 매크로블록의 저장 위치를 현재 매크로블록에 포함된 픽셀들의 저장을 위한 기준 위치로 설정한다. 구체적으로 현재 탑 매크로블록의 저장 위치와 좌측 매 크로블록의 저장 위치를 결정하는 방법에 대해서는 도 5를 참조하여 상술하였다. 여기서, 810 단계와 820 단계의 순서는 변경될 수 있다.
830 단계에서, 부호화 모드 결정부(172)는 현재 매크로블록이 필드 모드로 부호화되었는지 판단한다. 판단 결과, 현재 매크로블록이 필드 모드로 부호화된 경우에 현재 매크로블록은 탑 라인 또는 바텀 라인만을 포함하고, 이 경우 840 단계를 수행한다. 한편, 현재 매크로블록이 프레임 모드로 부호화된 경우에 현재 매크로블록은 탑 라인 및 바텀 라인을 포함하고, 이 경우 880 단계를 수행한다.
840 단계에서, 저장 위치 결정부(173)는 현재 매크로블록이 탑 라인만을 포함하는 탑 필드 매크로블록인지 여부를 판단한다. 판단 결과, 현재 매크로블록이 탑 필드 매크로블록인 경우 850 단계를 수행하고, 현재 매크로블록이 바텀 라인만을 포함하는 바텀 필드 매크로블록인 경우 860 단계를 수행한다.
850 단계에서, 현재 매크로블록이 탑 필드 매크로블록이므로 저장 위치 결정부(173)는 프레임 매크로블록 버퍼의 스트라이드를 2배로 설정한다. 따라서, 현재 탑 필드 매크로블록에 포함된 픽셀들은 프레임 매크로블록 버퍼의 해당 버퍼에서 탑 라인의 위치에 각각 저장된다.
855 단계에서, 프레임 매크로블록 버퍼(15)는 현재 탑 필드 매크로블록을 결정된 위치에 저장하고, 상기 결정된 위치에서 현재 탑 매크로블록에 포함된 복수의 픽셀들에 이웃하는 픽셀을 획득한다. 구체적으로, 현재 탑 매크로블록에 포함된 복수의 픽셀들의 좌측에 이웃하는 좌측 픽셀은 좌측 매크로블록이 저장된 버퍼의 우측 가장 자리로 결정한다. 또한, 현재 탑 매크로블록에 포함된 복수의 픽셀들의 상부에 이웃하는 상부 픽셀은, 현재 매크로블록을 저장하는 버퍼의 상부에 위치하는 업 버퍼의 최하단으로 결정한다. 또한, 현재 탑 매크로블록에 포함된 복수의 픽셀들의 우측 상부에 이웃하는 우측 상부 픽셀은 업 버퍼의 우측 가장 자리에서 1칸 오른쪽(즉, + 1)의 위치로 결정한다. 이 경우, 프레임 매크로블록 버퍼의 스트라이드는 2배로 변경되고, 업 버퍼의 스트라이드도 2배로 변경된다.
860 단계에서, 저장 위치 결정부(173)는 현재 매크로블록이 바텀 필드 매크로블록이므로 기준 위치에서 프레임 매크로블록 버퍼의 스트라이드만큼 픽셀 위치를 아래로 이동한다.
865 단계에서, 저장 위치 결정부(173)는 프레임 매크로블록 버퍼의 스트라이드를 2배로 설정한다. 따라서, 현재 바텀 필드 매크로블록에 포함된 픽셀들은 프레임 매크로블록 버퍼의 해당 버퍼에서 바텀 라인의 위치에 각각 저장된다.
870 단계에서, 프레임 매크로블록 버퍼(15)는 현재 바텀 매크로블록을 결정된 위치에 저장하고, 상기 결정된 위치에서 현재 바텀 매크로블록에 포함된 복수의 픽셀들에 이웃하는 픽셀을 획득한다. 구체적으로, 현재 바텀 매크로블록에 포함된 복수의 픽셀들의 좌측에 이웃하는 좌측 픽셀은 좌측 매크로블록이 저장된 버퍼의 우측 가장 자리로 결정한다. 또한, 현재 바텀 매크로블록에 포함된 복수의 픽셀들의 상부에 이웃하는 상부 픽셀은, 현재 매크로블록을 저장하는 버퍼의 상부에 위치하는 업 버퍼의 최하단에서 1줄 위로 결정한다. 또한, 현재 매크로블록에 포함된 복수의 픽셀들의 우측 상부에 이웃하는 우측 상부 픽셀은 업 버퍼의 우측 가장 자리에서 1칸 오른쪽의(즉, +1) 위치로 결정한다. 이 경우, 프레임 매크로블록 버퍼 의 스트라이드는 2배로 변경되고, 업 버퍼의 스트라이드도 2배로 변경된다.
880 단계에서, 저장 위치 결정부(173)는 현재 매크로블록이 탑 프레임 매크로블록인지 여부를 판단한다. 판단 결과, 현재 매크로블록이 탑 매크로블록인 경우는 885 단계를 수행하고, 현재 매크로블록이 바텀 매크로블록인 경우는 890 단계를 수행한다.
885 단계에서, 프레임 매크로블록 버퍼(15)는 현재 탑 매크로블록에 포함된 픽셀들을 상기 기준 위치에 저장하고, 상기 기준 위치에서 현재 탑 매크로블록에 포함된 복수의 픽셀들에 이웃하는 픽셀을 획득한다. 구체적으로, 현재 탑 매크로블록에 포함된 복수의 픽셀들의 좌측에 이웃하는 좌측 픽셀은 좌측 매크로블록이 저장된 버퍼의 우측 가장 자리로 결정한다. 또한, 현재 탑 매크로블록에 포함된 복수의 픽셀들의 상부에 이웃하는 상부 픽셀은 업 버퍼의 최하단으로 결정한다. 또한, 현재 탑 매크로블록에 포함된 복수의 픽셀들의 우측 상부에 이웃하는 우측 상부 픽셀은 업 버퍼의 우측 가장 자리에서 1칸 오른쪽(즉, + 1)의 위치로 결정한다. 이 경우, 프레임 매크로블록 버퍼의 스트라이드는 변경되지 않는다.
890 단계에서, 저장 위치 결정부(183)는 현재 매크로블록이 바텀 프레임 매크로블록이므로, 상기 기준 위치에서 매크로블록의 라인 수와 프레임 매크로블록 버퍼의 스트라이드의 곱만큼 픽셀 위치를 아래로 이동한다.
895 단계에서, 프레임 매크로블록 버퍼(15)는 현재 바텀 매크로블록에 포함된 픽셀들을 결정된 위치에 저장하고, 상기 결정된 위치에서 현재 바텀 매크로블록에 포함된 복수의 픽셀들에 이웃하는 픽셀을 획득한다. 구체적으로, 현재 바텀 매 크로블록에 포함된 복수의 픽셀들의 좌측에 이웃하는 좌측 픽셀은 좌측 매크로블록이 저장된 버퍼의 우측 가장 자리로 결정한다. 또한, 현재 바텀 매크로블록에 포함된 복수의 픽셀들의 상부에 이웃하는 상부 픽셀은 현재 버퍼에서 프레임 매크로블록 버퍼의 스트라이드만큼 위쪽으로 결정한다. 이 경우, 현재 바텀 매크로블록에 포함된 복수의 픽셀들의 우측 상부에 이웃하는 우측 상부 픽셀은 존재하지 않는다. 이 경우, 프레임 매크로블록 버퍼의 스트라이드는 변경되지 않는다.
이와 같이, 본 발명의 일 실시예에 따르면 현재 매크로블록을 복호화하고, 현재 매크로블록의 부호화 모드를 판단하여, 판단된 부호화 모드를 기초로 하여 현재 매크로블록에 포함된 픽셀들을 버퍼에 저장한다. 현재 매크로블록의 부호화 모드가 프레임 모드인 경우에는 현재 매크로블록에 포함된 픽셀들은 그대로 버퍼에 저장한다. 한편, 현재 매크로블록의 부호화 모드가 필드 모드인 경우에는 버퍼의 스트라이드를 두 배로 설정하여, 현재 매크로블록에 블록에 포함된 탑 라인들 또는 바텀 라인들을 버퍼의 탑 라인의 위치 또는 바텀 라인의 위치에 각각 저장한다.
매크로블록의 부호화 모드에 관계 없이 매크로블록에 포함된 픽셀들을 프레임 단위로 버퍼링함으로써, 이웃 매크로블록에 포함된 픽셀들을 참조할 때 별도의 연산 과정을 거치지 않고 공간적으로 이웃하는 버퍼에 위치하는 픽셀을 참조할 수 있다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명이 상기의 실시예에 한정되는 것은 아니며, 이는 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 따라서, 본 발명의 사상은 아래에 기재된 특허청구범위에 의해서만 파악되어야 하고, 이와 균등하거나 또는 등가적인 변형 모두는 본 발명 사상의 범주에 속한다 할 것이다.
도 1은 MBAFF 부호화 기술을 이용하지 않는 경우의 현재 매크로블록과 이웃(neighbor) 매크로블록들을 나타낸다.
도 2는 MBAFF 부호화 기술을 이용하는 경우의 현재 매크로블록 쌍(pair)과 이웃 매크로블록 쌍들을 나타낸다.
도 3은 본 발명의 일 실시예에 따른 영상의 복호화 장치를 나타내는 블록도이다.
도 4는 도 3의 프레임 매크로블록 버퍼의 일 예를 나타낸다.
도 5는 도 3의 버퍼링 제어부를 상세하게 나타내는 블록도이다.
도 6은 도 3의 기준 위치 결정부의 동작을 설명하기 위한 흐름도이다.
도 7은 도 4의 프레임 매크로블록 버퍼를 이차원적으로 배열한 일 예를 나타낸다.
도 8는 본 발명의 일 실시예에 따른 픽셀의 버퍼링 방법을 나타내는 흐름도이다.

Claims (16)

  1. 현재 매크로블록(macroblock)에 포함된 복수의 픽셀(pixel)들을 복호화하는 단계;
    상기 현재 매크로블록이 필드(field) 단위로 부호화되었는지 또는 프레임(frame) 단위로 부호화되었는지 판단하는 단계;
    상기 판단 결과를 참조하여 상기 복수의 픽셀들을 프레임 매크로블록 버퍼에 프레임 단위로 버퍼링하는 단계;
    상기 프레임 단위로 버퍼링된 상기 매크로블록에 대하여 디블록킹 필터링을 수행하는 단계; 및
    디블록킹 필터링이 수행된 프레임들을 프레임 버퍼에 저장하는 단계;를 포함하는 픽셀의 버퍼링 방법.
  2. 제1항에 있어서,
    매크로블록 쌍(pair)을 저장하는 상기 프레임 매크로블록 버퍼에서 상기 현재 매크로블록이 탑(top) 매크로블록인 경우의 저장 위치를 기준 위치로 결정하는 단계를 더 포함하는 것을 특징으로 하는 픽셀의 버퍼링 방법.
  3. 제2항에 있어서,
    상기 프레임 단위로 버퍼링하는 단계는,
    상기 판단 결과를 참조하여 상기 기준 위치에 대한 상기 복수의 픽셀들의 저장 위치를 결정하는 단계; 및
    상기 결정된 저장 위치에 상기 복수의 픽셀들을 프레임 단위로 저장하는 단계를 포함하는 픽셀의 버퍼링 방법.
  4. 제2항에 있어서,
    상기 현재 매크로블록이 필드 단위로 부호화되었는지 또는 프레임 단위로 부호화되었는지 판단하는 단계는,
    상기 현재 매크로블록이 필드 단위로 부호화된 필드 매크로블록인지 판단하는 단계;
    상기 현재 매크로블록이 상기 필드 매크로블록인 경우에 상기 현재 매크로블록이 탑 라인(line)들만을 포함하는 탑 필드 매크로블록인지 또는 바텀 라인들만을 포함하는 바텀(bottom) 필드 매크로블록인지 판단하는 단계; 및
    상기 현재 매크로블록이 필드 매크로블록이 아닌 경우에 상기 현재 매크로블록이 탑 프레임 매크로블록인지 또는 바텀 프레임 매크로블록인지 판단하는 단계를 포함하는 것을 특징으로 하는 픽셀의 버퍼링 방법.
  5. 제4항에 있어서,
    상기 프레임 단위로 버퍼링하는 단계는,
    상기 현재 매크로블록이 상기 탑 필드 매크로블록인 경우에 상기 프레임 매크로블록 버퍼의 스트라이드(stride)를 두 배로 설정하여 상기 복수의 픽셀들의 저장 위치를 결정하고, 상기 결정된 저장 위치에 상기 복수의 픽셀들을 프레임 단위로 저장하는 것을 특징으로 하는 픽셀의 버퍼링 방법.
  6. 제4항에 있어서,
    상기 프레임 단위로 버퍼링하는 단계는,
    상기 현재 매크로블록이 상기 바텀 필드 매크로블록인 경우에 상기 기준 위치로부터 상기 프레임 매크로블록 버퍼의 스트라이드만큼 픽셀 위치를 아래로 이동하고, 상기 프레임 매크로블록 버퍼의 스트라이드를 두 배로 설정하여 상기 복수의 픽셀들의 저장 위치를 결정하고, 상기 결정된 저장 위치에서 상기 복수의 픽셀들을 프레임 단위로 저장하는 것을 특징으로 하는 픽셀의 버퍼링 방법.
  7. 제4항에 있어서,
    상기 프레임 단위로 버퍼링하는 단계는,
    상기 현재 매크로블록이 상기 탑 프레임 매크로블록인 경우에 상기 기준 위치를 상기 복수의 픽셀들의 저장 위치로 결정하고, 상기 결정된 저장 위치에서 상기 복수의 픽셀들을 프레임 단위로 저장하는 것을 특징으로 하는 픽셀의 버퍼링 방법.
  8. 제4항에 있어서,
    상기 프레임 단위로 버퍼링하는 단계는,
    상기 현재 매크로블록이 상기 바텀 프레임 매크로블록인 경우에 상기 기준 위치로부터 상기 현재 매크로블록의 라인 수와 상기 프레임 매크로블록 버퍼의 스트라이드의 곱만큼 아래로 이동된 픽셀 위치를 상기 복수의 픽셀들의 저장 위치로 결정하고, 상기 결정된 저장 위치에서 상기 복수의 픽셀들을 프레임 단위로 저장하는 것을 특징으로 하는 픽셀의 버퍼링 방법.
  9. 삭제
  10. 매크로블록 쌍을 저장하는 버퍼 시스템으로,
    필드 단위 또는 프레임 단위로 부호화된 현재 매크로블록에 포함된 복수의 픽셀들을 프레임 단위로 저장하는 현재 매크로블록 버퍼; 및
    상기 현재 매크로블록 버퍼에 공간적으로 이웃하고, 상기 복수의 픽셀들에 이웃하는 이웃 픽셀들을 저장하는 참조 매크로블록 버퍼를 포함하고,
    상기 참조 매크로블록 버퍼는 상기 현재 매크로블록에 포함된 상기 복수의 픽셀들의 좌측에 위치하는 픽셀들을 저장하는 것을 특징으로 하는 버퍼 시스템.
  11. 매크로블록 쌍을 저장하는 버퍼 시스템으로,
    필드 단위 또는 프레임 단위로 부호화된 현재 매크로블록에 포함된 복수의 픽셀들을 프레임 단위로 저장하는 현재 매크로블록 버퍼; 및
    상기 현재 매크로블록 버퍼에 공간적으로 이웃하고, 상기 복수의 픽셀들에 이웃하는 이웃 픽셀들을 저장하는 참조 매크로블록 버퍼를 포함하고,
    상기 참조 매크로블록 버퍼는 상기 현재 매크로블록에 포함된 상기 복수의 픽셀들의 상부에 위치하는 픽셀들을 저장하는 것을 특징으로 하는 버퍼 시스템.
  12. 제11항에 있어서,
    상기 참조 매크로블록 버퍼는 상기 현재 매크로블록에 포함된 상기 복수의 픽셀들에 대한 인트라(intra) 예측에 이용되는 것으로 적어도 2줄의 픽셀들을 저장하는 것을 특징으로 하는 버퍼 시스템.
  13. 제11항에 있어서,
    상기 참조 매크로블록 버퍼는 상기 현재 매크로블록에 포함된 상기 복수의 픽셀들에 대한 디블록킹(deblocking) 필터링에 이용되는 것으로 적어도 8줄의 픽셀들을 저장하는 것을 특징으로 하는 버퍼 시스템.
  14. 프레임 모드 또는 필드 모드로 부호화된, 영상의 매크로블록을 복호화하는 가변장 복호화부;
    상기 복호화된 매크로블록을 버퍼링하는 방식을 제어하는 버퍼링 제어부;
    상기 제어된 버퍼링 방식에 따라 상기 복호화된 매크로블록을 프레임 단위로 저장하는 프레임 매크로블록 버퍼;
    상기 프레임 매크로블록 버퍼에 저장된 매크로블록에 대하여 디블록킹 필터링을 수행하는 루프 필터;
    상기 복호화된 매크로블록에 대하여 상기 프레임 매크로블록 버퍼에 저장된 값을 참조하여 움직임 보상 및 인트라 예측을 수행하는 움직임 보상/인트라 예측부; 및
    상기 복호화된 매크로블록에 대하여 역변환/역양자화를 수행하는 역변환/역양자화부를 포함하는 영상의 복호화 장치.
  15. 제14항에 있어서,
    상기 버퍼링 제어부는,
    상기 매크로블록을 상기 프레임 매크로블록 버퍼에 저장하기 위한 기준 위치를 결정하는 기준 위치 결정부;
    상기 매크로블록의 부호화 모드를 판단하는 부호화 모드 결정부; 및
    상기 기준 위치 및 상기 부호화 모드를 기초로 하여 상기 프레임 매크로블록 버퍼에서 상기 매크로블록의 저장 위치를 결정하는 저장 위치 결정부를 포함하는 것을 특징으로 하는 영상의 복호화 장치.
  16. 삭제
KR1020090000844A 2009-01-06 2009-01-06 픽셀의 버퍼링 방법 및 버퍼 시스템 KR101060492B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090000844A KR101060492B1 (ko) 2009-01-06 2009-01-06 픽셀의 버퍼링 방법 및 버퍼 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090000844A KR101060492B1 (ko) 2009-01-06 2009-01-06 픽셀의 버퍼링 방법 및 버퍼 시스템

Publications (2)

Publication Number Publication Date
KR20100081553A KR20100081553A (ko) 2010-07-15
KR101060492B1 true KR101060492B1 (ko) 2011-08-30

Family

ID=42641946

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090000844A KR101060492B1 (ko) 2009-01-06 2009-01-06 픽셀의 버퍼링 방법 및 버퍼 시스템

Country Status (1)

Country Link
KR (1) KR101060492B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100668302B1 (ko) 2004-07-28 2007-01-12 삼성전자주식회사 비디오 디코더/엔코더에서의 메모리 맵핑 장치 및 그 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100668302B1 (ko) 2004-07-28 2007-01-12 삼성전자주식회사 비디오 디코더/엔코더에서의 메모리 맵핑 장치 및 그 방법

Also Published As

Publication number Publication date
KR20100081553A (ko) 2010-07-15

Similar Documents

Publication Publication Date Title
JP6766195B2 (ja) 符号化装置、復号装置、符号化方法、復号方法、及びプログラム
US10728576B2 (en) Intra-prediction method using filtering, and apparatus using the method
CN107277539B (zh) 减少用于上下文自适应熵解码中的行缓存的方法及装置
US9264739B2 (en) Method and apparatus for encoding/decoding image information
KR101852789B1 (ko) 참조 픽쳐 리스트 관리 방법 및 이러한 방법을 사용하는 장치
JP3734494B2 (ja) 画像符号化システム、画像復号システム、及び画像を分割したブロックの画素値の予測方法
JP5048146B2 (ja) Ac予測状態情報のためのビットプレーンコーディングおよびデコーディング
DK2684362T3 (en) Video encoding and decoding
KR100750137B1 (ko) 영상의 부호화,복호화 방법 및 장치
KR20180029905A (ko) 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
KR20180037575A (ko) 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
TWI527440B (zh) 在視訊寫碼中針對高效率視訊寫碼(hevc)延伸之多層之低複雜度支援
US20080285644A1 (en) Apparatus and Method For Encoding and Decoding Moving Picture Using Adaptive Scanning
EP1615446A2 (en) Pipelining decoding apparatus and method
JP2017511620A (ja) オーバーラップエリア内の再構成されたサンプル値のブロックベクトル予測及び推定におけるイノベーション
US20160080753A1 (en) Method and apparatus for processing video signal
KR20170021337A (ko) 해시 기반의 블록 매칭의 결과에 기초한 인코더 결정
CN108377393A (zh) 编码视频数据的方法以及装置
CN104396249A (zh) 可伸缩视频编码的双向预测的方法和设备
EP3884667B1 (en) Video coding with triangular shape prediction units
CN113826393A (zh) 图像编码/解码方法和装置以及存储比特流的记录介质
JP5605188B2 (ja) 動画像符号化装置
KR101060492B1 (ko) 픽셀의 버퍼링 방법 및 버퍼 시스템
US8249373B2 (en) Image data decoding apparatus and method for decoding image data
JP2009111712A (ja) 映像符号化装置及び方法

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

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20151207

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160701

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20170703

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee