KR100763914B1 - 고속의 메모리 액세스를 위한 화상 데이터 저장방법 및장치 - Google Patents

고속의 메모리 액세스를 위한 화상 데이터 저장방법 및장치 Download PDF

Info

Publication number
KR100763914B1
KR100763914B1 KR1020060041963A KR20060041963A KR100763914B1 KR 100763914 B1 KR100763914 B1 KR 100763914B1 KR 1020060041963 A KR1020060041963 A KR 1020060041963A KR 20060041963 A KR20060041963 A KR 20060041963A KR 100763914 B1 KR100763914 B1 KR 100763914B1
Authority
KR
South Korea
Prior art keywords
image data
memory
storage
adjacent
block
Prior art date
Application number
KR1020060041963A
Other languages
English (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 KR1020060041963A priority Critical patent/KR100763914B1/ko
Priority to US11/730,130 priority patent/US8189675B2/en
Application granted granted Critical
Publication of KR100763914B1 publication Critical patent/KR100763914B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/24Systems for the transmission of television signals using pulse code modulation
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • 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/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation

Landscapes

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

Abstract

고속의 메모리 액세스를 위한 화상 데이터 저장방법 및 장치가 개시된다. 고속의 메모리 액세스를 위한 화상 데이터 저장 방법은 메크로 블록과 함께 저장하기 위한 상기 메크로 블록에 인접하는 인접 메크로 블록들의 저장 범위를 설정하는 단계; 및 상기 메크로 블록의 제1 화상 데이터 및 상기 인접 메크로 블록들의 상기 저장 범위에 대응하는 제2 화상 데이터를 메모리의 동일한 저장영역에 저장하는 단계를 포함하는 것을 특징으로 한다. 따라서, 본 발명에 따르면, 화상 데이터를 메모리에 저장함에 있어서 메모리 액세스 횟수를 감소시킴으로써, 화상 데이터를 액세스하는데 소요되는 시간 지연을 최소화하여, 보다 고속으로 화상 데이터의 처리를 수행할 수 있도록 하며, 메모리 액세스에 따른 시간 지연이 최소화됨으로 인해 과도한 대역폭이 요구되지 않고서도 메모리에 저장된 화상 데이터를 액세스할 수 있다.

Description

고속의 메모리 액세스를 위한 화상 데이터 저장방법 및 장치{Method and apparatus for recording of image data for access of a memory with high speed}
도 1은 종래의 화상 데이터의 메모리 저장 방식을 설명하기 위한 도면이다.
도 2는 본 발명에 의한 고속의 메모리 액세스를 위한 화상 데이터 저장방법을 설명하기 위한 일 실시예의 플로차트이다.
도 3은 16×16 크기를 갖는 메크로 블록에 인접하는 인접 블록들의 저장 범위를 나타내는 일 예의 도면이다.
도 4는 16×16 크기를 갖는 메크로 블록에 인접하는 인접 블록들의 저장 범위를 나타내는 또 다른 일 예의 도면이다.
도 5는 본 발명에 의한 화상 데이터의 움직임 보상 방법을 설명하기 위한 일 실시예의 플로차트이다.
도 6은 도 5에 도시된 제36 단계를 설명하기 위한 일 예의 도면이다.
도 7는 4×4 블록을 기준으로 움직임 보상을 수행하는 것을 나타내는 일 예의 도면이다.
도 8는 16×16 블록을 기준으로 움직임 보상을 수행하는 것을 나타내는 일 예의 도면이다.
도 9는 본 발명에 의한 화상 데이터의 복호화방법을 설명하기 위한 일 실시 예의 플로차트이다.
도 10은 본 발명에 의한 고속의 메모리 액세스를 위한 화상 데이터 저장장치를 설명하기 위한 일 실시예의 블록도이다.
도 11은 본 발명에 의한 화상 데이터의 움직임 보상장치를 설명하기 위한 일 실시예의 블록도이다.
도 12는 본 발명에 의한 화상 데이터의 복호화장치를 설명하기 위한 일 실시예의 블록도이다.
본 발명은 화상의 실시간 처리에 관한 것으로, 보다 상세하게는 화상 데이터를 액세스하는데 소요되는 시간 지연을 최소화하는 화상 데이터 저장방법 및 장치에 관한 것이다.
도 1은 종래의 화상 데이터의 메모리 저장 방식을 설명하기 위한 도면이다.
도 1의 (a)는 화상 데이터의 프레임을 프레임의 각 라인별로 메모리의 각 열(row)에 저장하는 방식이고, 도 1의 (b)는 화상 데이터의 프레임을 메크로 블록 단위로 메모리의 각 열에 저장하는 방식이다.
도 1의 (a)에 도시된 방식은 메모리를 액세스할 경우에 메모리의 각 열을 변경해가면서 프레임의 화상 데이터를 액세스해야 한다. 그런데 디램(DRAM) 메모리의 경우, 메모리를 액세스하는데 소요되는 시간의 상당 부분은 메모리의 열을 변경하 는데 소요된다. 따라서, 화상 데이터를 프레임의 각 라인별로 메모리의 각 열(row)에 저장하는 방식은 화상 데이터를 액세스하기 위해 반복적으로 메모리의 열을 변경해가면서 액세스해야 하기 때문에, 상대적으로 액세스하는데 많은 시간이 소요되는 문제점이 있다. 일반적으로 메모리의 데이터를 읽어들이는 시간을 "1"이라 할 때, 메모리의 열을 변경하는 지연시간은 "12"에 해당하여 메모리의 열을 변경하는 경우에 큰 지연이 발생하게 된다. 따라서 이러한 메모리의 열을 변경하는 경우를 줄이기 위해 메크로 블록 단위로 하나의 열에 저장하는 방법이 제안되었다.
도 1의 (b)는 메크로 블록단위로 하나의 메모리 열에 저장하는 경우를 도시한 것이다. 도 1의 (b)에 도시된 바와 같이, 메크로 블록 단위로 하나의 메모리 열에 저장하는 경우에, 움직임 보상을 위해 필요한 9×9 블록의 화상 데이터가 이전 프레임의 4개의 메크로 블록들에 걸쳐 있는 경우가 존재한다. 따라서, 이러한 경우에, 4개의 메크로 블록들의 화상 데이터를 액세스하기 위해서는 메모리의 열을 4번 변경해야 한다. 따라서, 이전 프레임을 메크로 블록 단위로 저장한다고 하더라도, 움직임 보상을 위해 필요한 화상 데이터가 복수의 메크로 블록들에 각각 존재할 경우에는 메모리의 열을 변경할 필요가 있기 때문에, 메모리를 액세스하는데 많은 시간이 소요되는 문제점이 있다.
본 발명이 이루고자 하는 기술적 과제는 화상 데이터를 메모리에 저장함에 있어서 메모리 액세스 횟수를 감소시킴으로써, 화상 데이터를 액세스하는데 소요되는 시간 지연을 최소화하는 고속의 메모리 액세스를 위한 화상 데이터 저장방법 및 장치를 제공하는데 있다.
상기의 과제를 이루기 위해, 본 발명에 의한 고속의 메모리 액세스를 위한 화상 데이터 저장방법은 메크로 블록과 함께 저장하기 위한 상기 메크로 블록에 인접하는 인접 메크로 블록들의 저장 범위를 설정하는 단계; 및 상기 메크로 블록의 제1 화상 데이터 및 상기 인접 메크로 블록들의 상기 저장 범위에 대응하는 제2 화상 데이터를 메모리의 동일한 저장영역에 저장하는 단계를 포함하는 것을 특징으로 한다.
상기의 다른 과제를 이루기 위해, 본 발명에 의한 고속의 메모리 액세스를 위한 화상 데이터 저장장치는 메크로 블록과 함께 저장하기 위한 상기 메크로 블록에 인접하는 인접 메크로 블록들의 저장 범위를 설정하는 저장 범위 설정부; 및 상기 메크로 블록의 제1 화상 데이터 및 상기 인접 메크로 블록들의 상기 저장 범위에 대응하는 제2 화상 데이터를 메모리의 동일한 저장영역에 저장하도록 제어하는 메모리 제어부를 포함하는 것을 특징으로 한다.
이하, 본 발명에 의한 고속의 메모리 액세스를 위한 화상 데이터 저장방법을 첨부된 도면을 참조하여 상세히 설명한다.
도 2는 본 발명에 의한 고속의 메모리 액세스를 위한 화상 데이터 저장 방법을 설명하기 위한 일 실시예의 플로차트이다. 본 발명에서는 메크로블록 단위로 하나의 메모리열에 저장하지 않고, 소정의 메크로블록에 대해 주위의 메크로블록의 인접한 영역을 해당 메크로블록에 포함시켜 하나의 메모리 열에 저장하는 것을 특 징으로 한다. 즉, 주위의 메크로블록의 인접한 영역을 해당하는 소정의 메크로블록과 같이 저장하도록 함으로써, 메크로블록에 걸쳐서 메모리 엑세스가 필요한 경우에도 메모리의 열을 변경하지 않고 하나의 메모리 열에서 정보를 가져올 수 있도록 구성하는 것을 특징으로 한다.
이를 위하여, 메크로 블록과 함께 저장하기 위한 메크로 블록에 인접하는 인접 메크로 블록들의 저장 범위를 설정한다(제10 단계). 만일, 메크로 블록의 크기가 M×N의 크기를 갖고, 기준 블록의 크기가 a×b인 경우에, 메크로 블록의 크기를 포함하는 (M+a-1)×(N+b-1)의 크기를 갖는 블록과 중첩하는 인접 메크로 블록들의 범위를 저장 범위로서 설정하는 것을 특징으로 한다. 여기서 기준 블록은 예를 들어, 움직임 보상을 수행한다고 했을 때, 움직임 보상을 위한 블록 크기를 의미한다. M×N의 크기를 갖는 메크로 블록의 화상 데이터를 제1 화상 데이터라 하고, (M+a-1)×(N+b-1)의 크기를 갖는 블록과 중첩하는 인접 메크로 블록들의 화상 데이터를 제2 화상 데이터라 한다.
예를 들어, 저장하고자 하는 메크로 블록의 크기가 16×16의 크기를 갖고, 기준 블록의 크기가 9×9인 경우에, 확장되는 블록의 크기가 24×24의 크기를 갖는다. 이 경우, 24×24의 크기를 갖는 블록과 중첩하는 인접 메크로 블록들의 범위를 저장 범위로서 설정한다.
기준 블록의 크기에 따라 저장되는 범위가 확장되지만, 메모리의 구조에 따라 하나의 열에 저장 가능한 범위가 한정되는 경우에는 한정되는 범위내에서 최대한 확장하여 저장함으로써, 메모리 엑세스에 있어서 메모리 열 간의 변경을 최소화 할 수 있게 된다. 즉, 위의 기준 블록의 크기에 따라 저장되는 범위의 확장이 고정되는 것이 아니고 하드웨어적인 한계 등의 제한 사항에 따라 확장이 제안되는 경우에도 그 제한이 허락하는 한도에서 최대한 확장을 하여 저장함으로써 메모리 엑세스의 속도를 증가시킬 수 있게 된다.
도 3은 본 발명의 실시예에 따라 16×16 크기를 갖는 메크로 블록에 인접하는 인접 블록들의 저장 범위를 나타내는 일 예의 도면이다. 도 3에 도시된 바와 같이, 16×16 크기를 갖는 메크로 블록 ①에 인접하는 블록들 ② 내지 ⑨와 24×24의 크기를 갖는 블록 ⑩이 중첩하는 부분(즉, 빗금친 부분)이 저장범위가 된다.
본 발명의 실시예에서 저장 범위는 도 3에 도시된 바와 같이, 저장하고자 하는 메크로 블록 ①을 기준으로 상측에 인접하는 메크로 블록들 ②, ③ 및 ⑨, 하측에 인접하는 메크로 블록들 ⑤, ⑥ 및 ⑦, 좌측에 인접하는 메크로 블록들 ③, ④ 및 ⑤, 우측에 인접하는 메크로 블록들 ⑦, ⑧ 및 ⑨ 중에서 어느 하나 이상의 메크로 블록들을 저장 범위로서 설정하는 것을 특징으로 한다.
도 4는 16×16 크기를 갖는 메크로 블록에 인접하는 인접 블록들의 저장 범위를 나타내는 또 다른 일 예의 도면이다. 저장하고자 하는 메크로 블록 ①을 기준으로 상측에 인접하는 메크로 블록들 ②, ③ 및 ⑨, 하측에 인접하는 메크로 블록들 ⑤, ⑥ 및 ⑦, 좌측에 인접하는 메크로 블록들 ③, ④ 및 ⑤, 우측에 인접하는 메크로 블록들 ⑦, ⑧ 및 ⑨ 중에서 저장하고자 하는 메크로 블록 ①의 인접한 두 변을 확장한 영역을 저장 범위로서 설정하는 것을 특징으로 한다. 즉, ②, ③ 및 ④의 조합 또는 ④, ⑤ 및 ⑥의 조합 또는 ⑥, ⑦ 및 ⑧의 조합 또는 ⑧, ⑨ 및 ② 의 조합으로 설정된다. 이하의 실시예에서는 이 중 ②, ③ 및 ④의 조합으로 저장 범위가 설정되는 경우를 중심으로 설명하기로 한다. 이는 실시예에 불과한 것으로 본 발명의 기술적 범위에 이에 한정되는 것은 아니다.
제10 단계 후에, 메크로 블록의 제1 화상 데이터 및 인접 메크로 블록들의 저장 범위에 대응하는 제2 화상 데이터를 메모리의 동일한 저장영역에 저장한다(제12 단계). 예를 들어, 도 4에 도시된 바와 같이, 본 발명의 실시예에서는 메크로 블록 ①의 제1 화상 데이터를 메크로 블록 ①에 인접하는 메크로 블록들 ②, ③ 및 ④의 제2 화상 데이터와 함께, 같은 저장 영역에 저장한다.
특히, 동일한 저장 영역으로서 메모리의 동일한 열(row)에 저장하는 것을 특징으로 한다. 즉, 메모리의 동일한 열에 액세스에 필요한 범위들을 모두 저장함으로써, 저장된 화상 데이터를 액세스하는데 있어서 메모리의 열을 변경함으로 인해 지연되는 시간을 최소화할 수 있다. 한편, 인접 블록들의 저장 범위의 설정시에 메모리의 동일한 열에 제1 화상데이터 및 제2 화상 데이터가 저장될 수 있도록 하기 위해, 인접 블록들의 저장 범위의 크기를 소정 범위로 제한한다. 여기서, 소정 범위는 메모리의 하나의 열에 저장될 수 있는 최대 데이터량을 고려하여 정해진다.
이하, 전술한 화상 데이터 저장방법을 사용한 화상 데이터의 움직임 보상 방법을 첨부된 도면을 참조하여 상세히 설명한다.
도 5는 본 발명의 실시예에 의한 고속의 메모리 액세스를 위한 화상 데이터 저장방법이 적용되는 화상 데이터의 움직임 보상 방법을 설명하기 위한 일 실시예의 플로차트이다.
먼저, 움직임 보상이 이루어진 이전 프레임을 사용해, 현재 프레임의 메크로 블록에 대한 움직임 보상을 수행한다(제30 단계). 현재 프레임의 메크로 블록에 대한 움직임 보상은 메크로 블록에 대응하는 이전 프레임의 메크로 블록을 사용해 보상한다. 여기서, 움직임 보상에 대한 기술은 종래의 기술과 동일하므로 상세한 설명을 생략한다. 한편, 움직임 보상을 위해 사용되는 이전 프레임의 화상 데이터 저장 방법은 전술한 고속의 메모리 액세스를 위한 화상 데이터의 저장방법에 의해 저장된 것으로 후술할 제34 단계에서 기술한다. 제30 단계는 후술하는 제34 단계의 저장방법에 의해 저장된 이전 프레임의 화상 데이터를 사용해 움직임 보상을 하는 것을 특징으로 한다.
제30 단계 후에, 움직임 보상이 수행된 메크로 블록에 대해 디블록킹(deblocking) 필터링을 수행한다(제32 단계). 디블로킹 필터링 처리는 화상의 복호화시에 발생하는 블록 메크로 블록 사이의 화상 왜곡을 제거하기 위한 과정을 말한다. 디블로킹 필터링을 수행함으로써 블록들 경계에서 나타나는 화질 열화를 방지할 수 있다. 여기서 디블록킹 필터링 과정은 종래의 디블록킹 필터링 과정과 동일하므로, 상세한 설명은 생략한다.
제32 단계 후에, 움직임 보상이 수행된 메크로 블록과 함께 저장하기 위한 메크로 블록에 인접하는 인접 메크로 블록들의 저장 범위를 설정한다(제34 단계). 만일, 메크로 블록의 크기가 M×N의 크기를 갖는 경우에, 메크로 블록을 포함하는 (M+8)×(N+8)의 크기를 갖는 블록과 중첩하는 인접 메크로 블록들의 범위를 저장 범위로서 설정한다. 예를 들어, 저장하고자 하는 메크로 블록의 크기가 16×16의 크기를 갖는 경우에, 메크로 블록을 포함하는 24×24의 크기를 갖는 블록과 중첩하는 인접 메크로 블록들의 범위를 저장 범위로서 설정한다.
제34 단계 후에, 메크로 블록의 제1 화상 데이터 및 인접 메크로 블록들의 저장 범위에 대응하는 제2 화상 데이터를 메모리의 동일한 저장영역에 저장한다(제36 단계). 디블록킹 필터링된 메크로 블록의 제1 화상 데이터를 메모리에 저장할 때, 메크로 블록에 인접하는 메크로 블록들의 제2 화상 데이터를 제1 화상 데이터와 동일한 저장영역에 저장한다. 메모리는 움직임 보상을 위해 필요한 이전 프레임에 대한 화상 데이터가 저장되는 공간이다.
제2 화상 데이터를 제1 화상 데이터와 동일한 저장영역에 저장한다. 특히, 동일한 저장 영역으로서 메모리의 동일한 열(row)에 저장하는 것을 특징으로 한다. 메모리의 동일한 열에 저장함으로써, 다음 프레임의 움직임 보상을 위해 필요한 인접 메크로 블록들의 화상 데이터를 액세스하는데 소요되는 시간을 단축시킬 수 있다. 이때, 메모리의 동일한 열에 제1 화상 데이터 및 제2 화상 데이터가 모두 저장될 수 있도록 하기 위해, 제2 화상 데이터의 크기를 소정 크기로 제한한다. 여기서, 소정 크기는 메모리의 하나의 열에 저장될 수 있는 최대 데이터량을 고려하여 정해진다.
도 4에 도시된 바와 같이, 인접하는 메크로 블록들 ②, ③ 및 ④만을 저장 범위로서 설정한 경우를 예를 들어 설명한다. 도 6은 도 5에 도시된 제36 단계를 설명하기 위한 일 예의 도면이다. 도 6에서 제1 인접 메크로 블록 ① 중 제1 부분 블록은 16×8 블록이고, 제2 인접 메크로 블록 ② 중 제2 부분 블록의 크기는 8×8 블록이고, 제3 인접 메크로 블록 ③ 중 제3 부분 블록의 크기는 8×16 블록임을 확인할 수 있다. 도 6에 도시된 바와 같이, 움직임 보상이 이루어진 특정 메크로 블록에 대해, 메모리에 저장할 때에, 특정 메크로 블록에 인접하는 제1 인접 메크로 블록 ①, 제2 인접 메크로 블록 ② 및 제3 인접 메크로 블록 ③ 각각의 부분 블록들에 대한 화상 데이터를 제2 화상 데이터로서 특정 메크로 블록의 제1 화상 데이터와 함께 메모리의 동일한 열에 저장한다. 현재 프레임의 특정 메크로 블록에 인접하는 제1 내지 제3 인접 메크로 블록들의 화상 데이터를 메모리의 동일한 열에 저장함으로써, 다음 프레임의 움직임 보상을 위해 필요한 제1 내지 제3 인접 메크로 블록들의 화상 데이터를 동일한 열에서 액세스할 수 있다. 따라서, 움직임 보상을 위해 메모리의 열을 변경해가면서 화상 데이터를 액세스할 필요가 없으므로, 화상 복원에 있어 많은 시간 지연이 일어나지 않고, 따라서 움직임 보상을 위해 큰 대역폭이 요구되지도 않는다.
도 7은 4×4 블록을 기준으로 움직임 보상을 수행하는 것을 나타내는 일 예의 도면이다. 도 7의 (a)는 움직임 보상을 수행하기 위한 현재 프레임의 4×4 블록에 대응하는 이전 프레임의 9×9 블록 ①이 도시되어 있다. 여기서, 현재 프레임의 4×4 블록에 대응하는 이전 프레임의 9×9 블록 ①이 필요한 이유는 화상의 보간을 위해 4×4 블록 주변의 화상 데이터가 필요하기 때문이다. H.264/AVC에서는 이전 프레임의 해당 블록을 기준으로 좌측의 2픽셀, 우측의 3픽셀, 상측의 2픽셀 및 하측의 3픽셀을 화상의 보간을 위한 정보로서 사용한다. 따라서, 4×4 블록을 기준으로 움직임 보상을 수행할 때, 이전 프레임의 9×9 블록 ①이 사용된다. 도 7의 (a)에서 현재 프레임의 4×4 블록에 대응하는 이전 프레임의 9×9 블록 ①이 이전 프레임의 메크로 블록들 ② 및 ③에 걸쳐있음을 확인할 수 있다. 9×9 블록 ①이 이전 프레임의 메크로 블록들 ② 및 ③에 걸쳐있더라도 메크로 블록 ②의 화상 데이터를 저장할 때에, 메크로 블록 ③의 부분 블록에 대한 화상 데이터를 함께 소정 메모리의 동일한 열에 저장하기 때문에, 9×9 블록 ①의 화상 데이터를 액세스할 때에 열을 변경하지 않고서도 한번의 액세스로 움직임 보상을 위한 정보를 읽어올 수 있다. 도 7의 (b)는 현재 프레임의 4×4 블록에 대응하는 이전 프레임의 9×9 블록 ①이 이전 프레임의 메크로 블록들 ②, ③, ④ 및 ⑤에 걸쳐있는 것을 나타내는 도면이다. 전술한 바와 같이, 여기서의 9×9 블록 ①이 이전 프레임의 메크로 블록들 ②, ③, ④ 및 ⑤에 걸쳐있더라도 메크로 블록 ②의 화상 데이터를 저장할 때에, 메크로 블록 ③, ④ 및 ⑤ 각각의 부분 블록들에 대한 화상 데이터를 함께 소정 메모리의 동일한 열에 저장하기 때문에, 9×9 블록 ①의 화상 데이터를 액세스할 때에 열을 변경하지 않고서도 한번의 액세스로 움직임 보상을 위한 정보를 읽어올 수 있다.
도 8은 16×16 블록을 기준으로 움직임 보상을 수행하는 것을 나타내는 일 예의 도면이다. 도 8은 움직임 보상을 수행하기 위한 현재 프레임의 16×16 블록에 대응하는 이전 프레임의 21×21 블록 ①이 도시되어 있다. 여기서, 현재 프레임의 16×16 블록에 대응하는 이전 프레임의 21×21 블록 ①이 필요한 이유는 화상의 보간을 위해 16×16 블록 주변의 화상 데이터가 필요하기 때문이다. 전술한 바와 같이, H.264/AVC에서는 이전 프레임의 해당 블록을 기준으로 좌측의 2픽셀, 우측의 3 픽셀, 상측의 2픽셀 및 하측의 3픽셀을 화상의 보간을 위한 정보로서 사용한다. 따라서, 16×16 블록을 기준으로 움직임 보상을 수행할 때, 이전 프레임의 21×21 블록 ①이 사용된다. 도 8에서 현재 프레임의 16×16 블록에 대응하는 이전 프레임의 21×21 블록 ①이 이전 프레임의 메크로 블록들 ② 및 ③에 걸쳐있음을 확인할 수 있다. 21×21 블록 ①이 이전 프레임의 메크로 블록들 ② 내지 ⑩에 걸쳐있더라도 이전 프레임에서 메크로 블록 ②의 화상 데이터를 저장할 때에, 메크로 블록 ③, ④ 및 ⑤ 각각의 부분 블록들에 대한 화상 데이터를 함께 메모리의 동일한 열에 저장하기 때문에, 21×21 블록의 화상 데이터를 액세스할 때에 메크로 블록 ③, ④ 및 ⑤ 각각의 부분 블록을 액세스하기 위해 열을 변경하지 않고서도 한 번의 액세스로 메크로 블록 ③, ④ 및 ⑤의 화상 데이터를 액세스할 수 있다.
제36 단계 후에, 현재 프레임의 움직임 보상이 종료되었는가를 검사한다(제38 단계). 만일, 움직임 보상이 종료되지 않았다면, 전술한 제30 단계로 진행하여 전술한 제30 단계 내지 제36 단계를 반복한다.
한편, 현재 프레임의 움직임 보상이 종료되었다면, 전술한 과정을 종료한다. 현재 프레임에 대한 움직임 보상 및 움직임 보상이 이루어진 현재 프레임에 대해 메모리로의 저장이 완료되면, 다음 프레임에 대한 움직임 보상을 수행한다. 다음 프레임에 대한 움직임 보상은 메모리의 동일 저장영역에 저장된 현재 프레임의 제1 및 제2 화상 데이터를 사용해 움직임 보상을 수행한다.
본 발명의 의한 메모리 액세스에 따른 시간을 종래의 기술과 비교하면, 다음의 표 1과 같다.
Figure 112006032722983-pat00001
여기서, L은 메모리의 열을 변경하는데 소요되는 단위시간으로서 12 [cycle] 이상의 오랜 시간을 의미한다. 또한, 표 1에 도시된 소요 시간은 메크로 블록 즉, 16×16 블록의 크기의 화상 데이터에 대한 리드 및 라이트에 따른 소요시간을 나타낸 것이다.
종래 기술 1은 도 1의 (a)와 같이, 프레임 단위로 움직임 보상을 위한 화상 데이터를 소정 메모리에 저장하고, 프레임 단위로 저장된 화상 데이터를 읽어오는 기술에 관한 것으로 표 1에 기재된 바와 같이 저장 및 읽어오는데 소요되는 시간이 L*160 + 496의 시간이 소요된다. 종래 기술 2는 도 1의 (b)와 같이, 메크로 블록 단위로 움직임 보상을 위한 화상 데이터를 메모리에 저장하고, 메크로 블록 단위로 저장된 화상 데이터를 읽어오는 기술에 관한 것으로 표 1에 기재된 바와 같이 저장 및 읽어오는데 소요되는 시간이 L*65 + 496의 시간이 소요된다. 이에 비해, 본원발명은 메크로 블록 단위로 움직임 보상을 위한 화상 데이터를 소정 메모리에 저장하되, 저장되는 화상 데이터가 단지 메크로 블록의 화상 데이터뿐만 아니라, 메크로 블록과 인접하는 인접 메크로 블록들의 화상 데이터도 동일한 열에 저장한다. 이때, 메모리의 동일한 열에 움직임 보상된 메크로 블록과 인접하는 인접 메크로 블록들의 화상 데이터를 저장하기 위해 소요되는 시간은 (L + 4*16) + (6*8 + 2*16) + (2*16 + 4*8)로서, 종래 기술 2에 비해 L과 관련한 시간 소요는 줄어들고, 반면에 메모리의 저장범위가 커짐에 따라 (6*8 + 2*16) + (2*16 + 4*8)의 추가 시간이 소요된다. 이때, 추가되는 시간 (6*8 + 2*16) + (2*16 + 4*8)은 인접 메크로 블록들의 화상 데이터를 저장하는데 소요되는 시간이다. 즉, (6*8 + 2*16)에서 6*8은 인접 메크로블록들 중 상측에 인접하는 메크로 블록들의 부분 블록인 24×8 블록에 대해 읽어오는데 소요되는 시간이고, 2*16는 인접 메크로블록들 중 좌측에 인접하는 메크로 블록들의 부분 블록인 8×16 블록에 대해 읽어오는데 소요되는 시간이다. 또한, (2*16 + 4*8)의 2*16은 인접 메크로블록들 중 좌측에 인접하는 메크로 블록들의 부분 블록인 8×16 블록에 대해 저장하는데 소요되는 시간이고, 4*8은 인접 메크로블록들 중 상측에 인접하는 메크로 블록들의 부분 블록인 24×8 블록에 대해 저장하는데 소요되는 시간이다. 본원발명은 저장된 화상 데이터에 대해 메크로 블록 단위로 읽어온다. 이때, 메모리에 저장된 메크로 블록과 인접하는 인접 메크로 블록들의 화상 데이터를 읽어오는데 소요되는 시간은 ((L + 27)*16) + (6*8 + 2*16)로서, 종래 기술1 또는 2에 비해 상대적으로 작은 시간이 소요단다. 따라서, 본원발명에 의한 16×16 블록의 크기의 화상 데이터에 대한 리드 및 라이트에 따른 소요시간은 L*17 +720으로서, 종래 기술 1 및 2에 비해 상대적으로 빠른 시간 내에 액세스가 이루어진다는 것을 확인할 수 있다.
이하, 전술한 화상 데이터 저장방법을 사용한 화상 데이터의 복호화 방법을 첨부된 도면을 참조하여 상세히 설명한다.
도 9는 본 발명의 실시예에 의한 고속의 메모리 액세스를 위한 화상 데이터 저장방법이 적용되는 화상 데이터의 복호화방법을 설명하기 위한 일 실시예의 플로차트이다.
먼저, 현재 프레임을 복호화한다(제50 단계). 부호화된 화상 데이터의 현재 프레임에 대해 엔트로피 복호화를 수행한다. 엔트로피 복호화 과정은 종래의 기술과 동일하므로 상세한 설명을 생략한다.
제50 단계 후에, 복호화된 현재 프레임을 역양자화한다(제52 단계). 복호화된 현재 프레임의 화상 데이터에 대해 부호화 과정에서의 양자화 계수에 대한 정보를 사용하여 역양자화한다. 역양자화 과정의 기술은 종래 기술과 동일하므로, 상세한 설명은 생략한다.
제52 단계 후에, 역양자화된 현재 프레임을 역변환한다(제54 단계). 이산 코사인 변환을 이용하여 공간영역으로부터 주파수 영역으로 변환된 화상 데이터에 대해 다시 주파수 영역에서 공간 영역으로 역변환한다. 역변환 과정의 기술은 종래 기술과 동일하므로, 상세한 설명은 생략한다.
제54 단계 후에, 움직임 보상이 이루어진 이전 프레임을 사용해, 역변환된 현재 프레임의 특정 메크로 블록에 대한 움직임 보상을 수행한다(제56 단계). 현재 프레임의 특정 메크로 블록에 대한 움직임 보상은 특정 메크로 블록에 대응하는 이전 프레임의 메크로 블록을 사용해 보상한다. 움직임 보상에 대한 기술은 종래의 기술과 동일하다.
제56 단계 후에, 움직임 보상이 수행된 특정 메크로 블록에 대해 디블록킹(deblocking) 필터링을 수행한다(제58 단계). 디블로킹 필터링 처리는 화상의 복호화시에 발생하는 블록 메크로 블록 사이의 화상 왜곡을 제거하기 위한 과정을 말한다. 디블로킹 필터링을 수행함으로써 블록들 경계에서 나타나는 화질 열화를 방지할 수 있다. 여기서 디블록킹 필터링 과정은 종래의 디블록킹 필터링 과정과 동일하므로, 상세한 설명은 생략한다.
제58 단계 후에, 움직임 보상이 수행된 메크로 블록과 함께 저장하기 위한 메크로 블록에 인접하는 인접 메크로 블록들의 저장 범위를 설정한다(제60 단계). 인접 메크로 블록들의 저장 범위를 설정하는 과정은 전술한 도 5의 제34 단계와 동일하므로 상세한 설명을 생략한다.
제60 단계 후에, 메크로 블록의 제1 화상 데이터 및 인접 메크로 블록들의 저장 범위에 대응하는 제2 화상 데이터를 메모리의 동일한 저장영역에 저장한다(제62 단계). 제1 화상 데이터 및 제2 화상 데이터를 메모리의 동일한 저장영역에 저장하는 과정은 전술한 도 5의 제36 단계와 동일하므로 상세한 설명을 생략한다.
제62 단계 후에, 현재 프레임의 움직임 보상이 종료되었는가를 검사한다(제64 단계). 만일, 움직임 보상이 종료되지 않았다면, 전술한 제56 단계로 진행하여 전술한 제56 단계 내지 제62 단계를 반복한다.
한편, 현재 프레임의 움직임 보상이 종료되었다면, 전술한 과정을 종료한다. 현재 프레임에 대한 움직임 보상 및 움직임 보상이 이루어진 현재 프레임에 대해 소정 메모리로의 저장이 완료되면, 다음 프레임에 대한 움직임 보상을 수행한다. 다음 프레임에 대한 움직임 보상은 메모리의 동일 저장영역에 저장된 현재 프레임의 제1 및 제2 화상 데이터를 사용해 움직임 보상을 수행한다.
한편, 상술한 본 발명의 화상 데이터의 움직임 보상방법 및 화상 데이터의 복호화방법은 컴퓨터에서 읽을 수 있는 코드/명령들(instructions)/프로그램으로 구현될 수 있고, 매체, 예를 들면 컴퓨터로 읽을 수 있는 기록 매체를 이용하여 상기 코드/명령들/프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체는 마그네틱 저장 매체(예를 들어, 롬, 플로피 디스크, 하드디스크, 마그네틱 테이프 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등) 및 캐리어 웨이브(예를 들면, 인터넷을 통한 전송)와 같은 저장 매체를 포함한다. 또한, 본 발명의 실시예들은 컴퓨터로 읽을 수 있는 코드를 내장하는 매체(들)로서 구현되어, 네트워크를 통해 연결된 다수개의 컴퓨터 시스템들이 분배되어 처리 동작하도록 할 수 있다. 본 발명을 실현하는 기능적인 프로그램들, 코드들 및 코드 세그먼트(segment)들은 본 발명이 속하는 기술 분야의 프로그래머들에 의해 쉽게 추론될 수 있다.
이하, 본 발명에 의한 고속의 메모리 액세스를 위한 화상 데이터 저장장치를 첨부된 도면을 참조하여 상세히 설명한다.
도 10은 본 발명에 의한 고속의 메모리 액세스를 위한 화상 데이터 저장 장치를 설명하기 위한 일 실시예의 블록도로서, 저장범위 설정부(90), 메모리 제어부(92) 및 메모리(94)로 구성된다.
저장범위 설정부(90)는 메크로 블록과 함께 저장하기 위한 메크로 블록에 인접하는 인접 메크로 블록들의 저장 범위를 설정하고, 설정한 결과를 메모리 제어부(92)로 출력한다.
저장 범위 설정부(90)는 메크로 블록의 크기가 M×N의 크기를 갖는 경우에, 해당되는 M×N의 메크로블록에 대해서 기준 블록의 크기(a×b)를 감안하여 확장되는 저장 영역은 (M+a-1)×(N+b-1)의 크기를 갖게 되도록 설정한다. 이때 M×N의 메크로블록의 저장 영역을 제 1 화상 데이터라 하고, 인접한 메크로블록으로부터의 영역을 제 2 화상 데이터라 한다. 예컨데, 저장하고자 하는 메크로 블록의 크기가 16×16의 크기를 갖는 경우에, 기준 블록의 크기가 9×9가 되며, 이에 따라 확장되는 저장 영역은 메크로 블록을 포함하는 24×24의 크기를 갖는 블록이 된다. 이 경우, 메크로 블록의 16×16의 영역이 제 1 화상 데이터가 되며, 추가되는 영역이 제 2 화상 데이터가 된다.
저장 범위 설정부(90)는 메크로 블록의 상측, 하측, 좌측 및 우측 중 어느 한 곳 이상에 존재하는 인접 메크로 블록들의 저장 범위를 설정하는 것을 특징으로 한다. 즉, 저장 범위 설정부(90)는 도 3에 도시된 바와 같이, 저장하고자 하는 메크로 블록 ①을 기준으로 상측에 인접하는 메크로 블록들 ②, ③ 및 ⑨, 하측에 인접하는 메크로 블록들 ⑤, ⑥ 및 ⑦, 좌측에 인접하는 메크로 블록들 ③, ④ 및 ⑤, 우측에 인접하는 메크로 블록들 ⑦, ⑧ 및 ⑨ 중 어느 하나 이상의 메크로 블록들을 저장 범위로서 설정한다.
메모리 제어부(92)는 메크로 블록의 제1 화상 데이터 및 인접 메크로 블록들의 저장 범위에 대응하는 제2 화상 데이터를 메모리(94)의 동일한 저장영역에 저장하도록 제어한다. 메모리 제어부(92)는 동일한 저장 영역으로서 메모리의 동일한 열(row)에 저장하는 것을 특징으로 한다. 이를 위해, 저장 범위 설정부(90)는 저장 범위를 동일한 열에 제1 화상 데이터 및 제2 화상 데이터가 모두 저장될 수 있도록 설정한다.
메모리(94)는 메모리 제어부(92)의 제어에 따라 제1 화상 데이터 및 제2 화상 데이터를 동일 저장영역 즉, 동일한 열에 저장한다.
이하, 전술한 고속의 메모리 액세스를 위한 화상 데이터 저장장치를 사용한 화상 데이터의 움직임 보상장치를 첨부된 도면을 참조하여 상세히 설명한다.
도 11은 본 발명에 의한 고속의 메모리 액세스를 위한 화상 데이터 저장 장치를 설명하기 위한 일 실시예의 블록도로서, 움직임 보상부(100), 디블록킹 필터링부(110), 저장범위 설정부(115), 메모리 제어부(120) 및 메모리(130)로 구성된다.
움직임 보상부(100)는 움직임 보상이 이루어진 이전 프레임을 사용해, 현재 프레임의 메크로 블록에 대한 움직임 보상을 수행하고, 움직임 보상이 이루어진 화상 데이터를 디블록킹 필터링부(110)로 출력한다. 움직임 보상부(100)는 현재 프레임의 메크로 블록에 대응하는 이전 프레임의 메크로 블록을 사용해 보상한다. 특히, 움직임 보상부(100)는 현재 프레임의 메크로 블록에 대응하는 이전 프레임의 메크로 블록의 화상 데이터와 이러한 이전 프레임의 메크로 블록에 인접하는 인접 메크로 블록들의 화상 데이터를 사용해 움직임 보상을 수행한다. 이를 위해 후술하는 메모리 제어부(120)는 이전 프레임의 메크로 블록의 화상 데이터와 이전 프레임의 메크로 블록에 인접하는 인접 메크로 블록들의 화상 데이터를 메모리(130)의 동일한 저장영역에 저장해 둔다. 움직임 보상부(100)는 하드웨어적으로 구성되는 것을 특징으로 한다.
디블록킹 필터링부(110)는 움직임 보상이 수행된 메크로 블록에 대해 디블록킹(deblocking) 필터링을 수행하고, 필터링된 결과를 저장범위 설정부(115)로 출력한다. 디블록킹 필터링부(110)는 화상의 복호화시에 발생하는 블록 메크로 블록 사이의 화상 왜곡을 제거하기 위한 필터링 처리를 수행하는 수단이다. 디블로킹 필터링을 수행함으로써 블록들 경계에서 나타나는 화질 열화를 방지할 수 있다. 디블록킹 필터링부(110)는 하드웨어적으로 구성되는 것을 특징으로 한다.
저장범위 설정부(115)는 메크로 블록과 함께 저장하기 위한 메크로 블록에 인접하는 인접 메크로 블록들의 저장 범위를 설정하고, 설정한 결과를 메모리 제어부(120)로 출력한다. 저장범위 설정부(115)의 상세한 설명은 전술한 바와 같으므로 생략한다.
메모리 제어부(120)는 움직임 보상이 수행된 메크로 블록의 제1 화상 데이터를 메모리(130)에 저장할 때, 메크로 블록에 인접하는 메크로 블록들의 제2 화상 데이터를 제1 화상 데이터와 동일한 저장영역에 저장하도록 제어한다.
메모리(130)는 움직임 보상을 위해 필요한 이전 프레임에 대한 화상 데이터가 저장되는 공간이다.
메모리 제어부(120)는 제2 화상 데이터와 제1 화상 데이터를 소정 메모리(130)의 동일한 저장영역에 저장하도록 제어한다. 특히, 메모리 제어부(120)는 동일한 저장 영역으로서 메모리(130)의 동일한 열(row)에 저장하도록 제어한다. 이때, 메모리의 동일한 열에 제1 화상 데이터 및 제2 화상 데이터가 모두 저장될 수 있도록 하기 위해, 제2 화상 데이터의 크기는 소정 크기로 제한된다. 여기서, 소정 크기는 메모리(130)의 하나의 열에 저장될 수 있는 최대 데이터량을 고려하여 정해진다.
현재 프레임에 대한 움직임 보상 및 움직임 보상이 이루어진 현재 프레임에 대해 메모리(130)로의 저장이 완료되면, 움직임 보상부(100)는 움직임 보상이 이루어진 현재 프레임을 사용해, 다음 프레임의 메크로 블록에 대한 움직임 보상을 수행한다. 이를 위해, 움직임 보상부(100)는 메모리 제어부(120)의 제어에 의해 메모리(130)에 저장된 현재 프레임의 제1 및 제2 화상 데이터를 제공받는다. 움직임 보상부(100)는 제공된 제1 및 제2 화상 데이터를 사용해 다음 프레임의 메크로 블록에 대한 움직임 보상을 수행한다.
이하, 전술한 고속의 메모리 액세스를 위한 화상 데이터 저장장치를 사용한 화상 데이터의 복호화 장치를 첨부된 도면을 참조하여 상세히 설명한다.
도 12는 본 발명에 의한 고속의 메모리 액세스를 위한 화상 데이터 저장 장치를 설명하기 위한 일 실시예의 블록도로서, 복호화부(200), 역양자화부(210), 역변환부(220), 움직임 보상부(230), 디블록킹 필터링부(240), 저장범위 설정부(245), 메모리 제어부(250) 및 메모리(260)로 구성된다.
복호화부(200)는 부호화된 화상 데이터의 현재 프레임에 대해 엔트로피 복호화를 수행하고, 엔트로피 복호화된 결과를 역양자화부(210)로 출력한다. 엔트로피 복호화 과정은 종래의 기술과 동일하므로 상세한 설명을 생략한다.
역양자화부(210)는 복호화된 현재 프레임을 역양자화하고, 역양자화한 결과를 역변환부(220)로 출력한다. 역양자화부(210)는 복호화된 현재 프레임의 화상 데이터에 대해 부호화 과정에서의 양자화 계수에 대한 정보를 사용하여 역양자화한다. 역양자화 과정의 기술은 종래 기술과 동일하므로, 상세한 설명은 생략한다.
역변환부(220)는 역양자화된 현재 프레임을 역변환하고, 역변환한 결과를 움직임 보상부(230)로 출력한다. 이산 코사인 변환을 이용하여 공간영역으로부터 주파수 영역으로 변환된 화상 데이터에 대해, 역변환부(220)는 다시 주파수 영역에서 공간 영역으로 역변환한다. 역변환 과정의 기술은 종래 기술과 동일하므로, 상세한 설명은 생략한다.
움직임 보상부(230)는 움직임 보상이 이루어진 이전 프레임을 사용해, 역변환된 현재 프레임의 메크로 블록에 대한 움직임 보상을 수행하고, 움직임 보상이 이루어진 화상 데이터를 디블록킹 필터링부(240)로 출력한다. 움직임 보상부(230)는 현재 프레임의 메크로 블록에 대응하는 이전 프레임의 메크로 블록을 사용해 보상한다. 특히, 움직임 보상부(230)는 현재 프레임의 메크로 블록에 대응하는 이전 프레임의 메크로 블록의 화상 데이터와 이러한 이전 프레임의 메크로 블록에 인접하는 인접 메크로 블록들의 화상 데이터를 사용해 움직임 보상을 수행한다. 이를 위해 메모리 제어부(250)는 이전 프레임의 메크로 블록의 화상 데이터와 이전 프레임의 메크로 블록에 인접하는 인접 메크로 블록들의 화상 데이터를 소정 메모리(260)의 동일한 저장영역에 저장해 둔다. 움직임 보상부(230)는 하드웨어적으로 구성되는 것을 특징으로 한다.
디블록킹 필터링부(240)는 움직임 보상이 수행된 특정 메크로 블록에 대해 디블록킹(deblocking) 필터링을 수행하고, 필터링된 결과를 저장범위 설정부(245)로 출력한다. 디블록킹 필터링부(240)는 화상의 복호화시에 발생하는 블록 메크로 블록 사이의 화상 왜곡을 제거하기 위한 필터링 처리를 수행하는 수단이다. 디블록킹 필터링부(240)는 하드웨어적으로 구성되는 것을 특징으로 한다.
저장범위 설정부(245)는 메크로 블록과 함께 저장하기 위한 메크로 블록에 인접하는 인접 메크로 블록들의 저장 범위를 설정하고, 설정한 결과를 메모리 제어부(120)로 출력한다. 저장범위 설정부(245)의 상세한 설명은 전술한 바와 같으므로 생략한다.
메모리 제어부(250)는 움직임 보상이 수행된 메크로 블록의 제1 화상 데이터를 메모리(260)에 저장할 때, 메크로 블록에 인접하는 메크로 블록들의 제2 화상 데이터를 제1 화상 데이터와 동일한 저장영역에 저장하도록 제어한다.
메모리(260)는 움직임 보상을 위해 필요한 이전 프레임에 대한 화상 데이터가 저장되는 공간이다.
메모리 제어부(250)는 제2 화상 데이터와 제1 화상 데이터를 소정 메모리(260)의 동일한 저장영역에 저장하도록 제어한다. 특히, 메모리 제어부(250)는 동일한 저장 영역으로서 메모리(260)의 동일한 열(row)에 저장하도록 제어한다. 이때, 메모리(260)의 동일한 열에 제1 화상 데이터 및 제2 화상 데이터가 모두 저장될 수 있도록 하기 위해, 제2 화상 데이터의 크기는 소정 크기로 제한된다. 여기서, 소정 크기는 메모리(26)의 하나의 열에 저장될 수 있는 최대 데이터량을 고려하여 정해진다.
현재 프레임에 대한 움직임 보상 및 움직임 보상이 이루어진 현재 프레임에 대해 메모리(260)로의 저장이 완료되면, 움직임 보상부(230)는 움직임 보상이 이루어진 현재 프레임을 사용해, 다음 프레임의 메크로 블록에 대한 움직임 보상을 수행한다. 이를 위해, 움직임 보상부(230)는 메모리 제어부(250)의 제어에 의해 메모리(260)에 저장된 현재 프레임의 제1 및 제2 화상 데이터를 제공받는다. 움직임 보상부(230)는 제공된 제1 및 제2 화상 데이터를 사용해 다음 프레임의 특정 메크로 블록에 대한 움직임 보상을 수행한다.
이러한 본원 발명인 고속의 메모리 액세스를 위한 화상 데이터 저장방법 및 장치와, 이 방법을 및 장치를 사용한 화상 데이터의 움직임 보상 방법 및 장치, 이 방법 및 장치를 사용한 복호화 방법 및 장치는 이해를 돕기 위하여 도면에 도시된 실시예를 참고로 설명되었으나, 이는 예시적인 것에 불과하며, 당해 분야에서 통상적 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위에 의해 정해져야 할 것이다.
본 발명에 의한 고속의 메모리 액세스를 위한 화상 데이터 저장방법 및 장치와, 이 방법을 및 장치를 사용한 화상 데이터의 움직임 보상 방법 및 장치, 이 방 법 및 장치를 사용한 복호화 방법 및 장치는 화상 데이터를 메모리에 저장함에 있어서 메모리 액세스 횟수를 감소시킴으로써, 화상 데이터를 액세스하는데 소요되는 시간 지연을 최소화하여, 보다 고속으로 화상 데이터의 처리를 수행할 수 있도록 하며, 메모리 액세스에 따른 시간 지연이 최소화됨으로 인해 과도한 대역폭이 요구되지 않고서도 메모리에 저장된 화상 데이터를 액세스할 수 있다.

Claims (15)

  1. 메크로 블록과 함께 저장하기 위한 상기 메크로 블록에 인접하는 인접 메크로 블록들의 저장 범위를 설정하는 단계; 및
    상기 메크로 블록의 제1 화상 데이터 및 상기 인접 메크로 블록들의 상기 저장 범위에 대응하는 제2 화상 데이터를 메모리의 동일한 저장영역에 저장하는 단계를 포함하는 것을 특징으로 하는 고속의 메모리 액세스를 위한 화상 데이터 저장방법.
  2. 제1항에 있어서, 상기 인접 메크로 블록들의 저장 범위를 설정하는 단계는
    상기 메크로 블록의 크기가 M×N의 크기를 갖고, 기준 블록의 크기가 a×b인 경우에, 상기 메크로 블록의 크기를 포함하는 (M+a-1)×(N+b-1)의 크기를 갖는 블록과 중첩하는 인접 메크로 블록들의 범위를 상기 저장 범위로서 설정하는 것을 특징으로 하는 고속의 메모리 액세스를 위한 화상 데이터 저장방법.
  3. 제1항에 있어서, 상기 인접 메크로 블록들의 저장 범위를 설정하는 단계는
    상기 메크로 블록의 상측, 하측, 좌측 및 우측 중 어느 한 곳 이상에 존재하는 인접 메크로 블록들의 저장 범위를 설정하는 것을 특징으로 하는 고속의 메모리 액세스를 위한 화상 데이터 저장방법.
  4. 제1항에 있어서, 상기 제2 화상 데이터를 상기 제1 화상 데이터와 동일한 저장영역에 저장하는 단계는
    상기 동일한 저장 영역으로서 상기 메모리의 동일한 열(row)에 저장하는 것을 특징으로 하는 고속의 메모리 액세스를 위한 화상 데이터 저장방법.
  5. 제4항에 있어서, 상기 인접 메크로 블록들의 저장 범위를 설정하는 단계는
    상기 저장 범위를 상기 동일한 열에 상기 제1 화상 데이터 및 상기 제2 화상 데이터가 모두 저장될 수 있도록 설정하는 것을 특징으로 하는 고속의 메모리 액세스를 위한 화상 데이터 저장방법.
  6. 제1항에 있어서, 상기 고속의 메모리 액세스를 위한 화상 데이터 저장방법은
    움직임 보상방법에 적용되는 것을 특징으로 하는 고속의 메모리 액세스를 위한 화상 데이터 저장방법.
  7. 제1항에 있어서, 상기 고속의 메모리 액세스를 위한 화상 데이터 저장방법은
    화상 데이터의 복호화 방법에 적용되는 것을 특징으로 하는 고속의 메모리 액세스를 위한 화상 데이터 저장방법.
  8. 제1항 내지 제7항 중 어느 한 항의 방법을 실행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
  9. 메크로 블록과 함께 저장하기 위한 상기 메크로 블록에 인접하는 인접 메크로 블록들의 저장 범위를 설정하는 저장 범위 설정부; 및
    상기 메크로 블록의 제1 화상 데이터 및 상기 인접 메크로 블록들의 상기 저장 범위에 대응하는 제2 화상 데이터를 메모리의 동일한 저장영역에 저장하는 메모리 제어부를 포함하는 것을 특징으로 하는 고속의 메모리 액세스를 위한 화상 데이터 저장장치.
  10. 제9항에 있어서, 상기 저장 범위 설정부는
    상기 메크로 블록의 크기가 M×N의 크기를 갖고, 기준 블록의 크기가 a×b인 경우에, 상기 메크로 블록의 크기를 포함하는 (M+a-1)×(N+b-1)의 크기를 갖는 블록과 중첩하는 인접 메크로 블록들의 범위를 상기 저장 범위로서 설정하는 것을 특징으로 하는 고속의 메모리 액세스를 위한 화상 데이터 저장장치.
  11. 제9항에 있어서, 상기 저장 범위 설정부는
    상기 메크로 블록의 상측, 하측, 좌측 및 우측 중 어느 한 곳 이상에 존재하는 인접 메크로 블록들의 저장 범위를 설정하는 것을 특징으로 하는 고속의 메모리 액세스를 위한 화상 데이터 저장장치.
  12. 제9항에 있어서,
    상기 메모리 제어부가 제1 화상 데이터 및 제2 화상 데이터를 상기 메모리의 동일한 저장영역에 저장할 때, 상기 동일한 저장 영역으로서 상기 메모리의 동일한 열(row)에 저장하는 것을 특징으로 하는 고속의 메모리 액세스를 위한 화상 데이터 저장장치.
  13. 제12항에 있어서, 상기 저장 범위 설정부는
    상기 저장 범위를 상기 동일한 열에 상기 제1 화상 데이터 및 상기 제2 화상 데이터가 모두 저장될 수 있도록 설정하는 것을 특징으로 하는 고속의 메모리 액세스를 위한 화상 데이터 저장장치.
  14. 제9항에 있어서, 상기 고속의 메모리 액세스를 위한 화상 데이터 저장장치는
    움직임 보상장치에 적용되는 것을 특징으로 하는 고속의 메모리 액세스를 위한 화상 데이터 저장장치.
  15. 제9항에 있어서, 상기 고속의 메모리 액세스를 위한 화상 데이터 저장장치는
    화상 데이터의 복호화 장치에 적용되는 것을 특징으로 하는 고속의 메모리 액세스를 위한 화상 데이터 저장장치.
KR1020060041963A 2006-05-10 2006-05-10 고속의 메모리 액세스를 위한 화상 데이터 저장방법 및장치 KR100763914B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020060041963A KR100763914B1 (ko) 2006-05-10 2006-05-10 고속의 메모리 액세스를 위한 화상 데이터 저장방법 및장치
US11/730,130 US8189675B2 (en) 2006-05-10 2007-03-29 Method, medium and system storing image data for fast memory access

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060041963A KR100763914B1 (ko) 2006-05-10 2006-05-10 고속의 메모리 액세스를 위한 화상 데이터 저장방법 및장치

Publications (1)

Publication Number Publication Date
KR100763914B1 true KR100763914B1 (ko) 2007-10-05

Family

ID=38685100

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060041963A KR100763914B1 (ko) 2006-05-10 2006-05-10 고속의 메모리 액세스를 위한 화상 데이터 저장방법 및장치

Country Status (2)

Country Link
US (1) US8189675B2 (ko)
KR (1) KR100763914B1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030073830A (ko) * 2002-03-13 2003-09-19 주식회사 하이닉스반도체 반화소 움직임 보상을 위한 프레임 메모리 할당방법
KR20030073120A (ko) * 2002-03-08 2003-09-19 주식회사 엘지이아이 임베디드 시스템에서 동영상 인트라 예측모드 구현방법
JP2005176259A (ja) 2003-12-15 2005-06-30 Sony Corp データ処理装置およびその方法と符号化装置
KR20060011069A (ko) * 2004-07-29 2006-02-03 삼성전자주식회사 포스트 필터링을 적용한 동영상 디코딩 방법 및 그 장치

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5978509A (en) * 1996-10-23 1999-11-02 Texas Instruments Incorporated Low power video decoder system with block-based motion compensation
US6215822B1 (en) * 1997-12-30 2001-04-10 Sony Corporation Motion compensated digital video decoding and buffer memory addressing therefor
JP2001346203A (ja) 2000-06-02 2001-12-14 Canon Inc 画像処理装置及び画像処理方法並びに記憶媒体
JP4000928B2 (ja) 2002-07-04 2007-10-31 ソニー株式会社 動き補償装置
JP2005065239A (ja) 2003-07-28 2005-03-10 Matsushita Electric Ind Co Ltd 動画像の復号化装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030073120A (ko) * 2002-03-08 2003-09-19 주식회사 엘지이아이 임베디드 시스템에서 동영상 인트라 예측모드 구현방법
KR20030073830A (ko) * 2002-03-13 2003-09-19 주식회사 하이닉스반도체 반화소 움직임 보상을 위한 프레임 메모리 할당방법
JP2005176259A (ja) 2003-12-15 2005-06-30 Sony Corp データ処理装置およびその方法と符号化装置
KR20060011069A (ko) * 2004-07-29 2006-02-03 삼성전자주식회사 포스트 필터링을 적용한 동영상 디코딩 방법 및 그 장치

Also Published As

Publication number Publication date
US20070263726A1 (en) 2007-11-15
US8189675B2 (en) 2012-05-29

Similar Documents

Publication Publication Date Title
US20210092364A1 (en) Image prediction method and device
JP4712642B2 (ja) デブロッキングフィルタ、画像符号化装置および画像復号化装置
US8711950B2 (en) Apparatus and method for adapted deblocking filtering strength
US20170048541A1 (en) Video decoding device, video decoding method, video decoding program, and video decoding integrated circuit
JP2006174486A (ja) ビデオデータの水平及び垂直フィルタリングを同時に行うデブロッキングフィルタ及び動作方法
US20060182181A1 (en) Apparatus and method for controlling data write/read in image processing system
WO2006075773A2 (en) Picture decoding device and method with deblocking at slice boundaries
JP2007235886A (ja) 動画像符号化方法、動画像復号方法、動画像符号化装置、動画像復号装置、フィルタ装置及びプログラム
JP4787044B2 (ja) 画像復号装置、画像復号方法、画像復号プログラム、画像復号集積回路
US20110013696A1 (en) Moving image processor and processing method for moving image
US20180139464A1 (en) Decoding system for tile-based videos
JP2023181491A (ja) 画像復号装置、画像復号方法及びプログラム
JP2023145703A (ja) 実装効率の良いパーティションベースのイントラ符号化概念
KR100763914B1 (ko) 고속의 메모리 액세스를 위한 화상 데이터 저장방법 및장치
JP2007180723A (ja) 画像処理装置及び画像処理方法
JP2008193548A (ja) 適応デブロッキング処理方法,装置および適応デブロッキング処理プログラム並びにコンピュータ読み取り可能な記録媒体
JP7359653B2 (ja) 動画像符号化装置
KR101331093B1 (ko) 프레임 메모리의 단일뱅크 내 참조 영상의 픽셀 인터리빙 방법 및 장치, 이를 포함하는 영상코덱 시스템
TWI791959B (zh) 圖像解碼裝置、圖像解碼方法及程式
JP2007174602A (ja) 復号装置
JP5265984B2 (ja) 画像符号化装置及び復号装置
JP4848892B2 (ja) 映像信号処理装置及び方法、並びに映像信号復号装置
JPWO2018079444A1 (ja) 符号化装置、符号化方法およびプログラム記録媒体
WO2024079965A1 (ja) 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
JP4830691B2 (ja) 映像信号処理方法及び装置、並びに映像信号復号方法

Legal Events

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

Payment date: 20120814

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20130822

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140822

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20150818

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20160817

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20170818

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20190820

Year of fee payment: 13