KR101168498B1 - 전력 효율적인 일괄 프레임 오디오 디코딩 장치, 시스템 및 방법 - Google Patents

전력 효율적인 일괄 프레임 오디오 디코딩 장치, 시스템 및 방법 Download PDF

Info

Publication number
KR101168498B1
KR101168498B1 KR1020107007564A KR20107007564A KR101168498B1 KR 101168498 B1 KR101168498 B1 KR 101168498B1 KR 1020107007564 A KR1020107007564 A KR 1020107007564A KR 20107007564 A KR20107007564 A KR 20107007564A KR 101168498 B1 KR101168498 B1 KR 101168498B1
Authority
KR
South Korea
Prior art keywords
power
audio samples
memory
decoding
bitstream
Prior art date
Application number
KR1020107007564A
Other languages
English (en)
Other versions
KR20100053682A (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 콸콤 인코포레이티드
Publication of KR20100053682A publication Critical patent/KR20100053682A/ko
Application granted granted Critical
Publication of KR101168498B1 publication Critical patent/KR101168498B1/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/04Speech 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 using predictive techniques
    • G10L19/16Vocoder architecture
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/162Interface to dedicated audio devices, e.g. audio drivers, interface to CODECs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W52/00Power management, e.g. TPC [Transmission Power Control], power saving or power classes
    • H04W52/02Power saving arrangements
    • H04W52/0209Power saving arrangements in terminal devices
    • H04W52/0261Power saving arrangements in terminal devices managing power supply demand, e.g. depending on battery level
    • H04W52/0274Power saving arrangements in terminal devices managing power supply demand, e.g. depending on battery level by switching on or off the equipment or parts thereof
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Acoustics & Sound (AREA)
  • Telephone Function (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Power Sources (AREA)

Abstract

모바일 디바이스 내의 디코딩 시스템으로 비트스트림을 디코딩하여 오디오 샘플들을 생성함으로써 모바일 디바이스에서의 전력 절약이 이루어진다. 생성된 오디오 샘플들은 모바일 디바이스 내의 절전기 블록의 한 세트의 메모리 뱅크들의 적어도 하나의 메모리 뱅크에 전송된다. 다수의 오디오 프레임과 관련된 비트스트림을 일괄(batch) 디코딩한 후, 생성된 오디오 샘플들의 저장에 관여하지 않는 디코딩 시스템의 부분들이 스위칭 오프된다. 비트스트림은 하나의 오디오 파일에서 발견된 것보다 적은 비트들을 포함한다. 한 세트의 메모리 뱅크들의 메모리 뱅크들 중 적어도 하나는 전력 감쇠 가능하다. 디코딩 시스템에 의해 디코딩된 비트스트림의 페치는 모바일 디바이스에서 모뎀의 페이징 채널과 동기화될 수 있다. 전송된 오디오 샘플들은 무손실 압축이며 재인코딩 후에 일어날 수 있다.

Description

전력 효율적인 일괄 프레임 오디오 디코딩 장치, 시스템 및 방법{POWER EFFICIENT BATCH-FRAME AUDIO DECODING APPARATUS, SYSTEM AND METHOD}
본 출원은 (1) 2007년 9월 7일자 제출된 미국 예비 특허 출원 60/970,836호 BATCH AUDIO DECODING SCHEME FOR POWER-EFFICIENT AUDIO DECODING SYSTEM; 및 (2) 2008년 8월 5일자 제출된 미국 예비 특허 출원 61/086,251호 BATCH AUDIO DECODING SCHEME FOR POWER- EFFICIENT AUDIO DECODING SYSTEM에 관한 것으로, 이들로부터의 우선권을 주장한다.
본 개시는 일반적으로 오디오 처리에 관한 것이다. 보다 구체적으로, 본 개시는 전력 효율적인 일괄(batch) 디코딩에 관한 것이다.
개인 디지털 보조기기(PDA), 포켓 PC, 아이폰이나 스마트폰과 같은 휴대 기기들은 최근 상당한 인기를 얻어왔다. VLSI 기술의 발전으로, 이러한 타입의 모바일 디바이스들은 더욱 경량화되어 왔고 더 높은 연산 용량을 갖추어 왔으며, 이는 비디오, 오디오 및 게임과 같은 멀티미디어 애플리케이션들을 상당히 대중화시켰다. 특히 모바일 디바이스들 상에서의 오디오 재생은 아이팟의 경우에 증명된 것과 같이 한층 더 성공적이었다. 오디오 재생은 오디오 처리를 수반할 수 있다.
오디오 처리라는 용어는 오디오 신호들의 처리를 말한다. 오디오 신호들은 오디오, 즉 가청 범위 내의 음향을 나타내는 전기 신호이다. 오디오 신호들은 디지털 또는 아날로그일 수 있다. 많은 여러 타입의 연산 디바이스들이 오디오 처리 기술들을 이용할 수 있다. 이러한 연산 디바이스들의 예시들은 데스크탑 컴퓨터, 랩탑 컴퓨터, 워크스테이션, 무선 통신 디바이스, 무선 모바일 디바이스, 개인 디지털 보조기기(PDA), 스마트폰, 아이폰, MP3 플레이어, 핸드헬드 게임 유닛이나 다른 미디어 플레이어, 및 광범위하게 다양한 다른 디바이스들을 포함하며, 이들 중 일부는 상기에 언급되었다.
오디오 처리의 기능들 중 하나는 오디오 압축 또는 압축 해제를 수행하는 것, 즉 오디오 신호를 압축된 데이터로 표현하여 오디오 파일들의 크기를 줄이거나 압축 해제된 데이터에서 원본 파일들을 복원하는 것이다. 현재 사용중인 많은 여러 오디오 코딩(압축/압축 해제) 알고리즘이 있다. 오디오 코딩 알고리즘들의 어떤 예시들은 MPEG-1 오디오 레이어 3(MP3), 고급 오디오 코딩(AAC), 고효율 AAC(HE-AAC), HE-AAC 버전 2(HE-AAC v2), 윈도우 미디어 오디오(WMA), WMA Pro 등을 포함한다.
오디오 파일은 오디오 신호들을 압축하는데 사용되는 오디오 코딩 알고리즘들에 따라 서로 다른 포맷을 가질 수 있다. 압축된 데이터는 때로는 비트스트림으로 지칭될 수도 있다. 비트스트림(즉, 압축된 오디오 파일, 또는 압축된 오디오 파일의 단편들)은 메모리에 저장될 수 있다. 때때로 비트스트림은 컴퓨터나 모바일 디바이스의 운영 시스템과 관련된 포맷으로 암호화되거나 저장된다. 비트스트림을 압축 해제하고 비트스트림을 (암호화되어 있다면) 해독하기 위해 초당 많은 연산이 필요하다.
애플리케이션 소프트웨어를 실행하는 (때때로 애플리케이션 프로세서로 지칭되는) 프로세서는 전문 프로세서와 상호 작용할 수 있다. 전문 프로세서의 한 가지 타입은 디지털 신호 프로세서(DSP)로 알려져 있다. 애플리케이션 프로세서는 메모리로부터 비트스트림을 검색하고 이를 DSP에 전달하여 비트스트림을 해독 및/또는 압축 해제할 수 있다. 애플리케이션 프로세서가 비트스트림을 해독 및/또는 압축 해제할 수도 있다. 비트스트림의 압축 해제는 전력을 소비한다. 보다 낮은 전력으로 비트스트림을 처리하는 기술을 찾는 것이 바람직하다. 이러한 기술은 모바일 디바이스들에 대한 오디오 디코딩의 배터리 소비 감소를 도울 것이다.
본원에 개시된 기술들은 오디오 프레임들의 전력 효율적인 일괄(batch) 디코딩에 관한 것이다. 본원에 개시된 접근법의 한 형태에 따르면, 전력을 절약하는 방법은 디코딩 시스템으로 비트스트림을 디코딩함으로써 오디오 샘플들을 생성하는 단계, 절전기 블록에서 한 세트의 메모리 뱅크들의 적어도 하나의 메모리 뱅크에 오디오 샘플들을 전송하는 단계, 및 일괄(batch) 디코딩이 완료된 후, 상기 오디오 샘플들의 저장에 관여하지 않는 상기 디코딩 시스템의 부분들에 대한 전력을 스위칭 오프(switching off)하는 단계를 포함한다.
접근법의 다른 형태에 따르면, 디바이스는 적어도 하나의 비트스트림을 저장하는 메모리, 적어도 하나의 비트스트림을 일괄 디코딩하여 PCM 샘플들을 생성하기 위해 상기 메모리에 연결되는 프로세서, 및 상기 프로세서로부터 상기 PCM 샘플들의 전송 후 상기 PCM 샘플들을 저장하는 절전기 블록을 포함한다.
접근법의 다른 형태에 따르면, 오디오 재생이 가능한 모바일 디바이스는 디코딩 시스템으로 비트스트림을 디코딩함으로써 PCM 샘플들을 생성하기 위한 수단, 절전기 블록의 적어도 하나의 메모리 뱅크에 상기 PCM 샘플들을 전송하기 위한 수단, 및 일괄 디코딩이 완료된 후, 상기 PCM 샘플들의 저장에 관여하지 않는 상기 디코딩 시스템의 부분들에 대한 전력을 스위칭 오프하기 위한 수단을 포함한다.
접근법의 다른 형태에 따르면, 한 세트의 명령들을 저장하도록 구성된 컴퓨터 판독 가능 매체는 디코딩 시스템으로 비트스트림을 디코딩함으로써 PCM 샘플들을 생성하기 위한 컴퓨터 판독 가능 프로그램 코드 수단, 절전기 블록의 적어도 하나의 메모리 뱅크에 상기 PCM 샘플들을 전송하기 위한 컴퓨터 판독 가능 프로그램 코드 수단, 및 일괄 디코딩이 완료된 후, 상기 PCM 샘플들의 저장에 관여하지 않는 상기 디코딩 시스템의 부분들에 대한 전력을 스위칭 오프하기 위한 컴퓨터 판독 가능 프로그램 코드 수단을 포함한다.
접근법의 다른 형태에 따르면, 하나 이상의 프로세서에 의해 실행 가능한 한 세트의 명령들을 포함하는 컴퓨터 판독 가능 매체는 신호의 주파수 변환을 제공하기 위한 코드, 상기 주파수 변환에 FDLP 방식을 적용하여 캐리어를 생성하기 위한 코드, 시간 마스크(temporal masking) 임계치를 결정하기 위한 코드, 및 시간 마스크 임계치를 기초로 캐리어를 양자화하기 위한 코드를 포함한다.
도면들은 단지 예시의 목적임을 이해해야 한다. 더욱이, 도면들의 컴포넌트들은 반드시 스케일에 맞는 것은 아니고, 대신 개시된 일괄 디코딩 기술의 원리를 설명할 때 강조된다. 도면들에서, 동일한 참조 부호들이 다른 시각들 전반에서 해당 부분들을 나타낸다.
도 1은 종래의 오디오 디코딩 시스템에 대한 고 레벨 구조의 블록도를 나타낸다.
도 2는 많은 단일 프레임 비트스트림의 디코딩을 설명하는 타이밍도이다.
도 3a는 전력 효율적인 일괄 프레임 디코딩 시스템에 대한 고 레벨 구조의 블록도를 나타낸다.
도 3b는 무손실 디코딩 블록이 절전기 블록의 일부인 전력 효율적인 일괄 프레임 디코딩 시스템의 다른 실시예를 나타낸다.
도 4는 전력 효율적인 일괄 프레임 디코딩 시스템의 고 레벨 구조의 흐름도를 나타낸다.
도 5는 PCM 메모리 버퍼(32) 크기가 비교적 클 때 일괄 프레임 디코딩 타이밍도의 예를 나타낸다.
도 6은 PCM 메모리 버퍼(32) 크기가 비교적 작을 때 일괄 프레임 디코딩 타이밍도의 예를 나타낸다.
도 7은 기록 포인터 및 판독 포인터가 PCM 메모리 버퍼에서 2개의 서로 다른 메모리 위치를 지시하고 있는 PCM 메모리 버퍼의 스냅샷을 나타낸다.
도 8에 나타낸 PCM 메모리 버퍼는 각각 독립적으로 전력 상승 또는 하강할 수 있는 메모리의 다수의 뱅크를 포함한다.
도 9는 일괄 프레임 디코딩 방식에 사용되는 하드웨어/소프트웨어 블록들의 더 상세한 묘사를 나타낸다.
도 10은 PCM 버퍼 메모리로부터 판독하는 판독 포인터의 로직 제어에 대한 흐름도를 나타낸다.
도 11은 PCM 버퍼 메모리에 기록하는 기록 포인터 및 워터마크의 로직 제어에 대한 흐름도를 나타낸다.
도 12는 모뎀 활동, 파일 시스템 액세스, 비트스트림 페치(fetching), 오디오 디코딩 처리 시스템의 전력 상승, 및 일괄 디코딩의 예시적인 타이밍도를 나타낸다.
도 13은 모뎀 활동, 비트스트림 페치 및 일괄 디코딩이 동기화될 때의 예시이다.
도 14a는 오디오 디코딩 처리 시스템의 전력 상승 주기가 어떻게 조정될 수 있는지를 설명한다.
도 14b는 비트스트림 페치 또는 모뎀 활동의 구성에 의존하지 않는, 즉 오디오 디코딩 처리 시스템의 전력 상승 주기가 조정되지 않는 디코딩 처리 시스템의 동작을 설명한다.
도 15는 모바일 디바이스에 이용될 수 있는 다양한 컴포넌트를 설명하는 블록도이다.
도 1은 종래의 오디오 디코딩 시스템(10)에 대한 고 레벨 구조의 블록도를 나타낸다. 프로세서(12)는 외부 매체(20)로 알려진 영역에서 통상적으로 오프-칩 위치하는 외부 메모리(16) 또는 보안 디지털(SD) 카드 플래시(비휘발성) 메모리(18)로부터 오디오 비트스트림을 판독한다. 외부 매체(20)의 파일에 액세스함으로써, 프로세서(12)는 외부 매체(20)의 메모리로부터 비트스트림을 판독할 수도 있고 또는 비트스트림이 (도시하지 않은) 내부 메모리로부터 버스(22)를 통해 프로세서(12)의 밀접하게 연결된 메모리(TCM)(24)로 페치(fetch)될 수도 있다. 파일 시스템은 내부 메모리나 외부 매체(20)에, 또는 둘 다에 존재할 수도 있다. 본 개시에서 예시 목적으로, 때때로 외부 매체(20)로부터 파일 시스템 액세스가 이루어지고 (도시하지 않은) 내부 매체로부터 비트스트림 페치가 이루어지는 것으로 가정한다. 종래의 오디오 시스템(10)에서, 프로세서(12)는 비트스트림들을 디코딩하고 PCM 샘플들을 프로세서(12)의 TCM(24)에 기록한다. 그러나 TCM(24) 메모리는 메모리 크기의 한계 때문에 통상적으로 많은 디코딩된 오디오 프레임을 수용하지 않는다. 통상적으로, 외부 매체(20)로부터의 파일 시스템 액세스는 내부 메모리로 비트스트림을 판독할 수 있고, 그 다음 하나 이상의 비트스트림이 내부 메모리로부터 프로세서(12)의 TCM(24)으로 페치된다. 이는 외부 매체(20)로부터의 데이터 검색에서 레이턴시가 긴 경우에 바람직할 수 있다. 프로세서(24)의 TCM(24)에 이용 가능한 메모리가 충분한 다른 실시예에서, 파일 시스템 액세스 및 비트스트림 페치는 정확히 동일하다. 파일 시스템 액세스와 비트스트림 패치 간의 구별은 가능한 가장 넓은 범위로 해석되는 것으로 의도된다. 이 때문에 때때로 파일 시스템 액세스와 비트스트림 페치 간에 서로 다른 간격 또는 주기가 나타날 수 있다. 그러나 파일 시스템 액세스와 비트스트림 페치 간에 구별이 없는 여러 실시예에서, 이들은 정확히 동일하다. 시스템 요건들에 따라, 모바일 디바이스는 비트스트림을 압축 해제하는 애플리케이션 프로세서 또는 비트스트림을 압축 해제하는 전문(DSP) 프로세서를 구비할 수 있다. 본 개시의 목적으로, 프로세서(12)는 애플리케이션 프로세서 또는 전문(DSP) 프로세서일 수 있는 것으로 당업자들에게 이해된다.
오디오 프레임들은 일정한 크기일 수도 있지만 통상적으로는 10㎳ 내지 20㎳ 범위이다. 도 1에서, 비트스트림을 판독한 후 프로세서(12)는 비트스트림의 각 프레임을 디코딩하여 디코딩된 펄스 코딩 변조(PCM) 샘플들을 생성하고, 이를 샘플 기반(연속적인 전달) 또는 프레임 기반(대기열 전달) 데이터 전송에 의해 TCM(24)에서 아날로그-디지털(D/A) 변환 블록(14)으로 전송하며, D/A 변환 프로세스 동안의 양자화 잡음을 최소화하기 위해 업샘플링 및 잡음 쉐이핑(shaping) 동작이 실행될 수 있다.
도 2는 많은 단일 프레임 비트스트림의 디코딩을 설명하는 타이밍도이다. 비트스트림은 손실 압축, 무손실 압축, 예를 들어 런-길이(run-length) 코딩 등을 나타낼 수 있다. 파일 시스템 액세스 주기(26)는 프로세서(12)가 많은 프레임의 비트스트림 데이터를 프로세서(12)의 TCM(24)으로 전송하는 간격이다. 파일 시스템 액세스 주기(26)는 미리 정의된 비트스트림 버퍼 크기로 제한된다. 프로세서(12)는 비트스트림의 한 프레임(27)을 디코딩하고, 비트스트림의 다음 프레임의 디코딩을 시작하기 전에 때때로 유휴 상태가 된다. 프로세서(12)에 의한 연속한 프레임들의 디코딩 간의 시간 간격(T)은 다음과 같이 정의되며,
Figure 112010022132689-pct00001
여기서 Fs는 디코딩된 PCM 샘플들의 샘플링 주파수이고, PCMSamples per frame 은 오디오 코덱 포맷마다 한 번의 디코딩으로 생성된 PCM 샘플 수이다.
일례로, AAC 타입 오디오 프레임이 디코딩되고 있고, Fs가 44,100㎐라고 가정한다. 프로세서(12)는 AAC 비트스트림의 단일 프레임을 T = 1024/44100 = 23msec마다 주기적으로 디코딩하며, 여기서 AAC에 대한 PCMSamples per frame 은 1024이다. 이 23msec의 간격 동안, 통상적으로 프로세서(12)는 디코딩을 위해 아주 짧은 시간 동안 활동하며 오디오 재생을 위해 전체 23msec 동안 D/A 변환 블록(14) 및 한 프레임의 PCM 샘플들을 저장하는 TCM(24)만 활동할 필요가 있다. 프로세서(12)를 포함하는 오디오 디코딩 시스템의 나머지 부분들은 일단 디코딩이 완료되면 전력 효율적인 감쇠(collapse) 또는 (깊은) 슬립 모드로 전환되어 디코딩 시스템의 전력 소비를 절약할 수 있다.
그러나 이러한 접근의 한 가지 단점은 전력 감쇠 및 전력 웨이크업과 관련된 오버헤드이다. 예컨대, 프로세서(12)가 자신의 상태를 전력 감쇠 모드 또는 슬립 모드로 전환하거나 해당 모드에서 벗어날 때, 변수들의 모든 상태를 저장 또는 로딩할 필요가 있을 수 있으며, 이는 흔히 "작업간 전환(context switch)"으로 지칭된다. 작업간 전환과 관련된 타이밍 및 전력 오버헤드가 상당해질 수도 있어, 작업간 전환이 너무 자주 일어난다면 전력 감쇠로부터 달성될 수 있는 이익을 축소시킬 수 있다. 이런 이유로, PCM 샘플들이 TCM(24)으로부터 D/A 변환 블록(14)으로 전송되고 있을 때는 흔히 프로세서(12) 전력 감쇠가 이루어지지 않게 하는 것으로 결정된다. 상기와 관련된 전력 오버헤드를 최소화하기 위해, 본원에 개시된 일괄(batch) 디코딩 방식에 의해 더 긴 주기의 전력 감쇠가 가능해진다.
도 3a는 전력 효율적인 오디오 디코딩 시스템(28)에 대한 고 레벨 구조의 블록도를 나타낸다. 절전기 블록(30) 내의 2개의 블록이 오디오 재생중에 활성화한다. 절전기 블록(30)에 PCM 버퍼(32)를 추가함으로써, TCM(24)으로부터의 PCM 샘플들이 PCM 버퍼(32)로 전송될 수 있다. 오디오(PCM)는 프로세서(12)로부터 절전기 블록(30)으로 그룹이 전송(예를 들어, 기록)되기 전에 그룹화될 수 있다. 다른 실시예에서, 프로세서(12)는 비트스트림을 디코딩하여 PCM 샘플들을 직접 PCM 버퍼(32)에 기록할 수 있다. 오디오 비트스트림의 일정 개수의 연속한 프레임에 대해, 절전기 블록(30) 내의 PCM 메모리 버퍼(32) 및 D/A 변환 블록(14)을 제외한 오디오 디코딩 시스템은 더 장기간의 시간 동안 전력 효율적인 감쇠 또는 슬립 모드로 활동할 수 있다. 따라서 다수의 프레임과 관련된 비트스트림들이 일괄 디코딩될 수 있기 때문에 PCM 메모리 버퍼(32)의 추가는 전력 감쇠 및 웨이크업 회수의 감소에 도움을 준다. PCM 메모리 버퍼(32)는 다수의 메모리 뱅크를 포함할 수 있으며, 이러한 메모리 뱅크들은 전력 감쇠를 위해 독립적으로 제어될 수 있어 디코딩된 PCM 샘플들이 D/A 변환 블록(14)에 의해 디지털에서 아날로그로 변환되고 있을 때 임의의 뱅크가 차례로 오프될 수 있다. 각 메모리 뱅크는 전력 감쇠될 수 있으며, 이 때문에 전력 감쇠 메모리 뱅크이다. PCM 버퍼(32)를 추가함으로써, 일괄 디코딩이 완료된 후 오디오 샘플들의 저장에 관여하지 않는 디코딩 시스템의 부분들에 대해 전력이 스위칭 오프될 수 있다. 일괄 디코딩되는 비트스트림의 비트 수는 하나의 오디오 파일 길이보다 적을 수도 있다는 점에 주목해야 한다. 비교적 적은 수의 프레임을 포함하는 매우 작은 파일 크기에 대해, 전체 파일을 일괄 디코딩하는 것이 가능할 수도 있다.
도 3b는 한정된 물리적 크기의 PCM 메모리 버퍼(32)를 갖는 시스템에 대한 도 3a의 다른 실시예의 예를 나타낸다. 도 3a에 나타낸 시스템은 절전기(30)에서 D/A 변환 블록(14)과 PCM 메모리 버퍼(32) 사이에 무손실 디코더 블록(33)을 추가함으로써 더욱 빈번한 일괄 디코딩 활동에 사용될 수 있다. 그러나 더욱 빈번한 일괄 디코딩은 더 적은 전력 절약을 야기할 수 있는 것으로 당업자에게 알려져 있다. 도 3b는 PCM 메모리 버퍼(32)의 물리적 크기가 제한될 수 있지만 일괄 디코딩 이벤트들의 간격을 줄이는 것이 바람직하지 않은 경우에 대한 예시적인 실시예를 나타낸다. 일단 프로세서(12)가 비트스트림의 디코딩을 완료하면, 프로세서(12)는 (TCM(24) 또는 PCM 버퍼(32)로부터 액세스되는) 디코딩된 PCM 샘플들을 재인코딩할 수 있다. 따라서 디코딩된 PCM 샘플들의 재인코딩에 의해 오디오 프레임(또는 프레임들)에 대한 다른 비트 스트림이 생성된다. 그 다음, 다른 비트스트림은 PCM 버퍼(32)에 직접 기록될 수 있고, 무손실 디코더(33)는 이들을 직접 D/A 변환 블록(14)에 제공할 수 있다. 대안으로, 다른 비트스트림의 디코딩 후, 새로 생성된 PCM 샘플들은 이들을 외부 매체(20)에 전송하기 전에 TCM(24)에 기록될 수 있다. 무손실 코딩은 일반적으로 통상의 손실 코딩보다 적은 압축을 제공하지만, 무손실 코딩의 무손실 특성으로 인해 어떠한 왜곡도 유도하지 않고 통상적으로 데이터 크기의 30~40%까지 절약할 수 있다. 상술한 바와 같이, 도 3b에서 PCM 메모리 버퍼(32)에 저장된 데이터는 D/A 변환 블록(14)을 통해 재생되기 전에 무손실 디코더 블록(33)에 의해 디코딩될 수 있는 무손실 인코딩된 데이터(즉, 다른 비트스트림)일 수 있다. 절전기 블록에 무손실 디코더 블록(33)을 갖는 이점은 상당히 왜곡되지는 않는 PCM 샘플들을 재생하는 능력을 허용한다는 점이다.
도 4는 전력 효율적인 일괄 프레임 디코딩 시스템의 고 레벨 구조의 흐름도(33)를 나타낸다. 일괄 프레임 디코딩 시스템에 의해 비트스트림을 디코딩함으로써 오디오 샘플들이 생성된다(34). 프로세서를 포함하는 일괄 프레임 디코딩 시스템이 (PCM, mu-law, A-law일 수도 있는) 오디오 샘플들을 절전기 블록의 한 세트의 메모리 뱅크들 중 적어도 하나의 메모리 뱅크로 전송한다(35). 비트스트림 디코딩이 완료된 후, PCM 샘플들의 저장에 관여하지 않는 일괄 프레임 디코딩 시스템의 부분들에 대한 전력이 스위칭 오프된다(36). 오디오 샘플들이 D/A 변환기 블록(14)에 의해 이미 처리된 경우에 절전기 블록의 메모리 뱅크들에 대한 전력이 또한 스위칭 오프될 수 있다(37).
도 5는 PCM 메모리 버퍼(32) 크기가 비교적 큰 경우에 일괄 프레임 디코딩 타이밍도의 예를 나타낸다. 도 5의 파일 시스템 액세스 주기(40)는 오디오 비트스트림 데이터가 외부 매체(20) 또는 내부 메모리 위치로부터 버스(22)를 통해 TCM(24) 버퍼로 전송되는 시간 간격을 나타낸다. 버스(22)는 적어도 하나의 버스를 나타낸다. 파일 시스템 액세스 주기(40)는 TCM(24)에서 할당된 비트스트림 버퍼 할당량에 의해 제한된다. 예를 들어, 원본 비트스트림의 비트 레이트가 128kbps이고 전송될 최대 비트스트림이 32Kbytes라면, 버스(22)의 최대 대역폭에 따라 단일 전송 또는 다중 전송에 의해 총 2초 재생 시간의 비트스트림 데이터가 최대한으로 TCM에 전송될 수 있다.
t초의 재생을 위한 PCM 블록 크기의 (바이트 단위의) 최대 크기(L)가 다음 식으로부터 얻어질 수 있으며:
Figure 112010022132689-pct00002
여기서 t는 재생 시간,
Fs는 샘플링 주파수,
ch는 채널 수,
bit_ precision은 각 PCM 샘플을 나타내는 비트 수이다.
예를 들면, 48000㎐의 샘플링 주파수, 스테레오 채널 및 16 비트의 데이터 정확도와 함께 2초의 재생 시간을 갖는 PCM 블록 크기에 대해서는
Figure 112010022132689-pct00003
이어야 한다. 이 예에서 PCM 메모리 버퍼(32)가 384000 바이트보다 클 때, 오디오 디코더는 2초의 재생 시간 동안 비트스트림 데이터를 끊임없이 일괄 프레임 디코딩할 수 있다. 따라서 더 큰 PCM 메모리 버퍼(32) 크기가 일괄 프레임 오디오 디코딩 주기(50)를 구속하지 않는다. 절전기 블록(30)을 제외한 디코딩 시스템은 전력 효율적인 감쇠 또는 슬립 모드에 진입할 수 있다. 시스템이 일단 저전력 모드에 진입하면, 디코딩된 PCM 샘플들 전부 또는 대부분이 소비될 때만 시스템이 웨이크업할 필요가 있을 수 있다.
본 개시에서 설명되는 일괄 프레임 디코딩 방식은 종래의 디코딩 방식에 비해 전력 감쇠/웨이크업 사이클의 감소를 보여준다. 여기서 설명하는 일괄 프레임 디코딩 방식의 다른 형태는 파일 액세스 동작과 오디오 디코딩 동작이 모두 오디오 디코딩 시스템이 완전히 전력 상승한 동안 동시에 수행될 수 있으며, 따라서 또 한번 전력 감쇠/웨이크업 사이클을 감소시킬 수 있는 것이다.
전력 감쇠/웨이크업 동작과 관련된 프로세서(12) 오버헤드의 감소 외에도, 일괄 프레임 디코딩 방식으로 인해 더 긴 베이스라인(일괄 프레임 오디오 디코딩) 주기가 발생한다. 이는 절전기 블록들 외에도 하드웨어 블록들의 더 많은 전력 중단 가능성을 허용한다.
도 6은 PCM 메모리 버퍼 크기(32)가 비교적 작은 경우에 일괄 프레임 디코딩 타이밍도의 예를 나타낸다. 이 경우, 도 5로부터의 일괄 프레임 오디오 디코딩 주기(50)는 3개의 예시적인 일괄 프레임 오디오 디코딩 주기(54A, 54B, 54C)로 나타난다. 이 실시예에서, 이러한 예시적인 일괄 프레임 오디오 디코딩 주기들(54A, 54B, 54C) 각각은 PCM 메모리 버퍼(32)의 물리적 크기에 의해 구속된다. 각각의 예시적인 일괄 프레임 오디오 코딩 주기 동안 다수의 프레임이 디코딩될 수 있다. 이 실시예에서, PCM 메모리 버퍼(32)는 더 큰 PCM 메모리 버퍼(32)를 가진 도 5에서 설명된 예에서 생성된 PCM 샘플들을 모두 수용할 수 없다. 그 결과, 프로세서(12)는 파일 시스템 액세스 주기(40) 사이에 몇 번 전력 감쇠 또는 슬립 모드를 벗어나 웨이크업한다(프로세서 웨이크업 주기(52) 참조). 반면, 도 5에서 설명한 실시예의 결과로서 프로세서(12)는 더 큰 PCM 메모리 버퍼(42) 및 이에 따라 더 긴 일괄 프레임 오디오 디코딩 주기(50) 때문에 파일 시스템 액세스 주기(40) 사이에 몇 번 웨이크업하지 않았다. 따라서 PCM 메모리 버퍼(32)가 클 때와 비교해 PCM 메모리 버퍼(32)가 더 작을 때, 한정된 회수의 전력 감쇠/웨이크업 사이클로 인한 전력 절약이 더 적을 수도 있다. 도 6에도 프로세서 웨이크업 주기(52)가 도시되어 있다.
도 7은 기록 포인터(60) 및 판독 포인터(62)가 PCM 메모리 버퍼(32)에서 2개의 서로 다른 메모리 위치를 지시하고 있는 PCM 메모리 버퍼(32)의 스냅샷을 나타낸다. 가장 마지막으로 기록된 데이터의 위치가 기록 포인터(60)로 불리는 어드레스 레지스터에 의해 레코딩된다. 버퍼 제어 로직(BCL)(80)(도 9 참조)에 의해 PCM 메모리 버퍼(32)로부터 판독된 마지막 데이터의 위치가 판독 포인터(62)로 불리는 어드레스 레지스터에 의해 레코딩된다. 판독 포인터(62)와 기록 포인터(60) 모두 계속해서 동일 방향으로 진행하고, 이들의 값이 PCM 메모리 버퍼(32)의 최종 어드레스와 동일할 때, 랩어라운드(wrap around)하여 PCM 메모리 버퍼(32)의 시작 어드레스와 동일한 값으로 리셋되며, 이는 순환 어드레싱으로 알려져 있다. 도 7에서, PCM 메모리 버퍼(32)의 최상부는 기록 포인터(60)가 최상부 메모리 위치들을 막 통과했을 때 "신규" 데이터를 포함한다. 판독 포인터(62)는 "구(old)" 오디오 데이터를 판독하고 있다. 판독 포인터(62)는 워터마크(64)에 도달하면, 프로세서(12)로 하여금 오디오 프레임들의 디코딩을 다시 시작하게 한다. 디코딩된 PCM 샘플들은 PCM 메모리 버퍼(32)에 기록되어 기록 포인터(60)의 증가를 일으킬 것이고, 이에 따라 워터마크(64) 또한 증가할 것이다.
웨이크업 중단 없이 수 초 정도의 전력 감쇠 또는 슬립 모드를 달성하기 위해, 비교적 큰 PCM 메모리 버퍼(32)가 필요할 수도 있다. 큰 단일 PCM 메모리 버퍼(32)보다는 더 작은 메모리 뱅크들의 어레이가 물리적 PCM 메모리 하드웨어에 사용될 수 있다. 각각의 더 작은 메모리 뱅크는 전력 감쇠를 위해 독립적으로 제어될 수 있어, 디코딩된 PCM 샘플들이 D/A 변환 블록(14)에 의해 디지털에서 아날로그로 변환되고 있을 때 임의의 메모리 뱅크가 차례로 오프될 수 있다.
도 8에 나타낸 PCM 메모리 버퍼(32)는 다수의 메모리 뱅크(66, 68, 70, 72)를 포함하며, 이들 각각은 독립적으로 전력 상승 또는 하강할 수 있다. (도 9에 나타낸) BCL(80)은 독립적인 메모리 블록들을 전력 상승 또는 하강시키는 방법들을 제공할 수 있다. 도 8에서 판독 포인터(62)가 도면 왼쪽에 도시된 메모리 뱅크의 끝에 도달한 후, 메모리 뱅크(66)는 전력 감쇠(74)되는데, 즉 그 메모리 뱅크에 더 이상 전력이 제공되지 않는다. 다수의 메모리 뱅크를 구비함으로써, 오디오 샘플들이 (예를 들어, TCM(24)으로부터) 절전기 블록(30)의 한 세트의 메모리 뱅크 중 적어도 하나의 메모리 뱅크로 전송될 수 있다. 메모리 뱅크 내의 모든 PCM 샘플이 액세스된 후 메모리 뱅크에 전력이 차단될 수 있다. 액세스된 샘플들은 적어도 하나의 스피커 밖으로 재생된다. 대안적인 실시예에서, 액세스된 샘플들은 파일로 판독될 수 있다.
도 8의 PCM 메모리 버퍼(32)는 처음에 정상 동작 모드 동안에는 처리 코어(84)에 의해 제공된 모든 데이터를 포함하고, 모든 메모리 뱅크에 전력이 공급되게 한다. 판독 및 기록 포인터에 대한 증분들의 시퀀스를 고려하면, 무효 데이터를 포함하는 두 세트의 가능한 어드레스 위치들이 있다. 제 1 세트는 판독 포인터(62)가 수치상 기록 포인터(60)보다 값이 더 큰 경우이고, 이러한 어드레스들 또는 버퍼 위치들의 세트는 판독 포인터(62)보다는 값이 작지만 기록 포인터(60)보다는 값이 큰 것들로 구성된다. 제 2 세트는 판독 포인터(62)는 수치상 기록 포인터(60)보다 값이 작은 경우이고, 이러한 어드레스들 또는 버퍼 위치들의 세트는 판독 포인터(62)보다 값이 작거나 기록 포인터(60)보다 값이 큰 것들로 구성된다. 판독 포인터(62)와 기록 포인터(60)의 서로 상대적인 위치에 따라, 상기의 적절한 세트가 식별되고, 해당하는 메모리 뱅크들이 전력 하강한다.
도 9는 일괄 프레임 디코딩 방식에 사용되는 하드웨어/소프트웨어 블록들의 더 상세한 묘사를 나타낸다. 프로세서(12)는 다수의 오디오 프레임으로부터 비트스트림들을 디코딩하고, 출력된 PCM 샘플들을 PCM 메모리 버퍼(32)에 기록한다. 이 단계가 완료된 후, 프로세서(12)는 도 9의 전력 관리 블록(76)의 전력 관리기(PM)(81)를 프로그래밍한다. 이와 같이 PM(81)을 프로그래밍하는 동작은 프로세서(12)에 대한 전력을 오프한다. 일정량의 PCM 샘플들이 도 9의 PCM 메모리 버퍼(42)로부터 D/A 변환 블록(14)으로 전송되었을 때, BCL(80)은 워터마크를 기초로 PM(81)의 프로그래밍을 시작한다. PM(81)은 투표(voting) 프로세스에 의해 작동한다. 과반수의 투표가 "상승"이라면, 프로세서(12)는 전력 관리 집적 회로(PMIC)(82)를 통해 온 상태가 된다. 투표들이 "하강"이라면, 프로세서(12)는 PMIC(82)를 통해 오프 상태가 된다. 프로세서(12)에 의한 비트스트림의 디코딩이 PCM 샘플들을 생성하는 기간 동안, PM(81)은 프로세서(12)에 대한 전력이 상승하는 것으로 투표한다. PMIC는 프로세서(12)에 전압을 제공한다. 프로세서(12)가 전력 상승한 후, 프로세서(12)는 다음 오디오 프레임들에 대응하는 비트스트림들의 디코딩을 다시 시작한다. 이러한 시퀀스는 오디오 콘텐츠가 완벽하게 디코딩되어 D/A 변환 블록(14)에 의해 처리되고 스피커(들)로 재생될 때까지, 또는 사용자 개입에 의해 프로세스가 중단될 때까지 반복한다.
프로세서(12)는 (S/W로 표기된) 다수의 전력 제어 풋 스위치(foot switch)(83A, 83B)에 연결된다. 프로세서(12) 내부에는 L1 및 L2 캐시 메모리(85)에 연결된 처리 코어(84)가 있다. L1 및 L2 캐시 메모리는 선택적이다. 처리 코어(84)는 프로세서(12)로 데이터를 전송하기 위해 (도시하지 않은) 메모리 제어기를 사용하여 외부 매체(20)에 데이터를 기록하고 액세스할 수 있다. 대안으로, 처리 코어(84)는 외부 매체(20)로 직접 판독한 다음, 비트스트림을 프로세서(12)에 전송할 수 있다. 프로세서(12)에 의한 비트스트림의 디코딩은 PCM 메모리 버퍼(32)에 저장된 PCM 샘플들을 생성한다. 단순하게 하기 위해 PCM 버퍼(32)와 프로세서(12) 간의 데이터 접속은 도 9에 도시되지 않는다. 풋 스위치(83A, 83B)는 최신 65㎚ 또는 45㎚ 반도체 프로세스에서 전력 소비의 유력한 소스가 되는 누설 전류를 감소시킨다.
모뎀(87)은 집적 회로(또는 일련의 집적 회로들)에서 작동하고 있을 수도 있다. 모뎀(87)은 보통 자체적인 전력 제어 로직을 갖는다. 그러나 모뎀(87)이 활동할 때 전력 관리기(81)에 신호를 전송할 수 있다. 신호는 모뎀 자체의 온/오프 상태일 수 있다. 이 상태는 BCL(80)에 의해 "투표" 신호(상승/하강)로 해석될 수 있다. 일례로, 모뎀(87)이 온 상태라면, 투표는 상승일 수 있고, 모뎀(87)이 오프 상태라면, 투표는 하강일 수 있다. 따라서 모뎀(87)은 비트스트림의 디코딩에 수반되는 프로세서(12)의 전력 사이클링(프로세서(12)가 언제 웨이크업하고 슬립 또는 전력 감쇠에 진입하는지)을 실행하는데 사용될 수 있다. 모뎀(87)을 사용하여 전력 사이클링을 실행하는 것은 선택적인 특징이다.
도 10은 PCM 버퍼 메모리(32)로부터 판독하는 판독 포인터(62)의 로직 제어에 대한 흐름도(88)를 나타낸다. 이러한 로직 제어는 BCL(80) 블록에 의해 수행될 수 있다. 워터마크(64)가 도 11에 나타낸 로직을 통해 프로세서(12)에 의해 설정되고, BCL(80)에 의해 계속해서 판독 포인터(62)와 비교될 수 있다. 판독 포인터(62)가 워터마크(64)와 같을 때(YES), 신호(전압 상승)가 PM(81)으로 전달된다(91). 전압 상승 신호는 PM(81)이 PMIC(82)를 통해 프로세서(12)에 대한 전력을 온으로 해야 한다는 것을 나타낸다. 프로세서(12)는 통상의 비트스트림 디코딩을 시작한다. 판독 포인터(62)가 워터마크(64)와 동일하지 않다면, 판독 포인터는 증분하고 뱅크의 최대 메모리 어드레스(또는 메모리가 메모리 뱅크들의 어레이가 아니라면 전체 메모리)와 모듈로(modulo) 비교된다.
도 11은 PCM 버퍼 메모리(42)에 기록하는 기록 포인터(60) 및 워터마크(64)의 로직 제어에 대한 흐름도(92)를 나타낸다. 이러한 로직 제어는 BCL(80) 블록에 의해 수행될 수 있다. 로직은 프로세서가 온인지 여부를 확인해야 한다(94). 프로세서(12)가 온이 아니라면(NO), 프로세서(12)가 온이 될 때까지(YES) 다른 확인(94)이 수행된다. 기록 포인터(60) 및 판독 포인터(62)가 비교되고(95), 포인터들이 동일하다면(YES), 신호(전압 하강)가 전력 관리기(PM)(81)로 전달된다(96). 전압 하강 신호는 PM(81)이 PMIC(82)를 통해 프로세서(12)에 대한 전력을 오프해야 한다는 것을 나타낸다. 그 다음, 프로세서(12)는 전력 감쇠된다. 기록 포인터(60)가 판독 포인터(62)와 동일하지 않다면, 기록 포인터(60)가 증분하고 뱅크의 최대 메모리 어드레스(또는 메모리가 메모리 뱅크들의 어레이가 아니라면 전체 메모리)와 모듈로 비교된다(97). 다음 워터마크(64)는 기록 포인터(60) - 오프셋 + 최대 메모리 어드레스와 같고, 뱅크의 최대 메모리 어드레스(또는 메모리가 메모리 뱅크들의 어레이가 아니라면 전체 메모리)와 모듈로 비교된다(98). 오프셋은 신호(상승에 투표)가 PM(81)에 전송된 시간과 프로세서(12)가 전력 상승한 시간 사이에 얼마간의 레이턴시가 있는 것을 고려하기 위한 것이다. 도 10에 나타낸 것과 같이, 판독 포인터(62)와의 비교에 워터마크가 사용되어 프로세서가 언제 웨이크업하는지를 제어한다.
도 12는 모뎀 활동, 파일 시스템 액세스, 비트스트림 페치, 오디오 디코딩 처리 시스템의 전력 상승, 및 일괄 디코딩의 예시적인 타이밍도를 나타낸다. 도면에 반드시 예시된 것은 아니지만, 이들 이벤트는 서로 동기화될 수 있다. 모뎀은 슬롯 모드(slotted mode)로 작동할 수 있다. 슬롯 모드는 모바일 디바이스가 어떤 일정량의 시간보다 오래 유휴 상태로 진행할 때마다 모바일 디바이스를 슬립 모드가 되게 한다. 모바일 디바이스는 웨이크업하여 일정 슬롯들의 시간 동안 페이징 채널을 짧게 모니터하기 때문에, 즉 페이징 채널이 슬롯화되기 때문에 슬롯 모드는 전력 소비를 감소시킨다. 모바일 디바이스가 얼마나 오래 슬립 상태인지와 페이지들이 언제 도착하는지 사이에 트레이드오프(tradeoff)가 존재한다. 슬립 시간이 길수록 페이지가 없어질 가능성이 커진다. 도 12의 제 1 타이밍도(100)에 나타낸 모뎀 활동은 슬롯 모드로 작동하는 모뎀의 예이다. 따라서 도시한 제 1 타이밍도(100)의 활동 시간 주기는 모뎀이 슬롯 모드일 때의 페이징 채널을 나타내며, 이는 슬롯화된 페이징 채널 또는 '페이징 채널이 슬롯화됨'으로 지칭된다. 제 2 타이밍도(104)에 나타낸 파일 시스템 액세스는 모뎀 활동과 동기화될 수 있다. 제 3 타이밍도(108)의 비트스트림 페치 또한 모뎀 활동과 동기화될 수 있다. 또한, TCM(24)의 버퍼 크기(109)는 비트스트림 페치가 얼마나 빈번한지를 제한할 수 있다. 상기한 바와 같이, 파일 시스템 액세스 및 비트스트림 패치는 동일할 수도 있다. 이러한 경우, 비트스트림 페치와 파일 시스템 액세스의 타이밍도에 대한 도 12의 예시는 동일할 것이다. 제 4 타이밍도(112)는 오디오 디코딩 처리 시스템의 전력 상승을 나타내고, 이는 또한 모뎀 활동과 동기화될 수도 있다. 도 5에 나타낸 것(50)과 비슷한 일괄 프레임 오디오 디코딩 주기(113)가 도시된다. 일괄 디코딩은 "버스트(burst)"하게 일어날 수도 있다. 상기한 바와 같이, 본 개시의 목적으로 프로세서(12)는 애플리케이션 프로세서 또는 전문(DSP) 프로세서일 수 있는 것으로 당업자에게 이해된다. 프로세서(12)가 애플리케이션 프로세서일 때, 버스트는 주기적으로, 예를 들어 420㎳에 일어날 수 있다. 프로세서(12)는 (제 4 타이밍도(112)에 나타낸 것과 같이) 버스트들 사이에 웨이크업할 수 있다. 당업자는 또한 애플리케이션 프로세서 및 DSP가 함께 작동하여 일괄 디코딩 시스템(즉, 일괄 디코딩 또는 버스트 매치 디코딩)을 구현할 수 있는 것으로 인식할 것이다. 각 버스트에는, 제 5 타이밍도(114)에 나타낸 것과 같이 많은 일괄 디코딩이 있을 수 있으며, 이는 PCM 샘플들이 재생되는 것보다 빠르게 PCM 샘플들을 생성한다. 따라서 이러한 버스트 일괄 프레임 디코딩은 또한 실시간(FTRT) 디코딩보다 빠른 것으로 알려져 있다. FTRT에서 일괄 디코딩들은 함께 그룹화되어 프로세서(12)에 대한 유휴 시간을 더 증가시킨다. 따라서 전력 소비가 훨씬 더 감소한다.
도 13은 모뎀 활동, 비트스트림 페치 및 일괄 디코딩이 동기화될 때의 예시(120)이다. 일괄 디코딩의 완료 직후 전력 감쇠가 어떻게 일어나는지도 설명된다.
도 14a는 오디오 디코딩 처리 시스템의 전력 상승 주기가 어떻게 조정될 수 있는지(130)를 설명한다. 오디오 디코딩 처리 시스템은 비트스트림 페치나 모뎀 활동 이벤트가 일어날 때 전력 상승 주기가 조정될 수 있도록 구성될 수 있다. 조정은 도 14a에서 설명된다. 도 14b는 비트스트림 페치 또는 모뎀 활동의 구성에 의존하지 않고 디코딩 처리 시스템의 동작(135)을 설명하는데, 즉 전력 상승 주기가 조정되지 않는다. 오디오 디코딩 처리 시스템은 또한 파일 액세스들이 전력 상승 주기를 조정하도록 동작할 수도 있다(도시하지 않음).
도 15는 모바일 디바이스(140)에 이용될 수 있는 다양한 컴포넌트를 설명하는 블록도이다. 모바일 디바이스(140)는 전력 효율적인 일괄 프레임 오디오 디코딩을 위해 여기서 설명한 시스템들 및 방법들을 구현하는데 사용될 수 있는 디바이스의 예이다.
모바일 디바이스(140)는 프로세서(142)를 포함한다. 프로세서(142)는 범용 단일 또는 다중 칩 마이크로프로세서(예를 들어, ARM), 전용 마이크로프로세서, 예를 들어, DSP, 마이크로컨트롤러, 프로그램 가능 게이트 어레이 등일 수 있다. 프로세서는 중앙 처리 유닛(CPU)으로 지칭될 수도 있다. 도 15의 모바일 디바이스(140)에는 단일 프로세서만 도시되어 있지만, 다른 구성에서는 프로세서들(142)의 조합(예를 들어, ARM과 DSP)이 사용될 수 있다.
모바일 디바이스(140)는 또한 메모리(144)를 포함한다. 메모리(144)는 전자 정보를 저장할 수 있는 임의의 전자 컴포넌트일 수 있다. 메모리(144)는 이들의 조합을 포함하여 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), 자기 디스크 저장 매체, 광 저장 매체, RAM의 플래시 메모리 디바이스들, 프로세서에 포함되는 내장 메모리, 소거할 수 있는 프로그램 가능 판독 전용 메모리(EPROM), 전기적으로 소거할 수 있는 PROM(EEPROM), 레지스터 등으로 구현될 수 있다.
데이터(146) 및 명령들(148)이 메모리(144)에 저장될 수 있다. 명령들(148)은 다양한 기능을 구현하도록 프로세서(142)에 의해 실행 가능할 수 있다. 명령들(148)의 실행은 메모리(144)에 저장된 데이터(146)의 사용을 수반할 수 있다. 프로세서(142)가 명령들(148)을 실행할 때, 명령들(148)은 프로세서(142) 상에 특정 명령들(148A)을 로딩할 수 있다. 비트스트림 디코딩에 사용되는 로딩된 명령들(148A)이 예시된다.
메모리(144)에서 데이터(146)의 어떤 예시들은 이에 한정되는 것은 아니지만, 비트스트림 데이터(146A), 디지털 오디오의 샘플들로부터의 데이터(예를 들어, PCM 데이터)(146B) 등을 포함한다. 여기서 설명한 기술들의 구현과 관련된 다른 타입의 데이터(146)가 메모리(144)에 포함될 수도 있다.
메모리(144)에서 명령들(148)의 어떤 예시들은 비트스트림 디코딩을 위한 명령들은 물론, 여기서 설명한 시스템들 및 방법들에 대응하는 다른 명령들도 포함한다. 여기서 설명한 기술들의 구현과 관련된 다른 명령들(148)이 메모리(144)에 포함될 수도 있다.
모바일 디바이스(140)는 또한 모바일 디바이스(140)와 원격 위치 간의 데이터 송수신을 가능하게 하는 송신기(150) 및 수신기(152)를 포함할 수 있다. 송신기(150) 및 수신기(152)는 트랜시버(154)로 조합될 수도 있다. 안테나(156)가 트랜시버(154)에 전기적으로 연결될 수 있다. 모바일 디바이스(140)는 또한 (도시하지 않은) 다수의 송신기, 다수의 수신기, 다수의 트랜시버 및/또는 다수의 안테나를 포함할 수도 있다.
모바일 디바이스(140)는 또한 스피커들(157)을 포함할 수 있어, 사용자가 오디오를 들을 수 있다. 모바일 디바이스(140)는 또한 2개 이상의 마이크(158A, 158B, … , 158N 등)를 포함할 수 있다.
모바일 디바이스(140)의 각종 컴포넌트는 데이터 버스 외에도 전력 버스, 제어 신호 버스 및 상태 신호 버스를 포함할 수 있는 버스 시스템(160)에 의해 함께 연결될 수 있다. 그러나 간략하게 하기 위해, 도 15에서 각종 버스는 버스 시스템(162)으로 도시된다.
상기 설명에서, 때때로 다양한 용어와 관련하여 참조 부호들이 사용되었다. 용어가 참조 부호와 관련하여 사용된 경우, 이는 도면들 중 하나 이상에 도시된 특정 엘리먼트를 지칭하는 것이다. 용어가 참조 부호 없이 사용된 경우, 이는 임의의 특정 도면으로의 한정 없이 일반적으로 용어를 지칭하는 것이다. 예를 들어, "모바일 디바이스(140)"에 대한 언급은 도 15에 나타낸 특정 모바일 디바이스를 말한다. 그러나 참조 부호 없이 "모바일 디바이스"의 사용은 용어가 사용되는 상황에 적절한 임의의 모바일 디바이스를 말하며, 도면에 나타낸 어떤 특정 모바일 디바이스들로도 한정되는 것이 아니다.
여기서 사용된 바와 같이, "결정"이라는 용어는 광범위한 동작들을 포괄하며, 따라서 "결정"은 계산, 연산, 처리, 유도, 연구, 조사(예를 들어, 테이블, 데이터베이스 또는 다른 데이터 구조의 조사), 확인 등을 포함할 수 있다. 또한, "결정"은 수신(예를 들어, 정보 수신), 액세스(예를 들어, 메모리의 데이터 액세스) 등을 포함할 수 있다. 또한, "결정"은 해결, 선택, 선출, 설정 등을 포함할 수 있다.
"기초로"라는 문구는 특별히 달리 특정하지 않는 한 "~만을 기초로"를 의미하는 것이 아니다. 즉, "기초로"라는 문구는 "~만을 기초로"와 "적어도 ~을 기초로"를 모두 설명한다.
"프로세서"라는 용어는 범용 프로세서, CPU, 마이크로프로세서, DSP, 제어기, 마이크로컨트롤러, 상태 머신 등을 포괄하는 것으로 넓게 해석되어야 한다. 어떤 상황에서, "프로세서"는 주문형 집적 회로(ASIC), 프로그램 가능 로직 디바이스(PLD), 현장 프로그램 가능 게이트 어레이(FPGA) 등을 말할 수도 있다. "프로세서"라는 용어는 처리 디바이스들의 조합, 예를 들어 DSP와 마이크로프로세서의 조합, 다수의 마이크로프로세서, DSP 코어와 결합한 하나 이상의 마이크로프로세서, 또는 임의의 다른 구성을 말할 수도 있다.
"메모리"라는 용어는 전자 정보를 저장할 수 있는 임의의 전자 컴포넌트를 포괄하는 것으로 넓게 해석되어야 한다. 메모리라는 용어는 RAM, ROM, 비휘발성 랜덤 액세스 메모리(NVRAM), 프로그램 가능 판독 전용 메모리(PROM), EPROM, EEPROM, 플래시 메모리, 자기 또는 광 데이터 저장소, 레지스터 등과 같은 다양한 타입의 프로세서 판독 가능 매체를 말할 수 있다. 메모리는 프로세서가 메모리로부터 정보를 판독할 수 있고 그리고/또는 메모리에 정보를 기록할 수 있다면 프로세서와 전자 통신한다고 한다. 메모리는 프로세서에 통합될 수도 있으며 여전히 프로세서와 전자 통신한다고 할 수 있다.
"명령들" 및 "코드"라는 용어들은 임의의 타입의 컴퓨터 판독 가능 명령문(들)을 포함하는 것으로 넓게 해석되어야 한다. 예를 들어, "명령들" 및 "코드"라는 용어들은 하나 이상의 프로그램, 루틴, 서브루틴, 함수, 프로시저 등을 말할 수 있다. "명령들" 및 "코드"는 단일 컴퓨터 판독 가능 명령문 또는 다수의 컴퓨터 판독 가능 명령문을 포함할 수 있다.
여기서 설명한 기능들은 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 임의의 조합으로 구현될 수 있다. 소프트웨어에 구현된다면, 이 기능들은 컴퓨터 판독 가능 매체 상에 하나 이상의 명령으로서 저장될 수도 있다. "컴퓨터 판독 가능 매체"라는 용어는 컴퓨터에 의해 액세스될 수 있는 임의의 이용 가능 매체를 말한다. 한정이 아닌 예시로, 컴퓨터 판독 가능 매체는 RAM, ROM, EEPROM, CD-ROM이나 다른 광 디스크 저장소, 자기 디스크 저장소 또는 다른 자기 저장 디바이스들, 또는 명령이나 데이터 구조의 형태로 원하는 프로그램 코드를 운반 또는 저장하는데 사용될 수 있으며 컴퓨터에 의해 액세스 가능한 임의의 다른 매체를 포함할 수 있다. 여기서 사용된 것과 같은 디스크(disk 및 disc)는 콤팩트 디스크(CD), 레이저 디스크, 광 디스크, 디지털 다목적 디스크(DVD), 플로피디스크 및 블루레이
Figure 112010022132689-pct00004
디스크를 포함하며, 디스크(disk)들은 보통 데이터를 자기적으로 재생하는 반면, 디스크(disc)들은 데이터를 레이저에 의해 광학적으로 재생한다.
소프트웨어나 명령들은 전송 매체를 통해 전송될 수도 있다. 예를 들어, 소프트웨어가 동축 케이블, 광섬유 케이블, 꼬임 쌍선, 디지털 가입자 회선(DSL), 또는 적외선, 라디오 및 초고주파와 같은 무선 기술을 이용하여 웹사이트, 서버 또는 다른 원격 소스로부터 전송된다면, 동축 케이블, 광섬유 케이블, 꼬임 쌍선, DSL, 또는 적외선, 라디오 및 초고주파와 같은 무선 기술들이 전송 매체의 정의에 포함된다.
본원에 개시된 방법들은 설명한 방법을 달성하기 위한 하나 이상의 단계 또는 동작을 포함한다. 방법 단계들 및/또는 동작들은 청구범위를 벗어나지 않고 서로 교환될 수 있다. 즉, 설명되고 있는 방법의 적절한 동작을 위해 단계들 또는 동작들의 특정 순서가 요구되지 않는 한, 특정 단계들 및/또는 동작들의 순서 및/또는 사용은 청구범위를 벗어나지 않고 변경될 수 있다.
또한, 여기서 설명한 방법들 및 기술들을 수행하기 위한 모듈들 및/또는 다른 적절한 수단은 모바일 디바이스 및/또는 기지국에 의해 적절히 다운로드 및/또는 달리 얻어질 수 있다. 예를 들어, 이러한 디바이스는 서버에 연결되어 여기서 설명한 방법들을 수행하기 위한 수단의 전송을 용이하게 할 수 있다. 대안으로, 여기서 설명한 다양한 방법은 모바일 디바이스 및/또는 기지국이 저장 수단을 디바이스에 연결 또는 제공할 때 다양한 방법을 얻을 수 있도록 저장 수단(예를 들어, RAM, ROM, 콤팩트 디스크(CD)나 플로피디스크와 같은 물리적 저장 매체 등)을 통해 제공될 수 있다. 더욱이, 여기서 설명한 방법들 및 기술들을 제공하기 위한 임의의 적당한 기술이 이용될 수 있다.
청구범위는 상기에 예시된 정확한 구성 및 컴포넌트들로 한정되는 것이 아님을 이해해야 한다. 여기서 설명한 시스템들, 방법들 및 장치들의 배치, 동작 및 상세에 대해 청구범위를 벗어나지 않으면서 다양한 변형, 변경 및 개조가 이루어질 수 있다.

Claims (48)

  1. 전력을 절약하는 방법으로서,
    디코딩 시스템으로 비트스트림을 디코딩함으로써 오디오 샘플들을 생성하는 단계;
    절전기 블록의 한 세트의 메모리 뱅크들에 오디오 샘플들을 전송하는 단계;
    상기 한 세트의 메모리 뱅크들의 제 1 메모리 뱅크로부터 상기 오디오 샘플들을 출력하는 단계; 및
    상기 제 1 메모리 뱅크로부터 상기 오디오 샘플들이 출력된 후 상기 절전기 블록에서 상기 제 1 메모리 뱅크에 대한 전력을 스위칭 오프(switching off)하는 단계를 포함하는, 전력 절약 방법.
  2. 제 1 항에 있어서,
    상기 비트스트림은 하나의 오디오 파일 길이보다 적은 비트들을 포함하는, 전력 절약 방법.
  3. 제 1 항에 있어서,
    상기 한 세트의 메모리 뱅크들의 상기 제 1 메모리 뱅크는 전력 감쇠 가능(collapsible) 메모리 뱅크인, 전력 절약 방법.
  4. 제 1 항에 있어서,
    상기 오디오 샘플들을 생성하는 단계는 추가 데이터를 페치(fetch)하기 위해 페이징 채널로부터 통지를 수신하는 단계를 포함하는, 전력 절약 방법.
  5. 제 1 항에 있어서,
    상기 오디오 샘플들을 생성하는 단계는 추가 데이터의 디코딩을 시작하기 위해 페이징 채널 상에서 통지를 수신하는 단계를 포함하는, 전력 절약 방법.
  6. 제 4 항에 있어서,
    상기 적어도 하나의 페이징 채널은 슬롯화되는, 전력 절약 방법.
  7. 제 5 항에 있어서,
    상기 적어도 하나의 페이징 채널은 슬롯화되는, 전력 절약 방법.
  8. 제 1 항에 있어서,
    오디오 디코딩을 비트스트림 페치와 동기화하는 단계를 더 포함하는, 전력 절약 방법.
  9. 제 8 항에 있어서,
    상기 동기화하는 단계는 비트스트림 페치 사이에 다수의 오디오 디코딩 이벤트들을 포함하는, 전력 절약 방법.
  10. 제 8 항에 있어서,
    상기 오디오 디코딩을 동기화하는 단계는 페이징 채널 상에서 통지를 수신하는 단계를 포함하는, 전력 절약 방법.
  11. 제 1 항에 있어서,
    상기 오디오 샘플들의 전송은 무손실 압축인, 전력 절약 방법.
  12. 제 11 항에 있어서,
    상기 오디오 샘플들의 전송은 재인코딩 후에 일어나는, 전력 절약 방법.
  13. 제 1 항에 있어서,
    상기 비트스트림은 손실 압축을 나타내는, 전력 절약 방법.
  14. 제 13 항에 있어서,
    상기 손실 압축은 A-law 및 mu-law인, 전력 절약 방법.
  15. 제 1 항에 있어서,
    메모리 뱅크의 모든 오디오 샘플들이 액세스된 후 상기 메모리 뱅크에서 전력을 차단하는 단계를 더 포함하는, 전력 절약 방법.
  16. 제 15 항에 있어서,
    액세스된 샘플들은 적어도 하나의 스피커 밖으로 재생되는, 전력 절약 방법.
  17. 제 15 항에 있어서,
    액세스된 샘플들은 파일로 판독되는, 전력 절약 방법.
  18. 제 1 항에 있어서,
    상기 전력을 스위칭 오프하는 단계는 모바일 디바이스를 전력 효율적인 감쇠 또는 슬립 모드가 되게 하는 단계를 포함하는, 전력 절약 방법.
  19. 제 1 항에 있어서,
    상기 전력을 스위칭 오프하는 단계는 전력 관리기에 의해 제어되는 전자 스위치를 사용하는 단계를 포함하는, 전력 절약 방법.
  20. 제 19 항에 있어서,
    상기 전력 관리기는 로직 제어 회로를 포함하는, 전력 절약 방법.
  21. 제 19 항에 있어서,
    상기 전력 관리기는 워터마크를 기초로 버퍼 제어 로직에 의해 시작되는, 전력 절약 방법.
  22. 디바이스로서,
    적어도 하나의 비트스트림을 저장하는 메모리;
    상기 메모리에 연결되어, 상기 적어도 하나의 비트스트림을 일괄(batch) 디코딩하고 PCM 오디오 샘플들을 생성하기 위한 프로세서; 및
    상기 프로세서로부터 상기 PCM 오디오 샘플들의 전송 후 상기 PCM 오디오 샘플들을 저장하는 한 세트의 메모리 뱅크들을 포함하는 절전기 블록을 포함하며, 상기 디바이스는 상기 한 세트의 메모리 뱅크들의 제 1 메모리 뱅크로부터 상기 PCM 오디오 샘플들이 출력된 후 상기 제 1 메모리 뱅크로의 전력을 감소시키도록 구성되는, 디바이스.
  23. 제 22 항에 있어서,
    상기 절전기 블록은 디지털-아날로그 변환기를 포함하는, 디바이스.
  24. 제 22 항에 있어서,
    상기 프로세서는 전력을 감소시키기 위해 상기 프로세서에 대한 전력을 오프하도록 추가 구성되는, 디바이스.
  25. 제 22 항에 있어서,
    상기 PCM 오디오 샘플들의 전송은 PCM 오디오 샘플들이 생성될 때 이루어지는, 디바이스.
  26. 제 22 항에 있어서,
    상기 PCM 오디오 샘플들의 전송은 상기 프로세서로부터 상기 절전기 블록으로 그룹이 전송되기 전에 PCM 오디오 샘플들을 그룹화하는 것을 포함하는, 디바이스.
  27. 제 22 항에 있어서,
    상기 디바이스는 집적 회로를 포함하는, 디바이스.
  28. 제 22 항에 있어서,
    상기 디바이스는 모바일 디바이스인, 디바이스.
  29. 제 24 항에 있어서,
    상기 전력을 오프하는 것은 전력 관리기에 의해 제어되는 전자 스위치의 사용을 포함하는, 디바이스.
  30. 제 29 항에 있어서,
    상기 전력 관리기는 로직 제어 회로를 포함하는, 디바이스.
  31. 제 29 항에 있어서,
    상기 전력 관리기는 워터마크를 기초로 버퍼 제어 로직에 의해 시작되는, 디바이스.
  32. 제 22 항에 있어서,
    상기 프로세서로부터 상기 PCM 오디오 샘플들의 전송은 재인코딩 후에 일어나는, 디바이스.
  33. 오디오 재생이 가능한 모바일 디바이스로서,
    디코딩 시스템으로 비트스트림을 디코딩함으로써 PCM 오디오 샘플들을 생성하기 위한 수단;
    절전기 블록의 한 세트의 메모리 뱅크들에 상기 PCM 오디오 샘플들을 전송하기 위한 수단;
    상기 한 세트의 메모리 뱅크들의 제 1 메모리 뱅크로부터 상기 PCM 오디오 샘플들을 출력하기 위한 수단; 및
    상기 제 1 메모리 뱅크로부터 상기 PCM 오디오 샘플들이 출력된 후 상기 절전기 블록에서 상기 제 1 메모리 뱅크에 대한 전력을 스위칭 오프하기 위한 수단을 포함하는, 모바일 디바이스.
  34. 제 33 항에 있어서,
    메모리 뱅크의 모든 PCM 오디오 샘플들이 액세스된 후 상기 메모리 뱅크에서 전력을 차단하기 위한 수단을 더 포함하는, 모바일 디바이스.
  35. 제 33 항에 있어서,
    액세스된 샘플들은 적어도 하나의 스피커 밖으로 재생되는, 모바일 디바이스.
  36. 제 33 항에 있어서,
    액세스된 샘플들은 파일로 판독되는, 모바일 디바이스.
  37. 제 33 항에 있어서,
    상기 전력을 스위칭 오프하기 위한 수단은 전력 관리기에 의해 제어되는 전자 스위치의 사용을 포함하는, 모바일 디바이스.
  38. 제 37 항에 있어서,
    상기 전력 관리기는 로직 제어 회로를 포함하는, 모바일 디바이스.
  39. 제 38 항에 있어서,
    상기 전력 관리기는 워터마크를 기초로 버퍼 제어 로직에 의해 시작되는, 모바일 디바이스.
  40. 제 33 항에 있어서,
    상기 절전기 블록의 적어도 하나의 메모리 뱅크에 상기 PCM 오디오 샘플들을 전송하기 위한 수단은 재인코딩 후에 일어나는, 모바일 디바이스.
  41. 한 세트의 명령들을 저장하도록 구성된 컴퓨터 판독 가능 매체로서,
    디코딩 시스템으로 비트스트림을 디코딩함으로써 PCM 오디오 샘플들을 생성하기 위한 컴퓨터 판독 가능 프로그램 코드 수단;
    절전기 블록의 한 세트의 메모리 뱅크들에 상기 PCM 오디오 샘플들을 전송하기 위한 컴퓨터 판독 가능 프로그램 코드 수단;
    상기 한 세트의 메모리 뱅크들의 제 1 메모리 뱅크로부터 상기 PCM 오디오 샘플들을 출력하기 위한 컴퓨터 판독 가능 프로그램 코드 수단; 및
    상기 제 1 메모리 뱅크로부터 상기 PCM 오디오 샘플들이 출력된 후 상기 절전기 블록에서 상기 제 1 메모리 뱅크에 대한 전력을 스위칭 오프하기 위한 컴퓨터 판독 가능 프로그램 코드 수단을 포함하는, 컴퓨터 판독 가능 매체.
  42. 제 41 항에 있어서,
    메모리 뱅크의 모든 PCM 오디오 샘플들이 액세스된 후 상기 메모리 뱅크에서 전력을 차단하기 위한 컴퓨터 판독 가능 프로그램 코드 수단을 더 포함하는, 컴퓨터 판독 가능 매체.
  43. 제 41 항에 있어서,
    액세스된 샘플들은 적어도 하나의 스피커 밖으로 재생되는, 컴퓨터 판독 가능 매체.
  44. 제 41 항에 있어서,
    액세스된 샘플들은 파일로 판독되는, 컴퓨터 판독 가능 매체.
  45. 제 41 항에 있어서,
    상기 전력을 스위칭 오프하기 위한 컴퓨터 판독 가능 프로그램 코드 수단은 전력 관리기에 의해 제어되는 전자 스위치의 사용을 포함하는, 컴퓨터 판독 가능 매체.
  46. 제 45 항에 있어서,
    상기 전력 관리기는 로직 제어 회로를 포함하는, 컴퓨터 판독 가능 매체.
  47. 제 45 항에 있어서,
    상기 전력 관리기는 워터마크를 기초로 버퍼 제어 로직에 의해 시작되는, 컴퓨터 판독 가능 매체.
  48. 제 43 항에 있어서,
    상기 PCM 오디오 샘플들을 전송하기 위한 컴퓨터 판독 가능 프로그램 코드 수단은 재인코딩 후에 일어나는, 컴퓨터 판독 가능 매체.
KR1020107007564A 2007-09-07 2008-09-08 전력 효율적인 일괄 프레임 오디오 디코딩 장치, 시스템 및 방법 KR101168498B1 (ko)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US97083607P 2007-09-07 2007-09-07
US60/970,836 2007-09-07
US8625108P 2008-08-05 2008-08-05
US61/086,251 2008-08-05
US12/204,593 2008-09-04
US12/204,593 US8725520B2 (en) 2007-09-07 2008-09-04 Power efficient batch-frame audio decoding apparatus, system and method
PCT/US2008/075578 WO2009033147A2 (en) 2007-09-07 2008-09-08 Power efficient batch-frame audio decoding apparatus, system and method

Publications (2)

Publication Number Publication Date
KR20100053682A KR20100053682A (ko) 2010-05-20
KR101168498B1 true KR101168498B1 (ko) 2012-07-27

Family

ID=40429743

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020107007564A KR101168498B1 (ko) 2007-09-07 2008-09-08 전력 효율적인 일괄 프레임 오디오 디코딩 장치, 시스템 및 방법

Country Status (7)

Country Link
US (1) US8725520B2 (ko)
EP (1) EP2193418A2 (ko)
JP (2) JP2010539527A (ko)
KR (1) KR101168498B1 (ko)
CN (1) CN101784976A (ko)
TW (1) TW200926145A (ko)
WO (1) WO2009033147A2 (ko)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8321100B2 (en) * 2007-11-05 2012-11-27 GM Global Technology Operations LLC Method and apparatus for dynamic output torque limiting for a hybrid powertrain system
KR101032469B1 (ko) 2009-08-03 2011-05-03 엠텍비젼 주식회사 멀티미디어 데이터 재생 장치 및 방법
KR101733205B1 (ko) * 2010-04-05 2017-05-08 삼성전자주식회사 오디오 디코딩 시스템 및 그것의 오디오 디코딩 방법
US8446126B2 (en) * 2010-08-04 2013-05-21 Cooler Master Co., Ltd. Power bank apparatus with speaker
KR20120080356A (ko) * 2011-01-07 2012-07-17 삼성전자주식회사 휴대 단말기 및 그 휴대 단말기에서 오디오 데이터 처리 방법
EP2477188A1 (en) 2011-01-18 2012-07-18 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Encoding and decoding of slot positions of events in an audio signal frame
US9059597B2 (en) 2011-02-23 2015-06-16 Lg Electronics Inc. Reduction of leakage current in mobile device with embedded battery
KR20120108570A (ko) * 2011-03-24 2012-10-05 삼성전자주식회사 오디오 장치, 및 그 동작 방법
EP2565667A1 (en) * 2011-08-31 2013-03-06 Friedrich-Alexander-Universität Erlangen-Nürnberg Direction of arrival estimation using watermarked audio signals and microphone arrays
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
US9564131B2 (en) * 2011-12-07 2017-02-07 Qualcomm Incorporated Low power integrated circuit to analyze a digitized audio stream
KR101951171B1 (ko) 2012-08-09 2019-02-25 삼성전자 주식회사 멀티미디어 프로세싱 시스템 및 그 동작 방법
US9591358B2 (en) * 2013-03-15 2017-03-07 Intel Corporation Media playback workload scheduler
US10024976B2 (en) * 2013-08-21 2018-07-17 Samsung Electronics Co., Ltd Method and apparatus for reducing memory and communications bandwidth requirements in GNSS receivers
KR101805630B1 (ko) * 2013-09-27 2017-12-07 삼성전자주식회사 멀티 디코딩 처리 방법 및 이를 수행하기 위한 멀티 디코더
US20150160707A1 (en) * 2013-12-06 2015-06-11 Htc Corporation Portable electronic device
US10204635B1 (en) * 2015-12-01 2019-02-12 Marvell International Ltd. Device and method for processing media samples
US11640826B2 (en) * 2018-04-12 2023-05-02 Rft Arastirma Sanayi Ve Ticaret Anonim Sirketi Real time digital voice communication method
EP4010781A1 (en) * 2019-08-09 2022-06-15 Rajasekaran Ramasubramanian Power management and distributed audio processing techniques for playback devices
TWI826754B (zh) * 2020-12-11 2023-12-21 同響科技股份有限公司 固定頻寬音訊資料的有損或無損壓縮的動態切換方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020087225A1 (en) 2001-01-03 2002-07-04 Howard Gary M. Portable computing device having a low power media player
US20070130383A1 (en) * 2005-11-14 2007-06-07 Franck Dahan Memory Information Transfer Power Management

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61210599A (ja) 1985-03-14 1986-09-18 Casio Comput Co Ltd 録音機能付電子機器
US6240124B1 (en) * 1995-06-06 2001-05-29 Globalstar L.P. Closed loop power control for low earth orbit satellite communications system
US6356595B1 (en) * 1997-10-14 2002-03-12 Sony Corporation Method and apparatus for decoding continuously coded convolutionally encoded messages
US6332175B1 (en) 1999-02-12 2001-12-18 Compaq Computer Corporation Low power system and method for playing compressed audio data
US6647499B1 (en) 2000-01-26 2003-11-11 International Business Machines Corporation System for powering down a disk storage device to an idle state upon trnsfer to an intermediate storage location accessible by system processor
JP3420159B2 (ja) * 2000-02-22 2003-06-23 Necエレクトロニクス株式会社 音声データ格納装置およびその集積回路、記録媒体
JP3992419B2 (ja) 2000-03-27 2007-10-17 パイオニア株式会社 情報再生装置
JP2002014912A (ja) * 2000-04-28 2002-01-18 Sony Corp メモリ制御方法、データ受信装置、データ送受信方法およびデータ送受信システム
US20020103977A1 (en) 2001-01-30 2002-08-01 Andy Ewoldt Low power consumption cache memory structure
CN1430124A (zh) 2001-10-02 2003-07-16 O2米克罗公司 用于计算机装置的低功率数字音频解码/播放系统
US7111179B1 (en) * 2001-10-11 2006-09-19 In-Hand Electronics, Inc. Method and apparatus for optimizing performance and battery life of electronic devices based on system and application parameters
JP2003208236A (ja) 2001-11-08 2003-07-25 Matsushita Electric Ind Co Ltd 再生装置
US6988064B2 (en) 2003-03-31 2006-01-17 Motorola, Inc. System and method for combined frequency-domain and time-domain pitch extraction for speech signals
US7092307B2 (en) * 2003-04-02 2006-08-15 Qualcomm Inc. Leakage current reduction for CMOS memory circuits
US6876593B2 (en) 2003-07-01 2005-04-05 Intel Corporation Method and apparatus for partial refreshing of DRAMS
KR20070027626A (ko) 2004-06-29 2007-03-09 코닌클리케 필립스 일렉트로닉스 엔.브이. 데이터스트림을 버퍼링하는 방법 및 회로
ITMI20041452A1 (it) 2004-07-20 2004-10-20 Piaggio & C Spa Dispositivo di azionamento selettivo
US7307899B2 (en) * 2005-05-23 2007-12-11 Intel Corporation Reducing power consumption in integrated circuits
JP2007141333A (ja) * 2005-11-17 2007-06-07 Kenwood Corp オーディオファイル処理装置及びオーディオファイル処理方法
EP1962170A4 (en) * 2005-12-13 2010-05-05 Panasonic Corp DATA PROCESSOR
US8019002B2 (en) * 2006-06-08 2011-09-13 Qualcomm Incorporated Parallel batch decoding of video blocks
US8341513B1 (en) * 2007-05-21 2012-12-25 Amazon.Com Inc. Incremental updates of items
US20090060093A1 (en) * 2007-08-06 2009-03-05 Mediaphy Corporation Multi-function decoder engine in wireless receiver

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020087225A1 (en) 2001-01-03 2002-07-04 Howard Gary M. Portable computing device having a low power media player
US20070130383A1 (en) * 2005-11-14 2007-06-07 Franck Dahan Memory Information Transfer Power Management

Also Published As

Publication number Publication date
US20090070119A1 (en) 2009-03-12
WO2009033147A3 (en) 2009-05-28
US8725520B2 (en) 2014-05-13
JP2010539527A (ja) 2010-12-16
EP2193418A2 (en) 2010-06-09
TW200926145A (en) 2009-06-16
KR20100053682A (ko) 2010-05-20
CN101784976A (zh) 2010-07-21
JP2013242896A (ja) 2013-12-05
WO2009033147A2 (en) 2009-03-12

Similar Documents

Publication Publication Date Title
KR101168498B1 (ko) 전력 효율적인 일괄 프레임 오디오 디코딩 장치, 시스템 및 방법
US7496770B2 (en) Power-efficient technique for invoking a co-processor
US8290186B2 (en) Method and apparatus for controlling portable audio device
US20090003115A1 (en) Power-gating media decoders to reduce power consumption
US8335577B2 (en) Method of generating advanced audio distribution profile (A2DP) source code and chipset using the same
JP4794572B2 (ja) データ処理装置
US8930590B2 (en) Audio device and method of operating the same
US9632562B2 (en) Systems and methods for reducing volatile memory standby power in a portable computing device
US20050204077A1 (en) Method and apparatus for CD with independent audio functionality
US8935157B2 (en) Audio decoding system and an audio decoding method thereof for compressing and storing decoded audio data in a first time interval and decompressing the stored audio data in a second time interval
CN1505783A (zh) 用于计算设备的低功耗数字音频解码/播放系统
JP6309621B2 (ja) メモリシステムにおける電力消費を節約するためのシステムおよび方法
JP2017502539A (ja) マルチユーザの省電力コードブックの最適化を実現するためのシステムおよび方法
US8682460B2 (en) System and method for performing audio processing operations by storing information within multiple memories
CN102118645B (zh) 一种设置在机顶盒上的mp3播放系统及控制方法
CN101170667A (zh) 录制系统、方法及录制控制单元
CN112684693A (zh) 可穿戴设备及其音频处理方法
KR101804799B1 (ko) 저전력으로 오디오 데이터를 재생하는 장치 및 방법
CN104183243A (zh) 音频编解码系统
CN102290050B (zh) 一种传输音频数据的方法及装置
KR100540982B1 (ko) 휴대용 wma 복호화 장치
KR101933137B1 (ko) 저전력으로 동작하는 디지털 신호 처리장치, 디지털 신호 처리방법, 및 상기 디지털 신호 처리장치를 이용하는 모바일 단말기
JP2003022095A (ja) デジタル音声信号処理装置
JP2012247747A (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
LAPS Lapse due to unpaid annual fee