KR20220156827A - 레퍼런스 픽처 리스트 엔트리에 대한 제약들 - Google Patents

레퍼런스 픽처 리스트 엔트리에 대한 제약들 Download PDF

Info

Publication number
KR20220156827A
KR20220156827A KR1020227031033A KR20227031033A KR20220156827A KR 20220156827 A KR20220156827 A KR 20220156827A KR 1020227031033 A KR1020227031033 A KR 1020227031033A KR 20227031033 A KR20227031033 A KR 20227031033A KR 20220156827 A KR20220156827 A KR 20220156827A
Authority
KR
South Korea
Prior art keywords
picture
video
pictures
bitstream
equal
Prior art date
Application number
KR1020227031033A
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 KR20220156827A publication Critical patent/KR20220156827A/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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • 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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • 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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/109Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
    • 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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • 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/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/174Methods 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 slice, e.g. a line of blocks or a group of blocks
    • 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/46Embedding additional information in the video signal during the compression process
    • 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/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • 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

Landscapes

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

Abstract

비디오 코딩 또는 디코딩 등의 비디오 처리를 위한 방법 및 장치가 설명된다. 하나의 예시적인 비디오 처리 방법은, 포맷 규칙에 따라, 하나 또는 그 이상의 비디오 픽처를 포함하는 하나 또는 그 이상의 비디오 레이어(layer)를 구비하는 비디오와 상기 비디오의 비트스트림 사이의 변환(conversion)을 수행하는 단계를 포함하고, 상기 포맷 규칙은, 제2 픽처 및 상기 제2 픽처의 연관된 인트라 랜덤 액세스 포인트 픽처인 제1 비디오 픽처가 동일한 비디오 레이어에 속하도록 제약되는(constrained) 것을 지정한다.

Description

레퍼런스 픽처 리스트 엔트리에 대한 제약들
파리협약에 따른 적용가능한 특허법 및/또는 규칙에 따라, 이 출원은 2020년 3월 19일에 출원된 프로비저널(provisional) 특허출원번호 US 62/992,046의 우선권과 이익을 적시에 주장하도록 출원된다. 법에 규정된 모든 목적을 위해, 상기 출원의 전체 개시는 본 출원의 개시의 일부로 참조에 의해 통합된다.
이 특허 문서는 이미지 및 비디오 코딩(video coding) 및 디코딩(decoding)에 관한 것이다.
디지털 비디오는 인터넷 및 다른 디지털 통신 네트워크에서 가장 많은 대역폭을 사용한다. 비디오를 수신하고 디스플레이할 수 있는 연결된 사용자 디바이스(connected user device)의 수가 증가함에 따라, 디지털 비디오 사용에 대한 대역폭 수요가 계속 증가할 것으로 예상된다.
본 문서는 개선된 성능을 제공하는 비트스트림 신택스를 사용하여 비디오의 코딩된 표현(representation)을 처리하기 위해 비디오 인코더 및 디코더에 의해 사용될 수 있는 기술을 개시한다. 개시된 방법은, 비디오 인코딩 또는 비디오 디코딩 또는 비디오 트랜스코딩과 같은 비디오 프로세싱을 수행하는 장치에 의해 사용될 수 있다.
하나의 예시적인 측면에서, 비디오 처리 방법(video processing method)이 개시된다. 상기 방법은, 하나 또는 그 이상의 비디오 픽처를 포함하는 하나 또는 그 이상의 비디오 레이어(layer)를 구비하는 비디오와 상기 비디오의 코딩된 표현(representation) 사이의 변환(conversion)을 수행하는 단계를 포함하고, 상기 코딩된 표현은, 제2 픽처 및 상기 제2 픽처의 인트라 랜덤 액세스 포인트 픽처인 제1 비디오 픽처가 동일한 비디오 레이어에 속하도록 제약되는(constrained) 것을 지정(specify)한다.
또 다른 예시적인 측면에서, 또 다른 비디오 처리 방법이 개시된다. 상기 방법은, 하나 또는 그 이상의 비디오 픽처를 포함하는 하나 또는 그 이상의 비디오 레이어(layer)를 구비하는 비디오와 상기 비디오의 코딩된 표현(representation) 사이의 변환(conversion)을 수행하는 단계를 포함하고, 상기 코딩된 표현은, 인트라 랜덤 액세스 포인트인 제1 유형의 픽처를 뒤따르는 상기 코딩된 표현의 트레일링 픽처가, 점진적 디코딩 리프레시 픽처를 포함하는 제2 유형의 픽처와도 연관되도록 허용하도록 지정하는 포멧 규칙을 따른다(conform).
또 다른 예시적인 측면에서, 또 다른 비디오 처리 방법이 개시된다. 상기 방법은, 하나 또는 그 이상의 비디오 픽처를 포함하는 하나 또는 그 이상의 비디오 레이어를 구비하는 비디오와 상기 비디오의 코딩된 표현 사이의 변환을 수행하는 단계를 포함하고, 상기 코딩된 표현은, 인트라 랜덤 액세스 포인트에 선행하는 픽처의 출력 순서에 대한 제약이 디코딩 순서에 존재하고, 이로 인해 상기 출력 순서는 동일한 비디오 레이어의 픽처들에게만 적용 가능하도록 지정하는 포멧 규칙을 따른다.
또 다른 예시적인 측면에서, 또 다른 비디오 처리 방법이 개시된다. 상기 방법은, 하나 또는 그 이상의 비디오 픽처를 포함하는 하나 또는 그 이상의 비디오 레이어를 구비하는 비디오와 상기 비디오의 코딩된 표현 사이의 변환을 수행하는 단계를 포함하고, 상기 코딩된 표현은, (1) 트레일링 픽처는, 출력 순서 상, 연관된 인트라 랜덤 액세스 포인트 픽처(IRAP) 또는 점진적 디코더 리프레시(GDR) 픽처를 뒤따라야(follow) 하고, 또는 (2) 상기 GDR 픽처와 동일한 레이어 식별자를 갖는 픽처는, 출력 순서 상, 상기 GDR 픽처 및 상기 GDR 픽처의 모든 연관된 픽처보다 선행(precede) 하여야 하는 제약을 지정하는 포멧 규칙을 따른다.
또 다른 예시적인 측면에서, 또 다른 비디오 처리 방법이 개시된다. 상기 방법은, 하나 또는 그 이상의 비디오 픽처를 포함하는 하나 또는 그 이상의 비디오 레이어를 구비하는 비디오와 상기 비디오의 코딩된 표현 사이의 변환을 수행하는 단계를 포함하고, 상기 변환은, 순서 제약이 픽처, 인트라 랜덤 억세스 포인트(IRAP) 픽처, 및 비-리딩(non-leading) 픽처가 모두 동일한 레이어에 있거나 있는 경우에만 상기 픽처, 상기 IRAP 픽처, 및 상기 비-리딩 픽처에 적용 가능하다는 규칙을 따르도록 하고, 상기 규칙은: (a) 필드 시퀀스의 값 및 디코딩 순서를 지정하는 제1 규칙, 또는 (b) 레이어의 리딩 및/또는 비-리딩 픽처의 순서 중 어느 하나이다.
또 다른 예시적인 측면에서, 또 다른 비디오 처리 방법이 개시된다. 상기 방법은, 하나 또는 그 이상의 비디오 픽처를 포함하는 하나 또는 그 이상의 비디오 레이어를 구비하는 비디오와 상기 비디오의 코딩된 표현 사이의 변환을 수행하는 단계를 포함하고, 상기 변환은, 점진적 디코딩 리프레시(GDR) 픽처와 연관된, 리딩 픽처, 랜덤 액세스 디코더블 리딩(RADL) 픽처 및 랜덤 억세스 스킵된 리딩(RASL) 픽처의 순서를 지정하는 규칙을 따른다.
또 다른 예시적인 측면에서, 또 다른 비디오 처리 방법이 개시된다. 상기 방법은, 하나 또는 그 이상의 비디오 픽처를 포함하는 하나 또는 그 이상의 비디오 레이어를 구비하는 비디오와 상기 비디오의 코딩된 표현 사이의 변환을 수행하는 단계를 포함하고, 상기 변환은, 클린 랜덤 억세스 픽처를 위한 레퍼런스 픽처 리스트에 대한 제약이 레이어에 제한되도록(limited) 지정하는 규칙을 따른다.
또 다른 예시적인 측면에서, 또 다른 비디오 처리 방법이 개시된다. 상기 방법은, 하나 또는 그 이상의 비디오 픽처를 포함하는 하나 또는 그 이상의 비디오 레이어를 구비하는 비디오와 상기 비디오의 코딩된 표현 사이의 변환을 수행하는 단계를 포함하고, 상기 변환은, 현재 픽처가, 사용가능하지 않은(unavailable) 레퍼런스 픽처를 생성하는 디코딩 프로세스에 의해 생성되는 레퍼런스 픽처 리스트 내 엔트리를 참조하는 것이 허용되는 조건을 지정하는 규칙을 따른다.
또 다른 예시적인 측면에서, 또 다른 비디오 처리 방법이 개시된다. 상기 방법은, 하나 또는 그 이상의 비디오 픽처를 포함하는 하나 또는 그 이상의 비디오 레이어를 구비하는 비디오와 상기 비디오의 코딩된 표현 사이의 변환을 수행하는 단계를 포함하고, 상기 변환은, 현재 픽처와 상기 현재 픽처에 대응하는 레퍼런스 픽처 리스트 사이의 순서 규칙(rule of order)을 따른다.
또 다른 예시적인 측면에서, 또 다른 비디오 처리 방법이 개시된다. 상기 방법은, 포맷 규칙에 따라, 하나 또는 그 이상의 비디오 픽처를 포함하는 하나 또는 그 이상의 비디오 레이어를 구비하는 비디오와 상기 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하고, 상기 포맷 규칙은, 제2 픽처 및 상기 제2 픽처의 연관된 인트라 랜덤 액세스 포인트 픽처인 제1 비디오 픽처가 동일한 비디오 레이어에 속하도록 제약되는(constrained) 것을 지정한다.
또 다른 예시적인 측면에서, 또 다른 비디오 처리 방법이 개시된다. 상기 방법은, 포맷 규칙에 따라, 하나 또는 그 이상의 비디오 픽처를 포함하는 하나 또는 그 이상의 비디오 레이어를 구비하는 비디오와 상기 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하고, 상기 포맷 규칙은, 비트스트림의 트레일링 픽처가 점진적 디코딩 리프레시 픽처와 연관되도록 허용되는 것을 지정한다.
또 다른 예시적인 측면에서, 또 다른 비디오 처리 방법이 개시된다. 상기 방법은, 포맷 규칙에 따라, 하나 또는 그 이상의 비디오 픽처를 포함하는 하나 또는 그 이상의 비디오 레이어를 구비하는 비디오와 상기 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하고, 상기 포맷 규칙은, 디코딩 순서 상 인트라 랜덤 액세스 포인트에 선행하는 픽처의 출력 순서에 대한 제약(constraint)이 동일한 비디오 레이어의 픽처에 적용 가능함을 지정한다.
또 다른 예시적인 측면에서, 또 다른 비디오 처리 방법이 개시된다. 상기 방법은, 포맷 규칙에 따라, 하나 또는 그 이상의 비디오 픽처를 포함하는 하나 또는 그 이상의 비디오 레이어를 구비하는 비디오와 상기 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하고, 상기 포맷 규칙은, (1) 트레일링 픽처는, 출력 순서 상, 연관된 인트라 랜덤 액세스 포인트 픽처 또는 점진적 디코더 리프레시 픽처를 뒤따르고(follow), 또는 (2) 점진적 디코더 리프레시 픽처와 동일한 NAL(네트워크 추상화 레이어) 유닛 헤더 레이어 식별자를 갖는 픽처는, 출력 순서 상, 상기 점진적 디코더 리프레시 픽처 및 상기 점진적 디코더 리프레시 픽처의 모든 연관된 픽처보다 선행(precede)하는 것을 지정한다.
또 다른 예시적인 측면에서, 또 다른 비디오 처리 방법이 개시된다. 상기 방법은, 규칙에 따라, 하나 또는 그 이상의 비디오 픽처를 포함하는 하나 또는 그 이상의 비디오 레이어를 구비하는 비디오와 상기 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하고, 상기 규칙은, 픽처, 인트라 랜덤 억세스 포인트 픽처, 및 비-리딩(non-leading) 픽처가 모두 동일한 레이어에 있거나 있는 경우에만, 상기 인트라 랜덤 억세스 포인트 및 상기 비-리딩 픽처와 연관된 픽처의 디코딩 순서에 대한 제약을 적용하도록 지정한다.
또 다른 예시적인 측면에서, 또 다른 비디오 처리 방법이 개시된다. 상기 방법은, 규칙에 따라, 하나 또는 그 이상의 비디오 픽처를 포함하는 하나 또는 그 이상의 비디오 레이어를 구비하는 비디오와 상기 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하고, 상기 규칙은, 점신적 디코딩 리프레시 픽처와 연관된, 리딩 픽처, 랜덤 억세스 디코더블(decodable) 리딩 픽처, 및 랜덤 억세스 스킵된(skipped) 리딩 픽처의 순서를 지정한다.
또 다른 예시적인 측면에서, 또 다른 비디오 처리 방법이 개시된다. 상기 방법은, 규칙에 따라, 하나 또는 그 이상의 비디오 픽처를 포함하는 하나 또는 그 이상의 비디오 레이어를 구비하는 비디오와 상기 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하고, 상기 규칙은, 클린(clean) 랜덤 액세스 픽처의 슬라이스(slice)의 레퍼런스(reference) 픽처 리스트(list)에 대한 제약이 레이어로 제한되도록 지정한다.
또 다른 예시적인 측면에서, 또 다른 비디오 처리 방법이 개시된다. 상기 방법은, 규칙에 따라, 하나 또는 그 이상의 비디오 픽처를 포함하는 하나 또는 그 이상의 비디오 레이어를 구비하는 비디오와 상기 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하고, 상기 규칙은, 사용가능하지 않은 레퍼런스 픽처를 생성하기 위한 디코딩 프로세스에 의해 생성된 어떤 픽처도, 현재 픽처의 현재 슬라이스(slice)의 레퍼런스 픽처 리스트 내의 액티브(active) 엔트리에 의해 참조되지 않는다는 조건을 지정한다.
또 다른 예시적인 측면에서, 또 다른 비디오 처리 방법이 개시된다. 상기 방법은, 규칙에 따라, 하나 또는 그 이상의 비디오 픽처를 포함하는 하나 또는 그 이상의 비디오 레이어를 구비하는 비디오와 상기 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하고, 상기 규칙은, 사용가능하지 않은 레퍼런스 픽처를 생성하기 위한 디코딩 프로세스에 의해 생성된 어떤 픽처도, 현재 픽처의 현재 슬라이스(slice)의 레퍼런스 픽처 리스트 내의 엔트리에 의해 참조되지 않는다는 조건을 지정한다.
또 다른 예시적인 측면에서, 또 다른 비디오 처리 방법이 개시된다. 상기 방법은, 규칙에 따라, 현재 슬라이스를 포함하는 현재 픽처를 포함하는 하나 또는 그 이상의 비디오 레이어를 갖는 비디오와 상기 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하고, 상기 규칙은, 상기 현재 슬라이스의 레퍼런스 픽처 리스트는, 디코딩 순서 또는 출력 순서 상, 상기 현재 픽처와 연관된 인트라 랜덤 포인트 픽처에 선행하는 픽처를 참조하는 액티브 엔트리를 갖는 것을 허용하지 않는(disallowed) 조건을 지정한다.
또 다른 예시적인 측면에서, 또 다른 비디오 처리 방법이 개시된다. 상기 방법은, 규칙에 따라, 현재 슬라이스를 포함하는 현재 픽처를 포함하는 하나 또는 그 이상의 비디오 레이어를 갖는 비디오와 상기 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하고, 상기 규칙은, 상기 현재 슬라이스의 레퍼런스 픽처 리스트는, 디코딩 순서 또는 출력 순서 상, 상기 현재 픽처와 연관된 인트라 랜덤 포인트 픽처에 선행하는 픽처를 참조하는 엔트리를 갖는 것을 허용하지 않는 조건을 지정한다.
또 다른 예시적인 측면에서, 비디오 인코더 장치가 개시된다. 상기 비디오 인코더는 전술한 방법을 구현하도록 구성된 프로세서(processor)를 포함한다.
또 다른 예시적인 측면에서, 비디오 디코더 장치가 개시된다. 상기 비디오 디코더는 전술한 방법을 구현하도록 구성된 프로세서를 포함한다.
또 다른 예시적인 측면에서, 코드(code)가 저장된 컴퓨터 판독 가능 매체(computer readable medium)가 개시된다. 코드는 프로세서 실행 가능 코드의 형태로, 여기에 설명된 방법 중 하나를 구현한다.
이러한 기능 및 기타 기능은 본 문서 전체에 걸쳐 설명되어 있다.
도 1은 예시적인 비디오 처리 시스템의 블록도이다.
도 2는 비디오 처리 장치의 블록도이다.
도 3은 비디오 처리 방법의 하나의 예의 방법에 대한 순서도이다.
도 4는 본 개시의 일부 실시예에 따른 비디오 코딩 시스템을 예시하는 블록도이다.
도 5는 본 개시의 일부 실시예에 따른 인코더를 예시하는 블록도이다.
도 6은 본 개시의 일부 실시예들에 따른 디코더를 예시하는 블록도이다.
도 7a 내지 도 7g는 개시된 기술의 몇몇의 구현에 기초한 예시적인 비디오 처리 방법에 대한 흐름도를 도시한다.
도 8a 및 도 8b는 개시된 기술의 일부 구현에 기초한 예시적인 비디오 처리 방법에 대한 흐름도를 도시한다.
도 9a 및 도 9b는 개시된 기술의 일부 구현에 기초한 예시적인 비디오 처리 방법에 대한 흐름도를 도시한다.
섹션 제목은 이해의 편의를 위해 본 문서에서 사용되며 각 섹션에 개시된 기술 및 실시예의 적용 가능성을 해당 섹션에만 제한하지 않는다. 또한, H.266 용어는 일부 설명에서 이해의 편의를 위해서만 사용되며, 개시된 기술의 범위를 제한하기 위한 것이 아니다. 이와 같이, 여기에 설명된 기술은 다른 비디오 코덱 프로토콜 및 설계에도 적용할 수 있다.
1. 간단한 요약
이 문서는 비디오 코딩 기술(video coding technologies)과 관련이 있다. 특히, 디코딩 순서, 출력 순서 및 예측(prediction) 관계 측면에서 서로 다른 유형의 픽처 및 이들의 관계에 대한 정의를 포함하여 랜덤 액세스, 서브레이어(sublayer) 스위칭 및 확장성(scalability) 지원을 위한 다양한 측면에 관한 것이다. 본 아이디어는 멀티-레이어 비디오 코딩(multi-layer video coding), 예를 들어 개발 중인 범용 비디오 코딩(Versatile Video Coding)(VVC)을 지원하는 임의의 비디오 코딩 표준 또는 비표준 비디오 코덱에 개별적으로 또는 다양한 조합으로 적용될 수 있다.
2. 약어
APS 적응형 파라미터 세트(Adaptation Parameter Set)
AU 액세스 유닛(Access Unit)
AUD 액세스 유닛 디리미터(Access Unit Delimiter)
AVC 고급 비디오 코딩(Advanced Video Coding)
CLVS 코딩된 레이어 비디오 시퀀스(Coded Layer Video Sequence)
CPB 코딩된 픽처 버퍼(Coded Picture Buffer)
CRA 클린 랜덤 액세스(Clean Random Access)
CTU 코딩 트리 유닛(Coding Tree Unit)
CVS 코딩된 비디오 시퀀스(Coded Video Sequence)
DCI 디코딩 용량 정보(Decoding Capability Information)
DPB 디코딩된 픽처 버퍼(Decoded Picture Buffer)
EOB 비트스트림 엔드(End Of Bitstream)
EOS 시퀀스 엔드(End Of Sequence)
GDR 점진적 디코딩 리프레시(Gradual Decoding Refresh)
HEVC 고효율 비디오 코딩(High Efficiency Video Coding)
HRD 가상 레퍼런스 디코더(Hypothetical Reference Decoder)
IDR 인스턴스 디코딩 리프레시(Instantaneous Decoding Refresh)
JEM 공동 연구 모델(Joint Exploration Model)
MCTS 모션-제약 타일 세트(Motion-Constrained Tile Set)
NAL 네트워크 추상화 레이어(Network Abstraction Layer)
OLS 출력 레이어 세트(Output Layer Set)
PH 픽처 헤더(Picture Header)
PPS 픽처 파라미터 세트(Picture Parameter Set)
PTL 프로파일, 티어 및 레벨(Profile, Tier and Level)
PU 픽처 유닛(Picture Unit)
RADL 랜덤 액세스 디코더블 리딩(Random Access Decodable Leading)(픽처)
RAP 랜덤 액세스 포인트(Random Access Point)
RASL 랜덤 액세스 스킵된 리딩(Random Access Skipped Leading)(픽처)
RBSP 로우 바이트 시퀀스 페이로드(Raw Byte Sequence Payload)
RPL 레퍼런스 픽처 리스트(Reference Picture List)
SEI 추가 강화 정보(Supplemental Enhancement Information)
SPS 시퀀스 파라미터 세트(Sequence Parameter Set)
STSA 단계적 시간적 서브레이어 액세스(Step-wise Temporal Sublayer Access)
SVC 스케일러블 비디오 코딩(Scalable Video Coding)
VCL 비디오 코딩 레이어(Video Coding Layer)
VPS 비디오 파라미터 세트(Video Parameter Set)
VTM VVC 테스트 모델(VVC Test Model)
VUI 비디오 사용성 정보(Video Usability Information)
VVC 다목적 비디오 코딩(Versatile Video Coding)
3. 초기 논의
비디오 코딩 표준은 주로 잘 알려진 ITU-T 및 ISO/IEC 표준의 개발을 통해 발전해 왔다. ITU-T는 H.261및 H.263을 생산했고, ISO/IEC는 MPEG-1 및 MPEG-4 비주얼(Visual)을 생산했으며, 두 조직은 H.262/MPEG-2 비디오 및 H.264/MPEG-4 고급 비디오 코딩(AVC) 및 H.265/HEVC 표준을 공동 생산했다. H.262 이후로, 비디오 코딩 표준은 하이브리드 비디오 코딩 구조에 기초하는데, 여기에서 시간적 예측(temporal prediction) 플러스(plus) 트랜스폼 코딩(transform coding)이 사용된다. HEVC를 넘어 미래의 비디오 코딩 기술을 연구하기 위해, 공동 비디오 연구팀(JVET: Joint Video Exploration Team)이 2015년에 VCEG와 MPEG의 공동으로 설립되었다. 그 이후로, JVET에 의해 많은 새로운 방법들이 채택되었고, 공동 연구 모델(JEM: Joint Exploration Model)이라고 명명된 레퍼런스 소프트웨어(reference software)에 탑재(put into)되었다. JVET 회의는 분기마다 한번 동시 개최되고, 새로운 코딩 표준은 HEVC 대비 비트레이트 50% 감소를 목표로 하고 있다. 새로운 비디오 코딩 표준은 2018년 4월 JVET 회의에서 공식적으로 다목적 비디오 코딩(Versatile Video Coding; VVC)로 명명되었고, 당시 VVC 테스트 모델(VTM)의 제1 버전이 출시되었다. VVC 표준화에 기여하는 지속적인 노력이 있기 때문에, 모든 JVET 회의에서 새로운 코딩 기술이 VVC 표준에 채택되고 있다. VVC 작업(working) 드래프트와 테스트 모델 VTM은 모든 회의 후에 업데이트된다. VVC 프로젝트는 현재 2020년 7월 회의에서 기술 완료(FDIS)를 목표로 하고 있다.
3.1 일반적인 및 VVC에서의 스케일러블 비디오 코딩(SVC)
스케일러블 비디오 코딩(Scalable video coding)(SVC, 때로는 비디오 코딩에서의 확장성(scalability)이라고도 함)은 레퍼런스 레이어(RL)라고도 하는 기본 레이어(base layer)(BL)과 하나 또는 그 이상의 스케일러블 강화 레이어(scalable enhancement layer)(ELs)이 사용되는 비디오 코딩을 말한다. SVC에서, 기본 레이어는 기본 레벨(base level)의 품질로 비디오 데이터를 전달(carry)할 수 있다. 하나 또는 그 이상의 강화(enhancement) 레이어는, 예를 들어 더 높은 공간(spatial), 시간(temporal) 및/또는 신호 대 잡음(SNR) 레벨을 지원하기 위해 부가적인 비디오 데이터를 전달할 수 있다. 강화 레이어는 이전에(previously) 인코딩된 레이어에 대해 정의될 수 있다. 예를 들어, 하부 레이어(bottom layer)는 BL의 역할을 할 수 있고, 상부 레이어(top layer)는 EL의 역할을 할 수 있다. 미들 레이어(middle layer)은 ELs 또는 RL 중 어느 하나 또는 둘 다로 사용될 수 있다. 예를 들어, 미들 레이어(예를 들어, 최저 최하위 레이어도 아니고 최상위 레이어도 아닌 레이어) 은 기본 레이어 또는 임의의(any) 중간의(intervening) 강화 레이어와 같은 미들 레이어 아래의 레이어에 대한 EL일 수 있고, 동시에 미들 레이어 위의 하나 또는 그 이상의 강화 레이어에 대한 RL로서 기능한다. 유사하게, HEVC 표준의 멀티뷰(Multiview) 또는 3D 확장(extension)에서, 다수의(multiple) 뷰가 존재할 수 있고, 하나의 뷰의 정보는 다른 뷰의 정보(예를 들어, 모션 추정, 모션 벡터 예측 및/또는 다른 리던던시)를 코딩(예를 들어, 인코딩 또는 디코딩) 하는데 이용될 수 있다.
SVC에서, 인코더 또는 디코더에 의해 사용되는 파라미터들은 이들이 이용될 수 있는 코딩 레벨(예를 들어, 비디오-레벨, 시퀀스-레벨, 픽처-레벨, 슬라이스-레벨 등)에 기초하여 파라미터 세트로 그룹핑된다. 예를 들어, 비트스트림의 서로 다른 레이어들의 하나 또는 그 이상의 코딩된 비디오 시퀀스에 의해 이용될 수 있는 파라미터들은, 비디오 파라미터 세트(VPS)에 포함될 수 있고, 코딩된 비디오 시퀀스에서 하나 또는 그 이상의 픽처들에 의해 이용되는 파라미터들은 시퀀스 파라미터 세트(SPS)에 포함될 수 있다. 유사하게, 픽처에서 하나 또는 그 이상의 슬라이스에 의해 사용되는 파라미터는 픽처 파라미터 세트(PPS)에 포함될 수 있고, 단일 슬라이스에 특정된 다른 파라미터들이 슬라이스 헤더에 포함될 수 있다. 유사하게, 주어진 시간에 어떤 파라미터 세트가 사용되고 있는지에 대한 표시(indication)는 다양한 코딩 레벨에서 제공될 수 있다.
VVC에서 레퍼런스 픽처 리샘플링(RPR) 지원 덕분에, 다수의(multiple) 레이어들, 예를 들어, VVC에서 SD 및 HD 해상도를 갖는 두 개의 레이어를 포함하는 비트스트림에 대한 지원은, 공간 확장성(scalability) 지원에 필요한 업샘플링이 RPR 업샘플링 필터만 사용할 수 있기 때문에, 추가적인 신호-처리-레벨 코딩의 필요 없이 설계될 수 있다. 그럼에도 불구하고, 확장성 지원을 위해서 높은 레벨의 신택스 변경(확장성을 지원하지 않는 것과 비교해서)이 필요하다. 확장성 지원은 VVC 버전 1에 지정(specify)되어 있다. AVC 및 HEVC의 확장(extension)을 포함하는 초기의(earlier) 비디오 코딩 표준의 확장성 지원과는 달리, VVC 확장성 설계는 가능한 한 단일-레이어 디코더 설계에 호의적으로(friendly) 만들어졌다. 멀티-레이어 비트스트림을 위한 디코딩 능력(capability)은, 비트스트림에 단일 레이어에만 존재하는 것처럼 지정된다. 예를 들어, DPB 크기와 같은 디코딩 능력은, 디코딩될 비트스트림의 레이어들의 수와 독립적인 방식으로 지정된다. 기본적으로, 단일-레이어 비트스트림을 위해 설계된 디코더는 멀티-레이어 비트스트림을 디코딩할 수 있도록 하기 위해 많은 변경을 필요로 하지 않는다. AVC 및 HEVC의 멀티-레이어 확장 설계와 비교할 때, HLS 측면(aspects)은 어느 정도의 유연성을 희생하여 크게 단순화되었다. 예를 들어, CVS의 각 레이어에 대한 픽처를 포함하는데 IRAP AU가 요구된다.
3.2 HEVC 및 VVC에서의 랜덤 액세스 및 이의 지원
랜덤 액세스는 디코딩 순서 상 비트스트림의 첫 번째(the first) 픽처가 아닌 픽처에서 비트스트림의 액세스 및 디코딩을 시작하는 것을 일컫는다. 로컬 재생 및 스트리밍뿐만 아니라 스트리밍에서 스트림 적응을 추구하면서, 브로드캐스트/멀티캐스트 및 다자간(multiparty) 비디오 컨퍼런스에서 튜닝 및 채널 스위칭을 지원하기 위해, 비트스트림은 빈번한(frequent) 랜덤 액세스 포인트를 포함해야 할 필요가 있고, 이는 전형적으로(typically) 인트라 코딩된(intra coded) 픽처이지만, 인터 코딩된(inter-coded) 픽처일 수도 있다(예를 들어, 점진적 디코딩 리프레시의 경우).
HEVC는 NAL 유닛 유형을 통해 NAL 유닛 헤더에 인트라 랜덤 액세스 포인트(IRAP) 픽처의 시그널링을 포함한다. 인스턴스 디코더 리프레시(instantaneous decoder refresh)(IDR), 클린 랜덤 액세스(clean random access)(CRA) 및 브로큰 링크 액세스(broken link access)(BLA) 픽처라고 불리는 세 가지 유형의 IRAP 픽처가 지원된다. IDR 픽처는 통상적으로 폐쇄(closed)-GOP 랜덤 액세스 포인트라고 참조되는 현재 픽처 그룹(Group of Picture)(GOP) 이전의 픽처를 참조하지 않도록, 인터-픽처 예측 구조(inter-picture prediction structure)를 제약(constraint)한다. CRA 픽처는 특정 픽처가 현재 GOP 이전의 픽처를 참조하도록 허용함으로써 덜 제한적이고, 이들 모두는 랜덤 액세스의 경우 폐기된다(discard). CRA 픽처는 통상적으로, 개방(open)-GOP 랜덤 액세스 포인트라고 참조된다. BLA 픽처는 보통, 예로서 스트림 스위칭 중에, CRA 픽처에서 두 비트스트림 또는 그 일부를 스플라이싱(splicing)함으로써 발생한다. IRAP 픽처에 대한 더 나은 시스템 사용을 가능하도록 하기 위해, IRAP 픽처의 속성을 시그널링하기 위해 총 6개의 서로 다른 NAL 유닛이 정의되고, 이는 HTTP(DASH)를 통한 동적 적응적 스트리밍에서 랜덤 액세스 지원에 활용되는 ISO 기본 미디어 파일 포맷(ISOBMFF)에 정의된 스트림 액세스 포인트 유형들을 더 잘 매칭하는데 사용될 수 있다.
VVC는 세 가지 유형의 IRAP 픽처, 두 가지 유형의 IDR 픽처(RADL 픽처와 연관된 하나의 유형 및 연관되지 않은 다른 유형), 및 한 유형의 CRA 픽처를 지원한다. 이는 기본적으로 HEVC와 동일하다. HEVC의 BLA 픽처 유형은 주로 두 가지 이유로 인해 VVC에 포함되지 않는다: i) BLA 픽처의 기본 기능성(functionality)은 CRA 픽처 플러스 시퀀스 NAL 유닛의 마지막에 의해 실현될 수 있고, 그 존재는 후속(subsequent) 픽처가 단일-레이어 비트스트림에서 새로운 CVS를 시작한다는 것을 나타낸다. ii) NAL 유닛 헤더의 NAL 유닛 유형 필드에 6 비트 대신 5 비트를 사용하는 것에서 볼 수 있듯이, VVC를 개발하는 동안 HEVC보다 적은 NAL 유닛 유형을 지정하려는 욕구가 있었다.
VVC와 HEVC 사이의 랜덤 액세스 지원의 또 다른 주요 차이점은, VVC에서 보다 규범적인 방식으로 GDR을 지원한다는 것이다. GDR에서, 비트스트림의 디코딩은 인터 코딩된 픽처에서 시작할 수 있고, 처음에는 전체 픽처 영역을 정확하게 디코딩 할 수는 없지만, 다수의 픽처 이후에 전체 픽처 영역이 올바르게 될 것이다. 또한, AVC 및 HEVC는, GDR 랜덤 액세스 포인트 및 복구 포인트(recovery point)의 시그널링에 대한 복구 포인트 SEI 메시지를 사용하여, GDR을 지원한다. VVC에서, GDR 픽처를 표시하기 위해 새로운 NAL 유닛 유형이 지정되고, 복구 포인트는 픽처 헤더 신택스(syntax) 구조에서 시그널링 된다. CVS 및 비트스트림은 GDR 픽처로 시작하도록 허용된다. 이는 전체 비트스트림에 대해 단일 인트라 코딩된 픽처 없이 인터-코딩된 픽처만 포함하는 것이 허용됨을 의미한다. 이러한 방식으로 GDR 지원을 지정하는 주요 이점은, GDR에 적합한 행동을 제공하는 것이다. GDR은 인코더로 하여금 전체 픽처를 인트라 코딩하는 것과는 대조적으로 인트라 코딩된 슬라이스 또는 블록을 여러 픽처에 배포하여 비트스트림의 비트레이트(bit rate)를 스무딩(smooth) 할 수 있도록 하고, 이를 통해 엔드-투-엔드 지연을 크게 줄일 수 있고, 이는 최근 무선 디스플레이, 온라인 게임, 드론 기반 애플리케이션 등의 초저지연(ultralow delay) 애플리케이션이 대중화됨에 따라 이전보다 더 중요하다고 간주된다.
VVC의 또 다른 GDR 관련 특징(feature)은, 가상 경계 시그널링(virtual boundary signaling)이다. GDR 픽처와 그 복구 포인트 사이의 픽처에서, 리프레쉬된 영역(즉, 정확하게 디코딩된 영역)과 리프레쉬되지 않은 영역 사이의 경계는 가상 경계로서 시그널링될 수 있고, 시그널링될 때, 경계를 가로지르는 인루프(in-loop) 필터링이 적용되지 않으므로, 경계 또는 경계 근처에서 일부 샘플에 대해 디코딩 미스매치(mismatch)가 발생하지 않는다. 이는 애플리케이션이 GDR 프로세스 중에 정확하게 디코딩된 영역을 표시하기로 결정할 때 유용할 수 있다.
IRAP 픽처 및 GDR 픽처를 총칭하여 RAP(랜덤 액세스 포인트) 픽처라고 할 수 있다.
3.3 레퍼런스 픽처 관리(Reference picture management) 및 레퍼런스 픽처 리스트(reference picture list)(RPLs)
레퍼런스 픽처 관리는 인터 예측을 사용하는 모든 비디오 코딩 체계에 필요한 핵심 기능이다. 디코딩된 픽처 버퍼(decoded picture buffer)(DPB)로 또는 디코딩된 픽처 버퍼에서 레퍼런스 픽처의 저장 및 제거를 관리하고, RPL에서 레퍼런스 픽처를 적절한 순서에서 배치한다.
레퍼런스 픽처 마킹, 및 레퍼런스 픽처 리스트 구성(RPLC)은 물론, 디코딩된 픽처 버퍼(DPB)에서의 제거를 포함하는 HEVC의 레퍼런스 픽처 관리는 AVC의 레퍼런스 픽처 관리와 다르다. AVC에서 슬라이딩 윈도우와 적응형 메모리 관리 제어 작업(MMCO)을 더한 것에 기초하는 레퍼런스 픽처 마킹 메커니즘(reference picture marking mechanism) 대신에, HEVC는 소위 레퍼런스 픽처 세트(reference picture set)(RPS)에 기초하는 레퍼런스 픽처 관리 및 마킹 메커니즘을 지정하고, 결과적으로 RPLC는 RPS 메커니즘에 기초한다. RPS는, 디코딩 순서에서 연관된 픽처에 앞서 있는(prior to) 모든 레퍼런스 픽처들로 구성된, 디코딩 순서 상 연관된 픽처들 또는 연관된 픽처를 뒤따르는(follow) 임의의 픽처의 인터 예측에 사용될 수 있는 픽처와 연관된 픽처의 세트로 구성된다. 레퍼런스 픽처 세트는 다섯 개의 레퍼런스 픽처 리스트로 구성된다. 처음 세 개의 리스트는 현재 픽처의 인터 예측에 사용될 수 있고, 디코딩 순서 상 현재 픽처를 뒤따르는 하나 또는 그 이상의 픽처들의 인터 예측에 사용될 수 있는 모든 레퍼런스 픽처들을 포함한다. 다른 두 리스트는 현재 픽처의 인터 예측에 사용되지 않는 모든 레퍼런스 픽처들로 구성되지만, 디코딩 순서 상 현재 픽처들를 뒤따르는 픽처들 중 하나 또는 그 이상의 인터 예측에 사용될 수 있다. RPS는 주로 개선된 오류 복원력(improved error resilience)을 위해 AVC에서와 같이 "인터 코딩된" 시그널링 대신, DPB 상태의 "인트라 코딩된" 시그널링을 제공한다. HEVC에서의 RPLC 프로세스는 RPS에 기초하고, 각각의 레퍼런스 인덱스에 대한 RPS 서브세트에 인덱스를 시그널링함으로써; 이 프로세스는 AVC의 RPLC 프로세스보다 더 단순하다.
VVC의 레퍼런스 픽처 관리는 AVC보다 HEVC와 더 유사하지만, 어느 정도 단순하고, 더 강하다(robust). 이러한 표준들에서와 마찬가지로, 리스트(list) 0과 리스트 1의 두 RPL이 유도되지만, HEVC 또는 AVC에서 사용되는 자동 슬라이딩 윈도우 프로세스에 사용되는 레퍼런스 픽처 세트 개념을 기반으로 하지 않고; 대신 그들은 더 직접적으로 시그널링된다. RPL에 대해 레퍼런스 픽처가 액티브(active) 및 인액티브(inactive) 엔트리(entries) 중 하나로 리스트되고, 현재 픽처의 CTU의 인터 예측에서 액티브 엔트리만 레퍼런스 인덱스로 사용될 수 있다. 인액티브 엔트리는 비트스트림에서 이후에 도착하는 다른 픽처를 참조하기 위해 DPB에 보유할 다른 픽처를 나타낸다.
3.4 파라미터 세트(Parameter sets)
AVC, HEVC 및 VVC는 파라미터 세트를 지정한다. 파라미터 세트의 유형은 SPS, PPS, APS 및 VPS를 포함한다. SPS 및 PPS는 모든 AVC, HEVC 및 VVC에서 지원된다. VPS는 HEVC 이후 도입되었으며 HEVC와 VVC에 모두 포함되어 있다. APS는 AVC 또는 HEVC에 포함되지 않았지만, 최신 VVC 드래프트 텍스트에 포함되었다.
SPS는 시퀀스-레벨 헤더 정보를 전달하도록 설계되었고, PPS는 자주 변경되지 않는 픽처-레벨 헤더 정보를 전달하도록 설계되었다. SPS 및 PPS를 사용하여, 각 시퀀스 또는 픽처에 대해 드물게(infrequently) 변경되는 정보를 반복할 필요가 없으므로, 이 정보의 중복 시그널링을 피할 수 있다. 또한, SPS 및 PPS를 사용하면 중요한 헤더 정보의 대역 외 전송이 가능하므로, 중복 전송의 필요성을 피할 뿐만 아니라 오류 복원력(error resilience)도 개선된다.
VPS는 멀티-레이어(multi-layer) 비트스트림의 모든 레이어에 공통적인 시퀀스-레벨 헤더 정보를 전달하기 위해 도입되었다.
APS는, 코딩하는 데 상당한 비트가 필요하고 여러 픽처에서 공유할 수 있으며 순서대로 매우 다양한 변형이 있을 수 있는, 픽처-레벨 또는 슬라이스-레벨 정보를 전달하기 위해 도입되었다.
3.5 VVC의 관련 정의
최신 VVC 텍스트(JVET-Q2001-vE/V15)의 관련 정의는 다음과 같다.
연관된 IRAP 픽처(특정 픽처의): 특정 픽처와 동일한 nuh_layer_id 값을 갖는 디코딩 순서(존재하는 경우)의 이전 IRAP 픽처다.
클린 랜덤 액세스(CRA) PU: 코딩된 픽처가 CRA 픽처인 PU이다.
클린 랜덤 액세스(CRA) 픽처: 각 VCL NAL 유닛이 CRA_NUT와 동일한 nal_unit_type을 갖는 IRAP 픽처다.
코딩된 비디오 시퀀스(CVS): 디코딩 순서에서, CVSS AU로 구성되고, CVSS AU가 아닌, CVSS AU인 임의의 후속 AU를 포함하지 않을 때까지의 모든 후속 AU를 포함하는, 0개 이상의 AU가 뒤따른다.
코딩된 비디오 시퀀스 시작(CVSS) AU: CVS의 각 레이어에 PU가 있고 각 PU에 코딩된 레이어가 CLVSS 픽처인 AU.
점진적 디코딩 리프레시(GDR) AU: 현재 각 PU의 코딩된 픽처가 GDR 픽처인 AU이다.
점진적 디코딩 리프레시(GDR) PU: 코딩된 픽처가 GDR 픽처인 PU이다.
점진적 디코딩 리프레시(GDR) 픽처: 각 VCL NAL 유닛의 유닛 유형이 GDR_NUT와 동일한 픽처다.
인스턴트 디코딩 리프레시(IDR) PU: 코딩된 픽처가 GDR 픽처인 PU이다.
인스턴스 디코딩 리프레시(IDR) 픽처: 각 VCL NAL 유닛은 IDR_W_RADL 또는 IDR_N_LP와 동일한 nal_unit_type를 갖는 IRAP 픽처
인트라 랜덤 액세스 포인트(IRAP) AU: CVS의 각 레이어에 대해 PU가 있고 각 PU에 코딩된 픽처가 있는 aUM은 IRAP 픽처다.
인트라 랜덤 액세스 포인트(IRAP) PU: 코딩된 픽처가 IRAP 픽처인 PU이다.
인트라 랜덤 액세스 포인트(IRAP) 픽처: 모든 VCL NAL 유닛이 IDR_W_RADL에서 CRA_NUT까지를 포함하는 범위의 nal_unit_type의 동일한 값을 갖는 코딩된 픽처다.
리딩 픽처: 연관된 IRAP 픽처와 동일한 레이어에 있고 출력 순서에서 연관된 IRAP 픽처에 선행하는(precede) 픽처이다.
랜덤 액세스 디코딩가능 리딩(RADL) PU: 코딩된 픽처가 RADL 픽처인 PU이다.
랜덤 액세스 디코딩가능 리딩(RADL) 픽처: 각 VCL NAL 유닛이 RADL_NUT와 동일한 nal_unit_type을 갖는 픽처다.
랜덤 액세스 스킵된 리딩(RASL) PU: 코딩된 픽처가 RASL 픽처인 PU이다.
랜덤 액세스 스킵된 리딩(RASL) 픽처:VCL NAL 유닛이 RASL_NUT와 동일한 nal_unit_type을 갖는 픽처다.
단계적 시간적 서브레이어 액세스(STSA) PU: 코딩된 픽처가 STSA 픽처인 PU이다.
단계적 시간적 서브레이어 액세스(STSA) 픽처: 각 VCL NAL 유닛이 STSA_NUT와 동일한 nal_unit_type을 갖는 픽처다.
참고 - STSA 픽처는 인터 예측 레퍼런스를 위해 STSA 픽처와 동일한 TemporalId를 갖는 픽처를 사용하지 않는다. STSA 픽처와 동일한 TemporalId를 갖는 디코딩 순서에서 STSA 픽처를 따르는 픽처는 인터 예측을 위해 STSA 픽처와 동일한 TemporalId를 갖는 디코딩 순서에서 디코딩 순서에 앞서 픽처를 사용하지 않는다. STSA 픽처는, STSA 픽처에서, STSA 픽처를 포함하는, 서브레이어로, 바로 하위 서브레이어로부터 업스위칭을 가능하게 한다. STSA 픽처는 TemporalId가 0보다 커야 한다.
트레일링 픽처(trailing picture): 출력 순서에서 따라 연관된 IRAP 픽처를 따르고 STSA 픽처가 아닌 IRAP 픽처.
참고 - IRAP 픽처와 연관된 트레일링 픽처도 디코딩 순서에 따라 IRAP 픽처를 따른다. 출력 순서에서 연관된 IRAP 픽처를 따르고 디코딩 순서에서 연관된 IRAP 픽처에 선행하는 픽처는 허용되지 않는다.
3.6 VVC의 NAL 유닛 헤더 신택스 및 시맨틱
최신 VVC 텍스트(JVET-Q2001-vE/v15)에서, NAL 유닛 헤더 신택스와 시맨틱은 다음과 같다.
7.3.1.2 NAL 유닛 헤더 신택스
Figure pct00001
7.4.2.2 NAL 유닛 헤더 시맨틱
forbidden_zero_bit는 0과 동일해야 한다.
nuh_reserved_zero_bit는 0과 동일해야 한다. nuh_reserved_zero_bit의 값 1은 나중에 ITU-T| ISO / IEC에 의해 지정될 수 있다. 디코더는 nuh_reserved_zero_bit가 1 인 NAL 유닛을 무시해야 한다(즉, 비트스트림에서 제거하고 폐기).
nuh_layer_id는 VCL NAL 유닛이 속한 레이어의 식별자 또는 비-VCL NAL 유닛이 적용되는 레이어의 식별자를 지정한다. nuh_layer_id의 값은 0에서 55까지의 범위여야 한다. nuh_layer_id에 대한 다른 값은 ITU-T|ISO/IEC에서 미래 사용을 위해 예약되어 있다.
nuh_layer_id의 값은 코딩된 픽처의 모든 VCL NAL 유닛에 대해 동일해야 한다. 코딩된 픽처 또는 PU의 nuh_layer_id의 값은 코딩된 픽처 또는 PU의 VCL NAL 유닛들의 nuh_layer_id의 값이다.
AUD, PH, EOS 및 FD NAL 유닛에 대한 nuh_layer_id 값은 다음과 같이 제한된다:
- nal_unit_type가 AUD_NUT와 동일하면, nuh_layer_id는 vps_layer_id[ 0 ]과 동일해야 한다.
- 그렇지 않으면, nal_unit_type가 PH_NUT, EOS_NUT 또는 FD_NUT와 동일할 때, nuh_layer_id는 연관된 VCL NAL 유닛의 nuh_layer_id과 동일하여야 한다.
참고1 - DCI, VPS 및 EOB NAL 유닛의 nuh_layer_id 값은 제한되지 않는다.
nal_unit_type의 값은 CVSS AU의 모든 픽처에 대해 동일해야 한다.
nal_unit_type 에 지정된 바와 같이 NAL 유닛 유형, 즉 NAL 유닛에 포함된 RBSP 데이터 구조의 유형을 Table 5에서 지정한다.
시맨틱이 지정되지 않은, UNSPEC_28..UNSPEC_31의 범위의 nal_unit_type을 갖는 NAL 유닛은, 본 명세서에 지정된 디코딩 프로세스에 영향을 미치지 않는다.
참고 2 - UNSPEC_28..UNSPEC_31 범위의 NAL 유닛 유형은 애플리케이션에서 결정한 대로 사용될 수 있다. 이러한 nal_unit_type 값에 대한 디코딩 프로세스는 이 사양에 지정되어 있지 않다. 애플리케이션마다 이러한 NAL 유닛 유형을 다른 용도로 사용할 수 있으므로, 이러한 nal_unit_type 값을 사용하여 NAL 유닛을 생성하는 인코더 설계와 이러한 nal_unit_type 값으로 NAL 유닛의 내용을 해석하는 디코더 설계에서 특별한 주의를 기울여야 한다. 이 사양은 이러한 값에 대한 관리를 정의하지 않는다. 이러한 nal_unit_type 값들은 사용의 "충돌들"(즉, 동일한 nal_unit_type 값에 대한 NAL 유닛 콘텐츠의 의미에 대한 상이한 정의들)이 중요하지 않거나, 불가능하거나, 관리되는 문맥들에서만, 사용하기에 적합할 수 있다 - 예를 들어, 제어 애플리케이션 또는 전송 스펙에서 정의되거나 관리되고, 또는 비트스트림이 배포되는 환경을 제어한다.
비트스트림의 DU에서 데이터의 양을 결정하는 것 이외의 목적으로(부록 C에 지정된 대로), 디코더는 nal_unit_type의 예약된 값을 사용하는 모든 NAL 유닛의 내용을 무시(비트스트림에서 제거하고 폐기)해야 한다.
참고 3- 이 요구 사항을 사용하면 이 사양에 대한 호환 가능한 확장을 나중에 정의할 수 있다.
(표 5) NAL 유닛 유형 코드 및 NAL 유닛 유형 클래스
Figure pct00002
참고 4 - 클린 랜덤 액세스(CRA) 픽처에는 비트스트림에 RASL 또는 RADL 픽처가 연관되어 있을 수 있다.
참고 5 - IDR_N_LP와 동일한 nal_unit_type를 갖는 인스턴스 디코딩 리프레시(instantaneous decoding refresh)(IDR) 픽처는 비트스트림에 연관된 리딩 픽처를 갖지 않는다. IDR_W_RADL과 동일한 nal_unit_type을 갖는 IDR 픽처는 비트스트림에 존재하는 연관된 RASL 픽처를 갖지 않지만, 비트스트림에 연관된 RADL 픽처를 가질 수 있다.
nal_unit_type의 값은 서브픽처의 모든 VCL NAL 유닛에 대해 동일해야 한다. 서브픽처는 서브픽처의 VCL NAL 유닛과 동일한 NAL 유닛 유형을 갖는 것으로 지칭된다.
특정 픽처의 VCL NAL 유닛의 경우 다음이 적용된다:
- mixed_nalu_types_in_pic_flag가 0과 동일하면, nal_unit_type의 값은 픽처의 모든 VCL NAL 유닛에 대해 동일해야 하고, 픽처 또는 PU는 픽처의 코딩된 슬라이스 NAL 유닛 또는 PU와 동일한 NAL 유닛 유형을 갖는 것으로 지칭된다.
- 그렇지 않으면(mixed_nalu_types_in_pic_flag는 1과 동일함), 픽처는 적어도 두 개의 서브픽처를 가져야 하고, 픽처의 VCL NAL 유닛은 다음과 같이 정확히 두 개의 상이한 nal_unit_type 값을 가져야 한다: 픽처의 적어도 하나의 서브픽처의 VCL NAL 유닛은 모두, STSA_NUT, RADL_NUT, RASL_NUT, IDR_W_RADL, IDR_N_LP 또는 CRA_NUT와 동일한 nal_unit_type의 특정 값을 가져야 하고, 픽처의 다른 서브픽처의 VCL NAL 유닛은 모두, TRAIL_NUT, RADL_NUT 또는 RASL_NUT과 동일한 nal_unit_type의 서로 다른 특정 값을 가져야 한다.
단일-레이어 비트스트림의 경우 다음의 제약 조건이 적용된다:
- 디코딩 순서 상 비트스트림의 처음 픽처를 제외한 각각의 픽처는, 디코딩 순서 상 이전(previous) IRAP 픽처와 연관된 것으로 간주된다.
- 픽처가 IRAP 픽처의 리딩 픽처인 경우 RADL 또는 RASL 픽처이어야 한다.
- 픽처가 IRAP 픽처의 트레일링 픽처인 경우 RADL 또는 RASL 픽처가 아니어야 한다.
- RASL 픽처는 IDR 픽처와 연관된 비트스트림에 존재하지 않는다.
- RADL 픽처는 IDR_N_LP와 동일한 nal_unit_type를 갖는 IDR 픽처와 연관된 비트스트림에 존재하지 않는다.
참고 6 - 참조될 때, 각 파라미터 세트을 사용할 수 있는 경우(비트스트림 또는 이 사양에 지정되지 않은 외부 수단을 통해), IRAP PU 이전에 모든 PU를 폐기함으로써 IRAP PU의 위치에서 랜덤 액세스를 수행할 수 있다(그리고 IRAP 픽처 및 이후의 모든 비RASL 픽처를 디코딩 순서에서 정확하게 디코딩할 수 있다).
- 디코딩 순서 상 IRAP 픽처에 선행하는 임의의 픽처는, 출력 순서 상 IRAP 픽처에 선행해야 하고, 출력 순서 상 IRAP 픽처와 연관된 임의의 RADL 픽처에 선행해야 한다.
- CRA 픽처와 연관된 임의의 RASL 픽처는 출력 순서 상 CRA 픽처와 연관된 임의의 RADL 픽처에 선행해야 한다.
- CRA 픽처와 연관된 임의의 RASL 픽처는, 출력 순서 상, 디코딩 순서에 따라 CRA 픽처에 선행하는 임의의 IRAP 픽처에 뒤따라야(follow) 한다.
- field_seq_flag가 0이고 현재 픽처가 IRAP 픽처와 연관된 리딩 픽처인 경우, 동일한 IRAP 픽처와 연관된 모든 비-리딩 픽처가 디코딩 순서 상 선행해야 한다. 그렇지 않으면, picA 및 picB가 IRAP 픽처와 연관된 디코딩 순서에서, 각각 제1 및 마지막 리딩 픽처가 되게 하고, 디코딩 순서 상 picA에 선행하는 최대 하나의 비-리딩 픽처가 있어야 하고, 디코딩 순서 상 picA와 picB 사이에 비-리딩 픽처가 없어야 한다.
nuh_temporal_id_plus1 마이너스(minus) 1은 NAL 유닛에 대한 시간적 식별자를 지정한다.
nuh_temporal_id_plus1의 값은 0과 동일하지 않아야 한다.
변수 TemporalId는 다음과 같이 유도된다:
TemporalId = nuh_temporal_id_plus1 - 1 (36)
nal_unit_type가 IDR_W_RADL에서 RSV_IRAP_12까지를 포함하는 범위에 있는 경우 TemporalId는 0과 동일해야 한다.
nal_unit_type가 STSA_NUT와 동일하고 vps_independent_layer_flag[ GeneralLayerIdx[ nuh_layer_id ] ]가 1과 동일하면, TemporalId는 0과 동일하지 않다.
TemporalId의 값은 AU의 모든 VCL NAL 유닛에 대해 동일해야 한다. 코딩된 픽처, PU, 또는 AU의 TemporalId 값은, 코딩된 픽처, PU, 또는 AU의 VCL NAL 유닛들의 TemporalId 값이다. 서브레이어 표현(representation)의 TemporalId 값은 서브레이어 표현에 있는 모든 VCL NAL 유닛 중 TemporalId의 가장 큰 값이다.
비-VCL NAL 유닛에 대한 TemporalId 값은 다음과 같이 제한된다:
- nal_unit_type가 DCI_NUT, VPS_NUT 또는 SPS_NUT와 동일하면, TemporalId는 0과 동일하고 NAL 유닛을 포함하는 AU의 TemporalId는 0과 동일해야 한다.
- 그렇지 않으면, nal_unit_type가 PH_NUT와 동일하면, TemporalId는 NAL 유닛을 포함하는 PU의 TemporalId와 동일해야 한다.
- 그렇지 않으면, nal_unit_type이 EOS_NUT 또는 EOB_NUT와 동일하면 TemporalId는 0과 동일해야 한다.
- 그렇지 않으면, nal_unit_type가 AUD_NUT, FD_NUT, PREFIX_SEI_NUT 또는 SUFFIX_SEI_NUT와 동일하면, TemporalId는 NAL 유닛을 포함하는 AU의 TemporalId와 동일해야 한다.
- 그렇지 않으면, nal_unit_type가 PPS_NUT, PREFIX_APS_NUT 또는 SUFFIX_APS_NUT와 동일하면, TemporalId는 NAL 유닛을 포함하는 PU의 TemporalId보다 크거나 동일해야 한다.
참고 7 - NAL 유닛이 비-VCL NAL 유닛인 경우, TemporalId 값은 비-VCL NAL 유닛이 적용되는 모든 AU의 TemporalId 값의 최소값과 동일하다. nal_unit_type가 PPS_NUT, PREFIX_APS_NUT 또는 SUFFIX_APS_NUT와 동일하면, 모든 PPS들 및 APS들이 비트스트림의 시작 부분에 포함될 수 있기 때문에(예를 들어, 이들이 대역밖으로(out-of-band) 트랜스포트(transport)되고, 수신기가 이들을 비트스트림의 시작 부분에 배치할 때), TemporalId는 포함된 AU의 TemporalId보다 크거나 동일할 수 있고, 여기서 제일 먼저 코딩된 픽처는 0과 동일한 TemporalId를 갖는다.
3.7 VVC에서 픽처 헤더 구조 신택스 및 시맨틱
최신 VVC 텍스트(JVET-Q2001-vE/v15)에서 여기에 설명된 기술 솔루션과 가장 관련이 있는 픽처 헤더 구조 신택스 및 시맨틱는 다음과 같다.
7.3.2.7 픽처 헤더 구조 신택스
Figure pct00003
7.4.3.7 픽처 헤더 구조 시맨틱
PH 신택스 구조는 PH 신택스 구조와 연관된 코딩된 픽처의 모든 슬라이스에 공통적인 정보를 포함한다.
1과 동일한 gdr_or_irap_pic_flag는 현재 픽처가 GDR 또는 IRAP 픽처임을 지정한다. 0과 동일한 gdr_or_irap_pic_flag는 현재 픽처가 GDR 또는 IRAP 픽처일 수도 있고 아닐 수도 있음을 지정한다.
1과 동일한 gdr_pic_flag는 PH와 연관된 픽처가 GDR 픽처임을 지정한다. 0과 동일한 gdr_pic_flag는 PH와 연관된 픽처가 GDR 픽처가 아님을 지정한다. 존재하지 않을 때, gdr_pic_flag의 값은 0과 동일한 것으로 유추된다. gdr_enabled_flag가 0과 동일할 때, gdr_pic_flag의 값은 0과 동일해야 한다.
참고  1 - gdr_or_irap_pic_flag가 1이고 gdr_pic_flag가 0과 동일하면, PH와 연관된 픽처는 IRAP 픽처다.
ph_pic_order_cnt_lsb는 현재 픽처에 대한 픽처 순서 카운트 모듈로(modulo) MaxPicOrderCntLsb를 지정한다. ph_pic_order_cnt_lsb 신택스 요소의 길이는 log2_max_pic_order_cnt_lsb_minus4 + 4비트이다. ph_pic_order_cnt_lsb의 값은 0에서 MaxPicOrderCntLsb-1까지를 포함하는 범위에 있어야 한다.
no_output_of_prior_pics_flag는 부록 C에 지정된 비트스트림의 첫 번째(the first) 픽처가 아닌 CLVSS 픽처의 디코딩 후 DPB에서 이전에 디코딩된 픽처의 출력에 영향을 준다.
recovery_poc_cnt는 출력 순서대로 디코딩된 픽처의 복구 포인트를 지정한다. 현재 픽처가 PH와 연관된 GDR 픽처이고, 현재 GDR 픽처의 PicOrderCntVal에 recovery_poc_cnt 값을 더한 것과 동일한 PicOrderCntVal을 갖는 CLVS에서 디코딩 순서 상 현재 GDR 픽처를 뒤따르는 픽처 picA가 있는 경우, 픽처 picA는 복구 포인트 픽처로 지칭된다. 그렇지 않으면, 현재 픽처의 PicOrderCntVal에 recovery_poc_cnt의 값을 더한 것보다 더 큰 PicOrderCntVal을 갖는, 출력 순서 상 처음 픽처를 복구 포인트 픽처라고 참조한다. 복구 포인트 픽처는, 디코딩 순서 상 현재 GDR 픽처보다 선행하지 않아야 한다. recovery_poc_cnt의 값은 0에서 MaxPicOrderCntLsb-1까지를 포함하는 범위에 있어야 한다.
현재 픽처가 GDR 픽처인 경우, 변수 RpPicOrderCntVal은 다음과 같이 유도된다:
RpPicOrderCntVal = PicOrderCntVal + recovery_poc_cnt (81)
참고 2 - gdr_enabled_flag가 1이고 현재 픽처의 PicOrderCntVal이 연관된 GDR 픽처의 RpPicOrderCntVal보다 크거나 같을 때, 출력 순서 상 현재(current) 및 후속(subsequent)의 디코딩된 픽처는, 이전 IRAP 픽처 - 존재한다면, 디코딩 순서 상 연관된 GDR 픽처에 선행함 - 로부터 디코딩 프로세스를 시작함으로써 생성된 대응하는 픽처와 정확히 매치된다.
3.8 VVC의 RPL에 대한 제약 조건
최신 VVC 텍스트(JVET-Q2001-vE/v15)에서, VVC의 RPL에 대한 제약 조건은 다음과 같다(VVC 조항 8.3.2 레퍼런스 픽처 리스트 구성을 위한 디코딩 프로세스의 일부로서)
8.3.2 레퍼런스 픽처 리스트 구성을 위한 디코딩 프로세스
...
0 또는 1과 동일한 각 i에 대해, RefPicList[i]의 첫 번째(the first) NumRefIdxActive[i] 엔트리는 RefPicList[i]의 액티브 엔트리로, RefPicList[i]의 다른 엔트리는 RefPicList[i]의 인액티브 엔트리로 참조된다.
참고 2 - 특정 픽처가 RefPicList[ 0 ]의 엔트리와 RefPicList[ 1 ]의 엔트리 모두에 의해 참조될 수 있다. 또한 특정 픽처가 RefPicList[ 0 ]의 둘 이상의 엔트리 또는 RefPicList[ 1 ]의 둘 이상의 엔트리에 의해 참조될 수도 있다.
참고 3 - RefPicList[ 0 ]의 액티브 엔트리와 RefPicList[ 1 ]의 액티브 엔트리는 현재 픽처의 상호 예측에 사용될 수 있는 모든 레퍼런스 픽처와 디코딩 순서 상 현재 픽처를 따르는 하나 또는 그 이상의 픽처를 총칭한다. RefPicList[ 0 ]의 인액티브 엔트리와 RefPicList[ 1 ]의 인액티브 엔트리는 현재 픽처의 상호 예측에 사용되나 현재 픽처를 뒤따르는(follow) 하나 또는 그 이상의 픽처에 대한 인터 예측에 사용될 수 있는 모든 레퍼런스 픽처를 총칭한다.
참고 4 - 대응하는 픽처가 DPB에 없기 때문에, "레퍼런스 픽처 없음"과 동일한 RefPicList[ 0 ] 또는 RefPicList[ 1 ]의 하나 또는 그 이상의 엔트리가 있을 수 있다. "레퍼런스 픽처 없음"과 동일한 RefPicList[ 0 ] 또는 RefPicList[ 0 ]에서 각 인액티브 엔트리는 무시되어야 한다. 의도하지 않은 픽처 손실은 "레퍼런스 픽처 없음"과 동일한 RefPicList[ 0 ] 또는 RefPicList[ 1 ]의 각 액티브 엔트리에 대해 추론되어야(inferred) 한다.
다음 제약 조건이 적용되는 것은 비트스트림 적합성(conformance)의 요구 사항이다:
- 0 또는 1과 동일한 각 i에 대해, num_ref_entries[ i ][ RplsIdx[ i ] ] 는 NumRefIdxActive[ i ] 보다 작지 않아야 한다.
- RefPicList[ 0 ] 또는 RefPicList[ 1 ]의 각 액티브 엔트리에 의해 참조된 픽처는 DPB에 존재해야 하고, 현재 픽처의 TemporalId보다 작거나 동일해야 한다.
- RefPicList[ 0 ] 또는 RefPicList[ 1 ]의 각 엔트리에서 참조하는 픽처는 현재 픽처가 아니어야 하고, 0과 동일한 non_reference_picture_flag을 가져야 한다.
- 픽처 슬라이스의 RefPicList[ 0 ] 또는 RefPicList[ 1 ]의 STRP 엔트리와, 동일한 슬라이스의 RefPicList[ 0 ] 또는 RefPicList[ 1 ]의 LTRP 엔트리는, 동일한 픽처를 참조하지 않는다.
- RefPicList[ 0 ] 또는 RefPicList[ 1 ]에는 LTRP 엔트리가 없어야 하고, 현재 픽처의 PicorderCNTVal과 엔트리에 의해 참조되는 픽처의 PicorderCNTVal 사이의 차이는 224보다 크거나 동일하다.
- setOfRefPics가, 현재 픽처와 동일한 nuh_layer_id을 갖는 RefPicList[ 0 ]에서의 모든 엔트리와 현재 픽처와 동일한 nuh_layer_id을 갖는 RefPicList[ 1 ]에서의 모든 엔트리에서 참조하는 고유한 픽처 세트가 되게 한다. setOfRefPics의 픽처 수는 MaxDpbSize - 1보다 작거나 동일해야 하고, MaxDpbSize는 절 A.4.2에 지정된 바와 같으며, setOfRefPics는 픽처의 모든 슬라이스에 대해 동일해야 한다.
- 현재 슬라이스의 nal_unit_type이 STSA_NUT와 같은 경우, 현재 픽처와 동일한 TemporalId 및 현재 픽처와 동일한 nuh_layer_idRefpicList[ 0 ]을 갖는, RefPicList[ 0 ] 또는 RefPicList[ 1 ]에서의 액티브 엔트리가 존재하지 않는다.
- 현재 픽처가, 디코딩 순서에서, 현재 픽처와 동일한 TemporalID 및 현재 픽처와 동일한 nuh_layer_id를 갖는 STSA 픽처를 뒤따르는 픽처인 경우, 디코딩 순서 상 STSA에 선행하고, 현재 픽처와 동일한 TemporalID을 갖고, RefpicList [ 0 ] 또는 RefpicList [ 1 ]의 액티브 엔트리로 포함된 현재 픽처의 픽처와 동일한 nuh_layer_id equal를 갖는 픽처는 없다.
- 현재 픽처가 CRA 픽처인 경우, 출력 순서 또는 디코딩 순서 상, 디코딩 순서에서 임의의 선행 IRAP 픽처(존재하는 경우)를 선행하는, RefPicList[ 0 ] 또는 RefPicList[ 1 ]에서의 엔트리에 의해 참조되는 픽처는 존재하지 않는다.
- 현재 픽처가 트레일링 픽처인 경우, 현재 픽처와 연관된 IRAP 픽처에 대해 사용가능하지 않은(unavailable) 레퍼런스 픽처를 생성하기 위한 디코딩 프로세스에 의해 생성된, RefPicList[ 0 ] 또는 RefPicList[ 1 ]에서의 액티브 엔트리에 의해 참조된 픽처는 존재하지 않는다.
- 현재 픽처가, 디코딩 순서 및 출력 순서 둘 다에서, 동일한 IRAP 픽처와 연관된 하나 또는 그 이상의 리딩 픽처들을 뒤따르는 트레일링 픽처인 경우, 있다면, 현재 픽처와 연관된 IRAP 픽처에 대해 사용가능하지 않은(unavailable) 레퍼런스 픽처들을 생성하기 위한 디코딩 프로세스에 의해 생성된, RefPicList[ 0 ] 또는 RefPicList[ 1 ]의 엔트리에 의해 참조된 픽처가 존재하지 않는다.
- 현재 픽처가 복구 포인트 픽처 또는, 출력 순서 상 복구 포인트 픽처를 뒤따르는 픽처인 경우, 복구 포인트 픽처의 GDR 픽처에 대해 사용가능하지 않은(unavailable) 레퍼런스 픽처를 생성하기 위한 디코딩 프로세스에 의해 생성된 픽처를 포함하는, RefPicList[ 0 ] 또는 RefPicList[ 1 ]에서의 엔트리는 존재하지 않는다.
- 현재 픽처가 트레일링 픽처인 경우, 출력 순서 또는 디코딩 순서 상 연관된 IRAP 픽처에 선행하는, RefPicList[ 0 ] 또는 RefPicList[ 1 ]에서의 액티브 엔트리에 의해 참조되는 픽처는 존재하지 않는다.
- 현재 픽처가, 디코딩 순서와 출력 순서 모두에서, 동일한 IRAP 픽처와 연관된 하나 또는 그 이상의 리딩 픽처(존재하는 경우)를 뒤따르는 트레일링 픽처인 경우, 출력 순서 또는 디코딩 순서 상 연관된 IRAP 픽처에 선행하는, RefPicList[ 0 ] 또는 RefPicList[ 1 ]에서의 엔트리에 의해 참조되는 픽처는 존재하지 않는다.
- 현재 픽처가 RADL 픽처인 경우, RefPicList[ 0 ] 또는 RefPicList[ 1 ]에 다음 중 하나인 액티브 엔트리가 없어야 한다:
o RASL 픽처
o 사용가능하지 않은(unavailable) 레퍼런스 픽처를 생성하기 위한 디코딩 프로세스에 의해 생성된 픽처
o 디코딩 순서 상 연관된 IRAP 픽처에 선행하는 픽처
- 현재 픽처 슬라이스의 RefPicList[ 0 ] 또는 RefPicList[ 1 ]의 각 ILRP 엔트리에 의해 참조되는 픽처는 현재 픽처로서 동일한 AU에 존재해야 한다.
- 현재 픽처 슬라이스의 RefPicList[ 0 ] 또는 RefPicList[ 1 ]의 각 ILRP 엔트리에 의해 참조되는 픽처는 DPB에 존재해야 하고, 현재 픽처보다 작은 nuh_layer_id를 가져야 한다.
- 슬라이스의 RefPicList[ 0 ] 또는 RefPicList[ 1 ]의 각 ILRP 엔트리는 액티브 엔트리이어야 한다.
...
4. 공개된 기술 솔루션으로 해결된 기술 문제
최신 VVC 텍스트(JVET-Q2001-vE/V15)의 기존 확장성(scalability) 설계에는 다음과 같은 문제가 있다:
1) 연관된 IRAP 픽처의 정의는 특정 픽처의 연관된 IRAP 픽처가 특정 픽처와 동일한 레이어에 속하도록 업데이트되어야 한다.
2) 트레일링 픽처의 현재 정의는 다음과 같다.
트레일링 픽처: 출력 순서 상 연관된 IRAP 픽처를 뒤따르고, STSA 픽처가 아닌, 비- IRAP 픽처.
따라서, 트레일링 픽처가 존재하기 위해서는 비트스트림에 IRAP 픽처가 존재해야 하고, 비트스트림에 IRAP 픽처가 없으면 NAL 유닛 타입 값 TRAIL_NUT를 사용할 수 없다. 그러나 GDR 픽처와 관련된 비-STSA 픽처는 NAL 유닛 유형 값 TRAIL_NUT를 사용할 필요가 있다.
3) 디코딩 순서 상 IRAP 픽처에 선행하는 픽처의 출력 순서에 대한 기존 제약은 레이어 내의 픽처에만 적용되도록 지정될 필요가 있다.
4) GDR 픽처와 디코딩 순서 상 선행 및 후속 픽처 간의 상대적인 디코딩 순서 및 출력 순서에 대한 제약이 빠져 있다.
5) IRAP 픽처 및 일부 비-리딩 픽처와 연관된 픽처의 디코딩 순서에 대한 기존 제약은 레이어 내의 픽처에만 적용되도록 지정될 필요가 있다.
6) 현재, GDR 픽처와 관련된 리딩 픽처, RADL 픽처, RASL 픽처는 지원하지 않는다.
7) CRA 픽처에 대한 RPL에 대한 기존 제약은 레이어 내의 픽처에만 적용되도록 지정되어야 한다.
8) STSA 픽처, GDR 픽처와 연관된 트레일링 픽처, 및 NoOutputBeforeRecoveryFlag가 0인 GDR 픽처의 경우, RPL의액티브 엔트리가 사용가능하지 않은(unavailable) 레퍼런스 픽처를 생성하기 위한 디코딩 프로세스에 의해 생성되지 않도록 하는 제약이 결여되어 있다.
9) STSA 픽처, IDR 픽처, NoOutputBeforeRecoveryFlag가 0인 CRA 픽처 등의 경우, RPL의엔트리가 사용 불가능한 레퍼런스 픽처를 생성하기 위한 디코딩 프로세스에 의해 생성되지 않도록 하는 제약이 결여되어 있다.
10) STSA 픽처의 경우, 출력 순서 또는 디코딩 순서 상 연관된 IRAP 픽처보다 선행하지 않는 RPL의액티브 엔트리에 대한 제약이 결여되어 있다.
11) STSA 픽처의 경우, 출력 순서 또는 디코딩 순서 상 연관된 IRAP 픽처보다 선행하지 않는 RPL의엔트리에 대한 제약이 결여되어 있다.
5. 실시예 및 기술 솔루션의 예
상기와 같은 문제점을 해결하기 위해, 아래와 같이 요약된 방법이 개시된다. 발명은 일반적인 개념을 설명하기 위한 예시로 간주되어야 하고 좁은 의미로 해석되어서는 안 된다. 또한, 이들 발명은 개별적으로 또는 임의의 방식으로 조합하여 적용될 수 있다.
1) 문제 1을 해결하기 위해, 특정 픽처의 연관된 IRAP 픽처가 상기 특정 픽처와 동일한 레이어에 속하도록 연관된 IRAP 픽처의 정의(definition)가 업데이트된다.
2) 문제 2를 해결하기 위해 트레일링 픽처의 정의가 업데이트되어 트레일링 픽처도 GDR 픽처와 연관될 수 있다.
a. 또한, 연관된 GDR 픽처의 정의가 추가되고, 연관된 IRAP 픽처의 정의가 업데이트되어, 비트스트림에서 레이어의 첫 번째(the first) 픽처를 제외한 레이어의 각 픽처가 이전 IRAP 또는 디코딩 순서 상 동일한 레이어의 GDR 픽처 중 더 가까운 쪽과 연관되도록 지정된다.
b. 또한, 트레일링 픽처가 출력 순서 상 연관된 IRAP 또는 GDR 픽처를 뒤따라야 한다는 제약 조건이 추가되었다.
3) 문제 3을 해결하기 위해, 디코딩 순서 상 IRAP 픽처에 선행하는 픽처의 출력 순서에 대한 기존 제약이 업데이트되어 레이어 내의 픽처에만 제한을 부과한다.
a. 하나의 예에서, 제약조건은 다음과 같이 지정된다: 디코딩 순서 상 layerId와 동일한 nuh_layer_id을 갖는 IRAP 픽처에 선행하는, 특정 값 layerId와 동일한 nuh_layer_id을 갖는 임의의 픽처는, 출력 순서 상 IRAP 픽처 및 모든 연관된 RADL 픽처에 선행해야 한다.
4) 문제 4를 해결하기 위해, 다음 제약 조건 중 하나 또는 그 이상을 추가하라.
a. 트레일링 픽처는, 출력 순서 상 연관된 IRAP 또는 GDR 픽처를 뒤따라야 한다.
b. 디코딩 순서 상 layerId와 동일한 nuh_layer_id을 갖는 GDR 픽처에 선행하는, 특정 값 layerId와 동일한 nuh_layer_id을 갖는 임의의 픽처는, 출력 순서 상 GDR 픽처 및 모든 연관된 픽처에 선행해야 한다.
5) 문제 5를 해결하기 위해, IRAP 픽처 및 몇몇의 비-리딩 픽처와 연관된 픽처의 디코딩 순서에 대한 기존 제약이, 레이어 내의 픽처에만 제한을 부과하도록 업데이트된다.
a. 하나의 예에서, 제약조건은 다음과 같이 지정된다: field_seq_flag가 0이고 특정 값 layerId와 동일한 nuh_layer_id를 갖는 현재 픽처가 IRAP 픽처와 연관된 리딩 픽처인 경우, 디코딩 순서 상 동일한 IRAP 픽처와 연관된 모든 비-리딩 픽처에 선행해야 한다. 그렇지 않으면, picA 및 picB는, IRAP 픽처와 연관된 디코딩 순서 상 각각 첫 번째 및 마지막 리딩 픽처가 되게 하고, 디코딩 순서 상 picA에 선행하는 layerId와 동일한 nuh_layer_id를 갖는 최대(at most) 하나의 비-리딩 픽처가 있어야 하고, 디코딩 순서 상 picA와 picB 사이에 layerId와 동일한 nuh_layer_id를 갖는 비-리딩 픽처가 없어야 한다.
b. 또 다른 예에서, 제약 조건은 다음과 같이 지정된다: field_seq_flag가 0이고 현재 픽처가 IRAP 픽처와 연관된 리딩 픽처인 경우, 현재 픽처는 디코딩 순서 상 동일한 IRAP 픽처와 연관된 모든 비-리딩 픽처에 선행해야 한다. 그렇지 않으면, picA 및 picB가 IRAP 픽처와 연관된 디코딩 순서 상 각각 첫 번째 및 마지막 리딩 픽처가 되게 하고, 디코딩 순서 상 picA에 선행하는 최대 하나의 비-리딩 픽처가 있어야 하고, 디코딩 순서 상 picA와 picB 사이에 IRAP 픽처와 연관된 비-리딩 픽처가 없어야 한다.
6) 문제 6을 해결하기 위해 GDR 픽처와 연관된, 리딩 픽처, RADL 픽처, 및 RASL 픽처를 정의하고 지정한다.
a. GDR 픽처와 관련된 리딩 픽처는, GDR 픽처를 디코딩 순서 상 뒤따르고 출력 순서 상 선행하는 픽처이다.
b. GDR 픽처와 연관된 RADL 픽처는, GDR 픽처와 연관되고 RADL_NUT와 동일한 nal_unit_type을 갖는 리딩 픽처이다.
c. GDR 픽처와 연관된 RASL 픽처는, GDR 픽처와 연관되고 RASL_NUT와 동일한 nal_unit_type을 갖는 리딩 픽처이다.
7) 문제 7을 해결하기 위해, CRA 픽처의 RPL에 대한 기존 제약이, 레이어 내의 픽처에만 제한을 부과하도록 업데이트된다.
a. 하나의 예에서, 제약(constraint)은 다음과 같이 지정된다: 특정 값 layerld와 동일한 nuh_layer_id 갖는 현재 픽처가 CRA 픽처인 경우, 디코딩 순서 상(존재하는 경우) layerId와 동일한 nuh_layer_id를 갖는 임의의 선행 IRAP 픽처(존재하는 경우)를 출력 순서 또는 디코딩 순서 상 선행하는, RefPicList[ 0 ] 또는 RefPicList[ 1 ]에서의 엔트리에 의해 참조되는 픽처가 없어야 한다.
8) 문제 8을 해결하기 위해 다음의 제약이 지정된다:
특정 값 layerID와 동일한 nuh_layer_id를 갖는 현재 픽처가, 1과 동일한 NoOutputBeforeRecoveryFlag를 갖는 CRA 픽처와 연관된 RASL 픽처, 1과 동일한 NoOutputBeforeRecoveryFlag를 갖는 GDR 픽처, 또는 1과 동일한 NoOutputBeforeRecoveryFlag 및 layerld와 동일한 nuh_layer_id를 갖는 GDR 픽처의 복구 픽처(recoverying picture)가 아닌 경우, 사용할 수 없는 레퍼런스 픽처를 생성하기 위한 디코딩 프로세스에 의해 생성된, RefPicList[ 0 ] 또는 RefPicList[ 1 ]에서의 액티브 엔트리에 의해 참조된 픽처가 없어야 한다.
9) 문제 9를 해결하기 위해 다음의 제약이 지정된다:
특정 값 layerID와 동일한 nuh_layer_id를 갖는 현재 픽처가, 1과 동일한 NoOutputBeforeRecoveryFlag를 갖는 CRA 픽처, 디코딩 순서 상 1과 동일한 NoOutputBeforeRecoveryFlag를 갖는 동일한 CRA 픽처와 연관된 리딩 픽처에 선행하는 픽처, 1과 동일한 NoOutputBeforeRecoveryFlag를 갖는 CRA 픽처와 연관된 리딩 픽처, 1과 동일한 NoOutputBeforeRecoveryFlag를 갖는 GDR 픽처, 또는 1과 동일한 NoOutputBeforeRecoveryFlag 및 layerld와 동일한 nuh_layer_id를 갖는 GDR 픽처의 복구 픽처가 아닌 경우, 사용가능하지 않은 레퍼런스 픽처를 생성하기 위한 디코딩 프로세스에 의해 생성된, RefPicList[ 0 ] 또는 RefPicList[ 1 ]에서의 엔트리에 의해 참조된 픽처가 없어야 한다.
10) 문제 10을 해결하기 위해 다음의 제약이 지정된다:
현재 픽처가 IRAP 픽처와 연관되어 있고, 출력 순서 상 IRAP 픽처를 뒤따르는 경우, 출력 순서 또는 디코딩 순서 상 연관된 IRAP 픽처에 선행하는, RefPicList[0] 또는 RefPicList[1]에서의 액티브 엔트리에 의해 참조되는 픽처가 없어야 한다.
11) 문제 11을 해결하기 위해 다음의 제약이 지정된다:
현재 픽처가 IRAP 픽처와 연관되고, 출력 순서 상 IRAP 픽처를 뒤따르며, 및 디코딩 순서와 출력 순서 상 동일한 IRAP 픽처와 연관된 리딩 픽처를 따르는 경우(존재하는 경우), 출력 순서 또는 디코딩 순서 상 연관된 IRAP 픽처에 선행하는, RefPicList[ 0 ] 또는 RefPicList[ 1 ]에서의 엔트리에 의해 참조되는 픽처가 없어야 한다.
6. 실시예
다음은, VVC 사양에 적용될 수 있는, 위의 섹션 5에서 요약된 발명 측면 중 일부에 대한 몇 가지 예시적인 실시예이다. 변경된 텍스트는 JVET-Q2001-vE/v15의 최신 VVC 텍스트를 기반으로 한다. 추가되거나 수정된 대부분의 관련 부분은 굵은 기울임꼴로 강조 표시되고 일부 삭제된 부분은 이중 괄호로 표시된다(예: [[a]]는 문자 "a"의 삭제를 나타냄). 본질적으로 편집적이므로 강조되지 않은 몇 가지 다른 변경 사항이 있다.
6.1 제1 실시예
이 실시예는 항목 1, 2, 3, 4, 5 및 5a에 대한 것이다.
3. 정의
...
연관된 GDR 픽처(nuh_layer_id layerId의 특정 값을 갖는 특정 픽처): 디코딩 순서 상, 디코딩 순서에서 layerId와 동일한 nuh_layer_id을 갖는 이전 GDR 픽처(존재하는 경우)와 특정 픽처 사이에, layerId와 동일한 nuh_layer_id를 갖는 IRAP 픽처는 존재하지 않는다.
연관된 IRAP 픽처(nuh_layer_id layerId의 특정 값을 갖는 특정 픽처의): 디코딩 순서 상, 디코딩 순서에서 layerId와 동일한 nuh_layer_id을 갖는 이전 IRAP 픽처(존재하는 경우) 와 특정 픽처 사이에, layerId와 동일한 nuh_layer_id를 갖는 GDR 픽처는 존재하지 않는다.
출력 순서: CLVS 내의 픽처 또는 서브픽처 의 순서는 POC 값 증가로 나타나고 , DPB에서 출력되는 디코딩된 픽처의 경우 , 디코딩된 픽처가 DPB에서 출력되는 순서이다 .
트레일링 픽처: 각 VCL NAL 유닛이 TRAIL_NUT와 동일한 nal_unit_type을 갖는 픽처다.
참고 - IRSAP 또는 GDR 픽처와 연관된 트레일링 픽처도 디코딩 순서에 따라 IRSAP 또는 GDR 픽처를 뒤따른다. 출력 순서 상, 연관된 IRAP 또는 GDR 픽처를 뒤따르고 디코딩 순서 상 연관된 IRAP 또는 GDR 픽처에 선행하는 픽처는 허용되지 않는다.
...
7.4.2.2 NAL 유닛 헤더 시맨틱
...
[[단일- 레이어 비트스트림의 경우 다음의 제약이 적용되는 비트스트림 적합성의 요구 사항이다 .
- 디코딩 순서 상 비트스트림의 제1 픽처를 제외하고, 각각의 픽처는 디코딩 순서 상 이전 IRAP 픽처와 연관된 것으로 간주된다.]]
- 트레일링 픽처는, 출력 순서 상 연관된 IRAP 또는 GDR 픽처를 뒤따라야 한다.
- 픽처가 IRAP 픽처의 리딩 픽처인 경우 이는 RADL 또는 RASL 픽처이어야 한다.
- IDR 픽처와 연관된 비트스트림에는 RASL 픽처가 존재하지 않아야 한다.
- IDR_N_LP와 동일한 nal_unit_type를 갖는 IDR 픽처와 연관된 비트스트림에는 RADL 픽처가 존재하지 않아야 한다.
참고 6 - 참조될 때 각 파라미터 세트을 사용할 수 있다면(비트스트림 또는 이 사양에 지정되지 않은 외부 수단을 통해), IRAP PU 이전에 모든 PU를 폐기함으로써 IRAP PU의 위치에서 랜덤 액세스를 수행할 수 있다(그리고 IRAP 픽처 및 이후의 모든 비RASL 픽처를 디코딩 순서에서 올바르게 디코딩하기 위해).
- 디코딩 순서 상. layerId와 동일한 nuh_layer_id을 갖는 IRAP 픽처에 선행하는, 특정 값 layerId와 동일한 nuh_layer_id을 갖는 임의의 픽처는, 출력 순서 상 IRAP 픽처 및 모든 연관된 RADL 픽처에 선행해야 한다.
- 디코딩 순서 상, layerId와 동일한 nuh_layer_id을 갖는 GDR 픽처에 선행하는, 특정 값 layerId와 동일한 nuh_layer_id을 갖는 임의의 픽처는, 출력 순서 상 GDR 픽처 및 모든 연관된 픽처에 선행해야 한다.
- CRA 픽처와 연관된 임의의 RASL 픽처는, 출력 순서 상 CRA 픽처와 연관된 임의의 RADL 픽처에 선행해야 한다.
- CRA 픽처와 연관된 임의의 RASL 픽처는, 디코딩 순서 상 CRA 픽처에 선행하는 임의의 IRAP 픽처를, 출력 순서 상 뒤따라야 한다.
- field_seq_flag가 0이고 특정 값 layerId와 동일한 nuh_layer_id를 갖는 현재 픽처가 IRAP 픽처와 연관된 리딩 픽처인 경우, 현재 픽처는 디코딩 순서 상 동일한 IRAP 픽처와 연관된 모든 리딩 픽처에 선행해야 한다. 그렇지 않으면, picA 및 picB가 IRAP 픽처와 연관된 디코딩 순서 상, 각각 첫 번째 및 마지막 리딩 픽처가 되게 하고, 디코딩 순서 상 picA에 선행하는 layerId와 동일한 nuh_layer_id를 갖는 최대 하나의 비-리딩 픽처가 있어야 하고, 디코딩 순서 상 picA와 picB 사이에 layerId와 동일한 nuh_layer_id를 갖는 비-리딩 픽처가 없어야 한다.
...
7.4.3.7 픽처 헤더 구조 시맨틱
...
recovery_poc_cnt는 출력 순서 상 디코딩된 픽처의 복구 포인트를 지정한다.
현재 픽처가 GDR 픽처인 경우, 변수 recoveryPointPocVal 은 다음과 같이 유도된다:
recoveryPointPocVal = PicOrderCntVal + recovery_poc_cnt (81)
현재 픽처가 [[PH와 연관된]] GDR 픽처이고, [[현재 GDR 픽처의 PicOrderCntVal에 recovery_poc_cnt 값을 더한 것인]] recoveryPointPocVal 과 동일한 PicOrderCntVal을 갖는 CLVS에서 디코딩 순서에서 현재 GDR 픽처를 따르는 픽처 picA가 있는 경우, 픽처 picA는 복구 포인트 픽처로 지칭된다. 그렇지 않으면, CLVS에서 [[현재 픽처의 PicOrderCntVal에 recovery_poc_cnt의 값을 더한 것인]] recoveryPointPocVal 보다 더 큰 PicOrderCntVal을 갖는 출력 순서 상 첫 번째 픽처를 복구 포인트 픽처로 참조한다. 복구 포인트 픽처는, 디코딩 순서 상 현재 GDR 픽처보다 선행하지 않아야 한다. 현재 GDR 픽처와 연관되어 있고 recoveryPointPocVal보다 적은 PicOrderCntVal를 갖는 픽처는 GDR 픽처의 복구 픽처(recovering picture)로 참조된다. Recovery_poc_cnt의 값은 0에서 MaxPicOrderCntLsb-1까지를 포함하는 범위에 있어야 한다.
[[현재 픽처가 GDR 픽처인 경우, 변수 RpPicOrderCntVal은 다음과 같이 유도된다:
RpPicOrderCntVal = PicOrderCntVal + recovery_poc_cnt (81)]]
참고 2 - gdr_enabled_flag가 1이고 현재 픽처의 PicOrderCntVal이 연관된 GDR 픽처의 recoveryPointPocVal [[RpPicOrderCntVal]]보다 크거나 같을 때, 출력 순서 상 현재 및 후속 디코딩된 픽처는, 디코딩 순서 상 연관된 GDR 픽처에 선행하는, 존재한다면, 이전 IRAP 픽처로부터, 디코딩 프로세스를 시작함으로써 생성된 대응하는 픽처와 정확히 매치된다.
...
8.3.2 레퍼런스 픽처 리스트 구성을 위한 디코딩 프로세스
...
다음의 제약이 적용되는 것은 비트스트림 적합성의 요구 사항이다:
- ...
- 특정 값 layerld와 동일한 nuh_layer_id 갖는 현재 픽처가 CRA 픽처인 경우, 출력 순서 또는 디코딩 순서 상, layerId와 동일한 nuh_layer_id를 갖는 임의의 선행 IRAP 픽처(존재하는 경우)를 디코딩 순서 상 선행하는, RefPicList[ 0 ] 또는 RefPicList[ 1 ]에서의 엔트리에 의해 참조되는 픽처가 없어야 한다.
- 특정 값 layerID와 동일한 nuh_layer_id를 갖는 현재 픽처가 [[트레일링 픽처이고]], 1과 동일한 NoOutputBeforeRecoveryFlag를 갖는 CRA 픽처와 연관된 RASL 픽처, 1과 동일한 NoOutputBeforeRecoveryFlag를 갖는 GDR 픽처, 또는 1과 동일한 NoOutputBeforeRecoveryFlag 및 layerld와 동일한 nuh_layer_id를 갖는 GDR 픽처의 복구 픽처(recoverying picture)가 아닌 경우, 사용할 수 없는 레퍼런스 픽처 [[현재 픽처와 연관된 IRAP 픽처에 대한]]를 생성하기 위한 디코딩 프로세스에 의해 생성된, RefPicList[ 0 ] 또는 RefPicList[ 1 ]에서의 액티브 엔트리에 의해 참조된 픽처가 없어야 한다.
- 특정 값 layerID와 동일한 nuh_layer_id를 갖는 현재 픽처가 [[디코딩 순서 및 출력 순서 상 동일한 IRAP 픽처와 연관된 하나 또는 그 이상의 리딩 픽처를 뒤따르는 트레일링 픽처, 있다면]], 1과 동일한 NoOutputBeforeRecoveryFlag를 갖는 CRA 픽처, 1과 동일한 NoOutputBeforeRecoveryFlag를 갖는 동일한 CRA 픽처와 연관된 리딩 픽처에 디코딩 순서 상 선행하는 픽처, 1과 동일한 NoOutputBeforeRecoveryFlag를 갖는 CRA 픽처와 연관된 리딩 픽처, 1과 동일한 NoOutputBeforeRecoveryFlag를 갖는 GDR 픽처, 또는 1과 동일한 NoOutputBeforeRecoveryFlag 및 layerld와 동일한 nuh_layer_id를 갖는 GDR 픽처의 복구 픽처(recoverying picture)가 아닌 경우, 사용할 수 없는 레퍼런스 픽처[[현재 픽처와 연관된 IRAP 픽처에 대한]]를 생성하기 위한 디코딩 프로세스에 의해 생성된, RefPicList[ 0 ] 또는 RefPicList[ 1 ]에서의 엔트리에 의해 참조된 픽처가 없어야 한다.
- [[현재 픽처가 복구 포인트 픽처 또는, 출력 순서 상 복구 포인트 픽처를 뒤따르는 픽처인 경우, 복구 포인트 픽처의 GDR 픽처에 대해 사용할 수 없는 레퍼런스 픽처를 생성하기 위한 디코딩 프로세스에 의해 생성된 픽처를 포함하는, RefPicList[ 0 ] 또는 RefPicList[ 1 ]에서의 엔트리가 없어야 한다.]]
- 현재 픽처가 [[트레일링 픽처이고]] IRAP 픽처와 연관되어 있고 출력 순서 상 IRAP 픽처를 뒤따르는 경우 , 연관된 IRAP 픽처에 출력 순서 또는 디코딩 순서 상 선행하는, RefPicList[0] 또는 RefPicList[1]에서의 액티브 엔트리에 의해 참조되는 픽처가 없어야 한다.
- 현재 픽처가 [[트레일링 픽처이고]] IRAP 픽처와 연관되어 있고, 출력 순서 상 IRAP 픽처를 뒤따르고, 및 동일한 IRAP 픽처(있다면)와 연관된 하나 또는 그 이상의 리딩 픽처를 디코딩 순서 및 출력 순서 상 선행하는 경우, 연관된 IRAP 픽처에 출력 순서 또는 디코딩 순서 상 선행하는, RefPicList[ 0 ] 또는 RefPicList[ 1 ]에서의 엔트리에 의해 참조되는 픽처가 없어야 한다.
- 현재 픽처가 RADL 픽처인 경우, RefPicList[ 0 ] 또는 RefPicList[ 1 ]에 다음 중 하나인 액티브 엔트리가 없어야 한다:
o RASL 픽처
[[사용할 수 없는 레퍼런스 픽처를 생성하기 위한 디코딩 프로세스에 의해 생성된 픽처]]
o 디코딩 순서에서 연관된 IRAP 픽처에 선행하는 픽처
- ...
도 1은 여기에 개시된 다양한 기술들이 구현될 수 있는 예시적인 비디오 처리 시스템(1900)을 도시하는 블록도이다. 다양한 구현은 시스템(1900)의 컴포넌트 중 일부 또는 전부를 포함할 수 있다. 시스템(1900)은 비디오 콘텐츠를 수신하기 위한 입력(1902)을 포함할 수 있다. 비디오 콘텐츠는 로우(raw) 또는 압축되지 않은(uncompressed) 포맷, 예를 들어, 8 또는 10비트 다중-컴포넌트 픽셀 값으로 수신될 수 있거나, 압축 또는 인코딩된 포맷일 수 있다. 입력(1902)은 네트워크 인터페이스, 주변 버스 인터페이스, 또는 저장 인터페이스를 표현할 수 있다. 네트워크 인터페이스의 예로는 이더넷, 수동 광 네트워크(PON) 등과 같은 유선 인터페이스와 Wi-Fi 또는 셀룰러 인터페이스와 같은 무선 인터페이스를 포함한다.
시스템(1900)은 본 문서에 설명된 다양한 코딩 또는 인코딩 방법을 구현할 수 있는 코딩 컴포넌트(1904)를 포함할 수 있다. 코딩 컴포넌트(1904)는 비디오의 코딩된 표현을 생성하기 위해 입력(1902)으로부터 코딩 컴포넌트(1904)의 출력으로 비디오의 평균 비트레이트를 감소시킬 수 있다. 따라서, 코딩 기술은 종종 비디오 압축 또는 비디오 트랜스코딩 기술이라고 명명된다. 코딩 컴포넌트(1904)의 출력은 컴포넌트 (1906)에 의해 표현되는 바와 같이, 연결된 통신을 통해 저장되거나 전송될 수 있다. 입력(1902)에서 수신된 비디오의 저장되거나 통신된 비트스트림(또는 코딩된) 표현은, 디스플레이 인터페이스(1910)로 보내지는 픽셀 값 또는 디스플레이 가능한 비디오를 생성하기 위해 컴포넌트(1908)에 의해 사용될 수 있다. 비트스트림 표현(representation)으로부터 사용자가 볼 수 있는(user-viewable) 비디오를 생성하는 프로세스는 종종 비디오 압축 해제(decompression)라고 명명된다. 또한, 특정 비디오 처리 동작이 "코딩" 동작 또는 툴(tools)로 참조되지만, 코딩 툴 또는 동작이 인코더에서 사용되고, 코딩 결과를 되돌리는 대응하는 디코딩 툴 또는 동작은 디코더에 의해 수행된다는 점이 이해될 것이다.
주변 버스 인터페이스 또는 디스플레이 인터페이스의 예로는, 범용 직렬 버스(USB) 또는 HDMI(High Definition Multimedia Interface) 또는 디스플레이포트(Displayport) 등이 포함될 수 있다. 저장소(storage) 인터페이스의 예로는, SATA(Serial Advanced Technology Attachment), PCI, IDE 인터페이스 등이 있다. 본 문서에 기재된 기술은, 휴대전화, 노트북, 스마트폰 또는 디지털 데이터 처리 및/또는 비디오 디스플레이를 수행할 수 있는 기타 장치와 같은 다양한 전자 기기에 구현될 수 있다.
도 2는 비디오 처리 장치(3600)의 블록도이다. 장치(3600)는 여기에 설명된 방법 중 하나 이상을 구현하는 데 사용될 수 있다. 장치(3600)는 스마트폰, 태블릿, 컴퓨터, 사물 인터넷(IoT) 수신기 등으로 구현될 수 있다. 장치(3600)는 하나 또는 그 이상의 프로세서(3602), 하나 또는 그 이상의 메모리(memory)(3604) 및 비디오 처리 하드웨어(3606)를 포함할 수 있다. 프로세서(들)(3602)는 본 문서에 설명된 하나 또는 그 이상의 방법을 구현하도록 구성될 수 있다. 메모리(들)(3604)는 여기에 설명된 방법 및 기술을 구현하는 데 사용되는 데이터 및 코드를 저장하는 데 사용될 수 있다. 비디오 처리 하드웨어(3606)는, 하드웨어 회로에서, 본 문서에 설명된 몇몇 기술을 구현하는 데 사용될 수 있다.
도 4는 본 개시의 기술을 활용할 수 있는 비디오 코딩 시스템(100)의 일예를 도시하는 블록도이다.
도 4에 도시된 바와 같이, 비디오 코딩 시스템(100)은 소스 디바이스(110) 및 데스티네이션(destination) 디바이스(120)를 포함할 수 있다. 소스 디바이스(110)는 인코딩된 비디오 데이터를 생성하고, 비디오 인코딩 장치로 참조될 수 있다. 데스티네이션 디바이스(120)는 소스 디바이스(110)에 의해 생성된 인코딩된 비디오 데이터를 디코딩할 수 있고, 비디오 디코딩 장치로 참조될 수 있다.
소스 디바이스(110)는, 비디오 소스(112), 비디오 인코더(114) 및 입/출력(I/O) 인터페이스(116)를 포함할 수 있다.
비디오 소스(112)는, 비디오 캡처 디바이스, 비디오 컨텐츠 공급자(provider)로부터 비디오 데이터를 수신하는 인터페이스, 및/또는 비디오 데이터를 생성하기 위한 컴퓨터 그래픽 시스템 또는 이러한 소스들의 조합을 포함할 수 있다. 비디오 데이터는 하나 또는 그 이상의 픽처를 포함할 수 있다. 비디오 인코더(114)는, 비트스트림을 생성하도록 비디오 소스(112)의 비디오 데이터를 인코딩한다. 비트스트림에는 비디오 데이터의 코딩된 표현을 형성하는 비트들의 시퀀스가 포함될 수 있다. 비트스트림에는 코딩된 픽처 및 연관된 데이터가 포함될 수 있다. 코딩된 픽처는 픽처의 코딩된 표현(representation)이다. 연관된 데이터는, 시퀀스 파라미터 세트, 픽처 파라미터 세트, 및 기타 신택스 구조들을 포함한다. I/O 인터페이스(116)는 변조기/복조기(모뎀) 및/또는 송신기를 포함할 수 있다. 인코딩된 비디오 데이터는 네트워크(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(High Efficiency Video Coding) 표준, 다목적 비디오 코딩(VVC) 표준 및 기타 현재 및/또는 추가 표준과 같은 비디오 압축 표준에 따라 동작할 수 있다.
도 5는 도 4에 예시된 시스템(100)의 비디오 인코더(114)일 수 있는 비디오 인코더(200)의 예를 도시하는 블록도이다.
비디오 인코더(200)는 본 개시의 기술 중 어느 또는 전부를 수행하도록 구성될 수 있다. 도 5의 예에서, 비디오 인코더(200)는 복수의 기능적 컴포넌트들을 포함한다. 본 개시에 기재된 기술은 비디오 인코더(200)의 다양한 컴포넌트들 간에 공유될 수 있다. 몇몇의 예에서, 프로세서는 본 개시에 기재된 임의 또는 전부를 수행하기 위해 구성될 수 있다.
비디오 인코더(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) 유닛을 포함할 수 있다. IBC 유닛은, IBC 모드에서, 적어도 하나의 레퍼런스 픽처가 현재 비디오 블록이 있는 픽처인 경우, 예측을 수행할 수 있다.
또한, 모션 추정부(204) 및 모션 보정부(205)와 같은 일부 컴포넌트는 고도로(highly) 통합될 수 있으나, 도 5의 예에서는 설명의 목적을 위해 분리된 것으로 표현되었다.
파티션 유닛(201)는 픽처를 하나 또는 그 이상의 비디오 블록으로 파티셔닝(partition)할 수 있다. 비디오 인코더(200) 및 비디오 디코더(300)는 다양한 비디오 블록 크기를 지원할 수 있다.
모드 선택 유닛(203)는 오류 결과에 기초하여 코딩 모드 중 어느 하나, 예를 들면, 인트라 또는 인터 등을 선택하고, 결과인 인트라 또는 인터 코딩된 블록을 잔차 블록 데이터를 생성하도록 잔차 생성 유닛(207)에 제공하며, 레퍼런스 픽처로 사용하기 위한 인코딩된 블록을 재구성하도록 재구성 유닛(212)으로 제공한다. 몇몇의 예에서, 모드 선택 유닛(203)는 인트라 및 인터 예측(CIIP) 모드의 조합을 선택할 수 있고, 이 모드에서 예측은 인터 예측 시그널 및 인트라 예측 시그널에 기초한다. 또한, 모드 선택 유닛(203)은, 인터 예측의 경우, 블록에 대한 모션 벡터의 해상도(예를 들어, 서브-픽셀 또는 정수 픽셀 정밀도)를 선택할 수 있다.
현재 비디오 블록에서 인터 예측을 수행하기 위해, 모션 추정 유닛(204)는 버퍼(213)로부터의 하나 또는 그 이상의 레퍼런스 프레임을 현재 비디오 블록에 비교함으로써 현재 비디오 블록에 대한 모션 정보를 생성할 수 있다. 모션 보상 유닛(205)는 현재 비디오 블록과 연관된 픽처를 제외하고, 버퍼(213)로부터의 모션 정보 및 디코딩된 픽처 샘플에 기초하여 현재 비디오 블록에 대한 예측 비디오 블록을 결정할 수 있다.
모션 추정 유닛(204) 및 모션 보상 유닛(205)는, 예를 들어, 현재 비디오 블록이 I 슬라이스, P 슬라이스 또는 B 슬라이스에 있는지 여부에 따라 현재 비디오 블록에 대해 서로 다른 동작을 수행할 수 있다.
몇몇의 예에서, 모션 추정 유닛(204)은 현재 비디오 블록에 대한 단방향(uni-directional) 예측을 수행할 수 있고, 모션 추정 유닛(204)은 현재 비디오 블록에 대한 레퍼런스 비디오 블록에 대한 list 0 또는 list 1의 레퍼런스 픽처를 검색할 수 있다. 그런 다음, 모션 추정 유닛(204)는 현재 비디오 블록과 레퍼런스 비디오 블록 사이의 공간 변위(spatial displacement)를 나타내는 레퍼런스 비디오 블록 및 모션 벡터를 포함하는 리스트 0(List 0) 또는 리스트 1(List 1)에서 레퍼런스 픽처를 나타내는 레퍼런스 인덱스(reference index)를 생성할 수 있다. 모션 추정 유닛(204)는 레퍼런스 인덱스, 예측 디렉션 지시자(indicator) 및 모션 벡터를 현재 비디오 블록의 모션 정보로 출력할 수 있다. 모션 보상 유닛(205)는 현재 비디오 블록의 동작 정보에 의해 표시된 레퍼런스 비디오 블록에 기초하여 현재 블록의 예측된 비디오 블록을 생성할 수 있다.
다른 예에서, 모션 추정 유닛(204)는 현재 비디오 블록에 대한 양방향(bi-directional) 예측을 수행할 수 있고, 모션 추정 유닛(204)는 현재 비디오 블록에 대한 레퍼런스 비디오 블록에 대한 리스트 0(List 0)에서 레퍼런스 픽처를 검색할 수 있으며, 또한 현재 비디오 블록에 대한 다른 레퍼런스 비디오 블록에 대한 리스트 1(List 1)에서 레퍼런스 픽처를 검색할 수 있다. 그런 다음, 모션 추정 유닛(204)는 레퍼런스 비디오 블록과 현재 비디오 블록 사이의 공간 변위를 나타내는 레퍼런스 비디오 블록 및 모션 벡터를 포함하는 리스트 0(List 0) 및 리스트 1(List 1)에서 레퍼런스 픽처를 나타내는 레퍼런스 인덱스를 생성할 수 있다. 모션 추정 유닛(204)는 현재 비디오 블록의 모션 정보로서 현재 비디오 블록의 레퍼런스 인덱스 및 모션 벡터를 출력할 수 있다. 모션 보상 유닛(205)은 현재 비디오 블록의 모션 정보(motion information)에 의해 표시된 레퍼런스 비디오 블록에 기초하여 현재 비디오 블록의 예측 비디오 블록을 생성할 수 있다.
몇몇의 예에서, 모션 추정 유닛(204)는 디코더의 디코딩 처리를 위한 전체 모션 정보 세트를 출력할 수 있다.
몇몇의 예에서, 모션 추정 유닛(204)는 현재 비디오에 대한 전체 모션 정보 세트를 출력하지 않을 수 있다. 오히려, 모션 추정 유닛(204)는 다른 비디오 블록의 동작 정보를 참조하여(with reference to) 현재 비디오 블록의 모션 정보를 시그널링할 수 있다. 예를 들어, 모션 추정 유닛(204)는 현재 비디오 블록의 모션 정보가 이웃(neighboring) 비디오 블록의 모션 정보와 충분히(sufficiently) 유사하다고 결정할 수 있다.
하나의 예에서, 모션 추정 유닛(204)는, 현재 비디오 블록과 연관된 신택스 구조에서 현재 비디오 블록이 다른 비디오 블록과 동일한 모션 정보를 가지고 있음을 비디오 디코더(300)에 나타내는 값을 나타낼 수 있다.
또 다른 예에서, 모션 추정 유닛(204)는, 현재 비디오 블록과 연관된 신택스 구조에서 다른 비디오 블록 및 모션 벡터 차이(MVD)를 식별할 수 있다. 모션 벡터 차이는 현재 비디오 블록의 모션 벡터와 표시된(indicated) 비디오 블록의 모션 벡터 사이의 차이를 나타낸다. 비디오 디코더(300)는 현재 비디오 블록의 모션 벡터를 결정하는데 표시된 비디오 블록의 모션 벡터 및 모션 벡터 차이를 사용할 수 있다.
위에서 설명한 바와 같이, 비디오 인코더(200)는 모션 벡터를 예측적으로(predictively) 시그널링할 수 있다. 비디오 인코더(200)에 의해 구현될 수 있는 예측 시그널링 기술의 두 가지 예는, 어드밴스드 모션 벡터 예측(AMVP) 및 병합 모드 시그널링을 포함한다.
인트라 예측 유닛(206)은 현재 비디오 블록에 대한 인트라 예측을 수행할 수 있다. 인트라 예측 유닛(206)이 현재 비디오 블록에 대한 인트라 예측을 수행하는 경우, 인트라 예측 유닛(206)는, 동일 픽처에서 다른 비디오 블록의 디코딩된 샘플에 기초하여 현재 비디오 블록에 대한 예측 데이터를 생성할 수 있다. 현재 비디오 블록에 대한 예측 데이터는 예측된 비디오 블록 및 다양한 신택스 요소를 포함할 수 있다.
잔차(residual) 생성 유닛(207)는, 현재 비디오 블록에서 현재 비디오 블록의 예측된 비디오 블록을 감산(예를 들어, 마이너스 기호로 표시)함으로써 현재 비디오 블록에 대한 잔차 데이터를 생성할 수 있다. 현재 비디오 블록의 잔차 데이터는 현재 비디오 블록에서 샘플의 서로 다른 샘플 컴포넌트에 대응하는 잔차 비디오 블록을 포함할 수 있다.
다른 예에서, 현재 비디오 블록에 대한 현재 비디오 블록의 잔차 데이터가 없을 수 있고, 예를 들어 스킵(skip) 모드에서, 잔차 생성 유닛(207)는 감산 동작을 수행하지 않을 수 있다.
트랜스폼 처리 유닛(208)는, 현재 비디오 블록과 연관된 잔차 비디오 블록에 하나 또는 그 이상의 트랜스폼을 적용함으로써 현재 비디오 블록에 대해 하나 또는 그 이상의 트랜스폼 계수(coefficient) 비디오 블록을 생성할 수 있다.
트랜스폼 처리 유닛(208)는 현재 비디오 블록과 연관된 트랜스폼 계수 비디오 블록을 생성한 후, 양자화(quantization) 유닛(209)는 현재 비디오 블록과 연관된 하나 또는 그 이상의 양자화 파라미터(QP) 값에 기초하여 현재 비디오 블록과 연관된 트랜스폼 계수 비디오 블록을 양자화할 수 있다.
역(inverse)양자화 유닛(210)와 역(inverse)트랜스폼 유닛(211)은, 트랜스폼 계수 비디오 블록으로부터 잔차 비디오 블록을 재구성하도록, 트랜스폼 계수 비디오 블록에 역양자화 및 역트랜스폼을 각각 적용할 수 있다. 재구성 유닛(212)은, 버퍼(213)에 저장하기 위한 현재 블록과 연관된 재구성된 비디오 블록을 생성하도록, 예측 유닛(202)에 의해 생성된 하나 또는 그 이상의 예측된 비디오 블록으로부터 대응하는 샘플에 재구성된 잔차 비디오 블록을 추가할 수 있다.
재구성 유닛(212)은 비디오 블록을 재구성한 후, 비디오 블록에서 비디오 블로킹 아티팩트(video blocking artifacts)를 줄이기 위해 루프 필터링 동작이 수행된다.
엔트로피 인코딩 유닛(214)은 비디오 인코더(200)의 다른 기능 컴포넌트로부터 데이터를 수신할 수 있다. 엔트로피 인코딩 유닛(214)이 데이터를 수신하는 경우, 엔트로피 인코딩 유닛(214)는 엔트로피 인코딩된 데이터를 생성하고 엔트로피 인코딩된 데이터를 포함하는 비트스트림을 출력하도록 하나 또는 그 이상의 엔트로피 인코딩 동작을 수행할 수 있다.
도 6은 도 4에 예시된 시스템(100)의 비디오 디코더(114)일 수 있는 비디오 디코더(300)의 예를 도시하는 블록도이다.
비디오 디코더(300)는 본 개시의 기술 중 임의의 또는 전부를 수행하도록 구성될 수 있다. 도 6의 예에서, 비디오 디코더(300)는 복수의 기능 컴포넌트를 포함한다. 본 개시에 기재된 기술은, 비디오 디코더(300)의 다양한 컴포넌트들 간에 공유될 수 있다. 몇몇의 예에서, 프로세서는 본 개시에 기재된 임의 또는 전부를 수행하기 위해 구성될 수 있다.
도 6의 예에서, 비디오 디코더(300)는 엔트로피 디코딩 유닛(301), 모션 보상 유닛(302), 인트라 예측 유닛(303), 역양자화 유닛(304), 역트랜스폼 유닛(305), 및 재구성 유닛(306) 및 버퍼(buffer)(307)를 포함한다. 비디오 디코더(300)는, 몇몇의 예에서, 비디오 인코더(200)(도 5)에 대하여 기술된 인코딩 패스(pass)와 일반적으로 상호호환의(reciprocal) 디코딩 패스를 수행할 수 있다.
엔트로피 디코딩 유닛(301)는 인코딩된 비트스트림을 검색(retrieve)할 수 있다. 인코딩된 비트스트림은 엔트로피 코딩된 비디오 데이터(예를 들어, 비디오 데이터의 인코딩된 블록)을 포함할 수 있다. 엔트로피 디코딩 유닛(301)은 엔트로피 코딩된 비디오 데이터를 디코딩할 수 있고, 엔트로피 디코딩된 비디오 데이터로부터, 모션 보상 유닛 (302) 은 모션 벡터, 모션 벡터 정밀도(precision), 레퍼런스 픽처 리스트 인덱스, 및 다른 모션 정보를 포함하는 모션 정보를 결정할 수 있다. 모션 보상 유닛(302)는, 예를 들어 AMVP 및 병합(merge) 모드를 수행함으로써 이러한 정보를 결정할 수 있다.
모션 보상 유닛(302)는 보간(interpolation) 필터에 기초하여 보간(interpolation)을 수행하여 모션 보정 블록을 생성할 수 있다. 서브 픽셀 정밀도와 함께 사용될 보간 필터에 대한 식별자가 신택스 엘리먼트(elements)에 포함될 수 있다.
모션 보상 유닛(302)는, 비디오 블록을 인코딩하는 동안 비디오 인코더(200)에서 사용하는 보간 필터를 사용하여 레퍼런스 블록의 서브-정수(integer) 픽셀에 대한 보간 값을 계산할 수 있다. 모션 보상 유닛(302)는, 수신된 신택스 정보에 따라 비디오 인코더(200)에서 사용하는 보간 필터를 결정하고, 예측 블록을 생성하도록 보간 필터를 사용할 수 있다.
모션 보상 유닛(302)는, 인코딩된 비디오 시퀀스의 프레임 및/또는 슬라이스를 인코딩하는 데 사용되는 블록의 크기, 인코딩된 비디오 시퀀스의 각 매크로 블록이 파티셔닝되는 방식을 기술하는 파티션 정보, 각 파티션이 인코딩된 방법, 각 파티션이 인코딩되는 방식을 지시하는 모드, 각 인터-인코딩된 블록에 대한 하나 또는 그 이상의 레퍼런스 프레임(및 레퍼런스 프레임 리스트) 및 인코딩된 비디오 시퀀스를 디코딩하는 다른 정보들을 결정하기 위해 몇몇의 신택스 정보를 사용할 수 있다.
인트라 예측 유닛(303)는, 공간적으로 인접한(spatially adjacent) 블록으로부터 예측 블록을 형성하도록, 예를 들어 비트스트림에서 수신된 인트라 예측 모드를 사용할 수 있다. 역양자화 유닛(303)는, 비트스트림에서 제공되고 엔트로피 디코딩 유닛(301)에서 디코딩된 양자화된 비디오 블록 계수를 역양자화(예를 들어, 비-양자화(de-quantize))한다. 역트랜스폼 유닛(303)은 역트랜스폼을 적용한다.
재구성(reconstruction) 유닛(306)은, 디코딩된 블록을 형성하도록, 모션 보상 유닛(202) 또는 인트라 예측 유닛(303)에 의해 생성된 대응하는 예측 블록과 잔차 블록을 합산(sum)할 수 있다. 요구된다면, 차단 아티팩트를 제거하기 위해 디코딩된 블록을 필터링하는데 디블로킹 필터(deblocking filter)가 적용될 수 있다. 그 다음, 디코딩된 비디오 블록은 버퍼(307)에 저장되고, 이는 이후의 모션 보상/인트라 예측에 대한 레퍼런스 블록을 제공하고, 또한 디스플레이 디바이스에서 재생하기 위한 디코딩된 비디오를 생성한다.
몇몇의 실시예에 의해 선호되는 예들의 리스팅이 다음에서 제공된다.
첫 번째 조항(clause)의 세트는 이전 섹션에서 논의된 기술의 예시적인 실시예를 보여준다. 다음 조항들은 이전 섹션(예로, 항목 1)에서 논의된 기술의 예시적인 실시예를 보여준다.
1. 비디오 처리 방법(예를 들어, 도 3에 도시된 방법(3000))은, 하나 또는 그 이상의 비디오 픽처를 포함하는 하나 또는 그 이상의 비디오 레이어를 갖는 비디오와 비디오의 코딩된 표현 사이의 변환을 수행하는 단계(3002)를 포함하고, 상기 코딩된 표현은, 제2 픽처 및 상기 제2 픽처의 인트라 랜덤 액세스 포인트 픽처인 제1 비디오 픽처가 동일한 비디오 레이어에 속하도록 제약되는(constrained) 것을 지정(specify)하는 규칙에 따라 조직된다(organized).
다음의 조항들은 이전 섹션(예로, 항목 2)에서 논의된 기술들의 예시적인 실시예를 보여준다.
2. 비디오 처리 방법은, 하나 또는 그 이상의 비디오 픽처를 포함하는 하나 또는 그 이상의 비디오 레이어(layer)를 구비하는 비디오와 상기 비디오의 코딩된 표현(representation) 사이의 변환(conversion)을 수행하는 단계를 포함하고, 상기 코딩된 표현은, 인트라 랜덤 액세스 포인트인 제1 유형의 픽처를 뒤따르는 상기 코딩된 표현의 트레일링(trailing) 픽처가, 점진적 디코딩 리프레시 픽처를 포함하는 제2 유형의 픽처와도 연관되도록 허용하도록 지정하는 포멧 규칙을 따른다(conform).
3. 조항 2의 방법에서, 상기 포멧 규칙은, 각 레이어에 대해, 상기 레이어의 각 픽처가, 상기 비트스트림의 상기 레이어의 첫 번째 픽처를 제외하고, 이전 인트라 랜덤 억세스 포인트 또는 상기 동일한 레이어의 점진적 디코더 리프레시 픽처 중 디코딩 순서 상 더 가까운 어느 하나와 연관되도록 지정되는 것을 더 지정한다.
다음의 조항들은 이전 섹션(예로, 항목 3)에서 논의된 기술들의 예시적인 실시예를 보여준다.
4. 비디오 처리 방법은, 하나 또는 그 이상의 비디오 픽처를 포함하는 하나 또는 그 이상의 비디오 레이어(layer)를 구비하는 비디오와 상기 비디오의 코딩된 표현(representation) 사이의 변환(conversion)을 수행하는 단계를 포함하고, 상기 코딩된 표현은, 인트라 랜덤 액세스 포인트에 선행하는 픽처의 출력 순서에 대한 제약이 디코딩 순서에 존재하고, 이로 인해 상기 출력 순서는 동일한 비디오 레이어의 픽처들에게만 적용 가능하도록 지정하는 포멧 규칙을 따른다.
5. 조항 1의 방법에 있어서, 상기 제약은, 디코딩 순서에서, layerId와 동일한 nuh_layer_id를 갖는 인트라 랜덤 액세스 포인트 픽처에 선행하는 특정 값 layerId와 동일한 nuh_layer_id를 갖는 임의의 픽처가, 출력 순서 상 인트라 랜덤 액세스 포인트 픽처 및 모든 연관된 랜덤 액세스 디코딩 가능한 리딩 픽처에 선행하는 것이 요구된다는 것을 지정한다.
다음 조항들은 이전 섹션(예로, 항목 4)에서 논의된 기술의 예시적인 실시예를 보여준다.
6. 비디오 처리 방법은, 하나 또는 그 이상의 비디오 픽처를 포함하는 하나 또는 그 이상의 비디오 레이어를 갖는 비디오와 상기 비디오의 코딩된 표현 사이의 변환을 수행하는 단계를 포함하고, 상기 코딩된 표현은 (1) 트레일링 픽처는, 출력 순서 상 연관된 IRAP(Intra Random Access Point Picture) 또는 GDR(Gradual Decoder Refresh) 픽처를 뒤따라야 한다, 또는 (2) GDR 픽처와 동일한 레이어 id를 갖는 픽처는, 출력 순서 상 GDR 픽처 및 GDR 픽처의 모든 연된된 픽처에 선행해야 한다.
다음 조항들은 이전 섹션(예로, 항목 5)에서 논의된 기술의 예시적인 실시예를 보여준다.
7. 비디오 처리 방법은, 하나 또는 그 이상의 비디오 픽처를 포함하는 하나 또는 그 이상의 비디오 레이어를 갖는 비디오와 상기 비디오의 코딩된 표현 사이의 변환을 수행하는 단계 - 상기 변환은, 픽처, IRAP 픽처, 및 비-리딩 픽처가 동일한 레이어에 있거나 있는 경우에만, 순서 제약이 상기 픽처, 상기 인트라 랜덤 액세스 포인트(IRAP) 픽처, 및 상기 비-리딩 픽처에 적용가능하다는 규칙을 따르는 것이고, 여기서 규칙은 다음 중 하나이다:
(a) 필드 시퀀스의 값 및 디코딩 순서를 지정하는 첫 번째 규칙, 또는
(b) 레이어의 리딩 및/또는 비-리딩 픽처의 순서.
다음 조항들은 이전 섹션(예로, 항목 6)에서 논의된 기술의 예시적인 실시예를 보여준다.
8. 비디오 처리 방법은, 하나 또는 그 이상의 비디오 픽처를 포함하는 하나 또는 그 이상의 비디오 레이어를 갖는 비디오와 상기 비디오의 코딩된 표현 사이의 변환을 수행하는 단계를 포함하고, 상기 변환은 리딩 픽처, 랜덤 액세스 디코딩 가능 리딩(RADL) 픽처 및 점진적 디코딩 리프레시(GDR) 픽처와 연관된 랜덤 액세스 스킵된 리딩(RASL) 픽처의 순서를 지정하는 규칙을 따른다.
다음 조항들은 이전 섹션(예로, 항목 7)에서 논의된 기술의 예시적인 실시예를 보여준다.
9. 비디오 처리 방법은, 하나 또는 그 이상의 비디오 픽처를 포함하는 하나 또는 그 이상의 비디오 레이어를 갖는 비디오와 상기 비디오의 코딩된 표현 사이의 변환을 수행하는 단계를 포함하고, 상기 변환은, 클린(clean) 랜덤 억세스 픽처를 위한 레퍼런스 픽처 리스트에 대한 제약은 레이어로 제한되는 것을 지정하는 규칙을 따른다.
10. 조항 9의 방법에서, 상기 제약은, 클린 랜덤 액세스 픽처를 갖는 레이어에 대해, 디코딩 또는 출력 순서 상 선행하는 인트라 랜덤 액세스 포인트 픽처가 레퍼런스 픽처 리스트의 엔트리에 의해 참조되지 않는 것을 지정한다.
다음 솔루션은 이전 섹션(예로, 항목 8)에서 논의된 기술의 예시적인 실시예를 보여준다.
11. 비디오 처리 방법은, 하나 또는 그 이상의 비디오 픽처를 포함하는 하나 또는 그 이상의 비디오 레이어를 갖는 비디오와 상기 비디오의 코딩된 표현 사이의 변환을 수행하는 단계를 포함하고, 상기 변환은, 현재 픽처가 사용가능하지(unavailable) 않은 레퍼런스 픽처를 생성하기 위한 디코딩 프로세스에 의해 생성된 레퍼런스 픽처 리스트의 엔트리를 참조하도록 허용되는지의 조건을 지정하는 규칙에 따른다.
12. 조항 11의 방법에서, 상기 조건은, 현재 픽처가, 클린 랜덤 액세스와 관련된 랜덤 액세스 스킵드 리딩(RASL) 픽처, CRA, 1과 동일한 NoOutputBeforeRecoveryFlag를 갖는 픽처, 1과 동일한 NoOutputBeforeRecoveryFlag를 갖는 점진적 디코더 리프레시(GDR) 픽처, 또는 1과 동일한 NoOutputBeforeRecoveryFlag를 갖는 GDR 픽처의 복구 픽처인 것이다.
다음 조항들은 이전 섹션(예로, 항목 9, 10, 11)에서 논의된 기술의 예시적인 실시예를 보여준다.
13. 비디오 처리 방법은, 하나 또는 그 이상의 비디오 픽처를 포함하는 하나 또는 그 이상의 비디오 레이어를 갖는 비디오와 비디오의 코딩된 표현 사이의 변환을 수행하는 단계를 포함하고, 상기 변환은, 현재 픽처와 현재 픽처에 대응하는 레퍼런스 픽처 사이의 순서 규칙을 따른다.
14. 조항 13의 방법에서, 특정 값 layerID와 동일한 nuh_layer_id를 갖는 현재 픽처가, 1과 동일한 NoOutputBeforeRecoveryFlag를 갖는 클린 랜덤 억세스(CRA) 픽처, 디코딩 순서 상 1과 동일한 NoOutputBeforeRecoveryFlag를 갖는 동일한 CRA 픽처와 연관된 리딩 픽처에 선행하는 픽처, 1과 동일한 NoOutputBeforeRecoveryFlag를 갖는 CRA 픽처와 연관된 리딩 픽처, 1과 동일한 NoOutputBeforeRecoveryFlag를 갖는 GDR 픽처, 또는 1과 동일한 NoOutputBeforeRecoveryFlag 및 layerld와 동일한 nuh_layer_id를 갖는 GDR 픽처의 복구 픽처(recoverying picture)가 아닌 경우, 사용가능하지 않은 레퍼런스 픽처를 생성하기 위한 디코딩 프로세스에 의해 생성된, RefPicList[ 0 ] 또는 RefPicList[ 1 ]에서의 엔트리에 의해 참조된 픽처는 존재하지 않는다.
15. 조항 13의 방법에서, 상기 규칙은, 현재 픽처가 인트라 랜덤 억세스 포인트(IRAP) 픽처와 연관되고 출력 순서 상 IRAP 픽처를 뒤따르는 경우, 출력 순서 또는 디코딩 순서 상 연관된 IRAP 픽처에 선행하는, RefPicList[0] 또는 RefPicList[1]에서의 액티브 엔트리에 의해 참조되는 픽처는 존재하지 않는다.
16. 조항 13의 방법에서, 상기 규칙은, 현재 픽처가 인트라 랜덤 억세스 포인트(IRAP) 픽처와 연관되고 출력 순서 상 IRAP 픽처를 뒤따르며, 디코딩 순서와 출력 순서 상 동일한 IRAP 픽처와 연관된 리딩 픽처를 뒤따르는 경우, 있다면(if any), 출력 순서 또는 디코딩 순서 상 연관된 IRAP 픽처에 선행하는, RefPicList[ 0 ] 또는 RefPicList[ 1 ]에서의 엔트리에 의해 참조되는 픽처는 존재하지 않는다.
17. 조항 1 내지 16 중 어느 하나의 방법에서, 상기 변환은 상기 비디오를 상기 코딩된 표현으로 인코딩하는 단계를 포함한다.
18. 조항 1 내지 16 중 어느 하나의 방법에서, 상기 변환은 상기 비디오의 픽셀 값을 생성하도록 상기 코딩된 표현을 디코딩하는 단계를 포함한다.
19. 조항 1 내지 18 중 하나 또는 그 이상의 조항에 기재된 방법을 구현하도록 구성된 프로세서를 포함하는 비디오 디코딩 장치.
20. 조항 1 내지 18 중 하나 또는 그 이상의 조항에 기재된 방법을 구현하도록 구성된 프로세서를 포함하는 비디오 인코딩 장치.
21. 컴퓨터 코드가 저장되어 있는 컴퓨터 프로그램에 있어서, 상기 코드는, 프로세서에 의해 실행될 때, 상기 프로세서로 하여금 조항 1 내지 18 중 하나의 조항에 기재된 방법을 구현하게 하는 컴퓨터 프로그램.
22. 본 문서에 기술된 방법, 장치 및 시스템.
두 번째 조항 세트는 이전 섹션(예로, 항목 1-7)에서 논의된 기술의 예시적인 실시예를 보여준다.
1. 비디오 프로세싱 방법(예로, 도 7a에 도시된 710의 방법)은, 포맷 규칙에 따라, 하나 또는 그 이상의 비디오 픽처를 포함하는 하나 또는 그 이상의 비디오 레이어를 갖는 비디오와 상기 비디오의 비트스트림 사이의 변환을 수행하는 단계(712)를 포함하고, 상기 포맷 규칙은 제2 픽처 및 제2 픽처의 연관된 인트라 랜덤 액세스 포인트 픽처인 제 1 비디오 픽처가 동일한 비디오 레이어에 속하도록 제약되는 것을 지정한다.
2. 조항 1의 방법에서, 디코딩 순서 상 상기 제1 비디오 픽처와 상기 제2 픽처 사이에, 동일한 비디오 레이어에 점진적 디코딩 리프레시 픽처가 존재하지 않는다.
3. 조항 1의 방법에서, 상기 제1 비디오 픽처 및 상기 제2 픽처는 비디오 코딩 레이어 네트워크 추상화 레이어 유닛이 속하는 레이어의 동일한 식별자 또는 비-비디오 코딩 레이어 네트워크 추상화가 속하는 레이어의 동일한 식별자를 갖는다.
4. 조항 1-3 중 어느 하나의 방법에서, 디코딩 순서 상 상기 제1 비디오 픽처와 상기 제2 픽처 사이에, 동일한 식별자를 갖는 점진적 디코딩 리프레시 픽처가 존재하지 않는다.
5. 조항 1의 방법에서, 포맷 규칙은 트레일링 픽처가 출력 순서에서 연관된 인트라 랜덤 액세스 포인트 픽처 또는 점진적 디코딩 리프레시 픽처를 따르는 것을 추가로 지정한다.
6. 비디오 프로세싱 방법(예로, 도 7b에 도시된 720의 방법)은, 포맷 규칙에 따라 하나 또는 그 이상의 비디오 픽처를 포함하는 하나 또는 그 이상의 비디오 레이어를 갖는 비디오와 상기 비디오의 비트스트림 사이의 변환을 수행하는 단계(722)를 포함하고, 상기 포맷 규칙은, 비트스트림의 트레일링 픽처가 점진적 디코딩 리프레시 픽처와 연관되도록 허용되는 것을 지정한다.
7. 조항 6의 방법에서, 트레일링 픽처는 각각의 비디오 코딩 레이어 네트워크 추상화 레이어 유닛이 트레일 네트워크 추상화 레이어 유닛 유형을 갖는 픽처이다.
8. 조항 6 또는 7의 방법에서, 트레일링 픽처는 인트라 랜덤 액세스 포인트 픽처와 연관되도록 허용된다.
9. 조항 6-8 중 어느 하나의 방법에서, 인트라 랜덤 액세스 포인트 픽처 또는 점진적 디코딩 리프레시 픽처와 연관된 트레일링 픽처는, 디코딩 순서 상 인트라 랜덤 액세스 포인트 픽처 또는 점진적 디코딩 리프레시 픽처를 뒤따른다.
10. 조항 6-8 중 어느 하나의 방법에서, 출력 순서 상 연관된 인트라 랜덤 액세스 포인트 픽처를 뒤따르고, 디코딩 순서 상 연관된 인트라 랜덤 액세스 포인트 픽처에 선행하는 픽처는 허용되지 않는다.
11. 조항 6의 방법에서, 상기 포맷 규칙은, 각 레이어에 대해, 비트스트림의 레이어의 첫 번째 픽처를 제외한 레이어의 각 픽처가 이전의 인트라 랜덤 액세스 또는 동일 레이어의 점진적 디코더 리프레시 픽처 중 디코딩 순서 상 더 가까운 어느 하나와 연관되도록 지정되는 것을 더 지정한다.
12. 조항 6 또는 11의 방법에서, 트레일링 픽처는 출력 순서 상 연관된 인트라 랜덤 액세스 포인트 또는 점진적 디코더 리프레시 픽처를 뒤따르도록 요구된다.
13. 비디오 처리 방법(예로, 도 7c에 도시된 730의 방법)은, 포맷 규칙에 따라 하나 또는 그 이상의 비디오 픽처를 포함하는 하나 또는 그 이상의 비디오 레이어를 갖는 비디오와 상기 비디오의 비트스트림 사이의 변환을 수행하는 단계(732)를 포함하고, 상기 포맷 규칙은, 디코딩 순서 상 인트라 랜덤 액세스 포인트에 선행하는 픽처들의 출력 순서에 대한 제약이, 동일한 비디오 레이어의 픽처들에 적용가능함을 지정한다.
14. 조항 13의 방법에서, 상기 제약은, 특정 값과 동일한 NAL(네트워크 추상화 레이어) 유닛 헤더 레이어 식별자를 갖고, 디코딩 순서 상 특정 값과 동일한 NAL 유닛 헤더 레이어 식별자를 갖는 인트라 랜덤 억세스 포인트 픽처에 선행하는 임의의 픽처는, 출력 순서 상 인트라 랜덤 액세스 포인트 픽처 및 모든 연관된 랜덤 액세스 디코딩 가능한 리딩 픽처보다 선행하는 것이 요구된다는 것을 지정한다.
15. 조항 14의 방법에서, NAL(네트워크 추상화 레이어) 유닛 헤더 레이어 식별자는 nuh_layer_id이다.
16. 조항 14의 방법에서, NAL(네트워크 추상화 레이어) 유닛 헤더 레이어 식별자는, 비디오 코딩 레이어 네트워크 추상화 레이어 유닛이 속한 레이어의 식별자 또는 비-비디오 코딩 레이어 네트워크 추상화 레이어 유닛이 적용되는 레이어의 식별자를 지정한다.
17. 비디오 처리 방법(예로, 도 7d에 도시된 740의 방법)은, 포맷 규칙에 따라 하나 또는 그 이상의 비디오 픽처를 포함하는 하나 또는 그 이상의 비디오 레이어를 갖는 비디오와 상기 비디오의 비트스트림 사이의 변환을 수행하는 단계(742)를 포함하고, 상기 포맷 규칙은, (1) 트레일링 픽처가 출력 순서 상, 연관된 인트라 랜덤 액세스 포인트 픽처 또는 점진적 디코더 리프레시 픽처를 뒤따르고, 또는 (2) 점진적 디코더 리프레시 픽처의 식별자와 동일한 NAL(네트워크 추상화 레이어) 유닛 헤더 레이어 식별자를 갖는 픽처느느, 출력 순서 상, 점진적 디코더 리프레시 픽처 및 점진적 디코더 리프레시 픽처의 모든 연관된 픽처에 선행하는 것을 지정한다.
18. 비디오 처리 방법(예로, 도 7e에 도시된 750의 방법)은, 규칙에 따라, 하나 또는 그 이상의 비디오 픽처를 포함하는 하나 또는 그 이상의 비디오 레이어(layer)를 구비하는 비디오와 상기 비디오의 비트스트림 사이의 변환(conversion)을 수행하는 단계를 포함하고, 상기 규칙은, 픽처, 인트라 랜덤 억세스 포인트 픽처, 및 비-리딩(non-leading) 픽처가 모두 동일한 레이어에 있거나 있는 경우에만, 상기 인트라 랜덤 억세스 포인트 및 상기 비-리딩 픽처와 연관된 픽처의 디코딩 순서에 대한 제약을 적용하도록 지정한다.
19. 조항 18의 방법에서, 상기 제약은, 필드 시퀀스 플래그의 값이 0이고 특정(particular) 값과 동일한 NAL(네트워크 추상화 레이어) 유닛 헤더 레이어 식별자를 갖는 픽처가 상기 인트라 랜덤 억세스 포인트 픽처와 연관된 연관된 리딩 픽처인 경우, 상기 픽처는, 디코딩 순서 상, 상기 인트라 랜덤 액세스 포인트 픽처와 연관된 모든 비-리딩 픽처에 선행하도록 지정한다.
20. 조항 20의 방법에서, 0과 동일한 상기 필드 시퀀스 플래그의 상기 값은, 코딩된 레이어 비디오 시퀀스가 프레임을 표현(represent)하는 픽처를 전달(convey)하는 것을 표시(indicate)한다.
21. 조항 18의 방법에서, 상기 제약은, 필드 시퀀스 플래그의 값이 0이고 상기 픽처가 인트라 랜덤 액세스 포인트 픽처와 연관된 리딩 픽처인 경우, 상기 픽처는, 디코딩 순서 상, 상기 인트라 랜덤 액세스 포인트 픽처와 관련된 모든 비-리딩 픽처에 선행하도록 지정한다.
22. 비디오 처리 방법(예로, 도 7f에 도시된 760의 방법)은, 규칙에 따라, 하나 또는 그 이상의 비디오 픽처를 포함하는 하나 또는 그 이상의 비디오 레이어(layer)를 구비하는 비디오와 상기 비디오의 비트스트림 사이의 변환(conversion)을 수행하는 단계(762)를 포함하고, 상기 규칙은, 점신적 디코딩 리프레시 픽처와 연관된, 리딩(leading) 픽처, 랜덤 억세스 디코더블(decodable) 리딩 픽처, 및 랜덤 억세스 스킵된(skipped) 리딩 픽처의 순서를 지정한다.
23. 조항 22의 방법에서, 상기 점진적 디코딩 리프레시 픽처와 연관된 상기 리딩 픽처는, 디코딩 순서 상, 상기 점진적 디코딩 리프레시 픽처를 뒤따르고, 출력 순서 상 상기 점진적 디코딩 리프레시 픽처에 선행한다.
24. 조항 22의 방법에서, 상기 점진적 디코딩 리프레시 픽처와 연관된 상기 랜덤 액세스 디코더블 리딩 픽처는, 상기 점진적 디코딩 리프레시 픽처와 연관된 상기 리딩 픽처이고, 상기 랜덤 액세스 디코더블 리딩 픽처의 코딩된 슬라이스(coded slice)에 대응하는 NAL(네트워크 추상화 레이어) 유닛 유형(type)을 갖는다.
25. 조항 22의 방법에서, 상기 점진적 디코딩 리프레시 픽처와 연관된 상기 랜덤 액세스 디코더블 리딩 픽처는, 상기 점진적 디코딩 리프레시 픽처와 연관된 상기 리딩 픽처이고, 상기 랜덤 액세스 디코더블 리딩 픽처의 코딩된 슬라이스(coded slice)에 대응하는 NAL(네트워크 추상화 레이어) 유닛 유형(type)을 갖는다.
26. 비디오 처리 방법(예로, 도 7g에 도시된 770의 방법)은, 규칙에 따라, 하나 또는 그 이상의 비디오 픽처를 포함하는 하나 또는 그 이상의 비디오 레이어(layer)를 구비하는 비디오와 상기 비디오의 비트스트림 사이의 변환(conversion)을 수행하는 단계(772)를 포함하고, 상기 규칙은, 클린(clean) 랜덤 액세스 픽처의 슬라이스(slice)의 레퍼런스(reference) 픽처 리스트(list)에 대한 제약이 레이어로 제한되도록 지정한다.
27. 조항 26의 방법에서, 상기 제약은, 상기 클린 랜덤 액세스 픽처를 갖는 레이어에 대해, 디코딩 또는 출력 순서 상 선행하는 인트라 랜덤 액세스 포인트 픽처가 상기 레퍼런스 픽처 리스트 내 엔트리에 의해 참조(refer)되지 않도록 지정한다.
28. 조항 1 내지 27 중 어느 하나에서, 상기 변환을 수행하는 단계는, 상기 비디오를 상기 비트스트림으로 인코딩하는 단계를 포함한다.
29. 조항 1 내지 27 중 어느 하나에서, 상기 변환을 수행하는 단계는, 상기 비트스트림으로부터 상기 비디오를 디코딩하는 단계를 포함한다.
30. 조항 1 내지 27 중 어느 하나에서, 상기 변환을 수행하는 단계는, 상기 비디오로부터 상기 비트스트림을 생성하는 단계를 포함하고, 상기 방법은, 상기 비트스트림을 비일시적(non-transitory) 컴퓨터 판독 가능 기록 매체에 저장하는 단계를 더 포함한다.
31. 조항 1 내지 30 중 어느 하나의 방법을 구현하도록 구성된 프로세서를 포함하는 비디오 처리 장치.
32. 조항 1 내지 30 중 어느 하나의 방법을 포함하고, 상기 비트스트림을 비일시적 컴퓨터 판독가능 기록매체에 저장하는 단계를 더 포함하는, 비디오의 비트스트림 저장 방법.
33. 컴퓨터 판독가능 기록매체에서, 실행될 때 프로세서로 하여금 조항 1 내지 30 중 하나 또는 그 이상에 기재된 방법을 구현하도록 하는 프로그램 코드를 저장하는, 컴퓨터 판독 가능 매체.
34. 전술한 방법 중 어느 하나에 따라 생성된 비트스트림을 저장하는, 컴퓨터 판독가능 매체.
35. 비트스트림 표현(representation)을 저장하기 위한 비디오 처리 장치는, 조항 1 내지 30 중 하나 또는 그 이상에 기재된 방법을 구현하도록 구성된다.
조항들의 세 번째 세트는 이전 섹션(예를 들어, 항목 8 및 9)에서 논의된 기술의 예시적인 실시예를 보여준다.
1. 비디오 처리 방법(예로, 도 8a에 도시된 810의 방법)은, 규칙에 따라, 하나 또는 그 이상의 비디오 픽처를 포함하는 하나 또는 그 이상의 비디오 레이어를 갖는 비디오와 상기 비디오의 비트스트림 사이의 변환을 수행하는 단계(810)를 포함하고, 상기 규칙은, 사용가능하지 않은 레퍼런스 픽처를 생성하기 위한 디코딩 프로세스에 의해 생성된 픽처는, 현재 픽처의 현재 슬라이스의 레퍼런스 픽처 리스트의 액티브 엔트리에 의해 참조되지 않는 조건을 지정한다.
2. 조항 1의 방법에서, 상기 액티브 엔트리는 상기 현재 픽처의 인터 예측에서 레퍼런스 인덱스로서 이용되는데 사용가능한(available) 엔트리에 대응한다.
3. 조항 1의 방법에서, 상기 조건은, 특정 값과 동일한 네트워크 추상화 레이어(NAL) 유닛 헤더 레이어 식별자를 갖는 현재 픽처가, 1과 동일한 복구 전 출력 없음을 나타내는 변수를 갖는 클린 랜덤 액세스 픽처와 연관된 랜덤 액세스 스킵된 리딩 픽처, 1과 동일한 변수를 갖는 점진적 디코더 리프레시 픽처, 또는 1과 동일한 변수 및 특정 값과 동일한 NAL 유닛 헤더 레이어 식별자를 갖는 점진적 디코더 리프레시 픽처의 복구 픽처가 아닌 것이다.
4. 비디오 처리 방법(예로, 도 8b에 도시된 820의 방법)은, 규칙에 따라, 하나 또는 그 이상의 비디오 픽처를 포함하는 하나 또는 그 이상의 비디오 레이어를 갖는 비디오와 상기 비디오의 비트스트림 사이의 변환을 수행하는 단계(822)를 포함하고, 상기 규칙은, 사용가능하지 않은 레퍼런스 픽처를 생성하기 위한 디코딩 프로세스에 의해 생성된 픽처는, 현재 픽처의 현재 슬라이스의 레퍼런스 픽처 리스트의 엔트리에 의해 참조되지 않는 조건을 지정한다.
5. 조항 4의 방법에서, 상기 조건은 특정 값과 동일한 NAL(네트워크 추상화 레이어) 유닛 헤더 레이어 식별자를 갖는 현재 픽처는, 1과 동일한 복구 전 출력 없음을 나타내는 변수를 갖는 클린 랜덤 액세스 픽처, 1과 동일한 변수를 갖는 클린 랜덤 액세스 픽처와 연관된 리딩 픽처에 디코딩 순서 상 선행하는 픽처, 1과 동일한 변수 및 특정 값과 동일한 NAL 유닛 헤더 레이어 식별자를 갖는 점진적 디코더 리프레시 픽처가 아닌 것이다.
6. 조항 1 내지 5 중 어느 하나의 방법에서, 상기 변환은 상기 비디오를 상기 비트스트림으로 인코딩하는 단계를 포함한다.
7. 조항 1 내지 5 중 어느 하나의 방법에서, 상기 변환은 상기 비트스트림으로부터 상기 비디오를 디코딩하는 단계를 포함한다.
8. 조항 1 내지 5 중 어느 하나의 방법에서, 상기 변환은, 상기 비디오로부터 상기 비트스트림을 생성하는 단계를 포함하고, 상기 방법은, 상기 비트스트림을 비일시적 컴퓨터 판독가능 기록 매체에 저장하는 단계를 더 포함한다.
9. 조항 1 내지 8 중 어느 하나 또는 그 이상에 기재된 방법을 구현하도록 구성된 프로세서를 포함하는 비디오 처리 장치.
10. 조항 1 내지 8 중 어느 하나에 기재된 방법을 포함하고, 상기 비트스트림을 컴퓨터로 읽을 수 있는 비일시적 기록매체에 저장하는 단계를 더 포함한다.
11. 실행될 때 프로세서로 하여금 조항 1 내지 8 중 어느 하나 또는 그 이상에 기재된 방법을 구현하게 하는 프로그램 코드를 저장하는 컴퓨터 판독 가능 매체.
12. 전술한 방법 중 어느 하나에 따라 생성된 비트스트림을 저장하는 컴퓨터 판독 가능 매체.
13. 비트스트림 표현을 저장하기 위한 비디오 처리 장치에 있어서, 상기 비디오 처리 장치는 조항 1 내지 12 중 어느 하나 또는 그 이상에 기재된 방법을 구현하도록 구성된다.
조항들의 네 번째 세트는 이전 섹션(예로, 항목 10 및 11)에서 논의된 기술의 예시적인 실시예를 보여준다.
1. 비디오 처리 방법(예로, 도 9a에 도시된 910의 방법)은, 규칙에 따라, 현재 슬라이스를 포함하는 현재 픽처를 포함하는 하나 또는 그 이상의 비디오 레이어를 갖는 비디오와 상기 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하고, 상기 규칙은, 상기 현재 슬라이스에 대한 레퍼런스 픽처 리스트가, 상기 현재 픽처와 연관된 인트라 랜덤 액세스 포인트 픽처에 디코딩 순서 또는 출력 순서 상 선행하는 픽처를 참조하는 액티브 엔트리를 갖는 것이 허용되지 않는 조건을 지정한다.
2. 조항 1의 방법에서, 상기 액티브 엔트리는 상기 현재 픽처의 인터 예측에서 레퍼런스 인덱스로서 이용되는 데 사용가능한 엔트리에 대응한다.
3. 조항 1 또는 2의 방법에서, 상기 규칙은, 상기 현재 픽처의 상기 레퍼런스 픽처 리스트가, 상기 현재 픽처와 연관된 상기 인트라 랜덤 억세스 포인트 픽처에 디코딩 순서 상 선행하는 상기 픽처를 참조하는 상기 액티브 엔트리를 갖는 것이 허용되지 않는 조건을 지정한다.
4. 조항 1 내지 3 중 어느 하나의 방법에서, 상기 규칙은, 상기 현재 픽처에 대한 상기 레퍼런스 픽처 리스트가, 상기 현재 픽처와 연관된 인트라 랜덤 액세스 포인트 픽처에 출력 순서 상 선행하는 상기 픽처를 참조하는 상기 액티브 엔트리를 갖는 것이 허용되지 않는 조건을 지정한다.
5. 조항 1 내지 4 중 어느 하나의 방법에서, 상기 조건은, 상기 현재 픽처가 상기 인트라 랜덤 액세스 포인트 픽처와 연관되고, 디코딩 순서 및/또는 출력 순서 상 인트라 랜덤 액세스 포인트 픽처를 뒤따르는 것이다.
6. 조항 1 내지 4 중 어느 하나의 방법에서, 상기 조건은, 상기 현재 픽처가, 비디오 코딩 레이어 네트워크 추상화 레이어 유닛이 속한 상기 레이어의 식별자 또는 비-비디오 코딩 레이어 네트워크 추상화 레이어 유닛이 적용되는 레이어의 식별자와 동일한 값을 갖는 상기 인트라 랜덤 억세스 포인트 픽처를 디코딩 순서 및/또는 출력 순서 상 뒤따르는 것이다.
7. 비디오 처리 방법(예로, 도 9b에 도시된 920의 방법)은, 규칙에 따라, 현재 슬라이스를 포함하는 현재 픽처를 포함하는 하나 또는 그 이상의 비디오 레이어를 갖는 비디오와 상기 비디오의 비트스트림 사이의 변환을 수행하는 단계(922)를 포함하고, 상기 규칙은, 상기 현재 슬라이스에 대한 레퍼런스 픽처 리스트가, 상기 현재 픽처와 연관된 인트라 랜덤 억세스 포인트 픽처에 디코딩 순서 또는 출력 순서 상 선행하는 픽처를 참조하는 엔트리를 갖는 것이 허용되지 않는 조건을 지정한다.
8. 조항 7항의 방법에서, 상기 규칙은, 상기 현재 픽처에 대한 상기 레퍼런스 픽처 리스트가, 상기 현재 픽처와 연관된 상기 인트라 랜덤 액세스 포인트 픽처에 디코딩 순서 상 선행하는 상기 픽처를 참조하는 상기 엔트리를 갖는 것이 허용되지 않는 조건을 지정한다.
9. 조항 7 또는 8의 방법에서, 상기 규칙은, 상기 현재 픽처에 대한 상기 레퍼런스 픽처 리스트가, 상기 현재 픽처와 연관된 상기 인트라 랜덤 액세스 포인트 픽처에 출력 순서 상 선행하는 상기 픽처를 참조하는 상기 엔트리를 갖는 것이 허용되지 않는 조건을 지정한다.
10. 조항 7 내지 9 중 어느 하나의 방법에서, 상기 인트라 랜덤 액세스 포인트 픽처는 0 또는 그 이상의 리딩 픽처와 연관되고, 상기 조건은, 상기 현재 픽처가 상기 인트라 랜덤 액세스 포인트 픽처와 연관되고, 상기 인트라 랜덤 억세스 포인트 픽처를 디코딩 및/또는 출력 순서 상 뒤따르며, 및 상기 인트라 랜덤 억세스 포인트 픽처와 연관된 상기 0 또는 그 이상의 리딩 픽처를 디코딩 및 출력 순서 모두에서 뒤따르는 것이다.
11. 조항 7 내지 9 중 어느 하나의 방법에서, 상기 인트라 랜덤 액세스 포인트 픽처는 0 또는 그 이상의 리딩 픽처와 연관되고, 상기 조건은, 상기 현재 픽처가, 비디오 코딩 레이어 네트워크 추상화 레이어 유닛이 속한 상기 레이어의 식별자 또는 비-비디오 코딩 레이어 네트워크 추상화 레이어 유닛이 적용되는 레이어의 식별자와 동일한 값을 갖는 상기 인트라 랜덤 억세스 포인트 픽처 및 상기 0 또는 그 이상의 리딩 픽처를 디코딩 및/또는 출력 순서 상 뒤따르는 것이다.
12. 조항 1 내지 11 중 어느 하나의 방법에서, 상기 변환은 상기 비디오를 상기 비트스트림으로 인코딩하는 단계를 포함한다.
13. 조항 1 내지 11 중 어느 하나의 방법에서, 상기 변환은 상기 비트스트림으로부터 상기 비디오를 디코딩하는 단계를 포함한다.
14. 조항 1 내지 11 중 어느 하나의 방법에서, 상기 변환은, 상기 비디오로부터 상기 비트스트림을 생성하는 단계를 포함하고, 상기 방법은, 상기 비트스트림을 비일시적 컴퓨터 판독 가능 기록 매체에 저장하는 단계를 더 포함한다.
15. 조항 1 내지 14 중 어느 하나 또는 그 이상에 기재된 방법을 구현하도록 구성된 프로세서를 포함하는 비디오 처리 장치.
16. 조항 1 내지 14 중 어느 하나에 기재된 방법을 포함하고, 상기 비트스트림을 컴퓨터로 읽을 수 있는 비일시적 기록매체에 저장하는 단계를 더 포함하는 비디오의 비트스트림 저장 방법.
17. 실행될 때 프로세서로 하여금 조항 1 내지 14 중 어느 하나 또는 그 이상에 기재된 방법을 구현하도록 하는 프로그램 코드를 저장하는 컴퓨터 판독 가능 매체.
18. 전술한 방법 중 어느 하나에 따라 생성된 코딩된 표현 또는 비트스트림을 저장하는 컴퓨터 판독 가능 매체.
19. 비트스트림을 저장하기 위한 비디오 처리 장치에서, 상기 비디오 처리 장치는 조항 1 내지 14 중 어느 하나 또는 그 이상에 기재된 방법을 구현하도록 구성된다.
본 문서에서 "비디오 처리(video processing)"라는 용어는 비디오 인코딩, 비디오 디코딩, 비디오 압축 또는 비디오 압축 해제(decompression)를 의미할 수 있다. 예를 들어, 비디오 압축 알고리즘은 비디오의 픽셀 표현으로부터 대응하는 비트스트림 표현으로, 또는 그 반대(vice versa)의 변환 동안 적용될 수 있다. 현재 비디오 블록의 비트스트림 표현은, 예를 들어, 신택스에 의해 정의된 바와 같이 비트스트림의 다른 위치들에 함께 배치(co-located)되거나 확산(spread)되는 비트들에 대응할 수 있다. 예를 들어, 매크로블록(macroblock)은 트랜스폼 및 코딩된 오류 잔차 값의 관점에서 인코딩될 수 있고, 그리고 또한 비트스트림의 헤더 및 기타 필드에 비트를 사용할 수 있다. 또한, 변환(conversion) 동안, 디코더는 위의 솔루션에서 설명된 바와 같이 결정에 기초하여 일부 필드들이 존재하거나 없을 수 있다는 지식으로 비트스트림을 파싱(parse)할 수 있다. 유사하게, 인코더는 어떠한(certain) 신택스 필드가 포함되는지 여부를 결정할 수 있고, 이에 따라 코딩된 표현으로부터 신택스 필드를 포함하거나 또는 제외함으로써 코딩된 표현을 생성할 수 있다.
본 문서에 기재된 개시 및 기타 솔루션, 예, 실시예, 모듈 및 기능적 동작(operation)은, 이 문서 및 그 구조적 등가물에 개시된 구조들 또는 이들의 하나 또는 그 이상의 조합을 포함하여, 디지털 전자 회로, 또는 컴퓨터 소프트웨어, 펌웨어 또는 하드웨어에서 구현될 수 있다. 개시된 및 기타 실시예는, 하나 또는 그 이상의 컴퓨터 프로그램 제품으로 구현될 수 있고, 즉, 컴퓨터 프로그램 명령어(instructions)의 하나 또는 그 이상의 모듈을 컴퓨터 판독 가능한 매체에 인코딩 하여 실행하거나, 데이터 처리 장치의 동작을 제어할 수 있다. 컴퓨터 판독 가능 매체는, 기계 판독 가능 저장 장치, 기계 판독 가능 저장 기판, 메모리 장치, 기계 판독 가능 전파 신호에 영향을 미치는 물질의 조성 또는 하나 또는 그 이상의 조합일 수 있다. 용어 "데이터 처리 장치"는 예를 들어, 프로그래밍 가능한 프로세서, 컴퓨터 또는 다중 프로세서 또는 컴퓨터를 포함하여 데이터를 처리하기 위한 모든 장치, 장치 및 컴퓨터를 포함한다. 장치는, 하드웨어는 물론, 해당(in question) 컴퓨터 프로그램에 대한 실행 환경을 생성하는 코드, 예를 들어 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 체제, 또는 이들 중 하나 또는 그 이상의 조합을 구성하는 코드를 포함할 수 있다. 전파된(propagated) 신호는 인공적으로(artificially) 생성된 신호, 예를 들어, 기계에서 생성된 전기, 광학 또는 전자기 신호이고, 이는 적합한 수신기 장치로 전송하기 위한 정보를 인코딩 하기 위해 생성된다.
컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 애플리케이션, 스크립트 또는 코드라고도 알려져 있음)은 컴파일 또는 해석된 언어를 비롯한 모든 형태의 프로그래밍 언어로 작성할 수 있고, 독립 실행형 프로그램 또는 컴퓨팅 환경에서 사용하기에 적합한 모듈, 컴포넌트, 서브루틴 또는 기타 유닛으로 모든 형태로 배포될 수 있다. 컴퓨터 프로그램이 파일 시스템의 파일에 반드시 대응하는 것은 아니다. 프로그램은 다른 프로그램이나 데이터(예를 들어, 마크업 언어 문서에 저장된 하나 또는 그 이상의 스크립트)를 보유하는 파일의 부분에 저장될 수 있고, 해당 프로그램의 전용 단일 파일 내 또는 다수의 조정된(coordinated) 파일들(예를 들어, 하나 또는 그 이상의 모듈, 서브 프로그램 또는 코드 일부를 저장하는 파일) 내에 저장될 수 있다. 컴퓨터 프로그램은 한 컴퓨터 또는 한 사이트에 위치하거나, 여러 사이트에 분산되고 통신 네트워크에 의해 상호 연결된 여러 컴퓨터에서 실행되도록 배포될 수 있다.
이 문서에 설명된 프로세스 및 논리 흐름은, 하나 또는 그 이상의 프로그래밍 가능한 프로세서가 하나 또는 그 이상의 프로그래밍 가능한 프로세서에서 수행하여 입력 데이터에서 동작하고 출력을 생성하여 기능을 수행할 수 있다. 프로세스 및 로직 흐름도 수행될 수 있으며, 장치는 특수 목적 논리 회로, 예를 들어, FPGA(필드 프로그래밍 가능한 게이트 어레이) 또는 ASIC(애플리케이션 별 집적 회로)로 구현될 수 있다.
컴퓨터 프로그램의 실행에 적합한 프로세서는, 예를 들어, 일반 및 특수 목적 마이크로프로세서와 모든 종류의 디지털 컴퓨터의 하나 또는 그 이상의 프로세서를 포함한다. 일반적으로, 프로세서는 읽기 전용 메모리 또는 랜덤 액세스 메모리 또는 모두로부터 명령어와 데이터를 수신한다. 컴퓨터의 필수 요소는, 명령어를 실행하기 위한 프로세서와, 명령어와 데이터를 저장하기 위한 하나 또는 그 이상의 메모리 디바이스이다. 일반적으로, 컴퓨터는 또한 데이터를 저장하기 위한 하나 또는 그 이상의 대용량 저장 장치, 예를 들어, 자기, 광자기 디스크, 또는 광 디스크를 포함하거나, 이들로부터 데이터를 수신하거나 이들로 데이터를 전송하거나 이 모두를 수행하도록 동작 가능하게 연결된다. 그러나, 컴퓨터는 이러한 디바이스들이 필요 없다. 컴퓨터 프로그램 지침 및 데이터를 저장하는 데 적합한 컴퓨터 판독 가능 미디어에는 반도체 메모리 장치, 예를 들어, EPROM, EEPROM 및 플래시 메모리 장치, 자기 디스크, 예를 들어, 내부 하드 디스크 또는 이동식 디스크; 마그네토 광학 디스크; 및 CD ROM 및 DVD-ROM 디스크를 비롯한 모든 형태의 비휘발성 메모리, 미디어 및 메모리 장치가 포함된다. 프로세서와 메모리는 특수 목적 논리 회로에 의해 보충되거나 통합될 수 있다.
이 특허 문서에는 많은 세부 사항(specifics)이 포함되어 있지만, 이는 어떤 주제의 범위나 청구될 수 있는 것에 대한 제한으로 해석되어서는 안 되고, 더욱이 특정 기술의 특정 구현예에 특정할 수 있는 특징에 대한 설명으로 해석되어서는 안 된다. 이 특허 문서에 기재된 어떠한 특징은 별도의 실시예의 맥락에서 또한 단일 실시예에서 조합하여 구현될 수 있다. 역으로, 단일 실시예의 맥락에서 설명된 다양한 특징은 또한 개별적으로 또는 임의의 적절한 하위 조합으로 다수의 실시예에서 구현될 수 있다. 더욱이, 위에서는 특징들이 어떠한 조합으로 동작하고, 심지어 초기에는 그 자체로 클레임되는 것으로 기술되어 있을 수 있지만, 클레임된 조합으로부터 하나 또는 그 이상의 특징들은 몇몇 경우에서 조합으로부터 빠질 수 있고, 클레임된 조합들은 서브 조합 또는 서브 조합들의 변형예에 관한 것일 수 있다.
마찬가지로, 동작은 특정 순서에서 도면에 묘사되어 있지만, 바람직한 결과를 달성하기 위하여, 이러한 동작이 표시된 특정 순서 또는 순차적인 순서에서 수행되거나, 모든 예시된 동작들이 수행되는 것을 요구하는 것으로 이해되어서는 안 된다. 더욱이, 본 특허 문서에 기재된 실시예들에서, 다양한 시스템 컴포넌트들의 분리가 모든 실시예들에서 이러한 분리를 요구하는 것으로 이해되어서는 안 된다.
단지 몇 가지 구현 및 예제만 설명되며, 이 특허 문서에서 기술되고 예시되는 내용에 기초하여 다른 구현들, 개선 및 변형들을 만들 수 있다.

Claims (13)

  1. 비디오 처리 방법에 있어서,
    규칙에 따라, 하나 또는 그 이상의 비디오 픽처를 포함하는 하나 또는 그 이상의 비디오 레이어를 갖는 비디오와 상기 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하고,
    상기 규칙은, 사용가능하지 않은(unavailable) 레퍼런스 픽처를 생성하기 위한 디코딩 프로세스에 의해 생성된 픽처는, 현재 픽처의 현재 슬라이스의 레퍼런스 픽처 리스트의 액티브 엔트리에 의해 참조되지 않는 조건을 지정하는(specify),
    비디오 처리 방법.
  2. 제1항에 있어서,
    상기 액티브 엔트리는 상기 현재 픽처의 인터 예측에서 레퍼런스 인덱스로서 이용되는데 사용가능한(available) 엔트리에 대응하는,
    비디오 처리 방법.
  3. 제1항에 있어서,
    상기 조건은, 특정 값과 동일한 네트워크 추상화 레이어(NAL) 유닛 헤더 레이어 식별자를 갖는 상기 현재 픽처가, 1과 동일한 복구 전 출력 없음(no output before recovery)을 나타내는 변수를 갖는 클린 랜덤 액세스 픽처와 연관된 랜덤 액세스 스킵된 리딩 픽처, 1과 동일한 상기 변수를 갖는 점진적 디코더 리프레시 픽처, 또는 1과 동일한 상기 변수 및 상기 특정 값과 동일한 NAL 유닛 헤더 레이어 식별자를 갖는 점진적 디코더 리프레시 픽처의 복구 픽처가 아닌 것인,
    비디오 처리 방법.
  4. 비디오 처리 방법에 있어서,
    규칙에 따라, 하나 또는 그 이상의 비디오 픽처를 포함하는 하나 또는 그 이상의 비디오 레이어를 갖는 비디오와 상기 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하고,
    상기 규칙은, 사용가능하지 않은 레퍼런스 픽처를 생성하기 위한 디코딩 프로세스에 의해 생성된 픽처는, 현재 픽처의 현재 슬라이스의 레퍼런스 픽처 리스트의 엔트리에 의해 참조되지 않는 조건을 지정하는,
    비디오 처리 방법.
  5. 제4항에 있어서,
    상기 조건은, 특정 값과 동일한 NAL(네트워크 추상화 레이어) 유닛 헤더 레이어 식별자를 갖는 상기 현재 픽처는, 1과 동일한 복구 전 출력 없음을 나타내는 변수를 갖는 클린 랜덤 액세스 픽처, 1과 동일한 상기 변수를 갖는 클린 랜덤 액세스 픽처와 연관된 리딩 픽처에 디코딩 순서 상 선행하는 픽처, 1과 동일한 상기 변수 및 상기 특정 값과 동일한 NAL 유닛 헤더 레이어 식별자를 갖는 점진적 디코더 리프레시 픽처가 아닌 것인,
    비디오 처리 방법.
  6. 제1항 내지 제5항 중 어느 하나의 항에 있어서,
    상기 변환은 상기 비디오를 상기 비트스트림으로 인코딩하는 단계를 포함하는,
    비디오 처리 방법.
  7. 제1항 내지 제5항 중 어느 하나의 항에 있어서,
    상기 변환은 상기 비트스트림으로부터 상기 비디오를 디코딩하는 단계를 포함하는,
    비디오 처리 방법.
  8. 제1항 내지 제5항 중 어느 하나의 항에 있어서,
    상기 변환은, 상기 비디오로부터 상기 비트스트림을 생성하는 단계를 포함하고,
    상기 방법은, 상기 비트스트림을 비일시적 컴퓨터 판독가능 기록 매체에 저장하는 단계를 더 포함하는,
    비디오 처리 방법.
  9. 제1항 내지 제8항 중 어느 하나 또는 그 이상의 항에 기재된 방법을 구현하도록 구성된 프로세서를 포함하는 비디오 처리 장치.
  10. 비디오의 비트스트림을 저장하는 방법에 있어서,
    제1항 내지 제8항 중 어느 하나에 기재된 방법을 포함하고,
    상기 비트스트림을 컴퓨터로 읽을 수 있는 비일시적 기록매체에 저장하는 단계를 더 포함하는,
    비디오의 비트스트림을 저장하는 방법.
  11. 컴퓨터 판독 가능 기록매체에 있어서,
    실행될 때, 프로세서로 하여금 제1항 내지 제8항 중 어느 하나 또는 그 이상의 항에 기재된 방법을 구현하게 하는 프로그램 코드를 저장하는,
    컴퓨터 판독 가능 기록매체.
  12. 전술한 방법 중 어느 하나에 따라 생성된 비트스트림을 저장하는 컴퓨터 판독 가능 매체.
  13. 비트스트림 표현을 저장하기 위한 비디오 처리 장치에 있어서,
    상기 비디오 처리 장치는 제1항 내지 제12항 중 어느 하나 또는 그 이상의 항에 기재된 방법을 구현하도록 구성되는,
    비디오 처리 장치.
KR1020227031033A 2020-03-19 2021-03-16 레퍼런스 픽처 리스트 엔트리에 대한 제약들 KR20220156827A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202062992046P 2020-03-19 2020-03-19
US62/992,046 2020-03-19
PCT/US2021/022576 WO2021188548A1 (en) 2020-03-19 2021-03-16 Constraints on reference picture lists entries

Publications (1)

Publication Number Publication Date
KR20220156827A true KR20220156827A (ko) 2022-11-28

Family

ID=77768263

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020227031033A KR20220156827A (ko) 2020-03-19 2021-03-16 레퍼런스 픽처 리스트 엔트리에 대한 제약들
KR1020227031035A KR20220156828A (ko) 2020-03-19 2021-03-16 레퍼런스 픽처 순서에 대한 제약들
KR1020227031032A KR20220155290A (ko) 2020-03-19 2021-03-16 픽처 코딩을 위한 인트라 랜덤 액세스 포인트

Family Applications After (2)

Application Number Title Priority Date Filing Date
KR1020227031035A KR20220156828A (ko) 2020-03-19 2021-03-16 레퍼런스 픽처 순서에 대한 제약들
KR1020227031032A KR20220155290A (ko) 2020-03-19 2021-03-16 픽처 코딩을 위한 인트라 랜덤 액세스 포인트

Country Status (8)

Country Link
US (4) US11818337B2 (ko)
EP (3) EP4107958A4 (ko)
JP (3) JP2023518751A (ko)
KR (3) KR20220156827A (ko)
CN (3) CN115299043A (ko)
BR (1) BR112022018206A2 (ko)
MX (1) MX2022011361A (ko)
WO (3) WO2021188544A2 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11825073B2 (en) * 2020-03-20 2023-11-21 Qualcomm Incorporated High level syntax for video with mixed NAL unit types
WO2021194211A1 (ko) * 2020-03-23 2021-09-30 엘지전자 주식회사 혼성 nal 유닛 타입에 기반하는 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장하는 기록 매체

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140010192A (ko) 2010-04-09 2014-01-23 미쓰비시덴키 가부시키가이샤 화상 부호화 장치
US9210430B2 (en) * 2012-01-19 2015-12-08 Sharp Kabushiki Kaisha Reference picture set signaling and restriction on an electronic device
US9591303B2 (en) 2012-06-28 2017-03-07 Qualcomm Incorporated Random access and signaling of long-term reference pictures in video coding
US9860529B2 (en) * 2013-07-16 2018-01-02 Qualcomm Incorporated Processing illumination compensation for video coding
EP3058747B1 (en) * 2013-10-15 2019-11-20 Nokia Technologies Oy Scalable video encoding and decoding using syntax element
CN106416250B (zh) * 2013-12-02 2020-12-04 诺基亚技术有限公司 视频编码和解码
US20170171563A1 (en) 2014-02-24 2017-06-15 Sharp Kabushiki Kaisha Restrictions on signaling
WO2015140401A1 (en) * 2014-03-17 2015-09-24 Nokia Technologies Oy An apparatus, a method and a computer program for video coding and decoding
US10158867B2 (en) * 2014-06-20 2018-12-18 Qualcomm Incorporated Picture order count reset for multi-layer codecs
US10148983B2 (en) * 2015-09-25 2018-12-04 Qualcomm Incorporated Methods and systems of improved video stream switching and random access
US20170105004A1 (en) * 2015-10-07 2017-04-13 Qualcomm Incorporated Methods and systems of coding a predictive random access picture using a background picture
FI20165114A (fi) 2016-02-17 2017-08-18 Nokia Technologies Oy Laitteisto, menetelmä ja tietokoneohjelma videokoodausta ja videokoodauksen purkua varten
US10679415B2 (en) 2017-07-05 2020-06-09 Qualcomm Incorporated Enhanced signaling of regions of interest in container files and video bitstreams
EP3831064B1 (en) * 2018-08-17 2024-02-07 Huawei Technologies Co., Ltd. Reference picture management in video coding
US10855988B2 (en) 2018-12-19 2020-12-01 Qualcomm Incorporated Adaptive prediction structures
US20220150546A1 (en) 2019-03-11 2022-05-12 Telefonaktiebolaget Lm Ericsson (Publ) Methods for recovery point process for video coding and related apparatus
MX2021011012A (es) 2019-03-11 2021-11-12 Huawei Tech Co Ltd Un codificador, un decodificador y métodos correspondientes.
MX2021012094A (es) 2019-04-03 2021-11-03 Huawei Tech Co Ltd Un codificador, un decodificador y metodos correspondientes.
EP4011063A4 (en) 2019-08-09 2022-11-02 Huawei Technologies Co., Ltd. EXTERNAL DECODING REFRESH TO VIDEO CODING
US20220353536A1 (en) 2019-08-22 2022-11-03 Sharp Kabushiki Kaisha Systems and methods for signaling picture information in video coding
WO2021045128A1 (en) 2019-09-06 2021-03-11 Sharp Kabushiki Kaisha Systems and methods for signaling temporal sub-layer information in video coding
JP2022548107A (ja) 2019-09-19 2022-11-16 ヴィド スケール インコーポレイテッド 多用途ビデオ符号化のためのシステム及び方法
US20220394301A1 (en) 2019-10-25 2022-12-08 Sharp Kabushiki Kaisha Systems and methods for signaling picture information in video coding
US20230026475A1 (en) * 2019-11-21 2023-01-26 Sharp Kabushiki Kaisha Systems and methods for signaling reference picture lists in video coding
US11228777B2 (en) 2019-12-30 2022-01-18 Tencent America LLC Method for layerwise random access in a coded video stream
WO2021177794A1 (ko) 2020-03-05 2021-09-10 엘지전자 주식회사 혼성 nal 유닛 타입에 기반하는 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법

Also Published As

Publication number Publication date
KR20220155290A (ko) 2022-11-22
KR20220156828A (ko) 2022-11-28
US11917132B2 (en) 2024-02-27
EP4104437A4 (en) 2023-08-30
BR112022018206A2 (pt) 2022-10-25
US20240098252A1 (en) 2024-03-21
EP4104437A1 (en) 2022-12-21
JP2023519560A (ja) 2023-05-11
US20230022078A1 (en) 2023-01-26
JP2023518751A (ja) 2023-05-08
EP4107958A4 (en) 2023-10-11
US20230022497A1 (en) 2023-01-26
US11818337B2 (en) 2023-11-14
WO2021188544A3 (en) 2021-11-04
JP7460790B2 (ja) 2024-04-02
EP4104443A4 (en) 2023-10-11
EP4104443A1 (en) 2022-12-21
US11979561B2 (en) 2024-05-07
WO2021188544A2 (en) 2021-09-23
JP7464743B2 (ja) 2024-04-09
CN115336273A (zh) 2022-11-11
JP2023518753A (ja) 2023-05-08
EP4107958A2 (en) 2022-12-28
WO2021188555A1 (en) 2021-09-23
US20230007244A1 (en) 2023-01-05
CN115299052A (zh) 2022-11-04
MX2022011361A (es) 2022-10-07
CN115299043A (zh) 2022-11-04
WO2021188548A1 (en) 2021-09-23

Similar Documents

Publication Publication Date Title
KR20220156830A (ko) 서브픽처 사이의 순서 관계
US11818337B2 (en) Constraints on reference picture lists entries
KR20230015373A (ko) 비디오 비트스트림들에서 코딩된 픽처 버퍼 정보의 시그널링
KR20220155293A (ko) 비디오 코딩에서 픽처 출력 플래그 표시
US20230111484A1 (en) Identification of inter-layer reference pictures in coded video
CN115699733A (zh) 在视频编解码中信令通知层间参考图片
JP2024075706A (ja) 参照ピクチャ順序の制約
KR20230002395A (ko) 레퍼런스 픽처 목록에 대한 제약
KR20230013052A (ko) 코딩된 비디오의 시퀀스 끝 표시