KR20220113808A - 화상들 상에서 점진적 디코딩 리프레시 프로세싱을 수행하기 위한 방법들 및 시스템들 - Google Patents

화상들 상에서 점진적 디코딩 리프레시 프로세싱을 수행하기 위한 방법들 및 시스템들 Download PDF

Info

Publication number
KR20220113808A
KR20220113808A KR1020227025084A KR20227025084A KR20220113808A KR 20220113808 A KR20220113808 A KR 20220113808A KR 1020227025084 A KR1020227025084 A KR 1020227025084A KR 20227025084 A KR20227025084 A KR 20227025084A KR 20220113808 A KR20220113808 A KR 20220113808A
Authority
KR
South Korea
Prior art keywords
picture
gdr
flag data
region
zone
Prior art date
Application number
KR1020227025084A
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 KR20220113808A publication Critical patent/KR20220113808A/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/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • 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/117Filters, e.g. for pre-processing or post-processing
    • 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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding 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/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/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/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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop

Landscapes

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

Abstract

비디오 프로세싱을 위한 방법들 및 장치들은, 비디오 시퀀스를 수신하는 것에 대한 응답으로, 비디오 시퀀스와 연관된 파라미터 세트에 제1 플래그 데이터를 인코딩하는 것 ― 제1 플래그 데이터는 점진적 디코딩 리프레시(GDR)가 비디오 시퀀스에 대해 인에이블 또는 디스에이블되는지를 표현함 ― ; GDR이 비디오 시퀀스에 대해 디스에이블됨을 제1 플래그 데이터가 표현할 때, 화상이 비-GDR 화상임을 표시하도록 비디오 시퀀스의 화상과 연관된 화상 헤더를 인코딩하는 것; 그리고 비-GDR 화상을 인코딩하는 것을 포함한다.

Description

화상들 상에서 점진적 디코딩 리프레시 프로세싱을 수행하기 위한 방법들 및 시스템들
본 출원은, 2019년 12월 27일에 출원된 미국 가출원 번호 제62/954,011호를 우선권으로 주장하며, 그의 콘텐츠는 그 전체가 인용에 의해 본원에 포함된다.
본 개시내용은 일반적으로 비디오 프로세싱에 관한 것으로, 보다 구체적으로, 화상들 상에서 점진적 디코딩 리프레시(gradual decoding refresh; GDR) 프로세싱을 수행하기 위한 방법들 및 시스템들에 관한 것이다.
비디오는 시각적 정보를 캡처하는 정적 화상들(또는 "프레임들") 세트이다. 저장 메모리 및 송신 대역폭을 감소시키기 위해, 비디오는 저장 또는 송신 전에 압축되고 디스플레이 전에 압축해제될 수 있다. 압축 프로세스는 일반적으로 인코딩으로서 지칭되고 압축해제 프로세스는 일반적으로 디코딩으로서 지칭된다. 가장 일반적으로 예측, 변환, 양자화, 엔트로피 코딩 및 인-루프 필터링(in-loop filtering)에 기초하는 표준화된 비디오 코딩(coding) 기술들을 사용하는 다양한 비디오 코딩 포맷들이 있다. 특정 비디오 코딩 포맷들을 지정하는 비디오 코딩 표준들 이를테면, 고효율 비디오 코딩(High Efficiency Video Coding)(HEVC/H.265) 표준, 다용도 비디오 코딩(Versatile Video Coding)(VVC/H.266) 표준, AVS 표준들이 표준화 기관들에 의해 개발되었다. 점점 더 많은 진보된 비디오 코딩 기술들이 비디오 표준들에서 채택됨에 따라, 새로운 비디오 코딩 표준들의 코딩 효율은 점점 더 높아진다.
본 개시내용의 실시예들은 비디오 프로세싱을 위한 방법들 및 장치들을 제공한다. 일 양상에서, 비-일시적 컴퓨터 판독 가능 매체가 제공된다. 비-일시적 컴퓨터 판독 가능 매체는 장치로 하여금 방법을 수행하게 하도록 장치의 적어도 하나의 프로세서에 의해 실행 가능한 명령들의 세트를 저장한다. 방법은, 비디오 시퀀스를 수신하는 것에 대한 응답으로, 비디오 시퀀스와 연관된 파라미터 세트에 제1 플래그 데이터를 인코딩하는 것 - 제1 플래그 데이터는 점진적 디코딩 리프레시(GDR)가 비디오 시퀀스에 대해 인에이블 또는 디스에이블되는지를 표현함 - ; GDR이 비디오 시퀀스에 대해 디스에이블됨을 제1 플래그 데이터가 표현할 때, 화상이 비-GDR 화상임을 표시하도록 비디오 시퀀스의 화상과 연관된 화상 헤더를 인코딩하는 것; 그리고 비-GDR 화상을 인코딩하는 것을 포함한다.
다른 양상에서, 비-일시적 컴퓨터 판독 가능 매체가 제공된다. 비-일시적 컴퓨터 판독 가능 매체는 장치로 하여금 방법을 수행하게 하도록 장치의 적어도 하나의 프로세서에 의해 실행 가능한 명령들의 세트를 저장한다. 방법은, 비디오 비트스트림을 수신하는 것에 대한 응답으로, 비디오 비트스트림의 시퀀스와 연관된 파라미터 세트의 제1 플래그 데이터를 디코딩하는 단계 - 제1 플래그 데이터는 점진적 디코딩 리프레시(GDR)가 비디오 시퀀스에 대해 인에이블 또는 디스에이블되는지를 표현함 - ; GDR이 시퀀스에 대해 디스에이블됨을 제1 플래그 데이터가 표현할 때, 시퀀스의 화상과 연관된 화상 헤더를 디코딩하는 단계 - 화상 헤더는 화상이 비-GDR 화상임을 표시함 - ; 및 비-GDR 화상을 디코딩하는 단계를 포함한다.
또 다른 양상에서, 비-일시적 컴퓨터 판독 가능 매체가 제공된다. 비-일시적 컴퓨터 판독 가능 매체는 장치로 하여금 방법을 수행하게 하도록 장치의 적어도 하나의 프로세서에 의해 실행 가능한 명령들의 세트를 저장한다. 방법은, 비디오의 화상을 수신하는 것에 대한 응답으로, 화상과 연관된 플래그 데이터에 기초하여, 화상이 점진적 디코딩 리프레시(GDR) 화상인지를 결정하는 단계; 화상이 GDR 화상이라는 결정에 기초하여, 가상 경계를 사용하여 화상에 대한 제1 구역 및 제2 구역을 결정하는 단계; 제1 픽셀에 대한 필터링이 제2 구역의 제2 픽셀의 정보를 이용할 때 제1 구역의 제1 픽셀 상에서 루프 필터를 디스에이블하거나, 제1 구역의 픽셀들의 정보만을 이용하여 제1 픽셀 상에서 루프 필터를 적용하는 단계; 및 제1 구역 또는 제2 구역 중 적어도 하나의 픽셀들을 사용하여 제2 구역의 픽셀들 상에서 루프 필터를 적용하는 단계를 포함한다.
또 다른 양상에서, 장치가 제공된다. 장치는 명령들의 세트를 저장하도록 구성된 메모리 및 메모리에 통신 가능하게 커플링된 하나 이상의 프로세서들을 포함하고, 하나 이상의 프로세서들은 명령들의 세트를 실행하여, 장치로 하여금, 비디오 시퀀스를 수신하는 것에 대한 응답으로, 비디오 시퀀스와 연관된 파라미터 세트에 제1 플래그 데이터를 인코딩하는 것 - 제1 플래그 데이터는 점진적 디코딩 리프레시(GDR)가 비디오 시퀀스에 대해 인에이블 또는 디스에이블되는지를 표현함 - ; GDR이 비디오 시퀀스에 대해 디스에이블됨을 제1 플래그 데이터가 표현할 때, 화상이 비-GDR 화상임을 표시하도록 비디오 시퀀스의 화상과 연관된 화상 헤더를 인코딩하는 것; 그리고 비-GDR 화상을 인코딩하는 것을 수행하게 하도록 구성된다.
또 다른 양상에서, 장치가 제공된다. 장치는 명령들의 세트를 저장하도록 구성된 메모리 및 메모리에 통신 가능하게 커플링된 하나 이상의 프로세서들을 포함하고, 하나 이상의 프로세서들은 명령들의 세트를 실행하여, 장치로 하여금, 비디오 시퀀스를 수신하는 것에 대한 응답으로, 비디오 시퀀스와 연관된 파라미터 세트에 제1 플래그 데이터를 인코딩하는 것 - 제1 플래그 데이터는 점진적 디코딩 리프레시(GDR)가 비디오 시퀀스에 대해 인에이블 또는 디스에이블되는지를 표현함 - ; GDR이 비디오 시퀀스에 대해 디스에이블됨을 제1 플래그 데이터가 표현할 때, 화상이 비-GDR 화상임을 표시하도록 비디오 시퀀스의 화상과 연관된 화상 헤더를 인코딩하는 것; 그리고 비-GDR 화상을 인코딩하는 것을 수행하게 하도록 구성된다.
또 다른 양상에서, 장치가 제공된다. 장치는 명령들의 세트를 저장하도록 구성된 메모리 및 메모리에 통신 가능하게 커플링된 하나 이상의 프로세서들을 포함하고, 하나 이상의 프로세서들은 명령들의 세트를 실행하여, 장치로 하여금, 비디오의 화상을 수신하는 것에 대한 응답으로, 화상과 연관된 플래그 데이터에 기초하여, 화상이 점진적 디코딩 리프레시(GDR) 화상인지를 결정하는 것; 화상이 GDR 화상이라는 결정에 기초하여, 가상 경계를 사용하여 화상에 대한 제1 구역 및 제2 구역을 결정하는 것; 제1 픽셀에 대한 필터링이 제2 구역의 제2 픽셀의 정보를 이용할 때 제1 구역의 제1 픽셀 상에서 루프 필터를 디스에이블하거나, 제1 구역의 픽셀들의 정보만을 이용하여 제1 픽셀 상에서 루프 필터를 적용하는 것; 그리고 제1 구역 또는 제2 구역 중 적어도 하나의 픽셀들을 사용하여 제2 구역의 픽셀들 상에서 루프 필터를 적용하는 것을 수행하게 하도록 구성된다.
또 다른 양상에서, 방법이 제공된다. 방법은, 비디오 시퀀스를 수신하는 것에 대한 응답으로, 비디오 시퀀스와 연관된 파라미터 세트에 제1 플래그 데이터를 인코딩하는 것 - 제1 플래그 데이터는 점진적 디코딩 리프레시(GDR)가 비디오 시퀀스에 대해 인에이블 또는 디스에이블되는지를 표현함 - ; GDR이 비디오 시퀀스에 대해 디스에이블됨을 제1 플래그 데이터가 표현할 때, 화상이 비-GDR 화상임을 표시하도록 비디오 시퀀스의 화상과 연관된 화상 헤더를 인코딩하는 것; 그리고 비-GDR 화상을 인코딩하는 것을 포함한다.
또 다른 양상에서, 방법이 제공된다. 방법은, 비디오 비트스트림을 수신하는 것에 대한 응답으로, 비디오 비트스트림의 시퀀스와 연관된 파라미터 세트의 제1 플래그 데이터를 디코딩하는 단계 - 제1 플래그 데이터는 점진적 디코딩 리프레시(GDR)가 비디오 시퀀스에 대해 인에이블 또는 디스에이블되는지를 표현함 - ; GDR이 시퀀스에 대해 디스에이블됨을 제1 플래그 데이터가 표현할 때, 시퀀스의 화상과 연관된 화상 헤더를 디코딩하는 단계 - 화상 헤더는 화상이 비-GDR 화상임을 표시함 - ; 및 비-GDR 화상을 디코딩하는 단계를 포함한다.
또 다른 양상에서, 방법이 제공된다. 방법은, 비디오의 화상을 수신하는 것에 대한 응답으로, 화상과 연관된 플래그 데이터에 기초하여, 화상이 점진적 디코딩 리프레시(GDR) 화상인지를 결정하는 단계; 화상이 GDR 화상이라는 결정에 기초하여, 가상 경계를 사용하여 화상에 대한 제1 구역 및 제2 구역을 결정하는 단계; 제1 픽셀에 대한 필터링이 제2 구역의 제2 픽셀의 정보를 이용할 때 제1 구역의 제1 픽셀 상에서 루프 필터를 디스에이블하거나, 제1 구역의 픽셀들의 정보만을 이용하여 제1 픽셀 상에서 루프 필터를 적용하는 단계; 및 제1 구역 또는 제2 구역 중 적어도 하나의 픽셀들을 사용하여 제2 구역의 픽셀들 상에서 루프 필터를 적용하는 단계를 포함한다.
본 개시내용의 실시예들 및 다양한 양상들이 하기 상세한 설명 및 첨부 도면들에서 예시된다. 도면들에 보여지는 다양한 특징들은 실척대로 그려진 것은 아니다.
도 1은 본 개시내용의 일부 실시예들과 일치하는, 예시적인 비디오 시퀀스의 구조들을 예시하는 개략도이다.
도 2a는 본 개시내용의 실시예들과 일치하는, 하이브리드 비디오 코딩 시스템의 예시적인 인코딩 프로세스의 개략도를 예시한다.
도 2b는 본 개시내용의 실시예들과 일치하는, 하이브리드 비디오 코딩 시스템의 다른 예시적인 인코딩 프로세스의 개략도를 예시한다.
도 3a는 본 개시내용의 실시예들과 일치하는, 하이브리드 비디오 코딩 시스템의 예시적인 디코딩 프로세스의 개략도를 예시한다.
도 3b는 본 개시내용의 실시예들과 일치하는, 하이브리드 비디오 코딩 시스템의 다른 예시적인 디코딩 프로세스의 개략도를 예시한다.
도 4는 본 개시내용의 일부 실시예들과 일치하는, 비디오를 인코딩 또는 디코딩하기 위한 예시적인 장치의 블록도를 예시한다.
도 5는 본 개시내용의 일부 실시예들과 일치하는, 점진적 디코딩 리프레시(GDR)의 예시적인 동작을 예시하는 개략도이다.
도 6은 본 개시내용의 일부 실시예들과 일치하는, GDR을 인에이블하는 시퀀스 파라미터 세트(SPS)의 예시적인 신택스 구조를 보여주는 표 1을 예시한다.
도 7은 본 개시내용의 일부 실시예들과 일치하는, GDR을 인에이블하는 화상 헤더의 예시적인 신택스 구조를 보여주는 표 2를 예시한다.
도 8은 본 개시내용의 일부 실시예들과 일치하는, 가상 경계를 인에이블하는 SPS의 예시적인 신택스 구조를 보여주는 표 3을 예시한다.
도 9는 본 개시내용의 일부 실시예들과 일치하는, 가상 경계를 인에이블하는 화상 헤더의 예시적인 신택스 구조를 보여주는 표 4를 예시한다.
도 10은 본 개시내용의 일부 실시예들과 일치하는, 수정된 화상 헤더의 예시적인 신택스 구조를 보여주는 표 5를 예시한다.
도 11은 본 개시내용의 일부 실시예들과 일치하는, 가상 경계를 인에이블하는 수정된 SPS의 예시적인 신택스 구조를 보여주는 표 6을 예시한다.
도 12는 본 개시내용의 일부 실시예들과 일치하는, 가상 경계를 인에이블하는 수정된 화상 헤더의 예시적인 신택스 구조를 보여주는 표 7을 예시한다.
도 13은 본 개시내용의 일부 실시예들에 따라, 비디오 프로세싱을 위한 예시적인 프로세스의 흐름도를 예시한다.
도 14는 본 개시내용의 일부 실시예들에 따라, 비디오 프로세싱을 위한 다른 예시적인 프로세스의 흐름도를 예시한다.
도 15는 본 개시내용의 일부 실시예들에 따라, 비디오 프로세싱을 위한 또 다른 예시적인 프로세스의 흐름도를 예시한다.
이제 예시적인 실시예들이 상세히 참조될 수 있으며, 그의 예들은 첨부 도면들에 예시된다. 하기 설명은 달리 표현되지 않는 한 상이한 도면들에서 동일한 번호들은 동일하거나 유사한 요소들을 나타내는 첨부 도면들을 참조한다. 예시적인 실시예들의 하기 설명에서 기술된 구현들은 본 발명과 일치하는 모든 구현들을 표현하는 것은 아니다. 대신, 이들은 단지 첨부된 청구항들에서 인용되는 바와 같은 본 발명과 관련된 양상들에 일치하는 장치들 및 방법들의 예들일 뿐이다. 본 개시내용의 특정 양상들은 아래에서 더 상세히 설명된다. 참조로 포함된 용어들 및/또는 정의들과 상충하는 경우, 본원에 제공된 용어들 및 정의들에 따른다.
ITU-T 비디오 코딩 전문가 그룹(ITU-T VCEG)과 ISO/IEC 동화상 전문가 그룹(ISO/IEC MPEG)의 공동 비디오 전문가들 팀(JVET)은 현재 다용도 비디오 코딩(Versatile Video Coding; VVC/H.266) 표준을 개발하고 있다. VVC 표준은 그의 선행 표준인 고효율 비디오 코딩(HEVC/H.265) 표준의 압축 효율을 배가(doubling)시키는 것을 목표로 한다. 즉, VVC의 목표는 절반의 대역폭을 사용하여 HEVC/H.265와 동일한 주관적 품질을 달성하는 것이다.
절반의 대역폭을 사용하여 HEVC/H.265와 동일한 주관적 품질을 달성하기 위해, JVET는 공동 탐구 모델(Joint Explosion Model; "JEM") 참조 소프트웨어를 사용하여 HEVC를 뛰어넘은 기술들을 개발하고 있다. 코딩 기술들이 JEM에 통합됨에 따라, JEM은 HEVC보다 실질적으로 더 높은 코딩 성능을 달성했다
VVC 표준은 최근에 개발되었으며 더 나은 압축 성능을 제공하는 더 많은 코딩 기술들을 계속 포함하고 있다. VVC는 HEVC, H.264/AVC, MPEG2, H.263 등과 같은 최신 비디오 압축 표준들에 사용된 것과 동일한 하이브리드 비디오 코딩 시스템에 기초한다.
비디오는 시각적 정보를 저장하기 위해 시간적 시퀀스로 배열된 정적 화상들(또는 "프레임들")의 세트이다. 비디오 캡처 디바이스(예컨대, 카메라)가 시간적 시퀀스로 이러한 화상들을 캡처하고 저장하기 위해 사용될 수 있으며, 비디오 재생 디바이스(예컨대, 텔레비전, 컴퓨터, 스마트폰, 태블릿 컴퓨터, 비디오 플레이어 또는 디스플레이 기능이 갖는 임의의 최종-사용자 단말)가 이러한 화상들을 시간적 시퀀스로 디스플레이하는데 사용될 수 있다. 또한, 일부 애플리케이션들에서, 비디오 캡처 디바이스는 감시, 회의 또는 라이브 방송과 같이, 캡처된 비디오를 실시간으로 비디오 재생 디바이스(예컨대, 모니터가 있는 컴퓨터)로 송신할 수 있다.
이러한 애플리케이션들에 의해 필요로 되는 저장 공간 및 송신 대역폭을 감소시키기 위해, 비디오는 저장 및 송신 이전에 압축되고 디스플레이 전에 압축해제될 수 있다. 압축 및 압축해제는 프로세서(예컨대, 일반 컴퓨터의 프로세서) 또는 특수 하드웨어에 의해 실행되는 소프트웨어에 의해 구현될 수 있다. 압축을 위한 모듈은 일반적으로 "인코더"로서 지칭되고, 압축해제를 위한 모듈은 일반적으로 "디코더"로서 지칭된다. 인코더 및 디코더는 집합적으로 "코덱"으로서 지칭될 수 있다. 인코더 및 디코더는 다양한 적합한 하드웨어, 소프트웨어 또는 이들의 조합 중 임의의 것으로서 구현될 수 있다. 예컨대, 인코더 및 디코더의 하드웨어 구현은 하나 이상의 마이크로프로세서들, 디지털 신호 프로세서들(DSP들), 주문형 집적 회로들(ASIC들), 필드-프로그래밍 가능 게이트 어레이들(FPGA들), 이산 로직, 또는 이들의 임의의 조합과 같은 회로를 포함할 수 있다. 인코더 및 디코더의 소프트웨어 구현은 프로그램 코드들, 컴퓨터 실행-가능 명령들, 펌웨어, 또는 컴퓨터-판독 가능 매체에 고정된 임의의 적합한 컴퓨터-구현 알고리즘 또는 프로세스를 포함할 수 있다. 비디오 압축 및 압축해제는 MPEG-1, MPEG-2, MPEG-4, H.26x 시리즈들 등과 같은 다양한 알고리즘들 또는 표준들에 의해 구현될 수 있다. 일부 애플리케이션들에서, 코덱은 제1 코딩 표준으로부터의 비디오를 압축해제하고 제2 코딩 표준을 사용하여 압축해제된 비디오를 재-압축할 수 있으며, 이 경우 코덱은 "트랜스코더"로서 지칭될 수 있다.
비디오 인코딩 프로세스는 화상을 재구성하는 데 사용될 수 있는 유용한 정보를 식별 및 유지하고 재구성을 위해 중요하지 않은 정보를 무시할 수 있다. 무시되는 중요하지 않은 정보가 완전히 재구성될 수 없는 경우, 이러한 인코딩 프로세스를 "손실성(lossy)"으로서 지칭될 수 있다. 그렇지 않으면, 이는 "무손실성(lossless)"으로서 지칭될 수 있다. 대부분의 인코딩 프로세스들은 손실성이며, 이는 필요한 저장 공간 및 송신 대역폭을 감소시키기 위한 절충안(trade-off)이다.
다수의 경우들에서, 인코딩되는 화상("현재 화상" 또는 "타겟 화상"으로서 지칭됨)의 유용한 정보는 참조 화상(예컨대, 이전에 인코딩 및 재구성된 화상)에 대한 변경들을 포함할 수 있다. 이러한 변경들은 픽셀들의 포지션 변경들, 광도 변경들 또는 컬러 변경들을 포함될 수 있으며, 그 중 포지션 변경들이 주로 관련된다. 오브젝트를 표현하는 픽셀들의 그룹의 포지션 변경들은 참조 화상과 타겟 화상 사이의 오브젝트의 모션을 반영할 수 있다.
다른 화상을 참조 없이 코딩된 화상(즉, 이는 자체 참조 화상임)은 "I-화상"으로서 지칭된다. 참조 화상으로서 이전 화상을 사용하여 코딩된 화상은 "P-화상"으로서 지칭된다. 참조 화상들로서 이전 화상 및 미래 화상 둘 모두를 사용하여 코딩된 화상(즉, 참조가 "양방향성"임)은 "B-화상"으로서 지칭된다.
도 1은 본 개시내용의 일부 실시예들과 일치하는, 예시적인 비디오 시퀀스(100)의 구조들을 예시한다. 비디오 시퀀스(100)는 라이브 비디오 또는 캡처 및 보관된 비디오일 수 있다. 비디오(100)는 실-생활 비디오, 컴퓨터-생성 비디오(예컨대, 컴퓨터 게임 비디오), 또는 이들의 조합(예컨대, 증강-현실 효과들을 갖는 실-생활 비디오)일 수 있다. 비디오 시퀀스(100)는 비디오 캡처 디바이스(예컨대, 카메라), 이전에 캡처된 비디오를 포함하는 비디오 아카이브(예컨대, 저장 디바이스에 저장된 비디오 파일), 또는 비디오 콘텐츠 제공자로부터 비디오를 수신하기 위한 비디오 피드 인터페이스(예컨대, 비디오 브로드캐스트 트랜시버)로부터 입력될 수 있다.
도 1에 도시된 바와 같이, 비디오 시퀀스(100)는, 화상들(102, 104, 106, 108)을 포함하여, 타임라인을 따라 시간적으로 배열된 일련의 화상들을 포함할 수 있다. 화상들(102-106)은 연속적이며, 화상들(106 및 108) 사이에 더 많은 화상들이 있다. 도 1에서, 화상(102)은, 그 참조 화상이 화상(102) 자체인 I-화상이다. 화상(104)은 그 참조 화상이 화살표에 의해 표시된 바와 같이 화상(102)인 P-화상이다. 화상(106)은 그 참조 화상들이 화살표들에 의해 표시된 바와 같이 화상들(104 및 108)인 B-화상이다. 일부 실시예들에서, 화상(예컨대, 화상 104)의 참조 화상은 화상 바로 앞이나 뒤에 있지 않을 수 있다. 예컨대, 화상(104)의 참조 화상은 화상(102) 앞의 화상일 수 있다. 화상들(102-106)의 참조 화상들은 단지 예들일 뿐이고, 본 개시내용은 도 1에 도시된 예시들로 참조 화상들의 실시예들을 제한하지 않는다는 것이 주의되어야 한다.
통상적으로, 비디오 코덱들은 이러한 작업들의 계산 복잡성으로 인해 한 번에 전체 화상을 인코딩 또는 디코딩하지 않는다. 오히려, 이들은 화상을 기본 세그먼트들로 분할하고, 세그먼트별로 화상을 인코딩 또는 디코딩할 수 있다. 이러한 기본 세그먼트들은 본 개시내용에서 기본 프로세싱 유닛들(basic processing unit; "BPU들")로서 지칭된다. 예컨대, 도 1의 구조(110)는 비디오 시퀀스(100)의 화상(예컨대, 화상들(102-108) 중 임의의 것)의 예시적인 구조를 도시한다. 구조(110)에서, 화상은 4×4 기본 프로세싱 유닛들로 분할되고, 그 경계들은 파선들로서 도시된다. 일부 실시예들에서, 기본 프로세싱 유닛들은 일부 비디오 코딩 표준들(예컨대, MPEG 패밀리, H.261, H.263, 또는 H.264/AVC)에서 "매크로블록들"로서, 또는 일부 다른 비디오 코딩 표준들(예컨대, H.265/HEVC 또는 H.266/VVC)에서 "코딩 트리 유닛들"(coding tree units; "CTU들")로서 지칭될 수 있다. 기본 프로세싱 유닛들은 화상에서 가변 크기들 이를테면, 128×128, 64×64, 32×32, 16×16, 4×8, 16×32와 또는 임의의 자의적 형상 및 픽셀 크기들을 가질 수 있다. 기본 프로세싱 유닛들의 크기들 및 형상들은 세부사항의 레벨들 및 코딩 효율의 균형에 기초한 화상이 기본 프로세싱 유닛에서 유지되도록 선택될 수 있다.
기본 프로세싱 유닛들은 컴퓨터 메모리에(예컨대, 비디오 프레임 버퍼에) 저장된 상이한 유형들의 비디오 데이터의 그룹을 포함할 수 있는 로직 유닛들일 수 있다. 예컨대, 컬러 화상의 기본 프로세싱 유닛은 무채색 밝기 정보를 표현하는 루마 성분(Y), 컬러 정보를 표현하는 하나 이상의 크로마 성분들(예컨대, Cb 및 Cr) 및 연관된 신택스 요소들을 포함할 수 있으며, 여기에서 루마 및 크로마 성분들은 기본 프로세싱 유닛과 동일한 크기를 가질 수 있다. 루마 및 크로마 성분들은 일부 비디오 코딩 표준들(예컨대, H.265/HEVC 또는 H.266/VVC)에서 "코딩 트리 블록들(CTB들)"로서 지칭될 수 있다. 기본 프로세싱 유닛에 대해 수행된 모든 동작은 그의 루마 및 크로마 성분들 각각에 대해 반복적으로 수행될 수 있다.
비디오 코딩은 여러 동작 스테이지들을 가지며, 그의 예들이 도 2a 및 도 2b 및 도 3a 및 도 3b에 도시된다. 각각의 스테이지에 대해, 기본 프로세싱 유닛들의 크기는 여전히 프로세싱하기에 너무 클 수 있고, 이에 따라 본 개시내용에서 "기본 프로세싱 서브-유닛들"로서 지칭되는 세그먼트들로 추가로 분할될 수 있다. 일부 실시예들에서, 기본 프로세싱 서브-유닛들은 일부 비디오 코딩 표준들(예컨대, MPEG 패밀리, H.261, H.263, 또는 H.264/AVC)에서 "블록들"로서, 또는 일부 다른 비디오 코딩 표준들(예컨대, H.265/HEVC 또는 H.266/VVC)에서 "코딩 유닛들"(coding tree units; "CU들")로서 지칭될 수 있다. 기본 프로세싱 서브-유닛은 기본 프로세싱 유닛과 동일하거나 더 작은 크기를 가질 수 있다. 기본 프로세싱 유닛들과 유사하게, 기본 프로세싱 서브-유닛들은 또한 로직 유닛들이며, 이들은 컴퓨터 메모리(예컨대, 비디오 프레임 버퍼)에 저장된 상이한 유형들의 비디오 데이터(예컨대, Y, Cb, Cr 및 연관된 신택스 요소들)의 그룹을 포함할 수 있다. 기본 프로세싱 서브-유닛에 대해 수행된 모든 동작은 그의 루마 및 크로마 성분들 각각에 대해 반복적으로 수행될 수 있다. 이러한 분할은 프로세싱 요구들에 의존하여 추가 레벨들로 수행될 수 있다는 것이 주의되어야 한다. 또한, 상이한 스테이지들은 상이한 방식들을 사용하여 기본 프로세싱 유닛들을 분할할 수 있다는 것이 주의되어야 한다.
예컨대, 모드 결정 스테이지(그 예가 도 2b에 도시됨)에서, 인코더는 기본 프로세싱 유닛에 대해 어느 예측 모드(예컨대, 화상-내(intra-picture) 예측 또는 화상-간(inter-picture) 예측)를 사용할지를 결정할 수 있으며, 이 기본 프로세싱 유닛은 그러한 결정을 내리기에 너무 클 수 있다. 인코더는 기본 프로세싱 유닛을 여러 기본 프로세싱 서브-유닛들(예컨대, H.265/HEVC 또는 H.266/VVC에서와 같은 CU들)로 분할하고, 개별 기본 프로세싱 서브-유닛 각각에 대한 예측 유형을 결정할 수 있다.
다른 예를 들면, 예측 스테이지(그 예가 도 2a 및 도 2b에 도시됨)에서, 인코더가 기본 프로세싱 서브-유닛들(예컨대, CU들)의 레벨에서 예측 동작을 수행할 수 있다. 그러나, 일부 경우들에서, 기본 프로세싱 서브-유닛은 여전히 프로세싱하기에 너무 클 수 있다. 인코더는 기본 프로세싱 서브-유닛을 더 작은 세그먼트들(예컨대, H.265/HEVC 또는 H.266/VVC에서 "예측 블록들" 또는 "PB들"로서 지칭됨)로 추가로 분할할 수 있으며, 그 레벨에서 예측 동작이 수행될 수 있다.
다른 예를 들면, 변환 스테이지(그 예는 도 2a 및 도 2b에 도시됨)에서, 인코더는 잔차 기본 프로세싱 서브-유닛들(예컨대, CU들)에 대해 변환 동작을 수행할 수 있다. 그러나, 일부 경우들에서, 기본 프로세싱 서브-유닛은 여전히 프로세싱하기에 너무 클 수 있다. 인코더는 기본 프로세싱 서브-유닛을 더 작은 세그먼트들(예컨대, H.265/HEVC 또는 H.266/VVC에서 "변환 블록들" 또는 "TB들"로서 지칭됨)로 추가로 분할할 수 있으며, 그 레벨에서 변환 동작이 수행될 수 있다. 동일한 기본 프로세싱 서브-유닛의 분할 방식들은 예측 스테이지 및 변환 스테이지에서 상이할 수 있다는 것이 주의되어야 한다. 예컨대, H.265/HEVC 또는 H.266/VVC에서, 동일한 CU의 예측 블록들 및 변환 블록들은 상이한 크기들 및 개수들을 가질 수 있다.
도 1의 구조(110)에서, 기본 프로세싱 유닛(112)은 3×3 기본 프로세싱 서브-유닛들로 추가로 분할되며, 그 경계들은 점선들로서 도시된다. 동일한 화상의 상이한 기본 프로세싱 유닛들은 상이한 방식들의 기본 프로세싱 서브-유닛들로 분할될 수 있다.
일부 구현들에서, 비디오 인코딩 및 디코딩에 대한 병렬 프로세싱 및 오류 복원 능력을 제공하기 위해, 화상은 프로세싱을 위한 구역들로 분할될 수 있어서, 화상의 구역에 대해, 인코딩 또는 디코딩 프로세스가 화상의 임의의 다른 구역으로부터의 정보에 의존하지 않을 수 있다. 즉, 화상의 각각의 구역은 독립적으로 프로세싱될 수 있다. 이렇게 함으로써, 코덱은 화상의 상이한 구역들을 병렬로 프로세싱하고, 이에 따라 코딩 효율성을 증가시킬 수 있다. 또한, 프로세싱 시에 구역의 데이터가 손상되거나 네트워크 송신 시에 손실될 때, 코덱은 손상되거나 손실된 데이터를 복원하지 않고 동일한 화상의 다른 구역을 올바르게 인코딩 또는 디코딩할 수 있고, 이에 따라 오류 복원 능력을 제공한다. 일부 비디오 코딩 표준들에서, 화상은 상이한 유형들의 구역들로 분할될 수 있다. 예컨대, H.265/HEVC 및 H.266/VVC는 두 가지 유형들의 구역들: "슬라이스들" 및 "타일들"을 제공한다. 비디오 시퀀스(100)의 상이한 화상들은 화상을 구역들로 분할하기 위한 상이한 파티셔닝 방식들을 가질 수 있다는 것이 또한 주의되어야 한다.
예컨대, 도 1에서, 구조(110)는 3개의 구역들(114, 116 및 118)로 분할되고, 그 경계들은 구조(110) 내부에 실선들로서 도시된다. 구역(114)은 4개의 기본 프로세싱 유닛들을 포함한다. 구역들(116 및 118) 각각은 6개의 기본 프로세싱 유닛들을 포함한다. 도 1의 구조(110)의 기본 프로세싱 유닛들, 기본 프로세싱 서브-유닛들 및 구역들은 단지 예들일 뿐이며, 본 개시내용이 그의 실시예들을 제한하지 않는다는 것이 주의되어야 한다.
도 2a는 본 개시내용의 실시예들과 일치하는, 예시적인 인코딩 프로세스(200A)의 개략도를 예시한다. 예컨대, 인코딩 프로세스(200A)는 인코더에 의해 수행될 수 있다. 도 2a에 도시된 바와 같이, 인코더는 프로세스(200A)에 따라 비디오 시퀀스(202)를 비디오 비트스트림(228)으로 인코딩할 수 있다. 도 1의 비디오 시퀀스(100)와 유사하게, 비디오 시퀀스(202)는 시간적 순서로 배열된 화상들의 세트("오리지널 화상들"로서 지칭됨)를 포함할 수 있다. 도 1의 구조(110)와 유사하게, 비디오 시퀀스(202)의 각각의 오리지널 화상은 인코더에 의해, 기본 프로세싱 유닛들, 기본 프로세싱 서브-유닛들, 또는 프로세싱을 위한 구역들로 분할될 수 있다. 일부 실시예들에서, 인코더는 비디오 시퀀스(202)의 각각의 오리지널 화상에 대한 기본 프로세싱 유닛들의 레벨에서 프로세스(200A)를 수행할 수 있다. 예컨대, 인코더는 프로세스(200A)를 반복적인 방식으로 수행할 수 있고, 여기서 인코더는 프로세스(200A)의 한 번의 반복에서 기본 프로세싱 유닛을 인코딩할 수 있다. 일부 실시예들에서, 인코더는 비디오 시퀀스(202)의 각각의 오리지널 화상의 구역들(예컨대, 구역들(114 내지 118))에 대해 병렬로 프로세스(200A)를 수행할 수 있다.
도 2a에서, 인코더는 비디오 시퀀스(202)의 오리지널 화상의 기본 프로세싱 유닛("오리지널 BPU"로서 지칭됨)을 예측 스테이지(204)로 공급하여 예측 데이터(206) 및 예측된 BPU(208)를 생성할 수 있다. 인코더는 오리지널 BPU로부터 예측된 BPU(208)를 감산하여 잔차 BPU(210)를 생성할 수 있다. 인코더는 잔차 BPU(210)를 변환 스테이지(212) 및 양자화 스테이지(214)로 공급하여 양자화된 변환 계수들(216)을 생성할 수 있다. 인코더는 예측 데이터(206) 및 양자화된 변환 계수들(216)을 이진 코딩 스테이지(226)로 공급하여 비디오 비트스트림(228)을 생성할 수 있다. 성분들(202, 204, 206, 208, 210, 212, 214, 216, 226 및 228)은 "순방향 경로"로서 지칭될 수 있다. 프로세스(200A) 동안, 양자화 스테이지(214) 이후에, 인코더는 양자화된 변환 계수들(216)을 역양자화 스테이지(218) 및 역변환 스테이지(220)로 공급하여 재구성된 잔차 BPU(222)를 생성할 수 있다. 인코더는 재구성된 잔차 BPU(222)를 예측된 BPU(208)에 추가하여 예측 참조(224)를 생성할 수 있으며, 이는 프로세스(200A)의 다음 반복을 위해 예측 스테이지(204)에서 사용된다. 프로세스(200A)의 성분들(218, 220, 222 및 224)은 "재구성 경로"로서 지칭될 수 있다. 재구성 경로는 인코더 및 디코더 둘 모두가 예측을 위해 동일한 참조 데이터를 사용하도록 보장하는 데 사용될 수 있다.
인코더는 (순방향 경로에서) 오리지널 화상의 각각의 오리지널 BPU를 인코딩하고 (재구성 경로에서) 오리지널 화상의 다음 오리지널 BPU를 인코딩하기 위한 예측된 참조(224)를 생성하기 위해 프로세스(200A)를 반복적으로 수행할 수 있다. 오리지널 화상의 모든 오리지널 BPU들을 인코딩한 후, 인코더는 비디오 시퀀스(202) 내 다음 화상을 인코딩하는 것으로 진행할 수 있다.
프로세스(200A)를 참조하면, 인코더는 비디오 캡처 디바이스(예컨대, 카메라)에 의해 생성된 비디오 시퀀스(202)를 수신할 수 있다. 본원에서 사용되는 "수신"이란 용어는 수신, 입력, 취득, 리트리브, 획득, 판독, 액세스 또는 데이터를 입력하기 위한 임의의 방식의 임의의 액션을 지칭할 수 있다.
예측 스테이지(204)에서, 현재 반복에서 인코더는 오리지널 BPU 및 예측 참조(224)를 수신하고 예측 동작을 수행하여 예측 데이터(206) 및 예측된 BPU(208)를 생성할 수 있다. 예측 참조(224)는 프로세스(200A)의 이전 반복의 재구성 경로로부터 생성될 수 있다. 예측 스테이지(204)의 목적은, 예측 참조(224) 및 예측 데이터(206)로부터의 예측된 BPU(208)로서 오리지널 BPU를 재구성하는데 사용될 수 있는 예측 데이터(206)를 추출함으로써 정보 중복성을 감소시키는 것이다.
이상적으로, 예측된 BPU(208)는 오리지널 BPU와 동일할 수 있다. 그러나, 비-이상적 예측 및 재구성 동작들로 인해, 예측된 BPU(208)는 일반적으로 오리지널 BPU와 약간 상이하다. 그러한 차이들을 레코딩하기 위해, 예측된 BPU(208)를 생성한 후, 인코더는 오리지널 BPU로부터 이 차이를 감산하여 잔차 BPU(210)를 생성할 수 있다. 예컨대, 인코더는 예측된 BPU(208)의 픽셀들의 값들(예컨대, 회색조 값들 또는 RGB 값들)을 오리지널 BPU의 대응하는 픽셀들의 값들로부터 감산할 수 있다. 잔차 BPU(210)의 각각의 픽셀은 예측된 BPU(208)와 오리지널 BPU의 대응하는 픽셀들 사이의 이러한 감산의 결과로서 잔차 값을 가질 수 있다. 오리지널 BPU와 비교하여, 예측 데이터(206) 및 잔차 BPU(210)는 더 적은 비트들을 가질 수 있지만, 현저한 품질 악화 없이 오리지널 BPU를 재구성하는 데 사용될 수 있다. 따라서, 오리지널 BPU가 압축된다.
잔차 BPU(210)를 추가로 압축하기 위해, 변환 스테이지(212)에서, 인코더는 잔차 BPU(210)를 2-차원 "기본 패턴들"의 세트로 분해함으로써 그의 공간적 중복성을 감소시킬 수 있으며, 각각의 기본 패턴은 "변환 계수"와 연관된다. 기본 패턴들은 동일한 크기(예컨대, 잔차 BPU(210)의 크기)를 가질 수 있다. 각각의 기본 패턴은 잔차 BPU(210)의 변동 주파수(예컨대, 밝기 변동 주파수) 성분을 표현할 수 있다. 기본 패턴들 중 어느 것도 임의의 다른 기본 패턴들의 임의의 조합들(예컨대, 선형 조합들)로부터 재생될 수 없다. 즉, 분해는 잔차 BPU(210)의 변동들을 주파수 도메인으로 분해할 수 있다. 이러한 분해는 함수의 이산 푸리에 변환과 유사하며, 여기서 기본 패턴이 이산 푸리에 변환의 기본 함수들(예컨대, 삼각 함수들)과 유사하고, 변환 계수들은 기본 함수들과 연관된 계수들과 유사하다.
상이한 변환 알고리즘들은 상이한 기본 패턴들을 사용할 수 있다. 예컨대, 이산 코사인 변환, 이산 사인 변환 등과 같은 다양한 변환 알고리즘들이 변환 스테이지(212)에서 사용될 수 있다. 변환 스테이지(212)에서의 변환은 가역적이다. 즉, 인코더는 변환의 역동작("역변환"으로서 지칭됨)에 의해 잔차 BPU(210)를 복구할 수 있다. 예컨대, 잔차 BPU(210)의 픽셀을 복구하기 위해, 역변환은 기본 패턴들의 대응하는 픽셀들의 값들을 개개의 연관된 계수들로 곱하고 그 결과들을 더하여 가중 합을 생성하는 것일 수 있다. 비디오 코딩 표준의 경우, 인코더 및 디코더 둘 모두는 동일한 변환 알고리즘(따라서 동일한 기본 패턴들)을 사용할 수 있다. 따라서, 인코더는, 인코더로부터 기본 패턴들을 수신하지 않고 디코더가 잔차 BPU(210)를 재구성할 수 있는, 변환 계수들만을 레코딩할 수 있다. 잔차 BPU(210)와 비교하여, 변환 계수들은 더 적은 비트들을 가질 수 있지만, 현저한 품질 악화 없이 잔차 BPU(210)를 재구성하는 데 사용될 수 있다. 따라서, 잔차 BPU(210)는 추가로 압축된다.
인코더는 양자화 스테이지(214)에서 변환 계수들을 추가로 압축할 수 있다. 변환 프로세스에서, 상이한 기본 패턴들은 상이한 변동 주파수들(예컨대, 밝기 변동 주파수들)을 표현할 수 있다. 인간의 눈들은 보통 저-주파수 변동을 더 잘 인식하기 때문에, 인코더는 디코딩 시에 현저한 품질 악화를 야기함 없이 고-주파수 변동에 관한 정보를 묵살할 수 있다. 예컨대, 양자화 스테이지(214)에서, 인코더는 각각의 변환 계수를 정수 값("양자화 파라미터"로서 지칭됨)으로 나누고 몫을 가장 가까운 정수로 반올림함으로써 양자화된 변환 계수들(216)을 생성할 수 있다. 이러한 동작 후에, 고-주파수 기본 패턴들의 일부 변환 계수들은 0으로 컨버팅될 수 있고, 저-주파수 기본 패턴들의 변환 계수들은 더 작은 정수들로 컨버팅될 수 있다. 인코더는 0-값 양자화된 변환 계수들(216) - 이에 의해 변환 계수들이 추가로 압축됨 - 을 묵살할 수 있다. 양자화 프로세스는 또한 가역적이며, 여기서 양자화된 변환 계수들(216)은 양자화의 역동작("역양자화"로서 지칭됨)에서 변환 계수들로 재구성될 수 있다.
인코더가 반올림 동작에서 이러한 나눗셈들의 나머지들을 묵살하기 때문에, 양자화 스테이지(214)는 손실성일 수 있다. 통상적으로, 양자화 스테이지(214)는 프로세스(200A)에서 가장 많은 정보 손실에 기여할 수 있다. 정보 손실이 클수록, 양자화된 변환 계수들(216)이 필요로 할 수 있는 비트들이 더 적다. 정보 손실의 상이한 레벨들을 획득하기 위해, 인코더는 양자화 파라미터의 상이한 값들 또는 양자화 프로세스의 임의의 다른 파라미터를 사용할 수 있다.
이진 코딩 스테이지(226)에서, 인코더는 예컨대, 엔트로피 코딩, 가변 길이 코딩, 산술 코딩, 호프만(Huffman) 코딩, 맥락-적응 이진 산술 코딩, 또는 임의의 다른 무손실성 또는 손실성 압축 알고리즘과 같은 이진 코딩 기술을 사용하여 예측 데이터(206) 및 양자화된 변환 계수들(216)을 인코딩할 수 있다. 일부 실시예들에서, 예측 데이터(206) 및 양자화된 변환 계수들(216) 외에도, 인코더는 예컨대, 예측 스테이지(204)에서 사용되는 예측 모드, 예측 동작의 파라미터, 변환 스테이지(212)에서의 변환 유형, 양자화 프로세스의 파라미터들(예컨대, 양자화 파라미터들), 인코더 제어 파라미터(예컨대, 비트레이트 제어 파라미터) 등과 같은 다른 정보를 이진 코딩 스테이지(226)에서 인코딩할 수 있다. 인코더는 이진 코딩 스테이지(226)의 출력 데이터를 사용하여 비디오 비트스트림(228)을 생성할 수 있다. 일부 실시예들에서, 비디오 비트스트림(228)은 추가로 네트워크 송신을 위해 패킷화될 수 있다.
프로세스(200A)의 재구성 경로를 참조하면, 역양자화 스테이지(218)에서, 인코더는 양자화된 변환 계수들(216)에 대해 역양자화를 수행하여 재구성된 변환 계수들을 생성할 수 있다. 역변환 스테이지(220)에서, 인코더는 재구성된 변환 계수들에 기초하여 재구성된 잔차 BPU(222)를 생성할 수 있다. 인코더는 재구성된 잔차 BPU(222)를 예측된 BPU(208)에 추가하여 프로세스(200A)의 다음 반복에서 사용될 예측 참조(224)를 생성할 수 있다.
프로세스(200A)의 다른 변동들이 비디오 시퀀스(202)를 인코딩하는 데 사용될 수 있다는 것이 주의되어야 한다. 일부 실시예들에서, 프로세스(200A)의 스테이지들은 인코더에 의해 상이한 순서들로 수행될 수 있다. 일부 실시예들에서, 프로세스(200A)의 하나 이상의 스테이지들은 단일 스테이지로 결합될 수 있다. 일부 실시예들에서, 프로세스(200A)의 단일 스테이지는 다수의 스테이지들로 분할될 수 있다. 예컨대, 변환 스테이지(212) 및 양자화 스테이지(214)는 단일 스테이지로 결합될 수 있다. 일부 실시예들에서, 프로세스(200A)는 부가적인 스테이지들을 포함할 수 있다. 일부 실시예들에서, 프로세스(200A)는 도 2a의 하나 이상의 스테이지들을 생략할 수 있다.
도 2b는 본 개시내용의 실시예들과 일치하는, 다른 예시적인 인코딩 프로세스(200B)의 개략도를 예시한다. 프로세스(200B)는 프로세스(200A)로부터 수정될 수 있다. 예컨대, 프로세스(200B)는 하이브리드 비디오 코딩 표준(예컨대, H.26x 시리즈들)에 부합하는 인코더에 의해 사용될 수 있다. 프로세스(200A)와 비교하여, 프로세스(200B)의 순방향 경로는 부가적으로 모드 결정 스테이지(230)를 포함하고 예측 스테이지(204)를 공간적 예측 스테이지(2042) 및 시간적 예측 스테이지(2044)로 분할한다. 프로세스(200B)의 재구성 경로는 부가적으로 루프 필터 스테이지(232) 및 버퍼(234)를 포함한다.
일반적으로, 예측 기술들은 두 가지 유형들: 공간적 예측과 시간적 예측으로 카테고리화될 수 있다. 공간적 예측(예컨대, 화상-내 예측 또는 "인트라 예측(intra prediction)")은 타겟 BPU를 예측하기 위해 동일한 화상 내 하나 이상의 이미 코딩된 이웃 BPU들로부터의 픽셀들을 사용할 수 있다. 즉, 공간적 예측에서의 예측 참조(224)는 이웃 BPU들을 포함할 수 있다. 공간적 예측은 화상의 고유한 공간 중복성을 감소시킬 수 있다. 시간적 예측(예컨대, 화상-간 예측 또는 "인터 예측(inter prediction")은 타겟 BPU를 예측하기 위해 하나 이상의 이미 코딩된 화상들로부터의 구역들을 사용할 수 있다. 즉, 시간적 예측에서의 예측 참조(224)는 코딩된 화상들을 포함할 수 있다. 시간적 예측은 화상들의 고유한 시간 중복성을 감소시킬 수 있다.
프로세스(200B)를 참조하면, 순방향 경로에서, 인코더는 공간적 예측 스테이지(2042) 및 시간적 예측 스테이지(2044)에서 예측 동작을 수행한다. 예컨대, 공간적 예측 스테이지(2042)에서, 인코더는 인트라 예측을 수행할 수 있다. 인코딩되는 화상의 오리지널 BPU에 대해, 예측 참조(224)는 동일한 화상에서 (순방향 경로에서) 인코딩되고 (재구성된 경로에서) 재구성된 하나 이상의 이웃 BPU들을 포함할 수 있다. 인코더는 이웃 BPU들을 외삽함으로써 예측된 BPU(208)를 생성할 수 있다. 외삽 기술들은, 예컨대, 선형 외삽 또는 내삽, 다항식 외삽 또는 내삽 등을 포함할 수 있다. 일부 실시예들에서, 인코더는 이를테면, 예측된 BPU(208)의 각각의 픽셀에 대한 대응하는 픽셀들의 값들을 외삽함으로써, 픽셀 레벨에서 외삽을 수행할 수 있다. 외삽에 대해 사용되는 이웃 BPU들은 오리지널 BPU에 대해, 다양한 방향들로부터 이를테면, 수직 방향(예컨대, 오리지널 BPU의 상단), 수평 방향(예컨대, 오리지널 BPU의 좌측으로), 대각선 방향(예컨대, 오리지널 BPU의 좌측-아래로, 우측-아래로, 좌측-위로 또는 우측-위로) 또는 사용된 비디오 코딩 표준에 정의된 임의의 방향으로 로케이팅될 수 있다. 인트라 예측을 위해, 예측 데이터(206)는, 예컨대, 사용된 이웃 BPU들의 로케이션들(예컨대, 좌표들), 사용된 이웃 BPU들의 크기들, 외삽의 파라미터들, 오리지널 BPU에 대한 사용된 이웃 BPU들의 방향 등을 포함할 수 있다.
다른 예를 들면, 시간적 예측 스테이지(2044)에서, 인코더는 인터 예측을 수행할 수 있다. 타겟 화상의 오리지널 BPU에 대해, 예측 참조(224)는 (순방향 경로에서) 인코딩되고 (재구성된 경로에서) 재구성된 하나 이상의 화상들("참조 화상들"로서 지칭됨)을 포함할 수 있다. 일부 실시예들에서, 참조 화상은 BPU별로 인코딩 및 재구성될 수 있다. 예컨대, 인코더는 재구성된 잔차 BPU(222)를 예측된 BPU(208)에 추가하여 재구성된 BPU를 생성할 수 있다. 동일한 화상의 모든 재구성된 BPU들이 생성될 때, 인코더는 참조 화상으로서 재구성된 화상을 생성할 수 있다. 인코더는 참조 화상의 범위("검색 창"으로 지칭됨)에서 매칭 구역을 검색하기 위해 "모션 추정(motion estimation)"의 동작을 수행할 수 있다. 참조 화상에서 검색 창의 로케이션은 타겟 화상에서 오리지널 BPU의 로케이션에 기초하여 결정될 수 있다. 예컨대, 검색 창은 참조 화상에서 타겟 화상의 오리지널 BPU와 동일한 좌표들을 갖는 로케이션에 중심을 둘 수 있고 미리 결정된 거리만큼 확장될 수 있다. 인코더가 검색 창에서 오리지널 BPU와 유사한 구역을 (예컨대, PRA(pel-recursive algorithm) , 블록-매칭 알고리즘 등을 사용함으로써) 식별할 때, 인코더는 그러한 구역을 매칭 구역으로서 결정할 수 있다. 매칭 구역은 오리지널 BPU와 상이한 디멘션들(예컨대, 더 작거나, 동일하거나, 더 크거나, 상이한 형상)을 가질 수 있다. 참조 화상 및 타겟 화상은 (예컨대, 도 1에 도시된 바와 같이) 타임라인에서 시간적으로 분리되기 때문에, 시간이 지남에 따라 매칭 구역이 오리지널 BPU의 로케이션으로 "이동한다"고 간주될 수 있다. 인코더는 "모션 벡터"로서 이러한 모션의 방향 및 거리를 레코딩할 수 있다. (예컨대, 도 1의 화상(106)과 같이) 다수의 참조 화상들이 사용될 때, 인코더는 매칭 구역을 검색하고 각각의 참조 화상에 대한 연관된 자신의 모션 벡터를 결정할 수 있다. 일부 실시예들에서, 인코더는 개개의 매칭 참조 화상들의 매칭 구역들의 픽셀 값들에 가중치들을 할당할 수 있다.
모션 추정은, 예컨대, 병진운동들, 회전들, 주밍(zooming) 등과 같은 다양한 유형들의 모션들을 식별하는 데 사용될 수 있다. 인터 예측에 대해, 예측 데이터(206)는, 예컨대, 매칭 구역의 로케이션들(예컨대, 좌표들), 매칭 구역과 연관된 모션 벡터들, 참조 화상들의 수, 참조 화상들과 연관된 가중치들 등을 포함할 수 있다.
예측된 BPU(208)를 생성하기 위해, 인코더는 "모션 보상"의 동작을 수행할 수 있다. 모션 보상은 예측 데이터(206)(예컨대, 모션 벡터) 및 예측 참조(224)에 기초하여 예측된 BPU(208)를 재구성하는데 사용될 수 있다. 예컨대, 인코더는, 인코더가 타겟 화상의 오리지널 BPU를 예측할 수 있는 모션 벡터에 따라 참조 화상의 매칭 구역을 이동시킬 수 있다. (예컨대, 도 1의 화상(106)과 같이) 다수의 참조 화상들이 사용될 때, 인코더는 매칭 구역들의 평균 픽셀 값들 및 개개의 모션 벡터들에 따라 참조 화상들의 매칭 구역들을 이동시킬 수 있다. 일부 실시예들에서, 인코더가 개개의 매칭 참조 화상들의 매칭 구역들의 픽셀 값들에 가중치들을 할당한 경우, 인코더는 이동된 매칭 구역들의 픽셀 값들의 가중합을 추가할 수 있다.
일부 실시예들에서, 인터 예측은 단방향성 또는 양방향성일 수 있다. 단방향 인터 예측들은 타겟 화상에 대해 동일한 시간 방향으로 하나 이상의 참조 화상들을 사용할 수 있다. 예컨대, 도 1의 화상(104)은 참조 화상(즉, 화상(102))이 화상(104)에 선행하는 단방향 인터 예측 화상이다. 양방향 인터 예측들은 타겟 화상에 대해 양쪽 시간 방향들에서 하나 이상의 참조 화상들을 사용할 수 있다. 예컨대, 도 1의 화상(106)은 참조 화상들(즉, 화상들(104 및 108))이 화상(104)에 대해 양쪽 시간 방향들에 있는 양방향 인터 예측 화상이다.
여전히 프로세스(200B)의 순방향 경로를 참조하면, 공간적 예측 스테이지(2042) 및 시간적 예측 스테이지(2044) 이후에, 모드 판단 스테이지(230)에서, 인코더는 프로세스(200B)의 현재 반복에 대해 예측 모드(예컨대, 인트라 예측 또는 인터 예측 중 하나)를 선택할 수 있다. 예컨대, 인코더는 레이트-왜곡 최적화 기술을 수행할 수 있는데, 여기에서 인코더는 후보 예측 모드의 비트레이트 및 후보 예측 모드 하의 재구성된 참조 화상의 왜곡에 의존하여 비용 함수의 값을 최소화하도록 예측 모드를 선택할 수 있다. 선택된 예측 모드에 의존하여, 인코더는 대응하는 예측된 BPU(208) 및 예측된 데이터(206)를 생성할 수 있다.
프로세스(200B)의 재구성 경로에서, 순방향 경로에서 인트라 예측 모드가 선택된 경우, 예측 참조(224)(예컨대, 타겟 화상에서 인코딩 및 재구성된 타겟 BPU)를 생성한 후, 인코더는 추후 사용을 위해(예컨대, 타겟 화상의 다음 BPU의 외삽을 위해) 예측 참조(224)를 공간적 예측 스테이지(2042)로 직접 공급할 수 있다. 순방향 경로에서 인터 예측 모드가 선택된 경우, 예측 참조(224)(예컨대, 모든 BPU들이 인코딩 및 재구성된 타겟 화상)를 생성한 후, 인코더는 예측 참조(224)를 루프 필터 스테이지(232)로 공급할 수 있으며, 여기에서 인코더는 예측 참조(224)에 루프 필터를 적용하여 인터 예측에 의해 도입된 왜곡(예컨대, 블로킹 아티팩트들(blocking artifacts)을 감소시키거나 제거할 수 있다. 인코더는 루프 필터 스테이지(232)에서, 예컨대, 디블로킹(deblocking), 샘플 적응적 오프셋들, 적응적 루프 필터들 등과 같은 다양한 루프 필터 기술들을 적용할 수 있다. 루프-필터링된 참조 화상은 후 사용을 위해(예컨대, 비디오 시퀀스(202)의 미래 화상에 대한 인터-예측 참조 화상으로서 사용되도록) 버퍼(234)(또는 "디코딩된 화상 버퍼")에 저장될 수 있다. 인코더는 시간적 예측 스테이지(2044)에서 사용되도록 버퍼(234)에 하나 이상의 참조 화상들을 저장할 수 있다. 일부 실시예들에서, 인코더는 양자화된 변환 계수들(216), 예측 데이터(206) 및 다른 정보와 함께, 이진 코딩 스테이지(226)에서 루프 필터의 파라미터들(예컨대, 루프 필터 강도)을 인코딩할 수 있다.
도 3a는 본 개시내용의 실시예들과 일치하는, 예시적인 디코딩 프로세스(300A)의 개략도를 예시한다. 프로세스(300A)는 도 2a의 압축 프로세스(200A)에 대응하는 압축해제 프로세스일 수 있다. 일부 실시예들에서, 프로세스(300A)는 프로세스(200A)의 재구성 경로와 유사할 수 있다. 디코더는 프로세스(300A)에 따라 비디오 비트스트림(228)을 비디오 스트림(304)으로 디코딩할 수 있다. 비디오 스트림(304)은 비디오 시퀀스(202)와 매우 유사할 수 있다. 그러나, 압축 및 압축해제 프로세스(예컨대, 도 2a 및 도 2b의 양자화 스테이지(214))에서의 정보 손실로 인해, 보통, 비디오 스트림(304)은 비디오 시퀀스와 동일하지 않다. 도 2a 및 도 2b의 프로세스들(200A 및 200B)과 유사하게, 디코더는 비디오 비트스트림(228)에 인코딩된 각각의 화상에 대해 기본 프로세싱 유닛들(BPU들)의 레벨에서 프로세스(300A)를 수행할 수 있다. 예컨대, 디코더는 프로세스(300A)를 반복적인 방식으로 수행할 수 있고, 여기서 디코더는 프로세스(300A)의 한 번의 반복에서 기본 프로세싱 유닛을 디코딩할 수 있다. 일부 실시예들에서, 디코더는 비디오 비트스트림(228)에 인코딩된 각각의 화상의 구역들(예컨대, 구역들(114-118))에 대해 병렬로 프로세스(300A)를 수행할 수 있다.
도 3a에서, 디코더는 인코딩된 화상의 기본 프로세싱 유닛("인코딩된 BPU"로서 지칭됨)과 연관된 비디오 비트스트림(228)의 부분을 이진 디코딩 스테이지(302)로 공급할 수 있다. 이진 디코딩 스테이지(302)에서, 디코더는 이 부분을 예측 데이터(206) 및 양자화된 변환 계수들(216)로 디코딩할 수 있다. 디코더는 양자화된 변환 계수들(216)을 역양자화 스테이지(218) 및 역변환 스테이지(220)로 공급하여 재구성된 잔차 BPU(222)를 생성할 수 있다. 디코더는 예측 데이터(206)를 예측 스테이지(204)로 공급하여 예측된 BPU(208)를 생성할 수 있다. 디코더는 재구성된 잔차 BPU(222)를 예측된 BPU(208)에 추가하여 예측된 참조(224)를 생성할 수 있다. 일부 실시예들에서, 예측된 참조(224)는 버퍼(예컨대, 컴퓨터 메모리의 디코딩된 화상 버퍼)에 저장될 수 있다. 디코더는 프로세스(300A)의 다음 반복에서 예측 동작을 수행하기 위해 예측된 참조(224)를 예측 스테이지(204)로 공급할 수 있다.
디코더는 인코딩된 화상의 각각의 인코딩된 BPU를 디코딩하고 인코딩된 화상의 다음 인코딩된 BPU를 인코딩하기 위한 예측된 참조(224)를 생성하기 위해 프로세스(300A)를 반복적으로 수행할 수 있다. 인코딩된 화상의 모든 인코딩된 BPU들을 디코딩한 후, 디코더는 디스플레이를 위해 화상을 비디오 스트림(304)으로 출력하고 비디오 비트스트림(228)에서 다음 인코딩된 화상을 디코딩하도록 진행할 수 있다.
이진 디코딩 스테이지(302)에서, 디코더는 인코더에 의해 사용되는 이진 코딩 기술(예컨대, 엔트로피 코딩, 가변 길이 코딩, 산술 코딩, 호프만 코딩, 맥락-적응 이진 산술 코딩, 또는 임의의 다른 무손실 압축 알고리즘)의 역 동작을 수행할 수 있다. 일부 실시예들에서, 예측 데이터(206) 및 양자화된 변환 계수들(216) 외에도, 디코더는, 예컨대, 예측 모드, 예측 동작의 파라미터들, 변환 유형, 양자화 프로세스의 파라미터들(예컨대, 양자화 파라미터들), 인코더 제어 파라미터(예컨대, 비트레이트 제어 파라미터) 등과 같은 다른 정보를 이진 디코딩 스테이지(302)에서 디코딩할 수 있다. 일부 실시예들에서, 비디오 비트스트림(228)이 네트워크를 통해 패킷들에서 송신되는 경우, 디코더는 비디오 비트스트림(228)을 이진 디코딩 스테이지(302)로 공급하기 전에 패킷해제(depacketize)할 수 있다.
도 3b는 본 개시내용의 실시예들과 일치하는, 다른 예시적인 디코딩 프로세스(300B)의 개략도를 예시한다. 프로세스(300B)는 프로세스(300A)로부터 수정될 수 있다. 예컨대, 프로세스(300B)는 하이브리드 비디오 코딩 표준(예컨대, H.26x 시리즈들)에 부합하는 디코더에 의해 사용될 수 있다. 프로세스(300A)와 비교하여, 프로세스(300B)는 부가적으로 예측 스테이지(204)를 공간적 예측 스테이지(2042) 및 시간적 예측 스테이지(2044)로 분할하고, 루프 필터 스테이지(232) 및 버퍼(234)를 부가적으로 포함한다.
프로세스(300B)에서, 디코딩되고 있는 인코딩된 화상("현재 화상" 또는 "타겟 화상"으로서 지칭됨)의 인코딩된 기본 프로세싱 유닛("현재 BPU" 또는 "타겟 BPU"로서 지칭됨)에 대해, 디코더에 의해 이진 디코딩 스테이지(302)로부터 디코딩된 예측 데이터(206)는, 인코더에 의해 타겟 BPU를 인코딩하기 위해 어떤 예측 모드가 사용되었는지에 의존하여, 다양한 유형들의 데이터를 포함할 수 있다. 예컨대, 타겟 BPU를 인코딩하기 위해 인코더에 의해 인트라 예측이 사용된 경우, 예측 데이터(206)는 인트라 예측을 표시하는 예측 모드 표시자(예컨대, 플래그 값), 인트라 예측 동작의 파라미터들 등을 포함할 수 있다. 인트라 예측 동작의 파라미터들은, 예컨대, 참조로서 사용되는 하나 이상의 이웃 BPU들의 로케이션들(예컨대, 좌표들), 이웃 BPU들의 크기들, 외삽의 파라미터들, 오리지널 BPU에 대한 이웃 BPU들의 방향 등을 포함할 수 있다. 다른 예를 들면, 타겟 BPU를 인코딩하기 위해 인코더에 의해 인터 예측이 사용된 경우, 예측 데이터(206)는 인터 예측을 표시하는 예측 모드 표시자(예컨대, 플래그 값), 인터 예측 동작의 파라미터들 등을 포함할 수 있다. 인터 예측 동작의 파라미터들은, 예컨대, 타겟 BPU와 연관된 참조 화상들의 수, 참조 화상들과 각자 연관된 가중치들, 개개의 참조 화상들 내 하나 이상의 매칭 구역들의 로케이션들(예컨대, 좌표들), 매칭 구역들과 각자 연관된 하나 이상의 모션 벡터들 등을 포함할 수 있다.
예측 모드 표시자에 기초하여, 디코더는 공간적 예측 스테이지(2042)에서 공간적 예측(예컨대, 인트라 예측)을 수행할지 또는 시간적 예측 스테이지(2044)에서 시간적 예측(예컨대, 인터 예측)을 수행할지를 결정할 수 있다. 그러한 공간적 예측 또는 시간적 예측을 수행하는 것에 대한 세부사항들은 도 2b에서 설명되며 이후에 반복되지 않을 것이다. 그러한 공간적 예측 또는 시간적 예측을 수행한 후, 디코더는 예측된 BPU(208)를 생성할 수 있다. 도 3a에 설명된 바와 같이, 디코더는 예측된 BPU(208) 및 재구성된 잔차 BPU(222)를 더하여 예측 참조(224)를 생성할 수 있다.
프로세스(300B)에서, 디코더는 프로세스(300B)의 다음 반복에서 예측 동작을 수행하기 위해 예측된 참조(224)를 공간적 예측 스테이지(2042) 또는 시간적 예측 스테이지(2044)에 공급할 수 있다. 예컨대, 타겟 BPU가 공간적 예측 스테이지(2042)에서 인트라 예측을 사용하여 디코딩되는 경우, 예측 참조(224)(예컨대, 디코딩된 타겟 BPU)를 생성한 후에, 디코더는 추후 사용을 위해(예컨대, 타겟 화상의 다음 BPU의 외삽을 위해) 예측 참조(224)를 공간적 예측 스테이지(2042)로 직접 공급할 수 있다. 타겟 BPU가 시간적 예측 스테이지(2044)에서 인터 예측을 사용하여 디코딩되는 경우, 예측 참조(224)(예컨대, 모든 BPU들이 디코딩된 참조 화상)를 생성한 후, 인코더는 예측 참조(224)를 루프 필터 스테이지(232)로 공급하여 왜곡(예컨대, 블로킹 아티팩트들)을 감소시키거나 제거할 수 있다. 디코더는 도 2b에 설명된 바와 같은 방식으로 루프 필터를 예측 참조(224)에 적용할 수 있다. 루프-필터링된 참조 화상은 추후 사용을 위해(예컨대, 비디오 비트스트림(228)의 미래 인코딩된 화상에 대한 인터-예측 참조 화상으로서 사용되도록) 버퍼(234)(예컨대, 컴퓨터 메모리의 디코딩된 화상 버퍼)에 저장될 수 있다. 디코더는 시간적 예측 스테이지(2044)에서 사용되도록 버퍼(234)에 하나 이상의 참조 화상들을 저장할 수 있다. 일부 실시예들에서, 타겟 BPU를 인코딩하기 위해 인터 예측이 사용되었음을 예측 데이터(206)의 예측 모드 표시자가 표시할 때, 예측 데이터는 루프 필터의 파라미터들(예컨대, 루프 필터 강도)을 더 포함할 수 있다.
도 4는 본 개시내용의 실시예들과 일치하는, 비디오를 인코딩 또는 디코딩하기 위한 예시적인 장치(400)의 블록도를 예시한다. 도 4에 도시된 바와 같이, 장치(400)는 프로세서(402)를 포함할 수 있다. 프로세서(402)가 본원에 설명된 명령들을 실행할 때, 장치(400)는 비디오 인코딩 또는 디코딩을 위한 특수 기계가 될 수 있다. 프로세서(402)는 정보를 조작하거나 프로세싱할 수 있는 임의의 유형의 회로일 수 있다. 예컨대, 프로세서(402)는 중앙 처리 장치(또는 "CPU"), 그래픽 프로세싱 장치(또는 "GPU"), 뉴럴 프로세싱 유닛("NPU"), 마이크로제어기 유닛("MCU"), 광학 프로세서, 프로그래밍 가능 로직 제어기, 마이크로제어기, 마이크로프로세서, 디지털 신호 프로세서, 지적 재산(IP) 코어, 프로그래밍 가능 로직 어레이(PLA), 프로그래밍 가능 어레이 로직(PAL), 일반 어레이 로직(GAL), 복합 프로그래밍 가능 로직 디바이스(CPLD), 필드-프로그래밍 가능 게이트 어레이(FPGA), 시스템 온 시스템(SoC), 주문형 집적 회로(ASIC) 등의 임의의 수의 임의의 조합을 포함할 수 있다. 일부 실시예들에서, 프로세서(402)는 또한 단일 로직 구성요소로서 그룹화된 프로세서들의 세트일 수 있다. 예컨대, 도 4에 도시된 바와 같이, 프로세서(402)는 프로세서(402a), 프로세서(402b) 및 프로세서(402n)를 포함하는 다수의 프로세서들을 포함할 수 있다.
장치(400)는 또한 데이터(예컨대, 명령들의 세트, 컴퓨터 코드들, 중간 데이터 등)를 저장하도록 구성된 메모리(404)를 포함할 수 있다. 예컨대, 도 4에 도시된 바와 같이, 저장된 데이터는 프로그램 명령들(예컨대, 프로세스들(200A, 200B, 300A 또는 300B)의 스테이지들을 구현하기 위한 프로그램 명령들) 및 프로세싱을 위한 데이터(예컨대, 비디오 시퀀스(202), 비디오 비트스트림(228) 또는 비디오 스트림(304))를 포함할 수 있다. 프로세서(402)는 (예컨대, 버스(410)를 통해) 프로그램 명령들 및 프로세싱을 위한 데이터에 액세스할 수 있고, 프로그램 명령들을 실행하여 프로세싱을 위한 데이터에 대한 동작 또는 조작을 수행할 수 있다. 메모리(404)는 고속 랜덤-액세스 저장 디바이스 또는 비-휘발성 저장 디바이스를 포함할 수 있다. 일부 실시예들에서, 메모리(404)는 랜덤-액세스 메모리(RAM), 판독-전용 메모리(ROM), 광학 디스크, 자기 디스크, 하드 드라이브, 솔리드-스테이트 드라이브, 플래시 드라이브, 보안 디지털(SD) 카드, 메모리 스틱, 콤팩트 플래시(CF) 카드 등의 임의의 수의 임의의 조합을 포함할 수 있다. 메모리(404)는 또한 단일의 로직 구성요소로서 그룹화된 메모리들의 그룹(도 4에 도시되지 않음)일 수 있다.
버스(410)는 내부 버스(예컨대, CPU-메모리 버스), 외부 버스(예컨대, 범용 직렬 버스 포트, 주변 구성요소 인터커넥트 익스프레스 포트) 등과 같이, 장치(400) 내부의 구성요소들 사이에서 데이터를 전달하는 통신 디바이스일 수 있다.
모호함을 야기함 없이 설명의 용이함을 위해, 프로세서(402) 및 다른 데이터 프로세싱 회로들은 본 개시내용에서 "데이터 프로세싱 회로"로서 집합적으로 지칭된다. 데이터 프로세싱 회로는 전체적으로 하드웨어로서 구현되거나 소프트웨어, 하드웨어 또는 펌웨어의 조합으로서 구현될 수 있다. 또한, 데이터 프로세싱 회로는 단일 독립 모듈일 수 있거나 장치(400)의 임의의 다른 구성요소에 전체적으로 또는 부분적으로 결합될 수 있다.
장치(400)는 네트워크(예컨대, 인터넷, 인트라넷, 로컬 영역 네트워크, 모바일 통신 네트워크 등)와의 유선 또는 무선 통신을 제공하기 위한 네트워크 인터페이스(406)를 더 포함할 수 있다. 일부 실시예들에서, 네트워크 인터페이스(406)는 네트워크 인터페이스 제어기(NIC), 라디오 주파수(RF) 모듈, 트랜스폰더, 트랜시버, 모뎀, 라우터, 게이트웨이, 유선 네트워크 어댑터, 무선 네트워크 어댑터, 블루투스 어댑터, 적외선 어댑터, 근거리 통신("NFC") 어댑터, 셀룰러 네트워크 칩 등의 임의의 수의 임의의 조합을 포함할 수 있다.
일부 실시예들에서, 선택적으로, 장치(400)는 하나 이상의 주변 디바이스들에 대한 연결을 제공하기 위해 주변 인터페이스(408)를 더 포함할 수 있다. 도 4에 도시된 바와 같이, 주변 디바이스는 커서 제어 디바이스(예컨대, 마우스, 터치패드 또는 터치스크린), 키보드, 디스플레이(예컨대, 음극선관 디스플레이, 액정 디스플레이, 또는 발광 다이오드 디스플레이), 비디오 입력 디바이스(예컨대, 비디오 아카이브에 통신 가능하게 커플링된 입력 인터페이스 또는 카메라) 등을 포함할 수 있지만, 이에 제한되지 않는다.
비디오 코덱들(예컨대, 코덱 수행 프로세스(200A, 200B, 300A 또는 300B))은 장치(400)에서 임의의 소프트웨어 또는 하드웨어 모듈의 임의의 조합으로서 구현될 수 있다는 것이 주의되어야 한다. 예컨대, 프로세스(200A, 200B, 300A 또는 300B)의 일부 또는 모든 스테이지들은 장치(400)의 하나 이상의 소프트웨어 모듈들 이를테면, 메모리(404) 내에 로딩될 수 있는 프로그램 명령들로서 구현될 수 있다. 다른 예를 들면, 프로세스(200A, 200B, 300A 또는 300B)의 일부 또는 모든 스테이지들은, 장치(400)의 하나 이상의 하드웨어 모듈들 이를테면, 특수 데이터 프로세싱 회로(예컨대, FPGA, ASIC, NPU 등)로서 구현될 수 있다.
양자화 및 역양자화 기능 블록들(예컨대, 도 2a 또는 도 2b의 양자화(214) 및 역양자화(218), 도 3a 또는 도 3b의 역양자화(218))에서, 예측 잔차들에 적용되는 양자화(및 역양자화)의 양을 결정하기 위하여 양자화 파라미터(QP)가 사용된다. 화상 또는 슬라이스의 코딩에 대해 사용되는 초기 QP 값들은, 예컨대, 화상 파라미터 세트(Picture Parameter Set; PPS)의 init_qp_minus26 신택스 요소를 사용하여 그리고 슬라이스 헤더의 slice_qp_delta 신택스 요소를 사용하여 고레벨에서 시그널링될 수 있다. 또한, QP 값들은 양자화 그룹들의 입도(granulity)에서 전송된 델타 QP 값들을 사용하여 각각의 CU에 대한 로컬 레벨에서 적응될 수 있다.
일부 실시간 애플리케이션들(예컨대, 비디오 회의 또는 원격 동작 시스템)에서, 시스템의 레이턴시는 시스템의 사용자 경험 및 신뢰도에 크게 영향을 미치는 중요한 이슈일 수 있다. 예컨대, ITU-T G.114는 양방향 오디오-비디오 통신의 경우 레이턴시에 대해 수락 가능한 상한은 150 밀리초라고 지정한다. 다른 예에서, 가상 현실 애플리케이션들은 통상적으로 머리 움직임과 움직임에 의해 야기된 시각적 효과 사이의 타이밍 불일치에 의해 야기되는 멀미(motion sickness)를 회피하기 위해 20 밀리초 미만의 초저(ultra-low) 레이턴시를 요구한다.
실시간 비디오 애플리케이션 시스템에서, 총 레이턴시는 프레임이 캡처된 시간으로부터 디스플레이되는 시간까지의 시간 기간을 포함한다. 즉, 총 레이턴시는 인코더에서의 인코딩 시간, 송신 채널에서의 송신 시간, 디코더에서의 디코딩 시간 및 디코더에서의 출력 지연의 합이다. 일반적으로, 송신 시간은 총 레이턴시에 가장 많이 기여한다. 코딩된 화상의 송신 시간은 통상적으로 코딩된 화상 버퍼(CPB)의 용량을 비디오 시퀀스의 비트레이트로 나눈 것과 동일하다.
본 개시내용에서, "랜덤 액세스"는 비디오 시퀀스 또는 스트림의 임의의 랜덤 액세스 포인트에서 디코딩 프로세스를 시작하고 콘텐츠 면에서 올바른 디코딩된 화상들을 복구하는 능력을 지칭한다. 랜덤 액세스를 지원하고 오류 전파를 방지하기 위해, 인트라 코딩된 랜덤 액세스 포인트(IRAP) 화상이 비디오 시퀀스에 주기적으로 삽입될 수 있다. 그러나, 높은 코딩 효율을 위해, 코딩된 I-화상(예컨대, IRAP 화상)의 크기는 통상적으로 P- 또는 B-화상의 것보다 크다. 더 큰 크기의 IRAP 화상은 평균 송신 지연보다 더 높은 송신 지연을 도입할 수 있다. 따라서, 주기적으로 IRAP 화상들을 삽입하는 것은 저지연 비디오 애플리케이션의 요건을 만족시키지 않을 수 있다.
개시된 실시예와 일치하게, 프로그레시브 인트라 리프레시(PIR) 기술이라고도 하는 점진적 디코딩 리프레시(GDR) 기술은 저지연 코딩을 위해 비디오 시퀀스에서 랜덤 액세스를 인에이블하면서, IRAP 화상들을 삽입함으로써 야기되는 레이턴시를 감소시키는데 사용될 수 있다. GDR은 인트라 코딩된 구역들을 비-인트라 코딩된 화상들(예컨대, B- 또는 P-화상들) 내로 분산시킴으로써 화상들을 점진적으로 리프레시할 수 있다. 그렇게 함으로써, 하이브리드-코딩된 화상들의 크기는 서로 유사할 수 있고, 이에 의해 CPB의 크기는 (예컨대, 비디오 시퀀스의 비트 레이트를 화상 레이트로 나눈 값과 동일한 값으로) 감소되거나 최소화될 수 있고, 전체 지연에서 인코딩 시간 및 디코딩 시간이 감소될 수 있다.
예로서, 도 5는 본 개시내용의 일부 실시예들과 일치하는, 점진적 디코딩 리프레시(GDR)의 예시적인 동작을 예시하는 개략도이다. 도 5는 비디오 시퀀스(예컨대, 도 1의 비디오 시퀀스(100))의 다수의 화상들(예컨대, 화상들(504, 506, 508, 510 및 512))을 포함하는 GDR 기간(502)을 도시한다. GDR 기간(502)의 제1 화상은 랜덤 액세스 화상일 수 있는 GDR 화상(504)으로서 지칭되고, GDR 기간(502)의 마지막 화상은 복구 포인트 화상(512)으로서 지칭된다. GDR 기간(502)의 각각의 화상은 인트라 코딩된 구역(도 5의 각각의 화상에서 "INTRA"로서 레이블링된 수직 박스들에 의해 표현됨)을 포함한다. 각각의 인트라 코딩된 구역은 전체 화상의 상이한 부분들을 커버할 수 있다. 도 5에 도시된 바와 같이, 인트라 코딩된 구역들은 GDR 기간(502)에서 전체 화상을 점진적으로 커버할 수 있다. 인트라 코딩된 구역들이 도 5에서 직사각형 슬라이스들로서 도시되지만, 이들은 다양한 형상들 및 크기들로서 구현될 수 있으며, 본 개시내용에서 설명된 예들에 의해 제한되지 않는다는 것이 주의되어야 한다.
인트라 코딩된 구역에 의해 분할되어, GDR 기간(502)에서 GDR 화상(504) 및 복구 포인트 화상(512) 이외의 화상(예컨대, 화상들(506-510) 중 임의의 것)은 2개의 구역들: 이미 리프레시된 픽셀들을 포함하는 "클린 구역", 및 어쩌면, 이전 화상들에서의 송신 오류들에 의해 손상되고 아직 리프레시되지 않은(예컨대, 이는 후속 화상들에서 리프레시될 수 있는) 픽셀들을 포함하는 "더티 구역"을 포함할 수 있다. 현재 화상(예컨대, 화상(510))의 클린 구역은 참조들로서, 이전 화상들(예컨대, 화상들(508, 506) 및 GDR 화상(504))의 인트라 코딩된 구역들 또는 클린 구역들 중 적어도 하나를 사용하여 재구성된 픽셀들을 포함할 수 있다. 현재 화상(예컨대, 화상(510))의 클린 구역은 참조들로서, 이전 화상들(예컨대, 화상들(508, 506), 및 GDR 화상(504))의 더티 구역들, 클린 구역들, 또는 인트라 코딩된 구역들 중 적어도 하나를 사용하여 재구성된 픽셀들을 포함할 수 있다.
GDR 기술의 원리는 임의의 더티 구역(예컨대, 현재 화상 또는 임의의 이전 화상의 더티 구역)으로부터의 어떠한 정보도 사용하지 않고 클린 구역의 픽셀들이 재구성되도록 보장하는 것이다. 예로서, 도 5에서, GDR 화상(504)은 더티 구역(514)을 포함한다. 화상(506)은 참조로서, GDR 화상(504)의 인트라 코딩된 구역을 사용하여 재구성될 수 있는 클린 구역(516) 및 참조로서 GDR 화상(504)의 임의의 부분(예컨대, 인트라 코딩된 구역 또는 더티 구역(514) 중 적어도 하나)을 사용하여 재구성될 수 있는 더티 구역(518)을 포함한다. 화상(508)은 참조로서 화상(504-506)의 인트라 코딩된 구역들(예컨대, 화상들(504 또는 506)의 인트라 코딩된 구역들) 또는 클린 구역들(예컨대, 클린 구역(516)) 중 적어도 하나를 사용하여 재구성될 수 있는 클린 구역(520) 및 참조로서 GDR 화상(504)의 일부(예컨대, 인트라 코딩된 구역 또는 더티 구역(514)) 또는 화상(506)의 일부(예컨대, 클린 구역(516), 인트라 코딩된 구역, 또는 더티 구역(518)) 중 적어도 하나를 사용하여 재구성될 수 있는 더티 구역(522)을 포함한다. 화상(510)은 참조로서 화상(504-508)의 인트라 코딩된 구역들(예컨대, 화상들(504, 506, 또는 508)의 인트라 코딩된 구역들) 또는 클린 구역들(예컨대, 클린 구역들(516 또는 520)) 중 적어도 하나를 사용하여 재구성될 수 있는 클린 구역(524) 및 참조로서 GDR 화상(504)의 일부(예컨대, 인트라 코딩된 구역 또는 더티 구역(514)) 또는 화상(506)의 일부(예컨대, 클린 구역(516), 인트라 코딩된 구역, 또는 더티 구역(518)), 또는 화상(508)의 일부(예컨대, 클린 구역(520), 인트라 코딩된 구역, 또는 더티 구역(522)) 중 적어도 하나를 사용하여 재구성될 수 있는 더티 구역(526)을 포함한다. 복구 포인트 화상(512)은 참조로서 GDR 화상(504)의 일부(예컨대, 인트라 코딩된 구역 또는 더티 구역(514)), 화상(506)의 일부(예컨대, 클린 구역(516), 인트라 코딩된 구역 또는 더티 구역(518)), 화상(508)의 일부(예컨대, 클린 구역(520), 인트라 코딩된 구역 또는 더티 구역(522)), 또는 화상(510)의 일부(예컨대, 클린 구역(524), 인트라 코딩된 구역, 또는 더티 구역(526)) 중 적어도 하나를 사용하여 재구성될 수 있는 클린 구역(528)을 포함한다.
예시된 바와 같이, 복구 포인트 화상(512)의 모든 픽셀들은 리프레시된다. GDR 기술을 사용하여 출력 순서에서 복구 포인트 화상(512)에 후속하는 화상을 디코딩하는 것은 GDR 화상(504)에 선행하는 IRAP 화상을 (마치 존재하는 것처럼) 사용하여 화상을 디코딩하는 것과 동등할 수 있으며, 여기서 IRAP 화상은 화상들(504-512)의 모든 인트라 코딩된 구역들을 커버한다.
예로서, 도 6은 본 개시내용의 일부 실시예들과 일치하는, GDR을 인에이블하는 시퀀스 파라미터 세트(SPS)의 예시적인 신택스 구조를 보여주는 표 1을 예시한다. 표 1에 도시된 바와 같이, GDR "gdr_enabled_flag"의 시퀀스 레벨 인에이블 플래그는 GDR-인에이블된 화상(예컨대, 도 5의 GDR 기간(502)의 임의의 화상)이 비디오 시퀀스에서 존재하는지를 표시하기 위해 비디오 시퀀스의 SPS에서 시그널링될 수 있다. 일부 실시예들에서, VVC/H.266 표준에서, "gdr_enabled_flag"가 참(예컨대, "1"과 동일)인 것은, GDR-인에이블된 화상이 SPS를 참조하는 코딩된 층 비디오 시퀀스(CLVS)에 존재한다는 것을 지정할 수 있고, "gdr_enabled_flag"가 거짓(예컨대, "0"과 동일)인 것은 어떠한 GDR-인에이블된 화상도 CLVS에 존재하지 않음을 지정할 수 있다.
예로서, 도 7은 본 개시내용의 일부 실시예들과 일치하는, GDR을 인에이블하는 화상 헤더의 예시적인 신택스 구조를 보여주는 표 2를 예시한다. 표 2에 도시된 바와 같이, 비디오 시퀀스의 화상에 대해, GDR의 화상 레벨 인에이블 플래그 "gdr_pic_flag"는 화상이 GDR-인에이블되었는지를(예컨대, 도 5의 GDR 기간(502)의 임의의 화상인지를) 표시하기 위해 화상의 화상 헤더에서 시그널링될 수 있다. 화상이 GDR-인에이블되는 경우, 출력 순서에서 복구 포인트 화상(예컨대, 도 5의 복구 포인트 화상(512))을 지정하기 위해 파라미터 "recovert_poc_cnt"가 시그널링될 수 있다. 일부 실시예들에서, VVC/H.266 표준에서, 참(예컨대, "1"과 동일)인 "gdr_pic_flag"는 화상 헤더와 연관된 화상이 GDR-인에이블된 화상임을 지정할 수 있고, 거짓(예컨대, "0"과 동일)인 "gdr_pic_flag"는 화상 헤더와 연관된 화상이 GDR-인에이블된 화상이 아님을 지정할 수 있다.
예로서, VVC/H.266 표준에서, 표 1에 예시된 바와 같은 "gdr_enabled_flag"가 참이고 현재 화상의 파라미터 "PicOrderCntVal"(도 7에서 도시되지 않음)가 "PicOrderCntVal"에 현재 화상과 연관된 GDR-인에이블된 화상(또는 GDR-인에이블된 화상들)의 "recovery_poc_cnt"를 더한 것 이상일 때, 현재 화상 및 출력 순서에서 후속 화상들은 GDR-인에이블된 화상(또는 GDR-인에이블된 화상들)에 선행하는 IRAP 화상으로부터 디코딩 프로세스를 시작함으로써 이들이 디코딩된 것처럼 디코딩될 수 있다.
본 개시내용의 일부 실시예들과 일치하게, 가상 경계 기술은 (예컨대, VVC/H.266 표준에서) GDR을 구현하기 위해 사용될 수 있다. 일부 애플리케이션들(예컨대, 360도 비디오들)에서, 특정 프로젝션 포맷에 대한 레이아웃은 통상적으로 다수의 면들을 가질 수 있다. 이러한 프로젝션 포맷들이 복수의 면들을 포함할 때, 어떤 종류의 콤팩트 프레임 패킹 어레인지먼트가 사용되는지에 관계없이, 프레임 패킹된 화상에서 두 개 이상의 인접한 면들 사이에 불연속성들이 나타날 수 있다. 이 불연속성에 걸쳐 인-루프 필터링 동작들이 수행되는 경우, 렌더링 후 재구성된 비디오에서 면 이음매 아티팩트(face seam artifact)들이 가시적이 될 수 있다.
면 이음매 아티팩트들을 완화하기 위해, 인-루프 필터링 동작들(예컨대, 디블로킹 필터링, 샘플 적응 오프셋 필터링 또는 적응 루프 필터링)은 프레임-패킹된 화상들의 불연속성들에 걸쳐 디스에이블될 수 있으며, 이는 가상 경계 기술(예컨대, VVC 드래프트 7에 의해 채택된 개념)로서 지칭될 수 있다. 예컨대, 인코더는 가상 경계로서 불연속 경계(discontinued boundary)를 세팅하고 가상 경계에 걸쳐 임의의 루프 필터링 동작을 디스에이블할 수 있다. 이렇게 함으로써, 불연속성들에 걸친 루프 필터링이 디스에이블될 수 있다.
GDR의 경우에, 클린 구역(예컨대, 도 5의 화상(508)의 클린 구역(520))과 더티 구역(예컨대, 화상(508)의 더티 구역(522)) 사이의 경계에 걸쳐 어떠한 루프 필터링 동작도 적용되어서는 안 된다. 인코더는 가상 경계로서 클린 구역과 더티 구역 사이의 경계를 세팅하고 가상 경계에 걸쳐 루프 필터링 동작을 디스에이블할 수 있다. 이렇게 함으로써, 가상 경계는 GDR을 구현하는 방식으로서 사용될 수 있다.
일부 실시예들에서, VVC/H.266 표준에서(예컨대, VVC 드래프트 7에서), 가상 경계는 SPS 또는 화상 헤더에서 시그널링될 수 있다. 예로서, 도 8은 본 개시내용의 일부 실시예들과 일치하는, 가상 경계를 인에이블하는 SPS의 예시적인 신택스 구조를 보여주는 표 3을 예시한다. 도 9는 본 개시내용의 일부 실시예들과 일치하는, 가상 경계를 인에이블하는 화상 헤더의 예시적인 신택스 구조를 보여주는 표 4를 예시한다.
표 3에 예시된 바와 같이, 시퀀스 레벨 가상 경계 존재 플래그 "sps_virtual_boundaries_present_flag"는 SPS에서 시그널링될 수 있다. 예컨대, "sps_virtual_boundaries_present_flag"가 참(예컨대, "1"과 동일함)인 것은 가상 경계들의 정보가 SPS에서 시그널링됨을 지정할 수 있고, "sps_virtual_boundaries_present_flag"가 거짓(예컨대, "0"과 동일함)인 것은 가상 경계의 어떠한 정보도 SPS에서 시그널링되지 않음을 지정할 수 있다. 하나 이상의 가상 경계들이 SPS에서 시그널링될 때, 인-루프 필터링 동작들은 SPS를 참조하는 화상들의 가상 경계들에 걸쳐 디스에이블될 수 있다.
표 3에 예시된 바와 같이, 플래그 "sps_virtual_boundaries_present_flag"가 참인 경우, (표 3에서 파라미터들 "sps_num_ver_virtual_boundaries" 및 "sps_num_hor_virtual_boundaries"에 의해 표현되는 바와 같은) 가상 경계들의 수 및 (표 3의 어레이들 "sps_virtual_boundaries_pos_x" 및 "sps_virtual_boundaries_pos_y"에 의해 표현되는 바와 같은) 그의 포지션들이 SPS에서 시그널링될 수 있다. 파라미터들 "sps_num_ver_virtual_boundaries" 및 "sps_num_hor_virtual_boundaries"은 각각 SPS에서 어레이들 "sps_virtual_boundaries_pos_x" 및 "sps_virtual_boundaries_pos_y"의 길이를 지정할 수 있다. 일부 실시예들에서, "sps_num_ver_virtual_boundaries"(또는 "sps_num_hor_virtual_boundaries")이 SPS에 존재하지 않을 때, 그의 값은 0인 것으로 추론될 수 있다. 어레이들 "sps_virtual_boundaries_pos_x" 및 "sps_virtual_boundaries_pos_y"은 각각 8로 나눠진 루마 샘플들 단위의 i번째 수직 또는 수평 가상 경계의 로케이션을 지정할 수 있다. 예컨대, "sps_virtual_boundaries_pos_x[i]"의 값들은 1 내지 Ceil(pic_width_in_luma_samples ÷ 8) - 1의 닫힌 간격(closed interval)에 있을 수 있으며, 여기서 "Ceil"은 천장 함수(ceiling function)를 표현하고 "pic_width_in_luma_samples"는 루마 샘플 단위의 화상의 폭을 표현하는 파라미터이다. "sps_virtual_boundaries_pos_y[i]"의 값들은 1 내지 Ceil(pic_height_in_luma_samples ÷ 8) - 1의 닫힌 간격에 있을 수 있으며, 여기서 "pic_height_in_luma_samples"는 루마 샘플 단위의 화상의 높이를 표현하는 파라미터이다.
일부 실시예들에서, 플래그 "sps_virtual_boundaries_present_flag"가 거짓(예컨대, "0"과 동일함)인 경우, 표 4에 예시된 바와 같이 화상 레벨 가상 경계 존재 플래그 "ph_virtual_boundaries_present_flag"가 화상 헤더에서 시그널링될 수 있다. 예컨대, "ph_virtual_boundaries_present_flag"가 참(예컨대, "1"과 동일함)인 것은 가상 경계들의 정보가 화상 헤더에서 시그널링됨을 지정할 수 있고, "ph_virtual_boundaries_present_flag"가 거짓(예컨대, "0"과 동일함)인 것은 가상 경계의 어떠한 정보도 화상 헤더에서 시그널링되지 않음을 지정할 수 있다. 하나 이상의 가상 경계들이 화상 헤더에서 시그널링될 때, 인-루프 필터링 동작들은 화상 헤더를 포함하는 화상의 가상 경계들에 걸쳐 디스에이블될 수 있다. 일부 실시예들에서, "ph_virtual_boundaries_present_flag"가 화상 헤더에 존재하지 않을 때, 그의 값은 "거짓"을 표현하는 것으로 추론될 수 있다.
표 4에 예시된 바와 같이, 플래그 "ph_virtual_boundaries_present_flag"가 참(예컨대, "1"과 동일함)인 경우, (표 4에서 파라미터들 "ph_num_ver_virtual_boundaries" 및 "ph_num_hor_virtual_boundaries"에 의해 표현되는 바와 같은) 가상 경계들의 수 및 (표 4의 어레이들 "ph_virtual_boundaries_pos_x" 및 "ph_virtual_boundaries_pos_y"에 의해 표현되는 바와 같은) 그의 포지션들이 화상 헤더에서 시그널링될 수 있다. 파라미터들 "ph_num_ver_virtual_boundaries" 및 "ph_num_hor_virtual_boundaries"은 각각 화상 헤더에서 어레이들 "ph_virtual_boundaries_pos_x" 및 "ph_virtual_boundaries_pos_y"의 길이를 지정할 수 있다. 일부 실시예들에서, "ph_virtual_boundaries_pos_x" (또는 "ph_virtual_boundaries_pos_y")이 화상 헤더에 존재하지 않을 때, 그의 값은 0인 것으로 추론될 수 있다. 어레이들 "ph_virtual_boundaries_pos_x" 및 "ph_virtual_boundaries_pos_y"은 각각 8로 나눠진 루마 샘플 단위의 i번째 수직 또는 수평 가상 경계의 로케이션들을 지정할 수 있다. 예컨대, "ph_virtual_boundaries_pos_x[i]"의 값들은 1 내지 Ceil(pic_width_in_luma_samples ÷ 8) - 1의 닫힌 간격에 있을 수 있고 "ph_virtual_boundaries_pos_y[i]"의 값들은 1 내지 Ceil(pic_height_in_luma_samples ÷ 8) - 1의 닫힌 간격에 있을 수 있으며, 여기서 "pic_height_in_luma_samples"는 루마 샘플 단위로 화상의 높이를 표현하는 파라미터이다.
일부 실시예들에서, VVC/H.266 표준에서(예컨대, VVC 드래프트 7에서), 변수 "VirtualBoundariesDisabledFlag"는 수학식(1)로서 정의될 수 있다:
Figure pct00001
수학식 (1)
그러나 가상 경계들을 이용함으로써 GDR 구현에서, 기존 기술 솔루션들에서 2개의 문제들이 발생할 수 있다. 예컨대, 위에서 설명된 바와 같이, 화상 레벨 플래그 'gdr_pic_flag'는 기존 기술 솔루션들에서 시퀀스-레벨 플래그 'gdr_enabled_flag'의 값에 관계없이 화상 헤더들에서 항상 시그널링된다. 즉, GDR이 시퀀스에 대해 디스에이블될 때조차도, 시퀀스의 각각의 화상의 화상 헤더는 여전히 화상이 GDR-인에이블되었는지를 표시할 수 있다. 따라서 SPS 레벨 및 화상 레벨에서 모순이 발생할 수 있다. 예컨대, "gdr_enabled_flag"가 거짓인 경우, "gdr_pic_flag"가 참이면 모순이 발생할 수 있다.
또 다른 예로서, 클린 구역들 및 더티 구역들의 경계로서 가상 경계를 사용하여 GDR을 구현할 때, 기존 기술적 솔루션들에서 가상 경계에 걸쳐 어떠한 루프 필터링 동작도 적용되지 않는다. 그러나 GDR의 요건에 따라, 클린 구역의 픽셀들을 디코딩하는 것은 더티 구역의 픽셀들을 참조할 수 없지만, 더티 구역의 픽셀들을 디코딩하는 것은 클린 구역의 픽셀들을 참조할 수 있다. 이러한 경우에, 가상 경계에 걸친 루프 필터링 동작을 완전히 디스에이블하는 것은 지나치게 엄격한 제약을 부과할 수 있으며, 이는 인코딩 또는 디코딩 성능을 악화시킬 수 있다.
위의 문제들을 해결하기 위해, 본 개시내용은 화상들을 프로세싱하기 위한 방법들, 장치들 및 시스템들을 제공한다. 본 개시내용의 일부 실시예들과 일치하게, SPS 레벨 및 화상 레벨에서 GDR 표시 플래그들의 잠재적인 모순을 제거하기 위해, 화상 헤더의 신택스 구조는 GDR이 시퀀스 레벨에서 인에이블될 때만 화상 레벨 GDR 표시 플래그가 시그널링될 수 있도록 수정될 수 있다.
예로서, 도 10은 본 개시내용의 일부 실시예들과 일치하는, 수정된 화상 헤더의 예시적인 신택스 구조를 보여주는 표 5를 예시한다. 표 5에 예시된 바와 같이, 요소(1002)(실선 박스에 의해 둘러싸임)는 도 7의 표 2와 비교하여 신택스 수정들을 도시한다. 예컨대, 참(예컨대, "1"과 동일)인 "gdr_pic_flag"는 화상 헤더와 연관된 화상이 GDR-인에이블된 화상임을 지정할 수 있고, 거짓(예컨대, "0"과 동일)인 "gdr_pic_flag"는 화상 헤더와 연관된 화상이 GDR-인에이블된 화상이 아님을 지정할 수 있다. 일부 실시예들에서, "gdr_pic_flag"가 화상 헤더에 존재하지 않을 때, 그의 값은 "거짓"을 표현하는 것으로 추론될 수 있다.
본 개시내용의 일부 실시예들과 일치하게, SPS 레벨 및 화상 레벨에서 GDR 표시 플래그들의 잠재적인 모순을 제거하기 위해, 화상 헤더의 신택스 구조는 (예컨대, 도 7의 표 2에 도시된 바와 같이) 변경되지 않은 채로 유지될 수 있고, 비트스트림 부합 요건(bitstream conformance requirement)(예컨대, VVC/H.266 표준에서 정의된 바와 같은 비트스트림 부합)은, 시퀀스-레벨 GDR 표시 플래그가 참이 아닐 때(예컨대, 디스에이블되거나 또는 거짓일 때), 화상 레벨 GDR 표시 플래그가 참이 되지 않도록(예컨대, 디스에이블되거나 거짓이 되도록) 구현될 수 있다. 본원에서 사용되는 바와 같이, 비트스트림 부합 요건은 동작 포인트와 연관된 비트스트림 서브세트가 비디오 코딩 표준(예컨대, VVC/H.266 표준)에 부합하는 것을 보장할 수 있는 동작들을 지칭할 수 있다. "동작 포인트"는 제2 비트스트림의 네트워크 추상 층(network abstraction layer; NAL) 유닛들이 타겟 층 식별자 목록 및 타겟 시간 식별자에 의해 결정된 타겟 세트에 속하지 않는 경우, 이들이 제거될 수 있는 서브-비트스트림 추출 프로세스에 의해 제2 비트스트림으로부터 생성된 제1 비트스트림을 지칭할 수 있다. 예컨대, 비트스트림 부합 요건은 "gdr_enabled_flag"가 거짓일 때 "gdr_pic_flag"가 또한 거짓으로 세팅되도록 구현될 수 있다.
본 개시내용의 일부 실시예들과 일치하게, 가상 경계에 걸쳐 루프 필터링 동작을 디스에이블함에 있어 더 높은 유연성을 제공하기 위해, 가상 경계에 걸쳐 루프 필터링 동작이 부분적으로 디스에이블될 수 있도록 화상 헤더 및 SPS의 신택스 구조가 수정될 수 있다. 이렇게 함으로써, 가상 경계의 일 측 상의 픽셀들은 필터링되지 않을 수 있지만, 가상 경계의 남은 하나의 측 상의 픽셀들은 필터링될 수 있다. 예컨대, 가상 경계가 화상을 좌측 및 우측으로 수직으로 분할하는 경우, 인코더 또는 디코더는 픽셀이 필터링되지 않는 우측 상에서 루프 필터를 부분적으로 디스에이블하고(예컨대, 좌측 상의 픽셀들의 정보는 우측 상의 픽셀들의 루프 필터링에 대해 사용되지 않음) 및 픽셀들이 필터링되는 좌측 상의 루프 필터를 인에이블할 수 있다(예컨대, 좌측 또는 우측 중 적어도 하나 상의 픽셀들의 정보는 루프 필터링을 위해 사용될 수 있음).
예로서, 도 11은 본 개시내용의 일부 실시예들과 일치하는, 가상 경계를 인에이블하는 수정된 SPS의 예시적인 신택스 구조를 보여주는 표 6을 예시한다. 도 12는 본 개시내용의 일부 실시예들과 일치하는, 가상 경계를 인에이블하는 수정된 화상 헤더의 예시적인 신택스 구조를 보여주는 표 7을 예시한다. 본 개시내용의 첨부된 도면들에서 예시된 바와 같이, 일점 쇄선 박스는 그 안에 인클로징된 콘텐츠들 또는 요소들이 삭제 또는 제거되는 것(취소선으로 표시)을 표현한다. 도 11 및 도 12에 예시된 바와 같이, 시퀀스 레벨 GDR 표시 플래그 "sps_virtual_boundaries_present_flag" 및 화상 레벨 GDR 표시 플래그 "ph_virtual_boundaries_present_flag"는 GDR 제어 파라미터들 "sps_virtual_boundaries_loopfilter_disable" 및 "ph_virtual_boundaries_loopfilter_disable"로 각각 대체되며, 이들은 각각 시퀀스 레벨 및 화상 레벨에서 루프 필터링 동작들을 부분적으로 디스에이블하는 것을 지원하도록 확장된다.
GDR 방향(예컨대, 좌측으로부터 우측으로, 우측으로부터 좌측으로, 위로부터 아래로, 아래로부터 위로, 또는 이들의 조합)이 전체 시퀀스에 대해 고정된 경우, GDR 제어 파라미터(예컨대, "sps_virtual_boundaries_loopfilter_disable")이 SPS에서 세팅될 수 있으며, 이는 비트들을 절감할 수 있다. GDR 방향이 시퀀스 내에서 변경될 필요가 있는 경우, GDR 제어 파라미터(예컨대, "ph_virtual_boundaries_loopfilter_disable")는 화상 헤더에서 세팅될 수 있으며, 이는 저레벨 제어의 더 높은 유연성을 제공할 수 있다.
본 개시내용의 일부 실시예들과 일치하게, GDR 제어 파라미터들 "sps_virtual_boundaries_loopfilter_disable" 및 "ph_virtual_boundaries_loopfilter_disable"은 상이한 구현 방식들을 표현하기 위해 (예컨대, "참" 또는 "거짓"의 표현을 넘어) 다수의 값들이 되도록 구성될 수 있다.
예컨대, "0"인 "sps_virtual_boundaries_loopfilter_disable"은 가상 경계들의 어떠한 정보도 SPS에서 시그널링되지 않음을 지정할 수 있다. "1"인 "sps_virtual_boundaries_loopfilter_disable"은 가상 경계들의 정보가 SPS에서 시그널링되고 인-루프 필터링 동작들이 가상 경계들에 걸쳐 디스에이블됨을 지정할 수 있다. "2"인 "sps_virtual_boundaries_loopfilter_disable"은 가상 경계의 정보가 SPS에서 시그널링되고 다음: (1) 가상 경계의 좌측 상의 인-루프 필터링 동작이 디스에이블되는 것; (2) 좌측 상의 인-루프 필터링 동작이 가상 경계의 우측 상의 어떠한 픽셀의 정보도 사용하지 않을 것; (3) 가상 경계의 상위 측 상의 인-루프 필터링 동작이 디스에이블되는 것 또는 (4) 상위 측 상의 인-루프 필터링 동작이 가상 경계의 하부 측 상의 어떠한 픽셀의 정보도 사용하지 않을 것 중 하나가 되도록 지정할 수 있다. "3"인 "sps_virtual_boundaries_loopfilter_disable"은 가상 경계의 정보가 SPS에서 시그널링되고 다음: (1) 가상 경계의 우측 상의 인-루프 필터링 동작이 디스에이블되는 것 또는 (2) 우측 상의 인-루프 필터링 동작이 가상 경계의 좌측 상의 어떠한 픽셀의 정보도 사용하지 않을 것; (3) 가상 경계의 하부 측 상의 인-루프 필터링 동작이 디스에이블되는 것; 또는 (4) 하부 측 상의 인-루프 필터링 동작이 상위 측 상의 어떠한 픽셀의 정보도 사용하지 않을 것 중 하나가 되도록 지정할 수 있다.
유사하게, 다른 예에서, "0"인 "ph_virtual_boundaries_loopfilter_disable"은 가상 경계의 어떠한 정보도 화상 헤더에서 시그널링되지 않음을 지정할 수 있다. "1"인 "ph_virtual_boundaries_loopfilter_disable"은 가상 경계들의 정보가 화상 헤더에서 시그널링되고 인-루프 필터링 동작들이 가상 경계들에 걸쳐 디스에이블됨을 지정할 수 있다. "2"인 "ph_virtual_boundaries_loopfilter_disable"은 가상 경계의 정보가 화상 헤더에서 시그널링되고 다음: (1) 가상 경계의 좌측 상의 인-루프 필터링 동작이 디스에이블되는 것; (2) 좌측 상의 인-루프 필터링 동작이 가상 경계의 우측 상의 어떠한 픽셀의 정보도 사용하지 않을 것; (3) 가상 경계의 상위 측 상의 인-루프 필터링 동작이 디스에이블되는 것; 또는 (4) 상위 측 상의 인-루프 필터링 동작이 가상 경계의 하부 측 상의 어떠한 픽셀의 정보도 사용하지 않을 것 중 하나가 되도록 지정될 수 있다. "3"인 "ph_virtual_boundaries_loopfilter_disable"은 가상 경계의 정보가 화상 헤더에서 시그널링되고 다음: (1) 가상 경계의 우측 상의 인-루프 필터링 동작이 디스에이블되는 것; (2) 우측 상의 인-루프 필터링 동작은 가상 경계의 좌측 상의 어떠한 픽셀의 정보도 사용하지 않을 것; (3) 가상 경계의 하부 측 상의 인-루프 필터링 동작이 디스에이블되는 것; 또는 (4) 하부 측 상의 인-루프 필터링 동작이 상위 측 상의 어떠한 픽셀의 정보도 사용하지 않을 것 중 하나가 되도록 지정할 수 있다. 일부 실시예들에서, "ph_virtual_boundaries_loopfilter_disable"이 화상 헤더에 존재하지 않는 경우, 그의 값은 0인 것으로 추론될 수 있다.
일부 실시예들에서, 변수 "VirtualBoundariesLoopfilterDisabled"는 수학식(2)로서 정의될 수 있다:
Figure pct00002
수학식(2)
본 개시내용의 일부 실시예들과 일치하게, 루프 필터는 적응 루프 필터(ALF)일 수 있다. ALF가 제1 측(예컨대, 좌측, 우측, 최상부 또는 하부 측) 상에서 부분적으로 디스에이블될 때, 제1 측 상의 픽셀들은 필터링에서 패딩될 수 있고 제2 측(예컨대, 우측, 좌측, 하부 측 또는 최상부 측) 상의 어떠한 픽셀도 필터링을 위해 사용되지 않는다.
일부 실시예들에서, ALF의 경계 포지션들은 아래에서 설명되는 바와 같이 유도될 수 있다. ALF 경계 포지션 유도 프로세스에서, 변수들 "clipLeftPos", "clipRightPos", "clipTopPos", 및 "clipBottomPos"는 "-128"로서 세팅될 수 있다.
VVC/H.266 표준(예컨대, VVC 드래프트 7)과 비교하여, 변수 "clipTopPos"는 다음과 같이 결정될 수 있다. (y - (CtbSizeY - 4))가 0 이상인 경우, 변수 "clipTopPos"는 (yCtb + CtbSizeY - 4)로서 세팅될 수 있다. (y - (CtbSizeY - 4))가 음수이고, "VirtualBoundariesLoopfilterDisabled"는 1과 동일하고 (yCtb + y - VirtualBoundariesPosY[n])이 임의의 n = 0, 1, ... , (VirtualBoundariesNumHor - 1)에 대해 반개방 간격 [1, 3)에 있는 경우, "clipTopPos"는 "VirtualBoundariesPosY[n]"으로서 세팅될 수 있다(즉, clipTopPos = VirtualBoundariesPosY[n]). (y - (CtbSizeY - 4))가 음수이고, "VirtualBoundariesLoopfilterDisabled"는 3과 동일하고 (yCtb + y - VirtualBoundariesPosY[n])이 임의의 n = 0, 1, ... , (VirtualBoundariesNumHor - 1)에 대해 반개방 간격 [1, 3)에 있는 경우, "clipTopPos"는 "VirtualBoundariesPosY[n]"으로서 세팅될 수 있다(즉, clipTopPos = VirtualBoundariesPosY[n]).
(y - (CtbSizeY - 4))가 음수이고, y가 3 미만이고, 다음 조건들: (1) 현재 코딩 트리 블록의 최상부 경계는 타일의 최상부 경계이고 "loop_filter_across_tiles_enabled_flag"는 0과 동일함; (2) 현재 코딩 트리 블록의 최상부 경계는 슬라이스의 최상부 경계이고; "loop_filter_across_slices_enabled_flag"는 0과 동일함; 또는 (3) 현재 코딩 트리 블록의 최상부 경계는 서브화상의 최상부 경계이고 "loop_filter_across_subpic_enabled_flag[SubPicIdx]"는 0과 동일함 중 하나 이상이 참인 경우, "clipTopPos"를 "yCtb"로서 세팅될 수 있다.
VVC/H.266 표준(예컨대, VVC 드래프트 7)과 비교하여, 변수 "clipBottomPos"는 다음과 같이 결정될 수 있다. "VirtualBoundariesLoopfilterDisabled"가 1과 동일하고, "VirtualBoundariesPosY[n]"이 (pic_height_in_luma_samples - 1) 또는 0과 동일하지 않고, (VirtualBoundariesPosY[n] - yCtb - y)이 임의의 n = 0, ... , (VirtualBoundariesNumHor - 1)에 대해 열린 간격(0, 5)에 있는 경우, "clipBottomPos"는 "VirtualBoundariesPosY[n]"로서 세팅될 수 있다(즉, clipBottomPos = VirtualBoundariesPosY[n]).
"VirtualBoundariesLoopfilterDisabled"가 2와 동일하고, "VirtualBoundariesPosY[n]"이 (pic_height_in_luma_samples - 1) 또는 0과 동일하지 않고, (VirtualBoundariesPosY[n] - yCtb - y)이; 임의의 n = 0, ... , (VirtualBoundariesNumHor - 1)에 대해 열린 간격(0, 5)에 있는 경우, "clipBottomPos"는 "VirtualBoundariesPosY[n]"로서 세팅될 수 있다(즉, clipBottomPos = VirtualBoundariesPosY[n]).
그렇지 않고, (CtbSizeY - 4 - y)가 열린 간격(0, 5)에 있는 경우, "clipBottomPos"는 "yCtb + CtbSizeY - 4"로서 세팅될 수 있다. 그렇지 않고, (CtbSizeY - y)가 5 미만이고 다음 조건들: (1) 현재 코딩 트리 블록의 하부 경계는 타일의 하부 경계이고 "loop_filter_across_tiles_enabled_flag"는 0과 동일함; (2) 현재 코딩 트리 블록의 하부 경계는 슬라이스의 하부 경계이고 "loop_filter_across_slices_enabled_flag"는 0과 동일함; 또는 (3) 현재 코딩 트리 블록의 하부 경계는 서브화상의 하부 경계이고 "loop_filter_across_subpic_enabled_flag[SubPicIdx]"는 0과 동일함 중 하나 이상이 참인 경우, "clipBottomPos"는 "(yCtb+CtbSizeY)"로서 세팅될 수 있다.
VVC/H.266 표준(예컨대, VVC 드래프트 7)과 비교하여, 변수 "clipLeftPos"는 다음과 같이 결정될 수 있다: "VirtualBoundariesLoopfilterDisabled"는 1과 동일하고 (xCtb + xVirtualBoundariesPosX[n])이 임의의 n = 0, ... , (VirtualBoundariesNumVer - 1)에 대해 반개방 간격 [1, 3)에 있는 경우, "clipLeftPos"는 "VirtualBoundariesPosX[n]"으로서 세팅될 수 있다(즉, clipLeftPos = VirtualBoundariesPosX[n]). "VirtualBoundariesLoopfilterDisabled"는 3과 동일하고 "xCtb+xVirtualBoundariesPosX[n]"이 임의의 n = 0, ... , (VirtualBoundariesNumVer - 1)에 대해 반개방 간격 [1, 3)에 있는 경우, "clipLeftPos"는 "VirtualBoundariesPosX[n]"으로서 세팅될 수 있다(즉, clipLeftPos = VirtualBoundariesPosX[n]).
그렇지 않고, x가 3 미만이고 다음 조건들: (1) 현재 코딩 트리 블록의 좌측 경계는 타일의 좌측 경계이고 "loop_filter_across_tiles_enabled_flag"는 0과 동일함; (2) 현재 코딩 트리 블록의 좌측 경계는 슬라이스의 좌측 경계이고 "loop_filter_across_slices_enabled_flag"는 0과 동일함; (3) 현재 코딩 트리 블록의 좌측 경계는 서브화상의 좌측 경계이고 "loop_filter_across_subpic_enabled_flag[SubPicIdx]"는 0과 동일함 중 하나 이상이 참인 경우, "clipLeftPos"를 "xCtb"로서 세팅될 수 있다.
VVC/H.266 표준(예컨대, VVC 드래프트 7)과 비교하여, 변수 "clipRightPos는 다음과 같이 결정될 수 있다. "VirtualBoundariesLoopfilterDisabled"는 1과 동일하고 "(VirtualBoundariesPosX[n] - xCtb - x)"이 임의의 n = 0, ... , (VirtualBoundariesNumVer - 1)에 대해 개방 간격 (0, 5)에 있는 경우, "clipRightPos"는 "VirtualBoundariesPosX[n]"으로서 세팅될 수 있다(즉, clipRightPos = VirtualBoundariesPosX[n]). "VirtualBoundariesLoopfilterDisabled"는 2와 동일하고 (VirtualBoundariesPosX[n] - xCtb - x)이 임의의 n = 0, ... , (VirtualBoundariesNumVer - 1)에 대해 개방 간격 (0, 5)에 있는 경우, "clipRightPos"는 "VirtualBoundariesPosX[n]"으로서 세팅될 수 있다(즉, clipRightPos = VirtualBoundariesPosX[n]).
그렇지 않고 "(CtbSizeY - x)"가 5 미만이고 다음 조건들: (1) 현재 코딩 트리 블록의 우측 경계는 타일의 우측 경계이고 "loop_filter_across_tiless_enabled_flag"는 0과 동일함; (2) 현재 코딩 트리 블록의 우측 경계는 슬라이스의 우측 경계이고 "loop_filter_across_slices_enabled_flag"는 0과 동일함; 또는 (3) 현재 코딩 트리 블록의 우측 경계는 서브화상의 우측 경계이고 "loop_filter_across_subpic_enabled_flag[SubPicIdx]"는 0과 동일함 중 하나 이상이 참인 경우, "clipRightPos"는 (xCtb + CtbSizeY)로서 세팅될 수 있다.
VVC/H.266 표준(예컨대, VVC 드래프트 7)과 비교하여, 변수들 "clipTopLeftFlag" 및 "clipBotRightFlag"는 다음과 같이 결정될 수 있다. 루마 포지션(xCtb, yCtb)을 커버하는 코딩 트리 블록 및 루마 포지션(xCtb - CtbSizeY, yCtb - CtbSizeY)을 커버하는 코딩 트리 블록이 상이한 슬라이스들에 속하고 "loop_filter_across_slices_enabled_flag"가 0과 동일한 경우, "clipTopLeft"는 1로서 세팅될 수 있다. 루마 포지션(xCtb, yCtb)을 커버하는 코딩 트리 블록 및 루마 포지션(xCtb - CtbSizeY, yCtb - CtbSizeY)을 커버하는 코딩 트리 블록이 상이한 슬라이스들에 속하고 "loop_filter_across_slices_enabled_flag"가 0과 동일한 경우, "clipBotRightFlag"는 1로서 세팅될 수 있다.
본 개시내용의 일부 실시예들에 따르면, 루프 필터는 샘플 적응 오프셋(SAO) 동작을 포함할 수 있다. 가상 경계의 제1 측(예컨대, 좌측, 우측, 최상부 측 또는 하부 측) 상에서 SAO가 부분적으로 디스에이블될 때, 제1 측의 픽셀들 상의 SAO가 제2 측(예컨대, 우측, 좌측, 하부 측 또는 최상부 측) 상의 픽셀들을 필요로 하는 경우, 제1 측의 픽셀들 상의 SAO는 적용되는 것으로부터 스킵될 수 있다. 이렇게 함으로써, 제2 측 상의 어떠한 픽셀도 사용되지 않을 수 있다.
본 개시내용의 일부 실시예들과 일치하게, CTB 수정 프로세스에서, 모든 샘플 로케이션들(xSi, ySj) 및 (xYi, yYj)에 대해(여기서 i = 0, ..., (nCtbSw - 1) 및 j = 0, ..., (nCtbSh - 1)임), 다음과 동작들이 적용될 수 있다.
다음 조건들: (1) 변수 "SaoTypeIdx[cIdx][rx][ry]"는 0과 동일함; (2) "VirtualBoundariesLoopfilterDisabled"가 1과 동일하고, "xSj"는 임의의 n = 0, ..., (VirtualBoundariesNumVer - 1)에 대해 ((VirtualBoundariesPosX[n]/scaleWidth) - 1)과 동일하고, "SaoTypeIdx[cIdx][rx][ry]"는 2와 동일하고, 변수 "SaoEoClass[cIdx][rx][ry]"는 1과 동일하지 않음; (3) "VirtualBoundariesLoopfilterDisabled"가 1과 동일하고, "xSj"는 임의의 n = 0, ..., (VirtualBoundariesNumVer - 1)에 대해 (VirtualBoundariesPosX[n]/scaleWidth)과 동일하고, "SaoTypeIdx[cIdx][rx][ry]"는 2와 동일하고, "SaoEoClass[cIdx][rx][ry]"는 1과 동일하지 않음; (4) "VirtualBoundariesLoopfilterDisabled"가 1과 동일하고, "ySj"는 임의의 n = 0, ..., (VirtualBoundariesNumHor - 1)에 대해 ((VirtualBoundariesPosY[n]/scaleHeight) - 1)과 동일하고, "SaoTypeIdx[cIdx][rx][ry]"는 2와 동일하고, "SaoEoClass[cIdx][rx][ry]"는 0과 동일하지 않음; (5) "VirtualBoundariesLoopfilterDisabled"가 1과 동일하고, "ySj"는 임의의 n = 0, ..., (VirtualBoundariesNumHor - 1)에 대해 (VirtualBoundariesPosY[n]/scaleHeight)과 동일하고, "SaoTypeIdx[cIdx][rx][ry]"는 2와 동일하고, "SaoEoClass[cIdx][rx][ry]"는 0과 동일하지 않음; (6) "VirtualBoundariesLoopfilterDisabled"가 2와 동일하고, "xSj"는 임의의 n = 0, ..., (VirtualBoundariesNumVer - 1)에 대해 ((VirtualBoundariesPosX[n]/scaleWidth) - 1)과 동일하고, "SaoTypeIdx[cIdx][rx][ry]"는 2와 동일하고, "SaoEoClass[cIdx][rx][ry]"는 1과 동일하지 않음; (7) "VirtualBoundariesLoopfilterDisabled"가 3과 동일하고, "xSj"는 임의의 n = 0, ..., (VirtualBoundariesNumVer - 1)에 대해 (VirtualBoundariesPosX[n]/scaleWidth)과 동일하고, "SaoTypeIdx[cIdx][rx][ry]"는 2와 동일하고, "SaoEoClass[cIdx][rx][ry]"는 1과 동일하지 않음; (8) "VirtualBoundariesLoopfilterDisabled"가 2과 동일하고, "ySj"는 임의의 n = 0, ..., (VirtualBoundariesNumHor - 1)에 대해 ((VirtualBoundariesPosY[n]/scaleHeight) - 1)과 동일하고, "SaoTypeIdx[cIdx][rx][ry]"는 2와 동일하고, "SaoEoClass[cIdx][rx][ry]"는 0과 동일하지 않음; 또는 (9) "VirtualBoundariesLoopfilterDisabled"가 3과 동일하고, "ySj"는 임의의 n = 0, ..., (VirtualBoundariesNumHor - 1)에 대해 (VirtualBoundariesPosY[n]/scaleHeight)과 동일하고, "SaoTypeIdx[cIdx][rx][ry]"는 2와 동일하고, "SaoEoClass[cIdx][rx][ry]"는 0과 동일하지 않음 중 하나 이상이 참인 경우, 변수 "saoPicture[xSi][ySj]"는 수정되지 않을 수 있다.
본 개시내용의 일부 실시예들에 일치하는, 루프 필터는 디블로킹 필터를 포함할 수 있다. 일부 실시예들에서, 디블로킹 필터가 가상 경계의 제1 측(예컨대, 좌측, 우측, 최상부 측 또는 하부 측) 상에서 부분적으로 디스에이블될 때, 제1 측 상의 픽셀들은 디블로킹 필터에 의해 프로세싱되는 것으로부터 스킵될 수 있고, 가상 경계의 제2 측(예컨대, 우측, 좌측, 하부 측 또는 최상부 측) 상의 픽셀들은 디블로킹 필터에 의해 프로세싱될 수 있다. 일부 실시예들에서, "VirtualBoundariesLoopfilterDisabled"가 거짓이 아닐 때(예컨대, 값 0을 가짐), 디블로킹 필터는 완전히 디스에이블될 수 있으며, 여기서 가상 경계의 양 측들 상의 픽셀들은 디블로킹 필터에 의해 프로세싱되는 것이 스킵될 수 있다.
본 개시내용의 일부 실시예들과 일치하는, 도 13 내지 도 15는 예시적인 방법들(1300-1500)의 흐름도들을 예시한다. 방법들(1300-1500)은 비디오 인코더(예컨대, 도 2a 및 도 2b와 관련하여 설명된 인코더) 또는 비디오 디코더(예컨대, 도 3a 및 도 3b와 관련하여 설명된 디코더)와 연관된 적어도 하나의 프로세서(예컨대, 도 4의 프로세서(402))에 의해 수행될 수 있다. 일부 실시예들에서, 방법들(1300-1500)은 컴퓨터(예컨대, 도 4의 장치(400))에 의해 실행될 컴퓨터 실행 가능 명령들(예컨대, 프로그램 코드들)을 포함하는 컴퓨터 프로그램 제품(예컨대, 컴퓨터 판독 가능 매체에서 구체화됨)으로서 구현될 수 있다. 일부 실시예들에서, 방법들(1300-1500)은 컴퓨터 실행 가능 명령들(예컨대, 도 4의 메모리(404)의 프로그램 명령들)을 저장하는 하드웨어 제품(예컨대, 도 4의 메모리(404))으로서 구현될 수 있고, 하드웨어 제품은 컴퓨터의 독립형 또는 통합된 부분일 수 있다.
예로서, 도 13은 본 개시내용의 일부 실시예들에 따라, 비디오 프로세싱을 위한 예시적인 프로세스(1300)의 흐름도를 예시한다. 예컨대, 프로세스(1300)는 인코더에 의해 수행될 수 있다.
단계(1302)에서, 프로세서(예컨대, 도 4의 프로세서(402))가 비디오 시퀀스(예컨대, 도 2a 및 도 2b의 비디오 시퀀스(202))를 수신하는 것에 대한 응답으로, 프로세서는 비디오 시퀀스와 연관된 파라미터 세트(예컨대, SPS)에 제1 플래그 데이터(예컨대, 도 10 내지 도 12와 관련하여 도시되고 설명된 "gdr_enabled_flag")를 인코딩할 수 있다. 제1 플래그 데이터는 비디오 시퀀스에 대해 점진적 디코딩 리프레시(GDR)가 인에이블되거나 디스에이블됨을 표현할 수 있다.
단계(1304)에서, 비디오 시퀀스에 대해 GDR이 디스에이블됨(예컨대, "gdr_enabled_flag"이 거짓임)을 제1 플래그 데이터가 표현할 때, 프로세서는 화상이 비-GDR 화상임을 표시하기 위해 비디오 시퀀스의 화상과 연관된 화상 헤더를 인코딩할 수 있다. 본원에서 사용되는 바와 같은 GDR 화상은 클린 구역과 더티 구역 둘 모두를 포함하는 화상을 지칭할 수 있다. 예로서, 클린 구역은 도 5에 도시되고 설명된 바와 같은 클린 구역들(516, 520, 524 또는 528) 중 임의의 것일 수 있고, 더티 구역은 도 5에서 도시되고 설명된 바와 같은 더티 구역들(514, 518, 522 또는 526) 중 임의의 것일 수 있다. 본 개시내용에서의 비-GDR 화상은 클린 구역 또는 더티 구역을 전혀 포함하지 않는 화상을 지칭할 수 있다.
일부 실시예들에서, 화상 헤더를 인코딩하기 위해, 프로세서는 화상 헤더에의 제2 플래그 데이터(예컨대, 도 10 내지 도 12와 관련하여 도시되고 설명된 바와 같은 "gdr_pic_flag")의 인코딩을 디스에이블할 수 있다. 제2 플래그 데이터는 화상이 GDR 화상인지를 표현할 수 있다.
일부 실시예들에서, 화상 헤더를 인코딩하기 위해, 프로세서는 화상 헤더에 제2 플래그 데이터(예컨대, 도 10 내지 도 12와 관련하여 도시되고 설명된 바와 같은 "gdr_pic_flag")를 인코딩할 수 있고, 제2 플래그 데이터는 화상이 비-GDR 화상임(예컨대, "gdr_pic_flag"가 거짓임)을 표현한다.
단계(1306)에서, 프로세서는 비-GDR 화상을 인코딩할 수 있다.
본 개시내용의 일부 실시예들과 일치하게, 비디오 시퀀스에 대해 GDR이 인에이블됨(예컨대, "gdr_enabled_flag"가 참임)을 제1 플래그 데이터가 표현할 때, 프로세서는 화상 헤더에의 제2 플래그 데이터(예컨대, 도 10 내지 도 12와 관련하여 도시되고 설명된 바와 같은 "gdr_pic_flag")의 인코딩을 인에이블할 수 있고, 제2 플래그 데이터는 화상이 GDR 화상(예컨대, "gdr_pic_flag"가 참)인지를 표현한다. 프로세서는 그 후 화상을 인코딩할 수 있다.
본 개시내용의 일부 실시예들과 일치하게, 비디오 시퀀스에 대해 GDR이 인에이블됨(예컨대, "gdr_enabled_flag"가 참임)을 제1 플래그 데이터가 표현하고, 제2 플래그 데이터는 화상이 GDR 화상(예컨대, "gdr_pic_flag"가 참)임을 표현할 때, 프로세서는 가상 경계를 사용하여 화상을 제1 구역(예컨대, 도 5에 도시되고 설명된 바와 같은 클린 구역들(516, 520, 524 또는 528) 중 임의의 것과 같은 클린 구역) 및 제2 구역(예컨대, 도 5에서 도시되고 설명된 바와 같은 더티 구역들(514, 518, 522 또는 526) 중 임의의 것과 같은 더티 구역)으로 분할할 수 있다. 예컨대, 제1 구역은 가상 경계의 제1 측(예컨대, 좌측, 우측, 최상부 측 또는 하부 측)일 수 있고, 제2 구역은 가상 경계의 제2 측(예컨대, 우측, 좌측, 하부 측 또는 최상부 측)일 수 있다. 그 후, 프로세서는 제1 픽셀에 대한 필터링이 제2 구역의 제2 픽셀의 정보를 사용할 때 제1 구역의 제1 픽셀 상에서 루프 필터(예컨대, 도 2b 및 도 3b와 관련하여 도시되고 설명된 루프 필터(232))를 디스에이블하거나, 제1 구역의 픽셀들의 정보만을 이용하여 제1 픽셀 상에서 루프 필터를 적용할 수 있다. 그 후, 프로세서는 제1 구역 또는 제2 구역 중 적어도 하나의 픽셀들을 사용하여 제2 구역의 픽셀들 상에서 루프 필터를 적용할 수 있다.
예로서, 도 14는 본 개시내용의 일부 실시예들에 따라, 비디오 프로세싱을 위한 다른 예시적인 프로세스(1400)의 흐름도를 예시한다. 예컨대, 프로세스(1400)는 디코더에 의해 수행될 수 있다.
단계(1402)에서, 프로세서(예컨대, 도 4의 프로세서(402))가 비디오 비트스트림(예컨대, 도 3a 및 도 3b의 비디오 비트스트림(228))을 수신하는 것에 대한 응답으로, 프로세서는 비디오 비트스트림의 시퀀스(예컨대, 디코딩된 비디오 시퀀스)와 연관된 파라미터 세트(예컨대, SPS)의 제1 플래그 데이터(예컨대, 도 10 내지 도 12와 관련하여 도시되고 설명된 바와 같은 "gdr_enabled_flag")를 디코딩할 수 있다. 제1 플래그 데이터는 비디오 시퀀스에 대해 점진적 디코딩 리프레시(GDR)가 인에이블되는지 또는 디스에이블되는지를 표현할 수 있다.
단계(1404)에서, 제1 플래그 데이터가 시퀀스에 대해 GDR이 디스에이블됨(예컨대, "gdr_enabled_flag"이 거짓임)을 표현할 때, 프로세서는 시퀀스의 화상과 연관된 화상 헤더를 디코딩할 수 있으며, 여기서 화상 헤더는 화상이 비-GDR 화상임을 표시한다.
일부 실시예들에서, 화상 헤더를 디코딩하기 위해, 프로세서는 화상 헤더의 제2 플래그 데이터(예컨대, 도 10 내지 도 12와 관련하여 도시되고 설명된 바와 같은 "gdr_pic_flag")의 디코딩을 디스에이블하고 화상이 비-GDR 화상이라고 결정하며, 여기서 제2 플래그 데이터는 화상이 GDR 화상인지를 표시할 수 있다. 일부 실시예들에서, 화상 헤더를 디코딩하기 위해, 프로세서는 화상 헤더의 제2 플래그 데이터를 디코딩할 수 있으며, 여기서 제2 플래그 데이터는 화상이 비-GDR 화상임(예컨대, "gdr_pic_flag"는 거짓임)을 표시할 수 있다.
단계(1406)에서, 프로세서는 비-GDR 화상을 디코딩할 수 있다.
본 개시내용의 일부 실시예들과 일치하게, 비디오 시퀀스에 대해 GDR이 인에이블됨(예컨대, "gdr_enabled_flag"가 참임)을 제1 플래그 데이터가 표현할 때, 프로세서는 화상 헤더의 제2 플래그 데이터(예컨대, 도 10 내지 도 12와 관련하여 도시되고 설명된 바와 같은 "gdr_pic_flag")를 디코딩할 수 있고, 제2 플래그 데이터에 기초하여 화상이 GDR 화상(예컨대, "gdr_pic_flag"가 참)인지를 결정한다. 그 후, 프로세서는 화상을 디코딩할 수 있다.
본 개시내용의 일부 실시예들과 일치하게, 비디오 시퀀스에 대해 GDR이 인에이블됨을 제1 플래그 데이터가 표현하고, 제2 플래그 데이터는 화상이 GDR 화상임을 표현할 때, 프로세서는 가상 경계를 사용하여 화상을 제1 구역(예컨대, 도 5에 도시되고 설명된 바와 같은 클린 구역들(516, 520, 524 또는 528) 중 임의의 것과 같은 클린 구역) 및 제2 구역(예컨대, 도 5에서 도시되고 설명된 바와 같은 더티 구역들(514, 518, 522 또는 526) 중 임의의 것과 같은 더티 구역)으로 분할할 수 있다. 예컨대, 제1 구역은 가상 경계의 제1 측(예컨대, 좌측, 우측, 최상부 측 또는 하부 측)일 수 있고, 제2 구역은 가상 경계의 제2 측(예컨대, 우측, 좌측, 하부 측 또는 최상부 측)일 수 있다. 그 후, 프로세서는 제1 구역에서 루프 필터(예컨대, 도 2b 및 도 3b와 관련하여 도시되고 설명된 루프 필터(232))를 디스에이블하거나, 제1 구역의 픽셀들의 정보만을 사용하여 제1 픽셀 상에서 루프 필터를 적용할 수 있다. 그 후, 프로세서는 제1 구역 또는 제2 구역 중 적어도 하나의 픽셀들을 사용하여 제2 구역의 픽셀들 상에서 루프 필터를 적용할 수 있다.
예로서, 도 15는 본 개시내용의 일부 실시예들에 따라, 비디오 프로세싱을 위한 또 다른 예시적인 프로세스(1500)의 흐름도를 예시한다. 예컨대, 프로세스(1500)는 인코더 또는 디코더에 의해 수행될 수 있다.
단계(1502)에서, 프로세서(예컨대, 도 4의 프로세서(402))가 비디오의 화상을 수신하는 것에 대한 응답으로, 프로세서는 화상과 연관된 플래그 데이터에 기초하여 화상이 점진적 디코딩 리프레시(GDR)인지를 결정한다. 예컨대, 플래그 데이터는 시퀀스 레벨(예컨대, SPS에 저장됨) 또는 화상 레벨(예컨대, 화상 헤더에 저장됨)에 있을 수 있다.
단계(1504)에서, 화상이 GDR 화상이라는 결정에 기초하여, 프로세서는 가상 경계를 사용하여 화상에 대해 제1 구역(예컨대, 도 5에 도시되고 설명된 바와 같은 클린 구역들(516, 520, 524 또는 528) 중 임의의 것과 같은 클린 구역) 및 제2 구역(예컨대, 도 5에서 도시되고 설명된 바와 같은 더티 구역들(514, 518, 522 또는 526) 중 임의의 것과 같은 더티 구역)을 결정할 수 있다. 예컨대, 제1 구역은 좌측 구역 또는 상위 구역을 포함할 수 있고, 제2 구역은 우측 구역 또는 하위 구역을 포함할 수 있다.
단계(1506)에서, 프로세서는 제1 픽셀에 대한 필터링이 제2 구역의 제2 픽셀의 정보를 사용할 때 제1 구역의 제1 픽셀 상의 루프 필터(예컨대, 도 2b 및 도 3b와 관련하여 도시되고 설명된 루프 필터(232))를 디스에이블하거나, 제1 구역의 픽셀들의 정보만을 이용하여 제1 픽셀에 루프 필터를 적용할 수 있다. 일부 실시예들에서, 프로세서는 제1 구역에서 샘플 적응 오프셋, 디블로킹 필터, 또는 적응 루프 필터 중 적어도 하나를 디스에이블하거나, 또는 제1 구역의 픽셀들을 사용하여 샘플 적응 오프셋, 디블로킹 필터, 또는 적응 루프 필터 중 적어도 하나를 적용할 수 있다.
단계(1508)에서, 프로세서는 제1 구역 또는 제2 구역 중 적어도 하나의 픽셀들을 사용하여 제2 구역의 픽셀들 상에서 루프 필터를 적용할 수 있다.
본 개시내용의 일부 실시예들에 일치하는, 프로세서는 시퀀스 파라미터 세트(SPS), 화상 파라미터 세트(PPS), 또는 화상 헤더 중 적어도 하나의 플래그 데이터를 디코딩하거나 그에 플래그 데이터를 인코딩할 수 있다. 예컨대, 프로세서는 도 10 내지 도 12와 관련하여 도시되고 설명된 바와 같이 GDR 표시 플래그 "gdr_enabled_flag"로서, GDR 표시 플래그 "gdr_pic_flag"로서, 또는 둘 모두로서 플래그 데이터를 인코딩할 수 있다.
일부 실시예들에서, 명령들을 포함하는 비-일시적 컴퓨터-판독 가능 저장 매체가 또한 제공되고, 명령들은 위에서 설명된 방법들을 수행하기 위한 디바이스(이를테면, 개시된 인코더 및 디코더)에 의해 실행될 수 있다. 비-일시적 매체들의 일반적인 형태들은, 예컨대, 플로피 디스크, 플렉서블 디스크, 하드 디스크, 솔리드 스테이트 드라이브, 자기 테이프 또는 임의의 다른 자기 데이터 저장 매체, CD-ROM, 임의의 다른 광학 데이터 저장 매체, 구멍들의 패턴들을 갖는 임의의 물리적 매체, RAM, PROM 및 EPROM, FLASH-EPROM 또는 임의의 다른 플래시 메모리, NVRAM, 캐시, 레지스터, 임의의 다른 메모리 칩 또는 카트리지 및 이의 네트워킹된 버전들을 포함한다. 디바이스는 하나 이상의 프로세서들(CPU들), 입력/출력 인터페이스, 네트워크 인터페이스 및/또는 메모리를 포함할 수 있다.
실시예들은 다음 조항(clauses)을 사용하여 추가로 설명될 수 있다:
1. 장치로 하여금 방법을 수행하게 하도록 장치의 적어도 하나의 프로세서에 의해 실행 가능한 명령들의 세트를 저장하는 비-일시적 컴퓨터 판독 가능 매체로서, 방법은,
비디오 시퀀스를 수신하는 것에 대한 응답으로, 비디오 시퀀스와 연관된 파라미터 세트에 제1 플래그 데이터를 인코딩하는 단계 ― 제1 플래그 데이터는 점진적 디코딩 리프레시(GDR)가 비디오 시퀀스에 대해 인에이블 또는 디스에이블되는지를 표현함 ― ;
GDR이 비디오 시퀀스에 대해 디스에이블됨을 제1 플래그 데이터가 표현할 때, 화상이 비-GDR 화상임을 표시하도록 비디오 시퀀스의 화상과 연관된 화상 헤더를 인코딩하는 단계; 및
비-GDR 화상을 인코딩하는 단계를 포함하는, 비-일시적 컴퓨터 판독 가능 매체.
2. 조항 1에 있어서, 화상 헤더를 인코딩하는 단계는,
화상 헤더에 제2 플래그 데이터를 인코딩하는 것을 디스에이블하는 단계를 포함하고, 제2 플래그 데이터는 화상이 GDR 화상인지를 표현하는, 비-일시적 컴퓨터 판독 가능 매체.
3. 조항 1에 있어서, 화상 헤더를 인코딩하는 단계는,
화상 헤더에 제2 플래그 데이터를 인코딩하는 단계를 포함하고, 제2 플래그 데이터는 화상이 비-GDR 화상임을 표현하는, 비-일시적 컴퓨터 판독 가능 매체.
4. 조항 1에 있어서, 장치의 적어도 하나의 프로세서에 의해 실행 가능한 명령들의 세트는, 장치로 하여금,
GDR이 비디오 시퀀스에 대해 인에이블됨을 제1 플래그 데이터가 표현할 때, 화상 헤더에 제2 플래그 데이터를 인코딩하는 것을 인에이블하는 것 ― 제2 플래그 데이터는 화상이 GDR 화상인지를 표현함 ― ; 및
화상을 인코딩하는 것을 추가로 수행하게 하는, 비-일시적 컴퓨터 판독 가능 매체.
5. 조항 2 내지 조항 4 중 어느 한 조항에 있어서, 장치의 적어도 하나의 프로세서에 의해 실행 가능한 명령들의 세트는, 장치로 하여금,
GDR이 비디오 시퀀스에 대해 인에이블됨을 제1 플래그 데이터가 표현하고 화상이 GDR 화상임을 제2 플래그 데이터가 표현할 때, 가상 경계를 사용하여 제1 구역 및 제2 구역으로 화상을 분할하는 것;
제1 픽셀에 대한 필터링이 제2 구역의 제2 픽셀의 정보를 이용할 때 제1 구역의 제1 픽셀 상에서 루프 필터를 디스에이블하거나, 제1 구역의 픽셀들의 정보만을 이용하여 제1 픽셀 상에서 루프 필터를 적용하는 것; 및
제1 구역 또는 제2 구역 중 적어도 하나의 픽셀들을 사용하여 제2 구역의 픽셀들 상에서 루프 필터를 적용하는 것을 추가로 수행하게 하는, 비-일시적 컴퓨터 판독 가능 매체.
6. 조항 2 내지 조항 5 중 어느 한 조항에 있어서, 제2 플래그 데이터는, 화상이 GDR 화상임을 표현하는 "1"의 값 또는 화상이 비-GDR 화상임을 표현하는 "0"의 값을 갖는, 비-일시적 컴퓨터 판독 가능 매체.
7. 조항 1 내지 조항 6 중 어느 한 조항에 있어서, 제2 플래그 데이터는, 화상이 GDR 화상임을 표현하는 "1"의 값 또는 화상이 비-GDR 화상임을 표현하는 "0"의 값을 갖는, 비-일시적 컴퓨터 판독 가능 매체.
8. 장치로 하여금 방법을 수행하게 하도록 장치의 적어도 하나의 프로세서에 의해 실행 가능한 명령들의 세트를 저장하는 비-일시적 컴퓨터 판독 가능 매체로서, 방법은,
비디오 비트스트림을 수신하는 것에 대한 응답으로, 비디오 비트스트림의 시퀀스와 연관된 파라미터 세트의 제1 플래그 데이터를 디코딩하는 단계 ― 제1 플래그 데이터는 점진적 디코딩 리프레시(GDR)가 비디오 시퀀스에 대해 인에이블 또는 디스에이블되는지를 표현함 ― ;
시퀀스에 대해 GDR이 디스에이블되었음을 제1 플래그 데이터가 표현할 때, 시퀀스의 화상과 연관된 화상 헤더를 디코딩하는 단계 ― 화상 헤더는 화상이 비-GDR 화상임을 표시함 ― ; 및
비-GDR 화상을 디코딩하는 단계를 포함하는, 비-일시적 컴퓨터 판독 가능 매체.
9. 조항 8에 있어서, 화상 헤더를 디코딩하는 단계는,
화상 헤더의 제2 플래그 데이터의 디코딩을 디스에이블하고 화상이 비-GDR 화상임을 결정하는 단계를 포함하고, 제2 플래그 데이터는 화상이 GDR 화상인지를 표시하는, 비-일시적 컴퓨터 판독 가능 매체.
10. 조항 8에 있어서, 화상 헤더를 디코딩하는 단계는,
화상 헤더의 제2 플래그 데이터를 디코딩하는 단계를 포함하고, 제2 플래그 데이터는 화상이 비-GDR 화상임을 표시하는, 비-일시적 컴퓨터 판독 가능 매체.
11. 조항 8에 있어서, 장치의 적어도 하나의 프로세서에 의해 실행 가능한 명령들의 세트는, 장치로 하여금,
비디오 시퀀스에 대해 GDR이 인에이블됨을 제1 플래그 데이터가 표현할 때, 화상 헤더의 제2 플래그 데이터를 디코딩하고, 제2 플래그 데이터에 기초하여 화상이 GDR 화상인지를 결정하는 것; 및
화상을 디코딩하는 것을 추가로 수행하게 하는, 비-일시적 컴퓨터 판독 가능 매체.
12. 조항 8 내지 조항 11 중 어느 한 조항에 있어서, 장치의 적어도 하나의 프로세서에 의해 실행 가능한 명령들의 세트는, 장치로 하여금,
GDR이 비디오 시퀀스에 대해 인에이블됨을 제1 플래그 데이터가 표현하고 화상이 GDR 화상임을 제2 플래그 데이터가 표현할 때, 가상 경계를 사용하여 제1 구역 및 제2 구역으로 화상을 분할하는 것;
제1 픽셀에 대한 필터링이 제2 구역의 제2 픽셀의 정보를 이용할 때 제1 구역의 제1 픽셀 상에서 루프 필터를 디스에이블하거나, 제1 구역의 픽셀들의 정보만을 이용하여 제1 픽셀 상에서 루프 필터를 적용하는 것; 및
제1 구역 또는 제2 구역 중 적어도 하나의 픽셀들을 사용하여 제2 구역의 픽셀들 상에서 루프 필터를 적용하는 것을 추가로 수행하게 하는, 비-일시적 컴퓨터 판독 가능 매체.
13. 조항 9 내지 조항 12 중 어느 한 조항에 있어서, 제2 플래그 데이터는, 화상이 GDR 화상임을 표현하는 "1"의 값 또는 화상이 비-GDR 화상임을 표현하는 "0"의 값을 갖는, 비-일시적 컴퓨터 판독 가능 매체.
14. 조항 8 내지 조항 13 중 어느 한 조항에 있어서, 제2 플래그 데이터는, 화상이 GDR 화상임을 표현하는 "1"의 값 또는 화상이 비-GDR 화상임을 표현하는 "0"의 값을 갖는, 비-일시적 컴퓨터 판독 가능 매체.
15. 장치로 하여금 방법을 수행하게 하도록 장치의 적어도 하나의 프로세서에 의해 실행 가능한 명령들의 세트를 저장하는 비-일시적 컴퓨터 판독 가능 매체로서, 방법은,
비디오의 화상을 수신하는 것에 대한 응답으로, 화상과 연관된 플래그 데이터에 기초하여, 화상이 점진적 디코딩 리프레시(GDR) 화상인지를 결정하는 단계;
화상이 GDR 화상이라는 결정에 기초하여, 가상 경계를 사용하여 화상에 대한 제1 구역 및 제2 구역을 결정하는 단계;
제1 픽셀에 대한 필터링이 제2 구역의 제2 픽셀의 정보를 이용할 때 제1 구역의 제1 픽셀 상에서 루프 필터를 디스에이블하거나, 제1 구역의 픽셀들의 정보만을 이용하여 제1 픽셀 상에서 루프 필터를 적용하는 단계; 및
제1 구역 또는 제2 구역 중 적어도 하나의 픽셀들을 사용하여 제2 구역의 픽셀들 상에서 루프 필터를 적용하는 단계를 포함하는, 비-일시적 컴퓨터 판독 가능 매체.
16. 조항 15에 있어서, 제1 픽셀에 대한 필터링이 제2 구역의 제2 픽셀의 정보를 이용할 때 제1 구역의 제1 픽셀 상에서 루프 필터를 디스에이블하거나, 제1 구역의 픽셀들의 정보만을 이용하여 제1 픽셀 상에서 루프 필터를 적용하는 단계는,
제1 구역에서 샘플 적응 오프셋, 디블로킹 필터, 또는 적응 루프 필터 중 적어도 하나를 디스에이블하는 단계; 또는
제1 구역의 픽셀들을 이용하여 샘플 적응 오프셋, 디블로킹 필터, 또는 적응 루프 필터 중 적어도 하나를 적용하는 단계를 포함하는, 비-일시적 컴퓨터 판독 가능 매체.
17. 조항 15 또는 조항 16에 있어서, 장치의 적어도 하나의 프로세서에 의해 실행 가능한 명령들의 세트는, 장치로 하여금,
시퀀스 파라미터 세트(SPS), 화상 파라미터 세트(PPS), 또는 화상 헤더 중 적어도 하나의 플래그 데이터를 디코딩하거나 적어도 하나에 플래그 데이터를 인코딩하는 것을 추가로 수행하게 하는, 비-일시적 컴퓨터 판독 가능 매체.
18. 조항 15 내지 조항 17 중 어느 한 조항에 있어서, 제1 구역은 좌측 구역 또는 상위 구역을 포함하고, 제2 구역은 우측 구역 또는 하위 구역을 포함하는, 비-일시적 컴퓨터 판독 가능 매체.
19. 조항 15 내지 조항 18 중 어느 한 조항에 있어서, 플래그 데이터는, 화상이 GDR 화상임을 표현하는 "1"의 값 또는 화상이 비-GDR 화상임을 표현하는 "0"의 값을 갖는, 비-일시적 컴퓨터 판독 가능 매체.
20. 장치로서,
명령들의 세트를 저장하도록 구성된 메모리; 및
메모리에 통신 가능하게 커플링된 하나 이상의 프로세서들을 포함하고,
하나 이상의 프로세서들은 명령들의 세트를 실행하여, 장치로 하여금,
비디오 시퀀스를 수신하는 것에 대한 응답으로, 비디오 시퀀스와 연관된 파라미터 세트에 제1 플래그 데이터를 인코딩하는 것 ― 제1 플래그 데이터는 점진적 디코딩 리프레시(GDR)가 비디오 시퀀스에 대해 인에이블 또는 디스에이블되는지를 표현함 ― ;
GDR이 비디오 시퀀스에 대해 디스에이블됨을 제1 플래그 데이터가 표현할 때, 화상이 비-GDR 화상임을 표시하도록 비디오 시퀀스의 화상과 연관된 화상 헤더를 인코딩하는 것; 및
비-GDR 화상을 인코딩하는 것을 수행하게 하도록 구성되는, 장치.
21. 조항 20에 있어서, 화상 헤더를 인코딩하는 것은,
화상 헤더에 제2 플래그 데이터를 인코딩하는 것을 디스에이블하는 것을 포함하고, 제2 플래그 데이터는 화상이 GDR 화상인지를 표현하는, 장치.
22. 조항 20에 있어서, 화상 헤더를 인코딩하는 것은,
화상 헤더에 제2 플래그 데이터를 인코딩하는 것을 포함하고, 제2 플래그 데이터는 화상이 비-GDR 화상임을 표현하는, 장치.
23. 조항 20에 있어서, 하나 이상의 프로세서들은 추가로, 명령들의 세트를 실행하여, 장치로 하여금,
GDR이 비디오 시퀀스에 대해 인에이블됨을 제1 플래그 데이터가 표현할 때, 화상 헤더에 제2 플래그 데이터를 인코딩하는 것을 인에이블하는 것 ― 제2 플래그 데이터는 화상이 GDR 화상인지를 표현함 ― ; 및
화상을 인코딩하는 것을 수행하게 하도록 구성되는, 장치.
24. 조항 21 내지 조항 23 중 어느 한 조항에 있어서, 하나 이상의 프로세서들은 추가로, 명령들의 세트를 실행하여, 장치로 하여금,
GDR이 비디오 시퀀스에 대해 인에이블됨을 제1 플래그 데이터가 표현하고 화상이 GDR 화상임을 제2 플래그 데이터가 표현할 때, 가상 경계를 사용하여 제1 구역 및 제2 구역으로 화상을 분할하는 것;
제1 픽셀에 대한 필터링이 제2 구역의 제2 픽셀의 정보를 이용할 때 제1 구역의 제1 픽셀 상에서 루프 필터를 디스에이블하거나, 제1 구역의 픽셀들의 정보만을 이용하여 제1 픽셀 상에서 루프 필터를 적용하는 것; 및
제1 구역 또는 제2 구역 중 적어도 하나의 픽셀들을 사용하여 제2 구역의 픽셀들 상에서 루프 필터를 적용하는 것을 수행하게 하도록 구성되는, 장치.
25. 조항 21 내지 조항 24 중 어느 한 조항에 있어서, 제2 플래그 데이터는, 화상이 GDR 화상임을 표현하는 "1"의 값 또는 화상이 비-GDR 화상임을 표현하는 "0"의 값을 갖는, 장치.
26. 조항 20 내지 조항 25 중 어느 한 조항에 있어서, 제2 플래그 데이터는, 화상이 GDR 화상임을 표현하는 "1"의 값 또는 화상이 비-GDR 화상임을 표현하는 "0"의 값을 갖는, 장치.
27. 장치로서,
명령들의 세트를 저장하도록 구성된 메모리; 및
메모리에 통신 가능하게 커플링된 하나 이상의 프로세서들을 포함하고,
하나 이상의 프로세서들은 명령들의 세트를 실행하여, 장치로 하여금,
비디오 비트스트림을 수신하는 것에 대한 응답으로, 비디오 비트스트림의 시퀀스와 연관된 파라미터 세트의 제1 플래그 데이터를 디코딩하는 것 ― 제1 플래그 데이터는 점진적 디코딩 리프레시(GDR)가 비디오 시퀀스에 대해 인에이블 또는 디스에이블되는지를 표현함 ― ;
시퀀스에 대해 GDR이 디스에이블되었음을 제1 플래그 데이터가 표현할 때, 시퀀스의 화상과 연관된 화상 헤더를 디코딩하는 것 ― 화상 헤더는 화상이 비-GDR 화상임을 표시함 ― ; 및
비-GDR 화상을 디코딩하는 것을 수행하게 하도록 구성되는, 장치.
28. 조항 27에 있어서, 화상 헤더를 디코딩하는 것은,
화상 헤더의 제2 플래그 데이터의 디코딩을 디스에이블하고 화상이 비-GDR 화상임을 결정하는 것을 포함하고, 제2 플래그 데이터는 화상이 GDR 화상인지를 표시하는, 장치.
29. 조항 27에 있어서, 화상 헤더를 디코딩하는 것은,
화상 헤더의 제2 플래그 데이터를 디코딩하는 것을 포함하고, 제2 플래그 데이터는 화상이 비-GDR 화상임을 표시하는, 장치.
30. 조항 27에 있어서, 하나 이상의 프로세서들은 추가로, 명령들의 세트를 실행하여, 장치로 하여금,
비디오 시퀀스에 대해 GDR이 인에이블됨을 제1 플래그 데이터가 표현할 때, 화상 헤더의 제2 플래그 데이터를 디코딩하고, 제2 플래그 데이터에 기초하여 화상이 GDR 화상인지를 결정하는 것; 및
화상을 디코딩하는 것을 수행하게 하도록 구성되는, 장치.
31. 조항 28 내지 조항 30 중 어느 한 조항에 있어서, 하나 이상의 프로세서들은 추가로, 명령들의 세트를 실행하여, 장치로 하여금,
GDR이 비디오 시퀀스에 대해 인에이블됨을 제1 플래그 데이터가 표현하고 화상이 GDR 화상임을 제2 플래그 데이터가 표현할 때, 가상 경계를 사용하여 제1 구역 및 제2 구역으로 화상을 분할하는 것;
제1 픽셀에 대한 필터링이 제2 구역의 제2 픽셀의 정보를 이용할 때 제1 구역의 제1 픽셀 상에서 루프 필터를 디스에이블하거나, 제1 구역의 픽셀들의 정보만을 이용하여 제1 픽셀 상에서 루프 필터를 적용하는 것; 및
제1 구역 또는 제2 구역 중 적어도 하나의 픽셀들을 사용하여 제2 구역의 픽셀들 상에서 루프 필터를 적용하는 것을 수행하게 하도록 구성되는, 장치.
32. 조항 28 내지 조항 31 중 어느 한 조항에 있어서, 제2 플래그 데이터는, 화상이 GDR 화상임을 표현하는 "1"의 값 또는 화상이 비-GDR 화상임을 표현하는 "0"의 값을 갖는, 장치.
33. 조항 27 내지 조항 32 중 어느 한 조항에 있어서, 제2 플래그 데이터는, 화상이 GDR 화상임을 표현하는 "1"의 값 또는 화상이 비-GDR 화상임을 표현하는 "0"의 값을 갖는, 장치.
34. 장치로서,
명령들의 세트를 저장하도록 구성된 메모리; 및
메모리에 통신 가능하게 커플링된 하나 이상의 프로세서들을 포함하고,
하나 이상의 프로세서들은 명령들의 세트를 실행하여, 장치로 하여금,
비디오의 화상을 수신하는 것에 대한 응답으로, 화상과 연관된 플래그 데이터에 기초하여, 화상이 점진적 디코딩 리프레시(GDR) 화상인지를 결정하는 것;
화상이 GDR 화상이라는 결정에 기초하여, 가상 경계를 사용하여 화상에 대한 제1 구역 및 제2 구역을 결정하는 것;
제1 픽셀에 대한 필터링이 제2 구역의 제2 픽셀의 정보를 이용할 때 제1 구역의 제1 픽셀 상에서 루프 필터를 디스에이블하거나, 제1 구역의 픽셀들의 정보만을 이용하여 제1 픽셀 상에서 루프 필터를 적용하는 것; 및
제1 구역 또는 제2 구역 중 적어도 하나의 픽셀들을 사용하여 제2 구역의 픽셀들 상에서 루프 필터를 적용하는 것을 수행하게 하도록 구성되는, 장치.
35. 조항 34에 있어서, 제1 픽셀에 대한 필터링이 제2 구역의 제2 픽셀의 정보를 이용할 때 제1 구역의 제1 픽셀 상에서 루프 필터를 디스에이블하거나, 제1 구역의 픽셀들의 정보만을 이용하여 제1 픽셀 상에서 루프 필터를 적용하는 것은,
제1 구역에서 샘플 적응 오프셋, 디블로킹 필터, 또는 적응 루프 필터 중 적어도 하나를 디스에이블하거나, 또는 제1 구역의 픽셀들을 사용하여 샘플 적응 오프셋, 디블로킹 필터, 또는 적응 루프 필터 중 적어도 하나를 적용하는 것을 포함하는, 장치.
36. 조항 34 또는 조항 35에 있어서, 하나 이상의 프로세서들은 추가로, 명령들의 세트를 실행하여, 장치로 하여금,
시퀀스 파라미터 세트(SPS), 화상 파라미터 세트(PPS), 또는 화상 헤더 중 적어도 하나의 플래그 데이터를 디코딩하거나 적어도 하나에 플래그 데이터를 인코딩하는 것을 수행하게 하도록 구성되는, 장치.
37. 조항 34 내지 조항 36 중 어느 한 조항에 있어서, 제1 구역은 좌측 구역 또는 상위 구역을 포함하고, 제2 구역은 우측 구역 또는 하위 구역을 포함하는, 장치.
38. 조항 34 내지 조항 37 중 어느 한 조항에 있어서, 플래그 데이터는, 화상이 GDR 화상임을 표현하는 "1"의 값 또는 화상이 비-GDR 화상임을 표현하는 "0"의 값을 갖는, 장치.
39. 방법으로서,
비디오 시퀀스를 수신하는 것에 대한 응답으로, 비디오 시퀀스와 연관된 파라미터 세트에 제1 플래그 데이터를 인코딩하는 단계 ― 제1 플래그 데이터는 점진적 디코딩 리프레시(GDR)가 비디오 시퀀스에 대해 인에이블 또는 디스에이블되는지를 표현함 ― ;
GDR이 비디오 시퀀스에 대해 디스에이블됨을 제1 플래그 데이터가 표현할 때, 화상이 비-GDR 화상임을 표시하도록 비디오 시퀀스의 화상과 연관된 화상 헤더를 인코딩하는 단계; 및
비-GDR 화상을 인코딩하는 단계를 포함하는, 방법.
40. 조항 39에 있어서, 화상 헤더를 인코딩하는 단계는,
화상 헤더에 제2 플래그 데이터를 인코딩하는 것을 디스에이블하는 단계를 포함하고, 제2 플래그 데이터는 화상이 GDR 화상인지를 표현하는, 방법.
41. 조항 39에 있어서, 화상 헤더를 인코딩하는 단계는,
화상 헤더에 제2 플래그 데이터를 인코딩하는 단계를 포함하고, 제2 플래그 데이터는 화상이 비-GDR 화상임을 표현하는, 방법.
42. 조항 39에 있어서,
GDR이 비디오 시퀀스에 대해 인에이블됨을 제1 플래그 데이터가 표현할 때, 화상 헤더에 제2 플래그 데이터를 인코딩하는 것을 인에이블하는 단계 ― 제2 플래그 데이터는 화상이 GDR 화상인지를 표현함 ― ; 및
화상을 인코딩하는 단계를 더 포함하는, 방법.
43. 조항 40 내지 조항 42 중 어느 한 조항에 있어서,
GDR이 비디오 시퀀스에 대해 인에이블됨을 제1 플래그 데이터가 표현하고 화상이 GDR 화상임을 제2 플래그 데이터가 표현할 때, 가상 경계를 사용하여 제1 구역 및 제2 구역으로 화상을 분할하는 단계;
제1 픽셀에 대한 필터링이 제2 구역의 제2 픽셀의 정보를 이용할 때 제1 구역의 제1 픽셀 상에서 루프 필터를 디스에이블하거나, 제1 구역의 픽셀들의 정보만을 이용하여 제1 픽셀 상에서 루프 필터를 적용하는 단계; 및
제1 구역 또는 제2 구역 중 적어도 하나의 픽셀들을 사용하여 제2 구역의 픽셀들 상에서 루프 필터를 적용하는 단계를 더 포함하는, 방법.
44. 조항 40 내지 조항 43 중 어느 한 조항에 있어서, 제2 플래그 데이터는, 화상이 GDR 화상임을 표현하는 "1"의 값 또는 화상이 비-GDR 화상임을 표현하는 "0"의 값을 갖는, 방법.
45. 조항 39 내지 조항 44 중 어느 한 조항에 있어서, 제2 플래그 데이터는, 화상이 GDR 화상임을 표현하는 "1"의 값 또는 화상이 비-GDR 화상임을 표현하는 "0"의 값을 갖는, 방법.
46. 방법으로서,
비디오 비트스트림을 수신하는 것에 대한 응답으로, 비디오 비트스트림의 시퀀스와 연관된 파라미터 세트의 제1 플래그 데이터를 디코딩하는 단계 ― 제1 플래그 데이터는 점진적 디코딩 리프레시(GDR)가 비디오 시퀀스에 대해 인에이블 또는 디스에이블되는지를 표현함 ― ;
시퀀스에 대해 GDR이 디스에이블되었음을 제1 플래그 데이터가 표현할 때, 시퀀스의 화상과 연관된 화상 헤더를 디코딩하는 단계 ― 화상 헤더는 화상이 비-GDR 화상임을 표시함 ― ; 및
비-GDR 화상을 디코딩하는 단계를 포함하는, 방법.
47. 조항 46에 있어서, 화상 헤더를 디코딩하는 단계는,
화상 헤더의 제2 플래그 데이터를 디코딩하는 것을 디스에이블하고 화상이 비-GDR 화상임을 결정하는 단계를 포함하고, 제2 플래그 데이터는 화상이 GDR 화상인지를 표시하는, 방법.
48. 조항 46에 있어서, 화상 헤더를 디코딩하는 단계는,
화상 헤더의 제2 플래그 데이터를 디코딩하는 단계를 포함하고, 제2 플래그 데이터는 화상이 비-GDR 화상임을 표시하는, 방법.
49. 조항 46에 있어서,
비디오 시퀀스에 대해 GDR이 인에이블됨을 제1 플래그 데이터가 표현할 때, 화상 헤더의 제2 플래그 데이터를 디코딩하고, 제2 플래그 데이터에 기초하여 화상이 GDR 화상인지를 결정하는 단계; 및
화상을 디코딩하는 단계를 더 포함하는, 방법.
50. 조항 47 내지 조항 49 중 어느 한 조항에 있어서,
GDR이 비디오 시퀀스에 대해 인에이블됨을 제1 플래그 데이터가 표현하고 화상이 GDR 화상임을 제2 플래그 데이터가 표현할 때, 가상 경계를 사용하여 제1 구역 및 제2 구역으로 화상을 분할하는 단계;
제1 픽셀에 대한 필터링이 제2 구역의 제2 픽셀의 정보를 이용할 때 제1 구역의 제1 픽셀 상에서 루프 필터를 디스에이블하거나, 제1 구역의 픽셀들의 정보만을 이용하여 제1 픽셀 상에서 루프 필터를 적용하는 단계; 및
제1 구역 또는 제2 구역 중 적어도 하나의 픽셀들을 사용하여 제2 구역의 픽셀들 상에서 루프 필터를 적용하는 단계를 더 포함하는, 방법.
51. 조항 47 내지 조항 50 중 어느 한 조항에 있어서, 제2 플래그 데이터는, 화상이 GDR 화상임을 표현하는 "1"의 값 또는 화상이 비-GDR 화상임을 표현하는 "0"의 값을 갖는, 방법.
52. 조항 46 내지 조항 51 중 어느 한 조항에 있어서, 제2 플래그 데이터는, 화상이 GDR 화상임을 표현하는 "1"의 값 또는 화상이 비-GDR 화상임을 표현하는 "0"의 값을 갖는, 방법.
53. 방법으로서,
비디오의 화상을 수신하는 것에 대한 응답으로, 화상과 연관된 플래그 데이터에 기초하여, 화상이 점진적 디코딩 리프레시(GDR) 화상인지를 결정하는 단계;
화상이 GDR 화상이라는 결정에 기초하여, 가상 경계를 사용하여 화상에 대한 제1 구역 및 제2 구역을 결정하는 단계;
제1 픽셀에 대한 필터링이 제2 구역의 제2 픽셀의 정보를 이용할 때 제1 구역의 제1 픽셀 상에서 루프 필터를 디스에이블하거나, 제1 구역의 픽셀들의 정보만을 이용하여 제1 픽셀 상에서 루프 필터를 적용하는 단계; 및
제1 구역 또는 제2 구역 중 적어도 하나의 픽셀들을 사용하여 제2 구역의 픽셀들 상에서 루프 필터를 적용하는 단계를 포함하는, 방법.
54. 조항 53에 있어서, 제1 픽셀에 대한 필터링이 제2 구역의 제2 픽셀의 정보를 이용할 때 제1 구역의 제1 픽셀 상에서 루프 필터를 디스에이블하거나, 제1 구역의 픽셀들의 정보만을 이용하여 제1 픽셀 상에서 루프 필터를 적용하는 단계는,
제1 구역에서 샘플 적응 오프셋, 디블로킹 필터, 또는 적응 루프 필터 중 적어도 하나를 디스에이블하거나, 또는 제1 구역의 픽셀들을 사용하여 샘플 적응 오프셋, 디블로킹 필터, 또는 적응 루프 필터 중 적어도 하나를 적용하는 단계를 포함하는, 방법.
55. 조항 53 또는 조항 54에 있어서,
시퀀스 파라미터 세트(SPS), 화상 파라미터 세트(PPS), 또는 화상 헤더 중 적어도 하나의 플래그 데이터를 디코딩하거나 적어도 하나에 플래그 데이터를 인코딩하는 단계를 더 포함하는, 방법.
56. 조항 53 내지 조항 55 중 어느 한 조항에 있어서, 제1 구역은 좌측 구역 또는 상위 구역을 포함하고, 제2 구역은 우측 구역 또는 하위 구역을 포함하는, 방법.
57. 조항 53 내지 조항 56 중 어느 한 조항에 있어서, 플래그 데이터는, 화상이 GDR 화상임을 표현하는 "1"의 값 또는 화상이 비-GDR 화상임을 표현하는 "0"의 값을 갖는, 방법.
본원에서 "제1" 및 "제2"와 같은 관계 용어들은 엔티티 또는 동작을 다른 엔티티 또는 동작으로부터 구별하기 위해서만 사용되며, 이러한 엔티티들 또는 동작들 사이의 임의의 실제 관계 또는 시퀀스를 요구하거나 암시하지 않는다는 것이 주의되어야 한다. 또한, "포함하는(comprising)", "갖는(having)", "함유하는(containing)" 및 "포함하는(including)"이라는 단어들 및 다른 유사한 형태들은 의미가 동등하고 이러한 단어들 중 임의의 것을 뒤따르는 아이템 또는 아이템들이 그러한 아이템 또는 아이템들의 총망라하는 목록을 의미하거나 나열된 아이템 또는 아이템들만으로 제한되는 것을 의미하지 않는다는 점에서 개방형(open ended)인 것으로 의도된다.
본원에서 사용되는 바와 같이, 달리 구체적으로 언급되지 않는 한, 용어 "또는"은 실행 불가능한 경우를 제외하고 모든 가능한 조합들을 포괄한다. 예컨대, 구성요소가 A 또는 B를 포함할 수 있다고 언급되는 경우, 구체적으로 달리 언급되거나 실행 불가능하지 않다면, 구성요소는 A 또는 B 또는 A 및 B를 포함할 수 있다. 제2의 예로서, 구성요소가 A, B 또는 C를 포함할 수 있다고 언급되는 경우, 구체적으로 달리 언급되거나 실행 불가능하지 않다면, 구성요소는 A 또는 B 또는 C 또는 A와 B 또는 A와 C 또는 B와 C 또는 A와 B와 C를 포함할 수 있다.
위에서 설명된 실시예들은 하드웨어, 또는 소프트웨어(프로그램 코드들) 또는 하드웨어 및 소프트웨어의 조합에 의해 구현될 수 있다는 것이 인지된다. 소프트웨어에 의해 구현되는 경우, 이는 위에서 설명된 컴퓨터-판독 가능 매체들에 저장될 수 있다. 프로세서에 의해 실행될 때, 소프트웨어는 개시된 방법들을 수행할 수 있다. 본 개시내용에서 설명된 컴퓨팅 유닛들 및 다른 기능 유닛들은 하드웨어, 소프트웨어 또는 하드웨어 및 소프트웨어의 조합에 의해 구현될 수 있다. 당업자는 또한 위에서 설명된 모듈들/유닛들 중 다수가 하나의 모듈/유닛으로서 결합될 수 있고, 위에서 설명된 모듈들/유닛들 각각은 복수의 서브-모듈들/서브-유닛들로 추가로 분할될 수 있다는 것을 이해할 수 있다.
전술한 명세서에서, 실시예들은 구현마다 변동될 수 있는 수많은 특정 세부사항들을 참조하여 설명되었다. 설명된 실시예들의 특정 적응들 및 수정들이 이루어질 수 있다. 다른 실시예들은 본원에서 개시된 개시내용의 실시 및 명세서를 고려하여 당업자들에게 명백해질 수 있다. 본 명세서 및 예들은 단지 예시적인 것으로서만 고려되며, 본 개시내용의 실제 범위 및 사상은 다음의 청구항들에 의해 표시되는 것으로 의도된다. 또한 도면들에 도시된 단계들의 시퀀스는 단지 예시를 위한 것으로 의도되며 단계들의 임의의 특정 시퀀스로 제한되는 것으로 의도되지 않는다. 따라서, 당업자들은 이러한 단계들이 동일한 방법을 구현하면서 상이한 순서로 수행될 수 있다는 것을 인지할 수 있다.
도면들 및 명세서에서, 예시적인 실시예들이 개시되어 있다. 그러나, 이들 실시예에 대해 다수의 변동들 및 수정들이 이루어질 수 있다. 이에 따라 특정 용어들이 이용되지만, 그들은 제한의 목적들이 아니라 일반적이고 설명적인 의미로 사용된다.

Claims (20)

  1. 장치로 하여금 방법을 수행하게 하도록 상기 장치의 적어도 하나의 프로세서에 의해 실행 가능한 명령들의 세트를 저장하는 비-일시적 컴퓨터 판독 가능 매체로서, 상기 방법은,
    비디오 시퀀스를 수신하는 것에 대한 응답으로, 상기 비디오 시퀀스와 연관된 파라미터 세트에 제1 플래그 데이터를 인코딩하는 단계 ― 상기 제1 플래그 데이터는 점진적 디코딩 리프레시(GDR)가 상기 비디오 시퀀스에 대해 인에이블 또는 디스에이블되는지를 표현함 ― ;
    상기 GDR이 상기 비디오 시퀀스에 대해 디스에이블됨을 상기 제1 플래그 데이터가 표현할 때, 화상이 비-GDR 화상임을 표시하도록 상기 비디오 시퀀스의 상기 화상과 연관된 화상 헤더를 인코딩하는 단계; 및
    상기 비-GDR 화상을 인코딩하는 단계를 포함하는,
    비-일시적 컴퓨터 판독 가능 매체.
  2. 제1 항에 있어서,
    상기 화상 헤더를 인코딩하는 단계는,
    상기 화상 헤더에 제2 플래그 데이터를 인코딩하는 것을 디스에이블하는 단계를 포함하고, 상기 제2 플래그 데이터는 상기 화상이 GDR 화상인지를 표현하는,
    비-일시적 컴퓨터 판독 가능 매체.
  3. 제2 항에 있어서,
    상기 제2 플래그 데이터는, 상기 화상이 GDR 화상임을 표현하는 "1"의 값 또는 상기 화상이 상기 비-GDR 화상임을 표현하는 "0"의 값을 갖는,
    비-일시적 컴퓨터 판독 가능 매체.
  4. 제1 항에 있어서,
    상기 화상 헤더를 인코딩하는 단계는,
    상기 화상 헤더에 제2 플래그 데이터를 인코딩하는 단계를 포함하고, 상기 제2 플래그 데이터는 상기 화상이 상기 비-GDR 화상임을 표현하는,
    비-일시적 컴퓨터 판독 가능 매체.
  5. 제1 항에 있어서,
    상기 장치의 적어도 하나의 프로세서에 의해 실행 가능한 명령들의 세트는, 상기 장치로 하여금,
    상기 GDR이 상기 비디오 시퀀스에 대해 인에이블됨을 상기 제1 플래그 데이터가 표현할 때, 상기 화상 헤더에 제2 플래그 데이터를 인코딩하는 것을 인에이블하는 것 ― 상기 제2 플래그 데이터는 상기 화상이 GDR 화상인지를 표현함 ― ; 및
    상기 화상을 인코딩하는 것을 추가로 수행하게 하는,
    비-일시적 컴퓨터 판독 가능 매체.
  6. 제5 항에 있어서,
    상기 장치의 적어도 하나의 프로세서에 의해 실행 가능한 명령들의 세트는, 상기 장치로 하여금,
    상기 GDR이 상기 비디오 시퀀스에 대해 인에이블됨을 상기 제1 플래그 데이터가 표현하고 상기 화상이 GDR 화상임을 상기 제2 플래그 데이터가 표현할 때, 가상 경계를 사용하여 제1 구역 및 제2 구역으로 상기 화상을 분할하는 것;
    제1 픽셀에 대한 필터링이 상기 제2 구역의 제2 픽셀의 정보를 이용할 때 상기 제1 구역의 상기 제1 픽셀 상에서 루프 필터를 디스에이블하거나, 상기 제1 구역의 픽셀들의 정보만을 이용하여 상기 제1 픽셀 상에서 상기 루프 필터를 적용하는 것; 및
    상기 제1 구역 또는 상기 제2 구역 중 적어도 하나의 픽셀들을 사용하여 상기 제2 구역의 픽셀들 상에서 상기 루프 필터를 적용하는 것을 추가로 수행하게 하는,
    비-일시적 컴퓨터 판독 가능 매체.
  7. 제5 항에 있어서,
    상기 제2 플래그 데이터는, 상기 화상이 GDR 화상임을 표현하는 "1"의 값 또는 상기 화상이 상기 비-GDR 화상임을 표현하는 "0"의 값을 갖는,
    비-일시적 컴퓨터 판독 가능 매체.
  8. 제1 항에 있어서,
    상기 제1 플래그 데이터는, 상기 GDR이 상기 비디오 시퀀스에 대해 인에이블됨을 표현하는 "1"의 값 또는 상기 GDR이 상기 비디오 시퀀스에 대해 디스에이블됨을 표현하는 "0"의 값을 갖는,
    비-일시적 컴퓨터 판독 가능 매체.
  9. 장치로 하여금 방법을 수행하게 하도록 상기 장치의 적어도 하나의 프로세서에 의해 실행 가능한 명령들의 세트를 저장하는 비-일시적 컴퓨터 판독 가능 매체로서, 상기 방법은,
    비디오의 화상을 수신하는 것에 대한 응답으로, 상기 화상과 연관된 플래그 데이터에 기초하여, 상기 화상이 점진적 디코딩 리프레시(GDR) 화상인지를 결정하는 단계;
    상기 화상이 상기 GDR 화상이라는 결정에 기초하여, 가상 경계를 사용하여 상기 화상에 대한 제1 구역 및 제2 구역을 결정하는 단계;
    제1 픽셀에 대한 필터링이 상기 제2 구역의 제2 픽셀의 정보를 이용할 때 상기 제1 구역의 상기 제1 픽셀 상에서 루프 필터를 디스에이블하거나, 상기 제1 구역의 픽셀들의 정보만을 이용하여 상기 제1 픽셀 상에서 상기 루프 필터를 적용하는 단계; 및
    상기 제1 구역 또는 상기 제2 구역 중 적어도 하나의 픽셀들을 사용하여 상기 제2 구역의 픽셀들 상에서 상기 루프 필터를 적용하는 단계를 포함하는,
    비-일시적 컴퓨터 판독 가능 매체.
  10. 제9 항에 있어서,
    상기 제1 픽셀에 대한 필터링이 상기 제2 구역의 제2 픽셀의 정보를 이용할 때 상기 제1 구역의 상기 제1 픽셀 상에서 상기 루프 필터를 디스에이블하거나, 상기 제1 구역의 픽셀들의 정보만을 이용하여 상기 제1 픽셀 상에서 상기 루프 필터를 적용하는 단계는,
    상기 제1 구역에서 샘플 적응 오프셋, 디블로킹 필터, 또는 적응 루프 필터 중 적어도 하나를 디스에이블하는 단계; 또는
    상기 제1 구역의 픽셀들을 이용하여 상기 샘플 적응 오프셋, 상기 디블로킹 필터, 또는 상기 적응 루프 필터 중 적어도 하나를 적용하는 단계를 포함하는,
    비-일시적 컴퓨터 판독 가능 매체.
  11. 제9 항에 있어서,
    상기 장치의 적어도 하나의 프로세서에 의해 실행 가능한 명령들의 세트는, 상기 장치로 하여금,
    시퀀스 파라미터 세트(SPS), 화상 파라미터 세트(PPS), 또는 화상 헤더 중 적어도 하나의 플래그 데이터를 디코딩하거나 상기 적어도 하나에 상기 플래그 데이터를 인코딩하는 것을 추가로 수행하게 하는,
    비-일시적 컴퓨터 판독 가능 매체.
  12. 제9 항에 있어서,
    상기 제1 구역은 좌측 구역 또는 상위 구역을 포함하고, 상기 제2 구역은 우측 구역 또는 하위 구역을 포함하는,
    비-일시적 컴퓨터 판독 가능 매체.
  13. 제9 항에 있어서,
    상기 플래그 데이터는, 상기 화상이 상기 GDR 화상임을 표현하는 "1"의 값 또는 상기 화상이 비-GDR 화상임을 표현하는 "0"의 값을 갖는,
    비-일시적 컴퓨터 판독 가능 매체.
  14. 장치로서,
    명령들의 세트를 저장하도록 구성된 메모리; 및
    상기 메모리에 통신 가능하게 커플링된 하나 이상의 프로세서들을 포함하고,
    상기 하나 이상의 프로세서들은 상기 명령들의 세트를 실행하여, 상기 장치로 하여금,
    비디오 시퀀스를 수신하는 것에 대한 응답으로, 상기 비디오 시퀀스와 연관된 파라미터 세트에 제1 플래그 데이터를 인코딩하는 것 ― 상기 제1 플래그 데이터는 점진적 디코딩 리프레시(GDR)가 상기 비디오 시퀀스에 대해 인에이블 또는 디스에이블되는지를 표현함 ― ;
    상기 GDR이 상기 비디오 시퀀스에 대해 디스에이블됨을 상기 제1 플래그 데이터가 표현할 때, 화상이 비-GDR 화상임을 표시하도록 상기 비디오 시퀀스의 화상과 연관된 화상 헤더를 인코딩하는 것; 및
    상기 비-GDR 화상을 인코딩하는 것을 수행하게 하도록 구성되는,
    장치.
  15. 제14 항에 있어서,
    상기 화상 헤더를 인코딩하는 것은,
    상기 화상 헤더에 제2 플래그 데이터를 인코딩하는 것을 디스에이블하는 것을 포함하고, 상기 제2 플래그 데이터는 상기 화상이 GDR 화상인지를 표현하는,
    장치.
  16. 제15 항에 있어서,
    상기 제2 플래그 데이터는, 상기 화상이 GDR 화상임을 표현하는 "1"의 값 또는 상기 화상이 상기 비-GDR 화상임을 표현하는 "0"의 값을 갖는,
    장치.
  17. 제14 항에 있어서,
    상기 화상 헤더를 인코딩하는 것은,
    상기 화상 헤더에 제2 플래그 데이터를 인코딩하는 것을 포함하고, 상기 제2 플래그 데이터는 상기 화상이 상기 비-GDR 화상임을 표현하는,
    장치.
  18. 제14 항에 있어서,
    상기 하나 이상의 프로세서들은 추가로, 상기 명령들의 세트를 실행하여, 상기 장치로 하여금,
    상기 GDR이 상기 비디오 시퀀스에 대해 인에이블됨을 상기 제1 플래그 데이터가 표현할 때, 상기 화상 헤더에 제2 플래그 데이터를 인코딩하는 것을 인에이블하는 것 ― 상기 제2 플래그 데이터는 상기 화상이 GDR 화상인지를 표현함 ― ; 그리고
    상기 화상을 인코딩하는 것을 수행하게 하도록 구성되는,
    장치.
  19. 제14 항에 있어서,
    상기 하나 이상의 프로세서들은 추가로, 상기 명령들의 세트를 실행하여, 상기 장치로 하여금,
    상기 GDR이 상기 비디오 시퀀스에 대해 인에이블됨을 상기 제1 플래그 데이터가 표현하고 상기 화상이 GDR 화상임을 상기 제2 플래그 데이터가 표현할 때, 가상 경계를 사용하여 제1 구역 및 제2 구역으로 상기 화상을 분할하는 것;
    제1 픽셀에 대한 필터링이 상기 제2 구역의 제2 픽셀의 정보를 이용할 때 상기 제1 구역의 상기 제1 픽셀 상에서 루프 필터를 디스에이블하거나, 상기 제1 구역의 픽셀들의 정보만을 이용하여 상기 제1 픽셀 상에서 상기 루프 필터를 적용하는 곳; 및
    상기 제1 구역 또는 상기 제2 구역 중 적어도 하나의 픽셀들을 사용하여 상기 제2 구역의 픽셀들 상에서 상기 루프 필터를 적용하는 것을 수행하게 하도록 구성되는,
    장치.
  20. 제14 항에 있어서,
    상기 플래그 데이터는, 상기 화상이 상기 GDR 화상임을 표현하는 "1"의 값 또는 상기 화상이 비-GDR 화상임을 표현하는 "0"의 값을 갖는,
    장치.
KR1020227025084A 2019-12-27 2020-12-01 화상들 상에서 점진적 디코딩 리프레시 프로세싱을 수행하기 위한 방법들 및 시스템들 KR20220113808A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201962954011P 2019-12-27 2019-12-27
US62/954,011 2019-12-27
PCT/US2020/062681 WO2021133519A1 (en) 2019-12-27 2020-12-01 Methods and systems for performing gradual decoding refresh processing on pictures

Publications (1)

Publication Number Publication Date
KR20220113808A true KR20220113808A (ko) 2022-08-16

Family

ID=76546765

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227025084A KR20220113808A (ko) 2019-12-27 2020-12-01 화상들 상에서 점진적 디코딩 리프레시 프로세싱을 수행하기 위한 방법들 및 시스템들

Country Status (6)

Country Link
US (2) US11758171B2 (ko)
EP (1) EP4082200A4 (ko)
JP (1) JP2023507911A (ko)
KR (1) KR20220113808A (ko)
CN (2) CN114830662B (ko)
WO (1) WO2021133519A1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020032049A1 (ja) * 2018-08-06 2020-02-13 シャープ株式会社 動画像復号装置、および動画像符号化装置
JP2023507911A (ja) * 2019-12-27 2023-02-28 アリババ グループ ホウルディング リミテッド ピクチャに対して漸進的復号化リフレッシュ処理を行うための方法及びシステム
EP4128759A1 (en) * 2020-04-02 2023-02-08 Telefonaktiebolaget LM ERICSSON (PUBL) Virtual boundary signaling
WO2023118339A1 (en) * 2021-12-21 2023-06-29 Interdigital Vc Holdings France, Sas Gdr adapted filtering

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10034018B2 (en) * 2011-09-23 2018-07-24 Velos Media, Llc Decoded picture buffer management
KR102124141B1 (ko) * 2012-07-02 2020-06-18 선 페이턴트 트러스트 화상 복호 방법, 화상 부호화 방법, 화상 복호 장치, 화상 부호화 장치 및 화상 부호화 복호 장치
US20140079138A1 (en) 2012-09-14 2014-03-20 Sony Corporation Simplifiication of pic_order_cnt_lsb calculation in hm8
US9491457B2 (en) * 2012-09-28 2016-11-08 Qualcomm Incorporated Signaling of regions of interest and gradual decoding refresh in video coding
US9398293B2 (en) * 2013-01-07 2016-07-19 Qualcomm Incorporated Gradual decoding refresh with temporal scalability support in video coding
EP2946558B1 (en) * 2013-01-15 2020-04-29 Huawei Technologies Co., Ltd. Method for decoding an hevc video bitstream
US9407923B2 (en) * 2013-05-20 2016-08-02 Gamefly Israel Ltd. Overconing lost IP packets in streaming video in IP networks
US10638147B2 (en) 2018-06-01 2020-04-28 Apple Inc. Gradual decoder refresh techniques with management of reference pictures
WO2020185959A1 (en) 2019-03-11 2020-09-17 Futurewei Technologies, Inc. Gradual decoding refresh in video coding
EP4011063A4 (en) * 2019-08-09 2022-11-02 Huawei Technologies Co., Ltd. EXTERNAL DECODING REFRESH TO VIDEO CODING
JP2022553128A (ja) * 2019-09-24 2022-12-22 ホアウェイ・テクノロジーズ・カンパニー・リミテッド マルチレイヤビデオビットストリームにおけるアクセスユニット内の混在したirapおよび非irapピクチャのサポート
KR20220070325A (ko) * 2019-10-07 2022-05-30 후아웨이 테크놀러지 컴퍼니 리미티드 서브 비트스트림 추출의 sps 오류 방지
US11758193B2 (en) * 2019-11-04 2023-09-12 Hfi Innovation Inc. Signaling high-level information in video and image coding
US11356705B2 (en) * 2019-12-23 2022-06-07 Qualcomm Incorporated Picture header intra random access picture and gradual decoder refresh signaling in video coding
JP2023507911A (ja) * 2019-12-27 2023-02-28 アリババ グループ ホウルディング リミテッド ピクチャに対して漸進的復号化リフレッシュ処理を行うための方法及びシステム

Also Published As

Publication number Publication date
EP4082200A1 (en) 2022-11-02
WO2021133519A1 (en) 2021-07-01
US20210203971A1 (en) 2021-07-01
CN114830662B (zh) 2023-04-14
CN116506635B (zh) 2024-01-12
JP2023507911A (ja) 2023-02-28
CN114830662A (zh) 2022-07-29
US20230421795A1 (en) 2023-12-28
EP4082200A4 (en) 2023-07-05
CN116506635A (zh) 2023-07-28
US11758171B2 (en) 2023-09-12

Similar Documents

Publication Publication Date Title
US20210195251A1 (en) Method and apparatus for lossless coding of video data
US11671613B2 (en) Methods for signaling virtual boundaries and wrap-around motion compensation
KR20220045045A (ko) 비디오 신호의 행렬 가중된 인트라 예측
US11758171B2 (en) Methods and systems for performing gradual decoding refresh processing on pictures
US12003738B2 (en) Method and apparatus for signaling subpicture partitioning information
KR20220110301A (ko) 화상 경계에서 블록 파티셔닝을 위한 방법들 및 장치들
KR20220116006A (ko) 랩-어라운드 모션 보상을 수행하기 위한 방법들
KR20220160038A (ko) 비디오 코딩 데이터를 시그널링하기 위한 방법들
KR20220143859A (ko) 크로마 신호를 처리하기 위한 방법
CN114788284B (zh) 用于在调色板模式下对视频数据进行编码的方法和装置
US20240048772A1 (en) METHOD AND APPARATUS FOR PROCESSING VIDEO CONTENT WITH ALF and CCALF
KR20220158002A (ko) 비디오 레코딩의 부호 데이터 은닉
KR20220063248A (ko) 병합 후보 목록 구성 방법
KR20220057620A (ko) 변환-스킵 모드에서 비디오 데이터를 코딩하기 위한 방법 및 장치
US20230090025A1 (en) Methods and systems for performing combined inter and intra prediction
US20210368170A1 (en) High level control of pdpc and intra reference sample filtering of video coding
US11451801B2 (en) Methods for coding video data in palette mode