본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나 의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
이하, 본 발명의 실시예에 대해 관련 도면들을 참조하여 상세히 설명하기로 한다. 또한, 본 명세서에서는 멀티미디어 프로세서 칩이 탑재된 이동 통신 단말기를 중심으로 설명하지만, 본 발명이 이동 통신 단말기에 제한되지 않고, 멀티미디어 칩이 탑재될 수 있는 모든 디지털 처리 장치에 적용될 수 있음은 자명하다.
도 1은 일반적인 멀티미디어 프로세서 칩의 구성을 예시한 도면이고, 도 2는 종래 기술에 따른 입출력 버퍼부의 구성을 예시한 도면이다.
도 1을 참조하면, 이동 통신 단말기에 탑재되는 멀티미디어 프로세서 칩(110)은 호스트 인터페이스(120), 버퍼 메모리(122), SDRAM 컨트롤러(124), 비디오 코딩부(128), 오디오 인터페이스(130), 제어부(132), 입출력 버퍼부(140) 및 통신부(145)를 포함할 수 있다.
호스트 인터페이스(120)는 이동 통신 시스템에 탑재된 메인 프로세서 칩(도 시되지 않음)과의 통신 기능을 수행한다. 이동 통신 단말기에는 복수의 프로세서 칩이 탑재됨이 일반적이다. 이는 이동 통신 단말기가 전화 기능 및 이동 통신 단말기의 전반적인 제어를 수행하는 메인 프로세서 칩뿐 아니라 멀티미디어 데이터 재생, 네비게이션 기능 등의 부가 기능을 수행하기 위한 부가 프로세서 칩들이 더 탑재될 필요가 있기 때문이다. 여기서, 멀티미디어 프로세서 칩은 멀티미디어 데이터의 재생/출력을 위한 처리 또는 마이크를 통해 입력되는 오디오 신호를 처리하기 위한 일종의 부가 프로세서 칩일 수 있다.
버퍼 메모리(122)는 멀티미디어 프로세서 칩(110) 내에서 처리될 데이터가 임시로 저장되는 저장 공간이다.
SDRAM 컨트롤러(124)는 멀티미디어 프로세서 칩(110)에 결합된 SDRAM(126)을 제어하기 위한 구성 요소이다. SDRAM(126)은 멀티미디어 프로세서 칩(110)이 처리한 데이터를 저장하거나, 멀티미디어 프로세서 칩(110)이 처리할 데이터가 저장되는 저장 공간이다. 멀티미디어 프로세서 칩(110)에 결합되는 저장 공간이 SDRAM으로 제한되지 않음은 당업자에게 자명하다.
비디오 코딩부(128)는 표시 장치(예를 들어, 액정 화면 등)를 통해 출력될 비디오 데이터를 디코딩 처리하여 출력하거나, 입력 장치(예를 들어, 이미지 센서 등을 통해 입력된 이미지 데이터 등)를 인코딩 처리하여 SDRAM(126)에 저장되도록 하는 등의 이미지 처리를 수행하는 구성 요소이다.
오디오 인터페이스(130)는 오디오 신호를 오디오 변환부(150)로 전달하여 스피커(155)를 통해 출력되도록 하거나, 마이크(160)를 통해 입력된 오디오 신호를 오디오 변환부(150)로부터 전달받는 인터페이스 수단이다. 오디오 인터페이스(130)는 오디오 신호를 디코딩 처리하여 오디오 변환부(150)로 출력하고, 오디오 변환부(150)로부터 입력된 오디오 신호를 인코딩 처리하는 등의 오디오 처리 기능을 포함할 수 있다. 물론, 상술한 오디오 처리 기능은 제어부(132)에 의해 수행될 수도 있을 것이다.
오디오 변환부(150)는 오디오 인터페이스(130)로부터 제공받은 오디오 신호를 아날로그 신호로 변환하여 스피커(155)를 통해 출력되도록 하고, 마이크(160)로부터 입력받은 오디오 신호를 디지털 신호로 변환하여 오디오 인터페이스(130)로 전달한다.
제어부(132)는 멀티미디어 프로세서 칩(110)에 포함된 각 구성 요소가 지정된 기능을 수행할 수 있도록 직접적 또는 간접적으로 제어한다. 제어부(132)는 예를 들어, CPU 프로세서일 수 있다. 제어부(132)는 오디오 신호의 인코딩/디코딩 등의 오디오 처리 기능을 수행할 수도 있다.
입출력 버퍼부(140)는 오디오 변환부(150)로부터 입력되는 오디오 신호를 오디오 인터페이스(130)로 전달하거나, 오디오 인터페이스(130)로부터 입력되는 오디오 신호를 오디오 변환부(150)로 전달한다.
종래 기술에 따른 입출력 버퍼부(140)의 세부 구성이 도 2에 예시되어 있다.
도 2를 참조하면, 입출력 버퍼부(140)는 출력 버퍼(210), 입력 버퍼(215), 먹스(MUX, Multiplexer)(220)를 포함한다.
출력 버퍼(210)는 오디오 인터페이스(130)로부터 입력되는 오디오 신호(즉, 제어부(132) 또는 오디오 인터페이스(130)에 의해 디코딩된 오디오 신호)를 일시적으로 저장하였다가 출력하는 저장 매체이고, 입력 버퍼(215)는 오디오 변환부(150)로부터 입력되는 오디오 신호를 일시적으로 저장하였다가 출력하는 저장 매체이다. 입력 버퍼(215)에 필요한 만큼의 데이터가 축적되면, 축적된 데이터는 오디오 인터페이스(130)로 전달되고(또는 버퍼 메모리(122)에 저장되고), 오디오 인터페이스(130)의 통지에 의해 이를 인식한 제어부(132)는 필요한 동작을 수행하게 된다. 오디오 인터페이스(130)가 오디오 신호 처리 기능을 구비한 경우라면 필요한 동작은 오디오 인터페이스(130)에 의해 수행될 수도 있다.
먹스(220)는 오디오 인터페이스(130)의 제어에 의해 데이터 전달 경로를 형성한다. 예를 들어, 출력 버퍼(210)로부터 오디오 신호가 입력되고 또한 오디오 변환부(150)로부터도 오디오 신호가 입력되는 경우, 오디오 인터페이스(130)의 제어에 의해 하나의 오디오 신호만 수신단으로 전달되도록 한다. 제어부(132)는 이동 통신 단말기의 현재 처리 동작이 무엇인지를 알 수 있기 때문에 먹스(220)가 어떤 오디오 신호를 수신단으로 전달해야 하는지 알 수 있으며, 이를 참조하여 오디오 인터페이스(130)가 먹스를 제어하도록 한다. 예를 들어, 이동 통신 단말기가 현재 MP3 데이터 재생 기능을 수행하는 도중이라면 먹스(220)는 출력 버퍼(210)에 기록된 데이터를 오디오 변환부(150)로 전달하도록 제어될 것이다.
통신부(145)는 1개의 포트를 통해 오디오 변환부(150)로 직렬(serial) 방식으로 오디오 신호를 송수신한다.
상술한 바와 같이, 종래 기술에 따른 멀티미디어 프로세서 칩은 2개 이상의 오디오 신호를 혼합(mix)할 수 없고, 오디오 변환부(150)와 하나의 포트만으로 결합되어 있어 오디오 신호의 출력과 녹음을 동시에 수행할 수 없는 구조적 제한을 가지고 있다.
도 3은 본 발명의 일 실시예에 따른 입출력 버퍼부의 구성을 나타낸 도면이다. 입출력 버퍼부(140)의 내부 구성을 제외한 멀티미디어 프로세서 칩(110)은 앞서 설명한 도 1과 동일하게 구현될 수 있으므로 이에 대한 설명은 생략한다.
도 3을 참조하면, 입출력 버퍼부(140)는 제1 리샘플러(Re-sampler, 310), 제2 리샘플러(315), 제3 리샘플러(320), 제1 출력 버퍼(330), 제2 출력 버퍼(335), 입력 버퍼(340) 및 믹서(mixer, 345)를 포함할 수 있다.
오디오 신호는 기본적으로 아날로그 신호를 디지털 신호로 변환할 때 정해진 샘플링 주파수로 샘플링을 하게 되어 있어 원래의 샘플링 주파수가 아닌 다른 주파수로 재생을 하게 되면, 원음과 다르게 들리고 속도 또한 다르게 재생이 된다. 즉, 샘플 레이트(sample rate)는 아날로그 신호를 디지털 신호로 변환할 때 1초 동안 나타낼 수 있는 음의 샘플링 비율 단위이며, 수치가 높을 수록 원음에 가깝다.
제1 리샘플러(310)와 제2 리샘플러(315)는 혼합하고자 하는 두 개의 오디오 신호의 샘플 레이트(sample rate)를 동일하게 맞추도록 하는 기능을 수행한다.
제1 출력 버퍼(330)는 제1 리샘플러(310)에 의해 리샘플링된 데이터를 입력받아 일시적으로 축적한 후 믹서(345)로 출력한다. 제2 출력 버퍼(335)는 제2 리샘 플러(315)에 의해 리샘플링된 데이터를 입력받아 일시적으로 축적한 후 믹서(345)로 출력한다.
물론, 제1 리샘플러(310)와 제1 출력 버퍼(330), 제2 리샘플러(315)와 제2 출력 버퍼(335)가 모든 경우에 각각 동작되는 것은 아닐 수 있다. 즉, 둘 이상의 오디오 신호가 믹싱되어 출력될 필요가 없다면 제1 리샘플러(310)와 제1 출력 버퍼(330), 제2 리샘플러(315)와 제2 출력 버퍼(335) 중 하나의 출력 경로만이 이용될 수도 있다. 또한, 셋 이상의 오디오 신호가 믹싱될 필요가 있는 경우라면 제3 리샘플러(도시되지 않음)와 제3 출력 버퍼(도시되지 않음) 등이 더 부가될 수도 있음은 자명하다.
이하, 멀티미디어 프로세서 칩(110)이 둘 이상의 오디오 신호를 통신부(145)로 출력하는 과정을 예를 들어 간략히 설명한다. 예를 들어, 제어부(132)가 샘플 레이트 64를 가지는 오디오 신호를 디코딩하여 버퍼 메모리(122)에 저장하고, 또한 32fs에 해당하는 오디오 신호도 디코딩하여 버퍼 메모리(122)에 저장한다. 이후 제어부(132)는 오디오 인터페이스(130)를 제어하여, 오디오 인터페이스(130)가 각 오디오 신호(즉, 오디오 데이터)를 독출하여 각각 제1 리샘플러(310)와 제2 리샘플러(315)에 전달하여 모두 64fs로 리샘플링되도록 하고, 리샘플링된 오디오 신호들이 각각 상응하는 출력 버퍼로 입력되어 믹서(345)로 출력되며, 믹서(345)가 입력된 각 오디오 신호를 믹싱하여 통신부(145)로 출력한다.
즉, 제어부(132)는 두 개의 오디오 신호를 시간차를 두어 각각 디코딩 한 후, 디코딩된 오디오 신호들이 각 출력 버퍼에 축적되도록 한 후, 출력 버퍼에서 축적된 오디오 데이터를 동일한 시간에 각각 출력되도록 할 수 있다.
이를 위해 제어부(132) 또는 오디오 인터페이스(130)가 각 출력 버퍼에 출력할 데이터들이 모두 축적되었는지를 인식한 후, 각 출력 버퍼에 데이터 출력을 지시하거나 믹서(345)로 데이터 독출을 개시하도록 지시할 수 있을 것이다. 또는, 각 출력 버퍼가 데이터 축적이 완료되면 데이터를 출력하도록 지정되었다면, 오디오 신호의 믹싱 처리가 필요함을 감지(예를 들어, 제어부(132) 또는 오디오 인터페이스(130)로부터 전송된 제어 신호에 의해 감지될 수 있음)한 믹서가 모든 출력 버퍼로부터 데이터가 입력되는 시점에서 믹싱 처리를 개시할 수도 있을 것이다.
이때, 각 출력 버퍼에 축적된 데이터는 선입선출(FIFO) 방식으로 출력될 수 있으며, 각 출력 버퍼에서 출력되는 데이터 양은 매 시간당 동일하게 제한될 수 있을 것이다.
입력 버퍼(340)는 통신부(145)를 통해 입력되는 오디오 신호를 입력받아 일시적으로 축적한 후 제3 리샘플러(320)로 출력한다.
제3 리샘플러(320)는 입력된 오디오 신호를 지정된 샘플 레이트(sample rate)로 변환하는 기능을 수행한다. 여기서, 제1 리샘플러(310), 제2 리샘플러(315) 및 제3 리샘플러(320)에 지정된 샘플 레이트는 각각 일치하거나 필요에 따라 상이하도록 지정될 수 있다.
예를 들어, 마이크(160)로부터 입력되는 오디오 신호를 제어부(132)에 의해 디코딩된 오디오 신호와 혼합하여 녹음(recording) 처리하는 경우라면 각 샘플 레이트는 동일하게 지정될 수도 있을 것이다.
또한, 마이크(160)로부터 입력되는 오디오 신호를 제어부(132)에 의해 디코딩된 오디오 신호와 혼합하여 녹음할 때, 제어부(132)에 의해 디코딩된 오디오 신호의 샘플 레이트를 달리 적용함으로써 동일한 음원을 배경 음악으로 활용할 때 다양한 효과가 구현되도록 할 수도 있을 것이다.
상술한 바와 같이, 믹서(345)에 의해 믹싱되는 소스 데이터들로서의 둘 이상의 오디오 신호들은 이동통신 단말기에 미리 저장된 데이터들일 수도 있고, 마이크(160)로부터 실시간 입력되는 오디오 신호와 미리 저장된 데이터가 함께 이용될 수도 있을 것이다. 후자의 경우 실시간 입력되어 입력 버퍼를 통해 출력되는 오디오 신호가 다시 출력 버퍼를 통해 믹서(345)로 제공되도록 할 수 있을 것이다.
마찬가지로, 입력 버퍼가 둘 이상으로 구비되는 경우 상이한 소스 오디오 데이터들(예를 들어, 사용자 음성과 음향 기기의 출력 등)만을 이용하여 오디오 믹싱이 수행될 수도 있고, 실시간 입력되는 다양한 소스 오디오 신호들과 미리 저장된 데이터들이 함께 이용되어 오디오 믹싱이 수행될 수도 있다.
도 4는 본 발명의 다른 실시예에 따른 멀티미디어 프로세서 칩의 구성을 예시한 도면이고, 도 5는 본 발명의 다른 실시예에 따른 입출력 버퍼 및 통신부의 구성을 예시한 도면이며, 도 6은 본 발명의 또 다른 실시예에 따른 입출력 버퍼 및 통신부의 구성을 예시한 도면이다.
도 4를 참조하면, 이동 통신 단말기에 탑재되는 멀티미디어 프로세서 칩(110)은 호스트 인터페이스(120), 버퍼 메모리(122), SDRAM 컨트롤러(124), 비디 오 코딩부(128), 오디오 인터페이스(130), 제어부(132), 입출력 버퍼 및 통신부(410)를 포함할 수 있다.
도 4에 도시된 대부분의 구성요소에 대한 설명은 앞서 도 1을 참조하여 설명한 바와 동일하므로 이에 대한 설명을 생략하기로 하고, 입출력 버퍼 및 통신부(410)에 대해서만 도 5 및 도 6을 참조하여 설명하기로 한다.
먼저, 도 5를 참조하면, 입출력 버퍼 및 통신부(410)는 제1 리샘플러(510), 제2 리샘플러(515), 출력 버퍼(520), 입력 버퍼(525), 제1 통신부(530), 제2 통신부(535)를 포함한다.
제1 리샘플러(510)는 오디오 변환부(150)로 출력될 오디오 신호를 지정된 샘플 레이트로 변환하여 출력한다. 제1 리샘플러(510)에 의해 변환된 오디오 신호는 출력 버퍼(520)에 일시적으로 저장된 후 제1 통신부(530)를 통해 오디오 변환부(150)로 입력된다. 제1 통신부(530)는 직렬 통신 방식으로 오디오 신호를 오디오 변환부(150)로 전달한다.
입력 버퍼(525)는 제2 통신부(535)를 통해 오디오 변환부(150)로부터 입력되는 오디오 신호를 일시적으로 저장한 후 제2 리샘플러(515)로 출력한다. 제2 리샘플러(515)는 입력 버퍼(525)로부터 입력되는 오디오 신호를 미리 지정된 샘플 레이트로 변환하여 오디오 인터페이스(130)로 입력한다.
상술한 바와 같이 입출력 버퍼 및 통신부(410)와 오디오 변환부(150)는 입력 라인과 출력 라인이 독립적으로 구현된 2개의 채널에 의해 결합된다. 이를 통해 오디오 변환부(150)가 입력과 출력에 대한 샘플 레이트를 별도로 가지는 경우 최대 의 효과를 낼 수 있게 된다. 즉, 샘플 레이트 64fs를 가지는 오디오 신호를 출력함과 동시에 샘플 레이트 32fs를 가지는 오디오 신호를 입력으로 받을 수 있기 때문에 직렬 포트(serial port)가 하나인 경우보다 어플리케이션에서의 응용이 용이해질 수 있다.
다음으로, 도 6을 참조하면 입출력 버퍼 및 통신부(410)는 제1 리샘플러(310), 제2 리샘플러(315), 제3 리샘플러(320), 제1 출력 버퍼(330), 제2 출력 버퍼(335), 입력 버퍼(340), 제1 통신부(530), 제2 통신부(535)를 포함한다.
즉, 도 6의 실시예는 앞서 설명한 도 4의 실시예와 같이 복수의 리샘플러, 복수의 출력 버퍼 및 믹서를 구비하여 복수의 오디오 신호에 대한 믹싱을 용이하게 할 수 있을 뿐 아니라 믹싱을 위한 오디오 신호들의 샘플 레이트 변환도 용이한 장점을 가진다.
또한, 입출력 버퍼 및 통신부(410)와 오디오 변환부(150)는 입력 라인과 출력 라인이 독립적으로 구현된 2개의 채널에 의해 결합됨으로써 샘플 레이트를 달리하는 오디오 신호들 각각에 대한 입출력이 용이한 장점을 가진다.
한편, 상술한 오디오 신호 처리 방법은 컴퓨터 프로그램으로 작성 가능하다. 상기 프로그램을 구성하는 코드들 및 코드 세그먼트들은 당해 분야의 컴퓨터 프로그래머에 의하여 용이하게 추론될 수 있다. 또한, 상기 프로그램은 컴퓨터가 읽을 수 있는 정보저장매체(computer readable media)에 저장되고, 컴퓨터에 의하여 읽혀지고 실행됨으로써 오디오 신호 처리 방법을 구현한다. 상기 정보저장매체는 자기 기록매체, 광 기록매체, 및 캐리어 웨이브 매체를 포함한다.
상기에서는 본 발명의 실시예를 참조하여 설명하였지만, 해당 기술 분야에서 통상의 지식을 가진 자라면 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.