KR20220002917A - 코딩 트리 구조 유형을 기반으로 한 코딩 모드 - Google Patents

코딩 트리 구조 유형을 기반으로 한 코딩 모드 Download PDF

Info

Publication number
KR20220002917A
KR20220002917A KR1020217034555A KR20217034555A KR20220002917A KR 20220002917 A KR20220002917 A KR 20220002917A KR 1020217034555 A KR1020217034555 A KR 1020217034555A KR 20217034555 A KR20217034555 A KR 20217034555A KR 20220002917 A KR20220002917 A KR 20220002917A
Authority
KR
South Korea
Prior art keywords
block
current video
video block
tree structure
mode
Prior art date
Application number
KR1020217034555A
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 KR20220002917A publication Critical patent/KR20220002917A/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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/184Methods 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 bits, e.g. of the compressed video stream
    • 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/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • 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/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Abstract

변환 스킵 모드에서 계수 코딩을 위한 장치, 시스템 및 방법이 기술된다. 시각적 미디어 처리를 위한 예시적인 방법은 현재 비디오 블록과 연관된 적어도 코딩 트리 구조에 기초하여 또는 유추된 IBC(intra block copy) 모드의 적용과 연관하여 비주얼 미디어 데이터의 비디오 영역에서 현재 비디오 블록을 비주얼 미디어 데이터의 비트스트림 표현으로 인코딩하는 결정을 내리는 것을 포함한다. 그리고, 비트스트림 표현에서, 적어도 코딩 트리 구조로부터 유추된 IBC 모드의 적용을 표시하는 구문 요소를 선택적으로 포함한다.

Description

코딩 트리 구조 유형을 기반으로 한 코딩 모드
이 문서는 비디오 및 이미지 코딩/디코딩 기술에 관한 것이다.
파리조약에 따른 대응하는 특허법 및/또는 규칙에 따라, 이 출원은 2019년 5월 2일에 출원된 국제 특허출원 번호 PCT/CN2019/085405, 및 2019년 5월 7일에 출원된 국제 특허출원 번호 PCT/CN2019/085860의 우선권과 이익을 적시에 청구하기 위해 이루어졌다. 법에 따라 모든 목적을 위해, 상기 출원들의 전체 공개는 이 출원의 공개의 일환으로 참조에 의해 통합된다.
디지털 비디오는 인터넷 및 다른 디지털 통신 네트워크에서 가장 많은 대역폭을 사용한다. 비디오를 수신하고 표시할 수 있는 연결된 사용자 장치들의 개수가 증가함에 따라, 디지털 비디오 사용에 대한 대역폭 수요가 계속 증가할 것으로 예상된다.
디지털 비디오 코딩/디코딩, 및 구체적으로 비디오 코딩/디코딩을 위한 변환 스킵 모드(transform skip mode)의 계수 코딩과 관련된 장치, 시스템 및 방법이 기술된다. 기술된 방법은 기존의 비디오 코딩 표준(예를 들어, HEVC(고효율 비디오 코딩(High Efficiency Video Coding)) 및 미래의 비디오 코딩 표준들(예를 들어, VVC(범용 비디오 코딩(Versatile Video Coding)) 또는 코덱 모두에 적용될 수 있다.
하나의 예시적인 측면에서, 비주얼 미디어 인코딩(visual media encoding)을 위한 방법이 개시된다. 이 방법은 비주얼 미디어 데이터의 비디오 영역에서 현재 비디오 블록을 비주얼 미디어 데이터의 비트스트림 표현으로 인코딩하기 위하여, 현재 비디오 블록과 연관된 적어도 코딩 트리 구조에 기초하여 또는 유추된 인트라 블록 복사(IBC: Intra Block Copy) 모드의 적용에 관한 결정을 내리는 단계; 및 비트스트림 표현에서, 적어도 코딩 트리 구조에 기초하여 또는 유추된 IBC 모드의 적용을 표시하는 구문 요소를 선택적으로 포함하는 단계를 포함한다.
다른 예시적인 측면에서, 비주얼 미디어 디코딩을 위한 방법이 개시된다. 이 방법은 현재 비디오 블록을 포함하는 비디오 영역을 포함하는 비주얼 미디어 데이터의 비트스트림 표현으로부터 현재 비디오 블록과 연관된 코딩 트리 구조를 결정하는 단계를 포함한다. 코딩 트리 구조에 기초하여 구문 요소가 비트스트림 표현에 포함되는지 여부를 결정하고, 여기서 구문 요소는 내부 블록 복사(IBC) 모드를 표시한다. 비트스트림 표현으로부터 현재 비디오 블록을 생성한다.
또 다른 예시적인 측면에서, 비주얼 미디어 인코딩을 위한 방법이 개시된다. 이 방법은 비주얼 미디어 데이터의 비디오 영역에서 현재 비디오 블록을 비주얼 미디어 데이터의 비트스트림 표현으로 인코딩하기 위하여, 적어도 인트라 블록 복사 모드가 적용되는지를 결정하는데 기초하여 또는 유추하여 현재 비디오 블록에 대하여 코딩 트리 구조의 적용에 관한 결정을 내리는 단계; 및 비트스트림 표현에서 현재 비디오 블록에 대하여 코딩 트리 구조의 적용을 표시하는 구문 요소를 선택적으로 포함하는 단계를 포함한다.
또 다른 예시적인 측면에서, 비주얼 미디어 디코딩을 위한 방법이 개시된다. 이 방법은 현재 비디오 블록을 포함하는 비디오 영역을 포함하는 비디오 영역의 비트스트림 표현으로부터 구문 요소를 파싱하는(parsing) 단계를 포함하며, 여기서 구문 요소는 적어도 인트라 블록 복사 모드가 적용되는지를 결정하는데 기초하여 또는 유추하여, 현재 비디오 블록에 대하여 코딩 트리 구조의 적용을 표시한다. 구문 요소에 따라 현재 비디오 블록을 디코딩함으로써 비트스트림 표현으로부터 디코딩된 비디오 영역을 생성한다.
또 다른 예시적인 측면에서, 비주얼 미디어 인코딩을 위한 방법이 개시된다. 이 방법은 비주얼 미디어 데이터의 비디오 영역에서 현재 비디오 블록을 비주얼 미디어 데이터의 비트스트림 표현으로 인코딩하기 위하여, 현재 비디오 블록과 연관된 적어도 코딩 트리 구조에 기초하여 또는 유추된 팔레트 모드의 적용에 관한 결정을 내리는 단계로서, 팔레트 모드에서, 현재 비디오 블록에 포함된 샘플들은 팔레트에 포함된 대표적인 컬러값들 집합을 이용하여 표현되는 단계; 및 비트스트림 표현에서 팔레트 모드의 적용을 표시하는 구문 요소를 선택적으로 포함하는 단계를 포함한다.
또 다른 예시적인 측면에서, 비주얼 미디어 디코딩을 위한 방법이 개시된다. 이 방법은 현재 비디오 블록을 포함하는 비디오 영역을 포함하는 비주얼 미디어 데이터의 비트스트림 표현으로부터 구문 요소를 파싱하는 단계를 포함하고, 여기서 구문 요소는 현재 비디오 블록과 연관된 적어도 코딩 트리 구조에 기초하여 또는 유추된 팔레트 모드를 표시하고, 상기 팔레트 모드에서, 현재 비디오 블록에 포함된 샘플들은 팔레트에 포함된 대표적인 컬러값들 집합을 이용하여 표현된다. 구문 요소에 따라 현재 비디오 블록을 디코딩함으로써, 비트스트림 표현으로부터 디코딩된 비디오 영역을 생성하는 단계를 포함한다.
또 다른 예시적인 측면에서, 비주얼 미디어 인코딩을 위한 방법이 개시된다. 이 방법은 비주얼 미디어 데이터의 비디오 영역에서 현재 비디오 블록을 비주얼 미디어 데이터의 비트스트림 표현으로 인코딩하기 위하여, 팔레트 모드가 적용된다는 것을 적어도 결정하거나 또는 유추하여 현재 비디오 블록에 대하여 코딩 트리 구조의 적용에 관한 결정을 내리는 단계로서, 여기서, 팔레트 모드에서, 현재 비디오 블록에 포함된 샘플들은 팔레트에 포함된 대표적인 컬러값들 집합을 이용하여 표현되는 단계; 및 비트스트림 표현에서, 상기 현재 비디오 블록에 대하여 코딩 트리 구조의 적용을 표시하는 구문 요소를 선택적으로 포함하는 단계를 포함한다.
또 다른 예시적인 측면에서, 비주얼 미디어 디코딩을 위한 방법이 개시된다. 이 방법은 현재 비디오 블록을 포함하는 비디오 영역을 포함하는 비주얼 미디어 데이터의 비트스트림 표현으로부터 구문 요소를 파싱하는 단계를 포함하고, 여기서 구문 요소는 팔레트 모드가 적용된다는 것을 적어도 결정하거나 유추하여 현재 비디오 블록에 대하여 코딩 트리 구조의 적용을 표시한다. 여기서, 팔레트 모드에서, 현재 비디오 블록에 포함된 샘플들은 팔레트에 포함된 대표적인 컬러값들 집합을 이용하여 표현된다. 구문 요소에 따라 현재 비디오 블록을 디코딩함으로써 비트스트림 표현으로부터 디코딩된 비디오 영역을 생성한다.
다른 예시적인 측면에서, 전술한 방법은 프로세서를 포함하는 비디오 인코더 장치에 의해 구현될 수 있다.
다른 예시적인 측면에서, 전술한 방법은 프로세서를 포함하는 비디오 디코더 장치에 의해 구현될 수 있다.
또 다른 예시적인 측면에서, 이러한 방법들은 프로세서 실행 가능한 명령어로 실현되고, 컴퓨터 판독 가능한 프로그램 매체에 저장될 수 있다.
이러한 측면들 및 기타 다른 측면들은 본 문서에서 더 설명된다.
도 1은 인트라 블록 복사(intra block copy)의 예를 나타낸다.
도 2는 팔레트 모드에서 코딩된 블록의 예를 나타낸다.
도 3은 팔레트 엔트리를 시그널링 하기 위한 팔레트 예측자의 사용의 예를 나타낸다.
도 4는 수평 및 수직 횡단 스캔의 예를 나타낸다.
도 5는 팔레트 인덱스의 코딩의 예를 나타낸다.
도 6은 다중 유형 트리 분할 모드의 예를 나타낸다.
도 7은 크로스 컴포넌트 선형 모델(CCLM: cross-component linear model)) 예측 모드에서 파라미터를 유도하는 데 사용되는 샘플의 예를 나타낸다.
도 8은 크로마 스케일링을 갖는 루마 매핑을 위한 예시적인 아키텍처를 도시한다.
도 9a 내지 9e는 비디오 처리 방법의 예들에 대한 순서도이다.
도 10은 본 문서에 설명된 비주얼 미디어 디코딩 또는 비주얼 미디어 인코딩 기술을 구현하기 위한 하드웨어 플랫폼의 예의 블록도이다.
도 11은 개시된 기술이 구현될 수 있는 예시적인 비디오 처리 시스템의 블록도이다.
도 12는 비주얼 미디어 인코딩 방법을 위한 예시적 순서도이다.
도 13은 비주얼 미디어 디코딩 방법을 위한 예시적 순서도이다.
도 14는 비주얼 미디어 인코딩 방법을 위한 예시적 순서도이다.
도 15는 비주얼 미디어 디코딩 방법을 위한 예시적 순서도이다.
도 16은 비주얼 미디어 인코딩 방법을 위한 예시적 순서도이다.
도 17은 비주얼 미디어 디코딩 방법을 위한 예시적 순서도이다.
도 18는 비주얼 미디어 인코딩 방법을 위한 예시적 순서도이다.
도 19는 비주얼 미디어 디코딩 방법을 위한 예시적 순서도이다.
본 문서는 압축해제 또는 디코딩된 디지털 비디오 또는 이미지들의 품질을 개선하기 위해 이미지 또는 비디오 비트스트림의 디코더에 의해 사용될 수 있는 다양한 기술을 제공한다. 간결함을 위해, "비디오"(video)라는 용어는 연속적인 픽처들(pictures)(전통적으로 비디오라고 함)과 개별 이미지들을 모두 포함하는 데 사용된다. 또한, 비디오 인코더(video encoder)는 추가 인코딩에 사용되는 디코딩된 프레임을 재구성하기 위해 인코딩 프로세스(process) 동안 이러한 기술들을 구현할 수도 있다.
섹션 제목들(section headings)은 이해의 편의를 위해 본 문서에서 사용되며 실시예 및 기술을 해당 섹션으로 제한하지 않는다. 이와 같이, 한 섹션의 실시예들은 다른 섹션의 실시예들과 결합될 수 있다.
1. 요약
이 문서는 비디오 코딩 기술(video coding technologies)과 관련이 있다. 구체적으로, 이 문서는 비디오 코딩에서 변환 스킵 모드(transform skip mode)에서의 계수 코딩(coefficient coding)과 관련된다. HEVC와 같은 기존 비디오 코딩 표준 또는 최종 확정될 표준(다목적 비디오 코딩)에 적용될 수 있다. 향후 비디오 코딩 표준 또는 비디오 코덱에도 적용될 수 있다.
2. 초기 논의
비디오 코딩 표준은 잘 알려진 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 표준[1,2]을 공동으로 제작했다. H.262 이래로, 비디오 코딩 표준들은 [[시간 예측]](temporal prediction)과 변환 코딩이 사용되는 하이브리드 비디오 코딩 구조에 기초한다. HEVC를 넘어 미래의 비디오 코딩 기술을 연구하기 위해, 공동 비디오 연구팀(JVET: Joint Video Exploration Team)이 2015년에 VCEG와 MPEG의 공동으로 설립되었다. 그 이후로, JVET에 의해 많은 새로운 방법들이 채택되었고, 공동 연구 모델 (JEM: Joint Exploration Model)이라고 명명된 참조 소프트웨어(reference software)에 적용되었다. 2018년 4월, VCEG(Q6/16)와 ISO/IEC JTC1 SC29/WG11(MPEG) 간의 공동 비디오 전문가 팀(Joint Video Expert Team)(JVET)이 HEVC에 비해 50% 비트 전송률 감소를 목표로 하는 VVC 표준 작업을 위해 만들어졌다.
VVC 초안의 최신 버전, 즉 다목적 비디오 코딩(초안 4)은 웹사이트(http://phenix.it-sudparis.eu/jvet/doc_end_user/current_document.php?id=5755)에서 찾을 수 있다
VTM이라고 명명된 VVC의 최신 참조 소프트웨어는 웹사이트(https://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_VTM/tags/VTM-4.0)에서 찾을 수 있다.
2.1 인트라 블록 복사(Intra block copy)
현재 픽처 레퍼런스(picture reference)라고도 하는 인트라 블록 복사는 HEVC 스크린 콘텐츠 코딩 확장(HEVC-SCC) 및 현재 VVC 테스트 모델(VTM-4.0)에 채택되어 왔다. IBC는 모션 보상의 개념을 프레임 간 코딩(inter-frame coding)에서 프레임 내 코딩(intra-frame coding)으로 확장한다. 도 1에 도시된 바와 같이, 현재 블록은 IBC가 적용될 때 동일한 픽처 내의 레퍼런스 블록(reference block)에 의해 예측된다. 레퍼런스 블록 내의 샘플들은 현재 블록이 코딩되거나 디코딩되기 이전에 이미 재구성되어 있어야 한다. IBC는 대부분의 카메라 캡처 시퀀스들에 대해 그다지 효율적이지 않지만, 화면 콘텐츠에 대해 상당한 코딩 이득을 보여준다. 그 이유는 화면 콘텐츠 픽처에서 아이콘 및 텍스트 문자와 같은 반복되는 패턴들이 많기 때문이다. IBC는 이러한 반복 패턴들 사이의 중복성(redundancy)을 효과적으로 제거할 수 있다. HEVC-SCC에서, 인터 코딩된 코딩 유닛(CU: Coding Unit)은 현재 픽처를 레퍼런스 픽처로 선택하는 경우 IBC를 적용할 수 있다. 이 경우 MV는 블록 벡터(BV: Block Vector)로 이름이 바뀌고 BV는 항상 정수 픽셀 정밀도(integer-pixel precision)를 갖는다. 메인 프로파일 HEVC와 호환되도록, 현재 픽처는 디코딩 픽처 버퍼(DPB: Decoded Picture Buffer)에서 "장기" 레퍼런스 픽처로 표시된다. 유사하게, 다중 시점/3D 비디오 코딩 표준에서 시점간 레퍼런스 픽처(inter-view reference picture)는 "장기" 레퍼런스 픽처로도 표시된다는 점에 유의해야 한다.
BV를 따라 레퍼런스 블록을 찾은 후, 레퍼런스 블록을 복사하여 예측을 생성할 수 있다. 잔차는 원래 신호들로부터 레퍼런스 픽셀을 빼서 얻을 수 있다. 그런 다음, 다른 코딩 모드들에서와 같이 변환 및 양자화가 적용될 수 있다.
그러나, 레퍼런스 블록이 픽처 외부에 있거나 또는 현재 블록과 중첩되거나 또는 재구성된 영역의 외부 또는 일부 제약 조건(constrains)에 의해 제한된 유효 영역 외부에 있는 경우, 부분적으로 또는 전체 픽셀 값들이 정의되지 않는다. 기본적으로 이러한 문제를 처리하는 두 가지 솔루션이 있다. 하나는 예를 들어 비트스트림 적합성에서 그러한 상황을 허용하지 않는 것이다. 다른 하나는 정의되지 않은 픽셀 값들에 패딩을 적용하는 것이다. 후속하는 서브 세션들에서는 솔루션들에 대해 자세히 설명한다.
2.2 HEVC 화면 콘텐츠 코딩 확장의 IBC
HEVC의 화면 콘텐츠 코딩 확장에서, 블록이 현재 픽처를 참조로 사용할 때, 다음 사양 텍스트에 표시된 대로 전체 레퍼런스 블록이 사용 가능한 재구성 영역 내에 있음을 보장해야 한다.
변수들 offsetX 및 offsetY는 다음과 같이 유도된다:
offsetX = ( ChromaArrayType = = 0 ) ? 0 : ( mvCLX[ 0 ] & 0x7 ? 20. 0 ) (8-106)
offsetY = ( ChromaArrayType = = 0 ) ? 0 : ( mvCLX[ 1 ] & 0x7 ? 20. 0 ) (8-107)
레퍼런스 픽처가 현재 픽처일 때, 루마 모션 벡터 mvLX가 다음 제약 조건을 따라야 하는 것은 비트스트림 적합성의 요구 사항이다:
6.4.1절에 명시된 z-스캔 순서 블록 가용성에 대한 유도 프로세스가, ( xCb, yCb )와 동일하게 설정된 ( xCurr, yCurr ), 및 ( xPb + (mvLX[ 0 ] >> 2) - offsetX, yPb + ( mvLX[ 1 ] >> 2 ) - offsetY )와 동일하게 설정된 이웃 루마 위치( xNbY, yNbY )를 입력으로 하여 호출될 때, 출력은 TRUE와 동일하여야 한다.
6.4.1절에 명시된 z-스캔 순서 블록 가용성에 대한 유도 프로세스가 ( xCb, yCb )와 동일하게 설정된 ( xCurr, yCurr ), 및 ( xPb + (mvLX[ 0 ] >> 2) + nPbW - 1 + offsetX, yPb + (mvLX[ 1 ] >> 2) + nPbH - 1 + offsetY)와 동일하게 설정된 이웃 루마 위치( xNbY, yNbY )를 입력으로 하여 호출될 때, 출력은 TRUE와 동일하여야 한다.
다음 조건 중 하나 또는 둘 모두가 참이어야 한다.
( mvLX[ 0 ] >> 2 ) + nPbW + xB1 + offsetX의 값은 0보다 작거나 같다.
( mvLX[ 1 ] >> 2 ) + nPbH + yB1 + offsetY 의 값은 0보다 작거나 같다.
다음 조건들이 참이어야 한다.
( xPb + ( mvLX[ 0 ] >> 2 ) + nPbSw - 1 + offsetX) / CtbSizeY - xCurr / CtbSizeY <=
yCurr/CtbSizeY - ( yPb + ( mvLX[ 1 ] >> 2 ) + nPbSh - 1 + offsetY ) / CtbSizeY (8-108) (8-108)
따라서, 레퍼런스 블록(reference block)이 현재 블록과 겹치거나 또는 레퍼런스 블록이 픽처 외부에 있는 경우는 발생하지 않는다. 레퍼런스 또는 예측 블록(prediction block)을 채울 필요가 없다.
2.3 VVC 테스트 모델의 IBC
현재 VVC 테스트 모델, 즉 VTM-4.0 설계에서 전체 레퍼런스 블록은 현재 코딩 트리 유닛(CTU: Coding Tree Unit)와 함께 있어야 하며 현재 블록과 겹치지 않아야 한다. 따라서 레퍼런스 또는 예측 블록을 채울 필요가 없다. IBC 플래그는 현재 CU의 예측 모드로 코딩된다. 따라서, 각 CU에 대해 MODE_INTRA, MODE_INTER 및 MODE_IBC의 세 가지 예측 모드들이 있다.
2.3.1 IBC 병합 모드
IBC 병합 모드(merge mode)에서 IBC 병합 후보 목록의 항목을 가리키는 인덱스는 비트스트림으부터 파싱된다(parsed). IBC 병합 목록의 구성은 다음 단계 순서에 따라 요약할 수 있다.
1 단계: 공간 후보 유도
2 단계: HMVP 후보 삽입
3단계: 쌍별 평균 후보(pairwise average candidates) 삽입
공간 병합 후보의 유도에서는 A1, B1, B0, A0, 및 B2의 위치에 위치한 후보들 중에서 최대 4개의 병합 후보들이 선정된다. 유도 순서는 A1, B1, B0, A0 및 B2이다. 위치 B2는 위치 A1, B1, B0, A0의 어떠한 PU를 사용할 수 없는 경우(예를 들어, 다른 슬라이스(slice) 또는 타일(tile)에 속하기 때문에) 또는 IBC 모드로 코딩되지 않은 경우에만 고려된다. 위치 A1에서의 후보가 추가된 후, 나머지 후보들의 삽입은 중복 확인(redundancy check)의 대상이 되어 동일한 모션 정보를 가진 후보들을 목록에서 제외하여 코딩 효율성을 향상시킨다.
공간 후보들을 삽입한 후, IBC 병합 목록 크기가 최대 IBC 병합 목록 크기보다 여전히 더 작은 경우 HMVP 테이블로부터 IBC 후보들이 삽입될 수 있다. HMVP 후보들을 삽입할 때, 중복 확인(redundancy check)이 수행된다.
마지막으로, 쌍별 평균 후보들이 IBC 병합 목록에 삽입된다.
병합 후보에 의해 식별된 레퍼런스 블록이 픽처 외부에 있거나 또는 현재 블록과 중첩되거나 또는 재구성된 영역의 외부 또는 일부 제약 조건에 의해 제한된 유효 영역 외부에 있는 경우, 병합 후보를 유효하지 않은 병합 후보(invalid merge candidate)라고 한다.
유효하지 않은 병합 후보가 IBC 병합 목록에 삽입될 수 있다.
2.3.2 IBC AMVP 모드
IBC AMVP 모드에서, IBC AMVP 목록의 항목에 대한 AMVP 인덱스 포인트는 비트스트림으로부터 파싱된다. IBC AMVP 목록의 구성은 다음 단계 순서에 따라 요약할 수 있다.
1 단계: 공간 후보 유도
사용 가능한 후보를 찾을 때까지, A0, A1을 확인
사용 가능한 후보를 찾을 때까지, B0, B1, B2를 확인
2 단계: HMVP 후보 삽입
3단계: 제로 후보 삽입
공간 후보를 삽입한 후에, IBC AMVP 목록 크기가 최대 IBC AMVP 목록 크기보다 여전히 더 작은 경우 HMVP 테이블로부터 IBC 후보가 삽입될 수 있다.
마지막으로 IBC AMVP 목록에 제로 후보가 삽입된다.
2.4 적응형 모션 벡터 해상도(AMVR)
HEVC에서, 슬라이스 헤더(slice header)에서 use_integer_mv_flag가 0일 때 모션 벡터 차(MVD: Motion Ventor Differences)(모션 벡터와 CU의 예측된 모션 벡터 간)는 1/4-루마-샘플(quarter-luma-sample)의 유닛으로 시그널링 된다. VVC에서, CU-레벨 적응형 모션 벡터 해상도(AMVR: Adaptive Motion Vector Resolution) 방식이 도입된다. AMVR을 사용하면 CU의 MVD를 다른 정밀도로 코딩할 수 있다. 현재 CU의 모드(일반 AMVP 모드 또는 아핀(affine) AVMP 모드)에 따라, 현재 CU의 MVD는 다음과 같이 적응적으로 선택될 수 있다:
- 일반 AMVP 모드: 1/4-루마-샘플, 정수-루마-샘플 또는 4-루마-샘플.
- 아핀 AMVP 모드: 1/4-루마-샘플, 정수-루마-샘플 또는 1/16-루마-샘플.
현재 CU가 적어도 하나 이상의 0이 아닌 MVD 컴포넌트를 가지고 있으면, CU-레벨 MVD 해상도 표시가 조건부로 시그널링 된다. 모든 MVD 컴포넌트들(즉, 레퍼런스 목록 L0 및 레퍼런스 목록 L1에 대한 수평 및 수직 MVD 모두)이 0이면 1/4-루마-샘플 MVD 해상도가 유추된다.
적어도 하나의 0이 아닌 MVD 컴포넌트를 갖는 CU의 경우, 1/4-루마-샘플 MVD 정밀도가 CU에 사용되는지 여부를 나타내기 위해 제1 플래그가 시그널링 된다. 제1 플래그가 0이면, 추가 시그널링이 필요하지 않으며 현재 CU에 대해 1/4-루마-샘플 MVD 정밀도가 사용된다. 그렇지 않으면, 정수-루마-샘플 또는 4-루마-샘플 MVD 정밀도가 일반 AMVP CU에 사용되는지 여부를 나타내기 위해 제2 플래그가 시그널링 된다. 동일한 제2 플래그는 정수-루마-샘플 또는 1/16 루마-샘플 MVD 정밀도가 아핀 AMVP CU에 사용되는지 여부를 나타내는 데 사용된다. 재구성된 MV가 의도한 정밀도(1/4-루마-샘플, 정수-루마-샘플 또는 4-루마-샘플)를 갖도록 하기 위해, MVD와 함께 추가되기 이전에 CU에 대한 모션 벡터 예측자(motion vector predictor)는 MVD의 정밀도와 동일한 정밀도로 반올림된다. 모션 벡터 예측자는 0을 향해 반올림된다(즉, 음의 모션 벡터 예측자는 양의 무한대로 반올림되고 양의 모션 벡터 예측자는 음의 무한대로 반올림됨).
인코더는 RD 확인을 사용하여 현재 CU에 대한 모션 벡터 해상도를 결정한다. 각각의 MVD 해상도에 대해 항상 CU-레벨 RD 확인을 세 번 수행하는 것을 피하기 위해, VTM4에서 1/4-루마-샘플 이외의 MVD 정밀도에 대한 RD 확인은 조건부로만 호출된다. 일반 AVMP 모드의 경우, 1/4-루마-샘플 MVD 정밀도 및 정수-루마-샘플 MV 정밀도의 RD 비용이 먼저 계산된다. 그런 다음, 정수-루마-샘플 MVD 정밀도의 RD 비용을 1/4-루마-샘플 MVD 정밀도의 RD 비용과 비교하여, 4-루마-샘플 MVD 정밀도의 RD 비용을 추가로 확인할 필요가 있는지 여부를 결정한다. 1/4-루마-샘플 MVD 정밀도에 대한 RD 비용이 정수-루마-샘플 MVD 정밀도보다 훨씬 작을때, 4-루마-샘플 MVD 정밀도의 RD 확인은 스킵된다. 아핀 AMVP 모드의 경우, 아핀 병합/스킵 모드, 병합/스킵 모드, 1/4-루마-샘플 MVD 정밀도 일반 AMVP 모드 및 1/4-루마-샘플 MVD 정밀도 아핀 AMVP 모드의 비율-왜곡 비용(rate-distortion cost)을 확인한 후 아핀 인터 모드가 선택되지 않으면, 1/16-루마-샘플 MV 정밀도 및 1-pel MV 정밀도 아핀 인터 모드는 확인되지 않는다. 또한 1/16-루마-샘플 및 1/4-루마-샘플 MV 정밀도 아핀 인터 모드에서 1/4-루마-샘플 MV 정밀도 아핀 인터 모드에서 얻은 아핀 파라미터들이 검색 포인트(search point)를 시작하는 것으로 사용된다.
2.5 팔레트 모드(Palette Mode)
팔레트 모드의 기본 아이디어는, CU의 샘플들이 대표 컬러값들(representative color values)의 작은 집합으로 표현된다는 것이다. 이 집합을 팔레트라고 한다. 이스케이프 부호(escape symbol) 뒤에 (아마 양자화된) 컴포넌트 값들이 이어지도록 시그널링 함으로써 팔레트 외부에 있는 샘플을 나타내는 것도 가능하다. 이것은 도 2에 도시되어 있다.
2.6 HEVC 화면 콘텐츠 코딩 확장(HEVC-SCC)의 팔레트 모드
HEVC-SCC의 팔레트 모드에서, 예측 방식은 팔레트와 인덱스 맵을 코딩 하는데 사용된다.
2.6.1 팔레트 항목의 코딩(Coding of the palette entries)
팔레트 항목의 코딩을 위해, 팔레트 예측자가 유지된다. 팔레트 예측자(palette predictor)뿐만 아니라 팔레트의 최대 크기는 SPS에서 시그널링 된다. HEVC-SCC에서는, PPS에 palette_predictor_initializer_present_flag가 도입된다. 이 플래그가 1이면, 팔레트 예측자를 초기화하기 위한 항목들이 비트스트림에서 시그널링 된다. 팔레트 예측자는 각각의 CTU 행, 각각의 슬라이스 및 각각의 타일의 시작 부분에서 초기화된다. palette_predictor_initializer_present_flag의 값에 따라, 팔레트 예측자는 0으로 재설정되거나 또는 PPS에서 시그널링 된 팔레트 예측자 초기화 항목들을 사용하여 초기화된다. HEVC-SCC에서, 크기 0의 팔레트 예측자 초기화가 활성화되어 PPS 레벨에서 팔레트 예측자 초기화를 명시적으로 비활성화할 수 있다.
팔레트 예측자의 각 항목에 대해, 재사용 플래그가 시그널링 됨으로써 현재 팔레트의 일부인지 여부를 나타낸다. 이것은 도 3에 도시되어 있다. 재사용 플래그는 0의 실행 길이 코딩(run-length coding)을 사용하여 전송된다. 그 후, 새로운 팔레트 항목들의 개수는 차수 0의 지수 골롬 코드(exponential Golomb code)를 사용하여 시그널링 된다. 마지막으로, 새 팔레트 항목들에 대한 컴포넌트 값들이 표시된다.
2.6.2 팔레트 인덱스 코딩
팔레트 인덱스는 도 4에 도시된 바와 같이 수평 및 수직 횡단 스캔(traverse scan)을 사용하여 코딩 된다. 스캔 순서는 palette_transpose_flag를 사용하여 비트 스트림에서 명시적으로 시그널링 된다. 서브 섹션의 나머지에서는 스캔이 수평이라고 가정한다.
팔레트 인덱스들은 두 가지 주요 팔레트 샘플 모드, 'INDEX' 및 'COPY_ABOVE'를 사용하여 코딩된다. 앞서 설명한 것처럼, 이스케이프 부호도 'INDEX' 모드로 시그널링 되고 최대 팔레트 크기와 동일한 인덱스가 할당된다. 맨 위쪽 행 또는 이전 모드가 'COPY_ABOVE'인 경우를 제외하고, 모드는 플래그를 사용하여 시그널링 된다. COPY_ABOVE' 모드에서는 위쪽 행에 있는 샘플의 팔레트 인덱스가 복사된다. 'INDEX' 모드에서, 팔레트 인덱스는 명시적으로 시그널링 된다. INDEX' 및 'COPY_ABOVE' 모드 모두에 대해, 동일한 모드를 사용하여 코딩 되는 후속 샘플의 개수를 지정하는 실행 값(run value)이 시그널링 된다. 이스케이프 부호가 'INDEX' 또는 'COPY_ABOVE' 모드에서 실행의 일부인 경우, 각 이스케이프 부호에 대해 이스케이프 컴포넌트 값(escape component value)들이 시그널링 된다. 팔레트 인덱스의 코딩은 도 5에 도시되어 있다.
이 구문 순서(syntax order)는 다음과 같이 수행된다. 먼저 CU에 대한 인덱스 값들의 개수가 시그널링 된다. 그 다음에는 잘린 이진 코딩(truncated binary coding)을 사용하여 전체 CU에 대한 실제 인덱스 값들의 시그널링이 이어진다. 인덱스 값뿐만 아니라 인텍스 개수 모두 바이패스 모드(bypass mode)에서 코딩된다. 인덱스 관련 우회 빈(bypass bins)을 함께 그룹화한다. 그런 다음 팔레트 샘플 모드(필요한 경우)와 실행이 인터리브 방식으로 시그널링 된다. 마지막으로 전체 CU에 대한 이스케이프 샘플들에 해당하는 컴포넌트 이스케이프 값들이 함께 그룹화되고 바이패스 모드에서 코딩된다.
인덱스 값들을 시그널링 한 후, 추가 구문 요소인 last_run_type_flag가 시그널링 된다. 이 구문 요소는 인덱스 개수와 함께 블록의 마지막 실행에 해당하는 실행 값을 시그널링할 필요를 제거한다.
HEVC-SCC에서, 팔레트 모드는 4:2:2, 4:2:0 및 모노크롬 크로마 형식(chroma formats)에 대해서도 활성화된다. 팔레트 항목 및 팔레트 인덱스의 시그널링은 모든 크로마 형식에 대해 거의 동일하다. 흑백 형식이 아닌(non-monochrome formats) 경우, 각각의 팔레트 항목은 3개의 컴포넌트들로 구성된다. 흑백 형식의 경우, 각 팔레트 항목은 단일 컴포넌트로 구성된다. 서브 샘플링된 크로마 방향(chroma directions)에 대해, 크로마 샘플은 2로 나눌 수 있는 루마 샘플 인덱스들과 연관된다. CU에 대한 팔레트 인덱스를 재구성한 후, 샘플이 샘플에 연관된 단일 컴포넌트만 가지고 있는 경우 팔레트 항목의 제1 컴포넌트만 사용된다. 시그널링의 유일한 차이점은 이스케이프 컴포넌트 값들에 대한 것이다. 각각의 이스케이프 샘플에 대해, 시그널링 되는 이스케이프 컴포넌트 값의 개수는 해당 샘플과 연결된 컴포넌트들의 개수에 따라 다를 수 있다.
2.7 변환 스킵 모드의 계수 코딩
JVET-M0464 및 JVET-N0280에서는, 변환 스킵 레벨의 통계 및 시그널링 특성에 잔차 코딩을 맞추기 위해 변환 스킵(TS) 모드의 계수 코딩에 대한 몇 가지 수정들이 제안된다.
제안된 수정 사항들은 다음과 같다.
마지막 중요한 스캔 위치(scanning position)는 없다: 잔차 시그널링은 예측 후 공간 잔차를 반영하고 TS에 대해 변환에 의한 에너지 압축이 수행되지 않기 때문에, 변환 블록의 오른쪽 하단 모서리에서 후행 0 또는 중요하지 않은 레벨에 대한 더 높은 확률은 더 이상 제공되지 않는다. 따라서, 이 경우 마지막 중요한 스캐닝 위치 시그널링은 생략된다.
서브블록 CBFs: 마지막 중요한 스캐닝 위치 시그널링의 부재는 TS에 대한 coded_sub_block_flag가 있는 서브블록 CBF 시그널링이 다음과 같이 수정될 것을 요구한다:
○ 양자화로 인해, 전술한 무의미한 시퀀스는 변환 블록 내부에서 여전히 국부적으로 발생할 수 있다. 따라서, 앞서 설명한 바와 같이 마지막 중요한 스캐닝 위치가 제거되고 모든 서브 블록들에 대해 coded_sub_block_flag가 코딩된다.
○ DC 주파수 위치(왼쪽 상단 서브블록)를 커버하는 서브블록에 대한 coded_sub_block_flag는 특별한 경우를 나타낸다. VVC Draft 3에서, 이 서브블록에 대한 coded_sub_block_flag는 시그널링 되지 않으며 1과 동일한 것으로 항상 유추된다. 마지막 중요한 스캐닝 위치가 다른 서브 블록에 위치하는 경우, DC 서브 블록 외부에 적어도 하나의 중요한 레벨이 있음을 의미한다. 결과적으로, 이 서브블록에 대한 coded_sub_block_flag가 1과 동일한 것으로 유추되지만, DC 서브블록은 0/무의미한 레벨들만을 포함할 수 있다. TS에 마지막 스캐닝 위치 정보가 없으면, 각 서브블록에 대한 coded_sub_block_flag가 시그널링 된다. 이것은 또한 다른 모든 coded_sub_block_flag 구문 요소가 이미 0과 같은 경우를 제외하고 DC 서브블록에 대한 coded_sub_block_flag를 포함한다. 이 경우, DC coded_sub_block_flag는 1과 동일한 것으로 유추된다 (inferDcSbCbf=1). 이 DC 서브 블록에는 적어도 하나의 중요한 레벨이 있어야 하므로, (0,0)에서 첫 번째 위치에 대한 sig_coeff_flag 구문 요소는 시그널링 되지 않고, 대신에 이 DC 서브 블록의 다른 모든 sig_coeff_flag 구문 요소들이 0과 동일한 경우 1과 동일하도록 유도된다(inferSbDcSigCoeffFlag=1).
○ coded_sub_block_flag에 대한 컨텍스트 모델링(context modeling)이 변경되었다. 컨텍스트 모델 인덱스는 왼쪽에 있는 coded_sub_block_flag와 현재 서브블록 위에 있는 coded_sub_block_flag의 합과, 양자의 논리적 분리(logical disjunction)로 계산된다.
sig_coeff_flag 컨텍스트 모델링: sig_coeff_flag 컨텍스트 모델링의 로컬 템플릿은 현재 스캐닝 위치의 왼쪽 이웃(NB0)과 위쪽 이웃(NB1)만 포함하도록 수정된다. 컨텍스트 모델 오프셋은 중요한 인접 위치들 sig_coeff_flag[NB0] + sig_coeff_flag[NB1]의 개수이다. 따라서 현재 변환 블록 내의 대각선에 따라 다른 컨텍스트 집합들의 선택이 제거된다. 그 결과 세 가지 컨텍스트 모델들과 sig_coeff_flag 플래그를 코딩하기 위한 단일 컨텍스트 모델 집합이 생성된다.
abs_level_gt1_flag 및 par_level_flag 컨텍스트 모델링: abs_level_gt1_flag 및 par_level_flag에 대해 단일 컨텍스트 모델이 사용된다.
abs_remainder 코딩: 변환 스킵 잔차 절대 레벨의 경험적 분포는 일반적으로 여전히 라플라시안 또는 기하학적 분포에 적합하지만, 변환 계수 절대 레벨보다 더 큰 비정상성(instationarities)이 존재한다. 특히, 연속 실현 창(window of consecutive realization) 내의 분산은 잔차 절대 레벨에서 더 높다. 이것은 abs_remainder 구문 이진화 및 컨텍스트 모델링의 다음 수정들을 유발한다.
○ 이진화에서 더 높은 컷오프 값, 즉 sig_coeff_flag, abs_level_gt1_flag, par_level_flag 및 abs_level_gt3_flag를 사용한 코딩으로부터 abs_remainder에 대한 라이스 코드(Rice code) 및 각 빈 위치(bin position)에 대한 전용 컨텍스트 모델로의 전환점을 사용하면 더 높은 압축 효율을 얻을 수 있다. 컷오프를 늘리면, 컷오프에 도달할 때까지 더 많은 "X보다 큼" 플래그들, 예를 들어 abs_level_gt5_flag, abs_level_gt7_flag 등이 생성된다. 컷오프 자체는 5로 고정된다(numGtFlags=5).
○ 라이스 파라미터 유도(rice parameter deviation)를 위한 템플릿이 수정되고, 즉, 왼쪽에 있는 이웃과 현재 스캐닝 위치 위에 있는 이웃만이 sig_coeff_flag 컨텍스트 모델링을 위한 로컬 템플릿과 유사한 것으로 간주된다.
coeff_sign_flag 컨텍스트 모델링: 기호 시퀀스 내부의 비정상성과 예측 잔차가 종종 편향된다는 사실 때문에, 전역 경험적 분포(global emprical distribution)가 거의 균일하게 분포된 경우에도 컨텍스트 모델을 사용하여 기호를 코딩할 수 있다. 단일 전용 컨텍스트 모델이 기호 코딩에 사용되며 기호는 sig_coeff_flag 다음에 파싱되어, 모든 컨텍스트 코딩된 빈을 함께 유지한다.
2.8 양자화 잔차 블록 차동 펄스 부호 변조(QR-BDPCM)
JVET-M0413에서는 화면 콘텐츠를 효율적으로 코딩하기 위해, 양자화된 잔차 블록 차동 펄스 코드 변조(QR-BDPCM)가 제안된다.
QR-BDPCM에서 사용되는 예측 방향(prediction direction)은 수직 및 수평 예측 모드가 될 수 있다. 인트라 예측은 인트라 예측과 유사한 예측 방향(수평 또는 수직 예측)으로 샘플 복사하여 전체 블록에 대해 수행된다. 잔차는 양자화되고 양자화된 잔차와 그 예측자(수평 또는 수직) 양자화된 값 사이의 델타가 코딩된다. 이것은 다음과 같이 설명할 수 있다: 위쪽 또는 왼쪽 블록 경계 샘플에서 필터링 되지 않은 샘플을 사용하여, 인트라 예측을 수평으로(예측된 블록을 가로질러 왼쪽 이웃 픽셀 값을 라인 단위로 복사) 또는 수직으로(예측된 블록의 각 라인에 상단 인접 라인 복사) 수행한 이후 크기가 M(행) Х N(열)인 블록의 경우, ri,j, 0≤i≤M-1, 0≤j≤N-1을 예측 잔차로 둔다.Q(ri,j), 0≤i≤M-1, 0≤j≤N-1이 잔차 ri,j의 양자화된 버전을 나타내고, 여기서 잔차는 원래 블록과 예측된 블록 값 간의 차이이다. 그런 다음, 블록 DPCM이 양자화된 잔차 샘플에 적용되어 요소
Figure pct00001
로 수정된 M X N 어레이
Figure pct00002
이 생성된다. 수직 BDPCM이 시그널링 될 때:
Figure pct00003
수평 예측의 경우, 유사한 규칙이 적용되고 잔차 양자화된 샘플들은 다음과 같이 획득된다.
Figure pct00004
잔차 양자화된 샘플
Figure pct00005
은 디코더로 전송된다.
디코더 측에서는, 위의 계산을 반대로 하여 Q(ri,j), 0≤i≤M-1, 0≤j≤N-1 를 생성한다.
수직 예측의 경우,
Figure pct00006
수평 예측의 경우,
Figure pct00007
역 양자화된 잔차,
Figure pct00008
는 재구성된 샘플 값을 생성하기 위해 인트라 블록 예측 값들에 추가된다.
이 방식의 주요 이점은 예측자(predictor)를 계수에 추가하기만 하면 계수가 파싱되기 때문에 역 DPCM이 계수 파싱 중에 즉시 수행되거나 또는 파싱 후에 수행될 수 있다는 것이다.
QR-BDPCM의 초안 텍스트 변경 사항은 다음과 같다.
7.3.6.5 코딩 유닛 신택스
Figure pct00009
1과 동일한 bdpcm_flag[ x0 ][ y0 ]은 bdpcm_dir_flag가 위치( x0, y0 )에서 루마 코딩 블록을 포함하는 코딩 유닛에 존재한다는 것을 명시한다.
0과 동일한 bdpcm_dir_flag[ x0 ][ y0 ]은 bdpcm 블록에서 사용될 예측 방향이 수평이고, 그렇지 않으면 수직임을 명시한다.
2.9 파티션 구조
2.9.1 트리 구조를 사용한 CTU 분할
HEVC에서, CTU는 다양한 로컬 특성에 적응하기 위해 코딩 트리로 표시된 4차 트리(quatemary-tree structure) 구조를 사용하여 CU로 분할된다. 인터 픽처(시간) 또는 인트라 픽처(공간) 예측을 사용하여 픽처 영역을 코딩할지 여부는 리프 CU 레벨(leaf CU level)에서 결정된다. 각각의 리프 CU는 PU 분할 유형에 따라 1개, 2개 또는 4개의 PU로 더 분할될 수 있다. 하나의 PU 내에서도, 동일한 예측 과정이 적용되고 해당 정보는 PU 기반으로 디코더(decoder)로 전송된다. PU 분할 유형에 기반한 예측 프로세스를 적용하여 잔차 블록을 얻은 후, 리프 CU는 CU에 대한 코딩 트리와 유사한 다른 4차 트리 구조에 따라 변환 유닛(TU)들로 분할될 수 있다. HEVC 구조의 주요 특징 중 하나는 CU, PU 및 TU를 포함하는 다중 파티션(multiple partition) 개념을 갖는다는 것이다.
VVC에서 이진 및 삼진 분할 세그멘테이션 구조(binary and ternary splits segmentation structure)를 사용하는 중첩된 다중 유형 트리가 있는 쿼드트리는 다중 파티션 유닛 유형의 개념을 대체하고, 즉, 최대 변환 길이에 비해 크기가 너무 큰 CU에 필요한 경우를 제외하고 CU, PU 및 TU 개념의 분리를 제거하고 CU 파티션 형태에 대해 더 많은 유연성을 지원한다. 코딩 트리 구조에서, CU는 정사각형 또는 직사각형 형태를 가질 수 있다. 코딩 트리 유닛(CTU)는 먼저 4차 트리(쿼드 트리라고도 함) 구조로 분할된다. 그런 다음, 4차 트리 리프 노드들은 다중 유형 트리 구조로 더 분할될 수 있다. 도 6에 도시된 바와 같이, 다중형 트리 구조에는 수직 이진 분할(SPLIT_BT_VER), 수평 이진 분할(SPLIT_BT_HOR), 수직 삼진 분할(SPLIT_TT_VER) 및 수평 삼진 분할(SPLIT_TT_HOR)의 4가지 분할 유형들이 있다. 다중 유형 트리 리프 노드들은 코딩 유닛들(CUs: coding units)이라고 하며, CU가 최대 변환 길이에 비해 너무 크지 않은 경우 이 세그멘테이션은 어떠한 추가 분할 없이 예측 및 변환 처리에 사용된다. 이는 대부분의 경우 CU, PU 및 TU가 중첩된 다중 유형 트리 코딩 블록 구조를 갖는 쿼드 트리에서 동일한 블록 크기를 갖는다는 것을 의미한다. 최대 지원되는 변환 길이가 CU의 컬러 컴포넌트 너비 또는 높이보다 작은 경우 예외가 발생한다. 또한 루마 및 크로마 컴포넌트들은 I 타일에 별도의 분할 구조를 갖는다.
2.10 교차 성분 선형 모델 예측
교차 컴포넌트 중복성을 줄이기 위해, 교차 컴포넌트 선형 모델(CCLM) 예측 모드가 VTM4에서 사용되며, 이에 대해 다음과 같이 선형 모델을 사용하여 동일한 CU의 재구성된 루마 샘플들에 기초하여 크로마 샘플들이 예측된다:
Figure pct00010
여기서 predC(i,j)는 CU 내의 예측된 크로마 샘플들을 나타내고, recL(i,j)는 동일한 CU의 다운샘플링된 재구성된 루마 샘플들을 나타낸다. 선형 모델 파라미터는 두 샘플의 루마 값과 크로마 값 사이의 관계와 해당 크로마 샘플로부터 유도되는데, 두 샘플은 다운샘플링된 이웃 루마 샘플 집합 내에서의 최소 샘플 값과 최대 샘플이 루마 샘플이다. 선형 모델 파라미터 α및 β는 다음 식에 따라 구해진다.
Figure pct00011
Figure pct00012
여기서 Ya 및 Xa는 최대 루마 샘플 값을 갖는 루마 샘플의 루마 값 및 크로마 값을 나타낸다. 그리고, Xb와 Yb는 각각 최소 루마 샘플을 갖는 루마 샘플의 루마 값과 크로마 값을 나타낸다. 도 7은 CCLM 모드에 관련된 왼쪽 및 위쪽 샘플들의 위치와 현재 블록의 샘플의 위치의 예를 보여준다.
2.11 크로마 스케일링(LMCS)을 사용한 루마 매핑
VTM4에서는 루프 필터들 이전에 새로운 처리 블록으로 크로마 스케일링으로 루마 매핑(LMCS: luma mapping with chroma scaling)라는 코딩 툴이 추가되었다. LMCS에는 두 가지 주요 컴포넌트들이 있다: 1) 적응형 조각별 선형 모델(adaptive piecewise linear model)에 기초하는 루마 컴포넌트의 루프 내 매핑(in-loop mapping); 2) 크로마 컴포넌트에 대해 루마 종속 크로마 잔차 스케일링이 적용됨. 도 8은 디코더의 관점에서 본 LMCS 아키텍처를 보여준다. 도 8의 음영 블록은 매핑된 도메인에서 처리가 적용되는 위치를 나타내고; 및 이는 역양자화, 역변환, 루마 인트라 예측 및 루마 잔차와 함께 루마 예측의 추가가 포함된다. 도 8의 음영 처리되지 않은 블록은 원래(즉, 매핑되지 않은) 도메인에서 처리가 적용되는 위치를 나타낸다; 여기에는 디블로킹, ALF 및 SAO와 같은 루프 필터, 모션 보상 예측, 크로마 인트라 예측, 크로마 잔차와 함께 크로마 예측의 추가, 레퍼런스 픽처로서 디코딩 된 픽처의 저장이 포함된다. 도 8의 밝은 노란색 음영 블록은 루마 시그널링의 순방향 및 역 매핑 및 루마 종속 크로마 스케일링 프로세스를 포함하는 새로운 LMCS 기능 블록(functional block)이다. VVC의 다른 대부분의 툴과 마찬가지로 LMCS는 SPS 플래그를 사용하여 시퀀스 레벨에서 활성화/비활성화될 수 있다.
3. 실시예에 의해 해결된 문제의 예
JVET-N0280의 계수 코딩이 화면 콘텐츠 코딩에서 코딩 이점을 얻을 수 있지만, 계수 코딩 및 TS(변환 스킵) 모드에는 여전히 몇 가지 단점들이 있을 수 있다.
(1) TS 모드에 허용되는 최대 너비 또는 높이는 PPS에서 하나의 공통 값으로 제어되므로, 유연성을 제한할 수 있다.
(2) 모든 코딩 그룹(CG)은 오버헤드 비용을 증가시킬 수 있는 TS 모드에 대한 cbf 플래그를 시그널링 해야한다.
(3) 계수 스캐닝 순서는 인트라 예측 모드를 고려하지 않는다.
(4) 부호 플래그 코딩은 하나의 컨텍스트만 사용한다.
(5) 크로마 컴포넌트에 대한 변환 스킵은 지원되지 않는다.
(6) 변환 스킵 플래그는 오버헤드 비용과 인코딩 복잡성을 증가시키는 모든 예측 모드들에 적용된다.
4. 실시예들
이하의 상세한 발명들은 일반적인 개념을 설명하기 위한 예로서 고려되어야 한다. 이러한 발명들은 좁은 의미로 해석되어서는 안된다. 더욱이, 이들 발명들은 어떤 방식으로든 결합될 수 있다.
1. 변환 스킵을 위한 최대 허용 너비 및 높이의 표시는 모두 SPS/VPS/PPS/픽처 헤더/슬라이스 헤더/타일 그룹 헤더/LCU 행/LCU의 그룹에서 시그널링 될 수 있다.
a. 일례로, 변환 스킵을 위한 최대 허용 너비 및 높이는 SPS/VPS/PPS/픽처 헤더/슬라이스 헤더/타일 그룹 헤더/LCU 행/LCU의 그룹에서 시그널링 되는 상이한 메시지에 의해 표시될 수 있다.
b. 일례로, 최대 허용 너비 및/또는 높이는 먼저 SPS/PPS에서 시그널링 되고, 그 다음 픽처 헤더/슬라이스 헤더/타일 그룹 헤더/LCU 행/LCU의 그룹에서 업데이트될 수 있다.
2. TS 코딩된 블록은 여러 계수 그룹들(CGs)로 분할될 수 있고, 적어도 하나의 CG의 코딩된 블록 플래그(Cbf) 플래그의 시그널링은 스킵될 수 있다.
a. 일례로, 모든 CG의 Cbf 플래그의 시그널링은 예를 들어 TS 코딩된 블록에 대해 스킵될 수 있다.
b. 일례로, CG의 스킵된 cbf 플래그들은 TS 모드에 대해 1로 유추될 수 있다.
c. 일례로, CG의 일부 또는 모든 Cbf 플래그들을 스킵할지 여부는 코딩된 모드에 따라 달라질 수 있다.
i. 일례로, TS 코딩된 인트라 블록의 경우, CG의 모든 Cbf 플래그의 시그널링은 스킵된다.
d. 일례로, CG의 스킵된 Cbf 플래그는 다음에 기초하여 유추될 수 있다.
i. SPS/VPS/PPS/picture header/slice header/tile group header/LCU row/group of LCUs/LCU/CU에서 시그널링 되는 메시지
ii. CG의 위치
iii. 현재 블록 및/또는 인접 블록들의 블록 치수
iv. 현재 블록 및/또는 인접 블록들의 블록 형태
v. 현재 블록 및/또는 인접 블록들의 가장 가능성 있는 모드
vi. 현재 블록의 인접 블록들에 대한 예측 모드(Intra/Inter)
vii. 현재 블록의 인접 블록들에 대한 인트라 예측 모드
viii. 현재 블록의 인접 블록들의 모션 벡터
viii. 현재 블록의 인접 블록의 QR-BDPCM 모드 표시
x. 현재 블록 및/또는 인접 블록들의 현재 양자화 파라미터
xi. 컬러 형식의 표시(예를 들어, 4:2:0, 4:4:4)
xii. 분리/듀얼 코딩 트리 구조
xiii. 슬라이스/타일 그룹 유형 및/또는 픽처 유형
3. TS 코딩된 블록의 계수 스캐닝 순서는 SPS/VPS/PPS/픽처 헤더/슬라이스 헤더/타일 그룹 헤더/LCU 행/LCU의 그룹/LCU/CU에서 시그널링된 메시지에 의존할 수 있다.
a. 또달리, CG 및/또는 계수 스캐닝 순서는 TS가 사용될 때 인트라 예측 모드에 의존할 수 있다.
i. 일례로, 인트라 예측 모드가 수평으로 우세하면, 스캐닝 순서는 수직일 수 있다.
1. 일례로, 인트라 예측 모드 인덱스가 2 내지 34의 범위이면, 스캐닝 순서는 수직일 수 있다.
2. 일례로, 인트라 예측 모드 인덱스가 2 내지 33의 범위이며, 스캐닝 순서는 수직일 수 있다.
ii. 일례로, 인트라 예측 모드가 수직으로 지배되는 경우 스캐닝 순서는 수직일 수 있다
1. 일례로, 인트라 예측 모드 인덱스가 34-66 범위이면 스캐닝 순서는 수직일 수 있다.
2. 일례로, 인트라 예측 모드 인덱스가 35-66 범위이면 스캐닝 순서는 수직일 수 있다.
iii. 일례로, 인트라 예측 모드가 수직으로 우세한 경우 스캐닝 순서는 수평일 수 있다.
1. 일례로, 인트라 예측 모드 인덱스가 34 내지 66의 범위인 경우 스캐닝 순서는 수직일 수 있다.
2. 일례로, 인트라 예측 모드 인덱스가 35 내지 66의 범위인 경우 스캐닝 순서는 수직일 수 있다.
iv. 일례로, 인트라 예측 모드가 수평으로 우세한 경우 스캐닝 순서는 수평일 수 있다.
1. 일례로, 인트라 예측 모드 인덱스가 2 내지 34의 범위이면, 스캐닝 순서는 수직일 수 있다.
2. 일례로, 인트라 예측 모드 인덱스가 2 내지 33의 범위이며, 스캐닝 순서는 수직일 수 있다.
4. 부호 플래그 코딩의 컨텍스트는 TS 모드에 대한 계수 블록의 인접 정보(neighboring information)에 의존할 수 있다고 제안된다.
a. 일례로, 현재 부호 플래그를 코딩하는 컨텍스트는 TS 모드에 대한 이웃하는 부호 플래그의 값에 의존할 수 있다.
i. 일례로, 현재 부호 플래그를 코딩하는 컨텍스트는 왼쪽 및/또는 위쪽 이웃의 부호 플래그 값에 의존할 수 있다.
1. 일례로, 현재 부호 플래그의 컨텍스트는 C=(L + A)로 유도될 수 있으며, 여기서 C는 컨텍스트 ID이고, L은 왼쪽 이웃의 부호 플래그이며, A는 위쪽 이웃의 부호 플래그이다.
2. 일례로, 현재 부호 플래그의 컨텍스트는 C=(L + A*2)로 유도될 수 있으며, 여기서 C는 컨텍스트 ID이고, L은 왼쪽 이웃의 부호 플래그이며, A는 위쪽 이웃의 부호 플래그이다.
3. 일례로, 현재 부호 플래그의 컨텍스트는 C=(L*2 + A)로 유도될 수 있으며, 여기서 C는 컨텍스트 ID이고, L은 왼쪽 이웃의 부호 플래그이며, A는 위쪽 이웃의 부호 플래그다.
ii. 일례로, 현재 부호 플래그를 코딩하는 컨텍스트는 왼쪽, 위쪽 이웃, 및 위쪽 왼쪽의 부호 플래그 값에 따라 달라질 수 있다.
iii. 일례로, 현재 부호 플래그를 코딩하는 컨텍스트는 왼쪽, 위쪽 이웃, 위쪽 왼쪽 이웃, 위쪽 오른쪽 이웃의 부호 플래그 값에 따라 달라질 수 있다.
b. 일례로, 현재 부호 플래그를 코딩하는 컨텍스트는 계수의 위치에 의존할 수 있다.
i. 일례로, 부호 플래그의 컨텍스트는 다른 위치들에서 다를 수 있다.
ii. 일례로, 부호 플래그의 컨텍스트는 x+y에 의존할 수 있으며, 여기서 x 및 y는 위치의 수평 및 수직 위치이다.
iii. 일례로, 부호 플래그의 컨텍스트는 min(x,y)에 의존할 수 있으며, 여기서 x 및 y는 위치의 수평 및 수직 위치이다.
iv. 일례로, 부호 플래그의 컨텍스트는 max(x,y)에 의존할 수 있으며, 여기서 x 및 y는 위치의 수평 및 수직 위치이다.
5. 크로마 변환 스킵 모드가 지원될 수 있다고 제안된다.
a. 일례로, 크로마 변환 스킵 모드의 사용은 SPS/VPS/PPS/픽처 헤더/슬라이스 헤더/타일 그룹 헤더/LCU 행/LCU들의 그룹/LCU/CU/비디오 데이터 유닛에서 시그널링된 메시지에 기초할 수 있다.
b. 또달리, 크로마 변환 스킵 모드의 사용은 동일한 컬러 컴포넌트 또는 다른 컬러 컴포넌트에서 하나 이상의 대표 이전에 코딩된 블록의 디코딩된 정보에 기초할 수 있다.
i. 일례로, 대표 블록의 TS 플래그의 표시가 거짓인 경우 크로마 TS 플래그의 표시는 거짓으로 유추될 수 있다. 또달리, 대표 블록의 TS 플래그의 표시가 참이면 크로마 TS 플래그의 표시가 참으로 유추될 수 있다.
ii. 일례로, 대표 블록은 루마 블록 또는 크로마 블록일 수 있다.
iii. 일례로, 대표 블록은 연이어 배치된(collocated) 루마 블록 내의 어느 블록일 수 있다.
iv. 일례로, 대표 블록은 현재 크로마 블록의 이웃하는 크로마 블록들 중 하나일 수 있다.
v. 일례로, 대표 블록은 현재 크로마 블록 내 중심 크로마 샘플의 대응하는 루마 샘플을 커버하는 블록일 수 있다.
vi. 일례로, 대표 블록은 현재 크로마 블록 내 오른쪽 하단 크로마 샘플의 대응하는 루마 샘플을 커버하는 블록일 수 있다.
6. 변환 스킵 모드를 적용할지 여부 및/또는 방법은 SPS/VPS/PPS/픽처 헤더/슬라이스 헤더/타일 그룹 헤더/LCU 행/LCU의 그룹/LCU/CU/비디오 데이터 유닛에서 시그널링 되는 메시지에 따라 달라질 수 있다.
a. 일례로, 변환 스킵 모드를 적용할 시기 및/또는 방법의 표시는 다음에 의존할 수 있다.
i. 현재 블록 및/또는 인접 블록들의 블록 치수
ii. 현재 블록 및/또는 인접 블록들의 블록 형태
iii. 현재 블록 및/또는 인접 블록들의 가장 가능성 있는 모드
iv. 현재 블록의 인접 블록들에 대한 예측 모드(Intra/Inter)
v. 현재 블록의 인접 블록들에 대한 인트라 예측 모드
vi. 현재 블록의 인접 블록들의 모션 벡터
vii. 현재 블록의 인접 블록의 QR-BDPCM 모드 표시
viii. 현재 블록 및/또는 인접 블록들의 현재 양자화 파라미터
ix. 컬러 형식의 표시(예를 들어, 4:2:0, 4:4:4)
x. 분리/듀얼 코딩 트리 구조
xi. 슬라이스/타일 그룹 유형 및/또는 픽처 유형
xii. 임시 계층 ID
b. 일례로, 예측 모드가 IBC 모드이고 블록 너비 및/또는 높이가 임계값보다 작거나/크거나/같을 때 변환 스킵 모드가 적용될 수 있다.
i. 일례로, 임계값은 4,8,16 또는 32일 수 있다.
ii. 일례로, 임계값은 비트스트림에서 시그널링 될 수 있다.
iii. 일례로, 임계값은 다음에 기초하여 할 수 있다.
1. SPS/VPS/PPS/픽처 헤더/슬라이스 헤더/타일 그룹 헤더/LCU 행/LCU의 그룹/LCU/CU에서 시그널링 되는 메시지
2. 현재 블록 및/또는 인접 블록들의 블록 치수
3. 현재 블록 및/또는 인접 블록들의 블록 형태
4. 현재 블록 및/또는 인접 블록들의 가장 가능성 있는 모드
5. 현재 블록의 인접 블록들에 대한 예측 모드(Intra/Inter)
6. 현재 블록의 인접 블록들에 대한 인트라 예측 모드
7. 현재 블록의 인접 블록들의 모션 벡터
8. 현재 블록의 인접 블록의 QR-BDPCM 모드 표시
9. 현재 블록 및/또는 인접 블록들의 현재 양자화 파라미터
10. 컬러 형식의 표시(예를 들어, 4:2:0, 4:4:4)
11. 분리/듀얼 코딩 트리 구조
12. 슬라이스/타일 그룹 유형 및/또는 픽처 유형
13. 임시 계층 ID
7. TS 모드의 표시를 시그널링 할지 여부는 디코딩/유도된 인트라 예측 모드에 의존할 수 있다.
a. 또달리, 또한, 그것은 QR-BDPCM 코딩된 블록에서 사용되는 허용된 인트라 예측 모드/방향 및 QR-BDPCM의 사용에 의존할 수 있다.
b. 디코딩 되거나 유도된 인트라 예측 모드의 경우, QR-BDPCM 코딩된 블록에서 사용되는 허용된 인트라 예측 모드/방향 집합의 일부인 경우, TS 플래그의 시그널링은 스킵될 수 있다.
i. 일례로, QR-BDPCM이 하나의 슬라이스/픽처/타일/브릭을 코딩 하는 데 허용되고 수직 및 수평 모드는 QR-BDPCM 프로세스에서 허용되는 두 가지 모드이고 디코딩/유도된 인트라 모드가 수직 또는 수평 모드인 경우 TS 모드의 표시는 시그널링 되지 않는다.
c. 일례로, QR-BDPCM 모드(예를 들어, bdpcm_flag)의 표시가 1일 때 변환 스킵 모드가 활성화되는 것으로 유추될 수 있다.
d. 위의 방법은 다음에 기초하여 적용될 수 있다.
i. SPS/VPS/PPS/픽처 헤더/슬라이스 헤더/타일 그룹 헤더/LCU 행/LCU의 그룹/LCU/CU에서 시그널링 되는 메시지
ii. 현재 블록 및/또는 인접 블록들의 블록 치수
iii. 현재 블록 및/또는 인접 블록들의 블록 형태
iv. 현재 블록 및/또는 인접 블록들의 가장 가능성 있는 모드
v. 현재 블록의 인접 블록들에 대한 예측 모드(Intra/Inter)
vi. 현재 블록의 인접 블록들에 대한 인트라 예측 모드
vii. 현재 블록의 인접 블록들의 모션 벡터
viii. 현재 블록의 인접 블록의 QR-BDPCM 모드 표시
ix. 현재 블록 및/또는 인접 블록들의 현재 양자화 파라미터
x. 컬러 형식의 표시(예를 들어, 4:2:0, 4:4:4)
xi. 분리/듀얼 코딩 트리 구조
xii. 슬라이스/타일 그룹 유형 및/또는 픽처 유형
xiii. 임시 계층 ID
8. QR-BDPCM의 적용 여부 및/또는 적용 방법은 TS 모드의 표시에 따라 달라질 수 있다.
a. 일례로, QR-BDPCM을 적용할지 여부의 표시는 CU에서 시그널링 되는 대신에 변환 유닛(TU) 레벨에서 시그널링 될 수 있다.
i. 일례로, QR-BDPCM의 적용 여부의 표시는 TS 모드의 표시가 TU에 적용된 후에 시그널링 될 수 있다.
b. 일례로, QR-BDPCM은 TS 모드의 특수한 경우로 취급된다.
i. 하나의 블록이 TS 모드로 코딩될 때, QR-BDPCM 또는 기존 TS 모드가 적용되는지 여부를 나타내기 위해 다른 플래그가 더 시그널링 될 수 있다. QR-BDPCM으로 코딩된 경우, QR-BDPCM에서 사용되는 예측 방향이 더 시그널링 될 수 있다.
ii. 또달리, 하나의 블록이 TS 모드로 코딩될 때, 어떤 종류의 QR-BDPCM(예를 들어, 수평/수직 예측 방향 기반 QR-BDPCM) 또는 기존의 TS 모드가 적용되는지를 나타내기 위해 다른 플래그가 더 시그널링 될 수 있다.
c. 일례로, QR-BDPCM에 대한 표시는 TS 모드의 표시에 기초하여 유추될 수 있다.
i. 일례로, 루마 및/또는 크로마 블록에 QR-BDPCM을 적용할지 여부의 표시는 동일한 블록에 변환 스킵 플래그를 적용할지 여부의 표시가 참인 경우 참으로 유추될 수 있다. 또달리, 루마 및/또는 크로마 블록에 변환 스킵 플래그를 적용할지 여부에 대한 표시가 참인 경우, 동일한 블록에 QR-BDPCM을 적용할지 여부에 대한 표시가 참으로 유추될 수 있다.
ii. 일례로, 루마 및/또는 크로마 블록에 QR-BDPCM을 적용할지 여부의 표시는 동일한 블록에 변환 스킵 플래그를 적용할지 여부에 대한 표시가 거짓인 경우 거짓으로 유추될 수 있다. 또달리, 루마 및/또는 크로마 블록에 변환 스킵 플래그를 적용할지 여부에 대한 표시가 거짓이면, 동일한 블록에 QR-BDPCM을 적용할지 여부에 대한 표시가 거짓으로 유추될 수 있다.
9. 분리/듀얼 트리(dual tree)를 적용할지 여부 및/또는 방법은 SPS/VPS/PPS/픽처 헤더/슬라이스 헤더/타일 그룹 헤더/LCU 행/LCU의 그룹/LCU/CU/비디오 데이터 유닛에서 시그널링 되는 메시지에 따라 달라질 수 있다.
a. 일례로, 분리/듀얼 트리를 적용할지 여부의 표시는 현재 슬라이스/타일/LCU/LCU 행/LCU의 그룹/비디오 데이터 유닛이 스크린 콘텐츠로서 결정되는지 여부에 의존할 수 있다.
i. 또한, 일례로, 슬라이스/타일/LCU/LCU 행/LCU의 그룹/비디오 데이터 유닛이 스크린 콘텐츠로 결정되는지 여부는 다음에 따라 달라질 수 있다.
1. SPS/VPS/PPS/픽처 헤더/슬라이스 헤더/타일 그룹 헤더/LCU 행/LCU의 그룹/LCU/CU/비디오 데이터 유닛에서 시그널링 되는 메시지/플래그.
2. 현재 CTU 및/또는 이웃 CTU의 블록 치수
3. 현재 CTU 및/또는 이웃 CTU의 블록 형태
4. 현재 CTU 및/또는 이웃 CTU의 현재 양자화 파라미터
5. 컬러 형식의 표시(예를 들어, 4:2:0, 4:4:4)
6. 이전 슬라이스/타일/LCU/LCU 행/LCU의 그룹/비디오 데이터 유닛의 분리/듀얼 코딩 트리 구조 유형
7. 슬라이스/타일 그룹 유형 및/또는 픽처 유형
8. 임시 계층 ID
b. 일례로, 분리/듀얼 트리를 적용할지 여부의 표시가 유추될 수 있으며, 이는 다음에 따라 달라질 수 있다.
i. SPS/VPS/PPS/픽처 헤더/슬라이스 헤더/타일 그룹 헤더/LCU 행/LCU의 그룹/LCU/CU/비디오 데이터 유닛에서 시그널링 되는 메시지.
ii. 이전 코딩된 픽처/타일/슬라이스/재구성 영역에서 IBC/Inter 모드의 해시 적중률
iii. 현재 CTU 및/또는 이웃 CTU의 블록 치수
iv. 현재 CTU 및/또는 이웃 CTU의 블록 형태
v. 현재 CTU 및/또는 이웃 CTU의 현재 양자화 파라미터
vi. 컬러 형식의 표시(예를 들어, 4:2:0, 4:4:4)
vii. 이전 슬라이스/타일/LCU/LCU 행/LCU의 그룹/비디오 데이터 유닛의 분리/듀얼 코딩 트리 구조 유형
viii. 슬라이스/타일 그룹 유형 및/또는 픽처 유형
ix. 임시 계층 ID
c. 일례로, CCLM 및/또는 LMCS를 적용할지 여부의 표시는 분리/듀얼 코딩 트리 구조 유형에 따라 달라질 수 있다.
i. 일례로, 표시 CCLM 및/또는 LMCS는 싱글 트리가 사용될 때 거짓으로 유추될 수 있다.
d. 위의 방법들은 싱글 트리 분할의 경우나 또는 싱글/듀얼 코딩 트리 구조 유형에도 적용될 수 있다.
10. IBC 활성화 여부는 코딩 트리 구조 유형에 따라 다를 수 있다.
a. 일례로, 주어진 코딩 트리 구조 유형(예를 들어, 듀얼 트리)에 대해, IBC 모드 및/또는 IBC 모드에서 사용되는 블록 벡터의 표시의 시그널링은 스킵되고 유추될 수 있다.
b. 일례로, IBC 모드의 표시는 듀얼 코딩 트리 구조 유형이 적용될 때 거짓으로 유추될 수 있다.
c. 일례로, 루마 블록의 IBC 모드의 표시는 듀얼 코딩 트리 구조 유형이 적용될 때 거짓으로 유추될 수 있다.
d. 일례로, 크로마 블록의 IBC 모드의 표시는 듀얼 코딩 트리 구조 유형이 적용될 때 거짓으로 유추될 수 있다.
e. 일례로, IBC 모드의 표시는 다음에 기초하여 유추될 수 있다.
i. SPS/VPS/PPS/픽처 헤더/슬라이스 헤더/타일 그룹 헤더/LCU 행/LCU의 그룹/LCU/CU/비디오 데이터 유닛에서 시그널링 되는 메시지.
ii. 이전 코딩된 픽처/타일/슬라이스/재구성 영역에서 IBC/Inter 모드의 해시 적중률
iii. 현재 CTU 및/또는 이웃 CTU의 블록 치수
iv. 현재 CTU 및/또는 이웃 CTU의 블록 형태
v. 현재 CTU 및/또는 이웃 CTU의 현재 양자화 파라미터
vi. 컬러 형식의 표시(예를 들어, 4:2:0, 4:4:4)
ix. 이전 슬라이스/타일/LCU/LCU 행/LCU의 그룹/비디오 데이터 유닛의 코딩 트리 구조 유형
xii. 슬라이스/타일 그룹 유형 및/또는 픽처 유형
ix. 임시 계층 ID
11. 코딩 트리 구조는 IBC 사용 여부에 따라 달라질 수 있다.
a. 일례로, 시퀀스/픽처/타일/브릭/CTU/VPDU/32x32 블록/64x32 블록/32x64 블록 레벨에서 듀얼 트리 구조와 IBC 방식이 동시에 활성화되지 않을 수 있다.
b. 또달리, 또한, 일례로, IBC 방식이 활성화되면, 듀얼 트리 구조는 시퀀스/픽처/타일/브릭/CTU/VPDU/32x32 블록/64x32 블록/32x64 블록 레벨에서 비활성화될 수 있다.
c. 일례로, IBC가 영역에서 사용되는 경우, 크로마 코딩 트리 구조는 루마 코딩 트리 구조에 정렬될 수 있다.
i. 일례로, 영역은 시퀀스/픽처/타일/브릭/CTU/VPDU/32x32 블록/64x32 블록/32x64 블록일 수 있다.
ii. 일례로, 병치된(collocated) 루마 블록이 서브블록들로 분할될 때, 크로마 블록은 분할이 허용된다면 서브블록들로 분할될 수 있다.
iii. 일례로, 크로마 블록이 분할되는지 여부 및 방법은 그 병치된 루마 블록의 코딩 구조로부터 유추될 수 있다.
iv. 일례로, 크로마 코딩 트리 구조가 루마 코딩 트리 구조로부터 유추될 때, 크로마 코딩 트리 구조를 코딩하기 위한 시그널링은 스킵될 수도 있다.
v. 일례로, 크로마 코딩 구조가 루마 코딩 구조로부터 유추될 수 있는지 여부를 표시하기 위해 플래그가 사용될 수 있다. 플래그의 시그널링은 다음에 따라 달라질 수 있다.
1. SPS/VPS/PPS/픽처 헤더/슬라이스 헤더/타일 그룹 헤더/LCU 행/LCU의 그룹/LCU/CU/비디오 데이터 유닛에서 시그널링 되는 메시지.
2. 이전 코딩된 픽처/타일/슬라이스/재구성 영역에서 IBC/Inter 모드의 해시 적중률
3. 현재 CTU 및/또는 이웃 CTU의 블록 치수
4. 현재 CTU 및/또는 이웃 CTU의 블록 형태
5. 현재 CTU 및/또는 이웃 CTU의 현재 양자화 파라미터
6. 컬러 형식의 표시(예를 들어, 4:2:0, 4:4:4)
7. 이전 슬라이스/타일/LCU/LCU 행/LCU의 그룹/비디오 데이터 유닛의 코딩 트리 구조 유형
8. 슬라이스/타일 그룹 유형 및/또는 픽처 유형
9. 임시 계층 ID
12. 팔레트 코딩 모드(palette coding mode)를 활성화할지 여부는 코딩 트리 구조 유형에 따라 달라질 수 있다.
a. 일례로, 주어진 코딩 트리 구조 유형(예를 들어, 듀얼 트리)에 대해, 팔레트 코딩 모드의 표시의 시그널링은 스킵되고 유추될 수 있다.
b.일례로, 팔레트 코딩 모드의 표시는 듀얼 코딩 트리 구조 유형이 적용될 때 거짓으로 유추될 수 있다.
c. 일례로, 루마 블록의 팔레트 코딩 모드의 표시는 듀얼 코딩 트리 구조 유형이 적용될 때 거짓으로 유추될 수 있다.
d. 일례로, 크로마 블록의 팔레트 코딩 모드의 표시는 듀얼 코딩 트리 구조 유형이 적용될 때 거짓으로 유추될 수 있다.
e. 일례로, 유추된 팔레트 코딩 모드의 표시는 다음에 기초한다.
i. SPS/VPS/PPS/픽처 헤더/슬라이스 헤더/타일 그룹 헤더/LCU 행/LCU의 그룹/LCU/CU/비디오 데이터 유닛에서 시그널링 되는 메시지.
ii. 이전 코딩된 픽처/타일/슬라이스/재구성 영역에서 IBC/Inter 모드의 해시 적중률
iii. 현재 CTU 및/또는 이웃 CTU의 블록 치수
iv. 현재 CTU 및/또는 이웃 CTU의 블록 형태
v. 현재 CTU 및/또는 이웃 CTU의 현재 양자화 파라미터
vi. 컬러 형식의 표시(예를 들어, 4:2:0, 4:4:4)
vii. 이전 슬라이스/타일/LCU/LCU 행/LCU의 그룹/비디오 데이터 유닛의 코딩 트리 구조 유형
viii. 슬라이스/타일 그룹 유형 및/또는 픽처 유형
ix. 임시 계층 ID
13. 코딩 트리 구조는 팔레트 코딩 모드의 사용 여부에 따라 달라질 수 있다.
a. 일례로, 팔레트 코딩 모드가 영역에서 사용될 때, 크로마 코딩 트리 구조는 루마 코딩 트리 구조에 정렬될 수 있다
i. 일례로, 영역은 시퀀스/픽처/타일/브릭/CTU/VPDU/32x32 블록/64x32 블록일 수 있다.
ii. 일례로, 병치된(collocated) 루마 블록이 서브블록들로 분할될 때, 크로마 블록은 분할이 허용된다면 서브블록들로 분할될 수 있다.
iii. 일례로, 크로마 블록이 분할되는지 여부 및 방법은 그 병치된 루마 블록의 코딩 구조로부터 유추될 수 있다.
iv. 일례로, 크로마 코딩 트리 구조가 루마 코딩 트리 구조로부터 유추될 때, 크로마 코딩 트리 구조를 코딩하기 위한 시그널링은 스킵될 수도 있다.
v. 일례로, 크로마 코딩 구조가 루마 코딩 구조로부터 유추될 수 있는지 여부를 표시하기 위해 플래그가 사용될 수 있다. 플래그의 시그널링은 다음에 따라 달라질 수 있다.
1. SPS/VPS/PPS/픽처 헤더/슬라이스 헤더/타일 그룹 헤더/LCU 행/LCU의 그룹/LCU/CU/비디오 데이터 유닛에서 시그널링 되는 메시지.
2. 이전 코딩된 픽처/타일/슬라이스/재구성 영역에서 IBC/Inter 모드의 해시 적중률
3. 현재 CTU 및/또는 이웃 CTU의 블록 치수
4. 현재 CTU 및/또는 이웃 CTU의 블록 형태
5. 현재 CTU 및/또는 이웃 CTU의 현재 양자화 파라미터
6. 컬러 형식의 표시(예를 들어, 4:2:0, 4:4:4)
7. 이전 슬라이스/타일/LCU/LCU 행/LCU의 그룹/비디오 데이터 유닛의 코딩 트리 구조 유형
8. 슬라이스/타일 그룹 유형 및/또는 픽처 유형
9. 임시 계층 ID
14. 크로마 IBC 코딩된 블록 내의 서브-블록/샘플의 모션/블록 벡터는 병치된 루마 블록 내의 제1 이용가능한 IBC-코딩된 서브-영역으로부터 유도될 수도 있다.
a. 일례로, 병치된 루마 블록 내의 서브-영역의 스캐닝 순서, 예를 들어 래스터 스캐닝(raster scanning) 순서가 정의될 수 있다.
b. 일례로, 서브영역은 최소 코딩 유닛/최소 변환 유닛으로 정의될 수 있다.
c. 하나의 예에서, 크로마 IBC 모드에서 전체 샘플의 모션/블록 벡터는 배치된 루마 블록에서 IBC 또는 인터 모드에서 코딩 된 최위쪽 왼쪽 샘플의 모션 벡터에 기초하여 유도될 수 있다.
15. 크로마 IBC 모드에서는 모션/블록 벡터가 시그널링 될 수 있다.
a. 일례로, 모션 벡터와 모션 벡터 예측자 간의 차가 시그널링 될 수 있다.
i. 일례로, 모션 벡터 예측자는 병치된 루마 블록의 모션 벡터, 병치된 루마 블록의 이웃하는 루마 블록, 현재 크로마 블록의 이웃하는 크로마 블록에 기초하여 유도될 수도 있다.
1. 일례로, 모션/블록 벡터 예측자는 병치된 루마 블록에서 왼쪽 상단 샘플의 모션 벡터에 기초하여 유도될 수도 있다.
2. 일례로, 모션/블록 벡터 예측자는 병치된 루마 블록의 중심 위치를 갖는 샘플의 모션 벡터에 기초하여 유도될 수 있다.
3. 일례로, 모션/블록 벡터 예측자는 병치된 루마 블록에서 IBC 또는 인터 모드로 코딩된 가장 왼쪽 상단 샘플의 모션 벡터에 기초하여 유도될 수 있다.
ii. 일례로, 루마 컴포넌트의 하나의 서브-영역과 연관된 모션 벡터 예측자는 예측자로서 사용되기 전에 스케일링될 수도 있다.
iii. 일례로, 블록 벡터는 이웃하는(인접하거나 인접하지 않은) 크로마 블록들의 모션 벡터/블록 벡터로부터 유도될 수 있다.
b. 일례로, 블록 벡터 후보 리스트가 구성될 수 있고 리스트에 대한 인덱스가 시그널링 될 수 있다.
i. 일례로, 후보 리스트는 병치된 루마 블록으로부터의 모션 벡터/블록 벡터, 병치된 루마 블록의 이웃하는 루마 블록, 이웃하는 크로마 블록을 포함할 수 있다.
c. 일례로, AMVR 플래그의 표시는 유추될 수 있다.
i. 일례로, AMVR 플래그의 표시는 크로마 IBC 모드에서 코딩된 블록에서 거짓(0)으로 유추될 수 있다.
ii. 일례로, 모션 벡터 차의 표시는 크로마 IBC 모드로 코딩된 블록에서 정수 정밀도로 유추될 수 있다.
d. 일례로, 크로마 IBC 모드에서 블록/모션 벡터를 시그널링 할지 여부는 다음에 기초한다.
i. 병치된 루마 블록 내의 모든 서브 영역이 IBC 모드로 코딩 되는지 여부.
1. 그렇다면 크로마 블록의 블록 벡터에 시그널링을 보낼 필요가 없다. 그렇지 않으면, 크로마 블록의 블록 벡터가 시그널링 될 수 있다.
ii. 병치된 루마 블록 내의 모든 서브 영역이 IBC 모드로 코딩 되고 모든 관련 블록 벡터들이 유효한지 여부.
1. 그렇다면 크로마 블록의 블록 벡터에 시그널링을 보낼 필요가 없다. 그렇지 않으면, 크로마 블록의 블록 벡터가 시그널링 될 수 있다.
iii SPS/VPS/PPS/픽처 헤더/슬라이스 헤더/타일 그룹 헤더/LCU 행/LCU의 그룹/LCU/CU/비디오 데이터 유닛에서 시그널링 되는 메시지.
iv. 이전 코딩된 픽처/타일/슬라이스/재구성 영역에서 IBC/Inter 모드의 해시 적중률
v. 현재 CTU 및/또는 이웃 CTU의 블록 치수
vi. 현재 CTU 및/또는 이웃 CTU의 블록 형태
vii. 현재 CTU 및/또는 이웃 CTU의 현재 양자화 파라미터
viii. 컬러 형식의 표시(예를 들어, 4:2:0, 4:4:4)
ix. 이전 슬라이스/타일/LCU/LCU 행/LCU의 그룹/비디오 데이터 유닛의 코딩 트리 구조 유형
x. 슬라이스/타일 그룹 유형 및/또는 픽처 유형
xi. 임시 계층 ID
위에서 설명된 예들은 아래에서 설명되는 방법들, 예를 들어, 비디오 디코더 또는 비디오 인코더에서 구현될 수도 있는 방법들(900, 910, 920, 930 및 940)의 맥락에서 통합될 수도 있다.
비디오 처리를 위한 예시적인 방법은 현재 비디오 블록과 현재 비디오 블록을 포함하는 비디오의 비트스트림 표현 사이의 변환을 수행하는 단계를 포함하고, 여기서 변환은 비트스트림에 포함된 표시자에 기초하여 변환을 위해 변환 스킵 모드를 선택적으로 사용하고, 변환 스킵 모드를 사용하여, 현재 비디오 블록의 예측 오차의 잔차는 변환을 적용하지 않고 비트스트림 표현에 표현된다.
일부 실시예들에서, 표시자는 변환 스킵 모드에 대한 최대 허용 너비 및 최대 허용 높이이다.
일부 실시예들에서, 최대 허용 너비 및 높이는 시퀀스 파라미터 세트(SPS), 비디오 파라미터 세트(VPS), 픽처 파라미터 세트(PPS), 픽처 헤더, 슬라이스 헤더, 타일 그룹 헤더, 최대 코딩 유닛(LCU) 행 또는 LCU 그룹에서 시그널링 된다.
일부 실시예들에서, 최대 허용 너비 및 높이는 다른 메시지들로 시그널링 된다.
일부 실시예에서, 최대 허용 너비 및 높이는 시퀀스 파라미터 세트(SPS) 또는 픽처 파라미터 세트(PPS)에서 시그널링 되고, 최대 허용 너비 및 높이의 업데이트된 값은 픽처 헤더, 슬라이스, 헤더, 타일 그룹 헤더, 최대 코딩 유닛(LCU) 행 또는 LCU의 그룹에서 시그널링 된다.
도 9a는 비디오 처리를 위한 다른 예시적인 방법의 흐름도를 도시한다. 방법(900)은, 단계 902에서, 현재 비디오 블록이 변환 스킵 모드를 사용하여 코딩된다고 결정하는 단계를 포함한다.
방법(900)은, 단계 904에서, 상기 결정하는 단계에 기초하여, 현재 비디오 블록과 현재 비디오 블록을 포함하는 비디오의 비트스트림 표현(bitstream representation) 사이의 변환을 수행하는 단계를 포함한다.
일부 실시예들에서, 현재 비디오 블록은 복수의 계수 그룹들로 분할되고, 비트스트림 표현은 복수의 계수 그룹들 중 적어도 하나에 대한 코딩된 블록 플래그의 시그널링을 생략한다. 일례로, 비트스트림 표현은 복수의 계수 그룹들 각각에 대한 코딩된 블록 플래그의 시그널링을 생략한다.
일부 실시예들에서, 비트스트림 표현에서 시그널링에서 생략된 코딩된 블록 플래그는 다음 중 하나 이상에 기초하여 유추된다. (1) 시퀀스 파라미터 세트(SPS), 비디오 파라미터 세트(VPS), 픽처 파라미터 세트(PPS), 픽처 헤더, 슬라이스 헤더, 타일 그룹 헤더, 최대 코딩 유닛(LCU), LCU 행, LCU의 그룹 또는 코딩 유닛(CU)에서 시그널링 되는 메시지, (2) 복수의 계수 그룹 중 적어도 하나의 위치, (3) 현재 비디오 블록 또는 현재 비디오 블록의 적어도 하나의 인접 블록의 블록 치수, (4) 현재 비디오 블록 또는 적어도 하나의 인접 블록의 블록 형태, (5) 현재 비디오 블록 또는 적어도 하나의 인접 블록의 가장 가능성 있는 모드, (6) 적어도 하나의 인접 블록의 예측 모드, (7) 적어도 하나의 인접 블록의 인트라 예측 모드, (8) 적어도 하나의 인접 블록의 하나 이상의 모션 벡터들, (9) 적어도 하나의 인접 블록의 양자화된 잔차 블록 차동 펄스 코드 변조(QR-BDPCM) 모드의 표시, (10) 현재 비디오 블록 또는 적어도 하나의 인접 블록의 현재 양자화 파라미터(QP), (11) 현재 비디오 블록의 컬러 형식의 표시, (12) 현재 비디오 블록과 연관된 분리 또는 듀얼 코딩 트리 구조, 또는 (13) 슬라이스 유형, 타일 그룹 유형 또는 현재 비디오 블록의 픽처 유형.
일부 실시예에서, 현재 비디오 블록은 복수의 계수 그룹들로 분할되고, 방법(900)은 복수의 계수 그룹들에 대한 계수 스캐닝 순서를 결정하는 단계를 더 포함한다. 일례로, 계수 스캐닝 순서는 시퀀스 파라미터 세트(SPS), 비디오 파라미터 세트(VPS), 픽처 파라미터 세트(PPS), 픽처 헤더, 슬라이스 헤더, 타일 그룹 헤더, 최대 코딩 유닛(LCU), LCU 행, LCU 그룹 또는 코딩 유닛(CU)에서 시그널링 되는 메시지에 기초한다.
일부 실시예들에서, 복수의 계수 그룹 또는 계수 스캐닝 순서는 현재 비디오 블록의 인트라 예측 모드에 기초한다. 일례로, 계수 스캐닝 순서는 수직이고, 여기서 인트라 예측 모드는 수평으로 우세하다. 다른 예에서, 계수 스캐닝 순서는 수평이고, 여기서 인트라 예측 모드는 수평으로 우세하다. 예를 들어, 인트라 예측 모드의 인덱스는 2 내지 33 또는 2 내지 34의 범위이다.
일부 실시예들에서, 복수의 계수 그룹 또는 계수 스캐닝 순서는 현재 비디오 블록의 인트라 예측 모드에 기초한다. 일례로, 계수 스캐닝 순서는 수직이고, 여기서 인트라 예측 모드는 수직으로 우세하다. 다른 예에서, 계수 스캐닝 순서는 수평이고, 여기서 인트라 예측 모드는 수직으로 우세하다. 예를 들어, 인트라 예측 모드의 인덱스는 34 내지 66 또는 35 내지 66의 범위이다.
일부 실시예들에서, 부호 플래그의 컨텍스트는 현재 비디오 블록과 연관된 계수 블록의 인접 정보에 기초한다. 일례로, 부호 플래그의 컨텍스트는 계수 블록의 계수의 위치에 더 기초한다. 다른 예에서, 부호 플래그의 컨텍스트는 (x+y), min(x, y) 또는 max(x, y)에 기초하고, 여기서 x 및 y는 각각 계수 위치의 수평 값 및 수직 값이다.
도 9b는 비디오 처리를 위한 또 다른 예시적인 방법의 흐름도를 도시한다. 방법(910)은, 단계 912에서, 현재 비디오 블록에 대해 크로마 변환 스킵 모드가 적용가능하다고 결정하는 단계를 포함한다.
방법(910)은, 단계 914에서, 상기 결정하는 단계에 기초하여, 현재 비디오 블록과 현재 비디오 블록을 포함하는 비디오의 비트스트림 표현 사이의 변환을 수행하는 단계를 포함한다.
일부 실시예들에서, 상기 결정하는 단계는 시퀀스 파라미터 세트(SPS), 비디오 파라미터 세트(VPS), 픽처 파라미터 세트(PPS), 픽처 헤더, 슬라이스 헤더, 타일 그룹 헤더, 최대 코딩 유닛에서 시그널링 된 메시지에 기초한다. (LCU), LCU 행, LCU의 그룹, 코딩 유닛(CU) 또는 비디오 데이터 유닛에서 시그널링 되는 메시지에 기초한다.
일부 실시예들에서, 상기결정하는 단계는 상기 변환을 수행하기 이전에 디코딩된 하나 이상의 대표 비디오 블록들로부터 디코딩된 정보에 기초하고, 여기서 하나 이상의 대표 비디오 블록들 및 현재 비디오 블록 각각의 샘플은 공통 컬러 정보에 기초한다. 일례로, 하나 이상의 대표 비디오 블록들은 루마 블록 또는 크로마 블록을 포함한다. 다른 예에서, 하나 이상의 대표 비디오 블록들은 병치된 루마 블록 내의 블록을 포함한다.
도 9c는 비디오 처리를 위한 또 다른 예시적인 방법의 흐름도를 도시한다. 방법(920)은, 단계 922에서, 현재 비디오 블록과 현재 비디오 블록을 포함하는 비디오의 비트스트림 표현 사이의 변환 동안, 조건에 기초하여 현재 비디오 블록에 대한 변환 스킵 모드의 선택적 적용에 관한 결정을 내리는 단계를 포함한다.
방법(920)은, 단계 924에서, 상기 결정하는 단계에 기초하여 변환을 수행하는 단계를 포함한다.
일부 실시예들에서, 조건은 시퀀스 파라미터 세트(SPS), 비디오 파라미터 세트(VPS), 픽처 파라미터 세트(PPS), 픽처 헤더, 슬라이스 헤더, 타일 그룹 헤더, 최대 코딩 유닛(LCU), LCU 행, LCU의 그룹, 코딩 유닛(CU) 또는 비디오 데이터 유닛에서 시그널링 되는 메시지에 기초한다.
일부 실시예들에서, 상기 조건은 다음 중 하나 이상을 기반으로 한다. (1) 현재 비디오 블록 또는 현재 비디오 블록의 적어도 하나의 이웃 블록의 블록 치수, (2) 현재 비디오 블록 또는 적어도 하나의 이웃 블록의 블록 형태, (3) 가장 가능성 있는 모드 현재 비디오 블록 또는 적어도 하나의 이웃 블록, (4) 적어도 하나의 이웃 블록의 예측 모드, (5) 적어도 하나의 이웃 블록의 인트라 예측 모드, (6) 적어도 하나의 이웃 블록, (7) 적어도 하나의 이웃 블록의 양자화된 잔차 블록 차동 펄스 코드 변조(QR-BDPCM) 모드의 표시, (8) 현재 비디오 블록의 현재 양자화 파라미터(QP) 블록 또는 적어도 하나의 이웃 블록, (9) 현재 비디오 블록의 컬러 포맷 표시, (10) 현재 비디오 블록과 연관된 분리 또는 듀얼 코딩 트리 구조, (11) 슬라이스 유형, 타일 현재 비디오 블록의 그룹 유형 또는 화상 유형, 또는 (12) 시간 계층 식별자 (ID).
일부 실시예들에서, 변환 스킵 모드의 적용이 수행되고, 현재 비디오 블록의 예측 모드는 인터 블록 복사(IBC) 모드이고, 현재 비디오 블록의 너비 또는 높이가 임계값과 비교된다. 일례로, 임계값은 비트스트림 표현에서 시그널링 된다. 다른 예에서 임계값은 4, 8, 16 또는 32이다.
또 다른 예에서 임계값은 다음 중 하나 이상을 기초로 한다: (1) 시퀀스 파라미터 세트(SPS), 비디오 파라미터 세트(VPS), 픽처 파라미터 세트(PPS), 픽처 헤더, 슬라이스 헤더, 타일 그룹 헤더, 최대 코딩 유닛(LCU), LCU 행, LCU의 그룹 또는 코딩 유닛(CU)에서 시그널링 되는 메시지, (2) 시간 계층 식별(ID), (3) 현재 비디오 블록 또는 현재 비디오 블록의 적어도 하나의 인접 블록의 블록 치수, (4) 현재 비디오 블록 또는 적어도 하나의 인접 블록의 블록 형태, (5) 현재 비디오 블록 또는 적어도 하나의 인접 블록의 가장 가능성 있는 모드, (6) 적어도 하나의 인접 블록의 예측 모드, (7) 적어도 하나의 인접 블록의 인트라 예측 모드, (8) 적어도 하나의 인접 블록의 하나 이상의 모션 벡터들, (9) 적어도 하나의 인접 블록의 양자화된 잔차 블록 차동 펄스 코드 변조(QR-BDPCM) 모드의 표시, (10) 현재 비디오 블록 또는 적어도 하나의 인접 블록의 현재 양자화 파라미터(QP), (11) 현재 비디오 블록의 컬러 형식의 표시, (12) 현재 비디오 블록과 연관된 분리 또는 듀얼 코딩 트리 구조, 또는 (13) 슬라이스 유형, 타일 그룹 유형 또는 현재 비디오 블록의 픽처 유형.
도 9d는 비디오 처리를 위한 또 다른 예시적인 방법의 흐름도를 도시한다. 방법(930)은, 단계 932에서, 현재 비디오 블록과 현재 비디오 블록을 포함하는 비디오의 비트스트림 표현 사이의 변환 동안, 비트스트림 표현에서 변환 스킵 모드의 표시에 기초하여 양자화된 잔차 블록 차동 펄스-코드 변조(QR-BDPCM)의 선택적인 적용에 관한 결정을 내리는 단계를 포함한다.
방법(930)은, 단계 934에서, 결정하는 단계에 기초하여 변환을 수행하는 단계를 포함한다.
일부 실시예들에서, 변환 스킵 모드의 표시는 변환 유닛(TU) 레벨에서 시그널링 된다.
도 9e는 비디오 처리를 위한 또 다른 예시적인 방법의 흐름도를 도시한다. 방법(940)은, 단계 942에서, 현재 비디오 블록과 현재 비디오 블록을 포함하는 비디오의 비트스트림 표현 사이의 변환 동안, 조건에 기초하여 분리 또는 듀얼 트리의 선택적 적용에 관한 결정을 내리는 단계를 포함한다.
방법(940)은, 단계 944에서, 결정하는 단계에 기초하여 변환을 수행하는 단계를 포함한다.
일부 실시예들에서, 조건은 시퀀스 파라미터 세트(SPS), 비디오 파라미터 세트(VPS), 픽처 파라미터 세트(PPS), 픽처 헤더, 슬라이스 헤더, 타일 그룹 헤더, 최대 코딩 유닛(LCU), LCU 행, LCU의 그룹, 코딩 유닛(CU) 또는 비디오 데이터 유닛에서 시그널링 되는 메시지에 기초한다.
일부 실시예들에서, 조건은 현재 비디오 블록을 포함하는 슬라이스, 타일, 최대 코딩 유닛(LCU), LCU 행, LCU의 그룹 또는 비디오 데이터 유닛이 스크린 콘텐츠인지 여부를 결정하는 것에 기초한다. 일례로, 결정은 다음 중 하나 이상을 기초로 한다: (1) 시퀀스 파라미터 세트(SPS), 비디오 파라미터 세트(VPS), 픽처 파라미터 세트(PPS), 픽처 헤더, 슬라이스 헤더, 타일 그룹 헤더, LCU, LCU 행, LCU의 그룹, 코딩 유닛(CU) 또는 비디오 데이터 유닛에서 시그널링 되는 메시지, (2) 현재 비디오 블록 또는 현재 비디오 블록의 적어도 하나의 인접 블록의 블록 치수, (3) 현재 비디오 블록의 블록 형태 비디오 블록 또는 적어도 하나의 인접 블록, (4) 현재 비디오 블록 또는 적어도 하나의 인접 블록의 현재 양자화 파라미터(QP), (5) 현재 비디오 블록의 컬러 형식 표시, (6) 현재 비디오 블록과 연관된 분리 또는 듀얼 코딩 트리 구조, (7) 현재 비디오 블록의 슬라이스 유형, 타일 그룹 유형 또는 픽처 유형, 또는 (8) 시간 계층 식별(ID).
도 10은 비디오 처리 장치(video processing apparatus)(1000)의 블록도이다. 장치(1000)는 여기에 설명된 방법들 중 하나 이상을 구현하는 데 사용될 수 있다. 장치(1000)는 스마트폰, 태블릿, 컴퓨터, 사물인터넷(IoT) 수신기 등으로 구현될 수 있다. 장치(1000)는 하나 이상의 프로세서(processor)(1002), 하나 이상의 메모리(1004) 및 비디오 처리 하드웨어(video processing hardware) (1006)를 포함할 수 있다. 프로세서(들)(1002)는 본 문서에 설명된 하나 이상의 방법들(방법 900, 910, 920, 930 및 940을 포함하지만 이에 제한되지 않음)을 구현하도록 구성될 수 있다. 메모리(메모리들)(1004)는 여기에 설명된 방법 및 기술을 구현하는 데 사용되는 데이터 및 코드를 저장하는 데 사용될 수 있다. 비디오 처리 하드웨어 (1006)는 하드웨어 회로에서 본 문서에 설명된 일부 기술을 구현하는 데 사용될 수 있다.
일부 실시예에서, 비디오 코딩 방법은 도 10와 관련하여 설명된 바와 같이 하드웨어 플랫폼 상에서 구현되는 장치를 사용하여 구현될 수 있다.
일부 실시예들에서, 예를 들어 위의 항목 5 및 10에서 설명된 바와 같이, 비디오 처리 방법은 현재 비디오 블록에 대응하는 코딩 트리 구조의 유형에 기초하여 비디오의 현재 비디오 블록과 비트스트림 표현 사이의 변환에 인트라 블록 복사 모드가 적용 가능한지 여부의 결정을 내리는 단계; 및 상기 결정에 기초하여 변환을 수행하는 단계를 포함한다.
위의 방법에 있어서 비트스트림 표현은 인트라 블록 복사 모드의 표시를 제외한다. 즉, 비트스트림은 IBC 모드의 명시적 시그널링을 전달하지 않는다.
위의 방법에 있어서 코딩 트리 구조의 유형은 듀얼 코딩 트리 구조이고 결정은 인트라 블록 복사 모드가 적용되지 않는 것이다.
도 11은 개시된 기술이 구현될 수 있는 예시적인 비디오 처리 시스템의 블록도이다. 다양한 구현들에는 시스템(1100)의 구성 요소의 일부 또는 전부가 포함될 수 있다. 시스템(1100)은 비디오 콘텐츠를 수신하기 위한 입력(input)(1102)을 포함할 수 있다. 비디오 콘텐츠는 원시 또는 압축되지 않은 형식으로 수신될 수 있다(예를 들어, 8 또는 10비트 다중 컴포넌트 픽셀 값) 또는 압축된 또는 인코딩된 형식으로 수행될 수 있다. 입력(1102)은 네트워크 인터페이스, 주변 버스 인터페이스, 또는 저장 인터페이스를 나타낼 수 있다. 네트워크 인터페이스의 예로서, 이더넷, 수동 광 네트워크(PON: Passive Optical Network) 등과 같은 유선 인터페이스와, Wi-Fi 또는 셀룰러 인터페이스와 같은 무선 인터페이스를 포함한다.
시스템(system)(1100)은 본 문서에 설명된 다양한 코딩 또는 인코딩 방법을 구현할 수 있는 코딩 컴포넌트(coding component)(1104)를 포함할 수 있다. 코딩 컴포넌트(1104)는 비디오의 코딩된 표현을 생성하기 위해 입력(1102)으로부터 코딩 컴포넌트(1104)의 출력으로 비디오의 평균 비트레이트를 감소시킬 수 있다. 따라서, 코딩 기법을 비디오 압축 또는 비디오 트랜스코딩 기술이라고도 한다. 코딩 컴포넌트(1104)의 출력은 컴포넌트(1106)에 의해 표현되는 바와 같이, 연결된 통신을 통해 저장되거나 또는 전송될 수 있다. 입력(1102)에서 수신된 비디오의 저장 또는 통신된 비트스트림(또는 코딩된) 표현은 디스플레이 인터페이스(1110)로 전송되는 픽셀 값 또는 디스플레이 가능한 비디오를 생성하기 위해 컴포넌트(1108)에 의해 사용될 수 있다. 비트스트림 표현으로부터 사용자가 볼 수 있는 비디오를 생성하는 프로세스를 비디오 압축해제(video decompression)라고도 한다. 또한, 특정 비디오 처리 작업을 "코딩" 작업(coding operation) 또는 툴(tools)로 지칭하지만, 코딩 툴 또는 작업이 인코더에서 사용되고 코딩 결과를 되돌리는 대응하는 디코딩 툴 또는 작업이 디코더에 의해 수행된다는 점을 이해할 것이다.
주변 버스 인터페이스 또는 디스플레이 인터페이스의 예로는 범용 직렬 버스(USB) 또는 고화질 멀티미디어 인터페이스(HDMI) 또는 디스플레이포트 등이 포함될 수 있다. 스토리지 인터페이스의 예로는 SATA(직렬 첨단 기술 첨부 파일: Serial Advanced Technology Attachment), PCI, IDE 인터페이스 등이 있다. 본 문서에 기재된 기술은 디지털 데이터 처리를 수행할 수 있는 휴대전화, 노트북, 스마트폰 및/또는 비디오 디스플레이와 같은 다양한 전자 장치에 구현될 수 있다.
도 12는 비주얼 미디어 인코딩 방법을 위한 예시적 순서도이다. 단계 1202에서, 프로세스는 비주얼 미디어 데이터의 비디오 영역에서 현재 비디오 블록을 비주얼 미디어 데이터의 비트스트림 표현으로 인코딩하기 위하여, 현재 비디오 블록과 연관된 적어도 코딩 트리 구조에 기초하여 또는 유추된 인트라 블록 복사(IBC) 모드의 적용에 관한 결정을 내린다. 단계 1204에서, 이 프로세스는 적어도 코딩 트리 구조에 기초하여 또는 유추된 IBC 모드의 적용을 표시하는 구문 요소를 비트스트림 표현에 선택적으로 포함한다.
도 13은 비주얼 미디어 디코딩 방법을 위한 예시적 순서도이다. 단계 1302에서, 프로세스는 현재 비디오 블록을 포함하는 비디오 영역을 포함하는 비주얼 미디어 데이터의 비트스트림 표현으로부터 현재 비디오 블록과 연관된 코딩 트리 구조를 결정한다. 단계 1304에서, 프로세스는 코딩 트리 구조에 기초하여, 구문 요소가 비트스트림 표현에 포함되는지 여부를 결정하고, 여기서 구문 요소는 내부 블록 복사(IBC) 모드를 나타낸다. 단계 1306에서 프로세스는 비트스트림 표현에서 현재 비디오 블록을 생성한다.
도 14는 비주얼 미디어 인코딩 방법을 위한 예시적 순서도이다. 단계 1402에서, 프로세스는 비주얼 미디어 데이터의 비디오 영역에서 현재 비디오 블록을 비주얼 미디어 데이터의 비트스트림 표현으로 인코딩하기 위하여, 적어도 인트라 블록 복사(IBC)가 적용되는지를 결정하는데 기초하여 또는 유추된 현재 비디오 블록에 대하여 코딩 트리 코딩 구조의 적용에 관한 결정을 내린다. 단계 1404에서, 프로세스는 비트스트림 표현에 현재 비디오 블록에 코딩 트리 구조의 적용을 표시하는 구문 요소를 선택적으로 포함한다.
도 15는 비주얼 미디어 디코딩 방법을 위한 예시적 순서도이다. 단계 1502에서, 프로세스는 비주얼 미디어 데이터의 비디오 영역에서 현재 비디오 블록을 비주얼 미디어 데이터의 비트스트림 표현으로 인코딩하기 위하여, 현재 비디오 블록과 연관된 적어도 코딩 트리 구조에 기초하여 또는 유추된 팔레트 모드의 적용에 관한 결정을 내리고, 여기서, 팔레트 모드에서, 현재 비디오 블록에 포함된 샘플들은 팔레트에 포함된 대표적 컬러값들(representative color values) 집합을 이용하여 표현된다. 단계 1504에서, 프로세스는 비트스트림 표현에서 팔레트 모드의 적용을 표시하는 구문 요소를 선택적으로 포함한다.
도 16은 비주얼 미디어 인코딩 방법을 위한 예시적 순서도이다. 단계 1602에서, 프로세스는 비주얼 미디어 데이터의 비디오 영역에서 현재 비디오 블록을 비주얼 미디어 데이터의 비트스트림 표현으로 인코딩하기 위하여, 현재 비디오 블록과 연관된 적어도 코딩 트리 구조에 기초하여 또는 유추된 팔레트 모드의 적용에 관한 결정을 내리고, 여기서, 팔레트 모드에서, 현재 비디오 블록에 포함된 샘플들은 팔레트에 포함된 대표적인 컬러값들 집합을 이용하여 표현된다. 단계 1604에서, 프로세스는 비트스트림 표현에서 팔레트 모드의 적용을 표시하는 구문 요소를 선택적으로 포함한다.
도 17은 비주얼 미디어 디코딩 방법을 위한 예시적 순서도이다. 단계 1602에서, 프로세스는 현재 비디오 블록을 포함하는 비디오 영역을 포함하는 비주얼 미디어 데이터의 비트스트림 표현으로부터 구문 요소를 파싱하고, 여기서 구문 요소는 현재 비디오 블록과 연관된 적어도 코딩 트리 구조로부터 또는 유추된 팔레트 모드를 표시하고, 팔레트 모드에서, 현재 비디오 블록에 포함된 샘플들은 팔레트에 포함된 대표적인 컬러값들 집합을 이용하여 표현된다. 단계 1704에서, 프로세스는 구문 요소에 따라 현재의 비디오 블록을 디코딩 함으로써 비트스트림 표현으로부터 디코딩된 비디오 영역을 생성한다.
도 18은 비주얼 미디어 인코딩 방법을 위한 예시적 순서도이다. 단계 1802에서, 프로세스는 비주얼 미디어 데이터의 비디오 영역에서 현재 비디오 블록을 비주얼 미디어 데이터의 비트스트림 표현으로 인코딩하기 위하여, 팔레트 모드가 적용된다는 것을 적어도 결정하거나 또는 유추하여 현재 비디오 블록에 대하여 코딩 트리 구조의 적용에 관한 결정을 내리고, 여기서, 팔레트 모드에서, 현재 비디오 블록에 포함된 샘플들은 팔레트에 포함된 대표적인 컬러값들 집합을 이용하여 표현된다. 단계 1804에서, 프로세스는 비트스트림 표현에서 현재 비디오 블록에 대하여 코딩 트리 구조의 적용을 표시하는 구문 요소를 선택적으로 포함한다.
도 19는 비주얼 미디어 디코딩 방법을 위한 예시적 순서도이다. 단계 1902에서, 프로세스는 현재 비디오 블록을 포함하는 비디오 영역을 포함하는 비주얼 미디어 데이터의 비트스트림 표현으로부터 구문 요소를 파싱하고, 여기서 구문 요소는 팔레트 모드가 적용된다는 것을 적어도 결정하거나 또는 유추하여 현재 비디오 블록에 대하여 코딩 트리 구조의 적용을 표시하고, 상기 팔레트 모드에서, 현재 비디오 블록에 포함된 샘플들은 팔레트에 포함된 대표적인 컬러값들 집합을 이용하여 표현된다. 단계 1904에서, 프로세스는 구문 요소에 따라 현재의 비디오 블록을 디코딩 함으로써 비트스트림 표현으로부터 디코딩된 비디오 영역을 생성한다.
본 문서의 일부 실시예들는 이제 절 기반 형식(clause-based format)으로 제공된다.
1. 비주얼 미디어 인코딩 방법에 있어서,
비주얼 미디어 데이터의 비디오 영역에서 현재 비디오 블록을 상기 비주얼 미디어 데이터의 비트스트림 표현으로 인코딩하기 위하여, 상기 현재 비디오 블록과 연관된 적어도 코딩 트리 구조에 기초하여 또는 유추된 인트라 블록 복사(IBC) 모드의 적용에 관한 결정을 내리는 단계; 및
상기 비트스트림 표현에서, 적어도 상기 코딩 트리 구조에 기초하여 또는 유추된 상기 IBC 모드의 상기 적용을 표시하는 구문 요소를 선택적으로 포함하는 단계를 포함하는 비주얼 미디어 인코딩 방법.
2. 비주얼 미디어 디코딩 방법에 있어서,
현재 비디오 블록을 포함하는 비디오 영역을 포함하는 비주얼 미디어 데이터의 비트스트림 표현으로부터 상기 현재 비디오 블록과 연관된 코딩 트리 구조를 결정하는 단계;
상기 코딩 트리 구조에 기초하여 구문 요소가 상기 비트스트림 표현에 포함되는지 여부를 결정하는 단계로서, 상기 구문 요소는 내부 블록 복사(IBC) 모드를 표시하는 단계; 및
상기 비트 스트림 표현으로부터 상기 현재 비디오 블록을 생성하는 단계를 포함하는 비주얼 미디어 디코딩 방법.
3. 제1-2절의 상기 하나 이상의 방법에 있어서, 상기 구문 요소는 상기 비트스트림 표현에서 배제되고, 상기 IBC 모드및 상기 IBC 모드에서 사용되는 연관된 블록 벡터들의 적용을 표시하는 구문 요소가 유추되는 방법.
4. 제1-2절의 상기 하나 이상의 방법에 있어서, 상기 코딩 트리 구조가 이중 코딩 트리 구조 유형인 경우, 상기 구문 요소는 불리언 거짓(Boolean false)으로 유추되는 방법.
5. 제4절의 상기 방법에 있어서, 상기 현재 비디오 블록은 루마 블록인 방법.
6. 제4절의 방법에 있어서, 상기 현재 비디오 블록은 크로마 블록인 방법.
7. 제1-6절의 상기 하나 이상의 방법에 있어서, 상기 구문 요소가 상기 비트스트림 표현으로부터 제외되고, 다음 중 하나 이상을 기반으로 유추되는 방법.
(1) 시퀀스 파라미터 세트(SPS), 비디오 파라미터 세트(VPS), 픽처 파라미터 세트(PPS), 픽처 헤더, 슬라이스 헤더, 타일 그룹 헤더, 최대 코딩 유닛(LCU), LCU 행, LCU 그룹 또는 코딩 유닛(CU)에서 시그널링 되는 메시지,
(2) 다른 비디오 블록과 연관된 코딩된 픽처/타일/슬라이스/재구성 영역에서 IBC 모드 및/또는 인터 모드의 해시 적중 비율,
(3) 현재 비디오 블록 또는 현재 비디오 블록의 적어도 하나의 인접 블록의 블록 치수,
(4) 현재 비디오 블록 또는 적어도 하나의 인접 블록의 블록 형태,
(5) 상기 현재 비디오 블록 또는 상기 적어도 하나의 인접 블록의 현재 양자화 파라미터(QP),
(6) 상기 현재 비디오 블록의 컬러 형식의 표시,
(7) 상기 현재 비디오 블록과 연관된 분리 또는 듀얼 코딩 트리 구조,
(8) 상기 현재 비디오 블록의 슬라이스 유형, 타일 그룹 유형 또는 픽처 유형, 또는
(9) 임시 계층 ID
8. 비주얼 미디어 인코딩 방법에 있어서,
비주얼 미디어 데이터의 비디오 영역에서 현재 비디오 블록을 상기 비주얼 미디어 데이터의 비트스트림 표현으로 인코딩하기 위하여, 적어도 인트라 블록 복사(IBC) 모드가 적용되는지를 결정하는데 기초하여 또는 유추하여, 상기 현재 비디오 블록에 대하여 코딩 트리 구조의 적용에 관한 결정을 내리는 단계; 및
상기 비트스트림 표현에서, 상기 현재 비디오 블록에 대하여 코딩 트리 구조의 적용을 표시하는 구문 요소를 선택적으로 포함하는 단계를 포함하는 비주얼 미디어 인코딩 방법.
9. 비주얼 미디어 디코딩 방법에 있어서,
현재 비디오 블록을 포함하는 비디오 영역을 포함하는 비주얼 미디어 데이터의 비트스트림 표현으로부터 구문 요소를 파싱하는 단계로서, 상기 구문 요소는 적어도 인트라 블록 복사(IBC) 모드가 적용되는지를 결정하는데 기초하여 또는 유추하여, 상기 현재 비디오 블록에 대하여 코딩 트리 구조의 적용을 표시하는 단계; 및
상기 구문 요소에 따라 상기 현재 비디오 블록을 디코딩함으로써 상기 비트스트림 표현으로부터 디코딩된 비디오 영역을 생성하는 단계를 포함하는 비주얼 미디어 디코딩 방법.
10. 제8-9절의 상기 하나 이상의 방법에 있어서, 상기 코딩 트리 구조는 이중 트리 구조이고,
상기 IBC 모드가 비활성화된 것으로 결정하면, 상기 이중 트리 구조의 적용을 비활성화시키는 단계를 더 포함하는 방법.
11. 제8-9절의 상기 하나 이상의 방법에 있어서, 상기 코딩 트리 구조는 이중 트리 구조이고,
상기 IBC 모드가 적용된 것으로 결정하면, 상기 이중 트리 구조를 적용하는 단계를 더 포함하는 방법.
12. 제8-9절의 상기 하나 이상의 방법에 있어서, 상기 IBC 모드가 제1 비디오 영역에 적용되고, 상기 현재 비디오 블록은 크로마 컬러 컴포넌트 및 루마 컬러 컴포넌트를 포함하고,
상기 현재 비디오 블록의 상기 크로마 컬러 컴포넌트의 코딩 트리 구조를 상기 현재 비디오 블록의 상기 루마 컬러 컴포넌트의 코딩 트리 구조에 정렬하는 단계를 더 포함하는 방법.
13. 절 F5의 방법에 있어서, 상기 제1 비디오 영역은 시퀀스, 픽처, 타일, 브릭, 코딩 트리 유닛(CTU), 가상 파이프라인 데이터 유닛(VPDU), 32x32 크기의 비디오 블록, 64x32 크기의 비디오 블록 또는 32x64 크기의 비디오 블록 중 하나에 대응하는 방법.
14. 제12절의 상기 방법에 있어서, 상기 정렬하는 단계는 병치된 루마 컬러 블록이 서브 블록들로 분할되는 경우 크로마 컬러 블록을 서브 블록들로 선택적으로 분할하는 단계를 포함하는 방법.
15. 제14절의 상기 방법에 있어서, 상기 선택적으로 분할하는 단계는 상기 병치된 루마 컬러 블록의 코딩 트리 구조에 적어도 부분적으로 의존하는 방법.
16. 제12절의 상기 방법에 있어서, 상기 정렬하는 단계는 상기 현재 비디오 블록의 상기 루마 컬러 컴포넌트의 상기 코딩 트리 구조로부터 상기 현재 비디오 블록의 상기 크로마 컬러 컴포넌트의 상기 코딩 트리 구조를 유추하는 단계를 포함하는 방법.
17. 제16절의 상기 방법에 있어서, 상기 현재 비디오 블록의 상기 크로마 컬러 컴포넌트의 상기 코딩 트리 구조의 표시가 상기 비트스트림 표현에서 제외되는 방법.
18. 제16절의 상기 방법에 있어서, 플래그는 상기 유추를 표시하기 위해 상기 비트스트림 표현에 선택적으로 포함되는 방법.
19. 제18절의 상기 방법에 있어서, 상기 플래그가 다음 중 하나 이상에 기초하여 선택적으로 포함되는 방법.
(1) 시퀀스 파라미터 세트(SPS), 비디오 파라미터 세트(VPS), 픽처 파라미터 세트(PPS), 픽처 헤더, 슬라이스 헤더, 타일 그룹 헤더, 최대 코딩 유닛(LCU), LCU 행, LCU 그룹 또는 코딩 유닛(CU)에서 시그널링 되는 메시지,
(2) 다른 비디오 블록과 연관된 코딩된 픽처/타일/슬라이스/재구성 영역에서 IBC 모드 및/또는 인터 모드의 해시 적중 비율,
(3) 현재 비디오 블록 또는 현재 비디오 블록의 적어도 하나의 인접 블록의 블록 치수,
(4) 현재 비디오 블록 또는 적어도 하나의 인접 블록의 블록 형태,
(5) 상기 현재 비디오 블록 또는 상기 적어도 하나의 인접 블록의 현재 양자화 파라미터(QP),
(6) 상기 현재 비디오 블록의 컬러 형식의 표시,
(7) 상기 현재 비디오 블록과 연관된 분리 또는 듀얼 코딩 트리 구조,
(8) 상기 현재 비디오 블록의 슬라이스 유형, 타일 그룹 유형 또는 픽처 유형, 또는
(9) 임시 계층 ID
20. 비주얼 미디어 인코딩 방법에 있어서,
비주얼 미디어 데이터의 비디오 영역에서 현재 비디오 블록을 상기 비주얼 미디어 데이터의 비트스트림 표현으로 인코딩하기 위하여, 상기 현재 비디오 블록과 연관된 적어도 코딩 트리 구조에 기초하여 또는 유추된 팔레트 모드의 적용에 관한 결정을 내리는 단계로서, 상기 팔레트 모드에서, 상기 현재 비디오 블록에 포함된 샘플들은 팔레트에 포함된 대표적인 컬러값들 집합을 이용하여 표현되는 단계; 및
상기 비트스트림 표현에서 상기 팔레트 모드의 상기 적용을 표시하는 구문 요소를 선택적으로 포함하는 단계를 포함하는 비주얼 미디어 인코딩 방법.
21. 비주얼 미디어 디코딩 방법에 있어서,
현재 비디오 블록을 포함하는 비디오 영역을 포함하는 비주얼 미디어 데이터의 비트스트림 표현으로부터 구문 요소를 파싱하는 단계로서, 상기 구문 요소는 상기 현재 비디오 블록과 연관된 적어도 코딩 트리 구조에 기초하여 또는 유추된 팔레트 모드를 표시하고, 상기 팔레트 모드에서, 상기 현재 비디오 블록에 포함된 샘플들은 팔레트에 포함된 대표적인 컬러값들 집합을 이용하여 표현되는 단계; 및
상기 구문 요소에 따라 상기 현재 비디오 블록을 디코딩함으로써 상기 비트스트림 표현으로부터 디코딩된 비디오 영역을 생성하는 단계를 포함하는 비주얼 미디어 디코딩 방법.
22. 제20-21절의 상기 하나 이상의 방법에 있어서, 상기 코딩 트리 구조가 듀얼 트리 코딩 구조인 경우, 상기 구문 요소는 상기 비트스트림 표현에서 제외되는 방법.
23. 제22절의 상기 방법에 있어서, 상기 구문 요소가 불리언 거짓으로 유추되는 방법.
24. 제23절의 상기 방법에 있어서, 상기 현재 비디오 블록은 루마 블록인 방법.
25. 제23절의 방법에 있어서, 상기 현재 비디오 블록은 크로마 블록인 방법.
26. 제20-21절의 상기 하나 이상의 방법에 있어서, 상기 구문 요소가 다음 중 하나 이상으로부터 유추되는 방법.
(1) 시퀀스 파라미터 세트(SPS), 비디오 파라미터 세트(VPS), 픽처 파라미터 세트(PPS), 픽처 헤더, 슬라이스 헤더, 타일 그룹 헤더, 최대 코딩 유닛(LCU), LCU 행, LCU 그룹 또는 코딩 유닛(CU)에서 시그널링 되는 메시지,
(2) 다른 비디오 블록과 연관된 코딩된 픽처/타일/슬라이스/재구성 영역에서 IBC 모드 및/또는 인터 모드의 해시 적중 비율,
(3) 현재 비디오 블록 또는 현재 비디오 블록의 적어도 하나의 인접 블록의 블록 치수,
(4) 현재 비디오 블록 또는 적어도 하나의 인접 블록의 블록 형태,
(5) 상기 현재 비디오 블록 또는 상기 적어도 하나의 인접 블록의 현재 양자화 파라미터(QP),
(6) 상기 현재 비디오 블록의 컬러 형식의 표시,
(7) 상기 현재 비디오 블록과 연관된 분리 또는 듀얼 코딩 트리 구조,
(8) 상기 현재 비디오 블록의 슬라이스 유형, 타일 그룹 유형 또는 픽처 유형, 또는
(9) 임시 계층 ID
27. 비주얼 미디어 인코딩 방법에 있어서,
비주얼 미디어 데이터의 비디오 영역에서 현재 비디오 블록을 비주얼 미디어 데이터의 비트스트림 표현으로 인코딩하기 위하여, 팔레트 모드가 적용된다는 것을 적어도 결정하거나 또는 유추하여 현재 비디오 블록에 대하여 코딩 트리 구조의 적용에 관한 결정을 내리는 단계로서, 상기 팔레트 모드에서, 상기 현재 비디오 블록에 포함된 샘플들은 팔레트에 포함된 대표적인 컬러값들 집합을 이용하여 표현되는 단계; 및
상기 비트스트림 표현에서, 상기 현재 비디오 블록에 대하여 코딩 트리 구조의 적용을 표시하는 구문 요소를 선택적으로 포함하는 단계를 포함하는 비주얼 미디어 인코딩 방법.
28. 비주얼 미디어 디코딩 방법에 있어서,
현재 비디오 블록을 포함하는 비디오 영역을 포함하는 비주얼 미디어 데이터의 비트스트림 표현으로부터 구문 요소를 파싱하는 단계로서, 상기 구문 요소는 팔레트 모드가 적용된다는 것을 적어도 결정되거나 또는 유추하여 상기 현재 비디오 블록에 대하여 코딩 트리 구조의 적용을 표시하고, 상기 팔레트 모드에서, 상기 현재 비디오 블록에 포함된 샘플들은 팔레트에 포함된 대표적인 컬러값들 집합을 이용하여 표현되는 단계; 및
상기 구문 요소에 따라 상기 현재 비디오 블록을 디코딩함으로써 상기 비트스트림 표현으로부터 디코딩된 비디오 영역을 생성하는 단계를 포함하는 비주얼 미디어 디코딩 방법.
29. 제 27-28절의 상기 하나 이상의 방법에 있어서, 상기 팔레트 모드가 제1 비디오 영역에 적용되고, 상기 현재 비디오 블록은 크로마 컬러 컴포넌트 및 루마 컬러 컴포넌트를 포함하고,
상기 현재 비디오 블록의 상기 크로마 컬러 컴포넌트의 코딩 트리 구조를 상기 현재 비디오 블록의 상기 루마 컬러 컴포넌트의 코딩 트리 구조에 정렬하는 단계를 더 포함하는 방법.
30. 제29절의 상기 방법에 있어서, 상기 제1 비디오 영역은 시퀀스, 그림, 타일, 브릭, 코딩 트리 유닛(CTU), 가상 파이프라인 데이터 유닛(VPDU), 32x32 크기의 비디오 블록 또는 64x32 크기의 비디오 블록 중 하나에 대응하는 방법.
31. 제29절의 상기 방법에 있어서, 상기 정렬하는 단계는 병치된 루마 컬러 블록이 서브 블록들로 분할되는 경우 크로마 컬러 블록을 서브 블록들로 선택적으로 분할하는 단계를 포함하는 방법.
32. 제31절의 상기 방법에 있어서, 상기 선택적으로 분할하는 단계는 상기 병치된 루마 컬러 블록의 코딩 트리 구조에 적어도 부분적으로 의존하는 방법.
33. 제29절의 상기 방법에 있어서, 상기 정렬하는 단계는 상기 현재 비디오 블록의 상기 루마 컬러 컴포넌트의 상기 코딩 트리 구조로부터 상기 현재 비디오 블록의 상기 크로마 컬러 컴포넌트의 상기 코딩 트리 구조를 유추하는 단계를 포함하는 방법.
34. 제33절의 상기 방법에 있어서, 상기 현재 비디오 블록의 상기 크로마 컬러 컴포넌트의 상기 코딩 트리 구조의 표시가 상기 비트스트림 표현에서 제외되는 방법.
35. 제33절의 상기 방법에 있어서, 플래그는 상기 유추를 표시하기 위해 상기 비트스트림 표현에 선택적으로 포함되는 방법.
36. 제35절의 상기 방법에 있어서, 상기 플래그는 다음 중 하나 이상에 기초하여 선택적으로 포함되는 방법.
(1) 시퀀스 파라미터 세트(SPS), 비디오 파라미터 세트(VPS), 픽처 파라미터 세트(PPS), 픽처 헤더, 슬라이스 헤더, 타일 그룹 헤더, 최대 코딩 유닛(LCU), LCU 행, LCU 그룹 또는 코딩 유닛(CU)에서 시그널링 되는 메시지,
(2) 다른 비디오 블록과 연관된 코딩된 픽처/타일/슬라이스/재구성 영역에서 IBC 모드 및/또는 인터 모드의 해시 적중 비율,
(3) 현재 비디오 블록 또는 현재 비디오 블록의 적어도 하나의 인접 블록의 블록 치수,
(4) 현재 비디오 블록 또는 적어도 하나의 인접 블록의 블록 형태,
(5) 상기 현재 비디오 블록 또는 상기 적어도 하나의 인접 블록의 현재 양자화 파라미터(QP),
(6) 상기 현재 비디오 블록의 컬러 형식의 표시,
(7) 상기 현재 비디오 블록과 연관된 분리 또는 듀얼 코딩 트리 구조,
(8) 상기 현재 비디오 블록의 슬라이스 유형, 타일 그룹 유형 또는 픽처 유형, 또는
(9) 임시 계층 ID
37. 제1절 내지 제36절의 상기 하나 이상에서 기재된 방법을 구현하도록 구성된 프로세서를 포함하는 비디오 인코더 장치.
38. 제1절 내지 제36절의 상기 하나 이상에서 인용된 방법을 구현하도록 구성된 프로세서를 포함하는 비디오 디코더 장치.
39. 코드가 저장된 컴퓨터 판독 가능 매체로서, 상기 코드는 제1절 내지 제52절의 상기 하나 이상에서 인용된 방법을 구현하기 위한 프로세서 실행 가능 명령어를 구현하는 컴퓨터 판독 가능 매체.
본 문서에서 "비디오 처리" 또는 "비주얼 미디어 처리"라는 용어는 비디오 인코딩, 비디오 디코딩, 비디오 압축 또는 비디오 압축 해제를 의미할 수 있다. 예를 들어 비디오 압축 알고리즘은 비디오의 픽셀 표현으로부터 대응하는 비트스트림 표현으로 변환하는 동안 적용될 수 있거나 또는 그 반대의 경우도 마찬가지이다. 현재 비디오 블록의 비트스트림 표현은, 예를 들어, 구문에 의해 정의된 바와 같이 비트스트림 내의 다른 위치들에 함께 배치(병치)(co-located)되거나 확산되는 비트들에 대응할 수 있다. 예를 들어, 매크로블록(macroblock)은 변환 및 코딩된 오류 잔차 값의 관점에서, 그리고 또한 비트스트림의 헤더 및 기타 필드에 비트를 사용하여 인코딩 될 수 있다. 또한, 변환 동안, 디코더는 위의 솔루션에서 설명된 바와 같이 결정에 기초하여 일부 필드들이 존재하거나 없을 수 있다는 지식으로 비트스트림을 파싱할 수 있다. 유사하게, 인코더는 특정 구문 필드가 포함되는지 여부를 결정할 수 있고, 이에 따라 코딩된 표현으로부터 구문 필드를 포함하거나 또는 제외함으로써 코딩된 표현을 생성할 수 있다.
상기로부터, 현재 개시된 기술의 구체적인 실시예는 일러스트레이션의 목적을 위해 본원에 기재되어 있으나, 본 발명의 범위에서 벗어나지 않고 다양한 수정이 이루어질 수 있다는 점을 평가할 것이다. 이에 따라, 현재 개시된 기술은 첨부된 청구항들에 의한 경우를 제외하고는 한정되지 않는다.
본 특허 문서에 기재된 주제의 구현 및 기능적 작업은 본 사양 및 구조상 등가물 또는 그 중 하나 이상의 조합으로 다양한 시스템, 디지털 전자 회로 또는 컴퓨터 소프트웨어, 펌웨어 또는 하드웨어에서 구현될 수 있다. 본 명세서에 기재된 주제의 구현은 하나 이상의 컴퓨터 프로그램 제품, 즉, 데이터 처리 장치의 작동을 제어하기 위해 실물 및 비일시적 컴퓨터 판독 가능한 매체에 인코딩된 컴퓨터 프로그램 지침의 하나 이상의 모듈로 구현될 수 있다. 컴퓨터가 읽을 수 있는 매체는 기계가 읽을 수 있는 스토리지 장치, 기계가 읽을 수 있는 스토리지 기판, 메모리 장치, 기계가 읽을 수 있는 전파 신호에 영향을 미치는 물질의 조성 또는 하나 이상의 조합일 수 있다. 용어 "데이터 처리 장치" 또는 "데이터 처리 장치"는 예를 들어 프로그래밍 가능한 프로세서, 컴퓨터 또는 다중 프로세서 또는 컴퓨터를 포함하여 데이터를 처리하기 위한 모든 장치, 장치 및 기계를 포함한다. 장치는 하드웨어에 추가하여 대응 컴퓨터 프로그램에 대한 실행 환경을 생성하는 코드, 예를 들어 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 체제, 또는 이들 중 하나 이상의 조합을 구성하는 코드를 포함할 수 있다.
컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 응용 프로그램, 스크립트 또는 코드라고도 함)은 컴파일 된 언어를 비롯한 모든 형태의 프로그래밍 언어로 작성할 수 있으며 독립 실행형 프로그램 또는 컴퓨팅 환경에서 사용하기에 적합한 모듈, 구성 요소, 서브루틴 또는 기타 유닛을 포함하여 임의의 형태로 배포될 수 있다. 컴퓨터 프로그램이 파일 시스템의 파일에 반드시 해당하는 것은 아니다. 프로그램은 다른 프로그램이나 데이터(예를 들어, 마크업 언어 문서에 저장된 하나 이상의 스크립트), 해당 프로그램에 전용되는 단일 파일 또는 여러 조정된 파일들(예를 들어, 하나 이상의 모듈, 서브 프로그램 또는 코드 일부를 저장하는 파일)에 저장할 수 있다. 컴퓨터 프로그램은 한 컴퓨터 또는 한 사이트에 위치하거나 여러 사이트에 분산되고 통신 네트워크에 의해 상호 연결된 여러 컴퓨터에서 실행하도록 배포할 수 있다.
이 문서에 설명된 프로세스 및 논리 흐름은 입력 데이터에 대해 작동하고 출력을 생성함으로써 기능을 수행하기 위해 하나 이상의 컴퓨터 프로그램을 실행하는 하나 이상의 프로그램 가능한 프로세서에 의해 수행될 수 있다. 프로세스 및 논리 흐름은 또한 특수 목적 논리 회로, 예를 들어 FPGA(필드 프로그램 가능 게이트 어레이(field programmable gate array)) 또는 ASIC(응용 특정 집적 회로(application specific integrated circuit))에 의해 수행될 수 있고 장치는 또한 구현될 수 있다.
컴퓨터 프로그램의 실행에 적합한 프로세서에는 예를 들어, 일반 및 특수 목적 마이크로프로세서와 모든 종류의 디지털 컴퓨터의 하나 이상의 프로세서가 포함된다. 일반적으로 프로세서는 읽기 전용 메모리나 랜덤 액세스 메모리 또는 둘 다에서 명령어들과 데이터를 수신한다. 컴퓨터의 필수 요소는 명령을 수행하기 위한 프로세서와, 명령어들 및 데이터를 저장하기 위한 하나 이상의 메모리 장치이다. 일반적으로, 컴퓨터는 또한 데이터를 저장하기 위한 하나 이상의 대용량 저장 장치, 예를 들어 자기, 광자기 디스크, 또는 광 디스크로부터 데이터를 수신하거나 이들로 데이터를 전송하거나 둘 전체를 포함하거나 작동 가능하게 연결된다. 그러나 컴퓨터에 그러한 장치들이 필요하지 않다. 컴퓨터 프로그램 명령어들 및 데이터를 저장하기에 적합한 컴퓨터 판독 가능 매체 및 데이터는 비휘발성 메모리, 매체 및 예를 들어 반도체 메모리 장치(예를 들어, EPROM, EEPROM 및 플래시 메모리 장치)를 포함하는 메모리 장치의 모든 형태를 포함한다. 프로세서와 메모리는 특수 목적 논리 회로에 의해 보완되거나 통합될 수 있다.
본 명세서는 도면과 함께 단지 예시적인 것으로 간주되어야 하며, 여기서 예시적인 것은 예시를 의미한다. 본 명세서에 사용된 바와 같이, 단수 형태 "a", "an" 및 "the"는 문맥이 명백하게 달리 나타내지 않는 한 복수 형태도 포함하는 것으로 의도된다. 또한 컨텍스트가 달리 명확하게 나타내지 않는 한 "또는"의 사용은 "및/또는"를 포함하기 위한 것이다.
이 특허 문서에는 많은 세부 사항이 포함되어 있지만, 이는 모든 발명의 범위 또는 청구될 수 있는 항목의 범위에 대한 제한으로 해석되어서는 안 되며, 오히려 특정 발명의 특정 실시예에 특정할 수 있는 기능에 대한 설명으로 해석되어서는 안 된다. 별도의 실시예와 관련하여 이 특허 문서에 설명된 특정 특징은 단일 실시예에서 조합하여 구현될 수도 있다. 역으로, 단일 실시예의 맥락에서 설명된 다양한 특징은 또한 개별적으로 또는 임의의 적절한 서브 조합으로 다중 실시예들에서도 구현될 수 있다. 더욱이, 앞서와 같이 특징들은 특정 조합으로 작용하는 것으로 설명될 수 있고 심지어 처음에 그렇게 주장될 수도 있지만, 청구된 조합으로부터 하나 이상의 특징은 어떤 경우에는 조합으로부터 제외될 수 있고, 주장된 조합은 서브 조합 또는 서브 조합의 변형에 관한 것일 수 있다.
마찬가지로, 연산은 특정 순서로 도면에 묘사되어 있지만, 바람직한 결과를 달성하기 위하여, 이러한 연산이 표시된 특정 순서 또는 순차적인 순서로 수행되거나, 모든 예시된 연산들이 수행되는 것을 요구하는 것으로 이해되어서는 안 된다. 더욱이, 본 특허 문서에 기재된 실시예들에서, 다양한 시스템 구성 요소들의 분리가 모든 실시예들에서 이러한 분리를 요구하는 것으로 이해되어서는 안 된다.
단지 몇 가지 구현 및 예제만 설명되며, 이 특허 문서에서 기술되고 예시되는 내용에 기초하여 다른 구현들, 개선 및 변형들을 만들 수 있다.

Claims (39)

  1. 비주얼 미디어 인코딩 방법에 있어서,
    비주얼 미디어 데이터의 비디오 영역에서 현재 비디오 블록을 상기 비주얼 미디어 데이터의 비트스트림 표현으로 인코딩하기 위하여, 상기 현재 비디오 블록과 연관된 적어도 코딩 트리 구조에 기초하여 또는 유추된 인트라 블록 복사(IBC) 모드의 적용에 관한 결정을 내리는 단계; 및
    상기 비트스트림 표현에서, 적어도 상기 코딩 트리 구조에 기초하여 또는 유추된 상기 IBC 모드의 상기 적용을 표시하는 구문 요소를 선택적으로 포함하는 단계를 포함하는 비주얼 미디어 인코딩 방법.
  2. 비주얼 미디어 디코딩 방법에 있어서,
    현재 비디오 블록을 포함하는 비디오 영역을 포함하는 비주얼 미디어 데이터의 비트스트림 표현으로부터 상기 현재 비디오 블록과 연관된 코딩 트리 구조를 결정하는 단계;
    상기 코딩 트리 구조에 기초하여 구문 요소가 상기 비트스트림 표현에 포함되는지 여부를 결정하는 단계로서, 상기 구문 요소는 내부 블록 복사(IBC) 모드를 표시하는 단계; 및
    상기 비트 스트림 표현으로부터 상기 현재 비디오 블록을 생성하는 단계를 포함하는 비주얼 미디어 디코딩 방법.
  3. 제1항 또는 제2항 중 하나 이상의 항에 기재된 방법에 있어서,
    상기 구문 요소는 상기 비트스트림 표현에서 배제되고, 상기 IBC 모드및 상기 IBC 모드에서 사용되는 연관 블록 벡터의 적용을 표시하는 상기 구문 소자가 유추되는 방법.
  4. 제1항 또는 제2항 중 하나 이상의 항에 기재된 방법에 있어서,
    상기 코딩 트리 구조가 이중 코딩 트리 구조 유형인 경우, 상기 구문 요소는 불리언 거짓으로 유추되는 방법.
  5. 제4항에 있어서, 상기 현재 비디오 블록은 루마 블록인 방법.
  6. 제4항에 있어서, 상기 현재 비디오 블록은 크로마 블록인 방법.
  7. 제1항 내지 제6항 중 하나 이상의 항에 기재된 방법에 있어서,
    상기 구문 요소가 상기 비트 스트림 표현으로부터 제외되고 다음 중 하나 이상을 기반으로 유추되는 방법.
    (1) 시퀀스 파라미터 세트(SPS), 비디오 파라미터 세트(VPS), 픽처 파라미터 세트(PPS), 픽처 헤더, 슬라이스 헤더, 타일 그룹 헤더, 최대 코딩 유닛(LCU), LCU 행, LCU 그룹 또는 코딩 유닛(CU)에서 시그널링 되는 메시지,
    (2) 다른 비디오 블록과 연관된 코딩된 픽처/타일/슬라이스/재구성 영역에서 IBC 모드 및/또는 인터 모드의 해시 적중 비율,
    (3) 현재 비디오 블록 또는 현재 비디오 블록의 적어도 하나의 인접 블록의 블록 치수,
    (4) 현재 비디오 블록 또는 적어도 하나의 인접 블록의 블록 형태,
    (5) 상기 현재 비디오 블록 또는 상기 적어도 하나의 인접 블록의 현재 양자화 파라미터(QP),
    (6) 상기 현재 비디오 블록의 컬러 형식의 표시,
    (7) 상기 현재 비디오 블록과 연관된 분리 또는 듀얼 코딩 트리 구조,
    (8) 상기 현재 비디오 블록의 슬라이스 유형, 타일 그룹 유형 또는 픽처 유형, 또는
    (9) 임시 계층 ID
  8. 비주얼 미디어 인코딩 방법에 있어서,
    비주얼 미디어 데이터의 비디오 영역에서 현재 비디오 블록을 상기 비주얼 미디어 데이터의 비트스트림 표현으로 인코딩하기 위하여, 적어도 인트라 블록 복사(IBC) 모드가 적용되는지를 결정하는데 기초하여 또는 유추하여, 상기 현재 비디오 블록에 대하여 코딩 트리 구조의 적용에 관한 결정을 내리는 단계; 및
    상기 비트스트림 표현에서, 상기 현재 비디오 블록에 대하여 코딩 트리 구조의 적용을 표시하는 구문 요소를 선택적으로 포함하는 단계를 포함하는 비주얼 미디어 인코딩 방법.
  9. 비주얼 미디어 디코딩 방법에 있어서,
    현재 비디오 블록을 포함하는 비디오 영역을 포함하는 비주얼 미디어 데이터의 비트스트림 표현으로부터 구문 요소를 파싱하는 단계로서, 상기 구문 요소는 적어도 인트라 블록 복사(IBC) 모드가 적용되는지를 결정하는데 기초하여 또는 유추하여, 상기 현재 비디오 블록에 대하여 코딩 트리 구조의 적용을 표시하는 단계; 및
    상기 구문 요소에 따라 상기 현재 비디오 블록을 디코딩함으로써 상기 비트스트림 표현으로부터 디코딩된 비디오 영역을 생성하는 단계를 포함하는 비주얼 미디어 디코딩 방법.
  10. 제8항 또는 제9항 중 하나 이상의 항에 기재된 방법에 있어서,
    상기 코딩 트리 구조는 이중 트리 구조이고,
    상기 IBC 모드가 비활성화된 것으로 결정하면, 상기 이중 트리 구조의 적용을 비활성화시키는 단계를 더 포함하는 방법.
  11. 제8항 또는 제9항 중 하나 이상의 항에 기재된 방법에 있어서,
    상기 코딩 트리 구조는 이중 트리 구조이고,
    상기 IBC 모드가 적용된 것으로 결정하면, 상기 이중 트리 구조를 적용하는 단계를 더 포함하는 방법.
  12. 제8항 또는 제9항 중 하나 이상의 항에 기재된 방법에 있어서,
    상기 IBC 모드가 제1 비디오 영역에 적용되고, 상기 현재 비디오 블록은 크로마 컬러 컴포넌트 및 루마 컬러 컴포넌트를 포함하고,
    상기 현재 비디오 블록의 상기 크로마 컬러 컴포넌트의 코딩 트리 구조를 상기 현재 비디오 블록의 상기 루마 컬러 컴포넌트의 코딩 트리 구조에 정렬하는 단계를 더 포함하는 방법.
  13. 제12항에 있어서, 상기 제1 비디오 영역은 시퀀스, 그림, 타일, 브릭, 코딩 트리 유닛(CTU), 가상 파이프라인 데이터 유닛(VPDU), 32x32 크기의 비디오 블록, 64x32 크기의 비디오 블록, 또는 32x64 크기의 비디오 블록 중 하나에 대응하는 방법.
  14. 제12항에 있어서, 상기 정렬하는 단계는 병치된 루마 색상 블록이 서브 블록들로 분할되는 경우 크로마 컬러 블록을 서브 블록들로 선택적으로 분할하는 단계를 포함하는 방법.
  15. 제14항에 있어서, 상기 선택적으로 분할하는 단계는 상기 병치된 루마 컬러 블록의 코딩 트리 구조에 적어도 부분적으로 의존하는 방법.
  16. 제12항에 있어서, 상기 정렬하는 단계는 상기 현재 비디오 블록의 상기 루마 컬러 컴포넌트의 상기 코딩 트리 구조로부터 상기 현재 비디오 블록의 상기 크로마 컬러 컴포넌트의 상기 코딩 트리 구조를 유추하는 단계를 포함하는 방법.
  17. 제16항에 있어서, 상기 현재 비디오 블록의 상기 크로마 컬러 컴포넌트의 상기 코딩 트리 구조의 표시가 상기 비트스트림 표현에서 제외되는 방법.
  18. 제16항에 있어서, 플래그는 상기 유추를 표시하기 위해 상기 비트스트림 표현에 선택적으로 포함되는 방법.
  19. 제18항에 있어서,
    상기 플래그가 다음 중 하나 이상에 기초하여 선택적으로 포함되는 방법.
    (1) 시퀀스 파라미터 세트(SPS), 비디오 파라미터 세트(VPS), 픽처 파라미터 세트(PPS), 픽처 헤더, 슬라이스 헤더, 타일 그룹 헤더, 최대 코딩 유닛(LCU), LCU 행, LCU 그룹 또는 코딩 유닛(CU)에서 시그널링 되는 메시지,
    (2) 다른 비디오 블록과 연관된 코딩된 픽처/타일/슬라이스/재구성 영역에서 IBC 모드 및/또는 인터 모드의 해시 적중 비율,
    (3) 현재 비디오 블록 또는 현재 비디오 블록의 적어도 하나의 인접 블록의 블록 치수,
    (4) 현재 비디오 블록 또는 적어도 하나의 인접 블록의 블록 형태,
    (5) 상기 현재 비디오 블록 또는 상기 적어도 하나의 인접 블록의 현재 양자화 파라미터(QP),
    (6) 상기 현재 비디오 블록의 컬러 형식의 표시,
    (7) 상기 현재 비디오 블록과 연관된 분리 또는 듀얼 코딩 트리 구조,
    (8) 상기 현재 비디오 블록의 슬라이스 유형, 타일 그룹 유형 또는 픽처 유형, 또는
    (9) 임시 계층 ID
  20. 비주얼 미디어 인코딩 방법에 있어서,
    비주얼 미디어 데이터의 비디오 영역에서 현재 비디오 블록을 상기 비주얼 미디어 데이터의 비트스트림 표현으로 인코딩하기 위하여, 상기 현재 비디오 블록과 연관된 적어도 코딩 트리 구조에 기초하여 또는 유추된 팔레트 모드의 적용에 관한 결정을 내리는 단계로서, 상기 팔레트 모드에서, 상기 현재 비디오 블록에 포함된 샘플들은 팔레트에 포함된 대표적인 컬러값들 집합을 이용하여 표현되는 단계; 및
    상기 비트스트림 표현에서 상기 팔레트 모드의 상기 적용을 표시하는 구문 요소를 선택적으로 포함하는 단계를 포함하는 비주얼 미디어 인코딩 방법.
  21. 비주얼 미디어 디코딩 방법에 있어서,
    현재 비디오 블록을 포함하는 비디오 영역을 포함하는 비주얼 미디어 데이터의 비트스트림 표현으로부터 구문 요소를 파싱하는 단계로서, 상기 구문 요소는 상기 현재 비디오 블록과 연관된 적어도 코딩 트리 구조에 기초하여 또는 유추된 팔레트 모드를 표시하고, 상기 팔레트 모드에서, 상기 현재 비디오 블록에 포함된 샘플들은 팔레트에 포함된 대표적인 컬러값들 집합을 이용하여 표현되는 단계; 및
    상기 구문 요소에 따라 상기 현재 비디오 블록을 디코딩함으로써 상기 비트스트림 표현으로부터 디코딩된 비디오 영역을 생성하는 단계를 포함하는 비주얼 미디어 디코딩 방법.
  22. 제20항 또는 제21항 중 하나 이상의 항에 기재된 방법에 있어서, 상기 코딩 트리 구조가 듀얼 트리 코딩 구조인 경우, 상기 구문 요소는 상기 비트스트림 표현에서 제외되는 방법.
  23. 제22항에 있어서, 상기 구문 요소가 불리언 거짓으로 유추되는 방법.
  24. 제23항에 있어서, 상기 현재 비디오 블록은 루마 블록인 방법.
  25. 제23항에 있어서, 상기 현재 비디오 블록은 크로마 블록인 방법.
  26. 제20항 또는 제21항 중 하나 이상의 항에 기재된 방법항에 있어서, 상기 구문 요소가 다음 중 하나 이상으로부터 유추되는 방법.
    (1) 시퀀스 파라미터 세트(SPS), 비디오 파라미터 세트(VPS), 픽처 파라미터 세트(PPS), 픽처 헤더, 슬라이스 헤더, 타일 그룹 헤더, 최대 코딩 유닛(LCU), LCU 행, LCU 그룹 또는 코딩 유닛(CU)에서 시그널링 되는 메시지,
    (2) 다른 비디오 블록과 연관된 코딩된 픽처/타일/슬라이스/재구성 영역에서 IBC 모드 및/또는 인터 모드의 해시 적중 비율,
    (3) 현재 비디오 블록 또는 현재 비디오 블록의 적어도 하나의 인접 블록의 블록 치수,
    (4) 현재 비디오 블록 또는 적어도 하나의 인접 블록의 블록 형태,
    (5) 상기 현재 비디오 블록 또는 상기 적어도 하나의 인접 블록의 현재 양자화 파라미터(QP),
    (6) 상기 현재 비디오 블록의 컬러 형식의 표시,
    (7) 상기 현재 비디오 블록과 연관된 분리 또는 듀얼 코딩 트리 구조,
    (8) 상기 현재 비디오 블록의 슬라이스 유형, 타일 그룹 유형 또는 픽처 유형, 또는
    (9) 임시 계층 ID
  27. 비주얼 미디어 인코딩 방법에 있어서,
    비주얼 미디어 데이터의 비디오 영역에서 현재 비디오 블록을 비주얼 미디어 데이터의 비트스트림 표현으로 인코딩하기 위하여, 팔레트 모드가 적용된다는 것을 적어도 결정하거나 또는 유추하여 현재 비디오 블록에 대하여 코딩 트리 구조의 적용에 관한 결정을 내리는 단계로서, 상기 팔레트 모드에서, 상기 현재 비디오 블록에 포함된 샘플들은 팔레트에 포함된 대표적인 컬러값들 집합을 이용하여 표현되는 단계; 및
    상기 비트스트림 표현에서, 상기 현재 비디오 블록에 대하여 코딩 트리 구조의 적용을 표시하는 구문 요소를 선택적으로 포함하는 단계를 포함하는 비주얼 미디어 인코딩 방법.
  28. 비주얼 미디어 디코딩 방법에 있어서,
    현재 비디오 블록을 포함하는 비디오 영역을 포함하는 비주얼 미디어 데이터의 비트스트림 표현으로부터 구문 요소를 파싱하는 단계로서, 상기 구문 요소는 팔레트 모드가 적용된다는 것을 적어도 결정되거나 또는 유추하여 상기 현재 비디오 블록에 대하여 코딩 트리 구조의 적용을 표시하고, 상기 팔레트 모드에서, 상기 현재 비디오 블록에 포함된 샘플들은 팔레트에 포함된 대표적인 컬러값들 집합을 이용하여 표현되는 단계; 및
    상기 구문 요소에 따라 상기 현재 비디오 블록을 디코딩함으로써 상기 비트스트림 표현으로부터 디코딩된 비디오 영역을 생성하는 단계를 포함하는 비주얼 미디어 디코딩 방법.
  29. 제27항 또는 제28항 중 하나 이상의 항에 기재된 방법항에 있어서,
    상기 팔레트 모드가 제1 비디오 영역에 적용되고, 상기 현재 비디오 블록은 크로마 컬러 컴포넌트 및 루마 컬러 컴포넌트를 포함하고,
    상기 현재 비디오 블록의 상기 크로마 컬러 컴포넌트의 코딩 트리 구조를 상기 현재 비디오 블록의 상기 루마 컬러 컴포넌트의 코딩 트리 구조에 정렬하는 단계를 더 포함하는 방법.
  30. 제29항에 있어서, 상기 제1 비디오 영역은 시퀀스, 그림, 타일, 브릭, 코딩 트리 유닛(CTU), 가상 파이프라인 데이터 유닛(VPDU), 32x32 크기의 비디오 블록 또는 64x32 크기의 비디오 블록 중 하나에 대응하는 방법.
  31. 제29항에 있어서, 상기 정렬하는 단계는 병치된 루마 색상 블록이 서브 블록들로 분할되는 경우 크로마 컬러 블록을 서브 블록들로 선택적으로 분할하는 단계를 포함하는 방법.
  32. 제31항에 있어서, 상기 선택적으로 분할하는 단계는 상기 병치된 루마 컬러 블록의 코딩 트리 구조에 적어도 부분적으로 의존하는 방법.
  33. 제29항에 있어서, 상기 정렬하는 단계는 상기 현재 비디오 블록의 상기 루마 컬러 컴포넌트의 상기 코딩 트리 구조로부터 상기 현재 비디오 블록의 상기 크로마 컬러 컴포넌트의 상기 코딩 트리 구조를 유추하는 단계를 포함하는 방법.
  34. 제33항에 있어서, 상기 현재 비디오 블록의 상기 크로마 컬러 컴포넌트의 상기 코딩 트리 구조의 표시가 상기 비트스트림 표현에서 제외되는 방법.
  35. 제33항에 있어서, 플래그는 상기 유추를 표시하기 위해 상기 비트스트림 표현에 선택적으로 포함되는 방법.
  36. 제35항에 있어서, 상기 플래그가 다음 중 하나 이상에 기초하여 선택적으로 포함되는 방법.
    (1) 시퀀스 파라미터 세트(SPS), 비디오 파라미터 세트(VPS), 픽처 파라미터 세트(PPS), 픽처 헤더, 슬라이스 헤더, 타일 그룹 헤더, 최대 코딩 유닛(LCU), LCU 행, LCU 그룹 또는 코딩 유닛(CU)에서 시그널링 되는 메시지,
    (2) 다른 비디오 블록과 연관된 코딩된 픽처/타일/슬라이스/재구성 영역에서 IBC 모드 및/또는 인터 모드의 해시 적중 비율,
    (3) 현재 비디오 블록 또는 현재 비디오 블록의 적어도 하나의 인접 블록의 블록 치수,
    (4) 현재 비디오 블록 또는 적어도 하나의 인접 블록의 블록 형태,
    (5) 상기 현재 비디오 블록 또는 상기 적어도 하나의 인접 블록의 현재 양자화 파라미터(QP),
    (6) 상기 현재 비디오 블록의 컬러 형식의 표시,
    (7) 상기 현재 비디오 블록과 연관된 분리 또는 듀얼 코딩 트리 구조,
    (8) 상기 현재 비디오 블록의 슬라이스 유형, 타일 그룹 유형 또는 픽처 유형, 또는
    (9) 임시 계층 ID
  37. 제1항 내지 제36항 중 하나 이상의 항에 기재된 방법을 구현하도록 구성된 프로세서를 포함하는 비디오 인코더 장치.
  38. 제1항 내지 제36항 중 하나 이상의 항에 기재된 방법을 구현하도록 구성된 프로세서를 포함하는 비디오 디코더 장치.
  39. 코드가 저장된 컴퓨터 판독 가능 매체로서, 상기 코드는 제1항 내지 제36항 중 하나 이상의 항에 기재된 방법을 구현하기 위한 프로세서 실행 가능 명령어를 구현하는 컴퓨터 판독 가능 매체.
KR1020217034555A 2019-05-02 2020-05-01 코딩 트리 구조 유형을 기반으로 한 코딩 모드 KR20220002917A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
CN2019085405 2019-05-02
CNPCT/CN2019/085405 2019-05-02
CN2019085860 2019-05-07
CNPCT/CN2019/085860 2019-05-07
PCT/US2020/030984 WO2020223615A1 (en) 2019-05-02 2020-05-01 Coding mode based on a coding tree structure type

Publications (1)

Publication Number Publication Date
KR20220002917A true KR20220002917A (ko) 2022-01-07

Family

ID=73029379

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217034555A KR20220002917A (ko) 2019-05-02 2020-05-01 코딩 트리 구조 유형을 기반으로 한 코딩 모드

Country Status (6)

Country Link
US (1) US11438602B2 (ko)
EP (1) EP3948663A4 (ko)
JP (1) JP7288083B2 (ko)
KR (1) KR20220002917A (ko)
CN (2) CN117615130A (ko)
WO (1) WO2020223615A1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA3137163A1 (en) 2019-04-24 2020-10-29 Bytedance Inc. Constraints on quantized residual differential pulse code modulation representation of coded video
JP7311627B2 (ja) 2019-05-01 2023-07-19 バイトダンス インコーポレイテッド 量子化残差差分パルス符号変調符号化を使用したイントラ符号化映像
EP4346209A1 (en) * 2019-07-21 2024-04-03 LG Electronics Inc. Image encoding/decoding method and device for signaling chroma component prediction information according to whether palette mode is applicable, and method for transmitting bitstream
WO2021023261A1 (en) 2019-08-06 2021-02-11 Beijing Bytedance Network Technology Co., Ltd. Size restriction based on color format
BR112022003732A2 (pt) 2019-09-02 2022-10-11 Beijing Bytedance Network Tech Co Ltd Método e aparelho para processamento de dados de vídeo, e, meios de armazenamento e de gravação legíveis por computador não transitórios
CN114424565A (zh) 2019-09-21 2022-04-29 北京字节跳动网络技术有限公司 基于色度帧内模式的尺寸限制
US20220400275A1 (en) * 2021-06-10 2022-12-15 Tencent America LLC Zero Residual Flag Coding

Family Cites Families (72)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11275592A (ja) 1998-01-22 1999-10-08 Victor Co Of Japan Ltd 動画像符号列変換装置及びその方法
KR100813963B1 (ko) 2005-09-16 2008-03-14 세종대학교산학협력단 동영상의 무손실 부호화, 복호화 방법 및 장치
WO2007139266A1 (en) 2006-06-01 2007-12-06 Electronics And Telecommunications Research Institute Method and apparatus for video coding on pixel-wise prediction
TW201028018A (en) 2009-01-07 2010-07-16 Ind Tech Res Inst Encoder, decoder, encoding method and decoding method
KR101379185B1 (ko) 2009-04-14 2014-03-31 에스케이 텔레콤주식회사 예측 모드 선택 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
UA109312C2 (uk) 2011-03-04 2015-08-10 Імпульсно-кодова модуляція з квантуванням при кодуванні відеоінформації
WO2013067436A1 (en) 2011-11-04 2013-05-10 Huawei Technologies Co., Ltd. Binarization of prediction residuals for lossless video coding
US10390046B2 (en) 2011-11-07 2019-08-20 Qualcomm Incorporated Coding significant coefficient information in transform skip mode
US9749661B2 (en) 2012-01-18 2017-08-29 Qualcomm Incorporated Sub-streams for wavefront parallel processing in video coding
US9838684B2 (en) 2012-04-11 2017-12-05 Qualcomm Incorporated Wavefront parallel processing for video coding
US9621921B2 (en) 2012-04-16 2017-04-11 Qualcomm Incorporated Coefficient groups and coefficient coding for coefficient scans
US9426466B2 (en) 2012-06-22 2016-08-23 Qualcomm Incorporated Transform skip mode
US9264713B2 (en) 2012-07-11 2016-02-16 Qualcomm Incorporated Rotation of prediction residual blocks in video coding with transform skipping
US9549182B2 (en) 2012-07-11 2017-01-17 Qualcomm Incorporated Repositioning of prediction residual blocks in video coding
US9407915B2 (en) 2012-10-08 2016-08-02 Google Inc. Lossless video coding with sub-frame level optimal quantization values
US20140286413A1 (en) 2013-03-25 2014-09-25 Qualcomm Incorporated Disabling sign data hiding in video coding
EP2984837B1 (en) 2013-04-08 2018-01-17 GE Video Compression, LLC Inter-component prediction
US9667990B2 (en) 2013-05-31 2017-05-30 Qualcomm Incorporated Parallel derived disparity vector for 3D video coding with neighbor-based disparity vector derivation
US11323747B2 (en) 2013-06-05 2022-05-03 Qualcomm Incorporated Residual differential pulse code modulation (DPCM) extensions and harmonization with transform skip, rotation, and scans
US9558567B2 (en) 2013-07-12 2017-01-31 Qualcomm Incorporated Palette prediction in palette-based video coding
US9648335B2 (en) 2013-07-12 2017-05-09 Qualcomm Incorporated Bitstream restrictions on picture partitions across layers
KR20150055858A (ko) 2013-11-14 2015-05-22 삼성전자주식회사 차분 레지듀얼 신호를 이용한 비디오의 부호화 방법 및 장치, 그 복호화 방법 및 장치
GB201321851D0 (en) 2013-12-10 2014-01-22 Canon Kk Run length parameters coding for palette mode
TWI536811B (zh) 2013-12-27 2016-06-01 財團法人工業技術研究院 影像處理方法與系統、解碼方法、編碼器與解碼器
US20150189321A1 (en) 2014-01-02 2015-07-02 Mediatek Inc. Method of Binarization and Context Adaptive Binary Arithmetic Coding of Depth Coding Syntax
US9860540B2 (en) 2014-01-03 2018-01-02 Qualcomm Incorporated Inference of nooutputofpriorpicsflag in video coding
KR20220133337A (ko) 2014-03-16 2022-10-04 브이아이디 스케일, 인크. 무손실 비디오 코딩의 시그널링을 위한 방법 및 장치
US9877035B2 (en) 2014-03-17 2018-01-23 Qualcomm Incorporated Quantization processes for residue differential pulse code modulation
WO2015165030A1 (en) 2014-04-29 2015-11-05 Microsoft Technology Licensing, Llc Encoder-side decisions for sample adaptive offset filtering
CA2959682C (en) 2014-09-30 2022-12-06 Microsoft Technology Licensing, Llc Rules for intra-picture prediction modes when wavefront parallel processing is enabled
GB2531004A (en) 2014-10-06 2016-04-13 Canon Kk Residual colour transform signalled at sequence level for specific coding modes
WO2016074147A1 (en) 2014-11-11 2016-05-19 Mediatek Singapore Pte. Ltd. Separated coding tree for luma and chroma
EP3032830A1 (en) 2014-12-08 2016-06-15 Thomson Licensing Differential coding of intra modes
CN107211121B (zh) 2015-01-22 2020-10-23 联发科技(新加坡)私人有限公司 视频编码方法与视频解码方法
WO2016123792A1 (en) 2015-02-06 2016-08-11 Microsoft Technology Licensing, Llc Skipping evaluation stages during media encoding
US10057574B2 (en) 2015-02-11 2018-08-21 Qualcomm Incorporated Coding tree unit (CTU) level adaptive loop filter (ALF)
EP3308540B1 (en) * 2015-06-09 2020-04-15 Microsoft Technology Licensing, LLC Robust encoding/decoding of escape-coded pixels in palette mode
WO2017045101A1 (en) 2015-09-14 2017-03-23 Mediatek Singapore Pte. Ltd. Advanced deblocking filter in video coding
CN108141619B (zh) * 2015-10-19 2020-11-20 联发科技股份有限公司 管理已解码图像缓存器的方法及装置
WO2017083553A1 (en) 2015-11-10 2017-05-18 Vid Scale, Inc. Systems and methods for coding in super-block based video coding framework
WO2017088093A1 (en) 2015-11-23 2017-06-01 Mediatek Singapore Pte. Ltd. On the smallest allowed block size in video coding
WO2017139937A1 (en) 2016-02-18 2017-08-24 Mediatek Singapore Pte. Ltd. Advanced linear model prediction for chroma coding
US11223852B2 (en) 2016-03-21 2022-01-11 Qualcomm Incorporated Coding video data using a two-level multi-type-tree framework
WO2017184970A1 (en) 2016-04-22 2017-10-26 Vid Scale, Inc. Prediction systems and methods for video coding based on filtering nearest neighboring pixels
WO2017192898A1 (en) 2016-05-05 2017-11-09 Vid Scale, Inc. Control-point based intra direction representation for intra coding
WO2017206803A1 (en) * 2016-05-28 2017-12-07 Mediatek Inc. Method and apparatus of current picture referencing for video coding
US10390015B2 (en) 2016-08-26 2019-08-20 Qualcomm Incorporated Unification of parameters derivation procedures for local illumination compensation and cross-component linear model prediction
US20200045322A1 (en) * 2016-10-04 2020-02-06 Mediatek Inc. Method and apparatus for intra chroma coding in image and video coding
US10194147B2 (en) 2017-01-19 2019-01-29 Google Llc DC coefficient sign coding scheme
WO2019026807A1 (en) 2017-08-03 2019-02-07 Sharp Kabushiki Kaisha SYSTEMS AND METHODS FOR PARTITIONING VIDEO BLOCKS IN INTER VIDEO PREDICTION WAFER
WO2019234668A1 (en) 2018-06-07 2019-12-12 Beijing Bytedance Network Technology Co., Ltd. Sub-block dmvr
TWI739120B (zh) 2018-06-21 2021-09-11 大陸商北京字節跳動網絡技術有限公司 合併仿射模式與非合併仿射模式的統一拘束
WO2019244116A1 (en) 2018-06-21 2019-12-26 Beijing Bytedance Network Technology Co., Ltd. Border partition in video coding
WO2020004987A1 (ko) * 2018-06-27 2020-01-02 한국전자통신연구원 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
KR102660666B1 (ko) 2018-06-29 2024-04-26 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 Lut들을 업데이트하기 위한 조건들
WO2020003280A1 (en) 2018-06-29 2020-01-02 Beijing Bytedance Network Technology Co., Ltd. Which lut to be updated or no updating
EP4307679A2 (en) 2018-07-02 2024-01-17 Beijing Bytedance Network Technology Co., Ltd. Luts with intra prediction modes and intra mode prediction from non-adjacent blocks
KR102636813B1 (ko) 2018-11-22 2024-02-15 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 비디오 처리에서 펄스 코드 변조 기술
EP3703376A4 (en) 2019-01-15 2020-09-02 LG Electronics Inc. -1- METHOD AND DEVICE FOR IMAGE ENCODING USING A TRANSFORM SKIP FLAG
US11012701B2 (en) 2019-02-22 2021-05-18 Tencent America LLC Residual coding for transform skip mode and block differential pulse-code modulation
EP3769533A4 (en) 2019-02-24 2022-04-20 Tencent America Llc IMPROVED RESIDUAL ENCODING FOR TRANSFORMATION SKIP MODE AND BLOCK DIFFERENTIAL PULSE CODE MODULATION
US11825120B2 (en) 2019-02-28 2023-11-21 Qualcomm Incorporated Subblock coding by generalized intra prediction in video coding
US11202100B2 (en) 2019-03-11 2021-12-14 Qualcomm Incorporated Coefficient coding for transform skip mode
US11070812B2 (en) 2019-03-12 2021-07-20 Qualcomm Incorporated Coefficient domain block differential pulse-code modulation in video coding
US11128876B2 (en) 2019-03-12 2021-09-21 Qualcomm Incorporated Joint coefficient coding of transform skip and BDPCM mode for 4:4:4 color formats
US11451826B2 (en) 2019-04-15 2022-09-20 Tencent America LLC Lossless coding mode and switchable residual coding
US20220210430A1 (en) 2019-04-16 2022-06-30 Lg Electronics Inc. Method and device for coding/decoding image using differential coding of residual coefficient, and method for transmitting bitstream
MX2021012516A (es) 2019-04-19 2021-11-12 Bytedance Inc Codificacion de contexto para modo de salto de transformada.
WO2020218861A1 (ko) 2019-04-23 2020-10-29 주식회사 윌러스표준기술연구소 다중 변환 커널을 사용하는 비디오 신호 처리 방법 및 장치
CA3137163A1 (en) 2019-04-24 2020-10-29 Bytedance Inc. Constraints on quantized residual differential pulse code modulation representation of coded video
JP7311627B2 (ja) 2019-05-01 2023-07-19 バイトダンス インコーポレイテッド 量子化残差差分パルス符号変調符号化を使用したイントラ符号化映像
EP3949387A4 (en) 2019-05-02 2022-05-18 ByteDance Inc. SIGNALING IN A TRANSFORM JUMP MODE

Also Published As

Publication number Publication date
EP3948663A4 (en) 2022-06-08
US11438602B2 (en) 2022-09-06
EP3948663A1 (en) 2022-02-09
CN113785306A (zh) 2021-12-10
JP7288083B2 (ja) 2023-06-06
WO2020223615A1 (en) 2020-11-05
CN117615130A (zh) 2024-02-27
US20220038717A1 (en) 2022-02-03
JP2022531587A (ja) 2022-07-07

Similar Documents

Publication Publication Date Title
JP7448559B2 (ja) 変換スキップモードのためのコンテキスト符号化
JP7288084B2 (ja) 変換スキップモードにおける信号通知
US11438602B2 (en) Coding mode based on a coding tree structure type
US20220182655A1 (en) Palette mode with different partition structures
CN117255200A (zh) 编解码视频的量化残差差分脉冲编解码调制表示
KR20220039721A (ko) 색상 포맷에 기초한 크기 제한
US11490089B2 (en) Transform bypass coded residual blocks in digital video
WO2020224660A1 (en) Most probable mode list construction for screen content coding
US20220210419A1 (en) Quantization parameter derivation for palette mode
WO2020243246A1 (en) Using coding tree structure type to control coding mode
KR20230003061A (ko) 모션 정밀 신택스을 위한 엔트로피 코딩
KR20220165277A (ko) 비디오 코딩에서 변환 스킵 블록들에 대한 최소 허용 양자화
WO2021108788A1 (en) Palette coding mode

Legal Events

Date Code Title Description
AMND Amendment
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)