KR20210059768A - 디지털 이미지/비디오 자료를 인코딩 및 디코딩하는 방법 및 장치 - Google Patents

디지털 이미지/비디오 자료를 인코딩 및 디코딩하는 방법 및 장치 Download PDF

Info

Publication number
KR20210059768A
KR20210059768A KR1020217011635A KR20217011635A KR20210059768A KR 20210059768 A KR20210059768 A KR 20210059768A KR 1020217011635 A KR1020217011635 A KR 1020217011635A KR 20217011635 A KR20217011635 A KR 20217011635A KR 20210059768 A KR20210059768 A KR 20210059768A
Authority
KR
South Korea
Prior art keywords
transform
block
mode
coding
shape
Prior art date
Application number
KR1020217011635A
Other languages
English (en)
Other versions
KR102507024B1 (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 노키아 테크놀로지스 오와이
Publication of KR20210059768A publication Critical patent/KR20210059768A/ko
Application granted granted Critical
Publication of KR102507024B1 publication Critical patent/KR102507024B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • 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/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/167Position within a video image, e.g. region of interest [ROI]
    • 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/18Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a set of transform coefficients
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with 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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/625Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

실시예는, 변환 계수의 세트를 포함하는 변환 블록의 코딩 모드를 결정하는 단계와, 변환 블록의 형상을 결정하는 단계와, 상기 코딩 모드 및 변환 블록의 상기 형상에 적어도 부분적으로 기초해서 블록에 대한 적어도 하나의 변환 모드를 결정하는 단계와, 결정된 변환 모드를 변환 계수의 세트에 적용해서 샘플 값을 생성하는 단계와, 상기 샘플 값을 예측된 샘플 값의 블록에 더하는 단계를 포함하는 방법에 관한 것이다. 실시예는 또한 이 방법을 구현하는 기술 장비에 관한 것이다.

Description

디지털 이미지/비디오 자료를 인코딩 및 디코딩하는 방법 및 장치
본 솔루션은 전반적으로 이미지/비디오 인코딩 및 디코딩에 관한 것이다. 특히, 본 솔루션은 블록의 변환 모드를 적응형으로 선택하는 방법 및 장치에 관한 것이다.
비디오 코딩 시스템은, 입력 비디오를 저장/전송에 적합한 압축 표현으로 변환하는 인코더 및 압축된 비디오 표현을 시청 가능한 형태로 다시 압축 해제할 수 있는 디코더를 포함할 수 있다. 인코더는 비디오를 보다 컴팩트한 형태로 표현하기 위해서, 예를 들어 비디오 정보를 다른 경우라면 요구되었을 것보다 낮은 비트 레이트로 저장/전송할 수 있게 하기 위해서, 원래 비디오 시퀀스의 일부 정보를 폐기할 수도 있다.
하이브리드 비디오 코덱은 비디오 정보를 두 단계로 인코딩할 수 있다. 먼저, 특정한 화상 영역의 샘플 값(즉, 픽셀 값)이 예를 들어, 모션 보상 수단에 의해 또는 공간적 평균에 의해 예측된다. 두번째로, 예측 에러가, 즉 샘플의 예측 블록과 샘플의 원래 블록 사이의 차이가 코딩된다. 한편, 비디오 디코더는, 인코더와 유사한 예측 수단을 적용해서 샘플 블록의 예측 표현을 형성하고 예측 에러를 디코딩함으로써, 출력 비디오를 복원한다. 예측 및 예측 에러 디코딩 수단을 적용함으로써, 디코더는 예측과 예측 에러 신호를 합산해서 출력 비디오 프레임을 형성한다.
현재, 위의 문제를 해결하는 개선된 방법 및 이 방법을 구현하는 기술 장비가 발명되었다. 다양한 측면들은 방법, 장치, 및 컴퓨터 프로그램이 저장된 컴퓨터 판독 가능 매체를 포함하며, 이는 독립 청구항에 개시된 것을 특징으로 한다. 다양한 실시예가 종속항에 개시되어 있다.
제 1 측면에 따라서, 변환 계수의 세트를 포함하는 변환 블록의 코딩 모드를 결정하는 단계와, 변환 블록의 형상을 결정하는 단계와, 코딩 모드 및 변환 블록의 형상에 적어도 부분적으로 기초해서 블록에 대한 적어도 하나의 변환 모드를 결정하는 단계와, 결정된 변환 모드를 변환 계수의 세트에 적용해서 샘플 값을 생성하는 단계와, 샘플 값을 예측된 샘플 값의 블록에 더하는 단계를 포함하는 방법이 제공된다.
제 2 측면에 따라서, 장치로서, 변환 계수의 세트를 포함하는 변환 블록의 코딩 모드를 결정하는 수단과, 변환 블록의 형상을 결정하는 수단과, 코딩 모드 및 변환 블록의 형상에 적어도 부분적으로 기초해서 블록에 대한 적어도 하나의 변환 모드를 결정하는 수단과, 결정된 변환 모드를 변환 계수의 세트에 적용해서 샘플 값을 생성하는 수단과, 샘플 값을 예측된 샘플 값의 블록에 더하는 수단을 포함하는 장치가 제공된다.
제 3 측면에 따라서, 적어도 하나의 프로세서에서 실행될 때 장치 또는 시스템으로 하여금, 변환 계수의 세트를 포함하는 변환 블록의 코딩 모드를 결정하게 하고, 변환 블록의 형상을 결정하게 하며, 코딩 모드 및 변환 블록의 형상에 적어도 부분적으로 기초해서 블록에 대한 적어도 하나의 변환 모드를 결정하게 하고, 결정된 변환 모드를 변환 계수의 세트에 적용해서 샘플 값을 생성하게 하며, 샘플 값을 예측된 샘플 값의 블록에 더하게 하도록 구성된 컴퓨터 프로그램 코드를 포함하는 컴퓨터 프로그램 제품이 제공된다.
일 실시예에 따라서, 변환 블록의 형상은 변환 블록의 폭과 높이를 비교해서 결정된다.
일 실시예에 따라서, 방향은 수평 또는 수직이다.
일 실시예에 따라서, 코딩 모드는, 코딩 유닛 또는 예측 유닛이 인터 예측되거나 인트라 예측되는 것; 변환 블록이 인트라 슬라이스 또는 인터 슬라이스에 속하는 것; 변환 모드; 블록의 인트라 예측 모드 중 적어도 하나와 관련된다.
일 실시예에 따라서, 변환 블록의 형상은, 블록을 사전 결정된 카테고리 중 하나로 분류함으로써 결정된다.
일 실시예에 따라서, 서로 다른 크기의 2개의 방향을 가진 블록에 대해서 2개의 변환 모드가 결정된다.
일 실시예에 따라서, 변환 모드는 이산 코사인 변환(DCT) 또는 이산 사인 변환(DST)을 포함한다.
일 실시예에 따라서, 변환 모드를 결정하는 것은, 블록의 큰 크기를 가진 방향에 대해서는 이산 코사인 변환(DCT)을 선택하고, 블록의 작은 크기를 가진 방향에 대해서는 이산 사인 변환(DST)을 선택하는 것을 포함한다.
일 실시예에 따라서, 결정된 적어도 하나의 변환 모드를 나타내는 신호를 비트스트림이 포함한다.
일 실시예에 따라서, 장치는 적어도 하나의 프로세서 및 컴퓨터 프로그램 코드를 포함하는 메모리를 포함한다.
이하에서 다양한 실시예를 첨부된 도면을 참조하면서 더 상세하게 설명한다.
도 1은 일 실시예에 따른 인코딩 처리를 도시한다.
도 2는 일 실시예에 따른 디코딩 처리를 도시한다.
도 3은 일 실시예에 따른 방법을 도시한다.
도 4는 변환 블록의 다양한 형상의 예를 도시한다.
도 5는 일 실시예에 따른 변환 선택을 도시한다.
도 6은 일 실시예에 따른 인코딩 처리를 도시한다.
도 7은 형상 적응형 변환 처리의 실시예를 도시한다.
도 8은 일 실시예에 따른 방법을 예시하는 흐름도이다.
도 9는 일 실시예에 따른 장치를 도시한다.
이하에서는, 디지털 이미지/비디오 자료의 코딩 및 디코딩의 측면에서 여러 가지 실시예를 설명한다. 특히, 여러 가지 실시예에서는, 변환 블록에 대해서 양호하게 수행될 수 있는 변환을, 그 블록의 형상에 기초해서 선택할 수 있게 한다.
비디오 코덱은, 입력 비디오를 저장/전송에 적합한 압축 표현으로 변환하는 인코더 및 압축된 비디오 표현을 시청 가능한 형태로 다시 압축 해제할 수 있는 디코더로 구성된다. 인코더는 비디오를 보다 컴팩트한 형태로(즉, 낮은 비트 레이트로) 표현하기 위해서, 원래 비디오 시퀀스의 일부 정보를 폐기할 수도 있다.
예를 들어, ITU-T H.263 및 H.264와 같은 하이브리드 비디오 코덱은 비디오 정보를 두 단계로 인코딩할 수 있다. 먼저, 특정한 화상 영역(또는 '블록')의 픽셀 값이 예를 들어 모션 보상 수단에 의해(이전에 코딩된 비디오 프레임 중 코딩되는 블록에 가깝게 대응하는 프레임의 영역을 찾아내서 표시) 또는 공간적 수단(지정된 방식으로 코딩될 블록 주변의 픽셀 값을 사용)에 의해 예측된다. 이후, 예측 에러가, 즉 픽셀의 예측 블록과 픽셀의 원래 블록 사이의 차이가 코딩된다. 이는 픽셀 값의 차이를 지정된 변환(예를 들어, DCT(Discreet Cosine Transform) 또는 그 변형예)을 사용해서 변환하고, 계수를 양자화하며, 양자화된 계수를 엔트로피 코딩함으로써 수행될 수 있다. 인코더는, 양자화 처리의 충실도(fidelity)를 변경함으로써, 픽셀 표현의 정확도(화질)와 결과적으로 나온 코딩된 비디오 표현의 크기(파일 크기 또는 전송 비트레이트) 사이의 밸런스를 제어할 수 있다. 일 실시예에 따른 인코딩 처리가 도 1에 도시되어 있다.
도 1은 인코딩될 이미지(In); 이미지 블록의 예측 표현(P'n); 예측 에러 신호(Dn); 복원된 예측 에러 신호(D'n); 예비 복원된 이미지(I'n); 최종 복원된 이미지(R'n); 변환(T) 및 역변환(T-1); 양자화(Q) 및 역 양자화(Q-1); 엔트로피 인코딩(E); 참조 프레임 메모리(RFM); 인터 예측(Pinter); 인트라 예측(Pintra); 모드 선택(MS) 및 필터링(F)을 나타낸다.
H.265/HEVC와 같은 일부 비디오 코덱에서, 비디오 화상은 화상의 영역을 덮고 있는 코딩 유닛(CU)으로 나누어진다. CU는, CU 내의 샘플에 대한 예측 처리를 정의하는 하나 이상의 예측 유닛(PU)과 이 CU 내의 샘플에 대한 예측 에러 코딩 처리를 정의하는 하나 이상의 변환 유닛(TU)으로 구성된다. CU는 사전 정의된 가능한 CU 크기의 세트 중에서 선택될 수 있는 크기를 가진 정사각형 샘플 블록으로 구성될 수 있다. 허용되는 최대 크기를 가진 CU는, LCU(largest coding unit) 또는 CTU(coding tree unit)로 명명될 수 있으며, 비디오 화상은 비-중첩 CTU들로 나누어진다. CTU는, 예를 들어, CTU와 최종 CU를 반복적으로(recursively) 분할하는 방식으로, 더 작은 CU의 조합으로 더 분할될 수도 있다. 각각의 최종 CU는 적어도 하나의 PU 및 이와 관련된 적어도 하나의 TU를 가질 수 있다. 각 PU 및 TU는 각각, 예측 및 예측 에러 코딩 처리의 세밀도(granularity)를 높이기 위해서, 더 작은 PU 및 TU로 더 분할될 수 있다. 각각의 PU는 그 PU 내의 픽셀에 대해 어떤 종류의 예측이 적용될지를 정의하는 것과 관련된 예측 정보(예를 들어, 인터 예측된 PU에 대한 모션 벡터 정보 및 인트라 예측된 PU에 대한 인트라 예측 방향성 정보)를 갖는다. 유사하게, 각각의 TU는 상기 TU 내의 샘플에 대한 예측 에러 디코딩 처리를 설명하는 정보(예를 들어, DCT 계수 정보를 포함)와 관련된다. 각 CU에 대해서 예측 에러 코딩이 적용될지 여부가 CU 레벨에서 시그널링될 수 있다. CU와 관련된 예측 에러 잔차가 없는 경우에, 상기 CU에 대한 TU는 없는 것으로 간주될 수 있다. 이미지를 CU로 분할하고, CU를 PU 및 TU로 분할하는 것이 비트스트림으로 시그널링됨으로써, 디코더가 이들 유닛에 대해 의도된 구조를 재현하게 할 수 있다.
디코더는, 인코더와 유사한 예측 수단을 적용해서 픽셀 블록의 예측된 표현을 형성하고(인코더에 의해 생성되어서 압축 표현으로 저장된 모션 또는 공간 정보를 사용), 예측 에러 디코딩함(양자화된 예측 에러 신호를 공간 픽셀 도메인에서 복구하는 예측 에러 코딩의 역 연산)으로써 출력 비디오를 복원한다. 예측 및 예측 에러 디코딩 수단을 적용한 이후에 디코더는 예측 및 예측 에러 신호(픽셀 값)를 합산해서 출력 비디오 프레임을 형성한다. 디코더(및 인코더)는 또한, 출력 비디오를 디스플레이를 위해 전달하고 및/또는 비디오 시퀀스에서 곧 이어질 프레임에 대한 예측 기준으로서 이 출력 비디오를 저장하기 전에, 추가 필터링 수단을 적용해서 출력 비디오의 품질을 개선할 수도 있다. 일 실시예에 따른 디코딩 처리가 도 2에 도시되어 있다.
도 2는 이미지 블록의 예측 표현(P'n); 복원된 예측 에러 신호(D'n); 예비 복원된 이미지(I'n); 최종 복원된 이미지(R'n); 역 변환(T-1); 역 양자화(Q-1); 엔트로피 디코딩(E-1); 참조 프레임 메모리(RFM); 예측(인터 또는 인트라)(P); 및 필터링(F)을 나타낸다.
샘플 값 예측 및 변환 코딩을 이용해서 코딩된 샘플 값을 나타내는 방식 대신에 혹은 이 방식에 더해서, 컬러 팔레트 기반 코딩이 사용될 수 있다. 팔레트 기반 코딩이란, 팔레트, 즉 컬러의 세트 및 관련 인덱스가 정의되고, 코딩 유닛 내의 각 샘플에 대한 값을 팔레트에서의 인덱스를 표시함으로써 표현하는 방식의 패밀리를 가리킨다. 팔레트 기반 코딩은 상대적으로 적은 수의 컬러를 가진 코딩 유닛(예를 들어, 텍스트나 간단한 그래픽과 같은 컴퓨터 화면 콘텐츠를 나타내고 있는 이미지 영역과 같은)에서 우수한 코딩 효율을 달성할 수 있다. 팔레트 코딩의 코딩 효율을 향상시키기 위해서, 다양한 종류의 팔레트 인덱스 예측 방식이 이용될 수도 있고, 혹은 팔레트 인덱스가 런-렝스(run-length) 코딩되어서 더 큰 균질 이미지 영역(homogenous image area)을 효율적으로 표현할 수도 있다. 또한, CU 내에서 반복(recurring)되지 않는 샘플 값이 CU에 포함되어 있는 경우에는, 이스케이프 코딩이 사용될 수 있다. 이스케이프 코딩된 샘플은 어떠한 팔레트 인덱스도 참조하지 않고 전송된다. 대신 이들 값은 각 이스케이프 코딩된 샘플에 대해 개별적으로 표시된다.
모션 정보는 비디오 코덱에서 각각의 모션 보상된 이미지 블록에 관한 모션 벡터로 표시될 수 있다. 이들 모션 벡터 각각은 코딩될(인코더 측에서) 또는 디코딩될(디코더 측에서) 화상에서의 이미지 블록의 변위, 및 이전에 코딩된 혹은 디코딩된 화상 중 하나의 예측 소스 블록을 나타낸다. 모션 벡터를 효율적으로 나타내기 위해서, 모션 벡터는 블록 특정 예측 모션 벡터에 대해 서로 다르게 코딩될 수도 있다. 예측되는 모션 벡터는, 예를 들어 인접한 블록의 인코딩된 또는 디코딩된 모션 벡터의 중간값(median)을 계산하는 것과 같은 미리 정의된 방식으로, 생성될 수 있다. 모션 벡터 예측을 생성하는 또 다른 방법은, 시간적인 참조 화상에서의 인접하는 블록들 및/또는 함께 위치된 블록들로부터 후보 예측의 리스트를 생성하고, 선택한 후보를 모션 벡터 예측자로서 시그널링하는 것이다. 모션 벡터 값을 예측하는 것에 더해서, 이전에 코딩된/디코딩된 화상의 참조 인덱스가 예측될 수 있다. 참조 인덱스는 시간적인 참조 화상에서의 인접하는 블록들 및/또는 함께 위치된 블록들로부터 예측될 수 있다. 더욱이, 고효율 비디오 코덱은, 종종 병합(merging)/병합 모드(merge mode)라고 하는 추가 모션 정보 코딩/디코딩 메커니즘을 사용할 수 있으며, 여기서 각 사용 가능한 참조 화상 리스트에 대한 모션 벡터 및 대응하는 참조 화상 인덱스를 포함하는 모든 모션 필드 정보가 예측되고, 수정/보정 없이 사용된다. 유사하게, 모션 필드 정보를 예측하는 것은 시간적인 참조 화상에서의 인접하는 블록들 및/또는 함께 위치된 블록들의 모션 필드 정보를 사용해서 수행되며, 사용되는 모션 필드 정보는 사용 가능한 인접하는 블록들 및/또는 함께 위치된 블록들의 모션 필드 정보로 채워진 모션 필드 후보의 리스트 중에서 시그널링된다.
비디오 코덱은 하나의 소스 이미지(단일 예측)와 2개의 소스(이중 예측)으로부터 모션 보상 예측을 지원할 수 있다. 단일 예측의 경우에는 하나의 모션 벡터가 적용되는 반면, 이중 예측의 경우에는 2개의 모션 벡터가 시그널링되고, 2개의 소스로부터의 모션 보상 예측의 평균이 구해져서 최종 샘플 예측을 생성한다. 가중 예측의 경우, 2개의 예측의 상대적인 가중치가 조정될 수도 있고, 시그널링되는 오프셋이 예측 신호에 추가될 수도 있다.
인터 화상 예측에 모션 보상을 적용하는 것에 더해서, 유사한 방식이 인트라 화상 예측에 적용될 수도 있다. 이 경우, 변위 벡터는, 코딩될 또는 디코딩될 블록의 예측을 형성하기 위해서, 동일한 화상으로부터 샘플의 블록이 복사될 수 있는 위치를 나타낸다. 이러한 종류의 인트라 블록 복사 방법은, 텍스트나 또는 기타 그래픽과 같은 프레임 내의 반복 구조가 있는 경우에, 코딩 효율성을 크게 향상시킬 수 있다.
모션 보상 또는 인트라 예측 이후의 예측 잔차는 먼저 변환 커널(DCT와 같은)을 이용해서 변환되고, 이후에 코딩될 수 있다. 그 이유는, 잔차 사이에 약간의 상관 관계가 있는 경우가 많고, 많은 경우에 변환을 통해서 이 상관 관계를 감소시켜서, 보다 효율적인 코딩을 제공할 수 있기 때문이다.
비디오 인코더는, 라그랑제 비용 함수(Lagrangian cost function)를 사용해서 예를 들어, 원하는 매크로블록 모드 및 관련 모션 벡터와 같은 최적의 코딩 모드를 찾을 수 있다. 이러한 종류의 비용 함수는 가중 계수 λ를 사용해서, 손실있는 코딩 방법으로 인한 (정확한 혹은 추정되는) 이미지 왜곡과 이미지 영역의 픽셀 값을 표현하는 데 필요한 정보의 (정확한 혹은 추정되는) 수를 결부시킨다(tie together).
Figure pct00001
식 1
C는 최소화될 라그랑제 비용이고, D는 모드 및 모션 벡터를 고려한 이미지 왜곡(예를 들어, 평균 제곱 오차)이며, R은 디코더에서 이미지 블록을 복원하는 데 필요한 데이터를 나타내는 데 요구되는 비트의 수이다(후보 모션 벡터를 나타낼 데이터의 수를 포함).
스케일러블 비디오 코딩이란, 하나의 비트스트림이 서로 다른 비트 레이트, 해상도 또는 프레임 레이트의 콘텐츠의 여러 표현을 포함할 수 있는 코딩 구조를 가리킨다. 이러한 경우에, 수신기는 그 특성(예를 들어, 디스플레이 장치에 최상의 매칭되는 해상도)에 따라서 원하는 표현을 추출할 수 있다. 다른 방안으로, 서버 또는 네트워크 요소는, 예를 들어, 수신기의 네트워크 특성 또는 처리 능력에 따라서, 비트스트림에서 수신기로 전송될 부분을 추출할 수 있다. 스케일러블 비트스트림은 이용 가능한 최저 품질 비디오를 제공하는 "기본 계층" 및, 수신되어서 하위 계층과 함께 디코딩될 때 비디오 품질을 향상시키는 하나 이상의 향상 계층으로 구성될 수 있다. 향상 계층의 코딩 효율을 개선하기 위해서, 그 계층의 코딩되는 표현은 일반적으로 하위 계층에 따라 달라진다. 예를 들어, 향상 계층의 모션 및 모드 정보는 하위 계층로부터 예측될 수 있다. 유사하게, 하위 계층의 픽셀 데이터는 향상 계층에 대한 예측을 생성하는 데 사용될 수도 있다.
스케일러블 비디오 코덱은 품질 확장성(scalability)(신호-대-잡음 또는 SNR이라고도 함) 및/또는 공간 확장성에 대해서 다음과 같이 구현될 수 있다. 기본 계층의 경우에, 종래의 논-스케일러블(non-scalable) 비디오 인코더 및 디코더가 사용된다. 기본 계층의 복원/디코딩된 화상이 향상 계층을 위한 참조 화상 버퍼에 포함된다. H.264/AVC, HEVC 및 인터 예측에 참조 화상 리스트(들)를 사용하는 유사한 코덱에서, 향상 계층 화상을 향상 계층의 디코딩된 참조 화상과 유사하게 코딩/디코딩하기 위해서 기본 계층 디코딩된 화상이 참조 화상 리스트(들)에 삽입될 수 있다. 결과적으로, 인코더는 인터 예측 참조로서 기본 계층 참조 화상을 선택하고, 그 사용을 예를 들어 코딩된 비트스트림의 참조 화상 인덱스와 함께 나타낼 수 있다. 디코더는 비트스트림으로부터 예를 들어, 참조 화상 인덱스로부터 기본 계층 화상이 향상 계층에 대한 인터 예측 참조로서 사용된다는 것을 디코딩한다. 디코딩된 참조 계층 화상이 향상 계층의 예측 참조로서 사용되는 경우, 이를 인터 계층 참조 화상이라고 한다.
품질 확장성에 더해서, 다음과 같은 확장성 모드가 있다.
· 공간적 확장성 : 기본 계층 화상은 향상 계층 화상보다 낮은 해상도로 코딩된다.
· 비트 깊이 확장성 : 기본 계층 화상은 향상 계층 화상(예를 들어, 10 또는 12 비트)보다 낮은 비트 깊이(예를 들어, 8 비트)로 코딩된다.
· 크로마 포맷 확장성 : 향상 계층 화상은 기본 계층 화상(예를 들어, 4:2:0 포맷)보다 더 높은 크로마 충실도(예를 들어, 4:4:4 크로마 포맷으로 코딩 됨)를 제공한다.
위의 모든 확장성 사례에서, 기본 계층 정보는 추가 비트레이트 오버헤드를 최소화하도록 향상 계층을 코딩하는 데 사용될 수 있다.
확장성은, 스케일러블 표현의 하위 계층으로부터 픽셀 값 또는 구문(syntax)의 예측을 수행하기 위한 새로운 코딩 모드를 도입하는 방법이나, 하위 계층 화상을 상위 계층의 참조 화상 버퍼(디코딩된 화상 버퍼, DPB)에 배치하는 방법의, 두 가지 기본 방식으로 달성될 수 있다. 첫번째 방법은 더 유연해서, 대부분의 경우에 더 우수한 코딩 효율성을 제공할 수 있다. 그러나 두번째의 참조 프레임 기반 확장성 방법은, 단일 계층 코덱을 최소한으로 변경하면서도 매우 효율적으로 구현되는 동시에, 사용 가능한 코딩 효율 이득의 대부분을 달성할 수 있다. 기본적으로 참조 프레임 기반 확장성 코덱은 모든 계층에 대해 동일한 하드웨어 또는 소프트웨어 구현을 사용해서 구현될 수 있으며, 외부 수단에 의해서 DPB 관리를 수행하기만 하면 된다.
병렬 처리를 사용할 수 있도록, 이미지는 코딩 가능한 이미지 세그먼트 및 디코딩 가능한 이미지 세그먼트(슬라이스 또는 타일)로 독립적으로 분할될 수 있다. 본 명세서에서, "슬라이스"는 디폴트 코딩 순서 또는 디코딩 순서로 처리되는 특정한 수의 기본 코딩 유닛으로 구성된 이미지 세그먼트를 가리킬 수 있고, "타일"은 적어도 일정 정도까지는 개별 프레임으로서 처리되는 직사각형 이미지 영역으로서 정의된 이미지 세그먼트를 의미할 수 있다.
최신의 비디오 및 이미지 코덱에서, 예측 에러는 주파수 도메인으로 변환되어서, 원하는 정확도로 양자화될 수 있다. 이 변환은 예를 들어 이산 코사인 변환(DCT) 또는 이산 사인 변환(DST)의 제품군의 변환 모드를 사용해서 수행될 수 있다. 비디오 또는 이미지 디코더에서, 수신된 변환 계수는 역 양자화되고, 이러한 역 양자화된 변환 계수에 선택된 변환의 역이 적용되어서, 공간 도메인 또는 샘플 도메인에서 예측 에러 신호를 복구한다. 선택된 변환 또는 역 변환은, 수평 방향 및 수직 방향에 대해 개별적으로 비트스트림에 표시될 수 있다. 그러나, 이는 선택된 변환을 시그널링하는 데 필요한 비트의 수를 증가시켜서, 인코더 측에서 다른 대안의 변환의 효과를 평가하는 부담을 증가시킬 수 있다.
H.265/HEVC 비디오 코딩 표준은 예측 에러 코딩에 사용되는 2가지 다른 타입의 변환을 정의한다. DST 변환은 4x4 인트라 예측된 루마(luma) 블록에 사용되고, 나머지 블록에는 DCT 변환이 사용된다. H.265는 또한 "변환 스킵" 모드를 정의하는데, 여기서 샘플 값은 주파수 도메인으로 변환되지 않고 양자화된 샘플 값으로서 전송된다.
VVC(Versatile Video Coding) 테스트 모델 번호 2(VTM-2)는 DCT-2, DCT-8 및 DST-7 변환 모드의 다양한 조합 중에서 선택할 메커니즘을 정의한다. 인코더는 수평 및 수직 방향 모두에 대해 DCT-2를 사용하는 것을 선택하거나 또는 각각의 방향에 대해 DCT-8 및 DST-7 변환의 조합을 사용하는 것을 선택할 수 있다. 이 선택은 비트스트림으로 표시되고, 디코더는 매칭 역 변환을 수행해서 예측 에러 신호를 복구할 것이다.
JEM-6(Joint Exploration Test Model 6)은 "모드-의존식 분리 불가능 변환(mode-dependent non-separable transform)" 코딩을 위한 메커니즘을 정의하는데, 여기서 인트라 예측 모드에 따라서 그 변환 블록에 대해 상이한 변환 기반 기능이 선택된다. 유사하게, "적응형 다중 코어 변환(adaptive multiple core transform)"은 인트라 예측 방향에 기초해서 수평 및 수직 방향에 대해 서로 다른 변환 쌍을 선택하는 메커니즘을 정의한다.
본 실시예는 블록의 형상에 기초해서 변환 블록에 대해서 양호하게 수행될 수 있는 변환을 선택하는 방법을 제공한다. 이 방법에 따라 동작하는 비디오 또는 이미지 디코더는 수평 및 수직 방향에 대해 2가지의 대안의 변환을 갖고 있다. 변환 중 하나는 제 1 기저 함수에 대해서 작은 제 1 계수를 특징으로 하고, 다른 변환은 제 1 기저 함수에 대해서 큰 제 1 계수를 특징으로 한다. 이러한 변환의 쌍은 예를 들어(DST-7, DCT-2) 쌍을 사용해서 정의될 수 있다. 디코더는 또한, 변환 블록의 작은 치수의 방향의 경우에는 제 1 기저 함수에 대해서 작은 제 1 계수를 가진 변환을 선택하고, 변환 블록의 큰 치수의 방향의 경우에는 제 1 기저 함수에 대해서 큰 제 1 계수를 가진 변환을 선택하도록 구성된다.
일 실시예에 따른 방법은 도 3에 도시된 바와 같이 다음 단계를 포함한다.
1. 변환 블록의 코딩 모드를 결정한다(310).
2. 상기 변환 블록의 폭과 높이를 비교해서 상기 변환 블록의 형상을 결정한다(320).
3. 상기 변환 블록의 형상 및 모드에 적어도 부분적으로 기초해서 수평 변환을 결정한다(330).
4. 상기 변환 블록의 상기 형상 및 모드에 적어도 부분적으로 기초해서 수직 변환을 결정한다(340).
5. 상기 수평 및 수직 변환을 변환 계수의 세트에 적용해서 잔차 샘플 값을 생성한다(350).
6. 상기 잔차 샘플 값을 예측된 샘플 값 블록에 더한다(360)
이 방법은 비디오 또는 이미지 디코더/인코더에 의해 수행될 수 있다.
위의 방법은 다양한 방식으로 구현될 수 있다. 예를 들어, 다양한 방식으로 동작 순서가 변경될 수도 있고, 사이에 동작이 추가될 수도 있다. 또한, 여러 처리 단계에서 다른 추가 작업이 적용될 수도 있다. 예를 들어, 잔차 샘플 값을 예측된 샘플 값에 더하기 전에 잔차 샘플 값에 대해 추가 필터링 또는 기타 처리가 적용될 수 있다.
변환 블록의 코딩 모드를 결정하는 것은, 변환 블록이 속하는 코딩 유닛 또는 예측 유닛이 인터 예측될지 혹은 인트라 예측될지를 결정하는 것을 포함할 수 있다. 또한, 변환 블록이 인트라 슬라이스에 속하는지 또는 인터 슬라이스에 속하는지 결정하는 것을 포함할 수 있다. 이에 더해서 혹은 그 대신에, 변환 모드를 결정하는 것을 포함할 수도 있다. 예를 들어, 변환 블록이 블록에 대해서 디폴트 변환을 사용하고 있다는 것이 비트스트림의 플래그로 시그널링될 수 있다. 디폴트 변환 모드가 사용되는 경우에, 본 명세서에서 설명되는 형상 적응형 변환 선택 처리가 호출될 수 있다. 이러한 예는 도 4에 도시되어 있다.
도 4는, 디폴트 변환의 시그널링이 사용되고 디폴트 변환이 형상 적응형 변환 선택을 사용하는 경우의 인코딩 처리의 예를 도시한다. 우선, 디폴트 변환이 사용될지 여부가 결정된다(410). 사용되지 않는 경우에, 수평 및 수직 변환이 시그널링된다(420). 반면, 디폴트 변환이 사용된다면, 변환 블록이 정사각형인지 결정된다(430). 정사각형이면, 수평 및 수직 방향 모두에 대해 동일한 변환이 사용된다(440). 정사각형이 아니면, 수평 및 수직 방향에 대해 다른 변환이 사용된다(450).
디폴트 변환 모드가 표시되지 않은 경우, 수평 방향으로 적용되는 변환과 수직 방향으로 적용되는 변환을 결정하는 별도의 시그널링이 있을 수 있다. 이것은 도 5에 도시되어 있다. 도 5에서 형상 적응형 변환 처리는 DST-7과 DCT-2 중에서 변환을 선택하고 있지만, 변환의 명시적인 시그널링은 DST-7과 DCT-8 변환 중에서 선택하는 데 사용된다. 먼저 디폴트 변환이 사용되는지 여부가 결정된다(510). 사용되지 않으면, 수평 변환이 DST-7이나 DCT-8 또는 다른 것인지 시그널링되고(520) 수직 변환이 DST-7이나 DCT-8 또는 다른 것인지 시그널링된다(530). 한편, 디폴트 변환 모드가 사용되면 변환 블록이 정사각형인지 결정된다(540). 정사각형인 경우에, 수평 및 수직 방향 모두에 대해 동일한 변환, 예를 들어 DCT-2가 사용된다(550). 정사각형이 아닌 경우에는, 수평 방향과 수직 방향에 대해 다른 변환이 사용된다(예를 들어, 짧은 변의 방향에는 DST-7, 다른 방향에는 DCT-2).
블록의 형상을 결정하는 방법은 여러 가지가 있다. 블록을 예를 들어, 도 6에도 도시된 3개의 카테고리: a) 정사각형(블록의 폭 W이 블록의 높이 H와 동일), b) 넓은 형상(블록의 폭 W이 블록의 높이 H보다 크다), c) 좁은 형상(블록의 높이 H가 블록의 폭 W보다 크다) 중 하나로 분류하는 것을 포함할 수 있다. 추가적인 카테고리가 정의될 수 있다는 것을 이해할 수 있다. 예를 들어, 폭이 높이의 2배인 블록과 폭이 높이의 2배 이상인 블록에 대해서 별개의 카테고리가 있을 수 있다.
마찬가지로, 높이가 폭의 2배인 블록과 높이가 폭의 2배 이상인 블록에 대해서 별개의 카테고리가 있을 수 있다.
일 실시예에서, 형상 적응형 변환 선택은 2개의 변환 즉, 제 1 기저 함수에 대해서 작은 제 1 계수를 특징으로 하는 제 1 변환과 제 1 기저 함수에 대해서 큰 제 1 계수를 특징으로 하는 변환 중에서 선택하도록 동작된다. 이러한 변환의 쌍은 예를 들어 (DST-7, DCT-2) 쌍을 포함하는 변환 모드를 사용해서 정의될 수 있다. 일 실시예에서, 디코더는 또한 변환 블록의 작은 치수의 방향의 경우에는 제 1 기저 함수에 대해서 작은 제 1 계수를 가진 변환(DST-7)을 선택하고, 변환 블록의 큰 치수의 방향의 경우에는 제 1 기저 함수에 대해서 큰 제 1 계수를 가진 변환(DCT-2)을 선택하도록 구성된다.
도 7에 도시된 실시예에 따르면, 형상 적응형 변환 처리는 DST-7과 DCT-2 중에서 변환 모드를 선택한다. 변환 블록의 짧은 방향에 대해서 DST-7 변환이 선택되고 변환 블록의 긴 방향에 대해서 또는 변환 블록이 정사각형인 경우에 DCT-2이 사용된다. 따라서, 이 실시예에서 변환 블록이 정사각형인 경우에 수평 및 수직 방향 모두에 대해 DCT-2가 사용된다(도 7(a)). 도 7(b)에 도시된 바와 같이 블록의 폭이 높이보다 크면, 가로 방향에 대해서는 DCT-2가 사용되고, 세로 방향에 대해서는 DST-7가 사용된다. 도 7(c)에 도시된 바와 같이 블록의 높이가 폭보다 크면 수직 방향에 대해서는 DCT-2가 사용되고, 수평 방향에 대해서는 DST-7가 사용된다.
여러 가지 실시예에서 상이한 종류의 변환 또는 상이한 세트의 변환이 사용될 수 있다. 일 실시예에서 DCT-2 및 DST-7 변환이 사용된다. 다른 실시예에서, DCT-2, DST-7 및 DCT-8 변환(예를 들어, VVC 표준의 규격 초안 2에 정의된 바와 같이)이 사용된다. 선택할 수 있는 변환이 2개 이상인 경우, 비트스트림에 표시될 수 있는 변환 모드 중 일부 또는 모두에 대해서 형상 적응이 인에이블될 수 있다. 예를 들어, 형상 적응형 변환 선택은 다음과 같은 의사-코드에 정의된 바와 같이 MTS_CU_flag(코딩 유닛 플래그에 대한 다중 변환 선택)에 대해 조건부로 인에이블될 수 있다.
if ( MTS_CU_flag )
수직 방향과 수평 방향에 대해서 어떤 변환을 사용할지 명시적으로 나타냄
else {
if ( 코딩 유닛이 인트라 코딩됨 )
일 실시예에 따른 형상 적응형 변환 선택을 적용
else
가로 방향과 세로 방향 모두에 대해서 DCT-2를 적용
}
형상 적응형 변환 선택 처리를 인에이블하는데 다양한 조건이 사용될 수 있다. 위의 예에서는, 코딩 모드(인터 또는 인트라)가 사용된다. 다른 예는 현재 슬라이스가 인트라 코딩되는지 결정하는 것 또는 다른 조건을 결합하는 것을 포함한다. 예를 들어, 이 조건은 블록의 인트라 예측 모드를 결정하는 것, 및 예측 모드 또는 예측 방향과 형상의 특정 조합에 대한 형상 적응형 변환 선택을 인에이블하는 것을 포함할 수 있다.
일 실시예에서, 블록의 형상은 특정 변환에 우선도(또는 관련 신택스 요소에 대해서는 짧은 이진화를 또는 정황 적응형 산술 코딩에 대해서는 다른 컨텍스트)를 제공하는 데 사용된다. 예를 들어 코덱이 수평 및 수직 방향 모두에 대해서 DCT-2, DST-7 및 DCT-8 변환 중에서 선택하도록 구성되는 경우에, 블록의 짧은 치수에 대해 짧은 이진 코드워드가 DST-7에 사용된다. 즉, 폭이 높이보다 큰 블록인 경우 수직 방향에 대해서는 DST-7을 선택하는 이진화된 코드워드는 0이 될 수 있는 반면, DCT-2 및 DCT-8에 대한 이진화된 코드워드는 각각 10 및 11(또는 11 및 10)일 수 있다. 동일한 블록에 대해, 수평 변환을 위한 이진화된 코드워드는 DCT-2의 경우 0이 될 수 있고, DST-7 및 DCT-8은 각각 이진화된 코드워드 즉 10 및 11을 가질 수 있다. 유사하게, 다른 변환 선택을 위한 코드워드의 이진화 대신에 또는 이에 더해서, 신택스 요소의 컨텍스트 적응형 산술 코딩을 위한 컨텍스트 및 초기 확률 선택은 특정한 변환의 적응화 또는 우선화를 제공하도록 구성될 수 있다.
변환의 선택과 관련된 시그널링이 있는 경우에(예를 들어, MTS_CU_flag가 있어서 명시적인 추가 시그널링에 의한 변환의 선택을 나타내는 경우), 이 시그널링은 선택된 스캔 순서에서 변환 블록의 마지막 0이 아닌 계수(non-zero coefficient)의 위치로 조정될 수 있다. 이에 더해서 혹은 이와 달리, 수평 변환 및 수직 변환의 명시적 시그널링은 인코더에서의 변환 계수 코딩 이전 및 디코더에서의 변환 계수 디코딩 이전에 수행될 수 있다. 변환의 명시적 시그널링이 변환 계수 코딩 및 디코딩 이후에 발생되고 변환 블록의 활성 계수의 수에 따라 조정되는 VTM-2에 대해 정의된 시그널링과 달리, 시그널링을 마지막 활성 변환 계수의 위치로 조정하는 제안된 방식에서는, 계수 코딩 및 디코딩 처리가 선택된 변환에 기초해서 조정되게 한다.
일 실시예에 따르면, 변환 계수 디코딩 이전에 수평 방향 및 수직 방향에 대한 변환 타입의 명시적 또는 암시적 시그널링이 수행된다.
일 실시예에 따르면, 변환 계수 디코딩 이전에 수평 방향 및 수직 방향에 대한 변환 타입의 명시적 또는 암시적 시그널링이 수행되고, 결정된 변환 타입에 기초해서 변환 계수 디코딩이 구성된다.
일 실시예에 따르면, 마지막 0이 아닌 변환 계수의 스캔 위치가 사전 정의된 임계값보다 크면, 수평 방향 및 수직 방향에 대한 변환 타입의 명시적 또는 암시적 시그널링이 수행된다.
일 실시예에 따르면, DCT-2, DCT-8 및 DST-7의 8-포인트 변환 행렬은 다음 계수를 사용해서 정의된다.
DCT-2:
Figure pct00002
DCT-8:
Figure pct00003
DST-7:
Figure pct00004
Figure pct00005
일 실시예에서, DCT-2, DCT-8 및 DST-7의 4-포인트 변환 행렬은 다음 계수를 사용해서 정의된다.
DCT-2:
Figure pct00006
DCT-8:
Figure pct00007
DST-7:
Figure pct00008
도 8은 일 실시예에 따른 방법을 나타내는 흐름도이다. 방법은 변환 블록의 코딩 모드를 결정하는 단계(810) - 변환 블록은 변환 계수의 세트를 포함함 - 와, 변환 블록의 형상을 결정하는 단계(820)와, 상기 코딩 모드 및 변환 블록의 상기 형상에 적어도 부분적으로 기초해서 블록에 대한 적어도 하나의 변환 모드를 결정하는 단계(830)와, 결정된 변환 모드를 변환 계수의 세트에 적용해서 샘플 값을 생성하는 단계(840)와, 상기 샘플 값을 예측된 샘플 값의 블록에 더하는 단계(850)를 포함한다.
일 실시예에 따른 장치는 수단을 포함한다. 수단은 적어도 하나의 처리, 및 컴퓨터 프로그램 코드를 포함하는 메모리를 포함하고, 프로세서는 프로세서 회로를 더 포함할 수 있다. 메모리 및 컴퓨터 프로그램 코드는 적어도 하나의 프로세서와 함께 장치로 하여금 다양한 실시예에 따른 도 8의 방법을 수행하게 하도록 구성된다.
장치에 대한 데이터 처리 시스템의 예가 도 9에 도시되어 있다. 단일의 물리적 장치로 여러 기능이 수행될 수 있으며, 예를 들어 필요한 경우에 모든 계산 절차는 단일 프로세서에서 수행될 수도 있다. 데이터 처리 시스템은 메인 처리 장치(100), 메모리(102), 저장 장치(104), 입력 장치(106), 출력 장치(108) 및 그래픽 서브시스템(110)을 포함하며, 이들은 모두 데이터 버스(112)를 통해 서로 접속되어 있다.
메인 처리 장치(100)는 데이터 처리 시스템 내에서 데이터를 처리하도록 구성된 종래의 처리 장치이다. 메인 처리 장치(100)는 하나 이상의 프로세서 또는 프로세서 회로를 포함할 수도 있고, 하나 이상의 프로세서 또는 프로세서 회로로서 구현될 수도 있다. 당업자라면 이해할 수 있는 바와 같이, 메모리(102), 저장 장치(104), 입력 장치(106) 및 출력 장치(108)는 종래의 구성 요소를 포함할 수 있다. 메모리(102) 및 저장 장치(104)는 데이터 처리 시스템(100)에 데이터를 저장한다.
예를 들어 도 8의 흐름도에 따른 방법을 구현하기 위해 컴퓨터 프로그램 코드가 메모리(102)에 상주한다. 입력 장치(106)는 시스템에 데이터를 입력하고, 출력 장치(108)는 데이터 처리 시스템으로부터 데이터를 수신하고 이 데이터를 예를 들어 디스플레이에 포워딩한다. 데이터 버스(112)는 종래의 데이터 버스이며, 하나의 선으로 도시되어 있지만, 프로세서 버스, PCI 버스, 그래픽 버스, ISA 버스의 임의의 조합일 수도 있다. 따라서, 당업자라면, 장치가 컴퓨터 장치, 개인용 컴퓨터, 서버 컴퓨터, 이동 전화, 스마트 폰 또는 인터넷 액세스 장치, 예를 들어 인터넷 태블릿 컴퓨터와 같은, 임의의 데이터 처리 장치일 수 있다는 것을 용이하게 이해할 수 있을 것이다.
발명의 다양한 실시예는, 메모리에 상주하고 관련 장치가 발명을 수행하게 하는 컴퓨터 프로그램 코드를 이용해서 구현될 수 있다. 예를 들어, 장치는 데이터를 처리, 수신 및 전송하기 위한 회로 및 전자 장치, 메모리의 컴퓨터 프로그램 코드, 및 컴퓨터 프로그램 코드를 실행할 때 장치로 하여금 실시예의 특징을 수행하게 하는 프로세서를 포함할 수 있다. 또한, 서버와 같은 네트워크 장치는 데이터를 처리, 수신 및 전송하기 위한 회로 및 전자 장치, 메모리의 컴퓨터 프로그램 코드, 및 컴퓨터 프로그램 코드를 실행할 때 네트워크 장치로 하여금 실시예의 특징을 수행하게 하는 프로세서를 포함할 수 있다. 컴퓨터 프로그램 코드는 하나 이상의 동작 특성을 포함한다. 동작 특성은 프로세서의 타입에 기초해서 컴퓨터에 의한 구성을 통해 정의되고, 시스템은 버스에 의해 프로세서에 접속될 수 있으며, 여기서 시스템의 프로그래밍 가능한 동작 특성은, 변환 블록의 코딩 모드를 결정하는 것 - 변환 블록은 변환 계수의 세트를 포함함 - 과, 변환 블록의 형상을 결정하는 것과, 코딩 모드 및 변환 블록의 형상에 적어도 부분적으로 기초해서 블록에 대한 적어도 하나의 변환 모드를 결정하는 것과, 결정된 변환 모드를 변환 계수의 세트에 적용해서 샘플 값을 생성하는 것과, 샘플 값을 예측된 샘플 값의 블록에 더하는 것을 포함한다.
컴퓨터 프로그램 코드는 비일시적 컴퓨터 판독 가능 매체에서 구현될 수 있는 컴퓨터 프로그램 제품의 일부일 수도 있다. 다른 방안으로 컴퓨터 프로그램 제품은 통신 네트워크를 통해 다운로드될 수도 있다.
필요하다면, 본 명세서에서 설명되는 여러 가지 기능은 다른 순서로 수행될 수도 있고 및/또는 서로가 동시에 수행될 수도 있다. 또한, 필요하다면, 하나 이상의 상술한 기능은 선택적인 것일 수도 있고, 서로 결합될 수 있다.
비록 본 발명의 다양한 측면이 독립항에 개시되어 있으나, 다른 측면은 단지 청구범위에 명백히 제시된 조합뿐만 아니라, 설명된 실시예 및/또는 독립항의 특징을 갖고 있는 종속항의 특징들의 임의의 조합을 포함한다.
이상 예시적인 실시예를 설명했지만, 이러한 설명은 한정으로 간주되어서는 안된다는 점에 주의한다. 오히려, 첨부된 청구범위에 정의된 바와 같이 본 개시의 범주로부터 벗어남없이 구현될 수 있는 몇몇의 변경 및 변형이 존재한다.

Claims (15)

  1. 방법으로서,
    변환 블록의 코딩 모드를 결정하는 단계 - 변환 블록은 변환 계수의 세트를 포함함 - 와,
    상기 변환 블록의 형상을 결정하는 단계와,
    상기 코딩 모드 및 상기 변환 블록의 상기 형상에 적어도 부분적으로 기초해서 블록에 대한 적어도 하나의 변환 모드를 결정하는 단계와,
    상기 결정된 변환 모드를 변환 계수의 세트에 적용해서 샘플 값을 생성하는 단계와,
    상기 샘플 값을 예측된 샘플 값의 블록에 더하는 단계
    를 포함하는 방법.
  2. 제 1 항에 있어서,
    상기 변환 블록의 상기 형상은 상기 변환 블록의 폭과 높이를 비교해서 결정되는
    방법.
  3. 제 1 항 또는 제 2 항에 있어서,
    상기 방향은 수평 또는 수직인
    방법.
  4. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
    상기 코딩 모드는, 코딩 유닛 또는 예측 유닛이 인터 예측되거나 인트라 예측되는 것; 상기 변환 블록이 인트라 슬라이스 또는 인터 슬라이스에 속하는 것; 상기 변환 모드; 상기 블록의 인트라 예측 모드 중 적어도 하나와 관련되는
    방법.
  5. 제 1 항 내지 제 4 항 중 어느 한 항에 있어서,
    상기 변환 블록의 상기 형상은, 상기 블록을 사전 결정된 카테고리 중 하나로 분류함으로써 결정되는
    방법.
  6. 장치로서,
    변환 블록의 코딩 모드를 결정하는 수단 - 변환 블록은 변환 계수의 세트를 포함함 - 과,
    상기 변환 블록의 형상을 결정하는 수단과,
    상기 코딩 모드 및 상기 변환 블록의 상기 형상에 적어도 부분적으로 기초해서 블록에 대한 적어도 하나의 변환 모드를 결정하는 수단과,
    상기 결정된 변환 모드를 변환 계수의 세트에 적용해서 샘플 값을 생성하는 수단과,
    상기 샘플 값을 예측된 샘플 값의 블록에 더하는 수단
    을 포함하는 장치.
  7. 제 6 항에 있어서,
    상기 변환 블록의 상기 형상은 상기 변환 블록의 폭과 높이를 비교해서 결정되는
    장치.
  8. 제 6 항 또는 제 7 항에 있어서,
    상기 방향은 수평 또는 수직인
    장치.
  9. 제 6 항 내지 제 8 항 중 어느 한 항에 있어서,
    상기 코딩 모드는, 코딩 유닛 또는 예측 유닛이 인터 예측되거나 인트라 예측되는 것; 상기 변환 블록이 인트라 슬라이스 또는 인터 슬라이스에 속하는 것; 상기 변환 모드; 상기 블록의 인트라 예측 모드 중 적어도 하나와 관련되는
    장치.
  10. 제 6 항 내지 제 9 항 중 어느 한 항에 있어서,
    상기 변환 블록의 상기 형상은, 상기 블록을 사전 결정된 카테고리 중 하나로 분류함으로써 결정되는
    장치.
  11. 제 6 항 내지 제 10 항 중 어느 한 항에 있어서,
    서로 다른 크기의 2개의 방향을 가진 블록에 대해서 2개의 변환 모드를 결정하는 수단을 더 포함하는
    장치.
  12. 제 6 항 내지 제 11 항 중 어느 한 항에 있어서,
    상기 변환 모드는 이산 코사인 변환(DCT) 또는 이산 사인 변환(DST)을 포함하는
    장치.
  13. 제 6 항 내지 제 12 항 중 어느 한 항에 있어서,
    상기 변환 모드를 결정하는 것은, 상기 블록의 큰 크기를 가진 방향에 대해서는 이산 코사인 변환(DCT)을 선택하고, 상기 블록의 작은 크기를 가진 방향에 대해서는 이산 사인 변환(DST)을 선택하는 것을 포함하는
    장치.
  14. 제 6 항 내지 제 13 항 중 어느 한 항에 있어서,
    상기 결정된 적어도 하나의 변환 모드를 나타내는 신호를 비트스트림이 포함하는
    장치.
  15. 제 6 항 내지 제 14 항 중 어느 한 항에 있어서,
    적어도 하나의 프로세서 및 컴퓨터 프로그램 코드를 포함하는 메모리
    를 더 포함하는 장치.
KR1020217011635A 2018-09-20 2019-09-13 디지털 이미지/비디오 자료를 인코딩 및 디코딩하는 방법 및 장치 KR102507024B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FI20185782 2018-09-20
FI20185782 2018-09-20
PCT/FI2019/050656 WO2020058568A1 (en) 2018-09-20 2019-09-13 A method and an apparatus for encoding and decoding of digital image/video material

Publications (2)

Publication Number Publication Date
KR20210059768A true KR20210059768A (ko) 2021-05-25
KR102507024B1 KR102507024B1 (ko) 2023-03-06

Family

ID=69888422

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217011635A KR102507024B1 (ko) 2018-09-20 2019-09-13 디지털 이미지/비디오 자료를 인코딩 및 디코딩하는 방법 및 장치

Country Status (9)

Country Link
US (1) US20220038702A1 (ko)
EP (1) EP3854081A4 (ko)
KR (1) KR102507024B1 (ko)
CN (1) CN112889280B (ko)
BR (1) BR112021005238A2 (ko)
MX (1) MX2021003205A (ko)
PH (1) PH12021550614A1 (ko)
WO (1) WO2020058568A1 (ko)
ZA (1) ZA202102521B (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2020233004B2 (en) * 2019-03-03 2023-11-30 Huawei Technologies Co., Ltd. An encoder, a decoder, and corresponding methods that are used for transform process
US11785254B2 (en) * 2020-05-29 2023-10-10 Tencent America LLC Implicit mode dependent primary transforms

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120099646A1 (en) * 2010-10-22 2012-04-26 Qualcomm Incorporated Adaptive scanning of transform coefficients for video coding
US20180020218A1 (en) * 2016-07-15 2018-01-18 Qualcomm Incorporated Look-up table for enhanced multiple transform

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8571104B2 (en) * 2007-06-15 2013-10-29 Qualcomm, Incorporated Adaptive coefficient scanning in video coding
US10390046B2 (en) * 2011-11-07 2019-08-20 Qualcomm Incorporated Coding significant coefficient information in transform skip mode
WO2013154366A1 (ko) * 2012-04-12 2013-10-17 주식회사 팬택 블록 정보에 따른 변환 방법 및 이러한 방법을 사용하는 장치
US10194158B2 (en) * 2012-09-04 2019-01-29 Qualcomm Incorporated Transform basis adjustment in scalable video coding
US9813737B2 (en) * 2013-09-19 2017-11-07 Blackberry Limited Transposing a block of transform coefficients, based upon an intra-prediction mode
EP3335422B1 (en) * 2015-12-23 2021-12-01 Huawei Technologies Co., Ltd. Method and apparatus for transform coding with block-level transform selection and implicit signaling within hierarchical partitioning
EP4106333A1 (en) * 2016-02-12 2022-12-21 Samsung Electronics Co., Ltd. Image encoding method and apparatus, and image decoding method and apparatus
US10904526B2 (en) * 2016-03-28 2021-01-26 Kt Corporation Method and apparatus for processing video signal
CN114422796A (zh) * 2016-06-24 2022-04-29 韩国电子通信研究院 用于基于变换的图像编码/解码的方法和设备
KR102424419B1 (ko) * 2016-08-31 2022-07-22 주식회사 케이티 비디오 신호 처리 방법 및 장치
US10440394B2 (en) * 2016-09-08 2019-10-08 Google Llc Context adaptive scan order for entropy coding
KR20240017992A (ko) 2018-09-02 2024-02-08 엘지전자 주식회사 다중 변환 선택에 기반한 영상 코딩 방법 및 그 장치

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120099646A1 (en) * 2010-10-22 2012-04-26 Qualcomm Incorporated Adaptive scanning of transform coefficients for video coding
US20180020218A1 (en) * 2016-07-15 2018-01-18 Qualcomm Incorporated Look-up table for enhanced multiple transform

Also Published As

Publication number Publication date
MX2021003205A (es) 2021-05-27
US20220038702A1 (en) 2022-02-03
EP3854081A1 (en) 2021-07-28
BR112021005238A2 (pt) 2021-06-15
CN112889280A (zh) 2021-06-01
EP3854081A4 (en) 2022-07-06
WO2020058568A1 (en) 2020-03-26
KR102507024B1 (ko) 2023-03-06
ZA202102521B (en) 2024-01-31
PH12021550614A1 (en) 2021-10-04
CN112889280B (zh) 2023-09-26

Similar Documents

Publication Publication Date Title
TWI705694B (zh) 片級內部區塊複製及其他視訊寫碼改善
CN107409215B (zh) 用于视频译码的调色板模式译码
RU2668723C2 (ru) Способ и оборудование для кодирования и декодирования видеосигналов
CN107079150B (zh) 用于视频译码中自适应颜色变换的量化参数推导及偏移
US10313668B2 (en) Method and device for encoding or decoding an image comprising encoding of decoding information representing prediction modes
CN108632628B (zh) 推导参考预测模式值的方法
US20150189302A1 (en) Color index coding for palette-based video coding
US20140198846A1 (en) Device and method for scalable coding of video information
US11368716B2 (en) Image encoding device, image decoding device and program
WO2015009732A1 (en) Inter-color component residual prediction
JP2017511620A (ja) オーバーラップエリア内の再構成されたサンプル値のブロックベクトル予測及び推定におけるイノベーション
US11432013B2 (en) Video signal processing method and apparatus using multiple transform kernel
US20150078441A1 (en) Image encoding and decoding apparatus, and image encoding and decoding method
JP2018530968A (ja) 空間イントラ予測のためのヘルパーデータを用いたビデオ符号化
KR20170002611A (ko) 팔레트 코딩을 사용하는 비디오 인코딩 및 디코딩을 위한 방법 및 기술 장비
JP2016511619A (ja) ビデオ情報のスケーラブルコード化のための装置及び方法
US20150312568A1 (en) Method and technical equipment for video encoding and decoding
US20180288417A1 (en) Method and apparatus for image encoding and decoding
US20240089438A1 (en) Image encoding and decoding apparatus, and image encoding and decoding method
KR102507024B1 (ko) 디지털 이미지/비디오 자료를 인코딩 및 디코딩하는 방법 및 장치
JP2017073598A (ja) 動画像符号化装置、動画像符号化方法及び動画像符号化用コンピュータプログラム
CN116614625B (zh) 一种视频编码的方法、装置和介质
WO2023242466A1 (en) A method, an apparatus and a computer program product for video coding
WO2020002762A1 (en) Method and apparatus for motion compensation with non-square sub-blocks in video coding
CN116962684A (zh) 视频编解码方法与系统、及视频编码器与视频解码器

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant