KR20160040320A - 다중경로 레이트 적응 - Google Patents

다중경로 레이트 적응 Download PDF

Info

Publication number
KR20160040320A
KR20160040320A KR1020167008169A KR20167008169A KR20160040320A KR 20160040320 A KR20160040320 A KR 20160040320A KR 1020167008169 A KR1020167008169 A KR 1020167008169A KR 20167008169 A KR20167008169 A KR 20167008169A KR 20160040320 A KR20160040320 A KR 20160040320A
Authority
KR
South Korea
Prior art keywords
paths
information
transmission
rate adaptation
rate
Prior art date
Application number
KR1020167008169A
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 KR20160040320A publication Critical patent/KR20160040320A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/38Flow control; Congestion control by adapting coding or compression rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64723Monitoring of network processes or resources, e.g. monitoring of network load
    • H04N21/64738Monitoring network characteristics, e.g. bandwidth, congestion level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/302Route determination based on requested QoS
    • H04L65/4084
    • 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/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/613Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for the control of the source by 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/60Network streaming of media packets
    • H04L65/70Media network packetisation
    • 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/752Media network packet handling adapting media to network capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2385Channel allocation; Bandwidth allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2402Monitoring of the downstream path of the transmission network, e.g. bandwidth available
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44209Monitoring of downstream path of the transmission network originating from a server, e.g. bandwidth variations of a wireless network

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Databases & Information Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

엔드-투-엔드 멀티미디어 스트리밍 시스템은 스트리밍 서버 및 목적지를 포함할 수 있다. 스트리밍 서버는, 복수의 경로들을 통해 목적지로 다중 디스크립션 코딩-인코딩된 콘텐츠를 전송하는 콘텐츠 소스를 포함한다. 목적지는 다수의 경로들로부터의 디스크립션들을 종합하고, 그들을 디코딩 및 재조합하여 콘텐츠를 복원하기 위한 종합기를 포함한다. 목적지에서의 피드백 전송기는 다수의 경로들의 채널 조건들에 기초하여 트래픽 성능 변수들을 생성하고, 이러한 변수들을 스트리밍 서버에서의 피드백 수신기로 전송한다. 피드백 수신기는 콘텐츠의 전송들에 대한 조절들을 하고 다수의 경로들을 통한 전송들을 동기화하기 위해 피드백 정보를 사용한다.

Description

다중경로 레이트 적응{MULTIPATH RATE ADAPTATION}
본 발명의 양상들은 일반적으로 원격 통신 시스템들에 관한 것이며, 더 상세하게는, 다중 디스크립션 코딩을 사용하는 멀티미디어 스트리밍 시스템들에 관한 것이다.
멀티미디어 콘텐츠는 엔드-투-엔드 시스템에 제공될 수 있다. 현재, 많은 그러한 엔드-투-엔드 시스템들은 레이트 적응 특징부를 포함하고, 여기서 멀티미디어의 단일 디스크립션이 단일 경로를 통해 콘텐츠 소스로부터 목적지로 전송된다. 다중 디스크립션 코딩(MDC)을 사용하는 시스템에서, 여기서 멀티미디어 콘텐츠는 소스로부터 종합기(aggregator)로의 전달을 위해 복수의 디스크립션들로 분할되고, 디스크립션들이 다수의 경로들을 통해 제공될 수 있다. 이러한 방식으로, 상기 시스템은 증가된 강건성을 가질 수 있고, 여기서 콘텐츠는 디스크립션들 중 하나 이상의 분실됨에도 불구하고 복구될 수 있다. 또한, 경로들 중 어느 하나를 통한 오버헤드는 단일 경로만을 사용하는 다른 시스템들에 비해 감소되는데, 왜냐하면 디스크립션들이 콘텐츠의 더 낮은 분해도 버전들, 또는 콘텐츠의 특정 부분들만을 포함할 수 있기 때문이다.
그러나, 모바일 디바이스가 스트리밍 콘텐츠 서버로서 사용될 때, 채널 조건들은 시간에 걸쳐 크기 변동할 수 있다. 이것은 스트리밍 콘텐츠를 전달하기 위한 채널의 시간-의존성 능력들을 초래할 수 있다. 따라서, 모바일 콘텐츠 서버들에 대한 개선된 멀티미디어 스트리밍 능력들에 대한 요구가 당분야에 남아 있다.
다중 디스크립션 코딩(MDC)을 사용하는 시스템에서, 여기서 멀티미디어 콘텐츠는 소스로부터 종합기로의 전달을 위해 복수의 디스크립션들로 인코딩되고, 디스크립션들이 다수의 경로들을 통해 제공될 수 있다. 이러한 방식으로, 상기 시스템은 증가된 강건성을 가질 수 있고, 여기서 콘텐츠는 디스크립션들 중 하나 이상의 분실됨에도 불구하고 복구될 수 있다. 또한, 경로들 중 어느 하나를 통한 오버헤드는 단일 경로만을 사용하는 다른 시스템들에 비해 감소되는데, 왜냐하면 디스크립션들이 콘텐츠의 다 낮은 분해도 버전들, 또는 콘텐츠의 특정 부분들만을 포함할 수 있기 때문이다.
본 발명의 다양한 양상들에 따라, 멀티미디어 콘텐츠가 다수의 디스크립션들로 코딩되고 다수의 경로들을 통해 전달될 때, 경로들 각각의 다양한 조건들에 따라, 양호하고 일관된 QoE(quality of experience)를 유지하기 위해 각각의 경로들 사이에서 레이트 적응이 조정될 수 있다. 단일 경로에 대한 전송의 레이트를 적응시키는 시스템과 대조적으로, 본 발명의 다양한 양상들은 다수의 디스크립션들 사이의 동기화를 개선하기 위해 경로 간 성능 통계들과 같은 그러한 요인들을 고려한다.
일 양상에서, 본 발명은 다중경로 레이트 적응(multipath rate adaptation)의 방법을 제공하고, 상기 방법은 각각의 복수의 경로들 상으로 정보를 전송하는 단계, 복수의 경로들에 대한 하나 이상의 트래픽 성능 변수들을 포함하는 피드백 정보를 수신하는 단계, 피드백 정보에 응답하여 경로들 중 하나 이상의 경로 상의 전송을 적응시키는 단계, 및 전송의 적응에 대응하여 복수의 경로들 사이에서 동기화하는 단계를 포함한다.
본 발명의 또 다른 양상은 다중경로 레이트 적응을 위한 피드백을 제공하는 방법을 제공하고, 상기 방법은 복수의 경로들을 통해 정보를 수신하는 단계, 및 정보에 응답하여 피드백 정보를 제공하는 단계를 포함하고, 여기서 피드백 정보는 복수의 경로들 중 적어도 2 개의 경로들 사이의 관계에 대응하는 정보 엘리먼트를 포함한다.
본 발명의 또 다른 양상은 다중경로 레이트 적응을 위한 장치를 제공하고, 상기 장치는 각각의 복수의 경로들 상으로 정보를 전송하기 위한 수단, 복수의 경로들에 대한 하나 이상의 트래픽 성능 변수들을 포함하는 피드백 정보를 수신하기 위한 수단, 피드백 정보에 응답하여 경로들 중 하나 이상의 경로 상의 전송을 적응시키기 위한 수단, 및 전송의 적응에 대응하여 복수의 경로들 사이에서 동기화하기 위한 수단을 포함한다.
본 발명의 또 다른 양상은 다중경로 레이트 적응을 위한 피드백을 제공하기 위한 장치를 제공하고, 상기 장치는 복수의 경로들을 통해 정보를 수신하기 위한 수단, 및 정보에 응답하여 피드백 정보를 제공하기 위한 수단을 포함하고, 피드백 정보는 복수의 경로들 중 적어도 2 개의 경로들 사이의 관계에 대응하는 정보 엘리먼트를 포함한다.
본 발명의 또 다른 양상은 컴퓨터-판독 가능 매체를 포함하는 컴퓨터 프로그램 물건을 제공한다. 여기서, 컴퓨터-판독 가능 매체는 각각의 복수의 경로들 상으로 정보를 전송하기 위한 코드, 복수의 경로들에 대한 하나 이상의 트래픽 성능 변수들을 포함하는 피드백 정보를 수신하기 위한 코드, 피드백 정보에 응답하여 경로들 중 하나 이상의 경로 상의 전송을 적응시키기 위한 코드, 및 전송의 적응에 대응하여 복수의 경로들 사이에서 동기화하기 위한 코드를 포함한다.
본 발명의 또 다른 양상은 컴퓨터-판독 가능 매체를 포함하는 컴퓨터 프로그램 물건을 제공한다. 여기서 컴퓨터-판독 가능 매체는 복수의 경로들을 통해 정보를 수신하기 위한 코드, 및 정보에 응답하여 피드백 정보를 제공하기 위한 코드를 포함하고, 여기서 피드백 정보는 복수의 경로들 중 적어도 2 개의 경로들 사이의 관계에 대응하는 정보 엘리먼트를 포함한다.
본 발명의 또 다른 양상은 다중경로 레이트 적응을 위한 장치를 제공하고, 상기 장치는 적어도 하나의 프로세서, 및 적어도 하나의 프로세서에 연결된 메모리를 포함한다. 여기서 적어도 하나의 프로세서는 각각의 복수의 경로들 상으로 정보를 전송하고, 복수의 경로들에 대한 하나 이상의 트래픽 성능 변수들을 포함하는 피드백 정보를 수신하고, 피드백 정보에 응답하여 경로들 중 하나 이상의 경로 상의 전송을 적응시키고, 그리고 전송의 적응에 대응하여 복수의 경로들 사이에서 동기화하도록 구성된다.
본 발명의 또 다른 양상은 다중경로 레이트 적응을 위한 피드백을 제공하는 장치를 제공하고, 상기 장치는 적어도 하나의 프로세서, 및 적어도 하나의 프로세서에 연결된 메모리를 포함한다. 여기서 적어도 하나의 프로세서는 복수의 경로들을 통해 정보를 수신하고, 그리고 정보에 응답하여 피드백 정보를 제공하도록 구성되고, 피드백 정보는 복수의 경로들 중 적어도 2 개의 경로들 사이의 관계에 대응하는 정보 엘리먼트를 포함한다.
도 1은 프로세싱 시스템을 사용하는 장치에 대한 하드웨어 구현의 예를 예시한 블록도이다.
도 2는 엔드-투-엔드 다중경로 레이트 적응 시스템을 예시한 간략한 블록도이다.
도 3은 i 번째 경로에 대한 교정을 위한 프로세스를 예시한 흐름도이다.
도 4는 지연 교정을 예시한 흐름도이다.
도 5a 내지 도 5e는 복수의 경로들 사이에서 동기화를 위한 프로세스를 예시한 흐름도들이다.
도 6은 다중경로 레이트 적응을 위한 예시적인 프로세스(600)를 예시한 흐름도이다.
도 7은 다중경로 레이트 적응을 위해 피드백을 제공하기 위한 예시적인 프로세스(700)를 예시한 흐름도이다.
첨부된 도면들과 관련하여 아래에 기술되는 상세한 설명은 다양한 구성들의 설명으로서 의도되며, 본 명세서에서 설명되는 개념들이 실시될 수 있는 유일한 구성들을 표현하는 것으로 의도되지 않는다. 상세한 설명은 다양한 개념들의 철저한 이해를 제공하기 위해 특정 세부사항들을 포함한다. 그러나, 이러한 개념들이 이 특정 세부사항들 없이도 실시될 수 있음은 당업자들에게 자명할 것이다. 몇몇 예들에서, 이러한 개념들을 모호하게 하지 않기 위해, 잘 알려진 구조들 및 컴포넌트들은 블록도 형태로 도시되어 있다.
도 1은 프로세싱 시스템(114)을 사용하는 장치(100)에 대한 하드웨어 구현의 예를 예시한 블록도이다. 이러한 예에서, 프로세싱 시스템(114)은 일반적으로 버스(102)로 표현되는 버스 아키텍처로 구현될 수 있다. 버스(102)는 프로세싱 시스템(114)의 특정 애플리케이션 및 전체 설계 제약들에 의존하여 임의의 수의 상호 접속 버스들 및 브리지들을 포함할 수 있다. 버스(102)는 일반적으로 프로세서(104)에 의해 표현되는 하나 이상의 프로세서들, 메모리(105), 및 일반적으로 컴퓨터-판독 가능 매체(106)에 의해 표현되는 컴퓨터-판독 가능 매체들을 포함하는 다양한 회로들을 함께 링크한다. 버스(102)는, 당분야에 잘 알려지고 따라서 임의의 추가로 설명되지 않을 타이밍 소스들, 주변장치들, 전압 레귤레이터들 및 전력 관리 회로들과 같은 다양한 다른 회로들을 또한 링크한다. 버스 인터페이스(108)는 버스(102) 및 트랜시버(110) 사이에 인터페이스를 제공한다. 트랜시버(110)는 전송 매체를 통해 다양한 다른 장치와 통신하기 위한 수단을 제공한다. 장치의 성질에 의존하여, 사용자 인터페이스(112)(예를 들면, 키패드, 디스플레이, 스피커, 마이크로폰, 조이스틱)가 또한 제공될 수 있다.
프로세서(104)는, 컴퓨터-판독 가능 매체(106) 상에 저장된 소프트웨어의 실행을 포함하여, 버스(102)를 관리하는 것 및 일반적인 프로세싱을 담당한다. 소프트웨어는, 프로세서(104)에 의해 실행될 때, 프로세싱 시스템(114)으로 하여금 임의의 특정 장치에 대해 아래에 설명되는 다양한 기능들을 수행하게 한다. 컴퓨터-판독 가능 매체(106)는 또한 소프트웨어를 실행할 때 프로세서(104)에 의해 조작되는 데이터를 저장하기 위해 사용될 수 있다.
도 2는 본 발명의 양상에 따른 엔드-투-엔드 다중경로 레이트 적응 시스템(200)을 예시한 간략한 블록도이다. 레이트 적응 시스템은 소스(202)로부터 종합기(214)로의 다수의 데이터 경로들, 및 종합기(214)로부터 소스(202)로의 단일 피드백 경로를 제공한다.
스트리밍 서버(201)는 MDC 콘텐츠를 목적지(211)로 스트리밍하기 위한 임의의 적절한 노드일 수 있다. 예를 들면, 스트리밍 서버(201)는 모바일 폰, 개인용 컴퓨터, 서버, 또는 본원에 기재된 바와 같이 콘텐츠를 스트리밍하는 것을 프로세싱할 수 있는 임의의 다른 적절한 컴퓨팅 디바이스일 수 있다. 일부 예들에서, 스트리밍 서버(201)는 서버 또는 하나 이상의 소스 헬퍼들(예시되지 않음)과 같은 복수의 장치를 포함할 수 있다. 예를 들면, 복수의 노드들 각각은 전송의 부가적인 다이버시티를 제공하기 위해 별개의 각각의 업링크 상으로 하나 이상의 디스크립션들을 전송할 수 있다. 스트리밍 서버(201)는 도 1에 예시된 바와 같은 하나 이상의 프로세싱 시스템들(114)을 포함할 수 있다. 예시된 예에서, 스트리밍 서버(201)는 소스(202), 복수의 트랜스레이터들(204a-204b), 복수의 전송 버퍼들(206a-206b) 및 피드백 수신기(208)를 포함한다. 마찬가지로, 목적지(211)는 도 1에 예시된 바와 같이 하나 이상의 프로세싱 시스템들(114)을 포함할 수 있다. 예시된 예에서, 목적지(211)는 복수의 수신기 버퍼들(212a-212b), 종합기(214) 및 피드백 전송기(216)를 포함한다.
소스(202)는 공통 트래픽 세션 동안에 다수의 경로들로 데이터를 전송 및/또는 저장하기 위해 구성된 노드일 수 있다. 예시에서, 2 개의 경로들이 예시되지만, 임의의 적절한 수의 경로들이 사용될 수 있다. 일부 양상들에서, 소스는 콘텐츠, 예를 들면, 멀티미디어 콘텐츠를 저장하기 위한 메모리, 하드 드라이브 등과 같은 저장 공간을 포함할 수 있다. 저장된 멀티미디어 콘텐츠는 특정 구현에 의존하여 인코딩될 수 있거나 인코딩되지 않을 수 있다. 소스(202)는, 콘텐츠가 소스(202)에서 수신됨에 따라 콘텐츠를 인코딩하기 위한 인코더(예시되지 않음)를 포함할 수 있다. 본 발명의 일부 양상들에서, 인코더는 별개의 엘리먼트일 수 있어서, 콘텐츠가 오프라인으로 인코딩될 수 있고 인코딩된 콘텐츠가 소스(202)에 저장될 수 있다. 본 발명의 또 다른 양상에서, 트랜스레이터(204)는, 소스(202)에 의해 제공된 콘텐츠의 인코딩이 실시간으로 수행될 수 있도록 하는 인코더를 포함할 수 있다. 본 발명의 다른 양상들에서, 소스는 카메라, 마이크로폰, 네트워크 인터페이스 등과 같은 콘텐츠 생성 또는 캡처 메커니즘일 수 있다.
트랜스레이터들(204)은 멀티미디어 콘텐츠를 소프트 코딩하고, 얼마나 많은 압축이 사용되는지를 결정하고, 코딩 포맷을 선택하고, 정보를 전송기 버퍼들(206)에 제공하도록 구성된 노드들일 수 있다. 여기서, 각각의 트랜스레이터들(204)은 콘텐츠 소스(202)로부터 멀티미디어 콘텐츠를 수신한다. 또한, 각각의 트랜스레이터(204)는 피드백 수신기(208)로부터 조절 정보를 수신한다. 트랜스레이터(204)에 제공된 조절 정보는 에러 처리 정보, 코딩 레이트 조절 정보, 및 목적지(211)로부터 수신된 피드백 정보에 따라 결정된 재동기화 정보를 포함할 수 있다. 트랜스레이터(204)는 에러 처리 정보에 따라 소스 코딩 절차 내에서 에러 처리 루틴들을 변경하도록 인에이블될 수 있다. 트랜스레이터(204)는 또한 코딩 레이트 조절 정보에 따라 멀티미디어 콘텐츠를 인코딩하기 위한 코딩 레이트를 변경하도록 인에이블될 수 있다. 또한, 트랜스레이터(204)는 재동기화 정보에 따라 동기화를 위해 멀티미디어 콘텐츠의 타이밍을 조절하도록 인에이블될 수 있다. 이러한 조절들은 아래에 부가적으로 상세히 논의된다.
전송 버퍼들(206)은 각각의 트랜스레이터(204)에 의해 제공된 인코딩된 멀티미디어 콘텐츠를 일시적으로 저장하기 위한 메모리를 포함할 수 있고, 버퍼링된 멀티미디어 콘텐츠를 인터넷(210)과 같은 네트워크로 전송하기 위한 통신 인터페이스를 또한 포함할 수 있다. 예를 들면, 버퍼(206)는 모뎀, 이더넷 인터페이스, 무선 에어 인터페이스를 사용하기 위한 무선 전송기, 또는 정보를 인터넷(210)에 제공하기 위한 임의의 다른 적절한 수단을 포함하거나 이와 통신적으로 연결될 수 있다. 전송 버퍼들(206)은 목적지(211)로부터 수신된 피드백 정보에 따라 결정된, 피드백 수신기(208)로부터의 조절 정보를 또한 수신할 수 있다. 예를 들면, 전송 버퍼(206)는 피드백 수신기(208)로부터의 전송 레이트 조절 정보에 따라 전송 레이트를 변경하도록 인에이블될 수 있다.
피드백 수신기(208)는, 하나 이상의 적응 알고리즘들을 실행하고, 목적지(211)로부터의 피드백 정보에 따라 조절 신호들을 생성하기 위한 레이트 적응 모듈을 포함하는 노드일 수 있다. 예를 들면, 피드백 수신기(208)는 피드백 정보를 수신하고, 스트리밍 서버(201)로부터의 전송의 특정 파라미터가 조절될 수 있다고 결정할 수 있다. 따라서, 피드백 수신기는 피드백 정보에 따라 조절 정보를 트랜스레이터(204) 및/또는 전송 버퍼들(206) 중 하나 이상에 제공할 수 있다. 조절 정보는 코딩 레이트 조절 정보, 동기화 정보, 전송 레이트 조절 정보, 및 에러 처리 정보를 포함할 수 있다.
인코더가 소스(202)에, 트랜스레이터(204)에 또는 별개의 엔티티로서 위치되든지 아니든지, 코딩 레이트 조절 정보가 인코더에 제공될 수 있다. 예시된 예에서, 인코더(예시되지 않음)는 실시간 인코딩을 위해 트랜스레이터들(204) 내에 위치되어, 코딩 레이트 조절 정보가 트랜스레이터들(204)에 제공된다. 또 다른 예에서, 멀티미디어 콘텐츠가 오프라인에서 인코딩되고 인코딩된 형태로 소스(202)에 저장되면, 피드백 정보에 기초하여 압축 또는 코딩 레이트를 변경하는 것은 옵션이 아닐 수 있다. 그러한 예에서, 코딩 레이트 조절 정보가 제공되지 않을 수 있다.
동기화 정보는, 특정 트랜스레이터(204)가 다수의 경로들을 동기화하기 위해 구현할 수 있는 스로틀링(throttling) 또는 순방향 탐색(seeking forward)의 양을 표시하는데 사용될 수 있다. 즉, 피드백 정보에 응답하여 경로들 중 하나 이상의 적응이 경로들로 하여금 동기화에서 벗어나게 할 수 있을 때, 동기화 정보는 경로들을 보상하고 이를 동기화하게 하기 위해 경로들 중 하나 이상을 스로틀링 또는 순방향 탐색하는데 사용될 수 있다. 여기서, 트랜스레이터의 스로틀링은 일반적으로 그 경로 상의 데이터의 전송을 일시적으로 정지시키는 것을 지칭할 수 있다. 또한, 트랜스레이터에 대한 순방향 탐색은 일반적으로 이미 인코딩되었을 수 있는 데이터의 일부에 대해서는 스킵(skip)하는 것, 근본적으로 또 다른 섹션으로의 빨리 진행하고(fast forwarding) 그 섹션으로부터 데이터를 전송하기 시작하는 것을 지칭한다.
에러 처리 정보는 에러 처리 루틴에 대한 조절들을 위해 사용될 수 있다. 에러 처리 루틴은, 당업자들에게 알려지고 따라서 본 발명에서 상세히 논의되지 않는 소스 코딩의 부분이다.
전송 레이트 조절 정보는 전송 버퍼(206)로부터 인터넷(210)으로의 버퍼링된 미디어 콘텐츠의 전송의 레이트를 제어하기 위해 전송 버퍼(206)에서 사용될 수 있다. 즉, 실시간 인코딩이 사용되지 않는 본 발명의 일부 양상들에서, 전송 버퍼(206)로부터의 전송 레이트가 조절될 수 있다. 본 발명의 일부 양상들에서, 전송 레이트 조절 정보가 사용되지 않을 수 있다.
인터넷 "클라우드(210)"는 소스(201)로부터 목적지(211)로 전송된 콘텐츠 정보를 전달하기 위한 네트워크를 예시하는 하나의 예이다. 임의의 적절한 통신 매체가 소스(201) 및 목적지(211) 사이에 사용될 수 있다.
목적지(211)에서, 수신기 버퍼들(212)은 인터넷(210)으로부터 미디어 콘텐츠 정보를 수신할 수 있다. 수신기 버퍼들(212)은 스트리밍 서버(201)로부터 제공된 수신된 멀티미디어 콘텐츠를 일시적으로 저장하기 위한 메모리를 포함할 수 있고, 또한 수신기 버퍼들(212)을 인터넷(210)에 통신적으로 연결하기 위한 통신 인터페이스를 포함할 수 있다. 예를 들면, 버퍼(212)는 모뎀, 이더넷 인터페이스, 무선 에어 인터페이스를 사용하기 위한 무선 수신기, 또는 인터넷(210)으로부터 정보를 수신하기 위한 임의의 다른 적절한 수단을 포함하거나 이에 통신적으로 연결될 수 있다. 수신기 버퍼들(212)은 또한 버퍼링된 콘텐츠를 종합기(214)에 제공할 수 있다.
종합기(214)는 공통 트래픽 세션 동안에 다수의 경로들로부터 데이터를 종합하는 노드일 수 있다. 예를 들면, 종합기는 수신 버퍼들(212)을 포함하는 경로들로부터 콘텐츠의 디스크립션들을 수신하고, 인코딩된 디스크립션들을 디코딩하고, 출력 콘텐츠를 생성하기 위해 디코딩된 디스크립션들을 결합할 수 있다. 또한, 종합기(214)는 다수의 경로들에 대응하는 통계들을 수집하고, 다수의 경로들을 특징화하기 위한 하나 이상의 메트릭들을 결정하고, 피드백 전송기(216)와 관련하여, 스트리밍 서버(201)로 전송될 피드백 정보를 결정 및 생성할 수 있다.
본 발명의 다양한 양상들에 따라, 다수의 시스템 파라미터들이 레이트 적응을 위해 스트리밍 서버(201)에서 사용될 수 있다.
TRA로서 표기된 레이트 적응 간격은 레이트 적응이 발생할 수 있는 최소 시간 간격을 나타낼 수 있다. 본 발명의 일부 양상들에서, TRA는 약 0.5 초일 수 있다. TRA의 값은 스트리밍 서버(201)에만 알려질 수 있다. RI(i)로서 표기되는 복수의 경로들 중에서 i 번째 경로의 초기 코딩 레이트는 i 번째 경로의 소스에서 코딩 레이트의 시작점을 나타낼 수 있다. RI(i)의 값은 스트리밍 서버(201) 및 목적지(211) 양자에게 알려질 수 있다.
스트리밍 서버(201)는 각각의 조절 또는 적응에 대응하는 적응 타이머와 같은 특정 타이머들을 포함할 수 있다. 이러한 타이머들은 특정 시스템 파라미터들을 사용할 수 있다. 예를 들면, 동기화 조절을 위해 조절 타이머의 만료 시간(TOsync)은, 동기화에 대한 적응 타이머가 타임 아웃하기 전에, 어떠한 동기화 동작도 발생하지 않아야 한다는 것을 보장하는데 사용될 수 있다. 레이트 조절을 위한 적응 타이머의 만료 시간(TOrate)은, 레이트 조절을 위한 적응 타이머가 타임 아웃하기 전에, 어떠한 레이트 조절 동작도 발생하지 않아야 한다는 것을 보장하는데 사용될 수 있다. 교정 타이머의 만료 시간(TOcal)은, 교정 타이머가 타임 아웃하기 전에, 어떠한 교정 동작도 발생하지 않아야 한다는 것을 보장하는데 사용될 수 있다.
스트리밍 서버(201)는 또한 개별적인 전송 버퍼들(206) 각각의 버퍼 점유율을 모니터링할 수 있다. 버퍼 점유율들은 특정 파라미터들을 사용할 수 있다. 버퍼 점유율 하위 경계(BL)는 종합기에서 모든 경로에 대한 시간 상의 각각의 전송 버퍼(206) 점유율의 하위 경계를 표시하는데 사용될 수 있다. 본 발명의 일부 양상들에서, BL은 약 3 초일 수 있다. 목적지(211)는 버퍼 점유율이 BL 아래로 떨어질 때를 스트리밍 서버(201)에 시그널링할 수 있다. 버퍼 점유율 상위 경계(BU)는 종합기에서 모든 경로의 시간 상의 버퍼 점유율의 상위 경계를 표시하는데 사용될 수 있다. 본 발명의 일부 양상들에서, BU는 약 6 초일 수 있다. 목적지(211)는 버퍼 점유율이 BU를 초과할 때를 스트리밍 서버(201)에 시그널링할 수 있다. 초기 버퍼 점유율(BI)은 모든 경로의 시간 상의 예상된 버퍼 점유율을 표시하는데 사용될 수 있다. 본 발명의 일부 양상들에서, BI는 약 9 초일 수 있다. 목적지(211)는 버퍼 점유율이 제 1 시간 동안에 BI에 도달할 때를 스트리밍 서버(201)에 시그널링할 수 있다. 버퍼 차이 윈도우(W)는 다수의 경로들 중에서 평균 버퍼 점유율에 관련하여 특정 경로에 대한 버퍼 점유율에서의 차이들에 대한 윈도우를 표시하는데 사용될 수 있다. 목적지(211)는, 특정 경로의 버퍼 점유율이 모든 경로들의 기준 버퍼 점유율의 윈도우(W) 내에 속하는지를 스트리밍 서버(201)에 시그널링할 수 있다. 본 발명의 일부 양상들에서, W는 약 1 초일 수 있다.
패킷 손실 임계치(PLRth)는 목적지(211)에서 모든 경로에 대한 패킷 손실 비율에 대한 임계치를 표시하는데 사용될 수 있다. 본 발명의 일부 양상들에서, PLRth는 대략 0.01일 수 있다.
스트리밍 서버(201)는 또한 패킷 수송 지연들을 모니터링할 수 있다. i 번째 경로의 교정된 지연(Dcal(i))은 교정된 지연을 나타내는데 사용될 수 있고, 교정된 지연은 레이트 조절이 필요한지를 결정하기 위해 사용될 수 있다. Dcal(i)의 값은 트래픽 성능에 기초하여 시간에 걸쳐 업데이트될 수 있다. i 번째 경로의 교정된 지연 하위 경계(DL cal(i))는 i 번째 경로에 대한 교정된 지연의 범위에 대한 하위 경계를 표시하는데 사용될 수 있다. DL cal(i)의 값은 트래픽 성능에 기초하여 시간에 걸쳐 업데이트될 수 있다. i 번째 경로의 교정된 지연 상위 경계(DU cal(i))는 i 번째 경로의 교정된 지연의 범위에 대한 상위 경계를 표시하는데 사용될 수 있다. DU cal(i)의 값은 트래픽 성능에 기초하여 시간에 걸쳐 업데이트될 수 있다. i 번째 경로의 교정 지연(Dins(i))은 저대역 통과 필터링된 순시 지연 측정치를 나타낼 수 있고, 이것은 순시 지연을 추적하기 위해 사용되고 또한 적응 타이머들의 만료 시간들을 설정하기 위해 사용될 수 있다. Dins(i)의 값은 트래픽 성능에 기초하여 시간에 걸쳐 업데이트될 수 있다. i 번째 경로의 교정 지연 하위 경계(DL ins(i))는 i 번째 경로의 교정 지연 범위의 하위 경계를 나타낼 수 있다. i 번째 경로의 교정 지연 상위 경계(DU ins(i))는 i 번째 경로의 교정 지연 범위의 상위 경계를 나타낼 수 있다. DU ins(i)의 값은 트래픽 성능에 기초하여 시간에 걸쳐 업데이트될 수 있다.
i 번째 경로의 지연 지터 임계치(Jth(i))는 i 번째 경로의 지터의 임계치를 나타낼 수 있다. Jth(i)의 값은 트래픽 성능에 기초하여 시간에 걸쳐 업데이트될 수 있다.
스트리밍 서버(201)는 전송 레이트 자체에 대응하는 파라미터들을 더 포함할 수 있다. i 번째 경로의 전송 레이트(RS(i))는 현재 전송 데이터 레이트를 나타낼 수 있다. i 번째 경로의 레이트 하위 경계(RL(i))는 수학식
Figure pat00001
에 따라 결정될 수 있다. i 번째 경로의 레이트 상위 경계(RU(i))는 수학식
Figure pat00002
에 따라 결정될 수 있다. 여기서
Figure pat00003
는 i 번째 경로의 전송 레이트(RS(i))에 대해 i 번째 경로의 전송 레이트에 대한 윈도우의 기간(span)을 각각 나타낸다. 본 발명의 일부 양상들에서,
Figure pat00005
는, 예를 들면,
Figure pat00006
의 값의 약 10 배만큼
Figure pat00007
보다 훨씬 더 클 수 있다.
지시된 전송 레이트(Rout(i))는 레이트 적응 모듈에 의해 지시된 전송 데이터 레이트를 나타낼 수 있다.
본 발명의 다양한 양상들에 따라, 다수의 트래픽 성능 변수들은, 피드백 정보로서 사용되고 이로써 레이트 적응 알고리즘에 대한 입력 변수들로서 사용되기 위해 목적지(211)에서 결정될 수 있다. 즉, 변수들의 상태는 레이트 적응 결정들을 위해 피드백 정보로서 목적지(211)로부터 스트리밍 서버(201)로 보고될 수 있다.
예를 들면, 버퍼 레벨 코드는 개별적인 수신 버퍼들(212) 각각에서의 레벨을 표시하는데 사용될 수 있다. "정상", "언더플로우", 또는 "오버플로우"의 버퍼 레벨 코드는 코딩 레이트 조절, 전송 레이트 조절 또는 동기화 중 하나 이상을 위해 사용될 수 있다. 또한, "도달되는 초기 버퍼"의 버퍼 레벨 코드는 교정 목적들을 위해 사용될 수 있다. 버퍼 차이 코드는 복수의 수신 버퍼들 사이의 버퍼 레벨들의 차이들을 표시하는데 사용될 수 있다. "정상", "윈도우 미만" 또는 "윈도우 초과"의 버퍼 차이 코드는 코딩 레이트 조절, 전송 레이트 조절 또는 동기화 중 하나 이상을 위해 사용될 수 있다. 즉, 윈도우는, 기준 버퍼 크기(목적지(211)에 의해 계산됨)와 비교하여, 특정 경로의 버퍼 크기가 임계치만큼 기준 버퍼 크기와 상이한지를 결정하는데 사용될 수 있다. 그 특정 경로에 대한 버퍼 크기가 임계치 미만이면, 버퍼 차이 코드는 "윈도우 미만"일 수 있다. 그 특정 경로에 대한 버퍼 크기가 임계치보다 크면, 버퍼 차이 코드는 "윈도우 초과"일 수 있다.
또한, 최상위 패킷 손실 버스트의 시간 간격은 피드백 정보의 일부분으로서 제공될 트래픽 성능 변수로서 사용될 수 있다. 시간 간격은 [TBs(i), TBp(i)]로서 표현될 수 있다. 여기서, TBs(i)는 버스트가 시작하는 시간을 나타낼 수 있고, TBp(i)는 버스트가 종료되는 시간을 나타낼 수 있다. 이러한 정보는 소스 코딩 알고리즘 내의 에러 처리 메커니즘을 위해 스트리밍 서버(201)에 의해 사용될 수 있다.
또한, 특정 변수들은 코딩 레이트 조절에서 사용하기 위해 결정될 수 있다. 예를 들면, 패킷 손실 비율(PLR(i)), 지연(D(i)), 지연 지터(J(i)) 및 수신 데이터 레이트(Rr(i)).
본 발명의 일부 양상들에 따라, 목적지(211)가, 예를 들면, "도달된 초기 버퍼"의 버퍼 레벨 코드를 전송함으로써 초기 버퍼 레벨이 막 도달되었다는 것을 보고할 때, 스트리밍 서버(201)는 교정 동작을 수행할 수 있다. 도 3은 본 발명의 일부 양상들에 따른 i 번째 경로에 대한 교정을 위한 프로세스를 예시한 흐름도이다. 블록(302)에서, 교정 프로세스는 시스템이 초기화되는 것으로 플래깅한다. 블록(304)에서, 프로세스는 Dins(i) = D(i)로서 i 번째 경로에 대한 교정 지연(Dins(i))을 설정한다. 블록(306)에서, 프로세스는
Figure pat00008
Figure pat00009
로서 i 번째 경로에 대한 교정 지연을 위한 범위
Figure pat00010
를 설정한다. 여기서,
Figure pat00011
Figure pat00012
는 약 4/5 및 6/5와 각각 동일할 수 있는 상수들이다.
블록(308)에서, 프로세스는 Dcal(i) = D(i)로서 i 번째 경로에 대한 교정된 지연(Dcal(i))을 설정한다. 블록(310)에서, 프로세스는
Figure pat00013
Figure pat00014
로서 i 번째 경로에 대한 교정된 지연을 위한 범위
Figure pat00015
를 설정한다. 여기서,
Figure pat00016
Figure pat00017
은 약 4/5 및 4/3와 각각 동일할 수 있는 상수들이다. 블록(312)에서, 프로세스는
Figure pat00018
로서 i 번째 경로에 대한 지터 임계치를 설정한다. 여기서
Figure pat00019
는 약 1/2와 동일할 수 있는 상수이다. 블록(314)에서, 프로세스는
Figure pat00020
Figure pat00021
로서 적응 타이머들의 만료 시간을 설정한다. 블록(316)에서, 프로세스는 지시된 전송 레이트(Rout(i))를 수신 레이트(Rr(i))인 것으로 설정한다.
블록(318)에서, 프로세스는 경로(i)가 2차 경로 또는 1차 경로인지를 체크할 수 있다. 여기서, 스트리밍 서버(201)로부터 목적지(211)로의 제 1 설정된 경로는 1차 경로로서 지칭될 수 있고, 1차 경로 후에 설정된 데이터 경로들은 각각 2차 경로들로 불린다. 경로(i)가 2차 경로이면, 블록(320)에서, 프로세스는 각각의 데이터 경로들을 동기화하기 위해 지연 차이(D(i)-D(0))에 기초하여 i 번째 데이터 경로의 순방향 탐색 동작 또는 스로틀링 동작 중 하나를 수행할 수 있다. 블록(320)에서, 프로세스는
Figure pat00022
으로서 만료 시간을 설정한다. 여기서 Nstable는 약 5와 동일할 수 있는 상수이다. 블록(324)에서 프로세스는 교정 타이머를 시작하여, 교정 프로세스를 완료한다.
도 4는 본 발명의 추가적인 양상에 따른 지연 교정을 예시한 흐름도이다. 여기서, 블록(402)에서 프로세스는 i 번째 경로에 대한 현재 지연(D(i))을 결정할 수 있다. 블록(404)에서, 프로세스는 현재 지연(D(i))이 교정 지연 범위 내에 있는지를 결정할 수 있다. 즉,
Figure pat00023
인지가 결정된다. 현재 지연이 교정 지연 범위 내에 있다면, 블록(406)에서, 프로세스는 교정 지연 타이머가 만료되었는지를 결정할 수 있다. 교정 지연 타이머가 만료되면, 블록(408)에서, 프로세스는
Figure pat00024
Figure pat00025
으로서 교정 지연을 설정할 수 있다. 다음에, 블록(410)에서, 프로세스는 로서 i 번째 경로에 대한 지터 임계치를 설정할 수 있다.
블록(404)에서, 프로세스가 현재 지연(D(i))이 교정 지연 범위 내에 있지 않다고 결정하면, 블록(412)에서, 프로세스는
Figure pat00027
Figure pat00028
으로서 교정 지연을 설정할 수 있다. 다음에, 블록(414)에서, 프로세스는
Figure pat00029
로서 만료 시간을 리셋할 수 있고, 블록(416)에서, 프로세스는 교정 타이머를 시작할 수 있다.
도 5a 내지 도 5e는 복수의 경로들 사이에서 동기화를 위한 프로세스를 예시한 흐름도이다. 블록(502)에서, 프로세스는 동기화를 위한 적응 타이머가 만료되었는지(즉, TOsync에 도달하였는지)를 결정한다. 만료되면, 블록(504)에서, 프로세스는 버퍼 레벨 코드 또는 버퍼 차이 코드 중 하나 또는 양자가 예외를 표시하는지를 결정한다. 예를 들면, "오버플로우" 또는 "언더플로우"의 버퍼 레벨 코드는 예외를 표시할 수 있고, "윈도우 미만" 또는 "윈도우 초과"의 버퍼 차이 코드는 예외를 표시할 수 있다. 예외가 존재하면, 블록(506)에서, 프로세스는
Figure pat00030
로서 만료 시간을 설정할 수 있고, 블록(508)에서, 프로세스는 동기화를 위해 적응 타이머를 시작할 수 있다.
블록(510)에서, 프로세스는 예외가 버퍼 레벨 코드가 "오버플로우"였다는 것인지를 결정한다. 예이면, 블록(512)에서, 프로세스는 i 번째 경로에 대응하는 트랜스레이터(204)를 스로틀링하기 위한 스로틀링 신호를 트리거링할 수 있다. 아니오이면, 블록(514)에서, 프로세스는 예외가 버퍼 레벨 코드가 "언더플로우"였다는 것인지를를 결정한다. 예이면, 블록(516)에서, 프로세스는 프로세스가 전송 레이트를 증가시키거나 감소시켜야 하는지를 결정한다. 전송 레이트는 다음의 것 중 어느 하나가 사실인 경우에 감소될 수 있다. 즉, i 번째 경로에 대한 패킷 손실 비율(PLR(i))이 패킷 손실 임계치(PLRth)보다 더 큰 경우(즉, PLR(i) > PLRth의 경우) 또는, i 번째 경로에 대한 지연(D(i))이 i 번째 경로의 교정된 지연 상위 경계(DU cal(i))보다 더 큰 경우(즉, D(i) > DU cal(i)의 경우), 또는 i 번째 경로에 대한 지연 지터(J(i))가 i 번째 경로에 대한 지터 임계치(Jth(i))보다 더 큰 경우(즉, J(i) > Jth(i)의 경우), 또는 i 번째 경로에 대한 수신 데이터 레이트(Rr(i))가 i 번째 경로의 레이트 하위 경계(RL(i))보다 더 작은 경우(즉, Rr(i) < RL(i)의 경우). 이러한 조건들 중 어느 하나가 사실이면, 블록(518)에서, 프로세스는 i 번째 경로에 대한 전송 레이트(RS(i))를 감소시키기 위한 여지가 있는지를 결정할 수 있다. 여지가 존재하면, 블록(520)에서, 프로세스는 i 번째 경로의 전송 레이트(RS(i))를, 예를 들면, 2 개의 레벨들만큼 감소시킬 수 있고, 블록(522)에서, 프로세스는 i 번째 경로의 지시된 레이트(Rs(i))를 블록(520)에서 설정된 바와 같은 감소된 전송 레이트이도록 설정할 수 있다. 블록(516)에서 결정된 조건들 어느 것도 사실이 아니면, 블록(524)에서, 프로세스는, 예를 들면, 초기 버퍼 점유율(BI)과 버퍼 점유율 하위 경계(BL) 사이의 차이, 즉, (BI-BL)와 동일한 양만큼 i 번째 경로에 대응하는 트랜스레이터(204)를 순방향 탐색할 수 있다.
반면에, 블록(504)에서 결정된 예외가, 블록(526)에 도시된 바와 같이, 버퍼 차이 코드가 "윈도우 초과"였다는 것이면, 블록(528)에서, 프로세스는 i 번째 경로에 대응하는 트랜스레이터(204)를 스로틀링하기 위한 스로틀링 신호를 트리거링할 수 있다.
반면에, 블록(504)에서 결정된 예외가, 블록(530)에 예시된 바와 같이, 버퍼 차이 코드가 "윈도우 미만"이었다는 것이면, 블록(532)에서, 프로세스는 프로세스가 전송 레이트를 증가시키거나 감소시켜야 하는지를 결정할 수 있다. 전송 레이트는 다음의 것 중 어느 하나가 사실인 경우에 감소될 수 있다. 즉, i 번째 경로에 대한 패킷 손실 비율(PLR(i))이 패킷 손실 임계치(PLRth)보다 큰 경우(즉, PLR(i) > PLRth의 경우), 또는 i 번째 경로에 대한 지연(D(i))이 i 번째 경로의 교정된 지연 상위 경계(DU cal(i))보다 더 큰 경우(즉, D(i) > DU cal(i)의 경우), 또는 i 번째 경로에 대한 지연 지터(J(i))가 i 번째 경로에 대한 지터 임계치(Jth(i))보다 더 큰 경우(즉, J(i) < Jth(i)의 경우), 또는 i 번째 경로에 대한 수신 데이터 레이트(Rr(i))가 i 번째 경로의 레이트 하위 경계(RL(i))보다 더 작은 경우(즉, Rr(i) < RL(i)의 경우). 이러한 조건들 중 어느 하나가 사실이면, 블록(534)에서, 프로세스는 i 번째 경로의 전송 레이트(RS(i))를 감소시킬 여지가 존재하는지를 결정할 수 있다. 여지가 존재하면, 블록(520)에서, 프로세스는, 예를 들면, 하나의 레벨만큼 i 번째 경로의 전송 레이트(RS(i))를 감소시킬 수 있고, 블록(536)에서, 프로세스는 i 번째 경로의 지시된 레이트(Rs(i))를 블록(536)에서 설정된 바와 같은 감소된 전송 레이트이도록 설정할 수 있다. 블록(532)에서 결정된 조건들 중 어느 것도 사실이 아니면, 블록(540)에서, 프로세스는, 예를 들면, 버퍼 차이 윈도우(W)의 절반(즉, W/2)과 동일한 양만큼 i 번째 경로에 대응하는 트랜스레이터(204)를 순방향 탐색할 수 있다.
블록(502)에서, 동기화를 위한 적응 타이머가 만료되지 않았다고 결정되면, 블록(542)에서, 프로세스는 프로세스가 전송 레이트를 증가시키거나 감소시키는지를 결정할 수 있다. 전송 레이트는 다음의 것 중에서 어느 하나가 사실인 경우에 감소될 수 있다. 즉, i 번째 경로에 대한 패킷 손실 비율(PLR(i))이 패킷 손실 임계치(PLRth)보다 더 큰 경우(즉, PLR(i) > PLRth의 경우), 또는 i 번째 경로에 대한 지연(D(i))이 i 번째 경로의 교정된 지연 상위 경계(Du cal(i))보다 더 큰 경우(즉, D(i) > Du cal(i)의 경우), 또는 i 번째 경로의 지연 지터(J(i))가 i 번째 경로에 대한 지터 임계치(Jth(i))보다 더 큰 경우(즉, J(i) > Jth(i)의 경우), 또는 i 번째 경로에 대한 수신 데이터 레이트(Rr(i))가 i 번째 경로의 레이트 하위 경계(RL(i))보다 더 작은 경우(즉, Rr(i) < RL(i)의 경우). 이러한 조건들 중 어느 하나가 사실이면, 블록(544)에서, 프로세스는 레이트에 대한 적응 타이머가 만료되었는지(예를 들면, 레이트에 대한 적응 타이머가 만료 시간(TOrate)에 도달되는지)를 결정할 수 있다. 레이트에 대한 적응 타이머가 만료되면, 블록(546)에서, 프로세스는 TOrate=2Dins(i)로서 만료 시간을 설정하고, 블록(548)에서, 프로세스는 레이트에 대한 적응 타이머를 시작할 수 있다. 다음에, 블록(550)에서, 프로세스는 i 번째 경로에 대한 수신 데이터 레이트(Rr(i))가 i 번째 경로의 레이트 하위 경계보다 더 작은지를 결정할 수 있다. Rr(i) < RL(i)이면, 블록(552)에서 프로세스는 Rs(i) = Rr(i)이도록 i 번째 경로에 대한 전송 레이트를 감소시킬 수 있다. 그렇지 않고, 블록(550)에서 결정된 바와 같이, Rr(i) ≥ RL(i)이면, 블록(554)에서, 프로세스는 i 번째 경로에 대한 전송 레이트(Rs(i))에서 감소를 위한 여지가 존재하는지를 결정할 수 있다. 여지가 존재하면, 블록(556)에서, 프로세스는 하나의 레벨만큼 i 번째 경로에 대한 전송 레이트(Rs(i))를 감소시킬 수 있고, 블록(558)에서, 프로세스는 i 번째 경로에 대한 지시된 레이트(Rs(i))를 블록(556)에서 결정된 감소된 전송 레이트이도록 설정할 수 있다.
블록(542)에서 결정된 조건들 중 어느 것도 사실이 아니면, 블록(560)에서, 프로세스는 프로세스가 전송 레이트를 증가시켜야 하는지를 결정할 수 있다. 전송 레이트는 다음의 것 중 어느 하나가 사실인 경우에 증가될 수 있다. 즉, i 번째 경로에 대한 지연(D(i))이 i 번째 경로에 대한 교정된 지연 하위 경계(DL cal(i))보다 더 작은 경우, 또는 i 번째 경로에 대한 수신 데이터 레이트(Rr(i))가 i 번째 경로의 레이트 하위 경계(RL(i))보다 더 작은 경우. 이러한 조건들 중 어느 하나가 사실이면, 블록(562)에서, 프로세스는 레이트에 대한 적응 타이머가 만료되었는지, 예를 들면, 레이트에 대한 적응 타이머가 TOrate에 도달하였는지를 결정할 수 있다. 예이면, 블록(564)에서, 프로세스는
Figure pat00031
로서 만료 시간을 설정할 수 있고, 블록(566)에서, 프로세스는 레이트에 대한 적응 타이머를 시작할 수 있다. 다음에, 블록(568)에서, 프로세스는 시스템이 Ngood 적응 간격들 동안에 이러한 상태에 연속적으로 진입하는지를 결정할 수 있다. 본 발명의 일부 양상들에서, Ngood는 약 3일 수 있다. 예이면, 블록(570)에서, 프로세스는 i 번째 경로의 지시된 레이트(Rs(i))가 i 번째 경로의 현재 전송 레이트(RS(i))보다 크거나 이와 동일한지를 결정할 수 있다. 예이면, 블록(572)에서, 프로세스는 코덱에서 i 번째 경로의 전송 레이트(RS(i))를 증가시킬 여지가 있는지를 결정할 수 있다. 예이면, 블록(574)에서, 프로세스는 하나의 레벨만큼 전송 레이트를 증가시킬 수 있고, 블록(576)에서, 프로세스는 i 번째 경로에 대한 지시된 레이트(Rs(i))를 블록(574)에서 결정된 증가된 전송 레이트이도록 설정할 수 있고, 블록(578)에서, 프로세스는 이러한 상태의 연속적인 적응 간격들의 수를 제로로 리셋할 수 있다.
본 발명의 일부 양상들에 따라, 스트리밍 서버(21)는 패킷 손실 비율(PLR(i)), 패킷 손실 버스트의 시작 시간(TBs(i)), 및 패킷 손실 버스트의 정지 시간(TBp(i))을 포함하는 특정 파라미터들에 따라 에러 처리를 수행할 수 있다. 에러 처리 절차는, PLR(i), TBs(i), TBp(i), 레이트 적응 모듈에 의해 조절되는 코딩 레이트(C(i)), 및 지연 지터(J(i))를 포함하는 특정 파라미터들에 부분적으로 의존할 수 있는 소스 코딩 절차의 일부분일 수 있다. 소스 코딩이 당업자들에게 알려져 있기 때문에, 이것은 본 발명에서 추가로 상세히 논의되지 않는다.
따라서, 본 발명의 다양한 양상들에 따라, 레이트 적응은, 다수의 경로들 사이의 동시성을 유지하면서, 별개의 방식으로, 즉, 근본적으로 복수의 경로들 각각에 대해 독립적으로 구현될 수 있다. 이것은 레이트 조절들을 통해 상호 작용하는 동기화 동작을 구현함으로써 성취될 수 있다.
데이터 레이트가 정해진 경로 상에서 조절될 때, 조절은 통상적으로 그 경로의 품질과 데이터 레이트를 매칭시키도록 의도된다. 예를 들면, 채널 조건들이 열악하거나 용량이 낮을 때, 데이터 레이트가 감소될 수 있고, 채널 조건들이 탁월하거나 용량이 높을 때, 데이터 레이트는 증가될 수 있다. 그러나, 다수의 경로들 중 하나에 대한 데이터 레이트가 독립적으로 조절될 때, 동시성의 손실이 발생할 수 있다. 따라서, 본 발명의 일부 양상들에 따라, 피드백 전송기(216), 피드백 수신기(208) 및 대응하는 신호들을 포함하는 피드백 메커니즘은, 데이터 레이트들이 예상치들, 또는 동기화를 유지하기 위해 전송기(200)에서의 조절들을 받을 수 있는 임의의 다른 조건들 내에 있는지를 결정하기 위해, 수신 버퍼들(212) 사이의 차이들을 모니터링 및 결정하는데 사용될 수 있다.
특정 조건들 하에서, 동기화 동작이 사용될 수 있고, 여기서 하나 이상의 트랜스레이터들(204)은 그들의 전송을 스로틀링 또는 순방향 탐색하도록 지시받을 수 있다. 특정 다른 조건들 하에서, 경로들이 그때에 동기화되지 않을지라도, 동기화 동작보다는 전송 버퍼들(206) 중 하나 이상에 대해 데이터 레이트 조절이 이루어질 수 있다. 어쨌든, 각각의 개별적인 경로에 대한 조건들에 기초하여 데이터 경로들 각각의 데이터 레이트들을 독립적으로 조절하면서, 동기화를 유지하기 위해 경로들 각각에 대해 연속적인 조절들이 이루어질 수 있다.
본 발명의 일부 양상들에 따라, 데이터가 스트리밍 서버(201)로부터 목적지(211)로 스트리밍되기 전에, 테스팅 기간이 사용될 수 있다. 테스팅 기간에서, 하나 이상의 짧은 트래픽 버스트들이 각각의 전송 레이트 레벨을 테스팅하기 위해 전송될 수 있다. 이어서, 스트리밍 서버(201)는 수신 레이트에 대응하는 피드백을 검토할 수 있다. 본 발명의 일 양상에서, 초기 코딩 레이트(RI)는
Figure pat00032
로서 설정될 수 있다.
이러한 방식으로, 테스팅 기간을 활용함으로써, 멀티미디어 콘텐츠 내의 장면 변화가 용이하게 수용될 수 있다. 멀티미디어 콘텐츠의 스트리밍 동안에 장면 변화에서, 특정 타임 슬롯에서 재생될 트래픽의 양은 연속적인 타임 슬롯에서 재생될 트래픽의 양과 매우 상이할 수 있다. 예를 들면, 제 1 장면이 매우 작은 양의 트래픽만을 사용하면, 목적지(211)로부터 스트리밍 서버(201)에 제공되는 피드백 정보는, 장면이 많은 양의 트래픽을 요구하도록 변하는 경우에 네트워크가 얼마나 더 많은 트래픽을 수용할 수 있는지를 결정하는데 있어서 유용하지 않을 수 있다. 따라서, 상술된 테스팅 절차를 활용하면, 하나 이상의 짧은 트래픽 버스트들은 각각의 경로들을 테스팅하기 위해 경로들 중 하나 이상의 경로 상으로 전송될 수 있다. 대응하는 피드백 정보가 수신될 때, 스트리밍 서버(201)는, 경로들 중 하나 이상이 용량을 초과할 것이라는 위험을 무릅쓰지 않고, 장면 변화 시에 바로 경로들 각각에 대한 전송 레이트를 더 양호하게 결정할 수 있을 것이다.
도 6은 본 발명의 일부 양상들에 따른, 다중경로 레이트 적응을 위한 예시적인 프로세스(600)를 예시한 흐름도이다. 프로세스(600)는 도 1의 프로세싱 시스템(114), 도 2에 예시된 스트리밍 서버(201), 또는 다중경로 레이트 적응을 위한 임의의 다른 적절한 장치에 의해 구현될 수 있다. 블록(602)에서, 스트리밍 서버는 복수의 경로들 상으로 정보를 전송할 수 있다. 블록(604)에서, 스트리밍 서버는 복수의 경로들에 대한 하나 이상의 트래픽 성능 변수들을 포함하는 피드백 정보를 수신할 수 있다. 블록(606)에서, 스트리밍 서버는 블록(604)에서 수신된 피드백 정보에 응답하여 경로들 중 하나 이상의 경로 상의 전송을 적응시킬 수 있다. 블록(608)에서, 스트리밍 서버는 블록(606)에서 수행된 경로들의 적응에 대응하여 경로들 사이에 동기화할 수 있다. 블록(610)에서, 스트리밍 서버는 복수의 경로들 중 적어도 하나의 경로 상으로 테스트 버스트를 전송할 수 있고, 테스트 버스트는 장면 변화 다음에 오는 미래의 전송의 트래픽 레벨에 대응한다. 블록(612)에서, 스트리밍 서버는 테스트 버스트에 기초한 피드백에 따라 미래의 전송에 대한 전송 파라미터들 중 하나 이상을 설정할 수 있다.
도 7은 본 발명의 일부 양상들에 따른, 다중경로 레이트 적응을 위한 피드백을 제공하기 위한 예시적인 프로세스(700)를 예시한 흐름도이다. 블록(702)에서, 목적지는 복수의 경로들 상으로 정보를 수신할 수 있다. 블록(704)에서, 목적지는 경로들 각각에 대한 특성을 결정할 수 있고, 특성은 각각의 경로들 상의 트래픽 성능에 대응한다. 블록(706)에서, 목적지는 경로들 각각의 특성들 사이의 하나 이상의 차이들을 결정할 수 있고, 블록(708)에서, 목적지는 수신된 정보에 응답하여 피드백 정보를 제공할 수 있다. 피드백 정보는 복수의 경로들 중 적어도 2 개의 경로 사이의 관계에 대응하는 정보 엘리먼트를 포함할 수 있다.
일 구성에서, 다중경로 레이트 적응을 위한 장치는 각각의 복수의 경로들 상으로 정보를 전송하기 위한 수단, 복수의 경로들에 대한 하나 이상의 트래픽 성능 변수들을 포함하는 피드백 정보를 수신하기 위한 수단, 피드백 정보에 응답하여 경로들 중 하나 이상의 경로 상의 전송을 적응시키기 위한 수단, 전송의 적응에 대응하여 복수의 경로들 사이에서 동기화하기 위한 수단, 피드백 정보에 따라 하나 이상의 전송 파라미터들 중 적어도 하나에 대한 조절을 결정하기 위한 수단, 스로틀링 동작 또는 순방향 탐색 동작 중 적어도 하나를 실행하기 위한 수단, 복수의 경로들 중 적어도 하나의 경로 상으로 테스트 버스트를 전송하기 위한 수단, 및 테스트 버스트에 기초하여 수신된 피드백 정보에 따라 미래의 전송에 대한 하나 이상의 전송 파라미터들을 설정하기 위한 수단을 포함할 수 있다. 일 양상에서, 상술된 수단은 상술된 수단에 의해 언급된 기능들을 수행하도록 구성된 프로세싱 시스템(114)일 수 있다. 또 다른 양상에서, 상술된 수단은 소스(202), 트랜스레이터(204), 소스 버퍼(206) 및/또는 피드백 수신기(208)일 수 있다. 또 다른 양상에서, 상술된 수단은 상술된 수단에 의해 언급된 기능들을 수행하도록 구성된 모듈 또는 임의의 장치일 수 있다.
또 다른 구성에서, 다중경로 레이트 적응을 위한 피드백을 제공하기 위한 장치는 복수의 경로들을 통해 정보를 수신하기 위한 수단, 정보에 응답하여 피드백 정보를 제공하기 위한 수단 ― 피드백 정보는 복수의 경로들 중 적어도 2 개의 경로 사이의 관계에 대응하는 정보 엘리먼트를 포함함 ― , 경로들 각각에 대한 특성을 결정하기 위한 수단, 및 경로들 각각의 특성들 사이의 하나 이상의 차이들을 결정하기 위한 수단을 포함할 수 있다. 일 양상에서, 상술된 수단은 상술된 수단에 의해 언급된 기능들을 수행하도록 구성된 프로세싱 시스템(114)일 수 있다. 또 다른 양상에서, 상술된 수단은 상술된 수단에 의해 언급된 기능들을 수행하도록 구성된 수신 버퍼(212), 종합기(214) 및/또는 피드백 전송기(216)일 수 있다. 또 다른 양상에서, 상술된 수단은 상술된 수단에 의해 언급된 기능들을 수행하도록 구성된 모듈 또는 임의의 장치일 수 있다.
본 발명의 다양한 양상들에 따라, 엘리먼트, 엘리먼트의 임의의 부분, 또는 엘리먼트들의 임의의 조합은 하나 이상의 프로세서들을 포함하는 "프로세싱 시스템"으로 구현될 수 있다. 프로세서들의 예들은 마이크로프로세서들, 마이크로제어기들, 디지털 신호 프로세서들(DSP들), 필드 프로그래밍 가능 게이트 어레이들(FPGA들), 프로그래밍 가능 논리 디바이스들(PLD들), 상태 머신들, 게이티드 논리, 이산 하드웨어 회로들, 및 본 개시물에 전체에 걸쳐 기재된 다양한 기능을 수행하도록 구성된 다른 적절한 하드웨어를 포함한다. 프로세싱 시스템 내의 하나 이상의 프로세서들은 소프트웨어를 실행할 수 있다. 소프트웨어는, 소프트웨어, 펌웨어, 미들웨어, 마이크로코드, 하드웨어 디스크립션 언어 또는 다른 것으로 지칭되든지 아니든지 간에, 명령들, 명령 세트들, 코드, 코드 세그먼트들, 프로그램 코드, 프로그램들, 서브프로그램들, 소프트웨어 모듈들, 애플리케이션들, 소프트웨어 애플리케이션들, 소프트웨어 패키지들, 루틴들, 서브루틴들, 객체들, 실행가능한 것들(exeutables), 실행 스레드들, 프로시저들, 함수들 등을 의미하는 것으로 광범위하게 해석되어야 한다. 소프트웨어는 컴퓨터-판독 가능 매체 상에 상주할 수 있다. 컴퓨터-판독 가능 매체는 비일시적인 컴퓨터-판독 가능 매체일 수 있다. 비일시적인 컴퓨터-판독 가능 매체는, 예로서, 자기 저장 디바이스(예를 들어, 하드 디스크, 플로피 디스크, 자기 스트립), 광학 디스크(예를 들어, 컴팩트 디스크(CD), 디지털 다목적 디스크(DVD)), 스마트 카드, 플래쉬 메모리 디바이스(예를 들어, 카드, 스틱, 키 드라이브), 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), 프로그래밍 가능 ROM(PROM), 삭제 가능 PROM(EPROM), 전기적으로 삭제 가능한 PROM(EEPROM), 레지스터, 제거 가능(removable) 디스크, 및 컴퓨터에 의해 액세스 및 판독될 수 있는 소프트웨어 및/또는 명령들을 저장하기 위한 임의의 다른 적절한 매체를 포함한다. 컴퓨터-판독 가능 매체는 또한, 예로서, 캐리어 파, 전송 라인, 및 컴퓨터에 의해 액세스 및 판독될 수 있는 소프트웨어 및/또는 명령들을 전송하기 위한 임의의 다른 적절한 매체를 포함할 수 있다. 컴퓨터-판독 가능 매체는 프로세싱 시스템 내에, 프로세싱 시스템 외부에 상주하거나, 프로세싱 시스템을 포함하는 다수의 엔티티들에 걸쳐 분산될 수 있다. 컴퓨터-판독 가능 매체는 컴퓨터-프로그램 물건에 구현될 수 있다. 예로서, 컴퓨터-프로그램 물건은 패키징물(packaging material)들에 컴퓨터-판독 가능 매체를 포함할 수 있다. 당업자들은 전체 시스템 상에 부과되는 전체 설계 제약들 및 특정 애플리케이션에 의존하여 본 개시물 전체에 걸쳐 제공되는 설명되는 기능을 구현할 최상의 방법을 인지할 것이다.
개시된 방법들의 단계들의 특정 순서 또는 계층 구조가 예시적인 프로세스들의 실례인 것으로 이해되어야 한다. 설계 선호들에 기초하여, 방법들의 단계들의 특정 순서 또는 계층 구조가 재배열될 수 있다는 것이 이해된다. 첨부한 방법 청구항들은 다양한 단계들의 엘리먼트들을 예시적인 순서로 제공하며, 본 명세서에서 구체적으로 언급되지 않는 한, 제공된 특정 순서 또는 계층 구조로 한정되는 것으로 여겨지는 것은 아니다.
이전의 설명은 임의의 당업자가 본 명세서에 설명된 다양한 양상들을 실시할 수 있도록 제공된다. 이 양상들에 대한 다양한 변경들은 당업자들에게 쉽게 명백할 것이고, 본 명세서에 정의된 일반적인 원리들은 다른 양상들에 적용될 수 있다. 따라서, 청구항들은 본 명세서에 제시된 양상들로 제한되는 것으로 의도되는 것이 아니라, 청구항들의 언어에 일치하는 최광의 범주를 따를 것이며, 단수형으로 엘리먼트에 대한 참조는, 특정하여 그렇게 언급되지 않으면 "하나 및 오직 하나"를 의미하는 것으로 의도되지 않고, 오히려, "하나 또는 그 초과"를 의미하는 것으로 의도된다. 특정하여 달리 언급되지 않으면, 용어 "일부"는 하나 또는 그 초과를 지칭한다. 항목들의 리스트 "중 적어도 하나"를 지칭하는 문구는 단일한 멤버들을 포함해서 그 항목들의 임의의 조합을 지칭한다. 일례로, "a, b 또는 c 중 적어도 하나"는, a; b; c; a 및 b; a 및 c; b 및 c; 및 a, b 및 c를 커버하도록 의도된다. 이 분야의 당업자들에게 공지되어 있거나 추후 공지되는, 본 개시 전반에 걸쳐 설명된 다양한 양상들의 엘리먼트들에 대한 모든 기능적 및 구조적 균등물들은 인용에 의해 본원에 명시적으로 포함되고 청구항들에 의해 포함되는 것으로 의도된다. 아울러, 본 명세서에 개시된 어떤 것도, 이러한 개시가 청구항들에 명시적으로 인용되는지 여부와 무관하게 공중에 전용되는 것으로 의도되지 않는다. 엘리먼트가 "위한 수단" 문구를 이용하여 명시적으로 언급되지 않거나, 방법 청구항의 경우에, 엘리먼트가 "위한 단계" 문구를 이용하여 언급되지 않는 한, 어떠한 청구항 엘리먼트도 35 U.S.C.§112, 6번째 문단의 조항 하에서 해석되어서는 안 된다.

Claims (60)

  1. 다중경로 레이트 적응(multipath rate adaptation)의 방법으로서,
    각각의 복수의 경로들 상으로 정보를 전송하는 단계,
    상기 복수의 경로들에 대한 하나 이상의 트래픽 성능 변수들을 포함하는 피드백 정보를 수신하는 단계,
    상기 피드백 정보에 응답하여 상기 경로들 중 하나 이상의 경로 상의 전송을 적응시키는 단계, 및
    상기 전송의 적응에 대응하여 상기 복수의 경로들 사이에서 동기화하는 단계를 포함하는,
    다중경로 레이트 적응의 방법.
  2. 제 1 항에 있어서,
    상기 정보는 멀티미디어 콘텐츠를 포함하는,
    다중경로 레이트 적응의 방법.
  3. 제 2 항에 있어서,
    상기 멀티미디어 콘텐츠는 상기 멀티미디어 콘텐츠의 복수의 다중 디스크립션 코딩-인코딩된 디스크립션들을 포함하고,
    상기 디스크립션들 각각은 상기 복수의 경로들의 개별적인 경로 상으로 전송되는,
    다중경로 레이트 적응의 방법.
  4. 제 1 항에 있어서,
    상기 하나 이상의 트래픽 성능 변수들은,
    상기 복수의 경로들 중 하나의 경로 상의 전송의 목적지에서 사용되는 적어도 하나의 수신 버퍼의 버퍼 점유율(occupancy)에 대응하는 버퍼 점유율 정보 엘리먼트,
    상기 복수의 경로들 중 각각의 경로들 상의 전송의 목적지에서 사용되는 복수의 수신 버퍼들 중 적어도 2 개의 수신 버퍼들 사이의 버퍼 점유율들에서의 차이에 대응하는 버퍼 차이 정보 엘리먼트,
    상기 복수의 경로들 중 하나에 대한 패킷 손실 비율,
    상기 복수의 경로들 중 하나 이상에 대한 최상위 패킷 손실 버스트에 대한 시간 간격,
    상기 복수의 경로들 중 하나에 대한 패킷 지연,
    상기 복수의 경로들 중 하나에 대한 지연 지터, 또는
    상기 복수의 경로들 중 하나에 대한 수신 데이터 레이트를 포함하는,
    다중경로 레이트 적응의 방법.
  5. 제 1 항에 있어서,
    상기 전송하는 단계는 하나 이상의 전송 파라미터들에 따르고,
    상기 전송을 적응시키는 단계는 상기 피드백 정보에 따라 상기 하나 이상의 전송 파라미터들 중 적어도 하나에 대한 조절을 결정하는 단계를 포함하는,
    다중경로 레이트 적응의 방법.
  6. 제 5 항에 있어서,
    상기 하나 이상의 전송 파라미터들 중 적어도 하나는,
    상기 경로들 중 적어도 하나에 대한 전송 레이트, 또는
    상기 경로들 중 적어도 하나에 대한 코딩 레이트를 포함하는,
    다중경로 레이트 적응의 방법.
  7. 제 1 항에 있어서,
    상기 피드백 정보는, 상기 복수의 경로들에 대한 하나 이상의 트래픽 성능 변수들에 따라 소스 코딩 절차에서 에러 처리 루틴을 변경하기 위한 에러 처리 정보를 포함하는,
    다중경로 레이트 적응의 방법.
  8. 제 1 항에 있어서,
    상기 동기화하는 단계는 스로틀링(throttling) 동작 또는 순방향 탐색(seeking forward) 동작 중 적어도 하나를 포함하는,
    다중경로 레이트 적응의 방법.
  9. 제 1 항에 있어서,
    상기 동기화하는 단계는 상기 피드백 정보에 응답하는,
    다중경로 레이트 적응의 방법.
  10. 제 1 항에 있어서,
    상기 복수의 경로들 중 적어도 하나의 경로 상으로 테스트 버스트를 전송하는 단계 ― 상기 테스트 버스트는 장면 변화 다음에 오는 정보의 미래의 전송에서의 트래픽 레벨에 대응함 ― , 및
    상기 테스트 버스트에 기초하여 수신된 피드백 정보에 따라 상기 미래의 전송에 대한 하나 이상의 전송 파라미터들을 설정하는 단계를 더 포함하는,
    다중경로 레이트 적응의 방법.
  11. 다중경로 레이트 적응을 위한 피드백을 제공하는 방법으로서,
    복수의 경로들을 통해 정보를 수신하는 단계, 및
    상기 정보에 응답하여 피드백 정보를 제공하는 단계 ― 상기 피드백 정보는 상기 복수의 경로들 중 적어도 2 개의 경로들 사이의 관계에 대응하는 정보 엘리먼트를 포함함 ― 를 포함하는,
    다중경로 레이트 적응을 위한 피드백을 제공하는 방법.
  12. 제 11 항에 있어서,
    상기 정보는 멀티미디어 콘텐츠의 복수의 다중 디스크립션 코딩-인코딩된 디스크립션들을 포함하고,
    상기 디스크립션들 각각은 상기 복수의 경로들의 개별적인 경로 상으로 수신되는,
    다중경로 레이트 적응을 위한 피드백을 제공하는 방법.
  13. 제 11 항에 있어서,
    상기 관계들은 상기 복수의 경로들의 개별적인 경로들을 통해 상기 정보를 수신하기 위한 복수의 수신 버퍼들 중 적어도 2 개의 버퍼들 사이의 버퍼 점유율들에서의 차이를 포함하는,
    다중경로 레이트 적응을 위한 피드백을 제공하는 방법.
  14. 제 11 항에 있어서,
    상기 방법은 상기 경로들 각각에 대한 특성을 결정하는 단계를 더 포함하고,
    상기 복수의 경로들 중 특정 경로에 대응하는 특성은 상기 특정 경로 상의 트래픽 성능에 대응하는,
    다중경로 레이트 적응을 위한 피드백을 제공하는 방법.
  15. 제 14 항에 있어서,
    상기 방법은 상기 경로들 각각의 특성들 사이의 하나 이상의 차이들을 결정하는 단계를 더 포함하고,
    상기 복수의 경로들 중 적어도 2 개의 경로들 사이의 관계들은 상기 하나 이상의 차이들에 대응하는,
    다중경로 레이트 적응을 위한 피드백을 제공하는 방법.
  16. 다중경로 레이트 적응을 위한 장치로서,
    각각의 복수의 경로들 상으로 정보를 전송하기 위한 수단,
    상기 복수의 경로들에 대한 하나 이상의 트래픽 성능 변수들을 포함하는 피드백 정보를 수신하기 위한 수단,
    상기 피드백 정보에 응답하여 상기 경로들 중 하나 이상의 경로 상의 전송을 적응시키기 위한 수단, 및
    상기 전송의 적응에 대응하여 상기 복수의 경로들 사이에서 동기화하기 위한 수단을 포함하는,
    다중경로 레이트 적응을 위한 장치.
  17. 제 16 항에 있어서,
    상기 정보는 멀티미디어 콘텐츠를 포함하는,
    다중경로 레이트 적응을 위한 장치.
  18. 제 17 항에 있어서,
    상기 멀티미디어 콘텐츠는 상기 멀티미디어 콘텐츠의 복수의 다중 디스크립션 코딩-인코딩된 디스크립션들을 포함하고,
    상기 디스크립션들 각각은 상기 복수의 경로들의 개별적인 경로 상으로 전송되는,
    다중경로 레이트 적응을 위한 장치.
  19. 제 16 항에 있어서,
    상기 하나 이상의 트래픽 성능 변수들은,
    상기 복수의 경로들 중 하나의 경로 상의 전송의 목적지에서 사용되는 적어도 하나의 수신 버퍼의 버퍼 점유율에 대응하는 버퍼 점유율 정보 엘리먼트,
    상기 복수의 경로들 중 각각의 경로들 상의 전송의 목적지에서 사용되는 복수의 수신 버퍼들 중 적어도 2 개의 수신 버퍼들 사이의 버퍼 점유율들에서의 차이에 대응하는 버퍼 차이 정보 엘리먼트,
    상기 복수의 경로들 중 하나에 대한 패킷 손실 비율,
    상기 복수의 경로들 중 하나 이상에 대한 최상위 패킷 손실 버스트에 대한 시간 간격,
    상기 복수의 경로들 중 하나에 대한 패킷 지연,
    상기 복수의 경로들 중 하나에 대한 지연 지터, 또는
    상기 복수의 경로들 중 하나에 대한 수신 데이터 레이트를 포함하는,
    다중경로 레이트 적응을 위한 장치.
  20. 제 16 항에 있어서,
    상기 전송하기 위한 수단은 하나 이상의 전송 파라미터들에 따라 전송하도록 구성되고,
    상기 전송을 적응시키기 위한 수단은 상기 피드백 정보에 따라 상기 하나 이상의 전송 파라미터들 중 적어도 하나에 대한 조절을 결정하기 위한 수단을 포함하는,
    다중경로 레이트 적응을 위한 장치.
  21. 제 20 항에 있어서,
    상기 하나 이상의 전송 파라미터들 중 적어도 하나는,
    상기 경로들 중 적어도 하나에 대한 전송 레이트, 또는
    상기 경로들 중 적어도 하나에 대한 코딩 레이트를 포함하는,
    다중경로 레이트 적응을 위한 장치.
  22. 제 16 항에 있어서,
    상기 피드백 정보는, 상기 복수의 경로들에 대한 하나 이상의 트래픽 성능 변수들에 따라 소스 코딩 절차에서 에러 처리 루틴을 변경하기 위한 에러 처리 정보를 포함하는,
    다중경로 레이트 적응을 위한 장치.
  23. 제 16 항에 있어서,
    상기 동기화하기 위한 수단은 스로틀링 동작 또는 순방향 탐색 동작 중 적어도 하나를 실행하기 위한 수단을 포함하는,
    다중경로 레이트 적응을 위한 장치.
  24. 제 16 항에 있어서,
    상기 동기화하기 위한 수단은 상기 피드백 정보에 응답하여 동기화하도록 구성되는,
    다중경로 레이트 적응을 위한 장치.
  25. 제 16 항에 있어서,
    상기 복수의 경로들 중 적어도 하나의 경로 상으로 테스트 버스트를 전송하기 위한 수단 ― 상기 테스트 버스트는 장면 변화 다음에 오는 정보의 미래의 전송에서의 트래픽 레벨에 대응함 ― , 및
    상기 테스트 버스트에 기초하여 수신된 피드백 정보에 따라 상기 미래의 전송에 대한 하나 이상의 전송 파라미터들을 설정하기 위한 수단을 더 포함하는,
    다중경로 레이트 적응을 위한 장치.
  26. 다중경로 레이트 적응을 위한 피드백을 제공하기 위한 장치로서,
    복수의 경로들을 통해 정보를 수신하기 위한 수단, 및
    상기 정보에 응답하여 피드백 정보를 제공하기 위한 수단 ― 상기 피드백 정보는 상기 복수의 경로들 중 적어도 2 개의 경로들 사이의 관계에 대응하는 정보 엘리먼트를 포함함 ― 을 포함하는,
    다중경로 레이트 적응을 위한 피드백을 제공하기 위한 장치.
  27. 제 26 항에 있어서,
    상기 정보는 멀티미디어 콘텐츠의 복수의 다중 디스크립션 코딩-인코딩된 디스크립션들을 포함하고,
    상기 디스크립션들 각각은 상기 복수의 경로들의 개별적인 경로 상으로 수신되는,
    다중경로 레이트 적응을 위한 피드백을 제공하기 위한 장치.
  28. 제 26 항에 있어서,
    상기 관계들은 상기 복수의 경로들의 개별적인 경로들을 통해 상기 정보를 수신하기 위한 복수의 수신 버퍼들 중 적어도 2 개의 버퍼들 사이의 버퍼 점유율들에서의 차이를 포함하는,
    다중경로 레이트 적응을 위한 피드백을 제공하기 위한 장치.
  29. 제 26 항에 있어서,
    상기 장치는 상기 경로들 각각에 대한 특성을 결정하기 위한 수단을 더 포함하고,
    상기 복수의 경로들 중 특정 경로에 대응하는 특성은 상기 특정 경로 상의 트래픽 성능에 대응하는,
    다중경로 레이트 적응을 위한 피드백을 제공하기 위한 장치.
  30. 제 29 항에 있어서,
    상기 장치는 상기 경로들 각각의 특성들 사이의 하나 이상의 차이들을 결정하기 위한 수단을 더 포함하고,
    상기 복수의 경로들 중 적어도 2 개의 경로들 사이의 관계들은 상기 하나 이상의 차이들에 대응하는,
    다중경로 레이트 적응을 위한 피드백을 제공하기 위한 장치.
  31. 컴퓨터-판독 가능 매체를 포함하는 컴퓨터 프로그램 물건으로서,
    상기 컴퓨터-판독 가능 매체는,
    각각의 복수의 경로들 상으로 정보를 전송하기 위한 코드,
    상기 복수의 경로들에 대한 하나 이상의 트래픽 성능 변수들을 포함하는 피드백 정보를 수신하기 위한 코드,
    상기 피드백 정보에 응답하여 상기 경로들 중 하나 이상의 경로 상의 전송을 적응시키기 위한 코드, 및
    상기 전송의 적응에 대응하여 상기 복수의 경로들 사이에서 동기화하기 위한 코드를 포함하는,
    컴퓨터 프로그램 물건.
  32. 제 31 항에 있어서,
    상기 정보는 멀티미디어 콘텐츠를 포함하는,
    컴퓨터 프로그램 물건.
  33. 제 32 항에 있어서,
    상기 멀티미디어 콘텐츠는 상기 멀티미디어 콘텐츠의 복수의 다중 디스크립션 코딩-인코딩된 디스크립션들을 포함하고,
    상기 디스크립션들 각각은 상기 복수의 경로들의 개별적인 경로 상으로 전송되는,
    컴퓨터 프로그램 물건.
  34. 제 31 항에 있어서,
    상기 하나 이상의 트래픽 성능 변수들은,
    상기 복수의 경로들 중 하나의 경로 상의 전송의 목적지에서 사용되는 적어도 하나의 수신 버퍼의 버퍼 점유율에 대응하는 버퍼 점유율 정보 엘리먼트,
    상기 복수의 경로들 중 각각의 경로들 상의 전송의 목적지에서 사용되는 복수의 수신 버퍼들 중 적어도 2 개의 수신 버퍼들 사이의 버퍼 점유율들에서의 차이에 대응하는 버퍼 차이 정보 엘리먼트,
    상기 복수의 경로들 중 하나에 대한 패킷 손실 비율,
    상기 복수의 경로들 중 하나 이상에 대한 최상위 패킷 손실 버스트에 대한 시간 간격,
    상기 복수의 경로들 중 하나에 대한 패킷 지연,
    상기 복수의 경로들 중 하나에 대한 지연 지터, 또는
    상기 복수의 경로들 중 하나에 대한 수신 데이터 레이트를 포함하는,
    컴퓨터 프로그램 물건.
  35. 제 31 항에 있어서,
    상기 전송하기 위한 코드는 하나 이상의 전송 파라미터들에 따라 전송하도록 적응되고,
    상기 전송을 적응시키기 위한 코드는 상기 피드백 정보에 따라 상기 하나 이상의 전송 파라미터들 중 적어도 하나에 대한 조절을 결정하기 위한 코드를 포함하는,
    컴퓨터 프로그램 물건.
  36. 제 35 항에 있어서,
    상기 하나 이상의 전송 파라미터들 중 적어도 하나는,
    상기 경로들 중 적어도 하나에 대한 전송 레이트, 또는
    상기 경로들 중 적어도 하나에 대한 코딩 레이트를 포함하는,
    컴퓨터 프로그램 물건.
  37. 제 31 항에 있어서,
    상기 피드백 정보는, 상기 복수의 경로들에 대한 하나 이상의 트래픽 성능 변수들에 따라 소스 코딩 절차에서 에러 처리 루틴을 변경하기 위한 에러 처리 정보를 포함하는,
    컴퓨터 프로그램 물건.
  38. 제 31 항에 있어서,
    상기 동기화하기 위한 코드는 스로틀링 동작 또는 순방향 탐색 동작 중 적어도 하나를 실행하기 위한 코드를 포함하는,
    컴퓨터 프로그램 물건.
  39. 제 38 항에 있어서,
    상기 동기화하기 위한 코드는 상기 피드백 정보에 응답하여 동기화하도록 구성되는,
    컴퓨터 프로그램 물건.
  40. 제 31 항에 있어서,
    상기 컴퓨터-판독 가능 매체는,
    상기 복수의 경로들 중 적어도 하나의 경로 상으로 테스트 버스트를 전송하기 위한 코드 ― 상기 테스트 버스트는 장면 변화 다음에 오는 정보의 미래의 전송에서의 트래픽 레벨에 대응함 ― , 및
    상기 테스트 버스트에 기초하여 수신된 피드백 정보에 따라 상기 미래의 전송에 대한 하나 이상의 전송 파라미터들을 설정하기 위한 코드를 더 포함하는,
    컴퓨터 프로그램 물건.
  41. 컴퓨터-판독 가능 매체를 포함하는 컴퓨터 프로그램 물건으로서,
    상기 컴퓨터-판독 가능 매체는,
    복수의 경로들을 통해 정보를 수신하기 위한 코드, 및
    상기 정보에 응답하여 피드백 정보를 제공하기 위한 코드 ― 상기 피드백 정보는 상기 복수의 경로들 중 적어도 2 개의 경로들 사이의 관계에 대응하는 정보 엘리먼트를 포함함 ― 를 포함하는,
    컴퓨터 프로그램 물건.
  42. 제 41 항에 있어서,
    상기 정보는 멀티미디어 콘텐츠의 복수의 다중 디스크립션 코딩-인코딩된 디스크립션들을 포함하고,
    상기 디스크립션들 각각은 상기 복수의 경로들의 개별적인 경로 상으로 수신되는,
    컴퓨터 프로그램 물건.
  43. 제 41 항에 있어서,
    상기 관계들은 상기 복수의 경로들의 개별적인 경로들을 통해 상기 정보를 수신하기 위한 복수의 수신 버퍼들 중 적어도 2 개의 버퍼들 사이의 버퍼 점유율들에서의 차이를 포함하는,
    컴퓨터 프로그램 물건.
  44. 제 41 항에 있어서,
    상기 컴퓨터-판독 가능 매체는 상기 경로들 각각에 대한 특성을 결정하기 위한 코드를 더 포함하고,
    상기 복수의 경로들 중 특정 경로에 대응하는 특성은 상기 특정 경로 상의 트래픽 성능에 대응하는,
    컴퓨터 프로그램 물건.
  45. 제 44 항에 있어서,
    상기 컴퓨터-판독 가능 매체는 상기 경로들 각각의 특성들 사이의 하나 이상의 차이들을 결정하기 위한 코드를 더 포함하고,
    상기 복수의 경로들 중 적어도 2 개의 경로들 사이의 관계들은 상기 하나 이상의 차이들에 대응하는,
    컴퓨터 프로그램 물건.
  46. 다중경로 레이트 적응을 위한 장치로서,
    적어도 하나의 프로세서, 및
    상기 적어도 하나의 프로세서에 연결된 메모리를 포함하고,
    상기 적어도 하나의 프로세서는,
    각각의 복수의 경로들 상으로 정보를 전송하고,
    상기 복수의 경로들에 대한 하나 이상의 트래픽 성능 변수들을 포함하는 피드백 정보를 수신하고,
    상기 피드백 정보에 응답하여 상기 경로들 중 하나 이상의 경로 상의 전송을 적응시키고, 그리고
    상기 전송의 적응에 대응하여 상기 복수의 경로들 사이에서 동기화하도록 구성되는,
    다중경로 레이트 적응을 위한 장치.
  47. 제 46 항에 있어서,
    상기 정보는 멀티미디어 콘텐츠를 포함하는,
    다중경로 레이트 적응을 위한 장치.
  48. 제 47 항에 있어서,
    상기 멀티미디어 콘텐츠는 상기 멀티미디어 콘텐츠의 복수의 다중 디스크립션 코딩-인코딩된 디스크립션들을 포함하고,
    상기 디스크립션들 각각은 상기 복수의 경로들의 개별적인 경로 상으로 전송되는,
    다중경로 레이트 적응을 위한 장치.
  49. 제 46 항에 있어서,
    상기 하나 이상의 트래픽 성능 변수들은,
    상기 복수의 경로들 중 하나의 경로 상의 전송의 목적지에서 사용되는 적어도 하나의 수신 버퍼의 버퍼 점유율에 대응하는 버퍼 점유율 정보 엘리먼트,
    상기 복수의 경로들 중 각각의 경로들 상의 전송의 목적지에서 사용되는 복수의 수신 버퍼들 중 적어도 2 개의 수신 버퍼들 사이의 버퍼 점유율들에서의 차이에 대응하는 버퍼 차이 정보 엘리먼트,
    상기 복수의 경로들 중 하나에 대한 패킷 손실 비율,
    상기 복수의 경로들 중 하나 이상에 대한 최상위 패킷 손실 버스트에 대한 시간 간격,
    상기 복수의 경로들 중 하나에 대한 패킷 지연,
    상기 복수의 경로들 중 하나에 대한 지연 지터, 또는
    상기 복수의 경로들 중 하나에 대한 수신 데이터 레이트를 포함하는,
    다중경로 레이트 적응을 위한 장치.
  50. 제 46 항에 있어서,
    상기 전송하는 것은 하나 이상의 전송 파라미터들에 따르고,
    상기 전송을 적응시키는 것은 상기 피드백 정보에 따라 상기 하나 이상의 전송 파라미터들 중 적어도 하나에 대한 조절을 결정하는 것을 포함하는,
    다중경로 레이트 적응을 위한 장치.
  51. 제 50 항에 있어서,
    상기 하나 이상의 전송 파라미터들 중 적어도 하나는,
    상기 경로들 중 적어도 하나에 대한 전송 레이트, 또는
    상기 경로들 중 적어도 하나에 대한 코딩 레이트를 포함하는,
    다중경로 레이트 적응을 위한 장치.
  52. 제 46 항에 있어서,
    상기 피드백 정보는, 상기 복수의 경로들에 대한 하나 이상의 트래픽 성능 변수들에 따라 소스 코딩 절차에서 에러 처리 루틴을 변경하기 위한 에러 처리 정보를 포함하는,
    다중경로 레이트 적응을 위한 장치.
  53. 제 46 항에 있어서,
    상기 동기화하는 것은 스로틀링 동작 또는 순방향 탐색 동작 중 적어도 하나를 포함하는,
    다중경로 레이트 적응을 위한 장치.
  54. 제 46 항에 있어서,
    상기 동기화하는 것은 상기 피드백 정보에 응답하는,
    다중경로 레이트 적응을 위한 장치.
  55. 제 46 항에 있어서,
    상기 적어도 하나의 프로세서는,
    상기 복수의 경로들 중 적어도 하나의 경로 상으로 테스트 버스트를 전송하고 ― 상기 테스트 버스트는 장면 변화 다음에 오는 정보의 미래의 전송에서의 트래픽 레벨에 대응함 ― , 그리고
    상기 테스트 버스트에 기초하여 수신된 피드백 정보에 따라 상기 미래의 전송에 대한 하나 이상의 전송 파라미터들을 설정하도록 추가로 구성되는,
    다중경로 레이트 적응을 위한 장치.
  56. 다중경로 레이트 적응을 위한 피드백을 제공하는 장치로서,
    적어도 하나의 프로세서, 및
    상기 적어도 하나의 프로세서에 연결된 메모리를 포함하고,
    상기 적어도 하나의 프로세서는,
    복수의 경로들을 통해 정보를 수신하고, 그리고
    상기 정보에 응답하여 피드백 정보를 제공하도록 구성되고,
    상기 피드백 정보는 상기 복수의 경로들 중 적어도 2 개의 경로들 사이의 관계에 대응하는 정보 엘리먼트를 포함하는,
    다중경로 레이트 적응을 위한 피드백을 제공하는 장치.
  57. 제 56 항에 있어서,
    상기 정보는 멀티미디어 콘텐츠의 복수의 다중 디스크립션 코딩-인코딩된 디스크립션들을 포함하고,
    상기 디스크립션들 각각은 상기 복수의 경로들의 개별적인 경로 상으로 수신되는,
    다중경로 레이트 적응을 위한 피드백을 제공하는 장치.
  58. 제 56 항에 있어서,
    상기 관계들은 상기 복수의 경로들의 개별적인 경로들을 통해 상기 정보를 수신하기 위한 복수의 수신 버퍼들 중 적어도 2 개의 버퍼들 사이의 버퍼 점유율들에서의 차이를 포함하는,
    다중경로 레이트 적응을 위한 피드백을 제공하는 장치.
  59. 제 56 항에 있어서,
    상기 적어도 하나의 프로세서는 상기 경로들 각각에 대한 특성을 결정하도록 추가로 구성되고,
    상기 복수의 경로들 중 특정 경로에 대응하는 특성은 상기 특정 경로 상의 트래픽 성능에 대응하는,
    다중경로 레이트 적응을 위한 피드백을 제공하는 장치.
  60. 제 59 항에 있어서,
    상기 적어도 하나의 프로세서는 상기 경로들 각각의 특성들 사이의 하나 이상의 차이들을 결정하도록 추가로 구성되고,
    상기 복수의 경로들 중 적어도 2 개의 경로들 사이의 관계들은 상기 하나 이상의 차이들에 대응하는,
    다중경로 레이트 적응을 위한 피드백을 제공하는 장치.
KR1020167008169A 2011-06-08 2012-06-07 다중경로 레이트 적응 KR20160040320A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/155,762 2011-06-08
US13/155,762 US9736548B2 (en) 2011-06-08 2011-06-08 Multipath rate adaptation
PCT/US2012/041426 WO2012170738A1 (en) 2011-06-08 2012-06-07 Multipath rate adaptation

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020147000509A Division KR20140025572A (ko) 2011-06-08 2012-06-07 다중경로 레이트 적응

Publications (1)

Publication Number Publication Date
KR20160040320A true KR20160040320A (ko) 2016-04-12

Family

ID=46276059

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020147000509A KR20140025572A (ko) 2011-06-08 2012-06-07 다중경로 레이트 적응
KR1020167008169A KR20160040320A (ko) 2011-06-08 2012-06-07 다중경로 레이트 적응

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020147000509A KR20140025572A (ko) 2011-06-08 2012-06-07 다중경로 레이트 적응

Country Status (6)

Country Link
US (1) US9736548B2 (ko)
EP (1) EP2719143A1 (ko)
JP (2) JP6242788B2 (ko)
KR (2) KR20140025572A (ko)
CN (1) CN103583028A (ko)
WO (1) WO2012170738A1 (ko)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9929972B2 (en) * 2011-12-16 2018-03-27 Qualcomm Incorporated System and method of sending data via a plurality of data lines on a bus
US10027547B1 (en) * 2014-03-28 2018-07-17 EMC IP Holding Company LLC Autonomic self-optimization of protection storage
US10873941B2 (en) * 2014-05-16 2020-12-22 Huawei Technologies Co., Ltd. System and method for joint transmission over licensed and unlicensed bands using fountain codes
US10536386B2 (en) 2014-05-16 2020-01-14 Huawei Technologies Co., Ltd. System and method for dynamic resource allocation over licensed and unlicensed spectrums
JP6432976B2 (ja) * 2014-11-19 2018-12-05 日本電気株式会社 データ伝送装置、データ伝送方法およびプログラム
US10476926B2 (en) * 2015-06-12 2019-11-12 Telefonaktiebolaget Lm Ericsson (Publ) System and method for managing ABR bitrate delivery responsive to video buffer characteristics of a client
KR101637841B1 (ko) * 2015-06-25 2016-07-07 연세대학교 산학협력단 다중 경로에서의 전송 오류 검출 및 제어 방법 및 장치
US10574717B1 (en) * 2016-06-29 2020-02-25 Amazon Technologies, Inc. Network-adaptive live media encoding system
US10425339B2 (en) * 2016-10-24 2019-09-24 Cisco Technology, Inc. Multi-homed load-balanced rate-based tunnels
EP3547690B1 (en) * 2016-12-15 2021-09-08 Caton Technology (Shanghai) Limited Real-time video transmission method of multipath network
CN107592250B (zh) * 2017-09-18 2020-07-07 中国航空无线电电子研究所 基于航空fc总线多速率自适应测试设备
US10805439B2 (en) * 2018-04-30 2020-10-13 Xaptum, Inc. Communicating data messages utilizing a proprietary network
JP7176105B2 (ja) 2019-04-08 2022-11-21 AlphaTheta株式会社 再生制御装置、プログラムおよび再生制御方法
CN115733703A (zh) * 2021-08-27 2023-03-03 华为技术有限公司 一种多设备同步播放方法及装置
CN115694733B (zh) * 2022-10-25 2023-10-20 南京金阵微电子技术有限公司 通信方法、***及桥接器

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6765904B1 (en) 1999-08-10 2004-07-20 Texas Instruments Incorporated Packet networks
US6178448B1 (en) 1997-06-18 2001-01-23 International Business Machines Corporation Optimal link scheduling for multiple links by obtaining and utilizing link quality information
US5928331A (en) 1997-10-30 1999-07-27 Matsushita Electric Industrial Co., Ltd. Distributed internet protocol-based real-time multimedia streaming architecture
US7606164B2 (en) 1999-12-14 2009-10-20 Texas Instruments Incorporated Process of increasing source rate on acceptable side of threshold
US7346698B2 (en) * 2000-12-20 2008-03-18 G. W. Hannaway & Associates Webcasting method and system for time-based synchronization of multiple, independent media streams
US6996064B2 (en) * 2000-12-21 2006-02-07 International Business Machines Corporation System and method for determining network throughput speed and streaming utilization
US7103669B2 (en) 2001-02-16 2006-09-05 Hewlett-Packard Development Company, L.P. Video communication method and system employing multiple state encoding and path diversity
US20030007515A1 (en) 2001-07-03 2003-01-09 Apostolopoulos John G. System and method for receiving mutiple description media streams in fixed and mobile streaming media systems
JP2004007361A (ja) * 2001-10-11 2004-01-08 Nippon Telegr & Teleph Corp <Ntt> データ送信制御方法及びこの方法のプログラム並びにこれを用いるデータ送信装置
JP2003125374A (ja) * 2001-10-12 2003-04-25 Toshiba Corp 映像配信システム及びその送信装置及び送信方法、及び受信装置及び受信方法
FR2833435B1 (fr) 2001-12-06 2004-02-27 Thomson Licensing Sa Methode de selection de chemin de reception et dispositif de reception comprenant plusieurs chemins de reception
EP1574066A1 (en) * 2002-12-13 2005-09-14 Koninklijke Philips Electronics N.V. Switching method for mdc/scalable coding
US20040218530A1 (en) * 2003-04-30 2004-11-04 Spediant Systems Ltd. Maximization of data transmission via multiple links in the presence of crosstalk
KR100739509B1 (ko) * 2004-07-30 2007-07-13 삼성전자주식회사 다중 채널 구조 무선 통신 시스템에서 헤더 정보 송수신장치 및 방법
JP2006352648A (ja) * 2005-06-17 2006-12-28 Nippon Telegr & Teleph Corp <Ntt> カメラ映像配信方法およびシステム
EP1900239B1 (en) 2005-07-05 2010-01-06 Research In Motion Limited Voice synchronization during call handoff
JP4653011B2 (ja) 2006-05-01 2011-03-16 パナソニック株式会社 中継装置及び中継方法
CN100571399C (zh) 2006-12-30 2009-12-16 清华大学 基于多参考预测链编码的无线视频传输方法
US8310920B2 (en) * 2007-03-02 2012-11-13 Saratoga Data Systems, Inc. Method and system for accelerating transmission of data between network devices
WO2008137432A2 (en) * 2007-05-01 2008-11-13 Dyyno Sharing of information and formatting information for transmission over a communication network
JP2009081654A (ja) * 2007-09-26 2009-04-16 Nec Corp ストリーム同期再生システム及び方法
US8644408B2 (en) * 2008-10-10 2014-02-04 Qualcomm Incorporated Method and apparatus for channel feedback in a wireless communication system
US20100121971A1 (en) 2008-11-10 2010-05-13 Samsung Electronics Co., Ltd. Multipath transmission of three-dimensional video information in wireless communication systems
US20110176060A1 (en) 2010-01-21 2011-07-21 Qualcomm Incorporated Data feedback for broadcast applications

Also Published As

Publication number Publication date
WO2012170738A1 (en) 2012-12-13
JP6224170B2 (ja) 2017-11-01
KR20140025572A (ko) 2014-03-04
JP6242788B2 (ja) 2017-12-06
CN103583028A (zh) 2014-02-12
US20120317300A1 (en) 2012-12-13
US9736548B2 (en) 2017-08-15
JP2014522609A (ja) 2014-09-04
EP2719143A1 (en) 2014-04-16
JP2016197866A (ja) 2016-11-24

Similar Documents

Publication Publication Date Title
KR20160040320A (ko) 다중경로 레이트 적응
CN101156388B (zh) 用于控制可变位速率数据的数据包传输的产品和方法
US7987285B2 (en) Adaptive bitrate management for streaming media over packet networks
RU2367011C2 (ru) Устройство и способ передачи сигналов с упреждающей адаптацией скорости
US8527649B2 (en) Multi-stream bit rate adaptation
US7668170B2 (en) Adaptive packet transmission with explicit deadline adjustment
US7652994B2 (en) Accelerated media coding for robust low-delay video streaming over time-varying and bandwidth limited channels
CN103828324A (zh) 用于分组网络上的流媒体的按需自适应比特率管理
JP4748729B2 (ja) データおよび対応するプロダクトを送信する準備のための装置と方法
KR102486847B1 (ko) 링크 인식 스트리밍 적응
WO2008067108A2 (en) Network-based dynamic encoding
CA2842098A1 (en) A system and method for transmission of data signals over a wireless network
KR102118678B1 (ko) 부호화된 비디오 스트림 전송 장치 및 방법
Pakulova et al. Adaptive low-delay video streaming in heterogeneous wireless networks using MPRTP
Sarvi et al. An adaptive and reliable forward error correction mechanism for real-time video delivery from UAVs
Wee et al. Optimized video streaming for networks with varying delay
Yahia et al. When HTTP/2 rescues DASH: Video frame multiplexing
Chen et al. Robust video streaming over wireless LANs using multiple description transcoding and prioritized retransmission
CA2528331A1 (en) Medium signal reception device, transmission device, and transmission/reception system
KR100782343B1 (ko) 영상 스트리밍 방법
WO2012076904A1 (en) Video data transmission system and method
JP5522987B2 (ja) 送信装置、送信方法、及びコンピュータプログラム
Smirnov et al. Exploring the Dynamics of Data Transmission in 5G Networks: A Conceptual Analysis
Dhamodaran et al. Analysis of optimum substream lengths for dual TCP/UDP streaming of HD H. 264 video over congested WLANs
Baba et al. Buffer-based low-delay playout control methods for IPTV terminals

Legal Events

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