KR20120112211A - 중앙 오디오 허브에서 오디오 신호들을 처리하기 위한 방법 및 시스템 - Google Patents

중앙 오디오 허브에서 오디오 신호들을 처리하기 위한 방법 및 시스템 Download PDF

Info

Publication number
KR20120112211A
KR20120112211A KR1020120032923A KR20120032923A KR20120112211A KR 20120112211 A KR20120112211 A KR 20120112211A KR 1020120032923 A KR1020120032923 A KR 1020120032923A KR 20120032923 A KR20120032923 A KR 20120032923A KR 20120112211 A KR20120112211 A KR 20120112211A
Authority
KR
South Korea
Prior art keywords
audio
hub
central
samples
stream
Prior art date
Application number
KR1020120032923A
Other languages
English (en)
Other versions
KR101402869B1 (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 KR20120112211A publication Critical patent/KR20120112211A/ko
Application granted granted Critical
Publication of KR101402869B1 publication Critical patent/KR101402869B1/ko

Links

Images

Classifications

    • 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/165Management of the audio stream, e.g. setting of volume, audio stream path
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04RLOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
    • H04R3/00Circuits for transducers, loudspeakers or microphones
    • H04R3/12Circuits for transducers, loudspeakers or microphones for distributing signals to two or more loudspeakers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Otolaryngology (AREA)
  • Acoustics & Sound (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Circuit For Audible Band Transducer (AREA)
  • Stereophonic System (AREA)

Abstract

오디오 스위치, 버스 매트릭스, 및 오디오 버퍼를 포함하는 중앙 오디오 허브가 상기 오디오 버퍼로부터 오디오 스트림의 오디오 샘플들을 독출하기 위해 트리거링된다. 상기 중앙 오디오 허브는 상기 오디오 샘플들을 상기 버스 매트릭스를 통해 상기 중앙 오디오 허브에 통신으로 연결되는 오디오 코덱 및 오디오 인터페이스와 같은 하나 이상의 서라운딩 오디오 모듈들로 라우팅한다. 상기 오디오 스트림은 외부의 응용 프로세서 또는 외부의 DDR로부터 직접 존재할 수 있다. 상기 DDR로부터의 오디오 스트림과 함께, DMA 컨트롤러는 상기 오디오 버퍼로부터 수신된 요청에 응답하여 상기 DDR로부터 상기 오디오 샘플들을 페칭하고, 라우팅을 위해 상기 오디오 버퍼로 상기 페칭된 오디오 샘플들을 저장할 수 있다. 상기 오디오 스위치는 결정된 샘플 포맷을 이용하여 상기 오디오 버퍼로부터 오디오 샘플들을 독출하고 상기 서라운딩 오디오 모듈들로 상기 오디오 샘플들을 라우팅하기 위해 결정된 샘플링 레이트로 트리거링될 수 있다.

Description

중앙 오디오 허브에서 오디오 신호들을 처리하기 위한 방법 및 시스템{METHOD AND SYSTEM FOR PROCESSING AUDIO SIGNALS IN A CENTRAL AUDIO HUB}
관련된 출원들/참조 문헌에 의한 포함에 대한 상호 참조
없음
본 발명의 기술분야
본 발명의 일부 실시예들은 통신 시스템들에 관한 것이다. 보다 구체적으로는, 본 발명의 일부 실시예들은 중앙 오디오 허브(central audio hub)에서 오디오 신호들을 처리하기 위한 방법 및 시스템에 관한 것이다.
오디오 성능은 휴대용 멀티미디어 디바이스들과 같은 대부분의 멀티미디어 디바이스 내에 통합된 하나의 특징이다. 멀티미디어 디바이스들은 전형적으로 다양한 데이터 포맷들 내에서 많은 아날로그 및 디지털 오디오 소스들을 포함할 수 있다. 상기 멀티미디어 디바이스들은 예를 들면, 이어 스피커들(ear speakers), 라우드 스피커들(loudspeakers), 헤드폰들(headphones) 및/또는 헤드셋들(headsets)과 같은 다양한 오디오 트랜스듀서들(transducers)을 통해 실제 세계로 출력시키기 전 이러한 오디오 스트림들의 조합들을 변환 또는 혼합할 필요가 있을 수 있다.
도면들에 관련된 본 발명 출원의 나머지 부분에서 설명하는 바와 같은 본 발명의 일부 측면들을 갖는 그러한 시스템들의 비교를 통해, 전형적이고 전통적인 접근 방법들의 추가의 제한들 및 단점들은 당업자에게 명백하게 될 것이다.
그러므로, 본 발명의 목적은 오디오 스위치, 버스 매트릭스, 및 오디오 버퍼를 포함하는 중앙 오디오 허브에서, 상기 오디오 버퍼로부터 독출된 오디오 스트림의 오디오 샘플들을 상기 중앙 오디오 허브와 통신으로 연결된 복수의 오디오 모듈들 중 하나 이상으로 라우팅하기 위한 중앙 오디오 허브에서 오디오 신호들을 처리하기 위한 방법 및 시스템을 제공하는 것이다.
청구항들에서 더 완전히 설명되는 바와 같이, 도면들의 적어도 하나에서 실질적으로 도시되고, 그와 관련하여 설명되는 바와 같이, 중앙 오디오 허브에서 오디오 신호들을 처리하기 위한 방법 및/또는 시스템이 제공된다.
일 측면에 따라서, 통신을 위한 방법이 제공되며, 상기 방법은,
오디오 스위치, 버스 매트릭스, 및 오디오 버퍼를 포함하는 중앙 오디오 허브에서,
상기 오디오 스위치로부터의 이벤트 트리거들에 응답하여 상기 오디오 버퍼로부터 오디오 스트림의 오디오 샘플들을 독출(read)하는 단계; 및
상기 버스 매트릭스에 대한 상기 오디오 샘플들을 상기 중앙 오디오 허브와 통신으로 연결된 복수의 오디오 모듈들 중 하나 이상으로 라우팅하는 단계로서, 상기 복수의 오디오 모듈들은 오디오 코덱, 오디오 인터페이스를 포함하는, 상기 라우팅하는 단계를 포함한다.
바람직하게는, 상기 오디오 스트림은 외부의 응용 프로세서로부터 직접 상기 중앙 오디오 허브에 의해 수신된다.
바람직하게는, 상기 오디오 스트림은 외부의 더블 데이터 레이트 메모리(double data rate memory)로부터 상기 중앙 오디오 허브에 의해 수신된다.
바람직하게는, 상기 방법은 직접 메모리 액세스 컨트롤러에 액세스하는 것에 의해 상기 외부의 더블 데이터 레이트 메모리에서 상기 오디오 스트림의 상기 오디오 샘플들을 위한 상기 오디오 버퍼로부터의 요청을 수신하는 단계를 더 포함한다.
바람직하게는, 상기 방법은 상기 직접 메모리 액세스 컨트롤러에 의해 상기 요청에 응답하여 상기 외부의 더블 데이터 레이트 메모리로부터의 상기 오디오 스트림의 상기 오디오 샘플들을 페칭(fetching)하는 단계를 더 포함한다.
바람직하게는, 상기 방법은 상기 라우팅하는 단계를 위해 상기 오디오 버퍼로 상기 오디오 스트림의 상기 페칭된 오디오 샘플들을 저장하는 단계를 더 포함한다.
바람직하게는, 상기 방법은 상기 오디오 버퍼에서 상기 오디오 스트림의 상기 오디오 샘플들을 위한 샘플링 레이트 및 샘플 포맷을 결정하는 단계를 더 포함한다.
바람직하게는, 상기 방법은 상기 결정된 샘플링 레이트로 상기 오디오 스위치에 의해 상기 이벤트 트리거들을 생성하는 단계를 더 포함한다.
바람직하게는, 상기 방법은 상기 생성된 이벤트 트리거들에 응답하여 상기 오디오 버퍼로부터, 상기 결정된 샘플 포맷을 사용하여, 상기 오디오 스트림의 상기 오디오 샘플들을 독출하는 단계를 더 포함한다.
바람직하게는, 상기 방법은 상기 결정된 샘플 포맷에서 상기 오디오 샘플들을 상기 복수의 오디오 모듈들 중 하나 이상으로 라우팅하는 단계를 더 포함한다.
일 측면에 따라서, 시스템이 통신을 위해 제공되며, 상기 시스템은,
중앙 오디오 허브에서의 사용을 위한 하나 이상의 프로세서들 및/또는 회로들을 포함하며, 상기 하나 이상의 프로세서들 및/또는 회로들은 오디오 스위치, 버스 매트릭스, 및 오디오 버퍼를 포함하며, 상기 하나 이상의 프로세서들 및/또는 회로들은:
상기 오디오 스위치로부터의 이벤트 트리거들에 응답하여 상기 오디오 버퍼로부터 오디오 스트림의 오디오 샘플들을 독출하고,
상기 버스 매트릭스에 대한 상기 오디오 샘플들을 상기 중앙 오디오 허브와 통신으로 연결된 복수의 오디오 모듈들 중 하나 이상으로 라우팅하는 것으로서, 상기 복수의 오디오 모듈들은 오디오 코덱, 오디오 인터페이스를 포함하는, 상기 라우팅하도록 동작한다.
바람직하게는, 상기 오디오 스트림은 외부의 응용 프로세서로부터 직접 상기 중앙 오디오 허브에 의해 수신된다.
바람직하게는, 상기 오디오 스트림은 외부의 더블 데이터 레이트 메모리(double data rate memory)로부터 상기 중앙 오디오 허브에 의해 수신된다.
바람직하게는, 상기 하나 이상의 프로세서들 및/또는 회로들은 직접 메모리 액세스 컨트롤러에 액세스하는 것에 의해 상기 외부의 더블 데이터 레이트 메모리에서 상기 오디오 스트림의 상기 오디오 샘플들을 위한 상기 오디오 버퍼로부터의 요청을 수신하도록 동작한다.
바람직하게는, 상기 하나 이상의 프로세서들 및/또는 회로들은 상기 직접 메모리 액세스 컨트롤러에 의해 상기 요청에 응답하여 상기 외부의 더블 데이터 레이트 메모리로부터의 상기 오디오 스트림의 상기 오디오 샘플들을 페칭(fetching)하도록 동작한다.
바람직하게는, 상기 하나 이상의 프로세서들 및/또는 회로들은 상기 라우팅을 위해 상기 오디오 버퍼로 상기 오디오 스트림의 상기 페칭된 오디오 샘플들을 저장하도록 동작한다.
바람직하게는, 상기 하나 이상의 프로세서들 및/또는 회로들은 상기 오디오 버퍼에서 상기 오디오 스트림의 상기 오디오 샘플들을 위한 샘플링 레이트 및 샘플 포맷을 결정하도록 동작한다.
바람직하게는, 상기 하나 이상의 프로세서들 및/또는 회로들은 상기 결정된 샘플링 레이트로 상기 오디오 스위치에 의해 상기 이벤트 트리거들을 생성하도록 동작한다.
바람직하게는, 상기 하나 이상의 프로세서들 및/또는 회로들은 상기 생성된 이벤트 트리거들에 응답하여 상기 오디오 버퍼로부터, 상기 결정된 샘플 포맷을 사용하여, 상기 오디오 스트림의 상기 오디오 샘플들을 독출하도록 동작한다.
바람직하게는, 상기 하나 이상의 프로세서들 및/또는 회로들은 상기 결정된 샘플 포맷에서 상기 오디오 샘플들을 상기 복수의 오디오 모듈들 중 하나 이상으로 라우팅하도록 동작한다.
그에 설명된 실시예의 상세들뿐만 아니라 본 발명의 이러한 및 다른 장점들, 측면들 및 신규한 특징들이 다음의 설명 및 도면들로부터 더 완전히 이해되어질 것이다.
그러므로, 본 발명은 이어 스피커, 라우드 스피커, 헤드폰 및/또는 헤드셋과 같은 다양한 오디오 트랜스듀서들을 통해 실제 세계로 출력시키기 전 이러한 오디오 스트림들의 조합들을 효과적으로 변환 또는 혼합할 수 있는 장점이 있다.
도 1은 본 발명의 실시예에 따라, 프로세싱 오디오 신호들을 위한 중앙 오디오 허브를 이용하는 예시적인 모바일 디바이스를 나타내는 도면이다.
도 2는 본 발명의 실시예에 따라, 중앙 오디오 허브를 위한 예시적인 아키텍처를 나타내는 도면이다.
도 3은 본 발명의 실시예에 따라, 상기 중앙 오디오 허브의 오디오 모듈들 사이에서 오디오 샘플들을 라우팅하도록 동작하는 중앙 오디오 허브에서 구현된 예시적인 준 동기(semi synchronous) 오디오 스위치를 나타내는 블록도이다.
도 4는 본 발명의 실시예에 따라, 외부의 오디오 소스로부터 중앙 오디오 허브의 목적지(destination) 오디오 모듈로 단일 오디오 스트림의 오디오 샘플들을 라우팅하기 위한 중앙 오디오 허브에서의 예시적인 데이터 흐름을 나타내는 블록도이다.
도 5는 본 발명의 실시예에 따라, 외부의 오디오 소스로부터 상기 중앙 오디오 허브의 하나 이상의 목적지 오디오 모듈들로 단일 오디오 스트림의 오디오 샘플들을 라우팅하기 위해 중앙 오디오에 의해 수행될 수 있는 예시적인 단계들을 나타내는 블록도이다.
도 6은 본 발명의 실시예에 따라, 외부의 더블 데이터 레이트 메모리 및 상기 중앙 오디오 허브의 목적지 오디오 모듈 사이에서 단일 오디오 스트림의 오디오 샘플들을 라우팅하기 위한 중앙 오디오 허브에서의 예시적인 데이터 흐름을 나타내는 블록도이다.
도 7은 본 발명의 실시예에 따라, 외부의 더블 데이터 레이트 메모리 및 상기 중앙 오디오 허브의 하나 이상의 오디오 모듈들 사이에서 단일 오디오 스트림의 오디오 샘플들을 라우팅하기 위해 중앙 오디오 허브에 의해 수행될 수 있는 예시적인 단계들을 나타내는 블록도이다.
본 발명의 일부 실시예들은 중앙 오디오 허브에서 오디오 신호들을 처리하기 위한 방법 및 시스템으로 확인될 수 있다. 본 발명의 다양한 실시예들에서, 중앙 오디오 허브는 예를 들면, 오디오 스위치(오디오 SW), 어드밴스드 주변 장치 버스(Advanced Peripheral Bus; APB) 버스 매트릭스(bus matrix), 직접 메모리 액세스(Direct memory access; DMA) 컨트롤러(DMAC), 오디오 코덱, 오디오 인터페이스 및 오디오 FIFO 버퍼와 같은 다양한 오디오 프로세싱 모듈들을 포함할 수 있다. 상기 중앙 오디오 허브는 상기 오디오 FIFO 버퍼로부터 희망하는 오디오 스트림의 오디오 샘플들을 독출(read)할 수 있다. 예를 들면, 상기 오디오 SW는 소스(출발지; source)로부터 하나 이상의 목적지들(destinations)로 오디오 샘플들을 이동하기 위해 이벤트 트리거들(event triggers)에 의해 트리거링될 수 있다. 상기 이벤트 트리거들은 예를 들면, 8KHz 및16KHz와 같은 다양한 오디오 샘플링 비율들로 상기 오디오 SW 내에서 레이트 생성기(rate generator)에 의해 생성될 수 있다. 상기 오디오 SW는 상기 이벤트 트리거들에 응답하여 상기 오디오 FIFO 버퍼로부터, 상기 DMAC를 통해, 오디오 샘플들을 독출할 수 있다. 상기 오디오 SW는 상기 오디오 샘플들을 상기 오디오 FIFO 버퍼로부터 상기 중앙 오디오 허브에 통신으로 연결된 하나 이상의 목적지 오디오 모듈들로 라우팅할 수 있다. 상기 오디오 스트림은 FM 라디오 수신기와 같은 외부의 응용 프로세서로부터 직접 중앙 오디오 허브에 의해 수신될 수 있으며, 또는 외부의 더블 데이터 레이트(DDR) 메모리로부터 직접 수신될 수 있다. 상기 오디오 스트림이 상기 DDR 메모리에 의해 렌더링(rendered)되는 경우에, 상기 DMAC는 상기 오디오 FIFO 버퍼로부터 수신된 요청에 응답하여 상기 DDR 메모리로부터 상기 오디오를 페치(fetch)할 수 있다. 상기 DMAC는 상기 서라운딩 오디오 모듈들(surrounding audio modules) 사이에서 라우팅을 위해 상기 오디오 FIFO 버퍼로 상기 팻칭된 오디오 샘플들을 저장할 수 있다. 상기 서라운딩 오디오 모듈들은 상기 중앙 오디오 허브ㅇ 부착된 하나 이상의 모듈들과 관련된다. 본 발명의 예시적인 실시예에서, 오디오 샘플링 레이트 및 샘플 포맷은 라우팅이 시작되기 전에 상기 오디오 FIFO 버퍼에서 저장된 상기 오디오 샘플들을 위해 결정될 수 있다. 상기 오디오 SW에서의 레이트 생성기는 상기 결정된 오디오 샘플링 레이트에서 상기 이벤트 트리거들을 생성할 수 있다. 상기 오디오 SW는 상기 결정된 샘플 포맷을 이용하여 상기 오디오 FIFO 버퍼로부터 상기 오디오 샘플들을 독출하기 위해 상기 생성된 이벤트 트리거들에 의해 트리거링될 수 있다. 상기 오디오 SW는 그런 다음 상기 하나 이상의 목적지 오디오 모듈들로 상기 오디오 샘플들을 라우팅할 수 있다.
도 1은 본 발명의 실시예에 따라, 오디오 신호들을 처리하기 위한 중앙 오디오 허브를 통합하는 예시적인 모바일 디바이스를 나타내는 도면이다. 도 1을 참조하면, 중앙 오디오 허브(central audio hub)(110), 프로세서 유닛(processor unit)(120), 트랜스시버(transceiver)(122), 더블 데이터 레이트(DDR) 메모리(124) 및 복수의 오디오 트랜스듀서들(audio transducers)(132 내지 136)을 포함하는 모바일 디바이스(100)가 도시된다. 상기 프로세서 유닛(120)은 어드밴스드 RISC 머신들(ARM) 프로세서(120a) 및 디지털 신호 처리(digital signal processing; DSP) 프로세서(120b)를 포함할 수 있다. 상기 복수의 오디오 트랜스듀서들(132 내지 136)은 빌트인(built-in) 오디오 트랜스듀서들 및/또는 외부의 디바이스들에 위치될 수 있는 외부의 오디오 트랜스듀서들을 포함할 수 있다.
상기 중앙 오디오 허브(110)는 헤드셋들(136)과 같은 외부의 오디오 트랜스듀서들뿐만 아니라 상기 스피커들(132) 및 상기 마이크로폰들(134)과 같은 내장(built-in) 오디오 트랜스듀서들로 오디오 신호들을 제공하도록 동작할 수 있으며, 그로부터 오디오 신호들을 수신할 수 있는 적절한 로직, 회로 및/또는 코드를 포함할 수 있다 상기 오디오 신호들을 아날로그 오디오 신호들 및/또는 디지털 오디오 신호들을 포함할 수 있다.
상기 무선 트랜스시버(122)는 예를 들면, CDMA, GSM, UMTS, LTE, WiMAX, WiFi 및/또는 블루투스와 같은 다양한 통신 기술들을 사용하여 무선 주파수(radio frequency; RF) 신호들을 수신 및/또는 송신하도록 동작할 수 있는 적절한 로직, 회로 및/또는 코드를 포함할 수 있다. 이와 관련하여, 상기 무선 트랜스시버(122)를 거쳐서 통신된 RF 신호들은 오디오 신호들을 포함할 수 있다. 상기 오디오 신호들은 상기 중앙 오디오 허브(110)에 의해 상기 오디오 트랜스듀서들(132 내지 136)로 라우팅될 수 있다.
상기 프로세서 유닛(120)은 상기 트랜스시버(122)와 같은 다양한 디바이스 구성요소들의 동작들을 처리 및 제어하도록 동작할 수 있는 적절한 로직, 회로, 인터페이스들, 및/또는 코드를 포함할 수 있다. 상기 프로세서 유닛(120)은 상기 ARM 프로세서(120a) 및 상기 DSP 프로세서(120b)와 같은 다중의 독립 처리 코어들 또는 프로세서들을 포함할 수 있다. 상기 프로세서 유닛(120)은 사업용 애플리케이션들(enterprise applications) 및/또는 멀티미디어 애플리케이션들과 같은 다양한 애플리케이션들을 처리하기 위해 상기 ARM 프로세서(120a)를 이용할 수 있다. 상기 프로세서 유닛(120)은 음성 및/또는 스피치(speech) 신호 처리와 같은 다양한 디지털 신호 처리를 수행하기 위해 상기 DSP 프로세서(120b)를 이용할 수 있다.
상기 ARM 프로세서(120a)는 ARM 기술을 이용하여 데이터를 처리하도록 동작할 수 있는 적절한 로직, 회로, 인터페이스들, 및/또는 코드를 포함할 수 있다. 상기 ARM 프로세서(120a)는 데이터를 로딩 및/또는 저장할 수 있으며, 데이터 처리를 위해 32-비트 지시들을 이용할 수 있다. 상기 ARM 프로세서(120a)는 고 집적된 시스템 온 칩(system on chip; SoC) 애플리케이션들을 위해 개발된 측정 가능한(scalable), 고-성능 프로세서를 포함할 수 있다.
상기 DSP 프로세서(120b)는 DSP 지시들을 이용하여 데이터를 처리하도록 동작할 수 있는 적절한 로직, 회로, 인터페이스들, 및/또는 코드를 포함할 수 있다. 상기 DSP 프로세서(120b)는 수학적 신호 처리 애플리케이션들에서 공통으로 이용될수 있는 쉬프트(shift) 및 덧셈(add), 및 곱셈(multiply) 및 덧셈과 같은 엄청나게 빠른(ultra-fast) 지시 시퀀스들을 제공할 수 있다.
상기 DDR 메모리(124)는 상기 프로세서 유닛(120)을 위한 주 작업 메모리(primary working memory)를 제공하도록 동작할 수 있는 적절한 로직, 회로, 인터페이스들 및/또는 코드를 포함할 수 있다. 상기 DDR 메모리(124)는 상기 프로세서 유닛(120)에 의해 이용될 수 있는 실행 가능한 프로그램 지시들 및 데이터와 같은 정보를 저장하도록 이용될 수 있다. 본 발명의 예시적인 실시예에서, 상기 DDR 메모리(124)는 상기 ARM 프로세서(120a) 및 상기 DSP 프로세서(120b)로 하여금 필요할 때 동시에 접속하도록 할 수 있다.
비록, 상기 ARM 프로세서(120a) 및 상기 DSP 프로세서(120b)가 도 1에서 상기 프로세서 유닛(120) 내부에 도시되어 있으나, 본 발명은 그렇게 제한되지 않을 수 있다. 따라서, 상기 프로세서 유닛(120)은 본 발명의 다양한 실시예들의 사상 및 범위로부터 벗어나지 않고, x86 밉스(mips)와 같은 다른 프로세서들 또는 코어들을 포함할 수 있다.
예시적인 동작에서, 상기 모바일 디바이스(100)는 상기 무선 트랜스시버(122)를 통해 신호들을 송신 및/또는 수신할 수 있다. 상기 신호들은 상기 중앙 오디오 허브(110)의 다양한 오디오 프로세싱 코어들 또는 오디오 모듈들을 이용하여 처리될 수 있는 오디오 데이터를 포함할 수 있다. 본 발명의 다양한 실시예들에서, 상기 중앙 오디오 허브(110)는 상기 ARM 프로세서(120a), 상기 DSP 프로세서(120b), 상기 오디오 트랜스듀서들(132 내지 136) 및 상기 중앙 오디오 허브(110)의 오디오 모듈들 사이의 유연한 라우팅 능력 및 단순화된 라우팅 경로들을 제공하도록 동작할 수 있다. 상기 중앙 오디오 허브(110)는 다양한 애플리케이션들 또는 음성 믹싱 및 FM 스플릿팅(splitting)과 같은 사용자 케이스들을 지원하기 위해 공통의 오디오 처리 플랫폼을 이용할 수 있다.
도 2는 본 발명의 실시예에 따른, 중앙 오디오 허브를 위한 예시적인 아키텍처를 나타내는 도면이다. 도 2를 참조하면, 오디오 신호 처리를 지원하기 위해 상기 모바일 디바이스(100)와 같은 멀티미디어 디바이스에 포함될 수 있는 중앙 오디오 허브(200)가 도시된다. 상기 중앙 오디오 허브(200)는 어드밴스드 주변 장치 버스(Advanced Peripheral Bus; APB) 버스 매트릭스(210), 오디오 모듈들(220), 오디오 스위치(오디오 SW)(230), 레이트 브리지(rate bridge)(240) 및 인터럽트 컨트럴러(interrupt controller; INTC)(250)를 포함한다.
상기 APB 버스 매트릭스(210)는 APB 버스들에서 디바이스들 사이의 버스 매트릭스 통신을 제공하도록 동작할 수 있는 적절한 로직, 회로, 인터페이스들, 및/또는 코드를 포함할 수 있다. 또한 소위 크로스바 스위치(crossbar switch)로 칭하는 상기 APB 버스 매트릭스(210)는 높은 대역폭 데이터 스트림들을 지원하기 위해 상기 APB 버스들상에서 디바이스들 사이의 물리적인 링크들을 제공할 수 있는 병렬의 복수의 APB 버스들을 포함할 수 있다. 상기 APB 버스 매트릭스(210)는 상기 APB 버스들상에서 디바이스들 사이의 마스터-슬레이브 통신들을 가능하게 하고 유지할 수 있다. 상기 APB 버스 매트릭스(210)의 APB 버스상에서의 디바이스는 상기 희망하는 데이터 트랜젝션(transaction)을 지원하기 위하여 버스 마스터로서 또는 버스 슬레이브로서 상기 APB 버스 매트릭스(210)에 의해 구성될 수 있다. 하나의 버스 마스터는 예를 들면, 32개까지의 버스 슬레이브들과 통신할 수 있다. 예시적인 동작에서, 상기 APB 버스 매트릭스(210)는 버스 마스터로서 상기 오디오 SW(250) 및 버스 슬레이브로서 상기 오디오 모듈들(220)의 각각을 구성하도록 동작할 수 있다. 상기 APB 버스 매트릭스(210)는 상기 레이트 브리지(260)에 의해 지시되는 바와 같은 비율로 실행 또는 동작할 수 있다.
상기 오디오 모듈들(220)은 레이트 변환, 노이즈 감소 및 음성 인식과 같은 다양한 오디오 처리 기능들을 수행하도록 동작할 수 있는 적절한 논리, 회로, 인터페이스들 및/또는 코드를 포함할 수 있다. 상기 오디오 모듈들(220)은 오디오 샘플 레이트 컨버터(Sample Rate Converter; SRC) 믹서(222), 오디오 코덱(audioH; 오디오H)(224), 하나 이상의 서라운드 사운드 프로세서들(Surround Sound Processors; SSPs)(226), 직접 메모리 액세스(Direct memory access; DMA) 컨트롤러(DMAC)(228), 및 오디오 FIFO 버퍼(229)를 포함할 수 있다. 상기 오디오 모듈들(220)은 전력을 절감하기 위해 요구되는 기본으로서 턴 온(ON) 또는 턴 오프(OFF)될 수 있다.
상기 오디오 SRC 믹서(222)는 오디오 샘플들상에서 오디오 샘플링 레이트 변환을 수행하도록 동작할 수 있는 적절한 로직, 회로, 인터페이스들 및/또는 코드를 포함할 수 있다. 상기 오디오 SRC 믹서(222)는 녹음된 음악 믹싱, 필름 및 텔레비전 믹싱 및/또는 라이브 사운드 믹싱과 같은 다양한 오디오 믹싱을 수행하도록 동작할 수 있다.
상기 오디오H(audioH)(224)는 오디오 소스 및 오디오 싱크에 관해서 상기 중앙 오디오 허브(200)를 통해 라우팅되는 오디오 스트림들을 특성화하도록 동작할 수 있는 적절한 로직, 회로, 인터페이스들, 및/또는 코드를 포함할 수 있다. 오디오 소스는 마이크로폰과 같은 오디오-캡쳐링 하드웨어 디바이스, 및 대응하는 오디오 스트림을 생성하는 소프트웨어에 대한 추상적 개념이다. 오디오 싱크는 라우드 스피커와 같은 오디오 렌더링 하드웨어 디바이스 및 대응하는 오디오 스트림을 전송 또는 수신하기 위해 상기 라우드 스피커에 의해 사용되는 그 동반되는 소프트웨어의 추상적 개념이다.
상기 SSP들(226)은 오디오 데이터를 수신 및 처리하도록 동작할 수 있는 적절한 로직, 회로, 인터페이스들, 및/또는 코드를 포함할 수 있다. 상기 SSP들(226)은 예를 들면, 외부의 이벤트 트리거들을 사용하여 트리거링될 수 있다.
상기 DMAC(228)는 상기 DDR(124) 및 상기 중앙 오디오 허브(200)와 같은 외부의 구성요소들 사이의 데이터의 전송을 관리하도록 동작할 수 있는 적절한 로직, 회로, 인터페이스들, 및/또는 코드를 포함할 수 있다.
상기 오디오 FIFO 버퍼(229)는 오디오 데이터를 저장하도록 동작할 수 있는 적절한 로직, 회로, 인터페이스들, 및/또는 코드를 포함할 수 있다. 본 발명의 다양한 실시예들에서, 상기 오디오 FIFO 버퍼(229)는 예를 들면, FIFO들, 및 8K바이트 크기의 단일 SRAM 모듈로 칭하는 16 FIFO 관리자들까지 포함할 수 있다. 상기 8K바이트 SRAM 모듈은 16 FIFO들까지 되도록 구성될 수 있다. 각 FIFO 크기 및 문턱값(threshold)은 프로그램 가능하도록 될 수 있다.
상기 오디오 SW(230)는 상기 SRC 믹서(222), 상기 오디오H(224), 상기 SSP들(226), 상기 DMAC(228) 및 상기 오디오 FIFO 버퍼(229)와 같은 서라운딩 오디오 모듈들 사이의 오디오 데이터를 라우팅하도록 동작할 수 있는 적절한 로직, 회로, 인터페이스들, 및/또는 코드를 포함할 수 있다. 본 발명의 실시예에서, 상기 오디오 SW(230)는 채널 컨트롤러(channel controller; ChC)(232) 및 레이트 생성기(rate generator; RG)(234)를 포함할 수 있다. 상기 ChC(232)는 상기 중앙 오디오 허브(200)에 부착되는 상기 서라운딩 오디오 모듈들(220)사이의 경로들을 라우팅하여 16 동시 스테레오까지 지원하기 위해 오디오 SW 채널들을 관리 및 제어하도록 동작할 수 있는 적절한 로직, 회로, 인터페이스들, 및/또는 코드를 포함할 수 있다. 상기 오디오 SW(230)는 상기 스피커(132) 및/또는 상기 헤드셋(136)과 같은 하나 이상의 서라운딩 오디오 모듈들(220) 사이의 오디오 데이터를 유연하게 또는 선택적으로 라우팅하기 위하여 상기 ChC(232) 및 상기 RG(234)를 이용할 수 있다.
상기 RG(234)는 소스로부터 목적지까지 데이터를 이동 또는 라우팅하기 위하여 상기 ChC(232)를 트리거링하도록 이벤트 트리거들을 생성하거나 외부의 트리거 신호들을 가져오도록 동작할 수 있는 적절한 로직, 회로, 인터페이스들, 및/또는 코드를 포함할 수 있다. 상기 이벤트 트리거들은 예를 들면, 8KHz, 16KHz, 24KHz, 44.1KHz 또는 48KHz와 같은 오디오 샘플링 레이트로 주기적인 펄스를 포함할 수 있다. 상기 이벤트 트리거들은 또한 예를 들면, 상기 오디오H(224)에 의해 이용되는 핸드셋 입력 FIFO 어드레스와 같은 하나 이상의 오디오 허브 이벤트들을 포함할 수 있다. 상기 이벤트 트리거들의 각각은 상기 ChC(232)로 하여금 소스로부터 목적지까지 하나의 스테레오 또는 모노 오디오 샘플을 이동하도록 할 수 있다. 이와 관련하여, 상기 오디오 SW(230)는 필요할 때마다 오디오 데이터를 기록(write) 및/또는 독출하도록 트리거링될 수 있다. 본 발명의 예시적인 실시예에서, 상기 오디오 SW(230)는 단일 오디오 소스로부터 하나 이상의 목적지들로 동시에 상기 오디오 SW(230)에 의해 독출될 수 있는 오디오 데이터를 라우팅하도록 동작할 수 있다.
상기 레이트 브리지(240)는 상기 ARM 프로세서(120a) 또는 상기 DSP 프로세서(120b)에 의해 이용되는 156 MHz와 같은 고속 처리 속도를 사용자 케이스들에 의존하여 26 MHz와 같은 저속으로 변환시키도록 동작할 수 있는 적절한 로직, 회로, 인터페이스들, 및/또는 코드를 포함할 수 있다. 상기 변환된 속도는 오디오 샘플들을 상기 서라운딩 오디오 모듈들(220)과 통신하도록 상기 APB 버스 매트릭스(210)에 의해 이용될 수 있다.
상기 INTC(250)는 상기 ARM 프로세서(120a) 및 상기 DSP 프로세서(120b)와 관련하여 다양한 인터럽트들을 관리 또는 제어하도록 동작할 수 있는 적절한 로직, 회로, 인터페이스들, 및/또는 코드를 포함할 수 있다.
예시적인 동작에서, 상기 모바일 디바이스(100)와 같은 멀티미디어 디바이스에서 포함되는 상기 중앙 오디오 허브(200)는 상기 오디오 모듈들(220)과 같은 복수의 오디오 코어들을 포함한다. 상기 APB 버스 매트릭스(210)는 상기 오디오 모듈들(220) 사이의 매트릭스 기반 통신을 유지하기 위하여 이용될 수 있다. 상기 APB 버스 매트릭스(210)는 156 MHz와 같은 고속으로부터 상기 레이트 브리지(240)에 의해 변환될 수 있는 26 MHz와 같은 저속으로 동작할 수 있다. 상기 오디오 SW(230)는 상기 서라운딩 오디오 모듈들(220) 사이에서 16 스테레오 라우팅 경로들까지 동시에 지원하도록 이용될 수 있는 16 오디오 SW 채널들까지 지원하도록 구성될 수 있다. 상기 오디오 SW(230)는 상기 ChC(232)에 의해 결정 또는 관리될 수 있는 오디오 샘플링 레이트로 동작할 수 있다. 상기 중앙 오디오 허브(200)는 상기 호스트상의 상기 DDR(124)과 같은 외부의 구성요소들로부터 상기 중앙 오디오 허브(200)로 라우팅하는 오디오를 제어 및 조절(coordinate)하기 위하여 상기 DMAC(228)를 이용할 수 있다.
도 3은 본 발명의 실시예에 따라, 상기 중앙 오디오 허브의 오디오 모듈들 사이에서 오디오 샘플들을 라우팅하도록 동작할 수 있는 중앙 오디오 허브에서 구현된 예시적인 반 동기 오디오 스위치를 나타내는 블록도이다. 도 3을 참조하면, 상기 서라운딩 오디오 모듈들(220) 사이에서 오디오 샘플들을 라우팅하기 위해 상기 중앙 오디오 허브(200)에 의해 이용될 수 있는 상기 오디오 SW(230)와 같은 오디오 스위치가 도시된다. 본 발명의 다양한 실시예들에서, 상기 오디오 SW(230)는 상기 서라운딩 오디오 모듈들(220) 사이의 다양한 오디오 라우팅 경로들에 대해 내부적으로 오디오 샘플들을 라우팅할 수 있다. 상기 서라운딩 오디오 모듈들(220)은 희망하는 애플리케이션들을 위해 요구될 수 있는 직렬 저-전력 인터-칩 미디어 버스(Serial Low-power Inter-chip Media Bus; SlimBus)(223), 상기 SRC 믹서(222), 상기 오디오H(audioH)(224), 상기 SSP들, 상기 DMAC(228), 상기 오디오 FIFO 버퍼(229), 및 퓨처 HW(future HW)(227)를 포함할 수 있다. 상기 SlimBus(223)는 다중의 디지털 샘플들을 동시에 지원하도록 이용될 수 있으며, 상이한 샘플 레이트 및 비트 폭으로 다중 디지털 오디오 데이터 스트림들을 전송할 수 있다.
상기 오디오 SW(230)는 상기 SRC 믹서(222)와 같은 소스 블록으로부터 상기 오디오H(224)와 같은 목적지 블록으로 하나의 오디오 샘플을 이동 또는 라우팅할 수 있다. 상기 오디오 SW(230)는 애플리케이션들에 의존하여 다양한 오디오 라우팅 경로들을 통해 오디오 데이터를 라우팅할 수 있다. 오디오 라우팅 경로들은 상이한 서라운딩 오디오 모듈들(220)사이에서 셋업될 수 있다. 예를 들면, 오디오 라우팅 경로는 상기 SSP들(226) 및 상기 오디오H(224) 사이에서 설정될 수 있다. 상기 오디오 SW(230)는 또한 상기 오디오 FIFO 버퍼(229) 및 상기 SlimBus(223) 및 상기 SRC 믹서(222)와 같은 하나 이상의 다른 서라운딩 오디오 모듈들 사이에서 설정된 오디오 라우팅 경로를 지원할 수 있다. 상기 오디오 SW(230)는 예를 들면, 상기 서라운딩 오디오 모듈들(220) 사이에서 16 개의 동시의 스테레오 라우팅 경로들을 지원할 수 있다.
도 4는 본 발명의 실시예에 따라서, 외부의 오디오 소스로부터 상기 중앙 오디오 허브의 목적지 오디오 모듈로 단일 오디오 스트림의 오디오 샘플들을 라우팅하기 위한 중앙 오디오 허브에서의 예시적인 데이터 흐름을 나타내는 블록도이다. 도 4를 참조하면, 상기 예시적인 데이터 흐름은 오디오가 FM 수신기 또는 외부의 응용 프로세서와 같은 외부의 칩으로부터 얻어질 수 있는 상기 SSP들(226)과 함께 시작할 수 있다. 상기 오디오 스트림의 오디오 샘플들은 상기 오디오 FIFO 버퍼(229) 내에 저장될 수 있다. 예를 들면, 상기 오디오H(224)와 같은 온-칩 코덱을 통해 상기 오디오 스트림을 재생하는 것이 요망될 수 있다. 이와 관련하여, 상기 ChC(232)는 상기 오디오 스트림을 위해 상기 오디오 FIFO 버퍼(229)에서 소스 FIFO 어드레스 및 목적지 FIFO 어드레스를 갖는 오디오 SW 채널을 선택하도록 동작할 수 있다. 상기 오디오 스트림의 QoS에 의존하여, 상기 ChC(232)는 8 KHz 또는 48 KHz와 같은 오디오 샘플링 레이트, 및 16 비트/샘플 또는 24 비트/샘플과 같은 샘플 포맷, 및 오디오 스트림에 대해 모노 또는 스테레오와 같은 오디오 증폭기 접속들을 결정 또는 확인할 수 있다. 상기 RG(234)는 상기 결정된 오디오 샘플링 레이트로 이벤트 트리거들을 주기적으로 또는 비주기적으로 생성할 수 있다. 상기 SSP들(226)은 상기 오디오 SW(230)로 상기 오디오 스트림의 오디오 샘플들을 기록(write)할 수 있다. 바꾸어 말하면, 상기 ChC(232)는 상기 소스 FIFO 어드레스에서 상기 오디오 FIFO 버퍼(229)로부터 상기 오디오 샘플들을 독출(read)할 수 있다. 상기 오디오 SW(230)는 샘플링 레이크 변환을 위해 상기 SRC 믹서(222)로 상기 오디오 샘플들을 라우팅할 수 있다. 상기 SRC 믹서(222)는 상기 오디오 샘플들에서 상기 샘플링 레이트를 변환하고, 상기 레이트 변환된 오디오 샘플들을 상기 오디오 SW(230)로 다시 보낼 수 있다. 상기 오디오 SW(230)는 상기 오디오H(224)를 통해 상기 헤드셋들(136)과 같은 오디오 싱크로 상기 레이트 변환된 오디오 샘플들을 판독(read out)하거나 제공할 수 있다. 보다 구체적으로, 상기 오디오 SW(230)는 상기 목적지 FIFO 어드레스에서 상기 오디오 FIFO 버퍼(229)에 상기 레이트 변환된 오디오 샘플들을 기록할 수 있다.
비록 상기 중앙 오디오 허브(200)의 단일 목적지 오디오 모듈로 라우팅되는 외부의 오디오 소스로부터의 오디오 스트림이 도 4에 도시되지만, 본 발명이 그렇게 한정되지 않을 수 있다. 따라서, 본 발명은 본 발명의 다양한 실시예들의 사상 및 범위를 벗어나지 않고 외부의 오디오 소스로부터 상기 중앙 오디오 허브(200)의 다중 목적지 오디오 모듈들로 오디오 스트림을 라우팅하도록 적용될 수 있다. 이와 관련하여, 상기 오디오 스트림 스플릿팅 경우를 지원하기 위하여, 상기 ChC(232)는 상기 소스 FIFO 어드레스에서 상기 오디오 FIFO 버퍼(229)로부터 오디오 샘플들을 독출할 수 있다. 상기 오디오 SW(230)는 필요하다면 샘플링 레이트 변환을 위해 상기 SRC 믹서(222)로 상기 오디오 샘플들을 통과시킬 수 있다. 상기 SRC 믹서(222)는 상기 오디오 샘플들상에서의 상기 오디오 샘플링 레이트를 변환시킬 수 있으며, 상기 변환된 오디오 샘플들을 다시 상기 오디오 SW(230)로 전송할 수 있다. 상기 오디오 SW(230)는 그런 다음 4 개의 희망하는 목적지 FIFO 어드레스들과 같은 다중 희망된 목적지 FIFO 어드레스들에서 상기 변환된 오디오 샘플들을 상기 오디오 FIFO 버퍼(229)에 기록함으로써 상기 헤드셋들(136)과 같은 오디오 싱크로 제공할 수 있다.
도 5는 본 발명의 실시예에 따라, 외부의 오디오 소스로부터 상기 중앙 오디오 허브의 하나 이상의 목적지 오디오 모듈들로 단일 오디오 스트림의 오디오 샘플들을 라우팅하기 위해 중앙 오디오 허브에 의해 수행될 수 있는 예시적인 단계들을 나타내는 블록도이다. 도 5를 참조하면, 상기 중앙 오디오 허브(200)는 상기 중앙 오디오 허브(200)와 연결된 FM 무선 수신기와 같은 외부의 오디오 소스로부터 단일 오디오 스트림을 수신할 수 있다. 상기 수신된 오디오 스트림은 상기 오디오 FIFO 버퍼(229)에 저장될 수 있다. 예시적인 단계들은 단계(502)에서 시작할 수 있으며, 상기 ChC(230)는 소스 FIFO 어드레스 및 상기 오디오 스트림을 위한 상기 오디오 FIFO 버퍼(229)에서의 하나 이상의 목적지 FIFO 어드레스들을 식별 또는 결정하도록 동작할수 있다. 단계(504)에서, 상기 ChC(230)는 오디오 샘플링 레이트, 샘플 포맷 및 모노 또는 스테레오와 같은 오디오 증폭기 연결들을 결정할 수 있다. 단계(506)에서, 상기 오디오 SW(230)는 상기 식별된 소스 FIFO 어드레스 및 상기 식별된 하나 이상의 목적지 FIFO 어드레스를 가지고 오디오 SW(230) 채널을 셋업할 수 있다. 단계(508)에서, 상기 RG(234)는 상기 결정된 오디오 샘플링 레이트로 주기적으로 이벤트 트리거들을 생성할 수 있다. 단계(510)에서, 상기 ChC(234)는 상기 결정된 소스 FIFO 어드레스에서 상기 오디오 FIFO 버퍼(229)로부터 하나의 스테레오 또는 모노 오디오 샘플을 독출할 수 있다. 단계(511)에서, 상기 SRC 믹서(222)는 상기 오디오 FIFO 버퍼(229)로부터 독출된 상기 오디오 샘플들을 혼합할 수 있다. 단계(512)에서, 상기 혼합된 오디오 스트림이 스플릿되는지가 결정될 수 있다. 그런 다음, 상기 혼합된 오디오 스트림이 스플릿되는 경우에, 단계(514)에서 상기 오디오 SW(230)는 상기 선택된 오디오 SW 채널을 통해, 상기 식별된 다중 목적지 FIFO 어드레스들에서 상기 혼합된 오디오 샘플들을 상기 오디오 FIFO 버퍼(229)에 기록할 수 있다.
단계(512)에서, 상기 혼합된 오디오 스트림이 스플릿되지 않은 경우에, 그런 다음 단계(516)에서, 상기 오디오 SW(230)는 상기 선택된 오디오 SW 채널을 통해 상기 혼합된 오디오 샘플들을 상기 식별된 단일 목적지 FIFO 어드레스들에서 상기 오디오 FIFO 버퍼(229)에 기록할 수 있다.
도 6은 본 발명의 실시예에 따른, 외부의 더블 데이터 레이트 메모리 및 상기 중앙 오디오 허브의 목적지 오디오 모듈 사이의 단일 오디오 스트림의 오디오 샘플들을 라우팅하기 위한 중앙 오디오 허브에서의 예시적인 데이터 흐름을 나타내는 블록도이다. 도 6을 참조하면, 상기 예시적인 데이터 흐름은 상기 DDR 메모리(124)로 시작할 수 있으며, 여기서 오디오 소스는 상기 ARM 프로세서(120a)와 같은 다른 호스트 구성요소들로부터 나올 수 있다. 상기 DDR 메모리(124)는 재생(playback)을 위해 이용되는 하나 이상의 렌더링 버퍼들(render buffers)을 포함할 수 있다. 예를 들면, 상기 오디오H(224)와 같은 온-칩 코덱을 통해 상기 ARM 프로세서(120a)로부터 상기 오디오 스트림을 재생하도록 요망될 수 있다. 이러한 관점에서, 상기 DMAC(228)는 상기 DDR 메모리(124)로부터 상기 희망하는 오디오 스트림의 오디오 샘플들을 페치하기 위해 상기 오디오 FIFO 버퍼(229)를 관리할 수 있다. 상기 DMAC(228)는 또한 상기 오디오 스트림을 위해 상기 오디오 FIFO 버퍼(229)에서 소스 FIFO 어드레스 및 목적지 FIFO 어드레스를 통신할 수 있다. 상기 ChC(230)는 상기 소스 FIFO 어드레스 및 상기 목적지 FIFO 어드레스를 갖는 오디오 SW 채널을 선택하도록 동작할 수 있다. 상기 오디오 FIFO 버퍼(229)는 상기 오디오 SW(230)로 상기 페치된 오디오 샘플들을 기록할 수 있다. 다시 말하면, 상기 ChC(234)는 상기 소스 FIFO 어드레스에서 상기 오디오 FIFO 버퍼(229)로부터 오디오 샘플들을 독출할 수 있다. 상기 오디오 SW(230)는 필요하다면 샘플링 레이트 변환을 위해 상기 SRC 믹서(222)로 상기 오디오 샘플들을 라우팅할 수 있다. 상기 SRC 믹서(222)는 상기 오디오 샘플들상에서 상기 샘플링 레이트를 변환시킬 수 있으며, 상기 변환된 오디오 샘플들을 상기 오디오 SW(230)로 다시 전송할 수 있다. 상기 오디오 SW(230)는 상기 오디오H(224)를 통해 상기 헤드셋들(136)과 같은 오디오 싱크로 상기 변환된 오디오 샘플들을 제공할 수 있다. 보다 구체적으로, 상기 오디오 SW(230)는 상기 목적지 FIFO 어드레스에서 상기 변환된 오디오 샘플들을 상기 오디오 FIFO 버퍼(229)에 기록할 수 있다.
비록 상기 중앙 오디오 허브(200)의 단일 목적지 오디오 모듈로 라우팅되는 상기 DDR 메모리(124)에 저장된 외부의 오디오 소스로부터의 오디오 스트림이 도 6에 도시되지만, 본 발명이 그와 같이 한정되지는 않을 수 있다. 따라서, 본 발명은 본 발명의 다양한 실시예들의 사상 및 범위로부터 벗어나지 않고, 상기 중앙 오디오 허브(200)의 다중 목적지 오디오 모듈들로 상기 DDR 메모리(124)에 저장된 외부의 오디오 소스로부터의 오디오 스트림을 라우팅하도록 적용될 수 있다.
도 7은 본 발명의 실시예에 따라, 상기 외부의 더블 데이터 메모리 및 상기 중앙 오디오 허브의 하나 이상의 오디오 모듈들 사이의 단일 오디오 스트림의 오디오 샘플들을 라우팅하기 위해 중앙 오디오 허브에 의해 수행될 수 있는 예시적인 단계들을 나타내는 블록도이다. 도 7을 참조하면, 상기 중앙 오디오 허브(200)는 상기 호스트 DDR 메모리(124)에 저장된 단일 오디오 스트림을 재생할 필요가 있을 수 있다. 상기 단일 오디오 스트림은 상기 ARM 프로세서(120a)와 같은 다른 호스트 구성요소들에 의해 제공될 수 있다. 상기 오디오 스트림의 오디오 샘플들은 상기 오디오 DDR 메모리(124)에 저장될 수 있다. 상기 예시적인 단계들은 단계(702)로 시작될 수 있으며, 여기서 상기 DMAC(228)는 상기 DDR 메모리(124)로부터 상기 오디오 스트림의 오디오 샘플들을 페치하기 위해 상기 오디오 FIFO 버퍼(229)를 관리할 수 있다. 단계(704)에서, 상기 DMAC(228)는 상기 오디오 스트림을 위해 상기 오디오 FIFO 버퍼(229)에서 소스 FIFO 어드레스 및 하나 이상의 목적지 FIFO 어드레스들을 확인할 수 있다. 단계(706)에서, 상기 ChC(230)는 오디오 샘플링 레이트, 샘플 포맷 및 상기 오디오 스트림을 라우팅하기 위한 모노 또는 스테레오와 같은 오디오 증폭기 연결들을 결정할 수 있다. 단계(708)에서, 상기 ChC(230)는 상기 소스 FIFO 어드레스 및 상기 하나 이상의 목적지 FIFO 어드레스를 갖는 오디오 SW 채널을 선택하도록 동작할 수 있다. 단계(710)에서, 상기 RG(234)는 상기 결정된 오디오 샘플링 레이트에서 주기적으로 이벤트 트리거들을 생성할 수 있다. 단계(712)에서, 상기 ChC(234)는 상기 결정된 소스 FIFO 어드레스에서 상기 오디오 FIFO 버퍼(229)로부터 상기 오디오 스트림의 오디오 샘플들을 독출할 수 있다. 단계(713)에서, 상기 SRC 믹서(222)는 상기 오디오 FIFO 버퍼(229)로부터 독출된 상기 오디오 샘플들을 혼합할 수 있다. 단계(714)에서, 상기 혼합된 오디오 스트림이 스플릿되는지가 판단될 수 있다. 상기 혼합된 오디오 스트림이 스플릿되는 경우에, 그런 다음 단계(716)에서, 상기 오디오 SW(230)는 상기 선택된 오디오 SW 채널을 통해, 상기 확인된 다중 목적지 FIFO 어드레스들에서 상기 혼합된 오디오 샘플들을 상기 오디오 FIFO 버퍼(229)에 기록할 수 있다.
단계(714)에서, 상기 혼합된 오디오 스트림이 스플릿되지 않은 경우에, 그런 다음, 단계(718)에서, 상기 오디오 SW(230)는 상기 선택된 오디오 SW 채널을 통해, 상기 확인된 단일 목적지 FIFO 어드레스들에서 상기 혼합된 오디오 샘플들을 상기 오디오 FIFO 버퍼(229)에 기록할 수 있다.
중앙 오디오 허브에서 오디오 신호들을 처리하기 위한 방법 및 시스템의 다양한 실시예의 측면들에서, 상기 중앙 오디오 허브(200)는 예를 들면, 상기 오디오 SW(230), 상기 APB 버스 매트릭스(210), 상기 DMAC(228) 및 상기 오디오 FIFO 버퍼(229)와 같은 다양한 오디오 프로세싱 블록들을 포함할 수 있다. 상기 중앙 오디오 허브(200)는 상기 DMAC(228)을 통해, 상기 오디오 FIFO 버퍼(229)로부터 희망하는 오디오 스트림의 오디오 샘플들을 독출하도록 동작할 수 있다. 예를 들면, 상기 오디오 SW(230)에서의 상기 RG(234)는 예를 들면, 8KHz, 16KHz, 24KHz, 44.1KHz 또는 48KHz와 같은 다양한 오디오 샘플링 레이트들로 이벤트 트리거들을 생성할 수 있다. 상기 오디오 SW(230)에서 ChC(232)는 소스로부터 하나 이상의 목적지들로 오디오 샘플들을 이동시키기 위해 오디오 SW 채널들을 셋업하도록 트리거링될 수 있다.
상기 오디오 SW(230)는 상기 오디오 FIFO 버퍼(229)로부터, 상기 DMAC(228)를 통해, 오디오 샘플들을 독출하기 위해 상기 오디오 SW 채널들을 이용할 수 있다. 상기 오디오 SW(230)는 그런 다음 상기 오디오 FIFO 버퍼(229)로부터 상기 중앙 오디오 허브(200)에 통신으로 연결된 하나 이상의 오디오 모듈들 또는 오디오 코어들로 상기 오디오 샘플들을 라우팅할 수 있다. 본 발명의 다양한 실시예들에서, 상기 오디오 SW(230)는 FM 무선 수신기와 같은 외부의 응용 프로세서로부터 직접 중앙 오디오 허브(200)에 의해 수신될 수 있는 오디오 스트림을 라우팅하도록 동작할 수 있다. 상기 오디오 SW(230)는 또한 상기 DDR 메모리(124)와 같은 외부의 DDR 메모리로부터 직접 중앙 오디오 허브(200)에 의해 수신될 수 있는 상기 오디오 스트림을 라우팅할 수 있다. 상기 오디오 스트림이 상기 DDR 메모리(124)에 의해 렌더링되는 경우에, 상기 오디오 스트림의 상기 오디오 샘플들은 상기 DDR 메모리(124)로부터 상기 오디오 FIFO 버퍼(229)로 먼저 이동될 수 있다. 이와 관련하여, 상기 오디오 FIFO 버퍼(229)는 상기 DDR 메모리(124)에 저장된 상기 오디오 스트림의 오디오 샘플들을 위해 상기 DMAC(228)로 요청을 전송할 수 있다. 상기 오디오 FIFO 버퍼(229)로부터의 요청을 수신할 때, 상기 DMAC(228)는 상기 DDR 메모리(124)로부터 상기 오디오 스트림의 오디오 샘플들을 페치할 수 있다. 상기 DMAC(228)는 상기 서라운딩 오디오 모듈들(220) 사이에서 라우팅하는 오디오를 위해 상기 오디오 스트림의 페치된 오디오 샘플들을 상기 오디오 FIFO 버퍼(229)로 저장할 수 있다. 본 발명의 예시적인 실시예에서, 상기 오디오 SW(230)에서의 상기 ChC(232)는 상기 오디오 FIFO 버퍼(229)에 저장된 상기 오디오 스트림의 오디오 샘플들을 위해 오디오 샘플링 레이트 및 샘플 포맷을 결정하도록 동작할 수 있다. 상기 오디오 SW(230)에서 RG(234)는 상기 결정된 오디오 샘플링 레이트로 상기 이벤트 트리거들을 생성할 수 있다. 그런 다음, 상기 오디오 SW(230)는 상기 결정된 샘플 포맷을 이용하여 상기 오디오 FIFO 버퍼(229)로부터 상기 오디오 샘플들을 독출할 수 있다. 상기 ChC(232)는 상기 오디오 스트림의 오디오 샘플들을 상기 하나 이상의 목적지 오디오 모듈들로 라우팅할 수 있다.
본 발명의 다른 실시예들은 비-일시적 컴퓨터 판독가능 매체 및/또는 저장 매체, 및/또는 이에 저장하는 비-일시적 머신(machine) 판독가능한 매체 및/또는 저장 매체, 머신 코드 및/또는 머신 및/또는 컴퓨터에 의해 실행가능한 하나 이상의 코드 섹션을 갖는 컴퓨터 프로그램을 제공할 수 있으며, 이로써 상기 머신 및/또는 컴퓨터로 하여금 중앙 오디오 허브에서 오디오 신호들을 처리하기 위한 여기에 기술된 바와 같은 상기 단계들을 수행하도록 할 수 있다.
따라서, 본 발명은 하드웨어, 소프트웨어 또는 하드웨어와 소프트웨어의 조합으로 실현될 수 있다. 본 발명은 적어도 하나의 컴퓨터 시스템에서 집중화된 방식으로 또는 상이한 구성요소들이 몇 개의 상호연결된 컴퓨터 시스템들에 걸쳐 퍼져 있는 분포된 방식으로 실현될 수 있다. 여기에 기술된 방법들을 실행하기 위해 채택된 임의 종류의 컴퓨터 시스템 또는 다른 장치가 맞추어진다. 하드웨어와 소프트웨어의 전형적 조합은 로딩되거나 실행될 때 컴퓨터 시스템이 본원에 기술된 방법들을 실행하도록 제어하는 컴퓨터 프로그램을 갖는 범용 컴퓨터 시스템일 수 있다.
또한, 본 발명은 여기 기술된 방법들을 구현할 수 있도록 하는 모든 특징들을 포함하고 컴퓨터 시스템에 로딩되었을 때 이들 방법들을 수행할 수 있는 컴퓨터 프로그램 제품에 내장될 수 있다. 본 맥락에서 컴퓨터 프로그램은 정보 처리 능력이 있는 시스템이 직접 또는 a) 다른 언어, 코드 또는 표기로 변환, b) 다른 자료 형태로 재생 중 하나 혹은 둘 다를 행한 후에 특정 기능을 수행하도록 하는 한 세트의 지시들의 임의의 언어, 코드 또는 표기로 된 임의의 표현을 의미한다.
본 발명이 일부 실시예들에 관련하여 기술되었으나, 본 발명의 범위를 벗어나지 않고 다양한 변경들이 행해질 수 있고 등가물들이 대치될 수 있음은 당업자에 의해 이해될 것이다. 추가로, 본 발명의 범위를 벗어나지 않고 본 발명의 교시된 바들에 대해 특정 상황 또는 자료에 적합하도록 많은 수정들이 행해질 수 있다. 그러므로, 본 발명은 개시된 특정 실시예로 제한되지 않으며, 오히려 본 발명은 상기 첨부된 청구항들의 범위 내에 속하는 모든 실시예들을 포함할 것이다.

Claims (15)

  1. 오디오 스위치, 버스 매트릭스(bus matrix), 및 오디오 버퍼(audio buffer)를 포함하는 중앙 오디오 허브(central audio hub)에서,
    상기 오디오 스위치로부터의 이벤트 트리거들에 응답하여 상기 오디오 버퍼로부터 오디오 스트림의 오디오 샘플들을 독출(read)하는 단계; 및
    상기 버스 매트릭스에 대한 상기 오디오 샘플들을 상기 중앙 오디오 허브와 통신으로 연결된 복수의 오디오 모듈들 중 하나 이상으로 라우팅하는 단계로서, 상기 복수의 오디오 모듈들은 오디오 코덱, 오디오 인터페이스를 포함하는, 상기 라우팅하는 단계를 포함하는, 통신을 위한 방법.
  2. 청구항 1에 있어서, 상기 오디오 스트림은 외부의 응용 프로세서로부터 직접 상기 중앙 오디오 허브에 의해 수신되는, 통신을 위한 방법.
  3. 청구항 1에 있어서, 상기 오디오 스트림은 외부의 더블 데이터 레이트 메모리(double data rate memory)로부터 상기 중앙 오디오 허브에 의해 수신되는, 통신을 위한 방법.
  4. 청구항 3에 있어서, 직접 메모리 액세스 컨트롤러에 액세스하는 것에 의해 상기 외부의 더블 데이터 레이트 메모리에서 상기 오디오 스트림의 상기 오디오 샘플들을 위한 상기 오디오 버퍼로부터의 요청을 수신하는 단계를 포함하는, 통신을 위한 방법.
  5. 청구항 4에 있어서, 상기 직접 메모리 액세스 컨트롤러에 의해 상기 요청에 응답하여 상기 외부의 더블 데이터 레이트 메모리로부터의 상기 오디오 스트림의 상기 오디오 샘플들을 페칭(fetching)하는 단계를 포함하는, 통신을 위한 방법.
  6. 청구항 5에 있어서, 상기 라우팅하는 단계를 위해 상기 오디오 버퍼로 상기 오디오 스트림의 상기 페칭된 오디오 샘플들을 저장하는 단계를 포함하는, 통신을 위한 방법.
  7. 청구항 1에 있어서, 상기 오디오 버퍼에서 상기 오디오 스트림의 상기 오디오 샘플들을 위한 샘플링 레이트 및 샘플 포맷을 결정하는 단계를 포함하는, 통신을 위한 방법.
  8. 청구항 7에 있어서, 상기 결정된 샘플링 레이트로 상기 오디오 스위치에 의해 상기 이벤트 트리거들을 생성하는 단계를 포함하는, 통신을 위한 방법.
  9. 청구항 8에 있어서, 상기 생성된 이벤트 트리거들에 응답하여 상기 오디오 버퍼로부터, 상기 결정된 샘플 포맷을 이용하여, 상기 오디오 스트림의 상기 오디오 샘플들을 독출하는 단계를 포함하는, 통신을 위한 방법.
  10. 청구항 9에 있어서, 상기 결정된 샘플 포맷에서 상기 오디오 샘플들을 상기 복수의 오디오 모듈들 중 상기 하나 이상으로 라우팅하는 단계를 포함하는, 통신을 위한 방법.
  11. 중앙 오디오 허브에서 사용을 위한 하나 이상의 프로세서들 및/또는 회로들을 포함하며, 상기 하나 이상의 프로세서들 및/또는 회로들은 오디오 스위치, 버스 매트릭스, 및 오디오 버퍼를 포함하며, 상기 하나 이상의 프로세서들 및/또는 회로들은,
    상기 오디오 스위치로부터의 이벤트 트리거들에 응답하여 상기 오디오 버퍼로부터 오디오 스트림의 오디오 샘플들을 독출하고,
    상기 버스 매트릭스에 대한 상기 오디오 샘플들을 상기 중앙 오디오 허브와 통신으로 연결된 복수의 오디오 모듈들 중 하나 이상으로 라우팅하는 것으로서, 상기 복수의 오디오 모듈들은 오디오 코덱, 오디오 인터페이스를 포함하는, 상기 라우팅하도록 동작하는, 통신을 위한 시스템.
  12. 청구항 11에 있어서, 상기 오디오 스트림은 외부의 응용 프로세서로부터 직접 상기 중앙 오디오 허브에 의해 수신되는, 통신을 위한 시스템.
  13. 청구항 11에 있어서, 상기 오디오 스트림은 외부의 더블 데이터 레이트 메모리(double data rate memory)로부터 상기 중앙 오디오 허브에 의해 수신되는, 통신을 위한 시스템.
  14. 청구항 13에 있어서, 상기 하나 이상의 프로세서들 및/또는 회로들은 직접 메모리 액세스 컨트롤러에 액세스하는 것에 의해 상기 외부의 더블 데이터 레이트 메모리에서 상기 오디오 스트림의 상기 오디오 샘플들을 위한 상기 오디오 버퍼로부터의 요청을 수신하도록 동작하는, 통신을 위한 시스템.
  15. 청구항 14에 있어서, 상기 하나 이상의 프로세서들 및/또는 회로들은 상기 직접 메모리 액세스 컨트롤러에 의해, 상기 요청에 응답하여 상기 외부의 더블 데이터 레이트 메모리로부터의 상기 오디오 스트림의 상기 오디오 샘플들을 페칭(fetching)하도록 동작하는, 통신을 위한 시스템.
KR1020120032923A 2011-03-31 2012-03-30 중앙 오디오 허브에서 오디오 신호들을 처리하기 위한 방법 및 시스템 KR101402869B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/077,458 2011-03-31
US13/077,458 US20120250877A1 (en) 2011-03-31 2011-03-31 Method and system for processing audio signals in a central audio hub

Publications (2)

Publication Number Publication Date
KR20120112211A true KR20120112211A (ko) 2012-10-11
KR101402869B1 KR101402869B1 (ko) 2014-06-03

Family

ID=45655091

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120032923A KR101402869B1 (ko) 2011-03-31 2012-03-30 중앙 오디오 허브에서 오디오 신호들을 처리하기 위한 방법 및 시스템

Country Status (5)

Country Link
US (1) US20120250877A1 (ko)
EP (1) EP2506148A1 (ko)
KR (1) KR101402869B1 (ko)
CN (1) CN102881302A (ko)
TW (1) TW201248496A (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3034887B1 (fr) * 2015-04-08 2019-09-13 Jean-Roger Mathieu Amilien Thomas Dispositif et procede de commande gestuelle en temps reel de signal audio
CN106154553B (zh) * 2016-08-01 2024-06-28 全球能源互联网研究院 一种电力巡检智能头盔双目显示系统及其实现方法
KR102453656B1 (ko) 2018-01-25 2022-10-12 삼성전자주식회사 저전력 동작을 위한 애플리케이션 프로세서, 이를 포함하는 전자 장치 및 그 동작 방법
CN113836081B (zh) * 2021-09-29 2024-01-23 南方电网数字电网研究院有限公司 片上系统芯片架构

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6212199B1 (en) * 1997-03-18 2001-04-03 Apple Computer, Inc. Apparatus and method for interpretation and translation of serial digital audio transmission formats
US6166963A (en) * 1998-09-17 2000-12-26 National Semiconductor Corporation Dual port memory with synchronized read and write pointers
US6606689B1 (en) * 2000-08-23 2003-08-12 Nintendo Co., Ltd. Method and apparatus for pre-caching data in audio memory
US7574274B2 (en) * 2004-04-14 2009-08-11 Nvidia Corporation Method and system for synchronizing audio processing modules
US8041848B2 (en) * 2008-08-04 2011-10-18 Apple Inc. Media processing method and device

Also Published As

Publication number Publication date
EP2506148A1 (en) 2012-10-03
KR101402869B1 (ko) 2014-06-03
TW201248496A (en) 2012-12-01
CN102881302A (zh) 2013-01-16
US20120250877A1 (en) 2012-10-04

Similar Documents

Publication Publication Date Title
US6349285B1 (en) Audio bass management methods and circuits and systems using the same
US9519708B2 (en) Multiple concurrent audio modes
EP3364638B1 (en) Recording method, recording playing method and apparatus, and terminal
US8549203B2 (en) Multi-protocol bus interface device
US11176956B2 (en) Application directed latency control for wireless audio streaming
TW201832089A (zh) 多點分支串列匯流排上的多埠多邊頻帶gpio合併技術
WO2019109763A1 (zh) 一种基于安卓系统实现多声道录音的方法及音频系统
CN113890932A (zh) 一种音频控制方法、系统及电子设备
KR101402869B1 (ko) 중앙 오디오 허브에서 오디오 신호들을 처리하기 위한 방법 및 시스템
US10652681B2 (en) Processing method and system of audio multichannel output speaker, and mobile phone
CN101826063A (zh) 通用序列总线音频控制器
JP2021184607A (ja) オーディオデータ処理方法、装置、デバイス、記憶媒体及びプログラム
EP3189442B1 (en) Multi-channel audio communication in a serial low-power inter-chip media bus (slimbus) system
CN108600917A (zh) 一种嵌入式多路音频管理系统及管理方法
JP2015043235A (ja) データ値を変換して記憶するための命令を用いた代理メモリアクセスエージェントの構成
US10433060B2 (en) Audio hub and a system having one or more audio hubs
WO2022042327A1 (zh) 音频驱动马达的通路配置方法及设备
JP2009212852A5 (ko)
JP2015508528A (ja) パイプライン化された画像処理シーケンサ
CN105389156B (zh) 一种基于dma技术降低声音输入至输出延迟的方法和系统
US20170228334A1 (en) Coupling device and method for dynamically allocating usb endpoints of a usb interface, and exchange trading system terminal with coupling device
US11175885B2 (en) Display apparatus, audio apparatus and method for controlling thereof
EP2728461B1 (en) Audio processing device
TM Technical reference manual
CN104954942A (zh) 用于回音消除的信号输入装置和方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
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