KR20080101366A - 시분할 방식을 이용한 특성 직접 메모리 액세스 기반의멀티채널 음성 디코딩 장치 및 이를 이용한 멀티채널 음성디코딩 방법 - Google Patents

시분할 방식을 이용한 특성 직접 메모리 액세스 기반의멀티채널 음성 디코딩 장치 및 이를 이용한 멀티채널 음성디코딩 방법 Download PDF

Info

Publication number
KR20080101366A
KR20080101366A KR1020070048016A KR20070048016A KR20080101366A KR 20080101366 A KR20080101366 A KR 20080101366A KR 1020070048016 A KR1020070048016 A KR 1020070048016A KR 20070048016 A KR20070048016 A KR 20070048016A KR 20080101366 A KR20080101366 A KR 20080101366A
Authority
KR
South Korea
Prior art keywords
unit
data
voice
channel
memory access
Prior art date
Application number
KR1020070048016A
Other languages
English (en)
Other versions
KR100919476B1 (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 KR1020070048016A priority Critical patent/KR100919476B1/ko
Publication of KR20080101366A publication Critical patent/KR20080101366A/ko
Application granted granted Critical
Publication of KR100919476B1 publication Critical patent/KR100919476B1/ko

Links

Images

Classifications

    • 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
    • G10L19/008Multichannel audio signal coding or decoding using interchannel correlation to reduce redundancy, e.g. joint-stereo, intensity-coding or matrixing
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Stereophonic System (AREA)

Abstract

하나의 음성 디코더로 멀티채널 디코딩을 구현하기 위한 음성 디코딩 장치에 있어서, 중앙처리유닛은 데이터를 처리하고, 메모리 유닛은 데이터를 저장하기 위한 적어도 2개의 채널을 포함하며, 음성 디코더 유닛은 데이터를 변환하여 음성(audio)을 출력한다. 중앙처리유닛과 음성 디코더 유닛 사이에 연결되는 특성 직접 메모리 액세스 컨트롤러(Specific DMA Controller)는 중앙처리유닛으로부터 버스 제어를 승인받아 메모리 유닛의 각 채널에 저장된 데이터를 시분할 방식으로 음성 디코더 유닛으로 각각 전송한다. 이와 같이 시분할 방식을 이용하는 특성화된 직접 메모리 액세스 컨트롤러를 이용하여 고음질의 멀티채널 음성 디코딩을 하드웨어적으로 구현하는 동시에 중앙처리유닛의 성능을 최적화시킬 수 있으므로, 멀티채널 플레이백을 저전력, 비용 효율적으로 요구하는 다양한 어플리케이션에 적용할 수 있다.

Description

시분할 방식을 이용한 특성 직접 메모리 액세스 기반의 멀티채널 음성 디코딩 장치 및 이를 이용한 멀티채널 음성 디코딩 방법{MULTICHANNEL AUDIO DECODING DEVICE BASED ON SPECIFIC DIRECT MEMORY ACCESS CONTROLLER AND METHOD OF MULTICHANNEL AUDIO DECODING USING THE SAME}
도 1은 종래 기술에 따른 음성 디코딩 장치를 설명하기 위한 개략적인 구성도이다.
도 2는 본 발명의 일 실시예에 따른 멀티채널 음성 디코딩 장치를 설명하기 위한 개략적인 구성도이다.
도 3은 본 발명의 다른 실시예에 따른 멀티채널 음성 디코딩 장치를 설명하기 위한 개략적인 구성도이다.
도 4는 본 발명의 일 실시예에 따른 멀티채널 음성 디코딩 방법을 설명하기 위한 개략적인 흐름도이다.
도 5는 도 4에 도시된 멀티채널 음성 디코딩 방법을 설명하기 위한 개략적인 구성도이다.
도 6은 도 5에 도시된 특성 직접 메모리 액세스 컨트롤러가 동작하는 일 예를 설명하기 위한 직선 좌표이다.
* 도면의 주요부분에 대한 부호의 설명 *
200 : 음성 디코딩 장치 210 : 중앙처리유닛
215 : 레지스터 220 : 메모리 유닛
230 : 음성 디코더 유닛 240 : 특성 직접 메모리 액세스
250 : 제1 메모리 및 제2 메모리 260 : 디지털 클럭 발진기(DCO)
270a : 제1 음성 복호부 270b : 제2 음성 복호부
280 : 제3 메모리 290 : 믹서부
295 : 컨버터부
본 발명은 음성 디코딩(audio decoding) 장치 및 방법에 관한 것이다. 보다 상세하게는, 게임기, 학습용 전자기기, 중소형 가전 기기, 디지털 도어락 및 GPS 단말기 등에 적용가능한 마이크로 컨트롤러 유닛을 기반으로 한 멀티채널 음성 디코딩 장치 및 방법에 관한 것이다.
음성 디코딩 기능을 갖는 어플리케이션(application)은 시각 장애인을 위한 제품과 완구 제품을 시작으로, 최근에는 생활가전 등 우리의 실생활 주변으로 빠른 속도로 확대되고 있다.
이와 같은 추세는 최근 반도체 장치가 급속도로 발전함에 따라 생활가전에 다양한 음성 디코딩 또는 인코딩(encoding) 적용분야가 다양화되고 있기 때문이며, 이에 따라 향후에는 보다 진화된 음성 디코딩 기능을 갖는 다양한 제품들이 출시될 것으로 보인다. 예를 들면, 종래에는 메모리에 저장된 음원 데이터를 단순히 선택적으로 재생하는 수준에서, 지피에스(GPS), 음성을 이용하는 학습용 전자기기, 게임기, 차량 마이컴등과 같이 음원 데이터를 멀티채널의 음성을 출력하면서 일반 데이터들과 함께 빠른 속도로 처리하는 수준까지 발전하고 있다.
현재 음성 디코딩 기능의 제어 장치는 크게 음성 디코딩 전용 장치, 마이크로 컨트롤러(microcontroller unit; MCU) 기반의 음성 디코딩 장치 및 디에스피(digital signal processing; DSP) 장치로 구분된다. 이들 중에서 최근에는 상기 마이크로 컨트롤러 기반의 음성 디코딩 장치가 널리 사용되고 있다. 이는 마이크로 컨트롤러가 사용자가 필요한 기능만을 부가적으로 셋팅하여 쓸 수 있도록 되어 있기 때문이다. 즉, 다양한 용도를 갖는 명령을 수행하는 프로그램을 집어넣을 수 있으므로 사용자의 필요에 따른 기능을 부여할 수 있다.
도 1은 종래 기술에 따른 멀티채널 음성 디코딩 장치를 설명하기 위한 개략적인 구성도이다.
도 1을 참조하면, 도시된 멀티채널 음성 디코딩 장치(10)는 디코딩 기능을 갖는 전자제품에서 사용되는 일반적인 방식으로서, 중앙처리유닛을 포함하는 마이크로 컨트롤러(20)와 음원 디코더(30)가 분리되어 있으며, 다음과 같은 원리로 동작한다. 먼저, 마이크로 컨트롤러(20)는 재생할 음원에 대한 정보를 명령 및 제어 신호를 수신하기 위한 연결부(32)에 전달하고, 상기 연결부(32)는 상기 수신된 명령 및 제어 신호를 명령/주소 제어부(34)로 전달한다. 다음에, 상기 명령/주소 제어부(34)는 클럭/타이밍 제어부(36)에 음원 재생용 주파수를 생성하도록 하고, 상 기 수신된 정보 중 음원이 저장된 주소를 복호 처리하여 음원 관리부(38)로부터 음원 데이터를 순서에 맞추어 ADPCM 복호부(40)로 전달한다. 이어서, ADPCM 알고리즘을 이용하여 클럭/타이밍 제어부(36)에서 생성된 주파수에 맞추어 합성하고, 상기 합성된 음원들을 PCM 복호/멀티채널 믹서(42)에서 멀티채널 믹싱한다. 마지막으로, 컨버터부(44)에서 디지털 데이터를 아날로그로 전환하여 스피커로 출력한다.
이와 같이, 멀티채널 음성 디코딩 전용 제품(30)들이 종래에 있지만, 외부의 마이크로 컨트롤러(20)의 신호 제어에 의하여 동작하게 되어 있다. 즉, 두 개의 제품(20, 30)을 활용하여 멀티채널 음성 디코딩을 구현하고 있어, 높은 단가와 상기 제품들(20, 30) 사이의 상호 제어에 따른 시스템 성능이 저하되는 문제점이 있다.
또한, 소프트웨어적으로 구현되는 통상적인 멀티채널 음성 디코딩 전용 제품(30)을 사용할 경우에는 마이크로 컨트롤러(20)에 부하가 집중될 수 있다. 이에 따라, 상기 마이크로 컨트롤러(20)가 일반 데이터를 처리하기가 용이하지 않다.
또한, 일반적으로 음성 디코더(30)의 음성 재생시 음질은 마이크로 컨트롤러(20)의 메인 클럭에 따라 결정된다. 따라서 저전력 상태, 즉 클럭이 낮은 상태에서는 고음질의 음성을 멀티채널로 구현하기 어렵다. 그러므로 점차 저전력과 낮은 단가의 임베디드(embedded) 형태로 진행되고 있는 멀티채널 음성 디코딩 환경에서는 종래와 다른 새로운 개념의 음성 디코딩 장치가 절실히 요구되고 있다.
상기와 같은 문제점들을 해결하기 위한 본 발명의 제1 목적은 하나의 음성 디코딩 장치를 이용하여 멀티채널 음성 디코딩을 하드웨어적으로 구현할 수 있는 시스템 온 칩 형태의 멀티채널 음성 디코딩 장치를 제공하는 데 있다.
본 발명의 제2 목적은 상기한 음성 디코딩 장치를 이용한 멀티채널 음성 디코딩 방법을 제공하는 데 있다.
상기 제1 목적을 달성하기 위한 본 발명의 일 측면에 따른 멀티채널 음성 디코딩 장치는, 데이터를 처리하기 위한 중앙처리유닛과, 중앙처리유닛과 버스를 통해 연결되며 데이터를 저장하기 위한 적어도 2개의 채널을 포함하는 메모리 유닛과, 상기 데이터를 변환하여 음성(audio)을 출력하기 위한 음성 디코더 유닛과, 상기 중앙처리유닛과 음성 디코더 유닛 사이에 연결되어 멀티채널 음성 디코딩을 구현하기 위한 특성 직접 메모리 액세스 컨트롤러(Specific DMA Controller)를 포함할 수 있다. 여기서, 상기 특성 직접 메모리 액세스 컨트롤러는 상기 중앙처리유닛으로부터 상기 버스 제어를 승인받아 상기 메모리 유닛의 각 채널에 저장된 데이터를 시분할 방식으로 상기 음성 디코더 유닛으로 각각 전송할 수 있다.
본 발명의 실시예들에 따르면, 상기 음성 디코더 유닛과 연결되며, 상기 특성 직접 메모리 액세스 컨트롤러에 의해 처리된 데이터를 일시적으로 저장하기 위하여, 상기 메모리 유닛의 채널과 실질적으로 동일한 수의 채널을 포함하는 버퍼(buffer)를 더 포함할 수 있다.
또한, 상기 음성 디코더 유닛은, 상기 특성 직접 메모리 유닛에 의해 상기 메모리 유닛으로부터 전송된 음성 데이터를 복호화시키켜 상기 버퍼에 저장하기 위한 음성 복호부와, 상기 중앙처리유닛와 연결되고 상기 믹서부에 처리될 사용 주파 수를 설정하기 위한 디지털 클럭 발진기(digital clocked oscillator; DCO)와, 상기 버퍼의 각 채널에 저장된 데이터를 상기 디지털 클럭 발진기에 의해 설정된 주파수로 믹싱 처리하기 위한 믹서부와, 상기 믹서부에 의해 믹싱된 디지털 데이터를 아날로그 데이터로 변환하여 음성을 출력하기 위한 컨버터부를 포함할 수 있다.
또한, 상기 특성 직접 메모리 액세스 컨트롤러는 상기 메모리 유닛의 채널들과 각각 연결되며, 기 설정된 양의 데이터를 기 설정된 시간 동안 상기 채널 별로 순차적으로 읽는 것을 특징으로 한다.
상기 제2 목적을 달성하기 위한 본 발명의 일 측면에 따른 멀티채널 음성 디코딩 방법은, 중앙처리유닛, 데이터를 저장하기 위한 적어도 2개의 채널을 포함하는 메모리 유닛, 음성 디코더 유닛, 상기 메모리 유닛 내에 저장된 데이터를 시분할 방식으로 상기 음성 디코더 유닛으로 전송하기 위한 특성 직접 메모리 액세스 컨트롤러, 상기 메모리 유닛의 채널과 실질적으로 동일한 수의 채널을 갖는 버퍼를 포함하는 음성 디코딩 장치를 이용한다. 구체적으로, 먼저 상기 중앙처리유닛이 멀티채널 정보, 음원 데이터 주소, 음원 데이터 사이즈, 샘플링 주파수 및 버퍼를 포함하는 정보를 레지스터에 설정한다. 다음에, 상기 특성 직접 메모리 액세스 컨트롤러가 상기 메모리 유닛의 각 채널에 저장된 데이터를 시분할 방식으로 상기 음성 디코더 유닛으로 각각 전송한다. 이어서, 상기 음성 디코더 유닛이 상기 전송된 데이터에 대한 복호화 및 디지털 필터링을 수행한다. 그리고, 상기 음성 디코더 유닛이 상기 복호화 및 필터링된 데이터를 상기 버퍼의 지정된 채널로 전송한다. 마지막으로, 상기 음성 디코더 유닛이 상기 전송된 데이터를 믹싱 및 컨버팅을 통해 음 성으로 출력한다.
상기 제2 목적을 달성하기 위한 본 발명의 다른 측면에 따른 멀티채널 음성 디코딩 방법은, 중앙처리유닛, 음성 디코더 유닛 및 적어도 2개의 채널을 갖는 메모리 유닛을 갖는 음성 디코딩 장치를 이용하며, 상기 메모리 유닛의 각 채널과 연결된 특성 직접 메모리 액세스 컨트롤러를 이용하여, 상기 메모리 유닛의 각 채널에 저장된 데이터를 시분할 방식으로 상기 음성 디코더 유닛으로 각각 전송하는 단계를 포함하는 것을 특징으로 한다.
본 발명의 실시예에 따르면, 상기 특성 직접 메모리 액세스 컨트롤러는 상기 메모리 유닛의 각 채널에 저장된 데이터들을 순차적으로 읽어 상기 음성 디코더로 전송하는 과정을 반복 수행하는 것을 특징으로 한다.
상기한 바에 의하면, 상기 음성 디코딩 장치는 특성 직접 메모리 액세스 컨트롤러가 메모리(RAM)를 중앙처리유닛과 공유함으로써, 하나의 음성 디코더로 고품질의 멀티채널 음성 디코딩을 하드웨어적으로 수행할 수 있다. 또한, 중앙처리유닛 및 하나의 음성 디코더를 기반으로 하는 멀티채널 음성 디코딩 기능을 하나의 칩으로 제작함으로써 단가를 낮출 수 있으며 저전력으로 구동가능한 장점이 있다.
이하, 본 발명에 따른 바람직한 실시예들에 따른 멀티채널 음성 디코딩 장치 및 방법에 대하여 첨부된 도면을 참조하여 상세하게 설명하지만, 본 발명이 하기의 실시예들에 제한되는 것은 아니며, 해당 분야에서 통상의 지식을 가진 자라면 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 본 발명을 다양한 다른 형태로 구현할 수 있을 것이다. 첨부된 도면에 있어서, 각 구성 요소들의 치수는 본 발명의 명확성을 기하기 위하여 실제보다 확대하여 도시한 것이다. 본 발명에 있어서, 하나의 구성 요소가 다른 구성 요소 "상에", "상부에" 또는 "하부"에 형성되는 것으로 언급되는 경우에는 상기 하나의 구성 요소는 상기 다른 구성 요소 위에 형성되거나 또는 아래에 위치하는 것을 의미하거나, 또 다른 구성 요소들이 상기 다른 구성 요소 상에 추가적으로 형성될 수 있다. 또한, 각 구성 요소들이 "제1", "제2" 및/또는 "제3"으로 언급되는 것은 한정하기 위한 것이 아니라 단지 각 구성 요소들을 구분하기 위한 것이다. 따라서, "제1", "제2" 및/또는 "제3"은 각 구성 요소에 대하여 각기 선택적으로 또는 교환적으로 사용될 수 있다.
멀티채널 음성 디코딩 장치 1
도 2는 본 발명의 일 실시예에 따른 멀티채널 음성 디코딩 장치를 설명하기 위한 개략적인 구성도이다.
도 2를 참조하면, 도시된 음성 디코딩 장치(100)는 데이터를 전송하기 위한 버스(bus, 110)와, 데이터를 처리하기 위한 중앙처리유닛 및 적어도 두 개의 채널을 갖는 메모리 유닛(미도시)을 포함하는 마이크로 컨트롤러(micro-controller, 120)와, 상기 데이터를 변환하여 음성(audio)을 출력하기 위한 음성 디코더 유닛(audio decoder unit, 130)과, 상기 마이크로 컨트롤러 및 디코더 유닛(130) 사이에 연결되는 특성 직접 메모리 액세스 컨트롤러(specific direct memory access controller, 이하 '특성 DMA 컨트롤러'라 함)(140)를 포함한다.
상기 음성 디코더 유닛(130)은 디지털화된 음원 데이터를 아날로그 신호로 변환시켜 음성을 출력하는 장치로서, 데이터를 전송하기 위한 버스(110)를 통해 마이크로 컨트롤러(120)와 연결될 수 있다.
상기 마이크로 컨트롤러(120)는 가전제품, 완구, 도어락(door lock), 마이크로 마우스, 2족 로봇 등에 광범위하게 사용되는 ‘사용자 제어 중앙처리장치’를 말한다. 도시되지는 않았으나, 상기 마이크로 컨트롤러(120)는, 중앙처리유닛(central processing unit; CPU), 메모리 유닛), 소거 및 프로그램 가능 읽기용 메모리(read only memory; ROM), 타이머(timer), 인터럽트 컨트롤러(interrupt controller), 입출력부(input/output; I/O) 등을 포함하여 구성될 수 있다. 여기서, 상기 메모리 유닛은 2개 이상의 채널로 이루어진 임의접근메모리(random access memory; RAM)를 포함한다.
상기 특성 DMA 컨트롤러(140)는 상기 마이크로 컨트롤러(120)와 음성 디코더 유닛(130) 사이에 연결되어 상기 마이크로 컨트롤러(120)와 독자적으로 동작할 수 있다. 구체적으로, 상기 특성 DMA 컨트롤러(140)는 시분할(time sharing) 방식을 이용하여 상기 메모리 유닛에 저장된 데이터를 상기 음성 디코더 유닛(130)으로 전송함으로써 멀티채널 음성 디코딩을 구현할 수 있다. 이때, 상기 음성 디코더 유닛(130)은 상기 특성 DMA 컨트롤러(140)가 자동으로 접근 가능하도록 구성되는 것이 바람직하다.
한편, 상기 특성 DMA 컨트롤러(140)가 상기 마이크로 컨트롤러(120) 외부에 별도로 구비되는 외부 메모리(미도시)와 부가적으로 연결되는 경우, 상기 외부 메모리 내에 저장된 음원 데이터 또는 비음원 데이터를 시분할 방식으로 상기 음성 디코더 유닛(130)으로 전송할 수도 있다.
이처럼 본 발명의 음성 디코딩 장치(100)는 종래의 전용 멀티채널 음성 디코딩용 칩(chip) 사용하지 않고 하나의 음성 디코더 유닛(130)을 이용하여 고품질의 멀티채널 음성 플레이백 기능을 수행하는 것이 가능하다. 또한, 특성 DMA 컨트롤러(140)를 기반으로 멀티채널을 갖는 메모리 유닛을 공유를 제어함으로써 중앙처리유닛 성능을 최적화시킬 수 있다.
한편, 본 발명의 음성 디코딩 장치(100)는 마이크로 컨트롤러(120), 음성 디코딩 장치(130) 및 특성 DMA 컨트롤러(140)를 하나의 칩으로 제작하는 시스템 온 칩(system on chip; SoC)으로서 저전력, 비용 효율적으로(cost effective) 안정적인 동작을 수행할 수 있다.
멀티채널 음성 디코딩 장치 2
도 3은 본 발명의 다른 실시예에 따른 멀티채널 음성 디코딩 장치를 설명하기 위한 개략적인 구성도이다.
도 3을 참조하면, 본 실시예에 따른 음성 디코딩 장치(200)는 데이터를 처리하기 위한 중앙처리유닛(210)과, 상기 중앙처리유닛(210)과 버스(205)를 통해 연결되며 데이터를 저장하기 위한 적어도 2개의 채널을 포함하는 메모리 유닛(220)과, 상기 데이터를 변환하여 음성(audio)을 출력하기 위한 하나의 음성 디코더 유닛(230)과, 상기 메모리 유닛(220)에 저장된 데이터를 상기 메모리 유닛(220)의 채널 수에 맞게 시분할 방식으로 상기 음성 디코더 유닛(230)으로 전송하기 위한 특 성 직접 메모리 액세스 컨트롤러(240)를 포함할 수 있다.
예를 들면, 상기 중앙처리유닛(210)은 제어부, 산술논리부 및 레지스터를 포함하며, 축양 명령어 구조(RISC)를 갖는 예를 들면, 8비트 내지 32비트 프로세서를 사용할 수 있다. 또한, 상기 중앙처리유닛(210) 내에는 메모리 유닛(220)으로부터 멀티채널 정보, 음원 데이터 주소, 음원 데이터 사이즈, 샘플링 주파수 및 버퍼를 설정하기 위한 별도의 레지스터(215)가 마련되어 있다.
상기 메모리 유닛(220)은 상기 중앙처리유닛(210)과 연결되며, 명령 프로그램을 저장하기 위한 제1 메모리(250a)와, 내부 또는 외부 음원 데이터를 저장하기 위한 제2 메모리(250b)와, 2개 이상의 채널을 갖는 버퍼인 제3 메모리(280)를 포함할 수 있다. 여기서, 상기 제2 및 제3 메모리(250b, 280) 내부에는 실질적으로 동일한 채널이 형성되어 있다.
상기 음성 디코더 유닛(230)은 음원 데이터를 복호화시키고 음질을 향상하기 위한 음성 복호부(270)와, 상기 제3 메모리(280)에 저장된 데이터를 믹싱 처리하기 위한 믹서부(290)와, 상기 믹서부(290)에 의해 믹싱된 디지털 데이터를 아날로그 데이터로 변환한 후 스피커(미도시)를 통해 음성을 출력하기 위한 컨버터부(digital to analog converter; DAC)(295)와, 상기 중앙처리유닛(210) 및 상기 믹서부(290)와 연결되는 디지털 클럭 발진기(digital clocked oscillator)를 포함하여 구성된다.
한편, 상기 특성 DMA 컨트롤러(240)는 상기 중앙처리유닛(240), 제1 및 제2 메모리(250) 및 음성 디코더 유닛(230)과 각각 연결된다. 예를 들면, 상기 특성 DMA 컨트롤러(240)는 상기 제1 및 제2 메모리(250a, 250b)와 연결되며, 중앙처리유닛(240)으로부터 버스 승인(bus grant)을 받아 상기 제2 메모리(250b)의 각 채널별 데이터의 일부 또는 전부를 읽어 시분할 방식을 이용하여 상기 음성 디코더 유닛(230)의 제1 음성 복호부(270a)로 전송하게 된다.
여기서, 상기 특성 DMA 컨트롤러(240)는 상기 메모리 유닛(220)의 채널들(미도시)과 각각 연결되어 있다. 이에 따라, 상기 특성 DMA 컨트롤러(240)는 기 설정된 양의 데이터를 기 설정된 시간 동안 상기 채널 별로 순차적으로 읽을 수 있다(도 6참조). 예를 들면, 상기 특성 DMA 컨트롤러는 상기 메모리 유닛(220)의 채널별 10 내지 15 바이트(byte)의 데이터를 15 내지 25ns 동안 지연시간 없이 순차적으로 읽어 전송하는 것이 바람직하다. 왜냐하면, 하나의 채널 내에 저장된 모든 데이터를 읽어오는 경우에는 상기 채널들 내에 저장된 다양한 종류의 음원을 동시에 재생하는 것이 용이하지 않기 때문이다.
이와 같이, 본 발명은 단지 중앙처리유닛(210)을 기능을 디스에이블(disable)시키는 단순한 DMA 컨트롤러가 아닌 시분할 방식의 특성 DMA 컨트롤러(240)를 사용하기 때문에, 멀티채널 음성 디코딩을 하드웨어적으로 구현할 수 있는 동시에, 상기 중앙처리유닛(210)이 멀티채널 음성 디코딩 기능의 구현에 요구되는 고성능을 제공할 수 있게 된다. 한편, 상기 특성 DMA 컨트롤러(240)를 이용하면 외부에 장착되는 대용량의 제4 메모리(미도시)에 저장된 음원을 재생하는 것도 가능하다.
이어서, 음성 복호부(270)는 상기 특성 직접 메모리 액세스(240)에 의해 전 송된 데이터를 1차 복호화를 위한 제1 음성 복호부(270a)와, 상기 제1 음성 복호부(270a)에 의해 1차 복호화된 음원 데이터를 2차 복호화시키고, 음질을 향상시키기 위한 제2 음성 복호부(270b)를 포함한다. 예를 들면, 상기 제1 음성 복호부(270a)는 ADPCM(adaptive differential pulse coding modulation) 방식이며, 상기 제2 음성 복호부(270b)는 PCM 방식이며 디지털 필터를 포함할 수 있다. ADPCM 및 PCM은 음성 복호화(부호화) 방식으로 아날로그 신호를 디지털화하는데 사용된다. 구체적으로, 음향의 추출된 음향 변조 값을 이진 형태로 표현함으로써 음향이나 아날로그 정보를 이진 정보로 변환시키기 위한 기술이다. ADPCM은 용량을 최대 1/4까지 압축할 수 있는 반면, PCM은 압축을 하지 않고 입력된 값을 그대로 기록하는 방식이다.
한편, 제3 메모리(280)는 상기 제2 음성 복호부(270b) 및 믹서부(290)와 연결되어 있다. 이에 따라, 상기 특성 DMA 컨트롤러(240)에 의해 전송된 각각의 채널 데이터는 상기 음성 디코더 유닛(260)의 제1 및 제2 음성 복호부(270a, 270b)를 통해 상기 제3 메모리(280)의 대응 채널에 각각 저장될 수 있다. 상기 제3 메모리(280)를 활용하면 필요한 정보만을 수시 저장할 수 있고, 상기 믹서부(290)가 저장된 데이터를 자동으로 처리하도록 함으로써 멀티채널용 음성 디코더 유닛(260)의 구조를 간소화시킬 수도 있다.
상기 믹서부(290)는 상기 제3 메모리(280)의 전체 버퍼를 읽어 들여 믹싱 처리할 수 있다. 이때, 상술한 바와 같이 상기 중앙처리유닛(210) 및 믹서부(290) 사이에 연결된 상기 음성 디코더 유닛(260)의 디지털 클럭 발진기(260)에 의해 다양 한 클럭을 사용할 수 있다. 구체적으로, 종래의 음성 디코더는 4㎑, 8㎑, 16㎑, 22㎑ 등 일부 주요 사용 클럭만이 제공되는 반면에, 본 발명의 음성 디코더는 상기 디지털 클럭 발진기(260)를 구비함으로써, 중앙처리유닛(210)의 클럭과 독자적으로 4㎑ 내지 48㎑ 범위 전대역의 음성을 고품질로 재생할 수 있게 된다. 예를 들면, 클럭 주파수가 48㎑이고, 4비트(bit) 단위로 압축(샘플링)할 경우 192kbps의 고음질을 획득할 수 있다.
부연해서 설명하면, 종래의 음성 디코딩 장치의 샘플링 주파수는 중앙처리유닛의 메인 클럭에 의존적이기 때문에, 어플리케이션의 필요에 의해 중앙처리유닛(210)의 클럭을 낮추게 되면 음성 디코더의 주파수 또한 떨어지도록 되어 있다. 그러나, 상기 디지털 클럭 발진기(260)는 중앙처리유닛(201)의 클럭 변화에 영향을 받지 않으므로, 중앙처리유닛(210)이 최대 클럭보다 낮은 상태에서도 높은 샘플링 주파수를 이용하여 고음질을 재생할 수 있다. 즉, 상기 멀티채널 음성 디코딩 장치는 저전력에서도 최대의 성능을 발휘할 수 있게 된다. 이러한 본 발명의 음성 디코딩 장치는 저전력, 저비용으로 특정 기능을 수행하기 위한 임베디드 칩(embedded chip)을 설계함에 있어서 놀라운 장점을 부여한다. 한편, 32비트 중앙처리유닛(ARM, MIPS)에서 메인 클럭에 위상 고정 루프(phase locked loop; PLL)를 추가하여 사용할 수도 있다.
지금까지 상술한 바에 따르면, 본 발명에 따른 음성 디코딩 장치(200)는 특성 DMA 컨트롤러를 사용하여 저가의 하나의 음성 디코더만으로 고음질의 멀티채널 음성 디코딩을 하드웨어적으로 구현할 수 있다. 따라서, 멀티채널 음성 디코딩을 소프트웨어에 의해 구현하는 음성 디코딩 장치에 비교할 때, 고품질의 멀티채널 음성 디코딩을 제공하면서도 중앙처리유닛의 부하를 크게 낮추어줌으로써 어플리케이션의 성능을 크게 향상시킬 수 있다. 부가적으로, 하드웨어적인 멀티채널 음성 디코딩 구현이 소프트웨어적으로 구현하는 방법에 비해 성능면에서 크게 유리함은 자명하다. 한편, 제품이 시스템 온 칩(SoC) 형태로 구현됨으로써, 저전력 동작이 용이하며 디코딩 장치의 성능이 안정화되는 장점이 있다.
일 예로서, 본 발명의 음성 디코딩 장치를 지피에스(GPS) 교통 안내 단말기에 적용하게 되면, 지피에스(GPS)에 의해 네이게이션 기능을 수행되는 도중에 부드러운 제1 배경음악을 제공할 수 있으다. 게다가, 상기 제1 배경음악이 플레이백되는 상태에서도 차량의 이동 상태에 따른 음성 안내를 제공할 수 있다. 그리고 교통 상황에 따라 상기 제1 배경음악에서 운전자에게 경각심 부여하는 비상음을 발생시키는 등 채널 수에 따라 다양한 음악 효과와 육성 안내을 동시에 제공할 수 있다. 하기에서는 상술한 음성 디코딩 장치(200)를 이용한 음성 디코딩 방법에 대해 간략히 설명하기로 한다.
멀티채널 음성 디코딩 방법
도 4는 본 발명의 일 실시예에 따른 멀티채널 음성 디코딩 방법을 설명하기 위한 개략적인 흐름도이고, 도 5는 도 4에 도시된 음성 디코딩 방법을 설명하기 위한 개략적인 블록도이며, 도 6은 도 5에 도시된 특성 직접 메모리 액세스 컨트롤러가 동작하는 일 예를 설명하기 위한 직선 좌표이다.
하기에 기재된 구성 요소들에 대한 보다 상세한 설명은 도 2 및 도 3을 참조하여 기 설명된 멀티채널 음성 디코딩 장치(100, 200)의 설명과 유사하므로 생략하기로 한다. 본 발명에 따른 음성 디코딩 방법은 상기 메모리 유닛의 각 채널에 저장된 데이터를 시분할 방식으로 상기 음성 디코더 유닛으로 각각 전송함으로써 멀티채널의 음성 디코딩을 하드웨어적으로 구현할 수 있다. 이를 위해 메모리 유닛의 각 채널과 연결된 특성 직접 메모리 액세스 컨트롤러를 이용할 수 있다.
도 4 및 도 5를 참조하면, 먼저 중앙처리유닛은 멀티채널 정보, 음원 데이터 주소, 음원 데이터 사이즈, 샘플링 주파수 및 데이터 버퍼를 설정한다(S110). 예를 들면, 상기 중앙처리유닛(210)은 상기 제1 메모리(250)에 저장되어 있는 멀티채널 정보와, 상기 제1 또는 제2 메모리(250a, 250b)에 저장된 음원 데이터 주소 및 사이즈를 설정한다. 그리고 상기 중앙처리유닛(210)이 상기 음성 디코더 유닛(230) 내의 디지털 클럭 발진기(DCO, 도 3의 참조번호 260)를 통해 샘플링 주파수를 설정하며, 상기 제3 메모리(280)에 멀티채널용 데이터 버퍼를 설정한다.
다음에, 상기 특성 DMA 컨트롤러(240)는 상기 중앙처리유닛(210)이 상기 S110 단계에서 설정한 데이터 주소로부터 필요한 양의 데이터를 상기 채널 수에 맞게 시분할 방식으로 해당 채널별 데이터를 상기 제1 음성 복호부(270a)에 전송한다(S120). 상기 특성 DMA 컨트롤러(240)는 상기 중앙처리유닛(210)에 버스 사용을 요구를 통해 상기 버스 사용을 승인받은 후 상기 메모리 유닛(240)과 직접 연결됨으로써 상기 중앙처리유닛(210)의 부하를 덜어준다. 이어서, 상기 특성 DMA 컨트롤러(240)는 각 채널에 저장된 데이터의 일부씩을 채널 0에서 채널 n까지 시분할 방 식으로 순차적으로 읽어오는 작업을 반복적으로 수행할 수 있다.
도 6을 참조하면, 상기 메모리 유닛(240)의 채널이 채널 0 내지 채널 2의 3개의 채널로 구성되는 경우(n=2), 상기 특성 DMA 컨트롤러(240)의 동작을 0에서 1초 사이의 직선 좌표 상에 나타내었다. 멀티채널 음성 디코딩을 구현하기 위해서는 상기 특성 DMA 컨트롤러(240)가 각 채널 별로 기 설정된 크기의 바이트 크기의 데이터를 아주 짧은 주기로 읽어와 상기 음성 디코더 유닛(230)의 제1 음성 복호부(270a)로 전송하는 것이 바람직하다. 예를 들면, 상기 특성 DMA 컨트롤러(240)는 20ns(nano-sec) 마다 채널을 바꿔가며 10 내지 15 바이트(byte) 단위의 데이터를 반복적으로 읽을 수 있다.
다시 도 4 및 도 5를 참조하면, 상기 특성 직접 메모리 액세스(240)에 의해 전송된 데이터를 복호화하고, 디지털 필터링한다(S130). 예를 들면, 상기 제1 음성 복호부(270a)는 전달 받은 데이터를 ADPCM 형식으로 압축 복호 후 상기 복호된 데이터를 제2 음성 복호부(270b)로 전달하여 다시 PCM 방식으로 복호화하고 및 디지털 필터 처리를 수행한다. 다음에, 상기 제2 음성 복호부(270b)에 의해 음질이 향상된 데이터를 제3 메모리(280)의 기 설정된 채널로 전송한다(S140). 이때, 상기 제1 또는 제2 메모리(250) 내의 특정 채널에 저장된 데이터는 채널에 대응하는 상기 제3 메모리의 채널로 전송될 수 있다.
마지막으로, 믹싱 및 컨버팅 작업을 통해 음성을 출력한다(S150). 예를 들면, 상기 믹서부(290)는 상기 제3 메모리(280)에 저장된 전체 버퍼를 읽어 와서 믹싱하고, 상기 디지털 클럭 발진기(260)에 설정된 주파수에 맞추어 상기 컨버터 부(295)로 전송한다. 그리고 상기 컨버터부(295)는 상기 전송된 디지털 데이터를 아날로그 데이터로 변환하고 스피커를 통해 음성을 출력한다.
상기와 같은 본 발명에 따른 음성 디코딩 장치는 특성 직접 메모리 액세스를 이용하여 중앙처리유닛의 성능에 구애받지 않고 고품질의 멀티채널 음성 플레이백을 하드웨어적으로 구현하는 것이 가능하다. 이에 따라, 일반 데이터 처리와 멀티채널 디코딩 처리를 동시에 요구하는 어플리케이션에 매우 유용하게 사용될 수 있다.
또한, 디코더 장치용 전용 칩을 별도로 사용할 필요가 없게 되므로 음성 디코딩 장치의 단가를 크게 낮출 수 있으며, 종래의 음성 디코딩 장치에 비해 저전력 구동이 가능하므로 임베디드 환경에 부합하는 시스템 온 칩을 용이하게 구현할 수 있다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.

Claims (7)

  1. 데이터를 처리하기 위한 중앙처리유닛;
    중앙처리유닛과 버스를 통해 연결되며, 데이터를 저장하기 위한 적어도 2개의 채널을 포함하는 메모리 유닛;
    상기 데이터를 변환하여 음성(audio)을 출력하기 위한 음성 디코더 유닛; 및
    상기 중앙처리유닛과 음성 디코더 유닛 사이에 연결되며, 상기 중앙처리유닛으로부터 상기 버스 제어를 승인받아 상기 메모리 유닛의 각 채널에 저장된 데이터를 시분할 방식으로 상기 음성 디코더 유닛으로 각각 전송함으로써, 멀티채널 음성 디코딩을 구현하기 위한 특성 직접 메모리 액세스 컨트롤러(Specific DMA Controller)를 포함하는 시분할 방식을 이용한 특성 직접 메모리 액세스 컨트롤러 기반의 멀티채널 음성 디코딩 장치.
  2. 제1항에 있어서, 상기 음성 디코더 유닛과 연결되며, 상기 특성 직접 메모리 액세스 컨트롤러에 의해 처리된 데이터를 일시적으로 저장하기 위하여, 상기 메모리 유닛의 채널과 실질적으로 동일한 수의 채널을 포함하는 버퍼(buffer)를 더 포함하는 것을 특징으로 하는 시분할 방식을 이용한 특성 직접 메모리 액세스 기반의 멀티채널 음성 디코딩 장치.
  3. 제2항에 있어서, 상기 음성 디코더 유닛은,
    상기 특성 직접 메모리 유닛에 의해 상기 메모리 유닛으로부터 전송된 음성 데이터를 복호화시키켜 상기 버퍼에 저장하기 위한 음성 복호부;
    상기 중앙처리유닛와 연결되고 상기 믹서부에 처리될 사용 주파수를 설정하기 위한 디지털 클럭 발진기(digital clocked oscillator; DCO);
    상기 버퍼의 각 채널에 저장된 데이터를 상기 디지털 클럭 발진기에 의해 설정된 주파수로 믹싱 처리하기 위한 믹서부; 및
    상기 믹서부에 의해 믹싱된 디지털 데이터를 아날로그 데이터로 변환하여 음성을 출력하기 위한 컨버터부를 포함하는 것을 특징으로 하는 시분할 방식을 이용한 특성 직접 메모리 액세스 기반의 멀티채널 음성 디코딩 장치.
  4. 제1항에 있어서, 상기 특성 직접 메모리 액세스 컨트롤러는 상기 메모리 유닛의 채널들과 각각 연결되며, 기 설정된 양의 데이터를 기 설정된 시간 동안 상기 채널 별로 순차적으로 읽는 것을 특징으로 하는 시분할 방식을 이용한 특성 직접 메모리 액세스 기반의 멀티채널 음성 디코딩 장치.
  5. 중앙처리유닛, 데이터를 저장하기 위한 적어도 2개의 채널을 포함하는 메모리 유닛, 음성 디코더 유닛, 상기 메모리 유닛 내에 저장된 데이터를 시분할 방식으로 상기 음성 디코더 유닛으로 전송하기 위한 특성 직접 메모리 액세스 컨트롤러, 상기 메모리 유닛의 채널과 실질적으로 동일한 수의 채널을 갖는 버퍼를 포함하는 음성 디코딩 장치를 이용한 음성 디코딩 방법에 있어서,
    상기 중앙처리유닛이 멀티채널 정보, 음원 데이터 주소, 음원 데이터 사이즈, 샘플링 주파수 및 버퍼를 포함하는 정보를 레지스터에 설정하는 단계;
    상기 특성 직접 메모리 액세스 컨트롤러가 상기 메모리 유닛의 각 채널에 저장된 데이터를 시분할 방식으로 상기 음성 디코더 유닛으로 각각 전송하는 단계;
    상기 음성 디코더 유닛이 상기 전송된 데이터에 대한 복호화 및 디지털 필터링을 수행하는 단계;
    상기 음성 디코더 유닛이 상기 복호화 및 필터링된 데이터를 상기 버퍼의 지정된 채널로 전송하는 단계; 및
    상기 음성 디코더 유닛이 상기 전송된 데이터를 믹싱 및 컨버팅을 통해 음성으로 출력하는 단계를 포함하는 시분할 방식을 이용한 특성 직접 메모리 액세스 기반의 멀티채널 음성 디코딩 방법.
  6. 제4항에 있어서, 상기 특성 직접 메모리 액세스 컨트롤러는 상기 메모리 유닛의 각 채널에 저장된 데이터들을 순차적으로 읽어 상기 음성 디코더로 전송하는 과정을 반복 수행하는 것을 특징으로 하는 시분할 방식을 이용한 특성 직접 메모리 액세스 기반의 멀티채널 음성 디코딩 방법.
  7. 중앙처리유닛, 음성 디코더 유닛 및 적어도 2개의 채널을 갖는 메모리 유닛을 갖는 음성 디코딩 장치를 이용하는 멀티채널 음성 디코딩 방법에 있어서,
    상기 메모리 유닛의 각 채널에 저장된 데이터를 시분할 방식으로 상기 음성 디코더 유닛으로 각각 전송하는 단계를 포함하는 것을 특징으로 하는 시분할 방식을 이용한 특성 직접 메모리 액세스 기반의 멀티채널 음성 디코딩 방법.
KR1020070048016A 2007-05-17 2007-05-17 시분할 방식을 이용한 특성 직접 메모리 액세스 기반의멀티채널 음성 디코딩 장치 및 이를 이용한 멀티채널 음성디코딩 방법 KR100919476B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070048016A KR100919476B1 (ko) 2007-05-17 2007-05-17 시분할 방식을 이용한 특성 직접 메모리 액세스 기반의멀티채널 음성 디코딩 장치 및 이를 이용한 멀티채널 음성디코딩 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070048016A KR100919476B1 (ko) 2007-05-17 2007-05-17 시분할 방식을 이용한 특성 직접 메모리 액세스 기반의멀티채널 음성 디코딩 장치 및 이를 이용한 멀티채널 음성디코딩 방법

Publications (2)

Publication Number Publication Date
KR20080101366A true KR20080101366A (ko) 2008-11-21
KR100919476B1 KR100919476B1 (ko) 2009-09-28

Family

ID=40287632

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070048016A KR100919476B1 (ko) 2007-05-17 2007-05-17 시분할 방식을 이용한 특성 직접 메모리 액세스 기반의멀티채널 음성 디코딩 장치 및 이를 이용한 멀티채널 음성디코딩 방법

Country Status (1)

Country Link
KR (1) KR100919476B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200140043A (ko) * 2019-06-05 2020-12-15 백민호 실시간 통번역을 위한 다중데이터 전송장치 및 이를 이용한 전송방법

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57204959A (en) * 1981-06-11 1982-12-15 Mitsubishi Electric Corp Sequence controller due to microprocessor
KR100209881B1 (ko) * 1995-10-30 1999-07-15 윤종용 고속 가변장 복호기의 메모리제어장치
KR100287366B1 (ko) * 1997-11-24 2001-04-16 윤순조 엠피이지 방식을 이용한 휴대용 음향 재생장치 및 방법
US6704846B1 (en) * 1998-06-26 2004-03-09 Lsi Logic Corporation Dynamic memory arbitration in an MPEG-2 decoding System

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200140043A (ko) * 2019-06-05 2020-12-15 백민호 실시간 통번역을 위한 다중데이터 전송장치 및 이를 이용한 전송방법

Also Published As

Publication number Publication date
KR100919476B1 (ko) 2009-09-28

Similar Documents

Publication Publication Date Title
TW200635230A (en) A digital frequency synthesiser and a method for producing a frequency sweep
JP2006331624A (ja) デジタルオーディオ再生装置及びこれを利用したデジタルオーディオ再生方法
US10020018B2 (en) DSD decoder and audio system
WO2000016589A1 (en) Two line variable word length serial interface
US20100263519A1 (en) Set top box
KR100919476B1 (ko) 시분할 방식을 이용한 특성 직접 메모리 액세스 기반의멀티채널 음성 디코딩 장치 및 이를 이용한 멀티채널 음성디코딩 방법
WO2005078731A1 (ja) 半導体メモリ
US6502071B1 (en) Comfort noise generation in a radio receiver, using stored, previously-decoded noise after deactivating decoder during no-speech periods
JP5515718B2 (ja) 無線通信装置及び無線通信方法
CN103533672A (zh) 一种无线卡拉ok系统及其内部数据交互方法
JP3486718B2 (ja) シングルチップマイクロコンピュータ
US7003024B2 (en) Semiconductor device
KR100722930B1 (ko) 디엠에이를 이용한 오디오 혼합 재생 장치 및 방법
JP2000099195A (ja) タイマ装置
CA2408802C (en) Generating separate analog audio programs from a digital link
JP2003121506A (ja) 電子機器テスト回路
US10528517B1 (en) Systems and methods for power conservation in a SOUNDWIRE audio bus through pattern recognition
JPH11289590A (ja) オーディオデータ処理装置
JPH1097259A (ja) 楽音発生装置
RU2138917C1 (ru) Устройство для синтеза множественных данных импульсно-кодовой модуляции
JP4656373B2 (ja) 記憶装置
KR100874439B1 (ko) 마이크로 컨트롤러를 기반으로 한 음성 디코딩 장치 및이를 이용한 음성 디코딩 방법
JP2004226968A (ja) 音声合成装置及び方法
KR100540982B1 (ko) 휴대용 wma 복호화 장치
JP2006314091A (ja) 切換制御回路及びそれを用いた無線通信装置

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

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20130916

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20140829

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20150710

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20160801

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20180831

Year of fee payment: 10