KR20230170819A - 비디오 처리에서 펄스 코드 변조 기술 - Google Patents

비디오 처리에서 펄스 코드 변조 기술 Download PDF

Info

Publication number
KR20230170819A
KR20230170819A KR1020237042210A KR20237042210A KR20230170819A KR 20230170819 A KR20230170819 A KR 20230170819A KR 1020237042210 A KR1020237042210 A KR 1020237042210A KR 20237042210 A KR20237042210 A KR 20237042210A KR 20230170819 A KR20230170819 A KR 20230170819A
Authority
KR
South Korea
Prior art keywords
video
pcm
indication
mode
luma
Prior art date
Application number
KR1020237042210A
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 KR20230170819A publication Critical patent/KR20230170819A/ko

Links

Classifications

    • 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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/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/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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/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/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • 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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • 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
    • 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

펄스 코드 변조 기술을 포함하는 디지털 비디오 코딩을 위한 장치, 시스템 및 방법이 기술된다. 비디오 처리를 위한 예시적인 방법은 비디오의 현재 블록에 대해, 펄스 코드 변조(PCM)가 사용되는 제1 코딩 모드 또는 다중 레퍼런스 라인 기반 인트라 예측이 사용되는 제2 코딩 모드 중 적어도 하나가 활성화되는 것을 결정하는 단계; 및 제1 코딩 모드 또는 제2 코딩 모드에 기초하여, 현재 블록과 비디오의 비트 스트림 표현 사이의 변환을 수행하는 단계 - 제1 코딩 모드의 사용을 나타내는 제1 표시 및/또는 제2 코딩 모드의 사용을 나타내는 제2 표시는 순서 규칙에 따라 비트 스트림 표현에 포함됨 - 를 포함한다.

Description

비디오 처리에서 펄스 코드 변조 기술 {Pulse code modulation technique in video processing}
이 특허 문서는 이미지 및 비디오 코딩 및 디코딩에 관한 것이다.
파리 협약에 따른 적용 가능한 특허법 및/또는 규칙에 따라, 본 출원은 2018년 11월 22일에 출원된 국제 특허 출원 번호 PCT/CN2018/116885에 우선권과 혜택을 적시에 주장하기 위해 만들어졌다. 미국 법률에 따른 모든 목적을 위해, 앞서 언급한 출원의 전체 공개는 본 출원 공개의 일부로 참조로 통합된다.
디지털 비디오는 인터넷 및 기타 디지털 통신 네트워크에서 가장 큰 대역폭 사용을 차지한다. 영상을 수신하고 표시할 수 있는 연결된 사용자 장치의 수가 증가함에 따라, 디지털 비디오 사용에 대한 대역폭 수요는 계속해서 증가할 것으로 예상된다.
개시된 기술은 다수의 레퍼런스 라인(reference line)이 사용되는 비디오 및 이미지의 인트라 예측 코딩을 사용하는 비디오 디코딩 또는 인코딩 동안 비디오 디코더 또는 인코더 실시 예에 의해 사용될 수 있다.
일 예시적인 실시 예에서, 비디오 처리 방법이 개시된다. 방법은 비디오의 현재 블록(current block of video)에 대해, 펄스 코드 변조(pulse code modulation)(PCM)가 사용되는 제1 코딩 모드(first coding mode) 또는 다중 레퍼런스 라인 기반 인트라 예측(multiple reference line based intra prediction)(MRLIP)이 사용되는 제2 코딩 모드(second coding mode) 중 적어도 하나가 활성화되는 것을 결정하는 단계; 및 제1 코딩 모드 또는 제2 코딩 모드에 기초하여, 현재 블록과 비디오의 비트 스트림 표현(bitstream representation) 사이의 변환(conversion)을 수행하는 단계 - 제1 코딩 모드의 사용을 나타내는 제1 표시(first indication) 및/또는 제2 코딩 모드의 사용을 나타내는 제2 표시(second indication)는 순서 규칙(ordering rule)에 따라 비트 스트림 표현에 포함됨 - 를 포함한다.
다른 예시적인 실시 예에서, 비디오 처리 방법이 개시된다. 방법은 비디오의 현재 블록과 비디오의 비트 스트림 표현 사이의 변환을 위해, 비디오의 색상 컴포넌트 표현(color component representation)에 기초하여, 현재 블록의 펄스 코드 변조에 기초하여 코딩 모드와 연관된 적어도 하나의 플래그(flag)를 결정하는 단계; 및 결정하는 단계에 기초하여, 변환을 수행하는 단계를 포함한다.
또 다른 예시적인 실시 예에서, 비디오 처리 방법이 개시된다. 이 방법은 비디오의 비디오 영역의 현재 블록과 비디오의 비트 스트림 표현 사이의 변환을 수행하는 단계를 포함하고, 비트 스트림 표현은 현재 블록에 대한 펄스 코드 변조(PCM)의 적용 가능성에 관한 규칙에 따라 포맷 되고, 및 규칙은 PCM을 비활성화하는 것의 표시가 비디오 영역 레벨(video region level)에 포함된다는 결정시 현재 블록 레벨에서 PCM의 표시를 생략하도록 지정한다.
또 다른 예시적인 실시 예에서, 비디오 처리 방법이 개시된다. 방법은 비디오의 현재 블록의 크기에 기초하여, 현재 블록에 대한 펄스 코드 변조(PCM) 코딩 모드를 활성화하는 것에 관한 결정을 내리는 단계; 및 상기 결정에 기초하여, 현재 블록과 비디오의 비트 스트림 표현 사이의 변환을 수행하는 단계를 포함한다.
또 다른 예시적인 실시 예에서, 비디오 처리 방법이 개시된다. 방법은 비디오의 현재 블록과 비디오의 비트 스트림 표현 사이의 변환을 위해, 현재 블록의 높이 또는 너비에 대한 최소 허용 값(minimum allowed value)을 결정하는 단계 - 높이에 대한 최소 허용 값은 너비에 대한 최소 허용 값으로부터 분리되어 시그널링 되거나 유도됨 -; 및 결정하는 단계에 기초하여, 변환을 수행하는 단계를 포함한다.
또 다른 예시적인 실시 예에서, 비디오 처리 방법이 개시된다. 방법은 펄스 코드 변조(PCM) 코딩 모드로 코딩 되는 비디오의 현재 블록의 표시가 비디오의 비트 스트림 표현으로 시그널링 된다는 결정시, 비디오의 색상 컴포넌트 표현을 구성하는 단계; 및 구성하는 단계에 기초하여, 현재 블록과 비트 스트림 표현 사이의 변환을 수행하는 단계를 포함한다.
또 다른 예시적인 실시 예에서, 비디오 처리 방법이 개시된다. 방법은 비디오의 현재 블록과 비디오의 비트 스트림 표현 사이의 변환을 위해, 광각 모드가 변환을 위해 인접하지 않은(non-adjacent) 레퍼런스 라인 모드(reference line mode)의 사용으로 인해 변환을 위해 비활성화되는 것을 결정하는 단계; 및 결정하는 단계에 기초하여, 변환을 수행하는 단계 - 인접하지 않은 레퍼런스 라인 모드는 현재 블록의 변환을 위해 비디오의 레퍼런스 라인으로부터의 인접하지 않은 픽셀을 사용하고, 및 광각 모드는 45도 내지 -135 도의 종래의 각도 인트라 예측 방향을 넘어서는 인트라 예측 방향을 포함함 - 를 포함한다.
또 다른 예시적인 실시 예에서, 비디오 처리 방법이 개시된다. 방법은 비디오의 현재 블록과 비디오의 비트 스트림 표현 사이의 변환을 위해 비디오의 색상 서브 샘플링 포멧에 기초하여, 현재 블록에 대해 다중 레퍼런스 라인(Multiple Reference Line)(MRL) 코딩 모드가 활성화되어 있는지 또는 하나 이상의 레퍼런스 라인 인덱스(reference line index)의 시그널링 포맷이 MRL 코딩 모드에 사용되었는지 여부에 관한 결정을 내리는 단계; 및 상기 결정에 기초하여, 변환을 수행하는 단계를 포함한다.
또 다른 예시적인 실시 예에서, 비디오 처리 방법이 개시된다. 방법은 인터-인트라 모드(inter-intra mode) 및 다중 레퍼런스 라인 인트라 예측(Multiple Reference Line Intra Prediction)(MRLIP) 모드가 비디오의 현재 블록에 대해 활성화되는 것으로 결정시, 인터-인트라 모드의 인트라 예측 처리을 위해 현재 블록에 인접하지 않은 라인 또는 컬럼을 선택하는 단계; 및 라인 또는 열에 기초하여, 현재 블록과 비디오의 비트 스트림 표현 사이의 변환을 수행하는 단계를 포함한다.
또 다른 예시적인 실시 예에서, 비디오 처리 방법이 개시된다. 방법은 현재 블록에 인접하지 않은 라인을 사용하는 다중 레퍼런스 라인 인트라 예측(MRLIP) 모드를 사용하여 코딩 된 비디오의 현재 블록에 대해, 현재 블록과 비디오의 비트 스트림 표현 사이의 변환을 수행하는 단계를 포함하고, MRLIP는 최고 확률 모드(most probable mode)(MPM) 목록을 더 사용하고, 및 변환을 수행하는 단계는 최고 확률 모드(MPM) 목록의 제1 모드를 MPM 목록의 제2 모드로 대체하는 단계를 포함한다.
또 다른 예시적인 실시 예에서, 비디오 처리 방법이 개시된다. 방법은 현재 블록에 인접하지 않은 라인을 사용하는 다중 레퍼런스 라인 인트라 예측(MRLIP) 모드를 사용하여 코딩 된 비디오의 현재 블록에 대해, 현재 블록과 비디오의 비트 스트림 표현 사이의 변환을 수행하는 단계를 포함하고, 비트 스트림 표현은 최고 확률 모드(MPM) 목록의 모드의 코딩 된 인덱스 대신에 고정된 후보리스트의 모드의 코딩 된 인덱스를 포함한다.
또 다른 예시적인 실시 예에서, 비디오 처리 방법이 개시된다. 방법은 다중 레퍼런스 라인(MRL) 코딩 모드를 사용하여 비디오의 현재 블록과 비디오의 비트 스트림 표현 사이의 변환을 위해, 비트 스트림 표현이 현재 블록의 예측에 사용된 위쪽 행에 대응하는 제1 인덱스 및 예측에 사용된 왼쪽 열에 대응하는 제2 인덱스를 포함한다는 것을 결정하는 단계; 및 결정하는 단계에 기초하여 변환을 수행하는 단계를 포함한다.
또 다른 예시적인 측면에서, 전술한 방법을 구현하도록 구성된 프로세서를 포함하는 비디오 인코더 장치가 개시된다.
또 다른 예시적인 측면에서, 전술한 방법을 구현하도록 구성된 프로세서를 포함하는 비디오 디코더 장치가 개시된다.
또 다른 예시적인 측면에서, 컴퓨터 판독 가능 매체가 개시된다. 컴퓨터 판독 가능 매체에는 코드가 저장되어 있다. 이 코드는 프로세서에 의해 실행될 때, 프로세서가 위에서 설명한 방법을 구현하게 한다.
이러한 측면 및 기타 측면은 본 문서에 설명되어 있다.
도 1은 인트라 모드 예측에 사용되는 주변 블록의 예를 나타낸다.
도 2는 67 개의 인트라 예측 모드의 예를 도시한다.
도 3은 최고 확률 모드(MPM) 목록 구성 처리에서 사용되는 주변 블록의 예를 도시한다.
도 4a 및 4b는 광각 인트라 예측을 위한 레퍼런스 샘플의 예를 나타낸다.
도 5는 45도를 초과하는 방향의 경우 예시적인 불연속성을 도시한다.
도 6a 내지 6d는 위치 의존적 인트라 예측에 사용되는 샘플의 예를 도시한다.
도 7은 인트라 예측에 사용되는 레퍼런스 라인의 예를 나타낸다.
도 8은 α 및 bb의 유도에 사용된 샘플의 예시적인 위치를 나타낸다.
도 9는 하나의 크로마 블록 및 그에 대응하는 루마 블록의 예를 나타낸다.
도 10은 디폴트 모드를 갖는 인트라 예측 모드의 예를 나타낸다.
도 11 내지 22는 예시적인 비디오 처리 방법의 흐름도이다.
도 23은 본 문서에 기술된 비주얼 미디어 디코딩 또는 비주얼 미디어 인코딩 기술을 구현하기 위한 하드웨어 플랫폼의 예의 블록도이다.
도 24는 개시된 기술이 구현될 수 있는 예시적인 비디오 처리 시스템의 블록도이다.
본 문서는 압축 해제되거나 디코딩 된 디지털 비디오 또는 이미지의 품질을 개선하기 위해 비디오 비트 스트림의 디코더에 의해 사용될 수 있는 다양한 기술을 제공한다. 더욱이, 비디오 인코더는 또한 추가 인코딩에 사용되는 디코딩 된 프레임을 재구성하기 위해 인코딩 처리 동안 이러한 기술을 구현할 수 있다.
이해의 편의를 위해 본 문서에서 섹션 제목이 사용되며, 실시 예 및 기술을 해당 섹션으로 제한하지 않는다. 따라서, 한 섹션의 실시 예는 다른 섹션의 실시 예와 결합될 수 있다.
1. 소개
이 문서는 비디오 코딩 기술(video coding technologies)과 관련이 있다. 특히, 인트라 예측(intra prediction), 특히 이미지/비디오 코딩의 다중 레퍼런스 라인 인트라 예측(multiple reference line intra prediction) 및 펄스 코드 변조(pulse code modulation)(PCM)에 관련된다. HEVC와 같은 기존 비디오 코딩 표준 또는 최종화될 표준(Versatile Video Coding)에 적용될 수 있다. 향후 비디오 코딩 표준 또는 비디오 코덱에도 적용할 수 있다.
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 어드밴스드 비디오 코딩(Advanced Video Coding)(AVC) 및 H.265/HEVC 표준을 공동 제작했다. H.262 이후, 비디오 코딩 표준은 시간 예측과 변형 코딩(transform coding)이 사용되는 하이브리드 비디오 코딩 구조를 기반으로 한다. HEVC를 넘어선 미래의 비디오 코딩 기술을 탐구하기 위해, 2015년에 VCEG와 MPEG가 공동으로 연합 비디오 탐색 팀(Joint Video Exploration Team)(JVET)을 설립했다. 그 이후로 많은 새로운 방법이 JVET에서 채택되어 연합 비디오 탐색 팀(JEM) 이라는 레퍼런스 소프트웨어에 포함되었다. 2018년 4월에, VCEG(Q6/16)와 ISO/IEC JTC1 SC29/WG11(MPEG) 사이의 연합 비디오 탐색 팀(JVET)은 HEVC에 비해 50 % 비트 레이트 감소를 목표로 하는 VVC 표준 작업을 위해 만들어졌다. VVC 드래프트의 최신 버전, 즉 범용 비디오 코딩(Versatile Video Coding)(드래프트(Draft) 2)은 다음에서 찾을 수 있다. http://phenix.it-sudparis.eu/jvet/doc_end_user/documents/11_Ljubljana/wg11/JVET-K1001-v7.zip VTM이라는 VVC의 최신 레퍼런스 소프트웨어는 다음에서 찾을 수 있다. https://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_VTM/tags/VTM-3.0rc1
2.1 HEVC/H.265의 인트라 예측
그림에서 두 가지 유형의 중복성을 확인할 수 있다: 1) 공간적 또는 시간적 중복(Spatial or temporal redundancy), 2) 사이코 비주얼 중복(sycho-visual redundancy). 공간적 중복을 제거하려면, 예측 처리가 사용된다. 인트라 예측(Intra-prediction)은 액자의 픽셀을 예측하는 처리다. 영상 내 예측은 영상 블록을 예측하기 위해 주변 픽셀을 사용한다. 인트라 예측 전에 프레임을 분할해야 한다. HEVC에서, 하나의 픽처/슬라이스/타일은 다중 코딩 트리 유닛(CTU)로 분할될 수 있다. 텍스처 복잡성(texture complexity)과 같은 파라미터에 따라, CTU의 크기는 64 Х 64, 32 Х 32 또는 16 Х 16이다. 따라서 코딩 트리 유닛(CTU)은 코딩 논리 유닛이며, 이는 차례로 HEVC 비트 스트림으로 인코딩 된다. 세 개의 블록, 즉 루마(Y), 두 개의 크로마 컴포넌트(chroma componen)(Cb 및 Cr)로 구성된다. 4 : 2 : 0 색상 포멧을 예로 들어, 루마 컴포넌트(luma componen)에는 LxL 샘플이 있고 각 크로마 컴포넌트에는 L/2xL/2 샘플이 있다. 각 블록을 코딩 트리 블록(CTB)이라고 한다. 각 CTB는 CTU(64 Х 64, 32 Х 32 또는 16 Х 16)와 동일한 크기(LxL)를 갖는다. 각 CTB는 쿼드 트리 구조(quad-tree structure)에서 CTB와 동일한 크기에서 8 x 8까지의 작은 크기까지 반복적으로 나눌 수 있다. 이 분할로 인해 발생하는 각 블록을 CB(코딩 블록)라고 하며 예측 유형(인터 또는 인트라 예측)의 의사 결정 지점이 된다. 다른 파라미터와 함께 예측 유형은 코딩 유닛(CU)로 코딩 된다. 따라서 CU는 HEVC의 기본 예측 유닛이며 각 예측은 이전에 코딩 된 데이터에서 예측된다. 그리고 CU는 세 개의 CB(Y, Cb 및 Cr)로 구성된다. CB는 여전히 너무 커서 모션 벡터(화면 간(시간) 예측) 또는 화면 내(공간) 예측 모드를 저장할 수 없다. 따라서 예측 블록(PB)이 도입되었다. 각 CB는 시간적 및/또는 공간적 예측 가능성에 따라 PB로 분할될 수 있다. CTU의 크기는 32 Х 32.16 Х 16, 8 Х 8 또는 4 Х 4이다.
인트라 예측 모드에는 PCM(펄스 코드 변조)과 일반 인트라 예측 모드의 두 종류가 있다.
2.1.1 펄스 코드 변조(PCM)
I_PCM 모드에서는 예측, 변형(transform), 양자화 및 엔트로피 코딩이 우회된다. 변형의 예측이나 적용없이 블록의 샘플의 코딩은 샘플 값을 직접 표현한다.
HEVC에서, I_PCM 모드는 2Nx2N PU에서만 사용할 수 있다. 최대 및 최소 I_PCM CU 크기는 SPS로 시그널링 되고, 합법적인 I_PCM CU 크기는 8x8, 16x16 및 32x32, 사용자가 선택한 PCM 샘플 비트 심도, 루마 및 크로마에 대해 분리되어 시그널링 된다.
루마 샘플을 예로 들어 보면: recSamplesL [i, j] = pcm_sample_luma [(nS * j) + i] <<(BitDepthY-PCMBitDepthY). PCMBitDepthY = BitDepthY 일 때 무손실 코딩이 된다.
신택스 디자인
7.3.2.2.1 일반 시퀀스 파라미터 세트 RBSP 신택스
시멘틱(Semantic)
pcm_enabled_flag가 d과 동일함은 PCM 관련 신택스(pcm_sample_bit_depth_luma_minus1, pcm_sample_bit_depth_chroma_minus1, log2_min_pcm_luma_coding_block_size_minus3, log2_diff_max_min_pcm_luma_coding_block_size, pcm_loop_filter_disabled_flag, pcm_flag, pcm_alignment_zero_bit 신택스 요소 및 pcm_sample() 신택스 구조)는 CVS에 없음을 지정한다.
노트 4 - MinCbLog2SizeY가 6이고 pcm_enabled_flag가 1 인 경우, PCM 샘플 데이터 관련 신택스(pcm_flag, pcm_alignment_zero_bit 신택스 요소 및 pcm_sample() 신택스 구조)은 CVS에 존재하지 않으며, PCM 샘플 데이터 관련 신택스를 전달할 수 있는 코딩 블록의 최대 크기는 Min(CtbLog2SizeY, 5) 이하로 제한되기 때문이다. 따라서, pcm_enabled_flag가 1 이고 MinCbLog2SizeY가 0이면 CVS에서 PCM 샘플 데이터를 전달하는 데 적절한 설정이 아니다.
pcm_sample_bit_depth_luma_minus1은 다음과 같이 루마 컴포넌트의 각 PCM 샘플 값을 나타내는 데 사용되는 비트 수를 지정한다:
PcmBitDepthY = pcm_sample_bit_depth_luma_minus1 + 1(7xx)
PcmBitDepthY의 값은 BitDepthY의 값보다 작거나 같아야 한다.
pcm_sample_bit_depth_chroma_minus1은 크로마 컴포넌트의 각 PCM 샘플 값을 나타내는 데 사용되는 비트 수를 다음과 같이 지정한다:
PcmBitDepthC = pcm_sample_bit_depth_chroma_minus1 + 1(7 yy)
PcmBitDepthC의 값은 BitDepthC의 값보다 작거나 같아야 한다. ChromaArrayType이 0 일 때 pcm_sample_bit_depth_chroma_minus1은 디코딩 과정에서 사용되지 않으며 디코더는 그 값을 무시한다.
log2_min_pcm_luma_coding_block_size_minus3 + 3은 pcm_flag가 1 인 코딩 블록의 최소 크기를 지정한다.
Log2MinIpcmCbSizeY 변수는 log2_min_pcm_luma_coding_block_size_minus3 + 3과 동일하게 설정된다. Log2MinIpcmCbSizeY의 값은 Min(MinCbLog2SizeY, 5)에서 Min(CtbLog2SizeY, 5)까지의 범위에 있어야 한다.
log2_diff_max_min_pcm_luma_coding_block_size는 pcm_flag가 1 인 코딩 블록의 최대 크기와 최소 크기 사이의 차이를 지정한다.
Log2MaxIpcmCbSizeY 변수는 log2_diff_max_min_pcm_luma_coding_block_size + Log2MinIpcmCbSizeY와 동일하게 설정된다. Log2MaxIpcmCbSizeY의 값은 Min(CtbLog2SizeY, 5)보다 작거나 같아야 한다.
pcm_loop_filter_disabled_flag는 pcm_flag가 1 인 코딩 유닛의 재구성된 샘플에서 루프 필터 처리가 비활성화되는지 여부를 다음과 같이 지정한다:
- pcm_loop_filter_disabled_flag가 1 인 경우, pcm_flag가 1 인 코딩 유닛의 재구성된 샘플에 대한 디 블로킹 필터 및 샘플 적응형 오프셋 필터 처리가 비활성화된다.
- 그렇지 않으면(pcm_loop_filter_disabled_flag 값이 0과 같음), pcm_flag가 1 인 코딩 유닛에서 재구성된 샘플에 대한 디 블로킹 필터 및 샘플 적응형 오프셋 필터 처리가 비활성화되지 않는다.
pcm_loop_filter_disabled_flag가 존재하지 않는 경우, 0과 동일한 것으로 추론된다.
7.3.8.5 코딩 유닛 신택스
7.3.8.7 PCM 샘플 샌택스
시멘틱
pcm_flag [x0] [y0]이 1이면 pcm_sample() 신택스 구조가 존재하고 transform_tree() 신택스 구조가(x0, y0) 위치의 루마 코딩 블록을 포함하는 코딩 유닛에 존재하지 않음을 지정한다. pcm_flag [x0] [y0]이 0이면 pcm_sample() 신택스 구조가 존재하지 않음을 지정한다. pcm_flag [x0] [y0]이 없으면, 0과 같은 것으로 추론된다.
i = 1..nCbS-1이고, j = 1..nCbS-1 인 pcm_flag [x0 + i] [y0 + j]의 값은 pcm_flag [x0] [y0]과 동일한 것으로 추론된다.
2.1.2 일반 인트라 예측
루마 컴포넌트의 경우, 모든 블록 크기에 대해 평면(Planar), DC 및 33 개의 각도 예측 모드를 포함하여 35 개의 모드가 있다. 이러한 루마 예측 모드를 더 잘 코딩하기 위해 최고 확률 모드(most probable mode)(MPM) 플래그는 먼저 세 개의 MPM 모드 중 하나가 선택되었는지 여부를 나타내는 코드이다. MPM 플래그가 거짓이면 32 개의 휴식 모드가 고정 길이 코딩으로 코딩 된다.
세 개의 최고 확률 모드 세트의 선택은 두 개의 이웃 PU의 모드(하나는 왼쪽, 하나는 현재 PU의 위)에 기초한다. 현재 PU의 왼쪽 및 위쪽의 인트라 모드를 각각 A 및 B라고 하고, 두 개의 이웃 블록은 도 1에 묘사되어 있다.
인접 PU가 인트라로 코딩되지 않았거나 펄스 코드 변조(PCM) 모드로 코딩 된 경우, PU는 DC 예측된 것으로 간주된다. 또한, 인트라 모드 재구성을 위한 추가 라인 버퍼의 도입을 피하기 위해, 상기 인접 PU가 CTU 외부에 있을 때 B는 DC 모드로 가정된다.
A가 B와 같지 않은 경우, MPM [0] 및 MPM [1]로 표시된 처음 두 개의 최고 확률 모드는 각각 A와 B로 설정되고, MPM [2]로 표시된 세 번째의 최고 확률 모드는 다음과 같이 결정된다:
- A 또는 B가 모두 평면 모드가 아니면 MPM [2]가 평면 모드로 설정된다.
- 그렇지 않으면, A 또는 B가 모두 DC 모드가 아니면, MPM [2]가 DC 모드로 설정된다.
- 그렇지 않으면(가장 가능성이 높은 두 가지 모드 중 하나는 평면형이고 다른 하나는 DC이다), MPM [2]는 각도 모드(angular mode)(26)(직접 수직)과 동일하게 설정된다.
A가 B와 같으면 세 개의 최고 확률 모드는 다음과 같이 결정된다. 각도 모드가 아닌 경우(A와 B가 2보다 작음), 세 개의 최고 확률 모드는 각각 평면 모드, DC 모드 및 각도 모드(26)와 동일하게 설정된다. 그렇지 않으면(A와 B가 2보다 크거나 같음), 제1 최고 확률 모드 MPM [0]은 A와 동일하게 설정되고 나머지 두 개의 최고 확률 모드 MPM [1] 및 MPM [2]는 A의 이웃 방향과 동일하게 설정되고 다음과 같이 계산된다:
MPM [1] = 2 +((A-2-1 + 32) % 32)
MPM [2] = 2 +((A-2 + 1) % 32)
여기서 %는 모듈 연산자를 나타낸다(즉, a % b는 a의 나머지를 b로 나눈 값).
크로마 컴포넌트에는 DM, 평면(planar), DC, 수평(Horizontal), 수직(Vertical)의 다섯 가지 모드가 있다.
2.2 VVC의 내부 예측
2.2.1 67 개의 인트라 예측 모드를 사용한 인트라 모드 코딩
자연스러운 비디오에 제시된 임의의 에지 방향을 캡처 하기 위해 방향성 인트라 모드의 수가 HEVC에서 사용되는 33 개에서 65 개로 확장되었다. 추가 방향 모드는 도 2에서 점선 화살표로 표시되고 평면 및 DC 모드는 동일하게 유지된다. 이러한 조밀한 방향성 인트라 예측 모드는 모든 블록 크기와 루마 및 크로마 인트라 예측 모두에 적용된다.
종래의 각도 인트라 예측 방향은 도 2에 도시된 바와 같이 시계 방향으로 45도에서 -135도까지 정의된다. VTM2에서는 기존의 여러 각도 인트라 예측 모드가 정사각형이 아닌 블록에 대한 광각 인트라 예측 모드로 적응적으로 대체된다. 대체된 모드는 원래 방법을 사용하여 시그널링 하고 파싱(parsing) 후 광각 모드의 인덱스로 다시 매핑 된다. 인트라 예측 모드의 총 수는 변경되지 않으며, 즉, 67, 인트라 모드 코딩은 변경되지 않는다.
HEVC에서 모든 인트라 코딩 된 블록은 정사각형 모양이며 각 변의 길이는 2의 제곱이다. 따라서, DC 모드를 사용하여 내부 예측자를 생성하기 위해 분할 작업이 필요하지 않다. VVV2에서, 블록은 일반적인 경우 블록 당 분할 연산을 사용해야 하는 직사각형 모양을 가질 수 있다. DC 예측을 위한 분할 연산을 방지하려면, 정사각형이 아닌 블록의 평균을 계산하는 데는 긴 변만 사용된다.
도 2는 67 개의 인트라 예측 모드의 예를 도시한다.
2.2.2 6 MPM을 사용하는 루마 컴포넌트에 대한 인트라 모드 코딩
VVC 레퍼런스 소프트웨어 VTM3.0.rc1에서, 도 3에 도시된 바와 같이 LEFT 및 ABOVE로 표시된 이웃 위치 A 및 B의 인트라 모드 만이 MPM 목록 생성에 사용된다. 비 MPM 코딩(non MPM coding)의 경우, 잘린 바이너리 코딩(truncated binary coded)이 적용된다.
현재 CU의 왼쪽 및 위쪽의 인트라 모드를 각각 ModeA 및 ModeB로 설정한다.
인접 CU가 인트라로 코딩 되지 않았거나 펄스 코드 변조(PCM) 모드로 코딩 된 경우 CU는 평면(Planar) 예측된 것으로 간주된다. 또한, ModeB는 인트라 모드 재구성을 위한 추가 라인 버퍼의 도입을 피하기 위해 위쪽 이웃 CU가 CTU 외부에 있을 때 평면 모드로 가정한다.
여섯 개의 MPM 모드는 MPM [i](i는 0?? 5)로 표시된다. 다음 단계는 순서대로 수행된다:
1. 초기화된 값 : MPM [6] = {ModeA ,! ModeA, 50, 18, 46, 54};
2. ModeA가 ModeB와 같으면 다음이 적용된다.
- ModeA가 1(non-DC/planar)보다 큰 경우 MPM [6] = {ModeA, planar, DC, 2 +((candIntraPredModeA + 62) % 65), 2 +((candIntraPredModeA-1) % 65, 2 +((candIntraPredModeA + 61) % 65))};
3. 그렇지 않으면(ModeA가 ModeB와 동일함), 다음이 적용된다:
- MPM [0] = ModeA, MPM [1] = ModeB
- 변수 bigIdx 설정은 다음과 같다:
bigerIdx = candModeList [0]> candModeList [1]? 0 : 1
- ModeA와 ModeB가 모두 1보다 큰 경우, x = 2..5 인 MPM [x]는 다음과 같이 유도된다:
MPM [2] = INTRA_PLANAR
MPM [3] = INTRA_DC
- MPM [biggerIdx]-MPM [! bigIdx]는 64도 1도 아니며, 다음이 적용된다:
MPM [4] = 2 +((MPM [biggerIdx] + 62) % 65)
MPM [5] = 2 +((MPM [biggerIdx]-1) % 65)
- 그렇지 않으면, 다음이 적용된다:
MPM [4] = 2 +((MPM [biggerIdx] + 61) % 65)
MPM [5] = 2 +(candModeList [biggerIdx] % 65)
- 그렇지 않으면, ModeA와 ModeB의 합이 2보다 크거나 같으면, 다음이 적용된다:
MPM [2] =! MPM [! 더 큰 IDx]
MPM [3] = 2 +((MPM [biggerIdx] + 62) % 65)
MPM [4] = 2 +((MPM [biggerIdx]-1) % 65)
MPM [5] = 2 +((MPM [biggerIdx] + 61) % 65)
여기서 %는 모듈 연산자를 나타낸다(즉, a % b는 a의 나머지를 b로 나눈 값).
2.2.3 정사각형이 아닌 블록에 대한 광각 인트라 예측
기존의 각도 인트라 예측 방향은 시계 방향으로 45도에서 -135도까지 정의된다. VTM2에서는 기존의 여러 각도 인트라 예측 모드가 정사각형이 아닌 블록에 대한 광각 인트라 예측 모드로 적응적으로 대체된다. 대체된 모드는 원래 방법을 사용하여 시그널링 하고 파싱 후 광각 모드의 인덱스로 다시 매핑 된다. 특정 블록에 대한 인트라 예측 모드의 총 수는 변경되지 않으며, 즉 67, 및 인트라 모드 코딩은 변경되지 않는다.
이러한 예측 방향을 지원하기 위해, 길이 2W + 1 인 상단 레퍼런스와 길이 2H + 1 인 왼쪽 레퍼런스는 도 4와 같이 정의된다.
광각 방향 모드에서 대체된 모드의 모드 번호는 블록의 종횡비에 따라 다르다. 대체된 인트라 예측 모드는 표 1에 설명되어 있다.
광각 모드로 대체된 인트라 예측 모드
Condition Replaced intra prediction modes
W/H == 2 Modes 2,3,4,5,6,7
W/H > 2 Modes 2,3,4,5,6,7,8,9,10,11
W/H == 1 None
H/W == 1/2 Modes 61,62,63,64,65,66
H/W < 1/2 Mode 57,58,59,60,61,62,63,64,65,66
도 5에 도시된 바와 같이, 수직으로 인접한 두 개의 예측 샘플은 광각 인트라 예측의 경우 두 개의 인접하지 않은 레퍼런스 샘플(reference sample)을 사용할 수 있다. 따라서, 저역 통과 레퍼런스 샘플 필터 및 측면 평활화가 광각 예측에 적용되어 증가된 간격 △pα의 부정적인 영향을 줄이다.
2.2.4 위치 의존적 인트라 예측 조합
VTM2에서 평면 모드의 인트라 예측 결과는 위치 의존적 인트라 예측 조합(PDPC) 방법에 의해 더 수정된다. PDPC는 필터링 되지 않은 경계 레퍼런스 샘플과 필터링 된 경계 레퍼런스 샘플이 있는 HEVC 스타일 인트라 예측의 조합을 호출하는 인트라 예측 방법이다. PDPC는 시그널링 없이 다음과 같은 인트라 모드에 적용된다: 평면, DC, 수평, 수직, 왼쪽 하단 각도 모드 및 8 개의 인접한 각도 모드, 오른쪽 상단 각도 모드 및 8 개의 인접한 각도 모드.
예측 샘플 pred(x, y)는 다음과 같은 식에 따라 인트라 예측 모드(DC, 평면, 각도) 및 레퍼런스 샘플의 선형 조합을 사용하여 예측된다.
pred(x, y) =(wL Х R-1, y + wT Х Rx, -1-wTL Х R-1, -1 +(64-wL-wT + wTL) Х pred(x, y) + 32 ) >> 6
여기서 Rx, -1, R-1, y는 각각 현재 샘플(x, y)의 상단과 왼쪽에 있는 레퍼런스 샘플을 나타내고 R-1, -1은 현재 블록의 왼쪽 상단 모서리에 있는 레퍼런스 샘플을 나타낸다.
PDPC가 DC, 평면, 수평 및 수직 인트라 모드에 적용되는 경우 HEVC DC 모드 경계 필터 또는 수평/수직 모드 에지 필터의 경우 필요하므로 추가 경계 필터가 필요하지 않다.
도 6a 내지 6d는 다양한 예측 모드에 걸쳐 적용된 PDPC에 대한 레퍼런스 샘플(Rx, -1, R-1, y 및 R-1, -1)의 정의를 예시한다. 예측 샘플 pred(x', y')는 예측 블록 내(x', y')에 있다. 레퍼런스 샘플 Rx, -1의 좌표 x는 다음과 같이 지정된다. x = x '+ y'+ 1, 레퍼런스 샘플 R-1, y의 좌표 y는 유사하게 다음과 같이 지정된다: y = x '+ y' + 1.
도 6a 내지 6d는 대각선 및 인접 각도 인트라 모드에 적용되는 PDPC에 의해 사용되는 샘플 정의의 예를 나타낸다. 도 6a는 대각선 상단 오른쪽 모드를 도시한다. 도 6B는 대각선 하단 왼쪽 모드를 도시한다. 도 6C는 인접한 대각선 상단 오른쪽 모드를 도시한다. 도 6d는 인접 왼쪽 하단 모드의 예를 도시한다.
PDPC 가중치는 예측 모드에 의존하고 표 2에 나타낸다.
예측 모드에 따른 PDPC 가중치의 예
예측 모드(Prediction modes) wT wL wTL
대각선 오른쪽 상단(Diagonal top-right) 16 >>(( y'<<1 ) >> shift) 16 >>(( x'<<1 ) >> shift) 0
대각선 왼쪽 하단(Diagonal bottom-left) 16 >>(( y'<<1 ) >> shift ) 16 >>(( x'<<1 ) >> shift ) 0
인접 대각선 오른쪽상단(Adjacent diagonal top-right) 32 >>(( y'<<1 ) >> shift ) 0 0
인접 대각 외쪽하단(Adjacent diagonal bottom-left) 0 32 >>(( x'<<1 ) >> shift ) 0
2.2.5 다중 레퍼런스 라인 인트라 예측(Multiple Reference Line Intra Prediction)(MRLIP)
인트라 예측을 위해 항상 인접한 왼쪽 열과 위쪽 행(즉, 참 조선 0)에서 재구성된 샘플을 사용하는 대신 상이한 거리에 있는 레퍼런스 샘플을 사용할 수 있도록하는 것이 좋다.
MRLIP에는 다음과 같은 특성이 있다.
- 레퍼런스 라인 인덱스 시그널링
- 레퍼런스 라인 idx> 0의 경우, MPM 목록에 있는 라인 만, 나머지 모드 없이 mpm 인덱스 만 시그널링 한다.
- 레퍼런스 라인 인덱스 = 0 인 경우 원본 디자인과 동일하며 모든 종류의 인트라 예측 모드 선택 가능
- 하나의 루마 블록에 대해 세 개의 라인 중 하나를 선택할 수 있다: 도 7에 도시된 바와 같이 레퍼런스 라인 0, 1, 3.
- CTU 제한의 상단 라인
- CTU 내부 블록의 제1 라인에 대한 MRL 비활성화
2.2.6 크로마 코딩
HEVC 크로마 코딩에서는 크로마 블록에 대해 5 가지 모드(왼쪽 상단 대응하는 루마 블록의 인트라 예측 모드 인 직접 모드(DM) 한 개와 기본 모드 네 개 포함)가 허용된다. 두 색상 컴포넌트는 동일한 인트라 예측 모드를 공유한다.
HEVC의 설계와 달리, 크로스 컴포넌트 선형 모델(cross-component linear model)(CCLM) 예측 모드 및 다중 DM을 포함하는 두 가지 새로운 방법이 제안되었다.
2.2.6.1 CCLM
크로스 컴포넌트 중복성을 줄이기 위해, 크로스 컴포넌트 선형 모델(CCLM) 예측 모드, 일명 LM이 JEM에서 사용되며, 이를 위해 동일한 CU의 재구성된 루마 샘플에 기초하여 크로마 샘플을 예측한다. 다음과 같이 선형 모델을 사용한다:
(1)
여기서 는 CU에서 예측된 크로마 샘플을 나타내고 는 색상 형식 4: 2: 0 또는 4: 2: 2에 대해 동일한 CU의 다운 샘플링 된 재구성된 루마 샘플을 나타내고, 는 색상 형식 4: 4: 4에 대해 동일한 CU의 재구성된 루마 샘플을 나타낸다. CCLM 파라미터 α 및 bb는 다음과 같이 현재 블록 주위에 이웃하는 재구성된 루마 및 크로마 샘플 사이의 회귀 오차(regression error)를 최소화하여 유도된다:
(2)
(3)
여기서 L(n)은 다운 샘플링 된(색상 형식 4: 2: 0 또는 4: 2: 2) 또는 원본(색상 형식 4: 4: 4) 상단 및 왼쪽 이웃 재구성된 루마 샘플, C(n )는 상단 및 왼쪽 이웃 재구성된 크로마 샘플을 나타내며, N 값은 현재 크로마 코딩 블록의 너비 및 높이 최소값의 두 배와 같다. 정사각형 모양의 코딩 블록에 대해, 상기 두 식이 직접 적용된다. 정사각형이 아닌 코딩 블록에 대해, 더 긴 경계의 이웃 샘플은 더 짧은 경계와 동일한 수의 샘플을 갖도록 먼저 서브 샘플링 된다. 도 6a 내지 6d는 CCLM 모드에 포함된 현재 블록의 왼쪽 및 위쪽 재구성된 샘플의 위치와 샘플을 보여준다.
이 회귀 오차 최소화 계산(regression error minimization computation)은 인코더 검색 연산(search operation)뿐만 아니라 디코딩 처리의 일부로서 수행되므로 α 및 bb 값을 전달하는 데 신택스가 사용되지 않는다.
도 8은 수행되므로 α 및 bb의 유도를 위해 사용된 샘플의 예시적 위치를 나타낸다.
CCLM 예측 모드는 또한 두 개의 크로마 컴포넌트 사이의 예측을 포함하며, 예를 들어 Cr 컴포넌트는 Cb 컴포넌트로부터 예측된다. 재구성된 샘플 신호를 사용하는 대신 CCLM Cb-to-Cr 예측이 잔여 도메인(residual domain)에 적용된다. 이것은 최종 Cr 예측을 형성하기 위해 원래 Cr 인트라 예측에 가중 재구성된 Cb 잔여(residual)를 추가하여 구현된다:
(4)
여기서, 는(i, j) 위치에 재구성된 Cb 잔여 샘플을 나타낸다.
스케일링 인자 α는 CCLM 루마-크로마 예측에서와 유사한 방식으로 유도된다. 유일한 차이점은 오차 함수(error function)의 기본 α 값에 상대적인 회귀 비용(regression cost)을 추가하여 유도된 스케일링 계수가 다음과 같이 기본값 인 -0.5로 편향된다는 것이다:
(5)
여기서, Cb(n)는 이웃 재구성된 Cb 샘플을 나타내고, Cr(n)은 이웃 재구성된 Cr 샘플을 나타내며,λ는 Σ(Cb(n)·Cb(n)) ≫9와 같다.
CCLM 루마-크로마 예측 모드는 하나의 추가적인 크로마 인트라 예측 모드로서 추가된다. 인코더 측에서는 크로마 인트라 예측 모드를 선택하기 위해 크로마 컴포넌트에 대한 RD 비용 확인이 하나 더 추가된다. CU의 크로마 컴포넌트에 CCLM 루마-크로마 예측 모드 이외의 인트라 예측 모드를 사용하는 경우, Cr 컴포넌트 예측에 CCLM Cb-Cr 예측이 사용된다.
2.2.6.2 VVC의 크로마 코딩
JEM에서와 같은 CCLM은 VTM-2.0에서 채택된다. 그러나 JEM의 MM-CCLM은 VTM-2.0에서 채택되지 않는다.
크로마 인트라 코딩의 경우, 크로마 인트라 예측 모드의 후보 목록이 먼저 유도되며 세 부분이 포함될 수 있다.
- 크로마 블록의 공존 중심 위치(도 9의 CR)를 커버하는 루마 CB와 연관된 하나의 인트라 루마 예측 모드로 설정되는 하나의 직접 모드(DM); 예는 TL로 표시된 동일 위치의 위치와 함께 도 9에 도시되었다.
- 하나의 크로스 컴포넌트 선형 모델(cross-component linear model)(CCLM) 모드
- 네 가지 기본 모드(도 1에 강조 표시된 대로 DC, 평면, 수평 및 수직 모드).
- 네 개의 기본 모드 중 하나가 DM 모드와 동일하면, 가장 큰 모드 인덱스를 갖는 인트라 예측 모드로 대체된다. 즉, 도 10에 도시된 점선으로 표시된다.
3. 기존 실시 예의 단점
현재 VVC에서 MRL 인트라 예측 설계에서는 다음과 같은 문제점이 있다.
1) VTM3.0-rc1에서 PCM 플래그는 인트라 예측 처리에 사용되는 레퍼런스 라인의 인덱스 뒤에 코딩 된다. 따라서, PCM조차도 하나의 블록을 코딩하는 데 사용될 수 있지만, PCM 코딩 된 블록에 대해서는 정상적인 인트라 예측이 허용되지 않기 때문에 비트를 낭비하는 레퍼런스 라인 인덱스가 여전히 시그널링 된다.
2) 적응형 루프 필터(Adaptive Loop Filter)(ALF)가 VVC에서 새로 채택되었다. PCM으로 처리하는 방법은 알려져 있지 않다.
3) 루마 블록의 PCM 플래그 한 개와 대응하는 크로마 블록 두 개가 HEVC의 필터링 처리 결정에 사용된다. 그러나, 별도의 트리가 사용되는 경우, 루마 블록의 샘플과 크로마 컴포넌트의 샘플은 서로 다른 PCM 플래그를 선택할 수 있다. 즉, 하나의 루마 블록은 PCM으로 코딩 되고 대응하는 크로마 블록은 비 PCM(non-PCM)으로 코딩 될 수 있다. , 필터링 결정 처리에서 하나의 PCM 플래그를 사용하는 것은 바람직하지 않는다.
4) MRLIP는 루마 컴포넌트에만 적용된다. 그러나 크로마 컴포넌트의 경우 특히 4 : 4 : 4 색상 형식에서도 작동할 수 있다.
5) 코딩 성능을 저하시킬 수 있는 인터-인트라 코딩 된 블록에 MRLIP를 적용할 수 없다.
6) 인덱스가 0이 아닌 참 조선은 각도 모드에서 더 효율적이다. MPM 목록의 모드는 레퍼런스 라인 인덱스가 0보다 클 때 사용된다. 그러나, MRLIP가 덜 효율적인 MPM 목록에는 DC/평면 모드가 포함될 수 있다.
7) HEVC에서 가장 작은 CU 크기는 8x8이고 VVC에서 가장 작은 CU 크기는 4x4이다. 따라서, 4x4, 4x8, 8x4 블록도 PCM 모드를 적용해야 하지만 현재는 허용되지 않는다. 또한, PCM의 원래 디자인은 정사각형 CU 만 처리하는 반면 VVC에는 정사각형이 아닌 CU가 있다.
4. 예시적인 실시 예 및 기술
아래 나열된 세부 기술은 일반적인 개념을 설명하기 위한 예로 고려되어야 한다. 이러한 기술을 좁은 방식으로 해석해서는 안된다. 또한 이러한 기술은 어떤 방식으로든 결합될 수 있다.
1. PCM 인 활성화 플래그는 MRLIP 모드 정보 이전에 코딩하는 것이 좋다.
a. 하나의 예에서, PCM이이 블록에 대해 비활성화 된 경우, MRLIP에서 사용되는 레퍼런스 라인 인덱스가 추가로 시그널링 된다.
b. 하나의 예에서, PCM이이 블록에 대해 활성화된 경우, MRLIP에서 사용되는 레퍼런스 라인 인덱스의 시그널링이 스킵 된다.
c. 또는, MRLIP 모드 정보가 0과 같거나 같지 않으면 PCM 플래그가 시그널링 되지 않는다.
2. 한 블록이 PCM 모드로 코딩 되면 이 블록에 대한 적응형 루프 필터(ALF)가 자동으로 비활성화된다.
a. ALF 활성화/비활성화 플래그의 시그널링은 PCM 활성화/비활성화 플래그에 따라 달라질 수 있다. 또는 PCM 활성화/비활성화 플래그의 시그널링은 ALF 활성화/비활성화 플래그에 따라 달라질 수 있다.
b. CTU 크기와 같은 크기의 블록 하나의 경우 ALF 플래그를 활성화/비활성화하기 전에 PCM 플래그가 먼저 시그널링 될 수 있다. PCM 플래그가 참이면 ALF 플래그는 더 이상 시그널링 되지 않는다.
c. CTU 크기와 같은 크기의 블록 하나의 경우 SAO 플래그를 활성화/비활성화하기 전에 PCM 플래그가 먼저 시그널링 될 수 있다. PCM 플래그가 참이면 SAO 플래그는 더 이상 시그널링 되지 않는다.
d. 또는, 위의 방법은 pcm_loop_filter_disabled_flag가 1 인 경우에만 적용할 수 있다.
3. PCM 활성화/비활성화 플래그 신호/해석/사용 방법은 색상 컴포넌트에 따라 다를 수 있다.
a. 하나의 예에서, PCM 활성화/비활성화 플래그를 신호/해석/사용하는 방법은 서로 다른 색상 컴포넌트에 대한 분리된 파티션 트리 구조(separate partition tree structure)가 사용되는지 여부에 따라 달라질 수 있다.
b. 하나의 예에서, 루마 및 크로마 컴포넌트에 대한 분리된 파티션 트리 구조가 적용될 때, 루마 블록에 대한 제1 플래그가 시그널링 될 수 있고 크로마 블록에 대한 제2 플래그가 독립적으로 시그널링 될 수 있다.
c. 하나의 예에서, 세 가지 색상 컴포넌트에 대한 분리된 파티션 트리 구조가 적용될 때, 세 개의 플래그가 독립적으로 시그널링 될 수 있다.
d. 하나의 예에서, 색상 컴포넌트에 따라 PCM 활성화/비활성화 플래그는 다음 비디오 코딩 처리를 제어하기 위해 pcm_luma 및 pcm_chroma와 같은 다른 변수로 해석된다.
e. 필터링 처리(예를 들어, 디 블로킹 필터, 샘플 적응형 루프 필터, 적응형 루프 필터)에서 색상 컴포넌트의 한 블록을 필터링 해야 하는지 여부는 색상 컴포넌트와 연관된 PCM 활성화/비활성화 플래그에 따라 달라질 수 있다.
f. 대안적으로, 분리된 파티션 트리 구조가 활성화되어 있어도 PCM 플래그는 루마 컴포넌트에 대해서만 시그널링 되고 크로마 블록에 대해서는 시그널링 된다. 하나의 해당 루마 블록 내의 임의의 위치(예를 들어, 해당 루마 블록의 중앙 위치)에서 PCM 플래그를 물려받을 수 있다.
g. 대안적으로, 허용된 PCM 코딩 된 블록 크기/차원의 제한은 다른 색상 컴포넌트에 대해 또는 루마 및 크로마에 대해 개별적으로 시그널링 될 수 있다. 예를 들면, 4 : 2 : 0을 예로 64x64 루마 블록(64x64와 동일한 CTU 크기) 한 개는 32x32 크로마 블록 두 개에 해당한다. 루마 블록은 쿼드 트리 파티션이 있는 네 개의 CU로 분할될 수 있다(네 개의 32x32 루마 CU가 있음). 원래 디자인에서는 별도의 트리가 없으며 32x32 루마 CU 각각에 대해 하나의 플래그 만 코딩 되며 루마와 크로마가 동일한 파티션 구조를 공유하므로 해당 16x16 Cb/Cr 블록에 사용된다. 총 네 개의 플래그가 코딩 될 수 있다. 우리가 제안한 방법의 일 실시 예에서, 별도의 트리가 적용되는 경우 크로마 블록은 바이너리 트리 파티션이 있는 두 개의 CU로 분할될 수 있다(두 개의 32x16 Cb CU 및 두 개의 32x16 Cr CU가 있음). 이 경우, 네 개의 32x32 루마 블록의 네 개의 플래그; 두 개의 32x16 크로마 블록의 두 개의 플래그가 시그널링 될 수 있다. 유사하게, 원래 설계는 제안된 방법에서 필터링 처리에서 한 개의 루마 및 두 개의 크로마 블록과 관련된 PCM 플래그를 확인한다. 하나의 루마 블록의 PCM 플래그와 하나의 크로마 블록의 PCM 플래그는 필터링 처리의 결정을 위해 독립적으로 확인될 수 있다.
4. PCM이 적용 가능한지 여부를 나타내기 위해(CU/블록 레벨에 비해) 높은 레벨에서 플래그가 시그널링 되는 것이 제안된다. PCM을 적용할 수 없는 경우, 서브 레벨(예를 들어, 블록 수준)의 PCM 활성화/비활성화 플래그 신호는 항상 모든 블록에 대해 스킵 한다. 플래그는 VPS/PPS/픽처 헤더/슬라이스 헤더/타일 그룹 헤더/타일/CTU 행/CTU에서 시그널링 될 수 있다.
5. 하나의 블록이 인접하지 않은 레퍼런스 라인(예를 들어, 레퍼런스 라인 인덱스> 0)으로 코딩되면 광각 모드가 자동으로 비활성화 될 수 있다.
a. 하나의 예에서, 파싱(parsing) 후 시그널링 모드와 광각 모드의 인덱스 사이의 매핑을 스킵 한다.
b. 또는, 광각 모드는 시그널링 레퍼런스 라인 인덱스에 관계없이 인접한 레퍼런스 라인과 함께 사용된다.
6. MRL 활성화 여부와 레퍼런스 라인 인덱스 전송 방법은 색상 서브 샘플링 포멧에 따라 달라질 수 있다.
a. 예를 들어 4 : 4 : 4 색상 형식의 경우 세 가지 색상 컴포넌트 모두에 대해 MRL이 활성화될 수 있다.
b. 레퍼런스 라인 인덱스는 한 블록의 모든 색상 컴포넌트에 대해 한 번 코딩 될 수 있다.
c. 대안적으로, 두 개의 레퍼런스 라인 인덱스가 코딩 될 수 있는데, 하나는 루마 색상 컴포넌트(예를 들어, 코딩 될 제1 색상 컴포넌트)를 위한 것이고 다른 하나는 다른 두 색상 컴포넌트를 위한 것이다.
d. 대안적으로, 세 개의 레퍼런스 라인 인덱스가 코딩 될 수 있는데, 하나는 루마 색상 컴포넌트(예를 들어, 코딩 될 제1 색상 컴포넌트)을 위한 것이고 다른 두 개는 다른 두 색상 컴포넌트를 위한 것이다.
e. 대안적으로, 다중 레퍼런스 라인 인덱스를 코딩 해야 하는 경우 예측 코딩을 적용하여 인덱스 차이를 코딩 할 수 있다.
f. 대안적으로, 여러 레퍼런스 라인 인덱스를 코딩 해야 하는 경우 먼저 플래그 하나에 시그널링 하여 모두 동일하다는 것을 알릴 수 있다.
g. 하나의 예에서, 다른 색상 컴포넌트는 다른 라인 후보를 선택할 수 있다.
i. 예를 들어, Cb/Cr 컴포넌트는 제1 및 제2 이웃 라인에서 선택할 수 있다.
ii. MRL 정보는 서로 다른 색상 컴포넌트에 대해 서로 다른 방식으로 코딩 될 수 있다.
7. 인터-인트라 모드(Inter-intra mode)와 MRLIP 모드는 모두 한 블록에 대해 활성화될 수 있다. 이 경우 인터-인트라 모드에서 사용되는 인트라 예측 처리는 현재 블록에 인접하지 않은 라인/열에 의존할 수 있다.
a. 하나의 예에서, 현재 블록이 인터-인트라 모드로 코딩 된 경우, 레퍼런스 라인 인덱스가 추가로 시그널링 될 수 있다.
b. 이러한 방법은 특정 블록 치수, 위치에 적용된다.
c. 이 조인트 모드(joint mode)의 활성화 또는 비활성화 여부는 SPS/VPS/PPS/픽처 헤더/슬라이스 헤더/타일 그룹 헤더/CTU에서 시그널링 될 수 있다.
8. MRLIP가 인접하지 않은(예를 들어, 레퍼런스 라인 인덱스> 0)을 레퍼런스 하고 MPM 목록에 M1로 표시된 특정 모드가 포함되어 있는 경우, M1은 디코딩 과정에서 M2로 표시된 다른 모드로 더 대체될 수 있다.
a. 일례에서, 특정 모드(모드 인덱스 K 포함)는 DC 모드 또는 평면 모드 또는 광각 모드 또는 임의의 비각도 모드(non-angular mode)로 정의된다.
b. 대체에 사용된 모드는 MPM 목록의 나머지 모드에서 유도될 수 있다.
i. 하나의 예에서, 인덱스가 K와 같지 않은 제1 모드는 예를 들어, 인덱스가 (제1 모드 더하기 M)과 같은 대체 모드를 유도하기 위해 사용될 수 있으며, 여기서 M, 예를 들어 1로 설정된다.
ii. 하나의 예에서, 인덱스가 K와 같지 않은 마지막 모드는 예를 들어, 인덱스가 (제1 모드 더하기 M)과 같은 대체 모드를 유도하기 위해 사용될 수 있으며, 여기서 M은 예를 들어 1로 설정된다.
9. MRLIP가 MPM 목록에 포함된 인트라 모드의 인덱스를 코딩하는 대신 인접하지 않은(예를 들어, 레퍼런스 라인 인덱스> 0)을 레퍼런스 하는 경우, 고정된 후보 목록이 사용될 수 있고 고정된 후보 목록에 대한 인덱스가 시그널링 될 수 있다.
a. 하나의 예에서, 고정된 후보 목록은 예를 들어, 수평 또는 수직 모드를 포함하도록 설정될 수 있다.
b. 일례에서, 고정된 후보 목록은 미리 정의될 수 있다.
c. 대안적으로, 고정 후보 목록은 SPS/VPS/PPS/픽처 헤더/슬라이스 헤더/타일 그룹 헤더/CTU에서 시그널링 될 수 있다.
d. 대안적으로, 고정 후보 목록은 블록 차원에 따라 달라질 수 있다.
10. 위쪽 행과 왼쪽 열에 대해 동일한 레퍼런스 라인 인덱스를 사용하는 대신 위쪽 행과 왼쪽 열의 인덱스를 분리되어 시그널링 할 수 있다.
a. 하나의 예에서, 이러한 방법은 새로운 모드로 추가될 수 있다. 이 경우 이 모드가 활성화된 경우에만 별도의 시그널링이 적용될 수 있다.
b. 하나의 예에서, 위쪽 행 및 왼쪽 열의 레퍼런스 인덱스의 상이한 조합에 대해, 허용된 인트라 예측 모드의 상이한 세트가 사용될 수 있다.
c. 이 방법에서 사용되는 다양한 인트라 예측 모드 세트는 미리 정의되거나 SPS/VPS/PPS/픽처 헤더/슬라이스 헤더/타일 그룹 헤더/CTU에서 시그널링 될 수 있다.
11. PCM 모드를 활성화하기 위해 64 개 미만의 샘플을 가진 블록을 허용하는 것이 좋다.
a. 하나의 예에서, 4x4, 4x8 또는 8x4는 PCM 모드를 적용할 수도 있다.
b. 하나의 예에서, pcm_flag가 1 인 최소 블록 크기는(코딩 된 log2_min_pcm_luma_coding_block_size_minus2 값 + 2)로 설정된다.
12. PCM 모드를 활성화하기 위해 64 * 64 이상의 샘플을 가진 블록을 허용하는 것이 좋다.
a. 대안적으로, 이러한 방법은 LCU 크기가 128x128 인 경우에만 활성화된다.
13. 하나의 PCM 코딩 루마 블록 내에서 최대/최소 샘플 수의 표시를 시그널링 하는 것이 제안된다.
a. 하나의 ??서, 하나의 PCM 코딩 루마 블록 내에서 최대 샘플 수 표시를 시그널링 할 때 최대 값과 최소값 사이의 차이 표시가 시그널링 될 수 있다.
b. 하나의 예에서, 하나의 PCM 코딩 된 루마 블록 내의 최대/최소 샘플 수의 log2가 시그널링 될 수 있다.
c. 하나의 예에서, 하나의 PCM 코딩 루마 블록 내에서 최대 샘플 수를 시그널링 할 때 최대 값과 최소값 사이의 차이의 log2 값이 시그널링 될 수 있다.
14. 블록 너비 및/또는 블록 높이의 최소 허용 크기는 서로 같지 않을 수 있는 개별적으로 시그널링/유도될 수 있다.
a. 최대 허용 블록 너비 및/또는 높이는 분리되어 시그널링 되거나 유도될 수 있다.
b. 하나의 예에서, 블록 너비와 블록 높이의 최소 허용 크기는 시그널링 되지 않고, 각각 최소 CU 블록의 너비 및 높이와 동일하도록 물려받는다.
c. 하나의 예에서, 블록 너비 및 블록 높이의 최대 허용 크기는 시그널링 되지 않고 각각 LCU의 너비 및 높이와 동일한 것으로 물려받는다.
d. 블록에 대한 PCM 활성화/비활성화 플래그를 시그널링 할지 여부는 다음 조건 중 하나가 참인지 여부에 따라 달라질 수 있다.
i. 현재 블록의 너비가 최소 블록 너비보다 작지 않고 현재 블록의 너비가 최대 허용 블록 너비보다 크지 않다.
ii. 현재 블록의 너비가 최소 블록 높이보다 작지 않고 현재 블록의 너비가 최대 허용 블록 높이보다 크지 않다.
e. PCM이 1 인 블록 너비 및 블록 높이의 최소 크기 표시는 분리되어 시그널링 할 수 있다.
f. PCM이 1 인 블록 너비 및 블록 높이의 최대 크기 표시는 분리되어 시그너링 할 수 있다.
15. 다른 색상 컴포넌트는 PCM 플래그가 블록 수준에서 시그널링 되어야 하는 시기에 대해 다른 제한을 가질 수 있다.
a. 하나의 예에서, 서로 다른 색상 컴포넌트에 대해 허용되는 크기(예를 들어, log2_min_pcm_luma_coding_block_size_minus3, log2_diff_max_min_pcm_luma_coding_block_size in 0)는 개별적으로 시그널링 할 수 있다.
b. 모든 색상 컴포넌트에 대해 개별적으로 신호를 보낼지 한 번만 신호를 보낼지 여부는 색상 서브 샘플링 포멧(예를 들어, 4 : 2 : 0, 4 : 4 : 4)에 따라 달라질 수 있다.
5. 예시적인 실시 예
VTM-3.0rc1 구현과 비교한 변경 사항은 큰 굵은 글꼴로 강조 표시된다. 삭제된 부분은 취소선으로 표시된다.
5.1 실시 예 # 1
시멘틱
pcm_enabled_flag이 0이면 PCM 관련 신택스(pcm_sample_bit_depth_luma_minus1, pcm_sample_bit_depth_chroma_minus1, log2_min_pcm_luma_coding_block_size_minus3, log2_diff_max_min_pcm_luma_coding_block_size, pcm_loop_filter_disabled_flag, pcm_flag, pcm_alignment_zero_bit 신택스 요소 및 pcm_sample() 신택스 구조)가 CVS에 없음을 지정한다.
노트 4-MinCbLog2SizeY가 7 6과 같고 pcm_enabled_flag가 1과 같을 때, PCM 샘플 데이터 관련 신택스(pcm_flag, pcm_alignment_zero_bit 신택스 요소 및 pcm_sample() 신택스 구조)은 CVS에 없으며, PCM 샘플 데이터 관련 신택스를 전달할 수 있는 코딩 블록의 최대 크기는 Min(CtbLog2SizeY, 6 5) 이하로 제한되기 때문이다. 따라서, pcm_enabled_flag가 1 인, MinCbLog2SizeY가 7 6이면 CVS에서 PCM 샘플 데이터를 전달하는 데 적절한 설정이 아니다.
pcm_loop_filter_disabled_flag는 다음과 같이 pcm_flag가 1 인 코딩 유닛의 재구성된 샘플에서 루프 필터 처리가 비활성화되는지 여부를 지정합니다.
- pcm_loop_filter_disabled_flag가 1이면, pcm_flag가 1 인 코딩 유닛의 재구성된 샘플에 대한 디 블로킹 필터, 적응형 루프 필터 및 샘플 적응형 오프셋 필터 처리가 비활성화된다.
- 그렇지 않으면, (pcm_loop_filter_disabled_flag 값이 0과 같음), pcm_flag가 1 인 코딩 유닛에서 재구성된 샘플에 대한 디 블로킹 필터, 적응형 루프 필터 및 샘플 적응형 오프셋 필터 처리가 비활성화되지 않는다.
pcm_loop_filter_disabled_flag가 없으면, 0과 같은 것으로 추론된다.
5.2 실시 예 # 2
MRLIP 및 PCM이 모두 시퀀스에 대해 비활성화 되면, 다음이 적용될 수 있다. 이 경우 PCM 플래그는 MRL 인덱스를 보내기 전에 먼저 코딩 된다.
코딩 유닛 신택스
또한, PCM 플래그의 시그널링은 조건을 충족하는 필요한 너비 또는 높이에 따라 달라질 수 있다.
5.3 실시 예 # 3
이 실시 예에서, PCM 활성화/비활성화 플래그는 색상 컴포넌트와 연관될 수 있다.
5.3.1 PCM 플래그 시그널링
PCM 활성화/비활성화 플래그의 시그널링은 분리된 파티션 트리 구조(즉, 이중 트리)가 사용될 때 루마 및 크로마 컴포넌트에 대해 분리되어 코딩 된다. 제안 변경 사항이 강조 표시된다.
5.3.1.1 두 개의 상이한 신택스 요소 사용
5.3.1.2 하나의 상이한 신택스 요소이나 상이한 시멘틱
별도의 트리가 활성화되면 디코딩 된 pcm_flag가 treeType에 따라 pcm_flag_luma 및 pcm_flag_chroma에 개별적으로 할당된다.
[00120]
좀 더 구체적으로,
- 듀얼 트리가 비활성화 된 경우, (예를 들어, treeType이 SINGLE_TREE와 같음), 디코딩 된 pcm_flag가 pcm_flag_luma 및 pcm_flag_chroma에 모두 복사된다.
- 그렇지 않으면,
o 현재 파싱 처리(current parsing process)가 루마 컴포넌트에 대한 것이라면(예를 들어, treeType이 DUAL_TREE_LUMA와 같음) 디코딩 된 pcm_flag가 pcm_flag_luma 모두에 복사된다.
o 그렇지 않으면(예를 들어, treeType이 DUAL_TREE_LUMA와 같음), 디코딩 된 pcm_flag가 pcm_flag_chroma에 복사된다.
5.3.2 PCM 플래그 사용
필터링 처리(예를 들어, 디 블로킹, 샘플 적응형 오프셋, ALF)는 색상 컴포넌트와 관련된 코딩된 pcm 활성화/비활성화 플래그에 따라 달라질 수 있다.
더 구체적으로,
pcm_loop_filter_disabled_flag가 1이고 pcm_flag_luma [xP0] [yP0]이 1이면(xP0, yP0)에 위치한 루마 샘플은 필터링 되지 않는다.
pcm_loop_filter_disabled_flag가 1이고 pcm_flag_chroma [xP0] [yP0]이 1이면(xP0, yP0)에 위치한 크로마 샘플은 필터링 되지 않는다.
여기에서, 몇 가지 예가 다음과 같이 주어진다:
5.3.2.1 디 블로킹 필터에서 루마 샘플에 대한 필터링 처리
대안적으로, HEVC 사양에 대해 다음과 같은 변경이 이루어질 수 있다.
8.7.2.5.7 루마 샘플에 대한 필터링 처리
nDp가 0보다 크고 다음 조건 중 하나 이상이 참이면 nDp는 0으로 설정된다:
- pcm_loop_filter_disabled_flag는 1이고 pcm_flag_luma [xP0] [yP0]은 1과 같다.
- 샘플 p0을 포함하는 코딩 블록을 포함하는 코딩 유닛의 cu_transquant_bypass_flag는 1과 같다.
nDq가 0보다 크고 다음 조건 중 하나 이상이 참이면 nDq는 0으로 설정된다.
- pcm_loop_filter_disabled_flag는 1이고 pcm_flag_luma [xQ0] [yQ0]은 1과 같다.
- 샘플 q0을 포함하는 코딩 블록을 포함하는 코딩 유닛의 cu_transquant_bypass_flag는 1과 같다.
5.3.2.2 디 블로킹 필터에서 크로마 샘플에 대한 필터링 처리
대안적으로, HEVC 사양에 대해 다음과 같은 변경이 이루어질 수 있다.
8.7.2.5.8 크로마 샘플에 대한 필터링 처리
다음 조건 중 하나 이상이 참이면, 필터링 된 샘플 값 p0 '이 해당 입력 샘플 값 p0으로 대체된다.
- pcm_loop_filter_disabled_flag는 1이고 pcm_flag_chroma [xP0 * SubWidthC] [yP0 * SubHeightC]는 1과 같다.
- 샘플 p0을 포함하는 코딩 블록을 포함하는 코딩 유닛의 cu_transquant_bypass_flag는 1과 같다.
- 샘플 p0을 포함하는 코딩 블록을 포함하는 코딩 유닛의 palette_mode_flag는 1과 같다.
다음 조건 중 하나 이상이 참이면, 필터링 된 샘플 값 q0'가 해당 입력 샘플 값 q0으로 대체된다.
- pcm_loop_filter_disabled_flag는 1이고 pcm_flag 크로마 [xQ0 * SubWidthC] [yQ0 * SubHeightC]는 1과 같다.
- 샘플 q0을 포함하는 코딩 블록을 포함하는 코딩 유닛의 cu_transquant_bypass_flag는 1과 같다.
- 샘플 q0을 포함하는 코딩 블록을 포함하는 코딩 유닛의 palette_mode_flag는 1과 같다.
노트 : 위의 모든 실시 예에 대해 다음이 적용될 수 있다.
일부 예에서, MinIpcmCbSizeX는 MinIpcmCbSizeY와 동일하다. 또는, MinIpcmCbSizeX는 MinIpcmCbSizeY와 같지 않다.
일부 예에서, MaxIpcmCbSizeX는 MaxIpcmCbSizeY와 동일하다. 또는, MaxIpcmCbSizeX는 MaxIpcmCbSizeY와 같지 않다.
[00131]
MinIpcmCbSizeX, MinIpcmCbSizeY, MaxIpcmCbSizeX, MaxIpcmCbSizeY는 SPS/VPS/PPS 등에서 시그널링 된 신택스 요소에서 유도될 수 있다.
도 11는 비디오 처리를 위한 방법(1100)에 대한 흐름도이다. 방법(1100)은, 동작(1110)에서, 비디오의 현재 블록(current block of video)에 대해, 펄스 코드 변조(pulse code modulation)(PCM)가 사용되는 제1 코딩 모드(first coding mode) 또는 다중 레퍼런스 라인 기반 인트라 예측(multiple reference line based intra prediction)(MRLIP)이 사용되는 제2 코딩 모드(second coding mode) 중 적어도 하나가 활성화되는 것을 결정하는 단계를 포함한다.
방법(1100)은, 동작(1120)에서, 제1 코딩 모드 또는 제2 코딩 모드에 기초하여, 현재 블록과 비디오의 비트 스트림 표현(bitstream representation) 사이의 변환(conversion)을 수행하는 단계를 포함하고, 제1 코딩 모드의 사용을 나타내는 제1 표시(first indication) 및/또는 제2 코딩 모드의 사용을 나타내는 제2 표시(second indication)는 순서 규칙(ordering rule)에 따라 비트 스트림 표현에 포함된다.
도 12는 비디오 처리를 위한 방법(1200)에 대한 흐름도이다. 방법(1200)은, 동작(1210)에서, 비디오의 현재 블록과 비디오의 비트 스트림 표현 사이의 변환을 위해, 비디오의 색상 컴포넌트 표현(color component representation)에 기초하여, 현재 블록의 펄스 코드 변조에 기초하여 코딩 모드와 연관된 적어도 하나의 플래그(flag)를 결정하는 단계를 포함한다.
방법(1200)은, 동작(1210)에서, 결정하는 단계에 기초하여, 변환을 수행하는 단계를 포함한다.
도 13은 비디오 처리를 위한 방법(1300)에 대한 흐름도이다. 방법(1300)은, 동작(1310)에서, 비디오의 비디오 영역의 현재 블록과 비디오의 비트 스트림 표현 사이의 변환을 수행하는 단계를 포함하고, 비트 스트림 표현은 현재 블록에 대한 펄스 코드 변조(PCM)의 적용 가능성에 관한 규칙에 따라 포맷 되고, 및 규칙은 PCM을 비활성화하는 것의 표시가 비디오 영역 레벨(video region level)에 포함된다는 결정시 현재 블록 레벨에서 PCM의 표시를 생략하도록 지정한다.
도 14는 비디오 처리를 위한 방법(1400)에 대한 흐름도이다. 방법(1400)은, 동작(1410)에서, 비디오의 현재 블록의 크기에 기초하여, 현재 블록에 대한 펄스 코드 변조(PCM) 코딩 모드를 활성화하는 것에 관한 결정을 내리는 단계를 포함한다.
방법(1400)은, 동작(1420)에서, 결정에 기초하여, 현재 블록과 비디오의 비트 스트림 표현 사이의 변환을 수행하는 단계를 포함한다.
도 15은 비디오 처리를 위한 방법(1500)에 대한 흐름도이다. 방법(1500)은, 동작(1510)에서, 비디오의 현재 블록과 비디오의 비트 스트림 표현 사이의 변환을 위해, 현재 블록의 높이 또는 너비에 대한 최소 허용 값을 결정하는 단계 - 높이에 대한 최소 허용 값은 너비에 대한 최소 허용 값으로부터 분리되어 시그널링 되거나 유도됨 - 를 포함한다.
방법(1500)은, 동작(1520)에서, 결정하는 단계에 기초하여, 변환을 수행하는 단계를 포함한다.
도 16은 비디오 처리를 위한 방법(1600)에 대한 흐름도이다. 방법(1600)은, 동작(1610)에서, 펄스 코드 변조(PCM) 코딩 모드로 코딩 되는 비디오의 현재 블록의 표시가 비디오의 비트 스트림 표현으로 시그널링 된다는 결정시, 비디오의 색상 컴포넌트 표현을 구성하는 단계를 포함한다.
방법(1600)은, 동작(1620)에서, 구성하는 단계에 기초하여, 현재 블록과 비트 스트림 표현 사이의 변환을 수행하는 단계를 포함한다.
도 17은 비디오 처리를 위한 방법(1700)에 대한 흐름도이다. 방법(1700)은, 동작(1710)에서, 비디오의 현재 블록과 비디오의 비트 스트림 표현 사이의 변환을 위해, 광각 모드가 변환을 위해 인접하지 않은(non-adjacent) 레퍼런스 라인 모드(reference line mode)의 사용으로 인해 변환을 위해 비활성화되는 것을 결정하는 단계를 포함한다.
방법(1700)은, 동작(1720)에서, 결정하는 단계에 기초하여, 변환을 수행하는 단계 - 인접하지 않은 레퍼런스 라인 모드는 현재 블록의 변환을 위해 비디오의 레퍼런스 라인으로부터의 인접하지 않은 픽셀을 사용하고, 및 광각 모드는 45도 내지 -135 도의 종래의 각도 인트라 예측 방향을 넘어서는 인트라 예측 방향을 포함함 - 를 포함한다.
도 18은 비디오 처리를 위한 방법(1800)에 대한 흐름도이다. 방법(1800)은, 동작(1810)에서, 비디오의 현재 블록과 비디오의 비트 스트림 표현 사이의 변환을 위해 비디오의 색상 서브 샘플링 포멧에 기초하여, 현재 블록에 대해 다중 레퍼런스 라인(Multiple Reference Line)(MRL) 코딩 모드가 활성화되어 있는지 또는 하나 이상의 레퍼런스 라인 인덱스의 시그널링 포맷이 MRL 코딩 모드에 사용되었는지 여부에 관한 결정을 내리는 단계를 포함한다.
방법(1800)은, 동작(1830)에서, 결정에 기초하여, 변환을 수행하는 단계를 포함한다.
도 19은 비디오 처리를 위한 방법(1900)에 대한 흐름도이다. 방법(1900)은, 동작(1910)에서, 인터-인트라 모드(inter-intra mode) 및 다중 레퍼런스 라인 인트라 예측(Multiple Reference Line Intra Prediction)(MRLIP) 모드가 비디오의 현재 블록에 대해 활성화되는 것으로 결정시, 인터-인트라 모드의 인트라 예측 처리를 위해 현재 블록에 인접하지 않은 라인 또는 컬럼을 선택하는 단계를 포함한다.
방법(1900)은, 동작(1920)에서, 라인 또는 열에 기초하여, 현재 블록과 비디오의 비트 스트림 표현 사이의 변환을 수행하는 단계를 포함한다.
도 20은 비디오 처리를 위한 방법(2000)에 대한 흐름도이다. 방법(2000)은, 동작(2010)에서, 현재 블록에 인접하지 않은 라인을 사용하는 다중 레퍼런스 라인 인트라 예측(MRLIP) 모드를 사용하여 코딩 된 비디오의 현재 블록에 대해, 현재 블록과 비디오의 비트 스트림 표현 사이의 변환을 수행하는 단계를 포함하고, MRLIP는 최고 확률 모드(most probable mode)(MPM) 목록을 더 사용하고, 및 변환을 수행하는 단계는 최고 확률 모드(MPM) 목록의 제1 모드를 MPM 목록의 제2 모드로 대체하는 단계를 포함한다.
도 21은 비디오 처리를 위한 방법(2100)에 대한 흐름도이다. 방법(2100)은, 동작(2110)에서, 현재 블록에 인접하지 않은 라인을 사용하는 다중 레퍼런스 라인 인트라 예측(MRLIP) 모드를 사용하여 코딩 된 비디오의 현재 블록에 대해, 현재 블록과 비디오의 비트 스트림 표현 사이의 변환을 수행하는 단계를 포함하고, 비트 스트림 표현은 최고 확률 모드(MPM) 목록의 모드의 코딩 된 인덱스 대신에 고정된 후보리스트의 모드의 코딩 된 인덱스를 포함한다.
도 22는 비디오 처리를 위한 방법(2200)에 대한 흐름도이다. 방법(2200)은, 동작(2210)에서, 다중 레퍼런스 라인(MRL) 코딩 모드를 사용하여 비디오의 현재 블록과 비디오의 비트 스트림 표현 사이의 변환을 위해, 비트 스트림 표현이 현재 블록의 예측에 사용된 위쪽 행에 대응하는 제1 인덱스 및 예측에 사용된 왼쪽 열에 대응하는 제2 인덱스를 포함한다는 것을 결정하는 단계를 포함한다.
방법(2200)은, 동작(2220)에서, 결정하는 단계에 기초하여 변환을 수행하는 단계를 포함한다.
도 23는 비디오 처리 장치(2300)의 블록도이다. 장치(2300)는 여기에 설명된 방법 중 하나 이상을 구현하는 데 사용될 수 있다. 장치(2300)는 스마트 폰, 태블릿, 컴퓨터, 사물 인터넷(IoT) 수신기 등으로 구현될 수 있다. 장치(2300)는 하나 이상의 프로세서(2302), 하나 이상의 메모리(2304) 및 비디오 처리 하드웨어(2306)를 포함할 수 있다. 프로세서(들)(2302)는 본 문서에 설명된 하나 이상의 방법을 구현하도록 구성될 수 있다. 메모리(메모리들)(2304)는 여기에 설명된 방법 및 기술을 구현하는 데 사용되는 데이터 및 코드를 저장하는 데 사용될 수 있다. 비디오 처리 하드웨어(2306)는 본 문서에 설명된 일부 기술을 하드웨어 회로에서 구현하는 데 사용될 수 있다.
일부 실시 예에서, 비디오 코딩 방법은 도 23과 관련하여 설명된 하드웨어 플랫폼 상에서 구현되는 장치를 사용하여 구현될 수 있다.
개시된 기술의 일부 실시 예는 비디오 처리 도구 또는 모드를 가능하게 하기 위한 판정 또는 결정을 포함한다. 예를 들어, 비디오 처리 도구 또는 모드가 활성화되면, 인코더는 비디오 블록의 처리에 도구 또는 모드를 사용하거나 구현하지만 도구 또는 모드의 사용에 따라 결과 비트 스트림을 반드시 수정하지는 않는다. 즉, 비디오 블록에서 비디오의 비트 스트림 표현으로의 변환은 판정 또는 결정에 기초하여 활성화될 때 비디오 처리 도구 또는 모드를 사용할 것이다. 다른 예에서, 비디오 처리 도구 또는 모드가 활성화되면, 디코더는 비트 스트림이 비디오 처리 도구 또는 모드를 기반으로 수정되었다는 것을 알고 비트 스트림을 처리한다. 즉, 비디오의 비트 스트림 표현에서 비디오 블록으로의 변환은 판정 또는 결정에 기초하여 활성화된 비디오 처리 도구 또는 모드를 사용하여 수행된다.
개시된 기술의 일부 실시 예는 비디오 처리 도구 또는 모드를 비활성화 하기 위한 판정 또는 결정을 포함한다. 예를 들어, 비디오 처리 도구 또는 모드가 비활성화되면, 인코더는 비디오 블록을 비디오의 비트 스트림 표현으로 변환할 때 도구 또는 모드를 사용하지 않는다. 다른 예에서, 비디오 처리 도구 또는 모드가 비활성화되면, 디코더는 판정 또는 결정에 기초하여 활성화된 비디오 처리 도구 또는 모드를 사용하여 비트 스트림이 수정되지 않았다는 것을 알고 비트 스트림을 처리할 것이다.
도 24는 본 명세서에 개시된 다양한 기술이 구현될 수 있는 예시적인 비디오 처리 시스템(2400)을 보여주는 블록도이다. 다양한 구현은 시스템(2400)의 구성 요소의 일부 또는 전부를 포함할 수 있다. 시스템(2400)은 비디오 콘텐츠를 수신하기 위한 입력(2402)을 포함할 수 있다. 비디오 콘텐츠는 원시 또는 압축되지 않은 형식, 예를 들어 8 비트 또는 10 비트 다중 컴포넌트 픽셀 값으로 수신될 수 있거나 압축 또는 인코딩 된 형식 일 수 있다. 입력(2402)은 네트워크 인터페이스, 주변 버스 인터페이스 또는 스토리지 인터페이스를 나타낼 수 있다. 네트워크 인터페이스의 예로는 이더넷, 수동 광 네트워크(PON) 등과 같은 유선 인터페이스 및 Wi-Fi 또는 셀룰러 인터페이스와 같은 무선 인터페이스가 있다.
[00158][00361]
시스템(2400)은 본 문서에 설명된 다양한 코딩 또는 인코딩 방법을 구현할 수 있는 코딩 컴포넌트(2404)를 포함할 수 있다. 코딩 컴포넌트(2404)는 비디오의 코딩 된 표현을 생성하기 위해 입력(2402)으로부터 코딩 컴포넌트(2404)의 출력으로 비디오의 평균 비트 레이트를 감소시킬 수 있다. 따라서 코딩 기술은 비디오 압축 또는 비디오 트랜스 코딩 기술이라고도 한다. 코딩 컴포넌트(2404)의 출력은 컴포넌트(2406)에 의해 표현된 바와 같이 연결된 통신을 통해 저장되거나 전송될 수 있다. 입력(2402)에서 수신된 비디오의 저장 또는 통신된 비트 스트림(또는 코딩 된) 표현은 디스플레이 인터페이스(2410)로 전송되는 픽셀 값 또는 디스플레이 가능한 비디오를 생성하기 위해 컴포넌트(2408)에 의해 사용될 수 있다. 비트 스트림 표현에서 사용자가 볼 수 있는 비디오를 생성하는 처리를 비디오 압축 해제라고 한다. 또한, 특정 비디오 처리 연산을 "코딩" 연산 또는 툴이라 한다. 코딩 툴 또는 연산은 인코더에서 사용되고, 코딩의 결과를 역전시키는 대응하는 디코딩 툴 또는 연산은 디코더에 의해 수행될 것임을 알 것이다.
주변 장치 버스 인터페이스 또는 디스플레이 인터페이스의 예로는 범용 직렬 버스(Universal Serial Bus)(USB), 고선명 멀티미디어 인터페이스(High Definition Multimedia Interface)(HDMI) 또는 디스플레이 포트(Displayport) 등이 있다. 스토리지 인터페이스의 예로는 SATA(Serial Advanced Technology Attachment), PCI, IDE 인터페이스 등이 있다. 본 문서에 설명된 기술은 디지털 데이터 처리 및/또는 비디오 디스플레이를 수행할 수 있는 휴대 전화, 랩톱, 스마트 폰 또는 기타 장치와 같은 다양한 전자 장치에 구현될 수 있다.
비디오 또는 이미지의 인코딩 또는 디코딩에서 인트라 코딩 도구의 사용을 허용함으로써 스마트 폰, 랩톱, 데스크탑 및 유사한 장치와 같은 비디오 처리 장치 내에 통합된 비디오 인코더 및 디코더 실시 예에 도움이 되는 여러 기술이 개시되었음을 알 수 있을 것이다.
일부 실시 예에서, 다음과 같은 기술적 솔루션이 구현될 수 있다:
A1. 비디오 처리 방법에서, 비디오의 현재 블록(current block of video)에 대해, 펄스 코드 변조(pulse code modulation)(PCM)가 사용되는 제1 코딩 모드(first coding mode) 또는 다중 레퍼런스 라인 기반 인트라 예측(multiple reference line based intra prediction)(MRLIP)이 사용되는 제2 코딩 모드(second coding mode) 중 적어도 하나가 활성화되는 것을 결정하는 단계; 및 제1 코딩 모드 또는 제2 코딩 모드에 기초하여, 현재 블록과 비디오의 비트 스트림 표현(bitstream representation) 사이의 변환(conversion)을 수행하는 단계 - 제1 코딩 모드의 사용을 나타내는 제1 표시(first indication) 및/또는 제2 코딩 모드의 사용을 나타내는 제2 표시(second indication)는 순서 규칙에 따라 비트 스트림 표현에 포함됨 - 를 포함한다.
A2. 솔루션 A1의 방법에서, 순서 규칙은 디코딩 순서에서 제2 표시 이전에 제1 표시가 비트 스트림 표현에 있음을 지정한다.
A3. 솔루션 A1의 방법에서, 비트 스트림 표현은 제1 코딩 모드가 활성화되는 것으로 결정시에 제2 코딩 모드에 사용되는 레퍼런스 라인 인덱스를 생략한다.
A4. 솔루션 A1의 방법에서, 비트 스트림 표현은 제1 코딩 모드가 비활성화되는 것으로 결정시 제2 코딩 모드에 사용되는 레퍼런스 라인 인덱스를 더 포함한다.
A5. 솔루션 A1의 방법에서, 비트 스트림 표현은 비트 스트림 표현이 제2 표시를 포함하는 것으로 결정시 제1 표시를 생략한다.
A6. 솔루션 A1의 방법에서, 현재 블록에 대한 적응형 루프 필터(ALF) 처리는 제1 코딩 모드가 활성화되는 것으로 결정시 비활성화된다.
A7. 솔루션 A6의 방법에서, 제1 표시가 비트 스트림 표현에 포함되는지 여부는 ALF 처리의 표시에 기초한다.
A8. 솔루션 A6의 방법에서, 제1 표시가 비트 스트림 표현에 포함되는지 여부는 ALF 처리의 표시에 기초한다.
A9. 솔루션 A6의 방법에서, 제1 표시는 현재 블록의 크기가 코딩 트리 유닛(CTU)의 크기와 동일한 것으로 결정시 ALF 처리의 표시 이전에 비트 스트림 표현에서 시그널링 된다.
A10. 솔루션 A6의 방법에서, 제1 표시는 현재 블록의 크기가 코딩 트리 유닛(CTU)의 크기와 동일한 것으로 결정시 샘플 적응형 오프셋(SAO) 처리의 표시 이전에 비트 스트림 표현에서 시그널링 된다.
A11. 솔루션 A1 내지 A10의 방법에서, pcm_loop_filter_disabled_flag = 1 이다.
A12. 비디오 처리 방법에서, 비디오의 현재 블록과 비디오의 비트 스트림 표현 사이의 변환을 위해, 비디오의 색상 컴포넌트 표현에 기초하여, 현재 블록의 펄스 코드 변조에 기초하여 코딩 모드와 연관된 적어도 하나의 플래그(flag)를 결정하는 단계; 및 결정하는 단계에 기초하여, 변환을 수행하는 단계를 포함한다.
A13. 솔루션 A12의 방법에서, 적어도 하나의 플래그는 색상 컴포넌트 표현의 각 컴포넌트에 대해 분리된 파티션 트리 구조가 사용되는지 여부에 기초된다.
A14. 솔루션 A12의 방법에서, 적어도 하나의 플래그는 색상 컴포넌트 표현의 루마 컴포넌트에 대한 제1 플래그를 포함하고, 및 적어도 하나의 플래그는 색상 컴포넌트 표현의 크로마 컴포넌트에 대한 제2 플래그를 더 포함한다.
A15. 솔루션 A12의 방법에서, 색상 컴포넌트 표현은 세 개의 색상 컴포넌트를 포함하고, 및 적어도 하나의 플래그는 세 개의 색상 컴포넌트 각각에 대한 세 개의 플래그를 포함한다.
A16. 솔루션 A12의 방법에서, 적어도 하나의 플래그는 색상 컴포넌트 표현의 각 컴포넌트에 대한 펄스 코드 변조를 가능하게 하는 표시에 대응하는 펄스 코드 변조를 가능하게 하는 표시를 포함한다.
A17. 솔루션 A12의 방법에서, 색상 컴포넌트 표현의 컴포넌트에 대한 필터링 처리는 색상 컴포넌트 표현의 대응하는 컴포넌트에 대한 펄스 코드 변조를 가능하게 하는 표시에 기초한다.
A18. 솔루션 A12의 방법에서, 적어도 하나의 플래그는 색상 컴포넌트 표현의 루마 컴포넌트에 대한 펄스 코드 변조를 가능하게 하는 표시를 포함하고, 및 색상 컴포넌트 표현의 크로마 컴포넌트에 대한 펄스 코드 변조를 가능하게 하는 표시는 루마 컴포넌트 내의 위치로부터 물려받는다.
A19. 솔루션 A18의 방법에서, 위치는 루마 컴포넌트의 중심 위치이다.
A20. 비디오 처리 방법에서, 비디오의 비디오 영역의 현재 블록과 비디오의 비트 스트림 표현 사이의 변환을 수행하는 단계를 포함하고, 비트 스트림 표현은 현재 블록에 대한 펄스 코드 변조(PCM)의 적용 가능성에 관한 규칙에 따라 포맷 되고, 및 규칙은 PCM을 비활성화하는 표시가 비디오 영역 레벨(video region level)에 포함된다는 결정시 현재 블록 레벨에서 PCM의 표시를 생략하도록 지정한다.
A21. 솔루션 A20의 방법에서, PCM의 표시는 비디오 파라미터 세트(VPS), 픽처 파라미터 세트(PPS), 픽처 헤더, 슬라이스 헤더, 타일 그룹 헤더, 타일, 코딩 트리 유닛(CTU) 또는 CTU 행에서 시그널링 된다.
A22. 비디오 처리 방법에서, 비디오의 현재 블록의 크기에 기초하여, 현재 블록에 대한 펄스 코드 변조(PCM) 코딩 모드를 활성화하는 것에 관한 결정을 내리는 단계; 및 결정에 기초하여, 현재 블록과 비디오의 비트 스트림 표현 사이의 변환을 수행하는 단계를 포함한다.
A23. 솔루션 A22의 방법에서, PCM 코딩 모드는 현재 블록이 64 개 미만의 샘플을 포함하는 것으로 결정시 활성화된다.
A24. 솔루션 A23의 방법에서, 현재 블록의 크기는 4 Х 4, 4 Х 8 또는 8 Х 4 이다.
A25. 솔루션 A23의 방법에서, pcm_flag가 1 인 현재 블록의 최소 블록 크기는(log2_min_pcm_luma_coding_block_size_minus2 + 2)로 설정된다.
A26. 솔루션 A22의 방법에서, PCM 코딩 모드는 현재 블록의 크기가 64 Х 64보다 크거나 같은 것으로 결정시 활성화된다.
A27. 솔루션 A22의 방법에서, PCM 코딩 모드는 최대 코딩 유닛(LCU)의 크기가 128 Х 128과 같은 것으로 결정시 활성화된다.
A28. 솔루션 A22의 방법에서, PCM 코딩 모드가 활성화되고, 및 현재 블록에서 최대 또는 최소 샘플 수의 표시가 비트 스트림 표현에서 시그널링 된다.
A29. 솔루션 A28의 방법에서, 표시는 최대 샘플 수와 최소 샘플 수 사이의 차이를 포함한다.
A30. 솔루션 A28의 방법에서, 표시는 최대 또는 최소 샘플 수의 밑이 2 인 로그를 포함한다.
A31. 솔루션 A28의 방법에서, 표시는 최대 샘플 수와 최소 샘플 수 사이의 차이의 밑이 2 인 로그를 포함한다.
[00193]
A32. 비디오 처리 방법에서, 비디오의 현재 블록과 비디오의 비트 스트림 표현 사이의 변환을 위해, 현재 블록의 높이 또는 너비에 대한 최소 허용 값을 결정하는 단계 - 높이에 대한 최소 허용 값은 너비에 대한 최소 허용 값으로부터 분리되어 시그널링 되거나 유도됨 -; 및 결정하는 단계에 기초하여, 변환을 수행하는 단계를 포함한다.
A33. 솔루션 A32의 방법에서, 비트 스트림 표현은 높이 또는 폭에 대한 최대 허용 값(maximum allowed value)을 더 포함하고, 및 높이에 대한 최대 허용 값은 폭에 대한 최대 허용 값과 분리되어 시그널링 되거나 유도된다.
A34. 솔루션 A32의 방법에서, 비트 스트림 표현은 높이 또는 너비에 대한 최소 허용 값을 생략하고, 및 최소 허용 값은 코딩 유닛(CU) 블록의 최소 크기로부터 물려받는다.
A35. 솔루션 A32의 방법에서, 비트 스트림 표현은 높이 또는 너비에 대한 최대 허용 값을 생략하고, 및 최대 허용 값은 코딩 유닛(CU) 블록의 최대 크기로부터 물려받는다.
A36. 솔루션 A32 내지 A35 중 어느 하나의 솔루션의 방법에서, 높이는 너비와 상이하다.
A37. 솔루션 A32의 방법에서, 현재 블록에 대해 펄스 코드 변조(PCM) 코딩 모드를 활성화하는 표시를 포함하는 비트 스트림 표현은(a) 현재 블록의 너비가 너비에 대해 최소 허용 값보다 작지 않고 너비에 대해 최대 허용 값보다 크지 않은 경우, 또는(b) 현재 블록의 높이는 높이의 최소 허용 값보다 작지 않고 높이에 최대 허용 값보다 크지 않은 경우에 기초한다.
A38. 솔루션 A32 또는 A33의 방법에서, 현재 블록에 대한 펄스 코드 변조(PCM) 코딩 모드가 활성화된다.
A39. 비디오 처리 방법에서, 펄스 코드 변조(PCM) 코딩 모드로 코딩 되는 비디오의 현재 블록의 표시가 비디오의 비트 스트림 표현으로 시그널링 된다는 결정시, 비디오의 색상 컴포넌트 표현을 구성하는 단계; 및 구성하는 단계에 기초하여, 현재 블록과 비트 스트림 표현 사이의 변환을 수행하는 단계를 포함한다.
A40. 솔루션 A39의 방법에서, 색상 컴포넌트 표현의 각 컴포넌트에 대해 허용된 크기는 분리되어 시그널링 된다.
A41. 솔루션 A39의 방법에서, 구성하는 단계는 색상 컴포넌트 표현의 색상 서브 샘플링 포멧에 기초한다.
A42. 솔루션 A41의 방법에서, 색상 서브 샘플링 포멧은 4 : 2 : 0 또는 4 : 4 : 4 이다.
A43. 솔루션 A1 내지 A42 중 어느 하나의 솔루션의 방법에서, 변환은 비트 스트림 표현에서 현재 블록을 생성한다.
A44. 솔루션 A1 내지 A42 중 어느 하나의 솔루션의 방법에서, 변환은 현재 블록에서 비트 스트림 표현을 생성한다.
A45. 솔루션 A1 내지 A42 중 어느 하나의 솔루션의 방법에서, 변환을 수행하는 방법은 하나 이상의 디코딩 규칙에 기초하여 비트 스트림 표현을 파싱 하는 단계를 포함한다.
A46. 프로세서 및 명령을 갖는 비 일시적 메모리를 포함하는 비디오 시스템의 장치에 있어서, 명령이 프로세서에 의해 실행될 때, 프로세서로 하여금 솔루션 A1 내지 A46 중 어느 하나 또는 어느 하나 이상에 언급된 방법을 구현하도록 하는 장치.
A47. 비 일시적 컴퓨터 판독 가능 매체에 저장된 컴퓨터 프로그램에 있어서, 컴퓨터 프로그램은 솔루션 A1 내지 A46 중 어느 하나 또는 어느 하나 이상에 언급된 방법을 수행하기 위한 프로그램 코드를 포함하는 컴퓨터 프로그램.
일부 실시 예에서, 다음 기술 솔루션이 구현될 수 있다:
B1. 비디오 처리 방법에서, 비디오의 현재 블록과 비디오의 비트 스트림 표현 사이의 변환을 위해, 광각 모드가 변환을 위해 인접하지 않은(non-adjacent) 레퍼런스 라인 모드(reference line mode)의 사용으로 인해 변환을 위해 비활성화되는 것을 결정하는 단계; 및 결정하는 단계에 기초하여, 변환을 수행하는 단계 - 인접하지 않은 레퍼런스 라인 모드는 현재 블록의 변환을 위해 비디오의 레퍼런스 라인으로부터의 인접하지 않은 픽셀을 사용하고, 및 광각 모드는 45도 내지 -135 도의 종래의 각도 인트라 예측 방향을 넘어서는 인트라 예측 방향을 포함함 - 를 포함한다.
B2. 솔루션 B1의 방법에서, 변환은 시그널링 모드와 광각 모드의 적어도 하나의 인덱스 사이의 매핑을 스킵 한다.
B3. 비디오 처리 방법에서, 비디오의 현재 블록과 비디오의 비트 스트림 표현 사이의 변환을 위해 비디오의 색상 서브 샘플링 포멧에 기초하여, 현재 블록에 대해 다중 레퍼런스 라인(Multiple Reference Line)(MRL) 코딩 모드가 활성화되어 있는지 또는 하나 이상의 레퍼런스 라인 인덱스의 시그널링 포맷이 MRL 코딩 모드에 사용되었는지 여부에 관한 결정을 내리는 단계; 및 결정에 기초하여, 변환을 수행하는 단계를 포함한다.
B4. 솔루션 B3의 방법에서, MRL 코딩 모드는 색상 서브 샘플링 포멧이 4 : 4 : 4라는 결정에 따라 비디오의 색상 컴포넌트 표현의 3 가지 색상 컴포넌트에 대해 활성화된다.
B5. 솔루션 B3의 방법에서, 하나 이상의 레퍼런스 라인 인덱스의 단일 레퍼런스 라인 인덱스가 비디오의 색상 컴포넌트 표현의 세 가지 컴포넌트에 대해 코딩 된다.
B6. 솔루션 B3의 방법에서, 하나 이상의 레퍼런스 라인 인덱스의 제1 레퍼런스 라인 인덱스가 비디오의 색상 컴포넌트 표현의 루마 컴포넌트에 대해 코딩 되고, 제2 레퍼런스 라인 인덱스는 색상 컴포넌트 표현의 두 개의 다른 색상 컴포넌트에 대해 코딩 된다.
B7. 솔루션 B3의 방법에서, 하나 이상의 레퍼런스 라인 인덱스가 예측 코딩을 사용하여 코딩 된 적어도 두 개의 레퍼런스 라인 인덱스를 포함한다.
B8. 솔루션 B3의 방법에서, 비트 스트림 표현은 하나 이상의 레퍼런스 라인 인덱스 각각이 동일함을 지시하는 단일 플래그를 포함한다.
B9. 솔루션 B3의 방법에서, MRL 코딩 모드가 활성화되고, 비디오의 색상 컴포넌트 표현의 상이한 컴포넌트가 MRL 코딩 모드로부터 상이한 후보 라인을 선택한다.
B10. 솔루션 B9의 방법에서, 색상 컴포넌트 표현의 Cb 및 Cr 컴포넌트가 이웃한 제1 및 제2 라인으로부터 후보 라인을 선택한다.
B11. 비디오 처리 방법에서, 인터-인트라 모드(inter-intra mode) 및 다중 레퍼런스 라인 인트라 예측(Multiple Reference Line Intra Prediction)(MRLIP) 모드가 비디오의 현재 블록에 대해 활성화되는 것으로 결정시, 인터-인트라 모드의 인트라 예측 처리를 위해 현재 블록에 인접하지 않은 라인 또는 컬럼을 선택하는 단계; 및 라인 또는 열에 기초하여, 현재 블록과 비디오의 비트 스트림 표현 사이의 변환을 수행하는 단계를 포함한다.
B12. 솔루션 B11의 방법에서, 비트 스트림 표현은 라인 또는 열의 표시를 포함한다.
B13. 솔루션 B11의 방법에서, 시퀀스 파라미터 세트(SPS), 비디오 파라미터 세트(VPS), 영상 파라미터 세트(PPS), 영상 헤더, 슬라이스 헤더, 타일 그룹 헤더 또는 코딩 트리 유닛(CTU)에서 인터-인트라 모드 및 MRLIP 모드를 활성화한다는 표시가 시그널링 된다.
B14. 비디오 처리 방법에서, 현재 블록에 인접하지 않은 라인을 사용하는 다중 레퍼런스 라인 인트라 예측(MRLIP) 모드를 사용하여 코딩 된 비디오의 현재 블록에 대해, 현재 블록과 비디오의 비트 스트림 표현 사이의 변환을 수행하는 단계를 포함하고, MRLIP는 최고 확률 모드(most probable mode)(MPM) 목록을 더 사용하고, 및 변환을 수행하는 단계는 최고 확률 모드(MPM) 목록의 제1 모드를 MPM 목록의 제2 모드로 대체하는 단계를 포함한다.
B15. 솔루션 B14의 방법에서, 제1 모드는 DC 모드, 평면 모드, 광각 모드 또는 비각도 모드(non-angular mode)이다.
B16. 솔루션 B14의 방법에서, 제2 모드는 MPM 목록의 나머지 모드에 기초한다.
B17. 비디오 처리 방법에서, 현재 블록에 인접하지 않은 라인을 사용하는 다중 레퍼런스 라인 인트라 예측(MRLIP) 모드를 사용하여 코딩 된 비디오의 현재 블록에 대해, 현재 블록과 비디오의 비트 스트림 표현 사이의 변환을 수행하는 단계를 포함하고, 비트 스트림 표현은 최고 확률 모드(MPM) 목록의 모드의 코딩 된 인덱스 대신에 고정된 후보리스트의 모드의 코딩 된 인덱스를 포함한다.
B18. 솔루션 B17의 방법에서, 고정 후보 목록은 수평 모드 또는 수직 모드로 구성된다.
B19. 솔루션 B17의 방법에서, 고정 후보 목록은 미리 결정된다.
B20. 솔루션 B17의 방법에서, 고정 후보 목록은 시퀀스 파라미터 세트(SPS), 비디오 파라미터 세트(VPS), 픽처 파라미터 세트(Picture parameter set)(PPS), 픽처 헤더, 슬라이스 헤더, 타일 그룹 헤더 또는 코딩 트리 유닛(CTU)에서 시그널링 된다.
B21. 솔루션 B17의 방법에서, 고정 후보 목록은 현재 블록의 높이 또는 너비에 기초한다.
B22. 비디오 처리 방법에서, 다중 레퍼런스 라인(MRL) 코딩 모드를 사용하여 비디오의 현재 블록과 비디오의 비트 스트림 표현 사이의 변환을 위해, 비트 스트림 표현이 현재 블록의 예측에 사용된 위쪽 행에 대응하는 제1 인덱스 및 예측에 사용된 왼쪽 열에 대응하는 제2 인덱스를 포함한다는 것을 결정하는 단계; 및 결정하는 단계에 기초하여 변환을 수행하는 단계를 포함한다.
B23. 솔루션 B22의 방법에서, 제1 인덱스 및 제2 인덱스의 상이한 값은 허용된 인트라 예측 모드의 상이한 세트에 대응한다.
B24. 솔루션 B23의 방법에서, 허용된 인트라 예측 모드의 상이한 세트가 미리 결정된다.
B25. 솔루션 B23의 방법에서, 허용된 인트라 예측 모드의 다른 세트는 시퀀스 파라미터 세트(SPS), 비디오 파라미터 세트(VPS), 픽처 파라미터 세트(PPS), 픽처 헤더, 슬라이스 헤더, 타일 그룹 헤더 또는 코딩 트리 유닛(CTU)에서 시그널링 된다.
B26. 솔루션 B1 내지 B25 중 어느 하나의 솔루션의 방법에서, 변환은 비트 스트림 표현에서 현재 블록을 생성한다.
B27. 솔루션 B1 내지 B25 중 어느 하나의 솔루션의 방법에서, 변환은 현재 블록에서 비트 스트림 표현을 생성한다.
[00237]
B28. 프로세서 및 명령을 갖는 비 일시적 메모리를 포함하는 비디오 시스템의 장치에 있어서, 명령이 프로세서에 의해 실행될 때, 프로세서로 하여금 솔루션 B1 내지 A27 중 어느 하나 또는 어느 하나 이상에 언급된 방법을 구현하도록 하는 장치.
B29. 비 일시적 컴퓨터 판독 가능 매체에 저장된 컴퓨터 프로그램에 있어서, 컴퓨터 프로그램은 솔루션 B1 내지 B27 중 어느 하나 또는 어느 하나 이상에 언급된 방법을 수행하기 위한 프로그램 코드를 포함하는 컴퓨터 프로그램.
본 문서에 설명된 다양한 규칙은 명령, 코드 또는 하드웨어 회로의 형태로 실시 예에 미리 지정되고 저장될 수 있다. 현재 비디오 블록의 비트 스트림 표현은 비트 스트림에 대한 포맷에 의해 정의된 바와 같이 연속 또는 비 연속 비트를 포함할 수 있다. 예를 들어, 현재 비디오 블록에 관한 일부 정보는 비트 스트림 표현의 헤더 필드에 저장될 수 있다.
이 특허 문서에 설명된 솔루션, 예, 실시 예, 모듈 및 기능적 동작의 구현은 본 서면에 개시된 구조 및 그 구조적 등가물을 포함하거나, 이들 중 하나 이상의 조합을 포함하는 디지털 전자 회로 또는 컴퓨터 소프트웨어, 펌웨어 또는 하드웨어에서 구현될 수 있다. 이 서면에 설명된 주제의 구현은 하나 이상의 컴퓨터 프로그램 제품으로 구현될 수 있으며, 즉 데이터 처리 장치에 의한 실행을 위해 또는 동작을 제어하기 위해 컴퓨터 판독 가능 매체에 인코딩 된 컴퓨터 프로그램 명령의 하나 이상의 모듈이다. 컴퓨터 판독 가능 매체는 기계 판독 가능 저장 장치, 기계 판독 가능 저장 기판, 메모리 장치, 기계 판독 가능 전파 신호에 영향을 미치는 물질의 구성, 또는 이들 중 하나 이상의 조합 일 수 있다. 용어 "데이터 처리 장치(data processing apparatus)"는 데이터 처리를 위한 모든 장치, 장치 및 기계를 포함하며, 예를 들어 프로그램 가능한 프로세서, 컴퓨터 또는 다중 프로세서 또는 컴퓨터를 포함한다. 이 장치는 하드웨어 외에도 해당 컴퓨터 프로그램의 실행 환경을 생성하는 코드를 포함할 수 있으며, 예를 들어 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 체제 또는 이들 중 하나 이상의 조합을 구성하는 코드이다. 전파된 신호는 인공적으로 생성된 신호, 예를 들어 적절한 수신기 장치로의 전송을 위해 정보를 인코딩 하기 위해 생성되는 기계 생성 전기, 광학 또는 전자기 신호이다.
컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 응용 프로그램, 스크립트 또는 코드라고도 함)은 컴파일 된 언어 나 해석된 언어를 포함하여 모든 형태의 프로그래밍 언어로 작성될 수 있으며, 독립형 프로그램 또는 모듈, 구성 요소, 서브 루틴 또는 컴퓨팅 환경에서 사용하기에 적합한 기타 유닛을 포함하는 모든 형태로 배포될 수 있다. 컴퓨터 프로그램이 반드시 파일 시스템의 파일에 해당하는 것은 아니다. 프로그램은 다른 프로그램이나 데이터(예를 들어, 마크 업 언어 문서에 저장된 하나 이상의 스크립트)를 보유하는 파일의 일부, 해당 프로그램 전용의 단일 파일, 또는 여러 조정 파일(예를 들어, 하나 이상의 모듈, 서브 프로그램 또는 코드 일부를 저장하는 파일)에 저장될 수 있다. 컴퓨터 프로그램은 하나의 컴퓨터 또는 한 사이트에 위치하거나 여러 사이트에 분산되고 통신 네트워크로 상호 연결된 여러 컴퓨터에서 실행되도록 배포될 수 있다.
본 서면에 설명된 처리 및 로직 흐름은 입력 데이터에 대해 작동하고 출력을 생성함으로써 기능을 수행하기 위해 하나 이상의 컴퓨터 프로그램을 실행하는 하나 이상의 프로그래밍 가능한 프로세서에 의해 수행될 수 있다. 처리 및 로직 흐름은 또한 FPGA(필드 프로그래밍 가능 게이트 어레이) 또는 ASIC(애플리케이션 특정 집적 회로)와 같은 특수 목적 로직 회로로 구현될 수 있다.
컴퓨터 프로그램의 실행에 적합한 프로세서는 예를 들어 범용 및 특수 목적의 마이크로 프로세서와 모든 종류의 디지털 컴퓨터의 임의의 하나 이상의 프로세서를 포함한다. 일반적으로 프로세서는 읽기 전용 메모리 나 랜덤 액세스 메모리 또는 둘 다에서 명령과 데이터를 수신한다. 컴퓨터의 필수 요소는 명령을 수행하기 위한 프로세서와 명령과 데이터를 저장하기 위한 하나 이상의 메모리 장치이다. 일반적으로, 컴퓨터는 또한 데이터를 저장하기 위한 하나 이상의 대용량 저장 장치, 예를 들어 자기, 광 자기 디스크 또는 광 디스크로부터 데이터를 수신하거나 데이터를 전송하거나 둘 모두를 포함하거나 작동 가능하게 결합된다. 그러나 컴퓨터에는 이러한 장치가 필요하지 않다. 컴퓨터 프로그램 명령 및 데이터를 저장하기에 적합한 컴퓨터 판독 가능 매체는 예를 들어 EPROM, EEPROM 및 플래시 메모리 장치와 같은 반도체 메모리 장치; 자기 디스크, 예를 들어 내부 하드 디스크 또는 이동식 디스크; 광 자기 디스크; 및 CD ROM 및 DVD-ROM 디스크를 포함하는 모든 형태의 비 휘발성 메모리, 매체 및 메모리 장치를 포함한다. 프로세서와 메모리는 특수 목적 논리 회로에 의해 보완되거나 통합될 수 있다.
이 특허 문서에는 많은 세부 사항이 포함되어 있지만, 이는 모든 주제(subject matter)의 범위 또는 청구 대상에 대한 제한으로 해석되어서는 안되며, 특정 기술의 특정 실시 예에 특정할 수 있는 특징에 대한 설명으로 해석되어야 한다. 개별 실시 예의 맥락에서 본 특허 문서에 설명된 특정 특징은 또한 단일 실시 예에서 조합하여 구현될 수 있다. 반대로, 단일 실시 예의 맥락에서 설명된 다양한 특징은 또한 다중 실시 예에서 개별적으로 또는 임의의 적절한 하위 조합으로 구현될 수 있다. 더욱이, 특징이 특정 조합으로 작용하는 것으로 위에서 설명될 수 있고 심지어 처음에 그렇게 주장될 수도 있지만, 청구된 조합에서 하나 이상의 특성이 경우에 따라 조합에서 제외될 수 있다. 청구된 조합은 하위 조합 또는 하위 조합의 변형에 대한 것일 수 있다.
마찬가지로, 작업은 특정 순서로 도면에 표시되지만, 이는 바람직한 결과를 달성하기 위해 그러한 동작이 도시된 특정 순서 또는 순차적 인 순서로 수행되거나 모든 예시된 동작이 수행될 것을 요구하는 것으로 이해되어서는 안된다. 더욱이, 이 특허 문헌에 설명된 실시 예에서 다양한 시스템 구성 요소들의 분리는 모든 실시 예에서 그러한 분리를 요구하는 것으로 이해되어서는 안된다.
단지 몇 가지 구현 및 예가 설명되고 다른 구현, 향상 및 변형은이 특허 문서에서 설명되고 예시된 것에 기초하여 이루어질 수 있다.

Claims (17)

  1. 비디오 데이터를 처리하는 방법에 있어서.
    비디오의 현재 비디오 유닛과 상기 비디오의 비트스트림 간 변환을 수행하는 단계
    를 포함하고,
    제1 및 제2 지시(indication) 중 하나는 상기 현재 비디오 유닛을 위한 펄스 코드 변조(Pulse Code Modulation: PCM)의 사용을 나타내고, 상기 제1 및 상기 제2 지시 중 다른 하나는 상기기 현재 비디오 유닛을 위한 인트라 예측 기반 다중 레퍼런스(multiple reference line based intra prediction: MRLIP)의 모드 정보를 나태내는데 사용되고, 및 상기 제2 지시가 상기 비트스트램 내에 존재하는지 여부는 상기 제1 지시와 관련이 있는,
    비디오 데이터 처리 방법.
  2. 제1항에 있어서,
    상기 제1 지시는 상기 PCM의 상기 사용을 나타내는데 사용되고, 상기 제2 지시는 상기 MRLIP의 상기 모드 정보를 나타내는데 사용되고, 및
    상기 제1 지시가 상기 PCM이 상기 현재 비디오 유닛에 적용되는 것을 나타내는 제1 케이스에서, 상기 제2 지시는 상기 비트스트림에 존재하지 않는,
    비디오 데이터 처리 방법.
  3. 제1항 또는 제2항에 있어서,
    상기 모드 정보는 레퍼런스 라인 인덱스를 포함하는,
    비디오 데이터 처리 방법.
  4. 제1항 내지 제3항 중 어느 하나의 항에 있어서,
    상기 현재 비디오 유닛은 루마 비디오 블록 및 적어도 하나의 크로마 비디오 블록을 포함하고, 상기 현재 비디오 유닛에 적용되는 단일 트리에 응답하여 상기 제1 지시는 루마 지시 및 크로마 지시를 포함하고,
    상기 루마 지시는 상기 루마 컴포넌트에 대한 상기 PCM 의 사용을 나타내는데 사용되고, 상기 크로마 지시는 상기 적어도 하나의 크로마 컴포넌트에 대한 상기 PCM의 사용을 나타내는데 사용되는,
    비디오 데이터 처리 방법.
  5. 제4항에 있어서,
    상기 변환 과정에서 상기 루마 지시에 기초하여 상기 루마 비디오 블록에 대해 필터링 프로세스를 적용하는 단계
    를 더 포함하는,
    비디오 데이터 처리 방법.
  6. 제5항에 있어서,
    상기 필터링 프로세스는 디블록킹(deblocking) 필터 프로세스인,
    비디오 데이터 처리 방법.
  7. 제4항에 있어서,
    상기 변환 과정에서 상기 크로마 지시에 기초하여 상기 적어도 하나의 크로마 비디오 블록에 대해 필터링 프로세스를 적용하는 단계
    를 더 포함하는,
    비디오 데이터 처리 방법.
  8. 제7항에 있어서,
    상기 필터링 프로세스는 디블록킹 필터 프로세스인,
    비디오 데이터 처리 방법.
  9. 제4항에 있어서,
    상기 루마 지시는 사용 플래그(usage flag)이고, 상기 크로마 지시는 사용 플래그인,
    비디오 데이터 처리 방법.
  10. 제1항 내지 제9항 중 어느 하나의 항에 있어서,
    상기 현재 비디오 유닛은 루마 비디오 유닛이고, 상기 현재 비디오 유닛에 적용되는 이중(dual) 트리에 응답하여 상기 제1 지시는 루마 지시이고, 또는
    상기 현재 비디오 유닛은 2개의 컬러 컴포넌트를 갖는 크로마 비디오 유닛이고, 상기 현재 비디오 유닛에 적용되는 이중(dual) 트리에 응답하여 상기 제1 지시는 크로마 지시인,
    비디오 데이터 처리 방법.
  11. 제1항 내지 제9항 중 어느 하나의 항에 있어서,
    상기 제1 지시는 상기 MRLIP의 상기 모드 정보를 나타내는데 사용되고, 상기 제2 지시는 상기 PCM의 상기 사용을 나타내는데 사용되고, 및
    상기 제1 지시가 상기 MRLIP가 상기 현재 비디오 유닛에 적용되는 것을 나타내는 제2 케이스에서, 상기 제2 지시는 상기 비트스트림에 존재하지 않는,
    비디오 데이터 처리 방법.
  12. 제11항에 있어서,
    상기 제1 지시가 상기 MRLIP가 상기 현재 비디오 유닛에 적용되지 않는 것을 나타내는 제3 케이스에서, 상기 제2 지시는 상기 비트스트림에 존재하는,
    비디오 데이터 처리 방법.
  13. 제1항 내지 제12항 중 어느 하나의 항에 있어서,
    상기 변환은 상기 현재 비디오 유닛을 상기 비트스트림으로 인코딩하는 것을 포함하는.
    비디오 데이터 처리 방법.
  14. 제1항 내지 제12항 중 어느 하나의 항에 있어서,
    상기 변환은 상기 현재 비디오 유닛을 상기 비트스트림으로부터 디코딩하는 것을 포함하는.
    비디오 데이터 처리 방법.
  15. 비디오 데이터를 처리하는 장치에 있어서.
    프로세서 및 명령어들을 저장하는 비-일시적 메모리를 포함하고,
    상기 명령어들이 상기 프로세서에 의해 실행되는 경우, 상기 프로세서로 하여금:
    비디오의 현재 비디오 유닛과 상기 비디오의 비트스트림 간 변환을 수행하ㄷ도록 하고,
    제1 및 제2 지시(indication) 중 하나는 상기 현재 비디오 유닛을 위한 펄스 코드 변조(Pulse Code Modulation: PCM)의 사용을 나타내고, 상기 제1 및 상기 제2 지시 중 다른 하나는 상기기 현재 비디오 유닛을 위한 인트라 예측 기반 다중 레퍼런스(multiple reference line based intra prediction: MRLIP)의 모드 정보를 나태내는데 사용되고, 및 상기 제2 지시가 상기 비트스트램 내에 존재하는지 여부는 상기 제1 지시와 관련이 있는,
    비디오 데이터 처리 장치.
  16. 비-일시적 컴퓨터 판독가능 저장매체에 있어서,
    명령어들을 저장하고, 상기 명령어들은 상기 프로세서로 하여금:
    비디오의 현재 비디오 유닛과 상기 비디오의 비트스트림 간 변환을 수행하ㄷ도록 하고,
    제1 및 제2 지시(indication) 중 하나는 상기 현재 비디오 유닛을 위한 펄스 코드 변조(Pulse Code Modulation: PCM)의 사용을 나타내고, 상기 제1 및 상기 제2 지시 중 다른 하나는 상기기 현재 비디오 유닛을 위한 인트라 예측 기반 다중 레퍼런스(multiple reference line based intra prediction: MRLIP)의 모드 정보를 나태내는데 사용되고, 및 상기 제2 지시가 상기 비트스트램 내에 존재하는지 여부는 상기 제1 지시와 관련이 있는,
    비-일시적 컴퓨터 판독가능 저장매체.
  17. 비-일시적 컴퓨터 판독가능 저장매체에 있어서,
    비디오의 비트스트림을 저장하고, 상기 비디오의 상기 비트스트림은 비디오 데이터 처리 장치에 의해 수행되는 방법에 의해 생성되고, 상기 방법은:
    비디오의 현재 비디오 유닛과 상기 비디오의 비트스트림 간 변환을 수행하는 단계
    를 포함하고,
    제1 및 제2 지시(indication) 중 하나는 상기 현재 비디오 유닛을 위한 펄스 코드 변조(Pulse Code Modulation: PCM)의 사용을 나타내고, 상기 제1 및 상기 제2 지시 중 다른 하나는 상기기 현재 비디오 유닛을 위한 인트라 예측 기반 다중 레퍼런스(multiple reference line based intra prediction: MRLIP)의 모드 정보를 나태내는데 사용되고, 및 상기 제2 지시가 상기 비트스트램 내에 존재하는지 여부는 상기 제1 지시와 관련이 있는,
    비-일시적 컴퓨터 판독가능 저장매체.



KR1020237042210A 2018-11-22 2019-11-22 비디오 처리에서 펄스 코드 변조 기술 KR20230170819A (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
CNPCT/CN2018/116885 2018-11-22
CN2018116885 2018-11-22
KR1020217013776A KR102636813B1 (ko) 2018-11-22 2019-11-22 비디오 처리에서 펄스 코드 변조 기술
PCT/CN2019/120266 WO2020103931A1 (en) 2018-11-22 2019-11-22 Pulse code modulation technique in video processing

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020217013776A Division KR102636813B1 (ko) 2018-11-22 2019-11-22 비디오 처리에서 펄스 코드 변조 기술

Publications (1)

Publication Number Publication Date
KR20230170819A true KR20230170819A (ko) 2023-12-19

Family

ID=70774307

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020237042210A KR20230170819A (ko) 2018-11-22 2019-11-22 비디오 처리에서 펄스 코드 변조 기술
KR1020217013776A KR102636813B1 (ko) 2018-11-22 2019-11-22 비디오 처리에서 펄스 코드 변조 기술

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020217013776A KR102636813B1 (ko) 2018-11-22 2019-11-22 비디오 처리에서 펄스 코드 변조 기술

Country Status (12)

Country Link
US (2) US11095882B2 (ko)
EP (1) EP3868094A4 (ko)
JP (2) JP7182098B2 (ko)
KR (2) KR20230170819A (ko)
CN (2) CN113170116A (ko)
AU (1) AU2019382524B2 (ko)
BR (1) BR112021009666A2 (ko)
CA (1) CA3120533A1 (ko)
MX (1) MX2021005654A (ko)
SG (1) SG11202105187VA (ko)
WO (2) WO2020103931A1 (ko)
ZA (1) ZA202103316B (ko)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10432929B2 (en) 2018-02-12 2019-10-01 Tencent America LLC Method and apparatus for multiple line intra prediction in video compression
SG11202011714RA (en) 2018-06-29 2020-12-30 Beijing Bytedance Network Technology Co Ltd Partial/full pruning when adding a hmvp candidate to merge/amvp
CN114845108A (zh) 2018-06-29 2022-08-02 抖音视界(北京)有限公司 查找表的更新:fifo、约束的fifo
KR102646649B1 (ko) 2018-06-29 2024-03-13 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 Lut에서의 모션 후보들의 검사 순서
SG11202013028PA (en) 2018-06-29 2021-01-28 Beijing Bytedance Network Technology Co Ltd Interaction between lut and amvp
JP7460617B2 (ja) 2018-06-29 2024-04-02 北京字節跳動網絡技術有限公司 Lut更新条件
TWI728390B (zh) 2018-06-29 2021-05-21 大陸商北京字節跳動網絡技術有限公司 查找表尺寸
TWI724442B (zh) 2018-06-29 2021-04-11 大陸商北京字節跳動網絡技術有限公司 用於查找表更新的編碼的運動信息的選擇
US10567752B2 (en) 2018-07-02 2020-02-18 Tencent America LLC Method and apparatus for intra prediction for non-square blocks in video compression
TWI731364B (zh) 2018-07-02 2021-06-21 大陸商北京字節跳動網絡技術有限公司 Hmvp+非相鄰運動
CN111064959B (zh) 2018-09-12 2023-09-01 北京字节跳动网络技术有限公司 要检查多少个hmvp候选
WO2020101559A1 (en) * 2018-11-15 2020-05-22 Telefonaktiebolaget Lm Ericsson (Publ) Deblocking in a video encoder and/or video decoder
CN113170116A (zh) 2018-11-22 2021-07-23 北京字节跳动网络技术有限公司 为帧内模式视频处理使用参考行
CN113273186A (zh) 2019-01-10 2021-08-17 北京字节跳动网络技术有限公司 Lut更新的调用
WO2020143824A1 (en) 2019-01-13 2020-07-16 Beijing Bytedance Network Technology Co., Ltd. Interaction between lut and shared merge list
WO2020145775A1 (ko) * 2019-01-13 2020-07-16 엘지전자 주식회사 Mrl 기반 인트라 예측을 수행하는 영상 코딩 방법 및 장치
WO2020147773A1 (en) 2019-01-16 2020-07-23 Beijing Bytedance Network Technology Co., Ltd. Inserting order of motion candidates in lut
CN113678456A (zh) 2019-03-15 2021-11-19 Lg 电子株式会社 用信号通知关于色度格式的信息的方法和装置
CN113615193A (zh) 2019-03-22 2021-11-05 北京字节跳动网络技术有限公司 Merge列表构建和其他工具之间的交互
EP3942811A4 (en) 2019-04-24 2022-06-15 ByteDance Inc. CONSTRAINTS ON THE REPRESENTATION OF A DIFFERENTIAL MODULATION BY CODED PULSES OF QUANTIFIED RESIDUE FOR A CODED VIDEO
KR20220002292A (ko) 2019-05-01 2022-01-06 바이트댄스 아이엔씨 양자화된 잔차 차동 펄스 코드 변조 코딩을 사용하는 인트라 코딩된 비디오
WO2020223615A1 (en) 2019-05-02 2020-11-05 Bytedance Inc. Coding mode based on a coding tree structure type
CN114270825A (zh) 2019-08-19 2022-04-01 北京字节跳动网络技术有限公司 基于计数器的帧内预测模式的初始化
US11553208B2 (en) * 2019-11-27 2023-01-10 Tencent America LLC Method and system of video coding using a subset of available intra prediction modes for multiple reference lines
KR20230015373A (ko) 2020-05-22 2023-01-31 바이트댄스 아이엔씨 비디오 비트스트림들에서 코딩된 픽처 버퍼 정보의 시그널링
JP2023526661A (ja) 2020-05-22 2023-06-22 バイトダンス インコーポレイテッド 適合出力サブビットストリームの生成技術
KR20230020980A (ko) 2020-06-09 2023-02-13 바이트댄스 아이엔씨 다중-계층 비디오 비트스트림의 서브-비트스트림 추출
US20220337875A1 (en) * 2021-04-16 2022-10-20 Tencent America LLC Low memory design for multiple reference line selection scheme
WO2023129918A1 (en) * 2021-12-28 2023-07-06 Innopeak Technology, Inc. Intra prediction with multiple reference lines
WO2023195646A1 (ko) * 2022-04-05 2023-10-12 현대자동차주식회사 선택적 다중 참조라인을 이용하는 비디오 코딩을 위한 방법 및 장치
WO2024007158A1 (zh) * 2022-07-05 2024-01-11 Oppo广东移动通信有限公司 一种候选列表构建方法、视频编解码方法、装置和系统

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101270167B1 (ko) * 2006-08-17 2013-05-31 삼성전자주식회사 저복잡도의 이미지 압축 방법 및 장치, 저복잡도의 이미지복원 방법 및 장치
DK3457689T3 (da) 2010-05-25 2020-10-12 Lg Electronics Inc Ny planar forudsigelsestilstand
ES2688086T3 (es) 2010-11-26 2018-10-30 Nec Corporation Dispositivo de descodificación de video, método de descodificación de video y programa
JP5850214B2 (ja) * 2011-01-11 2016-02-03 ソニー株式会社 画像処理装置および方法、プログラム、並びに記録媒体
BR122014031521B1 (pt) 2011-02-10 2022-08-23 Velos Media International Limited Dispositivo e método de processamento de imagem
US9232218B2 (en) * 2012-03-01 2016-01-05 Connesta System and method for data insertion in video stream
RU2647674C1 (ru) 2012-07-02 2018-03-16 Самсунг Электроникс Ко., Лтд. Способ и устройство для кодирования видео и способ и устройство для декодирования видео, определяющие список опорных изображений внешнего прогнозирования в зависимости от размера блока
US9491460B2 (en) * 2013-03-29 2016-11-08 Qualcomm Incorporated Bandwidth reduction for video coding prediction
CN103248892A (zh) * 2013-05-07 2013-08-14 北京大学 一种帧内预测方法及装置
US9948933B2 (en) * 2014-03-14 2018-04-17 Qualcomm Incorporated Block adaptive color-space conversion coding
US9918105B2 (en) * 2014-10-07 2018-03-13 Qualcomm Incorporated Intra BC and inter unification
WO2016153251A1 (ko) * 2015-03-23 2016-09-29 엘지전자 주식회사 비디오 신호의 처리 방법 및 이를 위한 장치
US20160373782A1 (en) * 2015-06-18 2016-12-22 Qualcomm Incorporated Intra prediction and intra mode coding
EP3361726A4 (en) * 2015-11-24 2018-08-15 Samsung Electronics Co., Ltd. Method and device for video decoding and method and device for video encoding
US11259047B2 (en) * 2016-04-06 2022-02-22 Kt Corporation Method and apparatus for processing video signal
EP3446480A1 (en) 2016-04-22 2019-02-27 VID SCALE, Inc. Prediction systems and methods for video coding based on filtering nearest neighboring pixels
WO2017190288A1 (en) * 2016-05-04 2017-11-09 Microsoft Technology Licensing, Llc Intra-picture prediction using non-adjacent reference lines of sample values
US9948930B2 (en) * 2016-05-17 2018-04-17 Arris Enterprises Llc Template matching for JVET intra prediction
WO2017205701A1 (en) * 2016-05-25 2017-11-30 Arris Enterprises Llc Weighted angular prediction for intra coding
US10944963B2 (en) * 2016-05-25 2021-03-09 Arris Enterprises Llc Coding weighted angular prediction for intra coding
ES2699691R1 (es) * 2016-06-24 2019-04-05 Kt Corp Método y aparato para procesar señales de vídeo
US11438582B2 (en) * 2016-08-03 2022-09-06 Kt Corporation Video signal processing method and device for performing intra-prediction for an encoding/decoding target block
EP3590256B1 (en) * 2017-03-10 2023-12-20 HFI Innovation Inc. Method and apparatus of implicit intra coding tool settings with intra directional prediction modes for video coding
US10623738B2 (en) * 2017-04-06 2020-04-14 Futurewei Technologies, Inc. Noise suppression filter
US10742975B2 (en) * 2017-05-09 2020-08-11 Futurewei Technologies, Inc. Intra-prediction with multiple reference lines
CN115022632A (zh) * 2017-10-18 2022-09-06 韩国电子通信研究院 图像编码/解码方法和装置以及存储有比特流的记录介质
CN108322745B (zh) * 2018-02-28 2019-12-03 中南大学 一种基于不可分二次变换模式的帧内快速选择方法
CN113170116A (zh) 2018-11-22 2021-07-23 北京字节跳动网络技术有限公司 为帧内模式视频处理使用参考行

Also Published As

Publication number Publication date
JP7182098B2 (ja) 2022-12-02
JP7425158B2 (ja) 2024-01-30
MX2021005654A (es) 2021-07-07
JP2022508194A (ja) 2022-01-19
WO2020103931A1 (en) 2020-05-28
JP2023011862A (ja) 2023-01-24
KR102636813B1 (ko) 2024-02-15
CA3120533A1 (en) 2020-05-28
EP3868094A1 (en) 2021-08-25
WO2020103932A1 (en) 2020-05-28
CN113316931A (zh) 2021-08-27
KR20210090175A (ko) 2021-07-19
CN113170116A (zh) 2021-07-23
US20210029352A1 (en) 2021-01-28
AU2019382524B2 (en) 2023-02-02
CN113316931B (zh) 2024-04-12
ZA202103316B (en) 2022-10-26
US11095882B2 (en) 2021-08-17
EP3868094A4 (en) 2022-02-23
AU2019382524A1 (en) 2021-06-10
BR112021009666A2 (pt) 2021-08-17
SG11202105187VA (en) 2021-06-29
US20210344908A1 (en) 2021-11-04
US11743453B2 (en) 2023-08-29

Similar Documents

Publication Publication Date Title
KR102636813B1 (ko) 비디오 처리에서 펄스 코드 변조 기술
KR102630411B1 (ko) 크로마 잔차 조인트 코딩을 위한 구문 요소의 시그널링
KR102555673B1 (ko) 코딩 방법 및 장치
EP3350995B1 (en) Palette predictor initialization and merge for video coding
KR20220006055A (ko) 다중 인트라 코딩 방법 사이의 상호 작용
KR20220036911A (ko) 예측 과정에서 팔레트 모드 코딩
KR20220039721A (ko) 색상 포맷에 기초한 크기 제한
US11388476B2 (en) Block partitioning method and apparatus
KR20220002917A (ko) 코딩 트리 구조 유형을 기반으로 한 코딩 모드
US11870996B2 (en) Transform bypass coded residual blocks in digital video
KR20220064961A (ko) 크로마 인트라 모드에 기초한 크기 제한
CN112673626A (zh) 各分割约束元素之间的关系
KR102595146B1 (ko) 비디오 인코더, 비디오 디코더 및 그에 대응하는 방법
RU2806548C2 (ru) Способ импульсно-кодовой модуляции для обработки видео
KR20220165277A (ko) 비디오 코딩에서 변환 스킵 블록들에 대한 최소 허용 양자화
WO2020084604A1 (en) Fast methods for partition tree decision

Legal Events

Date Code Title Description
A107 Divisional application of patent