KR102535168B1 - 상호작용을 하는 클라이언트를 위한 파노라마 비디오 브로드캐스트 스트리밍 - Google Patents

상호작용을 하는 클라이언트를 위한 파노라마 비디오 브로드캐스트 스트리밍 Download PDF

Info

Publication number
KR102535168B1
KR102535168B1 KR1020227000483A KR20227000483A KR102535168B1 KR 102535168 B1 KR102535168 B1 KR 102535168B1 KR 1020227000483 A KR1020227000483 A KR 1020227000483A KR 20227000483 A KR20227000483 A KR 20227000483A KR 102535168 B1 KR102535168 B1 KR 102535168B1
Authority
KR
South Korea
Prior art keywords
stream
video
spatial segments
spatial
separate
Prior art date
Application number
KR1020227000483A
Other languages
English (en)
Other versions
KR20220008942A (ko
Inventor
카르스텐 그륀버그
세르한 구엘
코르넬리우스 헤르게
야고 산체스
토마스 쉬를
로버트 스쿠핀
Original Assignee
프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. filed Critical 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베.
Publication of KR20220008942A publication Critical patent/KR20220008942A/ko
Application granted granted Critical
Publication of KR102535168B1 publication Critical patent/KR102535168B1/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/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/234309Processing 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 transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4 or from Quicktime to Realvideo
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • 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/234345Processing 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 the reformatting operation being performed only on part of the stream, e.g. a region of the image or a time segment
    • 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/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/23608Remultiplexing multiplex streams, e.g. involving modifying time stamps or remapping the packet identifiers
    • 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/2362Generation or processing of Service Information [SI]
    • 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/2365Multiplexing of several 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/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4345Extraction or processing of SI, e.g. extracting service information from an MPEG stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4347Demultiplexing of several 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/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8451Structuring of content, e.g. decomposing content into time segments using Advanced Video Coding [AVC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

디코더가 디코딩할 수 있는 해상도보다 높은 해상도를 포함하는 파노라마 비디오를 송신하기 위해, 송신기 측에서, 비디오 스트림의 비디오 픽쳐의 상이한 공간 세그먼트들 또는 공간 세그먼트들의 상이한 그룹들을 코딩하는 인코딩된 데이터가 별도의 서브스트림의 그룹을 획득하기 위해 개별 서브스트림으로 패킷화된다. 수신기 측에서, 별도의 서브스트림의 그룹으로부터, 별도의 서브스트림의 적절한 서브셋(즉, 단지 일부)이 추출되어, 비디오 스트림의 비디오 픽쳐의 후속하는 공간 세그먼트 또는 공간 세그먼트의 그룹들의 적절한 서브셋(즉, 일부분)을 개별적으로 코딩하는 인코딩된 데이터를 포함하는 데이터 스트림에 결합된다. 따라서, 데이터 스트림을 디코딩하는 디코더는 비디오 스트림의 비디오 픽쳐의 서브영역만을 디코딩할 수 있으며, 서브영역은 데이터 스트림에 포함된 인코딩된 데이터에서 코딩된 공간 세그먼트 또는 공간 세그먼트 그룹에 의해 정의된다. 수신 측에서의 처리가 보다 용이한 방식으로 원 영상의 단지 세그먼트와 관련된 서브스트림 또는 부분 데이터 스트림을 송신하는 것을 가능하게 하는 개념이 또한 설명된다.

Description

상호작용을 하는 클라이언트를 위한 파노라마 비디오 브로드캐스트 스트리밍{Broadcast streaming of panoramic video for interactive clients}
실시예들은 스트림 다중화기에 관한 것이다. 다른 실시예들은 스트림 역다중화기(stream demultiplexer)에 관한 것이다. 다른 실시예들은 비디오 스트림에 관한 것이다. 일부 실시예는 상호작용을 하는 클라이언트를 위한 파노라마 비디오의 브로드캐스트 스트리밍에 관한 것이다.
상호작용(interactive) 파노라마 스트리밍이라는 관심 지역(RoI; Region of Interest) 스트리밍이 점차 인기를 얻고 있다. 이러한 스트리밍 서비스의 이면에 있는 아이디어는 수신기 측에서 전체 비디오의 일부, 즉 RoI만을 보여주는 매우 넓은 각도 및 고해상도 비디오 내에서 탐색하는 것이다.
일반적으로 전체 파노라마 비디오는 매우 높은 해상도, 예를 들어, 16K로 인코딩되어, 수신기로 그대로 전송될 수 없는데, 기존 하드웨어, 예를 들어, 4K에 의해 디코딩될 수 없기 때문이다.
따라서, 본 발명의 제1 측면에 따르면, 본 발명의 목적은 파노라마 비디오가 디코더가 디코드할 수 있는 해상도보다 높은 해상도를 포함하고 있음에도 불구하고, 디코더에 파노라마 비디오를 전송할 수 있도록 하는 개념을 제공하는 것이다.
본원의 제 2 측면에 따르면, 본 발명의 목적은 수신 측에서의 처리가 용이한 방식으로 원 영상의 세그먼트에 속하는 서브스트림 또는 부분 데이터 스트림을 송신하는 것을 허용하는 개념을 제공하는 것이다.
실시예들은 데이터 스트림 형성기 및 출력 인터페이스를 포함하는 스트림 역다중화기를 제공한다. 데이터 스트림 형성기는 비디오 스트림의 비디오 픽쳐의 상이한 공간 세그먼트 또는 상이한 공간 세그먼트의 상이한 그룹을 코딩하는 인코딩된 데이터를 포함하는 별도의 서브스트림의 그룹으로부터 적어도 2 개의 별도의 서브스트림을 선택적으로 추출하도록 구성되며, 상기 데이터 스트림 형성기는 상기 적어도 2 개의 별도의 서브스트림을 상기 비디오 스트림의 비디오 픽쳐의 상이한 공간 세그먼트 또는 상이한 그룹의 다른 그룹을 코딩하는 인코딩된 데이터를 포함하는 데이터 스트림에 결합하도록 구성된다.
실시예에서, 디코더가 디코딩할 수 있는 해상도보다 높은 해상도를 포함하는 파노라마 비디오를 전송하기 위해, 송신기 측에서, 비디오 스트림의 비디오 픽쳐의 상이한 공간 세그먼트 또는 공간 세그먼트의 상이한 그룹을 코딩하는 인코딩된 데이터가 별도의 서브스트림들로 패킷화되어, 개별 서브스트림들의 그룹을 획득한다. 수신기 측에서, 개별 서브스트림의 그룹으로부터, 별도의 서브스트림의 적절한 서브셋(즉, 단지 일부)이 추출되어 각각 비디오 스트림의 비디오 픽쳐의 후속하는 공간 세그먼트 또는 공간 세그먼트의 그룹의 서브셋(즉, 일부분)를 코딩하는 인코딩된 데이터를 포함하는 데이터 스트림에 결합된다. 따라서, 데이터 스트림을 디코딩하는 디코더는 비디오 스트림의 비디오 픽쳐의 서브영역만을 디코딩할 수 있으며, 서브영역은 데이터 스트림에 포함된 인코딩된 데이터에서 코딩된 공간 세그먼트들 또는 공간 세그먼트들의 그룹에 의해 정의된다.
다른 실시예들은 스트림 다중화 방법을 제공하며, 상기 방법은,
- 비디오 스트림의 비디오 픽쳐의 적어도 2 개의 상이한 공간 세그먼트 또는 후속하는 공간 세그먼트의 상이한 그룹 각각에 대한 인코딩된 데이터를 수신하는 단계; 및
- 상기 적어도 2 개의 상이한 공간 세그먼트들 각각에 대한 상기 인코딩된 데이터를 별도의 서브스트림들로 패킷화하는 단계를 포함한다.
또 다른 실시예들은 스트림 역다중화 방법을 제공하며, 상기 방법은,
- 비디오 스트림의 비디오 픽쳐의 상이한 공간 세그먼트 또는 상이한 공간 세그먼트의 상이한 그룹을 코딩하는 인코딩된 데이터를 포함하는 별도의 서브스트림의 그룹으로부터 적어도 2 개의 별도의 서브스트림을 선택적으로 추출하는 단계; 및
- 상기 적어도 2 개의 별도의 서브스트림을 상기 비디오 스트림의 비디오 픽쳐의 다른 공간 세그먼트 또는 연속적인 공간 세그먼트의 다른 그룹을 코딩하는 인코딩된 데이터를 포함하는 데이터 스트림에 결합하는 단계를 포함한다.
또 다른 실시예들은 인코딩된 데이터가 적어도 2 개의 슬라이스를 포함하도록, 비디오 스트림의 비디오 픽쳐의 적어도 2 개의 상이한 공간 세그먼트 또는 후속하는 공간 세그먼트의 상이한 그룹을 인코딩함으로써 비디오 스트림의 비디오 픽쳐를 인코딩하도록 구성된 인코더를 제공한다. 인코더는 코딩 제약조건이 충족되는지 여부를 나타내는 시그널링 정보를 제공하도록 구성될 수 있다. 코딩 제약조건은, 코딩 순서에 대해 상기 적어도 2 개의 슬라이스들의 제1 슬라이스의 슬라이스 헤더를 유지하면서 상기 적어도 2 개의 슬라이스들의 적어도 하나의 슬라이스 헤더를 제거하고 상기 제1 슬라이스 헤더를 사용하여 상기 적어도 2 개의 슬라이스들 또는 상기 적어도 2 개의 슬라이스들의 적절한 서브셋을 연결하는 것(concatenating)이 표준 부합 데이터 스트림을 초래할 때, 만족된다.
다른 실시예들은, 별도의 서브스트림들 각각이 비디오 스트림의 비디오 픽쳐의 상이한 공간 세그먼트 또는 후속하는 공간 세그먼트들의 상이한 그룹들을 코딩하는 인코딩된 데이터를 포함하는, 별도의 서브스트림들의 그룹을 제공한다.
유리한 구현예들이 종속항에서 다루어진다.
실시예들은 비디오 스트림을 인코딩하기 위한 송신기를 제공한다. 송신기는 코딩 스테이지 및 스트림 다중화기를 포함한다. 코딩 스테이지는 적어도 2 개의 상이한 공간 세그먼트 또는 후속하는 공간 세그먼트의 상이한 그룹에 대한 인코딩된 데이터를 얻기 위해 비디오 스트림의 비디오 픽쳐의 후속하는 공간 세그먼트의 적어도 2 개의 상이한 공간 세그먼트 또는 상이한 그룹을 인코딩하도록 구성된다. 스트림 다중화기는 비디오 스트림의 비디오 픽쳐의 후속하는 공간 세그먼트들의 상이한 그룹 또는 적어도 2 개의 상이한 공간 세그먼트 각각에 대한 인코딩된 데이터를 수신하도록 구성된 수신 인터페이스를 포함한다. 또한, 스트림 다중화기는 적어도 2 개의 상이한 공간 세그먼트 각각에 대한 인코딩된 데이터를 별도의 서브스트림으로 패킷화하고, 별도의 서브스트림을 출력에 제공하도록 구성된 데이터 스트림 형성기를 포함한다.
실시예에서, 송신기의 코딩 스테이지는 비디오 스트림의 비디오 픽쳐를 공간 세그먼트로 구조화하고 공간 세그먼트 또는 후속(코딩 순서에 대해 후속하는) 공간 세그먼트를 별도로 인코딩하여 공간 세그먼트 또는 후속 공간 세그먼트 그룹의 각각에 대한 인코딩된 데이터를 얻도록 구성될 수 있다. 송신기의 데이터 스트림 형성기는 각각의 공간 세그먼트 또는 후속 공간 세그먼트의 그룹에 대한 인코딩된 데이터를 개별 서브스트림으로 패킷화하고 송신기 출력에서 개별 서브스트림을 제공하도록 구성될 수 있다.
예를 들어, 송신기의 코딩 스테이지는 제1 인코딩된 데이터를 얻기 위해 제1 공간 세그먼트 또는 후속 공간 세그먼트들의 제1 그룹을 인코딩하고 제2 인코딩된 데이터를 획득하기 위해 제2 공간 세그먼트 또는 후속 공간 세그먼트들의 제2 그룹을 인코딩하도록 구성될 수 있다. 송신기의 데이터 스트림 형성기는 제1 서브스트림 또는 제1 서브스트림 그룹에서 제1 인코딩 데이터를 패킷화하고 제2 서브스트림 또는 제2 서브스트림 그룹에서 제2 인코딩 데이터를 패킷화하도록 구성될 수 있다.
실시예에서, 송신기의 코딩 스테이지는 복수의 비디오 스트림을 수신하도록 구성될 수 있으며, 각각의 비디오 스트림은 비디오 픽쳐의 픽쳐 세그먼트, 즉 비디오 픽쳐를 함께 형성하는 복수의 비디오 스트림에 포함된 픽쳐 세그먼트들을 포함한다. 그에 따라, 코딩 스테이지는 각각의 공간 세그먼트 또는 공간 세그먼트 그룹이 비디오 스트림 중 하나에 대응하도록 공간 세그먼트에서 비디오 스트림의 비디오 픽쳐를 구조화하도록 구성될 수 있다.
실시예에서, 별도의 서브스트림 또는 별도의 서브스트림의 그룹은 전송, 브로드캐스트 또는 멀티캐스트될 수 있다.
실시예들에서, 코딩 스테이지는 적어도 2 개의 상이한 공간 세그먼트들 각각에 대해 인코딩된 데이터 또는 후속하는 공간 세그먼트들의 상이한 그룹이 그 자체로 디코딩 가능하도록 적어도 2 개의 상이한 공간 세그먼트들을 별도로 인코딩하도록 구성될 수 있다. 예를 들어, 다른 공간 세그먼트들 간에 정보가 공유되지 않도록 코딩 스테이지를 구성할 수 있다. 즉, 코딩 스테이지는 비디오 픽쳐의 공간 세그먼트가 이전의 비디오 픽쳐의 상이한 공간 세그먼트로부터 예측되지 않도록 인터-예측이 제한되도록 비디오 스트림을 인코딩하도록 구성될 수 있다.
실시예들에서, 송신기의 코딩 스테이지는 비디오 스트림의 비디오 픽쳐의 후속하는 공간 세그먼트들의 적어도 2 개의 상이한 공간 세그먼트 또는 상이한 그룹을 인코딩하도록 구성되어, 적어도 2 개의 다른 공간적 세그먼트들 각각에 대한 인코딩된 데이터 세그먼트 또는 후속하는 공간 세그먼트들의 다른 그룹은 적어도 하나의 슬라이스를 포함하며, 송신기의 데이터 스트림 형성기는 하나의 개별 서브스트림에서 각각의 슬라이스를 패킷화하도록 구성될 수 있다.
예를 들어, 송신기의 코딩 스테이지는 각각의 공간 세그먼트에 대한 인코딩된 데이터가 하나의 슬라이스, 즉 공간 세그먼트당 하나의 슬라이스를 포함하도록 각 공간 세그먼트를 인코딩하도록 구성될 수 있다. 또한, 송신기의 코딩 스테이지는 각각의 공간 세그먼트에 대해 인코딩된 데이터가 2개 이상의 슬라이스, 즉 공간 세그먼트당 2개 이상의 슬라이스를 포함하도록 각 공간 세그먼트를 인코딩하도록 구성될 수 있다. 또한, 송신기의 코딩 스테이지는 후속 공간 세그먼트들의 각각의 그룹에 대해 인코딩된 데이터가 하나의 슬라이스, 즉, 후속 공간 세그먼트들의 그룹(예를 들어, 2 개 또는 그 이상의 공간 세그먼트)당 하나의 슬라이스를 포함하도록 각 후속 공간 세그먼트들의 그룹을 인코딩하도록 구성될 수 있다. 또한, 송신기의 코딩 스테이지는 후속 공간 세그먼트들의 각각의 그룹에 대한 인코딩된 데이터가 2개 이상의 슬라이스들, 즉 후속 공간 세그먼트들의 그룹(예를 들어, 2 개 이상의 공간 세그먼트들), 당 2 개 이상의 슬라이스(예를 들어, 2 개 이상의 슬라이스들)를 포함하도록,예를 들어 공간 세그먼트 당 하나의 슬라이스, 공간 세그먼트 당 2 개 이상의 슬라이스 등을 포함하도록 각 후속 공간 세그먼트들의 그룹을 인코딩하도록 구성될 수 있다.
실시예에서, 송신기의 데이터 스트림 형성기는 슬라이스 헤더 없이 하나의 개별 서브스트림에서 각각의 슬라이스를 패킷화하도록 구성될 수 있다. 예를 들어, 송신기의 데이터 스트림 형성기는 별도의 서브스트림들에서 슬라이스들을 패킷화하기 전에 슬라이스들로부터 슬라이스 헤더들을 제거하도록 구성될 수 있다.
실시예에서, 데이터 스트림 형성기는 적절한 슬라이스 헤더 및 필요한 파라미터 셋을 포함하는 추가의 개별 스트림(또는 하나 이상의, 예를 들어 상이한 픽쳐 크기)을 제공하도록 구성될 수 있다. 예를 들어, 적절한 슬라이스 헤더는 새로운 픽쳐 크기를 참조하는 파라미터 셋을 포함할 수 있다.
실시예들에서, 송신기의 데이터 스트림 형성기는 고유한 서브스트림 식별자(identity)를 각각의 서브스트림에 할당하는 서브스트림 서술자를 생성하도록 구성될 수 있다.
예를 들어, 데이터 스트림 형성기는 별도의 서브스트림 및 서브스트림 서술자를 포함하는 별도의 서브스트림들의 그룹, 예를 들어 서브스트림 서술자를 포함하는 프로그램 맵 테이블을 제공하도록 구성될 수 있다(예를 들어, 프로그램 맵 테이블에서 서브스트림 서술자는 각 서브스트림에, 즉 서브스트림 당 하나의 서브스트림 서술자, 할당될 수 있음). 서브스트림 서술자는 고유한 SubstreamID에 기초하여 별도의 서브스트림의 그룹에서 별도의 서브스트림을 찾는 데 사용될 수 있다.
실시예들에서, 송신기의 데이터 스트림 형성기는 비디오 스트림의 비디오 픽쳐의 서브영역에 속하는 서브스트림 식별자들의 패턴들을 시그널링하거나, 또는 다시 말해, 서브영역으로의 비디오 스트림의 비디오 픽쳐의 적어도 하나의 공간적 세부분할에 대해 각 서브영역에 대한 서브스트림 아이덴티티들의 하나의 집합을 시그널링하는 서브영역 서술자를 생성하도록 구성될 수 있다.
예를 들어, 데이터 스트림 형성기는 별도의 서브스트림 및 서브영역 서술자, 예를 들어, 서브영역 서술자를 포함하는 프로그램 맵 테이블을 포함하는 별도의 서브스트림의 그룹을 제공하도록 구성될 수 있다. 서브영역 서술자는 어떤 서브스트림들이 비디오 스트림의 비디오 픽쳐의 유효한 서브영역(예를 들어, 연속적인 서브영역)을 함께 형성하는 공간 세그먼트 또는 후속하는 공간 세그먼트의 그룹을 코딩하는 인코딩된 데이터를 포함하는지 기술한다. 서브영역 서술자는 비디오 스트림의 비디오 픽쳐의 적당한 서브영역에 속하는 서브스트림들의 적절한 서브셋을 식별하는 데 사용될 수 있다.
실시예들에서, 송신기의 코딩 스테이지는 적어도 2 개의 상이한 공간 세그먼트들의 인코딩된 데이터 또는 후속하는 공간 세그먼트들의 상이한 그룹을 하나의 슬라이스로 결합하도록 구성될 수 있다. 송신기의 데이터 스트림 형성기는 슬라이스 부분들의 공간 세그먼트 경계에서 하나의 슬라이스 또는 하나의 슬라이스의 비트 스트림을 분할하고 하나의 서브스트림에서 각 슬라이스 부분을 패킷화하도록 구성될 수 있다.
실시예들에서, 적어도 2 개의 상이한 공간 세그먼트들 또는 후속하는 공간 세그먼트들의 상이한 그룹들은 비디오 픽쳐당 하나의 슬라이스에서 비디오 스트림으로 인코딩될 수 있다. 이에 따라, 데이터 스트림 형성기는 각각의 비디오 픽쳐에 대해, 개별 타일들 또는 타일들의 그룹을 인코딩하여 포함한 슬라이스의 일부를, 적어도 2개의 타일들 또는 타일들의 그룹들 중 적어도 하나에 대해 슬라이스의 슬라이스 헤더 없이, 별도의 서브스트림으로 패킷화하도록 구성될 수 있다.
예를 들어, 적어도 2 개의 상이한 공간 세그먼트들 또는 후속하는 공간 세그먼트들의 상이한 그룹은 코딩 스테이지에 의해 엔트로피 인코딩될 수 있다. 그에 따라, 코딩 스테이지는 적어도 2 개의 상이한 공간 세그먼트들 또는 후속하는 공간 세그먼트들의 상이한 그룹이 그 자체로 디코딩 가능하도록, 적어도 2 개의 상이한 공간 세그먼트들 또는 상이한 공간 세그먼트들의 상이한 그룹을 엔트로피 인코딩하도록 구성될 수 있다. 즉, 적어도 2 개의 상이한 공간 세그먼트들 또는 후속하는 공간 세그먼트들의 상이한 그룹과, 비디오 스트림의 이전의 비디오 픽쳐의 다른 적어도 2 개의 상이한 공간 세그먼트들 또는 후속하는 공간 세그먼트들의 상이한 그룹들 간에 코딩 정보가 공유되지 않는다. 환언하면, 코딩 스테이지는 상이한 공간 세그먼트들 또는 공간 세그먼트의 상이한 그룹들의 각각의 인코딩 이후에 상이한 공간 세그먼트 또는 상이한 공간 세그먼트 그룹들의 엔트로피 인코딩을 재초기화하도록 구성될 수 있다.
실시예에서, 송신기는 스트림 유형을 시그널링하도록 구성될 수 있다.
예를 들어, 제1 스트림 유형은 서브영역 서술자에서 발견된 정보에 따라 별도의 서브스트림들의 집합이 표준 부합 데이터 스트림을 초래한다는 것을 시그널링할 수 있다.
예를 들어, 제2 스트림 유형은 데이터 스트림의 표준 부합 버전을 획득하기 위해 서브영역 서술자에서 발견된 정보에 따라 별도의 서브스트림들의 통합(aggregation)이 수정되거나 추가로 처리될 필요가 있는 데이터 스트림을 초래한다는 것을 시그널링할 수 있다.
실시예들에서, 송신기의 데이터 스트림 형성기는 별도의 서브스트림을 포함하는 전송 스트림을 제공하도록 구성될 수 있다. 전송 스트림은 예를 들어, MPEG-2 전송 스트림일 수 있다.
실시예들에서, 서브스트림은 기본(elementary) 스트림일 수 있다. 다른 실시예에 따르면, 다수의 서브스트림은 하나의 기본 스트림에 의해 공통적으로 전달될 수 있다.
실시예에서, 비디오 스트림의 비디오 픽쳐의 공간 세그먼트는 타일일 수 있다. 예를 들어, 비디오 스트림의 비디오 픽쳐의 공간 세그먼트는 HEVC 타일일 수 있다.
실시예에서, 송신기의 코딩 스테이지는 표준 부합 코딩 스테이지일 수 있다. 예를 들어, 송신기의 코딩 스테이지는 HEVC(HEVC = high efficiency video coded) 표준 부합 코딩 스테이지일 수 있다.
실시예들에서, 스트림 다중화기는 2 개의 스트림 유형들 중 적어도 하나를 시그널링하도록 구성될 수 있다. 제1 스트림 유형은 비디오 스트림의 비디오 픽쳐의 서브영역들로의 적어도 하나의 공간적인 서브분할 중 하나에 대응하는 별도의 서브스트림의 적절한 서브세트의 조합이 표준 부합 데이터 스트림을 초래한다는 것을 시그널링할 수 있다. 제2 스트림 유형은 상기 비디오 스트림의 비디오 픽쳐의 서브영역들로의 적어도 하나의 공간적인 세부분할 하나에 대응하는 별도의 서브스트림의 적절한 서브셋의 조합이, 데이터 스트림의 표준 부합 버전을 획득하기 위해 추가 프로세싱(예를 들어, 헤더 정보가 추가되거나 수정되어야하거나 매개 변수 집합이 수정되어야하는 경우)을 필요로 하는 데이터 스트림을 초래한다는 것을 시그널링할 수 있다.
실시예들에서, 비디오 스트림의 비디오 픽쳐의 적어도 2개의 상이한 공간 세그먼트 또는 후속하는 공간 세그먼트의 상이한 그룹들은 인코딩된 데이터가 적어도 2개의 슬라이스를 포함하도록 인코딩된다. 그에 따라, 인코딩된 데이터는 코딩 제약조건이 충족되는지 여부를 나타내는 시그널링 정보를 포함할 수 있거나 또는 데이터 스트림 형성기가 코딩 제약조건이 충족되는지 여부를 결정하도록 구성된다. 코딩 제약조건은 코딩 순서에 대해 적어도 2 개의 슬라이스들의 제 1 슬라이스의 슬라이스 헤더를 유지하면서 적어도 2 개의 슬라이스들의 적어도 하나의 슬라이스 헤더를 제거하고 적어도 2 개의 슬라이스 또는 적절한 서브 세트를 연결(concatenating)하는 경우에 만족된다. 제 1 슬라이스 헤더를 사용하는 적어도 2개의 슬라이스들 중 적어도 하나의 슬라이스는 표준 부합 데이터 스트림을 유발한다. 스트림 다중화기는 코딩 제약조건에 따라(예를 들어, 코딩 제약조건이 충족되면 제1 스트림 유형을 시그널링하고 및/또는 그렇지 않으면 제2 스트림 유형을 시그널링하기 위해) 2 개의 스트림 유형 중 적어도 하나를 시그널링하도록 구성될 수 있다. 또한, 다중화기는 코딩 제약조건이 충족되더라도 제2 스트림 유형을 시그널링하도록 구성될 수 있지만, 표준 부합 데이터 스트림을 획득하기 위해 파라미터 세트들이 적응되어야 한다.
다른 실시예는 수신기를 제공한다. 수신기는 스트림 역다중화기 및 디코딩 스테이지를 포함한다. 스트림 역다중화기는 데이터 스트림 형성기 및 출력 인터페이스를 포함한다. 데이터 스트림 형성기는 비디오 스트림의 비디오 픽쳐의 상이한 공간 세그먼트 또는 상이한 공간 세그먼트의 상이한 그룹을 코딩하는 인코딩된 데이터를 포함하는 별도의 서브스트림의 그룹으로부터 적어도 2 개의 별도의 서브스트림을 선택적으로 추출하도록 구성되며, 데이터 스트림 형성기는 비디오 스트림의 비디오 픽쳐의 상이한 공간 세그먼트들 또는 후속하는 공간 세그먼트들의 상이한 그룹들을 코딩하는 인코딩된 데이터를 포함하는 데이터 스트림에 적어도 2개의 별도의 서브스트림들을 결합하도록 구성된다. 출력 인터페이스는 데이터 스트림을 제공하도록 구성된다. 디코딩 스테이지는 비디오 스트림의 비디오 픽쳐의 적어도 2 개의 상이한 공간 세그먼트를 획득하기 위해 데이터 스트림에 포함된 인코딩된 데이터를 디코딩하도록 구성된다.
실시예에서, 데이터 스트림을 디코딩하는 디코딩 스테이지는 비디오 스트림의 비디오 픽쳐의 서브영역만을 디코딩할 수 있으며, 서브영역은 데이터 스트림에 포함된 인코딩된 데이터에서 코딩된 공간 세그먼트 또는 공간 세그먼트들의 그룹에 의해 정의된다.
실시예들에서, 수신기는 예를 들어, 상술한 송신기로부터 별도의 서브스트림들의 그룹을 수신하도록 구성될 수 있으며, 별도의 서브스트림의 그룹은 별도의 서브스트림들을 포함한다. 별도의 서브스트림들 각각은 비디오 스트림의 비디오 픽쳐들이 구조화되는 복수의 공간 세그먼트들의 공간 세그먼트 또는 후속 공간 세그먼트들의 그룹을 코딩하는 인코딩된 데이터를 포함할 수 있다.
실시예에서, 수신기의 데이터 스트림 형성기는 별도 서브스트림의 그룹으로부터 별도의 서브스트림의 적절한 서브세트를 선택적으로 추출하도록 구성될 수 있으며, 별도 서브스트림의 적절한 서브세트는 비디오 스트림의 비디오 픽쳐의 공간 세그먼트 또는 후속하는 공간 세그먼트들의 의 적절한 서브세트를 코딩하는 인코딩된 데이터를 포함한다. 수신기의 데이터 스트림 형성기는 비디오 스트림의 비디오 픽쳐의 공간 세그먼트 또는 후속하는 공간 세그먼트들의 적절한 서브세트를 코딩하는 인코딩된 데이터를 포함하는 새로운 데이터 스트림에 별도의 서브스트림의 그룹으로부터 추출된 별개의 서브스트림들을 결합하도록 구성될 수 있다. 수신기의 디코딩 스테이지는 데이터 스트림에 포함된 인코딩된 데이터를 디코딩하여 비디오 스트림의 비디오 픽쳐의 공간 세그먼트 또는 후속하는 공간 세그먼트들 그룹의 적절한 서브세트를 얻을 수 있도록 구성될 수 있다.
예를 들어, 수신기의 데이터 스트림 형성기는 별도 서브스트림 그룹에 포함된 복수의 별도 서브스트림 중 일부만을 선택적으로 추출하고, 새로운 데이터 스트림으로 추출된 별도 서브스트림을 결합하도록 구성될 수 있다. 별도의 서브스트림의 그룹으로부터 추출된 별도의 서브스트림은 비디오 스트림의 비디오 픽쳐가 구조화되는 공간 세그먼트의 일부만을 포함하므로, 별도의 서브스트림의 그룹으로부터 추출된 별도의 서브스트림이 결합되는 새로운 데이터 스트림은 또한 인코딩된 비디오 스트림의 비디오 픽쳐가 구조화되는 공간 세그먼트의 일부분만을 코딩하는 인코딩된 데이터를 포함한다.
실시예들에서, 수신기의 디코딩 스테이지는 복수의 별도의 서브스트림들의 추출된 서브세트에 포함된 인코딩된 데이터만을 포함하는 데이터 스트림을 디코딩하여, 비디오 스트림의 비디오 픽쳐의 서브영역을 디코딩하고, 비디오 픽쳐의 서브영역은 비디오 픽쳐보다 작고, 서브영역은 복수의 별도의 기본 스트림들 중 추출된 서브세트에 포함된 인코딩된 데이터에서 코딩된 공간 세그먼트들에 의해 정의된다.
실시예들에서, 수신기의 데이터 스트림 형성기는 별도의 서브스트림의 그룹으로부터 비디오 스트림의 비디오 픽쳐의 서브영역에 속하는 서브스트림 식별자들의 서브영역 서술자 시그널링 패턴을 추출하도록 구성될 수 있으며, 데이터 스트림 형성기는 서브영역 서술자를 사용하여 별도의 서브스트림의 그룹으로부터 추출될 서브스트림의 서브세트를 선택하도록 구성될 수 있다.
예를 들어, 수신기의 데이터 스트림 형성기는 서브영역 서술자를 포함하는 프로그램 맵 테이블과 같은 서브영역 서술자의 개별 서브스트림 그룹으로부터 추출하도록 구성될 수 있다. 서브영역 서술자는 비디오 스트림의 비디오 픽쳐의 유효한 부분 영역(예를 들어, 연속적인 부분 영역)을 함께 형성하는 공간 세그먼트들 또는 후속하는 공간 세그먼트들의 그룹을 코딩하는 인코딩된 데이터를 포함하는 서브스트림들을 기술한다. 서브영역 서술자에 기초하여, 수신기의 데이터 스트림 형성기는 비디오 스트림의 비디오 픽쳐의 적절한 부분 영역에 속하는 추출을 위한 서브스트림의 적절한 서브 세트를 선택할 수 있다.
실시예들에서, 수신기의 데이터 스트림 형성기는 별도의 서브스트림들의 그룹으로부터 각각의 개별 서브스트림에 고유한 서브스트림 식별자를 할당하는 서브스트림 식별자를 추출하도록 구성될 수 있으며, 데이터 스트림 형성기는 서브스트림 서술자를 이용해 별도의 서브스트림들의 그룹으로부터 추출될 서브스트림들의 서브셋을 위치파악(localize)하도록 구성될 수 있다.
예를 들어, 수신기의 데이터 스트림 형성기는 별도의 서브스트림들의 그룹으로부터 서브스트림 서술자, 예를 들어 서브스트림 서술자를 포함하는 프로그램 맵 테이블을를 추출하도록 구성될 수 있다. 별개의 서브스트림들 각각에 대해 고유한 서브스트림 아이덴티티를 할당하는 서브스트림 서술자에 기초하여, 수신기의 데이터 스트림 형성기는 개별 서브스트림들의 그룹의 개별 서브스트림을 식별(예를 들어, 발견 또는 위치 파악)할 수 있다. 다른 실시예에 따르면, 적응 필드 내의 서술자는 특정 서브스트림에 속하는 패킷들을 식별하는데 사용된다.
일부 실시예에서, 수신기는 데이터 스트림 프로세서(127)를 포함할 수 있다. 데이터 스트림 프로세서는 데이터 스트림 형성기(121)에 의해 제공되는 데이터 스트림(126)이 표준을 따르지 않으면 즉, 디코딩 스테이지(124)에 의해 디코딩가능하지 않으면, 데이터 스트림(126)의 처리된 버전(126')(즉, 표준 부합 버전)을 획득하기 위해 데이터 스트림(126)을 추가로 처리하도록 구성될 수 있다. 추가 처리가가 요구되는 경우 스트림 유형으로 송신기(100)에 의해 시그널링 될 수 있다.
예를 들어, 제 1 스트림 유형은 서브영역 서술자에서 발견된 정보에 따라 별개의 서브스트림들의 집합이 표준 규격 데이터 스트림을 초래한다는 것을 신호할 수 있다. 따라서, 제 1 스트림 유형이 시그널링되면, 데이터 스트림(126)의 추가 프로세싱이 필요하지 않다. 즉, 데이터 스트림 프로세서(127)는 바이패스될 수 있고, 디코딩 스테이지(124)는 데이터 스트림 형성기(122)에 의해 제공된 데이터 스트림(126)을 직접 디코딩할 수 있다. 제2 스트림 유형은 데이터 스트림의 표준 부합 버전을 획득하기 위해, 부분 영역 서술자에서 발견된 정보에 따라 별개의 서브스트림들의 집합이 수정되거나 추가로 처리될 필요가 있는 데이터 스트림을 초래한다는 것을 신호할 수 있다. 따라서, 제 1 스트림 유형이 시그널링되면, 데이터 스트림(126)의 추가 처리가 요구된다. 즉, 이 경우, 데이터 스트림 프로세서(127)는 데이터 스트림(126)을 추가 처리하여 데이터 스트림(126)의 처리된 버전(126')(즉, 표준 부합 버전)을 획득할 수 있다.
실시예에서, 스트림 디멀티플렉서는 적어도 2개의 스트림 유형들 중에서 별도의 서브스트림의 그룹의 시그널링된 스트림 유형을 식별하도록 구성될 수 있다. 제1 스트림 유형은 비디오 스트림의 비디오 픽쳐의 서브영역들로의 적어도 하나의 공간 세부분할들 중 하나에 대응하는 별도의 서브스트림의 적절한 서브세트의 조합(combination)이 표준 부합 데이터 스트림을 초래한다는 것을 나타낼 수 있다. 제2 스트림 유형은 데이터 스트림의 표준 부합 버전을 획득하기 위해 서브영역 서술자에서 발견된 정보에 따라 별도의 서브스트림들의 적절한 서브세트의 조합이 수정되거나 추가로 처리될 필요가 있는 데이터 스트림을 초래한다는 것을 시그널링할 수 있다. 스트림 역다중화기는 데이터 스트림의 표준 부합 버전을 획득하기 위해 개별 서브스트림들의 그룹의 적어도 하나의 서브스트림에 포함된 프로세싱 정보를 사용하여 데이터 스트림을 추가 처리하도록 구성된 데이터 스트림 프로세서를 포함한다.
실시예에서, 별도의 서브스트림들의 그룹은 전송 스트림일 수 있다. 전송 스트림은 예를 들어, MPEG-2 전송 스트림일 수 있다.
실시예에서, 서브스트림들은 기본 스트림들일 수 있다.
실시예들에서, 비디오 스트림의 비디오 픽쳐의 공간 세그먼트는 타일일 수 있다. 예를 들어, 비디오 스트림의 비디오 픽쳐의 공간 세그먼트는 HEVC 타일일 수 있다.
실시예에서, 수신기의 데이터 스트림 형성기는 별개의 서브스트림의 그룹으로부터 추출된 별개의 서브스트림을 표준 부합 데이터 스트림에 결합하도록 구성될 수 있다. 데이터 스트림은 예를 들어 HEVC 표준 부합 데이터 스트림 일 수 있다.
실시예들에서, 수신기의 디코딩 스테이지는 표준 부합 디코딩 스테이지 일 수 있다. 예를 들어, 수신기의 디코딩 스테이지는 HEVC 표준 부합 디코딩 스테이지일 수 있다.
실시예들에서, 송신기의 인코딩 스테이지에 의해 제공된 인코딩된 데이터는 인코딩된 비디오 스트림을 형성한다.
실시예들에서, 인코딩된 비디오 스트림은 적어도 두 개의 슬라이스를 사용하여 비디오 스트림의 비디오 픽쳐의 적어도 두 개의 상이한 공간 세그먼트들 또는 후속하는 공간 세그먼트들의 상이한 그룹을 코딩하는 인코딩된 데이터를 포함한다. 상기 인코딩된 비디오 스트림은 코딩 제약조건이 충족되는지 여부를 나타내는 시그널링 정보를 포함하며, 상기 코딩 제약조건은 적어도 2 개의 슬라이스들의 제 1 슬라이스의 슬라이스 헤더를 유지하면서 상기 적어도 2 개의 슬라이스들의 적어도 하나의 슬라이스 헤더를 제거할 때 충족되며, 상기 제 1 슬라이스 헤더를 사용하여 상기 적어도 2 개의 슬라이스들 또는 상기 적어도 2 개의 슬라이스들의 적절한 서브세트를 연결하는 것은 표준 부합 데이터 스트림을 초래한다.
예를 들어, 시그널링 정보는 제 1 슬라이스의 슬라이스 헤더의 신택스 요소 값 및 비디오 픽쳐의 다른 모든 슬라이스가 제 1 슬라이스의 슬라이스 헤더를 제외한 모든 것을 제거하고 데이터 결과들을 연결하는 것이 준수 인코딩된 비디오 스트림을 유발한다는 선까지 유사하다는 것을 나타낼 수 있다.
실시예들에서, 시그널링 정보는 비디오 이용 가능성 정보 내의 또는 보충 강화 정보 내의 플래그의 형태로 인코딩된 비디오 데이터 스트림에 존재한다.
실시예들에서, 인코딩된 비디오 스트림(예를 들어, 코딩 스테이지에 의해 제공되는)은 비디오 픽처당 하나보다 많은 슬라이스(예를 들어, 공간 세그먼트 당 각각의 슬라이스 헤더를 갖는 하나의 슬라이스) 및 상이한 공간 세그먼트들이, 동일한 참조 구조들 또는 슬라이스 유형들을 사용하는 것과 같이, 즉 개별 슬라이스 헤더들의 신택스 구문들이 유사한(예를 들어, 슬라이스 유형), 인코딩 제약조건들을 만족시킴을 나타내는 시그널링 정보를 포함하여, 첫 번째 슬라이스 헤더만 필요하고 만일 이 단일 슬라이스 헤더가 하나 이상의 공간 세그먼트들에 대응하는 슬라이스 페이로드 데이터의 어떠한 양과 연결된다면, 적절한 파라미터 세트가 스트림에 부가되는 한(즉, 파라미터 세트가 예를 들어 변경되는 한), 결과적인 스트림은 규격화된 비디오 스트림이다. 즉, 시그널링 정보가 존재하면 첫 번째 슬라이스를 제외한 모든 슬라이스 헤더를 제거할 수 있고, 첫 번째 슬라이스와 슬라이스 헤더가 없는 다른 모든 슬라이스의 연결은 규격화된 인코딩된 비디오 스트림으로 연결된다. 상기 제약조건의 시그널링 정보는 HEVC의 경우 비디오 이용가능성 정보(Video Usability Information; VUI) 또는 보충 강화 정보(Supplemental Enhancement Information; SEI)의 플래그의 형태로 인코딩된 비디오 스트림에 존재할 수 있다.
본원의 제 2 측면에 따르면, 본 발명의 목적은 수신 측에서의 처리가 용이한 방식으로 원 영상의 세그먼트에 속하는 서브스트림 또는 부분 데이터 스트림을 송신하는 것을 허용하는 개념을 제공하는 것이다.
이러한 목적은 제 2 측면의 독립 청구항에 의해 해결된다.
제2 측면에 따르면, 수신 측에서의 처리가 보다 용이한 방식으로 원 영상의 세그먼트에만 속하는 서브스트림 또는 부분 데이터 스트림을 송신하는 것은, 제1 픽쳐를 인코딩하기 위해 파라미터화된 독립형(self-contained) 데이터 스트림을 형성하는 하나 이상의 NAL 유닛들의 제1 세트로서, 상기 제1 세트의 NAL 유닛들은 하나 이상의 NAL 유닛 유형들 중 제1 세트 중 선택되는, 하나 이상의 NAL 유닛들의 제1 세트에, 각각이 하나 이상의 기 설정된 NAL 유닛 유형들 중 제2 세트 중 하나이고, 상기 제1 세트와 떨어져 있고, 레거시 디코더에 의해 개별 NAL 유닛의 무시로 이끌도록 결정된, 하나 이상의 NAL 유닛들의 제2 세트를 부가함으로써 얻어진다. 그에 따라, 부분 데이터 스트림으로부터 특정 세그먼트를 재구성하는 데 있어서 레거시 디코더를 방해할 부분 데이터 스트림의 원래 버전의 부분들을 레거시 디코더에 대해 투명한 부분들을 렌더링함으로써 보존할 수 있지만, 이러한 원래 부들분에 관심 있는 프로세싱 장치는 그럼에도 불구하고 이것들을 도출할 수 있다.
본 발명의 실시예들에 따르면, 파노라마 비디오가 디코더가 디코드할 수 있는 해상도보다 높은 해상도를 포함하고 있음에도 불구하고, 디코더에 파노라마 비디오를 전송할 수 있다.
또한, 수신 측에서의 처리가 용이한 방식으로 원 영상의 세그먼트에 속하는 서브스트림 또는 부분 데이터 스트림을 송신할 수 있다.
도 1은 일 실시예에 따른 송신기의 개략적인 블록도이다.
도 2는 일 실시예에 따른 수신기의 개략적인 블록도이다.
도 3은 복수의 타일로 구성된 비디오 스트림의 비디오 픽쳐의 설명도 및 복수의 타일의 적절한 서브셋에 의해 정의된 비디오 픽쳐의 서브영역의 설명도이다.
도 4는 전송 스트림 역다중화기의 개략적인 블록도를 도시한다.
도 5는 복수의 타일들로 구성된 비디오 스트림의 비디오 픽쳐의 예시적인 도면 및 개별적인 기본 스트림들로서 전송될 때 부합하는(conformant) 비트 스트림을 형성하는 단일 타일 및 타일들의 조합들의 예시적인 도면이다.
도 6은 복수의 타일로 구성된 비디오 스트림의 비디오 픽쳐의 예시적인 도면 및 복수의 타일의 적절한 서브셋에 의해 정의된 비디오 픽쳐의 서브영역 및 서브영역의 타일들에 대한 오프셋 패턴의 예시적인 도면이다.
도 7은 일 실시예에 따른 스트림 다중화 방법의 흐름도이다.
도 8은 일 실시예에 따른, 스트림 역다중화를 방법의 흐름도이다.
도 9는 2 개의 프래그먼트들이 각 세그먼트에 대해 하나씩, 세그먼트-특정 부분 데이터 상에 다중화될 준비가 되도록 하는, 공간적으로 2 개의 세그먼트로 분할된 픽쳐 또는 비디오의 데이터 스트림으로의 코딩을 도시 한 개략도이다.
도 10은 독립적인 세그먼트-특정 데이터 스트림으로서 직접 프레그먼트들 중 하나를 잘라내는 것을 방해하는 상황을 예시하기 위해 일 실시예에 따라 도 9의 프래그먼트들의 NAL-유닛 구조를 도시한다.
도 11a 및 도 11b는 파라미터 세트 NAL 유닛 및/또는 슬라이스 NAL 유닛의 수정에 의해 도 10의 대응하는 프래그먼트로부터 유도된 독립형 세그먼트-특정 데이터 스트림을 도시한다.
도 12는 스트림 형성기의 개략적인 블록도 및 도 9의 데이터 스트림을 두 개의 부분 데이터 스트림, 즉 각 세그먼트에 하나씩 분배하는 그 동작 모드를 나타내는 도면으로서, 부분 데이터 스트림들 중 하나는 특정 NAL 유닛을 도 11a 및 11b에 도시된 변경된 부분 데이터 스트림에 추가/삽입함으로써 달성되는 독립적인 픽쳐로서 대응하는 세그먼트를 재구성하기 위한 레거시 디코더에 의해 처리될 준비가 되어 있는, 도면을 나타낸다.
도 13은 프로세싱 장치의 개략적인 블록도 및 레거시 디코더들에 투명하게 설정된 삽입된 특수 NAL 유닛들을 다시 사용하여 도 12의 부분 데이터 스트림들로부터 독립형 데이터 스트림(302')을 재구성하는 데 있어서의 동작 모드를 도시한다.
도 14는 도 12의 특수한 유형의 추가된 NAL 유닛, 즉 레거시 디코더들에 대해 숨겨진, 숨겨진 NAL 유닛을 운반하는 유닛의 예를 도시한다.
도 15는 도 12에 따라 부가된 제2 유형의 NAL 유닛의 메커니즘을 도시하는 개략도로서, 이들 NAL 유닛은 대응하는 데이터 스트림에서 후속 NAL 유닛을 무시하는 숨겨진 명령어를 형성하고, 이 숨겨진 명령어는 레거시에 의해 무시되는, 개략도이다.
도 16은 도 12와 유사한 방식으로 부분 데이터 스트림들 상에 데이터 스트림을 분배하는 스트림 형성기로서, 그 중 하나는 그로부터 대응하는 세그먼트를 독립형 픽쳐로 재구성하기 위해 레거시 디코더에 의해 처리될 수 있게 준비된 독립형 데이터 스트림으로 변환되는, 스트림 형성기가, 허용되지 않은 NAL 유닛 유형의 존재로 인해 레거시 디코더에 의해 무시된다고 가정된 삽입된 특정 NAL 유닛들에 의해 시그널링된 명령어들에 의해 명령된 대로 상기 부분 데이터 스트림들을 연결하는 것이 전체적인 픽쳐의 재구성을 위한 레거시 디코더에 의한 디코딩에 제공될 수 있는 레거시 부합 데이터 스트림을 유발하도록 하는 방식으로 추가적으로 부분 데이터 스트림들을 준비하는 시나리오를 개략도로서, 여기서, 후속하는 NAL 유닛의 일부를 무시하기 위해 숨겨진 명령어를 형성하는 NAL 유닛들이 사용되는, 개략도를 도시한다.
도 17은 도 16보다 상세하게, 도 16의 실시예에서 사용된 부분 스킵 NAL 유닛을 통해 시그널링된 수정 및 명령 메커니즘을 도시하는 개략도를 나타낸다.
동일하거나 등가인 기능을 가진 동일 또는 등가의 구성요소 또는 구성 요소들은 다음 설명에서 동일하거나 등가인 참조 번호로 표시된다.
이하의 설명에서, 본 발명의 실시예에 대한 보다 완전한 설명을 제공하기 위해 다수의 세부 사항이 설명된다. 그러나, 본 발명의 실시예가 이러한 특정 세부 사항 없이도 실시될 수 있음은 당업자에게 명백할 것이다. 다른 예들에서, 공지된 구조들 및 장치들은 본 발명의 모호한 실시예들을 피하기 위해 상세하게보다는 블록도 형태로 도시된다. 또한, 이하에 기술하는 상이한 실시예의 특징은 특별히 언급하지 않는 한, 서로 결합될 수 있다.
다음의 설명 및 대응하는 도면에서, 송신기 및 수신기, 코딩 스테이지 및 스트림 다중화기를 포함하는 송신기, 그리고 스트림 역다중화기 및 디코딩 스테이지를 포함하는 수신기가 예로서 설명되고 도시되어 있지만 이는 단지 설명을 위한 것이고, 본 발명의 실시예들은 각각 스트림 다중화기 및 스트림 역다중화기 각각에 관한 것이다. 즉, 본 발명의 실시예들을 실행할 때 코딩 스테이지 및 디코딩 스테이지는 생략될 수 있다.
도 1은 본 발명의 일 실시예에 따른 송신기(100)의 개략적인 블록도를 도시한다. 송신기(100)는 스트림 다중화기(103) 및 코딩 스테이지(104)를 포함한다. 코딩 스테이지(104)는, 적어도 2 개의 상이한 공간 세그먼트들(108) 또는 후속하는 공간 세그먼트들(108)의 상이한 그룹 각각에 대해 인코딩된 데이터(112)를 얻기 위해, 비디오 스트림(102)의 비디오 픽쳐(110)의 적어도 2 개의 상이한 공간 세그먼트들(108) 또는 후속하는 공간 세그먼트들(108)의 상이한 그룹을 인코딩하여 인코딩된 신호를 획득하도록 구성된다. 스트림 다중화기(103)는 수신 인터페이스(105) 및 데이터 스트림 형성기(106)를 포함한다. 수신 인터페이스(105)는 인코딩된 데이터로 인코딩된 비디오 스트림의 비디오 픽쳐의 후속하는 공간 세그먼트들의 상이한 그룹 또는 적어도 2 개의 상이한 공간 세그먼트 각각에 대한 인코딩된 데이터를 수신하도록 구성된다. 데이터 스트림 형성기(106)는 적어도 2 개의 상이한 공간 세그먼트들(108) 또는 후속하는 공간 세그먼트들(108)의 상이한 그룹 각각에 대해 인코딩된 데이터(112)를 개별 서브스트림들(114)으로 패킷화하고, 송신기 출력에서 개별 서브스트림들을 제공하도록 구성된다.
송신기(100)의 코딩 스테이지(104)는 공간 세그먼트들(108)로 비디오 스트림의 비디오 픽쳐들(110)을 구조화하도록 구성될 수 있다. 예를 들어, 코딩 스테이지(104)는 비디오 스트림의 비디오 픽쳐(110)를 N×M 공간 세그먼트들(108)로 구조화하도록 구성될 수 있다. N은 비디오 스트림(102)의 비디오 픽쳐(110)가 구조화되는 열의 개수를 나타내는 자연수일 수 있다. M은 비디오 스트림(102)의 비디오 픽쳐(110)가 구조화되는 라인의 개수를 나타내는 자연수일 수 있다. 따라서, N과 M 중 하나는 2 이상일 수 있고, 여기서 N과 M 중 다른 하나는 1이상일 수 있다.
도 1에서 예로서 도시된 바와 같이, 코딩 스테이지(104)는 비디오 스트림(102)의 비디오 픽쳐(110)를 4 개의 칼럼(N = 4) 및 3 개의 라인(M = 3)으로, 즉 12 개의 공간 세그먼트들(108)로 구조화하도록 구성될 수 있다.
송신기(100)의 코딩 스테이지(104)는 제1 공간 세그먼트(예를 들어, 공간 세그먼트(108_1,1)) 또는 제1 그룹의 연속하는 공간 세그먼트들(예를 들어, 공간 세그먼트들 108_1,1 및 108_1,2 )를 인코딩하여 제1 인코딩된 데이터(예컨대, 인코딩된 데이터 112_1))를 획득하고, 제2 공간 세그먼트(예를 들어, 공간 세그먼트(108_1,2) 또는 제2 그룹의 연속적인 공간 세그먼트들(예를 들어, 공간 세그먼트들 108_1,3 및 108_1, 4)를 인코딩하여 제2 인코딩된 데이터(예를 들어, 인코딩된 데이터 112_2)를 획득한다. 송신기의 데이터 스트림 형성기는 제1 인코딩된 데이터를 제1 서브스트림(예를 들어, 서브스트림 114_1) 또는 서브스트림들의 제1 그룹(예를 들어, 서브스트림들 114_1 및 114_2)으로 패킷화하고 제2 인코딩된 데이터(예를 들어, 인코딩된 데이터 112_2)를 제2 서브스트림(예를 들어, 제2 서브스트림114_2) 또는 서브스트림들의 제2 그룹으로 패킷화하도록 구성될 수 있다.
도 1의 예로서 도시된 바와 같이, 송신기(100)의 인코딩 스테이지(104)는 각각의 공간 세그먼트들(108)에 대한 인코딩된 데이터를 얻기 위해 각 공간 세그먼트들(108)를 별도로 인코딩하도록 구성될 수 있으며, 송신기(100)의 데이터 스트림 형성기(106)는 각각의 인코딩된 데이터(112)를 하나의 개별 서브스트림(114)으로, 즉 공간 세그먼트 당 하나의 인코딩된 데이터 및 인코딩된 데이터 당 하나의 서브스트림으로 패킷화하도록 구성될 수 있다. 하지만, 송신기(100)의 인코딩 스테이지(104)는 후속 공간 세그먼트들의 그룹들 각각에 대한 인코딩된 데이터, 즉 후속 공간 세그먼트들의 그룹(즉, 두 개 이상의 후속 공간 세그먼트들)당 하나의 인코딩된 데이터를 얻기 위해 후속 공간 세그먼트들의 그룹들을 별도로 인코딩하도록 구성될 수도 있다. 또한, 송신기(100)의 데이터 스트림 형성기(106)는 각각의 인코딩된 데이터(112)를 하나 이상의 별도의 서브스트림으로, 즉 인코딩된 데이터 당 별도의 서브스트림들의 한 세트(즉, 2 개 이상의 개별 서브스트림들)으로 패킷화하도록 구성될 수도 있다.
송신기(100)의 데이터 스트림 형성기(106)는 별도의 서브스트림들(114)을 포함하는 별도의 서브스트림들의 그룹(116)을(그 출력에서) 제공하도록 구성될 수 있다.
별도의 서브스트림 또는 별도의 서브스트림 그룹은 전송, 브로드캐스트 또는 멀티캐스트될 수 있다.
도 2는 일 실시예에 따른 수신기(120)의 개략적인 블록도를 도시한다. 수신기(120)는 스트림 역다중화기(121) 및 디코딩 스테이지를 포함한다. 스트림 역다중화기는 데이터 스트림 형성기(122) 및 출력 인터페이스(123)를 포함한다. 데이터 스트림 형성기(122)는 적어도 2 개의 별도의 서브스트림들(114)을 개별 서브스트림들의 그룹(116)으로부터 선택적으로 추출하도록 구성되며, 상기 적어도 2 개의 별도의 서브스트림들(114)은 비디오 스트림(102)의 비디오 픽쳐(110)의 다른 공간 세그먼트들(108) 또는 후속 공간 세그먼트들(108)의 상이한 그룹을 포함하며, 상기 데이터 스트림 형성기(122)는 상기 적어도 2 개의 개별 서브스트림들(114)을 비디오 스트림(102)의 비디오 픽쳐(110)의 다른 공간 세그먼트들(108) 또는 후속 공간 세그먼트들(108)의 상이한 그룹을 코딩하여 인코딩된 데이터를 포함하는 데이터 스트림(126)에 결합하도록 구성될 수 있다. 출력 인터페이스(123)는 데이터 스트림(126)을 제공하도록 구성된다. 디코딩 스테이지(124)는 비디오 스트림(102)의 비디오 픽쳐(110)의 적어도 두 개의 상이한 공간 세그먼트들(108) 또는 후속 공간 세그먼트들(108)의 상이한 그룹을 획득하기 위해 데이터 스트림(126)에 포함된 인코딩된 데이터를 디코딩하도록 구성된다.
데이터 스트림(126)을 디코딩함으로써, 디코딩 스테이지(124)은 비디오 스트림의 비디오 픽쳐의 서브영역(109)만을 디코딩할 수 있으며, 서브영역(109)은 데이터 스트림에 포함된 인코딩된 데이터에서 코딩된 공간 세그먼트 또는 공간 세그먼트의 그룹, 예를 들어, 108_1,1 및 108_1,2에 의해 정의된다.
개별 서브스트림들의 그룹(116)은 비디오 스트림의 비디오 픽쳐가 구조화되는 복수의 공간 세그먼트들 중 상이한 공간 세그먼트 또는 후속 공간 세그먼트들의 상이한 그룹을 코딩하는 개별 서브스트림 각각을 포함하는 복수의 개별 서브스트림들(114)을 포함할 수 있다. 예를 들어, 비디오 스트림의 비디오 픽쳐(110)는 N ×M 공간 세그먼트들(108)로 구조화될 수 있다. N은 비디오 스트림(102)의 비디오 픽쳐(110)가 구조화되는 다수의 칼럼을 기술하는 자연수일 수 있다. M은 비디오 스트림(102)의 비디오 픽쳐(110)가 구조화되는 다수의 라인을 나타내는 자연수일 수 있다. 따라서, N과 M 중 하나는 2보다 크거나 같을 수 있고, 여기서 N과 M 중 다른 하나는 1보다 크거나 같을 수 있다.
수신기(120)의 데이터 스트림 형성기(122)는 개별 서브스트림들의 그룹(116)으로부터 별도의 서브스트림들(예를 들어, 서브스트림들 114_1 및 114_2)의 적절한 서브셋을 선택적으로 추출하도록 구성될 수 있고, 별도의 서브스트림의 적절한 서브셋은 비디오 스트림(102)의 비디오 픽쳐(110)의 공간 세그먼트들(예를 들어, 공간 세그먼트들 108_1,1 및 108_1,2) 또는 후속하는 공간 세그먼트들(예를 들어, 제1 그룹의 후속하는 공간 세그먼트들 108_1,1 및 108_1,2, 및 제2 그룹의 후속하는 공간 세그먼트들 108_1,3 및 108_1,4)의 적절한 서브셋을 코딩하여 인코딩된 데이터를 포함한다. 수신기(120)의 데이터 스트림 형성기(122)는 개별 서브스트림들의 그룹(116)으로부터 추출된 별도의 서브스트림들(예를 들어, 서브스트림들 114_1 및 114_2)을, 비디오 스트림(102)의 비디오 픽쳐(110)의 공간 세그먼트들(예를 들어, 공간 세그먼트들 108_1,1 및 108_1,2) 또는 후속하는 공간 세그먼트들(서브셋(예를 들어, 제1 그룹의 후속하는 공간 세그먼트들 108_1,1 및 108_1,2, 및 제2 그룹의 후속하는 공간 세그먼트들 108_1,3 및 108_1,4)의 적절한 서브셋을 코딩하여 인코딩된 데이터에 결합하도록 구성될 수 있다.
수신기(120)의 디코딩 스테이지(124)는 데이터 스트림(126)에 포함된 인코딩된 데이터를 디코딩하여, 비디오 스트림(102)의 비디오 픽쳐(110)의 공간 세그먼트들(예를 들어, 공간 세그먼트 108_1,1 및 108_1,2) 또는 후속 공간 세그먼트들(즉, 후속 공간 세그먼트들의 제1 그룹(108_1,1 및 108_1,2) 및 후속 공간 세그먼트들의 제2 그룹(108_1,3 및 108_1, 4))의 적절한 서브셋, 즉 데이터 스트림(126)에 포함된 인코딩된 데이터 내에 코딩된 공간 세그먼트들 또는 공간 세그먼트들의 그룹에 의해 정의된 비디오 스트림의 비디오 픽쳐(110)의 서브 영역(109)을 획득한다.
도 2에 예로서 도시된 바와 같이, 도 1에 도시된 송신기(100)에 의해 제공된 개별 서브스트림들(116)의 그룹은 12 개의 개별 서브스트림들(114_1 내지 114_12)을 포함한다. 개별 서브스트림들(114_1 내지 114_12) 각각은 비디오 스트림(102)의 비디오 픽쳐(110)가 구조화되는 12 개의 공간 세그먼트들(108) 중 하나, 즉 인코딩된 데이터 당 하나의 공간 세그먼트 및 서브스트림 당 하나의 인코딩된 데이터를 포함하는 인코딩된 데이터를 포함한다. 데이터 스트림 형성기(122)는 12 개의 서브스트림들(114_1~114_12) 중 제1 개별 서브스트림(114_1)과 제2 개별 서브스트림(114_2)만을 추출하도록 구성될 수 있다. 제1 개별 서브스트림(114_1)은 비디오 스트림의 비디오 픽쳐(110)의 제1 공간 세그먼트(108_1,1)를 코딩한 인코딩된 데이터를 포함하며, 제2 개별 서브스트림(114_2)은 비디오 스트림의 비디오 픽쳐(110)의 제2 공간 세그먼트(108_1,2)를 코딩한 인코딩된 데이터를 포함한다. 또한, 데이터 스트림 형성기(122)는 제1 개별 서브스트림(114_1)과 제2 개별 서브스트림(114_2)을 결합하여, 비디오 스트림의 비디오 픽쳐의 제1 공간 세그먼트(108_1,1) 및 제2 공간 세그먼트(108_1, 2)를 코딩한 인코딩된 데이터를 포함하는 새로운 데이터 스트림을 획득한다. 따라서, 새로운 데이터 스트림(126)을 디코딩함으로써, 디코딩 스테이지는 비디오 스트림의 비디오 픽쳐의 제1 공간 세그먼트(108_1,1) 및 제2 공간 세그먼트(108_1,2), 즉, 데이터 스트림(126)에 포함된 인코딩된 데이터로 인코딩된 제1 공간 세그먼트(108_1,1) 및 제2 공간 세그먼트(108_1, 2)에 의해 정의된 비디오 스트림의 비디오 픽쳐(110)의 서브영역(109)을 획득한다.
일부 실시예들에서, 수신기(120)는 데이터 스트림 프로세서(127)를 포함할 수 있다. 데이터 스트림 프로세서는 데이터 스트림 형성기(121)에 의해 제공된 데이터 스트림(126)이 표준을 따르지 않으면 즉, 디코딩 스테이지(124)에 의해 디코딩 가능하지 않으면, 데이터 스트림(126)의 처리된 버전(126 ')(즉, 표준 부합 버전)을 획득하기 위해 추가 처리되도록 구성될 수 있다. 추가 처리가 요구되는 경우 스트림 유형으로 송신기(100)에 의해 시그널링될 수 있다. 제1 스트림 유형은 서브영역 서술자에서 발견된 정보에 따라 개별 서브스트림들의 통합이 표준 부합 데이터 스트림을 초래한다는 것을 신호 또는 표시할 수 있다. 따라서, 제1 스트림 유형이 시그널링되면, 데이터 스트림(126)의 추가 프로세싱이 필요하지 않다. 즉, 데이터 스트림 프로세서(127)는 바이 패스 될 수 있고, 디코딩 스테이지(124)는 데이터 스트림 형성기(122)에 의해 제공된 데이터 스트림(126)을 직접 디코딩할 수 있다. 제2 스트림 유형은 데이터 스트림의 표준 부합 버전을 획득하기 위해, 서브영역 서술자에서 발견된 정보에 따라 별도의 서브스트림들의 통합이 수정되거나 추가로 처리될 필요가 있는 데이터 스트림을 초래한다는 것을 신호 또는 표시할 수 있다. 따라서, 제2 스트림 유형이 시그널링되면, 데이터 스트림(126)의 추가 처리가 요구된다. 즉, 이 경우, 데이터 스트림 프로세서(127)는 데이터 스트림(126)을 추가 처리하여 데이터 스트림(126)의 처리된 버전(126')(즉, 표준 부합 버전)을 획득할 수 있다. 데이터 스트림 프로세서(127)는 예를 들어, 서브스트림들 그룹의 서브스트림들(114s 및 114p) 중 하나에 포함된 데이터 스트림(126)에 포함된 추가 정보를 사용하여 추가 처리를 수행할 수 있다. 서브스트림(114s)은 슬라이스 헤더 또는 슬라이스 헤더들을 포함할 수 있으며, 서브스트림(114p)은 파라미터 세트 또는 파라미터 세트들을 포함할 수 있다. 서브스트림 그룹이 서브스트림들 114s 및 114p을 포함하면, 데이터 스트림 형성기(122)는 또한 이들 서브스트림들을 추출할 수 있다.
환언하면, 데이터 스트림(126)은 스트림 유형을 통해 지시된 바와 같이 디코딩 스테이지(124)에 의해 정확하게 디코딩될 수 있는 표준 부합 데이터 스트림으로 형성되기 위해 추가 처리를 요구할 수 있다, 즉 추가적인 프로세싱이 요구되는 경우에 스트림 유형(예를 들어, 후술되는 제1 새로운 스트림 유형 및 제2 새로운 스트림 유형)에서 나타내어질 수 있다. 이 처리는 코딩 스테이지(104)에 의해 인코딩된 데이터(112)에 또는 데이터 스트림 형성기(106)에 의해 서브스트림(114) 중 하나에 삽입되고 이후에 데이터 스트림(126)에 포함되는 추가 정보의 사용을 포함한다. 부가 정보 데이터 스트림 프로세서(127)는 123에 의해 출력될 실제 서브셋(116), 즉 112와 다른, 예를 들어 픽쳐 크기에서 다른, 데이터 스트림, 즉 데이터 스트림(126)을 반영하기 위해 데이터 스트림(126)의 코딩 파라미터들(예를 들어, 파라미터 셋) 및 슬라이스 헤더를 구체적으로 조정한다.
이하의 설명에서, 코딩 스테이지는 HEVC 코딩 스테이지이고 디코딩 스테이지는 HEVC 디코딩 스테이지인 것으로 가정한다. 그러나, 이하의 설명은 각각 다른 코딩 스테이지 및 디코딩 스테이지에도 적용 가능하다.
또한, 이하의 설명에서, 개별 서브스트림들의 그룹은 전송 스트림(예를 들어, MPEG-2 전송 스트림)이고, 별도의 서브스트림들의 그룹의 개별 서브스트림은 기본 스트림들이다.
HEVC 비트 스트림은 픽쳐-내(in-picture) 예측 의존성(엔트로피 디코딩 의존성을 포함)을 깨는 "타일" 개념을 사용하여 생성될 수 있다. 이러한 각각의 타일에 대해 인코더에 의해 생성된 데이터는 별도로 처리될 수 있는데, 예를 들어 하나의 프로세서/코어에 의해 처리될 수 있다. 타일을 사용하면 전체 비디오가 N x M 타일의 직사각형 패턴으로 구성된다. 선택적으로, 각 타일은 다른 슬라이스에 포함될 수 있거나 많은 타일이 동일한 슬라이스에 포함될 수 있다. 인코더는 다른 타일 간에 정보가 공유되지 않도록 구성될 수 있다. 특정 유스 케이스의 경우, 큰 파노라마에서 가져온 더 작은 윈도우(일명 관심 영역(RoI))의 표현처럼 타일의 서브셋만 디코딩될 필요가 있다. 특히, HEVC 비트 스트림은 픽쳐의 타일들이 이전 픽쳐의 상이한 타일들로부터 예측되지 않도록 인터-예측이 제한되는 방식으로 인코딩될 수 있다.
여기서, 타일 또는 타일의 서브셋을 디코딩하는 것을 허용하는 비트 스트림의 일부를 서브스트림이라고 부른다. 서브스트림은 전체 파노라마 내의 타일의 원래 위치를 나타내는 슬라이스 헤더를 포함할 수 있다. 기존의 하드웨어 디코더를 사용하기 위해, 이러한 서브스트림은 디코딩 전에 타일 위치를 나타내는 데이터를 조정함으로써 HEVC 표준을 따르는 비트스트림으로 변환될 수 있다. 또한, 서브스트림을 새로운 비트 스트림(126 또는 126')으로 변환할 때, 슬라이스 헤더 내의 픽처 파라미터 셋(pps_id)에 대한 참조가 조정될 수 있다. 따라서, 시퀀스 파라미터 셋에 대한 간접 참조를 통해, 픽쳐 크기와 같은 파라미터들이 조정되어 HEVC 표준을 따르는 비트스트림을 유도할 수 있다.
만약 모든 타일에 대한 인코딩된 데이터를 포함하는 전체 비트스트림이 브로드캐스트 채널을 통해 수신기에 전송되면, 더 작은 RoI를 디코딩 할 수 있는 수신기는 전체 파노라마에 대응하는 많은 양의 데이터를 처리할 수 없을 수도 있다. 브로드캐스트용 전송 프로토콜에는 여러 가지가 있으며, MPEG-2 전송 스트림(TS)이 널리 사용되고 있다. MPEG-2 시스템 표준에서, TS는 다중화된 스트림 내의 상이한 ES의 식별을 위한 PID(패킷 식별자)를 운반하는 고정 길이를 갖는 패킷들의 시퀀스로서 특정된다. PID 0은 각 PMT의 PID를 표시하여 하나 이상의 PMT(프로그램 맵 테이블)를 가리키는 PAT(프로그램 연결 테이블)을 운반하는 데 사용된다. PMT 내에서 프로그램 맵 섹션(Program Map Section)은 프로그램에 속한 ES의 속성을 시그널링하는 데 사용된다. 그러나, 이러한 섹션들은 일반적으로 비디오 및 멀티 오디오 스트림 또는 자막 정보를 포함하는 모든 ES에 대한 설명을 위해 1021 바이트로 제한되므로, 서브스트림 및 서브영역 정보는 매우 컴팩트해야 한다.
MPEG-2 TS는 현재 전체 파노라마를 포함하는 ES(Elementary Stream)로 전송된 HEVC 인코딩된 비디오 비트 스트림에 대한 시그널링을 제공한다. 하지만, TS에 포함된 시그널링은 전체 비트 스트림을 디코딩하는 데 필요한 프로파일/계층(Tier)/레벨을 지시하고, 디코더의 성능이 그러한 높은 레벨을 갖는 비트스트림을 디코딩하는 데 충분하지 않은 경우, 이는 타겟 디스플레이 해상도가 전체 파노라마보다 훨씬 작아 수신기가 디코딩을 시작하지 않을 가능성이 상당하다.
실시예들에서, 비트스트림은 클라이언트가 RoI를 디코딩하는 데 필요한 서브셋을 선택할 수 있는 개별 ES들로 분할될 수 있다. 하나의 ES가 하나의 서브스트림보다 더 많이 운반하는, 적응 필드에서 서술자를 사용하는 다른 옵션은 나중에 설명된다. 어느 경우든, 서브스트림의 이러한 서브셋은 서브영역이라고 불린다. 이 경우, 현재의 MPEG-2 TS 표준은 서브영역이 어느 레벨에 부합하는지 디코더에 알리는 시그널링을 제공하지 않는다. 수신기는 특정 서브 영역을 디코딩하기 위해 어떤 ES들의 세트이 결합되어야 하는지 알 수 없다. 상이한 서브영역 크기들이 사용될 수 있는데, 즉, 서브영역들의 세트는 특정 개수의 행 및 열로 구성될 수 있는 반면, 다른 서브영역들의 셋은 상이한 개수의 행 및 열로 구성될 수 있다. 아래의 텍스트는 이들을 서로 다른 서브영역 레이아웃으로 지칭한다.
도 3은 복수의 타일(108)로 구성된 비디오 스트림의 비디오 픽쳐(110)의 설명도 및 복수의 타일(108)의 적절한 서브셋에 의해 정의되는 비디오 픽쳐(110)의 서브영역(109)의 설명을 도시한다. 복수의 타일들(108)로부터 적절한 서브셋이 취합되어 비디오 픽쳐의 서브영역(109)을 얻을 수 있다. 예로서, 도 3에 도시된 비디오 픽쳐(110)는 N = 6 개의 칼럼들 및 M = 5 개의 라인(또는 행)으로, 즉 N×M = 30 개의 타일로 구성된다. 각 타일(108)의 위치는 인덱스 h 및 v로 기술될 수 있으며, 여기서 h는 라인을 나타내고 v는 칼럼을 나타낸다. 30 개의 타일로부터 9 개의 타일을 모아서 비디오 픽쳐의 서브영역(109)을 형성할 수 있다.
실시예들에서, 스트리밍 송신기는 개별 ES들로서 TS(116)에 포함되는 서브스트림(114)을 생성할 수 있다. ES 내부에서, 각 코딩된 픽쳐는 PES(패킷화된 기본 스트림) 패킷으로 캡슐화될 수 있다. 서브스트림들을 생성하는 몇 가지 옵션이 있다.
예를 들어, 제1 옵션에 따르면, 송신기(100)는 서브스트림 당 하나의 슬라이스(즉, 하나의 타일(108) 또는 고정된 세트의 후속 타일들(108))를 생성하고 각 슬라이스의 슬라이스 데이터를 PES 패킷으로 패킷화하여, 서브스트림 당 개별 ES를 구성한다.
제2 옵션에 따르면, 송신기(100)는 서브스트림 당 하나의 슬라이스를 생성할 수 있고, 스트림 다중화기(103)는 각각의 슬라이스의 슬라이스 데이터를 PES 패킷으로 패킷화하기 전에 모든 슬라이스 헤더를 제거하여 서브스트림(114) 당 개별 ES를 형성할 수 있다. 송신기(100)는 추가의 별도의 서브스트림(114s), 즉 슬라이스 데이터와 결합될 때 표준 부합 HEVC 비트스트림을 유발하는 적절한 슬라이스 헤더를 제공하는 별도의 ES를 생성할 수 있다.
제 3 옵션에 따르면, 송신기(100)는 모든 타일을 포함하는 단지 하나의 슬라이스를 생성하고 타일 경계에서 비트스트림을 분할할 수 있다. 서브스트림을 구성하는 데이터 부분은 PES 패킷으로 패킷화되어 서브스트림 당 별도의 ES를 구축할 수 있다. 또한, 송신기(100)는 추가적인 별도의 서브스트림(114s), 예를 들어, 슬라이스 데이터와 결합될 때, 표준부합 HEVC 비트 스트림을 생성하는 적절한 슬라이스 헤더를 제공하는 별도의 ES를 생성할 수 있다.
제 4 옵션에 따르면, 송신기(100)는 서브스트림 당 하나의 슬라이스를 생성하고(예를 들어, VUI(video usability information) 내의 플래그의 형태 또는 SEI(supplemental enhancement information) 내에서) 제1 슬라이스를 제외하고 모든 슬라이스의 슬라이스 헤더의 제거를 허용하는 제약(constraint)을 나타내는 시그널링 정보를 제안할 수 있으며, 스트림 다중화기(103)는 이 시그널링 정보를 파싱하여 각 슬라이스의 슬라이스 데이터를 PES 패킷으로 패킷화하기 전에 모든 슬라이스 헤더를 벗겨내어, 서브스트림(114) 당 별도의 ES를 구성한다. 추가적으로, 송신기(100)는 슬라이스 데이터와 결합될 때, 표준부합 HEVC 비트스트림을 유발하는 적절한 슬라이스 헤더를 제공하는 별도의 ES와 같은 별도의 서브스트림(114s)을 생성할 수 있다.
제2 및 제 4 옵션에서, 스트림 다중화기(103)는 비디오 픽쳐(DTS(Decoding Time Stamp) 당) 당 단일 슬라이스 헤더를 추가 스트림(114s)에 추가할 수 있다. 즉, 추가 스트림 내 PES 패킷은 단일 슬라이스 헤더를 포함하는 제약이 있을 수 있어, 역다중화기는 비디오 픽쳐 경계를 검출할 필요없이 PES 패킷들을 용이하게 재배치할 수 있다.
제1 옵션에서, 송신기(100)는 또한, 슬라이스 데이터와 결합될 때 데이터 스트림 프로세서(127)에 의해 수행된 추출 프로세스를 실행하여 그 다음에 표준부합 비트스트림을 유발하는 파라미터 셋을 유도하기 위해, 신택스 구성 포함 파라미터 세트들 및 보충 정보 및 서브영역들과의 연관에 대한 정보와 같은, 하나 이상의 파라미터 셋들 또는 적절한 정보로 구성된 추가 데이터를 제공하는 별도의 서브스트림(114s), 예를 들어 별도의 ES를 생성할 수 있다.
제2, 제 3 및 제 4 옵션에서, 송신기(100)는 또한 동일한 개별 서브스트림(114s), 예를 들어, 별도의 ES에서 하나 이상의 추가 파라미터 세트를 포함하거나 이러한 파라미터 세트들(만)을 포함하는 추가적인 별도의 서브스트림(114p), 예를 들어 별도의 ES를 생성할 수 있다.
첫 번째의 경우, 역 호환가능한(상부 좌측) 타일(108_1,1) 및 함께 직사각형 영역을 형성하는 선택적인 후속 타일들로 구성된 서브스트림(114)은 HEVC 표준에서 특정된 HEVC용 HEVC 스트림 유형 및 레거시 서술자를 사용할 수 있다.
제1 새로운 스트림 유형은 ES가 서브스트림을 포함한다는 것을 신호할 수 있다. 이러한 제1 새로운 스트림 유형은 아래 설명된 대로 서브영역 서술자에서 발견되는 정보에 따라 ES들을 통합하면 표준부합 비트스트림이 유발됨을 시그널링한다.
또한, 제2 새로운 스트림 유형은 ES가 서브스트림을 포함함을 알릴 수 있다. 이 제2 새로운 스트림 유형은 아래에 설명된 바와 서브영역 서술자에서 발견되는 정보에 따라 ES들을 통합하면 디코딩되기 전에 아래에서 특정하는 프로세스에 의해 수정되어야 하는 비트스트림을 유발함을 시그널링한다.
이러한 정보는 아래 도 4의 설명으로부터 명백해지는 바와 같이, TS 역 다중화기(TS Demux)에서 적절한 서브스트림들의 세트로부터의 서브영역의 통합을 허용하기에 충분할 수 있다.
도 4는 일 실시예에 따른 전송 스트림 역다중화기(121)의 개략적인 블록도를 도시한다. 전송 스트림 역다중화기(121)는 3 개의 버퍼(140, 142 및 144)의 체인을 사용하여 각 기본 스트림(114)을 재구성하도록 구성될 수 있다. 각각의 체인에서, 제1 버퍼(140) "TB"(일명 전송 버퍼)는 그 PID가 특정 ES에 대해 PMT에서 발견된 값과 일치하는 경우 전송 패킷을 저장하도록 구성될 수 있다. 비디오 스트림들에 대해서만 존재하는 제2 버퍼(142) "MB"(일명 멀티플렉싱 버퍼)는 TS 패킷 헤더를 제거함으로써 후속 TS 패킷들의 페이로드를 취합하고, 그에 따라 PES 패킷을 생성하도록 구성될 수 있다. 제 3 버퍼(144) "SB"(서브스트림 버퍼)는 ES 데이터를 수집하도록 구성될 수 있다. 실시예에서, 제 3 버퍼(144)의 데이터는 소정의 서브스트림(114)에 속할 수 있고, 다수의 서브스트림 버퍼의 데이터가 모여서 서브영역의 인코딩된 표현을 형성할 수 있다. 어떤 ES 집합이 어떤 순서로 집계되어야 하는지가, 아래 명시된, 해당 프로그램의 PMT 내에 있는, 서술자들에서 전달되는 정보에 의해 시그널링된다.
상세히 설명하면, 다음에 설명된 서술자는 MPEG-2 시스템 표준에 명시된 서술자 세트를 확장하는 것이다. 서술자의 유형 및 길이는 헤더 바이트로 제공되며 다음 신택스 테이블(syntax tables)에는 표시되지 않는다.
이어서 서브스트림 시그널링이 설명된다.
서브스트림(즉, 타일 또는 고정된 세트의 후속 타일들)을 포함하는 각각의 ES에 대해, 새롭게 정의된 서브스트림 서술자는 그 서브스트림에 SubstreamID(서브스트림 아이덴티티)를 할당한다. 선택적으로, 서브영역을 형성하는 데 필요한 추가적인 SubstreamID 또는 서브영역 서술자에서 발견된 오프셋들의 어레이에 의해 이러한 추가 SubstreamID를 나타내는 패턴에 대한 인덱스를 포함한다.
서브스트림 서술자에는 아래 신택스(syntax No. 1)가 사용될 수 있다:
Figure 112022001771958-pat00001
서브스트림 서술자는 세 가지 버전으로 사용할 수 있으며 각각은 SubstreamID를 시그널링한다:
제1 버전에 따르면, 그 크기가 단지 1 바이트(선행하는 헤더 바이트는 제외됨)이면, PatternReference에 대해 0의 값을 신호한다(아래에 특정된 바와 같이 서브영역 서술자 내의 SubstreamOffset[k][0][i]를 참조).
제2 버전에 따르면 ReferenceFlag가 '1'로 설정된 경우, 이는 추가 SubstreamID들(인덱스 0 제외)을 계산하는 데 사용될 패턴의 인덱스를 지정한다.
제3 버전에 따르면, ReferenceFlag가 '0'으로 설정된 경우 추가 SubstreamID를 직접 지정한다.
SubstreamCountMinus1 값은 서브영역 서술자에서 찾을 수 있다.
도 5는 복수의 타일들(108)로 구조화된 비디오 스트림의 비디오 픽쳐(110)의 예시적인 도면 및 별도의 기본 스트림들로서 전송될 때 표준부합 비트 스트림을 형성하는 단일 타일 및 타일들의 조합의 예시적인 도면을 도시한다. 도 5에 도시된 바와 같이, 단일 타일 또는 후속(즉, 코딩 순서에 대해 후속) 고정 세트는 별도의 기본 스트림으로서 전송될 수 있으며, 여기서 i는 SubstreamID이다. 또한, 도 5에 도시된 바와 같이, 별도의 기본 스트림으로서 전송 될 때, 제1 타일은 표준부합 비트스트림을 형성할 수 있고, 전체 파노라마는 표준부합 비트스트림을 형성할 수 있고, 제1 및 제2 타일은 표준부합 비트스트림을 형성할 수 있고, 타일 1 내지 N은 표준부합 비트스트림을 형성할 수 있고, 타일 1 내지 2N은 표준부합 비트스트림을 형성할 수 있고, 타일 1 내지 Z=NxM 은 표준부합 비트스트림을 형성할 수 있다.
그에 따라, N은 SubstreamIDsPerLine 필드의 서브영역 서술자에서 시그널링될 수 있으며, Z는 TotalSubstreamIDs 필드의 서브영역 서술자에서 시그널링될 수 있다.
이어서, 서브영역 시그널링이 설명된다.
새롭게 정의된 하나의 서브영역 서술자는 전체 프로그램과 연관될 수 있다. 서브영역 서술자는 서브영역(109)에 속하는 SubstreamID들의 패턴을 시그널링할 수 있다. 서로 다른 개수의 서브스트림(114)들로 구성되며, 각 패턴에 대한 레벨을 나타내는 서로 다른 레이아웃들을 시그널링할 수 있다. LevelFullPanorama의 값은 전체 파노라마에 대한 레벨을 나타낼 수 있다.
다음 신택스가 서브영역 서술자에 사용될 수 있다:
Figure 112022001771958-pat00002
Figure 112022001771958-pat00003
이 신택스는, 아래의 방식으로, 서브스트림 마킹을 위한 두 가지 옵션 중 하나를 알리는 플래그 SubstreamMarkingFlag에 의해 확장될 수 있다.
a) 각각의 서브스트림은 개별적인 기본 스트림과 연관되고, 서브스트림은 전술한 바와 같이 PMT 내의 SubstreamDescriptors를 통한 맵핑에 의해 식별된다;
b) 멀티플 서브스트림들은 공통 기본 스트림으로 전송되고, 서브스트림들은 PES 패킷의 시작을 운반하는 전송 패킷의 적응 필드에서 발견되는 af_substream_descriptor를 통해 식별되며, 대안이 아래에서 보다 상세히 설명될 것임
아래 신택스가 서브영역 서술자에 사용될 수 있다:
Figure 112022001771958-pat00004
Figure 112022001771958-pat00005
따라서, N1은 전체 파노라마에서 선택될 수 있는 l로 인덱스된 서로 다른 서브영역 레이아웃의 개수일 수 있다. 그 값은 서술자 크기에 의해 암묵적으로 주어질 수 있다. PictureSizeHor[1]과 PictureSizeVert[l]는 픽셀 단위로 측정된 수평 및 수직 서브영역을 나타낼 수 있다.
도 6은 복수의 타일(108)로 구성된 비디오 스트림의 비디오 픽쳐(110)의 예시적 도면 및 복수의 타일(108)의 적절한 서브셋에 의해 정의된 비디오 픽쳐(110)의 서브영역(109) 및 서브영역의 타일들에 대한 오프셋 패턴의 예시적 도면을 나타낸다. 도 6에 도시된 비디오 픽쳐(110)는 N=6 개의 칼럼들 및 M=5 개의 라인들(또는 행)으로, 즉 NxM=30 개의 타일로 구성되며, 여기서 30 개의 타일로부터 9 개의 타일이 취합되어 비디오 픽쳐(110)의 서브영역(109)을 형성할 수 있다.
도 6에 도시된 예에서, 3x3 서브스트림들의 서브영역에 대한 오프셋 패턴이 아래 어레이에 의해 표시될 수 있다:
Figure 112022001771958-pat00006
유사하게, 2x2 서브스트림들의 서브영역에 대한 오프셋 패턴이 아래 아레이에 의해 표시된다.
Figure 112022001771958-pat00007
이어서, 서브영역 어셈블리가 설명된다.
서브영역에 액세스하는 프로세스 또는 방법은 레벨 표시 또는 서브영역 차원에 기초하여 서브영역 서술자로부터 적절한 서브영역 크기를, 수신기 측에서, 선택하는 제1 단계를 포함할 수 있다. 이 선택은 암시적으로 값 l을 생성한다.
또한, 서브영역에 액세스하는 프로세스 또는 방법은 SubstreamID(모든 서브스트림 서술자를 판독함)에 기초하여 디스플레이될 영역의 상부 좌측 서브스트림을 포함하는 ES를 선택하는 단계를 포함할 수 있다.
또한, 서브영역을 액세스하는 프로세스 또는 방법은 적용 가능한 서브스트림 서술자가 PatternReference를 제공하는지를 체크하는 단계를 포함할 수 있다. 해당 PatternReference를 사용하여, 적용가능한 SubstreamOffset 값을 선택한다:
SubstreamOffset[k][PatternReference][l]
with 0 < k < SubstreamCountMinus1[l]
또한, 서브영역에 액세스하는 프로세스 또는 방법은, PatternReference가 없으면 레퍼런스를 0의 인덱스로 디폴트 설정하는 단계를 포함할 수 있는데, 이는 서술자 크기가 1과 동일한 것을 의미한다.
서브영역의 좌측 상부 서브스트림을 형성하기에 적합하지 않은 ES가 있을 수 있는데, 이는 예를 들어, 이러한 ES가 파노라마의 오른쪽 또는 아래 가장자리에 있기 때문이다. 이것은 PatternCount[1]-1보다 큰 PatternReference 값에 의해 시그널링될 수 있으며, 이는 SubstreamOffset 값이 할당되지 않음을 의미한다.
또한, 서브영역에 액세스하는 프로세스 또는 방법은 명시된 조건이 충족되는 경우 SubstreamIDx와 동일한 SubstreamID를 나타내는 서브스트림 서술자로 ESx의 각 PES 패킷에 대해 다음 동작을 실행하는 단계를 포함할 수 있다.
- PreambleCount[1]>0 인 경우: PreambleSubstreamID[j][1]과 같은 SubstreamID를 나타내는 서브스트림 서술자를 사용하여 ES의 동일한 DTS를 PES 패킷 앞에 덧붙인다. 조합된 비트스트림 내의 PES 패킷들의 순서는 인덱스 j의 값을 증가시킴으로써 주어진다.
- SubstreamCountMinus1[1]> 0인 경우 : 디코딩 전에 SubstreamIDx+SubstreamOffset[k][j](SubstreamOffset 배열은 ESx의 서브스트림 서술자에 있는 PatternReference의 값에 의해 주어진 j와, 0에서 SubstreamCountMinus1[1] 사이의 범위에 있는 k를 갖는, 서브영역 서술자에서 발견됨) ESx의 서브스트림 서술자 각각에 주어진 AdditionalSubstreamID[1]과 동일한 SubstreamID를 나타내는 서브스트림 서술자를 갖는 ES들의 동일한 DTS를 PES 패킷에 덧붙인다. 조합된 비트 스트림 내의 PES 패킷의 순서는 인덱스 k의 증가하는 값에 또한 대응하는 SubstreamID의 증가하는 값들에 의해 주어진다.
도 7은 일 실시예에 따른 스트림 다중화 방법(200)의 흐름도를 도시한다. 방법(200)은 비디오 스트림의 비디오 픽쳐의 적어도 2 개의 상이한 공간 세그먼트 또는 후속하는 공간 세그먼트들의 상이한 그룹들 각각에 대해 인코딩된 데이터를 수신하는 단계(202)를 포함한다. 또한, 방법(200)은 적어도 2 개의 상이한 공간 세그먼트들 각각에 대해 인코딩된 데이터를 개별 서브스트림들로 패킷화하는 단계(204)를 포함한다.
도 8은 스트림 역다중화 방법(220)의 흐름도를 도시한다. 방법(220)은 별도의 서브스트림들의 그룹으로부터 비디오 스트림의 비디오 픽쳐의 상이한 공간 세그먼트들 또는 후속하는 공간 세그먼트들의 상이한 그룹들을 코딩하는 인코딩된 데이터를 포함하는 적어도 2 개의 개별 서브스트림을 선택적으로 추출하는 단계(222)를 포함한다. 또한, 이 방법은 상기 적어도 2 개의 개별 서브스트림을, 비디오 스트림의 비디오 픽쳐의 상이한 공간 세그먼트들 또는 후속 공간 세그먼트들의 상이한 그룹들을 코딩하는 인코딩된 데이터를 포함하는 데이터 스트림에 결합하는 단계(224)를 포함한다.
스트림 역다중화기(121)과 관련하여 상술된 바를 간략하게 요약하면, 상기 스트림 역다중화기(121)는 별개의 서브스트림들의 그룹(116)으로부터 적어도 2 개의 별도의 서브스트림들을 선택적으로 추출하도록 구성된 데이터 스트림 형성기(122)를 포함하며, 적어도 2 개의 별도의 서브스트림들은 픽쳐(110)의 상이한 공간 세그먼트들(108) 또는 후속하는 공간 세그먼트들(108)의 상이한 그룹들을 포함한다. 인코딩된 데이터는 비디오 스트림(102)으로부터 유래하거나 또는 비디오 스트림(102)이다. 이들은 스트림 다중화기(100)에서의 스트림 다중화로부터 얻어진 것이다. 데이터 스트림 형성기(122)는 상기 적어도 2 개의 별도의 서브스트림들(114)을, 상기 추출된 적어도 2 개의 별도의 서브스트림들의 비디오 스트림(102)의 비디오 픽쳐(110)의 상이한 공간 세그먼트들(108) 또는 후속 공간 세그먼트들(108)의 상이한 그룹들을 코딩하는 인코딩된 데이터를 포함하는 데이터 스트림(126)에 결합하도록 구성된다. 데이터 스트림(126)은 스트림 역다중화기(121)의 출력 인터페이스(123)에 제공된다.
상술한 바와 같이, 개별 서브스트림들의 그룹(116)은 TS 패킷으로 구성된 브로드캐스트 전송 스트림에 포함된다. 개별 서브스트림들의 그룹(116)은 비디오 스트림(102)의 다른 공간 세그먼트들(108) 또는 후속 공간 세그먼트들(108)의 상이한 그룹을 코딩하는 인코딩된 데이터를 포함하는 복수의 개별 서브스트림(114)을 포함한다. 위의 실시예에서 각 개별 서브스트림은 픽쳐 타일과 연관되다. 프로그램 맵 테이블 또한 개별 서브스트림들의 그룹(116)에 포함된다. 스트림 역다중화기(121)는 복수의 개별 서브스트림(114) 각각에 대해 프로그램 맵 테이블로부터 스트림 식별자를 도출하고, 위의 실시예들에서 SubstreamID 라 불리는 각각의 스트림 식별자를 사용하여 브로드캐스트 전송 스트림 내에서 복수의 개별적인 서브스트림(114) 각각을 구별하도록 구성될 수 있다. 예를 들어, 스트림 역다중화기(121)는 브로드캐스트 전송 스트림에서 패킷 식별자가 0 인 패킷들 내에서 전달된 프로그램 연관 테이블로부터 소정의 패킷 식별자를 도출하고, 상기 소정의 패킷 식별자를 갖는 브로드캐스트 전송 스트림의 패킷들로부터 프로그램 맵 테이블을 도출한다. 즉, PMT는 관심있는 프로그램, 즉 파노라마 컨텐츠에 대해 PAT에 표시된 소정의 패킷 ID와 동일한 패킷 ID를 갖는 TS 패킷들 내에서 전달될 수 있다. 상기 실시예들에 따르면, 각각의 서브스트림 104 또는 심지어 각각의 서브스트림 106은 개별적인 기본 스트림, 즉 공통의 다른 패킷 ID의 TS 패킷 내에 포함된다. 이 경우, 프로그램 맵 테이블은 각각의 스트림 식별자를 개별 패킷 식별자와 고유하게 연관시키고, 스트림 역다중화기(121)는 개별적인 별도 서브스트림의 스트림 식별자와 연관된 패킷 식별자를 갖는 브로드캐스트 전송 스트림의 패킷들로부터 복수의 별도의 서브스트림들(104) 각각을 패킷해제(depacketize)한다. 이 경우, 서브스트림(104)의 서브스트림 식별자 및 패킷 식별자는 PMT에서 사영(bijective) 매핑이 존재하는 한 유사동의어(quasi synonyms)이다. 아래에서는, 하나의 기본 스트림의 TS 패킷들의 패킷 헤더 내의 적응 필드를 통해 서브스트림들(104)의 NAL 유닛들을 태깅(tagging)하는 개념을 사용하여 서브스트림들(104)이 기본 스트림으로 다중화되는 대안이 설명된다. 특히, 서브스트림(104)의 하나 이상의 NAL 유닛을 포함하는 임의의 PES 패킷의 시작이 그 페이로드 섹션으로 떨어지는, 하나의 기본 스트림의 TS 패킷들의 패킷 헤더들은, 순차적으로 개별적인 하나 이상의 NAL 유닛이 속하는 서브스트림의 SubstreamID를 제공하는 적응(adaptation) 필드를 제공 받는다. 나중에, 이 적응 필드는 서브스트림 서술자와 관련된 정보를 또한 포함하는 것으로 나타내질 것이다. 스트림 역다중화기(121)는 이 대안에 따라, 프로그램 맵 테이블에 표시된 패킷 식별자를 갖는 브로드캐스트 전송 스트림의 패킷으로부터 NAL 유닛의 시퀀스를 패킷해제(depacketize)하고, 이 NAL 시퀀스의 각 NAL 유닛을 상기 프로그램 맵 테이블에 표시된 패킷 식별자를 갖는 브로드캐스트 전송 스트림의 패킷들의 적응 필드에 표시된 substream ID에 따라 상기 복수의 별도의 서브스트림들 중 하나와 연관시키도록 구성된다.
또한, 상술된 바와 같이, 스트림 역다중화기(121)는 비디오 및 비디오 픽쳐(110)의 세그먼트(108)로의 공간 세부분할에 관한 정보를 각각 프로그램 맵 테이블로부터 판독하고, 공간 세부분할의 세그먼트들의 스트림 식별자로의 매핑을 사용함으로써 본질적으로 공간 세부분할로부터 상속적으로 개별 서브스트림들(114)의 복수의 스트림 식별자를 도출하도록 구성될 수 있다. 도 5는 스트림 역다중화기(121)가 비디오의 세그먼트로의 공간 세부분할에 관한 정보를 프로그램 맵 테이블로부터 판독하고 복수의 별도의 서브스트림(114)의 스트림 식별자를 도출하여 복수의 개별 서브스트림들(114)의 스트림 식별자들이 래스터 스캔을 따라 공간 세부분할 내의 세그먼트를 순서화도록 하는 예를 도시한다. 도 5에 도시된 바와 같이 행-방식으로 동작하는 래스터 스캔 대신에, 세그먼트들과 스트림 식별자들 간의 연관을 위해 열-방식으로 동작하는 것과 같이 세그먼트들에 대한 임의의 다른 양호한 할당이 사용될 수 있으며 및/또는 패킷 ID들은 다른 방식으로 얻어질 수도 있다.
스트림 역다중화기(121)는 프로그램 맵 테이블로부터 또는 후술되는 바로 아래 언급된 대안에 따라, 개별 서브스트림 그룹(116)을 운반하는 패킷의 적응 필드를 판독하도록 구성될 수 있으며, 그 예가 위에서 제시된 바 있는 서브스트림 서술자들이 아래에서 설명될 것이다. 각각의 서브스트림 서술자는 하나의 개별 서브스트림과 연관된 SubstreamID를 통해 복수의 개별 서브스트림(104) 중 하나를 인덱스할 수 있고, 인덱스된 별도의 스트림과 함께 복수의 개별 서브스트림(104) 중 어떤 하나 이상의 개별 서브스트림(104)이 개별 서브스트림들의 그룹(116)으로부터 적어도 2개의 별도의 서브스트림들(114)로서 추출가능한 서브영역(109)의 코딩된 표현을 형성하는지에 대한 정보를 포함하며, 서브영역(109)은 인덱스된 개별 서브스트림과 함께 코딩된 표현(126)을 형성하는 하나 이상의 개별 서브스트림들의(116)의 공간 세그먼트들(108) 또는 후속 공간 세그먼트들(108)의 그룹들로 구성된다. 스트림 역다중화기(121)는 또한 상기 예에서 인덱스 l을 사용하여 인덱싱된, 비디오의 서브영역들(109)로의 하나 이상의 공간 세부분할을 나타내는 서브영역 서술자를 프로그램 맵 테이블 정보로부터 판독하도록 구성될 수 있다. 각각의 이러한 세부분할에 대해, 각각의 서브영역(109)은 하나 이상의 개별 서브스트림들(104)의 공간 세그먼트들(108) 또는 후속하는 공간 세그먼트들(108)의 그룹들의 세트이다. 비디오의 서브영역(109)으로의 공간적 세부분할마다, 서브영역 서술자는 파라미터들 PictureSizeHor[1] 및 PictureSizeVert[1]를 이용하는 것과 같이, 서브영역들(109)의 크기를 나타낼 수 있다. 또한, 코딩 레벨이 시그널링될 수 있다. 따라서, 개별 서브스트림들의 그룹(116)으로부터 선택적으로 추출된 적어도 2 개의 별도의 서브스트림들은 함께, 비디오의 하나 이상의 공간적 세부분할들 중 하나의 서브영역들 중 하나를 형성하는 상이한 공간 세그먼트들(108) 또는 후속 공간 세그먼트들(108)의 상이한 그룹들을 코딩하는 인코딩된 데이터를 포함할 수 있다.
하나 이상의 서브스트림 서술자들(상기 예에서는 ReferenceFlag = 1 인 것들)은 PatternReference와 같은 참조 인덱스의 형태로 별도의 서브스트림들의 그룹(116)으로부터 적어도 2개의 별개의 스트림들로서, 인덱스된 개별 서브스트림과 함께, 복수의 개별 서브스트림 중 하나 이상의 개별 서브스트림이 추출되어, PatternReference가 j=PatternReference로서 사용하여 포인트하고 l로 인덱스된 서브분할마다 하나의 이러한 리스트가 있는 리스트 SubstreamOffset[...][j][1]와 같은, 스트림 식별자 오프셋들의 세트들의 리스트로 되는, 정보를 포함할 수 있다. 각 스트림 식별자 오프셋 SubstreamOffset[k][j][1]은 인덱스된 개별 서브스트림의 스트림 식별자 SubstreamID 에 대한 오프셋, 즉 참조된 SubstreamID는 서브스트림 서술자가 속하는 서브스트림의 SubstreamID와 동일한 SubstreamID를 가지며, 플러스 SubstreamOffset[k][j][l]를 나타낸다.
대안적으로 또는 부가적으로, 하나 이상의 서브스트림 서술자들(상기 예에서, ReferenceFlag = 0)은, 스트림 식별자 오프셋들의 세트의 형태로, 즉, 서브스트림 서술자에서 명시적으로 시그널링된 오프셋을 통해, 별도의 서브스트림들의 그룹(116)으로부터의 적어도 2 개의 별도의 서브스트림들(114)로서, 예를 들어, 각각이 인덱스된 개별 서브스트림의 스트림 식별자에 대해 오프셋을 나타내는 AdditionalSubstreamID[i], 인덱스된 개별 서브스트림과 함께 복수의 개별 서브스트림 중 어떤 하나 이상의 개별 서브스트림이 추출될 것인지에 대한 정보를 포함할 수 있다.
그룹 106 내의 하나 이상의 서브스트림이 슬라이스 헤더 및/또는 파라미터 세트를 수정 또는 교체하기 위해 복수의 별도의 서브스트림(114) 중 어느 것으로부터 제거된 슬라이스 헤더 및/또는 파라미터 세트를 포함할 수 있다. 서브스트림(104)의 슬라이스 헤더 및/또는 파라미터 세트가 엑스트라 서브스트림(106)에 포함되어 있는지와 무관하게, 디코더(124)에 의한 디코딩을 위한 표준 부합 데이터 스트림(126')을 획득하기 위해 슬라이스 헤더들 및/또는 파라미터 세트들의 변경 또는 대체가 스트림 역다중화기(121)의 데이터 스트림 프로세서(127)에 의해 수행될 수 있다.
각 타일에 대해 개별적인 ES를 소비하는 방금 언급된 대안이 이제 더 상세히 설명된다. 잠재적으로 디코딩된 모든 ES에 대해 버퍼를 미리 할당하는 수신기에서 역다중화기 구조의 기존 구현에 의존하는 경우 새로운 대안이 유용할 수 있다. 따라서, 이러한 구현은 버퍼 요구 사항을 과대평가하여 위에 제시된 솔루션 실시예의 몇 가지 이점을 위태롭게 할 수 있다. 이러한 경우에, 동일한 ES 내에서 다수의 타일을 전송하고, 그 ES 내의 데이터 부분에 서브스트림 식별자를 할당하는 것이 유리할 수 있으며, 그에 따라 고급 역다중화기(121)가 기본 스트림 버퍼에 저장되기 전에 불필요한 데이터 부분을 ES로부터 제거할 수 있다. 이러한 경우, TS Demux(121)는 도 4에 도시된 바와 같이 3 개의 버퍼 체인을 사용하여 각 기본 스트림을 여전히 재구성한다. 각 체인에서, PID가 특정 ES에 대해 PMT에 있는 값과 일치하는 경우, 제1 버퍼 "TB"(전송 버퍼라고도 함)는 전송(TS) 패킷을 저장한다. 각 TS 패킷 헤더에 포함된 PID를 평가하는 것 외에도, 선택적으로 TS 패킷 헤더를 따르는 적응 필드를 분석한다.
ISO/IEC 13818-1의 적응 필드 신택스는 이하에 제시된다:
Figure 112022001771958-pat00008
Figure 112022001771958-pat00009
적응 필드에서 서브스트림 서술자의 전송을 위한 새로운 구문은 다음과 같다.
Figure 112022001771958-pat00010
새로운 태그는 서브스트림 서술자를 운반하는 af_substream_descriptor를 식별한다. 적응 필드 내에서, 신택스 1에 따른 Substream_descriptor는 TS 패킷 페이로드가 PES 패킷의 시작을 포함할 때마다 전송된다. 멀티플렉싱 버퍼 "MB"는 TS 패킷 헤더 및 적응 필드를 제거함으로써 동일한 PID를 갖는 후속 TS 패킷의 페이로드를 모아서 PES 패킷을 구성한다. Substream_descriptor가 서브영역을 디코딩하는 데 필요하지 않은 SubstreamID를 지시하면, 역다중화기(121)에 의해 전체 PES 패킷이 드롭되는 반면, 서브영역 버퍼와 일치하는 SubstreamID를 갖는 PES 패킷은 서브스트림 버퍼 "SB"에 저장된다.
Substream_descriptor를 사용하는 서브스트림 식별에 더하여, 상술한 바와 같이, 서브영역 서술자가 프로그램과 관련된 PMT에서 전송된다. Substream_descriptor의 선택적 정보는 위의 예에 따라 사용된다.
서술자에 제시된 SubstreamID의 값에 추가된 오프셋 값들의 세트를 나타내는 패턴이 시그널링될 수 있으며, 원하는 서브영역을 보완하는 추가적인 SubstreamID들을 유발한다.
대안적으로, 추가적인 SubstreamID들의 어레이가 서술자의 말단까지 확장하는 포-루프(for-loop)에 직접적으로 또는 명시적으로 나타내어질 수 있는데, 서술자의 길이는 Substream_descriptor 전에 적응 필드에 포함된 af_descr_length의 길이 값에 의해 표시된다.
추출된 비트 스트림(126) 전체는 데이터 스트림 프로세서(127)로 전달될 수 있으며, 데이터 스트림 프로세서(127)는 불필요한 데이터를 제거하고, 디코더의 코딩된 픽쳐 버퍼에 서브영역에 대한 표준 부합 비트스트림을 저장하기 위해 디코딩 스테이지(124)에 출력 비트스트림(126')을 포워딩하기 전에 그것을 추가 처리한다. 이 경우 Subregion_descriptor 구문의 일부 필드는 생략되거나 다음과 같은 축소 구문이 사용되어, 결과로 생성되는 수평 및 수직 서브영역 차원과 함께 서브영역을 디코딩하는 데 필요한 레벨을 나타낼 수 있다:
Figure 112022001771958-pat00011
N1은 전체 파노라마에서 선택할 수 있는 l로 색인화된 서로 다른 서브영역 레이아웃들의 개수이다. 그 값은 서술자 크기에 의해 암묵적으로 주어질 수 있다. 이 서술자가 PMT에 존재하면 모든 랜덤 액세스 포인트에 MCTS 추출 정보 세트 SEI 메시지가 존재해야 한다. Subregion_level_descriptor의 존재 또는 위의 구문 예에서 존재하는지 여부가 선택적인 SubstreamMarkingFlag의 값이, af_substream_descriptor가 서브스트림을 식별하는 데 사용됨을 나타낸다. 이 경우, 클라이언트는 SB의 버퍼 크기를 Level[1]에 의해 지시된 CPB 버퍼 크기로 조정할 수 있다.
본 출원의 다음의 설명은 스트림 멀티플렉싱, 스트림 디멀티플렉싱, 픽쳐 및/또는 비디오 코딩 및 디코딩의 태스크, 그리고 대응하는 데이터 스트림들에 대한 실시예에 관한 것이며, 태스크는 수신기 측에 브로드캐스트 전송 스트림으로부터 어떤 스트림 추출이 수행되는지와 관련하여 비디오의 픽쳐 영역 내의 서브영역을 선택하거나 변화시킬 기회를 제공하는 것과 꼭 관련될 필요는 없다. 그럼에도 불구하고, 아래에 기술된 실시예들은 상기 제시된 실시예들과 결합 가능하거나 또는 이들과 관련하여 사용될 수 있는 본 발명의 일 측면에 관한 것이다. 따라서, 후술하는 실시예의 설명의 끝에서, 후술하는 실시예가 어떻게 상술한 실시예를 구현하는 데 유리하게 사용될 수 있는지에 대한 개요가 뒤따른다.
특히, 이하에 설명되는 실시예는 도 9에 개략적으로 설명된 문제에 직면하려고 한다. 도 9는 픽쳐(300)을 도시한다. 이 픽쳐(300)은 데이터 스트림(302)으로 코딩된다. 그러나, 이 코딩은 픽쳐의 상이한 세그먼트(304)가 별도로 또는 서로 독립적으로, 즉 상이한 세그먼트들 간의 인터-코딩 의존성을 억제함으로써 코딩되는 방식으로 이루어졌다.
도 9는 또한 픽쳐의 세그먼트(304)가 데이터 스트림(302)로 순차적으로 코딩될 가능성, 즉 각각의 세그먼트(304)가 데이터 스트림(302)의 각각의 연속적인 프래그먼트(306)로 코딩될 가능성을 도시한다. 예를 들어, 픽쳐는, 세그먼트들(304)이 순차적으로 횡단되어 코딩 순서(308)에서 다음 세그먼트를 횡단하는 것으로 진행하기 전에 하나의 세그먼트를 완전히 횡단하는 방식으로 픽쳐(300)을 횡단하는 특정 코딩 순서(308)를 사용하여 데이터 스트림(302)으로 변환된다.
도 9에서, 단지 2 개의 세그먼트들(3041, 3042) 및 대응하는 2 개의 프래그먼트들(3061, 3062)이 도시되어 있지만, 세그먼트의 개수는 당연히 2보다 클 수 있다.
이전에 기술된 바와 같이, 픽쳐(300)는 비디오의 픽쳐일 수 있고 픽쳐(300)와 관련하여 바로 기술된 것과 동일한 방식으로 픽쳐(310)의 추가 픽쳐가 데이터 스트림(302)으로 코딩될 수 있고, 픽쳐(300)과 관련하여 설명된 것과 동일한 방식으로 세그먼트들(304)로 세부분할된 이러한 추가 픽쳐들 및 세그먼트 간 코딩 종속성의 억제는 또한 상이한 픽쳐들 간의 코딩 의존성과 관련하여 또한 준수되어, 픽쳐(300)의 세그먼트(3042)와 같은 각 세그먼트가, 대응하는, 즉, 병렬위치되는 다른 픽쳐의 해당 세그먼트, 하지만 다른 픽쳐의 다른 세그먼트는 아닌, 세그먼트에 의존하는 방식으로, 그 대응하는 프레그먼트(3062)로 코딩될 수 있다. 하나의 픽쳐에 속하는 프레그먼트들(306)은 액세스 유닛이라고 불리는 데이터 스트림(302)의 연속 부분(312)을 형성할 것이고, 이들은 비디오(310)의 다른 픽쳐에 속하는 프레그먼트들의 부분들과 인터리빙하지 않는다.
도 10은 데이터 스트림(302)으로의 픽쳐(300)의 코딩을 보다 상세하게 도시한다. 특히, 도 10은 픽처(300)가 코딩되는 데이터 스트림(302)의 대응 부분, 즉 프래그먼트들(3061 및 3062)의 연결로 구성된 액세스 유닛(312)을 도시한다. 도 10은 데이터 스트림이 직사각형(314)으로 도 10에 도시된 NAL 유닛들의 시퀀스로 구성될 수 있음을 도시한다. 상이한 유형의 NAL 유닛들이 존재할 수 있다. 예를 들어, 도 10의 NAL 유닛들(314)은 개별 NAL 유닛(314)이 그 일부인 프래그먼트(306)에 대응하는 세그먼트(304) 중 대응하는 슬라이스로 인코딩된다. 세그먼트(304) 당 이러한 슬라이스 NAL 유닛의 개수는 하나 이상을 포함하는 임의의 수일 수 있다. 두 개의 슬라이스의 서브영역은 앞서-언급된 코딩 순서(308)를 따른다. 게다가, 도 10은 해칭으로 표시된 블록들(314)을 이용해, 그 페이로드 섹션에 대응하는 세그먼트(304)의 대응하는 슬라이스로 인코딩된 인코딩된 슬라이스 데이터가 아닌 파라미터 세트(316)를 포함하는 NAL 유닛들을 도시한다. 파라미터 세트 316과 같은 파라미터 세트는 데이터 스트림으로의 픽쳐(300)의 코딩을 파라미터화하는 파라미터의 송신 량을 경감 또는 감소시키기 위한 것이다. 특히, 슬라이스 NAL 유닛(314)은 이러한 파라미터 세트(316)에서 파라미터를 채택하기 위해, 도 10에서 점선 화살표로 도시된 바와 같은 파라미터 세트(316)를 참조하거나 심지어 가리킬 수 있다. 즉, 예를 들어, 파라미터 세트 NAL 유닛에 포함된 파라미터 세트(316)를 가리키는 슬라이스 NAL 유닛 내에 하나 이상의 포인터가 있을 수 있다.
도 10에 도시된 바와 같이, 파라미터 세트 NAL 유닛은, 예를 들어 NAL 유닛 손실 등에 대한 데이터 스트림의 저항률을 증가시키기 위해, 슬라이스 NAL 유닛들 사이에 중복적으로 또는 반복적으로 산재될 수 있지만, 당연히, 프래그먼트들 3061 및 3062 의 슬라이스 NAL 유닛에 의해 참조되는 파라미터 세트(316)는 슬라이스 NAL 유닛 참조를 진행하는 적어도 하나의 파라미터 세트 NAL 유닛에 포함되어야 하며, 그에 따라 도 10은 액세스 유닛(312)의 NAL 유닛들의 시퀀스의 가장 왼쪽에 있는 이러한 파라미터 세트 NAL 유닛을 도시한다.
여기서, 이전에 그리고 이하에서 도 9 및 도 10과 관련하여 기술된 많은 세부 사항들이 디코더가 픽쳐(300) 또는 비디오(310)의 특정 세그먼트를 복원하도록 하기 위해, 비디오 스트림(302)의 단지 일부분을 디코더에 공급하려고 할 때 발생할 수 있는 문제를 설명하기 위해 제시된 것일 뿐이다. 이러한 세부 사항은 본 명세서에 설명된 실시예들의 기초를 이루는 생각들을 이해하는데 유용하지만, 이하에서 설명되는 실시예들이 이러한 세부 사항들로 제한되지 않아야 한다는 점에서 이러한 설명이 단지 예시적인 것임을 분명히 한다.
어느 경우이든, 상기 디코더가 이러한 프래그먼트(306)에 대응하는 세그먼트(304)를 성공적으로 디코딩하도록 하기 위해 프래그먼트들(306) 중 단 하나만을 디코더에 성공적으로 공급하는 것을 막을 수 있는 상황의 일례는 관련된 파라미터 셋(316) 내의 파라미터일 수 있다. 예를 들어, 이러한 파라미터는 픽쳐(300)의 크기를 명시적으로 나타낼 수 있고, 각 세그먼트(304)의 크기가 전체적으로 픽쳐(300)의 크기보다 작기 때문에, 특정 픽쳐(300)가 코딩된 복수의 프레그먼트(306)의 하나의 프레그먼트만을 수정없이 수신하는 디코더는 파라미터 셋(316) 내의 이러한 파라미터에 의해 손상될 수 있다. 어떤 수정도 없이 원래의 데이터 스트림(302)으로부터 막 절단된 특정 프레그먼트(304)는 심지어 어떠한 파라미터 세트 NAL 유닛도 없으며, 그에 따라 유효한 데이터 스트림의 필수 구성요소, 즉 파라미터 세트가 결여된다. 특히, 최소한 데이터 스트림(302)은 단지 액세스 유닛의 시작부에서, 또는 더 정확하게는, 파라미터 세트 NAL 유닛이 참조되는 슬라이스 NAL 유닛 이전에, 파라미터 세트 NAL 유닛을 필요로 한다. 따라서, 제1 프래그먼트(3061)가 파라미터 세트 NAL 유닛을 가질 필요가 있지만, 이것이 코딩 순서로 뒤따르는 모든 프레그먼트들(3062)에 해당하는 것은 아니다.
데이터 스트림(302)에서 프래그먼트(306)를 성공적으로 절단하는 것을 방해할 수 있는 상황에 대한 다른 예는 추가적으로 또는 대안적으로 존재할 수 있다. 한 가지 더 추가적인 예가 지금 논의될 것이다. 특히, 각각의 슬라이스 NAL 유닛은 각각의 슬라이스 NAL 유닛이 속하는 데이터 스트림이 위치하는 픽쳐 영역 내에 그 위치를 신호하는 슬라이스 어드레스를 포함할 수 있다. 이 파라미터는 아래에서 또한 설명된다.
상기 예시된 상황들이 고려된다면, 도 9의 데이터 스트림(302)은 아래에 의해서만 세그먼트들(304) 중 하나에 관한 데이터 스트림으로 바뀔 수 있다: 1) 데이터 스트림(302)으로부터 이러한 세그먼트에 대응하는 프래그먼트(306)를 절단하는 것 2) 파라미터 셋 NAL 유닛에서 운반된 파라미터 셋(316)에서의 상기 언급된 픽처-민감한 적어도 하나의 파라미터를 수정하거나 심지어 그러한 적응된 파라미터 셋 NAL 유닛을 새롭게 삽입하는 것, 및 3) 필요하다면, 절단된 프레그먼트의 슬라이스 NAL 유닛들에 저장된 슬라이스 어드레스를 수정하는 것, 여기서, 슬라이스 어드레스의 변경은, 예를 들어 슬라이스 어드레스가 전술한 코딩 순서(308)에 따라 측정되는 것과 같이, 관심 세그먼트(304)가 모든 세그먼트(304) 중에서 코딩 순서의 첫 번째 세그먼트가 아닐 때마다 필요하며, 따라서, 전체 픽쳐(300)에 관련된 슬라이스 어드레스 및 개별 슬라이스의 세그먼트에만 관련된 슬라이스 어드레스가 일치한다.
따라서, 도 11a는 도 10의 프래그먼트(3061)를 추출하고 수정하여 독립적인, 즉 정확하게 파라미터화된 섹션 데이터 스트림, 즉 제1 세그먼트(3041)만을 코딩하여 포함하는 데이터 스트림을 생성한 결과를 도시한다. 점선으로 나타내어진 바와 같이, 전체 데이터 스트림(312)의 프래그먼트(3061)로부터 데이터 스트림(320), 즉 프레그먼트(3061)로 코딩된 세그먼트가 위치하는 픽쳐(300)를 포함하는 액세스 유닛의 대응하는 부분으로의 변경은 단지 파라미터 세트 NAL 유닛에 영향을 미쳤다는 것을 보여준다. 도 11b는 세그먼트 3042에 대한 대응하는 추출 및 수정의 결과를 도시한다. 여기에서, 독립적인 섹션 데이터 스트림(320)은 픽쳐(300)에 존재하는 액세스 유닛으로서 데이터 스트림(302)의 프래그먼트(3062)를 포함하지만, 추가적인 수정이 이루어졌다. 예를 들어, 데이터 스트림(302)의 프래그먼트(3062) 내의 파라미터 셋 NAL 유닛은, 파라미터 셋(316)의 적어도 하나의 파라미터의 변경에 더하여, 독립적인 섹션 데이터 스트림(320)이 고려되는 한, 프래그먼트(3062)의 시작 부분으로 시프트되었고, 슬라이스 어드레스가 고려되는 한 슬라이스 NAL 유닛이 변경되었다. 그와 비교하여, 도 11a의 경우에 슬라이스 NAL 유닛들은 제1 세그먼트(3041) 인코딩 순서(308)가 고려되는 한 슬라이스 어드레스들이 일치하므로 변경되지 않은 채로 남았다.
도 11a 및 11b와 관련하여 도시된 방식으로 데이터 스트림(302)의 프래그먼트(306)를 수정하는 것은 정보 손실을 초래한다. 특히, 수정된 파라미터들 및/또는 슬라이스 어드레스들은 독립적인 데이터 스트림(320)의 수신기에 더 이상 보이지 않거나 알려지지 않는다. 따라서, 수신 디코더가 개별 독립적인 데이터 스트림(320)을 성공적으로 디코딩하는 것을 방해하지 않고 이러한 정보 손실이 회피될 수 있다면 바람직할 것이다.
도 12는 2개의 태스크를 달성할 수 있는 본 출원의 실시예에 따른 스트림 형성기를 도시한다: 먼저, 도 12의 스트림 형성기(322)는 인-바운드 데이터 스트림(302)을, 각각이 상응하는 세그먼트(304)와 관련되는, 복수의 부분 데이터 스트림으로 역다중화할 수 있다. 즉, 부분 데이터 스트림(324)의 개수는 세그먼트(304)의 개수에 상응하고, 프레그먼트들(306)에 대해서도 마찬가지인 것과 같이 상응하는 인덱스들이 이들 참조 번호들에 대해 사용된다. 부분 데이터 스트림들(324)은 예를 들어, 각 부분 데이터 스트림(324)에 대해 하나의 ES를 사용함으로써, 도 1 내지 도 8과 관련하여 전술한 개념들 중 하나에 따라 브로드캐스트될 수 있다.
스트림 형성기(322)는 데이터 스트림(302) 내의 프래그먼트들(306)을 대응하는 부분 데이터 스트림(324)에 분배한다. 두 번째로, 하지만, 스트림 형성기(322)는 부분 데이터 스트림들(324) 중 적어도 하나를, 개별적인 부분 데이터 스트림과 연관된 세그먼트(304)에 관하여 레거시 디코더에 의해 성공적으로 디코딩 가능하도록 정확하게 파라미터화된 독립적인 부분 데이터로 변환한다. 도 12에서, 이것이 제1 세그먼트에 대해, 즉 제1 부분 데이터 스트림 3241에 대해, 도시된다. 따라서, 스트림 형성기(322)는 프래그먼트(3061) 내의 NAL 유닛들(314)을 도 11a와 관련하여 상술한 변형예에 종속시켜, 데이터 스트림(302)의 프래그먼트(3061) 내의 NAL 유닛(314)으로부터 데이터 스트림(3241) 내의 NAL 유닛(314')을 얻는다. 모든 NAL 유닛이 수정되어야 하는 것은 아닐 수도 있다는 것을 유의한다. 세그먼트 3042와 같은 임의의 다른 세그먼트와 관련된 부분 데이터 스트림 3242과 관련하여 동일한 종류의 수정이 수행될 수 있었지만, 여기서는 더 이상 설명하지 않는다.
하지만 추가적인 태스크로서, 스트림 형성기(322)는 부분 데이터 스트림(3042)의 NAL 유닛들(314')에 특정 NAL 유닛 유형의 NAL 유닛들(326)을 추가한다. 후자의 새로 추가된 NAL 유닛들(326)은, NAL 유닛들(314 및 314')이 가지는 NAL 유닛 유형의 세트들과는 분리된 NAL 유닛 유형들의 세트로부터 선택된 NAL 유닛 유형의 유닛들이다. 특히, NAL 유닛들(314 및 314')의 NAL 유닛 유형들은 레거시(legacy) 디코더들에 의해 이해되고 처리되는 유형이지만, NAL 유닛들 326은 예를 들어, 향후 사용을 위해 예약된 유형들과 같이 레거시 디코더들에 의해 무시되거나 버려지는 것으로 간주되는 유형들이다. 따라서, NAL 유닛들(326)은 레거시 디코더에 의해 무시된다. 하지만, 이러한 NAL 유닛들(326)을 통해, 스트림 형성기(322)는 제2 유형의 디코더들, 즉 비-레거시 디코더들에게 NAL 유닛 314'에 대한 소정의 수정들을 수행할 것을 신호할 수 있다. 특히, 이하에서 더 논의되는 바와 같이, 도 12에 새겨져 있는 B를 갖는 유닛(326)과 같은 NAL 유닛들 중 하나는, 독립형 픽쳐로서 코딩 세그먼트에 대해 파라미터화된 파라미터 세트 NAL 유닛인 바로 다음 NAL 유닛(314')이 이러한 B NAL 유닛(326)과 함께 드롭되거나 무시되어야 함을 지시할 수 있다. 부가적으로 또는 대안적으로, 스트림 형성기(322)에 의해 새롭게 추가된 하나의 A NAL 유닛(326)은 페이로드 섹션의 데이터 스트림(302)의 픽쳐(300)와 연관된 원래의 파라미터 세트 NAL 유닛을 운반할 수 있고, 그 페이로드 섹션에서 운반된 NAL 유닛이 그 자신 자리에 또는 자신 대신에 삽입되어야 한다는 것을 비-레거시 디코더에 신호할 수 있다. 이러한 A NAL 유닛(326)은 예를 들어, 프래그먼트(3061) 내의 슬라이스 NAL 유닛들이 시작하기 전에 파라미터 세트(316)를 “업데이트"하기 위해 부분 데이터 스트림(3241) 내의 프래그먼트(3061)의 시작 부분에서 수정된 파라미터 세트 NAL 유닛(314')을 따르거나 후속하여, 후속적으로 A NAL 유닛(326)의 페이로드 섹션에 저장된 올바른 파라미터 셋 NAL 유닛에 따라 파라미터를 정확하게 설정함으로써 파라미터 세트(316)의 파라미터들을 설정하기 위해 비-레거시 디코더가 단지 예비적으로만 A NAL 유닛(326)에 선행하는 NAL 유닛(314)을 사용하도록 한다.
요약하면, 부분 데이터 스트림(3241)을 수신하는 레거시 디코더는 독립형 픽쳐로서 세그먼트(3041)로 인코딩된 독립형 데이터 스트림을 수신하고 이 레거시 디코더는 새로 추가된 NAL 유닛(326)에 의해 손상되지 않는다. 인바운드 데이터 스트림을 처리하기 위한 장치(340)를 도시하는 도 13에 도시된 바와 같은 부분 데이터 스트림 둘 다의 보다 정교한 수신은, 하나의 스텝으로 또는 부분 데이터 스트림(324) 중 다시 데이터 스트림(302)의 코딩 균등물을 형성하는 독립형 전체 데이터 스트림(302')을 재구성함으로써 그리고 이를 픽쳐(300)의 픽쳐 크기를 다룰 수 있는 레거시 디코더에 공급하여, 전체 비디오 또는 픽쳐를 재구성할 수 있다. 최소 작업은 삽입된 NAL 유닛들(326)에 의해 지시된 명령들을 따름으로써, 독립형 부분 데이터 스트림(3241)을 역방향 파라미터화된 부분 데이터 스트림(334)으로 변환하는 것일 수 있다. 또한, 단지 원래의 부분 데이터 스트림들(324)의 서브셋이 장치(340)에 의해 출력될 수 있고, 이러한 서브셋은 원래의 픽쳐(300)로부터 추출된 섹션과 관련된다. 장치들은 전체 픽쳐(300)와 다시 관련시키기 위해 부분 데이터 스트림(3241) 내의 NAL 유닛들(314’)의 슬라이스 어드레스들의 어떤 슬라이스 어드레스 역 적용을 수행할 수도 있고 수행하지 않을 수도 있다.
그럼에도 불구하고, 데이터 스트림(302)으로부터 부분 데이터 스트림(3241)을 추출하고 그것을 원래의 수정되지 않은 파라미터 데이터를 운반하는 레거시 디코더에 의해 디코딩 가능한 독립형 데이터 스트림으로 렌더링하는 스트림 형성기(322)의 능력은, 따라서, 다른 부분 데이터 스트림(들)(3242)의 유도 없이 유용할 수 있다. 데이터 스트림(302)으로부터 부분 데이터 스트림(3241)을 생성하는 것만이 본 출원의 실시예를 또한 형성하는 데이터 스트림 형성기의 작업이 될 것이다. 다시 말하지만, 모든 설명은 또한 다른 방식, 즉 부분 데이터 스트림 3242 만을 생성하는 경우에도 유효하다.
상술한 실시예들에서, 스트림 다중화기(103)는 하나 이상의 서브스트림(114)에 대해 도 12의 스트림 형성기(322)와 동일하게 동작할 수 있다. 도 12에서, 스트림 형성기(322)는 대안적으로 또는 추가적으로 부분 데이터 스트림(3242)과 같은 임의의 다른 부분 데이터 스트림에 대한 NAL 유닛들(326)의 추가 및 변형을 수행할 수 있다. 다시, 부분 데이터 스트림들의 개수는 2보다 클 수 있다. 수신기 측에서, 비-레거시 디코더 또는 스트림 역다중화기 121와 같은 스트림 역다중화기와 같은, 처리된 부분 데이터 스트림(3241)을 수신하는 어떤 스트림 형성기는 다른 태스크들 중에서, NAL 유닛들(326)에 의해 정의된 명령들을 따르는 태스크를 수행할 수 있고, 원래의 데이터 스트림(302)의 다른 프래그먼트들과 연결될 때 파라미터 셋(316)에 대해 적어도 정확한 부분 데이터 스트림을 초래한다. 단지 슬라이스 NAL 유닛들 내의 슬라이스 어드레스들이, 예를 들어 프래그먼트들(3241 및 3242)의 연결이 전체적로서 디코딩되어야 하는 경우, 수정되어야 할 수 있다.
부분 데이터 스트림(324)이 예를 들어, 개별적인 기본 스트림 내에서 전달될 수 있다는 것은 말할 필요도 없다. 즉, 이들은 전송 스트림 패킷들, 즉 부분 스트림들(324) 중 하나에 대한 하나의 패킷 ID의 패킷들 및 다른 부분 데이터 스트림(324)에 대한 또 다른 패킷 ID의 패킷들로 패킷화될 수 있다. 전송 스트림 내에서 부분 데이터 스트림(324)을 다중화하는 다른 방법들이 앞서 논의되었고 레거시-부합 부분 데이터 스트림의 전송과 관련하여 재사용될 수 있다.
아래에서는, 유형 B의 NAL 유닛(326)이 예시적으로 제시되며 생략(skipping) NAL 유닛들이라 불리고, 유형 A의 NAL 유닛들(326)이 숨겨진(hidden) NAL 유닛이라고 불리는 구문을 사용하여 도시된다.
따라서, 도 9 내지 도 12는 풀 파노라마의 전송을 위해 적어도 2 개의 ES가 사용되는 예시적인 경우에 관한 것이다. ES들 중 하나는 서브영역(3041)에 대한 인코딩된 비디오를 나타내는 3241과 같은 서브스트림이며, 이 서브스트림은 그 자체로 표준부합 스트림이며, 이들 서브스트림에 대한 레벨을 디코딩할 수 있으면 레거시 디코더에 의해 디코딩될 수 있다.
다른 ES에서 전송된 적어도 하나의 다른 서브스트림(3242)과의 조합은 추가적인 프로세싱을 위해 127과 같은 데이터 스트림 프로세서로 보내지며, 이는 상이한 서브영역에 대한 부합 비트스트림을 추출할 수 있다. 이 경우, 전체 파노라마에 대한 정보를 제공하는 파라미터 셋(316)과 같이, 그 적절한 기능을 위해 데이터 스트림 프로세서(127)의 입력에 필요한 일부 데이터 부분은 레거시 디코더가, 이러한 레거시 디바이스들에 의해 디코딩될 서브영역을 디코딩하는 것을 방지할 수 있다. 이 문제를 해결하기 위해 이러한 데이터 부분은 레거시 디코더에서 보이지 않게 처리되며 어드밴스드 장치는 이를 처리할 수 있다.
디코더는 비디오 비트스트림을, HEVC 인코딩의 경우 소위 "NAL 유닛"으로 표현되는 데이터 유닛들의 시퀀스로서 처리한다. NAL 유닛의 크기는 각 NAL 유닛의 시작을 나타내는 개시 코드에 의해 암시적으로 표시된다. 개시 코드 다음에 각 NAL 유닛은 NAL 유닛 유형에 대한 정보가 들어있는 헤더로 시작한다. 디코더가 NAL 유닛 헤더에 표시된 유형을 인식하지 못하면 디코더는 NAL 유닛을 무시한다. 일부 NAL 유닛 유형 값들은 예약되어 있으며, 예약된 유형을 나타내는 NAL 유닛은 모든 표준 부합 디코더에서 무시된다.
레거시 디코더에 대해 NAL 유닛이 보이지 않게 렌더링하기 위해, 원래의 NAL 유닛 유형 필드를 갖는 헤더는 예약된 값을 갖는 헤더에 의해 선행된다. 어드밴스드 프로세서는 이 유형 값을 인식하고 다른 프로세싱을 구현한다. 즉, 삽입이 되돌려지고 원래의 NAL 유닛이 처리된다. 2 개의 예약된 NAL 유닛 유형 값들은 2 개의 상이한 의사 NAL 유닛을 형성하는 데 사용된다. 제2 유형이 어드밴스드 프로세서와 마주치면 삽입이 되돌려진다. 제2 유형이 발생하면, 의사 NAL 유닛 및 그 바로 다음의 NAL 유닛은 비트스트림으로부터 제거된다.
Figure 112022001771958-pat00012
Figure 112022001771958-pat00013
Figure 112022001771958-pat00014
Figure 112022001771958-pat00015
Figure 112022001771958-pat00016
hiding_nal_unit_type은 ISO/IEC 23008-2에서 "unspecified"로 표시된 NAL 유닛 유형인 50으로 설정된다.
nuh_layer_id 및 nuh_temporal_id_plus1은 원본 NAL 유닛 헤더로부터 복사된다.
Figure 112022001771958-pat00017
skipping_nal_unit_type은 ISO/IEC 23008-2에서 "unspecified"로 표시된 NAL 유닛 유형인 51로 설정된다.
nuh_layer_id 및 nuh_temporal_id_plus1은 원본 NAL 유닛 헤더로부터 복사된다.
위에서 아래로의 천이에 의해 도 14에 도시된 숨기기(hiding) 프로세스에서, 싱글 NAL 유닛이 original_nal_unit와 함께 hiding_nal_unit_header로 형성된다. 결합된 NAL 유닛 앞에는 단지 하나의 개시 코드만 있다.
아래에서 위로의 천이에 의해 도 14에 도시된 숨기기 해제(unhiding) 프로세스는 개시 코드와 원래 NAL 유닛 사이에 있는 hiding_nal_unit_header를 제거한다.
어드밴스드 디코더가 원본 NAL 유닛을 생략(skip)할 수 있게 하는 프로세스에서는 skipping_nal_unit이 원본 NAL 유닛 전에 비트스트림 내에 삽입되어야 한다. 즉, 각각 개시 코드가 앞에 붙은, 두 개의 NAL 유닛들이 있다. 생략은 상부에서 하부로 전이함으로써도 15에 도시되어 있으며, 준비(삽입)는 하부에서 상부로 전이함으로써도 15에 도시되어 있다.
지금 설명된 유리한 대안에 따르면, 전체적으로 NAL 유닛들을 스킵하기보다는, 그 일부만 스킵하는 것이 삽입된 NAL 유닛들(326)에 의해 시그널링될 수 있다. 원칙적으로, 두 개의 옵션들이 있으며: 하나는 다음의 NAL 유닛이 완전히 생략되는 것이다. 이 명령은 위의 예에 따라서만 스킵 NAL 유닛(326)에 의해 시그널링되었다. 대안에 따르면, 후속 NAL 유닛의 일부만 생략된다. 후자는 다수의 기본 스트림들이 결합되고 NAL 유닛의 생략된 부분이, 부분적으로 스킵된 NAL 유닛을 포함하는 스트림에 선행하는 기본 스트림으로부터의 정보에 의해 대체되는 경우에 유용하다. 이에 대해서는 아래에서 자세히 설명한다. 앞서 제시된 구문 예제는 다음과 같은 방식으로 적용될 수 있다.
Figure 112022001771958-pat00018
여기서, bytes_to_skip은 다음 NAL 유닛의 생략될 바이트 개수를 나타낸다. 이 값이 0으로 설정되면 다음 NAL 유닛 전체가 생략된다.
이 대안이 도 16과 관련하여 보다 상세히 설명된다. 도 16은 스트림 형성기(322) 및 이 스트림 형성기(322)가 상술된 바와 같이, 즉 공간 세그먼트들에 대한 부분 데이터 스트림들의 추출을 가능하게 하는 방식으로 공간적 세그먼트들(3041 및 3042)로 세그먼트화된 픽쳐(300) 또는 픽쳐(300)를 갖는 비디오를 부호화한 데이터 스트림(302)을 수신하는 시나리오를 도시한다. 상술한 모든 실시예들에 있어서 사실인 바와 같이, 세그먼트들의 개수는 중요하지는 않고 심지어 증가될 수 있다.
도 16과 관련하여 논의된 변형을 이해하기 쉽게 하기 위해, 데이터 스트림(302)으로의 픽쳐(300)의 인코딩은 단지 하나의 슬라이스 NAL 유닛이 각 세그먼트(3041 및 3042)에 대해 스패닝된 방식으로 발생하고, 픽쳐(300)에 관련되고 프래그먼트들(3061 및 3062)로 이루어진 액세스 유닛은 처음에 단지 하나의 파라미터 셋 NAL 유닛(314)을 포함한다고 예비적으로 가정한다. 픽쳐(300)에 대한 데이터 스트림(300)의 3 개의 결과적인 NAL 유닛들은 #1, #2 및 #3으로 번호가 매겨져 있고, NAL 유닛 #1이 선두에 있고 파라미터 셋 NAL 유닛이다. 따라서, NAL 유닛 #2 및 #3와는 해칭에 의해 구분된다. NAL 유닛 #2 및 #3은 슬라이스 NAL 유닛들이다. NAL 유닛 #2는 세그먼트(3041)와 관련된 프래그먼트(3061) 내의 NAL 유닛(314)이고, NAL 유닛 #3은 공간 세그먼트(3042)와 관련된 프래그먼트(3062) 내의 NAL 유닛(314)이다. 이것이 프래그먼트(3062) 내의 유일한 NAL 유닛이다.
스트림 형성기(322)는 부분 데이터 스트림(3241)을, 도 12에서 논의된 경우와 같은 부분 데이터 스트림(3241)이 아닌 독립형 픽쳐 영역으로서 공간 세그먼트(3042)에 대해 레거시 디코더에 의해 디코딩 가능한 독립형 데이터 스트림으로 렌더링함으로써 데이터 스트림(302)을 2 개의 부분 데이터 스트림(3241 및 3242)으로 분할하고자 하는데, 전자는 공간 세그먼트 3041 에 관한 것이고 후자는 공간 세그먼트 3042 에 관한 것이다. 도 12의 설명으로부터 명확해지는 바와 같이, 스트림 형성기(322)는 프래그먼트(3062)를 독립형 데이터 스트림으로 변환하는 것과 관련된 두 가지 문제에 주의한다. 즉, 1) 프래그먼트(3062)는 아직 어떤 파라미터 셋 NAL 유닛도 가지지 않고, 2) 프래그먼트(3062)는 슬라이스 NAL 유닛을 포함한다; 즉, NAL 유닛 314 # 3, 그 슬라이스 헤더(400)가 잘못된 슬라이스 어드레스를 포함하는 것, 즉, 예를 들어, 저예산 레거시 디코더에 대한 부분 데이터 스트림(3242)의 독립형 픽쳐 영역을 나타내기 위한 공간 세그먼트(3042)에 상대적으로가 아니라, 픽쳐(300)의 상부 좌측 코너에 대해서와 같이, 픽쳐(300)의 전체 픽쳐 영역에 대한 세그먼트(3042)의 시작을 어드레싱하는 슬라이스 어드레스를 포함한다. 따라서, 스트림 형성기(322)는 부분 데이터 스트림(3242) 상으로 프레그먼트를 전송할 때 적절하게 설계된 파라미터 셋 NAL 유닛(314')을 프래그먼트(3062)에 추가한다. 스트림 형성기(322)는 프래그먼트(3062)의 슬라이스 NAL 유닛(314') 앞에 이 파라미터 셋 NAL 유닛, 즉 슬라이스 헤더에 대하여 데이터 스트림(302)에서 대응하는 슬라이스 NAL 유닛 314 #3과 다른 슬라이스 NAL 유닛 #3을 배치한다. 슬라이스 헤더에서의 차이를 설명하기 위해, 슬라이스 NAL 유닛 #3의 슬라이스 헤더는 비-해칭으로 도시되고, 데이터 스트림(302)에 포함된 버전에 대해 참조 부호(400)를 사용하여 지시되며, 부분 데이터 스트림(3242) 내에서 그 수정된 버전이 고려되는 한 크로스 해칭 및 참조 부호(402)를 사용한다. 더 나아가 그러나, 스트림 형성기(322)는 유형 B의 스킵 NAL 유닛(326)으로 파라미터 셋 NAL 유닛 314'을 선행하여, 파라미터 셋 NAL 유닛 314'가 부분 데이터 스트림 3242이 공급되는 프로세싱 장치 또는 데이터 스트림 형성기(340)에 의해 스킵될 것이다. 더 나아가 그러나, 스트림 형성기(322)는 슬라이스 NAL 유닛 314' #3에 유형 C의 슬라이스 NAL 유닛(326)을 선행시킨다. 즉, 유형 C의 이러한 부분 스킵 NAL 유닛(326)은 또한 레거시 디코더와 관련하여 허용되지 않는 NAL 유닛 유형이다. 그러나, 유형 C의 NAL 유닛(326)을 정확하게 해석하도록 설계된 데이터 스트림 형성기 또는 프로세싱 장치(340)는 후속 슬라이스 NAL 유닛(314')의 부분(402)이 절단되거나 무시되는 정도로 이러한 NAL 유닛에 의해 전달된 명령을 해석한다. 이 "손실" 헤더의 구성은 다음 설명에서 명확해질 것이다. 그러나, 먼저, 도 16은 저-예산 레거시 디코더(500)에 부분 데이터 스트림(3242)이 공급되는 경우에 일어날 일에 대해 도시한다. 특히, 이러한 저-예산 레거시 디코더(500)는, 유형 B 및 C의 NAL 유닛들이 허용되지 않는 NAL 유닛 유형이기 때문에, NAL 유닛(326)을 무시하거나 드롭하여, 도 11b와 관련하여 전술한 바와 같이 NAL 유닛들 314' 만이 남아, 형상 및 내용이 세그먼트 3042와 일치하는 픽쳐의 정확하고 독립적인 디코딩을 초래한다.
추가적으로, 그러나, 스트림 형성기(322)는 수정 없이 그 내에 적용되기 위해 스트림 형성기(322)에 의해 부분 데이터 스트림(3241)에 분배된 스트림 프래그먼트(3061)의 끝에서 슬라이스 NAL 유닛 #3의 슬라이스 헤더의 이전 버전(400)을 추가한다. 이것은 부분 데이터 스트림(3241)이 픽쳐(300)의 타임 스탬프에 관한 액세스 유닛으로서 "불완전한 프래그먼트"를 갖는다는 것을 의미한다; 즉, 대응하는 프래그먼트(3061) 내의 NAL 유닛들(314)의 정확한 카피, 후속 프래그먼트(3062)의 유일한 NAL 유닛의 불완전한 선두 부분이 뒤따른다; 즉, 그 이전의 슬라이스 헤더(400)이다. 그 중요성은 다음과 같다.
특히, 데이터 스트림 형성기(340)가 부분 데이터 스트림(3241 및 3242) 모두를 수신할 때, 데이터 스트림 형성기(340)는 독립형 데이터 스트림(3242)에 대해 특수 NAL 유닛(326)에 의해 지시된 동작을 수행한 다음 부분 데이터 스트림(3241 및 3242)을 연결한다. 그러나, 이러한 연결의 결과와 명령 성능은 픽쳐(300)의 시간 순간과 관련된 NAL 유닛들이 원래의 데이터 스트림(302)의 3 개의 NAL 유닛들(314)의 정확한 복사본인 데이터 스트림 302'이다. 따라서, 데이터 스트림 302'를 수신하는 하이엔드 레거시 디코더(502)는 그로부터 픽쳐에 포함된 공간 세그먼트들(3041 및 3042) 모두를 갖는 전체 픽쳐(300)을 디코딩한다.
도 16과 관련하여 논의된 NAL 유닛 유형 C(326)에 의해 야기된 코드 변경 명령은 도 17과 관련하여 더욱 상세하게 도시된다. 특히, 유형 C의 NAL 유닛들(326)은 후단의 NAL 유닛 314'로부터 잘라낼 부분을 표시하고; 즉, 부분 510은 이해를 용이하게하기 위해 도 16과 관련하여 전술한 바와 같이 NAL 유닛 헤더(402)가 절단되어야 할 것을 나타냄으로써와 같이 의미론적으로 절단되어어야 할 부분을 결정하는 것보다 개별적인 후속 NAL 유닛(314')의 시작으로부터 측정된 것과 같이, 각각의 부분 데이터 스트림(3242) 내에서 후속 NAL 유닛 314'로부터 절단되어야 할 부분을 나타내는 길이 표시를 사용하여 표시될 수 있다. 당연히, 어느 부분이 절단되어야 하는지에 대한 표시는 다른 방법으로 구현될 수 있다. 예를 들어, 유형 C의 NAL 유닛(326)에 표시된 길이 표시는 길이 지시에 의해 잘라내어질 부분, 즉 부분(510)을 나타낼 수 있으며, 유형 C의 NAL 유닛(326)에 대한 선행 NAL 유닛의 끝으로부터 측정될 표시되는 길이, 또는 임의의 다른 지시 처방(indication prescription)이 사용될 수 있다.
따라서, 도 9 내지 도 17에 대한 설명은 데이터 스트림, 즉 도 12의 3241 및 도 16의 3242 가 독립형인 것으로 나타내었다. 그것은 NAL 유닛들의 시퀀스로 구성된다. NAL 유닛들의 시퀀스는 제1 픽쳐를 인코딩하도록 파라미터화된 독립형 데이터 스트림을 형성하는 하나 이상의 NAL 유닛들(314')의 제1 세트를 포함하고, 상기 제1 세트의 NAL 유닛들(314')은 하나 이상의 NAL 유닛 유형들의 제1 세트 중 선택된다. 또한, NAL 유닛들의 시퀀스는, 각각이 제1 세트와 별도의 하나 이상의 미리 결정된 NAL 유닛 유형들의 제2 세트 중 하나인 하나 이상의 NAL 유닛들(326)의 제2 세트를 포함하며, 제2 세트는 제1 세트에 분리되어 있으며 레거시 디코더에 의해 각각의 NAL 유닛의 무시를 이끌도록 결정된다. 하나 이상의 NAL 유닛들(326)의 제2 세트는 NAL 유닛들의 시퀀스 내에 산재되거나 배열될 수 있어서, 제2 세트의 각 NAL 유닛(326)에 대해, 제1 세트의 바로 다음 NAL 유닛(330) 또는 그 일부(402)를 제2 세트의 각각의 NAL 유닛(326)과 함께 NAL 유닛들의 시퀀스로부터 폐기함으로써, 및/또는 제2 세트의 각각의 NAL 유닛(326)의 페이로드 섹션에 운반된 제1 NAL 유닛 유형들 중 하나의 NAL 유닛(332)을 제2 세트의 각각의 NAL 유닛을 대체하여 NAL 유닛들의 시퀀스 내로 삽입함으로써, NAL 유닛들의 시퀀스가 하나 이상의 NAL 유닛들의 제1 세트의 하나 이상에 포함된 슬라이스 어드레스들을 제외하고, 즉 제1 픽쳐인 소정의 하나 3041를 포함하는 복수의 공간 세그먼트들(3041, 2)로 구성된 픽쳐(300)를 인코딩하여 포함한 더 큰 독립형 데이터 스트림의 프래그먼트(3061)를 형성하는, NAL 유닛들의 변환된 시퀀스(334)로 변환된다. 프래그먼트(3061)는 NAL 유닛들(334)의 변환된 시퀀스를, 미리 결정된 공간 세그먼트가 아닌 픽처의 각각의 공간 세그먼트(3042)를 인코딩하여 포함한 하나 이상의 NAL 유닛들의 제1 세트의 하나 이상에 포함된 슬라이스 어드레스들을 제외하고, 하나 이상의 NAL 유닛 시퀀스와 연결될 때 픽쳐 내의 소정의 공간 세그먼트를 인코딩하기 위해, 파라미터화되는 하나 이상의 다른 NAL 유닛 시퀀스들(3242)과 연결하여 더 큰 독립형 데이터 스트림으로 수정될 수 있다. 도 16과 관련하여 도시된 바와 같이, 소정의 공간 세그먼트는 -코딩 순서(308)로- 제1 공간 세그먼트 이외의 것일 수 있다. 하나 이상의 NAL 유닛들(326)의 제2 세트는 제1 세트의 적어도 하나의 제2 NAL 유닛에 의해 참조되는 제1 파라미터 셋을 운반하는 페이로드 섹션을 포함하는 제1 세트의 제1 NAL 유닛(330)에 선행하는 제2 세트의 미리 결정된 NAL 유닛을 포함할 수 있는데, 소정의 NAL 유닛(326)은 제1 NAL 유닛(330) 또는 그 일부(402)가 소정 NAL 유닛과 함께 NAL 유닛들의 시퀀스로부터 폐기될 것이라는 것을 나타낸다. 하나 이상의 NAL 유닛들의 제2 세트는 제1 세트의 적어도 하나의 제2 NAL 유닛에 의해 참조되는 제1 파라미터 세트를 운반하는 페이로드 섹션을 포함하는 제1 세트의 제1 NAL 유닛에 후속하는 제2 세트의 미리 결정된 NAL 유닛(326)을 포함할 수 있으며, 소정의 NAL 유닛(326)은 제1 NAL 유닛 유형들 중 하나의 제3 NAL 유닛(332)을 운반하는 페이로드 섹션을 가지고, 제 3 NAL 유닛은 제 3 NAL 유닛(332)이 소정의 NAL 유닛(326)을 대체하여 NAL 유닛들의 시퀀스에 삽입될 때 제1 파라미터 셋을 대체하는 제2 파라미터 셋을 운반하는 페이로드 섹션을 포함한다. 유닛(332)은 소정의 NAL 유닛(326)을 대체하여된다. 하나 이상의 NAL 유닛(326)의 제2 세트의 소정의 하나가 후속 NAL 유닛(314')의 일부분(402)만의 제거를 지시하는 경우, 이것은 선택적으로 이 부분(402)의 길이를 나타낼 수 있다. 대체물, 즉 불완전 슬라이스 프래그먼트는 스트림 형성기에 의해 다른 프래그먼트(306)에 첨부될 수 있지만, 대안적으로 숨겨진 NAL 부분 대체를 운반하는 유닛은 부분적 스킵 NAL 유닛에 선행하여 사용 및 배치될 수 있다. 부분적으로 스킵된 후속 NAL 유닛은 스킵될 부분(402)에 의해 적어도 부분적으로 커버된 슬라이스 헤더를 포함하는 슬라이스 데이터를 운반하는 페이로드 섹션을 포함하는 슬라이스 NAL 유닛일 수 있고, 그 슬라이스 NAL 유닛의 대응 슬라이스를 인코딩하여 포함한 슬라이스 페이로드 데이터가 이어진다. 불완전 슬라이스 프래그먼트 및 폐기될 부분은 적어도 슬라이스 헤더의 슬라이스 어드레스를 포함하고, 불완전 슬라이스 프래그먼트에 포함된 슬라이스 어드레스는 픽처의 원주에 대해 정의되고, 폐기될 부분에 의해 포함된 슬라이스 어드레스는, 코딩 순서(308)가 시작되는 상부 좌측 코너에 대한 경우와 같이 미리 결정된 공간 세그먼트(3042)의 원주에 대해 정의된다.
제2 데이터 스트림(302)으로부터 제1 데이터 스트림(3241)을 생성하는 장치(322)는 도 12에서 설명되었다. 단지 하나 이상의 부분 데이터 스트림(3241)을 출력하는 경우에 스트림 분배기일 수 있다. 제2 데이터 스트림은 복수의 공간 세그먼트들(3041,2)로 구성된 픽쳐(300)을 인코딩하여 포함하고, 제2 데이터 스트림은 NAL 유닛들의 시퀀스로 구성되고, NAL 유닛들의 시퀀스는 소정의 공간 세그먼트(3041)를 인코딩하기 위해 파라미터화된 하나 이상의 NAL 유닛(314)의 제1 세트를 포함하고, 제1 세트의 NAL 유닛들은 하나 이상의 NAL 유닛 유형들의 제1 세트로부터 선택되며, 상기 장치(322)는 제1 데이터 스트림(3241)에 적용시키기 위해 제2 데이터 스트림(302)에서 하나 이상의 NAL 유닛들(314)의 제1 세트를 분리하고; 상기 미리 결정된 공간 세그먼트를 독립형 픽쳐로서 인코딩하도록 하나 이상의 NAL 유닛들의 제1 세트를 재-파라미터화하고; 하나 이상의 NAL 유닛들(326)의 제2 세트를, 제1 세트로부터 분리되고, 레거시 디코더에 의해 각각의 NAL 유닛(326)의 무시를 유도하도록 결정된 하나 이상의 미리 결정된 NAL 유닛 유형들의 제2 세트 중 하나인 제1 데이터 스트림에 삽입하도록 구성된다. 장치(322)는 하나 이상의 NAL 유닛들의 제1 세트에 대해 하나 이상의 NAL 유닛들의 제2 세트를 정렬하도록, 즉 제2 세트를 하나 이상의 NAL 유닛들의 제1 세트에 삽입하고 /하거나 앞에 붙이거나 및/또는 첨부하여, 제2 세트의 각각의 NAL 유닛이 제2 세트의 각각의 NAL 유닛과 함께 NAL 유닛들의 시퀀스로부터 제1 세트의 바로 다음 NAL 유닛(330)의 폐기를 규정하고 및/또는 제2 세트의 각 NAL 유닛의 페이로드 섹션에 운반된, 제1 NAL 유닛 유형들 중 하나의 숨겨진 NAL 유닛(332)을 제2 세트의 개별 NAL 유닛을 대체하여 NAL 유닛들의 시퀀스로 삽입하도록 규정한다. 바로 뒤따르는 NAL 유닛은 예를 들어, 파라미터 셋 NAL 유닛이고, 및/또는 숨겨진 NAL 유닛은 제2 데이터 스트림에 포함된 바와 같은 파라미터 셋 NAL 유닛이다.
3241 과 같은 데이터 스트림을 처리하기 위한 장치(340)가 도 13과 관련하여 기술되었다. 데이터 스트림(302') 대신에 픽쳐(300)과 같은 픽쳐 콘텐츠 또는 예를 들어, 단지 부분 데이터 스트림(3241)으로부터 유도된 프래그먼트(334)과 같은 하나 이상의 프래그먼트들의 세트를 출력하는 경우 디코더로 확장될 수 있다. 장치(340)는 NAL 유닛들의 시퀀스로 구성되는 데이터 스트림(3241)을 수신하고, NAL 유닛들의 시퀀스는 제1 픽쳐를 인코딩하도록 파라미터화된 독립형 데이터 스트림을 형성하는 하나 이상의 NAL 유닛들(314')의 제1 세트를 포함하며, 제1 세트의 NAL 유닛들은 하나 이상의 NAL 유닛 유형들의 제1 세트로부터 선택되고, 하나 이상의 NAL 유닛들(326)의 제2 세트는 제1 세트와 분리된, 하나 이상의 미리 결정된 NAL 유닛의 제2 세트 중 하나이며, 상기 하나 이상의 NAL 유닛들의 상기 제2 세트는 상기 NAL 유닛들의 시퀀스 내에 배치되거나 그 안에 산재되어 있다. 장치는 NAL 유닛 유형을 나타내는 각 NAL 유닛 내의 NAL 유닛 유형 신택스 엘리먼트를 검사함으로써 제2 유형의 각 NAL 유닛을 제1 유형의 하나 이상의 NAL 유닛 셋과 구별한다. 이 구문 요소가 값들의 제1 집합 내의 값을 가지면, 이것은 첫 번째 NAL 유닛 유형의 NAL 유닛으로 지정되며, 이 구문 요소가 값들의 제2 집합 내의 값을 가지면 제2 NAL 유닛 유형의 NAL 유닛으로 지정된다. 상이한 유형들의 NAL 유닛(326)(제2 유형)이 구별될 수 있다. 이것은 NAL 유닛 유형 신택스 요소에 의해, 즉 전술한 바와 같이 유형 A, B 및 C와 같은 상이한 NAL 유닛(326), 예약된 NAL 유닛 유형의 상이한 유닛들(NAL 유닛 유형 구문 요소의 제2 세트의 값들)에 의해 이루어질 수 있다. 그러나, 이들 간의 구분은 삽입된 NAL 유닛(326)의 페이로드 섹션 내의 구문 요소에 의해 또한 이루어질 수 있다. NAL 유닛 유형 구문 요소는 또한 슬라이스 NAL 유닛을 파라미터 셋 NAL 유닛과 구별한다. 즉, 이들은 값들의 제1 세트 내에서 상이한 값들의 NAL 유닛 유형 구문 요소들을 가진다. 제2 세트의 미리 결정된 NAL 유닛(326)에 대하여, 장치(340)는 제2 세트의 개별 NAL 유닛과 함께 NAL 유닛들의 시퀀스로부터 제1 세트의 바로 다음 NAL 유닛(330) 또는 그 부분(402)을 폐기한다. 하나의 NAL 유닛(326)에 대해, 장치(340)는 후속 NAL 유닛 슬라이스를 전체로서, 또 다른 부분(402)만에 대해 폐기할 수 있다. 그러나, 장치는 이들 옵션들 중 단지 어느 하나를 처리할 수도 있다. 부분(402)은 개별 NAL 유닛(326)의 페이로드 섹션에서의 길이 표시에 의해 지시될 수 있거나, 그렇지 않으면 파싱에 의한 것과 같이 340에 의해 결정될 수 있다. 부분(402)은 예를 들어, 후속 NAL 유닛의 슬라이스 헤더이다. 부가적으로 또는 대안적으로, 장치는 심지어 제2 세트의 다른 NAL 유닛(326)에 대해 NAL 유닛들의 시퀀스로부터 제1 세트의 바로 다음 NAL 유닛(330) 또는 그 부분(402)을 제2 세트의 각각의 NAL 유닛과 함께 폐기하고, 제2 세트의 각 NAL 유닛의 페이로드 섹션에 포함된 제1 NAL 유닛 유형 중 하나의 NAL 유닛(332)을 제2 세트의 각 NAL 유닛을 대체하는 NAL 유닛들의 시퀀스에 삽입할 수 있다. 부가적으로 또는 대안적으로, 장치는 심지어 제2 세트의 다른 미리 결정된 NAL 유닛(326)에 대해서도, 제2 세트의 각각의 NAL 유닛의 페이로드 섹션에 운반된 제1 NAL 유닛 유형들 중 하나의 NAL 유닛(332)을, 제2 세트의 개별 NAL 유닛을 대체하여 NAL 유닛들의 시퀀스로 삽입할 수 있다. 장치(340)는, 하나 이상의 NAL 유닛들의 제1 세트 중 하나 이상에 포함된 슬라이스 어드레스들을 잠재적으로 변경하는 것과 함께, 폐기 및/또는 삽입에 의해 얻어진 NAL 유닛들의 변환된 시퀀스를, 소정의 공간 세그먼트 이외의 더 큰 픽쳐의 각 공간 세그먼트를 인코딩하여 포함한 하나 이상의 다른 NAL 유닛 시퀀스들(3242)과 연결하도록 구성될 수 있다. 연결은 코딩 순서에 따라 NAL 유닛 시퀀스를 정렬하여 NAL 유닛 시퀀스 내의 슬라이스 NAL 유닛들의 슬라이스 어드레스들이 단조롭게 증가하도록 한다. 이러한 결합은 NAL 유닛들(326)에 의해 지시된 명령들의 수행과 함께, 데이터 스트림(302)과 동일하거나 그와 동등한 데이터 스트림(302')을 유발한다. 즉, 그 공간 세그먼트들 중 하나로서 미리 결정된 공간 섹션을 갖는 픽쳐(300)에서의 디코딩 결과이다. 임의의 독립형 부분 데이터 스트림이 레거시 디코더에 공급되는 경우, NAL 유닛(326)의 폐기로 인해, 대응하는 공간 세그먼트의 디코딩이 발생한다.
도 12 및 도 16과 관련하여, 거기에 도시된 스트림 형성기(322)는 2 개의 연속적인 엔티티들, 즉 하나의 공통 스트림으로부터 모든 부분 데이터 스트림들의 NAL 유닛들을 개별 부분 데이터 스트림으로 분배하는 태스크, 즉 역다중화 또는 스트림 분배의 태스크만을 수행하는 하나 및 이전의 것에 대해 업스트림으로 연결되고 전술한 나머지 태스크를 수행하는 다른 하나를 포함한다. 적어도 일부 작업은 원래의 NAL 유닛(314)을 생성하는 인코더에 의해 수행될 수 있다.
다양한 실시예들
본 발명의 일 실시예는 스트림 다중화기(103)로서, 인코딩된 비디오 스트림(102)의 비디오 픽쳐(110)의 적어도 2개의 상이한 공간 세그먼트들(108) 또는 후속 공간 세그먼트들(108)의 상이한 그룹들 각각에 대해 인코딩된 데이터를 수신하는 수신 인터페이스(105); 와 상기 적어도 2개의 상이한 공간 세그먼트들(108) 또는 후속 공간 세그먼트들(108)의 상이한 그룹들 각각에 대해 상기 인코딩된 데이터를 별도의 서브스트림(114)으로 패킷화하고, 상기 별도의 서브스트림(114)을 출력에 제공하도록 구성된 데이터 스트림 형성기(106)를 포함하는, 스트림 다중화기(103)를 제공한다.
이때, 상기 적어도 2개의 상이한 공간 세그먼트들(108) 또는 후속 공간 세그먼트들(108)의 상이한 그룹들은 인코딩되어, 개별적인 별도의 서브스트림(114)에 포함된 상기 적어도 2 개의 상이한 공간 세그먼트들(108) 또는 상기 후속 공간 세그먼트들(108)의 상이한 그룹들 각각에 대해 상기 인코딩된 데이터가 동일한 별도의 서브스트림에 포함된 인코딩된 데이터만을 참조할 수 있다.
상기 비디오 스트림(102)의 상기 비디오 픽쳐(110)의 상기 적어도 2개의 상이한 공간 세그먼트들(108) 또는 후속 공간 세그먼트들(108)의 상이한 그룹들은, 상기 인코딩된 데이터가 각 비디오 픽쳐(110)에 대해 적어도 하나의 슬라이스를 포함하도록 인코딩되고, 상기 데이터 스트림 형성기(106)는 각 공간 세그먼트(108) 또는 공간 세그먼트들(108)의 그룹에 대해 상기 슬라이스 또는 슬라이스들을 하나의 별도 서브스트림(114)으로 패킷화하도록 구성될 수 있다.
상기 데이터 스트림 형성기(106)는 슬라이스 헤더를 제거하여 적어도 하나의 공간 세그먼트들(108) 또는 후속 공간 세그먼트들(108)의 그룹들의 슬라이스들을 상기 별도의 서브스트림(114)으로 패킷화하고; 상기 데이터 스트림 형성기(106)는 그 픽쳐 위치 또는 픽쳐 크기와 관련하여, 상기 제거된 슬라이스 헤더에 대해 수정된 적절한 슬라이스 헤더들을 포함하는 추가적인 별도의 스트림을 제공하도록 구성될 수 있다.
상기 데이터 스트림 형성기(106)는 슬라이스 헤더를 제거하여 적어도 하나의 공간 세그먼트들(108) 또는 후속 공간 세그먼트들(108)의 그룹들의 슬라이스들을 상기 별도의 서브스트림(114)으로 패킷화하고; 상기 데이터 스트림 형성기(106)는, 상기 비디오 스트림(102)의 비디오 픽쳐들(110)의 서브영역들(109)로의 적어도 하나의 공간 세부분할 각각에 대한 파라미터 셋을 가지는 추가적인 별도의 스트림을 제공하도록 구성될 수 있다.
상기 적어도 2개의 상이한 공간 세그먼트들(108) 또는 후속 공간 세그먼트들(108)의 상이한 그룹들은 비디오 픽쳐마다 하나의 슬라이스에서 비디오 스트림으로 인코딩되고, 상기 데이터 스트림 형성기(106)는, 각각의 비디오 픽쳐(110)에 대하여, 상기 적어도 2개의 상이한 공간 세그먼트들(108) 또는 공간 세그먼트들(108) 그룹들 중 적어도 하나에 대해, 슬라이스의 슬라이스 헤더 없이, 상기 공간 세그먼트들(108) 또는 공간 세그먼트들(108)의 그룹들 중 개별적인 하나로 인코딩된 슬라이스의 일부를 별도의 서브스트림(114)으로 패킷화하도록 구성될 수 있다.
상기 데이터 스트림 형성기(106)는, 그 픽쳐 위치 또는 픽쳐 크기와 관련하여, 상기 슬라이스 헤더 또는 상기 제거된 슬라이스 헤더에 대해 수정된 상기 슬라이스 헤더의 수정된 버전을 포함하는 추가적인 별도의 스트림을 제공하도록 구성될 수 있다.
상기 데이터 스트림 형성기(106)는 상기 비디오 스트림(102)의 비디오 픽쳐(110)의 서브영역들(109)로의 적어도 하나의 공간 세부분할 각각에 대한 파라미터 셋을 갖는 추가적인 별도의 스트림을 제공하도록 구성될 수 있다.
상기 데이터 스트림 형성기(106)는 동일한 추가적인 별도의 서브스트림 내에 상기 파라미터 셋들 및 상기 슬라이스 헤더 또는 그 수정된 버전을 제공하도록 구성될 수 있다.
상기 데이터 스트림 형성기(106)는 서술자(descriptor) 내에 상기 추가적인 서브스트림의 존재를 시그널링하도록 구성될 수 있다.
상기 데이터 스트림 형성기(106)는 상기 별도의 서브스트림(114) 각각에 대해 고유한 서브스트림 아이덴티티를 할당하는 서브스트림 서술자를 생성하도록 구성될 수 있다.
상기 데이터 스트림 형성기(106)는 상기 비디오 스트림(102)의 상기 비디오 픽쳐(110)의 서브영역들(109)로의 적어도 하나의 공간적 세부분할 각각에 대해, 각 서브영역(109)에 대한 서브스트림 아이덴티티들의 하나의 셋을 시그널링하는 서브영역 서술자를 생성하도록 구성될 수 있다.
상기 스트림 다중화기(103)는 2 개의 스트림 유형들 중 적어도 하나를 시그널링하도록 구성되고; 제1 스트림 유형은 상기 비디오 스트림(102)의 비디오 픽쳐(110)의 서브영역들(109)로의 적어도 하나의 공간적인 세부분할들 중 하나에 대응하는 상기 별도의 서브스트림(114)의 적절한 서브셋의 조합이 표준 부합 데이터 스트림을 유발하는 것임을 시그널링하고, 제2 스트림 유형은 상기 비디오 스트림(102)의 비디오 픽쳐(110)의 서브영역들(109)로의 적어도 하나의 공간적인 세부분할들 중 하나에 대응하는 상기 별도의 서브스트림(114)의 적절한 서브셋의 조합이, 데이터 스트림의 표준 부합 버전을 획득하기 위해 추가 프로세싱을 필요로 하는 데이터 스트림을 초래한다는 것을 시그널링할 수 있다.
상기 비디오 스트림(102)의 상기 비디오 픽쳐(110)의 상기 적어도 2 개의 상이한 공간 세그먼트들(108) 또는 후속 공간 세그먼트들의 상이한 그룹들은 상기 인코딩된 데이터가 적어도 2 개의 슬라이스를 포함하도록 인코딩되고; 상기 인코딩된 데이터가 코딩 제약조건(constraint)이 충족되는지 여부를 나타내는 시그널링 정보를 포함하거나 또는 상기 데이터 스트림 형성기가 상기 코딩 제약조건이 충족되는지 여부를 결정하도록 구성되며, 코딩 순서에 대해 상기 적어도 2 개의 슬라이스들의 상기 제1 슬라이스의 슬라이스 헤더를 유지하면서 상기 적어도 2 개의 슬라이스들의 적어도 하나의 슬라이스 헤더를 제거하고 상기 제1 슬라이스 헤더를 사용하여 상기 적어도 2 개의 슬라이스들 또는 상기 적어도 2 개의 슬라이스들의 적절한 서브셋을 연결하는 것(concatenating)이 표준 부합 데이터 스트림을 유발할 때 상기 코딩 제약조건이 만족되며; 상기 스트림 다중화기는 상기 코딩 제약조건의 충족에 따라 상기 2 개의 스트림 유형들 중 적어도 하나를 시그널링하도록 구성될 수 있다.
본 발명의 일 실시예는 별도의 서브스트림들의 그룹(116)으로부터 적어도 2개의 별도의 서브스트림들(114)을 선택적으로 추출하도록 구성된 데이터 스트림 형성기로서, 상기 적어도 2개의 별도의 서브스트림들(114)은 비디오 스트림(102)의 비디오 픽쳐(110)의 상이한 공간 세그먼트들(108) 또는 후속 공간 세그먼트들(108)의 상이한 그룹들을 코딩하는 인코딩된 데이터를 포함하고, 상기 데이터 스트림 형성기(122)는 상기 적어도 2 개의 별도의 서브스트림들(114)을, 상기 비디오 스트림(102)의 비디오 픽쳐(110)의 상이한 공간 세그먼트들(108) 또는 후속 공간 세그먼트들(108)의 상이한 그룹들을 코딩하는 인코딩된 데이터를 포함하는 데이터 스트림(108)으로 결합하도록 구성된, 상기 데이터 스트림 형성기(122); 와 상기 데이터 스트림(126)을 제공하도록 구성된 출력 인터페이스(123)를 포함하는, 스트림 역다중화기(121)를 제공한다.
상기 별도의 서브스트림들의 그룹(116)은, 상기 비디오 스트림(102)의 비디오 픽쳐(110)의 상이한 공간 세그먼트들(108) 또는 후속 공간 세그먼트들(108)의 상이한 그룹들을 코딩하는 인코딩된 데이터를 포함하는 복수의 별도 서브스트림들(114)을 포함하고, 상기 데이터 스트림 형성기(122)는 상기 별도의 서브스트림들의 그룹(116)의 상기 복수의 별도 서브스트림들(114)의 서브셋을 선택적으로 추출하도록 구성될 수 있다.
상기 데이터 스트림 형성기(122)는, 상기 비디오 스트림의 상기 비디오 픽쳐(110)의 서브영역들(109)로의 적어도 하나의 공간적인 세부분할 각각에 대해, 상기 별도의 서브스트림 그룹(116)으로부터 각 서브영역(109)에 대한 서브스트림 아이덴티티들의 하나의 셋을 시그널링하는 서브영역 서술자를 추출하도록 구성되고, 상기 데이터 스트림 형성기(122)는 상기 서브영역 서술자를 사용하여 상기 인코딩된 비디오 스트림(116)으로부터 추출될 상기 서브스트림들(114)의 서브셋을 선택하도록 구성될 수 있다.
상기 데이터 스트림 형성기(122)는, 상기 별도의 서브스트림 그룹(116)으로부터 상기 별도의 서브스트림(114) 각각에 고유한 서브스트림 아이덴티티를 할당하는 서브스트림 서술자를 추출하도록 구성되며, 상기 데이터 스트림 형성기(122)는 상기 서브스트림 서술자를 이용하여 상기 별도의 서브스트림들의 그룹(116)으로부터 추출될 서브스트림들(114)의 서브셋을 위치파악(localize)하도록 구성될 수 있다.
상기 데이터 스트림 형성기(122)는 상기 적어도 2 개의 별도의 서브스트림(114)을 표준 부합 데이터 스트림(126)과 연결하도록 구성될 수 있다.
상기 데이터 스트림 형성기(122)는 상기 표준 부합 데이터 스트림(126)을 획득하기 위해, 상기 적어도 2 개의 별도 서브스트림들(114)의 헤더 정보를 수정하거나 상기 적어도 2 개의 별도 서브스트림들(114)에 헤더 정보를 추가하도록 구성될 수 있다.
상기 스트림 역다중화기(121)는 적어도 2 개의 스트림 유형들 중 적어도 하나를 식별하도록 구성되고; 제1 스트림 유형은 상기 비디오 스트림(102)의 비디오 픽쳐(110)의 서브영역들(109)로의 적어도 하나의 공간적인 세부분할 중 하나에 대응하는 상기 별도의 서브스트림(114)의 적절한 서브셋의 조합이 표준 부합 데이터 스트림을 유발하는 것을 나타내고; 제2 스트림 유형은 상기 비디오 스트림(102)의 비디오 픽쳐(110)의 서브영역들(109)로의 적어도 하나의 공간적인 세부분할 하나에 대응하는 상기 별도의 서브스트림(114)의 적절한 서브셋의 조합이, 데이터 스트림의 표준 부합 버전을 획득하기 위해 추가 프로세싱을 필요로 하는 데이터 스트림을 유발한다는 것을 나타내며; 상기 스트림 역다중화기(121)는, 데이터 스트림의 표준 부합 버전(126')을 획득하기 위해, 상기 별도의 서브스트림들의 그룹의 적어도 하나의 서브스트림(114s, 114p)에 포함된 프로세싱 정보를 이용하여 상기 식별된 스트림 유형에 따라 상기 데이터 스트림(126)을 추가 처리하도록 구성된 데이터 스트림 프로세서(127)를 포함할 수 있다.
상기 별도의 서브스트림 그룹(116)은 브로드캐스트 전송 스트림(broadcast transport stream)에 의해 포함되며, 비디오 스트림(102)의 상이한 공간 세그먼트들(108) 또는 후속 공간 세그먼트들(108)의 상이한 그룹들을 코딩하는 인코딩된 데이터를 포함하는, 복수의 별도 서브스트림(114); 및 프로그램 맵 테이블을 포함하고, 상기 스트림 역다중화기((121)는, 복수의 별도 서브스트림들(114) 각각에 대해, 상기 프로그램 맵 테이블로부터 스트림 식별자를 도출하고, 개별 스트림 식별자를 이용해 상기 브로드캐스트 전송 스트림 내의 복수의 별도 서브스트림들(114) 각각을 식별하도록 구성될 수 있다.
상기 스트림 역다중화기((121)는, 브로드캐스트 전송 스트림 내 패킷 식별자 제로(zero)의 패킷들 내에 운반된 프로그램 연관 테이블(program association table)로부터 기 설정된 패킷 식별자를 도출하고, 상기 기 설정된 패킷 식별자를 갖는 브로드캐스트 전송 스트림의 패킷들로부터 상기 프로그램 맵 테이블을 도출하도록 구성될 수 있다.
상기 프로그램 맵 테이블은 각각의 스트림 식별자를 각각의 패킷 식별자와 유일하게 관련시키고, 상기 스트림 역다중화기는 개별적인 별도의 서브스트림의 스트림 식별자와 연관된 상기 패킷 식별자를 갖는 상기 브로드캐스트 전송 스트림의 패킷들로부터 상기 복수의 별도의 서브스트림들 각각을 역패킷화(depacketize)하도록 구성되거나, 또는 상기 스트림 역다중화기는 상기 프로그램 맵 테이블에 지시된 패킷 식별자를 갖는 상기 브로드캐스트 전송 스트림의 패킷들로부터 NAL 유닛들의 시퀀스를 역패킷화(depacketize)하고, 브로드캐스트 전송 스트림의 패킷들의 적응 필드에 표시된 스트림 식별자에 따라 상기 복수의 별도 서브스트림들 중 하나와 각각의 NAL 유닛을 연관시키도록 구성될 수 있다.
상기 스트림 역다중화기(121)는 상기 프로그램 맵 테이블로부터 상기 비디오의 세그먼트들로의 공간적 세부분할에 관한 정보를 읽고, 상기 공간적 세부분할의 세그먼트들로부터 스트림 식별자로의 매핑을 이용해 상기 공간적 세부분할로부터 상속적으로 상기 복수의 별도 서브스트림들(114)의 스트림 식별자들을 도출하도록 구성될 수 있다.
상기 스트림 역다중화기(121)는 상기 프로그램 맵 테이블로부터 상기 비디오의 세그먼트들로의 공간적 세부분할에 관한 정보를 읽고, 상기 복수의 별도 서브스트림들(114)의 스트림 식별자들이 래스터 스캔을 따른 공간적 세부분할 내에서 세그먼트들을 지시하도록 상기 복수의 별도 서브스트림들(114)의 스트림 식별자들을 도출하도록 구성될 수 있다.
상기 스트림 역다중화기(121)는, 상기 프로그램 맵 테이블 또는 상기 서브스트림 서술자 그룹(116)을 운반하는 패킷들의 적응(adaptation) 필드로부터, 하나의 별도 서브스트림의 스트림 식별자에 의해, 상기 복수의 별도 서브스트림들 중 하나를 인덱싱하고, 상기 복수의 별도 서브스트림들 중 어떤 하나 이상의 별도 서브스트림이, 상기 인덱싱된 별도 서브스트림과 함께, 상기 별도의 서브스트림들의 그룹(116)으로부터 적어도 2개의 별도 서브스트림들로서 추출 가능한 서브영역의 코딩된 표현을 형성할지에 대한 정보를 포함하는, 각 서브스트림 서술자를 판독하도록 구성되고, 상기 서브영역은 상기 인덱싱된 별도 서브스트림과 함께 코딩된 표현을 형성하는 하나 이상의 별도 서브스트림의 공간 세그먼트들(108) 또는 후속 공간 세그먼트들의 그룹으로 구성될 수 있다.
상기 스트림 역다중화기(121)는 상기 프로그램 맵 테이블 정보로부터 상기 비디오의 서브영역들(109)로의 하나 이상의 공간 세부분할을 나타내는 서브영역 서술자를 판독하여, 각각의 서브영역이 하나 이상의 별도 서브스트림들의 공간 세그먼트들(108) 또는 후속 공간 세그먼트들의 그룹의 셋이 되도록 하고, 상기 비디오의 서브영역(109)으로의 공간 세부분할마다 상기 서브영역의 크기를 판독하며, 상기 별도의 서브스트림들의 그룹(116)으로부터 선택적으로 추출된 상기 적어도 2 개의 별도의 서브스트림들은, 비디오의 하나 이상의 공간 세부분할들 중 하나의 서브영역들 중 하나를 형성하는 상이한 공간 세그먼트들(108) 또는 후속 공간 세그먼트들(108)의 상이한 그룹들을 코딩하는 인코딩된 데이터를 함께 포함할 수 있다.
상기 하나 이상의 서브스트림 서술자들은, 상기 복수의 별도 서브스트림들 중 어떤 하나 이상의 별도 서브스트림들이, 각각이 상기 인덱싱된 별도 서브스트림의 스트림 식별자에 대한 오프셋을 나타내는 스트림 식별자 오프셋들의 집합들의 리스트로의 참조 인덱스의 형태로 상기 별도 서브스트림들의 그룹(116)으로부터 상기 적어도 2 개의 별도 서브스트림들(114)로서, 상기 인덱싱된 별도 서브스트림과 함께, 추출되어야 하는지에 대한 정보를 포함할 수 있다.
상기 하나 이상의 서브스트림 서술자들은, 상기 복수의 별도 서브스트림 중 어떤 하나 이상의 별도 서브스트림이, 각각이 상기 인덱싱된 별도 서브스트림의 스트림 식별자에 대한 오프셋을 나타내는 스트림 식별자 오프셋들의 집합(set)의 형태로 상기 별도의 서브스트림들의 그룹(116)으로부터 상기 적어도 2 개의 별도 서브스트림들(114)로서, 상기 인덱싱된 별도 서브스트림과 함께 추출되어야 하는지에 대한 정보를 포함할 수 있다.
상기 별도의 서브스트림들의 그룹(116)은, 상기 복수의 별도의 서브스트림들(114)로부터 분리되거나 또는 상기 복수의 별도의 서브스트림들(114)의 슬라이스 헤더들 및/또는 파라미터 셋들을 수정하거나 또는 교체하는 데 사용되는, 슬라이스 헤더 및/또는 파라미터 셋을 포함하는 하나 이상의 서브스트림을 더 포함할 수 있다.
상기 별도의 서브스트림들의 그룹(116)은 하나 이상의 별도 서브스트림들의 서브그룹을 포함하고, 상기 서브스트림 각각은 개별 공간 세그먼트들(108) 또는 후속 공간 세그먼트들(108)의 개별 그룹을 코딩하고, 상기 서브스트림 각각은 NAL 유닛들의 시퀀스를 포함하고, 상기 NAL 유닛들의 시퀀스는, 개별 서브스트림의 개별 공간 세그먼트들(108) 또는 후속 공간 세그먼트들(108)의 개별 그룹을 나타내는 데이터 스트림의 표준 부합 버전을 형성하는 하나 이상의 NAL 유닛들의 제1 세트; 및 레거시 디코더에 의한 개별 NAL 유닛의 무시(ignorance)에 대한 하나 이상의 기 설정된 NAL 유닛 유형들의 세트 중 하나인 하나 이상의 NAL 유닛들의 제2 세트로 구성될 수 있다.
상기 하나 이상의 NAL 유닛들의 제2 세트는 NAL 유닛들의 시퀀스로 배열되고, 상기 제2 세트의 각 NAL 유닛은, 레거시 디코더에게 제1 세트의 바로 다음 NAL 유닛 또는 그 일부는 제2 세트의 개별 NAL 유닛과 함께 상기 NAL 유닛들의 시퀀스로부터 폐기되어야 함을 나타내며 및/또는 상기 제2 세트의 개별 NAL 유닛을 대체하여 NAL 유닛들의 시퀀스에 삽입될 NAL 유닛을 운반하는 페이로드 섹션을 포함할 수 있다.
상기 스트림 역다중화기(121)는, 상기 별도의 서브스트림들의 서브그룹 중 하나가 상기 추출된 적어도 2 개의 별도의 서브스트림들(114) 중 하나인 경우, 상기 제2 세트의 각 NAL 유닛에 대해, 제1 세트의 바로 다음 NAL 유닛 또는 그 일부를 제2 세트의 개별 NAL 유닛과 함께 NAL 유닛들의 시퀀스로부터 폐기하며 및/또는 상기 제2 세트의 개별 NAL 유닛을 대체하여 상기 제2 세트의 개별 NAL 유닛의 페이로드 섹션에 운반된 NAL 유닛을 상기 NAL 유닛들의 시퀀스로 삽입하도록 구성될 수 있다.
본 발명의 일 실시예는, 비디오 스트림(102)의 비디오 픽쳐(110)의 적어도 2 개의 상이한 공간 세그먼트들(108) 또는 후속 공간 세그먼트들의 상이한 그룹들을 인코딩하여, 비디오 스트림의 비디오 픽쳐를 인코딩하도록 구성된 인코더로서, 상기 인코딩된 데이터는 적어도 2 개의 슬라이스를 포함하고; 상기 인코더는 코딩 제약조건(constraint)이 충족되는지 여부를 나타내는 시그널링 정보를 제공하도록 구성되고; 상기 코딩 제약조건은, 코딩 순서에 대해 상기 적어도 2 개의 슬라이스들의 제1 슬라이스의 슬라이스 헤더를 유지하면서 상기 적어도 2 개의 슬라이스들의 적어도 하나의 슬라이스 헤더를 제거하고 상기 제1 슬라이스 헤더를 사용하여 상기 적어도 2 개의 슬라이스들 또는 상기 적어도 2 개의 슬라이스들의 적절한 서브셋을 연결하는 것(concatenating)이 표준 부합 데이터 스트림을 초래할 때, 만족되는, 인코더를 제공한다.
본 발명의 일 실시예는, 스트림 다중화 방법(200)에있어서, 비디오 스트림(102)의 비디오 픽쳐(110)의 적어도 2개의 상이한 공간 세그먼트들(108) 또는 후속 공간 세그먼트들(108)의 상이한 그룹들 각각에 대해 인코딩된 데이터를 수신하는 단계(202); 및 상기 적어도 2개의 상이한 공간 세그먼트들(108) 또는 후속 공간 세그먼트의 상이한 그룹들(108) 각각에 대해 상기 인코딩된 데이터를 별도의 서브스트림(114)으로 패킷화하는 단계(224)를 포함하는, 스트림 다중화 방법을 제공한다.
본 발명의 일 실시예는, 스트림 역 다중화 방법(220)으로서, 별도의 서브스트림 그룹(116)으로부터, 상기 비디오 스트림(102)의 비디오 픽쳐(110)의 상이한 공간 세그먼트들(108) 또는 후속 공간 세그먼트들(108)의 상이한 그룹들을 코딩하는 인코딩된 데이터를 포함하는 적어도 2개의 별도의 서브스트림들(114)을 선택적으로 추출하는 단계(222); 상기 적어도 2개의 별도의 서브스트림들(114)을 상기 비디오 스트림(102)의 비디오 픽쳐(110)의 상이한 공간 세그먼트들(108) 또는 후속 공간 세그먼트들(108)의 상이한 그룹들을 코딩하는 인코딩된 데이터를 포함하는 데이터 스트림(126)에 결합하는 단계(224)를 포함하는, 스트림 역 다중화 방법(220)을 제공한다.
본 발명의 일 실시예는 앞선 방법들을 수행하는 컴퓨터 프로그램을 제공한다.
본 발명의 일 실시예는, 개별 서브스트림들(114) 각각이, 상기 비디오 스트림(102)의 비디오 픽쳐(110)의 상이한 공간 세그먼트들(108) 또는 후속 공간 세그먼트들(108)의 상이한 그룹들을 코딩하는 인코딩된 데이터를 포함하는, 개별 서브스트림들의 그룹을 제공한다.
상기 서브스트림들의 그룹은 적어도 하나의 추가적인 서브스트림을 포함하고, 상기 적어도 하나의 추가적인 서브스트림은 2개의 스트림 유형들 중 적어도 하나를 시그널링하며; 제1 스트림 유형은 서브영역 서술자에서 발견되는 정보에 따른 별도의 서브스트림들의 통합이 표준 부합 데이터 스트림을 유발하는 것임을 시그널링하고; 제2 스트림 유형은 서브영역 서술자에서 발견되는 정보에 따른 별도의 서브스트림들의 통합이, 데이터 스트림의 표준 부합 버전을 획득하기 위해, 추가 프로세싱을 필요로 하는 데이터 스트림을 유발한다는 것을 시그널링할 수 있다.
본 발명의 일 실시예는, 인코딩된 비디오 스트림(112)으로서, 상기 인코딩된 비디오 스트림은 적어도 2 개의 슬라이스를 이용해 비디오 스트림(102)의 비디오 픽쳐(110)의 적어도 2 개의 상이한 공간 세그먼트들(108) 또는 후속 공간 세그먼트들의 상이한 그룹들을 코딩하여 인코딩된 데이터를 포함하고; 상기 인코딩된 비디오 스트림은 코딩 제약조건(constraint)이 충족되는지 여부를 나타내는 시그널링 정보를 포함하고, 상기 코딩 제약조건은, 코딩 순서에 대해 상기 적어도 2 개의 슬라이스들의 제1 슬라이스의 슬라이스 헤더를 유지하면서 상기 적어도 2 개의 슬라이스들의 적어도 하나의 슬라이스 헤더를 제거하고 상기 제1 슬라이스 헤더를 사용하여 상기 적어도 2 개의 슬라이스들 또는 상기 적어도 2 개의 슬라이스들의 적절한 서브셋을 연결하는 것(concatenating)이 표준 부합 데이터 스트림을 초래할 때 만족되는, 인코딩된 비디오 스트림(112)을 제공한다.
상기 시그널링 정보는 상기 비디오 이용가능성(usability) 정보 또는 보충 향상 정보(supplemental enhancement information)내의 플래그의 형태로 상기 인코딩된 비디오 데이터 스트림(112)에 존재할 수 있다.
본 발명의 일 실시예는, NAL 유닛들의 시퀀스로 구성된 데이터 스트림(3241)으로서, 상기 NAL 유닛들의 시퀀스는, 제1 픽쳐를 인코딩하기 위해 파라미터화된 독립형(self-contained) 데이터 스트림을 형성하는 하나 이상의 NAL 유닛들(314’)의 제1 세트로서, 상기 제1 세트의 NAL 유닛들(314’)은 하나 이상의 NAL 유닛 유형들의 제1 세트 중 선택되는, 하나 이상의 NAL 유닛들(314’)의 제1 세트 ; 및 각각이, 하나 이상의 기 설정된 NAL 유닛 유형들의 제2 세트 중 하나이고, 상기 제1 세트와 분리되어 있고, 레거시 디코더에 의해 개별 NAL 유닛의 무시로 이끌도록 결정된, 하나 이상의 NAL 유닛들(326)의 제2 세트를 포함하는, 데이터 스트림을 제공한다.
상기 하나 이상의 NAL 유닛들(326)의 제2 세트는 NAL 유닛들의 시퀀스로 배열되어, 상기 제2 세트의 각 NAL 유닛(326)에 대해, 상기 제2 세트의 개별 NAL 유닛(326)과 함께 NAL 유닛들의 시퀀스로부터 제1 세트의 바로 다음 이어지는 NAL 유닛(330) 또는 그 일부를 폐기하며; 및/ 또는 상기 제2 세트의 개별 NAL 유닛을 대체해 상기 제2 세트의 개별 NAL 유닛(326)의 페이로드 섹션으로 운반된, 상기 제1 NAL 유닛 유형들 중 하나의 NAL 유닛(332)을 상기 NAL 유닛들의 시퀀스에 삽입하여, 상기 NAL 유닛들의 시퀀스는, 하나 이상의 NAL 유닛들의 하나 이상의 제1 세트에 포함된 슬라이스 어드레스를 제외하고, 소정의 하나(3041; 3042)가 제1 픽쳐인 복수의 공간 세그먼트들(3041,2)로 구성된 픽처(300)를 부호화하여 포함하는 더 큰 독립형 데이터 스트림의 프래그먼트(3061;3062)를 형성하는 NAL 유닛들의 변환된 시퀀스(334)로 변환되고, 상기 프래그먼트(3061;3062)는 상기 NAL 유닛들(334)의 변환된 시퀀스를, 상기 미리 결정된 공간 세그먼트 이외에 상기 픽쳐의 각 공간 세그먼트 이외의 상기 픽쳐의 각 공간 세그먼트(3042;3041)를 인코딩하여 포함한 하나 이상의 다른 NAL 유닛 시퀀스들과 연결함으로써, 상기 더 큰 독립적인 데이터 스트림에 대해 수정가능하고, 상기 하나 이상의 다른 NAL 유닛 시퀀스들과 연결될 때, 상기 픽쳐 내 기 설정된 공간 세그먼트(3042;3041)를 인코딩하기 위해, 하나 이상의 NAL 유닛들의 제1 세트의 하나 이상에 포함된 슬라이스 어드레스들을 제외하고, 파라미터화될 수 있다.
상기 하나 이상의 NAL 유닛들(326)의 상기 제2 세트는 상기 제1 세트의 적어도 하나의 제2 NAL 유닛에 의해 참조되는 제1 파라미터 셋을 운반하는 페이로드 섹션을 포함하는 상기 제1 세트의 제1 NAL 유닛(330)에 선행하는 상기 제2 세트의 미리 결정된 NAL 유닛을 포함하고, 상기 미리 결정된 NAL 유닛(326)은 상기 제1 NAL 유닛(330)이 상기 미리 결정된 NAL과 함께 상기 NAL 유닛들의 시퀀스로부터 폐기되어야 함을 표시할 수 있다,
상기 하나 이상의 NAL 유닛들의 상기 제2 세트는 상기 제1 세트의 적어도 하나의 제2 NAL 유닛에 의해 참조되는 제1 파라미터 셋을 운반하는 페이로드 섹션을 포함하는 상기 제1 세트의 제1 NAL 유닛에 선행하는 상기 제2 세트의 미리 결정된 NAL 유닛(326)을 포함하고, 상기 미리 결정된 NAL 유닛(326)은 상기 제1 NAL 유닛 유형들 중 하나의 제 3 NAL 유닛을 운반하는 페이로드 섹션을 가지며, 상기 제 3 NAL 유닛은, 상기 제 3 NAL 유닛(332)이 상기 기 설정된 NAL 유닛(326)을 대체하여 상기 NAL 유닛들의 시퀀스에 삽입될 때 상기 제1 파라미터 셋을 대체하는 제2 파라미터 셋을 운반하는 페이로드 섹션을 포함할 수 있다.
상기 하나 이상의 NAL 유닛들(326)의 상기 제2 세트는 슬라이스 페이로드 데이터가 후속하는 슬라이스 헤더(402)를 포함하는 슬라이스 데이터를 운반하는 페이로드 섹션을 포함하는 제1 세트의 제1 NAL 유닛(330)에 선행하는 상기 제2 세트의 미리 결정된 NAL 유닛을 포함하고, 상기 미리 결정된 NAL 유닛(326)은 상기 슬라이스 헤더(402)의 일부가 상기 미리 결정된 NAL과 함께 상기 NAL 유닛들의 시퀀스로부터 폐기되어야 함을 표시할 수 있다.
본 발명의 일 실시예는 앞서 설명된 데이터 스트림 및 하나 이상의 다른 NAL 유닛 시퀀스들(3241) 중 하나를 각각 포함하는 하나 이상의 추가적인 데이터 스트림을 포함하는 데이터 스트림 세트을 제공한다.
상기 하나 이상의 NAL 유닛들(326)의 상기 제2 세트는 슬라이스 페이로드 데이터가 후속하는 슬라이스 헤더(402)를 포함하는 슬라이스 데이터를 운반하는 페이로드 섹션을 포함하는 상기 제1 세트의 제1 NAL 유닛(330)에 선행하는 상기 제2 세트의 미리 결정된 NAL 유닛을 포함하고, 상기 미리 결정된 NAL 유닛(326)은 상기 슬라이스 헤더(402)의 일부가 상기 미리 결정된 NAL과 함께 상기 NAL 유닛들의 시퀀스로부터 폐기되어야 함을 표시하고, 상기 하나 이상의 추가적인 데이터 스트림 중 하나는 그 말단에서 연결시 폐기될 부분을 대체하는 불완전한 슬라이스 프래그먼트를 포함할 수 있다.
상기 불완전한 슬라이스 프래그먼트 및 폐기될 부분은 적어도 슬라이스 헤더의 슬라이스 어드레스를 포함하고, 상기 불완전 슬라이스 프래그먼트에 포함된 상기 슬라이스 어드레스는 상기 픽쳐의 둘레(circumference)에 대해 정의되고 상기 폐기될 부분에 포함된 상기 슬라이스 어드레스는 상기 미리 결정된 공간 세그먼트(3042)의 둘레(circumference)에 대해 정의될 수 있다.
본 발명의 일 실시예는, 제2 데이터 스트림(302)으로부터 제1 데이터 스트림(3241;3242)을 생성하는 장치로서, 상기 제2 데이터 스트림은 복수의 공간 세그먼트(3041,2)로 구성된 픽쳐가 인코딩되어 포함되고, 상기 제2 데이터 스트림은 NAL 유닛들의 시퀀스로 구성되며, 상기 NAL 유닛들의 시퀀스는 미리 결정된 공간 세그먼트(3041;3042)를 인코딩하기 위해 파라미터화된 하나 이상의 NAL 유닛들(314)의 제1 세트를 포함하고, 상기 제1 세트의 NAL 유닛들은 하나 이상의 NAL 유닛 유형들의 제1 세트로부터 선택되며, 상기 장치는, 상기 제2 데이터 스트림(302)으로부터 하나 이상의 NAL 유닛들(314)의 제1 세트를 잘라내어 상기 제1 데이터 스트림(3241;3242)으로 적용하고; 상기 미리 결정된 공간 세그먼트를 독립형 픽쳐로서 인코딩하도록 하나 이상의 NAL 유닛들의 제1 세트를 재-파라미터화하고; 각각이 하나 이상의 기 설정된 NAL 유닛 유형들의 제2 세트 중 하나이고 상기 제1 세트와 분리되고, 레거시 디코더에 의해 개별 NAL 유닛(326)의 무시를 유도하도록 결정된, 하나 이상의 NAL 유닛들의 제2 세트(326)를, 제1 데이터 스트림으로 삽입하도록 구성된, 데이터 스트림 생성 장치을 제공한다.
상기 하나 이상의 NAL 유닛들의 제2 세트를 상기 하나 이상의 NAL 유닛들의 제1 세트 사이에 배치하며, 및/또는 상기 하나 이상의 NAL 유닛들의 제1 세트 앞에 덧붙이며 및/또는 첨부하여, 상기 제2 세트의 각 NAL 유닛이, 제1 세트의 바로 후속하는 NAL 유닛(330) 또는 그 일부(portion)를 제2 세트의 개별 NAL 유닛과 함께 NAL 유닛들의 시퀀스로부터 폐기하도록 규정하며; 및/또는 상기 제2 세트의 개별 NAL 유닛의 페이로드 섹션에 운반된 상기 제1 NAL 유닛 유형들 중 하나의 숨겨진 NAL 유닛(332)을, 상기 제2 세트의 개별 NAL 유닛을 대체하여 상기 NAL 유닛들의 시퀀스에 삽입하도록 규정할 수 있다.
상기 바로 후속하는 NAL 유닛(330)은 파라미터 세트 NAL 유닛이고, 및/또는 상기 숨겨진 NAL 유닛은 상기 제2 데이터 스트림에 포함된 파라미터 세트 NAL 유닛 및/ 또는 상기 일부는 적어도 부분적으로 상기 바로 후속하는 NAL 유닛의 슬라이스 헤더를 포함할 수 있다.
상기 미리 결정된 공간 세그먼트 이외의 픽쳐의 공간 세그먼트를 인코딩 하여 포함한 상기 제2 데이터 스트림(302)의 하나 이상의 NAL 유닛 시퀀스 중에서 하나 이상의 부분 데이터 스트림을 더 형성하고, 상기 하나 이상의 NAL 유닛들의 제2 세트(326)를 제1 데이터 스트림에 삽입하고 하나 이상의 부분 데이터 스트림들을 형성하여, 하나 이상의 NAL 유닛들(326)의 제2 세트의 폐기는 독립형 픽쳐로서 기 설정된 공간 세그먼트를 인코딩하여 포함한 독립형 데이터 스트림을 유발하고, 제2 세트의 각 NAL 유닛에 의한 지시(prescription)를 실행하고 상기 제1 데이터 스트림 및 상기 하나 이상의 부분 데이터 스트림을 연결하여 전체적으로 픽쳐를 인코딩하여 포함하는 독립형 데이터 스트림을 유발하도록 구성될 수 있다.
상기 하나 이상의 NAL 유닛들의 제2 세트를 상기 하나 이상의 NAL 유닛들의 제1 세트 사이에 배치하거나 상기 하나 이상의 NAL 유닛들의 제1 세트 앞에 덧붙여, 제2 세트의 개별 NAL 유닛과 함께 NAL 유닛들의 시퀀스로부터, 제1 세트의 바로 후속하는 NAL 유닛(330)의 일부의 폐기를 규정하도록 하고, 기 설정된 공간 세그먼트 및 바로 직전의 공간 세그먼트를 포함하는 코딩 순서로 픽처의 바로 직전의 공간 세그먼트를 인코딩하여 포함한, 다른 NAL 데이터 스트림(3241)의 제1 NAL 유닛 유형의 NAL 유닛들에, 상기 제1 데이터 스트림 및 다른 데이터 스트림의 연결시, 폐기될 부분(402)을 대체할 불완전 슬라이스 프래그먼트(400)를 그 말단에서 첨부하도록 구성될 수 있다.
본 발명의 일 실시예는, 데이터 스트림 프로세싱 장치로서, NAL 유닛들의 시퀀스로 구성된 데이터 스트림(3241)을 수신하도록 구성되며, 상기 NAL 유닛들의 시퀀스는, 제1 픽쳐를 인코딩하기 위해 파라미터화된 독립형(self-contained) 데이터 스트림을 형성하는 하나 이상의 NAL 유닛들(314’의 제1 세트로서, 상기 제1 세트의 NAL 유닛들은 하나 이상의 NAL 유닛 유형들의 제1 세트 중 선택되는, 하나 이상의 NAL 유닛들(314’의 제1 세트 ; 및 각각이, 하나 이상의 기 설정된 NAL 유닛 유형들의 제2 세트 중 하나이고, 상기 제1 세트와 떨어져 있고, 상기 하나 이상의 NAL 유닛 유형들의 제2 세트는 상기 NAL 유닛들의 시퀀스 사이에 배치되며, 하나 이상의 NAL 유닛들(326)의 제2 세트를 포함하고, 상기 제2 세트의 각 NAL 유닛에 대해, 상기 제2 세트의 개별 NAL 유닛과 함께 NAL 유닛들의 시퀀스로부터 제1 세트의 바로 후속하는 NAL 유닛(330) 또는 그 일부를 폐기하며; 및/ 또는 상기 제2 세트의 개별 NAL 유닛의 페이로드 섹션으로 운반된, 상기 제1 NAL 유닛 유형들 중 하나의 NAL 유닛(332)을, 상기 제2 세트의 개별 NAL 유닛을 대체하여 상기 NAL 유닛들의 시퀀스에 삽입하도록 구성된, 데이터 스트림 프로세싱 장치를 제공한다.
상기 폐기 및/또는 삽입에 의해 얻어진 NAL 유닛들의 변환된 시퀀스를, 미리 결정된 공간 세그먼트 이외의 더 큰 픽쳐의 각 공간 세그먼트가 인코딩되어 포함된 하나 이상의 다른 NAL 유닛 시퀀스들(3242)과 연결하도록 구성될 수 있다.
상기 폐기 및/또는 삽입에 의해 얻어진 NAL 유닛들의 변환된 시퀀스를, 상기 하나 이상의 NAL 유닛들의 제1 세트 중 하나 이상에 포함된 슬라이스 어드레스들을 수정하여, 기 결정된 공간 세그먼트 이외의 더 큰 픽쳐의 각 공간 세그먼트가 인코딩되어 포함된 하나 이상의 다른 NAL 유닛 시퀀스들(3242)과 연결하도록 구성될 수 있다.
본 발명의 일 실시예는, 제2 데이터 스트림으로부터 제1 데이터 스트림을 생성하는 방법으로서, 상기 제2 데이터 스트림은 복수의 공간 세그먼트들로 구성된 픽쳐가 인코딩되어 포함되고, 상기 제2 데이터 스트림은 NAL 유닛들의 시퀀스로 구성되며, 상기 NAL 유닛들의 시퀀스는 미리 결정된 공간 세그먼트를 인코딩하기 위해 파라미터화된 하나 이상의 NAL 유닛들의 제1 세트를 포함하고, 상기 제1 세트의 NAL 유닛들은 하나 이상의 NAL 유닛 유형들의 제1 세트로부터 선택되며, 상기 방법은, 상기 제2 데이터 스트림으로부터 하나 이상의 NAL 유닛들의 제1 세트를 잘라내어 상기 제1 데이터 스트림으로 적용하는 단계; 상기 미리 결정된 공간 세그먼트를 독립형 픽쳐로서 인코딩하기 위해 하나 이상의 NAL 유닛들의 제1 세트를 재-파라미터화하는 단계; 각각이 하나 이상의 미리 설정된 NAL 유닛 유형들의 제2 세트 중 하나이고 상기 제1 세트와 분리되고, 레거시 디코더에 의해 개별 NAL 유닛의 무시를 유도하도록 결정된, 하나 이상의 NAL 유닛들의 제2 세트를 제1 데이터 스트림으로 삽입하는 단계를 포함하는, 데이터 스트림을 생성하는 방법을 제공한다.
본 발명의 일 실시예는, 데이터 스트림을 프로세싱하는 방법으로서, NAL 유닛들의 시퀀스로 구성된 데이터 스트림을 수신하는 단계를 포함하고, 상기 NAL 유닛들의 시퀀스는, 제1 픽쳐를 인코딩하기 위해 파라미터화된 독립형(self-contained) 데이터 스트림을 형성하는 하나 이상의 NAL 유닛들의 제1 세트로서, 상기 제1 세트의 NAL 유닛들은 하나 이상의 NAL 유닛 유형들의 제1 세트 중 선택되는, 하나 이상의 NAL 유닛들의 제1 세트; 및 각각이, 하나 이상의 기 설정된 NAL 유닛 유형들의 제2 세트 중 하나이고, 상기 제1 세트와 떨어져 있고, 레거시 디코더에 의해 개별 NAL 유닛의 무시로 이끌도록 결정된, 하나 이상의 NAL 유닛들의 제2 세트를 포함하고,상기 제2 세트의 각 NAL 유닛에 대해, 상기 제2 세트의 개별 NAL 유닛과 함께 NAL 유닛들의 시퀀스로부터 제1 세트의 바로 후속하는 NAL 유닛를 폐기하는 단계; 및/또는 상기 제2 세트의 개별 NAL 유닛의 페이로드 섹션으로 운반된, 상기 제1 NAL 유닛 유형들 중 하나의 NAL 유닛을, 상기 제2 세트의 개별 NAL 유닛을 대체하여 상기 NAL 유닛들의 시퀀스에 삽입하는 단계를 포함하는, 데이터 스트림 프로세싱 방법을 제공한다.
본 발명의 일 실시예는 상기 설명된 방법을 수행하는 컴퓨터 프로그램을 제공한다.
몇몇 측면들이 장치의 맥락에서 기술되었지만, 이들 측면들이 블록 또는 장치가 방법 단계 또는 방법 단계의 특징에 대응하는 상응하는 방법의 설명을 또한 나타내는 것이 명백하다. 유사하게, 방법 단계의 문맥에서 기술된 측면은 대응하는 블록 또는 품목 또는 대응하는 장치의 특징에 대한 설명을 나타낸다. 방법 단계들의 일부 또는 전부는 예를 들어 마이크로프로세서, 프로그램 가능한 컴퓨터 또는 전자 회로와 같은 하드웨어 장치에 의해(또는 사용되어) 실행될 수 있다. 일부 실시예들에서, 가장 중요한 방법 단계들 중 하나 이상은 그러한 장치에 의해 실행될 수 있다.
특정 구현 요건들에 따라, 본 발명의 실시예들은 하드웨어 또는 소프트웨어로 구현될 수 있다. 구현은 플로피 디스크, DVD, 블루-레이, CD, ROM, PROM, EPROM, EEPROM 또는 플래시(FLASH) 메모리와 같은 일시적 저장 매체 또는 디지털 저장 매체를 사용하여 수행될 수 있는데, 이들은 전자 판독 가능 제어 신호를 저장하고, 상기 각각의 방법이 수행되도록 프로그래밍가능한 컴퓨터 시스템과 협력한다(또는 협력 가능하다). 따라서, 디지털 저장 매체는 컴퓨터로 판독 가능할 수 있다.
본 발명에 따른 일부 실시예들은 본 명세서에서 설명된 방법들 중 하나가 수행되도록 프로그램가능한 컴퓨터 시스템과 협력할 수 있는, 전기적으로 판독 가능한 제어 신호를 갖는 데이터 캐리어를 포함한다.
일반적으로, 본 발명의 실시예들은 컴퓨터 프로그램 제품이 컴퓨터상에서 실행될 때 상기 방법들 중 하나를 수행하도록 동작하는 프로그램 코드를 갖는 컴퓨터 프로그램 제품으로서 구현될 수 있다. 프로그램 코드는 예를 들어, 머신 판독 가능한 캐리어에 저장될 수 있다.
다른 실시예들은 머신 판독 가능한 캐리어 상에 저장된, 본 명세서에 기술된 방법들 중 하나를 수행하기 위한 컴퓨터 프로그램을 포함한다.
즉, 본 발명의 방법의 실시예는, 컴퓨터 프로그램이 컴퓨터상에서 실행될 때, 여기에 설명된 방법들 중 하나를 수행하기 위한 프로그램 코드를 갖는 컴퓨터 프로그램이다.
따라서, 본 발명의 방법의 또 다른 실시예들은 본 명세서에 설명된 방법들 중 하나를 수행하기 위한 컴퓨터 프로그램을 포함하는 데이터 캐리어(또는 디지털 저장 매체 또는 컴퓨터-판독가능한 매체)이다. 데이터 캐리어, 디지털 저장 매체 또는 기록 매체는 통상적으로 유형 및/또는 비-일시적이다.
그러므로, 본 발명의 방법의 또 다른 실시예는 본 명세서에 설명된 방법들 중 하나를 수행하기 위한 컴퓨터 프로그램을 나타내는 데이터 스트림 또는 신호들의 시퀀스이다. 데이터 스트림 또는 신호들의 시퀀스는 예를 들어, 인터넷을 통해 데이터 통신 접속을 통해 전송되도록 구성될 수 있다.
다른 실시예는 여기에서 기술된 방법들 중 하나를 수행하도록 구성되거나 조정된 프로세싱 수단, 예를 들어 컴퓨터 또는 프로그램 가능한 논리 장치를 포함한다.
다른 실시예는 여기에 설명된 방법들 중 하나를 수행하기 위한 컴퓨터 프로그램이 설치된 컴퓨터를 포함한다.
본 발명에 따른 또 다른 실시예는 본 명세서에 설명된 방법들 중 하나를 수행하기 위한 컴퓨터 프로그램을 수신기에 전송(예를 들어, 전자적으로 또는 광학적으로)하도록 구성된 장치 또는 시스템을 포함한다. 수신기는 예를 들어 컴퓨터, 모바일 장치, 메모리 장치 등일 수 있다. 상기 장치 또는 시스템은 예를 들어 컴퓨터 프로그램을 수신기에 전송하기 위한 파일 서버를 포함할 수 있다.
일부 실시예들에서, 프로그램 가능한 논리 소자(예를 들어, 필드 프로그래머블 게이트 어레이; FPGA)는 여기에 설명된 방법들의 일부 또는 모든 기능들을 수행하는 데 사용될 수 있다. 일부 실시예들에서, 필드 프로그래머블 게이트 어레이는 여기서 설명된 방법들 중 하나를 수행하기 위해 마이크로프로세서와 협력할 수 있다. 일반적으로, 상기 방법들은 임의의 하드웨어 장치에 의해 수행되는 것이 바람직하다.
발명의 몇몇 측면들이 장치의 문맥에서 설명되었지만, 이들 측면들은 또한 대응하는 방법의 설명을 나타내므로, 장치의 블록 또는 장치는 또한 각각의 방법 단계 또는 방법의 특징에 대응한다. 유사하게, 방법 단계의 문맥에서 기술된 측면은 대응하는 블록 또는 대응하는 장치의 상세 또는 특징의 설명을 나타낸다.

Claims (61)

  1. 스트림 다중화기로서,
    인코딩된 비디오 스트림의 비디오 픽쳐의 적어도 2개의 상이한 공간 세그먼트들 또는 후속 공간 세그먼트들의 상이한 그룹들 각각에 대해 인코딩된 데이터를 수신하는 수신 인터페이스; 및
    상기 적어도 2개의 상이한 공간 세그먼트들 또는 후속 공간 세그먼트들의 상이한 그룹들 각각에 대해 상기 인코딩된 데이터를 별도 기본(elementary) 스트림들으로 패킷화(packetize)하고, 상기 별도 기본 스트림들을 출력에 제공하도록 구성된 데이터 스트림 형성기를 포함하고,
    상기 비디오 스트림의 상기 비디오 픽쳐의 상기 적어도 2개의 상이한 공간 세그먼트들 또는 후속 공간 세그먼트들의 상이한 그룹들은, 상기 인코딩된 데이터가 각 비디오 픽쳐에 대해서 적어도 하나의 슬라이스를 포함하도록 인코딩되고,
    상기 데이터 스트림 형성기는 각 공간 세그먼트 또는 공간 세그먼트들의 그룹에 대한 상기 슬라이스 또는 슬라이스들을 하나의 별도 기본 스트림으로 패킷화하도록 구성되며,
    상기 데이터 스트림 형성기는, 상기 공간 세그먼트들의 적어도 하나 또는 후속 공간 세그먼트들의 그룹들의 상기 슬라이스들에 대하여, 상기 공간 세그먼트들의 상기 적어도 하나 또는 후속 공간 세그먼트들의 그룹들의 상기 슬라이스들을 상기 별도 기본 스트림으로 패킷화하고, 그 픽쳐 위치 또는 픽쳐 크기와 관련하여, 상기 공간 세그먼트들의 적어도 하나 또는 후속 공간 세그먼트들의 그룹들의 상기 슬라이스들에 대해서 수정된 적절한 슬라이스 헤더들을 포함하는 추가적인 별도 기본 스트림을 제공하도록 구성되는,
    스트림 다중화기.
  2. 청구항 1에 있어서,
    상기 적어도 2개의 상이한 공간 세그먼트들 또는 후속 공간 세그먼트들의 상이한 그룹들은 인코딩되어, 개별적인 별도 기본 스트림에 포함된 상기 적어도 2 개의 상이한 공간 세그먼트들 또는 상기 후속 공간 세그먼트들의 상이한 그룹들 각각에 대한 상기 인코딩된 데이터가 동일한 별도 기본 스트림에 포함된 인코딩된 데이터만을 참조하는,
    스트림 다중화기.
  3. 청구항 1에 있어서,
    상기 데이터 스트림 형성기는 슬라이스 헤더를 제거하여 적어도 하나의 공간 세그먼트들 또는 후속 공간 세그먼트들의 그룹들의 슬라이스들을 상기 별도 기본 스트림으로 패킷화하고;
    상기 데이터 스트림 형성기는, 상기 비디오 스트림의 상기 비디오 픽쳐들의 서브영역들로의 적어도 하나의 공간 세부분할 각각에 대한 파라미터 셋을 가지는 추가적인 별도의 스트림을 제공하도록 구성되는,
    스트림 다중화기.
  4. 청구항 1에 있어서,
    상기 적어도 2개의 상이한 공간 세그먼트들 또는 후속 공간 세그먼트들의 상이한 그룹들은 비디오 픽쳐마다 하나의 슬라이스에서 상기 비디오 스트림으로 인코딩되고,
    상기 데이터 스트림 형성기는, 각각의 비디오 픽쳐에 대하여, 상기 적어도 2개의 공간 세그먼트들 또는 공간 세그먼트들의 그룹들 중 적어도 하나에 대해, 슬라이스의 슬라이스 헤더 없이, 상기 공간 세그먼트들 또는 공간 세그먼트들의 그룹들 중 개별적인 하나로 인코딩된 슬라이스의 일부를 별도 기본 스트림으로 패킷화하도록 구성되는,
    스트림 다중화기.
  5. 청구항 4에 있어서,
    상기 데이터 스트림 형성기는, 그 픽쳐 위치 또는 픽쳐 크기와 관련하여, 상기 슬라이스 헤더 또는 제거된 슬라이스 헤더에 대해 수정된 상기 슬라이스 헤더의 수정된 버전을 포함하는 추가적인 별도 스트림을 제공하도록 구성되는,
    스트림 다중화기.
  6. 청구항 4에 있어서,
    상기 데이터 스트림 형성기는 상기 비디오 스트림의 상기 비디오 픽쳐들의 서브 영역들로의 적어도 하나의 공간 세부분할 각각에 대한 파라미터 셋들을 가지는 추가적인 별도 스트림을 제공하도록 구성된,
    스트림 다중화기.
  7. 청구항 1에 있어서,
    상기 데이터 스트림 형성기는 동일한 추가적인 별도 기본 스트림 내에 파라미터 셋들 및 상기 슬라이스 헤더 또는 그 수정된 버전을 제공하도록 구성되는,
    스트림 다중화기.
  8. 청구항 1에 있어서,
    상기 데이터 스트림 형성기는 서술자(descriptor) 내에 상기 추가적인 기본 스트림의 존재를 시그널링하도록 구성되는,
    스트림 다중화기.
  9. 청구항 1에 있어서,
    상기 데이터 스트림 형성기는 상기 별도 기본 스트림들 각각에 대해 고유한 기본 스트림 아이덴티티를 할당하는 기본 스트림 서술자를 생성하도록 구성되는,
    스트림 다중화기.
  10. 청구항 9에 있어서,
    상기 데이터 스트림 형성기는 상기 비디오 스트림의 상기 비디오 픽쳐들의 서브영역들로의 적어도 하나의 공간적 세부분할 각각에 대해, 각 서브영역에 대한 기본 스트림 아이덴티티들의 하나의 셋을 시그널링하는 서브영역 서술자를 생성하도록 구성되는,
    스트림 다중화기.
  11. 청구항 1에 있어서,
    상기 스트림 다중화기는 2 개의 스트림 유형들 중 적어도 하나를 시그널링하도록 구성되고;
    제1 스트림 유형은 상기 비디오 스트림의 상기 비디오 픽쳐의 서브영역들로의 적어도 하나의 공간적인 세부분할들 중 하나에 대응하는 상기 별도 기본 스트림들의 적절한 서브셋의 조합이 표준 부합 데이터 스트림을 유발하는 것임을 시그널링하고,
    제2 스트림 유형은 상기 비디오 스트림의 상기 비디오 픽쳐의 서브영역들로의 적어도 하나의 공간적인 세부분할들 중 하나에 대응하는 상기 별도 기본 스트림들의 적절한 서브셋의 조합이, 데이터 스트림의 표준 부합 버전을 획득하기 위해 추가 프로세싱을 필요로 하는 데이터 스트림을 유발하는 것임을 시그널링하는,
    스트림 다중화기.
  12. 청구항 11에 있어서,
    상기 비디오 스트림의 상기 비디오 픽쳐의 상기 적어도 2 개의 상이한 공간 세그먼트들 또는 후속 공간 세그먼트들의 상이한 그룹들은 상기 인코딩된 데이터가 적어도 2 개의 슬라이스를 포함하도록 인코딩되고;
    상기 인코딩된 데이터가 코딩 제약조건(constraint)이 충족되는지 여부를 나타내는 시그널링 정보를 포함하거나 또는 상기 데이터 스트림 형성기가 상기 코딩 제약조건이 충족되는지 여부를 결정하도록 구성되며;
    코딩 순서에 대해 상기 적어도 2 개의 슬라이스들의 제1 슬라이스의 슬라이스 헤더를 유지하면서 상기 적어도 2 개의 슬라이스들의 적어도 하나의 슬라이스 헤더를 제거하고 상기 제1 슬라이스의 슬라이스 헤더를 사용하여 상기 적어도 2 개의 슬라이스들 또는 상기 적어도 2 개의 슬라이스들의 적절한 서브셋을 연결하는 것(concatenating)이 표준 부합 데이터 스트림을 유발할 때 상기 코딩 제약조건이 만족되며;
    상기 스트림 다중화기는 상기 코딩 제약조건의 충족에 따라 상기 2 개의 스트림 유형들 중 적어도 하나를 시그널링하도록 구성되는,
    스트림 다중화기.
  13. 스트림 역다중화기로서,
    별도의 기본(elementary) 스트림들의 그룹으로부터 적어도 2개의 별도 기본 스트림들을 선택적으로 추출하도록 구성된 데이터 스트림 형성기 - 상기 적어도 2개의 별도 기본 스트림들은 비디오 스트림의 비디오 픽쳐의 상이한 공간 세그먼트들 또는 후속 공간 세그먼트들의 상이한 그룹들을 코딩하는 인코딩된 데이터를 포함하고, 상기 데이터 스트림 형성기는 상기 적어도 2 개의 별도 기본 스트림들을, 상기 비디오 스트림의 비디오 픽쳐의 상이한 공간 세그먼트들 또는 후속 공간 세그먼트들의 상이한 그룹들을 코딩하는 인코딩된 데이터를 포함하는 데이터 스트림으로 결합하도록 구성되고, 상기 비디오 스트림의 상기 비디오 픽쳐의 상기 상이한 공간 세그먼트들 또는 후속 공간 세그먼트들의 상이한 그룹들은, 각 공간 세그먼트 또는 공간 세그먼트들의 그룹에 대해, 적어도 하나의 슬라이스를 포함하도록 인코딩되며, 각 공간 세그먼트 또는 공간 세그먼트들의 그룹에 대한 상기 슬라이스 또는 슬라이스들을 하나의 별도 기본 스트림으로 패킷화(packetize)되며, 상기 공간 세그먼트들의 적어도 하나 또는 후속 공간 세그먼트들의 그룹들의 상기 슬라이스들은 상기 별도 기본 스트림으로 패킷화되고, 추가적인 별도 기본 스트림은 그 픽쳐 위치 또는 픽쳐 크기와 관련하여, 상기 공간 세그먼트들의 상기 적어도 하나 또는 후속 공간 세그먼트들의 그룹들의 상기 슬라이스들에 대해서 수정된 적절한 슬라이스 헤더들을 포함함;
    상기 데이터 스트림을 제공하도록 구성된 출력 인터페이스를 포함하고,
    상기 데이터 스트림 형성기는, 상기 적어도 2개의 별도 기본 스트림들을 HEVC 표준 부합 데이터 스트림으로 결합하도록 구성되며, 상기 데이터 스트림 형성기는, 상기 추가적인 별도 기본 스트림에 포함된 상기 적절한 슬라이스 헤더들에 기초하여, 상기 적어도 2개의 별도 기본 스트림들의 헤더 정보를 수정하거나, 상기 적어도 2개의 별도 기본 스트림들에 헤더 정보를 추가하여 상기 HEVC 표준 부합 데이터 스트림을 획득하도록 구성되는,
    스트림 역다중화기.
  14. 청구항 13에 있어서,
    상기 별도 기본 스트림들의 그룹은, 상기 비디오 스트림의 비디오 픽쳐의 상이한 공간 세그먼트들 또는 후속 공간 세그먼트들의 상이한 그룹들을 코딩하는 인코딩된 데이터를 포함하는 복수의 별도 기본 스트림들을 포함하고,
    상기 데이터 스트림 형성기는 상기 별도 기본 스트림들의 그룹의 상기 복수의 별도 기본 스트림들의 서브셋을 선택적으로 추출하도록 구성되는,
    스트림 역다중화기.
  15. 청구항 14에 있어서,
    상기 데이터 스트림 형성기는, 상기 비디오 스트림의 상기 비디오 픽쳐의 서브영역들로의 적어도 하나의 공간적인 세부분할 각각에 대해, 상기 별도의 기본 스트림 그룹으로부터 각 서브영역에 대한 기본 스트림 아이덴티티들의 하나의 셋을 시그널링하는 서브영역 서술자를 추출하도록 구성되고, 상기 데이터 스트림 형성기는 상기 서브영역 서술자를 사용하여 상기 인코딩된 비디오 스트림으로부터 추출될 상기 기본 스트림들의 서브셋을 선택하도록 구성되는,
    스트림 역다중화기.
  16. 청구항 15에 있어서,
    상기 데이터 스트림 형성기는, 상기 별도의 기본 스트림 그룹으로부터 상기 별도의 기본 스트림 각각에 고유한 기본 스트림 아이덴티티를 할당하는 기본 스트림 서술자를 추출하도록 구성되며, 상기 데이터 스트림 형성기는 상기 기본 스트림 서술자를 이용하여 상기 별도의 기본 스트림들의 그룹으로부터 추출될 기본 스트림들의 서브셋을 위치파악(localize)하도록 구성되는,
    스트림 역다중화기.
  17. 청구항 13에 있어서,
    상기 스트림 역다중화기는 적어도 2 개의 스트림 유형들 중 적어도 하나를 식별하도록 구성되고;
    제1 스트림 유형은 상기 비디오 스트림의 비디오 픽쳐의 서브영역들로의 적어도 하나의 공간적인 세부분할 중 하나에 대응하는 상기 별도 기본 스트림들의 적절한 서브셋의 조합이 표준 부합 데이터 스트림을 유발하는 것을 나타내고;
    제2 스트림 유형은 상기 비디오 스트림의 비디오 픽쳐의 서브영역들로의 적어도 하나의 공간적인 세부분할 하나에 대응하는 상기 별도의 기본 스트림들의 적절한 서브셋의 조합이, 데이터 스트림의 표준 부합 버전을 획득하기 위해 추가 프로세싱을 필요로 하는 데이터 스트림을 유발하는 것을 나타내며;
    상기 스트림 역다중화기는, 상기 데이터 스트림의 표준 부합 버전을 획득하기 위해, 상기 별도의 기본 스트림들의 그룹의 적어도 하나의 기본 스트림에 포함된 프로세싱 정보를 이용하여 상기 식별된 스트림 유형에 따라 상기 데이터 스트림을 추가 처리하도록 구성된 데이터 스트림 프로세서를 포함하는,
    스트림 역다중화기.
  18. 청구항 13에 있어서,
    상기 별도 기본 스트림들의 그룹은 브로드캐스트 전송 스트림(broadcast transport stream)에 포함되며,
    비디오 스트림의 상이한 공간 세그먼트들 또는 후속 공간 세그먼트들의 상이한 그룹들을 코딩하는 인코딩된 데이터를 포함하는, 복수의 별도 기본 스트림; 및
    프로그램 맵 테이블을 포함하고,
    상기 스트림 역다중화기는, 상기 복수의 별도 기본 스트림들 각각에 대해, 상기 프로그램 맵 테이블로부터 스트림 식별자를 도출하고, 개별 스트림 식별자를 이용해 상기 브로드캐스트 전송 스트림 내의 복수의 별도 기본 스트림들 각각을 식별하도록 구성되는,
    스트림 역다중화기.
  19. 청구항 18에 있어서,
    상기 스트림 역다중화기는, 브로드캐스트 전송 스트림 내 패킷 식별자 제로(zero)의 패킷들 내에 운반된 프로그램 연관 테이블(program association table)로부터 기 설정된 패킷 식별자를 도출하고, 상기 기 설정된 패킷 식별자를 갖는 브로드캐스트 전송 스트림의 패킷들로부터 상기 프로그램 맵 테이블을 도출하도록 구성되는,
    스트림 역다중화기.
  20. 청구항 18에 있어서,
    상기 프로그램 맵 테이블은 각각의 스트림 식별자를 각각의 패킷 식별자와 유일하게 관련시키고, 상기 스트림 역다중화기는 개별적인 별도의 기본 스트림의 스트림 식별자와 연관된 상기 패킷 식별자를 갖는 상기 브로드캐스트 전송 스트림의 패킷들로부터 상기 복수의 별도의 기본 스트림들 각각을 역패킷화(depacketize)하도록 구성되거나, 또는
    상기 스트림 역다중화기는 상기 프로그램 맵 테이블에 지시된 패킷 식별자를 갖는 상기 브로드캐스트 전송 스트림의 패킷들로부터 NAL 유닛들의 시퀀스를 역패킷화(depacketize)하고, 브로드캐스트 전송 스트림의 패킷들의 적응 필드에 표시된 스트림 식별자에 따라 상기 복수의 별도 기본 스트림들 중 하나와 각각의 NAL 유닛을 연관시키도록 구성되는,
    스트림 역다중화기.
  21. 청구항 18에 있어서,
    상기 스트림 역다중화기는 상기 프로그램 맵 테이블로부터 상기 비디오의 세그먼트들로의 공간적 세부분할에 관한 정보를 읽고, 상기 공간적 세부분할의 세그먼트들로부터 스트림 식별자로의 매핑을 이용해 상기 공간적 세부분할로부터 상속적으로 상기 복수의 별도 기본 스트림들의 스트림 식별자들을 도출하도록 구성되는,
    스트림 역다중화기.
  22. 청구항 18에 있어서,
    상기 스트림 역다중화기는 상기 프로그램 맵 테이블로부터 상기 비디오의 세그먼트들로의 공간적 세부분할에 관한 정보를 읽고, 상기 복수의 별도 기본 스트림들의 스트림 식별자들이 래스터 스캔을 따른 공간적 세부분할 내에서 세그먼트들을 지시하도록 상기 복수의 별도 기본 스트림들의 스트림 식별자들을 도출하도록 구성되는,
    스트림 역다중화기.
  23. 청구항 18에 있어서,
    상기 스트림 역다중화기는, 상기 프로그램 맵 테이블 또는 기본 스트림 서술자 그룹을 운반하는 패킷들의 적응(adaptation) 필드로부터, 하나의 별도 기본 스트림의 스트림 식별자에 의해, 상기 복수의 별도 기본 스트림들 중 하나를 인덱싱하고, 상기 복수의 별도 기본 스트림들 중 어떤 하나 이상의 별도 기본 스트림이, 상기 인덱싱된 별도 기본 스트림과 함께, 상기 별도의 기본 스트림들의 그룹으로부터 적어도 2개의 별도 기본 스트림들로서 추출 가능한 서브영역의 코딩된 표현을 형성할지에 대한 정보를 포함하는, 각 기본 스트림 서술자를 판독하도록 구성되고, 상기 서브영역은 상기 인덱싱된 별도 기본 스트림과 함께 코딩된 표현을 형성하는 하나 이상의 별도 기본 스트림의 공간 세그먼트들 또는 후속 공간 세그먼트들의 그룹으로 구성되는,
    스트림 역다중화기.
  24. 청구항 23에 있어서,
    상기 스트림 역다중화기는 상기 프로그램 맵 테이블 정보로부터 상기 비디오의 서브영역들로의 하나 이상의 공간 세부분할을 나타내는 서브영역 서술자를 판독하여, 각각의 서브영역이 하나 이상의 별도 기본 스트림들의 공간 세그먼트들 또는 후속 공간 세그먼트들의 그룹의 셋이 되도록 하고, 상기 비디오의 서브영역으로의 공간 세부분할마다 상기 서브영역의 크기를 판독하며, 상기 별도의 기본 스트림들의 그룹으로부터 선택적으로 추출된 상기 적어도 2 개의 별도의 기본 스트림들은, 비디오의 하나 이상의 공간 세부분할들 중 하나의 서브영역들 중 하나를 형성하는 상이한 공간 세그먼트들 또는 후속 공간 세그먼트들의 상이한 그룹들을 코딩하는 인코딩된 데이터를 함께 포함하는,
    스트림 역다중화기.
  25. 청구항 23에 있어서,
    상기 하나 이상의 기본 스트림 서술자들은, 상기 복수의 별도 기본 스트림들 중 어떤 하나 이상의 별도 기본 스트림들이, 각각이 상기 인덱싱된 별도 기본 스트림의 스트림 식별자에 대한 오프셋을 나타내는 스트림 식별자 오프셋들의 집합들의 리스트로의 참조 인덱스의 형태로 상기 별도 기본 스트림들의 그룹으로부터 상기 적어도 2 개의 별도 기본 스트림들로서, 상기 인덱싱된 별도 기본 스트림과 함께, 추출되어야 하는지에 대한 정보를 포함하는,
    스트림 역다중화기.
  26. 청구항 22에 있어서,
    상기 하나 이상의 기본 스트림 서술자들은, 상기 복수의 별도 기본 스트림 중 어떤 하나 이상의 별도 기본 스트림이, 각각이 인덱싱된 별도 기본 스트림의 스트림 식별자에 대한 오프셋을 나타내는 스트림 식별자 오프셋들의 집합(set)의 형태로 상기 별도의 기본 스트림들의 그룹으로부터 상기 적어도 2 개의 별도 기본 스트림들로서, 상기 인덱싱된 별도 기본 스트림과 함께 추출되어야 하는지에 대한 정보를 포함하는,
    스트림 역다중화기.
  27. 청구항 13에 있어서,
    상기 별도의 기본 스트림들의 그룹은, 상기 적어도 2개의 별도의 기본 스트림들로부터 분리되거나 또는 상기 적어도 2개의 별도의 기본 스트림들의 슬라이스 헤더들 및/또는 파라미터 셋들을 수정하거나 또는 교체하는 데 사용되는, 슬라이스 헤더 및/또는 파라미터 셋을 포함하는 하나 이상의 기본 스트림을 더 포함하는,
    스트림 역다중화기.
  28. 청구항 13에 있어서,
    상기 별도의 기본 스트림들의 그룹은 하나 이상의 별도 기본 스트림들의 서브그룹을 포함하고,
    상기 기본 스트림 각각은 개별 공간 세그먼트들 또는 후속 공간 세그먼트들의 개별 그룹을 코딩하고,
    상기 기본 스트림 각각은 NAL 유닛들의 시퀀스를 포함하고,
    상기 NAL 유닛들의 시퀀스는,
    개별 기본 스트림의 개별 공간 세그먼트들 또는 후속 공간 세그먼트들의 개별 그룹을 나타내는 데이터 스트림의 표준 부합 버전을 형성하는 하나 이상의 NAL 유닛들의 제1 세트; 및
    레거시 디코더에 의한 개별 NAL 유닛의 무시(ignorance)에 대한 하나 이상의 기 설정된 NAL 유닛 유형들의 세트 중 하나인 하나 이상의 NAL 유닛들의 제2 세트로 구성된,
    스트림 역다중화기.
  29. 청구항 28에 있어서,
    상기 하나 이상의 NAL 유닛들의 제2 세트는 NAL 유닛들의 시퀀스로 배열되고,
    상기 제2 세트의 각 NAL 유닛은,
    레거시 디코더에게 제1 세트의 바로 다음 NAL 유닛 또는 그 일부는 제2 세트의 개별 NAL 유닛과 함께 상기 NAL 유닛들의 시퀀스로부터 폐기되어야 함을 나타내며 및/또는
    상기 제2 세트의 개별 NAL 유닛을 대체하여 NAL 유닛들의 시퀀스에 삽입될 NAL 유닛을 운반하는 페이로드 섹션을 포함하는,
    스트림 역다중화기.
  30. 청구항 28에 있어서,
    상기 스트림 역다중화기는, 상기 별도의 기본 스트림들의 서브그룹 중 하나가 상기 추출된 적어도 2 개의 별도의 기본 스트림들 중 하나인 경우, 상기 제2 세트의 각 NAL 유닛에 대해,
    제1 세트의 바로 다음 NAL 유닛 또는 그 일부를 제2 세트의 개별 NAL 유닛과 함께 NAL 유닛들의 시퀀스로부터 폐기하며 및/또는
    상기 제2 세트의 개별 NAL 유닛을 대체하여 상기 제2 세트의 개별 NAL 유닛의 페이로드 섹션에 운반된 NAL 유닛을 상기 NAL 유닛들의 시퀀스로 삽입하도록 구성된,
    스트림 역다중화기.
  31. 스트림 다중화 방법으로서,
    비디오 스트림의 비디오 픽쳐의 적어도 2개의 상이한 공간 세그먼트들 또는 후속 공간 세그먼트들의 상이한 그룹들 각각에 대해 인코딩된 데이터를 수신하는 단계; 및
    상기 적어도 2개의 상이한 공간 세그먼트들 또는 후속 공간 세그먼트들의 상이한 그룹들 각각에 대해 상기 인코딩된 데이터를 별도 기본(elementary) 스트림들으로 패킷화하는 단계 - 상기 비디오 스트림의 상기 비디오 픽쳐의 상기 적어도 2개의 상이한 공간 세그먼트들 또는 후속 공간 세그먼트들의 상이한 그룹들은, 상기 인코딩된 데이터가 각 공간 세그먼트 또는 공간 세그먼트들의 그룹에 대해서, 적어도 하나의 슬라이스를 포함하도록 인코딩되고, 각 공간 세그먼트 또는 공간 세그먼트들의 그룹에 대한 상기 슬라이스 또는 슬라이스들은 하나의 별도 기본 스트림으로 패킷화(packetize)됨;를 포함하고,
    상기 공간 세그먼트들의 적어도 하나 또는 후속 공간 세그먼트들의 그룹들의 상기 슬라이스들은 상기 별도 기본 스트림으로 패킷화되고,
    상기 방법은 그 픽쳐 위치 또는 픽쳐 크기와 관련하여, 상기 공간 세그먼트들의 적어도 하나 또는 후속 공간 세그먼트들의 그룹들의 상기 슬라이스들에 대해서 수정된 적절한 슬라이스 헤더들을 포함하는 추가적인 별도 기본 스트림을 제공하는 단계를 추가로 포함하는,
    스트림 다중화 방법.
  32. 스트림 역다중화 방법으로서,
    별도의 기본(elementary) 스트림들의 그룹으로부터 적어도 2개의 별도 기본 스트림들을 선택적으로 추출하는 단계 - 상기 적어도 2개의 별도 기본 스트림들은 비디오 스트림의 비디오 픽쳐의 상이한 공간 세그먼트들 또는 후속 공간 세그먼트들의 상이한 그룹들을 코딩하는 인코딩된 데이터를 포함하며, 상기 비디오 스트림의 상기 비디오 픽쳐의 상기 상이한 공간 세그먼트들 또는 후속 공간 세그먼트들의 상이한 그룹들은, 상기 인코딩된 데이터가 각 공간 세그먼트 또는 공간 세그먼트들의 그룹에 대하여, 적어도 하나의 슬라이스를 포함하도록 인코딩되고, 각 공간 세그먼트 또는 공간 세그먼트들의 그룹에 대한 상기 슬라이스 또는 슬라이스들은 하나의 별도 기본 스트림으로 패킷화(packetize)되며, 상기 공간 세그먼트들의 적어도 하나 또는 후속 공간 세그먼트들의 그룹들의 상기 슬라이스들은 상기 별도 기본 스트림으로 패킷화되고, 추가적인 별도 기본 스트림은 그 픽쳐 위치 또는 픽쳐 크기와 관련하여, 상기 공간 세그먼트들의 적어도 하나 또는 후속 공간 세그먼트들의 그룹들의 상기 슬라이스들에 대해서 수정된 적절한 슬라이스 헤더들을 포함함; 및
    상기 적어도 2 개의 별도 기본 스트림들을, 상기 비디오 스트림의 비디오 픽쳐의 상이한 공간 세그먼트들 또는 후속 공간 세그먼트들의 상이한 그룹들을 코딩하는 인코딩된 데이터를 포함하는 데이터 스트림으로 결합하는 단계- 상기 적어도 2개의 별도 기본 스트림들은 HEVC 표준 부합 데이터 스트림으로 결합되며, 상기 추가적인 별도 기본 스트림에 포함된 상기 적절한 슬라이스 헤더들에 기초하여, 상기 적어도 2개의 별도 기본 스트림들의 헤더 정보가 수정되거나, 상기 적어도 2개의 별도 기본 스트림들에 헤더 정보가 추가되여 상기 HEVC 표준 부합 데이터 스트림가 획득됨- 를 포함하는,
    스트림 역다중화 방법.
  33. 청구항 31항 또는 32항의 방법을 수행하는 컴퓨터 프로그램이 기록된 디지털 저장 매체.
  34. 삭제
  35. 삭제
  36. 삭제
  37. 삭제
  38. 삭제
  39. 삭제
  40. 삭제
  41. 삭제
  42. 삭제
  43. 삭제
  44. 삭제
  45. 삭제
  46. 삭제
  47. 삭제
  48. 삭제
  49. 삭제
  50. 삭제
  51. 삭제
  52. 삭제
  53. 삭제
  54. 삭제
  55. 삭제
  56. 삭제
  57. 삭제
  58. 삭제
  59. 삭제
  60. 삭제
  61. 삭제
KR1020227000483A 2016-05-26 2017-03-28 상호작용을 하는 클라이언트를 위한 파노라마 비디오 브로드캐스트 스트리밍 KR102535168B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
EP16171579.2 2016-05-26
EP16171579 2016-05-26
PCT/EP2017/057334 WO2017202527A1 (en) 2016-05-26 2017-03-28 Broadcast streaming of panoramic video for interactive clients
KR1020207035772A KR102350620B1 (ko) 2016-05-26 2017-03-28 상호작용을 하는 클라이언트를 위한 파노라마 비디오 브로드캐스트 스트리밍

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020207035772A Division KR102350620B1 (ko) 2016-05-26 2017-03-28 상호작용을 하는 클라이언트를 위한 파노라마 비디오 브로드캐스트 스트리밍

Publications (2)

Publication Number Publication Date
KR20220008942A KR20220008942A (ko) 2022-01-21
KR102535168B1 true KR102535168B1 (ko) 2023-05-30

Family

ID=56108502

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020207035772A KR102350620B1 (ko) 2016-05-26 2017-03-28 상호작용을 하는 클라이언트를 위한 파노라마 비디오 브로드캐스트 스트리밍
KR1020227000483A KR102535168B1 (ko) 2016-05-26 2017-03-28 상호작용을 하는 클라이언트를 위한 파노라마 비디오 브로드캐스트 스트리밍
KR1020187037665A KR20190010661A (ko) 2016-05-26 2017-03-28 상호작용을 하는 클라이언트를 위한 파노라마 비디오 브로드캐스트 스트리밍

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020207035772A KR102350620B1 (ko) 2016-05-26 2017-03-28 상호작용을 하는 클라이언트를 위한 파노라마 비디오 브로드캐스트 스트리밍

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020187037665A KR20190010661A (ko) 2016-05-26 2017-03-28 상호작용을 하는 클라이언트를 위한 파노라마 비디오 브로드캐스트 스트리밍

Country Status (5)

Country Link
US (2) US11792450B2 (ko)
EP (2) EP3466082B1 (ko)
KR (3) KR102350620B1 (ko)
CN (4) CN109565611B (ko)
WO (1) WO2017202527A1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190342609A1 (en) * 2017-01-16 2019-11-07 Sony Semiconductor Solutions Corporation Transmission control apparatus, reception control apparatus, and transceiving control system
US10904521B2 (en) 2017-03-03 2021-01-26 Qualcomm Incorporated Extracting MCTS sub-bitstreams for video coding
US10904607B2 (en) * 2017-07-10 2021-01-26 Dolby Laboratories Licensing Corporation Video content controller and associated method
US11159776B2 (en) * 2019-08-16 2021-10-26 At&T Intellectual Property I, L.P. Method for streaming ultra high definition panoramic videos
EP4026345A1 (en) * 2019-09-03 2022-07-13 Koninklijke KPN N.V. Combining video streams in composite video stream with metadata
US11792432B2 (en) * 2020-02-24 2023-10-17 Tencent America LLC Techniques for signaling and identifying access unit boundaries
US20240137590A1 (en) * 2021-03-02 2024-04-25 Lg Electronics Inc. Media data processing method and media data processing apparatus

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140140415A1 (en) * 2011-05-19 2014-05-22 Lg Electronics Inc. Video stream transmitting device, video stream receiving device, video stream transmitting method, and video stream receiving method
GB2524599A (en) * 2014-03-25 2015-09-30 Canon Kk Image data encapsulation with tile support

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1281280A4 (en) * 2000-01-28 2003-06-04 Open Tv Inc INTERACTIVE TV SYSTEM AND METHOD FOR SUBJECT SENDING AND PLAYING MULTIPLE MPEG-CODED VIDEO TONES
KR20090011070A (ko) * 2007-07-25 2009-02-02 삼성전자주식회사 영상처리장치, 모바일장치 및 영상처리장치의 제어방법
US20100118938A1 (en) * 2008-11-12 2010-05-13 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Encoder and method for generating a stream of data
US9215473B2 (en) * 2011-01-26 2015-12-15 Qualcomm Incorporated Sub-slices in video coding
KR20120119790A (ko) * 2011-04-22 2012-10-31 삼성전자주식회사 미디어 데이터 전송 방법 및 장치와 미디어 데이터 수신 방법 및 장치
JP5905957B2 (ja) * 2011-06-08 2016-04-20 コニンクリーケ・ケイピーエヌ・ナムローゼ・フェンノートシャップ 空間的にセグメント化されたコンテンツの配信
CN103718562B (zh) * 2011-07-26 2017-06-20 Lg电子株式会社 发送视频流的装置、接收视频流的装置、发送视频流的方法、接收视频流的方法
KR101718488B1 (ko) * 2012-01-20 2017-03-21 지이 비디오 컴프레션, 엘엘씨 병렬 처리, 전송 디멀티플렉서 및 비디오 비트스트림을 허용하는 코딩 개념
US8325821B1 (en) * 2012-02-08 2012-12-04 Vyumix, Inc. Video transcoder stream multiplexing systems and methods
TWI737990B (zh) * 2012-06-29 2021-09-01 美商Ge影像壓縮有限公司 視訊資料串流概念技術
JP6172535B2 (ja) * 2012-09-26 2017-08-02 サン パテント トラスト 画像復号方法および画像復号装置
KR102539065B1 (ko) * 2013-01-04 2023-06-01 지이 비디오 컴프레션, 엘엘씨 효율적인 확장가능한 코딩 개념
GB2509953B (en) * 2013-01-18 2015-05-20 Canon Kk Method of displaying a region of interest in a video stream
US20150101003A1 (en) * 2013-06-18 2015-04-09 Global Invacom Limited Data transmission apparatus, system and method
JP6514197B2 (ja) * 2013-07-15 2019-05-15 ジーイー ビデオ コンプレッション エルエルシー ネットワーク装置およびエラー処理の方法
US9380351B2 (en) * 2014-01-17 2016-06-28 Lg Display Co., Ltd. Apparatus for transmitting encoded video stream and method for transmitting the same
CN106031180A (zh) * 2014-02-18 2016-10-12 Lg电子株式会社 收发用于全景服务的广播信号的方法和设备
US20150373341A1 (en) * 2014-06-23 2015-12-24 Cisco Technology, Inc. Techniques for Interactive Region-Based Scalability
TWI631835B (zh) * 2014-11-12 2018-08-01 弗勞恩霍夫爾協會 用以解碼媒體信號之解碼器、及用以編碼包含用於主要媒體資料之元資料或控制資料的次要媒體資料之編碼器

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140140415A1 (en) * 2011-05-19 2014-05-22 Lg Electronics Inc. Video stream transmitting device, video stream receiving device, video stream transmitting method, and video stream receiving method
GB2524599A (en) * 2014-03-25 2015-09-30 Canon Kk Image data encapsulation with tile support

Also Published As

Publication number Publication date
KR20200142114A (ko) 2020-12-21
CN114125504A (zh) 2022-03-01
CN114125503A (zh) 2022-03-01
US20230421824A1 (en) 2023-12-28
EP3466082A1 (en) 2019-04-10
CN109565611B (zh) 2021-12-21
EP3996375A1 (en) 2022-05-11
CN114125505A (zh) 2022-03-01
KR20190010661A (ko) 2019-01-30
KR20220008942A (ko) 2022-01-21
EP3466082B1 (en) 2022-01-19
KR102350620B1 (ko) 2022-01-11
US11792450B2 (en) 2023-10-17
US20190098348A1 (en) 2019-03-28
WO2017202527A1 (en) 2017-11-30
CN109565611A (zh) 2019-04-02

Similar Documents

Publication Publication Date Title
KR102535168B1 (ko) 상호작용을 하는 클라이언트를 위한 파노라마 비디오 브로드캐스트 스트리밍
JP6966581B2 (ja) 送信方法、受信方法、送信装置及び受信装置
US20220217355A1 (en) Method and apparatus for encoding and decoding a video bitstream for merging regions of interest
JP7200329B2 (ja) 送信方法、受信方法、送信装置及び受信装置
US11336965B2 (en) Method and apparatus for processing video bitstream, network device, and readable storage medium
US10531107B2 (en) Coding apparatus, coding method, transmission apparatus, and reception apparatus
JP6681580B2 (ja) 送信方法、受信方法、送信装置及び受信装置
CA2841186A1 (en) Video transmission device, video transmission method, and video playback device
JP2023506878A (ja) サブピクチャに関連するビデオコーディング
JP7257646B2 (ja) 送信方法、受信方法、送信装置及び受信装置
JP7238066B2 (ja) 送信方法、受信方法、送信装置及び受信装置

Legal Events

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