KR20230014718A - 비디오 서브-비트스트림 추출 프로세스에서 스케일러블 중첩된 sei 메시지 처리 - Google Patents

비디오 서브-비트스트림 추출 프로세스에서 스케일러블 중첩된 sei 메시지 처리 Download PDF

Info

Publication number
KR20230014718A
KR20230014718A KR1020227043886A KR20227043886A KR20230014718A KR 20230014718 A KR20230014718 A KR 20230014718A KR 1020227043886 A KR1020227043886 A KR 1020227043886A KR 20227043886 A KR20227043886 A KR 20227043886A KR 20230014718 A KR20230014718 A KR 20230014718A
Authority
KR
South Korea
Prior art keywords
video
bitstream
sei
scalable
overlapping
Prior art date
Application number
KR1020227043886A
Other languages
English (en)
Inventor
예-쿠이 왕
Original Assignee
바이트댄스 아이엔씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 바이트댄스 아이엔씨 filed Critical 바이트댄스 아이엔씨
Publication of KR20230014718A publication Critical patent/KR20230014718A/ko

Links

Images

Classifications

    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/188Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a video data packet, e.g. a network abstraction layer [NAL] unit
    • 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
    • H04N19/31Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the temporal domain
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • 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/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234327Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by decomposing into layers, e.g. base layer and one or more enhancement layers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/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/234381Processing 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 altering the temporal resolution, e.g. decreasing the frame rate by frame skipping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
    • 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
    • H04N21/440281Processing 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 by altering the temporal resolution, e.g. by frame skipping
    • 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
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

비디오 인코딩 방법 및 장치, 및 비디오 디코딩 방법 및 장치의 예들이 설명된다. 비디오 처리의 예시적인 방법은 하나 이상의 계층들을 포함하는 비디오와 비디오의 비트스트림 사이의 변환을 규칙에 따라 수행하는 단계를 포함하며, 여기서 규칙은 서브-비트스트림 추출 프로세스에서, 추가 개선 정보(SEI: Supplementary Enhancement Information) 메시지가 특정 출력 계층 세트들(OLSs: Output Layer Sets)에 적용되는지 여부를 나타내는 제1 플래그, 및 상기 SEI 메시지가 모든 서브픽처들에 적용되는지 또는 특정 서브픽쳐들에 적용되는지 여부를 나타내는 제2 플래그에 기초하여, 스케일러블 중첩 SEI 메시지로부터 스케일러블 중첩된 SEI 메시지를 추출함으로써 넌-스케일러블 중첩 SEI 메시지가 생성되도록 지정한다.

Description

비디오 서브-비트스트림 추출 프로세스에서 스케일러블 중첩된 SEI 메시지 처리
관련 출원들에 대한 상호 참조
파리 협약에 따라 대응하는 특허법 및/또는 규칙에 따라, 이 출원은 2020년 5월 22일에 출원된 미국의 가특허출원 제63/029,308호의 우선권과 이익을 적시에 주장하기 위해 이루어진다. 법에 따른 모든 목적들을 위해, 전술한 출원의 전체 개시 내용은 본 출원의 개시의 일부로서 참고로 포함된다.
기술분야
이 특허 문서는 이미지 및 비디오 인코딩 및 디코딩에 관한 것이다.
디지털 비디오는 인터넷 및 다른 디지털 통신 네트워크에서 가장 큰 대역폭을 사용한다. 비디오를 수신하고 표시할 수 있는 연결된 사용자 장치들의 개수가 증가함에 따라, 디지털 비디오 사용에 대한 대역폭 수요가 계속 증가할 것으로 예상된다
본 문서는 비디오 인코딩 또는 디코딩을 수행하기 위해 비디오 인코더 및 디코더에 의해 사용될 수 있는 기술을 개시한다.
하나의 예시적인 측면에서, 비디오 처리 방법(video processing method)이 개시된다. 방법은 규칙에 따라 비디오의 비트스트림과 다중 계층들을 포함하는 비디오 사이의 변환을 수행하는 단계를 포함하고, 여기서 규칙은 비트스트림으로부터 추출되는 서브-비트스트림의 시간적 계층들 식별자 값의 최대 허용 값을 지정한다.
다른 예시적인 측면에서, 비디오 처리 방법(video processing method)이 개시된다. 방법은 비디오와 비디오의 비트스트림 사이의 변환을 규칙에 따라 수행하는 단계를 포함하며, 여기서 규칙은 서브-비트스트림을 출력하기 위해 서브-비트스트림 추출 프로세스 동안 비트스트림으로부터 추출될 네트워크 추상화 계층(NAL) 유닛들을 정의하고, 여기서 규칙은 타겟 출력 계층 세트(OLS) 인덱스를 갖는 OLS의 NAL 유닛 헤더 식별자 값들의 목록이 서브-비트스트림 추출 프로세스에 입력되는 비트스트림의 모든 비디오 코딩 레이어(VCL) NAL 유닛들에서 NAL 유닛 헤더 식별자들의 모든 값들을 포함하지 않는지 여부에 기초하여 서브-비트스트림을 유도하도록 지정한다.
다른 예시적인 측면에서, 비디오 처리 방법(video processing method)이 개시된다. 방법은 규칙에 따라 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하며, 여기서 규칙은 서브-비트스트림을 출력하기 위해 서브-비트스트림 추출 프로세스 동안 비트스트림으로부터 추출될 네트워크 추상화 계층(NAL) 유닛들을 정의하고, 여기서 규칙은 추가 개선 정보(SEI) 네트워크 추상화 계층 유닛에 포함된 제1 SEI 메시지의 페이로드 유형에 응답하여 SEI NAL 유닛이 특정 페이로드 유형을 갖는 SEI 메시지를 포함하는 것을 허용하지 않도록 지정한다.
다른 예시적인 측면에서, 비디오 처리 방법(video processing method)이 개시된다. 방법은 포맷 규칙에 따라 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하며, 여기서 포맷 규칙은 비트스트림이 하나 이상의 특정한 페이로드 유형들을 가진 하나 이상의 넌-스케일러블 중첩된 SEI(Supplemental Enhancement Information) 메시지들이 코딩 계층에 의해 참조되는 모든 출력 계층 세트들에 적용되는지 여부를 지정하는 플래그를 포함하도록 지정한다.
다른 예시적인 측면에서, 비디오 처리 방법(video processing method)이 개시된다. 방법은 규칙에 따라 비디오와 비디오의 비트스트림 간의 변환을 수행하는 단계를 포함하며, 여기서 규칙은 특정 유형의 네트워크 추상화 계층(NAL: Network Abstraction Layer) 유닛들을 제거하지 않고 특정 NAL 유닛 헤더 식별자 값을 가지지 않고, 출력 서브-비트스트림이 비트스트림으로부터 추출되는 서브-비트스트림 추출 프로세스를 지정한다. 여기서 특정 유형은 액세스 유닛 구분자(AUD) NAL 유닛을 포함한다.
다른 예시적인 측면에서, 비디오 처리 방법(video processing method)이 개시된다. 방법은 하나 이상의 계층들을 포함하는 비디오와 비디오의 비트스트림 사이의 변환을 규칙에 따라 수행하는 단계를 포함하며, 여기서 규칙은 서브-비트스트림 추출 프로세스에서 타겟 출력 계층 세트(OLS)에 포함되지 않은 계층들에 적용되는 스케일러블 중첩 추가 개선 정보(scalable nesting supplementary enhancement information) 메시지를 포함하는 네트워크 추상화 계층(NAL)을 제거하도록 지정한다.
다른 예시적인 측면에서, 비디오 처리 방법(video processing method)이 개시된다. 방법은 규칙에 따라 하나 이상의 계층들을 포함하는 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하며, 여기서 규칙은 서브-비트스트림 추출 프로세스에서, 추가 개선 정보(SEI: Supplementary Enhancement Information) 메시지가 특정 출력 계층 세트들(OLSs: Output Layer Sets)에 적용되는지 여부를 나타내는 제1 플래그, 및 SEI 메시지가 모든 서브픽처들에 적용되는지 또는 특정 서브픽쳐들에 적용되는지 여부를 나타내는 제2 플래그에 기초하여, 스케일러블 중첩 SEI 메시지로부터 스케일러블 중첩된 SEI 메시지를 추출함으로써 넌-스케일러블 중첩 SEI 메시지가 생성되도록 지정한다.
다른 예시적인 측면에서, 비디오 처리 방법(video processing method)이 개시된다. 방법은 규칙에 따라 하나 이상의 계층들을 포함하는 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하며, 여기서 규칙은 서브-비트스트림 추출 프로세스에서, 픽처 유닛의 제1 SEI 네트워크 추상화 계층(NAL) 유닛으로부터 다중 스케일러블 중첩 추가 개선 정보(SEI) 메시지들을 추출하여 넌-스케일러블 중첩 SEI(Supplemental Enhanced Information) 메시지가 생성되도록 지정한다.
다른 예시적인 측면에서, 비디오 처리 방법(video processing method)이 개시된다. 방법은 하나 이상의 계층들을 포함하는 비디오와 비디오의 비트스트림 사이의 변환을 규칙에 따라 수행하는 단계를 포함하며, 여기서 규칙은 출력 비트스트림을 생성하기 위한 서브-비트스트림 추출 프로세스를 지정하고, 서브-비트스트림 추출 프로세스 동안 하나 이상의 추가 개선 정보(SEI) 네트워크 추상화 계층(NAL) 유닛들의 처리를 지정한다.
또 다른 예시적인 측면에서, 비디오 인코더 장치가 개시된다. 비디오 인코더는 전술한 방법들을 구현하도록 구성된 프로세서를 포함한다.
또 다른 예시적인 측면에서, 비디오 디코더 장치가 개시된다. 비디오 디코더는 전술한 방법들을 구현하도록 구성된 프로세서를 포함한다.
또 다른 예시적인 측면에서, 코드가 저장된 컴퓨터 판독 가능 매체가 개시된다. 코드는 프로세서 실행 가능 코드의 형태로 여기에 설명된 방법 중 하나를 구현한다.
이러한 기능들 및 기타 기능들은 본 문서 전체에 걸쳐 설명되어 있다.
도 1은 개시된 기술의 일부 실시예들에 따른 비디오 코딩 시스템을 예시하는 블록도이다.
도 2는 비디오 처리에 사용되는 예시적인 하드웨어 플랫폼의 블록도이다.
도 3은 비디오 처리 방법의 예시적인 방법에 대한 흐름도이다.
도 4는 예시적인 비디오 코딩 시스템을 예시하는 블록도이다.
도 5는 개시된 기술의 일부 실시예들에 따른 인코더를 예시하는 블록도이다.
도 6은 개시된 기술의 일부 실시예들에 따른 디코더를 예시하는 블록도이다.
도 7a 내지 7d는 개시된 기술의 일부 구현들에 기초한 비디오 처리의 예시적인 방법에 대한 흐름도들이다.
도 8은 개시된 기술의 일부 구현들에 기초한 비디오 처리의 예시적인 방법에 대한 흐름도이다.
도 9는 개시된 기술의 일부 구현들에 기초한 비디오 처리의 예시적인 방법에 대한 흐름도이다.
도 10a 내지 10e는 개시된 기술의 일부 구현들에 기초한 비디오 처리의 예시적인 방법에 대한 흐름도를 도시한다.
섹션 제목들은 이해의 편의를 위해 본 문서에서 사용되며 각 섹션에 개시된 기술 및 실시예들의 적용 가능성을 해당 섹션에만 제한하지 않는다. 또한, H.266 용어는 설명의 편의를 위해서만 사용되며 개시된 기술의 범위를 제한하지 않는다. 이와 같이, 여기에 설명된 기술은 다른 비디오 코덱 프로토콜들 및 설계들에도 적용할 수 있다.
소개
이 문서는 비디오 코딩 기술(video coding technologies)과 관련이 있다. 구체적으로, 일반적인 서브-비트스트림 추출 프로세스, 픽처 레벨 HRD 파라미터들의 시그널링, 및 SEI NAL 유닛의 SEI 메시지들의 포함에 대한 몇 가지 개선 사항에 관한 것이다. 이 아이디어는 다중 계층(multi-layer) 비디오 코딩, 예를 들어 개발 중인 다목적 비디오 코딩(VVC: Versatile Video Coding)을 지원하는 임의의 비디오 코딩 표준 또는 비표준 비디오 코덱에 개별적으로 또는 다양한 조합으로 적용될 수 있다.
약어
APS 적응형 파라미터 세트
AU 액세스 유닛
AUD 엑세스 유닛 구분자
AVC 고급 비디오 코딩
CLVS 코딩된 계층 비디오 시퀀스
CPB 코딩된 픽처 버퍼
CRA 클린 랜덤 액세스
CTU 코딩 트리 유닛
CVS 코딩된 비디오 시퀀스
DCI 디코딩 기능 정보
DPB 디코딩된 픽처 버퍼
EOB 비트스트림 끝
EOS 시퀀스 끝
GDR 점진적 디코딩 리프레시
HEVC 고효율 비디오 코딩
HRD 가상 레퍼런스 디코더
IDR 순간 디코딩 리프레시
ILP 계층간 예측
ILRP 계층간 레퍼런스 픽처
JEM 공동 연구 모델
LTRP 장기 레퍼런스 픽처
MCTS 모션 제한 타일 세트
NAL 네트워크 추상화 계층
OLS 출력 계층 세트
PH 픽처 헤더
PPS 픽처 파라미터 세트
PTL 프로파일, 단계 및 레벨
PU 픽처 유닛
RAP 랜덤 액세스 포인트
RBSP 원시 바이트 시퀀스 페이로드
SEI 추가 개선 정보
SPS 시퀀스 파라미터 세트
STRP 단기 레퍼런스 픽처
SVC 스케일러블 비디오 코딩
VCL 비디오 코딩 레이어
VPS 비디오 파라미터 세트
VTM VVC 테스트 모델
VUI 비디오 사용성 정보
VVC VVC 다목적 비디오 코딩(Versatile Video Coding)
초기 논의
비디오 코딩 표준은 잘 알려진 ITU-T 및 ISO/IEC 표준의 개발을 통해 주로 발전해 왔다. ITU-T는 H.261및 H.263을 제작했으며, ISO/IEC는 MPEG-1 및 MPEG-4 비주얼을 제작했으며, 두 조직은 H.262/MPEG-2 비디오 및 H.264/MPEG-4 고급 비디오 코딩(AVC) 및 H.265/HEVC 표준들을 공동 제작했다. H.262 이후, 비디오 코딩 표준들은 시간적 예측 (temporal prediction)과 트랜스폼 코딩(transform coding)이 사용되는 하이브리드 비디오 코딩 구조에 기초한다. HEVC를 넘어 미래의 비디오 코딩 기술을 연구하기 위해, 공동 비디오 연구팀(JVET: Joint Video Exploration Team)이 VCEG와 MPEG의 공동으로 2015년에 설립되었다. 그 이후로, JVET에 의해 많은 새로운 방법들이 채택되었고 공동 연구 모델 (JEM: Joint Exploration Model)이라는 레퍼런스 소프트웨어에 적용되었다. JVET 회의는 분기마다 한번 동시 개최되며, 새로운 코딩 표준은 HEVC 대비 비트레이트 50% 감소를 목표로 하고 있다. 새로운 비디오 코딩 표준은 2018년 4월 JVET 회의에서 공식적으로 다목적 비디오 코딩(Versatile Video Coding; VVC)으로 명명되었으며, 당시 VVC 테스트 모델(VTM)의 첫 번째 버전이 출시되었다. VVC 표준화에 기여하는 지속적인 노력이 있기 때문에 모든 JVET 회의에서 새로운 코딩 기술이 VVC 표준에 채택되고 있다. VVC 작업 드래프트와 테스트 모델 VTM은 모든 회의 후에 업데이트된다. VVC 프로젝트는 현재 2020년 7월 회의에서 기술 완료(FDIS)를 목표로 하고 있다.
시퀀스 내에서 픽처 해상도 변경
AVC 및 HEVC에서, IRAP 픽처와 함께 새로운 SPS를 사용하는 새로운 시퀀스가 시작되지 않는 한 픽처의 공간 해상도(spatial resolution)는 변경할 수 없다. VVC는 항상 인트라 코딩되는(intra-coded) IRAP 픽처를 인코딩하지 않고 위치에서 시퀀스 내에서 픽처 해상도를 변경할 수 있다. 이 기능은 때로는 레퍼런스 픽처 리샘플링(reference picture resampling)(RPR)이라고도 하는데, 이는 해당 레퍼런스 픽처가 디코딩되는 현재 픽처와 해상도가 다른 경우 인터 예측(inter prediction)을 위해 사용되는 레퍼런스 픽처의 리샘플링이 필요하기 때문이다.
스케일링 비율은 1/2(레퍼런스 픽처에서 현재 픽처로의 2배의 다운샘플링)보다 크거나 동일하고, 8(8배의 업샘플링)보다 작거나 동일하도록 제한된다. 주파수 컷오프(frequency cutoffs)가 상이한 세 개의 세트의 리샘플링 필터들은 레퍼런스 픽처와 현재 픽처 사이의 다양한 스케일링 비율을 처리하도록 지정된다. 세 개의 세트의 리샘플링 필터들에는 1/2에서 1/1.75까지, 1/1.75에서 1/1.25까지, 그리고 1/1.25에서 8까지의 스케일링 비율이 각각 적용된다. 각 리샘플링 필터 세트는 루마(luma)에 대해 16개의 위상들과 모션 보정 보간 필터의 경우와 동일한 크로마(chroma)에 대해 32개의 위상들을 가진다. 실제로 일반 MC 보간 프로세스(interpolation process)는 스케일링 비율이 1/1.25에서 8 사이인 리샘플링 프로세스의 특별한 경우이다. 가로 및 세로 스케일링 비율은 픽처 너비와 높이, 및 레퍼런스 픽처 및 현재 픽처에 대해 지정된 왼쪽, 오른쪽, 위쪽 및 아래쪽 스케일링 오프셋에 기초하여 유도된다.
HEVC와 상이한 이 기능을 지원하기 위한 VVC 설계의 다른 측면은: i) 픽처 해상도 및 대응하는 적합성 윈도우는 SPS 대신 PPS에서 시그널링되는 반면, SPS에서는 최대 픽처 해상도가 시그널링된다. ii) 단일 계층 비트스트림(single-layer bitstream)의 경우, 각 픽처 스토어(디코딩된 픽처 하나의 저장을 위한 DPB의 슬롯)는 최대 픽처 해상도를 갖는 디코딩된 픽처를 저장하기 위해 필요에 따라 버퍼 크기를 차지한다.
일반 및 VVC에서 스케일러블 비디오 코딩(SVC)
스케일러블 비디오 코딩(SVC, 때때로 비디오 코딩에서 스케일러빌러티라고도 함)은 기본 계층(BL: Base Layer)(때로는 참조 계층(RL: Reference Layer)라고도 함)과 하나 이상의 스케일러블 향상 계층들(ELs: Enhancement layers)이 사용되는 비디오 코딩을 의미한다. SVC에서, 기본 계층은 기본 수준의 품질로 비디오 데이터를 전달할 수 있다. 하나 이상의 향상 계층들은 예를 들어 더 높은 공간, 시간 및/또는 신호 대 잡음(SNR) 레벨들을 지원하기 위해 추가 비디오 데이터를 전달할 수 있다. 향상 계층들은 이전에 인코딩된 계층에 대해 정의될 수 있다. 예를 들어, 하부 계층(bottom layer)은 BL의 역할을 할 수 있고 상부 계층(top layer)은 EL의 역할을 할 수 있다. 중간 계층들은 ELs 또는 RLs 또는 두 가지 모두의 역할을 할 수 있다. 예를 들어, 중간 계층(예를 들어, 최하위 계층도 최상위 계층도 아닌 계층)은 기본 계층 또는 임의의 중간에 끼어 있는 향상 계층과 같은 중간 계층 아래의 계층들에 대한 EL일 수 있으며, 동시에 중간 계층 위의 하나 이상의 향상 계층들에 대한 RL 역할을 한다. 유사하게, HEVC 표준의 멀티뷰(Multiview) 또는 3D 확장(3D extension)에서, 다중 뷰가 있을 수 있고, 하나의 뷰의 정보는 다른 뷰의 정보(예를 들어, 움직임 추정, 움직임 벡터 예측 및/또는 다른 리던던시)의 정보를 코딩(예를 들어, 인코딩 또는 디코딩)하는데 이용될 수 있다.
SVC에서, 인코더 또는 디코더에 의해 사용되는 파라미터들은 그것들이 활용될 수 있는 코딩 레벨(예를 들어, 비디오 레벨, 시퀀스 레벨, 픽처 레벨, 슬라이스 레벨 등)에 기초하여 파라미터 세트들로 그룹화된다. 예를 들어, 비트스트림에서 상이한 레이어들의 하나 이상의 코딩된 비디오 시퀀스들에 의해 이용될 수 있는 파라미터들은 비디오 파라미터 세트(VPS)에 포함될 수 있고, 코딩된 비디오 시퀀스에서 하나 이상의 픽처들에 의해 이용되는 파라미터들은 SPS(시퀀스 파라미터 집합)에 포함된다. 유사하게, 픽처의 하나 이상의 슬라이스들에 의해 활용되는 파라미터들은 픽처 파라미터 세트(PPS)에 포함될 수 있고, 단일 슬라이스에 특정한 다른 파라미터들은 슬라이스 헤더에 포함될 수 있다. 유사하게, 특정 계층이 주어진 시간에 어떤 파라미터 세트(들)를 사용하고 있는지의 표시는 다양한 코딩 레벨들에서 제공될 수 있다.
VVC에서 레퍼런스 픽처 리샘플링(RPR: Reference Picture Resampling) 지원 덕분에, VVC에서 SD 및 HD 해상도의 2개 계층들과 같이 다중 계층들(multiple layers)을 포함하는 비트스트림의 지원은 추가 신호 처리 레벨 코딩 툴 없이도 설계될 수 있고, 공간 스케일러빌리티 지원에 필요한 업샘플링은 RPR 업샘플링 필터만 사용할 수 있다. 그럼에도 불구하고 스케일러빌리티(scalability) 지원을 위해서는 높은 수준의 구문 변경(스케일러빌리티를 지원하지 않는 것과 비교하여)이 필요하다. 스케일러빌리티 지원은 VVC 버전 1에서 지정된다. AVC 및 HEVC의 확장을 포함하여 이전 비디오 코딩 표준의 스케일러빌리티 지원과 달리 VVC 스케일러빌리티 설계는 가능한 한 단일 계층 디코더 설계에 친숙하게 만들어졌다. 다중 계층 비트스트림에 대한 디코딩 기능은 비트스트림에 단일 계층만 있는 것처럼 지정된다. 예를 들어, DPB 크기와 같은 디코딩 기능은 디코딩될 비트스트림의 계층들의 개수와 독립된 방식으로 지정된다. 기본적으로 단일 계층 비트스트림용으로 설계된 디코더는 다중 계층 비트스트림을 디코딩하기 위해 많은 변경이 필요하지 않다. AVC 및 HEVC의 다중 계층 확장 설계와 비교할 때, HLS 측면은 일부 유연성을 희생하면서 상당히 단순화되었다. 예를 들어, IRAP AU는 CVS에 있는 각 계층에 대한 픽처를 포함하도록 요구된다.
파라미터 세트
AVC, HEVC 및 VVC는 파라미터 세트들을 지정한다. 파라미터 세트들의 유형은 SPS, PPS, APS 및 VPS를 포함한다. SPS 및 PPS는 모든 AVC, HEVC 및 VVC에서 지원된다. VPS는 HEVC 이후 도입되었으며 HEVC와 VVC에 모두 포함되어 있다. APS는 AVC 또는 HEVC에 포함되지 않았지만 최신 VVC 초안 텍스트에는 포함되어 있다.
SPS는 시퀀스 레벨 헤더 정보(sequence-level header information)를 전달하도록 설계되었으며, PPS는 드물게 변경되는 픽처 레벨 헤더 정보를 전달하도록 설계되었다. SPS 및 PPS를 사용하면, 각 시퀀스 또는 픽처에 대해 드물게 변경되는 정보를 반복할 필요가 없으므로 이 정보의 중복 시그널링을 피할 수 있다. 또한 SPS 및 PPS를 사용하면 중요한 헤더 정보의 대역 외 전송(out-of-band transmission)이 가능하므로 중복 전송의 필요성을 피할 뿐만 아니라 오류 복원력(error resilience)도 개선된다.
VPS는 다중 계층 비트스트림의 모든 계층들에 공통인 시퀀스 레벨 헤더 정보를 전달하기 위해 도입되었다.
APS는 코딩하는 데 상당한 비트가 필요하고 여러 픽처들에서 공유될 수 있으며 순서대로 매우 다양한 변형들이 있을 수 있는 픽처 레벨 또는 슬라이스 레벨 정보를 전달하기 위해 도입되었다.
일반 서브-비트스트림 추출 프로세스
최신 VVC 텍스트의 C.6 절은 다음과 같이 일반적인 서브-비트스트림 추출 프로세스를 지정한다.
C.6 서브-비트스트림 추출 프로세스
이 프로세스에 대한 입력은 비트스트림 inBitstream, 타겟 OLS 인덱스 targetOlsIdx 및 타겟 최고 TemporalId 값 tIdTarget이다.
이 프로세스의 출력은 서브-비트스트림 outBitstream이다.
다음 조건들을 모두 충족하는 어떠한 출력 서브-비트스트림도 적합성 비트스트림(conforming bitstream)이어야 하는 것이 입력 비트스트림에 대한 비트스트림 적합성의 요구사항이다.
- 출력 서브-비트스트림은, VPS에 의해 지정된 OLS 목록에 대한 인덱스와 동일한 targetOlsIdx 및 0에서 6까지의 범위에 있는 값과 동일한 tIdTarget을 포함하는, 이 절에 지정된 프로세스의 출력이다.
- 출력 서브-비트스트림은 LayerIdInOls[ targetOlsIdx ]의 nuh_layer_id 값 각각과 동일한 nuh_layer_id를 갖는 적어도 하나의 VCL NAL 유닛을 포함한다.
-출력 서브-비트스트림은 tIdTarget과 동일한 TemporalId를 갖는 적어도 하나의 VCL NAL 유닛을 포함합니다.
주 - 적합성 비트스트림은 TemporalId가 0인 코딩된 슬라이스 NAL 유닛을 하나 이상 포함하지만 nuh_layer_id가 0인 코딩된 슬라이스 NAL 유닛을 포함할 필요는 없다.
출력 서브-비트스트림 OutBitstream은 다음과 같이 유도된다.
비트스트림 outBitstream은 비트스트림 inBitstream과 동일하도록 설정된다.
TemporalId가 tIdTarget보다 큰 모든 NAL 유닛들을 outBitstream에서 제거한다.
outBitstream에서 nal_unit_type이 VPS_NUT, DCI_NUT 및 EOB_NUT 중 어느 것과도 같지 않고 LayerIdInOls[ targetOlsIdx ] 목록에 포함되지 않은 nuh_layer_id가 있는 모든 NAL 유닛들을 제거한다.
outBitstream에서 다음 조건들이 모두 참인 모든 VCL NAL 유닛들과 nal_unit_type이 PH_NUT, FD_NUT, SUFFIX_SEI_NUT인 연관 non-VCL NAL 유닛들 및 PayloadType이 0, 1 또는 130이 아닌 PREFIX_SEI_NUT를 제거한다.
- nal_unit_type은 TRAIL_NUT, STSA_NUT, RADL_NUT 또는 RASL_NUT와 같거나 nal_unit_type은 GDR_NUT와 같고 연관 ph_recovery_poc_cnt는 0이 아니다.
- nuh_layer_id는 0에서 NumLayersInOls[ targetOlsIdx] - 1(포함) 까지의 범위의 j 값에 대해 LayerIdInOls[ targetOlsIdx ][ j ]와 같다.
- TemporalId는 NumSubLayersInLayerInOLS[ targetOlsIdx ][ GeneralLayerIdx[ nuh_layer_id ] ]보다 크거나 같다.
outBitstream에서 sn_ols_flag가 1이고 NestingOlsIdx[ i ]가 targetOlsIdx와 같도록 0에서 sn_num_olss_minus1(포함)까지의 범위에 i 값이 없는 스케일러블 중첩 SEI 메시지를 포함하는 모든 SEI NAL 유닛들을 제거한다.
LayerIdInOls[ targetOlsIdx ]가 비트스트림의 모든 NAL 유닛들에서 nuh_layer_id의 모든 값들을 포함하지 않는 경우, 다음이 적용된다.
outBitstream에서 payloadType이 0(BP) 또는 130(DUI)인 넌-스케일러블 중첩 SEI 메시지를 포함하는 모든 SEI NAL 유닛들을 제거한다.
general_same_pic_timing_in_all_ols_flag가 0과 같을 때 payloadType이 1(PT)인 넌-스케일러블 중첩 SEI 메시지를 포함하는 모든 SEI NAL 유닛들을 outBitstream에서 제거한다.
outBitstream에 sn_ols_flag가 1인 스케일러블 중첩 SEI 메시지를 포함하고 outBitstream에 적용 가능한 SEI NAL 유닛들이 포함된 경우(NestingOlsIdx[ i ]는 targetOlsIdx와 같음), 다음이 적용된다.
- general_same_pic_timing_in_all_ols_flag가 0과 같으면 스케일러블 중첩 SEI 메시지에서 payloadType이 0(BP), 1(PT) 또는 130(DUI)인 적절한 넌-스케일러블 중첩 SEI 메시지를 추출하고 해당 SEI 메시지들을 outBitstream에 포함시킨다.
- 그렇지 않으면(general_same_pic_timing_in_all_ols_flag가 1과 같음), 스케일러블 중첩 SEI 메시지에서 payloadType이 0(BP) 또는 130(DUI)인 적절한 넌-스케일러블 중첩 SEI 메시지를 추출하고 해당 SEI 메시지를 outBitstream에 포함시킨다.
4. 개시된 기술 솔루션으로 해결된 기술적 문제
일반적인 서브-비트스트림 추출 프로세스의 기존 설계 및 최신 VVC 텍스트(JVET-R2001-vA/v10)의 관련 다른 부분에는 다음과 같은 문제가 있다.
출력 서브-비트스트림이 적합성 비트스트림이 되어야 하는 조건에서, tIdTarget의 값은 0에서 6까지(포함)의 범위에 있다고 한다. 그러나, 많은 비트스트림들에서 가장 높은 TemporalId 값은 6보다 작고 해당 값은 구문 요소 vps_max_sublayers_minus1에 의해 지정된다.
액세스 유닛 구분자(AUD) NAL 유닛가 있는 경우, 어떠한 nuh_layer_id 값도 가질 수 있다. 그러나, 서브-비트스트림 추출 프로세스의 3단계 는 nuh_layer_id 값들이 LayerIdInOls[ targetOlsIdx] 목록에 포함되지 않는 AUD NAL 유닛들을 제거한다.
일부 SEI NAL 유닛들은sn_ols_flag가 0인 스케일러블 중첩 SEI 메시지를 포함하는 반면에, 스케일러블 중첩 SEI 메시지에 표시된 적용 가능한 계층들은 타겟 OLS의 어떠한 계층도 포함하지 않는다. 즉, 적용 가능한 계층들의nuh_layer_id 값이 LayerIdInOls[ targetOlsIdx ] 목록에 포함되지 않는다. 이러한 SEI NAL 유닛들도 제거되어야 한다.
6단계의 조건, 즉 "LayerIdInOls[ targetOlsIdx]가 비트스트림의 모든 NAL 유닛들에서 nuh_layer_id의 모든 값들을 포함하지 않는 경우"에는 다음 두 가지 문제가 있다.
DCI, VPS, AUD 또는 EOB NAL 유닛들이 있고 nuh_layer_id가 VCL NAL 유닛들의 어떠한 nuh_layer_id 값들과 같지 않은 경우, 조건이 작동하지 않는다. .
"비트스트림"이라는 문구는 컨텍스트에 inBitstream 및 outBitstream이라는 두 가지 비트스트림들이 관련되어 있으므로 명확하지 않다.
6.c 단계는 넌-스케일러블 중첩 SEI 메시지들을 생성하기 위하여, sn_ols_flag가1이고 sn_subpic_flag가 1인 스케일러블 중첩 SEI 메시지들에서 스케일러블 중첩 SEI 메시지들을 추출하는 반면, 그런 스케일러블 중첩 SEI 메시지들은 단지 특정 서브픽처들에 적용되고 추출되어서는 아니된다.
단계 6.c에서, 하나의 SEI NAL 유닛 seiNalUnitA에서 여러 개의 스케일러블 중첩 SEI 메시지들이 추출되어 넌-스케일러블 중첩 SEI 메시지가 되는 경우에도, 그것들이 하나의 SEI NAL 유닛 seiNalUnitB에 포함되어야 하고 SEI NAL 유닛 seiNalUnitB는 SEI NAL 유닛 seiNalUnitA를 포함했던 동일한 PU에 포함되어야 한다. 그러나, 이것은 지정되지 않는다.
6.c 단계는 outBitstream 에서 일부 SEI 메시지들이 추출되어 넌-스케일러블 중첩 SEI 메시지로 포함된 모든 SEI NAL 유닛들을 제거해야 한다. 그러나, 이것은 지정되지 않는다.
SEI NAL 유닛이 payloadType이 0, 1 또는 130인 SEI 메시지를 포함할 때, SEI NAL 유닛은 payloadType이 0(BP), 1(PT), 130(DUI) 또는 133(스케일러블 중첩)이 아닌 SEI 메시지를 포함하지 않아야 한다는 제약이 없다. 이로 인해 4단계에서 SEI 메시지들 제거에는 SEI NAL 유닛들 제거 이상이 포함된다.
general_same_pic_timing_in_all_ols_flag 플래그는 넌-스케일러블 중첩 PT SEI 메시지들이 모든 OLS에 적용되는지 여부만 지정한다. 그러나 DUI SEI 메시지에 포함된 정보는 PT SEI 메시지와 유사한 목적을 위한 것이다.
기술 솔루션 및 구현 목록
상기와 같은 문제점들을해결하기 위하여, 아래와 같이 요약한 방법들을 개시한다. 항목들은 일반적인 개념을 설명하기 위한 예시로 간주되어야 하고 좁은 의미로 해석되어서는 안된다. 또한, 이러한 항목들은 개별적으로 적용하거나 어떤 방식으로든 결합할 수 있다.
문제 1을 해결하기 위해, tIdTarget의 값이 0에서 vps_max_sublayers_minus1(포함)의 범위에 있도록 지정되도록 출력 서브-비트스트림이 적합성 비트스트림이 되어야 하는 조건이 요구된다.
또달리, 출력 서브-비트스트림이 적합성 비트스트림이 되기 위해 요구되는 조건은 tIdTarget의 값이 입력 비트스트림에 하나 이상의 계층들이 있는 경우 0에서 vps_max_sublayers_minus1(포함)까지의 범위로 지정되고, 입력 비트스트림에 하나의 계층만 있는 경우 0에서 sps_max_sublayers_minus1(포함)까지의 범위로 지정된다.
문제 2를 해결하기 위해, AUD NAL 유닛들이 VPS_NUT, DCI_NUT 또는 EOB_NUT와 동일한 nal_unit_type을 갖는 NAL 유닛들과 동일한 방식으로 처리되도록 일반 서브-비트스트림 추출 프로세스가 지정된다. 즉, nuh_layer_id 값에 따라 출력 비트스트림 outBitstream에서 아무런 AUD NAL 유닛이 제거되지 않는다.
문제 3을 해결하기 위해, 일반적인 서브-비트스트림 추출 프로세스는, sn_ols_flag가 0인 스케일러블 중첩 SEI 메시지를 포함하는 출력 비트스트림 outBitstream, SEI NAL 유닛을 제거하도록 지정되는 반면, 스케일러블 중첩 SEI 메시지에 표시된 적용 가능한 계층들은 타겟 OLS의 어떠한 계층도 포함하지 않는다.
일례에서, sn_ols_flag가 0과 같고 0에서 nestingNumLayers-1(포함)까지의 범위, LayerIdInOls[ targetOlsIdx ] 목록에 있는 i에 대한 목록 nestingLayerId[ i ] 값이 없는 스케일러블 중첩 SEI 메시지를 포함하는 모든 SEI NAL 유닛들을 outBitstream에서 제거하도록 지정된다.
문제 4를 해결하기 위해, "LayerIdInOls[ targetOlsIdx]가 비트스트림의 모든 NAL 유닛들에서 nuh_layer_id의 모든 값들을 포함하지 않을 때" 조건이 "목록 LayerIdInOls[ targetOlsIdx]가 비트스트림 inBitstream의 모든 VCL NAL 유닛들에서 nuh_layer_id의 모든 값들을 포함하지 않을 때"로 변경된다.
문제 5를 해결하기 위해, 일반 서브-비트스트림 추출 프로세스는 넌-스케일러블 중첩 SEI 메시지를 생성하기 위해 sn_ols_flag가 1이고 sn_subpic_flag가 0인 스케일러블 중첩 SEI 메시지에서 스케일러블 중첩 SEI 메시지 만 추출 하도록 지정된다.
문제 6을 해결하기 위해, 일반 서브-비트스트림 추출 프로세스는 하나의 SEI NAL 유닛 seiNalUnitA에서 여러 개의 스케일러블 중첩 SEI 메시지들이 추출되어 넌-스케일러블 중첩 SEI 메시지가 되는 경우에도, 그것들이 출력 비트스트림 outBitstream의 하나의 SEI NAL유닛 seiNalUnitB에 여전히 포함되고, SEI NAL 유닛 seiNalUnitB는 SEI NAL 유닛 seiNalUnitA를 포함하는 PU에 포함되도록 지정된다.
문제 7을 해결하기 위해, 일반 서브-비트스트림 추출 프로세스는 출력 비트스트림 outBitstream에서 일부 SEI 메시지들이 추출되어 넌-스케일러블 중첩 SEI 메시지로 포함된 모든 SEI NAL 유닛들을 제거하도록 지정된다.
또달리, 이러한 SEI NAL 유닛의 스케일러블 중첩 SEI 메시지가 타겟 OLS(즉, VPS에 의해 지정된 targetOlsIdx 번째 OLS)에만 적용되는 경우, outBitstream에서 SEI NAL 유닛를 제거한다.
또달리, 이러한 SEI NAL 유닛의 스케일러블 중첩 SEI 메시지가 적용되는 OLS의 타겟 OLS 외에 LayerIdInOls[ targetOlsIdx ] 목록에 모두 포함된 계층들을 포함하는 OLS가 없는 경우 outBitstream에서 SEI NAL 유닛을 제거한다.
문제 8을 해결하기 위해, SEI NAL 유닛이 0, 1 또는 130과 같은 payloadType을 갖는 SEI 메시지를 포함할 때 SEI NAL 유닛이 0(BP), 1(PT), 130(DUI) 또는 133(스케일러블 중첩)과 같지 않은 payloadType을 갖는 SEI 메시지를 포함하지 않도록 제약을 추가한다.
문제 9를 해결하기 위해,플래그 general_same_pic_timing_in_all_ols_flag는 넌-스케일러블 중첩 PT 및 DUI SEI 메시지가 모든 OLS에 적용되는지 여부를 지정한다.
또달리, general_same_pic_timing_in_all_ols_flag 플래그는 넌-스케일러블 중첩 BP, PT 및 DUI SEI 메시지가 모든 OLS에 적용되는지 여부를 지정한다.
일례에서, 플래그 general_same_pic_timing_in_all_ols_flag는 넌-스케일러블 중첩 BP, PT 및 DUI SEI 메시지가 모든 OLS에 적용되는지 여부를 지정하는 플래그 general_same_pic_level_hrd_info_in_all_ols_flag로 이름이 변경된다.
또달리, 넌-스케일러블 중첩 DUI SEI 메시지가 모든 OLS에 적용되는지 여부를 지정하기 위해 general_same_dui_in_all_ols_flag라는 새 플래그가 추가된다.
또달리, 넌-스케일러블 중첩 BP SEI 메시지가 모든 OLS에 적용되는지 여부를 지정하기 위해 general_same_bp_in_all_ols_flag라는 새 플래그가 추가된다.
6. 실시예들
아래는 섹션 5에 요약된 본 발명의 측면들 중 일부에 대한 몇 가지 예시적인 실시예들이고, 이들은 VVC 사양에 적용될 수 있다. 변경된 텍스트는 JVET-R2001-vA/v10의 최신 VVC 텍스트를 기반으로 한다. 추가 또는 수정된 대부분의 관련 부분은굵은 기울임꼴로 강조표시 되고, 일부 삭제된 부분은 이중 괄호로 표시됩니다(예: [[a]]는 문자 "a"의 삭제를 나타냄). 편집되어 강조 표시되지 않은 몇 가지 다른 변경 사항들이 있다.
제1 실시예
이 실시예는 항목 1, 2, 3, 3.a, 4, 5, 6, 7.b, and 8에 대한 것이다.
C.6 일반 서브-비트스트림 추출 프로세스
이 프로세스에 대한 입력은 비트스트림 inBitstream, 타겟 OLS 인덱스 targetOlsIdx 및 타겟 최고 TemporalId 값 tIdTarget이다.
이 프로세스의 출력은 서브-비트스트림 outBitstream이다.
다음 조건들을 모두 충족하는 어떠한 출력 서브-비트스트림도 적합성 비트스트림(conforming bitstream)이어야 하는 것이 입력 비트스트림에 대한 비트스트림 적합성의 요구사항이다.
- 출력 서브-비트스트림은, VPS에 의해 지정된 OLS 목록에 대한 인덱스와 동일한 targetOlsIdx 및 0에서 vps_max_sublayers_minus1(포함) 까지의 범위에 있는 값과 동일한 tIdTarget을 포함하는, 이 절에 지정된 프로세스의 출력이다.
- 출력 서브-비트스트림은 LayerIdInOls[ targetOlsIdx ]의 nuh_layer_id 값 각각과 동일한 nuh_layer_id를 갖는 적어도 하나의 VCL NAL 유닛을 포함한다.
- 출력 서브-비트스트림은 tIdTarget과 동일한 TemporalId를 갖는 적어도 하나의 VCL NAL 유닛을 포함한다.
주 - 적합성 비트스트림은 TemporalId가 0인 코딩된 슬라이스 NAL 유닛을 하나 이상 포함하지만, nuh_layer_id가 0인 코딩된 슬라이스 NAL 유닛을 포함할 필요는 없다.
출력 서브-비트스트림 OutBitstream은 다음과 같은 순서화된 단계를 적용하여 유도된다 .
비트스트림 outBitstream은 비트스트림 inBitstream과 동일하도록 설정된다.
TemporalId가 tIdTarget보다 큰 모든 NAL 유닛들을 outBitstream에서 제거한다.
nal_unit_type이 DCI_NUT, VPS_NUT, AUD_NUT 및 EOB_NUT 중 어느 것과도 같지 않고 LayerIdInOls[ targetOlsIdx] 목록에 포함되지 않은 nuh_layer_id가 있는 모든 NAL 유닛들을 outBitstream에서 제거한다.
다음 조건이 모두 참인 모든 VCL NAL 유닛들을 outBitstream에서 제거하고, nal_unit_type이 PH_NUT 또는 FD_NUT와 같거나 nal_unit_type 이 SUFFIX_SEI_NUT 또는 PREFIX_SEI_NUT와 같고, payloadType 이 0(BP), 1(PT), 130(DUI) 또는 133(스케일러블 중첩)과 같지 않은 SEI 메시지를 포함하는 이러한 VCL NAL 유닛들의 연관 비-VCL(non-VCK) NAL 유닛도 outBitstream에서 제거합니다.
- nal_unit_type은 TRAIL_NUT, STSA_NUT, RADL_NUT 또는 RASL_NUT와 같거나 nal_unit_type은 GDR_NUT와 같고 연관 ph_recovery_poc_cnt는 0이 아니다.
- [[ nuh_layer_id는 LayerIdInOls[ targetOlsIdx ][ j ]와 0에서 NumLayersInOls[ targetOlsIdx] - 1(포함)까지의 범위의 j 값과 같다. ]]
- TemporalId는 NumSubLayersInLayerInOLS[ targetOlsIdx ][ GeneralLayerIdx[ nuh_layer_id ] ]보다 크거나 같다.
outBitstream에서 sn_ols_flag가 1이고 NestingOlsIdx[ i ]가 targetOlsIdx와 같도록 0에서 sn_num_olss_minus1(포함)까지의 범위에 i 값이 없는 스케일러블 중첩 SEI 메시지를 포함하는 모든 SEI NAL 유닛들을 제거한다.
outBitstream에서 sn_ols_flag가 0이고 0에서 nestingNumLayers - 1(포함)까지의 범위, 목록 LayerIdInOls[ targetOlsIdx ]에 있는 i에 대한 목록 nestingLayerId[ i ] 값이 없는 스케일러블 중첩 SEI 메시지를 포함하는 모든 SEI NAL 유닛들을 제거한다.
LayerIdInOls[ targetOlsIdx ]가 비트스트림 inBitstream 의 모든 VCL NAL 유닛들에서 nuh_layer_id의 모든 값들을 포함하지 않는 경우, 다음이 나열된 순서대로 적용된다.
outBitstream에서 payloadType이 0(BP) 또는 130(DUI)인 넌-스케일러블 중첩 SEI 메시지를 포함하는 모든 SEI NAL 유닛들을 제거한다.
general_same_pic_timing_in_all_ols_flag가 0과 같을 때 payloadType이 1(PT)인 넌-스케일러블 중첩 SEI 메시지를 포함하는 모든 SEI NAL 유닛들을 outBitstream에서 제거한다.
outBitstream이 스케일러블 중첩 SEI 메시지를 포함하는 SEI NAL 유닛들을 포함하는 경우로서 sn_ols_flag는 1 이고 sn_subpic_flag는 targetOlsIdx-th OLS에 적용되는 0과 동일할 때(즉, NestingOlsIdx[ i ]가 targetOlsIdx와 동일하도록 0에서 sn_num_olss_minus1까지의 범위에 i 값이 적어도 하나 이상 있음), 다음 은 나열된 순서대로 적용된다.
이러한 SEI NAL 유닛 seiNalUnitA의 각각의 스케일러블 중첩 BP 또는 DUI SEI 메시지에 대해 동일한 payloadType 및 SEI 페이로드를 갖는 넌-스케일러블 중첩 SEI 메시지를 생성하고 outBitstream의 seiNalUnitA를 포함하는 PU의 SEI NAL 유닛에 그것을 포함시킨다.
general_same_pic_timing_in_all_ols_flag가 0과 같을 때, 이러한 SEI NAL 유닛 seiNalUnitA의 각각의 스케일러블 중첩 PT SEI 메시지에 대해 동일한 SEI 페이로드를 갖는 넌-스케일러블 중첩 SEI 메시지를 생성하고 outBitstream의 seiNalUnitA를 포함하는 PU의 SEI NAL 유닛에 그것을 포함시킨다.
이러한 특정 SEI NAL 유닛 seiNalUnitA에 포함된 복수의 SEI 메시지가 넌-스케일러블 중첩 SEI 메시지로 된 경우, 넌-스케일러블 중첩 SEI 메시지는 하나의 SEI NAL 유닛에 포함된다.
이러한 SEI NAL 유닛 seiNalUnitA의 스케일러블 중첩 SEI 메시지가 적용되는 OLS의 타겟 OLS 외에 LayerIdInOls[ targetOlsIdx ] 목록에 모두 포함된 계층들을 포함하는 OLS가 없는 경우 outBitstream에서 SEI NAL 유닛 seiNalUnitA 을 제거한다.
D.2.2 일반 SEI 페이로드 의미 (semantics)
...
SEI NAL 유닛들의 SEI 메시지들 포함에 대해 다음 제한 사항들이 적용되는 것은 비트스트림 적합성의 요구 사항이다.
-SEI NAL 유닛이 넌-스케일러블 중첩 BP SEI 메시지, 넌-스케일러블 중첩 PT SEI 메시지 또는 넌-스케일러블 중첩 DUI SEI 메시지를 포함할 때, SEI NAL 유닛은 0(BP), 1(PT) 또는 130(DUI)과 같지 않은 payloadType이 있는 다른 SEI 메시지를 포함하지 않아야 한다.
-SEI NAL 유닛이 스케일러블 중첩 BP SEI 메시지, 스케일러블 중첩 PT SEI 메시지 또는 스케일러블 중첩 DUI SEI 메시지를 포함할 때, SEI NAL 유닛은 payloadType이 0(BP ), 1(PT), 130(DUI) 또는 133(스케일러블 중첩)과 같지 않은 payloadType이 있는 다른 SEI 메시지를 포함하지 않아야 한다.
-SEI NAL 유닛이 0, 1 또는 130과 같은 payloadType을 갖는 SEI 메시지를 포함할 때, SEI NAL 유닛은 0(BP), 1(PT), 130(DUI) 또는 133(스케일러블 중첩)과 같지 않은 payloadType을 갖는 SEI 메시지를 포함하지 않아야 한다.
...
도 1은 여기에 개시된 다양한 기술들이 구현될 수 있는 예시적인 비디오 처리 시스템(video processing system)(1900)을 도시하는 블록도이다. 다양한 구현은 시스템(system)(1900)의 컴포넌트 중 일부 또는 전부를 포함할 수 있다. 시스템(1900)은 비디오 컨텐츠를 수신하기 위한 입력(input)(1902)을 포함할 수 있다. 비디오 컨텐츠는 원시 또는 압축되지 않은 포맷(raw or uncompressed format), 예를 들어, 8 또는 10비트 다중 컴포넌트 픽셀 값들로 수신될 수 있거나 압축 또는 인코딩된 포맷일 수 있다. 입력(1902)은 네트워크 인터페이스, 주변 버스 인터페이스, 또는 저장 인터페이스를 나타낼 수 있다. 네트워크 인터페이스의 예는 이더넷, 수동 광 네트워크(PON) 등과 같은 유선 인터페이스와 Wi-Fi 또는 셀룰러 인터페이스와 같은 무선 인터페이스를 포함할 수 있다.
시스템(1900)은 본 문서에 설명된 다양한 코딩 또는 인코딩 방법을 구현할 수 있는 코딩 컴포넌트(coding component)(1904)를 포함할 수 있다. 코딩 컴포넌트(1904)는 비디오의 코딩된 표현을 생성하기 위해 입력(1902)으로부터 코딩 컴포넌트(1904)의 출력으로 비디오의 평균 비트레이트를 감소시킬 수 있다. 따라서 코딩 기술은 비디오 압축 또는 비디오 트랜스코딩(transcoding) 기술이라고도 한다. 코딩 컴포넌트(1904)의 출력은 컴포넌트(component)(1906)에 의해 표현되는 바와 같이, 연결된 통신을 통해 저장되거나 전송될 수 있다. 입력(1902)에서 수신된 비디오의 저장되거나 통신된 비트스트림(또는 코딩된) 표현은 디스플레이 인터페이스(1910)로 전송되는 픽셀 값 또는 디스플레이 가능한 비디오를 생성하기 위해 컴포넌트(1908)에 의해 사용될 수 있다. 비트스트림 표현( bitstream representation)에서 사용자가 볼 수 있는 비디오를 생성하는 프로세스를 비디오 압축 해제(decompression)라고도 한다. 또한, 특정 비디오 처리 동작을 "코딩" 동작(coding operation) 또는 툴(tools)로 지칭하지만, 코딩 툴 또는 동작이 인코더에서 사용되고 코딩 결과를 되돌리는 대응하는 디코딩 툴 또는 동작이 디코더에 의해 수행된다는 점을 이해할 것이다.
주변 버스 인터페이스 또는 디스플레이 인터페이스의 예로는 범용 직렬 버스(USB) 또는 고화질 멀티미디어 인터페이스(HDMI) 또는 디스플레이포트(Displayport) 등이 포함될 수 있다. 저장 인터페이스의 예로는 직렬 첨단 기술 첨부파일(SATA: Serial Advanced Technology Attachment), PCI, IDE 인터페이스 등이 있다. 본 문서에 기재된 기술은 휴대전화, 노트북, 스마트폰 또는 디지털 데이터 처리 및/또는 비디오 디스플레이를 수행할 수 있는 기타 장치와 같은 다양한 전자 기기에 구현될 수 있다.
도 2는 비디오 처리 장치(3600)의 블록도이다. 장치(apparatus)(3600)는 여기에 설명된 방법 중 하나 이상을 구현하는 데 사용될 수 있다. 장치(3600)는 스마트폰, 태블릿, 컴퓨터, 사물 인터넷(IoT) 수신기 등으로 구현될 수 있다. 장치(3600)는 하나 이상의 프로세서(processor)(3602), 하나 이상의 메모리(memory)(3604) 및 비디오 처리 하드웨어(video processing hardware)(3606)를 포함할 수 있다. 프로세서(들)(3602)는 본 문서에 설명된 하나 이상의 방법을 구현하도록 구성될 수 있다. 메모리(메모리들)(3604)는 여기에 설명된 방법 및 기술을 구현하는 데 사용되는 데이터 및 코드를 저장하는 데 사용될 수 있다. 비디오 처리 하드웨어(video processing hardware)(3606)는 하드웨어 회로에서 본 문서에 설명된 일부 기술을 구현하는 데 사용될 수 있다.
도 4는 본 개시물의 기법들을 이용할 수도 있는 예시적인 비디오 코딩 시스템(video coding system)(100)을 예시하는 블록도이다.
도 4에 도시된 바와 같이, 비디오 코딩 시스템(100)은 소스 장치(source device)(110) 및 목적 장치(destination device)(120)를 포함할 수 있다. 소스 장치(110)는 인코딩된 비디오 데이터를 생성하고, 비디오 인코딩 장치로 참조될 수 있다. 목적 장치(120)는 소스 장치(110)에 의해 생성된 인코딩된 비디오 데이터를 디코딩할 수 있고, 비디오 디코딩 장치로 참조될 수 있다.
소스 장치(110)에는 비디오 소스(112), 비디오 인코더(114) 및 입력/출력(I/O) 인터페이스(116)가 포함될 수 있다.
비디오 소스(112)에는 비디오 캡처 장치, 비디오 컴텐츠 공급자로부터 비디오 데이터를 수신하는 인터페이스, 비디오 데이터를 생성하기 위한 컴퓨터 그래픽 시스템 또는 이러한 소스의 조합을 포함할 수 있다. 비디오 데이터는 하나 이상의 픽처들을 포함할 수 있다. 비디오 인코더(114)는 비디오 소스(112)의 비디오 데이터를 인코딩하여 비트스트림을 생성한다. 비트스트림에는 비디오 데이터의 코딩된 표현을 형성하는 비트들의 시퀀스가 포함될 수 있다. 비트스트림에는 코딩된 픽처 및 연관된 데이터가 포함될 수 있다. 코딩된 픽처는 픽처의 코딩된 표현(representation)이다. 연관된 데이터에는 시퀀스 파라미터 세트, 픽처 파라미터 세트 및 기타 신택스 구조(syntax structures)가 포함될 수 있다. I/O 인터페이스(116)는 변조기/복조기(모뎀) 및/또는 송신기(transmitter)를 포함할 수 있다. 인코딩된 비디오 데이터는 네트워크(130a)를 거쳐, I/O 인터페이스(116)를 통해 목적 장치(120)로 직접 전송될 수 있다. 인코딩된 비디오 데이터는 목적 장치(120)에 의한 액세스를 위해 저장매체/서버(130b)에 저장될 수도 있다.
목적 장치(120)는 입력/출력(I/O) 인터페이스(126), 비디오 디코더(124) 및 디스플레이 장치(122)를 포함할 수 있다.
I/O 인터페이스(126)는 수신기 및/또는 모뎀을 포함할 수 있다. I/O 인터페이스(126)는 소스 장치(110) 또는 저장매체/서버(130b)로부터 인코딩된 비디오 데이터를 획득할 수 있다. 비디오 디코더(124)는 인코딩된 비디오 데이터를 디코딩할 수 있다. 디스플레이 장치(122)는 디코딩된 비디오 데이터를 사용자에게 디스플레이 할 수 있다. 디스플레이 장치(122)는 목적 장치(120)와 통합될 수 있거나, 외부 디스플레이 장치와 인터페이스 하도록 구성된 목적 장치(120)의 외부에 위치할 수 있다.
비디오 인코더(114) 및 비디오 디코더(124)는 고효율 비디오 코딩(HEVC) 표준, 다목적 비디오 코딩(VVC) 표준 및 기타 현재 및/또는 추가 표준과 같은 비디오 압축 표준에 따라 동작할 수 있다.
도 5는 도 4에 예시된 시스템(100)의 비디오 인코더(video encoder)(114)일 수 있는 비디오 인코더(video encoder)(200)의 예를 도시하는 블록도이다.
비디오 인코더(200)는 본 개시의 기술 중 어느 또는 전부를 수행하도록 구성될 수 있다. 도 5의 예에서, 비디오 인코더(200)는 복수의 기능적 컴포넌트들을 포함한다. 본 개시에 기재된 기술은 비디오 인코더(200)의 다양한 컴포넌트들 간에 공유될 수 있다. 일부 예들에서, 프로세서는 본 개시에 기재된 임의 또는 전부를 수행하기 위해 구성될 수 있다.
비디오 인코더(video encoder)(200)의 기능적 컴포넌트는 파티션 유닛(partition unit)(201)와, 모드 선택 유닛(mode select unit)(203), 모션 추정 유닛(motion estimation unit)(204), 모션 보상 유닛(motion compensation unit)(205) 및 인트라 예측 유닛(intra prediction unit)(206)을 포함할 수 있는 예측 유닛(predication unit)(202)과, 잔차 생생 유닛(residual generation unit)(207), 트랜스폼 유닛(transform unit)(208), 양자화 유닛(quantization unit)(209), 역양자화 유닛(inverse quantization unit)(210), 역트랜스폼 유닛(inverse transform unit)(211), 재구성 유닛(reconstruction unit)(212), 버퍼(buffer)(213), 및 엔트로피 인코딩 유닛(entropy encoding unit)(214)를 포함할 수 있다.
다른 예들에서, 비디오 인코더(200)에는 더 많거나, 더 적거나, 또는 다른 기능적 컴포넌트들이 포함될 수 있다. 예를 들어, 예측 유닛(202)은 인트라 블록 카피(IBC: Intra Block Copy) 유닛을 포함할 수 있다. IBC 유닛은 IBC 모드에서 적어도 하나의 레퍼런스 픽처가 현재 비디오 블록이 있는 픽처인 경우 예측을 수행할 수 있다.
또한, 모션 추정 유닛(204) 및 모션 보정 유닛(205)과 같은 일부 컴포넌트는 고집적될 수 있으나, 도 5의 예에서는 설명의 목적을 위해 분리된 것으로 표현되었다.
파티션 장치(201)는 픽처를 하나 이상의 비디오 블록들로 파티셔닝할 수 있다. 비디오 인코더(200) 및 비디오 디코더(300)는 다양한 비디오 블록 크기들을 지원할 수 있다.
모드 선택 유닛(203)은 오류 결과에 기초하여 코딩 모드, 예를 들면, 인트라 또는 인터 등을 선택하고, 결과인 인트라 또는 인터 코딩된 블록을, 잔차 생성 유닛(207)에 제공하여 잔차 블록 데이터를 생성하고, 재구성 유닛(212)으로 제공하여 레퍼런스 픽처로 사용하기 위한 인커딩된 블록을 재구성한다. 일부 예들에서, 모드 선택 유닛(203)은 인트라 및 인터 예측(CIIP: Intra and Inter Prediction) 모드의 조합을 선택할 수 있고, 이 모드에서 예측은 인터 예측 시그널 및 인트라 예측 시그널에 기초한다. 모드 선택 유닛(203)은 또한, 인터 예측의 경우, 블록에 대한 모션 벡터의 해상도(예를 들어, 서브 픽셀 또는 정수 픽셀 정밀도)를 선택할 수 있다.
현재 비디오 블록에서 인터 예측을 수행하기 위해, 모션 추정 유닛(204)은 버퍼(213)에서 현재 비디오 블록에 하나 이상의 레퍼런스 프레임들을 비교하여 현재 비디오 블록에 대한 모션 정보를 생성할 수 있다. 모션 보상 유닛(205)은 현재 비디오 블록과 연관된 픽처 이외의 버퍼(213)로부터의 모션 정보 및 디코딩된 픽처 샘플에 기초하여 현재 비디오 블록에 대한 예측 비디오 블록을 결정할 수 있다.
모션 추정 유닛(204) 및 모션 보상 유닛(205)은 현재 비디오 블록이 I 슬라이스, P 슬라이스 또는 B 슬라이스에 있는지 여부에 따라 현재 비디오 블록에 대해 서로 다른 동작을 수행할 수 있다.
일부 예들에서, 모션 추정 유닛(204)은 현재 비디오 블록에 대한 유니-디렉셔널(uni-directional) 예측을 수행할 수 있고, 모션 추정 유닛(204)은 현재 비디오 블록에 대한 레퍼런스 비디오 블록에 대한 list 0 또는 list 1의 레퍼런스 픽처를 검색할 수 있다. 그런 다음, 모션 추정 유닛(204)는 현재 비디오 블록과 레퍼런스 비디오 블록 사이의 공간 변위(spatial displacement)를 나타내는 레퍼런스 비디오 블록 및 모션 벡터를 포함하는 목록 0 또는 목록 1에서 레퍼런스 픽처를 나타내는 레퍼런스 인덱스(reference index)를 생성할 수 있다. 모션 추정 유닛(204)은 레퍼런스 인덱스(reference index), 예측 디렉션 표시자(prediction direction indicator) 및 모션 벡터를 현재 비디오 블록의 모션 정보로 출력할 수 있다. 모션 보상 유닛(205)은 현재 비디오 블록의 동작 정보에 의해 표시된 레퍼런스 비디오 블록에 기초하여 현재 블록의 예측된 비디오 블록을 생성할 수 있다.
다른 예들에서, 모션 추정 유닛(204)은 현재 비디오 블록에 대한 바이-디렉셔널(bi-directional) 예측을 수행할 수 있고, 모션 추정 유닛(204)은 현재 비디오 블록에 대한 레퍼런스 비디오 블록에 대한 목록 0에서 레퍼런스 픽처를 검색할 수 있으며, 또한 현재 비디오 블록에 대한 다른 레퍼런스 비디오 블록에 대한 목록 1에서 레퍼런스 픽처를 검색할 수 있다. 그런 다음, 모션 추정 유닛(204)은 레퍼런스 비디오 블록과 현재 비디오 블록 사이의 공간 변위를 나타내는 레퍼런스 비디오 블록 및 모션 벡터를 포함하는 목록 0 및 목록 1에서 레퍼런스 픽처를 나타내는 레퍼런스 인덱스를 생성할 수 있다. 모션 추정 유닛(204)은 현재 비디오 블록의 모션 정보로서 현재 비디오 블록의 레퍼런스 인덱스 및 모션 벡터를 출력할 수 있다. 모션 보상 유닛(205)은 현재 비디오 블록의 동작 정보에 의해 표시된 레퍼런스 비디오 블록에 기초하여 현재 비디오 블록의 예측 비디오 블록을 생성할 수 있다.
일부 예들에서, 모션 추정 유닛(204)은 디코더의 디코딩 처리를 위한 전체 모션 정보 세트(full set of motion information)를 출력할 수 있다.
일부 예들에서, 모션 추정 유닛(204)은 현재 비디오에 대한 전체 모션 정보 세트를 출력하지 않을 수 있다. 오히려, 모션 추정 유닛(204)은 다른 비디오 블록의 동작 정보를 참조하여 현재 비디오 블록의 모션 정보를 시그널링할 수 있다. 예를 들어, 모션 추정 유닛(motion estimation unit)(204)은 현재 비디오 블록의 모션 정보가 이웃 비디오 블록의 동작 정보와 충분히 유사하다고 결정할 수 있다.
일례에서, 모션 추정 유닛(204)은 현재 비디오 블록과 연결된 신택스 구조에서 현재 비디오 블록이 다른 비디오 블록과 동일한 모션 정보를 가지고 있음을 비디오 디코더(300)에 나타내는 값을 나타낼 수 있다.
또 다른 예에서, 모션 추정 유닛(204)은 현재 비디오 블록과 연관된 신택스 구조에서, 다른 비디오 블록 및 모션 벡터 차(MVD: Motion Vector Difference)를 식별할 수 있다. 모션 벡터 차는 현재 비디오 블록의 모션 벡터와 표시된 비디오 블록의 모션 벡터 사이의 차를 나타낸다. 비디오 디코더(300)는 현재 비디오 블록의 모션 벡터를 결정하기 위해 표시된 비디오 블록의 모션 벡터 및 모션 벡터 차를 사용할 수 있다.
위에서 설명한 바와 같이, 비디오 인코더(200)는 모션 벡터를 예측적으로 시그널링할 수 있다. 비디오 인코더(200)에 의해 구현될 수 있는 예측 시그널링 기술의 두 가지 예는, 어드밴스드 모션 벡터 예측(AMVP: Advanced Motion Vector Predication ) 및 병합 모드 시그널링을 포함한다.
인트라 예측 유닛(206)은 현재 비디오 블록에 대한 인트라 예측을 수행할 수 있다. 인트라 예측 유닛(206)이 현재 비디오 블록에 대한 인트라 예측을 수행하는 경우, 인트라 예측 유닛(206)은 동일 픽처에서 다른 비디오 블록의 디코딩된 샘플에 기초하여 현재 비디오 블록에 대한 예측 데이터를 생성할 수 있다. 현재 비디오 블록에 대한 예측 데이터에는 예측된 비디오 블록 및 다양한 신택스 요소가 포함될 수 있다.
잔차 생성 유닛(207)은 현재 비디오 블록으로부터 예측된 비디오 블록의 예측 비디오 블록(예를 들어, 마이너스 기호로 표시)을 빼서 현재 비디오 블록에 대한 잔차 데이터를 생성할 수 있다. 현재 비디오 블록의 잔차 데이터는 현재 비디오 블록에서 샘플의 상이한 샘플 컴포넌트에 대응하는 잔차 비디오 블록을 포함할 수 있다.
다른 예에서, 현재 비디오 블록에 대한 현재 비디오 블록에 대한 잔차 데이터가 없을 수 있고, 예를 들어 스킵(skip) 모드에서, 잔차 생성 유닛(207)은 빼기 동작을 수행하지 않을 수 있다.
트랜스폼 처리 유닛(208)은 현재 비디오 블록과 연결된 잔차 비디오 블록에 하나 이상의 트랜스폼을 적용하여 현재 비디오 블록에 대해 하나 이상의 트랜스폼 계수 비디오 블록을 생성할 수 있다.
트랜스폼 처리 유닛(208)은 현재 비디오 블록과 연관된 트랜스폼 계수 비디오 블록을 생성한 후, 양자화 유닛(209)는 현재 비디오 블록과 연관된 하나 이상의 양자화 파라미터(QP) 값에 기초하여 현재 비디오 블록과 연관된 트랜스폼 계수 비디오 블록을 양자화할 수 있다.
역양자화 유닛(210)과 역트랜스폼 유닛(211)은 트랜스폼 계수 비디오 블록으로부터 잔차 비디오 블록을 재구성하기 위해, 트랜스폼 계수 비디오 블록에 역양자화 유닛 및 역트랜스폼 유닛을 각각 적용할 수 있다. 재구성 유닛(212)은 예측 유닛(202)에 의해 생성된 하나 이상의 예측된 비디오 블록으로부터 대응하는 샘플에 재구성된 잔차 비디오 블록을 추가하여 버퍼(213)에 저장하기 위한 현재 블록과 연관된 재구성된 비디오 블록을 생성할 수 있다.
재구성 유닛(212)이 비디오 블록을 재구성한 후, 비디오 블록에서 비디오 차단 아티팩트를 줄이기 위해 루프 필터링 동작이 수행된다.
엔트로피 인코딩 유닛(214)은 비디오 인코더(200)의 다른 함수 컴포넌트로부터 데이터를 수신할 수 있다. 엔트로피 인코딩 유닛(214)이 데이터를 수신하는 경우, 엔트로피 인코딩 유닛(214)은 엔트로피 인코딩된 데이터를 생성하고 엔트로피 인코딩된 데이터를 포함하는 비트스트림을 출력하기 위해 하나 이상의 엔트로피 인코딩 동작을 수행할 수 있다.
도 6은 도 10에 예시된 시스템(100)의 비디오 디코더(114)일 수 있는 비디오 디코더(300)의 예를 도시하는 블록도이다.
비디오 디코더(300)는 본 개시의 기술 중 어느 또는 전부를 수행하도록 구성될 수 있다. 도 5의 예에서, 비디오 디코더(300)는 복수의 기능적 컴포넌트들을 포함한다. 본 개시에 기재된 기술은 비디오 디코더(300)의 다양한 컴포넌트들 간에 공유될 수 있다. 일부 예들에서, 프로세서는 본 개시에 기재된 임의 또는 전부를 수행하기 위해 구성될 수 있다.
도 6의 예에서, 비디오 디코더(video decoder)(300)는 엔트로피 디코딩 유닛(entropy decoding unit)(301), 모션 보상 유닛(motion compensation unit)(302), 인트라 예측 유닛(intra prediction unit)(303), 역양자화 유닛(inverse quantization unit)(304), 역트랜스폼 유닛(inverse transformation uni)(305), 및 재구성 유닛(reconstruction unit)(306) 및 버퍼(buffer)(307)를 포함한다. 비디오 디코더(300)는, 일부 예들에서, 비디오 인코더(200)에 대하여 기술된 인코딩 패스(pass)와 일반적으로 서로 주고 받는(reciprocal) 디코딩 패스를 수행할 수 있다(도 5).
엔트로피 디코딩 유닛(301)은 인코딩된 비트스트림을 검색할 수 있다. 인코딩된 비트스트림에는 엔트로피 코딩된 비디오 데이터(예를 들어, 비디오 데이터의 인코딩된 블록)가 포함될 수 있다. 엔트로피 디코딩 유닛(301)은 엔트로피 코딩된 비디오 데이터를 디코딩할 수 있고, 엔트로피 디코딩된 비디오 데이터로부터 모션 보상 유닛(302)는 모션 벡터, 모션 벡터 정밀도, 레퍼런스 픽처 목록 인덱스 및 기타 모션 정보를 포함하는 모션 정보를 결정할 수 있다. 모션 보상 유닛(302)은, 예를 들어 AMVP 및 병합 모드를 수행하여 이러한 정보를 결정할 수 있다.
모션 보상 유닛(302)은 보간 필터에 기초하여 보간(interpolation)을 수행하여 모션 보정 블록을 생성할 수 있다. 서브 픽셀 정밀도와 함께 사용되는 보간 필터에 대한 식별자가 신택스 요소에 포함될 수 있다.
모션 보상 유닛(302)은 비디오 블록을 인코딩하는 동안 비디오 인코더(20)에서 사용하는 보간 필터를 사용하여 레퍼런스 블록의 서브 정수 픽셀에 대한 보간 값을 계산할 수 있다. 모션 보상 유닛(302)은 수신된 신택스 정보에 따라 비디오 인코더(200)에서 사용하는 보간 필터를 결정하고 보간 필터를 사용하여 예측 블록을 생성할 수 있다.
모션 보상 유닛(302)은 인코딩된 비디오 시퀀스의 프레임 및/또는 슬라이스를 인코딩하는 데 사용되는 블록의 크기, 인코딩된 비디오 시퀀스의 각 매크로 블록이 파티셔닝되는 방식을 설명하는 파티션 정보, 각 파티션이 인코딩된 방법, 각 파티션이 인코딩되는 방식을 나타내는 모드, 각 인터-인코딩된 블록에 대한 하나 이상의 레퍼런스 프레임(및 레퍼런스 프레임 목록) 및 인코딩된 비디오 시퀀스를 디코딩하는 다른 정보들을 결정하기 위해 일부 신택스 정보를 사용할 수 있다.
인트라 예측 유닛(303)는, 공간적으로 인접한 블록(adjacent block)으로부터 예측 블록을 형성하기 위해 예를 들어 비트스트림에서 수신된 인트라 예측 모드를 사용할 수 있다. 역양자화 유닛(303)는 비트스트림에서 제공되고 엔트로피 디코딩 유닛(301)에서 디코딩된 양자화된 비디오 블록 계수를 역양자화(예를 들어, 비양자화(de-quantize))한다. 역트랜스폼 유닛(Inverse transform unit)(303)은 역트랜스폼을 적용한다.
재구성 유닛(Reconstruction unit)(306)은 모션 보상 유닛(202) 또는 인트라 예측 유닛(303)에 의해 생성된 대응하는 예측 블록과 잔차 블록을 합산하여 디코딩된 블록을 형성할 수 있다. 원하는 경우, 디블로킹 필터(deblocking filter)를 적용하여 차단 아티팩트(blockness artifacts)를 제거하기 위해 디코딩된 블록을 필터링할 수도 있다. 디코딩된 비디오 블록은 버퍼(307)에 저장되고, 이는 이후의 모션 보상/인트라 예측에 대한 레퍼런스 블록을 제공하고, 디스플레이 장치에서 재생하기 위한 디코딩된 비디오를 생성한다.
솔루션 목록은 개시된 기술의 일부 실시예들을 설명한다.
첫 번째 솔루션 세트가 다음에 제공된다. 다음 솔루션들은 이전 섹션(예를 들어, 항목 1-9)에서 논의된 기술의 예시적인 실시예들을 보여준다.
1. 비디오 처리 방법(예를 들어, 도 3의 방법(600))으로서, 하나 이상의 비디오 픽쳐들을 포함하는 하나 이상의 비디오 계층들을 포함하는 비디오와 비디오의 코딩된 표현 사이의 변환을 수행하는 단계(602)를 포함하며, 여기서 코딩된 표현은 코딩된 표현에서 서브-비트스트림의 추출과 관련된 형식 규칙을 따른다.
2. 솔루션 1의 방법에 있어서, 포맷 규칙에 따라 코딩된 표현으로부터 서브-비트스트림을 추출하는 것을 더 포함한다.
다음 솔루션들은 이전 섹션(예를 들어, 항목 1)에서 논의된 기술의 예시적인 실시예들을 보여준다.
3. 솔루션 1-2 중 어느 하나의 방법에 있어서, 서브-비트스트림을 추출하는 동안, 추출에 사용되는 타겟 id는 범위 0에서 코딩된 표현에 대한 비디오 파라미터 세트를 나타내는 신택스 필드의 값 사이가 되도록 허용된다.
다음 솔루션들은 이전 섹션(예를 들어, 항목 2)에서 논의된 기술의 예시적인 실시예들을 보여준다.
4. 솔루션 1 내지 솔루션 3 중 어느 하나에 있어서, 계층 id에 따라 출력 비트스트림에서 액세스 유닛 구분자 네트워크 추상화 계층(AUD NAL: Access Unit Delimiter Network Abstraction Layer)을 제거하지 않고 서브-비트스트림이 추출되는 것인 방법.
다음 솔루션들은 이전 섹션(예를 들어, 항목 3)에서 논의된 기술의 예시적인 실시예를 보여준다.
5. 솔루션 1 내지 솔루션 4 중 어느 하나의 방법에 있어서, 추출되는 출력 계층들에 적용할 수 없는 스케일러블 중첩 추가 개선 정보 메시지를 포함하는 네트워크 추상화 계층들 유닛을 선택적으로 제거함으로써 서브-비트스트림이 추출된다.
다음 솔루션들은 이전 섹션(예를 들어, 항목 5)에서 논의된 기술의 예시적인 실시예들을 보여준다.
6. 솔루션 1 내지 솔루션 5 중 어느 하나의 방법에 있어서, 서브-비트스트림은 설정되고 있는 출력 계층 세트에 대한 플래그를 사용하여 스케일러블 중첩 SEI 메시지로부터 넌-스케일러블 중첩 SEI(supplemental enhancement information)를 생성하도록 추출을 제한함으로써 추출되고, 비활성화되는 서브픽쳐에 대한 플래그이다.
다음 솔루션들은 이전 섹션(예를 들어, 항목 6)에서 논의된 기술의 예시적인 실시예들을 보여준다.
7. 솔루션 1 내지 솔루션 6 중 어느 하나의 방법에 있어서, 상기 서브-비트스트림은 단일 SEI 네트워크 추상화 계층 유닛으로부터 다중 스케일러블 중첩 SEI(supplemental enhancement information) 메시지의 추출을 지정하는 규칙에 따라 추출된다.
다음 솔루션들은 이전 섹션(예를 들어, 항목 7)에서 논의된 기술의 예시적인 실시예들을 보여준다.
8. 솔루션 1 내지 솔루션 7 중 어느 하나의 방법에 있어서, 상기 서브-비트스트림은 코딩된 표현으로부터, 일부 SEI 메시지들이 추출되어 넌-스케일러블 중첩 SEI 메시지로 포함된 모든 추가 개선 정보 네트워크 추상 계층 SEI NAL 유닛들을 제거하는 규칙에 따라 추출된다.
다음 솔루션들은 이전 섹션(예를 들어, 항목 8)에서 논의된 기술의 예시적인 실시예들을 보여준다.
9. 솔루션 1 내지 솔루션 8 중 어느 하나의 방법에 있어서, 상기 포맷 규칙은 SEI NAL(Supplemental Enhanced Information Network Abstraction Layer) 유닛이 0, 1 또는 130과 동일한 payloadType을 갖는 SEI 메시지를 포함할 때, 상기 SEI NAL 유닛이 payloadType이 0(BP), 1(PT), 130(DUI) 또는 133(스케일러블 중첩)이 아닌 SEI 메시지를 포함하는 것을 허용하지 않도록 지정한다.
10. 솔루션 1 내지 9 중 어느 하나의 방법에 있어서, 변환은 비디오를 코딩된 표현으로 인코딩하는 것을 포함한다.
11. 솔루션 1 내지 9 중 어느 하나의 방법에 있어서, 변환은 비디오를 생성하기 위해 코딩된 표현을 파싱 및 디코딩하는 것을 포함한다.
12. 솔루션 1 내지 11 중 어느 하나 이상에 기재된 방법을 구현하도록 구성된 프로세서를 포함하는 비디오 디코딩 장치.
13. 솔루션 1 내지 11 중 어느 하나 이상에 기재된 방법을 구현하도록 구성된 프로세서를 포함하는 비디오 인코딩 장치.
14. 컴퓨터 코드가 저장되어 있는 컴퓨터 프로그램에서, 코드는, 프로세서에 의해 실행 시, 프로세서로 하여금 솔루션 1 내지 11 중 어느 하나에 기재된 방법을 구현하도록 한다.
15. 본 문서에 기술된 방법, 장치 및 시스템.
두 번째 솔루션 세트는 이전 섹션(예를 들어, 항목 1, 4, 8, 및 9)에서 논의된 기술의 예시적인 실시예들을 보여준다.
1. 비디오 처리 방법(예를 들어, 도 7a에 도시된 바와 같은 방법(700))으로서, 다중 계층들을 포함하는 비디오와 비디오의 비트스트림 사이의 변환을 규칙에 따라 수행하는 단계(702)를 포함하고, 여기서 규칙은 비트스트림으로부터 추출된 서브-비트스트림의 시간 계층 식별자 값의 최대 허용값을 지정한다.
2. 솔루션 1의 방법에 있어서, 규칙은 비트스트림의 다수의 계층들에 응답한다.
3. 솔루션 1 또는 솔루션 2의 방법에 있어서, 계층들의 수가 1보다 큰 경우, 규칙은 시간 계층들 식별자의 최대 허용 값이, 비트스트림에 의해 참조되는 비디오 파라미터 세트에서, 0에서 제1 신택스 요소를 기반으로 하는 값의 범위에 있음을 지정한다.
4. 솔루션 1 또는 솔루션 2의 방법에 있어서, 계층들의 수가 1인 경우, 규칙은 시간 계층들 식별자의 최대 허용 값이, 비트스트림에 의해 참조되는 시퀀스 매개변수 세트에서, 0 내지 제2 신택스 요소에 기초한 값의 범위에 있음을 지정한다.
5. 솔루션 3의 방법에 있어서, 제1 신택스 요소는 비디오 파라미터 세트에서 1을 뺀 값에 의해 지정된 계층에 존재하도록 허용되는 시간 서브계층들의 최대 수를 지정한다.
6. 솔루션 4의 방법에 있어서, 제2 신택스 요소는 시퀀스 파라미터 세트에서 1을 뺀 값에 의해 지정된 계층들에 존재하도록 허용되는 시간 서브계층들의 최대 수를 지정한다.
7. 솔루션 3의 방법에 있어서 비디오 파라미터 세트의 제1 신택스 요소는 vps_max_sublayers_minus1이다.
8. 솔루션 4의 방법에 있어서 시퀀스 파라미터 세트의 제2 신택스 요소는 sps_max_sublayers_minus1이다.
9. 솔루션 3 또는 4의 방법에 있어서 상기 값은 제1 신택스 요소 또는 제2 신택스 요소의 값과 동일하다.
10. 비디오 처리 방법(예를 들어, 도 7b에 도시된 바와 같은 방법(710))으로서, 비디오와 비디오의 비트스트림 사이의 변환을 규칙에 따라 수행하는 단계(712)를 포함하고, 여기서 규칙은 서브-비트스트림을 출력하기 위해 서브-비트스트림 추출 프로세스 동안 비트스트림으로부터 추출될 네트워크 추상화 계층(NAL: Network Abstraction Layer) 유닛들을 정의하고, 여기서 규칙은 타겟 출력 계층 세트(OLS) 인덱스를 갖는 OLS의 NAL 유닛 헤더 식별자 값들의 목록이 서브-비트스트림 추출 프로세스에 입력되는 비트스트림의 모든 비디오 코딩 레이어(VCL) NAL 유닛들에서 NAL 유닛 헤더 식별자들의 모든 값들을 포함하지 않는지 여부에 기초하여 서브-비트스트림을 유도하도록 지정한다.
11. 솔루션 10의 방법에 있어서, 출력 계층 세트의 NAL 유닛 헤더 식별자 값들의 목록이 비트스트림의 모든 VCL NAL 유닛에 있는 NAL 유닛 헤더 식별자들의 모든 값을 포함하지는 않는 경우, 규칙은 0 또는 130과 동일한 페이로드 유형을 갖는 넌-스케일러블 중첩 SEI 메시지를 포함하는 모든 SEI(Supplemental Enhmentment Information) NAL 유닛들을 서브-비트스트림으로부터 제거하도록 지정한다.
12. 비디오 처리 방법(예를 들어, 도 7c에 도시된 바와 같은 방법(720))으로서, 비디오와 비디오의 비트스트림 간의 변환을 규칙에 따라 수행하는 단계(722)를 포함하며, 여기서 규칙은 서브-비트스트림을 출력하기 위해 서브-비트스트림 추출 프로세스 동안 비트스트림으로부터 추출될 네트워크 추상화 계층(NAL) 유닛들을 정의하고, 여기서 규칙은 추가 개선 정보(SEI) 네트워크 추상화 계층 유닛에 포함된 제1 SEI 메시지의 페이로드 유형에 응답하여 SEI NAL 유닛이 특정 페이로드 유형을 갖는 SEI 메시지를 포함하는 것을 허용하지 않도록 지정한다.
13. 솔루션 12의 방법에 있어서, 첫 번째 SEI 메시지의 페이로드 유형은 0, 1, 또는 130이고 규칙은 SEI NAL 유닛이 0, 1, 130 또는 133과 같지 않은 특정 페이로드 유형을 갖는 SEI 메시지를 포함하는 것을 허용하지 않도록 지정한다.
14. 비디오 처리 방법(예를 들어, 도 7d에 도시된 바와 같은 방법(730))으로서, 비디오와 비디오의 비트스트림 간의 변환을 포맷 규칙에 따라 수행하는 단계(732)를 포함하며, 여기서 포맷 규칙은 비트스트림이 하나 이상의 특정한 페이로드 유형들을 가진 하나 이상의 넌-스케일러블 중첩된 SEI(Supplemental Enhancement Information) 메시지들이 코딩 계층에 의해 참조되는 모든 출력 계층 세트들에 적용되는지 여부를 지정하는 플래그를 포함하도록 지정한다.
15. 솔루션 14의 방법에 있어서, 하나 이상의 특정 페이로드 유형들이 1 및 130과 동일하다.
16. 솔루션 14의 방법에 있어서, 하나 이상의 넌-스케일러블 SEI 메시지는 픽처 타이밍(PT: Picture Timing) SEI 메시지 및 디코딩 유닛 정보(DUI) SEI 메시지이다.
17. 솔루션 14의 방법에 있어서, 하나 이상의 특정 페이로드 유형들은 0, 1 및 130과 동일하다.
18. 솔루션 14의 방법에 있어서, 하나 이상의 넌-스케일러블 SEI 메시지들은 버퍼링 주기(BP: Buffering Period) SEI 메시지들 및 디코딩 유닛 정보(DUI) SEI 메시지들이다.
19. 솔루션 14의 방법에 있어서, 하나 이상의 특정 페이로드 유형이 130과 동일하다.
20. 솔루션 14의 방법에 있어서, 하나 이상의 넌-스케일러블 SEI 메시지들은 디코딩 유닛 정보(DUI) SEI 메시지들이다.
21. 솔루션 14의 방법에 있어서, 하나 이상의 특정 페이로드 유형은 0과 동일하다.
22. 솔루션 1의 방법에 있어서, 하나 이상의 넌-스케일러블 SEI 메시지들은 버퍼링 기간(BP) SEI 메시지들이다.
23. 솔루션 1 내지 솔루션 25 중 어느 하나의 방법에 있어서, 상기 변환은 비디오를 비트스트림으로 인코딩하는 단계를 포함한다.
24. 솔루션 1 내지 솔루션 22 중 어느 하나의 방법에 있어서, 상기 변환은 비트스트림으로부터 비디오를 디코딩하는 단계를 포함한다.
25. 솔루션 1 내지 솔루션 22 중 어느 하나의 방법에 있어서, 상기 변환은 비디오로부터 비트스트림을 생성하는 단계를 포함하고, 상기 방법은 비트스트림을 비일시적 컴퓨터 판독가능 기록 매체에 저장하는 단계를 더 포함한다.
26. 솔루션 1 내지 솔루션 25 중 어느 하나 이상에 기재된 방법을 구현하도록 구성된 프로세서를 포함하는 비디오 처리 장치.
27. 솔루션 1 내지 솔루션 25 중 어느 하나에 기재된 방법을 포함하고, 상기 비트스트림을 비일시적 컴퓨터 판독가능 기록매체에 저장하는 단계를 더 포함하는 비디오의 비트스트림을 저장하는 방법.
28. 실행될 때 프로세서로 하여금 솔루션 1 내지 솔루션 25 중 어느 하나 이상에 기재된 방법을 구현하게 하는 프로그램 코드를 저장하는 컴퓨터 판독가능 매체.
29. 솔루션 1 내지 솔루션 28 중 어느 하나에 기재된 방법에 따라 생성된 비트스트림을 저장하는 컴퓨터 판독 가능 매체.
30. 솔루션 1 내지 솔루션 25 중 어느 하나 이상에 기재된 방법을 구현하도록 구성되고, 비트스트림 표현을 저장하는 비디오 처리 장치.
세 번째 솔루션 세트는 이전 섹션(예를 들어, 항목 2)에서 논의된 기술의 예시적인 실시예들을 보여준다.
1. 비디오 처리 방법(예를 들어, 도 8에 도시된 바와 같은 방법(800))으로서, 비디오와 비디오의 비트스트림 간의 변환을 규칙에 따라 수행하는 단계(802)를 포함하며, 여기서 규칙은 특정 유형의 네트워크 추상화 계층(NAL: Network Abstraction Layer) 유닛들을 제거하지 않고 특정 NAL 유닛 헤더 식별자 값을 가지지 않고, 출력 서브-비트스트림이 비트스트림으로부터 추출되는 서브-비트스트림 추출 프로세스를 지정한다. 여기서 특정 유형은 액세스 유닛 구분자(AUD) NAL 유닛을 포함한다.
2. 솔루션 1의 방법에 있어서, 특정 유형은 비디오 파라미터 세트(VPS) NAL 유닛을 포함한다.
3. 솔루션 1 또는 솔루션 2의 방법에 있어서, 특정 유형은 디코딩 능력 정보 NAL 유닛을 포함한다.
4. 솔루션 1-3 중 어느 하나의 방법에 있어서, 특정 유형은 비트스트림 NAL 유닛의 끝을 포함한다.
5. 솔루션 1 내지 솔루션 4 중 어느 하나의 방법에 있어서, 특정 유형은 0, 1, 130 또는 203과 동일한 페이로드 유형을 갖는 넌-스케일러블 중첩된 SEI 메시지를 포함하는 추가 개선 정보 NAL 유닛을 포함한다.
6. 솔루션 1 내지 솔루션 6 중 어느 하나의 방법에 있어서, 특정 NAL 유닛 헤더 식별자 값은 출력 서브-비트스트림에 대한 계층 값들의 목록에 포함된 계층 식별자 값을 포함한다.
7. 솔루션 1의 방법에 있어서,규칙은 특정 타입 NAL 유닛과 연관된 NAL 유닛 헤더 식별자 값에 관계없이 예외에 따라 특정 타입 NAL 유닛이 출력 비트스트림으로부터 제거되지 않는다는 것을 지정한다.
8. 솔루션 1 내지 솔루션 7 중 어느 하나의 방법에 있어서, 상기 변환은 비디오를 비트스트림으로 인코딩하는 단계를 포함한다.
9. 솔루션 1 내지 솔루션 7 중 어느 하나의 방법에 있어서, 상기 변환은 비트스트림으로부터 비디오를 디코딩하는 단계를 포함한다.
10. 솔루션 1 내지 솔루션 7 중 어느 하나의 방법에 있어서, 상기 변환은 비디오로부터 비트스트림을 생성하는 단계를 포함하고, 상기 방법은 비트스트림을 비일시적 컴퓨터 판독가능 기록 매체에 저장하는 단계를 더 포함한다.
11. 솔루션 1 내지 솔루션 10 중 어느 하나 이상에 기재된 방법을 구현하도록 구성된 프로세서를 포함하는 비디오 처리 장치.
12. 솔루션 1 내지 솔루션 10 중 어느 하나에 기재된 방법을 포함하고, 상기 비트스트림을 비일시적 컴퓨터 판독가능 기록매체에 저장하는 단계를 더 포함하는 비디오의 비트스트림을 저장하는 방법.
13. 실행될 때 프로세서로 하여금 솔루션 1 내지 솔루션 10 중 어느 하나 이상에 기재된 방법을 구현하게 하는 프로그램 코드를 저장하는 컴퓨터 판독가능 매체.
14. 솔루션 1 내지 솔루션 28 중 어느 하나에 기재된 방법에 따라 생성된 비트스트림을 저장하는 컴퓨터 판독 가능 매체.
15. 솔루션 1 내지 솔루션 10 중 어느 하나 이상에 기재된 방법을 구현하도록 구성되고, 비트스트림 표현을 저장하는 비디오 처리 장치.
네 번째 솔루션 세트는 이전 섹션(예를 들어, 항목 3)에서 논의된 기술의 예시적인 실시예들을 보여준다.
1. 비디오 처리 방법(예를 들어, 도 9에 도시된 바와 같은 방법 900)으로서, 하나 이상의 계층들을 포함하는 비디오와 비디오의 비트스트림 사이의 변환을 규칙에 따라 수행하는 단계(902)를 포함하며, 여기서 규칙은 서브-비트스트림 추출 프로세스에서 타겟 출력 계층들 세트(OLS)에 포함되지 않은 계층들에 적용되는 스케일러블 중첩 추가 개선 정보(SEI) 메시지를 포함하는 네트워크 추상화 계층들(NAL) 유닛을 제거하도록 지정한다.
2. 솔루션 1의 방법에 있어서,스케일러블 중첩 SEI 메시지는 계층들에 적용되는 스케일러블 중첩 SEI 메시지를 지정하는 특정 값과 동일한 값을 갖는 플래그와 연관된다.
3. 솔루션 2의 방법에 있어서,특정 값은 0이다.
4. 솔루션 1의 방법에 있어서, 규칙은 제2 목록(LayerIdInOls[ targetOlsIdx])에 있는 제1 목록(NestingLayerID[i])에 값이 없는 SEI 메시지를 포함하는 NAL 유닛들을 제거하도록 추가 지정하고, 이에 의해 제1 목록은 스케일러블 중첩 SEI 메시지가 적용되는 계층들의 NAL 유닛 헤더 식별자 값들을 지정하고 i는 0 ~ NumLayers - 1의 범위에 있으며, NumLayers는 스케일러블 중첩 SEI 메시지가 적용되는 계층들의 수를 나타내며, 제2 목록은 타겟 출력 계층 인덱스로 설정된 타겟 출력 계층의 NAL 유닛 헤더 식별자 값들을 지정한다.
5. 솔루션 1 내지 솔루션 4 중 어느 하나의 방법에 있어서, 상기 변환은 비디오를 비트스트림으로 인코딩하는 단계를 포함한다.
6. 솔루션 1 내지 솔루션 4 중 어느 하나의 방법에 있어서, 상기 변환은 비트스트림으로부터 비디오를 디코딩하는 단계를 포함한다.
7. 솔루션 1 내지 솔루션 4 중 어느 하나의 방법에 있어서, 상기 변환은 비디오로부터 비트스트림을 생성하는 단계를 포함하고, 상기 방법은 비트스트림을 비일시적 컴퓨터 판독가능 기록 매체에 저장하는 단계를 더 포함한다.
8. 솔루션 1 내지 솔루션 7 중 어느 하나 이상에 기재된 방법을 구현하도록 구성된 프로세서를 포함하는 비디오 처리 장치.
9. 솔루션 1 내지 솔루션 7 중 어느 하나에 기재된 방법을 포함하고, 상기 비트스트림을 비일시적 컴퓨터 판독가능 기록매체에 저장하는 단계를 더 포함하는 비디오의 비트스트림을 저장하는 방법.
10. 실행될 때 프로세서로 하여금 솔루션 1 내지 솔루션 7 중 어느 하나 이상에 기재된 방법을 구현하게 하는 프로그램 코드를 저장하는 컴퓨터 판독가능 매체.
11. 솔루션 1 내지 솔루션 28 중 어느 하나에 기재된 방법에 따라 생성된 비트스트림을 저장하는 컴퓨터 판독 가능 매체.
12. 솔루션 1 내지 솔루션 7 중 어느 하나 이상에 기재된 방법을 구현하도록 구성되고, 비트스트림 표현을 저장하는 비디오 처리 장치.
다섯 번째 솔루션 세트는 이전 섹션(예를 들어, 항목 5-7)에서 논의된 기술의 예시적인 실시예들을 보여준다.
1. 비디오 처리 방법(예를 들어, 도 10a에 도시된 바와 같은 방법(1000))에 있어서, 하나 이상의 계층들을 포함하는 비디오와 비디오의 비트스트림 사이의 변환을 규칙에 따라 수행하는 단계(1002)를 포함하고, 여기서 규칙은 서브-비트스트림 추출 프로세스에서, 추가 개선 정보(SEI: Supplementary Enhancement Information) 메시지가 특정 출력 계층 세트들(OLSs: Output Layer Sets)에 적용되는지 여부를 나타내는 제1 플래그, 및 SEI 메시지가 모든 서브픽처들에 적용되는지 또는 특정 서브픽쳐들에 적용되는지 여부를 나타내는 제2 플래그에 기초하여, 스케일러블 중첩 SEI 메시지로부터 스케일러블 중첩된 SEI 메시지를 추출함으로써 넌-스케일러블 중첩 SEI 메시지가 생성되도록 지정한다.
2. 솔루션 1의 방법에 있어서, 규칙은 i) SEI 메시지가 특정 출력 계층 세트들(OLS)에 적용됨을 지정하는 제1 값을 갖는 제1 플래그 및 ii) 특정 OLS에 적용되는 SEI 메시지가 충족되는 지정된 OLS의 모든 서브픽처들에 적용됨을 지정하는 제2 값을 갖는 제2 플래그 조건들에 응답하여 넌-스케일러브 중첩 SEI 메시지 생성을 지정한다.
3. 비디오 처리 방법(예를 들어, 도 10b에 도시된 바와 같은 방법 1010)으로서, 하나 이상의 계층들을 포함하는 비디오와 비디오의 비트스트림 사이의 변환을 규칙에 따라 수행하는 단계(1012)를 포함하고, 여기서 규칙은, 서브-비트스트림 추출 프로세스에서, 픽처 유닛의 제1 SEI 네트워크 추상화 계층(NAL) 유닛으로부터 다중 스케일러블 중첩 추가 개선 정보(SEI) 메시지들을 추출하여 넌-스케일러블 중첩 SEI(Supplemental Enhanced Information) 메시지가 생성되도록 지정한다.
4. 솔루션 3의 방법에 있어서, 다중 스케일러블 중첩 SEI 메시지들은 픽처 유닛에 포함된 제2 SEI NAL 유닛에 포함된다.
5. 솔루션 4의 방법에 있어서, 제2 SEI NAL 유닛은 제1 SEI NAL 유닛 직후에 있다.
6. 비디오 처리 방법(예를 들어, 도 10c에 도시된 바와 같은 방법(1020))으로서, 하나 이상의 계층들을 포함하는 비디오와 비디오의 비트스트림 사이의 변환을 규칙에 따라 수행하는 단계(1022)를 포함하며, 여기서 규칙은 출력 비트스트림을 생성하기 위한 서브-비트스트림 추출 프로세스를 지정하고, 이 규칙은 서브-비트스트림 추출 프로세스 동안 하나 이상의 추가 개선 정보 (SEI) 네트워크 추상화 계층(NAL) 유닛들의 처리를 지정한다.
7. 솔루션 6의 방법에 있어서, 규칙은 일부 SEI 메시지들이 추출되고 넌-스케일러블 중첩된 SEI 메시지로서 포함된 하나 이상의 SEI NAL 유닛들을 제거하도록 지정한다.
8. 솔루션 6의 방법에 있어서, 규칙은 타겟 출력 계층 세트에만 적용되는 스케일러블 중첩 SEI 메시지를 포함하는 SEI NAL 유닛을 제거하도록 지정한다.
9. 솔루션 6의 방법에 있어서,규칙은 타겟 출력 계층 세트(OLS) 이외의 OLS가 없는 OLS들에 적용되는 스케일러블 중복 SEI 메시지를 포함하는 SEI NAL 유닛을 제거하도록 지정한다.
10. 솔루션 1 내지 솔루션 9 중 어느 하나의 방법에 있어서, 상기 변환은 비디오를 비트스트림으로 인코딩하는 단계를 포함한다.
11. 솔루션 1 내지 솔루션 9 중 어느 하나의 방법에 있어서, 상기 변환은 비트스트림으로부터 비디오를 디코딩하는 단계를 포함한다.
12. 솔루션 1 내지 솔루션 9 중 어느 하나의 방법에 있어서, 상기 변환은 비디오로부터 비트스트림을 생성하는 단계를 포함하고, 상기 방법은 비트스트림을 비일시적 컴퓨터 판독가능 기록 매체에 저장하는 단계를 더 포함한다.
13. 솔루션 1 내지 솔루션 12 중 어느 하나 이상에 기재된 방법을 구현하도록 구성된 프로세서를 포함하는 비디오 처리 장치.
14. 솔루션 1 내지 솔루션 12 중 어느 하나에 기재된 방법을 포함하고, 상기 비트스트림을 비일시적 컴퓨터 판독가능 기록매체에 저장하는 단계를 더 포함하는 비디오의 비트스트림을 저장하는 방법.
15. 실행될 때 프로세서로 하여금 솔루션 1 내지 솔루션 12 중 어느 하나 이상에 기재된 방법을 구현하게 하는 프로그램 코드를 저장하는 컴퓨터 판독가능 매체.
16. 솔루션 1 내지 솔루션 28 중 어느 하나에 기재된 방법에 따라 생성된 비트스트림을 저장하는 컴퓨터 판독 가능 매체.
17. 솔루션 1 내지 솔루션 12 중 어느 하나 이상에 기재된 방법을 구현하도록 구성되고, 비트스트림 표현을 저장하는 비디오 처리 장치.
본 문서에 기재된 개시 및 기타 솔루션, 예, 실시예, 모듈 및 기능적 동작(operation)은 디지털 전자 회로, 또는 컴퓨터 소프트웨어, 펌웨어 또는 하드웨어에서 구현될 수 있으며, 여기에는 이 문서 및 그 구조적 등가물 또는 그 중 하나 이상의 조합으로 구현될 수 있다. 개시된 및 기타 실시예들은 하나 이상의 컴퓨터 프로그램 제품들로 구현될 수 있고, 즉, 컴퓨터 프로그램 명령어의 하나 이상의 모듈들을 컴퓨터 판독 가능한 매체에 인코딩 하여 실행하거나, 데이터 처리 장치의 작동을 제어할 수 있다. 컴퓨터 판독 가능 매체는 기계 판독 가능 저장 장치, 기계 판독 가능 저장 기판, 메모리 장치, 기계 판독 가능 전파 신호에 영향을 미치는 물질의 조성 또는 하나 이상의 조합일 수 있다. 용어 "데이터 처리 장치"는 예를 들어, 프로그래밍 가능한 프로세서, 컴퓨터 또는 다중 프로세서 또는 컴퓨터를 포함하여 데이터를 처리하기 위한 모든 기기, 장치 및 컴퓨터를 포함한다. 장치는 하드웨어에 추가하여 대응 컴퓨터 프로그램에 대한 실행 환경을 생성하는 코드, 예를 들어 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 체제, 또는 이들 중 하나 이상의 조합을 구성하는 코드를 포함할 수 있다. 전파된 신호는 인위적으로 생성된 신호, 예를 들어, 기계에서 생성된 전기, 광학 또는 전자기 신호이고, 이는 적합한 수신기 장치로 전송하기 위한 정보를 인코딩 하기 위해 생성된다.
컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 애플리케이션, 스크립트 또는 코드라고도 함)은 컴파일되거나 해석된 언어를 비롯한 모든 형태의 프로그래밍 언어로 작성할 수 있으며, 독립 실행형(stand-alone) 프로그램 또는 컴퓨팅 환경에서 사용하기에 적합한 모듈, 컴포넌트, 서브루틴 또는 기타 유닛으로 모든 형태로 배포할 수 있다. 컴퓨터 프로그램이 파일 시스템의 파일에 반드시 대응하는 것은 아니다. 프로그램은 다른 프로그램이나 데이터(예를 들어, 마크업 언어 문서에 저장된 하나 이상의 스크립트), 대응하는 프로그램에 전용되는 단일 파일 또는 여러 조정된 파일들(예를 들어, 하나 이상의 모듈, 서브 프로그램 또는 코드 일부를 저장하는 파일들)에 저장할 수 있다. 컴퓨터 프로그램은 한 컴퓨터, 또는 한 사이트에 위치하거나 여러 사이트에 분산되고 통신 네트워크에 의해 상호 연결된 여러 컴퓨터들에서 실행하도록 배포할 수 있다.
본 문서에서 설명된 프로세스 및 논리 흐름은, 입력 데이터에 대해 작동하고 출력을 생성함으로써 기능을 수행하기 위해 하나 이상의 컴퓨터 프로그램들을 실행하는 하나 이상의 프로그램 가능한 프로세서들에 의해 수행될 수 있다. 프로세스 및 로직 흐름도 수행될 수 있으며, 장치는 특수 목적 논리 회로, 예를 들어, FPGA(필드 프로그래밍 가능한 게이트 어레이) 또는 ASIC(애플리케이션 별 집적 회로)로 구현될 수 있다.
컴퓨터 프로그램의 실행에 적합한 프로세서에는 예를 들어, 일반 및 특수 목적 마이크로프로세서와 모든 종류의 디지털 컴퓨터의 하나 이상의 프로세서들이 포함된다. 일반적으로 프로세서는 읽기 전용 메모리 또는 랜덤 액세스 메모리 또는 두 가지 모두로부터 명령어와 데이터를 받게 된다. 컴퓨터의 필수 요소는 명령어를 수행하기 위한 프로세서와, 명령어와 데이터를 저장하기 위한 하나 이상의 메모리 장치들이다. 일반적으로, 컴퓨터는 또한 데이터를 저장하기 위한 하나 이상의 대용량 저장 장치들, 예를 들어, 자기, 광자기 디스크, 또는 광 디스크로부터 데이터를 수신하거나 이들로 데이터를 전송하거나 수신 및 전송 전체를 포함하거나 작동 가능하게 연결된다. 그러나, 컴퓨터에 이러한 장치가 필요하지 않다. 컴퓨터 프로그램 명령어 및 데이터를 저장하는 데 적합한 컴퓨터 판독 가능 미디어에는 반도체 메모리 장치, 예를 들어, EPROM, EEPROM 및 플래시 메모리 장치, 자기 디스크, 예를 들어, 내부 하드 디스크 또는 이동식 디스크; 마그네토 광학 디스크; 및 CD ROM 및 DVD-ROM 디스크를 비롯한 모든 형태의 비휘발성 메모리, 미디어 및 메모리 장치가 포함된다. 프로세서와 메모리는 특수 목적 논리 회로에 의해 보충되거나 통합될 수 있다.
이 특허 문서에는 많은 세부 사항이 포함되어 있지만, 이는 어떤 특허대상의 범위나 청구될 수 있는 것에 대한 제한으로 해석되어서는 안되고, 오히려 특정 기술의 특정 구현예에 특유할 수 있는 특징에 대한 설명으로 해석되어서는 안 된다. 이 특허 문서에 기재된 특정 특징들은 별도의 실시예의 맥락에서 또한 단일 실시예에서 조합하여 구현될 수 있다. 역으로, 단일 실시예의 맥락에서 설명된 다양한 특징들은 또한 개별적으로 또는 임의의 적절한 서브 조합으로 다중 실시예들에서도 구현될 수 있다. 더욱이, 앞서와 같이 특징들은 특정 조합으로 작용하는 것으로 설명될 수 있고 심지어 처음에 그렇게 주장될 수도 있지만, 청구된 조합으로부터 하나 이상의 특징은 어떤 경우에는 조합으로부터 제외될 수 있고, 청구된 조합은 서브 조합 또는 서브 조합의 변형에 관한 것일 수 있다.
마찬가지로, 동작은 특정 순서로 도면에 묘사되어 있지만, 바람직한 결과를 달성하기 위하여, 이러한 동작이 표시된 특정 순서 또는 순차적인 순서로 수행되거나, 모든 예시된 동작들이 수행되는 것을 요구하는 것으로 이해되어서는 안 된다. 더욱이, 본 특허 문서에 기재된 실시예들에서, 다양한 시스템 컴포넌트들의 분리가 모든 실시예들에서 이러한 분리를 요구하는 것으로 이해되어서는 안 된다.
몇 가지 구현 및 예제만 설명되고 있으며, 이 특허 문서에 설명되고 예시된 내용에 기초하여 다른 구현, 개선 및 변형을 만들 수 있다.

Claims (17)

  1. 비디오 처리 방법에 있어서,
    하나 이상의 비디오 계층들을 포함하는 비디오와 상기 비디오의 비트스트림을 규칙에 따라 변환하는 단계를 포함하고,
    상기 규칙은 서브-비트스트림 추출 프로세스에서, 추가 개선 정보(SEI) 메시지가 특정 출력 계층 세트들(OLSs)에 적용되는지 여부를 나타내는 제1 플래그, 및 상기 SEI 메시지가 모든 서브픽처들에 적용되는지 또는 특정 서브픽쳐들에 적용되는지 여부를 나타내는 제2 플래그에 기초하여, 스케일러블 중첩 SEI 메시지로부터 스케일러블 중첩된 SEI 메시지를 추출함으로써 넌-스케일러블 중첩 SEI 메시지가 생성되도록 지정하는 비디오 처리 방법.
  2. 제1항에 있어서,
    상기 규칙은 i) 상기 SEI 메시지가 특정 출력 계층 세트들(OLSs)에 적용됨을 지정하는 제1 값을 갖는 상기 제1 플래그 및 ii) 상기 특정 OLS에 적용되는 상기 SEI 메시지가 충족되는 상기 지정된 OLS의 모든 서브픽처들에 적용됨을 지정하는 제2 값을 갖는 상기 제2 플래그 조건들에 응답하여 상기 넌-스케일러브 중첩 SEI 메시지 생성을 지정하는 비디오 처리 방법.
  3. 비디오 처리 방법에 있어서,
    하나 이상의 비디오 계층들을 포함하는 비디오와 상기 비디오의 비트스트림을 규칙에 따라 변환하는 단계를 포함하고,
    상기 규칙은 서브-비트스트림 추출 프로세스에서, 픽처 유닛의 제1 SEI 네트워크 추상화 계층(NAL) 유닛으로부터 다중 스케일러블 중첩 추가 개선 정보(SEI) 메시지들을 추출하여 넌-스케일러블 중첩 SEI 메시지가 생성되도록 지정하는 비디오 처리 방법.
  4. 제3항에 있어서,
    상기 다중 스케일러블 중첩 SEI 메시지들은 상기 픽처 유닛에 포함된 제2 SEI NAL 유닛에 포함되는 비디오 처리 방법.
  5. 제4항에 있어서,
    상기 제2 SEI NAL 유닛은 상기 제1 SEI NAL 유닛 직후에 있는 비디오 처리 방법.
  6. 비디오 처리 방법에 있어서,
    하나 이상의 비디오 계층들을 포함하는 비디오와 상기 비디오의 비트스트림을 규칙에 따라 변환하는 단계를 포함하고,
    상기 규칙은 출력 비트스트림을 생성하기 위한 서브-비트스트림 추출 프로세스를 지정하고,
    상기 규칙은 상기 서브-비트스트림 추출 프로세스 동안 하나 이상의 추가 향상 정보(SEI) 네트워크 추상화 계층(NAL) 유닛들의 처리를 지정하는 비디오 처리 방법.
  7. 제6항에 있어서,
    상기 규칙은 일부 SEI 메시지들이 추출되고 넌-스케일러블 중첩 SEI 메시지로서 포함된 하나 이상의 SEI NAL 유닛들을 제거하도록 지정하는 비디오 처리 방법.
  8. 제6항에 있어서,
    상기 규칙은 타겟 출력 계층 세트에만 적용되는 스케일러블 중첩 SEI 메시지를 포함하는 SEI NAL 유닛을 제거하도록 지정하는 비디오 처리 방법.
  9. 제6항에 있어서,
    상기 규칙은 타겟 출력 계층 세트(OLS) 이외의 OLS가 없는 OLS에 적용되는 스케일러블 중복 SEI 메시지를 포함하는 SEI NAL 유닛을 제거하도록 지정하는 방법.
  10. 제1항 내지 제9항 중 어느 한 항에 있어서,
    상기 변환은 상기 비디오를 상기 비트스트림으로 인코딩하는 단계를 포함하는 방법.
  11. 제1항 내지 제9항 중 어느 한 항에 있어서,
    상기 변환은 상기 비트스트림으로부터 상기 비디오를 디코딩하는 단계를 포함하는 방법.
  12. 제1항 내지 제9항 중 어느 한 항에 있어서,
    상기 변환은 상기 비디오로부터 상기 비트스트림을 생성하는 단계를 포함하고, 상기 방법은 상기 비트스트림을 비일시적 컴퓨터 판독가능 기록 매체에 저장하는 단계를 더 포함하는 방법.
  13. 제1항 내지 제12항 중 어느 하나 이상의 항에 기재된 방법을 구현하도록 구성된 프로세서를 포함하는 비디오 처리 장치.
  14. 제1항 내지 제12항 중 어느 한 항에 기재된 방법을 포함하고,
    상기 비트스트림을 비일시적 컴퓨터 판독가능 기록매체에 저장하는 단계를 더 포함하는 비디오의 비트 스트림을 저장하는 방법.
  15. 실행될 때 프로세서로 하여금 제1항 내지 제12항 중 어느 하나 이상의 항에 기재된 방법을 구현하게 하는 프로그램 코드를 저장하는 컴퓨터 판독가능 매체.
  16. 제1항 내지 제15항 중의 어느 한 항에 기재된 방법에 따라 생성된 비트스트림을 저장하는 컴퓨터 판독 가능 매체.
  17. 제1항 내지 제12항 중 어느 하나 이상의 항에 기재된 방법을 구현하도록 구성되고, 비트스트림 표현을 저장하는 비디오 처리 장치.


KR1020227043886A 2020-05-22 2021-05-21 비디오 서브-비트스트림 추출 프로세스에서 스케일러블 중첩된 sei 메시지 처리 KR20230014718A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202063029308P 2020-05-22 2020-05-22
US63/029,308 2020-05-22
PCT/US2021/033717 WO2021237126A1 (en) 2020-05-22 2021-05-21 Scalable nested sei message handling in video sub-bitstream extraction process

Publications (1)

Publication Number Publication Date
KR20230014718A true KR20230014718A (ko) 2023-01-30

Family

ID=78707609

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020227043886A KR20230014718A (ko) 2020-05-22 2021-05-21 비디오 서브-비트스트림 추출 프로세스에서 스케일러블 중첩된 sei 메시지 처리
KR1020227043879A KR20230013061A (ko) 2020-05-22 2021-05-21 일치하는 출력 서브-비트스트림의 생성을 위한 기술

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020227043879A KR20230013061A (ko) 2020-05-22 2021-05-21 일치하는 출력 서브-비트스트림의 생성을 위한 기술

Country Status (10)

Country Link
US (3) US11962790B2 (ko)
EP (2) EP4140134A4 (ko)
JP (2) JP2023526661A (ko)
KR (2) KR20230014718A (ko)
CN (4) CN115699747A (ko)
AU (1) AU2021276676A1 (ko)
BR (1) BR112022023354A2 (ko)
CA (1) CA3179644A1 (ko)
WO (4) WO2021237126A1 (ko)
ZA (1) ZA202212704B (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021252533A1 (en) * 2020-06-09 2021-12-16 Bytedance Inc. Sub-bitstream extraction of multi-layer video bitstreams

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020136298A1 (en) 2001-01-18 2002-09-26 Chandrashekhara Anantharamu System and method for adaptive streaming of predictive coded video data
US20100232508A1 (en) * 2006-03-24 2010-09-16 Jung-Won Kang Coding method of reducing interlayer redundancy using mition data of fgs layer and device thereof
WO2008048886A2 (en) 2006-10-16 2008-04-24 Vidyo, Inc. Systems and methods for signaling and performing temporal level switching in scalable video coding
CN101690229A (zh) 2007-06-26 2010-03-31 诺基亚公司 用于指示时间层切换点的系统和方法
US8542492B2 (en) 2009-12-10 2013-09-24 Richard Anthony Dunn, JR. Scalable up and down nesting integrated electronic enclosures with form factors including asteroids and/or dumbbells and/or approximated tessellation(s)/tiling(s) or combinations thereof with thermal management, wiring, sliding fit, manual and/or automated full range vertical to horizontal positioning, access and structural systems for individual modules and intra-and inter-planar stacks, columns, rows, arrays and associated infrastructures
WO2012010928A1 (en) * 2010-07-20 2012-01-26 Nokia Corporation A media streaming apparatus
US9414085B2 (en) * 2012-01-20 2016-08-09 Telefonaktiebolaget Lm Ericsson (Publ) Sub-bitstream extraction
RU2612577C2 (ru) * 2012-07-02 2017-03-09 Нокиа Текнолоджиз Ой Способ и устройство для кодирования видеоинформации
WO2014007596A1 (ko) * 2012-07-06 2014-01-09 삼성전자 주식회사 다계층 비디오 부호화 방법 및 장치, 다계층 비디오 복호화 방법 및 장치
US9648322B2 (en) 2012-07-10 2017-05-09 Qualcomm Incorporated Coding random access pictures for video coding
US9479774B2 (en) 2012-09-24 2016-10-25 Qualcomm Incorporated Buffering period and recovery point supplemental enhancement information messages
US9154785B2 (en) * 2012-10-08 2015-10-06 Qualcomm Incorporated Sub-bitstream applicability to nested SEI messages in video coding
US9521393B2 (en) 2013-01-07 2016-12-13 Qualcomm Incorporated Non-nested SEI messages in video coding
US9591321B2 (en) 2013-04-07 2017-03-07 Dolby International Ab Signaling change in output layer sets
KR101869882B1 (ko) 2013-10-11 2018-06-25 브이아이디 스케일, 인크. Hevc 확장을 위한 하이 레벨 구문
US10554990B2 (en) * 2013-10-14 2020-02-04 Nokia Technologies Oy Apparatus, a method and a computer program for video coding and decoding
WO2015056179A1 (en) * 2013-10-15 2015-04-23 Nokia Technologies Oy Video encoding and decoding using syntax element
CN105874804A (zh) * 2014-01-02 2016-08-17 Vid拓展公司 针对hevc扩展的子比特流提取过程
US10257519B2 (en) 2014-01-02 2019-04-09 Sharp Kabushiki Kaisha Signaling and derivation of decoded picture buffer parameters
US20170019673A1 (en) * 2014-03-14 2017-01-19 Sharp Kabushiki Kaisha Image decoding device, image decoding method, recoding medium, image coding device, and image coding method
US9894370B2 (en) * 2014-03-24 2018-02-13 Qualcomm Incorporated Generic use of HEVC SEI messages for multi-layer codecs
US9769492B2 (en) 2014-06-06 2017-09-19 Qualcomm Incorporated Conformance parameters for bitstream partitions
US9918091B2 (en) 2014-06-20 2018-03-13 Qualcomm Incorporated Systems and methods for assigning a minimum value to a syntax structure in a parameter set
US10432951B2 (en) 2014-06-24 2019-10-01 Qualcomm Incorporated Conformance and inoperability improvements in multi-layer video coding
US10904521B2 (en) * 2017-03-03 2021-01-26 Qualcomm Incorporated Extracting MCTS sub-bitstreams for video coding
MX2021005654A (es) 2018-11-22 2021-07-07 Beijing Bytedance Network Tech Co Ltd Tecnica de modulacion por codificacion de pulsos en procesamiento de video.
US20220239949A1 (en) 2019-06-20 2022-07-28 Nokia Technologies Oy An apparatus, a method and a computer program for video encoding and decoding
BR112022005394A2 (pt) 2019-09-24 2022-06-21 Huawei Tech Co Ltd Simplificação de dependência de mensagem sei em codificação de vídeo
JP7392124B2 (ja) 2019-09-24 2023-12-05 華為技術有限公司 指定されたレイヤのためのスケーラブル・ネスティングseiメッセージ
JP7419507B2 (ja) 2019-09-24 2024-01-22 ホアウェイ・テクノロジーズ・カンパニー・リミテッド Olsのためのスケーラブルネスティングseiメッセージ
US11356681B2 (en) 2019-12-27 2022-06-07 Tencent America LLC Coded video sub-bitstream extraction
US11470357B2 (en) * 2020-04-03 2022-10-11 Sharp Kabushiki Kaisha Systems and methods for signaling decoding capability information in video coding
JP2023526955A (ja) 2020-05-22 2023-06-26 ジーイー ビデオ コンプレッション エルエルシー ビデオエンコーダ、ビデオデコーダ、符号化及び復号のための方法、並びに高度なビデオ符号化概念を実現するためのビデオデータストリーム

Also Published As

Publication number Publication date
WO2021237086A1 (en) 2021-11-25
US20230079628A1 (en) 2023-03-16
BR112022023354A2 (pt) 2022-12-20
CN115668929A (zh) 2023-01-31
EP4140134A4 (en) 2023-07-12
CN115668931A (zh) 2023-01-31
US11825102B2 (en) 2023-11-21
JP2023526660A (ja) 2023-06-22
US11962790B2 (en) 2024-04-16
US20240048736A1 (en) 2024-02-08
AU2021276676A1 (en) 2023-01-05
CN115668908A (zh) 2023-01-31
WO2021237126A1 (en) 2021-11-25
EP4140134A1 (en) 2023-03-01
JP2023526661A (ja) 2023-06-22
EP4140135A1 (en) 2023-03-01
CN115699747A (zh) 2023-02-03
KR20230013061A (ko) 2023-01-26
EP4140135A4 (en) 2023-10-11
WO2021237123A1 (en) 2021-11-25
WO2021237120A1 (en) 2021-11-25
CA3179644A1 (en) 2021-11-25
ZA202212704B (en) 2024-04-24
US20230079188A1 (en) 2023-03-16

Similar Documents

Publication Publication Date Title
JP2023526373A (ja) サブビットストリーム抽出処理におけるコーディングされた映像の操作
US20240121417A1 (en) Handling different nal types in video sub-bitstream extraction
US20240048736A1 (en) Techniques For Generation Of A Conformant Output Sub-Bitstream
KR20230025787A (ko) 코딩된 비디오에서 양자화 정보의 시그널링
KR20230015373A (ko) 비디오 비트스트림들에서 코딩된 픽처 버퍼 정보의 시그널링
CN115699731A (zh) 参考图片重采样
KR20230013051A (ko) 코딩된 비디오의 nal 유닛의 순서
KR20230013053A (ko) 서브계층에 대한 숫자 제한

Legal Events

Date Code Title Description
A201 Request for examination