KR100602411B1 - 단일 버퍼 구조의 메모리 어드레스 제어방법 - Google Patents

단일 버퍼 구조의 메모리 어드레스 제어방법 Download PDF

Info

Publication number
KR100602411B1
KR100602411B1 KR1020040068928A KR20040068928A KR100602411B1 KR 100602411 B1 KR100602411 B1 KR 100602411B1 KR 1020040068928 A KR1020040068928 A KR 1020040068928A KR 20040068928 A KR20040068928 A KR 20040068928A KR 100602411 B1 KR100602411 B1 KR 100602411B1
Authority
KR
South Korea
Prior art keywords
image data
mode
sector
stored
line
Prior art date
Application number
KR1020040068928A
Other languages
English (en)
Other versions
KR20060020159A (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 KR1020040068928A priority Critical patent/KR100602411B1/ko
Priority to AT04774696T priority patent/ATE389217T1/de
Priority to EP04774696A priority patent/EP1784783B1/en
Priority to PCT/KR2004/002443 priority patent/WO2006025625A1/en
Priority to CN2004800425006A priority patent/CN1926571B/zh
Priority to DE602004012461T priority patent/DE602004012461D1/de
Publication of KR20060020159A publication Critical patent/KR20060020159A/ko
Application granted granted Critical
Publication of KR100602411B1 publication Critical patent/KR100602411B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Image Input (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Studio Devices (AREA)
  • Storing Facsimile Image Data (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Vehicle Body Suspensions (AREA)
  • Springs (AREA)

Abstract

영상 데이터의 저장과 판독 과정에서 어드레스를 효과적으로 제어하므로 단일 버퍼의 구조를 적용하여 효율적으로 처리하도록, 메모리를 세로 방향의 라인과 가로 방향의 섹터 영역으로 분할하고, 제1모드를 실행하여 가로 방향으로 제1라인에서 제15라인까지 저장하고, 제15라인까지 저장이 완료되면 매크로 블록 단위로 읽어 제1섹터 영역을 모두 읽으면 읽음은 제1모드를 유지하고 저장은 제2모드로 진입하여 제1섹터 영역에 저장하고, 제1모드를 통하여 제16섹터 영역까지 모두 읽으면 읽음을 제2모드로 전환하여 분할된 섹터의 제1라인에서 같은 매크로 블록별로 순차적으로 읽고 제16섹터까지 제2모드로 순차적으로 저장하고, 제2모드로 분할된 섹터의 제1라인 읽음과 제16섹터 16라인까지 저장이 완료되면 분할된 섹터의 제2라인에서 읽음을 제2모드로 유지하고 저장은 제1모드로 전환하여 제1라인의 가로 방향으로 저장하고, 제1모드 저장을 유지하고 제16라인까지 제2모드 읽음이 완료되면 제1모드 읽음으로 전환하는 단일 버퍼 구조의 메모리 어드레스 제어방법을 제공한다.
메모리, 단일 버퍼, 어드레스 제어, 영상 데이터, 저장, 판독, 섹터

Description

단일 버퍼 구조의 메모리 어드레스 제어방법 {Memory Address Control Method of Single Buffer Structure}
도 1은 종래의 메모리 어드레스 제어에 있어 카메라로부터 입력되는 영상 데이터의 저장 순서를 도시한 일 예시도이다.
도 2는 도 1과 같이 메모리에 저장되는 영상 데이터에 대하여 JPEG 혹은 MPEG의 영상으로 처리하기 위한 매크로 블록 단위를 도시한 일 예시도이다.
도 3은 종래의 메모리 어드레스 제어에 있어 카메라로부터 입력되는 영상 데이터의 처리를 위한 더블 버퍼 및 최소한의 메모리 크기를 도시한 일 예시도이다.
도 4는 본 발명에 따른 단일 버퍼 구조의 메모리 어드레스 제어에서 카메라로부터 입력되는 영상 데이터를 제2모드로 저장하는 과정을 도시한 일 예시도이다.
도 5는 본 발명에 따른 단일 버퍼 구조의 메모리 어드레스 제어에서 도 4와 같이 제2모드로 저장된 영상 데이터를 영상 프로세서가 읽어 가는 과정을 도시한 일 예시도이다.
도 6은 본 발명에 따른 단일 버퍼 구조의 메모리 어드레스 제어에서 카메라로부터 입력되는 영상 데이터를 제1모드로 메모리에 저장하는 과정과 영상 프로세서의 읽는 과정을 도시한 일 예시도이다.
도 7은 본 발명에 따른 단일 버퍼 구조의 메모리 어드레스 제어에서 카메라 로부터 입력되는 영상 데이터를 제2모드로 메모리에 저장하는 과정과 영상 프로세서의 읽는 과정을 도시한 일 예시도이다.
도 8은 본 발명에 따른 단일 버퍼 구조의 메모리 어드레스 제어에서 카메라로부터 입력되는 영상 데이터를 제1모드로 기록하고, 영상 프로세서가 제2모드로 읽는 과정을 도시한 일 예시도이다.
본 발명은 단일 버퍼 구조의 메모리 어드레스 제어방법에 관한 것으로, 더 상세하게는 영상 데이터를 메모리에 저장(Write)하고, 메모리에 저장된 영상 데이터를 영상 프로세서가 읽는(Read) 과정에서 어드레스(Address)를 효율적으로 제어하여 블록기반으로 처리되는 영상 데이터를 단일 버퍼(Single Buffer)의 구조를 적용하여 효율적으로 처리하도록 하는 단일 버퍼 구조의 메모리 어드레스 제어방법에 관한 것이다.
일 예를 들어, 카메라에 연결된 입력단(이하 '카메라'라 한다)으로부터 입력되는 영상 데이터는 영상 프로세서에 의해 처리되기 위하여 버퍼 메모리에 순차적으로 저장된다.
이는 도 1에 도시된 바와 같이, 카메라에서 입력되는 영상 데이터는 버퍼 메모리의 제1라인에서 가로 방향으로 먼저 저장되고, 한 프레임(Frame) 혹은 프레임 배수의 길이로 설정되는 제1라인에 대한 저장이 완료되면 제2라인에 대한 저장을 진행한다.
이는 결국 카메라에서 입력되는 영상 데이터를 저장함에 있어 버퍼 메모리의 가로 방향으로 우선 저장하고, 그 이후에 세로 방향으로 진행함을 의미한다.
상기와 같은 방식으로 버퍼 메모리에 저장되는 영상 데이터를 JPEG(Joint Photographic Experts Group standards) 표준화 규격 혹은 MPEG(Moving Picture Experts Group standards) 표준화 규격의 영상으로 처리하기 위해서는 도 2에 도시된 바와 같이, 16×16 혹은 8×8 개의 영상 데이터로 구성된 블록(매크로 블록) 단위로 처리한다.
즉, 영상 데이터에서 휘도(Y) 성분에 대해서는 16×16 크기의 블록 단위로 처리하고, 색상(Cb 및 Cr) 성분에 대해서는 8×8 크기의 블록 단위로 처리하는데, 본 발명의 설명에서는 편의상 휘도(Y) 성분에 대한 16×16 크기의 블록 단위에 대하여 설명한다.
따라서, 영상처리과정의 시작은 적어도 하나 이상의 블록 데이터가 확보된 이후에야 가능한데, 이것은 세로 방향으로 16개의 라인에 해당하는 데이터가 입력된 이후에야 가능하다는 것을 의미한다.
또한, 영상프로세서가 메모리에 일정량만큼 저장된(모여진) 데이터를 처리하는 동안에도 카메라로부터 영상 데이터는 지속적으로 입력되므로, 지속적으로 입력되는 데이터를 다시 저장해 두는 메모리 공간이 필요하게 된다.
이 과정을 위해서 도 3에 도시된 바와 같이 종래에는 영상처리수단를 위해 더블버퍼 개념으로 두 개의 메모리를 사용하고 있다.
이때, 메모리의 크기는 카메라로부터 입력되는 데이터의 속도에 비해 얼마나 빨리 영상 프로세서가 저장된 블록 단위 데이터를 처리할 수 있느냐 하는 데에 따라 절대적으로 좌우되며, 영상프로세서의 속도가 느리면 느릴수록 더 큰 크기의 메모리를 필요로 하게 된다.
영상프로세서가 카메라로부터 입력되는 데이터의 속도와 동일하게 영상을 처리한다는 것을 가정한다고 해도 현재의 더블 버퍼 개념으로는 도 3에 도시된 바와 같이 최소한 한 프레임 가로 크기×16 라인을 갖는 두 개의 메모리(A1), (A2)를 사용하여야 한다. 즉, (한 프레임 가로 크기)× 16 ×2 의 크기를 가진 메모리를 사용하여야 한다.
이상에서 설명한 바와 같이 종래의 영상처리수단에서는 카메라에서 입력되는 영상의 처리를 위해서는 반드시 더블 버퍼 구조의 메모리를 사용하여야 하며, 영상 프로세서의 처리 능력에 따라 좌우되지만 최소한 한 프레임 가로 크기×16 라인을 갖는 두 개의 메모리(A1), (A2)가 사용되어 짐에 따라 영상처리장치, 예를 들어 디지털 카메라, 카메라가 장착되는 휴대폰, 캠코더 등의 제작 원가를 상승시키게 되는 문제점이 있다.
본 발명은 상기와 같은 문제점을 해결하기 위하여 발명한 것으로, 그 목적은 현재 일반적으로 사용되는 더블버퍼의 구조의 메모리를 사용하지 않고, 카메라에서 입력되는 영상 데이터를 메모리에 저장하고, 메모리에 저장된 영상 데이터를 영상 프로세서가 읽는 과정에서 어드레스를 효율적으로 제어하여 더블 버퍼 구조 메모리 크기의 절반 크기만으로 더블 버퍼 구조와 동일한 성능을 구현하는 것이 가능한 단일 버퍼 구조의 메모리 어드레스 제어방법을 제공하는 데 있다.
상기와 같은 목적을 실현하기 위한 본 발명은 메모리 어드레스 제어방법에 있어서, 블록 단위의 영상 데이터 처리가 활성화되면 메모리를 세로 방향의 라인과 가로 방향의 섹터 영역으로 분할하는 과정과; 제1모드를 실행하여 카메라에서 입력되는 영상 데이터를 메모리의 가로 방향으로 순차적으로 저장되도록 어드레스 제어하며, 세로 방향의 제1라인에서 제15라인까지 영상 데이터를 저장하는 과정과; 상기 세로 방향 제15라인까지의 영상 데이터 저장이 완료되면 영상 프로세서가 저장된 영상 데이터를 매크로 블록 단위로 읽어 가도록 어드레스 제어하며, 카메라에서 입력되는 영상 데이터를 제16라인에 가로 방향으로 순차적으로 저장하는 과정과; 상기 영상 프로세서가 매크로 블록 단위로 영상 데이터 읽음에 따라 제1섹터 영역에 저장된 영상 데이터를 모두 읽어가게 되면 영상 데이터의 읽음은 제1모드를 유지하고, 카메라에서 입력되는 영상 데이터의 저장은 제2모드로 진입하여 제1섹터 영역에 카메라에서 입력되는 영상 데이터를 저장하는 과정과; 상기 제1모드를 통한 읽음으로 제16섹터 영역에 저장된 영상 데이터를 모두 읽게되면 저장된 영상 데이터의 읽음을 제2모드로 전환하여 분할된 섹터의 제1라인에서 같은 매크로 블록별로 저장된 영상 데이터를 순차적으로 판독하고, 카메라에서 입력되는 영상 데이터를 제16섹터에 제2모드로 순차적으로 저장하는 과정과; 상기 제2모드로 분할된 섹터의 제1라인에 저장된 영상 데이터의 판독과 카메라에서 입력되는 영상 데이터가 제16 섹터 16라인에까지 저장이 완료되면, 분할된 섹터의 제2라인에서 같은 매크로 블록별로 저장된 영상 데이터의 판독을 제2모드로 유지하고, 카메라에서 입력되는 영상 데이터의 저장은 제1모드로 전환하여 제1라인의 가로 방향으로 저장하는 과정과; 상기한 제2모드를 통한 데이터 읽기와 제1모드를 통한 데이터 저장의 진행에 따라 제16라인까지의 데이터 읽기가 완료되면 제1모드의 읽기를 유지하고, 카메라에서 입력되는 영상 데이터를 제1모드로 저장하는 과정을 포함하는 단일 버퍼 구조의 메모리 어드레스 제어방법을 제공한다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세하게 설명하면 다음과 같다.
본 발명에 따른 단일 버퍼 구조의 메모리 어드레스 제어방법은 두 가지 모드를 가지며, 프레임의 가로 크기(이하 'frame_width'라 한다)와 세로의 16 라인을 곱한 크기의 메모리 영역을 채우는 양의 데이터를 저장하거나 읽은 직후마다 모드가 바뀌게 된다.
본 발명의 기술이 적용되기 위해서 필요한 한 가지 전제조건으로 처리하는 영상의 가로 크기가 휘도(Y)를 기준으로 256의 배수이어야 한다.
상기 두 가지 모드 중에서 제1모드는 더블 버퍼를 사용할 때의 어드레스 제어 방식을 적용하는 것으로, 종래의 기술에서 언급한 바와 같이, 카메라에서 입력되는 영상 데이터를 메모리에 저장함에 있어 도 1에 도시된 바와 같이, 우선 프레임의 가로 방향으로 저장하고, 한 프레임의 가로 방향에 대한 저장이 완료되면 다음 라인에 대하여 가로 방향으로 저장하도록 함으로써, frame_width×16 라인 만큼 저장하도록 이루어진다.
그리고, 제1모드는 상기와 같이 저장된 영상 데이터에 대하여 영상 프로세서는 종래의 기술에서 언급한 바와 같이 블록 단위(16×16)로 읽어들여 영상 처리하도록 이루어진다.
상기와 같이, 제1모드의 영상 데이터 기록 및 이의 처리가 실행되면 제2모드의 어드레스 제어가 적용된다.
상기 제2모드의 어드레스 제어는 카메라로부터의 영상 데이터를 메모리에 저장할 때에는 도 4에 도시된 바와 같이, 메모리의 가로방향, 즉 frame_width를 16개의 섹터(Sector)로 메모리 영역을 구분한 다음 제1섹터(sector1) 영역에 카메라에서 입력되는 영상 데이터를 제1모드로 저장하고, 제1섹터(sector1) 영역에 대한 저장이 완료되면 제2섹터(sector2)에 대한 저장을 진행하도록 하여, 제1섹터(sector1) → 제2섹터(sector2) → … → 제16섹터(sector16)의 순서로 카메라에서 입력되는 영상 데이터를 저장하도록 이루어진다.
이때, 각 섹터는 frame_width 만큼의 데이터, 즉 한 프레임의 가로 방향으로 한 라인의 영상 데이터가 들어갈 수 있는 최소한의 크기로 구성되며 각 섹터의 가로 크기는 반드시 16의 배수가 되도록 구성한다.
상기 도 4와 같이 메모리를 가로 크기가 16의 배수로 되도록 16개의 섹터로 구분하여, 제1섹터(sector1) → 제2섹터(sector2) → … → 제16섹터(sector16)의 순서로 카메라에서 입력되는 영상 데이터의 저장이 완료되면, 제2모드는 영상 프로세서가 도 5에 도시된 바와 같이 각각의 섹터에서 저장된 영상 데이터를 지정된 양 만큼씩 읽어 가도록 이루어진다.
도 5에서 (1)은 16개의 영역으로 구분된 각각의 섹터(sector1-sector16)에서 첫 번째 매크로 블록(MB1)의 영상 데이터를 읽어가는 과정을 도시한 것이고, (2)는 16개의 영역으로 구분된 각각의 섹터(sector1-sector16)에서 두 번째 매크로 블록(MB2)의 영상 데이터를 읽어가는 과정을 도시한 일 예로, 상기와 같이 16개의 영역으로 구분된 각각의 섹터에서 첫 번째 라인에 해당하는 매크로 블록(MB1)을 모두 읽어 간 다음에는 그 다음 라인에 해당하는 매크로 블록(MB2)을 읽어가는 일을 계속하여 데이터를 모두 읽어가게 된다.
이때, 각 섹터에서 읽어가는 데이터 양은 영상프로세서의 처리방식에 따라서 약간 다를 수 있다.
휘도(Y) 성분의 경우에는 각 블록별로 처리하고자 할 때에는 8개씩, 매크로 블록별로 처리하고자 할 때에는 16개씩 읽어 갈 수 있으며, 색차(Cb 및 Cr)성분의 경우에는 항상 8개씩 읽어가도록 이루어진다.
이하에서는 휘도 성분(Y)의 경우로 각 섹터에서 16개씩 읽어 가는 경우로 가정하고 설명한다.
상기한 바와 같이 두 개의 모드를 통해 단일 버퍼 구조의 메모리에 대하여 어드레스를 제어하여 카메라로부터 입력되는 영상 데이터의 저장과 저장된 영상 데이터의 처리를 위한 영상 프로세서의 읽기 제어에 대하여 좀더 구체적으로 설명하면 다음과 같다.
도 6은 본 발명에 따라 카메라로부터 입력되는 영상 데이터를 제1모드로 저 장하고, 저장된 영상 데이터를 읽는 과정을 도시한 일 예시이다.
먼저, 메모리에 대하여 제1모드로의 어드레스 제어가 활성화되면, 카메라로부터 입력되는 영상 데이터는 도 6의 (1)에 도시된 바와 같이 메모리의 제1라인에 가로 방향으로 입력되는 영상 데이터를 저장한다.
상기한 절차에 따라 제1라인에 대한 영상 데이터를 저장이 완료되면, 제2라인에 대하여 영상 데이터를 진행하며, 상기한 절차에 따라 (2)에 도시된 바와 같이 세로 방향으로 제15라인까지의 영상 데이터 저장을 실행한다.
상기 (2)와 같이 메모리의 세로 방향 제15라인까지의 영상 데이터 저장이 완료되면 영상 프로세서로 하여금, (3)에 도시된 바와 같이 블록(MB1) 단위로 영상 데이터를 읽어 가도록 어드레스를 제어한다.
상기와 같이 메모리의 세로 방향 제15라인까지의 영상 데이터 저장이 완료되는 시점에서 영상 프로세서가 블록 단위로 영상 데이터를 읽어 가는 경우 영상 데이터의 읽기와 쓰기에 대한 시간차에 의하여 영상 데이터의 저장과 영상 프로세서의 읽기 속도가 같은 경우 (3)에 도시된 바와 같이 가로 방향의 16개 영상 데이터를 읽어 가는 시간에 세로 방향 제16라인에 16개 영상 데이터의 저장이 완료되므로, 영상 프로세서의 16×16 매크로 블록(블록) 단위의 영상 데이터 처리에 에러가 발생되지 않게 된다.
이와 같이 카메라로부터 입력되는 영상 데이터의 저장과 저장된 영상 데이터를 영상 프로세서가 읽어 가도록 하는 메모리 어드레스의 제어에 따라 영상 프로세서가 제1매크로 블록(MB1)의 세로 방향으로 두 번째의 16개 영상 데이터에 대한 읽 기가 수행되면, 제16라인에서는 카메라로부터 입력되는 영상 데이터의 저장을 위한 어드레스 제어가 지속적으로 실행되고 있는 상태이므로, (4)와 같이 영상 데이터의 저장을 하게 된다.
상기한 바와 같은 메모리 어드레스의 제어에 따라 (5)와 같이 영상프로세서가 1개의 매크로 블록(MB1)을 모두 읽어 갔을 때 카메라로부터 입력되는 영상 데이터는 제16라인에 한 매크로 블록의 양 만큼인 총 256개의 영상 데이터를 기록하게 되는데, 그 중에서 먼저 기록한 16개의 영상 데이터는 첫 번째 매크로 블록(MB1)에 속해 있는 관계로 영상 프로세서가 이미 읽어 간 후가 된다.
이와 같은 메모리 어드레스의 제어에 따라 제16라인에 영상 데이터의 저장이 완료되는 순간, 영상 프로세서는 가로 한 줄 크기로 구성된 제1섹터(sector1)내의 영상 데이터를 모두 읽어 간 후가 된다.
상기한 절차에 따라 카메라로부터 입력되는 영상 데이터에 대하여 제1모드로의 저장이 완료되고, 영상 프로세서의 읽기 동작이 진행 중인 상태에서 도 7에 도시된 바와 같이 제2모드로 어드레스를 제어한다.
상기 제2모드로 어드레스를 제어하는 경우 메모리의 가로 방향에 대하여 16개의 섹터 영역으로 구분한다.
이는 전술한 도 6의 설명에서 제1섹터(sector1)내의 영상 데이터를 모두 읽어 가게 되면, 다음 제2섹터(sector2)에 포함되는 매크로 블록(MB1)의 영상 데이터 읽기가 진행되는데, 가로 한 줄의 크기로 구성된 제1섹터(sector1)에는 도 7의 (1)과 같이 카메라로부터 입력되는 영상 데이터의 저장이 실행되며, 제2섹터(sector2) 내의 제1매크로 블록(MB1)에 대한 전체 영상 데이터를 모두 읽어 가게 되면 그 시점에 한 매크로 블록에 해당하는 총 256개의 영상 데이터가 제1섹터(sector1)내에 저장된다.
또한, 제2섹터(sector2)내의 제2매크로 블록(MB2)에 대한 영상의 읽기가 완료되면 (2)와 같이 제1섹터(sector1)내에는 카메라로부터 입력되는 256개의 영상 데이터를 더 기록함으로써, 총 512개의 영상 데이터를 저장하게 되며, (3)과 같이 제2섹터(sector2)에 대한 영상 데이터의 읽기가 완료되면 제1섹터(sector1)에는 영상 데이터의 저장이 완료된다.
상기한 절차에 따라 (4)에 도시된 바와 같이 제16섹터(sector16)에 저장된 영상 데이터의 읽기가 완료되면 제2모드의 읽기 제어를 실행하는데, 이는 (5)에 도시된 바와 같이 가로 방향의 한 라인 크기의 영상 데이터가 저장된 제1섹터(sector1)내의 제1매크로 블록(MB1)의 제1라인에 저장된 16개 영상 데이터의 읽기를 진행하고, 제16섹터(sector16)에는 카메라로부터 입력되는 16개의 영상 데이터를 제1매크로 블록(MB1)의 제1라인에 저장한다.
상기에서 제1섹터(sector1)내의 제1매크로 블록(MB1)의 제1라인에 저장된 16개 영상 데이터의 읽기가 완료되면, (6)에 도시된 바와 같이 제2섹터(sector2)내의 제1매크로 블록(MB1)의 제1라인에 저장된 16개 영상 데이터의 읽기를 제어하고, 카메라로부터 입력되는 16개의 영상 데이터는 제16섹터(sector16)에 저장되도록 제어한다.
상기한 제어에 따라 제14섹터(sector14)내의 제1매크로 블록(MB1)의 제1라인 에 저장된 16개 영상 데이터의 읽기가 완료되면 (7)에 도시된 바와 같이 제15섹터(sector15)내의 제1매크로 블록(MB1)의 제1라인에 저장된 16개 영상 데이터의 읽기를 제어하고, 카메라로부터 입력되는 16개의 영상 데이터는 제16섹터(sector16)에 저장되도록 제어한다.
이때, 제1매크로 블록(MB1)에 속한 영상 데이터는 제15라인에 저장된 영상 데이터 양 만큼(16×15)을 읽어 간 상태이며, 카메라로부터 입력되는 영상 데이터는 제16섹터(sector16)에 240(16×15)개의 영상 데이터를 기록하게 된다.
이후, 제15섹터(sector15)내의 제1매크로 블록(MB1)의 제1라인에 저장된 16개 영상 데이터의 읽기가 완료되면 (8)에 도시된 바와 같이, 제16섹터(sector16)내의 제1매크로 블록(MB1)의 제1라인에 저장된 16개 영상 데이터의 읽기를 제어한다.
이때, 카메라로부터 입력되는 영상 데이터는 제16섹터(sector16)에 256개의 데이터를 기록하게 되지만 처음에 기록한 16개의 데이터는 제1매크로 블록(MB1)에 속해 있으므로 영상 프로세서가 이미 읽어가게 되므로 제16섹터(sector16)에는 읽어가지 않은 데이터 240개가 남아있게 된다.
상기한 절차에 따라 16개의 섹터(sector1∼sector16)에서 제1매크로 블록(MB1)의 제1라인에 저장되어 있는 영상 데이터의 읽기 제어가 완료되면, (9)에 도시된 바와 같이 제1섹터(sector1)내의 두 번째 매크로 블록(MB2)의 제1라인에 저장되어 있는 영상 데이터의 읽기 제어를 실행하며, 카메라로부터 입력되는 영상 데이터는 제16섹터(sector16)에 읽혀진 16개 데이터만큼 더 저장되도록 함으로써, 256개의 영상 데이터가 저장되도록 한다.
이와 같이, 제2섹터(sector2)내의 두 번째 매크로 블록(MB2)의 제1라인에 저장되어 있는 영상 데이터의 읽기가 완료되면 제3섹터(sector3)내의 두 번째 매크로 블록(MB2)의 제1라인에 저장되어 있는 영상 데이터의 읽기 제어와 제16섹터(sector16)에의 저장을 제어하며, 이에 대한 동작을 순차적으로 제어하여, (10)에 도시된 바와 같이 영상 프로세서가 16개로 구분되는 전체 섹터의 제1라인에 저장되어 있는 영상 데이터를 모두 읽어 가게 되면 제16섹터(sector16)는 카메라로부터 입력되는 영상 데이터에 의해 모두 채워지며, 제16섹터(sector16)의 제1라인에 저장된 영상 데이터들은 영상 프로세서가 이미 읽어간 상태가 된다.
상기와 같이 16개로 구분된 모든 섹터 영역의 제1라인에 저장된 영상 데이터가 영상 프로세서에 의해 읽혀지게 되면, 카메라로부터 입력되는 영상 데이터의 저장은 제1모드로 제어되고, 제2모드로 16개의 섹터에 저장된 영상 데이터에 대한 영상 프로세서의 읽기는 제2모드로 제어된다.
따라서, 도 8의 (1)에 도시된 바와 같이, 영상 프로세서는 제1섹터(sector1)내의 제1매크로 블록(MB1) 제2라인에 저장된 16개 영상 데이터의 읽기를 수행하도록 하고, 동시에 카메라로부터 입력되는 16개 영상 데이터를 제1모드로 제1라인에 저장한다.
이후, 제1섹터(sector1)내의 제1매크로 블록(MB1) 제2라인에 저장된 16개 영상 데이터의 읽기가 완료되면, (2)에 도시된 바와 같이 제2섹터(sector2)내의 제1매크로 블록(MB1) 제2라인에 저장된 16개 영상 데이터의 읽기 제어와 카메라로부터 입력되는 16개 영상 데이터를 제1섹터(sector1)의 제1라인에 연결하여 저장한다.
상기한 절차의 진행에 따라 제16섹터(sector6)내의 제1매크로 블록(MB1) 제2라인에 저장된 16개 영상 데이터의 읽기 제어가 수행되면 (3)에 도시된 바와 같이 제1모드로 제어되는 카메라로부터 입력되는 영상 데이터는 제1라인에 256개 저장된다.
또한, 상기와 같이 카메라로부터 입력되는 영상 데이터에 대한 제1모드로의 저장과 16개 섹터로 구분되어져 제2모드로 저장된 영상 데이터에 대한 제2모드로의 읽기에 대한 순차적인 어드레스 제어에 따라 각 섹터 영역에서 제2라인에 대한 읽기가 완료가 수행되면 (4)에 도시된 바와 같이 카메라로부터 입력되는 영상 데이터는 제1라인에 전체에 저장된다.
상기한 바와 같이 카메라로부터 입력되는 영상 데이터에 대하여 제1모드로의 저장과 16개의 섹터 영역으로 구분되어 각각의 섹터에 제2모드로 저장된 영상 데이터에 대하여 제2모드로의 읽기 제어의 반복 과정에 따라 영상 프로세서가 마지막 라인인 제16라인에 저장되어 있는 영상 데이터들을 모두 읽어 가게 되면, (5)에 도시된 바와 같이 카메라로부터 입력되어 제1모드로 저장되는 영상 데이터는 그 위쪽 라인인 제15라인까지 모두 채운다.
상기의 도 8의 (5)의 상태는 전술한 도 6의 (2)의 상태와 동일하다.
따라서, 이후부터는 영상 프로세서와 카메라로부터 입력되는 영상 데이터는 도 6의 (3)의 과정부터 그 이후의 과정과 동일한 과정을 반복하여 수행한다.
상기한 설명에서, 카메라로부터 입력되는 영상 데이터를 저장하고, 영상 프로세서가 저장된 영상 데이터를 읽는 과정에서 저장된 영상 데이터를 영상 프로세 서가 읽어가지 못하는 경우(읽지 못하였는데 그 영역에 영상 데이터가 다시 저장되는 경우) 혹은 영상 데이터를 저장하지 않았는데도 영상 프로세서가 해당 영역을 읽어 가는 경우가 없도록 하기 위해 메모리에 영상 데이터를 기록할 때 frame_width×16 만큼의 데이터를 모두 다 기록하고 나서 영상 프로세서가 데이터 읽기를 시작하는 것이 아니라 frame_width×15 만큼의 데이터 기록을 마쳤을 때 영상 프로세서가 읽기를 시작하도록 하였다.
이 순간은 위에서 이미 설명한 제1모드의 경우에서는 마지막 한 줄(제16라인)이 남았을 때, 제2모드의 경우에는 마지막 한 섹터(제16섹터)가 남았을 때를 실행되도록 한다.
또한, 본 발명에 따른 구조를 사용한 하드웨어에서, 사용자가 처리하고자 하는 최대 기능(예를 들면 처리하고자 하는 영상의 최대 해상도)을 결정함으로써 하드웨어적으로 메모리의 frame_width가 고정된 경우에, 이 크기의 절반 이하의 가로 크기를 가지는 영상이 입력되는 경우에는 전술한 방법으로 메모리를 사용하는 방법 이외에, 현재 일반적으로 사용하는 더블 버퍼 구조를 작용하여 제어하는 방식으로도 사용이 가능하다.
이것은 입력되는 영상 데이터의 가로 크기에 16을 곱한 크기를 가지는 메모리 영역을 두 군데로 지정한 다음 더블버퍼 어드레스 제어 방식으로 제어함으로써, 구현되어 진다.
상기에서는 본 발명에 따른 단일 버퍼 구조의 메모리 어드레스 제어방법의 바람직한 실시예에 대하여 설명하였지만, 본 발명은 이에 한정되는 것이 아니고 특 허청구범위와 발명의 상세한 설명 및 첨부한 도면의 범위 안에서 여러가지로 변형하여 실시하는 것도 가능하고, 이 또한 본 발명의 범위에 속한다.
상기와 같이 이루어지는 본 발명에 따른 단일 버퍼 구조의 메모리 어드레스 제어방법에 의하면, 메모리의 효율적인 어드레스 제어를 통해 기존의 더블 버퍼 구조를 사용하는 경우에 비해서 그 절반 크기의 메모리만 사용하면서도 동일한 기능을 수행할 수 있도록 함으로써, 영상 데이터의 처리에 요구되는 메모리의 효율적인 활용을 제공하는 것이 가능하다.

Claims (10)

  1. 메모리 어드레스 제어방법에 있어서,
    블록 단위의 영상 데이터 처리가 활성화되면 메모리를 세로 방향의 라인과 가로 방향의 섹터 영역으로 분할하는 과정과;
    제1모드를 실행하여 카메라에서 입력되는 영상 데이터를 메모리의 가로 방향으로 순차적으로 저장되도록 어드레스 제어하며, 세로 방향의 제1라인에서 제15라인까지 영상 데이터를 저장하는 과정과;
    상기 세로 방향 제15라인까지의 영상 데이터 저장이 완료되면 영상 프로세서가 저장된 영상 데이터를 매크로 블록 단위로 읽어 가도록 어드레스 제어하며, 카메라에서 입력되는 영상 데이터를 제16라인에 가로 방향으로 순차적으로 저장하는 과정과;
    상기 영상 프로세서가 매크로 블록 단위로 영상 데이터 읽음에 따라 제1섹터 영역에 저장된 영상 데이터를 모두 읽어가게 되면 영상 데이터의 읽음은 제1모드를 유지하고, 카메라에서 입력되는 영상 데이터의 저장은 제2모드로 진입하여 제1섹터 영역에 카메라에서 입력되는 영상 데이터를 저장하는 과정과;
    상기 제1모드를 통한 읽음으로 제16섹터 영역에 저장된 영상 데이터를 모두 읽게되면 저장된 영상 데이터의 읽음을 제2모드로 전환하여 분할된 섹터의 제1라인에서 같은 매크로 블록별로 저장된 영상 데이터를 순차적으로 판독하고, 카메라에서 입력되는 영상 데이터를 제16섹터에 제2모드로 순차적으로 저장하는 과정과;
    상기 제2모드로 분할된 섹터의 제1라인에 저장된 영상 데이터의 판독과 카메라에서 입력되는 영상 데이터가 제16섹터 16라인에까지 저장이 완료되면, 분할된 섹터의 제2라인에서 같은 매크로 블록별로 저장된 영상 데이터의 판독을 제2모드로 유지하고, 카메라에서 입력되는 영상 데이터의 저장은 제1모드로 전환하여 제1라인의 가로 방향으로 저장하는 과정과;
    상기한 제2모드를 통한 데이터 읽기와 제1모드를 통한 데이터 저장의 진행에 따라 제16라인까지의 데이터 읽기가 완료되면 제1모드의 읽기를 유지하고, 카메라에서 입력되는 영상 데이터를 제1모드로 저장하는 과정을 포함하는 단일 버퍼 구조의 메모리 어드레스 제어방법.
  2. 제1항에 있어서,
    상기 제1모드 제어와 제2모드 제어의 변환은 분할된 라인 및 섹터에 저장되는 영상 데이터 및 읽혀진 영역에 따라 반복되는 단일 버퍼 구조의 메모리 어드레스 제어방법.
  3. 제1항에 있어서,
    상기 메모리의 크기에 따라 세로 방향의 라인과 가로 방향의 섹터는 16의 배수로 분할되는 단일 버퍼 구조의 메모리 어드레스 제어방법.
  4. 제1항에 있어서,
    상기 가로 방향으로 분할되는 각각의 섹터는 프레임의 가로 방향으로 한 라인의 영상 데이터를 저장할 수 있는 최소한의 크기로 구성되는 단일 버퍼 구조의 메모리 어드레스 제어방법.
  5. 제1항에 있어서,
    상기 제1모드는 카메라에서 입력되는 영상 데이터를 메모리의 세로 방향으로 16의 배수로 분할된 라인의 가로 방향으로 순차적으로 저장하고, 영상 프로세서가 저장된 영상 데이터를 매크로 블록 단위로 읽어 들이도록 제어하는 단일 버퍼 구조의 메모리 어드레스 제어방법.
  6. 제1항에 있어서,
    상기 제2모드는 카메라에서 입력되는 영상 데이터를 메모리의 가로 방향으로 16의 배수로 분할된 각각의 섹터에 순차적으로 저장하고, 영상 프로세서가 각각의 섹터에서 세로 방향의 라인에 대하여 같은 매크로 블록별로 순차적으로 읽어 들이도록 제어하는 단일 버퍼 구조의 메모리 어드레스 제어방법.
  7. 제1항에 있어서,
    상기 제1모드로 제15라인까지 영상 데이터의 저장이 완료됨에 따라 제1모드로 매크로 블록 단위의 읽기가 수행되는 상태에서 제16라인에 대한 제1모드의 영상 데이터의 저장으로 16라인에서 정상적인 영상 데이터가 읽혀지는 단일 버퍼 구조의 메모리 어드레스 제어방법.
  8. 제1항에 있어서,
    상기 카메라에서 입력되는 영상 데이터를 제1모드를 통해 저장하는 과정에서 15라인에 영상 데이터를 저장 완료한 후 16라인에 저장하기 위한 영상 데이터가 입력되기 직전에 영상 프로세서가 매크로 블록 단위로 데이터를 읽어 가도록 제어하여 frame_width(한 프레임 가로폭) × 16의 크기를 초과하지 않는 메모리를 사용하는 단일 버퍼 구조의 메모리 어드레스 제어방법.
  9. 제1항에 있어서,
    상기 메모리의 frame_width가 하드웨어적으로 고정된 경우에, 카메라에서 입력되는 데이터 량이 조절되어 상기 고정된 메모리의 가로 크기의 절반 이하의 가로 크기를 가지는 영상이 입력되는 경우 더블버퍼 개념으로도 제어가 가능하도록 이루어지는 단일 버퍼 구조의 메모리 어드레스 제어방법.
  10. 제1항에 있어서,
    상기 메모리에 대한 제1모드와 제2모드의 어드레스 제어를 통해 더블 버퍼 구조 크기의 1/2 크기로 구현되는 단일 버퍼 구조의 메모리 어드레스 제어방법.
KR1020040068928A 2004-08-31 2004-08-31 단일 버퍼 구조의 메모리 어드레스 제어방법 KR100602411B1 (ko)

Priority Applications (6)

Application Number Priority Date Filing Date Title
KR1020040068928A KR100602411B1 (ko) 2004-08-31 2004-08-31 단일 버퍼 구조의 메모리 어드레스 제어방법
AT04774696T ATE389217T1 (de) 2004-08-31 2004-09-23 Verfahren und adressensteuerung eines speichers mit einzelpufferstruktur
EP04774696A EP1784783B1 (en) 2004-08-31 2004-09-23 Method of address-controlling memory with single buffer structure
PCT/KR2004/002443 WO2006025625A1 (en) 2004-08-31 2004-09-23 Method of address-controlling memory with single buffer structure
CN2004800425006A CN1926571B (zh) 2004-08-31 2004-09-23 对具有单缓存结构的内存进行地址控制的方法
DE602004012461T DE602004012461D1 (de) 2004-08-31 2004-09-23 T einzelpufferstruktur

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040068928A KR100602411B1 (ko) 2004-08-31 2004-08-31 단일 버퍼 구조의 메모리 어드레스 제어방법

Publications (2)

Publication Number Publication Date
KR20060020159A KR20060020159A (ko) 2006-03-06
KR100602411B1 true KR100602411B1 (ko) 2006-07-20

Family

ID=36000246

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040068928A KR100602411B1 (ko) 2004-08-31 2004-08-31 단일 버퍼 구조의 메모리 어드레스 제어방법

Country Status (6)

Country Link
EP (1) EP1784783B1 (ko)
KR (1) KR100602411B1 (ko)
CN (1) CN1926571B (ko)
AT (1) ATE389217T1 (ko)
DE (1) DE602004012461D1 (ko)
WO (1) WO2006025625A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201215149A (en) 2010-09-17 2012-04-01 Alpha Imaging Technology Corp Notebook computer for processing original high resolution images and image processing device thereof
CN104899824B (zh) * 2014-03-05 2018-11-16 珠海全志科技股份有限公司 图像数据在dram中的处理方法及系统
JP6524749B2 (ja) * 2015-03-27 2019-06-05 セイコーエプソン株式会社 記憶装置、表示ドライバー、電気光学装置及び電子機器

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5606369A (en) 1994-12-28 1997-02-25 U.S. Philips Corporation Buffering for digital video signal encoders using joint bit-rate control
KR100228265B1 (ko) 1991-09-30 1999-11-01 윤종용 고속데이타 처리시스템의 그래픽 처리 서브시스템
JP2000244859A (ja) 1999-02-24 2000-09-08 Matsushita Electric Ind Co Ltd ビデオサーバ装置
JP3233343B2 (ja) * 1996-10-17 2001-11-26 インターナショナル・ビジネス・マシーンズ・コーポレーション 圧縮フレーム・バッファによりグラフィックス画像データを二重バッファするためのシステムおよび方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU666442B1 (en) * 1994-06-28 1996-02-08 Canon Kabushiki Kaisha Image processing apparatus and method therefor
US5734875A (en) * 1996-02-05 1998-03-31 Seiko Epson Corporation Hardware that rotates an image for portrait-oriented display
JPH10191236A (ja) * 1996-12-25 1998-07-21 Nec Corp 画像処理装置及び画像データメモリ配置方法
JP2001285644A (ja) * 2000-03-31 2001-10-12 Sony Corp ラインメモリの制御方法
JP4139966B2 (ja) * 2003-07-02 2008-08-27 ソニー株式会社 画像処理装置および画像処理方法、並びに画像表示装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100228265B1 (ko) 1991-09-30 1999-11-01 윤종용 고속데이타 처리시스템의 그래픽 처리 서브시스템
US5606369A (en) 1994-12-28 1997-02-25 U.S. Philips Corporation Buffering for digital video signal encoders using joint bit-rate control
JP3233343B2 (ja) * 1996-10-17 2001-11-26 インターナショナル・ビジネス・マシーンズ・コーポレーション 圧縮フレーム・バッファによりグラフィックス画像データを二重バッファするためのシステムおよび方法
JP2000244859A (ja) 1999-02-24 2000-09-08 Matsushita Electric Ind Co Ltd ビデオサーバ装置

Also Published As

Publication number Publication date
KR20060020159A (ko) 2006-03-06
DE602004012461D1 (de) 2008-04-24
EP1784783A1 (en) 2007-05-16
ATE389217T1 (de) 2008-03-15
CN1926571A (zh) 2007-03-07
CN1926571B (zh) 2010-06-09
EP1784783B1 (en) 2008-03-12
WO2006025625A1 (en) 2006-03-09

Similar Documents

Publication Publication Date Title
JP4179701B2 (ja) 画像処理装置
KR100418728B1 (ko) 디지털 카메라
JPH06225292A (ja) イメージデコーデングシステムのためのモジュールメモリ
KR100602411B1 (ko) 단일 버퍼 구조의 메모리 어드레스 제어방법
US7929777B2 (en) Variable length decoding device, variable length decoding method and image capturing system
JPH08181984A (ja) 画像圧縮装置および画像圧縮方法
JP4533447B2 (ja) 画像処理装置
US20110157465A1 (en) Look up table update method
JP2942497B2 (ja) 画像データ復号表示方法および装置
JP2000311241A (ja) 画像処理装置
CN100593956C (zh) 用于解块滤波参数数据存储和交换的方法
CN100403276C (zh) 存储器存取方法
JP4281161B2 (ja) 電子カメラ
JPS63292778A (ja) 画像信号処理装置及びその処理方法
JP2002232884A (ja) 画像符号化装置及び画像符号化方法
EP1138161A1 (en) Method and electronic device for decoding compressed image data and auxiliary recording device
JP2003283792A (ja) 撮像機器及び画像データの変換方法
JP3457540B2 (ja) 画像復号化装置及び方法
KR100240329B1 (ko) 디지탈 영상의 움직임 보정 장치
JPH08275181A (ja) 動画像データの復号装置
JP3057212B2 (ja) 画像データ復号装置
JP3352346B2 (ja) 画像信号処理装置
JP2003304491A (ja) デジタルスチルカメラ
KR19980023060A (ko) 동영상처리기의 영상데이타 저장방법
JP2002237951A (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: 20100708

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee