KR20210089654A - 지수 파티셔닝의 방법들 및 시스템들 - Google Patents

지수 파티셔닝의 방법들 및 시스템들 Download PDF

Info

Publication number
KR20210089654A
KR20210089654A KR1020217013202A KR20217013202A KR20210089654A KR 20210089654 A KR20210089654 A KR 20210089654A KR 1020217013202 A KR1020217013202 A KR 1020217013202A KR 20217013202 A KR20217013202 A KR 20217013202A KR 20210089654 A KR20210089654 A KR 20210089654A
Authority
KR
South Korea
Prior art keywords
block
region
decoder
partitioning
bitstream
Prior art date
Application number
KR1020217013202A
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 KR20210089654A publication Critical patent/KR20210089654A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/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/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/124Quantisation
    • 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
    • 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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • H04N19/619Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding the transform being operated outside the 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/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Error Detection And Correction (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Control Of Indicators Other Than Cathode Ray Tubes (AREA)

Abstract

디코더는 회로를 포함하며, 회로는 비트스트림을 수신하고, 지수 파티셔닝 모드가 인에이블되는지를 결정하고, 곡선 라인에 따라 블록을 제1 영역 및 제2 영역으로 파티션하고, 블록의 픽셀 데이터를 재구성하고 곡선 라인을 사용하도록 구성되며, 제1 영역 및 제2 영역은 비직사각형이다.

Description

지수 파티셔닝의 방법들 및 시스템들
관련 출원들에 대한 상호참조
본 출원은 2018년 10월 1일에 출원되고 발명의 명칭이 "EXPONENTIAL PARTITIONING"인 미국 임시 출원 일련 번호 제62/739,446호; 2018년 10월 1일에 출원되고 발명의 명칭이 "PREDICTING EXPONENTIAL PARTITIONING PARAMETERS"인 제62/739,677호; 및 2018년 10월 1일에 출원되고 발명의 명칭이 "SHAPE ADAPTIVE DISCRETE COSINE TRANSFORMATION FOR EXPONENTIALLY PARTITIONED BLOCKS"인 제62/739,531호에 대한 우선권의 혜택을 주장하며, 이들은 본원에 전체적으로 참조로 각각 포함된다.
발명의 분야
본 발명은 일반적으로 디코딩 및 인코딩을 포함하는, 디지털 비디오를 압축하고 압축해제하는 기술들의 분야에 관한 것이다. 특히, 본 발명은 코딩 유닛들의 지수 파티셔닝(exponential partitioning)을 위한 방법 및 시스템들에 관한 것이다.
비디오 코덱은 디지털 비디오를 압축하거나 압축해제하는 전자 회로 또는 소프트웨어를 포함할 수 있다. 그것은 비압축된 비디오를 압축된 포맷으로 변환할 수 있거나 그 역도 또한 같다. 비디오 압축의 맥락에서, 비디오를 압축하는(및/또는 그것의 일부 기능을 수행하는) 디바이스는 전형적으로 인코더로 칭해질 수 있고, 비디오를 압축해제하는(및/또는 그것의 일부 기능을 수행하는) 디바이스는 디코더로 칭해질 수 있다.
압축된 데이터의 포맷은 표준 비디오 압축 사양에 합치할 수 있다. 압축된 비디오에는 원래 비디오 내에 존재하는 일부 정보가 결핍된다는 점에서 압축이 손실될 수 있다. 이것의 결과는 원래 비디오를 정확히 재구성하기에 불충분한 정보가 있기 때문에 압축해제된 비디오가 원래 비압축된 비디오보다 더 낮은 품질을 가질 수 있는 것을 포함할 수 있다.
비디오 품질, 비디오를 표현하기 위해 사용되는 데이터의 양(예를 들어, 비트 레이트에 의해 결정됨), 인코딩 및 디코딩 알고리즘들의 복잡성, 데이터 손실들 및 에러들에 대한 감도, 편집의 용이성, 랜덤 액세스, 엔드 투 엔드 지연(예를 들어, 레이턴시) 등 사이에 복잡한 관계들이 있을 수 있다.
본 발명의 일 양태에서, 디코더는 비트스트림을 수신하도록 구성될 수 있는 회로를 포함할 수 있다. 일 실시예에서, 회로는 지수 파티셔닝 모드가 인에이블되는지를 결정하고 곡선 라인에 따라 블록을 제1 영역 및 제2 영역으로 파티션하도록 추가로 구성될 수 있다. 일 실시예에서, 회로는 또한 곡선 라인을 사용하여 블록의 픽셀 데이터를 재구성하도록 구성될 수 있으며, 여기서 제1 영역 및 제2 영역은 비직사각형일 수 있다.
디코더는 단독으로 또는 조합하여 취해지는 이하의 특징들 중 하나 이상을 추가로 포함할 수 있다. 일 실시예에서, 지수 파티셔닝 모드는 비트스트림으로 시그널링될 수 있다. 일 실시예에서, 블록을 제1 영역 및 제2 영역으로 파티션하는 곡선 라인은 미리 정의된 템플릿을 특징으로 할 수 있다. 다른 실시예에서, 블록을 제1 영역 및 제2 영역으로 파티션하는 곡선 라인은 미리 정의된 계수 값을 특징으로 할 수 있다. 게다가, 일 실시예에서, 지수 파티셔닝 모드는 8x8 루마 샘플들 이상의 블록 크기들에 대해 이용가능하다. 다른 실시예에서, 픽셀 데이터를 재구성하는 것은 비트스트림에 포함되는 연관된 모션 벡터를 사용하여 제1 영역에 대한 예측자를 계산하는 것을 포함할 수 있다. 다른 실시예에서, 디코더는 또한 비트스트림을 수신하고 비트스트림을 양자화된 계수들로 디코딩하도록 구성될 수 있는 엔트로피 디코더 프로세서를 포함할 수 있다. 디코더는 또한 역 이산 코사인 변환을 수행하는 것을 포함하여 양자화된 계수들을 처리하도록 구성될 수 있는 역 양자화 및 역 변환 프로세서를 포함할 수 있다. 게다가, 디코더는 블록해제 필터, 프레임 버퍼; 및 인트라 예측 프로세서를 포함할 수 있다. 일 실시예에서, 비트스트림은 지수 파티셔닝 모드가 블록에 대해 인에이블되는지를 표시하는 파라미터를 포함할 수 있다. 다른 실시예에서, 블록은 쿼드트리 + 이진 결정 트리의 일부를 형성할 수 있다. 또한, 블록은 쿼드트리 + 이진 결정 트리의 비-리프 노드일 수 있다. 일 실시예에서, 블록은 코딩 트리 유닛 또는 코딩 유닛일 수 있다. 다른 실시예에서, 제1 영역은 코딩 유닛 또는 예측 유닛일 수 있다.
본 발명의 추가 양태에서, 방법은 디코더에 의해, 비트스트림을 수신하는 단계 및 상기 디코더에 의해, 지수 파티셔닝 모드가 인에이블되는지를 결정하는 단계를 포함할 수 있다. 방법은 또한 디코더에 의해, 블록을 제1 영역 및 제2 영역으로 파티션하는 곡선 라인을 결정하는 단계 및 또한 디코더에 의해, 블록의 픽셀 데이터를 재구성하고 곡선 라인을 사용하는 단계를 포함할 수 있다.
방법은 단독으로 또는 조합하여 취해지는 이하의 특징들 중 하나 이상을 추가로 포함할 수 있다. 일 실시예에서, 지수 파티셔닝 모드는 비트스트림으로 시그널링될 수 있다. 다른 실시예에서, 블록을 제1 영역 및 제2 영역으로 파티션하는 곡선 라인은 미리 정의된 템플릿을 특징으로 할 수 있다. 일 실시예에서, 블록을 제1 영역 및 제2 영역으로 파티션하는 곡선 라인은 미리 정의된 계수 값을 특징으로 할 수 있다. 일 실시예에서, 지수 파티셔닝 모드는 8x8 루마 샘플들 이상의 블록 크기들에 대해 이용가능할 수 있다. 다른 실시예에서, 픽셀 데이터를 재구성하는 단계는 비트스트림에 포함되는 연관된 모션 벡터를 사용하여 제1 영역에 대한 예측자를 계산하는 단계를 포함할 수 있다. 다른 실시예에서, 디코더는 비트스트림을 수신하고 비트스트림을 양자화된 계수들로 디코딩하도록 구성될 수 있는 엔트로피 디코더 프로세서를 포함할 수 있다. 디코더는 또한 역 이산 코사인 변환을 수행하는 것을 포함하여 양자화된 계수들을 처리하도록 구성될 수 있는 역 양자화 및 역 변환 프로세서를 포함할 수 있다. 게다가, 디코드는 블록해제 필터, 프레임 버퍼, 및 인트라 예측 프로세서를 포함할 수 있다. 일 실시예에서, 비트스트림은 지수 파티셔닝 모드가 블록에 대해 인에이블되는지를 표시하는 파라미터를 포함할 수 있다. 다른 실시예에서, 블록은 쿼드트리 + 이진 결정 트리의 일부를 형성할 수 있다. 또한, 블록은 쿼드트리 + 이진 결정 트리의 비-리프 노드일 수 있다. 다른 실시예에서, 블록은 코딩 트리 유닛 또는 코딩 유닛일 수 있다. 일 실시예에서, 제1 영역은 코딩 유닛 또는 예측 유닛일 수 있다.
명령어들을 저장하는 비일시적 컴퓨터 프로그램 제품들(즉, 물리적으로 구체화된 컴퓨터 프로그램 제품들)이 또한 설명되며, 명령어들은 하나 이상의 컴퓨팅 시스템의 하나 이상의 데이터 프로세서에 의해 실행될 때, 적어도 하나의 데이터 프로세서가 본원에서의 동작들을 수행하게 한다. 유사하게, 하나 이상의 데이터 프로세서 및 하나 이상의 데이터 프로세서에 결합되는 메모리를 포함할 수 있는 컴퓨터 시스템들이 또한 설명된다. 메모리는 적어도 하나의 프로세서가 본원에 설명되는 동작들 중 하나 이상을 수행하게 하는 명령어들을 일시적으로 또는 영구적으로 저장할 수 있다. 게다가, 방법들은 단일 컴퓨팅 시스템 내에서 하나 이상의 데이터 프로세서에 의해 구현되거나 2개 이상의 컴퓨팅 시스템 중에 분산될 수 있다. 그러한 컴퓨팅 시스템들은 연결될 수 있고 네트워크(예를 들어, 인터넷, 무선 광역 네트워크, 근거리 네트워크, 광역 네트워크, 유선 네트워크 등)를 통한 연결을 포함하는, 하나 이상의 연결을 통해, 다수의 컴퓨팅 시스템 중 하나 이상 사이의 직접 연결 등을 통해 데이터 및/또는 커맨드들 또는 다른 명령어들 등을 교환할 수 있다.
본원에 설명되는 발명 대상의 하나 이상의 변형의 상세들은 아래의 첨부 도면들 및 설명에 제시된다. 본원에 설명되는 발명 대상의 다른 특징들 및 장점들은 설명 및 도면들으로부터 분명하고, 청구항들로부터 분명할 것이다.
도 1은 픽셀들의 블록 파티셔닝의 일 예를 예시하는 도해이다.
도 2는 기하학적 파티셔닝의 일 예를 예시하는 도해이다.
도 3a는 압축 효율을 증가시킬 수 있는, 현재 발명 대상의 일부 양태들에 따른 지수 파티셔닝의 일 예를 예시하는 도해이다.
도 3b는 예시적 템플릿 지수 파티션들을 예시하는 일련의 도해들이다.
도 3c는 예시적 지수 함수를 정의할 수 있는, 4개의 미리 정의된 계수와 연관되는 예시적 곡선들을 예시한다.
도 3d는 직사각형 블록을 파티션하는 상이한 시작 P1 및 종료 P2 인덱스들을 나타내는 다른 예시적 블록을 예시한다.
도 4는 지수 파티셔닝을 수행할 수 있는 예시적 비디오 인코더를 예시하는 시스템 블록도이다.
도 5a는 압축 효율을 증가시키면서 인코딩 복잡성을 감소시킬 수 있는 현재 발명 대상의 일부 양태들에 따른 지수 파티셔닝으로 비디오를 인코딩하는 예시적 프로세스를 예시하는 프로세스 흐름도이다.
도 5b는 현재 발명 대상의 일부 양태들에 따른 파티셔닝 파라미터들을 사용하여 지수 파티셔닝으로 비디오를 인코딩하는 예시적 프로세스를 예시하는 프로세스 흐름도이다.
도 5c는 현재 발명 대상의 일부 양태들에 따른 모양 적응 이산 코사인 변환을 사용하여 지수 파티셔닝으로 비디오를 인코딩하는 예시적 프로세스를 예시하는 프로세스 흐름도이다.
도 6은 지수 파티셔닝을 사용하여 비트스트림을 디코딩할 수 있는 예시적 디코더를 예시하는 시스템 블록도이다.
도 7은 지수 파티셔닝을 사용하여 비트스트림을 디코딩하는 예시적 프로세스를 예시하는 프로세스 흐름도이다.
도 8은 프레임의 쿼드트리 + 이진 트리 파티셔닝의 일 예를 예시한다.
도 9는 도 8에 예시되는 쿼드트리 + 이진 트리의 CU 레벨에서 지수 파티셔닝의 일 예를 예시한다.
도 10은 직선 라인 세그먼트들에 의해 효율적으로 파티션되지 않을 수 있는 사과를 포함하는 이미지를 예시한다.
도 11은 지수 파티셔닝에 따라 파티션되는 다른 예시적 블록을 예시하는 도해이다.
도 12는 공간적으로 인접한 블록으로부터 현재 블록에 의한 지수 파티셔닝 파라미터들의 인헤리턴스(inheritance)를 예시하는 도해이다.
도 13은 현재 블록에 대한 공간적으로 인접한 블록들의 예들을 예시한다.
도 14는 예시적 현재 블록과 현재 블록이 지수 파티셔닝 파라미터들을 승계하는 시간적으로 인접한 블록을 예시한다.
다양한 도면들 내의 유사한 참조 기호들은 유사한 요소들을 표시한다.
현재 발명 대상의 일부 구현들은 지수 파티셔닝에 관한 것이다. 지수 파티셔닝에서, 직사각형 블록은 직선 라인 세그먼트와 비교하여 곡선을 갖는 비직사각형 영역들로 파티션될 수 있다. 블록들을 파티션하기 위해 곡선을 사용하는 것은 파티셔닝이 객체 경계들을 보다 밀접하게 따르게 하는 것을 허용할 수 있어, 더 낮은 모션 보상 예측 에러, 더 작은 잔차들, 및 따라서 개선된 압축 효율을 초래한다. 일부 구현들에서, 곡선은 지수 함수를 특징으로 할 수 있다. 곡선(예를 들어, 지수 함수)은 미리 정의된 계수들 및/또는 템플릿들을 사용하여 결정될 수 있으며, 이는 디코더에 의한 사용을 위해 비트스트림으로 시그널링될 수 있다. 일부 구현들에서, 지수 파티셔닝은 8x8 루마 샘플들 이상에 대해 이용가능할 수 있다. 곡선을 갖는 직사각형 블록들을 파티션함으로써, 예컨대 기하학적 파티셔닝을 이용하여, 직선 라인 세그먼트 파티션들에 제한되는 기술들보다 더 큰 압축 효율이 특정 객체들에 대해 달성될 수 있다.
또한, 현재 발명 대상의 일부 구현들은 공간 및/또는 시간 참조 블록들을 사용하여 지수 파티셔닝 파라미터들을 예측하는 것에 관한 것이다. 일부 구현들에서, 주어진 현재 블록에 대해, 주어진 현재 블록이 다른 블록으로부터 이러한 지수 파티셔닝 파라미터들의 전부 또는 일부를 계승할 수 있는 것을 표시하는 지수 파티셔닝 병합 변수가 시그널링될 수 있다. 이러한 다른 블록은 공간적으로 또는 시간적으로 인접할 수 있다. 블록들이 다른 블록들로부터 지수 파티셔닝 파라미터들을 계승하는 것을 허용함으로써, 비트스트림 내의 시그널링의 양은 감소될 수 있으며, 이는 더 큰 압축 효율을 달성할 수 있다.
게다가, 현재 발명 대상의 일부 구현들은 직선 라인 세그먼트와 비교하여 곡선을 갖는 비직사각형 영역들로 파티션되었던 영역들(예를 들어, 블록들) 상에 모양 적응 이산 코사인 변환(shape adaptive discrete cosine transformation)(SADCT)을 수행하는 것을 포함할 수 있다. 블록이 지수적으로 파티션되는 경우, 결과적인 영역들(예를 들어, 파티션들)은 낮은 예측 에러를 갖는 하나의 영역, 및 높은 예측 에러를 갖는 다른 영역을 초래할 가능성이 있다. 따라서, 현재 발명 대상은 낮은 예측 에러를 갖는 영역에 대한 SADCT를 수행하는 것을 포함할 수 있다. 낮은 예측 에러를 갖는 영역에 대한 SADCT를 수행함으로써, 압축 효율이 개선될 수 있다. 및 일부 구현들에서, 디코딩 동안, 역 SADCT는 지수 파티셔닝에 의해 파티션되는 하나의 영역에 대해 수행될 수 있다. 일부 구현들에서, 역 SADCT는 낮은 예측 에러를 갖는 세그먼트를 위한 전체 블록 이산 코사인 변환(discrete cosine transformation)(DCT)에 대한 부가 변환 선택으로서 비트스트림으로 시그널링될 수 있다. 일부 구현들에서, 역 SADCT는 지수 파티셔닝 파라미터들에 기초하여 그리고 역 SADCT가 수행되어야 하는 것을 비트스트림으로 명시적으로 시그널링해야 하는 것 없이 수행될 수 있다.
모션 보상은 카메라의 모션 및/또는 비디오 내의 객체들을 설명함으로써 이전 및/또는 장래 프레임들을 고려하면 비디오 프레임 또는 그것의 일부를 예측하는 접근법을 포함할 수 있다. 그것은 비디오 압축을 위한 비디오 데이터의 인코딩 및 디코딩, 예를 들어 엠펙(Motion Picture Experts Group)(MPEG)-2(또한 고도 비디오 코딩(advanced video coding)(AVC)으로 지칭됨) 표준을 사용하는 인코딩 및 디코딩에 이용될 수 있다. 모션 보상은 현재 픽처로 참조 픽처의 변환의 측면에서 픽처를 설명할 수 있다. 참조 픽처는 현재 픽처와 비교할 때 시간적으로 이전이거나 장래에 있을 수 있다. 이미지들이 이전에 송신된 및/또는 저장된 이미지들로부터 정확히 합성될 수 있을 때, 압축 효율이 개선될 수 있다.
블록 파티셔닝은 유사한 모션의 영역들을 발견하기 위해 비디오 코딩의 방법을 지칭할 수 있다. 블록 파티셔닝의 일부 형태는 MPEG-2, H.264(또한 AVC 또는 MPEG-4 파트 10으로 지칭됨), 및 H.265(또한 고효율 비디오 코딩(High Efficiency Video Coding)(HEVC)으로 지칭됨)를 포함하는 비디오 코덱 표준들에서 발견될 수 있다. 예시적 블록 파티셔닝 접근법들에서, 비디오 프레임의 비중첩 블록들은 유사한 모션을 갖는 픽셀들을 포함하는 블록 파티션들을 발견하기 위해 직사각형 서브블록들로 파티션될 수 있다. 이러한 접근법은 블록 파티션의 모든 픽셀들이 유사한 모션을 가질 때 좋게 작업될 수 있다. 블록 내의 픽셀들의 모션은 이전에 코딩된 프레임들에 대해 결정될 수 있다.
도 1은 일 실시예에 따른 픽셀들의 블록 파티셔닝의 일 예를 예시하는 도해이다. 서브블록(예를 들어, 코딩 트리 내의 노드) 자체일 수 있는 초기 직사각형 픽처 또는 블록(100)은 직사각형 서브블록들로 파티션될 수 있다. 예를 들어, 110에서, 블록(100)은 2개의 직사각형 서브블록(110a 및 110b)으로 파티션된다. 그 다음, 서브블록들(110a 및 110b)은 별개로 처리될 수 있다. 다른 예로서, 120에서, 블록(100)은 4개의 직사각형 서브블록(120a, 120b, 120c, 및 120d)으로 파티션된다. 서브블록들은 서브블록들 내의 픽셀들이 동일한 모션을 공유하거나, 최소 블록 크기가 도달되거나, 다른 기준들이 있는 것으로 결정될 때까지 그들 자체 추가로 분할될 수 있다. 서브블록 내의 픽셀들이 유사한 모션을 가질 때, 모션 벡터는 그러한 영역 내의 모든 픽셀들의 모션을 설명할 수 있다.
비디오 코딩에 대한 일부 접근법들은 직사각형 블록(예를 들어, 도 1에 예시된 바와 같음)이 직선 라인 세그먼트에 의해 비직사각형일 수 있는 2개의 영역으로 추가로 분할되는 기하학적 파티셔닝을 포함할 수 있다. 예를 들어, 도 2는 기하학적 파티셔닝의 일 예를 예시하는 도해이다. 예시적 직사각형 블록(200)(MxN 픽셀들로 표시되는, M 픽셀의 폭 및 N 픽셀의 높이를 가질 수 있음)은 직선 라인 세그먼트 P1P2(205)를 따라 2개의 영역(영역 0 및 영역 1)으로 분할될 수 있다. 영역 0 내의 픽셀들이 유사한 모션을 가질 때, 모션 벡터는 그러한 영역 내의 모든 픽셀들의 모션을 설명할 수 있다. 모션 벡터는 영역 0을 압축하기 위해 사용될 수 있다. 유사하게, 영역 1 내의 픽셀들이 유사한 모션을 가질 때, 연관된 모션 벡터는 영역 1 내의 픽셀들의 모션을 설명할 수 있다. 그러한 기하학적 파티션은 비디오 비트스트림 내의 위치들(P1 및 P2)(또는 위치들(P1 및 P2)의 표현들)을 인코딩함으로써 수신기(예를 들어, 디코더)에 시그널링될 수 있다.
기하학적 파티셔닝을 이용하여 비디오 데이터를 인코딩할 때, 직선 라인 세그먼트(205)(또는 보다 구체적으로 지점들(P1 및 P2))가 결정될 수 있다. 그러나, 직선 라인 세그먼트는 객체 경계들을 반영하는 방식으로 블록을 파티션가능하지 않을 수 있다. 그 결과, 직선 라인 세그먼트들로 파티션하는 것은 (예를 들어, 임의의 결과적인 잔차가 작도록) 블록을 효율적인 방식으로 파티션가능하지 않을 수 있다. 이것은 블록이 객체를 표현하는 픽셀(예를 들어, 루마 샘플) 또는 곡선(예를 들어, 비직선) 경계를 갖는 경계를 포함할 수 있는 경우에 해당될 수 있다. 예를 들어, 이제 도 10을 참조하면, 직선 라인 세그먼트들에 의해 효율적으로 파티션되지 않을 수 있는 사과를 포함하는 이미지가 제시된다. 사과는 기하학적 파티셔닝에 따라 직선 라인 세그먼트를 사용하여 파티션되면, 파티셔닝이 객체(예를 들어, 사과) 경계를 밀접하게 따르지 않을 수 있는 것을 이미지의 부분들에 표시하는 수개의 직사각형 블록들을 포함한다.
현재 발명 대상의 일부 구현들은 직선 라인 세그먼트와 비교할 때 직사각형 블록을 곡선을 갖는 비직사각형 영역들로 파티션하는 것을 포함한다. 블록들을 파티션하기 위해 곡선을 사용하는 것은 파티션들이 객체 경계들을 보다 밀접하게 따르게 하는 것을 허용할 수 있어, 더 낮은 예측 에러, 더 작은 잔차들, 및 따라서 개선된 압축 효율을 초래한다. 일부 구현들에서, 곡선은 지수 함수를 특징으로 할 수 있다. 곡선(예를 들어, 지수 함수)은 미리 정의된 계수들 및/또는 인덱스들을 사용하여 표현될 수 있으며, 이는 디코더에 의한 사용을 위해 비트스트림으로 시그널링될 수 있다. 일부 구현들에서, 지수 파티셔닝은 8x8 루마 샘플들 이상을 갖는 블록들에 대해 이용가능할 수 있다. 곡선을 갖는 직사각형 블록들을 파티션함으로써, 현재 발명 대상은 예컨대 기하학적 파티셔닝을 이용하여, 직선 라인 세그먼트 파티션들에 제한되는 기술들보다 특정 객체들에 대해 더 큰 압축 효율을 달성할 수 있다.
도 3a는 압축 효율을 증가시킬 수 있는, 현재 발명 대상의 일부 양태들에 따른 지수 파티셔닝의 일 예를 예시하는 도해이다. 직사각형 블록(300)은 픽셀들(예를 들어, 루마 샘플들)을 포함한다. 직사각형 블록(300)은 예를 들어, 8x8 픽셀들(예를 들어, 루마 샘플들) 이상의 크기를 가질 수 있다.
도 3a에서, 직사각형 블록(300)은 곡선 라인(305)에 의해 2개의 영역(예를 들어, 각각, 310 및 315에 표시되는, 영역 0 및 영역 1)으로 파티션될 수 있다. 영역(310) 내의 모든 루마 샘플들은 동일하거나 유사한 모션을 갖는 것으로 간주될 수 있고 동일한 모션 벡터에 의해 표현될 수 있다. 유사하게, 영역(315) 내의 모든 루마 샘플들은 동일하거나 유사한 모션을 갖는 것으로 간주될 수 있고 동일한 모션 벡터에 의해 표현될 수 있다. 일부 구현들에서, 직사각형 블록(300)을 분할하는 곡선 라인 세그먼트(305) 좌측 또는 위의 모든 루마 샘플들은 영역 0(310)에 속하는 것으로 간주될 수 있다. 일부 구현들에서, 직사각형 블록(300)을 분할하는 곡선 라인 세그먼트(305) 우측 또는 아래의 모든 루마 샘플들은 영역 1(315)에 속하는 것으로 간주될 수 있다. 일부 구현들에서, 곡선 라인 세그먼트가 직사각형 블록(300)을 분할하는 모든 루마 샘플들은 영역 0(310)에 속한다. 일부 구현들에서, 곡선 라인 세그먼트가 직사각형 블록(300)을 분할하는 모든 루마 샘플들은 영역 1(315)에 속하는 것으로 간주될 수 있다. 다른 구현들이 가능할 수 있다.
일부 구현들에서, 지수 파티셔닝을 수행함으로써, 발생할 수 있는 가능한 파티션들의 수는 (예를 들어, 기하학적 파티셔닝과 비교하여) 감소될 수 있으며, 이는 적절한 파티션을 식별하도록(예를 들어, 블록을 파티션하기 위해 최상 라인 세그먼트를 식별하도록) 모션 추정을 평가하는 계산 요건을 감소시킬 수 있다. 일부 구현들에서, 지수 파티셔닝을 수행함으로써, 비직사각형 영역들(예를 들어, 310 및 315)은 객체 경계들을 더 밀접하게 따를 수 있으며, 그것에 의해 기하학적 파티셔닝을 사용하여 비디오를 인코딩하는 것과 비교하여 예측 에러, 잔차 크기를 감소시키고 압축 효율을 증가시킨다.
지수 파티셔닝은 비트스트림으로 표현될 수 있다. 일부 구현들에서, 지수 파티셔닝 모드가 이용될 수 있고 적절한 파라미터들은 비트스트림으로 시그널링될 수 있다. 예를 들어, 지수 파티셔닝은 미리 결정된 지수 파티셔닝 템플릿들을 시그널링함으로써 비트스트림으로 표현될 수 있다. 도 3b는 일 실시예에 따른 예시적 템플릿 파티션들을 예시하는 일련의 도해들이다. 이러한 규칙적인 지수 파티션들은 한 세트의 미리 결정된 배향들을 지정할 수 있다. 일부 구현들에서, 시그널링은 미리 정의되는 이러한 규칙적인(예를 들어, 템플릿) 지수 파티션들 중 하나 이상에 인덱스를 포함시킴으로써 수행될 수 있다. 예를 들어, 도 3c는 일 실시예에 따른 4개의 미리 정의된 템플릿(1, 2, 3, 4)과 연관되는 예시적 곡선들을 예시한다. 템플릿 곡률들의 수는 일부 구현들에서 변화될 수 있다.
다른 예로서, 지수 파티션들은 곡률의 정도를 표시하는 미리 결정된 계수들을 시그널링함으로써 비트스트림으로 표현될 수 있으며, 이는 부가 지수 함수들을 허용할 수 있다.
일부 구현들에서, 지수 파티셔닝 모드에 사용되는 미리 정의된 템플릿은 직선 라인 세그먼트를 표시할 수 있다. 예를 들어, 도 3c에서, 계수 1에 의해 인덱싱되는 세그먼트는 직선 라인이며, 이는 지수 파티셔닝의 특별한 경우인 것으로 간주될 수 있고 기하학적 파티셔닝의 것과 유사한 성과를 초래할 수 있다.
일부 구현들에서, 일 예가 도 3b에 예시되는 배향 템플릿들, 및 일 예가 도 3c에 예시되는 미리 정의된 템플릿들 둘 다는 다수의 잠재적 지수 파티션을 효율적으로 시그널링하기 위해 이용될 수 있다.
일부 구현들에서, 시작 및 종료 인덱스들이 미리 결정될 수 있다. 예를 들어, 도 3a는 일 실시예에 따른 직사각형 블록(300)의 하부 좌측 코너에서 시작되고 직사각형 블록(300)의 상부 우측 코너에서 종료되는 곡선 라인 세그먼트를 예시한다. 일부 구현들에서, 시작 및 종료 인덱스들은 비트스트림으로 명시적으로 시그널링될 수 있다. 예를 들어, 도 3d는 직사각형 블록(300)을 파티션하는 상이한 시작 P1 및 종료 P2 인덱스들을 나타내는 다른 예시적 블록을 예시한다. 시작 P1 및 종료 P2 인덱스들은 직접 시그널링될 수 있거나 인덱스에 의해 한 세트의 미리 결정된 값들로 표시될 수 있다. 일부 실시예들에서, 다른 파라미터들이 가능하다.
일부 구현들에서, 지수 파티셔닝 파라미터들은 각각의 블록이 지수 파티셔닝(예를 들어, 지수 파티셔닝 모드가 해당됨)을 겪는 동안 비트스트림에 포함될 필요는 없다. 예를 들어, 주어진 현재 블록에 대해, 지수 파티셔닝 파라미터들은 다른 블록(때때로 페어런트 블록(parent block)으로 지칭됨)으로부터 승계될 수 있다. 페어런트 블록은 공간적으로 및/또는 시간적으로 인접될 수 있다. 페어런트 블록은 미리 결정된 리스트의 인덱스에 의해 비트스트림으로 표시될 수 있고 그리고/또는 인덱스가 비트스트림으로 시그널링되는, 후보 리스트를 적어도 구성함으로써 표시될 수 있다.
도 4는 예컨대 SADCT로, 지수 파티셔닝을 수행할 수 있는 비디오 인코더(400)의 예시적 실시예를 예시하는 시스템 블록도이다. 예시적 비디오 인코더(400)는 입력 비디오(405)를 수신하며, 이는 트리 구조 매크로 블록 파티셔닝 스킴(예를 들어, 쿼드트리 + 이진 트리(quad-tree plus binary tree)(QTBT))과 같은, 처리 스킴에 따라 초기에 세그먼트화되거나 분할될 수 있다. 트리 구조 매크로 블록 파티셔닝 스킴의 일 예는 픽처 프레임을 코딩 트리 유닛들(coding tree units)(CTU)로 칭해지는 큰 블록 요소들로 파티션하는 것을 포함할 수 있다. 일부 구현들에서, 각각의 CTU는 코딩 유닛들(CU)로 칭해지는 복수의 서브블록으로 일회 이상 추가로 파티션될 수 있다. 이러한 포셔닝의 결과는 예측 유닛들(predictive units)(PU)로 칭해질 수 있는 서브블록들의 그룹을 포함할 수 있다. 변환 유닛들(transform units)(TU)이 또한 이용될 수 있다. 그러한 파티셔닝 스킴은 현재 발명 대상의 일부 양태들에 따른 지수 파티셔닝을 수행하는 것을 포함할 수 있다. 예를 들어, 도 8은 프레임의 QTBT 파티셔닝의 일 예를 예시하고, 도 9는 도 8에 예시되는 QTBT의 CU 레벨에서의 지수 파티셔닝의 일 예를 예시한다.
예시적 비디오 인코더(400)는 인트라 예측 프로세서(415), 지수 파티셔닝을 지원할 수 있는 모션 추정/보상 프로세서(420)(또한 인터 예측 프로세서로 지칭됨), 변환/양자화 프로세서(425), 역 양자화/역 변환 프로세서(430), 인루프 필터(435), 디코딩된 픽처 버퍼(440), 및 엔트로피 코딩 프로세서(445)를 포함한다. 일부 구현들에서, 모션 추정/보상 프로세서(420)는 현재 블록이 다른 블록으로부터 지수 파티셔닝 파라미터들을 계승할 수 있는지 및 계승할 어느 블록을 결정하는 것을 포함하는 지수 파티셔닝을 수행할 수 있다. 일부 구현들에서, 변환/양자화 프로세서(425)는 SADCT를 수행할 수 있다. 지수 파티셔닝 모드들 및 인헤리턴스를 시그널링하는 비트스트림 파라미터들은 출력 비트스트림(450)에서의 포함을 위해 엔트로피 코딩 프로세서(445)에 입력될 수 있다.
동작에서, 입력 비디오(405)의 프레임의 각각의 블록에 대해, 인트라 픽처 예측을 통해 또는 모션 추정/보상을 사용하여 블록을 처리할지가 결정될 수 있다. 블록은 인트라 예측 프로세서(410) 또는 모션 추정/보상 프로세서(420)에 제공될 수 있다. 블록이 인트라 예측을 통해 처리되면, 인트라 예측 프로세서(410)는 예측자를 출력하기 위해 처리를 수행할 수 있다. 블록이 모션 추정/보상을 통해 처리되면, 모션 추정/보상 프로세서(420)는 예측자를 출력하기 위해 지수 파티셔닝의 사용을 포함하는 처리를 수행할 수 있다.
잔차는 입력 비디오로부터 예측자를 차감함으로써 형성될 수 있다. 잔차는 변환/양자화 프로세서(425)에 의해 수신될 수 있으며, 이는 양자화될 수 있는 계수들을 생성하기 위해 변환 처리(예를 들어, SADCT)를 수행할 수 있다. 양자화된 계수들 및 임의의 연관된 시그널링 정보는 출력 비트스트림(450)에서의 엔트로피 인코딩 및 포함을 위해 엔트로피 코딩 프로세서(445)에 제공될 수 있다. 엔트로피 인코딩 프로세서(445)는 지수 파티셔닝과 관련된 시그널링 정보의 인코딩을 지원할 수 있다. 게다가, 양자화된 계수들은 역 양자화/역 변환 프로세서(430)에 제공될 수 있으며, 이는 예측자와 조합되고 인루프 필터(435)에 의해 처리될 수 있는 픽셀들을 재생할 수 있고, 그것의 출력은 지수 파티셔닝을 지원할 수 있는 모션 추정/보상 프로세서(420)에 의한 사용을 위해 디코딩된 픽처 버퍼(440)에 저장된다.
도 5a는 압축 효율을 증가시키면서 인코딩 복잡성을 감소시킬 수 있는 현재 발명 대상의 일부 양태들에 따른 지수 파티셔닝으로 비디오를 인코딩하는 예시적 프로세스(500A)를 예시하는 프로세스 흐름도이다. 510A에서, 비디오 프레임은 예를 들어, 픽처 프레임을 CTU들 및 CU들로 파티션하는 단계를 포함할 수 있는 트리 구조 매크로 블록 파티셔닝 스킴을 사용하여 초기 블록 세그먼트화를 겪을 수 있다. 520에서, 블록은 지수 파티셔닝을 위해 선택될 수 있다. 선택은 블록이 지수 파티셔닝 모드에 따라 처리되어야 하는 것을 메트릭 규칙에 따라 식별하는 단계를 포함할 수 있다.
530A에서, 지수 파티션이 결정될 수 있다. 영역들 중 하나(예를 들어, 영역 0) 내의 픽셀들(예를 들어, 루마 샘플들)이 유사한 모션을 갖고 다른 영역(예를 들어, 영역 1) 내의 픽셀들이 유사한 모션을 갖도록 인터 프레임 모션에 따라 블록 내에 포함되는 픽셀들을 2개의 비직사각형 영역(예를 들어, 영역 0 및 영역 1)으로 분리하는 곡선 라인(예를 들어, 305)이 결정될 것이다. 550A에서, 결정된 지수 파티션은 비트스트림으로 시그널링될 수 있다. 비트스트림으로의 시그널링은 예를 들어, 인덱스를 하나 이상의 미리 결정된 템플릿 및/또는 계수로 포함하는 것을 포함할 수 있다.
도 5b는 압축 효율을 증가시키면서 인코딩 복잡성을 감소시킬 수 있는 현재 발명 대상의 일부 양태들에 따른 지수 파티셔닝으로 비디오를 인코딩하는 예시적 프로세스(500B)를 예시하는 프로세스 흐름도이다. 510B에서, 비디오 프레임은 예를 들어, 픽처 프레임을 CTU들 및 CU들로 파티션하는 단계를 포함할 수 있는 트리 구조 매크로 블록 파티셔닝 스킴을 사용하여, 초기 블록 세그먼트화를 겪을 수 있다. 520B에서, 블록은 지수 파티셔닝을 위해 선택될 수 있다. 선택은 블록이 지수 파티셔닝 모드에 따라 처리되어야 하는 것을 메트릭 규칙에 따라 식별하는 단계를 포함할 수 있다.
530B에서, 지수 파티션이 결정될 수 있다. 영역들 중 하나(예를 들어, 영역 0) 내의 픽셀들(예를 들어, 루마 샘플들)이 유사한 모션을 갖고 다른 영역(예를 들어, 영역 1) 내의 픽셀들이 유사한 모션을 갖도록 인터 프레임 모션에 따라 블록 내에 포함되는 픽셀들을 2개의 비직사각형 영역(예를 들어, 영역 0 및 영역 1)으로 분리하는 곡선 라인(예를 들어, 305)이 결정될 수 있다.
540B에서, 파티셔닝 파라미터 표현이 결정될 수 있으며, 이는 현재 블록이 다른 블록으로부터 지수 파티셔닝 파라미터들을 계승하는지 및 현재 블록이 어느 다른 블록을 계승할지를 결정하는 단계를 포함할 수 있다.
550B에서, 결정된 지수 파티션은 비트스트림으로 시그널링될 수 있다. 비트스트림으로의 시그널링은 예를 들어, 인덱스를 공간적으로 그리고 시간적으로 인접한 블록들의 미리 결정된 리스트로 포함하는 단계를 포함할 수 있다.
도 5c는 압축 효율을 증가시키면서 인코딩 복잡성을 감소시킬 수 있는 현재 발명 대상의 일부 양태들에 따른 지수 파티셔닝 및 SADCT로 비디오를 인코딩하는 예시적 프로세스(500C)를 예시하는 프로세스 흐름도이다. 510C에서, 비디오 프레임은 예를 들어, 픽처 프레임을 CTU들 및 CU들로 파티션하는 것을 포함할 수 있는 트리 구조 매크로 블록 파티셔닝 스킴을 사용하여, 초기 블록 세그먼트화를 겪을 수 있다. 520C에서, 블록은 지수 파티셔닝을 위해 선택될 수 있다. 선택은 블록이 지수 파티셔닝 모드에 따라 처리되어야 하는 것을 메트릭 규칙에 따라 식별하는 단계를 포함할 수 있다.
530C에서, 지수 파티션이 결정될 수 있다. 영역들 중 하나(예를 들어, 영역 0) 내의 픽셀들(예를 들어, 루마 샘플들)이 유사한 모션을 갖고 다른 영역(예를 들어, 영역 1) 내의 픽셀들이 유사한 모션을 갖도록 인터 프레임 모션에 따라 블록 내에 포함되는 픽셀들을 2개의 비직사각형 영역(예를 들어, 영역 0 및 영역 1)으로 분리하는 곡선 라인(예를 들어, 305)이 결정될 수 있다. 540C에서, 적절한 변환은 영역 0 및 영역 1 중 하나 이상에 대해 결정될 수 있다. 예를 들어, 영역 0 또는 영역 1이 낮은 예측 에러를 갖는지가 결정될 수 있다. 그러한 영역 0이 낮은 예측 에러를 갖는 것으로 결정하는 것에 응답하여, 영역 0은 SADCT를 사용하여 인코딩될 수 있다. 그러한 영역 1이 낮은 예측 에러를 갖는 것으로 결정하는 것에 응답하여, 영역 1은 SADCT를 사용하여 인코딩될 수 있다. 일부 구현들에서, 영역은 예측 에러가 미리 결정된 임계치 아래에 있을 때 낮은 예측 에러를 갖는 것으로 간주될 수 있다.
550C에서, 결정된 지수 파티션 및 변환 선택은 비트스트림으로 시그널링될 수 있다. 비트스트림으로의 시그널링은 예를 들어, 인덱스를 하나 이상의 미리 결정된 템플릿 및/또는 계수로 포함하는 단계를 포함할 수 있다. 비트스트림으로의 시그널링은 예를 들어, 낮은 예측 에러를 갖는 영역(예를 들어, 영역 0 또는 영역 1)을 위한 전체 블록 DCT에 대한 부가 변환 선택으로서 SADCT를 시그널링하는 단계를 포함할 수 있다.
도 6은 지수 파티셔닝 및/또는 역 SADCT를 사용하여 비트스트림(670)을 디코딩할 수 있는 예시적 디코더(600)를 예시하는 시스템 블록도이다. 디코더(600)는 엔트로피 디코더 프로세서(610), 역 양자화 및 역 변환 프로세서(620), 블록해제 필터(630), 프레임 버퍼(640), 모션 보상 프로세서(650) 및 인트라 예측 프로세서(660)를 포함한다. 일부 구현들에서, 비트스트림(670)은 지수 파티셔닝 모드를 시그널링하는 파라미터들을 포함한다. 일부 구현들에서, 비트스트림(670)은 적용할 역 변환의 타입(예를 들어, 역 블록 DCT 또는 역 SADCT)을 시그널링하는 파라미터들을 포함한다. 모션 보상 프로세서(650)는 본원에 설명된 바와 같이 지수 파티셔닝 및/또는 역 SADCT를 사용하여 픽셀 정보를 재구성할 수 있다.
동작에서, 비트스트림(670)은 디코더(600)에 의해 수신되고 엔트로피 디코더 프로세서(610)에 입력될 수 있으며, 그 엔트로피는 비트스트림을 양자화된 계수들로 디코딩한다. 양자화된 계수들은 역 양자화 및 역 변환 프로세서(620)에 제공될 수 있으며, 이는 역 SADCT를 이용하여 그리고 비트스트림으로의 신호들에 따라 역 양자화 및 역 변환을 수행할 수 있다. 역 변환은 잔차 신호를 생성할 수 있으며, 이는 처리 모드에 따라 모션 보상 프로세서(650) 또는 인트라 예측 프로세서(660)의 출력에 추가될 수 있다. 모션 보상 프로세서(650) 및 인트라 예측 프로세서(660)의 출력은 이전에 디코딩된 블록에 기초한 블록 예측을 포함할 수 있다. 예측 및 잔차의 합은 블록해제 필터(630)에 의해 처리되고 프레임 버퍼(640)에 저장될 수 있다. 주어진 블록(예를 들어, CU 또는 PU)에 대해, 비트스트림(670)은 파티셔닝 모드가 지수 파티셔닝인 것을 시그널링할 때, 모션 보상 프로세서(650)는 현재 블록에 대해, 비트스트림으로부터 인덱스를 공간적으로 그리고 시간적으로 인접한 블록들의 미리 결정된 리스트로 추출하는 것, 및 표시된 블록이 현재 블록을 재구성하도록 지수 파티셔닝 파라미터들을 사용하는 것을 포함하는 본원에 설명되는 지수 파티셔닝 스킴에 기초하여 예측을 구성할 수 있다.
도 7은 일부 구현들에서, 역 SADCT를 사용할 수 있는, 지수 파티셔닝을 사용하여 비트스트림을 디코딩하는 예시적 프로세스(700)를 예시하는 프로세스 흐름도이다. 710에서, 블록(예를 들어, CTU, CU, PU)이 수신된다. 수신하는 단계는 비트스트림으로부터 블록 및 연관된 시그널링 정보를 추출 및/또는 파싱하는 단계를 포함할 수 있다. 720에서, 지수 파티셔닝 모드가 블록에 대해 인에이블되는지(예를 들어, 참)가 결정될 수 있다. 지수 파티셔닝 모드가 인에이블되지 않으면(예를 들어, 거짓), 디코더는 기하학적 파티셔닝과 같은 대안 파티셔닝 모드를 사용하여 블록을 처리할 수 있다. 지수 파티셔닝 모드가 인에이블되면(예를 들어, 참), 730에서, 디코더는 지수 파티셔닝 및 변환을 특징화하는 하나 이상의 파라미터를 추출 및/또는 결정할 수 있다. 이러한 파라미터들은 예를 들어, 지수 계수 인덱스들, 지수 계수 값들, 배향 템플릿 인덱스들, 및/또는 곡선 라인(예를 들어, P1P2)의 시작 및 종료의 인덱스들을 포함할 수 있다. 추출 파라미터들은 비트스트림으로부터 파라미터들을 식별 및 검색하는 것(예를 들어, 비트스트림을 파싱하는 것)을 포함할 수 있다. 상기 파라미터들은 예를 들어, 역 SADCT를 사용하여 블록을 처리할지를 표시할 수 있는 변환 파라미터들을 포함할 수 있다. 게다가, 지수 파티셔닝을 특징화하는 하나 이상의 파라미터를 결정하는 단계는 지수 파티셔닝 병합이 시그널링되었던 것을 결정하는 단계 및 비트스트림에 포함되는 인덱스를 사용하여, 현재 블록이 지수 파티셔닝 파라미터들을 계승하는 인접 블록을 결정하는 단계를 포함할 수 있다. 740에서, 블록은 각각의 영역에 대한 연관된 모션 정보를 결정하는 단계를 포함하여, 지수 파티셔닝에 따라(예를 들어, 예측을 생성하기 위해) 처리될 수 있다. 일부 구현들에서, 740에서, 블록은 역 SADCT를 이용하여 추가로 처리될 수 있다.
수개의 변형들이 위에 상세히 설명되었지만, 다른 수정들 또는 추가들이 가능하다. 예를 들어, 일부 구현들에서, 지수 파티셔닝은 다양한 비대칭 블록들(8x4, 16x8 등)뿐만 아니라 대칭 블록들(8x8, 16x16, 32x32, 64x64, 128x128 등)에 적용될 수 있다.
일부 구현들에서, 공간 및 시간 지수 파라미터 예측은 64x64 및/또는 128x128과 같은, 16x16 이상의 루마 블록 크기에 대해 수행될 수 있다. 일부 구현들에서, 16x16의 최소 블록 크기가 부과될 수 있다.
파티셔닝은 인코더에서의 비율 왜곡 결정들에 기초하여 비트스트림으로 시그널링될 수 있다. 코딩은 규칙적인 미리 정의된 파티션들(예를 들어, 템플릿들)의 조합, 파티셔닝의 시간 및 공간 예측, 및 부가 오프셋들에 기초할 수 있다. 각각의 지수 파티션된 영역은 모션 보상 예측 또는 인트라 예측을 이용할 수 있다. 예측된 영역들의 경계는 잔차가 추가되기 전에 평활화될 수 있다. 잔차 코딩에 대해, 인코더는 전체 블록에 대한 규칙적인 직사각형 DCT 및 각각의 영역에 대한 모양 적응 DCT 중 하나를 선택할 수 있다.
일부 구현들에서, 쿼드트리 + 이진 결정 트리(QTBT)가 구현될 수 있다. QTBT에서, 코딩 트리 유닛 레벨에서, QTBT의 파티션 파라미터들은 임의의 오버헤드를 송신하는 것 없이 국부 특성들에 적응되도록 동적으로 도출된다. 그 후에, 코딩 유닛(CU) 레벨에서, 조인트 분류기 결정 트리 구조는 불필요한 반복들을 제거하고 잘못된 예측의 위험을 제어할 수 있다. 일부 구현들에서, 지수 파티셔닝은 QTBT의 모든 리프 노드에서 이용가능한 부가 파티셔닝 옵션으로서 이용가능할 수 있다. 일부 구현들에서, 지수 파티셔닝은 QTBT 파티셔닝의 CU 레벨에서 부가 코딩 도구로서 이용가능하다. 예를 들어, 도 8은 프레임의 QTBT 파티셔닝의 일 예를 예시하고, 도 9는 도 8에 예시되는 QTBT의 CU 레벨에서의 지수 파티셔닝의 일 예를 예시한다.
일부 구현들에서, 디코더는 현재 블록에 대한 지수 파티셔닝을 발생시키고 종속 프로세스들을 위한 모든 파티션 관련 정보를 제공하는 지수 파티셔닝 프로세서를 포함한다. 지수 파티셔닝 프로세서는 블록이 지수적으로 파티션되는 경우에 세그먼트 방식으로 수행될 수 있으므로 모션 보상에 직접 영향을 미칠 수 있다. 게다가, 파티션 프로세서는 모양 정보를 인트라 예측 프로세서 및 변환 코딩 프로세서에 제공할 수 있다.
일부 구현들에서, 부가 신택스 요소들은 비트스트림의 상이한 계층 레벨들에서 시그널링될 수 있다. 전체 시퀀스에 대한 지수 파티셔닝을 가능하게 하기 위해, 인에이블 플래그는 시퀀스 파라미터 세트(Sequence Parameter Set)(SPS)에서 코딩될 수 있다. 게다가, CTU 플래그는 임의의 코딩 유닛들(CU)이 지수 파티셔닝을 사용하는지를 표시하기 위해 코딩 트리 유닛(CTU) 레벨에서 코딩될 수 있다. CU 플래그는 현재 코딩 유닛이 지수 파티셔닝을 이용하는지를 표시하기 위해 코딩될 수 있다. 블록 상에 곡선 라인을 지정하는 파라미터들이 코딩될 수 있다. 각각의 영역에 대해, 플래그가 디코딩딜 수 있으며, 플래그는 현재 영역이 인터 또는 인트라 예측되는지를 지정한다.
일부 구현들에서, 최소 영역 크기가 지정될 수 있다.
이제 도 11을 참조하면, 지수 파티셔닝에 따라 파티션되는 다른 예시적 블록(1100)을 예시하는 도해가 제시된다. 지수 파티셔닝은 곡선 객체 경계들에 객체들을 포함하는 블록들(예를 들어, 코딩 유닛들)을 위해 이용될 가능성이 있기 때문에, 파티셔닝은 낮은 예측 에러를 갖는 하나의 영역, 및 높은 예측 에러를 갖는 다른 영역을 초래할 가능성이 있다. 예를 들어, 도 11에 예시된 바와 같이, 블록은 지수 파티셔닝에 따라, 곡선을 가지고 파티션된다. 블록 내의 루마 샘플들이 볼 및 배경을 표현하는 것을 가정하면, 2개의 영역(S0 및 S1)은 배경 및 볼 각각에 대응하는 루마 샘플들을 포함할 것이다. 그 결과, 영역 S0은 영역 S0이 배경과 관련되기 때문에 높은 예측 에러를 가질 것인 반면 영역 S1은 영역 S1이 볼과 관련되기 때문에 낮은 예측 에러를 가질 것이다. 따라서, 현재 발명 대상의 일부 양태들은 낮은 예측 에러를 갖는 영역에 대해 SADCT를 수행하는 것을 포함할 수 있다. 낮은 예측 에러를 갖는 영역에 대해 SADCT를 수행함으로써, 전체 블록 DCT 대신에, 압축 효율이 개선될 수 있다.
일부 구현들에서, 디코딩 동안, 역 SADCT를 수행하기 위한 파라미터들은 지수 파티셔닝 파라미터들로부터 추론될 수 있다. 예를 들어, 변환 크기는 지수 파티셔닝 템플릿 인덱스로부터 결정될 수 있다.
일부 구현들에서, SADCT는 크기 64x64 및/또는 128x128의 블록들에 대해 구현될 수 있다. 일부 구현들에서, SADCT는 낮은 예측 에러를 갖는 세그먼트를 위한 전체 블록 DCT에 대한 부가 변환 선택으로서 시그널링될 수 있다.
이제 도 12를 참조하면, 공간적으로 인접한 블록(1210)으로부터 현재 블록(1205)에 의한 지수 파티셔닝 파라미터들의 인헤리턴스를 예시하는 도해가 제시된다. 곡선은 이미지 내의 객체 경계(1215)를 표시한다. 현재 블록(1205) 및 공간적으로 인접한 블록(1210) 쿼드트리 + 이진 트리(QTBT) 내의 코딩 유닛 또는 예측 유닛 블록들을 표시한다. 예시된 바와 같이, 객체 경계(1215)는 일반적으로 비교적 균일한 곡률을 포함한다. 인접 블록(1210) 및 현재 블록(1205) 둘 다는 지수 파티셔닝을 사용하여 파티션될 것이다. 모든 지수 파티셔닝 파라미터들(예를 들어, 모양 및/또는 배향 템플릿들에 대한 인덱스들, 계수들, 시작 인덱스들, 종료 인덱스들 등)을 송신하는 것보다는 오히려, 현재 발명 대상의 일부 구현들을 사용하면, 지수 파티셔닝 병합은 인접 블록(1210)에 대한 인덱스와 함께 비트스트림으로 시그널링될 수 있다. 현재 블록의 디코딩 동안, 현재 블록은 표시된 인접 블록으로부터 지수 파티셔닝 파라미터들의 일부 또는 전부를 계승할 수 있다. 도 13은 현재 블록에 대한 공간적으로 인접한 블록들의 예들을 예시한다. 공간적으로 인접한 블록들은 A0(아래 좌측), A1(좌측), B0(위 우측), B1(위), 및 B2(위 좌측)와 동일한 위치에 상주하는(예를 들어, 이들과 중첩되는) 블록들(예를 들어, 코딩 유닛들 또는 예측 유닛들)을 포함할 수 있다.
게다가, 주어진 현재 블록이 지수 파티셔닝 파라미터들을 승계하는 인접 블록은 시간적으로 인접할 수 있다. 도 14는 예시적 현재 블록(1405)과 현재 블록(1405)이 지수 파티셔닝 파라미터들을 승계하는 시간적으로 인접한 블록(1410)을 예시한다. 도 14에 예시된 바와 같이, 참조 픽처(1415)는 인접 블록(1410)을 포함하며, 인접 블록은 참조 픽처(1415)로부터 현재 픽처(1425)로 인접 블록(1410)의 모션을 특징화하는 연관된 모션 벡터(1420)를 갖고, 현재 픽처는 현재 블록(1405)을 포함한다. 모든 지수 파티셔닝 파라미터들(예를 들어, 모양 및/또는 배향 템플릿들에 대한 인덱스들, 계수들 등)을 송신하는 것보다는 오히려, 현재 발명 대상의 일부 구현들을 사용하면, 지수 파티셔닝 병합은 인접 블록(1410)에 대한 인덱스와 함께 비트스트림으로 시그널링될 수 있다. 현재 블록(1405)의 디코딩 동안, 현재 블록(1405)은 표시된 인접 블록(1410)으로부터 지수 파티셔닝 파라미터들의 일부 또는 전부를 계승할 수 있다.
일부 구현들에서, 페어런트 블록은 인접 블록일 필요는 없으며, 예를 들어, 이전에 디코딩되었던 현재 프레임 내의 다른 블록일 수 있다.
일부 구현들에서, 현재 블록은 다른 블록으로부터 일부 지수 파티셔닝 파라미터들만을 계승할 수 있다. 예를 들어, 현재 블록은 제1 페어런트 블록으로부터 제1 파라미터(예를 들어, 모양 템플릿)를 계승할 수 있고, 부가 파라미터들(예를 들어, 시작 지점, 종료 지점, 배향 템플릿 등)은 비트스트림에 포함될 수 있다.
본원에 설명되는 발명 대상은 많은 기술적 장점들을 제공한다. 예를 들어, 현재 발명 대상의 일부 구현들은 압축 효율을 증가시키는 블록들의 파티셔닝을 제공할 수 있다. 일부 구현들에서, 객체 경계들을 보다 밀접하게 따르는 방식으로 파티셔닝을 구현함으로써, 유효한 시각적 효과들이 달성될 수 있다. 유사하게, 일부 구현들에서, 객체 경계들을 보다 밀접하게 따른 방식으로 파티셔닝을 구현함으로써, 객체 경계들에서의 차단 아티팩트들이 감소될 수 있다. 일부 구현들에서, SADCT를 전체 블록 DCT에 대한 부가 변환 선택으로서 구현하고 SADCT를 낮은 예측 에러를 갖는 지수적으로 파티션된 영역들에 적용함으로써, 압축 효율이 증가될 수 있고 복잡성이 감소될 수 있다.
본원에 설명되는 발명 대상의 하나 이상의 양태 또는 특징은 디지털 전자 회로, 집적 회로, 특별히 설계된 주문형 집적 회로들(application specific integrated circuits)(ASICs), 필드 프로그램가능 게이트 어레이들(field programmable gate arrays)(FPGAs) 컴퓨터 하드웨어, 펌웨어, 소프트웨어, 및/또는 그것의 조합들로 실현될 수 있다. 이러한 다양한 양태들 또는 특징들은 저장 시스템, 적어도 하나의 입력 디바이스, 및 적어도 하나의 출력 디바이스로부터 데이터 및 명령어들을 수신하고, 이들에 데이터 및 명령어들을 송신하도록 결합되는, 특수 또는 일반 목적일 수 있는, 적어도 하나의 프로그램가능 프로세서를 포함하는 프로그램가능 시스템 상에서 실행가능하고 그리고/또는 해석가능한 하나 이상의 컴퓨터 프로그램에서 구현을 포함할 수 있다. 프로그램가능 시스템 또는 컴퓨팅 시스템은 클라이언트들 및 서버들을 포함할 수 있다. 클라이언트 및 서버는 일반적으로 서로 원격이고 전형적으로 통신 네트워크를 통해 상호작용한다. 클라이언트 및 서버의 관계는 각각의 컴퓨터들 상에 실행하고 서로 클라이언트-서버 관계를 갖는 컴퓨터 프로그램들에 의해 발생한다.
또한 프로그램들, 소프트웨어, 소프트웨어 애플리케이션들, 애플리케이션들, 구성요소들, 또는 코드로 지칭될 수 있는, 이러한 컴퓨터 프로그램들은 프로그램가능 프로세서를 위한 머신 명령어들을 포함하고, 고레벨 절차 언어, 객체 지향 프로그래밍 언어, 함수 프로그래밍 언어, 논리 프로그래밍 언어, 및/또는 어셈블리/기계 언어로 구현될 수 있다. 본원에 사용되는 바와 같이, 용어 "머신 판독가능 매체"는 머신 명령어들을 머신 판독가능 신호로서 수신하는 머신 판독가능 매체를 포함하는, 머신 명령어들 및/또는 데이터를 프로그램가능 프로세서에 제공하기 위해 사용되는, 예를 들어 자기 디스크들, 광 디스크들, 메모리, 및 프로그램가능 논리 디바이스들(Programmable Logic Devices)(PLDs)과 같은, 임의의 컴퓨터 프로그램 제품, 장치 및/또는 디바이스를 지칭한다. 용어 "머신 판독가능 신호"는 머신 명령어들 및/또는 데이터를 프로그램가능 프로세서에 제공하기 위해 사용되는 임의의 신호를 지칭한다. 머신 판독가능 매체는 예를 들어 영구적인 고체 상태 메모리 또는 자기 하드 드라이브 또는 임의의 등가 저장 매체인 것과 같이, 그러한 머신 명령어들을 비일시적으로 저장할 수 있다. 머신 판독가능 매체는 예를 들어 하나 이상의 물리 프로세서 코어와 연관되는 프로세서 캐시 또는 다른 랜덤 액세스 메모리인 것과 같이, 비영구적인 방식으로 그러한 머신 명령어들을 대안적으로 또는 부가적으로 저장할 수 있다.
사용자와의 상호작용을 제공하기 위해, 본원에 설명되는 발명 대상의 하나 이상의 양태 또는 특징은 예를 들어 정보를 사용자에게 디스플레이하기 위한 음극선관(cathode ray tube)(CRT) 또는 액정 디스플레이(liquid crystal display)(LCD) 또는 발광 다이오드(light emitting diode)(LED) 모니터와 같은 디스플레이 디바이스 및 키보드, 및 예를 들어 마우스 또는 트랙볼과 같은 포인팅 디바이스를 갖는 컴퓨터 상에 구현될 수 있으며, 그것에 의해 사용자는 입력을 컴퓨터에 제공할 수 있다. 다른 종류들의 디바이스들은 또한 사용자와의 상호작용을 제공하기 위해 사용될 수 있다. 예를 들어, 사용자에게 제공되는 피드백은 예를 들어 시각 피드백, 청각 피드백, 또는 촉각 피드백과 같은, 임의의 형태의 감각 피드백일 수 있고; 사용자로부터의 입력은 음향, 스피치, 또는 촉각 입력을 포함하는, 임의의 형태로 수신될 수 있다. 다른 가능한 입력 디바이스들은 터치 스크린들 또는 다른 터치 감응 디바이스들, 예컨대 단일 또는 다지점 저항 또는 용량 트랙패드들, 음성 인식 하드웨어 및 소프트웨어, 광 스캐너들, 광학 포인터들, 디지털 이미지 캡처 디바이스들 및 연관된 해석 소프트웨어 등을 포함한다.
상기 설명들 및 청구항들에서, "중 적어도 하나" 또는 "중 하나 이상"과 같은 구들은 요소들 또는 특징들의 연결 리스트 후에 발생할 수 있다. 용어 "및/또는" 또한 2개 이상의 요소 또는 특징의 리스트에서 발생할 수 있다. 그것이 사용되는 맥락에 의해 암시적으로 또는 명시적으로 달리 모순되지 않는 한, 그러한 구는 열거된 요소들 또는 특징들 중 어느 것을 개별적으로 의미하거나 다른 열거된 요소들 또는 특징들 중 어느 것과 조합하여 열거된 요소들 또는 특징들 중 어느 것을 의미하도록 의도된다. 예를 들어, 구들 "A 및 B 중 적어도 하나"; "A 및 B 중 하나 이상"; 및 "A 및/또는 B"는 "A 단독, B 단독, 또는 A 및 B 함께"를 의미하도록 각각 의도된다. 유사한 해석은 또한 3개 이상의 아이템을 포함하는 리스트들을 위해 의도된다. 예를 들어, 구들 "A, B, 및 C 중 적어도 하나"; "A, B, 및 C 중 하나 이상"; 및 "A, B, 및/또는 C"는 "A 단독, B 단독, C 단독, A 및 B 함께, A 및 C 함께, B 및 C 함께, 또는 A 및 B 및 C 함께"를 의미하도록 각각 의도된다. 게다가, 용어 "기초하여"의 사용은 위에서 그리고 청구항들에서 "에 적어도 부분적으로 기초하여"를 의미하도록 의도되어, 비열거된 특징 또는 요소가 또한 허용가능하다.
본원에 설명되는 발명 대상은 원하는 구성에 따라 시스템들, 장치, 방법들, 및/또는 물품들로 구체화될 수 있다. 상술한 설명에 제시되는 구현들은 본원에 설명되는 발명 대상과 일치하는 모든 구현들을 표현하지 않는다. 대신에, 그들은 설명된 발명 대상과 관련된 양태들과 일치하는 일부 예들일 뿐이다. 수개의 변형들이 위에 상세히 설명되었지만, 다른 수정들 또는 추가들이 가능하다. 특히, 추가 특징들 및/또는 변형들은 본원에 제시되는 것들에 더하여 제공될 수 있다. 예를 들어, 위에 설명된 구현들은 개시된 특징들의 다양한 조합들 및 서브조합들 및/또는 위에 개시된 수개의 추가 특징들의 조합들 및 서브조합들에 관한 것일 수 있다. 게다가, 첨부 도면들에 도시되고 그리고/또는 본원에 설명되는 논리 흐름들은 바람직한 결과들을 달성하기 위해, 도시되는 특정 순서, 또는 순차적 순서를 반드시 필요로 하는 것은 아니다. 다른 구현들은 이하의 청구항들의 범위 내에 있을 수 있다.

Claims (24)

  1. 디코더로서,
    회로를 포함하며, 상기 회로는,
    비트스트림을 수신하고;
    지수 파티셔닝 모드(exponential partitioning mode)가 인에이블되는지를 결정하고;
    곡선 라인에 따라 블록을 제1 영역 및 제2 영역으로 파티션하고;
    상기 블록의 픽셀 데이터를 재구성하고 곡선 라인 사용하도록
    구성되며, 상기 제1 영역 및 상기 제2 영역은 비직사각형인, 디코더.
  2. 제1항에 있어서, 상기 지수 파티셔닝 모드는 상기 비트스트림으로 시그널링되는, 디코더.
  3. 제1항에 있어서, 상기 블록을 상기 제1 영역 및 상기 제2 영역으로 파티션하는 곡선 라인은 미리 정의된 템플릿을 특징으로 하는, 디코더.
  4. 제1항에 있어서, 상기 블록을 상기 제1 영역 및 상기 제2 영역으로 파티션하는 곡선 라인은 미리 정의된 계수 값을 특징으로 하는, 디코더.
  5. 제1항에 있어서, 상기 지수 파티셔닝 모드는 8x8 루마 샘플들 이상의 블록 크기들에 대해 이용가능한, 디코더.
  6. 제1항에 있어서, 픽셀 데이터를 재구성하는 것은 상기 비트스트림에 포함되는 연관된 모션 벡터를 사용하여 상기 제1 영역에 대한 예측자를 계산하는 것을 포함하는, 디코더.
  7. 제1항에 있어서,
    상기 비트스트림을 수신하고 상기 비트스트림을 양자화된 계수들로 디코딩하도록 구성되는 엔트로피 디코더 프로세서;
    역 이산 코사인 변환을 수행하는 것을 포함하여 상기 양자화된 계수들을 처리하도록 구성되는 역 양자화 및 역 변환 프로세서;
    블록해제 필터(deblocking filter);
    프레임 버퍼; 및
    인트라 예측 프로세서
    를 더 포함하는, 디코더.
  8. 제1항에 있어서, 상기 비트스트림은 상기 지수 파티셔닝 모드가 상기 블록에 대해 인에이블되는지를 표시하는 파라미터를 포함하는, 디코더.
  9. 제1항에 있어서, 상기 블록은 쿼드트리 + 이진 결정 트리의 일부를 형성하는, 디코더.
  10. 제9항에 있어서, 상기 블록은 상기 쿼드트리 + 이진 결정 트리의 비-리프 노드(non-leaf node)인, 디코더.
  11. 제1항에 있어서, 상기 블록은 코딩 트리 유닛 또는 코딩 유닛인, 디코더.
  12. 제1항에 있어서, 상기 제1 영역은 코딩 유닛 또는 예측 유닛인, 디코더.
  13. 방법으로서,
    디코더에 의해, 비트스트림을 수신하는 단계;
    상기 디코더에 의해, 지수 파티셔닝 모드가 인에이블되는지를 결정하는 단계;
    상기 디코더에 의해, 블록을 제1 영역 및 제2 영역으로 파티션하는 곡선 라인을 결정하는 단계; 및
    상기 디코더에 의해, 상기 블록의 픽셀 데이터를 재구성하고 상기 곡선 라인을 사용하는 단계
    를 포함하는, 방법.
  14. 제13항에 있어서, 상기 지수 파티셔닝 모드는 상기 비트스트림으로 시그널링되는, 방법.
  15. 제13항에 있어서, 상기 블록을 상기 제1 영역 및 상기 제2 영역으로 파티션하는 곡선 라인은 미리 정의된 템플릿을 특징으로 하는, 방법.
  16. 제13항에 있어서, 상기 블록을 상기 제1 영역 및 상기 제2 영역으로 파티션하는 곡선 라인은 미리 정의된 계수 값을 특징으로 하는, 방법.
  17. 제13항에 있어서, 상기 지수 파티셔닝 모드는 8x8 루마 샘플들 이상의 블록 크기들에 대해 이용가능한, 방법.
  18. 제13항에 있어서, 픽셀 데이터를 재구성하는 단계는 상기 비트스트림에 포함되는 연관된 모션 벡터를 사용하여 상기 제1 영역에 대한 예측자를 계산하는 단계를 포함하는, 방법.
  19. 제13항에 있어서, 상기 디코더는,
    상기 비트스트림을 수신하고 상기 비트스트림을 양자화된 계수들로 디코딩하도록 구성되는 엔트로피 디코더 프로세서;
    역 이산 코사인 변환을 수행하는 것을 포함하여 상기 양자화된 계수들을 처리하도록 구성되는 역 양자화 및 역 변환 프로세서;
    블록해제 필터;
    프레임 버퍼; 및
    인트라 예측 프로세서
    를 포함하는, 방법.
  20. 제13항에 있어서, 상기 비트스트림은 상기 지수 파티셔닝 모드가 상기 블록에 대해 인에이블되는지를 표시하는 파라미터를 포함하는, 방법.
  21. 제13항에 있어서, 상기 블록은 쿼드트리 + 이진 결정 트리의 일부를 형성하는, 방법.
  22. 제21항에 있어서, 상기 블록은 상기 쿼드트리 + 이진 결정 트리의 비-리프 노드인, 방법.
  23. 제13항에 있어서, 상기 블록은 코딩 트리 유닛 또는 코딩 유닛인, 방법.
  24. 제13항에 있어서, 상기 제1 영역은 코딩 유닛 또는 예측 유닛인, 방법.
KR1020217013202A 2018-10-01 2019-10-01 지수 파티셔닝의 방법들 및 시스템들 KR20210089654A (ko)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201862739531P 2018-10-01 2018-10-01
US201862739677P 2018-10-01 2018-10-01
US201862739446P 2018-10-01 2018-10-01
US62/739,446 2018-10-01
US62/739,677 2018-10-01
US62/739,531 2018-10-01
PCT/US2019/054069 WO2020072494A1 (en) 2018-10-01 2019-10-01 Methods and systems of exponential partitioning

Publications (1)

Publication Number Publication Date
KR20210089654A true KR20210089654A (ko) 2021-07-16

Family

ID=70054787

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217013202A KR20210089654A (ko) 2018-10-01 2019-10-01 지수 파티셔닝의 방법들 및 시스템들

Country Status (10)

Country Link
US (1) US20210218977A1 (ko)
EP (1) EP3861732A4 (ko)
JP (1) JP7479062B2 (ko)
KR (1) KR20210089654A (ko)
CN (1) CN113039793A (ko)
BR (1) BR112021006349A2 (ko)
MX (1) MX2021003854A (ko)
PH (1) PH12021550727A1 (ko)
SG (1) SG11202103372XA (ko)
WO (1) WO2020072494A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019246535A1 (en) 2018-06-22 2019-12-26 Op Solutions, Llc Block level geometric partitioning
EP3918794A4 (en) 2019-01-28 2022-04-20 OP Solutions, LLC INTER PREDICTION IN A GEOMETRIC PARTITIONING WITH AN ADAPTIVE NUMBER OF REGIONS
CN113473141A (zh) * 2020-03-31 2021-10-01 Oppo广东移动通信有限公司 帧间预测方法、编码器、解码器及计算机可读存储介质

Family Cites Families (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6292582B1 (en) * 1996-05-31 2001-09-18 Lin Youling Method and system for identifying defects in a semiconductor
KR100727972B1 (ko) * 2005-09-06 2007-06-14 삼성전자주식회사 영상의 인트라 예측 부호화, 복호화 방법 및 장치
US8165205B2 (en) * 2005-09-16 2012-04-24 Sony Corporation Natural shaped regions for motion compensation
US20090196342A1 (en) * 2006-08-02 2009-08-06 Oscar Divorra Escoda Adaptive Geometric Partitioning For Video Encoding
US8068695B2 (en) * 2008-11-07 2011-11-29 Xerox Corporation Positional distortion compensation
EP2425398A4 (en) * 2009-04-27 2014-09-03 Blackberry Ltd IMPLEMENTATION OF SWF MORPH FORM DEFINITIONS FOR VECTOR GRAPHIC PLAYBACK
JP2012023597A (ja) * 2010-07-15 2012-02-02 Sony Corp 画像処理装置及び画像処理方法
EP2421266A1 (en) * 2010-08-19 2012-02-22 Thomson Licensing Method for reconstructing a current block of an image and corresponding encoding method, corresponding devices as well as storage medium carrying an images encoded in a bit stream
US10244239B2 (en) * 2010-12-28 2019-03-26 Dolby Laboratories Licensing Corporation Parameter set for picture segmentation
US8897527B2 (en) * 2011-06-07 2014-11-25 Varian Medical Systems, Inc. Motion-blurred imaging enhancement method and system
KR102036175B1 (ko) * 2011-11-11 2019-10-24 지이 비디오 컴프레션, 엘엘씨 적응적 분할 코딩
CN104396249B (zh) * 2012-06-20 2017-12-26 寰发股份有限公司 可伸缩视频编码的层间预测的方法和设备
GB2503691B (en) * 2012-07-04 2019-08-14 Advanced Risc Mach Ltd Methods of and apparatus for encoding and decoding data
KR20150063468A (ko) * 2012-09-24 2015-06-09 퀄컴 인코포레이티드 심도 맵 코딩
US10616607B2 (en) * 2013-02-25 2020-04-07 Lg Electronics Inc. Method for encoding video of multi-layer structure supporting scalability and method for decoding same and apparatus therefor
JP2014207536A (ja) * 2013-04-12 2014-10-30 ソニー株式会社 画像処理装置および方法
WO2014172387A1 (en) * 2013-04-15 2014-10-23 Huawei Technologies Co., Ltd. Method and apparatus of depth prediction mode selection
KR102003460B1 (ko) * 2013-08-27 2019-07-24 한화테크윈 주식회사 왜곡제거장치 및 방법
WO2015043501A1 (en) * 2013-09-27 2015-04-02 Qualcomm Incorporated Residual coding for depth intra prediction modes
RU2666635C2 (ru) * 2013-10-14 2018-09-11 МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи Характеристики режима индексной карты основных цветов для кодирования и декодирования видео и изображения
US9986236B1 (en) * 2013-11-19 2018-05-29 Google Llc Method and apparatus for encoding a block using a partitioned block and weighted prediction values
JP6268989B2 (ja) * 2013-11-29 2018-01-31 富士通株式会社 動画像符号化装置、動画像符号化方法及び動画像符号化用コンピュータプログラム
JP2015173404A (ja) * 2014-03-12 2015-10-01 富士通株式会社 動画像符号化装置、動画像符号化方法及び動画像符号化用コンピュータプログラム
US9147232B1 (en) * 2014-03-26 2015-09-29 Eastman Kodak Company Reducing halo artifacts in electrophotographic printing systems
US10038919B2 (en) * 2014-05-29 2018-07-31 Apple Inc. In loop chroma deblocking filter
US10136141B2 (en) * 2014-06-11 2018-11-20 Qualcomm Incorporated Determining quantization parameter (QP) values and delta QP values for palette coded blocks in video coding
AU2015328955B2 (en) * 2014-10-08 2018-01-04 Lg Electronics Inc. Depth picture coding method and device in video coding
CN107211131B (zh) * 2014-11-14 2020-07-21 华为技术有限公司 对数字图像块进行基于掩码的处理的系统和方法
US10425659B2 (en) * 2015-01-30 2019-09-24 Qualcomm Incorporated Coding escape pixels for palette coding
DK3181050T3 (da) * 2015-12-18 2020-05-11 Episurf Ip Man Ab System og fremgangsmåde til dannelse af et afgørelsesstøttemateriale, som angiver skade på et anatomisk led
US20170359596A1 (en) * 2016-06-09 2017-12-14 Apple Inc. Video coding techniques employing multiple resolution
US10116957B2 (en) * 2016-09-15 2018-10-30 Google Inc. Dual filter type for motion compensated prediction in video coding
WO2018072823A1 (en) * 2016-10-19 2018-04-26 Huawei Technologies Co., Ltd. Apparatuses and methods for encoding and decoding a video coding block of a video signal
US10694181B2 (en) * 2017-01-27 2020-06-23 Qualcomm Incorporated Bilateral filters in video coding with reduced complexity
GB2560720B (en) * 2017-03-20 2021-08-25 Canon Kk Method and apparatus for encoding and transmitting at least a spatial part of a video sequence
US10789682B2 (en) * 2017-06-16 2020-09-29 The Boeing Company Apparatus, system, and method for enhancing an image
CN116886899A (zh) * 2017-07-05 2023-10-13 艾锐势有限责任公司 对视频编码、解码的方法和计算机可读存储器或存储装置
US10223912B1 (en) * 2017-11-21 2019-03-05 Aptiv Technologies Limited Virtual barrier system
US11378961B2 (en) * 2018-04-17 2022-07-05 Baidu Usa Llc Method for generating prediction trajectories of obstacles for autonomous driving vehicles
US11199847B2 (en) * 2018-09-26 2021-12-14 Baidu Usa Llc Curvature corrected path sampling system for autonomous driving vehicles
WO2020159988A1 (en) * 2019-01-28 2020-08-06 Op Solutions, Llc Inter prediction in exponential partitioning

Also Published As

Publication number Publication date
JP2022508522A (ja) 2022-01-19
EP3861732A1 (en) 2021-08-11
JP7479062B2 (ja) 2024-05-08
EP3861732A4 (en) 2022-07-06
SG11202103372XA (en) 2021-04-29
US20210218977A1 (en) 2021-07-15
WO2020072494A1 (en) 2020-04-09
CN113039793A (zh) 2021-06-25
BR112021006349A2 (pt) 2021-07-06
PH12021550727A1 (en) 2021-12-06
MX2021003854A (es) 2021-05-27

Similar Documents

Publication Publication Date Title
US11695967B2 (en) Block level geometric partitioning
JP2019525679A (ja) クロス成分フィルタ
US20210218977A1 (en) Methods and systems of exponential partitioning
JP7482536B2 (ja) 適応的な数の領域を伴う幾何学的分割のための形状適応離散コサイン変換
KR20210153128A (ko) 인터 예측에서의 병합 모드 후보들에 대한 글로벌 모션
KR20220002990A (ko) 인터 예측에서의 글로벌 모션 제약 모션 벡터
KR20210118151A (ko) 지수 파티셔닝에서의 인터 예측
KR20210153725A (ko) 글로벌 모션 벡터들의 효율적인 코딩
JP2023105073A (ja) 大域的運動を伴うフレームにおける適応型運動ベクトル予測候補
KR20220002996A (ko) 글로벌 모션을 갖는 프레임들에서의 후보들
KR20220002989A (ko) 픽처 헤더 내의 글로벌 모션 벡터의 시그널링
KR102582887B1 (ko) 동화상 부호화 장치, 동화상 복호 장치, 동화상 부호화 방법 및 동화상 복호 방법
KR20210153129A (ko) 글로벌 모션을 갖는 프레임들에서의 선택적 모션 벡터 예측 후보들
KR20210094046A (ko) 명시적 및 암시적 시그널링을 사용한 이용 불가능한 참조 프레임들의 적응형 블록 업데이트
RU2788631C2 (ru) Способы и системы экспоненциального разбиения
KR20220002987A (ko) 모션 벡터 인터 예측을 위한 글로벌 모션 모델들
RU2814971C2 (ru) Видеокодер, видеодекодер, способ кодирования видео, способ декодирования видео
RU2771669C1 (ru) Видеокодер, видеодекодер, способ кодирования видео, способ декодирования видео
US20210400289A1 (en) Methods and systems for constructing merge candidate list including adding a non- adjacent diagonal spatial merge candidate
KR20210152567A (ko) 픽처 헤더 내의 글로벌 모션 벡터의 시그널링

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E90F Notification of reason for final refusal