KR101226412B1 - 미디어 데이터의 다수의 스트림을 결합하는 시스템, 방법 또는 장치 - Google Patents

미디어 데이터의 다수의 스트림을 결합하는 시스템, 방법 또는 장치 Download PDF

Info

Publication number
KR101226412B1
KR101226412B1 KR1020117004105A KR20117004105A KR101226412B1 KR 101226412 B1 KR101226412 B1 KR 101226412B1 KR 1020117004105 A KR1020117004105 A KR 1020117004105A KR 20117004105 A KR20117004105 A KR 20117004105A KR 101226412 B1 KR101226412 B1 KR 101226412B1
Authority
KR
South Korea
Prior art keywords
media data
data signal
accumulator
signal streams
buffer
Prior art date
Application number
KR1020117004105A
Other languages
English (en)
Other versions
KR20110033942A (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 KR20110033942A publication Critical patent/KR20110033942A/ko
Application granted granted Critical
Publication of KR101226412B1 publication Critical patent/KR101226412B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/756Media network packet handling adapting media to device capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream

Abstract

디지털 미디어 스트림들을 결합 또는 믹싱하는 것과 연관된 방법들, 장치들, 디바이스들 및 시스템들의 실시형태들이 개시되어 있다.

Description

미디어 데이터의 다수의 스트림을 결합하는 시스템, 방법 또는 장치{SYSTEM, METHOD OR APPARATUS FOR COMBINING MULTIPLE STREAMS OF MEDIA DATA}
본 출원은 2008년 7월 23일 출원된 "METHOD FOR MIXING AND REAL TIME PLAYBACK OF MULTIPLE INDEPENDENT AUDIO STREAM IN MULTI-PROCESSING ENVIRONMENT" 라는 명칭의 미국 가출원 제61/083,058호에 대한 이익을 주장하고, 2009년 6월 5일 출원된 "SYSTEM, METHOD OR APPARATUS FOR COMBINING MULTIPLE STREAMS OF MEDIA DATA" 라는 명칭의 미국 출원 제12/479,492호에 대한 우선권을 주장한다.
실시형태들은 미디어 데이터의 스트림의 믹싱 또는 결합의 분야에 관한 것으로, 더욱 상세하게는, 디지털 미디어 데이터의 다수의 스트림을 결합하는 것에 관한 것이다.
이동 전화기들, PDA들, 컴퓨팅 플랫폼들 등과 같은 모바일 디바이스들은 일부 상황 하에서 디지털 미디어 데이터의 다수의 스트림을 적어도 부분적으로 동시에 또는 병행하여 플레이 또는 수행할 수도 있다. 예를 들어, 이동 전화기는 일부 상황 하에서 음악 파일, 음성 호, 알람음, 게임음 등에 대응하는 오디오 스트림, 또는 그 일부 결합을 적어도 부분적으로 병행하는 방식으로 플레이할 수도 있다.
청구물은 본 명세서의 결론 부분에 상세히 적시되고 개별적으로 청구된다. 그러나, 목적들, 특성들 및 이점들과 함께 구성 및 동작 방법 모두에 대한 청구물은, 첨부한 도면들과 함께 판독될 때 다음의 상세한 설명을 참조하여 최상으로 이해될 수도 있다.
도 1 은 일 실시형태에 따른 하나 이상의 누산기 버퍼를 포함하는 시스템의 개략도이다.
도 2 는 도 1 의 실시형태의 동작의 하나 이상의 양태를 나타낸 개략도이다.
도 3 은 도 1 의 실시형태의 동작의 하나 이상의 다른 양태를 나타낸 개략도이다.
도 4 는 일 실시형태에 따른 프로세스의 흐름도 표현이다.
도 5 는 일 실시형태에 따른 누산기 버퍼로부터 판독 포인터 판독 동작의 로직 제어 프로세스의 흐름도이다.
도 6 은 일 실시형태에 따른 기록 포인터 기록 동작의 로직 제어 프로세스의 흐름도이다.
도 7 은 일 실시형태에 따른 누산기 버퍼 및 하나 이상의 프로세서를 포함하는 시스템의 개략도이다.
도 8 은 일 실시형태에 따른 하나 이상의 가상 누산기 버퍼 및 하나 이상의 프로세서를 포함하는 시스템의 개략도이다.
다음의 상세한 설명에서, 청구물의 완전한 이해를 제공하기 위해 다수의 특정 상세가 설명된다. 그러나, 청구물이 이들 특정 상세 없이 실시될 수도 있음을 당업자는 이해할 것이다. 다른 예에서, 당업자에게 공지된 방법들, 절차들, 컴포넌트들 또는 회로들은 청구물을 모호하게 하지 않기 위해 상세히 설명하지 않았다.
본 명세서 전반에 걸친 참조 "하나의 실시형태" 또는 "일 실시형태" 는, 그 실시형태와 관련하여 설명되는 특정한 특성, 구조, 또는 특징이 청구물의 적어도 하나의 실시형태에 포함됨을 의미한다. 따라서, 본 명세서 전반에 걸친 다양한 장소에서의 구문 "하나의 실시형태에서" 또는 "일 실시형태" 의 출현이 모두 반드시 동일한 실시형태를 지칭하는 것은 아니다. 또한, 특정한 특성들, 구조들, 또는 특징들은 하나 이상의 실시형태에서 결합될 수도 있다.
이동 전화기들, PDA들, 연산 플랫폼들 등과 같은 미디어 디바이스들은 일부 상황 하에서 디지털 미디어 데이터의 다수의 스트림을 적어도 부분적으로 동시에 또는 병행하여 플레이 또는 수행할 수도 있다. 예를 들어, 이동 전화기는 일부 상황 하에서 음악 파일, 음성 호, 알람음, 게임음 등에 대응하는 오디오 스트림, 또는 그 일부 결합을 적어도 부분적으로 병행하는 방식으로 플레이 또는 수행할 수도 있다. 본 명세서에 사용되는 바와 같이, 용어 "디지털 미디어 데이터" 는, 예를 들어, 오디오 데이터, 비디오 데이터, 이미지 데이터 등을 포함하여, 인간에 의해 지각될 수 있는 물리적 속성 또는 물리적 표시가 나타나는 2진 디지털 신호들을 지칭한다. 이에 대한 하나의 가능한 솔루션은, 예를 들어, 이를테면 오디오 스트림들이 시간에 있어서 함께 중첩된 디지털 미디어 스트림들을 가산하고 가산된 오디오 스트림들을 디지털 아날로그 변환기 (DAC) 에 공급하는 소프트웨어 모듈 또는 하드웨어 컴포넌트를 이용하는 것이다. 예를 들어, 이것은 오디오 스트림들이 단일의 멀티스레드 프로세서를 이용하여 플레이되는 경우에 달성될 수도 있다. 그러나, 상술한 바와 같이, 시스템이 디지털 미디어 데이터의 다수의 스트림을 발생시키는 다수의 프로세서, 또는 디지털 미디어 데이터의 다수의 스트림을 발생시키는 단일 프로세서를 이용하는 경우, 소프트웨어 모듈 또는 하드웨어 컴포넌트가 미디어 데이터의 다수의 스트림 간을 적절히 조정 또는 동기시키도록 요구되고 있을 수도 있다. 또한, 일부 상황 하에서, 상이한 오디오 스트림이 상이한 샘플링 레이트에서 발생될 수도 있고 또는 상이한 채널 포맷에 대해 발생될 수도 있다. 예로서, mp3 음악 파일의 재생은 44.1 ㎑ 의 샘플링 레이트에서 2 개의 오디오 채널로 발생될 수도 있는 반면, 이를테면 전화 통화로부터의 음성 데이터는 8 ㎑ 의 샘플링 레이트에서 단일 오디오 채널로 발생될 수도 있다. 이 예에서, 미디어 데이터의 2 개의 스트림은 함께 믹싱되기 위하여 단일 샘플링 레이트에서 리샘플링되어 2 오디오 채널 포맷으로 변환될 수도 있다. 그러나, 이렇게 하는 것은 일부 하드웨어 및/또는 프로세싱의 복잡성을 수반할 수도 있다.
그러나, 더욱 상세히 후술하는 바와 같이, 일 실시형태는 반대로, 제자리 또는 원위치에서 다수의 디지털 미디어 데이터 스트림을 믹싱하도록 동작가능한 하드웨어 컴포넌트에 관한 것이다. 예를 들어, 누산기 버퍼와 같은 하드웨어 컴포넌트는 다수의 디지털 미디어 데이터 스트림을 믹싱하고 그 스트림의 적어도 부분적인 동기를 유지하도록 동작가능할 수도 있다. 적어도 하나의 실시형태에 있어서, 하나 이상의 하드웨어 컴포넌트는 다수의 디지털 미디어 데이터 스트림을 단일 또는 공통 샘플링 레이트로 리샘플링하고 이들 스트림을 공통 채널 포맷으로 적어도 부분적으로 변환하여 제자리 또는 원위치에서 이들 스트림의 믹싱을 용이하게 할 수도 있다. 일 실시형태에 있어서, 누산기 버퍼와 같은 하드웨어 컴포넌트는 예를 들어 다수의 프로세서와 같은 다수의 소스로부터의 미디어 스트림들을 믹싱하도록 동작가능할 수도 있고, 단일의 프로세서로부터 발생한 다수의 미디어 스트림을 믹싱하도록 동작가능할 수도 있다. 본 명세서에 사용되는 바와 같이, "믹싱" 은 2 개 이상의 2진 디지털 신호를 적어도 부분적으로 결합하여 하나의 2진 디지털 신호를 형성하는 것을 지칭하는 것으로, 믹싱된 신호들의 하나 이상의 특성이 나타나 있다. 본 명세서에 사용되는 바와 같이, "공통 채널 포맷" 은 2진 디지털 신호들의 표시를 지칭하는 것으로, 그 2진 디지털 신호들은 이를테면 제한 없이 좌측 채널 및 우측 채널을 갖는 특정 또는 별개의 채널 구성에서 플레이 또는 수행되는 것으로 의도되고, 동일한 소스로부터 반드시 발생될 필요는 없을 수도 있는 신호들에 대하여 공통된다. 예를 들어, 제 1 신호는 좌측 및 우측 채널을 가질 수도 있고, 공통 채널 포맷을 갖는 제 2 신호도 또한 좌측 및 우측 채널을 가질 수도 있다. 본 명세서에 사용되는 바와 같이, "누산기 버퍼" 는 버퍼 및 누산기 양자의 특성들을 나타내는 하드웨어의 부분 또는 디바이스를 지칭한다. 버퍼는 통상적으로 2진 디지털 신호들을 저장하기 위한 메모리 장소들을 포함한다. 누산기는 통상적으로 산술 동작들, 특히 산술 가산 동작을 수행하는 능력을 갖는다. 여기서, 이 특정 실시형태에 대해 더욱 상세히 후술하는 바와 같이, 양자의 특성들을 갖는 디바이스는 설명하는 바와 같이 다수의 미디어 스트림을 제자리 또는 원위치에서 믹싱하도록 하나 이상의 메모리 장소를 포함할 수도 있다. 예를 들어, 누산기 버퍼는 적어도 부분적으로 다수의 신호 소스가 누산기 버퍼의 메모리 장소들에 기록되게 함으로써 다수의 미디어 스트림을 제자리 또는 원위치에서 믹싱 또는 결합하도록 동작가능한 고체 상태 메모리 버퍼를 포함할 수도 있다.
디지털 미디어 신호들을 이용하는 일 실시형태에서, 2진 디지털 신호들 그 자체는 이를테면 예를 들어, 제한, 음성이 없는, 특정 물리적 속성 또는 표시에 관한 시간에 있어서의 특정 인스턴스들 또는 샘플들에 대응할 수도 있다. 따라서, 마찬가지로, 이를테면 제한, 순차 어드레스들 없이 누산기 버퍼 내에 있는 하나 이상의 어드레스는 시간 스케일에 대응할 수도 있어서 누산기 버퍼 내의 특정 장소의 특정 어드레스는 특정 시간 인스턴스에 대응할 수도 있다. 따라서, 일 실시형태에서, 다수의 프로세서는 누산기 버퍼의 임의의 적절한 메모리 장소들에 기록할 수도 있어서, 오디오 스트림과 같은 디지털 미디어 데이터 스트림의 시간적으로 중첩하는 부분들은 할당된 오디오 스트림에 대한 타이밍에 따라 제자리 또는 원위치에서 결합될 수도 있고, 예를 들어, 추가의 버퍼들 또는 사용 없이 그와 같이 행해진다. 적어도 부분적으로 누산기 버퍼에서의 적절한 메모리 장소에 다수의 스트림을 기록함으로써, 다수의 스트림은 시간에 있어서 특정 인스턴스들에 대해 중첩하는 다수의 스트림의 부분들에 대해 믹싱될 수도 있다. 그러나, 이것은 단지 디지털 미디어 데이터 스트림에 관한 예시적인 예이고 청구물은 이에 제한되지 않음에 유의해야 한다.
도 1 은 일 실시형태에 따른 누산기 버퍼 (102) 를 포함하는 시스템 (100) 의 개략도이다. 도 1 에 관하여, 일 실시형태는 예를 들어, 누산기 버퍼 (102, 104, 및 106) 와 같은 하나 이상의 메모리 장소를 포함할 수도 있다. 또한, 일 실시형태는 예를 들어, 리샘플링 또는 리포맷팅 및 믹싱하도록 동작가능한 하나 이상의 회로와 같은 믹서 (108) 를 또한 포함할 수도 있다. 예를 들어, 일 실시형태는 예를 들어, DAC 인터페이스 (110) 와 같은 디지털 아날로그 변환기 (DAC) 인터페이스를 또한 포함할 수도 있다. 일 실시형태는 예를 들어, 인터럽트 발생기 (112) 와 같은 인터럽트 발생 유닛을 또한 포함할 수도 있다. 일 실시형태에서, 누산기 버퍼 (102, 104, 또는 106) 는 예를 들어, 이를테면 버스 중재기 (116) 를 통해 시스템 버스 (114) 에 연결될 수도 있다. 일 실시형태에서, 버스 (114) 는 몇몇 예만 지칭하면, 다음: AMBA (Advanced Microprocessor Bus Architecture); AHB (High-Speed Bus), AXI (Advanced eXtensible Interface) 중 적어도 하나에 따르거나 또는 호환가능한 시그널링, 또는 다른 버스 시그널링 프로토콜을 이용할 수도 있는 버스를 포함할 수도 있다. 일 실시형태에서, 누산기 버퍼 (102, 104, 및 106) 는 하나 이상의 슬레이브 (slave) 유닛으로서 버스 (114) 와 연결될 수도 있어서, 누산기 버퍼 (102, 104, 및 106) 는 시스템 (100) 과 연관된 하나 이상의 프로세서 (미도시) 에 적어도 부분적으로 액세스가능할 수도 있다. 일 실시형태에서, 믹서 유닛 (108) 은 일부 상황 하에서, 시스템 (100) 과 연관된 하나 이상의 프로세서 중 임의의 프로세서에 의해 프로그래밍되어, 하나 이상의 샘플링 레이트, 채널 포맷 등을 갖는 하나 이상의 미디어 스트림으로부터의 리샘플링과 같은 하나 이상의 믹싱 태스크들을 수행할 수도 있다. 일 실시형태에서, 샘플링 레이트, 채널 포맷 등은 누산기 버퍼들 중 특정한 하나의 누산기 버퍼와 연관될 수도 있다. 예를 들어, 누산기 버퍼 (102) 는 제 1 샘플링 레이트, 제 1 채널 포맷 등에 대응할 수도 있는 반면, 누산기 버퍼 (104 및 106) 는 상이한 샘플링 레이트, 채널, 포맷 등에 대응할 수도 있다. 일 실시형태에서, 시스템 (100) 은 예를 들어, 가산 버퍼 (120) 와 같은 가산 버퍼를 또한 포함할 수도 있다. 일 실시형태에서, 믹서 (108) 는 DAC 인터페이스 (110) 에 의한 이들 샘플에 대한 후속의 액세스에 대하여 하나 이상의 믹싱된 샘플을 가산 버퍼 (120) 에 기록할 수도 있다. 예를 들어, DAC 인터페이스 (110) 는 이를테면 오디오 또는 비디오 시스템을 통한 재생을 위해, 믹싱된 샘플을 DAC (130) 에 전송할 수도 있다. 이들은 단지 시스템 또는 시스템 구성에 관한 예시적인 예이고 청구물은 이에 제한되지 않음에 유의해야 한다.
일 실시형태에서, 누산기 버퍼 (102, 104, 및 106) 는 각각의 샘플링 레이트, 채널 포맷 등에 적어도 부분적으로 대응하도록 구성될 수도 있다. 이 실시형태에서, 하나 이상의 프로세서 (미도시) 중 임의의 프로세서는 미디어 스트림을 미디어 스트림에 대응하는 샘플링 레이트, 채널 포맷 등을 갖는 누산기 버퍼들 중 임의의 누산기 버퍼에 전송할 수도 있다. 예를 들어, 프로세서는 적어도 부분적으로 적절한 누산기 버퍼의 일부에 대응하는 버스 어드레스에 기록함으로써 누산기 버퍼들 중 적절한 누산기 버퍼에 기록할 수도 있다. 또한, 일시정지된 미디어 스트림은 하나 이상의 제로 값을 누산기 버퍼에 기록할 수도 있다. 예를 들어, 특정 미디어 스트림이 이를테면 사용자에 의해 또는 이벤트에 적어도 부분적으로 응답하여 일시정지되었으면, 특정 누산기 버퍼에서의 대응하는 판독 포인터가 정지될 수도 있고 이러한 누산기 버퍼로부터 믹서로의 출력이 제로로 대체될 수도 있다. 이 예에서, 일시정지가 디어써트되면 (de-asserted), 판독 포인터가 정지되었던 곳부터 계속될 수도 있다. 오디오 샘플들의 채널 당 비트, 오디오 스트림 포맷 및 메모리 워드 사이즈에 따라, 오디오 샘플은 다수의 워드로 구성될 수 있다. 예를 들어, 채널 당 16비트, 5.1 오디오 (6 개의 채널) 및 32비트 메모리 워드 사이즈에서, 각각의 오디오 샘플은 3 개의 워드로 구성된다. 이들 상황 하에서, 특정 포맷에 따라 하나의 샘플에 대한 워드의 수 또는 다수의 샘플에 대한 워드의 수 중 어느 하나가 버퍼로부터 판독되었을 때 샘플 경계가 발생할 수도 있다. 일부 상황 하에서, 샘플 경계의 개념은 이를테면 특정 오디오 소스에 대한 일지정지, 또는 제로 삽입의 적용, 또는 볼륨의 변화 동안에 유용할 수도 있다. 일 실시형태에서, 이러한 제로 삽입 또는 볼륨의 변화는, 변화 (일시정지/볼륨) 가 도입된 샘플의 모든 채널이 이러한 변화를 반영한 것을 보증하기 위하여 적어도 부분적으로 샘플 경계에 적용되는 것이 바람직할 수도 있다. 또한, 일부 상황 하에서, 제로 값을 삽입하는 것은, 이러한 삽입이 팝 (pop) 과 같은 음성 왜곡을 일으킬 수도 있기 때문에 바람직하지 않을 수도 있다. 이러한 상황에서, 몇몇 예만 지칭하면, 예를 들어, 선형, 지수, 대수, 및/또는 사인 (sinusoidal) 모델을 이용하여 점진적으로 제로 값으로 감소시켜서 후속의 신호 값들을 더욱 점진적으로 감소시키는 것이 바람직할 수도 있다. 이러한 절차에 대한 로직은, 예를 들어, 이러한 제로 삽입 값들을 평활화하기 위한 본 명세서에 기재된 하나 이상의 제어기 회로에 존재할 수도 있고, 또는 다르게는 개별 회로에 존재할 수도 있다. 또한, 상이한 채널들, 또는 프로세서 소스들은 특정 소스에 대해 더욱 바람직할 수도 있는 상이한 램프 다운 (ramp down) 프로세스를 이용할 수도 있다. 샘플 경계들을 유지하는 것이 바람직할 수도 있는 다른 상황이 믹서 (108) 에 존재할 수도 있다. 예를 들어, 새로운 스트림이 믹싱에 이용가능하다면, 모든 스트림으로부터의 동일한 채널들이 함께 부가된 것을 보증하기 위해 적어도 부분적으로 샘플 경계에 대해서만 믹싱을 시작해야 한다. 그러나, 이것은 단지 오디오 샘플들을 믹싱하는 것에 관한 예시적인 예이고 청구물은 이에 제한되지 않음에 유의해야 한다.
일 실시형태에서, 누산기 버퍼 내의 어드레스들은 특정 시간 스케일에 대한 시간 인스턴스들에 대응할 수도 있어서, 누산기 버퍼 내의 장소는 특정 시간 인스턴스에 대응한다. 일 실시형태에서, 다수의 프로세서는 누산기 버퍼의 하나 이상의 부분에 기록할 수도 있다. 예를 들어, 누산기 버퍼 내의 미디어 스트림은 일시적으로 적어도 부분적으로 중첩할 수도 있다. 적어도 부분적으로 누산기 버퍼의 적절한 장소들에 다수의 스트림을 기록함으로써, 시간에 대해 중첩하는 다수의 스트림의 부분에 대하여 다수의 스트림이 믹싱될 수도 있다. 일 실시형태에서 특정 누산기 버퍼 내에서 스트림들은 적어도 부분적으로 인터리빙된 포맷으로 저장될 수도 있다. 예를 들어, 미디어 스트림의 하나 이상의 채널에 이어서 그 미디어 스트림의 하나 이상의 다른 채널이 후속할 수도 있다. 예를 들어, 스테레오 오디오 스트림에 대응하여 2 채널 미디어 스트림이 요구된다. 이 예에서, 미디어 스트림은 다음: L0 R0 L1 R1 ... Ln Rn 과 같이 누산기 버퍼에 저장될 수도 있고, 여기서, Lx 는 신호 샘플 x 의 좌측 채널 값이고, Rx 는 우측 채널 신호값이다. 일 실시형태에서, 하나 이상의 누산기 버퍼가 상이한 사이즈일 수도 있으나, 이것이 어떤 방식에서든 반드시 필요하지는 않다. 예를 들어, 이를테면 각각의 미디어 스트림에 관한 레이턴시 발생에서의 하나 이상의 차이를 해결하도록, 하나 이상의 버퍼에 기록되는 하나 이상의 상이한 양태의 미디어 스트림을 수용하기 위해 적어도 부분적으로 상이한 사이즈의 누산기 버퍼를 갖는 것이 바람직할 수도 있다. 예를 들어, 누산기 버퍼 (102) 는 대략 192 kB 의 사이즈를 가질 수도 있어서, 적어도 부분적으로 누산기 버퍼 (102) 가 48 ㎑ 에서 샘플링되고 16 비트 스레테오 포맷을 갖는 오디오 데이터의 1 초까지 수용할 수도 있는 반면, 누산기 버퍼 (104) 는 대략 1600 바이트의 사이즈를 가질 수도 있어서, 적어도 부분적으로 누산기 버퍼 (104) 가 15 비트 모노 포맷팅된 데이터의 100 ㎳ 까지 수용할 수도 있다. 그러나, 이들은 단지 메모리 유닛들에 관한 예시적인 예이고 청구물은 이에 제한되지 않음에 유의해야 한다.
일 실시형태에서, 시스템 (100) 은 하나 이상의 버퍼 제어 회로의 조합과 같은 버퍼 제어기 유닛을 또한 포함할 수도 있다. 예를 들어, 버퍼 제어 유닛은 적어도 부분적으로 하나 이상의 후속의 미디어 스트림이 제자리에서 프로세싱될 수도 있도록 누산기 버퍼를 간헐적으로 클리어하는 것이 동작가능한 제 1 제어기를 포함할 수도 있다. 더 예를 들어, 버퍼 제어 유닛은 이러한 누산기 버퍼가 클리어되었으면 표시를 제공하는 것이 동작가능한 제 2 제어기를 또한 포함할 수도 있다. 이 예에서, 이러한 표시는 버퍼에 기록하는 하나 이상의 프로세서에 제공될 수도 있다. 또 다른 예로서, 버퍼 제어 유닛은 이들 미디어 스트림을 포함하는 누산기 버퍼의 일부의 완료된 판독 동작에 응답하여 적어도 부분적으로 다수의 미디어 스트림의 하나 이상의 부분을 클리어하는 것이 동작가능한 또 다른 제어기를 포함할 수도 있다. 버퍼 제어 유닛은 하나 이상의 회로 또는 유닛으로서 구현될 수도 있다는 것에 유의해야 한다. 예를 들어, 개별 회로는 버퍼 제어 유닛의 상기 기능 중 하나 이상의 기능을 제공할 수도 있고, 상기 기능 중 다른 기능을 제공하는 하나 이상의 다른 회로와 통신하도록 동작가능할 수도 있으며, 물론 청구물이 이에 제한되지는 않는다. 일 실시형태에서, 버퍼 제어 유닛은 소프트웨어 컴포넌트가 버퍼 제어 유닛을 활성화시키는 경우 또는 리셋의 디어서션 (deassertion) 시에 누산기 버퍼를 클리어할 수도 있다. 일 실시형태에서, 버퍼 제어 유닛은 누산기 버퍼의 임의의 특정 장소를 판독하는 것에 응답하여 적어도 부분적으로 누산기 버퍼의 그 특정 장소를 클리어할 수도 있다. 또한, 버퍼 제어 유닛의 하나 이상의 부분은 하나 이상의 누산기 버퍼 내에 물리적으로 배치될 수도 있다. 예를 들어, 버퍼 제어 유닛 내의 하나 이상의 제어기는 누산기 버퍼와 연관된 회로 또는 판독 회로의 일부일 수도 있다. 마찬가지로, 버퍼 제어 유닛의 다른 제어기들은 누산기 버퍼의 회로의 판독 메커니즘과 연관된 회로 또는 판독 회로의 일부일 수도 있다.
일 실시형태에서, 믹싱 유닛 (108) 은 하나 이상의 누산기 버퍼로부터의 미디어 데이터를 특정 DAC 코덱과 연관된 특정 샘플 레이트 또는 채널 포맷으로 업-믹싱 또는 다운-믹싱하도록 동작가능할 수도 있다. 일 실시형태에서, 선택적 볼륨 제어 방식은 예를 들어, 이를테면 업-믹싱 또는 다운-믹싱 프로세스 이전에 하나 이상의 미디어 스트림에 적용될 수도 있다. 일 실시형태에서, 업-믹싱 프로세스는 미디어 스트림에 대한 기존의 채널 수가 그 미디어 스트림에 대한 원하는 채널 수보다 작을 수도 있는 프로세스를 포함할 수도 있다. 일 실시형태에서, 다운-믹싱 프로세스는 미디어 스트림에 대한 기존의 채널 수가 그 미디어 스트림에 대한 원하는 채널 수보다 클 수도 있는 프로세스를 포함할 수도 있다. 믹싱 유닛 (108) 에 의해 다양한 업-믹싱 또는 다운-믹싱 프로세스가 이용될 수도 있다. 예를 들어, 믹싱 유닛 (108) 은 출력 채널의 신호 샘플의 신호 값이 입력 채널의 신호 샘플들의 하나 이상의 신호 값의 선형 결합을 포함할 수도 있는 매트릭스 변환 프로세스를 적용할 수도 있다. 또한, 예를 들어, 다른 프로세스들은 공간 프로세싱, 또는 HRTF 필터들, 음향 특성 (room acoustic) 프로세싱, FIR, IIR 등과 같은 다른 필터링을 포함할 수도 있다. 그러나, 이들은 단지 믹싱 유닛에 관한 예시적인 예이고 청구물은 이에 제한되지 않음에 유의해야 한다.
도 2 는 일 실시형태에 따른 누산기 버퍼 (200) 의 동작의 하나 이상의 양태를 나타낸 개략도이다. 도 2 에 관하여, 일 실시형태에서, 판독 포인터 (202) 는 예를 들어, 누산기 버퍼 (200) 와 같은 하나 이상의 누산기 버퍼에 유지될 수도 있다. 일 실시형태에서, 판독 포인터 (202) 는 버퍼 (200) 로부터의 하나 이상의 샘플을 판독하는데 적어도 부분적으로 이용될 수도 있다. 또한, 샘플이 버퍼 (200) 로부터 판독되면, 판독 포인터 (202) 는 누산기 버퍼 (210) 에 도시된 바와 같이, 다음의 샘플로 이동할 수도 있다. 일 실시형태에서, 도 1 로부터의 믹싱 유닛 (108) 과 같은 하나 이상의 소스로부터 판독 요청이 발생할 수도 있다. 일 실시형태에서, 판독 포인터 (202) 는 누산기 버퍼 (200) 에서의 미디어 데이터와 연관된 채널 포맷, 샘플링 레이트 등에 적어도 부분적으로 기초하여 누산기 버퍼 (200) 내에서 이동될 수도 있다. 예를 들어, 누산기 버퍼 (200) 에서의 채널 포맷이 16비트 스테레오 미디어 데이터를 포함하고 누산기 버퍼 (200) 가 32비트 장소를 포함하면, 완료된 판독 요청에 응답하여 판독 요청은 누산기 버퍼 (200) 내에서 1개의 32비트 워드만큼 판독 포인터 (202) 가 이동하게 할 수도 있다. 추가의 예의 경우, 버퍼 (200) 에서의 채널 포맷이 32비트 6채널 오디오를 포함하고 누산기 버퍼 (200) 가 16비트 메모리 장소를 포함하면, 완료된 판독 요청에 응답하여 판독 요청이 누산기 버퍼 (200) 내에서 12개의 16비트 워드만큼 판독 포인터 (202) 가 이동하게 할 수도 있다. 본질적으로, 판독 포인터 (202) 는 통상적으로 누산기 버퍼 (200) 내에서 실질적으로 완료된 샘플에 대응하는 양만큼 전진될 수도 있다. 그러나, 이것은 단지 누산기 버퍼에 관한 예시적인 예이고 청구물은 이에 제한되지 않음에 유의해야 한다.
일 실시형태에서, 믹싱 유닛 (108) 은 예를 들어, 이를테면 시스템 (100) 에 의한 오디오 재생을 위해 적어도 부분적으로 DAC 인터페이스 유닛 (110) 에 하나 이상의 누산기 버퍼로부터의 샘플을 제공하기 위해 DAC 유닛 (110) 과 적어도 부분적으로 통신하도록 동작가능할 수도 있다. 예를 들어, DAC 인터페이스 유닛 (110) 은 믹싱 유닛 (108) 으로부터의 하나 이상의 샘플을 요청할 수도 있다. 일 실시형태에서, 믹싱 유닛 (108) 은 하나 이상의 누산기 버퍼로부터의 하나 이상의 판독 동작을 요청할 수도 있다. 적어도 하나의 실시형태에서, 이를테면 믹싱 유닛 (108) 이 미디어 데이터의 다수의 스트림에 대한 적절한 믹싱을 결정하게 하도록 선택적 볼륨 제어 동작이 미디어 데이터의 하나 이상의 스트림에 적용될 수도 있다. 일 실시형태에서, 믹싱 유닛 (108) 은 DAC 코덱과 호환가능한 방식으로 하나 이상의 누산기 버퍼로부터의 하나 이상의 샘플을 리샘플링 또는 리포맷팅할 수도 있다. 또한, 리샘플링 또는 리포맷팅된 데이터는 추가로 믹싱되어 DAC 인터페이스 유닛 (110) 을 통해 DAC 코덱을 통과할 수도 있다. 그러나, 이들은 단지 다수의 미디어 스트림을 믹싱하는 것에 관한 예이고 청구물은 이에 제한되지 않음에 유의해야 한다. 하나의 예로서, 디지털 미디어 데이터는 오디오 데이터 이외의 다른 것을 포함할 수도 있다.
그러나, 일 실시형태에서, 믹싱 유닛 (108) 은 예를 들어, DAC 인터페이스 유닛 (110) 으로 전송된 샘플을 가산 버퍼 (120) 와 같은 버퍼에 저장할 수도 있다. 일 실시형태에서, 누산기 버퍼 (210) 는 적어도 부분적으로 하나 이상의 프로세서가 누산기 버퍼 (210) 로부터 판독하거나 또는 누산기 버퍼 (210) 에 기록할 수 있도록, 도 1 에 도시된 버스 (114) 와 같은 시스템 버스에 부착될 수도 있다. 일 실시형태에서, 기록 포인터 (212) 는 미디어 데이터가 누산기 버퍼 (210) 에 기록 중이거나, 기록될 예정인 장소를 표시하기 위해 적어도 부분적으로 누산기 버퍼 (210) 내에 유지될 수도 있다. 일 실시형태에서, 워터마크 (214) 가 또한 누산기 버퍼 (210) 에 유지된다. 본 명세서에 사용되는 바와 같이, "워터마크" 는 예를 들어, 버퍼 또는 누산기 버퍼의 메모리 장소 사이의 경계를 지칭한다. 예를 들어, 워터마크는 하나 이상의 소스로부터의 완료된 샘플에 대한 종단 위치, 하나 이상의 소스로부터의 완료된 기록 동작에 대한 종단 위치, 또는 하나 이상의 소스로부터의 완료된 판독 동작에 대한 종단 위치에 대응하는 버퍼 내의 장소의 표시를 포함할 수도 있다. 물론, 다른 실시형태에서, 워터마크는 다른 경계를 표시할 수도 있다. 예를 들어, 완료된 샘플 등에 대한 시작 장소를 표시할 수도 있다. 그러나, 이 실시형태에서, 기록 포인터 (212) 와 같은 기록 포인터가 워터마크 (214) 에 도달하면, 버퍼 (220) 에 도시된 바와 같이, 인터럽트 요청이 발생될 수도 있다. 예를 들어, 적어도 부분적으로 인터럽트 요청에 응답하여, 프로세서는 버퍼 (220) 로부터의 샘플들의 적어도 일부를 웨이크 업 (wake up) 하여 판독할 수도 있다. 일 실시형태에서, 누산기 버퍼 (230) 는 제 1 프로세서와 연관된 워터마크 및 기록 포인터를 지나 제 2 프로세서와 연관된 워터마크를 향해 전진하는 누산기 버퍼 (230) 내의 전진된 판독 포인터 (232) 를 나타낸다. 이와 같이, 다수의 프로세서는 버퍼에 기록할 수도 있고, 버퍼로부터 판독할 수도 있으며, 버퍼 내에서 각각의 워터마크에 도달하는 기록 포인터 또는 판독 포인터에 적어도 부분적으로 기초한 인터럽트 요청들을 수신할 수도 있다. 또한, 도 2 에 도시된 바와 같이, 누산기 버퍼는 다수의 기록 포인터 및 워터마크를 포함할 수도 있다. 예를 들어, 누산기 버퍼에 대기하는 하나 이상의 프로세서는, 적어도 부분적으로 다수의 프로세서들이 누산기 버퍼에 기록할 수도 있도록, 그리고 적어도 부분적으로 누산기 버퍼가 하나 이상의 프로세서로부터의 다수의 스트림을 제자리 또는 원위치에서 믹싱 또는 프로세싱할 수도 있도록, 대응하는 각각의 기록 포인터들 및 워터마크들을 가질 수도 있다. 판독 포인터가 누산기 버퍼의 종단에 도달하면, 그 버퍼의 시작으로 롤 오버 (roll over) 하여 이동될 수도 있음에 유의해야 한다. 이와 같이, 도 2 에 도시된 바와 같이, 버퍼는 순환 버퍼를 포함할 수도 있다. 그러나, 이들은 단지 버퍼에 관한 예시적인 예이고 청구물은 이에 제한되지 않음에 유의해야 한다.
도 3 은 일 실시형태에 따른 누산기 버퍼 (300) 의 하나 이상의 다른 양태를 나타낸 개략도이다. 일 실시형태에 있어서, 가산 버퍼 (300) 는 기록 포인터 (302) 및 워터마크 (304) 를 포함할 수도 있다. 도 3 에 도시된 바와 같이, 기록 포인터 (302) 가 워터마크 (304) 에 도달하면, 인터럽트가 하나 이상의 프로세서에 시그널링하도록 적어도 부분적으로 발생되어 가산 버퍼 (300) 로부터의 데이터를 판독하기 시작할 수도 있다. 또한, 가산 버퍼 (300) 로부터 판독하는 프로세서 또는 가산 버퍼 (300) 에 기록하는 프로세서는 새로운 워터마크를 설정할 수도 있다. 이러한 특정 실시형태에서, 가산 버퍼 (300) 는 예를 들어, 기록 포인터 (302) 가 전진하여 데이터가 아직 판독되지는 않지만 데이터가 미리 기록되기 전과 같은, 기록 포인터 (302) 가 전진하기 전에 가산 버퍼 (300) 내의 특정 양이 판독되어야 한다. 따라서, 후속의 기록 프로세스에 의해 데이터가 중첩되기 전에 프로세서가 가산 버퍼 (300) 로부터 데이터를 판독할 충분한 시간이 존재하도록 워터마크들을 설정하는 것이 바람직할 수도 있고, 물론 청구물이 이에 제한되지는 않는다.
도 4 는 일 실시형태에 따른 프로세스 (400) 의 흐름도 표현이다. 박스 402 에 관하여, 시스템 또는 프로세스는 누산기 버퍼에서의 하나 이상의 프로세서에 대응하는 하나 이상의 판독 포인터, 기록 포인터, 또는 워터마크를 설정할 수도 있다. 예를 들어, 각각의 프로세서는 누산기 버퍼 내에서 단독으로 판독 포인터, 기록 포인터 또는 워터마크를 설정할 수도 있다. 박스 404 에 관하여, 누산기 버퍼는 다수의 미디어 데이터 신호 스트림을 제자리 또는 원위치에서 프로세싱할 수도 있다. 예를 들어, 다수의 프로세서가 누산기 버퍼에 대기하고 있으면, 이 버퍼는 이들 스트림이 버퍼에 기록되고 있는 동안 신호를 제자리 또는 원위치에서 프로세싱 또는 믹싱할 수도 있다. 박스 406 에 관하여, 시스템 또는 프로세스는 추가의 다수의 미디어 데이터 신호 스트림을 제자리 또는 원위치에서 프로세싱할 수도 있다. 예를 들어, 시스템 또는 프로세스는 도 1 에서 도시된 바와 같은 추가의 누산기 버퍼들을 포함할 수도 있고, 이들 추가의 누산기 버퍼들은 이들 스트림이 이들 추가의 누산기 버퍼들에 기록되고 있는 동안 추가의 다수의 미디어 데이터 신호들을 제자리 또는 원위치에서 프로세싱 또는 믹싱한다. 박스 408 에 관하여, 그 프로세서에 대한 워터마크가 도달되면 신호가 하나 이상의 프로세서에 전송될 수도 있다. 예를 들어, 프로세서에 대응하는 기록 포인터가 그프로세서에 대응하는 워터마크에 도달하면, 인터럽트 발생 유닛은 적어도 부분적으로 신호를 그 프로세서에 전송하여 기록 애플리케이션이 완료된 것을 그 프로세서에 통지할 수도 있다. 반대로, 프로세서에 연관된 판독 포인트가 그 프로세서에 연관된 워터마크에 도달되었으면, 인터럽트 발생기는 적어도 부분적으로 신호를 그 프로세서에 전송하여 그의 미리 기록된 데이터가 판독되었다는 것을 그 프로세서에 통지할 수도 있다. 일 실시형태에서, 적어도 부분적으로 인터럽트 신호에 응답하여, 프로세서는 누산기 버퍼 내에서 새로운 기록 포인터 및 워터마크를 단독으로 설정할 수도 있다. 또한, 프로세서는 그 누산기 버퍼에 대한 새로운 기록 동작을 시작할 수도 있다. 그러나, 이들은 단지 시스템 또는 프로세스에 관한 예시적인 예이고 청구물은 이에 제한되지 않음에 유의해야 한다.
도 5 는 일 실시형태에 따른 하드웨어 믹서 유닛 (502) 을 포함하는 시스템 (500) 의 개략도이다. 도 5 에 관하여, 시스템 (500) 은 하나 이상의 누산기 버퍼를 포함할 수도 있다. 이 실시형태에서, 하나 이상의 누산기 버퍼는 버퍼 또는 메모리 큐와 같은 물리적 메모리 디바이스 (504) 를 포함할 수도 있다. 또한, 시스템 (500) 은 버퍼 매니저 (506) 를 포함할 수도 있다. 이 실시형태에서, 버퍼 매니저 (506) 는 하나 이상의 가상 누산기 버퍼를 메모리 디바이스 (504) 내에 확립 및 유지하도록 동작가능할 수도 있다. 예를 들어, 버퍼 매니저 (506) 는 가상 누산기 버퍼 (508, 510 및 512) 를 메모리 디바이스 (504) 내에 확립할 수도 있다. 또한, 이 실시형태에서, 가상 누산기 버퍼 (508, 510 및 512) 는 그 가상 누산기 버퍼들 내에서 하나 이상의 소스로부터의 신호들을 제자리에서 믹싱하도록 동작가능할 수도 있다. 예를 들어, 가상 누산기 버퍼는 상술한 바와 같이, 하나 이상의 판독 포인터, 기록 포인터, 및 워터마크와 함께 프로세서 (514) 및 모뎀 (516) 으로부터의 신호들을 제자리에서 믹싱하도록 동작가능할 수도 있다. 또한, 예를 들어, 가상 누산기 버퍼 (510) 는 마찬가지로 상술한 바와 같이, 하나 이상의 판독 포인터, 기록 포인터, 및 워터마크와 함께 제 2 프로세서 (518) 및 제 3 프로세서 (520) 로부터의 신호들을 제자리에서 믹싱하도록 동작가능할 수도 있다. 또한, 시스템 (500) 은 제어기 (522) 가 하나 이상의 프로세서와 직접 또는 간접적으로 통신하도록 동작가능하게 할 수도 있다. 이 예에서, 제어기 (522) 는 이를테면 도 6 및 도 7 에 관하여 후술하는 하나 이상의 판독 포인터 또는 기록 포인터 프로세스를 구현하도록 동작가능할 수도 있다. 또한, 하드웨어 믹서 유닛 (502) 내에 나타나 있지만, 제어기 (522) 는 설명하는 하나 이상의 프로세서에서 또는 그 설명하는 하나 이상의 프로세서에서의 회로와 관련하여 다르게 구현될 수도 있다. 시스템 (500) 은 또한 이를테면 믹서, 예를 들어 도 1 에 관하여 설명된 믹서 (108) 를 사용함으로써, 믹싱된 신호들을 리샘플링하고, 이들 리샘플링된 신호들을 가산 버퍼 (120) 와 같은 가산 버퍼에 출력하도록 동작가능할 수도 있다. 도 1 에 관하여 설명한 바와 같이, 가산된 리샘플링 신호들은 DAC (130) 와 같은 디지털 오디오 코덱에 의해 더욱 프로세싱하기 위해, DAC (110) 와 같은 디지털 오디오 코덱 인터페이스에 의해 판독될 수도 있다. 그러나, 이들은 단지 하나 이상의 프로세서로부터의 신호들을 믹싱하는 것에 관한 예시적인 예이고 청구물은 이에 제한되지 않음에 유의해야 한다.
도 6 은 일 실시형태에 따른 누산기 버퍼로부터의 판독 포인터 (602) 판독 동작의 로직 제어에 대한 흐름도 (600) 를 예시한다. 상술한 바와 같은 하나 이상의 회로에 의해 이러한 로직 제어가 수행될 수도 있다. 워터마크 (604) 는 도 6 에 도시된 로직을 통한 프로세서에 의해 설정될 수도 있고, 버퍼 제어 유닛에 의해 판독 포인터와 연속적으로 비교될 수도 있다. 이 예에서, 도 5 에 예로서 예시된 프로세서들 중 하나의 프로세서와 같은 프로세서는 하나 이상의 오디오 샘플을 누산기 버퍼에 기록할 수도 있다. 이 예에서, 판독 포인터 (602) 가 박스 606 에서와 같이 "예" 와 동일하면, 워터마크 신호는 박스 610 에서 버퍼 제어 유닛에 전달될 수도 있다. 이러한 워터마크 신호는 대응하는 프로세서가 파워 업 (powered up) 된 것을 표시할 수도 있다. 또한, 이러한 워터마크는 신호 V_up 을 이용하여, 대응하는 프로세서의 동작 전압이 상승한 것을 전력 매니저에 표시할 수도 있다. 그 후에, 대응하는 프로세서는 정규의 오디오 비트스트림 디코딩을 시작할 수도 있다. 판독 포인터가 워터마크와 동일하지 않으면, 판독 포인터가 증분되고 그것이 박스 608 에서 특정 누산기 버퍼 또는 가상 누산기 버퍼의 최대 어드레스에 도달하면 제로로 다시 설정될 수도 있다.
도 7 은 일 실시형태에 따른 워터마크 및 기록 포인터의 로직 제어에 대한 흐름도 (700) 를 예시한다. 이러한 로직 제어는 상술한 하나 이상의 제어기에 의해 수행될 수도 있다. 로직은 블록 702 에서 검사하여 특정 프로세서가 온 (on) 인지 여부를 결정해야 한다. 특정 프로세서가 ("아니오") 가 아니면, 블록 702 에서의 검사가 특정 프로세서가 ("예") 가 될 때까지 하나 이상의 추가의 시간에서 수행될 수도 있다. 특정 프로세서가 온이면, 예를 들어, 도 1 에 도시된 누산기 버퍼 (104) 와 같은 특정 누산기 버퍼에 오디오 출력을 디코딩 및 기록하는 정규의 비트스트림의 프로세스일 수도 있다. 그러한 경우, 기록 포인터 (704) 는 증분되어 프로세서에 의해 누산기 버퍼에 제공된 추가의 오디오 출력을 반영할 수도 있다. 또한, 기록 포인터 (704) 및 판독 포인터 (602) 는 블록 706 에서 비교될 수도 있다. 예를 들어, 포인터 (602 및 704) 가 ("예") 와 동일하면, 신호 V_down 은 블록 708 에서 그 특정 프로세서와 연관된 전력 매니저로 송신된다. 이러한 V_down 신호는 특정 프로세서의 동작 전압이 에너지를 보존하기 위해 감소되어야 하는 것을 표시한다. 그러나, 기록 포인터 (704) 가 판독 포인터 (602) 와 동일하지 않으면, 프로세서는 더 많은 오디오 샘플을 누산기 버퍼에 기록할 수도 있고, 기록 포인터 (704) 는 증분되고 그것이 블록 710 에서 특정 누산기 버퍼 또는 가상 누산기 버퍼의 최대 어드레스에 도달하면 제로로 다시 설정될 수도 있다. 이러한 누산기 버퍼에서의 다음의 워터마크는 기록 포인터 - 오프셋 + 최대 메모리 어드레스와 동일할 수도 있고 그것이 블록 712 에서 특정 누산기 버퍼 또는 가상 누산기 버퍼의 최대 어드레스에 도달하면 제로로 다시 설정될 수도 있다. 일 실시형태에서, 이러한 오프셋은 신호 V_up 사이의 약간의 레이턴시를 차지할 수도 있고, 그 신호 V_up 은 전력 매니저가 특정 프로세서의 동작 전압을 상승시키기 위해 요구되는 시간 및 특정 프로세서와 관련된 전력 매니저로 전송된다. 도 6 에 예시된 바와 같이, 특정 프로세서의 동작 전압이 상승될 수도 있는 경우, 즉, 특정 프로세서가 웨이크 업될 수도 있는 경우 제어하기 위해, 워터마크가 적어도 부분적으로 판독 포인터와 비교하여 이용될 수도 있다.
도 8 은 하드웨어 믹서 유닛 (802) 을 포함하는 시스템 (800) 의 개략도이다. 도 8 에 관하여, 하드웨어 믹서 유닛 (802) 은 도 1 에 도시된 시스템 (100) 의 하드웨어 믹서 유닛과 구조적 및 기능적으로 유사할 수도 있다. 이 실시형태에서, 하나 이상의 프로세서는 하드웨어 믹서 유닛 (802) 에 동작가능하게 연결될 수도 있다. 예를 들어, 하나 이상의 프로세서는 디지털 신호 프로세서 (804) 및 스트리밍 오디오 소스 (806) 를 포함할 수도 있다. 이 실시형태에서, 스트리밍 오디오 소스 (806) 는 신호가 아날로그 디지털 변환기 (805) 에 의해 프로세싱될 수도 있는 마이크로폰과 같은 오디오 소스를 포함할 수도 있다. 또한, 이 실시형태에서, 신호 프로세서 (804) 및 스트리밍 오디오 소스 (806) 는 하드웨어 믹서 유닛 (802) 에 의해 수신되기 전에 하나 이상의 멀티플렉서 (807) 와 결합될 수도 있다. 시스템 (800) 은 또한, 몇몇 예만 지칭하면, 디지털 브로드캐스트 포맷에 대응하는 신호를 제공하는 하나 이상의 프로세서와 같은 하나 이상의 BDBT 프로세서 (808), 블루투스 디바이스 (810), MIDI 하드웨어 프로세서 (812), 또는 하나 이상의 USB 호환가능한 오디오 소스와 같은 USB 디바이스 (814) 를 포함할 수도 있다. 상술한 바와 같이, 하나 이상의 이들 소스로부터의 신호들은 예를 들어 이를테면 믹서 및 가산 버퍼와 함께 하나 이상의 누산기 버퍼 또는 가상 누산기 버퍼를 이용함으로써 하드웨어 믹싱 유닛 (802) 에서 제자리에서 결합될 수도 있다. 그러나, 이들은 단지 하드웨어 믹서에 의해 프로세싱될 수도 있는 하나 이상의 신호의 소스들에 관한 예시적인 예이고 청구물은 이에 제한되지 않음에 유의해야 한다.
전술한 시스템, 방법 또는 프로세스의 양태들을 특정한 순서로 설명했지만, 이들 예에 의해 제공된 특정한 순서는 제한되지 않음을 유의해야 한다. 또한, 본 명세서에서 설명된 시스템, 방법 및 프로세스는 하나 이상의 연산 플랫폼에 의해 수행될 수도 있음을 유의해야 한다. 또한, 본 명세서에서 설명된 방법 또는 프로세스는, 실행되는 경우 연산 플랫폼으로 하여금 하나 이상의 동작들을 수행하게 할 수도 있는 하나 이상의 머신 판독가능한 명령들 또는 소프트웨어 명령들과 같은 저장 매체 상에 저장될 수도 있다. 본 명세서에서 지칭하는 "저장 매체" 는, 하나 이상의 디바이스 또는 머신 상에서 동작되거나, 실행될 수도 있는 정보 또는 명령들을 저장할 수 있는 매체와 관련된다. 예를 들어, 저장 매체는 머신 판독가능한 명령들 또는 정보를 저장하기 위한 하나 이상의 저장 디바이스를 포함할 수도 있다. 이러한 저장 디바이스는, 예를 들어, 자기, 광학 또는 반도체 저장 매체를 포함하는 몇가지 매체 타입 중 임의의 타입을 포함할 수도 있다. 추가적인 예에서, 하나 이상의 연산 플랫폼이 예를 들어 본 명세서에서 설명된 방법 또는 프로세스와 같이, 청구물에 따른 하나 이상의 프로세스들 또는 방법들을 수행하도록 적응될 수도 있다. 그러나, 저장 매체 및 연산 플랫폼과 관련된 실시예들이 오직 존재하고, 청구물은 이들 양태에 제한되지 않는다.
유사하게, 본 명세서에서 사용되는 용어 "및", "및/또는", 및 "또는" 은, 이 용어가 사용되는 문맥에 적어도 부분적으로 의존하는 다양한 의미를 포함할 수도 있다. 통상적으로, A, B 또는 C 와 같은 리스트를 연관시키기 위해 사용되는 경우의 "또는" 뿐만 아니라 "및/또는" 은, 여기서 배타적인 의미로 사용되는 A, B, 또는 C 뿐만 아니라, 여기서 포괄적인 의미로 사용되는 A, B, 및 C 를 의미하는 것으로 의도된다. 또한, 본 명세서에서 사용되는 용어 "하나 이상" 은 임의의 특성, 구조, 또는 특징을 단독으로 설명하는데 사용할 수도 있고 또는 특성들, 구조들 또는 특징들의 어떤 조합을 설명하는데 사용될 수도 있다. 그러나, 이것은 오직 예시적인 예이고, 청구물이 이 예에 제한되지 않음을 유의해야 한다.
상기 제공되는 상세한 설명의 일부는 특정 장치 또는 특수 목적 연산 디바이스, 장치 또는 플랫폼의 메모리 내에 저장된 2 진 디지털 신호들에 대한 연산의 심볼 표현 또는 알고리즘의 측면에서 제공된다. 이 특정한 명세서의 문맥에서, 용어 특정 장치, 특수 목적 연산 디바이스 등은, 프로그램 소프트웨어로부터의 명령들을 따르는 특정 기능들을 수행하도록 프로그래밍되면, 범용 컴퓨터, 또는 개인 휴대 정보 단말기, 휴대용 전화기, 셀룰러 전화기, 스마트폰 등과 같은 다른 연산 디바이스를 포함할 수도 있다. 알고리즘 디스크립션 또는 심볼 표현은 신호 프로세싱 또는 관련 분야에서의 당업자에 의해 자신의 작업의 본질을 그 분야의 다른 당업자에게 전달하기 위해 사용되는 기술의 예이다. 여기서 알고리즘은 일반적으로 원하는 결과를 도출하는 동작 또는 유사한 신호 프로세싱의 일관된 시퀀스로 고려된다. 이 문맥에서, 동작 또는 프로세싱은 물리적 양의 물리적 조작을 수반한다. 필수적이지는 않지만 통상적으로, 이러한 양은, 저장, 전달, 결합, 비교 또는 기타 조작될 수 있는 전기 또는 자기 신호의 형태를 취할 수도 있다. 주로 공통의 사용을 위해, 이러한 신호들을 비트, 데이터, 값, 엘리먼트, 심볼, 문자, 용어, 수, 숫자 등으로 지칭하는 것이 때때로 편리하다. 그러나, 이러한 용어들 또는 유사한 용어들 전부는 적절한 물리적 양과 연관되어야 하고 단순히 편리한 라벨임을 이해해야 한다. 특히 달리 명시하지 않으면, 다음의 설명에서 명백한 바와 같이, 본 명세서 설명에 걸쳐, "프로세싱", "연산", "계산", "결정", "믹싱" 등과 같은 용어를 이용하는 것은, 특수 목적 컴퓨터, 특수 목적 연산 장치, 또는 유사한 특수 목적 전자 연산 디바이스와 같은 특정 장치의 동작 또는 프로세스를 지칭함을 인식해야 한다. 따라서, 본 명세서의 문맥에서, 특수 목적 컴퓨터 또는 유사한 특수 목적 전자 연산 디바이스는, 통상적으로, 메모리, 레지스터, 또는 다른 정보 저장 디바이스, 송신 디바이스, 오디오 디바이스, 또는 특수 목적 컴퓨터 또는 유사한 특수 목적 전자 연산 디바이스의 디스플레이 디바이스 내의 물리적 전자량 또는 자기량으로 표현되는 신호들을 조작 또는 변환할 수 있다.
전술한 설명에서, 청구물의 다양한 양태들이 설명되었다. 설명의 목적으로, 청구물의 완전한 이해를 제공하기 위해 특정한 수, 시스템, 또는 구성이 설명되었다. 그러나, 이 특정 상세 없이도 청구물이 실행될 수도 있음은, 본 개시물의 이익을 갖는 당업자에게 자명할 것이다. 다른 예에서, 당업자들이 이해하고 있는 특성은 청구물을 모호하게 하지 않도록 생략되거나 단순화되었다. 본 명세서에서 특정한 특성들이 예시되거나 설명되었지만, 다수의 변형예, 대체예, 변경예 또는 균등물은 당업자에게 자명할 것이다. 따라서, 첨부된 청구항은 청구물의 진정한 사상에 속하는 이러한 모든 변형예 또는 변경예를 포함하도록 의도된다.

Claims (41)

  1. 다수의 미디어 데이터 신호 스트림을 저장하기 위한 메모리 장소를 갖는 버퍼; 및
    상기 저장된 미디어 데이터 신호 스트림을 포함하는 산술 동작들을 수행하도록 구성된 누산기를 포함하는 누산기 버퍼를 포함하는 장치로서,
    상기 누산기 버퍼는 상기 누산기 버퍼 내에서 상기 미디어 데이터 신호 스트림을 프로세싱하도록 구성된, 장치.
  2. 제 1 항에 있어서,
    상기 다수의 미디어 데이터 신호 스트림은 동일한 샘플 레이트를 갖는, 장치.
  3. 제 2 항에 있어서,
    상기 다수의 미디어 데이터 신호 스트림은 오디오 신호들을 포함하는, 장치.
  4. 제 2 항에 있어서,
    상기 다수의 미디어 데이터 신호 스트림 각각을 제 위치에서 프로세싱하도록 연결된 하나 이상의 추가의 누산기 버퍼를 더 포함하고,
    상기 하나 이상의 추가의 누산기 버퍼는 하나 이상의 추가의 샘플 레이트에 대응하는, 장치.
  5. 제 1 항에 있어서,
    상기 다수의 미디어 데이터 신호 스트림은 다수의 소스에 의해 적어도 부분적으로 발생되는, 장치.
  6. 제 5 항에 있어서,
    상기 누산기 버퍼는 상기 다수의 소스 중 적어도 하나 이상의 소스에 대응하는 판독 포인터들, 기록 포인터들, 및 워터마크들 각각을 포함하는, 장치.
  7. 제 6 항에 있어서,
    적어도 부분적으로 하나 이상의 후속의 미디어 스트림이 제 위치에서 프로세싱될 수도 있도록, 상기 누산기 버퍼를 간헐적으로 클리어하도록 동작가능한 제어기를 더 포함하는, 장치.
  8. 제 7 항에 있어서,
    상기 제어기는 또한, 상기 누산기 버퍼가 클리어되었는지의 표시를 제공하도록 동작가능한, 장치.
  9. 제 7 항에 있어서,
    상기 제어기는 또한, 완료된 판독 동작에 적어도 부분적으로 응답하여 상기 다수의 미디어 데이터 신호 스트림 중 하나 이상의 부분을 클리어하도록 동작가능한, 장치.
  10. 제 1 항에 있어서,
    상기 다수의 미디어 데이터 신호 스트림 중 적어도 2 개의 미디어 데이터 신호 스트림은 시간에 관하여 적어도 부분적으로 중첩하는, 장치.
  11. 제 1 항에 있어서,
    상기 다수의 미디어 데이터 신호 스트림은 디지털화된 오디오 데이터, 디지털화된 비디오 데이터, 디지털화된 이미징 데이터, 디지털화된 라디오 데이터, 및 디지털화된 텔레비전 데이터 중 적어도 하나를 포함하는, 장치.
  12. 하나 이상의 프로세서; 및
    다수의 미디어 데이터 신호 스트림을 저장하기 위한 메모리 장소를 갖는 버 및 상기 저장된 미디어 데이터 신호 스트림을 포함하는 산술 동작들을 수행하도록 구성된 누산기를 포함하고, 상기 프로세서에 연결된, 누산기 버퍼를 포함하고,
    상기 누산기 버퍼는 상기 누산기 버퍼 내에서 상기 미디어 데이터 신호 스트림을 프로세싱하도록 구성된, 시스템.
  13. 제 12 항에 있어서,
    상기 다수의 미디어 데이터 신호 스트림은 동일한 샘플 레이트를 갖는, 시스템.
  14. 제 13 항에 있어서,
    상기 다수의 미디어 데이터 신호 스트림은 오디오 신호들을 포함하는, 시스템.
  15. 제 13 항에 있어서,
    상기 다수의 미디어 데이터 신호 스트림 각각을 제 위치에서 프로세싱하도록 연결된 하나 이상의 추가의 누산기 버퍼를 더 포함하고,
    상기 하나 이상의 추가의 누산기 버퍼는 하나 이상의 추가의 샘플 레이트에 대응하는, 시스템.
  16. 제 12 항에 있어서,
    상기 다수의 미디어 데이터 신호 스트림은 상기 하나 이상의 프로세서에 의해 적어도 부분적으로 발생되는, 시스템.
  17. 제 16 항에 있어서,
    상기 누산기 버퍼는 상기 하나 이상의 프로세서 중 적어도 하나 이상의 프로세서에 대응하는 판독 포인터들, 기록 포인터들, 및 워터마크들 각각을 포함하는, 시스템.
  18. 제 12 항에 있어서,
    상기 다수의 미디어 데이터 신호 스트림 중 적어도 2 개의 미디어 데이터 신호 스트림은 시간에 관하여 적어도 부분적으로 중첩하는, 시스템.
  19. 제 18 항에 있어서,
    상기 다수의 미디어 데이터 신호 스트림은 디지털화된 오디오 데이터, 디지털화된 비디오 데이터, 디지털화된 이미징 데이터, 디지털화된 라디오 데이터, 및 디지털화된 텔레비전 데이터 중 적어도 하나를 포함하는, 시스템.
  20. 제 12 항에 있어서,
    하나 이상의 누산된 데이터 스트림을 결합하도록 적어도 부분적으로 동작가능한 믹서를 더 포함하는, 시스템.
  21. 제 20 항에 있어서,
    하나 이상의 결합된 데이터 스트림을 저장하도록 적어도 부분적으로 동작가능한 가산 버퍼를 더 포함하는, 시스템.
  22. 제 20 항에 있어서,
    상기 하나 이상의 누산된 데이터 스트림을 상이한 샘플링 레이트 또는 포맷으로 리샘플링하도록 적어도 부분적으로 동작가능한 리샘플러를 더 포함하는, 시스템.
  23. 제 22 항에 있어서,
    상기 리샘플러는 또한, 적어도 2 개의 누산된 데이터 스트림을 공통 샘플링 레이트 또는 포맷으로 리샘플링하도록 동작가능한, 시스템.
  24. 누산기 버퍼에 포함된 버퍼에서 다수의 미디어 데이터 신호 스트림을 저장하는 단계; 및
    상기 누산기 버퍼에 포함된 누산기를 사용하여 상기 저장된 미디어 데이터 신호 스트림을 포함하는 산술 동작들을 수행하는 단계를 포함하는, 방법.
  25. 제 24 항에 있어서,
    상기 누산기 버퍼는 다수의 미디어 데이터 신호 스트림의 하나 이상의 소스에 연결되는, 방법.
  26. 제 24 항에 있어서,
    상기 다수의 미디어 데이터 신호 스트림은 동일한 샘플 레이트를 갖는, 방법.
  27. 제 26 항에 있어서,
    상기 다수의 미디어 데이터 신호 스트림은 오디오 신호들을 포함하는, 방법.
  28. 제 26 항에 있어서,
    하나 이상의 추가의 누산기 버퍼에 대응하여 추가의 다수의 미디어 데이터 신호 스트림을 제 위치에서 프로세싱하는 단계를 더 포함하고,
    상기 하나 이상의 추가의 누산기 버퍼는 하나 이상의 추가의 샘플 레이트에 대응하는, 방법.
  29. 제 24 항에 있어서,
    상기 다수의 미디어 데이터 신호 스트림은 하나 이상의 소스에 의해 적어도 부분적으로 발생되는, 방법.
  30. 제 29 항에 있어서,
    상기 누산기 버퍼는 하나 이상의 프로세서 중 적어도 하나 이상의 프로세서에 대응하는 판독 포인터들, 기록 포인터들, 및 워터마크들 각각을 포함하는, 방법.
  31. 제 30 항에 있어서,
    상기 하나 이상의 프로세서 중 적어도 하나의 프로세서에 대한 상기 판독 포인터, 기록 포인터, 및 워터마크를 설정하는 단계를 더 포함하는, 방법.
  32. 제 31 항에 있어서,
    각각의 워터마크가 도달되었으면 상기 하나 이상의 프로세서 중 적어도 하나의 프로세서에 신호를 전송하는 단계를 더 포함하는, 방법.
  33. 제 24 항에 있어서,
    상기 다수의 미디어 데이터 신호 스트림 중 적어도 2 개의 미디어 데이터 신호 스트림은 시간에 관하여 적어도 부분적으로 중첩하는, 방법.
  34. 제 33 항에 있어서,
    상기 다수의 미디어 데이터 신호 스트림은 디지털화된 오디오 데이터, 디지털화된 비디오 데이터, 디지털화된 이미징 데이터, 디지털화된 라디오 데이터, 및 디지털화된 텔레비전 데이터 중 적어도 하나를 포함하는, 방법.
  35. 다수의 미디어 데이터 신호 스트림을 발생시키는 수단;
    누산기 버퍼에 포함된 버퍼에서 다수의 미디어 데이터 신호 스트림을 저장하는 수단; 및
    누산기 버퍼에 포함된 누산기를 사용하여 상기 저장된 다수의 미디어 데이터 신호 스트림을 포함하는 산술 동작들을 수행하는 수단을 포함하는, 시스템.
  36. 제 35 항에 있어서,
    상기 다수의 미디어 데이터 신호 스트림은 동일한 샘플 레이트를 갖는, 시스템.
  37. 제 36 항에 있어서,
    상기 다수의 미디어 데이터 신호 스트림은 오디오 신호들을 포함하는, 시스템.
  38. 제 36 항에 있어서,
    하나 이상의 추가의 누산기 버퍼에서 추가의 다수의 미디어 데이터 신호 스트림 각각을 제 위치에서 프로세싱하는 하나 이상의 추가의 수단을 더 포함하고,
    상기 하나 이상의 추가의 누산기 버퍼는 하나 이상의 추가의 샘플 레이트에 대응하는, 시스템.
  39. 제 35 항에 있어서,
    상기 누산기 버퍼는 상기 다수의 미디어 데이터 신호 스트림을 발생시키는 상기 수단 중 적어도 하나 이상의 수단에 대응하는 판독 포인터들, 기록 포인터들, 및 워터마크들 각각을 포함하는, 시스템.
  40. 제 35 항에 있어서,
    상기 다수의 미디어 데이터 신호 스트림 중 적어도 2 개의 미디어 데이터 신호 스트림은 시간에 관하여 적어도 부분적으로 중첩하는, 시스템.
  41. 제 40 항에 있어서,
    상기 다수의 미디어 데이터 신호 스트림은 디지털화된 오디오 데이터, 디지털화된 비디오 데이터, 디지털화된 이미징 데이터, 디지털화된 라디오 데이터, 및 디지털화된 텔레비전 데이터 중 적어도 하나를 포함하는, 시스템.
KR1020117004105A 2008-07-23 2009-07-23 미디어 데이터의 다수의 스트림을 결합하는 시스템, 방법 또는 장치 KR101226412B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US8305808P 2008-07-23 2008-07-23
US61/083,058 2008-07-23
US12/479,492 US8762561B2 (en) 2008-07-23 2009-06-05 System, method or apparatus for combining multiple streams of media data
US12/479,492 2009-06-05
PCT/US2009/051601 WO2010011873A1 (en) 2008-07-23 2009-07-23 System, method or apparatus for combining multiple streams of media data

Publications (2)

Publication Number Publication Date
KR20110033942A KR20110033942A (ko) 2011-04-01
KR101226412B1 true KR101226412B1 (ko) 2013-01-24

Family

ID=41569617

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020117004105A KR101226412B1 (ko) 2008-07-23 2009-07-23 미디어 데이터의 다수의 스트림을 결합하는 시스템, 방법 또는 장치

Country Status (7)

Country Link
US (1) US8762561B2 (ko)
EP (1) EP2327197A1 (ko)
JP (1) JP5539350B2 (ko)
KR (1) KR101226412B1 (ko)
CN (1) CN102067556A (ko)
TW (1) TW201020910A (ko)
WO (1) WO2010011873A1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101036232B1 (ko) * 2009-09-17 2011-05-20 엠텍비젼 주식회사 오디오 재생을 위한 데이터 처리 방법, 오디오 재생 방법 및 오디오 재생 장치
DE102012103085B4 (de) 2011-04-12 2023-02-02 Electronics And Telecommunications Research Institute Radarvorrichtung
EP2795866B1 (en) * 2011-12-22 2018-09-26 Telefonaktiebolaget LM Ericsson (publ) Method and media handling unit for use in a voip based communications network
WO2017063189A1 (en) * 2015-10-16 2017-04-20 Qualcomm Incorporated Deadline signaling for streaming of media data
TWI630437B (zh) * 2015-11-26 2018-07-21 鴻海精密工業股份有限公司 眼用鏡片材料及眼用鏡片
US10441885B2 (en) * 2017-06-12 2019-10-15 Microsoft Technology Licensing, Llc Audio balancing for multi-source audiovisual streaming

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020116178A1 (en) 2001-04-13 2002-08-22 Crockett Brett G. High quality time-scaling and pitch-scaling of audio signals
US20060287747A1 (en) 2001-03-05 2006-12-21 Microsoft Corporation Audio Buffers with Audio Effects
US20080147213A1 (en) 2006-12-13 2008-06-19 Microsoft Corporation Lock-Free Shared Audio Buffer

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2521052B2 (ja) 1986-07-14 1996-07-31 株式会社リコー 音声符号化方式
JPH032950A (ja) 1989-05-30 1991-01-09 Yokogawa Hewlett Packard Ltd 受信バッファ管理方式
EP0484919B1 (en) * 1990-11-06 1998-04-01 Oki Electric Industry Co., Ltd. Printer having print data arithmetic logic
AU4219693A (en) 1992-09-30 1994-04-14 Apple Computer, Inc. Inter-task buffer and connections
JPH06168575A (ja) 1992-11-30 1994-06-14 Kawai Musical Instr Mfg Co Ltd デジタルミキサ
US5438531A (en) 1993-07-02 1995-08-01 Tektronix, Inc. Zero dead time acquisition for a digital storage oscilloscope
US5768126A (en) 1995-05-19 1998-06-16 Xerox Corporation Kernel-based digital audio mixer
US5986589A (en) * 1997-10-31 1999-11-16 Ati Technologies, Inc. Multi-stream audio sampling rate conversion circuit and method
JPH11213558A (ja) 1998-01-27 1999-08-06 Toshiba Corp 音声データ処理装置およびコンピュータシステム並びに音声データ処理方法
US6859851B1 (en) * 1999-12-20 2005-02-22 Intel Corporation Buffer pre-loading for memory service interruptions
WO2002084645A2 (en) 2001-04-13 2002-10-24 Dolby Laboratories Licensing Corporation High quality time-scaling and pitch-scaling of audio signals
JP3675361B2 (ja) 2001-05-25 2005-07-27 ヤマハ株式会社 通信端末
DE60118631T2 (de) 2001-11-30 2007-02-15 Telefonaktiebolaget Lm Ericsson (Publ) Verfahren zum ersetzen verfälschter audiodaten
US7038119B2 (en) * 2003-07-18 2006-05-02 Telefonaktiebolaget L M Ericsson (Publ) Dynamic control of processing load in a wavetable synthesizer
US20060013077A1 (en) * 2004-02-11 2006-01-19 Mesarovic Vladimir Z Audio-video systems with application specific modules and common processing software architecture
KR100594267B1 (ko) 2004-03-29 2006-06-30 삼성전자주식회사 샘플링 레이트 변환 방법, 샘플링 레이트 변환 장치, 및그 장치를 포함하는 오디오 재생 시스템
US7376557B2 (en) * 2005-01-10 2008-05-20 Herman Miller, Inc. Method and apparatus of overlapping and summing speech for an output that disrupts speech
US20060259774A1 (en) * 2005-05-13 2006-11-16 Texas Instruments Incorporated Watermark counter with reload register
US20070110151A1 (en) * 2005-11-14 2007-05-17 Ess Technology, Inc. System and method for video frame buffer compression
JP2008140461A (ja) 2006-11-30 2008-06-19 Toshiba Corp ウォーターマーク検出装置
US7769035B1 (en) * 2007-07-13 2010-08-03 Microsoft Corporation Facilitating a channel change between multiple multimedia data streams

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060287747A1 (en) 2001-03-05 2006-12-21 Microsoft Corporation Audio Buffers with Audio Effects
US20020116178A1 (en) 2001-04-13 2002-08-22 Crockett Brett G. High quality time-scaling and pitch-scaling of audio signals
US20080147213A1 (en) 2006-12-13 2008-06-19 Microsoft Corporation Lock-Free Shared Audio Buffer

Also Published As

Publication number Publication date
TW201020910A (en) 2010-06-01
US8762561B2 (en) 2014-06-24
JP5539350B2 (ja) 2014-07-02
CN102067556A (zh) 2011-05-18
KR20110033942A (ko) 2011-04-01
WO2010011873A1 (en) 2010-01-28
EP2327197A1 (en) 2011-06-01
JP2011529229A (ja) 2011-12-01
US20100023637A1 (en) 2010-01-28

Similar Documents

Publication Publication Date Title
KR101226412B1 (ko) 미디어 데이터의 다수의 스트림을 결합하는 시스템, 방법 또는 장치
US6665409B1 (en) Methods for surround sound simulation and circuits and systems using the same
US7568057B2 (en) Method and apparatus for maintaining synchronization of audio in a computing system
US20090006488A1 (en) Using time-stamped event entries to facilitate synchronizing data streams
KR101503623B1 (ko) 캐싱된 이미지들을 이용하는 저전력 오디오 디코딩 및 재생
US11587560B2 (en) Voice interaction method, device, apparatus and server
JP2001350713A (ja) 転送制御装置
EP0791197A1 (en) System and method for command processing and data transfer in a computer system for sound or the like
CA2126903C (en) Digital surround sound method and apparatus
US20120158394A1 (en) Simulation apparatus and method for multicore system
US20080147918A1 (en) Method and apparatus for maintaining synchronization of audio in a computing system
US8093485B2 (en) Method and system for prefetching sound data in a sound processing system
JP3163984B2 (ja) 楽音発生装置
KR101429969B1 (ko) 데이터 값들을 변환 및 저장하기 위한 명령들을 이용하여 써로게이트 메모리 액세싱 에이전트들을 구성하는 방법
TW201248496A (en) Method and system for processing audio signals in a central audio hub
US20050262314A1 (en) System and method for circular buffer
US6748497B1 (en) Systems and methods for buffering memory transactions
JP2001509610A (ja) 減結合の命令実行及び音声データシーケンスを有する音声効果プロセッサ
JP3434713B2 (ja) レジスタ制御装置およびレジスタ制御方法
Tsai et al. A configurable common filterbank processor for multi-standard audio decoder
Shi et al. The Development and Application of the Media Player Based on Embedded Linux System
Zhang et al. A Low-Cost Multi-standard Audio Decoder Architecture Design
JP5229993B2 (ja) 1チップ電子楽音発生器
JP2005182967A (ja) オーディオ情報機器
JPH09231160A (ja) 符復号装置

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee