KR100288141B1 - 엠펙 비디오 인코더의 메모리 접속 장치 - Google Patents

엠펙 비디오 인코더의 메모리 접속 장치 Download PDF

Info

Publication number
KR100288141B1
KR100288141B1 KR1019980061523A KR19980061523A KR100288141B1 KR 100288141 B1 KR100288141 B1 KR 100288141B1 KR 1019980061523 A KR1019980061523 A KR 1019980061523A KR 19980061523 A KR19980061523 A KR 19980061523A KR 100288141 B1 KR100288141 B1 KR 100288141B1
Authority
KR
South Korea
Prior art keywords
data
image data
memory
video encoder
dram
Prior art date
Application number
KR1019980061523A
Other languages
English (en)
Other versions
KR20000045011A (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 KR1019980061523A priority Critical patent/KR100288141B1/ko
Publication of KR20000045011A publication Critical patent/KR20000045011A/ko
Application granted granted Critical
Publication of KR100288141B1 publication Critical patent/KR100288141B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/007Transform coding, e.g. discrete cosine transform
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/24Systems for the transmission of television signals using pulse code modulation

Landscapes

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

Abstract

1. 청구범위에 기재된 발명이 속하는 기술분야
본 발명은 엠펙 비디오 인코더의 메모리 접속 장치에 관한 것임.
2. 발명이 해결하고자하는 과제
본 발명은 외부 장치에서의 타이밍 및 데이터 순서의 조절을 위한 별도의 버퍼링 과정없이 처리된 데이터를 곧바로 입력받고, 외부 장치의 버퍼 활용에 따른 출력 데이터의 타이밍을 조절하므로써, 내부 버퍼의 수량 및 용량을 최적화할 수 있는 엠펙 비디오 인코더의 메모리 접속 장치를 제공하는데 그 목적이 있다.
3. 발명의 해결방법의 요지
본 발명은, 원영상 데이터를 일시 저장하는 제 1 및 제 2 저장수단; 복원영상 데이터를 일시 저장하는 제 3 및 제 4 저장수단; 부호화 비트열을 일시 저장하는 제 5 및 제 6 저장수단; 어드레스 신호를 제공하여 메모리에 저장된 데이터들의 독출을 제어하는 저장 제어수단을 포함한다.
4. 발명의 중요한 용도
본 발명은 MPEG-2 비디오 인코더에 이용됨.

Description

엠펙 비디오 인코더의 메모리 접속 장치
본 발명은 엠펙(MPEG : Moving Picture Expert Group)-2 비디오 인코더의 메모리 접속 장치에 관한 것으로서, 특히 최소의 버퍼를 채용하여 MPEG-2 비디오 인코더와 메모리 간의 데이터를 접속할 수 있는 메모리 접속 장치에 관한 것이다.
일반적으로, 디지털 영상데이타 처리 시스템의 초대규모 집적회로(VLSI : 피Very Large Scale Integration Circuit) 구현 기술 분야로서, 현재 반도체의 기술 발달로 MPEG-2 비디오 인코더를 단일 ASIC(Application Specific Integration Circuit) 칩으로 구현할 수 있게 되었다.
그리고, MPEG-2 비디오 인코더는 동작 과정에서 원영상 데이터, 부호화 복원영상 데이터, 그리고 부호화 비트스트림(즉, 비트열임)을 저장할 수 있는 버퍼가 필요한데 일반적으로 속도는 다소 느리나 가격이 싼 상용 디램(DRAM : Dynamic Random Access Memory)이 사용된다.
이러한, DRAM을 사용하여 각기 독립적으로 동작하는 세 종류의 버퍼를 구현하기 위해서는 각 DRAM 버퍼의 앞 뒤에 작은 용량의 캐시(Cashe) 메모리인 에스램(SRAM : Static Random Access Memory)를 두어 인터페이스를 위한 버퍼링을 해 주어야 한다.
비록, 캐시 메모리의 용량이 DRAM 버퍼에 비해서는 상당히 작지만 단일 ASIC 속에서 구현될때는 전체 칩규모에서 큰 부분을 차지한다.
또한, MPEG-2 비디오 인코더에서 DRAM 접속 장치는 이와 같이 DRAM 및 캐시 메모리의 구성 및 제어로 상기 세 종류의 버퍼 기능을 수행해 주는 모듈이다.
즉, DRAM 접속 장치는 전체 비디오 인코더 하드웨어에서 많은 부분을 차지하는데, DRAM 접속 장치의 인터페이스(입출력 데이터의 타이밍 및 순서정의), DRAM의 구성방법과 어드레스 맵(Map), 접근 타이밍, 캐쉬 메모리의 구성 및 제어 방법, 그리고 전체 하드웨어 구성에 따라 요구되는 캐쉬메모리의 용량과 수량 및 전체 하드웨어 복잡도가 달라진다.
한편, 종래의 DRAM 접속 장치의 경우, 인터페이스의 비효율적 정의로 DRAM 접속 장치와 외부 장치에 추가적인 캐쉬 메모리를 두어야 했으며, 캐쉬 메모리의 용량 및 구조, DRAM 접근 스케쥴링, 그리고 하드웨어 구성 등에서 최적화가 이루어지지 않아 DRAM 접속 장치의 캐쉬 메모리의 용량 및 하드웨어가 최적화되지 못하는 문제점이 있었다.
따라서, 본 발명은 상기와 같은 문제점을 해결하기 위하여 안출된 것으로서, 외부 장치에서의 타이밍 및 데이터 순서의 조절을 위한 별도의 버퍼링 과정없이 처리된 데이터를 곧바로 입력받고, 메모리 접근 타임 스케쥴링 및 하드웨어 구성의 단순화 및 외부 장치의 버퍼 활용에 따른 출력 데이터의 타이밍을 조절하므로써, MPEG-2 비디오 인코더를 효율적으로 구성하여 내부 버퍼의 수량 및 용량을 최적화할 수 있는 엠펙 비디오 인코더의 메모리 접속 장치를 제공하는데 그 목적이 있다.
도 1은 본 발명이 적용되는 MPEG-2 비디오 인코더의 구성도.
도 2는 본 발명에 따른 MPEG-2 비디오 인코더의 메모리 접속 장치의 일실시예 구성도.
도 3a는 본 발명에 따른 원영상 데이터의 입출력 순서에 대한 설명도.
도 3b는 본 발명에 따른 복원영상 데이터의 입출력 순서에 대한 설명도.
도 4는 본 발명에 따른 원영상 데이터의 입력 타이밍에 대한 설명도.
도 5는 본 발명에 따른 원영상 데이터의 출력 및 부호화 복원영상 데이터의 입출력 타이밍에 대한 설명도.
도 6은 본 발명의 메모리 접속 장치에 따른 움직임 벡터의 타이밍도.
도 7은 본 발명에 따른 메모리 접속 장치의 버퍼 구조에 대한 설명도.
도 8은 본 발명에 따른 메모리 접속 장치의 DRAM의 어드레스 맵의 구조도.
도 9a 및 도 9b는 DRAM의 원영상 버퍼내에서 데이터의 쓰기와 읽기의 입출력 타이밍에 대한 설명도.
도 10a 및 도 10b는 복원영상에 대한 DRAM 버퍼내 쓰기와 읽기에 대한 설명도.
도 11은 DRAM의 접근에 대한 동작 타이밍도.
도 12는 비트열 입력과 출력의 가변적 접극 할당에 대한 설명도.
* 도면의 주요 부분에 대한 부호의 설명 *
201: DRAM 202: 매크로블록 처리부
203: 가변길이 부호화부 204: 비트율 제어부
211 내지 216: 버퍼 217: 저장 제어부
이와 같은 목적을 달성하기 위한 본 발명은, 메모리와 엠펙(MPEG : Moving Picture Expert Group)-2 비디오 인코더 간의 데이터들을 접속하는 메모리 접속 장치에 있어서, 외부로부터 입력된 원영상 데이터를 일시 저장하고 소정의 시간에 따라 상기 메모리로 전달하는 제 1 저장수단; 상기 메모리로부터 전달된 원영상 데이터를 일시 저장하고 소정의 시간에 따라 상기 엠펙 비디오 인코더로 전달하는 제 2 저장수단; 상기 엠펙 비디오 인코더로부터 전달된 복원영상 데이터를 일시 저장하고 소정의 시간에 따라 상기 메모리로 전달하는 제 3 저장수단; 상기 메모리로부터 전달된 복원영상 데이터를 일시 저장하고 소정의 시간에 따라 상기 엠펙 비디오 인코더로 전달하는 제 4 저장수단; 상기 엠펙 비디오 인코더로부터 전달된 부호화 비트열을 일시 저장하고 소정의 시간에 따라 상기 메모리로 전달하는 제 5 저장수단; 상기 메모리로부터 전달된 비트스트림을 일시 지정하고 소정의 시간에 따라 출력하는 제 6 저장수단; 및 어드레스 신호를 제공하여 상기 메모리에 저장된 데이터들의 독출을 제어하는 저장 제어수단을 포함한다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세하게 설명한다.
도 1은 본 발명이 적용되는 MPEG-2 비디오 인코더의 구성도로서, 원영상 필드 버퍼(111), 부호화 복원영상 버퍼(112) 및 부호화 비트열 버퍼(113)로 구성된 프레임 메모리(110)와, 입력 처리부(120)와, 움직임 예측 및 보상부(130)와, 감산기(140)와, 이산여현변환부(150)와, 가산기(160)와, 가변길이 부호화부(170)로 구성된다.
이와 같은 구조를 갖는 MPEG-2 비디오 인코더에 대하여 설명하면 다음과 같다.
원영상 버퍼(111)에는 필드로 입력되는 영상데이타가 저장되고, 부호화 복원영상 버퍼(112)에는 움직임 예측, 예측 오차의 이산여현변환 및 복호화 과정을 거쳐 복원된 데이터가 저장되며, 그리고 부호화 비트열 버퍼(113)에는 가변길이 부호화부(170)에서 가변길이 부호화되어 전달된 부호화 비트열이 저장된다.
입력 처리부(120)는 원영상 필드 버퍼(111)에서 제공되는 4:2:2 포맷의 매크로블럭(MB : Macro Block) 데이터를 4:2:0 포맷으로 변환해 주는 역할을 한다.
다음에는, 상기 버퍼들의 역할을 간단히 살펴보겠다.
입력 영상데이타는 NTSC TV 규격의 비월주사순의 필드단위로 입력된다.
그러나, 입력 데이타의 부호화는 필드 구조 혹은 프레임구조의 매크로블럭 단위로 처리되어 질 수 있다.
따라서, 입력 영상데이타는 데이터가 입력되는데로 부호화되지 못하고 적어도 프레임의 둘째 필드의 8라인이 입력되어야 하며, 이에 따라 원영상 버퍼(111)는 적어도 1필드 8라인의 데이터를 저장하고 있어야 한다.
부호화 복원영상 버퍼(112)는 움직임 예측을 위해 이전 부호화되어 복원된 프레임이 저장되어 있어야 한다.
그리고, 부호화 비트열 버퍼(113)는 MPEG-2 비디오 부호화를 통해 가변적으로 발생되는 부호화 비트를 항등율(CBR : Constant Bit Rate)로 출력해 주기 위해 필요하다.
이와 같은 세개의 버퍼들은 대용량의 버퍼로서 속도가 빠른 SRAM 대신 값이 싼 상용 DRAM을 사용하여 구현되어 진다.
또한, 버퍼(111 내지 113)들은 독립적으로 동작이 이루어지며 불규칙적이다.
하지만, DRAM의 접근은 한 순간에 한 데이터에 대해서만 가능하므로 세 종류의 DRAM 버퍼 앞 뒤로 속도가 빠른 캐쉬 메모리(즉, SRAM임)을 두어 버퍼링 되어야 한다.
본 발명의 설명에 따라 후술될 신호들의 기능 및 명칭에 대하여 설명하면 다음과 같다.
첫째, 시스템 제어 및 클럭 신호(단, 9비트 단위의 신호임)에 대하여 설명한다.
RESET는 시스팀의 초기화 신호, SCK2 : 27MHz의 시스템 클럭(단, 샘플율의 2배임), frmref는 프레임 영상의 입력 개시를 나타내는 클럭신호, fldref는 프레임 영상의 입력 개시를 나타내는 클럭신호, piclk는 1365개의 mbclk 포함하고 영상의 부호화 개시를 나타내는 클럭신호, mbclk는 660개의 sck2를 포함하고 매크로블럭의 부호화 개시를 나타내는 클럭신호, frofi는 필드기반 혹은 프레임 기반 부호화를 나타내는 신호, 그리고 pstruct(2)는 부호화 영상구조를 나타내주는 파라미터이다.
둘째, 원영상 입출력 관련 신호(단, 28비트 단위의 신호임)에 대하여 설명한다.
progr_frm는 비디오영상의 형성 방식을 나타내는 신호, yc422(8)는 라인 단위로 입력되는 4:2:2 포맷의 원영상 신호, yc422_en은 휘도 데이타와 색도 데이타의 유효성을 나타내는 신호, mby422(8)은 블록단위로 출력되는 매크로블럭 데이터로 휘도성분을 나타내는 신호, mby422_en은 mby422 데이터의 유효성을 나타내 주는 신호, mbc422(8)은 블록단위로 출력되는 매크로블럭 데이터로 휘도성분을 나타내는 신호, 그리고 mbc422_en은 mbc422 데이터의 유효성을 나타내 주는 신호이다.
셋째, 부호화 복원영상 입출력 관련 신호(단, 54비트 단위의 신호임)에 대하여 설명한다.
dct_type는 이산여현변환 형태를 나타내는 신호, mvdata는 움직임 보상에 요구되는 색도신호를 공급해 주기 위한 움직임 벡터 신호, mvdata_en는 mvdata의 유효성을 나타내주는 신호, ddata(8)은 중간 부호화 영상데이타를 블록단위로 입력해 주는 신호, ddata_en은 ddataMB의 유효성을 나타내는 신호, sydata(32)은 중간 부호화 영상데이타를 움직임 추정/보상을 위해 출력하는 휘도신호, sydata_en은 sydata의 유효성을 나타내는 신호, scdata(8)은 중간 부호화 영상데이타를 움직임보상을 위해 출력하는 색도신호, 그리고 scdata_en은 scdata의 유효성을 나타내는 신호이다
넷째, 부호화비트열 데이터의 입출력 관련 신호(단, 43비트 단위의 신호임)에 대하여 설명한다.
vstrm(32)는 가변율로 발생하는 부호화비트열을 입력하기 위한 신호, vstrm_en은 vstrm의 유효 여부를 나타내는 신호, cstrm_req은 부호화비트열의 요구 신호, cstrm(8)은 cstrm_req의 요구로 출력되는 부호화 비트열 데이터, 그리고 cstrm_en은 cstrm의 유효성을 나타내는 신호이다.
끝으로, DRAM 접속 장치내의 DRAM과의 접속에 이용되는 신호에 대하여 설명한다.
DRAMAddr(9)은 DRAM 어드레스 신호, DRAMData(64) : DRAM 데이터 신호, DRAMRAS은 DRAM 로우 어드레스 스트로브(Row Address Strobe) 신호, DRAMCAS는 DRAM 칼럼 어드레스 스트로브(Column Address Strobe) 신호, DRAMCSB는 DRAM 칩 선택(Chip Select) 신호, DRAMWEB는 DRAM 라이트 인에이블(Write Enable) 신호, 그리고 DRAMOEB는 DRAM 출력 인에이블신호이다.
도 2는 본 발명에 따른 MPEG-2 비디오 인코더의 메모리 접속 장치의 일실시예 구성도이다.
도 2에 도시된 바와 같이, 본 발명의 메모리 접속 장치는, 외부로부터 입력되는 원영상 데이터를 일시 저장하여 디램(201)으로 전달하는 버퍼(211)와, 디램(201)으로부터 전달되는 원영상 데이터를 일시 저장하여 매크로블록 처리부(202)로 전달하는 버퍼(212)와, 매크로블록 처리부(202)로부터 전달된 복원영상 데이터를 일시 저장하여 디램(201)으로 전달하는 버퍼(213)와, 디램(201)으로부터 전달된 복원영상 데이터를 일시 저장하여 매크로블록 처리부(203)로 전달하는 버퍼(214)와, 가변길이부호화부(203)로부터 전달된 부호화비트열을 일시 저장하여 디램(201)으로 전달하는 버퍼(215)와, 디램(201)으로부터 전달된 비트스트림을 일시 지정하여 출력하는 버퍼(216)와, 어드레스 신호를 제공하여 디램(201)에 저장된 데이터들이 각각 버퍼(212, 214, 216)들로 전달되도록 제어하는 저장 제어부(217)를 구비한다.
상기한 바와 같은 구조를 갖는 본발명의 메모리 접속 장치의 동작에 대하여 상세하게 설명하면 다음과 같다.
외부로부터 입력되는 원영상 데이터가 MPEG-2 비디오 인코더로 입력되면, 버퍼(211)는 입력된 원영상 데이터를 일시 저장한 후 미리 설정된 스케쥴링 타이밍에 맞추어 디램(201)으로 출력한다.
이렇게, 디램(201)에 저장된 원영상 데이터는 저장 제어부(217)의 제어에 의해 버퍼(212)로 전달되고, 이어 버퍼(212)는 미리 설정된 스케쥴링 타이밍에 따라 전달된 원영상 데이터를 일시 저장한 다음 매크로블록 단위로 매크로블록 처리부(202)로 출력한다.
그리고, 매크로블록 처리부(202)는 비트열 제어부(204)의 제어를 받아 버퍼(212)로부터 전달된 원영상 데이터를 인코딩한 다음, 인코딩한 데이터를 다시 디코딩하여 디코딩한 복원영상 데이터를 버퍼(213)로 출력한다.
이어서, 버퍼(213)는 미리 설정된 스케쥴링 타이밍에 맞추어 전달된 복원영상 데이터를 매크로블록 단위로 디램(201)으로 전달한다.
이에 따라, 디램(201)은 버퍼(213)로부터 전달된 복원영상 데이터를 저장한 후, 저장 제어부(217)로부터 복원영상 데이터를 저장하고 있는 영역의 어드레스를 지정하는 어드레스 신호가 전달되면 저장하고 있는 복원영상 데이터를 버퍼(214)로 전달한다.
이렇게, 디램(201)으로부터 복원영상 데이터가 전달되면, 버퍼(214)는 미리 설정된 스케쥴링 타이밍에 따라 복원영상을 일시 저장한 다음 매크로블록 처리부(202)로 전달한다.
전술한 바와 같은 매크로블록 처리과정이 수행되고 나면, 가변길이 부호화부(203)는 비트열 제어부(204)를 제어를 받아 매크로블록 처리부(202)의 출력신호들을 가변길이 부호화하여 부호화한 부호화 비트열을 버퍼(215)로 출력한다.
이와 같이, 가변길이 부호화된 부호화 비트열은 버퍼(215)에 일시 저장된 다음 디램(201)으로 전달된다. 이때, 버퍼(215)는 미리 설정된 스케쥴링 타이밍에 따라 전달된 부호화 비트열을 일시 저장한 후 디램(201)으로 전달하게 된다.
그리고, 저장 제어부(217)가 부호화 비트열을 독출하기 위한 어드레스 신호를 제공하여 비트스트림이 저장된 영역의 어드레스를 지정하게 되면, 디램(201)은 저장하고 있는 비트스트림을 버퍼(216)로 출력한다.
이어서, 버퍼(216)는 미리 설정된 스케쥴링 타이밍에 따라 전달된 비트스트림을 일시 저장한 다음 출력한다.
한편, 비트열 제어부(204)는 버퍼(215, 216)의 데이터 저장 상태에 따라 매크로블록 처리부(202)와 가변길이 부호화부(203)를 제어한다.
도 3a는 본 발명에 따른 원영상 데이터의 입출력 순서를 픽쳐 구조에 따라 나타낸 것이다.
도 3a에 도시된 바와 같이, 원영상 데이터(yc422)의 입력은 NTSC TV의 비월주사 방식으로 27MHz 시스템 클럭(sck2)에 동기되어 "Cb Y Cr Y Cb Y …" 순서를 갖으며 픽쳐 구조와는 무관하다.
그리고, 원영상 데이터의 출력은 매크로블럭 단위로 이루어지며 휘도 데이터(mby422)는 16x16 개의 데이터, 색도 데이터(mbc422)는 16x20 개의 데이터이다.
또한, 픽쳐구조에 따라 프레임 혹은 필드 구조로 데이터가 출력되며, 색도 데이타는 4:2:2 데이터를 4:2:0로 변환하는 5탭 수직간축 필터로 출력되는데 프레임픽쳐의 경우는 progr_ frm 신호에 따라 20x16 프레임 매크로블록 데이터를 프레임순 혹은 10x16 상위필드, 10x16 하위필드 순으로 출력하며, 필드픽쳐 구조의 경우는 상위필드픽쳐 혹은 하위필드픽쳐 구조에 따라 해당 필드 데이터 16x20 개를 출력한다.
한편, 복원영상 데이터의 입출력은 픽쳐구조 및 이사여현변환 형태(dct_type)에 따라 달라진다.
도 3b는 본 발명에 따른 복원영상 데이터의 입출력 순서를 픽쳐 구조에 따라 나타낸 것이다.
도 3b에 도시된 바와 같이, 복원영상 데이터(ddata)의 입력 순서는 상기 이산여현변환부에서 8x8 블록으로 처리되어 출력되는 순서와 같다.
그리고, 프레임픽쳐 구조의 경우 상기 이산여현변환부의 휘도 데이타 출력순서는 이산여현변환 형태(dct_type)에 따라 8x8블록이 프레임 혹은 필드가 된다.
그러나, 색도 데이타는 이산여현변환 형태(dct_type)에 상관없이 모두 프레임구조이다.
여기서, 부호화 비트스트림의 입력은 매크로블럭당 최소 0비트에서 최대 9,300비트까지 가변적이다.
한편, 비트스트림의 출력은 고정비트율 출력 모드에서는 대략 26Mbps 속도로 일정한 량의 비트가 출력되며, 가변비트율 모드에서는 0비트에서 6,000비트내에서 가변적이다.
이하에서는, 본 발명의 메모리 접속 장치의 입출력 신호의 타이밍에 대하여 설명한다.
도 4는 본 발명에 따른 원영상 데이터의 입력 타이밍에 대한 설명도로서, 원영상 데이터의 입력은 NTSC TV 규격의 타이밍을 갖음을 알 수 있다.
도 5는 본 발명에 따른 원영상 데이터의 출력 및 부호화 복원영상 데이터의 입출력 타이밍에 대한 설명도로서, 입출력 데이터들은 휘도와 색도가 타이밍상에서 분리되어 있는데 이는 DRAM 앞뒤에 두고 있는 SRAM을 휘도 및 색도에 대해 공유하기 위함이다.
그리고, 부호화 비트열의 입력데이터 타이밍은 가변적이며 출력데이터의 타이밍은 고정비트율모드의 경우는 매크로블럭에 대해 고정되어 있지는 않으나 등간격이며 가변비트율모드에서는 가변적이다.
도 6은 본 발명의 메모리 접속 장치에 따른 움직임 벡터의 타이밍도로서, 매크로블럭당 움직임 벡터 타입과 두 개의 움직임벡터가 1비트 데이터 선으로 입력될 때의 타이밍을 나타낸 것이다.
즉, 도면에서와 같이, 시스템 클럭(SCK2) 0에 움직임벡터 타입이 입력되고, 이어 첫째 움직임 벡터의 수평성분, 수직성분, 둘째 벡터의 수평성분, 수직성분 순으로 입력된다.
그리고, 각 성분은 7비트(즉, -32.0 ∼ +31.5 비트임)로 구성된다.
도 7은 본 발명에 따른 메모리 접속 장치의 버퍼 구조에 대한 설명도로서, ASIC 외부에 접속된 DRAM(711), ASIC 내부의 캐쉬 메모리인 SRAM(712 내지 717)들 및 레지스터(718 내지 734)들로 구성되어 있는 DRAM 접속 장치의 버퍼구조에 대해 설명하기 위한 것이다.
도 7에 도시된 바와 같이, DRAM(711)의 앞뒤로는 DRAM(711)과 외부 입출력 인터페이스 사이의 타이밍 조정을 위한 캐쉬 메모리인 SRAM(712 내지 717)들이 위치하며, 상기 SRAM의 입출력단에서는 상기 SRAM과 외부 입출력 인터페이스 및 DRAM(711) 간의 데이터 비트수를 맞추기 위한 레지스터(718 내지 734)들을 두고 있다.
여기서, DRAM(711)은 512 row x 512 column x 16b 구조의 비동기(Asynchronous) DRAM을 4개 병렬로 연결한 구조를 갖으며 다음과 같은 규격을 갖는다.
즉, 9비트 로우/칼럼 어드레스, 최소 12.5msec의 리프레쉬 사이클, 512x512x64의 메가비트 용량 및 50nsec 이하의 접근 시간을 갖는다.
그리고, SRAM(712 내지 717)들은 각 버퍼의 입출력에 대해 32비트 폭의 SRAM을 병렬로 연결한 구조를 갖는다. 다음 [표 2]는 DRAM 접속 장치의 버퍼 종류별 SRAM 용량을 나타낸 것이다.
[표 2]
데이터 종류 입력버퍼 출력버퍼 합계
원영상 데이터 SRAM 64w x 32b x 2 SRAM 32w x 32b x 2 6,144 비트
부호화 복원영상 데이터 SRAM 32w x 32b x 2 SRAM 32w x 32b x 2 4,096 비트
부호화 비트열 데이터 SRAM 128w x 32b x 2 SRAM 64w x 32b x 2 12,288 비트
합계 14,336 비트 8,192 비트 22,528 비트
도 8은 본 발명에 따른 메모리 접속 장치의 버퍼의 어드레스 맵의 구조도이다.
DRAM 하드웨어 구조는 전술한 바와 같이 512row x 512column x 64bits 구조이며, 각 데이터 버퍼의 어드레스 맵은 도 8에 도시된 바와 같다.
그리고, 원영상과 복원영상 데이터는 휘도와 색도 데이타가 분리 저장된다.
여기서, 복원영상은 1프레임 반(즉, 3필드임), 원영상은 1프레임(즉, 2필드임)이 저장된다.
또한, DRAM의 나머지 영역은 채널 버퍼로 할당된다.
원영상은 영상프레임 구조 즉, DRAM의 연속적인 90 column 어드레스에 영상의 한 라인인 720 휘도 데이터가 차례로 저장된다.
색도 데이타의 경우에도 마찬가지로 영상의 한라인 데이터가 "Cb, Cr, Cb, Cr, …" 순서로 연속적인 90column 어드레스에 저장된다.
또한, 복원영상의 색도 데이터도 원영상의 색도 데이타와 동일하게 저장된다.
그러나, 복원영상의 휘도 데이타는 매크로블럭 구조 즉, DRAM의 연속적인 32column 어드레스에 하나의 매크로블럭을 저장한다.
복원영상의 색도 데이타를 영상프레임구조로 저장하는 이유는, 이 데이터는 움직임 벡터값에 따라 화소 단위로 임의의 위치 블록으로 출력되기 때문이며, 또한 복원영상의 휘도 데이타를 매크로블록 단위로 저장하는 이유는 데이터의 출력이 매크로블럭단위이기 때문이다.
도 9a는 DRAM의 원영상 버퍼내에서 데이터의 쓰기와 읽기의 입출력 타이밍에 대한 설명도로서, 프레임 픽쳐의 경우에 대한 설명을 위한 것이다.
도 9b는 DRAM의 원영상 버퍼내에서 데이터의 쓰기와 읽기의 입출력 타이밍에 대한 설명도로서, 필드 픽쳐의 경우에 대한 설명을 위한 것이다.
도면에서, 시간축상에서 진하게 그어진 영역은 데이터가 입력되는 구간을 나타내는 것이고, DRAM의 원영상 버퍼 영역을 수직방향으로 4분할하여 쓰기(즉, 빗금친 영역임)와 읽기(즉, r로 표기하였음)를 표시하고 있다.
도 9a 및 도 9b를 참조하면, 프레임픽쳐 구조의 경우 프레임의 첫째 필드가 입력되어 버퍼 영역의 첫째와 둘째 구역까지 채울때까지 데이터는 읽혀지지 않고 있다가 둘째 필드의 데이터가 입력되어 셋째 버퍼 영역에 쓰여질 때 비로서 첫째 구역과 셋째 구역의 데이터를 읽어 매크로블럭을 형성하여 부호화를 시작한다.
두 번째 프레임의 첫째 필드 데이터의 입력은 이미 읽혀진 첫째와 셋째 구역으로 저장되며, 그 시점에서 출력은 둘째와 넷째가 된다.
둘째 프레임의 둘째 필드의 입력은 이미 읽혀진 둘째와 넷째 구역이 되겠다. 이때, 읽기는 첫째와 둘째가 된다.
셋째 프레임의 입력 데이터는 첫째 프레임의 입력데이타가 저장되는 것과 동일한 구역에 저장된다.
따라서, 프레임픽쳐 부호화 구조에서는 프레임마다 필드 데이터가 다른 DRAM 위치에 저장되며 주기는 두 프레임이다.
그러나, 필드픽쳐 구조의 경우에는 프레임의 첫째 필드가 16라인 입력되면 매크로블럭을 형성하여 부호화할 수 있기 때문에 데이터가 저장되는 영역을 곧바로 읽어낸다.
즉, 첫째 필드 데이터가 첫째와 둘째 구역에 저장될 때 첫째와 둘째 필드가 읽어내고 두 번째 필드 데이터가 셋째와 넷째 구역에 저장될 때 셋째와 넷째 데이터를 읽어낸다.
따라서, 프레임에 따라 데이터는 동일한 DRAM 위치에 저장된다.
그리고, 복원영상 데이터의 입력은 복원영상 도 10a 및 도 10b의 버퍼영역에서와 같이 DRAM 복원영상 버퍼가 3영역으로 구분되어 저장된다.
즉, 프레임픽쳐 구조의 경우는 첫째 프레임의 상위 240x720 복원 영상은 첫째 구역에, 하위 240x720 데이터는 둘째 구역에, 둘째 프레임의 상위 240x720 데이터는 셋째 영역에, 하위필드는 첫째 영역에, 셋째 프레임의 상위 720x240은 둘째 영역에, 하위 720x480은 셋째 영역에 저장된다.
넷째 프래임은 첫째 프레임과 동일한 위치에 저장된다.
따라서, 복원영상 데이터의 저장은 세 프레임의 주기를 갖고 저장된다.
필드픽쳐구조의 경우는 상위 720x240을 상위필드 데이터로 하위 720x240을 하위필드 데이터로 변경하면 동일한 설명이 된다.
도 10a는 복원영상에 대한 DRAM 버퍼내 쓰기와 읽기에 대한 설명도로서, 프레임 픽쳐의 경우에 대한 설명을 위한 것이다.
도 10b는 복원영상에 대한 DRAM 버퍼내 쓰기와 읽기에 대한 설명도로서, 필드 픽쳐의 경우에 대한 설명을 위한 것이다.
도 10a 및 도 10b에 도시된 바와 같이, DRAM은 로우 어드레스와 칼럼 어드레스에 의해 한 저장 번지가 지정되는데, 50nsec 접근 속도와 27MHz 시스템 클럭을 사용한 본 발명에서는 로우 어드레스가 바뀌는 접근은 프리차아지(precharge)라는 시간이 소요되어 세 클럭이 소요되며 로우 어드레스는 변하지 않고 칼럼 어드레스만 변하는 이른바 고속 페이지(fast page) 모드로의 접근에는 1클럭이 소요된다.
또한, DRAM 메모리는 SRAM과는 달리 저장된 데이터가 사라지지 않도록 규정된 시간내에 리프레쉬(refresh)를 시켜주어야 하는데, 본 발명에서는 매크로블록마다 로우 어드레스를 증가시켜 12.5msec마다 전체 512 로우를 리프레쉬해 주고 있다.
따라서, 본 발명에서 사용 가능한 DRAM은 12.5msec 이상의 리프레쉬 싸이클(refresh cycle) 시간이 되어야 한다.
도 11은 DRAM의 접근에 대한 동작 타이밍도로서, DRAM에 읽기, 쓰기 및 리프레쉬에 대한 동작 타이밍을 나타낸 것이다.
매크로블럭 단위로 제어되는 DRAM 접속 장치의 DRAM 접근 타임스케쥴링은 도 12에 나타나 있다.
DRAM 접속 장치에서 세종류 데이터의 입출력은 매크로블럭내 어느 구간에서 집중적으로 동시에 발생할 수도 있으며 다소 적게 발생되는 구간도 존재한다.
DRAM을 접근하여 이러한 불규칙적 요구를 충족시키기 위해서는 DRAM의 앞뒤에 필연적으로 SRAM이 붙게 된다.
DRAM 접속 장치의 문제는 이 SRAM의 용량을 줄이는데에 있는데, DRAM의 접근을 클럭마다 요구가 발생 되는대로 데이터 종류를 바꿔가면서 접근하는 것이 SRAM의 용량을 줄일 수 있는 방법이나 클럭마다 데이터를 바꿔 접근한다는 것은 그때마다 DRAM의 로우 어드레스의 변경을 의미한다.
로우 어드레스의 변경이 잦다는 것은 제한된 시간에 DRAM의 접근 횟수가 줄어든 현상으로 나타난다.
DRAM 횟수가 줄어들면, 한번에 접근할 수 있는 DRAM의 데이터 폭이 늘어나야 하며 이것은 하드웨어 복잡도 증가를 의미한다.
따라서, SRAM의 용량을 줄이기 위해서는 DRAM의 접근 효율을 높이는 노력, 즉, 가능한 로우 어드레스의 천이 횟수를 줄여야 하며 또한 DRAM 접근 타이밍을 각 종류의 인터페이스 타이밍에 근접시켜야 한다.
픽쳐구조에 따라 다른 스케쥴을 갖는데 가장 큰 차이는 복원영상의 휘도데이타 읽기이다.
프레임픽쳐 구조의 경우는 5개의 매크로블록을 출력하나 필드픽쳐의 경우는 6개의 매크로블록을 출력해야 한다.
그 이유는 수직방향으로 움직임 추정을 -32 ∼ 31 범위로 할 때 탐색영역의 범위가 달라지기 때문이다.
DRAM의 접근 종류는 원영상, 복원영상, 비트열의 입력과 출력, 원영상과 복원영상의 휘도와 색도의 분리, 그리고 리프레쉬를 포함하여 11가지이다.
입출력 데이터의 타이밍 정의도 함께 나타나 있는데, 이는 위에서 설명된 바와 같이 DRAM 접근 스케쥴 작성이 이들 타이밍과 연관되어 있기 때문이다.
세 종류의 데이터 입력과 출력중 원영상의 입력과 복원영상의 입력 및 출력은 타이밍 및 데이터량이 고정되어 있지 않고 매크로블럭에 따라 가변적이다.
원영상의 입력은 NTSC TV 규격 즉, 1440 클럭(즉, 720개의 휘도 데이타와 720개의 색도 데이타임) 동안에는 데이터가 입력되고 276클럭 동안은 데이터가 입력되지 않는다.
매크로블럭 관점에서 보면, 어떤 경우에는 660클럭동안 계속 데이터가 입력되고 어떤 경우에는 384클럭 동안에만 데이터가 입력된다.
그리고, 비트열 데이터의 경우에는 매크로블럭에 따라 0비트에서 최대 9,300비트가 입력될 수 있다.
비트열의 출력은 고정비트율 모드의 경우는 등간격으로 정해진 비트율로 출력되나 가변비트율 모드에서는 매크로블록당 최소 0에서 최대 6,000 비트까지 출력될 수 있다.
본 발명의 DRAM 접근 스케쥴에서는 원영상의 입력을 위해 70 클럭을 할당하고 있다.
기존 방법에서는 최대 입력 데이터량 660 바이트를 DRAM에 저장할 수 있게 하기 위해 83클럭 이상을 할당하고 있다.
그리고, 비트열 입력을 위한 DRAM 접근 할당은 기존의 최대값에 맞추어 고정시킨 반면에 본 발명에서는 전체 할당 중 일부를 가변시켰다.
즉, 비트열이 많이 발생되어 입력되면 비트열 입력을 위해 많이 할당하고 적게 입력되면 비트열 입력을 위해 적게 할당하고 나머지는 비트열 출력에 할당한다.
이렇게 하므로써, 가변비트율 출력 모드에서 최대한 많이 비트열을 출력하므로써 버퍼 지연을 줄일 수 있다.
도 12는 비트열 입력과 출력의 가변적 접극 할다에 대한 설명도로서, 2/5로 표시되어 있는 부분이 비트열 입력과 출력의 가변적 접근 할당을 나타낸다.
다음 [표 3]은 프레임 픽쳐에 대한 11가지 접근 종류에 따른 데이터율, DRAM 접근수, 할당 시스템 클럭수를 나타낸다.
그리고, [표 4]는 필드 픽쳐에 대한 11가지 접근 종류에 따른 데이터율, DRAM 접근수, 할당 시스템 클럭수를 나타낸다.
[표 3] 및 [표 4]에서 82∼175와 같이 할당 클럭수를 표시한 부분이 가변적 할당을 나타낸다.
[표 3]
구 분 MB당 데이타 DRAM 접근수 Random Access수 할당 클럭수
Ori. Y Data Write 최대 330 Bytes 37 4 45
Ori. C Data Write 최대 330 Bytes 37 4 45
Ori. Y Data Read 256 Bytes 32 4 40
Ori. C Data Read 320 Bytes 40 8 56
Cri. Y Data Write 256 Bytes 32 1 34
Cod. C Data Write 128 Bytes 16 2 20
Cod. Y Data Read 1,280 Bytes 160 5 170
Cod. C Data Read 180 Bytes 30 6 42
Bitstream Write 최대 9,300 bits 최대 167 4 82∼175
Bitstream Read 최대 6,000 bits 최대 117 3 30∼123
DRAM Refresh 1 1 3
[표 4]
구 분 MB당 데이타 DRAM 접근수 Random Access수 할당 클럭수
Ori. Y Data Write 최대 330 Bytes 35 4 43
Ori. C Data Write 최대 330 Bytes 35 4 43
Ori. Y Data Read 256 Bytes 32 4 40
Ori. C Data Read 320 Bytes 40 6 52
Cri. Y Data Write 256 Bytes 32 1 34
Cod. C Data Write 128 Bytes 16 2 20
Cod. Y Data Read 1,536 Bytes 160 12 216
Cod. C Data Read 180 Bytes 30 4 38
Bitstream Write 최대 9,300 bits 최대 134 4 66∼142
Bitstream Read 최대 6,000 bits 최대 98 3 28∼104
DRAM Refresh 1 1 3
DRAM 접속 장치는 DRAM, SRAM, 레지스터의 저장 요소와 이들 저장 요소의 제어로 구성된다.
본 발명의 기술 사상은 상기 바람직한 실시예에 따라 구체적으로 기술되었으나, 상기한 실시예는 그 설명을 위한 것이며 그 제한을 위한 것이 아님을 주의하여야 한다. 또한, 본 발명의 기술 분야의 통상의 전문가라면 본 발명의 기술 사상의 범위내에서 다양한 실시예가 가능함을 이해할 수 있을 것이다.
이상에서 설명한 바와 같이 본 발명은, 외부 장치에서의 타이밍 및 데이터 순서의 조절을 위한 별도의 버퍼링 과정없이 처리된 데이터를 곧바로 입력받고, 메모리 접근 타임 스케쥴링 및 하드웨어 구성의 단순화 및 외부 장치의 버퍼 활용에 따른 출력 데이터의 타이밍을 조절하므로써, MPEG-2 비디오 인코더의 구성의 복잡도에 영향을 미치지 않으면서 DRAM 접속 장치를 효과적으로 구현하고, 이에 따라 MPEG-2 비디오 인코더의 개발비를 현저하게 낮출 수 있도록 하는 효과가 있다.

Claims (5)

  1. 메모리와 엠펙(MPEG : Moving Picture Expert Group)-2 비디오 인코더 간의 데이터들을 접속하는 메모리 접속 장치에 있어서,
    외부로부터 입력된 원영상 데이터를 일시 저장하고 소정의 시간에 따라 상기 메모리로 전달하는 제 1 저장수단;
    상기 메모리로부터 전달된 원영상 데이터를 일시 저장하고 소정의 시간에 따라 상기 엠펙 비디오 인코더로 전달하는 제 2 저장수단;
    상기 엠펙 비디오 인코더로부터 전달된 복원영상 데이터를 일시 저장하고 소정의 시간에 따라 상기 메모리로 전달하는 제 3 저장수단;
    상기 메모리로부터 전달된 복원영상 데이터를 일시 저장하고 소정의 시간에 따라 상기 엠펙 비디오 인코더로 전달하는 제 4 저장수단;
    상기 엠펙 비디오 인코더로부터 전달된 부호화 비트열을 일시 저장하고 소정의 시간에 따라 상기 메모리로 전달하는 제 5 저장수단;
    상기 메모리로부터 전달된 비트스트림을 일시 지정하고 소정의 시간에 따라 출력하는 제 6 저장수단; 및
    어드레스 신호를 제공하여 상기 메모리에 저장된 데이터들의 독출을 제어하는 저장 제어수단
    을 포함하여 이루어진 엠펙 비디오 인코더의 메모리 접속 장치.
  2. 제 1 항에 있어서,
    상기 제 2 내지 제 6 저장수단은 각각,
    일시 저장하고 있는 데이터를 매크로블록(Macro Block) 단위로 출력하는 버퍼인 것을 특징으로 하는 엠펙 비디오 인코더의 메모리 접속 장치.
  3. 제 1 항 또는 제 2 항에 있어서,
    상기 원영상 데이터는 비월주사 방식에 의해 실질적으로 27MHz 시스템 클럭에 동기시켜 입력하되, 색도 데이터를 입력한 다음 휘도 데이터를 입력하는 과정을 반복적으로 수행하는 것을 특징으로 하는 엠펙 비디오 인코더의 메모리 접속 장치.
  4. 제 3 항에 있어서,
    상기 원영상 데이터의 출력은 매크로블럭 단위로 이루어지되, 상기 휘도 데이터는 실질적으로 16x16 개의 데이터 단위로 출력되고, 상기 색도 데이터는 실질적으로 16x20 개의 데이터 단위로 출력되는 것을 특징으로 하는 엠펙 비디오 인코더의 메모리 접속 장치.
  5. 제 1 항 또는 제 2 항에 있어서,
    상기 복원영상 데이터는 입력은 매크로블록 단위로 이루어지되, 8x8 개의 데이터 단위로 입력되고,
    상기 복원영상 데이터의 출력은 매크로블록 단위로 이루어지되, 색도 데이터는 9x5 개의 데이터 단위로 출력되고, 휘도 데이터는 16x96 개의 데이터 단위로 출력되는 것을 특징으로 하는 엠펙 비디오 인코더의 메모리 접속 장치.
KR1019980061523A 1998-12-30 1998-12-30 엠펙 비디오 인코더의 메모리 접속 장치 KR100288141B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019980061523A KR100288141B1 (ko) 1998-12-30 1998-12-30 엠펙 비디오 인코더의 메모리 접속 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019980061523A KR100288141B1 (ko) 1998-12-30 1998-12-30 엠펙 비디오 인코더의 메모리 접속 장치

Publications (2)

Publication Number Publication Date
KR20000045011A KR20000045011A (ko) 2000-07-15
KR100288141B1 true KR100288141B1 (ko) 2001-05-02

Family

ID=19568266

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980061523A KR100288141B1 (ko) 1998-12-30 1998-12-30 엠펙 비디오 인코더의 메모리 접속 장치

Country Status (1)

Country Link
KR (1) KR100288141B1 (ko)

Also Published As

Publication number Publication date
KR20000045011A (ko) 2000-07-15

Similar Documents

Publication Publication Date Title
US5880786A (en) Apparatus for picture decoding having frame memories commonly connected to one data bus and one address bus
US7773676B2 (en) Video decoding system with external memory rearranging on a field or frames basis
EP0795251B1 (en) Memory utilization for video decoding and display with 3:2 pull-down
KR101127962B1 (ko) 영상 처리 장치 및 영상 처리를 위한 프레임 메모리 관리 방법
JP5245004B2 (ja) 高性能ビデオプロセッサ用の低電力メモリ階層
JPH10191236A (ja) 画像処理装置及び画像データメモリ配置方法
KR100298397B1 (ko) 비디오디코딩시스템
JPH08305860A (ja) 画像復号表示装置
US5754234A (en) Moving picture decoding system
US20110135008A1 (en) Video processing system
KR100282389B1 (ko) 에이치디티브이 비디오 디코더의 메모리 제어 방법
Bonatto et al. Multichannel SDRAM controller design for H. 264/AVC video decoder
JPH10178644A (ja) 動画像復号装置
US8023565B2 (en) Picture processing apparatus, semiconductor integrated circuit, and method for controlling a picture memory
KR100288141B1 (ko) 엠펙 비디오 인코더의 메모리 접속 장치
KR101419378B1 (ko) 영상 처리를 위한 시스템
JPH0865686A (ja) 画像復号化装置
US20030123555A1 (en) Video decoding system and memory interface apparatus
KR100248085B1 (ko) 영상 관련 데이터를 저장하기 위한 메모리 맵 구조를 가지는 에스디램
US7386651B2 (en) System, method, and apparatus for efficiently storing macroblocks
KR100281567B1 (ko) 비디오 인코더의 스케쥴링 방법
JPH1013841A (ja) 画像復号方法および画像復号装置
WO2009080590A1 (en) Method and apparatus for performing de-blocking filtering of a video picture
Wang et al. SDRAM bus schedule of HDTV video decoder
KR100504507B1 (ko) 비디오 디코딩 시스템

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

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20140203

Year of fee payment: 14

LAPS Lapse due to unpaid annual fee