KR102381198B1 - 경계 강제 파티션에 대한 개선 - Google Patents

경계 강제 파티션에 대한 개선 Download PDF

Info

Publication number
KR102381198B1
KR102381198B1 KR1020207002484A KR20207002484A KR102381198B1 KR 102381198 B1 KR102381198 B1 KR 102381198B1 KR 1020207002484 A KR1020207002484 A KR 1020207002484A KR 20207002484 A KR20207002484 A KR 20207002484A KR 102381198 B1 KR102381198 B1 KR 102381198B1
Authority
KR
South Korea
Prior art keywords
partitioning
boundary
coding
unit
picture
Prior art date
Application number
KR1020207002484A
Other languages
English (en)
Other versions
KR20200020914A (ko
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 후아웨이 테크놀러지 컴퍼니 리미티드
Priority to KR1020227010236A priority Critical patent/KR102586674B1/ko
Publication of KR20200020914A publication Critical patent/KR20200020914A/ko
Application granted granted Critical
Publication of KR102381198B1 publication Critical patent/KR102381198B1/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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/136Incoming video signal characteristics or properties
    • 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/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/1883Methods 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 relating to sub-band structure, e.g. hierarchical level, directional tree, e.g. low-high [LH], high-low [HL], high-high [HH]
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • 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

Abstract

본 개시는 이미지 또는 이미지 슬라이스의 파티셔닝에 관한 것이다. 상세하게는, 이미지 또는 이미지 슬라이스는 수직 및 수평 방향으로 정수 개의 코딩 트리 단위로 분할된다. 나머지 경계 부분은 이후 적어도 부분적으로 강제 분할되어서, 가장 깊은 파티셔닝 레벨은 이진 파티셔닝의 결과, 즉, 일측이 타측보다 더 긴, 코딩 단위를 포함한다. 더 긴 측은 이미지 또는 이미지 슬라이스 경계에 대해 평행하거나 일치한다.

Description

경계 강제 파티션에 대한 개선
본 발명은 이미지 및/또는 비디오 코딩 및 디코딩에 관한 것으로, 특히 이미지를 코딩 단위로 분할하는 것에 관한 것이다.
현재 블록 기반 하이브리드 비디오 코덱은 예측 코딩(predictive coding)을 이용한다. 비디오 시퀀스의 픽처(picture)는 픽셀의 블록으로 세분화되고 이 블록들은 코딩된다. 픽셀 단위로 블록 픽셀을 코딩하는 대신, 전체 블록이 공간적 또는 시간적으로 가까운 블록 내의 이미 인코딩된 픽셀을 사용하여 예측된다. 인코더는 블록과 그의 예측 간의 차이만을 추가로 처리한다. 추가 처리는 전형적으로 변환 도메인에서 블록 픽셀의 계수로의 변환을 포함한다. 계수는 이후 추가로 압축되고(예를 들어, 양자화에 의해) 더 밀집되어서(예를 들어, 엔트로피 코딩에 의해) 비트스트림을 형성할 수 있다. 비트스트림은 디코더가 인코딩된 비디오를 디코딩할 수 있게 하는 임의의 시그널링 정보를 더 포함할 수 있다. 예를 들어, 시그널링은 입력 픽처의 크기, 프레임 레이트(frame rate), 양자화 단계 지시, 픽처의 블록에 적용되는 예측 등과 같은 인코더 설정에 관한 설정을 포함할 수 있다.
블록과 그의 예측 간의 차이를 블록의 잔차(residual)라고 한다. 보다 구체적으로, 블록의 각 픽셀은 잔차를 가지며, 이는 해당 픽셀의 강도 레벨과 그의 예측된 강도 레벨 간의 차이이다. 픽셀의 강도 레벨은 픽셀 값 또는 픽셀의 값으로 지칭된다. 블록의 모든 픽셀의 잔차는 총괄적으로 블록의 잔차로 지칭된다. 달리 말해서, 블록은 블록의 모든 픽셀의 잔차로 구성된 집합(set) 또는 행렬(matrix)인 잔차를 가진다. 잔차는 이후 시그널링 정보와 함께 변환, 양자화, 및 코딩된다. 코딩은 산술 코딩 또는 다른 엔트로피 코딩 유형을 포함하는 다양한 형태의 고정 및 가변 길이 코딩을 포함할 수 있다.
블록 기반 하이브리드 비디오 코딩에서, 각 픽처는 샘플의 블록으로 파티셔닝되고 픽처 내의 다수의 블록은 독립적으로 디코딩 가능한 엔티티로서 슬라이스를 형성하기 위해 집성된다. 예측 및/또는 변환이 적용되는 블록을, 코딩 단위(coding unit, CU) 또는 코딩 블록(coding block, CB)이라고 한다. 코딩 단위는 서로 다른 크기를 가질 수 있다.
예를 들어, 고효율 비디오 코딩(High-Efficiency Video Coding, HEVC, H.265로도 알려져 있음)에서, 비디오 프레임은 코딩 트리 단위(coding tree units, CTUs, 코딩 트리 블록(coding tree blocks, CTBs)라고도 함)으로 세분된다. CTB는 동일한 크기, 예를 들어 64 x 64 샘플의 해제된 정사각형 블록이다. 각 CTB는 블록 파티셔닝 쿼드 트리 구조인 코딩 트리의 루트로서 기능한다. CTB는 코딩 트리 구조를 따라 코딩 블록으로 더욱 세분될 수 있다. 코딩 블록들에 대해, 예측 유형이 결정된다. 코딩 블록은 변환 및 양자화가 적용되는 더 작은 변환 블록으로 추가로 분할될 수 있다.
HEVC에서의 파티셔닝에 대한 자세한 내용은 V에서 찾을 수 있다. Sze et al(Ed.), High Efficiency Video Coding( HEVC ): Algorithms and Architectures, Springer, 2014, Chapter 3.2.
게다가, WO 2016/090568은 쿼드 트리와 이진 트리 구조를 사용하여 단위를 다수의 더 작은 단위로 파티셔닝하기 위한 이진 트리 구조를 보인다. 따라서, 루트 단위는 먼저 쿼드 트리 구조에 의해 파티셔닝되고, 이후 쿼드 트리의 리프 노드가 이진 트리 구조에 의해 추가로 파티셔닝된다.
HEVC 표준에서, 슬라이스 또는 픽처 경계에 위치한 CTU 및 CU는 리프 노드의 우측 하부 샘플이 슬라이스 또는 픽처 경계 내에 위치할 때까지 쿼드 트리 파티셔닝을 사용하여 강제 분할될 것이다. 강제 쿼드 트리 파티셔닝은 분할 규칙이 고정(사전 정의)되어 있는 한, 비트스트림 내에서 시그널링될 필요가 없다. 강제 파티셔닝의 목적은 인코더 및 디코더가 CTU의 각각의 수평 및/또는 수직 크기의 정수 배가 아닌 수평 및/또는 수직 크기를 갖는 픽처 및 슬라이스를 처리할 수 있게 하는 것이다.
WO 2016/090568뿐만 아니라 HEVC에서, 강제 파티셔닝 프로세스는 전체 현재 CU가 슬라이스 또는 픽처 경계 내에 놓여질 때까지 레이트-왜곡(rate-distortion, RC) 최적화없이 쿼드-트리 접근법에 의해 프레임 경계 상에 위치한 CTU 및 CU를 계층적으로 분할한다. 이러한 강제 파티션은 비트스트림 내에서 시그널링될 필요가 없다. 하지만, 매우 작은 코딩 단위로의 분할은 작은 코딩 단위의 별도의 추가 처리(코딩, 디코딩)과 관련하여 추가적인 복잡성 및 시그널링 요구사항을 가져올 수 있다.
본 개시에 따르면, 강제 파티셔닝은 적어도 가장 깊은 파티셔닝 계층 레벨로의, 또는 적어도, 코딩 단위가 경계 부분 내에 완전히 남아 있지 않는 가장 깊은 파티셔닝 계층 레벨 이외의 또는 파티셔닝 레벨로의 이진 트리 분할을 적용한다.
이러한 분할은 가장 깊은 계층 구조 레벨에서 더 적은 수의 코딩 단위를 가져오기 때문에 더 높은 효율을 제공한다.
본 발명의 일 측면에 따르면, 이미지 부분을 코딩 단위로 분할하는 장치가 제공되고, 동작시, 이미지 부분을 미리 결정된 크기를 갖는 정수 개의 코딩 트리 단위와 수평 또는 수직 방향인 적어도 제1 방향에서 미리 결정된 크기보다 작은 크기의 경계 부분으로 세분화하고, 각각의 수평 및 수직 방향으로 서로 다른 크기를 갖는 가장 깊은 코딩 단위를 포함하는 코딩 단위로 경계 부분을 계층적으로 파티셔닝하는 처리 회로를 포함하고, 상기 가장 깊은 코딩 단위는 제1 방향으로 더 작다.
이 접근법의 이점은 픽처 경계 상에서 너무 많은 작은 CU를 피함으로써 경계 부분의 보다 효율적인 코딩이 될 수 있다는 것이다.
일 예시에 따르면, 처리 회로는 적어도 가장 깊은 파티셔닝 레벨에서 이진 트리 분할에 의해 경계 부분을 파티셔닝하도록 구성된다.
이진 트리 분할에 추가하여 또는 대안적으로, 처리 회로는 쿼드 트리 분할에 의해 경계 부분을 파티셔닝하도록 구성될 수 있다.
일 예시에 따르면, 처리 회로는, 동작시, N개의 가장 얕은 레벨에서 쿼드 트리 분할에 의해 경계 부분을 파티셔닝하고, N은 0보다 크거나 같고 파티셔닝 계층 레벨의 수보다 작은 정수이고, 나머지 파티셔닝 계층 레벨에서 이진 트리 분할에 의해 경계 부분을 파티셔닝한다.
이 접근은 구성의 유연성을 높이고 경계가 많은 수의 작은 사각형 경계 CU를 피함으로써 효율적으로 코딩되는 것을 또한 보장한다.
일 구현에서, 처리 회로는, 동작시, 가장 깊은 레벨의 코딩 단위가 경계 부분 내에 전체적으로 남아있을 때까지 경계 부분을 파티셔닝한다.
일 구현에서, 처리 회로는, 동작시, 수평 및 수직 방향으로 이진 트리 분할에 의해 경계 부분을 파티셔닝한다.
추가로 또는 대안적으로, 처리 회로는, 동작시, 쿼드-트리 분할에 의해 경계 부분의 모서리 부분을 각 계층 레벨에서 파티셔닝한다.
경계 부분 CTU에 대한 쿼드 트리 및 이진 트리 분할을 혼합하는 대신에, 처리 회로는 이진 트리 분할에 의해 모든 파티셔닝 레벨에서 경계 부분을 파티셔닝하도록 구성될 수 있다.
본 발명의 일 측면에 따르면, 비디오 시퀀스의 이미지를 인코딩하는 장치가 제공되며, 상기 장치는 위에서 설명된 예시 및 구현 중 임의의 것에 따라 이미지 부분을 코딩 단위로 분할하는 장치; 코딩 단위를 인코딩하도록 구성된 이미지 코딩부; 및 상기 코딩된 코딩 단위 및 상기 코딩 트리 단위가 파티셔닝되는 방법을 지시하는 파티셔닝 정보를 포함하는 비트스트림을 생성하도록 구성된 비트스트림 형성부를 포함한다.
예를 들어, 인코더는 가장 깊은 레벨을 제외한 임의의 파티셔닝 레벨에 대한 레이트 왜곡 최적화에 따라 경계 부분의 계층적으로 파티셔닝을 결정하도록 구성된 레이트 왜곡 최적화부를 더 포함한다.
본 발명의 다른 측면은 비디오 시퀀스의 이미지를 디코딩하는 장치를 포함하며, 위에서 설명된 예시 및 구현 중 임의의 것에 따라 디코딩될 이미지 부분의 코딩 단위로의 분할을 결정하는 장치; 이미지 부분의 결정된 분할에 기반하여, 코딩된 코딩 단위 및 코딩 트리 단위가 파티셔닝되는 방법을 지시하는 파티셔닝 정보를 포함하는 비트스트림을 파싱하는 비트스트림 파서, 및 코딩된 코딩 단위를 디코딩하는 이미지 디코딩부를 포함한다.
예시적인 구현에 따르면. 경계 부분의 코딩 단위로의 분할은 미리 정의된 분할이고, 분할 정보는 경계 부분의 분할과 관련이 없다.
디코딩 장치 및/또는 인코딩 장치의 처리 회로는 N개의 가장 얕은 레벨에서 쿼드 트리 분할에 의해 경계 부분을 파티셔닝하고 - N은 0보다 크거나 같고 파티셔닝 계층 레벨의 수보다 작은 정수임 -; 나머지 파티셔닝 계층 레벨에서 이진 트리 분할에 의해 경계 부분을 파티셔닝하도록 구성될 수 있다. 게다가, 예시적인 구현에서, 파티셔닝 정보는 N을 포함하거나 또는 N은 처리될 이미지를 인코딩하기 위해 적용된 예측의 유형에 도출된다. N은 수평 또는 수직 방향에서 미리 결정된 크기보다 작은 크기를 갖는 경계 부분의 크기에 기반하여 도출될 수 있다.
본 발명의 일 측면에 따르면, 이미지 부분을 미리 결정된 크기를 갖는 정수 개의 코딩 트리 단위와 수평 또는 수직 방향인 적어도 제1 방향에서 미리 결정된 크기보다 작은 크기의 경계 부분으로 세분화하는 단계, 및 각각의 수평 및 수직 방향으로 서로 다른 크기를 갖는 가장 깊은 코딩 단위를 포함하는 코딩 단위로 경계 부분을 계층적으로 파티셔닝하는 단계를 포함하는 방법이 제공되고, 가장 깊은 코딩 단위는 제1 방향으로 더 작다.
하나의 예시적인 실시예에서, 경계 부분을 파티셔닝하는 단계는, 가장 얕은 파티셔닝 레벨인 현재 파티셔닝 레벨로 시작하는 단계; 현재 파티셔닝 레벨의 코딩 단위가 경계 부분 이내로 완전히 들어갈 때까지, 경계 부분을 현재 파티셔닝 레벨의 코딩 단위로 순차적으로 분할하는 단계; 현재 파티셔닝 레벨의 코딩 단위가 경계 부분 내에 들어가지 않는 즉시, 파티셔닝 레벨을 증가시키고 코딩 단위를 추가로 분할하는 단계를 더 포함하고, 여기서 쿼드 트리 파티셔닝은 N개의 가장 얕은 파티셔닝 레벨에 대해 사용되고 이진 트리 파티셔닝은 다른 파티셔닝 레벨에 대해 사용되며. N은 0보다 크거나 같으면서 파티셔닝 계층 레벨의 수보다 작은 정수이다.
본 발명의 다른 측면에 따르면, 위에서 지정된 방법들 중 임의의 방법에 따라 이미지 부분을 코딩 단위로 분할하는 단계; 코딩 단위를 인코딩하는 단계; 및 코딩된 코딩 단위 및 코딩 트리 단위가 파티셔닝된 방법을 지시하는 파티셔닝 정보를 포함하는 비트스트림을 생성하는 단계를 포함하는 비디오 시퀀스의 이미지를 인코딩하는 방법이 제공된다.
본 발명의 다른 측면에 따르면, 위에서 지정된 방법들 중 임의의 방법에 따라 디코딩될 이미지 부분의 코딩 단위로의 분할을 결정하는 단계; 이미지 부분의 결정된 분할에 기반하여, 코딩된 코딩 단위 및 코딩 트리 단위가 파티셔닝되는 방법을 지시하는 파티셔닝 정보를 포함하는 비트스트림을 파싱하는 단계; 및 코딩된 코딩 단위를 디코딩하는 단계를 포함하는, 비디오 시퀀스의 이미지를 디코딩하는 방법이 제공된다.
일 예시에 따르면, 파티셔닝 단계는 적어도 가장 깊은 파티셔닝 레벨에서 이진 트리 분할에 의해 경계 부분을 파티셔닝한다.
이진 트리 분할에 추가하여 또는 대안적으로, 파티셔닝 단계는 쿼드-트리 분할에 의해 경계 부분을 파티셔닝할 수도 있다.
일 예시에 따르면, 파티셔닝 단계는 N개의 가장 얕은 레벨에서 쿼드 트리 분할에 의해 경계 부분을 파티셔닝하며 - N은 0보다 크거나 같으면서 파티셔닝 계층 레벨의 수보다 작은 정수임 -; 나머지 파티셔닝 계층 레벨에서 이진 트리 분할에 의해 경계 부분을 파티셔닝한다.
일 구현에서, 파티셔닝 단계는 가장 깊은 레벨의 코딩 단위가 경계 부분 내에 전체적으로 남아있게 될 때까지 경계 부분을 파티셔닝한다.
일 구현에서, 처리 회로는, 동작시, 수평 및 수직 방향으로 이진 트리 분할에 의해 경계 부분을 파티셔닝한다.
추가로 또는 대안적으로, 처리 단계는 쿼드-트리 분할에 의해 각 계층 레벨에서 경계 부분의 모서리 부분을 파티셔닝한다.
경계 부분 CTU에 대한 쿼드 트리 및 이진 트리 분할을 혼합하는 대신에, 파티셔닝 단계는 이진 트리 분할에 의해 모든 파티셔닝 레벨에서 경계 부분을 파티셔닝할 수 있다.
본 발명의 다른 측면에 따르면, 프로세서에 의해 실행될 때, 프로세서로 하여금 위의 측면 및 예시 중 임의의 것에 따른 방법을 실행하도록 하는 명령을 저장하는, 컴퓨터 판독 가능 매체가 제공된다.
다음의 예시적인 실시예는 첨부된 그림 및 도면을 참조하여 보다 상세히 설명된다.
도 1은 비디오 인코더의 예시적인 구조를 도시하는 블록도이다.
도 2는 비디오 디코더의 예시적인 구조를 도시하는 블록도이다.
도 3은 HEVC에 의해 이용되는 쿼드 트리 파티셔닝의 예시를 나타내는 개략도이다.
도 4는 쿼드 트리/이진 트리 파티셔닝의 예시를 나타내는 개략도이다.
도 5는 경계 부분의 강제 쿼드 트리 분할을 나타내는 개략도이다.
도 6은 인코더 또는 디코더 내에서 분할부로서 동작할 수 있는 장치의 예시를 나타내는 블록도이다.
도 7은 경계 부분 분할을 나타내는 개략도이다.
도 8은 수직 경계의 강제 이진 트리 분할의 예시를 도시한 개략도이다.
도 9는 수직, 수평, 및 결합된 경계 상의 파티셔닝의 예시를 나타내는 개략도이다.
도 10은 예시적인 파티셔닝 구문 결정을 도시한 흐름도이다.
본 개시는 추가 처리를 위해 이미지를 더 작은 단위로 분할하는 것에 관한 것이다. 이러한 분할은 정지 이미지(still image) 또는 비디오 이미지 코딩 및 디코딩에 유리하게 사용될 수 있다. 아래에서는, 본 개시에 따른 분할(splitting)을 구현할 수 있는 예시적인 비디오 코더 및 디코더가 설명된다.
도 1은 비디오 스트림의 프레임 또는 픽처의 입력 블록을 수신하기 위한 입력 및 인코딩된 비디오 비트스트림을 제공하기 위한 출력을 포함하는 인코더(100)를 도시한다. 본 개시에서 용어 "프레임"은 픽처의 동의어로서 사용된다. 하지만, 본 발명은 인터레이싱(interlacing)이 적용되는 경우의 분야에도 적용될 수 있음이 주목된다. 일반적으로, 픽처는 m 곱하기 n개의 픽셀을 포함한다. 이들은 이미지 샘플에 대응하고 각각 하나 이상의 색 성분을 포함할 수 있다. 간단히 하기 위해, 아래의 설명은 휘도의 샘플을 의미하는 픽셀을 언급한다. 하지만, 본 개시의 분할 접근은 크로미넌스(chrominance)를 포함하는 또는 임의의 색 성분 또는 RGB 등과 같은 색 공간의 성분에 적용될 수 있다는 것이 주목된다. 한편, 하나의 성분에 대해서만 분할을 수행하고, 결정된 분할을 더 많은(또는 모든) 나머지 성분에 적용하는 것이 유리할 수 있다.
인코더(100)는 파티셔닝(partitioning), 예측(prediction), 변환(transformation), 양자화(quantization), 및 엔트로피 코딩(entropy coding)을 비디오 스트림에 적용하도록 구성된다.
분할부(110)에서, 입력 비디오 프레임은 코딩 전에 추가로 분할된다. 코딩될 블록들은 반드시 동일한 크기를 가질 필요는 없다. 하나의 픽처는 서로 다른 크기의 블록을 포함할 수 있고, 비디오 시퀀스의 서로 다른 픽처의 블록 래스터(block raster)는 또한 다를 수 있다. 상세히, 각 비디오 이미지(픽처)는 먼저 동일한 고정 크기의 CTU로 세분화된다. CTU 크기는, 예를 들어 표준에서, 고정되고 또한 미리 정의될 수 있다. HEVC에서, 크기 64 x 64가 사용된다. 하지만, 본 개시는 표준화된 고정 크기로 제한되지 않는다. 인코더에서 설정될 수 있고 비트스트림 이내의 시그널링 파라미터로서 제공될 수 있는 CTU 크기를 제공하는 것이 유리할 수 있다. 예를 들어, 서로 다른 CTU 크기는 각각의 서로 다른 픽처 크기 및/또는 콘텐츠 유형에 유리할 수 있다. CTU 크기는 임의의 시그널링 레벨에서 시그널링 될 수 있고, 예를 들어, 전체 비디오 시퀀스 또는 그 부분(즉, 복수의 픽처) 또는 픽처마다 개별인 것이 일반적일 수 있다. 이에 상응하여, 그것은, 현재 코덱(H.264/AVC, H.265/HEVC) 또는 유사한 파라미터 집합으로부터 알려진, 예를 들어, 픽쳐 파라미터 집합(Picture Parameter Set, PPS), 또는 시퀀스 파라미터 집합(Sequence Parameter Set, SPS), 또는 비디오 파라미터 집합(Video Parameter Set, VPS) 이내에서 시그널링될 수 있다. 대안적으로, 그것은 슬라이스 헤더 내에 또는 다른 레벨에서 지정될 수 있다. CTU 크기는 64 x 64와 다른 값을 가질 수 있다. 예를 들어 128 x 128 샘플 크기일 수 있다. 일반적으로, 쿼드 트리(quad-tree)의 이진 트리(binary-tree)에 의한 계층적 분할을 수행하기 위해, 2의 거듭 제곱인, 즉, n이 2보다 큰 정수인 2^n의 형식으로 CTU 크기를 제공하는 것이 유리할 수 있다.
픽처를 CTU로 파티셔닝하는 것 및 CTU를 CU로 파티셔닝하는 것은 V. Sze et al (Ed.), HEVC (High Efficiency Video Coding): Algorithms and Architectures, Springer, 2014. 로부터 도 3에 도시되어 있다. 파티셔닝은 다양한 로컬 특성에 적응시키기 위해 쿼드 트리 구조를 따른다. 왼쪽에서, 도 3은 오른쪽의 쿼드 트리 구조를 준수하는 CTU 분할을 계층적으로 도시한다. 상세히, 코딩 트리는 CTU의 세분(subdivision)을 CU로 구체화하는, 구문(syntax)을 정의한다. CTU와 마찬가지로, CU는 사각형의 샘플 블록 및 이러한 샘플 블록과 관련된 구문으로 구성된다. 따라서, 파티셔닝은 계층 깊이 1의 4개의(쿼드 트리 내에서) CU로 세분되어야 하는 것은 아니지만 세분될 수 있는 CTU(계층 깊이 0)로부터 시작하여, 계층적으로 수행된다. 도 3에서, CTU는 제1 계층 깊이(레벨)의 CU(8 및 16)으로 분할되고, 이는 더 이상 분할되지 않고 그러므로 쿼드 트리의 리프(leaf)와 함께, 계층 깊이 2의 CU(깊이-2 CU)로 추가 분할되는 것인, 두 개의 추가 CU를 형성하는 것이다. 상세히, 좌측 상부 깊이-1 CU는 쿼드 트리 리프를 형성하는 깊이-2 CU(1, 2, 7)와, 모두 리프(leaf)인 깊이 3 CU(3, 4, 5, 및 6)으로 추가 분할되는 또 다른 CU로 또한 세분화된다. 유사하게, 좌측 하부 깊이-1 CU는, 또한 쿼드 트리의 리프인 깊이-2 CU(13, 14, 및 15)와, 모두 리프이고, 그러므로 더 이상 분할되지 않는 레벨-3 CU(9, 10, 11, 및 12)로 더 분할되는 나머지 CU로 추가 분할된다.
HEVC 내의 쿼드 트리 분할을 위한 예시적인 구문이 아래 표 1에 도시되어 있다. 표 1은 CTU 분할 플래그를 위한 구문일 수 있다.
Figure 112020008245016-pct00001
상세하게는, CTU 레벨에서, split_cu_flag라는 플래그가 비트스트림에 포함되는데, 이는 완전한 CTU가 CU를 형성하는지 여부를 또는 그것이 정사각 샘플 블록에 대응하는 동일한 크기의 4개의 블록으로 분할되는지 여부를 지시한다. CTU가 분할되면, 각각의 결과 블록에 대해, 블록이 CU를 나타내는지 여부 또는 그것이 4개의 동일한 크기의 블록으로 추가 분할되는지 여부를 지정하는, 또 다른 split_cu_flag가 전송된다. 이 계층적 세분화는 결과 블록이 더 이상 세분화되지 않을 때까지 계속된다. CU의 최소 크기는 시퀀스 파라미터 집합 내에서 시그널링되며, 이는 8 x 8 루마 샘플(luma sample)에서 CTU의 크기까지를 포함하는 범위가 될 수 있다. 최소 CU 크기가 계층적 세분화 프로세스 내에서 도달되면, 분할 플래그는 대응하는 블록에 대해 전송되지 않고, 대신에 이들 블록이 더 이상 분할되지 않는 것으로 추론된다. 일반적인 HEVC 인코더 설정에서, 지원되는 CU 크기의 최대 범위가 활용되어서, 8 x 8에서 64 x 64 샘플 범위의 CU가 사용될 수 있다. CTU 내부의 CU는 깊이-우선 순으로(depth-first order) 코딩된다. 이 코딩 순서는 z-스캔(z-scan)이라고도 한다. 각 CU에 대해, 슬라이스의 상부(top) 또는 왼쪽(left) 경계에 위치하는 것을 제외하고, CU의 위의 그리고 CU의 좌측의 모든 샘플은 이미 코딩되어서, 대응하는 샘플은 내부 예측(intra prediction)에 사용될 수 있고 관련된 코딩 파라미터는 현재 CU의 코딩 파라미터를 예측하기 위해 사용될 수 있다.
달리 말해, split_cu_flag[ x0 ][ y0 ]는 코딩 단위가 수평 및 수직 크기의 절반을 갖는 코딩 단위로 분할되는지 여부를 지정한다. 어레이 인덱스 x0, y0은 픽처의 좌측 상부 루마 샘플에 대한 고려된 코딩 블록의 좌측 상부 루마 샘플의 위치(x0, y0)를 지정한다. split_cu_flag[ x0 ][ y0 ]가 없으면, 아래가 디코더에서 적용된다.
log2CbSize(코딩 블록 크기를 지정하는 파라미터)가 MinCbLog2SizeY(최소 구성 가능 코딩 단위 크기를 지정하는 파라미터)보다 크면, split_cu_flag[ x0 ][ y0 ]의 값은 1과 같은 것으로 추론된다.
그렇지 않으면(log2CbSize가 MinCbLog2SizeY와 동일하면), split_cu_flag[ x0 ][ y0 ]의 값은 0과 같은 것으로 추론된다.
배열 CtDepth[ x ][ y ]은 위치( x, y )를 커버하는 루마 코딩 블록에 대한 코딩 트리 깊이를 지정한다. split_cu_flag[ x0 ][ y0 ]가 0과 같을 때, CtDepth[ x ][ y ]는 x = x0..x0 + nCbS - 1 및 y = y0..y0 + nCbS - 1인 cqtDepth와 동일한 것으로 추론된다.
도 4는 혼합된 쿼드 트리 및 이진 트리 파티셔닝을 도시한다. 쿼드 트리 파티셔닝은 실선으로 지시되는 반면 이진 트리 파티셔닝은 점선으로 지시된다. 이진 트리에 의해 추가로 분할될 코딩 단위를 나타내는 노드 상의 라벨 1 또는 0은 이진 분할이 각각 수직 또는 수평으로 적용되는지 여부를 지시한다.
루마 샘플에서, 비디오 픽처의 수평 및 수직 크기는, 시퀀스 파라미터 집합 내에서 전송되는, 루마 샘플에서, 최소 CU 크기의 정수 배(integer multiple)이어야 하지만, CTU 크기의 정수 배일 필요는 없다. 비디오 픽처의 수평 또는 수직 크기가 CTU 크기의 정수 배를 나타내지 않으면, 경계에서의 CTU는 결과 블록의 경계가 픽처 경계와 일치할 때까지 분할될 것으로 추론된다. 이러한 강제 분할에 대해, 분할 플래그는 전송되지 않지만, 결과 블록은 위에서 설명된 쿼드 트리 구문을 사용하여 추가로 분할될 수 있다. 픽처 영역의 외부에 놓여 있는 CU는 코딩되지 않는다.
이 분할은 도 5에 도시되어 있다. 상세히, 도 5는 56개의 라인(128 샘플 길이)이 슬라이스 또는 이미지의 경계 부분인 프레임 경계를 도시한다. 프레임 경계 아래의 CTU의 일부는, 예를 들어, 프레임 경계가 하부 픽처 경계이면, 다른 슬라이스에 속하거나 전혀 존재하지 않을 수 있다. 알 수 있듯이, 강제 쿼드 트리 분할은 128 x 56 샘플에 적용된다.
크로마(chroma) CTB의 세분화는 HEVC에서 항상 각각의 루마 CTB의 세분화와 정렬된다. 본 개시는 크로마 성분을 동일한 방식으로 다룰 수 있지만, 이에 제한되지는 않음이 주목된다. 다른 색상 성분의 독립적인 분할도 역시 있을 수 있다.
분할부(110)에서 이미지 분할을 수행한 후, 변환, 양자화, 및 엔트로피 코딩이 인코딩된 비디오 비트스트림을 출력으로서 생성하기 위해 변환부(130), 양자화부(140), 및 엔트로피 인코딩부(150)에 의해 이행된다.
비디오 스트림은 복수의 프레임을 포함할 수 있다. 예를 들어, 비디오 스트림의 제1 프레임의 블록은 내부 예측부(intra-prediction unit)(190)에 의해 내부 코딩된다(intra coded). 인트라 프레임(intra frame)은 해당 프레임의 정보만 사용하여 코딩되어서, 다른 프레임과 독립적으로 디코딩될 수 있다. 인트라 프레임은 따라서, 예를 들어, 랜덤 액세스를 위해, 비트스트림 내에 진입 지점(entry point)을 제공할 수 있다. 비디오 스트림의 다른 프레임의 블록은 상호 예측부(inter prediction unit)(195)에 의해 상호 코딩될 수 있고(inter-coded), 상호 코딩된 프레임의 각 블록은, 예를 들어, 이전에 코딩된 프레임인, 또 다른 프레임(기준 프레임(reference frame))의 블록으로부터 예측된다. 모드 선택부(180)는 프레임의 블록이 내부 예측될 것인지 또는 상호 예측될 것인지 여부, 즉, 블록이 내부 예측부(190)에 의해 처리될 것인지 또는 상호 예측부(195)에 의해 처리될 것인지 여부를 선택하도록 구성된다. 모드 선택부(180)는 또한 상호 예측의 내부의 파라미터를 제어한다. 이미지 정보의 리프레쉬를 가능하게 하기 위해, 상호 코딩된 프레임은 상호 코딩된 블록뿐만 아니라, 하나 이상의 내부 코딩된 블록을 포함할 수 있다. 인트라 프레임에는, 반대로, 내부 코딩된 블록만 포함되고 상호 코딩된 블록은 포함되지 않는다. 인트라 프레임은, 디코딩을 위한 진입 지점, 즉, 디코더가 선행하는 프레임으로부터의 정보를 사용하지 않고 디코딩을 시작할 수 있는 지점을 제공하기 위해 비디오 시퀀스(예를 들어, 규칙적으로, 즉, 특정 개수의 인터 프레임 이후에 매번) 내에 삽입될 수 있다.
내부 예측부(190)는 블록 예측부이다. 공간적 또는 시간적 예측을 수행하기 위해, 코딩된 블록은 역양자화부(inverse quantization unit)(145) 및 역변환부(inverse transform unit)(135)에 의해 추가로 처리될 수 있다. 재구성기(125)에 의한 블록의 재구성 이후에, 루프 필터링부(loop filtering unit)(160)가 디코딩된 이미지의 품질을 더욱 향상시키기 위해 적용될 수 있다. 재구성기(125)는 재구성된 블록을 획득하기 위해 디코딩된 잔차(residual)를 예측기에 부가한다. 필터링된 블록은 이후 프레임 버퍼(170) 내에 저장되는 기준 프레임을 형성한다. 인코더 측에서의 이러한 디코딩 루프(디코더)는 디코더 측에서 재구성된 기준 픽처와 동일한 기준 프레임을 생성하는 이점을 제공한다. 따라서, 인코더 및 디코더 측은 상응하는 방식으로 동작한다. 여기서 "재구성"이라는 용어는 디코딩된 잔차 블록을 예측 블록에 부가함으로써 재구성된 블록을 획득하는 것을 지칭한다.
상호 예측부(195)은 상호 코딩될 현재 프레임 또는 픽처의 블록과, 프레임 버퍼(170)로부터의 하나 또는 다수의 기준 프레임 또는 픽처를 입력으로서 수신한다. 움직임 추정(motion estimation) 및 움직임 보상(motion compensation)은 상호 예측부(195)에 의해 수행된다. 움직임 추정은, 예를 들어 비용 함수(cost function)에 기반하여, 움직임 벡터 및 기준 프레임을 획득하기 위해 사용된다. 움직임 보상은, 이후 기준 프레임의 기준 블록의 변환의 관점에서, 즉, 움직임 벡터에 의해, 현재 프레임의 현재 블록을 기술한다. 상호 예측부(195)은 예측 블록이 비용 함수를 최소화하도록 하는 것과 같이, 하나 또는 다수의 기준 프레임 내의 후보 블록(즉, 후보 예측기)의 집합 중으로부터 현재 블록에 대한 예측 블록(즉, 예측기)을 선택한다. 달리 말해, 비용 함수가 최소인 후보 블록이 현재 블록에 대한 예측 블록으로서 사용될 것이다.
예를 들어, 비용 함수는 현재 블록과 후보 블록 사이의 차이의 측정치(measure), 즉 후보 블록에 관한 현재 블록의 잔차의 측정치일 수 있다. 예를 들어, 비용 함수는 현재 블록의 모든 픽셀(샘플)과 후보 기준 픽처 내의 후보 블록의 모든 픽셀 사이의 절대 차이의 합계(sum of absolute difference, SAD)일 수 있다. 하지만, 일반적으로, 평균 제곱 오차(mean square error, MSE) 또는 구조적 유사성 메트릭(structural similarity metric, SSIM)과 같은, 임의의 유사성 메트릭(similarity metric)이 이용될 수 있다.
하지만, 비용 함수는 또한 그러한 코딩으로 인해 야기되는 그러한 인터-블록 및/또는 왜곡을 코딩하는 데 필수적인 비트의 개수일 수도 있다. 따라서, 레이트-왜곡 최적화 절차가, 움직임 벡터 선택 및/또는, 일반적으로, 블록에 대해 내부 또는 상호 예측을 사용할지 여부와 같은, 어떤 설정을 갖는 인코딩 파라미터를 결정하기 위해 사용될 수 있다.
내부 예측부(190)는 내부 코딩될 현재 프레임 또는 픽처의 블록과, 현재 프레임의 이미 재구성된 영역으로부터의 하나 또는 다수의 기준 샘플을 입력으로서 수신한다. 인트라 예측은 현재 프레임의 기준 샘플의 함수의 관점에서 현재 프레임의 현재 블록의 픽셀을 기술한다. 내부 예측부(190)는 현재 블록에 대한 예측 블록을 출력하고, 여기서 상기 예측 블록은 코딩될 현재 블록과 그것의 예측 블록 사이의 차이를 유리하게 최소화, 즉, 그것은 잔차 블록을 최소화한다. 잔차 블록의 최소화는, 예를 들어, 레이트 왜곡 최적화 절차에 기반할 수 있다. 상세히, 예측 블록은 기준 샘플의 방향성 보간(directional interpolation)으로서 획득된다. 상기 방향은 레이트 왜곡 최적화에 의해 및/또는 상호 예측과 관련하여 위에서 언급된 바와 같은 유사성 측정치를 계산함으로써 결정될 수 있다.
현재 블록과 그의 예측 간의 차이, 즉 잔차 블록은 변환부(130)에 의해 변환된다. 변환 계수는 양자화부(140)에 의해 양자화되고 엔트로피 인코딩부(150)에 의해 엔트로피 코딩된다. 이와 같이 생성된 인코딩된 비디오 비트스트림은 내부 코딩된 블록 및 상호 코딩된 블록 및 대응하는 시그널링(모드 지시, 움직임 벡터의 지시, 및/또는 상호 예측 방향과 같은)을 포함한다. 변환부(130)는 이산 푸리에 변환(discrete Fourier transformation, DFT) 또는 이산 코사인 변환(discrete cosine transformation, DCT)과 같은 선형 변환을 적용할 수 있다. 공간 주파수 도메인으로의 그러한 변환은 결과 계수(resulting coefficient)가 낮은 주파수 내에서 더 높은 값을 전형적으로 갖는다는 이점을 제공한다. 따라서, 효과적 계수 스캐닝(지그재그와 같은), 및 양자화 이후에, 값의 결과 시퀀스(resulting sequence)는 일반적으로 처음에 약간 더 큰 값을 가지고, 제로의 진행(run of zeros)으로 종료된다. 이것은 더욱 효율적인 코딩을 가능하게한다. 양자화부(140)는 계수 값의 해상도를 감소시킴으로써 손실 압축(lossy compression)을 수행한다. 엔트로피 코딩부(150)은 이진 코드워드를 계수 값에 할당한다. 코드워드는 인코딩된 비트스트림으로서 지칭되는 비트스트림에 기록된다. 엔트로피 코더(entropy coder)는 또한 위에 도시된 분할 플래그 구문(splitting flag syntax)에 따른 코딩을 포함할 수 있는, 시그널링 정보(도 1에 도시되지 않음)를 코딩한다.
도 2는 비디오 디코더(200)의 예시를 도시한다. 비디오 디코더(200)는 특히 기준 픽처 버퍼(270)과, 블록 예측 유닛인, 내부 예측부(290)을 포함한다. 기준 픽처 버퍼(270)는 인코딩된 비디오 비트스트림의 인코딩된 비디오 비트스트림으로부터 재구성된 적어도 하나의 기준 프레임을 저장하도록 구성된다. 내부 예측부(290)는 디코딩될 블록의 추정인, 예측 블록을 생성하도록 구성된다. 내부 예측부(290)는 기준 픽처 버퍼(270)로부터 획득된, 기준 샘플에 기반하여 본 예측을 생성하도록 구성된다.
디코더(200)는 비디오 인코더(100)에 의해 생성된, 인코딩된 비디오 비트스트림을 디코딩하도록 구성되며, 바람직하게는 디코더(200) 및 인코더(100) 모두는 인코딩/디코딩될 각 블록에 대해 동일한 예측을 생성한다. 기준 픽처 버퍼(270) 및 내부 예측부(290)의 특징은 도 1의 기준 픽처 버퍼(170) 및 내부 예측부(190)의 특징과 유사하다.
비디오 디코더(200)는, 예를 들어, 비디오 코더(100)의 역양자화부(140), 역변환부(150), 및 루프 필터링부(160)에 각각 대응하는, 역양자화부(240), 역변환부(230), 및 루프 필터링부(260)와 같은, 비디오 코더(100) 내에 역시 나타난, 유닛을 또한 포함한다.
비트스트림 파싱, 엔트로피 디코딩 및 분할부(250)는 양자화된 잔차 변환 계수 및 시그널링 정보를 얻기 위해, 수신된, 인코딩된 비디오 비트스트림을 파싱 및 디코딩하도록 구성된다. 양자화된 잔차 변환 계수는 잔차 블록을 생성하기 위해 역양자화부(240) 및 역변환부(230)에 공급된다. 잔차 블록은 재구성기(225) 내의 예측 블록에 부가되고, 결과 합계는 디코딩된 비디오 블록을 획득하기 위해 루프 필터링부(260)에 공급된다. 디코딩된 비디오의 프레임은 기준 픽처 버퍼(270) 내에 저장될 수 있고 상호 예측을 위한 기준 프레임으로서 기능할 수 있다. 비트스트림으로부터 파싱 및 디코딩된 시그널링 정보는 일반적으로 프레임 파티셔닝과 관련된 제어 정보를 포함할 수 있다. 이미지를 더욱 정확하게 파싱하고 디코딩하기 위해, 제어 정보는 다음의 디코딩된 데이터를 각 코딩 단위에 정확하게 할당하기 위해, 이미지의 분할을 코딩 단위로 복구하기 위해 사용된다.
일반적으로, 도 1 및 도 2의 내부 예측부(190 및 290)는 인코딩될 필요가 있거나 또는 디코딩될 필요가 있는 블록에 대한 예측 신호를 생성하기 위해 이미 인코딩된 영역으로부터의 기준 샘플을 사용할 수 있다.
비트스트림 파싱, 엔트로피 디코딩 및 분할부(250)는 인코딩된 비트스트림을 입력으로서 수신한다. 비트스트림은 먼저 파싱될 수 있고, 즉 시그널링 파라미터 및 잔차는 비트스트림으로부터 추출된다. 비트스트림의 구문 및 시맨틱(semantic)은 표준에 의해 정의되어서 인코더와 디코더는 상호 운용 가능한 방식으로 동작할 수 있다.
본 개시는 블록 기반 하이브리드 비디오 코딩에서 경계 강제 파티션(boundary forced partition)의 새로운 접근법을 제시한다. 상세히, 경계 강제 파티셔닝은 적어도 부분적으로 이진 트리(BT) 구조를 사용하여 수행된다. 발명자의 관찰에 따르면, 대부분의 경계 블록은 동일한 예측 모드를 사용할 수 있고, 프레임 경계 상의 CTU에 대한 강제 쿼드 트리(QT) 파티션이 항상 필요한 것은 아니다. 강제 QT 분할 대신에, 일 실시예에서, 하부 경계 부분(bottom boundary portion)에 대한 강제 수평 BT 및/또는 오른쪽 경계 부분(right boundary portion)에 대한 강제 수직 BT가 도입된다(상부 및 좌측에 있는 것은 왼쪽에서 오른쪽으로 그리고 위에서 아래로의 CTU 처리 순서에서 이미 재구성된 것으로 가정함).
상세히, 도 6에 도시된 대로, 일 실시예에 따르면, 동작시 이미지 부분을 미리 결정된 크기를 갖는 정수 개의 코딩 트리 단위와 그리고 수평 또는 수직 방향 인 적어도 제1 방향에서 미리 결정된 크기보다 작은 크기를 갖는 경계 부분(boundary portion)으로 세분화하는, 처리 회로를 포함하는, 이미지 부분을 코딩 단위로 분할(610)하는 (위에서 기술된 유닛(110, 250)에서 구현될 수 있는)장치(600). 더욱이, 처리 회로는, 동작시, 각각의 수평 및 수직 방향으로 서로 다른 크기를 갖는 가장 깊은 코딩 단위(deepest coding unit)를 포함하는 코딩 단위로 경계 부분을 계층적으로 파티셔닝하고(630), 가장 깊은 코딩 단위는 제1 방향으로 더 작다.
프레임 분할(610)에 의해 획득된 CTU는 계층적으로 더 파티셔닝될 수 있다(620). 이 파티셔닝은 예를 들어 도 3 및 4에 도시되고 이들을 참조하여 설명된, 임의의 방식으로 수행될 수 있다.
도 6은 장치(600)의 회로의 내부 구조를 도시한다. 이 회로는 각각의 CTU로의 프레임의 분할, CTU의 파티셔닝, 및 경계 부분의 파티셔닝을 위한 기능 유닛(610, 620, 및 630)을 갖는 임의의 종류의 하드웨어 및 소프트웨어일 수 있다. 이들 유닛은 예를 들어, 단일 프로세서 상에서 구현될 수 있다. 하지만, 본 발명은 이러한 응용으로 제한되지 않으며, 이들 유닛은 별도의 하드웨어 부품으로도 구현될 수 있다.
경계 부분은 수직 경계(수직 방향의 픽처의 크기가 수직 CTU 크기의 정수 배가 아닌 경우)에만 또는 수평 경계(수평 방향의 픽처의 크기가 수평 CTU 크기의 정수 배가 아닌 경우)에만 또는 수직 및 수평 경계 모두(수평뿐만 아니라 수직 방향의 픽처의 크기가 수평 및 수직 CTU 크기 각각의 정수 배가 아닌 경우)에 위치할 수 있다.
코딩될 일반적인 픽처의 크기는 CTU의 배수이다. 도 7은 하부 픽처 경계(700) 및 대응하는 경계 부분(710)(음영 처리됨)의 예시를 도시한다. 부분(750)은 수직 및 수평으로 CTU의 정수 배의 크기를 갖는 이미지의 나머지 부분을 도시한다. 상세히, CTU의 수직 크기는 770V로 지시되고 CTU의 수평 크기는 770H로 지시된다. 도 7에서 알 수 있는 대로, 본 예시에서 경계 부분은 수평 방향으로 CTU 크기 770H의 정수 배이다. 하지만, 수직 방향에서, 경계 부분(710)은 수직 픽처 크기를 수직 CTU 크기(770V)로 나눈 후의 나머지의 크기를 가진다. 부분(720)은 가상일 뿐이고 경계 부분의 높이와 CTU 크기의 차이를 보여준다. 현재 구현에서 CTU는 정사각형이어서 770H와 770V의 크기는 동일하다는 것이 주목된다. 그러나 본 발명이 이에 한정되는 것은 아니며 CTU의 수직 및 수평 크기가 다를 수 있다.
경계 부분을 인코딩(및 이에 상응하는 디코딩)하기 위해, 도 7의 경계 부분(710)은 불완전한 CTU로, 즉, CTU의 수평 크기 770H 및 CTU 크기 770V보다 작은 수직 크기를 갖는 부분으로 분할된다. 이러한 불완전한 CTU는 도 8과 같이 강제 파티셔닝된다.
도 8은 경계부가 수평 경계에 있어서, 분할이 수직 방향으로 발생하는 예시를 도시한다. 상세히, 도 7의 좌측에는, CTU의 너비(본 예시에서 128 샘플)에 대응하지만 높이는 CTU의 높이보다 작은(56 샘플만) 경계 부분이 도시되어있다. 수직 경계는 이진 트리 분할에 의해 강제 파티셔닝된다. 상세히, 64개 샘플을 갖는 깊이-1 단위는 56 샘플 높이의 경계 부분에 맞지 않기 때문에, 56 샘플 길이에 맞는 가장 큰 단위 크기는 32 샘플 크기의 깊이-2 단위이다. 나머지 24개의 샘플은 크기 16 샘플의 깊이-3 단위로 그리고 픽처 경계까지 도달하는 8개 샘플의 나머지 부분(깊이-4 CU 크기에 해당)으로 분할되어서 더 이상의 분할이 필요하지 않다. 본 예시에서는 수평 경계에는 분할이 적용되지 않는다. 요약하면, 한 방향으로 CTU의 크기를 갖고 다른 방향으로 더 작은 크기를 갖는 경계 부분 단위는 이진 트리 분할에 의해, 즉, 하나는 더 작은 크기에 맞는 다음으로 가장 얕은(shallowest) CU의 크기를 갖고 나머지 부분은 가장 깊은 CU가 경계에 도달 할 때까지 더 분할되는, 두 개의 부분으로 경계 부분 단위를 계층적으로 분할함에 의해 파티셔닝된다. 128 x 56 크기의 CTU 부분의 이러한 파티셔닝은 여기서 결과적으로 각각의 크기가 128 x 32, 128 x 16, 및 128 x 8 인 3개의 경계 부분 코딩 단위로 된다.
요약하면, 일 구현에 따르면, 처리 회로는 이진 트리 분할에 의해 모든 파티셔닝 레벨에서 경계 부분을 분할하도록 구성된다.
도 8의 오른쪽에서, 최초로 쿼드 트리 파티셔닝이, 64 x 32, 64 x 16, 및 64 x 8 크기의 CU의 각 쌍으로 추가적으로 이진 트리 분할되는, 64 x 56 크기의 두 개의 CU로 되는, 계층 깊이 1(hierarchy depth 1)(CT 크기에 대응하는 계층적 깊이 0(hierarchy depth 0))에 적용되는 파티셔닝의 예시가 보여진다.
도 8의 예시는 하부 경계의 파티셔닝을 보인다. 하지만, 본 개시는 오른쪽 경계와 같은 임의의 다른 경계의 분할에도 동일하게 적용 가능하다. CTU로의 픽처의 세분화가 왼쪽에서 오른쪽으로 그리고 위에서 아래로 수행되면, 이때 경계 부분은 그림의 픽처의 하부 및/또는 우측에 있을 것이다. 하지만, 파티셔닝은 또한 아래에서 위로 그리고 오른쪽에서 왼쪽으로 수행될 수 있고, 이 경우, 상부 및 좌측 경계는 분할될 필요가 있으며, 이는 도 8을 참조하여 설명된 것과 동일한 방식으로 가능하다. 유사하게, 위의 예시는 이러한 CTU의 위에서 시작하는 불완전한 CTU의 파티셔닝을 보인다. 하지만, 일반적으로, 불완전한 CTU를 픽처(프레임) 경계로부터 위쪽으로 분할하는 것이 역시 가능하다.
도 8의 우측에 도시된 대로, 불완전한 CTU 분할은 혼합된 QT 및 BT 분할일 수 있다. 처리 회로는 적어도 가장 깊은 파티셔닝 레벨에서 이진 트리 분할에 의해 경계 부분을 분할하도록 구성될 수 있다. 이것은 프레임 경계와 일치하는 더 큰 경계가 가장 작은 단위로 분할될 필요가 없다는 이점을 제공한다. 프레임 경계의, 너무 많은 너무 작은 CU는 더 큰 비트스트림뿐만 아니라 더 심한 코딩 복잡성을 초래할 수 있다. 이 실시예에서, 가장 깊은 CU가 다른 측보다 더 큰 일 측을 갖는 한(즉, 이진 트리 파티셔닝으로부터의 결과), 나머지 깊이 계층들은 임의의 방식으로 결정될 수 있고 사전 정의된 방식으로 강제될 필요가 없음이 주목된다. 오히려, 파티셔닝은 RD-최적화에 의해 수행될 수 있고 디코더가 동일한 파티셔닝을 복구할 수 있게 하는 대응하는 제어 정보에 의해 수반될 수 있다. 파티셔닝은 RD 최적화를 위해 부분적으로 강요되고 부분적으로 이용 가능할 수도 있다.
달리 말해서, 처리 회로는 쿼드 트리 분할에 의해 경계 부분을 파티셔닝하도록 구성될 수 있다. 따라서, 표준에 의해 정의되거나 비트스트림에 포함된 제어 정보에 의해 구성 가능한 각 깊이에 대해 미리 정의된 강제 QT 또는 BT 파티셔닝이 있을 수 있다.
예를 들어, 강제 BT 파티션은 특정 개수의 강제 QT 레벨 이후에만 수행된다. 이는 처리 회로가 N개의 가장 얕은 레벨에서 쿼드 트리 분할에 의해 경계 부분을 파티셔닝하도록 구성됨으로 달성될 수 있고, N은 0보다 크거나 같고, 및 파티셔닝 계층 레벨의 수보다 작은 정수이다. 처리 회로는 또한 나머지 파티셔닝 계층 레벨에서 이진 트리 분할에 의해 경계 부분을 파티셔닝하도록 구성된다. 도 8을 참조하면, 좌측에서 QT 분할은 수행되지 않는다.
비트스트림 내의 제어 정보는 따라서 QT의 적용 여부, 긍정적인 경우, 얼마나 깊은 레벨이 QT-분할되는지를 지정하는 QT/BT 지시자를 포함할 수 있다. 이러한 QT/BT 지시자는 QT 분할이 적용되지 않으면(도 8의 좌측에 도시된 대로) 값 0 및 N에 대응하는 값과 같은 복수의 값을 상응하여 취할 수 있다. 이러한 시그널링은 QT, BT, 또는 파티셔닝이 적용되는지의 각 레벨에서 각 CU에 대한 시그널링보다 짧다. 하지만, 본 개시는 임의의 종류의 시그널링을 사용할 수 있다.
대안적으로, 또는 제어 시그널링과 결합하여, 강제 QT의 레벨은 시간적 ID(temporal) 또는 슬라이스 유형에 의해 적응적으로 선택될 수 있다. 본 접근은 명시적 시그널링(또는 적은 양의 명시적 시그널링)이 필요하지 않다는 이점을 제공한다. 여전히, 강제 파티셔닝은 예측의 유형과 관련하여 적어도 적응적으로 설정될 수 있다.
HEVC는 시간적 식별자(ID)를 지정하고, 이는 계층적 시간적 예측 구조(상호 예측된 프레임 간의 의존성)의 레벨을 지시한다. 슬라이스 유형은 상호 예측 슬라이스, 또는 하나의 기준 픽처에 기반하는 예측만을 적용하는 상호 예측 슬라이스, 또는 양방향 예측을 적용하는 상호 예측 슬라이스 등일 수 있다.
예를 들어, 시간적 식별자가 0(I 픽처를 의미함)이거나 또는 슬라이스 유형이 상호 예측 슬라이스이면, 파티셔닝은 더 높은 시간적 ID(상호 예측 픽처) 또는 P/B 슬라이스(상호 예측 슬라이스)보다 더 정확해야할 필요가 있다.
상기 파라미터 시간적 ID 또는 슬라이스 유형은 단지 예시일 뿐이다. 일반적으로, 추가 및/또는 서로 다른 코딩 파라미터가 적용될 수 있다. 게다가, 슬라이스 유형 대신, 이웃 CTU 내의 CU의 예측 모드는 CTU(불완전한 경계 CTU) 기반으로 경계 부분 파티셔닝을 결정하기 위해 사용될 수 있다.
한편, 파티셔닝을 시그널링하는 것은 적절한 분할을 선택하는 더 많은 자유를 제공할 수 있어서, 전체적인 코딩 효율이 증가될 수 있다. 예를 들어, 파티셔닝은 비용 함수를 최적화함으로써(예를 들어, RD-최적화에 의해) 조정될 수 있고 얼마나 깊은 레벨의 강제 QT가 디코더를 위해 사용되는지를 지시하기 위해 비트스트림 내에서 시그널링(즉, 위에 언급했듯이 QT가 조금이라도 사용되는지를 시그널링 또는 N을 시그널링) 될 수 있다
대안적으로, 경계(불완전한) CTU는 최초에, RD-최적화에 의해 최후의 하나의 계층 레벨(깊이)까지 또는 시그널링된 계층 레벨 M까지 파티셔닝된다. 프레임 경계 상에 위치하는 나머지 가장 깊은 레벨 블록은 이후 강제 BT 파티셔닝 또는 강제 QT 및 강제 BT 파티셔닝의 결합을 사용한다.
도 9는 적어도 부분적으로 강제 경계 분할의 세 가지 예시를 도시한다.
CTU/CU가 하부 경계 상에 위치할 때, 수평 강제 BT 파티셔닝은 RD-최적화없이 그리고 분할 플래그 시그널링 없이 재귀적으로(수직 경계를 분할함으로써) 사용될 수 있다. 강제 수평 BT 파티션은, 리프 노드의 오른쪽 하부 샘플이 슬라이스/픽처 하부 경계 이내에 위치하면 종료된다. 강제 수평 BT 파티셔닝 후에, 경계 CTU로부터의 강제 파티셔닝된 CU는 인코더에서 RD-코스트(RD-cost)에 기반하여 추가로 분할될 수 있고, 추가 분할 플래그가 인코더에서 디코더로 시그널링될 수 있다. 도 9의 (a) 부분은 강제 수평 BT(즉, 수직 경계의 분할)에 의해 파티셔닝된 128 x 56 샘플의 하부 경계의 예시를 도시한다.
유사하게, 오른쪽 경계에 위치한 CTU/CU에 대해, 수직 강제 BT 파티션은 리프 노드의 오른쪽 하부 샘플이 슬라이스/픽처 오른쪽 경계 내에 위치할 때까지 RD 코스트 확인 없이 그리고 재귀적으로 분할 플래그 시그널링 없이 사용될 수 있다. (수평 경계의) 강제 수직 BT 파티셔닝 이후, 경계 CTU로부터의 강제 파티셔닝된 CU는 인코더에서 인코더에서 RD-최적화에 의해 추가로 분할될 수 있고, 추가 분할 플래그는 인코더에서 디코더로 시그널링된다. 도 8의 (b) 부분은 강제 수평 BT에 의해 파티셔닝된 56 x 128 샘플 길이의 오른쪽 경계의 예시를 도시한다.
다른 예시에 따르면, CTU/CU에 위치한 우측 하부(right bottom) 모서리 경계(corner boundary)에 대해, 우선 강제 계층적 QT 파티셔닝이 어떤 시그널링도 없이, 재귀적으로 사용된다. 현재 CU의 우측 하부 샘플이 하부 또는 우측 경계에 위치할 때, 리프 노드의 우측 하부 샘플이 슬라이스/픽처 경계 내에 위치할 때까지 추가의 강제 수평 또는 수직 BT 파티셔닝이 재귀적으로 동작한다. 그렇지 않으면, 현재 CU의 우측 하부 샘플이 여전히 모서리 경계에 위치할 때, 리프 노드의 우측 하부 샘플이 슬라이스/픽처 프레임 내에 있게 되기 전까지 추가 강제 QT 파티션이 사용될 것이다. 경계 CTU로부터 분할함으로써 획득되는 강제 파티셔닝된 CU는 인코더에서 RD-최적화에 의해 추가로 분할될 수 있고, 추가 분할 플래그는 인코더에서 디코더로 시그널링될 수 있다. 도 9에서, (c) 부분은 강제 QT 및 BT에 의해 파티셔닝된 56 x 56 샘플의 오른쪽 하부 모서리 경계의 예시를 도시한다.
상세히, 도 9의 (c) 부분에, 56 x 56 샘플의 불완전한 모서리 경계 CTU가 도시되어 있다. QT 분할 후의 64 x 64 샘플의 첫 번째 깊이 레벨은 경계 부분 내에 있지 않다. QT 이후의 두 번째 깊이 레벨의 32 x 32 샘플은 경계 부분 내에 있지만 추가로 분할될, 수평(32 x 24 샘플의 왼쪽 하부 CU), 수직(24 x 32 샘플의 오른쪽 상부 CU), 및 다른 모서리 부분(24 x 24 샘플의 오른쪽 하부 CU)을 남긴다.
본 예시에서, 수평 및 수직 경계 CU는 추가 이진 트리 분할이어서, 가장 깊은 레벨 단위는 픽처/슬라이스 경계를 따라 더 긴 측면을 갖는다. 모서리 부분은 위에서 상위 레벨 모서리 부분에 대해 설명된 것과 동일한 방식으로의 분할, 즉 쿼드 트리 분할에 의해 추가로 분할될 수 있다.
달리 말해서, 처리 회로는, 동작시, 수평 및 수직 방향에서 이진 트리 분할에 의해 경계 부분을 파티셔닝할 수 있다. 경계 부분이 픽처/슬라이스 경계를 따라 수직 및 수평으로 연장되고, 모서리 부분을 포함하는 경우에 특히 그러하다.
모서리 경우에 대해, 처리 회로는, 동작시, 각 계층 레벨에서 쿼드 트리 분할에 의해 경계 부분의 모서리 부분을 파티셔닝한다. 예를 들어, 도 9의 부분 (c)에서, 양쪽 측면이 56 샘플의 크기를 갖는 모서리에서, 모서리 경계 CU(960)에 대해, 4 레벨의 강제 QT가 요구된다(56 x 56 모서리를 포함하는 왼쪽 상부 CU를 갖는 4개의 64 x 64 CU가 되는, 128 x 128 CTU의 QT 분할; 24 x 24 모서리를 포함하는 하부 오른쪽 CU를 포함하는 4개의 32 x 32 CU가 되는, 64 x 64 CU 왼쪽 상부의 QT 분할; 그들의 하부 오른쪽이 8 x 8 모서리를 포함하는, 4개의 16 x 16 CU가 되는, 하부 오른쪽의 32 x 32 CU의 QT 분할, 및 4개의 8 x 8 CU, 즉, 상부 왼쪽 파티션은 픽처 내에 위치하지만 다른 파티션은 그렇지 않은 최소 사이즈 파티션으로의, 하부 오른쪽의 16 x 16 불완전 CU의 QT 분할의 마지막 단계).
한편, 하부 경계 CU(950)에 대해, 2 레벨의 강제 QT와 2 레벨의 강제 BT가 요구된다(128 x 128 CTU의 QT 분할, 64 x 64 CU 상부 왼쪽의 QT 분할, 32 x 24 경계 부분을 포함하는 32 x 32 CU의 하부 경계의 두 개의 32 x 16 CU로의 이진 분할; 및 상부 하나만 픽처 경계 이내에 있는 두 개의 32 x 8 CU로의 하부 32 x 16 CU의 BT 분할의 마지막 단계).
모서리 CU(960)에 대해, 설정된 QT 레벨 N은 고려되지 않고 모서리 CU는 모든 계층 레벨에서 QT에 의해 강제 분할될 것이다. 상세히, 모서리 경우에서, 리프 노드의 오른쪽 하부 샘플(경계 부분 내에 부분적으로 위치함을 의미하는, 불완전 CU)이 오른쪽 경계와 하부 경계 모두의 외부에 위치하면, 본 현재 불완전 CU는 bCorner로 인식될 수 있다(도 10, 단계 1050, "예"). bCorner가 현재 CU에 대해 true이면, 현재 CU는 강제 CUT를 사용하여 추가로 분할된다. 분할로 인한 리프 노드가 경계 부분의 내부에 완전히 있거나 모서리 부분이 아래쪽 또는 오른쪽 경계 경우(bBottom, bRight, 이는 현재 CU의 오른쪽 하부 경계가 경계 부분, 즉, 픽처 또는 슬라이스의 하부 또는 오른쪽 경계에만 위치함을 의미함)가 되면 분할이 종료된다.
본 예시에서, N=0 또는 1 또는 2이면, CU(960)은 항상 강제 QT를 필요로 하고 CU(950)은 어쨌든 처음 두 레벨에서 QT에 의해 분할되므로, 강제 QT 분할 방식은 동일할 것이다. 이는 깊이 0의 CU(CTU), 깊이 1의 CU(64 x 64 샘플)가 여전히 모서리 CU이기 때문이다. 64 x 64 CU의 분할 이후에만, 깊이 2에서, 4개의 CU가 있으며 그 중 하나는 전혀 경계 CU가 아니며(상부 왼쪽), 두 개는 하부 경계 및 오른쪽 경계 CU이며 하나만 모서리 CU이다.
N=3이면, 하나 이상의 강제 QT가 필요하고 강제 분할 방식은 CU(950)에 대해 변경되어서, 하부 왼쪽의 32 x 32 CU는 BT-분할 대신 QT-분할된다. CU(960)의 분할은 동일하게 유지된다.
본 개시에 따르면, 강제 QT와 강제 BT의 결합이 위에서 이미 간략히 설명된 대로 사용될 수 있다. 상세히, 경계 상에서의 복잡한 텍스쳐 또는 움직임에 대해, 상세한 분할은 이미지 품질에 유리할 수 있다. 따라서 QT 및 BT에 의한 결합된 강제 파티셔닝도 제공된다. 상세히, 강제 QT 및 강제 BT 구현의 하나의 결합에서, 강제 BT 파티션은 특정 수 N의 강제 QT 레벨 이후에만 적용된다. 다른 설정에서 BT 파티셔닝 후 QT 파티셔닝이 허용되면, 강제 BT 후에 강제 QT 파티셔닝이 가능하게 동작된다.
강제 BT 및 강제 QT 결합 구현에는, 강제 QT 레벨의 수를 정의하는 몇 가지 방법이 있다. 사전 정의된 강제 QT 레벨이 사용되면, 모든 경계 CTU는 먼저 동일한 QTBT 구조로 강제 파티션되며, 추가 파티션은 RD 최적화에 기반하여 가능하다. 오른쪽의 도 8은 불완전 128 x 128 CTU에서 128 x 56 샘플 하부 경계의 1 레벨 QT 및 3 레벨 BT 파티셔닝의 예시를 설명한다.
강제 QT의 레벨은 시간적 ID 또는 슬라이스 유형과 같은 인코더 파라미터에 의해 적응적으로 선택될 수 있다. 특정 슬라이스 유형 또는 낮은 시간적 ID는 보다 자세한 파티션을 필요로 할 수 있다. 더 나아가, 강제 QT의 레벨은 레이트-왜곡 최적화에 의해 조정될 수 있고 비트스트림 얼마나 깊은 레벨의 강제 QT가 사용되는지를 지시하기 위해 비트스트림 내에서 시그널링될 수 있다. CTU 레벨 내의 레벨 숫자 시그널링(level number signaling)은 얼마나 깊은 레벨의 강제 QT가 CTU에 대해 사용되었는지를 지시하기 위해 사용될 수 있다. 게다가, 슬라이스 헤더 내의 레벨 숫자 시그널링은 얼마나 깊은 레벨의 강제 QT가 현재 슬라이스에 대해 사용되었는지를 지시하기 위해 사용될 수 있다. SPS 내의 레벨 숫자 시그널링이 얼마나 깊은 레벨의 강제 QT가 코딩된 비디오 시퀀스에 대해 사용되었는지를 지시하기 위해 사용될 수 있다. PPS 내의 레벨 숫자 시그널링이 얼마나 깊은 레벨의 강제 QT가 코딩된 픽처에 사용되었는지를 지시하기 위해 사용될 수 있다.
강제 QT의 레벨의 수는 또한 임의의 다른 접근법에 기반하여 결정될 수 있다. 예를 들어, 슬라이스/프레임/경계 영역 이내의 원본 샘플의 엔트로피가 사용될 수 있다. 엔트로피는 i에 대한 항 p_i * log2(p_i)를 합산함으로써 계산되며, 여기서 p_i는 특정 영역에서 샘플 강도 값 I의 확률이다. 부호 "*"는 곱셈을 의미하고, "log2"는 밑이 2인 로그를 의미한다. 엔트로피가 높을수록, 더 많은 구조가 슬라이스/프레임/경계 영역에 존재할 가능성이 높고, 더 작은 CU가 적절할 수 있다. 하지만, 이들은 단지 예시일 뿐이며, 원칙적으로, 본 발명은 강제 QT 레벨의 수가 결정되는 임의의 특정 방식으로 제한되지 않는다. 가장자리(edge)의 존재의 분산과 같은 임의의 다른 수단이 사용될 수 있다.
처리 회로는, 동작시, 가장 깊은 레벨의 코딩 단위가 경계 부분에 남아있을 때까지 경계 부분을 파티셔닝한다.
본 개시에 따르면, 이미지 부분을 코딩 단위로 분할하는 방법이 제공된다. 상기 방법은 이미지 부분을 미리 결정된 크기를 갖는 정수 개의 코딩 트리 단위와 수평 또는 수직 방향인 적어도 제1 방향에서 미리 결정된 크기보다 작은 크기를 갖는 경계 부분을 세분화하는 단계를 포함한다. 그 다음, 각각의 수평 및 수직 방향으로 서로 다른 크기를 갖는 가장 깊은 코딩 단위를 포함하는 코딩단위로 경계 부분을 계층적으로 파티셔닝하는 단계가 수행되고, 가장 깊은 코딩 단위는 제1 방향으로 더 작다.
일 구현에서, 경계 부분의 분할은, 가장 얕은(shallowest) 파티셔닝 레벨인 현재 파티셔닝 레벨로 시작하는 단계; 현재 파티셔닝 레벨의 코딩 단위가 경계 부분에 도달하지 않는 한, 경계 부분을 현재 파티셔닝 레벨의 코딩 단위로 순차적으로 분할하는 단계; 현재 파티셔닝 레벨의 코딩 단위가 경계 부분 내로 들어가지 않으면 즉시, 파티셔닝 레벨을 증가시키고 코딩 단위를 추가로 분할하는 단계를 더 포함하고, 여기서 쿼드 트리 파티셔닝은 N개의 가장 얕은 파티셔닝 레벨에 사용되고 이진 트리 분할은 다른 파티셔닝 레벨에 사용된다.
순차적 분할은 분할이 가장 얕은 레벨에서 가장 깊은 레벨까지 수행됨을 의미한다. 상세히, 강제 분할은 경계(경계 CU) 상에 위치된 코딩 단위에 대해 각 계층 레벨에서 수행되는데, 그러한 CU가 픽처/슬라이스 경계 내의(경계 부분 내) 샘플 및 픽처/슬라이스 경계 외부에 위치하는 부분을 포함한다는 것을 의미한다. 여기서 CU라는 용어는 파티셔닝으로부터 유래된 크기를 갖는 CU를 지칭하지만, CU가 그 크기에 의해 주어진 것보다 적은 샘플을 포함하기 때문에, 즉, CU가 파티셔닝된 픽처/슬라이스로부터 떨어져 부분적으로 위치하기 때문에, CU는 불완전하다.
따라서, 강제 분할은, 전체 경계 부분이 분할되도록, 최대 CU로부터 가장 작은 CU까지 경계 부분을 대략적으로 파티셔닝하기 위해 수행된다. 강제 분할에 대해 파티셔닝 정보는 필요하지 않으며, 위에서 이미 설명한 대로, 미리 정의될 수 있다. 강제된 일부 QT 레벨이 있으면, N이 시그널링되거나 또는 미리 정의될 수 있다. 미리 정의된 N은 인코더 및 디코더 모두가 예를 들어 표준에 의해 정의될 수 있는 그러한 N에 대한 지식을 가진다는 것을 의미한다.
하지만, 강제 분할을 수행한 후, 강제 분할 경계 부분 CU는 더 파티셔닝될 수 있다. 이것은 레이트-왜곡 최적화에 기반하여 수행될 수도 있고, 따라서 비트스트림에서 시그널링될 수도 있다. 상세히, 최소 CU 크기보다 큰, 경계 부분 내의 CU에 대해, 그러한 CU가 추가로 분할되는 방법 및 분할될지 여부를 지시하는 분할 플래그 또는 복수의 분할 플래그가 시그널링될 수 있다.
비트스트림 내에 포함된 파티셔닝 정보는 QT 분할 플래그 및/또는 BT 분할 플래그를 포함할 수 있음이 주목된다. QT 및 BT 분할은, 두 종류의 분할이 사용되는 것으로, 시그널링되거나 도출될 수 있는 한, 혼합될 수 있다. 디코더 측에서, 강제 분할 후에, 추가 분할은 qt_split_cu_flag 및 bt_split_cu_flag와 같은 디코딩된 파티셔닝 정보에 기반하여 행해진다. 도 10은 경계 분할의 자세한 예시적 구현, 상세하게는, 강제 BT와, 강제 QT 및 강제 BT 구현의 결합의 구현을 도시한다. 도면에서 사용된 변수는 다음과 같은 의미를 갖는다.
bBottom은 현재 CTU 또는 CU의 오른쪽 하부 샘플이 하부 경계의 외부에 있는지 여부를 지시한다.
bRight는 현재 CTU 또는 CU의 오른쪽 하부 샘플이 오른쪽 경계의 외부에 있는지 여부를 지시한다.
bCorner는 현재 CTU 또는 CU의 오른쪽 하부 샘플이 오른쪽 하부 모서리 경계의 외부에 있는지 여부를 지시한다.
FQT_LV는 강제 BT가 행해지기 전의 강제 QT의 레벨을 지시한다(위에서 설명한 N에 대응함).
uiDepth는 현재 파티셔닝된 계층 레벨을 지시한다.
위에서 설명된 대로, 강제 QT의 레벨은 미리 정의될 수 있고, 슬라이스 유형/시간적 ID와 같은 인코더 파라미터에 기반하여 또는 RD 코스트에 기반하여 적응적으로 선택될 수 있다.
상세히, 단계 1010에서 경계 부분 CTU(레벨 0)의 파티셔닝이 시작된다. CTU가 단계 1020에서 하부 또는 우측 경계(모서리 경계는 아님) 상의 CTU이고, uiDepth가 FQT_LV-1보다 크지 않으면, CTU는 단계 1040에서 강제 BT에 의해 분할된다. CTU가 강제 BT에 의해 분할되지 않으면, 강제 QT 파티셔닝 단계 1060이 적용된다. 분할은 경계 부분 CU(들)을 추가로 분할함으로써 계속된다. 예를 들어,도 8(b)의 예시에서, CTU(레벨 1) FQT_LV는 1과 같다. uiDepth = 0이 FQT_LV-1=0과 같기 때문에, 단계 1030에서 불완전한 CTU는 단계 1060에서 QT에 의해 강제 분할될 것이고, 그 결과 추가로 분할될 필요가 있는 두 개의 CU(상부 왼쪽 및 오른쪽)로 된다. 이러한 CU 각각은 재귀적으로 파티셔닝된다. 상부 왼쪽 CU(레벨 1)는 여전히 불완전하므로 경계 부분 CU이다. 단계 1020에서 하부 경계 CU로서, uiDepth=1이 단계 1030에서 FQT_LV-1=0보다 크기 때문에, 강제 BT는 단계 1040에서 상부 왼쪽 CU에 적용될 것이다. 상부 오른쪽 CU도 같은 방식으로 파티셔닝될 것이다. 경계 부분(불완전한) CU(64 x 24)는 단계 1040에서 BT에 의해 레벨 2에서 더 분할될 것이다. 레벨 3의 나머지 64 x 8 CU는 픽처 경계에 도달하여 단계 1020 및 1050에서 "아니오"가 된다. 최소 파티션으로서의 크기 8의 파티션은 단계 1070에서 더 분할되지 않고 오히려 단계 1080에서 "예"가 되므로 단계 1090에서 파티셔닝이 종료된다. 두 번째 64 x 24 CU는 같은 방식으로 분할될 것이다.
한편,도 9의 (c) 부분의 56 x 56 CTU는 모서리 CTU이다. 단계 1020(레벨 0)에서, CTU는 단계 1050를 통과하고 모서리 CU는 단계 1060에서 QT에 의해 파티셔닝될 것이다. 레벨 1에서, 상부 왼쪽의 56 x 56 CU는 동일한 방식으로 다루어져서 세 개의 경계 CU(하부 왼쪽, 상부 오른쪽 및 모서리)가 된다. bBottom 및 bRight CU에 대해 강제 QT 분할이 없음을 의미하는 FQT_LV=0을 가정하면, 하부 왼쪽 및 상부 오른쪽 CU는 1040 단계에서 강제 BT에 의해 분할될 것이다(1020 단계에서의 "예" 이후 단계 1030에서의 "아니오"). 모서리의 24 x 24 CU(레벨 2)는 단계 1020을 단계 1050으로 넘어가고, 단계 1060에서 QT에 의해 분할되어, 추가로 분할될 필요가 없게 될, 단계 1020을 "아니오"로, 단계 1050을 "아니오"로, 그리고 단계 1070을 넘어서서 종료 조건 1080 및 종료 1090까지인, 크기 16 x 8, 8 x 8, 및 8 x 16를 갖는 3개의 경계 CU로 다시 된다. 종료 조건은, 예를 들어, 본 예시에서, 8인 최소 크기일 수 있다.
다음의 표 2는 정상(경계 아님) CU에 대한 QT 분할 플래그를 시그널링할 수 있는 예시적인 구문을 보인다. 게다가, BT 분할 플래그는 경계 부분 CU 이외의 CU에 대해 시그널링될 수 있다. coding_quadtree의 구문은 재귀적, 즉, 파티셔닝은 계층적이다. 파티셔닝은 다음 조건이 참(true)이면 수행된다.
x0 + cuWidth <= pic_width_in_luma_samples
y0 + cuHeight <= pic_height_in_luma_samples.
달리 말해서, 현재 CU의 하부 오른쪽 모서리(즉, 분할에 의해 현재 처리된 CU)가 픽처 내에 있는 한, CTU/CU는 쿼드 트리 또는 이진 트리로 분할된다. 이 구문은 단지 예시적인 것이며 본 개시는 또한 QT만 또는 BT만 사용하는 것 또는 픽처/슬라이스 내에 완전히 있는 CTU에 대한 선택 가능한 추가 파티셔닝 유형과 같은 다른 경우에도 적용될 수 있음이 주목된다. 구문에서 이용된 값 cuMinBTSiz, cuMaxBTSize, 및 cuMaxBTDepth은 사전 정의된 값이다.
위의 조건에서, x0 및 y0은 현재 CU의 상부 왼쪽 샘플 위치를 특정하고, cuWidth 및 cuHeight는 수평 및 수직 CU 크기를 특정하며, 파라미터 pic_width_in_luma_samples 및 pic_width_in_luma_samples는 수평 및 수직 픽처 크기를 특정한다. 본 예시에서 전체 픽처가 파티셔닝되어 있음이 주목된다. 하지만, 동일한 접근이 슬라이스, 타일, 또는 경계를 갖는 임의의 다른 픽처 부분과 같은 독립적으로 디코딩 가능한 픽처 부분에 적용 가능하다.
HEVC 표준과 유사하게, qt_split_cu_flag[x0][y0]이 없다면(경계 경우), 다음이 적용된다(인코더 및 디코더에).
- cuWidth(현재 레벨 CU의 너비)가 MinQTSize(최소 QT 크기, 여기서 8)보다 크고 cuHeight(현재 레벨 CU의 높이)가 MinQTSize보다 크면, qt_split_cu_flag[x0][y0]의 값은 1과 같다고 추론된다. 달리 말해, 경계가 강제 분할된다.
- 그렇지 않으면(log2CbSize는 MinCbLog2SizeY와 같음), qt_split_cu_flag[x0][y0]의 값은 0과 같은 것으로 추론된다. 달리 말해, 현재 CU가 최소 허용 크기 MinCbLog2SizeY를 가지면, 디코더는 CU가 더 이상 분할되지 않는다고 가정한다.
이것은 위의 표 1의 경우와 유사하다. 표 2는 표 1에 나타난 구문을 기반으로 하는 강제 BT 및 강제 QT와 강제 BT 구현의 예시적인 구문(회색 음영으로 강조됨)일 수 있다.
Figure 112020008245016-pct00002
알 수 있는 대로, bt_split_cu_flag가 시그널링될 수 있다. 이 플래그는 CTU의 BT 분할이 경계 상에 있지 않은 CTU/CU에 대해 구성될 때 시그널링된다(조건 if(!(bBBoundary || bRBoundound)) 비교참조). 경계의 경우, 강제 분할은, 플래그의 값이 도출되므로 추가 플래그를 필요로 하지 않는다. 상세하게는, bt_split_cu_flag[x0][y0]이 나타나 있지 않을 때(경계 경우), 다음이 적용된다.
- bBBoundary(현재 CU/CTU가 하부 경계에 있음을 의미)가 참이고, 동시에 cuWidth가 MinBTSize보다 크거나 cuHeight가 MinBTSize보다 크면(현재 CU/CTU는 최소 크기를 갖지 않고, 그러므로 원칙적으로 추가로 분할될 수 있음), bt_split_cu_flag[x0][y0]의 값은 1과 같다고 추론된다(추가 이진 분할이 수행되고, 즉 하부, 즉 수평 경계와 평행/일치인, 더 긴 측의 분할 CU가 되는 이진 트리 분할이 수행됨을 의미함).
-cuWidth가 MinBTSize보다 크거나 cuHeight가 MinBTSize보다 크고 그 동안에 bRBoundary(현재 CU/CTU가 오른쪽 경계 상에 있음을 의미함)가 참이면, bt_split_cu_flag[x0][y0]의 값은 2와 같다고 추론된다(추가 이진 트리 분할이 수행, 즉 오른쪽, 즉 수직 경계와 평행/일치인, 더 긴 측의 분할 CU가 되는 이진 트리 분할이 수행됨을 의미함).
- 그렇지 않으면, bt_split_cu_flag[x0][y0]의 값은 0과 같다고 추론되고, 추가 이진 분할이 수행되지 않음을 의미한다.
경계 상에 있다는 것은, 현재 파티셔닝 계층 레벨에 CU가 없거나 현재 CU와 경계 사이보다 더 낮음을 의미한다, 즉, 현재 CU는 현재 계층 레벨 내의 경계 부분에 속함을 의미한다(bBBoundary가 참 또는 bRBoundary가 참인 것에 대응함). BT 분할은 QT가 강제되지 않고(cqtDepth > FQT_LV-1) 현재 CU가 경계 CU가 아니면 BT 플래그가 비트스트림 내에 포함되는 경우에 사용된다.
JEM 구현을 위한 예시적인 값은 인터 프레임에 대한 cuMinBTSize가 값 4를 갖고, 인터 프레임에 대한 cuMAXBTSize는 128, cuMAXBTDepth는 3이다. 하지만, 본 개시는 이들 크기로 제한되지 않으며 선택된 임의의 값에 적용 가능하다.
상기 구문은 단지 예시일 뿐이며, 강제 QT 파티셔닝 레벨의 수를 지시하는 변수 FQT_LV에 대한 지식을 전제로 함이 주목된다. FQT_LV의 값이 0이면, 강제 QT 레벨이 없고 전체 강제 경계 분할은 이진 트리 분할에 의해 수행된다. 구문 및 시맨틱(semantic)은 본 개시를 벗어나지 않고서 달리 구현될 수 있다.
JEM 소프트웨어(JEM 5 및 6)를 기반으로 하는 또 다른 해결방안은 다음 시맨틱을 지정하는 것일 수 있다. qt_split_cu_flag[x0][y0]이 나타나 있지 않을 때(경계 경우), qt_split_cu_flag[x0][y0]의 값은 1과 같다고 간주되고, 모서리 CU의 경우에서의 추가 QT 분할 또는 강제 QT(cqtDepth <= FQT_LV-1 이면)를 의미한다.
bt_split_cu_flag[x0][y0]이 나타나 있지 않을 때(경계 경우), 다음이 적용된다.
- bBBoundary가 참이면, bt_split_cu_flag[x0][y0]의 값은 1과 같다고 추론되고, 하부 경계 CU가 수직 방향에서 이진 분할로 분할되고, 즉, 두 개의 수평 CU(즉, 수직 방향보다 수평 방향이 더 긴 CU)를 형성함을 의미한다.
- bRBoundary가 참이면, bt_split_cu_flag[x0][y0]의 값은 2와 같다고 추론되고, 오른쪽 경계 CU가 수평 방향에서 이진 분할로 분할되고, 즉, 두 개의 수직 CU(즉, 수평 방향보다 수직 방향으로 더 긴 CU)를 형성함을 의미한다.
위의 예시는 BT 분할이 적용되기 전에 강제 QT 레벨의 수를 정의하는 파라미터를 갖는 강제 분할을 보인다. 시맨틱 규칙은 분할 플래그가 나타나 있지 않는 경우, 즉 경계에, 채택될 분할을 정의한다. 하지만, 본 발명은 이러한 접근으로 제한되지 않는다.
대안적으로, 경계(불완전한) CTU는 RD-최적화에 의해 먼저 파티셔닝될 수 있고, 프레임 경계에 위치한 나머지 블록은 강제 BT 파티셔닝 또는 강제 QT 및 강제 BT 분할의 결합을 사용할 수 있다. RD-최적화에 의한 파티셔닝은 분할 플래그가 대응하는 CU에 대한 비트스트림 내에서 시그널링되는 것을 내포한다. RD에 의한 파티셔닝은 QT로 지정되거나(즉, 표준 또는 픽처 또는 픽처의 시퀀스에 공통적인 시그널링으로) 또는 BT로 지정될 수 있어서, BT와 QT 사이의 선택이 각 CU에 대해 시그널링되어야 하는 것은 아니다. 한편, 분할 플래그는 주어진 CU가 분할되는지의 여부뿐만 아니라 QT 또는 BT에 의해 분할되는지를 여부를 지시하도록 확장될 수 있다.
디코더 측에서, 강제 파티셔닝이 경계 CTU/CU 상에서 동작한다. 강제 BT 파티셔닝에 대해, 강제 수평 BT(수평 파티션을 형성하기 위해 수직 방향으로 분할함)가 리프 노드의 오른쪽 하부 샘플이 슬라이스/픽처 하부 경계 안에 있을 때까지 하부 경계 상에 위치하는 CTU/CU 상에서 사용될 것이다. 강제 수직 BT가 리프 노드의 오른쪽 하부 샘플이 슬라이스/픽처 오른쪽 경계 안에 있을 때까지 오른쪽 경계 상에 위치하는 CTU/CU 상에서 사용될 것이다. 오른쪽 하부 모서리 CTU/CU는 리프 노드의 오른쪽 하부 샘플이 슬라이스/픽처 경계의 내부에 있거나 또는 리프 노드가 오른쪽/하부 경계 케이스가 될 때까지 강제 QT를 사용하여 파티셔닝될 것이다. 추가 파티션은 구문을 참조하여 위에서 이미 설명된 대로, 다수의 강제 QT 파티셔닝 레벨이 정의되어 있는지에 따라 QT 또는 BT 분할 플래그일 수 있는 디코딩된 분할 플래그에 기반하여 동작된다. 구분 엘리먼트는 인코더에 의해 생성되고 상술된 대로 디코더에 의해 다루어 진다.
강제 QT 및 강제 BT의 결합에 대해, 경계 CTU에 대한 강제 QT 레벨의 숫자(파라미터 FQT_LV에 대응함)는 시간적 id/슬라이스 유형에 기반하여 적응적으로 선택되거나 또는 비트스트림으로부터 디코딩될 수 있다. 디코딩된 강제 QT 레벨은 슬라이스 헤더, SPS 또는 PPS로부터 추출될 수 있다. 경계 CTU/CU는 강제 QT 파티션 이후에만 BT 파티셔닝된다. 리프 노드의 오른쪽 하부 샘플이 경계 내에 있을 때, 강제 분할은 종료될 것이다. 추가의 파티션은 디코딩된 분할 플래그에 기반하여 수행된다.
달리 말해서, 제1 구현에 따르면, 디코더에서, CTU가 슬라이스/픽처 경계 상에 위치하면, 이진 트리 분할은 이진 트리 파티션(플래그)의 지시자 및/또는 이진 트리 파티션 유형의 지시자(BT 또는 QT가 수행될지 여부의 지시) 없이 수행된다. 이진 파티셔닝은 리프 노드의 오른쪽 하부 샘플이 슬라이스/픽처 경계 내에 위치할 때(즉, 픽처 경계를 넘지 않음) 종료된다.
그러므로, 강제 QT 경계 파티셔닝 대신에, 경계 CTU에 대해 강제 BT가 도입된다. 하부 경계에 대한 강제 수평 BT 및 오른쪽 경계에 대한 강제 수직 BT가 구현된다. 오른쪽 하부 모서리 경계에 대해, 강제 QT는 현재 CU가 더 이상 강제로 파티셔닝될 필요가 없거나(최소 크기에 도달했기 때문에) 또는 현재 CU가 하부 또는 오른쪽 경계 상에 있을 때까지 사용될 것이다.
본 개시의 다른 구현에서, 강제 QT 및 강제 BT 파티셔닝의 결합도 역시 가능하다. 따라서, 강제 BT 파티셔닝은 특정 숫자의 강제 QT 레벨 후에만 수행된다. 강제 QT 및 강제 BT 파티셔닝의 결합에 대해, 강제 QT의 레벨은 시간적 ID 또는 슬라이스 유형에 의해 적응적으로 선택될 수 있다. 대안적으로, 강제 QT의 레벨은 코스트에 의해 조정될 수 있고 얼마나 깊은 레벨의 강제 QT가 디코더를 위해 사용되는지를 지시하기 위해 비트스트림 내에 포함될 수 있다.
경계 CTU가 RD-최적화에 의해 처음 파티셔닝될 때 더 많은 유연성이 달성되고, 프레임 경계에 위치한 나머지 블록(즉, 부분적으로는 픽처 내에 그리고 부분적으로는 픽처 밖에 위치하는 불완전한 CU)만이 제안된 위에서 설명한 대로의 강제 BT 파티션 또는 강제 QT와 강제 BT 파티션의 결합을 사용할 수 있다.
지금까지 설명된 파티셔닝은 정지 이미지 또는 비디오 코딩에 이용될 수 있다. 상세히, 파티셔닝은 도 1 및 도 2에 도시된 인코더 및 디코더 내의, 분할부(110) 및 분할부(250)에서 각각 이용될 수 있다.
따라서, 본 개시는 또한 비디오 시퀀스의 이미지를 인코딩하기 위한 장치를 제공하고, 이는 위에서 설명된 예시들 중 어느 하나에 따라 이미지 부분을 코딩 단위로 분할하는 장치(분할부)(110), 코딩 단위를 인코딩하도록 구성된 이미지 코딩부(120-145, 160-195), 및 코딩된 코딩 단위 및 코딩 트리 단위가 파티셔닝되는 방법을 지시하는 파티셔닝 정보를 포함하는 비트스트림을 생성하도록 구성된 비트스트림 형성부(150)를 포함한다.
인코더는 가장 깊은 레벨을 제외한 임의의 파티셔닝 레벨에 대한 레이트 왜곡 최적화에 따라 경계 부분의 계층적 파티셔닝을 결정하도록 구성된 레이트 왜곡 최적화부(도 1에 도시되지 않음)을 더 포함할 수 있다. RD-최적화부는 파티셔닝과 관련한 서로 다른 인코더 설정을 사용하여 인코딩을 수행하고 최소 비용 함수를 초래하는 설정을 선택할 수 있다. 비용 함수는 예측과 코딩될 오리지널 블록 등의 사이의 주어진 왜곡 레벨 또는 유사성에 대한 최소 레이트일 수 있다.
더욱이, 비디오 시퀀스의 이미지를 디코딩하는 장치가 제공되고, 이는 위에서 대로의 코딩 단위로 디코딩될 이미지 부분의 분할을 결정하는 장치(250), 이미지 부분의 결정된 분할에 기반하여, 그리고 코딩된 코딩 단위 및 코딩 트리 단위가 파티셔닝되는 방법을 지시하는 파티셔닝 정보를 포함하는 비트스트림을 파싱하는 비트스트림 파서(250), 및 코딩된 코딩 단위를 디코딩하는 이미지 디코딩부(225-240, 260-295)를 포함한다.
분할 및 파싱은 재귀적으로 함께 수행된다는 것이 주목된다. 파싱은 현재 CU에 대한 비트스트림으로부터 필요한 제어 정보를 분리하는 것을 포함하고, 분할은 CU 위치, 크기 및 데이터를 도출하기 위해 파싱된 정보 및/또는 시맨틱 지식을 사용한다. 상세히, 파서는 분할 플래그를 전달할 수 있고, 그에 기반하여 스플리터(splitter)는 현재 CU를 추가로 분할하거나 또는 그 크기를 유지한다. 게다가, 분할 플래그에 따라, 파서는 추가 깊이의 CU에 대한 분할 정보를 추가로 파싱하거나 또는 동일한 깊이의 다른 CU에 대한 분할 정보를 파싱하거나, 또는 CU에 대해 디코딩될 데이터를 파싱한다. 더욱이, 스플리터는 강제 파티셔닝 규칙에 따라 추가 비트스트림 시그널링 없이도 위에서 설명된 대로 경계 부분을 파티셔닝하도록 구성된다.
달리 말해서, 인코더 및/또는 디코더는 모두 미리 정의된 분할로서 경계 부분을 코딩 단위로 분할하는 것을 이용할 수 있다. 그 후, 비트스트림 내의 분할 정보는 경계 부분의 분할과 전혀 관련이 없다. 이는 경계가 미리 정의된 방식으로 분할되는 경우이고, 여전히 픽처 유형/시간적 ID/슬라이스 유형과 같은 다른 인코더 설정에 기반하는 분할을 도출하는 것을 포함할 수 있다.
대안적으로, 인코더 및/또는 디코더는 N개의 가장 얕은 레벨에서 쿼드 트리 분할에 의해 경계 부분을 파티셔닝하고 - N은 0보다 크거나 같고 및 파티셔닝 계층 레벨의 수보다 작은 정수임 -; 나머지 파티셔닝 계층 레벨에서 이진 트리 분할로 경계 부분을 파티셔닝하도록 또한 구성될 수 있고, 파티셔닝 정보는 N의 지시를 포함한다. 파티셔닝 정보는 경계 부분 CTU/CU가 분할될지 여부 및/또는 분할의 종류(이진 트리 또는 쿼드 트리 및/또는 다른 옵션을 포함할 수 있음)를 지시하는 분할 플래그를 더 포함할 수 있다. 분할 플래그는 모든 파티션(CU)에 대해 또는 계층 레벨의 경계 상에 있지 않은 파티션에 대해서만 시그널링될 수 있다.
인코더 및/또는 디코더는 칩 상에 또는 소프트웨어에 의해 구현(임베딩)될 수 있다. 하지만, 인코더 및/또는 디코더는 또한 복수의 하드웨어 및 소프트웨어 컴포넌트 상에서 구현될 수 있다.
위에서, 쿼드-트리 분할 및 이진-트리 분할의 두 종류의 분할이 주로 논의되었다. 하지만, 본 개시에 의해 제공되는, 비용 기반 또는 사전 정의된 경계 강제 파티셔닝은 강제 QT 또는 강제 BT뿐만 아니라 다른 강제 파티션 구조에도 적합하다.
위에서, 대부분의 케이스는, 경계 부분의 강제 분할에서 가장 깊은 CU가 직사각형이고 정사각형 CU가 아닌, 즉 일 측이 타 측보다 긴 CU의 케이스로 설명되었다.
하지만, 일반적으로 경계 부분은 경계 코딩 단위가 경계 부분 내에 완전히 남아 있지 않는 파티셔닝 레벨 중 적어도 하나에서 이진 트리 분할에 의해 파티셔닝될 수 있다. 달리 말해서, 본 개시에 따르면, 이미지 부분을 코딩 단위로 분할하는 장치는, 동작시, 이미지 부분을 미리 결정된 크기를 갖는 정수 개의 코딩 트리 단위와 수평 또는 수직 방향인 적어도 제1 방향으로 미리 결정된 크기보다 작은 크기의 경계 부분으로 세분화하고, 각각의 수평 및 수직 방향으로 서로 다른 크기를 갖는 코딩 단위를 포함하는 코딩 단위로 경계 부분을 계층적으로 파티셔닝하는 처리 회로를 포함할 수 있고, 코딩 단위는 부분적으로 경계 부분 내에 그리고 부분적으로 이미지 부분의 밖에 위치한다. 상세히, 이진 트리 분할은 임의의 경계 CU에 대해 사용될 수 있다.
도 7에 도시된 경계 부분은 여러 개의 CTU를 포함한다는 것이 주목된다. 위의 예시적인 실시예 및 구현은 하나의 CTU의 파티셔닝을 위해 설명되었다. 이는 경계 부분의(불완전한) CTU 중 하나만이 위에서 설명된 대로 분할 되더라도 이점을 가질 수 있고 코딩 효율 및/또는 복잡성의 관점에서 더 나은 결과를 초래할 수 있기 때문이다. 하지만, 경계 부분의 하나 이상의 CTU는 위에서 설명된 대로 파티셔닝될 수 있다. 파티셔닝은 CTU마다 순차적으로 수행될 수 있다. 일부 구현에서, 서로 다른 CTU들에 대해 병렬로 파티셔닝을 수행하는 것이 유리할 수 있다. 병렬 처리는 인코더/디코더에 의해 각각 이용되는 경우 코딩/디코딩 지연을 감소시킬 수 있다.
달리 말해서, 위에서 설명된 파티셔닝을 경계 부분의 모든 CTU에 적용하는 것이 유리할 수 있다. 한편, 본 개시는 이에 한정되지 않으며, 파티셔닝은 하나 이상의 경계 CTU에 적용될 수 있다. 나머지 CTU는 임의의 다른 파티셔닝, 예를 들어 QT 등 만으로 분할될 수 있다.
대응하는 파티셔닝 방법도 제공된다. 그러한 파티셔닝을 이용하는 대응하는 인코딩 및 디코딩 장치 및 방법이 추가로 제공된다.
본 개시는 장치 내에서 구현될 수 있다. 이러한 장치는 소프트웨어 및 하드웨어의 결합일 수 있다. 예를 들어, 내부 예측(intra-prediction) 및 디블로킹(deblocking) 필터링은 범용 프로세서, 또는 디지털 신호 프로세서(digital signal processor, DSP), 또는 필드 프로그램 가능 게이트 어레이(Field Programmable Gate Array, FPGA) 등과 같은 칩에 의해 수행될 수 있다. 하지만, 본 발명은 프로그램 가능 하드웨어 상에서의 구현으로 제한되지 않는다. 그것은 주문형 집적 회로(application-specific integrated circuit, ASIC) 상에서 또는 위에서 언급된 하드웨어 성분의 결합에 의해 구현될 수 있다.
인트라 예측 및 디블로킹 필터링 결정은 또한, 컴퓨터에 의해 실행될 때 위에서 설명한 대로의 방법의 단계를 수행하는 컴퓨터 판독 가능 매체 상에 저장된 프로그램 명령에 의해 구현될 수 있다. 컴퓨터 판독 가능 매체는, 프로그램이 DVD, CD, USB(플래시) 드라이브, 하드 디스크, 네트워크를 통해 이용 가능한 서버 저장 장치 등에 저장된 임의의 매체일 수 있다.
인코더 및/또는 디코더는 TV 세트, 또는 셋톱 박스, 또는 PC, 또는 태블릿, 또는 스마트폰 등을 포함하는 다양한 장치 내에서 구현될 수 있다. 그것은 방법 단계를 구현하는 소프트웨어, 앱일 수 있다.
요약하면, 본 발명은 이미지 또는 이미지 슬라이스의 파티셔닝에 관한 것이다. 상세히, 이미지 또는 이미지 슬라이스는 수직 및 수평 방향 모두에서 정수의 코딩 트리 단위로 분할된다. 나머지 경계 부분은 가장 깊은 파티셔닝 레벨이 이진 파티셔닝의 결과가 되도록, 즉, 다른 쪽보다 한 쪽에서 더 긴 코딩 단위를 포함하도록, 적어도 부분적으로 강제 분할된다. 더 긴 측은 이미지 또는 이미지 슬라이스 경계와 평행하거나 일치한다.

Claims (18)

  1. 픽처의 부분을 코딩 단위로 분할하는 장치로서,
    상기 장치는 처리 회로를 포함하고,
    상기 처리 회로는,
    상기 부분을 미리 결정된 크기를 갖는 정수 개의 코딩 트리 단위와, 픽처 경계에 위치하는 경계 코딩 트리 단위로 세분화하고 - 상기 경계 코딩 트리 단위는, 수평 아니면 수직 방향인 적어도 제1 방향에서 상기 미리 결정된 크기보다 작은 크기의 상기 픽처 내부에 위치하는 부분과, 상기 픽처 외부에 위치하는 부분을 포함함 -,
    미리 정의된 파티셔닝에 따라 상기 경계 코딩 트리 단위를 각각의 수평 및 수직 방향으로 서로 다른 크기를 갖는 가장 깊은 레벨 코딩 단위(deepest-level coding unit)를 포함하는 코딩 단위로 계층적으로 파티셔닝하도록 구성되고 - 상기 가장 깊은 레벨 코딩 단위는 상기 제1 방향으로 더 작음 -,
    상기 미리 정의된 파티셔닝은,
    경계 코딩 트리 단위가 상기 픽처의 하단 경계에 위치하는 경우, 상기 가장 깊은 레벨 코딩 단위가 상기 픽처 내에 전체적으로 위치할 때까지 상기 경계 코딩 트리 단위의 경계 코딩 단위를 파티셔닝하기 위해 수평 이진 트리 파티셔닝만을 사용하여 상기 경계 코딩 트리 단위를 재귀적으로 파티셔닝하는 것 - 상기 제1 방향은 수직 방향임 -, 및
    경계 코딩 트리 단위가 상기 픽처의 오른쪽 경계에 위치하는 경우, 상기 가장 깊은 레벨 코딩 단위가 상기 픽처 내에 전체적으로 위치할 때까지 상기 경계 코딩 트리 단위의 경계 코딩 단위를 파티셔닝하기 위해 수직 이진 트리 파티셔닝만을 사용하여 상기 경계 코딩 트리 단위를 재귀적으로 파티셔닝하는 것 - 상기 제1 방향은 수평 방향임 -
    을 포함하는, 장치.
  2. 제1항에 있어서,
    상기 이진 트리 파티셔닝은 상기 코딩 단위를 동등한 사이즈의 두 개의 파티션으로 파티셔닝하는, 장치.
  3. 제1항에 있어서,
    상기 처리 회로는 또한 쿼드 트리 분할(quad-tree splitting)에 의해 상기 경계 코딩 트리 단위를 파티셔닝하도록 구성된, 장치.
  4. 제3항에 있어서,
    상기 처리 회로는,
    N개의 가장 얕은 레벨(shallowest level)에서 쿼드 트리 분할에 의해 상기 경계 코딩 트리 단위를 파티셔닝하고 - N은 0보다 크거나 같고 파티셔닝 계층 레벨의 수보다 작은 정수임 -;
    나머지 파티셔닝 계층 레벨에서 이진 트리 분할에 의해 상기 경계 코딩 트리 단위를 파티셔닝하도록 구성된, 장치.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서,
    상기 처리 회로는, 동작시, 쿼드 트리 분할에 의해 상기 경계 코딩 트리 단위의 모서리 부분을 각각의 계층 레벨에서 파티셔닝하는, 장치.
  6. 제1항 또는 제2항에 있어서,
    상기 처리 회로는 이진 트리 분할에 의해 모든 파티셔닝 레벨에서 경계 코딩 트리 단위를 파티셔닝하도록 구성된, 장치.
  7. 비디오 시퀀스의 픽처를 인코딩하는 장치(100)로서,
    제1항 내지 제4항 중 어느 한 항에 따른, 픽처의 부분을 코딩 단위로 분할하는 상기 장치;
    상기 코딩 단위를 인코딩하도록 구성된 이미지 코딩부; 및
    상기 코딩된 코딩 단위 및 상기 코딩 트리 단위가 파티셔닝되는 방법을 지시하는 파티셔닝 정보를 포함하는 비트스트림을 생성하도록 구성된 비트스트림 형성부
    룰 포함하는 장치.
  8. 제7항에 있어서,
    가장 깊은 레벨(deepest-level)을 제외한 임의의 파티셔닝 레벨에 대한 레이트 왜곡 최적화(rate-distortion optimization)에 따라 상기 경계 코딩 트리 단위를 계층적으로 파티셔닝하는 것으로 결정하도록 구성된 레이트 왜곡 최적화부
    를 더 포함하는 장치.
  9. 비디오 시퀀스의 픽처를 디코딩하는 장치(200)로서,
    제1항 내지 제4항 중 어느 한 항에 따라 디코딩될 픽처의 부분의 코딩 단위로의 분할을 결정하는 상기 장치;
    상기 부분의 상기 결정된 분할에 기반하여, 상기 코딩된 코딩 단위 및 상기 코딩 트리 단위가 파티셔닝되는 방법을 지시하는 파티셔닝 정보를 포함하는 비트스트림을 파싱하는 비트스트림 파서;
    상기 코딩된 코딩 단위를 디코딩하는 이미지 디코딩부
    을 포함하는 장치.
  10. 제9항에 있어서,
    상기 경계 코딩 트리 단위의 코딩 단위로의 상기 분할은 미리 정의된 분할이고, 상기 파티셔닝 정보는 상기 경계 코딩 트리 단위의 상기 분할과 관련이 없는, 장치.
  11. 제9항에 있어서,
    상기 처리 회로는 N개의 가장 얕은 레벨(shallowest level)에서 쿼드 트리 분할에 의해 경계 코딩 트리 단위를 파티셔닝하고 - N은 0보다 크거나 같고 파티셔닝 계층 레벨의 수보다 작은 정수임 -, 나머지 파티셔닝 계층 레벨에서 이진 트리 분할에 의해 경계 코딩 트리 단위를 파티셔닝하도록 구성되는, 장치.
  12. 픽처의 부분을 코딩 단위로 분할하는 방법으로서,
    상기 부분을 미리 결정된 크기를 갖는 정수 개의 코딩 트리 단위와, 픽처 경계에 위치하는 경계 코딩 트리 단위로 세분화하는 단계 - 상기 경계 코딩 트리 단위는, 수평 아니면 수직 방향인 적어도 제1 방향에서 상기 미리 결정된 크기보다 작은 크기의 상기 픽처 내부에 위치하는 부분과, 상기 픽처 외부에 위치하는 부분을 포함함 -,
    미리 정의된 파티셔닝에 따라 상기 경계 코딩 트리 단위를 각각의 수평 및 수직 방향으로 서로 다른 크기를 갖는 가장 깊은 레벨 코딩 단위(deepest-level coding unit)를 포함하는 코딩 단위로 계층적으로 파티셔닝하는 단계 - 상기 가장 깊은 레벨 코딩 단위는 상기 제1 방향으로 더 작음 -
    상기 미리 정의된 파티셔닝은,
    경계 코딩 트리 단위가 상기 픽처의 하단 경계에 위치하는 경우, 상기 가장 깊은 레벨 코딩 단위가 상기 픽처 내에 전체적으로 위치할 때까지 상기 경계 코딩 트리 단위의 경계 코딩 단위를 파티셔닝하기 위해 수평 이진 트리 파티셔닝만을 사용하여 상기 경계 코딩 트리 단위를 재귀적으로 파티셔닝하는 것 - 상기 제1 방향은 수직 방향임 -, 및
    경계 코딩 트리 단위가 상기 픽처의 오른쪽 경계에 위치하는 경우, 상기 가장 깊은 레벨 코딩 단위가 상기 픽처 내에 전체적으로 위치할 때까지 상기 경계 코딩 트리 단위의 경계 코딩 단위를 파티셔닝하기 위해 수직 이진 트리 파티셔닝만을 사용하여 상기 경계 코딩 트리 단위를 재귀적으로 파티셔닝하는 것 - 상기 제1 방향은 수평 방향임 -
    를 포함하는, 방법.
  13. 제12항에 있어서,
    상기 경계 코딩 트리 단위를 파티셔닝하는 단계는,
    가장 얕은 파티셔닝 레벨인 현재 파티셔닝 레벨로 시작하는 단계,
    상기 현재 파티셔닝 레벨의 코딩 단위가 상기 픽처 내부로 완전히 들어갈 때까지, 상기 경계 코딩 트리 단위를 상기 현재 파티셔닝 레벨의 코딩 단위로 순차적으로 분할하는 단계;
    현재 파티셔닝 레벨의 코딩 단위가 상기 픽처 내부에 위치하지 않으면 즉시, 상기 파티셔닝 레벨을 증가시키고 상기 코딩 단위를 추가로 분할하는 단계를 더 포함하고, 여기서 쿼드 트리 파티셔닝은 N개의 가장 얕은 파티셔닝 레벨에 사용되고 이진 트리 파티셔닝은 다른 파티셔닝 레벨에 사용되며, N은 0보다 크거나 같고 파티셔닝 계층 레벨의 수보다 작은 정수인, 방법.
  14. 비디오 시퀀스의 픽처를 인코딩하는 방법으로서,
    제12항 또는 제13항에 따라 픽처의 부분을 코딩 단위로 분할하는 단계;
    상기 코딩 단위를 인코딩하는 단계; 및
    상기 코딩된 코딩 단위 및 상기 코딩 트리 단위가 파티셔닝된 방법을 지시하는 파티셔닝 정보를 포함하는 비트스트림을 생성하는 단계
    를 포함하는 방법.
  15. 비디오 시퀀스의 픽처를 디코딩하는 방법으로서,
    제12항 또는 제13항에 따라 디코딩될 픽처의 부분의 코딩 단위로의 분할을 결정하는 단계;
    상기 부분의 상기 결정된 분할에 기반하여, 상기 코딩된 코딩 단위 및 상기 코딩 트리 단위가 파티셔닝되는 방법을 지시하는 파티셔닝 정보를 포함하는 비트스트림을 파싱하는 단계;
    상기 코딩된 코딩 단위를 디코딩하는 단계
    를 포함하는 방법.
  16. 컴퓨터 판독 가능 매체로서,
    프로세서에 의해 실행될 때, 상기 프로세서로 하여금 제12항 또는 제13항에 따른 방법을 실행하도록 하는 명령을 저장하는 컴퓨터 판독 가능 매체.
  17. 삭제
  18. 삭제
KR1020207002484A 2017-07-04 2017-07-04 경계 강제 파티션에 대한 개선 KR102381198B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020227010236A KR102586674B1 (ko) 2017-07-04 2017-07-04 경계 강제 파티션에 대한 개선

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2017/066700 WO2019007493A1 (en) 2017-07-04 2017-07-04 ENHANCEMENT OF FORCED LIMIT PARTITION

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020227010236A Division KR102586674B1 (ko) 2017-07-04 2017-07-04 경계 강제 파티션에 대한 개선

Publications (2)

Publication Number Publication Date
KR20200020914A KR20200020914A (ko) 2020-02-26
KR102381198B1 true KR102381198B1 (ko) 2022-03-30

Family

ID=59285213

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020237033771A KR20230144124A (ko) 2017-07-04 2017-07-04 경계 강제 파티션에 대한 개선
KR1020207002484A KR102381198B1 (ko) 2017-07-04 2017-07-04 경계 강제 파티션에 대한 개선
KR1020227010236A KR102586674B1 (ko) 2017-07-04 2017-07-04 경계 강제 파티션에 대한 개선

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020237033771A KR20230144124A (ko) 2017-07-04 2017-07-04 경계 강제 파티션에 대한 개선

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020227010236A KR102586674B1 (ko) 2017-07-04 2017-07-04 경계 강제 파티션에 대한 개선

Country Status (16)

Country Link
US (2) US11272220B2 (ko)
EP (2) EP3649781B1 (ko)
JP (3) JP6977138B2 (ko)
KR (3) KR20230144124A (ko)
CN (2) CN110999295B (ko)
AU (1) AU2017422536C1 (ko)
BR (1) BR112020000166A2 (ko)
CA (1) CA3068762C (ko)
DK (1) DK3649781T3 (ko)
FI (1) FI3649781T3 (ko)
MY (1) MY197897A (ko)
PT (1) PT3649781T (ko)
SG (1) SG11201913523XA (ko)
UA (1) UA126480C2 (ko)
WO (1) WO2019007493A1 (ko)
ZA (1) ZA202000188B (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019118097A1 (en) * 2017-12-14 2019-06-20 Interdigital Vc Holdings, Inc. Method and apparatus for encoding a picture block
US11128871B2 (en) 2018-04-25 2021-09-21 Panasonic Intellectual Property Corporation Of America Encoder for adaptively determining information related to splitting based on characteristics of neighboring samples
BR122023023994A2 (pt) * 2018-09-18 2023-12-26 Huawei Technologies Co., Ltd. Codificador de vídeo, decodificador de vídeo e métodos correspondentes
CN112740668B (zh) 2018-09-18 2022-05-24 华为技术有限公司 译码方法、设备、系统
WO2020146582A1 (en) 2019-01-09 2020-07-16 Futurewei Technologies, Inc. Sub-picture layout signaling in video coding
WO2022218322A1 (en) * 2021-04-13 2022-10-20 Beijing Bytedance Network Technology Co., Ltd. Boundary handling for coding tree split

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101452713B1 (ko) * 2009-10-30 2014-10-21 삼성전자주식회사 픽처 경계의 부호화 단위를 부호화, 복호화 하는 방법 및 장치

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106231328B (zh) * 2010-04-13 2020-06-12 Ge视频压缩有限责任公司 解码器、解码方法、编码器以及编码方法
US8494290B2 (en) * 2011-05-05 2013-07-23 Mitsubishi Electric Research Laboratories, Inc. Method for coding pictures using hierarchical transform units
US9912944B2 (en) * 2012-04-16 2018-03-06 Qualcomm Incorporated Simplified non-square quadtree transforms for video coding
CN104904210B (zh) * 2013-01-07 2018-01-30 日本电气株式会社 视频编码设备、视频解码设备、视频编码方法、视频解码方法,以及程序
CN105409222A (zh) * 2013-07-17 2016-03-16 索尼公司 图像处理装置及方法
US10070070B2 (en) * 2014-05-28 2018-09-04 Mediatek Inc. Video processing apparatus with transform unit size selection, mode information unit size selection and/or picture width/height decision, and related video processing method thereof
WO2016090568A1 (en) 2014-12-10 2016-06-16 Mediatek Singapore Pte. Ltd. Binary tree block partitioning structure
US9591325B2 (en) * 2015-01-27 2017-03-07 Microsoft Technology Licensing, Llc Special case handling for merged chroma blocks in intra block copy prediction mode
US10003807B2 (en) * 2015-06-22 2018-06-19 Cisco Technology, Inc. Block-based video coding using a mixture of square and rectangular blocks
US20170078703A1 (en) * 2015-09-10 2017-03-16 Nokia Technologies Oy Apparatus, a method and a computer program for video coding and decoding
US10212444B2 (en) * 2016-01-15 2019-02-19 Qualcomm Incorporated Multi-type-tree framework for video coding
EP3430808A4 (en) * 2016-03-16 2020-01-15 Mediatek Inc. METHOD AND DEVICE FOR PROCESSING VIDEO DATA WITH RESTRICTED BLOCK SIZE IN VIDEO CODING
US10284845B2 (en) * 2016-05-25 2019-05-07 Arris Enterprises Llc JVET quadtree plus binary tree (QTBT) structure with multiple asymmetrical partitioning
KR20220129685A (ko) * 2016-09-05 2022-09-23 엘지전자 주식회사 영상 부호화/복호화 방법 및 이를 위한 장치
MX2019004052A (es) 2016-10-10 2019-06-24 Samsung Electronics Co Ltd Metodo y dispositivo para codificar o decodificar una unidad de codificacion de contorno de imagen.
US11057624B2 (en) * 2016-10-14 2021-07-06 Industry Academy Cooperation Foundation Of Sejong University Image encoding method/device, image decoding method/device, and recording medium in which bitstream is stored
EP3383045A1 (en) * 2017-03-27 2018-10-03 Thomson Licensing Multiple splits prioritizing for fast encoding
EP3383043A1 (en) * 2017-03-27 2018-10-03 Thomson Licensing Methods and apparatus for picture encoding and decoding

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101452713B1 (ko) * 2009-10-30 2014-10-21 삼성전자주식회사 픽처 경계의 부호화 단위를 부호화, 복호화 하는 방법 및 장치

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Fuzheng Yang el al., CTB splitting on frame boundary for arbitrary resolution video, JCT-VC of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, JCTVC-C025, 2010-10-01 pp. 1-4*
Jianle chen, et al. Algorithm description of Joint Exploration Test Model 2, Joint Video exploration Team(JVET), JVET-B1001-v3, 2016-03-25, pp. 1-30*

Also Published As

Publication number Publication date
US11272220B2 (en) 2022-03-08
KR20230144124A (ko) 2023-10-13
AU2017422536A8 (en) 2020-02-06
KR20220044388A (ko) 2022-04-07
JP2020526145A (ja) 2020-08-27
JP2022022227A (ja) 2022-02-03
FI3649781T3 (fi) 2024-03-13
KR102586674B1 (ko) 2023-10-06
EP4358512A1 (en) 2024-04-24
CN114205630A (zh) 2022-03-18
CN114205630B (zh) 2022-06-28
AU2017422536B2 (en) 2023-04-13
ZA202000188B (en) 2021-01-27
WO2019007493A1 (en) 2019-01-10
AU2017422536A1 (en) 2020-01-30
EP3649781A1 (en) 2020-05-13
CA3068762A1 (en) 2019-01-10
SG11201913523XA (en) 2020-01-30
JP7366980B2 (ja) 2023-10-23
AU2017422536C1 (en) 2023-08-10
KR20200020914A (ko) 2020-02-26
MY197897A (en) 2023-07-24
JP6977138B2 (ja) 2021-12-08
JP2023174795A (ja) 2023-12-08
CN110999295B (zh) 2024-03-26
US20220217420A1 (en) 2022-07-07
PT3649781T (pt) 2024-03-07
UA126480C2 (uk) 2022-10-12
BR112020000166A2 (pt) 2020-07-14
CN110999295A (zh) 2020-04-10
US20200145698A1 (en) 2020-05-07
EP3649781B1 (en) 2024-01-17
DK3649781T3 (da) 2024-03-11
CA3068762C (en) 2023-10-03

Similar Documents

Publication Publication Date Title
US11523136B2 (en) Methods and apparatuses for coding transform blocks
KR102381198B1 (ko) 경계 강제 파티션에 대한 개선
US10142642B2 (en) Block adaptive color-space conversion coding
CA2949542C (en) Block adaptive color-space conversion coding
US20180324417A1 (en) Intra reference filter for video coding
TWI720584B (zh) 視訊處理系統中色度量化參數導出的方法以及裝置
US20190306513A1 (en) Position dependent intra prediction combination extended with angular modes
US9363510B2 (en) Scan-based sliding window in context derivation for transform coefficient coding
WO2016049839A1 (en) Rules for intra-picture prediction modes when wavefront parallel processing is enabled
KR20190090865A (ko) 영상 처리 방법 및 이를 위한 장치
WO2020211777A1 (en) Methods and apparatuses for coding video data with secondary transform
US20220377337A1 (en) Context Coding for Transform Skip Mode
TWI784345B (zh) 用於將編碼樹單元編碼與解碼的方法、設備及系統
US20220086461A1 (en) Image encoding/decoding method and apparatus
TW202341736A (zh) 視訊編解碼方法及裝置
JP2024056945A (ja) 符号化ユニットを復号および符号化する方法、装置およびプログラム

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
A107 Divisional application of patent
GRNT Written decision to grant