KR20130119479A - 비트스트림 서브세트 표시 - Google Patents

비트스트림 서브세트 표시 Download PDF

Info

Publication number
KR20130119479A
KR20130119479A KR20137021492A KR20137021492A KR20130119479A KR 20130119479 A KR20130119479 A KR 20130119479A KR 20137021492 A KR20137021492 A KR 20137021492A KR 20137021492 A KR20137021492 A KR 20137021492A KR 20130119479 A KR20130119479 A KR 20130119479A
Authority
KR
South Korea
Prior art keywords
subset
video
bit stream
identifier
definition
Prior art date
Application number
KR20137021492A
Other languages
English (en)
Other versions
KR101560956B1 (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 KR20130119479A publication Critical patent/KR20130119479A/ko
Application granted granted Critical
Publication of KR101560956B1 publication Critical patent/KR101560956B1/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24568Data stream processing; Continuous queries
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • 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/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • 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
    • 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computational Linguistics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Time-Division Multiplex Systems (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

비디오 비트 스트림(210) 내 비트 스트림 서브세트를 나타내는 방법이 제공된다. 방법은 비트 스트림을 수신하고, 비트 스트림을 비디오 패킷(211-216)들로 분할하는 단계와, 각 패킷을 단일 서브세트 식별자(stream_id)로 마킹하는 단계를 포함하고, 각 패킷은 비디오 데이터 또는 보충 정보 중 하나를 포함한다. 각 서브세트 식별자는 대응하는 비트 스트림 서브세트(221-223)과 관련된다. 또한, 비디오 비트 스트림으로부터 비디오 패킷을 추출하는 방법이 제공된다. 방법은 관련 서브세트 식별자들을 제공하는 단계와, 비트 스트림으로부터 비디오 패킷들을 수신하는 단계와, 그리고 수신된 각 비디오 패킷에 대해, 패킷의 서브세트 식별자를 조사하는 단계를 포함한다. 만일 서브세트 식별자가 관련 서브세트 식별자들 중 하나에 부합한다면 패킷이 추출된다. 이는 비트 스트림 서브세트의 특성들을 단일 식별자로 압축할 수 있도록 해주어, 망 및 클라이언트 측에서 비디오 패킷의 처리를 단순하게 해준다. 또한 상기 언급한 방법들에 대응하는 장치들이 제공된다.

Description

비트스트림 서브세트 표시{INDICATING BIT STREAM SUBSETS}
본 발명은 압축된 비디오 비트스트림에서 비트스트림 서브세트를 표시하기 위한 방법과 장치에 관한 것이고, 또한 압축된 비디오 비트스트림으로부터 비디오 패킷들을 추출하기 위한 방법과 장치에 관한 것이다. 본 발명은 또한 컴퓨터 프로그램과 컴퓨터 프로그램 제품에 관한 것이다.
MPEG-4/어드밴스트 비디오 코딩(AVC)로 알려진 H.264는 현시점에서 비디오 코딩 표준기술이다. 각 비디오 프레임 내에서 또한 프레임들 사이에서 리던던시(redundancy)를 없애는 장점을 가지는 하이브리드 코덱이다. 엔코딩 프로세스의 출력은, 전송 또는 저장에 앞서 네트워크 추상계층(network abstraction layer)(NAL) 유닛 내에 더 압축되게 되는 비디오 코딩계층(video coding layer)(VCL) 데이터이다. 비디오 데이터와는 별도로, NAL 유닛들 내에서 반송될 수 있는 다른 데이터들은 비디오 해상도 또는 필수적인 디코더 능력과 같은, VCL 데이터의 디코딩에 필요한 데이터를 반송하는 시퀀스 변수 세트(sequence parameter sets)(SPS)와 화상 변수 세트(picture parameter sets)(PPS)와 같은 변수세트, 또는 디코더 또는 망 요소들에 대해서는 유영할 수 있지만 VCL 데이터 디코딩에는 필수적이 아닌 정보를 반송하는 보충적인 향상 정보(supplemental enhancement information)를 포함한다.
NAL은 실시간 전송 프로토콜(RTP) 또는 하이퍼텍스트 전송 프로토콜(HTTP)를 통한 전송과 같은, 비디오 데이터의 전송과 저장을 위해, 또는 ISO 파일 포맷으로 저장을 위해 광범위한 시스템들에 대해 VCL의 단순하고, 효과적이, 그리고 유연한 사용이 이루어지도록 하기 위하여 디자인된다. NAL 유닛 개념은, 비트 스트림들을 논리적 유닛들로 분할함으로써 압축된 비트 스트림들에 액세스하고, 그룹화하고 또한 조종하기 위한 망들의 수단, 즉 전송 및 저장 시스템들을 제공하는 것이다. 예컨대, 하나의 압축된 화상에 대응하는 유닛은, 코드화된 화상이 압축된 비디오의 디코딩을 시작하기 위한 무작위 액세스 지점으로서 사용될 수 있는지를 망에 나타내는 고-레벨 정보로 증가된다.
NAL은 H.264/AVC 비디오에 대한 최소-크기 기능 유닛이다. NAL 유닛은 NAL 유닛 헤더와 NAL 유닛 페이로드로 더 분할될 수 있다. NAL 유닛 헤더는 압축된 비트 스트림들을 관리하기 위해 망들이 사용할 수 있는 한 세트의 식별자(identifier)로 구성된다. 예컨대, 한정된 대역폭의 경우에서 비디오의 전송 비트율(transmission bit rate)을 줄이기 위하여, 비디오 데이터를 폐기함으로써 야기되는 품질 저하를 최소화하기 위하여, NAL 유닛 헤더 내에 반송되는 정보를 기반으로 몇몇 NAL 유닛들이 폐기될 수 있다. 이 프로세스는 "비트 스트림 시닝(bit stream thinning)"으로 표시된다.
전통적인 비디오 서비스들은 고정 카메라 위치와 공간 해상도(spatial resolution)을 사용하여 단일 표현에 비디오를 제공하는 반면, 다중-해상도 및 다중-시청 표현들은 최근에 중요해지고 있다. 다중-해상도 표현은 상이한 디스플레이 해상도들로 목표 장치들을 서비스하기 위하여, 여러 상이한 공간 해상도들로 비디오를 나타낸다. 다중-해상도 표현은 상이한 디스플레이 해상도로 목표 장치들을 서비스하기 위하여, 상이한 공간 해상도로 비디오를 표현한다. 다중-뷰(multi-view) 표현은 상이한 카메라 시각(perspective)들로부터 콘텐츠를 표현하고, 특정 경우는 입체 비디오의 경우이고, 여기서 장면은 인간 눈의 간격과 유사한 간격을 가지는 두 개의 카메라들에 의해 포착된다. 적절한 디스플레이 기술을 사용하여, 깊이의 지각이 뷰어에게 제공될 수 있다.
다중-해상도 및 다중-뷰 비디오 표현들은 종종 하이어라키(hierarchical) 또는 계층적 표현들로 언급되는데, 기본층(base layer)은 비디오의 기본 품질을 나타내고, 그리고 연속적인 강화층(enhancement layer)들은 고품질로 표현들을 수정한다.
확장가능한 비디오 코딩(scalable video coding)(SVC)과 다중-뷰 비디오 코딩(multi-view video coding)(MVC)들은, 상이한 계층들 간에 중복 정보(redundant information)을 제거함으로써 고압축 효율이 달성되는, 다중-해상도 및 다중-뷰 비디오 표현들을 압축하는데 각각 사용될 수 있는 비디오 코딩 표준들이다. SVC와 MVC들은 AVC 표준들을 기반으로 하고, 또한 AVC의 최근 에디션에서 부록 G 및 H로서 포함되고, 따라서 AVC 구조의 대부분을 공유한다.
SVC 및 MVC 비트 스트림에 고유한 하이어라키 종속(hierarchical dependencies)은 NAL 유닛 헤더들 내에서, 디코딩 종속과 뷰 식별자(identifier)과 같은 부수적인 정보 필드들을 필요로 한다. 그러나, 현재의 AVC 구현들과 호환성을 유지하기 위하여, 기본 AVC NAL 유닛 헤더는 변경되지 않았다. 대신에, 종속과 뷰 식별자와 같은 추가 정보가, 두 개의 새로운 유형들의 NAL 유닛들, 즉 AVC에서 "미사용(unused)"으로 규정되어, 명세서의 부록 G 또는 H를 지원하지 않는 AVC 디코더들에 의해 무시되게 되는 프리픽스(prefix) NAL 유닛(유형 14)과 코드화된 슬라이스 확장(slice extension) NAL 유닛(유형 20)을 도입함으로써 통합되었다.
프리픽스 NAL 유닛은 비트 스트림 내에서 프리픽스 NAL 유닛 직후에 오는 것으로 추정되고, 기본층에 관한 부가 정보를 반송하는 VCL AVC NAL 유닛과 관련될 수 있다. AVC 디코더들은 프리픽스 NAL 유닛들을 무시하게 되고, 그러므로 기본층을 디코드할 수 있다.
코드화된 슬라이스 확장 NAL 유닛은 SVC 또는 MVC 강화층들에서만 사용된다. 이는 기본층 또는 다른 강화층에 관한 강화 정보(enhancement information)를 나타낸다. 프리픽스 NAL 유닛에서와 같이 종속과 뷰 식별자를 반송하는 것 이외에도, 코드화된 슬라이스 확장 NAL 유닛은 대응하는 VCL 데이터뿐만 아니라 SVC 또는 MVC NAL 유닛 헤더 둘로 구성된다. 그러므로, 이는 프리픽스 NAL 유닛과 VCL AVC NAL 유닛의 조합이다. SVC 및 MVC 강화층 NAL 유닛들은 AVC 디코더들에 의해 무시된다.
AVC의 SVC 및 MVC 확장들은 비슷한 방식으로 규정된다. 이들의 사용은 상호 배타적이다. 즉, 표준에 규정된 구문(syntax)과 의미(semantics)는 부분적으로 충돌하고 또한 SVC와 MVC 요소들을 동시에 사용하는 것을 허용하지 않는다. SVC와 MVC로부터의 특징들을 결합하는 것은 표준을 변경하는 것을 필요로 하고, 특히 NAL 유닛 헤더의 규정에 대한 변경을 필요로 한다.
HEVC는 현재 진행중인 표준화인 차세대 비디오 코딩 표준이다. HEVC는, 특히 고-해상도 비디오 시퀀스를 위해 AVC에 비해 코딩을 개선하는 것을 목적으로 한다.
고-레벨 구문 디자인의 견지에서 보면, 대부분의 간단한 방법은 AVC 고-레벨 구문의 개념, 특히 AVC NAL 유닛 개념을 채택한다. 그러나, 이는 다음의 문제점들을 가질 수 있다.
현 기술에 따라, SVC 및 MVC 들은 하위 호환(backward compatible) 방식에서 AVC로부터 구성된다. 새로운 NAL 유닛 유형 20은 소정의 강화층들에 대해 사용될 수 있는 헤더 확장으로 설계된다. 레거시(legacy) AVC 디코더 문제를 해결하기 위하여, 구(old) NAL 유닛들(유형 1, 유형 5 및 다른 유형들)이 유지되고 또한 프리픽스 NAL 유닛 연관 방법이 각각의 정규적인 AVC VCL NAL 유닛(유형 1 및 유형 5)에 대해 사용된다. 이 해결책은 주로 HEVC와 이의 나중 확장에 대해 이루어질 수 있는 한편, 이는 이와 관련된 다음의 문제점들을 가진다.
- 새로운 특성들 또는 기능의 도입은 새로운 NAL 유닛 유형들의 규정, 예컨대 크드화된 슬라이스 확장 NAL 유닛들을 필요로 한다. NAL 유닛 유형들의 최대수는 전형적으로 NAL 유닛 유형 필드의 규정된 길이에 의해 한정되기 때문에 이는 바람직하지 않을 수 있다.
- 레거시 디코더들을 고려하기 위하여, 기본층은 반드시, 설계되어야 하는 제2의 새로운 NAL 유닛 유형들이 되는 프리픽스 NAL 유닛을 가지는 레거시 NAL 유닛 유형으로 생성되어야 해, NAL 유닛 유형들의 수를 증가시킨다.
- 기본층과 강화층들의 시그날링은 일정하지 않고 또한 각 층에 대한 망을 통한 특별한 처리를 필요로 하여, 복잡한 구현이 되게 한다. 프리픽스 NAL 유닛들의 사용은 비정상적이고 또한 필수적인 헤더 정보와 대응하는 VCL 데이터 간에 단지 약한 링크만을 제공한다. 이 링크는, 예컨대 만일 NAL 유닛들 중 하나가 전송과정에서 손실된다면 쉽게 파손될 수 있다.
- 추가 확장의 경우에, 프리픽스 NAL 유닛들의 내포화(nesting)는 복잡하다.
- 추가적인 NAL 유닛 헤더들을 통해 고-레벨 인터페이스를 확장함으로써, NAL 유닛 헤더들 내에 반송되는 정보를 기반으로 하여 NAL 유닛들을 처리하는 것으로 판단되는 망 기능 장치들은, NAL 유닛 헤더들이 확장될 때마다 갱신되어야만 한다.
현 기술의 AVC 개념과 관련된 다른 문제점들은 계층화된 표현(layered representation)과 관련된다. 현재, SVC 및 MVC에서, 뷰_id(view_id), 종속_id(dependency_id) 및 품질_id(quality_id)와 같은, 망 특성과 관련된 모든 플래그(flag)들은 지능적인 선택 또는 범주화(categorization) 없이 단순히 NAL 유닛 헤더들 내에 놓여진다. 예컨대 만일 클라이언트가 비트 스트림에서 불필요한 부분을 제거하거나(prune) 또는 조작하기를 원한다면, 이는 비트 스트림을 수신하는 클라이언트(client)가 플래그들의 정의(definition)에 대해 세부적인 지식을 가져야만 하는 것을 필요로 한다. 기본적으로, 클라이언트는 각 플래그의 의미를 완전히 이해할 필요가 있고 또한 플래그들이 어떻게 밀접하게 연관되는지를 이해할 필요가 있다. 예컨대, 하나의 뷰가 다중-뷰 비트 스트림으로부터 추출될 필요가 있을 때, 만일 뷰가 의존하는 뷰들이 포함되지 않으면 잘못된 행위가 쉽게 일어날 수 있거나, 또는 만일 클라이언트가 단지 뷰_id 플래그만을 고려한다면 낮은 품질의 버전이 선택된다. SEI 요소들로부터 다소의 조력으로, 계층화된 비트 스트림으로부터 소정의 비디오 표현을 추출할 필요가 있는 모든 필수 정보를 망이 찾고 또한 이해하는 것이 매우 복잡하게 되는 경우가 있을 수 있다.
또한, 3D를 커버하는 아주 많은 애플리케이션들과 표준들로, 깊이 맵(depth map)들과 폐쇄 맵(occlusion map)들과 같은, 새로운 데이터 요소들이 텍스처(texture)와 함께 전송되게 되어, 수신단에서 출력 뷰들의 보다 유연한 렌더링(rendering)이 이루어지게 한다. 이러한 요소들은 (다중-뷰 또는 확장가능한) "텍스처" 비디오와 함께 계층화된 표현들을 형성하기 때문에, 동일 비트 스트림에서 모두를 전송하는 것이 바람직할 수 있다. 상이한 데이터 요소들의 이러한 묶음(bundling)은, 전송 프로토콜 또는 파일 포맷과 같은 높은 시스템 레벨에서 시그날링을 통해 이루어질 수 있다. 그러나, 이러한 고-레벨 프로토콜들의 소프트웨어 및 하드웨어 구현들은 종종 비디오 압축해체의 구현들과는 분리되기 때문에, 깊이와 텍스처의 동기화와 같은, 상이한 데이터 요소들의 정확한 일시적 동기화는 만일 비트 스트림 레벨에서 지원되지 않는다면 매우 복잡할 수 있다. 텍스처와 깊이와 같은 상이한 비디오 데이터의 동기화는 비디오와 오디오의 동기화보다는 훨씬 더 엄격하여야만 하는데, 이는 상이한 비디오 요소들이 정렬된 프레임들이기 때문이다. 부수적으로, 텍스처와 깊이와 같은 비디오 요소들은, 예컨대 무엇보다도 움직임 정보("motion vertors")를 재사용함으로써 함께 압출될 수 있는데, 이는 비트 스트림 레벨에서 엄격한 커플링을 필요로 한다.
HEVC 개발의 초기 초점은 모노 비디오에 이루어지고 있다. 그러나, 확장가능한 코딩 및/또는 다중-뷰 코딩에 대한 나중 확장들에 대해서 마찬가지로 이루어지고 있다. 또한, AVC에서 NAL 유닛 개념과 유사한 패킷화 개념(packetization concept)가 사용되게 된다. 그러므로, 다음에서, 제시된 방법들이 HEVC와 같은 미래 비디오 코딩 표준들에 주로 적용될 수 있다 하더라도, 용어 "NAL 유닛"은 AVC에 규정된 것과 동일한 의미로 사용되게 된다. 또한, SPS, PPS, 및 SEI와 같은 다른 AVC 개념들이 HEVC에 사용되게 되는 것으로 예상되고, 따라서 이들의 AVC 전문용어들은, 비록 HEVC 또는 소정의 다른 미래 비디오 코딩 표준에서 상이하게 호칭될 수 있다 하더라도 다음에서 사용되게 된다.
본 발명의 목적은 상기 기술들 및 선행기술에 개선된 대안을 제공하는 것이다.
보다 상세히 말하면, 본 발명의 목적은 계층화된 비디오 표현들을 용이하게 하는 미래 비디오 코딩 표준들에 대한 포괄적인 구문을 제공하는 것이다.
본 발명의 이들 및 다른 목적들은 독립 청구항들에 의해 규정되는 바와 같이, 본 발명의 상이한 면들에 의해 이루어진다. 본 발명의 실시예들은 종속 청구항들로 특징된다.
본 발명을 설명할 목적으로, 비디오신호는 압축된 비디오 비트 스트림으로 엔코드되고, 망, 예컨대 지역망, 이동통신망, 또는 인터넷을 통해 전송되고 그리고 클라이언트에서, 예컨대 텔레비전 세트, 컴퓨터, 비디오 재생기, 또는 이동전화에서 디코드된다. 망은 라우터와 스위치들과 같은 여러 망 요소들을 포함할 수 있다.
본 발명의 제1면에 따라서, 압축된 비디오 비트 스트림에서 비트 스트림 서브세트를 나타내기 위한 방법이 제공된다. 압축된 비디오 비트 스트림은 다수의 즉 적어도 두 개의 비트 스트림 서브세트를 포함한다. 방법은 압축된 비디오 비트 스트림을 수신하고, 비디오 비트 스트림을 비디오 패킷들로 나누고, 그리고 각 비디오 패킷을 다수의 서브세트 식별잘들 중에서 단일 서브세트 식별자로 표시하는 단계를 포함한다. 각 비디오 패킷은 비디오 데이터 또는 보충 정보 중 하나를 포함한다. 다수의 서브세트 식별자들 각각의 서브세트 식별자는 다수의 비트 스트림 서브세트 중에서 대응하는 비트 스트림 서브세트와 관련된다.
본 발명의 제2면에 따라서, 컴퓨터 프로그램이 제공된다. 컴퓨터 프로그램은 컴퓨터 프로그램 코드를 포함한다. 컴퓨터 프로그램 코드는 본 발명의 제1면에 따른 방법을 구현하기 위해 실행되도록 이루어진다.
본 발명의 제3면에 따라서, 컴퓨터 프로그램 제품이 제공된다. 컴퓨터 프로그램 제품은 컴퓨터 판독가능한 매체를 포함한다. 컴퓨터 판독가능한 매체는 본 발명의 제2면에 따라 실시되는 컴퓨터 프로그램을 그 안에 가진다.
본 발명의 제4면에 따라 압축된 비디오 비트 스트림으로부터 비디오 패킷들을 추출하는 방법이 제공된다. 압축된 비디오 비트 스트림은 비디오 패킷들로 분할된다. 압출된 비디오 비트 스트림은 다수의 비트 스트림 서브세트를 포함한다. 각 비디오 패킷은 비디오 데이터 또는 보충 정보 중 하나를 포함한다. 각 비디오 패킷은 다수의 서브세트 식별자들 중 단일 서브세트 식별자를 포함한다. 각 서브세트 식별자는 다수의 비트 스트림 서브세트 중에서 대응하는 비트 스트림 서브세트와 관련된다. 방법은 적어도 하나의 관련된 서브세트 식별자를 제공하고 또한 압축된 비디오 비트 스트림으로부터 비디오 패킷들을 수신하는 단계를 포함한다. 방법은 각 수신된 비디오 패킷에 대해, 비디오 패킷의 서브세트 식별자를 조사하고, 그리고 압축된 비디오 비트 스트림으로부터 비디오 패킷을 추출하는 단계를 더 포함한다. 비디오 패킷은, 추출된 서브세트 식별자가 적어도 하나의 관련 서브세트 식별자 중 하나와 부합한다는 조건 하에서 압축된 비디오 비트 스트림으로부터 추출된다.
본 발명의 제5면에 따라서, 다른 컴퓨터 프로그램이 제공된다. 컴퓨터 프로그램은 컴퓨터 프로그램 코드를 포함한다. 컴퓨터 프로그램 코드는 본 발명의 제4면에 따른 방법을 구현하기 위해 실행하도록 이루어진다.
본 발명의 제6면에 따라서, 컴퓨터 프로그램 제품이 제공된다. 컴퓨터 프로그램 제품은 컴퓨터 판독가능한 매체이다. 컴퓨터 판독가능한 매체는 본 발명의 제5면에 따른 컴퓨터 프로그램을 그 안에 포함한다.
본 발명의 제7면에 따라서, 압축된 비디오 비트 스트림에서 비트 스트림 서브세트를 나타내기 위한 비트 스트림 마커(maker)가 제공된다. 압축된 비디오 비트 스트림은 다수의 비트 스트림 서브세트를 포함한다. 비트 스트림 마커는 수신유닛과, 패킷화 유닛과 그리고 마킹유닛을 포함한다. 수신유닛은 압축된 비디오 비트 스트림을 수신하도록 배열된다. 패킷화 유닛은 압축된 비디오 비트 스트림을 비디오 패킷들로 분할하도록 배열된다. 각 비디오 패킷은 비디오 데이터 또는 보충 정보 중 하나를 포함한다. 마킹유닛은 각 비디오 패킷을 다수의 서브세트 식별자들 중에서 단일 서브세트 식별자로 마킹(표시)하도록 배열된다. 각 서브세트 식별자는 다수의 비트 스트림 서브세트 중에서 대응하는 비트 스트림 서브세트와 관련된다.
본 발명의 제8면에 따라서, 압축된 비디오 비트 스트림으로부터 비디오 패킷들을 추출하기 위한 비트 스트림 추출기가 제공된다. 압축된 비디오 비트 스트림은 비디오 패킷들로 분할된다. 압축된 비디오 비트 스트림은 다수의 비트 스트림 서브세트를 포함한다. 각 비디오 패킷은 비디오 데이터 또는 보충 정보 중 하나를 포함한다. 각 비디오 패킷은 다수의 서브세트 식별자들 중 단일의 서브세트 식별자를 더 포함한다. 각 서브세트 식별자는 다수의 비트 스트림 서브세트들 중 대응하는 비트 스트림 서브세트와 관련된다. 비트 스트림 추출기는 서브세트 선택유닛과, 수신유닛과, 그리고 추출유닛을 포함한다. 서브세트 선택유닛은 적어도 하나의 관련 서브세트 식별자를 제공하도록 배열된다. 수신유닛은 압축된 비디오 비트 스트림으로부터 비디오 패킷들을 수신하도록 배열된다. 추출유닛은 각 수신 비디오 패킷에 대해, 비디오 패킷의 서브세트 식별자를 조사하고 그리고 압축된 비디오 비트 스트림으로부터 비디오 패킷을 추출하도록 배열된다. 비디오 패킷은, 추출된 서브세트 식별자가 적어도 하나의 관련 서브세트 식별자 중 하나와 부합한다는 조건하에서, 압축된 비디오 비트 스트림으로부터 추출된다.
본 발명은, 최신 비디오 코딩 표준들의 계층화된 비트 스트림 개념이 상이한 비트 스트림 서브세트들의 식별이 이루어지도록 하기 위하여 일반화될 수 있다는 것을 사용하는 것으로서, 여기서 각 비트 스트림 서브세트는 이와 관련된 소정의 특성들을 가지는 계층을 나타낸다. 예컨대, 각 비트 스트림 서브세트는 텍스처 기반 뷰 층(texture base view layer)과, 깊이 맵 고-품질 층(depth map high-quality layer), 일시적 폐색 맵 층(temporal occlusion map layer)와 같은 비디오 데이터를 반송하는 VCL 층, 또는 비-비디오 데이터, 즉 변수 세트와 같은 보충 정보를 반송하는 비-VCL 층을 각각 나타낼 수 있다. 이는, 각 층을, 즉 비트 스트림 서브세트를, 특정 뷰 식별자(뷰_id)(view_id), 종속 식별자(종속_id)(dependency_id) 등과 같은, 층의 특성을 기술하는 변수들과 관련되는 스트림 식별자(스트림_id)(stream_id)과 관련시킴으로써 이루어진다. 스트림_id는 NAL 유닛 헤더들에서 신호전송된다.
소정 층의 모든 상이한 특성들을 단일 식별자(스트림_id)로 통합함으로써, 망에서 또는 클라이언트 측에서 비디오 패킷들을 해석하고 또한 식별하는 프로세스가 단순하게 된다. 제안된 구문(syntax)은, 계층화된 표현들에 특히 적합하게 되어, 미래의 비디오 코덱들과 애플리케이션들과 호환될 수 있는 망-친숙 고-레벨 비디오 비트 스트림 시그날링(network-friendly high-level video bit stream signaling)을 위한 클라이언트 및 확장가능한 시스템 설계가 가능하도록 한다. 본 발명의 실시예에 따른 비디오 비트 스트림 시그날링은, 최신 비디오 코딩 표준들, 특히 직전에 기술한 AVC NAL 유닛 개념에 고유한 문제점들을 경감시킨다는 점에서 이점을 가진다.
보다 상세히 설명하면, 새로운 기능은, 새로운 NAL 유닛 유형들의 규정 또는 NAL 유닛 헤더 구문을 갱신하는 것 어느 것도 필요로 하지 않는다. 또한, 층의 특성들이 단일 스트림_id로 압축되기 때문에, 비디오 비트 스트림을 프로세싱하는 망 요소들과 클라인트들은 모든 정보 요소들, 즉 NAL 유닛 헤더들에서 사용되는 식별자들, 표시자(indicator)들, 변수들, 또는 플래그들에 대한 상세한 지식을 가질 필요가 없다. 마지막으로, 계층화된 비디오 비트 스트림, 즉 하나의 압축된 비디오 비트 스트림으로 다중화된(multiplexed) 여러 비트 스트림 서브세트들의 시그날링은, 정확한 일시적 동기화가 고-레벨 시그날링에 의존하는 해결책들에서보다 더 쉽다는 것이 장점이다. 이외에도, 비디오 표현의 관련된 층들 간의 리던던시는 비디오 신호를 압축할 때 이용될 수 있다.
압축된 비디오 비트 스트림에서 각 비디오 패킷은 단일 서브세트 식별자로 마크된다고 설명하였다 하더라도, 본 발명은 또한, 압축된 비디오 비트 스트림에 포함되는 모든 비디오 패킷들을 단일 서브세트 식별자로만 마크하는 본 발명의 실시예들을 예상할 수 있다.
본 발명의 한 실시예에 따라, 방법은 적어도 하나의 서브세트 정의(definition)를 제공하는 단계를 더 포함한다. 각 서브세트 정의는 다수의 비트 스트림 서브세트들 중에서 대응하는 비트 스트림 서브세트의 특성들을 기술한다. 관련된 비트 스트림 서브세트들의 특성들을 규정하기 위하여 서브세트들 정의를 사용하는 것은, 대응하는 비디오 층의 특성들이 망 요소들과 클라이언트들에게 명확하게 제공될 수 있다는 점에서 장점을 가진다.
본 발명의 한 실시예에 따라, 적어도 하나의 서브세트 정의가, 압축된 비디오 비트 스트림 내에 비디오 패킷으로서 제공된다. 비디오 패킷은 다수의 서브세트 정의를 반송할 수 있고, 각 서브세트 정의는 상이한 비트 스트림 서브세트에 대응한다. 하나 또는 여러 서브세트 정의들을 포함하는 비디오 패킷은 변수 스트림 세트(parameter stream set)(StPS)에서 반송될 수 있다. 이는, 관련 비트 스트림 서브세트들, 즉 비디오 또는 변수 층들의 특성들을 기술하는 서브세트 정의들이 비디오 신호와 함께 망 요소들과 클라이언트들에게 제공될 수 있다. 각 서브세트 정의는 일시_id(temporal_id), 뷰_id, 품질_id, 우선도_id(priority_id), 또는 서브세트 내에 반송되는 데이터의 유형에 관계된 정보를 포함한다. 하나 이상의 비트 스트림 서브세트들이 서브세트 정의 또는 다른 변수들을 시그날링하기 위해 예비 할당(reserve)될 수 있다. 이러한 예비 할당된 비트 스트림 서브세트들은 망 요소들과 클라이언트들에게 공지된, 선규정된 스트림_id들, 예컨대 스트림_id=0와 관련될 수 있다.
본 발명의 한 실시예에 따라, 다수의 서브세트 식별자들의 각 서브세트 식별자는 수치 값이다. 각 서브세트 식별자의 값은 이의 관련된 비트 스트림 서브세트의 상대 우선도에 대응한다. 즉 환언하면, 각 비트 스트림 서브세트의 서브세트 식별자(스트림_id)는 특정 비트 스트림 서브세트에 의해 반송되는 비디오 데이터의 중요성을 나타낸다. 이러한 정보를 사용하여, 제한된 대역폭으로 인해 패킷들을 버릴 필요가 있는 망 요소들 또는 클라이언트들은 낮은 관련성을 나타내는, 높은 스트림_id를 가지는 패킷들을 버릴 수 있고 또한 높은 관련성을 나타내는, 낮은 스트림_id를 가지는 패킷들을 유지할 수 있다.
본 발명의 한 실시예에 따라, 방법은 적어도 하나의 비디오 표현 정의를 제공하는 단계를 더 포함한다. 각 비디오 표현 정의는 적어도 하나의 관련 서브세트 식별자를 포함한다. 적어도 하나의 관련 서브세트 식별자들과 관련된 비트 스트림 서브세트는 디코드 가능한 비디오 표현을 형성한다. 즉, 각 비디오 표현은 여러 스트림_id를 그룹화하고 또한 이들의 관련된 비트 스트림 서브세트를 그룹화하여 디코드 가능한 비디오를 형성한다. 이는, 독립적으로 디코드 가능하지 않을 수 있는 단일 비트 스트림 서브세트를 식별하는 서브세트 정의와는 같지 않다. 비디오 표현은, 예컨대 모든 텍스처 정보, 또는 기본 뷰를 위한 텍스처 및 깊이 맵 정보를 포함할 수 있다. 이는, 소정의 비디오 표현을 성공적으로 디코드하기 위하여 어느 비트 스트림 서브세트들이 처리될 필요가 있는가에 대한 정보를 망 요소들 또는 클라이언트들에게 제공될 수 있다는 점에서 장점이 된다.
본 발명의 한 실시예에 따라, 적어도 하나의 비디오 표현 정의가 압축된 비디오 비트 스트림에서 비디오 패킷으로서 제공된다. 이는, 비디오 표현에 관한 정보, 즉 디코드 가능한 비디오를 형성하기 위하여 처리될 필요가 있는 스트림_id들의 리스트가 비디오 데이터와 함께, 즉 다중화되어 시그날링될 수 있다. 비디오 패킷은 다수의 비디오 표현 정의들을 반송할 수 있고, 각 비디오 표현 정의는 소정의 특징들, 즉 특성들을 가지는 디코드 가능한 상이한 비디오 표현에 대응한다. 하나 또는 여러 개의 비디오 표현 정의들을 포함하는 비디오 패킷은 이 목적을 위해 예비 할당된 비트 스트림 서브세트에서 반송될 수 있고, 이 서브세트는 표현 변수 세트(representation parameter set)(RPS)로 부른다. RPS는 선규정된 스트림_id, 예컨대 스트림_id=0과 관련될 수 있다. 비디오 표현은 비디오 표현의 상대 우선도를 나타내는 수치 값과 관련될 수 있다는 것을 알게 될 것이다.
본 발명의 한 실시예에 따라, 방법은 각 수신 비디오 패킷에 대해, 추출된 비디오 패킷을 전송하거나 또는 디코딩하거나 또는 수신 비디오 패킷을 폐기하는 단계를 더 포함한다. 추출된 서브세트 식별자가 적어도 하나의 관련 서브세트 식별자 중 소정의 것과 부합하지 않는다는 조건하에서, 수신된 비디오 패킷이 폐기된다. 즉, 만일 관련된 스트림_id가 관련 스트림_id들의 리스트와 부합한다면 수신된 비디오 패킷은 처리되고, 즉 전송되거나 또는 디코드되고, 만일 그렇지 않다면 폐기된다. 이는, 수신된 비디오 패킷들이 관련되는지 여부에 따라 망 요소들 또는 클라이언트들이 수신된 비디오 패킷들을 처리할 수 있다는 점에서 장점이 된다. 예컨대, 클라이언트 소정의 비트 스트림 서브세트들, 예컨대 함께 디코드 가능한 비디오, 즉 비디오 표현을 형성하는 서브세트들의 그룹을 처리하도록만 구성될 수 있다. 또한, 망 요소는 덜 관련성이 있는 것으로 간주되는 비트 스트림, 예컨대 한정된 대역폭의 경우에서 고-품질 강화 층들을 폐기하도록 구성될 수 있다.
본 발명의 한 실시예에 따라, 방법은 서브세트 정의를 제공하는 단계를 더 포함한다. 서브세트 정의는 다수의 비트 스트림 서브세트들 중에서 대응하는 비트 스트림 서브세트의 특성들을 기술한다. 방법은 또한 적어도 하나의 관련 서브세트 식별자로서 대응 비트 스트림과 관련되는 서브세트 식별자를 사용하는 단계를 더 포함한다. 서브세트 정의에 포함되는 스트림_id를 사용하는 것은, 서브세트 정의에 의해 명시되는 것과 같은 프로세싱을 위해 망 요소들과 클라이언트들이 비디오 패킷들을 선택할 수 있도록 해준다는 점에서 장점을 가진다.
본 발명의 한 실시예에 따라, 방법은 다수의 서브세트 정의들로부터 서브세트 정의를 선택하는 단계를 더 포함한다. 서브세트 정의는 대응하는 비트 스트림 서브세트의 적어도 한 특성에 따라 선택된다. 이는, 만일 여러 서브세트 정의들이 제공된다면, 망 요소들 또는 클라이언트들이 소정의 특성들을 가지는 프로세싱을 위한 비트 스트림 서브세트를 선택할 수 있다는 점에서 장점을 가진다. 예컨대, 클라이언트는 소정의 표시자, 예컨대 소정의 임시_id, 뷰_id, 품질_id, 우선도_id를 포함하거나 또는 서브세트에 반송되는 데이터의 유형을 나타내는 서브세트 정의를 선택할 수 있다.
본 발명의 한 실시예에 따라, 방법은 압축된 비디오 비트 스트림에서 비디오 패킷으로부터 서브세트 정의를 수신하는 단계를 더 포함한다. 이는, 그들과 관련된 비트 스트림 서브세트, 즉 비디오 또는 변수 층들의 특성들을 기술하는 서브세트 정의들이 망 요소들과 클라이언트들에 의해 비디오 데이터와 함께 수신될 수 있다는 점에서 장점을 가진다.
본 발명의 한 실시예에 따라, 방법은 압축된 비디오 비트 스트림에서 비디오 패킷으로부터 비디오 표현 정의를 수신하는 단계를 더 포함한다. 이는, 비디오 표현에 관한 정보, 즉 디코드 가능한 비디오를 형성하기 위하여 처리될 필요가 있는 여러 스트림_id들이 비디오 데이터와 함께 수신될 수 있다는 점에서 장점이다.
몇몇 경우에서, 본 발명의 장점들이 본 발명의 제1 및 제4면에 따른 방법들의 실시예를 참조하여 기술되었다고 하더라도, 본 발명의 제2 및 제5면에 따른 컴퓨터 프로그램들과, 본 발명의 제3 및 제6면에 따른 컴퓨터 프로그램 제품과, 본 발명의 제7 및 제8면에 따른 장치들에 대해서도 마찬가지로 적용할 수 있다.
본 발명의 특징들과 장점들과 그리고 부수적인 목적들은, 다음의 설명적이고 또한 비-제한적인 본 발명의 실시예들의 상세한 설명과 함께 첨부도면들을 통해 더 잘 이해하게 될 것이다. 도면에서:
도 1은 비디오 신호들의 엔코딩과, 전송과, 디코딩을 위한 시스템을 보여주는 도면.
도 2는 본 발명의 실시예들에 따라, 비트 스트림 서브세트들과, 서브세트 정의들과, 그리고 비디오 표현 정의들의 개념을 설명하는 도면.
도 3은 본 발명의 실시예들에 따라, 제안된 구문을 설명하는 도면.
도 4는 본 발명의 실시예에 따라, 압축된 비디오 비트 스트림에서 비트 스트림 서브세트들을 나타내는 방법을 보여주는 도면.
도 5는 본 발명의 실시예에 따라, 압축된 비디오 비트 스트림으로부터 비디오 패킷들을 추출하는 방법을 보여주는 도면.
도 6은 본 발명의 한 실시예에 따라, 비트 스트림 마커를 보여주는 도면.
도 7은 본 발명의 한 실시예에 따라, 비트 스트림 추출기를 보여주는 도면.
도 8은 본 발명의 실시예들에 따라, 컴퓨터 프로그램 코드를 실행하기 위한 비디오 처리 장치를 보여주는 도면.
모든 도면들은 개략적이고, 확장 가능할 필요가 없으며, 또한 본 발명을 설명하기 위해 필요한 부분들만을 보여주고, 여기서 다른 부분들을 생략되거나 또는 단지 제안만 된다.
본 발명을 설명할 목적으로, 비디오 신호들을 엔코딩, 전송 및 디코딩하기 위한 시스템(100)이 도 1에 도시되어 있다.
시스템(100)은 비디오 엔코딩장치(110)와, 전송망(120)과 그리고 비디오 디코딩장치(130)를 포함한다. 전형적으로, 비디오 엔코딩장치(110)는 하나 또는 여러 소오스들로부터 비디오 신호를 수신하고 또한 최종 비트 스트림을 비디오 패킷들고, 예컨대 NAL 유닛들로 서브-분할(sub-dividing)할 뿐만 아니라 비디오 신호를 압축하도록 배열된다. 그런 다음, 최종 비디오 패킷들은 전송망(120)을 통해 디코딩장치(130)로 전송된다. 전송망(120)은 전형적으로 다수의 상호접속된 노드들, 즉 비디오 패킷들을 엔코딩장치(110)에서부터 디코딩장치(130)로 전송하도록 배열되는 망 요소들(121 - 123)을 포함한다. 망 요소들(121 -123)은 예컨대 스위치들이거나, 라우터들이거나, 또는 비디오 패킷들을 처리하기에 적합한 다른 유형의 망 노드일 수 있다. 전송망(120)은 예컨대, 지역망, 이동통신망, 또는 인터넷일 수 잇다.
디코딩장치(130)는 전송망(120)으로부ㅊ터 비디오 패킷들 수신하고 또한 수신한 압축된 비디오 비트 스트림을 디코딩하도록 배열된다. 또한, 디코딩장치(130)는 디코딩된 비디오를 시청자에게 디스플레이하도록 배열될 수 있다. 디코딩자이(130)는 예컨대, 비디오 재생기, 텔레비전 세트, 컴퓨터, 또는 이동전화일 수 있다.
다음에서, 스트림 식별자, 서브세트 정의, 및 비디오 표현들의 개념을 설명하는 도 2를 참조하여 본 발명의 실시예들을 설명한다.
도 2에서, 압축된 비디오 비트 스트림(210)의 섹션이 도시되어 있다. 섹션은 여섯 개의 비디오 패킷들, 즉 NAL 유닛들(211 - 216)을 포함하고, 유닛들 각각은 비디오 데이터 또는 변수들과 같은 보충 정보를 포함할 수 있다. 또한, 각 NAL 유닛(211 - 216)은 각 NAL 유닛(211 - 216)을 압축된 비디오 비트 스트림의 대응하는 비트 스트림 서브세트와 관련시킬 목적으로 플래그 스트림_id(flag stream_id)을 포함한다. 예컨대, 도 2에 예시된 비디오 비트 스트림 섹션(210)에 대해, NAL 유닛(211, 213 및 216)들은 스트림_id=0으로 마크(표시)된다. 즉 이 들은 제1비트 스트림 서브세트와 관련된다. 또한, NAL 유닛(212 및 214)들은 스트림_id=1로 마크된다. 즉, 이들은 제1비트 스트림 서브세트와는 상이한 제2비트 스트림 서브세트와 관련된다. 마지막으로, NAL 유닛(215)는 스트림_id=2로 마크된다. 즉 이는 제1 및 제2비트 스트림 서브세트와는 상이한 제3비트 스트림 서브세트와 관련된다.
압축된 비디오 비트 스트림에서 반송되는 NAL 유닛들 각각에 포함되는 식별자 스트림_id(identifier stream_id)로, NAL 유닛이 속하는 비트 스트림 서브세트는 각 NAL 유닛에 대해 표시된다. 압축된 비디오 비트 스트림에 반송되는 각 비트 스트림 서브세트는 압축된 비디오 신호의 소정의 층, 예컨대, 텍스처 기반 뷰 층, 깊이 맵 고-품질 층, 변수 세트 층, 임시 층, 폐색 맵 층, 또는 다른 유형의 비디오 또는 보충 층을 나타내고, 각각의 NLA 유닛은 대응하는 층과 관련된다. 이 방식으로, 소정의 층과 관련된 모든 변수들, 예컨대 층이 어떤 뷰를 나타내는가, 층이 어떤 비디오 품질을 포함하는가, 또는 층들 간의 종속성을 기술하는 변수들이 단일 스트림 식별자(stream_id)에 압축된다. 변수들의 세트를 기술하기 위해 단일 식별자를 사용하여, 유니들을 전송하는 망 요소들 또는 유닛들을 디코딩하는 클라인트들에 의해 NAL 유닛들의 단순화된 처리를 이루어지게 하는 인디렉션의 레벨(a level of indirection)이 도입된다.
각 층, 즉 비트 스트림 서브세트의 특성들은 미리 규정될 수 있고 또한 비디오 신호들의 코딩, 전송 및 디코딩에 수반되는 모든 객체(entities)들에 공지될 수 있다. 예컨대, 도 1을 참조하면, 디코딩장치(130)는 전송망(120)을 통해 엔코딩장치(110)로부터 수신된 상이한 비트 스트림 서브세트들, 또는 층들 중에서 하나 또는 얼마에 속하는 비디오 패킷들만을 디코딩하도록 구성될 수 있다. 이는, stream_id=0인 경우일 수 있지만, stream_id=1 및 stream_id=2는 개선된 비디오 품질을 제공하기 위한 강화 층들일 수 있고, 그리고 디코딩장치(130)는 낮은 품질의 비디오 신호를 디스플레이할 수만 있다. 또한, 망 요소(212 - 123)들은, 만일 가용 대역폭이 제한된다면, 세 개의 비트 스트림 서브세트들 중에서 하나 또는 두 개에 속하는 비디오 패킷들만을 전송하도록 구성될 수 있다.
도 2를 참조하여, 다중-층 비디오 비트 스트림에 포함되는 비디오 층들의 개선된 처리가 기술된다.
본 발명의 한 실시예에 따라, 각 층, 즉 비트 스트림 서브세트의 특성들은 서브세트 정의(221 - 223)를 통해, 비디오 신호들의 엔코딩, 전송, 및 디코딩에 연루되는 객체들에게 제공된다. 각 층에 대해, 층의 특성들을 기술하는 정보, 즉 변수들을 포함하는 대응하는 서브세트 정의(221 - 223)들이 제공된다. 예컨대, 서브세트 정의(221)은 stream_id=0으로 표시되는 바와 같이, 제1비트 스트림 서브세트의 특성들을 기술한다. 따라서, 서브세트 정의(222)은 제2비트 스트림 서브세트의 특성 즉 stream_id=1를 기술하고, 그리고 서브세트 정의(223)는 제3비트 스트림 서브세트의 특성들, 즉 stream_id=2를 기술한다. 각 서브세트 정의(221 - 223)에 포함되는 변수들, 즉 텍스처_플래그(texture_flag), 깊이_플래그(depth_flag), 폐색_플래그(occlusion_flag) 및 뷰_id(view_id)들은, 비트 스트림 서브세트가 텍스처 층인지, 깊이 맵 층인지, 폐색된 텍스처 층인지와 이들이 속하는 뷰를 나타낸다. 도 2에 예시된 서브세트 정의(221 - 223)들에 대해, 모든 층들은 동일한 뷰에 속해, view_id=0을 가진다. 서브세트 정의(221)에 의해 기술되는 제1층은 뷰의 텍스처를 포함하고, 서브세트 정의(222)에 의해 기술되는 제2층은 뷰의 깊이 맵을 포함하고, 그리고 서브세트 정의(223)에 의해 기술되는 제3층은 뷰의 폐색된 텍스처를 포함한다.
도 2를 참조하여, 본 발명의 한 실시예에 따른, 비디오 표현(video representation)들의 개념이 기술된다.
비디오 표현은 하나 이상의 층들, 즉 비트 스트림 세브세트들을 함께 그룹화시켜 디코드 가능한 비디오를 형성하는데 사용된다. 이 그룹화 매카니즘은 압축된 비디오 비트 스트림을 처리하는데 연루되는 망 요소들과 클라이언트들에게 비트 스트림 서브세트들에 관한 정보를 제공하는데 사용될 수 있다. 이는, 비디오 표현 정의에 포함되는 통합 정보를 망 요소들과 클라이언트들에게 제공함으로써 이루어진다. 이를 위해, 비디오 표현은, 예컨대 비트 스트림 내 모든 텍스처 정보, 또는 기본 뷰에 대한 텍스처 및 깊이 맵 정보를 포함할 수 있다. 비디오 신호를 디코딩하여 비디오를 시청자에게 디스플레이하기 위하여, 압축된 비디오 비트 스트림으로부터 소정의 비디오 표현을 추출하기를 원하는 망 요소, 또는 클라이언트는 관련 비디오 표현을 식별하고, 그리고 계속하여 비디오 표현의 일부인 모든 비트 스트림 서브세트들을 추출할 수 있다.
도 2에 도시된 비디오 표현(221 - 223)들과 같은, 본 발명의 한 실시예에 따른 비디오 표현들은 망 요소들과 클라이언트들에 의한 비디오 표현의 식별을 용이하게 하기 위하여, 비디오 표현 식별자(표현_id)(representation_id)로 표시된다. 또한, 각 비디오 표현은 비디오 신호를 디코드할 수 있어야 하는 비트 스트림 서브세트를 나타내어, 의미있는 비디오를 렌더링하는 스트림_id들의 리스트를 포함한다.
예컨대, 표현 정의(231)에 의해 규정되는 바와 같이, 제1비디오 표현은 representation_id=0으로 표시되고 또한 단일 비트 스트림 서브세트 식별자(stream_id=0)를 포함한다. 그러므로, 비트 스트림 서브세트의 정의(221)이 stream_id=0을 가진다고 가정하면, 제1표현은 모노 2D 비디오 시퀀스이다. 즉 텍스처 정보의 단일 뷰이다. 또한, 표현 정의(232)에 의해 규정되는 바와 같이, 제2비디오 표현은 representation_id=1로 표시되고 또한 두 개의 비트 스트림 서브세트 식별자(stream_id=0 및 stream_id=1)들의 리스트를 포함한다. 따라서, 서브세트 정의(221 및 222)을 가정하면, stream_id=1을 가지는 층에 의해 반송되는 깊이 맵을 더 포함하기 때문에 제2비디오 표현은 3D 비디오 시퀀스를 렌더링할 수 있다. 그러나, 제2비디오 표현은 어떠한 폐색 텍스처 정보를 포함하지 않기 때문에, 렌더링된 3D 비디오는 한정된 품질이다. 이러한 문제는, 폐색된 텍스처 정보를 포함하는 3D 비디오 시퀀스의 렌더링이 이루어지게 하는, 제3비디오 표현에 의해 처리된다. 이 목적을 위해, 비디오 정의(223)는 세 개의 비트 스트림 서브세트 식별자들(stream_id=0, stream_id=1 및 stream_id=2)의 리스트를 포함한다.
계층화된 비트 스트림들, 서브세트 정의, 및 비디오 표현들의 개념들은, 직전에 예시되었던 바와 같이 단일 뷰만에 한정되지 않는다는 것을 알 것이다. 차라리, 서브세트 정의들은, 예컨대 상이한 뷰들, 예컨대 view_id=0 및 view_id=1를 나타내고, 상이한 카메라 각도들을 가지는 층들, 또는 상이한 비디오 품질들의 비디오 신호들을 반송하는 층들의 특성들을 기술하는데 사용될 수 있다.
비디오 표현들의 개념은, 비디오 비트 스트림의 처리에 연루되는 망 요소들과 클라이언트들에 의한 다중-층 비디오 비트 스트림들의 단순한 처리가 이루어지게 한다. 소정의 비디오 표현을 전송하기를 원하는 망 요소, 또는 디코드하기를 원하는 클라이언트는 단순히 대응하는 표현 정의를 식별하고, 표현 정의로부터 필요한 비트 스트림 서브세트 식별자들의 리스트를 판독하고, 그리고 압축된 비디오 비트 스트림으로부터 필요한 비트 스트림 서브세트에 속하는 비디오 패킷들을 추출할수 있다.
예컨대, 임시_id(temporal_id), 우선도_id(priority_id), 품질_id(quality_id), 종속_id(dependency_id) 등과 같은 여러 식별자들을 사용하는 SVC NAL 유닛 헤더 확장들과 같은, 비트 스트림 서브세트를 식별하기 위한 공지 방법들과 비교하면, 제한된 방법은 단지 단일 식별자만을 사용하여, 하드웨어 및 소프트웨어의 구현들을 한층 더 단순하게 한다. 특히, 단일 식별자(stream_id)는 종속_id와는 달리 어떠한 규정된 의미를 가지지 않지만, 그 의미는 이차의미, 예컨대 종속_id를 통해 표시된다. 이러한 인디렉션으로, 제안된 개념은, 만일 새로운 기능이 나중 단계에 도입되더라도 쉽게 확장될 수 있는데, 이러한 기능에 대한 정보는 서브세트 정의들에서 시그날링될 수 있고, NAL 유닛 헤더들에 아무런 변경이 필요하지 않기 때문이다. 특히, 본 발명의 한 실시예에 따른 NAL 유닛 헤더는, 확장이 사용되는지 여부에 상관없이 고정될 길이를 가질 수 있어서, NAL 유닛 헤더들의 파싱(parsing)을 공지 해결책들보다 한층 더 단순하게 한다.
도 3을 참조하여, 제안된 구문(syntax)에 관해, 본 발명의 실시예들의 보다 상세한 설명이 다음과 같이 주어진다.
서브세트 식별자(stream_id)는 NAL 유닛 헤더에 반송된다. NAL 유닛 헤더는 NAL 유닛 유형, 출력_플래그(output_flag), 또는 다른 것들과 같은 다른 식별자들을 포함하거나 포함하지 않을 수 잇다. NAL 유닛 헤더(310)의 예가 도 3에 도시되어 있는데, forbidden_zero_bit는 0과 같고, nal_unit_type은 NAL 유닛에 포함되는 유형 데이터를 명시하고, output_flag는, 현재 NAL 유닛의 디코딩된 콘텐츠가 스크린 출력을 위한 것인지를 시그날링한다.
동일 stream_id로 상이한 NAL 유닛들을 만듦으로써, 이들은 동일한 비트 스트림 서브세트, 즉 동일층에 속하는 것으로 표시된다. 전형적으로, 동일 비트 스트림 서브세트에 속하는 모든 NAL 유닛들은 하나 이상의 특정 특성들을 공유해야 한다. 예컨대:
- 서브세트 내 모든 NAL 유닛들은 변수 세트들이고,
- 서브세트 내 모든 NAL 유닛들은 인트라 코딩된(intra-coded) 화상(picture)이고,
- 서브세트 내 모든 NAL 유닛들은, 소위 "폐쇄 화상 집단(closed group of pictures)(GOP)"(AVC에서 순간적인 디코더 리플레쉬(instantaneous decoder refresh)(IDR) 화상들)랜덤 액세스 포인트의 시작을 나타내고,
- 서브세트 내 모든 NAL 유닛은, 소위 "개방(open) GOP" 랜덤 액세스 포인트(디코딩의 시작을 허용하는 인트라(intra) 화상)을 나타내고,
- 서브세트 내 모든 NAL 유닛은 기본 품질을 표현하는 비디오 프레임들을 반송하고,
- 서브세트 내 모든 NAL 유닛은 임시 개선(temporal refinement) 정보를 반송하고,
- 서브세트 내 모든 NAL 유닛은, 공간적인 확장성(spatial scalability)의 경우에 공간적인 개선 정보를 반송하고,
- 서브세트 내 모든 NAL 유닛은 다중-뷰 코딩에서 소정의 카메라 뷰에 대응하는 정보를 반송하거나, 또는
- 서브세트 내 모든 NAL 유닛은 소정의 비디오 스트림, 예컨대 깊이 맵 스트림에 관한 정보를 반송한다.
다수의 이러한 특성들을 주어진 서브세트에 대해 동시에 유효할 수 있다는 것을 알아야 한다.
몇몇 서브세트들의 특성들과, 관련된 스트림_id들은 미리 규정될 수 있다. 예컨대, stream_id=0은, SPS, PPS, StPS 또는 RPS와 같은 변수 세트들을 반송하는 NAL 유닛들만을 포함하는 서브세트를 나타낼 수 있다. 대안으로서, SPS, PPS, StPS 및 RPS들은 미리 규정될 수 있지만, 상이한 stream_id들이다.
서브세트의 특성들에 관한 정보가 서브세트 정의에 의해 명확하게 제공될 수 있다. 서브세트 정의는, 예컨대 temporal_id, quality_id 등과 같은 변수들을 포함할 수 있다. 예시적인 서브세트 정의(320)가 도 3에 도시되어 있다.
본 발명의 한 실시예에 따른, 서브세트 정의(320)과 같은 서브세트 정의의 구문(syntax)는, 예컨대 NAL 유닛 유형 또는 다른 특성들에 의존하는 조건부 필드(conditional field)들을 포함할 수 있다. 서브세트 정의(320)는, 참조(referring) NAL 유닛이 비-VCL 데이터가 아닌 VCL 데이터를 포함할 때에만 사용될 수 있는 구문 요소들을 예시한다(본 명세서에서, 예제의 NAL 유닛은 AVC 명세를 따른다는 것을 알아야 한다).
서브세트 정의(320)에서, stream_id는 비트 스트림의 서브세트인 계층화된 스트림을 식별하고, stream_type은 명시되고 있는 스트림의 유형을 기술하고, 그리고 version_id는 스트림을 기술하는 명세의 버전을 명시한다. 플래그들 view_id, temporal_id, quality_id, 및 dependency_id 각각은 속성(property) 또는 대응하는 층을 식별한다. 상세히 설명하면, view_id는 카메라 뷰를 나타내고, temporal_id는 임시 개선 층(refinement layer), 예컨대 30Hz 프레임율의 위에서 60Hz 개선을 나타내고, quality_id는 압축된 비디오의 신호 충실도(fidelity)를 나타내고, 그리고 dependency_id는 공간적인 확장성의 경우에서 공간적인 개선 층을 나타낸다.
서브세트 정의 자체는 비트 스트림에서, 예컨대 전용 NAL 유닛의 형태, 즉 StPS로 반송될 수 있다. 이러한 전용 NAL 유닛은 전용 NAL 유닛 유형으로 표시될 수 있다. 또한, 변수 세트들을 반송하는 NAL 유닛들의 NAL 유닛 헤더 내 특정 stream_id에 의해 표시되는 바와 같이, 변수 세트들의 비트 스트림 서브세트와 같은, 전용 서브세트의 일부일 수 있다. 이러한 스트림 변수 세트 NAL 유닛들을 반송하는 서브세트는 stream_id=0과 같은, 미리 규정된 stream_id를 가질 수 있다.
StPS는 임시 향상(temporal enhancement)(temporal_id), 품질 향상(quality_id), 공간적인 향상(dependency_id), 우선도(priority_id), 또는 SVC 및 MVC에 대한 NAL 유닛 확정 헤더들에 반송되는 것과 같은 소정의 시그날링에 관한 변수들을 포함할 수 있다. 또한, 관련된 NAL 유닛들 내에 반송되는 데이터의 유형에 대한 정보, 즉 변수 세트들, SEI 메시지들, 인트라 픽처(intra picture)들, 앵커 픽처(anchor picture) 등을 포함하는지에 대한 정보를 포함할 수 있다. 또한 압축된 데이터가, 예컨대 관련된 NAL 유닛들이 텍스처 데이터, 깊이 정보, 폐색 정보 등을 표현하는지를 표현하는 콘텐츠에 관한 높은 레벨의 정보를 반송할 수 있다.
본 발명의 한 실시예에 따른, 도 3에 예시된 서브세트 정의(320)와 같은, 스트림 변수 세트 구문은 확장가능한 형태로 규정될 수 있다. 이를 위해, 명세의 소정 버전, 예컨대 버전 N으로 규정되는 구문 요소들을 포함할 수 있다. 명세의 최근 갱신에서, 예컨대 버전 N+1에서, 추가적인 구문 요소들이 포함될 수 있다. 이 경우에, 명세의 버전 N을 따르는 수신장치는 버전 N 구문 요소들을 해설할 수 있을 뿐이지만, 버전 N+1을 따르는 수신장치는 추가적인 구문 요소들을 해석할 수 있다. 이 경우에, StPS는 탄력적인 길이를 가질 수 있고 또한 필요하다면 명세의 새로운 버전으로 확장될 수 있다. 버전 N 수신장치가 버전 N을 따르는 변수들과 버전 N+1을 따른 추가 변수들을 포함하는 버전 N+1 StPS를 수신하여야 한다면, 장치는 버전 N 구문 요소들을 판독하고 또한 버전 N+1 구문 요소들을 무시할 수 있다. 다르게는, 버전 N에 부합하지 않기 때문에 해석할 수 없는 구문 요소를 발견하는 경우에, 버전 N 수신장치는 StPS와 관련된 NAL 유닛들을 버리도록 결정할 수 있다. 미지의 구문을 무시하거나 또는 관련 NAL 유닛들을 버리는 장치 행위는 별개의 플래그로 시그날링될 수 있다.
스트림 변수 세트 구문은 맞는 명세의 버전을 나타내기 위하여 버전 식별자를 포함할 수 있다. 버전 식별자는 예컨대 수치 값으로서 표현될 수 있는데, 여기서 증가하는 값은 증가하는 버전 번호를 나타낸다.만일 버전 N 수신장치가 N보다 작거나 동일한 버전 번호를 가지는 StSP를 수신한다면, 구문을 해석할 수 있게 딘다. 만일 버전 N 수신장치가 N보다 큰 버전 번호를 가지는 StPS를 수신한다면, 구문을 해석할 수 없게 되고, 적어도 N보다 큰 버전 번호를 가지는 버전에 특정한 부분을 해석할 수 없게 된다. 이 경우에, StPS와 관련된 NAL 유닛들을 버릴 수 있다. 다르게는, StPS 자체를 해석하지 않고서, StPS와 관련된 NAL 유닛을 해석할 수 있다. 이 행위는 부가적인 플래그에 의해 제어될 수 있다.
서브세트 정의(320)에 표시된 바와 같이, 서브세트에 포함된 스트림 변수 세트와 NAL 유닛들의 연관(association)은 변수 stream_id에 의해 제공될 수 있어서, 관련된 NAL 유닛들뿐만 아니라 스트림 변수 세트, 즉 서브세트 정의를 포함하는 NAL 유닛들은 동일한 stream_id로 표시된다. 다르게는, StPS는, 예컨대 stream_id들의 리스트를 포함하고, StPS가 이들 stream_id들 각각을 가지는 NAL 유닛들에 대응한다는 것을 표시함으로써, 하나를 초과하는 stream_id와 연관을 나타낼 수 있다. 더 다르게는, StPS는 M="1111111100000000"(십진법 65280)과 같은 비트 마스크 필드와 예컨대, V="1010101000000000"(십진법 43520)과 같은 값 필드를 나타낼 수 있고, 그리고 "stream_id & M=V"와 같은 조건에 부합하는 stream_id를 가지는 모든 NAL 유닛들이 StPS와 관련되고, 여기서 "&"는 비트-방향 "및 " 연산(bit-wise "and" operation)이다. 다수의 stream_id들을 동일 StPS와 연관시키는 것은, 서브세트의 특성들에 관련되는 변수들을 반송하는데 소수의 StPS 패킷들이 필요하게 된다는 장점을 가진다. 이 방식에서, 여러 별개의 stream_id들에 대응하는, 여러 비트 스트림 서브세트들에 대해 유효한 정보가 단일 StPS에서 반송될 수 있다. 이들 서브세트들 중 하나 또는 몇몇 들에 대해서만 유효한 부수적인 정보가 독립된 StPS들에서 반송될 수 있다.
stream_id는 수치적인 값일 수 있고, 또한 낮은 stream_id들을 가지는 NAL 유닛들이 변수 세트들 또는 인트라 프레임들과 같은 보다 중요한 데이터를 반송되도록 규정될 수 있는 한편, 높은 stream_id들을 가지는 NAL 유닛들은 SEI 또는 임시 향상 데이터와 같은 낮은 중요도의 데이터를 반송하도록 규정될 수 있다. 이러한 우선도 정보를 사용하여, 대역폭의 제한 때문에 패킷들을 버려야할 필요가 있는 망 노드는 높은 값의 stream_id를 가지는 패킷들을 버리고 도한 낮은 값들의 stream_id를 가지는 패킷들을 유지할 수 있다.
SVC 및 MVC에서와 같이, temporal_id, dependency_id 등과 같은 여러 변수들을 사용하는 것에 비해, stream_id 개념의 장점은, 인디렉션의 레벨을 사용하기 때문에, 새로운 코덱 기능이 출현했을 때 도입하여야 할 새로운 필드들을 필요로 하지 않는다는 것이다. 또한, stream_id가 그와 관련된 비트 스트림 서브세트의 상대 우선도를 나타낸다면, 인디렉션은 몇몇 경우들에서 해결될 필요가 없어서, NAL 유닛들의 파싱(parsing)과 디스패칭(dispatching)을 더 단순하게 만든다.
비디오 표현에 stream_id 들의 리스트를 제공함으로써, 비트 스트림의 다른 부분들과는 독립적으로 디코딩될 수 있는 압축된 비디오 비트 스트림의 부분이 식별될 수 있다. 관련된 비트 스트림 서브세트들은 디코드 가능한 비디오를 형성한다. 즉, 표현 외측의 NAL 유닛들에 대한 인터-픽처(inter-picture) 또는 인터-뷰(inter-view) 종속들이 없다. 이는, 만일 임시 향상 정보만을 포함한다면 독립적으로 디코딩될 수 없는, 단일 stream_id에 의해 식별되는 비트 스트림 서브세트와는 다르다. 비디오 표현은 콘텐츠의 유형과 같은 소정의 특성들, 예컨대, 텍스퍼, 깊이 또는 폐색정보와 관련될 수 이Tejk.
비디오 표현의 정의, 즉 필요한 stream_id들의 리스트와, 그리고 표현의 부수적인 특성들이 비트 스트림 내 개별적인 비디오 패킷에 제공될 수 있다. 즉 RPS. 표현 변수 세트들을 제공하는 적어도 두 가지 방식들이 있다. 한 방식은, 하나의 NAL 유닛에 정확하게 하나의 RPS를 제공하는 것이다. 대안으로서, 본 발명의 한 실시예에 따라, NAL 유닛(330)으로 나타낸 바와 같이, 단일 NAL 유닛에 여러 RPS들을 제공할 수 있다.
비디오 표현 정의(330)에서, num_representation은 NAL 유닛에 명시된 표현들의 수이고, representation_id는 비디오 표현을 식별하고, representation_priority_id는 표현의 우선도를 규정하고, 그리고 representation_type은 비디오 표현의 유형이다. 비디오 표현의 유형은 예컨대 다음의 것들 중 하나일 수 있다:
- 단지 텍스처만을 가지는 단안식(monoscopic) 비디오,
- 텍스터와 스테레오 애플리케이션을 가지는 입체(streoscopic) 비디오,
- 뷰 합성(view synthesis)을 사용하여 얼마간의 오토스테레오스코픽(autostreoscopic)/스테레오 효과를 생성할 수 있는 텍스처와 깊이 정보를 가지는 단안식 비디오,
- 뷰 합성을 사용하여 훌륭한 오토스테레오스코픽 효과를 생성할 수 있는 텍스와 깊이 정보를 가지는 입체 비디오,
뷰 합성을 사용하여 훌륭한 오토스테레오스코픽/스테레오 효과를 생성할 수 있는, 텍스처, 깊이 및 디스어쿨루젼(disocclusion) 정보를 가지는 단안식 비디오, 및
- 비-손실 채널(non-lossy channel)을 사용하여 미리 대역 밖의 망 요소들과 클라이언트들에게 전송되는 SPS 및 PPS.
비디오 표현 정의(330)를 더 참조하면, num_stream들은 이 표현에 포함되는 필요 스트림들의 수를 시그날링하고, 그리고 각각 stream_id는 필요한 스트림을 명시한다. 선택적으로, RPS 정보를 반송하는 NAL 유닛은 미리 규정된 stream_id, 예컨대 stream_id=0으로 표시될 수 있다.
표현 정의(330)에 나타내었던 바와 같이, RPS에 의해 규정되는 특성들 중 하나는 다른 비디오 표현들에 관해 현재 표현의 우선도 값을 나타내는 우선도 표시자(priority indicator)(representation_priority_id)일 수 있다.
표현 정의들(RPS)과 서브세트 정의들(StPS)을 기반으로, 동적인 스트리밍 해결책이 단순한 방식으로 적용될 수 있다. 예컨대, 서버는 quality_id=0, 1 및 2fh 각각 식별되는 세 개의 비트 스트림 서브세트들, 즉 층들을 가지는 비디오 비트 스트림을 제공할 수 있다. 이들 스트림들은 낮은, 중간 및 고-품질로 세 개의 비디오 표현들로 선택적으로 결합되고, 여기서 낮은 품질 표현은 quality_id=0을 가지는 서브세트를 포함하고, 중간 품질 표현은 quality_id=1 및 quality_id=2를 가지는 두 개의 서브세트들을 포함하고, 제3표현은 세 개의 서브세트들 모두를 포함한다. 클라이언트는 짧은 버퍼링(buffering)시간을 가지기 위하여, 낮은 품질을 가지지만 가장 작은 크기인 제1스트림을 다운로딩 시작할 수 있다. 잠깐 동안 비디오 재생한 후에, 클라이언트가 가용할 수 있는 망 대역폭을 검출한다면 클라이언트는 중간 또는 고-품질 표현으로 스위치할 수 있다. 망에서 경합이 발생하면, 클라이언트는 낮은 품질 레벨로 격하할 수 있다.
서브세트 정의들에서 규정된 quality_id와 다른 변수들을 가지는 것은, 필요한 비트 스트림 서브세트의 선택을 용이하게 한다. 이를 위해, 클라이언트는, SVC NAL 유닛 헤더들의 경우에서와 같이 여러 식별자들을 분석하고 또한 해석하기 보다는, 단순히 stream_id에 관한 규칙들로 지시될 수 있다. 대역폭은 전형적으로 품질과 분명한 상관관계를 가지기 때문에, quality_id를 시그날링하는 대신에, bandwidth_id가 대신에 시그날링될 수 있다.
패킷들을 수신하거나 또는 전송하는 비디오 패킷 수신기들 또는 비디오 패킷 송신기, 도는 비디오 패킷들을 수신하여 디코딩하는 디코딩 장치들과 같은 망 요소들은 본 발명의 실시예들에 따라, stream_id를 다음과 같이 해석할 수 있다. 망 또는 디코딩장치에, 수신, 송신 또는 디코딩 동작을 위해 적절하다고 간주되는 stream_id들의 리스트가 제공된다고 추정한다. 비디오 패킷이 수신되면, stream_id가 검사된다. stream_iddml 값에 따라, 비디오 패킷이 수신되고/전송되고/디코딩된다. 즉 비트 스트림으로부터 추출되거나, 또는 폐기된다. 즉, 만일 비디오 패킷 내 stream_id가 관련 stream_id들 중 하나와 부합한다면, 패킷은 더 처리된다. 그렇지 않다면, 패킷은 폐기되어 더 이상 처리되지 않는다.
관련 stream_id들의 리스트는 미리 규정된 stream_id들을 포함할 수 있다. 예컨대, 관련된 비트 스트림 서브세트가 변수 세트를 포함한다는 것은 나타내는 stream_id=0을 포함할 수 있다. 이 방식에서, 수신/송신/디코딩장치는 모든 변수 세트들을 수신할 수 있다. 그런 다음, 예컨대 StPS들 또는 RPS들 중 하나 또는 몇몇을 해석하고, 따라서 stream_id들의 리스트를 갱신한다. 이를 위해, 수신장치는 모든 StPS들을 수신할 수 있고, 또한 소정의 특성들에 대해 StPS 구문을 조사할 수 있다. 만일 주어진 특성, 예컨대 텍스처 데이터와 같은 비디오 데이터의 유형을 가지는 StPS가 검출된다면, 관련 stream_id들을 가지는 비디오 패킷들이 비트 스트림으로부터 추출된다. 이 방식에서, StPS와 관련된 stream_id들은, 임시_id(temporal_id), 뷰_id(view_id), 품질_id(quality_id), 비디오 데이터의 유형과 같은, StPS 내에 반송되는 변수들을 기반으로 선택될 수 있다.
서브세트의 관련성은 관련된 StPS 내에 반송되는 버전 식별자들을 기반으로 결정될 수 있다. 만일 수신장치가 StPS 내에 표시되는 버전 식별자와 부합된다면, 관련된 NAL 유닛들을 추출할 수 있다. 그렇지 않다면, 이를 폐기할 수 있다.
관련 스트림 식별자들의 리스트 또한 관련이 있는 것으로 여겨지는 표현 정의를 검사함으로써 얻을 수 있다. 이 경우에, 스트림 식별자들의 리스트는 표현 정의로부터 추출되고 또한 관련 스트림 식별자들로서 사용된다.
수신장치는 모든 RPS들을 수신하고, 또한 소정의 특성들, 예컨대 우선도, 비디오 콘텐츠의 유형, 또는 비디오의 해상도에 대해 RPS 구문을 해석할 수 있다. 만일 주어진 특성을 가지는 PRS가 검출된다면, 모든 관련된 stream_id들은 관련이 있는 것으로 간주되고 또한 비트 스트림으로부터 추출된다.
다르게는, 수신/송신/디코딩장치는 각각의 NAL 유닛들의 특성을 기반으로 패킷을 추출할지 또는 폐기할지에 대한 결정을 기반으로 할 수 있다. 특히, 만일 stream_id들이 비트 스트림 서브세트들의 상대적인 특성들에 따라 규정된다면, 수신/송신/디코딩장치는 "낮은(lower):stream_id들, 즉 보다 중요한 데이터를 가지는 패킷들을 추출하고, 또한 "높은(higher)"stream_id들, 즉 덜 중요한 데이터를 가지는 패킷들을 폐기할 수 있다. stream_id가 "낮은" 또는 "높은"인지에 대한 결정은 임계치를 기반으로 할 수 있다. 이 해결책은 대역폭 제한의 경우에 망 요소에서 패킷 포기(dropping) 또는 비트 스트림 시닝을 위해 사용될 수 있다.
본 발명을 더 설명하기 위하여, 다음에서 예가 주어진다. 예는 입체(stereoscopic) 비디오, 즉 view_id=0 및 view_id=1을 각각 가지고, 첨부 깊이 데이터를 가지는 두 개의 뷰들에 관련된다. 텍스처 및 깊이 비디오들 둘 다가, 상이한 temporal_di들로 표시되는, 다소간의 임시 확장성을 제공하는 것으로 추정하고, 여기서 temporal_id=0은 임시 기본 품질, 예컨대 30Hz 프레임율에서 비디오를 나타내고, 그리고 임시 향상 정보를 가지는 temporal_id=1은 예컨대 30Hz 프레임율에서 60Hz로 향상시킨다.
이용가능한 뷰들과 임시 해상도들에 대한 텍스처와 깊이 둘 다에 관한 데이터를 반송하는 NAL 유닛들은 여러 개의 비트 스트림 서브세트들을 사용한 동일 비트 스트림내로 다중화된다(multiplexed). 본 발명의 실시예들에 따른, 비트 스트림 서브세트들과 비디오 표현들의 개념을 사용하여, 이들은 고유하게 식별할 수 있다.
다음 표는 서브세트 정의들에 대한 예를 제공한다:
stream_id 콘텐츠
1 텍스처 : SPS PPS
2 텍스처 : view_id=0, temporal_id=0
3 텍스처 : view_id=0, temporal_id=1
4 텍스처 : view_id=1, temporal_id=0
5 텍스처 : view_id=1, temporal_id=1
6 깊이 맵 : SPS PPS
7 깊이: view_id=0, temporal_id=0
8 깊이: view_id=0, temporal_id=1
9 깊이: view_id=1, temporal_id=0
10 깊이: view_id=1, temporal_id=1
텍스처 데이터 view_id=0 및 view_id=1에 대응하는, stream_id=1-5를 가지는 다섯 개의 서브세트와, 깊이 데이터에 대응하는, stream_id=6-10을 가지는 다른 다섯 개의 서브세트들이 있다. stream_id=1 및 stream_id=6을 가지는 서브세트는, 시퀀스 변수 세트(SPS)와 화상 변수 세트(PPS)을 각각 반송하는, 즉 비-VCL 데이터를 반송하는 서브세트를 나타낸다. 잔여 stream_id들은 VCL 데이터를 반송하는 서브세트들을 나타낸다.
또한, 대응하는 표현 정의의 예가 다음 표에 설명된다:
representation_id 콘텐츠
0 텍스처 변수 세트 : 1
1 깊이 변수 세트 : 6
2 텍스처 기본 계층 고속 전송 : 1, 2
3 텍스처 기본 계층 : 1, 2, 3
4 텍스처 2-view : 1, 2, 3, 4, 5
5 모든 기본 계층 고속 전송 : 1, 2, 6, 7
6 모든 기본 계층 : 1, 2, 3, 6, 7, 8
여기서, representation_id=0을 가지는 표현은 stream_id=1을 가지는 NAL 유닛을 포함하는데, 이는 단지 텍스처 부분에 대한 SPS 및 PPS이다. 다른 예로서, representation_id=3을 가지는 표현은 stream_id=1, 2 및 3들을 포함하고, 이는 단지 텍스처 정보만을 포함하는 view_id=0을 가지는 단일 뷰 비디오를 나타낸다. 또 다른 예로서, representation_id=7은 완벽한 비트 스트림에 대응한다.
표현 정의를 수신한 후에, 수신 또는 송신장치는 시그날링된 특성들에 따라, 주어진 애플리케이션에 대해 가장 적절한 표현을 결정할 수 있어서, 관련 stream_id들의 리스트를 얻는다. 그런 다음, 입중계(incoming) NAL 유닛들의 NAL 유닛 헤더들을 조사함으로써, 이들 stream_id들과 관련되는 NAL 유닛들을 쉽게 추출할 수 있다.
다음에, 압축된 비디오 비트 스트림에서 비트 스트림 서브세트들을 표시하는 방법의 실시예를 도 4를 참조하여 기술한다. 방법의 실시예는 예컨대, 도 1을 참조하여 기술한 엔코딩장치(110)와 같은 송신장치에서 수행될 수 있다. 특히, 방법의 실시예는, 비디오 엔코더로부터 압축된 비디오 비트 스트림을 수신하는, 비트 스트림 마킹 장치(bit stream marking device), 즉 비트 스트림 마커에서 수행될 수 있다. 이를 위해, 방법의 실시예는 또한 비디오 엔코더에서 구현될 수 있다. 비트 스트림 마커는 비트 스트림을 비디오 엔코더로 세분하고, 각 비디오 패킷은 압축된 비디오 데이터, 예컨대, 비디오 프레임, 보충 정보 또는 일반적으로 NAL 유닛을 포함한다. 그런 다음, 각 비디오 패킷은 본 발명의 한 실시예에 따라, NAL 유닛 헤더 내 구문 요소 stream_id를 사용하여, 단일 서브세트 식별자로 마크(표시)된다. 선택적으로, 비디오 엔코더는 비트 스트림 마커에게 패킷화된 비디오 비트 스트림을 제공할 수 있는데, 이 경우 비트 스트림 마커는 비트 스트림을 패킷들로 세분할 필요가 없을 수 있다. 또한, 본 발명의 한 실시예에 따라, 마킹절차는 개별적인 비트 스트림 마커보다는 비디오 엔코더에 의해 수행될 수 있다.
압축된 비디오 비트 스트림에서 비트 스트림 서브세트들을 나타내는 방법의 실시예(410)가 도 4에 도시되어 있다. 방법(410)은 비디오 엔코더로부터 압축된 비디오 비트 스트림을 수신하는 단계(411)와, 압축된 비디오 비트 스트림을 비디오 패킷들로 분할하는 단계(412)와, 그리고 다수의 서브세트 식별자들 중에서 단일 서브세트 식별자로 각 비디오 패킷을 마킹하는 단계(413)를 포함하고, 여기서 다수의 서브세트 식별자들 중에서 각 서브세트 식별자는 다수의 비트 스트림 서브세트들 중에서 대응하는 비트 스트림 서브세트와 관련된다.
선택적으로, 방법(410)은 적어도 하나의 서브세트 정의를 제공하는 단계(414)를 더 포함하고, 여기서 각 서브세트 정의는 다수의 비트 스트림 서브세트들 중에서 대응하는 비트 스트림 서브세트의 특성들을 기술한다. 서브세트 정의들은 압축된 비디오 비트 스트림에 비디오 패킷으로서 제공되고 또한 망 요소들과 클라이언트들에게 전송될 수 있다.
단계(414)에서 제공된 서브세트 정의들 이외에, 방법(410)은 적어도 하나의 비디오 표현 정의를 제공하는 단계(415)를 더 포함할 수 있고, 여기서 각 비디오 표현 정의는 적어도 하나의 관련 서브세트 식별자를 포함하고, 또한 적어도 하나의 관련 서브세트 식별자와 관련된 모든 비트 스트림 서브세트들은 디코드 간응한 비디오 표현을 형성한다. 적어도 하나의 비디오 표현 정의는 압축된 비디오 비트 스트림에 비디오 패킷으로서 제공될 수 있고 또한 망 요소들과 클라이언트들에게 전송될 수 있다.
다음에, 비디오 패킷들로 분할되는 압축된 비디오 비트 스트림으로부터 비디오 패킷들을 추출하는 방법의 실시예들이 도 5를 참조하여 기술된다. 방법의 실시예는 도 1을 참조하여 기술한 망 요소들(121-123) 또는 디코딩장치(130)와 같은 수신장치에서 수행될 수 있다. 특히, 방법의 실시예는 비디오 패킷들로 분할되는 압축된 비디오 비트 스트림을 수신하는 비트 스트림 추출장치, 즉 비트 스트림 추출기에서 수행될 수 있다. 이를 위해, 방법의 실시예는 또한 비디오 패킷들을 라우팅시키도록 배열되는 망 요소 또는 비디오 디코더에서 구현될 수 있다.
비디오 패킷들로 분할되는 압축된 비디오 비트 스트림으로부터 비디오 패킷들 추출하는 방법의 실시예(510)가 도 5에 도시되어 있다. 방법(510)은 적어도 하나의 관련 서브세트 식별자를 제공하는 단계(511)와, 압축된 비디오 비트 스트림으로부터 비디오 패킷들을 수신하는 단계(512)와, 그리고 각 수신된 비디오 패킷들(513)에 대해, 비디오 패킷의 서브세트 식별자를 조사하는 단계(514)와, 그리고 추출된 서브세트 식별자가 적어도 하나의 관련 서브세트 식별자들 중 하나와 부합한다는 조건(515) 하에서, 압출된 비디오 비트 스트림으로부터 비디오 패킷을 추출하는 단계(516)를 포함한다.
선택적으로, 방법(510)은 추출된 비디오 패킷을 전송 또는 디코딩하는 단계(517)와, 추출된 서브세트 식별자가 적어도 하나의 관련 서브세트 식별자 중 어느 것과도 부합하지 않는다는 조건(515) 하에서, 수신된 비디오 패킷을 폐기하는 단계(518)를 더 포함할 수 있다.
또한, 방법(510)은 다수의 비트 스트림 서브세트들 중 대응하는 비트 스트림 서브세트의 특성들을 기술하는 서브세트 정의를 제공하는 단계(519)를 포함할 수 있다. 대응하는 비트 스트림과 관련된 서브세트 식별자는 단계(511)에서 적어도 하나의 관련 서브세트 식별자로서 사용된다.
선택적으로, 방법(510)은 추출된 비디오 패킷을 전송 또는 디코딩하는 단계(517)와, 그리고 추출된 서브세트 식별자가 적어도 하나의 관련 서브세트 식별자 중 어느 것과도 부합하지 않는다는 조건(515) 하에서, 수신된 비디오 패킷을 폐기하는 단계(518)를 더 포함할 수 있다.
또한, 방법(510)은 다수의 비트 스트림 서브세트들 중 대응하는 비트 스트림 서브세트의 특성들을 기술하는 서브세트 정의를 제공하는 단계(519)를 포함할 수 있다. 대응하는 비트 스트림과 관련된 서브세트 식별자는 단계(511)에서 적어도 하나의 관련 서브세트 식별자로서 사용된다.
선택적으로, 단계(519)에서, 서브세트 정의는 대응하는 비트 스트림 서브세트의 적어도 한 특성에 따른 다수의 서브세트 정의들 중에서 선택될 수 있다. 서브세트 정의는 압축된 비디오 비트 스트림 내 비디오 패킷들부터 수신될 수 있다.
또한, 방법(510)은 적어도 하나의 관련 서브세트 식별자를 포함하는 비디오 표현 정의를 제공하는 단계(520)를 포함할 수 있고, 여기서 적어도 하나의 관련 서브세트 식별자와 관련된 비트 스트림 서브세트들은 디코드 가능한 비디오 표현을 형성한다. 비디오 표현 정의는 압축된 비디오 비트 스트림 내 비디오 패킷으로부터 수신될 수 있다.
다음에, 도 6을 참조하여, 본 발명의 한 실시예에 따라, 압축된 비디오 비트 스트림 내 비트 스트림 서브세트를 나타내기 위한 비트 스트림 마커를 기술한다. 비트 스트림 마커의 실시예는 도 1을 참조하여 기술한 엔코딩장치(110) 내에 위치할 수 있다. 특히, 비트 스트림 마커의 실시예는 비디오 엔코더에서 구현될 수 있다.
비트 스트림 마커(620)는 비디오 소오스신호(601)를 엔코딩하도록 배열되는 비디오 엔코더(610)로부터 압축된 비디오 비트 스트림(602)을 수신한다. 비트 스트림 마커(620)는 비트 스트림(602)을 비디오 패킷들로 세분하고, 각 비디오 패킷은 압축된 비디오 데이터, 예컨대, 비디오 프레임, 보충 정보, 또는 일반적으로 NAL 유닛을 포함한다. 그런 다음, 각 비디오 패킷은 상기에서 기술하였던 바와 같이, NAL 유닛 헤더 내 구문 요소 stream_id를 사용하여, 단일 서브세트 식별자로 마크된다. 비트 스트림 마커(620)는 패킷화되고 또한 마크된 비트 스트림(603)을 망(120)과 같은 전송망으로 전송하고, 그리고 결국, 도 1을 참조하여 기술한 디코딩장치(130)와 같은, 피어-투-피어(peer-to-peer) 망 내 클라이언트 또는 피어에게 전송된다.
이를 위하여, 비트 스트림 마커(620)는 압축된 비디오 비트 스트림을 수신하기 위한 수신유닛(621)과, 압축된 비디오 비트 스트림을 비디오 패킷들로 분할하도록 배열되는 패킷화유닛(622)과, 그리고 각 비디오 패킷을 단일 서브세트 식별자(stream_id)로 마킹하기 위한 마킹유닛(623)을 포함한다.
또한, 비트 스트림 마커(620)는 선택적으로 적어도 하나의 서브세트 정의를 제공하기 위한 서브세트 정의유닛(624)을 포함할 수 있다. 서브세트 정의는 압축된 비디오 비트 스트림에 비디오 패킷으로서 제공될 수 있다.
또한, 비트 스트림 마커(620)는 선택적으로 적어도 하나의 비디오 표현 정의를 제공하기 위한 비디오 표현 정의유닛(625)을 포함할 수 있다. 비디오 표현 정의는 압축된 비디오 비트 스트림에 비디오 패킷으로서 제공될 수 있다.
수신유닛(621), 패킷화유닛(622), 마킹유닛(623), 서브세트 정의유닛(624), 및 비디오 표현유닛(625)들은 회로, 집적회로(IC들), 응용 특정 집적회로(ASIC), 하나 이상의 프로세서에서 동작하는 컴퓨터 프로그램 모듈들, 또는 이들의 조합으로 구현될 수 있다. 유닛(621-625)들은 독립 유닛으로 또는 조합하여 구현될 수 있다.
비디오 엔코더(610)가 패킷화된 비디오 비트 스트림(602)을 비트 스트림 마커(620)로 제공할 수 있다는 것을 이해하게 될 것이다. 이 경우 비트 스트림 마커(620)가 비트 스트림(602)을 패킷들로 더 세분하지 못할 수 있다. 또한, 상기에서 기술한 바와 같이, 본 발명의 실시예에 따른 마킹절차는 독립된 비트 스트림 마커보다는 비디오 엔코더(610)에 의해 수행될 수 있다. 또한, 컴퓨터 프로그램의 실시예로 현존하는 비디오 엔코더를 업데이트함으로써, 본 발명의 실시예에 따른 비트 스트림 마킹을 수행하도록 현존하는 비디오 엔코더를 배열할 수 있다.
다음에, 도 7을 참조하여, 본 발명의 한 실시예에 따라, 압축된 비디오 비트 스트림으로부터 비디오 패킷들을 추출하기 위한 비트 스트림 추출기를 기술한다. 비트 스트림 추출기의 실시예는 도 1을 참조하여 기술한, 디코딩장치(130), 또는 망 요소(121-123) 내에 위치할 수 있다. 특히, 비트 스트림 추출기의 실시예는 비디오 디코더 또는 비디오 패킷들을 라우팅하도록 배열되는 망 요소에서 구현될 수 있다.
비트 스트림 추출기(710)는 압축된 비디오 비트 스트림(701), 비디오 패킷들, 즉 여러 비트 스트림 서브세트들과 관련되는 NAL 유닛들을 수신한다. 비디오 비트 스트림(701)은 예컨대, 도 1을 참조하여 기술한 망(120)과 같은 전송망으로부터 수신될 수 있다. 비트 스트림 추출기(710)는 비트 스트림(701) 내에 포함되는 관련 NAL 유닛들을 식별하고 그리고 더 이상의 처리를 위해 이들을 추출한다.
이를 위하여, 비트 스트림 추출기(710)는 적어도 하나의 관련 서브세트 식별자를 제공하기 위한 서브세트 선택유닛(711)과, 비디오 비트 스트림(701)으로부터 비디오 패킷들 수신하기 위한 수신유닛(712)와, 그리고 각 수신된 비디오 패킷에 대해, 비디오 패킷의 서브세트 식별자를 조사하고 또한, 추출된 서브세트 식별자가 적어도 하나의 관련 서브세트 식별자 중 하나와 부합한다는 조건 하에서 비디오 비트 스트림(701)으로부터 비디오 패킷을 추출하는 추출유닛(713)을 포함한다. 선택적으로, 추출유닛(713)은 수신된 각 비디오 패킷에 대해, 추출된 비디오 패킷을 전송하거나 또는 디코딩하고, 또한 비디오 패킷을 폐기하도록(704) 더 배열될 수 있다. 만일 비디오 패킷이 전송딘다면, 패킷은 비디오 디코더(720)로 전송될 수 있고(702), 디코더는 비디오 신호를 디코딩하고 또한 시청자에게 디스플레이와 같은 더 이상의 처리를 위해 디코드된 비디오신호(703)를 출력한다. 추출된 서브세트 식별자가 적어도 하나의 관련 서브세트 식별자의 어느 것과도 부합하지 않는다면, 수신된 비디오 패킷들은 폐기된다(704).
선택적으로, 비트 스트림 추출기(710)는 서브세트 정의를 제공하기 위한 서브세트 정의유닛(714)를 더 포함할 수 있다. 서브세트 정의유닛(714)은 대응하는 비트 스트림 서브세트의 적어도 한 특성에 따른 다수의 서브세트 정의들로부터 서브세트 정의를 선택하도록 배열될 수 있다. 서브세트 정의유닛(714)은 압축된 비디오 비트 스트림 내 비디오 패킷으로부터 서브세트 정의를 수신하도록 더 배열될 수 있다.
비트 스트림 추출기(710)와 같은 비트 스트림 추출기의 실시예는 비디오 표현 정의를 제공하기 위한 비디오 표현 정의유닛(715)을 더 포함할 수 있다. 비디오 표현 정의유닛(715)은 압축된 비디오 비트 스트림 내 비디오 패킷으로부터 비디오 표현 정의를 수신하도록 더 배열될 수 있다.
서브세트 선택유닛(711)과, 수신유닛(712)과, 추출유닛(713)과, 서브세트 정의유닛(714)과, 그리고 비디오 표현 유닛(715)은 회로, IC들, ASIC, 하나 이상의 프로세서들에서 동작하는 컴퓨터 프로그램 모듈들, 또는 이들의 조합으로 구현될 수 있다. 유닛(711-715)들은 독립 유닛들로 또는 조합하여 구현될 수 있다.
비디오 비트 스트림으로부터 비트 스트림 서브세트, 즉 비디오 패킷들을 추출하는 절차는 개별의 비트 스트림 추출기보다는 비디오 엔코더(720)에 의해 수행될 수 있다. 또한, 컴퓨터 프로그램의 실시예로 현존하는 비디오 엔코더의 소프트웨어를 업데이트함으로써, 본 발명의 실시예에 따른 비트 스트림 추출을 수행하도록 현존하는 비디오 엔코더를 배열할 수 있다.
도 8을 참조하여, 본 발명의 실시예들에 따른, 컴퓨터 프로그램과 컴퓨터 프로그램 제품을 기술한다.
도 8은 비디오 비트 스트림(801)을 처리하고 또한 처리된 비디오 비트 스트림(802)을 출력하기 위한 비디오 처리장치(800)를 보여준다. 비디오 처리장치(800)는 프로세서(803)와 저장매체(804)를 포함한다. 저장매체(804)는 컴퓨터 프로그램(805)을 포함하는 컴퓨터 프로그램제품일 수 있다. 다르게는, 컴퓨터 프로그램(805)는 플로피 디스크 또는 메모리 스틱과 같은 적절한 컴퓨터 프로그램 제품에 의해 저장매체(804)로 전송될 수 있다. 또 다르게는, 컴퓨터 프로그램(805)은 망을 통해 저장매체(804)로 다운로드될 수 있다. 본 발명의 제1 또는 제4면에 따른 방법의 실시예를 구현하기 위하여, 프로세서(804)는 저장매체(804)로부터 컴퓨터 프로그램(805)을 로딩하고 또한 컴퓨터 프로그램(805) 내에 포함된 컴퓨터 프로그램 코드를 실행하도록 배열된다. 예컨대, 컴퓨터 프로그램(805)을 실행할 때, 압축된 비디오 비트 스트림 내 비트 스트림 서브세트를 나타내는 방법의 실시예를 구현하도록 프로세서(803)가 조정될 수 있다. 다르게는, 컴퓨터 프로그램(805)을 실행할 때, 압축된 비디오 비트 스트림으로부터 비디오 패킷들을 추출하는 방법의 실시예를 구현하도록 프로세서(803)가 조정될 수 있다. 프로세서(803)는 일반목적 프로세서, 비디오 프로세서, 또는 컴퓨터 프로그램(804)를 실행할 때, 본 발명의 제1 및 제4면에 따른 방법의 실시예를 구현하기 위해 배열되는 다른 유형의 회로일 수 있다. 처리장치(800)는 이동전화, 태블릿, 사용자 장비(UE), 개인 컴퓨터, 비디오 재생기/녹화기, 멀티미디어 플레이어, 미디어 스트리밍 서버, 셋-탑 박스, 텔레비전 세트, 또는 계산 능력을 가지는 다른 유형의 장치에 포함될 수 있다.
또한, 상기에서 기술한 본 발명의 모든 실시예들은 비디오 엔코더 또는 디코더에서 소프트웨어, 하드웨어 또는 이들의 조합으로 구현될 수 있다. 엔코더 및/또는 디코더는 또한 송신장치와 수신장치 간의 통신망 내 망 노드이거나 또는 망 노드에 속하는 망 장치에서 구현될 수 있다. 이러한 망 장치는, 만일 수신장치가 송신장치로부터 전송되는 것 이외의 다른 비디오 코딩 표준을 실행하거나 또는 선호한다고 확립되었다면, 이러한 망 장치는 한 비디오 코딩 표준에서 다른 비디오 코딩 표준으로 비디오를 변환시키기 위한 장치일 수 있다.
비록 상기에서 기술한 비디오 엔코더 및/또는 디코더는 물리적으로 개별적인 장치들을 기재하였고, 또한 하나 이상의 ASIC과 같은 특별 목적 회로에 포함될 수 있다 하더라도, 본 발명은 엔코더 및/또는 디코더의 몇몇 부분들이 하나 이상의 일반 목적 프로세서들에서 작동하는 컴퓨터 프로그램 모듈로서 구현될 수 있는 장치들의 실시예들을 커버한다.
본 기술분야의 당업자라면, 본 발명은 상기에서 기술된 실시예들에 한정되지 않는다는 것을 이해해야 한다. 반대로, 많은 수정안들과 변형안들이 첨부 청구항의 범위 내에서 가능하다. 예컨대, 제안된 계층화 스트림 시그날링 개념은 주로, 오디오, 자막, 그래픽 등등의 모든 유형에 적용할 수 있다. 또한, 클라이언트, 또는 망 요소는 신뢰성이 있는 전송채널을 통해 StPS들 및 PRS들을 유리하게 취득할 수 있는 한편, HTTP 및 RTP와 같은 전송 프로토콜들을 비디오 데이터를 포함하는 비트 스트림 서브세트들의 잔여부분을 전송하는데 사용될 수 있다. 마지막으로, NAL 유닛 헤더들은 단일의 서브세트 식별자(stream_id) 이외에도, 추가 정보 요소를 포함할 수 있다는 것을 알게 될 것이다.

Claims (32)

  1. 다수의 비트 스트림 서브세트들을 포함하는 압축된 비디오 비트 스트림(210) 내 비트 스트림 서브세트들을 나타내는 방법(410)에 있어서, 방법은:
    압축된 비디오 비트 스트림을 수신하는 단계(411)를 포함하고;
    압축된 비디오 비트 스트림을 비디오 패킷들(211-216)로 분할하는 단계(412)를 포함하되, 여기서 각 비디오 패킷은 비디오 데이터 또는 보충 정보 중 하나를 포함하고;
    다수의 서브세트 식별자들 중 단일 서브세트 식별자로 각 비디오 패킷을 마킹하는 단계(413)를 포함하되, 다수의 서브세트 식별자들 중 각 서브세트 식별자는 다수의 비트 스트림 서브세트들 중 대응하는 비트 스트림 서브세트와 관련되는 것을 특징으로 하는 방법.
  2. 제1항에 있어서, 적어도 하나의 서브세트 정의(221-223; 320)를 제공하는 단계(414)를 더 포함하고, 각 서브세트 정의는 다수의 비트 스트림 서브세트들 중에서 대응하는 비트 스트림 서브세트의 특성들을 기술하는 것을 특징으로 하는 방법.
  3. 제2항에 있어서, 적어도 하나의 서브세트 정의(221-223; 320)는 압축된 비디오 비트 스트림(210)에 비디오 패킷으로서 제공되는 것을 특징으로 하는 방법.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서, 다수의 서브세트 식별자들 중 각 서브세트 식별자는 이와 관련된 비트 스트림 서브세트의 상대 우선도에 대응하는 수치 값인 것을 특징으로 하는 방법.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서,
    적어도 하나의 비디오 표현 정의(231-223; 330)를 제공하는 단계(415)를 더 포함하고, 각 비디오 표현 정의는 적어도 하나의 관련 서버세트 식별자를 포함하고, 적어도 하나의 관련 서브세트 식별자와 관련된 비트 스트림 서브세트들은 디코드 가능한 비디오 표현을 형성하는 것을 특징으로 하는 방법.
  6. 제5항에 있어서, 적어도 하나의 비디오 표현 정의(231-233; 330)는 압축된 비디오 비트 스트림(210)에 비디오 패킷으로서 제공되는 것을 특징으로 하는 방법.
  7. 컴퓨터 프로그램 코드를 포함하는 컴퓨터 프로그램(805)으로서, 컴퓨터 프로그램은 프로세서(803) 상에서 실행된다면, 청구항 제1항 내지 제6항에 따른 방법을 구현하도록 이루어지는 것을 특징으로 하는 컴퓨터 프로그램.
  8. 컴퓨터 판독가능한 매체(804)를 포함하는 컴퓨터 프로그램 제품으로서, 컴퓨터 판독가능한 매체는 제7항에 따른 컴퓨터 프로그램(805)을 가지는 것을 특징으로 하는 컴퓨터 프로그램 제품.
  9. 비디오 패킷(211-216)들로 분할되는 압축된 비디오 비트 스트림(210)으로부터 비디오 패킷들을 추출하는 방법(510)으로서, 압축된 비디오 비트 스트림은 다수의 비트 스트림 서브세트들을 포함하고, 각 비디오 패킷은 비디오 데이터 또는 보충 정보 중 하나와 다수의 서브세트 식별자들 중 단일 서브세트 식별자를 포함하고, 각 서브세트 식별자는 다수의 비트 스트림 서브세트들 중 대응하는 비트 스트림 서브세트와 관련되게 되는 방법에 있어서, 방법은:
    적어도 하나의 관련 서브세트 식별자를 제공하는 단계(511)와;
    압축된 비디오 비트 스트림으로부터 비디오 패킷들을 수신하는 단계(512)와; 그리고
    수신한 각 비디오 패킷에 대해:
    비디오 패킷의 서브세트 식별자는 검사하는 단계(514)와; 그리고
    추출된 서브세트 식별자가 적어도 하나의 관련 서브세트 식별자 중 하나와 부합한다는 조건 하에서, 압축된 비디오 비트 스트림으로부터 비디오 패킷을 추출하는 단계(516)를 포함하는 것을 특징으로 하는 방법.
  10. 제9항에 있어서, 수신한 각 비디오 패킷에 대해:
    추출된 비디오 패킷을 전송 또는 디코딩(517)하는 단계와, 그리고
    추출된 서브세트 식별자가 적어도 하나의 관련 서브세트 식별자 중 어느 것과도 부합하지 않는다는 조건 하에서, 수신한 비디오 패킷을 폐기하는 단계(518)를 더 포함하는 것을 특징으로 하는 방법.
  11. 제9항 또는 제10항에 있어서,
    다수의 비트 스트림 서브세트들 중 대응하는 비트 스트림 서브세트의 특성들을 기술하는 서브세트 정의(221-223; 320)를 제공하는 단계(519)와; 그리고
    적어도 하나의 관련 서브세트 식별자로서 대응하는 비트 스트림과 관련된 서브세트 식별자를 사용하는 단계(511)를 더 포함하는 것을 특징으로 하는 방법.
  12. 제11항에 있어서,
    대응하는 비트 스트림 서브세트의 적어도 한 특성에 따라 다수의 서브세트 정의(221-223; 320)들로부터 서브세트 정의를 선택하는 단계(519)를 더 포함하는 것을 특징으로 하는 방법.
  13. 제11항 또는 제12항에 있어서,
    압축된 비디오 비트 스트림(210) 내 비디오 패킷으로부터 서브세트 정의(221-223; 320)를 수신하는 단계(519)를 더 포함하는 것을 특징으로 하는 방법.
  14. 제9항 내지 제13항 중 어느 한 항에 있어서,
    적어도 하나의 관련 서브세트 식별자를 포함하는 비디오 표현 정의(231-233; 330)를 제공하는 단계(520)를 더 포함하고, 적어도 하나의 관련 서브세트 식별자와 관련된 비트 스트림 서브세트들은 디코드 가능한 비디오 표현을 형성하는 것을 특징으로 하는 방법.
  15. 제14항에 있어서,
    압축된 비디오 비트 스트림(210) 내 비디오 패킷으로부터 비디오 표현 정의(231-233; 330)를 수신하는 단계(520)를 더 포함하는 것을 특징으로 하는 방법.
  16. 제9항 내지 제15항 중 어느 한 항에 있어서, 다수의 서브세트 식별자들 중 각 서브세트 식별자는 이와 관련된 비트 스트림 서브세트의 상대 우선도에 대응하는 수치 값인 것을 특징으로 하는 방법.
  17. 컴퓨터 프로그램 코드를 포함하는 컴퓨터 프로그램(805)으로서, 컴퓨터 프로그램은 프로세서(803) 상에서 실행된다면, 청구항 제9항 내지 제16항에 따른 방법을 구현하도록 이루어지는 것을 특징으로 하는 컴퓨터 프로그램.
  18. 컴퓨터 판독가능한 매체(804)를 포함하는 컴퓨터 프로그램 제품으로서, 컴퓨터 판독가능한 매체는 제17항에 따른 컴퓨터 프로그램(805)을 가지는 것을 특징으로 하는 컴퓨터 프로그램 제품.
  19. 다수의 비트 스트림 서브세트들을 포함하는 압축된 비디오 비트 스트림(210; 602) 내 비트 스트림 서브세트들을 나타내는 비트 스트림 마커(110; 620)에 있어서, 비트 스트림 마커는:
    압축된 비디오 비트 스트림을 수신하도록 배열되는 수신유닛(621)을 포함하고,
    압축된 비디오 비트 스트림을 비디오 패킷(211-216)들로 분할하도록 배열되는 패킷화 유닛(62)을 포함하되, 각 비디오 패킷은 비디오 데이터 또는 보충 정보 중 하나를 v함하고, 그리고
    다수의 서브세트 식별자들 중 단일 서브세트 식별자로 각 비디오 패킷을 마킹하도록 배열되는 마킹유닛(623)을 포함하되, 각 서브세트 식별자는 다수의 비트 스트림 서브세트들 중 대응하는 비트 스트림 서브세트와 관련되는 것을 특징으로 하는 비트 스트림 마커.
  20. 제19항에 있어서, 적어도 하나의 서브세트 정의(221-223; 320)을 제공하도록 배열되는 서브세트 정의유닛(624)를 더 포함하고, 각 서브세트 정의는 다수의 비트 스트림 서브세트들 중 대응하는 비트 스트림 서브세트의 특성들을 기술하는 것을 특징으로 하는 비트 스트림 마커.
  21. 제20항에 있어서, 적어도 하나의 서브세트 정의(221-223; 320)는 압축된 비디오 비트 스트림(210; 603) 내 비디오 패킷으로서 제공되는 것을 특징으로 하는 비트 스트림 마커.
  22. 제19항 내지 제21항 중 어느 한 항에 있어서, 다수의 서브세트 식별자들 중 각 서브세트 식별자는 이와 관련된 비트 스트림 서브세트의 상대 우선도에 대응하는 수치 값인 것을 특징으로 하는 비트 스트림 마커.
  23. 제19항 내지 제21항 중 어느 한 항에 있어서,
    적어도 하나의 비디오 표현 정의(231-233; 330)를 제공하도록 배열되는 비디오 표현 정의유닛(625)을 더 포함하고, 각 비디오 표현 정의는 적어도 하나의 관련 서브세트 식별자를 포함하고, 적어도 하나의 관련 서브세트 식별자와 관련된 비트 스트림은 디코드 가능한 비디오 표현을 형성하는 것을 특징으로 하는 비트 스트림 마커.
  24. 제23항에 있어서, 적어도 하나의 비디오 표현 정의(231-233; 330)는 압축된 비디오 비트 스트림(210; 603) 내 비디오 패킷으로서 제공되는 것을 특징으로 하는 비트 스트림 마커.
  25. 비디오 패킷(211-216)들로 분할되는 압축된 비디오 비트 스트림(210; 701)으로부터 비디오 패킷들을 추출하는 비트 스트림 추출기(121-123, 130; 710)으로서, 압축된 비디오 비트 스트림은 다수의 비트 스트림 서브세트들을 포함하고, 각 비디오 패킷은 비디오 데이터 또는 보충 정보 중 하나와 다수의 서브세트 식별자들 중 단일 서브세트 식별자를 포함하고, 각 서브세트 식별자는 다수의 비트 스트림 서브세트들 중 대응하는 비트 스트림 서브세트와 관련되게 되는 비트 스트림 추출기에 있어서, 비트 스트림 추출기는:
    적어도 하나의 관련 서브세트 식별자를 제공하도록 배열되는 서브세트 선택유닛(711)과;
    압축된 비디오 비트 스트림으로부터 비디오 패킷들을 수신하도록 배열되는 수신유닛(712)과, 그리고
    수신된 각 비디오 패킷에 대해:
    비디오 패킷의 서브세트 식별자를 조사하고, 그리고
    추출된 서브세트 식별자가 적어도 하나의 관련 서브세트 식별자 중 하나와 부합한다는 조건 하에서, 압축된 비디오 비트 스트림으로부터 비디오 패킷을 추출하도록 배열되는 추출유닛(713)을 포함하는 것을 특징으로 하는 비트 스트림 추출기.
  26. 제25항에 있어서, 수신된 각 비디오 패킷에 대해 추출유닛(713)은:
    추출된 비디오 패킷을 전송 또는 디코딩(702)하고, 그리고
    추출된 서브세트 식별자가 적어도 하나의 관련 서브세트 식별자 중 어느 것과도 부합하지 않는다는 조건 하에서, 수신된 비디오 패킷을 폐기하도록 더 배열되는 것을 특징으로 하는 비트 스트림 추출기.
  27. 제25항 또는 제26항에 있어서,
    다수의 비트 스트림 서브세트들 중 대응하는 비트 스트림 서브세트의 특성을 기술하는 서브세트 정의(221-223; 320)를 제공하도록 배열되는 서브세트 정의유닛(714)을 더 포함하고,
    서브세트 선택유닛(711)은 대응하는 비트 스트림과 관련된 서브세트 식별자를 적어도 하나의 관련 서브세트 식별자로 사용하도록 더 배열되는 것을 특징으로 하는 비트 스트림 추출기.
  28. 제27항에 있어서, 서브세트 정의유닛(714)는:
    대응하는 비트 스트림 서브세트의 적어도 한 특성에 따라 다수의 서브세트 정의(221-223; 320)들로부터 서브세트 정의를 선택하도록 더 배열되는 것을 특징으로 하는 비트 스트림 추출기.
  29. 제27항 또는 제28항에 있어서, 서브세트 정의(221-223; 320)는 압축된 비디오 비트 스트림(210; 701) 내 비디오 패킷으로부터 수신되는 것을 특징으로 하는 비트 스트림 추출기.
  30. 제25항 내지 제29항 중 어느 한 항에 있어서,
    적어도 하나의 관련 서브세트 식별자를 포함하는 비디오 표현 정의(231-233; 330)를 제공하도록 배열되는 비디오 표현 정의유닛(715)을 더 포함하고, 적어도 하나의 관련 서브세트 식별자와 관련된 비트 스트림 서브세트들은 디코드 가능한 비디오 표현을 형성하는 것을 특징으로 하는 비트 스트림 추출기.
  31. 제30항에 있어서, 비디오 표현 정의유닛(715)은:
    압축된 비디오 비트 스트림(210; 710) 내 비디오 패킷으로부터 비디오 표현 정의(231-233; 330)를 수신하도록 더 배열되는 것을 특징으로 하는 비트 스트림 추출기.
  32. 제26항 내지 제31항 중 어느 한 항에 있어서,
    다수의 서브세트 식별자들 중 각 서브세트 식별자는 이와 관련된 비트 스트림 서브세트의 상대 우선도에 대응하는 수치 값인 것을 특징으로 하는 비트 스트림 추출기.
KR1020137021492A 2011-01-19 2012-01-19 비트스트림 서브세트 표시 KR101560956B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201161434146P 2011-01-19 2011-01-19
US61/434,146 2011-01-19
PCT/SE2012/050040 WO2012099529A1 (en) 2011-01-19 2012-01-19 Indicating bit stream subsets

Publications (2)

Publication Number Publication Date
KR20130119479A true KR20130119479A (ko) 2013-10-31
KR101560956B1 KR101560956B1 (ko) 2015-10-15

Family

ID=46515960

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020137021492A KR101560956B1 (ko) 2011-01-19 2012-01-19 비트스트림 서브세트 표시

Country Status (9)

Country Link
US (2) US9143783B2 (ko)
EP (1) EP2666296A4 (ko)
JP (1) JP5553945B2 (ko)
KR (1) KR101560956B1 (ko)
CN (1) CN103404140B (ko)
MA (1) MA34944B1 (ko)
SG (1) SG191748A1 (ko)
WO (1) WO2012099529A1 (ko)
ZA (1) ZA201304569B (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10991144B2 (en) 2016-07-29 2021-04-27 Sony Corporation Image processing apparatus and image processing method

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
PT2865177T (pt) * 2012-06-25 2019-01-11 Huawei Tech Co Ltd Processo de sinalização de uma imagem de acesso gradual a camada temporal
WO2014102088A1 (en) * 2012-12-28 2014-07-03 Telefonaktiebolaget L M Ericsson (Publ) Decoder and encoder and methods therein for handling frame packing layering
EP2995090A1 (en) * 2013-05-07 2016-03-16 VID SCALE, Inc. Qoe-aware wifi enhancements for video for video applications
EP3050300B1 (en) * 2013-09-26 2018-07-11 Telefonaktiebolaget LM Ericsson (publ) Hybrid codec scalable video
US9948950B2 (en) * 2014-01-03 2018-04-17 Qualcomm Incorporated Disparity vector and/or advanced residual prediction for video coding
JP2015136059A (ja) * 2014-01-17 2015-07-27 ソニー株式会社 通信装置、通信データ生成方法、および通信データ処理方法
US9402083B2 (en) * 2014-04-24 2016-07-26 Vidyo, Inc. Signaling conformance points using profile space
US10284867B2 (en) 2014-12-18 2019-05-07 Nokia Technologies Oy Apparatus, a method and a computer program for video coding and decoding
US10579603B2 (en) * 2015-04-17 2020-03-03 International Business Machines Corporation Removing sets of tuples in a streaming environment
US10554992B2 (en) * 2015-06-03 2020-02-04 Avago Technologies International Sales Pte. Limited Inline codec switching
AU2016310755B2 (en) * 2015-08-25 2020-12-24 Sony Corporation Transmission apparatus, transmission method, reception apparatus, and reception method
US10553029B1 (en) 2016-09-30 2020-02-04 Amazon Technologies, Inc. Using reference-only decoding of non-viewed sections of a projected video
US10412412B1 (en) 2016-09-30 2019-09-10 Amazon Technologies, Inc. Using reference-only decoding of non-viewed sections of a projected video
US10609356B1 (en) * 2017-01-23 2020-03-31 Amazon Technologies, Inc. Using a temporal enhancement layer to encode and decode stereoscopic video content
US10674166B2 (en) * 2018-08-22 2020-06-02 Purdue Research Foundation Method and system for scalable video streaming
US11616858B2 (en) * 2020-08-06 2023-03-28 Level 3 Communications Llc Packet processing of streaming content in a communications network

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5874997A (en) * 1994-08-29 1999-02-23 Futuretel, Inc. Measuring and regulating synchronization of merged video and audio data
KR20000011109A (ko) * 1996-05-17 2000-02-25 마츠시타 덴끼 산교 가부시키가이샤 데이터 다중화 방법, 다중 데이터 재생 방법, 그 방법을 이용한다중 데이터 재생 장치, 및 그 방법을 기록한 기록 매체
JPH104539A (ja) * 1996-06-18 1998-01-06 Matsushita Electric Ind Co Ltd データ多重化方法及び多重データ再生装置
US6201834B1 (en) * 1996-12-20 2001-03-13 Intel Corporation Method and apparatus for packet loss recovery with standard-based packet video
SE521021C2 (sv) * 1998-06-18 2003-09-23 Ericsson Telefon Ab L M Förfarande och anordning vid överförande av bilder
KR100590185B1 (ko) * 1999-11-20 2006-06-14 삼성전자주식회사 부가정보를 포함하는 오디오/비디오데이터의 저장 및검색장치
US7486680B1 (en) * 2002-03-21 2009-02-03 Ji Zhang Packet schedule timestamp for a compressed bitstream
CN1726719A (zh) * 2002-12-20 2006-01-25 皇家飞利浦电子股份有限公司 处理分层媒体数据的方法和设备
US8593932B2 (en) * 2003-05-16 2013-11-26 Qualcomm Incorporated Efficient signal transmission methods and apparatus using a shared transmission resource
JP4190357B2 (ja) * 2003-06-12 2008-12-03 シャープ株式会社 放送データ送信装置、放送データ送信方法および放送データ受信装置
CA2553708C (en) * 2004-02-06 2014-04-08 Sony Corporation Information processing device, information processing method, program, and data structure
WO2006010386A1 (en) * 2004-07-26 2006-02-02 Irdeto Access B.V. Method of partially scrambling a data stream
US20060146734A1 (en) * 2005-01-04 2006-07-06 Nokia Corporation Method and system for low-delay video mixing
KR100657322B1 (ko) * 2005-07-02 2006-12-14 삼성전자주식회사 로컬 3차원 비디오를 구현하기 위한 인코딩/디코딩 방법 및장치
US20070025441A1 (en) * 2005-07-28 2007-02-01 Nokia Corporation Method, module, device and system for rate control provision for video encoders capable of variable bit rate encoding
WO2007080223A1 (en) * 2006-01-10 2007-07-19 Nokia Corporation Buffering of decoded reference pictures
US8773494B2 (en) * 2006-08-29 2014-07-08 Microsoft Corporation Techniques for managing visual compositions for a multimedia conference call
EP2060123A4 (en) 2006-09-07 2016-05-04 Lg Electronics Inc METHOD AND DEVICE FOR DECODING / ENCODING A VIDEO SIGNAL
EP2642756B1 (en) * 2006-10-16 2018-09-26 Nokia Technologies Oy System and method for implementing efficient decoded buffer management in multi-view video coding
US20080095228A1 (en) * 2006-10-20 2008-04-24 Nokia Corporation System and method for providing picture output indications in video coding
JP2008236667A (ja) * 2007-03-23 2008-10-02 Victor Co Of Japan Ltd デジタル放送受信装置
KR20100014553A (ko) * 2007-04-25 2010-02-10 엘지전자 주식회사 비디오 신호의 인코딩/디코딩 방법 및 장치
JP2009200567A (ja) * 2008-02-19 2009-09-03 Mitsubishi Electric Corp 映像記録再生装置
BR122021000421B1 (pt) * 2008-04-25 2022-01-18 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Referenciação de sub-fluxo flexível dentro de um fluxo de dados de transporte
WO2010058955A2 (ko) 2008-11-18 2010-05-27 엘지전자 주식회사 영상 신호 처리 방법 및 장치
JP5338394B2 (ja) * 2009-03-10 2013-11-13 日本電気株式会社 映像配信システム、映像配信方法、映像配信装置及び映像配信プログラム
JP2010258997A (ja) * 2009-04-28 2010-11-11 Sharp Corp 番組データ記録再生装置及び番組データ記録再生方法
WO2010126612A2 (en) 2009-05-01 2010-11-04 Thomson Licensing Reference picture lists for 3dv
US8780999B2 (en) * 2009-06-12 2014-07-15 Qualcomm Incorporated Assembling multiview video coding sub-BITSTREAMS in MPEG-2 systems
DK2453661T3 (en) * 2009-07-10 2017-10-30 Panasonic Ip Man Co Ltd PLAYBACK, RECORDING PROCEDURE AND SYSTEM, INCLUDING A RECORDING MEDIUM AND PLAYBACK
US8976871B2 (en) 2009-09-16 2015-03-10 Qualcomm Incorporated Media extractor tracks for file format track selection

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10991144B2 (en) 2016-07-29 2021-04-27 Sony Corporation Image processing apparatus and image processing method

Also Published As

Publication number Publication date
US9143783B2 (en) 2015-09-22
JP2014509114A (ja) 2014-04-10
WO2012099529A1 (en) 2012-07-26
CN103404140B (zh) 2017-06-13
CN103404140A (zh) 2013-11-20
MA34944B1 (fr) 2014-03-01
US20130287123A1 (en) 2013-10-31
ZA201304569B (en) 2015-11-25
JP5553945B2 (ja) 2014-07-23
EP2666296A4 (en) 2013-12-25
KR101560956B1 (ko) 2015-10-15
EP2666296A1 (en) 2013-11-27
SG191748A1 (en) 2013-08-30
US20160099988A1 (en) 2016-04-07
US9485287B2 (en) 2016-11-01

Similar Documents

Publication Publication Date Title
KR101560956B1 (ko) 비트스트림 서브세트 표시
US11412017B2 (en) Method, device, and computer program for encoding inter-layer dependencies in encapsulating multi-layer partitioned timed media data
CN102804773B (zh) 在mpeg‑2系统中组合多视角视频译码子位流
RU2509440C2 (ru) Многовидовое видео кодирование в системах мреg-2
RU2530740C2 (ru) Сообщение характеристик рабочей точки нескольких изображений видео (mvc)
TWI692242B (zh) 用於高效率視訊寫碼延伸之承載之資料串流之假想參考解碼器描述符及緩衝器模型之設計
JP6565679B2 (ja) 送信装置、送信方法、受信装置および受信方法
KR20190014500A (ko) Http 를 통한 동적 적응형 스트리밍에서의 가상 현실 비디오 시그널링
CN102714715B (zh) 用于文件格式轨迹选择的媒体提取器轨迹
KR101653319B1 (ko) 3d 영상을 위한 영상 컴포넌트 송수신 처리 방법 및 장치
Schierl et al. Transport and storage systems for 3-D video using MPEG-2 systems, RTP, and ISO file format
KR101345544B1 (ko) 기본시점 복호 및 시점 임의 접근을 지원하기 위한 다시점비디오 부호화 시스템, 복호화 시스템 및 비트스트림 추출시스템
US10944994B2 (en) Indicating bit stream subsets
JP5961317B2 (ja) 送信装置、送信方法、受信装置および受信方法
KR101233161B1 (ko) 3차원 동영상을 다중화 방송 서비스로 송수신하는 시스템및 방법
WO2016130771A1 (en) Signaling of operation points for carriage of hevc extensions
Buchowicz Video coding and transmission standards for 3D television—a survey
JP5966075B2 (ja) 送信装置、送信方法、受信装置および受信方法

Legal Events

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

Payment date: 20180928

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190926

Year of fee payment: 5