KR20000031700A - 앰팩(mpeg) 오디오 디코더 - Google Patents

앰팩(mpeg) 오디오 디코더 Download PDF

Info

Publication number
KR20000031700A
KR20000031700A KR1019980047853A KR19980047853A KR20000031700A KR 20000031700 A KR20000031700 A KR 20000031700A KR 1019980047853 A KR1019980047853 A KR 1019980047853A KR 19980047853 A KR19980047853 A KR 19980047853A KR 20000031700 A KR20000031700 A KR 20000031700A
Authority
KR
South Korea
Prior art keywords
data
bitstream
unit
audio decoder
pcm data
Prior art date
Application number
KR1019980047853A
Other languages
English (en)
Other versions
KR100308118B1 (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 KR1019980047853A priority Critical patent/KR100308118B1/ko
Publication of KR20000031700A publication Critical patent/KR20000031700A/ko
Application granted granted Critical
Publication of KR100308118B1 publication Critical patent/KR100308118B1/ko

Links

Classifications

    • 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
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

본 발명은 PCM데이터의 저장 및 로드 리퀘스트 신호를 통합하여 메모리 컨트롤부의 부담을 줄이고, 메모리 컨트롤부와 연계된 다른 블록들이 데이터 버스를 공유하여 시스템을 효율적으로 운용할 수 있는 MPEG의 오디오 디코더를 제공하기 위한 것으로, 오디오 디코더 전용 데이터 버스에 실린 비트스트림 데이터를 파징하여 출력하는 비트스트림 파징부와, 비트스트림 파징부의 출력 데이터를 디코딩하여 PCM데이터를 생성하는 오디오 디코더 코어부와, 비디오 디코더와의 공유 데이터 버스를 통해 상기 PCM데이터를 상기 외부 메모리에 저장하고 또는 리드하여 외부로 출력하기 위해 임시저장하는 PCM데이터 입/출력 버퍼부와, 상기 PCM데이터 입/출력 버퍼부를 제어하고, 상기 외부 메모리부의 PCM데이터가 저장될 영역을 지정하는 오디오 데이터 출력 컨트롤부와, 상기 공유 데이터 버스를 통해 전달된 비트스트림 데이터를 임시저장한 후, 상기 오디오 디코더 데이터 버스로 출력하는 비트스트림 데이터 버퍼부와, 상기 비트스트림 파징부, 상기 오디오 디코더 코어부, 상기 오디오 데이터 출력 컨트롤부, 상기 비트스트림 버퍼부, 그리고 상기 PCM데이터 입/출력 버퍼부와 상기 외부 메모리부를 우선순위에 따라 컨트롤하는 외부의 메모리 컨트롤부와의 인터페이스를 담당하며 우선순위에 따라 리퀘스트 신호를 결정하는 메모리 컨트롤러 인터페이스부를 포함하여 구성된다.

Description

앰팩(MPEG) 오디오 디코더
본 발명은 MPEG 오디오/비디오 디코더에 관한 것으로, 특히 PCM데이터의 오버라이트(overwrite) 및 메모리 맵(MAP)의 효율적인 사용을 위한 메모리 핸들 및 주변 하드웨어에 관한 것이다.
이하, 첨부된 도면을 참조하여 종래 기술에 따른 MPEG의 오디오 디코더를 설명하기로 한다.
도 1은 종래 기술에 따른 메모리 맵을 도시하였고, 도 2는 종래 기술에 따른 MPEG의 오디오 디코더의 구성블록도이다.
메모리 맵은 도 1에 도시된 바와 같이, 오디오 비트스트림(bitstream) 데이터를 저장하는 부분(A)과 오디오 디코딩된 데이터(PCM 데이터)를 저장하는 부분(B)과 오디오 디코딩 및 기타 다른 기능을 위한 부분(C)으로 구분하여 사용한다.
도 2에 도시된 종래 오디오 디코더는 크게 오디오 디코더 블록(21)과 외부 메모리(22) 및 외부 메모리 컨트롤부(23)를 도시하였다.
즉, 외부 메모리 컨트롤부(23)에 비트스트림 데이터를 요구하고, 입력되는 비트스트림 데이터를 오디오 디코더 코어로 전송하는 비트스트림 파징(Parsing)부(21a)와, 오디오 디코더 전용 데이터 버스(21b)를 통해 입력되는 비트스트림 데이터를 일시 저장한 후, 상기 비트스트림 파징부(21a)로 출력하는 비트스트림 데이터 버퍼부(21c)와, 상기 비트스트림 파징부(21a)에서 출력되는 비트스트림 데이터를 디코딩한 후, PCM데이터를 생성하여 출력하는 오디오 디코더 코어부(21d)와, 상기 오디오 디코더 코어부(21d)에서 출력되는 PCM데이터를 일시저장한 후, 디코더 전용 데이터 버스(21b)를 통해 메모리 컨트롤부()23로 전달하는 PCM데이터 저장 버퍼부(21e)와, 외부 메모리(22)에 저장된 PCM 데이터를 메모리 컨트롤부(23)를 통해 디코더 전용 데이터 버스(21b)로 전달받아 일시 저장하는 PCM데이터 로드 버퍼부(21f)와, 상기 PCM데이터 저장 버퍼부(21e) 및 PCM데이터 로드 버퍼부(21f)를 제어하고, 상기 메모리 컨트롤부(23)로 PCM데이터의 저장 및 로드에 관한 리퀘스트(Request)신호를 출력하는 오디오 데이터 출력 컨트롤부(21g)와, 상기 PCM데이터 로드 버퍼부(21f)에서 전달받은 PCM데이터를 상기 오디오 데이터 출력 컨트롤부(21g)를 통해 받아 외부의 오디오 DAC으로 출력하는 PCM데이터 출력 버퍼부(21h)로 구성된다.
여기서, 상기 비트스트림 파징부(21a)는 비트스트림 데이터 버퍼부(21c)를 인에이블시키고, 비트스트림 데이터 버퍼부(21c)의 스테이터스를 체크하여 얼마만큼의 데이터가 저장되었는지를 알 수 있다.
오디오 데이터 출력 컨트롤부(21g)는 상기 PCM데이터 저장 버퍼부(21e) 및 PCM데이터 로드 버퍼부(21f)를 인에이블시키고, 각각의 스테이터스를 체크한다.
또한, 오디오 데이터 출력 컨트롤부(21g)는 PCM데이터 출력 버퍼부(21h)를 인에이블시키고 스테이터스를 체크한다.
이와 같은 종래 기술에 따른 오디오 디코더의 동작을 설명하면 다음과 같다.
파워(Power) 온(On) 및 시스템 리셋(reset)후, 비트스트림 파징부(21a)는 메모리 컨트롤부(23)로 비트스트림 리퀘스트 신호(bitstream request signal)를 출력한다.
이에 메모리 컨트롤부(23)는 외부 메모리(22)에 저장된 비트스트림 데이터를 디코더 전용 데이터 버스(21b)를 통해 비트스트림 데이터 버퍼부(21c)로 출력한다.
비트스트림 데이터 버퍼부(21c)에 비트스트림 데이터가 채워지면 비트스트림 파징부(21a)의 제어신호에 의해 상기 비트스트림 데이터 버퍼부(21c)에 저장된 비트스트림 데이터는 비트스트림 파징부(21a)로 전달된다.
비트스트림 파징부(21a)는 비트스트림 데이터를 파징해서 오디오 디코더 코어부(21d)로 전달한다.
오디오 디코더 코어부(21d)는 비트스트림 데이터를 받아 디코딩하여 PCM데이터를 생성하여 오디오 데이터 출력 컨트롤부(21g)로 전달한다.
오디오 데이터 출력 컨트롤부(21g)는 오디오 디코더 코어부(21d)에서 전달된 PCM데이터를 PCM데이터 저장 버퍼부(21e)에 저장하고, 상기 메모리 컨트롤부(23)로 PCM데이터를 외부 메모리(22)에 저장할 것인가를 묻는 리퀘스트 신호를 보낸다.
이에, 메모리 컨트롤부(23)가 응답하면 상기 PCM데이터 저장 버퍼부(21e)에 저장된 PCM데이터는 디코더 전용 데이터 버스(21b)를 통해 메모리 컨트롤부(23)로 전달된다.
그리고 다시 외부 메모리(22)의 PCM데이터를 저장하는 부분으로 저장된다.
이와 같은 동작을 반복적으로 수행하는 도중에 상기 오디오 디코더 코어부(21d)에서 플레이 타임(Play time)이 되었음을 알리는 제어신호를 상기 오디오 데이터 출력 컨트롤부(21g)로 출력하면, 상기 오디오 데이터 출력 컨트롤부(21g)는 상기 메모리 컨트롤부(23)로 PCM데이터 로드를 위한 리퀘스트 신호를 출력한다.
이에, 상기 메모리 컨트롤부(23)는 외부 메모리(22)에 저장된 PCM데이터를 로드하여 디코더 전용 데이터 버스(21b)를 통해 상기 PCM데이터 로드 버퍼부(21f)에 저장한다.
따라서, 상기 오디오 데이터 출력 컨트롤부(21g)는 상기 PCM데이터 로드 버퍼부(21f)에 저장된 PCM데이터를 상기 PCM데이터 출력 버퍼부(21h)로 전달한다.
이후, PCM데이터 출력 버퍼부(21h)는 외부의 오디오 DAC으로 PCM데이터를 전달하여 한 프레임내에 샘플링된 데이터를 아날로그 데이터로 변환시킨다.
그러나 상기와 같은 종래 MPEG의 오디오 디코더는 다음과 같은 문제점이 있었다.
첫째, 프레임 단위로 디코딩함에 있어서, n-1번째 프레임이 디코딩해야할 데이터가 많아 아직 외부 메모리부내에 PCM데이터가 저장되어 있는데, n번째 프레임을 디코딩함에 있어서, n번째 프레임이 디코딩해야할 데이터가 적어 디코딩이 빨리 끝났을 경우 n+1번째 프레임을 디코딩할 때, 상기 외부의 메모리부에 아직 로드되지 않은 n-1번째 PCM데이터가 저장된 영역에 n번째 프레임의 데이터를 저장될 수가 있다.
둘째, 메모리 컨트롤부는 빠른 주파수의 외부 메모리부와 오디오 디코더간에 인터페이스를 할 뿐만 아니라 비디오 디코더 및 기타 호스트(host)인터페이스 등과 인터페이스하는데, 각각의 리퀘스트 신호와 컨트롤신호 등을 고려하여야 하므로 메모리 컨트롤부 측면에서 컨트롤이 복잡해지고, 오디오 디코더, 비디오 디코더, 호스트 인터페이스등이 각각의 데이터 버스를 사용할 경우, 시스템 설계시 레이아웃을 많이 차지하고 크로스 토크(cross talk)가 발생한다.
본 발명은 상기한 종래의 문제점을 해결하기 위해 안출한 것으로, PCM데이터의 저장 리퀘스트 신호 및 로드 리퀘스트 신호를 하나로 통합하여 메모리 컨트롤부에 의한 컨트롤을 용이하게 하고, 버스 사용의 밴드 폭(band width)을 증가시켜 메모리 컨트롤부와 연계된 블록들이 데이터 버스를 공유할 수 있도록하여 전체 시스템을 효율적으로 운용할 수 있는 MPEG의 오디오 디코더를 제공하는데 그 목적이 있다.
도 1은 종래 기술에 따른 메모리 맵을 도시한 도면
도 2는 종래 기술에 따른 MPEG 오디오 디코더의 구성블록도
도 3은 본 발명에 따른 메모리 맵을 도시한 도면
도 4는 본 발명의 MPEG 오디오 디코더의 구성블록도
도 5는 본 발명에 따른 MPEG 오디오 디코더의 동작을 시간적으로 설명하기 위한 도면
도면의 주요부분에 대한 부호의 설명
41 : 오디오 디코더부 42 : 외부 메모리
43 : 메모리 컨트롤부 41a : 비트스트림 차징부
41b : 오디오 디코더 코어부 41c : 비디오 디코더 공유 데이터 버스
41d : 비트스트림 데이터 저장 버퍼부 41e : PCM데이터 입/출력 버퍼부
41f : 오디오 데이터 출력 컨트롤부 41g : PCM데이터 출력 버퍼부
41h : 오디오 디코더 전용 데이터 버스 41i : 메모리 컨트롤러 인터페이스부
상기의 목적을 달성하기 위한 본 발명의 MPEG의 오디오 디코더는 외부 메모리에 저장된 비트스트림 데이터를 PCM데이터로 디코딩하여 출력하는 MPEG오디오 디코더에 있어서, 오디오 디코더 전용 데이터 버스에 실린 비트스트림 데이터를 파징하여 출력하는 비트스트림 파징부와, 비트스트림 파징부의 출력 데이터를 디코딩하여 PCM데이터를 생성하는 오디오 디코더 코어부와, 비디오 디코더와의 공유 데이터 버스를 통해 상기 PCM데이터를 상기 외부 메모리에 저장하고 또는 리드하여 외부로 출력하기 위해 임시저장하는 PCM데이터 입/출력 버퍼부와, 상기 PCM데이터 입/출력 버퍼부를 제어하고, 상기 외부 메모리부의 PCM데이터가 저장될 영역을 지정하는 오디오 데이터 출력 컨트롤부와, 상기 공유 데이터 버스를 통해 전달된 비트스트림 데이터를 임시저장한 후, 상기 오디오 디코더 데이터 버스로 출력하는 비트스트림 데이터 버퍼부와, 상기 비트스트림 파징부, 상기 오디오 디코더 코어부, 상기 오디오 데이터 출력 컨트롤부, 상기 비트스트림 버퍼부, 그리고 상기 PCM데이터 입/출력 버퍼부와 상기 외부 메모리부를 우선순위에 따라 컨트롤하는 외부의 메모리 컨트롤부와의 인터페이스를 담당하며 우선순위에 따라 리퀘스트 신호를 결정하는 메모리 컨트롤러 인터페이스부를 포함하여 구성된다.
이하, 본 발명에 따른 MPEG의 오디오 디코더를 첨부된 도면을 참조하여 설명하기로 한다.
도 3은 본 발명의 MPEG 오디오 디코더에 따른 외부 메모리 맵을 도시한 것이다.
도 3에 도시한 바와 같이, 본 발명의 MPEG 오디오 디코더를 구현하기 위해 외부 메모리는 PCM데이터를 저장하는 부분(뱅크1, 뱅크2)과, 오디오 비트스트림 데이터를 저장하는 부분(D), 오디오 디코딩 및 기타 다른 기능을 위한 부분(E)으로 구분하여 사용한다.
종래와 다른 점은 PCM데이터를 저장하는 부분이 두 개의 뱅크로 구분되어 있다는 것이다.
한편, 도 4는 본 발명에 따른 MPEG의 오디오 디코더의 구성블록도이다.
도 4에 도시한 바와 같이, 크게 오디오 디코더부(41)와, 외부 메모리(42)와, 상기 외부 메모리부(42)와 오디오 디코더부(41)간의 인터페이스를 담당하는 메모리 컨트롤부(43)로 구성된다.
여기서, 오디오 디코더부(41)는 비트스트림 데이터를 파징하여 출력하는 비트스트림 파징부(41a)와, 비트스트림 파징부(41a)에서 출력되는 비트스트림 데이터를 디코딩하여 PCM데이터를 생성하는 오디오 디코더 코어부(41b)와, 공유 데이터 버스(41c)를 통해 전달되는 비트스트림 데이터를 저장하는 비트스트림 데이터 저장 버퍼부(41d)와, PCM데이터를 공유 데이터 버스(41c)를 통해 상기 외부 메모리(42)에 저장하거나 상기 외부 메모리(42)에 저장된 PCM데이터를 PCM데이터 출력 버퍼부로 출력하기 위해 PCM데이터를 임시 저장하는 PCM데이터 입/출력 버퍼부(41e)와, 맨처음 디코딩되어 생성된 PCM데이터를 저장하기 위한 상기 외부 메모리(42)의 두 개의 뱅크(뱅크1, 뱅크2)중 하나를 지정하고, 상기 PCM데이터 입/출력 버퍼부(41e)를 컨트롤하는 오디오 데이터 출력 컨트롤부(41f)와, 비트스트림 데이터 저장 버퍼부(41d)에 저장된 비트스트림 데이터를 상기 비트스트림 파징부(41a)로 전달하고, 상기 오디오 디코더 코어부(41b)에서 생성된 PCM데이터를 PCM데이터 입/출력 버퍼부(41e)로 전달하며, 상기 PCM데이터 입/출력 버퍼부(41e)에서 출력되는 PCM데이터를 PCM데이터 출력 버퍼부(41g)로 전달하는 오디오 디코더 전용 데이터 버스(41h)와, 상기 메모리 컨트롤부(43)와 비트스트림 파징부(41a), 오디오 디코더 코어부(41b), 오디오 데이터 출력 컨트롤부(41f), PCM데이터 입/출력 버퍼부(41e), 비트스트림 데이터 저장 버퍼부(41d)간의 인터페이스를 담당하는 메모리 컨트롤러 인터페이스부(41i)와, 상기 PCM데이터 입/출력 버퍼부(41e)에서 출력되는 PCM데이터를 외부의 오디오 DAC부로 출력하는 PCM데이터 출력 버퍼부(41g)를 포함하여 구성된다.
여기서, 상기 비트스트림 파징부(41a)는 상기 비트스트림 데이터 저장 버퍼부(41d)에 저장된 비트스트림 데이터를 오디오 디코더 전용 데이터 버스(41h)를 통해 전달받는다.
그리고 상기 비트스트림 파징부(41a)는 오디오 디코더 코어부(41b)의 제어신호에 따라 비트스트림 데이터를 파징하여 오디오 디코더 코어부(41b)로 다시 출력한다.
상기 공유 데이터 버스(41c)는 오디오 디코더(41)와 비디오 디코더(도면에 도시하지 않음)가 공유한다.
이와 같이 구성된 본 발명에 따른 MPEG의 오디오 디코더의 동작을 설명하면 다음과 같다.
도 4에 도시한 바와 같이, 오디오 디코더(41)는 내부 레지스터의 초기화 및 디폴트 뱅크(default bank)를 선택한다.
여기서, 디폴트 뱅크란, 파워 온 및 시스템 리셋 후, 맨처음 디코딩된 PCM데이터가 저장될 장소를 의미하는 것으로써, 뱅크1과 뱅크2중 어느 하나이다.
이후, 비트스트림 파징부(41a)는 외부 메모리(42)에 저장된 오디오 비트스트림 데이터를 받아들이기 위해 메모리 컨트롤러 인터페이스부(41i)에 비트스트림 리퀘스트 신호(bitstream request signal)를 보낸다.
이에 메모리 컨트롤러 인터페이스부(41i)는 메모리 컨트롤부(43)로 오디오 비트스트림 리퀘스트 신호를 보낸다.
이때, 메모리 컨트롤러 인터페이스부(41i)에 다른 리퀘스트 신호가 동시에 입력될 수도 있는데, 이때에는 정해진 우선순위(Priority)에 의해 리퀘스트가 결정된다.
도면에는 도시되지 않았지만, 상기 외부 메모리부(41)에는 오디오 비트스트림 데이터를 포함하여 비디오 비트스트림 데이터도 저장되어 있기 때문에 상기 메모리 컨트롤러 인터페이스부(41i)는 전술한 바와 같이, 오디오 비트스트림 리퀘스트 신호를 보내는 것이다.
상기 메모리 컨트롤부(43)는 상기 메모리 컨트롤러 인터페이스부(41i)로부터 오디오 비트스트림 리퀘스트 신호가 입력되면 상기 오디오 비트스트림 리퀘스트 신호 이외에 다른 리퀘스트 신호가 없으면 상기 외부 메모리(42)에 저장된 오디오 비트스트림 데이터를 불러내어 공유 데이터 버스(41c)를 통해 비트스트림 데이터 저장 버퍼부(41d)로 전달한다.
이때, 상기 메모리 컨트롤러 인터페이스부(41i)는 PCM데이터의 저장 및 로드 신호가 인에이블 신호인 동안에만 비트스트림 데이터 저장 버퍼부(41d)를 인에이블 시킨다.
상기 비트스트림 데이터 저장 버퍼부(41d)에 비트스트림 데이터가 저장되었으면, 상기 메모리 컨트롤러 인터페이스부(41i)는 상기 오디오 디코더 코어부(41b)에 비트스트림 데이터가 비트스트림 데이터 저장 버퍼부(41d)에 저장되었음을 알리고, 오디오 디코더 전용 데이터 버스(41h) 사용을 요구한다.
이에, 오디오 디코더 코어부(41b)는 다른 리퀘스트 신호가 없으면, 오디오 디코더 전용 데이터 버스(41h) 사용을 승인하는 신호를 메모리 컨트롤러 인터페이스부(41i)로 출력한다.
따라서, 상기 메모리 컨트롤러 인터페이스부(41i)는 상기 비트스트림 데이터 저장 버퍼부(41d)를 인에이블시켜 상기 오디오 디코더 전용 데이터 버스(41h)에 부호화된 비트스트림 데이터를 전달한다.
따라서, 비트스트림 파징부(41a)는 오디오 디코더 전용 데이터 버스(41h)에 실린 비트스트림 데이터를 받아 상기 오디오 디코더 코어부(41b)의 제어신호에 따라 파징을 수행하여 이를 다시 오디오 디코더 코어부(41b)로 보낸다.
이에 오디오 디코더 코어부(41b)는 비트스트림 파징부(41a)의 출력 데이터를 받아 디코딩하여 PCM데이터를 생성한다.
디코딩에 의해 생성된 PCM데이터는 오디오 디코더 코어부(41b)의 제어신호에 의해 상기 PCM데이터 입/출력 버퍼부(41e)에 저장된다.
이때, 상기 PCM데이터 입/출력 버퍼부(41e)에 저장되는 PCM데이터의 양은 상기 메모리 컨트롤러 인터페이스부(41i)가 상기 PCM데이터 입/출력 버퍼부(41e)의 버퍼 스테이터스(buffer status)를 체크하고 있으므로 상기 PCM데이터 입/출력 버퍼부(41e)에 저장되는 PCM데이터가 일정량이 되면, 지금까지 PCM데이터 입/출력 버퍼부(41e)에 저장된 PCM데이터를 외부 메모리(42)에 저장할 것을 요구하는 리퀘스트 신호를 상기 메모리 컨트롤부(43)로 출력한다.
이에 메모리 컨트롤부(43)는 오디오 데이터 출력 컨트롤부(41f)에서 지정하는 상기 외부 메모리(42)의 뱅크(Bank)에 따라 상기 메모리 컨트롤러 인터페이스부(41i)에서 결정되어진 어드레스에 PCM데이터를 저장한다.
여기서, 외부 메모리(42)에는 여러개의 어드레스를 한 단위로하는 뱅크(Bank)들로 이루어지는데, 이중에서 하나를 오디오 데이터 출력 컨트롤부(41f)가 지정한다.
상기 뱅크는 PCM데이터를 저장할 목적으로 두 개의 분리된 영역으로 존재하여야 한다. 즉, 본 발명의 실시예에서는 두 개의 뱅크를 갖는다(도 3참조).
이와 같은 과정을 반복하는 동안 오디오 디코더 코어부(41b)에서 PCM데이터의 플레이 타임을 체크하고, 플레이 타임이 되면 오디오 데이터 출력 컨트롤부(41f)로 컨트롤신호를 출력한다.
여기서, 플레이 타임이란, PCM데이터를 외부의 오디오 DAC로 출력하는 타임을 말한다.
상기 오디오 디코더 코어부(41b)로부터 컨트롤신호를 받은 오디오 데이터 출력 컨트롤부(41f)는 맨처음 플레이할 데이터가 저장된 뱅크에 관한 정보를 메모리 컨트롤러 인터페이스부(41i)로 보낸다.
이에 메모리 컨트롤러 인터페이스부(41i)는 다른 리퀘스트 신호가 없으면, 상기 메모리 컨트롤부(43)에 PCM데이터를 보내줄 것을 요구하는 리퀘스트 신호를 보내고, 만약 다른 리퀘스트 신호가 있으면 우선순위에 따른다.
메모리 컨트롤부(43)는 오디오에 관한 리퀘스트신호 이외에 비디오에 관한 리퀘스트신호가 있는지를 체크하고 만일 없으면, 상기 외부 메모리(42)에 저장된 PCM데이터를 공유 데이터 버스(41c)틀 통해 상기 PCM데이터 입/출력 버퍼부(41e)로 전달한다.
이후, 상기 오디오 데이터 출력 컨트롤부(41f)는 PCM데이터 입/출력 버퍼부(41e)를 제어하여 오디오 디코더 전용 데이터 버스(41h)를 통해 PCM데이터 출력 버퍼부(41g)로 PCM데이터를 전달한다.
그리고 외부의 오디오 DAC으로 PCM데이터가 전달된다.
이때, 메모리 컨트롤러 인터페이스부(41i)는 현재 PCM데이터가 플레이 되고 있는 뱅크와 현재 PCM데이터를 저장할 뱅크를 비교하여 서로 동일한 뱅크이면 PCM데이터를 저장하는 것을 연기했다가 현재 플레이되고 있는 뱅크의 PCM데이터가 완전히 플레이가 끝나면 해당 뱅크에 PCM데이터를 저장한다.
한편, 도 5는 본 발명에 따른 오디오 디코더의 동작을 시간적으로 설명하기 위한 도면이다.
도 5에 도시된 바와 같이, 파워 온 되거나 또는 리셋되면, 첫 번째 프레임이 디코딩되어 생성된 PCM데이터를 외부 메모리(42)의 디폴트 뱅크에 저장한다.
이후, 두 번째 프레임을 디코딩하는 동안 상기 디폴트 뱅크에 저장된 PCM데이터를 플레이시키고, 동시에 다른 뱅크로 두 번째 프레임의 PCM데이터를 저장한다.
이때, PCM데이터의 플레이 및 뱅크로의 저장은 위에서 설명하였으므로 이하 생략한다.
이어, 세 번째 프레임을 디코딩하면 상기 다른 뱅크에 저장되었던 두 번째 프레임에 상응하는 PCM데이터를 플레이시키고, 이때 디폴트 뱅크는 비어 있으므로 세 번째 프레임에 상응하는 PCM데이터는 디폴트 뱅크에 저장한다.
이와 같이, 외부 메모리부(42)에 두 개의 뱅크(최초에 플레이될 PCM데이터가 저장될 디폴트 뱅크와 상기 다른 뱅크)로 구분하여 PCM데이터의 저장 및 로드가 이루어진다.
이상에서 상술한 바와 같이, 본 발명에 따른 MPEG 오디오 디코더는 다음과 같은 효과가 있다.
첫째, 뱅크 개념의 2개의 PCM데이터 저장 장소를 설정하여 현재 플레이 되어야 할 PCM데이터가 저장될 영역에 현재 디코딩되어 생성된 PCM데이터가 저장되는 것을 방지할 수 있다.
둘째, 외부 메모리부와 디코더간을 인터페이스하는 메모리 컨트롤부에서 각각의 우선순위에 의해 리퀘스트를 결정하야 하는 부담과 이에 따른 컨트롤 신호가 증가하는 것을 방지할 수 있다.
이와 같이, 컨트롤 신호가 줄어듬에 따라 버스 사용의 밴드 폭(band width)이 증가하게 되어 메모리 컨트롤부와 연계된 다른 블록들이 데이터 버스를 공유할 수 있어 시스템을 효율적으로 운용할 수 있다.

Claims (6)

  1. 외부 메모리에 저장된 비트스트림 데이터를 PCM데이터로 디코딩하여 출력하는 MPEG오디오 디코더에 있어서,
    오디오 디코더 전용 데이터 버스에 실린 비트스트림 데이터를 파징하여 출력하는 비트스트림 파징부,
    비트스트림 파징부의 출력 데이터를 디코딩하여 PCM데이터를 생성하는 오디오 디코더 코어부,
    비디오 디코더와의 공유 데이터 버스를 통해 상기 PCM데이터를 상기 외부 메모리에 저장하고 또는 리드하여 외부로 출력하기 위해 임시저장하는 PCM데이터 입/출력 버퍼부,
    상기 PCM데이터 입/출력 버퍼부를 제어하고, 상기 외부 메모리부의 PCM데이터가 저장될 영역을 지정하는 오디오 데이터 출력 컨트롤부,
    상기 공유 데이터 버스를 통해 전달된 비트스트림 데이터를 임시저장한 후, 상기 오디오 디코더 데이터 버스로 출력하는 비트스트림 데이터 버퍼부,
    상기 비트스트림 파징부, 상기 오디오 디코더 코어부, 상기 오디오 데이터 출력 컨트롤부, 상기 비트스트림 버퍼부, 그리고 상기 PCM데이터 입/출력 버퍼부와 상기 외부 메모리부를 우선순위에 따라 컨트롤하는 외부의 메모리 컨트롤부와의 인터페이스를 담당하며 우선순위에 따라 리퀘스트 신호를 결정하는 메모리 컨트롤러 인터페이스부를 포함하여 구성되는 것을 특징으로 하는 MPEG 오디오 디코더.
  2. 제 1 항에 있어서, 상기 메모리 컨트롤러 인터페이스부는 상기 비트스트림 파징부에서 출력되는 비트스트림 리퀘스트 신호를 받아 우선순위에 따라 상기 외부의 메모리 컨트롤부로 비트스트림 리퀘스트 신호를 출력하는 것을 특징으로 하는 MPEG 오디오 디코더.
  3. 제 1 항에 있어서, 상기 메모리 컨트롤러 인터페이스부는 상기 비트스트림 데이터 버퍼부와 상기 PCM데이터 입/출력 버퍼부의 스테이터스(status)를 체크하는 것을 특징으로 하는 MPEG 오디오 디코더.
  4. 제 1 항에 있어서, 상기 메모리 컨트롤러 인터페이스부는 상기 오디오 데이터 출력 컨트롤부에서 지정하는 상기 외부 메모리부의 뱅크의 어드레스를 지정하는 것을 특징으로 하는 MPEG 오디오 디코더.
  5. 제 4 항에 있어서, 상기 외부 메모리부의 뱅크는 적어도 두 개 이상으로 구분하는 것을 특징으로 하는 MPEG 오디오 디코더.
  6. 제 5 항에 있어서, 상기 적어도 두 개의 뱅크중 첫 번째 뱅크는 최초에 디코딩된 PCM데이터를 저장하고, 다른 하나의 뱅크는 현재 디코딩되는 PCM데이터를 저장하는 것을 특징으로 하는 MPEG 오디오 디코더.
KR1019980047853A 1998-11-09 1998-11-09 앰팩(mpeg) 오디오 디코더 KR100308118B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019980047853A KR100308118B1 (ko) 1998-11-09 1998-11-09 앰팩(mpeg) 오디오 디코더

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019980047853A KR100308118B1 (ko) 1998-11-09 1998-11-09 앰팩(mpeg) 오디오 디코더

Publications (2)

Publication Number Publication Date
KR20000031700A true KR20000031700A (ko) 2000-06-05
KR100308118B1 KR100308118B1 (ko) 2001-10-19

Family

ID=19557624

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980047853A KR100308118B1 (ko) 1998-11-09 1998-11-09 앰팩(mpeg) 오디오 디코더

Country Status (1)

Country Link
KR (1) KR100308118B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100728041B1 (ko) * 2006-06-23 2007-06-14 삼성전자주식회사 디지털 pwm 신호를 저장 재생하는 오디오 시스템 및 그방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100728041B1 (ko) * 2006-06-23 2007-06-14 삼성전자주식회사 디지털 pwm 신호를 저장 재생하는 오디오 시스템 및 그방법

Also Published As

Publication number Publication date
KR100308118B1 (ko) 2001-10-19

Similar Documents

Publication Publication Date Title
US6378030B1 (en) Method and apparatus for processing video data
KR0166935B1 (ko) 엠펙2 트랜스포트 디코더 장치
KR100262453B1 (ko) 비디오데이터처리방법및장치
US6847365B1 (en) Systems and methods for efficient processing of multimedia data
US20090282172A1 (en) Memory access engine having multi-level command structure
US5828425A (en) Apparatus for decoding video data
US6002441A (en) Audio/video subprocessor method and structure
EP1026600A2 (en) Method and apparatus for interfacing with RAM
KR100308118B1 (ko) 앰팩(mpeg) 오디오 디코더
JP4640880B2 (ja) マイクロプロセッサシステム
US20090043970A1 (en) Device having shared memory and method for providing access status information by shared memory
WO2007013744A1 (en) Sharing multi-partitioned memory through a plurality of routes
JPH07320381A (ja) コンパクトディスク−インターアクティブシステム
US20090254686A1 (en) Memory sharing through a plurality of routes
KR100685150B1 (ko) 셋톱박스집적회로
US5978508A (en) Two-dimensional inverse discrete cosine transformation circuit for MPEG2 video decoder
KR0176614B1 (ko) 세탑박스와 디지탈 비디오 디스크 재생기의 복합 장치 및 그 동작방법
KR100219160B1 (ko) 메모리 공유 장치
KR20000060285A (ko) 디지탈 오디오 디코더 및 그에 따른 디코딩 방법
KR100191721B1 (ko) 쓰리디오 엠투 시스템의 어플리케이션 프로그램 구동 마이크로 카드 장치
KR100204877B1 (ko) 음성사서함 시스템의 음성데이터 전달장치
JP2919001B2 (ja) 半導体集積回路装置
KR100206441B1 (ko) 시디-롬 데이터의 압축해제 장치 및 그 방법
KR100223859B1 (ko) 디지탈 티브이 수신기
US6895596B1 (en) Circuit and method for interleaving a data stream

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

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee