KR20060125678A - 버퍼 관리 시스템, 디지털 오디오 수신기, 헤드폰들,확성기, 버퍼 관리 방법 - Google Patents

버퍼 관리 시스템, 디지털 오디오 수신기, 헤드폰들,확성기, 버퍼 관리 방법 Download PDF

Info

Publication number
KR20060125678A
KR20060125678A KR1020067002414A KR20067002414A KR20060125678A KR 20060125678 A KR20060125678 A KR 20060125678A KR 1020067002414 A KR1020067002414 A KR 1020067002414A KR 20067002414 A KR20067002414 A KR 20067002414A KR 20060125678 A KR20060125678 A KR 20060125678A
Authority
KR
South Korea
Prior art keywords
buffer
delay
data
read
management system
Prior art date
Application number
KR1020067002414A
Other languages
English (en)
Inventor
노르베르트 제이. 엘. 필립스
코엔 더블유. 디롬
에릭 보스
Original Assignee
코닌클리케 필립스 일렉트로닉스 엔.브이.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 코닌클리케 필립스 일렉트로닉스 엔.브이. filed Critical 코닌클리케 필립스 일렉트로닉스 엔.브이.
Publication of KR20060125678A publication Critical patent/KR20060125678A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q11/00Selecting arrangements for multiplex systems
    • H04Q11/04Selecting arrangements for multiplex systems for time-division multiplexing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • G06F5/10Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor having a sequence of storage locations each being individually accessible for both enqueue and dequeue operations, e.g. using random access memory
    • G06F5/12Means for monitoring the fill level; Means for resolving contention, i.e. conflicts between simultaneous enqueue and dequeue operations
    • G06F5/14Means for monitoring the fill level; Means for resolving contention, i.e. conflicts between simultaneous enqueue and dequeue operations for overflow or underflow handling, e.g. full or empty flags
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2205/00Indexing scheme relating to group G06F5/00; Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F2205/06Indexing scheme relating to groups G06F5/06 - G06F5/16
    • G06F2205/061Adapt frequency, i.e. clock frequency at one side is adapted to clock frequency, or average clock frequency, at the other side; Not pulse stuffing only
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04RLOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
    • H04R2420/00Details of connection covered by H04R, not provided for in its groups
    • H04R2420/07Applications of wireless loudspeakers or wireless microphones

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Stereophonic System (AREA)
  • Communication Control (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

버퍼 관리 시스템(100)은 데이터 통신 시스템에서 입력으로부터 출력으로 데이터 유닛(150)의 엔드 투 엔드(end-to-end) 지연(△)을 제어하도록 배열된다. 데이터 유닛들(150, 152)의 블록들(104, 106)은 블록 기록 레이트(Rw)로 기록되고, 데이터 유닛들(154, 156)은 판독 레이트(Rr)로 이러한 버퍼(102)로부터 판독된다. 엔드 투 엔드 지연(△)은 버퍼(102)로부터 판독 레이트(Rr)를 적응시킴으로써 제어되므로, 버퍼 필링(F)은 버퍼 관리 시스템(100) 내 지연들의 측정들에 기초한다. 판독 레이트(Rr)의 계산에 대해, 적어도 버퍼 관리 시스템(100) 내 데이터 유닛(150)의 입력의 입력 시간 순간(Ta)의 입력 시간 측정(mTa)이 요구된다.
판독 레이트, 기록 레이트, 버퍼

Description

버퍼 관리 시스템, 디지털 오디오 수신기, 헤드폰들, 확성기, 버퍼 관리 방법{Buffer management system, digital audio receiver, headphones, loudspeaker, method of buffer management}
본 발명은 데이터 통신 시스템에서, 버퍼 관리 시스템의 입력과 그 버퍼 관리 시스템으로부터의 출력 사이의 데이터 유닛의 지연을 제어하는 버퍼 관리 시스템에 관한 것으로서, 상기 버퍼 관리 시스템은,
입력된 데이터 유닛들의 블록들이 블록 기록 레이트로 기록되고, 데이터 유닛들이 판독 레이트로 판독되는 버퍼;
지정된 시간 순간에 버퍼에서 데이터 유닛들의 양을 결정하도록 배열되고, 필링 측정을 산출하는 버퍼 필링 측정 구성요소; 및
상기 필링 측정에 기초하여 상기 판독 레이트와 상기 기록 레이트의 비율을 세팅하도록 배열된 데이터 레이트 변환 구성요소를 포함한다.
본 발명은 또한, 그러한 버퍼 관리 시스템에 접속된 출력을 갖는 무선 수신기 구성요소를 포함하는 디지털 오디오 수신기에 관한 것이다.
또한, 본 발명은 그러한 디지털 오디오 수신기를 포함하는 헤드폰들에 관한 것으로서, 상기 디지털 오디오 수신기의 출력은 상기 헤드폰들의 확성기에 접속된다.
추가로, 본 발명은 그러한 디지털 오디오 수신기를 포함하는 자립형 서라운드 음향 확성기 캐비넷에 관한 것으로, 상기 디지털 오디오 수신기의 출력은 상기 캐비넷 내 확성기에 접속된다.
또한, 본 발명은 데이터 통신 시스템에서, 디지털 오디오 수신기의 입력과 상기 디지털 오디오 수신기로부터의 출력 사이의 데이터 유닛의 지연을 제어하는 방법에 관한 것으로서, 상기 데이터 유닛 지연 제어 방법은,
입력된 데이터의 유닛들의 블록들을 블록 기록 레이트로 버퍼 내에 기록하는 단계;
지정된 시간 순간에 상기 버퍼에서 데이터 유닛들의 양의 필링 측정을 결정하는 단계;
상기 필링 측정에 기초하여, 판독 레이트와 상기 기록 레이트의 비율을 세팅하는 단계; 및
상기 버퍼로부터 데이터 유닛들을 상기 판독 레이트로 판독하는 단계를 포함한다.
본 발명은 또한, 그러한 방법을 실행하도록 프로세서를 인에이블하는 컴퓨터 프로그램 제품에 관한 것이다.
그러한 버퍼 관리 시스템의 실시예는 국제 특허 출원서 WO99/35876으로부터 공지되어 있다. 상기 공지된 시스템은 스트리밍 펄스 코드 변조된(PCM) 오디오에 대해 사용가능한 비동기식 전송 모드(ATM) 네트워크의 일부이다. 보다 자세하게는, 모바일 스위칭 센터(MSC) 및 기지 송수신국(BTS) 사이의 링크- 후자는 전형적으로 모바일 폰에서 무선 데이터를 보내는 로컬 스테이션이다-가 기술되어 있다. 상기 시스템은 오디오 파일이 전체적으로 다운로드되기 전에 몇분 동안 대기하는 것을 피하기 위해 오디오의 재생을 시작하는 것을 의미하는 스트리밍 오디오에 대해 사용될 수 있다. 데이터 유닛들의 블록들은-상기 공지된 문헌에서는 셀들로 칭해짐- 네트워크 링크에 걸쳐 진행하기 전에 제 1 클럭(clk_1)에 의해 결정된 블록 레이트에서 제 1 버퍼로 기록된다. 상기 블록들은 제 2 클럭(clk_2)에 의해 결정된 판독 레이트로 네트워크 외부로 나온다. 상기 2개의 버퍼들과 상기 네트워크 링크 사이에서 구성되는 전체 시스템은 단일 버퍼로서 취급된다. clk_2가 clk_1 보다 더 느린 경우, 상기 버퍼들-제한된 사이즈의 실제적인 이유에 대한 것인-은 가득 채워져 작동하기 시작한다. 따라서, 일부 지점에서 데이터가 유실될 것이고, 감소된 오디오 품질을 결과로 나타낸다. 유사하게는, clk_2가 너무 빠른 경우, 상기 버퍼는 예를 들어 수신기 측에서 이전 블록들의 반복을 일으키는 데이터를 모두 써버릴 것이다.
상기 버퍼는 전형적인 네트워크 지연들에 대해 수신기 측에서 오디오를 신뢰성있게 재생하기 위해 사용가능한 충분한 블록들이 항상 존재하도록 필요한 크기를 가지고 있다. 상기 오디오는 상기 버퍼에 존재하는 데이터 유닛들의 양에 대응하는 지연된 시간에서 재생된다. 예를 들어, 플레이를 시작하기 전에, 오디오의 10초가 상기 버퍼에서 로딩된다. 재생 동안 오디오 블록들의 다운로드가 정체되는 경우 언제라도, 상기 수신기는 상기 버퍼에 저장된 컨텐츠로부터 재생을 계속할 수 있다. 종래의 버퍼 관리 시스템들은 합리적인 레벨에서 상기 버퍼에 저장된 오디오를 유지하는 것에 관심이 있다. 예를 들어, 공지된 시스템에 있어서, 상기 버퍼 필링이 상위 레벨에 걸쳐 작동하는 경우, 송신기 측에서 샘플 레이트 변환기는 보다 적은 샘플들의 블록들로 입력 샘플들을 그룹화하여, 오직 상기 버퍼로 기록되는 데이터 만큼 상기 수신기 측에서 판독된다. 유사하게는, 상기 수신기가 너무 많은 샘플들을 소모하기 때문에 상기 버퍼가 빈 상태로 작동하는 경우, 상기 샘플 레이트 변환기는 평균보다 더 많은 샘플들을 상기 버퍼로 기록한다.
요점이 바람직하게 필링된 버퍼를 유지하는 것이기 때문에, 필링 제어 기법에 대응하는 오디오 재생 지연이 매우 가변적일 수 있다는 것이 상기 공지된 시스템의 단점이다. 네트워크들은 전송에 참여하는 많은 구성요소들로 인해 서로 다른 블록들의 도착 시간들의 큰 지연 지터를 들여올 수 있다. 예를 들어, 다중 캐스트 백본(Mbone) 링크에 있어서, 블록 도착 시간들은 전형적으로 ±150 ms 만큼 변할 수 있고, 몇몇 블록들에 대해 심지어 보다 큰 지연들이 발생할 수 있다. 그러나, 반대로 인터넷 프로토콜을 통한 음성(VOIP) 전화 대화에 있어서 100 ms까지의 지연이 수용가능하고, 그 이상에서 다른 파티는 그것의 대화에서 매우 분명치 않을 것이다.
본 발명의 제 1 목적은, 데이터 샘플이 수신될 때와 그것이 출력될 때 사이의 지연이 제어될 수 있다는 서두에 기술된 바와 같은 시스템을 제공하는 것이다. 데이터는 바람직하게는, 오디오 데이터이지만, 다시 샘플링될 수 있는, 특히 다시 샘플링하는 단계가 인간에게 거의 눈에 띄지않는 경우 어떠한 연속적인 함수의 데이터일 수 있다.
이러한 제 1 목적은,
입력 시간 측정 구성요소가 상기 버퍼 관리 시스템 내 데이터 유닛의 입력의 입력 시간 순간을 측정하도록 배열되어 입력 시간 측정을 산출하도록 포함되며,
지연 제어 구성요소는 필링 측정 및 입력 시간 측정에 기초하여 데이터 레이트 변환 구성요소를 제어함으로써 지연을 제어하도록 포함된다.
상기 시스템이 예를 들어, 다수의 수신 서라운드 확성기들을 갖는 내부 무선 오디오 접속 시스템인 경우, 그에 따라 오디오 데이터 유닛들의 블록을 보내는 시간은 수신 시간과 동일시될 수 있다. 송신기에서 지연들은 상기 송신기가 모든 수신기들에 대해 동일한 경우 일반적으로 고려될 필요가 없다. 용어 룸(room)은 넓은 의미로 해석되어야 하고, 소비자의 거실 외에, 공장 마루, 영화관, 또는 심지어 제한된 야외 공간을 포함한다. 몇몇 오디오 시스템들에 있어서, 오디오 샘플 재생의 엔드 투 엔드(end-to-end) 지연에 걸쳐 제어의 보다 큰 정도는 예를 들어 VOIP에 대해서보다 바람직하다. 예를 들어, 무선 헤드폰은 텔레비전 스크린 상에서 보여지는 립들(lips)의 움직임 및 헤드폰들을 통해 청취되는 것과 같은 언어 사이의 립 동기화를 느슨하게 하지 않기 위해 30 ms 아래의 지연을 필요로 할 수 있다. 아날로그 시스템들은 거의 어떠한 지연도 보이지 않지만, 디지털 시스템들은 예를 들어, 패킷 전송으로 인해 압축해제 등등과 같은 프로세싱을 한다. 다수의 서라운드 확성기들이 존재할 때-예를 들어, 좌측 및 우측 서라운드 확성기-, 상기 지연에 대한 필요성이 보다 더 유력하다. 이러한 경우에 있어서, 전형적으로 예를 들어 5개 샘플들 아래인 몇개의 샘플들의 순서에서 상기 지연의 평균값이 상대적으로 낮아야할 뿐만 아니라, 상기 지연의 변화-이른바 지연 지터- 또한 상대적으로 낮아야 한다. 다시 말해서, 각각의 확성기에 대해 일정한 엔드 투 엔드 지연을 가짐으로써, 각각의 확성기는 동일한 샘플을 귀에 거슬리는 소리로 출력한다. 그러나, 좌측 서라운드 확성기가 샘플(x)을 출력하고 우측 확성기가 샘플(x+y)을 출력하며, 여기서 y는 예를 들어 0으로부터 50개 샘플들로 가변적인 지연인 경우, 상기 좌측 및 우측 확성기에 의해 생성된 상기 음향의 도착의 지연들이 인간 귀에 상기 가상 음향 소스 일루전을 생성하기 때문에, 가상 음향 위치 또는 스테레오 이미지는 더이상 안정적이지 않다.
지연의 세가지 형태들은 디지털 데이터 통신 시스템에서 식별될 수 있다. 첫째로, 디코딩 지연과 같은 프로세싱 요소들의 지연들이 존재한다. 이러한 지연들은 가변적일 수 있지만, 종종 고정된 시간 슬롯이 그 프로세싱에 대해 예비되므로, 그것들은 지연 제어 기법에서 무시될 수 있다. 둘째로, 발생하기 위한 활동이 빠르거나 늦기 때문에, 전형적으로 상기 활동을 제어하는 클럭이 기준 클럭에 대해 느리거나 빠르게 작동하기 때문에 발생하는 활동 지연들이 존재한다. 예를 들어, 데이터의 블록은 상기 시스템에 입력될 수 있고, 상기 버퍼로부터의 주기적인 판독 전에 가변적인 시간 순간에서 버퍼에 기록될 수 있다. 셋째로, 버퍼 필링에 대응하는 지연이 존재한다. 데이터 유닛들이 특정한 판독 레이트를 갖는 버퍼를 판독하는 경우, 상기 판독 레이트에 의해 나눠진 상기 버퍼에서 데이터 유닛들의 수와 동일한 상기 버퍼에서의 마지막 데이터 유닛과 첫번째의 판독 사이에 지연이 존재한다. 그러한 프로세싱 요소들, 버퍼들, 및 활동들의 체인을 트래버싱하는 데이터 샘플은 전체 엔드 투 엔드 지연을 경험할 것이다. 상기 지연의 어떠한 부분들이 예를 들어 클럭 지체와 같은, 장치의 영향 밖에 있는 경우, 그것들은 제어가능한 버퍼 필링들 및 활동들에 의해 보상될 수 있고, 그러므로 전체 엔드 투 엔드 지연은 실질적으로 일정하거나 적어도 제어가능하다.
본 발명에 따른 시스템에 있어서, 데이터 유닛의 입력 시간 순간은 입력 시간 측정 구성요소에 의해 측정된다. 버퍼가 얼마나 채워져 있는지를 단지 측정하는 것 보다는 버퍼 필링의 양은 지연들에 대해 보상할 수 있다. 그에 따라, 상기 버퍼의 필링은 항상 상기 지연이 제어가능하고, 바람직하게는 몇몇 시스템들에 있어서 대략적으로 일정하다는 것을 확인하는 지연 제어 구성요소에 이러한 입력 시간 측정이 전송된다. 상기 지연 제어 구성요소는 이하 도면에 있어서 설명되는 바와 같이 판독 및 입력 시간들과 버퍼 필링들을 고려한 흐름 식을 사용함으로써 이것을 행한다. 도면에서의 단순한 실시예에 있어서, 상기 버퍼 내 데이터 유닛의 입력 및 상기 데이터 유닛의 기록 단계 전에는 지연들이 존재하지 않는다는 것에 주의하자. 이러한 단순한 실시예에 있어서, 단지 2개의 지연 구성요소들, 즉 입력 시간 순간(그 결과 기록 시간과 동일, 그 결과 기록 레이트는 입력 레이트이다) 및 판독 시간과 상기 버퍼의 필링 지연 사이의 차이를 포함하는 엔드 투 엔드 지연이다. 또한, 상기 버퍼로부터의 판독 단계 및 상기 확성기에 의한 상기 데이터 유닛의 출력 단계 사이의 일정한-그 결과 무시가능한- 지연이 존재한다고 가정된다. 상기 시스템에서 보다 많은 지연들이 발생하는 경우, 이하 보다 복잡한 실시예들에 의해 예시되는 바와 같이, 보다 복잡한 엔드 투 엔드 지연식 이 결과로 나타난다.
상기 데이터 유닛들이 블록들처럼 상기 버퍼로 기록된다는 것에 주의하자. 디지털 통신 시스템에 있어서, 그것들은 또한 전형적으로 다수의 데이터 유닛들의 프레임들에 입력된다. 그러나, 그것들은 또한 안테나에 하나씩 도달할 수 있다. 이 경우에 있어서, 샘플들의 블록을 디코딩하기 위해 충분한 데이터 유닛들이 존재하고, 샘플들의 블록이 그 후에 상기 버퍼에 기록될 때까지 그것들이 축적된다고 가정된다.
상기 버퍼 관리 시스템의 실시예는 제 1 데이터 유닛의 판독 시간 순간을 측정하도록 배열되고 판독 시간 측정을 산출하는 판독 시간 측정 구성요소를 포함하고, 상기 버퍼 관리 시스템 실시예에 있어서, 지연 제어 구성요소는 판독 시간 측정에 기초하여 데이터 레이트 변환 구성요소를 제어하도록 배열된다. 상기 판독 시간들은 예를 들어 지연 제어 구성요소에 의해 지시되는 것과 같이 조정될 수 있지만, 또한 대안적으로 측정되어 상기 지연 제어 구성요소에 보낼 수 있다.
VCO 실시예에 있어서, 상기 데이터 레이트 변환 구성요소는 전압 제어된 발진기(VCO)를 포함한다. 예를 들어 샘플들이 너무 느리게 판독되어 상기 버퍼 리스크들이 채워져 지연에서의 증가를 이끌어 내는 경우, 상기 버퍼로부터의 판독 레이트는 샘플들이 보다 빠른 레이트에서 확성기로 보내지는 것으로 결정된다.
SRC 실시예에 있어서, 데이터 레이트 변환은 제 1 샘플들로부터 제 2 샘플들을 생성하도록 배열된 샘플 레이트 변환기(SRC)를 포함한다. 출력이 상기 시스템에 의해 고정되는 경우에 있어서, 샘플들의 증가된 수가 버퍼 필링의 증가를 회피하기 위해 판독되어야만 하지만 샘플들의 동일한 수가 출력되어야 하는 경우, 상기 샘플 레이트 변환기는 입력으로 상기 제 1 샘플을 갖는 샘플들을 보간함으로써 보다 더 낮은 제 2 샘플들을 생성할 수 있다. 명확하게는, VOC 및 SRC는 단일 시스템에 결합될 수 있다. 상기 클럭들의 허용한계(tolerance)-클럭이 예를 들어 온도 변화들로 인해 그것의 평균 또는 일반적인 값으로부터 특정한 시간 순간에서 변화하도록 허용되는 클럭 레이트의 양-가 작은 경우, 전형적으로 100 ppm(parts per million) 아래인 경우, 그 후에 VCO는 바람직하며, 그렇지 않은 경우 SRC가 바람직하다.
상기 버퍼 관리 시스템이 압축 해제기를 포함하는 경우, 상기 지연 제어 구성요소는 압축해제 또는 제 2 버퍼 내의 데이터 유닛들의 양과 연관된 압축해제 지연에 기초하여 데이터 레이트 변환 구성요소를 제어하도록 배열된 추가적인 장점이 있다. 압축해제, 전송 스트림 디코딩, 또는 디지털/아날로그 변환과 같은, 상기 시스템에서 추가적인 지연들은 상기 지연 제어 구성요소에 의해 또한 보상될 수 있다. 전형적으로, 오디오 통신 시스템은 사용가능한 대역폭과 같은 리소스들이 제한되기 때문에 압축된 스트림에서 데이터를 보낸다. 압축해제는 각각의 블록에 대해 시간의 고정된 양을 취할 수 있거나, 심지어 가변적인 시간의 양을 취할 수도 있다. 이러한 압축해제 시간이 측정가능한 한, 그것은 보상될 수 있다. 상기 압축해제 시간은 예를 들어 상기 압축해제기를 들어오고 나가는 데이터의 유닛 또는 블록의 타임스탬프들의 차이로 명확하게 측정될 수 있거나, 압축해제될 상기 압축해제기(압축 해제기가 보다 느릴수록, 보다 많은 데이터 유닛들이 차례로 대기해야 한다) 이전에 버퍼에서 데이터 유닛들 또는 블록 큐잉의 양으로 암시적으로 측정될 수 있다.
상기 버퍼 관리 시스템은 유리하게는, 추가적으로 무선 수신기 구성요소를 포함하는 디지털 오디오 수신기에 결합된다. 전형적으로, 이러한 무선 수신기 구성요소는 상기 수신기가 반송파 상에 변조되는 무선 오디오를 수신하기 때문에 존재한다. 또한, 상기 버퍼 관리 시스템은 유선 네트워크에서 결합될 수 있다. 특별히, 무선 오디오 제품들은 소비자가 모든 종류들의 유선들을 접속시키는 것으로부터 자유로워지는 경우에 있어서 가정용 영화 애플리케이션들에 대해 적합하다. 그러한 제품들의 특정한 예들은 무선 헤드폰 및 자립형 서라운드 음향 확성기이다.
본 발명의 제 2 목적은 서두에 기술된 바와 같이 오디오 샘플이 보내질 때 및 그것이 재생될 때 사이의 지연이 제어될 수 있는 버퍼 관리의 방법을 제공하는 것이다.
상기 제 2 목적은,
상기 디지털 오디오 수신기에서 상기 데이터 유닛의 입력의 입력 시간 순간의 입력 시간 측정이 수행되고,
상기 지연은 상기 입력 시간 측정에 또한 기초하여 상기 판독 레이트와 상기 기록 레이트의 비율을 세팅함으로써 제어되는 것으로 이해되고 있다.
종래 기술은 언더플로우 또는 오버플로우의 최소 리스크가 존재하도록 예를 들어 빈 것과 가득 찬 것 사이의 합리적인 레벨에서 버퍼 필링을 유지하는 많은 방법들을 포함하지만, 이러한 버퍼 제어 테크닉들은 엔드 투 엔드 지연들에 대해서는 고려하지 않고 있다. 그러므로, 실질적으로 일정하거나 일반적으로 제어가능한 엔드 투 엔드 지연에 대해 요구되는 버퍼 필링을 결정하는 단계에서 사용되는 입력 시간 측정과 같은, 상기 시스템에서 지연들을 표시하는 측정들은 존재하지 않는다.
본 발명에 따른 상기 버퍼 관리 시스템, 디지털 오디오 수신기, 헤드폰들, 및 자립형 서라운드 음향 확성기의 이러한 측면들과 다른 측면들은 비제한적으로 예시하는 첨부된 도면을 참조하여 이하 기술되는 실시예들의 구현들과 관련하여 명확하게 기술될 것이다.
도 1은 본 발명에 따른 버퍼 관리 시스템의 실시예를 개략적으로 도시한 도면.
도 2(a)는 상기 버퍼로부터의 판독 및 그 버퍼로의 기록을 개략적으로 도시한 타이밍도.
도 2(b)는 가변적인 판독 레이트의 결과로서 오디오 샘플들의 출력을 개략적으로 도시한 도면.
도 2(c)는 상기 버퍼에서 데이터 유닛들의 블록들이 수를 개략적으로 도시한 도면.
도 3(a)는 2개의 연속적인 기록 단계들 후에 여분의 버퍼 필링에 대해 보정하기 위한 빠른 버퍼 판독 기법을 개략적으로 도시한 도면.
도 3(b)는 종래 기술의 문헌자료 WO99/35876에 따른 버퍼 관리를 개략적으로 도시한 도면.
도 3(c)는 본 발명에 따른 버퍼 관리 시스템의 바람직한 실시예로서 일정한 엔드 투 엔드 지연 버퍼 관리를 개략적으로 도시한 도면.
도 4는 상기 판독 레이트가 상기 기록 레이트와 비교해 느린 경우에 있어서 일정한 엔드 투 엔드 지연에 대해 상기 버퍼로부터 데이터 유닛들의 판독 단계를 개략적으로 도시한 도면.
도 5는 상기 버퍼 관리 시스템의 실시예를 포함하는 무선 디지털 오디오 수신기의 예시적인 실시예를 개략적으로 도시한 도면.
도 6은 전압 제어된 발진기를 갖는 상기 버퍼 관리 시스템 기능의 실시예를 개략적으로 도시한 도면.
도 7은 데이터 레이트 변환이 대략적으로 일정한 모든 오디오 샘플들에 대해 엔드 투 엔드 지연을 유지하는 방법의 예를 개략적으로 예시한 도면.
도 8은 보다 진보된 일정한 엔드 투 엔드 지연 기법을 예시한 개략적인 타이밍도.
도 9는 오디오 소스 유닛 및 2개의 확성기들 사이의 무선 가정용 오디오 전송에 대한 시스템을 개략적으로 도시한 도면.
도 10은 송신기 및 2개의 수신기들에서 데이터 프로세싱의 타임 라인의 진보적인 예를 도시한 도면.
도 11은 상기 수신기에서 데이터의 수신, 프로세싱, 및 디지털/아날로그 변환기를 통한 출력을 도 10에 대응하여 도시한 도면.
도 1에 있어서, 데이터 유닛들(150, 152)의 블록들(104, 106)은 수신기 내 버퍼 관리 시스템(100)으로 들어간다. 버퍼 관리 시스템(100)이 유선들로 상기 데이터 유닛들의 송신기를 통해 접속될 수 있을지라도, 버퍼 관리 시스템(100)은 바람직하게는 안테나(130)에 의해 무선으로 접속된다. 용어 "데이터 유닛"은 데이터의 조각, 예를 들어 디지털화된 오디오, 비디오의 조각, 또는 적어도 1 비트를 포함하는 다른 시간 연속된 데이터 신호-예를 들어 센서에 의해 캡쳐된 것과 같은-를 표시하기 위해 사용된다. 몇몇 실시예들에 있어서, 데이터 유닛은 16 비트 PCM 오디오의 샘플이다. 다른 실시예들에 있어서, 상기 오디오는-예를 들어 서브 밴드 코딩된(SBC)-압축되고, 상기 데이터 유닛들은 다중 샘플들 및/또는 샘플들의 일부들을 포함할 수 있다. 설명의 단순성을 위해, 용어 샘플은 데이터 유닛 대신에 때때로 사용되고, 전문가들은 데이터 유닛의 다른 형태들에 대해 상기 시스템을 수정하는 방법을 공지하고 있다. 블록은 함께 그룹화된 다수의 데이터 유닛들이고-가능한 한 여분의 제어 비트들을 갖는- 함께 판독되고 기록된다. 예시적인 숫자로 나타낸 실시예에 있어서, 이러한 텍스트에서 블록 내 샘플들의 수는 128개이다. 설명의 단순성을 위해(도 2, 4, 및 7에 도시되는 바와 같이), 버퍼 관리 시스템(100)(예로써, 엔테나(130)에서) 내 데이터 유닛들의 제 1 데이터 유닛의 도착의 입력 시간 순간(Ta)은 버퍼(102) 내 블록의 기록 시간(Tw)과 같으므로, 지연이 설명의 단순성을 위해 0과 동일하게 세팅되는 상기 버퍼 내 데이터 유닛의 기록 단계 및 안테나(130)에서 데이터 유닛의 도착 사이의 일정한 지연이 존재한다. 입력 시간 순간(Ta)은 예를 들어 그것이 수신 버퍼(506)에 들어갈 때 서로 다른 방식들로, 또는 제 1 프로세싱 요소에 의해 측정될 수 있다. 보다 진보된 실시예들에 있어서, Ta 및 Tw 사이의 모든 지연들은 또한 엔드 투 엔드 지연 제어에서 또한 고려되어야 한다. 그러므로, 블록들(104, 106)은 기록 시간 순간들(Tw) 에서 버퍼(102)에 기록되고, 시간당 기록 시간 순간들(Tw)의 수는 기록 레이트(Rw)이다. 특정한 시간 순간(T1)에서, 상기 버퍼는 다음 판독 명령에 의해 판독되도록 준비하는 예를 들어 데이터 유닛들의 하나의 블록과 같은 데이터 유닛들의 양(F)을 통해 채워진다. 데이터 유닛들은 판독 레이트(Rr)로 판독된다. 판독은 데이터 유닛당-예를 들어 샘플당- 또는 블록당 존재할 수 있다.
상기 버퍼로부터의 판독 단계 및 그 버퍼로의 기록 단계(102)는 도 2에 예시되어 있다. 제 1 기록 시간 순간(tw1)에서, 상기 버퍼로의 제 1 기록 활동(W1, 212)이 수행된다. 예를 들어, 상기 버퍼는 tw1 이전에 비어있을 수 있고, tw1 이후에 하나의 블록을 포함한다. 제 1 판독 시간 순간(tr1)에서, 상기 블록은 제 2 기록 활동(w2)에 대해 상기 버퍼가 비어있는 상태로 판독된다. 이 후에, 상기 수신기는 시간 순간(tr2)에서 버퍼(102)로부터 판독될 것이다. 기록 활동들은 제 1 클럭(clk_1)에 의해 지시된 기록 시간들(tw)에서 발생한다. 이것은 송신기의 클럭이고, 수신기 내에 알려지지 않는다. 그러나, 상기 송신기는 블록들을 전송하고 그것들이 거의 순간적으로 상기 수신기에 도착하므로, 도착의 순간들은 상기 송신기의 제 1 클럭(clk_1)을 측정하기 위해 상기 수신기에 의해 사용될 수 있다. 그러나, 상기 수신기는 제 1 클럭(clk_1) 또는 그것의 보통 레이트 주변에서 그것의 변형들에 걸쳐 제어를 갖지 않는다. 상기 판독 활동들은 상기 수신기의 클럭, 제 2 클럭 (clk_2)에 의해 지시된 판독 시간들(tr)에서 발생한다. 제 1 판독 시간(tr1)에 대한 기준은, 상기 데이터 유닛들이 단독으로 또는 블록들 단위로 판독되는 지의 여부에 상관없이, tw1에서 버퍼(102)로 기록된 특정한 블록의 제 1 데이터 유닛(154)이 판독될 때 그 시간만큼 취해질 수 있다. 버퍼(102)로부터 판독된 후에 상기 시스템의 나머지가 고정된 지연들로 구성되는 경우, 기준 포인트는 또한 샘플이 확성기를 통해 재생될 때 재생 시간 순간(Ts)만큼 또한 취해질 수 있다. 재생 시간 순간(Ts) 및 기록 시간 순간(Tw)의 차이는-또는 블록(104)이 버퍼(102)로 기록되기 전에 추가적인 지연들이 발생하는 경우 블록 도착 시간(Ta)-버퍼 관리 시스템(100)에 의해 제어될 수 있는 엔드 투 엔드 지연(△)이다. 도 2(a)에 있어서, 목적들을 단순화하기 위해, 단지 각각의 제 1 클럭(clk_1) 및 제 2 클럭(clk_2)에 의해 지시되는 버퍼(102)로부터의 판독 단계 및 그 버퍼로의 기록 단계만이 고려되도록 버퍼(102) 이전 및 이후 모든 프로세싱 구성요소들이 무시된다-일정하거나 무시가능한 지연을 받아들이도록 가정된다.
clk_1 및 clk_2가 완전히 동기적인 경우, 판독 단계는 제 1 지연(△1)을 일으키는 기록 단계 후에 특정한 시간 간격에서 항상 발생할 것이다. 다음에 있어서, 제 1 클럭(clk_1)에 의한 기록 단계의 고정된 시간 순간들(tw1, tw2, 등등)과 비교하여 제 2 클럭(clk_2) 지터들은 보다 정밀히 일시적으로 느리게 작동하는 것으로 가정된다(실제로, 그것은 중요한 상대적인 클럭 차이이다). 상기 클럭들의 변화들이 또 다른 형태의 것인 경우들에서 버퍼 관리 시스템(100)이 또한 사용될 수 있을 지라도, 제 1 및 제 2 클럭들(clk_1, clk_2)가 전형적으로 1000 ppm까지의 이러한 값 주위의 작고 알려지지 않은 지터 이외에 동일한 명목상의 값을 갖는 경우들에서 사용하기에 유리할 것이다. 이러한 경우들은 본 명세서에 상세히 설명되어 있다. 도 2(a)에 있어서, 제 2 클럭(clk_2)이 제 1 클럭(clk_1)과 비교하여 느리게 작동하고-시종일관하게, 즉 다수의 기록/판독 사이클들에 걸쳐- 그러므로, 상기 판독 활동들은 상기 기록 활동들과 비교하여 언제나 더 늦게 발생한다. 또한, 도 2(a)에 화살표(AR2)로 도시된 것은 예를 들어 tr2와 비교하여 오프셋되는 시간(tar2)d서발생하는 제 2 자립형 확성기에서와 같이 제 2 버퍼 관리 시스템에 의해 상기 제 2 블록의 판독 단계이다. 그러므로, 이러한 2개의 확성기들이 특정한 시간 순간에서 그들의 각각의 샘플들을 재생할 때, 이러한 샘플들은 대응하지 않을것이며, 부정확한 스테레오 이미지를 일으킨다.
도 2(b)로 돌아가서, 상기 샘플들은 제 1 샘플(232) 및 제 2 샘플(234) 사이의 제 1 샘플간 거리(236)보다 제 3 샘플(242) 및 제 4 셈플(244) 사이의 보다 큰 제 2 샘플간 거리(246)를 갖는 느린 작동 clk_2로 인해 보다 느리게 출력된다. 어떠한 순간에, 예에 있어서, 제 3 판독 활동(R3)이 하나 이상의 블록의 제 3 지연(△3)에 의해 지연되므로, 제 4 기록 활동(W4)은 제 3 판독 활동(R3) 전에 발생한다. 도 2(c)에 도시된 바와 같이, 기록 및 판독 활동 사이의 그 순간으로부터, 하나의 블록 보다는 버퍼(102)에 2개의 블록들이 항상 존재한다. 제 2 클럭이 느리게 작동을 유지하는 경우, 얼마의 시간후 바퍼(102) 내 3개의 블록들 등등이 존재할 것이다. 그러나, 버퍼 필링에서의 증가보다 더 해로운 것은 지연(△)에서의 대응하는 증가이다. 예를 들어, 서라운드 확성기들에 오디오를 전송하는 송신기의 제 1 클럭(clk_1)에 관하여, 좌측 서라운드 확성기의 클럭이 너무 느리게 작동하는 경우와, 제 1 클럭(clk_1)과 협조하여 우측 서라운드 확성기의 클럭이 너무 빠르게, 또는 더 느리게 작동하는 경우, 상기 2개의 확성기들에 의해 출력된 샘플들은 오디오 신호의 보다 많이 분리된 시간 순간들에 대응하므로, 스테레오 이미지는 심각하게 훼손된다. 전형적인 값으로 버퍼 필링 또는 지연을 되돌리기 위해, 서로 다른 전력들이 도 3에 도시된 바와 같이 시도될 수 있다.
도 3(a)에 있어서, 각각의 판독 시간 순간(Tr)인 128개의 샘플들의 블록을 판독하는 단계 대신에, 하나 또는 몇개의 샘플들이 여분으로 판독된다. 예를 들어, 8개의 여분의 샘플들이 16개의(=128/8) 판독 활동들 후에 각각의 판독 활동 동안 판독되는 경우, 버퍼 필링은 이전의 판독 활동을 통해 다시 따라잡기 위해 다음 기록 활동에 대한 이러한 16개 기록/판독 사이클들보다 더 오래 걸리는 것이 제공되는 1개의 블록의 일반적인 필링으로 복귀한다. 이것은 대응하는 지연 변화가 완곡한 경사도 라인(302)에 의해 표시되는 단지 얼마의 ppm과 클럭 레이트들이 서로 다른 경우에 확실히 사실일 것이다. 그러나, 그러한 빠른 보정 활동(304)은 그것이 그 자체로 버퍼 필링 관리에 대해 완전하게 사용가능할 지라도 지연 관리에 대해 바람직하지 않다. 우선적으로, 긴 기간(Twa) 동안, 지연이 계속해서 증가하므로, 이것은 바람직하지 않은 스테레오 이미지를 계속해서 일으킨다. 그 후에, 빠른 회복 기간(Tco) 동안 상기 지연은 예를 들어 1개의 블록에 다시 재저장된다. 그러나, 상기 회복 간격은 2개의 확성기들에 대해 서로 다른 시간들을 발생시킬 수 있고, 시간에서의 얼마의 순간에 거의 동일한 트렌드를 통해 변하는 심지어 클럭들에 대 해 하나의 확성기가 계속해서 2개의 블록들 지연을 갖고 다른 것은 이미 하나의 블록 지연만 갖는 사실을 일으킨다. 이것은 스테레오 이미지의 상대적으로 빠른 저하를 받아들인다. 도 3(b)는 WO99/35876에서와 같은 보정 기법을 통해 발생할 지연을 도시하고 있다. 이러한 공지된 시스템에 있어서 버퍼 관리는 버퍼가 상위 제한(UL) 또는 하위 제한(LL)으로 채워질 때만 발생하기 때문에, 상기 지연은 전형적으로 틈틈이 제어되지 않는 일시적인 기간들(312)을 통해 그러한 버퍼 필링에 대응하는 값들의 주위에 상주한다.
바람직한 스테레오 이미지를 유지하기 위한 유일한 방식은 도 3(c)에 도시된 바와 같은 모든 확성기들에 대해 지연(△)을 제어하기 위한 것이다-보다 정확하게 미리 정의된 값과 대략적으로 동일하게 그것을 유지한다.
도 1로 돌아가서, 보다 많은 샘플들이 블록과 비교하여 판독될 때, 데이터 레이트 변환 구성요소(108)는 출력될 샘플들(174, 176)의 제 2 수(142)에서 판독 샘플들(154, 156)의 제 1 수(140)의 변환을 처리한다. 출력 오디오는 전형적으로 디지털/아날로크(D/A) 변환 후에 확성기에 의해 재생된다. 상기 샘플들은 또한 저장 디바이스와 같은 또 다른 장치에 보내질 수 있다. 상기 데이터 레이트 변환 구성요소(108)는 예를 들어 샘플 레이트 변환기일 수 있다. 많은 SRC 테크닉들은 PSOLA 등과 같은 반복적인 패턴들을 추출하고 대체하는 테크닉들, 예를 들어 종래 기술에서 보정 필터들로 존재한다. 유리한 샘플 레이트 변환기는 우선 예를 들어 팩터(10)를 통해 오디오 신호를 업컨버트하고, 그 후에 나이퀴스트 필터들, 그 다음에 예를 들어 팩터(7)를 통해 다운컨버트하여, 어떠한 변환 레이트도 쉽게 달성 될 수 있다. SRC를 통해, 제 2 클럭(clk_2)는 예를 들어 수정 발진기와 같은 상대적으로 저렴한 고정된 클럭일 수 있다. SRC를 사용하는 대신에, 전압 제어된 발진기와 같은 가변적인 판독 레이트(Rr)를 생성하는 가변적인 클럭(610)이 도 6에 도시되는 바와같이 적용될 수 있다. 보다 많은 샘플들이 바람직한 양(F)에서 그것의 필링을 유지하도록 버퍼(102) 외에서 판독되야 하는 경우, 바림직한 지연(△)에 대응하여 판독 레이트(Rr)(clk_2 레이트)가 판명되고, 반대로도 같다.
상기 제시된 예들에 있어서 본 기술 분야의 전문가는 어느 데이터 레이트 변환을 적용할 것인지 알기 때문에, 초점은 제 2 클럭(clk_2) 또는 판독 레이트(Rr)의 상대적인 빠름 또는 느림에 의존하는 판독 기법의 적응에 맞춰지지 않을 것이다. 본 발명의 원리는 도 4에 의해 개략적으로 예시되어 있다.
입력 시간들(Ta)에 비해 clk_2의 잘못된 동기화를 보상하는 단순한 예시적인 예로써, 버퍼로의 기록 단계(102) 이전에 고정된 지연이 존재하고 블록 판독 활동 바로 이전에 버퍼(102)에서 데이터 유닛들의 바람직한 양(F)이 128개 샘플들의 하나의 블록(420)이라고 가정한다. 이러한 양(F)은 판독 명령이 실행된 후에 바로 버퍼(102)에서 0 데이터 유닛들로서 유리하게 측정될 수 있다. 대안적으로, 버퍼 필링은 판독 명령 전에 검사될 수 있다. 이것은 예를 들어 도 2(a)의 제 1 지연(△1)인 고정된 지연에 대응한다. 그래프(400)는 제 2 클럭(clk_2) 판독 레이트(Rr) 대 시간의 상대적인 변화로 인한 지연(δ△)의 변화를 도시하고 있다. 송신기의 제 1 클럭(clk_1) 및 수신기의 제 2 클럭(clk_2)이 인 싱크(in sync)인 경우, 그 후에 기준선(430)에 의해 표시되는 δ△는 0 이다. 기준선(430)j의 좌측으로 "빠른 수신 기 클럭" 도메인(402) 존재하고, 우측 제 2 클럭(clk_2)은 clk_1과 비교하여 느리다. "느린 수신기 클럭" 도메인에서 발생(408)에 대해, 보다 많은 샘플들(BR)은 1개 블록(다음 기록 시간 순간에 버퍼 내에 기록될)에서 필링의 양(F)을 유지하기 위해, 또는 바람직한 지연(△)을 보다 정확하게 유지하기 위해 128개 샘플들 이상, 즉 BR = 128 + dF로 판독되어야 한다. 도 2(b)에 도시된 바와 같이 느린 clk_2의 간격에서 출력될 8개 샘플들이 존재하는 경우, 그것들은 SRC에 의해 1 블록 + dF 샘플들로부터 구성될 수 있다. 상기 클럭들이 너무 많이 다르지 않은 한, 보간된 샘플은 실제 오디오 샘플이 바람직한 지연에 대응하는 샘플들에 대해 엄밀히 정확한 시간 순간일 것인 것과 지각적으로 매우 유사하다. 그러므로, 스테레오 이미지는 상당히 충실히 재생된다. 버퍼 필링이 다시 이전 기록/판독 사이클 동안 만큼 동일하기 때문에-여분의 필링이 존재하지 않고, 증가가된 지연을 일으킨다-지연(△)은 연속적인 기록/판독 사이클들에 걸쳐 실질적으로 일정하게 남아있다.
이것은 도 7의 참조로 보다 명확하게 예시되어 있다. 열(702)은 데이터 유닛들을 도시하며-샘플들로 고려되는 단순성을 위해-그것들은 예를 들어 블록(730)과 같은 버퍼(102)로 기록되고, 그러므로 블록의 제 1 샘플은 tw1에서 기록된다. 열(704)은 클럭들(clk_1, clk_2)이 정확하게 동기화된다는 것을 의미함으로써, 샘플들이 표준 동작 하에서 판독되는 그러한 샘플들을 도시하고 있다. 상기 예에 있어서, 이러한 제 1 샘플은 3개의 샘플들인 △1과 동일한 지연이 존재한다는 것을 의미하는 t1에서 버퍼 외부에서 판독된다. 표준 동작하에서, 샘플들(740)과 동일한 샘플들(741)이 다음으로 판독될 것이고, 실제로 8개 샘플들의 새로운 블록이 다음 으로 판독될 것이다. 열(706)은 느린 제 2 클럭(clk_2)으로 발생하는 것을 예시하며, 샘플들(730)에 대응하는 샘플들(732)은 타임 연장을 예시하기 위해 정사각형 보다는 직사각형들로 개략적으로 도시되어 있다. 다음의 판독 시간 순간(780)에서, 740에 대응하는 샘플들(742)은 느린 clk_2의 방향 하에서 판독될 것이지만, 이것은 상술된 바와 같이 증가하는 지연을 일으킨다. 그러므로, 백지화된 전력이 적용되어야 하고, 그것은 샘플들(755)이 기록된 샘플들(750)에 대응하여 판독되는 것을 의미한다. 그러나, 이것은 샘플들(740)이 판독된 적이 없다는 것, 즉 그것들이 유실되었다는 것과, 또한 시간들(t1, t31, t41)에서 간격 내 후자의 샘플들이 부적절한 지연을 갖는 다는 것을 의미한다. 상술된 바와 같이, 상기 문제는 3개 여분의 샘플들을 판독하고 샘플 레이트 변환, 예를 들어 보간을함으로써 해결된다. 열(708)은 명확성을 위해 단지 2개인, 보간된 샘플들을 도시하고 있다. 상기 블록의 초기에 샘플(720)과 같은 샘플들은 이전 여분의 샘플들(712)의 양으로 보간된다. 이론적이로, 이것은 시간 순간(t1)에서 이지만, 실제로 상기 샘플은 단지 극소로 다른 양자의 시간 순간들인 시간 순간(t11)에서 또한 출력될 수 있다. 상기 블록의 끝에서, 예를 들어 시간 순간(t2)에서, 음향 샘플들이 샘플들(730)이 마지막과 유사하기 보다는 여분의 샘플들(741)과 유사하고, 그러므로 샘플(722)의 보간은 여분의 판독 샘플들(742) 또한 고려한다는 것을 확인할 수 있다. 단지 얼마간의 ppm을 갖는 클럭 지터들이 경우, 이러한 방식은 매우 과장되지만, 동일한 원리들을 적용하고 있다.
수학적으로, 이것은 버퍼(102) 내외에서 일정한 흐름의 흐름 식(식 1)으로 기록될 수 있고, 일정한 필링 양(F)을 일으킨다.
식 1
Figure 112006008317931-PCT00001
그러므로, 판독될 샘플들의 여분의 양(dF)은 실제 판독 시간 Tact R 및 명목상, 즉 바람직한 판독 시간 Tnom R 사이의 차이와 동일, 즉 clk_2의 느림과 동일하다. 다시 말해서, 시간 차이로서 지연의 변화 δ△ = △act - △nom 는 샘플들(dF)의 특정한 양에서 버퍼 필링과 관련하여 대응하고, 기록 시간 Tnom W 이 고정된 기준으로 취해진다.
도 1을 참조로 하면, 이 식은 지연 제어 구성요소(120)에 의해 값을 얻는다. 기록 시간 측정 구성요소(112)는 블록이 데이터 관리 시스템에(또는 버퍼(102)로 기록되는 간략화된 예에)-입력 시간 순간(Ta)에서- 입력되고 입력 시간 측정(mTa)으로서-또는 타임 스탬프- 이것을 지연 제어 구성요소(120)에 보낸다. 지정된 시간 순간(T1)에서, 예를 들어 블록이 버퍼(102)로부터 판독된 후 바로, 버퍼 필링 측정 구성요소(110)는 상기 버퍼에서 데이터 유닛들의 양(F)을 측정하고, 지연 제어 구성요소(120)에 필링 측정(mF)를 보낸다. 필요한 경우, 판독 시간(Tr)은 또한 판독 시간 측정 구성요소(160)에 의해 지연 제어 구성요소(120)로 보내질 수 있다. 지연 제어 구성요소(120)는 상기 버퍼에서 데이터 유닛들의 여분의 양(dF)이 식 1에 따라 정확한지의 여부를 계산한다. 그렇지 않은 경우, 그것은 각각이 보다 적은 샘플들을 보다 많이 판독하고 그것들을 적절한 데이터 출력 레이트(Ro)로 변환하기 위해 제어 신호(C)를 통해 데이터 레이트 변환 구성요소(108)에 지시한다. 제 2 클럭(clk_2)이 ppm들의 순서에 따라 프랙션 만큼만 느리게 작동할 때, 데이터 레이트 변환 구성요소(108)는 바람직하게 이격된, 기록/판독 사이클들의 적은 프랙션으로 VCO 클럭을 변경만하거나 샘플들을 보간만 할 것이다. 설명된 기법은 실제로 기법 유지 dF - Tact R + Tnom R = 0 이다. 여분의 양(dF)이 또한 직접적으로 계산될 수 있고 어떠한 레이트 변환 기법이 이러한 계산들을 이용할 수 있다는 것에 주의해야 한다. 이러한 간략화된 기술에 있어서, 어떠한 가변적인 지연들도 버퍼(102)로의 기록 단계 이전 또는 버퍼(102)로부터의 판독 단계 이후 가정되지 않는다. 명확하게는, 상기 시스템은 버퍼(102)로부터 판독의 제어(즉, 필링의 제어)에 의해 보상될 수 있는 지연의 추가적인 소스들이 존재하는 경우, 또는 보다 많은 제어 가능한 버퍼들이 바람직한 경우 특별히 사용가능하다.
도 5는 디지털 오디오 수신기(500)에 포함된 것과 같은 버퍼 관리 시스템(100)의 실시예를 도시하고 있다. 무선 디지털 오디오 스트림은 안테나(130)를 통 해 들어온다. 무선 수신 구성요소(502)는 필요한 튜닝 및 복조를 수행한다. 그것의 출력(503)에서 디지털 대역폭 전송 스트림이 나타난다. 동기화 구성요소(504)는 비트 및 프레임 동기화, 즉 샘플링이 발생하기 전에 송신기의 클럭의 회복을 수행하도록 배열된다. 전형적으로, 본 기술 분야에 공지된 바와 같은 각각의 블록-또한 종종 프레임이라 불림- 이전에 바커 시퀀스와 같은 동기화 워드가 사용된다. 동기화 구성요소(504)는 또한 스터핑 비트(stuffing bit)들을 제거할 수 있다. 송신기 측에서 CD 재생기의 클럭은 1.4 Mbit/s의 클럭 레이트를 갖고, 송신기 클럭은 140 kbit/s에서 송신하며, 이러한 클럭은 가능한 한 상기 CD 재생기 클럭으로부터 얻어지거나 독립적으로 생성된다고 가정한다. 상기 송신기가 데이터의 블록을 전송하기 원할 때의 시간 순간에서의 경우에, 그에 따라 상기 송신기는 스터핑 비트들을 갖는 잃어버린 샘플들을 채울 수 있다. 상기 스터핑 비트들의 제거 후에, 상기 데이터는 송신기의 클럭 도메인에서 보다는 CD 재생기와 같은 오디오 소스 장치의 클럭 도메인에서 다시 수신기 측에 있고, 그것은 전형적으로 1000 ppm 즉 0.1% 까지의 상대적으로 큰 허용한계들을 갖는 이러한 소스 장치 클럭이다.
그 후에, 상기 블록들은 수신기 버퍼(506)에 기록된다. 오디오 전송 스트림(ATS) 디코더(508)는 모든 전송 프로토콜 데이터를 스트립하고, ATS 버퍼(510)에 계속적인 블록들을 기록한다. 압축해제기(512)-예를 들어 서브 밴드 디코더-는 압축된 오디오 블록들을 압축해제하고 버퍼(102)에 PCM 오디오 블록들을 기록한다. 지연 제어 구성요소(120)의 제어 하에, 샘플 레이트 변환기(514)는 2개의 DAC 버퍼들(516, 518) 중 하나에 샘플들을 기록한다. D/A 변환기(522)는 대안적으로 제 1 DAC 버퍼, 제 2 DAC 버퍼(518)로부터 판독하고, 여기서 평균시간에서 다른 버퍼는 샘플들의 블록을 그것에 기록하는 단계에 의해 채워진다. 이것은 제어가능한 스위치(520)를 통해 실현된다. 좌측 증폭기(526) 및 우측 증폭기(524)에 의한 증폭 후에, 아날로그 오디오 신호들, 예를 들어 좌측(L) 및 우측(R) 신호는 그에 따라 헤드폰들(530)의 좌측 확성기(532) 및 우측 확성기(534)로 보내진다. 대안적으로, 상기 수신기는 또한, 상기 오디오 신호가 확성기(528)에 보내지는 경우에서 확성기의 캐비넷(540)에 결합될 수 있다. 수신기(500)는 예를 들어 최초의 장비 제조업자의 확성기 캐비넷(540)에 결합될 OEM 모듈로서 제조될 수 있거나, 그것은 예를 들어 헤드폰들(530)의 수행된 커넥터에 부착될 모듈에서의 플러그일 수 있고, 후자는 최종 소비자가 그의 시스템을 업그레이드하는 것을 편하게 한다. 단순성을 위해 도 1에 이미 도시된 측정 구성요소들로의 접속들이 다시 도시되지 않았고, 이하 도 8에 예시된 진보된 예에서 요구되는 여분의 측정 접속들만이 도시되어 있다.
도 8과 관련하여, 보다 복잡한 예시적인 일정한 지연 기법은 버퍼(102) 이전 및 이후 지연의 예를 고려하여 기술되어 있다.
제 1 시간 순간(802)에서, 워드-또는 워드들의 프레임-는 수신 버퍼(506)에 기록된다. ATS 프레임이 한쪽에 128개 샘플들로 구성되고 다른쪽에 24 비트의 152워드들, 즉 3648 비트들로 구성되는 것으로 가정된다. 이러한 수는 팩터(4)의 오버샘플링을 포함한다는 것에 주의한다. 매 초마다 들어오는 250개 프레임들이 존재한다. 제 2 시간 순간(804)에서, 전송 데이터가 스트립되었고, 오디오 컨텐츠는 ATS 버퍼(510)에 기록된다. 제 3 시간 순간(806)에서, 상기 오디오는 압축해제되었고 최종적으로 버퍼(102)에 기록된다. 상기 시스템이 32 kHz, 즉 매 초당 32000 샘플들에서 작업하는 경우, 버퍼(102)에서 양(F) 샘플들은 F/32000 초의 제 1 부분적 지연(890)에 대응한다. 전송 스트림 디코더(508) 및 압축 해제기(512)의 프로세싱 및 스케쥴링에 의해 유입된 지연은, 압축 해제기(512)가 버퍼(102)에 블록을 기록한 후에 실질적으로 즉시 수신 버퍼(506)에서 남겨진 워드들의 양(W)을 측정하도록 바람직하게 배열된 디코딩 지연 측정 구성요소(599)에 의해 측정될 수 있다. 초당 250개 프레임들 및 프레임당 152 워드들이 존재하기 때문에, 이것은 W/(250*152) 초의 제 2 부분적 지연(820)에 대응한다.
버퍼 필링 양(F)에 상관없이, 샘플은 Tr-Tw의 시간 차이(판독 시간 순간(810)-제 3 또는 기록 시간 순간(806))에 대응하는 판독 기록 지연(822)을 경험한다. 상기 버퍼에 F 샘플들이 존재하는 경우, 이것은 항상 F/32000의 여분의 부분적 지연을 받아들인다. 제 4 시간 순간(808)에서, DAC는 또 다른 DAC 버퍼로 스위치한다. 이론적으로, 이러한 제 4 시간 순간(808) 바로 이전에 판독 시간 순간(810)(도 1에서 Tr)일 수 있고, 추가적인 지연이 존재하지 않을 것이다. 그러나, 상기 블록 판독 단계가 또 다른 시간 순간에서 발생하는 경우, DAC 버퍼(예를 들어 514) 내 버퍼(102)로부터의 상기 블록 판독이 최종적으로 디지털/아날로크 변환에 대해 액세스될 때 까지 추가적인 DAC 지연(824)이 존재한다. 2개의 DAC 스위치들 사이의 시간은 4 ms 이다.
전체 지연은 다음의 식(식 2)을 통해 획득될 수 있다.
△ = W/(250*152) + F/32000 + (Tr-Tw) + (TnxtDACint-Tr) 식 2
DAC 스위치 시간은 다음 DAC 버퍼 스위치 시간(TnxtDACint)를 산출하는 DAC 스위치 시간 측정 구성요소(598)에 의해 측정된다.
가장 불량한 경우의 분석은 많은 예에 대해 8 ms의 일정한 엔드 투 엔드 지연이 바람직하다는 것을 알게 해준다. 식 2의 제 1, 특히 제 3 및 제 4 항들이 8 ms의 일정한 지연을 얻기 위해 보다 적은 지연을 받아들이는 경우, 이것은 버퍼(102) 내 양(F)에 따른 증가에 의해 달성되어야하므로, 판독된 샘플들의 수에서 일시적 증가 및 동반하는 데이터 레이트 변환 기법에 의해 달성되어야 한다. 바람직하게는, 알고리즘은 제어 알고리즘이다: F가 최근의 지연이 실질적으로 8 ms와 동일하고 아무것도 이루어지지 않는 경우, 그러나 SCR가 다운샘플링 모드로 되는 상기 지연이 너무 높은 경우와 반대로도 마찬가지인 경우. 획득된 정확성은 고품질 스테레오 또는 서라운드 음향 애플리케이션들에 대해 충분한 약 2개의 샘플들이다.
동기화 구성요소(504), 전송 스트림 디코더(508), 압축 해제기(112), 데이터 레이트 변환 구성요소(108), 지연 제어 구성요소(120), 및 측정 구성요소들(112, 110, 160, 598, 599)는 모두 프로세서(예를 들어 DSP)상에 또는 하드웨어(예를 들어 ASIC)에서 실현될 수 있다.
도 11은 본 발명에 제시된 버퍼 관리 시스템이 유리하게 사용될 수 있는 무선 가정 내 오디오 전송에 대한 전형적인 애플리케이션을 도시하고 있다. 상기 애플리케이션은 스테레오 오디오 소스와, 좌측 및 우측 오디오 채널 각각을 재생하는 2개의 수신 유닛들(1110, 1120)을 포함하는 오디오 소스 유닛(1100)으로 구성된다.
소스 유닛(1100)에 있어서, 오디오 샘플 클럭(clk_1)을 갖는 예를 들어 CD 재생기(1101)는 좌측 및 우측 오디오 정보와 샘플 클럭 레이트 정보를 전달하는 디지털 접속(1102)에 의해 기지국(1103)에 접속된다. 기지국(1103)은 수신 유닛들(1110, 1120) 양자에서 안테나(1104)를 통해 오디오 데이터의 무선 전송을 위해 배열된 집적된 송신기 유닛을 갖는다. 대부분의 무선 시스템들에 있어서, 기지국(1103)은 효율적으로 사용가능한 RF 스펙트럼 주파수들을 이용하도록 비트 레이트 감소(예를 들어 MP3 또는 SBC 인코딩)를 위한 수단과, 수신 엔드에서 데이터 복구를 인에이블하기 위한 프레임 포맷팅 수단을 포함할 것이다. 인코딩된 좌측 및 우측 오디오 채널들은 그것들이 수신 안테나들(1111, 1121) 상에서 대략적으로 동일한 시간 순간에 도착하도록 함께 방송된다. 수신 유닛들(1110, 1120)은 수신된 오디오 데이터를 디코딩하고, 각각의 확성기(1113, 1123)에 DA 변환기를 통해 좌측 및 우측 오디오 채널의 디코딩된 오디오 샘플들을 적용한다. 각각의 목적지 유닛(1112, 1122)은 로컬 DA 클럭(clk_2a, clo_2b)를 갖는다(이것은 상기 수신기들에서 활동들에 대해 마스터 클럭으로 취해진다). 이러한 로컬 클럭은 clk_1로서 동일한 명목상의 값을 갖지만, 그것의 주파수는 허용한계들, 온도 효과들 및 시효로 인해 상기 명목상의 값으로부터 1000 ppm(0.1%)만큼 벗어날 수 있다.
도 10은 도 9의 시스템(및 도 5의 수신기(500))에 대한 데이터 흐름을 도시하고 있다. 도 10(a)에 있어서, 기지국(1103) 내 데이터 흐름이 도시되어 있다. 좌측 및 우측 채널에 대한 오디오 샘플들(1201)은 샘플 레이트(clk_1)를 갖는 상기 기지국으로 들어간다. 오디오 인코더(1202)가 5의 팩터를 통해 비트 레이트를 감소시키도록 사용된다고 가정된다. 추가적인 가정은 상기 오디오 인코더가 60개 오디 오 샘플들의 입력 블록 사이즈를 통해 작업하고(60개 샘플들이 화살표(1203)로 도시되는 오디오 인코더로 전송된다), 상기 오디오 샘플들(예를 들어 16 비트들)로서 동일한 수를 데이터당 갖는 12 개 데이터 유닛들(1204)의 출력 블록 사이즈를 결과로 나타낸다. 인코딩된 오디오 데이터의 새로운 블록이 시작될 때를 결정하도록 수신 유닛들을 인에이블하기 위해, 3개의 싱크 유닛들의 블록(1205)(데이터 유닛당 동일한 수를 갖는) 및 12개 데이터 유닛들의 블록(1204)은 오디오 전송 스트림(ATS) 프레임(1206)에서 ATS 프레임 생성기(1207)에 의해 함께 패킹된다. 이것은 상기 프레임을 함께 구성하는 작은 프로세싱 블록이다. 싱크 블록(1205)은 비트 동기화 및 프레임 동기화에 대한 시퀀스(504)(예로써 바커 시퀀스)를 포함할 수 있지만, 또한 다른 시스템 특정 정보를 포함할 수 있다. 이러한 예에 대해 선택된 피겨들을 통해, 상기 데이터 유닛 샘플-전송 TX 레이트와 동일한-은 오디오 샘플 레이트(clk_1)의 1/4이다(clk_1로부터 얻어짐). 도시된 상기 예에 대해서, ATS 프레임은 오디오 인코더(1202)의 입력 블록들(1201)과 고정된 위상 관련을 갖고, 상기 소스 유닛의 입력 버퍼로 들어가는(접속(1102)을 통해) 블록 N(1208)의 제 1 오디오 샘플(S1N)과, 상기 소스 유닛(송신기 유닛 및 송신 안테나(1104)에서의 출력 버퍼를 떠나는 샘플 S1N(1209)의 인코딩된 버전 사이의 고정된 TX 지연(1207)을 결과로 나타낸다.
버퍼 관리 시스템은 또한 오디오 클럭(clk_1)으로부터 독립하는 데이터 유닛 샘플 클럭으로 작업할 수 있다. 이러한 경우에, ATS 프레임 내 갭들은 상기 데이터 유닛들의 추가적인 프로세싱 이전에 수신 엔드에서 제거되어야 하는 스터핑 비트들 로 선택적으로 채워질 수 있다.
보다 일반적인 경우에서, TX 지연(1207)은 가변적일 수 있다. 전체의 일정한 엔드 투 엔드 지연이 요구되는 경우(예를 들어, 소스 측에서 TV 픽쳐를 통해 립 싱크 문제점들을 회피하기 위해), TX 지연(1207)의 가변적인 부분은 수신 유닛들에서 버퍼 관리 시스템의 적절한 구현에 의해 보상될 수 있다. 입력 시간 순간(Ta)이상기 송신기에서 측정되는 경우(즉, 예를 들어 CD 재생기를 떠나는 데이터 유닛의 시간 순간, 타임스탬프로 상기수신기에 보내는), 또는 버퍼 관리 시스템(100)과 같은 상기 수신기에서 대신에 버퍼 관리 시스템(100)에서 적어도 유도가능한 어느곳에서 실현된다.
하나의 ATS 프레임에서 다중 SBC 블록들을 패킹하는 것이 또한 가능하다. 이러한 경우에서, 수신 유닛(들)에서 버퍼 관리 시스템의 알고리즘은 이러한 (공지된) 프레임 구조를 고려해야 한다.
수신 유닛들(1110, 1120)은 기지국(1100)에 의해 그것들이 전송되는 바와 같은 거의 동일한 시간 순간에서 ATS 프레임들을 수신한다. 이것은 송신되고(도 10(a) 및 수신되는(도 10(b) 및 도 10(c)) 데이터 스트림들(화살표 1299) 내 기준 샘플(S1N)의 상대적인 위치에 따라 도 10(b) 및 도 10(c)에 도시되어 있다. ATS 디코더 유닛들(1222, 1242)은 그것들이 입력 버퍼들에서 수신되고 그것들이 동기화 심볼을 기대하기 때문에 데이터 스트림들(1221, 1241)을 시험한다. 비트 및 프레임 동기화 후에, 데이터 블록 유닛들(1223, 1243)의 시작이 알려지고, 오디오 디코더 유닛들(1224, 1244)은 12개 데이터 유닛들이 사용가능할 때 데이터의 블록을 디코 딩하기 시작할 수 있다. 디코딩 후에, 60개 오디오 샘플들은 상기 출력 버퍼에 블록들(1224, 1245)로 기록될 것이다. 목적지 유닛(1110)에 있어서, 좌측 오디오 채널의 샘플들만이 사용될 것이고, 목적지 유닛(1120)에서 우측 오디오 채널의 샘플들만이 사용될 것이다.
clk_2a 및 clk_2b가 clk_1과 정확하게 동일한 경우, DAC 및 확성기(1113, 1123)에서 블록 N(1228, 1248)의 인코딩된 제 1 샘플 S1N을 수신하는 단계와 블록 N(1229, 1249)의 이러한 디코딩된 제 1 샘플 S1N 사이의 RX 지연(1226, 1246)은 수신 유닛들(1110, 1120) 양자에 대해 동일하다. 이러한 경우에서, 양자의 스피커들 사이에 위상차는 존재하지 않을 것이다.
반대로, -예를 들어-clk_2a가 clk_1 보다 더 빠른 경우(도 10(b)), 출력 블록들(1225)은 (점선들로 표시된 블록 에지들을 통해) 보다 짧을 것이고, RXa 지연(1226)은 명목상의 값보다 더 짧을 것이다. 상기 명목상의 값과 관련한 편차 da(1227)는 정확한 활동들이 취해지지 않는 경우 시간에 따라 축적될 것이다.
동일한 방식에 있어서, -예를 들어-clk_2b가 clk_1 보다 더 느린 경우(도 10(c)), 출력 블록들(1245)은 (점선들로 표시된 블록 에지들을 통해) 더 길어질 것이고, RXb 지연(1246)은 명목상의 값보다 더 길어질 것이다. 상기 명목상의 값과 관련한 편차 db(1247)는 정확한 활동들이 취해지지 않는 경우 시간에 따라 축적될 것이다.
clk_2a 및 clk_2b 사이의 클럭 차이들은 샘플 레이트 변환기(SRC)에 의해 보상될 수 있다. 도 10(b)의 예에 대해(clk_1보다 더 빠른 clk_2a), SRC는 DAC 버퍼 로 60개 샘플들(1225)을 기록하기 위해 SRC 버퍼로부터 60개 샘플들 이상을 판독할 수 있으므로, 시간 차이를 보상한다. 도 10(c)의 예에 대해(clk_1 보다 더 느린 clk_2b), 60개출력 샘플들을 생성하기 위해 60개 샘플들 보다 더 적은 판독 단계가 예시되어 있다.
바람직하며 안정된 스테레오 이미지를 얻기 위해서, 클럭 도메인들 clk_2a(1110) 및 clk_2b(1120)에서 오디오 신호들이 서로 고정된 위상 관련을 갖고 소스(1100) 내 오디오 신호들과 고정된 위상 관련을 가질 필요가 있다.
SRC 제어에 대한 공지된 알고리즘들은 이러한 알고리즘들이 단지 2개의 클럭 도메인들(예를 들어 clk_1을 갖는 clk_2a 또는 clk_1을 갖는 clk_2b) 사이에 동기화를 위해 디자인되기 때문에 이러한 동기화를 위해 사용될 수 없다. 본 발명에 제시된 버퍼 관리 시스템은 상기 도메인들 사이의 물리적 접속이존재하지 않는 경우조차도, 다중 클럭 도메인들(clk_1를 갖는 clk_2a 및 clk_2b, 그리고 또한 서로서로) 사이에 동기화를 제공할 수 있다.
일정한 RX 지연(1226, 1246)을 얻기 위한 동기화 메카니즘-TX 지연(1207)이 도 10(a)에 도시된 바와 같이 일정하다고 가정-은 도 11에 도시된 데이터 흐름도를 통해 설명될 것이다. 그것은 도 5에 도시된 바와 같은, 가능한 수신기 구현에 기초한다.
무선 수신 구성요소(502)로부터, 상기 수신된 데이터 스트림은 Clk_1/4와 동일한 기록 레이트(Wr')에서 버퍼(506)를 수신하기 위해 데이터 유닛당 데이터 유닛이 기록된다(도 10(b) 또는 도 10(c) 참조). 동기화 구성요소(504)는 12개 유닛들 의 새로운 데이터 블록이 압축해제 또는 디코딩 동안 사용가능할 때 싱크 데이터 유닛들을 제거하고 압축 해제기(512)를 개시한다. 상기 압축해체된 오디오 데이터는 SRC 버퍼(102)에 저장된다.
DAC 버퍼가 비어있을 때, DAC 인터럽트, 예를 들어 DAC 인터럽트 N-1(DAC int N-1)가 발생된다. 그 순간에, 버퍼 관리 시스템(100)은 데이터 블록(N)의 제 1 샘플(S1N) 및 DAC 인터럽트 사이의 시간 차이인 Tarrival를 측정 또는 계산한다. 이러한 구현에 대해, 상기 데이터는 Tarrival이 블록(N)(마지막 싱크 블록 후의 제 1 샘플인)의 제 1 샘플(S1N)로부터 카운팅하는 수신된 워드들(샘플들)의 수(W)에 의해 또한 표현될 수 있도록 공지된 (명목상의) 레이트 Clk_1/4에서 단조롭게 수신 버퍼(506)로 들어간다. 데이터가 단조롭게 수신되지 않는 경우 및/또는 송신기 지연이 가변적인 경우, Tarrival은 그것이 상기 소스 유닛의 입력 스트림(1201) 내 제 1 샘플(S1N) 및 상기 수신 유닛 내 DAC 인터럽트(N-1) 사이의 지연의 가변적인 부분을 표현하는 방식으로 계산되어야 한다.
DAC 인터럽트(N-1)는 SRC 버퍼(102)로부터 샘플들의 가변적인 양을 판독하는 SRC 블록을 개시하고, 이러한 샘플들을 비어있는 DAC 버퍼(이러한 예에서 DAC2 버퍼)로 기록한다. 완전한 DAC 버퍼를 출력하기 위해 필요한 시간(Tdecode)은 상기 수신된 데이터를 디코딩 및 프로세싱하는 동안 사용가능하다. 이러한 기간 동안, 3개의 프로세스들이 실행되어야한다:ATS 디코딩(그리고 상기 시스템이 계속해서 인 싱크인 경우의 입증), 오디오 디코딩(압축 해제), 및 샘플 레이트 변환. DAC 블록(60)당 샘플들의 수와 동일하고 고정된 경우의 Tdecode는 출력 클럭 레이트(Clk_2) 에 의해 나눠진다.
DAC 인터럽트(N-1) 후 그리고 SRC 후에, 상기 수신기 시스템은 ATS 프로세서가 데이터 블록(N)의 디코딩을 개시할 때까지 기다릴 것이다. 이것은 블록(N)의 마지막 데이터 유닛이 수신된 후에 이루어질 것이다. 디코딩 후에, 블록(N)의 제 1 샘플(S1N)은 위치(31) 상의 SRC 버퍼 내에 있을 것이다(예에서 F=30). SRC가 60개 샘플들의 블록들을 판독하기 때문에(보정이 요구되지 않는 경우의 일반적인 상황에서), 샘플(S1N)은 DAC1 버퍼(N)의 중앙에 위치될 것이다. 이러한 샘플은 DAC 인터럽트(N+1)가 따르는 기간에서 DAC로 보내질 것이다. SRC 버퍼(102)에 남아있는 샘플들(S1N) 및 디지털/아날로그 변환기(522)에 보내지는 샘플(S1N) 사이의 시간 차이(Tleave)가 출력 클럭 레이트(Clk_2)에 의해 SRC 버퍼(102) 내 샘플들(F)의 수를 나눔으로써 계산될 수 있다.
그러므로, RX 지연은 다음에 따라 계산될 수 있다:
RX 지연 = Tarrival + Tdecode + Tleave 식 3
또는 RX 지연 = 4*W/Clk_1 + 60/Clk_2 + F/Clk_2 식 4
그러므로, 일정한 RX 지연은 다음 공식이 만족되는 경우 달성될 수 있다:
4*W + F = DR(지연 기준) = 상수 식 5
계산적인 예에서 팩터(4)는 60 대 12 데이터 유닛들이고 3개의 싱크 유닛들이다.
결과적으로, W가 1 유닛에 의해 변하는 경우, 4개 유닛들에 의해 다른 방향에서 F를 변경함으로써 보정되어야 한다. 이것은 SRC 버퍼로부터 0개 샘플들 대신 에 56개 또는 64개 샘플들을 판독함으로써 이루어질 수 있다.
도 11에 도시된 예에 대해, DR = 58 이다. 명목상의 경우에서(보정이 필요하지 않음), SRC에 의해 판독될 샘플들의 수는 DAC 버퍼(60)에 기록될 샘플들의 수와 동일하다. 도 11의 나머지 부분에 있어서, 그러한 명목상의 조건은 W = 6 및 F = 94에 의해 표현된다. Clk_2 가 Clk_1 보다 더 느리게 작동하는 경우, 이것은 W = 6 대신에 값 W = 7을 판독함으로써 제시된 순간에서 검출될 것이다. 이것은 δT = 4/Clk_1을 통한 양 δT에 의해 지연되는 DAC 인터럽트(N-1)를 결과로 나타낸다. 이러한 편차는 버퍼 관리 시스템(식 3)에 의해 검출될 것이고 SRC 블록에 의해 64개 샘플들의 판독 단계를 결과로 나타낸다. 그러한 의도는 도 11의 우측에 도시된 바와 같이, 새로운 고정된 상태 조건 위트 W= 7 및 F = 90를 나타낼 것이다. 어떠한 보정도 더이상 요구되지 않고 다시 60개 샘플들이 SRC 버퍼로부터 판독될 수 있도록 이러한 피겨들이 식 5를 만족시킨다는 것에 주목할 수 있다.
제시된 버퍼 관리 시스템이 이러한 방식으로 거의 일정한 RX 지연을 제공하는 것을 알 수 있다. Tarrival 측정의 정확성에 의해 주로 야기되는 δT를 통해 그것에 대해 얼마간의 지터(δT)가 있을 수 있다. Tarrival이 불안한 경우(데이터 블록들이 블록과 같고 단조롭지 않게 RX 버퍼 블록에 들어가는 경우의 상황일 수 있는), 몇개의 추가적인 저역 통과 필터링 또는 다른 수단이 RX 지연 상의 지터를 감소시키기 위해 사용될 수 있다. 이러한 메카니즘이 단지 몇개의 오디오 샘플들의 신호들 양자 사이의 시간 지터를 통해, 확성기들(1113, 1123)에서 나오는 오디오 신호들 사이의 안정된 위상 관계를 획득하도록 허용한다는 것이 명백하다.
컴퓨터 프로그램 제품은 발명의 특징적 기능들의 어떠한 것을 실행하기 위해, 프로세서로 명령들을 얻기 위한 일련의 로딩 단계들 후에, 프로세서-일반적이거나 특별한 목적-를 인에이블하는 명령들의 집합의 어떠한 물리적 실현을 이해되어야 한다. 특별히, 컴퓨터 프로그램 제품은 디스크 또는 테이프와 같은 캐리어 상의 데이터, 메모리에 존재하는 데이터, 네트워크 접속에 걸쳐 트래블링하는 데이터-유선 또는 무선-이거나, 페이퍼 상의 프로그램 코드로서 실현될 수 있다. 프로그램 코드와는 별도로, 프로그램에 대해 요구되는 특징적인 데이터는 또한 컴퓨터 프로그램 제품으로 구체화될 수 있다.
상술된 실시예들은 본 발명을 제한하기 보다는 예시적인 것이라는 것에 주의한다. 특허청구범위 내에 결합된 바와 같은 본 발명의 요소들의 조합들과는 별도로, 그 요소들의 다른 조합들이 가능하다. 요소들의 어떠한 조합도 단일 전용 요소에서 실현될 수 있다.
특허청구범위 내 괄호안의 참조 기호는 특허청구범위를 제한하도록 의도되지는 않는다. 단어 "포함하다"는 청구항에 열거된 측면들 또는 요소들의 존재를 배제하지 않는다. 단수 표현은 복수의 그러한 요소들의 존재를 배제하지 않는다.
본 발명은 프로세서 상에서 작동하는 소프트웨어에 의해 또는 하드웨어에 의해 구현될 수 있다.

Claims (10)

  1. 데이터 통신 시스템에서 버퍼 관리 시스템(100) 내의 입력과 상기 버퍼 관리 시스템(100)으로부터의 출력 사이의 데이터 유닛(150)의 지연(△)을 제어하는 상기 버퍼 관리 시스템(100)으로서,
    입력된 데이터 유닛들(150, 152)의 블록들(104, 106)이 블록 기록 레이트(Rw)로 기록되고, 데이터 유닛들(154, 156)이 판독 레이트(Rr)로 판독되는 버퍼(102);
    지정된 시간 순간(T1)에서 상기 버퍼(102) 내 데이터 유닛들의 양(F)을 결정하도록 배열되고, 필링 측정(mF)을 산출하는 버퍼 필링 측정 구성요소(110); 및
    상기 필링 측정(mF)에 기초하여, 상기 판독 레이트(Rr)와 상기 기록 레이트(Rw)의 비율을 세팅하도록 배열된 데이터 레이트 변환 구성요소(108)를 포함하는, 상기 버퍼 관리 시스템(100)에 있어서,
    입력 시간 측정 구성요소(112)는 상기 버퍼 관리 시스템(100) 내 상기 데이터 유닛(150)의 입력의 입력 시간 순간(Ta)을 측정하도록 배열되어 입력 시간 측정(mTa)을 산출하도록 포함되고,
    지연 제어 구성요소(120)는 상기 필링 측정(mF) 및 상기 입력 시간 측정(mTa)에 기초하여 상기 데이터 레이트 변환 구성요소(108)를 제어함으로써 상기 지연(△)을 제어하도록 포함되는 것을 특징으로 하는, 버퍼 관리 시스템(100).
  2. 제 1 항에 있어서,
    제 1 데이터 유닛(154)의 판독 시간 순간(Tr)을 측정하도록 배열되고 판독 시간 측정(mTr)을 산출하는 판독 시간 측정 구성요소(160)을 포함하고, 상기 지연 제어 구성요소(120)는 상기 판독 시간 측정(mTr)에 기초하여 상기 데이터 레이트 변환 구성요소(108)를 제어하도록 배열된, 버퍼 관리 시스템(100).
  3. 제 1 항 또는 제 2 항에 있어서,
    상기 데이터 레이트 변환 구성요소(108)는 전압 제어된 발진기를 포함하는, 버퍼 관리 시스템(100).
  4. 제 1 항 또는 제 2 항에 있어서,
    상기 데이터 레이트 변환 구성요소(108)는 샘플들의 제 1 수(140)로부터 샘플들의 제 2 수(142)를 생성하도록 배열된 샘플 레이트 변환기(514)를 포함하는, 버퍼 관리 시스템(100).
  5. 제 1 항에 있어서,
    상기 버퍼 관리 시스템(100)은 압축 해제기(512)를 포함하고, 상기 지연 제어 구성요소(120)가 디코더 및/또는 제 2 버퍼(506) 내에 있는 데이터 유닛들의 양(W)과 연관된 압축해제 지연에 기초하여 상기 데이터 레이트 변환 구성요소(108)를 제어하도록 배열된, 버퍼 관리 시스템(100).
  6. 제 1 항의 버퍼 관리 시스템(100)에 접속된 출력(503)을 갖는 무선 수신 구성요소(502)를 포함하는, 디지털 오디오 수신기(500).
  7. 제 6 항의 디지털 오디오 수신기(500)를 포함하는 헤드폰들(530)로서, 상기 디지털 오디오 수신기(500)의 출력이 상기 헤드폰들의 확성기에 접속되는, 상기 헤드폰들(530).
  8. 제 6 항의 디지털 오디오 수신기(500)를 포함하는 자립형 서라운드 음향 확성기 캐비넷(540)으로서, 상기 디지털 오디오 수신기(500)의 출력이 상기 캐비넷 내 확성기(528)에 접속되는, 상기 캐비넷(540).
  9. 데이터 통신 시스템에서 디지털 오디오 수신기(500) 내의 입력과 상기 디지털 오디오 수신기(500)로부터의 출력 사이의 데이터 유닛(150)의 지연(△)을 제어하는 방법으로서,
    입력된 데이터 유닛들(150, 12)의 블록들(104, 106)을 블록 기록 레이트(Rw)로 버퍼(102) 내에 기록하는 단계;
    지정된 시간 순간(T1)에 상기 버퍼(102) 내 데이터 유닛들의 양(F)의 필링 측정(mF)을 결정하는 단계;
    상기 필링 측정(mF)에 기초하여, 판독 레이트(Rr)와 상기 기록 레이트(Rw)의 비율을 세팅하는 단계; 및
    상기 버퍼(102)로부터 데이터 유닛들(154, 156)을 상기 판독 레이트(Rr)로 판독하는 단계를 포함하는, 데이터 유닛 지연 제어 방법에 있어서,
    상기 디지털 오디오 수신기(500) 내 상기 데이터 유닛(150)의 입력의 입력 시간 순간(Ta)의 입력 시간 측정(mTa)이 수행되고,
    상기 입력 시간 측정(mTa)에 또한 기초하여 상기 지연(△)이 상기 판독 레이트(Rr)와 상기 기록 레이트(Rw)의 비율을 세팅함으로써 제어되는 것을 특징으로 하는, 데이터 유닛 지연 제어 방법.
  10. 제 9 항의 방법을 실행하도록 프로세서를 인에이블하는 컴퓨터 프로그램 제품.
KR1020067002414A 2003-08-05 2004-07-28 버퍼 관리 시스템, 디지털 오디오 수신기, 헤드폰들,확성기, 버퍼 관리 방법 KR20060125678A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP03102434 2003-08-05
EP03102434.2 2003-08-05

Publications (1)

Publication Number Publication Date
KR20060125678A true KR20060125678A (ko) 2006-12-06

Family

ID=34112500

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020067002414A KR20060125678A (ko) 2003-08-05 2004-07-28 버퍼 관리 시스템, 디지털 오디오 수신기, 헤드폰들,확성기, 버퍼 관리 방법

Country Status (8)

Country Link
US (1) US20070008984A1 (ko)
EP (1) EP1654903A2 (ko)
JP (1) JP2007501428A (ko)
KR (1) KR20060125678A (ko)
CN (1) CN1830224A (ko)
BR (1) BRPI0413270A (ko)
RU (1) RU2006106703A (ko)
WO (1) WO2005013639A2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101117058B1 (ko) * 2007-03-14 2012-02-29 퀄컴 인코포레이티드 무선 링크된 이어피스를 갖는 헤드셋

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7672742B2 (en) * 2005-02-16 2010-03-02 Adaptec, Inc. Method and system for reducing audio latency
EP1905032A2 (en) * 2005-07-13 2008-04-02 Koninklijke Philips Electronics N.V. Method and apparatus for multi-layer disc recording
US7734674B2 (en) 2005-08-08 2010-06-08 Freescale Semiconductor, Inc. Fast fourier transform (FFT) architecture in a multi-mode wireless processing system
US7802259B2 (en) * 2005-08-08 2010-09-21 Freescale Semiconductor, Inc. System and method for wireless broadband context switching
US7653675B2 (en) * 2005-08-08 2010-01-26 Freescale Semiconductor, Inc. Convolution operation in a multi-mode wireless processing system
US20070033349A1 (en) * 2005-08-08 2007-02-08 Freescale Semiconductor, Inc. Multi-mode wireless processor interface
US8140110B2 (en) * 2005-08-08 2012-03-20 Freescale Semiconductor, Inc. Controlling input and output in a multi-mode wireless processing system
DE102006004342B4 (de) * 2006-01-30 2011-09-15 Sennheiser Electronic Gmbh & Co. Kg Drahtlos-Kopfhörereinrichtung
UA99649C2 (ru) 2008-04-07 2012-09-10 Косс Корпорейшн Беспроводной наушник, осуществляющий переход между беспроводными сетями, система и способ его реализации
US8208500B2 (en) * 2009-12-30 2012-06-26 Nxp B.V. Low-jitter end-to-end latency control scheme for isochronous communications based on transmitter timestamp information
JP2015510285A (ja) * 2011-12-02 2015-04-02 ノー ストリングス トイズ、 エルエルシー 無線デバイス及び制御方法
JP5397495B2 (ja) * 2012-04-03 2014-01-22 ヤマハ株式会社 データ配信システムおよび中継装置
EP2683116A1 (en) * 2012-07-02 2014-01-08 Thomson Licensing Method for monitoring a wireless link of a WI-FI node of a customer premises equipment device, and customer premises equipment device utilizing the method
US9514094B2 (en) * 2012-07-10 2016-12-06 Maxeler Technologies Ltd Processing data sets using dedicated logic units to prevent data collision in a pipelined stream processor
KR101409713B1 (ko) * 2013-01-22 2014-06-20 피앤피네트워크 주식회사 오디오 끊김 방지 기능을 구비한 오디오 신호 처리 시스템
US9377993B2 (en) 2013-08-16 2016-06-28 Dresser, Inc. Method of sampling and storing data and implementation thereof
EP2840721A1 (en) * 2013-08-23 2015-02-25 Harman Becker Automotive Systems GmbH Audio processing for frequency diversity receivers
EP3264644A1 (en) * 2016-07-01 2018-01-03 Nxp B.V. Multiple source receiver
CN108170398B (zh) * 2016-12-07 2021-05-18 博通集成电路(上海)股份有限公司 用于同步扬声器的装置和方法
CN109391578B (zh) * 2017-08-11 2022-07-22 华为技术有限公司 信号发送方法、信号接收方法、终端设备及网络设备
GB2571526A (en) 2018-02-28 2019-09-04 Sony Corp Data buffer and data buffer control
US10534573B2 (en) * 2018-05-29 2020-01-14 Sonova Ag Method for apparatus for sample rate conversion with unknown input and output clocks
CN114631296A (zh) * 2019-11-12 2022-06-14 索尼集团公司 数据处理设备、数据处理方法和数据处理程序

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BE1000415A7 (nl) * 1987-03-18 1988-11-22 Bell Telephone Mfg Asynchroon op basis van tijdsverdeling werkend communicatiesysteem.
JPH0564287A (ja) * 1991-08-30 1993-03-12 Kenwood Corp オーデイオアンプ
EP0784386A2 (en) * 1996-01-11 1997-07-16 Marikon Resources, Inc Wireless audio signal transmission system
US6965804B1 (en) * 1997-09-24 2005-11-15 Sony Corporation Buffer management system for digital audio
AU6206898A (en) * 1998-01-02 1999-07-26 Nokia Networks Oy A method for synchronization adaptation of asynchronous digital data streams
SG71835A1 (en) * 1998-09-07 2000-04-18 Victor Company Of Japan A dejittering and clock recovery technique for real-time audio/visual network applications
US6778499B1 (en) * 1999-06-18 2004-08-17 Nortel Networks Limited Method and apparatus for enabling the smooth transmission of bursty data in a wireless communications system
US6715007B1 (en) * 2000-07-13 2004-03-30 General Dynamics Decision Systems, Inc. Method of regulating a flow of data in a communication system and apparatus therefor
US6766376B2 (en) * 2000-09-12 2004-07-20 Sn Acquisition, L.L.C Streaming media buffering system
JP2002112383A (ja) * 2000-10-02 2002-04-12 Toshiba Corp 音楽再生装置及びオーディオプレーヤとヘッドフォン
WO2002050655A2 (en) * 2000-12-21 2002-06-27 Nokia Corporation Fifo buffer with output rate adjusting
JP2002268662A (ja) * 2001-03-12 2002-09-20 Sony Corp 音声データ受信方法及び音声データ受信装置
US6598132B2 (en) * 2001-07-18 2003-07-22 Zettacom, Inc. Buffer manager for network switch port
JP2003198517A (ja) * 2001-12-28 2003-07-11 Toa Corp 受信機及び無線伝送システム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101117058B1 (ko) * 2007-03-14 2012-02-29 퀄컴 인코포레이티드 무선 링크된 이어피스를 갖는 헤드셋
US8155335B2 (en) 2007-03-14 2012-04-10 Phillip Rutschman Headset having wirelessly linked earpieces
US8325935B2 (en) 2007-03-14 2012-12-04 Qualcomm Incorporated Speaker having a wireless link to communicate with another speaker

Also Published As

Publication number Publication date
BRPI0413270A (pt) 2006-10-10
US20070008984A1 (en) 2007-01-11
JP2007501428A (ja) 2007-01-25
WO2005013639A3 (en) 2005-04-21
WO2005013639A2 (en) 2005-02-10
EP1654903A2 (en) 2006-05-10
CN1830224A (zh) 2006-09-06
RU2006106703A (ru) 2006-07-10

Similar Documents

Publication Publication Date Title
KR20060125678A (ko) 버퍼 관리 시스템, 디지털 오디오 수신기, 헤드폰들,확성기, 버퍼 관리 방법
US8028097B2 (en) System and method for synchronizing audio-visual devices on a power line communications (PLC) network
JP3629253B2 (ja) 音声再生装置および同装置で用いられる音声再生制御方法
JP4649210B2 (ja) ビデオ信号の時間軸を修正するシステム
US7302396B1 (en) System and method for cross-fading between audio streams
KR20170113087A (ko) 오디오 재생을 위한 시스템 및 방법
US7106224B2 (en) Communication system and method for sample rate converting data onto or from a network using a high speed frequency comparison technique
US20040032922A1 (en) Communication system and method for sending and receiving data at a higher or lower sample rate than a network frame rate using a phase locked loop
KR100722707B1 (ko) 멀티미디어 신호를 전송하기 위한 전송 시스템
JP6807031B2 (ja) 信号処理装置、信号処理方法、およびプログラム
JP2009272945A (ja) 同期再生装置
US20040032883A1 (en) Communication system and method for generating slave clocks and sample clocks at the source and destination ports of a synchronous network using the network frame rate
CN113055312B (zh) 基于同步以太网的多路音频拾音方法和系统
WO2014128360A1 (en) Synchronization of audio and video content
JP4359024B2 (ja) 同期制御方法と装置およびそれを用いた同期再生装置およびテレビジョン受信装置
JP2007201983A (ja) 放送局同期方法、及び制御装置
JP4558486B2 (ja) 位相ロック・ループ、サンプル・レート変換、またはネットワーク・フレーム・レートから生成される同期クロックを用いて、ネットワーク・フレーム・レートでデータをネットワークに送信し、ネットワークから受信するための通信システム
JP2004264497A (ja) 音声復号装置
JP2005184383A (ja) リアルタイムデータ通信システム、リアルタイムデータ通信装置及びリアルタイムデータ通信方法
JP3977784B2 (ja) リアルタイムパケット処理装置及びその方法
JP2000122681A (ja) 音声データ同期再生装置
KR20070056547A (ko) 신호의 처리방법 및 장치
KR100527427B1 (ko) 고출력 및 고음질의 오디오를 재생하는 동영상 재생장치및 방법
KR100191314B1 (ko) 멀티채널 오디오신호의 재생장치

Legal Events

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