KR20080083299A - 미디어 컨테이너 파일 관리 - Google Patents

미디어 컨테이너 파일 관리 Download PDF

Info

Publication number
KR20080083299A
KR20080083299A KR1020087016330A KR20087016330A KR20080083299A KR 20080083299 A KR20080083299 A KR 20080083299A KR 1020087016330 A KR1020087016330 A KR 1020087016330A KR 20087016330 A KR20087016330 A KR 20087016330A KR 20080083299 A KR20080083299 A KR 20080083299A
Authority
KR
South Korea
Prior art keywords
fec
media
data
container file
file
Prior art date
Application number
KR1020087016330A
Other languages
English (en)
Other versions
KR101353620B1 (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 KR20080083299A publication Critical patent/KR20080083299A/ko
Application granted granted Critical
Publication of KR101353620B1 publication Critical patent/KR101353620B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/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/1812Hybrid protocols; Hybrid automatic repeat request [HARQ]
    • H04L1/1819Hybrid protocols; Hybrid automatic repeat request [HARQ] with retransmission of additional or different redundancy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0078Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
    • H04L1/0084Formats for payload data
    • 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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/65Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience
    • H04N19/66Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience involving data partitioning, i.e. separation of data into packets or partitions according to importance
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/65Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience
    • H04N19/67Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience involving unequal error protection [UEP], i.e. providing protection according to the importance of the data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2381Adapting the multiplex stream to a specific network, e.g. an Internet Protocol [IP] network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/254Management at additional data server, e.g. shopping server, rights management server
    • 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/26208Content 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 the scheduling operation being performed under constraints
    • H04N21/26216Content 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 the scheduling operation being performed under constraints involving the channel capacity, e.g. network bandwidth
    • 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/6131Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving transmission via a mobile phone network
    • 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/6156Network physical structure; Signal processing specially adapted to the upstream path of the transmission network
    • H04N21/6181Network physical structure; Signal processing specially adapted to the upstream path of the transmission network involving transmission via a mobile phone network
    • 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/637Control signals issued by the client directed to the server or network components
    • H04N21/6377Control signals issued by the client directed to the server or network components directed to 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/64315DVB-H
    • 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/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • 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/85406Content authoring involving a specific file format, e.g. MP4 format
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • 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
    • H04L12/1863Arrangements for providing special services to substations for broadcast or conference, e.g. multicast comprising mechanisms for improved reliability, e.g. status reports
    • H04L12/1877Measures taken prior to transmission

Abstract

본 발명은 미디어 소스 블록(20; 22; 24) 내에 조직된 미디어 데이터를 포함하는 미디어 컨테이너 파일(1)을 제시한다. 순방향 에러 정정 (FEC) 중복 데이터는 여러 소스 블록(20; 22; 24)에 대해 사전 계산되고, 여러 FEC 레저버(30; 32; 34)로서 컨테이너 파일(1) 내로 조직된다. 컨테이너 파일(1)은 또한 미디어 소스 블록(20; 22; 24)과 각각의 FEC 레저버(30; 32; 34) 간에 연관을 제공하는 메타 데이터(40; 45)를 포함한다. 컨테이너 파일(1)은, 광범한 데이터 처리 및 FEC 계산의 필요성 없이, 요구하는 클라이언트(400; 410; 420)로 전송되는 미디어 데이터 패킷을 컴파일하기 위해 미디어 세션에서 미디어 서버(200)에 의해 사용될 수 있다.
미디어 소스 블록, 미디어 컨테이너 파일, FEC 레저버, 미디어 서버

Description

미디어 컨테이너 파일 관리{MEDIA CONTAINER FILE MANAGEMENT}
본 발명은 일반적으로 미디어 및 멀티미디어 관리에 관한 것으로서, 특히, 이와 같은 미디어 및 멀티미디어 내용을 포함하는 미디어 컨테이너 파일의 생성 및 사용에 관한 것이다.
여러 네트워크를 통한 클라이언트로의 미디어 및 멀티미디어 제공은 지난 몇년 동안에 대단히 증대하였다. 오늘날, 미디어 서버로부터, 예컨대, 비디오 및 오디오 스트림 또는 파일의 형식의 미디어에 액세스하여 다운로드하기 위해 수많은 사용자는 인터넷을 사용한다. 이런 미디어 제공은 또한 무선 기반 이동 통신 네트워크에서 나타난다. 현재, 멀티미디어 또는 TV 내용을 위한 이동 네트워크를 이용할 시에 대단한 흥미의 대상이 존재한다. 이것은 종종 본 기술 분야에서 Mobile-TV로서 지칭된다. 이동 네트워크에의 이런 미디어 제공은 오늘날 주로 유니캐스트 전송(unicast transport)을 통해 이용 가능하다. 그러나, 현재, Mobile-TV를 위한 브로드캐스트/멀티캐스트 전송 방법은 개발하에 있다. 이와 같은 표준화 노력의 예들로서, 3GPP Multimedia Broadcast/Multicast Services (MBMS) 및 European Telecommunications Standards Institute (ETSI) Digital Video broadcasting-Handheld(DVB-H)가 있다.
여러 유선 및 무선 통신 네트워크에 미디어 제공을 위한 이런 증대하는 요구에 따라, 미디어 내용을 요구하는 클라이언트에 제공하기 위한 무선 네트워크에서 이용 가능한 서버를 스트림하고 다운로드하는 개발을 계속하고 있다. 일반적으로, 스트림/다운로드 서버를 투명하고 유연하게 하는 경향이 있으며, 이는 이 서버가 기본적으로 여러 미디어 관리 기능을 실행하는 다수의 "표준" 모듈 또는 프로그램으로 구성된다는 것을 의미한다. 이들 기능에 대한 입력 미디어 내용은 이때 모듈/프로그램이 이 내용을 처리하는 명령과 함께 제공된다. 이것은, 서버에서 처리하는 고정되고 미리 정해진 미디어의 사용에 비해 더욱 유연한 미디어 제공을 할 것이다.
유연한 스트림/다운로드 서버의 개발과 함께, 에러 정정이 미디어 스트림 내에서 도입될 수 있는 영역의 개발이 이루어지고 있다. 멀티캐스트/브로드캐스트 전송은 단일 방향성이고, 많은 수신 클라이언트를 동시에 다룬다. Automatic Repeat Request (ARQ)와 같은 전통적인 유니캐스트 신뢰성 기법 (unicast reliability schemes)은 다수의 수신자의 멀티캐스트/브로드캐스트 전송을 서브(serve)하기 위해 확장할 수 없다.
따라서, 멀티캐스트/브로드캐스트 미디어 전송과 관련하여 신뢰성 기법을 도입할 필요성이 존재한다. 이와 같은 신뢰성 기법의 도입은 또한 유연한 스트림 및 다운로드 서버 솔루션의 경향과 일치해야 한다.
본 발명은 종래 기술의 장치의 이들 및 다른 결점을 극복하는 것이다.
본 발명의 일반적 목적은 멀티미디어 세션에 이용될 수 있는 미디어 컨테이너 파일을 제공하기 위한 것이다.
본 발명의 일반적 목적은 포스트세션 수리(post-session repair) 절차에도 이용될 수 있는 미디어 컨테이너 파일을 제공하기 위한 것이다.
이들 및 다른 목적은 첨부한 특허청구범위에 의해 규정된 바와 같은 본 발명에 의해 달성된다.
간략히 말하면, 본 발명은 미디어 컨테이너 파일의 생성 및 사용 및, 이와 같은 컨테이너 파일을 생성 및 사용하기 위한 장치를 수반한다.
미디어 컨테이너 파일의 생성은, 요구하는 클라이언트로 전송되고, 이 클라이언트에서 렌더(render)되는 미디어 또는 멀티미디어 데이터를 포함하는 하나 이상의 미디어 소스 파일을 제공하는 것을 포함한다. 이 컨테이너 파일은 소스 파일의 사이즈에 따라, 하나 이상의 미디어 소스 블록으로 구성되는 것으로 간주된다.
이와 같은 하나 이상의 미디어 소스 블록은, 이 소스 블록에 기초로 하는 FEC 중복 데이터 또는 심벌을 계산하기 위해 본 발명에 따라 처리된다. 따라서, 소스 블록의 미디어 데이터는 하나 이상의 FEC 심벌의 계산을 위한 FEC 알고리즘으로 입력된다. 이런 FEC 심벌 계산은 바람직하게는 소스 파일의 각 미디어 소스 블록을 위해 실행된다. 하나 이상의 미디어 소스 블록은 이때 미디어 컨테이너 파일 내에 조직된다. 이에 대응하여, 계산된 FEC 데이터는 또한 미디어 컨테이너 파일 내에서 하나 이상의 FEC 레저버(reservoirs) 내에 조직된다. 이와 같은 각 FEC 레저버는 특정 미디어 소스 블록에 대해 계산된 FEC 데이터를 포함한다. 미디어 소스 블록과 이의 FEC 레저버 간의 연관(association)을 제공하는 컨테이너 파일 내에는 메타(meta) 데이터가 제공되고 포함된다.
생성된 컨테이너 파일은, 컨테이너 파일 내의 메타 데이터를 이용하여, 미디어 데이터 및 FEC 데이터를 포함하는 데이터 패킷을 컴파일하는 미디어 세션 동안에 미디어 서버에 의해 사용될 수 있다. 본 발명의 컨테이너 파일 내에서, FEC 데이터의 사전 계산 및, 미디어 및 FEC 데이터의 조직에 의해, 간단히 계산하는 값싼 방식으로, 미디어 서버가 광범한 데이터 처리 및 계산을 요구하는 FEC 계산 없이 요구하는 클라이언트로 전송되는 데이터 패킷 내에 미디어 데이터 및 FEC 데이터를 삽입하도록 한다.
바람직한 실시예에서, 컨테이너 파일은 또한, 컨테이너 파일로부터 미디어 및 FEC 데이터를 포함하는 데이터 패킷을 컴파일할 시에 미디어 서버에 의해 이용되는 컴파일 명령을 포함한다. 이와 같은 경우에, 컨테이너 파일은 모든 미디어 내용, 보호 데이터 및 명령을 포함하며, 이들은 미디어 데이터를 신뢰할 수 있는 방식으로 클라이언트로 성공적으로 전송할 수 있도록 하는데 필요로 된다.
본 발명의 컨테이너 파일은 또한 포스트 세션 수리 절차에 이용될 수 있으며, 여기서, FEC 중복 보호를 전송된 데이터 패킷 내에 포함함에도 불구하고, 클라이언트는 미디어 세션 동안에 모든 미디어를 성공적으로 수신할 수 없었다. 이와 같은 경우에, 이전의 미디어 세션 동안에 이용된 동일한 컨테이너 파일의 카피(copy)는 수리 서버에 의해 이용된다. 이 서버는, 클라이언트로부터의 요구에 기초로 하여 컨테이너 파일 내의 FEC 레저버 중 하나로부터 FEC 중복 데이터를 검색할 수 있다. 그리고 나서, FEC 데이터는 클라이언트로 복귀되어, 모든 미디어 데이터를 성공적으로 렌더하도록 한다.
본 발명은, 다른 목적 및 이점과 함께, 첨부한 도면과 함께 취해진 다음의 설명을 참조함으로써 가장 잘 이해될 수 있다.
도 1은 본 발명의 한 양태에 따라 미디어 컨테이너 파일을 생성하는 방법을 도시한 흐름도이다.
도 2는 도 1의 파일 생성 방법의 부가적 단계를 도시한 흐름도이다.
도 3은 도 1의 파일 생성 방법의 부가적 단계를 도시한 흐름도이다.
도 4는 도 1의 파일 생성 방법의 부가적 단계를 도시한 흐름도이다.
도 5는 본 발명의 다른 양태에 따른 미디어 세션 관리 방법을 도시한 흐름도이다.
도 6은 도 5의 세션 관리 방법의 부가적 단계를 도시한 흐름도이다.
도 7은 도 5의 컴파일 및 전송 단계의 한 실시예를 더욱 상세히 도시한 흐름도이다.
도 8은 도 5의 컴파일 및 전송 단계의 다른 실시예를 더욱 상세히 도시한 흐름도이다.
도 9는 도 5의 세션 관리 방법의 부가적 단계를 도시한 흐름도이다.
도 10은 본 발명의 다른 양태에 따른 포스트 세션 수리 방법을 도시한 흐름도이다.
도 11은 본 발명의 또 다른 양태에 따른 미디어 컨테이너 파일의 개략도이다.
도 12는 본 발명에 따른 미디어 컨테이너 파일을 사용하는 여러 미디어 스트림의 컴파일을 도시한 개략도이다.
도 13은 본 발명에 따른 미디어 컨테이너 파일을 사용하는 여러 미디어 스트림의 컴파일을 도시한 다른 개략도이다.
도 14는 본 발명에 따른 미디어 컨테이너 파일을 관리하는 서버를 포함하는 통신 네트워크의 개요도이다.
도 15는 본 발명의 또 다른 양태에 따른 내용 서버의 개략적 블록도이다.
도 16은 도 15의 컨테이너 파일 생성기의 한 실시예를 더욱 상세히 도시한 개략적 블록도이다.
도 17은 본 발명의 또 다른 양태에 따른 미디어 세션 서버의 개략적 블록도이다.
도 18은 본 발명의 또 다른 양태에 따른 수리 서버의 개략적 블록도이다.
도면을 통해, 동일한 참조 문자는 상응하거나 유사한 소자에 사용될 것이다.
본 발명은 일반적으로 미디어 및 멀티미디어 데이터 관리에 관한 것이며, 특히, 무선 기반 통신 네트워크에서 스트림 또는 다운로드 서버와 같은 미디어 서버와 관련한 컨테이너 파일의 생성 및 이용에 관한 것이다. 본 발명의 이들 미디어 컨테이너 파일은, 요구하는 클라이언트로 전송할 미디어 내용 및, 미디어 서버 내 의 미디어 처리 및 전송을 실행하는데 이용되는 명령 외에, 신뢰성 보호를 미디어 세션에 제공하는 데이터를 포함한다. 이런 신뢰성 보호는, 컨테이너 파일 내에 포함되는 사전 생성된 전송 에러 정정(FEC) 중복 데이터에 의해 달성할 수 있다.
본 기술 분야에 공지되어 있는 바와 같이, FEC는, 부가적인 데이터에 대해 송신자에 요구할 필요 없이, 수신자가 에러를 검출하여 정정하도록 하는 중복 데이터를 전송된 페이로드 데이터에 부가하는 것을 포함한다. FEC의 이점은, 데이터의 재전송이 종종, 대략 고 대역폭 요구 조건의 비용으로 회피될 수 있다는 것이다. 따라서, FEC는 이점으로 재전송이 실시하기가 어려운 미디어 내용의 멀티캐스트/브로드캐스트 기반 전송과 관련하여 이용될 수 있다.
FEC는, 본 기술 분야에서 전형적으로 FEC 코덱으로 나타내는 미리 정해진 알고리즘 또는 기법을 이용하여 전송될 정보에 중복성을 부가함으로써 달성된다. 이와 같은 각 중복 비트는 항상 많은 원래의 정보 또는 페이로드 비트의 복소 함수(complex function)이다. 출력 내의 수정되지 않은 입력을 포함하는 FEC 코덱은 계통적 코덱(systematic codec)을 나타낸다. 환언하면, (N, K) 계통적 FEC 코덱은 K 소스 또는 페이로드 심벌을 보존하고, (N-K) FEC 심벌을 부가한다. 이에 대응하여, (N, K) 비계통적 FEC 코덱은 K 소스 심벌로부터 N (FEC 또는 소스) 심벌을 이들의 모두를 반드시 보존할 필요없이 생성한다.
FEC 코덱의 2개의 주요 카테고리, 즉, 블록 코드 및 컨벌루셔널 코드(convolutional code)가 있다. FEC 블록 코덱은 미리 정해진 사이즈의 비트 또는 심벌의 고정 사이즈(fixed-size) 블록 (패킷)에 작용하는 반면에, 컨벌루셔널 코덱 은 임의 길이의 비트 또는 심벌 스트림에 작용한다. Digital Fountains Raptor 코덱은, 단일 소스 블록에서 임의 수의 FEC 중복 심벌을 생성할 수 있는 FEC 블록 코덱이다. 이것은, 소스 블록 구성의 어떤 변화 없이 여러 보호-오버헤드(protection-overhead) 구성이 생성될 수 있으므로 이런 FEC 코덱의 유익한 특성이다. 그러나, Reed-Solomon은, 여러 보호 오버헤드 사이즈에 대한 소스 블록 파티션(partition)의 변경을 필요로 하는 다른 FEC 블록 코덱이다. FEC 블록 코덱의 다른 예들은 Golay, BCH (Bose, Ray-Chaudhuri, Hocquenghem) 및 Hamming를 포함한다. 본 발명에 관련하여 이용할 바람직한 FEC 코덱은 Digital Raptor 코덱이다.
본 발명에 따르면, 미디어 또는 멀티미디어 데이터 또는 내용은 내용 제공자 또는 서버에 의해 데이터의 렌더링(rendering)을 위한 클라이언트에 제공될 수 있는 어떤 데이터를 지칭한다. 통상의 바람직한 예들은 비디오 데이터 및 오디오 데이터를 포함한다. 이 데이터는, 프리인코드된 고정율(pre-encoded, fixed rate)의 오디오 또는 비디오 내용 버전의 형식 또는 스케일러블(scalable) 오디오 또는 비디오 내용의 형식일 수 있다. 다른 미디어 예들은 정지 이미지 (JPEG), 비트 맵 그래픽 (GIF 및 PNG), 벡터 그래픽 (SVG) 및, 합성 오디오 (SP-MIDI) 및 텍스트 (XHTML 및 SMIL)을 포함한다.
도 1은 본 발명에 따라 미디어 컨테이너 파일을 생성하는 방법을 도시한 흐름도이다. 이 미디어 컨테이너 파일은, 미디어 내용을 제공하고, 미디어 데이터를 전송 가능한 데이터 패킷으로 형성하는 미디어 세션 동안에 미디어 서버에 의해 이용되는 완전한 입력 패키지로서 간주될 수 있다. 따라서, 이 컨테이너 파일은 바람 직하게는, 본질적으로 미디어 내용 외에, 처리를 실행하고, 미디어 세션 동안에 미디어 내용을 전송하는 미디어 서버에 의해 필요로 되는 정보 및 명령을 포함한다.
이 방법은, 하나 이상의 미디어 소스 블록이 조직되어 컨테이너 파일 내에 기억되는 단계(S1)에서 개시한다. 2 이상의 미디어 소스 블록이 컨테이너 파일 내에 제공되면, 이들은, 동일한 미디어 내용 파일 또는 스트림, 예컨대, 비디오 스트림, 및/또는 상이한 미디어 파일 또는 스트림, 예컨대, 비디오 스트림의 몇몇 미디어 소스 블록 및 상응하는 관련된 오디오 스트림의 몇몇 미디어 블록의 개별 미디어 블록으로서 간주될 수 있다. 하나 이상의 미디어 소스 블록은 클라이언트로 송신되도록 의도되는 미디어 데이터 또는 심벌을 포함하며, 여기서, 이들은 미디어 내용을 사용자에 제공하기 위해 렌더된다. 미디어 블록은 고정된 동일 사이즈 또는 그의 적어도 일부일 수 있고, 하나 이상이면, 상이한 비트/심벌 사이즈일 수 있다.
단계(S1)에서 컨테이너 파일 내에 조직되는 하나 이상의 미디어 블록은 바람직하게는 총체적으로 미디어 세션 동안에 클라이언트로 전송될 수 있는 모든 미디어 내용 데이터를 포함한다. 환언하면, 컨테이너 파일은 전체의 멀티미디어 프리젠테이션(presentation)을 위한 미디어 데이터를 포함한다. 따라서, 미디어 내용이 뮤직 비디오를 포함하면, 컨테이너 파일은 바람직하게는 비디오 데이터를 가진 미디어 소스 블록 및 상응하는 오디오 데이터를 가진 미디어 블록을 포함한다. 그러나, 동일한 미디어 내용이 다수의 잠재적 미디어 버전에 제공될 수 있음을 본 발명에 의해 알 수 있다. 예컨대, 뮤직 비디오의 비디오 부분은 다수의 프리인코드된 비디오 버전에 제공될 수 있는데, 여기서, 이와 같은 각 비디오 버전은 주어진 대 역폭 또는 비트율 레벨 또는 구간과 관련하여 사용하기 위해 구성된다. 그래서, 컨테이너 파일 내에 주어진 미디어 내용의 다수의 버전이 있을 수 있다. 이와 같은 경우에, 이와 같은 각 미디어 버전은 하나 이상의 미디어 소스 블록으로 이루어지는 것으로 간주될 수 있다. 다수의 미디어 버전이 컨테이너 파일에 이용 가능할 수 있지만, 통상적으로 이와 같은 하나의 버전만이, 예컨대, 이용 가능한 대역폭 레벨의 변화를 토대로 세션 동안에 미디어 버전 간의 스위치가 있을지라도, 미디어 세션 동안에 주어진 시간에 이용된다.
컨테이너 파일 내의 미디어 내용에 대한 신뢰성 보호를 제공하기 위해, 다음 단계(S2)는 단계(S1)에서 컨테이너 파일 내로 조직된 미디어 블록의 하나 이상의 미디어 소스 블록을 토대로 FEC 중복 데이터를 사전 계산한다. 이 계산 단계(S2)에서, 미디어 블록에 기초로 하여 동작하는 Digital Fountains Raptor 코덱과 같은 FEC 블록 코덱이 바람직하게 사용된다. 그러나, 컨벌루셔널 FEC 코덱은 또한 사용될 수 있고, 본 발명의 범주 내에 있다. 바람직한 구성에서, FEC 중복 심벌의 세트는 하나 이상의 미디어 소스 블록에 생성된다. 이 FEC 심벌 세트는 미디어 소스 블록의 소스 심벌을 토대로 계산되는 하나의 FEC 심벌을 포함하지만, 바람직하게는 다수의 FEC 심벌을 포함할 수 있다. 미디어 소스 블록에 대해 계산할 FEC 심벌의 수는, 사용되는 FEC 코덱의 제한(limitation)으로 규정되고, 미디어 소스 블록의 미디어 소스 심벌의 수의 함수이거나, 어떤 다른 기준, 예컨대, 컨테이너 파일의 사이즈 제한으로 제한될 수 있다. 이들 사전 계산된 FEC 중복 심벌의 일반적인 사상은, 신뢰성 보호를 미디어 세션 내에 제공하기 위한 미디어 세션 동안에 미디어 서버에 의해 이용 가능하고 이용될 수 있는 FEC 심벌의 레저버를 컨테이너 파일 내에 제공하는 것이다. 그래서, 미디어 소스 블록당 FEC 심벌의 수는 바람직하게는 이 기준에 기초로 하여 결정될 수 있으며, 즉, 신뢰성 보호를 제공할 수 있다.
신뢰성 보호를 제공하기 위한 미디어 세션 동안에 유용한 것 이외에, 단계(S2)에서 계산된 FEC 중복 심벌은 포스트 세션 수리 절차 또는 세션에 이용될 수도 있다. 선택적으로, FEC 중복 심벌의 전용 서브세트는 신뢰성 보호를 위한 미디어 세션 동안에 이용 가능하고, 중복 심벌의 다른 서브세트는 여기서 더욱 상세히 기술되는 포스트 세션 수리에 전용된다. 그래서, 본 발명은 동일한 컨테이너 파일 (또는 그의 카피)이 미디어 세션 동안의 미디어 서버 및 수리 세션 동안의 수리 서버의 양방에 의해 이용될 수 있는 이점을 갖는다. 이것은, 미디어 관리에 관련하여 고 유연성을 참작한다. FEC 코덱의 더욱 많은 정보를 위해, 문서[1]의 부록 B에 대해 참조가 행해지며, 부록 B의 요지는 참조로 포함된다.
다음 단계(S3)는, 미디어 소스 블록과 함께 컨테이너 파일 내에 단계(S2)에서 계산된 FEC 중복 데이터를 조직한다. 이 단계(S3)는 바람직하게는 미디어 소스 블록의 FEC 중복 심벌을 레저버로서 컨테이너 파일 내에 저장한다. FEC 중복 심벌이 양방의 신뢰성 보호 및 포스트 수리(post-repair) 목적을 위해 생성되었다면, 이들 심벌은 동일한 FEC 레저버 내에 제공될 수 있다. 선택적으로, 제 1 레저버는 신뢰성 목적을 위한 FEC 심벌을 하우스(house)하고, 제 2 레저버는 포스트 수리 FEC 심벌을 포함한다.
다음 단계(S4)는 컨테이너 파일 내에 포함될 메타 데이터를 제공한다. 이 메 타 데이터는, 단계(S1)에서 컨테이너 파일에 부가된 미디어 소스 블록과, 단계(S3)에서 파일 내에 저장된 FEC 중복 데이터 간에 연관을 제공한다. 이 연관은, 파일 내의 미디어 소스 블록의 저장 위치에서 FEC 레저버의 저장 위치로의 포인터(pointer)의 형식이거나 그 역으로의 형식일 수 있다. 그래서, 이 메타 데이터는, 컨테이너 파일 내에 특정 미디어 소스 블록 또는 그의 위치가 제공되면, 파일 내의 이 중복 데이터의 저장 위치 또는 미디어 소스 블록을 기초로 하여 계산된 연관된 FEC 중복 데이터의 식별을 가능하게 한다. 포인터를 사용하는 대신에, 메타 데이터는 미디어 소스 블록의 식별자 및/또는 연관된 FEC 레저버를 포함할 수 있으며, 이 경우에, 이들은 컨테이너 파일 내의 미리 정해진 "표준" 위치에 저장된다. 메타 데이터는 이때 파일 내의 FEC 레저버 및 미디어 소스 블록 중 하나를 식별하는데 이용되며, 이 식별된 위치를 토대로, FEC 레저버 및 미디어 소스 블록 중 다른 하나가 식별될 수 있다.
(인세션(in-session) 및 포스트세션의 양방을 위해) 미디어 소스 블록당 2 이상의 FEC 레저버의 경우에, 메타 데이터는 바람직하게는 미디어 소스 블록과 양방의 FEC 레저버 간의 연관을 제공하는 정보를 포함한다. 이것은, 예컨대, 미디어 소스 블록에 대한 컨테이너 파일 내에 제각기 인세션 메타 데이터 및 포스트세션 메타 데이터를 포함함으로써 실현될 수 있다.
본 발명의 통상의 구성에서, 다수의 미디어 소스 블록은 단계(S1)에서 컨테이너 파일 내로 조직된다. 이와 같은 경우에, 단계(S2 내지 S4)는 바람직하게는 이와 같은 각 미디어 소스 블록 또는 미디어 소스 블록의 적어도 다수의 그룹에 대해 반복되고, 라인(L1)으로 개략적으로 도시된다. 따라서, N 미디어 소스 블록이 단계(S1)에서 컨테이너 파일 내로 조직되면, 단계(S2 내지 S4)는 바람직하게는 N 번 반복되고, 이는 또한 소스 블록 이외에 컨테이너 파일 내에 적어도 N FEC 레저버 및 N 메타 데이터 버전을 조직한다는 것을 의미한다.
본 발명에 의해, 생성된 미디어 컨테이너 파일이 전 미디어 세션에 필요한 모든 미디어 데이터 및 FEC 데이터를 포함할 수 있음을 알 수 있다. 그러나, 미디어 데이터 및 FEC 데이터는 실제로 다수의 상이한 세션에 적용할 수 있다. 예컨대, 컨테이너 파일은 뮤직 비디오, 풋볼 매치(football match) 등의 미디어 데이터를 포함할 수 있다. 이와 같은 경우에, 미디어 서버는, 반드시 FEC 레저버 내에 포함된 모든 미디어 데이터를 전송해야 할 필요가 없고, 클라이언트에 의해 요구된 특정 데이터만을 전송할 필요가 있다. 그러나, 다른 미디어 서버는 동일한 컨테이너 파일의 카피를 수신하여, 대신에 파일 내의 다른 미디어 데이터를 그의 클라이언트에 제공한다.
그 후, 이 방법은 종료한다.
도 1과 관련하여 상술한 컨테이너 파일 생성은 바람직하게는 내부 또는 외부 미디어 내용 소스로 액세스하는 내용 생성기 또는 서버에서 행해진다. 생성된 컨테이너 파일은 이때, 컴퓨터 메모리와 같은 저장 매체, 또는, 예컨대 로컬 시스템 내의 전달 또는 로컬 또는 글로벌 네트워크를 통한 전송을 위해 전기 신호 또는 무선 신호와 같은 물리적 신호로 나타낼 수 있다. 통상의 실시예에서, 컨테이너 파일은 여러 클라이언트를 가진 미디어 세션 내에 사용하기 위한 미디어 서버에 무선 신호 로서 제공된다. 선택적으로, 또는 부가적으로, 컨테이너 파일은, 필요하다면, 수신된 미디어 내용의 포스트세션 수리를 위한 미디어 서버를 가진 미디어 세션에 따른 클라이언트에 의해 액세스될 수 있는 수리 서버에 제공될 수 있다.
다음에는, 용어 미디어 컨테이너 파일은, 저장 매체 내에 저장하기 위한 데이터 파일 및 전달 또는 분배를 위한 신호의 양방을 포함하는 의미로 본 명세서 전체에 이용될 것이다.
도 2는 도 1의 컨테이너 파일 생성 방법의 부가적 단계를 도시한 흐름도이다. 이 방법은, 하나 이상의 미디어 소스 파일이 제공되는 단계(S10)에서 개시한다. 이 예시적인 실시예에서, 미디어 내용은, 미디어 데이터를 포함하는 소스 파일 또는 스트림의 형식으로 컨테이너 파일 생성기에서 이용 가능하다. 이 단계(S10)에서, 하나 이상의 미디어 소스 파일은 컨테이너 파일 내로 포함하기 위해 제공될 수 있다. 예컨대, 제 1 미디어 파일은 비디오 데이터를 포함할 수 있는 반면에, 제 2 연관 파일은 오디오 데이터를 포함한다. FEC 중복 데이터의 효율적인 계산 및, 후속하여 이와 같은 FEC 데이터의 사용을 가능하게 하기 위해, 단계(S10)에서 제공된 미디어 소스 파일은 다음 단계(S11)에서 많은 미디어 블록으로 분할된다. 이 미디어 소스 블록은 이때, FEC 코드가 적용될 수 있는 미디어 소스 파일의 세그먼트로서 간주될 수 있다. 소스 심볼 또는 데이터 비트에 관한 미디어 블록의 사이즈는 분할과 관련하여 미리 정해지거나 선택될 수 있다. 전자의 경우에, 사이즈는 FEC 중복 데이터의 계산을 위해 사용되도록 의도된 FEC 기법 또는 코드로 규정될 수 있다. 따라서, 실제 FEC 코덱 또는 알고리즘 및/또는 필요한 FEC 보호 오버헤드는 미 디어 파일 분할 및 미디어 블록 사이즈에 영향을 미칠 수 있다.
입력 미디어 소스 파일이 FEC 코덱에 의해 효율적으로 처리될 수 있는 최대 사이즈보다 작은 비트 또는 심벌 사이즈를 갖는 경우에, 이 소스 파일을 미디어 소스 블록으로 분할하는 것이 물론 필요치 않으며, 단계(S11)는 생략될 수 있다. 입력 미디어 소스 파일은 이때 본 발명에 따라 미디어 소스 블록으로 간주된다.
바람직한 블록 사이즈가 존재할지라도, 미디어 소스 파일로부터 생성되는 모든 미디어 소스 블록이 이 바람직한 사이즈일 필요는 없다는 것에 주목한다. 예컨대, 마지막 미디어 소스 블록은 다른 동일한 사이즈(equisized)의 블록에 비해 작은 사이즈일 수 있는데, 그 이유는 미디어 파일의 잔여 부분이 바람직한 블록 사이즈에 도달하기에 충분한 미디어 데이터를 포함하지 않기 때문이다.
이런 분할 단계(S11)는, 미디어 소스 파일이 컨테이너 파일 내의 개별 위치에 저장되는 개별 미디어 소스 블록으로 물리적으로 분할되는 것을 반드시 의미하지 않는다. 명백한 차이로, 가장 실제적인 구성에서, 미디어 소스 파일은 컨테이너 파일 내에 하나의 연속 데이터 시퀀스로서 저장되지만, 미디어 소스 블록으로 간주되거나 가상으로 분할된다. 예컨대, 2N 소스 심벌을 포함하는 미디어 소스 파일은, 소스 심벌 [0, N-1]이 제 1 소스 블록에 속하고, 심벌 [N, 2N-1]이 제 2 소스 블록에 속하도록 분할될 수 있다.
그 후, 이 방법은, 미디어 소스 블록이 컨테이너 파일 내로 조직되는 도 1의 단계(S1)로 계속한다.
도 3은 도 1의 컨테이너 파일 생성 방법의 부가적 단계를 도시한 흐름도이 다. 이 방법은, 미디어 소스 블록이 소스 심벌 또는 소위 청크(chunk)로 파티션되는 단계(S20)에서 개시한다. 이들 심벌은 일반적으로 많은 수백 바이트로 이루어진다. 이 블록 파티션은 바람직하게는 현재 미디어 소스 블록에 대한 FEC 심벌을 계산하기 위해 이용될 FEC 코덱/알고리즘의 정보에 적어도 부분적으로 기초로 하여 실행된다. 상술한 바와 같이, Reed-Solomon 기반 FEC 코드는 바람직한 보호 오버헤드 사이즈, 즉 FEC 중복 심벌의 수에 기초로 하여 소스 블록 파티션의 변경을 필요로 한다.
따라서, 실제 FEC 코덱 또는 알고리즘 및/또는 필요한 FEC 보호 오버헤드는 미디어 소스 파티션 및 미디어 심벌 사이즈에 영향을 미친다. 또한, 미디어 내용을 전송하기 위한 미디어 서버에 의해 이용되는, User Datagram Protocol (UDP) 패킷과 같은 데이터 패킷의 사이즈와 같은 다른 파라미터는 단계(S20)의 이런 소스 블록 파티션에 이용될 수 있다. 이와 같은 경우에, 소스 심벌의 사이즈는 제한되어, 하나 이상의 완전한 소스 심벌이 UDP 패킷에 일치시킬 수 있다.
이 파티션 단계(S20)는, 미디어 소스 블록이 물리적으로 컨테이너 파일 내의 개별 위치에 저장되는 개별 소스 심벌로 분할된다는 것을 반드시 의미하지 않는다. 명백히 대조적으로, 가장 실제적인 구성에서, 미디어 소스 파일은 컨테이너 파일 내에 하나의 연속 데이터 시퀀스로서 저장되지만, 미디어 소스 블록으로 간주되거나 가상으로 분할되어, 소스 심벌로 가상으로 파티션된다.
다음 단계(S21)에서, 파티션 정보가 생성된다. 이 정보는 기본적으로 미디어 소스 블록의 어느 소스 심벌에 속하는 데이터 시퀀스의 어느 부분을 지정한다. 파 티션 정보는, 미디어 소스 블록(Z)의 비트(X) 내지 비트(Y)가 소스 심벌을 구성함을 지정한 테이블 내로 조직될 수 있다. 선택적으로, 이 정보는 각 소스 심벌의 바이트의 사이즈를 포함할 수 있다. 그리고 나서, 미디어 파일 내의 미디어 소스 블록의 개시 위치를 알면, 여러 소스 심벌에 속하는 어느 데이터 부분을 결정할 수 있다.
그 후, 이 방법은, 파티션 심벌이 FEC 데이터를 계산하기 위한 미디어 소스 블록과 함께 이용되는 단계(S2)로 계속한다. 따라서, 파티션 정보는 FEC 심벌의 생성을 위해 FEC 코덱으로 입력되어야 하는 미디어 소스 블록의 데이터 부분을 식별한다.
상술한 바와 같이, 본 발명의 목적은, 실제 미디어 데이터 이외에, 또한 신뢰성 보호 (사전 계산된 FEC 데이터)를 포함하는 미디어 컨테이너 파일을 제공하기 위한 것이다. 이것은, 파일 대 소스 블록 분할, 블록 파티션 및 FEC 보호 계산이 미디어 서버 내의 실제 미디어 전송 프로세스와 무관하게 "오프라인"에서 행해진다는 것을 의미한다. 이런 프리프로세싱(pre-processing)은 서버의 태스크를 간소화하고, 서버의 성능 요구 조건 및 복잡성을 줄인다. 게다가, 컨테이너 파일은 바람직하게는 또한, 미디어 데이터 및 FEC 데이터를 식별하여, 요구하는 클라이언트로 전송될 수 있는 미디어 스트림으로 구성하는 미디어 서버가 필요로 하는 정보 및 명령을 포함한다. 컨테이너 파일는 바람직하게는 또한, 미디어 세션의 완성에 따른 포스트 수리 진행에 유용한 FEC 데이터를 식별하여 구성하는 수리 서버가 필요로 하는 정보 및 명령을 더 포함한다. 따라서, 컨테이너 파일은, 데이터 컴파일 및 전 송을 위한 투명 및 유연한 서버에 의해 이용될 수 있는 데이터, 정보 및 명령의 완전한 패키지로서 간주될 수 있다.
도 4는 도 1의 컨테이너 파일 생성 방법의 부가적 단계를 도시한 흐름도이다. 이 방법은 도 1의 단계(S4)로부터 계속한다. 다음 단계(S30)에서, FEC 중복 데이터의 계산에 사용되는 기법의 FEC 알고리즘의 정보가 제공된다. 이 정보는 특정 알고리즘 또는 어떤 다른 기술적 정보(descriptive information)의 이름의 형식일 수 있다. 선택적 접근법에서, 각 이용 가능한 FEC 알고리즘은 미리 정해진 식별자를 갖는다. 따라서, 이런 FEC 식별자만이 이때 단계(S30)에서 제공될 수 있다. 통상의 구성에서, 동일한 FEC 코덱은 미디어 소스 파일의 모든 미디어 소스 블록에 대한 중복 데이터를 결정하기 위해 사용되었다. 그러나, 실제로, 주어진 미디어 소스 파일의 상이한 미디어 소스 블록 또는 상이한 소스 파일의 미디어 소스 블록에 대한 상이한 FEC 코덱을 이용할 수 있다. 그래서, FEC 정보는, 컨테이너 파일 내의 모든 블록이 단일 FEC 코덱을 가진 FEC 심벌을 생성하거나, 상이한 FEC 코덱이 이용된 어느 소스 블록 및 소스 블록의 그룹을 식별하도록 처리되었음을 명시한다.
다음 단계(S31)에서, 특정 미디어 소스 파일 분할의 정보가 제공된다. 이 정보는 미디어 서버 또는 수리 서버에 대한 관련성이 있을 수 있으며, 이때 이들은 미디어 데이터 패킷 스트림 또는 FEC 데이터를 요구하는 클라이언트에 제공할 수 있다.
다음 단계(S32)에서, 바람직하게는, 특성 테이블(property table)이 제공된다. 이 특성 테이블은 특히, 하나 이상의 미디어 소스 파일/스트림이 컨테이너 파 일 내에 포함될 경우에 유용하지만, 이점으로, 또한 단일 미디어 소스 파일을 포함할 시에만 이용될 수 있다. 파일 특성 테이블은 통상적으로 미디어 소스 파일의 미디어 타입, 바람직하게는 미디어의 Multipurpose Internet Mail Extensions (MIME) 타입의 정보를 포함한다. 따라서, MIME 정보는 미디어가 오디오 미디어, 비디오 미디어, 또는 Synchronized Multimedia Integration Language (SMIL)를 포함하는 어던 다른 미디어 타입임을 명시한다. 이 MIME 타입은, 실제로 컨테이너 파일 내에 포함되는 무슨 타입의 데이터의 미디어 서버에 정보를 제공한다. 특성 테이블은 또한 gzip를 포함하는 미디어 데이터에 사용되는 어떤 코딩 기법의 정보를 포함할 수 있다. 또한, 사이즈 정보는 이 특성 테이블 내에 포함될 수 있다. 이 사이즈 정보는, 바이트 또는 심벌의 수, (기본적으로 단계(S31)에서 제공된 분할 정보에 대응하는) 소스 파일의 미디어 소스 블록의 각각의 사이즈, 데이터를 전송할 시에 이용되는 데이터 패킷에 대한 최대 또는 타겟 페이로드 사이즈, (기본적으로 도 3의 단계(S21)에서 생성된 파티션 정보에 대응하는) 미디어 소스 심벌의 사이즈(바이트) 및/또는 FEC 심벌 등에 관한 각 미디어 소스 파일의 전체 사이즈를 나타낸다. 파일 이름 또는 파일 식별자는 바람직하게는 컨테이너 파일 내에 포함되는 각 미디어 소스 파일에 대한 특성 테이블 내에 포함된다.
컨테이너 파일 내의 각 미디어 소스 파일의 실제 저장 위치의 정보는 바람직하게는 특성 테이블 내에서 찾아진다. 이 위치 정보는 이 소스 파일의 제 1 미디어 소스 블록의 개시 위치를 명시하며, 이때 잔여 미디어 블록은 컨테이너 파일 내의 이 위치에 후속하여 찾아진다. 도 1의 단계(S4)에서 생성되고, 미디어 소스 블록과 컨테이너 파일 내의 FEC 레저버 간에 연관을 제공하는 메타 데이터는 또한 특성 테이블 내에 포함될 수 있다. 이에 대응하여, FEC 중복 데이터 계산을 위해 사용된 FEC 코드 및 사용된 블록 파티션의 정보는 바람직하게는 이 테이블 내에 포함된다.
그래서, 컨테이너 파일의 특성 테이블은, 미디어 소스에 대한 단일 정보 소스로서, 관련 미디어 소스 파일/블록을 위치시켜, 이 소스 QAMFFHR에 대한 FEC 중복 데이터 및, 미디어 세션 동안에 미디어 패킷의 컴파일에 유용한 다른 정보를 제공하는데 이용될 수 있다.
다음 단계(S33)는 미디어 서버에 의해 사용하기 위한 컴파일 명령을 생성시킨다. 이들 명령은, FEC 블록 연관을 제공하는 메타 데이터에 기초로 하여, 데이터 패킷의 미디어 스트림을 형성하도록 미디어 소스 블록으로부터의 미디어 데이터 및, 연관된 FEC 레저버로부터의 FEC 중복 데이터의 컴파일을 정하기 위해 이용된다. 따라서, 이들 명령은, 신뢰성 보호를 갖는 전송 가능한 미디어 패킷 스트림을 구성하기 위해 컨테이너 파일 내에 포함된 (미디어 및 FEC) 데이터를 이용하는 방법의 명령을 제공하는 힌트(hints) 또는 메타 데이터로서 간주될 수 있다. 그래서, 이들 명령은, 연관 메타 데이터와 함께, 미디어 데이터 및 FEC 데이터를 함께 미디어 세션 동안에 요구하는 클라이언트로 전송하기 위한 적절한 패킷으로 컴파일하는데 이용된다. 그래서, 이 명령은 미디어 소스 데이터 및 FEC 데이터의 서버측 전송 순서를 나타낼 것이다. 이들 정보는 통상적으로 시간 스케줄 정보, 타겟/소스 어드레스 또는 포트의 정보 또는 다른 세션 특정 정보를 포함하지 않는 것에 주목한다. 이것은, 컨테이너 파일 및 그 내의 컴파일 명령이 특정 세션에 투명하고, 실제로 상이한 수신 클라이언트를 가진 다수의 상이한 세션에 대한 미디어 서버에 의해 이용될 수 있고, 상이한 미디어 서버에 의해서도 이용될 수 있다는 것을 의미한다.
컴파일 명령은, 미디어 소스 블록 및 FEC 레저버의 서브세트에 적용할 수 있으며, 이는 이와 같은 다수의 명령이 세션 동안에 미디어 서버에 의해 판독되어 이용되어야 한다는 것을 의미한다. 선택적으로, 컴파일 명령은, 단일 미디어 소스 파일 또는 컨테이너 파일 내의 모든 미디어 소스 파일에 필요한 모든 정보를 포함한다.
컴파일 명령의 하나 이상의 세트는 실제로 단계(S33)에서 생성될 수 있다. 이와 같은 경우에, 상이한 선택적 명령은, 미디어 서버가 특정 미디어 세션 동안에 사용할 어느 특정 명령 세트를 결정하는 선택 사항을 갖도록 제공될 수 있다. 예컨대, 제 1 컴파일 명령은, 데이터 전송을 위한 단일 전송 채널을 사용할 시에 미디어 소스 블록 및 FEC 데이터의 전송 순서(transmission order)를 나타내기 위해 이용될 수 있다. 제 2 명령은, 동일한 미디어 소스 블록 및 FEC 데이터에 적용되지만, 다수의 채널이 이용 가능할 경우에 컴파일 및 전송 순서 정보를 제공하며, 이는 데이터가 순차적 대신에 병렬로 전송될 수 있다는 것을 의미한다. 따라서, 수개의 컴파일 명령은 상이한 투명 채널 조건을 위해 의도된 선택적 전송 세션을 제공하는데 이용될 수 있다.
유사한 방식으로, 선택적 컴파일 명령은 상이한 신뢰성 보호 오버헤드를 위해 포함될 수 있다. 예컨대, 제 1 컴파일 명령은, 제 1 최대 보호 오버헤드 레벨 동안에 미디어 소스 블록 및 FEC 데이터의 컴파일 및 전송 순서를 나타내는데 이용 되는 반면에, 제 2 명령은, 제 2 상이한 FEC 오버헤드 레벨을 가진 동일한 미디어 소스 블록에 이용된다. 이 제 2 상이한 FEC 오버헤드 레벨이 제 1 레벨보다 높으면(낮으면), 또한 본 기술 분야에 나타내는 더욱 많은 FEC 심벌 또는 패리티 심벌은 주어진 량의 미디어 소스 심벌에 부가될 수 있다.
미디어 서버에 의해 이용되는 컴파일 명령 이외에, 수리 서버에 적용 가능한 컴파일 명령은 단계(S33)에서 생성될 수 있다. 그 후, 이들 수리 전용 명령은 주로, 이전의 미디어 세션 동안에 수신된 모든 미디어 데이터를 정확히 수신하여 디코드할 수 없는 요구하는 클라이언트로 전송하도록 FEC 중복 데이터, 가능한 전용 포스트세션 FEC 중복 데이터를 식별하는 포스트세션 수리 서버에 의해 사용된다.
다음 단계(S34)는, 이전의 단계(S30 내지 S33), 바람직하게는 컨테이너 파일 내의 도 3의 단계(S21)에서 제공되고 생성된 정보, 테이블 및 명령을 조직한다. 이 컨테이너 파일은 이때, 요구하는 클라이언트로 전송하기 위한 데이터를 식별하여 구성하는 미디어 서버 또는 수리 서버가 필요로 하는 "원"(raw) 미디어 데이터, FEC 데이터 및 메타 데이터의 완전한 세트를 포함할 것이다. 그 후, 이 방법은 종료한다.
도 11은 본 발명에 따른 미디어 컨테이너 파일(1)의 개략도이다. 상술한 바와 같이, 컨테이너 파일(1)은 많은 미디어 소스 파일(10, 12, 14)의 미디어 데이터를 포함하며, 이와 같은 M개의 파일은 도면에 도시되어 있으며, 여기서, M≥1. 각 파일(10, 12, 14)의 미디어 데이터는 많은 미디어 소스 블록(20, 22, 24)으로 분할 되는 것으로 간주된다. 도면에서, 이와 같은 Q1개의 블록(20, 22, 24)DMS 제 1 미디어 소스 파일(10)에 대해 도시되었으며, 여기서, Q1≥1. 그 후, 이와 같은 각 미디어 소스 블록(20, 22, 24)은 소스 심벌로 파티션되는 것으로 간주된다.
미디어 데이터를 가진 미디어 소스 블록(20, 22, 24) 이외에, 컨테이너 파일(1)은, 신뢰성 보호를 제공하기 위한 미디어 데이터와 관련하여 이용되는 사전 계산된 FEC 중복 데이터를 포함하는 FEC 레저버(30, 32, 34)를 포함한다. 바람직한 실싱예에서, 각 미디어 소스 블록은 하나 이상의 전용 FEC 레저버(30, 32, 34)를 포함한다. 이와 같은 경우에, 도면에서 FEC 레저버(30, 32, 34)의 수 N은
Figure 112008048427018-PCT00001
이다. 선택적 접근법에서, 각 미디어 소스 파일(10, 12, 14)은 하나 이상의 전용 FEC 레저버, 즉 N≥M을 갖는다. 이와 같은 경우에, 레저버(30, 32, 34)의 각각의 부문 또는 영역은 상이한 미디어 소스 블록(20, 22, 24)에 의해 사용된다.
레저버(30, 32, 34) 내의 FEC 데이터를 기초로 하여 FEC 레저버(30, 32, 34)와 미디어 소스 블록(20, 22, 24) 간에 연관을 제공하는 본 발명의 연관 메타 데이터(40)는 또한 컨테이너 파일(1) 내에 제공된다. 도 11은 파일(1) 내의 이런 메타 데이터(40)의 다수의 상이한 가능 위치를 도시한다. 제 1 실시예에서, 메타 데이터는 연관된 미디어 소스 블록(20, 22, 24)과 관련하여 저장된다. 따라서, 이 파일 내의 미디어 소스 블록(20, 22, 24)의 식별은 그 소스 블록(20, 22, 24)의 각각의 메타 데이터(40)의 식별을 가능하게 한다. 선택적으로, 또는 부가적으로, 메타 데이터(40)는 각각의 FEC 레저버(30, 32, 34)와 함께 저장된다. 따라서 각 레저버(30, 32, 34)는 특정 레저버(30, 32, 34)가 사용하는 관련 미디어 소스 블록(20, 22, 24)을 식별하는 접속된 연관 메타 데이터(40)를 갖는다. 컨테이너 파일(1)이 바람직한 파일 특성 테이블(60)을 포함하면, 연관 메타 데이터(40)는 이 내에 제공될 수 있다. 이와 같은 경우에, 미디어 서버는, 미디어 세션 동안에 사용할 관련 미디어 데이터 및 FEC 데이터의 위치를 식별하도록 파일 특성 테이블(60)만을 조사할 수 있다. 다른 가능한 구성에서, 연관 메타 데이터(40)는 도면에서 힌트 트랙(hint tracks)으로 나타내는 컨테이너 파일(1)의 상이한 컴파일 명령(50, 52, 54)과 관련하여 저장된다. 이와 같은 경우에, 각 힌트 트랙(50, 52, 54)은, 힌트 트랙(50, 52, 54)의 명령에 의해 실시 가능한 미디어 세션 동안에 필요로 되는 메타 데이터(40)만을 포함할 필요가 있다. 이들 다수의 가능한 저장 위치의 조합은 또한 본 발명의 범주 내에서 가능하다.
선택적이지만 본 발명의 바람직한 구성에서, 컨테이너 파일(1)은 또한, 수리 절차 동안에 사용하기 위해 전용되고, 도면에서 수리 힌트 트랙(70)으로 나타내는 컴파일 명령(70)을 포함한다. 이런 힌트 트랙(70)은 이때 바람직하게는, 수리 절차에서 이용될 수 있는 포스트세션 FEC 데이터를 포함하는 FEC 레저버(30, 32, 34)의 식별에 유용한 연관 메타 데이터(45)를 포함하며, 이에 대해서는 여기서 추가적으로 기술된다.
본 발명의 특정 실시예에 따르면, 미디어 컨테이너 파일(1)은 인터리 브(interleaved) 유닛이며, 이는 점진적 다운로드 또는 스트리밍에 최적화된다. 이에 의해, 전체 멀티미디어 프리젠테이션은 소위 점진적 다운로드 또는 스트리밍에 의해 요구하는 클라이언트로 전송되어 다운로드될 수 있다.
ISO 베이스 미디어 파일 포맷 [2, 3, 4]은 이점으로 본 발명의 미디어 컨테이너 파일에 대한 파일 포맷으로 사용될 수 있다. 선택적 컨테이너 파일 포맷은 MP4 파일 포맷, 3GP 파일 포맷 및 QuickTime 포맷을 포함한다.
Asynchronous Layered Coding (ALC)은 단단하게 스케일러블 신뢰 가능한 내용 전송 프로토콜이다. 그것은 임의 이진 객체(arbitrary binary objects)의 신뢰 가능한 멀티캐스트 전송을 위한 베이스 프로토콜이고, 3GPP2 BCMCS (Broadcast/Multicast Service) and Open Mobile Alliance (OMA) Browser and Content (BAC) Broadcast (BCAST) working group에서 브로드캐스트/멀티캐스트 파일 전송을 위한 필수적인 프로토콜(mandatory protocol)로서 채택되었다.
FLUTE (File Delivery over Unidirecrtional Transport)는 ALC의 상부에 구축하고, 파일의 단일 방향 전송을 위한 프로토콜을 규정하며, 최근에는, 브로드캐스트/멀티캐스트 파일 전송을 위한 필수적인 프로토콜로서 3GPP MBMS 및 DVB-H IP Data Casting (IPDC)에 채택되었다. 양방의 ALC 및 FLUTE는 Internet Engineering Task Force (IETF)로 규정된다.
FLUTE는, ALC 세션 내에 전송된 파일과 연관된 메타 데이터를 반송하고, FDT의 대역내 전송 및 갱신을 위한 메카니즘을 제공하는 File Delivery Table (FDT)를 규정한다. 대조적으로, ALC는 파일 메타 데이터의 대역외 전송을 위한 다른 수단에 의존한다. OMA BCAST는 ALC 세션에 앞서 보통 클라이언트로 잘 전송되는 Electronic Service Guide (ESG)를 규정한다. 파일 메타 데이터가 ALC 세션 동안에 갱신될 필요가 있으면, ESG의 프래그먼트(fragments)는 ESG 전송/갱신 채널을 이용하여 갱신될 수 있다.
ALC 또는 FLUTE를 통해 전송될 파일은 ISO 컨테이너 파일 내의 항목으로서 저장될 수 있다. 메타 박스 및 그의 차일드(child) 박스는, 정적 미디어 (화상) 및 SMIL 프리젠테이션과 같은 다양한 데이터 항목을 ISO 베이스 미디어 파일 내에 저장할 수 있다. 이들은 또한 항목에 파일 이름 및 경로를 연관시키고, ISO 베이스 미디어 파일 내에 파일 디렉토리 구조를 신호 전송할 수 있다.
일반적으로, 파일이 ALC/FLUTE를 통해 송신될 수 있기 전에 제 1 단계는 이들 파일을 소스 블록 및 소스 심벌로 파티션할 수 있다. 게다가, 본 발명에 따르면, FEC 인코드된 패리티 심벌이 계산된다. 파티션은 FEC 기법, 타겟 패킷 사이즈 및 바람직한 FEC 오버헤드에 의존할 수 있다. FEC 인코드될 각 소스 블록에 대해, 패리티 심벌의 레저버는 사전 계산되어, FEC 기법상의 정보 및 소스 파일의 파티션과 함께 ISO 베이스 미디어 파일 내에 저장된다.
파일의 전송을 용이하게 하는 다음 단계는, ISO 베이스 미디어 파일이 또한 (Session Description Protocol을 가진) ALC/FLUTE 세션을 나타내는 멀티캐스트/브로드캐스트 서버에 대한 명령 및, 항목을 ALC 또는 FLUTE 패킷으로 캡슐화하는 방법을 포함하게 하는 것이다.
한편으로는 파일 파티션 및 FEC 레저버 및, 다른 한편으로는 파일의 전송을 위한 힌트 트랙이 서로 무관하게 이용될 수 있다. 전자는 힌트 트랙의 설계를 돕고, 예컨대, 상이한 FEC 오버헤드를 가진 선택적 힌트 트랙이 동일한 FEC 심벌을 재사용하도록 한다. 이들은 또한, ALC/FLUTE를 통해 실행될 수 있거나, 다른 프로토콜을 통해 대역외에 있을 수 있는 포스트 전송 수리를 위해 소스 심벌 및 부가적 FEC 심벌을 독립적으로 액세스하는 수단을 제공한다. 그러나, 서버가 힌트 트랙 명령에 따를 시에 복잡성을 감소시키기 위해, 힌트 트랙은 힌트 샘플로 카피된 항목 또는 데이터의 데이터 범위에 직접 관련된다.
다음에는, ISO 베이스 미디어 파일 포맷의 형식이고, ALC/FLUTE를 통해 전송하기 위해 구성된 컨테이너 파일의 더욱 상세한 실시예가 제공된다. 그러나, 이것은, 본 발명의 예시적인 예로서만 보여지고, 이 예에서의 명백한 수정 및 변경이 본 발명의 범주 내에서 가능하다.
소스 파일 및 FEC 레저버의 저장
ALC/FLUTE를 통해 전송하기 위해 의도된 파일은 컨테이너 파일로서 작용하는 ISO 베이스 미디어 파일의 탑레벨(top-level) Meta 박스 ('meta')내에 항목으로서 저장된다. Item Location 박스 ('iloc')는 컨테이너 파일 내의 각 항목(미디어 소스 파일)의 실제 저장 위치를 명시할 뿐만 아니라, 각 항목의 파일 사이즈도 명시한다. 각 항목의 파일 이름, 내용 타입 (MIME 타입) 등은 Item Information 박스 ('iinf')에 의해 제공된다.
유사한 방식으로, 사전 계산된 FEC 레저버는 Meta 박스 내에 부가적인 항목으로서 저장된다. 소스 파일이 수개의 소스 블록으로 분할되면, 각 소스 블록에 대 한 FEC 레저버는 바람직하게는 개별 항목으로서 저장된다. FEC 레저버와 원래의 소스 항목 간의 관계는 다음의 섹션에서 기술되는 File Delivery (FD) Item Information 박스 내에 기록된다.
FD Item Information 박스
소스 파일 및 FEC 레저버의 파티션에 관한 상세 사항은 FD Item Information 박스 ('fiin') 내에 제공된다. 이 박스는 바람직하게는 FE 힌트 트랙을 사용하는 파일에 이용되고, 바람직하게는 정확히 하나 파일이 Meta 박스 ('meta')내에 위치된다. 그것은 다음과 같이 정의된다:
Figure 112008048427018-PCT00002
FD Item Information 박스 내의 각 PartitionEntry는, 특정 파일 파티션, FEC 인코딩, 연관된 FEC 레저버 및, 특정 미디어 소스 파일에 대한 메타 데이터에 관한 상세 사항을 제공한다. 선택적 FEC 인코딩 기법 또는 파티션이 ISO 파일 내에 이용될 경우에 하나의 소스 파일에 다수의 엔트리를 제공할 수 있다. 모든 파티션 엔트리는 암시적으로 번호화될 수 있고, 제 1 엔트리는 통상적으로 번호 1을 갖는다.
파티션 엔트리
소스의 Partition Entry ('paen')은 다음과 같이 정의된다:
Figure 112008048427018-PCT00003
그것은 모두 미디어 소스 파일이 어떻게 FEC 인코드되는 가에 관한 모든 상세 사항을 제공하는 2개의 박스를 포함할 수 있다.
파일 파티션 박스
File Partition 박스 ('fpar')는 소스 파일을 식별하여, 이 파일의 파티션을 소스 블록 및 심벌 내로 제공한다. 정의:
Figure 112008048427018-PCT00004
의미론:
item _ ID는 소스 파일의 item_ID를 나타낸다. 하나 이상의 File Information 엔트리의 File Partition 박스 내의 동일한 item_ID를 이용함으로써 소스 파일의 선택적 파티션 및/또는 FEC 인코딩을 제공할 수 있다.
packet _ payload _ size는 파티션 알고리즘의 타겟 FLUTE 또는 ALC 패킷 페이로드 사이즈를 제공한다. UDP 패킷 페이로드는 이들이 또한 FLUTE 또는 ALC 헤더를 포함할 시에 더욱 크다.
FEC _ encoding _ ID는 FEC 인코딩 기법을 식별한다. 0의 값은, 또한 "Null-FEC" [5]로서 공지된 "Compact No-Code FEC 기법"과 같은 디폴트 기법에 대응할 수 있다. 1의 값은 바람직하게는 "MBMS FEC" [1]에 대응한다.
FEC _ instance _ ID는 Under-Specified FEC 기법에 이용되는 FEC 인코더의 더욱 특정한 식별을 제공한다. 이 값은 통상적으로 Fully-Specified FEC 기법에 이용되지 않는다. Under-Specified FEC 기법의 더욱더 상세 사항에 대해서는 문서 [5]를 참조한다.
max _ source _ block _ length는 미디어 소스 블록당 소스 심벌의 최대수를 제공한다.
encoding _ symbol _ length는 하나의 인코딩 심벌 (소스 심벌 및 FEC 패리티 심벌)의 사이즈(바이트)를 제공한다. 하나의 항목의 모든 인코딩 심벌은 바람직하게 는, 더욱 짧을 수 있는 최종 심벌을 제외하고는 동일한 길이를 갖는다.
max _ number _ of _ encoding _ symbol은 문서 [5]에서 정의된 FEC 인코딩 ID 129에 대한 소스 블록에 생성될 수 있는 인코딩 심벌의 최대수를 제공한다.
scheme _ specific _ info는 "FLUTEbis" 내의 기법 특정 객체 전달 정보(scheme-specific object transfer information) (FEC-OTI scheme specific info)의 베이스64-인코드된 널 종료 문자열(base64-encoded null-terminated string)이다. 정보의 정의는 FEC 인코딩 ID에 의존한다.
entry _ count는 소스 파일의 파티션을 제공하는 (block _ count, block _ size) 쌍의 리스트 내의 엔트리의 수를 제공한다. 파일의 시점으로부터 개시하면, 각 엔트리는 파일의 다음 세그먼트가 소스 블록 및 소스 심벌로 어떻게 분할되는지를 나타낸다.
block _ count 사이즈 block _ size(바이트)의 연속 소스 블록의 수를 나타낸다. (FEC Information 박스 내에 제공되는) 다수의 심벌 사이즈가 아닌 block_size는 최종 소스 심벌이 파일 항목 내에 저장되지 않은 패딩(padding)을 포함함을 나타낸다.
FEC Reservoir 박스
FEC Reservoir 박스 ('fecr')는 미디어 소스 파일을 부가적 항목으로서 저장된 FEC 레저버와 연관시킨다:
Figure 112008048427018-PCT00005
의미론:
entry _ count는 (item _ ID, symbol _ count) 쌍의 리스트 내의 엔트리의 수를 제공하며, 이 리스트는 각 FEC 레저버에 대한 item_ID 및, 그것이 포함하는 소스 심벌의 수를 제공한다. 이 리스트는 미디어 소스 파일의 제 1 소스 블록에 연관된 FEC 레저버로 개시하고, 파일을 통해 순차적으로 계속한다.
Item info 박스
브로드캐스트/멀티캐스트 파일 다운로드 프로토콜 (ALC/FLUTE)을 이용하여 내부적으로 매립된 이산 미디어를 전송하기 위해, 서버가 또한 이산 미디어에 대응하는 어떤 메타 미디어를 전송하는 것이 바람직하다. 이 메타 데이터는, FLUTE가 브로드캐스트 프로토콜로서 이용될 경우에는 FDT의 부분으로서 송신되고, ALC가 OMA BCAST ESG에 이용될 경우에는 OMA BCAST ESG의 부분으로서 송신된다.
Meta 데이터 정보의 일부가 플라이(fly) 상에 생성될 시에, 정적이고, 양방의 FLUTE 및 ALC에 공통인 메타 데이터의 부분에 대한 템블릿 구조(template structure)는 항목 정보 엔트리의 제 2 버전으로서 정의된다. 이런 항목 정보 엔트리의 버전은 소스 파일 파티션을 가진 항목에 대한 Item information 박스 내에 이용된다.
Figure 112008048427018-PCT00006
의미론:
item _ id는 1차 자원 (예컨대, 'xml' 박스 내에 포함된 Extensible Markup Language (XML))에 대한 0, 또는 다음의 정보가 정의되는 항목의 ID를 포함한다.
item _ protection _ index는 비보호 항목에 대한 0, 또는 이 항목에 적용된 보호를 정의하는 항목 보호 박스 내로의 1 기반 인덱스(one-based index)(항목 보호 박스 내의 제 1 박스는 인덱스 1을 가짐)을 포함한다.
content _ length는 (인코드되지 않은) 파일의 전체 길이(바이트)를 제공한다.
transfer _ length는 (인코드된) 파일의 전체 길이(바이트)를 제공한다. 전달 길이는 내용 인코딩이 적용되지 않을 경우에 내용 길이와 동일함에 주목한다(아래 참조).
item _ name는 항목의 심벌 이름, 즉 항목의 파일 이름(소스 파일)을 포함하는 UTF-8 문자 내의 널 종료 문자열이다.
content _ type는 항목의 MIME 타입을 가진 UTF-8 문자 내의 널 종료 문자열이다. 이 항목이 내용 인코드되면(아래 참조), MIME 타입은 내용 디코딩한 후의 항목을 나타낸다.
content _ location는 HTTP/1.1 [6]에서 정의된 바와 같이 파일의 URI를 포함하는 UTF-8 문자 내의 널 종료 문자열이다.
content _ encoding는 이진 파일이 인코드되어, 해석되기 전에 디코드될 필요가 있음을 나타내는데 이용되는 UTF-8 문자 내의 널 종료 문자열이다. 이 값은 HTTP/1.1에 대한 Content-Encoding에 정의된 바와 같다. 일부 가능한 값은 "gzip", "compress" 및 "deflate"이다. 텅빈 문자열은 내용 인코딩이 없음을 나타낸다. 항목은 내용 인코딩이 적용된 후에 저장됨에 주목한다.
content _ MD5는 파일 [6,7]의 MD5 다이제스트(digest)를 포함하는 UTF-8 문자 내의 널 종료 문자열이다.
entry _ count는 다음의 리스트 내의 엔트리의 수를 제공한다.
group _ ID는 파일 항목이 속하는 파일 그룹을 나타낸다.
모든 필드(field)가 바람직하게 사용된다. 그러나, 널 종료 문자열만이 이 필드의 대응하는 값이 제공되지 않음을 나타내는 널을 포함할 수 있다. 박스로의 미결정 확장(future extension)은 결국 부가적 필드를 부가할 수 있다.
각 항목에 대한 File Information 박스 내에 제공된 정보 및, 힌트 트랙에 의해 이용되는 항목의 리스트를 고려함으로써, FDT 또는 ESG에 필요한 파일 엔트리가 구성될 수 있다.
매립된 미디어 자원의 content_location은 ISO 베이스 미디어 파일 포맷 [2, 3]의 Section 8.44.7에 정의된 Universal Resource Location (URL) 형식을 이용함으로써 나타낼 수 있다.
Session Group 박스
FD 세션은 수개의 FD 채널을 통해 동시에 송신할 수 있으며, 이 채널의 각각은 FD 힌트 트랙으로 나타낸다. 세션 그룹 박스는 세션뿐만 아니라 모든 미디어 파일 그룹의 리스트 및, 각 세션에 속하는 힌트 트랙을 포함한다. 컨테이너 파일 내에 하나 이상의 FD 힌트 트랙이 존재하면, 하나의 세션 그룹 박스는 바람직하게는 FD Item Information 박스에 제공된다.
하나의 세션 그룹만이 항상 처리되어야 한다. 세션 그룹 내의 제 1 리스트된 힌트 트랙은 베이스 채널을 명시한다. 미디어 서버가 세션 그룹 간에 선취 권(preference)을 갖지 않으면, 디폴트 선택(default choice)은 제 1 세션 그룹이다. 힌트 트랙이 참조하는 파일을 포함하는 모든 파일 그룹의 그룹 ID는 파일 그룹의 리스트 내에 포함된다. 그 후, 파일 그룹 ID는 FDT 내에 서버에 의해 포함될 수 있는 (Group ID To Name 박스를 이용하는) 파일 그룹 이름으로 변환될 수 있다.
Figure 112008048427018-PCT00007
의미론:
num _ session _ groups은 세션 그룹의 수를 명시한다.
entry _ count는 세션 그룹이 따르는 모든 파일 그룹을 포함하는 다음의 리스트 내의 엔트리의 수를 제공한다. 세션 그룹은 각 소스 파일의 항목 정보 엔트리가 명시하는 바와 같이 리스트된 파일 그룹 내에 포함된 모든 파일을 포함한다. 세션 그룹에 대한 FDT는 바람직하게는 이 구조 내에 리스트되는 그룹만을 포함해야 한다.
group _ ID는 세션 그룹이 따르는 파일 그룹을 나타낸다.
num _ channels _ in _ session _ groups은 세션 그룹 내의 채널의 수를 명시한다. num_channels_in_session_groups의 값은 양의 정수이다.
hint _ track _ ID은 특정 세션 그룹에 속하는 FD 힌트 트랙의 트랙 ID를 명시한다. 하나의 FD 힌트 트랙은 하나의 Layered Coding Transport (LCT) 채널에 대응한다.
Group ID to name 박스
Group ID To Name 박스는 파일 그룹 이름을 항목 정보 엔트리 내에 이용된 파일 그룹 ID에 연관시킨다.
Figure 112008048427018-PCT00008
의미론:
entry _ count는 다음의 리스트 내의 엔트리의 수를 제공한다.
group _ ID는 파일 그룹을 나타낸다.
group _ name는 대응하는 파일 그룹 이름을 포함하는 UTF-8 문자 내의 널 종료 문자열이다.
Hint Track Format
힌트 트랙 구조는 다수의 데이터 포맷 내의 힌트 샘플을 지원하는데 일반화되어 있다. 힌트 트랙 샘플은 정확한 타입의 패킷 헤더를 구축할 필요가 있는 어떤 데이터를 포함하고, 또한 패킷 내에 속하는 데이터의 미디어 소스 블록으로의 포인터를 포함한다.
Sample entry format
FD 힌트 트랙은 File Delivery Protocol의 약어인 'fdp'의 샘플 디스크립션(sample description) 내이 엔트리 포맷을 가진 힌트 트랙 (미디어 핸들러 '힌트')이다. FDHintSampleEntry는 SampleDescriptionBox ('stsd') 내에 포함되고, 다음의 구문론(syntax)을 갖는다:
Figure 112008048427018-PCT00009
의미론:
partition _ entry _ ID는 FD 항목 정보 박스 내의 파티션 엔트리를 나타낸다. 0의 값은 파티션 엔트리가, 예컨대, FDT에 대해 이 샘플 엔트리와 연관되지 않음을 나타낸다.
FEC _ overhead는 힌트 샘플에 의해 이용되는 퍼센티지 보호 오버헤드를 나타내는 고정된 8.8 값이다. FEC_overhead를 제공하는 의도는 미디어 서버가 세션 그룹 ( 및 대응하는 FD 힌트 트랙)을 선택하는데 도움을 주는 특징을 제공하기 위한 것이다.
필드, "hinttrackversion" 및 "highestcompatibleversion"는 ISO 베이스 미디어 파일 포맷 [2, 3]의 섹션 10.2에 기술된 "RtpHintSampleEntry"에서와 동일한 해석을 갖는다. 부가적인 데이터로서, time_scale_entry 박스가 제공될 수 있다. 제공되지 않으면, 패킷의 타이밍에 제공되는 인디케이션이 존재하지 않는다.
FDT 또는 ESG에 필요한 파일 엔트리는, 힌트 트랙 및, 상기 item_ID가 참조하는 항목의 대응하는 File Metadata Information 박스의 모든 샘플 엔트리를 관찰함으로써 생성될 수 있다. 샘플 엔트리는 이들이 어떤 샘플에 의해 참조되지 않을 경우에는 힌트 트랙 내에 포함되지 않는다.
미디어 서버는 파일의 각 재전송의 FEC 심벌의 상이한 세트를 송신하는 것으로 권고된다.
Sample format
힌트 트랙 내의 각 FD 샘플은 하나 이상의 FD 패킷을 생성할 것이다. 각 샘플은 2개의 영역: 패킷을 구성하는 명령 및, 이들 패킷을 송신할 시에 필요한 어떤 여분의 데이터 (예컨대, 소스 파일 또는 FEC에 대한 항목에 있는 대신에 샘플로 카피되는 인코딩 심벌)을 포함한다. 샘플의 사이즈는 샘플 사이즈 테이블로부터 알려져 있는 것에 주목한다.
Figure 112008048427018-PCT00010
FD 샘플의 샘플 번호는 이들이 미디어 서버에 의해 처리되는 순서를 정의한다. 또한, 각 FD 샘플 내의 FD Packet 박스는 이들이 처리되는 순서에 나타난다. Time Scale Entry 박스는 FD Hint Sample Entry 내에 제공되면, 샘플 횟수(times)가 정해지고, 디폴트 비트율에 대한 패킷의 상대 송신 횟수를 제공한다. 실제 전송 비트율에 따라, 서버는 선형 시간 스케일링을 적용할 수 있다. 샘플 횟수는 스케줄링 프로세스를 간소화할 수 있지만, 미디어 서버는 적절한 방식으로 패킷을 송신해야 한다.
Packet entry format
FD 샘플 내의 각 패킷은 다음의 구조 [8-10]를 갖는다:
Figure 112008048427018-PCT00011
LCT _ header _ info는 현재 FD 패킷에 대한 LCT 헤더 템플릿을 포함한다.
entry _ count1: 다음의 생성자(constructor)의 카운트.
header _ extension _ constructors: LCT 헤더 확장을 생성하는데 이용되는 구조.
entry _ count2: 다음의 생성자의 카운트.
packet _ constructors: FEC 페이로드 ID 및 FD 패킷 내의 소스 심벌을 생성하는데 이용되는 구조.
LCT header template format
Figure 112008048427018-PCT00012
LCT 헤더 템플릿은 미디어 서버에 의해 패킷에 대한 LCT 헤더를 형성하는데 이용될 수 있다. 헤더의 일부는 서버 정책에 의존하고, 템플릿에 포함되지 않는 것에 주목한다. 일부 필드 길이는 또한 서버가 지정하는 LCT 헤더 비트에 의존한다. 이 서버는 또한 TOI의 값을 변경할 필요가 있을 수 있다.
LCT header extension constructor format
미디어 서버는 EXT_FDT가 제공되는지를 관찰함으로써 FDT를 포함하는 패킷을 식별할 수 있다.
Figure 112008048427018-PCT00013
header _ extension _ length는 다수의 32 비트 워드로 표현된다. 0의 값은 헤더 가 서버에 의해 생성된다는 것을 의미한다.
header _ extension _ content는 header_extension_length와 동일한 항목의 수이다.
Packet constructor format
여러 형식의 생성자가 있다. 각 생성자는 반복을 더욱 용이하게 하기 위해 16 바이트이다. 제 1 바이트는 유니온 판별기(union discriminator)이다. 이 구조는 ISO 베이스 미디어 파일 포맷 [2, 3]으로부터의 섹션 10.3.2에 기초로 한다. 패킷 생성자는 FEC 페이로드 ID뿐만 아니라 FD 패킷 내의 소스 심벌도 포함하는데 이용된다.
Figure 112008048427018-PCT00014
Figure 112008048427018-PCT00015
Extra Data 박스
FD 힌트 트랙의 각 샘플은 Extra Data 박스 내에 저장된 여분 데이터를 포함할 수 있다:
Figure 112008048427018-PCT00016
도 5는 본 발명에 따른 미디어 세션 관리 방법을 도시한 흐름도이다. 이런 미디어 세션 관리는 스트림 또는 다운로드 서버와 같은 미디어 서버에서 이루어지고, 본 발명의 미디어 컨테이너 파일을 이용한다. 이 방법은, 미디어 컨테이너 파일이 제공되는 단계(S40)에서 개시한다. 이런 파일 제공은, 미디어 서버의 메모리 위치로부터 컨테이너 파일을 인출함으로써 실현될 수 있으며, 이는 서버가 이전에 내용 제공자 또는 생성자로부터 파일을 수신하였음을 의미한다. 선택적으로, 미디어 서버는, 미디어 데이터에 대한 요구에 관련하여, 내용 제공자로부터 컨테이너 파일을 주문하거나 수신할 수 있다.
다음 단계(S41)에서, 미디어 데이터 패킷은, 컨테이너 파일의 미디어 소스 블록으로부터 미디어 데이터를 추출하고, FEC 레저버로부터 FEC 중복 데이터를 추 출함으로써 컴파일된다. 이 데이터 추출은 미디어 소스 블록과 FEC 레저버 간에 연관을 제공하는 컨테이너 파일 내의 메타 데이터에 기초로 하여 실행된다. 따라서, 미디어 서버는 바람직하게는 미디어 세션 동안에 전송할 미디어 데이터의 식별자를 수신한다. 선택적으로, 컨테이너 파일은 단일 미디어 데이터 파일의 미디어 데이터만을 포함하여, 미디어 소스를 선택할 필요가 없다. 어느 한 경우에, 파일 특성 테이블 내에서와 같이 컨테이너 파일 내에 포함된 이전에 나타낸 정보는 미디어 파일의 개시, 즉, 전송이 개시되어야 하는 제 1 미디어 소스 블록을 식별하는데 이용될 수 있다. 더욱이, 컨테이너 파일 내에 포함된 다른 정보는, 미디어 데이터 및 FEC 데이터가 조합되어야 하고, 무선 기반 채널 또는 다수의 채널을 통해 여러 클라이언트로 무선 전송하기 위해 구성된 데이터 패킷 내에 포함되어야 하는 명령으로서 이용된다. 본 발명의 메타 데이터는, 미디어 데이터가 현재 추출되는 미디어 소스 블록이 제공되면, 어느 FEC 데이터가 패킷 컴파일 단계(S41)에서 추출되어야 하는 연관된 FEC 레저버를 식별한다.
다음 단계(S42)에서, FEC 신뢰성 보호를 가진 컴파일된 미디어 데이터 패킷은, 바람직하게는 브로드캐스트 또는 멀티캐스트 기술을 통해, 미디어 데이터가 렌더될 수 있는 클라이언트로 전송된다. 패킷 전송은 통상적으로, 미디어 서버 내의 전송 버퍼가 주어진 레벨에 도달하면, 초기화된다. 그러나, 미디어 세션 동안, 새로운 데이터 패킷은 컴파일되어 전송 버퍼 내에 입력되지만, 다른 패킷은 전송되며, 이는 라인 L2로 개략적으로 도시된다.
생성된 컨테이너 파일 및 미디어 데이터의 조직 및 이 내의 사전 계산된 FEC 데이터의 제공은 미디어 세션 동안 미디어 서버의 처리 요구를 감소시킨다. 그래서, 이것은, 서버 복잡성을 감소시키고, 서버가 플라이 상에서 소스 블록 구성 및 FEC 인코딩을 필요로 하지 않음에 따라 서버 융통성(flexibility)을 허용한다. 명백히 대조적으로, 서버는 사전 계산된 소스 및 FEC 심벌을 추출하기 위해 컨테이너 파일 내의 메타 데이터 및 명령을 이용하고, 헤더 정보를 부가하여, 생성된 데이터 패킷을 클라이언트로 송신한다.
그리고 나서, 이 방법은 종료한다.
도 6은 도 4의 세션 관리 방법의 부가적 단계를 도시한 흐름도이다. 이 방법은 도 5의 단계(S40)에서 계속한다. 다음 단계(S50)에서, 현재 미디어 세션에서 데이터의 전송을 위해 사용될 수 있는 FEC 오버헤드 용량이 결정된다. 이 용량은, 미디어 전송을 위해 서버에 지정 가능한 대역폭 레벨, 이 미디어 전송을 위해 사용된 무선 반송파에 대한 최소 및 최대 비트율 레벨 등에 기초로 하여 결정되거나 적어도 추정될 수 있다. 사실상, 본 기술 분야에 공지된 데이터 전송과 관련하여 이와 같은 오버헤드 용량을 결정하는 어떤 기술은 이 단계(S50)에서 사용될 수 있다.
FEC 오버헤드 용량이 결정되었으면, 다음 단계(S51)는 결정된 오버헤드 용량을 기초로 하여 컴파일 명령 세트를 선택된다. 따라서, 미디어 컨테이너 파일은 이때 주어진 미디어 내용에 이용될 수 있는 컴파일 명령의 다수의 선택적 세트를 포함하지만, FEC 오버헤드의 상이한 레벨을 제공한다. 환언하면, 이들 선택적 컴파일 명령은 기본적으로, 미디어 데이터 패킷을 컴파일할 시에 미디어 데이터에 부가되는 FEC 중복 데이터량을 정한다. 수용 가능한 FEC 오버헤드가 크면 클수록, FEC 데 이터는 더욱 많이 부가된다. 상이한 선택적 컴파일 명령을 가짐으로써, 미디어 서버는, 현재 오버헤드 제한이 주어질 경우에 최고 허용 가능한 FEC 보호를 허용하는이들 명령을 이용할 수 있어, 단일 컴파일 명령 세트의 사용에 비해 여러 클라이언트에서 미디어 데이터의 성공적인 수신 및 디코딩의 기회를 증대시킨다.
그리고 나서, 이 방법은 도 5의 단계(S41)로 계속하며, 여기서, 미디어 데이터 패킷은 단계(S51)에서 선택된 컴파일 명령에 기초로 하여 미디어 내용 데이터 및 연관된 FEC 데이터로부터 컴파일된다.
도 12는 본 발명의 실시예에 따른 선택적 컴파일 명령의 이용을 나타내기 위해 이용되는 본 발명에 따른 미디어 컨테이너 파일(1)의 개략도이다. 컨테이너 파일(1)은, 바람직하게는 2개의 미디어 소스 블록과 같은 다수의 미디어 소스 블록을 포함하는 미디어 소스 파일(10)을 포함한다. 이 실시예에서, 소스 파일(10)의 각 미디어 소스 블록은, 각각의 소스 블록에 대해 사전 계산된 FEC 중복 데이터를 포함하는 연관된 FEC 레저버(30, 32)를 갖는다. 이런 예시적인 예에서, 컨테이너 파일(1)은 또한 상이한 FEC 오버헤드에 대한 컴파일 명령을 포함하는 3개의 힌트 트랙(50, 52, 54)을 포함한다. 예컨대, 제 1 힌트 트랙(50)은, 10 % 중복 오버헤드가 바람직할 시에 이용되고, 제 2 힌트 트랙(52)은 약 12 %의 FEC 오버헤드를 제공하며, 제 3 힌트 트랙(54)은 14 %의 FEC 오버헤드를 제공한다. 도면에서, 문서 [1]의 부록 B에 제시된 소스 블록 구성 알고리즘이 사용되었다. 제 1 힌트 트랙(50)이 선택되면, 데이터 패킷(81, 82, 83, 84)(이 도면에서는 미디어 소스 블록 및 FEC 블록 당 하나의 데이터 패킷만이 나타내었다)의 제 1 스트림이 생성된다. 그러나, 대 신에 제 2 힌트 트랙(52)이 이용되면, 데이터 패킷(91, 92, 93, 94)의 제 2 스트림이 생성된다. 제 1 스트림(80)에 비해, 제 2 스트림(90)은 미디어 소스 블록 당 더욱 큰 FEC 블록, 즉, 더욱 많은 FEC 중복 데이터를 포함한다. 그러나, 각각의 소스 블록은 2개의 스트림(80, 90)에서 동일한 미디어 데이터량을 포함한다.
상술한 바와 같이, 미디어 컨테이너 파일은 다수의 미디어 소스 파일 또는 상이한 미디어 내용을 반송하는 파일을 포함할 수 있다. 도 7은 이와 같은 다수의 파일 솔루션을 가진 도 5의 컴파일 및 전송 단계의 한 실시예를 도시한 흐름도이다. 이 방법은 도 5의 단계(S40)에서 계속한다. 다음 단계(S60)에서, 제 1 미디어 내용 파일 및 제 1 FEC 레저버의 미디어 데이터 패킷은 이런 특정 미디어 내용에 전용되는 메타 데이터 및 컴파일 명령에 기초로 하여 생성된다. 패킷 생성의 결과는 제 1 FEC 레저버로부터 제 1 세트의 미디어 내용 및 FEC 데이터를 포함하는 데이터 패킷의 스트림으로서 간주될 수 있다. 그리고 나서, 이런 제 1 세트의 데이터 패킷은 단계(S61)에서 무선 기반 통신 채널, 바람직하게는 브로드캐스트 또는 멀티캐스트 채널을 이용하여 요구하는 클라이언트로 전송된다.
그러나, 현재의 미디어 세션에서, 또한 제 2 미디어 소스 파일 또는 컨테이너 파일의 세트의 미디어 내용은 클라이언트로 전송되어야 한다. 결과로서, 제 2 미디어 소스 파일로부터의 미디어 내용 데이터 및, 제 2 연관된 FEC 레저버로부터의 FEC 중복 데이터를 포함하는 데이터 패킷은 단계(S62)에서 이 내용과 연관된 메타 데이터 및 컴파일 명령에 기초로 하여 생성된다. 그리고 나서, 생성된 데이터 패킷은, 단계(S63)에서, 상술한 단계(S61)에서 서버에 의해 사용된 동일한 무선 기 반 통신 채널을 이용하여 전송된다. 따라서, 2개의 데이터 패킷은 데이터 패킷의 연속 스트림으로서 송신될 것이다.
도 8은 다수의 파일 솔루션을 가진 도 5의 컴파일 및 전송 단계의 부가적 실시예를 도시한 흐름도이다. 이 방법은 도 5의 단계(S40)에서 계속한다. 다음 단계(S70)에서, 미디어 데이터 패킷은 제 1 미디어 소스 파일로부터의 미디어 내용 데이터 및, 제 1 FEC 레저버로부터의 FEC 데이터를 포함하도록 생성된다. 이 단계(S70)는 기본적으로 도 7의 단계(S60)에 대응하여, 여기서 더 이상 기술되지 않는다. 다음 단계(S71)는 도 6의 단계(S61)에 대응하며, 여기서, 데이터 패킷은 컨테이너 파일의 제 2 미디어 소스 파일 및 제 2 FEC 레저버로부터 도출된 미디어 내용을 포함한다. 이 실시예에서, 미디어 서버는 2개의 클라이언트 그룹 (IP 멀티캐스트 그룹)을 동시에 관리할 수 있다. 따라서, 다음 단계(S72)에서, 미디어 서버는, 단계(S70)에서 생성된 데이터 패킷의 제 1 세트 또는 스트림을 제 1 무선 기반 통신 채널을 이용하여 제 1 미디어 그룹의 클라이언트 멤버로 전송하거나, 제 2 미디어 데이터 패킷 스트림을 제 2 무선 기반 통신 채널을 이용하여 제 2 미디어 그룹의 클라이언트 멤버로 동시에 또는 적어도 부분적으로 동시에 전송한다. 따라서, 2개의 데이터 패킷은 이 실시예에서 병렬 미디어 스트림으로서 송신될 것이다. 그리고 나서, 이 방법은 종료한다.
본 발명은, 다수의 미디어 파일의 미디어 데이터가 컴파일되어 총체적으로 클라이언트의 그룹으로 전송되는 상황을 포함한다. 이와 같은 경우에, 다수의 소스 파일로부터의 미디어 데이터는 미디어 세션 동안에 미디어 서버에 의해 함께 관리 된다. 이것은 특히, 하나의 미디어 파일이 비디오 데이터를 포함하고, 제 2 미디어 파일이 연관된 오디오 데이터를 포함하는 경우이다. 2개의 파일의 미디어 데이터는 동일한 무선 기반 통신 채널 또는 상이한 이와 같은 채널을 이용하여 전송될 수 있다.
도 7 및 8에 관련하여 상술한 요지는 컨테이너 파일 내에 포함되는 2 이상의 미디어 소스 파일 및 FEC 레저버를 가진 경우를 처리하도록 확장될 수 있음을 본 발명에 의해 알게 된다.
도 13은 다수의 미디어 소스 파일(10, 12, 14) 및 다수의 FEC 레저버(30, 32, 34)를 가진 미디어 컨테이너 파일(1)의 개략도이다. 컨테이너 파일(1)은 또한, 소스 파일(10, 12, 14)로부터의 미디어 내용 데이터 및 레저버(30, 32, 34)로부터의 FEC 데이터를 추출하는데 필요한 컴파일 명령 및 메타 데이터를 가진 2개의 힌트 트랙(50, 52)을 포함한다.
제 1 힌트 트랙(50)은, 다수의 소스 파일(10, 12, 14) 및 FEC 레저버(30, 32, 34)로부터의 미디어 데이터 및 FEC 데이터를 포함하는 데이터 패킷(81, 82, 91, 92)의 스트림을 구성할 시에 미디어 서버에 의해 사용될 수 있다. 그리고 나서, 생성된 스트림은 무선 기반 채널을 이용하여 요구하는 클라이언트로 전송될 것이다(도 7과 비교). 제 2 힌트 트랙(52)은 다수의 미디어 그룹이 동시에 관리되어야 할 시에 사용될 수 있다. 따라서, 데이터 패킷(81, 82, 91, 92)의 다수의 병렬 스트림은 힌트 트랙(52), 소스 파일(10, 12, 14) 및 FEC 레저버(30, 32, 34)에 기초로 하여 미디어 서버에 의해 생성된다.
미디어 컨테이너 파일이 또한, 파일-블록 분할의 정보, 블록 파티션, FEC 알고리즘 및/또는 파일 특성 테이블의 정보와 같은 부가적 정보를 포함하면, 미디어 서버는 데이터 패킷 생성 및 전송 시에 이런 부가적 정보를 이용할 수 있다.
예컨대, 블록 파티션의 정보는, 컨테이너 파일 내의 미디어 소스 파일 및 블록으로부터 미디어 데이터를 추출하기 위한 메타 데이터와 함께 미디어 서버에 의해 이용될 수 있다. 이런 식으로, 파티션 정보는, 컨테이너 파일 내의 바람직한 미디어 데이터의 정확한 저장 위치를 정확히 식별하기 위해 서버에 도움을 준다. 이에 대응하여, FEC 알고리즘 정보는, 컨테이너 파일로부터 미디어 데이터 및 FEC 데이터를 추출할 시에 메타 데이터와 함께 미디어 서버에 의해 유용할 수 있다. 상이한 FEC 알고리즘은 소스 심벌 및 블록으로의 미디어 내용의 상이한 파티션을 필요로 하고, 파티션 이외에, 보호 오버헤드에 의존할 수 있다. 따라서, FEC 데이터를 사전 계산할 시에 사용되는 FEC 알고리즘 및 다른 FEC 파라미터의 정보는 미디어 서버에 이용할 수 있다.
미디어 서버에 의해 유용한 부가적 데이터 및 바람직하게는 MIME 타입의 정보, 어떤 코딩 정보, 사이즈 정보 등은 파일 특성 테이블 내에 포함되거나 적어도 알려질 수 있다. 바람직한 구성에서, 이런 특성 테이블은, 미디어 추출, 데이터 패킷 컴파일 및 전송에 관련하여 필요하거나 유익한 정보를 획득하기 위해 미디어 서버에 의해 액세스될 수 있는 단일 정보 또는 룩업(look-up) 소스를 구성한다.
본 발명의 미디어 서버는 또한 포스트 수리 진행에 사용될 수 있다. 따라서, 이와 같은 경우에, 미디어 내용 데이터 및 FEC 데이터가 클라이언트로 전송(멀티캐 스트)된 후, 클라이언트의 일부는, 미디어 스트림 내의 FEC 중복 데이터의 포함에도 불구하고, 수신된 미디어 심벌을 정확히 디코드할 수 없을 가능성이 있다. 도 9는 이와 같은 포스트 수리 절차를 규정하는 부가적 단계를 도시한 흐름도이다. 이 절차는 통상적으로, 미디어 세션 동안 미디어 전송이 종료되었거나, 클라이언트로의 일부 미디어 데이터의 전송에 적어도 후행하면, 초기화된다. 그래서, 이 방법은 도 5의 단계(S42)에서 계속한다. 다음 단계(S80)에서, 미디어 서버는, 서버와 함께 미디어 세션에 사전에 포함된 클라이언트로부터 발신하는 포스트 세션 수리 절차에 대한 요구를 수신한다. 수리 요구는 통상적으로 부정확하게 수신된 미디어 데이터의 식별자를 포함한다. 이 식별은, 특정 미디어 내용의 이름 및, 내용 서버가 클라이언트에 의해 성공적으로 수신되지 않은 내용의 부분을 더욱 상세히 식별하도록 하는 가능한 어떤 정보일 수 있다. 다음 단계(S81)에서, 서버는 이런 정보를 이용하여, 이 정보를 기초로 하여 식별된 FEC 레저버로부터 FEC 중복 데이터를 추출한다. 이 추출 단계(S81)에서, 서버는, 디폴트에 의해, 바람직하게는 유니캐스트 기반 데이터 전송을 이용하여, 단계(S82)에서 요구하는 클라이언트로 전송되는 FEC 심벌의 미리 정해진 수를 추출할 수 있다. 제공된 FEC 심벌이 미디어 내용의 성공적 디코딩을 위해 충분치 않으면, 클라이언트는 서버로부터 더욱 많은 FEC 심벌을 요구한다. 선택적으로, 클라이언트는, 서버가 클라이언트에서 미디어 내용의 성공적 디코딩을 위해 필요한 FEC 심벌의 수를 적어도 추정하도록 하는 정보를 서버에 제공한다. 이와 같은 경우에, 서버는 바람직하게는 추출 단계(S81)에서 이 정보를 이용하고, 추출된 FEC 심벌은 단계(S82)에서 클라이언트로 전송된다.
본 발명의 미디어 컨테이너 파일은 또한 미디어 세션에서의 이용에 따른 전용 포스트 세션 수리 절차에 사용될 수 있다. 도 10은 본 발명의 포스트 세션 수리 방법을 도시한 흐름도이다. 이 방법은 단계(S90)에서 개시하며, 여기서, 수리 서버는, 미디어 세션에 사전에 포함된 클라이언트로부터의 FEC 중복 데이터 및, 미디어 서버로부터의 수신된 미디어 데이터에 대한 요구를 수신한다. 단계(S90)에서 수신된 요구는, 수리 서버가 미디어 컨테이너 파일을 식별하도록 하는 식별자를 포함한다. 따라서, 이 서버는, 다음 단계(S91)에서, 요구, 통상적으로 이 요구 내의 식별자에 기초로 하여 관련 미디어 컨테이너 파일을 제공한다. 이 컨테이너 파일은, 통상적으로 이전의 미디어 세션에서 미디어 서버에 의해 이용된 컨테이너 파일의 카피이며, 따라서, 제각기 미디어 및 FEC 데이터를 포함하는 미디어 소스 블록 및 FEC 레저버를 포함하며, 이는 전송되지만, 요구하는 클라이언트에서 전체적으로 성공적으로 수신되지 않는다. 컨테이너 파일은, 내용 제공자/생성자로부터 또는 실제로 이전의 미디어 세션을 처리하는 미디어 서버로부터 명령을 받거나 요구될 수 있다.
수리 서버는 수리 요구에서 식별자를 이용하여, 단계(S92)에서 메타 데이터에 기초로 하여 미디어 컨테이너 파일로부터 FEC 중복 데이터를 추출한다. 바람직한 구성에서, 이 식별자는, 부정확하게 수신된 미디어 내용 또는 일부 더욱 상세한 정보를 포함하고, 상실한 미디어 데이터를 포함한 특정 미디어 소스 블록의 식별을 포함하는 미디어 소스 파일의 이름이다. 컨테이너 파일 내의 메타 데이터는 이때, FEC 데이터가 추출되어야하는 컨테이너 파일 내의 하나 이상의 FEC 레저버를 식별 하도록 식별자와 함께 이용된다. 도 9의 단계(S81)와 관련하여 기술된 바와 같이, 수리 서버는, 성공적 데이터 디코딩에 필요한 FEC 데이터량의 추정을 통지받는다. 선택적으로, 수리 서버는 FEC 심벌의 디폴트 수를 추출하여 송신하고, 심벌의 이들 디폴트 수가 충분치 않으면 더욱 많은 FEC 데이터를 요구할 클라이언트를 필요로 한다.
바람직한 구성에서, 컨테이너 파일은 포스트 세션 수리 명령(70)을 포함한다(도11 참조). 이들 명령은 이때 FEC 레저버(30, 32, 34)로부터 추출된 FEC 데이터를 포함하는 데이터 패킷을 컴파일하기 위해 수리 서버에 의해 이용된다. 이 추출 절차에서 서버에 의해 이용되는 메타 데이터(45)는, 도면에 도시된 바와 같이, 컴파일 명령(70)의 일부를 포함하거나 구성할 수 있다. 선택적으로, 메타 데이터(45)는, 컨테이너 파일(1) 내에 포함되는 관련 미디어 소스 파일(10, 12, 14), FEC 레저버(30, 32, 34) 또는 파일 특성 테이블(60)과 관련하여 제공될 수 있다.
도 14는 본 발명의 미디어 컨테이너 파일(1)을 생성하거나 이용하는 파티를 도시한 통신 네트워크의 개요도이다. 내용 서버(100)는, 미디어 소스 데이터를 수신하거나 이 데이터에 액세스하며, 미디어 컨테이너 파일(1)을 구성하는 내용 제공자 또는 생성기를 나타낸다. 이 컨테이너 파일(1)의 카피는 미디어 서버(200)로 송신되고, 미디어 서버(200)는, 미디어 세션에서 컨테이너 파일(1)을 이용하여, 도면에서 이동 단말기로 나타내는 여러 클라이언트(400, 410, 420)로 전송(멀티캐스트)되는 미디어 및 FEC 데이터를 포함하는 데이터 패킷을 컴파일한다. 수리 서버(300)는 미디어 세션에 따른 이동 단말기(400) 중 하나에 의해 미디어 서버(200)와 접촉 될 수 있다. 이와 같은 경우에, 수리 서버(300)는 내용 서버(400)로부터 미디어 컨테이너 파일(1)의 카피를 요구하여, 그것을 포스트 세션 수리 절차에서 이용한다.
도 15는 본 발명에 따른 미디어 내용 서버(100)의 개략적 블록도이다. 내용 서버(100)는 외부 유닛과 통신하기 위해 기능성 (전송기/수신기, 변조기/복조기, 인코더/디코더)을 위해 배치되고, 이 기능성을 포함하는 일반적 입력 및 출력(I/O) 유닛(110)을 포함한다. 이 I/O 유닛(110)은 특히 입력 미디어 내용을 수신하고, 미디어 컨테이너 파일에 대한 요구를 수신하기 위해 배치된다. I/O 유닛(110)은 또한, 이와 같은 컨테이너 파일을 통신 네트워크 내의 다른 서버로 전송할 시에 서버(100)에 의해 사용된다.
내용 서버(100)는 또한 본 발명의 미디어 컨테이너 파일을 생성하기 위해 배치된 컨테이너 파일 생성자(120)를 포함한다. 생성자(120)는 하나 이상의 미디어 소스 블록을 미디어 컨테이너 파일 내에 입력시켜 조직하기 위해 배치된 미디어 블록 관리자(130)를 포함한다. 이런 하나 이상의 입력 소스 블록은 바람직하게는 내용 서버(100)의 파일 분할기(190)로부터 제공된다. 선택적으로, 하나 이상의 소스 블록은 내부 데이터 저장부(115)로부터 검색되어, I/O 유닛(110)을 이용하여, 외부 미디어 소스(500, 510)로부터 제공될 수 있다.
내용 서버(100)의 FEC 코덱(160)은, 블록 관리자(130)에 의해 컨테이너 파일 내에 입력되는 미디어 소스 블록에 대한 FEC 중복 데이터를 계산한다. 이 FEC 코덱(160)은 이 계산 절차에서 상술한 어느 FEC 알고리즘을 이용할 수 있다. 코덱(160)은 모든 중복 데이터 계산을 위한 주어진 FEC 알고리즘을 이용하도록 설정 될 수 있다. 선택적으로, 코덱(160)은 다수의 상이한 알고리즘에 액세스하여, 실제 알고리즘을 선택할 수 있다. 알고리즘 선택은, 파일 분할기(190)에 의해 행해진 특정 블록 분할, 미디어 소스 블록 또는 어떤 다른 파라미터의 데이터의 타입과 같은 여러 파라미터에 기초로 하여 실행될 수 있다. 코덱(160)에 의해 계산된 FEC 데이터는 미디어 세션에서의 중복 데이터 및, 포스트 세션 절차에서의 수리 데이터의 양방으로서 사용될 수 있다.
생성된 계산된 FEC 데이터(심벌)는 파일 생성자(120)의 FEC 데이터 관리자(140)로 입력된다. 이 FEC 관리자(140)는 미디어 컨테이너 파일 내에서 입력 FEC 데이터를 하나 이상의 FEC 레저버 내에 조직한다. 바람직한 구성에서, FEC 코덱(160) 및 FEC 관리자(140)는 블록 관리자(130)에 의해 파일 내로 조직된 각 소스 블록에 대한 FEC 심벌을 생성시켜, 컨테이너 파일 내에서 소스 블록당 하나 이상의 FEC 레저버를 제공한다.
파일 관리자(120)의 메타 데이터 관리자(150)는 메타 데이터를 컨테이너 파일 내에 제공한다. 이 메타 데이터는 블록 관리자(130)에 의해 조직된 미디어 소스 블록과 FEC 관리자(140)에 의해 조직된 FEC 레저버 간에 연관을 제공한다.
생성된 미디어 컨테이너 파일은 이때 적어도 임시로, 데이터 저장부(115) 내에 저장되거나, I/O 유닛(110)에 의해 미디어 서버 또는 수리 서버로 전송될 수 있다.
바람직한 구성에서, 입력 미디어 내용은 파일 분할기(190)에 제공되는 미디어 소스 파일의 형식이다. 이 분할기(190)는 소스 파일을 하나 이상의 소스 블록으 로 분할한다. 분할기(190)는 여러 정보 또는 파라미터에 기초로 하여 이런 파일 분할을 베이스(base)할 수 있다. 예컨대, 파일 분할은, FEC 코덱(160)에 의해 사용되는 FEC 알고리즘에 기초로 하여 적어도 부분적으로 결정될 수 있다. 이와 같은 경우에, 파일 분할기(190)은 바람직하게는 이와 같은 FEC 알고리즘의 정보에 액세스한다. 분할기(190)는 이때 미디어 소스 파일을, N-1개의 사이즈 동등한 미디어 소스 블록 및, 다른 N-1 블록보다 사이즈가 작은 하나의 미디어 소스 블록으로 분할할 수 있다.
미디어 파일은 또한, 바람직하게는 파일 분할기에 의한 데이터의 처리에 따른 미디어 데이터 상에서 동작하는 블록 파티셔너(195)로 입력된다. 이 파티셔너(195)는 시간적으로 하나의 미디어 소스 블록 상에서 동작하고, 이 블록을 규정된 사이즈의 소스 심벌로 파티션한다. 이 블록 파티션은 바람직하게는 FEC 코덱(160)에 의해 사용될 특정 FEC 알고리즘 또는 기법에 기초로 한다. 블록 파티셔너(195)는 또한, 미디어 세션 동안에 미디어 서버에 의해 사용될 데이터 패킷으로 소스 심벌을 맞게 하도록 구성되는 파티션을 실행하기 위해 동작할 수 있다. 따라서, UDP 패킷 사이즈와 같은 패킷 사이즈, 정보는 파티셔너(195)에 의해 사용될 수 있다.
파티셔너(195)는 또한 생성된 블록 파티션의 정보를 생성한다. 이 정보는 이때, FEC 중복 데이터를 생성할 시에 사용하기 위해 FEC 코덱(160)으로 전송된다.
내용 서버(100)의 유닛(110, 120, 130, 140, 150, 160, 190 및 195)은 소프트웨어, 하드웨어 또는 이들의 조합으로 실시될 수 있거나 제공될 수 있다. 유 닛(110 내지 195)은 모두 통신 시스템에서 단일 네트워크 노드로 내용 서버(100)에서 실시될 수 있다. 선택적으로, 분배 구성은 또한 본 발명의 범주 내에서 가능하다. 이와 같은 경우에, 내용 서버(100)의 여러 유닛(110 내지 195)은 여러 네트워크 노드에서 배치될 수 있지만, 이것에도 불구하고 상술한 바와 같이 의도된 동작을 실행할 것이다.
도 16은 도 15의 컨테이너 파일 생성기(120)의 한 실시예를 더욱 상세히 도시한 개략적 블록도이다. 이 파일 생성기(120)는 또한 컨테이너 파일 내의 여러 정보 데이터를 포함하고 조직하는 정보 관리자(170)를 포함한다. 관리자(170)는 바람직하게는, FEC 코덱(160)에 의해 이용되는 FEC 알고리즘의 정보, 파일 분할기(190)에 의해 이용되는 파일 분할 및/또는 파일 내의 블록 파티셔너(195)의 블록 파티션을 제공한다. 다른 정보는, 미디어 타입, (블록 및/또는 심벌) 사이즈 정보, 내용 이름 및 식별자, 위치 정보, 선택적 코딩 정보 등과 같은 미디어 데이터를 묘사한 데이터일 수 있다. 바람직한 실시예에서, 이 정보는, 아마 메타 관리자(150)로부터의 메타 데이터와 함께, 컨테이너 파일 내에 포함된 파일 특성 테이블 내로 조직된다.
파일 생성기(120)의 명령 관리자(180)는 컴파일 명령을 생성시켜 컨테이너 파일 내에 삽입한다. 이들 명령은, 메타 데이터 관리자(150)로부터의 메타 데이터에 기초로 하여, 미디어 소스 블록으로부터의 미디어 데이터 및 FEC 레저버로부터의 FEC 데이터를 컴파일하기 위해 미디어 서버에 의해 이용되는 정보를 포함한다. 관리자(180)는 파일 내의 미디어 내용당 단일 명령 또는 명령 세트를 생성시킨다. 선택적으로, 상이한 FEC 오버헤드에 적합한 이와 같은 상이한 명령, 상이한 FEC 데이터 타입 및/또는, 미디어 세션에 사용된 무선 기반 통신 채널의 상이한 수는 관리자(180)에 의해 제공되고, 컨테이너 파일 내로 조직된다.
컨테이너 파일 생성기(120)의 유닛(130 내지 180)은 소프트웨어, 하드웨어 또는 이들의 조합으로 실시될 수 있거나 제공될 수 있다. 유닛(130 내지 180)은 모두 컨테이너 파일 생성기(120)에서 실시될 수 있다. 선택적으로, 분배 구성은 또한 본 발명의 범주 내에서 가능하다. 이와 같은 경우에, 컨테이너 파일 생성기(120)의 여러 유닛(120 내지 180)은 내용 서버(100)의 어느 다른 곳에 배치될 수 있다.
도 17은 본 발명에 따른 미디어 세션 서버(200)의 개략적 블록도이다. 이런 미디어 서버(200)는 외부 유닛과의 통신을 수행하는 I/O 유닛(210)을 포함한다. 이 I/O 유닛(210)은 특히 내용 서버로부터 미디어 파일 컨테이너를 요구하거나 수신하기 위해 배치된다. I/O 유닛(210)은 또한, 여러 사용자 클라이언트로부터 발신하는 미디어 내용에 대한 요구, 또는 클라이언트 미디어 내용이 전송되어야 하는 적어도 정보를 수신한다. 미디어 서버(200)에 의해 컴파일된 데이터 패킷은 또한 I/O 유닛(210)에 의해 이들 클라이언트로 전송된다.
서버(200)는, 현재 세션에서 이용할 미디어 내용 파일을 제공하는 미디어 파일 제공자(220)를 포함한다. 이 파일 제공자(220)는, I/O 유닛(210)에 의해 내용 생성자로 전송되는 특정 컨테이너 파일에 대한 요구를 생성시킬 수 있다. 선택적으로, 제공자(220)는 미디어 서버(200) 내에 제공된 데이터 저장부(260)로부터 이전에 수신된 컨테이너 파일을 인출한다.
데이터 패킷 컴파일러(230)는 메타 데이터 및, 바람직하게는 제공자(220)로부터 컨테이너 파일 내에 포함된 컴파일 명령을 이용하여, 파일로부터 미디어 데이터 및 FEC 데이터를 추출하고, 이 추출된 데이터를 포함하는 데이터 패킷을 생성시킨다. 이와 같이 생성된 데이터 패킷은 이때 I/O 유닛(210)에 의해 전송된다(I/O 유닛(210으로부터 스트림 또는 다운로드된다).
데이터 패킷 컴파일러(230)는 바람직하게는 또한, 이런 컴파일 프로세스에서 파일 내에 포함된 다른 정보 (FEC 알고리즘 정보, 분할/파티션 정보, 사이즈 정보, 내용 이름, 내용 저장 정보)를 이용한다. 따라서, 실제로, 미디어 데이터 및 FEC 데이터를 가진 데이터 패킷을 생성하는데 필요한 모든 명령 및 데이터는, 유연하고 효율적인 미디어 세션 관리를 고려하는 내용 파일 내에 제공된다.
상이한 컴파일 명령은 주어진 미디어 내용을 위해 파일 내에 포함된다. 예컨대, 이 명령은 채널 의존형 또는 용량 의존형일 수 있다. 전자의 경우에, 이용 가능한 무선 채널의 수 및, 전송되어야 하는 병렬 미디어 스트림의 수는 컴파일러(230)에 의해 이용할 실제 컴파일 명령을 결정한다. 후자의 경우에, FEC 용량 추정기(240)는 바람직하게는 세션 동안에 사용되어야 하는 FEC 오버헤드의 최대량을 추정하기 위해 서버(200) 내에 포함된다. 추정기(240)에 의해 실행되는 오버헤드 추정은 바람직하게는, 오버헤드 용량이 세션을 통해 변경될 시에 세션 동안에 동적으로 갱신된다. 세트 선택기(250)는 추정기(240)로부터의 용량 추정을 이용하여, 이용할 파일 내에서 이용 가능한 것의 어느 특정 컴파일 명령 또는 명령 세트를 선택한다. 패킷 컴파일러(230)는 이때 이 명령 (세트)을 이용하여, 미디어 데이터 및 FEC 데이터를 데이터 패킷 내로 컴파일한다.
미디어 서버(200)는 선택적으로 포스트 세션 수리 절차에서 미디어 서버(200)에 의해 이용될 수 있는 FEC 관리자(270)를 포함할 수 있다. 이와 같은 경우에, I/O 유닛(210)은 서버(200)가 이전에 미디어 및 FEC 데이터를 전송한 클라이언트로부터 발신하는 수리 요구를 수신한다. 이 요구는 I/O 유닛(210)으로부터 FEC 관리자(270)로 전송된다. 관리자(270)는 이 요구를 이용하여, 예컨대, 데이터 저장부(260) 내에 저장된 바와 같이, 미디어 컨테이너 파일로부터 FEC 중복 데이터 (심벌)를 식별하고 추출한다. 이 포스트 세션 FEC 추출 시에, FEC 관리자(270)는 컨테이너 파일 내에 포함된 포스트 세션 수리 명령을 사용하여, 정확한 FEC 데이터를 식별하고, 및/또는 추출된 FEC 데이터를 데이터 패킷으로 컴파일한다. 생성된 데이터 패킷은 이때 I/O 유닛(210)에 의해 요구하는 클라이언트로 전송된다.
미디어 서버(200)의 유닛(210, 220, 230, 240, 250 및 270)은 소프트웨어, 하드웨어 또는 이들의 조합으로 실시될 수 있거나 제공될 수 있다. 유닛(210 내지 270)은 모두 통신 시스템에서 단일 네트워크 노드로 내용 서버(200)에서 실시될 수 있다. 선택적으로, 분배 구성은 또한 본 발명의 범주 내에서 가능하다. 이와 같은 경우에, 미디어 서버(200)의 여러 유닛(210 내지 270)은 여러 네트워크 노드에서 배치될 수 있지만, 이것에도 불구하고 상술한 바와 같이 의도된 동작을 실행할 것이다.
도 18은 본 발명에 따른 수리 서버(300)의 개략적 블록도이다. 서버(300)는 외부 유닛과의 통신을 수행하기 위해 배치된 I/O 유닛(310)을 포함한다. 이 I/O 유 닛(310)은 특히 클라이언트로부터 포스트 세션 수리 요구를 수신하여, 내용 생성자 또는 미디어 세션 서버로부터 미디어 컨테이너 파일을 요구하기 위해 제공된다. FEC 중복 데이터를 포함하는 데이터 패킷의 전송은 또한 I/O 유닛(310)에 의해 실행된다.
수리 서버(300)는, 클라이언트로부터의 수리 요구의 수신에 응답하여 컨테이너 파일을 제공하는 미디어 파일 제공자(320)를 포함한다. 이 제공자(320)는, I/O 유닛(210)에 의해 파일을 제공하도록 내용 생성자로 전송되는 컨테이너 요구를 작성할 수 있다. 선택적으로, 수리 서버(300)는 컨테이너 파일을 사전에 수신하여, 파일 제공자(320)가 그것을 데이터 저장부(340)로부터 인출한다.
FEC 데이터 추출기(330)는 서버(300) 내에 배치되어, 수리 요구에 포함된 식별자에 기초로 하여 파일 제공자(320)에 의해 제공된 컨테이너 파일로부터 FEC 중복 데이터를 추출한다. 이 식별자는 클라이언트에 의해 성공적으로 수신되지 않은 미디어 내용의 이름 또는 다른 식별자일 수 있다. 미디어 세션 서버 및/또는 미디어 내용의 전송 시간의 식별자와 같은 다른 식별자가 이용되어, 아마 미디어 서버에 대한 요구에 의해, 수리 서버(300)가 정확한 미디어 내용을 식별하도록 한다. (잘못 수신된 미디어 소스 블록의 식별을 허용하는) 미디어 내용의 특정 부분과 같은 더욱 상세한 정보는 선택적으로 또는 부가적으로 사용될 수 있다.
데이터 추출기(330)에 의해 추출되는 FEC 데이터량은 사전 정해질 수 있다. 이런 사전 정해진 디폴트 레벨보다 더 많은 FEC 심벌이 필요하면, 클라이언트는 이에 따라 서버(300)에 확실히 통지해야 하거나, 클라이언트는 다른 FEC 데이터에 대 한 요구를 송신할 필요가 있다. 선택적으로, 추출기(330)는 모든 미디어 내용의 성공적 디코딩을 위해 필요할 수 있는 많은 FEC 심벌에 관해 클라이언트로부터 추정을 수신한다. 추출기(330)는 이때 FEC 데이터 추출 시에 이 추정을 이용한다.
바람직한 구성에서, 컨테이너 파일은, 컨테이너 파일 내의 FEC 레저버로부터 클라이언트로 송신될 수 있는 데이터 패킷으로 FEC 데이터의 컴파일을 정하는 포스트 세션 수리 명령을 포함한다. 이와 같은 경우에, 추출기는 추출 및 컴파일 프로세스에서 이들 명령을 이용한다.
수리 서버(300)의 유닛(310 내지 330)은 소프트웨어, 하드웨어 또는 이들의 조합으로 실시될 수 있거나 제공될 수 있다. 유닛(310 내지 340)은 모두 통신 시스템에서 단일 네트워크 노드로 수리 서버(300)에서 실시될 수 있다. 선택적으로, 분배 구성은 또한 본 발명의 범주 내에서 가능하다. 이와 같은 경우에, 수리 서버(300)의 여러 유닛(310 내지 340)은 여러 네트워크 노드에서 배치될 수 있지만,이것에도 불구하고 상술한 바와 같이 의도된 동작을 실행할 것이다.
당업자는, 첨부한 청구범위로 규정되는 본 발명의 범주 내에서 본 발명에 대한 여러 수정 및 변경이 행해질 수 있음을 이해하게 될 것이다.
참고 문헌
[1] 3GPP TS 26.346 V7.0.0, 3rd Generation Partnership Project; Technical Specification Group Services and System Aspects; Mulitimedia Broadcast/Multicast Service (MBMS); Protocols and codecs, June 2006
[2] ISO/IEC 14496-12:2005: "ISO base media file format"
[3] ISO/IEC 15444-12:2005: "ISO base media file format"
[4] International application WO 2005/039131
[5] RFC 3695; Compact Forward Error Correction (FEC) Schemes, February 2004
[6] RFC 2616; Hypertext Transfer Protocol - HTTP/1.1, June 1999
[7] RFC 1864; The Content- MDS Header Field, October 1995
[8] RFC 3926; FLUTE - File Delivery over Unidirectional Transport, October 2004
[9] RFC 3450; Asynchrononous Layered Coding (ALC) Protocol Instantiation, December 2002
[10] RFC 3451; Layered Coding Transport (LCT) Building Block, December 2002

Claims (39)

  1. 미디어 컨테이너 파일을 생성하는 방법에 있어서,
    상기 미디어 컨테이너 파일 내에 하나 이상의 미디어 소스 블록을 조직하는 단계;
    상기 하나 이상의 미디어 소스 블록을 기초로 하여 순방향 에러 정정, FEC 중복 데이터를 계산하는 단계;
    상기 미디어 컨테이너 파일 내의 하나 이상의 FEC 레저버 내에 상기 FEC 중복 데이터를 조직하는 단계 및;
    상기 미디어 컨테이너 파일 내에, 상기 하나 이상의 미디어 소스 블록과 상기 하나 이상의 FEC 레저버 간에 연관을 제공하는 메타 데이터를 제공하는 단계를 포함하는 것을 특징으로 하는 미디어 컨테이너 파일을 생성하는 방법.
  2. 제 1 항에 있어서,
    미디어 소스 파일을 제공하는 단계 및;
    상기 미디어 소스 파일을 상기 하나 이상의 미디어 소스 블록으로 분할하는 단계를 더 포함하는 것을 특징으로 하는 미디어 컨테이너 파일을 생성하는 방법.
  3. 제 2 항에 있어서,
    상기 분할 단계는 적어도 부분적으로 상기 FEC 중복 데이터를 계산하기 위해 이용되는 FEC 알고리즘에 기초로 하여 상기 미디어 소스 파일을 상기 하나 이상의 미디어 소스 블록으로 분할하는 단계를 포함하는 것을 특징으로 하는 미디어 컨테이너 파일을 생성하는 방법.
  4. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
    상기 계산 단계는,
    상기 FEC 중복 데이터를 계산하기 위해 이용되는 FEC 알고리즘에 기초로 하여 상기 하나 이상의 미디어 소스 블록을 다수의 미디어 심벌로 파티션하는 단계;
    상기 미디어 소스 블록 파티션의 파티션 정보를 생성하는 단계 및;
    상기 하나 이상의 미디어 소스 블록 및 상기 파티션 정보에 기초로 하여 상기 FEC 중복 데이터를 계산하는 단계를 포함하는 것을 특징으로 하는 미디어 컨테이너 파일을 생성하는 방법.
  5. 제 4 항에 있어서,
    상기 미디어 컨테이너 파일 내에, 상기 FEC 알고리즘 및 상기 파티션 정보의 정보를 제공하는 단계를 더 포함하는 것을 특징으로 하는 미디어 컨테이너 파일을 생성하는 방법.
  6. 제 1 항 내지 제 5 항 중 어느 한 항에 있어서,
    상기 미디어 컨테이너 파일 내에, 상기 미디어 컨테이너 파일 내의 상기 하 나 이상의 미디어 소스 블록의 저장 위치 정보를 포함하는 특성 테이블을 제공하는 단계를 더 포함하는 것을 특징으로 하는 미디어 컨테이너 파일을 생성하는 방법.
  7. 제 1 항 내지 제 6 항 중 어느 한 항에 있어서,
    상기 메타 데이터에 기초로 하여, 데이터 패킷의 미디어 스트림을 형성하도록 상기 하나 이상의 미디어 소스 블록으로부터의 미디어 데이터 및, 상기 하나 이상의 FEC 레저버로부터의 FEC 중복 데이터의 컴파일을 정하는 컴파일 명령을 생성하는 단계 및;
    상기 미디어 컨테이너 파일 내에 상기 컴파일 명령을 조직하는 단계를 더 포함하는 것을 특징으로 하는 미디어 컨테이너 파일을 생성하는 방법.
  8. 제 7 항에 있어서,
    상기 컴파일 명령을 생성하는 단계는,
    상기 메타 데이터에 기초로 하여, 제 1 레벨의 FEC 중복 오버헤드를 가진 데이터 패킷의 제 1 미디어 스트림을 형성하도록 상기 하나 이상의 미디어 소스 블록으로부터의 미디어 데이터 및, 상기 하나 이상의 FEC 레저버로부터의 FEC 중복 데이터의 컴파일을 정하는 컴파일 명령의 제 1 세트를 생성하는 단계 및;
    상기 메타 데이터에 기초로 하여, 제 2 레벨의 FEC 중복 오버헤드를 가진 데이터 패킷의 제 2 미디어 스트림을 형성하도록 상기 하나 이상의 미디어 소스 블록으로부터의 미디어 데이터 및, 상기 하나 이상의 FEC 레저버로부터의 FEC 중복 데 이터의 컴파일을 정하는 컴파일 명령의 제 2 세트를 생성하는 단계를 포함하는 것을 특징으로 하는 미디어 컨테이너 파일을 생성하는 방법.
  9. 제 1 항 내지 제 8 항 중 어느 한 항에 있어서,
    상기 FEC 중복 데이터는 미디어 세션 중에 이용되는 FEC 중복 데이터이고, 상기 방법은,
    상기 하나 이상의 미디어 소스 블록에 기초로 하여, 포스트 세션 수리 절차에 유용한 포스트 세션 FEC 중복 데이터를 계산하는 단계;
    상기 미디어 컨테이너 파일 내의 하나 이상의 FEC 레저버 내에 상기 포스트 세션 FEC 중복 데이터를 조직하는 단계 및;
    상기 미디어 컨테이너 파일 내에, 상기 하나 이상의 미디어 소스 블록과 연관된 식별자에 기초로 하여 상기 하나 이상의 FEC 레저버의 식별을 가능하게 하는 메타 데이터를 제공하는 단계를 포함하는 것을 특징으로 하는 미디어 컨테이너 파일을 생성하는 방법.
  10. 미디어 내용 서버에 있어서,
    상기 미디어 컨테이너 파일 내에 하나 이상의 미디어 소스 블록을 조직하기 위해 배치된 미디어 블록 관리자;
    상기 하나 이상의 미디어 소스 블록을 기초로 하여 FEC 중복 데이터를 계산하기 위해 배치된 순방향 에러 정정, FEC 코덱;
    상기 미디어 컨테이너 파일 내의 하나 이상의 FEC 레저버 내에 상기 FEC 중복 데이터를 조직하기 위해 상기 FEC 코덱에 접속되어 배치된 FEC 데이터 관리자 및;
    상기 미디어 컨테이너 파일 내에, 상기 하나 이상의 미디어 소스 블록과 상기 하나 이상의 FEC 레저버 간에 연관을 제공하는 메타 데이터를 제공하기 위해 배치된 메타 데이터 관리를 포함하는 것을 특징으로 하는 미디어 내용 서버.
  11. 제 10 항에 있어서,
    미디어 소스 파일을 제공하기 위해 배치된 미디어 소스 및;
    상기 미디어 소스 파일을 상기 하나 이상의 미디어 소스 블록으로 분할하기 위해 상기 미디어 소스에 접속된 파일 분할기를 더 포함하는 것을 특징으로 하는 미디어 내용 서버.
  12. 제 11 항에 있어서,
    상기 파일 분할기는 적어도 부분적으로 상기 FEC 중복 데이터를 계산하기 위해 상기 FEC 코덱에 의해 이용되는 FEC 알고리즘에 기초로 하여 상기 미디어 소스 파일을 상기 하나 이상의 미디어 소스 블록으로 파티션하기 위해 배치되는 것을 특징으로 하는 미디어 내용 서버.
  13. 제 10 항 내지 제 12 항 중 어느 한 항에 있어서,
    상기 FEC 코덱에 의해 이용되는 FEC 알고리즘에 기초로 하여 상기 하나 이상의 미디어 소스 블록을 다수의 미디어 심벌로 파티션하여, 상기 미디어 소스 블록 파티션의 파티션 정보를 생성하는 블록 파티셔너를 더 포함하는데, 상기 FEC 코덱은 상기 하나 이상의 미디어 소스 블록 및 상기 파티션 정보에 기초로 하여 상기 FEC 중복 데이터를 계산하기 위해 배치되는 것을 특징으로 하는 미디어 내용 서버.
  14. 제 13 항에 있어서,
    상기 미디어 컨테이너 파일 내에, 상기 FEC 코덱에 의해 이용되는 상기 FEC 알고리즘 및 상기 파티션 정보의 정보를 제공하기 위해 배치되는 정보 관리자를 더 포함하는 것을 특징으로 하는 미디어 내용 서버.
  15. 제 10 항 내지 제 14 항 중 어느 한 항에 있어서,
    상기 미디어 컨테이너 파일 내에, 상기 미디어 컨테이너 파일 내의 상기 하나 이상의 미디어 소스 블록의 저장 위치 정보를 포함하는 특성 테이블을 제공하기 위해 배치되는 정보 관리자를 더 포함하는 것을 특징으로 하는 미디어 내용 서버.
  16. 제 10 항 내지 제 15 항 중 어느 한 항에 있어서,
    1) 상기 메타 데이터 관리자에 의해 제공된 상기 메타 데이터에 기초로 하여, 데이터 패킷의 미디어 스트림을 형성하도록 상기 하나 이상의 미디어 소스 블록으로부터의 미디어 데이터 및, 상기 하나 이상의 FEC 레저버로부터의 FEC 중복 데이터의 컴파일을 정하는 컴파일 명령을 생성하고, 2) 상기 미디어 컨테이너 파일 내에 상기 컴파일 명령을 조직하기 위해 배치된 명령 관리자를 더 포함하는 것을 특징으로 하는 미디어 내용 서버.
  17. 제 16 항에 있어서,
    상기 명령 관리자는, 1) 상기 메타 데이터 관리자에 의해 제공된 상기 메타 데이터에 기초로 하여, 제 1 레벨의 FEC 중복 오버헤드를 가진 데이터 패킷의 제 1 미디어 스트림을 형성하도록 상기 하나 이상의 미디어 소스 블록으로부터의 미디어 데이터 및, 상기 하나 이상의 FEC 레저버로부터의 FEC 중복 데이터의 컴파일을 정하는 컴파일 명령의 제 1 세트를 생성하고, 2) 상기 메타 데이터 관리자에 의해 제공된 상기 메타 데이터에 기초로 하여, 제 2 레벨의 FEC 중복 오버헤드를 가진 데이터 패킷의 제 2 미디어 스트림을 형성하도록 상기 하나 이상의 미디어 소스 블록으로부터의 미디어 데이터 및, 상기 하나 이상의 FEC 레저버로부터의 FEC 중복 데이터의 컴파일을 정하는 컴파일 명령의 제 2 세트를 생성하기 위해 배치되는 것을 특징으로 하는 미디어 내용 서버.
  18. 제 10 항 내지 제 17 항 중 어느 한 항에 있어서,
    FEC 코덱에 의해 생성된 상기 FEC 중복 데이터는 미디어 세션 중에 이용되도록 의도된 FEC 중복 데이터이고, 상기 FEC 코덱은, 상기 하나 이상의 미디어 소스 블록에 기초로 하여, 포스트 세션 수리 절차에 유용한 포스트 세션 FEC 중복 데이 터를 계산하기 위해 배치되고, 상기 FEC 데이터 관리자는 상기 미디어 컨테이너 파일 내의 하나 이상의 FEC 레저버 내에서 상기 FEC 코덱에 의해 계산되는 상기 포스트 세션 FEC 중복 데이터를 조직하기 위해 배치되며, 그리고 상기 메타 데이터 관리자는, 상기 미디어 컨테이너 파일 내에, 상기 하나 이상의 미디어 소스 블록과 연관된 식별자에 기초로 하여 상기 하나 이상의 FEC 레저버의 식별을 가능하게 하는 메타 데이터를 제공하기 위해 배치되는 것을 특징으로 하는 미디어 내용 서버.
  19. 미디어 컨테이너 파일에 있어서,
    하나 이상의 미디어 소스 블록;
    상기 하나 이상의 미디어 소스 블록에 기초로 하여 생성된 FEC 중복 데이터를 포함하는 하나 이상의 순방향 에러 정정, FEC 레저버 및;
    상기 하나 이상의 미디어 소스 블록과 상기 FEC 레저버 간에 연관을 제공하는 메타 데이터를 포함하는 것을 특징으로 하는 미디어 컨테이너 파일.
  20. 제 19 항에 있어서,
    상기 FEC 중복 데이터를 계산하기 위해 이용되는 소스 블록 파티션의 파티션파티션 및;
    선택적으로, 상기 FEC 중복 데이터를 계산하기 위해 이용되는 FEC 알고리즘의 정보를 포함하는 것을 특징으로 하는 미디어 컨테이너 파일.
  21. 제 19 항 또는 제 20 항에 있어서,
    상기 미디어 컨테이너 파일 내의 상기 하나 이상의 미디어 소스 블록의 저장 위치 정보를 포함하는 특성 테이블을 더 포함하는 것을 특징으로 하는 미디어 컨테이너 파일.
  22. 제 19 항 내지 제 21 항 중 어느 한 항에 있어서,
    상기 메타 데이터에 기초로 하여, 데이터 패킷의 미디어 스트림을 형성하도록 상기 하나 이상의 미디어 소스 블록으로부터의 미디어 데이터 및, 상기 하나 이상의 FEC 레저버로부터의 FEC 중복 데이터의 컴파일을 정하는 컴파일 명령을 더 포함하는 것을 특징으로 하는 미디어 컨테이너 파일.
  23. 제 19 항 내지 제 22 항 중 어느 한 항에 있어서,
    상기 FEC 중복 데이터는 미디어 세션 중에 이용되도록 의도된 FEC 중복 데이터이고, 상기 미디어 컨테이너 파일은,
    포스트 세션 수리 절차에 유용한 포스트 세션 FEC 중복 데이터를 포함하는 하나 이상의 FEC 레저버 및;
    상기 하나 이상의 미디어 소스 블록과 연관된 식별자에 기초로 하여 상기 하나 이상의 FEC 레저버의 식별을 가능하게 하는 메타 데이터를 더 포함하는 것을 특징으로 하는 미디어 컨테이너 파일.
  24. 미디어 세션 관리 방법에 있어서,
    하나 이상의 미디어 소스 블록을 포함하는 미디어 컨테이너 파일, 상기 하나 이상의 미디어 소스 블록에 기초로 하여 생성된 FEC 중복 데이터를 포함하는 하나 이상의 순방향 에러 정정, FEC 레저버 및, 상기 하나 이상의 미디어 소스 블록과 상기 FEC 레저버 간에 연관을 제공하는 메타 데이터를 제공하는 단계;
    상기 메타 데이터에 기초로 하여, 상기 하나 이상의 미디어 소스 블록으로부터의 미디어 데이터 및, 상기 하나 이상의 FEC 레저버로부터의 FEC 중복 데이터를 추출함으로써 데이터 패킷을 컴파일하는 단계 및;
    상기 데이터 패킷을 미디어 세션 동안에 하나 이상의 사용자 단말기로 전송하는 단계를 포함하는 것을 특징으로 하는 미디어 세션 관리 방법.
  25. 제 24 항에 있어서,
    상기 미디어 컨테이너 파일은 데이터 패킷의 미디어 스트림을 형성하도록 상기 하나 이상의 미디어 소스 블록으로부터의 미디어 데이터 및, 상기 하나 이상의 FEC 레저버로부터의 FEC 중복 데이터의 컴파일을 정하는 컴파일 명령을 더 포함하고, 상기 컴파일 단계는, 상기 메타 데이터 및 상기 컴파일 명령에 기초로 하여, 상기 하나 이상의 미디어 소스 블록으로부터의 미디어 데이터 및, 상기 하나 이상의 FEC 레저버로부터의 FEC 중복 데이터를 추출함으로써 상기 데이터 패킷을 컴파일하는 단계를 포함하는 것을 특징으로 하는 미디어 세션 관리 방법.
  26. 제 25 항에 있어서,
    상기 컴파일 명령은 다수의 컴파일 명령 세트를 포함하며, 여기서, 각 컴파일 명령 세트는 규정된 FEC 중복 오버헤드와 연관되며, 상기 방법은,
    상기 미디어 세션 동안에 FEC 중복 오버헤드 용량을 추정하는 단계 및,
    상기 추정된 FEC 중복 오버헤드 용량에 기초로 하여 상기 다수의 컴파일 명령 세트로부터 하나의 컴파일 명령 세트를 선택하는 단계를 포함하는데, 상기 컴파일 단계는, 상기 메타 데이터 및 상기 선택된 컴파일 명령 세트에 기초로 하여, 상기 하나 이상의 미디어 소스 블록으로부터의 미디어 데이터 및, 상기 하나 이상의 FEC 레저버로부터의 FEC 중복 데이터를 추출함으로써 상기 데이터 패킷을 컴파일하는 단계를 포함하는 것을 특징으로 하는 미디어 세션 관리 방법.
  27. 제 24 항 내지 제 26 항 중 어느 한 항에 있어서,
    상기 미디어 컨테이너 파일은 상기 미디어 컨테이너 파일 내의 상기 하나 이상의 미디어 소스 블록의 저장 정보를 포함하는 특성 테이블을 더 포함하고, 상기 컴파일 단계는, 상기 메타 데이터 및 상기 특성 테이블에 기초로 하여, 상기 하나 이상의 미디어 소스 블록으로부터의 미디어 데이터 및, 상기 하나 이상의 FEC 레저버로부터의 FEC 중복 데이터를 추출함으로써 상기 데이터 패킷을 컴파일하는 단계를 포함하는 것을 특징으로 하는 미디어 세션 관리 방법.
  28. 제 24 항 내지 제 27 항 중 어느 한 항에 있어서,
    상기 하나 이상의 사용자 단말기 중의 하나의 사용자 단말기로부터 발신하는 포스트 세션 수리 절차에 대한 요구를 수신하는 단계;
    상기 요구에 기초로 하여 상기 하나 이상의 FEC 레저버로부터의 FEC 중복 데이터를 추출하는 단계 및;
    상기 추출된 FEC 중복 데이터를 상기 사용자 단말기로 전송하는 단계를 포함하는 것을 특징으로 하는 미디어 세션 관리 방법.
  29. 제 28 항에 있어서,
    상기 미디어 컨테이너 파일은 포스트 세션 수리 세션 동안에 FEC 중복 데이터를 식별하는데 유용한 포스트 세션 수리 명령을 더 포함하고, 상기 추출 단계는 상기 요구 및 상기 포스트 세션 수리 명령에 기초로 하여 상기 하나 이상의 FEC 레저버로부터의 FEC 중복 데이터를 추출하는 단계를 포함하는 것을 특징으로 하는 미디어 세션 관리 방법.
  30. 미디어 세션 서버에 있어서,
    하나 이상의 미디어 소스 블록을 포함하는 미디어 컨테이너 파일, 상기 하나 이상의 미디어 소스 블록에 기초로 하여 생성된 FEC 중복 데이터를 포함하는 하나 이상의 순방향 에러 정정, FEC 레저버 및, 상기 하나 이상의 미디어 소스 블록과 상기 FEC 레저버 간에 연관을 제공하는 메타 데이터를 제공하는 미디어 파일 제공자;
    상기 메타 데이터에 기초로 하여, 상기 하나 이상의 미디어 소스 블록으로부터의 미디어 데이터 및, 상기 하나 이상의 FEC 레저버로부터의 FEC 중복 데이터를 추출함으로써 데이터 패킷을 컴파일하기 위해 상기 미디어 파일 제공자에 접속되어 배치된 데이터 패킷 컴파일러 및;
    상기 데이터 패킷 컴파일러에 의해 컴파일된 상기 데이터 패킷을 미디어 세션 동안에 하나 이상의 사용자 단말기로 전송하기 위해 상기 데이터 패킷 컴파일러에 접속되어 배치된 전송기를 포함하는 것을 특징으로 하는 미디어 세션 서버.
  31. 제 30 항에 있어서,
    상기 미디어 컨테이너 파일은 데이터 패킷의 미디어 스트림을 형성하도록 상기 하나 이상의 미디어 소스 블록으로부터의 미디어 데이터 및, 상기 하나 이상의 FEC 레저버로부터의 FEC 중복 데이터의 컴파일을 정하는 컴파일 명령을 더 포함하고, 상기 데이터 패킷 컴파일러는, 상기 메타 데이터 및 상기 컴파일 명령에 기초로 하여, 상기 하나 이상의 미디어 소스 블록으로부터의 미디어 데이터 및, 상기 하나 이상의 FEC 레저버로부터의 FEC 중복 데이터를 추출함으로써 상기 데이터 패킷을 컴파일하기 위해 배치되는 것을 특징으로 하는 미디어 세션 서버.
  32. 제 31 항에 있어서,
    상기 컴파일 명령은 다수의 컴파일 명령 세트를 포함하며, 여기서, 각 컴파일 명령 세트는 규정된 FEC 중복 오버헤드와 연관되며, 상기 미디어 세션 서버는,
    상기 미디어 세션 동안에 FEC 중복 오버헤드 용량을 추정하기 위해 배치된 FEC 용량 추정기 및,
    상기 FEC 용량 추정기에 의해 추정된 상기 FEC 중복 오버헤드 용량에 기초로 하여 상기 다수의 컴파일 명령 세트로부터 하나의 컴파일 명령 세트를 선택하기 위해 상기 FEC 용량 추정기에 접속되어 배치된 세트 선택기를 포함하는데, 상기 데이터 패킷 컴파일러는, 상기 메타 데이터 및 상기 세트 선택기에 의해 선택된 상기 컴파일 명령 세트에 기초로 하여, 상기 하나 이상의 미디어 소스 블록으로부터의 미디어 데이터 및, 상기 하나 이상의 FEC 레저버로부터의 FEC 중복 데이터를 추출함으로써 상기 데이터 패킷을 컴파일하기 위해 배치되는 것을 특징으로 하는 미디어 세션 서버.
  33. 제 30 항 내지 제 32 항 중 어느 한 항에 있어서,
    상기 미디어 컨테이너 파일은 상기 미디어 컨테이너 파일 내의 상기 하나 이상의 미디어 소스 블록의 저장 정보를 포함하는 특성 테이블을 더 포함하고, 상기 데이터 패킷 컴파일러는, 상기 메타 데이터 및 상기 특성 테이블에 기초로 하여, 상기 하나 이상의 미디어 소스 블록으로부터의 미디어 데이터 및, 상기 하나 이상의 FEC 레저버로부터의 FEC 중복 데이터를 추출함으로써 상기 데이터 패킷을 컴파일하기 위해 배치되는 것을 특징으로 하는 미디어 세션 서버.
  34. 제 30 항 내지 제 33 항 중 어느 한 항에 있어서,
    상기 하나 이상의 사용자 단말기 중의 하나의 사용자 단말기로부터 발신하는 포스트 세션 수리 절차에 대한 요구를 수신하기 위해 배치된 수신기 및;
    상기 수신기에 의해 수신된 상기 요구에 기초로 하여 상기 하나 이상의 FEC 레저버로부터의 FEC 중복 데이터를 추출하기 위해 배치된 FEC 관리자를 포함하는데, 상기 전송기는 상기 FEC 관리자에 의해 추출된 상기 FEC 중복 데이터를 상기 사용자 단말기로 전송하기 위해 상기 FEC 관리자에 접속되어 배치되는 것을 특징으로 하는 미디어 세션 서버.
  35. 제 34 항에 있어서,
    상기 미디어 컨테이너 파일은 포스트 세션 수리 세션 동안에 FEC 중복 데이터를 식별하는데 유용한 포스트 세션 수리 명령을 더 포함하고, 상기 FEC 관리자는 상기 요구 및 상기 포스트 세션 수리 명령에 기초로 하여 상기 하나 이상의 FEC 레저버로부터의 FEC 중복 데이터를 추출하기 위해 배치되는 것을 특징으로 하는 미디어 세션 서버.
  36. 포스트 세션 수리 방법에 있어서,
    하나 이상의 미디어 소스 블록으로부터 추출된 미디어 데이터를 포함하는 데이터 패킷을 사전에 수신한 사용자 단말기로부터 순방향 에러 정정, FEC 중복 데이터에 대한 요구를 수신하는 단계로서, 상기 요구는 상기 하나 이상의 미디어 소스 블록과 연관된 식별자를 포함하는 단계;
    상기 요구에 기초로 하여, 1) 상기 하나 이상의 미디어 소스 블록, 2) 상기 하나 이상의 미디어 소스 블록에 기초로 하여 생성된 FEC 중복 데이터를 포함하는 하나 이상의 FEC 레저버 및, 3) 상기 하나 이상의 미디어 소스 블록과 연관된 식별자에 기초로 하여 상기 하나 이상의 FEC 레저버의 식별을 가능하게 하는 메타 데이터를 포함하는 미디어 컨테이너 파일을 제공하는 단계;
    상기 수신된 식별자에 기초로 하여 상기 하나 이상의 FEC 레저버로부터 FEC 중복 데이터를 추출하는 단계 및;
    상기 추출된 FEC 중복 데이터를 상기 사용자 단말기로 전송하는 단계를 포함하는 것을 특징으로 하는 포스트 세션 수리 방법.
  37. 제 36 항에 있어서,
    상기 미디어 컨테이너 파일은 FEC 중복 데이터의 하나 이상의 데이터 패킷을 형성하도록 상기 하나 이상의 FEC 레저버로부터의 FEC 중복 데이터의 컴파일을 정하는 포스트 세션 수리 명령을 더 포함하고, 상기 추출 단계는 상기 수신된 식별자 및 상기 포스트 세션 수리 명령에 기초로 하여 상기 하나 이상의 FEC 레저버로부터 FEC 중복 데이터를 추출하는 단계를 포함하는 것을 특징으로 하는 포스트 세션 수리 방법.
  38. 수리 서버에 있어서,
    하나 이상의 미디어 소스 블록으로부터 추출된 미디어 데이터를 포함하는 데 이터 패킷을 사전에 수신한 사용자 단말기로부터 순방향 에러 정정, FEC 중복 데이터에 대한 요구를 수신하는 수신기로서, 상기 요구는 상기 하나 이상의 미디어 소스 블록과 연관된 식별자를 포함하는 수신기;
    상기 수신기에 의해 수신된 상기 요구에 기초로 하여, 1) 상기 하나 이상의 미디어 소스 블록, 2) 상기 하나 이상의 미디어 소스 블록에 기초로 하여 생성된 FEC 중복 데이터를 포함하는 하나 이상의 FEC 레저버 및, 3) 상기 하나 이상의 미디어 소스 블록과 연관된 식별자에 기초로 하여 상기 하나 이상의 FEC 레저버의 식별을 가능하게 하는 메타 데이터를 포함하는 미디어 컨테이너 파일을 제공하기 위해 상기 수신기에 접속되어 배치된 컨테이너 파일 제공자;
    상기 수신된 식별자에 기초로 하여 상기 하나 이상의 FEC 레저버로부터 FEC 중복 데이터를 추출하기 위해 상기 컨테이너 파일 제공자에 접속되어 배치된 FEC 데이터 추출기 및;
    상기 추출된 FEC 중복 데이터를 상기 사용자 단말기로 전송하기 위해 상기 FEC 데이터 추출기에 접속되어 배치된 전송기를 포함하는 것을 특징으로 하는 수리 서버.
  39. 제 38 항에 있어서,
    상기 미디어 컨테이너 파일은 FEC 중복 데이터의 하나 이상의 데이터 패킷을 형성하도록 상기 하나 이상의 FEC 레저버로부터의 FEC 중복 데이터의 컴파일을 정하는 포스트 세션 수리 명령을 더 포함하고, 상기 FEC 데이터 추출기는 상기 수신 된 식별자 및 상기 포스트 세션 수리 명령에 기초로 하여 상기 하나 이상의 FEC 레저버로부터 FEC 중복 데이터를 추출하기 위해 배치되는 것을 특징으로 하는 수리 서버.
KR1020087016330A 2006-01-05 2007-01-04 미디어 컨테이너 파일 관리 KR101353620B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US74309506P 2006-01-05 2006-01-05
US60/743,095 2006-01-05
PCT/SE2007/000005 WO2007078253A2 (en) 2006-01-05 2007-01-04 Media container file management

Publications (2)

Publication Number Publication Date
KR20080083299A true KR20080083299A (ko) 2008-09-17
KR101353620B1 KR101353620B1 (ko) 2014-01-20

Family

ID=38228633

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020087016330A KR101353620B1 (ko) 2006-01-05 2007-01-04 미디어 컨테이너 파일 관리
KR1020087016332A KR101274422B1 (ko) 2006-01-05 2008-07-04 미디어 컨테이너 파일 관리

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020087016332A KR101274422B1 (ko) 2006-01-05 2008-07-04 미디어 컨테이너 파일 관리

Country Status (10)

Country Link
US (2) US8225164B2 (ko)
EP (3) EP1969857B1 (ko)
JP (3) JP5112333B2 (ko)
KR (2) KR101353620B1 (ko)
CN (2) CN101366287B (ko)
AT (1) ATE551787T1 (ko)
DK (1) DK1969857T3 (ko)
ES (2) ES2383230T3 (ko)
PL (2) PL1969857T3 (ko)
WO (2) WO2007078252A2 (ko)

Cited By (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8806050B2 (en) 2010-08-10 2014-08-12 Qualcomm Incorporated Manifest file updates for network streaming of coded multimedia data
KR101456957B1 (ko) * 2009-09-22 2014-10-31 퀄컴 인코포레이티드 협력 병렬 http 및 순방향 에러 정정을 사용하여 향상된 블록-요청 스트리밍
US8887020B2 (en) 2003-10-06 2014-11-11 Digital Fountain, Inc. Error-correcting multi-stage code generator and decoder for communication systems having single transmitters or multiple transmitters
US8918533B2 (en) 2010-07-13 2014-12-23 Qualcomm Incorporated Video switching for streaming video data
US8958375B2 (en) 2011-02-11 2015-02-17 Qualcomm Incorporated Framing for an improved radio link protocol including FEC
US9136878B2 (en) 2004-05-07 2015-09-15 Digital Fountain, Inc. File download and streaming system
US9136983B2 (en) 2006-02-13 2015-09-15 Digital Fountain, Inc. Streaming and buffering using variable FEC overhead and protection periods
US9178535B2 (en) 2006-06-09 2015-11-03 Digital Fountain, Inc. Dynamic stream interleaving and sub-stream based delivery
US9185439B2 (en) 2010-07-15 2015-11-10 Qualcomm Incorporated Signaling data for multiplexing video components
US9237101B2 (en) 2007-09-12 2016-01-12 Digital Fountain, Inc. Generating and communicating source identification information to enable reliable communications
US9236976B2 (en) 2001-12-21 2016-01-12 Digital Fountain, Inc. Multi stage code generator and decoder for communication systems
US9236885B2 (en) 2002-10-05 2016-01-12 Digital Fountain, Inc. Systematic encoding and decoding of chain reaction codes
US9240810B2 (en) 2002-06-11 2016-01-19 Digital Fountain, Inc. Systems and processes for decoding chain reaction codes through inactivation
US9246633B2 (en) 1998-09-23 2016-01-26 Digital Fountain, Inc. Information additive code generator and decoder for communication systems
US9253233B2 (en) 2011-08-31 2016-02-02 Qualcomm Incorporated Switch signaling methods providing improved switching between representations for adaptive HTTP streaming
US9264069B2 (en) 2006-05-10 2016-02-16 Digital Fountain, Inc. Code generator and decoder for communications systems operating using hybrid codes to allow for multiple efficient uses of the communications systems
US9270414B2 (en) 2006-02-21 2016-02-23 Digital Fountain, Inc. Multiple-field based code generator and decoder for communications systems
US9270299B2 (en) 2011-02-11 2016-02-23 Qualcomm Incorporated Encoding and decoding using elastic codes with flexible source block mapping
US9281847B2 (en) 2009-02-27 2016-03-08 Qualcomm Incorporated Mobile reception of digital video broadcasting—terrestrial services
US9288010B2 (en) 2009-08-19 2016-03-15 Qualcomm Incorporated Universal file delivery methods for providing unequal error protection and bundled file delivery services
US9294226B2 (en) 2012-03-26 2016-03-22 Qualcomm Incorporated Universal object delivery and template-based file delivery
US9380096B2 (en) 2006-06-09 2016-06-28 Qualcomm Incorporated Enhanced block-request streaming system for handling low-latency streaming
US9386064B2 (en) 2006-06-09 2016-07-05 Qualcomm Incorporated Enhanced block-request streaming using URL templates and construction rules
US9419749B2 (en) 2009-08-19 2016-08-16 Qualcomm Incorporated Methods and apparatus employing FEC codes with permanent inactivation of symbols for encoding and decoding processes
US9432433B2 (en) 2006-06-09 2016-08-30 Qualcomm Incorporated Enhanced block-request streaming system using signaling or block creation
US9485546B2 (en) 2010-06-29 2016-11-01 Qualcomm Incorporated Signaling video samples for trick mode video representations
US9596447B2 (en) 2010-07-21 2017-03-14 Qualcomm Incorporated Providing frame packing type information for video coding
US9843844B2 (en) 2011-10-05 2017-12-12 Qualcomm Incorporated Network streaming of media data
US9917874B2 (en) 2009-09-22 2018-03-13 Qualcomm Incorporated Enhanced block-request streaming using block partitioning or request controls for improved client-side handling

Families Citing this family (97)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006020826A2 (en) * 2004-08-11 2006-02-23 Digital Fountain, Inc. Method and apparatus for fast encoding of data symbols according to half-weight codes
ES2383230T3 (es) * 2006-01-05 2012-06-19 Telefonaktiebolaget Lm Ericsson (Publ) Gestión de archivos contenedores de medios
US8769311B2 (en) 2006-05-31 2014-07-01 International Business Machines Corporation Systems and methods for transformation of logical data objects for storage
EP2030115A4 (en) 2006-05-31 2012-08-22 Ibm METHOD AND SYSTEM FOR TRANSFORMING LOGICAL DATA OBJECTS FOR STORAGE
US20100211690A1 (en) * 2009-02-13 2010-08-19 Digital Fountain, Inc. Block partitioning for a data stream
WO2008003094A2 (en) * 2006-06-29 2008-01-03 Digital Fountain, Inc. Efficient representation of symbol-based transformations with application to encoding and decoding of forward error correction codes
US8010863B2 (en) * 2006-07-28 2011-08-30 Thomson Licensing Method and apparatus for synchronizing multiple multimedia streams
KR100819302B1 (ko) * 2006-12-01 2008-04-02 삼성전자주식회사 광대역 무선 접속 시스템의 멀티캐스트 및 브로드캐스트서비스를 위한 데이터 송수신 방법
US8209605B2 (en) * 2006-12-13 2012-06-26 Pado Metaware Ab Method and system for facilitating the examination of documents
US20080177782A1 (en) * 2007-01-10 2008-07-24 Pado Metaware Ab Method and system for facilitating the production of documents
CN101675435B (zh) * 2007-05-04 2013-02-06 诺基亚公司 将媒体流记录到多媒体容器文件的接收索引轨道中
US8010507B2 (en) * 2007-05-24 2011-08-30 Pado Metaware Ab Method and system for harmonization of variants of a sequential file
CN101359996B (zh) 2007-08-02 2012-04-04 华为技术有限公司 媒体业务呈现方法及通讯系统以及相关设备
US8085767B2 (en) * 2007-08-30 2011-12-27 General Dynamics C4 Systems, Inc. Systems and methods for reliable message delivery over digital networks
US8849183B2 (en) 2007-10-05 2014-09-30 Qualcomm Incorporated Location and time based filtering of broadcast information
KR20100106418A (ko) * 2007-11-28 2010-10-01 디브이엑스, 인크. 부분적으로 이용가능한 멀티미디어 컨텐트의 재생 시스템 및 방법
US20100257572A1 (en) 2007-12-14 2010-10-07 Thomson Licensing Apparatus and method for simulcast over a variable bandwidth channel
WO2009078839A1 (en) 2007-12-18 2009-06-25 Thomson Licensing Apparatus and method for file size estimation over broadcast networks
WO2009087563A2 (en) * 2008-01-09 2009-07-16 Nokia Corporation Systems and methods for media container file generation
US20090228716A1 (en) * 2008-02-08 2009-09-10 Pado Metawsre Ab Method and system for distributed coordination of access to digital files
WO2009114111A2 (en) * 2008-03-12 2009-09-17 Packetvideo Corp. System and method for reformatting digital broadcast multimedia for a mobile device
JP5169362B2 (ja) * 2008-03-24 2013-03-27 富士通株式会社 セッション情報複製方法、前記方法を実行する呼制御サーバ及び前記方法のプログラム
EP2109293A1 (en) 2008-04-11 2009-10-14 Thomson Licensing System and method for improving the file transmission reliability
WO2009137705A2 (en) * 2008-05-07 2009-11-12 Digital Fountain, Inc. Fast channel zapping and high quality streaming protection over a broadcast channel
US20100023842A1 (en) * 2008-07-25 2010-01-28 Nortel Networks Limited Multisegment loss protection
US8813220B2 (en) * 2008-08-20 2014-08-19 The Boeing Company Methods and systems for internet protocol (IP) packet header collection and storage
US8726382B2 (en) * 2008-08-20 2014-05-13 The Boeing Company Methods and systems for automated detection and tracking of network attacks
US8762515B2 (en) * 2008-08-20 2014-06-24 The Boeing Company Methods and systems for collection, tracking, and display of near real time multicast data
US8407743B2 (en) * 2008-08-22 2013-03-26 Lg Electronics Inc. Method for processing additional information related to an announced service or content in an NRT service and a broadcast receiver
EP2327058A4 (en) * 2008-09-23 2017-03-29 Telefonaktiebolaget LM Ericsson (publ) Pixel block processing
US20100094995A1 (en) * 2008-10-14 2010-04-15 Entropic Communications, Inc. Silent Probes in a Communication Network
US8418036B2 (en) * 2008-10-16 2013-04-09 Entropic Communications, Inc. Method and apparatus for performing forward error correction in an orthogonal frequency division multiplexed communication network
US8359370B2 (en) * 2008-10-31 2013-01-22 Disney Enterprises, Inc. System and method for managing digital media content
US9280778B2 (en) * 2008-12-15 2016-03-08 Qualcomm Incorporated Location logging and location and time based filtering
JP2010213150A (ja) * 2009-03-12 2010-09-24 Nec Corp 送信装置、大容量ファイル配信システム、同システムにおけるファィル再送制御方法、再送制御プログラム
JP5542912B2 (ja) 2009-04-09 2014-07-09 テレフオンアクチーボラゲット エル エム エリクソン(パブル) メディア・コンテナ・ファイル管理
US9298722B2 (en) * 2009-07-16 2016-03-29 Novell, Inc. Optimal sequential (de)compression of digital data
US20110096828A1 (en) * 2009-09-22 2011-04-28 Qualcomm Incorporated Enhanced block-request streaming using scalable encoding
WO2011045816A1 (en) * 2009-10-15 2011-04-21 Vishal Borker Method and apparatus for content delivery over internet
US8351600B2 (en) * 2009-10-30 2013-01-08 Cleversafe, Inc. Distributed storage network and method for encrypting and decrypting data using hash functions
KR101777347B1 (ko) * 2009-11-13 2017-09-11 삼성전자주식회사 부분화에 기초한 적응적인 스트리밍 방법 및 장치
KR101786050B1 (ko) * 2009-11-13 2017-10-16 삼성전자 주식회사 데이터 전송 방법 및 장치
KR101750049B1 (ko) 2009-11-13 2017-06-22 삼성전자주식회사 적응적인 스트리밍 방법 및 장치
KR101786051B1 (ko) * 2009-11-13 2017-10-16 삼성전자 주식회사 데이터 제공 방법 및 장치와 데이터 수신 방법 및 장치
KR101750048B1 (ko) 2009-11-13 2017-07-03 삼성전자주식회사 변속 재생 서비스 제공 방법 및 장치
KR101737084B1 (ko) * 2009-12-07 2017-05-17 삼성전자주식회사 메인 콘텐트에 다른 콘텐트를 삽입하여 스트리밍하는 방법 및 장치
US8743178B2 (en) * 2010-01-05 2014-06-03 Dolby Laboratories Licensing Corporation Multi-view video format control
KR101777348B1 (ko) * 2010-02-23 2017-09-11 삼성전자주식회사 데이터 전송 방법 및 장치와 데이터 수신 방법 및 장치
US10216647B2 (en) * 2010-02-27 2019-02-26 International Business Machines Corporation Compacting dispersed storage space
US11429486B1 (en) 2010-02-27 2022-08-30 Pure Storage, Inc. Rebuilding data via locally decodable redundancy in a vast storage network
US9136981B2 (en) * 2010-03-03 2015-09-15 Qualcomm Incorporated Block aggregation of objects in a communication system
KR20110105710A (ko) * 2010-03-19 2011-09-27 삼성전자주식회사 복수의 챕터를 포함하는 콘텐트를 적응적으로 스트리밍하는 방법 및 장치
JP5174076B2 (ja) * 2010-03-30 2013-04-03 株式会社東芝 計算処理装置、受信処理装置、受信処理方法及び受信処理プログラム
KR101837687B1 (ko) 2010-06-04 2018-03-12 삼성전자주식회사 콘텐트의 품질을 결정하는 복수의 인자에 기초한 적응적인 스트리밍 방법 및 장치
TW201222284A (en) * 2010-11-16 2012-06-01 Hon Hai Prec Ind Co Ltd Method for generating media file list
US9485108B2 (en) 2011-03-14 2016-11-01 Qualcomm Incorporated System and apparatus for using multichannel file delivery over unidirectional transport (“FLUTE”) protocol for delivering different classes of files in a broadcast network
CN102739417B (zh) 2011-04-01 2014-08-20 华为技术有限公司 流媒体业务处理系统及故障检测方法
WO2012148388A1 (en) * 2011-04-26 2012-11-01 Research In Motion Limited Representation grouping for http streaming
US9451401B2 (en) 2011-05-27 2016-09-20 Qualcomm Incorporated Application transport level location filtering of internet protocol multicast content delivery
US9087048B2 (en) 2011-06-10 2015-07-21 Linkedin Corporation Method of and system for validating a fact checking system
US8768782B1 (en) 2011-06-10 2014-07-01 Linkedin Corporation Optimized cloud computing fact checking
KR20120138604A (ko) * 2011-06-14 2012-12-26 삼성전자주식회사 멀티미디어 시스템에서 복합 미디어 컨텐츠를 송수신하는 방법 및 장치
US9590814B2 (en) * 2011-08-01 2017-03-07 Qualcomm Incorporated Method and apparatus for transport of dynamic adaptive streaming over HTTP (DASH) initialization segment description fragments as user service description fragments
KR101967884B1 (ko) 2012-07-12 2019-04-12 삼성전자주식회사 방송 및 통신 시스템에서 패킷 송/수신 장치 및 방법
SG11201500229YA (en) * 2012-08-15 2015-03-30 Sony Corp Broadband delivery of personalization information for advanced tv services
US9483159B2 (en) 2012-12-12 2016-11-01 Linkedin Corporation Fact checking graphical user interface including fact checking icons
KR102127685B1 (ko) 2013-04-17 2020-06-29 삼성전자주식회사 순방향 오류 정정 패킷 송수신 장치 및 방법
US9781181B2 (en) * 2013-06-17 2017-10-03 Qualcomm Incorporated Multiple file delivery over unidirectional transport protocol sessions for a service
EP3018910B1 (en) * 2013-07-05 2019-11-13 Saturn Licensing LLC Transmission device, transmission method, reception device, and reception method
US10169424B2 (en) * 2013-09-27 2019-01-01 Lucas J. Myslinski Apparatus, systems and methods for scoring and distributing the reliability of online information
US20150095320A1 (en) 2013-09-27 2015-04-02 Trooclick France Apparatus, systems and methods for scoring the reliability of online information
US10476693B2 (en) * 2014-02-24 2019-11-12 Lg Electronics Inc. Apparatus for transmitting broadcast signals, apparatus for receiving broadcast signals, method for transmitting broadcast signals and method for receiving broadcast signals
US9643722B1 (en) 2014-02-28 2017-05-09 Lucas J. Myslinski Drone device security system
US8990234B1 (en) 2014-02-28 2015-03-24 Lucas J. Myslinski Efficient fact checking method and system
US9972055B2 (en) 2014-02-28 2018-05-15 Lucas J. Myslinski Fact checking method and system utilizing social networking information
DE102014102898A1 (de) * 2014-03-05 2015-09-10 Technische Universität München Vorrichtung und Verfahren zur Datenübertragung
WO2015196394A1 (en) * 2014-06-25 2015-12-30 SZ DJI Technology Co., Ltd. Multimedia file repair methods and apparatus
US9455750B2 (en) 2014-07-28 2016-09-27 Qualcomm Incorporated Source block size selection
US9189514B1 (en) 2014-09-04 2015-11-17 Lucas J. Myslinski Optimized fact checking method and system
WO2016097482A1 (en) * 2014-12-19 2016-06-23 Nokia Technologies Oy Media encapsulating and decapsulating
US10129308B2 (en) * 2015-01-08 2018-11-13 Qualcomm Incorporated Session description information for over-the-air broadcast media data
WO2016126181A1 (en) * 2015-02-04 2016-08-11 Telefonaktiebolaget Lm Ericsson (Publ) Drap identification and decoding
US9787430B2 (en) 2015-05-01 2017-10-10 Qualcomm Incorporated Dynamic setting of FEC in eMBMS video streaming
US20160323063A1 (en) * 2015-05-01 2016-11-03 Qualcomm Incorporated Bundled Forward Error Correction (FEC) for Multiple Sequenced Flows
EP3306937A1 (en) 2016-10-05 2018-04-11 Thomson Licensing Method and apparatus for encoding and decoding a video
US11785094B2 (en) 2016-11-08 2023-10-10 Pearson Education, Inc. Secure content delivery computer system
US10785311B2 (en) * 2016-11-08 2020-09-22 Pearson Education, Inc. Secure cloud-managed content delivery computer ecosystem
US11687628B2 (en) 2017-02-13 2023-06-27 Tunego, Inc. Non-fungible token (NFT) authenticity protocol with fraud deterrent
US11256788B2 (en) 2017-02-13 2022-02-22 Tunego, Inc. Tokenized media content management
US11250111B2 (en) 2017-02-13 2022-02-15 Tunego, Inc. Tokenized media content management
US10860694B2 (en) 2017-02-13 2020-12-08 Tunego, Inc. Systems and methods for content metadata management
US11604858B2 (en) 2017-02-13 2023-03-14 Tunego, Inc. Media content management
CN107967837A (zh) * 2017-05-31 2018-04-27 常州信息职业技术学院 一种基于容器的实训平台及其实施方法
US11392637B2 (en) * 2019-07-10 2022-07-19 Tunego, Inc. Systems and methods for content metadata management
US11385923B2 (en) * 2019-07-16 2022-07-12 International Business Machines Corporation Container-based virtualization system extending kernel functionality using kernel modules compiled by a compiling container and loaded by an application container
WO2022040174A1 (en) * 2020-08-20 2022-02-24 Pearson Education, Inc. Secure content delivery computer system
CN114499993B (zh) * 2021-12-30 2022-11-29 郑州大学 一种基于单向光闸的高可靠性安全传输与控制系统及方法

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6516435B1 (en) 1997-06-04 2003-02-04 Kabushiki Kaisha Toshiba Code transmission scheme for communication system using error correcting codes
JP3571918B2 (ja) * 1997-06-04 2004-09-29 株式会社東芝 符号伝送方法、送信装置、受信装置および通信システム
JPH11196072A (ja) * 1997-12-30 1999-07-21 Sony Corp 誤り訂正符号化方法及びその装置並びにデータ伝送方法
US6134243A (en) * 1998-01-15 2000-10-17 Apple Computer, Inc. Method and apparatus for media data transmission
JP2000078197A (ja) * 1998-09-03 2000-03-14 Toshiba Corp 通信ノード及びパケット転送方法
US6754277B1 (en) * 1998-10-06 2004-06-22 Texas Instruments Incorporated Error protection for compressed video
JP2000267699A (ja) 1999-03-19 2000-09-29 Nippon Telegr & Teleph Corp <Ntt> 音響信号符号化方法および装置、そのプログラム記録媒体、および音響信号復号装置
JP2001086153A (ja) 1999-09-09 2001-03-30 Canon Inc データ通信装置、データ通信システム、データ通信方法及び記憶媒体
US6732314B1 (en) * 2000-05-26 2004-05-04 3Com Corporation Method and apparatus for L2TP forward error correction
US20030012287A1 (en) * 2001-03-05 2003-01-16 Ioannis Katsavounidis Systems and methods for decoding of systematic forward error correction (FEC) codes of selected data in a video bitstream
US7111221B2 (en) * 2001-04-02 2006-09-19 Koninklijke Philips Electronics N.V. Digital transmission system for an enhanced ATSC 8-VSB system
KR100469721B1 (ko) * 2001-06-16 2005-02-02 삼성전자주식회사 고속순방향패킷전송 방식의 이동통신시스템에서의 사용자데이터 전송방법 및 장치
JP2003152752A (ja) * 2001-08-29 2003-05-23 Matsushita Electric Ind Co Ltd データ送受信方法
JP2004005934A (ja) 2002-04-05 2004-01-08 Matsushita Electric Ind Co Ltd 記録媒体、記録装置、再生装置、記録方法、再生方法、及びプログラム
CN1468002A (zh) * 2002-06-27 2004-01-14 上海汉唐科技有限公司 基于因特网的流媒体压缩、传输与存贮系统
JP2004088766A (ja) 2002-07-22 2004-03-18 Matsushita Electric Ind Co Ltd データ管理装置及びデータ管理システム
EP2357732B1 (en) 2002-10-05 2022-04-06 QUALCOMM Incorporated Systematic encoding and decoding of chain reaction codes
EP1554812B1 (en) * 2002-10-15 2006-12-06 Koninklijke Philips Electronics N.V. System and method for providing error recovery for streaming fgs encoded video over an ip network
JP4250477B2 (ja) 2003-07-15 2009-04-08 キヤノン株式会社 メディアデータ記録方法、メディアデータ記録装置、コンピュータプログラム及びコンピュータ読み取り可能な記録媒体
GB2406483A (en) * 2003-09-29 2005-03-30 Nokia Corp Burst transmission
GB2406488A (en) * 2003-09-29 2005-03-30 Nokia Corp Sigalling in a communications network
SE0302778D0 (sv) 2003-10-17 2003-10-17 Ericsson Telefon Ab L M Container format for multimedia presentations
US20050102371A1 (en) * 2003-11-07 2005-05-12 Emre Aksu Streaming from a server to a client
WO2005048517A1 (en) * 2003-11-12 2005-05-26 Philips Intellectual Property & Standards Gmbh Data packet transmission
EP1715692A4 (en) * 2004-01-28 2008-11-05 Nec Corp METHOD, DEVICE AND SYSTEM FOR ENCODING, DIFFUSION AND RECEPTION OF CONTENT, AND PROGRAM
US8296436B2 (en) * 2004-03-22 2012-10-23 Nokia Corporation Conveying parameters for broadcast/multicast sessions via a communication protocol
US20050216472A1 (en) * 2004-03-29 2005-09-29 David Leon Efficient multicast/broadcast distribution of formatted data
GB2415873A (en) * 2004-06-30 2006-01-04 Nokia Corp Erasure information generation in Forward Error Correction decoding
US8270343B2 (en) * 2004-12-20 2012-09-18 Freescale Semiconductor, Inc. Broadcasting of textual and multimedia information
US20060291475A1 (en) * 2005-06-28 2006-12-28 Noam Cohen Selective forward error correction
US20070002852A1 (en) * 2005-06-30 2007-01-04 Nokia Corporation Fixed interleaving length for MPE-FEC
WO2007028137A2 (en) * 2005-09-01 2007-03-08 Nokia Corporation Method for embedding svg content into an iso base media file format for progressive downloading and streaming of rich media content
ES2383230T3 (es) * 2006-01-05 2012-06-19 Telefonaktiebolaget Lm Ericsson (Publ) Gestión de archivos contenedores de medios
WO2009087563A2 (en) * 2008-01-09 2009-07-16 Nokia Corporation Systems and methods for media container file generation
US8787153B2 (en) * 2008-02-10 2014-07-22 Cisco Technology, Inc. Forward error correction based data recovery with path diversity
US7940777B2 (en) * 2008-02-26 2011-05-10 Cisco Technology, Inc. Loss-free packet networks

Cited By (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9246633B2 (en) 1998-09-23 2016-01-26 Digital Fountain, Inc. Information additive code generator and decoder for communication systems
US9236976B2 (en) 2001-12-21 2016-01-12 Digital Fountain, Inc. Multi stage code generator and decoder for communication systems
US9240810B2 (en) 2002-06-11 2016-01-19 Digital Fountain, Inc. Systems and processes for decoding chain reaction codes through inactivation
US9236885B2 (en) 2002-10-05 2016-01-12 Digital Fountain, Inc. Systematic encoding and decoding of chain reaction codes
US8887020B2 (en) 2003-10-06 2014-11-11 Digital Fountain, Inc. Error-correcting multi-stage code generator and decoder for communication systems having single transmitters or multiple transmitters
US9236887B2 (en) 2004-05-07 2016-01-12 Digital Fountain, Inc. File download and streaming system
US9136878B2 (en) 2004-05-07 2015-09-15 Digital Fountain, Inc. File download and streaming system
US9136983B2 (en) 2006-02-13 2015-09-15 Digital Fountain, Inc. Streaming and buffering using variable FEC overhead and protection periods
US9270414B2 (en) 2006-02-21 2016-02-23 Digital Fountain, Inc. Multiple-field based code generator and decoder for communications systems
US9264069B2 (en) 2006-05-10 2016-02-16 Digital Fountain, Inc. Code generator and decoder for communications systems operating using hybrid codes to allow for multiple efficient uses of the communications systems
US9178535B2 (en) 2006-06-09 2015-11-03 Digital Fountain, Inc. Dynamic stream interleaving and sub-stream based delivery
US9191151B2 (en) 2006-06-09 2015-11-17 Qualcomm Incorporated Enhanced block-request streaming using cooperative parallel HTTP and forward error correction
US11477253B2 (en) 2006-06-09 2022-10-18 Qualcomm Incorporated Enhanced block-request streaming system using signaling or block creation
US9628536B2 (en) 2006-06-09 2017-04-18 Qualcomm Incorporated Enhanced block-request streaming using cooperative parallel HTTP and forward error correction
US9432433B2 (en) 2006-06-09 2016-08-30 Qualcomm Incorporated Enhanced block-request streaming system using signaling or block creation
US9386064B2 (en) 2006-06-09 2016-07-05 Qualcomm Incorporated Enhanced block-request streaming using URL templates and construction rules
US9380096B2 (en) 2006-06-09 2016-06-28 Qualcomm Incorporated Enhanced block-request streaming system for handling low-latency streaming
US9209934B2 (en) 2006-06-09 2015-12-08 Qualcomm Incorporated Enhanced block-request streaming using cooperative parallel HTTP and forward error correction
US9237101B2 (en) 2007-09-12 2016-01-12 Digital Fountain, Inc. Generating and communicating source identification information to enable reliable communications
US9281847B2 (en) 2009-02-27 2016-03-08 Qualcomm Incorporated Mobile reception of digital video broadcasting—terrestrial services
US9876607B2 (en) 2009-08-19 2018-01-23 Qualcomm Incorporated Methods and apparatus employing FEC codes with permanent inactivation of symbols for encoding and decoding processes
US9288010B2 (en) 2009-08-19 2016-03-15 Qualcomm Incorporated Universal file delivery methods for providing unequal error protection and bundled file delivery services
US9660763B2 (en) 2009-08-19 2017-05-23 Qualcomm Incorporated Methods and apparatus employing FEC codes with permanent inactivation of symbols for encoding and decoding processes
US9419749B2 (en) 2009-08-19 2016-08-16 Qualcomm Incorporated Methods and apparatus employing FEC codes with permanent inactivation of symbols for encoding and decoding processes
US9917874B2 (en) 2009-09-22 2018-03-13 Qualcomm Incorporated Enhanced block-request streaming using block partitioning or request controls for improved client-side handling
KR101456957B1 (ko) * 2009-09-22 2014-10-31 퀄컴 인코포레이티드 협력 병렬 http 및 순방향 에러 정정을 사용하여 향상된 블록-요청 스트리밍
US11770432B2 (en) 2009-09-22 2023-09-26 Qualcomm Incorporated Enhanced block-request streaming system for handling low-latency streaming
US10855736B2 (en) 2009-09-22 2020-12-01 Qualcomm Incorporated Enhanced block-request streaming using block partitioning or request controls for improved client-side handling
US11743317B2 (en) 2009-09-22 2023-08-29 Qualcomm Incorporated Enhanced block-request streaming using block partitioning or request controls for improved client-side handling
US9485546B2 (en) 2010-06-29 2016-11-01 Qualcomm Incorporated Signaling video samples for trick mode video representations
US9992555B2 (en) 2010-06-29 2018-06-05 Qualcomm Incorporated Signaling random access points for streaming video data
US8918533B2 (en) 2010-07-13 2014-12-23 Qualcomm Incorporated Video switching for streaming video data
US9185439B2 (en) 2010-07-15 2015-11-10 Qualcomm Incorporated Signaling data for multiplexing video components
US9596447B2 (en) 2010-07-21 2017-03-14 Qualcomm Incorporated Providing frame packing type information for video coding
US9602802B2 (en) 2010-07-21 2017-03-21 Qualcomm Incorporated Providing frame packing type information for video coding
US9456015B2 (en) 2010-08-10 2016-09-27 Qualcomm Incorporated Representation groups for network streaming of coded multimedia data
US9319448B2 (en) 2010-08-10 2016-04-19 Qualcomm Incorporated Trick modes for network streaming of coded multimedia data
US8806050B2 (en) 2010-08-10 2014-08-12 Qualcomm Incorporated Manifest file updates for network streaming of coded multimedia data
US8958375B2 (en) 2011-02-11 2015-02-17 Qualcomm Incorporated Framing for an improved radio link protocol including FEC
US9270299B2 (en) 2011-02-11 2016-02-23 Qualcomm Incorporated Encoding and decoding using elastic codes with flexible source block mapping
US9253233B2 (en) 2011-08-31 2016-02-02 Qualcomm Incorporated Switch signaling methods providing improved switching between representations for adaptive HTTP streaming
US9843844B2 (en) 2011-10-05 2017-12-12 Qualcomm Incorporated Network streaming of media data
US9294226B2 (en) 2012-03-26 2016-03-22 Qualcomm Incorporated Universal object delivery and template-based file delivery

Also Published As

Publication number Publication date
US8185794B2 (en) 2012-05-22
WO2007078252A2 (en) 2007-07-12
EP2421265B1 (en) 2013-10-02
CN101416526A (zh) 2009-04-22
EP1969857B1 (en) 2012-03-28
WO2007078253A2 (en) 2007-07-12
PL1969857T3 (pl) 2012-10-31
JP2009522921A (ja) 2009-06-11
CN101366287A (zh) 2009-02-11
WO2007078252A3 (en) 2008-11-27
KR101353620B1 (ko) 2014-01-20
US8225164B2 (en) 2012-07-17
ES2383230T3 (es) 2012-06-19
US20100023525A1 (en) 2010-01-28
KR101274422B1 (ko) 2013-06-14
EP1969856A2 (en) 2008-09-17
JP2012199974A (ja) 2012-10-18
JP5542872B2 (ja) 2014-07-09
EP1969857A2 (en) 2008-09-17
DK1969857T3 (da) 2012-07-16
PL1969856T3 (pl) 2013-01-31
CN101416526B (zh) 2013-06-19
CN101366287B (zh) 2011-09-21
JP5112333B2 (ja) 2013-01-09
ATE551787T1 (de) 2012-04-15
ES2392461T3 (es) 2012-12-10
KR20080081954A (ko) 2008-09-10
WO2007078253A3 (en) 2007-08-30
JP2009522922A (ja) 2009-06-11
US20090089535A1 (en) 2009-04-02
EP1969856B1 (en) 2012-08-15
EP2421265A1 (en) 2012-02-22

Similar Documents

Publication Publication Date Title
KR101353620B1 (ko) 미디어 컨테이너 파일 관리
US9294226B2 (en) Universal object delivery and template-based file delivery
US9350488B2 (en) Content delivery system with allocation of source data and repair data among HTTP servers
CN100583880C (zh) 用于广播多媒体内容的系统
EP1897326B1 (en) Transport mechanisms for dynamic rich media scenes
KR100927978B1 (ko) 리치 미디어 콘텐츠의 프로그레시브 다운로딩 및스트리밍을 위해 iso 기반 미디어 파일 포맷으로 svg콘텐츠를 임베딩 하는 방법
US20090177942A1 (en) Systems and methods for media container file generation
CN104040993A (zh) 用于发送相应地接收媒体流的方法
EP3234775A1 (en) Media encapsulating and decapsulating

Legal Events

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

Payment date: 20170104

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20171229

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20181226

Year of fee payment: 6