KR20210135927A - 왕복 시간 추정 - Google Patents

왕복 시간 추정 Download PDF

Info

Publication number
KR20210135927A
KR20210135927A KR1020210047045A KR20210047045A KR20210135927A KR 20210135927 A KR20210135927 A KR 20210135927A KR 1020210047045 A KR1020210047045 A KR 1020210047045A KR 20210047045 A KR20210047045 A KR 20210047045A KR 20210135927 A KR20210135927 A KR 20210135927A
Authority
KR
South Korea
Prior art keywords
packet
network device
network
time
data stream
Prior art date
Application number
KR1020210047045A
Other languages
English (en)
Other versions
KR102491033B1 (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 KR20210135927A publication Critical patent/KR20210135927A/ko
Application granted granted Critical
Publication of KR102491033B1 publication Critical patent/KR102491033B1/ko

Links

Images

Classifications

    • H04L65/601
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • 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
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0896Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
    • 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
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • H04L43/0864Round trip delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0888Throughput
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring
    • 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/19Flow control; Congestion control at layers above the network layer
    • H04L47/193Flow control; Congestion control at layers above the network layer at the transport layer, e.g. TCP related
    • 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/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2416Real-time traffic
    • 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/31Flow control; Congestion control by tagging of packets, e.g. using discard eligibility [DE] bits
    • H04L65/608
    • 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/765Media network packet handling intermediate
    • 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/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • 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/2381Adapting the multiplex stream to a specific network, e.g. an Internet Protocol [IP] network
    • 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/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
    • 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/25Flow control; Congestion control with rate being modified by the source upon detecting a change of network conditions
    • 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/28Flow control; Congestion control in relation to timing considerations
    • H04L47/283Flow control; Congestion control in relation to timing considerations in response to processing delays, e.g. caused by jitter or round trip time [RTT]
    • 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/29Flow control; Congestion control using a combination of thresholds
    • 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/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Multimedia (AREA)
  • Environmental & Geological Engineering (AREA)
  • Quality & Reliability (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Databases & Information Systems (AREA)
  • Measurement And Recording Of Electrical Phenomena And Electrical Characteristics Of The Living Body (AREA)
  • Pharmaceuticals Containing Other Organic And Inorganic Compounds (AREA)
  • Ultra Sonic Daignosis Equipment (AREA)

Abstract

네트워크를 통해 데이터 스트림을 제2 네트워크 장치로 전송하기 위한 제1 네트워크 장치를 가지는 네트워킹 구성이 설명되는데, 여기서 적용되는 방법은 일련의 제1 패킷들을 상기 제2 네트워크 장치로 전송하는 단계(상기 제1 패킷들 각각은, 대응되는 전송 시간을 가지고 고유 식별 값을 포함함), 제2 패킷을 상기 제2 네트워크 장치로부터 수신하는 단계(상기 제2 패킷은, 상기 제2 네트워크 장치에 의해 적어도 하나의 상기 제1 패킷의 수신완료 정보를 포함하고 대응되는 수신 시간을 가짐), (i) 수신완료 정보가 감지된, 제1 패킷의 전송시간 및 (ii) 상기 제1 패킷의 수신완료 정보를 포함하는 제2 패킷의 수신 시간에 적어도 의존적인 기준 왕복 시간을 결정하는 단계, (i) 수신완료 정보가 감지되지 않은, 가장 오래된 제1 패킷의 전송 시간 및 (ii) 가장 최근에 수신된, 제2 패킷의 수신 시간에 의존적인 현재 왕복 시간을 결정하는 단계, 상기 현재 왕복 시간 및 상기 기준 왕복 시간에 의존적인, 상기 제1 네트워크 장치 및 상기 제2 네트워크 장치 간에 미사용 네트워크 대역폭이 존재하는지를 결정하는 단계 및, 상기 결정된 네트워크에 의존적인 상기 전송된 데이터 스트림을 위한 상기 비트 레이트를 업데이트하는 단계를 포함한다.

Description

왕복 시간 추정{ROUND-TRIP ESTIMATION}
설명된 실시예들은 네트워크가 연결된 두 장치 간 사용 가능한 네트워크 대역폭의 사용 최적화와 관련된다. 설명된 일부 실시예들은 특히 네트워크 커뮤니케이션을 위한 왕복 시간(round-trip time)에 대한 개선된 판단과, 왕복 시간을 처리하기 위한 상응하는 미디어 스트림 구성 변화와 관련된다.
실시간 전송 프로토콜(Real-time Transport Protocol, RTP)은 오디오 및 비디오와 같은 미디어를 인터넷 프로토콜(Internet Protocol, IP) 네트워크를 통해 전달하기 위한 네트워크 프로토콜이다. RTP는 전화(telephony), 비디오 원격회의(teleconference) 및 네트워크 카메라 어플리케이션과 같은 스트리밍 미디어를 수반하는 커뮤니케이션, 엔터테인먼트 및 감시 시스템에 공통적으로 사용된다.
RTP는 사용자 데이터그램 프로토콜(User Datagram Protocol, UDP)을 통해 실행된다. UDP는 단순한 무선 커뮤니케이션을 사용하며 패킷 확인응답(acknowledgement)을 제공하지 않는다. 따라서 전송 제어 프로토콜(Transmission Control Protocol, TCP) 또는 이에 준하는 대안적인 프로토콜과 다르게, 프로토콜 레이어에서의 에러 수정이나 모니터링이 없다.
예를 들어 비디오 통화 동안 오디오 및 비디오 데이터를 전송하기 위해 사용될 때, RTP가 가지는 문제는 자원 예약(resource reservation)을 해결하지 않으며 실시간 서비스를 위한 서비스 품질을 보장하지 않는다는 점이다. 예를 들어, 오디오 및 비디오 품질은 네트워크 혼잡에 의해 영향을 받을 수 있다. 에러 수정 또는 모니터링의 부재를 해결하기 위해, RTP는 RTP 제어 프로토콜(RTCP)와 함께 사용될 수 있다. RTP가 미디어 스트림(예를 들어 오디오 스트림 및 비디오 스트림)을 전송할 때, RTCP는 전송 통계 및 서비스 품질(QoS)을 모니터링하는 데에 사용되며 다수의 스트림의 동기화를 돕는다. 이는 스트리밍 멀티미디어 세션 동안 참여자들에게 주기적으로 패킷 수, 패킷 손실, 패킷 지연 변형 및 왕복 지연시간과 같은 통계 정보를 송신함으로써, 미디어 분배 시 서비스 품질(QoS)에 대한 피드백을 사용하여 달성된다.
도 1은 RTCP에 따른 왕복 지연시간 계산의 예시를 나타낸다. 예를 들어 송신 장치(20) 및 수신 장치(30)와 같은 네트워크 세션의 각 멤버는, 주기적으로 RTCP 송신/수신 보고를 송신한다. 왕복 시간(RTT)은 예를 들어, RTCP 보고 내 전송된 타임 스탬프(timestamp)를 사용하여 계산될 수 있다. 즉,
1) 송신 장치가 수신 장치로 제1 RTP 또는 RTCP 패킷을 송신한다.
2) 수신 장치가 송신 장치로 제1 RTP 또는 RTCP 패킷을 확인했다는, 상응하는 제2 RTCP 보고를 다시 송신한다.
3) 송신 장치가 제1 및 제2 RTCP 보고에 대한 타임 스탬프를 기반으로 왕복을 계산한다.
RTT는 예를 들어 대기 지연과 같은 네트워크 혼잡에 좋은 지표이기 때문에, 미디어 스트림의 전송을 위해 적절한 비트 레이트를 결정하는 데에 사용될 수 있다. 그러나 RTCP 보고는 주기적으로 전송되거나 전송되지 않을 수 있다. 이들은 정기적인 스케줄에 따라 전송되거나, 예를 들어 요청 받았을 때와 같이 필요한 경우 송신될 수 있다. 어떠한 경우이든 네트워크 레이턴시(latency)가 갑자기 증가한다면, 증가된 네트워크 레이턴시가 감지되기 이전에, 송신 장치 및 수신 장치 간에 교환되어야 하는 필요 RTCP 보고에 앞서 지연이 있을 수 있다. 이러한 상황에서 전송되는 오디오 및 비디오 스트림의 품질은 저해될 수 있다.
송신 장치 및 수신 장치 간 교환될 다음 RTCP 보고 세트를 기다리지 않으면서, 네트워크 레이턴시를 모니터링하고 업데이트할 방식을 필요로 한다.
본 개시의 제1 양태는 제1 네트워크 장치에 의해 수행되는 방법(상기 제1 네트워크 장치는, 네트워크를 통해 데이터 스트림을 소정의 비트 레이트로 제2 네트워크 장치에 전송하도록 구성됨)에 있어서, 상기 네트워크를 통해 일련의 제1 패킷들을 상기 제2 네트워크 장치로 전송하는 단계(상기 제1 패킷들 각각은, 대응되는 전송 시간을 가지고 고유 식별 값을 포함함), 제2 패킷을 상기 제2 네트워크 장치로부터 수신하는 단계(상기 제2 패킷은, 상기 제2 네트워크 장치에 의해 적어도 하나의 상기 제1 패킷의 수신완료 정보를 포함하고 대응되는 수신 시간을 가짐), (i) 수신완료 정보가 감지된, 제1 패킷의 전송시간 및 (ii) 상기 제1 패킷의 수신완료 정보를 포함하는 제2 패킷의 수신 시간에 적어도 의존적인 기준 왕복 시간을 결정하는 단계, (i) 수신완료 정보가 감지되지 않은, 가장 오래된 제1 패킷의 전송 시간 및 (ii) 가장 최근에 수신된, 제2 패킷의 수신 시간에 의존적인 현재 왕복 시간을 결정하는 단계, 상기 현재 왕복 시간 및 상기 기준 왕복 시간에 의존적인, 상기 제1 네트워크 장치 및 상기 제2 네트워크 장치 간에 미사용 네트워크 대역폭이 존재하는지를 결정하는 단계 및, 상기 결정된 네트워크에 의존적인 상기 전송된 데이터 스트림을 위한 상기 비트 레이트를 업데이트하는 단계를 포함한다. 본 실시예의 이점은 제1 네트워크 장치가 제1 네트워크 장치 및 제2 네트워크 장치 간 사용 가능한 대역폭 내 변화에 대응할 수 있는 속도이다. 기준 왕복 시간 및 현재 왕복 시간을 모두 평가함으로써 제1 네트워크 장치는, 기준 왕복 시간만 가질 때보다 네트워크 대역폭 내 변화에 보다 빠르게 대응할 수 있다. 예를 들어 낮은 레이턴시를 수반하는, 거대한 프리버퍼(pre-buffer)가 이들이 도입하는 레이턴시에 이상적이지 않은 라이브 스포츠와 같은 라이브 스트리밍 비디오와 같은 상황 내에서는, 네트워크 시스템이 미사용 네트워크 대역폭의 사용 가능성 내에서 변화에 최대한 빠르게 대응할 수 있는 것이 중요하다.
선택적으로 현재 왕복 시간을 결정하는 단계는 나아가 현재 왕복 시간을 수신완료 정보가 감지되지 않은, 가장 오래된 제1 패킷의 전송 시간 및 가장 최근에 수신된, 제2 패킷의 수신 시간 간의 차이로 결정하는 단계를 포함한다. 이는 기준 왕복 시간에 의해 일반적으로 적용되는 기법으로 사용되는 제1 패킷보다, 더 최근에 수신된 제1 패킷의 사용을 가능하게 한다. 이러한 차이는, 보다 최근에 전송된 패킷들을 사용하는 왕복 시간의 보다 '새로운' 평가를 가능하게 한다.
선택적으로 제2 패킷은 실시간 전송 제어 프로토콜(RTCP) 패킷을 포함하되, 일련의 제1 패킷은 하나 또는 그 이상의 실시간 전송 프로토콜(RTP) 패킷 및 RTCP 패킷을 적어도 하나 포함한다. 현존하는 RTP 평가 기법들은 한정적이며, RTCP와 결합하여 설명된 방법들의 사용은 RTP의 단점을 줄이면서 이점을 적용하는 것을 가능하게 한다.
선택적으로 제1 네트워크 장치 및 제2 네트워크 장치 간 미사용 네트워크 대역폭이 존재하는지를 결정하는 단계는, 기준 왕복 시간이 제1 임계치를 초과하고/초과하거나, 현재 왕복 시간이 제2 임계치를 초과하는지를 결정하는 단계를 포함한다. 선택적으로 제2 임계치는 제1 임계치보다 클 수 있다. 다수의 임계치의 사용은, 네트워크 대역폭 사용 가능성의 변화에 보다 복잡한 프로그램적(programmatic) 대응을 가능하게 한다.
선택적으로, 미사용 네트워크 대역폭의 존재에 의존적인 전송된 데이터 스트림을 위한 비트 레이트를 업데이트하는 단계는, 미사용 네트워크 대역폭이 존재하지 않을 때 데이터 스트림을 위한 비트 레이트를 감소시키는 단계를 포함한다. 이는 사용 가능한 네트워크 대역폭이 감소될 때, 데이터 스트림의 중단을 피하는 것을 유리하게 가능하게 한다.
선택적으로, 미사용 네트워크 대역폭의 존재에 의존적인 전송된 데이터 스트림을 위한 비트 레이트를 업데이트하는 단계는, 미사용 네트워크 대역폭이 존재할 때 데이터 스트림을 위한 비트 레이트를 증가시키는 단계를 포함한다. 이는 사용 가능한 네트워크 대역폭이 증가될 때, 데이터 스트림이 미디어 품질을 개선하는 것을 유리하게 가능하게 한다.
선택적으로, 미사용 네트워크 대역폭의 존재에 의존적인 전송된 데이터 스트림을 위한 비트 레이트를 업데이트하는 단계는, 기준 왕복 시간 및/또는 현재 왕복 시간이 증가될 때 데이터 스트림을 위한 비트 레이트를 감소시키는 단계를 포함한다. 이는 네트워크 버퍼링이 발생할 때, 데이터 스트림의 중단을 피하는 것을 유리하게 가능하게 한다.
선택적으로, 데이터 스트림은 비디오 스트림 및 오디오 스트림을 적어도 하나 포함한다. 전송된 데이터 스트림을 위한 비트 레이트를 업데이트하는 단계는 타겟 비트 레이트, 평균 비트 레이트, 해상도, 컬러 뎁스(colour depth), 프레임 레이트, 샘플링 주파수, 비트 뎁스(bit depth) 및 채널 수의 적어도 하나를 업데이트하는 단계를 포함할 수 있다. 이러한 구성 옵션의 조정은 미디어 시청자의 경험에 적합한, 네트워크 중단에 대한 대응을 유리하게 가능하게 한다.
선택적으로 상기 방법은, 제1 네트워크 장치 및 제2 네트워크 장치 간에 1초당 전송되는 데이터 패킷들의 총 크기를 기반으로 제1 네트워크 장치 및 제2 네트워크 장치 간 기사용 네트워크 대역폭을 결정하는 단계, 상기 제1 네트워크 장치가 상기 제2 네트워크 장치로 1초당 전달할 수 있는 데이터의 양인 네트워크 처리량 값을 상기 기사용 네트워크 대역폭에 의존적으로 결정하는 단계, 상기 제1 네트워크 장치에 의해 전송된 데이터 패킷들의 총 크기 및 상기 제2 네트워크 장치로 전달된 데이터 패킷들의 총 크기를 기반으로 상기 네트워크 내 버퍼링된 데이터 패킷들의 총 크기를 결정하는 단계, 상기 네트워크 내 버퍼들을 비우기에 합리적인 시간 구간 내에, 상기 네트워크 내 버퍼링된 데이터 패킷들을 상기 제2 네트워크 장치로 전달하기 위해 필요한 예약 대역폭을 결정하는 단계, 상기 네트워크 처리량 값 및 상기 예약 대역폭을 기반으로, 그리고 가능하게는 추가적인 데이터 스트림에 의해 사용되는 대역폭을 기반으로 상기 데이터 스트림을 위한 잔여 대역폭을 결정하는 단계, 및 상기 데이터 스트림을 위한 상기 결정된 잔여 대역폭에 의존적인 상기 데이터 스트림을 위한 상기 비트 레이트를 업데이트하는 단계를 더 포함한다. 이는 기사용 네트워크 대역폭에 의존적인 데이터 스트림의 보다 안정된 최적화를 유리하게 가능하게 한다. 이는 버퍼를 비움으로써 합리적인 시간 구간 내에 기준 왕복 시간 및/또는 현재 왕복 시간의 감소를 가능하게 한다.
본 개시의 제2 양태는 데이터 스트림을 네트워크를 통해 소정의 비트 레이트로 제2 네트워크 장치로 전송하도록 구성된 제1 네트워크 장치이고, 여기서의 제1 네트워크 장치는 상기 네트워크를 통해 제1 패킷들을 상기 제2 네트워크 장치로 전송하고(상기 제1 패킷들 각각은, 대응되는 전송 시간을 가지고 고유 식별 값을 포함함), 제2 패킷을 상기 제2 네트워크 장치로부터 수신하고(상기 제2 패킷이 상기 제2 네트워크 장치에 의해 적어도 하나의 상기 제1 패킷의 수신완료 정보를 포함하고, 상기 제2 패킷들 각각은 대응되는 수신 시간을 가짐), (i) 수신완료 정보가 감지된, 제1 패킷의 전송시간 및 (ii) 상기 제1 패킷의 수신완료 정보를 포함하는 제2 패킷의 수신 시간에 적어도 의존적인 기준 왕복 시간을 결정하고, (i) 수신완료 정보가 감지되지 않은, 가장 오래된 제1 패킷의 전송 시간 및 (ii) 가장 최근에 수신된, 제2 패킷의 수신 시간에 의존적인 현재 왕복 시간을 결정하고, 상기 기준 왕복 시간 및 상기 현재 왕복 시간에 의존적인, 상기 제1 네트워크 장치 및 상기 제2 네트워크 장치 간에 미사용 네트워크 대역폭이 존재하는지를 결정하고, 및 상기 미사용 네트워크 대역폭의 존재에 의존적인 상기 전송된 데이터 스트림을 위한 상기 비트 레이트를 업데이트하도록 구성된다.
본 발명의 다른 특징 및 이점들은 첨부된 도면과 관련하여, 뒤따르는 상세한 실시예 설명으로부터 드러날 것이다. 여기서,
도 1은 RTCP에 따른 기준 왕복을 결정하는 단계를 나타내는 시퀀스 다이어그램이며,
도 2는 설명의 양태에 따른 네트워크 시스템이며,
도 3은 설명의 양태에 따라, 증가된 네트워크 레이턴시를 결정하고 이에 부합하는 증가된 네트워크 레이턴시에 대응하기 위한 기법에 대한 순서도이며,
도 4는 설명의 양태에 따라 CRTT에 사용되는 패킷들을 위한 시퀀스 다이어그램이며,
도 5는 패킷 전송 및 확인응답 데이터를 가진 표를 제공하며,
도 6은 설명의 양태에 따라, 전송된 미디어 스트림의 비트 레이트를 결정하기 위한 기법에 대한 순서도이며,
도 7은 왕복 시간 임계치 세트 및 상응하는 대역폭 사용 가능성을 나타내는 다이어그램이며,
도 8은 네트워크 상의 미디어 스트림 패킷 버퍼링을 감소시키기 위해, 적절한 비트 레이트를 선택하는 방법에 대한 순서도이다.
본 설명은 네트워크로 연결된 두 장치들 간에 사용 가능한 네트워크 대역폭의 사용 최적화를 위한 기구 및 기법과 연관된다. 설명에 있어서, 동일한 참조번호는 상응하는 구성 요소를 나타내는 데에 사용된다.
도 2는 네트워크(10)에 의해 제2 네트워크 장치(30)와 연결된 제1 네트워크 장치(20)를 포함하는 네트워크 시스템(100)에 대한 다이어그램이다. 일 실시예에서, 네트워크(10)는 네트워크 계층으로 인터넷 프로토콜(IP)을, 전송 계층으로 사용자 데이터그램 프로토콜(UDP)을, 그리고 응용 계층으로 실시간 전송 프로토콜(RTP)을 사용하는 이더넷 네트워크이다. 그러나 동일하거나 실질적으로 동등한 기법이 적용될 수 있다면, 여타 프로토콜 스택이 구상될 수 있다. 도 2에서 제1 네트워크 장치(20)는, 데이터 스트림(25)을 네트워크(10)를 통해 제2 네트워크 장치(30)로 전송하도록 구성된다.
일 실시예에서 데이터 스트림(25)은 비디오 스트림 및/또는 오디오 스트림을 포함하는 미디어 스트림이다. 미디어 스트림은 제1 네트워크 장치(20)에 의해 제1 미디어 포맷에서 미디어 스트림으로 변환되는, 연속적인 비디오 또는 오디오 컨텐츠를 포함한다. 이러한 변환은 미디어 인코딩(media encoding)이라 알려져 있으며, 코덱(codec)이라 알려진 장치 또는 컴퓨터 프로그램에 의해 수행될 수 있다. 코덱에 의해 이루어지는 변환 프로세스는 결과적인 미디어 스트림에 영향을 끼치는 상당수의 구성 옵션들을 사용하여 수행될 수 있다. 이러한 옵션들은 미디어를 인코딩하는 데에 사용되는 비트 레이트를 포함한다.
비트 레이트 옵션은 타겟 비트 레이트와 평균 비트 레이트의 적용을 포함할 수 있다. 여타 코덱 옵션은 비디오 해상도, 비디오 컬러 뎁스, 비디오 프레임 레이트, 오디오 샘플링 주파수, 오디오 비트 뎁스, 오디오 채널 수, 알고리즘 인코딩 등을 선택하는 단계를 포함할 수 있다. 일 실시예에서, 미디어를 인코딩하는 데에 사용되는 구성은 스트리밍 동안 어느 때라도 변화될 수 있으며, 이는 스트리밍 미디어의 속성의 역동적인 변화를 가능하게 하기 위함이다. 이는 스트리밍 미디어가 전송되는 네트워크 환경에, 해당 스트리밍 미디어가 적응될 수 있도록 하는 주요한 이점을 제공한다. 비록 본 개시가 네트워크 환경에 대응하여 스트리밍되는 미디어의 비트 레이트 구성의 적응에 집중할 것이지만, 사용 가능한 네트워크 대역폭을 보다 잘 사용하도록 하기 위해서 변화하는 네트워크 환경에 대응하여 특정 코덱 구성 옵션이 조정될 수 있음을 유념해야 한다.
네트워크(10)를 통해 인코딩되고 전송된 후 데이터 스트림(25)은 제2 네트워크 장치(30)에 의해 수신되고, 제2 네트워크 장치(30) 상의 사용자 또는 제2 네트워크 장치(30)에 연결된 장치에 의해 디코딩되어 재생된다. 대안적으로, 제2 네트워크 장치(30)에 의해 수신된 미디어 스트림은 제2 네트워크 장치(30) 또는 제2 네트워크 장치(30)에 연결된 장치에 의해 저장될 수 있다.
도 3은 증가된 네트워크 레이턴시를 빠르게 결정하고, 증가된 네트워크 레이턴시에 상응하여 대응하기 위한 본 개시의 일시예를 나타낸다. 도 3은, 설명의 양태에 따라 CRTT에 사용되는 패킷들에 대한 시퀀스 다이어그램을 나타내는 도 4와 관련하여 아래에 설명될 것이다.
본 단계(S310)에서, 일련의 제1 패킷(40)은 네트워크(10)를 통해 제1 네트워크 장치(20)에 의해 제2 네트워크 장치(30)로 전송된다. 제1 패킷(40)은 스트리밍 미디어를 형성하는 데이터를 포함할 수 있다. 일 실시예에서, 제1 패킷(40)은 RTP 패킷 및 적어도 하나의 RTCP 패킷을 포함한다. 각 제1 패킷(40)은 제1 패킷(40)을 고유하게 식별할 수 있는 고유 식별 값(60)을 포함한다. 고유 식별 값(60)은 도 5에 나타난 실시예에서 'RTP 패킷 시퀀스 번호'로 나타난다.
일 실시예에서 제1 네트워크 장치(20)는 각 제1 패킷(40)의 고유 식별 값(60) 및 전송 시간 T1을 기록한다.
본 단계(S320)에서, 제2 네트워크 장치(30)는 제1 네트워크 장치(20)로 제2 패킷(50)을 전송한다. 제2 패킷(50)은 실시간 전송 제어 프로토콜(RTCP) 패킷일 수 있다. 일 실시예에서, 제2 패킷(50)은 제2 네트워크 장치(30)에 의한 제1 패킷(40)의 수신완료 정보를 포함한다. 이는 상응하는 제1 패킷(40)에 대한 고유 식별 값(60)을 포함할 수 있다. 제2 패킷(50)은 나아가 제2 네트워크 장치(30) 상에서의 제1 패킷(40)의 수신 시간 T2를 더 포함할 수 있다. 제2 패킷(50)은 나아가 제2 네트워크 장치(30)로부터의 제2 패킷(50)의 전송 시간 T3를 더 포함할 수 있다. 대안적인 실시예에서 수신 시간 T2 및 전송 시간 T3 대신, 제2 패킷(50)은 수신 시간 T2 및 전송 시간 T3 사이의 차이, 즉 (T3 - T2)를 기록하는 '프로세싱 시간(processing time)'을 포함한다. 일 실시예에서, 제1 네트워크 장치(20)는 각 제2 패킷(50)의 수신 시간 T4를 기록한다.
본 단계(S330)에서 제1 네트워크 장치(20)는, 적어도 하나의 제1 패킷(40),
- 제1 패킷(40)의 전송 시간 T1,
- 제1 패킷(40)에 상응하는 수신완료 정보를 포함하는 제2 패킷(50)의 수신 시간 T4, 및
- 제2 네트워크 장치(30)에서의 제2 패킷(50)의 전송 시간 T3에서, 제2 네트워크 장치(30) 상에서의 제1 패킷(40)의 수신 시간 T2를 제한, 즉 (T3 - T2) 값을 사용하여 기준 왕복 시간(RTT)을 결정한다.
RTT는 곧 T4 - (T3 - T2) - T1로서 계산될 수 있다. 도 4의 시퀀스 다이어그램 및 도 5의 패킷 표에서 나타난 예시에서, 제1 패킷(40)은 제1 네트워크 장치(20) 상에서의 시계에 따라 15.608353초(T1)에 전송되었다. 제2 패킷(50)은 제1 네트워크 장치(20) 상에서의 시계에 따라, 제2 네트워크 장치(30)로부터 전송되어 16.43566초(T4)에 수신되었다. 제2 패킷(50)은, 마지막 송신자가 패킷을 보고한 시점부터의 지연(Delay Since Last Sender Report Packet, DLSR)으로도 알려진 프로세싱 시간(T3 - T2)을 포함한다. 이 예시에서의 DLSR은 0.826초다. 왕복 시간은 이후 제1 패킷(40)을 수신하고 제2 패킷(50)을 전송하는 제2 네트워크 장치(30) 간 지연을 제함으로써 결정되며, 이는 도 5에 명시된 것처럼 0.001307초 또는 1.307밀리초
Figure pat00001
1.31밀리초이다.
본 단계(S340)에서, 왕복 시간을 추정하는 데에 대안적인 방법 또한 사용된다. 본 단계(S340)에서 현재 왕복 시간은 수신완료 정보가 감지되지 않은 제1 패킷(40)의 전송 시간(T1)에 의존적으로, 그리고 가장 최근에 수신된 제2 패킷(50)의 수신 시간(T4a)에 의존적으로 결정된다. 이러한 대안적인 방법의 단계는 도 6에 나타난다.
도 6의 본 단계(S610)에서 제1 네트워크 장치(20)는, 제2 네트워크 장치(30)로부터 수신완료 정보가 감지되지 않은, 전송 시간(T1a)을 가지는 제1 패킷(40)을 식별한다.
본 단계(S620)에서 제1 네트워크 장치(20)는, (컨텐츠에 무관하게) 가장 최근에 수신된 제2 패킷(50)의 수신 시간(T4a)을 식별한다.
본 단계(S630)에서 제1 네트워크 장치(20)는 현재 왕복 시간(CRTT)을, 수신완료 정보가 감지되지 않은 가장 오래된 제1 패킷(40)의 전송 시간(T1a)과 가장 최근에 수신된 제2 패킷(50)의 수신 시간(T4a) 간의 차이로 결정한다. 도 6에서도 나타나는 일 예시에서, 제1 네트워크 장치(20) 상의 시계에 따라 제1 패킷(40)이 16.136001초(T1a)에 전송되었으며 제2 패킷(50)이 16.43566초(T4a)에 수신되었다면, 왕복 시간은 0.299659초 또는 300밀리초이다.
(예를 들어 RTCP 보고와 같은) 가장 최근에 수신된 제2 패킷(50)을 사용하여 계산된 RTT에 단순히 의지하거나, 다음 제2 패킷(50)이 도달할 때 계산될 다음 RTT를 기다리는 대신, 상기 기법은 (예를 들어 RTCP 보고가 아닌 일반적인 RTP 패킷과 같은) 확인응답이 수신되지 않은 가장 오래된 데이터 패킷의 전송 시간과, 가장 최근에 수신된 RTCP 보고의 수신 시간을 비교하여 네트워크(10)의 레이턴시를 또 다른 방식으로 유용하게 결정할 수 있도록 한다. 이는 오래된 제1 패킷(40)과 이에 상응하는 제2 패킷(50)을 사용하여 계산된, 오래된 RTT의 사용을 필요로 하지 않으며, RTT를 위해 사용된 데이터 패킷과 대비해 보다 최근의 데이터 패킷들을 사용하여 계산될 수 있다.
적어도 하나의 상황에서, 미사용 네트워크 대역폭이 존재하는지를 감지하는 단계는 특히 이로울 수 있다. 예를 들어 라이브 스포츠와 같은 라이브 스트리밍 비디오에 낮은 레이턴시가 수반된 상황에서, 도입된 해당 레이턴시에 거대한 프리버퍼들이 이상적이지 않다면, 네트워크 시스템(100)이 미사용 네트워크 대역폭(90)의 사용 가능성 변화에 최대한 빠르게 대응할 수 있는 것이 매우 중요하다.
도 7에서 나타나듯이 선택적으로 미사용 네트워크 대역폭(90)의 존재(즉, 사용 가능성)를 결정하는 단계는, 기준 RTT가 제1 임계치(710)를 초과하고/초과하거나 CRTT가 제2 임계치(720)를 초과하는지를 결정하는 단계를 포함한다. 제1 임계치(710) 및/또는 제2 임계치(720)를 초과했다면, 미사용 네트워크 대역폭(90)이 존재하지 않거나 사용 가능하지 않은 것으로 결정된다. 선택적으로 제2 임계치(720)는 제1 임계치(710)보다 크다. 일 실시예에서, 적절한 제1 임계치(710) 값은 200밀리초이다. 일 실시예에서, 적절한 제2 임계치(720) 값은 300밀리초이다. 적절한 임계치 값은 시스템 설계 및 시험에 의존적으로 선택될 수 있다.
도 3으로 돌아가 해당 단계(S350)에서, 제1 네트워크 장치(20)는 CRTT 및 기준 RTT 모두에 의존적으로 제1 네트워크 장치(20) 및 제2 네트워크 장치(30) 간 미사용 네트워크 대역폭(90)이 존재하는지를 결정한다. 제1 임계치(710) 및/또는 제2 임계치(720)를 초과했다면, 미사용 네트워크 대역폭(90)이 존재하지 않거나 사용 가능하지 않은 것으로 결정된다. 제1 임계치(710) 및 제2 임계치(720)를 모두 초과하지 않았다면, 미사용 네트워크 대역폭(90)이 있을 것으로 결정된다.
본 단계(S360)에서 제1 네트워크 장치(20)는 기결정된 미사용 네트워크 대역폭(90)에 의존적으로, 전송된 데이터 스트림(25)을 위한 비트 레이트를 업데이트할 목적으로 코덱 구성을 변경하도록 구성될 수 있다.
선택적으로, 기결정된 미사용 네트워크 대역폭(90)의 사용 가능성을 고려한, 전송된 데이터 스트림(25)을 위한 비트 레이트를 업데이트하는 단계는, 미사용 네트워크 대역폭(90)이 사용 가능하지 않을 때 데이터 스트림(25)을 위한 비트 레이트를 감소시키는 단계를 포함한다. 미사용 네트워크 대역폭(90)이 사용 가능하지 않다는 표현은 해당 미사용 네트워크 대역폭(90)이 소정의 비트 레이트를 가지는 데이터 스트림의 전송에 충분하지 못하다는 것이며, 또한 데이터 스트림을 위한 비트 레이트가 전송이 가능할 정도로 감소되어야 한다는 것이다. 다시 말하자면, 소정의 비트 레이트를 가진 데이터 스트림의 전송을 위해 사용 가능한 네트워크 대역폭이 충분치 않으므로, 데이터 스트림의 전송을 가능하게 하기 위해 비트 레이트를 감소시켜야 한다는 것이다. 미사용 네트워크 대역폭(90)이 사용 가능하다는 (또는 '존재한다'는) 것은, 사용 가능한 미사용 네트워크 대역폭의 양이 보다 높은 비트 레이트를 가진 데이터 스트림을 전송하기 위해 충분하며, 그러므로 데이터 스트림의 비트 레이트가 증가된다는 의미이다. 일 실시예에서, 전송된 데이터 스트림(25)을 위한 비트 레이트는 기준 왕복 시간 및/또는 현재 왕복 시간이 증가될 때 감소된다. 예를 들어, 이는 미사용 네트워크 대역폭(90)이 여전히 사용 가능하지만 기준 왕복 시간 및/또는 현재 왕복 시간이 증가되는 경우를 보일 수 있다. 비트 레이트를 감소시키는 이유는 네트워크 내에 존재할 수 있는 지연이나 혼잡을 피하거나 줄이기 위해서이다.
일 실시예에서 비디오 스트림을 위해서만 쓰이며 오디오 스트림을 위해서는 쓰이지 않는 비트 레이트는, 네트워크 레이턴시의 변화에 대응하여 조정된다. 이는 오디오 스트림에 쓰이는 감소된 비트 레이트에 보다 민감할 수 있으며 스트리밍 미디어 경험을 저해 받을 수 있는 수신자가, 비디오 스트림에 쓰이는 감소된 비트 레이트는 감지하지 못할 수 있다는 이점을 가진다.
도 8에 나타난 실시예에서, 시스템(100)이 네트워크(10) 상의 제1 패킷(40)의 버퍼링을 감소시킬 수 있도록 하는 데이터 스트림(25)의 인코딩을 위한 적절한 비트 레이트를 선택하기 위한 방법이 제공된다.
도 8의 해당 단계(S810)에서, 제1 네트워크 장치(20) 및 제2 네트워크 장치(30) 간의 기사용 네트워크 대역폭(95)이 결정된다. 기사용 네트워크 대역폭(95)은 제1 네트워크 장치(20) 및 제2 네트워크 장치(30) 간에 1초당 전송되는 데이터 패킷들의 총 크기를 기반으로 결정될 수 있다. 대안적으로, 통상의 기술자들에게 알려진 네트워크(10)를 통한 기사용 네트워크 대역폭(95)을 결정하는 여타 방법의 사용이 구상될 수 있다.
본 단계(S820)에서, 네트워크 처리량 값(96)이 기사용 네트워크 대역폭(95)에 의존적으로 결정된다. 네트워크 처리량 값(96)은, 제1 네트워크 장치(20)가 제2 네트워크 장치(30)로 1초당 전달할 수 있는 데이터의 양에 상응한다. 이 값은 예를 들어 이론적인 네트워크 대역폭의 일부분과 같이 미리 확인될 수 있거나, 주기적으로 결정될 수 있다. 통상의 기술자들에게 알려진 네트워크(10)를 통한 네트워크 처리량 값(96)을 결정하기 위한 방법의 사용이 구상될 수 있다.
본 단계(S830)에서, 네트워크(10) 내에 버퍼링된 제1 패킷(40)들의 총 크기는, 제1 네트워크 장치(20)에 의해 전송된 데이터 패킷들의 총 크기 및 제2 네트워크 장치(30)로 전달된 데이터 패킷들의 총 크기를 기반으로 결정된다. 제1 패킷(40)의 총 크기는, 제1 패킷(40)의 총 개수, 제1 패킷(40)의 평균 크기, 및/또는 제1 패킷(40)을 사용하여 전송된 데이터 양에 대한 함수로써 결정될 수 있다.
본 단계(S840)에서는 예약 대역폭(97)의 양이 결정되며, 이는 네트워크(10) 내 버퍼를 비우기에 적합한 시간 구간 내에, 네트워크(10) 내 버퍼링된 제1 패킷(40)을 제2 네트워크 장치(30)로 전달하는 단계를 가능하게 할 것이다.
본 단계(S850)에서는 적어도 네트워크 처리량 값(96) 및 예약 대역폭(97)을 기반으로 데이터 스트림(25)을 위한 잔여 대역폭(98)의 양이 결정된다. 일 실시예에서 데이터 스트림(25)을 위한 잔여 대역폭(98)은, 네트워크 처리량 값(96), 예약 대역폭(97) 및 추가 데이터 스트림(26)에 의해 사용된 대역폭을 기반으로 결정된다.
본 단계(S860)에서는 데이터 스트림(25)을 위한 비트 레이트가, 데이터 스트림(25)을 위한 기결정된 잔여 대역폭(98)에 의존적으로 업데이트된다.
일 실시예에서 상기 단계(S610, S620, S630) 내에서 결정되는 CRTT는, 미사용 네트워크 대역폭(90)을 결정하고 네트워크(10) 상의 적절한 미디어 스트리밍 비트 레이트를 결정하기 위해 RTT와 독립적으로 사용될 수 있다. 이 실시예에서 CRTT는 독립적으로 사용되거나, 통상의 기술자들에게 알려진 미사용 네트워크 대역폭(90)을 결정하는 여타 방법들과 함께 사용될 수 있다.

Claims (14)

  1. 제1 네트워크 장치에 의해 수행되는 방법 - 상기 제1 네트워크 장치는, 네트워크를 통해 데이터 스트림을 소정의 비트 레이트로 제2 네트워크 장치에 전송하도록 구성됨 - 에 있어서,
    - 상기 네트워크를 통해 일련의 제1 패킷들을 상기 제2 네트워크 장치로 전송하는 단계 - 상기 제1 패킷들 각각은, 대응되는 전송 시간을 가지고 고유 식별 값을 포함함 - ;
    - 제2 패킷을 상기 제2 네트워크 장치로부터 수신하는 단계 - 상기 제2 패킷은, 상기 제2 네트워크 장치에 의해 적어도 하나의 상기 제1 패킷의 수신완료 정보를 포함하고 대응되는 수신 시간을 가짐 - ;
    - (i) 수신완료 정보가 감지되는, 제1 패킷의 전송시간 및 (ii) 상기 제1 패킷의 수신완료 정보를 포함하는 제2 패킷의 수신 시간에 적어도 의존적인 기준 왕복 시간을 결정하는 단계;
    - (i) 수신완료 정보가 감지되지 않은, 가장 오래된 제1 패킷의 전송 시간 및 (ii) 가장 최근에 수신된, 제2 패킷의 수신 시간에 의존적인 현재 왕복 시간을 결정하는 단계;
    - 상기 현재 왕복 시간 및 상기 기준 왕복 시간에 의존적인, 상기 제1 네트워크 장치 및 상기 제2 네트워크 장치 간에 미사용 네트워크 대역폭이 존재하는지를 결정하는 단계; 및
    - 상기 미사용 네트워크 대역폭의 존재에 의존적인 상기 전송된 데이터 스트림을 위한 상기 비트 레이트를 업데이트하는 단계;
    를 포함하는, 방법.
  2. 제1항에 있어서,
    상기 현재 왕복 시간은, 상기 수신완료 정보가 감지되지 않은, 가장 오래된 제1 패킷의 상기 전송 시간과, 상기 가장 최근에 수신된, 제2 패킷의 상기 수신 시간 간의 차이로 결정하는 단계를 더 포함하는, 방법.
  3. 제1항에 있어서,
    상기 기준 왕복 시간이, 상기 제1 패킷의 전송 시간 값, 상기 제2 네트워크 장치 상에서의 상기 제1 패킷의 수신 시간 및 상기 제1 패킷의 수신완료 정보를 포함하는 상기 제2 패킷의 상기 전송 시간 값, 및 상기 제1 네트워크 장치 상에서의 상기 제2 패킷의 수신 시간에 의존적으로 결정되는, 방법.
  4. 제3항에 있어서,
    상기 기준 왕복 시간이 T4 - (T3 - T2) - T1로 계산되는, 방법.
  5. 제1항에 있어서,
    상기 제2 패킷이 실시간 전송 제어 프로토콜(Real-time Transport Control Protocol, RTCP) 패킷을 포함하고,
    상기 제1 패킷이 하나 또는 그 이상의 실시간 전송 프로토콜(Real-time Transport Protocol, RTP) 패킷 및 적어도 하나의 RTCP 패킷을 포함하는, 방법.
  6. 제1항에 있어서,
    상기 제1 네트워크 장치 및 상기 제2 네트워크 장치 간의 상기 미사용 네트워크 대역폭이 존재하는지를 결정하는 단계가,
    - 상기 기준 왕복 시간이 제1 임계치를 초과하고/초과하거나 상기 현재 왕복 시간이 제2 임계치를 초과하는지를 결정하는 단계;
    를 포함하는, 방법.
  7. 제6항에 있어서,
    상기 제2 임계치가 상기 제1 임계치보다 큰, 방법.
  8. 제1항에 있어서,
    상기 미사용 네트워크 대역폭의 존재에 의존하는 상기 전송된 데이터 스트림을 위한 상기 비트 레이트를 업데이트하는 단계가,
    - 상기 미사용 네트워크 대역폭이 존재하지 않을 때 상기 데이터 스트림을 위한 상기 비트 레이트를 감소시키는 단계;
    를 포함하는, 방법.
  9. 제1항에 있어서,
    상기 미사용 네트워크 대역폭의 존재에 의존하는 상기 전송된 데이터 스트림을 위한 상기 비트 레이트를 업데이트하는 단계가,
    - 상기 미사용 네트워크 대역폭이 존재할 때 상기 데이터 스트림을 위한 상기 비트 레이트를 증가시키는 단계;
    를 포함하는, 방법.
  10. 제1항에 있어서,
    상기 미사용 네트워크 대역폭의 존재에 의존하는 상기 전송된 데이터 스트림을 위한 상기 비트 레이트를 업데이트하는 단계가,
    - 상기 기준 왕복 시간 및/또는 상기 현재 왕복 시간이 증가될 때, 상기 데이터 스트림의 상기 비트 레이트를 감소시키는 단계;
    를 포함하는, 방법.
  11. 제1항에 있어서,
    상기 데이터 스트림이 비디오 스트림 및 오디오 스트림의 적어도 하나를 포함하는, 방법.
  12. 제11항에 있어서,
    상기 전송된 데이터 스트림을 위한 상기 비트 레이트를 업데이트하는 단계가, 타겟 비트 레이트, 평균 비트 레이트, 해상도, 컬러 뎁스(colour depth), 프레임 레이트, 샘플링 주파수, 비트 뎁스(bit depth) 및 채널 수의 적어도 하나를 업데이트하는 단계;
    를 포함하는, 방법.
  13. 제1항에 있어서,
    - 상기 제1 네트워크 장치 및 상기 제2 네트워크 장치 간에서 1초당 전송되는 데이터 패킷들의 총 크기를 기반으로, 상기 제1 네트워크 장치 및 상기 제2 네트워크 장치 간 기사용 네트워크 대역폭을 결정하는 단계;
    - 상기 제1 네트워크 장치가 상기 제2 네트워크 장치로 1초당 전달할 수 있는 데이터의 양인 네트워크 처리량 값을 상기 기사용 네트워크 대역폭에 의존적으로 결정하는 단계;
    - 상기 제1 네트워크 장치에 의해 전송된 데이터 패킷들의 총 크기 및 상기 제2 네트워크 장치로 전달된 데이터 패킷들의 총 크기를 기반으로 상기 네트워크 내 버퍼링된 데이터 패킷들의 총 크기를 결정하는 단계;
    - 상기 네트워크 내 버퍼들을 비우기에 적합한 시간 구간 내에, 상기 네트워크 내 버퍼링된 데이터 패킷들을 상기 제2 네트워크 장치로 전달하기 위해 필요한 예약 대역폭을 결정하는 단계;
    - 상기 네트워크 처리량 값 및 상기 예약 대역폭을 기반으로, 그리고 가능하게는 추가적인 데이터 스트림에 의해 사용되는 대역폭을 기반으로 상기 데이터 스트림을 위한 잔여 대역폭을 결정하는 단계;
    - 상기 데이터 스트림을 위한 상기 결정된 잔여 대역폭에 의존적인 상기 데이터 스트림을 위한 상기 비트 레이트를 업데이트하는 단계;
    를 더 포함하는, 방법.
  14. 네트워크를 통해 데이터 스트림을 소정의 비트 레이트로 제2 네트워크 장치에 전송하도록 구성된 제1 네트워크 장치에 있어서,
    - 상기 네트워크를 통해 제1 패킷들을 상기 제2 네트워크 장치로 전송하는 프로세스 - 상기 제1 패킷들 각각은, 대응되는 전송 시간을 가지고 고유 식별 값을 포함함 - ;
    - 제2 패킷을 상기 제2 네트워크 장치로부터 수신하는 프로세스 - 상기 제2 패킷이 상기 제2 네트워크 장치에 의해 적어도 하나의 상기 제1 패킷의 수신완료 정보를 포함하고, 상기 제2 패킷들 각각은 대응되는 수신 시간을 가짐 - ;
    - (i) 수신완료 정보가 감지되는, 제1 패킷의 전송시간 및 (ii) 상기 제1 패킷의 수신완료 정보를 포함하는 제2 패킷의 수신 시간에 적어도 의존적인 기준 왕복 시간을 결정하는 프로세스;
    - (i) 수신완료 정보가 감지되지 않은, 가장 오래된 제1 패킷의 전송 시간 및 (ii) 가장 최근에 수신된, 제2 패킷의 수신 시간에 의존적인 현재 왕복 시간을 결정하는 프로세스;
    - 상기 기준 왕복 시간 및 상기 현재 왕복 시간에 의존적인, 상기 제1 네트워크 장치 및 상기 제2 네트워크 장치 간에 미사용 네트워크 대역폭이 존재하는지를 결정하는 프로세스; 및
    - 상기 미사용 네트워크 대역폭의 존재에 의존적인 상기 전송된 데이터 스트림을 위한 상기 비트 레이트를 업데이트하는 프로세스;
    를 포함하도록 구성된, 제1 네트워크 장치.
KR1020210047045A 2020-05-05 2021-04-12 왕복 시간 추정 KR102491033B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP20172847.4A EP3907943B1 (en) 2020-05-05 2020-05-05 Round-trip estimation
EP20172847.4 2020-05-05

Publications (2)

Publication Number Publication Date
KR20210135927A true KR20210135927A (ko) 2021-11-16
KR102491033B1 KR102491033B1 (ko) 2023-01-20

Family

ID=70613572

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210047045A KR102491033B1 (ko) 2020-05-05 2021-04-12 왕복 시간 추정

Country Status (6)

Country Link
US (1) US11533237B2 (ko)
EP (1) EP3907943B1 (ko)
JP (1) JP7296423B2 (ko)
KR (1) KR102491033B1 (ko)
CN (1) CN113612649B (ko)
TW (1) TWI801835B (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230300671A1 (en) * 2022-03-18 2023-09-21 Qualcomm Incorporated Downlink congestion control optimization

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080212480A1 (en) * 2007-02-02 2008-09-04 Nec Corporation Communication terminal which perform low-delay communication by using a broadband line
US20190089643A1 (en) * 2017-09-20 2019-03-21 Futurewei Technologies, Inc. Combined method for data rate and field of view size adaptation for virtual reality and 360 degree video streaming

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6996624B1 (en) 2001-09-27 2006-02-07 Apple Computer, Inc. Reliable real-time transport protocol
US7225267B2 (en) 2003-01-27 2007-05-29 Microsoft Corporation Reactive bandwidth control for streaming data
US7359004B2 (en) * 2003-05-23 2008-04-15 Microsoft Corporation Bi-level and full-color video combination for video communication
US7701884B2 (en) * 2004-04-19 2010-04-20 Insors Integrated Communications Network communications bandwidth control
JP4645281B2 (ja) * 2005-04-19 2011-03-09 ソニー株式会社 情報処理装置および方法、プログラム、並びに記録媒体
US7987285B2 (en) * 2007-07-10 2011-07-26 Bytemobile, Inc. Adaptive bitrate management for streaming media over packet networks
FR2922391B1 (fr) 2007-10-15 2009-12-04 Canon Kk Procede et dispositif de transmission de donnees
US10165286B2 (en) * 2009-07-08 2018-12-25 Dejero Labs Inc. System and method for automatic encoder adjustment based on transport data
JP5427707B2 (ja) 2010-06-21 2014-02-26 日本電信電話株式会社 データ伝送システム及び方法
US9197559B1 (en) * 2011-04-29 2015-11-24 Arris Enterprises, Inc. Adaptive streaming using non-local information
JP5789548B2 (ja) 2012-03-16 2015-10-07 株式会社日立製作所 通信装置
JP5942660B2 (ja) 2012-07-20 2016-06-29 富士通株式会社 フレームロス測定装置、伝送装置、通信システム及び性能測定方法
US10187680B2 (en) * 2014-11-11 2019-01-22 Cisco Technology, Inc. Adaptive bit rate system architectures using named domain networking
CN105991462B (zh) * 2015-03-02 2019-05-28 华为技术有限公司 传输控制协议tcp数据包的发送方法、发送装置和系统
CN106304203B (zh) * 2015-05-29 2020-02-21 腾讯科技(深圳)有限公司 数据传输方法及装置
GB2541733B (en) * 2015-08-28 2019-02-13 Imagination Tech Ltd Bandwidth Management
US10306284B2 (en) * 2015-12-07 2019-05-28 Net Insight Intellectual Property Ab ABR adjustment for live OTT
US10791162B2 (en) * 2015-12-31 2020-09-29 Hughes Network Systems, Llc Maximizing quality of service for QoS adaptive video streaming via dynamic application-layer throughput rate shaping
US10389987B2 (en) 2016-06-12 2019-08-20 Apple Inc. Integrated accessory control user interface
CN107438031A (zh) * 2017-08-07 2017-12-05 成都三零凯天通信实业有限公司 多信道自适应网络带宽的音视频流传输控制方法及系统
US10812614B2 (en) * 2017-12-20 2020-10-20 Citrix Systems, Inc. Intermediated retrieval of networked content

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080212480A1 (en) * 2007-02-02 2008-09-04 Nec Corporation Communication terminal which perform low-delay communication by using a broadband line
US20190089643A1 (en) * 2017-09-20 2019-03-21 Futurewei Technologies, Inc. Combined method for data rate and field of view size adaptation for virtual reality and 360 degree video streaming

Also Published As

Publication number Publication date
EP3907943A1 (en) 2021-11-10
US11533237B2 (en) 2022-12-20
US20210351985A1 (en) 2021-11-11
JP7296423B2 (ja) 2023-06-22
TW202143679A (zh) 2021-11-16
KR102491033B1 (ko) 2023-01-20
JP2021185659A (ja) 2021-12-09
EP3907943B1 (en) 2022-04-27
TWI801835B (zh) 2023-05-11
CN113612649A (zh) 2021-11-05
CN113612649B (zh) 2023-04-25

Similar Documents

Publication Publication Date Title
JP3662907B2 (ja) データ送受信方法、送信装置、受信装置、送受信システム、およびプログラム
US9191664B2 (en) Adaptive bitrate management for streaming media over packet networks
RU2305908C2 (ru) Адаптивный способ оценивания скорости передачи мультимедийных данных
RU2304364C2 (ru) Устройство и способ для измерения времени задержки на двустороннее распространение для мультимедийных данных с переменной скоростью передачи битов
JP3814614B2 (ja) マルチメディア・ストリーミング環境におけるサーバベースのレート制御
CA2842098C (en) A system and method for transmission of data signals over a wireless network
US9781488B2 (en) Controlled adaptive rate switching system and method for media streaming over IP networks
JP5147858B2 (ja) 複合および非複合rtcpパケット間のrtcp帯域幅の分割
EA031556B1 (ru) Способ управления пропускной способностью для голосовой связи по интернет-протоколу (voip)
US20180324237A1 (en) Method for congestion control in multiparty conferencing, multipoint control unit, computer program and computer program product
Singh et al. Rate adaptation for conversational 3G video
JP2009267760A (ja) データ送信装置、送信レート制御方法およびプログラム
KR102491033B1 (ko) 왕복 시간 추정
JP3871661B2 (ja) マルチメディアコンテンツ受信装置及びマルチメディアコンテンツ受信方法
WO2005050945A1 (en) Feedback provision using general nack report blocks and loss rle report blocks
JP2013098759A (ja) データ送信装置およびデータ受信装置
KR20160026668A (ko) VoIP 패킷 크기 조절 장치 및 방법
US20140003236A1 (en) System and Method for Dynamic Rate Adaptation Based on Real-Time Call Quality Metrics
El-Marakby et al. Evaluation of the Real-Time Transport Protocol (RTP) for Continuous Media Communications
Singh Rate-control for conversational H. 264 video communication in heterogeneous networks
KR20050068433A (ko) 통신 시스템에서의 혼잡 제어 방법 및 장치

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant