KR102419112B1 - 변환 도메인에서 잔차 부호 예측 방법 및 장치 - Google Patents

변환 도메인에서 잔차 부호 예측 방법 및 장치 Download PDF

Info

Publication number
KR102419112B1
KR102419112B1 KR1020207024975A KR20207024975A KR102419112B1 KR 102419112 B1 KR102419112 B1 KR 102419112B1 KR 1020207024975 A KR1020207024975 A KR 1020207024975A KR 20207024975 A KR20207024975 A KR 20207024975A KR 102419112 B1 KR102419112 B1 KR 102419112B1
Authority
KR
South Korea
Prior art keywords
image block
prediction
transformed
signs
block
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
KR1020207024975A
Other languages
English (en)
Other versions
KR20200112964A (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 KR20200112964A publication Critical patent/KR20200112964A/ko
Application granted granted Critical
Publication of KR102419112B1 publication Critical patent/KR102419112B1/ko
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/48Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using compressed domain processing techniques other than decoding, e.g. modification of transform coefficients, variable length coding [VLC] data or run-length data
    • 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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • 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
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods 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 slice, e.g. a line of blocks or a group of 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/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
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • 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
    • 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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • H04N19/64Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by ordering of coefficients or of bits for transmission
    • H04N19/645Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by ordering of coefficients or of bits for transmission by grouping of coefficients into blocks after the transform

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

본 개시는 예를 들어, 이미지 및/또는 비디오 코딩 및 디코딩에서 적용 가능한 변환 계수의 부호를 코딩 및 디코딩하기 위한 실시예를 제공한다. 특히, 복수의 부호가 예측되고 예측 오류 신호만이 비트 스트림에 삽입된다. 예측 오류 신호는 CABAC 또는 다른 가변 길이(엔트로피) 코딩으로 효율적으로 코딩될 수 있는 분포를 가질 수 있다. 부호 예측을 효율적으로 수행하기 위해, 변환된 이미지 블록에 인접한 인접 픽셀과 이미지 블록의 예측 신호에 기초하여 계산된 인접 픽셀의 예측 사이의 변환된 차이를 포함하는 비용 함수에 기초하여 상기 변환된 이미지 블록의 복수의 계수의 부호를 예측한다.

Description

변환 도메인에서 잔차 부호 예측 방법 및 장치
본 발명의 실시예는 정지 화상 및/또는 비디오 화상 인코딩 및 디코딩과 같은 화상 처리 분야에 관한 것이다.
비디오 코딩(비디오 인코딩 및 디코딩)은 브로드캐스트 디지털 TV, 인터넷 및 모바일 네트워크를 통한 비디오 전송, 화상 채팅, 화상 회의, DVD 및 Blu-ray 디스크, 비디오 콘텐츠 수집 및 편집 시스템, 보안 애플리케이션의 캠코더와 같은 실시간 대화 응용 프로그램과 같은 광범위한 디지털 비디오 응용 프로그램에서 사용된다.
1990년 H.261 표준에서 블록 기반 하이브리드 비디오 코딩 방식이 개발된 이래 새로운 비디오 코딩 기술과 도구가 개발되어 새로운 비디오 코딩 표준의 기반이 되었다. 대부분의 비디오 코딩 표준의 목표 중 하나는 화질 저하 없이 이전 것에 비해 비트레이트 줄이는 것이었다. 추가 비디오 코딩 표준에는 MPEG-1 비디오, MPEG-2 비디오, ITU-T H.262/MPEG-2, ITU-T H.263, ITU-T H.264/MPEG-4, Part 10, 고급 비디오 코딩(Advanced Video Coding, AVC), ITU-T H.265, 고효율 비디오 코딩(High Efficiency Video Coding, HEVC) 및 확장, 예를 들어, 이러한 표준의 확장성 및/또는 3차원(3D) 확장이 포함된다.
본 발명의 실시예는 독립 청구항의 특징에 의해 정의되고, 종속 청구항의 특징에 의해 실시예의 추가적인 유리한 구현이 정의된다.
실시예에 따라, 프로세싱 회로를 포함하는 이미지 블록을 디코딩하는 장치가 제공되며, 상기 프로세싱 회로는: 변환된 이미지 블록에 인접한 인접 픽셀과 이미지 블록의 예측 신호에 기초하여 계산된 인접 픽셀의 예측 사이의 변환된 차이를 포함하는 비용 함수에 기초하여 상기 변환된 이미지 블록의 복수의 계수의 부호를 예측하고; 그리고 상기 예측된 부호에 따라 상기 복수의 계수의 부호를 재구성하도록 구성되어 있다.
예시적 구현에서, 상기 프로세싱 회로는: 코딩된 스트림 부호 예측 오류로부터 파싱하고; 상기 파싱된 부호 예측 오류를 상기 예측된 부호에 추가하는 것을 포함하여 부호를 재구성하도록 추가로 구성되어 있다.
예를 들어, 비용 함수는 상기 변환된 이미지 블록에 인접한 인접 픽셀과 상기 이미지 블록의 예측 신호에 기초하여 계산된 인접 픽셀의 예측 사이의 제곱 변환된 차이의 합(sum of squared transformed differences)을 포함한다.
또한, 하나의 구현에서, 상기 프로세싱 회로가 변환된 이미지 블록의 복수의 계수의 부호를 예측하도록 구성되는 것은: 상기 변환된 이미지 블록에 인접한 인접 픽셀과 상기 이미지 블록의 예측 신호에 기초하여 계산된 인접 픽셀의 예측 사이의 상기 변환된 차이를 계산하는 단계; 일련의 가설에서 상기 부호의 각각의 가설에 따라 재구성된 변환된 이미지 블록과 상기 변환된 차이 사이의 제곱 변환된 차이의 합을 포함하는 비용 함수를 계산하는 단계; 및 상기 비용 함수에 의해 제공되는 비용을 최소화하는 부호의 가설을 상기 예측 부호로 선택하는 단계를 더 포함한다.
예를 들어, 상기 변환된 이미지 블록은 상기 부호의 가설을 코딩된 스트림으로부터 파싱된 계수에 추가하여 재구성된다.
특히, 상기 비용 함수 F는 다음과 같이 주어지고:
Figure 112020091025418-pct00001
, 여기서
Figure 112020091025418-pct00002
,
Figure 112020091025418-pct00003
,
Figure 112020091025418-pct00004
, 및
Figure 112020091025418-pct00005
이고, 여기서
Figure 112020091025418-pct00006
는 1차원 직교 변환이고
Figure 112020091025418-pct00007
,
Figure 112020091025418-pct00008
,
Figure 112020091025418-pct00009
Figure 112020091025418-pct00010
이며, 여기서 P는 예측 신호이고, X 및 Y는 인접 픽셀이고, N 및 M은 각각 부호가 예측되는 블록의 높이와 넓이이다.
예시적 구현에서, 상기 인접 픽셀은 상기 이미지 블록의 수평 및 수직 경계에 위치한다.
일부 구현에서, 상기 프로세싱 회로는 콘텍스트 적응 이진 산술 코딩(Context-Adaptive Binary Arithmetic Coding, CABAC)을 사용하여 상기 부호 예측 오류를 디코딩하도록(1004) 추가로 구성되어 있다.
실시예에 따라, 프로세싱 회로를 포함하는 이미지 블록을 인코딩하는 장치가 제공되며, 상기 프로세싱 회로는: 변환된 이미지 블록에 인접한 인접 픽셀과 이미지 블록의 예측 신호에 기초하여 계산된 인접 픽셀의 예측 사이의 변환된 차이를 포함하는 비용 함수에 기초하여 상기 변환된 이미지 블록의 복수의 계수의 부호를 예측하고; 그리고 상기 예측된 부호에 따라 상기 복수의 계수의 부호를 인코딩하도록 구성되어 있다.
실시예에 따라, 제9항에 따라 이미지 블록을 인코딩하는 장치에서, 상기 프로세싱 회로가 복수의 계수의 부호를 인코딩하도록 구성되는 것은: 상기 복수의 계수의 부호와 상기 복수의 계수의 예측된 부호 사이의 차이로서 부호 예측 오류를 결정하는 단계; 상기 결정된 부호 예측 오류를 상기 코딩된 이미지 블록을 포함하는 코딩된 스트림에 삽입하는 단계를 더 포함한다.
예를 들어, 비용 함수는 상기 변환된 이미지 블록에 인접한 인접 픽셀과 상기 이미지 블록의 예측 신호에 기초하여 계산된 인접 픽셀의 예측 사이의 제곱 변환된 차이의 합(sum of squared transformed differences)을 포함한다.
하나의 예시적 구현에서, 제9항 내지 제11항 중 어느 한 항에 따른 이미지 블록을 인코딩하는 장치에서, 상기 프로세싱 회로가 변환된 이미지 블록의 복수의 계수의 부호를 예측하도록 구성되는 것은: 상기 변환된 이미지 블록에 인접한 인접 픽셀과 상기 이미지 블록의 예측 신호에 기초하여 계산된 인접 픽셀의 예측 사이의 상기 변환된 차이를 계산하는 단계; 일련의 가설에서 상기 부호의 각각의 가설에 따라 재구성된 변환된 이미지 블록과 상기 변환된 차이 사이의 제곱 변환된 차이의 합을 포함하는 비용 함수를 계산하는 단계; 및 상기 비용 함수에 의해 제공되는 비용을 최소화하는 부호의 가설을 상기 예측 부호로 선택하는 단계를 더 포함한다.
비용 함수는 다음과 같이 주어지고:
Figure 112020091025418-pct00011
여기서
Figure 112020091025418-pct00012
,
Figure 112020091025418-pct00013
,
Figure 112020091025418-pct00014
, 및
Figure 112020091025418-pct00015
이고, 여기서
Figure 112020091025418-pct00016
는 1차원 직교 변환이고
Figure 112020091025418-pct00017
,
Figure 112020091025418-pct00018
,
Figure 112020091025418-pct00019
Figure 112020091025418-pct00020
이며, 여기서 P는 예측 신호이고, X 및 Y는 인접 픽셀이고, N 및 M은 각각 부호가 예측되는 블록의 높이와 넓이이다.
또한, 상기 인접 픽셀은 상기 이미지 블록의 수평 및 수직 경계에 위치할 수 있다.
상기 프로세싱 회로는: 콘텍스트 적응 이진 산술 코딩(Context-Adaptive Binary Arithmetic Coding, CABAC)을 사용하여 상기 부호 예측 오류를 인코딩하도록 추가로 구성되어 있다.
실시예에 따라, 이미지 블록을 디코딩하는 방법이 제공되며, 상기 방법은: 변환된 이미지 블록에 인접한 인접 픽셀과 이미지 블록의 예측 신호에 기초하여 계산된 인접 픽셀의 예측 사이의 변환된 차이를 포함하는 비용 함수에 기초하여 상기 변환된 이미지 블록의 복수의 계수의 부호를 예측하는 단계; 및 상기 예측된 부호에 따라 상기 복수의 계수의 부호를 재구성하는 단계를 포함한다.
실시예에 따라, 이미지 블록을 인코딩하는 방법이 제공되며, 상기 방법은: 변환된 이미지 블록에 인접한 인접 픽셀과 이미지 블록의 예측 신호에 기초하여 계산된 인접 픽셀의 예측 사이의 변환된 차이를 포함하는 비용 함수에 기초하여 상기 변환된 이미지 블록의 복수의 계수의 부호를 예측하는 단계; 및 상기 예측된 부호에 따라 상기 복수의 계수의 부호를 재구성하는 단계를 포함한다.
인코딩 또는 디코딩 장치에서 처리 회로를 참조하여 설명된 상기 실시예, 구현 및 예는 또한 각각의 처리 회로에 의해 수행되는 단계에 대응할 수 있는 상기 언급된 인코딩 및 디코딩 방법에 적용될 수 있음에 유의한다.
일 실시예에 따르면, 프로세서상에서 실행될 때 위에서 언급된 방법의 모든 단계를 수행하는 명령을 포함하는 프로그램을 저장하는 컴퓨터 판독 가능 매체가 제공된다.
하나 이상의 실시 예의 세부 사항은 첨부된 도면 및 아래의 설명에서 설명된다. 다른 특징, 목적 및 이점은 설명, 도면 및 청구 범위로부터 명백해질 것이다.
다음의 실시예에서 본 발명의 실시예는 첨부된 도면 및 도면을 참조하여 더욱 상세하게 설명된다.
도 1은 본 발명의 실시예를 구현하도록 구성된 비디오 인코더의 예를 보여주는 블록도이다.
도 2는 본 발명의 실시예를 구현하도록 구성된 비디오 디코더의 예시적인 구조를 도시하는 블록도이다.
도 3은 본 발명의 실시예들을 구현하도록 구성된 비디오 코딩 시스템의 예를 보여주는 블록도이다.
도 4는 부호 예측의 개략도이다.
도 5는 H.264/AVC의 부호 코딩과 부호 예측을 비교하는 개략도이다.
도 6은 현재 블록 및 주변 인접 픽셀을 나타내는 개략도이다.
도 7은 픽셀 도메인에서 비용 함수 계산을 사용한 알려진 부호 예측과 변환 도메인에서 비용 함수 계산을 사용한 실시예를 비교하는 개략도이다.
도 8은 부호 예측 및 인코딩과 관련된 변환 계수의 처리를 나타내는 흐름도이다.
도 9는 변환 도메인에 부호 예측을 포함하도록 도 1에 따른 인코더의 예시적인 수정을 예시하는 블록도이다.
도 10은 변환 도메인에 부호 예측을 포함하도록 도 2에 따른 디코더의 예시적인 수정을 예시하는 블록도이다.
다음의 설명에서, 본 개시의 일부를 형성하고, 예시로서 본 발명의 실시예의 특정 측면 또는 본 발명의 실시예가 사용될 수 있는 특정 측면을 나타내는 첨부된 도면을 참조한다. 본 발명의 실시예는 다른 관점에서 사용될 수 있고 도면에 도시되지 않은 구조적 또는 논리적 변화를 포함할 수 있음이 이해된다. 따라서, 다음의 상세한 설명은 제한적인 의미로 받아들여서는 안 되며, 본 발명의 범위는 첨부된 청구 범위에 의해 정의된다.
예를 들어, 설명된 방법과 관련된 개시는 또한 방법을 수행하도록 구성된 대응하는 장치 또는 시스템에 대해 참(true)을 유지할 수 있고 그 반대의 경우도 마찬가지인 것으로 이해된다. 예를 들어, 하나 또는 복수의 특정 방법 단계가 설명된 경우, 해당 장치는 하나 또는 복수의 유닛 예를 들어 기능 유닛을 포함하여, 하나 이상의 유닛이 도면에 명시적으로 설명하거나 예시하지 않더라도, 그러한 설명된 하나 또는 복수의 방법 단계를 수행할 수 있다(예를 들어, 하나의 유닛은 하나 또는 복수의 단계를 수행하거나, 또는 복수의 유닛은 복수의 단계 중 하나 이상을 각각 수행한다). 반면에, 예를 들어, 특정 장치가 하나 또는 복수의 유닛, 예를 들어, 기능 유닛에 기초하여 기술되는 경우, 하나 또는 복수의 단계가 도면에 명시적으로 설명되거나 도시되지 않더라도, 대응하는 방법은 그러한 하나 또는 복수의 유닛의 기능을 수행하는 하나의 단계를 포함할 수 있다(예를 들어, 하나의 단계는 하나 또는 복수의 유닛의 기능을 수행하거나, 또는 복수의 단계는 각각 하나 이상의 기능을 수행한다). 또한, 본 명세서에 설명된 다양한 예시적인 실시예 및/또는 관점의 특징은 특별히 달리 언급되지 않는 한 서로 결합될 수 있음이 이해된다.
비디오 코딩은 일반적으로 비디오 또는 비디오 시퀀스를 형성하는 일련의 화상을 처리하는 것을 말한다. 용어 화상 대신에 용어 프레임 또는 이미지가 비디오 코딩 분야에서 동의어로 사용될 수 있다. 비디오 코딩은 비디오 인코딩과 비디오 디코딩의 두 부분으로 구성된다. 비디오 인코딩은(더 효율적인 저장 및/또는 전송을 위해) 비디오 화상을 표현하는 데 필요한 데이터의 양을 감소시키기 위해(예를 들어, 압축에 의해) 원본 비디오 화상을 처리하는 것을 전형적으로 포함하는 소스 측에서 수행된다. 비디오 디코딩은 목적지 측에서 수행되며 일반적으로 비디오 화상을 재구성하기 위해 인코더에 비해 역 처리를 포함한다. 비디오 화상(또는 후술하는 바와 같이 일반적으로 화상)의 "코딩"을 참조하는 실시예는 비디오 화상의 "인코딩" 및 "디코딩" 모두에 관련되는 것으로 이해되어야 한다. 인코딩 부분과 디코딩 부분의 조합을 CODEC(COding and DECoding)이라고도 한다.
무손실 비디오 코딩의 경우, 원본 비디오 화상을 재구성할 수 있으며, 즉, 재구성된 비디오 화상은 원본 비디오 화상과 동일한 품질을 가진다(저장 또는 전송 중에 전송 손실이나 기타 데이터 손실이 없다고 가정한다). 손실 비디오 코딩의 경우, 예를 들어, 디코더에서 완전히 재구성할 수 없는 비디오 화상을 표현하는 데이터의 양을 줄이기 위해 양자화에 의해 추가 압축이 수행되는데, 즉, 재구성된 비디오 화상의 품질이 원본 비디오 화상의 품질에 비해 낮거나 나쁘다.
H.261 이후의 여러 비디오 코딩 표준은 "손실 하이브리드 비디오 코덱(lossy hybrid video codecs)" 그룹에 속한다(즉, 샘플 도메인의 공간 및 시간 예측과 변환 도메인에서 양자화를 적용하기 위한 2D 변환 코딩을 결합한다). 비디오 시퀀스의 각각의 화상은 일반적으로 겹치지 않는 블록의 세트로 분할되고 코딩은 일반적으로 블록 레벨에서 수행된다. 다시 말해, 인코더에서는 비디오가 일반적으로 블록(비디오 블록) 레벨에서, 예를 들어, 공간(인트라 화상) 예측 및 시간(인터 화상) 예측을 사용하여 예측 블록을 생성하고, 현재 블록(현재 처리된/처리할 블록)에서 예측 블록을 공제해서 잔차 블록을 획득하고, 잔차 블록을 변환하고 변환 도메인의 잔차 블록을 양자화하여 전송될 데이터의 양을 줄임으로써(압축), 처리되며, 즉 인코딩되는 반면, 디코더에서는 인코더와 비교되는 역 처리가 표현을 위해 현재 블록을 재구성하도록 인코딩되거나 압축된 블록에 적용된다. 더욱이, 인코더는 디코더 프로세싱 루프를 복제하여 둘 다 동일한 예측(예를 들어, 인트라 및 인터 예측) 및/또는 후속 블록을 처리하기 위한 재구성, 즉 코딩을 생성할 것이다.
비디오 화상 처리(동화상 처리라고도 함) 및 정지 화상 처리(코딩을 포함하는 처리 용어)는 많은 개념과 기술 또는 도구를 공유하며, 이하에서 "화상"이라는 용어는 필요하지 않은 경우 비디오 화상과 정지 화상 간의 불필요한 반복 및 구별을 방지하기 위해(위에 설명된 바와 같은) 비디오 시퀀스의 비디오 화상(이미지) 및/또는 정지 화상을 언급하기 위해 사용된다. 설명이 정지 화상(또는 정지 이미지)만을 언급하는 경우 "정지 화상"이라는 용어를 사용한다.
이하의 인코더(100)에 대한 실시예에서, 도 4 내지 도 9에 기초하여 본 발명의 실시예를 더 상세히 설명하기 전에 디코더(200) 및 코딩 시스템(300)은 도 1 내지 도 3에 기초하여 설명된다.
도 3은 예를 들어 코딩 시스템(300), 예를 들어 화상 코딩 시스템(300)의 실시예를 예시하는 개념적 또는 개략적인 블록도이며, 여기서 코딩 시스템(300)은 예를 들어 인코딩된 데이터(330)를 디코딩하기 위해 인코딩된 데이터(330)를 목적지 장치(320)에 제공하도록 구성된 소스 장치(310)를 포함한다.
소스 장치(310)는 인코더(100) 또는 인코딩 유닛(100)을 포함하고, 추가적으로, 즉 선택적으로, 예를 들어, 화상 소스(312), 전처리 유닛(314), 예를 들어, 화상 전처리 유닛(314) 및 통신 인터페이스 또는 통신 유닛(318)을 포함할 수 있다.
화상 소스(312)는 예를 들어 현실 세계 화상을 캡처하기 위한 임의의 종류의 화상 캡처 장치 및/또는 임의의 종류의 화상 생성 장치, 예를 들어 컴퓨터 애니메이션 화상을 생성하기 위한 컴퓨터 그래픽 프로세서를 포함하거나 또는 실제 화상, 컴퓨터 애니메이션 화상(예를 들어, 화면 콘텐츠, 가상 현실(virtual reality, VR) 화상) 및/또는 이들의 조합(예를 들어, 증강 현실(augmented reality, AR) 화상)을 획득 및/또는 제공하기 위한 모든 종류의 장치를 포함할 수 있다. 이하에서, 이러한 모든 종류의 화상 및 다른 종류의 화상은 특별히 달리 설명되지 않는 한 "화상" 또는 "이미지"로 지칭되며, "화상"이라는 용어에 대한 이전 설명은 "비디오 화상"을 포함하고, "정지 화상"은 명시적으로 다르게 지정되지 않는 한 여전히 참이다.
(디지털) 화상은 강도 값이 있는 2차원 배열 또는 샘플 행렬로 간주되거나 간주될 수 있다. 어레이의 샘플은 픽셀(화상 요소의 약칭) 또는 픽셀이라고도 한다. 어레이 또는 화상의 수평 및 수직 방향(또는 축)의 샘플 수는 화상의 크기 및/또는 해상도를 정의한다. 색상 표현을 위해 일반적으로 세 가지 색상 구성 요소가 사용되며, 즉, 화상이 표현되거나 세 개의 샘플 어레이를 포함할 수 있다. RBG 형식 또는 색 공간에서 화상은 해당하는 빨강, 녹색 및 파랑 샘플 배열로 구성된다. 그러나 비디오 코딩에서 각 픽셀은 일반적으로 휘도/색차 형식 또는 색 공간으로 표현되며, Y로 표시된 휘도 성분(때로는 대신 L이 사용됨)과 Cb 및 Cr로 표시된 두 개의 색차 성분을 포함하는 YCbCr로 표현된다. 휘도(또는 루마로 약칭) 성분 Y는 밝기 또는 그레이 레벨 강도(예를 들어, 그레이 스케일 화상에서와 같이)를 나타내는 반면, 두 가지 색차(또는 채도로 약칭) 성분 Cb 및 Cr은 색도 또는 색상 정보 성분을 나타낸다. 따라서, YCbCr 형식의 화상은 휘도 샘플 값(Y)의 휘도 샘플 어레이와 색차 값(Cb 및 Cr)의 두 색차 샘플 어레이로 구성된다. RGB 형식의 화상은 YCbCr 형식으로 변환 또는 변환될 수 있으며 그 반대의 경우도 마찬가지이다. 이 프로세스는 색상 변환 또는 변환이라고도 한다. 화상이 단색이면 화상은 휘도 샘플 어레이만 포함할 수 있다.
화상 소스(312)는 예를 들어 화상을 캡처하기 위한 카메라, 메모리, 예를 들어 이전에 캡처되거나 생성된 화상, 및/또는 화상을 획득하거나 수신하기 위한 임의의 종류의 인터페이스(내부 또는 외부)를 포함하거나 저장하는 화상 메모리일 수 있다. 카메라는 예를 들어 소스 장치에 통합된 로컬 또는 통합 카메라일 수 있으며, 메모리는 예를 들어 로컬 또는 통합 메모리일 수 있으며, 예를 들어 소스 장치에 통합될 수 있다. 인터페이스는 예를 들어 외부 비디오 소스로부터 화상을 수신하기 위한 외부 인터페이스일 수 있으며, 예를 들어 카메라와 같은 외부 화상 캡처 장치, 외부 메모리 또는 외부 화상 생성 장치, 예를 들어, 외부 컴퓨터 그래픽 프로세서, 컴퓨터 또는 서버로부터 화상을 수신하기 위한 외부 인터페이스일 수 있다. 인터페이스는 모든 종류의 인터페이스가 될 수 있으며, 예를 들어, 독점적이거나 표준화된 인터페이스 프로토콜에 따른 유선 또는 무선 인터페이스, 광학 인터페이스가 될 수 있다. 화상 데이터(312)를 획득하기 위한 인터페이스는 통신 인터페이스(318)와 동일한 인터페이스이거나 그 일부일 수 있다. 통신 인터페이스는 이더넷, WLAN, 블루투스, LTE와 같은 임의의 인터페이스일 수 있거나 또는 위성 또는 광학 인터페이스와 같은 임의의 유선 또는 무선 인터페이스일 수 있다. 전송은 피어 투 피어 또는 브로드캐스트 또는 멀티캐스트 일 수 있다.
전처리 유닛(314) 및 전처리 유닛(314)에 의해 수행되는 처리와 구별하여, 화상 또는 화상 데이터(313)는 또한 소스 화상 또는 소스 화상 데이터(313)로 지칭될 수 있다.
전처리 유닛(314)은(미가공) 화상 데이터(313)를 수신하고 그 화상 데이터(313)에 대해 전처리를 수행하여 전처리된 화상(315) 또는 전처리된 화상 데이터(315)를 획득하도록 구성된다. 전처리 유닛(314)에 의해 수행되는 전처리는 예를 들어 트리밍(trimming), 컬러 포맷 변환(예를 들어 RGB에서 YCbCr로), 컬러 보정 또는 노이즈 제거를 포함할 수 있다.
인코더(100)는 전처리된 화상 데이터(315)를 수신하고 인코딩된 화상 데이터(171)를 제공하도록 구성된다(더 자세한 사항은 예를 들어, 도 1에 기초하여 설명될 것이다).
소스 장치(310)의 통신 인터페이스(318)는 인코딩된 화상 데이터(171)를 수신하고 이를 다른 장치, 예를 들어, 저장 또는 직접 재구성을 위해 목적지 장치(320) 또는 임의의 다른 장치에 직접 전송하도록 구성될 수 있거나, 또는 인코딩된 데이터(330)를 저장하기 전에 및/또는 인코딩된 데이터(330)를 다른 장치, 예를 들어, 목적지 장치(320) 또는 디코딩 또는 저장을 위한 임의의 다른 장치에 전송하기 전에 인코딩된 화상 데이터(171)를 각각 처리하도록 구성될 수 있다.
목적지 장치(320)는 디코더(200) 또는 디코딩 유닛(200)을 포함하고, 추가적으로, 즉 선택적으로, 통신 인터페이스 또는 통신 유닛(322), 후 처리 유닛(326) 및 디스플레이 장치(328)를 포함할 수 있다.
목적지 장치(320)의 통신 인터페이스(322)는 예를 들어 인코딩된 화상 데이터(171) 또는 인코딩된 데이터(330)를 소스 장치(310)로부터 직접 또는 임의의 다른 소스, 예를 들어 메모리, 예를 들어, 인코딩된 화상 데이터 메모리로부터 수신하도록 구성된다.
통신 인터페이스(318) 및 통신 인터페이스(322)는 예를 들어 소스 장치(310)와 목적지 장치(320) 사이의 직접 통신 링크 예를 들어 직접 유선 또는 무선 연결를 통해, 또는 모든 종류의 네트워크, 예를 들어, 유선(예를 들어, 광, 전력선, 구리, 동축 또는 기타 미디어 기반) 또는 무선 네트워크 또는 이들의 조합, 또는 모든 종류의 개인 및 공용 네트워크 또는 이들의 모든 종류의 조합을 통해, 인코딩된 화상 데이터(171) 또는 인코딩된 데이터(330)를 각각 송수신하도록 구성될 수 있다.
통신 인터페이스(318)는, 예를 들어, 인코딩된 화상 데이터(171)를 적절한 포맷, 예를 들어. 패킷은 통신 링크 또는 통신 네트워크를 통한 전송을 위한 것으로 데이터 손실 보호 및 데이터 손실 복구를 더 포함할 수 있다.
통신 인터페이스(318)의 대응을 형성하는 통신 인터페이스(322)는, 예를 들어, 인코딩된 화상 데이터(171)를 획득하기 위해 인코딩된 데이터(330)를 디 패키징하도록 구성될 수 있고, 예를 들어, 오류 은닉을 포함하는 데이터 손실 보호 및 데이터 손실 복구를 수행하도록 더 구성될 수 있다.
통신 인터페이스(318) 및 통신 인터페이스(322) 모두는 도 3에서 인코딩된 화상 데이터(330)에 대해 소스 장치(310)로부터 목적지 장치(320)로 가리키는 화살표로 표시된 바와 같이 단방향 통신 인터페이스 또는 양방향 통신 인터페이스로서 구성될 수 있거나, 메시지를 송수신하고, 예를 연결을 구축하고, 화상 데이터를 포함한 손실되거나 지연된 데이터를 확인 및/또는 다시 전송하고, 통신 링크 및/또는 데이터 전송, 예를 들어 인코딩된 화상 데이터 전송과 관련된 기타 정보를 교환하도록 구성될 수 있다.
디코더(200)는 인코딩된 화상 데이터(171)를 수신하고 디코딩된 화상 데이터(231) 또는 디코딩된 화상(231)을 제공하도록 구성된다(더 자세한 사항은 예를 들어, 도 2에 기초하여 설명될 것이다).
목적지 장치(320)의 포스트-프로세서(326)는 예를 들어 디코딩된 화상 데이터(231), 예를 들어 디코딩된 화상(231)을 후 처리하여, 예를 들어 후 처리된 화상 데이터(327), 예를 들어 후 처리된 화상(327)을 획득하도록 구성된다. 후 처리 유닛(326)에 의해 수행되는 후 처리는, 예를 들어, 예를 들어, 디스플레이 장치(328)에 의해 디스플레이를 위해 디코딩된 화상 데이터(231)를 준비하기 위해, 예를 들어, 색상 형식 변환(예를 들어, YCbCr에서 RGB로), 색상 보정, 트리밍 또는 리-샘플링 또는 기타 처리를 포함할 수 있다.
목적지 장치(320)의 디스플레이 장치(328)는 예를 들어, 사용자 또는 뷰어에게 화상을 디스플레이하기 위해 후 처리된 화상 데이터(327)를 수신하도록 구성된다. 디스플레이 장치(328)는 예를 들어, 재구성된 화상을 표현하기 위한 임의의 종류의 디스플레이, 예를 들어 통합 또는 외부 디스플레이 또는 모니터를 포함할 수 있다. 디스플레이는 예를 들어 음극선관(CRT), 액정 디스플레이(LCD), 플라즈마 디스플레이, 유기 발광 다이오드(OLED) 디스플레이 또는 비머(beamer), 홀로그램 또는 3D/VR 안경을 포함한 기타 모든 종류의 디스플레이로 구성된다.
도 3은 소스 장치(310) 및 목적지 장치(320)를 별개의 장치로서 도시하고 있으나, 이 장치의 실시예는 또한 둘 또는 둘 모두의 기능, 소스 장치(310) 또는 대응하는 기능 및 목적지 장치(320) 또는 대응하는 기능을 포함할 수 있다. 그러한 실시예에서, 소스 장치(310) 또는 대응하는 기능 및 목적지 장치(320) 또는 대응하는 기능은 동일한 하드웨어 및/또는 소프트웨어를 사용하거나 별개의 하드웨어 및/또는 소프트웨어 또는 이들의 임의의 조합에 의해 구현될 수 있다.
설명에 기초하여 당업자에게 명백한 바와 같이, 서로 다른 유닛의 기능 또는 도 3에 도시된 바와 같이 소스 장치(310) 및/또는 목적지 장치(320) 내의 기능의 존재 및(정확한) 분할은 실제 장치 및 응용 프로그램에 따라 다를 수 있다.
따라서, 도 3에 도시된 바와 같은 소스 장치(310) 및 목적지 장치(320)는 단지 본 발명의 예시적인 실시예이고, 본 발명의 실시예는 도 3에 도시된 것에 제한되지 않는다.
소스 장치(310) 및 대상 장치(320)는 임의의 종류의 핸드헬드 또는 고정 장치, 예를 들어, 노트북 또는 랩톱 컴퓨터, 이동 전화, 스마트 폰, 태블릿 또는 태블릿 컴퓨터, 카메라, 데스크톱 컴퓨터, 셋톱 박스, 텔레비전, 디스플레이 장치, 디지털 미디어 플레이어, 비디오 게임 콘솔, 비디오 스트리밍 장치, 방송 수신기 장치 등을 포함하는 어떠한 광범위한 장치도 포함할 수 있으며, 그리고 어떤 종류의 운영 체제도 사용할 수 있다.
인코더 및 인코딩 방법
도 1은 예를 들어 인코더(100), 예를 들어 화상 인코더(100)의 실시예의 개략적/개념적 블록도를 도시하며, 이 인코더는 입력(102), 잔차 계산 유닛(104), 변환 유닛(106), 양자화 유닛(108), 역 양자화 유닛(110) 및 역변환 유닛(112), 재구성 유닛(114), 버퍼(118), 루프를 포함하는 화상 인코더(100) 필터(120), 디코딩된 화상 버퍼(DPB)(130), 인터 추정 유닛(142), 인터 예측 유닛(144), 인트라 추정 유닛(152), 인트라-예측 유닛(154), 모드 선택 유닛(162), 엔트로피 인코딩 유닛(170) 및 출력(172)을 포함한다. 도 1에 도시된 바와 같은 비디오 인코더(100)는 하이브리드 비디오 코덱에 따른 하이브리드 비디오 인코더 또는 비디오 인코더로 지칭될 수도 있다.
예를 들어, 잔차 계산 부(104), 변환 유닛(106), 양자화 유닛(108) 및 엔트로피 부호화 부(170)는 인코더(100)의 순방향 신호 경로를 형성하고, 반면에 예를 들어 역 양자화 유닛(110)은 역변환 유닛 112에서, 재구성 유닛(114), 버퍼(118), 루프 필터(120), 디코딩된 화상 버퍼(DPB)(130), 인터 예측 유닛(144) 및 인트라-예측 유닛(154)은 인코더의 역방향 신호 경로를 형성하고, 여기서 역방향 인코더의 신호 경로는 디코더의 신호 경로에 대응한다(도 2의 디코더(200) 참조).
인코더는 예를 들어 입력(102), 화상(101) 또는 화상(101)의 화상 블록(103), 예를 들어 비디오 또는 비디오 시퀀스를 형성하는 화상의 시퀀스를 수신하도록 구성된다. 화상 블록(103)은 또한 코딩될 현재 화상 블록 또는 화상 블록으로 지칭될 수 있고,(특히, 현재 화상을 다른 화상, 예를 들어 이전에 인코딩된 및/또는 동일한 비디오 시퀀스의 디코딩된 화상, 즉 현재 화상도 포함하는 비디오 시퀀스와 구별하기 위한 비디오 코딩에서) 화상(101)은 현재 화상 또는 코딩될 화상으로서 지칭될 수 있다.
인코더(100)의 실시예는 예를 들어 분할 유닛(도 1에 도시되지 않음)을 포함할 수 있는데, 예를 들어 이것은 화상 분할 유닛이라고도 지칭될 수 있고, 화상(103)을 복수의 블록, 예를 들어, 블록(103)과 같은 블록으로 분할하도록 구성되며, 통상적으로 복수의 비 중첩 블록으로 분할하도록 구성된다. 분할 유닛은 비디오 시퀀스의 모든 화상에 대해 동일한 블록 크기 및 그 블록 크기를 정의하는 대응하는 그리드를 사용하거나, 또는 화상 간 또는 서브세트 간 또는 화상 그룹 간의 블록 크기를 변경하고 각각의 화상을 대응하는 블록으로 계층적으로 분할하도록 구성된다. 블록이라는 용어는 이미지의 직사각형(반드시 정사각형일 필요는 없음) 부분을 나타낸다.
화상(101)과 같이, 블록(103)은 화상(101)보다 작은 치수이지만 강도 값(샘플 값)을 갖는 2차원 배열 또는 샘플의 행렬로 간주될 수 있다. 다시 말해, 블록(103)은 예를 들어, 하나의 샘플 어레이(예를 들어, 단색 화상(101)의 경우 루마 어레이) 또는 3개의 샘플 어레이(예를 들어, 컬러 화상(101)의 경우 루마 및 두 개의 크로마 어레이) 또는 적용된 색상 형식에 따른 기타 수 및/또는 종류에 따른 어레이를 포함할 수 있다. 블록(103)의 수평 및 수직 방향(또는 축)의 샘플 수는 블록(103)의 크기를 정의한다.
도 1에 도시된 바와 같은 인코더(100)는 블록 단위로 화상(101)을 인코딩하도록 구성되며, 예를 들어, 인코딩 및 예측은 블록(103)마다 수행된다.
잔차 계산 유닛(104)은 화상 블록(103)의 샘플 값으로부터 예측 블록(165)의 샘플 값을 감산하여 샘플 도메인에서 잔차 블록(105)을 획득하기 위해 화상 블록(103) 및 예측 블록(165)에 기초하여 잔차 블록(105)을 계산하도록 구성된다(예를 들어, 예측 블록(165)에 대한 추가 세부 사항은 나중에 제공된다).
변환 유닛(106)은 변환을 적용하도록 구성되며, 예를 들어 공간 주파수 변환 또는 선형 공간(주파수) 변환을 적용하도록 구성되며, 예를 들어, 변환 도메인에서 변환된 계수(107)를 얻기 위해 잔차 블록(105)의 샘플 값에 대한 이산 코사인 변환(DCT) 또는 이산 사인 변환(DST)을 적용하도록 구성된다. 변환된 계수(107)는 또한 변환된 잔차 계수로 지칭될 수 있고 변환 도메인에서 잔차 블록(105)을 나타낼 수 있다.
변환 유닛(106)은 HEVC/H.265에 대해 지정된 코어 변환과 같은 DCT/DST의 정수 근사치를 적용하도록 구성될 수 있다. 직교 DCT 변환과 비교할 때, 이러한 정수 근사는 일반적으로 특정 요인에 의해 조정된다. 순방향 변환 및 역방향 변환에 의해 처리되는 잔차 블록의 표준(norm)을 보존하기 위해 추가 스케일링 계수가 변환 프로세스의 일부로 적용된다. 스케일링 계수는 일반적으로 시프트 연산에 대한 2의 거듭 제곱인 스케일링 계수, 변환된 계수의 비트 깊이, 정확도와 구현 비용 간의 균형 등 특정 제약 조건을 기반으로 선택된다. 특정 스케일링 계수는 예를 들어 역변환 유닛(212)에 의해, 디코더(200)에서 역 변환에 대해 지정되며,(그리고 대응하는 역변환, 예를 들어 인코더(100)에서 역변환 유닛(112)에 의해 대응하는 역 변환에 대해 지정되며), 그리고 순방향 변환을 위한 대응하는 스케일링 인자는 예를 들어 변환 유닛(106)에 의해, 인코더(100)에서 그에 따라 지정될 수 있다.
양자화 유닛(108)은 예를 들어, 스칼라 양자화 또는 벡터 양자화를 적용하여 양자화된 계수(109)를 얻기 위해 변환된 계수(107)를 양자화하도록 구성된다. 양자화된 계수(109)는 또한 양자화된 잔차 계수(109)로 지칭될 수 있다. 예를 들어, 스칼라 양자화의 경우, 더 미세하거나 거친 양자화를 달성하기 위해 상이한 스케일링이 적용될 수 있다. 더 작은 양자화 단계 크기는 더 미세한 양자화에 대응하는 반면, 더 큰 양자화 단계 크기는 더 거친 양자화에 대응한다. 적용 가능한 양자화 단계 크기는 양자화 파라미터(quantization parameter, QP)로 표시될 수 있다. 양자화 파라미터는 예를 들어 적용 가능한 양자화 단계 크기의 미리 정의된 세트에 대한 인덱스일 수 있다. 예를 들어, 작은 양자화 파라미터는 미세 양자화(작은 양자화 단계 크기)에 대응할 수 있고 큰 양자화 파라미터는 거친 양자화(큰 양자화 단계 크기)에 대응하거나 그 반대일 수 있다. 양자화는 양자화 단계 크기에 의한 분할을 포함할 수 있으며, 예를 들어, 역 양자화(110)에 의해, 대응하는 또는 인버스 역 양자화(inverse dequantization)는 양자화 단계 크기에 의한 곱셈을 포함할 수 있다. HEVC에 따른 실시예는 양자화 단계 크기를 결정하기 위해 양자화 파라미터를 사용하도록 구성될 수 있다. 일반적으로 양자화 스텝 크기는 나눗셈을 포함하는 방정식의 고정 소수점 근사를 사용하여 양자화 파라미터에 기초하여 계산될 수 있다. 잔차 블록의 표준을 복원하기 위해 양자화 및 역 양자화에 추가 스케일링 계수가 도입될 수 있으며, 이는 양자화 단계 크기 및 양자화 파라미터에 대한 방정식의 고정 소수점 근사에 사용되는 스케일링으로 인해 수정될 수 있다. 하나의 예시적인 구현에서, 역변환 및 역 양자화의 스케일링이 결합될 수 있다. 대안으로, 맞춤형 양자화 테이블이 사용되어 인코더에서 디코더로 신호를 보낼 수 있다. 비트 스트림에서 양자화는 손실 연산이며, 양자화 단계 크기가 증가함에 따라 손실이 증가한다.
인코더(100)(또는 양자화 유닛(108) 각각)의 실시예는 예를 들어, 대응하는 양자화 파라미터에 의해 양자화 방식 및 양자화 단계 크기를 출력하도록 구성될 수 있으며, 따라서, 디코더(200)는 대응하는 역 양자화를 수신하고 적용할 수 있다. 인코더(100)(또는 양자화 유닛(108))의 실시예는 직접 또는 엔트로피 인코딩 유닛(170) 또는 임의의 다른 엔트로피 코딩 유닛을 통해 인코딩된 엔트로피에 의해 예를 들어, 양자화 방식 및 양자화 단계 크기를 출력하도록 구성될 수 있다.
역 양자화 유닛(110)은 양자화 유닛(108)과 동일한 양자화 단계 크기에 기초하거나 사용하여 양자화 유닛(108)에 의해 적용된 양자화 방식의 역을 적용함으로써, 예를 들어 역 양자화된 계수(111)를 획득하기 위해 양자화된 계수에 양자화 유닛(108)의 역 양자화를 적용하도록 구성된다. 역 양자화 계수(111)는 또한 역 양자화 잔류 계수(111)라고도 지칭될 수 있고 - 양자화에 의한 손실로 인한 변환 계수와 동일하지 않더라도 - 변환 계수(108)에 대응할 수 있다.
역변환 유닛(112)은 역 이산 코사인 변환(DCT) 또는 역 이산 사인 변환(DST)은 샘플 도메인에서 역 변환된 블록(113)을 획득하기 위해 예를 들어, 변환 유닛(106)에 의해 적용된 변환의 역변환을 적용하도록 구성된다. 역변환된 블록(113)은 또한 역변환된 역 양자화된 블록(113) 또는 역변환된 잔차 블록(113)으로 지칭될 수 있다.
재구성 유닛(114)은 예를 들어 디코딩된 잔차 블록(113)의 샘플 값과 예측 블록(165)의 샘플 값을 샘플 방식으로 더함으로써 샘플 도메인에서 재구성된 블록(115)을 획득하기 위해 역변환된 블록(113) 및 예측 블록(165)을 결합(예를 들어 추가)하도록 구성된다.
버퍼 유닛(116)(또는 "버퍼"(116)로 약칭), 예를 들어 라인 버퍼(116)는 예를 들어 인트라 추정 및/또는 인트라 예측을 위해 재구성된 블록 및 각각의 샘플 값을 버퍼링하거나 저장하도록 구성된다. 추가 실시예에서, 인코더는 임의의 종류의 추정 및/또는 예측을 위해 필터링되지 않은 재구성된 블록 및/또는 버퍼 유닛(116)에 저장된 각각의 샘플 값을 사용하도록 구성될 수 있다.
루프 필터 유닛(120)(또는 "루프 필터"(120)로 약칭)은 예를 들어 디-블로킹 샘플 적응 오프셋(SAO) 필터 또는 기타 필터, 예를 들어 선명하게 하기(sharpening) 또는 부드럽게 하기(smoothing) 필터 또는 협업 필터를 적용하여 필터링된 블록(121)을 얻기 위해 재구성된 블록(115)을 필터링하도록 구성된다. 필터링된 블록(121)은 또한 필터링된 재구성된 블록(121)이라고도 지칭될 수 있다. 다른 또는 추가 파일이 루프에 적용될 수 있다.
루프 필터 유닛(120)의 실시예는 필터 분석 유닛(도 1에 도시되지 않음)과 실제 필터 유닛을 포함할 수 있으며, 여기서 필터 분석 유닛은 실제 필터에 대한 루프 필터 파라미터를 결정하도록 구성된다. 필터 분석 유닛은 고정된 미리 결정된 필터 파라미터를 실제 루프 필터에 적용하거나, 미리 결정된 필터 파라미터 세트로부터 필터 파라미터를 적응적으로 선택하거나, 실제 루프 필터에 대한 필터 파라미터를 적응적으로 계산하도록 구성될 수 있다.
루프 필터 유닛(120)의 실시예는(도 1에 도시되지 않은) 하나 또는 복수의 필터(루프 필터 구성 요소/서브 필터)를 포함할 수 있다. 하나 이상의 다른 종류 또는 유형의 필터(예를 들어, 직렬로 또는 병렬로 또는 이들의 임의의 조합으로 연결되며, 여기서 이전 단락에서 설명한 대로 각각의 필터는 개별적으로 또는 복수의 필터의 다른 필터와 공동으로 각각의 루프 필터 파라미터를 결정하기 위한 필터 분석 유닛을 포함할 수 있다. 인코더(100)(각각 루프 필터 유닛(120))의 실시예는 예를 들어, 디코더(200)가 디코딩을 위해 동일한 루프 필터 파라미터를 수신하고 적용할 수 있도록, 직접적으로 또는 엔트로피 인코딩 유닛(170) 또는 임의의 다른 엔트로피 코딩 유닛을 통해 인코딩된 엔트로피에 의해, 예를 들어, 루프 필터 파라미터를 출력하도록 구성될 수 있다.
디코딩된 화상 버퍼(DPB)(130)는 필터링된 블록(121)을 수신하고 저장하도록 구성된다. 디코딩된 화상 버퍼(130)는 예를 들어 다른 이전에 필터링된 다른 블록을 저장하도록 추가로 구성될 수 있다. 예를 들어, 동일한 현재 화상 또는 상이한 화상, 예를 들어 이전에 재구성된 화상의 이전에 재구성되고 필터링된 블록(121)을 저장하도록 추가로 구성될 수 있고, 예를 들어, 인터 추정 및/또는 인터 예측을 위해 이전에 재구성된 완전한 화상, 즉 디코딩된 화상(및 대응하는 참조 블록 및 샘플) 및/또는 부분적으로 재구성된 현재 화상(및 대응하는 참조 블록 및 샘플)을 제공할 수 있다.
본 발명의 추가 실시예는 또한 임의의 종류의 추정 또는 예측, 예를 들어 인트라 및 인터 추정 및 예측을 위해 디코딩된 화상 버퍼(130)의 이전에 필터링된 블록 및 대응하는 필터링된 샘플 값을 사용하도록 구성될 수 있다.
블록 예측 유닛(160)이라고도 하는 예측 유닛(160)은 버퍼(116)로부터 화상 블록(103)(현재 화상(101)의 현재 화상 블록(103)) 및 디코딩되거나 적어도 재구성된 화상 데이터, 예를 들어 동일한(현재) 화상의 참조 샘플을 수신하거나 획득하고 및/또는 디코딩된 화상 버퍼(130)로부터 하나 또는 복수의 이전에 디코딩된 화상으로부터 디코딩된 화상 데이터(231)를 획득하며, 그리고 예측을 위해 이러한 데이터를 처리, 즉 예측 블록(165)을 제공하도록 구성되며, 예측 블록(165)은 인터-예측된 블록(145) 또는 인트라-예측된 블록(155)일 수 있다.
모드 선택 유닛(162)은 잔차 블록(105)의 계산을 위해 그리고 재구성된 블록(115)의 재구성을 위해 예측 블록(165)으로 사용될 예측 모드(예를 들어, 인트라 또는 인터 예측 모드) 및/또는 대응하는 예측 블록(145 또는 155)을 선택하도록 구성될 수 있다.
모드 선택 유닛(162)의 실시예들은(예를 들어, 예측 유닛(160)에 의해 지원되는 것들로부터) 예측 모드를 선택하도록 구성될 수 있으며, 이는 최상의 매칭을 제공하거나, 즉, 최소 잔차(최소 잔차는 전송 또는 저장을 위한 더 나은 압축을 의미함)를 제공하거나, 또는 최소 시그널링 오버 헤드(최소 시그널링 오버 헤드는 전송 또는 저장을 위한 더 나은 압축을 의미함)를 제공하거나, 또는 둘 모두를 고려하거나 균형을 유지한다. 모드 선택 유닛(162)은 레이트 왜곡 최적화(RDO)에 기초하여 예측 모드를 결정하도록 구성될 수 있으며, 즉, 최소 레이트 왜곡 최적화를 제공하거나 연관된 레이트 왜곡이 적어도 예측 모드 선택 기준을 충족시키는 예측 모드를 선택하도록 구성될 수 있다.
다음에서, 예시적인 인코더(100)에 의해 수행되는 예측 처리(예를 들어, 예측 유닛(160) 및 모드 선택(예를 들어, 모드 선택 유닛(162)에 의해))가 더 상세히 설명될 것이다.
전술한 바와 같이, 인코더(100)는(미리 결정된) 예측 모드들의 세트로부터 최적 또는 최적 예측 모드를 결정하거나 선택하도록 구성된다. 예측 모드의 세트는 예를 들어 인트라-예측 모드 및/또는 인터-예측 모드를 포함할 수 있다.
인트라 예측 모드의 세트는 예를 들어, H.264에 정의된 바와 같이, 예를 들어, 32개의 상이한 인트라 예측 모드를 포함할 수 있는데, 예를 들어, DC(또는 평균) 모드 및 평면 모드와 같은 비 방향 모드, 또는 방향 모드를 포함할 수 있거나, 또는 65개의 서로 다른 인트라 예측 모드를 포함할 수 있는데, 예를 들어 H.265에 정의된 바와 같이, DC(또는 평균) 모드 및 평면 모드와 같은 비 방향 모드 또는 방향 모드를 포함할 수 있다.
(또는 가능한) 인터-예측 모드의 세트는 이용 가능한 참조 화상(즉, DBP 230에 저장된 이전의 적어도 부분적으로 디코딩된 화상) 및 기타 인터-예측 파라미터에 따라 달라지는데, 예를 들어, 전체 참조 화상 또는 일부만이, 예를 들어 참조 화상의 현재 블록 영역 주변의 검색 창 영역이 가장 일치하는 참조 블록을 검색하는 데 사용되는지, 및/또는 예를 들어. 픽셀 보간이 적용되는지, 예를 들어, half/semi-pel 및/또는 quarter-pel 보간이 적용되는지에 따라 달라진다.
상기 예측 모드 외에 스킵 모드 및/또는 다이렉트 모드가 적용될 수 있다.
예측 유닛(160)은 또한 블록(103)을 더 작은 블록 파티션 또는 서브-블록, 예를 들어, 분할하도록 구성될 수 있으며, 예를 들어 QT(quad-tree-partitioning), BT(binary partitioning) 또는 TT(triple-tree-partitioning) 또는 이들의 조합을 반복적으로 사용하고 수행하며, 여기서 모드 선택은 분할된 블록(103)의 트리-구조의 선택 및 각각의 블록 파티션 또는 서브-블록에 적용되는 예측 모드를 포함한다.
인터 화상 추정 유닛(142)이라고도 하는 인터 추정 유닛(142)은 화상 블록(103)(현재 화상(101)의 현재 화상 블록(103)) 및 디코딩된 화상(231), 또는 적어도 하나 또는 복수의 이전에 재구성된 블록, 예를 들어 인터 추정(또는 "인터 화상 추정")을 위해 하나 또는 복수의 다른/상이한 이전에 디코딩된 화상(231)의 재구성된 블록을 수신하거나 획득하도록 구성된다. 예를 들어, 비디오 시퀀스는 현재 화상 및 이전에 디코딩된 화상(231)을 포함할 수 있거나, 즉, 현재 화상 및 이전에 디코딩된 화상(231)은 비디오 시퀀스를 형성하는 화상의 시퀀스의 일부이거나 형성할 수 있다.
인코더(100)는, 예를 들어, 복수의 다른 화상 중 동일하거나 상이한 화상의 복수의 참조 블록으로부터 참조 블록을 선택하고 참조 화상(또는 참조 화상 인덱스, ...) 및/또는 참조 블록의 위치(x, y 좌표)와 현재 블록의 위치 사이의 오프셋(공간 오프셋)을 인터 예측 파라미터(143)로서 인터 예측 유닛(144)에 제공하도록 구성될 수 있다. 이 오프셋을 움직임 벡터(MV)라고도 한다. 인터 추정은 움직임 추정(ME)이라고도하며 인터 예측은 움직임 예측(MP)이라고도 한다.
인터 예측 유닛(144)은 예를 들어 인터 예측 파라미터(143)를 획득하고, 예를 들어 수신하고, 인터 예측 파라미터(143)에 기초하여 또는 사용하여 인터 예측을 수행하여 인터 예측 블록(145)을 획득하도록 구성된다.
도 1은 인터-코딩을 위한 2개의 별개의 유닛(또는 단계), 즉 인터 추정(142) 및 인터 예측(152)을 도시하고 있으나, 예를 들어 현재 최상의 인터 예측 모드와 각각의 인터 예측 블록을 저장하는 동안 가능한 인터 예측 모드의 가능한 모든 또는 미리 결정된 서브세트를 반복적으로 테스트하고 다른 시간 인터 예측(144)을 수행함이 없이 현재 최상의 인터 예측 모드와 각각의 인터 예측 블록을(최종) 인터 예측 파라미터(143) 및 인터 예측 블록(145)으로서 사용함으로써 두 기능 모두 하나로서 수행될 수 있다(인터 추정은 인터 예측 블록, 즉 또는 "일종의" 인터 예측(154)을 계산하는 단계를 요구/포함한다).
인트라 추정 유닛(152)은 예를 들어 화상 블록(103)(현재 화상 블록) 및 하나 또는 복수의 이전에 재구성된 블록, 예를 들어, 인트라 추정을 위해 동일한 화상의 재구성된 인접 블록을 획득하고, 예를 들어 수신하도록 구성된다. 인코더(100)는 예를 들어, 복수의(미리 결정된) 인트라 예측 모드들 중에서 인트라 예측 모드를 선택하여 인트라 예측 파라미터(153)로서 인트라 예측 유닛(154)에 제공하도록 구성될 수 있다.
인코더(100)의 실시예는 예를 들어 최적화 기준, 예를 들어 최소 잔차(예를 들어 현재 화상 블록(103)과 가장 유사한 예측 블록(155)을 제공하는 인트라 예측 모드) 또는 최소 레이트 왜곡에 기초하여 인트라-예측 모드를 선택하도록 구성될 수 있다.
인트라 예측 유닛(154)은 예를 들어 인트라 예측 파라미터(153), 예를 들어 선택된 인트라 예측 모드(153)에 기초하여 인트라 예측 블록(155) 결정하도록 구성된다.
도 1은 인트라-코딩을 위한 2개의 별개의 유닛(또는 단계), 즉 인트라 추정(152) 및 인트라 예측(154)을 도시하고 있으나, 예를 들어 현재 최상의 인트라 예측 모드와 각각의 인터 예측 블록을 저장하는 동안 가능한 인트라 예측 모드의 가능한 모든 또는 미리 결정된 서브세트를 반복적으로 테스트하고 다른 시간 인트라 예측(154)을 수행함이 없이 현재 최상의 인트라 예측 모드와 각각의 인트라 예측 블록을(최종) 인트라 예측 파라미터(153) 및 인트라 예측 블록(155)으로서 사용함으로써 두 기능 모두 하나로서 수행될 수 있다(인트라 추정은 인트라 예측 블록, 즉 또는 "일종의" 인트라 예측(154)을 계산하는 단계를 요구/포함한다).
엔트로피 인코딩 유닛(170)은 양자화된 잔차 계수(109), 인터 예측 파라미터(143), 인트라 예측 파라미터(153), 및/또는 루프 필터 파라미터에 대해 개별적으로 또는 공동으로(또는 전혀) 엔트로피 인코딩 알고리즘 또는 방식(예를 들어, 가변 길이 코딩(variable length coding, VLC) 방식, 콘텍스트 적 형 VLC 방식(context adaptive VLC scheme, CALVC), 산술 코딩 방식, 콘텍스트 적응 이진 산술 코딩(context adaptive binary arithmetic coding, CABAC)을 적용하여 예를 들어 인코딩된 비트 스트림(171)의 형태로 출력(172)에 의해 출력될 수 있는 인코딩된 화상 데이터(171)를 획득하도록 구성된다.
도 2는 예를 들어 디코딩된 화상(231)을 얻기 위해 인코더(100)에 의해 인코딩되는, 인코딩된 화상 데이터(예를 들어 인코딩된 비트스트림)(171)를 수신하도록 구성된 예시적인 비디오 디코더(200)를 도시한다.
디코더(200)는 입력(202), 엔트로피 디코딩 유닛(204), 역 양자화 유닛(210), 역변환 유닛(212), 재구성 유닛(214), 버퍼(216), 루프 필터(220), 디코딩된 화상 버퍼(230), 예측 유닛(260), 인터 예측 유닛(244), 인트라 예측 유닛(254), 모드 선택 부(260) 및 출력(232)을 포함한다.
엔트로피 디코딩 유닛(204)은 예를 들어, 양자화된 계수(209) 및/또는 디코딩된 코딩 파라미터(도 2에 도시되지 않음), 예를 들어 인터 예측 파라미터(143), 인트라 예측 파라미터(153) 및/또는 루프 필터 파라미터 중(디코딩된) 일부 또는 전부를 획득하기 위해 인코딩된 화상 데이터(171)에 대한 엔트로피 디코딩을 수행하도록 구성된다.
디코더(200)의 실시예에서, 역 양자화 유닛(210), 역변환 유닛(212), 재구성 유닛(214), 버퍼(216), 루프 필터(220), 디코딩된 화상 버퍼(230), 예측 유닛(260) 및 모드 선택 유닛(260)은 인코딩된 화상 데이터(171)를 디코딩하기 위해 인코더(100)(및 각각의 기능 유닛)의 역 처리를 수행하도록 구성된다.
특히, 역 양자화 유닛(210)은 역 양자화 유닛(110)과 기능면에서 동일할 수 있고, 역변환 유닛(212)은 역변환 유닛(112)과 기능면에서 동일할 수 있고, 복원 유닛(214)은 기능 복원 유닛(114)에서 동일할 수 있으며, 버퍼(216)는 버퍼(116)와 기능면에서 동일할 수 있고, 루프 필터(220)는 루프 필터(220)와 기능면에서 동일할 수 있고(실제 루프 필터와 관련하여 루프 필터(220)는 일반적으로 원본 이미지(101) 또는 블록(103)에 기초하여 필터 파라미터를 결정하기 위한 필터 분석 유닛을 포함하지 않지만, 예를 들어 엔트로피 디코딩 유닛(204)으로부터 인코딩에 사용되는 필터 파라미터를(명시적으로 또는 암시적으로) 수신하거나 획득한다), 디코딩된 화상 버퍼(230)는 디코딩된 화상 버퍼(130)와 기능면에서 동일할 수 있다.
예측 유닛(260)은 인터 예측 유닛(244) 및 인터 예측 유닛(254)을 포함할 수 있으며, 여기서 인터 예측 유닛(144)은 인터 예측 유닛(144)과 기능면에서 동일할 수 있고, 인터 예측 유닛(154)은 인트라 예측 유닛(154)과 기능면에서 동일할 수 있다. 예측 유닛(260) 및 모드 선택 유닛(262)은 일반적으로(원본 이미지(101)에 대한 추가 정보 없이) 블록 예측을 수행하고 및/또는 인코딩된 데이터(171)로부터만 예측 블록(265)을 획득하고 예측 파라미터(143 또는 153) 및/또는 엔트로피 디코딩 유닛(204)으로부터 선택된 예측 모드에 관한 정보를(명시적으로 또는 암시적으로) 수신하거나 획득하도록 구성된다.
디코더(200)는 출력(232)을 통해 사용자에게 표시하거나 볼 수 있게 하도록, 예를 들어 디코딩된 화상(230)을 출력하도록 구성된다.
위에서 설명한 것처럼 일부 이미지 및 비디오 코덱은 양자화된 변환 계수를 코딩한다. 0이 아닌 변환 계수(Non-zero transformation coefficients)는 부호가 있고, 즉, 절대 값과 플러스 또는 마이너스 부호로 구성된다. 하나의 계수에 대한 부호를 코딩하려면 양수 또는 음수 부호를 나타내는 1 비트가 필요하다. 다시 말해, 부호 비트 값 0은 양의 부호를 나타내고 부호 비트 값 1은 음의 부호를 나타낼 수 있으며 그 반대의 경우도 마찬가지이다.
최첨단 비디오 코딩 표준은 양자화된 변환 계수 부호의 엔트로피 코딩을 사용하지 않는다. H.264/AVC 및 H.265/HEVC에서 부호 데이터는 동등한 가능성(양수 및 음수 부호가 동일한 확률로 발생)으로 간주되므로, CABAC 바이패스 모드로 인코딩된다. 그러나 재구성된 블록 간의 불연속성을 분석하여 부호 데이터를 예측할 수 있다. 더 작은 불연속성을 제공하는 양자화된 변환 계수의 부호는 불연속성을 증가시키는 부호보다 가능성이 높다. 몇 가지 방법은 K. Kazui et al. "후지쯔의 비디오 코딩 기술 제안", 제1회 JCT-VC 회의에 대한 기여 JCTVC-A115, 독일 드레스덴, 2010년 4월(이하에서 JCTVC-A115라고 함) 및 US 2017/0142444 A1(다음에서 US'444 참조)와 같은 통계 속성에 기반하며, 상기 두 문헌은 본 명세서에 참고로 포함된다.
JCTVC-A115의 기술은 도 4에 예시되어 있다. 이는 인접 블록(이전에 처리된 인접 블록, 즉 코딩되거나 디코딩된 인접 블록, 이 예시에서는 현재 블록(410)의 상단, 왼쪽 상단 및 왼손 측 상의 블록)에서의 픽셀로부터 현재 블록(410)의 변환 계수 부호를 추정하고, 추정된 부호와 원래의 부호 사이의 차이(0: 동일, 1: 동일하지 않음)를 CABAC에 의해 인코딩한다. 부호가 잘 추정되면(예측되면), 차이가 0이 되는 경향이 있으며 CABAC에 의해 코딩 효율성이 향상될 수 있다.
일반적으로 현재 블록(410)의 경계에 있는 픽셀들(A)과 인접 블록들 측면의 동일한 경계에 있는 픽셀들 사이에는 높은 상관관계가 있다. 이 속성은 현재 블록(410)에서 변환 계수의 부호를 예측하는 데 사용된다. M개의 0이 아닌 계수(C(1), C(2), ..., C(M)) 부호가 있다고 가정하고, 이들 부호는 현재 블록(410)에서 예측될 수 있으며, 이들 부호(SK(1), SK(2), ..., SK(M))의 가능한 조합 K의 수는 2M이다. 조합 범위는(+, +, ..., +)에서(-,-, ...,-)까지이다. 이 예에서 변환 계수는 이산 코사인 변환(discrete cosine transform, DCT) 계수이다. 계수는 레벨의 절대 값(부호없는 값, 즉 크기)과 부호의 조합 K를 포함하여 결정되며, 픽셀 도메인으로 역변환되고 역 양자화되어(즉, 스케일링 및 반올림되어), 잔차의 양자화된 블록이 생성된다(예측 오류). 픽셀 도메인의 예측 오차(440)는 잔차 블록(420)을 얻기 위해 예측 블록(430)에 추가된다. 현재 블록(410)의 상부 경계 및 좌측 경계에서 재구성된 경계 픽셀 B는(도 4에서의 화살표로 지시된) 인접 블록으로부터 외삽된 픽셀 A와 비교된다. 이것은 K의 모든 조합에 대해 수행된다. 픽셀 A와 B 사이의 제곱 오차를 최소화하는 부호 조합 K를 추정 부호로 정의한다. 절대 차이의 합을 최소화하는 것도 적용될 수 있다.
JCTVC-A115에서 제안한 방법과 기존 H.264/AVC 부호 코딩의 비교는 도 5에 나타나 있으며, JCTVC-A115의 방법으로 수행되는 특정 단계는 아래 표 1에 요약되어 있다.
1 계수의 정렬 510 계수(예측 및 코딩)는 시퀀스 3, -2, 2, 1, 1, 1, -1, 1을 얻기 위해 레벨의 절대 값에 따라 정렬된다. 계수는 먼저 양자화되고 스캔되어(즉, 이 예는 지그재그 스캔으로 일렬화되어), 계수 시퀀스 -2, 3, 2, 1, -1, 0, 1, 0, 1, 1, 0, ...을 얻는다. 진폭을 기준으로 정렬하는 것은 유일한 방법이 아니다. 지그재그의 계수 인덱스 또는 다른 계수 파라미터로 정렬할 수 있다.
2 부호 추정 520 정렬된 계수의(1, -1, 1, 1, 1, 1, 1)은 도 4에서 설명되고 위에서 설명된 바와 같이 추정되고 (1, -1, 1, -1, 1, 1)을 얻는다. 또한 추정할 수 있는 최대 부호 수에 제한이 있다. 정렬된 계수에서 처음 M개의 부호까지 추정된다. 예를 들어, M은 4x4 블록의 경우 4이고 8x8 블록의 경우 6이다. 이 제한의 이유는 작은 수준의 계수 부호 추정 결과가 잘못된 경향이 있기 때문이다. 계산 상의 복잡도는 이전 계산의 결과(중간)를 재사용하면 감소할 수 있다.
3 엔트로피코딩 530 배타적 OR(XOR) 연산은 정렬된 계수의 첫 번째 M 번째 부호와(0, 0, 0, 1, 0, 0)의 결과로 추정된 값에 대해 수행된다. 이 결과 coeff_sign_diff는 CABAC 인코딩을 사용하여 인코딩된다.
다른 부호는 CABAC의 바이패스 인코딩(540)(즉, coeff_sign_flag의 인코딩 프로세스)을 사용하여 직접 인코딩된다.
계수 부호 예측 및 코딩 방법의 단계
도 5의 상단 부분에서 볼 수 있듯이 기존의 H.264/AVC 접근 방식은 CABAC 우회 코딩으로 모든 신호를 코딩한다.
도 6은 현재 블록(610) 및 현재 블록(610)의 상단에 있는 픽셀(630) 및 현재 블록(610)의 좌측에 있는 픽셀(620)의 상세도를 도시한다. 픽셀(630 및 620)은 인접 블록에 속한다.
공간(픽셀) 영역에서 비용 함수 F는 다음과 같이 정의된다:
Figure 112020091025418-pct00021
, [식 1]
여기서
Figure 112020091025418-pct00022
Figure 112020091025418-pct00023
은 각각 블록의 높이와 넓이이다. 식 1에서 알 수 있듯이, i=0..N 및 j=0..M인 픽셀 값 Yi,0 및 Y0,j가 각각의 인접 블록과의 경계에 가장 가까운 인접 블록의 2개의 행(Z1,j 및 Z2,j) 및 열(Xi,-2 및 Xi,-1)에서의 픽셀의 값과 유사한 값을 가지면, 비용 함수 F는 낮은 값을 가진다.
위에 요약된 문서에서 제안된 기술은 부호 추정을 수행하기 위해 역변환을 포함한다. 왜냐하면 픽셀 값의 차이는 검사되는 가설에 의해 결정된 주어진 부호 세트에 대한 비용 함수 값 F를 계산하는 데 사용되기 때문이다(특정 조합 K에 해당하는 가설). 빠른 추정 방법이 있음에도 불구하고 공간 영역으로의 전환은 여전히 계산 비용이 많이 들고 이러한 방법의 주요 단점으로 간주된다.
이를 고려하여, 본 개시는 부호 예측을 수행하는 데 필요한 연산의 수의 감소를 제공할 수 있는 일부 실시예를 제공한다. 이것은 공간 영역에서 계산하는 대신 변환 영역에서 비용 추정을 계산하여 달성할 수 있다.
특히, 일 실시예에 따르면, 프로세싱 회로를 포함하는 이미지 블록을 디코딩하는 장치가 제공되며, 상기 프로세싱 회로는: 변환된 이미지 블록에 인접한 인접 픽셀과 이미지 블록의 예측 신호에 기초하여 계산된 인접 픽셀의 예측 사이의 변환된 차이를 포함하는 비용 함수에 기초하여 상기 변환된 이미지 블록의 복수의 계수의 부호를 예측하고; 그리고 상기 예측된 부호에 따라 상기 복수의 계수의 부호를 재구성하도록 구성되어 있다.
복수의 계수는 제한된 수의 비-제로 계수 M일 수 있다는 점에 유의한다. 전술한 바와 같이, M개의 계수는 현재 블록의 계수 중 크기가 가장 큰 M개의 계수일 수 있다. 그렇지만, 본 발명이 이에 한정되는 것은 아니며 M개의 계수는 단순히 현재 블록에서 미리 정해진 순서대로 M개의 제1 0이 아닌 계수일 수 있다. 미리 결정된 순서는 예를 들어 비트스트림 내에서 시그널링하거나 예측 모드 등과 같은 비트스트림의 일부 다른 파라미터로부터 암시적으로 도출할 수 있는 구성 가능한 스캔 순서 세트를 표준에서 정의하거나 표준에서 정의함으로써 미리 결정될 수 있는 스캔 순서일 수 있다. 대안적으로, 스캐닝 순서는 비트 스트림에서 완전히 시그널링될 수 있다. 계수는 양자화가 적용되는 경우 일반적으로 이미 양자화된 계수이다.
따라서, 위에서 논의된 도 4와는 반대로, 예측 신호(430)는 재구성된 잔차(440)에 추가되지 않고, 역변환이 수행되지 않고 따라서 재구성된 잔차 신호(440)가 사용되지 않기 때문에, 대신 인접 픽셀 값에서 차감된다. 구체적으로, 복원된 경계 픽셀을 얻기 위해 잔차 신호의 역변환을 수행하는 대신 현재 블록에 인접 픽셀과 인접 픽셀의 영역으로 외삽된 현재 블록의 예측 신호의 픽셀 간의 차이에 대해 순방향 변환을 수행한다.
더욱이, 예시적인 구현에 따르면, 비용 함수는 변환된 이미지 블록에 인접한 인접 픽셀들 사이의 제곱된 변환된 차이의 합과 이미지 블록의 예측 신호에 기초하여 계산된 인접 픽셀의 예측을 포함한다.
정사각형 놈(norm)을 사용하면 파시발 아이덴티티(Parseval identity)로 인한 이점이 있다. 파시발 아이덴티티에 따르면 직교 변환(예를 들어, 이산 코사인 변환(discrete cosine transform, DCT) 및 이산 사인 변환(discrete sine transform, DST))에 대해 변환 도메인에서 계산된 차 제곱합(sum of squared differences, SSD)은 공간(픽셀) 도메인에서 계산된 SSD와 동일한 결과를 제공해야 한다. 따라서 제안된 기술의 코딩 효율성은 JCTVC-A113 및 US'444를 참조하여 위에서 설명한 기술의 효율성보다 낮아서는 안 된다.
부호 예측은 변환 영역에서 수행되기 때문에, 위의 실시예는 역변환을 수행하는 데 필요한 계산의 제거로 인해 계산 복잡성이 상당히 감소할 수 있다. 결과적으로, 이 실시예의 구현은 하드웨어 친화적 일 수 있고 추가적인 RAM 및 ROM 메모리 버퍼를 요구하지 않는다. 더욱이, 변환을 수행하기 위한 순방향 변환 모듈(106)이 재사용될 수 있다. 라인 버퍼에서 경계 픽셀을 한 번만 가져오면 된다.
일 실시예에 따르면, 부호 예측 오류는 등가 부호 값 코딩(바이패스)을 사용하는 대신 CABAC 콘텍스트 모델로 코딩된다. 그러나 인코더 측과 디코더 측 모두에서 유사한 방식으로 수행되는 부호 추정 절차는 위의 도 4 및 5를 참조하여 설명한 절차와 다르게 수행된다.
상기 언급된 실시예의 예시적인 구현의 개략도는 도 7에서 볼 수 있다. 다음은 이 구현의 특수성이다:
- 부호 예측은 변환 영역에서 수행되며, 그리고
- 예측 신호는 현재 블록을 재구성하고 인접 블록의 해당 픽셀에서 경계 픽셀을 공제하는 대신 인접 블록 영역으로 전파된다.
단순화를 위해 도 7에서는 인접한 블록의 열만 고려한다.
본 실시예가 적용되는 프레임워크에 따라 위, 오른쪽 열, 심지어 아래 열까지도 사용할 수 있다. 다시 말해, 부호 예측은 사용 가능한 경계 픽셀을 사용할 수 있다. 위에서 설명한 예에서 사용 가능한 블록은 상단, 왼쪽 및 상단 왼쪽 블록이라고 가정한다. 이것은 현재 코덱에서 일반적으로 블록의 처리 순서가 왼쪽에서 오른쪽으로, 위에서 아래로 이동한다는 가정에 해당한다. 일반적으로, 디코더에서는 이전에 디코딩된 인접 블록이(디코딩 순서대로) 사용될 수 있다. 이에 상응해서, 인코더에서, 임의의 이전에 인코딩된 인접 잠금이 사용될 수 있다.
실시예의 일 구현에서, 비용 함수 F는 모듈러스(절대 차이의 합) 대신 픽셀 차이의 제곱을 사용하도록 재정의된다:
Figure 112020091025418-pct00024
, [식 1a]
여기서
Figure 112020091025418-pct00025
Figure 112020091025418-pct00026
은 블록의 높이와 넓이이며 X, Y 및 Z의 정의는 도 6에서 설명한 것과 동일하게 유지된다.
재구성된 블록(710)은 예측(720) 및 잔차(730) 부분으로 구성된다:
Figure 112020091025418-pct00027
,
여기서
Figure 112020091025418-pct00028
는 위치 i, j의 예측 픽셀이고
Figure 112020091025418-pct00029
는 위치 i, j의 예측 오류 픽셀(잔차)이다.
이 경우 방정식 1a의 구성 요소를 다음과 같이 재배열할 수 있다:
Figure 112020091025418-pct00030
다음을 표시한다:
Figure 112020091025418-pct00031
,
Figure 112020091025418-pct00032
,
Figure 112020091025418-pct00033
and
Figure 112020091025418-pct00034
.
파시발 아이덴티티에 따라 식 1a의 함수 F는 다음 식 2와 같이 변환 영역에서 다시 작성할 수 있다:
Figure 112020091025418-pct00035
Figure 112020091025418-pct00036
위의 식 2에서:
Figure 112020091025418-pct00037
,
Figure 112020091025418-pct00038
,
Figure 112020091025418-pct00039
, 및
Figure 112020091025418-pct00040
,
여기서
Figure 112020091025418-pct00041
는 1차원 직교 변환이다.
결과적으로 비용 함수를 계산할 수 있으므로 변환 영역에서 양자화된 변환 계수의 부호를 예측할 수 있다.
Figure 112020091025418-pct00042
,
Figure 112020091025418-pct00043
및 잔차
Figure 112020091025418-pct00044
의 2차원 변환 간의 관계를 결정하기 위해
Figure 112020091025418-pct00045
Figure 112020091025418-pct00046
간의 관계를 일반적인 형식으로 작성한다:
Figure 112020091025418-pct00047
여기서
Figure 112020091025418-pct00048
는 변환 코어(기본 함수)이다. 예를 들어 2차원 DCT(DCT2)의 기본 함수는 다음과 같다:
Figure 112020091025418-pct00049
또한, 다음의 식 3은 각각 픽셀 도메인(
Figure 112020091025418-pct00050
) 및 변환 도메인(
Figure 112020091025418-pct00051
)에서 인접 블록과의 경계에서 현재 블록의 열의 잔차를 각각 정의한다:
Figure 112020091025418-pct00052
Figure 112020091025418-pct00053
위의 첫 번째 식은(Qn의 정의에 따라) Qn 픽셀을 복원하는 rk,l의 역변환이다. 변환 코어 W는 여기서 직교하는데. 즉, 순방향(두 번째 식)과 역변환(첫 번째 식)이 일치한다. Qn(첫 번째 등호)의 1D 변환은 수행할 필요가 없다: 물리적으로 qk는 rk,l(두 번째 등호)의 역 1D 변환이다.
Figure 112020091025418-pct00054
(열) 및
Figure 112020091025418-pct00055
의 경우 유사한 관계가 있다. 특히
Figure 112020091025418-pct00056
(행 계수)는 W0,1 rk,l에 해당하고
Figure 112020091025418-pct00057
(열 계수)는 Wm,0 rk,l에 해당한다. 이에 따라 제로 인덱스는
Figure 112020091025418-pct00058
와 비교할 때 o의 경우에 그 위치만 변경한다.
따라서, 식 2에서 위의 비용 함수 F는 주파수 영역에서 완전히 계산될 수 있다. 이에 기초하여, 복수의 계수의 부호에 대한 예측이 계산된다.
이미지 블록을 디코딩하기 위한 장치에서, 프로세싱 회로는 또한: 코딩된 스트림 부호 예측 오류로부터 파싱하고; 그리고 파싱된 부호 예측 오차를 예측된 부호에 추가하는 것을 포함하여 부호를 재구성하도록 추가로 구성된다.
도 7은 도 4를 참조하여 위에서 설명된 접근법의 비교를 도시한다. 특히 참조 부호 710, 720 및 730은 각각의 참조 부호 420, 430 및 440에 대응하고 각각 재구성된 잠금, 예측 블록 및 잔차 블록을 나타낸다. 도 1에서와 같이 블록 A의 변환 계수에 대한 M개 부호의 K 번째 가설(부호 조합)을 취한 다음 그 부호로 계수를 역변환 및 역 양자화하여(블록 IQ+IDCT), 잔차 블록을 얻는다.
모든 테스트된 가설에 대해 이러한 역변환 및 역 양자화를 피하기 위해, 도 7은 본 실시예의 접근 방식을 예시한다. 특히, 블록 A의 계수(인접 블록(740)에 대한 블록 A의 경계에 있는 열 qn에 대응)는 변환된 차이 열 Bcol과 비교된다. 변환된 차이 열 Bcol(tn에 대응)은 인접한 블록 열(770)에서 전파된 예측 신호(760)를 빼서 픽셀 도메인에서 차이 신호(750)를 획득하고 차이 신호(750)를 변환된 차이로 변환함으로써 획득된다. 변환은 스펙트럼 영역(예를 들어, DFT, FFT, DCT 또는 DST 또는 해당 정수 버전)으로의 변환과 같은 직교 변환이다. 차이 신호(750)는 인접 블록으로부터 전파된 예측(770)이
Figure 112020091025418-pct00059
이고 블록(790)의 예측(760)이 Pn,0
Figure 112020091025418-pct00060
에 대응한다. 전파된 예측(770)은 Xn,-2와 Xn,-1 사이의 기울기, 즉 인접한 블록의 경계에 있는 두 개의 열에 의해 결정된 외삽된 부분으로 획득된다.
그런 다음 도 7에서 A와 B 간의 비교는 변환 도메인에서 다음 비용 함수에 의해 수행된다:
F col
Figure 112020091025418-pct00061
위의 비용 함수에서 알 수 있듯이 위의 식 2의 비용 함수 F에 해당하지만, 왼쪽 인접 블록을 기준으로 열 부분으로 제한하고, 상단 인접 블록을 기준으로 행 부분을 생략한다. 이것은 설명의 단순성을 위한 예일 뿐이다. 당업자에게 명백한 바와 같이, 임의의 인접 블록이 유사한 방식으로 비교를 위해 사용될 수 있다.
일반적으로, 이 실시예에 따르면, 프로세싱 회로는 변환된 이미지 블록의 복수의 계수의 부호를 예측하는 것은 다음:
- 변환된 이미지 블록에 인접한 인접 픽셀(770)과 이미지 블록(790)의 예측 신호 P에 기초하여 계산된 인접 픽셀의 예측(760) 사이의 변환된 차이 B를 계산하는 것;
- 일련의 가설 K=1..2^M에서 상기 부호 SK(i), i=0..M-1의 각각의 가설 K에 따라 재구성된 변환된 이미지 블록과 상기 변환된 차이 사이의 제곱 변환된 차이의 합을 포함하는 비용 함수 F를 계산하는 것; 및
- 상기 비용 함수(예측된 부호=arg minkF에 대응)에 의해 제공되는 비용을 최소화하는 부호의 가설을 상기 예측 부호로 선택하는 것
것을 더 포함한다.
예를 들어, 변환된 이미지 블록 A는 부호 SK(i)의 가설을 코딩된 비트스트림에서 파싱된 계수 C(i)에 추가하여 재구성된다. 이것은 비용 함수를 최소화하는 최상의 가설을 찾기 위해 K개의 가설을 테스트하는 데 사용된다. 그 가설은 블록 A에 대한 예측 부호가 된다. 또한 블록 A에 대한 부호를 얻기 위해, 그런 다음 예측된 부호는 콘텍스트-적응 이진 산술 코딩(Context-Adaptive Binary Arithmetic Coding, CABAC)을 사용하여 비트 스트림에서 디코딩될 수 있는 부호 예측 오류에 추가된다.
위에서 이미 설명한 바와 같이, 특정 예시적인 구현에서, 비용 함수 F는
Figure 112020091025418-pct00062
에 의해 주어진 여기서
Figure 112020091025418-pct00063
,
Figure 112020091025418-pct00064
,
Figure 112020091025418-pct00065
, 및
Figure 112020091025418-pct00066
이고, 여기서
Figure 112020091025418-pct00067
는 1차원 직교 변환이고,
Figure 112020091025418-pct00068
,
Figure 112020091025418-pct00069
,
Figure 112020091025418-pct00070
Figure 112020091025418-pct00071
이고, 여기서 P는 예측 신호이고, X 및 Y는 인접 픽셀이고, N 및 M은 각각 부호가 예측되는 블록의 높이와 넓이이다.
인접 픽셀은 이미지 블록의 수평 및 수직 경계에 위치할 수 있음에 유의한다. 수직 경계는 왼쪽 또는 오른쪽 경계일 수 있고 수평 경계는 상단 경계일 수 있다. 이것은 현재 블록을 처리(디코딩) 할 때 상단과 왼쪽(및/또는 오른쪽)의 인접 블록이 이미 디코딩된 경우에 유용하다. 그러나 본 개시는 이러한 실시예들에 제한되지 않는다. 일반적으로, 현재 블록을 디코딩할 때 이미 디코딩된(따라서 이용 가능한) 하나 이상의 인접 블록이 부호를 예측하는 데 사용될 수 있다. 그런 다음, 비용 함수 F는 각각의 이용 가능한 인접 블록으로부터의 경계 픽셀에 대한 현재 블록 픽셀의 대응하는 평활도 검사를 포함한다.
도 8은 일 실시예에 따른 인코딩의 흐름도를 도시한다.
변환 및 양자화된 잔차에 대응하는 양자화된 변환 계수(801)는 US'444에 설명된 바와 유사하게 동작하는 콘텍스트 결정 프로세스(802)에 의해 사용된다.
US'444는 부호 추정과 관련된 자세한 내용을 제공한다. 예를 들어, 위의 표 1의 단계 3과 예측된 부호를 인코딩하는 다른 방법을 보여준다. 이러한 수정은 두 가지 예측 징후 목록을 도입하여 구현된다(표 1의 단계 1 수정). 이 두 목록에 속하는 예측 부호는 서로 다른 CABAC 콘텍스트로 인코딩된다. 이러한 목록을 채우기 위해 다음 규칙이 지정된다.
- 제1 목록은 미리 정의된 임계 값 T1보다 큰 크기를 갖는 계수의 부호로 채워진다. 제1 목록의 총 부호 수는 미리 정의된 값 M으로 제한된다;
- 제1 목록 n의 부호 수가 M보다 적으면 제2 목록이 채워진다. 제2 목록의 총 부호 수는 (M-n)에 의해 제한되므로 두 목록의 총 부호 수는 M을 초과하지 않는다. 제2 목록을 채우는 계수는 래스터 순서의 위치에 따라 정렬되므로 크기가 T1보다 더 크지 않아야 한다.
부호를 인코딩하는 콘텍스트는 제1 목록에 속하는지 제2 목록에 속하는지에 따라 결정된다(표 1의 단계 3에서의 차이).
이 프로세스(802)의 결과는 이러한 계수 위치와 연관된 계수 및 콘텍스트 Cxj의 후보 위치 세트이다. 그 후 US'444 중 하나와 같은 특수 메커니즘이 설정된 부호 예측에 속하는 위치 중 어느 위치에 대해 수행되는지 선택한다(즉, 부호 예측을 위한 M 계수가 선택된다). 선택되지 않은 위치에 대해, 종래의 부호 인코딩 프로세스(809)가 수행된다. 다른 경우(선택된 M 계수에 대해), 부호 예측은 위에서 설명된 바와 같이 도 7 및 식 2 및 식 3에 따라 수행된다(806).
특히, 부호(806)를 예측하기 위해서는 인접 블록의 재구성된 픽셀이 필요하다. 현재 재구성된 블록(804)의 예측 신호의 픽셀은 인접 픽셀 인출 프로세스(803)에 의해 제공되는 인접 픽셀에서 차감된다. 1D 변환(805)은 식 2에서 사용될
Figure 112020091025418-pct00072
Figure 112020091025418-pct00073
을 제공한다. 변환된 잔차 부호(806)의 예측은 식 3에 따른
Figure 112020091025418-pct00074
Figure 112020091025418-pct00075
의 계산을 포함하고 식 2에 의한 비용 함수의 값을 구한다.
Figure 112020091025418-pct00076
Figure 112020091025418-pct00077
의 사용 가능한 모든 계수가 비용 함수를 계산하는 데 사용되는 것은 아니기 때문에 변환 영역에서의 계산은 계산적으로 더 쉽다. 대신 이 방법은 특정 행 및/또는 특정 열에 속하는 여러 계수만 사용한다. 이 행과 열은 부호가 예측되는 계수 위치의 해당 인덱스이다. 식 2의 비용 함수를 최소화하는 일련의 부호가 비용 계산 블록(807)에 의해 생성된다. 그런 다음 부호 예측 오류가 계산되고 M개의 계수의 실수 부호와 계수의 예측 부호 사이의 차이에 대응한다. 부호 예측 오류는 프로세스 블록(208)에서 콘텍스트 Cxj로 엔트로피 인코딩된다. 결과 비트는 종래의 부호 인코딩(809)의 결과와 결합되고 811의 프로세스에서 비트 스트림에 삽입된다.
다시 말해, 디코더에 추가하여, 프로세싱 회로를 포함하는 이미지 블록을 변환하는 장치가 제공되며, 상기 프로세싱 회로는 변환된 이미지 블록에 인접한 인접 픽셀과 이미지 블록의 예측 신호에 기초하여 계산된 인접 픽셀의 예측 사이의 변환된 차이를 포함하는 비용 함수에 기초하여 변환된 이미지 블록의 복수의 계수의 부호를 예측하고; 그 예측된 부호에 따라 복수의 계수의 부호를 인코딩하도록 구성된다.
복수의 계수는 전술한 M개의 계수에 대응할 수 있다. M의 값은 고정될 수 있거나 크기가 특정 임계 값을 초과하는 계수의 수로 주어질 수 있다. 또한, 복수의 M은 위의 예에서 모든 0이 아닌 계수보다 작다는 점에 유의한다. 그러나 원칙적으로 부호 예측은 0이 아닌 모든 부호에도 적용될 수 있다. 유리한 구현에 따르면, 부호가 예측되는 M개의 계수는 현재 블록의 0이 아닌 계수 중 가장 큰 크기를 갖는 M개의 계수이다.
상기 언급된 계수의 인코딩은 복수의 계수의 부호와 복수의 계수의 예측된 부호 사이의 차이로서 부호 예측 오차를 결정함으로써; 그런 다음, 코딩된 이미지 블록을 포함하는 코딩된 스트림에 결정된 부호 예측 오류를 삽입함으로써 수행될 수 있다. 코딩된 스트림은 현재 블록의 이미지 데이터뿐만 아니라 현재 블록이 코딩되는 모드에 관한 다른 시그널링 정보 및/또는 정지 이미지 또는 비디오 이미지의 추가 블록을 포함하는 비트 스트림일 수 있다.
부호의 디코딩과 관련하여 설명된 바와 같이, 일 실시예의 비용 함수는 변환된 이미지 블록에 인접한 인접 픽셀 사이의 제곱 변환된 차이의 합과 이미지 블록의 예측 신호에 기초하여 계산된 인접 픽셀의 예측을 포함한다. 특히, 이 실시예에서, 인코딩 장치 프로세싱 회로가 변환된 이미지 블록의 복수의 계수의 부호를 예측하도록 구성되는 것은: 변환된 이미지 블록에 인접한 인접 픽셀과 이미지 블록의 예측 신호에 기초하여 계산된 인접 픽셀 사이의 변환된 차이를 계산하는 것; 가설 세트로부터의 사인의 각각의 가설에 따라 재구성된 변환된 이미지 블록과 상기 변환된 차이 사이의 제곱 변환된 차이의 합을 포함하는 비용 함수를 계산하는 것; 비용 함수에 의해 주어진 비용을 최소화하는 부호의 가설을 예측 부호로 선택하는 것을 포함한다.
가설 세트는 M개의 부호의 조합 K로 구성되며 가능한 모든 조합(즉, M개의 조합의 2의 거듭 제곱)을 포함할 수 있다. 인코더는 이진 코딩에 의해 M 부호 이외의 나머지 변환 계수 부호를 인코딩하는 프로세싱 회로를 더 포함할 수 있다.
비용 함수 F는 또한 디코더에서와 동일한 방식으로,
Figure 112020091025418-pct00078
에 의해 주어질 수 있으며, 여기서
Figure 112020091025418-pct00079
,
Figure 112020091025418-pct00080
,
Figure 112020091025418-pct00081
,및
Figure 112020091025418-pct00082
이고,
Figure 112020091025418-pct00083
는 1차원 직교 변환이고
Figure 112020091025418-pct00084
,
Figure 112020091025418-pct00085
,
Figure 112020091025418-pct00086
Figure 112020091025418-pct00087
이고, 여기서 P는 예측 신호, X 및 Y는 인접 픽셀이고, N 및 M은 각각 부호가 예측되는 블록의 높이와 넓이이다.
인코더의 프로세싱 회로는 CABAC(Context-Adaptive Binary Arithmetic Coding)를 사용하여 부호 예측 오류를 인코딩하도록 추가로 구성될 수 있다. 그러나 본 개시는 CABAC를 사용하는 것으로 제한되지 않는다. 대신 CAVLC 또는 임의의 VLC 코딩과 같은 각각의 코드 워드로 인코딩될 대응 심볼의 확률에 코드 워드의 길이를 조정하는 임의의 엔트로피 코딩.
도 1과 같은 인코더에서 전술한 실시예의 예시적인 구현이 도 9에 도시되어 있다. 특히, 새로 도입된 모듈(122)은 부호 예측을 수행하고 수정된 모듈(970)은 엔트로피 인코딩을 수행한다.
CABAC 콘텍스트를 사용하여 인코딩될 부호의 위치는 양자화된 계수의 크기에 기초하여 정의되므로, 부호 예측(122)은 양자화 프로세스(108)의 결과를 사용한다. 엔트로피 인코딩 모듈(970)은 두 가지 수정을 포함한다:
- 부호 예측 오류(123)는 양자화된 변환 계수 블록(109) 내의 M개의 주어진 위치 세트에 대한 부호 값 대신에 인코딩된다.
- 엔트로피 인코더(970)에서 부호 예측 오류(123)를 인코딩하는 데 적용되는 새로운 콘텍스트가 도입되어 출력(971)이 생성된다.
도 2와 같은 디코더에서 전술한 실시예들의 예시적인 구현이 도 10에 도시되어있다.
도 10의 디코더는 대응하는 새로운 부호 예측 모듈(122) 및 수정된 엔트로피 디코딩 모듈(1004)을 갖는다. 부호 예측 모듈(122)은 적어도 부호 예측 계산과 관련하여 인코더 측에서 사용되는 것과 실질적으로 동일하지만(도 9 참조) 비트 스트림(971)에서 파싱된 예측 오류 신호(123)를 사용한다. 부호 예측(123)은 블록 내의 크기 분포에 의해 정의된(M) 위치에 위치한 양자화된 변환 계수(209)의 부호 중 일부(M)를 복원한다. 파싱 프로세스(엔트로피 디코딩(1004)) 동안, 부호 예측 오류 신호(123)만이 복원되고 부호 자체는 복원되지 않는다. 본 실시예는 파싱 의존성을 도입하지 않는데, 그 이유는 파싱 프로세스(1004)가 완료된 후에, 특히 역 양자화 프로세스(210)와 병렬로 예측 오류 신호(123)로부터 실제 부호 값 및 위치가 복원될 수 있기 때문이다.
파싱된 부호 예측 오류(123)는 블록(122)의 예측된 부호에 추가되어 디코딩된(재구성된) 부호(209)가 된다. 예측된 부호는 이미 디코딩된 인접 블록만 사용하여 인코더에서와 동일한 방식으로 획득되고 M개의 부호에 대한 K 가설을 테스트한다.
본 명세서는 화상(프레임)에 대한 설명을 제공하지만 인터레이스 화상 신호의 경우 필드가 화상으로 대체된다는 것에 유의한다.
본 발명의 실시예가 주로 비디오 코딩에 기초하여 설명되었지만, 인코더(100) 및 디코더(200)(및 그에 상응하는 시스템(300))의 실시예는 또한 정지 화상 처리 또는 코딩, 즉 비디오 코딩에서와 같이 임의의 선행 또는 연속 화상에 독립적인 개별 화상의 처리 또는 코딩을 위해 구성될 수 있다는 점에 유의해야 한다. 일반적으로 화상 처리 코딩이 단일 화상 101로 제한되는 경우에는 인터-추정 142, 인터-예측 144, 242만 사용할 수 없다. 비디오 인코더의 다른 모든 기능(도구 또는 기술이라고도 함)은 아니지만 대부분(100) 및 비디오 디코더(200)는 예를 들어, 정지 화상에 동일하게 사용될 수 있고, 예를 들어 분할, 변환(스케일링)(106), 양자화(108), 역 양자화(110), 역변환(112), 인트라 추정(142), 인트라 예측(154, 254) 및/또는 루프 필터링(120, 220) 및 엔트로피 코딩(170) 및 엔트로피 디코딩(204)에 사용될 수 있다.
당업자는 다양한 도면(방법 및 장치)의 "블록"("유닛")이(하드웨어 또는 소프트웨어의 개별 "유닛"이 아니라) 본 발명의 실시예의 기능을 나타내거나 설명한다는 것을 이해할 것이다. 따라서 장치 실시예 및 방법 실시예의 기능 또는 특징을 동일하게 설명한다(유닛=단계).
"유닛"의 용어는 인코더/디코더의 실시예의 기능의 예시적인 목적으로만 사용되며 본 개시를 제한하려는 의도가 아니다.
본 출원에서 제공되는 여러 실시예에서, 개시된 시스템, 장치 및 방법은 다른 방식으로 구현될 수 있음을 이해해야 한다. 예를 들어, 설명된 장치 실시예는 단지 예시일 뿐이다. 예를 들어, 단위 분할은 단순히 논리적 기능 분할이며 실제 구현에서는 다른 분할일 수 있다. 예를 들어, 복수의 유닛 또는 구성 요소가 다른 시스템에 결합되거나 통합될 수 있거나, 일부 기능이 무시되거나 수행되지 않을 수 있다. 또한, 표시되거나 논의된 상호 결합 또는 직접 결합 또는 통신 연결은 일부 인터페이스를 사용하여 구현될 수 있다. 장치 또는 유닛 사이의 간접 결합 또는 통신 연결은 전자적, 기계적 또는 다른 형태로 구현될 수 있다.
분리된 부분으로 기술된 단위는 물리적으로 분리될 수도 있고 그렇지 않을 수도 있고, 단위로 표시된 부분은 물리적 유닛일 수도 있고 아닐 수도 있고, 한 위치에 위치할 수도 있고, 복수의 네트워크 단위에 분산될 수도 있다. 유닛의 일부 또는 전부는 실시예의 솔루션의 목적을 달성하기 위해 실제 필요에 따라 선택될 수 있다.
또한, 본 발명의 실시예에서의 기능 유닛은 하나의 처리 유닛으로 통합될 수 있거나, 각각의 유닛이 물리적으로 단독으로 존재할 수 있거나, 둘 이상의 유닛이 하나의 유닛으로 통합될 수 있다.
본 발명의 실시예는 예를 들어, 장치, 예를 들어 인코더 및/또는 디코더를 더 포함할 수 있으며, 여기에 설명된 방법 및/또는 프로세스 중 임의의 것을 수행하도록 구성된 프로세싱 회로를 포함한다.
인코더(100) 및/또는 디코더(200)의 실시예 및 다른 실시예는 하드웨어, 펌웨어, 소프트웨어 또는 이들의 임의의 조합으로 구현될 수 있다. 예를 들어, 인코더/인코딩 또는 디코더/디코딩의 기능은 예를 들어 펌웨어 또는 소프트웨어가 있거나 없는 프로세싱 회로, 예를 들어, 프로세서, 마이크로컨트롤러, 디지털 신호 프로세서(digital signal processor, DSP), 필드 프로그래머블 게이트 얼이(Field Programmable Gate Array, FPGA), 주문형 집적 회로(application-specific integrated circuit, ASIC) 등에 의해 수행될 수 있다.
인코더(100)(및 대응하는 인코딩 방법(100)) 및/또는 디코더(200)(및 대응하는 디코딩 방법(200))의 기능은 컴퓨터 판독 가능 매체에 저장된 프로그램 명령에 의해 구현될 수 있다. 프로그램 명령은 실행될 때 프로세싱 회로, 컴퓨터, 프로세서 등이 인코딩 및/또는 디코딩 방법의 단계를 수행하게 한다. 컴퓨터 판독 가능 매체는 블루 레이 디스크, DVD, CD, USB(플래시) 드라이브, 하드 디스크, 네트워크를 통해 사용할 수 있는 서버 저장소 등과 같이 프로그램이 저장된 비 일시적 저장 매체를 포함한 모든 매체일 수 있다.
본 발명의 실시예는 컴퓨터상에서 실행될 때 본 명세서에 설명된 방법 중 임의의 것을 수행하기 위한 프로그램 코드를 포함하는 컴퓨터 프로그램을 포함하거나 또는 컴퓨터 프로그램이다.
본 발명의 실시예는 프로세서에 의해 실행될 때 컴퓨터 시스템이 여기에 설명된 방법 중 임의의 것을 수행하게 하는 프로그램 코드를 포함하는 컴퓨터 판독 가능 비 일시적 매체를 포함하거나 포함한다.
요약하면, 본 개시는 예를 들어 이미지 및/또는 비디오 코딩 및 디코딩에서 적용 가능한 변환 계수의 부호를 코딩 및 디코딩하기 위한 실시예를 제공한다. 특히, 복수의 부호가 예측되고 예측 오류 신호 만이 비트 스트림에 삽입된다. 예측 오류 신호는 CABAC 또는 다른 가변 길이(엔트로피) 코딩으로 효율적으로 코딩될 수 있는 분포를 가질 수 있다. 부호 예측을 효율적으로 수행하기 위해, 변환된 화상 블록에 인접한 인접 픽셀과 이미지 블록의 예측 신호에 기초하여 계산된 인접 픽셀 예측 간의 변환된 차이를 포함하는 비용 함수에 기초하여 변환 화상 블록의 복수의 계수의 부호를 예측한다.
참조 부호 목록
도 1
100 인코더
103 화상 블록
102 입력(예를 들어, 입력 포트, 입력 인터페이스)
104 잔차 계산 [단위 또는 단계]
105 잔차 블록
106 변환(예를 들어, 스케일링 추가 포함) [단위 또는 단계]
107 변환된 계수
108 양자화 [단위 또는 단계]
109 양자화된 계수
110 역 양자화 [단위 또는 단계]
111 역 양자화 계수
112 역변환(예를 들어, 스케일링 추가 포함) [단위 또는 단계]
113 역변환된 블록
114 재구성 [단위 또는 단계]
115 재구성된 블록
116(라인) 버퍼 [단위 또는 단계]
117 참조 샘플
120 루프 필터 [단위 또는 단계]
121 필터링된 블록
130 디코딩된 화상 버퍼(DPB) [단위 또는 단계]
142 인터 추정(또는 인터 화상 추정) [단위 또는 단계]
143 인터 추정 파라미터(예를 들어, 참조 화상/참조 화상 인덱스, 모션 벡터/오프셋)
144 인터 예측(또는 인터 화상 예측) [단위 또는 단계]
145 인터 예측 블록
152 인트라 추정(또는 인트라 화상 추정) [단위 또는 단계]
153 내부 예측 파라미터(예를 들어, 내부 예측 모드)
154 인트라 예측(인트라 프레임/화상 예측) [단위 또는 단계]
155 인트라 예측 블록
162 모드 선택 [단위 또는 단계]
165 예측 블록(인터 예측 블록 145 또는 인트라 예측 블록 155)
170 엔트로피 인코딩 [단위 또는 단계]
171 인코딩된 화상 데이터(예를 들어, 비트 스트림)
172 출력(출력 포트, 출력 인터페이스)
231 디코딩된 화상
도 2
200 디코더
171 인코딩된 화상 데이터(예를 들어, 비트 스트림)
202 입력(포트/인터페이스)
204 엔트로피 디코딩
209 양자화된 계수
210 역 양자화
211 역 양자화 계수
212 역변환(스케일링)
213 역변환된 블록
214 재건(단위)
215 재구성된 블록
216(라인) 버퍼
217 참조 샘플
220 루프 필터(루프 필터 내)
221 필터링된 블록
230 디코딩된 화상 버퍼(DPB)
231 디코딩된 화상
232 출력(포트/인터페이스)
244 인터 예측(인터 프레임/화상 예측)
245 인터 예측 블록
254 인트라 예측(인트라 프레임/화상 예측)
255 내부 예측 블록
260 모드 선택
265 예측 블록(인터 예측 블록 245 또는 인트라 예측 블록 255)
도 3
300 코딩 시스템
310 소스 장치
312 화상 소스
313(소스) 화상 데이터
314 전 처리기/전 처리기
315 전처리된 화상 데이터
318 통신 유닛/인터페이스
320 대상 장치
322 통신 장치/인터페이스
326 포스트 프로세서/후 처리 장치
327 후 처리된 화상 데이터
328 디스플레이 장치/유닛
330 전송/수신/통신(인코딩된) 화상 데이터
도 4
410 현재 블록
420 재구성된 블록
430 예측 블록
440 예측 오류 블록
도 5:
510 계수의 절대 수준에 따라 계수의 부호 정렬
520 부호 추정
530 CABAC 인코딩
540 우회 인코딩
도 6:
610 현재 블록
620개의 인접 픽셀 열
630 인접 픽셀 행
도 7:
710 재구성된 블록
720 픽셀 도메인의 예측 블록
730 픽셀 도메인의 잔차 블록
740 현재 블록의 왼쪽에 인접한 블록
750 차이 신호
760 전파된 예측
770 인접 블록 열
790 현재 블록
도 8:
801 잔차
802 콘텍스트 결정
803 인접 블록의 라인 획득
804 픽셀 도메인의 예측
805 변환
806 부호 예측
807 비용 함수 평가
808 부호 예측 오류의 코딩
809 예측 없는 표지판 코딩
811 부호 부호 및 부호 예측 오류를 비트 스트림에 포함
도 9:
122 부호 예측
123 부호 예측 오류
970 엔트로피 코딩
971 인코딩된 화상 데이터
도 10:
1004 엔트로피 디코딩
209 재건된 표지판

Claims (18)

  1. 프로세싱 회로를 포함하는 이미지 블록을 디코딩하는 장치로서,
    상기 프로세싱 회로는:
    변환된 이미지 블록(A)에 인접한 인접 픽셀(770)과 이미지 블록의 예측 신호(790)에 기초하여 계산된 인접 픽셀의 예측(760) 사이의 변환된 차이(B)를 포함하는 비용 함수에 기초하여 상기 변환된 이미지 블록의 복수의 비-제로 계수의 부호를 예측하고(122) - 상기 인접 픽셀은 상기 이미지 블록과 경계에 가장 가까운 인접 블록의 2개의 행과 2개의 열에서의 픽셀을 포함하고, 변환 영역에서 상기 변환된 차이는 일차원 직교 변환에 의해 획득되고, 상기 비용 함수가 상기 변환 영역에서 상기 부호의 조합의 모든 가능한 세트에 대해 계산되고, 상기 비용 함수를 최소화하는 세트가 예측된 부호로서 선택됨 -; 그리고
    상기 예측된 부호에 따라 상기 복수의 비-제로 계수의 부호를 재구성하도록 구성되어 있는, 이미지 블록을 디코딩하는 장치.
  2. 제1항에 있어서,
    상기 프로세싱 회로는:
    코딩된 스트림으로부터 부호 예측 오류를 파싱하고(1004);
    상기 파싱된 부호 예측 오류를 상기 예측된 부호에 추가하는 것을 포함하여 부호(209)를 재구성하도록 추가로 구성되어 있는, 이미지 블록을 디코딩하는 장치.
  3. 제1항 또는 제2항에 있어서,
    상기 비용 함수는 상기 변환된 이미지 블록에 인접한 인접 픽셀과 상기 이미지 블록의 예측 신호에 기초하여 계산된 인접 픽셀의 예측 사이의 제곱 변환된 차이의 합(sum of squared transformed differences)을 포함하는, 이미지 블록을 디코딩하는 장치.
  4. 제3항에 있어서,
    상기 프로세싱 회로가 변환된 이미지 블록의 복수의 비-제로 계수의 부호를 예측하도록 구성되는 것은:
    상기 변환된 이미지 블록에 인접한 인접 픽셀(770)과 상기 이미지 블록의 예측 신호(790)에 기초하여 계산된 인접 픽셀의 예측(760) 사이의 상기 변환된 차이(B)를 계산하는 것;
    부호의 세트에서 각각의 부호의 세트에 따라 재구성된 변환된 이미지 블록과 상기 변환된 차이 사이의 제곱 변환된 차이의 합을 포함하는 비용 함수를 계산하는 것; 및
    상기 비용 함수에 의해 제공되는 비용을 최소화하는 부호의 세트를 상기 예측된 부호로 선택하는 것
    을 더 포함하는, 이미지 블록을 디코딩하는 장치.
  5. 제4항에 있어서,
    상기 변환된 이미지 블록은 상기 부호의 세트를 코딩된 스트림으로부터 파싱된 계수에 추가하여 재구성되는, 이미지 블록을 디코딩하는 장치.
  6. 제1항 또는 제2항에 있어서,
    상기 비용 함수 F는 다음과 같이 주어지고:
    Figure 112021146580270-pct00118

    여기서
    Figure 112021146580270-pct00119
    ,
    Figure 112021146580270-pct00120
    ,
    Figure 112021146580270-pct00121
    , 및
    Figure 112021146580270-pct00122
    이고, 여기서
    Figure 112021146580270-pct00123
    는 1차원 직교 변환이고
    Figure 112021146580270-pct00124
    ,
    Figure 112021146580270-pct00125
    ,
    Figure 112021146580270-pct00126
    Figure 112021146580270-pct00127
    이며, 여기서 P는 예측 신호이고, X 및 Z는 인접 픽셀이고, N 및 M은 각각 부호가 예측되는 블록의 높이와 넓이인, 이미지 블록을 디코딩하는 장치.
  7. 제1항 또는 제2항에 있어서,
    상기 인접 픽셀은 상기 이미지 블록의 수평 및 수직 경계에 위치하는, 이미지 블록을 디코딩하는 장치.
  8. 제2항에 있어서,
    상기 프로세싱 회로는:
    콘텍스트 적응 이진 산술 코딩(Context-Adaptive Binary Arithmetic Coding, CABAC)을 사용하여 상기 부호 예측 오류를 디코딩하도록(1004) 추가로 구성되어 있는, 이미지 블록을 디코딩하는 장치.
  9. 프로세싱 회로를 포함하는 이미지 블록을 인코딩하는 장치로서,
    상기 프로세싱 회로는:
    변환된 이미지 블록에 인접한 인접 픽셀과 이미지 블록의 예측 신호에 기초하여 계산된 인접 픽셀의 예측 사이의 변환된 차이를 포함하는 비용 함수에 기초하여 상기 변환된 이미지 블록의 복수의 비-제로 계수의 부호를 예측하고(806) - 상기 인접 픽셀은 상기 이미지 블록과 경계에 가장 가까운 인접 블록의 2개의 행과 2개의 열에서의 픽셀을 포함하고, 변환 영역에서 상기 변환된 차이는 일차원 직교 변환에 의해 획득되고, 상기 비용 함수가 상기 변환 영역에서 상기 부호의 조합의 모든 가능한 세트에 대해 계산되고, 상기 비용 함수를 최소화하는 세트가 예측된 부호로서 선택됨 -; 그리고
    상기 예측된 부호에 따라 상기 복수의 비-제로 계수의 부호를 인코딩하도록(808) 구성되어 있는, 이미지 블록을 인코딩하는 장치.
  10. 제9항에 있어서,
    상기 프로세싱 회로가 복수의 비-제로 계수의 부호를 인코딩하도록 구성되는 것은:
    상기 복수의 비-제로 계수의 부호와 상기 복수의 비-제로 계수의 예측된 부호 사이의 차이로서 부호 예측 오류를 결정하는 것(808);
    상기 결정된 부호 예측 오류를 상기 코딩된 이미지 블록을 포함하는 코딩된 스트림에 삽입하는 것(811)
    을 더 포함하는, 이미지 블록을 인코딩하는 장치.
  11. 제9항 또는 제10항에 있어서,
    상기 비용 함수는 상기 변환된 이미지 블록에 인접한 인접 픽셀과 상기 이미지 블록의 예측 신호에 기초하여 계산된 인접 픽셀의 예측 사이의 제곱 변환된 차이의 합(sum of squared transformed differences)을 포함하는, 이미지 블록을 인코딩하는 장치.
  12. 제11항에 있어서,
    상기 프로세싱 회로가 변환된 이미지 블록의 복수의 비-제로 계수의 부호를 예측하도록 구성되는 것은:
    상기 변환된 이미지 블록에 인접한 인접 픽셀과 상기 이미지 블록의 예측 신호에 기초하여 계산된 인접 픽셀의 예측 사이의 상기 변환된 차이를 계산하는 것;
    부호의 세트에서 각각의 부호의 세트에 따라 재구성된 변환된 이미지 블록과 상기 변환된 차이 사이의 제곱 변환된 차이의 합을 포함하는 비용 함수를 계산하는 것; 및
    상기 비용 함수에 의해 제공되는 비용을 최소화하는 부호의 세트를 상기 예측된 부호로 선택하는 것
    을 더 포함하는, 이미지 블록을 인코딩하는 장치.
  13. 제9항 또는 제10항에 있어서,
    상기 비용 함수는 다음과 같이 주어지고:
    Figure 112021146580270-pct00128

    여기서
    Figure 112021146580270-pct00129
    ,
    Figure 112021146580270-pct00130
    ,
    Figure 112021146580270-pct00131
    , 및
    Figure 112021146580270-pct00132
    이고, 여기서
    Figure 112021146580270-pct00133
    는 1차원 직교 변환이고
    Figure 112021146580270-pct00134
    ,
    Figure 112021146580270-pct00135
    ,
    Figure 112021146580270-pct00136
    Figure 112021146580270-pct00137
    이며, 여기서 P는 예측 신호이고, X 및 Z는 인접 픽셀이고, N 및 M은 각각 부호가 예측되는 블록의 높이와 넓이인, 이미지 블록을 인코딩하는 장치.
  14. 제9항 또는 제10항에 있어서,
    상기 인접 픽셀은 상기 이미지 블록의 수평 및 수직 경계에 위치하는, 이미지 블록을 인코딩하는 장치.
  15. 제10항에 있어서,
    상기 프로세싱 회로는: 콘텍스트 적응 이진 산술 코딩(Context-Adaptive Binary Arithmetic Coding, CABAC)을 사용하여 상기 부호 예측 오류를 인코딩하도록(970) 추가로 구성되어 있는, 이미지 블록을 인코딩하는 장치.
  16. 이미지 블록을 디코딩하는 방법으로서,
    변환된 이미지 블록에 인접한 인접 픽셀과 이미지 블록의 예측 신호에 기초하여 계산된 인접 픽셀의 예측 사이의 변환된 차이를 포함하는 비용 함수에 기초하여 상기 변환된 이미지 블록의 복수의 비-제로 계수의 부호를 예측하는 단계 - 상기 인접 픽셀은 상기 이미지 블록과 경계에 가장 가까운 인접 블록의 2개의 행과 2개의 열에서의 픽셀을 포함하고, 변환 영역에서 상기 변환된 차이는 일차원 직교 변환에 의해 획득되고, 상기 비용 함수가 상기 변환 영역에서 상기 부호의 조합의 모든 가능한 세트에 대해 계산되고, 상기 비용 함수를 최소화하는 세트가 예측된 부호로서 선택됨 -; 및
    상기 예측된 부호에 따라 상기 복수의 비-제로 계수의 부호를 재구성하는 단계
    를 포함하는 이미지 블록을 디코딩하는 방법.
  17. 이미지 블록을 인코딩하는 방법으로서,
    변환된 이미지 블록에 인접한 인접 픽셀과 이미지 블록의 예측 신호에 기초하여 계산된 인접 픽셀의 예측 사이의 변환된 차이를 포함하는 비용 함수에 기초하여 상기 변환된 이미지 블록의 복수의 비-제로 계수의 부호를 예측하는 단계 - 상기 인접 픽셀은 상기 이미지 블록과 경계에 가장 가까운 인접 블록의 2개의 행과 2개의 열에서의 픽셀을 포함하고, 변환 영역에서 상기 변환된 차이는 일차원 직교 변환에 의해 획득되고, 상기 비용 함수가 상기 변환 영역에서 상기 부호의 조합의 모든 가능한 세트에 대해 계산되고, 상기 비용 함수를 최소화하는 세트가 예측된 부호로서 선택됨 -; 및
    상기 예측된 부호에 따라 상기 복수의 비-제로 계수의 부호를 재구성하는 단계
    를 포함하는 이미지 블록을 인코딩하는 방법.
  18. 컴퓨터 판독 가능형 매체로서,
    프로세서 상에서 실행될 때, 제16항 또는 제17항에 따른 단계를 수행하는 명령을 포함하는 컴퓨터 판독 가능형 매체.
KR1020207024975A 2018-03-07 2018-03-07 변환 도메인에서 잔차 부호 예측 방법 및 장치 Active KR102419112B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/RU2018/000142 WO2019172798A1 (en) 2018-03-07 2018-03-07 Method and apparatus for residual sign prediction in transform domain

Publications (2)

Publication Number Publication Date
KR20200112964A KR20200112964A (ko) 2020-10-05
KR102419112B1 true KR102419112B1 (ko) 2022-07-07

Family

ID=62002704

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020207024975A Active KR102419112B1 (ko) 2018-03-07 2018-03-07 변환 도메인에서 잔차 부호 예측 방법 및 장치

Country Status (6)

Country Link
US (2) US11856216B2 (ko)
EP (2) EP3738311A1 (ko)
JP (1) JP7047119B2 (ko)
KR (1) KR102419112B1 (ko)
CN (2) CN111819852B (ko)
WO (2) WO2019172798A1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024117884A1 (ko) * 2022-12-02 2024-06-06 엘지전자 주식회사 영상 인코딩/디코딩 방법 및 장치, 그리고 비트스트림을 저장한 기록 매체
WO2024191221A1 (ko) * 2023-03-15 2024-09-19 현대자동차주식회사 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
WO2025121677A1 (ko) * 2023-12-05 2025-06-12 현대자동차주식회사 변환스킵 블록의 부호 예측에 기반하는 비디오 코딩을 위한 방법 및 장치
WO2024215069A3 (ko) * 2023-04-10 2025-06-26 현대자동차주식회사 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7040629B2 (ja) * 2018-09-20 2022-03-23 富士通株式会社 符号化装置、符号化方法、符号化プログラム、復号装置、復号方法及び復号プログラム
US12499353B1 (en) * 2018-12-12 2025-12-16 Amazon Technologies, Inc. Configurable function approximation based on hardware selection of mapping table content
CN113365054B (zh) * 2019-03-09 2022-08-05 杭州海康威视数字技术股份有限公司 进行编码和解码的方法、解码端、编码端和系统
US11936916B2 (en) * 2019-06-25 2024-03-19 Lg Electronics Inc. Image decoding method using lossless coding in image coding system and apparatus therefor
CN114731392B (zh) * 2019-09-21 2025-01-03 北京字节跳动网络技术有限公司 用于图像和视频编解码的高精度变换和量化
MX2023011286A (es) * 2021-03-29 2023-10-04 Qualcomm Inc Modelado de contexto para la prediccion de signos para la codificacion de video.
US12418681B2 (en) 2021-03-29 2025-09-16 Qualcomm Incorporated Context modeling for sign prediction for video coding
US12439095B2 (en) * 2021-04-16 2025-10-07 Tencent America LLC Entropy coding of sign map for transform coefficients
US11665351B2 (en) * 2021-06-30 2023-05-30 Tencent America LLC Method and apparatus for video coding
US20240298009A1 (en) * 2021-08-17 2024-09-05 Beijing Dajia Internet Information Technology Co., Ltd. Sign prediction for block-based video coding
US12563234B2 (en) 2021-08-17 2026-02-24 Beijing Dajia Internet Information Technology Co., Ltd. Sign prediction for block-based video coding
EP4385209A4 (en) 2021-08-17 2025-07-02 Beijing Dajia Internet Information Tech Co Ltd SIGN PREDICTION FOR BLOCK-BASED VIDEO CODING
US20250039377A1 (en) * 2021-08-17 2025-01-30 Beijing Dajia Internet Information Technology Co., Ltd. Sign prediction for block-based video coding
US12604039B2 (en) * 2021-08-17 2026-04-14 Beijing Dajia Internet Information Technology Co., Ltd. Sign prediction for block-based video coding
JP7813353B2 (ja) * 2021-09-15 2026-02-12 ベイジン ダージャー インターネット インフォメーション テクノロジー カンパニー リミテッド ブロックベースのビデオ符号化のための符号予測
KR20240089081A (ko) * 2021-09-29 2024-06-20 알리바바 다모 (항저우) 테크놀로지 씨오., 엘티디. 비디오 코딩에서 변환 계수의 개선된 잔차 부호 예측
CN118235412A (zh) * 2021-11-10 2024-06-21 北京达佳互联信息技术有限公司 基于块的视频编解码的符号预测
CN118872270A (zh) * 2021-12-09 2024-10-29 联发科技股份有限公司 转换系数符号的熵编码
CN118476228A (zh) * 2021-12-16 2024-08-09 北京达佳互联信息技术有限公司 用于基于块的视频编解码的符号预测
EP4449722A4 (en) * 2021-12-16 2025-12-17 Beijing Dajia Internet Information Tech Co Ltd Character prediction for block-based video coding
KR20230092806A (ko) * 2021-12-17 2023-06-26 주식회사 케이티 비디오 신호 부호화/복호화 방법, 그리고 비트스트림을 저장한 기록 매체
CN118202653A (zh) * 2021-12-31 2024-06-14 Oppo广东移动通信有限公司 编解码方法、码流、编码器、解码器以及存储介质
CN116600130B (zh) * 2022-01-19 2024-10-29 杭州海康威视数字技术股份有限公司 一种系数解码方法、装置、图像解码器及电子设备
JP2025038266A (ja) * 2022-02-22 2025-03-19 シャープ株式会社 動画像復号装置および動画像符号化装置
CN116800968A (zh) * 2022-03-17 2023-09-22 中兴通讯股份有限公司 编码方法及装置、解码方法及装置、存储介质、电子装置
EP4503608A4 (en) * 2022-03-24 2026-03-18 Lg Electronics Inc IMAGE DECODING METHOD AND DEVICE
WO2023200243A1 (ko) * 2022-04-12 2023-10-19 엘지전자 주식회사 Mvd 부호 예측에 기반한 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장하는 기록 매체
CN115118976B (zh) * 2022-06-22 2024-12-24 安谋科技(中国)有限公司 一种图像编码方法、可读介质及其电子设备
WO2024020117A1 (en) * 2022-07-19 2024-01-25 Google Llc Dependent context model for transform types
CN121942196A (zh) * 2023-09-28 2026-04-28 Oppo广东移动通信有限公司 编解码方法、码流、编码器、解码器以及存储介质
WO2025199745A1 (zh) * 2024-03-26 2025-10-02 Oppo广东移动通信有限公司 连续性代价确定方法、解码方法、装置及存储介质
WO2025209325A1 (en) * 2024-04-01 2025-10-09 Mediatek Inc. Method and apparatus for predicting signs of transform coefficients in image or video coding systems
CN118741158B (zh) * 2024-06-14 2025-10-21 联通沃音乐文化有限公司 在h.264编码环境下的视频无损压缩方法、设备和介质
CN118368443B (zh) * 2024-06-17 2024-08-30 深圳市旗云智能科技有限公司 应用于视频和图像处理的变换方法

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7386048B2 (en) * 2002-05-28 2008-06-10 Sharp Laboratories Of America, Inc. Methods and systems for image intra-prediction mode organization
US7469070B2 (en) * 2004-02-09 2008-12-23 Lsi Corporation Method for selection of contexts for arithmetic coding of reference picture and motion vector residual bitstream syntax elements
WO2011099080A1 (ja) 2010-02-12 2011-08-18 富士通株式会社 画像符号化装置及び画像復号装置
WO2011127961A1 (en) * 2010-04-13 2011-10-20 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e. V. Adaptive image filtering method and apparatus
CN101895756B (zh) * 2010-07-15 2012-10-31 北京大学 视频图像块的编码、解码、重构方法及系统
CN103141101B (zh) * 2010-09-30 2016-05-11 富士通株式会社 动态图像加密装置、动态图像加密方法、动态图像解密装置及动态图像解密方法
FR2982447A1 (fr) * 2011-11-07 2013-05-10 France Telecom Procede de codage et decodage d'images, dispositif de codage et decodage et programmes d'ordinateur correspondants
US9008184B2 (en) * 2012-01-20 2015-04-14 Blackberry Limited Multiple sign bit hiding within a transform unit
EP4258663B1 (en) * 2012-01-20 2024-10-02 Velos Media International Limited Multiple sign bit hiding within a transform unit
US9313498B2 (en) * 2012-04-16 2016-04-12 Qualcomm Incorporated Sign hiding techniques for quantized transform coefficients in video coding
FR3023112A1 (fr) 2014-06-27 2016-01-01 Bcom Procede de codage d'une image numerique, procede de decodage, dispositifs et programmes d'ordinateurs associes
US9948934B2 (en) * 2014-07-02 2018-04-17 Apple Inc. Estimating rate costs in video encoding operations using entropy encoding statistics
US10440399B2 (en) * 2015-11-13 2019-10-08 Qualcomm Incorporated Coding sign information of video data
FR3057130B1 (fr) * 2016-10-03 2019-08-02 B<>Com Procede de codage d'une image, procede de decodage, dispositifs, equipement terminal et programmes d'ordinateurs associes
US10609367B2 (en) * 2016-12-21 2020-03-31 Qualcomm Incorporated Low-complexity sign prediction for video coding
CN109391846B (zh) * 2017-08-07 2020-09-01 浙江宇视科技有限公司 一种自适应模式选择的视频加扰方法及装置
US20190208225A1 (en) * 2018-01-02 2019-07-04 Qualcomm Incorporated Sign prediction in video coding

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Felix Henry, et al. Residual Coefficient Sign Prediction, Joint Video exploration Team(JVET), JVET-D0031, 2016-10-20, pp 1-6*
Jumpei Koyama, et al. Coefficient sign bit compression in video coding, 2012 Picture Coding Symposium, IEEE, 2012-06-08, pp 1-4*
K.Kazui, et al. Description of video coding technology proposal by FUGITSU, JCT-VC of ITU-T and ISO/IEC. JCTVC-A115, 2012-03-19, pp 1-24*

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024117884A1 (ko) * 2022-12-02 2024-06-06 엘지전자 주식회사 영상 인코딩/디코딩 방법 및 장치, 그리고 비트스트림을 저장한 기록 매체
WO2024191221A1 (ko) * 2023-03-15 2024-09-19 현대자동차주식회사 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
WO2024215069A3 (ko) * 2023-04-10 2025-06-26 현대자동차주식회사 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
WO2025121677A1 (ko) * 2023-12-05 2025-06-12 현대자동차주식회사 변환스킵 블록의 부호 예측에 기반하는 비디오 코딩을 위한 방법 및 장치

Also Published As

Publication number Publication date
EP3741123B1 (en) 2025-12-03
CN111819853A (zh) 2020-10-23
EP3738311A1 (en) 2020-11-18
JP7047119B2 (ja) 2022-04-04
US11438618B2 (en) 2022-09-06
US20200404311A1 (en) 2020-12-24
CN111819852A (zh) 2020-10-23
JP2021516016A (ja) 2021-06-24
CN111819853B (zh) 2023-07-18
CN111819852B (zh) 2023-06-02
WO2019172798A1 (en) 2019-09-12
US20210014509A1 (en) 2021-01-14
WO2019172802A1 (en) 2019-09-12
EP3741123A1 (en) 2020-11-25
KR20200112964A (ko) 2020-10-05
US11856216B2 (en) 2023-12-26

Similar Documents

Publication Publication Date Title
US11438618B2 (en) Method and apparatus for residual sign prediction in transform domain
US11265535B2 (en) Method and apparatus for harmonizing multiple sign bit hiding and residual sign prediction
KR102823907B1 (ko) 교차-컴포넌트 필터링을 위한 방법 및 장치
KR102596735B1 (ko) 루마 및 크로마 성분에 대한 ibc 전용 버퍼 및 디폴트 값 리프레싱을 사용하는 인코더, 디코더 및 대응하는 방법들
JP7343669B2 (ja) Vvcにおける色変換のための方法及び機器
EP3738309B1 (en) Method and apparatus for detecting blocks suitable for multiple sign bit hiding
KR20250107970A (ko) 인코더, 디코더 및 적응 루프 필터를 사용한 대응 방법들
US20200404339A1 (en) Loop filter apparatus and method for video coding
CN112673640A (zh) 使用调色板译码的编码器、解码器和相应方法
KR20240064039A (ko) 인코더, 디코더 및 대응하는 디블록킹 필터 적응의 방법
JP2023134576A (ja) コンパクトなmvストレージを用いるエンコーダ、デコーダ、及び対応する方法
KR20220024900A (ko) 비선형 적응 루프 필터의 클리핑 레벨
KR20210015963A (ko) 인트라-예측을 위한 디바이스 및 방법
CN114913249A (zh) 编码、解码方法和相关设备
CN114598873A (zh) 量化参数的解码方法和装置
US11259054B2 (en) In-loop deblocking filter apparatus and method for video coding

Legal Events

Date Code Title Description
PA0105 International application

Patent event date: 20200828

Patent event code: PA01051R01D

Comment text: International Patent Application

PA0201 Request for examination
PG1501 Laying open of application
E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20211022

Patent event code: PE09021S01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20220426

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20220705

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20220705

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
PR1001 Payment of annual fee

Payment date: 20250616

Start annual number: 4

End annual number: 4