KR102379530B1 - 통신 시스템에서 미디어 정보를 송수신하는 방법 및 장치 - Google Patents

통신 시스템에서 미디어 정보를 송수신하는 방법 및 장치 Download PDF

Info

Publication number
KR102379530B1
KR102379530B1 KR1020177021957A KR20177021957A KR102379530B1 KR 102379530 B1 KR102379530 B1 KR 102379530B1 KR 1020177021957 A KR1020177021957 A KR 1020177021957A KR 20177021957 A KR20177021957 A KR 20177021957A KR 102379530 B1 KR102379530 B1 KR 102379530B1
Authority
KR
South Korea
Prior art keywords
packet
media
mpd
information
data
Prior art date
Application number
KR1020177021957A
Other languages
English (en)
Other versions
KR20170094461A (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 KR20170094461A publication Critical patent/KR20170094461A/ko
Application granted granted Critical
Publication of KR102379530B1 publication Critical patent/KR102379530B1/ko

Links

Images

Classifications

    • 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
    • H04L45/306Route determination based on the nature of the carried application
    • 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
    • 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/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • H04N21/2353Processing of additional data, e.g. scrambling of additional data or processing content descriptors specifically adapted to content descriptors, e.g. coding, compressing or processing of metadata
    • 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/0023Systems modifying transmission characteristics according to link quality, e.g. power backoff characterised by the signalling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • 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/2425Traffic characterised by specific attributes, e.g. priority or QoS for supporting services specification, e.g. SLA
    • H04L47/2433Allocation of priorities to traffic types
    • H04L65/1003
    • H04L65/4069
    • 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
    • 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/762Media network packet handling at the source 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • 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
    • 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/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23605Creation or processing of packetized elementary streams [PES]
    • 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/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26258Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for generating a list of items to be played back in a given order, e.g. playlist, or scheduling item distribution according to such list
    • 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/432Content retrieval operation from a local storage medium, e.g. hard-disk
    • H04N21/4325Content retrieval operation from a local storage medium, e.g. hard-disk by playing back content from the storage medium
    • 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/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4343Extraction or processing of packetized elementary streams [PES]
    • 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/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4345Extraction or processing of SI, e.g. extracting service information from an MPEG stream
    • 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/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44004Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer
    • 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/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • H04N21/4622Retrieving content or additional data from different sources, e.g. from a broadcast channel and the Internet
    • 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/61Network physical structure; Signal processing
    • H04N21/6106Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
    • H04N21/6125Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving transmission via Internet
    • 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/633Control signals issued by server directed to the network components or client
    • H04N21/6338Control signals issued by server directed to the network components or client directed to network
    • 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/84Generation or processing of descriptive data, e.g. content descriptors
    • 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/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
    • 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/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8543Content authoring using a description language, e.g. Multimedia and Hypermedia information coding Expert Group [MHEG], eXtensible Markup Language [XML]
    • 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/85Assembly of content; Generation of multimedia applications
    • H04N21/858Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot
    • H04N21/8586Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot by using a URL
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 

Landscapes

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

Abstract

통신 시스템에서 미디어 관련 정보를 송신하고 수신하는 방법 및 장치를 개시한다. 상기 방법은, 미디어 데이터에 관련된 패킷 페이로드와 패킷 헤더를 생성하는 과정과, 상기 패킷 헤더와 상기 패킷 페이로드로 구성된 패킷을 송신하는 과정을 포함하며, 상기 패킷 헤더는, 상기 패킷 페이로드에 포함된 데이터의 중요도 타입(priority type)을 지시하는 중요도 관련 정보를 포함한다.

Description

통신 시스템에서 미디어 정보를 송수신하는 방법 및 장치
본 발명은 미디어 전송 통신 시스템에서 미디어에 관련된 정보 및 데이터를 송수신하는 방법 및 장치에 관한 것이다.
방송 서비스와 통신 서비스를 융합하는 형태로 서비스가 발전해 나감에 따라 다양한 매체들을 통한 멀티미디어 서비스들이 보편화되고 있다. 즉, 지상파, 위성, 케이블 등과 같은 기존의 방송 매체를 이용하는 서비스가 디지털 방식을 기반으로 다양화됨과 동시에 디지털 멀티미디어 방송(Digital Multimedia Broadcasting: DMB) 서비스와, 휴대용 디지털 비디오 방송(Digital Video Broadcasting-Handheld: DVP-H), 및 모바일/휴대용 진화된 텔레비젼 시스템 협회(Advanced Television Systems Committee-Mobile/Handheld: ATSC-M/H) 서비스 등과 같은 모바일 방송 서비스와, 인터넷 프로토콜 텔레비젼(Internet Protocol TeleVision: IPTV) 서비스와 같은 융합형 서비스 등이 등장하고 있다. 특히, 디지털 방송은 기존 아날로그 방송보다 수십 배 선명한 화질과 컴팩트 디스크(Compact Disk: CD) 수준 음질의 프로그램을 제공하고, 보다 많은 채널들을 제공함으로써 다양한 선택의 기회 제공과 더불어, 홈쇼핑, 홈뱅킹, 전자 메일, 인터넷 등과 같은 새로운 양방향 서비스를 제공하여 고품위의 방송 서비스를 제공한다.
멀티미디어 전송을 위한 대표적인 기술들 중의 하나는 엠펙 미디어 트랜스포트(MPEG(Moving Picture Experts Group) Media Transport: MMT)이다. MMT는 인터넷 프로토콜(Internet Protocol: IP) 네트워크(즉 인터넷)와 디지털 브로드캐스팅(digital broadcasting) 네트워크를 포함하는 이종 패킷-교환 네트워크(heterogeneous packet-switched network)를 통해 멀티미디어 서비스들에 대한 코딩된 미디어 데이터(coded media data)의 트랜스포트(transport)를 위한 기술이다. 여기서, 상기 코딩된 미디어 데이터는 타임드 시청각 미디어 데이터(timed audiovisual media data) 및 논-타임드 데이터(non-timed data)를 포함한다.
ISO(International Standardization Organization) 기반 미디어 파일 포맷((ISO base media file format: ISOBMFF)은 비디오나 오디오와 같은 시간 기반 멀티미디어 파일(time-based multimedia files)을 위한 데이터 구조를 정의한다. ISOBMFF는 미디어 프로세싱 유닛(Media Processing Unit: MPU)이나 DASH(Dynamic Adaptive Streaming over HTTP (hyper text transfer protocol)) 세그먼트(segment)와 같은 다양한 종류의 파일 포맷을 제공한다. DASH는 인터넷과 같은 광대역(broadband) 네트워크를 통해 미디어 데이터를 효율적으로 전송하기 위하여 사용되는 기술의 하나이다.
DASH 세그먼트는 오브젝트(즉 파일)의 전송에 최적화된 전송 프로토콜을 사용하여 전송될 수 있다. 상기 전송 프로토콜의 일 예로, RFC(request for comments)와 MMT 기술 등을 기반으로 하는 파일 트랜스포트 방식인 ROUTE(real time object delivery over unidirectional transport) 프로토콜이 있다. ROUTE는 UDP(User Datagram Protocol) 및 IP 계층의 상위에서 파일을 운반하기 위해 사용될 수 있다. ROUTE의 기본 전송 단위는 LCT(Layered Coding Transport) 패킷으로서, LCT 패킷의 헤더는 페이로드(payload)에 포함된 데이터들이 오브젝트의 어떤 부분을 포함하는지를 바이트 오프셋(byte offset)의 형태로 나타낸다.
한편, 상기와 같은 정보는 본 발명의 이해를 돕기 위한 백그라운드(background) 정보로서만 제시될 뿐이다. 상기 내용 중 어느 것이라도 본 발명에 관한 종래 기술로서 적용 가능할지 여부에 관해, 어떤 결정도 이루어지지 않았고, 또한 어떤 주장도 이루어지지 않는다.
본 발명의 일 실시예는 통신 시스템에서 미디어의 중요도에 관련된 정보 및 데이터를 송수신하는 방법 및 장치를 제안한다.
본 발명의 일 실시예는 통신 시스템에서 해석 가능한 데이터 유닛의 바운더리에 대한 정보를 송수신하는 방법 및 장치를 제공한다.
본 발명의 일 실시예는 통신 시스템에서 서비스 재생 이전에 필요한 버퍼에 대한 정보를 시그널링 정보를 통해 전달하는 방법 및 장치를 제공한다.
본 발명의 일 실시예는 하이브리드 무선 네트워크에서 네트워크 전환시 단말이 미디어 서비스를 끊김 없이 수신하도록 하기 위한 방법 및 장치를 제공한다.
본 발명의 일 실시예에 따른 방법은; 통신 시스템에서 미디어 정보를 송신하는 방법에 있어서, 미디어 데이터에 관련된 패킷 페이로드와 패킷 헤더를 생성하는 과정과, 상기 패킷 헤더와 상기 패킷 페이로드로 구성된 패킷을 송신하는 과정을 포함하며, 상기 패킷 헤더는, 상기 패킷 페이로드에 포함된 데이터의 중요도 타입(priority type)을 지시하는 중요도 관련 정보를 포함한다.
본 발명의 일 실시예에 따른 방법은; 통신 시스템에서 미디어 정보를 송신하는 방법에 있어서, 미디어 데이터에 관련된 패킷 페이로드와 패킷 헤더를 생성하는 과정과, 상기 패킷 헤더와 상기 패킷 페이로드로 구성된 패킷을 송신하는 과정을 포함하며, 상기 패킷 헤더는, 상기 패킷 페이로드에 포함된 데이터와 디코딩을 위한 데이터 단위 간의 매핑을 지시하는 시그널링 정보를 포함한다.
본 발명의 일 실시예에 따른 방법은; 통신 시스템에서 미디어 정보를 송신하는 방법에 있어서, 미디어 데이터에 관련된 패킷 페이로드와 패킷 헤더를 생성하는 과정과, 상기 패킷 헤더와 상기 패킷 페이로드로 구성된 패킷을 전송하는 과정과, 상기 패킷의 디코딩 정보를 포함하는 LSID(Layered Coding Transport (LCT) Session Instance description)를 포함하는 패킷을 송신하는 과정을 포함하며, 상기 LSID는, 상기 미디어 데이터의 전송 레이트(transfer rate)와 버퍼 최소 대기 시간(minim buffer time)을 포함한다.
본 발명의 일 실시예에 따른 방법은; 통신 시스템에서 단말에 의해 미디어 정보를 수신하는 방법에 있어서, 서버로부터 미디어 서비스에 대한 MPD(Media Presentation Description) 및 미디어 스트림을 포함하는 하나 혹은 그 이상의 패킷들을 수신하는 과정과, 새로운 MPD의 생성을 위한 MPD 템플릿 및 상기 단말의 네트워크 상태에 기반한 MPD 생성 정보를 수신하는 과정과, 상기 MPD 템플릿 및 MPD 생성 정보를 기반으로 자체적인 MPD를 생성하는 과정과, 상기 자체적인 MPD를 기반으로 상기 미디어 스트림을 버퍼로부터 읽어 내어 재생하는 과정을 포함한다.
도 1a는 본 발명의 일 실시예에 따른 미디어 트랜스포트 시스템의 간략화된 구조를 도시한 것이다.
도 1b는 본 발명의 일 실시예에 따라 미디어 트랜스포트 시스템을 통해 전송되는 미디어 파일의 구조를 도시한 것이다.
도 2는 본 발명의 일 실시예에 따른 통신 시스템에서 미디어 송신 장치의 간략화된 구조를 도시한 것이다.
도 3은 본 발명의 일 실시예에 따른 통신 시스템에서 미디어 수신 장치의 간략화된 구조를 도시한 것이다.
도 4는 본 발명의 일 실시예에 따른 미디어 데이터의 전송을 지원하는 송신기의 구조를 도시한 블록도이다.
도 5는 본 발명의 일 실시예에 따른 미디어 데이터를 수신하는 수신기의 구조를 도시한 블록도이다.
도 6은 본 발명에 적용될 수 있는 ROUTE 프로토콜에 기반한 LCT 패킷의 헤더 포맷을 도시한 것이다.
도 7은 추가적인 헤더 정보를 포함하는 LCT 패킷 헤더의 확장 헤더의 일 예를 도시한 것이다.
도 8은 본 발명의 일 실시예에 따라 중요도 관련 정보를 포함하는 LCT 패킷 헤더의 확장 헤더의 일 예를 도시한 것이다.
도 9는 본 발명의 일 실시예에 따른 통신 시스템에서 중요도 관련 정보를 운반하는 LCT 패킷의 확장 헤더의 처리 절차를 개략적으로 도시한 것이다.
도 10은 본 발명의 일 실시예에 따라 LCT 패킷의 패킷 헤더를 통해 중요도 관련 정보를 송신하는 절차를 도시한 흐름도이다.
도 11은 본 발명의 일 실시예에 따라 LCT 패킷의 패킷 헤더를 통해 중요도 관련 정보를 수신하는 절차를 도시한 흐름도이다.
도 12는 본 발명의 일 실시예에 따라 중요도 관련 정보를 운반하는 LSID의 FDT 인스턴스의 일 예를 도시한 것이다.
도 13은 본 발명의 일 실시예에 따른 통신 시스템에서 중요도 관련 정보를 운반하는 LSID의 EFDT 인스턴스의 처리 절차를 도시한 흐름도이다.
도 14는 본 발명의 일 실시예에 따라 미디어 데이터를 수신하는 수신기의 구조를 도시한 블록도이다.
도 15a 및 도 15b는 LCT 패킷 헤더의 확장 헤더의 예시들을 도시한 도면이다.
도 16은 본 발명의 일 실시예에 따른 시작 및 종료필드들을 이용한 패킷 전송 절차의 예를 나타낸 도면이다.
도 17은 본 발명의 일 실시예에 따라 데이터 단위에 대한 시그널링 정보를 포함하는 패킷을 송신하는 절차를 도시한 흐름도이다.
도 18은 본 발명의 일 실시예에 따라 데이터 단위에 대한 시그널링 정보를 포함하는 패킷을 수신하는 절차를 도시한 흐름도이다.
도 19는 본 발명의 일 실시예에 따라 패킷 버퍼의 출력을 위한 데이터 단위를 구분하는 정보를 포함하는 확장 헤더의 포맷을 도시한 것이다.
도 20은 본 발명의 일 실시예에 따른 시작 및 종료 위치 필드들을 이용한 패킷 전송 절차의 예를 나타낸 도면이다.
도 21a 내지 도 21d는 본 발명의 다양한 실시예들에 따라 확장 헤더에 포함되는 정보를 도시한 것이다.
도 22는 본 발명의 일 실시예에 따른 제어 정보 송수신을 위한 시스템 구조를 도시한 것이다.
도 23을 본 발명의 일 실시예에 따른 제어 정보 송수신을 위한 시스템 구조를 도시한 것이다.
이하 첨부된 도면을 참조하여 본 발명의 동작 원리를 상세히 설명한다. 하기에서 본 발명을 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
본 발명의 다른 측면들과, 이득들 및 핵심적인 특징들은 부가 도면들과 함께 처리되고, 본 발명의 바람직한 실시예들을 게시하는, 하기의 구체적인 설명으로부터 해당 기술 분야의 당업자에게 자명할 것이다.
하기의 본 게시의 구체적인 설명 부분을 처리하기 전에, 이 특허 문서를 통해 사용되는 특정 단어들 및 구문들에 대한 정의들을 설정하는 것이 효과적일 수 있다: 상기 용어들 “포함하다(include)” 및 “포함하다(comprise)”와 그 파생어들은 한정없는 포함을 의미하며; 상기 용어 “혹은(or)”은 포괄적이고, “및/또는”을 의미하고; 상기 구문들 “~와 연관되는(associated with)” 및 “~와 연관되는(associated therewith)”과 그 파생어들은 포함하고(include), ~내에 포함되고(be included within), ~와 서로 연결되고(interconnect with), 포함하고(contain), ~내에 포함되고(be contained within), ~에 연결하거나 혹은 ~와 연결하고(connect to or with), ~에 연결하거나 혹은 ~와 연결하고(couple to or with), ~와 통신 가능하고(be communicable with), ~와 협조하고(cooperate with), 인터리빙하고(interleave), 병치하고(juxtapose), ~로 가장 근접하고(be proximate to), ~로 ~할 가능성이 크거나 혹은 ~와 ~할 가능성이 크고(be bound to or with), 가지고(have), 소유하고(have a property of) 등과 같은 내용을 의미하고; 용어 “프로세서”는 적어도 하나의 동작을 제어하는 임의의 디바이스, 시스템, 혹은 그 부분을 의미하고, 상기와 같은 디바이스는 하드웨어, 펌웨어 혹은 소프트웨어, 혹은 상기 하드웨어, 펌웨어 혹은 소프트웨어 중 적어도 2개의 몇몇 조합에서 구현될 수 있다. 어떤 특정 프로세서와 연관되는 기능성이라도 집중화되거나 혹은 분산될 수 있으며, 국부적이거나 원격적일 수도 있다는 것에 주의해야만 할 것이다. 특정 단어들 및 구문들에 대한 정의들은 이 특허 문서에 걸쳐 제공되고, 해당 기술 분야의 당업자는 많은 경우, 대부분의 경우가 아니라고 해도, 상기와 같은 정의들이 종래 뿐만 아니라 상기와 같이 정의된 단어들 및 구문들의 미래의 사용들에도 적용된다는 것을 이해해야만 할 것이다.
이하, 본 발명의 실시 예들을 첨부한 도면들을 참조하여 상세히 설명한다. 그리고, 하기에서는 본 발명의 실시예들에 따른 동작을 이해하는데 필요한 부분만이 설명되며, 그 이외의 부분의 설명은 본 발명의 요지를 흩트리지 않도록 생략될 것이라는 것을 유의하여야 한다. 그리고 후술되는 용어들은 본 발명의 실시예들에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시 예들을 가질 수 있는 바, 특정 실시 예들을 도면들에 예시하여 상세하게 설명한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
본 명세서에서 명백하게 다른 내용을 지시하지 않는 “한”과, “상기”와 같은 단수 표현들은 복수 표현들을 포함한다는 것이 이해될 수 있을 것이다. 따라서, 일 예로, “컴포넌트(component)”는 하나 혹은 그 이상의 컴포넌트들을 포함할 수 있다.
제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 발명의 실시예들에서, 별도로 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 발명의 실시예에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
본 발명의 다양한 실시예들에 따르면, 전자 디바이스는 통신 기능을 포함할 수 있다. 일 예로, 전자 디바이스는 스마트 폰(smart phone)과, 태블릿(tablet) 개인용 컴퓨터(personal computer: PC)와, 이동 전화기와, 화상 전화기와, 전자책 리더(e-book reader)와, 데스크 탑(desktop) PC와, 랩탑(laptop) PC와, 넷북(netbook) PC와, 개인용 복합 단말기(personal digital assistant: PDA)와, 휴대용 멀티미디어 플레이어(portable multimedia player: PMP)와, MP3 플레이어(MPEG Audio Layer-3 player)와, 이동 의료 디바이스와, 카메라와, 웨어러블 디바이스(wearable device)(일 예로, 헤드-마운티드 디바이스(head-mounted device: HMD)와, 전자 의류와, 전자 팔찌와, 전자 목걸이와, 전자 앱세서리(appcessory)와, 전자 문신, 혹은 스마트 워치(smart watch) 등이 될 수 있다.
본 발명의 다양한 실시예들에 따르면, 전자 디바이스는 통신 기능을 가지는 스마트 가정용 기기(smart home appliance)가 될 수 있다. 일 예로, 상기 스마트 가정용 기기는 텔레비젼과, 디지털 비디오 디스크(digital video disk: DVD) 플레이어와, 오디오와, 냉장고와, 에어 컨디셔너와, 진공 청소기와, 오븐과, 마이크로웨이브 오븐과, 워셔와, 드라이어와, 공기 청정기와, 셋-탑 박스(set-top box)와, TV 박스 (일 예로, Samsung HomeSyncTM, Apple TVTM, 혹은 Google TVTM)와, 게임 콘솔(gaming console)과, 전자 사전과, 캠코더와, 전자 사진 프레임 등이 될 수 있다.
본 발명의 다양한 실시예들에 따르면, 전자 디바이스는 의료 기기(일 예로, 자기 공명 혈관 조영술(magnetic resonance angiography: MRA) 디바이스와, 자기 공명 화상법(magnetic resonance imaging: MRI)과, 컴퓨터 단층 촬영(computed tomography: CT) 디바이스와, 촬상 디바이스, 혹은 초음파 디바이스)와, 네비게이션(navigation) 디바이스와, 전세계 위치 시스템(global positioning system: GPS) 수신기와, 사고 기록 장치(event data recorder: EDR)와, 비행 기록 장치(flight data recorder: FDR)와, 자동차 인포테인먼트 디바이스(automotive infotainment device)와, 항해 전자 디바이스(일 예로, 항해 네비게이션 디바이스, 자이로스코프(gyroscope), 혹은 나침반)와, 항공 전자 디바이스와, 보안 디바이스와, 산업용 혹은 소비자용 로봇(robot) 등이 될 수 있다.
본 발명의 다양한 실시예들에 따르면, 전자 디바이스는 통신 기능을 포함하는, 가구와, 빌딩/구조의 일부와, 전자 보드와, 전자 서명 수신 디바이스와, 프로젝터와, 다양한 측정 디바이스들(일 예로, 물과, 전기와, 가스 혹은 전자기 파 측정 디바이스들) 등이 될 수 있다.
본 발명의 다양한 실시예들에 따르면, 전자 디바이스는 상기에서 설명한 바와 같은 디바이스들의 조합이 될 수 있다. 또한, 본 발명의 바람직한 실시예들에 따른 전자 디바이스는 상기에서 설명한 바와 같은 디바이스에 한정되는 것이 아니라는 것은 당업자에게 자명할 것이다.
본 발명의 다양한 실시예들에서 제안하는 방법 및 장치는 국제 전기 전자 기술자 협회(institute of electrical and electronics engineers: IEEE) 802.11ac 통신 시스템과, IEEE 802.16 통신 시스템과, 디지털 멀티미디어 방송(digital multimedia broadcasting: DMB) 서비스와, 휴대용 디지털 비디오 방송(digital video broadcasting-handheld: DVP-H), 및 모바일/휴대용 진화된 텔레비젼 시스템 협회(advanced television systems committee-mobile/handheld: ATSC-M/H) 서비스 등과 같은 모바일 방송 서비스와, 인터넷 프로토콜 텔레비젼(internet protocol television: IPTV) 서비스와 같은 디지털 비디오 방송 시스템과, MMT 시스템과, 진화된 패킷 시스템(evolved packet system: EPS)과, 롱-텀 에볼루션(long-term evolution: LTE) 이동 통신 시스템과, 롱-텀 에볼루션-어드밴스드(long-term evolution-advanced: LTE-A) 이동 통신 시스템과, 고속 하향링크 패킷 접속(high speed downlink packet access: HSDPA) 이동 통신 시스템과, 고속 상향링크 패킷 접속(high speed uplink packet access: HSUPA) 이동 통신 시스템과, 3세대 프로젝트 파트너쉽 2(3rd generation project partnership 2: 3GPP2)의 고속 레이트 패킷 데이터(high rate packet data: HRPD) 이동 통신 시스템과, 3GPP2의 광대역 부호 분할 다중 접속(wideband code division multiple access: WCDMA) 이동 통신 시스템과, 3GPP2의 부호 분할 다중 접속(CDMA) 이동 통신 시스템과, IEEE 이동 통신 시스템 등과 같은 통신 시스템과, 모바일 인터넷 프로토콜(Mobile IP) 시스템과 같은 다양한 통신 시스템들에 적용 가능함은 물론이다.
하기에서는 설명의 편의를 위하여 ROUTE 또는 DASH(Dynamic Adaptive Streaming over HTTP(hyper text transfer protocol)) 기반으로 본 발명의 실시예들을 설명할 것이나 본 발명은 이에 한정되지 않으며 미디어 전송을 위한 유사한 기술에도 적용될 수 있음은 당업자에게 자명하다.
도 1a는 본 발명의 일 실시예에 따른 미디어 트랜스포트 시스템의 간략화된 구조를 도시한 것이다.
도 1a를 참조하면, 미디어 트랜스포트 시스템은 미디어 송신 장치(110)와 미디어 수신 장치(130)를 포함하여 구성될 수 있다. 미디어 수신 장치(130)는 인터넷(105)을 기반으로 미디어 송신 장치(110)와 통신할 수 있으며, 미디어 수신 장치(130)와 미디어 송신 장치(110) 간 통신의 적어도 일부는 무선 액세스 네트워크 노드(120)에 의한 무선 구간을 포함할 수 있다. 미디어 송신 장치(110)는 일 예로서 인터넷 상의 콘텐트 서버가 될 수 있다. 일 예로서 미디어 송신 장치(110)는 인터넷을 통해 멀티미디어 콘텐트들을 제공하는 콘텐트 서버와 방송 채널을 통해 방송에 관련된 제어 정보를 제공하는 서버의 조합으로서 구성될 수 있다. 미디어 수신 장치(130)는 미디어 데이터를 수신하고 및/또는 사용자에게 제공할 수 있는 전자 디바이스가 될 수 있다.
미디어 송신 장치(110)는 다양한 품질을 가진 멀티미디어 콘텐트들을 보유하고, 사용자의 방송 환경 및 미디어 수신 장치(130)의 수신 환경에 적합한 멀티미디어 콘텐트들을 클라이언트(130)에게 제공할 수 있다. 예를 들어, 미디어 송신 장치(110)는 MPEG-DASH를 이용하여 실시간 스트리밍 서비스를 제공할 수 있다. 미디어 송신 장치(110)는 XML(extensible markup language) 형태의 MPD(Media Presentation Description) 및 이진화 포맷 형태의 전송용 멀티미디어 콘텐트를 포함하는 세그먼트(Segment)들을 ROUTE 프로토콜을 이용하여 클라이언트(130)로 전송할 수 있다.
DASH 세그먼트는 미디어 세그먼트를 포함할 수 있다. 미디어 세그먼트는 스트리밍 서비스를 지원하기 위해, 미디어 수신 장치(130)로 전송하고자 하는, 품질별 및/또는 시간별로 분리된 미디어 관련 오브젝트 형태의 데이터 단위를 뜻한다. 미디어 세그먼트는 미디어 스트림의 정보, 적어도 하나의 액세스 유닛(Access Unit), 프리젠테이션 시간 또는 인덱스와 같은 해당 세그먼트 안의 미디어 프리젠테이션에 접근 방식에 대한 정보를 포함할 수 있다. 또한, 미디어 세그먼트는 세그먼트 인덱스에 의해 적어도 하나의 서브세그먼트로 분할될 수 있다. 또한 MPD는 계층적인 구조로 구성되어 있으며 각 계층별 구조적 기능 및 역할 등에 관한 정보를 포함할 수 있다.
멀티미디어 콘텐트들, 즉 MPEG-DASH 콘텐츠는 적어도 하나의 미디어 세그먼트를 포함할 수 있다. 각 미디어 세그먼트는 적어도 하나의 프래그먼트를 포함할 수 있다. 예를 들어, 프래그먼트는 상술한 서브세그먼트일 수 있다. 상술한 바와 같이 프래그먼트는 프래그먼트 헤더 및 프래그먼트 페이로드를 포함할 수 있다.
프래그먼트 헤더는 세그먼트 인덱스(segment index: 'sidx') 박스 및 무비 프래그먼트(movie fragment: 'moof') 박스를 포함할 수 있다. 세그먼트 인덱스 박스는 해당 프래그먼트 내부에 존재하는 미디어 데이터의 최초 프리젠테이션 시간 및 데이터 오프셋(offset)과 SAP(Stream Access Points) 정보 등을 제공할 수 있다. 무비 프래그먼트 박스는 미디어 데이터(media data: 'mdat') 박스에 대한 메타 데이터를 포함할 수 있다. 예를 들어, 무비 프래그먼트 박스는 프래그먼트 내 미디어 데이터 샘플의 타이밍, 인덱싱, 디코딩에 관련된 정보를 포함할 수 있다.
프래그먼트 페이로드는 미디어 데이터(mdat) 박스를 포함할 수 있다. 미디어 데이터(mdat) 박스는 해당 미디어 구성 요소(비디오 및 오디오 등)에 대한 실제 미디어 데이터를 포함할 수 있다. 부호화된 미디어 데이터는 프래그먼트 페이로드에 해당되는 미디어 데이터(mdat) 박스 내에 청크(chunk) 단위로 포함된다. 동일한 트랙(track)에 해당하는 샘플들은 하나의 청크 내에 포함될 수 있다.
미디어 송신 장치(110)는 프래그먼트를 분할하여 적어도 하나의 전송 블록을 생성할 수 있다. 또한, 미디어 송신 장치(110)는 프래그먼트 헤더와 페이로드 데이터를 구분하기 위해 프래그먼트 헤더와 페이로드 데이터를 각각 다른 전송 블록에 포함시킬 수 있다. 그리고 나서, 미디어 송신 장치(110)는 적어도 하나의 전송 블록을 분할하여 적어도 하나의 심볼을 생성할 수 있다. 오브젝트 내의 모든 심볼의 길이는 동일할 수 있다. 또한, 오브젝트 내의 모든 심볼의 길이를 동일하게 하기 위해서, 전송 블록의 마지막 심볼은 패딩(padding) 바이트들을 포함할 수 있다.
그리고 나서, 미디어 송신 장치(110)는 적어도 하나의 심볼을 패킷화할 수 있다. 예를 들어, 미디어 송신 장치(110)는 적어도 하나의 심볼들을 기초로 적어도 하나의 LCT 패킷을 생성할 수 있다. 그리고 나서, 미디어 송신 장치(110)는 상기 적어도 하나의 LCT 패킷을 전송할 수 있다. 상기 적어도 하나의 LCT 패킷은 인터넷(105) 및/또는 무선 액세스 네트워크 노드(120)를 거쳐 미디어 수신 장치(130)에 의해 수신될 수 있다.
도 1b는 본 발명의 일 실시예에 따라 미디어 트랜스포트 시스템을 통해 전송되는 미디어 파일의 구조를 도시한 것이다.
도 1b를 참조하면, 미디어 파일(102), 일 예로서 ISOBMFF 파일은 하나 혹은 그 이상의 DASH 세그먼트들(104,106,108)의 형태로 분할된다. DASH 세그먼트들(104,106,108)은 초기화 세그먼트(Initialization Segment)(104)와 하나 혹은 그 이상의 미디어 세그먼트들(106,108)로 나뉘어진다. 초기화 세그먼트(104)는 미디어 세그먼트들(106,108)에 포함된 미디어 데이터를 재생하기 위하여 필요한 정보로서, 파일 타입(file type: 'ftyp') 박스와 무비(movie: 'moov') 박스를 포함한다. 파일 타입(ftyp) 박스는 미디어 파일(110)에 대한 파일 타입, 파일 버전, 및 호환성 정보를 포함할 수 있으며, 무비(moov) 박스는 미디어 데이터를 설명하는 메타데이터(metadata)를 포함할 수 있다.
미디어 세그먼트들(106,108)은 실제 미디어 데이터를 담은 미디어 데이터(mdat) 박스를 포함하고 있으며, 미디어 데이터(mdat) 박스에 관련되는 하나 이상의 완전한 (whole self-contained) 무비 프래그먼트(movie fragment: 'moof') 박스를 포함하여야 한다. 무비 프래그먼트(moof) 박스는 대응하는 미디어 데이터(mdat) 박스에 대한 메타데이터를 포함할 수 있다. 또한 미디어 세그먼트(106,108)는 세그먼트 타입(segment type: 'styp') 박스를 포함할 수 있다.
도 2는 본 발명의 일 실시예에 따른 통신 시스템에서 미디어 송신 장치의 간략화된 구조를 도시한 것이다.
도 2를 참조하면, 미디어 송신 장치(200)는 송신기(220)와, 프로세서(210)와, 저장 유닛(230)을 포함한다. 프로세서(210)는 미디어 송신 장치(200)의 전반적인 동작을 제어한다. 프로세서(210)는 미디어 송신 장치(200)가 본 발명의 실시예들 중 적어도 하나에 따른 동작을 수행하도록 제어할 수 있다. 송신기(220)는 프로세서(210)의 제어에 따라 미디어 수신 장치 등으로 각종 신호, 데이터, 정보, 및 메시지 등을 송신한다. 도시하지 않을 것이나, 미디어 송신 장치(200)가 양방향 통신을 지원하는 경우 미디어 송신 장치(200)는 미디어 수신 장치로부터 각종 신호, 데이터, 정보 및 메시지 등을 수신할 수 있는 수신기를 더 포함할 수 있다.
저장 유닛(230)은 미디어 송신 장치(200)의 동작에 필요한 프로그램 코드와 각종 데이터 등, 특히 본 발명의 실시예들에 따른 동작에 관련된 정보와 데이터, 파라미터 등을 저장한다. 또한, 저장 유닛(230)은 미디어 데이터, 제어 정보 등을 저장할 수 있다.
도 2에서는 미디어 송신 장치(200)가 송신기(220)와, 프로세서(210)와, 저장 유닛(230)과 같이 별도의 유닛들로 구현된 것으로 도시하였으나, 미디어 송신 장치(200)는 송신기(220)와, 프로세서(210)와, 저장 유닛(230) 중 적어도 두 개가 결합된 형태로 구현 가능함은 물론이다.
도 3은 본 발명의 일 실시예에 따른 통신 시스템에서 미디어 수신 장치의 간략화된 구조를 도시한 것이다.
도 3을 참조하면, 미디어 수신 장치(300)는 프로세서(310)와, 수신기(320)와, 저장 유닛(330)을 포함한다. 프로세서(310)는 미디어 수신 장치(300)의 전반적인 동작을 제어한다. 프로세서(310)는 미디어 수신 장치(300)가 본 발명의 실시예들 중 적어도 하나에 따른 동작을 수행하도록 제어할 수 있다. 수신기(320)는 프로세서(310)의 제어에 따라 일 예로서 미디어 송신 장치(200)로부터 각종 신호, 데이터, 정보, 및 메시지 등을 수신한다. 도시하지 않을 것이나, 미디어 수신 장치(300)가 양방향 통신을 지원하는 경우 미디어 수신 장치(300)는 미디어 송신 장치로 각종 신호, 데이터, 정보 및 메시지 등을 송신할 수 있는 송신기를 더 포함할 수 있다.
저장 유닛(330)은 미디어 수신 장치(300)의 동작에 필요한 프로그램 코드와 각종 데이터 등, 특히 본 발명의 실시예들에 따른 동작에 관련된 정보와 데이터, 파라미터 등을 저장한다. 또한, 저장 유닛(330)은 미디어 송신 장치(200)로부터 수신한 미디어 데이터, 제어 정보 등을 저장할 수 있다.
도 3에서는 미디어 수신 장치(300)가 프로세서(310)와, 수신기(320)와, 저장 유닛(330)과 같이 별도의 유닛들로 구현된 것으로 도시하였으나, 미디어 수신 장치(300)는 프로세서(310)와, 수신기(320)와, 저장 유닛(330) 중 적어도 두 개가 결합된 형태로 구현 가능함은 물론이다.
도 4는 본 발명의 일 실시예에 따른 미디어 데이터의 전송을 지원하는 송신기의 구조를 도시한 블록도이다. 여기에 도시한 송신기(400)의 구조는 일 예로서 도 2에 도시된 송신기(220) 및 프로세서(210)의 적어도 일부로서 구현될 수 있다.
도 4를 참조하면, 수신기(400)는 하나 혹은 그 이상의 부호화기(encoder)(410,415)와 세그먼트 생성기(420)와 패킷화기(packetizer)(430)를 포함하여 구성된다. 부호화기(410,415)는 미디어 데이터(일 예로 파일)를 액세스 유닛(access unit: AU) 단위로 부호화하며, 세그먼트 생성기(420)는 하나 혹은 그 이상의 액세스 유닛들에 대한 부호화된 미디어 데이터를 포함하는 미디어 세그먼트들, 일 예로 ISOBMFF에 따른 DASH 세그먼트들을 생성한다. 패킷화기(430)는 DASH 세그먼트를 오브젝트(즉 파일)의 전송에 최적화된 전송 프로토콜, 일 예로 ROUTE 프로토콜에 기반한 패킷들(ROUTE 패킷들 혹은 LCT 패킷들이라 칭함)을 생성하며, 상기 패킷들은 물리 계층을 거쳐 상대 개체로 전송된다.
추가적으로 송신기(400)는 시그널링 부호화기(signaling encoder)(425)를 더 포함할 수 있다. 시그널링 부호화기(425)는 ROUTE 전송에 필요한 제어 정보(혹은 시그널링 정보)를 생성하며, 상기 제어 정보는 패킷화기(430)에 의해 패킷 헤더 혹은 페이로드 내에 삽입될 수 있다.
도 5는 본 발명의 일 실시예에 따른 미디어 데이터를 수신하는 수신기의 구조를 도시한 블록도이다. 여기에 도시한 수신기(500)의 구조는 일 예로서 도 3에 도시된 수신기(320) 및 프로세서(310)의 적어도 일부로서 구현될 수 있다.
도 5를 참조하면, 송신기(500)는 역패킷화기(de-packetizer)(510)와 세그먼트 분석기(segment parser)(520)와 하나 혹은 그 이상의 디코더 버퍼들(decoder buffer)(530,535)과 하나 혹은 그 이상의 디코더들(540,545)를 포함하여 구성된다. 역패킷화기(510)는 송신기에 의해 사용된 전송 프로토콜, 일 예로 ROUTE 프로토콜에 기반한 패킷들(ROUTE 패킷들 혹은 LCT 패킷들이라 칭함)을 수신하고, 상기 패킷들을 분해하여 세그먼트들, 일 예로 DASH 세그먼트들을 생성한다. 도시하지 않을 것이나 상기 DASH 세그먼트들은 세그먼트 분석기(520)가 준비될 때까지 세그먼트 버퍼에 저장될 수 있다. 세그먼트 분석기(520)는 ISOBMFF에 따라 상기 DASH 세그먼트들을 분석하여 액세스 유닛 단위의 미디어 데이터를 출력한다. 액세스 유닛들은 해당하는 디코더들(540,545)가 준비될 때까지 해당하는 디코더 버퍼들(530,535)에 저장된다. 디코더들(540,545)은 액세스 유닛들을 디코딩하여 미디어 데이터를 출력한다.
추가적으로 수신기(500)는 시그널링 디코더(signaling decoder)(525)를 더 포함한다. 시그널링 디코더(525)는 역패킷화기(510)로부터 제공된 제어 정보(혹은 시그널링 정보)를 디코딩하여 필요한 정보를 세그먼트 분석기(520) 및 다른 개체들에게 제공할 수 있다. 상기 제어 정보는 일 예로 각 패킷의 패킷 헤더로부터 획득될 수 있다.
ROUTE 프로토콜에 따라 수립될 수 있는 세션(이하 ROUTE 세션이라 칭함)은 적어도 하나의 LCT(Layered Coding Transport) 세션들로 구성될 수 있다. 예를 들어, 하나의 LCT 세션을 통해 하나의 미디어 컴포넌트가 전달되는 경우, ROUTE 세션을 통하여 적어도 하나의 미디어 컴포넌트가 멀티플렉싱되어 전송될 수 있다. 또한, 하나의 LCT 세션을 통하여 적어도 하나의 전송 오브젝트(Transport object)를 전달할 수 있다.
도 6은 본 발명에 적용될 수 있는 ROUTE 프로토콜에 기반한 LCT 패킷의 헤더 포맷을 도시한 것이다.
도 6을 참조하면, LCT 패킷 헤더(600)의 각 필드는 다음과 같은 정보를 나타낸다.
LCT 패킷 헤더(600)는 LCT 버전 번호(version number: V), 혼잡 제어 플래그(congestion control flag: C), 프로토콜별 지시자(protocol-specific indication: PSI)(601), 전송 세션 식별자 플래그(transport session identifier flag: S), 전송 오브젝트 식별자 플래그(transport object identifier flag: O), 하프워드 플래그(half-word flag: H), 예약(Reserved: Res) 필드(603), 클로즈 세션 플래그(close session flag: A), 클로즈 오브젝트 플래그(close object flag: B), LCT 헤더 길이(header length: HDR_LEN), 코드포인트(codepoint: CP)(605), 혼잡 제어 정보(congestion control information: CCI), 전송 세션 식별자 필드(transport session identifier: TSI), 전송 오브젝트 식별자(transport object identifier: TOI), 확장 헤더(header extension)(610)를 포함한다.
LCT 패킷은 또한 FEC 페이로드 ID 필드 및/또는 심볼 인코딩 필드와, 미디어 데이터를 담은 페이로드를 더 포함할 수 있다.
LCT 버전 번호(V) 필드는 프로토콜 버전 번호를 나타낸다. 예를 들어, 이 필드는 LCT 버전 번호를 나타낸다. LCT 패킷 헤더(600)의 버전 번호 필드는 ROUTE 버전 번호 필드로서 해석되어야 한다. 일 예로서 ROUTE의 버전은 LCT 형성 블록의 버전 "1"이 될 수 있다. 이 경우, 버전 번호 필드는 '0001b'로 설정된다.
혼잡 제어 플래그(C) 필드는 혼잡 제어 정보(CCI) 필드의 길이를 나타낸다. C=0는 CCI 필드가 32비트의 길이를 갖는 것을 나타내고, C=1은 CCI 필드가 64 비트의 길이를 갖는 것을 나타내고, C=2는 CCI 필드가 96 비트의 길이를 갖는 것을 나타내고, C=3은 CCI 필드가 128 비트의 길이를 갖는 것을 나타낸다.
PSI 필드(601)는 LCT 상위 프로토콜에서 특정 목적의 지시자로 사용될 수 있다. 일 예로 PSI 필드(601)는 현재의 패킷이 소스 패킷인지 또는 FEC 리페어 패킷인지를 나타낸다. ROUTE 소스 프로토콜이 소스 패킷을 전달하는 경우, PSI 필드(601)는 "10b"로 설정될 것이다.
전송 세션 식별자 플래그(S) 필드는 전송 세션 식별자(TSI) 필드의 길이를 나타낸다. 일 예로 TSI 필드는 32*S+16*H의 길이를 가진다.
전송 오브젝트 식별자 플래그(O) 필드는 전송 오브젝트 식별자(TOI) 필드의 길이를 나타낸다. 예를 들어, 오브젝트는 하나의 파일을 의미할 수 있고, TOI는 각 오브젝트의 식별정보로써, 상기 TOI가 0인 파일은 FDT(File Delivery Table)라 한다.
하프워드 플래그(H) 필드는 TSI 및 TOI 필드의 길이에 하프워드(16 bits)를 추가할지 여부를 지시한다.
클로즈 세션 플래그(A) 필드는 세션이 종료했거나 또는 종료가 임박했음을 지시한다.
클로즈 오브젝트 플래그(B) 필드는 전송 중인 오브젝트가 종료했거나 또는 종료가 임박했음을 지시한다.
LCT 헤더 길이(HDR_LEN) 필드는 32비트 워드의 단위로 LCT 패킷 헤더(600)의 총 길이를 나타낸다.
코드포인트(CP) 필드는 이 패킷에 의해 운반되는 페이로드의 타입을 나타낸다. 페이로드의 타입에 따라, 추가의 페이로드 헤더가 추가되어 페이로드 데이터를 프리픽스(prefix)할 수 있다.
혼잡 제어 정보(CCI) 필드는 계층 수, 논리 채널 수, 시퀀스 수 등과 같은 혼잡 제어 정보의 전송에 사용된다.
전송 세션 식별자(TSI) 필드는 세션의 고유 식별자이다. TSI는 특정 전송자로부터의 모든 세션들 중에서 하나의 세션을 고유하게 식별한다. TSI 필드는 ROUTE 내의 전송 세션을 식별하며, 전송 세션의 컨텍스트는 LSID(LCT Session Instance description)에 의해 제공된다. LSID는 ROUTE 세션을 구성하는 각각의 LCT 세션을 정의한다. 각각의 전송 세션은 LCT 패킷 헤더(600) 내의 TSI에 의해 고유하게 식별된다.
전송 오브젝트 식별자(TOI) 필드는 오브젝트의 고유 식별자이다. TOI는 이 패킷이 세션 내의 어떤 오브젝트에 속하는지를 나타낸다. 오브젝트와 TOI 필드의 매핑(mapping)은 확장된 FDT에 의해 제공된다.
확장된 FDT는 파일 전달 데이터의 세부사항을 특정한다. 이것은 확장된 FDT 인스턴스(FDT header extension)이다. LCT 패킷 헤더와 함께 확장된 FDT는 딜리버리 오브젝트에 대한 FDT 동등 기술을 생성하는데 사용될 수 있다. 확장된 FDT는 참조로서 임베딩(embed)되거나 제공될 수 있다. 참조로서 제공되면, 확장된 FDT는 LSID와 독립적으로 업데이트될 수 있다. 참조되면, 포함되는 소스 플로우의 TOI=0 상의 인-밴드 오브젝트로서 전달될 것이다.
확장 헤더 필드(610)는 LCT 내에서 추가적인 정보의 전송을 위해 사용된다. 확장 헤더(610)는 항상 사용되는 것이 아니거나 가변 사이즈를 갖는 선택적인 헤더 필드를 수용하도록 사용된다.
도시되어 있지 않으나, FEC 페이로드 ID 필드는 송신 블록 또는 인코딩 심볼의 식별 정보를 포함한다. FEC 페이로드 ID는 전송하고자 하는 파일이 FEC 인코딩된 경우의 식별자를 나타낸다. 예를 들어, FEC 페이로드 ID는 상기 파일이 FEC 인코딩된 경우, 방송국 또는 방송서버가 이를 식별하도록 하기 위해 할당될 수 있다. 심볼 인코딩 필드는 송신 블록 또는 인코딩 심볼의 데이터를 포함할 수 있다.
패킷 페이로드는 오브젝트로부터 생성된 바이트를 포함한다. 1보다 많은 오브젝트가 세션에서 전송되면, LCT 패킷 헤더(600) 내의 송신 오브젝트 ID(TOI)는 패킷 페이로드 데이터가 생성된 오브젝트를 식별하는데 사용되어야 한다.
본 발명의 일 실시예는 ROUTE 방식을 지원하는 통신 시스템에서 LCT 패킷의 페이로드에 포함되는 미디어의 코덱(coder/decoder: CODEC) 관련 정보와 함께 플레이 아웃(play out)과 관련되는 중요도 정보의 송/수신을 제안한다.
앞서 설명한 바와 같이 ROUTE 프로토콜은 파일 전송(file transport)에 대한 방식이며, 송신중인 미디어에 대한 중요도를 나타내는 중요도 정보에 대해서는 정의하고 있지 않다. 즉, LCT 패킷은 페이로드에 포함되어 있는 데이터가 어떤 중요도를 갖는지에 대한 정의를 포함하고 있지 않으므로, 수신기에서는 수신되는 LCT 패킷들에 대해서 수신되는 순서대로 핸들링(handling) 및/또는 프로세싱(processing)할 수 밖에 없다.
한편, LCT 패킷들을 통해 수신된 오브젝트 중에는 DASH 초기화 세그먼트(Initialization Segment)나 MPD(Media Presentation Description)와 같이, 빠른 플레이 아웃을 위해 최우선적으로 복원 및/또는 프로세싱되어야 할 중요 데이터를 포함하는 오브젝트가 존재할 수 있다.
도 6의 LCT 패킷 헤더(600)는 CP 필드(601)의 필드 값을 이용하여, 해당 LCT 패킷의 페이로드 내에 포함된 미디어 데이터가 어떠한 타입을 가지고 있는지 지정할 수 있다. 그러나 CP 필드(601)는 해당 미디어 데이터의 중요도보다는 인코딩 관련 정보, 일 예로 오디오/비디오 관련 정보, 클럭 레이트(clock rate) 정보에 관련되어 있다.
구체적인 예로서 CP 필드(601)는 8비트로서, LCT 패킷에 의해 운반되는 페이로드의 타입을 지시하는데 사용되며, 상기 페이로드의 타입에 따라 추가적인 페이로드 헤더가 페이로드의 앞에 추가될 수 있다.
실시간 트랜스포트 프로토콜(real-time transport protocol: RTP)과 LCT 규격에서 정의되는 페이로드 타입의 일 예는 하기 <표 1>에 나타낸 바와 같다.
Payload type (PT) Name MediaType No. of channels Clock rate(Hz) Frame size (ms) Default packet size (ms)
0 PCMU audio 1 8000 any 20
1 reserved audio 1 8000    
2 reserved audio 1 8000    
3 GSM audio 1 8000 20 20
4 G723 audio 1 8000 30 30
5 DVI4 audio 1 8000 any 20
6 DVI4 audio 1 16000 any 20
7 LPC audio 1 8000 any 20
8 PCMA audio 1 8000 any 20
9 G722 audio 1 8000 any 20
10 L16 audio 2 44100 any 20
11 L16 audio 1 44100 any 20
12 QCELP audio 1 8000 20 20
13 CN audio 1 8000    
14 MPA audio 1, 2 90000 8-72  
15 G728 audio 1 8000 2.5 20
16 DVI4 audio 1 11025 any 20
17 DVI4 audio 1 22050 any 20
18 G729 audio 1 8000 10 20
여기서 PCMU는 펄스부호변조(pulse-code modulation) μ(mu)-law를 의미하고, GSM(Global System for Mobile communication)은 GSM 시스템을 위한 음성 코딩 시스템을 의미하고, G723, G722, G728, G729는 ITU-T(International Telecommunication Union Telecommunication standardization sector)에 의해 제공되는 음성 코덱을 의미하고, DVI4는 디지털 비디오 인터렉티브(digital video interaction 4)를 의미하고, LPC는 선형 예측 코딩(linear predictive coding)을 의미하고, PCMA는 PCM A-law를 의미하고, L16은 선형 PCM 16비트 오디오(Linear PCM 16-bit audio)를 의미하고, QCELP는 퀄컴 CELP(Code Excited Linear Prediction)를 의미하고, CN은 통신 소음(comfort noise)을 의미하고, MPA는 MPEG 오디오(MPEG Audio)를 의미한다.
상기 <표 1>에서 클럭 레이트는 RTP 헤더 내의 타임스탬프가 증가되는 시점에서의 속도를 의미하는 것으로서 코덱의 샘플링 레이트와는 상이하다.
따라서 LCT 패킷 헤더 내의 CP 필드(601)로 페이로드 내 미디어 데이터와 관련되지 않은 패킷의 중요도, 일 예로서 패킷이 MPD나 초기화 세그먼트와 같은 중요 정보를 포함하고 있음을 지시하는 것은 불가능하다.
도 6에서 도시하고 있는 바와 같이, LCT 패킷 헤더(600)는 ROUTE 프로토콜에 의해 사용될 수 있는 확장 헤더(610)를 포함하고 있다. LCT 패킷 헤더(600)는 프리젠테이션 시간(presentation time)이나 서버 기준 시간(server wall clock)와 같은 추가적인 헤더 정보를 제공하는데 사용될 수 있다.
도 7은 추가적인 헤더 정보를 포함하는 LCT 패킷 헤더의 확장 헤더의 일 예를 도시한 것이다.
도 7을 참조하면, 확장 헤더(700)는 확장 헤더 타입(header extension type: HET) 필드(710)와 확장 헤더 길이(header extension length: HEL) 필드(720)를 포함할 수 있다. HET 필드(710)는 8비트로서 확장 헤더(700)의 타입을 지시하며, HEL 필드(720)는 확장 헤더(700) 전체의 길이를 32비트 워드의 배수로 지시한다. 확장 헤더(720)는 프리젠테이션 시간(presentation time)을 지시하는 64비트의 NTP(network time protocol) 타임스탬프 필드(730)를 더 포함할 수 있다. 타임스탬프 필드(730)는 SCT(sender current time)보다 크다. 상기 프리젠테이션 시간은 패킷 내에 포함되는 오브젝트가 프리젠테이션되어야 하는 시간을 지시한다.
후술되는 실시예에서는 도 7에 나타낸 바와 유사한 방식으로, LCT 패킷 헤더에 LCT 패킷 페이로드에 포함된 데이터의 중요도에 관련된 정보를 추가한다. LCT 패킷 헤더에 추가될 수 있는 중요도 관련 정보는 일 예로서 하기와 같은 내용들 중 적어도 하나를 지시할 수 있다.
- 명백한(Manifest) 정보에 해당하는 MPD 정보를 담고 있는지의 여부를 지정 가능하다.
- 디코더의 초기화 정보에 해당하는 초기화 세그먼트를 포함하고 있는지 여부를 지정 가능하다.
- 포함된 미디어 세그먼트의 프래그먼트(fragment) 방식(일 예로, 샘플 단위의 프래그먼트인지 혹은 박스 단위의 프래그먼트인지)을 지정 가능하다. 또한 ISOBMFF의 어떤 박스를 포함하고 있는지 여부를 지정 가능하다.
도 8은 본 발명의 일 실시예에 따라 중요도 관련 정보를 포함하는 LCT 패킷 헤더의 확장 헤더의 일 예를 도시한 것이다.
도 8을 참조하면, 확장 헤더(800)는 HET 필드(810)와 HEL 필드(815)와 중요도(Priority: P) 필드(820) 및 중요도 타입(priority type: PT) 필드(825)를 포함한다. 확장 헤더(800)의 나머지 영역에는 NTP 타임스탬프 필드(830)와 같은 다른 헤더 정보가 포함될 수 있다.
도시한 바와 같이 ROUTE 패킷의 페이로드 데이터에 대한 중요도를 지시하는 헤더 필드를 EXT_PRIORITY 헤더라 칭하기로 한다.
여기서 HET 필드(810) 및 HEL 필드(815)의 의미는 도 7에서 설명한 바와 같다.
P 필드(820)는 PT 필드(825)가 존재하는지를 지시하는데 사용된다.
PT 필드(825)는 해당 LCT 패킷에 의해 운반되는 현재 페이로드의 중요도 타입을 지시한다. 상기 페이로드의 중요도 타입은 일 예로 하기의 <표 2>와 같이 지시될 수 있다.
Value Meaning
0x0 Payload includes media manifest info. (ex. MPD of DASH)
0x1 Payload includes media initialization related info. (ex. Init. Segment of DASH)
0x2 Payload includes media segments fragmented as arbitrarily
0x3 Payload includes media segments fragmented as application-specific (arbitrary basis)
0x4 Payload includes media segments fragmented as application-specific (sample basis)
0x5 Payload includes media segments fragmented as application-specific (a collection of box basis)
0x6 Payload includes media segments including ftyp box
0x7 Payload includes media segments including moov box
0x8 Payload includes media segments including moof box
0x9 Payload includes media segments including mdat box
0xA Payload includes media segments (ex. DASH segment) with time constraint.
0xB Payload includes media segments (ex. DASH segment) with non-time constraint.
0xC Payload includes signaling message
0xD Payload includes RAP (Random Access Point)
~ 0xF Reserved
도 9는 본 발명의 일 실시예에 따른 통신 시스템에서 중요도 관련 정보를 운반하는 LCT 패킷의 확장 헤더의 처리 절차를 개략적으로 도시한 것이다.
도 9를 참조하면, IP 계층(950) 및 UDP 계층(945)을 통해 LCT 패킷들 #1,2,3,4(940)가 수신된다. 각 LCT 패킷(940)은 패킷 헤더 내 확장 헤더를 포함하며, 상기 확장 헤더는 해당 패킷 내 페이로드 데이터에 대한 중요도 관련 정보로서, 일 예로 도 8에 도시한 P 필드(820) 및 PT 필드(825)를 포함할 수 있다.
ROUTE 계층(920)는 수신되는 LCT 패킷(940)으로부터 FDT 인스턴스(930)와 미디어 오브젝트들(935)를 포함하는 모든 오브젝트들(925)을 모두 복원 및 분석(parsing)해보지 않고도, 수신되는 LCT 패킷(940)의 헤더(900)를 검사함으로써 해당 LCT 패킷(940)에 포함된 정보가 얼마나 중요한지 알 수 있고, 따라서 LCT 패킷들(940)에 대해 최우선적으로 처리해야 할 순서를 결정하거나, 혹은 오브젝트(925)를 완전히 복원하기 이전에 페이로드 데이터를 상위 계층으로 전달할 수 있다.
일 실시예로서 ROUTE 계층(920)는 수신되어 패킷 버퍼 내에 버퍼링된 LCT 패킷들(940) 중 MPD나 초기화 세그먼트를 포함하는 LCT 패킷을 우선적으로 처리할 것으로 결정할 수 있다. 그러면 우선적으로 처리될 것으로 결정된 LCT 패킷의 페이로드 데이터가 다른 LCT 패킷에 비해 우선적으로 ROUTE 계층(920)로부터 출력된다. 이로써 ROUTE 계층(920)에 의해 MPD 및 초기화 세그먼트와 같은 중요한 데이터(905)가 우선적으로 출력되며, 미디어 세그먼트들(915)은 그 이후에 출력된다. 상기 세그먼트들은 DASH 계층(910)에 의해 세그먼트 분석 및 디코딩을 거치게 된다.
도 10은 본 발명의 일 실시예에 따라 LCT 패킷의 패킷 헤더를 통해 중요도 관련 정보를 송신하는 절차를 도시한 흐름도이다.
도 10을 참조하면, 과정 1005에서 송신기는 미디어 콘텐트(일 예로서 DASH 콘텐트)를 입력받으며, 과정 1010에서 상기 DASH 콘텐트를 기반으로 초기화 세그먼트 및 미디어 세그먼트들(일 예로서 DASH 세그먼트들)을 생성한다. 과정 1015에서 송신기는 송신될 페이로드 데이터에 관련된 헤더 정보를 생성한다. 이때 상기 헤더 정보는 송신될 페이로드 데이터가 MPD인지 혹은 초기화 세그먼트인지 혹은 미디어 세그먼트인지 등을 지시할 수 있는 중요도 관련 정보를 포함할 수 있다. 상기 중요도 관련 정보는 일 예로 <표 2>와 같이 정의될 수 있는 PT 필드를 포함한다.
과정 1020에서 송신기는 DASH 세그먼트들 및 상기 헤더 정보를 기반으로 전송 패킷(일 예로서 LCT 패킷)을 생성한다. 상기 LCT 패킷은 확장 헤더 내에 상기 중요도 관련 정보를 포함할 수 있다. 과정 1025에서 상기 LCT 패킷은 해당 전송 프로토콜, 일 예로서 ROUTE 프로토콜을 사용하여 수신기로 전송된다.
도 11은 본 발명의 일 실시예에 따라 LCT 패킷의 패킷 헤더를 통해 중요도 관련 정보를 수신하는 절차를 도시한 흐름도이다.
도 11을 참조하면, 과정 1105에서 수신기는 전송 프로토콜(일 예로서 ROUTE 프로토콜)에 기반한 전송 패킷들(일 예로서 LCT 패킷들)을 수신하고, 과정 1110에서 상기 LCT 패킷들을 분해(즉 역패킷화)한다. 과정 1115에서 수신기는 상기 분해를 통해 획득한 헤더 정보를 분석한다. 상기 헤더 정보는 해당 LCT 패킷에 의해 운반되는 페이로드 데이터에 관련된 중요도 관련 정보를 포함한다. 상기 중요도 관련 정보는 일 예로 <표 2>와 같이 정의될 수 있는 PT 필드를 포함한다.
과정 1120에서 수신기는 상기 중요도 관련 정보에 따라 우선적으로 처리할 것으로 결정된 LCT 패킷의 페이로드 데이터를 우선적으로 검출하고 과정 1125에서 상기 검출된 페이로드 데이터를 기반으로 상기 페이로드 데이터에 의해 운반되는 세그먼트를 분석한다. 과정 1130에서 상기 세그먼트는 수신기의 디코더에 의해 디코딩된다.
후술되는 실시예에서, LCT 패킷에 의해 전송되는 페이로드 데이터의 중요도 관련 정보는 LSID 내의 확장된 FDT(EFDT)를 통해 전송될 수 있다.
FLUTE 프로토콜은 파일을 전송하는데 있어서 먼저 FDT 인스턴스의 송신을 통해서 전송에 필요한 정보와 전송할 파일의 여러 속성들에 대한 정보를 보낸 후에 파일을 전송하기 시작한다. ROUTE 세션에 포함되는 LCT 세션은 LSID에 의해 기술된다.
LSID는 ROUTE 세션 상에서 전송되는 모든 전송 세션들에 대한 설명을 제공한다. LSID는 LCT 전송 세션을 포함하는 동일한 ROUTE 세션에서 전달되거나, ROUTE 세션 이외의 수단에 의해, 예를 들어, 유니캐스트 또는 상이한 ROUTE 세션을 통해 전달될 수 있다. 전자의 경우, LSID는 TSI = 0를 갖는 전용 LCT 전송 세션 상에서 전달되고, 또한, TOI = 0에 의해 식별된 딜리버리 오브젝트일 것이다. TSI=0 상에서 전달되는 임의의 오브젝트에 대하여, 엔티티 모드가 사용되어야 한다. 이들 오브젝트가 엔티티 모드로 전달되지 않으면, LSID는 수신된 오브젝트에 대한 확장된 FDT를 얻기 전에 회복되어야 한다.
LSID는 LCT 세션들을 포함하는 동일한 ROUTE 세션을 통해서 전송될 수 있으며, 통신 네트워크, 방송 네트워크, 인터넷, 케이블 네트워크, 및/또는 위성 네트워크를 통해서도 전송될 수 있다. LSID가 전송되는 수단은 이에 한정되지 않는다. 예를 들어, LSID는 TSI의 값이 '0'인 특정 LCT 세션을 통해서 전송될 수 있다. LSID는 ROUTE 세션으로 전송되는 모든 전송 세션에 대한 시그널링 정보(혹은 제어 정보)를 포함할 수 있다. LSID는 LSID 버전 정보 및 LSID의 유효성에 관한 정보를 포함할 수 있다. 또한, LSID는 LCT 세션에 대한 정보를 제공하는 전송 세션(transport session) 정보를 포함할 수 있다. 전송 세션 정보는 전송 세션을 식별하는 TSI 정보, 해당 TSI로 전송되며 소스 데이터가 전송되는 소스 플로우에 대한 정보를 제공하는 소스플로우(source flow) 정보, 해당 TSI로 전송되며 리페어 데이터가 전송되는 리페어 플로우에 대한 정보를 제공하는 리페어플로우(repair flow) 정보, 및 해당 전송 세션에 대한 추가적인 특성 정보를 포함하는 전송 세션 프로퍼티(transport session property) 정보를 포함할 수 있다.
도 12는 본 발명의 일 실시예에 따라 중요도 관련 정보를 운반하는 LSID의 FDT 인스턴스의 일 예를 도시한 것이다.
도 12를 참조하면, FDT 인스턴스(1200)는 세션 내의 FDT를 정의한다. FDT 인스턴스는 전송될 파일의 속성들, 일 예로서 전송될 파일을 식별하는 속성 @Content_Location, 전송될 오브젝트를 식별하는 속성 @TOI과 함께, 전송될 오브젝트의 중요도 타입을 지시하는 속성 @ObjectType(1210)을 포함할 수 있다. 본 명세서에서 중요도에 대한 정보를 포함하는 FDT 인스턴스를 확장된 FDT(EFDT) 인스턴스라 칭할 수 있다.
도 13은 본 발명의 일 실시예에 따른 통신 시스템에서 중요도 관련 정보를 운반하는 LSID의 EFDT 인스턴스의 처리 절차를 도시한 흐름도이다.
도 13을 참조하면, IP 계층(1350) 및 UDP 계층(1345)을 통해 LCT 패킷들 #1,2,3,4(1340)가 수신된다. 각 LCT 패킷(1340)는 패킷 헤더와 페이로드 데이터를 포함한다. ROUTE 계층(1320)은 수신되는 LCT 패킷(940)으로부터 미디어 오브젝트들(1335)을 포함하는 오브젝트들(1325)를 획득한다. 수신기는 적어도 하나의 LCT 패킷 혹은 다른 경로를 통해 EFDT 인스턴스를 포함하는 LSID(1330)를 획득할 수 있다. LSID(1330)의 EFDT 인스턴스는 TSI 및 TOI에 의해 식별되는 특정 오브젝트에 대한 중요도 관련 정보를 제공한다. 상기 중요도 관련 정보는 일 예로서 도 12에 도시한 @ObjectType 속성을 포함할 수 있다.
ROUTE 계층(1320)은 특정 오브젝트에 포함된 내용의 중요도 정보를 파악하기 위해 일단 TOI=0에 해당하는 FDT 인스턴스를 복원하며, 이후 특정 오브젝트의 중요도를 판단하여, 오브젝트들(1325)에 대해 우선적으로 처리해야 할 순서를 결정할 수 있다.
일 실시예로서 ROUTE 계층(1320)는 오브젝트들(1325) 중 MPD나 초기화 세그먼트와 같은 오브젝트를 우선적으로 처리할 것으로 결정할 수 있다. 그러면 우선적으로 처리될 것으로 결정된 오브젝트가 다른 오브젝트들에 비해 우선적으로 ROUTE 계층(1320)로부터 출력된다. 이로써 ROUTE 계층(1320)에 의해 MPD 및 초기화 세그먼트와 같은 중요한 데이터(1305)가 우선적으로 출력되며, 미디어 세그먼트들(1315)은 그 이후에 출력된다. 상기 세그먼트들은 DASH 계층(1310)에 의해 세그먼트 분석 및 디코딩을 거치게 된다.
이하 본 발명의 일 실시예에 따른 통신 시스템에서 미디어 송신 절차에 대해서 설명하기로 한다.
미디어 송신 장치, 일 예로 ROUTE 송신기는 ISOBMFF 기반의 DASH 콘텐트를 다운로드한다. 상기 DASH 콘텐트는 MPD, 초기화 세그먼트, 미디어 세그먼트들 등을 포함할 수 있다. 그리고 나서, ROUTE 송신기는 상기 MPD, 초기화 세그먼트, 미디어 세그먼트들을 기반으로 FLUTE 프로토콜에 따른 오브젝트들을 생성한다.
이때 MPD, 초기화 세그먼트, 미디어 세그먼트들에는 TOI가 할당되는데, 상기 TOI는 일 예로 0보다 큰 값으로 설정된다.(TOI >0) 상기 오브젝트들의 리스트와 속성 정보는 FDT 인스턴스로서 생성되며, 상기 FDT 인스턴스에는 TOI=0이 할당된다.
상기 생성된 오브젝트들은 전달을 위해서 LCT 패킷들로 생성되기 위해 프래그먼트되고 헤더 정보가 첨부된다.
빠른 채널 전환 등의 목적으로 필요한 중요 데이터가 LCT 패킷에 포함되어 있음을 표시하기 위해, ROUTE 송신기는 중요도 관련 정보를 포함하는 확장 헤더를 생성하고 이를 LCT 패킷에 태깅한다. 상기 중요도 관련 정보는 일 예로서 P 필드 및 PT 필드가 될 수 있다. 상기 PT 필드를 통해 지시될 수 있는 주요 사항은 하기와 같다.
A. LCT 패킷이 MPD, 초기화 세그먼트, 미디어 세그먼트 중의 어느 것을 포함하고 있는지를 지시한다.
B. 미디어 세그먼트가 포함될 경우 상기 미디어 세그먼트가 어떻게 프래그먼트되고, 어떤 내용을 포함하고 있는지를 하기와 같이 표시한다.
B1. Arbitrary: 일정한 규칙 없이 임의의 단위로 프래그먼트됨
B2. Sample basis: 특정 샘플 단위로 프래그먼트됨.
B3. Box basis: ISOBMFF의 박스 단위로 프래그먼트됨.
ROUTE 송신기는 상기와 같이 생성된 LCT 패킷을 UDP/IP를 통해 송신한다.
한편, 이상에서 본 발명의 일 실시예에 따른 통신 시스템에서 미디어 송신 및 수신의 동작 과정을 도시 및 설명하고 있더라도, 다양한 변형들이 이루어질 수 있음은 물론이다. 일 예로, 도 10 및 도 11에는 연속적인 과정들이 도시되어 있지만, 도 10 및 도 11에서 설명한 단계들은 오버랩될 수 있고, 병렬로 발생할 수 있고, 다른 순서로 발생할 수 있거나, 혹은 다수 번 발생할 수 있음은 물론이다.
이하에서는 본 발명의 일 실시예에 따른 통신 시스템에서 미디어 수신 절차에 대해서 설명하기로 한다.
미디어 수신 장치, 일 예로 ROUTE 수신기는 ROUTE 세션을 통해 ROUTE/UDP/IP 패킷을 수신하고, 상기 수신한 ROUTE/UDP/IP 패킷에서 UDP/IP 패킷 헤더를 제거하고 LCT 패킷을 복원한다.
그리고 나서, ROUTE 수신기는 LCT 패킷의 패킷 헤더를 분석(parsing)하고 상기 패킷 헤더의 확장 헤더 내의 중요도 관련 정보를 해석한다. 일 예로 상기 중요도 관련 정보는 앞서 설명한 P 필드 및 PT 필드를 포함할 수 있다.
그러면 ROUTE 수신기는 상기 확장 헤더 내에 P 필드가 존재하는지 검사한다. 상기 검사 결과 상기 P 필드의 값이 1로 셋팅된 경우 상기 LCT 패킷에 페이로드 데이터가 중요한 정보를 포함하고 있는지를 지시하는 PT 필드가 상기 확장 헤더 내에 있다고 판단하고 상기 PT 필드를 검출한다.
하기의 <표 3>은 PT 필드에 의해 지시될 수 있는 설명들의 일 예를 도시한 것이다.
OBJECT TOI PT Description
\TEST.XML 0 - TOI=0은 FDT를 담고 있음을 의미함. (ROUTE 고유의 정의)
\TEST1.XML 1 0 PT=0은 MPD를 담고 있음을 의미함.
\TEST2.XML 2 1 PT=1은 초기화 세그먼트를 담고 있음을 의미함. 디코더 셋팅이 필요한 경우 수신기는 우선적으로 수신/복원 필요한 오브젝트가 포함된 것으로 판단함.
\TEST3.XML 3 4 PT=4은 LCT 패킷에 미디어 데이터가 담겨져 있지만, 특정 박스가 아닌 샘플 단위로 프래그먼트되어 있음을 의미함.
..
ROUTE 수신기는 LCT 패킷 내의 PT 필드와 TOI 필드를 기반으로 상기 LCT 패킷에 어떤 오브젝트와 어떤 내용이 담겨있는지를 식별할 수 있다.
한편, 이상에서는 본 발명의 일 실시예에 따른 통신 시스템에서 미디어 수신 장치의 동작을 구체적으로 설명하였으나, 다양한 변형들이 이루어질 수 있음은 물론이다.
이하에서는 ROUTE/DASH 전송 시스템에서 미디어 세그먼트들의 디코딩을 위해 필요한 추가적인 정보를 전송하기 위한 실시예를 설명한다.
ROUTE/DASH 전송을 지원하는 미디어 송신 장치는 XML 형태의 MPD 및 이진화 포맷 형태의 세그먼트들을 ROUTE 프로토콜을 이용하여 전송할 수 있다. MPD는 계층적인 구조로 구성되어 있으며 각 계층별 구조적 기능 및 역할 등에 관한 정보를 포함할 수 있다.
DASH 전송 기술은 MPD의 속성들인 MPD@minBufferTime(MBT)과 Represntation@bandwidth(BW)을 사용하여 수신기에서 필요한 버퍼의 최소 크기를 전달한다. 보다 구체적으로 설명하면, 미디어 데이터가 SAP(stream access point)로부터 시작하여 일정한 비트레이트(bitrate)의 대역폭(BW)으로 수신기에게 전달된다고 가정할 경우, 미디어가 끊김없이 재생되도록 하기 위해서는 디코더가 BW*MBT 만큼의 데이터를 버퍼링한 이후에, 즉 첫 번째 비트를 수신한 뒤 MBT 시간 이후에 디코딩 동작을 시작하여야 한다. 상기와 같이 디코딩 동작을 시작하기 이전에 버퍼에 저장하여야 하는 데이터의 양을 초기 버퍼링 필요량이라고 칭한다.
수신기는 수신된 DASH 세그먼트들로부터 미디어 데이터를 추출하여 이를 액세스 유닛의 단위로 디코더 버퍼에 저장한다. 통상적으로 하나의 세그먼트는 수 초 이상의 미디어 데이터를 포함할 수도 있으며 그 양은 전술한 BW*MBT에 비하여 훨씬 클 수 있다. 따라서 디코더는 BW*MBT 만큼의 미디어 데이터만 버퍼링하면 디코딩을 시작할 수 있음에도 불구하고, 온전한 DASH 세그먼트를 구성하는 ROUTE 패킷들을 모두 수신할 때까지 디코딩을 시작할 수 없다. 이러한 지연은 서비스의 초기 시작 시간 및 채널 전환 시간을 증가시키는 중요한 요인 중의 하나가 된다.
수신기에서 패킷 버퍼의 출력을 박스 단위 혹은 액세스 유닛 단위로 조절하기 위해서는 상기 출력을 위한 데이터 단위와 ROUTE 패킷들 간의 매핑에 관한 정보가 필요하다. 이하에서 데이터 단위는 패킷 버퍼에서 데이터를 출력하는 단위를 지칭하기 위해 사용된다. 일 실시예로서 상기 출력을 위한 데이터 단위는 단독으로 디코딩 가능한 데이터, 즉 디코딩을 위한 데이터 단위를 의미할 수 있다.
송신기는 하나의 오브젝트를 그 내용에 관련 없이 하나의 전송단위로만 취급하여, 전송에 적합한 단위로 상기 오브젝트를 분할하여 ROUTE 패킷에 실어 전송하기 때문에, 각 ROUTE 패킷의 페이로드는 패킷 버퍼의 데이터 단위와 일치하지 않을 수 있다. 크기가 작은 박스나 액세스 유닛은 하나의 ROUTE 패킷으로 전송될 수 있지만, 단일 박스 혹은 액세스 유닛의 크기가 클 경우에는 하위 계층들의 제한 조건들에 의하여 하나 이상의 ROUTE 패킷들의 전송이 필요하다. 따라서 패킷 버퍼의 데이터 단위와 ROUTE 패킷 간의 매핑을 정의하기 위해서, 송신기는 부가적인 시그널링 정보를 패킷 헤더를 통하여 전달한다.
시그널링 정보는 상기 시그널링 정보가 삽입된 패킷에 관한 다음의 정보들 중 적어도 하나를 지시할 수 있다.
1) 패킷이 하나 이상의 온전한 데이터 단위를 포함하고 있는지;
2) 패킷이 데이터 단위의 시작 부분을 포함하고 있는지; 및
3) 패킷이 데이터 단위의 마지막 부분을 포함하고 있는지.
도 14는 본 발명의 일 실시예에 따라 미디어 데이터를 수신하는 수신기의 구조를 도시한 블록도이다. 여기에 도시한 수신기(1400)는 일 예로서 도 3에 도시한 수신기(320) 및 프로세서(310)의 적어도 일부로서 구현될 수 있다.
도 14를 참조하면, 송신기(1400)는 패킷 버퍼(1405)와, 역패킷화기(1410)와 세그먼트 분석기(1420)와 하나 혹은 그 이상의 디코더 버퍼들(1430,1435)과 하나 혹은 그 이상의 디코더들(1440,1445)를 포함하여 구성된다. 역패킷화기(1410)는 송신기에 의해 사용된 전송 프로토콜, 일 예로 ROUTE 프로토콜에 기반한 패킷들(ROUTE 패킷들 혹은 LCT 패킷들이라 칭함)을 패킷 버퍼(1405)로부터 전달받고, 상기 패킷들을 분해하여 세그먼트들, 일 예로 DASH 세그먼트들을 생성한다. 도시하지 않을 것이나 상기 DASH 세그먼트들은 세그먼트 분석기(1420)가 준비될 때까지 세그먼트 버퍼에 저장될 수 있다. 세그먼트 분석기(1420)는 ISOBMFF에 따라 상기 DASH 세그먼트들을 분석하여 액세스 유닛 단위의 미디어 데이터를 출력한다. 액세스 유닛들은 해당하는 디코더들(1440,1445)가 준비될 때까지 해당하는 디코더 버퍼들(1430,1435)에 저장된다. 디코더들(1440,1445)은 액세스 유닛들을 디코딩하여 미디어 데이터를 출력한다.
ISOBMFF는 비디오와 오디오 등과 같은 시간 기반(time-based) 멀티미디어 파일의 일반적인 형태를 정의한다. ISOBMFF를 따르는 파일은 박스라 불리우는 일련의 오브젝트들로 구성되며, 각각의 박스들은 미디어 데이터 혹은 메타데이터를 포함한다. 세그먼트 분석기(1420)가 상기 수신된 DASH 세그먼트들에서 미디어 데이터를 추출하기 위해서는 메타데이터의 해석이 선행되어야 하며, 상기 메타데이터는 박스 단위로 처리된다. 따라서 세그먼트 분석기(1420)의 입력이 박스 단위 혹은 액세스 유닛의 단위로 구성될 때, 세그먼트 분석기(1420)는 추가적인 지연시간 없이 미디어 데이터를 디코더 버퍼(1430,1435)로 출력할 수 있다. 이를 위하여 역패킷화기(1410)는 패킷 버퍼(1405)에 저장된 데이터를 박스 단위 혹은 액세스 유닛의 단위로 세그먼트 분석기(1420)에게 전달한다.
추가적으로 수신기(1400)는 시그널링 디코더(1425)를 더 포함한다. 시그널링 디코더(1425)는 역패킷화기(1410)로부터 제공된 제어 정보(혹은 시그널링 정보)를 디코딩하여 필요한 정보를 역패킷화기(1410) 및 다른 개체들에게 제공할 수 있다. 상기 제어 정보는 일 예로 각 패킷의 패킷 헤더로부터 획득될 수 있다.
ROUTE 프로토콜에서 기본 전송 단위로 사용되는 LCT 패킷의 포맷은 도 6에 도시한 바와 같다. 패킷 버퍼의 데이터 단위와 패킷 간의 매핑을 정의하기 위한 시그널링 정보를 전달하기 위하여, 일 실시예로서 도 6에 도시된 LCT 패킷의 패킷 헤더 중에서 PSI 필드(601), Res 필드(603) 혹은 확장 헤더(610)가 사용될 수 있다.
도 15a 및 도 15b는 LCT 패킷 헤더의 확장 헤더의 예시들을 도시한 도면이다.
도 15a를 참조하면, 확장 헤더(1500a)는 확장 헤더 타입(HET) 필드(1510)와 확장 헤더 길이(HEL) 필드(1520) 및 확장 헤더 콘텐트(header extensions content: HEC)(1530)를 포함할 수 있다. HET 필드(1510)는 확장 헤더(1500a)의 타입을 지시하며, HEL 필드(1520)는 확장 헤더(1500a) 전체의 길이를 32비트 워드의 배수로 지시한다.
도 15b를 참조하면, 확장 헤더(1500b)는 확장 헤더 타입(HET) 필드(1540)와 확장 헤더 콘텐트(HEC)(1545)를 포함할 수 있다. HET 필드(1540)는 확장 헤더(1500b)의 타입을 지시한다.
패킷 버퍼의 데이터 단위와 패킷 간의 매핑을 정의하기 위한 시그널링 정보는 확장 헤더(1500a 혹은 1500b) 내의 확장 헤더 콘텐트(1530 혹은 1545) 내에 포함될 수 있다.
일 실시예로서 송신기가 미디어 인지(media-aware) 패킷화(packetization)을 수행할 경우 LCT 패킷의 페이로드와 데이터 단위 간의 상관관계는 다음 중 하나가 될 수 있다.
a. 하나의 LCT 패킷의 페이로드가 하나 이상의 온전한 데이터 단위를 포함한다.
b. 하나의 LCT 패킷의 페이로드가 하나의 데이터 단위의 일부를 포함한다.
이하에서는 설명의 편이를 위하여 하나의 데이터 단위를 포함하는 LCT 패킷들은 연속적으로 전송된다고 가정한다.
송신기는 다음의 2개의 필드를 패킷 헤더에 포함할 수 있다.
- 시작(Start: S) 필드(1 bits): 패킷 페이로드의 첫 번째 바이트가 데이터 단위의 첫 번째 바이트에 해당할 경우에 1의 값을 가지며 그렇지 않으며 0의 값을 가짐
- 종료(End: E) 필드(1 bits): 패킷 페이로드의 마지막 바이트가 데이터 단위의 마지막 바이트에 해당할 경우에 1의 값을 가지며 그렇지 않으며 0의 값을 가짐
일 실시예로서 상기 2개의 필드는 도 6에 나타낸 PSI 필드(601) 혹은 Res 필드(603)를 통하여 전송될 수 있다. 다른 실시예로서 상기 2개의 필드는 도 15a 혹은 도 15b에 나타낸 확장 헤더(1530,1545)에 포함될 수 있다.
패킷 페이로드와 데이터 단위와의 상관관계는 상기 2개의 필드를 사용하여 다음과 같이 정의된다.
- S=0 & E=0: 패킷 페이로드가 하나의 데이터 단위의 일부를 포함하고 있음
- S=1 & E=0: 패킷 페이로드가 하나의 데이터 단위의 첫번째 바이트를 포함하는 일부를 포함하고 있음
- S=0 & E=1: 패킷 페이로드가 하나의 데이터 단위의 마지막 바이트를 포함하는 일부를 포함하고 있음
- S=1 & E=1: 패킷 페이로드가 하나 이상의 데이터 단위의 전체를 포함하고 있음
도 16은 본 발명의 일 실시예에 따른 시작 및 종료필드들을 이용한 패킷 전송 절차의 예를 나타낸 도면이다.
도 16을 참조하면, 오브젝트(1600)는 복수의 박스들(1610,1620,1630a/b/c)로 구성되며, 상기 박스들(1610,1620,1630a/b/c)은 수신기의 패킷 버퍼에서 패킷 출력을 위한 데이터 단위에 대응한다. 오브젝트(1600) 내의 i번째 데이터 단위를 OUi라 하면, 크기가 작은 4개의 박스들에 대응하는 OU1, OU2, OU3, OU4를 포함하는 세트(1610)는 하나의 패킷(1615)을 통하여 전송되며, 하나의 박스에 대응하는 OU5(1620)는 1개의 패킷(1625)를 통해 전송되고, 하나의 박스에 대응하는 OU6(1630a,1630b,1630c)는 3개의 패킷들(1635a,1635b,1635c)을 통하여 전송된다.
따라서 첫 번째 패킷(1615)은 패킷 헤더 내에 S=1 & E=1을 포함하고, 두 번째 패킷(1625)은 패킷 헤더 내에 S=1 & E=1을 포함한다. 또한 세 번째 패킷(1635a)은 패킷 헤더 내에 S=1 & E=0, 네 번째 패킷(1635b)은 패킷 헤더 내에 S=0 & E=0, 다섯 번째 패킷(1635c)은 패킷 헤더 내에 S=0 & E=1을 포함한다.
도 17은 본 발명의 일 실시예에 따라 데이터 단위에 대한 시그널링 정보를 포함하는 패킷을 송신하는 절차를 도시한 흐름도이다.
도 17을 참조하면, 과정 1705에서 송신기는 미디어 콘텐트(일 예로서 DASH 콘텐트)를 입력받으며, 과정 1710에서 상기 DASH 콘텐트를 기반으로 초기화 세그먼트 및 미디어 세그먼트들(일 예로서 DASH 세그먼트들)을 생성한다. 과정 1715에서 송신기는 송신될 페이로드 데이터에 관련된 헤더 정보를 생성한다. 이때 상기 헤더 정보는 패킷 내에 포함되는 페이로드 데이터와 데이터 단위의 상관관계를 지시하는 시그널링 정보를 포함할 수 있다. 상기 시그널링 정보는 일 예로 패킷 헤더의 PSI 필드(601) 혹은 Res 필드(603)에 삽입될 수 있는 S 필드 및 E 필드를 포함한다.
과정 1720에서 송신기는 DASH 세그먼트들 및 상기 헤더 정보를 기반으로 전송 패킷(일 예로서 LCT 패킷)을 생성한다. 상기 LCT 패킷은 패킷 헤더 내에 상기 시그널링 정보를 포함할 수 있다. 과정 1725에서 상기 LCT 패킷은 해당 전송 프로토콜, 일 예로서 ROUTE 프로토콜을 사용하여 수신기로 전송된다.
도 18은 본 발명의 일 실시예에 따라 데이터 단위에 대한 시그널링 정보를 포함하는 패킷을 수신하는 절차를 도시한 흐름도이다.
도 18을 참조하면, 과정 1805에서 수신기는 전송 프로토콜(일 예로서 ROUTE 프로토콜)에 기반한 전송 패킷(일 예로서 LCT 패킷)을 수신하고, 과정 1810에서 상기 LCT 패킷을 분해(즉 역패킷화)한다. 과정 1815에서 수신기는 상기 분해를 통해 획득한 헤더 정보를 분석한다. 상기 헤더 정보는 상기 LCT 패킷에 의해 운반되는 페이로드 데이터와 데이터 단위의 상관관계에 관련된 시그널링 정보를 포함한다. 상기 시그널링 정보는 일 예로 패킷 헤더의 PSI 필드(601) 혹은 Res 필드(603)에 삽입될 수 있는 S 필드 및 E 필드를 포함한다.
과정 1820에서 수신기는 상기 패킷 헤더 내의 시그널링 정보에 근거하여 상기 LCT 패킷의 처리를 결정한다. 도 16의 예를 참조하여 수신기의 상세한 절차를 설명하면 하기와 같다.
수신기는 첫 번째 패킷(1615)을 수신하고, 패킷 헤더의 S, E 필드들에 근거하여 상기 첫 번째 패킷(1615)이 하나 이상의 온전한 데이터 단위(1610)를 포함하고 있음을 식별한다. 따라서 수신기는 상기 첫 번째 패킷(1615)의 페이로드 데이터를 바로 출력, 즉 세그먼트 분석기(1420)로 전달한다. 두 번째 패킷(1625)을 수신하였을 경우에도 마찬가지로 수신기는 패킷 헤더의 S, E 필드들에 근거하여 상기 두 번째 패킷(1625)이 하나 이상의 온전한 데이터 단위(1620)를 포함하고 있음을 식별하고, 상기 두 번째 패킷(1625)의 페이로드 데이터를 바로 세그먼트 분석기(1420)로 전달한다.
세 번째 패킷(1635a)을 수신하였을 경우 수신기는 패킷 헤더의 S, E 필드들에 근거하여 상기 세 번째 패킷(1635a)의 페이로드가 데이터 단위의 시작부분을 포함하는 일부(1630a)를 포함함을 식별한다. 이 경우 수신기는 상기 세 번째 패킷(1635a)의 페이로드 데이터를 세그먼트 분석기(1420)로 바로 전달하지 않고 패킷 버퍼(1405)에 저장한다.
네 번째 패킷(1635b)을 수신하였을 경우 수신기는 패킷 헤더의 S, E 필드들에 근거하여 상기 네 번째 패킷(1635b)의 페이로드가 데이터 단위의 마지막을 포함하고 있지 않고 않음을 식별하고, 상기 네 번째 패킷(1635b)의 페이로드 데이터를 이전 패킷(1635a)의 페이로드와 함께 저장한다. 다섯 번째 패킷(1635c)을 수신하였을 경우 수신기는 패킷 헤더의 S, E 필드들에 근거하여 상기 다섯 번째 패킷(1635c)의 페이로드가 데이터 단위의 마지막 부분(1630c)을 포함하고 있음을 식별하고, 기 저장되었던 세번째 및 네번째 패킷(1635a,1635c)의 페이로드 데이터와 상기 다섯 번째 패킷(1635c)의 페이로드 데이터를 패킷 버퍼(1405)로부터 출력하여 세그먼트 분석기(1420)로 전달한다.
보다 일반화하여 설명하면 페이로드 데이터와 데이터 단위의 상관관계를 나타내는 S, E 필드들에 따른 수신기의 동작은 다음과 같다.
i) S=0 & E=0: 페이로드 전체를 버퍼에 저장함
ii) S=1 & E=0: 페이로드 전체를 버퍼에 저장함
iii) S=0 & E=1: 버퍼에 저장되었던 데이터와 페이로드들을 출력함
iv) S=1 & E=1: 페이로드 전체를 출력함
일 실시예로서 수신기는 세그먼트 분석기(1420)로 데이터를 출력하기 이전에 일정 정도의 지연을 적용할 수 있다.
패킷 출력을 위한 데이터 단위는 세그먼트 분석기(1420)의 입력 단위가 된다. 세그먼트 분석기(1420)의 입력 단위가 세그먼트 분석기(1420)의 처리단위와 일치하므로, 과정 1825에서 세그먼트 분석기(1420)는 추가적인 지연시간 없이 입력 데이터를 처리하여 미디어 데이터를 디코더 버퍼(1430,1435)로 출력할 수 있게 된다.
과정 1830에서 디코더(1440,1445)는 디코더 버퍼(1430,1435)에 저장된 미디어 데이터의 양을 별도의 시그널링을 통하여 전달받은 초기 버퍼링 필요량과 비교하여, 저장된 미디어 데이터의 양이 상기 초기 버퍼링 필요량보다 크거나 같다면 충분한 미디어 데이터가 버퍼링 되었다고 판단하면 디코딩을 시작한다. 여기서 상기 초기 버퍼링 필요량은 일 예로서 MPD 내의 MPD@minBufferTime(MBT) 속성 및 Represntation@bandwidth(BW) 속성을 통해 수신기로 전달될 수 있다.
본 발명의 다른 실시예로 상기 S 필드는 생략 될 수 있다.
하기에서는 본 발명의 일 실시예로 송신기가 미디어 인지(media-aware) 패킷화(packetization)를 수행하지 않을 경우 빠른 디코딩을 지원하기 위한 송신기와 수신기의 동작을 설명한다.
송신기는 다음의 2개의 필드를 각 LCT 패킷의 패킷 헤더에 포함한다.
- S (1 bits): 패킷 페이로드가 데이터 단위의 첫 번째 바이트를 포함할 경우에 1의 값을 가지며 그렇지 않으며 0의 값을 가짐
- E (1 bits): 패킷 페이로드가 데이터 단위의 마지막 바이트를 포함할 경우에 1의 값을 가지며 그렇지 않으며 0의 값을 가짐
일 실시예로서 상기 2개의 필드는 도 6에 나타낸 PSI 필드(601) 혹은 Res 필드(603)를 통하여 전송될 수 있다. 다른 실시예로서 상기 2개의 필드는 도 15a 혹은 도 15b에 나타낸 확장 헤더(1530,1545)에 포함될 수 있다.
수신기는 E 필드가 1로 설정된 LCT 패킷을 수신하였을 경우에, 버퍼링된 하나 이상의 데이터 단위를 출력할 수 있다.
패킷 페이로드와 데이터 단위와의 상관관계는 상기 2개의 필드를 사용하여 다음과 같이 정의된다.
- S=0 & E=0: 패킷 페이로드가 하나의 데이터 단위의 일부를 포함하고 있음
- S=1 & E=0: 패킷 페이로드가 하나의 데이터 단위의 첫번째 바이트를 포함하는 일부를 포함하고 있음
- S=0 & E=1: 패킷 페이로드가 하나의 데이터 단위의 마지막 바이트를 포함하는 일부를 포함하고 있음
- S=1 & E=1: 패킷 페이로드가 하나 이상의 데이터 단위의 전체 혹은 일부를 포함하고 있음
본 발명의 일 실시예로서, S=1 & E=1 일 경우에 LCT 패킷은 해당 패킷의 페이로드에 포함된 각 데이터 단위의 위치 혹은 바운더리를 지시하는 정보를 포함할 수 있다. 상기 위치를 지시하는 정보는 일 실시예로서 도 15a 혹은 도 15b에 나타낸 LCT 패킷의 확장 헤더(1530,1545)에 포함될 수 있다.
도 19는 본 발명의 일 실시예에 따라 패킷 버퍼의 출력을 위한 데이터 단위를 구분하는 정보를 포함하는 확장 헤더의 포맷을 도시한 것이다.
도 19를 참조하면, 확장 헤더(1900)는 HET 필드(1910)와 처음 시작 위치(first start position) 필드(1920) 및 마지막 종료 위치(last end position) 필드(1930)를 포함한다.
HET 필드(1910)는 8 비트로서 128 ~ 255 사이의 값을 가지며, 확장 헤더(1900)의 타입을 지시한다.
처음 시작 위치 필드(1920)는 패킷 페이로드 내 시작 바이트가 포함된 데이터 단위 중 첫 번째 데이터 단위의 시작 바이트의 오브젝트 내에서의 위치를 나타낸다.
마지막 종료 위치 필드(1930)는 패킷 페이로드 내 마지막 바이트가 포함된 데이터 단위 중 마지막 데이터 단위의 마지막 바이트의 오브젝트 내에서의 위치를 나타낸다.
일 실시예로서 상기 위치 필드들(1920,1930)은 오브젝트의 시작이 아닌 패킷 페이로드의 첫 번째 바이트를 기준으로 표시될 수 있다.
도 20은 본 발명의 일 실시예에 따른 시작 및 종료 위치 필드들을 이용한 패킷 전송 절차의 예를 나타낸 도면이다.
도 20을 참조하면, 오브젝트(2000)는 복수의 박스들(2010,2020,2030,2040)로 구성되며 상기 박스들(2010,2020,2030,2040)은 수신기의 패킷 버퍼에서 패킷 출력을 위한 데이터 단위에 대응한다. 오브젝트(2000) 내의 i번째 데이터 단위를 OUi라 하면, 각 OU의 크기는 다음과 같다. 즉 OU1(2010)의 크기는 600 bytes이고, OU2(2020)의 크기는 300 bytes이고, OU3(2030)의 크기는 100 bytes이고, OU4(2040)의 크기는 100 bytes이고, OU5(2050)의 크기는 500 bytes이다. LCT 패킷들(2015,2025,2035,2045)의 패킷 페이로드들에는 오브젝트(2000) 중 400 bytes의 데이터가 순차적으로 할당된다.
첫 번째 패킷(2015)은 OU1(2010)의 처음 400 bytes를 패킷 페이로드 내에 포함하고 패킷 헤더 내에 S=1 & E=0을 포함한다. 두 번째 패킷(2025)은 OU1(2010)의 마지막 200 bytes와 OU2(2020)의 처음 200 bytes를 패킷 페이로드 내에 포함하고 패킷 헤더 내에 S=1 & E=1을 포함한다. 세 번째 패킷(2035)은 OU2(2020)의 마지막 100 bytes와 OU3,OU4(2030,2040) 및 OU5(2050)의 처음 100 bytes를 패킷 페이로드 내에 포함하고 패킷 헤더 내에 S=1 & E=1을 포함한다. 네 번째 패킷(2045)는 OU5(2050)의 마지막 400 bytes를 패킷 페이로드 내에 포함하고 패킷 헤더 내에 S=0, E=1을 포함한다.
상기 패킷들(2015,2025,2035,2045)을 수신한 수신기는 S 및 E 필드들의 값에 따라 하기와 같이 상기 패킷들(2015,2025,2035,2045)을 처리한다.
- S=0 & E=0: 패킷 페이로드의 전체를 패킷 버퍼에 저장함
- S=1 & E=0: 패킷 페이로드의 전체를 패킷 버퍼에 저장함
- S=0 & E=1: 버퍼링된 데이터와 현재 패킷의 패킷 페이로드 전체를 패킷 버퍼로부터 세그먼트 분석기로 출력함
- S=1 & E=1: 버퍼링된 데이터와, 현재 패킷의 패킷 페이로드 중 처음 시작 위치 이전까지의 데이터를 패킷 버퍼로부터 세그먼트 분석기로 출력함. 또한 현재 패킷의 패킷 페이로드 중 처음 시작 위치부터 마지막 종료 위치까지의 데이터를 세그먼트 분석기로 출력하고, 마지막 종료 위치 다음부터 패킷 페이로드의 마지막까지의 데이터를 패킷 버퍼에 저장함. 여기서 처음 시작 위치와 마지막 종료 위치는 현재 패킷의 확장 헤더 내에 포함되는 처음 시작 위치 필드 및 마지막 종료 위치 필드에 의해 각각 지시될 수 있다.
일 실시예로서 수신기는 세그먼트 분석기로 데이터를 출력하기 이전에 일정 정도의 지연을 적용할 수 있다.
이상과 같은 동작을 통해 세그먼트 분석기는 자신의 처리단위와 일치하는 데이터 단위의 데이터를 입력받게 되며, 따라서 세그먼트 분석기는 추가적인 지연시간 없이 입력 데이터를 처리하여 미디어 데이터를 디코더 버퍼로 출력할 수 있다.
일 실시예로서 이상의 실시예들 중 패킷 헤더 내의 S 필드는 생략될 수 있다.
도 21a는 본 발명의 일 실시예에 따라 패킷 헤더 내에 S 필드가 생략되는 경우 확장 헤더에 포함되는 정보를 도시한 것이다.
도 21a를 참조하면, 확장 헤더는 HET 필드와 마지막 종료 위치 필드(2110)를 포함한다. 마지막 종료 위치 필드(2110)에 대한 설명은 앞서 언급된 바와 같다.
일 실시예로서 송신기는 미디어 인지 패킷화를 선택적으로 수행할 수 있으며, 별도의 시그널링 필드를 사용하여 송신기가 미디어 인지 패킷화를 수행하는지 여부를 수신기에게 알려줄 수 있다.
일 실시예로서 송신기는 미디어 인지 패킷화를 수행하는 경우 확장 헤더에 위치 필드들을 포함시키지 않으며, 미디어 인지 패킷화를 수행하지 않는 경우 확장 헤더에 위치 필드들을 포함시킬 수 있으며, 수신기는 확장 헤더 내에 위치 필드들이 존재하는 경우 송신기가 미디어 인지 패킷화를 수행한 것으로 판단할 수 있다.
일 실시예로서 송신기는 패킷 헤더 대신 확장 헤더 내에 시작(S) 및 종료(E) 필드들을 포함시킬 수 있다.
도 21b는 본 발명의 일 실시예에 따라 시작 및 종료 필드들을 포함하는 고정 길이의 확장 헤더의 포맷을 도시한 것이다.
도 21b를 참조하면, 확장 헤더는 HET 필드와 S 필드(2115)와 E 필드(2120)와 처음 시작 위치 필드(2125)와 마지막 종료 위치 필드(2130)를 포함한다. 상기 필드들(2115,2120,2125,2130)에 대한 설명은 앞서 언급된 바와 같다.
도 21c는 본 발명의 일 실시예에 따라 시작 및 종료 필드들을 포함하는 가변 길이의 확장 헤더의 포맷을 도시한 것이다.
도 21c를 참조하면, 확장 헤더는 HET 필드와 HEL 필드(2135)와 S 필드(2140)와 E 필드(2145)와 처음 시작 위치 필드(2150)와 마지막 종료 위치 필드(2155)를 포함한다. 상기 필드들(2140,2145,2150,2155)에 대한 설명은 앞서 언급된 바와 같다.
도 21b 및 도 21c에 나타낸 확장 헤더들에서 S 필드(2115,2140)와 처음 시작 위치 필드(2125,2150)는 생략될 수 있다.
일 실시예로서 송신기는 패킷 페이로드가 데이터 단위의 마지막 바이트를 포함할 경우에만 도 21d와 같이 구성되는 확장 헤더를 패킷에 포함하여 전송할 수 있다.
도 21d를 참조하면, 확장 헤더는 HET 필드와 마지막 종료 위치 필드(2160)를 포함한다. 상기 필드(2160)에 대한 설명은 앞서 언급된 바와 같다.
이상과 같이 본 발명의 실시예들에서는 LCT 패킷의 패킷 헤더 내에 세그먼트 분석기가 해석할 수 있는 데이터 유닛의 바운더리에 대한 정보를 포함시킴으로써, 수신기가 DASH 세그먼트의 일부를 세그먼트 파서로 입력하도록 한다. 이로써 서비스 초기 접속 시간 및 채널 전환 시간이 줄어드는 효과를 얻을 수 있다.
디코딩 이전에 버퍼에 저장해야 하는 파일 데이터의 양(즉 초기 버퍼링 필요량)은 미디어 콘텐트의 인코딩 및 네트워크의 상황과 관련이 있다.
일 실시예로서 ISOBMFF 규격(일 예로서 ISO/IEC 14496-12:2012(E))에 따르는 송신기에서 사용하는 ISO 파일의 포맷은 도 1b에 도시한 바와 같다. 송신기는 도 1b에 도시한 바와 같은 파일에 pdin 박스(progressive download information box)를 포함시킴으로써 초기 버퍼링에 관련된 정보를 전달할 수 있다.
pdin 박스는 ISO 파일의 프로그레시브 다운로드를 지원(aid)한다. 상기 박스는 유효한 파일 다운로드 비트레이트(effective download bitrate)와 제안된 초기 플레이백 지연(suggested initial playback delay)의 조합들(combinations)을 포함한다. Pdin 박스는 ISO 파일 내에서 가능한 한 앞에 배치될 수 있다.
하기는 pdin 박스의 구문(syntax)을 나타낸 것이다.
Aligned(8) class ProgressiveDownloadInfoBox
extends FullBox('pdin', version = 0, 0) {
for (i=0; ; i++) { //to end of box
unsigned int(32) rate;
unsigned int(32) initial_delay;
}
}
여기서 rate 필드는 bytes/second 단위로 표현되는 다운로드 레이트를 의미하고, intial_delay 필드는 파일을 재생할 때 사용되는 제안된 지연(the suggested delay to use when playing the file)을 의미한다. 즉 pdin 박스에 의해 주어지는 다운로드 레이트로 다운로드가 계속될 경우 파일 내의 모든 데이터가 사용 시간 내에 수신될 수 있으며 플레이백은 중단되지 않는다.
하지만 pdin 박스는 파일에 포함되지 않을 수도 있으며, 포함되더라도 수신기는 파일을 분석(Parsing)한 이후에야 pdin 박스 내의 값들을 알 수 있다. 또한 세그먼트 분석기의 입력은 DASH 세그먼트의 단위이므로 pdin 박스에서 제안하는 초기 지연(initial delay: ID)에 비하여 실제 초기 지연이 증가하게 된다.
또한 수신기에서 안정적인 서비스 재생을 위하여 필요한 초기 지연은 파일의 전송 레이트를 고려하여 설정된다. 예를 들어 전송 레이트가 500 kbytes/sec로 유지된다는 가정하에서 1초간 파일이 수신된 이후에 수신기가 세그먼트 분석을 시작하면 파일에 포함되는 미디어 데이터가 끊김없이 재생 될 수 있다. 하지만 상기 초기 지연은 파일에 포함된 미디어의 특성 및 인터넷 다운로드 환경을 고려한 값으로서, 방송 환경에 바로 적용하기 어렵다.
후술되는 실시예에서는 다운로드 레이트가 R로 유지된다는 가정하에서 수신기가 ID초간 파일을 받은 이후에 세그먼트 분석을 시작하면 미디어 데이터가 끊김없이 재생될 수 있도록 하기 위한 시그널링 정보를 제공한다. 상기 시그널링 정보는 별도의 시그널링을 통하여 전달된다. 일 예로 상기 시그널링 정보는 ROUTE 프로토콜의 LSID에 포함되는 소스 플로우 엘리먼트(Source Flow element)를 통해 전송된다. 상기 시그널링 정보는 LSID의 속성들 @transferRate 및 @minBufferTime를 포함할 수 있다. LSID의 소스 플로우 엘리먼트에 포함되는 상기 속성들은 SourceFlow@transferRate 및 SourceFlow@minBufferTime이라 칭한다.
방송 시스템에서는 채널 전환 시간의 단축을 위하여 시그널링 정보 및 초기화 세그먼트가 반복적으로 전송된다. 초기화 세그먼트는 초기 시그널링 정보로 간주되므로, MPD와 함께 미디어 세그먼트들과는 별도의 세션을 통해 전송되거나, 혹은 미디어 세그먼트들과 동일한 세선을 통해 전송될 수 있다.
이하에서는 일 실시예로서 초기화 세그먼트가 미디어 세그먼트들과 동일한 세션의 소스 플로우를 통해 전송되는 경우를 설명한다. 따라서 SourceFlow@transferRate 및 SourceFlow@minBufferTime는 초기화 세그먼트와 미디어 세그먼트들을 모두 고려하여 설정된다.
설명의 편이를 위하여 미디어 세그먼트들의 전송 레이트와 초기화 세그먼트의 전송 레이트를 SourceFlow@transferRate = R이라 한다. 상기 R은 초기화 세그먼트의 크기 및 반복 전송 주기를 모두 고려하여 계산된다. 수신기가 수신되는 파일 중 R*ID 만큼의 데이터를 저장한 이후에 세그먼트 분석 및 디코딩을 시작하면, 미디어 데이터는 끊김없이 재생 될 수 있다. 여기서 SourceFlow@minBufferTime은 ID와 동일하다.
이를 위해 수신기는 초기화 세그먼트의 첫 번째 패킷을 수신한 시간부터 ID 이후까지의 시간 동안 수신된 패킷들을 모아(즉 버퍼링하였다가) 세그먼트 분석기로 전달한다.
이하에서는 일 실시예로서 초기화 세그먼트가 미디어 세그먼트들과는 다른 세션의 소스 플로우를 통해 전송되거나 혹은 시그널링 정보의 형태로 전송되는 경우를 설명한다. 초기화 세그먼트는 재생할 미디어 세그먼트들이 수신되기 이전에 수신기로 수신될 수 있다. 이 때 미디어 세그먼트들이 전송되는 소스 플로우의 LSID에 포함되는 속성들인 SourceFlow@transferRate 및 SourceFlow@minBufferTime는 초기화 세그먼트와 미디어 세그먼트들을 모두 고려하여 설정된다.
설명의 편이를 위하여 미디어 세그먼트들의 전송 레이트를 SourceFlow@transferRate = R이라고 한다. 수신기가 수신되는 파일 중 R*ID 만큼의 데이터를 저장한 이후에 세그먼트 분석 및 디코딩을 시작하면, 미디어 데이터는 끊김없이 재생될 수 있다.
여기서 초기화 세그먼트의 크기를 IS라 하면, 송신기에 의해 설정되는 SourceFlow@minBufferTime은 다음과 같이 계산된다.
SourceFlow@minBufferTime = (R*ID - IS)/R
즉 수신기는 미디어 세그먼트들의 첫 번째 패킷을 수신한 시간부터 (R*ID - IS)/R 이후까지의 시간 동안 수신된 패킷들을 모아(즉 버퍼링하였다가) 세그먼트 분석기로 전달한다.
최근 방송 서비스와 통신 서비스를 융합하는 서비스가 개발됨에 따라, 방송 네트워크에 인터넷 또는 다른 네트워크를 결합하는 하이브리드 네트워크 환경에서 다양한 단말 및 가변하는 채널 환경에 적응적으로 최적의 서비스를 제공하기 위한 기술이 요구되고 있다. 하이브리드 무선 네트워크에서는 서로 다른 네트워크들 간에 네트워크 전환이 필요한 상태에서 끊김 없는 방송 서비스를 제공하는 것이 매우 중요하다.
예를 들어, 단말이 방송 네트워크를 통해 미디어 서비스를 수신하는 도중 인터넷과 같은 광대역 네트워크에 연결하게 되는 경우, 인터넷을 통해 전송되는 신호가 방송 네트워크를 통해 전송되는 신호에 비해 신호 세기가 작으면 단말은 인터넷을 통해 미디어 서비스를 수신하게 된다. 또는 단말이 방송 네트워크를 통해 야구 경기에 관한 방송 서비스 신호를 수신하는 도중에 방송 네트워크에 예약된 중계 일정 시간이 경과하는 경우 방송 서비스 사업자는 인터넷을 통해 야구 경기를 계속 서비스할 수 있으며, 단말은 야구 경기에 관한 방송 서비스를 계속 수신하고자 할 경우에는 방송 네트워크에서 인터넷으로의 전환이 필요하다. 또는 방송 네트워크를 통해 접속하는 단말들의 수가 비교적 적은 제1 방송 서비스와 인터넷을 통해 접속하는 단말들의 수가 비교적 많은 제2 방송 서비스가 있을 때, 방송 사업자는 접속하는 단말들의 수가 적은 방송 서비스를 인터넷으로 서비스하고, 접속하는 단말들의 수가 많은 방송 서비스를 방송 네트워크로 서비스하는 것이 효율적이다.
상기와 같은 여러 상황들에서와 같이 단말이 미디어 서비스를 수신하는 도중에 방송 네트워크에서 인터넷으로 전환하게 되는 경우, 인터넷은 방송 네트워크에 비해 비교적 전송 환경이 불안정하기 때문에 서비스 품질 저하가 발생할 수 있다. 따라서 하이브리드 무선 네트워크에서 서로 다른 네트워크들 간에 네트워크 전환이 필요한 상태에서 단말이 미디어 서비스를 끊김 없이 수신하도록 하기 위한 기술이 필요하다.
이에 따라 후술되는 실시예에서는 하이브리드 무선 네트워크에서 서로 다른 네트워크들 간에 네트워크 전환이 필요한 상태에서 단말이 미디어 서비스를 끊김 없이 수신하도록 하기 위해 필요한 제어 정보를 제공한다.
도 22는 본 발명의 일 실시예에 따른 제어 정보 송수신을 위한 시스템 구조를 도시한 것이다.
도 22를 참조하면, 시스템은 방송용 콘텐트 서버(2200), 인터넷용 콘텐트 서버(2220), 방송 수신 단말(2230)을 포함한다. 방송 수신 단말(2230)은 단말 제어부(2245), 미디어 재생부(2250), MPD 분석부(2240), 버퍼(2255), 수신 패킷 분석부(2235)를 포함한다. 방송 수신 단말(2230)은 방송 네트워크를 통해 방송용 콘텐트 서버(2200)에 접속하고, 및/또는 인터넷과 같은 광대역 네트워크를 통해 인터넷용 콘텐트 서버(2220)에 접속할 수 있다.
방송 수신 단말(이하 단말)(2230)이 방송 네트워크를 통해 미디어 서비스를 수신하기 위해서는 방송 네트워크 상의 URL 정보(이하 방송용 URL 정보라 칭함)를 필요로 한다. 상기 미디어 서비스가 ROUTE/DASH에 기반한 전송을 사용하는 경우 상기 방송용 URL 정보는 MPD로부터 획득될 수 있다. 따라서 단말(2230)은 방송용 콘텐트 서버(2200)로부터 상기 미디어 서비스를 위한 방송용 URL 정보를 포함하는 MPD를 획득하고, 상기 방송용 URL 정보에 의해 지시되는 위치에 저장된 미디어 스트림(2210)을 수신한다.
단말(2230)이 상기 미디어 스트림(2210)을 수신하는 도중에 인터넷으로의 전환이 필요함을 확인한 경우, 단말 제어부(2245)는 방송용 콘텐트 서버(2200)에게 상기 미디어 서비스에 대한 인터넷 상의 위치를 지시하는 인터넷용 URL 정보가 포함된 새로운 MPD를 요청한다. 그러면 방송용 콘텐트 서버(2200)는 단말(2230)에 의해 요청된 인터넷용 URL 정보가 포함된 새로운 MPD 또는 갱신된 MPD(2205)을 단말(2230)에게 전송한다. 단말(2230)은 상기 새로운/갱신된 MPD(2205)로부터 상기 미디어 서비스에 대한 인터넷용 URL 정보를 획득하고, 상기 인터넷용 URL 정보를 토대로 인터넷용 콘텐트 서버(2220)에게 상기 미디어 서비스에 대한 요청(2260)을 전송하며, 인터넷용 콘텐트 서버(2220)로부터 상기 미디어 서비스에 대한 미디어 스트림(2225)를 수신한다. 이로써 단말(2230)은 방송 네트워크로부터 인터넷으로 전환하면서 상기 미디어 서비스를 끊김없이 수신할 수 있다.
단말(2230)의 수신 패킷 분석부(2235)는 방송용 콘텐트 서버(2200) 또는 인터넷용 콘텐트 서버(2220)로부터 수신한 패킷로부터 MPD와 미디어 스트림을 추출하여 각각 MPD 분석부(2240)와 버퍼(2255)로 전달한다. MPD 분석부(2240)는 상기 MPD로부터 URL 정보, 버퍼 최소 대기 시간, 버퍼 접근 가능 시간과 같은 정보를 추출하여 단말 제어부(2245)로 전달하며, 단말 제어부(2245)는 상기 전달받은 정보들을 토대로 미디어 재생부(2250)를 제어한다. 미디어 재생부(2250)는 상기 버퍼 최소 대기 시간 또는 상기 버퍼 접근 가능 시간을 토대로, 버퍼(2255)에 저장된 미디어 스트림을 읽어 들여 미디어를 재생한다.
그런데 인터넷의 통신 환경이 방송 네트워크의 통신 환경보다 좋지 않은 경우 단말(2230)이 방송 네트워크에서 인터넷으로 전환하는 시점에서 방송 네트워크의 MPD로부터 획득한 버퍼 최소 대기 시간 또는 버퍼 접근 가능 시간을 토대로 버퍼(2255)를 관리하게 되면 방송 네트워크와 인터넷의 패킷 전송 속도 차이에 의해 미디어 재생 시에 끊김 현상이 발생할 수 있다. 단말(2230)은 방송 네트워크에서 인터넷으로 전환하는 시점에 인터넷용 URL을 포함하는 MPD를 포함하는 패킷을 수신하고 상기 MPD를 분석함으로써 미디어 재생에 필요한 관련 정보를 획득할 수 있다. 그런데 MPD는 미디어 재생과 관련된 많은 정보를 포함하고 있으므로 MPD를 자주 전송하게 되면 정보 전송량이 증가하게 된다.
이에 따라 후술되는 실시예에서는 네트워크의 전송량을 크게 증가시키지 않으면서 네트워크 전환시 단말의 끊김없는 서비스 재생을 지원하기 위한 기술을 제공한다.
도 23을 본 발명의 일 실시예에 따른 제어 정보 송수신을 위한 시스템 구조를 도시한 것이다.
도 23을 참조하면, 시스템은 방송용 콘텐트 서버(2300), 인터넷용 콘텐트 서버(2320), 방송 수신 단말(2330)을 포함한다. 방송 수신 단말(2330)은 단말 제어부(2345), 미디어 재생부(2350), MPD 분석부(2340), 버퍼(2355), 수신 패킷 분석부(2335) 및 MPD 생성기(2370)를 포함한다. 방송 수신 단말(2330)은 방송 네트워크를 통해 방송용 콘텐트 서버(2300)에 접속하고, 및/또는 인터넷과 같은 광대역 네트워크를 통해 인터넷용 콘텐트 서버(2320)에 접속할 수 있다.
방송 수신 단말(이하 단말)(2330)이 방송 네트워크를 통해 미디어 서비스를 수신하기 위해서는 방송 네트워크 상의 URL 정보(이하 방송용 URL 정보라 칭함)를 필요로 한다. 상기 미디어 서비스가 ROUTE/DASH에 기반한 전송을 사용하는 경우 상기 방송용 URL 정보는 MPD로부터 획득될 수 있다. 따라서 단말(2330)은 방송용 콘텐트 서버(2300)로부터 상기 미디어 서비스를 위한 방송용 URL 정보를 포함하는 MPD를 획득하고, 상기 방송용 URL 정보에 의해 지시되는 위치에 저장된 미디어 스트림(2310)을 수신한다.
단말(2330)이 상기 미디어 스트림(2310)을 수신하는 도중에 인터넷으로의 전환이 필요함을 확인한 경우, 단말 제어부(2345)는 방송용 콘텐트 서버(2300)에게 상기 미디어 서비스에 대한 인터넷 상의 위치를 지시하는 인터넷용 URL 정보가 포함된 새로운 MPD를 요청한다. 그러면 방송용 콘텐트 서버(2300)는 단말(2330)에 의해 요청된 인터넷용 URL이 포함된 새로운 MPD 또는 갱신된 MPD(2305)을 단말(2330)에게 전송한다. 단말(2330)은 상기 새로운/갱신된 MPD(2305)로부터 상기 미디어 서비스에 대한 인터넷용 URL 정보를 획득하고, 상기 인터넷용 URL 정보를 토대로 인터넷용 콘텐트 서버(2320)에게 상기 미디어 서비스에 대한 요청(2360)을 전송하며, 인터넷용 콘텐트 서버(2320)로부터 상기 미디어 서비스에 대한 미디어 스트림(2325)를 수신한다.
단말(2330)의 수신 패킷 분석부(2335)는 방송용 콘텐트 서버(2300) 또는 인터넷용 콘텐트 서버(2320)로부터 수신한 적어도 하나의 패킷로부터 MPD와 미디어 스트림을 추출하여 각각 MPD 분석부(2340)와 버퍼(2355)로 전달한다. MPD 분석부(2340)는 상기 MPD로부터 URL 정보, 버퍼 최소 대기 시간, 버퍼 접근 가능 시간과 같은 정보를 추출하여 단말 제어부(2345)로 전달하며, 단말 제어부(2345)는 상기 전달받은 정보들을 토대로 미디어 재생부(2350)를 제어한다. 미디어 재생부(2350)는 상기 버퍼 최소 대기 시간 또는 상기 버퍼 접근 가능 시간을 토대로, 버퍼(2355)에 저장된 미디어 스트림을 읽어 들여 미디어를 재생한다.
방송 네트워크를 통해 방송 서비스를 수신하는 단말이 방송 네트워크에서 인터넷으로 전환하는 경우, 끊김 없는 미디어 재생을 위해서 단말 제어부(2345)는 수신 패킷량을 기초로 버퍼(2355)의 보유 데이터가 최소 버퍼량 이하로 떨어지지 않도록 유지해야 한다.
이를 위해 방송용 콘텐트 서버(2300)는 단말(2330)의 MPD 생성기(2370)가 자체적인 MPD를 생성할 수 있도록, 네트워크 전환에 활용할 MPD 템플릿을 전송하며, 또한 방송용 콘텐트 서버(2300)는 단말(2330)이 네트워크 상태에 기반하여 버퍼(2355)를 제어하도록 하기 위해 필요한 정보(이하 MPD 생성 정보라 칭함)(2380)를 패킷화하여 단말(2330)에게 전송한다. 방송용 콘텐트 서버(2300)는 단말(2330)의 네트워크 상태에 기반하여 상기 MPD 생성 정보를 생성한다. 이를 위해 상기 MPD 생성 정보는 통상적인 MPD보다 적은 크기를 가질 수 있으며, 또한 보다 빈번하게 전송될 수 있다.
단말(2330)의 수신 패킷 분석부(2335)는 방송용 콘텐트 서버(2300)가 전송하는 MPD 생성 정보(2380)를 포함한 패킷을 추출하여 분석하고, 상기 분석 결과 상기 MPD 생성 정보(2372)를 추출하여 MPD 생성기(2370)로 전달한다. MPD 생성기(2370)는 상기 MPD 생성 정보(2372)를 기반으로 자체적인 MPD(혹은 가상 MPD)(2374)를 생성하고, 상기 생성된 MPD(2374)를 MPD 정보 분석기(2340)로 전달한다. 일 실시예로서 MPD 생성기(2370)는 미리 설정된 MPD 템플릿 또는 이전에 수신한 MPD 템플릿 또는 이전에 수신한 MPD에, 상기 MPD 생성 정보(2372)를 적용함으로써 상기 MPD(2374)를 생성할 수 있다.
MPD 분석부(2340)는 상기 MPD(2374)를 분석하여 인터넷용 URL 정보 및 버퍼 제어와 미디어 재생 관리에 필요한 정보(일 예로 버퍼 최소 대기 시간, 버퍼 접근 가능 시간 등)를 추출하고, 상기 추출된 정보를 단말 제어부(2345)로 전달한다. 그러면 단말 제어부(2345)는 네트워크 상태가 반영된 상기 정보를 바탕으로 미디어 재생부(2350)를 제어하여 미디어를 재생하도록 한다. 즉 미디어 재생부(2350)는 단말 제어부(2345)에 의해 제공된 버퍼 최소 대기 시간 또는 버퍼 접근 가능 시간을 토대로, 버퍼(2355)에 저장된 미디어 스트림을 읽어 들여 미디어를 재생한다.
단말(2330)에서 자체적인 MPD를 생성하기 위해 사용되는 MPD 템플릿은 MPEG DASH에서 정의한 MPD 스키마(schema)가 될 수 있으며, 일 실시예로 방송용 콘텐트 서버(2300)에서 전송하는 패킷을 통해 운반될 수 있다.
일 실시예로서 네트워크 상태에 기반하여 버퍼(2355)를 제어하도록 하기 위해 필요한 MPD 생성 정보는 다음의 <표 4>와 같은 정보들을 포함할 수 있다.
필드명 크기 설명
newURL 255bytes 미디어를 획득할 수 있는 주소 정보
maxE2eDelay 32bits 서버와 단말간의 패킷 전송의 최대 지연 시간
periodStartTime 32bits 현재 전송 중인 MPD@Period의 시작 시간
accessTime 32bits 서버의 DASH@Segment(미디어 데이터)를 접근할 수 있는 시간
minAccessTime 32bits 서버의 DASH@Segment에 관련된 필수 정보에 접근할 수 있는 시간
상기 <표 4>에서 시간 할당을 위한 초기값은 UTC(coordinated universal time) 또는 서버의 STC(system time clock)를 기반으로 하며, STC를 기반으로 하는 경우 방송용 콘텐트 서버(2300)는 단말(2330)에게 STC 관련 정보를 제공한다. 상기 <표 4>에서 표기되는 시간들은 절대 시간 또는 상대 시간으로 명시될 수 있다.
MPD 생성기(2370)은 상기한 바와 같은 MPD 생성 정보를 토대로 MPD를 생성하기 위해, 다음과 같이 MPD에 포함될 값들을 계산할 수 있다.
URL : newURL 값으로 대치한다.
MPD@minBufferTime : MPD@minBufferTime + maxE2eDelay 값으로 변환한다.
PeriodStart : periodStartTime으로 대치한다.
MPD@availabilityStartTime : 단말(2330)의 버퍼 상태 관리에 따라 MPD@availabilityStartTime + maxE2eDelay 값 혹은 accessTime + minAccessTime 혹은 minAccessTime 중 하나로 변환한다.
여기서 MPD@minBufferTime 및 MPD@availabilityStartTime은 단말(2330)이 이전에 MPD를 통해 수신하여 현재 적용하고 있는 값들을 의미한다.
일 실시예로서 MPD 생성 정보는 다음과 같은 수단들을 사용하여 전송될 수 있다.
첫째, FLUTE에 따른 LCT 패킷의 패킷 헤더에 삽입하여 전송된다.
방송용 콘텐트 서버(2300)는 LCT 패킷 헤더 중 Res 필드의 1 비트를 “header extension for signaling” 필드로 할당하고 상기 필드의 비트 값을 “1”로 부여하고, LCT 패킷 헤더 중 확장 헤더에 “MPD 생성 정보“ 필드를 추가하거나 확장 헤더 내에 “MPD 템플릿” 필드를 추가할 수 있다.
둘째, MMT 시그널링 메시지를 통해 전송된다.
방송용 콘텐트 서버(2300)는 MMT 시그널링 메시지의 포맷을 기반으로 하여, MPD 생성 정보를 담은 엘리먼트들을 담은 MMT 시그널링 메시지를 생성하여 전송할 수 있다. 일 실시예로서 상기 엘리먼트들은 MMT의 GFDT 디스크립터(generic file delivery table descriptor)와 함께 하나의 패킷에 삽입될 수 있다.
셋째, 방송 서비스를 위한 전자 서비스 안내(EPG: electronic program guide)에 포함하여 전송된다.
방송용 콘텐트 서버(2300)는 서비스 가이드 안내의 특정 필드에 앞서 언급한 MPD 생성 정보를 삽입하여 전송할 수 있다. 이때 서비스 가이드 안내는, 사용자에게 표현되는 정보가 아닌, 수신 패킷 분석부(2335) 및/또는 MPD 생성기(2370)의 의해 해석될 수 있는 정보를 포함한다.
넷째, 방송 사업자의 인터넷용 미디어의 전송을 위한 HTTP 헤더에 삽입되어 전송된다.
단말(2330)이 방송용 콘텐트 서버(2300)로 HTTP 연결을 위한 HTTP 요청 메시지를 전송하면, 방송용 콘텐트 서버(2330)는 HTTP 응답 메시지에 MPD 생성 정보를 포함하여 전송할 수 있다.
이상에서는 MPD 템플릿 및/또는 MPD 생성 정보가 방송용 콘텐트 서버(2300)로부터 제공되는 경우를 설명하였으나, 상황에 따라 단말(2330)는 인터넷용 콘텐트 서버(2320)로부터 MPD 템플릿 및 MPD 생성 정보 중 적어도 하나를 수신할 수 있음을 물론이다.
본 발명의 특정 측면들은 또한 컴퓨터 리드 가능 기록 매체(computer readable recording medium)에서 컴퓨터 리드 가능 코드(computer readable code)로서 구현될 수 있다. 컴퓨터 리드 가능 기록 매체는 컴퓨터 시스템에 의해 리드될 수 있는 데이터를 저장할 수 있는 임의의 데이터 저장 디바이스이다. 상기 컴퓨터 리드 가능 기록 매체의 예들은 리드 온니 메모리(read only memory: ROM, 이하 ‘ROM'이라 칭하기로 한다)와, 랜덤-접속 메모리(random access memory: RAM, 이하 'RAM'라 칭하기로 한다)와, 컴팩트 디스크- 리드 온리 메모리(compact disk-read only memory: CD-ROM)들과, 마그네틱 테이프(magnetic tape)들과, 플로피 디스크(floppy disk)들과, 광 데이터 저장 디바이스들, 및 캐리어 웨이브(carrier wave)들(상기 인터넷을 통한 데이터 송신과 같은)을 포함할 수 있다. 상기 컴퓨터 리드 가능 기록 매체는 또한 네트워크 연결된 컴퓨터 시스템들을 통해 분산될 수 있고, 따라서 상기 컴퓨터 리드 가능 코드는 분산 방식으로 저장 및 실행된다. 또한, 본 발명을 성취하기 위한 기능적 프로그램들, 코드, 및 코드 세그먼트(segment)들은 본 발명이 적용되는 분야에서 숙련된 프로그래머들에 의해 쉽게 해석될 수 있다.
또한 본 발명의 일 실시예에 따른 장치 및 방법은 하드웨어, 소프트웨어 또는 하드웨어 및 소프트웨어의 조합의 형태로 실현 가능하다는 것을 알 수 있을 것이다. 이러한 임의의 소프트웨어는 예를 들어, 삭제 가능 또는 재기록 가능 여부와 상관없이, ROM 등의 저장 장치와 같은 휘발성 또는 비휘발성 저장 장치, 또는 예를 들어, RAM, 메모리 칩, 장치 또는 집적 회로와 같은 메모리, 또는 예를 들어 콤팩트 디스크(compact disk: CD), DVD, 자기 디스크 또는 자기 테이프 등과 같은 광학 또는 자기적으로 기록 가능함과 동시에 기계(예를 들어, 컴퓨터)로 읽을 수 있는 저장 매체에 저장될 수 있다. 본 발명의 일 실시예에 따른 방법은 제어부 및 메모리를 포함하는 컴퓨터 또는 휴대 단말에 의해 구현될 수 있고, 상기 메모리는 본 발명의 실시 예들을 구현하는 지시들을 포함하는 프로그램 또는 프로그램들을 저장하기에 적합한 기계로 읽을 수 있는 저장 매체의 한 예임을 알 수 있을 것이다.
따라서, 본 발명은 본 명세서의 임의의 청구항에 기재된 장치 또는 방법을 구현하기 위한 코드를 포함하는 프로그램 및 이러한 프로그램을 저장하는 기계(컴퓨터 등)로 읽을 수 있는 저장 매체를 포함한다. 또한, 이러한 프로그램은 유선 또는 무선 연결을 통해 전달되는 통신 신호와 같은 임의의 매체를 통해 전자적으로 이송될 수 있고, 본 발명은 이와 균등한 것을 적절하게 포함한다
또한 본 발명의 일 실시예에 따른 장치는 유선 또는 무선으로 연결되는 프로그램 제공 장치로부터 상기 프로그램을 수신하여 저장할 수 있다. 상기 프로그램 제공 장치는 상기 프로그램 처리 장치가 기 설정된 컨텐츠 보호 방법을 수행하도록 하는 지시들을 포함하는 프로그램, 컨텐츠 보호 방법에 필요한 정보 등을 저장하기 위한 메모리와, 상기 그래픽 처리 장치와의 유선 또는 무선 통신을 수행하기 위한 통신부와, 상기 그래픽 처리 장치의 요청 또는 자동으로 해당 프로그램을 상기 송수신 장치로 전송하는 제어부를 포함할 수 있다.
한편 본 발명의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시 예에 국한되어 정해져서는 안되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.

Claims (14)

  1. 통신 시스템에서 미디어 정보를 전송하기 위한 방법에 있어서,
    미디어 데이터에 관련된 패킷 페이로드와 패킷 헤더를 생성하는 과정과;
    상기 패킷 헤더와 상기 패킷 페이로드를 포함하는 패킷을 전송하는 과정과;
    LSID(layered coding transport (LCT) session instance description)를 포함하는 패킷을 전송하는 과정 - 상기 LSID는 상기 패킷에 대한 디코딩 정보를 포함함 - 을 포함하며,
    상기 LSID는 상기 미디어 데이터의 전송 레이트(transfer rate)와 버퍼 최소 대기 시간(minimum buffer time)을 포함하고,
    상기 버퍼 최소 대기 시간은 (R*ID - IS)/R에 의해 계산되며,
    여기서 R은 상기 전송 레이트이고, ID는 할당된 초기 지연(initial delay)이고, IS는 초기화 세그먼트의 크기인,
    방법.
  2. 제 1 항에 있어서,
    상기 LSID를 포함하는 패킷은 상기 미디어 데이터를 포함하는 패킷과 동일하거나 또는 상이한 세션을 통해 전송되는 방법.
  3. 통신 시스템에서 단말에 의해 미디어 정보를 수신하기 위한 방법에 있어서,
    서버로부터 미디어 서비스에 대한 MPD(Media Presentation Description) 및 미디어 스트림을 포함하는 하나 혹은 그 이상의 패킷들을 수신하는 과정과;
    새로운 MPD를 생성하기 위한 MPD 템플릿 및 상기 단말의 네트워크 상태에 기반한 MPD 생성 정보를 수신하는 과정과;
    상기 MPD 템플릿 및 상기 MPD 생성 정보를 기반으로 자체적인(autonomous) MPD를 생성하는 과정과;
    상기 미디어 스트림을 재생하기 위해 상기 자체적인 MPD를 기반으로 버퍼로부터 상기 미디어 스트림을 판독하는 과정을 포함하는,
    방법.
  4. 제 3 항에 있어서,
    상기 MPD 생성 정보는,
    상기 미디어 서비스에 관련된 미디어를 획득할 수 있는 위치를 지시하는 URL(uniform resource locator) 정보와, 패킷 전송의 최대 지연 시간과, MPD 전송 기간의 시작 시간과, 미디어 데이터에 접근할 수 있는 시간과, 상기 미디어 데이터에 관련된 필수 정보에 접근할 수 있는 시간과, 버퍼 최소 대기 시간 및 버퍼 접근 가능 시간 중 적어도 하나를 포함하는 방법.
  5. 제 3 항에 있어서,
    상기 MPD 생성 정보를 포함하는 패킷은,
    상기 미디어 스트림을 포함하는 패킷들과 동일하거나 또는 상이한 서버로부터 수신되는 방법.
  6. 제 3 항에 있어서,
    상기 MPD 생성 정보를 포함하는 패킷은,
    상기 단말이 방송 네트워크로부터 인터넷으로 전환하는 시점에서 전송되는 방법.
  7. 통신 시스템에서 미디어 정보를 전송하기 위한 장치로서,
    송수신기; 및
    상기 송수신기를 제어하는 적어도 하나의 프로세서를 포함하고,
    상기 적어도 하나의 프로세서는,
    미디어 데이터에 관련된 패킷 페이로드와 패킷 헤더를 생성하고,
    상기 패킷 헤더와 상기 패킷 페이로드를 포함하는 패킷을 전송하고,
    LSID(layered coding transport (LCT) session instance description)를 포함하는 패킷을 전송하도록 구성되고 - 상기 LSID는 상기 패킷에 대한 디코딩 정보를 포함함 - ,
    상기 LSID는 상기 미디어 데이터의 전송 레이트(transfer rate)와 버퍼 최소 대기 시간(minimum buffer time)을 포함하고,
    상기 버퍼 최소 대기 시간은 (R*ID - IS)/R에 의해 계산되며,
    여기서 R은 상기 전송 레이트이고, ID는 할당된 초기 지연(initial delay)이고, IS는 초기화 세그먼트의 크기인,
    장치.
  8. 제 7 항에 있어서,
    상기 LSID를 포함하는 패킷은 상기 미디어 데이터를 포함하는 패킷과 동일하거나 또는 상이한 세션을 통해 전송되는 장치.
  9. 통신 시스템에서 미디어 정보를 수신하기 위한 장치로서,
    데이터를 전송 및 수신하는 송수신기; 및
    상기 송수신기를 제어하는 적어도 하나의 프로세서를 포함하고,
    상기 적어도 하나의 프로세서는,
    서버로부터 미디어 서비스에 대한 MPD(Media Presentation Description) 및 미디어 스트림을 포함하는 하나 혹은 그 이상의 패킷들을 수신하고,
    새로운 MPD를 생성하기 위한 MPD 템플릿 및 단말의 네트워크 상태에 기반한 MPD 생성 정보를 수신하고,
    상기 MPD 템플릿 및 상기 MPD 생성 정보를 기반으로 자체적인(autonomous) MPD를 생성하고,
    상기 미디어 스트림을 재생하기 위해 상기 자체적인 MPD를 기반으로 버퍼로부터 상기 미디어 스트림을 판독하도록 구성되는,
    장치.
  10. 제 9 항에 있어서,
    상기 MPD 생성 정보는,
    상기 미디어 서비스에 관련된 미디어를 획득할 수 있는 위치를 지시하는 URL(uniform resource locator) 정보와, 패킷 전송의 최대 지연 시간과, MPD 전송 기간의 시작 시간과, 미디어 데이터에 접근할 수 있는 시간과, 상기 미디어 데이터에 관련된 필수 정보에 접근할 수 있는 시간과, 버퍼 최소 대기 시간 및 버퍼 접근 가능 시간 중 적어도 하나를 포함하는 장치.
  11. 제 9 항에 있어서,
    상기 MPD 생성 정보를 포함하는 패킷은,
    상기 미디어 스트림을 포함하는 패킷들과 동일하거나 또는 상이한 서버로부터 수신되는 장치.
  12. 제 9 항에 있어서,
    상기 MPD 생성 정보를 포함하는 패킷은,
    상기 단말이 방송 네트워크로부터 인터넷으로 전환하는 시점에서 전송되는 장치.
  13. 삭제
  14. 삭제
KR1020177021957A 2015-01-07 2016-01-07 통신 시스템에서 미디어 정보를 송수신하는 방법 및 장치 KR102379530B1 (ko)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
KR20150002252 2015-01-07
KR1020150002252 2015-01-07
KR20150003012 2015-01-08
KR1020150003012 2015-01-08
KR20150003011 2015-01-08
KR20150002994 2015-01-08
KR1020150002994 2015-01-08
KR1020150003011 2015-01-08
PCT/KR2016/000141 WO2016111563A1 (ko) 2015-01-07 2016-01-07 통신 시스템에서 미디어 정보를 송수신하는 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20170094461A KR20170094461A (ko) 2017-08-17
KR102379530B1 true KR102379530B1 (ko) 2022-03-29

Family

ID=56356180

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177021957A KR102379530B1 (ko) 2015-01-07 2016-01-07 통신 시스템에서 미디어 정보를 송수신하는 방법 및 장치

Country Status (4)

Country Link
US (1) US10645432B2 (ko)
KR (1) KR102379530B1 (ko)
CN (1) CN107251521B (ko)
WO (1) WO2016111563A1 (ko)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101759854B1 (ko) * 2014-01-02 2017-07-19 엘지전자 주식회사 방송 전송 장치, 방송 전송 장치의 동작 방법. 방송 수신 장치 및 방송 수신 장치의 동작 방법
US10097294B2 (en) * 2014-01-03 2018-10-09 Lg Electronics Inc. Apparatus for transmitting broadcast signals, apparatus for receiving broadcast signals, method for transmitting broadcast signals and method for receiving broadcast signals
US10412132B2 (en) * 2015-02-16 2019-09-10 Lg Electronics Inc. Broadcasting signal transmission device, broadcast signal reception device, broadcast signal transmission method, and broadcast signal reception method
US10367874B2 (en) * 2016-11-04 2019-07-30 Verizon Patent And Licensing Inc. MPEG-DASH delivery over multicast
US11290755B2 (en) 2017-01-10 2022-03-29 Qualcomm Incorporated Signaling data for prefetching support for streaming media data
WO2018174367A1 (ko) * 2017-03-22 2018-09-27 엘지전자 주식회사 방송 신호 송수신 방법 및 장치
US11350183B2 (en) * 2018-03-09 2022-05-31 Lg Electronics Inc. Signal transmitting device, signal receiving device, signal transmitting method, and signal receiving method
CN108989286B (zh) * 2018-06-08 2020-01-14 北京开广信息技术有限公司 通用数据流的封装方法、解封装方法及装置
CN110971564B (zh) * 2018-09-28 2021-03-30 华为技术有限公司 传输媒体数据的方法、客户端和服务器
EP3939327A4 (en) * 2019-03-15 2022-12-21 Nokia Technologies Oy METHOD AND APPARATUS FOR GROUPING ENTITIES IN MULTIMEDIA CONTENT
WO2022220541A1 (ko) * 2021-04-12 2022-10-20 엘지전자 주식회사 디코더 초기화 관련 정보의 시그널링 기반 영상 코딩 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080046575A1 (en) 2006-08-21 2008-02-21 Nokia Corporation Caching directives for a file delivery protocol
WO2013107502A1 (en) 2012-01-17 2013-07-25 Telefonaktiebolaget L M Ericsson (Publ) Method for sending respectively receiving a media stream

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7106946B1 (en) * 1999-09-28 2006-09-12 Sony Corporation Transport stream processing device, and associated methodology of generating and aligning source data packets in a physical data structure
JP5276569B2 (ja) * 2009-11-05 2013-08-28 日本放送協会 受信装置
CN102055789B (zh) * 2009-11-09 2013-10-09 华为技术有限公司 实现基于http的流媒体业务的方法、系统和网络设备
KR101727050B1 (ko) 2010-07-19 2017-04-14 엘지전자 주식회사 미디어 세그먼트 송수신 방법 및 그를 이용한 송수신 장치
KR101739272B1 (ko) * 2011-01-18 2017-05-24 삼성전자주식회사 멀티미디어 스트리밍 시스템에서 컨텐트의 저장 및 재생을 위한 장치 및 방법
WO2013184248A1 (en) * 2012-04-27 2013-12-12 Huawei Technologies Co., Ltd. Support for short cryptoperiods in template mode
EP3270596A1 (en) * 2012-08-22 2018-01-17 Huawei Technologies Co., Ltd. Carriage of iso-bmff event boxes in an mpeg-2 transport stream
US9900166B2 (en) 2013-04-12 2018-02-20 Qualcomm Incorporated Methods for delivery of flows of objects over broadcast/multicast enabled networks
US9385998B2 (en) * 2013-06-06 2016-07-05 Futurewei Technologies, Inc. Signaling and carriage of protection and usage information for dynamic adaptive streaming
WO2015068598A1 (ja) * 2013-11-11 2015-05-14 日本電気株式会社 装置、セッション処理品質安定化システム、優先度処理方法、送信方法、中継方法およびプログラム
EP3133817A4 (en) * 2014-04-18 2017-11-15 LG Electronics Inc. Broadcast signal transmitting apparatus, broadcast signal receiving apparatus, broadcast signal transmitting method and broadcast signal receiving method
WO2016018042A1 (en) * 2014-07-31 2016-02-04 Lg Electronics Inc. Apparatus and method for transmitting/receiving processes of a broadcast signal

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080046575A1 (en) 2006-08-21 2008-02-21 Nokia Corporation Caching directives for a file delivery protocol
WO2013107502A1 (en) 2012-01-17 2013-07-25 Telefonaktiebolaget L M Ericsson (Publ) Method for sending respectively receiving a media stream

Also Published As

Publication number Publication date
KR20170094461A (ko) 2017-08-17
CN107251521B (zh) 2021-01-12
US10645432B2 (en) 2020-05-05
US20180278970A1 (en) 2018-09-27
WO2016111563A1 (ko) 2016-07-14
CN107251521A (zh) 2017-10-13

Similar Documents

Publication Publication Date Title
KR102379530B1 (ko) 통신 시스템에서 미디어 정보를 송수신하는 방법 및 장치
US11785289B2 (en) Receiving device, transmitting device, and data processing method
US11317138B2 (en) Method and apparatus for transmitting or receiving service signaling for broadcasting service
JP6502380B2 (ja) Mmt及びdashを使用するブロードキャスト及びブロードバンドハイブリッドサービス
AU2013255124B2 (en) Method and apparatus for transmitting and receiving multi-media services
US20180184136A1 (en) Apparatus and method for transmitting/receiving processes of a broadcast signal
KR102301333B1 (ko) 브로드캐스트 채널을 통한 dash 콘텐츠 스트리밍 방법 및 장치
JP7468575B2 (ja) 受信装置および受信方法
US10567455B2 (en) Reception device, reception method, transmission device, and transmission method
US20200221161A1 (en) Reception apparatus, transmission apparatus, and data processing method
US10880596B2 (en) Method and apparatus for transmitting and receiving signal in multimedia system
JP6728246B2 (ja) マルチメディアシステムにおける信号送受信方法及び装置
US11622088B2 (en) Reception apparatus, transmission apparatus, and data processing method
US20150201253A1 (en) Methods and apparatus for universal presentation timeline alignment
US11012761B1 (en) Techniques for replacement content signaling in advanced television systems committee (ATSC) 3.0 television
KR102210509B1 (ko) 멀티미디어 시스템에서 컨텐츠를 변환하는 방법 및 장치
KR101414638B1 (ko) 인터넷 프로토콜 텔레비전 수신기 및 채널 전환 방법
US20150095941A1 (en) Multilingual audio service supporting system and method therefor
KR20210025508A (ko) Atsc 3.0 기반의 방송 콘텐츠 전송 장치 및 방법과, 방송 콘텐츠 수신 장치 및 방법

Legal Events

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