KR101644215B1 - 신뢰성 있는 데이터 통신을 위한 네트워크 추상화 계층을 파싱하는 방법 및 장치 - Google Patents

신뢰성 있는 데이터 통신을 위한 네트워크 추상화 계층을 파싱하는 방법 및 장치 Download PDF

Info

Publication number
KR101644215B1
KR101644215B1 KR1020127020128A KR20127020128A KR101644215B1 KR 101644215 B1 KR101644215 B1 KR 101644215B1 KR 1020127020128 A KR1020127020128 A KR 1020127020128A KR 20127020128 A KR20127020128 A KR 20127020128A KR 101644215 B1 KR101644215 B1 KR 101644215B1
Authority
KR
South Korea
Prior art keywords
network
data
protocol
packet
delete delete
Prior art date
Application number
KR1020127020128A
Other languages
English (en)
Other versions
KR20120123386A (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 KR20120123386A publication Critical patent/KR20120123386A/ko
Application granted granted Critical
Publication of KR101644215B1 publication Critical patent/KR101644215B1/ko

Links

Images

Classifications

    • 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
    • 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/1809Selective-repeat protocols
    • 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/0823Errors, e.g. transmission errors
    • H04L43/0829Packet loss
    • 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
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • 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/18End to end
    • 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/2408Traffic characterised by specific attributes, e.g. priority or QoS for supporting different services, e.g. a differentiated services [DiffServ] type of service
    • 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
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/328Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the presentation layer [OSI layer 6]
    • 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
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234327Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by decomposing into layers, e.g. base layer and one or more enhancement layers
    • 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
    • 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/631Multimode Transmission, e.g. transmitting basic layers and enhancement layers of the content over different transmission paths or transmitting with different error corrections, different keys or with different transmission protocols
    • 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/637Control signals issued by the client directed to the server or network components
    • H04N21/6375Control signals issued by the client directed to the server or network components for requesting retransmission, e.g. of data packets lost or corrupted during transmission from server
    • 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/64Addressing
    • H04N21/6405Multicasting
    • 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/643Communication protocols
    • H04N21/6437Real-time Transport Protocol [RTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8451Structuring of content, e.g. decomposing content into time segments using Advanced Video Coding [AVC]

Landscapes

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

Abstract

추상화 계층 헤더를 파싱(410)하고, 송신될 패킷에 우선순위를 할당하고, 송신될 데이터를 버퍼링하고, 데이터그램 프로토콜(240, 245)을 통해 버퍼(235)로부터 검색된 데이터를 송신하고, 데이터 재송신에 대한 요청을 수신(405)하고, 요청된 데이터가 버퍼에 있는지를 결정(415)하고, 에러 회복 및 데이터의 종단간 확인응답을 제공하는 프로토콜을 통해 요청된 데이터를 재송신하는 것을 포함하는 방법 및 장치가 설명된다. 송신기의 네트워크 모니터(270, 405)가 네트워크 인터페이스(250)와 예를 들어 할당된 우선순위 및 수집된 네트워크 통계에 기초하여 어떤 패킷들을 재송신할지를 결정하는 재송신 결정기(275) 사이에 접속된다. 또한 현재 네트워크 통계를 수집하여 송신기(200)에 보고하기 위해 수신기(201)에 네트워크 모니터(271)가 제공될 수 있다.

Description

신뢰성 있는 데이터 통신을 위한 네트워크 추상화 계층을 파싱하는 방법 및 장치{A METHOD AND APPARATUS FOR PARSING A NETWORK ABSTRACTION-LAYER FOR RELIABLE DATA COMMUNICATION}
본 출원은 (1) 국제 특허 출원(출원 번호 PCT/US09/005499, 톰슨 일람 번호 PU090136)로서 2009년 10월 7일자로 제출된 발명의 명칭이 "AN EFFICIENT APPLICATION-LAYER AUTOMATIC REPEAT REQUEST (ARQ) RETRANSMISSION SCHEME FOR RELIABLE REAL-TIME STREAMING IN WIRELESS NETWORKS"인 미국 특허 출원 번호 XXX 및 (2) 국제 특허 출원(출원 번호 XXX, 톰슨 일람 번호 PU090176)로서 XXX일자로 제출된 발명의 명칭이 "A METHOD AND APPARATUS FOR RETRANSMISSION DECISION MAKING"인 미국 특허 출원 번호 XXX와 관련이 있다.
본 출원은 일반적으로 디지털 데이터 네트워크에 관한 것으로, 특히, 신뢰성 있는 디지털 데이터 송신을 위해 디지털 데이터에 우선순위를 매기는 추상화 계층(abstraction-layer) 헤더 파서에 관한 것이다.
멀티캐스트 또는 방송 애플리케이션들에서, 데이터는 일반적으로 유선 및/또는 무선 네트워크를 통해 서버로부터 다수의 수신기들로 송신된다. 여기에서 사용되는 멀티캐스트 시스템은 서버가 동일한 데이터를 다수의 수신기들로 동시에 송신하는 시스템으로서, 여기서 수신기들은 모든 수신기들을 포함하여 모든 수신기들의 부분집합을 형성한다. 방송 시스템은 서버가 동일한 데이터를 모든 수신기들로 동시에 송신하는 시스템이다. 즉, 멀티캐스트 시스템은 의미상 방송 시스템을 포함할 수 있다.
데이터는 일반적으로 송신을 위해 패킷들 및/또는 프레임들로 포맷된다. 즉, 패킷들 및/또는 프레임들은 데이터 포맷 방식들이다. 여기에 사용되는 바와 같이, 데이터는 패킷들 및/또는 프레임들을 포함하여 송신을 위해 임의의 편리한 포맷으로 포맷될 수 있다. 따라서 "패킷"은 당업자에게 알려진 임의의 데이터 포맷 방식을 정의하는 데 사용될 것이다.
무선 네트워크에서의 비디오 송신 또는 분배는 본 명세서에서 디지털 데이터 네트워크의 하나의 애플리케이션의 예로서 사용된다. 무선 데이터 네트워크에서의 비디오 송신은 일반적으로 간섭, 채널 페이딩, 충돌 등의 채널 에러 상황에 의해 발생되는 패킷 손실을 수반한다. 이러한 채널 에러 상황이 발생하면, 프로토콜 스택의 무선 링크층은 고정 기간 내에 고정된 횟수만큼 패킷들을 재송신하려고 시도할 것이다. 이들 재송신이 성공적이지 않으면, 패킷들은 무선 링크층에 의해 누락된다. 인터넷 프로토콜(IP) 네트워크 기반 비디오 송신은 일반적으로 신뢰성 있는 송신 제어 프로토콜(TCP) 전송 프로토콜 또는 덜 신뢰성 있는 사용자 데이터그램 프로토콜(UDP) 전송 프로토콜을 사용하는 실시간 전송 프로토콜(RTP) 프로토콜을 사용하여 목적지(수신기, 때때로 본 명세서에서 클라이언트라 함)로 비디오 패킷들을 전달한다. 예를 들어, 덜 신뢰성 있는 UDP 프로토콜이 사용되면, 프로토콜은 비순차(out-of-order) 패킷들을 검출하거나 손실된 패킷들을 회복하는 수단을 제공하지 않고 패킷 전달 에러를 회복하는 책임을 애플리케이션에 맡긴다. 반대로, TCP 프로토콜이 사용되면, 종단간 확인응답들(end-to-end acknowledgements)이 제공되어 프로토콜은 미디어(오디오, 비디오, 멀티미디어, ...) 패킷들(데이터)을 그 패킷들이 애플리케이션에 의해 처리될 순서로 엄밀히 전송 및/또는 회복하려고 시도한다. 패킷 에러가 검출되면, TCP는 데이터 흐름 제어를 위한 슬라이딩 윈도우 메커니즘을 제공하고 패킷 송신 레이트를 감소시킨다. TCP는 손실된 패킷들이 회복될 때까지 그것들을 계속 재송신한다.
비디오 송신은 실시간으로 발생하는 애플리케이션의 예이며 데이터의 수신 및 렌더링과 연관된 사용자 시청 경험을 갖는다. 패킷들이 전달되거나 회복되어야 하는 레이턴시(latency) 또는 시간 제한이 최종 사용자의 시청 경험에 영향을 주어서는 안 된다. 그러므로, 패킷 에러는 제한된 시간 내에 회복되어야 하고, 그렇지 않으면, 데이터를 볼 수 없다. 현재 TCP는 시간 제한에 기초한 패킷 회복의 제어를 제공하지 않는다. 결과적으로, 무선 네트워크를 위한 전송 프로토콜로서 TCP를 사용하면, 나쁜 사용자 시청 경험을 초래할 수 있다. 또한, TCP는 모든 송신 데이터 패킷에 대하여 긍정적인 확인응답을 요구한다. (데이터 수신기로부터 데이터 송신기(발신기)로의) TCP 상향링크 확인응답은 (송신기(발신기)로부터 수신기로의) 하향링크 데이터 트래픽과 무선 대역폭을 위하여 경쟁한다. 하향링크 및 상향링크 송신들 사이에 충돌이 발생하면, 충돌은 처리율을 더 감소시킬 수 있다.
2009년 10월 7일 제출된 PCT 출원 US/09/005,499는 손실된 데이터 패킷을 회복하고 예를 들어 실시간 스트리밍(비디오 등) 데이터 애플리케이션을 돕기 위해 신뢰성 있는 미디어 프로토콜을 구현하기 위한 모듈에서 송신될 데이터가 버퍼링 또는 캐싱되는 효율적인 애플리케이션 계층 ARQ(automatic repeat request) 재송신 방법을 개시한다. (위에 언급한 PCT 출원 US/09/005,499의 도 5로부터 도출된) 도 1을 간략히 참조하면, 예를 들어 비디오 디지털 데이터 입력(105)을 수신하기 위한 실시간 프로토콜 패킷화 모듈(120)이 실시간 서버(100)에 제공된다. 스트리밍 애플리케이션을 제공하는 실시간 프로토콜(RTP) 패킷화 모듈(120)은 예를 들어 소켓형 애플리케이션 프로그래밍 인터페이스(API) 또는 인터페이스들(115)을 통해 신뢰성 있는 미디어 프로토콜 모듈(130)에 접속된다. 이 신뢰성 있는 미디어 프로토콜 모듈은 예를 들어 디지털 애플리케이션에 의해 결정된 (캐시 또는 버퍼 사이즈, 패킷 회복을 기다리는 최대 시간 등의) 구성 데이터 파라미터들(125)을 수신한다. 디지털 애플리케이션은 예를 들어 여러 공지된 애플리케이션들 중에서 전화, 오디오, 비디오 또는 멀티미디어일 수 있다. 로컬 버퍼 또는 캐시 메모리(135)는 초기에 송신된 패킷들이 재송신되어야 하는지 폐기되어야 하는지가 결정될 때까지 그것들을 일시적으로 저장한다. 서버(100)는 UDP/IP 송신기 인터페이스(140) 또는 TCP/IP 송신기/수신기 인터페이스(145) 및 디지털 데이터 네트워크 인터페이스, 예를 들어, 이더넷/802.11 인터페이스(150) 중의 하나를 통해 디지털 데이터를 송신한다. 초기 실시간 송신은 캐시/버퍼(135)에 일시적으로 저장된 실시간 패킷들의 네트워크(110)로의 초기 송신(160)을 통해 발생할 수 있고, 예를 들어, 재송신 ACK/NACK 제어(155)의 수신 또는 소정의 타임아웃을 기다린다.
상기 PCT 출원 US/09/005,499에 개시된 것 등의 신뢰성 있는 미디어 프로토콜 기반 실시간 데이터 송신 시스템에 더 신뢰성을 부가하는 효율적인 방법 및 장치를 갖는다면 이로울 것이다. 본 발명은 이러한 문제들 및/또는 다른 문제들을 처리한다.
본 발명의 일 양태에 따르면, 방법이 개시된다. 예시적인 실시예에 따르면, 방법은 디지털 데이터 패킷의 추상화 계층(abstraction-layer) 헤더를 파싱하여 계층 표현 데이터(layer representation data)를 얻는 단계; 및 상기 파싱에 응답하여 상기 표현 계층에 대한 상기 디지털 데이터 패킷에 우선순위를 할당하는 단계를 포함한다.
본 발명의 다른 양태에 따르면, 장치가 개시된다. 예시적인 실시예에 따르면, 장치는 디지털 데이터 패킷으로부터 계층 표현 데이터를 얻고 상기 계층 표현 데이터에 우선순위를 할당하는 추상화 계층 헤더 파서 등의 수단; 및 상기 할당된 우선순위를 갖는 최근 송신된 패킷들을 메모리에 저장하는 메모리 등의 수단을 포함한다.
본 발명의 다른 양태에 따르면, 장치가 개시된다. 장치는 디지털 데이터 패킷의 추상화 계층 헤더를 파싱하여 계층 표현 데이터를 얻는 추상화 계층 헤더 파서 등의 수단, 및 상기 파싱에 응답하여 상기 표현 계층에 대한 상기 디지털 데이터 패킷에 우선순위를 할당하는 추상화 계층 헤더 파서 등의 수단을 포함한다.
본 발명의 상술한 및 다른 특징 및 이점 및 그를 획득하는 방법은 첨부된 도면에 관련하여 설명되는 본 발명의 실시예의 다음 설명을 참조하면 더 잘 이해될 것이다.
도 1은 예를 들어 상술한 관련된 PCT 출원 US/09/005,499의 도 5로부터 도출된 재송신 결정을 기다리는 실시간 패킷들을 저장하기 위한 신뢰성 있는 미디어 프로토콜 모듈 및 로컬 캐시 또는 버퍼를 갖는 서버의 개략 블록도.
도 2a는 본 발명에 따른 네트워크 추상화 계층(NAL) 헤더 파서 및 현재 네트워크 통계 데이터에 대하여 네트워크 인터페이스를 모니터링하고 신뢰성 있는 미디어 프로토콜(RMP) 모듈에 입력을 제공하는 네트워크 모니터 및 재송신 결정기를 더 나타내는, 본 발명의 원리에 따른 서버의 개략 블록도이고, 도 2b는 본 발명의 원리에 따른 도 2a의 서버로 송신하기 위한 수신기 네트워크 특정 통계 데이터를 수집하기 위한 네트워크 모니터를 갖는 연관된 클라이언트의 개략 블록도.
도 3a는 스케일러블 비디오 코딩(SVC) 인코더로부터 입력을 수신하기 위한 NAL 헤더 파서, 네트워크 모니터 및 재송신 결정기를 갖는 본 발명의 원리에 따른 스트리밍 서버의 간략화된 개략 블록도. 도 3a는 스트리밍 서버로부터 디지털 데이터를 수신하기 위한 스트리밍 수신기를 더 나타낸다. 도 3b는 로컬 MP4 파일 판독기로부터 입력을 수신하기 위한 NAL 헤더 파서를 나타내는 도 3a의 스트리밍 서버의 개략 블록도. 도 3c는 디패킷타이저를 통해 네트워크로부터 입력을 수신하는 도 3a의 NAL 헤더 파서를 나타내는 도면.
도 4는 발신기가 도 2a 또는 도 3의 송신기, 서버 또는 스트리밍 서버일 수 있는 발신기측에서의 네트워크 모니터링을 포함하는 본 발명의 원리에 따른 추상화 계층 헤더 파싱을 위한 발신기측에서의 동작들의 플로우챠트. 도 4는 또한 수신기측에서의 네트워크 모니터링을 더 나타낸다. 수신기측은 도 2b의 클라이언트 또는 도 3의 스트리밍 수신기일 수 있다.
도 5는 본 발명의 원리에 따른 파싱을 위한 스케일러블 비디오 코더(SVC) 네트워크 추상화 계층(NAL) 확장 헤더의 예시적인 데이터 콘텐츠 표현 포맷을 나타내는 도면.
도 6은 본 발명의 양태에 따라 네트워크 모니터링 통계가 도출될 수 있는 실시간 프로토콜(RTP) 헤더의 예시적인 포맷을 나타내는 도면.
도 7은 본 발명의 양태에 따라 네트워크 모니터링 통계가 도출될 수 있는 CC(continuity counter) 필드를 포함하는 MPEG 전송 스트림(TS) 헤더, 예를 들어, MPEG-2의 예시적인 포맷을 나타내는 도면.
도 8은 본 발명의 양태에 따라 네트워크 모니터링 통계가 도출될 수 있는 송신 요청 및 종단간 패킷 손실 레이트를 포함하는 메시지의 예시적인 포맷을 나타내는 도면.
도 9는 본 발명의 양태에 따라 네트워크 모니터링 통계가 도출될 수 있는 ARQ 요청(NACK) 패킷의 제1 예시적인 포맷을 나타내는 도면.
도 10는 본 발명의 양태에 따라 네트워크 모니터링 통계가 송신되고 도출될 수 있는 RMP ARQ 요청(NACK) 패킷의 제2 예시적인 포맷을 나타내는 도면.
본 발명은 신뢰성 있는 미디어 프로토콜(RMP)을 위한 모듈을 위해 실시간(예를 들어, 실시간 프로토콜 또는 RTP) 패킷화로의 입력으로서 추상화 계층 헤더를 파싱하는 송신기 또는 발신기에서의 방법 및 장치에 관한 것이다. 일 실시예에 따르면, 네트워크 추상화 계층(NAL), 예를 들어, MPEG-4 스케일러블 비디오 인코더(SVC) 등의 실시간 비디오 인코더의 H.264/AVC 네트워크 추상화 계층(NAL)은 디지털 데이터 우선순위를 결정하기 위하여 파싱될 수 있는 필드들을 제공하는 헤더를 포함한다. 예를 들어, NAL은 네트워크 친화적이며 몇 개의 디지털 데이터 애플리케이션, 예를 들어, 비디오 전화 애플리케이션, 비디오 대화 애플리케이션, 비디오 회의 애플리케이션 또는 다른 대화 애플리케이션뿐만 아니라 메모리 내의 다운로드된 영화의 저장, 방송 또는 멀티캐스트 애플리케이션, 스트리밍 데이터 애플리케이션 또는 다른 비-대화 애플리케이션 등의 비-대화 애플리케이션 중의 하나를 나타낼 수 있다. NAL은 예를 들어 하나 이상의 바이트를 갖는 패킷의 형태로 복수의 추상화 계층 유닛을 표현하도록 정의될 수 있다. 각각의 NAL 유닛의 제1 바이트는 유닛의 데이터의 타입을 지시하는 헤더 바이트일 수 있고 나머지 바이트들은 NAL 헤더에 의해 지시된 타입의 페이로드 데이터를 포함한다.
일 실시예에 따르면, 추상화 계층 헤더 파서는 스케일러블 비디오 인코더 추상화 계층 헤더를 파싱하여 복수의 필드 중의 하나로부터 데이터를 얻는 것을 포함한다. 본 실시예의 양태에 따르면, 추상화 계층 헤더 파서는 예를 들어 MPEG 4 파일 판독기의 출력 디지털 비디오 데이터에 작용하거나 네트워크로부터의 디지털 데이터를 디패킷타이저에서 수신되는 것으로 받아들일 수 있다. 예를 들어, 추상화 계층 헤더 파서는 계층 표현의 계층간 코딩 의존성 레벨을 나타내는 DID 필드를 파싱할 수 있다. QID 필드는 MGS(medium grain scalability) 계층 표현의 품질 레벨을 나타낸다. TID 필드는 계층 표현의 시간 레벨을 나타낸다. 이러한 필드들을 포함하는 추상화 계층 헤더를 파싱한 하나의 결과는 다음의 페이로드 데이터와 관련된 계층을 식별하는 것이다. 페이로드 데이터 타입의 식별에 응답하여 각각의 식별된 계층에 대하여 상이한 우선순위를 할당할 수 있다. 예를 들어, 베이스 계층은 수신기에서의 완벽한 디코딩을 위하여 절대적으로 필요하므로 베이스 계층은 버퍼 또는 캐시 메모리로부터의 재송신을 위해 높은 우선순위를 할당받을 수 있다. 인핸스먼트 계층 데이터는 더 높은 계층의 디코딩을 위해 필요하기 때문에 인핸스먼트 계층은 중간 우선순위를 할당받을 수 있다. 반면에, 높은 인핸스먼트 계층은 낮은 우선순위를 할당받을 수 있다. 우선순위, 예를 들어, 낮은, 중간, 및 높은 우선순위가 할당되면, 그 우선순위 정보는, 전송 계층에서 재송신이 필요한 경우, 실시간 프로토콜(RTP) 헤더의 "페이로드 타입"(PT) 또는 유사한 필드에서, 또는 IP 헤더의 서비스 타입(type of service: TOS) 필드에서 표현될 수 있다. 서비스 타입 필드는 본 기술에 예로서 DS(differential services) 필드로서 공지될 수 있다. 처음 2개의 비트는 ECN(explicit congestion notification) 비트로서 공지되어 있고, DS 필드 바이트의 다음 6개의 비트는 DSCP(differential services code point) 비트로서 공지되어 있다. 서비스 타입은 일반적으로 본 명세서에서 서비스 데이터의 타입을 제공하는 이들 및 다른 포맷들을 지칭하는 데 사용될 것이다. 신뢰성 있는 미디어 프로토콜 모듈에 의해 이루어진 실시간 패킷 재송신 결정은 일 실시예에 따른 추상화 계층 헤더 파서 및 방법을 포함하도록 변경될 때 계층 인식(layer-aware)일 수 있다.
또 다른 실시예에서, 데이터 네트워크 인터페이스를 통해 데이터 네트워크 품질을 모니터링하고 예를 들어 재송신 결정기로의 입력을 위해 패킷 손실 레이트, 이용가능한 대역폭 및 라운드 트립 지연(round trip delay) 등의 현재 네트워크 데이터 통계를 수집하는 네트워크 모니터가 제공된다. 다음으로, 재송신 결정기는 재송신에 대한 결정이 네트워크 모니터에서 수집된 데이터 네트워크 통계 데이터에 따른 현재 네트워크 상황에 기초할 수 있도록 신뢰성 있는 미디어 프로토콜(RMP) 모듈로의 입력을 제공할 수 있다.
따라서, 디지털 송신 방법은 디지털 데이터 패킷의 추상화 계층 헤더를 파싱하여 계층 표현 데이터를 얻는 단계, 및 파싱에 응답하여 표현 계층에 대한 디지털 데이터 패킷에 우선순위를 할당하는 단계를 포함한다. 계층 표현 데이터를 얻는 단계는 계층간 코딩 의존성 레벨을 결정하는 단계, 그레인 확장성(grain scalability)의 품질 레벨을 결정하는 단계 및 계층 표현의 시간 레벨을 결정하는 단계 중의 하나 또는 모두를 포함할 수 있다. 또한, 방법은 실시간 전송 패킷(RTP) 헤더의 페이로드 타입 필드에서 또는 인터넷 프로토콜 패킷 헤더의 서비스 타입 필드에서 우선순위 레벨을 나타내는 단계 중 하나를 포함한다. 상술한 바와 같이, 추상화 계층 헤더 파서로의 입력은 네트워크 데이터를 수신하는 디패킷타이저로부터 수신되거나 MPEG 파일 판독기와 연관된 것 등의 로컬 서버 메모리로부터 수신될 수 있다.
또한, 또 다른 실시예에서, 디지털 데이터 송신기는 디지털 데이터 패킷으로부터 계층 표현 데이터를 얻고 계층 표현 데이터에 우선순위를 할당하는 추상화 계층 헤더 파서, 네트워크 전송 통계를 수집하는 디지털 데이터 모니터, 및 디지털 데이터 패킷 우선순위 및 수집된 네트워크 전송 통계에 기초하여 디지털 데이터 패킷을 재송신할 것인지를 결정하는 재송신 결정기를 포함할 수 있다. 상술한 바와 같이, 또 다른 실시예의 추상화 계층 헤더 파서는 디지털 비디오 데이터 패킷 애플리케이션을 위한 네트워크 추상화 계층 헤더 파서일 수 있다.
더 구체적으로, 도 2 내지 10을 참조하면, 무선 네트워크에서의 비디오 송신 또는 분배는 통상적으로 UDP를 통한 실시간 전송 프로토콜(RTP), MPEG2TS(motion picture expert group 2 transport stream)를 사용할 수 있다. 실시간 비디오가 단일 소스로부터 단일 목적지(유니캐스트 모드) 또는 단일 소스로부터 다수의 목적지(멀티캐스트 모드)로 분배될 수 있다. 채널 상황이 무선 네트워크에서 변화하므로, 채널 상황이 좋지 않은 경우, 패킷 송신들은 링크 계층 에러 회복이 성공적이지 않으면 패킷 누락을 초래한다. 이러한 상황에서, 패킷 시퀀스에 갭이 존재하고 이는 최종 사용자에게 나쁜 시청 품질을 초래한다. 본 발명은, 본 명세서에서 신뢰성 있는 미디어 프로토콜(RMP)이라 불리는 효율적인 애플리케이션 계층 기반 재송신 방식을 위한 추상화 헤더 파싱 기능을 제공하여, 패킷 손실을 회복하여 신뢰성 있는 실시간 스트리밍 애플리케이션은 물론 네트워크 모니터링 능력을 도와 패킷 재송신 결정을 개선한다.
도 2a 및 2b를 참조하면, 본 발명의 신뢰성 있는 미디어 프로토콜(RMP) 방법에서, RTP 패킷화(220) 및 신뢰성 있는 미디어 프로토콜(RMP) 모듈(230)은 본 발명의 원리에 따른 NAL 헤더 파서(210)를 포함시킴으로써 도움을 받는다. 또한, 네트워크 인터페이스(250)와 인터페이싱하는 네트워크 모니터(270)가 현재 네트워크 통계를 수집하고 재송신 결정기(275)를 통해 RMP 모듈(230)의 신뢰성을 개선한다. NAL 헤더 파서(210), 네트워크 모니터(270) 및 재송신 결정기(275)가 도 2a에서 강조되어 이하에서 더 설명하는 바와 같이 도 2a가 도 1과 다르다는 것을 나타낸다.
초기에, RMP 모듈(230)은 UDP(240)를 이용하여 인터페이스(250) 및 채널(260)을 통해 네트워크(110)로 통상의 유니캐스트 및 멀티캐스트 데이터 또는 패킷들을 송신한다. 데이터는 초기에 RTP 패킷화(220)를 통해 NAL 헤더 파서(210)에 의해 할당된 우선순위를 가지고 로컬 캐시(235)에 저장된다. 이와는 별도로, 손실된 패킷의 재송신을 요청 및 수신하기 위해 추가의 신뢰성 있는 TCP 기반 제어 채널(245, 250, 255)이 도 2a의 소스(송신기, 발신기)와 도 2b의 목적지(수신기, 싱크, 클라이언트)(201) 사이에 확립된다. 이 메커니즘이 적절하게 동작하도록, 송신기(발신기, 서버)(200)는 그의 수신기/클라이언트(201)(도 2b)에 전송된 가장 최근의 패킷들의 캐시(235)를 유지한다. 하나 이상의 수신기/클라이언트(201)(도 2b)가 송신기/서버(200)로부터 데이터 패킷들을 수신하고, 예를 들어 RTP(도 6) 또는 MPEG 전송 스트림(TS) 헤더(도 7)에 존재하는 시퀀스 번호 필드를 이용하여, 수신된 데이터 패킷들 내의 시퀀스 갭을 검출할 수 있다. 수신기(201)가 시퀀스 갭을 검출하면, 수신기(201)는 누락된 데이터 패킷들의 선택적 재송신을 위한 요청을 TCP 기반 제어 채널(255) 상에서 전송한다. 송신기/서버(200)가 그의 수신기/클라이언트(201) 중의 하나 이상으로부터 재송신 요청을 수신하면, 가장 최근의 패킷들의 그의 로컬 캐시(235)를 들여다본다. 요청된 패킷(들)이 로컬 캐시(235)에서 발견되면, 발신기/서버(200)는 그 패킷들의 사본을 할당된 우선순위 및 현재 네트워크 통계에 따라 네트워크(110)를 통해 TCP 기반 제어 채널(255) 상에서 수신기(201)로 유니캐스트로 재송신한다. 요청된 패킷이 그의 로컬 캐시/버퍼(235)에서 발견되지 않으면, 발신기(200)는 재송신 요청들의 나머지를 계속 서비스한다. 수신기/클라이언트(201)는 데이터 채널 및 제어 채널 양쪽으로부터의 수신된 데이터 패킷들 모두를 보유하는 전달 큐(버퍼/캐시)(236)를 유지한다. 수신기/클라이언트(201)는 재송신된 패킷을 이 큐 내에 정확한 순서(위치)로 재정렬하고 그 패킷을 적절한 순서로 정확한 시간에 애플리케이션, 예를 들어, 디스플레이(206)를 위한 비디오 플레이어 애플리케이션(221)으로 전달한다.
수신기/클라이언트(201(도 2b))는 패킷 지연 및 지연 지터가 애플리케이션 한계 내에 있도록 영원히 기다리기보다는 임의의 재송신을 기다리기 위한 구성가능한 시간 윈도우를 유지한다. 또한, 수신기/클라이언트(201)는 제어 채널(255)을 통해 송신기/서버(200)로의 송신을 위해 수신기/클라이언트(201)의 관점으로부터 네트워크 통계를 수집하기 위한 일 실시예에 따른 네트워크 모니터(271)를 구비한다. 네트워크 모니터(271)는 본 명세서에서 더 설명하는 바와 같이 본 발명에 따라 네트워크 통계를 수집하여 송신기/서버(200)로 제공하기 위한 네트워크 모니터(271) 및 네트워크 인터페이스(251) 간의 협력을 나타내기 위해 도 2b에 강조되어 도시되어 있다.
손실된 패킷들에 대한 재송신 응답들 중 일부가 제시간에 수신되지 않으면, 도 2b의 수신기/클라이언트(201)는 전달 큐로부터 애플리케이션, 예를 들어, 비디오 플레이어(221) 및 디스플레이(206)로 수신된 패킷들의 나머지를 전달한다. 재송신된 패킷들 중 일부가 허용되는 회복 시간 윈도우를 초과하여 수신되면, 이 패킷들은 수신기/클라이언트(201)에 의해 폐기될 수 있다. 비디오 애플리케이션은 비디오 디코딩에서의 에러 은닉 기술을 이용하여 일부 데이터 패킷 손실을 견딜 수 있다는 것에 유의해야 한다.
다시 도 2a를 참조하면, 본 발명의 신뢰성 있는 미디어 프로토콜(RMP) 방식은 네트워크 모니터들(270 및 271)의 도움으로 우선순위를 매기고 개선된 재송신 결정을 하기 위하여 파서(210)의 도움을 통해 실시간 애플리케이션/RTP/MPEG TS와 UDP/TCP/IP 사이에서 RMP 모듈(230, 231)을 통해 동작한다. 서버/송신기(200)에서, 추상화 계층 헤더 파서, 예를 들어, 네트워크 추상화 계층(NAL) 헤더 파서(210)는 로컬로 제공되거나 네트워크로 제공된 디지털 비디오 데이터(205)에 작용한다. NAL 헤더 파서(210)는 실시간 프로토콜(RTP) 패킷화(220)로 우선순위 및 데이터를 출력한다. 또한, 네트워크 모니터(270)는 현재 네트워크(110) 통계를 회복하고 제어 데이터를 재송신 결정기(275)로 출력하여 RMP 모듈(230)을 돕는다. 예를 들어, 중간 우선순위가 할당된 인핸스먼트 계층 대 높은 우선순위가 할당된 베이스 계층의 예에 대한 증진에서, RMP 모듈(230)은 네트워크 모니터(270)에 의해 검출된 이용가능한 대역폭이 주어진 임계치보다 낮은 상황에서 높은 우선순위의 베이스 계층 데이터는 재송신하고 중간 우선순위의 인핸스먼트 계층 데이터는 송신하지 않을 것이다. 예를 들어, 캐시/버퍼 메모리(235)에 보유된 모든 패킷을 송신하기보다는, 재송신 결정기(275)는 패킷 손실 레이트 또는 다른 네트워크 상황 등의 네트워크 모니터 수집 통계 및 계층에 의존하는 NAL 헤더 파서(210)에 의해 할당된 우선순위에 기초하여 재송신을 위해 메모리(235)에 보유된 패킷들의 일부를 선택할 수 있다. 예를 들어, 중간 우선순위가 할당된 인핸스먼트 계층 대 높은 우선순위가 할당된 베이스 계층의 예에 대한 증진에서, RMP 모듈(230)은 네트워크 모니터(270)에 의해 검출된 이용가능한 대역폭이 주어진 임계치보다 낮은 상황에서 높은 우선순위의 베이스 계층 데이터는 재송신하고 중간 우선순위의 인핸스먼트 계층 데이터는 송신하지 않을 것이다. 따라서, 재송신 결정기(275)에 따른 재송신 결정과 결합하여 파서(210)에서 데이터에 우선순위를 할당하는 조합은 도 4의 설명과 관련하여 더 기재된 바와 같이 매우 신뢰성 있는 미디어 프로토콜(RMP) 모듈(230)을 제공한다.
다시 도 2a를 참조하면, 서버/송신기(200)에서 네트워크(110)와 RMP 모듈(230) 사이에 일반적인 네트워크 인터페이스(250)가 도시되어 있다. 네트워크 인터페이스 모듈(250)의 예는 이더넷 카드, IEEE 802.11/WiFi 카드 및 컴퓨터 네트워크(110)에 접속된 본 기술에 공지된 다른 장치이다.
도 2b는 클라이언트 장치(201)의 예시적인 구현의 개략도를 나타낸다. 클라이언트는 비디오 플레이어/스트리밍 애플리케이션 모듈(221), 디스플레이(206), 버퍼(캐시 메모리)(236), 신뢰성 있는 미디어 프로토콜(RMP) 모듈(231), UDP/IP 모듈(241), TCP/IP 모듈(246) 및 네트워크 인터페이스(251)를 포함할 수 있다. 네트워크 인터페이스(251)는 예를 들어 이더넷 인터페이스 또는 IEEE 802.11 인터페이스 또는 다른 공지된 네트워크 인터페이스일 수 있다. 네트워크 인터페이스(251)는 모든 착신 메시지를 수신한다. 메시지들은 상이한 소켓들/어드레스들에 도달한다. 네트워크 모니터(271)는 네트워크 인터페이스(251)로부터 수신기/클라이언트(201)의 관점으로부터 현재 네트워크 통계를 수집하고 수집된 통계에 대해 보고하는 적절한 제어 메시지를 채널(255) 상에 출력한다. 따라서, 네트워크 인터페이스(251)는 네트워크(110)로부터 수신된 메시지 및 네트워크 모니터(271) 및 TCP/IP 모듈(246)로부터의 출력 메시지를 어디로 전달할지를 결정할 수 있다. 새로운 착신 데이터 패킷은 네트워크 인터페이스 모듈(251)에 의해 UDP/IP 인터페이스로 전달된다. 데이터 패킷들의 재송신 요청 및 재송신된 데이터 패킷들은 RMP 모듈(231)에 의해 TCP/IP 모듈(246)로 전달된다. RMP 모듈(231)은 수신된 데이터 패킷들 중 임의의 것에 에러가 발생하였는지를 결정하고 UDP/IP(241) 및 TCP/IP(246)를 사용하여 패킷 회복을 조정한다. 그 후 RMP 모듈(231)은 임의의 에러가 발생한 데이터 패킷들에 대한 재송신 요청을 생성한다. 그 후 RMP 모듈(231)은 네트워크(110)를 통한 송신을 위해 재송신 요청을 TCP/IP 모듈(246)로 전달한다. 네트워크 인터페이스(251)에서, 네트워크 모니터(271)에 의해 수집된 임의의 네트워크 통계 데이터가 네트워크(110)를 통한 송신을 위해 재송신 요청에 통합된다. RMP 모듈(231)은 또한 재정렬을 위해 로컬 버퍼(236)에 수신된 패킷들을 저장한다. 재송신된 패킷들이 TCP/IP 모듈(246)을 통해 TCP 제어 채널로부터 수신되면, RMP 모듈(231)은 패킷들을 정확한 순서로 배열한다. RMP(231)는 시퀀스 번호 순으로 정렬된 큐를 유지하고 패킷들을 재정렬하여 이 버퍼 영역/큐(236)에 삽입할 것이다. 회복 윈도우가 만료되면, RMP 모듈(231)은 패킷들을 예를 들어 디스플레이(206)를 위해 플레이어/스트리밍 애플리케이션(221)으로 전달한다. RMP 모듈(231)은 데이터 전달 및 애플리케이션과의 통합을 위해 소켓형 애플리케이션 프로토콜 인터페이스(API)(216)를 제공한다. 일부 패킷은 회복 윈도우의 타임아웃에 의해 회복되지 않을 수 있다.
회복 윈도우의 만료 후에 도달한 데이터 패킷들은 도 4에서 폐기된다. 애플리케이션에 따라, 예를 들어, 비디오를 위해, 스트리밍/플레이어 애플리케이션(221)은 데이터를 디패킷화 및/또는 디코딩하고 데이터를 디스플레이/스피커(206)에 전달한다. 착신 패킷들은 RMP "버퍼 영역"(236)에 저장되고 애플리케이션이 패킷을 요청할 때마다 예를 들어 렌더링(디스플레이)을 위해 애플리케이션으로 넘겨질 것이다. "구성(Config)"으로 표시된 박스(226)는 RMP 모듈(231)과의 "구성 인터페이스"이다. RMP 모듈은 초기화 시 캐시 사이즈, 패킷 회복을 위한 최대 대기 시간 등의 파라미터들 설정하도록 구성될 수 있다.
도 2b에 따른 수신기/클라이언트(201)에서, 네트워크 모니터(271)는 수신기/클라이언트(201)의 관점으로부터 인터페이스(251)를 통해 네트워크 모니터(271)에서 현재 네트워크 통계를 수집하고 제어 채널(255)을 통해 클라이언트/수신기(201)의 네트워크 경험을 디지털 데이터 네트워크(110)를 통해 그것과 접속된 서버로 출력할 수 있다. 네트워크(110)를 통한 송신기/서버(200)에서의 수신시에, 이러한 수집된 네트워크 통계는 인터페이스(250)를 통해 네트워크 모니터(270)로 출력되어 상술한 바와 같이 네트워크(110)의 송신기/서버의 관점으로부터 네트워크 모니터(270)에 의해 수집된 통계를 보충한다. 디지털 데이터 네트워크(110)는, 위성 네트워크, 지상 기반 무선 네트워크, 광섬유 네트워크, 동축 케이블 네트워크, 트위스티드 페어 네트워크, 근거리 네트워크, 광역 네트워크 및 다른 공지된 디지털 데이터 네트워크를 포함하는(이에 제한되지는 않음) 임의의 디지털 데이터 네트워크일 수 있다. 클라이언트/수신기(201)에서 네트워크(110)와 RMP 모듈(231) 사이에 일반적인 네트워크 인터페이스(251)가 도시되어 있다. 네트워크 인터페이스 모듈의 예는 컴퓨터 네트워크(110)에 접속된 이더넷 카드, IEEE 802.11/WiFi 카드 등을 포함할 수 있다.
도 3을 상세히 설명하기 전에, 도면에서 유사한 참조 번호는 유사한 요소를 나타낸다는 것에 유의하는 것이 중요하다. 또한, 네트워크(110)에 대한 참조번호(110)의 첫 번째 번호(1) 등의 참조 번호의 첫 번째 번호는 해당 요소가 처음 나타나는 도면 번호를 지칭한다. 결과적으로, 예를 들면, RMP 모듈(230)은 도 2에서 처음 나타내고, 도 1의 신뢰성 있는 미디어 프로토콜(RMP) 모듈(130)과 유사하지만, 도 1에는 없는 NAL 헤더 파서(210), 네트워크 모니터(270) 및 재송신 결정기(275)의 도입 때문에 도 1의 신뢰성 있는 미디어 프로토콜(RMP) 모듈(130)과는 다른 모듈이다. 또한, 도 2b의 클라이언트/수신기(201)의 네트워크 모니터(271)는 본 발명의 원리에 따라, 도 2a의 RMP 모듈(230) 및 재송신 결정기(275)의 동작을 개선한다. 파서(210), 네트워크 모니터(270, 271) 및 재송신 결정기(275)의 이점 중의 일부는 이하의 도 3 및 4의 설명과 관련하여 더 설명한다.
도 3은 네트워크(110)를 통해 접속된 하나 이상의 스트리밍 수신기로의 송신에 관련하여 스트리밍 서버/송신기의 NAL 추상화 계층 헤더 파서(210), 네트워크 모니터(270) 및 재송신 결정기(275)의 직접적인 표현을 제공한다. 도 3a를 참조하면, 스트리밍 서버에 위치하거나 그로부터 멀리 위치할 수 있는 스케일러블 비디오 코더(SVC) 인코더(300)가 도시되어 있다. 스케일러블 비디오 코더(SVC)는 여기에 더 기재된 바와 같이 시간 또는 프레임 레이트 확장성(scalability), 공간 또는 화상 사이즈 확장성(비디오는 예를 들어, 다수의 해상도 및 애스펙티비(aspect ratio)로 코딩됨) 및 신호 대 잡음비(SNR) 또는 품질/충실도 확장성을 제공한다. NAL 헤더 파서(210)는 H.264 준수(compliant) AVC 네트워크 추상화 계층(NAL) 헤더 파서 또는 도 4와 관련하여 더 기재되는 바와 같이 유사한 기능을 갖는 다른 추상화 계층 헤더 파서일 수 있다. 예를 들어, 도 3b를 참조하면, NAL 헤더 파서(210)는 로컬 메모리 스토어, 예를 들어 MP-4 파일 판독기(302)로부터 입력을 수신할 수 있다. 예시적인 스트리밍 서버 실시예는 IP 텔레비전 채널 또는 영화 서비스를 제공하는 스트리밍 서버일 수 있다. 도 3c의 다른 실시예에서, 네트워크(110)로부터 예를 들어 스트리밍 비디오를 수신하고 수신된 패킷들을 NAL 헤더 파서(210)로 출력하는 디패킷타이저(304)가 도시되어 있다. 도 3c의 스트리밍 서버의 예시적인 비디오 애플리케이션은 비디오 전화일 수 있고 여기서 도시된 스트리밍 서버는 하나의 비디오 통신 단말로부터 또 다른 비디오 통신 단말로의 네트워크 경로 내의 하나의 서버이다.
도 3a, 3b, 3c의 각각에서, NAL 헤더 파서(210)는 패킷타이저(310)를 통해 패킷/프레임 우선순위를 로컬 캐시(235)에 제공할 수 있다. 초기 송신을 위하여, 파서(210)는 파서 데이터 및 우선순위를 패킷타이저(310)로 출력한다. 경로(312)를 통해서, 사본이 로컬 캐시(235)에 배치되고, 경로(314)를 통해서, 패킷타이저가 패킷 데이터를 스트리밍 수신기의 디패킷타이저(320)로 전송한다. 네트워크 모니터(270)는, 경로(316) 상에서 네트워크(110)를 통해 디패킷타이저(320)로 재송신하기 위해 로컬 캐시(235)에 저장된 패킷/프레임을 재전송할지를 선택적으로 결정하는 재송신 결정기(275)에 네트워크 전송 상황 데이터를 제공한다. 경로(316)는 전송 상황 및 파서 할당된 우선순위에 따라 선택된 패킷의 재송신에 사용된다.
이제, 도 4를 참조하여, 본 발명에 따른 추상화 계층 헤더 파서, 네트워크 모니터 및 재송신 결정기의 기능 동작을 발신기 또는 송신기/서버 측 동작 및 수신기/클라이언트/단말 측 동작을 모두 나타내는 도시된 플로우챠트를 참조하여 더 설명할 것이다. 블록(400)에서, 도 3의 서버/송신기는 예를 들어 로컬 파일, 도 3b에 의하면, 파일 판독기(302)로부터 데이터를 얻거나, 네트워크 인터페이스, 예를 들어, 도 3c의 네트워크(110) 및 디패킷타이저(304)로부터 데이터를 수신한다. 수신된 데이터는 도 2a 및 3의 추상화 계층 헤더 파서(210)를 나타내는 블록(410)에 제공된다.
도 5를 간략하게 참조하면, 일반적인 추상화 계층 헤더, 예를 들어, 파싱될 필드를 제공하는 SVC NAL 확장 헤더가 도시되어 있다. 예를 들어, 추상화 계층 헤더 파서(410)는 공간/해상도 확장성의 계층 표현 또는 레벨의 층간 코딩 의존성을 나타내는 제2 바이트(BYTE 1)의 위치들(1-3)에 나타나는 것으로 도시된 DID 필드를 파싱할 수 있다. 예를 들어 제2 바이트(BYTE 1)의 위치들(4-7)에서의 QID 필드가 뒤따를 수 있고 MGS 계층 표현의 품질 레벨을 나타낸다. 예를 들어 제3 바이트(BYTE 2)의 위치들(0-2)에서의 TID 필드는 계층 표현의 시간 레벨을 나타낸다. 이러한 필드들을 포함하는 추상화 계층 헤더를 파싱하는 것의 하나의 결과는 다음의 페이로드 데이터와 연관된 계층을 식별하는 것이다. 페이로드 데이터 타입의 식별에 응답하여, 도 4의 파서 블록(410)에서의 파서는 다음의 데이터에 대한 각각 식별된 계층에 대하여 상이한 우선순위, 예를 들어, 낮은, 중간 및 높은 우선순위를 할당할 수 있다. 다른 실시예에서는 3개보다 많은 우선순위 레벨들이 채용될 수 있다. 예를 들어, 베이스 계층은 수신기(201)에서의 완벽한 디코딩을 위하여 절대적으로 필요하므로 페이로드 데이터 타입에 대한 베이스 계층은 버퍼 또는 캐시 메모리(235)로부터의 재송신을 위해 높은 우선순위를 받을 수 있다. 인핸스먼트 계층 데이터는 더 높은 계층의 디코딩을 위해 필요하기 때문에, 예를 들어 해상도를 향상시키는 인핸스먼트 계층은 중간 우선순위를 할당받을 수 있다. 디지털 데이터의 SVC 인코딩된 스트림이 베이스 계층 및 하나의 인핸스먼트 계층을 포함할 수 있다. 반면에, 제2 또는 그 이상의 인핸스먼트 계층이 더 큰 화상 품질을 즐기기 위해 제공될 수 있지만 시청을 위해 필요하지는 않고, 따라서 더 높은 인핸스먼트 계층은 관련된 페이로드 데이터를 위한 캐시(235)에서 낮은 우선순위를 할당받을 수 있다.
간략화된 예를 제공하기 위하여, SVC 인코딩된 비디오 데이터가 비디오 스트리밍을 위하여 416×240의 해상도 및 600 kbps의 비트 레이트의 베이스 계층 및 832×480의 더 높은 해상도 및 1.2 mbps의 결과적인 비트 레이트의 하나의 인핸스먼트 계층을 갖는다면, 파서(410)는 그의 DID 필드에 기초하여 베이스 계층 NAL 유닛들을 식별하고 베이스 계층에 더 높은 우선순위를 할당할 수 있다. 반면에, (더 높은 해상도를 제공하기 위하여) 인핸스먼트 계층은 더 낮은 우선순위를 할당받을 수 있다. 이 예에서, 베이스 계층은 인핸스먼트 계층보다 높은 우선순위를 할당받는다. 출력 우선순위 레벨은 도 6에서 위치들(9-15)에 도시된 RTP 헤더의 페이로드 타입(PT) 필드에서 지시될 수 있다. 일단 우선순위(예를 들어, 낮은, 중간 및 높은)가 할당되면, 그 우선순위 정보는, 전송층에서 재송신이 필요하면, 실시간 프로토콜(RTP) 헤더의 유사한 필드에서 표현되거나, IP 헤더의 서비스 타입(TOS) 필드에서 표현될 수 있다. 초기에, 패킷이 네트워크(110)를 통해 "패킷 전송"(450)을 통해 수신기로 전송됨에 따라, 사본이 블록(420)에서 로컬 캐시/버퍼 메모리(430)에 버퍼링된다. 패킷은 네트워크에서 손실되거나 수신될 수 있다. 로컬 캐시(430) 내의 패킷은 네트워크 상황 및 패킷이 수신되었는지 여부에 대한 결정을 기다린다.
패킷이 수신되고 네트워크 상황이 양호한 것으로 나타나면, 패킷이 460에서 수신되고 수신기는 465에서 기대된 패킷이 손실되었는지(예) 또는 손실되지 않았는지(아니오)를 결정한다. 손실되었으면(예), 485에서, 도 2b의 제어 채널(255)을 통해 발신기/송신기/서버(200)로 재송신 요청이 전송되고, 수신기의 회복 타이머가 설정된다. 손실되지 않았으면, 490에서, 수신된 패킷은 예를 들어 수신기/클라이언트(201)에서의 디스플레이 기능(206)을 위해 적절한 순서로 수신 버퍼에 배치된다.
재송신 요청이 485를 통해 전송되면, 네트워크 모니터 기능(405)이 활성화되고, 수신된 재송신 요청이 처리된다. 여기에서 더 설명하는 바와 같이, 주어진 시간에서의 종단간 패킷 손실 레이트는 수신기측으로부터 현재 네트워크(110) 상황으로서 네트워크 모니터(271)에서 결정될 수 있다. 현재 네트워크 상황, 예를 들어, 종단간 패킷 손실 레이트는 재송신 요청과 함께 네트워크 모니터 기능(405) 및 재송신 결정기 기능(415)에 제공된다.
네트워크 모니터 기능(405)의 예시적인 애플리케이션은, 발신기/서버(200)는 유선 네트워크(110) 상에서, 예를 들어, 셋톱 박스(케이블 또는 위성) 또는 홈 게이트웨이이고, 수신기측, 예를 들어, 클라이언트(201)는 무선 액세스 포인트(AP)와 연관된 모바일 장치 또는 퍼스널 컴퓨터인 경우일 수 있다. 중간 노드/무선 액세스 포인트(AP/라우터)는 네트워크 및 무선 채널 상황을 발신기에게 보고할 수 있다. 따라서 본 발명의 원리에 따른 신뢰성 있는 미디어 프로토콜(RMP) 모듈(230)에 의해 이루어진 실시간 패킷 재송신 결정은 일 실시예에 따른 추상화 계층 헤더 파서 및 방법을 통합하도록 변경될 때 계층 인식일 수 있다.
재송신 결정기(415)는 예를 들어 현재 종단간 송신 패킷 손실 레이트가 높은지(이는 그것이 RMP 모듈(230)의 메모리에 설정된 임계 레벨보다 높은지를 의미함)를 질문한다. 대답이 "예"이면, 445에서, 더 낮은 우선순위의 패킷들이 누락되고, 더 높은 우선순위의 패킷들만이 캐시/버퍼(430)로부터 회복되고 재송신된다. 패킷 손실 레이트 이외의 전송 상황의 다른 척도들은 이용가능한 대역폭(예를 들어 종단간 경로에서의 가장 낮은 이용가능한 대역폭) 및 라운드 트립 지연(더 긴 라운드 트립 지연은 재송신을 위하여 캐시/버퍼(235)에 보유된 패킷의 타임아웃을 필요로 할 수 있다)일 수 있다. 이용가능한 대역폭을 포함하여, 이들 각각은 패킷 재송신에 대한 결정을 위하여 메모리에 설정된 연관된 임계 레벨과 비교될 수 있다. 재송신 결정뿐만 아니라 파싱(410)에 의해 설정된 패킷 우선순위에 하나 이상이 채용될 수 있다. 대답이 "아니오"이면, 435에서, 모든 요청된 패킷들이 "패킷 전송"(450) 및 네트워크(110)를 통해 캐시/버퍼(430)로부터 재송신된다.
수신시, 재송신된 패킷은 460에서 수신되고 470에서 재송신된 패킷으로서 인식된다. 실시간 시청 경험을 고려하여, 475에서 수신 시간이 조사된다. 재송신이 늦었는가?라는 질문을 묻는다. 재송신된 패킷이 너무 늦게 수신되면, 즉, 프로그램 시청 경험이 이미 다음 프레임으로 이동했으면, 재송신 패킷은 480에서 폐기된다. 반면에, 재송신 패킷이 늦지 않으면(즉, 대답이 "아니오"이면), 490에서 재송신 패킷은 순서대로 디스플레이를 위해 수신 버퍼에 배치된다.
본 발명의 RMP 방법은 플렉시블 소프트웨어 라이브러리, 하드웨어, 펌웨어, 임의의 컴퓨터 또는 프로세서, ASIC(application specific integrated circuit), RISC(reduced instruction set computer), FPGA(field programmable gate array) 또는 그 조합으로 구현될 수 있다. 본 발명의 RMP 방법은 스트리밍 서버 및 플레이어 애플리케이션과의 용이한 통합을 위하여 소켓형 사용자 공간 API 및 기반(underlying) 전송 수단을 사용한다. 본 발명의 RMP 방법은 그가 지원하는 스트리밍 애플리케이션에 투명하다. UDP 데이터 채널 및 TCP 제어 채널은 내부에서 유지된다. 본 발명의 RMP 방법은 FEC 및 하이브리드 ARQ 등의 다른 에러 회복 방식을 지원하도록 확장될 수 있다.
이제 본 발명의 네트워크 모니터 기능(405)에 대해 도 6, 7 및 8을 참조하여 더 상세히 설명한다. 하나의 가능한 접근법이 도 6에 도시되어 있는데, 여기에서, 네트워크 모니터(271)가 예를 들어 시퀀스 번호, 제1 라인의 위치들(6-1)로부터 시퀀스 갭을 검출할 수 있다. 또 다른 접근법은 도 7에서 알 수 있는 바와 같이 1 바이트의 MPEG-2 전송 스트림 헤더의 CC(continuity counter) 필드를 이용하는 것이다.
도 2b의 수신기/클라이언트(201)의 네트워크 모니터(271)에 의해 수집된 통계를 도 2a의 서버/송신기(200)에 전송하는 메시지의 예시적인 포맷이 도 8에 도시되어 있다. 메시지 포맷은 RTP 제어 프로토콜(RTCP) 수신기 보고(RR) 메시지와 유사할 수 있다. 특히, 하나는, 예를 들어, 라인(4)의 위치(0-7)에서 "일부 손실(fraction lost)" 필드를 제공할 수 있다. 손실된 패킷의 누적수 등의 다른 관련 데이터가 제공될 수 있고, 이는 동일한 채널 상에서 이전에 수신된 손실된 패킷의 누적수와 비교될 수 있다. 그 차이는 연속적인 메시지의 성공적인 수신 간의 시간에 의해 정의된 간격 내에 손실된 패킷의 수를 제공한다.
도 9는 수신기/클라이언트(201)로부터 수신된 재송신 요청을 통해 네트워크 패킷 손실을 얻는 발신기/서버/송신기에 대한 포맷을 제공한다. 도 4의 네트워크 모니터 기능(405)은 필드 "시작 패킷의 베이스 시퀀스 #" 및 "종료 패킷에 대한 오프셋"으로부터 손실 패킷의 수를 산출한다. 마찬가지로, 도 10의 RMP ARQ 요청(NACK) 패킷은, 저장되어 후속으로 수신되는 베이스 시퀀스 번호들과 비교될 수 있는 베이스 시퀀스 번호를 제공한다. 도시된 베이스 시퀀스 번호 및 비트맵은 수신기가 재송신되도록 요청하는 패킷들의 시퀀스를 나타낸다. 네트워크 전송 상황을 결정하는 또 다른 접근법은 더 낮은 층, 예를 들어, 네트워크/MAC/PHY 레벨 송신 통계를 모니터링하여 채널 상황 및 이용가능한 대역폭을 추정하는 것이다.
상술한 본 발명의 RMP 방식에서는, 데이터 채널(255) 상에서 전송되는 패킷들이 변경되지 않는다. 따라서, 역호환성이 유지된다. 본 발명의 RMP 방식은 손실된 미디어 패킷들만이 요청되어 낮은 오버헤드로 제어 채널 상에서 재송신되기 때문에 대역폭을 효율적으로 사용한다. 손실된 패킷 요청은 NACK(Negative Acknowledgement)로서 기능하고 또한 발신기에게 피드백을 제공한다. 손실된 패킷이 회복 시간 윈도우 내에서 여러 번 재송신될 수 있기 때문에 상당히 다른 채널 상황 하에서 높은 신뢰성을 제공할 수 있다. 또한 본 발명의 RMP 방식은 재송신을 위한 최대 대기 시간(즉, 회복 윈도우)을 가짐으로써 애플리케이션의 레이턴시 제한을 실시하고 따라서 주어진 시간 제한 내에 최선 노력 전달 모델(best effort delivery model)에 작용한다.
상술한 실시예는 비디오 송신을 이용하여 설명하였다. 본 발명은 또한 오디오의 송신, 예를 들어 전화 및 다른 실시간 멀티미디어 스트리밍 애플리케이션에 적용될 수 있다.
본 발명의 상기 방식은 무선 네트워크에 대하여 설명하였지만, 그 방식은 패킷 손실을 수반하는 임의의 종류의 네트워크에 사용될 수 있다.
본 발명은 하드웨어, 소프트웨어, 펌웨어, 특수 목적 프로세서 또는 그 조합의 다양한 형태로 구현될 수 있다. 바람직하게는, 본 발명은 하드웨어 및 소프트웨어의 조합으로서 구현될 수 있다. 또한, 소프트웨어는 바람직하게는 프로그램 저장 장치 상에 실체적으로 구현된 애플리케이션 프로그램으로서 구현된다. 애플리케이션 프로그램은 임의의 적절한 아키텍처를 포함하는 머신에 업로드되어 머신에 의해 실행될 수 있다. 바람직하게는, 머신은 하나 이상의 중앙 처리 장치(CPU), 랜덤 액세스 메모리(RAM) 및 입출력(I/O) 인터페이스(들) 등의 하드웨어를 갖는 컴퓨터 플랫폼 상에서 구현된다. 컴퓨터 플랫폼은 또한 운영 체제 및 마이크로인스트럭션 코드를 포함한다. 여기에 기재된 다양한 프로세스 및 기능은 운영 체제를 통해 실행되는 마이크로인스트럭션 코드의 일부 또는 애플리케이션 프로그램의 일부(또는 그 조합)일 수 있다. 또한, 추가의 데이터 저장 장치 및 프린팅 장치 등의 다양한 다른 주변 장치가 컴퓨터 플랫폼에 접속될 수 있다.
첨부된 도면에 도시된 시스템 구성요소 및 방법 단계의 일부는 바람직하게는 소프트웨어로 구현되기 때문에, 시스템 구성요소들(또는 프로세스 단계들) 간의 실제 접속은 본 발명이 프로그래밍된 방식에 따라 다를 수 있다. 여기에 기재된 교시를 고려하여, 당업자는 본 발명의 이들 및 유사한 구현 또는 구성을 생각할 수 있을 것이다.

Claims (22)

  1. SVC 비디오 데이터 패킷을 수신하는 단계;
    상기 비디오 데이터 패킷의 네트워크 추상화 계층 헤더(NALH; network abstraction-layer header)를 파싱하여 계층 표현 데이터(layer representation data)를 얻는 단계 - 상기 계층 표현 데이터는, 후속하는 페이로드 데이터(following payload data)와 관련된 계층을 식별함 - ;
    상기 계층 표현 데이터에 응답하여 상기 식별된 계층에 우선순위를 할당하는 단계;
    상기 할당된 우선순위를 나타내는 데이터를 상기 비디오 데이터 패킷과 함께 캐시 메모리 내에 저장하는 단계;
    제1 프로토콜을 통해 상기 비디오 데이터 패킷을 수신기에 전송하는 단계 - 상기 제 1 프로토콜은 손실 패킷 회복의 특성이 없음 - ;
    네트워크 상황을 측정하는 단계;
    제2 프로토콜을 통해 상기 수신기로부터 상기 비디오 데이터 패킷의 재전송에 대한 요청을 수신하는 단계 - 상기 제2 프로토콜은 에러 회복 및 데이터의 종단간 확인응답(end-to-end acknowledgement)을 제공함 - ;
    상기 네트워크 상황 및 상기 비디오 데이터 패킷에 할당된 상기 우선순위에 기초하여 상기 재전송을 위해 상기 캐시 메모리로부터 상기 비디오 데이터 패킷을 검색할지 여부를 결정하는 단계;
    상기 비디오 데이터 패킷이 상기 캐시 메모리 내에서 이용 가능하면, 상기 제2 프로토콜을 통해 상기 검색된 비디오 데이터 패킷을 상기 수신기에 재전송하는 단계;
    디지털 네트워크 인터페이스와 연결된 네트워크 모니터에서 현재 네트워크 통계를 수집하는 단계 - 상기 네트워크 통계는 이용가능한 대역폭, 종단간 패킷 손실 레이트(end-to-end packet loss rate) 및 라운드 트립 지연(round-trip delay) 중 하나를 포함하는 채널 조건 데이터(channel condition data)를 포함함 -;
    메모리에 최근에 송신된 패킷들을 저장하는 단계; 및
    상기 네트워크 모니터에 의해 결정된 상기 채널 조건 데이터에 응답하여 상기 메모리에 저장된 요청된 손실 패킷을 선택적으로 재송신할지를 결정하는 단계
    를 포함하는, 방법.
  2. 제1항에 있어서,
    상기 제1 프로토콜은 사용자 데이터그램 프로토콜(UDP) 전송 프로토콜을 포함하는, 방법.
  3. 제1항에 있어서,
    상기 제2 프로토콜은 송신 제어 프로토콜(TCP) 전송 프로토콜을 포함하는, 방법.
  4. 제1항에 있어서,
    상기 계층 표현 데이터는 베이스 계층(base layer) 및 인핸스먼트 계층(enhancement layer) 중 하나를 나타내는, 방법.
  5. 제4항에 있어서,
    재전송에 대한 제1 우선순위는 상기 베이스 계층에 할당되고,
    재전송에 대한 제2 우선순위는 상기 인핸스먼트 계층에 할당되고,
    상기 제1 우선순위는 상기 제2 우선순위보다 높은, 방법.
  6. 삭제
  7. 제1항에 있어서,
    상기 전송된 비디오 데이터 패킷의 사본은 미리 결정된 시간 동안 상기 캐시 메모리 내에 일시적으로 남아 있는, 방법.
  8. 삭제
  9. 삭제
  10. 삭제
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
KR1020127020128A 2010-01-28 2010-01-28 신뢰성 있는 데이터 통신을 위한 네트워크 추상화 계층을 파싱하는 방법 및 장치 KR101644215B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2010/000223 WO2011093835A1 (en) 2010-01-28 2010-01-28 A method and apparatus for parsing a network abstraction-layer for reliable data communication

Publications (2)

Publication Number Publication Date
KR20120123386A KR20120123386A (ko) 2012-11-08
KR101644215B1 true KR101644215B1 (ko) 2016-08-09

Family

ID=42341676

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020127020128A KR101644215B1 (ko) 2010-01-28 2010-01-28 신뢰성 있는 데이터 통신을 위한 네트워크 추상화 계층을 파싱하는 방법 및 장치

Country Status (6)

Country Link
US (1) US20130003579A1 (ko)
EP (1) EP2529528B1 (ko)
JP (1) JP5588019B2 (ko)
KR (1) KR101644215B1 (ko)
CN (1) CN102742245B (ko)
WO (1) WO2011093835A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180078000A (ko) * 2016-12-29 2018-07-09 (주)피앤지테크놀로지 클라우드 서비스 품질 향상을 위한 광역 통신망 접속회선 다중화 장치

Families Citing this family (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2529502A1 (en) 2010-01-28 2012-12-05 Thomson Licensing A method and apparatus for retransmission decision making
US8792510B2 (en) * 2010-03-17 2014-07-29 Futurewei Technologies, Inc. System and method for pseudowire packet cache and re-transmission
US9510061B2 (en) * 2010-12-03 2016-11-29 Arris Enterprises, Inc. Method and apparatus for distributing video
US9247312B2 (en) 2011-01-05 2016-01-26 Sonic Ip, Inc. Systems and methods for encoding source media in matroska container files for adaptive bitrate streaming using hypertext transfer protocol
KR101744355B1 (ko) 2011-01-19 2017-06-08 삼성전자주식회사 상호 계층 최적화를 이용한 멀티미디어 데이터 패킷을 송신하는 방법 및 장치
KR20120084234A (ko) 2011-01-19 2012-07-27 삼성전자주식회사 Mpeg media transport(mmt)에서 mmt au를 전송하는 방법
KR20140092935A (ko) * 2011-08-18 2014-07-24 브이아이디 스케일, 인크. 패킷 차등화를 위한 방법 및 시스템
US9467708B2 (en) * 2011-08-30 2016-10-11 Sonic Ip, Inc. Selection of resolutions for seamless resolution switching of multimedia content
US8818171B2 (en) 2011-08-30 2014-08-26 Kourosh Soroushian Systems and methods for encoding alternative streams of video for playback on playback devices having predetermined display aspect ratios and network connection maximum data rates
KR102163151B1 (ko) 2011-08-30 2020-10-08 디빅스, 엘엘씨 복수의 최대 비트레이트 레벨들을 사용하여 인코딩된 비디오를 인코딩하고 스트리밍하기 위한 시스템들 및 방법들
CN103428531A (zh) * 2012-05-25 2013-12-04 中兴通讯股份有限公司 一种多媒体数据的arq控制方法及系统
US9686542B2 (en) 2012-09-05 2017-06-20 Qualcomm Incorporated Network abstraction layer header design
US9191457B2 (en) 2012-12-31 2015-11-17 Sonic Ip, Inc. Systems, methods, and media for controlling delivery of content
KR101993418B1 (ko) * 2013-02-04 2019-06-26 삼성전자주식회사 휴대 단말기의 무선 통신 채널 운용 방법 및 시스템
JP2016515775A (ja) * 2013-03-29 2016-05-30 ヴィド スケール インコーポレイテッド 早期パケット損失検出およびフィードバック
US9723305B2 (en) * 2013-03-29 2017-08-01 Qualcomm Incorporated RTP payload format designs
US9825884B2 (en) 2013-12-30 2017-11-21 Cavium, Inc. Protocol independent programmable switch (PIPS) software defined data center networks
US9380351B2 (en) * 2014-01-17 2016-06-28 Lg Display Co., Ltd. Apparatus for transmitting encoded video stream and method for transmitting the same
JP5836424B2 (ja) * 2014-04-14 2015-12-24 ソニー株式会社 送信装置、送信方法、受信装置および受信方法
US10616380B2 (en) 2014-06-19 2020-04-07 Cavium, Llc Method of handling large protocol layers for configurable extraction of layer information and an apparatus thereof
US9635146B2 (en) 2014-06-19 2017-04-25 Cavium, Inc. Method of using bit vectors to allow expansion and collapse of header layers within packets for enabling flexible modifications and an apparatus thereof
WO2016013965A1 (en) * 2014-07-25 2016-01-28 Telefonaktiebolaget L M Ericsson (Publ) Lawful intercept systems and methods in li systems
US9197696B1 (en) * 2015-01-19 2015-11-24 Vuclip Offline content distribution networks
EP3303834B1 (en) * 2015-05-27 2020-09-16 Vestas Wind Systems A/S Control of a wind turbine taking fatigue measure into account
JP2017040768A (ja) * 2015-08-19 2017-02-23 ヤマハ株式会社 コンテンツ送信装置
US10044583B2 (en) * 2015-08-21 2018-08-07 Barefoot Networks, Inc. Fast detection and identification of lost packets
RU2018132348A (ru) * 2016-02-26 2020-03-26 Нэт Инсайт Интеллекчуал Пропэрти Аб Повторная передача данных в пакетных сетях
US10148989B2 (en) 2016-06-15 2018-12-04 Divx, Llc Systems and methods for encoding video content
CN112601072B (zh) * 2016-06-16 2024-05-28 华为技术有限公司 视频业务质量评估的方法及装置
EP3482569A4 (en) 2016-07-05 2020-01-15 Vishare Technology Limited CONTINUOUS VIDEO BROADCASTING METHODS AND SYSTEMS
US10908234B2 (en) 2016-09-02 2021-02-02 Tdk Corporation Magnetoresistance effect element, magnetic sensor and magnetic memory
JP6103123B1 (ja) 2016-09-02 2017-03-29 Tdk株式会社 磁気抵抗効果素子、磁気センサ及び磁気メモリ
JP2018056390A (ja) 2016-09-29 2018-04-05 Tdk株式会社 磁気抵抗効果素子
JP2018056391A (ja) 2016-09-29 2018-04-05 Tdk株式会社 磁気抵抗効果素子
JP2018056388A (ja) 2016-09-29 2018-04-05 Tdk株式会社 磁気抵抗効果素子
JP2018056392A (ja) 2016-09-29 2018-04-05 Tdk株式会社 磁気抵抗効果デバイス
JP2018056389A (ja) 2016-09-29 2018-04-05 Tdk株式会社 磁気抵抗効果素子
US11297391B2 (en) * 2017-03-06 2022-04-05 Vyu Labs, Inc. Television interface for multi-party social media sessions
JP2019021751A (ja) 2017-07-14 2019-02-07 Tdk株式会社 磁気抵抗効果素子及びその製造方法
CN110165046A (zh) 2018-02-16 2019-08-23 Tdk株式会社 磁阻效应元件及其制造方法
CN110213167A (zh) * 2018-02-28 2019-09-06 吴瑞 一种传输控制协议在网络拥塞时的处理方法和装置
JP2019201095A (ja) 2018-05-16 2019-11-21 Tdk株式会社 磁気抵抗効果素子
CN109344249B (zh) * 2018-08-14 2023-02-17 创新先进技术有限公司 信息处理方法、装置、电子设备及计算机可读存储介质
EP3624136A1 (en) * 2018-09-14 2020-03-18 Koninklijke Philips N.V. Invoking chatbot in a communication session
GB2578606A (en) * 2018-10-31 2020-05-20 Remote Diagnostic Tech Ltd Data transmission protocol
CN113303007A (zh) * 2019-01-16 2021-08-24 瑞典爱立信有限公司 网络节点和在其中执行的用于处理基带资源的方法
US10691528B1 (en) 2019-07-23 2020-06-23 Core Scientific, Inc. Automatic repair of computing devices in a data center
US11265357B2 (en) * 2019-10-10 2022-03-01 Microsoft Technology Licensing, Llc AV1 codec for real-time video communication
JP7435057B2 (ja) 2020-03-10 2024-02-21 Tdk株式会社 磁気抵抗効果素子
US11943153B2 (en) * 2021-06-28 2024-03-26 Dish Wireless L.L.C. Using buffered audio to overcome lapses in telephony signal
CN115567184B (zh) * 2022-12-01 2023-04-07 银河航天(北京)通信技术有限公司 基于分段层调节虚拟信道的时隙的方法、装置及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090175353A1 (en) 2007-01-12 2009-07-09 University-Industry Cooperation Group Of Kyng Hee University Packet format of network abstraction layer unit, and algorithm and apparatus for video encoding and decoding using the format, qos control algorithm and apparatus for ipv6 label switching using the format

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3193947B2 (ja) * 1997-01-08 2001-07-30 株式会社ディジタル・ビジョン・ラボラトリーズ データ送信システム及びデータ送信方法
KR100639650B1 (ko) * 2004-06-15 2006-10-30 주식회사 케이티프리텔 Vod 스트리밍 서비스 시스템 및 방법
JP2008543142A (ja) * 2005-05-24 2008-11-27 ノキア コーポレイション デジタル放送における階層的な送受信のための方法および装置
WO2007046957A1 (en) * 2005-10-12 2007-04-26 Thomson Licensing Method and apparatus for using high-level syntax in scalable video encoding and decoding
US8411572B2 (en) * 2006-12-13 2013-04-02 Viasat, Inc. ACM and fixed coding and modulation of hierarchical layers
US20110090921A1 (en) * 2008-07-01 2011-04-21 Shemimon Manalikudy Anthru Network abstraction layer (nal)-aware multiplexer
BRPI0921720A2 (pt) * 2008-10-30 2016-01-05 Nokia Corp método e aparelho para entralaçamento de bloco de dados

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090175353A1 (en) 2007-01-12 2009-07-09 University-Industry Cooperation Group Of Kyng Hee University Packet format of network abstraction layer unit, and algorithm and apparatus for video encoding and decoding using the format, qos control algorithm and apparatus for ipv6 label switching using the format

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180078000A (ko) * 2016-12-29 2018-07-09 (주)피앤지테크놀로지 클라우드 서비스 품질 향상을 위한 광역 통신망 접속회선 다중화 장치

Also Published As

Publication number Publication date
JP5588019B2 (ja) 2014-09-10
WO2011093835A1 (en) 2011-08-04
KR20120123386A (ko) 2012-11-08
EP2529528B1 (en) 2018-01-10
CN102742245A (zh) 2012-10-17
CN102742245B (zh) 2015-12-16
US20130003579A1 (en) 2013-01-03
EP2529528A1 (en) 2012-12-05
JP2013518510A (ja) 2013-05-20

Similar Documents

Publication Publication Date Title
KR101644215B1 (ko) 신뢰성 있는 데이터 통신을 위한 네트워크 추상화 계층을 파싱하는 방법 및 장치
US9306708B2 (en) Method and apparatus for retransmission decision making
US8175036B2 (en) Multimedia wireless distribution systems and methods
EP1482681B1 (en) Medium streaming distribution system
JP3757857B2 (ja) データ通信システム、データ送信装置、データ受信装置、および方法、並びにコンピュータ・プログラム
US20110044338A1 (en) Throughput in a lan by managing tcp acks
EP1309122A2 (en) Apparatus and method for data communication with retransmissions
US8395990B2 (en) Method and apparatus for streaming scalable multimedia data streams
KR20120082416A (ko) 네트워크에서 신뢰성 있는 실시간 데이터 스트리밍을 위한 효율적인 애플리케이션 계층의 자동 반복 요청 재송신 방법
CN101552660A (zh) 对流媒体数据进行重传、播放的方法、装置及通信系统
JP5117512B2 (ja) 再送回数を動的に適合させる方法及び装置
US8352992B1 (en) Wireless media streaming
JP2019505126A (ja) マルチキャストネットワークにおいてデータの再送を要求すること
WO2010054551A1 (zh) 视频流传输的方法、装置和系统
CN106100803A (zh) 用于作出重发决定的方法和装置
EP1947859A1 (en) Video transmission method and system
JP2013013093A (ja) Tcpackの管理によるlanにおけるスループット改善
KR20150072772A (ko) 단말의 arq 수행을 위한 mmt 메시지 처리 방법

Legal Events

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

Payment date: 20190722

Year of fee payment: 4