KR100846791B1 - 비디오 데이터 저장 방법 및 장치 - Google Patents

비디오 데이터 저장 방법 및 장치 Download PDF

Info

Publication number
KR100846791B1
KR100846791B1 KR20060086984A KR20060086984A KR100846791B1 KR 100846791 B1 KR100846791 B1 KR 100846791B1 KR 20060086984 A KR20060086984 A KR 20060086984A KR 20060086984 A KR20060086984 A KR 20060086984A KR 100846791 B1 KR100846791 B1 KR 100846791B1
Authority
KR
South Korea
Prior art keywords
memory
data
lines
consecutive
video frame
Prior art date
Application number
KR20060086984A
Other languages
English (en)
Other versions
KR20080023024A (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 KR20060086984A priority Critical patent/KR100846791B1/ko
Priority to US11/737,369 priority patent/US20080062188A1/en
Priority to JP2007218814A priority patent/JP2008067379A/ja
Publication of KR20080023024A publication Critical patent/KR20080023024A/ko
Application granted granted Critical
Publication of KR100846791B1 publication Critical patent/KR100846791B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures

Landscapes

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

Abstract

본 발명은 데이터 저장하는 방법 및 장치에 관한 것으로, 본 발명에 따른 비디오 데이터를 메모리에 저장하는 방법은 비디오 프레임 내의 연속한 복수의 라인들에 대한 데이터가 소정의 바이트씩 번갈아가며 하나의 메모리 뱅크에 기록되도록 메모리를 맵핑하는 단계; 및 메모리 맵핑에 따라 라인들에 대한 데이터를 메모리에 기록하는 단계를 포함함으로써 비디오 데이터를 처리하기 위해 소정의 블록 단위로 데이터를 독출하는 과정에 있어서 메모리에 액세스하는 횟수를 줄일 수 있어, 더 빠른 비디오 데이터의 처리가 가능해진다.
Figure R1020060086984
메모리, 맵, 블록, 액세스

Description

비디오 데이터 저장 방법 및 장치{Method and apparatus for saving video data}
도 1a 내지 1b는 종래의 비디오 데이터를 메모리에 저장하는 방법을 도시한다.
도 2는 본 발명의 일 실시예에 따른 비디오 데이터를 저장하기 위한 메모리 맵을 도시한다.
도 3은 본 발명의 바람직한 실시예에 따른 비디오 프레임 데이터를 메모리에 저장하는 방법을 설명하기 위한 흐름도이다.
도 4는 본 발명의 일 실시예에 따른 비디오 데이터를 저장하는 장치를 도시한다.
본 발명은 데이터 저장 방법 및 장치에 관한 것으로, 보다 상세히는 블록 단위의 액세스(access)가 필요한 비디오 데이터를 저장하는 방법 및 장치에 관한 것이다.
인터넷을 포함한 정보 통신 기술이 발달함에 따라 문자, 음성뿐만 아니라 비 디오 데이터 통신에 대한 수요도 증가하고 있다. 종래의 문자 위주의 통신 방식으로는 소비자의 다양한 욕구를 충족시키기에는 부족하며, 따라서 문자, 비디오, 음악 등 다양한 형태로 제공되는 멀티미디어 서비스가 증가하고 있다. 특히, 이중에 비디오 데이터는 그 양이 방대하여 전송 시에 넓은 대역폭(bandwidth)를 필요로 한다. 이에 따라, 비디오 데이터를 압축하여 전송할 수 있는 MPEG-1, MPEG-2, MPEG-4 등과 같은 다양한 압축 방법들이 개발되어왔다.
MPEG-1, MPEG-2, MPEG-4 등과 같은 압축 방법들을 코덱(CODEC: code and decode)이라 하는데, 코덱을 사용하는 비디오 데이터의 처리는 소정의 블록(block) 단위로 수행되는 것이 보통이다. 움직임 추정(motion estimation), 움직임 보상(motion compensation), 디블록킹(deblocking) 등이 블록 단위로 수행되는 비디오 데이터의 처리에 해당한다.
도 1a 내지 1b는 종래의 비디오 데이터를 메모리에 저장하는 방법을 도시한다.
도 1a 내지 1b는 1920×1088의 비디오 프레임에 대한 데이터를 메모리에 저장하는 방법을 예로 들고 있다. 도 1a를 참조하면, 저장하려는 비디오 프레임은 가로 1920 픽셀, 세로 1088 픽셀의 비디오 프레임에 해당한다. 일반적으로 하나의 픽셀은 휘도(Y) 및 색차(Cb 또는 Cr) 중 하나에 대한 정보를 포함하고 있으며, 이 정보는 8 비트(bit) 즉, 1 바이트(byte)에 의해 표현된다.
전술한 바와 같이 도 1a 도시된 비디오 데이터를 처리함에 있어서, 블록 단위로 수행됨이 일반적이다. 이 때, 블록이라 함은 비디오 프레임 내의 연속된 소 정의 픽셀들을 하나로 묶은 단위(101 또는 102)를 의미하고, 블록의 크기는 코덱의 종류, 수행하려는 비디오 데이터 처리의 종류 등에 따라 상이하다. 도 1a에서는 블록의 크기가 4×4인 경우를 가정하였다.
도 1b는 도 1a에 도시된 비디오 프레임에 대한 데이터가 메모리에 저장되는 방법에 대해 도시한다. 일반적으로 메모리는 4개의 메모리 뱅크(A 내지 D)로 구분되어 사용된다. 메모리를 4개의 메모리 뱅크로 나누어 사용하는 이유는 서로 다른 뱅크로(부터) 데이터가 기록(독출)되는 경우 데이터의 주소를 전송하는 커멘드 전송 구간과 데이터를 전송하는 데이터 전송 구간의 오버랩(overlap)을 가능하게 하는 '뱅크 인터리빙'을 통해 메모리 이용 효율을 개선하기 위함이다.
도 1b를 참조하면, 도 1a에 도시된 비디오 프레임의 0번 라인에 대한 데이터는 A 뱅크에 기록되고, 그 다음 1번 라인에 대한 데이터는 B 뱅크에 기록된다. 3번 및 4번 라인이 순서대로 C 뱅크 및 D 뱅크에 기록된 후에 5번 라인부터 다시 A 뱅크에 기록된다.
여기서, 비디오 데이터를 처리하기 위해 소정의 블록(101)를 64 비트 데이터 버스를 통해 액세스(access)하는 경우를 살펴보자. 비디오 데이터를 처리하는 모듈이 4×4 블록에 대한 데이터를 액세스하기 위해서는 0, 1, 2, 3라인의 가로 0, 1, 2, 3 픽셀들에 대한 데이터를 액세스해야 한다. 따라서, A, B, C 및 D 메모리 뱅크를 한번씩 4번 액세스해야 한다. 이 때 64 비트 데이터 버스를 사용하고 한 픽셀에 대한 데이터가 8 비트이므로, A 뱅크에서 0번 라인의 가로 0, 1, 2, 3, 4, 5, 6, 7의 픽셀에 대한 데이터를 액세스하고 B, C 및 D 뱅크에서도 마찬가지로 각 각 8개의 픽셀에 대한 데이터를 액세스한다. 이때 뱅크 인터리빙을 사용하여 커맨드 전송 구간을 데이터 전송 구간과 오버랩시키는 방법으로 데이터 액세스 시간을 단축한다.
종래의 비디오 데이터를 저장하는 방법에 의하면 하나의 뱅크에 각각의 라인에 대한 데이터가 라인 단위로 기록된다. A 뱅크를 예로 들면, 0번 라인이 전부 기록된 후에 4번 라인이 기록되고, 그 다음으로 8번 라인이 기록된다. 이는 도 1a에 도시된 비디오 프레임이 전부 기록될 때까지 반복된다.
따라서, 도 1b의 메모리 맵에 따르면 뱅크 인터리빙을 사용함에도 불구하고, 4×4 블록(101)에 대한 데이터 이외에 현재의 비디오 데이터 처리 과정에서 불필요한 0, 1, 2 및 3 번 라인의 가로 4, 5, 6 및 7번 픽셀들에 대한 데이터를 액세스하게 되어 비효율적이다. 필드 모드(field mode) 움직임 보상과 같이 홀수 또는 짝수의 라인만 액세스하는 경우에도 홀수 또는 짝수 라인의 가로 4, 5, 6 및 7번 픽셀들에 대한 데이터를 액세스하여 비효율적이다.
본 발명이 이루고자 하는 기술적 과제는 불필요한 픽셀들에 대한 데이터 액세스를 줄이기 위한 비디오 데이터를 저장하는 방법 및 장치를 제공하는데 있고, 상기 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 제공하는데 있다.
상기 기술적 과제를 해결하기 위한 본 발명에 따른, 비디오 데이터를 메모리 에 저장하는 방법은 비디오 프레임 내의 연속한 복수의 라인들에 대한 데이터가 소정의 바이트씩 번갈아가며 하나의 메모리 뱅크에 기록되도록 상기 메모리를 맵핑하는 단계; 및 상기 메모리 맵핑에 따라 상기 라인들에 대한 데이터를 상기 메모리에 기록하는 단계를 포함한다.
본 발명에 따른 보다 바람직한 실시예에 따르면, 상기 맵핑하는 단계는 상기 비디오 프레임 내의 연속한 두 개의 라인들에 대한 데이터가 소정의 바이트씩 번갈아가며 하나의 메모리 뱅크에 기록되도록 상기 메모리를 맵핑하는 단계를 포함한다.
본 발명에 따른 보다 바람직한 실시예에 따르면, 상기 연속한 두 개의 라인들은 상기 비디오 프레임 내의 연속한 두 개의 홀수 또는 짝수 라인들인 것을 특징으로 한다.
상기 기술적 과제를 해결하기 위한 본 발명에 따른, 비디오 데이터를 메모리에 저장하는 장치는 상기 비디오 프레임 내의 연속한 복수의 라인들에 대한 데이터가 소정의 바이트씩 번갈아가며 하나의 메모리 뱅크에 기록되도록 상기 메모리를 맵핑하는 제어부; 및 상기 메모리 맵핑에 따라 상기 라인들에 대한 데이터를 기록하기 위한 메모리를 포함한다.
본 발명에 따른 보다 바람직한 실시예에 따르면, 상기 제어부는 상기 비디오 프레임 내의 연속한 두 개의 라인들에 대한 데이터가 소정의 바이트씩 번갈아가며 하나의 메모리 뱅크에 기록되도록 상기 메모리를 맵핑하는 것을 특징으로 한다.
본 발명에 따른 보다 바람직한 실시예에 따르면, 상기 연속한 두 개의 라인 들은 상기 비디오 프레임 내의 연속한 두 개의 홀수 또는 짝수 라인들인 것을 특징으로 한다.
본 발명에 따른 보다 바람직한 실시예에 따르면, 상기 소정의 바이트는 2 바이트 또는 4 바이트인 것을 특징으로 한다.
상기 기술적 과제를 해결하기 위하여 본 발명은 상기한 데이터 저장 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.
이하에서는 도면을 참조하여 본 발명의 바람직한 실시예들을 상세히 설명한다.
도 2는 본 발명의 일 실시예에 따른 비디오 데이터를 저장하기 위한 메모리 맵을 도시한다.
도 2는 도 1a에 도시된 비디오 프레임에 대한 데이터를 4개의 메모리 뱅크로 이루어져 있는 메모리에 저장하는 경우에 대하여 도시한다.
도 2를 참조하면, 각각의 메모리 뱅크에 비디오 프레임 내의 연속한 복수의 라인들에 대한 데이터가 기록될 수 있도록 메모리가 맵핑된다. 제 1 메모리 뱅크에는 비디오 프레임의 0번 라인 및 2번 라인에 대한 데이터가 주기적으로 번갈아가며 기록된다. 도 2에 도시된 작은 네모칸은 도 1a에 도시된 비디오 프레임의 하나의 픽셀에 대한 데이터를 나타내는 것으로 전술한 바와 같이 8 비트 즉, 1 바이트에 해당한다. 따라서, 제 1 메모리 뱅크에 기록된 0번 라인 및 2번 라인은 4 바이트를 주기로 번갈아가며 기록된 것을 알 수 있다.
제 2 메모리 뱅크에는 1번 라인 및 3번 라인에 대한 데이터가 4 바이트를 주기로 번갈아가며 기록된다. 그 다음 제 3 메모리 뱅크에 4번, 6번 라인에 대한 데이터가 기록되고, 제 4 메모리 뱅크에는 5번, 7번 라인에 대한 데이터가 기록된다. 제 4 메모리 뱅크까지 기록이 끝나면, 8번 라인부터는 전술한 과정을 반복하여 다시 제 1 메모리 뱅크부터 다시 기록하기 시작한다. 도 1a에 도시된 비디오 프레임의 모든 라인들이 기록될 때까지 전술한 과정들을 반복한다.
비디오 프레임의 모든 라인에 대한 기록이 끝난 후에 64 비트 데이터 버스를 이용하여 도 2에 도시된 바와 같이 저장된 비디오 데이터를 액세스하는 경우를 살펴보자. 첫 번째 블록(101)에 대한 데이터를 액세스한다고 가정하면 첫 번째 블록은 0, 1, 2 및 3번 라인의 가로 0, 1, 2 및 3번 픽셀이므로, 제 1 메모리 뱅크와 제 2 메모리 뱅크를 각각 64비트씩 한번만 액세스하면 된다. 이때 뱅크 인터리빙을 사용하여 제 1 메모리 뱅크 및 제 2 메모리 뱅크에 액세스하는 시간을 단축시킬 수 있다. 따라서, 이 경우에 제 1 메모리 뱅크 또는 제 2 메모리 뱅크에 액세스할 때 종래 기술과 같은 현재 비디오 데이터 처리에서 불필요한 픽셀들에 대한 데이터 액세스가 없다.
필드 모드 움직임 보상과 같이 블록에 포함된 홀수 또는 복수 라인들에 대한 데이터만 필요한 경우에는 제 1 메모리 뱅크 또는 제 2 메모리 뱅크만 액세스하면 된다. 블록의 홀수 또는 짝수 라인들에 대한 데이터를 나누어 기록할 수 있도록 메모리를 맵핑하는 것은 이러한 이유 때문이다. 그러나, 복수의 라인들에 대한 데이터를 각각의 메모리 뱅크에 저장할 때 반드시 홀수 또는 짝수로 나누어 저장하여 야 하는 것은 아니며, 복수의 라인들을 번갈아가며 기록하는 다양한 조합이 가능함은 본 발명이 속하는 기술 분야에 통상의 지식을 가지고 있는 자는 쉽게 이해할 수 있다.
비디오 데이터의 처리에 있어서, 비디오 프레임 내에 4×4보다 더 큰 블록에 대한 데이터에 대해 액세스가 필요한 경우에는 4×4 블록에 대한 데이터에 반복하여 액세스한다. 예를 들어, 도 1a에 첫 번째 블록(101) 및 두 번째 블록(102)을 합친 4×8 블록에 대하여 액세스가 필요한 경우에는 도 2에 도시된 제 1 메모리 뱅크에 2번 액세스하여 0, 2번 라인, 가로 0, 1, 2, 3, 4, 5, 6 및 7번 픽셀들에 대한 데이터를 액세스하고, 제 2 메모리 뱅크에 2번 액세스하여 1, 3번 라인, 가로 0, 1, 2, 3, 4, 5, 6 및 7번 픽셀들에 대한 데이터를 액세스한다. 마찬가지로, 8×8 블록에 대한 데이터에 액세스할 필요가 있는 경우에는 4×4 블록에 대한 액세스를 4번 수행하여 액세스할 수 있다.
19×19 블록 또는 18×9 블록과 같이 4×4 블록의 배수가 아닌 블록들에 대해서도 현재 비디오 데이터 처리에 불필요한 픽셀들에 대한 데이터 액세스를 최소화하여 데이터 액세스 횟수를 줄이는 효과는 유지된다.
32 비트 데이터 버스를 이용하여 비디오 데이터를 액세스하는 경우에는 한번에 액세스할 수 있는 픽셀수가 4개의 픽셀이므로, 도 2에 도시된 메모리 맵과는 다른 방법으로 비디오 데이터를 기록할 수 있다. 복수의 라인에 대하여 2 바이트씩 번갈아가며 각각의 메모리 뱅크에 기록한다. 예를 들어, 제 1 메모리 뱅크에 맨 처음 0번 라인의 가로 0, 1번 픽셀에 대한 데이터를 입력하고 다음으로 2번 라인의 가로 0, 1번 픽셀에 대한 데이터를 입력하는 방법으로 반복하여 번갈아가며 기록한다.
하나의 메모리 뱅크에 기록되는 복수의 라인에 대한 데이터를 번갈아가며 기록하는 주기에 대한 제한은 없으며, 전술한 2 바이트 또는 4 바이트 이외에 다른 주기를 사용하여도 된다. 메모리에 저장된 데이터를 전송하기 위한 데이터 버스의 전송 속도 및 액세스하려는 데이터 블록의 크기에 따라 데이터 액세스 횟수를 최소화할 수 있는 주기를 사용할 수 있다.
도 2에 도시된 제 1, 2, 3 및 4 메모리 뱅크는 하나의 메모리에 속한 복수의 메모리 뱅크일 수도 있고, 서로 다른 메모리에 속한 메모리 뱅크일 수도 있다. 각각 서로 다른 메모리에 속한 메모리 뱅크인 경우에는 각각의 메모리에서 동시에 비디오 데이터를 독출할 수 있으므로, 블록 단위 데이터를 독출하는 속도가 빨라질 수 있음은 본 발명이 속하는 기술 분야에 통상의 지식을 가진 자는 쉽게 이해할 수 있다.
도 3은 본 발명의 바람직한 실시예에 따른 비디오 프레임 데이터를 메모리에 저장하는 방법을 설명하기 위한 흐름도이다.
단계 300은 비디오 프레임 내의 복수의 라인들에 대한 데이터가 소정의 바이트씩 번갈아가며 하나의 메모리 뱅크에 기록될 수 있도록 메모리를 맵핑하는 단계이다.
일반적으로 메모리 뱅크는 하나의 메모리 안에 네 개가 존재하므로, 네 개의 메모리 뱅크에 동일한 수의 라인들에 대한 데이터가 각각 저장되도록 하는 것이 바 람직하다. 따라서, 제 1 메모리 뱅크, 제 2 메모리 뱅크, 제 3 메모리 뱅크, 제 4 메모리 뱅크, 제 1 메모리 뱅크, … 의 순서로 복수의 라인에 대한 데이터를 기록할 수 있도록 메모리를 맵핑한다.
하나의 메모리 뱅크에 3 이상의 복수의 라인들에 대한 데이터를 기록하는 것도 가능하지만, 바람직하게는 도 2에 도시된 바와 같이 두 개의 라인들에 대한 데이터를 기록한다. 이때, 두 개의 라인은 비디오 프레임 내의 연속한 두 개의 라인일 수 있다. 연속한 두 개의 라인은 연속한 홀수 또는 짝수 라인일 수 있다. 전술한 필드 모드 움직임 보상과 같이 연속한 홀수 또는 짝수 라인에 대한 데이터만 액세스하는 경우가 있을 수 있으므로, 연속한 두 개의 홀수 또는 짝수 라인에 대한 데이터를 동일한 메모리 뱅크에 기록하게 된다.
메모리 뱅크에 복수의 라인에 대한 데이터를 기록할 때에는 복수의 라인들에 대한 데이터가 소정의 바이트를 주기로 번갈아가며 기록되게 하는 것이 바람직하다. 도 2에 도시된 바와 같이 각각의 메모리 뱅크에 두개의 연속된 라인이 주기적으로 번갈아가며 기록되도록 메모리를 맵핑한다.
메모리에 저장된 데이터를 액세스하는 데이터 버스가 일반적으로 64 비트 데이터 버스이고, 연속된 두 개의 라인을 하나의 메모리 뱅크에 저장한다고 할 때, 두 개의 라인이 각각 4 바이트씩 액세스되도록 4 바이트를 주기로 번갈아가며 기록되도록 메모리를 맵핑하는 것이 바람직하다. 다만, 최적의 주기는 메모리에 저장된 데이터를 전송하기 위한 데이터 버스의 전송 속도 및 액세스하고자하는 데이터 블록의 크기에 따라 상이할 수 있다.
단계 302에서 비디오 데이터는 단계 300에서의 메모리 맵에 따라 메모리에 기록된다.
전술한 바와 같이 움직임 추정(motion estimation), 움직임 보상(motion compensation), 디블록킹(deblocking) 등의 비디오 데이터 처리는 비디오 프레임 내의 소정의 블록 단위로 수행되므로, 단계 302에서 메모리에 기록된 비디오 데이터는 이들 처리과정의 수행을 위해 블록 단위로 액세스 된다.
단계 302에서의 비디오 데이터 기록은 프레임 전체에 대해 단계 300의 메모리 맵에 따라 수행되고, 기록된 비디오 데이터는 소정의 비디오 데이터 처리를 위해 독출된다. 단계 300의 메모리 맵핑에 따라 비디오 프레임에 대한 데이터가 저장되어 있기 때문에 독출하는 과정에서 불필요한 픽셀에 대한 액세스를 줄일 수 있다.
도 4는 본 발명의 일 실시예에 따른 비디오 데이터를 저장하는 장치를 도시한다.
도 4를 참조하면, 본 발명에 따른 데이터 저장 장치(40)는 제어부(41) 및 메모리부(42)를 포함한다.
제어부(41)는 비디오 프레임 내의 연속한 복수의 라인들에 대한 데이터가 소정의 바이트씩 번갈아가며 하나의 메모리 뱅크에 기록되도록 메모리를 맵핑한다.
일반적으로 메모리 뱅크는 하나의 메모리 안에 네 개가 존재하므로, 네 개의 메모리 뱅크에 동일한 수의 라인들에 대한 데이터가 각각 기록되도록 하는 것이 바람직하다. 따라서, 제 1 메모리 뱅크, 제 2 메모리 뱅크, 제 3 메모리 뱅크, 제 4 메모리 뱅크, 제 1 메모리 뱅크, … 의 순서로 복수의 라인에 대한 데이터를 기록할 수 있도록 메모리를 맵핑한다.
하나의 메모리 뱅크에 3 이상의 복수의 라인들에 대한 데이터를 기록하는 것도 가능하지만, 바람직하게는 도 2에 도시된 바와 같이 두 개의 라인들에 대한 데이터를 기록한다. 이때, 두 개의 라인은 비디오 프레임 내의 연속한 두 개의 라인일 수 있다. 연속한 두 개의 라인은 연속한 홀수 또는 짝수 라인일 수 있다.
연속된 두 개의 라인을 하나의 메모리 뱅크에 저장한다고 할 때, 두 개의 라인이 각각 4 바이트씩 액세스되도록 4 바이트를 주기로 번갈아가며 기록되도록 메모리를 맵핑하는 것이 바람직하다.
메모리부(42)는 제어부(41)의 메모리 맵핑에 따라 비디오 데이터를 기록하기 위해 필요한 구성요소이다.
비디오 데이터는 프레임 전체에 대해 제어부(41)의 메모리 맵핑에 따라 메모리부에 기록되고, 기록된 비디오 데이터는 소정의 비디오 데이터 처리를 위해 독출된다. 본 발명에 따른 제어부(41)의 메모리 맵핑에 따라 비디오 데이터가 저장되어 있기 때문에 독출하는 과정에서 불필요한 픽셀에 대한 액세스를 줄일 수 있다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명이 상기의 실시예에 한정되는 것은 아니며, 이는 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 따라서, 본 발명의 사상은 아래에 기재된 특허청구범위에 의해서만 파악되어야 하고, 이와 균등하거나 또는 등가적인 변형 모두는 본 발명 사상의 범주에 속한다 할 것이다. 또한, 본 발명에 따른 시스템은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
본 발명에 따르면 연속한 복수의 라인들에 대한 데이터를 하나의 메모리 뱅크에 저장함으로써, 비디오 데이터를 처리하기 위해 소정의 블록 단위로 데이터를 독출 과정에서 메모리에 액세스하는 횟수를 줄일 수 있다.
메모리에 액세스하는 횟수를 줄여 데이터를 독출하기 위해 사용하는 데이터 버스의 활용을 극대화시킴으로써 더 빠른 비디오 데이터의 처리가 가능해진다.

Claims (13)

  1. 비디오 데이터를 메모리에 저장하는 방법에 있어서,
    비디오 프레임 내의 연속한 복수의 라인들에 대한 데이터가 소정의 바이트씩 번갈아가며 하나의 메모리 뱅크에 기록되도록 상기 메모리를 맵핑하는 단계; 및
    상기 메모리 맵핑에 따라 상기 라인들에 대한 데이터를 상기 메모리에 기록하는 단계를 포함하고,
    상기 연속한 복수의 라인들은 연속한 복수의 홀수 라인들, 연속한 복수의 짝수 라인들 또는 1씩 증가하는 연속한 복수의 라인들 중 하나인 것을 특징으로 하는 데이터 저장 방법.
  2. 제 1 항에 있어서, 상기 맵핑하는 단계는
    상기 비디오 프레임 내의 연속한 두 개의 라인들에 대한 데이터가 소정의 바이트씩 번갈아가며 하나의 메모리 뱅크에 기록되도록 상기 메모리를 맵핑하는 단계를 포함하는 것을 특징으로 하는 데이터 저장 방법.
  3. 제 2 항에 있어서, 상기 연속한 두 개의 라인들은
    상기 비디오 프레임 내의 연속한 두 개의 홀수 또는 짝수 라인들인 것을 특징으로 하는 데이터 저장 방법.
  4. 제 2 항에 있어서, 상기 소정의 바이트는
    2 바이트 또는 4 바이트인 것을 특징으로 하는 데이터 저장 방법.
  5. 제 1 항에 있어서, 상기 비디오 프레임은
    1920×1088 비디오 프레임인 것을 특징으로 하는 데이터 저장 방법.
  6. 제 1 항에 있어서, 상기 메모리는
    4 개의 메모리 뱅크를 가지는 메모리인 것을 특징으로 하는 데이터 저장 방법.
  7. 비디오 데이터를 메모리에 저장하는 장치에 있어서,
    비디오 프레임 내의 연속한 복수의 라인들에 대한 데이터가 소정의 바이트씩 번갈아가며 하나의 메모리 뱅크에 기록되도록 상기 메모리를 맵핑하는 제어부; 및
    상기 메모리 맵핑에 따라 상기 라인들에 대한 데이터를 기록하기 위한 메모리부를 포함하고,
    상기 연속한 복수의 라인들은 연속한 복수의 홀수 라인들, 연속한 복수의 짝수 라인들 또는 1씩 증가하는 연속한 복수의 라인들 중 하나인 것을 특징으로 하는 데이터 저장 장치.
  8. 제 7 항에 있어서, 상기 제어부는
    상기 비디오 프레임 내의 연속한 두 개의 라인들에 대한 데이터가 소정의 바이트씩 번갈아가며 하나의 메모리 뱅크에 기록되도록 상기 메모리를 맵핑하는 것을 특징으로 하는 데이터 저장 장치.
  9. 제 8 항에 있어서, 상기 연속한 두 개의 라인들은
    상기 비디오 프레임 내의 연속한 두 개의 홀수 또는 짝수 라인들인 것을 특 징으로 하는 데이터 저장 장치.
  10. 제 8 항에 있어서, 상기 소정의 바이트는
    2 바이트 또는 4 바이트인 것을 특징으로 하는 데이터 저장 장치.
  11. 제 7 항에 있어서, 상기 비디오 프레임은
    1920×1088 비디오 프레임인 것을 특징으로 하는 데이터 저장 장치.
  12. 제 7 항에 있어서, 상기 메모리부는
    4 개의 메모리 뱅크를 가지는 메모리인 것을 특징으로 하는 데이터 저장 장치.
  13. 제 1 항 내지 제 6 항 중 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR20060086984A 2006-09-08 2006-09-08 비디오 데이터 저장 방법 및 장치 KR100846791B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR20060086984A KR100846791B1 (ko) 2006-09-08 2006-09-08 비디오 데이터 저장 방법 및 장치
US11/737,369 US20080062188A1 (en) 2006-09-08 2007-04-19 Method of and apparatus for saving video data
JP2007218814A JP2008067379A (ja) 2006-09-08 2007-08-24 ビデオデータ保存方法及び装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR20060086984A KR100846791B1 (ko) 2006-09-08 2006-09-08 비디오 데이터 저장 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20080023024A KR20080023024A (ko) 2008-03-12
KR100846791B1 true KR100846791B1 (ko) 2008-07-16

Family

ID=39169132

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20060086984A KR100846791B1 (ko) 2006-09-08 2006-09-08 비디오 데이터 저장 방법 및 장치

Country Status (3)

Country Link
US (1) US20080062188A1 (ko)
JP (1) JP2008067379A (ko)
KR (1) KR100846791B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101553651B1 (ko) 2009-10-13 2015-09-17 삼성전자 주식회사 다중 뱅크 메모리 액세스 장치
KR102135958B1 (ko) * 2013-08-06 2020-07-20 삼성전자주식회사 복수 개의 메모리 컨트롤러를 이용한 영상 데이터 저장 방법 및 장치

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11316708A (ja) 1997-11-18 1999-11-16 St Microelectronics Inc データシーケンスの圧縮及び伸長におけるメモリ帯域幅を最小とさせるためのピクチャメモリマッピング
JP2003186740A (ja) 2001-12-19 2003-07-04 Matsushita Electric Ind Co Ltd メモリ制御装置、及びメモリ制御方法
US20040001159A1 (en) 2002-06-28 2004-01-01 Koninklijke Philips Electronics N.V. Method and apparatus for conversion of video formats to 120 Hz 4 to 1 interlaced formats
KR20060010474A (ko) * 2004-07-28 2006-02-02 삼성전자주식회사 비디오 디코더/엔코더에서의 메모리 맵핑 장치 및 그 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11316708A (ja) 1997-11-18 1999-11-16 St Microelectronics Inc データシーケンスの圧縮及び伸長におけるメモリ帯域幅を最小とさせるためのピクチャメモリマッピング
JP2003186740A (ja) 2001-12-19 2003-07-04 Matsushita Electric Ind Co Ltd メモリ制御装置、及びメモリ制御方法
US20040001159A1 (en) 2002-06-28 2004-01-01 Koninklijke Philips Electronics N.V. Method and apparatus for conversion of video formats to 120 Hz 4 to 1 interlaced formats
KR20060010474A (ko) * 2004-07-28 2006-02-02 삼성전자주식회사 비디오 디코더/엔코더에서의 메모리 맵핑 장치 및 그 방법

Also Published As

Publication number Publication date
JP2008067379A (ja) 2008-03-21
KR20080023024A (ko) 2008-03-12
US20080062188A1 (en) 2008-03-13

Similar Documents

Publication Publication Date Title
US8442107B2 (en) Memory mapping apparatus and method for video decoder/encoder
US8175157B2 (en) Apparatus and method for controlling data write/read in image processing system
JP6263538B2 (ja) マルチメディアデータ処理のための方法及びシステム
US7554874B2 (en) Method and apparatus for mapping memory
KR20020086635A (ko) 메모리 어드레스 변환 유닛, 메모리 어드레스 변환 방법및 이미지 처리 장치
WO2007024413A2 (en) Transpose buffering for video processing
CN101340580A (zh) 视频硬件解码器的片外动态存储器的地址映射方法
US20070127570A1 (en) Image processor and image processing method
CN100444636C (zh) 提高视频解码器中sdram总线效率的方法
KR100846791B1 (ko) 비디오 데이터 저장 방법 및 장치
CN101212680A (zh) 图像数据的存储器存取方法及系统
KR20070082835A (ko) 직접 메모리 액세스 제어장치 및 방법
KR20170069074A (ko) 디코더의 동작 방법, 및 상기 디코더를 포함하는 어플리케이션 프로세서의 동작 방법
EP1992162B1 (en) Memory organizational scheme and controller architecture for image and video processing
US20070183510A1 (en) Method and apparatus for decoding video that alternately store lines of picture in pixel units and method of storing reference picture
US8036264B2 (en) Memory management in video decoding systems
US20080049035A1 (en) Apparatus and method for accessing image data
CN101729903B (zh) 一种读取参考帧数据的方法、系统和多媒体处理器
KR102247741B1 (ko) 이미지 프로세서, 상기 이미지 프로세서의 동작 방법, 및 상기 이미지 프로세서를 포함하는 애플리케이션 프로세서
US10085016B1 (en) Video prediction cache indexing systems and methods
KR100891116B1 (ko) 대역폭 인식 움직임 보상 장치 및 그 방법
JPH06189292A (ja) 動画像復号装置
WO2013062514A1 (en) Multiple stream processing for video analytics and encoding
KR100646577B1 (ko) 비디오 codec에 있어서 특정이미지 저장방법
CN101847394A (zh) 用以解码及显示视讯文件的存储器映射方法及装置

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

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20140627

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20150629

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20160629

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee