KR102509179B1 - 저-대기시간 멀티미디어 스트리밍 환경의 문제 패턴 취급 방법 - Google Patents

저-대기시간 멀티미디어 스트리밍 환경의 문제 패턴 취급 방법 Download PDF

Info

Publication number
KR102509179B1
KR102509179B1 KR1020177007728A KR20177007728A KR102509179B1 KR 102509179 B1 KR102509179 B1 KR 102509179B1 KR 1020177007728 A KR1020177007728 A KR 1020177007728A KR 20177007728 A KR20177007728 A KR 20177007728A KR 102509179 B1 KR102509179 B1 KR 102509179B1
Authority
KR
South Korea
Prior art keywords
buffer
data
information
period
signal
Prior art date
Application number
KR1020177007728A
Other languages
English (en)
Other versions
KR20170067726A (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 KR20170067726A publication Critical patent/KR20170067726A/ko
Application granted granted Critical
Publication of KR102509179B1 publication Critical patent/KR102509179B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0002Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1829Arrangements specially adapted for the receiver end
    • H04L1/1835Buffer management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/6295Queue scheduling characterised by scheduling criteria using multiple queues, one for each individual QoS, connection, flow or priority
    • 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/40Support for services or applications
    • H04L65/403Arrangements for multi-party communication, e.g. for conferences
    • 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
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/764Media network packet handling at the destination 
    • 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/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/152Data rate or code amount at the encoder output by measuring the fullness of the transmission buffer

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Quality & Reliability (AREA)

Abstract

발명은 통신 장치의 버퍼 부하 관리 방법에 관련되며, 상기 방법은,
데이터 패킷에 포함되는 멀티미디어 데이터를, 상기 통신 장치의 제 1 버퍼에 저장하는 단계와,
상기 제 1 버퍼에서 입력 속도의 표시를 결정하고, 시간에 따른 상기 입력 속도에 대한 정보를 지닌 제 2 버퍼에 상기 표시를 추가하는 단계와,
시간에 따른 입력 속도에 대한 상기 정보를 포함하는 신호에 대한 자동상관을 수행하는 단계와,
상기 자동상관에서 피크를 찾아내고, 찾아낸 피크 세트에서 적어도 하나의 피크에 대해, 주기를 식별하는 단계와,
상기 적어도 하나의 피크에 대하여, 시간에 따른 입력 속도에 대한 상기 정보를 포함하는 상기 신호를, 지배 주기로 상기 식별된 주기를 가진 주어진 위상을 가진 주기 신호와 교차 상관을 수행하고, 상기 주기 신호와 관련된 위상 오프셋을 결정하는 단계와,
기준 신호를 이용하여 상기 제 2 버퍼에 저장된 입력 속도에 관한 상기 정보의 하나 이상의 부분을 선택하는 단계 - 상기 기준 신호는 지배 주기로 상기 식별된 주기를 갖는 주기적인 신호이고, 이전 단계에서 결정된 상기 위상 오프셋을 가짐 - 와,
상기 선택된 부분을 분석함으로써 상기 제 1 버퍼에 대한 목표 대기시간을 결정하는 단계와,
상기 제 1 버퍼의 입력 속도 및/또는 출력 속도를 수정함으로써 상기 제 1 버퍼에 목표 대기시간을 적용하는 단계를 포함한다.

Description

저-대기시간 멀티미디어 스트리밍 환경의 문제 패턴 취급 방법 {METHOD TO HANDLE PROBLEMATIC PATTERNS IN A LOW LATENCY MULTIMEDIA STREAMING ENVIRONMENT}
본 발명은 일반적으로 데이터 통신을 할 수 있는 디바이스들의 분야에 관한 것이다. 특히, 본 발명은 저-대기시간 전송 링크로 이벤트를 취급하기 위한 해법들의 분야에 관한 것이다.
큰 방이 음향 통신을 위한 과제적 환경임이 잘 알려져 있다. 예를 들어, 일반적인 교실에서, 교사와 학생 간의 거리는 통상의 일대일 통신 중 약 1 내지 1.5미터의 통상 거리보다 훨씬 멀다. 따라서, 교사의 음성이 학생 위치에서 비교적 약한 편이다. 외부 잡음원과, 동료 학생들로부터 나오는 음성 또는 다른 소리들이 이러한 음향에 추가되어, 낮은 또는 심지어 음성의 신호대잡음비를 도출한다. 추가적으로, 방의 벽체는 교사의 음성에 음향 반향을 더하여, 그 양해도(intelligibility)를 더욱 감소시킨다.
위 문제들이 교실 내 청각 장애 학생들에게 특히 심각하지만, 교실 바깥에서도, 가령, 대형 룸에서의 업무 회의 중, 룸 음향이 불량한 룸에서, 또는, 단순히 발표 중 일부 회의 참가자가 말하거나 소리를 내기 때문에, 이 문제가 존재한다.
종래 기술에서는 학생의 보청기에 대한 교사 음성의 무선 전송에 기초하여 구현되는 해법들이 알려져 있다. 이 시스템은 "FM 시스템"으로 지칭된다. 도 1은 도해를 제공한다. FM 무선 전송을 이용하여, 오디오 데이터가 수신기에 전송되어, 신호를 헤드폰 또는 보청기에 재생시킨다.
최근 몇년간, FM 시스템은 교사 위치에서 개별 주파수 영역으로 신호대잡음비 추정의 구현에 의해, 그리고, 더 많은 잡음 에너지를 가진 주파수 영역에서 교사의 음성에 이득을 추가함으로써 말소리 양해도를 개선시키기 위해, FM 수신기에 이 정보를 송신함으로써, 개선되고 있다.
FM 시스템의 중요한 제한사항은 신호 대기시간을 변경시킬 수 없다는 점이다. 이는 대기시간이 예를 들어, 비디오 스트림(video stream)과 동기화되도록 증가될 필요가 있는 애플리케이션에서 특히 중요하다. 다른 중요한 제한사항은 FM 시스템이 아날로그여서, 신호 에러 교정 수행을 위한 어떤 방식도 엔드 포인트(end point)에서 제공하지 않으며, 간섭에 빠지기 쉽다는 것이다. 이 시스템들은 또한 일방향성이어서, 동일 주파수 대역을 이용하여 수신기로부터 오디오를 되보내는 것이 불가능하다.
디지털 오디오 해법에서의 중요한 과제는 디지털 신호 처리에 의해 야기되는 대기시간을 가능한 낮게 유지시키는 것이다. 시스템의 대기시간은 시스템에서 소정의 데이터가 수신되는 시간과, 동일 데이터가 출력되는 시간 사이의 시간차로 규정된다. 저-대기시간 오디오에 다가갈 때 와이파이 기술에서 맞닥뜨리는 과제가 잘 알려져 있다. 우리가 아는 한, 시장에서 가용한 어떤 오디오-오버-네트워크 해법도 100ms 미만의 와이파이를 통한 오디오 대기시간을 제공하지 못하고 있다. 지터(jitter), 무선 모드 변화, 등과 같은 장애들은 데이터의 저-대기시간 스트림에 다가갈 때 매우 해롭다.
이러한 장애들을 취급하기 위한 주 해법은 스트림을 재생하기 전에 충분히 많은 양의 데이터를 버퍼링(buffering)하는 과정을 수반한다. 이러한 방식으로, 시스템은 이미 버퍼링된 데이터를 재생함으로써 시스템에 데이터가 도달하지 않는 시간 구간을 억제할 수 있다. 저-대기시간 시스템의 한가지 구체적 관심사는 (버퍼링이 대기시간 증가로 직접 변환되기 때문에) 버퍼링되는 매우 적은 양의 데이터로 인해, 효율적인 방식으로 장애에 반응할 수 없다는 것이다. 이러한 측면에서, 저-대기시간 스트리밍 시스템은 (지터와 같은) 짧은 시간 장애를 보상하기 위해 가능한 적은 데이터가 버퍼링되는, '낙관적' 기법('optimistic' approach)을 채택한다. 이에 따라, 해당 시스템들은 보다 긴 시간 구간 동안에 걸쳐 일어날 수 있는 장애에 특히 취약할 수 있다. "종종" 일어나는 이러한 장애의 예는 무선 모드 변경 또는 동일 전송 링크를 통해 다른 애플리케이션의 구동으로서, 가끔 모든 대역폭을 차지한다. 따라서, 이러한 저-대기시간 스트리밍 시스템은, 이들이 재생될 데이터로부터 빠져나올 확률이 보다 높기 때문에, 오디오 유추/수리 메커니즘에 더 많이 의존한다.
근거리 통신망을 통해 실시간 오디오 스트리밍을 할 수 있는 시스템을 얻기 위해 와이파이를 통해 VoIP 해법이 적용될 수 있다. 그러나 이러한 시스템들은 일반적으로 인터넷을 통해 오디오를 전송하도록 설계되어 있어서, 보다 긴 거리에 걸쳐 통신하고 동일 룸 내에 있지 않기 때문에 직접적인 시각적 접촉을 하지 않는 사람들을 통상적으로 연결하는 것이기에, 대기시간 요건에 대해 제한사항을 거의 갖지 않는다. 대기시간이 길기 때문에, 이러한 시스템들은 동일 룸 내에서의 통신과 같이 대기시간-제약 환경에서 오디오를 송신하는데 이용하기 일반적으로 적합하지 않다.
유사한 관찰이 비디오 데이터에 대해서도 이루어질 수 있다. 저-대기시간의 중요성은 회의를 따르고자 하는 청각 장애인의 경우 - 이 분은 회의에 물리적으로 존재하고 추가적인 비디오 스트림이 이분의 보조 장치(가령, 스마트폰, 스마트글래스, 등)로 송출됨 - 에 대해 적용될 수 있다. 동일한 대기시간-제약 환경이 콘서트 장에서 이루어지며, 이 경우 청중은 공공 어드레스 시스템으로부터 직접 오디오 신호를 수신하지만, 놓치고 싶지 않은 콘서트의 세부사항을 자신의 개인 통신 장치 상에서 보고자 하는 자들을 위해 복수의 비디오 스트림(예를 들어, 기타 연주자만을 보여주는 비디오 스트림 또는 가수만을 보여주는 비디오 스트림)이 가용하다. 명백하게도, 제어 하에 비디오 신호의 대기시간을 가능한 짧게 유지하는 것이 이러한 경우에 중요하다.
이러한 해법들이 (스마트폰 또는 태블릿과 같은) 개인 다용도 장치 상에서 구동될 수 있다는 점이 점점 중요해지고 있다. 이러한 장치들은 사용자를 위한 중앙 통신 지점이 되고 있고 이들은, 상기 장치 상에서 소프트웨어 솔루션들을 단지 구동시킴으로써, 다양한 추가 기능 개발을 위한 플랫폼으로 작용하고 있다. 이는 무선 통신 플랫폼에도 똑같이 적용된다. (WiFi 802.11X와 같은) 와이드스프레드(widespread) 전송 링크에서의 해법 구동의 중요성이, 비용 상의 측면 뿐만 아니라 편의성 측면에서도 점점 성장하고 있다. 이러한 장치들은, 심지어 원격 위치로부터도, 쉽게 서비스가능하다.
위 요건을 충족하는 해법들이 상기 장치들에 존재하지만, 이러한 상품 플랫폼 상에서 구동되는 어떤 해법도 앞서 설명된 대기시간-제약 환경의 필요성에 부합하지 못한다는 점에 주목해야 한다. 이러한 환경에서, 갑자기 어떤 특정 시간에 가용한 성능으로 시스템을 동적 적응시키는 것이, 고려해야할 가장 핵심적인 요인들 중 하나가 되고 있다.
따라서, 개인 다용도 장치에서의 대기시간-제약 환경을 취급하기 위한 해법이 필요하다.
버퍼 부하를 관리하기 위한 방법을 제공하고 통신 장치 상의 주기적 교란을 방지하는 것이 본 발명의 실시예의 일 목적이다.
위 목적은 본 발명에 따른 해법에 의해 실현된다.
제 1 형태에서, 발명은 통신 장치의 버퍼 부하 관리 방법에 관련된다. 상기 방법은,
데이터 패킷(data packet)에 포함되는 멀티미디어 데이터를, 상기 통신 장치의 제 1 버퍼에 저장하는 단계와,
상기 제 1 버퍼에서 입력 속도의 표시를 결정하고, 시간에 따른 상기 입력 속도에 대한 정보를 지닌 제 2 버퍼에 상기 표시를 추가하는 단계와,
시간에 따른 입력 속도에 대한 상기 정보를 포함하는 신호에 대한 자동상관을 수행하는 단계와,
상기 자동상관에서 피크를 찾아내고, 찾아낸 피크 세트에서 적어도 하나의 피크에 대해, 주기를 식별하는 단계와,
상기 적어도 하나의 피크에 대하여, 입력 속도에 대한 상기 정보를 포함하는 상기 신호를, 지배 주기로 상기 식별된 주기를 가진 주어진 위상을 가진 주기 신호와 교차 상관을 수행하고, 상기 주기 신호와 관련된 위상 오프셋을 결정하는 단계와,
기준 신호를 이용하여 상기 제 2 버퍼에 저장된 입력 속도에 관한 상기 정보의 하나 이상의 부분을 선택하는 단계 - 상기 기준 신호는 지배 주기로 상기 식별된 주기를 갖는 주기적인 신호이고, 이전 단계에서 결정된 상기 위상 오프셋을 가짐 - 와,
상기 선택된 부분을 분석함으로써 상기 제 1 버퍼에 대한 목표 대기시간을 결정하는 단계와,
상기 제 1 버퍼의 입력 속도 및/또는 출력 속도를 수정함으로써 상기 제 1 버퍼에 목표 대기시간을 공급하는 단계를 포함한다.
제안되는 해법은 목표 대기시간을 결정함으로써 주기적 교란을 검출 및 해결할 수 있다. 이러한 목표 대기시간은 시간에 따른 입력 속도에 대한 정보의 분석으로부터 도출된다. 이 정보로부터 첫번째로 주기가 도출되고, 그 다음으로 위상 오프셋이 도출되어, 해당 패턴과 함께 입력 속도에 대한 정보를 지닌 저장된 신호 부분이 선택될 수 있다. 이 부분들로부터 목표 대기시간이 그 후 결정되어, 후속하여 제 1 버퍼에 적용된다.
선호 실시예에서, 상기 방법은 시간에 따른 입력 속도에 대한 상기 정보를 포함하는 신호를 데시메이팅(decimating)하는 단계를 더 포함한다. 이러한 방식으로 연산 복잡도가 추가적으로 감소된다.
일 실시예에서, 제 2 버퍼의 크기는 적어도 10초의 시간 구간에 대응한다.
유리하게도 상기 제 2 버퍼는 링 버퍼(ring buffer)로 구현된다.
입력 속도의 표시는 알려진 출력 속도와 함께, 제 1 버퍼의 충전 퍼센티지(fill percentage)인 것이 바람직하다. 대안은 제 1 버퍼에 유지되는 밀리초 단위의 양과 각각의 데이터 패킷 도달의 시간스탬프일 수 있다.
일 실시예에서, 하나 이상의 부분을 선택하는 단계는 논리 함수를 이용하여 수행된다.
유리하게도, 선택된 하나 이상의 부분은 제 3 버퍼에 저장된다.
선호 실시예에서, 상기 방법은 상기 멀티미디어 데이터를 송신하는 송신기에 입력 속도의 조정에 관한 메시지를 전송하는 단계를 포함한다.
유리하게도, 시간에 따른 입력 속도에 관한 정보가 업데이트될 때, 새 목표 대기시간이 연산된다.
일 실시예에서, 템포럴 필터링(temporal filtering)이 목표 대기시간에 대하여 수행된다.
일 형태에서, 발명은 실행될 때 앞서 개시된 방법을 수행하는 명령어를 지닌 프로그래머블 장치 상에서 실행가능한 프로그램에 관련된다.
다른 형태에서, 발명은 통신 장치에 관련되며,
데이터 패킷에 포함되는 멀티미디어 데이터를 수신 및 출력하기 위한 입력 및 출력과,
수신되는 멀티미디어 데이터를 저장하기 위한 제 1 버퍼와,
시간에 따른 상기 제 1 버퍼의 입력 속도에 대한 정보를 저장하기 위한 제 2 버퍼와,
상기 제 1 버퍼의 출력 속도를 제어하기 위한 제어 수단과,
처리 수단을 포함하며, 상기 처리 수단은
- 상기 제 1 버퍼에서의 입력 속도의 표시를 결정하고 상기 제 2 버퍼에 상기 표시를 추가할 수 있으며,
- 시간에 따른 상기 입력 속도에 대한 상기 정보를 포함하는 신호에 대해 자동상관을 수행할 수 있으며,
- 상기 자동상관에서 피크를 찾아내어, 찾아낸 피크 세트 중 적어도 하나의 피크에 대하여, 소정의 주기를 식별할 수 있고,
- 상기 적어도 하나의 피크에 대하여, 시간에 따른 입력 속도에 대한 상기 정보를 포함하는 상기 신호를, 지배 주기로 상기 식별된 주기를 갖는 주어진 위상을 가진 주기 신호와 교차상관을 수행하고, 상기 주기 신호에 대한 위상 오프셋을 결정할 수 있으며,
- 기준 신호를 이용하여 상기 제 2 버퍼에 저장되는 입력 속도에 대한 상기 정보의 하나 이상의 부분을 선택할 수 있고, 상기 기준 신호는 지배 주기로 상기 식별된 주기를 갖는 주기적 신호이고 상기 결정된 위상 오프셋을 가지며,
- 상기 선택된 부분을 분석함으로써 상기 제 1 버퍼를 위한 목표 대기시간을 결정 및 적용할 수 있다.
도 1은 당 분야에 알려진 표준 FM 보조 청취 장치를 도시한다.
도 2는 본 발명에서 제시되는 방법의 일 실시예의 계통도다.
도 3은 발명의 알고리즘의 예시적 적용예를 도시한다.
본 발명은 소정의 도면을 참조하여 특정 실시예와 관련하여 설명될 것이지만 발명은 이에 제한되지 않고 청구범위에 의해서만 제한된다.
더욱이, 명세서 및 청구범위에서 "제 1", "제 2", 등과 같은 용어는 유사한 요소들 간을 구분하기 위해 사용되며, 시간상으로, 또는 공간적으로, 또는 순위상, 또는 그외 다른 방식으로 순서를 설명하기 위해 사용되는 것이 아니다. 이렇게 사용되는 용어들은 적절한 상황 하에 상호교환가능하며, 여기서 설명되는 발명의 실시예들은 여기서 설명되는 도시되는 것과는 다른 순서로 작동할 수 있다.
청구범위에서 사용되는 "포함하는"이라는 용어는 이후 나열되는 수단으로 제한되는 것으로 해석되어서는 안되며, 다른 요소 또는 단계들을 배제하지 않는다. 따라서, 거명되는 특징부, 정수, 단계, 또는 구성요소들의 존재를 명시하는 것으로 해석되어야 하며, 하나 이상의 다른 특징부, 정수, 단계, 또는 구성요소, 또는 이들의 그룹의 존재 또는 추가를 배제하지 않는다. 따라서, 수단 A 및 B를 포함하는 장치"라는 표현의 범위는 구성요소 A 및 B만으로 구성되는 장치로 제한되지 않는다. 이는 본 발명과 관련하여, 장치의 관련 구성요소들만이 A 및 B임을 의미한다.
본 명세서를 통틀어 "하나의 실시예" 또는 "일 실시예"라는 표현은 해당 실시예와 관련하여 설명되는 일 특정 특징부, 구조, 또는 특징이 본 발명의 적어도 하나의 실시예에 포함됨을 의미한다. 따라서, 본 명세서를 통틀어 다양한 위치에서 "하나의 실시예에서" 또는 "일 실시예에서"라는 어구의 등장은 반드시 모두 동일한 실시예를 지칭하는 것이 아니며, 그럴 수 있다는 것이다. 더욱이, 특정 특징부, 구조, 또는 특성이 하나 이상의 실시예에서, 본 개시로부터 당 업자에게 명백하다면, 임의의 적절한 방식으로 조합될 수 있다.
마찬가지로, 발명의 예시적 실시예의 설명에서, 발명의 다양한 특징들이, 다양한 발명의 형태들 중 하나 이상의 이해를 돕기 위한 용도로 본 개시의 연장선 상에서, 단일 실시예, 도면, 또는 상세한 설명에서 종종 함께 군을 이룬다. 그러나 본 개시 방법은 청구 발명이 각각의 청구항에 명시적으로 언급되는 것보다 많은 특징부들을 요구한다는 의도를 반영하는 것으로 해석되어서는 안된다. 그 대신, 다음의 청구범위가 반영하듯이, 발명의 형태는 앞서의 단일 개시 실시예의 전부가 아닌 특징부들에 있다. 따라서, 상세한 설명에 이어지는 청구범위는 본 상세한 설명에 명시적으로 포함되며, 각각의 청구항은 개별적으로 본 발명의 별도의 실시예로 성립된다.
더욱이, 여기서 설명되는 일부 실시예들이 일부 특징들을 포함하지만 다른 실시예에 포함된 다른 특징들은 포함하진 않는데, 당 업자에 의해 이해될 수 있다면, 상이한 실시예들의 특징들의 조합이 발명의 범위 내에 있는 것을 의미하며, 상이한 실시예들을 형성하는 것을 의미한다. 예를 들어, 다음의 청구범위에서, 청구되는 실시예 중 어느 것도 임의의 조합으로 사용될 수 있다.
발명의 소정의 특징 또는 형태를 설명할 때 특정 용어를 이용한다고 하여, 이 용어가 해당 용어와 관련된 발명의 특징 또는 형태의 임의의 구체적 특성을 포함하는 것으로 제한되도록 여기서 재규정되는 것임을 암시하는 것으로 간주되어서는 안된다.
여기서 제공되는 설명에서, 수많은 구체적 세부사항들이 제시된다. 그러나, 발명의 실시예는 이러한 구체적 세부사항없이 실시될 수 있다. 다른 예에서, 잘 알려진 방법, 구조, 및 기술들이, 본 설명의 이해를 흐리지 않도록 하기 위해 세부적으로 도시되지 않았다.
본 발명은 멀티미디어 통신을 할 수 있는 장치의 수신기 상에 유입되는 데이터로부터 얻은 주어진 신호 내 주기적 이벤트에 관한 정보를 지닌 데이터를 선택적으로 식별 및 분석하기 위한 방법에 관련된다. 제안되는 알고리즘은 긴 시간 주기(가령, 10초 또는 그 이상) 동안 발생할 수 있는 문제 패턴을 식별하고, 문제가 나타난 데이터 세트의 해당 부분들을 분석한다. 버퍼링될 데이터의 양(다시 말해서 나타날 대기시간)에 관한 표시를 출력하도록 해당 데이터 세트에 대해 통계적 분석이 수행되어, 이러한 이벤트의 차후 발생으로부터의 보호가 보장되고, 따라서, 스트림의 전체 품질을 개선시킬 수 있다. 이 기법은 소정의 양호도(quality factor)가 보장될 필요가 없을 경우, 장치의 전체 대기시간에 대한 벌칙을 부여하지 않는 특별한 장점을 가진다. 상기 양호도는 예를 들어, 사용자 선호도에 의해, 또는 장치 상에 하드-코딩된 정책에 의해, 부여될 수 있다.
개념적으로, 알고리즘은 신호를 수신하는 전송 링크의 입력 속도를 표시하는 측정치들의 데이터 세트를 이용한다(가령, 소정 시간 주기 동안 버퍼 충전 퍼센티지의 전개). 이러한 측정 데이터는 스트림에 문제를 야기하는 패턴을 찾아내기 위해 분석된다. 이 패턴들은 상기 측정 데이터 세트 내 데이터들의 슬라이스로 식별되며, 이 패턴으로 인한 차후의 문제점을 회피하기 위해, 필요하다면, 추가할 대기시간 값을 추정하도록 분석된다.
일 실시예에서, 발명에 따른 방법은 다음과 같이 실행되며, 통신 장치의 출력 속도에 관한 정보는 알려져 있고 제어가능한 것으로 가정된다:
- 출력될 멀티미디어 데이터를 지닌 지터 버퍼의 부하 상태가 샘플링 속도 SR로 주기적으로 샘플링된다. 샘플들은 시간에 걸쳐, 즉, 최종 T초 동안 입력 속도를 표시하는 데이터를 포함하는 지속시간 T의 링 버퍼 R1에 추가된다. 결과적인 샘플링된 신호는 지터 버퍼 부하 상태의 변동을 효과적으로 수용한다.
- 선택적으로 이 신호는 팩터 DF에 의해 데시메이팅(decimate)된다(즉, 다운샘플링된다). 이는 분석할 정보의 양을, 따라서, 연산 비용을 감소시키고, 반면 문제를 일으킬만한 부분들을 식별할 수 있도록 충분한 전개 특성이 유지된다. 데시메이팅된 신호는 지속시간 T의 링 버퍼 R2에 저장된다.
- 다음으로, 샘플링된 신호(또는 가용할 경우, 데시메이팅된 샘플링된 신호)에 대해 자동교정 분석이 수행된다. 이는 Y축에서 피크로 그리고 X축 상에서 래그(lag)로 자동상관된 신호에 존재하는 패턴의 표현을 도출하고, 이는 샘플 속도 SR를 고려함으로써 평범하게 소정 주기로 변환될 수 있다.
- 자동상관 신호 상에서, 스트림 상에서 문제를 야기할 수 있는 신호에 대한 잠재적 패턴을 식별하기 위해 피크 검출이 수행된다. 피크 검출 알고리즘은 당 분야에서 쉽게 구할 수 있다. 통상적으로, 주기적 교란의 경우에, 자동상관 분석은 교란을 피크 세트로 나타내고, 각각의 피크는 메인 주기의 배수다.
- 적어도 하나의 피크, 바람직하게는 나타나는 모든 피크에 대하여, 다음의 단계들이 수행된다: a) 피크를 일으키는 이벤트의 주기 T가 식별되고(X 값 x DF / SR), b) 주기 T 및 주어진 위상, 가령, 제로 위상을 갖는 코사인 신호와, 버퍼 R2에 저장된 데이터 세트로부터 교차 상관이 컴퓨팅된다. 코사인 신호 대신에, 주기 T를 가진 임의의 적절한 주기 함수가 적용될 수 있다. 주기 T를 가진 주기 함수는 T가 지배 주기인 함수로 해석되어야 한다(즉, 다른 덜 지배적인 주기 패턴이 존재할 수 있다).
c) 피크 검출은 주기 함수의 위상과 관련하여 문제 부분의 위상 오프셋 P를 찾아내기 위해 결과적인 교차 상관 신호에 대해 수행된다. 이러한 위상 오프셋은 동일 연산(X 값 x DF / SR)을 이용함으로써 검출되는 피크의 X 값에 의해 결정된다.
d) 논리 함수를 이용하여, 버퍼 R1 내 데이터의 청크(chunks)가 다음 방식으로 선택된다. 주기 T 및 위상 오프셋의 코사인 함수의 최대값의 X 값을 고려하여, 주어진 크기 W의 윈도가 생성되며, 주기 T 및 연산된 위상 오프셋을 이용하여 상기 최대값의 중앙에 위치한다. R1으로부터, 이러한 윈도와 겹쳐지는 데이터가 선택된다. R1으로부터 선택되는 이러한 데이터 서브세트가 분석 버퍼 B에 저장된다.
e) 버퍼 B의 데이터는 통계적으로 분석되고, 추정되는 데이터의 99번째 퍼센타일까지 전달할 것을 요구하는 것과 같이, 통계적 연산에 기초하여, 버퍼링될 목표 양의 데이터의 표시가 출력된다. 다른 예로서, 이러한 연산은 버퍼 언더런 시간의 가장 긴 스트릭(streak)을 단순히 카운팅할 수 있고, 이 수치까지 시간 내에 등가의 데이터 양을 출력할 수 있다.
본 알고리즘은 (통상적으로 1초 미만의) 짧은 시간 주기에 걸쳐 수행되는 분석을 보완하는 "장기 통계 분석"으로 기능한다.
예를 들자면, 도 3에 도시되는 데이터가 고려된다. 도 3A는 다수의 초의 시간 구간에 걸쳐 버퍼 로드 히스토리를 도시한다. 도시되는 바와 같이, 주기적으로 버퍼에 데이터가 없게 만드는 네트워크 상에서 매초마다 발생하는 소정의 교란이 존재한다. 이는 예를 들어, 매초 마다 짧은 버스트로 대역폭을 이용하는 동일 네트워크에서 발생하는 다른 애플리케이션이 원인일 수 있다. 이상적인 경우에, 이 데이터는 나중에 발생할 수 있는 이벤트를 예측할 수 있도록 분석되어야 한다(이러한 이벤트들은 대략 5초, 6초, 등의 시기에 발생할 가능성이 높다). 도 3B에서, 버퍼 데이터의 자동상관은 주기적으로 1초 주위에서 선명한 피크를 나타내도록 수행된다. 그 후 피크 검출 알고리즘은 이 피크를 1초에서 검출한다(도 3C). 버퍼 데이터로 돌아가서 이 이벤트를 식별하기 위해, 버퍼 히스토리 시간표 내 패턴의 오프셋이 추정될 필요가 있다. 도 3D는 검출되는 동일 주기(이 경우에 1초)로 구성된 코사인 신호를 도시한다. 도 3E는 이러한 코사인 신호 및 버퍼 데이터의 교차 상관을 도시한다. 이러한 교차 상관은 교차 상관 연산에 적용되는 주기 신호 및 버퍼에 저장된 데이터 사이의 위상 오프셋을 결정하는데 사용된다. 본 예에서 선명한 피크가 (-0.1초)에서 검출되며, 이는 패턴이 버퍼 시간표에서 -0.1초만큼 이동함을 의미한다. 이 정보로, 매 1초마다 나타나는 이벤트에 대응하는 데이터 부분을 버퍼 시간표로부터 선택적으로 추출할 수 있다. 이러한 경우에, -0.1초만큼 버퍼 시간표에서 옮겨진 0.3초의 윈도를 추출하도록 선택되었다. 그 결과, 다음의 범위가 추출된다: (0.75, 1.05), (1.75, 2.05), (2.75, 3.05), (3.75, 4.05). 그 후, 이러한 데이터 서브세트가 분석되어, 이러한 이벤트의 차후 발생으로 인한 교란을 방지하기 위한 최소 버퍼 부하를 결정할 수 있다. 이러한 경우에, 대략 40ms의 데이터 저장을 갖는 것으로 충분하다.
위 예에서, 알고리즘의 입력은 통신 장치 성능의 직접적 척도인, 지터 버퍼 내에서 유지되는 밀리초 양의 발전이다. 시스템의 입력 속도는 장치의 출력 속도를 앎으로써 결정될 수 있다. 알고리즘 출력은 저장될 목표량의 데이터의 표시이고, 달리 말하자면, 통신 장치에 적용될 목표 대기시간의 표시다. 목표 대기시간은 그 후 출력 속도 및/또는 입력 속도를 수정함으로써 지터 버퍼에 적용된다.
본 발명의 일 실시예에 따른 알고리즘을 수행하도록 적응되는 통신 장치는 다음의 작업을 수행할 수 있다:
- 멀티미디어 데이터를 포함하는 데이터 패킷을 수신하는 작업,
- 상기 멀티미디어 데이터를 제 1 버퍼에 저장하는 작업,
- 출력 속도 또는 입력 속도 또는 둘 모두를 제어하는 작업(및 따라서 출력 속도의 실제 값을 알게 됨),
- 입력 속도를 표시하는 적어도 하나의 특성을 도출하는 작업,
- 출력 속도에 대한 정보 및 입력 속도를 표시하는 적어도 하나의 특성으로부터 도출되는 통계 정보에 기초하여, 출력될 상기 제 1 버퍼 내에 저장된 멀티미디어 데이터의 목표 대기시간을 도출하는 작업,
- 상기 멀티미디어 데이터가 출력되는 속도, 또는, 상기 멀티미디어 데이터가 버퍼에 저장되는 속도, 또는 둘 모두를 수정함으로써, 목표 대기시간과 일치하도록 버퍼에 의해 야기되는 대기시간을 조정하는 작업.
일 실시예에서, 발명에 따른 장치는 데이터 통신 기능을 갖고, 데이터 패킷을 수신하도록 배열되며,
- 상기 데이터 패킷에 포함되는 멀티미디어 데이터를 저장하기 위한 제 1 버퍼와,
- 수신되는 상기 데이터 패킷의 입력 속도의 적어도 하나의 표시를 도출하기 위한, 그리고, 상기 버퍼에 의해 야기되는 대기시간을 측정하기 위한, 도출 및 측정 수단과,
- 상기 멀티미디어 데이터를 출력하기 위한 출력과,
- 수신되는 상기 데이터 패킷의 입력 속도를 표시하는 적어도 하나의 특성을 저장하기 위한 제 2 버퍼와,
- 상기 제 2 버퍼에 대한 자동 상관을 수행하고, 상기 자동 상관 신호에 대한 피크 검출을 수행하며, 주기 신호를 발생시키고, 주기 신호와 상기 특성의 교차 상관을 수행하여 위상 오프셋을 결정하고, 상기 제 2 버퍼의 데이터 서브세트를 선택하도록 배열되는 처리 수단을 포함한다.
장치의 출력 속도에 관한 정보가 가용하다. 장치는 제 2 버퍼의 데이터 및 측정된 입력 속도의 적어도 하나의 표시로부터 도출되는 통계 정보에 기초하여 버퍼로부터 출력될 멀티미디어 데이터에 대한 목표 대기시간을 결정하도록 적응되는 제어 로직 모듈을 포함한다. 제어 로직은 목표 대기시간을 따르도록 버퍼에 의해 야기되는 대기시간을 조정하기 위해 멀티미디어 데이터를 버퍼에 저장하는 속도 또는 멀티미디어 데이터가 출력되는 속도를 수정하도록 적응된다.
개인 통신 장치에서, 버퍼 크기는 평균 양보다 훨씬 큰 데이터 양을 보유할만큼 충분히 크다(가령, 버퍼 크기는 1초이지만 평균 20ms의 데이터를 보유하도록 설계된다). 이러한 특정 설계는 오버플로가 쉽지 않은 장점을 가진다. 매우 흔한 버퍼 설계는 보유될 평균 데이터 양의 두배의 버퍼 크기를 가지며, 이는 대형 버스트가 통신 장치에 도착할 때 데이터의 대형 오버플로로(따라서 손실로) 나타날 수 있다. 한 예로서, 인터넷을 통해 스트리밍되는 비디오 스트림을 고려해보자. 수신기는 1초의 평균값을 보유하기 위한, 2초의 버퍼를 포함하는 네트워크의 지터를 보상하기 위한 버퍼링 메커니즘을 구현한다. 이는 스트림 내 불연속성없이 대략 1초 주의의 지터 값을 효과적으로 보상할 수 있다. 그 후, 수신기가 5초 동안 인터넷 연결이 정지된 상황을 가정해보자. 수신기가 연결을 복원할 때, 5초의 비디오 데이터가 시스템에 도달할 것이다. 그 후 장치는 2초를 저장할 공간만을 가지기 때문에, 3초의 비디오 데이터를 버릴 필요가 있다. 상한에 실질적으로 제한이 없는 버퍼(평균양보다 훨씬 큰 양을 보유할 수 있는 버퍼)에서, 장치는 전체 5초의 비디오를 흡수할 수 있고 그 후, 예를 들어, 버퍼에 보유되는 평균 양의 데이터가 1초의 명목 값으로 돌아올 때까지, 더 빠른 속도로 이를 재생할 수 있다.
발명에 따른 통신 장치에서, 패턴으로 검출되기 위해 네트워크 교란이 복수회 나타나야 한다. 랜덤 교란은 장치의 성능에 항상 부정적 영향을 미친다. (재생 전에 가능한 적응 양의 데이터를 버퍼링함으로써) 저-대기시간 해법이 취하는 앞서 언급한 "낙관적" 기법으로 인해, 그 후 현상(버퍼 언더런)이 나타날 때마다 스트리밍되는 데이터를 추론할 수 있는 해법을 갖는 것이 대단히 중요하다. 데이터 추론 메커니즘이 당해 문헌에서 발견될 수 있다. 예를 들어, 오디오 환경에서, Warped Burg's method를 이용함으로써 오디오를 추론할 수 있다(http://lib.tkk.fi/Diss/2004/isbn9512269503/article3.pdf). 그러나,이러한 방법은 종종 너무 큰 대기시간을 야기하거나, 너무 큰 연산 복잡도를 가진다. 그 후, 가능한 적은 대기시간과 함께 연산적으로 저렴한 장치를 가질 필요가 있다.
다른 실시예에서, 장치는 소정의 기능 및 요건을 가짐을 송신기에게 알릴 수 있다. 이에 따라 송신기는 수신기에 보내는 스트림을 최적화시킬 수 있다. 상기 기능은 출력 속도, 출력 대역폭, 총 디바이스 대기시간, 등에 대한 정보를 포함할 수 있지만, 이에 제한되지 않는다. 다른 한편, 이 요건들은 최대 수용가능 총 대기시간, 데이터 패킷의 시간 길이의 최소값 및/또는 최대값을 포함할 수 있으나, 이에 제한되지 않는다. 이는 {전력 소모, 총 대기시간, 데이터 대역폭, 수신 장치 신원, 사용자 신원} 중 하나 이상의 요소들에 대해 전송된 스트림을 최적화시키는데 유리하게 사용될 수 있다.
대기시간에 대한 제어는 대기시간을 이용하여 전송 링크의 교란을 보상하는 것을 넘어서는 장점을 제공한다. 예를 들어, 두개의 상이한 전송 링크로부터 오는 2개의 스트림이 동기화될 필요가 있는 경우에 대기시간 제어를 이용할 수 있다. 예를 들어, 지상을 통해 그리고 와이파이 스트림으로 유입되는 오디오 스트림을 들 수 있다. 이러한 경우에 와이파이 스트림은 스피커로부터의 거리로 인해 공기에 의해 야기되는 대기시간과 매칭될 수 있다. 다른 예는 와이파이로부터 오는 비디오와 블루투스로부터 오는 오디오 신호다. 두 전송 링크 모두 상이한 특성을 갖지만, 정확한 시간스탬핑을 이용할 경우 대기시간 제어는 이 둘을 수신기 상에서 완전하게 동기화시킬 것이다.
더욱이, 스트림 수리 알고리즘을 가짐으로써, 가혹 조건 하에서도 스트림의 품질을 보장할 수 있으므로, 장치는 수리 알고리즘이 소정의 품질로 추정할 수 있는 시간의 양을 고려하여 대기시간을 더욱 감소시키는 기능을 가진다. 예를 들어, 완전한 재현을 위해 100ms의 데이터가 버퍼링되어야 하는 해법에서, 60ms 데이터를 최적으로 추정할 수 있는 메커니즘을 가짐으로써 버퍼에 의해 야기되는 대기시간을 40ms까지 감소시킬 수 있고, 따라서 수리 메커니즘이 나머지 60ms에 대해 고려된다.
제안되는 해법은 시간에 따른 입력 속도의 전개를 표시하는 데이터 서브세트의 통계적 분석에 기초하여 목표 대기시간을 결정할 수 있고, 상기 데이터 서브세트는 검출된, 그리고 차후에 방지될 수 있는, 주기적 이벤트와 관련된 정보만을 지닌다.
제안되는 해법은 목표 값과 일치하는 대기시간으로 통신 장치로부터 멀티미디어 데이터를 출력할 수 있게 한다. 멀티미디어 데이터를 지닌 수신 데이터 패킷은 장치의 버퍼에 저장된다. 데이터 패킷은 입력 속도로 수신되고, 이는 꼭 일정한 것이 아니다. 이러한 입력 속도의 표시를 나타내는 적어도 하나의 특성이, 가령, 측정에 의해, 도출된다. 이 정보를 도출하기 위한 선호되는 특성은 수신 데이터 패킷의 시간적 길이 또는 수신 데이터 패킷의 도달 시간이다. 더욱이, 버퍼에 의해 야기되는 실제 대기시간이 결정된다. 또한 출력 속도에 관한 정보가 측정에 의해, 또는 가령, 장치의 사양으로부터, 획득된다. 그 후 모든 정보가, 상기 멀티미디어 데이터를 위한 목표 대기시간 값과 일치하도록, 대기시간을 조정하는데 가용하다. 목표 대기시간은 앞서 수집된 정보(즉, 한편으로 입력 속도에 대한 특성을 부여하는 적어도 하나의 특성과, 다른 한편으로 출력 속도에 대한 정보)로부터 도출되는 통계 정보에 기초한다. 그 다음, 입력 멀티미디어 데이터가 버퍼에 저장되는 속도 또는 출력 속도가 적응되어, 버퍼에 의해 야기되는 추가 대기시간을, 결정된 목표 대기시간에 따르도록 조정하게 된다. 통계 정보는 {평균 입력 속도, 입력 속도의 표준 편차, 입력 속도의 퍼센타일} 중 적어도 하나의 요소를 포함할 수 있다. 목표 대기시간은 대기시간 값들의 유한 세트로 표현될 수 있고, 이 중에서 하나의 값이 선택된다. 대안으로서, 목표 대기시간이 단일 값으로 주어진다. 또한 최소값 및 최대값을 갖는 가능한 값들의 범위가 제공될 수 있다.
데이터 패킷은 샘플-정확 타임스탬프를 더 포함할 수 있어서, 버퍼를 가상 시간선(timeline)으로 표현할 수 있게 한다. 그 후 이 방법은 가상 시간선을 이용하는 데이터 갭 복구 단계를 포함할 수 있다. 데이터 갭 복구는 (전송 중 잃어버린 데이터와 동일한 시간적 길이의 갭을 삽입함으로써) 원래의 멀티미디어 데이터의 시간적 거동을 보존하는 주된 장점을 가진다. 이러한 갭들은 손실 데이터의 부정적 효과를 최소화시키기 위해 순방향/역방향 외삽으로 채워질 수 있다.
방법은 버퍼가 충분하지 않은 데이터를 지닐 때 데이터를 출력하기 위한 데이터 추정 단계를 포함할 수 있다. 이를 위한 선호 방법은 과거 데이터의 순방향 외삽을 적용하는 것이다. 다른 기술은 가능한 가장 연속적인 방식으로 일치시키도록 과거 데이터를 샘플링하는 과정을 수반한다.
더욱이, 상기 데이터 패킷을 송신하도록 적응되는 송신기에 제어 정보를 전송하기 위한 단계가 수행될 수 있다. 예를 들어, 입력 속도에 관한 통계 정보가 전송될 수 있고, 따라서, (가령, 데이터 패킷의 시간적 길이를 더 크게 함으로써) 송신측 상에서 이 데이터의 분석 및 최적화가 가능해진다.
목표 대기시간의 결정은 또한 (데이터 품질, 대역폭, 위치, 거리, 전력 소모, 데이터 유형) 중 적어도 하나의 요소에 기초할 수 있다.
목표 대기시간은 입력 속도를 표시하는 새 정보가 가용함에 따라 연속적으로 연산 및 적용될 수 있다. 결정되는 바와 같이 목표 대기시간에 대해 템포럴 필터링(temporal filtering)이 적용될 수 있다. 한 예는 이러한 목표 대기시간의 변화의 높은 주파수 콘텐트를 제거하는 필터다. 다른 응용예는 상기 목표 대기시간의 증가를 필터링없이 남겨두면서, 상기 목표 대기시간의 더욱 완화된 감소로 나타나는 템포럴 필터링을 수반한다.
본 발명에 따른 알고리즘을 수행하도록 배열되는 장치는 인터넷, 근거리 통신망, 또는 다른 수단을 통해 데이터를 수신할 수 있다. 이로 인해 동기화 문제에 상당히 민감할 수 있다. 긴 거리를 거쳐 전송되는 멀티미디어 콘텐트는 원칙적으로 엄격한 대기시간 요건에 구속되지 않으나, 다른 전송 링크와 병렬로 연결될 때 그러할 수 있다. 예를 들어, DBV-T를 통한 TV 방송 수신과, 인터넷을 통한 맞춤형 오디오 스트림 수신은, 인터넷 스트림을 지연에 매우 민감하게 한다. 이러한 경우에, 대기시간을 가능한 최소값으로 유지시켜야 한다.
본 발명에 관련된 장치는 보청기 또는 이식가능한 청각 보철물일 수 있다. 이 장치들은 저전력 소모가 필요하고 짧은 대기시간이 필요하다고 알려져 있다. 전체 이식가능한 장치에서, 모든 외부 오디오 소스는 오디오 신호를 무선으로 스트리밍할 필요가 있다.
대안으로서, 본 발명에 따른 장치는 각각의 전극에서의 전위를 나타내는 자극 패턴들의 스트림을 수신하도록 배열되는 인공 와우(cochlear implant)다.
발명이 도면 및 앞서의 설명을 통해 세부적으로 도시 및 설명되었으나, 이러한 도해 및 설명은 예시적인 것으로 간주되어야지 제한적인 것으로 인식되어서는 안된다.
청구범위에서, "포함하는"이라는 용어는 다른 요소 또는 단계를 배제하지 않으며, 부정관사에 대응하는 "일" 또는 "하나의"의 표현은 복수의 대상을 배제하지 않는다. 단일 프로세서 또는 단일의 다른 유닛이 청구범위에서 언급되는 여러 품목들의 기능을 충족시킬 수 있다. 컴퓨터 프로그램이, 다른 하드웨어와 함께 또는 다른 하드웨어의 일부분으로 공급되는 광학 저장 매체 또는 솔리드 스테이트 매체와 같이, 적절한 매체 상에 저장/분포될 수 있으나, 인터넷 또는 다른 유선 또는 무선 통신 시스템을 통해서와 같이, 다른 형태로 분포될 수도 있다.

Claims (12)

  1. 수신기를 포함하는 통신 장치의 버퍼 부하 관리 방법에 있어서,
    전송 링크를 통해 수신되는, 데이터 패킷에 포함되는 멀티미디어 데이터를, 상기 통신 장치의 상기 수신기의 제 1 버퍼에 저장하는 단계와,
    상기 제 1 버퍼에서 상기 전송 링크의 입력 속도의 표시를 결정하고, 시간에 따른 상기 입력 속도에 대한 정보를 지닌 제 2 버퍼에 상기 표시를 저장하는 단계와,
    상기 제 2 버퍼로부터 취한, 시간에 따른 입력 속도에 대한 상기 정보의 샘플들을 포함하는 신호에 대한 자동상관을 수행하는 단계와,
    상기 자동상관에서 피크를 찾아내고, 발견된 피크 세트에서 적어도 하나의 피크에 대해, 상기 적어도 하나의 피크를 일으키는 이벤트의 주기를 식별하는 단계와,
    상기 적어도 하나의 피크에 대하여, 시간에 따른 입력 속도에 대한 상기 정보를 포함하는 상기 신호를, 지배 주기로 상기 식별된 주기를 가진 주어진 위상을 가진 주기 신호와 교차 상관을 수행하고, 상기 주기 신호와 관련된 위상 오프셋을 결정하는 단계와,
    기준 신호를 이용하여 상기 제 2 버퍼에 저장된 입력 속도에 관한 상기 정보의 하나 이상의 부분을 선택하는 단계 - 상기 기준 신호는 지배 주기로 상기 식별된 주기를 갖는 주기적인 신호이고, 이전 단계에서 결정된 상기 위상 오프셋을 가짐 - 와,
    상기 제 2 버퍼로부터 상기 선택된 정보 부분을 분석함으로써 상기 제 1 버퍼에 저장될 데이터의 양을 결정하는 단계와,
    상기 제 1 버퍼의 입력 속도 및/또는 출력 속도를 수정함으로써 상기 제 1 버퍼에 저장될 상기 데이터의 양을 공급하는 단계를 포함하는
    버퍼 부하 관리 방법.
  2. 제 1 항에 있어서,
    시간에 따른 입력 속도에 대한 상기 정보의 상기 샘플들을 포함하는 상기 신호를 데시메이팅(decimating)하는 단계를 더 포함하는
    버퍼 부하 관리 방법.
  3. 제 1 항 또는 제 2 항에 있어서,
    상기 제 2 버퍼의 크기는 적어도 10초의 시간 구간에 대응하는
    버퍼 부하 관리 방법.
  4. 제 1 항 또는 제 2 항에 있어서,
    상기 제 2 버퍼가 링 버퍼(ring buffer)인
    버퍼 부하 관리 방법.
  5. 제 1 항 또는 제 2 항에 있어서,
    상기 전송 링크의 입력 속도의 상기 표시는 상기 제 1 버퍼의 충전 퍼센티지(fill percentage)인
    버퍼 부하 관리 방법.
  6. 제 1 항 또는 제 2 항에 있어서,
    상기 하나 이상의 부분을 선택하는 단계는 논리 함수를 이용하여 수행되는
    버퍼 부하 관리 방법.
  7. 제 1 항 또는 제 2 항에 있어서,
    상기 선택된 하나 이상의 부분이 제 3 버퍼에 저장되는
    버퍼 부하 관리 방법.
  8. 제 1 항 또는 제 2 항에 있어서,
    상기 멀티미디어 데이터를 송신하는 송신기에 입력 속도의 조정에 관한 메시지를 전송하는 단계를 포함하는
    버퍼 부하 관리 방법.
  9. 제 1 항 또는 제 2 항에 있어서,
    시간에 따른 입력 속도에 대한 상기 정보가 업데이트될 때, 저장될 새 목표 데이터 양이 연산되는
    버퍼 부하 관리 방법.
  10. 제 9 항에 있어서,
    저장될 목표 데이터 양에 대해 템포럴 필터링(temporal filtering)이 수행되는
    버퍼 부하 관리 방법.
  11. 실행될 때, 제 1 항 또는 제 2 항에 따른 방법을 수행하는 명령어를 지닌 프로그래머블 장치 상에서 실행가능하고, 컴퓨터 판독가능 기록 매체 상에 저장되는, 프로그램.
  12. 통신 장치에 있어서,
    데이터 패킷에 포함되는 멀티미디어 데이터를 수신 및 출력하기 위한 입력 및 출력과,
    상기 수신되는 멀티미디어 데이터를 저장하기 위한 제 1 버퍼와,
    시간에 따른 상기 제 1 버퍼의 입력 속도에 대한 정보를 저장하기 위한 제 2 버퍼와,
    상기 제 1 버퍼의 출력 속도를 제어하기 위한 제어 수단과,
    처리 수단을 포함하며, 상기 처리 수단은
    - 상기 제 1 버퍼에서의 입력 속도의 표시를 결정하고 상기 제 2 버퍼에 상기 표시를 저장할 수 있으며,
    - 시간에 따른 상기 입력 속도에 대한 상기 정보의 샘플들을 포함하는 신호에 대해 자동상관을 수행할 수 있으며,
    - 상기 자동상관에서 피크를 찾아내어, 찾아낸 피크 세트 중 적어도 하나의 피크에 대하여, 상기 적어도 하나의 피크를 일으키는 이벤트의 주기를 식별할 수 있고,
    - 상기 적어도 하나의 피크에 대하여, 시간에 따른 입력 속도에 대한 상기 정보를 포함하는 상기 신호를, 지배 주기로 상기 식별된 주기를 갖는 주어진 위상을 가진 주기 신호와 교차상관을 수행하고, 상기 주기 신호에 대한 위상 오프셋을 결정할 수 있으며,
    - 기준 신호를 이용하여 상기 제 2 버퍼에 저장되는 입력 속도에 대한 상기 정보의 하나 이상의 부분을 선택할 수 있고, 상기 기준 신호는 지배 주기로 상기 식별된 주기를 갖는 주기적 신호이고 상기 결정된 위상 오프셋을 가지며,
    - 상기 선택된 부분을 분석함으로써 상기 제 1 버퍼에 저장될 데이터의 양을 결정 및 공급할 수 있는
    통신 장치.
KR1020177007728A 2014-10-02 2015-10-01 저-대기시간 멀티미디어 스트리밍 환경의 문제 패턴 취급 방법 KR102509179B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201462058769P 2014-10-02 2014-10-02
US62/058,769 2014-10-02
PCT/EP2015/072708 WO2016050916A1 (en) 2014-10-02 2015-10-01 Method to handle problematic patterns in a low latency multimedia streaming environment

Publications (2)

Publication Number Publication Date
KR20170067726A KR20170067726A (ko) 2017-06-16
KR102509179B1 true KR102509179B1 (ko) 2023-03-13

Family

ID=54252292

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177007728A KR102509179B1 (ko) 2014-10-02 2015-10-01 저-대기시간 멀티미디어 스트리밍 환경의 문제 패턴 취급 방법

Country Status (6)

Country Link
US (1) US10484448B2 (ko)
EP (1) EP3202106B1 (ko)
KR (1) KR102509179B1 (ko)
CN (1) CN107113283B (ko)
DK (1) DK3202106T3 (ko)
WO (1) WO2016050916A1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110351595B (zh) * 2019-07-17 2023-08-18 北京百度网讯科技有限公司 一种缓冲处理方法、装置、设备和计算机存储介质
US12021720B2 (en) 2020-07-23 2024-06-25 Intel Corporation Methods and apparatus to generate dynamic latency messages in a computing system
US20200359265A1 (en) * 2020-07-23 2020-11-12 Intel Corporation Methods and apparatus for coordination of network traffic between wireless network devices and computing platforms
CN112217739B (zh) * 2020-09-30 2023-05-12 北京淳中科技股份有限公司 码流发送设备、码流发送方法及码流发送系统
US11533270B2 (en) * 2020-10-23 2022-12-20 Arista Networks, Inc. Adaptive buffering in a distributed system with latency / adaptive tail drop

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050232309A1 (en) * 2004-04-17 2005-10-20 Innomedia Pte Ltd. In band signal detection and presentation for IP phone

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4110560A (en) * 1977-11-23 1978-08-29 Gte Sylvania Incorporated Communication apparatus
US5265217A (en) * 1987-03-03 1993-11-23 Adler Research Associates Optimal parametric signal processor for least square finite impulse response filtering
JP3497008B2 (ja) * 1995-03-30 2004-02-16 株式会社アドバンテスト Gmsk通信デバイスの試験装置
US6862298B1 (en) * 2000-07-28 2005-03-01 Crystalvoice Communications, Inc. Adaptive jitter buffer for internet telephony
US20050258983A1 (en) * 2004-05-11 2005-11-24 Dilithium Holdings Pty Ltd. (An Australian Corporation) Method and apparatus for voice trans-rating in multi-rate voice coders for telecommunications
MY149811A (en) * 2004-08-30 2013-10-14 Qualcomm Inc Method and apparatus for an adaptive de-jitter buffer
US7359007B2 (en) * 2004-10-12 2008-04-15 Mediatek Inc. System for format conversion using clock adjuster and method of the same
US7995676B2 (en) * 2006-01-27 2011-08-09 The Mitre Corporation Interpolation processing for enhanced signal acquisition
US20070220184A1 (en) * 2006-03-17 2007-09-20 International Business Machines Corporation Latency-locked loop (LLL) circuit, buffer including the circuit, and method of adjusting a data rate
US8548041B2 (en) * 2008-09-25 2013-10-01 Mediatek Inc. Adaptive filter
US7920078B2 (en) * 2009-06-19 2011-04-05 Conexant Systems, Inc. Systems and methods for variable rate conversion
CN101827052B (zh) * 2010-04-14 2012-12-26 中国科学院计算技术研究所 一种用于lte系统时间同步和频率同步的方法及装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050232309A1 (en) * 2004-04-17 2005-10-20 Innomedia Pte Ltd. In band signal detection and presentation for IP phone

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Hila,T. et.al, Efficient structures for time delay estimation in time-varying environments, Circuits and Systems, 2008. APCCAS 2008. IEEE Asia Pacific Conference on, 30 Nov. - 3 Dec. 2008, Vol.2008, no.11, pp.1426-1429 1부.*
Ianniello, J. , Time delay estimation via cross-correlation in the presence of large estimation errors, IEEE transactions on acoustics, speech, and signal processing, IEEE, Dec. 1982, Vol.30, no.6, pp.998-1003 1부.*

Also Published As

Publication number Publication date
CN107113283B (zh) 2020-06-09
DK3202106T3 (en) 2019-04-08
KR20170067726A (ko) 2017-06-16
US20170318071A1 (en) 2017-11-02
EP3202106A1 (en) 2017-08-09
EP3202106B1 (en) 2018-12-12
US10484448B2 (en) 2019-11-19
WO2016050916A1 (en) 2016-04-07
CN107113283A (zh) 2017-08-29

Similar Documents

Publication Publication Date Title
KR102509179B1 (ko) 저-대기시간 멀티미디어 스트리밍 환경의 문제 패턴 취급 방법
CN108353239B (zh) 无线音频同步
EP2979399B1 (en) Method and device for latency adjustment
US10015216B2 (en) Methods and systems for virtual conference system using personal communication devices
US10516718B2 (en) Platform for multiple device playout
US9942119B2 (en) Adaptive jitter buffer
US8786659B2 (en) Device, method and computer program product for responding to media conference deficiencies
US9967437B1 (en) Dynamic audio synchronization
US11064228B2 (en) Audio playback timing adjustment
US20220038769A1 (en) Synchronizing bluetooth data capture to data playback
US20180309827A1 (en) Method and apparatus for synchronizing applications' consumption of remote data
JP6377557B2 (ja) 通信システム、通信方法、およびプログラム
US10925014B2 (en) Method and apparatus for synchronization in a network
US11108486B2 (en) Timing improvement for cognitive loudspeaker system
US20220070604A1 (en) Audio equalization metadata
US20210112106A1 (en) System and Method for Synchronizing Networked Rendering Devices
JP3833490B2 (ja) データ伝送において発生する遅延ジッタを吸収する装置および方法
EP4152768A1 (en) Slave requested audio synchronization
US9711128B2 (en) Combined audio for multiple content presentation
US11741933B1 (en) Acoustic signal cancelling
WO2023170677A1 (en) Acoustic signal cancelling
JP2010206555A (ja) 通信システム、通信端末、バッファ制御方法及びプログラム

Legal Events

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