KR20110041409A - 콘텐츠 재생 시스템, 콘텐츠 재생 장치, 프로그램, 콘텐츠 재생 방법, 및 콘텐츠 서버의 제공 - Google Patents

콘텐츠 재생 시스템, 콘텐츠 재생 장치, 프로그램, 콘텐츠 재생 방법, 및 콘텐츠 서버의 제공 Download PDF

Info

Publication number
KR20110041409A
KR20110041409A KR20100097801A KR20100097801A KR20110041409A KR 20110041409 A KR20110041409 A KR 20110041409A KR 20100097801 A KR20100097801 A KR 20100097801A KR 20100097801 A KR20100097801 A KR 20100097801A KR 20110041409 A KR20110041409 A KR 20110041409A
Authority
KR
South Korea
Prior art keywords
content
segment
format
file
encoded
Prior art date
Application number
KR20100097801A
Other languages
English (en)
Other versions
KR101750558B1 (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 KR20110041409A publication Critical patent/KR20110041409A/ko
Application granted granted Critical
Publication of KR101750558B1 publication Critical patent/KR101750558B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H60/00Arrangements for broadcast applications with a direct linking to broadcast information or broadcast space-time; Broadcast-related systems
    • H04H60/09Arrangements for device control with a direct linkage to broadcast information or to broadcast space-time; Arrangements for control of broadcast-related services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/23406Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving management of server-side video buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/25Flow control; Congestion control with rate being modified by the source upon detecting a change of network conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • 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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/23439Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements for generating different versions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44004Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44209Monitoring of downstream path of the transmission network originating from a server, e.g. bandwidth variations of a wireless network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • H04N21/4621Controlling the complexity of the content stream or additional data, e.g. lowering the resolution or bit-rate of the video stream for a mobile client with a small screen
    • 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/6373Control signals issued by the client directed to the server or network components for rate control, e.g. request to the server to modify its transmission rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/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/643Communication protocols
    • H04N21/6437Real-time Transport Protocol [RTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/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/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8455Structuring of content, e.g. decomposing content into time segments involving pointers to the content, e.g. pointers to the I-frames of the video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/85406Content authoring involving a specific file format, e.g. MP4 format
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/173Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

콘텐츠를 수신, 송신, 부호화, 복호화하기 위한 방법, 장치, 인코더 및 디코더가 제공된다. 상기 방법은, 상기 콘텐츠의, 제1 포맷을 갖는 제1 세그먼트를 수신하는 단계와, 송신 장치로부터, 상기 콘텐츠의, 제2 포맷을 갖는 제2 세그먼트를 수신하는 단계와, 상기 수신 장치와 상기 송신 장치 사이의 네트워크 상황을 모니터링 하는 단계와, 상기 모니터링된 네트워크 상황에 기초하여, 상기 제1 세그먼트 또는 제2 세그먼트를 선택하는 단계를 포함한다.

Description

콘텐츠 재생 시스템, 콘텐츠 재생 장치, 프로그램, 콘텐츠 재생 방법, 및 콘텐츠 서버의 제공{CONTENT REPRODUCTION SYSTEM, CONTENT REPRODUCTION APPARATUS, PROGRAM, CONTENT REPRODUCTION METHOD, AND PROVIDING CONTENT SERVER}
관련 출원에 대한 상호 참조
본 출원은 일본특허출원 제2009-238130호(2009년 10월 15일)에 대한 우선권을 주장하며, 그 전체 내용은 참조에 의해 본원에 원용된다.
본 개시 내용은, 콘텐츠 재생 시스템, 콘텐츠 재생 장치, 프로그램, 콘텐츠 재생 방법, 및 콘텐츠 서버의 제공에 관한 것이다.
근래, 콘텐츠 전송을 위한 HTTP(HyperText Transfer Protocol), 및 콘텐츠 압축/부호화에 관련한 MP4가 널리 이용되고 있다. HTTP에 따르면, 인터넷상에 있어서, 콘텐츠의 다운로드뿐만 아니라, 그 스트리밍을 행하는 것이 가능하다. 이 HTTP 스트리밍은, "DLNA guidelines"(2006) 및 "Open IPTV Forum"(2009) 등의 네트워크 미디어 규격에도 채용되어 있다. 또한, MP4(ISO/IEC-14496-12, 14)는, 기억 포맷으로서뿐만 아니라, 다운로드나 스트리밍 등을 위한 전송 포맷으로서도 이용가능하다.
예를 들어, "IIS Smooth Streaming Technical Overview," Alex Zambelli, Microsoft Corporation, March 2009에는, 인터넷을 통한 콘텐츠의 스트리밍을 HTTP 및 MP4를 사용해서 행하는 것이 기재되어 있다. 보다 상세하게는, "IIS Smooth Streaming Technical Overview," Alex Zambelli, Microsoft Corporation, March 2009에는, 서버가, 상이한 비트 레이트(bit rate)로 부호화된 MP4 형식의 부호화 파일을 기억하고 있고, 네트워크 상황에 적절한 부호화 파일을 구성하는 세그먼트를 순차적으로 송신하는 것이 기재되어 있다.
"IIS Smooth Streaming Technical Overview," Alex Zambelli, Microsoft Corporation, March 2009
그러나, 종래의 시스템에서는, 세그먼트가 송신되는 부호화 파일을 서버측에서 판단하고 있었으므로, 서버측의 부하가 커져버리는 문제가 있었다. 또한, 클라이언트에게는, 세그먼트가 재생되는 시간(콘텐츠의 선두부터의 상대 시간) 등의 정보가 제공되지 않고, 이 때문에 가변속 재생 등의 트릭(trick) 플레이를 행하거나, 상대 시간으로의 건너뜀에 의한 재생(시크(seek) 재생)을 행하기가 곤란하였다.
따라서, 콘텐츠를 송신하는 방법을 개시한다. 이 방법은, 상기 콘텐츠를 제1 및 제2 포맷으로 부호화하는 단계와, 상기 부호화된 콘텐츠를 제1 및 제2 파일로 기억시키는 단계와, 포맷된 세그먼트에 대한 요구를 수신하는 단계 - 상기 포맷된 세그먼트는 상기 제2 파일의 상기 부호화 데이터의 일부를 포함하고, 상기 요구는 상기 포맷된 세그먼트의 위치를 식별하는 위치 정보를 포함함 - 와, 상기 포맷된 세그먼트를 송신하는 단계를 포함한다.
일 실시형태에 따르면, 콘텐츠 송신 장치가 제공된다. 상기 장치는, 제1 및 제2 포맷으로 상기 콘텐츠를 부호화하도록 구성된 인코더와, 제1 및 제2 파일에 상기 부호화 콘텐츠를 기억시키도록 구성된 기억부와, 포맷된 세그먼트에 대한 요구를 수신하도록 구성된 수신부 - 상기 포맷된 세그먼트는 상기 제2 파일에 부호화 데이터의 일부를 포함하고, 상기 요구는 상기 포맷된 세그먼트의 위치를 식별하는 위치 정보를 포함함- 와, 상기 포맷된 세그먼트를 송신하도록 구성된 송신부를 포함한다.
일 실시형태에 따르면, 수신 장치에서의 콘텐츠를 수신하는 방법이 제공된다. 상기 방법은, 상기 콘텐츠의, 제1 포맷을 갖는 제1 세그먼트를 수신하는 단계와, 송신 장치로부터, 상기 콘텐츠의, 제2 포맷을 갖는 제2 세그먼트를 수신하는 단계와, 상기 수신 장치와 상기 송신 장치 사이의 네트워크 상황을 모니터링 하는 단계와, 상기 모니터링된 네트워크 상황에 기초하여, 상기 제1 세그먼트 또는 제2 세그먼트를 선택하는 단계를 포함한다.
일 실시형태에 따르면, 콘텐츠 부호화 방법이 제공된다. 상기 방법은, 상기 콘텐츠를 부호화하여 제1 포맷의 콘텐츠를 생성하는 단계와, 상기 콘텐츠를 부호화하여 제2 포맷의 콘텐츠를 생성하는 단계와, 상기 제2 포맷의 상기 콘텐츠의 일부를 식별하는 포션 정보를 처리하는 단계와, 상기 제1 포맷의 상기 콘텐츠에 상기 포션 정보를 부가하는 단계를 포함한다.
일 실시형태에 따르면, 콘텐츠 복호화 방법이 제공된다. 상기 방법은, 부호화 데이터를 수신하는 단계 - 상기 부호화 데이터는 디스크립션 정보를 포함하는 제1 섹션, 및 제1 포맷으로 부호화된 상기 콘텐츠를 포함하는 제1 포맷 세그먼트를 포함하는 제2 섹션을 포함하고, 상기 디스크립션 정보는 위치 정보를 포함함 - 와, 부호화 콘텐츠의 상기 제1 포맷 세그먼트를 복호화하는 단계와, 상기 부호화 콘텐츠의 제2 포맷 세그먼트에 대한 요구를 생성하는 단계 - 상기 제2 포맷 세그먼트는 상기 제1 포맷 세그먼트에 대응하고, 상기 요구는 상기 위치 정보의 적어도 일부를 포함함 - 를 포함한다.
일 실시형태에 따르면, 수신 장치에서의 콘텐츠 수신 장치가 제공된다. 상기 장치는, 송신 장치로부터, 제1 포맷의 제1 세그먼트와 제2 포맷의 제2 세그먼트를 수신하도록 구성된 수신부 - 상기 제1 세그먼트와 상기 제2 세그먼트는 상기 콘텐츠의 일부를 포함함 - 와, 상기 수신 장치와 상기 송신 장치 사이의 네트워크 상황을 모니터링하도록 구성된 모니터링부와, 상기 모니터링된 네트워크 상황에 기초하여, 상기 제1 세그먼트 또는 상기 제2 세그먼트를 선택하도록 구성된 선택부를 포함한다.
일 실시형태에 따르면, 콘텐츠 부호화 장치가 제공된다. 상기 장치는, 상기 콘텐츠를 부호화하여 제1 포맷 및 제2 포맷의 콘텐츠를 생성하도록 구성된 인코더와, 상기 제2 포맷의 상기 콘텐츠의 일부를 식별하는 포션 정보를 처리하도록 구성된 처리부와, 상기 제1 포맷의 상기 콘텐츠에 상기 포션 정보를 부가하도록 구성된 부가부를 포함한다.
이상 설명한 바와 같이, 본 발명에 따르면, 콘텐츠의 적응적인 스트리밍을 콘텐츠 서버의 부하를 경감하여 실현할 수 있다.
도 1은 본 발명의 일 실시형태에 따른 콘텐츠 재생 시스템의 구성을 나타낸 설명도.
도 2는 본 실시형태에 따른 콘텐츠 재생 시스템에 있어서의 데이터의 흐름을 나타낸 설명도.
도 3은 콘텐츠 재생 장치의 하드웨어 구성을 나타낸 블록도.
도 4는 본 실시형태에 따른 콘텐츠 서버의 구성을 나타낸 기능 블록도.
도 5는 일반적인 MP4 파일의 구성을 나타낸 설명도.
도 6은 본 실시형태에 있어서 파일 생성부에 의해 생성되는 MP4 파일의 구성을 나타낸 설명도.
도 7은 본 실시형태에 있어서 파일 생성부에 의해 생성되는 MP4 파일의 변형예를 나타낸 설명도.
도 8은 본 실시형태에 따른 콘텐츠 재생 장치의 구성을 나타낸 기능 블록도.
도 9는 본 실시형태에 따른 콘텐츠 재생 시스템의 동작을 나타낸 시퀀스도.
도 10은 본 실시형태에 있어서 파일 생성부에 의해 생성되는 MP4 파일의 변형예를 나타낸 설명도.
도 11은 본 실시형태에 있어서 파일 생성부에 의해 생성되는 MP4 파일의 변형예를 나타낸 설명도.
도 12는 본 실시형태에 있어서 파일 생성부에 의해 생성되는 MP4 파일의 변형예를 나타낸 설명도.
이하, 첨부 도면을 참조하여, 본 발명의 바람직한 실시형태에 대해 상세하게 설명한다. 또한, 본 명세서 및 도면에 있어서, 실질적으로 동일한 기능 및 구성을 갖는 구성 요소에 대해서는, 동일한 번호를 부여하고, 그들 구성 요소의 중복되는 설명을 생략한다.
또한, 이하에 나타내는 순서에 따라서 "실시형태의 상세한 설명"을 기술한다.
1. 콘텐츠 재생 시스템의 개요
2. 콘텐츠 재생 장치의 하드웨어 구성
3. 콘텐츠 서버의 기능
4. 콘텐츠 재생 장치의 기능
5. 콘텐츠 재생 시스템의 동작
6. 변형예
7. 정리
<1. 콘텐츠 재생 시스템의 개요>
우선, 도 1 및 도 2를 참조하여, 본 발명의 일 실시형태에 따른 콘텐츠 재생 시스템(1)에 대해 개략적으로 설명한다.
도 1은, 본 발명의 일 실시형태에 따른 콘텐츠 재생 시스템의 구성을 나타낸 설명도이다. 도 1에 나타낸 바와 같이, 본 발명의 일 실시형태에 따른 콘텐츠 재생 시스템(1)은, 콘텐츠 서버(10)(예컨대, 송신 장치)와, 네트워크(12)와, 콘텐츠 재생 장치(20)(예컨대, 클라이언트 및/또는 수신 장치)를 포함한다.
콘텐츠 서버(10)와 콘텐츠 재생 장치(20)는, 네트워크(12)를 통해서 접속되어 있다. 이 네트워크(12)는, 네트워크(12)에 접속되어 있는 장치로부터 송신되는 정보의 유선 또는 무선의 전송로이다.
예를 들어, 네트워크(12)는, 인터넷, 전화 회선망, 위성 통신망 등의 공중 회선망이나, Ethernet(등록 상표)을 포함하는 LAN(Local Area Network)나 WAN(Wide Area Network) 등을 포함해도 된다. 또한, 네트워크(12)는, IP-VPN(Internet Protocol-Virtual Private Network) 등의 전용 회선망을 포함해도 된다.
콘텐츠 서버(10)는, 콘텐츠 데이터를 부호화하고, 부호화 데이터(예컨대, 제1 포맷 세그먼트 및/또는 제2 포맷 세그먼트) 및 부호화 데이터의 메타 정보(예컨대, 디스크립션 정보 및/또는 포션 정보)를 포함하는 데이터 파일을 생성하여 기억한다. 또한, 콘텐츠 서버(10)가 MP4 형식의 데이터 파일을 생성할 경우, 부호화 데이터는 "mdat"에 해당하고, 메타 정보는 "moov"에 해당한다.
또한, 콘텐츠 데이터는, 음악, 강연 및 라디오 프로그램 등의 음악 데이터나, 영화, 텔레비전 프로그램, 비디오 프로그램, 사진, 문서, 회화 및 도표 등의 영상 데이터나, 게임 및 소프트웨어 등이어도 된다.
본 실시형태에 따른 콘텐츠 서버(10)는, 동일 콘텐츠로부터 다른 비트 레이트(예컨대, 압축 포맷)로 복수의 데이터 파일을 생성한다. 이하, 도 2를 참조하여 당해 사항에 대해서 구체적으로 설명한다.
도 2는, 본 실시형태에 따른 콘텐츠 재생 시스템(1)에 있어서의 데이터의 흐름을 나타낸 설명도이다. 콘텐츠 서버(10)는, 동일한 콘텐츠 데이터를 다른 비트 레이트로 부호화하여, 도 2에 나타낸 바와 같이, 예를 들어 2Mbps의 파일 A, 1.5Mbps의 파일 B 및 1Mbps의 파일 C를 생성한다. 상대적으로, 파일 A는 하이 비트 레이트이며, 파일 B는 표준 비트 레이트이며, 파일 C는 로우 비트 레이트이다.
또한, 도 2에 나타낸 바와 같이, 각 파일의 부호화 데이터는 복수의 세그먼트로 구분되어 있다. 예를 들어, 파일 A의 부호화 데이터는 "A1", "A2", "A3", …, "An"이라고 하는 세그먼트(예컨대, 제1 포맷 세그먼트)로 구분되어 있고, 파일 B의 부호화 데이터는 "B1", "B2", "B3", …, "Bn"이라고 하는 세그먼트(예컨대, 제2 포맷 세그먼트)로 구분되어 있고, 파일 C의 부호화 데이터는 "C1", "C2", "C3", …, "Cn"이라고 하는 세그먼트로 구분되어 있다.
여기서, 각 세그먼트는 MP4의 싱크 샘플(예를 들어, AVC/H.264의 영상 부호화에서는 IDR-picture)로 시작되는 단독으로 재생가능한 1 또는 2 이상의 영상 부호화 데이터 및 음성 부호화 데이터에 의해 구성된 샘플에 의해 구성된다. 예를 들어, 30프레임/초의 비디오 데이터가 15 프레임 고정 길이의 GOP(Group of Picture)에 의해 부호화되어 있었을 경우, 각 세그먼트는, 4 GOP에 상당하는 2초분의 영상 및 음성 부호화 데이터이어도 되고, 20 GOP에 상당하는 10초분의 영상 및 음성 부호화 데이터이어도 된다.
또한, 각 파일에 있어서의 배치 순서가 동일한 세그먼트에 의한 재생 범위(콘텐츠의 선두부터의 시간 위치의 범위)는 동일하다. 예를 들어, 세그먼트 "A2", 세그먼트 "B2" 및 세그먼트 "C2"의 재생 범위는 동일하고, 각 세그먼트가 2초분의 부호화 데이터일 경우, 세그먼트 "A2", 세그먼트 "B2" 및 세그먼트 "C2"의 재생 범위는, 모두 콘텐츠의 2초 내지 4초이다.
콘텐츠 서버(10)는, 이러한 복수의 세그먼트에 의해 제각기 구성되는 파일 A 내지 파일 C를 생성한 후, 파일 A 내지 파일 C를 기억한다. 그리고나서, 콘텐츠 서버(10)는, 도 2에 나타낸 바와 같이, 다른 파일을 구성하는 세그먼트를 콘텐츠 재생 장치(20)에 순차적으로 송신하고, 콘텐츠 재생 장치(20)는, 수신한 세그먼트를 스트리밍으로서 재생한다.
또한, 도 1에는 콘텐츠 재생 장치(20)의 일례로서 표시 장치를 나타내고 있지만, 콘텐츠 재생 장치(20)는 이러한 예로 한정되지 않는다. 예를 들어, 콘텐츠 재생 장치(20)는, PC(Personal Computer), 가정용 영상 처리 장치(DVD 레코더와 VCR 등), PDA(Personal Digital Assistant), 가정용 게임 기기 및 가전 기기 등의 정보 처리 장치이어도 된다. 혹은, 콘텐츠 재생 장치(20)는, 휴대 전화, PHS(Personal Handyphone System), 휴대용 음악 재생 장치, 휴대용 영상 처리 장치, 휴대용 게임 기기 등의 정보 처리 장치이어도 된다.
여기서, 콘텐츠 서버(10)로부터는 네트워크 상황(예컨대, 네트워크 상태)에 따른 세그먼트가 송신되는 것이 바람직하다. 예를 들어, 네트워크 대역의 여유가 충분한 경우에는 하이 비트 레이트의 세그먼트(예를 들어, 파일 A를 구성하는 세그먼트)를 송신하고, 네트워크 대역의 여유가 적을 경우에는 로우 비트 레이트의 세그먼트(예를 들어, 파일 C를 구성하는 세그먼트)를 송신하는 것이 적합하다.
그러나, 네트워크 상황의 감시 및 네트워크 상황에 따른 세그먼트의 선택을 콘텐츠 서버(10)가 행하면, 콘텐츠 서버(10)의 부하가 커져버리는 문제가 있다.
따라서, 상기 배경하에서 본 실시형태에 따른 콘텐츠 재생 시스템(1)을 창작하기에 이르렀다. 본 실시형태에 따른 콘텐츠 재생 시스템(1)에 의하면, 적응적인 스트리밍을, 서버측의 부하를 경감시키면서, 실현할 수 있다.
또한, 본 실시형태에 따른 콘텐츠 재생 시스템(1)에 의하면, HTTP와 MP4 등의 규격 대부분이 지원되며, 또한, 기존 장치와의 호환성을 유지할 수 있다. 이하, 이러한 본 실시형태에 따른 콘텐츠 재생 시스템(1)을 구성하는 콘텐츠 재생 장치(20) 및 콘텐츠 서버(10)에 대해서 상세하게 설명한다.
<2. 콘텐츠 재생 장치의 하드웨어 구성>
도 3은, 콘텐츠 재생 장치(20)의 하드웨어 구성을 나타낸 블록도이다. 콘텐츠 재생 장치(20)는, CPU(Central Processing Unit)(201)와, ROM(Read Only Memory)(202)과, RAM(Random Access Memory)(203)과, 호스트 버스(204)를 포함한다. 또한, 콘텐츠 재생 장치(20)는, 브릿지(205)와, 외부 버스(206)와, 인터페이스(207)와, 입력 장치(208)와, 출력 장치(210)와, 스토리지 장치(HDD)(211)와, 드라이브(212)와, 통신 장치(215)를 포함한다.
CPU(201)는, 연산 처리 장치 및 제어 장치로서 기능하고, 각종 프로그램에 따라서 콘텐츠 재생 장치(20)의 동작 전반을 제어한다. 또한, CPU(201)는, 마이크로프로세서, 처리부(processing unit), 부가부(adding unit), 및/또는 요구부(request unit)이어도 된다. ROM(202)은, CPU(201)가 사용하는 프로그램이나 연산 파라미터 등을 기억한다. RAM(203)은, CPU(201)의 실행에 있어서 사용하는 프로그램이나, 그 실행 중에 적절히 변화하는 파라미터를 일시적으로 기억한다. 이들은 CPU 버스 등으로 구성되는 호스트 버스(204)에 의해 서로 접속되어 있다.
호스트 버스(204)는, 브릿지(205)를 거쳐서, PCI(Peripheral Component Interconnect/Interface) 버스 등의 외부 버스(206)에 접속되어 있다. 또한, 반드시 호스트 버스(204), 브릿지(205) 및 외부 버스(206)를 분리 구성할 필요는 없으며, 하나의 버스에 이들의 기능을 실장해도 된다.
입력 장치(208)는, 마우스, 키보드, 터치 패널, 버튼, 마이크로폰, 스위치 및 레버 등의 유저가 정보를 입력하기 위한 입력 수단과, 유저에 의한 입력에 기초하여 입력 신호를 생성하여 CPU(201)에 출력하는 입력 제어 회로 등으로 구성되어 있다. 콘텐츠 재생 장치(20)의 유저는, 상기 입력 장치(208)를 조작함으로써, 콘텐츠 재생 장치(20)에 대하여 각종 데이터를 입력하거나 처리 동작을 지시할 수 있다.
출력 장치(210)는, 예를 들어, CRT(Cathode Ray Tube) 디스플레이 장치, 액정 디스플레이(LCD) 장치, OLED(Organic Light Emitting Diode) 장치 및 램프 등의 표시 장치를 포함한다. 또한, 출력 장치(210)는, 스피커 및 헤드폰 등의 음성 출력 장치를 포함한다. 출력 장치(210)는, 예를 들어, 재생된 콘텐츠를 출력한다. 보다 구체적으로는, 표시 장치는 재생된 영상 데이터 등의 각종 정보를 텍스트 또는 이미지로 표시한다. 한편, 음성 출력 장치는, 재생된 음성 데이터 등을 음성으로 변환하여 출력한다.
스토리지 장치(211)는, 본 실시형태에 따른 콘텐츠 재생 장치(20)의 기억부의 일례로서 구성된 데이터 저장용의 장치이다. 스토리지 장치(211)는, 기억 매체, 기억 매체에 데이터를 기록하는 기록 장치, 기억 매체로부터 데이터를 판독하는 읽어내기 장치, 또는 기억 매체에 기록된 데이터를 삭제하는 삭제 장치 등을 포함해도 된다. 스토리지 장치(211)는, 예를 들어, HDD(Hard Disk Drive)로 구성된다. 이 스토리지 장치(211)는, 하드 디스크를 구동하고, CPU(201)가 실행하는 프로그램 및 각종 데이터를 저장한다.
드라이브(212)는, 기억 매체용 리더 라이터이며, 콘텐츠 재생 장치(20)에 내장 또는 외장된다. 드라이브(212)는, 삽입되어 있는 자기 디스크, 광 디스크, 광자기 디스크 또는 반도체 메모리 등의 리무버블 기억 매체(24)에 기록되어 있는 정보를 판독하고, 그 정보를 RAM(203)으로 출력한다. 또한, 드라이브(212)는, 리무버블 기억 매체(24)에 정보를 기입할 수도 있다.
통신 장치(215)는, 예를 들어, 네트워크(12)에 접속하기 위한 통신 디바이스 등으로 구성된 통신 인터페이스이다. 또한, 통신 장치(215)는, 무선 LAN(Local Area Network) 대응 통신 장치이어도 되고, LTE(Long Term Evolution) 대응 통신 장치이어도 되고, 또는 유선에 의한 통신을 행하는 유선 통신 장치이어도 된다.
이상, 도 3을 참조하여 콘텐츠 재생 장치(20)의 하드웨어 구성에 대해서 설명했다. 콘텐츠 서버(10)의 하드웨어는 콘텐츠 재생 장치(20)와 실질적으로 동일하게 구성하는 것이 가능하므로, 그 설명을 생략한다.
<3. 콘텐츠 서버의 기능>
다음으로, 도 4 내지 도 7을 참조하여, 본 실시형태에 따른 콘텐츠 서버(10)의 기능을 설명한다.
도 4는, 본 실시형태에 따른 콘텐츠 서버(10)의 구성을 나타낸 기능 블록도이다. 도 4에 나타낸 바와 같이, 본 실시형태에 따른 콘텐츠 서버(10)는, 파일 생성부(120)와, 기억부(130)와, 통신부(140)를 포함한다.
파일 생성부(120)는, 콘텐츠 데이터를 부호화하는 인코더(122)를 포함하고, 부호화 데이터 및 그 메타데이터를 포함하는 MP4 파일을 생성한다. 보다 상세하게는, 파일 생성부(120)는, 동일 콘텐츠로부터 부호화 데이터의 비트 레이트가 다른 복수의 MP4 파일을 생성한다. 이하, 도 5를 참조하여 일반적인 MP4 파일의 구성을 설명한 후, 본 실시형태에 있어서 파일 생성부(120)에 의해 생성되는 MP4 파일의 구성을 설명한다.
도 5는, 일반적인 MP4 파일의 구성을 나타낸 설명도이다. 도 5에 나타낸 바와 같이, MP4 파일은 "moov" 및 "mdat"를 포함한다. "mdat"는 영상 및 음성의 부호화 데이터이다. 본 실시형태에서는, 영상 부호화에는 H.264/AVC를 이용하고, 음성 부호화에는 HE-AAC를 이용한다. "moov"는, "trak(video)" 및 "trak(audio)" 등, "mdat"에 포함되는 각 세그먼트에 대한 액세스 정보(예컨대, 디스크립션 정보 및/또는 포션 정보)를 포함한다. 액세스 정보로서는, 각 샘플의 소재 정보(byte offset) 및 재생 시간 정보 등을 예로 들 수 있다.
또한, MP4에 있어서는 다른 외부 파일을 참조하기 위한 데이터 박스로서 "dinf"가 규정되어 있다. 도 5에 나타낸 바와 같이 "moov"의 참조처가 동일한 MP4 파일에 포함되는 "mdat"일 경우, 이 "dinf"의 값은 "null"이다. 이에 대해, 본 실시형태에 있어서는, 도 6을 참조하여 설명하는 바와 같이, 이 "dinf"를 온전히 활용함으로써 현저한 효과를 얻을 수 있다.
도 6은, 본 실시형태에 있어서 파일 생성부(120)에 의해 생성되는 MP4 파일의 구성을 나타낸 설명도이다. 도 6에 나타낸 바와 같이, 파일 생성부(120)는, 동일 콘텐츠로부터 비트 레이트가 다른 "mdat"를 포함하는 복수의 MP4 파일 A 내지 MP4 파일 C를 생성한다.
본 실시형태에서는, 세그먼트는 비디오의 MP4 Sync Sample을 경계로 해서 분할된 데이터이며, 세그먼트 중에는 영상 부호화 데이터와 음성 부호화 데이터가 인터리브(interleave)되어 배치되어 있다. 세그먼트는, 콘텐츠가 재생되는 시계열로 연속적으로 "mdat"에 배열되어 있다. 영상 및 음성은, 비트 레이트가 다른 각 데이터 파일의 세그먼트의 재생 시간은 동일하도록 부호화되어 있다. 또한, AVC/H.264의 경우에는, 영상 부호화 데이터 및 음성 부호화 데이터는, 세그먼트의 선두에 IDR 픽처가 존재하도록 배치됨으로써, 데이터를, 비트 레이트가 다른 데이터로, 세그먼트 단위로, 절환할 수 있다.
또한, 각 세그먼트의 위치는 Sync Sample의 위치이며, 콘텐츠 재생 장치(20)는, "moov"의 Sample Description box의 정보로부터 얻어지거나, 혹은 여기에 포함되는 Sync sample table box와 조합에 의해 얻어지는 세그먼트 위치를 바탕으로, 각 데이터 파일로부터 세그먼트 데이터를 읽어들일 수 있다. 본 실시형태에서는, 1개의 비디오 프레임을 하나의 샘플로 설정하여, 30 프레임에 일회 IDR 픽처가 존재하는 샘플인 Sync Sample을 형성하고, Sample Description box에는 Sync sample table box를 제공한다.
MP4 파일 B(제1 데이터 파일)의 "mdat"는, 비트 레이트가 1.5Mbps인 세그먼트 B1 내지 Bn으로 구성되고, MP4 파일 C(제2 데이터 파일)의 "mdat"는, 비트 레이트가 1Mbps인 세그먼트 C1 내지 Cn으로 구성되고, MP4 파일 A(제3 데이터 파일)의 "mdat"는, 비트 레이트가 2Mbps인 세그먼트 A1 내지 An으로 구성된다.
또한, MP4 파일 B의 "moov"는, 동일 파일을 구성하는 세그먼트 B1 내지 Bn에 액세스하기 위한 "trak(videoB)" 및 "trak(audioB)"를 포함한다.
또한, MP4 파일 B의 "moov"는, MP4 파일 C를 구성하는 세그먼트 C1 내지 Cn에 액세스하기 위한 "trak(videoC')" 및 "trak(audioC')"을 포함한다.
즉, "trak(videoC')" 및 "trak(audioC')"의 "dinf"에는, MP4 파일 C의 URL이 기재된다. 보다 구체적으로는, 이하에 나타내는 "dinf"의 구문의 'location' 필드에 MP4 파일 C의 URL이 기재된다. 또한, "trak(videoC')" 및 "trak(audioC')"에 기재되어 있는 영상 트랙의 Sample Description Box의 정보로부터, 각 Sample 및 Sync Sample 세그먼트 C1 내지 Cn의 위치 정보(파일내에서의 byte offset)가 얻어진다.
(구문예)
마찬가지로, MP4 파일 B의 "moov"는, MP4 파일 A를 구성하는 세그먼트 A1 내지 An에 액세스하기 위한 "trak(videoA')" 및 "trak(audioA')"을 포함한다. 즉, 이 "trak(videoA')" 및 "trak(audioA')"의 "dinf"에는, MP4 파일 A의 URL이 기재된다.
또한, MP4 파일 A에도, MP4 파일 A를 구성하는 세그먼트 A1 내지 An에 액세스하기 위한 "trak(videoA)" 및 "trak(audioA)"이 포함되지만, 콘텐츠 재생 장치(20)는, 이들은 후술하는 적응적인 스트리밍에는 이용하지 않는다.
마찬가지로, MP4 파일 C에도 MP4 파일 C를 구성하는 세그먼트 C1 내지 Cn에 액세스하기 위한 "trak(videoC)" 및 "trak(audioC)"이 포함되지만, 콘텐츠 재생 장치(20)는, 이들은 후술하는 적응적인 스트리밍에는 이용하지 않는다.
상술한 바와 같이, 본 실시형태에 있어서는, 다른 비트 레이트를 갖는 "mdat"를, 동일한 MP4 파일이 아니라, 다른 MP4 파일에 작성한다. 또한, 하나의 MP4 파일의 Sample Description box에, 다른 MP4 파일에 포함되는 "mdat"를 참조하기 위한 URL 및 각 세그먼트의 파일내에서의 오프셋 정보가 기재된다.
이러한 구성에 의해, 본 실시형태에 따른 MP4 파일을, 스트리밍용뿐만이 아니라, 다운로드용으로도 이용할 수 있다. 그 이유를, 다른 비트 레이트를 갖는 복수의 "mdat"를 동일 파일에 생성할 경우와 비교하여 설명한다.
다른 비트 레이트를 갖는 복수의 "mdat"를 동일 파일에 생성하고, 당해 파일을 다운로드용으로서도 이용할 경우, 클라이언트는, 복수의 "mdat"를 포함하는 당해 파일 전체를 다운로드하는 것이 된다. 따라서, 다운로드 데이터량 및 다운로드 시간이 불필요하게 배로 증가되어버리는 문제가 발생한다.
이에 대해, 본 실시형태에 있어서는, 비트 레이트가 다른 복수의 "mdat" 중에서, 하나의 "mdat"만을 포함하는 MP4 파일을 다운로드할 수 있다. 예를 들어, 콘텐츠 재생 장치(20)는, 비트 레이트가 다른 복수의 "mdat" 중에서, 하이 비트 레이트의 "mdat"만을 포함하는 MP4 파일 A를 다운로드할 수 있다. 따라서, 클라이언트는, 다운로드 데이터량 및 다운로드 시간을 억제하면서 다운로드를 행할 수 있다.
또한, 파일 생성부(120)는, 파일 B의 "moov" 중의 각 트랙의 "minfo"에, 각 "trak"의 참조처의 미디어 데이터가, 다른 비트 레이트로의 부호화에 의해 얻어진 대체가능한 미디어 데이터의 그룹에 속하는 지의 정보를 기재해도 된다. 예를 들어, 이하에 나타내는 "minfo"의 구문에 이하의 확장 블록을 제공하고, "alternative_media_group"에 대체가능한 미디어 데이터의 그룹의 식별 번호를 기재하고, "extended_type"에 "<uuid_value>:T.B.D"를 기재하고, "flags"에 "0"을 기재해도 된다. 콘텐츠 재생 장치(20)는, 대체가능한 미디어 데이터의 그룹에 속하는 미디어 데이터의 세그먼트는, 동일한 그룹에 속하는 다른 미디어 데이터 중의 대응 세그먼트로 대체가능한 것을 인식할 수 있다. 또한, 미디어의 최대 비트 레이트 maxbitrate 및 평균 비트 레이트 avgbitrate가 기재되어 있어, 콘텐츠 재생 장치(20)가, 어느 부호화 데이터 세그먼트를 취득할지에 대한 판단에 이용할 수 있다.
(구문예)
Figure pat00002
이러한 구성에 의해, 콘텐츠 재생 장치(20)는, MP4 파일의 "moov" 중의 "minfo"를 확인함으로써, 당해 MP4 파일이 본 실시형태의 방법에 의해 생성된 것인지를 판단할 수 있다. 그리고나서, 당해 MP4 파일이 본 실시형태의 방법에 의해 생성된 것일 경우, 콘텐츠 재생 장치(20)는, 후술하는 바와 같이, 적응적인 스트리밍을 콘텐츠 서버(10)에 대해 요구할 수 있다.
또한, 도 6에 있어서는, MP4 파일이 주로 "moov"와 "mdat"에 의해 구성되는 예를 나타냈지만, MP4 파일의 구성은 이러한 예에 한정되지 않는다. 예를 들어, 도 6에 나타낸 "moov"에 포함되는 액세스 정보를, 도 7에 나타낸 바와 같이, "moov"와 "moof"를 사용해서 분산적으로 배치하여도 된다.
도 7은, 본 실시형태에 있어서 파일 생성부(120)에 의해 생성되는 MP4 파일의 변형예를 나타낸 설명도이다. 도 7에 나타낸 바와 같이, 각 파일의 선두에는 "moov"가 배치되고, 이후, "mdat"와 "moof"가 교대로 배치된다. MP4 파일 B의 "moov"에는, 전술한 MP4 파일의 구조와 마찬가지로, MP4 파일 B, A 및 C의 각 세그먼트에 액세스 정보가 기재된 "trak" 및 후속의 "mdat"에 액세스하기 위한 Sample description box가 포함된다. 또한, MP4 파일 B의 각 "moof"에는, "moov"에 기재된 "trak"에 대응한 복수의 "traf"를 포함하고, "traf"는 각각의 파일에 후속하는 "mdat"의 각 세그먼트에 액세스하기 위한 정보를 포함한다. 또한, MP4 파일 C와 A에도 "moov"와 "moof"는 기재되어도 되지만, 전례와 마찬가지로, 콘텐츠 재생 장치(20)는, 이들을 적응 스트리밍에서는 사용하지 않는다.
이와 같이 액세스 정보를 분산적으로 배치함으로써, MP4 파일 B의 선두에서의 "moov" 및 각 "moof"의 데이터량을 작게 할 수 있고, 따라서 선두의 "moov" 취득 시간의 억제 및, 콘텐츠 재생 장치(20)가 버퍼(230)에 유지하는 "moov" 및 "moof"의 정보를 감소시킬 수 있다. 또한, "moof" 및 대응하는 mdat는 독립하여 생성할 수 있기 때문에, 생방송 등의 라이브 콘텐츠의 스트리밍에 이용할 수 있다. 본 실시형태는, "moov", "moof" 및 "mdat"를 분산적으로 배치하는 도 7에 나타낸 포맷에도 적용할 수 있다.
여기에서, 도 4를 참조하여 콘텐츠 서버(10)의 구성의 설명으로 돌아간다. 도 4에 나타낸 콘텐츠 서버(10)의 기억부(130)는, 파일 생성부(120)에 의해 생성된 복수의 MP4 파일을 기억하는 기억 매체이다.
예를 들어, 기억부(130)는, 불휘발성 메모리, 자기 디스크, 광 디스크 및 MO(Magneto Optical) 디스크 등의 기억 매체이어도 된다. 불휘발성 메모리로서는, EEPROM(Electrically Erasable Programmable Read-Only Memory) 및 EPROM(Erasable Programmable ROM)을 예로 들 수 있다. 또한, 자기 디스크로서는, 하드 디스크 및 원반형 자성체 디스크 등을 예로 들 수 있다. 또한, 광 디스크로서는, CD(Compact Disc), DVD-R(Digital Versatile Disc Recordable) 및 BD(Blu-ray Disc(등록 상표)) 등을 예로 들 수 있다.
통신부(140)는, 콘텐츠 재생 장치(20)와의 인터페이스이며, 네트워크(12)를 통해서 콘텐츠 재생 장치(20)와 통신한다. 보다 상세하게는, 통신부(140)는, HTTP에 따라서 콘텐츠 재생 장치(20)와 통신하는 HTTP 서버로서의 기능을 갖는다. 예를 들어, 통신부(140)는, HTTP에 따라서 콘텐츠 재생 장치(20)로부터 요구된 데이터를 기억부(130)로부터 추출하고, HTTP 리스펀스로서 콘텐츠 재생 장치(20)에 데이터를 송신한다.
<4. 콘텐츠 재생 장치의 기능>
이상, 본 실시형태에 따른 콘텐츠 서버(10)의 기능을 설명하였다. 다음으로, 도 8을 참조하여, 본 실시형태에 따른 콘텐츠 재생 장치(20)의 기능을 설명한다.
도 8은, 본 실시형태에 따른 콘텐츠 재생 장치(20)의 구성을 나타내는 기능 블록도이다. 도 8에 나타낸 바와 같이, 본 실시형태에 따른 콘텐츠 재생 장치(20)는, 취득부(220)와, 버퍼(230)와, 재생부(240)와, 선택부(250)를 포함한다.
취득부(220)는, 콘텐츠 서버(10)와의 인터페이스이며, 콘텐츠 서버(10)에 대하여 데이터를 요구하고, 콘텐츠 서버(10)로부터 데이터를 취득한다. 보다 상세하게는, 취득부(220)는, HTTP에 따라서 콘텐츠 재생 장치(20)와 통신하는 HTTP 클라이언트로서의 기능을 갖는다. 예를 들어, 취득부(220)는, HTTP 레인지(Range)를 이용함으로써, 콘텐츠 서버(10)로부터 MP4 파일의 일부("moov" 또는 "세그먼트")를 부분적으로 취득할 수 있다.
버퍼(230)는, 취득부(220)에 의해 콘텐츠 서버(10)로부터 취득되는 세그먼트를 순차적으로 버퍼링한다. 버퍼(230)에서 버퍼링된 세그먼트는, FIFO(First In First Out)에 따라서 재생부(240)에 순차적으로 공급된다.
재생부(240)는, 버퍼(230)로부터 공급되는 세그먼트를 순차적으로 재생한다. 보다 구체적으로는, 재생부(240)는, 세그먼트 디코딩, DA 변환 및 렌더링을 행한다.
선택부(250)는, 어느 쪽의 MP4 파일을 구성하는 세그먼트를 취득할지, 즉, 어느 쪽의 비트 레이트를 갖는 세그먼트를 취득할지를, 네트워크(12)의 상황에 따라 동일 콘텐츠 내에서 순차적으로 선택한다. 예를 들어, 선택부(250)가 세그먼트 "A1", "B2", "A3"을 순차적으로 선택하면, 도 2에 나타낸 바와 같이, 취득부(220)가 콘텐츠 서버(10)로부터 세그먼트 "A1", "B2", "A3"를 순차적으로 취득한다.
또한, 취득부(220)는, 세그먼트의 취득에 앞서 MP4 파일의 "moov"를 취득하고 있으며, 선택부(250)에 의해 선택된 세그먼트를 당해 "moov"에 포함되는 액세스 정보를 지정함으로써 콘텐츠 서버(10)로부터 취득할 수 있다.
여기서, 네트워크(12)의 대역이 커지면 버퍼(230)의 버퍼링 데이터량이 증가하고, 네트워크(12)의 대역이 작아지면 버퍼(230)의 버퍼링 데이터량이 감소한다고 생각된다. 따라서, 선택부(250)는, 버퍼(230)의 버퍼링 상황을 감시함으로써, 네트워크(12)의 상황을 간접적으로 파악해도 된다.
예를 들어, 선택부(250)는, 버퍼(230)에 버퍼링되어 있는 샘플수(비디오 프레임수)가 소정 범위 내일 경우, 즉, 버퍼(230)에 버퍼링 되어 있는 샘플에 의해 재생가능한 시간이 소정 범위 내일 경우에는, 표준 비트 레이트(예를 들어, 1.5Mbps)의 세그먼트를 선택해도 된다. 예를 들어, 콘텐츠 재생 장치(20)는, 표준 비트 레이트의 90개의 샘플(3초분)을 일시적으로 축적한 후에, 스트리밍의 재생을 개시하고, 후속의 세그먼트 데이터를 읽으면서 재생을 계속하지만, 그 재생 중에 버퍼(230)의 데이터가 75개로부터 105개의 샘플의 범위에 있는 경우에는, 선택부(250)는 표준 비트 레이트의 세그먼트를 선택한다.
한편, 선택부(250)는, 버퍼링량이 감소하고, 버퍼(230)에 버퍼링되어 있는 샘플에 의해 재생가능한 시간이 소정 범위를 하회하였을 경우, 로우 비트 레이트(예를 들어, 1Mbps)의 세그먼트를 선택해도 된다. 예를 들어, 선택부(250)는, 재생 중에 버퍼(230)의 데이터가 75개의 샘플 이하가 된 경우에는, 로우 비트 레이트의 세그먼트를 선택한다.
또한, 선택부(250)는, 버퍼링량이 증가하고, 버퍼(230)에 버퍼링 되어 있는 샘플에 의해 재생가능한 시간이 소정 범위를 상회하였을 경우, 하이 비트 레이트(예를 들어, 2Mbps)의 세그먼트를 선택해도 된다. 예를 들어, 선택부(250)는 재생 중에 버퍼(230)의 데이터가 105개 샘플 이상이 된 경우에는, 하이 비트 레이트의 세그먼트를 선택한다. 또한, 버퍼(230) 중의 세그먼트수가 120개에 도달하여 세그먼트가 충분히 축적되었을 경우에는, 선택부(250)는 읽어들이기를 일시적으로 중단하고, 그 수가 120개 이하가 되었을 경우에는, 선택부(250)는 읽어들이기를 재개한다.
또한, 상기에서는 네트워크(12)의 대역을 판단하는 방법의 일례로서 버퍼(230)의 버퍼링 상황을 감시하는 예를 설명하였지만, 본 실시형태는 이러한 예에 한정되지 않는다. 예를 들어, 콘텐츠 재생 장치(20)는, 실제로 더미 패킷을 네트워크(12)로 송신함으로써 네트워크(12)의 대역을 판단해도 되고, 또는 취득부(220)에 의한 세그먼트의 취득 속도에 기초하여 네트워크(12)의 대역을 판단해도 된다.
<5. 콘텐츠 재생 시스템의 동작>
이상, 본 실시형태에 따른 콘텐츠 서버(10) 및 콘텐츠 재생 장치(20)의 기능을 설명하였다. 다음으로, 본 실시형태에 따른 콘텐츠 재생 시스템(1)의 동작에 대해서 도 9를 참조하여 설명한다.
도 9는, 본 실시형태에 따른 콘텐츠 재생 시스템(1)의 동작을 나타낸 시퀀스도이다. 우선, 콘텐츠 재생 장치(20)의 취득부(220)는, "HTTP:GET URL-B with Range"에 의해, 콘텐츠 서버(10)에 대해 몇몇 콘텐츠에 관한 MP4 파일 B의 "moov"의 송신을 요구한다(S304). 그리고나서, 콘텐츠 서버(10)의 통신부(140)는, "HTTP:Response"로서, MP4 파일 B의 "moov"를 콘텐츠 재생 장치(20)로 송신한다(S308). 또한, MP4 파일 B의 URL-B는, 콘텐츠의 메타데이터 정보에 기재되어서, 콘텐츠 재생 장치(20)는 콘텐츠를 사전에 취득한 것으로 한다. 그리고나서, 콘텐츠 재생 장치(20)의 버퍼(230)가, 콘텐츠 서버(10)로부터 취득되는 MP4 파일 B의 "moov"의 버퍼링을 개시한다(S310).
여기서, 콘텐츠 재생 장치(20)의 선택부(250)는, "moov" 중의 "minfo"를 확인함으로써, "moov" 중의 "trak"의 참조처의 파일이, 다른 비트 레이트로의 부호화에 의해 얻어진 대체 미디어 그룹에 속해 있는 것인지의 여부를 판단할 수 있다.
그리고나서, "moov" 중의 "trak"의 참조처의 파일이 다른 비트 레이트로의 부호화에 의해 얻어진 대체 미디어 그룹에 속해 있을 경우, 선택부(250)는, 표준 비트 레이트를 갖는 MP4 파일 B의 세그먼트 Bi를 선택한다.
다음으로, 취득부(220)가, "HTTP:GET URL-B with Range"를 사용하여, 선택부(250)에 의해 선택된 MP4 파일 B의 세그먼트 Bi를 콘텐츠 서버(10)에 요구한다(S312). 보다 구체적으로는, 취득부(220)는, MP4 파일 B의 네트워크 위치 정보 및 MP4 파일 B에 있어서의 세그먼트 Bi의 바이트 단위의 위치 정보를 지정함으로써, MP4 파일 B의 세그먼트 Bi를 콘텐츠 서버(10)에 요구한다. 또한, MP4 파일 B의 네트워크 위치 정보 및 MP4 파일 B에 있어서의 세그먼트 Bi의 바이트 단위에서의 위치 정보는, 스텝 S308에서 수신되는 MP4 파일 B의 "moov"에 기재되어 있다. 그리고나서, 콘텐츠 서버(10)의 통신부(140)는, "HTTP:Response"로서, MP4 파일 B의 세그먼트 Bi를 콘텐츠 재생 장치(20)로 송신한다(S316).
그 후, 콘텐츠 재생 장치(20)의 버퍼(230)에 세그먼트 Bi가 충분히 버퍼링되면, 재생부(240)가 세그먼트 Bi의 재생을 개시한다(S320). 또한, 버퍼링 개시 후에(S310), 어떤 일정한 시간이 경과 되어도 충분히 버퍼의 판독을 할 수 없는 경우에는, 네트워크 대역이 충분하지 않다고 생각할 수 있다. 따라서, 이러한 경우에는, S316으로부터 후속하는 세그먼트의 읽어들이기를 파일 C의 세그먼트로 절환해도 된다. 마찬가지로, 소정의 세그먼트를 보다 일찍 버퍼링 가능한 것으로 판단한 경우는, 파일 A의 세그먼트를 버퍼링하고나서 재생을 개시하는(S320)것도 가능하다.
마찬가지로, 콘텐츠 재생 장치(20)의 취득부(220)는, "HTTP:GET URL-B with Range"를 사용하여, 다음 세그먼트 Bj를 콘텐츠 서버(10)에 요구한다(S324). 그리고나서, 콘텐츠 서버(10)의 통신부(140)는, "HTTP:Response"로서, 다음 세그먼트 Bj를 콘텐츠 재생 장치(20)로 송신한다(S328).
여기서, 버퍼(230)의 버퍼링량이 감소하여, 버퍼(230)에 버퍼링 되어 있는 샘플에 의해 재생가능한 시간이 소정 범위를 하회하였을 경우(S332), 선택부(250)는, 로우 비트 레이트를 갖는 MP4 파일 C의 세그먼트 Ck를 선택한다.
그리고나서, 취득부(220)가, "HTTP:GET URL-C with Range"를 사용하여, 선택부(250)에 의해 선택된 MP4 파일 C의 세그먼트 Ck를 콘텐츠 서버(10)에 요구한다(S336). 당해 요구를 받은 콘텐츠 서버(10)의 통신부(140)는, "HTTP:Response"로서, MP4 파일 C의 세그먼트 Ck를 콘텐츠 재생 장치(20)로 송신한다(S340).
그 후, 버퍼(230)의 버퍼링량이 증가하여, 버퍼(230)에 버퍼링 되어 있는 샘플에 의해 재생가능한 시간이 소정 범위가 되었을 경우(S344), 선택부(250)는, 표준 비트 레이트를 갖는 MP4 파일 B의 세그먼트 Bl을 선택한다.
다음으로, 취득부(220)가, "HTTP:GET URL-B with Range"를 사용하여, 선택부(250)에 의해 선택된 MP4 파일 B의 세그먼트 Bl을 콘텐츠 서버(10)에 요구한다(S348). 그리고나서, 콘텐츠 서버(10)의 통신부(140)는, "HTTP:Response"로서, MP4 파일 B의 세그먼트 Bl을 콘텐츠 재생 장치(20)로 송신한다(S352).
또한, 그 후, 버퍼(230)의 버퍼링량이 증가하여, 버퍼(230)에 버퍼링 되어 있는 샘플에 의해 재생가능한 시간이 소정 범위를 상회했을 경우(S356), 선택부(250)는, 하이 비트 레이트를 갖는 MP4 파일 A의 세그먼트 Am을 선택한다.
다음으로, 취득부(220)가, "HTTP:GET URL-A with Range"를 사용하여, 선택부(250)에 의해 선택된 MP4 파일 A의 세그먼트 Am을 콘텐츠 서버(10)에 요구한다(S360). 그리고나서, 콘텐츠 서버(10)의 통신부(140)는, "HTTP:Response"로서, MP4 파일 A의 세그먼트 Am을 콘텐츠 재생 장치(20)로 송신한다(S352).
이후도 마찬가지로, 버퍼(230)의 버퍼링량에 따라서 선택부(250)가 요구되는 비트 레이트를 갖는 세그먼트를 선택하고, 선택부(250)에 의해 선택된 세그먼트를 취득부(220)가 콘텐츠 서버(10)로부터 취득한다.
이러한 구성에 의해, 네트워크(12)의 대역이 작을 경우에 재생이 도중에 끊어져버리는 것을 방지하고, 또한, 네트워크(12)의 대역이 큰 경우에는 고품질의 재생을 실현할 수 있다. 또한, 본 실시형태에 있어서는, 네트워크(12)의 대역 판단 및 요구하는 세그먼트의 선택을 콘텐츠 재생 장치(20)측에서 행할 수 있기 때문에, 콘텐츠 서버(10)의 부하 경감을 도모하는 것이 가능하다.
<6. 변형예>
상기에서는, "trak" 중의 "dinf"를 사용해서 타 파일의 "mdat"에의 액세스를 가능하게 하는 예를 설명했지만, 도 10을 참조하여 설명한 바와 같이, "trak"을 사용해서 타 파일의 "trak"을 참조할 수 있게 해도 된다.
도 10은, 본 실시형태에 있어서 파일 생성부(120)에 의해 생성되는 MP4 파일의 변형예를 나타낸 설명도이다. 도 10에 나타낸 바와 같이, MP4 파일 B의 "trak"에 MP4 파일 A의 "trak"에의 액세스 정보를 기재하면, 콘텐츠 재생 장치(20)는, MP4 파일 B의 "trak"을 해석하고, 기재되어 있는 액세스 정보를 이용함으로써 MP4 파일 A의 "trak"을 취득할 수 있다. 따라서, 콘텐츠 재생 장치(20)는, MP4 파일 A의 "trak"에 기초하여 세그먼트 A1, A2, …를 취득할 수 있다.
마찬가지로, MP4 파일 B의 "trak"에 MP4 파일 C의 "trak"에의 액세스 정보를 기재하면, 콘텐츠 재생 장치(20)는, MP4 파일 B의 "trak"을 해석하고, 기재되어 있는 액세스 정보를 이용해서 MP4 파일 C의 "trak"을 취득할 수 있다. 따라서, 콘텐츠 재생 장치(20)는, MP4 파일 C의 "trak" 및 그 안에 기재된 Sample Description box에 기초하여 세그먼트 C1, C2, …를 취득할 수도 있다.
보다 구체적으로는, MP4 파일 포맷을 확장하여, 이하에 나타내는 확장 박스를 "minfo"에 기재하고, 구문 중의 "extended_type"에 "<uuid_value>: T. B. D"를 기재하고, "location"에 참조처의 MP4 파일의 URL을 기재하고, "track_ID"에 참조처의 MP4 파일에 있어서의 "trak"의 식별자를 기재해도 된다. 이에 따라서, 콘텐츠 재생 장치(20)는, 파일 B의 트랙 상의 미디어 데이터로서 대체가능한 미디어 데이터가 파일 C의 track_id에 의해 표시되는 트랙 상에 위치되어 있는 것을 인식할 수 있다. 또한, 미디어의 최대 비트 레이트 maxbitrate 및 평균 비트 레이트 avgbitrate 등의 비트 레이트 정보가 기재되어, 콘텐츠 재생 장치(20)가 어느 부호화 데이터 세그먼트를 취득할지의 판단에 이용할 수 있다.
(구문예)
Figure pat00003
또한, 상기 구성은, "moov"에 포함되는 액세스 정보를, "moov"와 "moof"를 사용해서 분산적으로 배치하는 파일 포맷에도 마찬가지로 적용가능하다. 이 경우, 도 11에 나타낸 바와 같이, "trak"에 타 파일의 "trak"에의 액세스 정보를 기재함으로써, MP4 파일 B의 "trak"을 사용하여 다른 파일의 "trak" 및 "traf"에 액세스하는 것이 가능하다.
도 11은, 본 실시형태에 있어서 파일 생성부(120)에 의해 생성되는 MP4 파일의 변형예를 나타낸 설명도이다. 도 11에 나타낸 바와 같이, MP4 파일 B의 "trak"에 MP4 파일 A의 "trak"에의 액세스 정보를 기재하면, 콘텐츠 재생 장치(20)는, MP4 파일 B의 "trak"을 해석하고, 기재되어 있는 액세스 정보를 이용함으로써 MP4 파일 A의 "trak"을 취득할 수 있다. 따라서, 콘텐츠 재생 장치(20)는, MP4 파일 A의 "trak"에 기초하여 세그먼트 A11, A12, …를 취득할 수도 있다.
마찬가지로, MP4 파일 B의 "trak"에 MP4 파일 C의 "trak"에의 액세스 정보를 기재하면, 콘텐츠 재생 장치(20)는, MP4 파일 B의 "trak"을 해석하고, 기재되어 있는 액세스 정보를 사용해서 MP4 파일 C의 "trak"을 취득할 수 있다. 따라서, 콘텐츠 재생 장치(20)는, MP4 파일 C의 "trak" 및 각 "traf"에 기초하여 세그먼트 C11, C12, …를 취득하는 것도 가능하다. 또한, 각 파일의 "moof"의 파일 중의 위치는, 콘텐츠 재생 장치(20)가 MP4 파일의 BOX 구조를 해석함으로써도 취득 가능하지만, 각 moof의 위치 정보는, MP4 파일에 기재된 Movie Fragment Random access box를 이용하여, 해당 moof 정보를 취득한 후에, moof에 후속하는 mdat의 각 세그먼트에 액세스하여 취득해도 된다. 또한, moof 정보를 미리 읽어서 "traf"를 해석해 둠으로써, "moof" 직후의 mdat를 시간적 지연 없이 판독가능하다.
<7. 정리>
이상 설명한 바와 같이, 본 실시형태에 있어서는, 콘텐츠 재생 장치(20)의 선택부(250)가 요구되는 비트 레이트를 갖는 세그먼트를 네트워크(12)의 대역에 따라서 선택하고, 선택된 세그먼트를 취득부(220)가 콘텐츠 서버(10)로부터 취득한다. 따라서, 본 실시형태에 따르면, 콘텐츠 서버(10)의 부하 경감을 도모하는 것이 가능하다.
또한, 본 실시형태는 대부분, HTTP 및 MP4 등의 기존의 규격에 준거하는 것이다. 따라서, 본 실시형태는, 기존의 HTTP 및 MP4를 이용하는 스트리밍과 호환성을 갖고, 또한, 확장 기능을 최소한으로 할 수 있기 때문에, 원활한 도입이 기대된다.
또한, 본 실시형태에 있어서는, 다른 비트 레이트를 갖는 "mdat"를, 동일한 MP4 파일이 아니라, 다른 MP4 파일에 작성한다. 따라서, 각 MP4 파일을, 스트리밍용으로서 뿐만 아니라, 다운로드용으로서도 지장없이 이용하는 것이 가능하다.
본 발명이 속하는 기술 분야에 있어서의 통상의 지식을 갖는 자이면, 특허청구범위 및 그 균등물에 기재된 기술적 사상의 범주 내에 있는 한, 설계 요구조건 및 다른 팩터에 따라 각종 변경예, 조합예, 하위 조합예 또는 수정예에 상도할 수 있는 것이다.
예를 들어, 본 명세서의 콘텐츠 재생 시스템(1)의 처리에 있어서의 각 스텝은, 반드시 시퀀스도로서 기재된 순서에 따라 시계열적으로 처리할 필요는 없다. 예를 들어, 콘텐츠 재생 시스템(1)의 처리에 있어서의 각 스텝은, 시퀀스도로서 기재한 순서와 다른 순서로 처리되어도 되거나, 병렬적으로 처리되어도 된다.
또한, 콘텐츠 재생 장치(20) 및 콘텐츠 서버(10)에 내장되는 CPU(201), ROM(202) 및 RAM(203) 등의 하드웨어를, 상술한 콘텐츠 재생 장치(20) 및 콘텐츠 서버(10)의 각 구성과 동등한 기능을 발휘시키기 위한 컴퓨터 프로그램도 작성가능하다. 또한, 상기 컴퓨터 프로그램을 기억시킨 기억 매체도 제공된다.
또한, 본 실시형태에서는, 도 6, 도 7, 도 10, 도 11에 나타내는 바와 같이, 제1 데이터 파일에 표준 비트 레이트의 부호화 데이터를 배치했지만, 로우 비트 레이트 또는 하이 비트 레이트의 부호화 데이터를 배치해도 된다.
또한, 본 실시형태에서는, 도 6, 도 7, 도 10, 도 11에 나타내는 바와 같이, 제1 데이터 파일에 부호화 데이터를 배치했지만, 제1 데이터 파일의 moof에는 그러한 부호화 데이터에의 액세스 정보만을 배치해도 된다.
또한, 본 실시형태에서는, 도 7에 나타낸 바와 같이, "moov", "moof" 및 "mdat"를 분산적으로 배치하는 예를 나타냈지만, 제1 데이터 파일만 분산적으로 배치하고, 다른 데이터 파일은 도 8에 나타낸 바와 같이 "moov" 및 이에 대응하는 "mdat"로 구성되도록 배치해도 된다.
또한, 제1 데이터 파일에 부호화 데이터가 포함되지 않을 경우의 실시형태를 도 12에 나타낸다. 제1 데이터 파일에는, 다른 데이터 파일에 배치된 각 세그먼트에 대한 액세스 정보가 기재되어 있다. 또한, 제1 데이터 파일에는 "moov" 및 "moof"를 이용해서 액세스 정보가 분산적으로 배치되고, 각 "moof"에는 단지 1개의 데이터 파일의 세그먼트에의 액세스 정보만이 기재되어 있다.
이 경우는, 영상 트랙 및 음성 트랙 각각의 "traf"에는 각 세그먼트에의 액세스 정보가 각 "moof"에 기재되어 있고, 또한 연속해서 배치된 "moof"의 조(이 경우는 3조)의 범위의 세그먼트에 대한 액세스 정보가 기재된다.
도 12에 나타낸 예에서는, "moov"의 각 "trak"에는 세그먼트에의 액세스 정보가 포함되지 않고, 다음 3개의 "moof"에 세그먼트 1로부터 세그먼트 i-1에의 액세스 정보가 기재된다. 마찬가지로, 다음 3개의 "moof"에 세그먼트 i로부터 세그먼트 j-1에의 액세스 정보가 기재되고, 또한 다음 3개의 "moof"에 세그먼트 j로부터 세그먼트 k-1에의 액세스 정보가 기재된다. 또한, "moov" 중의 "trak"의 배치 순서(즉, B, C, A)와, 3개의 "moof" 중의 "traf"의 배치 순서(즉, B, C, A)는 일치하고 있으므로, "traf"의 읽어들이기가 용이하게 된다.
이와 같이 제1 데이터 파일을 구성함으로써, 세그먼트에의 액세스 정보가 제1 데이터 파일을 해석하는 것만으로 용이하게 얻어진다. 또한, 각 데이터 파일의 세그먼트 정보도 "moof"의 단위로 분할되어 있으므로, 콘텐츠 재생 장치(20)는, 모든 데이터 파일의 세그먼트에의 액세스 정보를 유지할 필요없이, 필요한 데이터 파일의 "moof"만을 취득하여 유지함으로써, 네트워크 상황에 맞는 적절한 비트 레이트의 데이터 파일을 선택하면서, 적응 스트리밍을 행하는 것이 가능하게 된다.
또한, 부호화 데이터를 포함하지 않는 데이터 파일은 "moof"에 의한 분산화가 되어 있지 않고, "moov"와 "mdat"에 의해 구성되기 때문에, 이러한 데이터 파일은, 기존의 HTTP 및 MP4를 이용하는 스트리밍만을 지원하는 콘텐츠 재생 장치에 이용할 수 있다.
한편, 제1 데이터 파일에는 부호화 데이터가 포함되지 않기 때문에, 기존의 콘텐츠 재생 장치에 의해서는 재생할 수 없는 등의 문제를 고려하여, 콘텐츠 재생 장치가 적응 스트리밍을 위해 제공되고 있는 경우에는 제1 MP4 파일이 재생되고, 그렇지 않은 경우에는 분산화되지 않은 MP4 파일이 재생되는 구조를 제공해도 된다. 예를 들어, 콘텐츠 재생 장치로 하여금, 각 URL과 그 속성을 개시시켜, 콘텐츠 재생 장치의 능력과 속성에 기초하여 URL을 선택하는 방법 등이 알려져 있다.
상기한 실시형태 및 다른 실시형태들의 개관 및 특정한 예들은 예에 지나지 않는다. 본 발명은 다른 실시형태에도 적용가능하다.
본 발명이 속하는 기술 분야에 있어서의 통상의 지식을 갖는 자이면, 특허청구범위 및 그 균등물에 기재된 기술적 사상의 범주 내에 있는 한, 설계 요구조건 및 다른 팩터에 따라 각종 변경예, 조합예, 하위 조합예 또는 수정예에 상도할 수 있다.

Claims (25)

  1. 콘텐츠 송신 방법으로서,
    상기 콘텐츠를 제1 및 제2 포맷으로 부호화하는 단계와,
    상기 부호화된 콘텐츠를 제1 및 제2 파일로 기억시키는 단계와,
    포맷된 세그먼트에 대한 요구를 수신하는 단계 - 상기 포맷된 세그먼트는 상기 제2 파일의 상기 부호화 데이터의 일부를 포함하고, 상기 요구는 상기 포맷된 세그먼트의 위치를 식별하는 위치 정보를 포함함 - 와,
    상기 포맷된 세그먼트를 송신하는 단계를 포함하는,
    콘텐츠 송신 방법.
  2. 제1항에 있어서,
    상기 제1 파일은 디스크립션 정보를 포함하는 제1 섹션, 및 상기 제1 포맷으로 부호화된 상기 콘텐츠를 포함하는 제1 포맷 세그먼트를 포함하는 제2 섹션을 포함하고, 상기 디스크립션 정보는 상기 위치 정보를 포함하는, 콘텐츠 송신 방법.
  3. 제2항에 있어서,
    상기 제2 파일은 상기 제2 포맷으로 부호화된 상기 콘텐츠를 포함하는 제2 포맷 세그먼트를 포함하고, 상기 제2 포맷 세그먼트는 상기 제1 포맷 세그먼트에 대응하고 상기 포맷된 세그먼트를 포함하는, 콘텐츠 송신 방법.
  4. 제2항에 있어서,
    상기 포맷된 세그먼트에 대한 요구를 수신하기 전에, 상기 부호화 콘텐츠에 대한 요구를 수신하는 단계와,
    상기 부호화 콘텐츠에 대한 요구에 응답하여, 상기 위치 정보를 포함하는 상기 디스크립션 정보와 적어도 하나의 제1 포맷 세그먼트를 송신하는 단계를 더 포함하는, 콘텐츠 송신 방법.
  5. 제1항에 있어서,
    상기 포맷된 세그먼트에 대한 요구 및 상기 포맷된 세그먼트의 송신은 하이퍼텍스트 트랜스퍼 프로토콜 코맨드(Hypertext Transfer Protocol commands)를 포함하는, 콘텐츠 송신 방법.
  6. 제1항에 있어서,
    상기 제1 포맷은 제1 압축 포맷에 기초하고, 상기 제2 포맷은 제2 압축 포맷에 기초하는, 콘텐츠 송신 방법.
  7. 제1항에 있어서,
    상기 포맷된 세그먼트는 음성 데이터와 영상 데이터를 포함하는, 콘텐츠 송신 방법.
  8. 제1항에 있어서,
    상기 위치 정보는 상기 포맷된 세그먼트와 관련된 바이트 오프셋(byte offset)을 나타내는, 콘텐츠 송신 방법.
  9. 제1항에 있어서,
    상기 위치는 상기 제2 파일에서의 기억 위치에 대응하는, 콘텐츠 송신 방법.
  10. 제1항에 있어서,
    상기 부호화 콘텐츠는 상기 제2 파일에 포함된 상기 포맷된 세그먼트의 타입을 기술하는 메타데이터를 포함하는, 콘텐츠 송신 방법.
  11. 콘텐츠 복호화 장치로서,
    부호화 데이터를 수신하는 취득부 - 상기 부호화 데이터는 디스크립션 정보를 포함하는 제1 섹션과, 상기 제1 포맷으로 부호화된 콘텐츠를 포함하는 제1 포맷 세그먼트를 포함하는 제2 섹션을 포함하고, 상기 디스크립션 정보는 위치 정보를 포함함 - 와,
    부호화 콘텐츠의 상기 제1 포맷 세그먼트를 복호화하는 재생부와,
    상기 부호화 콘텐츠의 제2 포맷 세그먼트에 대한 요구를 생성하는 요구부 - 상기 제2 포맷 세그먼트는 상기 제1 포맷 세그먼트에 대응하고, 상기 요구는 상기 위치 정보의 적어도 일부를 포함함 - 를 포함하는,
    콘텐츠 복호화 장치.
  12. 제11항에 있어서,
    상기 수신된 부호화 데이터를 기억하는 버퍼를 더 포함하고, 상기 요구부는 기억 중의 상기 버퍼의 기억 용량을 모니터하는, 콘텐츠 복호화 장치.
  13. 제12항에 있어서,
    상기 요구부는 상기 기억 용량을 모니터한 결과에 기초하여 상기 제2 포맷 세그먼트에 대한 요구를 생성하는, 콘텐츠 복호화 장치.
  14. 제11항에 있어서,
    상기 취득부는 네트워크를 통해 상기 부호화 데이터를 수신하고, 상기 요구부는 상기 부호화 데이터를 수신할 때 상기 네트워크의 네트워크 상황을 모니터하는, 콘텐츠 복호화 장치.
  15. 제14항에 있어서,
    상기 요구부는 상기 네트워크 상황을 모니터한 결과에 기초하여 상기 제2 포맷 세그먼트에 대한 요구를 생성하는, 콘텐츠 복호화 장치.
  16. 제11항에 있어서,
    상기 재생부는 상기 복호화 후에 상기 제1 포맷 세그먼트를 재생하는, 콘텐츠 복호화 장치.
  17. 제11항에 있어서,
    상기 위치 정보는 상기 요구된 제2 포맷 세그먼트와 관련된 바이트 오프셋을 나타내는, 콘텐츠 복호화 장치.
  18. 제11항에 있어서,
    상기 요구부는 소정의 임계값에 기초하여 상기 제2 포맷 세그먼트에 대한 요구를 생성하는, 콘텐츠 복호화 장치.
  19. 제11항에 있어서,
    상기 부호화 데이터는 음성 데이터와 영상 데이터를 포함하는, 콘텐츠 복호화 장치.
  20. 콘텐츠 송신 장치로서,
    제1 및 제2 포맷으로 상기 콘텐츠를 부호화하도록 구성된 인코더와,
    제1 및 제2 파일에 상기 부호화 콘텐츠를 기억시키도록 구성된 기억부와,
    포맷된 세그먼트에 대한 요구를 수신하도록 구성된 수신부 - 상기 포맷된 세그먼트는 상기 제2 파일에 부호화 데이터의 일부를 포함하고, 상기 요구는 상기 포맷된 세그먼트의 위치를 식별하는 위치 정보를 포함함- 와,
    상기 포맷된 세그먼트를 송신하도록 구성된 송신부를 포함하는,
    콘텐츠 송신 장치.
  21. 수신 장치에서의 콘텐츠를 수신하는 방법으로서,
    상기 콘텐츠의, 제1 포맷을 갖는 제1 세그먼트를 수신하는 단계와,
    송신 장치로부터, 상기 콘텐츠의, 제2 포맷을 갖는 제2 세그먼트를 수신하는 단계와,
    상기 수신 장치와 상기 송신 장치 사이의 네트워크 상황을 모니터링 하는 단계와,
    상기 모니터링된 네트워크 상황에 기초하여, 상기 제1 세그먼트 또는 제2 세그먼트를 선택하는 단계를 포함하는,
    수신 장치에서의 콘텐츠를 수신하는 방법.
  22. 콘텐츠 부호화 방법으로서,
    상기 콘텐츠를 부호화하여 제1 포맷의 콘텐츠를 생성하는 단계와,
    상기 콘텐츠를 부호화하여 제2 포맷의 콘텐츠를 생성하는 단계와,
    상기 제2 포맷의 상기 콘텐츠의 일부를 식별하는 포션 정보를 처리하는 단계와,
    상기 제1 포맷의 상기 콘텐츠에 상기 포션 정보를 부가하는 단계를 포함하는,
    콘텐츠 부호화 방법.
  23. 콘텐츠 복호화 방법으로서,
    부호화 데이터를 수신하는 단계 - 상기 부호화 데이터는 디스크립션 정보를 포함하는 제1 섹션, 및 제1 포맷으로 부호화된 상기 콘텐츠를 포함하는 제1 포맷 세그먼트를 포함하는 제2 섹션을 포함하고, 상기 디스크립션 정보는 위치 정보를 포함함 - 와,
    부호화 콘텐츠의 상기 제1 포맷 세그먼트를 복호화하는 단계와,
    상기 부호화 콘텐츠의 제2 포맷 세그먼트에 대한 요구를 생성하는 단계 - 상기 제2 포맷 세그먼트는 상기 제1 포맷 세그먼트에 대응하고, 상기 요구는 상기 위치 정보의 적어도 일부를 포함함 - 를 포함하는,
    콘텐츠 복호화 방법.
  24. 수신 장치에서의 콘텐츠 수신 장치로서,
    송신 장치로부터, 제1 포맷의 제1 세그먼트와 제2 포맷의 제2 세그먼트를 수신하도록 구성된 수신부 - 상기 제1 세그먼트와 상기 제2 세그먼트는 상기 콘텐츠의 일부를 포함함 - 와,
    상기 수신 장치와 상기 송신 장치 사이의 네트워크 상황을 모니터링하도록 구성된 모니터링부와,
    상기 모니터링된 네트워크 상황에 기초하여, 상기 제1 세그먼트 또는 상기 제2 세그먼트를 선택하도록 구성된 선택부를 포함하는,
    수신 장치에서의 콘텐츠 수신 장치.
  25. 콘텐츠 부호화 장치로서,
    상기 콘텐츠를 부호화하여 제1 포맷 및 제2 포맷의 콘텐츠를 생성하도록 구성된 인코더와,
    상기 제2 포맷의 상기 콘텐츠의 일부를 식별하는 포션 정보를 처리하도록 구성된 처리부와,
    상기 제1 포맷의 상기 콘텐츠에 상기 포션 정보를 부가하도록 구성된 부가부를 포함하는,
    콘텐츠 부호화 장치.
KR1020100097801A 2009-10-15 2010-10-07 정보 처리 장치, 정보 처리 방법 및 컴퓨터 판독 가능한 기록 매체 KR101750558B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPJP-P-2009-238130 2009-10-15
JP2009238130A JP2011087103A (ja) 2009-10-15 2009-10-15 コンテンツ再生システム、コンテンツ再生装置、プログラム、コンテンツ再生方法、およびコンテンツサーバを提供

Related Child Applications (2)

Application Number Title Priority Date Filing Date
KR1020170072476A Division KR101868280B1 (ko) 2009-10-15 2017-06-09 정보 처리 장치, 정보 처리 방법 및 컴퓨터 판독 가능한 기록 매체
KR1020170072480A Division KR101868281B1 (ko) 2009-10-15 2017-06-09 정보 처리 장치, 정보 처리 방법 및 컴퓨터 판독 가능한 기록 매체

Publications (2)

Publication Number Publication Date
KR20110041409A true KR20110041409A (ko) 2011-04-21
KR101750558B1 KR101750558B1 (ko) 2017-07-04

Family

ID=43598096

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020100097801A KR101750558B1 (ko) 2009-10-15 2010-10-07 정보 처리 장치, 정보 처리 방법 및 컴퓨터 판독 가능한 기록 매체
KR1020170072480A KR101868281B1 (ko) 2009-10-15 2017-06-09 정보 처리 장치, 정보 처리 방법 및 컴퓨터 판독 가능한 기록 매체
KR1020170072476A KR101868280B1 (ko) 2009-10-15 2017-06-09 정보 처리 장치, 정보 처리 방법 및 컴퓨터 판독 가능한 기록 매체

Family Applications After (2)

Application Number Title Priority Date Filing Date
KR1020170072480A KR101868281B1 (ko) 2009-10-15 2017-06-09 정보 처리 장치, 정보 처리 방법 및 컴퓨터 판독 가능한 기록 매체
KR1020170072476A KR101868280B1 (ko) 2009-10-15 2017-06-09 정보 처리 장치, 정보 처리 방법 및 컴퓨터 판독 가능한 기록 매체

Country Status (6)

Country Link
US (4) US8812735B2 (ko)
EP (2) EP2312850A3 (ko)
JP (1) JP2011087103A (ko)
KR (3) KR101750558B1 (ko)
CN (2) CN104253999B (ko)
TW (3) TWI643502B (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160032085A (ko) * 2013-07-17 2016-03-23 소니 주식회사 콘텐츠 공급 장치, 콘텐츠 공급 방법, 프로그램, 단말 장치 및 콘텐츠 공급 시스템
KR102291293B1 (ko) * 2020-02-26 2021-08-20 가부시끼가이샤 도시바 송신 디바이스, 통신 시스템, 송신 방법, 및 비일시적 컴퓨터 판독가능 기록 매체
US11647217B2 (en) 2018-11-02 2023-05-09 Kabushiki Kaisha Toshiba Transmission device, communication system, transmission method, and computer program product

Families Citing this family (91)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6307487B1 (en) 1998-09-23 2001-10-23 Digital Fountain, Inc. Information additive code generator and decoder for communication systems
US7068729B2 (en) 2001-12-21 2006-06-27 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
JP4546246B2 (ja) 2002-10-05 2010-09-15 デジタル ファウンテン, インコーポレイテッド 連鎖的暗号化反応の系統的記号化および復号化
CN103124182B (zh) 2004-05-07 2017-05-10 数字方敦股份有限公司 文件下载和流系统
CN101686107B (zh) 2006-02-13 2014-08-13 数字方敦股份有限公司 使用可变fec开销和保护周期的流送和缓冲
US9270414B2 (en) 2006-02-21 2016-02-23 Digital Fountain, Inc. Multiple-field based code generator and decoder for communications systems
WO2007134196A2 (en) 2006-05-10 2007-11-22 Digital Fountain, Inc. Code generator and decoder using hybrid codes
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
US9380096B2 (en) 2006-06-09 2016-06-28 Qualcomm Incorporated Enhanced block-request streaming system for handling low-latency streaming
US9432433B2 (en) 2006-06-09 2016-08-30 Qualcomm Incorporated Enhanced block-request streaming system using signaling or block creation
US9178535B2 (en) 2006-06-09 2015-11-03 Digital Fountain, Inc. Dynamic stream interleaving and sub-stream based delivery
US9209934B2 (en) 2006-06-09 2015-12-08 Qualcomm Incorporated Enhanced block-request streaming using cooperative parallel HTTP and forward error correction
US9386064B2 (en) 2006-06-09 2016-07-05 Qualcomm Incorporated Enhanced block-request streaming using URL templates and construction rules
BRPI0816680A2 (pt) 2007-09-12 2015-03-17 Qualcomm Inc Gerar e comunicar informações de identificação de origem pra habilitar comunicações confiáveis.
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
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
EP2362651A1 (en) * 2010-02-19 2011-08-31 Thomson Licensing Multipath delivery for adaptive streaming
US20110280311A1 (en) 2010-05-13 2011-11-17 Qualcomm Incorporated One-stream coding for asymmetric stereo video
KR101702562B1 (ko) * 2010-06-18 2017-02-03 삼성전자 주식회사 멀티미디어 스트림 파일의 저장 파일 포맷, 저장 방법 및 이를 이용한 클라이언트 장치
US9049497B2 (en) 2010-06-29 2015-06-02 Qualcomm Incorporated Signaling random access points 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
US8806050B2 (en) 2010-08-10 2014-08-12 Qualcomm Incorporated Manifest file updates for network streaming of coded multimedia data
US9270299B2 (en) 2011-02-11 2016-02-23 Qualcomm Incorporated Encoding and decoding using elastic codes with flexible source block mapping
FR2975555A1 (fr) 2011-05-18 2012-11-23 Thomson Licensing Methode d'adaptation dynamique du debit de reception et recepteur associe
KR20140016357A (ko) * 2011-06-08 2014-02-07 코닌클리즈케 케이피엔 엔.브이. 공간적으로-세그먼트된 콘텐츠 전달
JP5259848B2 (ja) * 2011-07-29 2013-08-07 株式会社東芝 再生制御装置及び再生制御方法
US9253233B2 (en) * 2011-08-31 2016-02-02 Qualcomm Incorporated Switch signaling methods providing improved switching between representations for adaptive HTTP streaming
US8787570B2 (en) 2011-08-31 2014-07-22 Sonic Ip, Inc. Systems and methods for automatically genenrating top level index files
US9445136B2 (en) * 2011-09-21 2016-09-13 Qualcomm Incorporated Signaling characteristics of segments for network streaming of media data
RU2569024C1 (ru) 2011-09-30 2015-11-20 Хуавей Текнолоджиз Ко., Лтд. Способ и устройство для передачи мультимедийных потоков
US9843844B2 (en) 2011-10-05 2017-12-12 Qualcomm Incorporated Network streaming of media data
US9055136B2 (en) * 2011-10-13 2015-06-09 Qualcomm Incorporated Controlling streaming delay in networks
EP2587824A1 (en) * 2011-10-27 2013-05-01 Thomson Licensing Method and apparatus to manage the operation of an adaptive streaming client
EP2595399A1 (en) * 2011-11-16 2013-05-22 Thomson Licensing Method of digital content version switching and corresponding device
US9225762B2 (en) 2011-11-17 2015-12-29 Google Technology Holdings LLC Method and apparatus for network based adaptive streaming
CN104094561B (zh) * 2011-12-01 2017-12-12 汤姆逊许可公司 通过根据可用带宽选择传输协议来获得内容的设备
DE102012200083A1 (de) * 2012-01-04 2013-07-04 Robert Bosch Gmbh Verfahren und Steuergerät zur Ermittlung eines Identifikationscodes für ein Audiodatenpaket
CN104583996B (zh) * 2012-02-13 2018-01-09 阿弗梅德网络公司 移动视频传送
US9219929B2 (en) * 2012-02-27 2015-12-22 Fritz Barnes Enhanced startup and channel change for fragmented media stream delivery
US9392304B2 (en) * 2012-02-29 2016-07-12 Hulu, LLC Encoding optimization using quality level of encoded segments
US9294226B2 (en) 2012-03-26 2016-03-22 Qualcomm Incorporated Universal object delivery and template-based file delivery
EP2661045A1 (en) * 2012-05-04 2013-11-06 Thomson Licensing Method and apparatus for providing a plurality of transcoded content streams
JP6697879B2 (ja) 2012-07-10 2020-05-27 ヴィド スケール インコーポレイテッド 品質ドリブンストリーミング
WO2014010992A1 (ko) * 2012-07-13 2014-01-16 삼성전자 주식회사 컨텐츠 이름 기반의 컨텐츠 중심 네트워크에서 컨텐츠 및 실시간 스트리밍 컨텐츠 제공을 위한 컨텐츠 요청자 및 컨텐츠 제공자의 통신 방법
US9420217B2 (en) * 2012-08-17 2016-08-16 Microsoft Technology Licensing, Llc Program identifier based recording
WO2014074109A1 (en) * 2012-11-09 2014-05-15 Nokia Siemens Networks Oy Adaptive leveraging of network information
US9712515B2 (en) * 2012-12-21 2017-07-18 Cellco Partnership Verifying an identity of a message sender
WO2014111547A1 (en) * 2013-01-18 2014-07-24 Canon Kabushiki Kaisha Method, device, and computer program for encapsulating partitioned timed media data
TWI543594B (zh) * 2013-03-01 2016-07-21 致伸科技股份有限公司 數位媒體播放系統
KR20140111859A (ko) * 2013-03-12 2014-09-22 삼성전자주식회사 콘텐트 공유 방법 및 이를 위한 디바이스
US10033658B2 (en) * 2013-06-20 2018-07-24 Samsung Electronics Co., Ltd. Method and apparatus for rate adaptation in motion picture experts group media transport
US9973402B2 (en) * 2013-06-26 2018-05-15 Nec Corporation Transmission device, receiving device, and relay device
US20180188964A1 (en) * 2013-07-31 2018-07-05 International Business Machines Corporation Managed storage unit shutdown in a distributed storage network
US9626125B2 (en) * 2013-07-31 2017-04-18 International Business Machines Corporation Accounting for data that needs to be rebuilt or deleted
KR102133531B1 (ko) 2013-08-23 2020-07-13 삼성전자주식회사 컨텐츠 재생 방법 및 그에 따른 단말, 그에 따른 시스템
JP2015136059A (ja) 2014-01-17 2015-07-27 ソニー株式会社 通信装置、通信データ生成方法、および通信データ処理方法
JP2015136058A (ja) 2014-01-17 2015-07-27 ソニー株式会社 通信装置、通信データ生成方法、および通信データ処理方法
JP2015136057A (ja) 2014-01-17 2015-07-27 ソニー株式会社 通信装置、通信データ生成方法、および通信データ処理方法
JP2015136060A (ja) 2014-01-17 2015-07-27 ソニー株式会社 通信装置、通信データ生成方法、および通信データ処理方法
US11201908B2 (en) * 2014-02-05 2021-12-14 Seon Design (Usa) Corp. Uploading data from mobile devices
KR102373195B1 (ko) 2014-05-07 2022-03-11 소니그룹주식회사 수신 장치, 송신 장치, 데이터 통신 방법, 및 데이터 처리 방법
EP3163570A4 (en) 2014-06-30 2018-02-14 Sony Corporation Information processor and information-processing method
EP3148200B1 (en) * 2014-06-30 2020-06-17 Sony Corporation Information processing device and method selecting content files based on encoding parallelism type
US11070872B2 (en) 2014-10-20 2021-07-20 Saturn Licensing Llc Receiving device, transmitting device, and data processing method
ES2874748T3 (es) 2015-01-06 2021-11-05 Divx Llc Sistemas y métodos para codificar y compartir contenido entre dispositivos
KR102533674B1 (ko) 2015-04-30 2023-05-18 소니그룹주식회사 수신 장치, 송신 장치 및 데이터 처리 방법
US20180139490A1 (en) 2015-04-30 2018-05-17 Sony Corporation Reception apparatus, transmission apparatus, and data processing method
KR102532046B1 (ko) 2015-06-09 2023-05-12 소니그룹주식회사 수신 장치, 송신 장치 및 데이터 처리 방법
CA2982102C (en) 2015-06-16 2023-08-22 Sony Corporation Receiving device, transmitting device, and data processing method
CA2987903A1 (en) 2015-07-23 2017-01-26 Sony Corporation Reception apparatus, transmission apparatus and data processing method
TWI736542B (zh) * 2015-08-06 2021-08-21 日商新力股份有限公司 資訊處理裝置、資料配訊伺服器及資訊處理方法、以及非暫時性電腦可讀取之記錄媒體
WO2017038353A1 (ja) 2015-08-28 2017-03-09 ソニー株式会社 受信装置、送信装置、およびデータ処理方法
JPWO2017047434A1 (ja) 2015-09-18 2018-07-05 ソニー株式会社 送信装置、受信装置、およびデータ処理方法
MX2018002982A (es) 2015-09-18 2018-05-02 Sony Corp Dispositivo de transmision, dispositivo de recepcion y metodo de procesamiento de datos.
KR102209292B1 (ko) * 2015-11-04 2021-01-29 삼성전자 주식회사 멀티미디어 시스템에서 데이터 제공 방법 및 장치
US10666961B2 (en) 2016-01-08 2020-05-26 Qualcomm Incorporated Determining media delivery event locations for media transport
TWI559753B (zh) * 2016-03-16 2016-11-21 晶睿通訊股份有限公司 傳輸隨選影音檔案的方法
CN105847724B (zh) * 2016-04-12 2018-12-07 深圳市极酷威视科技有限公司 一种视频录制断电保护方法及装置
EP3490266B1 (en) 2016-07-20 2022-09-21 Sony Group Corporation Receiving device and data processing method
TWI599218B (zh) * 2016-07-29 2017-09-11 元智大學 即時影音傳輸系統
CN107979783B (zh) * 2016-10-25 2020-03-24 杭州海康威视数字技术股份有限公司 一种流式数据解析方法、装置及电子设备
JP6472478B2 (ja) * 2017-04-07 2019-02-20 キヤノン株式会社 映像配信装置、映像配信方法及びプログラム
EP3669509A1 (en) * 2017-08-14 2020-06-24 British Telecommunications Public Limited Company Methods and apparatus for the encoding of audio and/or video data
CN110099088B (zh) * 2018-01-31 2022-03-08 国广融合(北京)传媒科技发展有限公司 一种基于融合传输系统的自适应数据传输方法
CN110545491B (zh) * 2018-05-29 2021-08-10 北京字节跳动网络技术有限公司 一种媒体文件的网络播放方法、装置及存储介质
US11483365B2 (en) 2019-01-31 2022-10-25 British Telecommunications Public Limited Company Methods and apparatus for the encoding of audio and/or video data
GB2582014A (en) * 2019-03-08 2020-09-09 Canon Kk Method, device, and computer program for optimizing transmission of portions of encapsulated media content
CN113365140B (zh) * 2021-06-21 2022-12-23 北京百度网讯科技有限公司 Mp4在线播放方法、装置、设备、存储介质及程序产品

Family Cites Families (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6477565B1 (en) * 1999-06-01 2002-11-05 Yodlee.Com, Inc. Method and apparatus for restructuring of personalized data for transmission from a data network to connected and portable network appliances
FI115418B (fi) * 2001-09-20 2005-04-29 Oplayo Oy Adaptiivinen mediavirta
CA2669171C (en) * 2001-09-26 2012-05-01 Interact Devices System and method for communicating media signals
EP2196996A3 (en) * 2001-11-29 2010-12-15 Sharp Kabushiki Kaisha Data reproduction device and method, storage medium, storage device, program and corresponding computer-readable storage medium
US20030221014A1 (en) * 2002-05-24 2003-11-27 David Kosiba Method for guaranteed delivery of multimedia content based on terminal capabilities
EP1395014B1 (en) * 2002-08-27 2006-06-14 Matsushita Electric Industrial Co., Ltd. A method of transmitting data streams with data segments of variable length
US20060089838A1 (en) * 2002-08-28 2006-04-27 Koninklijke Philips Electronics N.V. Method of streaming multimedia data
JP2004165855A (ja) * 2002-11-11 2004-06-10 Sony Corp オーサリング装置および方法、オーサリングプログラム、ならびに、オーサリングプログラムが記録された記録媒体
JP2004312413A (ja) * 2003-04-08 2004-11-04 Sony Corp コンテンツ提供サーバ、情報処理装置、および方法、並びにコンピュータ・プログラム
KR100524770B1 (ko) * 2003-09-17 2005-10-31 엘지전자 주식회사 주문형 비디오 서비스 장치 및 방법
KR100608715B1 (ko) * 2003-09-27 2006-08-04 엘지전자 주식회사 QoS보장형 멀티미디어 스트리밍 서비스 시스템 및 방법
WO2005033955A1 (ja) * 2003-09-30 2005-04-14 Sony Corporation コンテンツ取得方法
US7555009B2 (en) * 2003-11-14 2009-06-30 Canon Kabushiki Kaisha Data processing method and apparatus, and data distribution method and information processing apparatus
KR101244308B1 (ko) * 2003-12-08 2013-03-18 삼성전자주식회사 동영상 파일의 암호화 방법 및 그를 이용한 디지털 저작권관리방법
US7567584B2 (en) * 2004-01-15 2009-07-28 Panasonic Corporation Multiplex scheme conversion apparatus
JP2005318473A (ja) * 2004-04-30 2005-11-10 Toshiba Corp 動画像のメタデータ
KR20060059782A (ko) * 2004-11-29 2006-06-02 엘지전자 주식회사 영상신호의 스케일러블 프로그레시브 다운로딩을 지원하는방법
US20060259781A1 (en) * 2005-04-29 2006-11-16 Sony Corporation/Sony Electronics Inc. Method and apparatus for detecting the falsification of metadata
US20070022215A1 (en) * 2005-07-19 2007-01-25 Singer David W Method and apparatus for media data transmission
JP2007036666A (ja) * 2005-07-27 2007-02-08 Onkyo Corp コンテンツ配信システム、クライアント及びクライアントプログラム
JP4598627B2 (ja) * 2005-08-24 2010-12-15 富士通株式会社 コンテンツ編集装置及びその再生装置
KR20050092688A (ko) * 2005-08-31 2005-09-22 한국정보통신대학교 산학협력단 통합 멀티미디어 파일 포맷 구조와 이를 기반으로 하는멀티미디어 서비스 제공 시스템 및 그 방법
US20070186005A1 (en) * 2005-09-01 2007-08-09 Nokia Corporation Method to embedding SVG content into ISO base media file format for progressive downloading and streaming of rich media content
JP4991034B2 (ja) * 2005-11-04 2012-08-01 エルジー エレクトロニクス インコーポレイティド モバイル通信ターミナル及びモバイル通信ターミナルのメディア再生時間を計算する方法
JP2007173987A (ja) 2005-12-19 2007-07-05 Canon Inc マルチメディアデータ送受信システム、及び装置、又はプログラム
JP4944484B2 (ja) * 2006-04-20 2012-05-30 キヤノン株式会社 再生装置、再生方法及びプログラム
JP2008033838A (ja) 2006-07-31 2008-02-14 Sanyo Electric Co Ltd メモリ管理装置及びメモリ管理方法
JP4828352B2 (ja) * 2006-08-18 2011-11-30 ソニー株式会社 情報処理装置、情報処理方法、コンピュータプログラム、半導体装置
JP4948147B2 (ja) * 2006-12-15 2012-06-06 富士通株式会社 複合コンテンツファイルの編集方法および装置
KR20080070471A (ko) * 2007-01-26 2008-07-30 엘지전자 주식회사 파일 포맷을 구성하는 방법과 상기 파일 포맷을 가지는파일을 포함한 디지털 방송 신호를 처리하는 장치 및 방법
US20080208806A1 (en) * 2007-02-28 2008-08-28 Microsoft Corporation Techniques for a web services data access layer
US8543720B2 (en) * 2007-12-05 2013-09-24 Google Inc. Dynamic bit rate scaling
JP2009157815A (ja) * 2007-12-27 2009-07-16 Hitachi Ltd 広告配信システム及び広告配信方法
JP2009238130A (ja) 2008-03-28 2009-10-15 Fujitsu Ltd プリント基板設計装置およびプリント基板設計方法
US8219711B2 (en) * 2008-11-24 2012-07-10 Juniper Networks, Inc. Dynamic variable rate media delivery system
US8370520B2 (en) * 2008-11-24 2013-02-05 Juniper Networks, Inc. Adaptive network content delivery system
WO2010108053A1 (en) * 2009-03-19 2010-09-23 Azuki Systems, Inc. Method for scalable live streaming delivery for mobile audiences
US9680892B2 (en) * 2009-06-26 2017-06-13 Adobe Systems Incorporated Providing integration of multi-bit-rate media streams
CN102792291B (zh) * 2009-08-17 2015-11-25 阿卡麦科技公司 基于http的流分发的方法和系统
US20110246660A1 (en) * 2009-09-29 2011-10-06 Nokia Corporation Systems, Methods, and Apparatuses for Media File Streaming

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160032085A (ko) * 2013-07-17 2016-03-23 소니 주식회사 콘텐츠 공급 장치, 콘텐츠 공급 방법, 프로그램, 단말 장치 및 콘텐츠 공급 시스템
US11075855B2 (en) 2013-07-17 2021-07-27 Saturn Licensing Llc Content supply device, content supply method, program, terminal device, and content supply system
US11647217B2 (en) 2018-11-02 2023-05-09 Kabushiki Kaisha Toshiba Transmission device, communication system, transmission method, and computer program product
KR102291293B1 (ko) * 2020-02-26 2021-08-20 가부시끼가이샤 도시바 송신 디바이스, 통신 시스템, 송신 방법, 및 비일시적 컴퓨터 판독가능 기록 매체

Also Published As

Publication number Publication date
KR20170070857A (ko) 2017-06-22
CN104253999B (zh) 2017-09-01
US8812735B2 (en) 2014-08-19
EP2802151A1 (en) 2014-11-12
TWI643502B (zh) 2018-12-01
CN102045338A (zh) 2011-05-04
US20160112334A1 (en) 2016-04-21
TWI465113B (zh) 2014-12-11
TW201644269A (zh) 2016-12-16
US20110093617A1 (en) 2011-04-21
TW201121328A (en) 2011-06-16
KR20170070856A (ko) 2017-06-22
EP2312850A3 (en) 2011-08-31
US20140325020A1 (en) 2014-10-30
TW201507481A (zh) 2015-02-16
KR101868281B1 (ko) 2018-06-15
KR101868280B1 (ko) 2018-06-15
EP2312850A2 (en) 2011-04-20
JP2011087103A (ja) 2011-04-28
CN104253999A (zh) 2014-12-31
TWI562641B (en) 2016-12-11
KR101750558B1 (ko) 2017-07-04
US20160112333A1 (en) 2016-04-21

Similar Documents

Publication Publication Date Title
KR101868280B1 (ko) 정보 처리 장치, 정보 처리 방법 및 컴퓨터 판독 가능한 기록 매체
KR101737325B1 (ko) 멀티미디어 시스템에서 멀티미디어 서비스의 경험 품질 감소를 줄이는 방법 및 장치
US8635356B2 (en) Method for supporting scalable progressive downloading of video signal
WO2013008867A1 (ja) 送信装置、送信装置の制御方法、制御プログラム、及び記録媒体
KR20110138134A (ko) 멀티미디어 스트림 파일의 저장 파일 포맷, 저장 방법 및 이를 이용한 클라이언트 장치
WO2014112186A1 (ja) コンテンツサーバおよびコンテンツ配信方法
KR101515551B1 (ko) 데이터 처리장치 및 그 제어방법, 및 기억매체
JP4526294B2 (ja) ストリームデータ送信装置、受信装置、プログラムを記録した記録媒体、およびシステム
KR101517959B1 (ko) 적응형 스트리밍 방법
JP6258168B2 (ja) 配信装置、再生装置および配信システム
JP4731600B2 (ja) コンテンツ送信システムにおけるサーバー装置およびコンテンツ送信方法
JPWO2014171385A1 (ja) サーバ装置、コンテンツ提供方法及びコンピュータプログラム
JP2014131307A (ja) 情報処理装置、情報処理方法およびプログラム
JP2016040919A (ja) 情報処理装置、情報処理方法およびプログラム
JP2006339980A (ja) 映像再生装置
KR101499194B1 (ko) 적응형 스트리밍 방법
KR101781023B1 (ko) 컨텐츠 전송과 연계된 실시간 컨텐츠 재생 방법
KR20130029235A (ko) 스트리밍 되어오는 동영상 파일을 실시간 변환하여 스트리밍 전송하는 방법
KR20160017655A (ko) 적응형 스트리밍 방법
JPWO2008126337A1 (ja) 遠隔再生システム及び遠隔再生システムの制御方法
KR20110123644A (ko) 멀티미디어 스트리밍 파일 포맷 구조 및 그를 이용한 멀티미디어 스트리밍 서비스 방법 및 장치

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
AMND Amendment
X701 Decision to grant (after re-examination)
A107 Divisional application of patent
GRNT Written decision to grant