KR20080083206A - 오디오 신호의 타임-스케일링 제어 - Google Patents

오디오 신호의 타임-스케일링 제어 Download PDF

Info

Publication number
KR20080083206A
KR20080083206A KR1020087019311A KR20087019311A KR20080083206A KR 20080083206 A KR20080083206 A KR 20080083206A KR 1020087019311 A KR1020087019311 A KR 1020087019311A KR 20087019311 A KR20087019311 A KR 20087019311A KR 20080083206 A KR20080083206 A KR 20080083206A
Authority
KR
South Korea
Prior art keywords
time scaling
time
frames
change
determined
Prior art date
Application number
KR1020087019311A
Other languages
English (en)
Other versions
KR101002405B1 (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 KR20080083206A publication Critical patent/KR20080083206A/ko
Application granted granted Critical
Publication of KR101002405B1 publication Critical patent/KR101002405B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/04Time compression or expansion
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/02Speech enhancement, e.g. noise reduction or echo cancellation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/062Synchronisation of signals having the same nominal but fluctuating bit rates, e.g. using buffers
    • H04J3/0632Synchronisation of packets and cells, e.g. transmission of voice via a packet network, circuit emulation service [CES]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5603Access techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Quality & Reliability (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)
  • Stringed Musical Instruments (AREA)
  • Electrophonic Musical Instruments (AREA)
  • Electromechanical Clocks (AREA)

Abstract

패킷 교환형 네트워크를 통해 수신되는 프레임들의 시퀀스에 분산되어 있는 오디오 신호의 타임 스케일링을 제어하기 위해, 수신된 프레임들의 지연의 변화가 검출된다. 또, 검출된 변화를 보상하기 위해, 수신된 프레임들에 적용될 타임 스케일링의 양이 결정된다. 또한, 변화의 종류가 판단된다. 또, 결정된 양의 타임 스케일링이 이행될 타임 윈도의 길이가, 판단된 변화의 종류의 따라 결정된다.

Description

오디오 신호의 타임-스케일링 제어 {Controlling a time-scaling of an audio signal}
본 발명은 오디오 신호의 타임-스케일링 제어 방법에 관한 것이다. 마찬가지로 본 발명은 오디오 신호의 타임-스케일링을 제어할 수 있는 칩셋, 오디오 수신기, 전자 기기 및 시스템에 관한 것이다. 본 발명은 또한, 오디오 신호의 타임-스케일링을 제어하기 위한 소프트웨어 코드를 저장한 소프트웨어 프로그램 제품과도 관련이 있다.
오디오 신호의 타임-스케일링 (time-scaling)은, 인터넷 같은 패킷 교환형 네트워크를 통해 패킷 단위로 인코딩된 오디오 신호들을 수신하여, 그 인코딩된 오디오 신호들을 디코딩한 후 그 디코딩된 오디오 신호를 사용자에게 재생하도록 하는데 적합한 오디오 수신기 등에서 수행될 수 있다.
패킷 교환형 통신의 특성은 보통, 패킷들이 불규칙한 인터벌로 도달할 때 수신기에 의해 파악되는, 지터 (jitter)라고 알려진 패킷 전송 시간에의 변동을 가져온다. 패킷 손실 상황 외에, 네트워크 지터가, 특히 패킷 교환형 네트워크를 이용해 제공되는 대화형 음성 서비스들에 대해 주요한 장애가 되고 있다.
더 구체적으로 말하면, 실시간으로 동작하는 오디오 수신기의 오디오 재생 컴포넌트가 양호한 음질을 유지하기 위해 지속적 입력을 요한다. 단기의 간섭들조차도 피해야 한다. 따라서, 오디오 프레임들을 포함하는 어떤 패킷들이, 디코딩 및 추가 처리에 오디오 프레임들이 필요로 된 뒤에 도달될 때, 그 패킷들과 포함된 오디오 프레임들은 잃어버린 것으로 간주 된다. 오디오 디코더는 잃어버린 프레임들을 통해 운반되는 오디오 신호를 보상하기 위해 에러 은닉 (error concealment)을 수행할 것이다. 확실한 것은, 그러나 정도가 심한 에러 은닉 역시 음질을 저하시킬 것이라는 것이다.
일반적으로, 그래서 지터 버퍼가 불규칙한 패킷 도달 시간들을 감추고 디코더에 지속적 입력 및 이어지는 오디오 재생 컴포넌트를 제공하는데 활용된다. 지터 버퍼는 이를 위해 소정 시간 동안 들어오는 오디오 프레임들을 저장한다. 그 시간은 패킷 스트림의 최초 패킷 수신시의 시점에 특정될 수 있다. 그러나, 지터 버퍼는 추가 지연 성분을 만드는데, 이는 수신 패킷들이 추가 처리 전에 저장되기 때문이다. 이것이 단-대-단 (end-to-end) 지연을 증가시킨다. 지터 버퍼는 평균 버퍼링 지연 및, 그에 따른, 모든 수신 프레임들 중 지연 프레임들의 비율로서 특정될 수 있다.
고정 지연을 이용하는 지터 버퍼는 낮은 단-대-단 지연 및 적은 수의 지연 프레임들 사이에서 불가피하게 타협한 결과로서, 적절한 타협점을 찾는 것이 쉬운 작업은 아니다. 예상된 지터의 양이 소정 한계치 안에 있다고 평가될 수 있는 특별한 환경 및 어플리케이션들이 있을 수 있다고 해도, 일반적으로 지터는 0부터 수백 밀리초까지 - 심지어 같은 세션 안에서도 가변될 수 있다. 예상되는 최악의 시 나리오에 따라 지터를 커버하도록 충분히 큰 값으로 세팅된 고정 지연을 이용하는 것이 지연 프레임들의 수를 통제 상태로 유지시킬 것이지만, 동시에 자연스러운 대화를 불가하게 할 정도로 긴 단-대 -단 지연이 나타내게 될 위험도 존재한다. 따라서, 고정 버퍼링을 적용하는 것이, 패킷 교환형 네트워크 상에서 동작하는 대부분의 오디오 전송 어플리케이션들에 있어 최적의 선택은 아니다.
적응적 지터 버퍼가, 충분히 짧은 지연 및 충분히 적은 수의 지연 프레임들 사이에서의 밸런스를 동적으로 통제하는데 사용될 수 있다. 이 접근방식에서, 들어오는 패킷 스트림이 지속적으로 모니터되고, 버퍼링 지연은 그 들어오는 패킷 스트림의 지연 동향에서의 관측된 변화들에 따라 조정된다. 전송 지연이 증가하는 것 같거나, 지터가 점점 악화되고 있는 경우, 버퍼링 지연은, 네트워크 상태를 만족시키도록 증가된다. 반대 상황하에서, 버퍼링 지연은 감소될 수 있고, 그에 따라 전반적인 단대단 지연이 최소화된다.
오디오 재생 컴포넌트가 규칙적인 입력을 필요로 하므로, 버퍼 조정이 완벽하게 수월한 것은 아니다. 버퍼링 지연이 감소하는 경우, 그 짧은 버퍼링 지연을 보상하도록 재생 컴포넌트로 제공되는 오디오 신호가 단축되어야 한다는 사실, 및, 한편 버퍼링 지연이 증가하는 경우, 그 증가된 버퍼링 지연을 보상하도록 오디오 신호가 길어져야 한다는 사실로부터 문제가 발생한다.
VoIP (Voice over IP) 어플리케이션에 있어서, 불연속 전송 (DTX, discontinuous transmission)이 행해질 때 액티브 스피치 기간들 사이에 컴포트 (comfort) 잡음 신호의 일부를 버리거나 반복시킴으로써 버퍼 지연을 증가시키거나 감소시키는 상황에서 신호를 변경한다고 알려져 있다. 그러나, 그러한 방식이 항상 가능한 것은 아니다. 예를 들어, DTX 기능이 채용되지 않을지도 모르고, 혹은 DTX가 배경하에서 간섭하고 있는 화자 같은 쉽지않은 배경 잡음 상태로 인해 컴포트 잡음으로 스위치하지 않을 수도 있다.
버퍼 지연 변경을 다루는 보다 진보한 해법으로서, 신호 타임 스케일링이 사용되어 재생 컴포넌트로 전송되는 출력 오디오 프레임들의 길이를 바꾼다. 신호 타임 스케일링은 디코더 내부나 디코더 뒤의 후처리 유닛에서 구현될 수 있다. 이 방식에서, 정상 동작 중일 때보다, 지연을 감소시킬 때 지터 버퍼 내 프레임들이 디코더에 의해 더 자주 읽혀지며, 지연을 증가시키는 것은 지터 버퍼로부터 프레임 출력 레이트를 감속시킨다.
적응적 지터 버퍼 및 타임 스케일링 기능을 갖춘 오디오 수신기에서, 네트워크 상태 및 버퍼 상태가 일정하게 모니터 된다. 버퍼 및 네트워크의 상태에 기초해, 오디오 신호의 세그먼트(들)을 추가하거나 제거함으로써 오디오 신호에 대한 타임 스케일 변경이 수행되어, 버퍼 지연의 임의의 변동을 보상한다.
오디오 신호의 액티브 부분들에서 타임 스케일 변경을 수행할 때의 난제는, 인지되는 오디오 품질을 충분히 높은 수준으로 유지시켜야 한다는 데 있다.
본 발명의 목적은 오디오 신호에 적용되는 타임-스케일링 동작을 개선하는 데 있다.
본 발명의 또 다른 목적은, 타임 스케일링 된 오디오 신호의 오디오 품질을 최적화하는 데 있다.
오디오 신호를 스케일링하는 방법이 제안되며, 여기서 오디오 신호는 패킷 교환형 네트워크를 통해 수신되는 프레임들의 시퀀스로 분산되어 있다. 이 방법은 수신된 프레임들의 지연 변화를 검출하는 방법을 포함한다. 이 방법은 또한 검출된 변화를 보상하기 위해, 수신된 프레임들에 적용될 타임 스케일링의 양을 결정하는 단계를 더 포함한다. 이 방법은 또한 상기 변화의 종류를 판단하는 단계를 더 포함한다. 또 이 방법은 판단된 변화의 종류에 따라 정해진 양의 타임 스케일링이 이행될 타임 윈도 (time window)의 길이를 정하는 단계를 포함한다.
또, 적어도 한 칩을 가진 칩셋이 제안된다. 적어도 한 칩은 오디오 신호의 타임 스케일링을 제어하기 위한 타임 스케일링 제어 컴포넌트를 포함하고, 여기서 오디오 신호는 패킷 교환형 네트워크를 통해 수신되는 프레임들의 시퀀스로 분산된다. 타임 스케일링 제어 컨포넌트는 수신된 프레임들의 지연상의 변화를 검출하도록 구성된다. 타임 스케일링 제어 컴포넌트는 또한 검출된 변화를 보상하기 위해, 수신된 프레임들에 적용될 타임 스케일링의 양을 결정하도록 구성된다. 타임 스케일링 제어 컴포넌트는 또, 검출된 변화의 종류를 판단하도록 구성된다. 타임 스케일링 제어 컴포넌트는 또한, 정해진 변화의 종류에 따라 정해진 양의 타임 스케일링이 이행될 타임 윈도의 길이를 정하도록 구성된다.
또한, 오디오 신호의 타임 스케일링을 제어하기 위한 타임 스케일링 제어 컴포넌트를 포함하는 오디오 수신기가 제안된다. 오디오 신호는 패킷 교환형 네트워크를 통해 수신되는 프레임들의 시퀀스로 분산된다고 전제된다. 타임 스케일링 제어 컴포넌트는 상기 제안된 칩셋의 타임 스케일링 제어 컴포넌트와 대응되는 기능들을 구현하도록 구성된다. 그러나, 타임 스케일링 제어 컴포넌트가 하드웨어 및/또는 소프트웨어에 의해 구현될 수 있다는 것을 주지해야 한다. 타임 스케일링 제어 컴포넌트는 가령 칩셋에서 구현될 수도 있고, 아니면 상응하는 소프트웨어 프로그램 코드 컴포넌트들을 실행하는 프로세서에 의해 구현될 수도 있다.
또한, 오디오 신호의 타임 스케일링을 제어하기 위한 타임 스케일링 제어 컴포넌트를 포함하는 전자 기기가 제안된다. 오디오 신호는 패킷 교환형 네트워크를 통해 수신되는 프레임들의 시퀀스로 분산된다고 전제된다. 타임 스케일링 제어 컴포넌트는 상기 제안된 오디오 수신기의 타임 스케일링 제어 컴포넌트와 대응된다. 전자 기기는 가령 순수 오디오 처리 장치나, 모바일 단말이나 미디어 게이트웨이 등과 같은 보다 포괄적인 장치일 수 있다.
또, 오디오 신호를 전송하도록 구성된 패킷 교환형 네트워크, 패킷 교환형 네트워크를 통해 전송할 오디오 신호를 제공하도록 구성된 송신기, 및 패킷 교환형 네트워크를 통해 오디오 신호를 수신하도록 구성된 수신기를 포함하는 시스템이 제안된다. 수신기는 상기 제안된 오디오 수신기에 해당한다.
마지막으로, 오디오 신호의 타임 스케일링을 제어하기 위한 소프트웨어 코드가 판독가능 매체에 저장되어 있는 소프트웨어 프로그램 제품이 제안된다. 다시, 오디오 신호는 패킷 교환형 네트워크를 통해 수신되는 프레임들의 시퀀스로 분산된다고 전제된다. 프로세서에 의해 실행될 때, 소프트웨어 코드는 상기 제안된 방법을 구현한다. 소프트웨어 프로그램 제품은 가령, 오디오 수신기에서 구현될 메모리, 별도의 메모리 장치, 등등일 수 있다.
본 발명은 타임 스케일링 동작이, 상이한 유형의 상황들에 대해 상이하게 반응해야 한다는 생각에서 진행된다.
일반적으로, 타임 스케일링 동작은 적용된 타임 스케일의 변화가 가능한 한 작게 될 때 가장 우수한 오디오 품질을 가져온다. 예를 들어, 오디오 신호의 20ms 세그먼트를 25ms 세그먼트로 확장하는 것은 실질적으로 어떠한 품질 저하도 일으킨다고 예상되지 않지만, 20ms 세그먼트를 40ms 세그먼트로 확장하는 것은 오디오 품질상의 어떤 저하를 일으킬 가능성이 크다. 이것은, 약간 큰 타임 스케일링 요청을 일련의 보다 짧은 스케일링 단계들로 분할하는 것이 일반적으로 오디오 품질 면에서 명확한 이점을 제공한다는 것을 의미한다.
이러한 요건은 점진적 변화를 선호하는 것으로 보이지만, 언급한 점진적 변경의 이점에도 불구하고, 전송 지연 특성의 갑작스런 변화가 앞서 즉각적인 타임 스케일 변경을 요할 수가 있다. 즉각적으로, 단시간의 한도 내에서 변경을 수행하는 것이 소정의 품질 저하를 일으킬 수 있다고 하더라도, 점진적 변경으로 일어날 수 있는 프레임 또는 프레임들의 손실을 가져오는 버퍼 오버플로 (overflow)나 언더플로 (underflow)는 더 심각한 것일 수 있다.
따라서, 윈도형 (windowed) 타임 스케일링을 이용하여, 요망되는 타임 스케일링의 양뿐 아니라 타임 윈도, 즉, 스케일링이 수행될 시간 한도의 길이 역시 제공함으로써 타임 스케일링을 제어하도록 하는 것이 제안된다. 이것은 타임 스케일링이 타임 윈도에 들어맞는 최대한 많은 작은 단계들을 통해 수행될 수 있도록 한다.
본 발명의 이점은, 버퍼링 지연 및 지연된 오디오 프레임들의 양 사이에서 최적의 방식으로 타협이 유지될 수 있다는 데 있다. 타임 스케일링의 상응하는 제어를 통해, 상이한 버퍼 적응 전략들을 요하는 전송 특성들의 변화가 고려될 수 있다. 이것이 타임 스케일링 동작과 함께 파생되는 오디오 품질을 향상시킨다.
정해진 변화의 종류는, 정해진 타임 스케일링 양 (amount)에 비해 짧은 윈도를 요하는 종류이거나, 정해진 타임 스케일링 양에 비해 긴 타임 윈도를 허락하는 종류가 된다.
보다 짧은 타임 윈도를 요하는 변화의 종류는, 가령, 소정 값을 초과하는 지연 변화가 검출되는 경우에 주어지는 것으로 정해질 수 있다. 그러한 중대한 변화란, 패킷 교환형 네트워크상에서의 '통계적 (static)' 전송 지연의 변화를 가리킬 수 있다. 이와 달리, 혹은 그에 더하여, 보다 짧은 타임 윈도를 요하는 변화의 종류가, 가령, 지연 스파이크 (delay spike)가 검출되는 경우에 주어지는 것으로 정해질 수도 있다.
보다 긴 타임 윈도를 요하는 변화의 종류는, 가령, 지연된 프레임들의 변화 양이 검출되는 경우 주어지는 것으로 정해질 수 있다. 그러한 변화는 패킷 교환형 네트워크상에서의 변화된 지터를 가리킬 수 있다. 수신된 프레임들이 수신시 가변 버퍼 안에 버퍼링 될 때, 가령 점진적으로 변화하는 버퍼 점유도가 검출되는 경우 다른 선택사항 또는 부가 사항으로서, 보다 긴 타임 윈도를 허용하는 변화의 종류가 주어지도록 정해질 수 있다. 그러한 버퍼 점유도의 변화는 송신기 및 수신기 사이의 클록 편차 (clock drift)를 가리킬 수 있다.
수신된 프레임들은 정해진 길이의 타임 윈도 안에서, 정해진 양만큼 타임 스케일링 될 수 있다. 실질적 스케일링은 어떠한 적합한 방식으로든 수행될 수 있다. 각 스케일링 주기는 피치 (pitch) 주기의 어떤 적절한 배수 등에 해당할 수 있다.
타임 스케일링이 정확히, 실제 변화된 지연값을 가지고 수신되고 딜레이 변화가 검출된 프레임들에 대해 반드시 수행되어야 하는 것은 아니라는 것을 알아야 한다. 적어도 몇몇 시스템들 및 구현예들에서, 수신된 프레임들의 변화된 지연은, 가령 수신 통계치들에 기초하고, 그럼으로써 단일 프레임들의 지연에 우선적으로 기초하지 않고, 정해질 수 있다.
실질적 타임 스케일링을 위해, 타임 스케일 변경 후의 오디오 품질의 결과는 모든 오디오 콘텐츠들에 있어 동일하지 않다는 것이 추가로 고려될 수 있다. 예를 들어, 음성 신호들에 있어서, 과도기 (transient) 프레임들이나 유성 온셋들 (voiced onsets) 같은 소정 프레임 타입들은, 오디오 품질을 저하시키지 않도록 세심하게 다뤄짐이 바람직하다. 이는, 엄격한 품질 기준하에서, 최선의 결과가 소정 프레임들의 스케일링을 금지함으로써 달성될 수도 있다는 것을 의미한다. 특히, 타임 윈도의 소정 길이가 보다 긴 경우, 그 정해진 타임 윈도 안의 프레임들의 콘텐츠 타입이 가외로 판단될 수 있다. 그에 따라, 타임 윈도 내에서, 소정 타입의 콘텐츠를 가진 프레임들의 타임 스케일링은 회피될 수 있다.
타임 스케일링은 수신되어 가공된 (processed) 프레임들이 아닌, 수신된 프레임들에 직접 행해지지 않을 수 있다.
수신된 프레임들은 가령 수신시 가변 버퍼 안에서 버퍼링되고, 디코딩을 위해 가변 버퍼로부터 회수될 수 있다. 그런 다음 디코딩된 프레임들이 타임 스케일링을 거칠 수 있다. 이러한 선택적 사항은 특히, 타임 스케일링이 전용 프로세싱 블록, 즉 경계가 정해진 하드웨어 회로나 경계가 정해진 소프트웨어 코드를 통해 구현되는 경우 적합하다.
이와 달리, 타임 스케일링이, 가령 디코딩이나 트랜스코딩 기능 같은 다른 프로세싱 기능을 갖춘 결합 구성을 통해 구현될 수도 있다. 피치-동기식 (pitch-synchronous) 스케일링 기술을 스피치 디코더 등에 결합하는 것이 특히, 고품질의 타임 스케일링 능력을 제공하기 위해 선호되는 방식이다. 예를 들어, AMR 코덱과 함께 사용할 때, 이것은 낮은 프로세싱 로드 면에서 명백한 혜택을 제공한다.
타임 스케일링이 디코딩과 결합 될 때, 수신된 프레임들 역시 마찬가지로 수신시 가변 버퍼 안에 버퍼링되고, 디코딩을 위해 그 가변 버퍼로부터 회수될 수 있다. 이 경우는 그러나, 타임 스케일링을 거치는 프레임들이, 디코딩시 생성되는 선형 예측 (LP, linear prediction) 합성 필터 여기 (excitation)를 포함하는 프레임들일 수 있다.
본 발명은 어떤 타입의 오디오 코덱에나, 특히 배타적인 것은 아니지만 어떤 타입의 스피치 코덱에라도 적용될 수 있다. 또, 그것은 가령 AMR 및 VoIP에 대해서도 활용될 수 있다.
본 발명의 다른 목적들 및 특성들은 첨부된 도면들과 함께 고려된 이하의 상세 설명으로부터 자명하게 파악될 것이다. 그러나, 도면들은 다만 예시를 위해 도안된 것일 뿐, 첨부된 청구항들에 의해 참고될 본 발명의 한계를 정의한 것으로 해석되어서는 안 될 것이라는 것을 알아야 한다. 또, 도면들은 일정한 비례로 그려진 것이 아니고, 다만 여기 개시된 구조들 및 절차들을 개념적으로 예시하기 위해 그려진 것임을 알아야 한다.
도 1은 본 발명의 일실시예에 따른 전송 시스템의 개략적 블록도이다.
도 2는 도 1의 시스템의 오디오 수신기에 대한 세부사항을 도시한 것이다.
도 3은 도 1의 시스템의 오디오 수신기의 또 다른 세부사항을 도시한 것이다.
도 4는 도 1의 오디오 수신기의 동작을 예시한 흐름도이다.
도 1은 본 발명의 일실시예에 따라 개선된 타임 스케일링이 구현될 수 있는 전형적 전송 시스템의 개략적 블록도이다.
시스템은 오디오 송신기(111)가 있는 전자 기기(110), 패킷 교환형 통신 네트워크(120) 및 오디오 수신기(131)를 갖춘 전자 기기(130)를 포함한다. 오디오 송신기(111)는 인코딩된 오디오 데이터를 포함하는 오디오 프레임들을, 패킷 교한형 통신 네트워크(120)를 거쳐 오디오 수신기(131)로 전송할 수 있으며, 상기 각각의 패킷은 인코딩된 오디오 데이터를 갖춘 한 오디오 프레임을 포함한다.
오디오 수신기(131)의 입력은 오디오 수신기(131) 안에서 한편은 지터 버 퍼(132)와, 다른 한편은 네트워크 분석기(133)와 연결되어 있다. 지터 버퍼(132)는 디코더(134) 및 타임 스케일링 유닛(135)을 거쳐 오디오 수신기(131)의 출력에 연결된다. 네트워크 분석기(133)의 제어 신호 출력이 타임 스케일링 제어 로직(136)의 제1제어 입력에 연결되고, 지터 버퍼(132)의 제어 신호 출력이 타임 스케일링 제어 로직(136)의 제2제어 입력에 연결된다. 타임 스케일링 제어 로직(136)의 제어 신호 출력은 또, 타임 스케일링 유닛(135)의 제어 입력에 연결된다.
오디오 수신기(131)의 출력은, 가령 확성 스피커들같은 전자 기기(130)의 재생 컴포넌트(138)와 연결될 수 있다.
지터 버퍼(132)는 디코딩 및 재생을 위해 대기하는 수신 오디오 프레임들을 저장하는데 사용된다. 지터 버퍼(132)는 수신된 프레임들을 바른 디코딩 순서로 정렬하여 정렬된 프레임들 -또는 누락 프레임들에 대한 정보-를 요청이 있을 때 디코더(134)로 순차적으로 제공하는 기능을 가질 수 있다. 또, 지터 버퍼(132)는 자신의 상태에 대한 정보를 타임 스케일링 제어 로직(136)에 제공한다. 네트워크 분석기(133)가 프레임 수신 통계치 및 수신된 프레임들의 타이밍에 기초해 현재의 수신 특성들을 나타낸 일련의 파라미터들을 계산하여, 그 일련의 파라미터들을 타임 스케일링 제어 로직(136)에 제공한다. 수신된 정보에 기초해, 타임 스케일링 제어 로직(136)은 가변 버퍼링 지연의 필요성을 결정하여, 타임 스케일링 유닛(135)으로 해당하는 타임 스케일링 명령들을 제공한다. 사용하는 평균 버퍼링 지연이 반드시 입력 프레임 길이의 배수일 필요는 없다. 최적의 평균 버퍼링 지연은, 늦게 도달 하는 어떠한 프레임들도 없이 버퍼링 타임을 최소화하는 것이다.
재생 컴포넌트(138)에 의해 새 데이터가 요청될 때마다 디코더(134)는 버퍼(132)로부터 오디오 프레임을 수신한다. 디코더는 수신된 오디오 프레임을 디코딩하고 디코딩된 오디오 프레임을 타임 스케일링 유닛(135)으로 전달한다. 타임 스케일링 유닛(135)은 타임 스케일링 제어 로직(136)에 의해 명령된 스케일링을 수행한다, 즉, 그것은 디코딩된 수신 프레임들을 늘리거나 줄일 수 있다. 디코딩되고, 타임 스케일링 되었을 수 있는 프레임들이, 사용자에게 제공되도록 재생 컴포넌트(138)로 주어진다.
도 1의 제안된 오디오 수신기(131)의 구조는 단지 본 발명에 따른 전형적 오디오 수신기의 기본 로직 기능을 예시하기 위한 것이다. 실제 구현예에서는, 나타낸 기능들이 프로세싱 블록들에 대해 상이하게 할당될 수 있다. 다른 구조의 어떤 프로세싱 블록은 상술한 기능들 중 여러 가지들을 결합할 수 있다. 가령, 디코더와 결합된 타임 스케일링 유닛이 계산상으로 매우 효율적인 솔루션을 제공할 수 있다. 또, 추가적 프로세싱 블록들이 있을 수 있고, 버퍼(132) 같은 일부 구성요소들은 오디오 수신기(131)의 외부에 배치될 수도 있다.
제안된 시스템은 오디오 수신기(131)의 타임 스케일링 제어 로직(136) 및 타임 스케일링 유닛(135)을 제외하면, 오디오 데이터가 오디오 송신기로부터 오디오 수신기로 전송되는 일반적인 시스템과 똑같이 구현될 수 있다.
타임 스케일링 제어 로직(136)의 동작 세부사항들을 도 2에 제시하였다.
타임 스케일링 제어 로직(136)은 전자 기기(131)의 프로세서(200)에 의해 실 행될 수 있는 소프트웨어 코드에 의해 구현될 수 있다. 같은 프로세서(200)가, 가령 일반적으로 전자 기기(130)의 오디오 수신기(131)의 다른 기능들을 구현하는 소프트웨어 코드들을 추가로 실행할 수도 있다는 것을 알아야 한다. 이와 달리, 타임 스케일링 제어 로직(136)의 기능들이 가령 칩이나 칩셋 안에 집적된 회로 같은 하드웨어를 통해 구현될 수도 있다.
타임 스케일링 제어 로직(136)은 '타임 스케일링 양 (amount of time scaling)' 결정 컴포넌트(210) 및 이 결정 컴포넌트(210)에 연결된 '타임 윈도 길이' 결정 컴포넌트(211)를 포함한다. 네트워크 분석기(133) 및 지터 버퍼(132)와 연결된 타임 스케일링 제어 로직(136)의 제어 입력들은, 각자, 결정 컴포넌트(210)와 둘 다 연결되어 있다. 결정 컴포넌트(210)는 타임 스케일링 유닛(135)으로 주어지는 스케일링 요청을 출력한다. 결정 컴포넌트(211)는 타임 스케일링 유닛(135)으로 제공되는 타임 윈도 길이를 출력한다.
타임 스케일링 유닛(135)의 기능적 세부사항들이 도 3에 보여진다.
타임 스케일링 유닛(135)은 마찬가지로, 전자 기기(131)의 프로세서(200)에 의해 실행될 수 있는 소프트웨어 코드에 의해 구현될 수 있다. 같은 프로세서(200)가, 가령 일반적으로 전자 기기(130)의 오디오 수신기(131)의 다른 기능들을 구현하는 소프트웨어 코드들을 추가로 실행할 수도 있다는 것을 알아야 한다. 특히, 타임 스케일링 유닛(135)의 기능들을 구현하는 소프트웨어 코드가, 타임 스케일링 제어 로직(136)의 기능들을 구현하는 소프트웨어 코드와 같은 프로세서(200)에 의해 실행될 수 있다. 이와 달리, 타임 스케일링 유닛(136)의 기능들은 타임 스케일링 제어 로직(136)의 기능들이 집적되어 있는 동일 칩이나 칩셋 같은 한 칩 또는 칩셋 안에 집적된 회로 등의 하드웨어를 통해 구현될 수도 있다.
타임 스케일링 유닛(135)은 '프레임 타입' 결정 컴포넌트(310) 및, 이 결정 컴포넌트(310)에 연결된 '윈도형 타임 스케일링 (windowed time scaling' 컴포넌트(311)를 포함한다. 스케일링 요청을 위한 타임 스케일링 유닛(136)의 제어 신호 출력들과, 타임 윈도 길이가 모두 '윈도형 타임 스케일링' 컴포넌트(311)에 연결된다. 디코더(134) 출력은 결정 컴포넌트(310)와 연결되어 있다. '윈도형 타임 스케일링' 컴포넌트(311)가 디코딩 및 스케일링 된 프레임들을 출력하고, 그 프레임들은 재생 컴포넌트(138)로 주어진다.
타임 스케일링 유닛(136)은 도시된 것과 같이 별개의 프로세싱 블록으로서 동작할 때, 개시된 타임 스케일 변경은 보통 디코딩된 스피치 신호에 대해 수행된다. 타임 스케일링 유닛(136)이 디코더(134)와 결합되어 있을 때, 상기 개시된 타임 스케일 변경은 가령 디코더(134)에서 생성된 LP 합성 필터 여기 신호에 대해 수행될 수 있다.
본 발명의 전형적 실시예에 따른 타임 스케일링 제어가 지금부터 도 4의 흐름도를 참조해 설명될 것이다. 지시된 단계들(401 내지 405)은 타임 스케일링 제어 로직(136)에 의해 수행되지만, 지시된 단계들(406 및 407)은 타임 스케일링 유닛(135)에 의해 수행된다.
타임 스케일링 제어 로직(136)이 네트워크 분석기(133)로부터 네트워크 상태에 대한 정보를, 그리고 지터 버퍼(132)로부터 버퍼 상태에 대한 정보를 수신한다. 이 정보에 기초해, 결정 컴포넌트(210)가, 버퍼링 지연 변화가 일어날 것 같은지 여부를 판단하고, 그러한 변화가 일어날 것 같으면, 그 변화를 보상하는데 필요로 되는 타임 스케일링의 양을 추가로 결정한다 (401 단계). 네트워크 특성들 및 버퍼 상태가 증가하는 지연을 가리킬 때, 버퍼링 지연이 증가하는 동안 버퍼 언더플로를 막기 위해 재생 컴포넌트(138)가 보다 낮은 레이트로 새 데이터를 요구하도록, 몇몇 프레임들은 적절한 양만큼 늘어나야 한다. 네트워크 특성 및 버퍼 상태가 줄어드는 지연을 가리킬 때, 버퍼링 지연이 감소되는 동안 버퍼 오버플로를 막기 위해 재생 컴포넌트(138)가 새 데이터를 보다 높은 레이트로 요청하도록, 몇몇 프레임들은 적절한 양만큼 짧아져야 한다.
결정 컴포넌트(210)는 결정 컴포넌트(211)로 임의의 요구되는 타임 스케일 및 현재의 네트워크 및 버퍼 상태에 대한 정보를 제공한다. 그 외에, 그것은 타임 스케일링의 필요한 양을 포함하는 타임 스케일링 요청을 생성하고 그 요청을 타임 스케일링 유닛(135)으로 제공한다.
타임 스케일링이 요청되는 경우 (402 단계), 결정 컴포넌트(211)는 변화된 지연의 종류가 더 빠른 반응을 요하는지 여부를 판단한다(403 단계).
결정 컴포넌트(211)는 이를 위해, 가령, 이하에서 설명될, 클록 편차, '통계적' 전송 지연 변화, 가변 지터 및 지연 스파이크들을 구별할 수 있다.
어떤 경우들에서, 송신기(111)와 수신기(131)에서 동작을 유발하는 클록들은, 클록 신호가 완벽하게 정확하지 않다는 사실로 인해 동기되어 있지 않다. 실제 클록 레이트를 공칭 값 (nominal value)과 다소 다르게 만들어 클록 편차를 야 기하는 것이, 조그만 일탈 (deviation)일 수 있다. 송신기 클록이 수신기 클록보다 빠르게 작동할 때, 프레임들은 수신기(131)에 너무 짧은 인터벌로 도달하는 것으로 보여지고, 이것은 점진적으로 버퍼 점유도를 늘리고 평균 버퍼링 지연을 늘림으로서 수신기(131)에서 파악될 수 있다. 한편, 송신기 클록이 수신기 클록보다 느리게 동작하면, 프레임들은 너무 느린 인터벌로 수신기(131)에 도달되는 것으로 보이고, 이것이 천천히 감소하는 버퍼 점유도 및 감소하는 평균 버퍼링 지연을 야기할 것이다. 이러한 현상이 고려되지 않으면, 조만간 버퍼 오버플로나 언더플로의 결과를 가져오게 될 것이다.
이렇게 최초로 고려되는 양태는, 점진적으로 변화하는 버퍼 점유도를 감시함으로써 결정 컴포넌트(211)에 의해 검출될 수 있다.
'통계적' 전송 지연의 변화는 네트워크 부하가 갑자기 변하는 경우 일어날 수 있다. 그 결과, 버퍼 적응을 요하는 지연상의 심각한 변화가 생길 수 있다. 명백한 지연의 증가는 버퍼 언더플로를 일으킬 가능성이 크고, 반면 갑작스런 지연의 감소는 버퍼 오버플로를 일으킬 수 있다.
이렇게 두 번째로 고려되는 양태가, 결정 컴포넌트(21)에 의해, 수신된 패킷들의 지연상의 명백한 변화를 감시함으로써 검출될 수 있다.
네트워크 부하의 변화는, 통계적 지연 컴포넌트의 변화들 대신 가변하는 지터로 보여질 수도 있다. 가변하는 지터는 실질적으로 가변하는 통계적 지연보다 훨씬 더 일반적인 현상이 될 수도 있다. 이 시나리오 하에서, 증가하는 지터는 버퍼링 지연이 그에 따라 증가되지 않을 때 늦게 도달하는 프레임들의 양을 증가시키 는 요인이 될 것이다. 한편, 지터의 감소 추세는 늦은 도달로 인해 유실되는 프레임들의 수를 줄일 것이며, 이러한 것이 버퍼링 지연을 감소하는데 활용될 수 있다.
이러한 세 번째 고려 양태가, 결정 컴포넌트(211)에 의해 늦게 도달하는 프레임들의 양을 산정함으로써 검출될 수 있다.
네트워크(120)에서의 매우 단기간의 '장애 (disturbance)'는, 패킷들이 전혀 없는 짧은 기간 뒤에 패킷들의 버스트가 뒤따르는, 지연 스파이크로서 수신기(131)에서 파악될 수 있다.
이러한 네 번째 고려 양태는 결정 컴포넌트(211)에 의해, 패킷들의 수신 시간 분포를 평가함으로써 검출될 수 있다.
같은 페이스 (pace)의 변경은, 상기 나열된 모든 시나리오들에 있어서의 가능한 최선의 오디오 품질을 가져올 수 없을 것이다. 클록 드리프트 및 가변 지터는 보통, 그 자체가 높은 오디오 품질을 유지하기 위한 최선의 접근방식인, 점진적 변경에 의해 다뤄질 수 있도록 된 것이다. 한편, 가변하는 통계적 전송 지연 및 지연 스파이크들은, 유실된 패키지들로 인한 오디오 품질의 저하를 최소화하도록 빠른 대응을 요한다.
빠른 대응이 필요하다는 것이 인지된 경우(403 단계), 결정 컴포넌트(211)는 필요로 되는 만큼의 스케일링을 위한 타임 윈도의 길이를 한 큰 값으로 세팅하고, 이 값을 타임 스케일링 유닛(135)에 제공한다(404 단계). 상기 큰 값은 타임 스케일링 유닛(135)에 명령하여 상대적으로 긴 변경 기간에 걸쳐 필요로 되는 만큼의 타임 스케일링을 수행하도록 하는데 알맞다.
빠른 대응이 필요하다는 것이 인지된 경우(403 단계), 결정 컴포넌트(211)는 필요로 되는 만큼의 스케일링을 위한 타임 윈도의 길이를 한 작은 값으로 세팅하고, 이 값을 타임 스케일링 유닛(135)에 제공한다(405 단계). 상기 작은 값은 타임 스케일링 유닛(135)에 명령하여 즉각적으로 짧은 변경 기간 내에 필요로 되는 만큼의 타임 스케일링을 수행하도록 하는데 알맞다.
두 경우들 모두에서, 선택되는 윈도 사이즈는 그 외의 다른 기준에 따라 좌우될 수도 있다는 것을 알아야 한다. 예를 들어, 그 외에도 그것은 필요한 만큼의 타임 스케일링에 좌우될 수 있는데, 동일한 타임 윈도 안에서 큰 스케일링 양 및 작은 스케일링 양은 당연히 상이한 효과를 낼 것이기 때문이다.
타임 스케일링 유닛(135)은 디코더(134)로부터 디코딩된 오디오 프레임들을 수신한다. 또, 그것은 타임 스케일링 제어 로직(136)으로부터 스케일링 명령 및 관련 타임 윈도 길이를 수신한다.
결정 컴포넌트(310)는, 과도기 프레임들이나 유성 온셋들을 가진 프레임들같이, 오디오 품질에 대해 특별한 요건을 가진 프레임들을 검출하기 위해, 현재 수신된 디코딩 프레임들의 타입을 체크한다(406 단계).
그런 다음 타임 스케일링 유닛(135)의 윈도형 타임 스케일링 컴포넌트(311)가 수신된 디코딩 프레임들에 대해 타임 스케일링을 행한다(407 단계).
타임 스케일링은 지시된 타임 윈도 안에서 필요한 양만큼 수행된다. 윈도형 타임 스케일링 컴포넌트(311)는 타임 스케일링을 할 적절한 프레임들 및 타임 스케일링을 위해 선택된 프레임들 안의 최적 변경 포인트들을 선택한다.
원론적으로, 타임 스케일링은 새로운 스케일링 명령 뒤에 수신되는 최초 프레임부터 시작한다. 타임 스케일링의 양 및 지시된 윈도 사이즈의 조합이, 빠른 대응이 요구된다는 것을 의미하고 있지 않으면, 윈도형 타임 스케일링 컴포넌트(311)는 결정 컴포넌트(310)에 의해 검출된 민감한 프레임들의 타임 스케일링을 피하도록 유의한다.
통상적으로, 신호 확장이나 축소는 피치 사이클들의 배수로서 행해진다. 적절한 타임 스케일링의 예를 문서 IEEE ICASSP 1985, 493-496 페이지에 나온 S. Roucos와 A.M.Wilgus에 의한 "High quality time-scale modification for speech"에서 찾을 수 있다. 그러나, 다른 타임 스케일링 방식들 역시 활용될 수 있다는 것을 알아야 한다.
타임 스케일링 양이, 주어진 타임 윈도 안에 수신된 프레임들을 가지고 수행될 필요한 스케일링의 절대량으로만 주어지는 것은 아닐 수 있다는 것을 알아야 한다. 타임 스케일링 양은, 예를 들어, 얼마나 많은 타임 스케일링 된 프레임들이 지시된 타임 윈도 안에 들어맞는가를 나타낼 수도 있다. 따라서, 타임 윈도의 길이는 타임 스케일링 전 고려된 프레임들의 개수를 제한하거나, 타임 스케일링으로 파생할 프레임들의 확산을 정의할 수도 있다.
또, 타임 스케일링 제어 로직(136)이 보다 큰 스케일링 요청을 일련의 보다 작은 것들로 분산하는 다른 방식은 제안된 윈도 방식보다 덜 유익하다는 것을 알아야 한다. 그 이유는 타임 스케일링 유닛(135)이 현재의 신호 특성에 대한 지식을 가지고 있고, 그에 따라 오디오 품질 저하를 최소화하는 정확한 스케일링 포인트에 대한 결정을 내릴 수 있기 때문이다.
전반적으로, 적응적 지터 버퍼는 기본적인 네트워크 조건들, 디코더 동작, 및 타임 스케일링 유닛 성능을 고려해야 한다.
바람직한 실시예에 적용된 것과 같이, 본 발명의 근본적이고도 신규한 특성들이 도시되고 개시 및 지적되었지만, 본 발명의 개념에서 벗어남이 없이 이 분야의 당업자에 의해, 개시된 장치들 및 방법들의 형식과 세부사항들에 있어서의 다양한 생략, 치환 및 변경이 이뤄질 수 있다는 것을 알아야 한다. 예를 들어, 동일한 결과를 얻기 위해 실질적으로 같은 방식으로 실질적으로 같은 기능을 수행하는 구성요소들 및/또는 방법의 단계들의 모든 조합된 형태들이 본 발명의 범위 안에 있다는 것이 명백하게 의도된다. 또한, 본 발명의 개시된 어떠한 형식 또는 실시예와 관련해 도시되고/거나 개시된 구조들 및/또는 구성요소들 및/또는 방법의 단계들은 어떤 다른 개시되거나 설명되거나 제안된 형태들이나 실시예에 디자인 선택사항의 일반적인 사항으로서 병합될 수 있다는 것을 알아야 한다. 따라서, 본 발명은 첨부된 청구항들의 범위에 의해 지시된 것으로서만 한정되어야 한다.

Claims (20)

  1. 패킷 교환형 네트워크를 통해 수신되는 프레임들의 시퀀스에 분산되어 있는 오디오 신호의 타임 스케일링 제어 방법에 있어서,
    수신된 프레임들의 지연의 변화를 검출하는 단계;
    상기 검출된 변화를 보상하기 위해 수신된 프레임들에 인가될 타임 스케일링의 양을 결정하는 단계;
    상기 변화의 종류를 판단하는 단계; 및
    상기 판단된 변화의 종류에 따라 상기 결정된 양의 타임 스케일링이 이행될 타임 윈도의 길이를 결정하는 단계를 포함함을 특징으로 하는 방법.
  2. 제1항에 있어서, 상기 판단된 변화의 종류는 결정된 타임 스케일링의 양에 대해 보다 짧은 타임 윈도를 요하는 종류이거나, 결정된 타임 스케일링의 양에 대해 보다 긴 타임 윈도를 허가하는 종류임을 특징으로 하는 방법.
  3. 제2항에 있어서, 상기 보다 짧은 타임 윈도를 요하는 변화의 종류는, 적어도, 소정 값을 초과하는 지연의 변화, 및 지연 스파이크 중 하나가 검출되는 경우에 주어지도록 결정됨을 특징으로 하는 방법.
  4. 제2항에 있어서, 상기 수신된 프레임들은 수신시 가변 버퍼 안에 버퍼링되 고, 상기 보다 긴 타임 윈도를 허가하는 변화의 종류는 적어도 점진적으로 가변하는 버퍼 점유도가 검출되는 경우에 주어지도록 결정됨을 특징으로 하는 방법.
  5. 제2항에 있어서, 상기 보다 긴 타임 윈도를 허가하는 변화의 종류는, 적어도 지연된 프레임들의 변화량이 검출되는 경우에 주어지도록 결정됨을 특징으로 하는 방법.
  6. 제1항에 있어서, 상기 결정된 길이의 타임 윈도 안에서 상기 결정된 양만큼, 수신된 프레임들을 타임 스케일링하는 후속 단계를 포함함을 특징으로 하는 방법.
  7. 제6항에 있어서, 상기 타임 윈도 안에서 상기 프레임들의 콘텐츠 타입을 결정하는 단계, 및 상기 타임 윈도 안에서 소정 타입의 콘텐츠를 갖는 프레임들에 대해서는 타임 스케일링을 피하는 단계를 더 포함함을 특징으로 하는 방법.
  8. 제6항에 있어서, 상기 타임 스케일링은 수신된 프레임들의 선 처리 후에 상기 수신된 프레임들에 대해 적용됨을 특징으로 하는 방법.
  9. 제6항에 있어서, 상기 수신된 프레임들은 수신시 가변 버퍼 안에 버퍼링 되고, 디코딩을 위해 상기 가변 버퍼로부터 회수되며, 상기 타임 스케일링을 거치는 프레임들은 디코딩된 프레임들임을 특징으로 하는 방법.
  10. 제6항에 있어서, 상기 수신된 프레임들은 수신시 가변 버퍼 안에 버퍼링 되고, 디코딩을 위해 상기 가변 버퍼로부터 회수되며, 상기 타임 스케일링을 거치는 프레임들은 상기 디코딩시 생성된 선형 예측 합성 필터 여기 신호 (linear prediction synthesis filter excitation signal)를 포함하는 프레임들임을 특징으로 하는 방법.
  11. 패킷 교환형 네트워크를 통해 수신되는 프레임들의 시퀀스에 분산되어 있는 오디오 신호의 타임 스케일링을 제어하기 위한 타임 스케일링 제어 컴포넌트를 포함하는 적어도 한 칩이 있는 칩셋에 있어서,
    상기 타임 스케일링 제어 컴포넌트는, 수신된 프레임들의 지연의 변화를 검출하도록 구성되고;
    상기 타임 스케일링 제어 컴포넌트는, 검출된 변화를 보상하기 위해 수신된 프레임들에 인가될 타임 스케일링의 양을 결정하도록 구성되고;
    상기 타임 스케일링 제어 컴포넌트는 검출된 변화의 종류를 판단하도록 구성되고;
    상기 타임 스케일링 제어 컴포넌트는, 상기 판단된 변화의 종류에 따라 상기 결정된 양의 타임 스케일링이 이행될 타임 윈도의 길이를 결정하도록 구성됨을 특징으로 하는 칩셋.
  12. 패킷 교환형 네트워크를 통해 수신되는 프레임들의 시퀀스에 분산되어 있는 오디오 신호의 타임 스케일링을 제어하기 위한 타임 스케일링 컴포넌트를 포함하는 오디오 수신기에 있어서,
    상기 타임 스케일링 제어 컴포넌트는, 수신된 프레임들의 지연의 변화를 검출하도록 구성되고;
    상기 타임 스케일링 제어 컴포넌트는, 검출된 변화를 보상하기 위해 수신된 프레임들에 인가될 타임 스케일링의 양을 결정하도록 구성되고;
    상기 타임 스케일링 제어 컴포넌트는 검출된 변화의 종류를 판단하도록 구성되고;
    상기 타임 스케일링 제어 컴포넌트는, 상기 판단된 변화의 종류에 따라 상기 결정된 양의 타임 스케일링이 이행될 타임 윈도의 길이를 결정하도록 구성됨을 특징으로 하는 오디오 수신기.
  13. 패킷 교환형 네트워크를 통해 수신되는 프레임들의 시퀀스에 분산되어 있는 오디오 신호의 타임 스케일링을 제어하기 위한 타임 스케일링 제어 컴포넌트를 포함하는 전자 기기에 있어서,
    상기 타임 스케일링 제어 컴포넌트는, 수신된 프레임들의 지연의 변화를 검출하도록 구성되고;
    상기 타임 스케일링 제어 컴포넌트는, 검출된 변화를 보상하기 위해 수신된 프레임들에 인가될 타임 스케일링의 양을 결정하도록 구성되고;
    상기 타임 스케일링 제어 컴포넌트는 검출된 변화의 종류를 판단하도록 구성되고;
    상기 타임 스케일링 제어 컴포넌트는, 상기 판단된 변화의 종류에 따라 상기 결정된 양의 타임 스케일링이 이행될 타임 윈도의 길이를 결정하도록 구성됨을 특징으로 하는 전자 기기.
  14. 제13항에 있어서, 상기 판단된 변화의 종류는, 결정된 타임 스케일링의 양에 대해 보다 짧은 타임 윈도를 요하는 종류이거나, 결정된 타임 스케일링 양에 대해 보다 긴 타임 윈도를 허가하는 종류임을 특징으로 하는 전자 기기.
  15. 제13항에 있어서, 상기 타임 스케일링 제어 컴포넌트는, 결정된 길이의 타임 윈도 안에서 결정된 양만큼 수신된 프레임들을 타임 스케일링하도록 추가 구성됨을 특징으로 하는 전자 기기.
  16. 제15항에 있어서, 상기 타임 스케일링 제어 컴포넌트는, 상기 타임 윈도 안에서 프레임들의 콘텐츠 타입을 결정하고, 상기 타임 윈도 안에서 소정 타입의 콘텐츠를 갖는 프레임들에 대해서는 타임 스케일링을 피하도록 구성됨을 특징으로 하는 전자 기기.
  17. 오디오 신호를 전송하도록 된 패킷 교환형 네트워크, 상기 패킷 교환형 네트 워크를 통해 전송될 오디오 신호를 제공하도록 된 송신기, 및 상기 패킷 교환형 네트워크를 통해 오디오 신호들을 수신하도록 되고, 상기 패킷 교환형 네트워크를 통해 수신되는 프레임들의 시퀀스에 분산되어 있는 오디오 신호의 타임 스케일링을 제어하기 위한 타임 스케일링 제어 컴포넌트를 포함하는 수신기를 포함하는 시스템에 있어서,
    상기 타임 스케일링 제어 컴포넌트는, 수신된 프레임들의 지연의 변화를 검출하도록 구성되고;
    상기 타임 스케일링 제어 컴포넌트는, 검출된 변화를 보상하기 위해, 수신된 프레임들에 인가될 타임 스케일링의 양을 결정하도록 구성되고;
    상기 타임 스케일링 제어 컴포넌트는 검출된 변화의 종류를 판단하도록 구성되고;
    상기 타임 스케일링 제어 컴포넌트는, 상기 판단된 변화의 종류에 따라 상기 결정된 양의 타임 스케일링이 이행될 타임 윈도의 길이를 결정하도록 구성됨을 특징으로 하는 시스템.
  18. 패킷 교환형 네트워크를 통해 수신되는 프레임들의 시퀀스에 분산되어 있는 오디오 신호의 타임 스케일링 제어를 위한 소프트웨어 코드가 저장되어 있는 소프트웨어 프로그램 제품에 있어서,
    상기 소프트웨어 코드는 프로세서에 의해 실행될 때.
    수신된 프레임들의 지연의 변화를 검출하는 단계;
    검출된 변화를 보상하기 위해 수신된 프레임들에 인가될 타임 스케일링의 양을 결정하는 단계;
    검출된 변화의 종류를 판단하는 단계; 및
    상기 결정된 양의 타임 스케일링이 상기 판단된 변화의 종류에 따라 이행될 타임 윈도의 길이를 결정하는 단계를 구현함을 특징으로 하는 소프트웨어 프로그램 제품.
  19. 제18항에 있어서, 상기 판단된 변화의 종류는 결정된 타임 스케일링의 양에 대해 보다 짧은 타임 윈도를 요하는 종류이거나, 결정된 타임 스케일링 양에 대해 보다 긴 타임 윈도를 허가하는 종류임을 특징으로 하는 소프트웨어 프로그램 제품.
  20. 제18항에 있어서, 상기 소프트웨어 코드는 프로세서에 의해 실행될 때, 상기 결정된 길이의 타임 윈도 안에서 상기 결정된 양만큼, 수신된 프레임들을 타임 스케일링하는 후속 단계를 구현함을 특징으로 하는 소프트웨어 프로그램 제품.
KR1020087019311A 2006-02-07 2007-02-05 오디오 신호의 타임-스케일링 제어 KR101002405B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/349,745 US8832540B2 (en) 2006-02-07 2006-02-07 Controlling a time-scaling of an audio signal
US11/349,745 2006-02-07

Publications (2)

Publication Number Publication Date
KR20080083206A true KR20080083206A (ko) 2008-09-16
KR101002405B1 KR101002405B1 (ko) 2010-12-21

Family

ID=38037463

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087019311A KR101002405B1 (ko) 2006-02-07 2007-02-05 오디오 신호의 타임-스케일링 제어

Country Status (10)

Country Link
US (1) US8832540B2 (ko)
EP (1) EP1982332B1 (ko)
KR (1) KR101002405B1 (ko)
CN (1) CN101379556B (ko)
AT (1) ATE463030T1 (ko)
DE (1) DE602007005605D1 (ko)
ES (1) ES2340545T3 (ko)
PT (1) PT1982332E (ko)
TW (1) TWI480861B (ko)
WO (1) WO2007091204A1 (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7983309B2 (en) * 2007-01-19 2011-07-19 Nokia Corporation Buffering time determination
US20080222636A1 (en) * 2007-03-05 2008-09-11 David Tzat Kin Wang System and method of real-time multiple-user manipulation of multimedia threads
WO2012167479A1 (en) * 2011-07-15 2012-12-13 Huawei Technologies Co., Ltd. Method and apparatus for processing a multi-channel audio signal
US9420475B2 (en) * 2013-02-08 2016-08-16 Intel Deutschland Gmbh Radio communication devices and methods for controlling a radio communication device
ES2667823T3 (es) * 2013-06-21 2018-05-14 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Escalador de tiempo, decodificador de audio, procedimiento y programa informático mediante el uso de un control de calidad
PL3011692T3 (pl) 2013-06-21 2017-11-30 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Sterowanie buforem rozsynchronizowania, dekoder sygnału audio, sposób i program komputerowy
US10700797B2 (en) 2017-07-07 2020-06-30 Nxp B.V. Signal processing using multiple sources
US10313416B2 (en) 2017-07-21 2019-06-04 Nxp B.V. Dynamic latency control

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW419645B (en) * 1996-05-24 2001-01-21 Koninkl Philips Electronics Nv A method for coding Human speech and an apparatus for reproducing human speech so coded
US6512761B1 (en) * 1999-02-02 2003-01-28 3Com Corporation System for adjusting billing for real-time media transmissions based on delay
US6735192B1 (en) * 1999-09-29 2004-05-11 Lucent Technologies Inc. Method and apparatus for dynamically varying a packet delay in a packet network based on a log-normal delay distribution
TW446935B (en) * 1999-10-26 2001-07-21 Elan Microelectronics Corp Method and apparatus of multi-channel voice analysis and synthesis
US6636830B1 (en) * 2000-11-22 2003-10-21 Vialta Inc. System and method for noise reduction using bi-orthogonal modified discrete cosine transform
US7171367B2 (en) * 2001-12-05 2007-01-30 Ssi Corporation Digital audio with parameters for real-time time scaling
JP4146489B2 (ja) * 2004-05-26 2008-09-10 日本電信電話株式会社 音声パケット再生方法、音声パケット再生装置、音声パケット再生プログラム、記録媒体
EP2189978A1 (en) 2004-08-30 2010-05-26 QUALCOMM Incorporated Adaptive De-Jitter Buffer for voice over IP

Also Published As

Publication number Publication date
CN101379556B (zh) 2012-11-14
PT1982332E (pt) 2010-05-06
ATE463030T1 (de) 2010-04-15
US20070186145A1 (en) 2007-08-09
KR101002405B1 (ko) 2010-12-21
US8832540B2 (en) 2014-09-09
ES2340545T3 (es) 2010-06-04
DE602007005605D1 (de) 2010-05-12
TW200807395A (en) 2008-02-01
EP1982332B1 (en) 2010-03-31
EP1982332A1 (en) 2008-10-22
CN101379556A (zh) 2009-03-04
TWI480861B (zh) 2015-04-11
WO2007091204A1 (en) 2007-08-16

Similar Documents

Publication Publication Date Title
KR101002405B1 (ko) 오디오 신호의 타임-스케일링 제어
KR100964437B1 (ko) V o I P 용 적응성 디-지터 버퍼
KR101121212B1 (ko) 통신 시스템에서 데이터 전송 방법
US7246057B1 (en) System for handling variations in the reception of a speech signal consisting of packets
US20070263672A1 (en) Adaptive jitter management control in decoder
US7787500B2 (en) Packet receiving method and device
EP1423930A1 (en) Method and apparatus for reducing synchronization delay in packet-based voice terminals by resynchronizing during talk spurts
US20070294087A1 (en) Synthesizing comfort noise
US7573907B2 (en) Discontinuous transmission of speech signals
US20140172420A1 (en) Audio or voice signal processor
US20070201656A1 (en) Time-scaling an audio signal
EP2070294B1 (en) Supporting a decoding of frames
US20070186146A1 (en) Time-scaling an audio signal
CN116095395A (zh) 一种调整缓冲区长度的方法、装置、电子设备和存储介质
JP2004205638A (ja) 無音圧縮装置
AU2012200349A1 (en) Method of transmitting data in a communication system

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20131119

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20141126

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20151118

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20161123

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20171117

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20181115

Year of fee payment: 9