KR20130057404A - 스케일러빌리티 및 뷰 정보를 제공하는 스트리밍 서비스를 위한 방법 및 장치 - Google Patents

스케일러빌리티 및 뷰 정보를 제공하는 스트리밍 서비스를 위한 방법 및 장치 Download PDF

Info

Publication number
KR20130057404A
KR20130057404A KR20120133477A KR20120133477A KR20130057404A KR 20130057404 A KR20130057404 A KR 20130057404A KR 20120133477 A KR20120133477 A KR 20120133477A KR 20120133477 A KR20120133477 A KR 20120133477A KR 20130057404 A KR20130057404 A KR 20130057404A
Authority
KR
South Korea
Prior art keywords
video
scalable
information
mmt
header
Prior art date
Application number
KR20120133477A
Other languages
English (en)
Other versions
KR102003925B1 (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 한국전자통신연구원
Priority to US14/360,174 priority Critical patent/US20140344470A1/en
Priority to JP2014543422A priority patent/JP2015503281A/ja
Priority to PCT/KR2012/009978 priority patent/WO2013077670A1/ko
Publication of KR20130057404A publication Critical patent/KR20130057404A/ko
Application granted granted Critical
Publication of KR102003925B1 publication Critical patent/KR102003925B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23614Multiplexing of additional data and video streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234327Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by decomposing into layers, e.g. base layer and one or more enhancement layers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • 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/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/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23605Creation or processing of packetized elementary streams [PES]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2402Monitoring of the downstream path of the transmission network, e.g. bandwidth available
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • H04N21/25808Management of client data
    • H04N21/25825Management of client data involving client display capabilities, e.g. screen resolution of a mobile phone
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities

Landscapes

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

Abstract

스케일러빌리티 및 뷰 정보를 제공하는 스트리밍 서비스를 위한 방법 및 장치가 제공된다. 스케일러블 비디오 또는 멀티뷰 비디오가 MPEG-2 시스템을 통하여 전송될 때, 페이로드(payload)에 존재하는 스케일러블 비디오 또는 멀티뷰 비디오에 대한 스케일러빌리티 정보 또는 뷰 정보가 이용될 수 있다. 스케일러빌리티 정보 또는 뷰 정보를 이용함으로써, 패킷화된(packetized) 스케일러블 비디오 또는 멀티뷰 비디오가 다양한 성능의 단말, 다양한 네트워크 특성 및 특정한 사용자 선호도 등에 효율적으로 적응(adaptation)될 수 있다.

Description

스케일러빌리티 및 뷰 정보를 제공하는 스트리밍 서비스를 위한 방법 및 장치{METHOD AND APPARATUS FOR STREAMING SERVICE PROVIDING SCALABILITY AND VIEW INFORMATION}
아래의 실시예들은 스트리밍 서비스를 위한 방법 및 장치에 관한 것이다.
스케일러빌리티 및 뷰 정보를 포함하는 스트림을 제공하는 장치 및 방법이 개시된다.
MPEG-2 시스템(systems)은 비디오 파트 및 오디오 파트에서 생성한 기초 스트림(Element Stream; ES)을 저장 또는 전송하기 위해 패킷화하고 다중화하는 과정을 수행한다.
상기의 과정은 크게 두 가지로 구별될 수 있다.
하나는, 저장매체에 저장될 프로그램 스트림(Program Stream; PS)을 만드는 과정이다.
다른 하나는, 네트워크에서 전송하거나 방송하기 위한 트랜스포트 스트림(Transport Stream; TS)을 만드는 과정이다.
스케일러블(scalable) 비디오가 MPEG-2 시스템의 TS를 통해 전송될 때, TS 레벨(level)에서의 효율적인 스케일러빌리티(scalability)가 지원될 필요가 있다.
기존의 방법에 따르면, 프로그램 부가 정보(Program Specific Information; PSI)를 통하여 TS의 페이로드(payload)에 있는 스케일러블 비디오의 스케일러빌리티 정보가 파악될 수 있다.
이러한 방법이 사용되는 경우, MPEG-2 시스템은 스케일러빌리티 정보를 이용하기 위해서, 주기적으로 PSI 정보와 동기화를 수행하여야 하며, PSI 정보를 매번 분석해야 한다.
또한, 스케일러블 비디오에서 제공하는 여러 스케일러블 계층들이 효율적으로 사용되기 위해서는 패킷화된 기초 스트림(Packetized Elementary Stream; PES)의 오버헤드 및 PSI 정보의 증가가 불가피하다.
또한, TS로부터 프로그램 부가 정보(Program Specific Information; PSI)를 통하여, TS의 페이로드(payload)에 있는 스케일러블 비디오의 스케일러빌리티 정보는 패킷 식별자(Packet Identifier; PID)에 의해 제공된다.
따라서, TS 레벨에서 식별하고자 하는 스케일러블 계층마다 별도의 ES가 구성되어야하고, PID가 할당되어야 한다.
다양한 스케일러블 계층들을 TS 레벨에서 식별하고자 하는 경우, 많은 수의 ES가 구성되어야 한다. 많은 수의 ES가 구성되어야 하는 것은, TS 생성기(즉, 다중화기) 및 TS 역다중화기의 구조를 복잡하게 한다.
따라서, TS 레벨에서 효율적인 스케일러빌리티 정보를 이용하는 방법이 도입될 필요가 있다.
또한, 디지털 방송은 현재의 스테레오 3D 비디오 방송에서 초고선명(Ultra High Definition; UHD) 방송, 멀티뷰 3D 비디오 방송등으로 발전할 것으로 예상된다. 이러한 예상에 따라, 디지털 방송에 있어서 더 많은 전송량이 요구된다.
기존의 MPEG-2 트랜스포트 스트림(Transport Stream; TS)의 패킷은 188바이트(byte)의 제한된 사이즈를 갖는다. 따라서, MPEG-2 TS의 패킷으로서, 새로운 전송 패킷이 정의될 필요가 있다. 기존 MPEG-2 TS보다 더 효과적인 전송 포맷에 대한 연구가 요구된다. 상기의 연구로서, 기존의 MPEG-2 TS를 대체하는 MPEG 미디어 트랜스포트(MPEG Media Transport ;MMT)에 대한 표준화가 진행되고 있다.
따라서, 향후 MMT에서도 효율적인 스케일러빌리티 및 멀티뷰 비디오 정보의 제공을 가능하게 하는 방법이 도입될 필요가 있다.
일 실시에는 MPEG-2 TS를 통해 스케일러블 비디오 및 멀티뷰 비디오의 정보를 제공하는 장치 및 방법을 제공할 수 있다.
실시예는 MMT를 통해 스케일러블 비디오 및 멀티뷰 비디오의 정보를 제공하는 스트리밍 장치 및 방법을 제공할 수 있다.
일 측에 따르면, MPEG-2 트랜스포트 스트림 패킷을 생성하는 패킷 생성부 및 상기 MPEG-2 트랜스포트 스트림 패킷을 사용하여 MPEG-2 트랜스포트 스트림을 전송하는 전송부를 포함하고, 상기 MPEG-2 트랜스포트 스트림은 스케일러블 비디오 스트림을 포함하며, 상기 MPEG-2 트랜스포트 스트림 패킷의 헤더는 상기 스케일러블 비디오 스트림의 스케일러빌리티 정보를 포함하는, 스트리밍 서버가 제공된다.
상기 스케일러블 비디오 스트림은 상기 MPEG-2 트랜스포트 스트림 패킷의 페이로드(payload) 내에 분할되어 존재할 수 있다.
상기 스케일러빌리티 정보는 상기 헤더의 사적 전송 데이터(Transport Private Data) 내에 존재할 수 있다.
상기 사적 전송 데이터는 상기 헤더의 적응 필드(Adaptation Field) 내의 부가적 필드(Optional Field) 내에 존재할 수 있다.
상기 헤더는 상기 스케일러빌리티 정보의 유무를 나타내는 스케일러빌리티 정보 플래그 및 상기 스케일러블 비디오 스트림의 뷰(view) 정보의 유무를 나타내는 뷰 정보 플래그를 포함할 수 있다.
상기 헤더는 상기 스케일러빌리티 정보 플래그 및 상기 뷰 정보 플래그의 유무를 나타내는 사적 데이터 플래그를 포함할 수 있다.
상기 스케일러빌리티 정보는 상기 스케일러블 비디오의 공간적 스케일러빌리티 정보, 상기 스케일러블 비디오의 시간적 스케일러빌리티 정보 및 상기 스케일러블 비디오의 화질적 스케일러빌리티 정보를 포함할 수 있다.
상기 뷰 정보는 상기 헤더의 사적 전송 데이터 내에 존재할 수 있다.
상기 패킷 생성부는 멀티-뷰 비디오 코딩(Multi-view Video Coding; MVC)의 네트워크 추상화 계층 유닛(Network Abstraction Layer Unit; NALU) 헤더 내의 제2 뷰 정보를 사용하여 상기 뷰 정보를 생성할 수 있다.
상기 패킷 생성부는 스케일러블 비디오 코딩(Scalable Video Coding; SVC) 의 네트워크 추상화 계층 유닛 헤더 내의 제2 스케일러빌리티 정보를 사용하여 상기 스케일러빌리티 정보를 생성할 수 있다.
상기 패킷 생성부는 상기 MPEG-2 트랜스포트 스트림 패킷 내에 상기 네트워크 추상화 계층 유닛 헤더의 데이터가 존재할 경우에만 상기 스케일러빌리티 정보를 생성할 수 있다.
상기 패킷 생성부는 동일한 패킷 식별자(Packet Identifier; PID)를 갖는 하나 이상의 MPEG-2 트랜스포트 스트림 패킷들 중 상기 네트워크 추상화 유닛 헤더의 데이터가 존재하는 상기 MPEG-2 트랜스포트 스트림 패킷 내에만 상기 스케일러빌리티 정보를 생성할 수 있다.
상기 패킷 생성부는, 상기 MPEG-2 트랜스포트 스트림 패킷 내에 상기 스케일러빌리티 정보를 삽입하는 스케일러빌리티 정보 삽입부를 포함할 수 있다.
다른 일 측에 따르면, MPEG-2 트랜스포트 스트림을 수신하는 수신부 및 상기 MPEG-2 트랜스포트 스트림 내의 MPEG-2 트랜스포트 스트림 패킷을 처리하는 패킷 처리부를 포함하고, 상기 MPEG-2 트랜스포트 스트림은 스케일러블 비디오 스트림을 포함하며, 상기 MPEG-2 트랜스포트 스트림 패킷의 헤더는 상기 스케일러블 비디오 스트림의 스케일러빌리티 정보를 포함하는, 스트리밍 클라이언트가 제공된다.
상기 패킷 처리부는 상기 헤더 내의 뷰 정보 플래그에 기반하여 상기 패킷 내의 상기 스케일러빌리티 정보의 유무 및 뷰 정보의 유무를 판단할 수 있다.
상기 패킷 처리부는 상기 스케일러빌리티 정보에 기반하여 스케일러블 비디오 코딩의 네트워크 추상화 계층 유닛 헤더 내의 스케일러빌리티 정보를 생성할 수 있다.
상기 패킷 처리부는 상기 MPEG-2 트랜스포트 스트림 패킷 내에 상기 네트워크 추상화 계층 유닛 헤더의 데이터가 존재할 경우에만 상기 스케일러빌리티 정보를 추출할 수 있다.
상기 패킷 처리부는 동일한 패킷 식별자를 갖는 하나 이상의 MPEG-2 트랜스포트 스트림 패킷들 중 네트워크 추상화 유닛 헤더의 데이터가 존재하는 상기 MPEG-2 트랜스포트 스트림 패킷에서만 상기 스케일러빌리티 정보를 추출할 수 있다.
상기 패킷 처리부는 상기 동일한 패킷 식별자를 갖는 상기 하나 이상의 MPEG-2 트랜스포트 스트림 패킷들 중 상기 스케일러빌리티 정보를 포함하는 상기 트랜스포트 스트림 패킷과 가장 가까운 이전 시간의 제2 MPEG-2 트랜스포트 스트림 패킷으로부터 상기 MPEG-2 트랜스포트 스트림 패킷의 스케일러빌리티 정보를 추출할 수 있다.
또 다른 일 측에 따르면, MPEG-2 트랜스포트 스트림 패킷을 생성하는 패킷 생성 동작 및 상기 MPEG-2 트랜스포트 스트림 패킷을 사용함으로써 생성된 MPEG-2 트랜스포트 스트림을 전송하는 전송 동작을 포함하고, 상기 MPEG-2 트랜스포트 스트림은 스케일러블 비디오 스트림을 포함하며, 상기 MPEG-2 트랜스포트 스트림 패킷의 헤더는 상기 스케일러블 비디오 스트림의 스케일러빌리티 정보를 포함하는, 스트리밍 서비스 방법이 제공된다.
상기 스케일러블 비디오 정보 및 멀티뷰 비디오 정보 또는 스케일러블 멀티뷰 비디오 정보는 상기 MFU헤더에서 선택적으로 존재할 수 있다.
상기 헤더는 상기 계층 타입 정보에 따라 스케일러블 비디오 정보, 멀티뷰 비디오 정보, 그리고 스케일러블 멀티뷰 비디오의 컴바인드 스케일러빌리티(combined scalability) 정보를 포함할 수 있다.
또 다른 일 측에 따르면, MPEG 미디어 트랜스포트(MPEG Media Transport; MMT) 패킷을 생성하는 처리부 및 상기 MMT 패킷을 사용하여 MMT 스트림을 전송하는 네트워킹부를 포함하고, 상기 MMT 패킷은 멀티뷰 비디오, 스케일러블 비디오 및 스케일러블 멀티뷰 비디오 중 하나 이상을 포함하는 스트리밍 서버가 제공된다.
상기 MMT 패킷 내의 미디어 프래그먼트 유닛(Media Fragment Unit; MFU)은 상기 스케일러블 비디오, 상기 멀티뷰 비디오 및 상기 스케일러블 멀티뷰 비디오 중 하나 이상을 포함할 수 있다.
상기 MFU의 헤더는 우선순위 식별자(identifier; ID)를 포함할 수 있다.
상기 우선순위 ID는 상기 MFU 내에 포함된 상기 멀티뷰 비디오의 상기 멀티뷰 계층의 우선순위를 나타낼 수 있다.
상기 MFU의 헤더는 뷰 ID, 뷰 간 예측 플래그 및 앵커 픽쳐 플래그를 포함할 수 있다.
상기 뷰 ID는 상기 멀티뷰 비디오의 고유의 ID를 가리킬 수 있다.
상기 뷰 간 예측 플래그는 현재 뷰 컴포넌트가 현재 액세스 유닛(Access Unit; AU) 내의 다른 뷰 컴포넌트에 의해 예측될 수 있는지 여부를 나타낼 수 있다.
상기 앵커 픽쳐 플래그는 상기 멀티뷰 비디오로의 임의 접근(random access)을 위해 사용될 수 있다.
상기 MFU의 헤더는 우선순위 ID를 포함할 수 있다.
상기 우선순위 ID는 상기 MFU 내에 포함된 상기 스케일러블 비디오의 상기 스케일러블 계층의 우선순위를 나타낼 수 있다.
상기 MFU의 헤더는 공간적 ID, 시간적 ID 및 화질적 ID를 포함할 수 있다.
상기 공간적 ID는 상기 스케일러블 비디오의 공간적 레벨을 가리킬 수 있다.
상기 시간적 ID는 상기 스케일러블 비디오의 시간적 레벨을 가리킬 수 있다.
상기 화질적 ID는 상기 스케일러블 비디오의 화질적 레벨을 가리킬 수 있다.
상기 MFU의 헤더는 우선순위 ID를 포함할 수 있다.
상기 우선순위 ID는 상기 MFU 내에 포함된 상기 멀티뷰 스케일러블 비디오의 우선순위를 나타낼 수 있다.
상기 MFU의 헤더는 뷰 ID, 공간적 ID, 시간적 ID 및 화질적 ID를 포함할 수 있다.
상기 뷰 ID는 상기 스케일러블 멀티뷰 비디오의 고유의 ID를 가리킬 수 있다.
상기 공간적 ID는 상기 스케일러블 멀티뷰 비디오의 공간적 레벨을 가리킬 수 있다.
상기 시간적 ID는 상기 스케일러블 멀티뷰 비디오의 시간적 레벨을 가리킬 수 있다.
상기 화질적 ID는 상기 스케일러블 멀티뷰 비디오의 화질적 레벨을 가리킬 수 있다.
상기 MFU의 헤더는 계층 정보 플래그를 포함할 수 있다.
상기 계층 정보 플래그는 상기 스케일러블 비디오, 상기 멀티뷰 비디오 및 상기 스케일러블 멀티뷰 비디오 중 하나 이상에 대한 정보의 유무를 나타낼 수 있다.
상기 헤더는 상기 계층 정보 플래그를 통해 상기 헤더 스케일러블 비디오, 상기 멀티뷰 비디오 및 상기 스케일러블 멀티뷰 비디오 중 하나 이상의 계층의 타입의 정보를 포함할 수 있다.
상기 헤더는 상기 계층의 타입의 정보에 따라 상기 멀티뷰 비디오의 정보, 상기 스케일러블 비디오의 정보 및 상기 멀티뷰 스케일러블 비디오의 정보 중 하나 이상을 포함할 수 있다.
상기 스케일러블 비디오, 상기 멀티뷰 비디오 및 상기 스케일러블 멀티뷰 비디오 중 하나 이상은 상기 MMT 패킷 내의 MFU 페이로드(payload) 내에 분할되어 존재할 수 있다.
또 다른 일 측에 따르면, MPEG 미디어 트랜스포트(MPEG Media Transport; MMT) 패킷을 생성하는 단계 및 상기 MMT 패킷을 사용하여 MMT 스트림을 전송하는 단계를 포함하고, 상기 MMT 패킷은 멀티뷰 비디오, 스케일러블 비디오 및 스케일러블 멀티뷰 비디오 중 하나 이상을 포함하는 스트리밍 서비스 방법이 제공된다.
또 다른 일 측에 따르면, MPEG 미디어 트랜스포트(MPEG Media Transport; MMT) 스트림을 수신하는 네트워킹부 및 상기 MMT 스트림 내의 MMT 패킷을 처리하는 처리부를 포함하고, 상기 MMT 패킷은 멀티뷰 비디오, 스케일러블 비디오 및 스케일러블 멀티뷰 비디오 중 하나 이상을 포함하는 스트리밍 클라이언트가 제공된다.
상기 MMT 패킷 내의 미디어 프래그먼트 유닛(Media Fragment Unit; MFU)는 상기 스케일러블 비디오, 상기 멀티뷰 비디오 및 상기 스케일러블 멀티뷰 비디오 중 하나 이상을 포함할 수 있다.
상기 MFU의 헤더는 우선순위 식별자(identifier; ID)를 포함할 수 있다.
상기 우선순위 ID는 상기 MFU 내에 포함된 상기 멀티뷰 비디오의 상기 멀티뷰 계층의 우선순위를 나타낼 수 있다.
상기 MFU의 헤더는 뷰 ID, 뷰 간 예측 플래그 및 앵커 픽쳐 플래그를 포함할 수 있다.
상기 뷰 ID는 상기 멀티뷰 비디오의 고유의 ID를 가리킬 수 있다.
상기 뷰 간 예측 플래그는 현재 뷰 컴포넌트가 현재 액세스 유닛(Access Unit; AU) 내의 다른 뷰 컴포넌트에 의해 예측될 수 있는지 여부를 나타낼 수 있다.
상기 앵커 픽쳐 플래그는 상기 멀티뷰 비디오로의 임의 접근(random access)을 위해 사용될 수 있다.
상기 MFU의 헤더는 우선순위 ID를 포함할 수 있다.
상기 우선순위 ID는 상기 MFU 내에 포함된 상기 스케일러블 비디오의 상기 스케일러블 계층의 우선순위를 나타낼 수 있다.
상기 MFU의 헤더는 공간적 ID, 시간적 ID 및 화질적 ID를 포함할 수 있다.
상기 공간적 ID는 상기 스케일러블 비디오의 공간적 레벨을 가리킬 수 있다.
상기 시간적 ID는 상기 스케일러블 비디오의 시간적 레벨을 가리킬 수 있다.
상기 화질적 ID는 상기 스케일러블 비디오의 화질적 레벨을 가리킬 수 있다.
상기 MFU의 헤더는 우선순위 ID를 포함할 수 있다.
상기 우선순위 ID는 상기 MFU 내에 포함된 상기 멀티뷰 스케일러블 비디오의 우선순위를 나타낼 수 있다.
또 다른 일 측에 따르면, MPEG 미디어 트랜스포트(MPEG Media Transport; MMT) 스트림을 수신하는 단계 및 상기 MMT 스트림 내의 MMT 패킷을 처리하는 단계를 포함하고, 상기 MMT 패킷은 멀티뷰 비디오, 스케일러블 비디오 및 스케일러블 멀티뷰 비디오 중 하나 이상을 포함하는 스트리밍 서비스 방법이 제공된다.
TS 헤더를 확장하고, 스케일러빌리티 정보를 확장된 TS 헤더에 삽입함으로써 TS 레벨에서의 스케일러빌리티 정보가 제공될 수 있다.
기존의 구문 및 의미를 변화하지 않은 채, TS 헤더를 사용하여 스케일러빌리티 정보 및 뷰 정보가 전송될 수 있다.
NALU 헤더가 존재하는 TS 패킷 헤더에만 스케일러빌리티 정보를 삽입함으로써 TS 헤더의 오버헤드가 감소될 수 있다.
MMT 패킷의 MFU 헤더에 스케일러블 비디오 정보 및 멀티뷰 비디오 정보를 삽입함으로써 MMT에서 스케일러빌리티 정보, 뷰 정보, 뷰 간 예측 플래그 정보 및 임의 접근을 위한 앵커 픽쳐 플래그 정보가 제공될 수 있다.
도 1은 일 예에 따른 TS 헤더의 확장 구성도이다.
도 2는 일 예에 따른 부가적 필드의 구성도이다.
도 3은 일 예에 따른 스케일러빌리티 정보를 전송하기 위한 TS 헤더의 사적 전송 데이터를 확장한 구문을 나타낸다.
도 4는 일 실시예에 따른 사적 전송 데이터가 존재하는 적응 필드의 구조도이다.
도 5는 일 예에 따른 스케일러블 비디오 코딩(Scalable Video Coding; SVC)의 네트워크 추상화 계층 유닛(Network Abstraction Layer Unit; NALU) 헤더 내에 존재하는 스케일러빌리티 정보를 이용함으로써 스케일러빌리티 정보를 TS 헤더 내에 삽입하는 방법을 나타낸다.
도 6은 일 실시예에 따른 스트리밍 서버의 구조도이다.
도 7은 일 실시예에 따른 스트리밍 클라이언트의 구조도이다.
도 8은 일 실시예에 따른 스트리밍 서비스 방법의 흐름도이다.
도 9는 일 예에 따른 미디어 프래그먼트 유닛(Media Fragment Unit)을 설명한다.
도 10은 일 예에 따른 M-유닛의 단일 M-유닛 케이스를 나타낸다.
도 11은 일 예에 따른 M-유닛의 프래그먼트된(fragmented) M-유닛 케이스를 나타낸다.
도 12는 일 예에 따른 MMT 어셋(asset)을 나타낸다.
도 13은 일 예에 따른 MMT 패키지(package)를 나타낸다.
도 14는 일 예에 따른 제어(control) 타입의 패킷을 위한 MMT-PL 포멧을 나타낸다.
도 15는 일 예에 따른 미디어 타입의 패킷을 위한 MMT-PL 포멧을 나타낸다.
도 16은 일 예에 따른 제어 타입의 패킷을 위한 MMT-PL 포멧을 나타낸다.
도 17은 일 예에 따른 제1 MMT 패킷을 나타낸다.
도 18은 일 예에 따른 제2 MMT 패킷을 나타낸다.
도 19는 일 실시예에 따른 스케일러블 비디오 또는 멀티뷰 비디오 정보를 제공하기 위한 구문(syntax)을 설명한다.
도 20은 일 실시예에 따른 스트리밍 서버의 구조도이다.
도 21은 일 실시예에 따른 스트리밍 클라이언트의 구조도이다.
도 22은 일 실시예에 따른 스트리밍 서비스 방법의 흐름도이다.
도 23은 일 예에 따른 조합된 스케일러빌리티를 나타낸다.
이하에서, 실시예들을, 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
도 1은 일 예에 따른 TS 헤더(112)의 확장 구성도이다.
TS 패킷 스트림(100)은 TS 패킷(110)으로 구성된다.
TS 패킷은 헤더(Header)(즉, TS 헤더)(112) 및 페이로드(Payload)(114)를 구성한다.
TS 패킷(110)의 길이는, 고정 길이로, 188 바이트(byte)이다.
헤더(112)는 싱크 바이트(Sync Byte)(122), 트랜스포트 에러 인디케이터(Transport Error Indicator)(124), 페이로드 유닛 스타트 인디케이터(Payload Unit Start Indicator)(126), 트랜스포트 우선순위(Transport Priority)(128), 패킷 식별자(Packet Identifier; PID)(130), 트렌스포트 스크램블링 컨트롤(Transport Scrambling Control)(132), 적응 필드 컨트롤(Adaptation Field Control)(134), 연속성 카운터(Continuity Counter)(136) 및 적응 필드(Adaptation Field)(138)를 포함한다.
각 필드의 길이(즉, 각 필드를 구성하는 비트들(bits))이 필드의 하단에 숫자로서 표시되었다. 예컨대, 싱크 바이트(122)는 8 비트들이다.
싱크 바이트(122)는 바이트 정렬되었다(byte-aligned). 따라서, 바이트 정렬을 통해 TS 스트림(100)에서 싱크 바이트(122)가 검색되면, TS 패킷(110)이 추출될 수 있다.
각 TS 패킷(110)은 상이한 페이로드(114)를 담고 있다. 상이한 페이로드(114)를 구별하기 위해, PID(130)가 헤더(112) 내에 존재한다.
또한, 페이로드의 존재의 유무를 나타내기 위한 적응 필드 컨트롤(134)이 헤더(112) 내에 존재한다. 적응 필드 컨트롤(134)은 적응 필드(138)의 존재의 유무를 나타낸다. 적응 필드 컨트롤(134)은 TS 패킷(110)의 페이로드(114) 내에 있다.
적응 필드(138)는 적응 필드 길이(Adaptation Field Length)(142), 디스컨티뉴어티 인디케이터(Discontinuity Indicator)(144), 랜덤 액세스 인디케이터(Random Access Indicator)(146), 엘리멘트리 스트림 우선순위 인디케이터(Elementary Stream Priority Indicator)(148), 5 개의 플래그들(5 Flags)(150), 부가적 필드(Optional Field)(152) 및 스터핑 바이트들(Stuffing Bytes)(154)을 포함한다.
적응 필드(138) 내에 있는 5 개의 플래그들(150)을 통하여, 부가적 필드(152) 내에 있는 여러 정보의 존재의 유무를 나타낼 수 있다.
도 2는 일 예에 따른 부가적 필드(152)의 구성도이다.
부가적 필드(152)는 프로그램 시각 기준 참조치(Program Clock Reference; PCR)(212), 원본 프로그램 시각 기준 참조치(Original Program Clock Reference; OPCR)(214), 스플라이스 카운트다운(Splice Countdown)(216), 사적 전송 데이터 길이(Transport Private Data Length)(218), 사적 전송 데이터(Transport Private Data)(220), 적응 필드 확장 길이(Adaptation Field Extension Length)(222), 3 개의 플래그들(3 Flags)(224) 및 부가적 필드(Optional Field)(226)를 포함한다.
5 개의 플래그들(150)에 대한 부가적 필드(152) 내에, 표준에서 정의되지 않은 데이터를 전송하기 위한 사적 전송 데이터(220)가 있다.
스케일러블 비디오가 전송될 때, 스케일러빌리티 정보가 사적 전송 데이터(220)에 삽입된다.
전술된 5 개의 플래그들(150)을 통해 사적 전송 데이터(220)의 존재의 유무를 나타냄으로써 스케일러블 비디오가 페이로드(114) 내에 있는지가 나타내어질 수 있다.
부가적 필드(226)는 리걸 타임 윈도우(Legal Time Window; LTW) 유효 플래그(ltw_valid flag)(232), 리걸 타임 윈도우 옵셋(LTW Offset)(234), 예약된 부분(Reserved)(236), 피스와이즈 비율(Piecewise Rate)(238), 스플라이스 타입(Splice Type)(240) 및 디코딩 타임 스템프(Decoding Time Stamp; DTS)_next_au(DTS_next_au)(242)를 포함한다.
도 3은 일 예에 따른 스케일러빌리티 정보를 전송하기 위한 TS 헤더(112)의 사적 전송 데이터(220)를 확장한 구문을 나타낸다.
도 3에서, 사적 전송 데이터(220)에 대한 확장된 구문(syntax), 필드들 각각의 비트 개수(No. of Bits) 및 니모닉(mnemonic)이 개시되었다.
스케일러블 비디오 또는 멀티뷰(multi-view) 비디오에서, 사적 데이터 필드에 스케일러빌리티 및 뷰 정보가 포함되는 경우에는 기존의 사적 데이터 필드 신택스와 시맨틱스가 그대로 사용되고, 사적 데이터 필드만 도 3에서 도시된 것과 같이 확장되어 정의된다.
따라서, 송신측 및 수신측에 있어서, 사적 데이터를 이용함으로써 스케일러빌리티 정보 및 뷰 정보를 삽입하는 규정이 요구된다.
트랜스포트 사적 데이터 플래그(transport_private_data_flag)(300)는 트랜스포트 사적 데이터 길이(transport_private_data_length)(310), 뷰 정보 플래그(view_info_flag)(320) 및 스케일러블 정보 플래그(scalable_info_flag)(330)가 존재한다는 것을 나타낸다.
뷰 정보 플래그(320)는 뷰 정보가 존재한다는 것을 나타내기 위해 사용된다.
스케일러블 정보 플래그(330)는 스케일러빌리티 정보가 존재한다는 것을 나타낸다.
뷰 정보 플래그(320) 및 스케일러블 정보 플래그(330)의 값에 의해 어떤 정보를 전송할지가 결정되며, 어떤 정보가 포함되어 있는지가 판별된다.
뷰 정보 플래그(320) 및 스케일러블 정보 플래그(330)의 값들이 모두 "1"인 경우, 뷰 정보(view_id)(340), 공간적 스케일러빌리티 정보(spatial_scalability)(또는, spatial_id)(350), 시간적 스케일러빌리티 정보(temporal_scalability)(또는, temporal_id)(360), 화질적 스케일러빌리티 정보(quality_scalability)(또는, quality_id)(370))가 전송될 수 있고, 2 비트가 확보(reserve)될 수 있다.
뷰 정보 플래그(320)의 값만이 "1"인 경우, 뷰 정보(340) 및 시간적 스케일러빌리티 정보가 전송될 수 있다.
스케일러블 정보 플래그(330)의 값만이 "1"인 경우, 공간적 스케일러빌리티 정보(spatial_id)(350), 시간적 스케일러빌리티 정보(temporal_id)(360), 화질적 스케일러빌리티 정보(370)가 전송될 수 있고, 4 비트가 확보될 수 있다.
뷰 정보 플래그(320) 및 스케일러블 정보 플래그(330)의 값들이 모두 "1"이 아닌 경우, 6 비트가 확보될 수 있다.
도 4는 일 실시예에 따른 사적 전송 데이터(220)가 존재하는 적응 필드(138)의 구조도이다.
TS 헤더(112)는 일반적으로 4 바이트의 크기를 가지며, 필요에 따라서 적응 필드(138)를 사용함으로써 필요한 정보를 전송한다.
적응 필드(138) 내에서는, 적응 필드 길이(142)가 적응 필드(138) 전체의 길이를 나타낸다.
적응 필드(138) 내에 존재하는 사적 전송 데이터(220) 필드를 사용하기 위해서, 5 개의 플래그들(412)을 사용함으로써, 5 개의 플래그들(412) 뒤에 존재하는 옵션 필드(414)의 사용 유무를 정할 수 있다.
5 개의 플래그들(412) 중에서 사적 전송 데이터 플래그의 값이 '1'인 경우, 옵션 필드(414) 내의 2 개의 플래그들(422)이 사적 전송 데이터(220) 필드를 통해 뷰 정보, 스케일러빌리티 정보 및 사적 데이터(424)를 전송할지 여부를 결정한다.
뷰 정보 플래그(320)의 값이 '1'인 경우, 뷰 정보(340)가 전송된다.
스케일러블 정보 플래그(330)의 값이 '1'인 경우, 공간적 스케일러빌리티(350)의 정보, 시간적 스케일러빌리티(360)의 정보 및 화질적 스케일리빌리티(370)의 정보가 전송된다.
이러한 구조를 갖는 TS 헤더(112)가 사용됨으로써 기존의 구문 및 의미가 변화되지 않은 채, 스케일러빌리티 정보 및 뷰 정보가 전송될 수 있다.
도 5는 일 예에 따른 스케일러블 비디오 코딩(Scalable Video Coding; SVC)의 네트워크 추상화 계층 유닛(Network Abstraction Layer Unit; NALU) 헤더 내에 존재하는 스케일러빌리티 정보를 이용함으로써 스케일러빌리티 정보를 TS 헤더(112) 내에 삽입하는 방법을 나타낸다.
SVC는 스케일러블 비디오 표준들 중 하나이다.
스케일러빌리티 정보(540)는 의존도 식별자(dependency_id), 시간적 식별자(temporal_id) 및 화질적 식별자(quality_id)를 포함한다. 의존도 식별자는 순서에 따라 D1 및 D2 등으로 표시된다. 시간적 식별자는 순서에 따라 T1 및 T2 등으로 표시된다. 화질적 식별자는 순서에 따라 Q1 및 Q2 등으로 표시된다.
하나의 NALU은 PES(510)로 패킷화된다.
PES(510)는 동일한 PID를 갖는 여러 개의 TS 패킷들(520)로 패킷화될 수 있다.
하나의 NALU가 여러 개의 TS 패킷(110)으로 분할되어서 패킷화될 때, 각 TS 패킷(110)의 헤더(112)마다 해당 NALU의 스케일러빌리티 정보가 삽입될 수 있다.
그러나, 모든 TS 패킷(110)에 스케일러빌리티 정보가 삽입되면, TS 헤더(112)의 오버헤드가 증가하며, 하나의 NALU에 대한 중복적인 정보가 삽입된다.
따라서, 모든 TS 패킷(110)의 헤더(112)에 스케일러빌리티 정보를 삽입하는 대신, 동일한 PID를 갖는 TS 패킷들 중, NALU 헤더(530)가 존재하는 TS 패킷 헤더에만 스케일러빌리티 정보가 삽입될 수 있고, TS 헤더(112)의 오버헤드가 감소될 수 있다.
따라서, NALU 헤더(530)가 TS 패킷의 페이로드(114)에 삽입된 TS 패킷(110)의 헤더(112)에만 해당 NALU의 스케일러빌리티 정보(540)가 삽입될 수 있다..
전술된 NALU의 스케일러빌리티 정보(540)에 대한 설명은 NALU의 뷰 정보에 대해서도 적용될 수 있다. 이 때, NALU는 멀티-뷰 비디오 코딩(Multi-view Video Coding; MVC)의 NALU일 수 있다.
예컨대, 하나의 NALU가 여러 개의 TS 패킷(110)으로 분할되어서 패킷화될 때, 각 TS 패킷(110)의 헤더(112)마다 해당 NALU의 뷰 정보가 삽입될 수 있다. 또한, NALU 헤더(530)가 TS 패킷의 페이로드(114)에 삽입된 TS 패킷(110)의 헤더(112)에만 해당 NALU의 뷰 정보가 삽입될 수 있다.
도 6은 일 실시예에 따른 스트리밍 서버(600)의 구조도이다.
스트리밍 서버(600)는 MPEG-2 TS를 생성하는 MPEG-2 TS 생성 장치를 나타낼 수 있다.
스트리밍 서버 (600)는 패킷 생성부(610) 및 전송부(620)를 포함한다.
패킷 생성부(610)는 전술된 TS 패킷(110)을 생성한다.
전송부(620)는 TS 패킷(110)을 사용하여 TS 스트림(100)을 전송한다. TS 스트림(100)은 스케일러블 비디오 스트림을 포함할 수 있다. 스케일러블 비디오 스트림은 TS 패킷(110)의 페이로드(114) 내에 분할되어 존재할 수 있다. 즉, TS 스트림(100)을 구성하는 하나 이상의 TS 패킷(110)은 페이로드(114)들 내에 스케일러블 비디오 스트림을 포함할 수 있다.
전송부(620)는 네트워크 인터페이스부(630)를 통해 TS 스트림(100)을 비디오 플레이어와 같은 다른 스트리밍 클라이언트(700)로 전송할 수 있다.
전송부(620)는 TS 스트림(100)을 스트리밍 서버(600) 내부의 저장부(640)에 저장할 수 있다.
TS 패킷(110)의 헤더(112)는 스케일러블 비디오 스트림의 스케일러빌리티 정보를 포함한다.
패킷 생성부(610)는 스케일러빌리티 정보 삽입부(650)를 포함할 수 있다.
스케일러빌리티 정보 삽입부(650)는 이미 생성된 TS 패킷(110) 내에 스케일러빌리티 정보를 삽입(또는, 추가)한다.
따라서, 전술된 스케일러빌리티 정보는 패킷 생성부(610)에 의해 생성될 수 있으며, 스케일러빌리티 정보 삽입부(650)에 의해 TS 패킷(110) 내에 삽입될 수 있다.
스케일러빌리티 정보는 사적 전송 데이터(220) 내에 존재할 수 있다. 즉, 패킷 생성부(610)는 사적 전송 데이터(220) 내에 스케일러빌리티 정보를 생성할 수 있다. 또한, 스케일러빌리티 정보 삽입부(650)는 TS 패킷(110) 내에 스케일러빌리티 정보를 삽입하기 위해 사적 전송 데이터(220) 및 이에 연관된 TS 패킷(110) 내의 다른 부분을 변경할 수 있다.
패킷 생성부(610)는 스케일러빌리티 정보의 유무를 나타내는 스케일러빌리티 정보 플래그(330) 및 스케일러블 비디오 스트림의 뷰 정보의 유무를 나타내는 뷰 정보 플래그(320)를 포함할 수 있다. 패킷 생성부(610)는 헤더(112) 내에 스케일러빌리티 정보 플래그(330) 및 뷰 정보 플래그(320)를 생성할 수 있다. 스케일러빌리티 정보 삽입부(650)는 스케일러빌리티 정보의 유무에 따라 스케일러빌리티 정보 플래그(330)의 값을 세트할 수 있고, 뷰 정보의 유무에 따라 뷰 정보 플래그(320)의 값을 세트할 수 있다.
스케일러빌리티 정보는 TS 헤더(112)의 사적 전송 데이터(220) 내의 적응 필드(138) 내에 존재할 수 있다. 또한, 스케일러빌리티 정보는 적응 필드(138) 내의 부가적 필드(152) 내에 존재할 수 있다.
뷰 정보는 TS 헤더(112)의 사적 전송 데이터(220) 내의 적응 필드(138) 내에 존재할 수 있다. 또한, 스케일러빌리티 정보는 적응 필드(138) 내의 부가적 필드(152) 내에 존재할 수 있다.
TS 헤더(112)의 트랜스포트 사적 데이터 플래그(310)는 스케일러빌리티 정보 플래그(330) 및 뷰 정보 플래그(320)의 유무를 나타낼 수 있다. 패킷 생성부(610)는 헤더(112) 내에 사적 데이터 플래그(310)를 생성할 수 있다. 스케일러빌리티 정보 삽입부(650)는 스케일러빌리티 정보 플래그(330) 및 뷰 정보 플래그(320)의 유무에 따라 사적 데이터 플래그(310)의 값을 세트할 수 있다.
스케일러빌리티 정보는 스케일러블 비디오의 공간적 스케일러빌리티 정보(350), 시간적 스케일러빌리티 정보(360) 및 화질적 스케일러빌리티 정보(370) 중 하나 이상을 포함할 수 있다.
패킷 생성부(610)는 MVC의 NALU 헤더(530) 내의 뷰 정보를 사용하여 뷰 정보를 생성할 수 있다. 또는, 스케일러빌리티 정보 삽입부(650)는 멀티-뷰 비디오 코딩의 NALU 헤더(530) 내의 뷰 정보를 사용하여 뷰 정보를 TS 헤더(112) 내에 삽입할 수 있다.
또한, 패킷 생성부(610)는 SVC의 NALU 헤더(530) 내의 스케일러빌리티 정보를 사용하여 스케일러빌리티 정보를 생성할 수 있다. 또는, 스케일러빌리티 정보 삽입부(650)는 SVC의 NALU 헤더(530) 내의 스케일러빌리티 정보를 사용하여 스케일러빌리티 정보를 TS 헤더(112) 내에 삽입할 수 있다.
패킷 생성부(610)는 TS 패킷(110) 내에 NALU 헤더(530)의 데이터가 존재하는 경우에만 스케일러빌리티 정보를 생성할 수 있다. 스케일러빌리티 정보 삽입부(650)는 NALU 헤더(530)의 데이터를 갖는 TS 패킷(110)에만 스케일러빌리티 정보를 삽입할 수 있다.
동일한 PID를 갖는 하나 이상의 MPEG-2 트랜스포트 스트림 패킷들이 존재할 수 있다.
패킷 생성부(610)는 동일한 PID를 갖는 하나 이상의 MPEG-2 트랜스포트 스트림 패킷들 중 NALU 헤더(530)의 데이터가 존재하는 TS 패킷(110) 내에만 스케일러빌리티 정보를 생성할 수 있다. 스케일러빌리티 정보 삽입부(650)는 동일한 PID를 갖는 하나 이상의 MPEG-2 트랜스포트 스트림 패킷들 중 NALU 헤더(530)의 데이터가 존재하는 TS 패킷(110) 내에만 스케일러빌리티 정보를 삽입할 수 있다.
앞서 도 1 내지 도 5를 참조하여 설명된 실시예들에 따른 기술 적 내용들이 본 실시예에도 그대로 적용될 수 있다. 따라서 보다 상세한 설명은 이하 생략하기로 한다.
도 7은 일 실시예에 따른 스트리밍 클라이언트(700)의 구조도이다.
스트리밍 클라이언트(700)는 스트리밍 서버(600)에 의해 생성된 MPEG-2 TS를 처리하는 MPEG-2 TS 처리 장치일 수 있다.
스트리밍 클라이언트(700)는 전술된 스트리밍 서버(600)에 의해 생성된 TS 스트림(100)을 수신하여 처리하는 장치이다. TS 스트림(100)은 스케일러블 비디오 스트림을 포함하며, TS 패킷(110)의 헤더는 스케일러블 비디오 스트림의 스케일러빌리티 정보를 포함한다.
스트리밍 클라이언트(700)는 수신부(710) 및 패킷 처리부(720)를 포함한다.
수신부(710)는 TS 스트림(100)을 수신한다.
패킷 처리부(720)는 TS 스트림(100) 내의 TS 패킷(110)을 처리한다.
패킷 처리부(720)의 동작은 패킷 생성부(610)의 동작에 대응한다.
예컨대, 패킷 처리부(720)는 TS 헤더(112) 내의 뷰 정보 플래그(320)에 기반하여 TS 패킷(110) 내의 스케일러빌리티 정보 및 뷰 정보의 유무를 판단할 수 있다.
또한, 패킷 처리부(720)는 스케일러빌리티 정보에 기반하여 SVC의 NALU 헤더(530) 내의 스케일러빌리티 정보를 생성할 수 있다.
패킷 처리부(720)는 TS 패킷(110) 내에 NALU 헤더(530)의 데이터가 존재할 경우에만 스케일러빌리티 정보를 추출할 수 있다.
패킷 처리부(720)는 동일한 PID(130)를 갖는 하나 이상의 TS 패킷(110)들 중 NALU 헤더(530)의 데이터가 존재하는 TS 패킷(110)에서만 스케일러빌리티 정보를 추출할 수 있다.
또한, 특정한 TS 패킷은 스케일러빌리티 정보를 포함하지 않을 수 있다. 이러한 경우, 패킷 처리부(720)는 상기의 특정한 TS 패킷과 동일한 PID(130)를 갖는 하나 이상의 TS 패킷(110)들 중 1) 스케일러빌리티 정보를 포함하는, 2) 상기의 특정한 TS 패킷과 가장 가까운 이전 시간의 TS 패킷으로부터 스케일러빌리티 정보를 추출할 수 있고, 추출된 스케일러빌리티 정보를 상기의 특정한 TS 패킷의 스케일러빌리티 정보로서 사용할 수 있다.
앞서 도 1 내지 도 6을 참조하여 설명된 일 실시예에 따른 기술 적 내용들이 본 실시예에도 그대로 적용될 수 있다. 따라서 보다 상세한 설명은 이하 생략하기로 한다.
도 8은 일 실시예에 따른 스트리밍 서비스 방법(800)의 흐름도이다.
스트리밍 서비스 방법(800)은 도 6을 참조하여 전술된 MPEG-2 TS를 처리하기 위한 방법일 수 있다.
동작(810)에서, 예컨대 스트리밍 서버(600)의 패킷 생성부(610)에 의해, TS 패킷(110)이 생성된다.
동작(820)에서, 예컨대 스트리밍 서버(600)의 전송부(620)에 의해, TS 패킷(110)을 사용함으로써 생성된 TS 스트림(100)이 전송된다.
TS 스트림(100)은 스케일러블 비디오 스트림을 포함하며, TS 패킷(110)의 헤더는 스케일러블 비디오 스트림의 스케일러빌리티 정보를 포함한다.
동작(830)에서, 예컨대 스트리밍 클라이언트(700)의 수신부(710)에 의해 TS 스트림(100)이 수신된다.
동작(840)에서, 예컨대 스트리밍 클라이언트(700)의 처리부(720)에 의해 TS 스트림(100) 내의 TS 패킷(110)이 처리된다.
앞서 도 1 내지 도 7을 참조하여 설명된 일 실시예에 따른 기술 적 내용들이 본 실시예에도 그대로 적용될 수 있다. 따라서 보다 상세한 설명은 이하 생략하기로 한다.
전술된 스트리밍 서버(600), 스트리밍 클라이언트(700) 및 스트리밍 서비스 방법(800)을 통해 기존의 MPEG-2 시스템이 확장될 수 있다. 또한, TS 패킷(110)에 의해 다중화된 스케일러블 비디오는 다양한 단말 성능, 네트워크 상태 및 사용자 선호도 등에 적합한 형태로 적응될 수 있다. 이러한 TS 패킷(110)은 TS 스트림(100)으로부터 효율적으로 추출될 수 있다.
하기에서, MMT에서 스케일러블 비디오 및 멀티뷰 비디오를 제공하기 위한 장치 및 방법이 설명된다. 도 1 내지 도 8을 참조하여 설명된 실시예 또는 예들은 MMT에서 적용될 수 있다. 예컨대, 도 1 내지 도 8에서 설명된 MPEG2 TS는 MMT 또는 MMT 스트림으로 대체될 수 있다.
스케일러블 비디오 정보 및 멀티뷰 비디오 정보는 MMT 패킷을 구성하는 가장 작은 단위인 미디어 프래그먼트 유닛(Media Fragment Unit; MFU) 헤더에 삽입될 수 있다.
MFU 헤더를 통해 스케일러블 비디오 및 멀티뷰 비디오에 대한 정보의 유무를 나타내는 계층 정보 플래그(layer info flag)를 둠으로써, 선택적으로 계층 정보를 제공할 수 있다.
스케일러블 비디오 및 멀티뷰 비디오는 MFU 페이로드(payload) 내에 분할되어 존재할 수 있다. 따라서 각 비디오에 대한 계층 타입(layer type) 정보를 구분함으로써 스케일러블 비디오 정보, 멀티뷰 비디오 정보 및 스케일러블 멀티뷰 비디오 정보가 제공될 수 있다.
스케일러블 비디오에 대해 제공되는 정보는 공간적, 시간적 및 화질적 측면에서의 스케일러빌리티 정보를 포함할 수 있다. 또한, 스케일러블 비디오에 대한 계층의 우선순위(priority) 정보가 제공될 수 있다.
멀티뷰 비디오에 대해 제공되는 정보는 뷰 정보 및 시간적 측면에서의 스케일러빌리티 정보를 포함할 수 있다. 또한, 멀티뷰 비디오에 대한 계층의 우선순위 정보가 제공될 수 있다. 또한, 멀티뷰 비디오의 특징인, 뷰 간 예측을 허용하는 플래그 정보 및 임의 접근을 위한 앵커 픽처 플래그 정보가 제공될 수 있다.
스케일러블 멀티뷰 비디오에 대해 제공되는 정보는, 뷰 정보뿐만 아니라, 공간-뷰 스케일러빌리티(spatial-view scalability) 등과 같은 컴바인드 스케일러빌리티(combined scalability)정보를 포함할 수 있다.
상술된 정보를 이용함으로써, MMT 패킷화된(packetized) 스케일러블 비디오 및 멀티뷰 비디오가 다양한 성능의 단말, 다양한 네트워크 특성 및 특정한 사용자 선호도 등에 효율적으로 적응(adaptation)될 수 있다.
하기에서, 도 9 내지 도 를 참조하여, MMT 패킷을 생성하는 과정이 설명된다.
도 9는 일 예에 따른 미디어 프래그먼트 유닛(Media Fragment Unit)을 설명한다.
MFU(900)는 미디어 프래그먼트(media fragment)로 약술될 수 있다.
MFU(900)는, 특정한 코덱(codec)에 독립적인, 포괄적인(generic) 컨테이너 포멧일 수 있다. MFU(900)는 코드된(media) 미디어 데이터를 포함할 수 있다. 코드된 미디어 데이터는 미디어 디코더에 의해 독립적으로(independently) 소비될 수 있다(consumable). 코드된 미디어 데이터는 코드된 데이터로 약술될 수 있다. MFU(900)는 완전하거나 부분적인 액세스 유닛(Access Unit; AU)을 포함할 수 있으며, 전달 계층들에 의해 활용될 수 있는 정보를 포함할 수 있다.
AU는 타이밍 정보를 속성으로 가질 수 있는 가장 작은 데이터 개체(entity)일 수 있다.
MFU(900)는 MFU들의 경계에서 적응적인 전달을 수행하기 위해 액세스 유닛(Access Unit; AU)의 프래그먼트를 캡슐화(encapsulate)하기 위한 포멧을 정의할 수 있다. MFU(900)는, 프래그먼트들이 독립적으로 디코드되거나 폐기될(discarded) 수 있게 하기 위해 코드된 미디어의 몇몇 타입을 나를(carry) 수 있다.
MFU(900)는 미디어 프래그먼트 유닛 헤더(Media Fragment Unit Header; MFUH)(910) 및 코드된 데이터(920)를 포함할 수 있다.
MFUH(910)는 프래그먼트(911) 및 공통(common)(912)을 포함할 수 있다. MFU(900)는 하나의 MFU를 다른 MFU로부터 구분(distinguish)하는 식별자를 포함할 수 있고, 단일한 AU 내의 MFU들 간의 일반화된(generalized) 관계(relationship) 정보를 포함할 수 있다. 프래그먼트(911)은 상기의 식별자일 수 있다. 공통(912)은 상기의 일반화된 관계 정보일 수 있다.
프래그먼트-생성(generating) 인코더는 MFU(900)를 생성할 수 있다.
도 10은 일 예에 따른 M-유닛의 단일 M-유닛 케이스를 나타낸다.
M-유닛은, 특정한 코덱에 독립적인, 포괄적인 컨테이너 포멧일 수 있다. M-유닛은 하나 이상의 AU들을 나를 수 있다. M-유닛은 하나 이상의 MFU들을 포함할 수 있다. M-유닛은 시간에 맞춰진 데이터(timed data) 또는 시간에 맞춰지지 않은 데이터(non-timed data)를 포함할 수 있다. M-유닛은 MFU(900)의 데이터 및 추가적인 정보를 포함할 수 있다. 추가적인 정보는 동기화를 위한 타임스탬프(timestamp)일 수 있다. M-유닛은 MMT 캡슐화 기능들을 처리하기 위한 데이터 개체일 수 있다.
시간에 맞춰진 데이터는 디코딩 및 프리젠테이션(presentation)에 있어서 특정한 시각과 연관된 데이터 요소(element)일 수 있다. 시간에 -춰지지 않은 데이터는 비-특정 시각에 소비되는 데이터 요소일 수 있다. 시간에 -춰지지 않은 데이터는 수행되거나(executed) 런치됨(lunched)에 있어서 데이터가 가용한 때의 시간 범위를 가질 수 있다.
단일 M-유닛 케이스의 M-유닛(1000)은 M-유닛 헤더(M-Unit Header; MUH)(1010) 및 MFU(900)를 포함할 수 있다.
도 11은 일 예에 따른 M-유닛의 프래그먼트된(fragmented) M-유닛 케이스를 나타낸다.
프래그먼트된 M-유닛 케이스의 M-유닛(1100)은 하나 이상의 MFU들을 포함할 수 있다. 도 11에서, 프래그먼트된 M-유닛 케이스의 M-유닛(1100)은 3 개의 MFU들 및 3 개의 MFU들에 각각 대응하는 3 개의 MUH들을 포함한다.
M-유닛 생성 인코더는 M-유닛을 생성할 수 있다.
도 12는 일 예에 따른 MMT 어셋(asset)을 나타낸다.
MMT 어셋(1200)은 동일한 MMT 어셋 ID를 갖는 하나 이상의 미디어 프로세싱 유닛(Media Processing Unit; MPU)들을 포함하는 논리적인 데이터 개체일 수 있다. MMT 어셋(1200)은 동일한 컴퍼지션 정보 및 트랜스포트 특성들이 가하지는 가장 큰 데이터 단위일 수 있다.
MPU는, 특정한 미디어 코덱에 독립적인, 시간에 맞춰진 데이터 또는 시간에 맞춰지지 않은 데이터에 대한 포괄적인 컨테이너일 수 있다. MPU는 시간에 -춰진 데이터를 위한 하나 이상의 AU들을 포함할 수 있다. MPU는 시간에 -춰지지 않은 데이터를 위한 AU 경계들이 없는 데이터의 부분을 포함할 수 있다. MPU는 추가적인 전달 및 소비 관련 정보를 포함할 수 있다. MPU는 완전하고 독립적으로 처리될 수 있는 코드된 미디어 데이터 유닛일 수 있다. 이러한 문맥에 있어서, 처리는 MMT 패키지로의 캡슐화 또는 전달을 위한 패킷화(packetization)을 의미할 수 있다.
MMT 어셋(1200)은 하나 이상의 M-유닛들을 포함하는 데이터 개체일 수 있다. MMT 어셋(1200)은 컴퍼지션 정보 및 트랜스포트 특성들이 정의되는 데이터 유닛일 수 있다.
MMT 어셋(1200)은 어셋 정보(1210) 및 하나 이상의 M-유닛들을 포함할 수 있다. 하나 이상의 M-유닛들로서, 제1 M-유닛(1220), 제2 M-유닛(1230) 및 제3 M-유닛(1230)이 도시되었다. 하나 이상의 M-유닛들은 각각 단일 M-유닛 케이스의 M-유닛(1000) 또는 프래그먼트된 M-유닛 케이스의 M-유닛(1100)일 수 있다. 또는, MMT 어셋(1200)은 어셋 정보(1210) 및 하나 이상의 MFU들을 포함할 수 있다. 하나 이상의 MFU들은 각각 MFU(900)일 수 있다.
어셋 정보(1210)는 어셋-특정(asset-specific) 정보일 수 있다. 어셋 정보(1210)는 스트리밍에서는 전달되지 않을 수 있다.
어셋 정보(1210)는 능력(capability) 교환 및/또는 하위(underlying) 계층 내에서의 자원들의 (재)할당을 위해 사용될 수 있다.
도 13은 일 예에 따른 MMT 패키지(package)를 나타낸다.
MMT 패키지(1300)는 데이터의 논리적으로 구조화된 컬렉션일 수 있다. MMT 패키지(1300)는 하나 이상의 MMT 어셋, MMT 컴퍼지션 정보 및 MMT 어셋 전달 특성들 및 설명적인(descriptive) 정보를 포함할 수 있다.
MMT 자산 전달 특성들은 MMT 어셋들의 전달에 대한 요구되는 서비스 품질(Quality of Service; QoS)에 대한 설명을 포함할 수 있다. MMT 자산 전달 특성들은 특정 전달 환경에 대해서는 불가지(agnostic)인 파라미터들에 의해 표현될 수 있다.
MMT 패키지(1300)는 패키지 정보(1310)를 포함할 수 있다.
MMT 패키지(1300)는 컴퍼지션 정보(1320)을 포함할 수 있다. 컴퍼지션 정보는 MMT 컴퍼지션 정보에 대응할 수 있다. MMT 컴퍼지션 정보는 MMT 자산들 간의 공간적 및 시간적 관계의 설명일 수 있다.
MMT 패키지(1300)는 전송 특성들(Transport Characteristics; Tx. Char.)(1330)를 포함할 수 있다.
MMT 패키지(1300)는 하나 이상의 어셋들을 포함할 수 있다. 하나 이상의 어셋들은 각각 도 12를 참조하여 전술된 MMT 어셋(1200)일 수 있다. 하나 이상의 어셋들로서 제1 어셋(1340), 제2 어셋(1350) 및 제3 어셋(1360)이 도시되었다.
MMT 패키지(1300) 내의 하나 이상의 어셋들은 멀티플렉스(multiplex)되거나, 연쇄(concatenated)될 수 있다.
MMT 패키지(1300)는 아카이빙(achiving)을 위해 사용될 수 있다. 예컨대, MMT 패키지(1300)는 저장을 위한 단위일 수 있다.
하기에서 도 14 내지 도 16을 참조하여 MMT 페이로드 포멧(MMT PayLoad Format; MMT PL-Format)이 설명된다.
MMT 페이로드는 MMT 프로토콜 또는 인터넷 어플리케이션 계층 프로토콜들을 사용하여 MMT 패키지 또는 MMT 시그널링(signaling) 메시지를 나르는 데이터의 포멧된 단위(unit)일 수 있다. 인터넷 어플리케이션 계층 프로토콜은 RTP일 수 있다.
MMT 프로토콜은 인터넷 프로토콜(Internet Protocol; IP) 네트워크를 통해 MMT 페이로드를 전달하기 위한 어플리케이션 계층 프로토콜일 수 있다.
MMT 페이로드 포멧은, MMT 어플리케이션 프로토콜들 또는 다른 존재하는 어플리케이션 트랜스포트 프로토콜들에 의한 소비를 위해, MMT 어셋들 및 다른 정보를 나르기 위한 포괄적인 페이로드 포멧일 수 있다. 예컨대, 다른 존재하는 어플리케이션 트랜스포트 프로토콜은 실시간 트랜스포트 프로토콜(Realtime Transport Protocol; RTP)일 수 있다.
MMT 페이로드 포멧은 MFU(900)의 프래그먼트들을 포함할 수 있다. MMT 페이로드 포멧은 MFU(900)의 프래그먼트들과 함께 어플리케이션 계층 전향 오류 정정(Application Layer Forward Error Correction; AL-FEC)와 같은 다른 정보를 포함할 수 있다.
도 14는 일 예에 따른 제어(control) 타입의 패킷을 위한 MMT-PL 포멧을 나타낸다.
제어(control) 타입의 패킷을 위한 제1 MMT-PL 포멧(1400)는 페이로드 헤더(payload header; PLH)(1410) 및 컴퍼지션 정보(1420)를 포함할 수 있다. 컴퍼지션 정보(1420)는 도 13을 참조하여 전술된 MMT 패키지(1300)의 컴퍼지션 정보(1320)에 대응할 수 있다.
도 15는 일 예에 따른 미디어 타입의 패킷을 위한 MMT-PL 포멧을 나타낸다.
미디어 타입의 패킷을 위한 제2 MMT-PL 포멧(1520) 및 미디어 타입의 패킷을 위한 제3 MMT-PL 포멧(1530)에는 MTU(1510) 패킷-레벨의 집성(aggregation) 및/또는 프래그맨테이션(fragmentation)이 적용될 수 있다.
M-유닛(1510)의 데이터는 제2 MMT-PL 포멧(1520) 및 제3 MMT-PL 포멧(1530)으로 분할될 수 있다. M-유닛(1510)은 MFU(900), 단일 M-유닛 케이스의 M-유닛(1000), 프래그먼트된 M-유닛 케이스의 M-유닛(1100) 또는 MMT 어셋(1200)의 M-유닛에 대응할 수 있다.
제2 MMT-PL 포멧(1520)은 PLH(1522) 및 M-유닛의 일부(1524)를 포함할 수 있다. M-유닛의 일부(1524)는 MUH, MFUM 및 코드된 데이터의 일부를 포함할 수 있다.
제3 MMT-PL 포멧(1530)은 PLH(1532) 및 M-유닛의 일부(1534)를 포함할 수 있다. M-유닛의 일부(1534)는 코드된 데이터의 일부를 포함할 수 있다.
도 16은 일 예에 따른 제어 타입의 패킷을 위한 MMT-PL 포멧을 나타낸다.
제어 타입의 패킷을 위한 제4 MMT-PL 포멧(1600)는 PLH(1610) 및 제어 정보(1620)를 포함할 수 있다.
하기에서 도 17 및 도 18을 참조하여 MMT 패킷이 설명된다.
MMT 패킷은 MMT 프로토콜에 의해 생성 또는 소비되는 데이터의 포멧된 유닛일 수 있다.
MMT 패킷은 MMT 트랜스포트 패킷일 수 있다. MMT 트랜스포트 패킷은 MMT를 위한 어플리케이션 트랜스포트 프로토콜에 의해 사용되는 데이터 포멧일 수 있다.
도 17은 일 예에 따른 제1 MMT 패킷을 나타낸다.
제1 MMT 패킷(1700)은 실시간 트랜스포트 패킷 헤더(Realtime Transport Protocol Header)(1720), PLH(1720) 및 M-유닛의 일부(1730)을 포함할 수 있다. M-유닛의 일부(1730)는 도 15를 참조하여 전술된 M-유닛의 일부(1524)에 대응할 수 있다. M-유닛의 일부(1730)는 MUH(1732), MFUH(1734) 및 코드된 데이터(1736)를 포함할 수 있다.
PLM(1720) 및 M-유닛의 일부(1730)는 도 15를 참조하여 전술된 제2 MMT-PL 포멧(1520)에 대응할 수 있다. PLM(1720) 및 M-유닛의 일부(1730)는 제2 MMT-PL 포멧(1520)의 데이터일 수 있다.
도 18은 일 예에 따른 제2 MMT 패킷을 나타낸다.
제2 MMT 패킷(1800)은 MMP 패킷 헤더(MMP Packet Header; MMTPH)(1810), PLH(1820) 및 M-유닛의 일부(1830)을 포함할 수 있다. M-유닛의 일부(1830)는 도 15를 참조하여 전술된 M-유닛의 일부(1524)에 대응할 수 있다. M-유닛의 일부(1830)는 MUH(1832), MFUH(1834) 및 코드된 데이터(1836)를 포함할 수 있다.
PLM(1820) 및 M-유닛의 일부(1830)는 도 15를 참조하여 전술된 제2 MMT-PL 포멧(1520)에 대응할 수 있다. PLM(1820) 및 M-유닛의 일부(1830)는 제2 MMT-PL 포멧(1520)의 데이터일 수 있다.
도 9 내지 도 18을 참조하여 전술된 데이터 또는 유닛들을 위해 MMT 패킷이 생성될 수 있다. 도 9 내지 도 18은 MFU(900)를 포함하는 MMT 패킷(920)을 생성하는 패킷화 과정을 나타낼 수 있다. MFU(900)는 MMT 패킷을 구성하는 가장 작은 단위일 수 있다.
MMT 패킷은 아카이빙 또는 스트리밍(streaming) 용으로 생성될 수 있다. MFU(900)는 스케일러블 비디오 및 멀티뷰 비디오와 같은 다수의 계층(layer)들을 포함하는 비디오 정보가 존재할 경우 각 계층의 단위를 페이로드(payload)할 수 있는 유닛일 수 있다. MFU(900)의 헤더에는 스케일러블 비디오 또는 멀티뷰 비디오의 NALU 헤더에 존재하는 헤더 정보가 존재할 수 있다.
MFU(900)의 페이로드에는 스케일러블 비디오 및 멀티뷰 비디오의 데이터가 분할되어 존재할 수 있다. 또한, MFU(900)의 페이로드에는 스케일러블 멀티뷰 비디오의 데이터가 분할되어 존재할 수 있다.
도 19는 일 실시예에 따른 스케일러블 비디오 또는 멀티뷰 비디오 정보를 제공하기 위한 구문(syntax)을 설명한다.
MMT의 MFU(900)의 헤더는 MVC 및 SVC 인코드된 데이터를 위한 계층 정보를 제공할 수 있다. 또한, 멀티뷰 비디오의 시점(view point)과 시간적, 공간적 및 품질적으로 스케일러블한 비디오를 사용하는 조합된(combined) 스케일러빌리티가 제공될 수 있다.
MMT는 케이스 문서(case document)를 사용할 수 있다. 케이스 문서는 적응가능한(adaptive) 콘텐츠 소비에 대한 케이스 시나리오(scenario)를 포함할 수 있다. 적응가능한 콘텐츠 소비는 단말(terminal) 능력(capability)에 기반한, 네트워크 상태(condition) 및/또는 사용자 선호들(preferences)에 기반할 수 있다.
하기에서, 효율적인 뷰 포인트 적응 및 스케일러블한 계층화된 비디오 적응(adaption)을 위한 MFU(900)의 헤더 필드가 설명될 수 있다. MVC의 시점 적응 정보 및 SVC의 스케일러블 계층 정보는 독립적으로 사용될 수 있으며, 스케일러블 멀티뷰 비디오를 위해 조합된 모드에서 사용될 수 있다.
MMT에 있어서, MFU(900)는 가장 작은 디코딩가능한(decodable) 데이터 유닛일 수 있다. MFU(900)은 E.3 계층일 수 있다. 도 10의 구문은 E.3 계층 헤더 필드에 적용될 수 있다. E.3 계층 헤더는 시점(view point) 정보를 포함할 수 있다. 또한, E.3 계층 헤더는 계층화된 코드된 데이터의 시간적, 공간적 및 품질적 계층 정보를 제공할 수 있다.
도 19의 구문의 데이터는 스케일러블 비디오의 정보 및 멀티뷰 비디오의 정보 중 하나 이상을 제공할 수 있다. 구문의 데이터는 MFU(900)의 헤더에 선택적으로 존재할 수 있다.
스케일러블 비디오의 정보 및 멀티뷰 비디오의 정보 중 하나 이상은 MFU(900) 헤더에 선택적으로 존재할 수 있다. 말하자면, MFU(900)의 헤더는 하기에서 설명될 구문의 플래그들 중 하나 이상을 포함할 수 있다. MFU(900)는 MMT 패킷을 구성하는 가장 작은 단위일 수 있다.
계층 정보 플래그(1910)는 MFU(900)의 페이로드(payload) 내에 스케일러블 비디오 또는 멀티뷰 비디오의 존재하는지 여부를 나타내는 플래그일 수 있다. 계층 정보 플래그(1910)의 값이 '1'인 것은 상기의 페이로드가 MVC, SVC 또는 조합된 MVC/SVC로 인코드된 계층화된(layered) 비디오 데이터를 포함한다는 것을 가리킬 수 있다.
계층 정보 플래그(1910)가 존재하는 경우, 계층 타입(1920)을 통해 스케일러블 비디오 및 멀티뷰 비디오 또는 스케일러블 멀티뷰 비디오가 구분될 수 있다.
계층 정보 플래그(1910)가 '1'일 때, 계층 타입은 하기의 표 1에서 명세된 것과 같이 MFU(900)의 페이로드 내의 계층화된 데이터의 타입을 가리킨다.
계층_타입
0 멀티뷰 비디오
1 스케일러블 비디오
2 조합된 스케일러빌리티 비디오(combined scalability video)
3 예약됨
계층 타입(1920)의 값이 0이면, 멀티뷰 비디오에 대한 정보가 제공된다. 계층 타입(1920)의 값이 1이면, 스케일러블 비디오에 대한 정보가 제공된다. 계층 타입(1920)의 값이 2이면, 스케일러블 멀티뷰 비디오에 대한 정보가 제공된다.
계층 타입(1920)의 값이 0인 멀티뷰 비디오에 대한 레어mbined scalability video)810) alc)(1720), 문법적 요소들은 하기와 같다. 예컨대, 계층 타입(1920)이 0의 값을 가지는 경우, 하기와 같은 멀티뷰 비디오에 대한 정보가 제공된다.
멀티뷰 비디오에 대한 정보로서, 현재 MFU(900)내에 존재하는 멀티뷰 비디오 계층의 우선순위를 나타내는 우선순위 ID(priority id)(1931), 멀티뷰 비디오의 뷰의 고유 ID를 나타내는 뷰 ID(view id)(1932), 시간 ID(temporal id)(1933), 뷰 간 예측 플래그(interview prediction flag)(1934) 및 임의 접근을 위한 앵커 픽쳐 플래그(anchor picture flag)(1935)가 존재할 수 있다.
하기에서, 멀티뷰 계층 또는 계층은 멀티뷰 비디오의 멀티뷰 계층을 나타낼 수 있다. 멀티뷰 비디오는 MVC 비디오일 수 있다.
우선순위 ID(1931)는 멀티뷰 비디오의 MFU 페이로드 내에 존재하는 각 계층의 우선순위 정보일 수 있다.
우선순위 ID(1931)는 현재 MFU(900) 내에 포함된 멀티뷰 계층의 우선순위를 가리킬 수 있다. 우선순위 ID(1931)의 낮은 값은 높은 우선순위를 가리킬 수 있다.
뷰 ID(1932)는 MVC 비디오의 고유의 뷰 ID를 가리킬 수 있다.
시간적 ID(1933)는 MVC 비디오의 시간적 레벨을 가리킬 수 있다.
뷰 간 예측 플래그(1934)의 값 '1'은 현재 뷰 컴포넌트(component)가 현재 AU 내의 다른 뷰 컴포넌트에 의해 예측될 수 있다는 것을 가리킬 수 있다. 뷰 컴포넌트는 단일 접근 유닛 내의 뷰의 코드된 레프리젠테이션(representation)일 수 있다.
앵커 픽쳐 플래그(1935)의 값 '1'은 현재의 AU가 앵커 AU라는 것을 가리킬 수 있다.
뷰 간 예측 플래그(1934)는 현재 뷰 컴포넌트가 현재 AU 내의 다른 뷰 컴포넌트에 의해 예측될 수 있는지 여부를 나타낼 수 있다. 뷰 간 예측 플래그(1934)는 뷰 간 예측을 허용할 수 있다.
앵커 픽처 플래그(1935)는 상기 MVC 비디오로의 임의 접근(random access)을 위해 사용될 수 있다.
계층 타입(1920)의 값이 1인 멀티뷰 비디오에 대한 레어mbined scalability video)810) alc)(1720), 문법적 요소들은 하기와 같다. 예컨대, 계층 타입(1920)이 1의 값을 갖는 경우, 하기와 같은 스케일러블 비디오에 대한 정보가 제공될 수 있다.하기에서, 스케일러블 계층 또는 계층은 스케일러블 비디오의 스케일러블 계층을 나타낼 수 있다. 스케일러블 비디오는 SVC 비디오일 수 있다.
스케일러블 비디오에 대한 정보로서, 현재 MFU(900) 내에 존재하는 스케일러블 비디오 계층의 우선순위를 나타내는 우선순위 ID(priority id)(1941), 공간적 ID(spatial id)(1942), 시간적 ID(temporal id)(1943), 화질적 ID(quality id)(1944)가 존재할 수 있다.
우선순위 ID(1941)는 스케일러블 비디오의 MFU 페이로드 내에 존재하는 각 계층의 우선순위 정보일 수 있다.
우선순위 ID(1941)는 현재 MFU(900) 내에 포함된 스케일러블 계층의 우선순위를 가리킬 수 있다. 우선순위 ID의 낮은 값은 높은 우선순위를 가리킬 수 있다.
공간적 ID(1942)는 SVC 비디오의 공간적 레벨을 가리킬 수 있다.
시간적 ID(1943)는 SVC 비디오의 시간적 레벨을 가리킬 수 있다.
화질적 ID(1944)는 SVC 비디오의 화질적 레벨을 가리킬 수 있다.
계층 타입(1920)의 값이 2인 스케일러블 멀티뷰 비디오에 대한 레어mbined scalability video)810) alc)(1720), 문법적 요소들은 하기와 같다. 예컨대, 계층 타입(1920)이 2의 값을 갖는 경우, 하기와 같은 스케일러블 멀티뷰 비디오에 대한 정보가 제공될 수 있다. 스케일러블 멀티뷰 비디오는 정보는 컴바인드(combined) 스케일러빌리티 정보로서 제공될 수 있다.
스케일러블 멀티뷰 비디오에 대한 정보로서, 현재 MFU(900)내에 존재하는 스케일러블 멀티뷰 비디오 계층의 우선순위를 나타내는 우선순위 ID(priority id, 1951), 뷰 ID(view id)(1952), 공간적 ID (spatial id, 1953), 시간적 ID(temporal id)(1954), 화질적 ID(quality id)(1955)가 존재할 수 있다.
우선순위 ID(1951)는 현재 MFU(900) 내에 포함된 스케일러블 멀티뷰 비디오의 우선순위를 가리킬 수 있다. 우선순위 ID의 낮은 값은 높은 우선순위를 가리킬 수 있다.
뷰 ID(1952)는 스케일러블 멀티뷰 비디오의 고유의 뷰 ID를 가리킬 수 있다.
공간적 ID(1953)는 스케일러블 멀티뷰 비디오의 공간적 레벨을 가리킬 수 있다.
시간적 ID(1954)는 스케일러블 멀티뷰 비디오의 시간적 레벨을 가리킬 수 있다.
화질적 ID(1955)는 스케일러블 멀티뷰 비디오의 화질적 레벨을 가리킬 수 있다.
우선순위 식별자(1931), 우선순위 식별자(1941) 및 우선순위 식별자(1951)의 용도는 각각 어플리케이션에 의해 정의될 수 있다.
도 20은 일 실시예에 따른 스트리밍 서버의 구조도이다.
스트리밍 서버(2000)는 처리부(2010), 네트워킹부(2020) 및 저장부(2030)를 포함할 수 있다.
처리부(2010)는 도 6을 참조하여 전술된 패킷 생성부(610)에 대응할 수 있다. 네트워킹부(2020)는 도 6을 참조하여 전술된 전송부(620) 및 네트워크 인터페이스부(630)에 대응할 수 있다. 저장부(2030)는 도 6을 참조하여 전술된 저장부(640)에 대응할 수 있다.
처리부(2010)는 패킷을 생성할 수 있다. 패킷은 MPEG-2 TS 패킷 또는 MMT 패킷일 수 있다. 네트워킹부(2020)는 생성된 패킷을 사용하여 스트림을 전송할 수 있다. 스트림은 MPEG-2 TS 스트림 또는 MMT 스트림일 수 있다. MMT 스트림은 MMT 패킷을 사용하는 스트림일 수 있다.
스트림은 멀티뷰 비디오 스트림, 스케일러블 비디오 스트림 및 멀티뷰 스케일러블 비디오 스트림 중 하나 이상을 포함할 수 있다.
패킷의 헤더는 스케일러블 비디오 스트림의 스케일러빌리티 정보를 포함할 수 있다. 스케일러블 비디오 스트림은 패킷의 페이로드(payload) 내에 분할되어 존재할 수 있다.
스케일러빌리티 정보는 헤더의 사적 전송 데이터(Transport Private Data) 내에 존재할 수 있다. 사적 전송 데이터는 헤더의 적응 필드(Adaptation Field) 내의 부가적 필드(Optional Field) 내에 존재할 수 있다. 헤더는 스케일러빌리티 정보의 유무를 나타내는 스케일러빌리티 정보 플래그 및 스케일러블 비디오 스트림의 뷰(view) 정보의 유무를 나타내는 뷰 정보 플래그를 포함할 수 있다.
헤더는 스케일러빌리티 정보 플래그 및 뷰 정보 플래그의 유무를 나타내는 사적 데이터 플래그를 포함할 수 있다.
스케일러빌리티 정보는 스케일러블 비디오의 공간적 스케일러빌리티 정보, 스케일러블 비디오의 시간적 스케일러빌리티 정보 및 스케일러블 비디오의 화질적 스케일러빌리티 정보를 포함할 수 있다.
뷰 정보는 헤더의 사적 전송 데이터 내에 존재할 수 있다.
처리부(2010)는 멀티-뷰 비디오 코딩(Multi-view Video Coding; MVC)의 네트워크 추상화 계층 유닛(Network Abstraction Layer Unit; NALU) 헤더 내의 제2 뷰 정보를 사용하여 뷰 정보를 생성할 수 있다.
처리부(2010)는 스케일러블 비디오 코딩(Scalable Video Coding; SVC)의 네트워크 추상화 계층 유닛 헤더 내의 제2 스케일러빌리티 정보를 사용하여 스케일러빌리티 정보를 생성할 수 있다.
처리부(2010)는 스트림 패킷 내에 네트워크 추상화 계층 유닛 헤더의 데이터가 존재할 경우에만 스케일러빌리티 정보를 생성할 수 있다.
처리부(2010)는 동일한 패킷 식별자(Packet Identifier; PID)를 갖는 하나 이상의 스트림 패킷들 중 네트워크 추상화 유닛 헤더의 데이터가 존재하는 스트림 패킷 내에만 스케일러빌리티 정보를 생성할 수 있다.
처리부(2010)는 스트림 패킷 내에 스케일러빌리티 정보를 삽입하는 스케일러빌리티 정보 삽입부를 포함할 수 있다.
처리부(2010)는 MPEG 미디어 트랜스포트(MPEG Media Transport; MMT) 패킷을 생성할 수 있다.
처리부(2010)는 도 9 내지 도 18을 참조하여 전술된 MFU, M-유닛, MMT 어셋, MMT 패키지 및 MMT 패킷을 생성할 수 있다.
처리부(2010)는 MFU, M-유닛, MMT 어셋, MMT 패키지 및 MMT 패킷을 저장부(2030) 내에 저장할 수 있다.
네트워킹부(2020)는 MMT 패킷을 사용하여 MMT 스트림을 전송할 수 있다. MMT 스트림은 하나 이상의 MMT 패킷들을 포함할 수 있다. MMT 패킷은 멀티뷰 비디오, 스케일러블 비디오 및 스케일러블 멀티뷰 비디오 중 하나 이상을 포함할 수 있다.
네트워킹부(2020)는 스트림을 비디오 플레이어와 같은 다른 스트리밍 클라이언트(2100)로 전송할 수 있다.
MMT 패킷 내의 미디어 프래그먼트 유닛(Media Fragment Unit; MFU)는 스케일러블 비디오, 멀티뷰 비디오 및 스케일러블 멀티뷰 비디오 중 하나 이상을 포함할 수 있다.
MMT 패킷 내의 미디어 프래그먼트 유닛(Media Fragment Unit; MFU)은 스케일러블 비디오, 멀티뷰 비디오 및 스케일러블 멀티뷰 비디오 중 하나 이상을 포함할 수 있다.
MFU의 헤더는 우선순위 식별자(identifier; ID)를 포함할 수 있다. 우선순위 ID는 MFU 내에 포함된 멀티뷰 비디오의 멀티뷰 계층의 우선순위를 나타낼 수 있다.
MFU의 헤더는 뷰 ID, 뷰 간 예측 플래그 및 앵커 픽쳐 플래그를 포함할 수 있다. 뷰 ID는 멀티뷰 비디오의 고유의 ID를 가리킬 수 있다. 뷰 간 예측 플래그는 현재 뷰 컴포넌트가 현재 액세스 유닛(Access Unit; AU) 내의 다른 뷰 컴포넌트에 의해 예측될 수 있는지 여부를 나타낼 수 있다. 앵커 픽쳐 플래그는 멀티뷰 비디오로의 임의 접근(random access)을 위해 사용될 수 있다.
우선순위 ID는 MFU 내에 포함된 스케일러블 비디오의 스케일러블 계층의 우선순위를 나타낼 수 있다. MFU의 헤더는 공간적 ID, 시간적 ID 및 화질적 ID를 포함할 수 있다. 공간적 ID는 스케일러블 비디오의 공간적 레벨을 가리킬 수 있다. 시간적 ID는 스케일러블 비디오의 시간적 레벨을 가리킬 수 있다.
화질적 ID는 상기 스케일러블 비디오의 화질적 레벨을 가리킬 수 있다.
우선순위 ID는 MFU 내에 포함된 멀티뷰 스케일러블 비디오의 우선순위를 나타낼 수 있다. MFU의 헤더는 뷰 ID, 공간적 ID, 시간적 ID 및 화질적 ID를 포함할 수 있다. 뷰 ID는 스케일러블 멀티뷰 비디오의 고유의 ID를 가리킬 수 있다. 공간적 ID는 스케일러블 멀티뷰 비디오의 공간적 레벨을 가리킬 수 있다. 시간적 ID는 스케일러블 멀티뷰 비디오의 시간적 레벨을 가리킬 수 있다. 화질적 ID는 스케일러블 멀티뷰 비디오의 화질적 레벨을 가리킬 수 있다.
MFU의 헤더는 계층 정보 플래그를 포함할 수 있다. 계층 정보 플래그는 헤더 스케일러블 비디오, 멀티뷰 비디오 및 스케일러블 멀티뷰 비디오 중 하나 이상에 대한 정보의 유무를 나타낼 수 있다. 헤더는 계층 정보 플래그를 통해 스케일러블 비디오, 멀티뷰 비디오 및 스케일러블 멀티뷰 비디오 중 하나 이상의 계층의 타입의 정보를 포함할 수 있다.
헤더는 계층의 타입의 정보에 따라 멀티뷰 비디오의 정보, 스케일러블 비디오의 정보 및 멀티뷰 스케일러블 비디오의 정보 중 하나 이상을 포함할 수 있다. 스케일러블 비디오, 멀티뷰 비디오 및 스케일러블 멀티뷰 비디오 중 하나 이상은 MMT 패킷 내의 MFU 페이로드(payload) 내에 분할되어 존재할 수 있다.
앞서 도 1 내지 도 19를 참조하여 설명된 실시예들에 따른 기술 적 내용들이 본 실시예에도 그대로 적용될 수 있다. 따라서 보다 상세한 설명은 이하 생략하기로 한다.
도 21은 일 실시예에 따른 스트리밍 클라이언트의 구조도이다.
스트리밍 클라이언트(2100)는 처리부(2110) 및 네트워킹부(2120)를 포함할 수 있다. 네트워킹부(2120)는 도 7을 참조하여 전술된 수신부(710)에 대응할 수 있다. 처리부(2110)는 도 7을 참조하여 전술된 패킷 처리부(720)에 대응할 수 있다.
네트워킹부(2120)는 스트림을 수신할 수 있다. 스트림은 MPEG-2 TS 스트림 또는 MMT 스트림일 수 있다. MMT 스트림은 MMT 패킷을 사용하는 스트림일 수 있다.
처리부(2110)는 스트림의 패킷을 처리할 수 있다. . 패킷은 MPEG-2 TS 패킷 또는 MMT 패킷일 수 있다.
스트림은 스케일러블 비디오 스트림을 포함할 수 있다. 스트림 패킷의 헤더는 스케일러블 비디오 스트림의 스케일러빌리티 정보를 포함할 수 있다.
처리부(2110)는 헤더 내의 스케일러빌리티 정보 플래그 및 뷰 정보 플래그에 기반하여 패킷 내의 상기 스케일러빌리티 정보의 유무 및 스케일러블 비디오 스트림의 뷰 정보의 유무를 판단할 수 있다.
처리부(2110)는 스케일러빌리티 정보에 기반하여 스케일러블 비디오 코딩의 네트워크 추상화 계층 유닛 헤더 내의 스케일러빌리티 정보를 생성할 수 있다.
처리부(2110)는 스트림 패킷 내에 상기 네트워크 추상화 계층 유닛 헤더의 데이터가 존재할 경우에만 스케일러빌리티 정보를 추출할 수 있다.
처리부(2110)는 동일한 패킷 식별자를 갖는 하나 이상의 스트림 패킷들 중 네트워크 추상화 유닛 헤더의 데이터가 존재하는 스트림 패킷에서만 상기 스케일러빌리티 정보를 추출할 수 있다.
처리부(2110)는 동일한 패킷 식별자를 갖는 하나 이상의 스트림 패킷들 중 스케일러빌리티 정보를 포함하는 패킷과 가장 가까운 이전 시간의 패킷으로부터 패킷의 스케일러빌리티 정보를 추출할 수 있다.
네트워킹부(2120)는 MMT 스트림을 수신할 수 있다.
처리부(2210)는 도 9 내지 도 18을 참조하여 전술된 MFU, M-유닛, MMT 어셋, MMT 패키지 및 MMT 패킷을 처리할 수 있다. 처리부(2210)는 MFU, M-유닛, MMT 어셋, MMT 패키지 및 MMT 패킷을 처리함으로써 MMT 스트림의 콘텐츠를 재생할 수 있다.
앞서 도 1 내지 도 20을 참조하여 설명된 실시예들에 따른 기술 적 내용들이 본 실시예에도 그대로 적용될 수 있다. 따라서 보다 상세한 설명은 이하 생략하기로 한다.
도 22는 일 실시예에 따른 스트리밍 서비스 방법의 흐름도이다.
단계(2210)에서, 스트리밍 서버(2000)의 처리부(2010)는 패키지를 생성할 수 있다. 패키지는 MMT 패키지일 수 있다.
단계(2220)에서, 처리부(2010)는 패킷을 생성할 수 있다. 패킷은 MMT 패킷일 수 있다.
단계(2230)에서, 스트리밍 서버(2000)의 네트워킹부(2020)는 스트림을 전송할 수 있다. 스트림은 비트 스트림일 수 있다. 스트림은 MMT 스트림일 수 있다.
단계(2240)에서, 스트리밍 클라이언트(2100)의 네트워킹부(2120)는 스트림을 수신할 수 있다.
단계(2250)에서, 스트리밍 클라이언트(2100)의 처리부(2110)는 스트림 내의 패킷을 처리할 수 있다.
앞서 도 1 내지 도 21을 참조하여 설명된 실시예들에 따른 기술 적 내용들이 본 실시예에도 그대로 적용될 수 있다. 따라서 보다 상세한 설명은 이하 생략하기로 한다.
도 23은 일 예에 따른 조합된 스케일러빌리티를 나타낸다.
도 23에서, x 축은 공간적 ID를 나타낼 수 있다. y 축은 뷰 ID를 나타낼 수 있다. V0은 베이스 뷰를 나타낼 수 있다.
도 23에서, MVC는 3 개의 뷰들을 제공하고, SVC는 3 레벨 공간적 확장성을 제공한다. 도 23은 뷰 및 공간적 스케일러빌리티들을 통한 조합된 스케일러빌리티 도시한다. 도 23에서, 우선순위 ID는 P0 내지 P3의 값을 갖는다. 상기의 우선순위 ID의 값은 기정의된(predefined) 우선순위 할당 정책을 갖는 오퍼레이터(operator)에 의해 독단적으로(arbitrarily)으로 할당될 수 있다. 조합된 스케일러빌리티 옵션(option)은 스크린 크기 및 시점에 있어서 사용자들에게 더 유동적인(flexible) 적응 시나리오들을 제공할 수 있다.
일 실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
그러므로, 실시예들의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
600: 스트리밍 서버
700: 스트리밍 클라이언트
2000: 스트리밍 서버
2100: 스트리밍 클라이언트

Claims (20)

  1. MPEG 미디어 트랜스포트(MPEG Media Transport; MMT) 패킷을 생성하는 처리부; 및
    상기 MMT 패킷을 사용하여 MMT 스트림을 전송하는 네트워킹부
    를 포함하고,
    상기 MMT 패킷은 멀티뷰 비디오, 스케일러블 비디오 및 스케일러블 멀티뷰 비디오 중 하나 이상을 포함하는 스트리밍 서버.
  2. 제1항에 있어서,
    상기 MMT 패킷 내의 미디어 프래그먼트 유닛(Media Fragment Unit; MFU)은 상기 스케일러블 비디오, 상기 멀티뷰 비디오 및 상기 스케일러블 멀티뷰 비디오 중 하나 이상을 포함하는 스트리밍 서버.
  3. 제2항에 있어서,
    상기 MFU의 헤더는 우선순위 식별자(identifier; ID)를 포함하고,
    상기 우선순위 ID는 상기 MFU 내에 포함된 상기 멀티뷰 비디오의 상기 멀티뷰 계층의 우선순위를 나타내는 스트리밍 서버.
  4. 제3항에 있어서,
    상기 MFU의 헤더는 뷰 ID, 뷰 간 예측 플래그 및 앵커 픽쳐 플래그를 포함하고,
    상기 뷰 ID는 상기 멀티뷰 비디오의 고유의 ID를 가리키고,
    상기 뷰 간 예측 플래그는 현재 뷰 컴포넌트가 현재 액세스 유닛(Access Unit; AU) 내의 다른 뷰 컴포넌트에 의해 예측될 수 있는지 여부를 나타내고,
    상기 앵커 픽쳐 플래그는 상기 멀티뷰 비디오로의 임의 접근(random access)을 위해 사용되는 스트리밍 서버.
  5. 제2항에 있어서,
    상기 MFU의 헤더는 우선순위 ID를 포함하고,
    상기 우선순위 ID는 상기 MFU 내에 포함된 상기 스케일러블 비디오의 상기 스케일러블 계층의 우선순위를 나타내는 스트리밍 서버.
  6. 제5항에 있어서,
    상기 MFU의 헤더는 공간적 ID, 시간적 ID 및 화질적 ID를 포함하고,
    상기 공간적 ID는 상기 스케일러블 비디오의 공간적 레벨을 가리키고,
    상기 시간적 ID는 상기 스케일러블 비디오의 시간적 레벨을 가리키고,
    상기 화질적 ID는 상기 스케일러블 비디오의 화질적 레벨을 가리키는 스트리밍 서버.
  7. 제2항에 있어서,
    상기 MFU의 헤더는 우선순위 ID를 포함하고,
    상기 우선순위 ID는 상기 MFU 내에 포함된 상기 멀티뷰 스케일러블 비디오의 우선순위를 나타내는 스트리밍 서버.
  8. 제7항에 있어서,
    상기 MFU의 헤더는 뷰 ID, 공간적 ID, 시간적 ID 및 화질적 ID를 포함하고,
    상기 뷰 ID는 상기 스케일러블 멀티뷰 비디오의 고유의 ID를 가리키고,
    상기 공간적 ID는 상기 스케일러블 멀티뷰 비디오의 공간적 레벨을 가리키고,
    상기 시간적 ID는 상기 스케일러블 멀티뷰 비디오의 시간적 레벨을 가리키고,
    상기 화질적 ID는 상기 스케일러블 멀티뷰 비디오의 화질적 레벨을 가리키는 스트리밍 서버
  9. 제2항에 있어서,
    상기 MFU의 헤더는 계층 정보 플래그를 포함하고,
    상기 계층 정보 플래그는 상기 스케일러블 비디오, 상기 멀티뷰 비디오 및 상기 스케일러블 멀티뷰 비디오 중 하나 이상에 대한 정보의 유무를 나타내고,
    상기 헤더는 상기 계층 정보 플래그를 통해 상기 헤더 스케일러블 비디오, 상기 멀티뷰 비디오 및 상기 스케일러블 멀티뷰 비디오 중 하나 이상의 계층의 타입의 정보를 포함하는 스트리밍 서버.
  10. 제9항에 있어서,
    상기 헤더는 상기 계층의 타입의 정보에 따라 상기 멀티뷰 비디오의 정보, 상기 스케일러블 비디오의 정보 및 상기 멀티뷰 스케일러블 비디오의 정보 중 하나 이상을 포함하는 스트리밍 서버.
  11. 제1항에 있어서,
    상기 스케일러블 비디오, 상기 멀티뷰 비디오 및 상기 스케일러블 멀티뷰 비디오 중 하나 이상은 상기 MMT 패킷 내의 MFU 페이로드(payload) 내에 분할되어 존재하는 스트리밍 서버.
  12. MPEG 미디어 트랜스포트(MPEG Media Transport; MMT) 패킷을 생성하는 단계; 및
    상기 MMT 패킷을 사용하여 MMT 스트림을 전송하는 단계
    를 포함하고,
    상기 MMT 패킷은 멀티뷰 비디오, 스케일러블 비디오 및 스케일러블 멀티뷰 비디오 중 하나 이상을 포함하는 스트리밍 서비스 방법.
  13. MPEG 미디어 트랜스포트(MPEG Media Transport; MMT) 스트림을 수신하는 네트워킹부; 및
    상기 MMT 스트림 내의 MMT 패킷을 처리하는 처리부
    를 포함하고,
    상기 MMT 패킷은 멀티뷰 비디오, 스케일러블 비디오 및 스케일러블 멀티뷰 비디오 중 하나 이상을 포함하는 스트리밍 클라이언트.
  14. 제13항에 있어서,
    상기 MMT 패킷 내의 미디어 프래그먼트 유닛(Media Fragment Unit; MFU)는 상기 스케일러블 비디오, 상기 멀티뷰 비디오 및 상기 스케일러블 멀티뷰 비디오 중 하나 이상을 포함하는 스트리밍 클라이언트.
  15. 제14항에 있어서,
    상기 MFU의 헤더는 우선순위 식별자(identifier; ID)를 포함하고,
    상기 우선순위 ID는 상기 MFU 내에 포함된 상기 멀티뷰 비디오의 상기 멀티뷰 계층의 우선순위를 나타내는 스트리밍 클라이언트.
  16. 제15항에 있어서,
    상기 MFU의 헤더는 뷰 ID, 뷰 간 예측 플래그 및 앵커 픽쳐 플래그를 포함하고,
    상기 뷰 ID는 상기 멀티뷰 비디오의 고유의 ID를 가리키고,
    상기 뷰 간 예측 플래그는 현재 뷰 컴포넌트가 현재 액세스 유닛(Access Unit; AU) 내의 다른 뷰 컴포넌트에 의해 예측될 수 있는지 여부를 나타내고,
    상기 앵커 픽쳐 플래그는 상기 멀티뷰 비디오로의 임의 접근(random access)을 위해 사용되는 스트리밍 클라이언트.
  17. 제14항에 있어서,
    상기 MFU의 헤더는 우선순위 ID를 포함하고,
    상기 우선순위 ID는 상기 MFU 내에 포함된 상기 스케일러블 비디오의 상기 스케일러블 계층의 우선순위를 나타내는 스트리밍 클라이언트.
  18. 제17항에 있어서,
    상기 MFU의 헤더는 공간적 ID, 시간적 ID 및 화질적 ID를 포함하고,
    상기 공간적 ID는 상기 스케일러블 비디오의 공간적 레벨을 가리키고,
    상기 시간적 ID는 상기 스케일러블 비디오의 시간적 레벨을 가리키고,
    상기 화질적 ID는 상기 스케일러블 비디오의 화질적 레벨을 가리키는 스트리밍 클라이언트.
  19. 제14항에 있어서,
    상기 MFU의 헤더는 우선순위 ID를 포함하고,
    상기 우선순위 ID는 상기 MFU 내에 포함된 상기 멀티뷰 스케일러블 비디오의 우선순위를 나타내는 스트리밍 클라이언트.
  20. MPEG 미디어 트랜스포트(MPEG Media Transport; MMT) 스트림을 수신하는 단계; 및
    상기 MMT 스트림 내의 MMT 패킷을 처리하는 단계
    를 포함하고,
    상기 MMT 패킷은 멀티뷰 비디오, 스케일러블 비디오 및 스케일러블 멀티뷰 비디오 중 하나 이상을 포함하는 스트리밍 서비스 방법.
KR1020120133477A 2011-11-23 2012-11-23 스케일러빌리티 및 뷰 정보를 제공하는 스트리밍 서비스를 위한 방법 및 장치 KR102003925B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US14/360,174 US20140344470A1 (en) 2011-11-23 2012-11-23 Method and apparatus for streaming service for providing scalability and view information
JP2014543422A JP2015503281A (ja) 2011-11-23 2012-11-23 スケーラビリティ及びビュー情報を提供するストリーミングサービスのための方法及び装置
PCT/KR2012/009978 WO2013077670A1 (ko) 2011-11-23 2012-11-23 스케일러빌리티 및 뷰 정보를 제공하는 스트리밍 서비스를 위한 방법 및 장치

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20110122994 2011-11-23
KR1020110122994 2011-11-23

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020190087649A Division KR102149048B1 (ko) 2011-11-23 2019-07-19 스케일러빌리티 및 뷰 정보를 제공하는 스트리밍 서비스를 위한 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20130057404A true KR20130057404A (ko) 2013-05-31
KR102003925B1 KR102003925B1 (ko) 2019-10-02

Family

ID=48665138

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020120133477A KR102003925B1 (ko) 2011-11-23 2012-11-23 스케일러빌리티 및 뷰 정보를 제공하는 스트리밍 서비스를 위한 방법 및 장치
KR1020190087649A KR102149048B1 (ko) 2011-11-23 2019-07-19 스케일러빌리티 및 뷰 정보를 제공하는 스트리밍 서비스를 위한 방법 및 장치
KR1020200105628A KR102274513B1 (ko) 2011-11-23 2020-08-21 스케일러빌리티 및 뷰 정보를 제공하는 스트리밍 서비스를 위한 방법 및 장치

Family Applications After (2)

Application Number Title Priority Date Filing Date
KR1020190087649A KR102149048B1 (ko) 2011-11-23 2019-07-19 스케일러빌리티 및 뷰 정보를 제공하는 스트리밍 서비스를 위한 방법 및 장치
KR1020200105628A KR102274513B1 (ko) 2011-11-23 2020-08-21 스케일러빌리티 및 뷰 정보를 제공하는 스트리밍 서비스를 위한 방법 및 장치

Country Status (3)

Country Link
US (1) US20140344470A1 (ko)
JP (1) JP2015503281A (ko)
KR (3) KR102003925B1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150079399A (ko) * 2013-12-31 2015-07-08 삼성전자주식회사 데이터 전송 디바이스 및 그 전송 방법
KR20160131830A (ko) 2015-05-07 2016-11-16 엔트릭스 주식회사 클라우드 스트리밍 서비스 시스템, 리사이즈 기반의 멀티뷰 화면을 제공하는 클라우드 스트리밍 서비스 방법 및 이를 위한 장치
KR20170087868A (ko) * 2014-11-26 2017-07-31 소니 주식회사 송신 장치, 송신 방법, 수신 장치 및 수신 방법
KR20170111217A (ko) 2016-03-25 2017-10-12 에스케이텔레콤 주식회사 다중 경로 스트리밍 서비스 제공 방법, 이를 위한 컴퓨터 판독 가능한 기록 매체 및 컴퓨터 프로그램

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9813350B2 (en) * 2012-01-31 2017-11-07 Sharp Kabushiki Kaisha Generation device, reproduction device, data structure, generation method, reproduction method, control program, and recording medium
RU2677572C2 (ru) * 2013-06-07 2019-01-17 Сони Корпорейшн Устройство и способ передачи потока передачи и устройство обработки
US9807452B2 (en) * 2013-10-07 2017-10-31 Samsung Electronics Co., Ltd. Practical delivery of high quality video using dynamic adaptive hypertext transport protocol (HTTP) streaming (DASH) without using HTTP in a broadcast network
US9930086B2 (en) * 2013-10-28 2018-03-27 Samsung Electronics Co., Ltd. Content presentation for MPEG media transport
US20170171606A1 (en) * 2014-04-30 2017-06-15 Lg Electronics Inc. Broadcast signal transmitting device, broadcast signal receiving device, broadcast signal transmitting method, and broadcast signal receiving method
CN107431833B (zh) 2015-02-27 2021-08-27 索尼公司 发送装置、发送方法、接收装置和接收方法
KR102519209B1 (ko) * 2015-06-17 2023-04-07 한국전자통신연구원 스테레오스코픽 비디오 데이터를 처리하기 위한 mmt 장치 및 방법
WO2017200319A1 (ko) * 2016-05-18 2017-11-23 에스케이텔레콤 주식회사 적응형 스트리밍 서비스 제공 방법 및 이를 위한 장치
KR20170130253A (ko) 2016-05-18 2017-11-28 에스케이텔레콤 주식회사 적응형 스트리밍 서비스 제공 방법 및 이를 위한 장치

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080066624A (ko) * 2007-01-12 2008-07-16 경희대학교 산학협력단 네트워크 추상 계층 유닛의 패킷 구성방법, 이를 이용한비디오 부호화 및 복호화 알고리즘 및 장치, 서비스품질제어를 위한IPv6 라벨 스위칭 알고리즘 및 장치
US20100316122A1 (en) * 2009-06-12 2010-12-16 Qualcomm Incorported Multiview video coding over mpeg-2 systems
KR20110117033A (ko) * 2010-04-20 2011-10-26 삼성전자주식회사 미디어 데이터를 송수신하기 위한 인터페이스 장치 및 방법

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6275507B1 (en) * 1997-09-26 2001-08-14 International Business Machines Corporation Transport demultiplexor for an MPEG-2 compliant data stream
KR100397511B1 (ko) * 2001-11-21 2003-09-13 한국전자통신연구원 양안식/다시점 3차원 동영상 처리 시스템 및 그 방법
EP1503299A1 (en) * 2003-07-31 2005-02-02 Alcatel A method, a hypermedia communication system, a hypermedia server, a hypermedia client, and computer software products for accessing, distributing, and presenting hypermedia documents
WO2008060125A1 (en) * 2006-11-17 2008-05-22 Lg Electronics Inc. Method and apparatus for decoding/encoding a video signal
US20080270913A1 (en) * 2007-04-26 2008-10-30 Howard Singer Methods, Media, and Devices for Providing a Package of Assets
GB2465959B (en) * 2007-09-25 2012-04-25 Ericsson Telefon Ab L M Method and arrangement relating to a media structure
KR101972962B1 (ko) * 2009-02-19 2019-04-26 톰슨 라이센싱 3d 비디오 포맷
US20120079541A1 (en) * 2010-09-25 2012-03-29 Yang Pan One-Actuation Control of Synchronization of a Television System Terminal and a Mobile Device Display
WO2012050405A2 (ko) * 2010-10-16 2012-04-19 엘지전자 주식회사 디지털 수신기 및 디지털 수신기에서의 3d 컨텐트 처리방법
KR20120083820A (ko) * 2011-01-18 2012-07-26 삼성전자주식회사 컨텐츠 전송 시스템에서 컨텐츠 전송 방법 및 장치
KR20120084234A (ko) * 2011-01-19 2012-07-27 삼성전자주식회사 Mpeg media transport(mmt)에서 mmt au를 전송하는 방법
KR20120138319A (ko) * 2011-06-14 2012-12-26 삼성전자주식회사 멀티미디어 데이터 특징 정보를 이용하여 멀티미디어 서비스 데이터 패킷을 송신하는 방법 및 장치
EP2752000B1 (en) * 2011-08-31 2021-03-17 Dolby Laboratories Licensing Corporation Multiview and bitdepth scalable video delivery
US9319721B2 (en) * 2011-10-13 2016-04-19 Electronics And Telecommunications Research Institute Method of configuring and transmitting an MMT transport packet
US11290510B2 (en) * 2012-11-29 2022-03-29 Samsung Electronics Co., Ltd. Method and apparatus for encapsulation of motion picture experts group media transport assets in international organization for standardization base media files

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080066624A (ko) * 2007-01-12 2008-07-16 경희대학교 산학협력단 네트워크 추상 계층 유닛의 패킷 구성방법, 이를 이용한비디오 부호화 및 복호화 알고리즘 및 장치, 서비스품질제어를 위한IPv6 라벨 스위칭 알고리즘 및 장치
US20100316122A1 (en) * 2009-06-12 2010-12-16 Qualcomm Incorported Multiview video coding over mpeg-2 systems
KR20110117033A (ko) * 2010-04-20 2011-10-26 삼성전자주식회사 미디어 데이터를 송수신하기 위한 인터페이스 장치 및 방법

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150079399A (ko) * 2013-12-31 2015-07-08 삼성전자주식회사 데이터 전송 디바이스 및 그 전송 방법
KR20170087868A (ko) * 2014-11-26 2017-07-31 소니 주식회사 송신 장치, 송신 방법, 수신 장치 및 수신 방법
US11678022B2 (en) 2014-11-26 2023-06-13 Sony Corporation Transmission device, transmission method, reception device, and reception method
KR20160131830A (ko) 2015-05-07 2016-11-16 엔트릭스 주식회사 클라우드 스트리밍 서비스 시스템, 리사이즈 기반의 멀티뷰 화면을 제공하는 클라우드 스트리밍 서비스 방법 및 이를 위한 장치
KR20170111217A (ko) 2016-03-25 2017-10-12 에스케이텔레콤 주식회사 다중 경로 스트리밍 서비스 제공 방법, 이를 위한 컴퓨터 판독 가능한 기록 매체 및 컴퓨터 프로그램
KR20210097089A (ko) 2016-03-25 2021-08-06 에스케이텔레콤 주식회사 다중 경로 스트리밍 서비스 제공 방법, 이를 위한 컴퓨터 판독 가능한 기록 매체 및 컴퓨터 프로그램

Also Published As

Publication number Publication date
KR102149048B1 (ko) 2020-08-28
KR20190088947A (ko) 2019-07-29
KR20200102406A (ko) 2020-08-31
JP2015503281A (ja) 2015-01-29
KR102274513B1 (ko) 2021-07-08
US20140344470A1 (en) 2014-11-20
KR102003925B1 (ko) 2019-10-02

Similar Documents

Publication Publication Date Title
KR102149048B1 (ko) 스케일러빌리티 및 뷰 정보를 제공하는 스트리밍 서비스를 위한 방법 및 장치
CN107925781B (zh) 发送方法、接收方法、发送装置以及接收装置
US9544641B2 (en) Hybrid transmission method through MMT packet format extension
US9705746B2 (en) Channel bonding for layered content
CN107113462B (zh) 发送方法、接收方法、发送装置以及接收装置
US9967582B2 (en) Hybrid delivery method and reception method for MMT packaged SVC video contents
US9553912B2 (en) Method and apparatus for transmitting media content via a single port or multiple ports
JP6440083B2 (ja) 送信方法、受信方法、送信装置及び受信装置
US20130212291A1 (en) Method and apparatus for streaming a service for providing scalability and view information
JP7295293B2 (ja) 送信方法、受信方法、送信装置及び受信装置
JP7200329B2 (ja) 送信方法、受信方法、送信装置及び受信装置
JP7361287B2 (ja) 送信方法及び送信装置
JP7307237B2 (ja) 受信方法、送信方法、受信装置及び送信装置
WO2016021153A1 (ja) 送信方法、受信方法、送信装置及び受信装置
JP2021093733A (ja) 送信方法、受信方法、送信装置及び受信装置
Kordelas et al. Transport Protocols for 3D Video

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
X701 Decision to grant (after re-examination)