KR100260814B1 - 엠펙 오디오 비트스트림 복호화를 위한 전처리장치 - Google Patents

엠펙 오디오 비트스트림 복호화를 위한 전처리장치 Download PDF

Info

Publication number
KR100260814B1
KR100260814B1 KR1019980011818A KR19980011818A KR100260814B1 KR 100260814 B1 KR100260814 B1 KR 100260814B1 KR 1019980011818 A KR1019980011818 A KR 1019980011818A KR 19980011818 A KR19980011818 A KR 19980011818A KR 100260814 B1 KR100260814 B1 KR 100260814B1
Authority
KR
South Korea
Prior art keywords
value
audio bitstream
address
scale factor
command
Prior art date
Application number
KR1019980011818A
Other languages
English (en)
Other versions
KR19990079291A (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 KR1019980011818A priority Critical patent/KR100260814B1/ko
Publication of KR19990079291A publication Critical patent/KR19990079291A/ko
Application granted granted Critical
Publication of KR100260814B1 publication Critical patent/KR100260814B1/ko

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00007Time or data compression or expansion
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10009Improvement or modification of read or write signals
    • G11B20/10037A/D conversion, D/A conversion, sampling, slicing and digital quantisation or adjusting parameters thereof
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00007Time or data compression or expansion
    • G11B2020/00014Time or data compression or expansion the compressed signal being an audio signal
    • G11B2020/00057MPEG-1 or MPEG-2 audio layer III [MP3]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • G11B2020/10537Audio or video recording
    • G11B2020/10592Audio or video recording specifically adapted for recording or reproducing multichannel signals

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Complex Calculations (AREA)

Abstract

1. 청구범위에 기재된 발명이 속한 기술분야
본 발명은 엠펙 오디오 비트스트림 복호화를 위한 전처리 장치에 관한 것임.
2. 발명이 해결하려고 하는 기술적 과제
본 발명은, 간단한 구조의 프로세서 코어를 통해 엠펙(MPEG) 오디오 비트스트림을 해석하여 채널별로 샘플 데이터 및 스케일 인자값을 생성하여 5.1채널 및 2채널에 대해 오디오 프레임 단위로 전처리하기 위한 전처리 장치를 제공하고자 함.
3. 발명의 해결방법의 요지
본 발명은, 명령어에 대한 제어신호에 따라 외부로부터 입력된 엠펙(MPEG) 오디오 비트스트림을 해석하여 생성된 채널별 샘플 데이터 및 스케일 인자값을 저장하기 위해 주소값 및 타이밍 정보를 생성하는 오디오 비트스트림 전처리부; 상기 오디오 비트스트림 전처리부로부터 샘플링 주파수 정보를 입력받아 동기신호를 발생하기 위한 프레임 동기부; 및 상기 오디오 비트스트림 전처리부에서 수행될 명령어나 상기 오디오 비트스트림 전처리부에서 생성된 샘플 데이터 및 스케일 인자값을 주소값 및 타이밍 정보에 따라 저장하기 위한 저장부를 포함함.
4. 발명의 중요한 용도
본 발명은 오디오 비트스트림의 복호화 등에 이용됨.

Description

엠펙 오디오 비트스트림 복호화를 위한 전처리 장치
본 발명은 단순한 구조의 오디오 복호화 전용 명령어 조합으로 구성된 프로세서 코어를 통해 외부로부터 입력된 엠펙(MPEG : Moving Picture Expert Group) 오디오 비트스트림을 해석하여 채널별로 샘플 데이터 및 스케일 인자(Scale Facter)값을 생성하여 5.1채널(즉, 오른쪽, 왼쪽, 중간, 오른쪽 서라운드, 왼쪽 서라운드, 및 저역 주파수 대역 보강) 및 2채널(오른쪽, 왼쪽)에 대해 오디오 프레임 단위로 전처리할 수 있도록 한 전처리 장치에 관한 것이다.
종래의 전처리 장치는 오디오 비트스트림을 2채널(즉, 오른쪽 및 왼쪽)에 대해서만 오디오 프레임 단위로 전처리할 수 있었다.
따라서, 오른쪽 및 왼쪽 뿐만아니라 중간, 오른쪽 서라운드, 왼쪽 서라운드, 및 저역 주파수 대역 보강에 대한 5.1 채널에 대해 오디오 플레임 단위로 전처리할 수 있는 전처리 장치가 필수적으로 요구되었다.
상기한 바와 같은 요구에 부응하기 위하여 안출된 본 발명은, 간단한 구조의 프로세서 코어를 통해 엠펙(MPEG) 오디오 비트스트림을 해석하여 채널별로 샘플 데이터 및 스케일 인자값을 생성하여 5.1채널 및 2채널에 대해 오디오 프레임 단위로 전처리하기 위한 전처리 장치를 제공하는데 그 목적이 있다.
도 1 은 본 발명에 따른 전처리 장치의 일실시예 블록 구성도.
도 2 는 본 발명에 이용되는 프로세서 코어의 명령어 구조도.
도 3 은 도 1의 연산부의 일실시예 회로 구성도.
도 4 는 도 3의 레지스터의 회로 구조도.
*도면의 주요 부분에 대한 부호의 설명
10 : 프로세서 코어 20 : 프레임부
30 : 메모리부
상기 목적을 달성하기 위한 본 발명은, 외부로부터 입력된 오디오 비트스트림의 헤드를 분석하여 샘플링 주파수 정보를 생성하고, 명령어에 대한 제어신호에 따라 상기 오디오 비트스트림을 연산하여 샘플 데이터 및 스케일 인자값을 생성하며, 생성된 샘플 데이터 및 스케일 인자값을 저장하기 위한 주소값 및 타이밍 정보를 생성하는 오디오 비트스트림 전처리 수단; 상기 오디오 비트스트림 전처리 수단으로부터 샘플링 주파수 정보를 입력받아 상기 오디오 비트스트림에 대한 동기신호를 발생하여 상기 오디오 비트스트림 전처리 수단으로 제공하기 위한 프레임 동기 수단; 및 상기 오디오 비트스트림 전처리 수단에서 수행될 상기 명령어나 상기 오디오 비트스트림의 연산 결과인 샘플 데이터 및 스케일 인자값을 주소값 및 타이밍 정보에 따라 저장하기 위한 제1 저장 수단을 포함한다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일실시예를 상세히 설명한다.
도 1 은 본 발명에 따른 전처리 장치의 일실시예 블록 구성도이다.
본 발명의 바람직한 실시예에 따른 엠펙(MPEG) 오디오 비트스트림 복호화를 위한 전처리 장치는 엠펙(MPEG) 오디오 비트스트림을 해석하여 채널별로 샘플 데이터 및 스케일 인자값을 생성하기 위해 간단한 구조의 프로세서 코어(10)를 사용한다. 여기서, 프로세서 코어(10)의 성능은 한 프레임(즉, 1152개 샘플) 시간동안 비트스트림을 해석하면 되기 때문에 고성능이 요구되지 않는다. 따라서, 파이프라인이나 슈퍼스칼라 등의 프로세서 성능 향상 기법이 요구되지 않고, 단순한 구조의 오디오 복호화 전용 명령어 조합으로 구성된다.
그리고, 본 발명에 따른 전처리 장치는 5.1채널(즉, 오른쪽, 왼쪽, 중간, 오른쪽 서라운드, 왼쪽 서라운드, 및 저역 주파수 대역 보강) 및 2채널(즉, 오른쪽 및 왼쪽)에 대해서 오디오 프레임 단위로 전처리할 수 있다. 즉, 엠펙(MPEG) 시스템 클럭을 사용하여 엠펙(MPEG) 오디오 디코더의 응용 주문형 집적회로(ASIC : Application Specific IC)에 적합한 전처리 장치를 구현할 수 있다.
본 발명의 바람직한 실시예에 따른 전처리 장치는 외부로부터 입력된 엠펙(MPEG) 오디오 비트스트림의 헤드를 분석하여 샘플링 주파수 정보를 생성하고, 오디오 복호화 전용 명령어에 대한 제어신호에 따라 엠펙(MPEG) 오디오 비트스트림을 연산하여 샘플 데이터 및 스케일 인자값을 생성하며, 생성된 샘플 데이터 및 스케일 인자값을 저장하기 위한 주소값 및 타이밍 정보를 생성하는 프로세서 코어(10)와, 프로세서 코어(10)로부터 샘플링 주파수 정보를 입력받아 엠펙(MPEG) 비트스트림에 대한 동기신호를 발생하기 위한 프레임부(20)와, 프로세서 코어(10)에서 수행될 명령어나 엠펙(MPEG) 오디오 비트스트림의 연산 결과인 샘플 데이터 및 스케일 인자값을 주소값 및 타이밍 정보에 따라 저장하기 위한 메모리부(30)를 포함한다.
프로세서 코어(10)는 메모리 데이터 버스를 통해 메모리부(30)에 저장된 명령어를 판독하여 제어부(11)로 전송하고, 제어부(11)의 제어신호에 따라 외부로부터 입력된 엠펙(MPEG) 오디오 비트스트림을 해석하여 채널별 샘플 데이터 및 스케일 인자값을 생성하기 위한 연산부(12), 연산부(12)로부터 명령어를 입력받아 연산부(12)내의 모든 산술 논리 연산장치(ALU : Arithmetic Logic Unit), 레지스터, 및 다중화기(MUX) 등을 제어하기 위한 제어신호를 발생하는 제어부(11), 및 연산부(12)의 결과값에 따른 지정된 어드레스를 해석하여 메모리 어드레스 버스를 통해 메모리부(30)에 저장하거나 읽기 위한 주소값 및 타이밍 정보를 생성하기 위한 어드레스 디코더(13)를 포함한다.
메모리부(30)는 프로세서 코어(10)에서 수행될 오디오 복호화 전용 명령어 조합을 저장하기 위한 판독 전용 기억장치(ROM : Read Only Memory)와, 연산부(12)에서의 동작시 임시적으로 사용하는 메모리와 연산부(12)의 연산 결과값인 샘플 데이터 및 스케일 인자값을 저장하기 위한 임의 접근 기억장치(RAM : Random Access Memory)로 구성된다.
상기한 바와 같은 구성을 갖는 본 발명의 바람직한 실시예에 따른 전처리 장치의 동작을 살펴보면 다음과 같다.
먼저, 전원 공급시 클럭 및 시스템 제어신호가 제어부(11)에 인가되고, 리셋이 풀려 외부로부터 입력 비트스트림이 연산부(12)에 입력되면, 연산부(12)는 입력된 비트스트림의 헤드 정보를 분석하여 분석된 산술 논리 연산(ALU) 결과를 제어부(11)로 알린다. 이때, 제어부(11)가 샘플링 주파수 정보를 프레임부(20)로 전송하면, 프레임부(20)는 입력된 비트스트림에 대한 정상적인 동기신호를 제어부(11)로 전송한다.
이후, 연산부(12)가 메모리 데이터 버스를 통해 메모리부(30)의 ROM에 저장된 명령어를 판독하여 제어부(11)로 전송하면, 제어부(11)는 명령어에 따라 제어신호를 발생한다.
다음으로, 연산부(12)는 제어부(11)의 제어신호에 따라 입력된 엠펙(MPEG) 오디오 비트스트림을 해석하여 채널별 샘플 데이터 및 스케일 인자값을 생성한 후에, 생성된 샘플 데이터 및 스케일 인자값을 어드레스 디코더(13)의 주소값 및 타이밍 정보에 따라 메모리 어드레스 버스를 통해 메모리부(30)의 RAM에 저장한다.
본 발명에 따른 전처리 장치에 사용되는 프로세서 코어(10)의 명령어 구조는 도 2에 도시된 바와 같다.
도 2를 참조하면, 명령어는 복합 명령 세트 컴퓨터(CISC : Complex Instruction Set Computer) 형태로 사용되고, 명령어 처리 과정은 파이프라인을 사용하지 않으므로 시간적으로 중복되지 않고 순차적으로 진행된다.
페치(Fetch)(a)는 메모리부(30)의 ROM으로부터 명령어를 읽어오기 위한 정보를 나타낸다.
디코드(Decode)(b)는 읽어온 명령어를 해석하기 위한 정보를 나타낸다.
페치/디코드(F/D)(c)는 메모리부(30)로부터 명령어에 지시된 번지의 값을 읽어오기 위한 정보를 나타낸다.
실행(Ex)(d)은 명령어에 지시된 연산을 수행하기 위한 정보를 나타낸다.
쓰기(WB)(e)는 연산부(12)의 연산결과인 샘플 데이터 및 스케일 인자값을 메모리부(30)의 RAM에 저장하기 위한 정보를 나타낸다.
본 발명의 바람직한 실시예에 따른 전처리 장치에 사용되는 프로세서 코어(10)의 명령어 구조는 ALU나 메모리 등의 충돌이 발생하지 않으므로 단순한 구조를 갖는다.
예를들면, 하나의 ALU만을 사용하여 명령어 페치시 주소를 발생하는 연산, 메모리부(30)로부터 데이터를 읽어오기 위해 주소를 발생하는 연산, 및 명령어 처리시 데이터에 대한 연산을 모두 수행한다. 또한, 하나의 ROM 및 RAM만을 사용하여 프로그램과 데이터를 저장하는 구조를 사용한다.
도 3 은 도 1의 연산부의 일실시예 회로 구성도이다.
연산부(12)는 총 30개의 레지스터로 구성되는데, 이를 살펴보면 다음과 같다.
범용 레지스터(AC0~AC18)(311,312)는 16비트 범용 레지스터(311) 및 범용 레지스터 파일(312)이 존재하는데, 이러한 범용 레지스터들(311,312)은 일반적인 용도로 자유롭게 사용할 수 있다. 여기서, 범용 레지스터 파일(312)은 총 18개의 레지스터로 구성된다.
베럴 쉬프터(Barrel shifter)(313)는 범용 레지스터(AC0)(311)의 출력을 인가받아 자유로이 쉬프트할 수 있다.
메모리 어드레스(MA : Memory Address) 레지스터(303)는 메모리 어드레스를 저장하고, 메모리 어드레스 레지스터(303)의 출력은 접근하고자 하는 메모리의 어드레스로 어드레스 디코더(13)로 연결되어 어드레스에 따라 원하는 메모리를 선택하여 접근할 수 있다.
입력(INR) 레지스터(301)는 8비트 레지스터로서, 전처리 장치 외부의 선입선출(FIFO : First In First Out)값을 읽어 임시로 저장한 후에 명령어의 요구에 따라 다중화기(MUX)(302)를 통해 1비트씩 순차적으로 메모리 버퍼(MB : Memory Buffer) 레지스터(304)에 전달한다.
메모리 버퍼 레지스터(304)는 메모리부(30)에 저장하고자 하는 값을 기록한다. 여기서, 메모리 버퍼 레지스터(304)의 출력은 메모리 데이터 버스에 연결되어 있으므로 메모리 버퍼 레지스터(304)에 기록된 값이 메모리부(30)에 저장된다.
그리고, 메모리 버퍼 레지스터(304)는 입력 레지스터(301)로부터 입력된 1비트를 누적하기 위해 메모리 버퍼 레지스터(304)의 값을 1비트 왼쪽으로 쉬프트시킨 후에 입력 레지스터(301)의 최상위비트(MSB : Most Significant Bit)인 입력값(INR7)을 오른쪽에 연결하여 저장한다. 따라서, 입력 레지스터(301)의 출력값이 1비트씩 메모리 버퍼 레지스터(304)에 전달된다.
스텍(Stack)(308)은 깊이가 8이며, 어떤 레지스터의 값이든 푸쉬(Push)할 수 있다.
인덱스 레지스터 파일(310)은 간접 어드레싱할 경우에 사용되는 레지스터로서, 메모리의 번지값을 저장하며, 총 4개로 구성된다.
카운터 레지스터(309)는 루프 등을 돌 때 반복할 횟수를 저장하는 레지스터이다.
읽기 결정 카운터(RDC : Read Decision Counter) 레지스터(307)는 FIFO로부터 비트스트림을 읽어들일 때 몇 비트를 읽어들일 것인지를 저장하는 레지스터이다.
상기한 바와 같은 연산부(12)에 사용되는 모든 레지스터의 구조를 살펴보면 도 4에 도시된 바와 같다.
도 4를 참조하면, 다중화기(MUX)(401)는 새로운 입력값(In)과 기존의 값중 하나를 로드(Load) 선택 신호에 의해 선택하여 레지스터(402)로 출력한다. 즉, 레지스터(402)는 클럭에 동기되어 새로운 값을 래치(Latch)하거나 기존의 메모리부(30)에 저장된 값을 유지한다.
다중화기(314,315)는 5비트의 선택신호를 갖는 다중화기(314) 및 4비트의 선택신호를 갖는 다중화기(315)로 구성된다. 여기서, 다중화기(314,315)는 각 레지스터(301 내지 313)의 출력값을 연산하기 위해 선택신호에 따라 출력한다.
다중화기(314)는 메모리 데이터 버스로부터 명령어 조합과, 메모리 어드레스 레지스터(303), 메모리 버퍼 레지스터(304), 프로그램 카운터 레지스터(305), 명령 레지스터(306), 읽기 결정 레지스터(307), 스택(308), 카운터 레지스터(309), 인덱스 레지스터 파일(310), 배럴 쉬프터(313), 및 범용 레지스터 파일(312)의 출력값중 하나를 5비트의 선택신호에 따라 선택 출력한다.
다중화기(315)는 메모리 버퍼 레지스터(304), 인덱스 레지스터 파일(310), 배럴 쉬프터(313), 및 범용 레지스터 파일(312)의 출력값중 하나를 4비트의 선택신호에 따라 선택 출력한다.
다중화기(314,315)의 출력값을 연산하기 위한 연산 장치로는 입력 다중화기(314,315)의 출력값을 논리 연산하기 위한 산술 논리 연산기(ALU)(316), 다중화기(314,315)의 출력값을 곱하기 위한 곱셈기(Multiplier)(317), 및 다중화기(314,315)의 출력값을 나누기 위한 디바이더(Divider)(318) 등이 있다. 이를 구체적으로 살펴보면 다음과 같다.
산술 논리 연산기(ALU)(316)는 다중화기(314) 및 다중화기(315)의 출력값을 논리 연산한다. 즉, 증가(Increment), 뺄셈(Subtraction), 덧셈(Addition), 2의 보수(Negation), 논리곱(AND) 연산, 논리합(OR) 연산, 및 배타적 논리합(XOR) 연산을 수행한다.
곱셈기(Multiplier)(317)는 16비트 부호있는(Signed) 곱셈을 수행한다. 즉, 다중화기(314) 및 다중화기(315)의 출력값을 부호있는(Signed) 16비트 값이라 가정하면 곱셈기(317)는 두 개의 부호있는(Signed) 16비트 출력값을 곱하여 32비트의 연산결과중 하위 16비트만을 취하여 출력한다.
디바이더(Divider)(318)는 16비트 부호있는(Signed) 나눗셈을 수행한다. 즉, 다중화기(314)의 16비트 출력값을 다중화기(315)의 16비트 출력값으로 나눗셈한다. 여기서, 나눗셈 연산은 총 16사이클이 소요되며, 계산 결과는 16비트의 몫(Quotient)과 16비트의 나머지(Remainder)가 출력된다.
다중화기(319)는 4비트의 선택신호에 따라 다중화기(314,315), 산술 논리 연산기(316), 및 곱셈기(317)의 출력값과 디바이더(318)의 몫과 나머지중 하나를 선택 출력한다.
상태 플립플롭(320)은 최종 연산 결과를 정리하여 저장하는 2비트의 레지스터이다. 이때, ALU의 연산결과인 신호값이 양수이면 "0", 음수이면 "10", 같으면 "1"이 상태 플립플롭(320)에 기록된다.
인덱스 체크 모듈(322)은 16비트 입력을 스케일 인자값으로 가정하여 입력 스케일 인자값에 해당하는 스케일 요소 인덱스를 출력한다. 따라서, 하나의 명령어로 쉽게 스케일 요소 인덱스를 구할 수 있다.
예를들면, 인덱스 체크를 위한 제어 신호값이 0이면 입력값을 그대로 출력하고, 1이면 스케일 요소 인덱스로 변환된 값을 출력한다.
제어부(11)는 연산부(12)로부터 명령어를 입력받아 입력된 명령어를 디코딩한 후에 연산부(12)의 산술 논리 연산기(316), 다중화기(314,315,319), 및 레지스터(301 내지 312) 등의 자원을 제어하여 명령어를 실행한다.
프로세서 코어(10)의 명령어는 (표 1)에 도시된 바와 같이 22개의 명령어로 구성되는데, 이중 21개의 명령어는 16비트로 인코딩되어 있고, "Move R, value"인 경우에만 32비트로 구성된다.
이러한 명령어 처리 과정을 살펴보면 다음과 같다.
먼저, 메모리부(30)로부터 1워드(Word) 명령어를 읽어온다(페치(Fetch)).
이후, 읽어온 명령어를 해석하여 2워드 명령어(move R, value 명령어의 경우)이면 1워드를 더 읽어온다(디코딩(Decoding)). 이때, 명령어 페치가 종료되었다면 명령어를 해석하여 실행을 위한 동작신호를 생성한다.
다음으로, 현재 명령어가 요구하는 피 연산자(Operand)를 준비한다(연산자 준비(연산자 준비(Operand Preparing)). 이때, 메모리부(30)에 저장된 값이 요구되면 메모리부(30)에서 저장된 값을 읽어온다.
이어서, 명령어에 지시된 연산이나 동작을 실행한다(실행(Execution)).
마지막으로, 실행 결과를 저장한다(저장(Write back)). 이때, 목적지가 메모리부(30)인 경우에 메모리부(30)에 값을 저장한다. 이때, 메모리부(30) 접근시 간접 어드레싱인 경우에 인덱스 레지스터(310)를 사용하므로 사용된 인덱스 레지스터(310)를 증가한다.
명령어 처리 과정시 메모리부(30)의 접근은 메모리부(30)에 저장된 값을 읽기 위해 읽기신호를 활성화(Active)시키고, 메모리부(30)에 저장하기 위해 쓰기신호를 활성화시킨다.
따라서, 메모리부(30)의 인터페이스는 읽기 및 쓰기신호를 시스템 클럭의 상승 에지(Rising Edge)에서 조사하여 활성화되어 있는 읽기신호, 쓰기신호와 어드레스, 및 메모리 데이터 버스의 값을 읽어들여 지시된 동작을 시작한다.
메모리부(30)의 인터페이스는 주어진 어드레스에 따라 메모리를 선택하여 접근한다. 이때, 메모리부(30)에 따라 접근 시간에 차이가 있으므로 선택된 메모리의 접근 시간에 따라 타이밍을 생성한다.
한편, 모든 동작이 완료되어 완료신호를 활성화시키면, 프로세서는 완료신호를 받아 메모리 접근이 완료되었음을 알고 다음 동작을 수행한다.
명령어 수행 기능
Read MB,[mem] MEM → MB
Write [mem],MB MB → MEM
Move R1,R2 R2 → R1
Move R,value value. → R
Read MB, indexR (indexR) → MB
Write indexR,MB MB → (indexR)
Push R R+1 → Stack
Pop R Stack → R
Add R1,R2 R1+R2 → R1
ShiftR N sftRN(AC0) → AC0
ShiftL N sftLN(AC0) → AC0
Sub R1,R2 R1-R2 → R1
Mult R1,R2 R1×R2 → R1
Div R1,R2 R1/R2 → R1(mod→R2)
Cmp R1,R2 R1-R2, Status F/F set
Inc R R+1 → R
Check R R → (Check index) → R
Bread N INR → MB(N bit)
Bread RDC INR → MB((RDC) bit)
Bacc INR → MB(1bit)
JIZ addr Jump,index R if MB is zero
Jump addr Jump to Addr
Cjmp addr Jump if Cond. is true
이상에서 설명한 본 발명은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 있어 본 발명의 기술적 사상을 벗어나지 않는 범위내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 한정되는 것이 아니다.
상기한 바와같은 본 발명은, 단순한 구조의 오디오 복호화 전용 명령어 조합으로 구성된 프로세서 코어를 사용하여 엠펙(MPEG) 오디오 비트스트림을 해석하여 채널별로 샘플 데이터 및 스케일 인자(Scale Facter)값을 생성하여 5.1채널(즉, 오른쪽, 왼쪽, 중간, 오른쪽 서라운드, 왼쪽 서라운드, 및 저역 주파수 대역 보강) 및 2채널(오른쪽, 왼쪽) 모두에 대해 오디오 프레임 단위로 전처리할 수 있는 효과가 있다.

Claims (7)

  1. 외부로부터 입력된 오디오 비트스트림의 헤드를 분석하여 샘플링 주파수 정보를 생성하고, 명령어에 대한 제어신호에 따라 상기 오디오 비트스트림을 연산하여 샘플 데이터 및 스케일 인자값을 생성하며, 생성된 샘플 데이터 및 스케일 인자값을 저장하기 위한 주소값 및 타이밍 정보를 생성하는 오디오 비트스트림 전처리 수단;
    상기 오디오 비트스트림 전처리 수단으로부터 샘플링 주파수 정보를 입력받아 상기 오디오 비트스트림에 대한 동기신호를 발생하여 상기 오디오 비트스트림 전처리 수단으로 제공하기 위한 프레임 동기 수단; 및
    상기 오디오 비트스트림 전처리 수단에서 수행될 상기 명령어나 상기 오디오 비트스트림의 연산 결과인 샘플 데이터 및 스케일 인자값을 주소값 및 타이밍 정보에 따라 저장하기 위한 제1 저장 수단
    을 포함하여 이루어진 전처리 장치.
  2. 제 1 항에 있어서,
    상기 오디오 비트스트림 전처리 수단은,
    외부로부터 입력된 상기 오디오 비트스트림의 헤드를 분석하여 제어 수단으로 전송하고, 메모리 데이터 버스를 통해 상기 제1 저장 수단에 저장된 상기 명령어를 판독하여 상기 제어 수단으로 전송하며, 상기 제어 수단의 제어신호에 따라 외부로부터 입력된 엠펙(MPEG) 오디오 비트스트림을 연산하여 채널별 샘플 데이터 및 스케일 인자값을 생성하기 위한 연산 수단;
    전원공급시 클럭 및 시스템 제어신호가 인가되고, 리셋이 풀려 상기 연산 수단의 샘플링 주파수 정보를 상기 프레임 동기 수단으로 전송하여 상기 프레임 동기 수단으로부터 동기신호를 제공받으며, 상기 연산 수단으로부터 상기 명령어를 입력받아 상기 연산 수단을 제어하기 위한 제어신호를 발생하는 상기 제어 수단; 및
    상기 연산 수단의 연산 결과인 채널별 샘플 데이터 및 스케일 인자값을 상기 제1 저장 수단에 저장하기 위해 주소값 및 타이밍 정보를 생성하기 위한 주소 복호화 수단
    을 포함하여 이루어진 전처리 장치.
  3. 제 2 항에 있어서,
    상기 제1 저장 수단은,
    상기 오디오 비트스트림 전처리 수단에서 수행될 상기 명령어를 저장하기 위한 제2 저장 수단; 및
    상기 연산 수단에서의 동작시 임시적으로 사용하는 데이터와 상기 연산 수단의 연산 결과값인 샘플 데이터 및 스케일 인자값을 상기 주소 복호화 수단의 주소값 및 타이밍 정보에 따라 저장하기 위한 제3 저장 수단
    을 포함하여 이루어진 전처리 장치.
  4. 제 2 항 또는 제 3 항에 있어서,
    상기 연산 수단은,
    외부로부터 입력된 오디오 비트스트림, 상기 제2 저장 수단으로부터 읽어온 상기 명령어, 상기 제3 저장 수단의 임시 동작 데이터, 및 연산 수행 결과를 일시적으로 저장하거나 번지값을 생성하기 위한 일시 저장 및 번지값 생성 수단;
    상기 일시 저장 및 번지값 생성 수단의 출력값중 하나를 선택신호에 따라 선택 출력하기 위한 적어도 두 개의 제1 다중화 수단;
    상기 적어도 두 개의 제1 다중화 수단의 출력값들을 논리 연산하기 위한 논리 연산 수단;
    상기 적어도 두 개의 제1 다중화 수단의 출력값들을 서로 곱하기 위한 승산 수단;
    상기 적어도 두 개의 제1 다중화 수단의 출력값들을 서로 나누기 위한 제산 수단;
    상기 적어도 두 개의 제1 다중화 수단, 상기 논리 연산 수단, 상기 승산 수단 및 상기 제산 수단의 출력값중 하나를 선택신호에 따라 선택 출력하기 위한 제2 다중화 수단;
    상기 제2 다중화 수단의 출력값을 저장하기 위한 상태 저장 수단;
    상기 오디오 비트스트림 전처리 수단의 래치 수단중 메모리 어드레스 결과 및 상기 제2 다중화 수단의 출력값중 하나를 선택신호에 따라 선택하여 상기 주소 복호화 수단을 통해 메모리 어드레스 버스로 출력하기 위한 제3 다중화 수단; 및
    상기 제2 다중화 수단의 출력값을 스케일 인자값으로 가정하여 입력 스케일 인자값에 해당하는 스케일 요소 인덱스를 출력하기 위한 인덱스 체크 수단
    을 포함하여 이루어진 전처리 장치.
  5. 제 4 항에 있어서,
    상기 각 명령어는,
    상기 제2 저장 수단으로부터 상기 명령어를 읽어오기 위한 페치(Fetch) 정보, 읽어온 상기 명령어를 해석하기 위한 디코드(Decode) 정보, 상기 명령어에 지시된 번지값을 읽어오기 위한 페치/디코드(F/D) 정보, 상기 명령어에 지시된 연산을 수행하기 위한 실행(Ex) 정보, 및 상기 연산 수단의 연산결과인 샘플 데이터 및 스케일 인자값을 상기 제3 저장 수단에 저장하기 위한 쓰기(WB) 정보 등을 포함하는 것을 특징으로 하는 전처리 장치.
  6. 제 5 항에 있어서,
    상기 인덱스 체크 수단은,
    인덱스 체크를 위한 제어 신호값이 영("0")이면 입력값을 그대로 출력하고, 일("1")이면 스케일 요소 인덱스로 변환 출력하여 상기 명령어로 쉽게 스케일 요소 인덱스를 구할 수 있도록 구성 하는 것을 특징으로 하는 전처리 장치.
  7. 제 6 항에 있어서,
    상기 각 오디오 비트스트림은,
    엠펙(MPEG : Moving Picture Expert Group) 오디오 비트스트림인 것을 특징으로 하는 전처리 장치.
KR1019980011818A 1998-04-03 1998-04-03 엠펙 오디오 비트스트림 복호화를 위한 전처리장치 KR100260814B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019980011818A KR100260814B1 (ko) 1998-04-03 1998-04-03 엠펙 오디오 비트스트림 복호화를 위한 전처리장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019980011818A KR100260814B1 (ko) 1998-04-03 1998-04-03 엠펙 오디오 비트스트림 복호화를 위한 전처리장치

Publications (2)

Publication Number Publication Date
KR19990079291A KR19990079291A (ko) 1999-11-05
KR100260814B1 true KR100260814B1 (ko) 2000-07-01

Family

ID=19535803

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980011818A KR100260814B1 (ko) 1998-04-03 1998-04-03 엠펙 오디오 비트스트림 복호화를 위한 전처리장치

Country Status (1)

Country Link
KR (1) KR100260814B1 (ko)

Also Published As

Publication number Publication date
KR19990079291A (ko) 1999-11-05

Similar Documents

Publication Publication Date Title
US5752073A (en) Digital signal processor architecture
JP3711422B2 (ja) 情報処理回路
US6269439B1 (en) Signal processor having pipeline processing that supresses the deterioration of processing efficiency and method of the same
US10678540B2 (en) Arithmetic operation with shift
US20030037221A1 (en) Processor implementation having unified scalar and SIMD datapath
US20050251645A1 (en) Method and apparatus for staggering execution of an instruction
JP2000222206A (ja) データ処理装置
JP2003085000A (ja) トレース情報生成装置およびその方法
US7574583B2 (en) Processing apparatus including dedicated issue slot for loading immediate value, and processing method therefor
JP2008503827A (ja) 命令処理回路
US20050257027A1 (en) Processing apparatus, processing method and compiler
JP3781519B2 (ja) プロセッサの命令制御機構
JP3212213B2 (ja) データ処理装置
US6026486A (en) General purpose processor having a variable bitwidth
JP2009032257A (ja) 有限状態機械制御コードを選択的に用いるプロセッサアーキテクチャ
KR20030051380A (ko) 마이크로프로세서
TW201712534A (zh) 關於包括指令組的大小之指令組的資訊解碼
US6263424B1 (en) Execution of data dependent arithmetic instructions in multi-pipeline processors
US7134000B2 (en) Methods and apparatus for instruction alignment including current instruction pointer logic responsive to instruction length information
KR100260814B1 (ko) 엠펙 오디오 비트스트림 복호화를 위한 전처리장치
US20100153691A1 (en) Lower power assembler
JP3570287B2 (ja) マイクロコンピュータ
JPH1091430A (ja) 命令解読装置
US5155818A (en) Unconditional wide branch instruction acceleration
JP2003084973A (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: 20130403

Year of fee payment: 14

FPAY Annual fee payment

Payment date: 20140404

Year of fee payment: 15

FPAY Annual fee payment

Payment date: 20160406

Year of fee payment: 17

LAPS Lapse due to unpaid annual fee