KR20110110434A - 저전력 오디오 재생장치 및 방법 - Google Patents

저전력 오디오 재생장치 및 방법 Download PDF

Info

Publication number
KR20110110434A
KR20110110434A KR1020100029747A KR20100029747A KR20110110434A KR 20110110434 A KR20110110434 A KR 20110110434A KR 1020100029747 A KR1020100029747 A KR 1020100029747A KR 20100029747 A KR20100029747 A KR 20100029747A KR 20110110434 A KR20110110434 A KR 20110110434A
Authority
KR
South Korea
Prior art keywords
audio
data
buffered
output unit
buffered data
Prior art date
Application number
KR1020100029747A
Other languages
English (en)
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 KR1020100029747A priority Critical patent/KR20110110434A/ko
Priority to US13/075,459 priority patent/US20110245946A1/en
Publication of KR20110110434A publication Critical patent/KR20110110434A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode

Abstract

본 발명의 저전력 오디오 재생장치는 사용자로부터 요청된 오디오 데이터를 디코딩하고, 디코딩 결과를 버퍼링하는 오디오 처리부, 그리고 상기 오디오 처리부에 버퍼링된 데이터가 일정량 이상이 되면 상기 버퍼링된 데이터를 재생하는 오디오 출력부를 포함하며, 상기 버퍼링된 데이터가 재생되는 동안 상기 오디오 출력부 이외로의 전원 공급이 차단될 수 있다.

Description

저전력 오디오 재생장치 및 방법{LOW POWER AUDIO PLAY DEVICE AND MEHOD}
본 발명은 데이터 재생장치에 관한 것으로, 좀 더 구체적으로는 저전력 오디오 재생장치 및 방법 에 관한 것이다.
디지털 멀티미디어 관련 기술의 발전에 힘입어, 디지털화된 음향을 재생하는 오디오 재생장치들이 널리 보급되고 있다. 오디오 재생장치로는 CD(Compact Disk) 플레이어, DVD(Digital Versatile Disk) 오디오 플레이어, MD(Mini Disk) 플레이어, MP3 플레이어 등이 있다.
오디오 재생장치는 주 저장장치로 플래시 메모리가 사용되는 플래시 메모리 타입과, 주 저장장치로 하드 디스크가 사용되는 하드 디스크 타입으로 구분될 수 있다. 플래시 메모리 타입은 작고 빠르며 충격에 강하지만 값이 비싸다. 반면에 하드 디스크 타입은 용량에 비해 값이 싸다는 이점을 갖고 있으나, 부피가 크고 플래시 메모리 타입에 비해 작동 속도가 상대적으로 느린 단점을 가지고 있다. 최근에는 플래시 메모리 기술의 집적도가 높아지고 그 값이 저렴해짐에 따라, 플래시 메모리 타입의 오디오 재생장치가 강세를 보이고 있다.
오디오 재생장치는 초기에는 MP3(MPEG Audio Layer-3) 화일 포맷만을 지원하였지만, 현재는 WMA(Windows Media Audio), OGG, FLAC(Free Lossless Audio Codec), AAC(Advanced Audio Coding), WAV(Waveform Audio File Format) 등의 화일 포맷들을 지원할 수 있다. 이와 동시에 오디오 재생장치는 여러 가지 부가 기능들을 갖춘 종합 음향기기로 발전하고 있다. 예를 들면, 오디오 재생장치는 디지털 방송 수신기, 이동통신 단말기 등에 탑재되어, 해당 기기의 고유 기능(예를 들면, 디지털 방송 수신 기능, 이동통신 기능 등) 이외에 오디오 재생 기능을 부가적으로 제공하고 있다.
특히, 이동통신 단말기 등과 같은 휴대용 전자 장치들에 오디오 재생장치의 채택이 보편화됨에 따라, 오디오 재생장치에서 오디오 데이터를 재생할 때 전력소모를 최소화할 수 있는 방안이 절실히 요구되고 있다.
본 발명의 목적은 오디오 데이터의 재생시 전력소모를 최소화할 수 있는 저전력 오디오 재생장치 및 방법을 제공하는 데 있다.
본 발명의 다른 목적은 어플리케이션 플랫폼(application platform)에 영향을 받지 않고(즉, 어플리케이션 플랫폼에 의존하지 않고) 오디오 재생장치의 전원을 자체적으로 제어할 수 있는 저전력 오디오 재생장치 및 방법을 제공하는 데 있다.
상기의 과제를 이루기 위하여 본 발명에 의한 저전력 오디오 재생장치는, 사용자로부터 요청된 오디오 데이터를 디코딩하고, 디코딩 결과를 버퍼링하는 오디오 처리부; 그리고 상기 오디오 처리부에 버퍼링된 데이터가 일정량 이상이 되면, 상기 버퍼링된 데이터를 재생하는 오디오 출력부를 포함하며, 상기 버퍼링된 데이터가 재생되는 동안 상기 오디오 출력부 이외로의 전원 공급이 차단 될 수 있다.
일 실시예에 있어서, 상기 오디오 처리부는 소정 주기마다 노티피케이션 신호를 발생하여, 상기 요청된 오디오 데이터와 상기 오디오 출력부를 통해 재생되는 오디오 데이터의 동기를 맞출 수 있다.
일 실시예에 있어서, 상기 오디오 처리부는 오디오 데이터를 저장하는 주 저장부; 상기 사용자로부터 요청된 오디오 데이터를 상기 주 저장부로부터 받아들여 디코딩하는 중앙처리장치; 그리고 상기 중앙처리장치의 제어에 따라서 상기 디코딩 결과를 버퍼링하고, 상기 버퍼링된 데이터가 일정량 이상이 되면 상기 버퍼링된 데이터를 상기 오디오 출력부로 제공하는 버퍼를 포함하며, 상기 버퍼링된 데이터가 상기 버퍼로부터 상기 오디오 출력부로 제공되면 상기 오디오 처리부로 공급되는 전원이 차단 될 수 있다.
일 실시예에 있어서, 상기 오디오 처리부는, 상기 중앙처리장치를 거치지 않고 상기 버퍼에 버퍼링된 데이터가 상기 오디오 출력부로 제공되도록 제어하는 DMA 컨트롤러를 더 포함 할 수 있다.
일 실시예에 있어서, 상기 중앙처리부는 상기 버퍼링된 데이터가 노말 오디오 모드 및 저전력 오디오 모드 중 어느 하나의 동작 모드에 따라서 재생되도록 제어하는 구동 드라이버; 그리고 상기 저전력 오디오 모드에서 상기 버퍼링된 데이터가 재생되는 동안, 상기 구동 드라이버의 제어에 따라서 상기 오디오 재생과 관련이 없는 하드웨어의 전원 공급을 차단하는 전원 관리부를 포함 할 수 있다.
일 실시예에 있어서, 상기 구동 드라이버는 상기 사용자로부터 요청된 오디오 데이터를 상기 구동 드라이버 상위의 소프트웨어 계층으로부터 수신하는 데이터 수신부; 상기 소프트웨어 계층으로부터 제공된 상기 오디오 데이터를 일정량 이상 버퍼링한 후 상기 버퍼링된 데이터를 상기 오디오 출력부로 제공하는 렌더링 제어부; 상기 버퍼링된 데이터가 상기 오디오 출력부를 통해 재생되는 동안, 소정 주기마다 상기 노티피케이션 신호를 상기 소프트웨어 계층으로 발생하는 알림 제어부; 그리고 상기 동작 모드에 따라서 상기 전원 관리부의 전원 공급 동작을 제어하는 저전력 오디오 제어부를 포함 할 수 있다.
일 실시예에 있어서, 상기 알림 제어부는 상기 버퍼에 버퍼링된 데이터를 분석하고, 분석 결과를 근거로 하여 타이머의 설정 값을 변경 할 수 있다.
일 실시예에 있어서, 상기 버퍼는 순환 버퍼를 포함 할 수 있다.
일 실시예에 있어서, 상기 오디오 출력부는 상기 버퍼로부터 상기 버퍼링된 데이터를 받아들여 저장하는 출력 데이터 저장부를 포함 할 수 있다.
일 실시예에 있어서, 상기 출력 데이터 저장부에 저장된 데이터의 잔여 용량이 기준 값 이하가 되면, 상기 오디오 처리부로 전원이 재 공급 될 수 있다.
일 실시예에 있어서, 상기 출력 데이터 저장부에 저장된 데이터의 잔여 용량이 기준 값 이하가 되면, 상기 버퍼에 버퍼링된 데이터가 상기 출력 데이터 저장부로 추가적으로 제공 될 수 있다.
일 실시예에 있어서, 상기 버퍼링된 데이터가 상기 버퍼로부터 상기 출력 데이터 저장부로 추가적으로 제공되고 나면, 상기 오디오 처리부로 제공되는 전원이 차단될 수 있다.
상기의 과제를 이루기 위하여 본 발명에 의한 저전력 오디오 재생방법은, 사용자로부터 요청된 오디오 데이터를 디코딩하는 단계; 디코딩된 오디오 데이터를 버퍼링하는 단계; 버퍼링된 데이터가 일정량 이상이 되면 상기 버퍼링된 데이터를 재생하는 단계; 그리고 상기 버퍼링된 데이터가 재생되는 동안 오디오 재생장치에 구비된 복수의 하드웨어 영역들 중 상기 재생 동작과 무관한 하드웨어 영역의 전원 공급을 차단하는 단계를 포함 할 수 있다.
일 실시예에 있어서, 상기 버퍼링된 데이터를 분석하여 타이머의 설정 값을 변경하는 단계; 그리고 상기 버퍼링된 데이터가 재생되는 동안 상기 타이머를 통해 소정 주기마다 노티피케이션 신호를 소프트웨어 계층으로 발생하는 단계를 더 포함 할 수 있다.
일 실시예에 있어서, 상기 하드웨어의 전원 공급을 차단하는 단계는, 상기 어플리케이션 하위의 드라이버 계층의 제어에 의해 수행 될 수 있다.
일 실시예에 있어서, 상기 버퍼링된 데이터를 재생하는 단계는 상기 버퍼링된 데이터가 일정량 이상이 되면 상기 버퍼링된 데이터를 오디오 출력부에 저장하는 단계; 그리고 상기 오디오 출력부에 저장된 데이터를 재생하는 단계를 포함하며, 상기 버퍼링된 데이터가 재생되는 동안 상기 오디오 출력부 이외로의 전원 공급이 차단될 수 있다.
일 실시예에 있어서, 상기 출력 데이터 저장부에 저장된 데이터의 잔여 용량이 기준 값 이하가 되면, 상기 전원 공급이 차단되었던 상기 하드웨어로 전원이 재 공급되는 단계; 그리고 상기 버퍼링된 데이터를 상기 오디오 출력부로 추가적으로 제공하는 단계를 더 포함 할 수 있다.
일 실시예에 있어서, 상기 버퍼링된 데이터가 상기 버퍼로부터 상기 오디오 출력부로 추가적으로 제공되고 나면, 상기 하드웨어의 전원 공급을 다시 차단하는 단계를 포함 할 수 있다.
상기의 과제를 이루기 위하여 본 발명에 의한 저전력 오디오 재생방법은, 사용자의 요청에 의해 소프트웨어 계층을 통해 발생된 리퀘스트에 응답해서 오디오 데이터를 디코딩하는 단계; 디코딩 결과를 순환 버퍼에 버퍼링하는 단계; 상기 순환 버퍼에 버퍼링된 데이터가 일정량 이상 되면 상기 버퍼링된 데이터를 오디오 출력부에 저장하는 단계; 상기 오디오 출력부에 저장된 데이터에 대한 렌더링 동작이 완료되었음을 나타내는 노티피케이션 신호를 오디오 미들웨어 계층 및 상기 소프트웨어 계층으로 통지하는 단계; 상기 오디오 출력부 이외의 하드웨어에 대한 전원 공급이 차단되는 단계; 그리고 상기 오디오 출력부에 저장된 데이터를 재생하는 단계를 포함 할 수 있다.
일 실시예에 있어서, 상기 버퍼링된 데이터를 분석하여 타이머의 설정 값을 변경하는 단계; 그리고 상기 버퍼링된 데이터가 재생되는 동안 상기 타이머를 통해 소정 주기마다 상기 노티피케이션 신호를 상기 오디오 미들웨어 계층 및 상기 소프트웨어 계층으로 발생하는 단계를 더 포함할 수 있다.
본 발명에 따르면, 일정량 이상의 오디오 데이터가 버퍼링된 후 상기 버퍼링된 오디오 데이터의 재생과 직접적인 관련이 없는 하드웨어들의 전원을 오프시킬 수 있다. 따라서, 오디오 재생장치의 전력 소모가 최소화될 수 있다.
이러한 본 발명의 전원 관리 방법은 어플리케이션 플랫폼에 영향을 받지 않고 오디오 재생장치의 전원을 자체적으로 제어할 수 있다. 따라서, 기존의 오디오 재생장치의 하드웨어의 변경 없이도 오디오 재생장치의 저전력화가 용이하게 달성될 수 있다.
도 1은 본 발명에 따른 저전력 오디오 재생장치의 구성을 예시적으로 보여주는 도면이다.
도 2는 본 발명에 따른 저전력 오디오 재생장치의 오디오 재생 동작을 설명하기 위한 도면이다.
도 3은 도 1 및 도 2에 도시된 순환 버퍼와 SRAM의 구조를 예시적으로 보여주는 도면이다.
도 4는 본 발명에 따른 저전력 구동 소프트웨어의 계층 구조를 보여주는 도면이다.
도 5는 도 4에 도시된 I2S 드라이버의 상세 구성을 예시적으로 보여주는 도면이다.
도 6은 본 발명에 따른 타이머의 Notification 신호 발생 동작을 설명하기 위한 도면이다.
도 7은 본 발명에 따른 저전력 오디오 재생장치의 저전력 구동 방법을 보여주는 흐름도이다.
도 8은 도 7에 도시된 S1300 단계에서 순환 버퍼에 오디오 데이터를 버퍼링하는 방법을 설명하기 위한 도면이다.
도 9는 도 7에 도시된 S1400 단계에서 순환 버퍼로부터 I2S 장치로의 오디오 데이터의 전송 방법을 설명하기 위한 도면이다.
본 발명의 예시적인 실시예들이 참조 도면들에 의거하여 이하 상세히 설명될 수 있다. 아래에서 설명될 본 발명의 저장 장치의 회로 구성 및 동작은 예를 들어 설명한 것으로, 본 발명의 저장 장치는 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 다양한 변화 및 변경이 가능하다. 예를 들면, 본 발명에서는 반도체 메모리 중에서도 플래시 메모리를 주 저장장치로서 채택한 오디오 재생장치가 예시적으로 설명될 것이다. 그러나, 이는 본 발명이 적용되는 일 예에 불과하며, 본 발명에 따른 저장 장치 및 그것의 데이터 저장 방법은 특정 형태의 오디오 재생장치에만 국한되지 않고, 다양한 형태의 오디오 또는 비디오 재생장치에도 적용될 수 있다.
도 1은 본 발명에 따른 저전력 오디오 재생장치(1000)의 구성을 예시적으로 보여주는 도면이다.
도 1을 참조하면, 본 발명의 저전력 오디오 재생장치(1000)는 오디오 처리부(audio processing unit)(100)와 오디오 출력부(audio output unit)(200)로 구성될 수 있다.
오디오 처리부(100)는 오디오 데이터에 대한 읽기/쓰기/삭제 기능을 수행할 수 있다. 그리고, 오디오 데이터에 대한 압축(compressing) 또는 인코딩(encoding)기능과, 복원(decompressing) 또는 디코딩(decoding) 기능, 그리고 오디오 데이터에 대한 다양한 음향 처리(sound effects) 기능을 수행할 수 있다. 이 외에도 오디오 처리부(100)는 오디오 데이터에 대한 데이터 관리(data management)기능과, 오디오 데이터를 저장하기 위한 저장 매체(예를 들면, 주 저장부, 버퍼 메모리 등)에 대한 데이터 입출력 동작을 제어하는 기능 등을 수행할 수 있다.
오디오 처리부(100)는 사용자에 의해 요청된 오디오 데이터를 디코딩하고, 디코딩된 데이터를 오디오 데이터를 오디오 출력부(200)로 제공할 수 있다. 오디오 출력부(200)에는 스피커, 이어폰, 헤드폰 등과 같은 출력 장치(미 도시됨)가 접속되어, 오디오 출력부(200)로부터 제공되는 오디오 데이터를 재생 또는 출력할 수 있다. 여기서, 오디오 데이터에 대한 디코딩 동작과 사운드 효과 등의 기능은 오디오 처리부(100)에서 모두 처리되고, 오디오 출력부(200)는 단지 오디오 처리부(100)에서 제공된 오디오 데이터를 출력 장치를 통해 재생 또는 출력하는 기능을 수행하도록 구성될 수 있다.
아래에서 상세히 설명되겠지만, 본 발명의 저전력 오디오 재생장치(1000)는 오디오 처리부(100)에서 처리된 오디오 데이터를 그때 그때 즉각적으로 오디오 출력부(200)로 제공하지 않고, 처리된 오디오 데이터를 오디오 처리부(100) 내에 버퍼링한다. 그리고 버퍼링된 오디오 데이터가 일정량 이상이 되면, 버퍼링된 오디오 데이터를 오디오 처리부(100)로부터 오디오 출력부(200)로 제공한다.
이 경우, 재생될 오디오 데이터에 대한 처리는 오디오 처리부(100)에서 이미 완료되었기 때문에, 오디오 데이터가 오디오 출력부(200)를 통해 재생 또는 출력되는 동안 오디오 처리부(100)에서는 아무런 동작도 수행하지 않게 된다. 따라서, 본 발명의 저전력 오디오 재생장치(1000)는 오디오 데이터가 재생 또는 출력되는 동안 오디오 처리부(100)의 전원을 오프시켜, 불필요한 전력 소모를 방지한다. 이 경우, 오디오 재생장치(1000)에서 전원이 공급되는 영역은 오디오 데이터의 재생 또는 출력과 직접적인 관련이 있는 하드웨어(예를 들면, 오디오 출력부(200))에 국한될 수 있다.
이와 같은 구성에 따르면, 오디오 재생장치(1000)의 동작 상태에 따라서 오디오 재생장치(1000)의 하드웨어 영역별로 전원의 공급을 부분적으로 온/오프 할 수 있게 된다. 따라서, 오디오 데이터가 재생되는 동안 오디오 재생장치(1000)의 전력 소모가 최소화될 수 있다.
이러한 본 발명의 전원 관리 방법은 어플리케이션 플랫폼에 영향을 받지 않고(즉, 어플리케이션 플랫폼에 의존하지 않고) 오디오 재생장치(1000)의 전원을 자체적으로 제어 하도록 구성될 수 있다. 그러므로, 기존에 제공되고 있는 오디오 재생장치의 하드웨어의 변경 없이도 오디오 재생장치(1000)의 저전력화가 용이하게 달성될 수 있다.
본 발명에 따른 저전력 오디오 재생장치(1000)의 상세 구성은 다음과 같다.
오디오 처리부(100)는 중앙처리장치(central processing unit, 이하 CPU라 칭함)(110), DMA 컨트롤러(120), 버스(130), 주 저장부(main storage)(140), 버퍼(buffer, 150)를 포함할 수 있다.
CPU(110)는 MCU(microcomputer unit) 또는 MPU(Micro Processor User)로 불리기도 한다. CPU(110)는 버스(130)를 통해 주저장부(140), 버퍼(150), 및 오디오 출력부(200)과 접속되어, 오디오 처리부(100)의 제반 동작을 제어하도록 구성될 수 있다. CPU(110)는 내부에 탑재된 하드웨어 및/또는 소프트웨어적인 구성을 통해 오디오 데이터에 대한 읽기/쓰기/삭제 기능, 오디오 데이터에 대한 압축(compressing) 또는 인코딩(encoding)기능, 압축 또는 인코딩된 오디오 데이터를 원래 상태로 복원(decompressing) 또는 디코딩(decoding)하는 기능, 그리고 오디오 데이터에 대한 다양한 음향 처리(sound effects)를 수행할 수 있다. 또한 CPU(110) 내부에는 오디오 데이터의 재생 동작시 오디오 재생과 직접적인 관련이 없는 하드웨어의 전원을 오프시키도록 제어하는 구성(이하, 저전력 구동 소프트웨어라 칭함)이 탑재될 수 있다.
DMA 컨트롤러(Direct Memory Access controller)(120)는 CPU(110)를 통하지 않고 주 저장부(140)와 버퍼(150) 사이의 오디오 데이터 전송이 수행되도록 제어할 수 있다. 그리고, DMA 컨트롤러(120)는 CPU(110)를 통하지 않고 버퍼(150)와 오디오 출력부(200) 사이의 오디오 데이터 전송이 수행되도록 제어할 수 있다. 예시적인 실시예에 있어서, DMA 컨트롤러(120)에는 복수의 통신경로들(예를 들면, 복수의 DMA 채널들)이 구비되어, 주 저장부(140) 및 버퍼(150)를 구성하는 복수의 메모리 칩들에 대한 데이터 전송을 제어할 수 있다.
주 저장부(140)는 대용량의 데이터를 저장하는 주 저장장치로서 이용될 수 있다. 주 저장부(140)는 하드 디스크 드라이브(HDD) 대신에 반도체 메모리 칩들을 사용하여 데이터(예를 들면, 오디오 데이터)를 저장할 수 있다. DMA 컨트롤러(120)와 주 저장부(140) 사이에는 복수의 채널들(예를 들면, N개)이 구성될 수 있다.
본 발명에서는 주 저장부(140)가 불휘발성 메모리 중에서도 플래시 메모리로 구성되는 경우에 대해 예시적으로 설명될 것이다. 그러나, 본 발명에서 주 저장부(140)에 적용되는 메모리는 특정 종류 및 특정 형태에만 국한되지 않고 다양한 형태로 구성될 수 있다. 예를 들면, 주 저장부(140)에 적용되는 메모리는 플래시 메모리뿐만 아니라 MRAM, PRAM 등의 불휘발성 메모리를 포함할 수 있다. 또한, 주 저장부(140)에 적용되는 메모리는 DRAM 등과 같은 휘발성 메모리를 포함할 수도 있다. 주 저장부(140)는, 적어도 하나의 불휘발성 메모리와 적어도 하나의 휘발성 메모리가 혼합된 형태로 구성될 수도 있고, 적어도 두 종류 이상의 불휘발성 메모리들이 혼합된 형태로 구성될 수도 있다.
또한, 주 저장부(140)를 구성하는 메모리들의 각 메모리 셀에 저장되는 데이터 비트 수는 다양한 형태로 구성될 수 있다. 예를 들면, 플래시 메모리들은 하나의 메모리 셀에 1-비트 데이터를 저장할 수 있고, 하나의 메모리 셀에 복수의 비트 데이터(예를 들면, 2 비트 이상)를 저장할 수 있다. 셀 당 1-비트의 데이터를 저장하는 메모리 셀을 단일 비트 셀(single-bit cell) 또는 단일 레벨 셀(single-level cell ; SLC)이라 부르기도 한다. 그리고, 셀 당 복수의 비트 데이터를 저장하는 메모리 셀을 멀티 비트 셀(multi-bit cell), 멀티 레벨 셀(multi-level cell ; MLC), 또는 멀티 스테이트 셀(multi-state cell)이라 부르기도 한다.
그리고, 플래시 메모리들을 구성하는 메모리 셀의 종류 또한 다양한 형태로 구성될 수 있다. 예를 들면, 플래시 메모리들은 낸드(NAND) 플래시 메모리, 노어(NOR) 플래시 메모리, One_NAND 플래시 메모리 (플래시 메모리 코어 및 메모리 컨트롤러가 단일의 칩으로 구현된 것) 중 적어도 어느 하나로 구성될 수 있다. 그리고, 플래시 메모리들은 적어도 두 종류 이상의 플래시 메모리들이 혼합된 하이브리드 형태로도 구성될 수 있다. 이 외에도, 플래시 메모리 셀의 전하저장층의 구조는 다양한 형태로 구성될 수 있다. 예를 들면, 메모리 셀의 전하저장층은 전도성 부유 게이트(floating gate)로 구성될 수 있고, Si3N4, Al2O3, HfAlO, HfSiO 등과 같은 전하저장층, 특히 전하 포획 사이트를 가질 수 있는 막을 이용하여 구성될 수도 있다. 이러한 막을 전하저장층으로 이용하는 플래시 메모리 구조를 차지 트랩형 플래시(Charge Trap Flash, "CTF"라 불림) 메모리라 부르기도 한다.
버퍼(150)는 DMA 컨트롤러(120)와 주 저장부(140) 사이에 송수신되는 데이터와, CPU(110)와 주 저장부(140) 사이에 송수신되는 데이터를 임시로 저장할 수 있다. 상기 데이터에는 오디오 데이터와, 상기 오디오 데이터와 관련된 부가 데이터를 포함할 수 있다. 버퍼(150)는 랜덤 액세스가 가능한 메모리로 구성될 수 있다. 본 발명에서는 버퍼(150)가 DRAM으로 구성되는 경우가 예시적으로 설명될 것이다.
버퍼(150)에는 순환 버퍼(circular buffer, 180)가 구비되어 있어, CPU(110)에서 처리된 오디오 데이터를 버퍼링할 수 있다. 오디오 처리부(100)에서 처리된 오디오 데이터는 그때 그때 즉각적으로 오디오 출력부(200)로 제공되지 않고, 처리된 데이터가 일정량이 될 때까지 순환 버퍼(180)에 버퍼링 될 수 있다. 그리고 나서, 순환 버퍼(180)에 버퍼링된 오디오 데이터가 일정량 이상이 되면, 버퍼링된 오디오 데이터가 순환 버퍼(180)에서 오디오 출력부(200)로 제공될 수 있다. 버퍼(150)에 대한 상세한 구성 및 동작에 대해서는 도 2를 참조하여 상세히 설명될 것이다.
오디오 출력부(200)는 I2S 장치(I2S device, 210)와 출력 데이터 저장부(280)를 포함할 수 있다. 출력 데이터 저장부(280)는 고속 액세스가 가능한 SRAM으로 구성될 수 있다. I2S 장치(210)에는 스피커, 이어폰, 헤드폰 등과 같은 오디오 출력 장치(미 도시됨)가 I2S 인터페이스 방식을 통해 접속될 수 있다. 본 발명에서는, 오디오 데이터의 데이터 손실을 방지하기 위해, I2S 인터페이스 방식이 적용되는 경우가 예시적으로 설명될 것이다. 그러나 이는 본 발명이 적용되는 일 예로서, 오디오 출력부(200)와 출력 장치 사이에는 다양한 형태의 인터페이스 방식이 적용될 수 있다.
순환 버퍼(180)에 버퍼링된 데이터는 오디오 출력부(200)의 SRAM(280)으로 제공될 수 있다. SRAM(280)으로 제공되는 오디오 데이터에 대한 디코딩 동작과 사운드 효과 등은 이미 오디오 처리부(100)에서 완료될 수 있다. 그러므로, SRAM(280)으로 제공된 오디오 데이터는 추가적인 데이터 처리 없이 오디오 출력부(200)를 통해 재생 또는 출력될 수 있다.
예시적인 실시예에 있어서, SRAM(280)은 순환 버퍼(180) 보다 작거나 같은 데이터 저장 용량을 갖도록 구성될 수 있다. 순환 버퍼(180)로부터 SRAM(280)으로 오디오 데이터가 제공되면, 오디오 데이터의 재생 또는 출력과 직접적인 관련이 없는 하드웨어(예를 들면, 오디오 처리부(100))의 전원이 오프될 수 있다. 이러한 생태에서, SRAM(280)의 오디오 데이터는 I2S 장치(210)에 접속된 스피커, 이어폰, 헤드폰 등의 출력 장치를 통해 외부로 재생 또는 출력된다.
이와 같은 본 발명의 구성에 따르면, 오디오 데이터의 재생시 오디오 데이터의 재생 또는 출력과 직접적인 관련이 있는 구성(예를 들면, 오디오 출력부(200))에만 부분적으로 전원이 공급될 수 있다. 따라서, 오디오 재생장치(1000)에 대한 전력 소모가 최소화되고, 저전력 오디오 재생 동작이 가능해진다. 오디오 재생장치(1000)가 전력 소모에 민감한 휴대용 전자 장치일 경우, 전력 소모 저감 효과는 더욱 커지게 될 것이다.
도 2는 본 발명에 따른 저전력 오디오 재생장치(1000)의 오디오 재생 동작을 설명하기 위한 도면이다. 그리고, 도 3은 도 1 및 도 2에 도시된 순환 버퍼(180)와 SRAM(280)의 구조를 예시적으로 보여주는 도면이다.
도 2 및 도 3을 참조하면, MP3와 같은 파일 포맷으로 압축된 오디오 데이터는 주 저장부(140)에 저장될 수 있다. 오디오 데이터의 재생을 위해 선택된 오디오 데이터는 버스(130)를 통해 버퍼(150)로 제공될 수 있다.
예시적인 실시예에 있어서, 버퍼(150)는, 제 1 버퍼(160), 제 2 버퍼(170) 및 순환 버퍼(180)를 포함할 수 있다. 제 1 및 제 2 버퍼(160, 170)는 동일한 DRAM 메모리 칩 내에 구비된 복수의 섹터들로 구성될 수도 있고, 서로 다른 DRAM 메모리 칩으로 구성될 수도 있다. 순환 버퍼(180)와 제 1 및 제 2 버퍼(160, 170)의 구현 방식은 특정 형태에 국한되지 않고 다양하게 구성 가능하다.
오디오 데이터의 재생을 위해 주 저장부(140)로부터 제공된 오디오 데이터는 제 1 버퍼(160)에 저장될 수 있다. 제 1 버퍼(160)에 저장된 오디오 데이터는 MP3방식으로 인코딩된 데이터(이하, MP3 데이터라 칭함)이다. 제 1 버퍼(160)에 저장된 MP3 데이터는 디코딩 되기 위해, 버스(130)를 통해 CPU(110)로 제공될 수 있다. CPU(110) 내에는 MP3 데이터를 디코딩할 수 있는 알고리즘이 하드웨어 또는 소프트웨어 형태로 구비되어 있다. CPU(110)에 의해 디코딩된 데이터는 PCM 데이터와 같은 형태로 변환될 수 있다. CPU(110)에 의해 디코딩된 PCM 데이터는 제 2 버퍼(170)에 저장될 수 있다. 제 2 버퍼(170)에 저장된 PCM 데이터는 CPU(110)를 거치지 않고 DMA 컨트롤러(120)와 버스(130)를 통해 순환 버퍼(180)에 저장될 수 있다.
순환 버퍼(180)는 128KB의 용량의 데이터 저장 공간이 M 개(예를 들면, 3개) 구비될 수 있다. 순환 버퍼(180)는 원형 버퍼(cyclic buffer) 또는 링 버퍼(ring buffer)로 불리기도 한다.
순환 버퍼(180)는 소정의 버퍼 크기(예를 들면, 128KB*3, 또는 64KB*6)만큼 데이터가 차면 랩 어라운드(wrap around)를 수행할 수 있다. 예를 들면, 64KB*6의 크기를 갖는 순환 버퍼(180)에 64KB*3크기의 오디오 데이터를 저장할 때, 기록 인덱스(write index)가 e 영역을 가리킨다고 가정하자. 이러한 경우, 64KB*2 크기의 오디오 데이터는 e 및 f의 영역에 저장되고, 나머지 64KB*1크기의 오디오 데이터는 a의 영역에 저장될 수 있다. 순환 버퍼(180)에 버퍼링된 오디오 데이터가 일정량 이상이 되면, 순환 버퍼(180)에 버퍼링된 오디오 데이터는 CPU(110)를 거치지 않고 DMA 컨트롤러(120)와 버스(130)를 통해 오디오 출력부(200)로 제공될 수 있다. 이와 같은 데이터 저장 방식에 따르면, 마치 순환 버퍼(180)의 시작점과 끝점이 서로 이어져 있는 것처럼 보여지게 되므로, 오디오 데이터가 끊기지 않고 오디오 출력부(200)로 제공될 수 있게 된다.
오디오 출력부(200)는 I2S 장치(I2S device, 210)와 SRAM(280)을 포함할 수 있다. I2S 장치(210)에는 내부 DMA(internal DMA, 220)와 FIFO(230)가 포함될 수 있다. I2S 장치(210)에는 스피커, 이어폰, 헤드폰 등과 같은 오디오 출력 장치(미 도시됨)가 I2S 인터페이스 방식을 통해 접속될 수 있다.
SRAM(280)은 순환 버퍼(180)로부터 제공된 오디오 데이터를 저장할 수 있다. 오디오 출력부(200)에 구비된 SRAM(280)은 순환 버퍼(180) 보다 작거나 같은 데이터 저장 용량을 가질 수 있다. 예를 들면, SRAM(280)은 128KB의 데이터 저장 용량을 가질 수 있다.
예시적인 실시예에 있어서, SRAM(280)은 2 개의 데이터 저장 영역으로 구분될 수 있고, 각각의 데이터 저장 영역은 64KB의 크기를 가질 수 있다. 순환 버퍼(180)로부터 SRAM(280)으로 128KB의 오디오 데이터가 채워지게 되면, 해당 오디오 데이터를 재생 또는 출력하는 동작과 직접적인 관련이 없는 하드웨어인 오디오 처리부(100)의 전원은 차단될 수 있다. 오디오 처리부(100)의 전원이 차단된 상태에서, SRAM(280)의 오디오 데이터는 내부 DMA(220)의 제어에 의해 FIFO(230)로 제공될 수 있다. FIFO(230)로 제공된 오디오 데이터는 I2S 장치(210)에 접속된 스피커, 이어폰, 헤드폰 등의 출력 장치를 통해 외부로 재생 또는 출력될 수 있다.
오디오 처리부(100)의 전원은 오디오 출력부(200)에 구비된 SRAM(280)의 데이터 출력 상태에 따라서, 오프된 상태가 그대로 유지되거나, 오프 상태에서 온 상태로 전환될 수 있다. 예를 들면, SRAM(280)에 저장된128KB의 오디오 데이터 중 절반에 해당되는 64KB의 오디오 데이터가 재생 또는 출력되고 나면, 오디오 처리부(100)에 전원이 재 공급되어 순환 버퍼(180)로부터 오디오 데이터를 재 전송 받을 수 있게 된다. SRAM(280)과 순환 버퍼(180) 사이에 일련의 데이터 전송동작이 수행되는 동안 오디오 출력부(200)에서는 데이터 재생 또는 출력 동작이 끊김 없이 연속해서 수행될 수 있다. 그리고, SRAM(280)으로 오디오 데이터가 재전송되고 나면, 오디오 처리부(100)의 전원은 다시 오프될 수 있다.
이상에서 설명된 오디오 처리부(100)에 대한 전원의 온/오프 동작은 CPU(110) 에 탑재된 저전력 구동 소프트웨어에 의해 제어될 수 있다. 저전력 구동 소프트웨어는 플래시 메모리와 같은 불휘발성 메모리로 구성된 주 저장부(140)에 저장되어 있다가, 오디오 재생장치(1000)의 파워-온 동작 시 CPU(110) 내부의 워킹 메모리(미 도시됨) 또는 내부 메모리로 로딩되어 실행될 수 있다. 저전력 구동 소프트웨어는 오디오 출력부(200)에 구비된 I2S 장치(210)의 동작을 제어하기 위한 제어 명령들을 발생할 수 있고, 오디오 처리부(100)의 전원의 온/오프 동작을 제어할 수 있다. 아래에서 상세히 설명되겠지만, 저전력 구동 소프트웨어는 오디오 처리부(100)의 전원이 오프 되기에 앞서 복수의 제어 명령들을 미리 발생할 수 있기 때문에, 오디오 처리부(100)의 전원이 오프되더라도 I2S 장치(210)에서 수행될 각각의 동작들과, 오디오 처리부(100)의 전원의 온/오프 제어 동작을 소정의 플로우에 따라 제어할 수 있다.
도 4는 본 발명에 따른 저전력 구동 소프트웨어의 계층 구조를 보여주는 도면이다.
도 4를 참조하면, 본 발명의 저전력 구동 소프트웨어는 뮤직 플레이어 제어 기능과, 저전력 오디오 제어 기능을 수행하도록 구성될 수 있다. 뮤직 플레이어 제어 기능은 어플리케이션 계층(10)과 오디오 미들웨어 계층(20)에 의해 수행될 수 있다. 어플리케이션 계층(10)과 오디오 미들웨어 계층(20)은 어플리케이션 플랫폼(application platform)을 구성할 수 있다.
오디오 미들웨어 계층(20)에는 뮤직 플레이어 제어부(30)와 오디오 출력 매니저(40)가 포함될 수 있다. 뮤직 플레이어 제어부(30)는 재생될 오디오 데이터에 대한 디코딩 동작과 사운드 효과 등을 처리할 수 있다. 오디오 출력 매니저(40)는 뮤직 플레이어 제어부(30)에 의해 수행된 디코딩 및 사운드 효과의 처리 결과를 출력하는 동작을 제어할 수 있다.
저전력 오디오 제어 기능은 I2S 드라이버(50), DMA 드라이버(60), 및 시스템 제어(SYSCON) 드라이버(70)에 의해 수행될 수 있다. I2S 드라이버(50), DMA 드라이버(60), 및 시스템 제어(SYSCON) 드라이버(70)는 펌웨어 형태로 구성될 수 있다. I2S 드라이버(50)는 오디오 재생장치(1000)의 동작 모드를 노말 오디오 모드와 저전력 오디오 모드로 구분하여 구동시킬 수 있는 구동 드라이버이다. 도 4에는 노말 오디오 모드와 저전력 오디오 모드에서의 오디오 데이터의 제공 경로가 화살표로 각각 표시되어 있다. 노말 오디오 모드와 달리 저전력 오디오 모드에서는, 오디오 재생장치(1000)의 동작 상태에 따라서 실제 동작하지 않는 하드웨어의 전원을 부분적으로 오프시킬 수 있다. 이러한 전원 온/오프 동작은 I2S 드라이버(50)가 시스템 제어 드라이버(70)에 구비된 전원 관리부(75)를 제어함으로써 수행될 수 있다.
아래에서 상세히 설명되겠지만, 본 발명에서 수행되는 저전력 오디오 제어 기능은, 어플리케이션 플랫폼에 영향을 받지 않고 오디오 재생장치(1000)의 전원을 자체적으로 제어할 수 있다. 이와 같은 구성에 따르면, 어플리케이션 플랫폼이 어느 회사에서 제공되든 어떻게 구성되든 상관없이 본 발명에 따른 저전력 구동이 실행될 수 있게 된다.
도 5는 도 4에 도시된 I2S 드라이버(50)의 상세 구성을 예시적으로 보여주는 도면이다.
도 5를 참조하면, I2S 드라이버(50)는 데이터 수신부(data receiving unit, 51), 알림 제어부(notification control unit, 52), 저전력 오디오 제어부(low power audio control unit, 53), I2S 장치 활성화부(I2S device activation unit, 54), 및 I2S 장치 수행부(I2S device done unit, 55)를 포함할 수 있다. I2S 드라이버(50)를 구성하는 각각의 기능 블록들(51 내지 55)은 각각 독립된 모듈로 분리된 구성될 수 있다.
데이터 수신부(51)는 사용자에 의해 요청된 오디오 데이터를 상위의 소프트웨어 계층(10)으로부터 수신하도록 구성될 수 있다. I2S 장치 활성화부(54) 및 I2S 장치 수행부(55)는 수신된 오디오 데이터를 버퍼링하여 I2S 장치(210)로 전송하는 동작과, I2S 장치(210)의 오디오 데이터 재생 동작을 제어하도록 구성될 수 있다. 본 발명에서는 I2S 장치 활성화부(54) 및 I2S 장치 수행부(55)는 오디오 처리부(100)에서 버처링된 데이터를 오디오 출력부(200)로 제공하고, 오디오 출력부(200)에서 수행되는 오디오 재생 동작을 제어하는 렌더링 제어부로서의 기능을 수행할 수 있다. 예를 들면, I2S 장치 활성화부(54) 및 I2S 장치 수행부(55)는 상위의 소프트웨어 계층(10)으로부터 제공된 오디오 데이터를 그때 그때 즉각적으로 I2S 장치(210)로 전송하지 않고, 순환 버퍼(180) 내에 버퍼링 되도록 제어할 수 있다. 그리고, I2S 장치 활성화부(54) 및 I2S 장치 수행부(55)는 버퍼링된 오디오 데이터가 일정량 이상이 되면, 버퍼링된 오디오 데이터가 I2S 장치(210)로 전송되도록 제어할 수 있다.
알림 제어부(52)는 순환 버퍼(180)에 버퍼링된 오디오 데이터가 I2S 장치(210)로 전송되고 나면, 버퍼링된 오디오 데이터에 대한 렌더링 동작이 완료되었음을 상위 계층(예를 들면, 오디오 미들웨어(20))으로 통지할 수 있다. 이 때, 저전력 오디오 제어부(53)는 I2S 장치(210)로 전송된 오디오 데이터를 재생 또는 출력하는 동안 상기 재생 또는 출력 동작과 직접적인 관련이 없는 하드웨어의 전원을 차단하도록 구성될 수 있다.
이 외에도, 알림 제어부(52)는 현재 재생되는 오디오 데이터와 상위 계층(10, 20)과의 동기를 맞출 수 있도록 하기 위해, 타이머(190)를 이용하여 노티피케이션 (Notification) 신호를 상위 계층(10, 20)으로 주기적으로 통지할 수 있다. 그 결과, 일정량 이상 버퍼링 되었다가 재생되는 오디오 데이터와 상위 계층(10, 20)에서 재생되고 있는 것으로 인식되는 데이터 사이의 동기가 맞춰지게 된다.
예를 들면, 현재 재생되는 오디오 데이터는 일정량 이상 버퍼링 되었다가 재생되기 때문에, 버퍼링된 데이터의 실제 렌더링 시점은 타이머에서 발생되는 Notification 신호의 발생 시점 보다 앞설 것이다. 따라서, 본 발명에서는 일정 주기마다 Notification 신호를 상위 계층(10, 20)으로 통지함으로써, 일정량 이상 버퍼링 되었다가 재생되는 오디오 데이터가 마치 그때 그때 렌더링되어 재생되는 것처럼 상위 계층(10, 20)이 인식할 수 있도록 한다. 이와 같은 구성에 따르면, 기존의 상위 계층(10, 20)의 변경 없이도 본 발명에 따른 저전력 오디오 재생 동작이 가능해진다.
도 6은 본 발명에 따른 타이머(190)의 Notification 신호 발생 동작을 설명하기 위한 도면이다.
도 5 및 도 6을 참조하면, 알림 제어부(52)는 타이머(190)의 동작을 제어하기 위해, 순환 버퍼(180)에 버퍼링된 데이터의 정보를 분석할 수 있다. 그리고, 상기 정보의 분석 결과를 근거로 하여, 필요시 타이머(190)의 설정 값을 변경할 수 있다. 예를 들면, 순환 버퍼(180)에 버퍼링된 데이터가 SRAM(280)으로 전송되는 상태에 따라서 타이머(190)의 설정 값을 구성할 수 있다. 그리고, 상기 설정 값에 따라서 타이머 인터럽트가 활성화되면, 타이머(190)가 Notification 신호를 상위 계층(10, 20)으로 통지하도록 구성될 수 있다.
이상과 같은 본 발명의 저전력 오디오 재생장치(1000)의 구성에 따르면, 실제 재생되고 있는 오디오 데이터와 상위 계층(10, 20)에서 재생되고 있는 것으로 인식하고 있는 데이터 사이의 동기가 맞춰질 수 있게 된다. 따라서, 상위 계층(10, 20)의 복잡한 데이터 및 제어 흐름을 그대로 따르면서도, 본 발명에 따른 I2S 드라이버(50)를 이용하여 저전력 오디오 재생장치(1000)를 효과적으로 구현할 수 있게 된다.
도 7은 본 발명에 따른 저전력 오디오 재생장치(1000)의 저전력 구동 방법을 보여주는 흐름도이다.
도 7을 참조하면, S1000 단계에서 어플리케이션 계층(10)은 사용자로부터 요청된 오디오 데이터의 재생을 요구하는 오디오 플레이 제어 리퀘스트(audio play control request)를 오디오 미들웨어 계층(20)으로 발생한다. 상기 오디오 플레이 제어 리퀘스트는 오디오 미들웨어 계층(20)에 구비된 뮤직 플레이어 제어부(30)로 제공될 수 있다. 뮤직 플레이어 제어부(30)는, 상위의 소프트웨어 계층(10)으로부터 요청된 오디오 데이터에 대한 디코딩 및 사운드 효과를 처리한다.
S1100 단계에서 뮤직 플레이어 제어부(30)는 오디오 플레이 제어 리퀘스트에 응답해서 오디오 출력 매니저 제어 리퀘스트(audio output manager control request)를 오디오 출력 매니저(40)로 발생한다. 그리고, S1200 단계에서 오디오 출력 매니저(40)는 오디오 출력 매니저 제어 리퀘스트에 응답해서 I2S 드라이버 제어 리퀘스트(I2S driver control request)를 I2S 드라이버(50)로 발생한다.
I2S 드라이버(50)는 I2S 드라이버 제어 리퀘스트에 응답해서 노말 오디오 모드 또는 저전력 오디오 모드의 동작을 수행할 수 있다. 예를 들면, 노말 오디오 모드의 경우, I2S 드라이버(50)는 사용자의 요청에 따라 상위의 소프트웨어 계층(10)으로부터 제공된 오디오 데이터의 디코딩 결과를 그때 그때 I2S 장치(210)로 전송할 수 있다. 이 경우, 오디오 처리부(100)의 전원 공급에 대한 별도의 제어는 수행되지 않을 것이다. 저전력 오디오 모드의 경우, S1300 단계에서는 I2S 드라이버(50)가 사용자의 요청에 의해 상위의 소프트웨어 계층(10)으로부터 제공된 오디오 데이터의 디코딩 결과를 순환 버퍼(180)에 버퍼링 할 수 있다.
도 8은 도 7에 도시된 S1300 단계에서 순환 버퍼(180)에 오디오 데이터를 버퍼링하는 방법을 설명하기 위한 도면이다.
도 8을 참조하면, 사용자에 의해 상위의 소프트웨어 계층(10)으로부터 오디오 데이터의 재생이 요청되면, 요청된 오디오 데이터에 대한 디코딩 결과는 I2S 드라이버(50)의 제어에 의해 순환 버퍼(180)에 저장될 수 있다. 순환 버퍼(180)에 저장되는 데이터의 위치는 기록 인덱스(write index)에 의해 지정될 수 있다. 지정된 기록 인덱스(write index)로부터 순환 버퍼(180)에 디코딩 결과가 순차적으로 저장되고 나면, 기록 인덱스(write index)는 다시 처음의 위치(예를 들면, a)를 가리키게 된다. 그 결과, 순환 버퍼(180)에 소정의 버퍼 크기만큼 데이터가 찰 때마다 순환 버퍼(180)는 랩 어라운드(wrap around)를 수행할 수 있게 된다.
다시 도 7을 참조하면, S1400 단계에서는 I2S 드라이버(50)의 제어에 응답해서 순환 버퍼(180)에 버퍼링된 오디오 데이터를 오디오 출력부(200)의 SRAM(280)으로 전송할 수 있다. 순환 버퍼(180)로부터 SRAM(280)으로 오디오 데이터로의 전송은, 순환 버퍼(180)에 버퍼링된 오디오 데이터가 일정량 이상이 될 때 수행될 수 있다.
SRAM(280)에 저장된 오디오 데이터가 I2S 장치(210)로 전송되고 나면, I2S 장치(210)는 S1500 단계에서 I2S 드라이버(50)의 알림 제어부(52)로 I2S Device Done Notification을 통지할 수 있다. 이어서, S1600 단계에서 I2S 드라이버(50)는 해당 오디오 데이터에 대한 렌더링 동작이 완료되었음을 나타내는 I2S Driver Done Notification을 상위 계층인 오디오 미들웨어 계층(20)으로 통지할 수 있다.
S1700 단계에서 오디오 미들웨어 계층(20)은 I2S Driver Done Notification에 응답해서 어플리케이션 계층(10)으로 Music Player Notification을 통지할 수 있다. 어플리케이션 계층(10)으로 Music Player Notification이 통지되고 나면, S1800 단계에서는 오디오 처리부(100)에 제공되던 전원이 오프되고, 오디오 처리부(100)가 딥 아이들 모드(deep idle mode)로 진입하게 된다. 그 결과, 오디오 재생장치(1000)는 저전력 모드로서 구동될 수 있게 된다. 이 경우, 딥 아이들 모드로 진입하는 하드웨어는, 오디오 데이터에 대한 출력 또는 재생 동작과 직접적으로 관련이 없는 오디오 처리부(100)에 국한될 수 있다.
도 9는 도 7에 도시된 S1400 단계에서 순환 버퍼(180)로부터 I2S 장치(210)로의 오디오 데이터의 전송 방법을 설명하기 위한 도면이다.
도 9를 참조하면, 순환 버퍼(180)에 일정량 이상의 오디오 데이터가 버퍼링 되면, 먼저 저전력 오디오 모드를 지속할지 여부가 판별될 수 있다. 저전력 오디오 모드를 지속 여부는 인터럽트에 의해 판별될 수 있다. 인터럽트는 비 동기적인 이벤트의 발생을 CPU(110)에게 알리는 하드웨어적인 메커니즘으로서, 인터럽트 서비스 루틴(Interrupt Service Routine, ISR)을 통해서 인터럽트가 발생될 수 있다. 본 발명에서는 저전력 오디오 모드의 지속 여부를 나타내는 인터럽트를 발생하기 위해, I2S LISR(Low Level ISR) 또는 HISR(High Level ISR)이 사용될 수 있다.
상기 인터럽트는 SRAM(280)의 잔여 용량을 근거로 하여 발생될 수 있다. 예를 들면, SRAM(280)에 저장된 오디오 데이터 중 절반 이상이 재생 또는 출력되고 나면(즉, SRAM(280)의 잔여 용량이 1/2이 되지 않으면), 저전력 오디오 모드를 중단하도록 I2S LISR/HISR이 실행될 수 있다. 그리고, SRAM(280)에 저장된 오디오 데이터 중 절반 미만이 재생 또는 출력된 경우(즉, SRAM(280)의 잔여 용량이 1/2이 넘는 경우), 저전력 오디오 모드는 지속될 것이다. 본 발명에서는, 인터럽트를 발생하는 기준 값으로서 SRAM(280)의 잔여 용량이 1/2이 되는 경우를 예를 들어 설명하였다. 그러나 이는 본 발명의 일 예로서, 인터럽트를 발생하는 기준 값은 다양한 형태로 구성 가능하다. 한편, 저전력 오디오 모드가 지속되는 경우에는 I2S LISR/HISR이 별도로 실행되지 않도록 구성될 수 있다.
상기 판별 결과, 저전력 오디오 모드가 중단될 필요가 있는 경우에는, I2S 인터럽트에 응답해서 오디오 처리부(100)로 전원이 재 공급될 수 있다. 그리고 나서, 오디오 처리부(100)의 순환 버퍼(180)로부터 SRAM(280)으로 오디오 데이터가 추가적으로 제공될 수 있다. 그리고 이와 동시에, 순환 버퍼(180)의 빈 데이터 저장 영역에는 새로운 오디오 데이터가 버퍼링될 수 있다.
이상에서 설명된 본 발명의 저전력 오디오 재생장치(1000)의 저전력 구동 방법은 어플리케이션 플랫폼에 영향을 받지 않고 오디오 재생장치의 전원을 자체적으로 제어할 수 있다. 따라서, 기존의 오디오 재생장치의 하드웨어의 변경 없이도 오디오 재생장치의 저전력화가 용이하게 달성될 수 있다.
이상에서와 같이 도면과 명세서에서 실시예가 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허 청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서 본 발명의 진정한 기술적 보호 범위는 첨부된 특허 청구범위의 기술적 사상에 의해 정해져야 할 것이다.
10 : 어플리케이션 계층 20 : 오디오 미들웨어 계층
30 : 뮤직 플레이어 제어부 40 : 오디오 출력 매니저
50 : I2S 드라이버 60 : DMA 드라이버
70 : 시스템 제어 드라이버 100 : 오디오 처리부
110 : CPU 120 : DMA 컨트롤러
130 : 버스 140 : 주 저장부
150 : 버퍼 160 : 제 1 버퍼
170 : 제 1 버퍼 180 : 순환 버퍼
200 : 오디오 출력부 210 : I2S 장치
220 : 내부 DMA 230 : FIFO
280 : SRAM 1000 : 오디오 재생장치

Claims (10)

  1. 사용자로부터 요청된 오디오 데이터를 디코딩하고, 디코딩 결과를 버퍼링하는 오디오 처리부; 그리고
    상기 오디오 처리부에 버퍼링된 데이터가 일정량 이상이 되면, 상기 버퍼링된 데이터를 재생하는 오디오 출력부를 포함하며,
    상기 버퍼링된 데이터가 재생되는 동안 상기 오디오 출력부 이외로의 전원 공급이 차단되는 저전력 오디오 재생장치.
  2. 제 1 항에 있어서,
    상기 오디오 처리부는 소정 주기마다 노티피케이션 신호를 발생하여, 상기 요청된 오디오 데이터와 상기 오디오 출력부를 통해 재생되는 오디오 데이터의 동기를 맞추는 저전력 오디오 재생장치.
  3. 제 1 항에 있어서,
    상기 오디오 처리부는,
    오디오 데이터를 저장하는 주 저장부;
    상기 사용자로부터 요청된 오디오 데이터를 상기 주 저장부로부터 받아들여 디코딩하는 중앙처리장치; 그리고
    상기 중앙처리장치의 제어에 따라서 상기 디코딩 결과를 버퍼링하고, 상기 버퍼링된 데이터가 일정량 이상이 되면 상기 버퍼링된 데이터를 상기 오디오 출력부로 제공하는 버퍼를 포함하며,
    상기 버퍼링된 데이터가 상기 버퍼로부터 상기 오디오 출력부로 제공되면 상기 오디오 처리부로 공급되는 전원이 차단되는 저전력 오디오 재생장치.
  4. 제 3 항에 있어서,
    상기 중앙처리부는
    상기 버퍼링된 데이터가 노말 오디오 모드 및 저전력 오디오 모드 중 어느 하나의 동작 모드에 따라서 재생되도록 제어하는 구동 드라이버; 그리고
    상기 저전력 오디오 모드에서 상기 버퍼링된 데이터가 재생되는 동안, 상기 구동 드라이버의 제어에 따라서 상기 오디오 재생과 관련이 없는 하드웨어의 전원 공급을 차단하는 전원 관리부를 포함하는 저전력 오디오 재생장치.
  5. 제 4 항에 있어서,
    상기 구동 드라이버는
    상기 사용자로부터 요청된 오디오 데이터를 상기 구동 드라이버 상위의 소프트웨어 계층으로부터 수신하는 데이터 수신부;
    상기 소프트웨어 계층으로부터 제공된 상기 오디오 데이터를 일정량 이상 버퍼링한 후 상기 버퍼링된 데이터를 상기 오디오 출력부로 제공하는 렌더링 제어부;
    상기 버퍼링된 데이터가 상기 오디오 출력부를 통해 재생되는 동안, 소정 주기마다 상기 노티피케이션 신호를 상기 소프트웨어 계층으로 발생하는 알림 제어부; 그리고
    상기 동작 모드에 따라서 상기 전원 관리부의 전원 공급 동작을 제어하는 저전력 오디오 제어부를 포함하는 저전력 오디오 재생장치.
  6. 사용자로부터 요청된 오디오 데이터를 디코딩하는 단계;
    디코딩된 오디오 데이터를 버퍼링하는 단계;
    버퍼링된 데이터가 일정량 이상이 되면 상기 버퍼링된 데이터를 재생하는 단계; 그리고
    상기 버퍼링된 데이터가 재생되는 동안 오디오 재생장치에 구비된 복수의 하드웨어 영역들 중 상기 재생 동작과 무관한 하드웨어 영역의 전원 공급을 차단하는 단계를 포함하는 저전력 오디오 재생 방법.
  7. 제 6 항에 있어서,
    상기 버퍼링된 데이터를 분석하여 타이머의 설정 값을 변경하는 단계; 그리고
    상기 버퍼링된 데이터가 재생되는 동안 상기 타이머를 통해 소정 주기마다 노티피케이션 신호를 소프트웨어 계층으로 발생하는 단계를 더 포함하는 저전력 오디오 재생 방법.
  8. 제 7 항에 있어서,
    상기 하드웨어의 전원 공급을 차단하는 단계는, 상기 어플리케이션 하위의 드라이버 계층의 제어에 의해 수행되는 저전력 오디오 재생 방법.
  9. 사용자의 요청에 의해 소프트웨어 계층을 통해 발생된 리퀘스트에 응답해서 오디오 데이터를 디코딩하는 단계;
    디코딩 결과를 순환 버퍼에 버퍼링하는 단계;
    상기 순환 버퍼에 버퍼링된 데이터가 일정량 이상 되면 상기 버퍼링된 데이터를 오디오 출력부에 저장하는 단계;
    상기 오디오 출력부에 저장된 데이터에 대한 렌더링 동작이 완료되었음을 나타내는 노티피케이션 신호를 오디오 미들웨어 계층 및 상기 소프트웨어 계층으로 통지하는 단계;
    상기 오디오 출력부 이외의 하드웨어에 대한 전원 공급이 차단되는 단계; 그리고
    상기 오디오 출력부에 저장된 데이터를 재생하는 단계를 포함하는 저전력 오디오 재생 방법.
  10. 제 9 항에 있어서,
    상기 버퍼링된 데이터를 분석하여 타이머의 설정 값을 변경하는 단계; 그리고
    상기 버퍼링된 데이터가 재생되는 동안 상기 타이머를 통해 소정 주기마다 상기 노티피케이션 신호를 상기 오디오 미들웨어 계층 및 상기 소프트웨어 계층으로 발생하는 단계를 더 포함하는 저전력 오디오 재생 방법.
KR1020100029747A 2010-04-01 2010-04-01 저전력 오디오 재생장치 및 방법 KR20110110434A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020100029747A KR20110110434A (ko) 2010-04-01 2010-04-01 저전력 오디오 재생장치 및 방법
US13/075,459 US20110245946A1 (en) 2010-04-01 2011-03-30 Low power audio play device and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100029747A KR20110110434A (ko) 2010-04-01 2010-04-01 저전력 오디오 재생장치 및 방법

Publications (1)

Publication Number Publication Date
KR20110110434A true KR20110110434A (ko) 2011-10-07

Family

ID=44720220

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100029747A KR20110110434A (ko) 2010-04-01 2010-04-01 저전력 오디오 재생장치 및 방법

Country Status (2)

Country Link
US (1) US20110245946A1 (ko)
KR (1) KR20110110434A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9104414B2 (en) 2012-08-09 2015-08-11 Samsung Electronics Co., Ltd. Multimedia processing system and method of operating the same

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120108570A (ko) * 2011-03-24 2012-10-05 삼성전자주식회사 오디오 장치, 및 그 동작 방법
US9992745B2 (en) 2011-11-01 2018-06-05 Qualcomm Incorporated Extraction and analysis of buffered audio data using multiple codec rates each greater than a low-power processor rate
KR20180137041A (ko) 2011-12-07 2018-12-26 퀄컴 인코포레이티드 디지털화된 오디오 스트림을 분석하는 저전력 집적 회로
US9525935B2 (en) 2012-03-28 2016-12-20 Intel Corporation Audio processing during low-power operation
US20140006825A1 (en) * 2012-06-30 2014-01-02 David Shenhav Systems and methods to wake up a device from a power conservation state
CN110458925B (zh) * 2019-07-26 2023-09-26 北京达佳互联信息技术有限公司 一种动画素材播放方法、装置、电子设备和存储介质
CN112601123A (zh) * 2020-11-11 2021-04-02 博流智能科技(南京)有限公司 嵌入式播放系统及方法

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6226237B1 (en) * 1998-03-26 2001-05-01 O2 Micro International Ltd. Low power CD-ROM player for portable computer
US7890741B2 (en) * 2000-12-01 2011-02-15 O2Micro International Limited Low power digital audio decoding/playing system for computing devices
US20020087225A1 (en) * 2001-01-03 2002-07-04 Howard Gary M. Portable computing device having a low power media player
US6883037B2 (en) * 2001-03-21 2005-04-19 Microsoft Corporation Fast data decoder that operates with reduced output buffer bounds checking
US20060015197A1 (en) * 2004-06-30 2006-01-19 Gupta Vivek G Apparatus including audio codec and methods of operation therefor
EP1784012A4 (en) * 2004-08-10 2011-10-26 Sony Corp INFORMATION SIGNAL PROCESSING METHOD, INFORMATION SIGNAL PROCESSING DEVICE AND COMPUTER PROGRAM RECORDING MEDIUM
US8335577B2 (en) * 2006-05-04 2012-12-18 Mediatek Inc. Method of generating advanced audio distribution profile (A2DP) source code and chipset using the same
JP4769665B2 (ja) * 2006-08-29 2011-09-07 パナソニック株式会社 音楽再生装置および音楽再生端末
US8930002B2 (en) * 2006-10-11 2015-01-06 Core Wireless Licensing S.A.R.L. Mobile communication terminal and method therefor
US7620833B2 (en) * 2006-12-04 2009-11-17 Intel Corporation Power saving for isochronous data streams in a computer system
US7793042B2 (en) * 2007-01-05 2010-09-07 Dell Products, Lp System, method, and module for reducing power states for storage devices and associated logical volumes
US7774521B2 (en) * 2007-12-28 2010-08-10 Intel Corporation Method and apparatus for reducing power consumption for isochronous data transfers
WO2009124911A1 (en) * 2008-04-07 2009-10-15 Nxp B.V. Mobile phone with low-power media rendering sub-system
US8041848B2 (en) * 2008-08-04 2011-10-18 Apple Inc. Media processing method and device
US8346203B2 (en) * 2009-08-14 2013-01-01 Apple Inc. Power management techniques for buffering and playback of audio broadcast data
US8682460B2 (en) * 2010-02-06 2014-03-25 Apple Inc. System and method for performing audio processing operations by storing information within multiple memories

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9104414B2 (en) 2012-08-09 2015-08-11 Samsung Electronics Co., Ltd. Multimedia processing system and method of operating the same
US9448609B2 (en) 2012-08-09 2016-09-20 Samsung Electronics Co., Ltd. Multimedia processing system and method of operating the same

Also Published As

Publication number Publication date
US20110245946A1 (en) 2011-10-06

Similar Documents

Publication Publication Date Title
KR20110110434A (ko) 저전력 오디오 재생장치 및 방법
US7574272B2 (en) System and method for data transfer optimization in a portable audio device
KR101229522B1 (ko) 비휘발성 메모리로부터의 미디어 데이터의 효율적인 저전력 리트리브 기법들
US20110305343A1 (en) Method and system decoding audio data with selective power control
US8850084B2 (en) Data processing systems for audio signals and methods of operating same
US9236129B2 (en) Flash memory integrated circuit with compression/decompression CODEC
KR20140021829A (ko) 멀티미디어 프로세싱 시스템 및 그 동작 방법
KR20100050281A (ko) 모바일 SoC 및 모바일 단말기
JP4481304B2 (ja) 異なるデータフォーマットを格納する記憶装置
JP2012141999A (ja) データの保護方法とシステム、記憶デバイス及び記憶デバイスコントローラ
US20040042768A1 (en) Apparatus and control method for recording and reproducing audio-video data
JP2009026047A (ja) 動作周波数動的自動制御機能を有するオーディオプロセッサ
KR20050088460A (ko) 휴대용 스트리밍 디바이스들을 위한 전력 절약 방법
KR20090034572A (ko) 상변화 메모리의 데이터 기록 방법, 데이터 판독 방법, 및그 장치
US8682460B2 (en) System and method for performing audio processing operations by storing information within multiple memories
US20080147218A1 (en) Recording/reproduction apparatus
US20050160069A1 (en) Method for processing a file for a sub-memory in a wireless terminal
US9378750B2 (en) Apparatus and method of reproducing audio data using low power
KR100721292B1 (ko) 휴대용 멀티미디어의 하드디스크 액세스 장치 및 그 방법
JP2007215149A (ja) 映像音声データ処理機能を有するメモリカード
KR101016486B1 (ko) 디지털 데이터 재생 장치 및 컴퓨터 판독 가능 기록 매체
JP5368550B2 (ja) 記録再生方法および記録再生装置
KR20080073077A (ko) 퓨전메모리 장치 및 방법
US20110029707A1 (en) Apparatus and method for playing multimedia data
KR20120074059A (ko) 오디오 데이터 출력 방법 및 장치

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid