KR20100050516A - 네트워크에서의 데이터 콘텐츠 스트리밍 - Google Patents

네트워크에서의 데이터 콘텐츠 스트리밍 Download PDF

Info

Publication number
KR20100050516A
KR20100050516A KR1020107004053A KR20107004053A KR20100050516A KR 20100050516 A KR20100050516 A KR 20100050516A KR 1020107004053 A KR1020107004053 A KR 1020107004053A KR 20107004053 A KR20107004053 A KR 20107004053A KR 20100050516 A KR20100050516 A KR 20100050516A
Authority
KR
South Korea
Prior art keywords
data
network
stream
summary information
data stream
Prior art date
Application number
KR1020107004053A
Other languages
English (en)
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 KR20100050516A publication Critical patent/KR20100050516A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/765Media network packet handling intermediate
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/14Multichannel or multilink protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • 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/436Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
    • H04N21/43615Interfacing a Home Network, e.g. for connecting the client to a plurality of peripherals
    • 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/47End-user applications
    • H04N21/482End-user interface for program selection
    • H04N21/4828End-user interface for program selection for searching program descriptors
    • 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
    • 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
    • H04N21/6581Reference data, e.g. a movie identifier for ordering a movie or a product identifier in a home shopping application
    • 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
    • H04N21/6587Control parameters, e.g. trick play commands, viewpoint selection
    • 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/8549Creating video summaries, e.g. movie trailer

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

네트워크에서 데이터 콘텐츠를 스트리밍하는 방법과 장치가 제공된다. 장치의 일부 실시예는 네트워크 상에 데이터 스트림을 발생하되 데이터 스트림의 발생은 데이터에 대한 요약 정보의 발생을 포함하는 네트워크 유닛을 포함한다. 본 장치는 발생된 데이터 스트림을 네트워크를 통해 송신하는 송신기도 포함한다.

Description

네트워크에서의 데이터 콘텐츠 스트리밍{STREAMING DATA CONTENT IN A NETWORK}
본 발명의 실시예는 일반적으로 네트워크 분야에 관한 것으로, 특히 네트워크에서 데이터 콘텐츠를 스트리밍하는 방법 및 장치에 관한 것이다.
개인용 전자적 엔터테인먼트 선택 기회가 많아짐에 따라, 데이터를 공유하고, 편리성을 증대하고, 각 구성 요소를 더 잘 활용하기 위하여 각종 미디어 장치를 하나의 네트워크 내에서 서로 연결하고자 하는 바람도 커지고 있다. 예컨대 가정에서 특정 장치들을 서로 연결하고자 할 수가 있다. 이런 환경에서는 오디오, 비디오, 게임, 기타 여러 가지 용도의 디지털 미디어 콘텐츠를 스트리밍하는 잠재적인 소스나 사용자가 많이 있다.
엔터테인먼트 네트워크를 구축하기 위해서는 종래의 컴퓨터 네트워킹 모델을 이용하여 장치들을 네트워크로 연결할 수 있다. 이런 경우에는 이미 잘 알려져 있는 데이터 전송 프로토콜을 이용하여 서버와 기타 네트워크 장치 간에 스트리밍 미디어 데이터가 잠재적으로 전송될 수 있다.
그러나 그러한 종래의 네트워킹이 가능하려면 일반적으로 네트워크 장치들의 연산 능력이 매우 좋아야 한다. 더구나 전송 프로토콜은 일반적으로 전송된 데이터에 관해 높은 수준의 지식을 필요로 한다. 현재, 스트리밍 미디어 데이터는 여러 가지 목적과 장치에 대해 다양한 포맷으로 존재한다. 이러한 포맷은, 이전의 포맷이 새로운 기능을 제공하거나 새로운 장치 기술을 지원하기 위해 의도되는 더 새로운 프로토콜로 대체되거나 보충됨에 따라, 증가하고 있다. 결과적으로 장치 네트워크는 엔터테인먼트 네트워크 내의 각 장치에 대해 비교적 복잡한 인터페이싱과 연산 동작을 필요로 할 수 있으며, 미디어 기술의 급속한 변화에 취약할 수 있다.
네트워크에서 데이터 콘텐츠를 스트리밍하는 방법과 장치가 제공된다.
본 발명의 제1 양상에서, 장치는 네트워크 상에 데이터 스트림을 발생하되 상기 데이터 스트림의 발생은 데이터에 대한 요약 정보의 발생을 포함하는 네트워크 유닛을 포함할 수 있다. 상기 장치는 상기 발생된 데이터 스트림을 송신하는 송신기도 포함할 수 있다.
본 발명의 제2 양상에서, 장치는 제2 장치로부터 데이터의 스트림을 수신하는 수신기를 포함할 수 있으며, 여기서 데이터가 저장되고 데이터에 관한 요약 정보를 포함한다. 상기 장치는 상기 데이터에 관한 상기 요약 정보에 적어도 부분적으로 기초하여 상기 데이터 스트림을 처리하는 네트워크 유닛도 포함할 수 있다.
본 발명의 제3 양상에서, 네트워크는 소정의 데이터 프로토콜에 따라서 인코딩되는 데이터의 스트림을 네트워크 상에 발생하는 제1 네트워크 장치를 포함할 수 있다. 상기 데이터 스트림의 발생은 상기 데이터를 적어도 부분적으로 디코딩하는 것, 상기 데이터에 관한 요약 정보를 얻기 위해 상기 데이터를 평가하는 것, 및 상기 요약 정보를 상기 데이터에 삽입하는 것을 포함한다. 상기 네트워크는 상기 제1 네트워크 장치로부터 상기 데이터 스트림을 수신하는 제2 네트워크 장치를 더 포함할 수 있다.
본 발명의 실시예는 첨부 도면을 참조하여 예를 통해 설명되며, 한정적인 것이 아니다. 도면에서 동일 또는 유사한 구성 요소에 대해서는 동일 도면 부호가 병기된다.
도 1은 엔터테인먼트 네트워크의 실시예를 도시한 도.
도 2는 네트워크 내의 네트워크 장치들 간의 연결에 대한 실시예를 도시한 도.
도 3은 네트워크에서 전송될 데이터의 작성을 나타낸 도.
도 4는 데이터의 요약 헤더의 실시예를 도시한 도.
도 5는 데이터에 구비된 헤더의 실시예를 도시한 도.
도 6은 네트워크에서 스트리밍 데이터의 전송 프로세스의 실시예를 도시한 도.
도 7은 스트리밍 데이터의 요약 프로세스의 실시예를 도시한 도.
도 8은 네트워크 장치의 실시예를 도시한 도.
본 발명의 실시예는 일반적으로 데이터 콘텐츠 스트리밍에 관한 것이다.
여기서 사용된 "엔터테인먼트 네트워크"는 장치들 간에 (음악, 오디오/비디오, 게임, 사진 등을 포함하는) 디지털 미디어 콘텐츠를 전달하는 상호연결 네트워크를 의미한다. 엔터테인먼트 네트워크는 가정 내의 네트워크와 같은 개인용 엔터테인먼트 네트워크, 비지니스 상황에서의 엔터테인먼트 네트워크, 기타 다른 엔터테인먼트 장치의 네트워크를 포함할 수 있다. 그와 같은 네트워크에서 특정 네트워크 장치는 디지털 텔레비전 튜너, 케이블 셋톱 박스, 비디오 저장 서버 및 기타 다른 소스 장치와 같은 미디어 콘텐츠 소스일 수 있다. 디지털 텔레비전, 홈 씨어터 시스템, 오디오 시스템, 게임 시스템, 기타 다른 장치와 같은 기타 장치는 미디어 콘텐츠를 표시 또는 이용할 수 있다. 더욱이 비디오 및 오디오 저장 서버와 같은 특정 장치는 미디어 콘텐츠를 저장 또는 전송하기 위한 것일 수 있다. 특정 장치는 여러 가지 미디어 기능을 수행할 수 있다. 일부 실시예에서 네트워크 장치들은 하나의 LAN(local area network) 상에 같이 위치해 있을 수 있다. 다른 실시예에서 네트워크 장치들은 LAN들 간의 터널링을 통하는 것과 같이 다수의 네트워크 세그먼트에 걸쳐 있을 수 있다. 엔터테인먼트 네트워크는 여러 가지 데이터 인코딩 및 암호화 프로세스를 포함할 수 있다.
일부 실시예에서 네트워크는 데이터를 암호 해독하거나 디코딩하지 않고 데이터의 전송, 저장 및 조작이 가능하도록 데이터 스트림을 캡슐화한다(encapsulate). 일부 실시예에서 네트워크는 실제 콘텐츠, 코딩 또는 암호화에 대해 알고 있지 않더라도 네트워크 운용을 위해 데이터 콘텐츠를 요약하는 데이터용 디지털 패킷 컨테이너 포맷을 이용한다. 여기서 사용된 요약은 데이터를 요약하고, 특성화하고, 식별하는 것을 포함한다.
엔터테인먼트 네트워크에는 다양한 장치가 존재할 수 있기 때문에 다양한 미디어 포맷이 사용되고 있을 수 있다. 그러나 종래의 운용에서는 모든 장치가 디지털 미디어 콘텐츠를 전달하거나 저장하기 위해서는 모든 장치가 모든 가능한 포맷을 이해해야 하거나 데이터 컨테이너 포맷이 임의의 포맷된 콘텐츠의 불투명한 전송과 저장을 가능하게 해야 한다. 일부 실시예에서 네트워크는 모든 포맷에 대해 알지 않더라도 그리고 완전히 불투명한 컨테이너 포맷을 이용하지 않더라도 데이터의 전송을 가능하게 한다. 게다가 전송된 미디어 콘텐츠는 암호화될 수 있다. 일부 실시예에서 컨테이너 포맷은 데이터를 취급하는 모든 장치가 그 데이터를 암호 해독하지 않더라도 데이터 콘텐츠의 조작을 가능하게 하는 정보를 포함하도록 구현된다.
일부 실시예에서 기존의 네트워킹 프로토콜은 디지털 데이터의 전송에 이용될 수 있다. 디지털 미디어로 구성된 페이로드를 전달하는데 적당한 네트워킹 프로토콜은 여러 가지가 있다. 일례로서 RTP(Real-time Transfer Protocol)를 이용하여 오디오, 비디오 및 기타 다른 미디어 데이터를 전송할 수 있다. RTP는 다양한 미디어 포맷을 위한 캡슐화를 포함하며 UDP(User Datagram Protocol)을 통해 직접 전달될 수 있거나, 여분의 사용자 레벨 패킷화가 TCP(Transmission Control Protocol)에 이용되는 경우에는 TCP 내에 캡슐화될 수 있다.
그러나 전송을 위해 RTP를 직접적으로 이용하기 위해서는 일부 장치는 모든 포맷 타입을 이해해야 하는데, 이는 엔터테인먼트 네트워크와 같은 네트워크에서는 어렵거나 비실제적이다. 일례로서 비디오 저장 서버가 (예컨대 고속 전송, 되감기 및 그와 유사한 동작을 포함하는) "트릭-플레이(trick-play)" 지원을 제공하고자 한다면, 이 서버는 종래의 시스템에서의 데이터 포맷에 대해 알아야 한다. 이 예에서 비디오 저장 서버가 저장될 RTP-캡슐화된 스트림을 수신하면, 이 서버는 스트림 제시 시간을 스트림 데이터 위치에 관련시키는 인덱스를 생성하고자 할 수 있다. 이러한 시간 기반 인덱스를 생성하기 위해서는 저장 서버는 일반적으로 인덱스 포인트를 결정하기 위하여 모든 미디어 포맷을 적어도 부분적으로 디코딩해야 할 것이다. 네트워크에는 많은 가능한 포맷이 사용되고 있으므로 이러한 작업은 비실제적인 작업이다. 더욱이 암호화된 미디어 콘텐츠를 디코딩하기 위해서는 비디오 저장 서버는 모든 데이터에 액세스하기 위해 암호 지원과 필요한 키를 요구할 것이다. 이것은 저장 서버가 통상적으로 신뢰할 수 있는 장치가 아니기 때문에 어렵다.
일부 실시예에서 요약 포맷은 미디어 데이터에서 구현된다. 일부 실시예에서 네트워크 포맷을 지원하는 네트워킹 실체(entity)는 콘텐츠 포맷, 데이터 인코딩 또는 데이터 암호화에 대해 알고 있지 않더라도 데이터의 공통 캐리어(carrier)로서 기능하기 위하여 요약 정보를 이용할 수 있다. 일부 실시예에서 데이터 요약은 널리 이용되는 RTP를 포함하는(이에 한정되지 않음) 기존의 프로토콜로의 확장을 통해 구현된다. 일부 실시예에서 데이터 요약에 의해서, 미디어 콘텐츠를 해석할 필요가 없는 저장 장치와 같은 일반적인 캐리어 네트워크 장치의 설계가 간단해질 수 있으며, 또한, 단일의 프로토콜 및 패킷 포맷이 모든 타입의 데이터에 잠재적으로 이용될 수 있기 때문에 네트워크 장치에 대한 스트리밍 엔진의 모듈러 설계가 가능해질 수 있다. 데이터를 어드레싱하기 위해서는 스트림에 관련된 특정 메타 데이터가 필요할 수 있다. 일부 실시예에서 데이터 소스 장치만이 데이터로부터 필요 정보를 추출하는 요건을 부담할 필요가 있다.
일부 실시예에서 공통의 캐리어 장치는 요약 정보를 가진 데이타 스트림을 수신하고; 그 데이터 스트림의 재전송을 위한 데이터 스트림의 타이밍을 재생성하고; 재전송을 위한 임의의 압축된 널(null) 데이터 패킷을 팽창시키고; 빨리 감기, 되감기, 데이터 스트림에서의 점프, 정역 방향에서의 고속 및 저속 전송, 및 데이터 스플라이싱을 포함하는 전송 시의 트릭 플레이 동작을 제공하고; 그리고 데이터를 암호 해독하지 않고 데이터 스트림을 재전송하도록 동작할 수 있다.
네트워크 통신에서 디지털 미디어 발생기(예컨대 디지털 텔레비전 튜너나 디지털 카메라일 수 있음)와 데이터의 사용자 또는 수신측(예컨대 디지털 텔레비전일 수 있음)은 종래에는 미디어 인코딩을 이해하고 이에 동의하고 또 콘텐츠를 암호화하거나 암호 해독할 권한을 가져야 했다. 일부 실시예에서 데이터 발생기는 콘텐츠에 대한 특정 요약 정보를 얻기 위해서 데이터 콘텐츠를 암호 해독하거나 부분적으로 디코딩할 수 있다. 일부 실시예에서 이 발생기는 데이터의 특성을 반영하도록 미디어 요약 포맷으로 인코딩되고 암호화될 수 있는 미디어 콘텐츠를 캡슐화한다. 일부 실시예에서 수신측 장치는 미디어 인코딩에 대해 동의하거나 이에 대해 알지 못하더라도 또 그 데이터를 암호 해독하거나 암호화할 권한이 없더라도 미디어 요약을 이용하여 미디어 데이터를 수신 및 전송할 수 있다.
일부 실시예에서 요약 헤더에 제공된 요약 포맷은 데이터 스트림으로서 패키지된 임의의 미디어 인코딩을 포함할 것이다. 전송되는 임의의 데이터는 그러한 코딩시 반영될 수 있다. 예컨대 사진 데이터는 단일 프레임을 가진 비디오 스트림으로 해석될 수 있으며, 따라서 비디오 스트림 데이터로서 전송될 수 있다. 일부 실시예에서 요약 헤더는 네트워크 장치 인터페이스에 대한 단일 칩 솔루션에서와 같이 네트워크 장치의 저가의 저자원 구현을 가능하게 할 수 있는 접근법을 제공한다. 이와 달리 종래의 홈 네트워크 방식은 개인용 컴퓨터를 포함하는 또는 네트워크 장치 내의 다수의 맞춤형 ASIC이나 코프로세서를 포함하는 것과 같은 고자원 환경에 대해 설계되어 있다.
일부 실시예에서 요약 헤더는 전송 프로토콜이 제공하는 헤더의 확장으로서 구현될 수 있다. 예컨대 요약 헤더는 RTP 헤더 확장으로서 구현될 수 있다.
일부 실시예에서 디지털 미디어는 (프로토콜의 신뢰성이 프로토콜이 데이터가 도달했는지 여부를 검증하는 규정을 갖고 있는지 또는 원래대로 인지 여부를 고려하는) UDP/IP와 같은 신뢰할 수 없는 데이터그램 프로토콜을 통해 전달될 수 있다. 미디어 데이터는 특정 시간 제약 하에서 전달되어야 하므로 신뢰할 수 있는 전송에 대한 요구는 시종속적(time-dependent)이며 콘텐츠 특정적이다. 이런 이유로 미디어 데이터는 신뢰할 수 없는 프로토콜을 통해 효과적으로 전송될 수 있다. 이들 프로토콜은 통상적으로 LAN을 통해 동작할 수 있다. 브리지 연결을 이용하면 프로토콜은 복수의 LAN에 걸치도록 될 수 있다. 미디어 데이터 스트림은 일반적으로 시임계적(time-critical) 성분을 포함하므로 (이전 데이터는 이용될 수 없기 때문에) 보증된 데이터 전달은 필수적인 것은 아니다. 더욱이 보증된 데이터 전달은 패킷을 허용 한계 이상으로 지연시킴으로써 네트워크에 혼합이 있는 경우에는 전체 서비스 품질을 저하시킬 수 있다.
일부 실시예에서 요약 헤더는 데이터 콘텐츠에 관한 다양한 정보를 제공한다. 이 정보는 네트워크 장치가 스트림 콘텐츠를 이해하지 못하더라도 스트림을 관리하거나 조작할 수 있도록 하는 스트림에 대한 특정 세부 사항을 제공하는 데이터 독립 주해 세트를 구성한다. 헤더에 포함된 이러한 주해들 중 몇 가지는 콘텐츠 타입 플래그와 스트림 관련 타임스탬프와 같이 콘텐츠 그 자체에 내재된 정적 정보를 나타낸다.
요약 정보를 얻으려면 스트림 콘텐츠를 어느 정도 분석하고 이해할 필요가 있다. 일례에서 어떤 장치는 MPEG 스트림의 특정 부분에 대한 스트림 관련 타임스탬프를 추출하기 위해서 제시 타임스탬프를 결정하는 MPEG 데이터의 부분적 디코딩을 제공한다. 일부 실시예에서 이 기능은 방송 튜너나 인터넷 게이트웨이와 같이 콘텐츠를 네트워크에 입력하는 장치인 네트워크 진입 장치에 한정된다. 이 진입 장치는 외부 콘텐츠 보호 방식을 관리할 수도 있다. 그러면, 일부 실시예에서 저장 장치와 같이 네트워크 내의 다른 장치는 과다한 콘텐츠 타입의 부분적 또는 전체적 디코딩을 지원할 필요없이 또 보호된 콘텐츠를 암호 해독할 필요없이 스트림을 조작할 수 있다. 일부 실시예에서 진입 장치는 외부 조건 액세스 방식을 가진 콘텐츠 보호 데이터를 수신하고, 그 콘텐츠를 암호 해독하고, 요약 정보를 제공하기 위해 그 콘텐츠를 분석하여 주해를 달고, 네트워크 보호 방식에 따라 페이로드 콘텐츠를 암호화하고, 그리고 그 데이터를 네트워크 내에 유포한다.
일부 실시예에서 저장 장치에서와 같이 요약 정보는 데이터 콘텐츠가 버퍼링 될 때마다 보존된다. 요약 정보를 제공하는 주해에 의해서 원래의 시간축에 따른 스트림의 성공적인 재전송이 가능하고, 또 스트림 내의 시간 기준 포인트로 점프가 가능하거나 트릭 플레이 모드를 이용할 수 있게 된다.
일부 실시예에서 물리적 네트워크 계층이 요약 헤더 내의 콘텐츠 타입과 모드 플래그를 이용하여 패킷 전송 우선순위를 지정할 수 있다. 설정된 우선순위는 특정 구현에 따라 다를 수 있다. 일 가능한 예에서 다음의 상대적 우선순위가 (최고 우선순위에서 최저 우선순위까지) 이용될 수 있다: (a) 임베디드 콘텐츠 보호 키, (b) 오디오 데이터, (c) 1차 키 비디오 프레임 데이터, (d) 2차 키 비디오 프레임 데이터, (e) 무키(non-key) 비디오 프레임 데이터, (f) 널 데이터, 및 (g) 대역폭 예약 데이터.
도 1은 엔터테인먼트 네트워크의 실시예를 도시한 도이다. 이 도에서 엔터테인먼트 네트워크 시스템(100)은 임의의 호환가능한 미디어 장치의 네트워크에의 접속을 제공한다. 이 접속은 엔터테인먼트 네트워크(105)에의 접속으로 도시되어 있다. 일부 실시예에서 장치는 중앙 네트워크 서버없는 네트워크로서 동작한다. 엔터테인먼트 네트워크를 통해 미디어 데이터 스트림은 접속된 장치들 간에 전송될 수 있다. 그 외에도 장치는 네트워크를 통해 원격적으로 제어될 수 있다. 장치는 동축 케이블, 이더넷 케이블 및 펌웨어를 포함하는 임의의 공지의 커넥터와 접속 프로토콜을 통해 네트워크에, 그리고 와이파이(Wi-Fi), 블루투스 및 기타 다른 무선 기술을 통해 무선 접속부에 접속될 수 있다.
일부 실시예에서 장치는 임의의 미디어 소스 또는 수신자를 포함할 수 있다. 도 1에서 사무실(110)은 게이트웨이(122)를 통해 인터넷 접속(120)을 네트워크(105)에 제공할 수 있다. 인터넷으로부터 수신된 데이터는 (다운로드된 음악 파일과 같은) 구매한 오디오 파일, (영화, 텔레비전, 기타 다른 것과 같은) 비디오 파일, 및 컴퓨터 게임을 포함하나 이에 한정되지 않는 임의의 스트리밍 미디어 소스를 포함할 수 있다. 사무실(110)은 여러 가지 기능 중에서도 특정 미디어 스트림을 표시하거나 특정 컴퓨터 게임을 작동시킬 수 있는 모니터(126)를 이용하는 개인용 컴퓨터(124)에 연결될 수도 있다.
엔터테인먼트 네트워크는 예컨대 데이터를 텔레비전(132)에 제공하는 셋톱 박스(130)를 포함할 수 있는 침실(112) 내의 장치와 연결될 수도 있다. 그 외에 침실(또는 기타 다른 공간)은 미디어 저장 유닛(128)을 포함할 수 있다. 미디어 저장 유닛(128)은 네트워크(105)에 연결된 임의의 소스로부터 데이터를 수신할 수 있으며, 네트워크(105)에 연결된 임의의 데이터 수신자에 제공할 수 있다. 미디어 저장 유닛(128)은 네트워크를 위한 임의 형태의 미디어 스트림 데이터를 포함할 수 있다.
시스템은 예컨대 케이블 또는 파이버 시스템(134)으로부터 또는 위성 접시 네트워크(136)로부터 입력을 수신하는 거실(114)을 더 포함할 수 있다. 그와 같은 소스로부터 입력된 미디어는 네트워크(105)와 제2 텔레비전(140)에 연결된 셋톱 박스(138)에 제공될 수 있다. 또한 거실 텔레비전(140)에의 디스플레이를 위해 네트워크(105)에 비디오 게임 유닛(142)이 연결될 수 있다. 네트워크(105)에 연결된 제3 텔레비전(144)을 포함하는 부엌과 같이, 네트워크로 연결된 장치를 가진 다른 방도 여러개 있을 수 있다. 집 전체에 설치된 스피커를 포함할 수 있는 스테레오 오디오 시스템을 포함하나 이에 한정되지 않는 다른 네트워크 장치도 존재할 수 있다.
그 외에도 여러 가지 이동식 개인용 전자 장치가 네트워크에 연결될 수 있다. 이 장치들은 케이블을 통해, 또는 블루투스, 와이파이, 적외선 또는 기타 유사한 무선 통신 프로토콜을 포함하나 이에 한정되지 않는 무선 신호를 통해 연결될 수 있다. 그와 같은 프로토콜 각각은 와이파이 기지국과 같이 네트워크에의 인터페이스(도 1에는 미도시)를 필요로 할 수 있다. 그와 같은 이동식 개인용 전자 장치는 디지털 카메라(146), 셀룰러 전화(148), 개인용 음악 장치(150) 또는 비디오 카메라(152)를 포함할 수 있다. 그 외에도, 차량(154)에 포함된 이동 시스템은 차량이 (예컨대 집의 차고에 있을 때와 같이) 네트워크에 근접해 있을 때에 네트워크(105)에 연결될 수 있다. 이동식 개인용 전자 장치는 예컨대 네트워크의 범위 내에 있을 때에 네트워크에 자동적으로 연결될 수 있다. 연결된 동안에는 그 장치는 가능한 자동 갱신이나 장치에의 다운로드를 포함하여 그 네트워크를 통해 데이터를 얻거나 그 네트워크에 데이터를 제공하도록 이용가능할 수 있다. 일례에서 사용자는 셋톱 박스(138)를 통해 거실 텔레비젼(140)의 디지털 카메라(146)에 저장된 사진에 액세스하는 것과 같이 그 네트워크를 통해 임의의 이동식 전자 장치에 포함된 데이터에 액세스할 수 있다.
네트워크에 연결된 장치는 그 기능이 다양하므로 네트워크를 통해 전송된 데이터는 기지의 비디오 및 오디오 프로토콜을 포함하여 다양한 데이터 프로토콜을 포함할 것이다. 일례에서 미디어 저장 유닛(128)은 여러 가지 미디어 프로토콜의 데이터를 얻고, 저장하고 제공해야할 필요가 있을 수 있다.
도 2는 네트워크 내의 네트워크 장치들 간의 연결에 대한 실시예를 보여준다. 이 예시에서 제1 네트워크 장치(205)(장치 1)는 엔터테인먼트 네트워크를 포함할 수 있는 네트워크를 통해 제2 네트워크 장치(215)(장치 2)에 연결된다. (도 2에는 네트워크의 나머지 부분이 도시되어 있지 않지만 예컨대 도 1에 도시된 것들과 같은 장치를 포함할 수 있다.) 각 네트워크 장치는 장치를 네트워크 내에서 동작시킬 수 있는 네트워크 인터페이스(제1 장치(205)에 대해서는 네트워크 인터페이스(210), 제2 장치(215)에 대해서는 네트워크 인터페이스(220))를 포함할 수 있다.
이 예시에서 제1 장치(205)는 데이터 스트림(225)의 소스일 수 있고, 제2 장치(215)는 그 데이터 스트림의 수신자일 수 있다. 예컨대 제1 장치(205)는 제2 장치(215)에 데이터 스트림(225)을 제공하라는 요구를 받을 수 있다. 그러나 네트워크 장치는 임의 형태의 미디어 장치일 수 있으며, 따라서 데이터 스트림(225)은 많은 데이터 프로토콜들 중 하나에 따라 코딩될 수 있고, 암호화법에 의해 암호화될 수도 있다. 제2 장치(215)는 데이터 스트림(225)을 디코딩 또는 암호 해독할 수 있는 능력을 갖고 있지 않을 수 있으며, 그 데이터 스트림에 포함된 데이터에 액세스할 권한을 갖고 있지 않을 수 있다.
일부 실시예에서 데이터 스트림은 제2 장치(215)가 콘텐츠 포맷, 인코딩 또는 암호화에 대해 알지 못하더라도 데이터 스트림(225)의 데이터를 전달할 수 있도록 하는 데이터 요약 포맷(230)의 의해 캡슐화된다. 일부 실시예에서 데이터 요약 포맷은 그 데이터에 액세스하지 않더라도 스트림 내의 데이터를 전달하고 조작하는데 필요한 정보를 제공하는 요약 헤더의 형태로 구현될 수 있다.
일부 실시예에서 제2 장치(215)는 미디어 데이터 도달에 관한 로우 레벨 피드백(235)을 제1 장치(205)에 제공하도록 구성될 수 있다. 예컨대 데이터가 도달하지 않거나 무순서적으로 도달하면 제2 장치(215)는 부정 확인(NAK 신호)을 제공하여, 제1 장치(205)가 예컨대 누락된 데이터 요소를 재전송하도록 할 수 있다. 다른 예에서 데이터 도달 시에는 제2 장치(215)는 제1 장치(205)에 긍정 확인(ACK 신호)을 제공할 수 있다.
도 3은 네트워크에서 전송될 데이터의 작성을 보여준다. 예컨대 전송을 요하는 데이터는 제1 형태(305)로 시작할 수 있다. 데이터는 네트워크에서 데이터의 전달에 이용되는 전송 프로토콜에 따라서 데이터 패킷으로 전송될 데이터 청크(chunk)(315)로 분할될 수 있다.
일부 실시예에서 데이터 작성은 데이터 요약 포맷을 통한 데이터의 캡슐화를 더 포함할 수 있다. 일부 실시예에서 캡슐화는 데이터 청크(325)의 데이터를 가진 데이터 패킷 헤더(320)을 이용한다. 이 헤더에 의해 장치 2(215)는 콘텐츠 포맷, 인코딩 또는 암호화에 대해 알지 못하더라도 데이터 스트림 내의 데이터를 전달하는 공통 캐리어(carrier)로서 동작할 수 있다.
일부 실시예에서 데이터 청크에 대한 헤더(320)는 2 부분을 포함할 수 있다.
(a) 전송 프로토콜에 필요한 정보를 포함하는 (RTP 헤더와 같은) 전송 프로토콜 헤더(330).
(b) 데이터 콘텐츠에 관한 정보를 제공하지 않고 데이터(225)에 관한 정보를 제공하도록 부가된 요약 헤더(335). 일부 실시예에서 네트워크 장치는 데이터를 디코딩 또는 암호 해독하지 않고 요약 헤더를 이용하여 데이터(325)를 전달 및 조작할 수 있다. 요약 데이터는 전송 프로토콜 헤더의 일부 또는 확장일 수 있다.
네트워크에서 디지털 콘텐츠를 전송하기 위해서 그 콘텐츠는 일반적으로 관련 전송 프로토콜에 따라서 네트워크 전달에 적합한 데이터 "청크"로 분해된다. 예컨대 특정 데이터 인코딩 포맷이 MPEG 전송 스트림이고 전송 프로토콜이 UDP/IP라면, 기초가 되는 이더넷 프레임은 UDP 페이로드 내에 캡슐화될 188바이트 전송 스트림 셀을 7개까지 허용할 것이다. 이 특정 예에서는 가변 크기 청크가 허용될 것이다. 일부 실시예에서 그와 같은 데이터 청크 각각에 있어서, 요약 헤더에는 청크의 콘텐츠를 기술하는 다음의 필드들이 포함될 수 있다.
(a) 데이터 청크의 크기 - 크기를 반영하는 필드가 제공될 수 있다. 그러나 이 크기는 패킷 길이로 나타낼 수 있으며, 따라서 요약 헤더에는 필요하지 않을 수 있다.
(b) 모드 및 콘텐츠 플래그 - 모드 플래그 필드는 암호화의 존재, 대역폭 예약, 데이터 혼잡, 트릭 플레이 모드, 스플라이스(splice) 모드, 및 특정 데이터 동작을 포함하나 이에 한정되지 않는 특정 모드 정보를 제공할 수 있다. 일례에서 모드 표시자는 통상적인 동작 모드(트릭 플레이가 아님), 전체 데이터를 이용한 트릭 플레이 모드(더 빠르거나 느린 속도로 스트림의 데이터-인에이블링 전송을 위한 스플라이스 모드가 아님), 및 부분 데이터를 이용한 트릭 플레이 모드(스트림 내에서 스킵을 가능하게 하는 인에이블된 스플라이스 모드, 이는 모든 데이터가 이용된다면 실용적이 아닐 수 있음)를 표시할 수 있다. 일부 실시예에서 수신 장치는 트릭 플레이 모드에 기초하여 디코딩 동작을 자동적으로 조정할 수 있다. 콘텐츠 플래그 필드는 청크에 담겨진 데이터의 종류를 나타내는데 이용될 수 있다. 이 필드는 오디오 데이터, 개시/종료/계속/무(no) 키 비디오 프레임 데이터, 개시/종료/계속/무(no) 예측 비디오 프레임 데이터, 및 (키 정보와 같은) 암호 데이터에 대한 표시자(이에 한정되지 않음)를 포함할 수 있다. 데이터의 공통 캐리어로서 기능하는 중간 네트워킹 장치는 청크 데이터 콘텐츠를 조사하지 않고 이 정보를 이용하여 (암호와 오디오 데이터에 가장 높은 우선순위를 할당하고, 그 다음에 키 비디오 프레임 데이터와 예측된 비디오 프레임 데이터에 그 다음 높은 우선순위를 할당하는 것과 같이) 스트림 전송에 우선순위를 할당할 수 있다. 일부 실시예에서 그와 같은 정보가 타임스탬프 정보와 조합되면 저장 서버는 입력되는 스트림에 대한 타임 인덱스를 생성하여, 롤링(rolling) 키로 암호화된 콘텐츠에 대해서도 트릭 플레이 지원이 가능하게 하며, 이 경우에 타임 인덱스는 암호 정보와 키 프레임 시점을 포함한다.
(c) 널 데이터 입도(null data granularity) 및 널 데이터 비트맵 - 널 데이터 입도와 널 데이터 비트맵 정보는 데이터의 공통 캐리어가 데이터 스트림을 효율적으로 버퍼링할 수 있도록 할 수 있다. 미디어 스트림은 일반적으로 미디어 데이터들 사이에 산재된 널 데이터를 포함한다. 예컨대 디지털 텔레비전 방송은 대개는 널 MPEG 전송 스트림 패킷을 포함한다. 일부 실시예에서 비디오 저장 서버는 이들 패킷을 생략하여 저장 공간을 유지할 수 있다. 이 프로세스에서 널 데이터 입도 정보는 데이터의 널 부분이 청크 내에서 측정되는 고정 크기를 나타내며, 널 데이터 비트맵은 청크의 어느 부분이 널 데이터를 포함하는지를 나타낸다. 일례에서 요약 포맷을 이용하여 MPEG 전송 스트림을 캡슐화하는 소스는 청크 크기를 188바이트(전송 스트림 셀의 크기)로 설정하며, 널 데이터 비트맵 필드는 어느 셀이 널 데이터를 포함하고 있는지를 나타낼 것이다. 그러면 저장 장치 또는 버퍼링을 가진 다른 네트워크 실체(예컨대 브리지 장치)는 그 포함된 포맷을 이해하지 않아도 그 데이터 청크를 압축하고 압축해제할 수 있다.
(d) 암호화 쿠키 - 일부 실시예에서 암호화 요소(또는 "쿠키")가 제공될 수 있다. 암호화 요소를 이용하면 암호화된 스트림이 무순서적으로 또는 타임 시프트 방식으로 전송되고, 수신기가 그 변형된 스트림을 적절하게 암호 해독할 수 있다. 미디어 스트림은 일반적으로 블록 암호로 암호화될 수 있는데, 이 경우에 블록 암호는 암호화 또는 암호 해독될 데이터의 블록마다 순서 번호를 필요로 한다. 일부 실시예에서 암호화 요소는 통상적으로 네트워크 프로토콜 헤더 내의 순서 번호로부터 도출되는 순서 번호를 갖고 있을 수 있다. 미디어 스트림을 통해 타임 시프트 또는 스킵할 때 네트워크 프로토콜 순서 번호는 중간 장치를 통해 보존되지 않기 때문에 이용가능하지 않을 것이다. 일부 실시예에서 요약 헤더 내에 암호화 요소를 포함하게 되면 암호화된 데이터 콘텐츠는 데이터 스트림을 표시하지 않을 실체에 키를 보낼 필요없이 네트워크를 통해 전달될 수 있다.
(e) 스트림 관련 타임스탬프 - 일부 실시예에서 요약 헤더는 데이터 스트림에 대한 타이밍을 반영하는 타임스탬프를 포함할 수 있다. 이 필드는 페이로드 콘텐츠의 제1 바이트의 제시 시간에 기초할 수 있다. 그러면 타임스탬프는 데이터 스트림에 대한 타이밍 프로세스들에서 이용될 수 있다.
도 4는 데이터의 요약 헤더의 실시예를 도시한 것이다. 이 도시에서 데이터 헤더는 도 3에 도시된 바와 같이 전송 프로토콜 헤더(330)와 요약 헤더(335)를 포함할 수 있다. 일부 실시예에서 요약 헤더는 데이터와 그 관련 프로세스를 요약하는 여러 가지 데이터 필드를 포함할 수 있다.
일부 실시예에서 이 필드들은 (데이터 패킷의 크기로 암시될 수 있는) 데이터 청크의 크기 필드(405); 현재 동작 모드에 대한 정보를 제공하는 모드 플래그(410); 데이터 청크 내의 널 데이터 크기와 위치에 대한 필드(415); 데이터를 기술하는 콘텐츠 플래그(420); 암호화된 데이터의 이용을 위한 순서 넘버링을 제공하는 암호화 요소(425); 스트림에 관계된 타임스탬프(430); 및 기타 다른 필드(435)를 포함할 수 있으나 이에 한정되는 것은 아니다. 이들 필드들은 모든 구현에서 제공되는 것은 아닐 수 있다.
도 5는 데이터에 구비된 헤더의 실시예들 도시한 것이다. 일부 실시예에서 네트워크 데이터 패킷은 도 5에 도시된 바와 같이 공통의 RTP 헤더 포맷을 공유할 수 있다. 임의의 RTP 헤더 필드에는 RFC 3350에 규정된 RTP 프로토콜의 포맷과 해석을 따를 것이다. 이 도시에서 모든 멀티바이트 필드는 네트워크 바이트 순서로 표현되며, 헤더 필드에 대한 특정 값이 적절히 포함된다. 일부 실시예에서 데이터 스트림이 실시간으로 전달될 때에 데이터 패킷은 UDP/IP 프로토콜 패킷 내에 캡슐화된다. 이들 패킷은 복수의 UDP/IP 패킷에 걸쳐 분할되지 않도록 그 크기가 (이더넷과 같은) 하부 링크 계층의 최대 페이로드보다 작도록 요구된다. (장치들 간에 콘텐츠의 일부를 전달하는 때와 같이) 실시간 제약이 없는 경우에는 RTP 캡슐화는 스트림이 마치 UDP/IP 프로토콜을 이용하여 전달되는 것처럼 적용되지만, 실제 전달 프로토콜은 TCP/IP일 수 있다. 일부 실시예에서 데이터 패킷이 전송을 위해 더 하위의 네트워크 계층으로 전달되는 경우에, 페이로드 콘텐츠에 기초하여 패킷 레벨 우선순위를 할당하는 것과 같이 패킷 전송 방법을 표시하는 보충 정보가 헤더 필드로부터 도출될 수 있다.
도 5와 이 도에 대한 다음의 설명은 헤더의 특정 지정된 위치에 있는 특정 크기의 특정 필드를 기술하지만, 본 발명의 실시예는 이들 특정 구현에 한정되지 않는다. 일부 실시예에서 헤더는 다음의 필드를 포함한다.
전송 프로토콜 (RTP) 헤더(502):
버젼(V)(504) - 헤더의 제1의 2개 비트는 이 버전 필드를 구성한다. 예를 들어, 현재 RTP 버젼은 2이다.
패딩(P) 비트(506) - RTP 헤더의 제3 비트는 장래 이용을 위해 예비된 패딩 비트로서 제로이다.
확장(X) 비트(508) - RTP 헤더의 제4 비트는 특수 용도 확장이 공통 RTP 헤더에 첨부되어 있는지 여부를 표시한다. 예컨대 요약 헤더는 각 RTP 패킷의 페이로드에서 고정 크기 프로파일 확장으로 포함될 수 있다. 이 예에서 가변 길이 및 가변 위치 RTP 헤더 확장은 이용되지 않으며, 따라서 이 비트는 제로이다.
기여 소스 카운트(Contributing Source Count)(CC)(510) - (4개의 비트를 포함하는) 이 필드는 무부호(unsigned) 정수로 해석된다. 이것은 RTP 프로토콜에 의해 정의된 바와 같이 RTP 헤더에 이어지는 기여 소스의 수를 나타낸다. 만일 네트워크가 기여 소스의 개념을 지원하지 않으면 이 필드는 제로이다.
마커(M) 비트(512) - RTP 헤더의 제9 비트는 스트림 데이터 내의 유의한 이벤트의 마커를 나타낸다. 이 마커 비트의 해석은 RTP 페이로드에 들어있는 콘텐츠의 프로파일에 따라 다르다. 예컨대 오디오/비디오 데이터에 대해서는 이 비트는 소스 자료의 전환 또는 스트림 내의 다른 지점으로의 점프 시와 같이 타임스탬프가 불연속적일 때에 1로 설정된다. 이 값은 송신기에 의해 동적으로 발생된다.
페이로드 타입(514) - 이러한 7비트 필드는 무부호 정수로 해석된다. 페이로드 필드는 페이로드 콘텐츠의 타입과 포맷을 표시한다. RFC 3551에서는 RTP 오디오/비디오 프로파일에 대한 페이로드 타입 값이 정의되어 있다. RTP가 개발된 당시에 있었던 일반적인 미디어 인코딩 포맷에 대해서는 몇 가지 고정된 잘 알려진 값이 이용된다. 후속 버전에서 RTP 명세에는 동적으로 할당된 페이로드 포맷에 대해 96 내지 127 범위의 값이 예약된다. 외부 메카니즘 또는 사이드 채널(side channel)은 특정 RTP 세션을 위한 페이로드 타입을 협상하고 동적 범위로부터 페이로드 타입 값을 할당하는데 이용될 것으로 예상된다. 일부 실시예에서 네트워크 프로토콜은 동적 범위로부터의 페이로드 타입의 정적 할당을 이용하며, 따라서 이 명세는 사이드 패널을 표현한다. 예컨대 동적 값 범위에의 페이로드 타입의 할당은 표 1에 요약될 수 있다.
세션 관리자 이벤트 코드 값
타입 설명
96 MPEG MPEG-TS 포맷 내에 임의 타입의 MPEG 콘텐츠가 들어있다.
97 AVC/H.264 MPEG-TS 포맷 내에 임의 타입의 AVC 콘텐츠가 들어있다.
98 VC-1 MPEG-TS 포맷 내에 임의 타입의 VC-1 콘텐츠가 들어있다.
99 JPEG JPEG 영상에 대한 RTP 프로파일 내에 JPEG 콘텐츠가 들어있다.
동작 시, 수신기는 자신이 이해하지 못하는 페이로드 타입은 무시한다. 페이로드 타입 값은 정적이며 미디어 콘텐츠와 함께 보존된다.
순서 번호(516) - 네트워크 바이트 순서로 된 이러한 16비트 필드는 무부호 정수로 해석된다. 이 필드는 송신된 RTP 패킷의 순서 번호를 나타낸다. 이 필드는 미디어 그 자체의 본래 순서에 상관없이 송신된 각 패킷에 대해 1씩 증분된다. 따라서 (앞쪽으로 점프하거나 되감기하는 것과 같이) 데이터 스트림 내에서 이리 저리 스킵할 때에 순서 번호는 각 패킷에 대해 1씩 증분되고, 스트림 데이터 순서은 크게 변할 수 있다. 필드의 초기값은 임의적이며 송신기에 의해 동적으로 발생될 수 있다.
송신 타임스탬프(518) - 네트워크 바이트 순서로 된 이러한 32비트 필드는 무부호 정수로 해석된다. 이 필드는 송신측에서의 90KHz 기준 클록에 따라서 패킷의 제1 바이트가 송신되어야 하는 순간을 나타낸다. 다른 실시예에서는 27MHz 클록과 같은 다른 클록을 이용하여 더 큰 정밀도를 제공할 수 있다. 이 필드의 초기 값은 임의적이다. 수신기는 송신 타임스탬프 값을 이용하여 공칭 패킷율과 스트림 대역폭을 결정하고 푸시 모델(push model)을 통해 타이밍을 복원할 수 있다. 이 값은 송신기에 의해 동적으로 발생될 수 있다. 일부 실시예에서 이 필드는 교체될 수 있지만 이것은 비표준 RTP 구현을 제공할 것이다. 일부 실시예에서 헤더 확장부에 소정 필드가 부가되어 타임스탬프 데이터를 제공할 수 있다.
동기화 소스(520) - 네트워크 바이트 순서로 된 이러한 32비트 필드는 미디어 스트림의 소스를 나타낸다. 일부 실시예에서 네트워크 프로토콜은 이러한 필드를 페이로드의 소스의 IP 어드레스를 나타내는 IPv4 네트워크 어드레스로 해석한다. 이 값은 송신기에 의해 동적으로 발생된다.
요약 헤더(522):
요약 프로토콜 버전(524, 526) - 일부 실시예에서 요약 프로토콜은 시간에 따라 전개될 수 있으며, 따라서 (8비트로 나타낸) 필드를 이용하여 여러 가지 프로토콜 버전들을 구별할 수 있다. 일례에서 비트 0 내지 3은 버전 마이너 번호를 구성하고 비트 4 내지 7은 버전 메이저 번호를 구성한다. 예컨대 현재 메이저 번호는 1이고 현재 마이너 번호는 0이다(이는 버전 1.0으로 해석될 수 있다). 이 버전 값은 송신기에 의해 동적으로 발생될 수 있다.
모드 플래그(528) - (도시에서 8비트로 나타낸) 필드는 스트림 전달과 연관된 현재 모드에 관한 정보를 표현하는 플래그 비트맵을 나타낸다. 예컨대 특정 비트 위치에서 값 1은 관련 플래그에 대한 플러스 값을 표시하고, 값 0은 마이너스 값을 표시할 수 있다. 일 가능한 구현에서 이 필드에 대한 비트 할당은 표 2에 요약된 바와 같이 될 수 있다. 모드 플래그는 송신기에 의해 동적으로 발생된다.
스트림 모드 설정을 위한 플래그 비트 위치
비트 플래그 설명
0 암호화 페이로드 콘텐츠가 암호화되어 있는지에 대한 표시
1 예약 송신기가 대역폭 예약 단계에 있는지 여부에 대한 표시
2 혼잡 송신기가 혼잡을 겪고 있는지 여부에 대한 표시
3 트릭 플레이 트릭 플레이 모드가 시행 중인지 여부에 대한 표시
4 스플라이스 모드 스플라이싱이 트릭 플레이를 위해 사용 중인지 여부에 대한 표시
5-7 RFU 기타 또는 장래 이용을 위해 예약된 것
블록 크기(530) - (여기서 8비트 필드로서 나타낸) 블록 크기 필드는 무부호 정수로서 해석된다. 이 블록 크기 필드는 페이로드 내의 미디어 데이터의 블록 크기를 나타낸다. 미디어 스트림의 수신기에서의 버퍼 관리를 용이하게 하기 위하여 널 데이터를 포함하는 페이로드의 섹션(이 섹션은 저장될 필요가 없는 섹션임)은 마킹된다. 이 필드는 이러한 섹션의 크기를 나타낸다. 예컨대 MPEG 전송 스트림은 188 바이트 셀들로 분해되는데, 그 일부는 널 셀로서 마킹되며 단순히 대역폭 패딩으로 기능할 수 있다. 이들 셀은 저장될 필요가 없다. 따라서 널 블록 크기 필드는 MPEG-TS 셀의 크기인 188바이트로 설정될 것이다. 이 값은 정적이며 미디어 콘텐츠와 함께 보존된다.
블록 카운트(532) - (여기서 8비트 필드로 나타낸) 블록 카운트 필드는 무부호 정수로 해석된다. 이 필드는 페이로드 내의 미디어 데이터의 블록 수를 나타낸다. 각 블록은 블록 크기 필드(530) 페이로드로 나타낸 크기 정도이다. 일례에서 하나의 패킷 내에는 16개 이하의 블록이 있도록 요구될 수 있다. 블록 카운트에 블록 크기를 곱하고 헤더의 바이트(RTP의 12바이트와 요약의 88바이트)를 더하면 페이로드의 총 크기가 된다. 이 예에서 페이로드 크기 값은 1472바이트와 같이 UDP에 대한 최대치로 한정된다. 일부 실시예에서 블록 카운트 값은 정적이며 미디어 콘텐츠와 함께 보존된다.
콘텐츠 플래그(534) - (16비트 필드로서 나타낸) 이 필드는 페이로드 콘텐츠에 관한 정보를 표현하는 플래그의 비트맵을 나타낸다. 특정 비트 위치에서 값 1은 관련 플래그에 대한 플러스 값을 표시하고, 값 0은 마이너스 값을 표시한다. 이 필드에 대한 비트 할당은 표 3에 요약된 바와 같이 될 수 있다. 이 필드 값은 정적이며 미디어 콘텐츠와 함께 보존된다.
스트림 콘텐츠 속성에 대한 플래그 비트 위치
비트 플래그 설명
0 인덱스 개시 페이로드는 인덱스 데이터의 개시를 포함한다.
1 인덱스 데이터 페이로드는 내부 인텍스 데이터를 포함한다.
2 인덱스 종료 페이로드는 인덱스 데이터의 종료를 포함한다.
3 오디오 데이터 페이로드는 오디오 데이터를 포함한다.
4 영상 데이터 페이로드는 영상 데이터를 포함한다.
5 1차 비디오 페이로드는 1차 키 프레임, 예컨대 MPEG2 I-프레임으로부터의 비디오 데이터를 포함한다.
6 2차 비디오 페이로드는 2차 키 프레임, 예컨대 MPEG2 P-프레임으로부터의 비디오 데이터를 포함한다.
7 무키 비디오 페이로드는 무키 프레임, 예컨대 MPEG2 B-프레임으로부터의 비디오 데이터를 포함한다.
8 스플라이스 데이터 페이로드는 트릭 플레이 모드에서 섹션을 스플라이싱하는데 필요한 데이터를 포함한다.
9 그래픽 데이터 페이로드는 임베디드 그래픽 데이터를 포함한다.
10 메타 데이터 페이로드는 미디어 콘텐츠를 기술하는 임베디드 메타 데이터를 포함한다.
11 암호 데이터 페이로드는 임베디드 암호화 정보, 예컨대 롤링 키 정보를 포함한다.
12-15 RFU 기타 또는 장래 이용을 의해 예약된 것
이 예에서 3개의 인덱스 데이터 필드는 미디어 콘텐츠 내의 인덱스 포인트들의 표시로서 기능한다. 인덱스 데이터는 비교적 안정된 랜덤 액세스 포인트를 구성하는 미디어 콘텐츠의 인접 부분을 나타내며, 따라서 트릭 플레이 모드에서는 스트림 내에서 점프하면서 함께 스플라이싱될 수 있는 미디어 데이터이다. 이 예시에서는 8개의 가능한 값이 있는데, 그 중에서 5개는 고유한 것이다. 모든 인덱스 비트에 대한 제로 값은 독립적인(self-contained) 디코딩과 디스플레이에 적합하지 않은 미디어 데이터, 예컨대 MPEG B-프레임을 나타낸다. 다른 4개의 고유값은 인덱스 데이터 부분의 시작, 인덱스 데이터 부분의 내부, 인덱스 데이터 부분의 끝, 및 동일한 패킷의 인덱스 데이터의 새로운 부분의 시작이 이어지는 인덱스 데이터 부분의 끝을 나타낸다. 예컨대 MPEG I-프레임의 제1 바이트를 포함하는 패킷은 제1 비트에 대해서는 값 1, 제2 비트에 대해서는 값 0 또는 1(무관심(dont't care)), 제3 비트에 대해서는 인덱스 데이터의 시작을 나타내는 값 0을 가질 것이다. I-프레임 데이터를 포함하는 후속 패킷은 0으로 설정된 제1 비트, 1로 설정된 제2 비트, 내부 인덱스 데이터를 나타내는 0으로 설정된 제3 비트를 가질 것이다. I-프레임의 마지막 바이트를 포함하는 패킷은 0으로 설정된 제1의 2비트, 및 인덱스 부분의 끝을 나타내는 1로 설정된 제3 비트를 가질 것이다.
널 페이로드 벡터(536) - 이 예시에서 (16비트 필드로 나타낸) 널 페이로드 벡터는 페이로드의 어느 부분이 널 데이터를 포함하는지를 나타내는 플래그 벡터로 해석된다. 각 비트는 페이로드의 블록(그 크기는 블록 크기 필드(530)에 의해 나타냄)이 널 데이터를 포함하는지 여부에 대한 표시를 나타낸다. 비트 0은 페이로드의 제1 블록을 나타내고, 비트 1은 다음 블록을 나타내고 하는 식이다. 비트가 1로 설정된 경우에는 이는 페이로드의 해당 블록이 저장될 필요가 없는 널 데이터를 포함하고 있음을 나타낸다. 이 예에서 필드 값은 정적이며 미디어 콘텐츠와 함께 보존된다.
이 예시에서 수신기는 널로 마킹된 블록들은 해석하지 않고 무시한다. 이것은 콘텐츠가 널 블록을 저장하지 않고 암호화되어 버퍼링되었을 수 있기 때문이다. 이 경우에 패킷은 암호 해독되기 전에 확장된 다음에, 널 블록에 대해 랜덤 데이터를 발생할 것이다.
디스플레이 레이트(538) - 이 예시에서 네트워크 바이트 순서의 (16비트 필드로 나타낸) 디스플레이 레이트는 통상적인 스트림 레이트의 배수, 예컨대 통상적인 속도의 1.5배로서 디코드 레이트를 지칭하는 스트림 디스플레이 레이트를 나타낸다. 일례에서 레이트는 부호를 가진 고정 소수점 분수 값으로 규정된다. 비트 8 내지 15는 크기(magnitude)를 구성하고 비트 0 내지 7은 분수(fractional) 성분을 구성한다. 플러스 값은 정방향을 나타내며, 마이너스 값은 역방향을 나타낸다. 이 예에서 필드 값은 통상적인 디스플레이 레이트 1에 적용된 승수(multiplier)를 나타낸다. 예컨대 16진수 값(hex value) 0x0180은 크기 값이 1이고 분수 값이 0.5인 것을 나타내는데, 이는 원하는 디스플레이 레이트가 정방향에서 통상적인 속도의 1.5배임을 나타낸다. 0x0100(즉, 통상의 속도) 이외의 값은 스트림이 트릭 플레이 모드에 있음을 나타내며, 따라서 수신기는 그 디코드와 디스플레이 유닛을 조정해야 한다. 트릭 플레이 모드의 변화는 이 필드의 값의 변화로 나타내어진다. 이 예에서 디스플레이 레이트는 동적으로 발생된다.
필드(540)는 후에 다른 목적으로 이용될 수 있는 예약 필드로서 예시된다.
스트림 관련 타임스탬프(542) - (여기서 32비트 필드로서 나타낸) 이 필드는 무부호 정수로 해석된다. 이 필드는 페이로드 콘텐츠의 제1 바이트의 제시 시간을 나타낸다. 이 값은, MPEG B-프레임과 같은 양방향 예측 비디오 프레임이 사용된 경우이겠지만, 단조 증가할 필요가 없다. 일 구현에서 타임스탬프는 미디어 콘텐츠와 관련한 스트림 클록에 기초하여 할당될 수 있다. 이 필드값은 정적이고 미디어 콘텐츠와 함께 보존된다. 이 필드는 타임 오프셋을 스트림 내의 바이트 위치에 맵핑하는데 이용될 수 있으며, 그러면 그 스트림을 통한 시간 기반 점프가 가능해질 수 있다.
암호 카운터 값(544) - (64비트 필드로서 나타낸) 이 필드는 데이터 스트림 내에 캡슐화된 미디어 콘텐츠를 암호화하는데 이용된 키 인덱스 값의 일부를 구성하는 카운터 값을 나타낸다. 이 필드 값은 전체 스트림에 걸쳐 고유해야 하며, 그와 같은 값은 일정하며 페이로드 콘텐츠와 연관된다. 일부 실시예에서 이 값은 디코딩과 디스플레이를 위해 미디어 콘텐츠를 암호 해독하는데 이용된다. 이 필드 값은 정적이며 미디어 콘텐츠와 함께 보존된다.
블록 캡처 타임스탬프 리스트(546-550) - 이 구현에서는 진입 장치가 미디어 스트림을 캡처하여 네트워크를 통해 전달할 때에 정확한 디코딩을 위해 적당한 타이밍 복원을 보장하기 위하여 디스플레이 장치에서의 캡처 타이밍이 재생성된다. 이 동작은, 단일 프로그램 전송 스트림으로 축소되는 고대역폭 멀티프로그램 전송 스트림의 경우에서와 같이, 스트림이 저장되었다가 뒤에 다시 구동되는 경우나 스트림의 일부가 대역폭을 줄이기 위해 진입시에 누락되는 경우에 특히 중요하다.
일례에서 페이로드 내의 각 스트림 데이터 블록에 대해서 진입 장치에서 90KHz 기준 클록에 따른 캡처 타임스탬프가 요약 헤더에 부가된다. 이 예에서 각 타임스탬프는 32비트 폭을 갖고 있으며 네트워크 바이트 순서로 송신된다. 예시된 바와 같이 헤더는 패킷 내에 허용된 최대 블록 수에 대해 캡처 타임스탬프를 유지하는 16개의 슬롯을 포함한다. 이 리스트는 페이로드 내의 실제 블록 수에 상관없이 고정되어 있다. 페이로드 내의 블록 수가 16개 미만이라면 수신기는 미사용 타임스탬프를 모두 무시한다. 이 구현에서 블록 캡처 타임스탬프 값은 정적이며 미디어 콘텐츠와 함께 보존된다.
일부 실시예에서 데이터 소스의 스트리밍 애플리케이션은 도달하거나 손실된 데이터 패킷에 관하여 의도된 데이터 수신자로부터 로우 레벨 피드백을 수신할 수 있다. 일부 실시예에서 데이터 소스는 에러 복구 메카니즘을 선택하기 위하여 로우 레벨 피드백을 이용할 수 있다. 일부 실시예에서 로우 레벨 피드백을 이용하면 시스템은 엔터테인먼트 네트워크 상에 존재하는 네트워크 장치를 복잡하게 하지 않으면서 데이터 전달 문제를 처리할 수 있다.
일부 실시예에서 요약 헤더는 로우 레벨 피드백을 제공하는데 이용될 수 있는 순서 번호를 포함한다. 예컨대 의도된 데이터 수신기가 특정 스트림에 대해 예상되는 시간 프레임 내에서 예상되는 패킷을 수신하지 못하거나 무순서(out-of-sequence) 패킷을 검출하면, 수신기는 송신기에 부정 확인(NAK)을 피드백으로서 송신할 수 있다. NAK를 위한 채널은 여러 가지일 수 있으며, 신뢰할 수 있는 프로토콜이나 (UDP와 같은) 신뢰할 수 없는 프로토콜 중 어느 하나를 이용할 수 있다. 송신기는 NAK를 수신하면 패킷이 여전히 이용가능하다면 그 패킷을 재전송할 수 있다. 이를 위해 일부 실시예에서 송신기는 재송신 버퍼를 유지할 수 있다. 송신된 패킷은 (요약 헤더 플래그에 따른 패킷 타입에 기초할 수 있는) 그들의 우선순위와, 그와 같은 재송신이 의미있는 시간량에 따라서 그 버퍼에 저장될 수 있다. 이 특정 버퍼 관리 방식은 응용에 따라 다를 것이다. 일부 실시예에서 패킷이 도달하면 긍정 확인(ACK)도 제공될 수 있으며, 따라서 이것은 재송신 버퍼에서 항목을 효율적으로 제거하는데 이용될 수 있다. 그러나 긍정 확인이 제공되는 경우에는 피드백이 증가하게 될 것이다.
일부 실시예에서 송신기는 NAK를 이용하여 과부하 상태를 나타내는 길어진 데이터 혼잡의 기간을 검출할 수 있다. 이렇게 과부하 상태가 검출되면 송신기는 스트림의 대역폭 감소 버전으로 전환하는 것과 같이 그 혼잡을 처리할 적당한 조치를 취할 수 있으며, 또는 스트림을 완전히 중단시켜 다른 활동 스트림이 고품질로 지속될 수 있도록 할 수 있다. 송신기는 예컨대 TFRC(TCP-friendly rate control)와 같은 기존의 혼잡 검출 알고리즘을 이용할 수 있다.
도 6은 네트워크 내의 스트리밍 데이터의 전송 프로세스의 실시예를 도시한 것이다. 일부 실시예에서 제1 장치에서 제2 장치로의 데이터 스트림 전달 요구가 발생한다(605). 이 요구는 예컨대 개인용 엔터테인먼트 네트워크일 수 있는 네트워크 내의 제1 장치 또는 다른 장치에 의해 발생될 수 있다. 제1 장치는 네트워크를 위한 스트리밍 데이터 콘텐츠를 작성한다(610). 이 프로세스는 예컨대 각 데이터 청크를 가진 전송 프로토콜 헤더와 함께 요약 헤더의 삽입에 의해 콘텐츠를 요약하는 단계를 포함한다. 이 프로세스는 도 7에서 설명된 요소들을 포함할 수 있다. 그 다음, 데이터 패킷은 제1 장치로부터 제2 장치로 전송된다(615).
일부 실시예에서 데이터 전송과 관련하여 피드백이 제공될 수 있다. 예상된 데이터 패킷이 수신되지 않거나(620) 무순서로 수신되면(625), 송신 장치로부터 제1 장치로 부정 확인(NAK)이 전송될 수 있다(630). 데이터 콘텐츠 전달을 위해 적당하다면, 제1 장치는 버퍼로부터 그 누락된 패킷을 재전송할 수 있다(632). 패킷이 올바른 순서로(625) 수신되면(620), 제2 장치는 선택적으로 확인(ACK)을 제1 장치로 전송하여 제1 장치가 수신된 패킷의 버퍼를 클리어할 수 있도록 할 수 있다. 게다가 확인 전송에 따라 제1 장치는 제2 장치가 실제로 데이터 스트림을 수신하고 있고 그 스트림 내의 모든 패킷을 누락하지 않고 있다고 판단할 수 있다. 수신된 패킷에 대해서 제2 장치가 그 데이터의 사용자이면(그리고 중간 장치가 아니라면)(640), 그 장치는 데이터 패킷을 암호 해독하고 디코딩할 수 있다. 제2 장치가 그 데이터의 사용자가 아니라면, 그 패킷은 암호 해독 또는 디코딩되지 않고 통과된다(650). 어느 경우에서나, 그 데이터를 표시하거나 나중에 이용하기 위해 그 데이터를 저장하는 것과 같이 그 데이터 패킷에 대해 의도된 동작이 수행된다(655).
도 7은 스트리밍 데이터의 요약 프로세스의 실시예를 도시한 것이다. 일부 실시예에서 데이터 스트림은 적어도 부분적으로 암호 해독 또는 디코딩되어 요약 정보를 얻을 수 있다(700). 이 데이터 스트림은 전송 프로토콜의 요구에 따라 데이터 청크로 분할된다(705). 요약 헤더에 대한 정보는 이 데이터 청크에 대해 결정된다. 이 프로세스는 암호화, 대역폭 예약, 혼잡, 트릭 플레이 이용, 스플라이싱 및 기타 다른 모드를 포함하는 동작 모드를 결정하는 단계(715)를 포함한다. 이 프로세스는 널 데이터의 널 블록 크기와 위치를 결정하는 단계(720)를 더 포함한다. 인덱스 데이터, 오디오 데이터, 영상 데이터, 키 프레임이 있거나 없는 비디오 데이터, 스플라이싱, 그래픽, 메타데이터, 암호화를 위한 데이터, 및 기타 다른 콘텐츠 정보를 포함할 수 있는 콘텐츠 정보가 결정된다(725). 데이터가 암호화된 경우에는 순서 넘버링을 제공하기 위해 암호 카운터 값이 포함될 수 있으며(730), 그 데이터에 대해 스트림 관련 타임스탬프가 설정될 수 있다. 요약 정보가 설정되면 각 데이터 청크에 전송 프로토콜 헤더와 요약 헤더가 부착될 수 있으며(740), 이 데이터는 도 6에서 설명한 바와 같이 전송될 수 있다.
도 8은 네트워크 장치의 실시예를 도시한 것이다. 이 예시에서 네트워크 장치(805)는 도 1에 예시된 장치들을 포함하는(이에 한정되지 않음) 엔터테인먼트 네트워크와 같은 네트워크 내의 임의의 장치일 수 있다. 예컨대 이 네트워크 장치는 텔레비전, 셋톱 박스, 저장 유닛, 게임 콘솔 또는 기타 다른 미디어 장치일 수 있다. 일부 실시예에서 네트워크 장치(805)는 네트워크 기능을 제공하도록 구성된 네트워크 유닛(810)을 포함한다. 네트워크 기능은 미디어 데이터 스트림의 발생, 전송, 저장 및 수신을 포함하나 이에 한정되는 것은 아니다. 네트워크 유닛(810)은 임베디드(embedded) 시스템으로서 구현될 수 있다. 네트워크 유닛(810)은 단일의 칩 온 시스템(SoC) 또는 복수의 컴포넌트로 구현될 수 있다.
일부 실시예에서 네트워크 유닛(810)은 데이터 처리를 위한 프로세서를 포함한다. 데이터 처리는 데이터 스트림의 발생, 전송 또는 저장을 위한 데이터 스트림의 조작, 및 이용을 위한 데이터 스트림의 암호 해독과 디코딩을 포함할 수 있다. 네트워크 장치는 DRAM(dynamic random access memory)(820) 또는 이와 유사한 메모리와 플래시 메모리(825) 또는 기타 다른 불휘발성 메모리와 같이 네트워크 운용을 지원하는 메모리도 포함할 수 있다.
네트워크 장치(805)는 네트워크 인터페이스(855)를 통한 네트워크 상의 데이터 송신 또는 네트워크로부터의 데이터 수신을 위한 송신기(830) 및/또는 수신기(840)도 각각 포함할 수 있다. 송신기(830) 또는 수신기(840)는 예컨대 이더넷 케이블(850)을 포함하는 유선 전송 케이블이나 무선 유닛에 연결될 수 있다. 유선 전송 케이블은 동축 케이블, 전력선, 또는 데이터 송신에 이용될 수 있는 기타 다른 케이블이나 배선을 포함할 수도 있다. 송신기(830)나 수신기(840)는 데이터 송신용 라인(835)과 데이터 수신용 라인(845)과 같은 하나 또는 그 이상의 라인을 이용하여 데이터 전송과 제어 신호를 위해 네트워크 유닛(810)에 결합될 수 있다. 추가적인 접속부도 존재할 수 있다. 네트워크 장치(805)는 여기에 도시하지는 않았지만 장치의 미디어 작동을 위한 많은 컴포넌트도 포함할 수 있다.
상기 설명에서는 설명 목적상 본 발명을 철저하게 이해하기 위하여 많은 특정 세부 사항을 기재하였다. 그러나 그러한 특정 세부 사항이 없더라도 본 발명이 실시될 수 있음은 당업자에게 명백할 것이다. 여러 가지 경우에서 공지의 구조와 장치는 블록도 형태로 나타내었다. 예시된 컴포넌트들 간에는 중간 구조가 있을 수 있다. 여기서 설명된 또는 예시된 컴포넌트들은 예시되거나 설명되지는 않은 추가적인 입력부 또는 출력부를 가질 수 있다. 예시된 구성요소 또는 컴포넌트는 필드의 재정렬 또는 필드 크기의 변경을 포함하여 다른 여러 가지 구성 또는 순서로 배치될 수도 있다.
본 발명은 여러 가지 프로세스를 포함할 수 있다. 본 발명의 프로세스는 하드웨어 컴포넌트에 의해 수행될 수 있거나, 기계 실행가능 명령어로 구체화될 수 있고 명령어를 이용하여 명령어로 프로그램된 범용 또는 전용 프로세서나 로직 회로가 프로세스들을 수행하게 할 수 있다. 또는 프로세스들은 하드웨어와 소프트웨어의 조합에 의해 수행될 수 있다.
본 발명의 일부는 본 발명에 따른 프로세스를 수행하도록 컴퓨터(또는 기타 다른 전자 장치)를 프로그램하는데 이용될 수 있는 컴퓨터 프로그램 명령어가 저장된 컴퓨터 판독가능 매체를 포함할 수 있는 컴퓨터 프로그램 제품으로 제공될 수 있다. 기계 판독가능 매체는 플로피 디스켓, 광 디스크, CD-ROM(compact disk read-only memory), 광 자기 디스크, ROM(read-only memory), RAM(random access memory), EPROM(erasable programmable read-only memory), EEPROM(electrically-erasable programmable read-only memory), 자기 또는 광 카드, 플래시 메모리, 또는 전자적 명령어를 저장하는데 적합한 기타 다른 형태의 미디어/기계 판독가능 매체를 포함할 수 있으나 이에 한정되는 것은 아니다. 더욱이 본 발명은 컴퓨터 프로그램 제품으로서 다운로드될 수 있는데, 이 경우에 프로그램은 원격 컴퓨터로부터 요구중인 컴퓨터로 전송될 수 있다.
여러 가지 방법을 가장 기본적인 형태로 기술하였지만, 본 발명의 기본적인 범위로부터 벗어남이 없이 프로세스를 그 방법 중 어느 것에 추가하거나 그로부터 삭제할 수 있고, 정보를 기술된 메시지 중 어느 것에 추가하거나 그로부터 뺄 수 있다. 더 많은 변형이나 개조가 가능함은 당업자에게 명백할 것이다. 특정 실시예들은 본 발명을 한정하려는 것이 아니라 예시하기 위해 제공된 것이다. 본 발명의 범위는 전술한 특정 예들에 의해 정해지는 것이 아니라 하기의 청구범위에 의해서만 정해진다.
구성요소 "A"가 구성요소 "B"에 또는 이와 결합된다는 것은 구성요소 A가 구성요소 B에 직접적으로 결합된다거나, 예컨대 구성요소 C를 통해 간접적으로 결합될 수 있다는 것을 말한다. 명세서 또는 청구범위에 컴포넌트, 형상, 구조, 프로세스 또는 특징 A가 컴포넌트, 형상, 구조, 프로세스 또는 특징 B를 유발한다고 기재한 것은 "A"가 "B"의 적어도 부분적 원인이지만 "B"를 유발하도록 다른 컴포넌트, 형상, 구조, 프로세스 또는 특징이 적어도 하나 있을 수도 있다는 것을 의미한다. 명세서에 컴포넌트, 형상, 구조, 프로세스 또는 특징이 "포함될지도 모른다", "포함될지도 몰랐다", 또는 "포함될 수 있었다"라고 기재한 것은 그 특정 컴포넌트, 형상, 구조, 프로세스 또는 특징이 반드시 포함되어야 한다는 것은 아니다. 명세서 또는 청구범위에서 "단수 형태의" 구성요소는 기재된 구성요소들 중 하나만 있다는 것을 의미하는 것은 아니다.
실시예는 본 발명의 구현 또는 예이다. 명세서에서 "소정 실시예", "일 실시예", "일부 실시예", "다른 실시예"라고 한 것은 실시예들과 관련하여 기재된 특정 형상, 구조 또는 특징이 적어도 일부 실시예에 포함되지만 반드시 모든 실시예에 포함되는 것은 아님을 의미한다. "소정 실시예", "일 실시예" 또는 "일부 실시예"가 여러 번 나타나도 이것이 반드시 동일 실시예를 말하는 것은 아니다. 본 발명의 예시적인 실시예에 대한 상기 설명에서 본 발명의 여러 가지 특징들은 본 발명의 내용을 능률화하고 여러 가지 발명적 양상들 중 하나 또는 그 이상을 이해하는데 도움이 되도록 때로는 하나의 실시예, 도면 또는 그 설명에서 함께 그룹화되는 것을 이해해야 한다. 그러나 본 발명의 방법은 본 발명이 각 청구항에 명시적으로 기재된 것 이상의 특징을 요구하는 의도를 반영하는 것으로 해석되어서는 안된다. 그러기보다는 하기의 청구범위가 반영하는 바와 같이 발명적 양상은 전술한 하나의 실시예의 모든 특징을 모두 다 포함하는 것은 아니다. 따라서 청구범위는 본 발명의 설명에 명시적으로 포함되는 것이며, 각 청구항은 본 발명의 독립된 실시예로서 독자적인 지위를 갖고 있다.

Claims (36)

  1. 데이터 스트림을 발생하도록 구성되고, 상기 데이터 스트림의 발생은 상기 데이터에 대한 요약 정보의 발생과 상기 요약 정보의 상기 데이터 스트림 내로의 삽입을 포함하는 네트워크 유닛; 및
    상기 발생된 데이터 스트림을 송신하도록 구성된 송신기
    를 포함하는 장치.
  2. 제1항에 있어서,
    상기 요약 정보의 발생은 상기 데이터를 적어도 부분적으로 디코딩하고 상기 디코딩된 데이터를 평가하여 상기 데이터에 대한 상기 요약 정보의 적어도 일부를 얻는 것을 포함하는 장치.
  3. 제1항에 있어서,
    상기 요약 정보의 상기 데이터 스트림 내로의 삽입은 상기 요약 정보를 포함하는 하나 또는 그 이상의 헤더를 미디어 스트림 내로 삽입하는 것을 포함하는 장치.
  4. 제1항에 있어서,
    상기 요약 정보는,
    상기 데이터에 대한 동작 모드에 관한 정보;
    상기 데이터의 콘텐츠에 관한 정보;
    상기 데이터 내의 널(null) 데이터의 위치의 식별;
    암호화된 데이터에 대한 암호 카운터; 및
    상기 데이터에 대한 타임스탬프 값
    중 하나 또는 그 이상을 포함하는 장치.
  5. 제1항에 있어서,
    제2 장치로부터 데이터 스트림을 수신하는 수신기를 더 포함하는 장치.
  6. 제1항에 있어서,
    상기 데이터는 미디어 데이터인 장치.
  7. 제2 장치로부터, 인코딩되고 데이터에 관한 요약 정보를 포함하는 데이터의 스트림을 수신하도록 구성된 수신기; 및
    상기 데이터에 관한 상기 요약 정보에 적어도 부분적으로 기초하여 상기 데이터 스트림을 처리하도록 구성된 네트워크 유닛
    을 포함하는 장치.
  8. 제7항에 있어서,
    상기 요약 정보는 상기 스트림 내의 하나 또는 그 이상의 헤더에 포함된 장치.
  9. 제7항에 있어서,
    상기 데이터 스트림 처리는,
    상기 데이터를 수신하고 상기 데이터를 다른 장치에 송신하는 것,
    상기 데이터를 저장하는 것, 및
    상기 데이터를 이용하는 것
    중 하나 또는 그 이상을 포함하는 장치.
  10. 제9항에 있어서,
    상기 데이터는 상기 데이터를 디코딩하지 않고 전송 또는 저장되는 장치.
  11. 제10항에 있어서,
    상기 데이터는 암호화되고, 상기 데이터는 상기 데이터를 암호 해독하지 않고 전송 또는 저장되는 장치.
  12. 제7항에 있어서,
    상기 데이터를 이용하는 것은 상기 데이터를 상기 요약 정보에 적어도 부분적으로 기초하여 디코딩하는 것을 포함하는 장치.
  13. 제7항에 있어서,
    상기 데이터 스트림은 미디어 데이터 스트림을 포함하는 장치.
  14. 데이터 프로토콜에 따라서 인코딩되는 데이터 스트림을 네트워크 상에 발생하도록 구성된 제1 네트워크 장치; 및
    상기 제1 네트워크 장치로부터 상기 데이터 스트림을 수신하도록 구성된 제2 네트워크 장치
    를 포함하며,
    상기 데이터 스트림의 발생은.
    상기 데이터를 적어도 부분적으로 디코딩하는 것;
    상기 데이터에 관한 요약 정보를 얻기 위해 상기 데이터를 평가하는 것; 및
    상기 요약 정보를 상기 데이터에 부가하는 것
    을 포함하는 네트워크.
  15. 제14항에 있어서,
    상기 제2 네트워크 장치는 상기 요약 정보에 기초하여 상기 수신된 데이터 스트림을 처리하는 네트워크.
  16. 제14항에 있어서,
    상기 제2 네트워크 장치는 상기 데이터의 콘텐츠나 상기 데이터의 코딩을 알지 못하는 네트워크.
  17. 제14항에 있어서,
    상기 데이터는 암호화되고, 상기 제2 네트워크 장치는 상기 데이터를 암호 해독하지 않고 상기 수신된 데이터 스트림을 처리하는 네트워크.
  18. 제14항에 있어서,
    상기 데이터 스트림 처리는 상기 요약 정보에 기초하여 상기 데이터 스트림의 타이밍을 변경하거나 미디어 데이터 스트림 내의 제1 포인트에서 제2 포인트로 점프하는 것을 포함하는 네트워크.
  19. 제14항에 있어서,
    상기 제2 네트워크 장치는 상기 데이터 스트림의 전달에 관한 피드백을 상기 제1 네트워크 장치에 제공하는 네트워크.
  20. 데이터 프로토콜에 따라 인코딩되고 복수의 데이터 청크(chunk)를 포함하는 데이터 스트림을 네트워크 내의 제1 장치에서 상기 네트워크 내의 제2 장치로 전송하라는 요구를 수신하는 단계;
    상기 데이터 스트림의 복수의 데이터 패킷 각각에 관한 요약 정보를 결정하는 단계;
    상기 데이터 스트림의 각 데이터 패킷에 상기 요약 정보를 부착하는 단계; 및
    상기 데이터 스트림을 상기 네트워크 상에서 상기 제1 장치로부터 상기 제2 장치로 송신하는 단계
    를 포함하는 데이터 스트리밍 방법.
  21. 제20항에 있어서,
    상기 네트워크는 엔터테인먼트 네트워크인 데이터 스트리밍 방법.
  22. 제20항에 있어서,
    상기 제2 장치에서 상기 데이터 스트림을 수신하는 단계를 더 포함하는 데이터 스트리밍 방법.
  23. 제22항에 있어서,
    상기 제2 장치가 상기 데이터를 디코딩하지 않고 상기 요약 정보에 기초하여 상기 수신된 데이터 스트림을 처리하는 단계를 더 포함하는 데이터 스트리밍 방법.
  24. 제23항에 있어서,
    상기 데이터 스트림은 암호화되고,
    상기 제2 장치가 상기 데이터를 암호 해독하지 않고 상기 데이터 스트림을 처리하는 단계를 더 포함하는 데이터 스트리밍 방법.
  25. 제20항에 있어서,
    상기 수신된 데이터를 상기 제2 장치로부터 제3 장치로 전송하는 단계, 및 상기 제3 장치로의 전송 시에 각 데이터 패킷에 상기 요약 정보를 보유하는 단계를 더 포함하는 데이터 스트리밍 방법.
  26. 제20항에 있어서,
    데이터 패킷이 도달하지 않거나 상기 데이터 패킷이 무순서적으로 도달하는 경우에 부정 확인을 상기 제2 장치로부터 상기 제1 장치로 전송하는 단계를 더 포함하는 데이터 스트리밍 방법.
  27. 제26항에 있어서,
    상기 부정 확인에 응답하여 누락된 데이터 패킷을 상기 제1 장치로부터 상기 제2 장치로 재전송하는 단계를 더 포함하는 데이터 스트리밍 방법.
  28. 제20항에 있어서,
    데이터 패킷 수신 시에 긍정 확인을 상기 제2 장치로부터 상기 제1 장치로 전송하는 단계를 더 포함하는 데이터 스트리밍 방법.
  29. 프로세서에 의해 액세스될 때에, 컴퓨터에게,
    데이터 프로토콜에 따라 인코딩되는 데이터를 전송 프로토콜을 이용하여 네트워크 내의 제1 장치에서 상기 네트워크 내의 제2 장치로 스트리밍하라는 요구를 수신하는 단계;
    상기 데이터를 적어도 부분적으로 디코딩하는 단계;
    상기 데이터에 관한 요약 정보를 결정하는 단계;
    상기 요약 정보를 상기 데이터 내로 삽입하는 단계; 및
    상기 데이터의 스트림을 상기 네트워크 상에서 상기 제1 장치로부터 상기 제2 장치로 송신하는 단계
    를 포함하는 동작들을 수행하게 하는 명령어를 포함하는 컴퓨터 판독가능 매체를 포함하는 제조품.
  30. 제29항에 있어서,
    상기 요약 정보를 상기 데이터 내로 삽입하는 단계는 데이터 헤더를 데이터 패킷에 부착하는 단계를 포함하는 제조품.
  31. 제29항에 있어서,
    상기 데이터 헤더는 상기 전송 프로토콜을 위한 제2 데이터 헤더 다음에 부착되는 제조품.
  32. 제29항에 있어서,
    상기 전송 프로토콜은 RTP(Real-time Transfer Protocol)를 포함하는 제조품.
  33. 제29항에 있어서,
    상기 전송 프로토콜은 신뢰할 수 없는 프로토콜을 통해 전달되는 제조품.
  34. 제33항에 있어서,
    상기 신뢰할 수 없는 프로토콜은 UDP(User Datagram Protocol)인 제조품.
  35. 제29항에 있어서,
    상기 전송 프로토콜은 신뢰할 수 있는 프로토콜을 통해 전달되는 제조품.
  36. 제35항에 있어서,
    상기 신뢰할 수 있는 프로토콜은 TCP(Transfer Control Protocol)인 제조품.
KR1020107004053A 2007-07-25 2008-07-02 네트워크에서의 데이터 콘텐츠 스트리밍 KR20100050516A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/828,226 US20090028142A1 (en) 2007-07-25 2007-07-25 Streaming data content in a network
US11/828,226 2007-07-25

Publications (1)

Publication Number Publication Date
KR20100050516A true KR20100050516A (ko) 2010-05-13

Family

ID=40282070

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020107004053A KR20100050516A (ko) 2007-07-25 2008-07-02 네트워크에서의 데이터 콘텐츠 스트리밍

Country Status (7)

Country Link
US (1) US20090028142A1 (ko)
EP (1) EP2179559A2 (ko)
JP (2) JP5389798B2 (ko)
KR (1) KR20100050516A (ko)
CN (1) CN101785278B (ko)
TW (1) TWI388170B (ko)
WO (1) WO2009014876A2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101683384B1 (ko) * 2015-06-25 2016-12-06 라인 가부시키가이샤 실시간 스트림 제어를 위한 시스템 및 방법

Families Citing this family (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1624610B1 (en) * 2004-08-06 2006-12-27 Matsushita Electric Industrial Co., Ltd. Feedback control for multicast or broadcast services
US8966551B2 (en) * 2007-11-01 2015-02-24 Cisco Technology, Inc. Locating points of interest using references to media frames within a packet flow
US9197857B2 (en) * 2004-09-24 2015-11-24 Cisco Technology, Inc. IP-based stream splicing with content-specific splice points
US7936695B2 (en) * 2007-05-14 2011-05-03 Cisco Technology, Inc. Tunneling reports for real-time internet protocol media streams
US9003054B2 (en) * 2007-10-25 2015-04-07 Microsoft Technology Licensing, Llc Compressing null columns in rows of the tabular data stream protocol
DE102007053255B4 (de) * 2007-11-08 2009-09-10 Continental Automotive Gmbh Verfahren zum Bearbeiten von Nachrichten und Nachrichtenbearbeitungsvorrichtung
JP5476754B2 (ja) * 2008-04-09 2014-04-23 ソニー株式会社 暗号化ストリーム処理回路および暗号化ストリーム処理方法
US8346218B2 (en) * 2008-05-02 2013-01-01 International Business Machines Corporation Avoiding redundant transmissions of data during multimedia mobile phone communications
US20100002699A1 (en) * 2008-07-01 2010-01-07 Sony Corporation Packet tagging for effective multicast content distribution
US9077784B2 (en) * 2009-02-06 2015-07-07 Empire Technology Development Llc Media file synchronization
US8711771B2 (en) * 2009-03-03 2014-04-29 Qualcomm Incorporated Scalable header extension
JP4947389B2 (ja) * 2009-04-03 2012-06-06 ソニー株式会社 画像信号復号装置、画像信号復号方法、および画像信号符号化方法
US8506402B2 (en) * 2009-06-01 2013-08-13 Sony Computer Entertainment America Llc Game execution environments
US8799496B2 (en) 2009-07-21 2014-08-05 Eloy Technology, Llc System and method for video display transfer between video playback devices
US8874638B2 (en) * 2009-12-15 2014-10-28 International Business Machines Corporation Interactive analytics processing
US8892762B2 (en) * 2009-12-15 2014-11-18 International Business Machines Corporation Multi-granular stream processing
US8819183B2 (en) * 2009-12-15 2014-08-26 International Business Machines Corporation Concurrent execution of request processing and analytics of requests
US20110296048A1 (en) * 2009-12-28 2011-12-01 Akamai Technologies, Inc. Method and system for stream handling using an intermediate format
US20110191587A1 (en) * 2010-02-02 2011-08-04 Futurewei Technologies, Inc. Media Processing Devices With Joint Encryption-Compression, Joint Decryption-Decompression, And Methods Thereof
FR2956271B1 (fr) * 2010-02-09 2012-02-17 Canon Kk Procede et dispositif de calcul de l'espace disponible dans un paquet pour le transport de flux de donnees
US8750319B2 (en) * 2010-11-03 2014-06-10 Broadcom Corporation Data bridge
KR101672253B1 (ko) * 2010-12-14 2016-11-03 삼성전자주식회사 휴대용 단말기에서 스트리밍 서비스를 제공하기 위한 장치 및 방법
WO2012082033A1 (en) * 2010-12-15 2012-06-21 Telefonaktiebolaget L M Ericsson (Publ) Methods, a client and a server for handling an mpeg transport stream
US20120265853A1 (en) * 2010-12-17 2012-10-18 Akamai Technologies, Inc. Format-agnostic streaming architecture using an http network for streaming
US8880633B2 (en) 2010-12-17 2014-11-04 Akamai Technologies, Inc. Proxy server with byte-based include interpreter
KR20120138604A (ko) 2011-06-14 2012-12-26 삼성전자주식회사 멀티미디어 시스템에서 복합 미디어 컨텐츠를 송수신하는 방법 및 장치
KR101885852B1 (ko) 2011-09-29 2018-08-08 삼성전자주식회사 컨텐트 전송 및 수신 방법 및 장치
DE102012017308B4 (de) * 2012-09-03 2016-05-12 Global Infinipool Gmbh Verfahren zur Übertragung von Daten
KR101982243B1 (ko) * 2012-09-28 2019-05-24 삼성전자주식회사 사용자 단말 장치, 전자 장치 및 그 제어 방법
US9602557B2 (en) * 2012-10-15 2017-03-21 Wowza Media Systems, LLC Systems and methods of communication using a message header that includes header flags
CN103945371B (zh) * 2013-01-17 2018-07-06 中国普天信息产业股份有限公司 一种端到端加密同步的方法
US9408050B2 (en) * 2013-01-31 2016-08-02 Hewlett Packard Enterprise Development Lp Reducing bandwidth usage of a mobile client
WO2014117775A1 (en) * 2013-01-31 2014-08-07 Codemate A/S Network content delivery method using a delivery helper node
JP2015136058A (ja) * 2014-01-17 2015-07-27 ソニー株式会社 通信装置、通信データ生成方法、および通信データ処理方法
US10804958B2 (en) 2015-02-24 2020-10-13 Comcast Cable Communications, Llc Multi-bitrate video with dynamic blocks
JP6947028B2 (ja) * 2015-06-12 2021-10-13 日本電気株式会社 中継装置、端末装置、通信システム、pdu中継方法、pdu受信方法およびプログラム
US10855741B2 (en) * 2015-08-06 2020-12-01 Sensormatic Electronics, LLC System and method for multiplexed video stream decoding in web browser
US10554571B2 (en) * 2015-08-18 2020-02-04 Avago Technologies International Sales Pte. Limited Packet-to-packet timing reconstruction for channel bonding
US20170264719A1 (en) * 2016-03-09 2017-09-14 Qualcomm Incorporated Multi-Stream Interleaving for Network Technologies
GB2552201B (en) * 2016-07-13 2019-12-11 Canon Kk Method and device for http streaming over unreliable transport protocol
KR102322191B1 (ko) * 2017-04-03 2021-11-05 리스태트 리미티드 안전한 라스트 마일 통신을 위한 방법 및 장치
CN111133365B (zh) 2017-05-01 2023-03-31 奇跃公司 内容到空间3d环境的匹配
CN111684495A (zh) 2017-12-22 2020-09-18 奇跃公司 用于在混合现实系统中管理和显示虚拟内容的方法和系统
IL276621B2 (en) 2018-02-22 2024-05-01 Magic Leap Inc A browser for mixed reality systems
EP3756079A4 (en) 2018-02-22 2021-04-28 Magic Leap, Inc. OBJECT GENERATION WITH PHYSICAL MANIPULATION
CN113711174A (zh) 2019-04-03 2021-11-26 奇跃公司 用混合现实系统在虚拟三维空间中管理和显示网页
US11811877B2 (en) * 2021-05-13 2023-11-07 Agora Lab, Inc. Universal transport framework for heterogeneous data streams

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6275471B1 (en) * 1998-05-12 2001-08-14 Panasonic Technologies, Inc. Method for reliable real-time multimedia streaming
US7551672B1 (en) * 1999-02-05 2009-06-23 Sony Corporation Encoding system and method, decoding system and method, multiplexing apparatus and method, and display system and method
JP2001103444A (ja) * 1999-10-01 2001-04-13 Matsushita Electric Ind Co Ltd パケット暗号化装置およびプログラム記録媒体
JP2001111619A (ja) * 1999-10-12 2001-04-20 Sony Corp 送信装置、通信システム及びその通信方法
US20050152397A1 (en) * 2001-09-27 2005-07-14 Junfeng Bai Communication system and techniques for transmission from source to destination
US7376159B1 (en) * 2002-01-03 2008-05-20 The Directv Group, Inc. Exploitation of null packets in packetized digital television systems
CN100452857C (zh) * 2002-07-12 2009-01-14 松下电器产业株式会社 数据处理装置
JP3821086B2 (ja) * 2002-11-01 2006-09-13 ソニー株式会社 ストリーミングシステム及びストリーミング方法、クライアント端末及びデータ復号方法、並びにプログラム
KR100746190B1 (ko) * 2002-11-20 2007-08-03 노키아 코포레이션 데이터 송수신을 위한 시스템 및 방법
US7483532B2 (en) * 2003-07-03 2009-01-27 Microsoft Corporation RTP payload format
WO2005015907A1 (ja) * 2003-08-08 2005-02-17 Matsushita Electric Industrial Co., Ltd. データ処理装置及びデータ処理方法
WO2005034521A1 (en) * 2003-10-06 2005-04-14 Koninklijke Philips Electronics, N.V. Digital television transmission with error correction
EP1693999A4 (en) * 2003-12-11 2011-09-14 Panasonic Corp PACK STATION DEVICE
US7636439B2 (en) * 2004-09-10 2009-12-22 Hitachi Kokusai Electric, Inc. Encryption method, encryption apparatus, data storage distribution apparatus and data delivery system
JP4593618B2 (ja) * 2005-03-08 2010-12-08 パナソニック株式会社 パケット送信装置
US7500010B2 (en) * 2005-04-07 2009-03-03 Jeffrey Paul Harrang Adaptive file delivery system and method
JP4715306B2 (ja) * 2005-05-25 2011-07-06 ソニー株式会社 ストリーム制御装置、ストリーム再生方法、映像記録再生システム
US8677504B2 (en) * 2005-07-14 2014-03-18 Qualcomm Incorporated Method and apparatus for encrypting/decrypting multimedia content to allow random access

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101683384B1 (ko) * 2015-06-25 2016-12-06 라인 가부시키가이샤 실시간 스트림 제어를 위한 시스템 및 방법

Also Published As

Publication number Publication date
TWI388170B (zh) 2013-03-01
JP5715669B2 (ja) 2015-05-13
CN101785278A (zh) 2010-07-21
TW200906125A (en) 2009-02-01
JP2014053024A (ja) 2014-03-20
CN101785278B (zh) 2014-10-08
WO2009014876A2 (en) 2009-01-29
US20090028142A1 (en) 2009-01-29
JP5389798B2 (ja) 2014-01-15
EP2179559A2 (en) 2010-04-28
JP2010534974A (ja) 2010-11-11
WO2009014876A3 (en) 2009-04-30

Similar Documents

Publication Publication Date Title
JP5715669B2 (ja) ネットワークにおけるストリーミングデータコンテンツ
US10715844B2 (en) Method and apparatus for transceiving data for multimedia transmission system
US8140933B2 (en) Buffering packets of a media stream
KR102049907B1 (ko) Mmt 시스템을 위한 미디어 데이터 전송 장치 및 방법, 그리고 미디어 데이터 수신 장치 및 방법
WO2020192152A1 (zh) 视频传输的方法、根节点、子节点、p2p服务器和系统
US7587507B2 (en) Media recording functions in a streaming media server
US20060184790A1 (en) Protecting elementary stream content
WO2007022033A1 (en) Protecting elementary stream content
KR102105656B1 (ko) Mmt 서비스의 패킷 재전송 방법 및 장치, 재전송 요청 방법 및 장치
US20040174874A1 (en) AV data transmission and reception scheme for realizing copyright protection
JP5085553B2 (ja) データ・ソースからデータ・シンクへのデータ・フローの転送のための方法、データ・シンク装置、データ・ソース装置、およびこれを実行するための装置
JP5082715B2 (ja) 受信装置、受信方法およびコンピュータプログラム
US20160149868A1 (en) Content transmission device and content transmission method, content reception device and content reception method, computer program, and content transmission system
JP2006211227A (ja) データ送信装置およびデータ送信方法
JP2019053350A (ja) 配信装置、再生装置、配信方法、再生方法、再生プログラムおよびデータ構造
JP2015092697A (ja) データ送信装置
KR20150035857A (ko) 복합 네트워크에서 멀티미디어 데이터를 전송하기 위한 장치 및 그 방법
JP2013255265A (ja) データ送信装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
J201 Request for trial against refusal decision
E902 Notification of reason for refusal
B601 Maintenance of original decision after re-examination before a trial
J301 Trial decision

Free format text: TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20150216

Effective date: 20151201

S901 Examination by remand of revocation
E90F Notification of reason for final refusal
S601 Decision to reject again after remand of revocation