KR20210080392A - 디블로킹 또는 디링잉 필터 및 디블로킹 및 디링잉 필터의 강도를 적용하고 변경하기 위한 인코더, 디코더 및 방법 - Google Patents

디블로킹 또는 디링잉 필터 및 디블로킹 및 디링잉 필터의 강도를 적용하고 변경하기 위한 인코더, 디코더 및 방법 Download PDF

Info

Publication number
KR20210080392A
KR20210080392A KR1020217012228A KR20217012228A KR20210080392A KR 20210080392 A KR20210080392 A KR 20210080392A KR 1020217012228 A KR1020217012228 A KR 1020217012228A KR 20217012228 A KR20217012228 A KR 20217012228A KR 20210080392 A KR20210080392 A KR 20210080392A
Authority
KR
South Korea
Prior art keywords
block
boundary
deblocking
blocks
corner
Prior art date
Application number
KR1020217012228A
Other languages
English (en)
Other versions
KR102606092B1 (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 KR20210080392A publication Critical patent/KR20210080392A/ko
Application granted granted Critical
Publication of KR102606092B1 publication Critical patent/KR102606092B1/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/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
    • 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/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/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/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/172Methods 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 picture, frame or field
    • 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/182Methods 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 pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Landscapes

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

Abstract

본 발명은 화상(12)의 블록 (1000)을 필터링하기 위한 디블로킹 또는 디링잉 필터(110, 120)의 강도를 적용하고 변경하기 위한 인코더, 디코더 및 방법에 관한 것으로, 상기 디블로킹 필터(110, 120)는 상기 블록(1000)의 경계(1010)의 적어도 8 개의 경계부(1011, 1012, 1013, 1014, 1021, 1022, 1023, 1024) 각각에 대해, 상기 각각의 경계부(1011, 1012, 1013, 1014, 1021, 1022, 1023, 1024))을 따라 상기 블록(1000)의 필터링되지 않은 콘텐츠(1015)와 상기 블록(1000) 주변의 주변 화상 콘텐츠(1016) 사이의 불일치를 결정하도록 구성되고, 상기 8 개의 경계부(1011, 1012, 1013, 1014, 1021, 1022, 1023, 1024)는 각각 상기 블록(1000)의 코너에 배열되는, 4 개의 코너 경계부(1021, 1022, 1023, 1024) 및 각각 상기 블록(1000)의 상기 코너 사이의 상기 경계(1010)의 중간 부분에 배열되는, 4 개의 에지 경계부(1011, 1012, 1013, 1014)를 포함한다. 또한, 상기 디블로킹 필터는 상기 블록(1000)의 상기 필터링된 콘텐츠를 획득하기 위해 상기 적어도 8 개의 경계부(1011, 1012, 1013, 1014, 1021, 1022, 1023, 1024)에 대해 결정된 상기 불일치를 사용하여 블록(1000)의 디블로킹 필터링을 매개 변수화하도록 구성된다.

Description

디블로킹 또는 디링잉 필터 및 디블로킹 및 디링잉 필터의 강도를 적용하고 변경하기 위한 인코더, 디코더 및 방법
본 발명의 실시 예는 디블로킹(deblocking) 또는 디링잉(deringing) 필터뿐만 아니라 디블로킹 또는 디링잉 필터를 사용하여 화상 데이터를 블록 기반 인코딩 및 디코딩하기 위한 인코더, 디코더 및 각각의 방법에 관한 것으로, 이 때 상기 디블로킹 또는 디링잉 필터의 강도는 하나 이상의 조건에 따라 변할 수 있다. 일부 구현은 특히 각 필터 제어 매개 변수의 선택적 시그널링과 관련될 수 있다.
현대 지각적 (즉, 손실 있는) 블록 변환 이미지 및 비디오 코덱(코더/디코더)은 상대적으로 낮은 비트 전송률에서도 매우 우수한 시각적 복원 품질에 도달할 수 있다. 그러나 매우 낮은 비트 전송률에서는 종종 "차단"이라고 하는 블록 경계 주변의 흐림 및 불연속과 같은 아티팩트가 나타난다. 이러한 일반적으로 바람직하지 않은 아티팩트를 완화하기 위해서, H.265/HEVC, H.266/VVC 및 AV1과 같은 최신 코덱에서 디블로킹 사후 처리 알고리즘을 사용한다.
비디오 코딩에서, 전형적인 디블로킹 사후 처리기는 각각의 디코딩된 이미지 또는 프레임에 대해, 즉 인코딩 루프에서 다음 이미지/프레임을 코딩하기 전에 각 화면간 예측(모션 보정이라고도 함) 소스 이미지/프레임에 대해 인-루프 필터로 작동한다. 디블로킹 사후 필터는 잠재적인 불연속성 측면에서 디코딩된 이미지의 각 복원된 서브 블록의 경계 픽셀 값을 분석한다. 약한 불연속성이 발견되면, 저속 코딩 자체에 의해 발생되고 원본 이미지의 일부가 아닌 것으로 간주되고, 이에 따라 이 불연속성은 픽셀 값의 평활화(예를 들어, 적응 픽셀 값 오프셋의 추가)에 의해 감소된다.
유사한 인-루프 필터는 HEVC에서 사용되는 샘플 적응 오프셋(SAO) 방법으로, 이는 (서브) 블록 당 디코딩된 픽셀을 이들 값에 따라 분류하고 각 픽셀 클래스에 대한 추가 오프셋을 결정한다. 다음에 이들 추가 오프셋은 (서브) 블록 당 디코더에 신호를 보내 적용된다. 이 과정에서, SAO 필터는 디링잉 필터 역할을 한다.
HEVC 디블로킹 필터에 대한 자세한 내용은 https://ieeexplore.ieee.org/document/6324414, A. Norkin 등의“HEVC 디블로킹 필터”, IEEE Trans. Circ. Syst. 비디오 기술.(CSVT), vol. 22, 2012년에 제공되며, SAO 인-루프 필터에 대한 개요는 https://ieeexplore.ieee.org/document/6324411, C. M. Fu 등의 "HEVC 표준의 샘플 적응 오프셋", IEEE Trans. CSVT, vol. 22, 2012년에 제공된다. H.266/VVC에서, 최대 변환 블록 크기는 HEVC에서 허용되는 크기에 비해 두 배가 되었으며, 특히 큰 블록 경계 주변에서 더 강력한 디블로킹 필터 (즉, 더 넓은 범위의 픽셀을 수정하는 디블로킹 사후 프로세서)를 사용해야 하는 것으로 밝혀졌다. 그러나 이러한 보다 공격적인 디블로킹 필터는, 저속 코딩으로 인해 발생하지 않은 원본 이미지 콘텐츠를 평활화할 - 및 이에 따라 이를 잠재적으로 삭제시킬- 위험을 증가시키게된다.
따라서 일부 저속 코딩된 고 해상도 이미지 및 비디오 콘텐츠에는 매우 강력한 디블로킹 필터링이 바람직하고 상기 강력한 디블로킹 필터링의 적용에 대해 고도로 선택적인 제어를 허용하는 것이 필수적이라는 결론을 내렸다. 당연히, 강력한 디블로킹 필터의 적용을 허용할지 여부를 수신기(즉, 디코더)에 표시하기 위해 각 서브 블록(예를 들어, 각 코딩 트리 유닛, CTU)에 대해 비트 플래그가 시그널링될 수 있다. 그러나, 이 접근법은 많은 추가 시그널링 비트가 비트 스트림에 포함되게 하므로, 특히 매우 낮은 비트율에서 코딩 비트율을 허용할 수 없을 정도로 증가시킬 수 있다.
따라서 보다 효율적인 솔루션이 필요한다. 이에 따라, 본 발명의 목적은 위에서 언급 단점 없이 기존의 아티팩트 필터링을 개선하고 다양한 필터링 강도의 효율적인 시그널링을 제공하는 데에 있다.
본 발명의 제 1 측면에 따르면, 이 목적은 청구항 1의 특징을 갖는 디코더, 제 14 항의 특징을 갖는 인코더, 제 26 항에 따른 디코딩 방법, 제 27 항에 따른 인코딩 방법, 제 28 항에 따른 컴퓨터 판독 가능 디지털 저장 매체 및 제 29 항에 따른 데이터 스트림에 의해 성취된다.
본 발명의 제 2 측면에 따르면, 이 목적은 청구항 30의 특징을 갖는 디블로킹 필터, 제 48 항의 특징을 갖는 디코더, 제 50 항의 특징을 갖는 인코더, 제 52 항에 따른 디블로킹을 위한 방법, 제 53 항에 따른 컴퓨터 판독 가능 디지털 저장 매체 및 제 54 항에 따른 데이터 스트림에 의해 성취된다.
본 발명에 따른 제 1 측면의 디코더는 디블로킹 또는 디링잉 필터를 사용하여 화상 데이터의 블록 기반 디코딩을 위해 구성된다. 디코더는 예측을 사용하고 데이터 스트림에 코딩된 예측 잔차를 사용하여 픽처의 복원 버전을 획득하기 위해 데이터 스트림으로부터 픽처를 블록 방식으로 복원하도록 구성된다. 예를 들어, 예측 코딩은 공간적 화면 내 예측 및/또는 시간적 화면 간 예측에 의해 실행될 수 있다. 화면 내 예측은 정지 화상과 동영상에 적용할 수 있는 반면, 화면 간 예측은 화상에만 적용할 수 있다. 시각적 활동이 적은 이미지, 예를 들어, 이미지 세부 사항이 거의 없는 경우, 예측은 일반적으로 매우 효율적으로 작동한다. 결과적으로, 대응하는 예측 잔차는 매우 적은 신호 에너지를 포함할 수 있으므로 종종 완전히 0으로 양자화될 수 있다. 그렇게함으로써 이러한 제로 코딩된 예측 잔차는 전송에서 제외 될 수 있다. 시각적 활동이 더 높은 이미지, 예를 들어, 더 많은 이미지 세부 정보를 사용하는 경우, 예측은 일반적으로 예측 잔차에서 상대적으로 높은 신호 분산을 나타낼 수 있다. 따라서 완전히 0이 아닌 적어도 하나의 (거친) 양자화된 예측 잔차를 전송해야 한다. 이것은 또한 각각의 예측 잔차의 논-제로(non-zero) 코딩으로 지칭된다. 상기 논-제로 코딩된 예측 잔차는 화상의 복원 (즉, 디코딩) 버전에서 가시적 블로킹 또는 디링잉을 야기하는 후보가 될 수 있다. 따라서, 디코더는 픽쳐의 복원 버전에 디블로킹 또는 디링잉 필터를 적용하도록 구성된다. 이와 관련하여, 본 발명의 디코더는 또한 디블로킹 또는 디링잉 필터의 강도를 국부적으로 변경하도록 구성된다. 즉, 디코더는 디코딩된 화상에 적용되는 디블로킹 또는 디링잉의 양을 제어할 수 있다. 이것은 상기 제어없이 기존의 디블로킹 또는 디링잉 필터보다 향상된 이미지 품질을 초래할 수 있다. 디블로킹 또는 디링잉 필터의 상기 강도는 정량적으로 측정될 수 있다. 강도 측정 값은 예를 들어, 필터의 영향을 받는 블록 원주 부분의 폭이건, 다르게 말하면 필터가 블록의 블록 경계로부터 필터링을 유발하는 도달 범위에 대한 측정 값일 수 있으며, 이 때 강도가 클수록 폭이 커킨다. 추가적으로 또는 대안적으로, 필터가 적용된 복원된 화상의 필터링된 버전과 필터링되지 않은 버전 사이의 차이의 평균 에너지를 사용하여 필터 강도를 측정할 수 있으며, 이 때 강도가 클수록 평균 에너지가 커킨다. 본 발명의 디코더는 각각 후보 화상 또는 후보 화상 영역 (예를 들어 블록)의 사전 선택에 따라 상기 필터 제어를 적용할지 여부, 즉 필터 강도를 변경할지 여부를 선택적으로 결정할 수 있다. 상기 후보 화상 또는 후보 화상 영역 (예를 들어, 블록)은 평균 블록 크기를 국부적으로 측정하는 제 1 측정 값 및 예측 잔차의 논-제로 코딩의 주파수를 국부적으로 측정하는 제 2 측정 값에 따라 선택될 수 있다.
본 발명의 제 1 측면에 따른 인코더는 인-루프 필터로서 디블로킹 또는 디링잉 필터를 사용하여 화상 데이터의 블록 기반 인코딩을 위해 구성된다. 인코더는 블럭 단위 방식으로 화상을 데이터 스트림에, 예측을 사용하고 예측 잔차를 상기 데이터 스트림에 코딩하여 상기 인코더의 예측 루프에 상기 화상의 복원 버전을 제공하는 것으로 인코딩하도록 구성된다. 상기 인코더는 상기 화상의 상기 복원 버전에 상기 디블로킹 또는 디링잉 필터를 적용하고, 평균 블록 크기를 국부적으로 측정하는 제 1 측정 값 및 상기 예측 잔차의 논-제로 코딩의 빈도를 국부적으로 측정하는 제 2 측정 값 따라 상기 디블로킹 또는 디링잉 필터의 강도를 국부적으로 변화시키도록 구성된다. 논-제로 코딩의 빈도는 각각의 픽처 또는 픽처 영역 (예를 들어 블록)에서 예측 잔차의 비제로 코딩이 얼마나 자주 적용되었는지를 설명하기위한 것이다. 즉, 논-제로 코딩된 예측 잔차의 수와 평균 블록 크기 (예를 들어, 블록 또는 서브 블록의 수)에 따라 디코더는 디블로킹 또는 디링잉 필터의 필터 강도를 변경할 수 있다. 즉, 인코더는 레이트 왜곡 루프에서 화상의 최적 블록 기반 분할을 계산할 수 있다. 이 계산에 기초하여, 인코더는 평균 블록 크기 및 논-제로 코딩된 예측 잔차의 수에 기초하여 각각 후보 화상 또는 후보 화상 영역 (예를 들어, 블록)을 선택할 수 있다. 이들 선택된 후보 화상 또는 후보 화상 영역 (예를 들어, 블록)은 가변 필터 강도의 영향을받을 수 있다. 즉, 인코더가 후보 화상 또는 후보 화상 영역 (예르 들어, 블록)을 선택한 경우, 이는 상기 선택된 후보 화상 또는 후보 화상 영역 (예를 들어, 블록)에 다양한 필터 강도를 갖는 디블로킹 또는 디링잉 필터를 적용할 수 있고, 즉, 디블로킹 또는 디링잉의 양은 인코더에 의해 선택적으로 제어되어, 화상 코딩의 품질은 종래의 인코더에 비해 개선 될 수 있다.
본 발명의 제 2 양태에 따르면, 디블로킹 필터가 제안되고, 여기서 상기 디블로킹 필터는 블로킹 또는 링잉 아티팩트를 감소시키기 위해 픽쳐의 블록을 필터링하도록 구성된다. 따라서, 디블로킹 필터는 디링잉 필터라고도 지칭될 수 있다. 제 2 측면에 따른 디블로킹 필터는 인코더 및/또는 디코더 및/또는 제 1 측면에 따른 방법과 결합 될 수 있다. 대안 적으로, 제 2 측면에 따른 디블록킹 필터는 제 1 측면과 상이한 인코더 및/또는 디코더 및/또는 방법과 결합 될 수 있다.
제 2 측면에 따른 디블로킹 필터는 블록 기반 방식으로 처리되는 픽처의 블록을 필터링하도록 구성될 수 있다. 상기 필터링은 픽처의 블록 기반 코딩시에 나타날 수 있는 블로킹 또는 링잉 아티팩트를 감소시키기 위해 이용될 수 있다. 화상 여러 블록과 서브 블록으로 분할 될 수 있다. 디블로킹 필터는 픽처의 코딩시 블로킹 또는 링잉 아티팩트를 감소시키기 위해 상기 블록 및 서브 블록 중 하나 이상에 적용될 수 있다. 각 블록은 블록 경계를 가질 수 있으며, 이는 상기 블록의 외주 경계선에 대응할 수 있다. 블록은 적용된 분할 방식에 따라 정사각형 또는 일반적으로 직사각형 일 수 있다. 따라서, 각 블록의 경계도 각각 정사각형 또는 직사각형일 수 있다. 경계는 여러 부분, 예를 들어 에지를 따라 연장되는 부분 (에지 경계부라고도 함) 및 코너 주위로 연장되는 부분 (코너 경계부라고도 함)을 포함할 수 있다. 화상이 복수의 블록으로 분할되는 경우, 상기 블록은 연속적으로 배열 될 수 있으며, 즉 블록이 서로 인접할 수 있다. 따라서, 제 1 블록은 하나 이상의 다른 블록으로 둘러싸일 수 있다. 예를 들어, 어두운 화면 영역에서 밝은 화면 영역으로의 전이가 있는 경우, 이웃 블록의 콘텐츠 (예를 들어, 블록에 포함된 픽셀)는 서로 다를 수 있다. 따라서, 제 1 블록 내부에 포함된 화상 콘텐츠와 상기 제 1 블록 외부에 포함된 화상 콘텐츠 사이에 차이가 있을 수 있다. 제 1 블록 외부의 상기 사진 콘텐츠는 주변의 제 2 블록 내부에 포함될 수 있으며, 따라서 주변 사진 콘텐츠라고도 지칭될 수 있다. 불일치성은 제 1 블록 내부에 포함된 화상 콘텐츠와 제 1 블록 외부에 포함된 주변 화상 콘텐츠의 차이를 나타낼 수 있다. 상기 불일치성 또한 제 1 블록 내부에 포함된 화상 콘텐츠와 제 1 블록 외부에 포함된 주변 화상 콘텐츠 사이의 오프셋으로 지칭될 수 있다. 차이가 클수록 오프셋 값의 크기가 커진다. 이 차이는 그림을 코딩할 때 블로킹 또는 링잉 아티팩트를 유발할 수 있다. 따라서, 이들은 평활화되어야하며, 이는 또한 본 발명의 디블로킹 필터에 의해 수행될 수 있는 디블로킹 또는 디링잉이라고도 지칭될 수 있다. 따라서, 본 발명의 디블록킹 필터는 블록의 경계의 적어도 8 개의 경계 부분 각각에 대해, 블록의 필터링되지 않은 콘텐츠와 각각의 경계 부분을 가로 지르는 블록 주변의 주변 픽처 콘텐츠 사이의 불일치를 결정하도록 구성될 수 있다. 상기 적어도 8 개의 경계 부분은 각각 블록의 코너에 배열된 4 개의 코너 경계 부분 및 각각 블록의 코너 사이의 경계의 중간 부분에 배열된 4 개의 에지 경계 부분을 포함한다. 디블로킹 필터는 현재 픽쳐 컨텐츠, 즉 전술한 차이점에 따라 서로 다른 필터 특성을 이용하여 디블로킹 필터링을 수행할 수 있다. 상기 상이한 필터 특성은 현재 화상 불일치에 의존할 수 있는 조정 가능한 파라미터에 의해 조정될 수 있다. 따라서, 본 발명의 디블로킹 필터는 블록의 필터링된 콘텐츠를 얻기 위해 적어도 8 개의 경계 부분에 대해 결정된 불일치를 사용하여 블록의 디블로킹 필터링 프로세스를 매개 변수화하도록 구성될 수 있다.
이하에서, 본 발명의 실시 예는 도면을 참조하여 보다 상세하게 설명된다:
도 1은 본 출원의 실시 예들에 따른 화면내 예측 개념이 구현될 수 있는 인코더에 대한 예로서 화상를 예측 코딩하기 위한 장치의 개략적 블록도를 도시한다.
도 2는 본 출원의 실시 예들에 따른 화면내 예측 개념이 구현될 수 있는 디코더의 예로서 도 1의 장치에 적합한 화상를 예측 디코딩하기 위한 장치의 개략적인 블록도를 도시한다.
도 3은 코딩 모드 선택, 변환 선택 및 변환 성능 각각에 대한 분할 설정 가능성을 설명하기 위해, 예측 잔차 신호, 예측 신호 및 복원된 신호 사이의 관계에 대한 예를 설명하는 개략도이다.
도 4는 일 실시 예에 따른 디코더의 개략적인 블록도를 도시한다.
도 5는 블록으로 사전 분할되고 서브 블록으로 하위 분할되는 화상의 개략도를 도시한다.
도 6a-6f는 상이한 다중 트리 분할 방식을 사용하여 블록으로 분할되는 화상의 개략도를 도시한다.
도 7은 일 실시 예에 따른 인코더의 개략적인 블록도를 도시한다.
도 8은 일 실시 예에 따른 디블로킹 또는 디링잉 필터를 사용하여 화상 데이터의 블록 기반 디코딩을 위한 방법의 블록도를 도시한다.
도 9는 일 실시 예에 따른 인-루프 필터로서 디블로킹 또는 디링잉 필터를 사용하는 블록 기반 화상 데이터 인코딩 방법의 블록도를 도시한다.
도 10은 일 실시 예에 따른 디블로킹 필터가 적용될 수 있는 경계부을 포함하는 블록을 도시한다.
도 11은 실시 예에 따른 디블로킹 필터를 적용하기 위한 에지 경계 샘플 벡터가 도시되어 있는, 도 10의 블록을 도시한다.
도 12는 코너 경계 샘플 벡터가 일 실시 예에 따라 디블로킹 필터를 적용하기 위해 도시되어 있는 도 10의 블록도를 도시한다.
도 13a 내지 13d는 일 실시 예에 따른 에지 경계 벡터 및 코너 경계 벡터의 상이한 공간적 위치를 갖는 블록의 좌측 상단 코너를 도시한다.
도 14는 일 실시 예에 따른 디블로킹 필터를 적용하기 위한 경계 대역을 포함하는 블록을 도시한다.
도 15는 일 일 실시 예에 따라 여러 처리 영역으로 분리된 블록을 도시한다.
도 16은 일 실시 예에 따른 여러 분할 부분을 포함하는 블록을 도시한다.
도 17은 일 실시 예에 따른 블록에 대해 디블로킹 필터의 예시적인 적용을 도시한다.
도 18은 에지 경계 벡터의 크기와 코너 경계 벡터의 크기가\는 블록의 크기에 따라 달라지는, 블럭을 도시한다.
도 19는 일 실시 예에 따른 디블로킹 필터를 적용함으로써 블록 기반 코딩된 화상(12)의 블록(1000)을 필터링하기 위한 방법의 개략적인 블록도를 도시한다.
동일하거나 동등한 기능을 갖는 동일하거나 동등한 요소 또는 구성 요소는 동일하거나 동등한 참조 번호로 다음 설명에서 표시된다.
블록도에 의해 도시되고 상기 블록도를 참조하여 기술된 방법 단계는 또한 도시 및/또는 기술된 순서와 다른 순서로 실행될 수 있다. 또한, 장치의 특정 기능에 관한 방법 단계는 상기 장치의 상기 기능으로 대체될 수 있으며, 그 반대의 경우도 가능한다.
본 명세서에서, 본 발명의 제 1 측면은 먼저 도 1 내지 9를 참조하여 설명될 것이다. 그 후, 본 발명의 제 2 측면은 도 10 내지도 19를 참조하여 설명될 것이다.
블록 기반 코딩 소개
이하의 도면 설명은 본 발명의 실시 예가 내장될 수 있는 코딩 프레임 워크의 예를 형성하기 위해 비디오의 화상를 코딩하기 위한 블록 기반 예측 코덱의 인코더 및 디코더의 설명으로 시작한다. 각각의 인코더 및 디코더는 도 1 내지 3과 관련하여 설명된다. 이하, 본 발명의 개념의 실시 예에 대한 설명이 이러한 개념이 각각 도 1 및 2의 인코더 및 디코더에 구축되는 방법에 대한 설명과 함께, 제공되며, 뒤이어지는 도 4 및 이하에서 설명되는 실시 예는 도 1 및 2의 인코더 및 디코더의 기초가 되는 코딩 프레임 워크에 따라 동작하지 않는 인코더 및 디코더를 형성하는 데에 또한 사용될 수 있다.
도 1은 예시적으로 변환 기반 잔차 코딩을 사용하여 화상(12)를 데이터 스트림(14)으로 예측 코딩하기 위한 장치를 도시한다. 장치 또는 인코더는 참조 부호 10을 사용하여 표시된다. 도 2는 대응하는 디코더(20), 즉 또한 변환 기반 잔차 디코딩을 사용하여 화상(12')을 데이터 스트림(14)으로부터 예측 디코딩하도록 구성된 장치(20)를 도시하고, 여기서 아포스트로피는 디코더(20)에 의해 복원 화상(12')이 예측 잔차 신호의 양자화에 의해 도입된 코딩 손실의 관점에서 장치(10)에 의해 원래 인코딩된 화상(12)으로부터 벗어나는 것을 나타내기 위해 사용되었다. 도 1 및 도 2는 본 출원의 실시 예가 이러한 종류의 예측 잔차 코딩에 제한되지 않지만, 변환 기반 예측 잔차 코딩을 예시적으로 사용한다. 이것은 이하에서 설명되는 바와 같이 도 1 및 2와 관련하여 설명된 다른 세부 사항에 대해서도 마찬가지이다.
인코더(10)는 예측 잔차 신호에 공간-스펙트럼 변환을 적용하고 따라서 획득된 예측 잔차 신호를 데이터 스트림(14)으로 인코딩하도록 구성된다. 마찬가지로, 디코더(20)는 데이터 스트림(14)으로부터 예측 잔차 신호를 디코딩하고 이렇게 획득된 예측 잔차 신호에 스펙트럼-공간 변환을 적용하도록 구성된다.
내부적으로, 인코더(10)는 원본 신호, 즉 화상(12)로부터 예측 신호(26)가 편차된 것을 측정하기 위해 예측 잔차(24)를 생성하는 예측 잔차 신호 형성기(22)를 포함할 수 있다. 예측 잔차 신호 생성기(22)는 예를 들어 원본 신호, 즉 화상(12)에서 예측 신호를 감산하는 감산기일 수 있다. 인코더(10)는 또한, 인코더(10)에 포함된 양자화기(32)에 의해 양자화되는 스펙트럼-영역 예측 잔차 신호(24')를 획득하기 위해서, 예측 잔차 신호(24)에 공간-스펙트럼 변환을 적용하는 변환기(28)를 더 포함한다. 이렇게 양자화된 예측 잔차 신호(24")는 비트 스트림(14)으로 코딩된다. 이를 위해, 인코더(10)는 변환 및 양자화된 예측 잔차 신호를 데이터 스트림(14)으로 엔트로피 코딩하는 엔트로피 코더(34)를 선택적으로 포함할 수 있다. 예측 신호(26)는 데이터 스트림(14)으로 인코딩되고 데이터 스트림(14)으로부터 디코딩 가능한 예측 잔차 신호(24")에 기초하여 인코더(10)의 예측 스테이지(36)에 의해 생성된다. 이를 위해, 예측 스테이지(36)는 도 1에 도시된 바와 같이, 양자화 손실을 제외하고, 신호(24')에 대응하는 스펙트럼 도메인 예측 잔차 신호(24"')를 얻기 위해 예측 잔차 신호(24")를 역 양자화하는 역 양자화기(38) 및 양자화 손실을 제외하고 원본 예측 잔차 신호(24)에 대응하는 예측 잔차 신호(24"")를 획득하기 위해 후자의 예측 잔차 신호(24'")를 역변환, 즉 스펙트럼-공간 변환에 적용하는 역 변환기(40)를 내부에 포함한다. 그 다음, 예측 스테이지(36)의 결합기(42)는 복원된 신호(46), 즉 원본 신호(12)의 복원을 획득하기 위해서, 예측 신호(26) 및 예측 잔차 신호(24"")를 더하는 등으로 재결합한다. 복원된 신호(46)는 신호(12')에 대응할 수 있다. 예측 단계(36)의 예측 모듈(44)은 예를 들어, 공간 예측, 즉 화면 내 예측 및/또는 시간적 예측, 즉 화면 간 예측을 사용함으로써 신호(46)에 기초하여 예측 신호(26)를 생성한다
마찬가지로, 디코더(20)는 도 2에 도시된 바와 같이 예측 스테이지(36)에 대응하는 구성 요소로 내부에 구성되고 예측 스테이지(36)에 대응하는 방식으로 상호 연결될 수 있다. 특히, 디코더(20)의 엔트로피 디코더(50)는 데이터 스트림으로부터 양자화된 스펙트럼 영역 예측 잔차 신호(24")를 엔트로피 디코딩할 수 있으며, 이 때 예측 스테이지(36)의 모듈에 대해 전술한 방식으로 상호 연결되고 협력하는 역 양자화기(52), 역 변환기(54), 결합기(56) 및 예측 모듈(58)은 예측 잔차 신호(24")에 기초하여 복원된 신호를 복원하므로, 도 2에 도시된 바와 같이, 결합기(56)의 출력에서는 복원 신호, 즉 화상(12")이 결과된다.
위에서 구체적으로 설명하지는 않았지만, 예를 들어, 일부 레이트 및 왜곡 관련 기준, 즉 코딩 비용을 최적화하는 방식과 같은 일부 최적화 방식에 따르면, 인코더(10)가 예를 들어 예측 모드, 모션 매개 변수 등을 포함하는 일부 코딩 매개 변수를 설정할 수 있다는 것이 명백하다. 예를 들어, 인코더(10) 및 디코더(20) 및 대응하는 모듈(44, 58)은 각각 인트라 코딩 모드 및 인터 코딩 모드와 같은 상이한 예측 모드를 지원할 수 있다. 인코더와 디코더가 이들 예측 모드 유형 사이에서 전환하는 분할의 정도는 각각 화상(12 및 12')를 코딩 세그먼트 또는 코딩 블록으로 분할하는 것에 대응할 수 있다. 예를 들어, 이러한 코딩 세그먼트의 단위에서, 화상은 인트라 코딩되는 블록과 인터 코딩되는 블록으로 분할될 수 있다. 인트라 코딩된 블록은 아래에 더 자세히 설명된 것처럼 각 블록의 공간적이고 이미 코딩/디코딩된 이웃을 기반으로 예측된다. 여러 인트라 코딩 모드가 존재할 수 있으며 각 세그먼트가 각각의 방향성 인트라 코딩 모드에 특정한 특정 방향을 따라 이웃의 샘플 값을 각각의 인트라 코딩된 세그먼트로 외삽함으로써 채워지는 것에 따라 방향 또는 각도 인트라 코딩 모드를 포함하여 각 인트라 코딩된 세그먼트에 대해 선택될 수 있다. 예를 들어, 인트라 코딩 모드는 각각의 인트라 코딩된 블록에 대한 예측이 각 인트라 코딩된 세그먼트 내의 모든 샘플에 DC 값을할당하는 것에 따른 DC 코딩 모드 및/또는 인접 샘플을 기준으로 2 차원 선형 함수에 의해 정의된 평면의 기울기 및 오프셋을 구동하면서 각각의 블록의 예측이 각각의 인트라 코딩된 블록의 샘플 위치에 대한 2 차원 선형 함수에 의해 설명된 샘플 값의 공간적 분포인 것으로 추정되거나 결정되는 것에 따른 평면 인트라 코딩 모드와 같은 하나 이상의 추가 모드를 포함할 수도 있다. 이에 비해 인터 코딩된 블록은 예를 들어 시간적으로 예측될 수 있다. 인터 코딩된 블록의 경우, 모션 벡터가 데이터 스트림 내에서 시그널링될 수 있으며, 이 모션 벡터는 화상(12)이 속한 비디오의 이전 코딩된 화상의 부분의 공간 변위를 나타내며, 여기에서 각각의 인터-코딩된 블록에 대한 예측 신호를 얻기 위해 이전에 코딩/디코딩된 화상이 샘플링된다. 이것은, 양자화된 스펙트럼 영역 예측 잔차 신호(24")를 나타내는 엔트로피 코딩된 변환 계수 레벨과 같은 데이터 스트림(14)에 포함된 잔차 신호 코딩에 추가하여, 데이터 스트림(14)에는 코딩 모드를 다양한 블록에할당하기 위한 코딩 모드 매개 변수, 일부 블록에 대한 예측 매개 변수, 예를 들어 인터 코딩된 세그먼트에 대한 모션 매개 변수, 및 화상(12 및 12')을 각각 세그먼트로 분할하는 것을 각각 제어 및 시그널링하기 위한 매개변수와 같은 선택적 추가 매개변수가 인코딩된다. 디코더(20)는 세그먼트에 동일한 예측 모드를할당하고 동일한 예측을 수행하여 동일한 예측 신호를 생성하기 위해, 인코더가 했던 것과 동일한 방식으로 화상을 분할하기 위해 이들 매개변수를 사용한다.
도 3은 한 쪽에서는 복원된 신호, 즉 복원 화상(12')과 다른 쪽에서는 데이터 스트림(14)으로 시그널링된 예측 잔차 신호(24"")와 예측 신호(26)의 조합 간의 관계를 설명한다. 위에서 이미 언급했듯이 조합은 덧셈이될 수 있다. 예측 신호(26)는 화상 영역을 빗금을 사용하여 예시적으로 표시되는 인트라 코딩된 블록 및 및 해치되지 않은 것으로 예시적으로 표시된 인터 코딩된 블록으로 분할한 것으로 도 3에 도시되어 있다. 분할은 정사각형 블록 또는 비 정사각형 블록의 행과 열로 화상 영역의 규칙적인 분할, 또는 트리 루트 블록에서 쿼드 트리 분할 등과 같은 다양한 크기의 복수의 리프 블록으로 화상(12)의 다중 트리 분할 등 어느 분할이나 가능하며, 여기서 이들의 혼합물은 도 3에서 화상 영역이 먼저 트리 루트 블록의 행과 열로 분할된 다음 하나 이상의 리프 블록으로 재귀적 다중 트리 분할에 따라 추가로 분할되는 것을 설명한다.
다시, 데이터 스트림(14)은 인트라 코딩된 블록(80)에 대해 코딩된 인트라 코딩 모드를 가질 수 있으며, 이는 여러 지원되는 인트라 코딩 모드 중 하나를 각각의 인트라 코딩된 블록(80)에할당한다. 인터 코딩된 블록(82)에 대해, 데이터 스트림(14)은 코딩된 하나 이상의 모션 매개변수를 가질 수 있다. 일반적으로 말하면, 인터 코딩된 블록(82)은 시간적으로 코딩되는 것으로 제한되지 않는다. 대안 적으로, 인코더와 디코더가 각각 스케일러블 인코더와 디코더인 경우, 인터 코딩된 블록(82)은 화상(12)이 속한 비디오의 이전에 코딩된 화상, 또는 다른 뷰 또는 계층적으로 하위 계층의 화상과 같이, 현재 화상(12) 자체를 지나 이전에 코딩된 부분으로부터 예측된 임의의 블록일 수 있다.
도 3의 예측 잔차 신호(24"")는 또한 블록(84)으로의 화상 영역의 분할으로서 도시된다. 이러한 블록은 코딩 블록(80 및 82)과 동일하게 구별하기 위해 변환 블록이라고 불릴 수 있다. 실제로, 도 3은 인코더(10) 및 디코더(20)가 화상(12) 및 화상(12')의 블록으로의 두 상이한 분할을 사용하는데, 즉 하나의 분할을 코딩 블록(80 및 82)으로, 또 다른 분할을 변환 블록(84)으로 분할하는데에 사용한다. 두 분할은 동일할 수 있는데, 즉, 각 코딩 블록(80 및 82)은 동시에 변환 블록(84)을 형성할 수 있지만, 도 3은 예를 들어 변환 블록(84)으로의 분할이 코딩 블록(80, 82)으로의 분할로의 확장을 형성하므로, 두 블록(80 및 82) 사이의 경계가 두 블록(84) 사이의 경계와 중첩하거나, 대안적으로 말해, 각 블록(80, 82)은 변환 블록(84) 중 하나와 일치하거나 변환 블록(84)의 클러스터와 일치하는 경우를 도시한다. 그러나, 변환 블록(84)이 대안적으로 블록(80, 82) 사이의 블록 경계와 교차할 수 있도록 분할이 서로 독립적으로 결정되거나 선택될 수도 있다. 변환 블록(84)으로의 분할에 관한 한, 블록(80, 82)으로의 분할과 관련하여 제시된 설명과 마찬가지로 사실이며, 즉 블록(84)은 화상 영역을 블록으로 규칙적으로 분할한 결과(행과 열로의 배열이 있거나 없을 수 있음)이거나, 화상 영역의 재귀적 다중 트리 분할의 결과이거나, 이들의 조합 또는 임의의 다른 종류의 블럭일 수 있다. 이와 달리, 블록(80, 82 및 84)는 2차원, 직사각형 또는 다른 모양인 것으로 제한되지 않는다는 점에 유의해야 한다.
도 3은 예측 신호(26)와 예측 잔차 신호(24"")의 조합이 직접적으로 복원 신호(12')로 결가된 것을 보여준다. 그러나, 하나 이상의 예측 신호(26)는 대안적인 실시 예에 따라 예측 잔차 신호(24"")와 결합되어 화상(12')이 결과될 수 있음에 유의한다.
도 3에서, 변환 블록 (84)은 다음과 같은 의미를 갖는다. 변환기(28) 및 역 변환기(54)는 이들 변환 블록 (84)의 단위로 그들의 변환을 수행한다. 예를 들어, 많은 코덱은 모든 변환 블록 (84)에 대해 일종의 DST 또는 DCT를 사용한다. 일부 코덱은 일부 변환 블록 (84)에 대해 예측 잔차 신호가 공간 도메인에서 직접 코딩되도록 변환을 건너 뛰는 것을 허용한다. 그러나, 후술하는 실시 예에 따르면, 인코더(10) 및 디코더(20)는 그들이 여러 변환을 지원하는 방식으로 구성된다. 예를 들어, 인코더(10) 및 디코더(20)에 의해 지원되는 변환은 다음을 포함할 수 있다:
o DCT-II(또는 DCT-III), 여기서 DCT는 이산 코사인 변환을 나타낸다.
o DST-IV, 여기서 DST는 이산 사인 변환을 나타냅니다.
o DCT-IV
o DST-VII
o 항등 변환(Identity Transformation, IT)
당연히, 변환기(28)가 이러한 변환의 모든 순방향 변환 버전을 지원하는 반면, 디코더(20) 또는 역 변환기(54)는 대응하는 역방향 또는 역 버전을 지원하게 된다.
o 역 DCT-II(또는 역 DCT-III)
o 역 DST-IV
o 역 DCT-IV
o 역 DST-VII
o 항등 변환(Identity Transformation, IT)
후속 설명은 인코더(10) 및 디코더(20)에 의해 지원될 수 있는 변환에 대한 더 많은 세부 사항을 제공한다. 어떠한 경우에도, 지원되는 변환 세트는 하나의 스펙트럼-공간 또는 공간-스펙트럼 변환과 같은 단지 하나의 변환만을 포함할 수 있다는 점에 유의한다.
이미 위에서 설명한 바와 같이, 도 1 내지 3은 본 출원에 따른 인코더 및 디코더에 대한 특정 예를 형성하기 위해서 이하 더욱 설명되는 본 발명의 개념이 구현될 수 있는 예로서 제시되었다. 지금까지, 도 1 및 2의 인코더 및 디코더는 각각 아래에서 설명되는 인코더 및 디코더의 가능한 구현을 나타낼 수 있다. 그러나 도 1과 2는 단지 예일뿐이다. 그러나, 본 출원의 실시 예들에 따른 인코더는 아래에서보다 상세히 설명되며, 예를 들어, 비디오 인코더가 아니라 스틸 화상 인코더라는 점, 동일하게 인터 예측을 지원하지 않는 점, 또는 블록(80)으로의 분할이 도 3에 예시된 것과 다른 방식으로 수행된다는 점에서와 같이 도 1의 인코더와는 다른 개념을 사용하여 화상(12)의 블록 기반 인코딩을 수행할 수 있다. 마찬가지로, 본 출원의 실시 예에 따른 디코더는 아래에서 더 설명되는 코딩 개념을 사용하여 데이터 스트림(14)으로부터 화상(12')의 블록 기반 디코딩을 수행할 수 있지만, 예를 들어, 이것이 비디오 디코더가 아니고 정지 화상 디코더라는 점, 이것이 인트라 예측을 지원하지 않는다는 점, 이것이 화상(12')을 도 3과 관련하여 설명된 것과 다른 방식으로 블록으로 분할하는 점 및/또는 이것이 공간 도메인이 아닌, 변환 도메인에서 데이터 스트림(14)으로부터 예측 잔차를 유도하지 않는다는 점에서, 도 2의 디코더(20)와 다를 수 있다.
제 1 측면
도 4는 본 발명의 제 1 측면에 따른 본 애플리케이션의 예시적인 실시 예에 따른 디코더(20)를 도시한다. 디코더(20)는 전술한 블록 기반의 화상 데이터, 즉 정지 화상 또는 동영상(12')의 디코딩 개념을 사용할 수 있다.
도 4에 도시된 디코더(20)는 도 2를 참조하여 위에서 설명된 것과 유사한 내부 구조를 포함할 수 있다. 따라서, 동일하거나 동등한 기능을 갖는 동일하거나 동등한 요소 또는 요소는 동일하거나 동등한 참조 번호로 도 2 및 4에 표시된다. 그러나, 도 4의 디코더(20)는 블로킹 및/또는 링잉 아티팩트를 필터링 및 감쇠하기 위한 디블로킹 또는 디링잉 필터(110)를 추가로 포함할 수 있다는 점에서, 도 2의 디코더와 다를 수 있으며, 여기서 블로킹은 링잉 아티팩트의 특정 경우로 간주될 수 있다.
전술한 바와 같이, 합성기(56)에서 잔차 신호(26)와 예측 잔차(24")을 조합하여 화상의 복원 버전, 즉 복호화 화상(12')를 얻을 수 있다. 도 4의 디코더(20)는 잔차 신호(26)와 예측 잔차(24")의 조합시, 디블로킹 또는 디링잉 필터(110)를 화상의 복원 버전, 즉 디코딩된 화상(12')에 추가로 적용할 수 있다.
본 발명의 원리에 따르면, 디코더(20)는 디블로킹 또는 디링잉 필터(110)의 강도를 국부적으로 변경할 수 있다. 즉, 디코더(20)는 예를 들어, 약하거나 강한 디블로킹 또는 디링잉 필터 기능을 적용하든지, 또는 디블로킹 또는 디링잉 필터를 적어도 적용해야 하는 경우에도, 디코딩된 화상(12')에 적용될 필터 세기를 결정할 수 있다.
디블로킹 또는 디링잉 필터(110)의 적용 가능한 필터 강도에 대한 이러한 결정은 제 1 및 제 2 측정 값에 기초할 수 있다. 제 1 측정 값은 국부적으로 측정된 평균 블록 크기를 나타낼 수 있다. 제 2 측정 값은 예측 잔차(24")의 논-제로 코딩의 빈도, 즉, 논-제로 코딩된 예측 잔차(24")의 수를 나타낼 수 있다.
디코더(20)는 블록 단위로 가변 필터 강도를 결정할 수 있다. 따라서, 디코더(20)는 도 3을 참조하여 전술한 바와 같이 상기 블록을 사용하여 화상(12)를 블록으로 분할하고 화상(12)의 복원을 수행하도록 구성될 수 있다.
도 5는 화상(12)가 하나 이상의 블록(181, 182, 183, 184)으로 분할될 수 있는 예를 도시한다. 이들 블록(181, 182, 183, 184)은 또한 코딩 블록으로 지칭될 수 있다. 디코더(20)는 상기 코딩 블록(181, 182, 183, 184)을 사용하여 화상(12)의 복원, 즉 화상(12)의 디코딩을 수행할 수 있다.
더욱이, 코딩 블록(181, 182, 183, 184)은 각각 하나 이상의 서브-블록(181a-181g 및 182a-182d)으로 하위 분할될 수 있다. 본 명세서에서 일반적으로 사용되는 용어 "블록"은 따라서 코딩 블록(181, 182, 183, 184) 및/또는 서브 블록(181a-181g, 182a-182d)를 지칭할 수 있다. 위에서 언급한 제 1 측정 값은 블록의 크기를 국부적으로 측정하기 위해 설계될 수 있다. 따라서, 블록의 크기는 예를 들어 코딩 블록(181, 182, 183, 184) 및/또는 서브 블록(181a-181g, 182a-182d)에 대해 측정될 수 있다.
코딩 블록(181, 182, 183, 184)를 하나 이상의 서브 블록(181a-181g, 182a-182d)으로 분할하기 위한 분할 모드는 분할 트리 또는 분할 트리라고도 할 수 있는 코딩 트리에 의해 데이터 스트림(14)으로 시그널링될 수 있다. 코딩 블록(181, 182, 183, 184)에 대응할 수 있는 트리 루트 블록은 서브 블록(181a-181g 및 182a-182d)에 대응할 수 있는 하나 이상의 리프 블록으로 분할될 수 있다.
따라서, 도 5에 예시적으로 도시된 바와 같이, 디코더(20)는 복수의 트리 루트 블록(181, 182, 183, 184) 각각을 재귀적 다중 트리 하위 분할에 적용함으로써 화상(12)을 블록으로 분할하는 것을 수행하여, 블록이 복수의 트리 루트 블록(181, 182, 183, 184)의 리프 블록(181a-181g, 182a-182d)을 형성하도록 구성된다. 디코더(20)는 각각의 트리 루트 블록(181, 182, 183, 184)에 대한 제 1 측정 값 및 제 2 측정 값을 국소적으로 결정할 수 있다.
예를 들어, HEVC에서 코딩 블록(181, 182, 183, 184)은 또한 코딩 트리 단위(CTU)로 지칭될 수 있으며, 서브 블록(181a-181g, 182a-182d)은 또한 코딩 유닛(CU)으로 지칭될 수 있다. 비제한적인 예시적인 실시 예는 HEVC 표준을 사용하여 이하에서 설명될 것이다. 그러나 본 출원의 원리는 HEVC 표준에 국한되지 않는다.
L×L의 블록 크기를 가능한 최대 코딩 블록 크기로 정의하는 이미지 또는 비디오 코덱에서 이 애플리케이션램의 원리를 사용한다고 가정한다. 상기 CTU라고도 불리는 이러한 코딩 블록(181, 182, 183, 184)은 각각 M × N 픽셀 단위 크기의 다수의 정사각형 또는 직사각형 서브 블록(181a-181g, 182a-182d)으로 하위 분할될 수 있다. 비 제한적인 예로서 코딩 블록(181)을 분할하는 여러 가능성을 보여주는 예가 도 6a-6f에 도시되어있다.
예를 들어, 도 6a는 코딩 블록(181)이 서브 블록으로 더 분할되지 않는 예를 보여준다. 따라서, 코딩 블록(181)은 하나의 단일 서브 블록(서브 블록 1)만을 포함할 수 있고, 따라서 서브 블록 1과 동일할 수 있다. 따라서 도 6a는 하위 분할이 없음을 의미한다.
직사각형 서브 블록을 포함하여 CTU 분할에 대한 몇 가지 추가 예가 도 6b 내지 6e에 도시되어 있다. 인코더와 디코더 모두에서, CTU(181, 182, 183, 184)를 하나 이상의 서브 블록(CU)(181a-181g, 182a-182d)으로 분할하는 경우는 비트 스트림으로 시그널링된 CTU의 코딩 트리를 통해 식별될 수 있다. 예를 들어, 블록을 쿼드 트리로 분할하면 네 개의 사각형 서브 블록이 생성되는 반면, (일반화된) 바이너리 트리로 블록을 분할하면 두 개의(일반화된) 직사각형 서브 블록이 발생할 수 있다.
도 6b는 코딩 블록(181)을 쿼드 트리에 의해 분할된 4 개의 정사각형 서브 블록(1 내지 4)으로 분할한 예를 도시한다. 도 6c는 코딩 블록(181)을 쿼드 트리에 의해 분할된 7 개의 정사각형 서브 블록(1 내지 7)으로 분할한 예를 도시한다. 도 6d는 코딩 블록(181)을 7 개의 서브 블록으로 분할한 예를 도시하며, 여기서 서브 블록 7은 쿼드 트리에 의해 분할된 정사각형 서브 블록이고, 서브 블록 1 내지 4는 바이너리 트리에 의해 수직으로 분할된 일반화된 직사각형 서브 블록이고, 서브 블록 5 및 6은 바이너리 트리에 의해 수평으로 분할된 일반화된 직사각형 서브 블록이다. 도 6e는 코딩 블록(181)을 7 개의 서브 블록으로 분할한 예를 도시하고, 여기서 서브 블록 1 및 2는 바이너리 트리에 의해 수직으로 분할된 일반화된 직사각형 서브 블록이고, 서브 블록 3 내지 8은 쿼드 트리에 의해 분할된 정사각형 서브 블록이다.
즉, 디코더(20)는 데이터 스트림(14)으로부터 분할 정보(예를 들어, 쿼드 트리, 바이너리 트리)를 판독하도록 구성될 수 있다. 디코더(20)는 또한 상기 분할 정보에 따라 트리 루트 블록(CTU)(181, 182, 183, 184)의 재귀적 다중 트리 분할을 수행하도록 구성될 수 있다. 디코더(20)는 또한 상기 분할 정보에 따라 제 1 측정 값을 결정하도록 구성될 수 있다.
일 실시 예에 따르면, 디코더(20)는 각 트리 루트 블록(CTU)(181, 182, 183, 184)에 대해, 각각의 트리 루트 블록(CTU)(181, 182, 183, 184)이 분할된 리프 블록(서브 블록)(181a-181g, 182a-182d)의 수를 결정함으로써, 제 1 측정 값을 결정하도록 구성될 수 있다. 이하에서, 이 제 1 측정 값은 대문자 A로 참조될 수 있다. 즉, A는 각각의 트리 루트 블록(CTU)에 대해 리프 블록 또는 서브 블록(CU)의 수를 각각 나타낼 수 있다.
시각적 활동이 낮은(즉, 이미지 세부 정보가 거의 없음) CTU(181, 182, 183, 184)는 예를 들어, 도 6a에 표시된 바와 같이, 일반적으로 하위 분할되지 않거나 상대적으로 큰 서브 블록 몇 개로 하위 분할된다. 더욱이, 이들 시작걱 활동인 낮은 CTU(181, 182, 183, 184)의 경우, 공간작 화면 내 예측 (및 적용 가능한 경우 시간적 화면 간 예측)은 일반적으로 매우 효율적으로 작동한다. 그 결과, 상기 CTU(181, 182, 183, 184)의 예측 잔차(24")는 매우 적은 신호 에너지를 포함할 수 있고, 따라서 종종 완전히 0으로 양자화될 수 있으며, 그렇게 함으로써 전송에서 제외될 수 있다.
그러나, 때때로 이런 시각 활동이 낮은 CTU(181, 182, 183, 184)의 적어도 하나의 서브 블록은 예측 잔차(24")에서 상대적으로 높은 신호 분산을 나타낼 수 있고, 따라서 완전히 제로가 아니고 디코딩된 화상(12')에서 가시적 블로킹을 야기할 가능성이 있는 적어도 하나의 (거친) 양자화된 잔차의 전송을 요구할 수 있다.
HEVC에서 잔차 변환 단위(TU)라고도 하는 잔차 계수 신호는 각각 하나의 서브 블록과 연관된다. 즉, 각 서브 블록(CU)은 블록 당, 즉, 분할의 정도에 따라 코딩 블록 또는 서브 블록 당 적어도 하나의 변환 단위로 예측 잔차의 조각 별 변환을 수행하기 위한 변환 단위(TU)를 포함할 수 있다. 따라서 코딩 트리에서 각 트리 루트 블록(CTU)에 대해, 다수의 리프 블록(CU) 및 다수의 계수 블록(TU)이 결정될 수 있다.
코딩된 블록 플래그(CBF)는 잔차 계수 신호(TU)가 0으로 완전히 양자화되었는지(CBF = 0) 또는 잔차 계수 신호(TU)가 0으로 완전히 양자화되지 않았는지(CBF = 1) 여부를 나타낼 수 있다. 후자는 논-제로 코딩된 블록 플래그 또는 논-제로 CBF라고도 한다. 논-제로 코딩된 블록 플래그(CBF = 1)의 수는 각 CTU에 대해 비트 스트림에서 시그널링될 수 있다.
이하에서, 논-제로 코딩된 블록 플래그(CBF = 1)의 수는 대문자 B로 참조될 수 있다. 즉, 대문자 B는 0으로 완전히 양자화되지 않은 계수 블록의 수를 나타낼 수 있다. 본 발명의 원리에 따르면, 논-제로 코딩된 블록의 수 B는 제 2 측정 값을 나타낼 수 있다.
이러한 실시 예에 따르면, 디코더(20)는 블록(CTU 또는 CU) 당 적어도 하나의 계수 블록(TU)을 사용하여 예측 잔차의 조각 별 변환을 나타내는 계수 블록(TU) 단위로 데이터 스트림(14)으로부터 예측 잔차를 디코딩하도록 구성될 수 있다. 디코더(20)는 또한 각각의 트리 루트 블록(CTU)에 대해, 계수 블록(TU)의 수가 0으로 완전히 양자화되지 않은 것을 결정함으로써 제 2 측정 값 B를 결정하도록 구성될 수 있다. 이것은 예를 들어, CTU에서 논-제로 코딩된 블록 플래그(CBF = 1)의 수를 세어 관리할 수 있다.
비 제한적인 예로서, B> 0 잔차 계수 신호(TU 각각은 하나의 서브 블록과 연관됨)의 논-제로 코딩 및 전송되는 동시에, 9 개 미만(즉, A <9)의 서브 블록(CU)으로 하위 분할되는 CTU(181, 182, 183, 184)는, 매우 강력한 디블로킹 또는 디링잉 포스트 필터의 적용으로부터 가장 많은 이점을 얻을 수 있다. 따라서, 이러한 CTU는 매우 강력한 디블로킹 또는 디링잉이 적용될 후보 블록이 될 수 있다.
예를 들어, 도 6f는 코딩 블록(185)을 9 개의 서브 블록으로 분할하는 것을 도시하는데, 즉, 이 예에서 서브 블록의 수는 A = 9이다. 따라서 위에서 언급한 A <9 조건은 예를 들어 충족되지 않는다. 따라서, 도 6f의 코딩 블록(185)은 매우 강력한 디블로킹 사후 필터가 적용되지 않는다. 따라서, 이 CTU(185)는 매우 강력한 디블로킹 또는 디링잉이 적용될 후보 블록이 아닐 수 있다.
다시 말하지만, 인코더와 디코더 모두에서 A 미만의 서브 블록으로 분할하는 경우는 비트 스트림에서 시그널링된 CTU의 코딩 트리를 통해 식별될 수 있는 반면, B 논-제로 잔차 계수 신호의 존재는 CTU에서 논-제로 코딩된 블럭 플래그(CBF)의 수를 계산하여 알 수 있으며, 이는 비트 스트림으로 또한 시그널링된다.
위에서 언급했듯이 블록(CTU)이 디블로킹 또는 디링잉 필터를 사용하여 매우 강력한 디블로킹 또는 디링잉이 작용될 수 있는 잠재적 후보 블록인지 여부 또는 이 블록이 더 낮은 강도의 디블로킹 또는 디링잉이 적용되는지 여부가 확인될 수 있다. 이것은 상기 강력한 디블로킹 필터링의 적용을 매우 선택적으로 조절할 수 있다는 본원에 원리에 대응한다. 즉, 디블로킹 또는 디링잉 필터의 강도는 국부적으로 변할 수 있다.
필터 강도의 이러한 국부적인 변화는 2 개의 측정, 즉 각각의 코딩 블록이 분할되는 서브 블록의 수를 나타내는 제 1 측정 A, 및 논-제로 코딩된 잔차의 수를 나타내는 제 2 측정 값 B에 의존할 수 있다. 블록이 이 두 측정 값 A와 B를 충족하는 경우 이 블록은 강력한 디블로킹 또는 디링잉이 적용될 수 있는 잠재적 후보 블록이다. 이는 필터 제어 매개 변수(FCP)를 통해 비트 스트림에 표시될 수 있다.
따라서, 이러한 실시 예에 따르면, 디코더(20)는 제 1 및 제 2 측정 값 A, B는 미리 결정된 기준(예를 들어, A <9, B> 0)을 충족하는, 화상의 제 1 부분(즉, 후보 블록)에 대해, 각각의 부분(즉, 블록)에 적용될 디블로킹 또는 디링잉 필터(110)의 강도를 나타내는 강도 정보(FCP)를 데이터 스트림(14)으로부터 판독함으로써, 필터 강도의 국부적인 변화를 수행할 수 있다. 제 1 및 제 2 측정 값 A, B가 미리 결정된 기준(예를 들어, A <9, B> 0)을 충족하지 않는, 화상의 제 2 부분(즉, 비 후보 블록)에 대해, 디코더(20)는 각 부분(블록)에 적용될 디블로킹 또는 디링잉 필터(110)의 강도를 제 1 필터 강도보다 낮은 제 2 강도로 설정하도록 구성될 수 있다.
따라서, 적어도 위에서 언급 한 비 제한적인 예에 대해, 다음과 같이 요약될 수 있다.
조건 1: 원하는 인-루프 필터링(예를 들어, 매우 강력한 디블로킹)이 다음과 같은 경우 CTU에서 허용되어야 한다.
* 시그널링된 코딩 트리가 상기 CTU를 A 미만의 서브 블록으로 분할하는 것을 표시한 경우, 및/또는
* 상기 CTU에서 시그널링된 논-제로 값(즉, CBF = 1)의 CBF의 수가 B인 경우, 여기서 B> 0.
즉, 조건 1이 충족되지 않으면, 원하는 인-루프 필터링이 허용되지 않으므로, 인코더와 디코더 측 모두에서 영향을 받는 CTU에서 항상 비활성화되어야 한다. 반면에 CTU에서 조건 1이 충족되면, 원하는 인-루프 필터링이 허용되지만, 이것은 반드시 상기 인-루프 필터링도 가능하다는 것을 의미하지는 않는다.
전술한 비 제한적인 예에서, 미리 결정된 기준, 즉 조건 1은 A <9 및 B> 0 일 때 충족되었다. 그러나, 보다 일반적으로 말해서, 제 1 측정 값 A가 미리 결정된 임계 값 아래로 떨어지고, 제 2 측정 값 B가 미리 결정된 제 2 임계 값을 초과하거나 동일하면, 미리 결정된 기준이 충족된다.
예를 들어, 미리 결정된 제 1 임계 값은 각 트리 루트 블록(CTU)에 대해 1 <p <17을 충족하는 p이고,, 즉 A <p이다. 추가적으로 또는 대안적으로, 제 2 미리 결정된 임계 값은 -1 <q <51를 충족하는 q이고, 즉 B ≥ q이다.
사실 위에서 논의한 바와 같이, 매우 강력한 디블로킹 필터와 같은 초강력 인-루프 필터의 적용에 대한 선택적인 제어를 실현하기 위한 수단을 제공하는 것이 매우 바람직한다. 이 수단을 제공하는 한 가지 모범적인 방법은:
조건 2:
* 조건 1이 해당 CTU에 대해 충족되면,
CTU에서 비트 스트림으로의 전송을 통해, 인-루프 필터 제어 매개 변수(FCP)를 시그널링한다.
즉, 조건 1이 충족되지 않으면 상기 인-루프 필터 제어 매개 변수(FCP)는 시그널링되지 않는다. 반면에 CTU에서 조건 1이 충족되면, 상기 필터 제어 매개 변수(FCP) - 예를 들어, 추가 단일 비트 요소- 가 인코더에 의해 비트 스트림에 기록되고 디코더에 의해 상기 비트 스트림으로부터 판독된다.
필터 제어 매개 변수가 주어진 CTU에 대한 비트 스트림에 존재하는 경우(즉, 조건 1이 충족됨), 이 제어 매개 변수의 값은 디코더가 원하는 인-루프 필터링을 활성화할지(예: 값 1) 또는 비활성화할지(예: 값 0)를 CTU에서 결정한다. 이러한 방식으로, 인코더는 예를 들어 매우 강력한 디블로킹의 원하는 애플리케이션을 제어하고 시그널링할 수 있다
요약하면, 본 출원의 개념은 상기 코딩 블록에서 상기 인-루프 필터의 적용을 비활성화 또는 감쇠시키기 위해서, 코딩 블록(예를 들어, 코딩 트리 유닛, CTU) 당 인-루프 필터 제어 매개변수의 선택적 시그널링을 제안할 수 있다. 인-루프 필터 제어 매개 변수는 코딩 블록이 A 미만의 서브 블록으로 분할된 경우 또는 잔차 계수 코딩(즉, 논-제로 코딩)이 서브 블록의 B에 적용되는 경우 시그널링될 수 있다.
도 7은 본 발명의 제 1 측면에 따른 사전 전송된 애플리케이션의 개념에 따라 적용될 수 있는 인코더(10)를 도시한다. 도 7에 도시된 인코더(10)는 도 1을 참조하여 위에서 설명한 것과 유사한 내부 구조를 포함할 수 있다. 따라서, 동일하거나 동등한 기능을 갖는 동일하거나 동등한 요소 또는 요소들은 동일하거나 동등한 참조 번호로 도 1 및 7에서 표시된다. 그러나, 도 7의 인코더(10)는 블로킹 및/또는 링잉 아티팩트를 필터링 및 감쇠하기 위한 디블로킹 또는 디링잉 필터(120)를 추가로 포함할 수 있다는 점에서, 도 1의 인코더와 다를 수 있으며, 여기서 블로킹은 링잉 아티팩트의 특정 경우로 간주될 수 있다. 디블로킹 또는 디링잉 필터(120)는 인-루프 필터일 수 있다.
인코더(10)는 인-루프 필터로서 디블로킹 또는 디링잉 필터(120)를 사용하여 화상 데이터의 블록 기반 인코딩을 위해 구성된다. 인코더(120)는 예측을 사용하고 인코더(10)의 예측 루프(136)에서 화상의 복원 버전을 제공하여 예측 잔차를 데이터 스트림(14)에 코딩함으로써 블록 단위 방식으로 화상(12)을 데이터 스트림(14)으로 인코딩하도록 추가로 구성될 수 있다. 예측 루프(136)는 도 1을 참조하여 앞서 이미 설명된 예측 스테이지(36)의 일부일 수 있다.
상기 예측 루프(136)에서, 화상(12)의 복원 및 디블로킹 또는 디링잉 필터(120)의 적용이 시뮬레이션될 수 있다. 따라서, 인코더(10)는 디블로킹 또는 디링잉 필터(120)를 화상(12)의 복원 버전(12')에 적용하도록 구성될 수 있다.
상기 예측 루프(136)에서, 인코더(10)는 디코더 측에 대해 위에서 설명된 것과 유사한 방식으로 디블로킹 또는 디링잉 필터(120)의 상이한 필터 강도를 추가로 시도할 수 있다. 특히, 필터 강도는 전술한 제 1 측정 값 A 및 제 2 측정 값 B에 따라 달라질 수 있다. 따라서, 인코더(10)는 평균 블록 크기를 국부적으로 측정하는 제 1 측정 값 A 및 예측 잔차의 논-제로 코딩의 빈도를 국부적으로 측정하는 제 2 측정 값 B에 따라, 디블로킹 또는 디링잉 필터(120)의 강도를 국부적으로 변경하도록 구성될 수 있다.
인코더(10)는 상기 도 3 및 도 6a 내지 6f에 설명된 바와 같이, 화상(12)를 블록(CTU)(181, 182, 183, 184)으로 분할하도록 추가로 구성된다. 인코더(10)는 또한 블록(181, 182, 183, 184)를 사용하여 인코딩을 수행하도록 구성되며, 여기서 제 1 측정 값 A는 블록(181, 182, 183, 184)의 크기를 국부적으로 측정하도록 설계된다.
특히 도 6a 내지 6f를 참조하면, 인코더(10)는 또한 다중 트리 분할을 사용하여 블록(181, 182, 183, 184)을 하나 이상의 서브 블록으로 분할할 수 있으며, 여기서 코딩 트리는 예를 들어 쿼드 트리 또는 (일반화된) 바이너리 트리일 수 있다.
따라서, 인코더(10)는 화상(12)이 미리 분할된 복수의 트리 루트 블록(CTU)(181, 182, 183, 184) 각각을 재귀적 다중 트리 분할에 적용함으로써 분할을 수행하여, 블록(181, 182, 183, 184)이 복수의 트리 루트 블록(181, 182, 183, 184)의 리프 블록(서브 블록 또는 CU)을 형성하도록 구성될 수 있다. 또한, 인코더(10)는 각각의 트리 루트 블록(181, 182, 183, 184)에 대해 국부적으로 제 1 측정 값 A 및 제 2 측정 값 B를 결정하도록 구성될 수 있다.
그렇게 하기 위해, 인코더(10)는 예측 루프(136)에서 하나 이상의 상이한 유형의 다중-트리 하위 분할을 시도할 수 있다. 인코더(10)가 각각의 CTU와 잘 작동하는 다중 트리 분할을 구하게 되면, 인코더(10)는 선택한 다중 트리 분할을 기반으로 하여, 이 다중 트리 분할을 선택하고 대응하는 분할 정보를 비트 스트림에 추가한다. 상기 삽입된 분할 정보에 따라, 인코더(10)는 제 1 측정 값 A를 결정할 수 있다.
예를 들어, 도 6e에 도시된 바와 같이, 인코더(10)는 CTU(181)를 6 개의 정사각형 서브 블록(서브 블록 3 내지 8)과 2 개의 직사각형 서브 블록(서브 블록 1 및 2)으로 분할하기 위해 결합된 쿼드 트리-바이너리 트리 방식을 선택할 수 있다. 따라서, 인코더(10)는 코딩 블록(CTU)(181)을 A = 8의 제 1 측정 값 A에 대응하는 8 개의 서브 블록(CU)으로 분할할 수 있다.
코딩 트리의 관점에서 설명하면, 인코더(10)는 분할 정보(예: 쿼드 트리/바이너리 트리)에 기초하여 복수의 트리 루트 블록 각각에 재귀적 다중 트리 하위 분할을 적용하도록 구성될 수 있다. 인코더(10)는 분할 정보를 데이터 스트림(14)에 삽입할 수 있으며, 인코더(10)는 분할 정보에 따라 제 1 측정 값 A를 결정할 수 있다.
인코더(10)는 블록 단위로 제 1 측정 값 A를 결정할 수 있다. 즉, 인코더(10)는 각각의 코딩 블록(CTU)(181, 182, 183, 184)에 대한 서브 블록(CU)의 수를 개별적으로 결정할 수 있다.
따라서, 코딩 트리의 관점에서, 인코더(10)는 각 트리 루트 블록(CTU)(181, 182, 183, 184)에 대해, 각각의 트리 루트 블록(CTU)(181, 182, 183, 184)이 분할되는 리프 블록(CU 또는 서브 블록)의 수를 결정함으로써 제 1 측정 값 A를 결정하도록 구성될 수 있다.
전술한 바와 같이, 디코더(20)와 관련하여, 인코더(10)도 하나 이상의 예측 잔차 신호를 사용하여 화상 데이터를 예측적으로 코딩하도록 구성될 수 있다.
HEVC에서 잔차 변환 단위(TU)라고도 하는 잔차 신호는 각각 하나의 서브 블록(CU)과 연관된다. 즉, 각 서브 블록(CU)은 블록 당, 즉, 분할의 분할성에 따라 코딩 블록 또는 서브 블록 당 적어도 하나의 변환 단위로 예측 잔차의 조각 별 변환을 수행하기 위한 변환 단위(TU)를 포함할 수 있다. 따라서, 코딩 트리에서 각 트리 루트 블록(CTU)에 대해, 리프 블록(CU)의 개수와 계수 블록(TU)의 개수가 결정될 수 있다.
코딩 블럭 플래그(CBF)는 잔차 계수 신호(TU)가 0으로 완전히 양자화되었는지(CBF = 0)의 여부, 또는 잔차 계수 신호(TU)가 0으로 완전히 양자화되 않았는지(CBF = 1)의 여부를 나타낼 수 있다. 후자는 논-제로 코딩된 블록 플래그 또는 논-제로 CBF라고도 한다. 논-제로 코딩된 블록 플래그(CBF = 1)는 각 CTU에 대해 비트 스트림으로 시그널링될 수 있다.
다음에서 논-제로 코드 블록 플래그(CBF = 1)의 수는 대문자 B로 참조될 수 있다. 즉, 대문자 B는 0으로 완전히 양자화되지 않은 계수 블록의 수를 나타낼 수 있다. 본 발명의 원리에 따르면, 논-제로 코딩된 블록의 수 B는 제 2 측정 값을 나타낼 수 있다.
따라서, 인코더(10)는 블록(CTU 또는 CU) 당 적어도 하나의 계수 블록(TU)을 사용하여 예측 잔차의 조각 별 변환을 나타내는 계수 블록(TU) 단위로 예측 잔차를 데이터 스트림(14)으로 인코딩하도록 구성될 수 있다. 인코더(10)는 각 트리 루트 블록(CTU)에 대해 완전히 양자화되지 않은 계수 블록(TU)의 수를 0으로 결정하는 것으로 제 2 측정 값 B를 결정하도록 추가로 구성될 수 있다.
다시 말하지만, 인코더와 디코더 모두에서, 제 1 측정 값 A, 즉 코딩 블록(CTU)이 분할되는 서브 블록(CU)의 수는 인코더(10)에 의해 비트 스트림으로 시그널링될 수 있는 CTU의 코딩 트리를 통해 식별될 수 있는 반면, B 논-제로 잔차 계수 신호의 존재는 CTU에서 논-제로 코딩 블록 플래그(CBF)의 수를 계산하여 알 수 있으며, 이는 또한 인코더(10)에 의해 비트 스트림에서 시그널링될 수 있다.
예측 루프(136)에서는, 블록(CTU)이 디블로킹 또는 디링잉 필터를 사용하여 매우 강력한 디블로킹 또는 디링잉이 적용될 수 있는 잠재적 후보 블록인지 여부 또는 이 블록이 더 낮은 강도의 디블로킹 또는 디링이 적용될지 여부가 확인될 수 있다. 이것은 인코더 측에서 상기 강력한 디블로킹 필터링의 적용에 대해 매우 선택적으로 제어하는 본원에 원리에 대응한다. 즉, 디블로킹 또는 디링잉 필터의 강도는 국부적으로 변할 수 있다.
필터 강도의 이러한 국부적인 변화는 2 개의 측정, 즉 각각의 코딩 블록이 분할되는 서브 블록의 수를 나타내는 제 1 측정 값 A 및 및 논-제로 코딩된 잔차의 수를 나타내는 제 2 측정 값 B에 의존할 수 있다. 블록이 이 두 측정 값 A와 B를 충족하는 경우, 이 블록은 강력한 디블로킹 또는 디링잉이 적용될 수 있는 잠재적 후보 블록이다. 이것은 필터 제어 매개변수(FCP)에 의해 인코더(10)에 의해 비트 스트림에 표시될 수 있다.
따라서, 이러한 실시 예에 따르면, 인코더(10)는 화상의 제 1 부분(즉, 후보 블록)에 대해, 각각의 부분(즉, 블록)에 적용될 디블로킹 또는 디링잉 필터(120)의 강도를 나타내는 강도 정보(FCP)를 데이터 스트림(14)에 삽입함으로써 필터 강도의 국부적인 변화를 수행할 수 있으며, 여기서 제 1 및 제 2 측정 값 A, B는 미리 결정된 기준(예를 들어, A < 9, B > 0)을 충족한다. 제 1 및 제 2 측정 값 A, B가 미리 결정된 기준(예를 들어, A <9, B> 0)을 충족하지 않는, 화상의 제 2 부분(즉, 비 후보 블록)에 대해서, 인코더(10)는 각 부분(블록)에 적용될 디블로킹 또는 디링잉 필터(120)의 강도를 제 1 강도 세기보다 낮은 제 2 강도로 설정하도록 구성될 수 있다.
전술한 비 제한적인 예에서, 미리 결정된 기준, 즉 조건 1은 A <9 및 B> 0 일 때 충족되었다. 그러나 좀 더 일반적인 용어로 말하면, 미리 결정된 기준은 제 1 측정 A가 미리 결정된 임계 값 아래로 떨어지고 제 2 측정 B가 미리 결정된 제 2 임계 값을 초과하거나 같으면 충족된다.
예를 들어, 미리 결정된 제 1 임계 값은 p이며, p는 각 트리 루트 블록(CTU)에 대해 1 <p <17을 충족하는 p로, 즉 A <p이다. 추가적으로 또는 대안적으로, 제 2 미리 결정된 임계 값은 -1 <q <51를 충족하는 q로, 즉 B ≥ q이다.
인코더(10) 및 디코더(20)의 작동 원리는 다음과 같이 간략하게 요약될 것이다:
인코더(10)는 레이트 왜곡 루프에서 최적의 분할을 계산할 수 있다. 이 계산에 기초하여, 인코더(10)는 전술한 조건 1(후보 블록)이 충족되는지 확인할 수 있다. 조건 1이 충족되면, 인코더(10)는 CTU 당 강력한 디블로킹을 시도할 수 있다. 강력한 디블로킹이 CTU에서 측정 가능한 개선(예를 들어, SNR 또는 SSIM의 이득)으로 이어지는 경우, 인코더(10)는 비트 스트림(14)에서 상기 CTU에 대해 강력한 디블로킹을 사용하고 인-루프 필터 제어 매개변수(FCP) 값, 예를 들어, FCP = 1(활성화)을 시그널링할 수 있다. 그렇지 않고, 측정 가능한 개선, 예를 들어, SNR 또는 SSIM에서 이득이 있는 경우, 또는 강력한 디블로킹을 적용할 때 SNR 또는 SSIM에서 손실이 있는 경우, 인코더(10)는 강력한 디블로킹의 결과를 폐기하고, 각각의 CTU에 대해 각각의 인-루프 필터 제어 매개변수(FCP) 값, 예를 들어 FCP = 0(비활성화)인 인-루프 필터 제어 매개변수(FCP) 값을 시그널링할 수 있다. 이것은 상기 CTU에 대해 강력한 디블로킹을 사용하는 것을 억제하도록 디코더(20)를 향해 신호보낼 수 있다. 인코더(10)가 조건 1이 충족되지 않는다고 결정하면, 인-루프 필터 제어 매개변수(FCP)는 비트 스트림(14)에서 시그널링되지 않으므로, 각각의 CTU에 대해 강력한 디블로킹이 시도되지 않게 된다.
디코더(20)는 이전에 계산된 CTU의 최적 분할로 비트 스트림(14)을 수신할 수 있다. 디코더(20)는 해당 분할 정보에 기초하여, 각 CTU에 대해 조건 1이 충족되는지 확인할 수 있다. 조건 1이 각 CTU에서 충족되면, 인-루프 필터 제어 매개 변수(FCP)가 비트 스트림(14)으로부터 판독된다. 인-루프 필터 제어 매개 변수(FCP)의 값이 활성화된 경우(예: FCP = 1), 강력한 디블로킹이 이용된다. 인-루프 필터 제어 매개 변수(FCP)의 값이 비활성화된 경우(예: FCP = 0)에는, 강력한 디블로킹이 이용되지 않는다. 디코더(20)가 조건 1이 충족되지 않는다고 결정할 수 있다면, 인-루프 필터 제어 매개 변수(FCP)는 비트 스트림(14)에서 판독되지 않게 되므로, 각 CTU에 대해 강력한 디블로킹이 이용되지 않는다.
도 8은 디블로킹 또는 디링잉 필터(110)를 사용하여 화상 데이터의 블록 기반 디코딩을 위한 방법의 개략적인 블록도를 도시한다.
블록(801)에서, 화상(12)의 복원 버전(12')을 얻기 위해 예측을 사용하고 데이터 스트림(14)에 코딩된 예측 잔차를 사용하여 화상을 데이터 스트림(14)으로부터 블록 단위 방식으로 복원한다.
블록(802)에서 디블로킹 또는 디링잉 필터(110)는 화상(12)의 복원 버전(12')에 적용된다.
블록(803)에서, 디블로킹 또는 디링잉 필터(110)의 강도는 평균 블록 크기를 국부적으로 측정하는 제 1 측정 A 및 및 예측 잔차의 논-제로 코딩의 빈도를 국부적으로 측정하는 제 2 측정 값 B에 따라 국부적으로 변경된다. 도 9는 인-루프 필터로서 디블로킹 또는 디링잉 필터(120)를 사용하는 화상 데이터의 블록 기반 인코딩을위한 방법의 개략적인 블록도를 도시한다.
블록(901)에서, 예측을 사용하고 예측 잔차를 데이터 스트림(14)에 코딩하ㅇ여 예측 루프(136)에서 화상(12)의 복원 버전(12')을 제공하여 화상(12)이 블록 단위 방식으로 데이터 스트림(14)에 인코딩된다.
블록(902)에서 디블로킹 또는 디링잉 필터(120)는 화상(12)의 복원 버전(12')에 적용된다.
블록(903)에서 디블로킹 또는 디링잉 필터(120)의 강도는 평균 블록 크기를 국부적으로 측정하는 제 1 측정 A 및 및 예측 잔차의 논-제로 코딩의 빈도를 국부적으로 측정하는 제 2 측정 값 B에 따라 국부적으로 변경된다.
제 2 측면
위에서 논의한 제 1 측면에서, 예를 들어, 필터 제어 매개 변수를 통해 (인-루프) 필터 제어의 선택적 시그널링이 화상에 적용할 다른 디블로킹 또는 디링잉 필터 중에서 선택하기 위해서 제안된다. 다음에서, 디블로킹 필터 개념이 제안되는 제 2 측면이 논의될 것이다. 제 2 측면에 따른 상기 디블로킹 또는 디링잉 필터는 제 1 측면과 조합될 수 있거나, 인코더 및/또는 디코더 및/또는 제 1 측면과 다른 방법에서 개별적으로 적용될 수 있다.
HEVC에 적용된 신호 적응 접근 방식(1 면의 배경 섹션 참조)을 기반으로 하는 기존의 디블로킹 방법은 일반적으로 주관적인 개선으로 이어지지만, 때로는 앞서 언급했듯이 큰 코딩 블록 주변의 과도한 블로킹 아티팩트를 제거하기에는 여전히 너무 약하다. 앞서 설명한 제 1 측면과 결합하여, 더 큰 필터 지원(예를 들어, 16 개의 공간 샘플)으로 "초강력" 디블로킹 필터링을 적용하는 것이 최신 기술(예를 들어, 4 개 또는 8 개 샘플)에서 사용되는 것보다 유리한 것으로 밝혀졌다. 제 1 측면에서 도입된 필터 제어 매개 변수(FCP)가 예를 들어 속도/왜곡 테스트를 통해 인코더 측에서 필터링 프로세스에 대한 제어를 허용한다는 점을 감안할 때, 신호 적응 강도 제어가 거의 없거나 또는 전혀없는 매우 간단한 초강력 디블로킹 필터의 적용이 충분하다는 결론을 내릴 수 있다(신호가 있는 FCP를 사용하여 인코더에서 실행을 비활성화할 수 있기 때문).
예를 들어, CTU에서 FCP = 0 인 경우, 복원된 이미지 구성 요소에 대한 디코더 측 필터 강도 검출을 사용한 전통적인 디블로킹이 CTU의 각 TU 하위 영역에 적용될 수 있다. CTU에서 FCP = 1인 경우, 본 명세서에서 설명된 매우 강력한 디블로킹 필터는 그 너비와 높이가 모두 32 개 이상의 픽셀과 동일한 TU 각각에 사용될 수 있다. 이것은 디코더 측 필터 강도 감지로 확장할 수 있다. 필터는 충분히 강하게 유지될 수 있으며, 즉 8 개에서 16 개 사이의 필터 탭 사이에서 유리하게 사용할 수 있다.
초강력 디블로킹 알고리즘의 제 1 단계는 상기 크기 제약을 충족하는 각 TU에 대해 좌측, 우측, 위쪽 및 아래쪽 경계 오프셋을 유도하는 것이다. 특히 d = {좌측, 우측, 상단, 하단}이 주어지면,
offsetd = Clip3(-127, 127,(Pd - Qd + Nd) >>(log2(Nd) + 1) ),
여기서 Pd 및 Qd는 각각 길이 Nd의 방향 d를 따른(즉, TU 폭 높이 각각), TU의 외부 및 내부 경계 복원 샘플의 합이다(외부 네 코너 샘플은 제외). 슬라이스 또는 이미지 경계에서 사용할 수 없는 Pd 합은 인접한 Qd 합으로 대체된다. 그런 다음 CTU에서 FCP = 1 인 경우 디블로킹시(제 1 측면 참조), offsetd의 가중치 추가는 각 d에 대해서, d에 수직인 16 개의 내부 경계 샘플 열 또는 행을 따라 적용될 수 있다. 이것은 d TU 경계를 향해 기울기 offsetd÷16을 갖는 선형 램프를 추가하여, 경계에서 offsetd에 이르고, TU 코너에서 블렌드 오버(blend-over)가 발생한다.
수정시, 매우 강력한 디블로킹은 루마 및 크로마 채널에서 일반적인 디블로킹 이전에 실행될 수 있다(4:2:0 [공간적으로 다운 샘플링된] 크로마의 경우, 위의 세 가지 굵은 값이 절반으로 줄어든다).
요약하면, 종래의 초강력 교정 디블로킹 알고리즘은 4 개의 블록 코너에서 4 개의 제어 값의 공개되지 않은 블렌드 오버를 통해 4 개의 제어 값(각각 좌측, 우측, 상단 및 하단 블록 경계를 따라 계산된 평균 오프셋 값)에 의존할 수 있다.
그러나, 이러한 종래의 디블로킹 알고리즘은 특히 블록 코너 근처의 영역에서 블로킹하거나 링잉 아티팩트로 이어질 수 있으며, 이는 코딩 품질에 대한 부분적으로 차선의 주관적 인식으로 이어질 수 있다. 최첨단 기술의 부분적으로 차선의 주관적 성능을 감안할 때, 본 발명의 제 2 측면은 4 개의 제어 값 대신 8 개에 의존하는 수정 디블로킹 설계에 의한 개선을 제안한다.
본 발명의 8 값 수정 디블로킹 접근법은 기존의 4 값 설계를 4 개의 추가 코너 값만큼 확장하며, 즉, 주어진 블록의 c = {좌측 상단, 우측 상단, 좌측 하단, 우측 하단}의 각 코너에 대한 평균 오프셋 값 offsetc을 제공한다 더욱이, 종래 기술의 공개되지 않은 (및 차선의) 블렌드 오버 구현을 고려하여, 인접한 제어 값의 쌍을 사용하여 블록 코너 주변에서 디블로킹하기 위한 본 발명의 블렌드-오버 알고리즘의 상세한 실시 예가 설명될 것이다.
도 10은 본 발명의 제 2 측면에 따른 디블로킹 필터에 의해 처리될 수 있는 블록(1000)의 예를 도시한다. 블록(1000)은 블록 기반 코딩 방식의 서브 블록일 수 있다. 예를 들어, 블록(1000)은 소위 변환 단위(TU) 일 수 있다.
블록(1000)은 정사각형 또는 일반적으로 직사각형 형상을 포함할 수 있다. 블록(1000)은 블록 경계(1010)를 포함할 수 있으며, 이는 블록(1000)의 외주 경계를 나타낼 수 있다. 블록 경계(1010)는 블록 경계(1010)가 하위 분할될 수 있는 복수의 경계부을 포함할 수 있다.
블록(1000)은 적어도 4 개의 코너 및 상기 4 개의 코너 사이에서 연장되는 4 개의 에지를 포함할 수 있다. 따라서, 블록 경계(1010)는 4 개의 코너 경계부(1021, 1022, 1023, 1024) 및 4 코너 경계부(1021, 1022, 1023, 1024) 사이에서 연장되는 4 개의 에지 경계부(1011, 1012, 1013, 1014)을 포함할 수 있다.
블록(1000)은 화상 콘텐츠(1015)를 나타내는 복수의 픽셀을 포함할 수 있다. 블록(1000) 내부의 화상 콘텐츠는 빗금선으로 도시된다. 또한 주변 픽셀로 표현될 수 있는 블록(1000) 외부에 화상 콘텐츠(1016)가 있을 수 있다. 상기 주변 화상 콘텐츠(주변 픽셀)(1016)는 각각의 경계부(1011, 1012, 1013, 1014, 1021, 1022, 1023, 1024)을 따라 블록(1000) 주위에 배열될 수 있다.
블록(1000) 내부의 화상 콘텐츠(1015)는 아직 필터링되지 않을 수 있으며, 따라서 이는 블록(1000)의 필터링되지 않은 콘텐츠로 지칭될 수 있다. 상기 아직 필터링되지 않은 화상 콘텐츠(1015)에 디블로킹 필터를 적용하는 것은 필터링된 화상 콘텐츠를 제공할 수 있으며, 이는 또한 블록(1000)의 필터링된 콘텐츠로 지칭될 수 있다.
따라서, 디블로킹 필터는 블록(1000) 내부의 아직 필터링되지 않은 화상 콘텐츠(1015)를 블록(1000) 외부의 인접한 화상 콘텐츠(1016)와 비교할 수 있다. 이것은 적어도 8 개의 경계부(1011, 1012, 1013, 1014, 1021, 1022, 1023, 1024) 각각에서 수행될 수 있다.
예를 들어, 도 11에 도시된 바와 같이, 제 1 에지 경계부(1011)을 따라 연장하는 블록(1000) 내부의 아직 필터링되지 않은 화상 콘텐츠(1015)는 또한 제 1 에지 경계부(1011)을 따라 연장하지만 블록(1000) 외부에 있는 인접한 화상 콘텐츠(1016)와 비교될 수 있다. 블록(1000) 내부의 화상 콘텐츠(1015)는 블록(1000) 외부의 화상 콘텐츠(1016)와 다를 수 있다. 따라서, 블록(1000) 내부의 화상 콘텐츠(1015)와 블록(1000) 외부의 화상 콘텐츠(1016) 사이에 차이가 존재할 수 있으며, 이는 디블로킹 필터에 의해 결정될 수 있다.
디블로킹 필터의 처리, 즉 디블로킹 필터링은 상기 비 유사성에 기초하여 조정될 수 있다. 즉, 블록(1000) 내부의 화상 콘텐츠(1015)와 블록(1000) 외부의 화상 콘텐츠(1016) 사이의 결정된 불일치에 기초하여 디블로킹 필터링이 매개 변수화될 수 있다.
따라서, 일 실시 예에 따르면, 화상의 블록(1000)을 필터링하기 위한 디블로킹 필터가 제안되고, 여기서 디블로킹 필터는 블록(1000)의 경계(1010)의 적어도 8 개의 경계부(1011, 1012, 1013, 1014, 1021, 1022, 1023, 1024) 각각에 대해, 각각의 경계부(1011, 1012, 1013, 1014, 1021, 1022, 1023, 1024)을 따라 블록(1000)의 필터링되지 않은 콘텐츠(1015)와 블록(1000) 주변의 주변 화상 콘텐츠(1016) 사이의 불일치를 결정하도록 구성될 수 있으며, 8 개의 경계부(1011, 1012, 1013, 1014, 1021, 1022, 1023, 1024)는 각각 블록(1000)의 코너에 배치되는 네 개의 코너 경계부(1021, 1022, 1023, 1024) 및 각각 블록(1000)의 코너 사이의 경계(1010)의 중간 부분에 배열되는, 4 개의 에지 경계부(1011, 1012, 1013, 1014)을 포함한다. 디블로킹 필터는 또한 블록(1000)의 필터링된 콘텐츠를 얻기 위해 적어도 8 개의 경계부(1011, 1012, 1013, 1014, 1021, 1022, 1023, 1024)에 대해 결정된 불일치를 사용하여, 블록(1000)의 디블로킹 필터링을 매개 변수화하도록 구성될 수 있다.
경계 블록 샘플에서 디블로킹 제어 값 계산
계속해서 도 11을 참조하면, 블록(1000) 내부의 예시적으로 예시된 화상 콘텐츠(1015) 및 블록(1000) 외부의 예시적으로 예시된 화상 콘텐츠(1016)는 각각 샘플이라고도 하는 복수의 픽셀을 포함할 수 있다. 예를 들어, 복수의 제 1 샘플은 블록(1000) 내부에 위치할 수 있고, 복수의 제 2 샘플은 블록(1000) 외부에 위치할 수 있다.
일 실시 예에 따르면, 디블로킹 필터는 적어도 8 개의 경계부(1011, 1012, 1013, 1014, 1021, 1022, 1023, 1024) 각각에 대해, 제 1 샘플과 제 2 샘플 사이의 평균 차이를 계산함으로써 비 유사성을 결정하도록 구성될 수 있으며, 상기 제 1 샘플은 블록(1000) 내부에 위치하고 각각의 경계부(1011, 1012, 1013, 1014, 1021, 1022, 1023, 1024)에 인접하고, 상기 제 2 샘플은 블록(1000) 외부에 위치하고 각각의 경계부(1011, 1012, 1013, 1014, 1021, 1022, 1023, 1024)에 인접한다.
복수의 제 1 샘플은 제 1 샘플 벡터 Q에 포함되고, 복수의 제 2 샘플은 제 2 샘플 벡터 P에 포함될 수 있다. 샘플 벡터 P, Q는 각각의 경계부(1011, 1012, 1013, 1014, 1021, 1022, 1023, 1024)을 따라 확장될 수 있으므로, 상기 벡터 P, Q는 또한 경계 샘플 벡터로 지칭될 수 있다. 각 경계 샘플 벡터 P, Q는 샘플의 합계를 포함할 수 있는데, 예를 들어, 제 1 샘플 벡터 Q는 제 1 샘플의 합을 포함할 수 있고 제 2 샘플 벡터 P는 제 2 샘플의 합을 포함할 수 있다.
위의 예는 에지 경계부(1011)을 참조하여 설명되었다. 그러나, 도 12를 참조하여 예시적으로 설명되는 바와 같이, 이것은 코너 경계부(1021, 1022, 1023, 1024)에 대해서도 마찬가지이다.
도 12는 블록(1000)의 좌측 상단 코너에 있는 코너 경계부(1024)을 도시한다. 내부 경계 샘플 벡터 Q1은 블록(1000) 내부의 코너 경계부(1024)의 수직 부분을 따라 연장된다. 내부 경계 샘플 벡터 Q1에 인접하여 외부 경계 샘플 벡터 P1은 블록(1000) 외부의 코너 경계부(1024)의 수직 부분을 따라 연장된다.
또한, 추가 내부 경계 샘플 벡터 Q2는 블록(1000) 내부의 코너 경계부(1024)의 수평 부분을 따라 연장된다. 추가 내부 경계 샘플 벡터 Q2에 인접하여 추가 외부 경계 샘플 벡터 P2는 블록(1000) 외부의 코너 경계부(1024)의 수평 부분을 따라 연장된다.
내부 경계 샘플 벡터 Q1 및 Q2는 제 1 코너 샘플 벡터 Qc로 합산될 수 있고, 외부 경계 샘플 벡터 P1 및 P2는 제 2 코너 샘플 벡터 Pc로 가산될 수 있다.
일 실시 예에 따르면, 디블로킹 필터는 적어도 8 개의 경계부(1011, 1012, 1013, 1014, 1021, 1022, 1023, 1024) 각각에 대해, 제 1 샘플에 대한 제 1 합(벡터 Q)과 제 2 샘플에 대한 제 2 합(벡터 P) 간의 차이를 계산함으로써 불일치를 결정하도록 구성될 수 있고, 상기 제 1 샘플은 블록(1000) 내부에 위치하고 각각의 경계부(1011, 1012, 1013, 1014, 1021, 1022, 1023, 1024)에 인접하고, 상기 제 2 샘플은 블록(1000) 외부에 위치하고 각각의 경계부(1011, 1012, 1013, 1014, 1021, 1022, 1023, 1024)에 인접한다.
따라서, 제 1 (내부) 샘플 벡터 Q와 제 2 (외부) 샘플 벡터 P 간의 (평균) 차이가 계산될 수 있으며, 이는 △ = P - Q에 해당한다.
에지 경계부(1011, 1012, 1013, 1014)을 따라 외부 및 내부 샘플 벡터 간의 오프셋은, d = {좌측 에지, 우측 에지, 상단 에지, 하당 에지}가 주어지면, 기존 방식으로 계산될 수 있다:
offsetd = Clip3(-127, 127,(Pd - Qd + Nd) >>(log2(Nd) + 1) ),
여기에 설명된 개념에 따르면, 에지 경계부(1011, 1012, 1013, 1014)에 추가하여, c = {좌측 상단, 우측 상단, 좌측 하단, 우측 하단}이 주어지면, 코너 경계부(1021, 1022, 1023, 1024)을 따라 외부 및 내부 샘플 벡터 사이의 오프셋이 계산될 수 있다:
offsetc = Clip3(-127, 127,(Pc - Qc + Nc) >>(log2(Nc) + 1) ),
이 때 위에서 언급한(평균) 차이 △ = P - Q는 코너 경계 벡터 Qc 및 Pc에 대해 고려된다.
즉, 네 코너 c(좌측 상단, 우측 상단, 좌측 하단, 우측 상단) 각각에 대해, 실제 디블로킹 처리에서 제어 값으로 사용되는 보정 오프셋은 (예를 들어, TU) 블록 코너 주변의 외부(Pc) 및 내부(Qc) 경계 복원 샘플의 세트 간의 차이의 평균이다 (다시 외부 네 코너 샘플은 제외함). 바람직하게는, Nc는 필터 지지 길이, 즉 블록 경계(1010)의 각 측면에서 디블로킹될 열/행의 수와 같지만, Nc는 또한 Nd, 즉 종래 기술에서와 같이(TU) 블록 폭 또는 높이의 2의 거듭제곱일 수 있다. 보다 구체적으로, 본 명세서에서 설명된 개념에 따르면, Nc = 16 (또는 4 : 2 : 0 크로마의 경우 8)인 반면, 종래 기술은 Nd ≥ 32를 사용한다.
일 실시 예에 따르면, 디블로킹 필터는 일반적으로 블록(1000)의 크기에 따라 적어도 8 개의 경계부(1011, 1012, 1013, 1014, 1021, 1022, 1023, 1024)의 폭을 설정하도록 구성되므로, 적어도 8 개의 경계부(1011, 1012, 1013, 1014, 1021, 1022, 1023, 1024) 중 하나에 대해, 각각의 경계부(1011, 1012, 1013, 1014, 1021, 1022, 1023, 1024)의 폭은 상이한 블록 크기에 대해 변할 수 있는 블록의 경계(1010) 길이의 일부와 동일하다. 예를 들어, 블록이 클수록 각 경계부(1011, 1012, 1013, 1014, 1021, 1022, 1023, 1024)의 폭이 커질 수 있다. 전술 한 바와 같이, 경계부(1011, 1012, 1013, 1014, 1021, 1022, 1023, 1024)은 블록 경계(1010) 길이의 일부일 수 있다. 즉, 경계부(1011, 1012, 1013, 1014, 1021, 1022, 1023, 1024) 자체는 항상 블록의 경계(1010)의 길이보다 짧을 수 있다.
경계부(1011, 1012, 1013, 1014, 1021, 1022, 1023, 1024)의 다양한 폭으로, 또한 위에서 논의된 경계 벡터 P 및 Q의 공간적 위치가 변경될 수 있다.
도 13a 내지 13d는 c = 좌측 상단의 비 제한적인 예에 대해 offsetc의 유도에 사용된 샘플의 Pc 및 Qc 합의 가능한 공간 위치를 보여준다. 일반적으로, Pc = P1 + P2 및 Qc = Q1 + Q2일 때, offsetc는 도시된 바와 같이 4 개의 개별 벡터 합 P1, P2, Q1, Q2으로부터 계산할 수 있다.
일부 예들에 따르면, P2 및 Q2는 종래 기술에서 도입된 바와 같이 Pd 및 Qd와 겹치지 않거나 부분적으로 겹칠 수 있거나(이 경우 간단히 Pd = P3 및 Qd = Q3로 정의될 수 있다. 도 13a 내지 13c 참조), P2 및 Q2는 Pd 및 Qd와 완전히 겹칠 수 있다(이 경우 Pd = P2 + P3 또는 Pd = P2 + P3 + P4 및 Qd = Q2 + Q3 또는 Qd = Q2 + Q3 + Q4로 지정될 수 있고, 도 13d를 참조하여 다른 코너에서 offsetc를 계산하는 데에 사용되는 P4 및 Q4 포함). 도 13d의 경우, 이러한 비 중첩 벡터 합의 합산은 알고리즘 복잡성을 감소시킨다. P3 및 Q3의 벡터는 또한 길이가 0일 수도 있으며, 즉, Pd = P2 + P4 및 Qd = Q2 + Q4임에 유의한다.
따라서, 도 13a 내지 13d는 코딩 블록(1000)의 경계 에지 경계부(1011) 및 코너 경계부(1024) 및 대응하는 경계 샘플 벡터 P 및 Q의 가능한 공간 위치를 도시한다. 특히, 도 13a 내지 13c에서, 각각의 경계부(1011, 1024) 및 대응하는 경계 샘플 벡터 Pc, Qc (코너에서) 및 에지를 따른 Pd, Qd는 중첩하지 않거나(도 13a), 서로 접할 수 있거나(도 13b), 부분적으로 중첩할 수 있거나(도 13c), 또는 offsetc 및 offsetd에 대해 완전히 중첩할 수 있다(도 13d). 예를 들어, 도 13a에 도시된 경우는 4Nc보다 큰 블록 치수에 선호될 수 있으며, 도 13b 및 13c에 도시된 경우는 3Nc와 4Nc 사이의 블록 치수에 대해 선호될 수 있고, 도 13d에 도시된 경우는 3Nc보다 작은 블록 치수에 선호될 수 있다.
따라서, 일 실시 예에 따르면, 디블로킹 필터는 일반적으로 두 가지 다른 방식으로 블록(1000)의 크기에 따라 적어도 8 개의 경계부(1011, 1012, 1013, 1014, 1021, 1022, 1023, 1024)의 폭을 설정하도록 구성될 수 있다. 먼저, 블록(1000)의 크기가 제 1 미리 결정된 크기보다 작은 경우, 예를 들어 블록 크기 < 3Nc인 경우, 4 개의 에지 경계부(1011, 1012, 1013, 1014) 및 4 개의 코너 경계부(1021, 1022, 1023, 1024)는 서로 중첩될 수 있다(도 13c 및 13d 참조). 둘째, 블록(1000)의 크기가 제 1 미리 결정된 크기보다 큰 경우, 예를 들어 블록 크기 > 3Nc인 경우, 4 개의 에지 경계부(1011, 1012, 1013, 1014) 및 4 개의 코너 경계부(1021, 1022, 1023, 1024)은 중첩되지 않을 수 있다(도 13a 및 13b 참조).
보다 정확한 실시 예에 따르면, 디블로킹 필터는 블록(1000)의 크기에 따라 적어도 8 개의 경계부(1011, 1012, 1013, 1014, 1021, 1022, 1023, 1024)의 폭을 3 가지 방식으로 설정하도록 구성될 수 있다. 먼저, 블록(1000)의 크기가 제 1 미리 결정된 크기보다 작은 경우, 예를 들어 블록 크기 < 3Nc인 경우, 4 개의 에지 경계부(1011, 1012, 1013, 1014) 및 4 개의 코너 경계부(1021, 1022, 1023, 1024)은 상호 중첩될 수 있다(도 13d 참조). 둘째, 블록(1000)의 크기가 제 1 미리 결정된 크기과 제 2 미리 결정된 크기 사이에 있다면, 예를 들어. 3Nc ≤ 블록 크기 ≤ 4Nc인 경우, 4 개의 에지 경계부(1011, 1012, 1013, 1014) 및 4 개의 코너 경계부(1021, 1022, 1023, 1024)는 서로 인접할 수 있다(도 13b 참조). 셋째, 블록(1000)의 크기가 제 2 미리 결정된 크기보다 큰 경우, 예를 들어 블록 크기 > 4Nc인 경우, 4 개의 에지 경계부(1011, 1012, 1013, 1014) 및 4 개의 코너 경계부(1021, 1022, 1023, 1024)는 서로 이격될 수 있다(도 13a 참조).
도 13a 내지 13c의 경우, 오프셋의 선행 기술 계산을 다음과 같이 수정하는 것이 바람직할 수 있다:
offsetd = Clip3(-127, 127,(Pd - Qd + Ne) >>(log2(Ne) + 1) ),
여기서, Ne ≤ Nd - 2Nc는 P3 및 Q3 벡터의 길이이다. Ne는 >> 시프트에 대해 2의 거듭 제곱일 수 있다.
블록 코너에서의 블렌드 오버를 포함한 8 값 디블로킹 적용
도 14 내지 16은 다음 설명의 용어에 대한 간략한 소개를 제공하는 역할을 할 수 있다. 도 14는 8 개의 경계부(1011, 1012, 1013, 1014, 1021, 1022, 1023, 1024)으로 분할되는 블록 경계(1010)를 갖는 상기 논의된 블록(1000)을 도시한다. 블록(1000) 내부에는 샘플의 행(1031) 및 열(1032)이 배열될 수 있다. 도 14에 도시된 행(1031)은 블록 보더(1010)에서 볼 때 제 2 행일 수 있다. 따라서, 상기 행(1031)은 블록 경계(1010)에 대해 하나의 행의 샘플 오프셋을 가질 수 있다. 도 14에 도시된 열(1032)은 블록 보더(1010)에서 볼 때 제 3 열일 수 있다. 따라서, 상기 열(1032)은 블록 경계(1010)에 대해 2 개의 열의 샘플 오프셋을 가질 수 있다. 행(1031) 및 열(1032)은 샘플 라인으로 포함될 수 있다.
디블로킹 필터는 필터링 프로세스의 대상이 될 블록(1000)의 라인(1031, 1032)(즉, 행/열)의 수, 즉, 블록 경계(1010)의 각 측면에서 디블로킹되는 블록(1000)의 라인(1031, 1032)(즉, 행/열)의 수를 나타내는 필터 지지 길이를 포함할 수 있다. 상기 라인 수(1031, 1032)(즉, 행/열)는 외부에서, 즉, 블록(1000)의 경계선(1010)에서 내부(1030)까지 카운트된다.
따라서, 경계 대역(1033)(해칭 선으로 표시됨)은 디블로킹 필터에 의해 디블로킹되어야 하는 샘플의 라인(1031, 1032)의 수를 나타낼 수 있는 반면, 상기 경계 대역(1033)의 대역폭은 필터 강도를 나타낼 수 있다. 경계 대역(1033)은 블록(1000)의 내부(1030) 주위를 원주 방향으로 연장할 수 있다.
도 14에 도시된 예에서, 경계 대역(1033)은 경계선(1010)의 각 수직 부분에 5 열의 수직 대역폭과 경계선(1010)의 각 수평 부분에 4 행의 수평 대역폭을 포함할 수 있다. 좀 더 일반적인 용어로 말하면, 필터 지지 길이, 즉 경계 대역(1033)의 대역폭은 수직 부분과 수평 부분 사이에서 다를 수 있다.
대안적으로, 필터 지지 길이, 즉 경계 대역(1033)의 대역폭은 각 경계부(1011, 1012, 1013, 1014, 1021, 1022, 1023, 1024)에서 동일할 수 있다. 따라서, 일 실시 예에 따르면, 디블로킹 필터가 구성되므로, 경계 대역(1033)는 일정한 원주 폭을 포함한다.
또한, 코딩될 블록(1000)의 크기에 따라 필터 강도, 즉 경계 대역(1033)의 대역폭이 달라질 수 있다. 예를 들어, 필터 강도, 즉 경계 대역(1033)의 대역폭은 블록(1000)의 크기가 증가함에 따라 증가할 수 있다. 따라서, 일 실시 예에 따르면, 디블로킹 필터는 블록(1000)의 크기에 따라 단조적으로 증가하는 경계 대역(1033)의 대역폭을 설정하도록 구성될 수 있다.
도 15에 도시된 바와 같이, 경계 밴드(1033)는 처리 영역이라고도 지칭될 수 있는 하나 이상의 경계 영역(1030, 1040, 1050)으로 분할될 수 있다. 예를 들어, 경계 대역(1033)은 코너 영역(1040) 및 에지 중심 영역(1050)을 포함할 수 있다. 이들 경계 영역(1040, 1050)은 정사각형 또는 일반적으로 직사각형일 수 있다. 이러한 경계 영역(1040, 1050)은 디블로킹 필터링이 적용될 수 있다. 경계 대역(1033)은 디블로킹 필터링이 적용되지 않을 수 있는 내부 영역(1030)을 더 포함할 수 있다.
도 16에 도시된 바와 같이, 경계 영역(1040, 1050)은 경계부을 포함할 수 있다. 예를 들어, 코너 영역(1040)(예시적으로 좌측 상단 및 우측 상단 코너에 도시됨)은 블록(1000)의 각 코너로부터 블록(1000)의 내부(내부 영역)(1030)를 향해 대각선으로 연장되는 코너 경계부(1041a, 1041b)을 포함할 수 있다. 예시적으로 도시된 2 개의 코너 경계부(1041a, 1041b)은 한 쌍의 이웃하는 코너 경계부을 형성한다.
이웃하는 한 쌍의 코너 경계부(1041a, 1041b) 사이에 둘 이상의 추가 경계부가 배열될 수 있다. 예를 들어, 중간 경계부(1051)는 이웃하는 한 쌍의 코너 경계부(1041a, 1041b) 사이에서 원주 방향으로 연장될 수 있다. 또한, 섹션(1061a, 1061b)은 이웃하는 코너 경계부(1041a, 1041b)와 중간 경계부(1051) 사이에서 원주 방향으로 연장될 수 있다. 예를 들어, 중간 경계부(1051)와 제 1 코너 경계부(1041a) 사이에 제 1 섹션(1061a)이 배치될 수 있으며, 중간 경계부(1051)와 제 2 코너 경계부(1041b) 사이에 제 2 섹션(1061b)이 배치될 수 있다.
따라서, 일 실시 예에 따르면, 디블로킹 필터는 경계 대역(1033)의 경계부이 블록(1000)의 각 코너에 적어도 각 코너로부터 블록(1000)의 내부(1030)를 향해 대각선으로 연장되는 코너 경계부(1041a, 1041b) 및 블록(1000)의 각 쌍의 이웃하는 코너 경계부(1041a, 1041b) 사이에 2 개 또는 3 개의 경계부(1051, 1061a, 1061b)를 포함하도록 구성될 수 있다.
추가 구현 예에 따르면, 디블로킹 필터를 블록(1000)의 각 쌍의 이웃하는 코너 경계부(1041a, 1041b) 사이의 2 개 또는 3 개의 경계부(1051, 1061a, 1061b)가 각 쌍의 제 1 코너 경계부(1041a)에 원주 방향으로 인접한 제 1 섹션(1061a), 각 쌍의 제 2 코너 경계부(1041b)에 원주 방향으로 인접한 제 2 섹션(1061b), 및 각 쌍의 제 1 및 제 2 코너 경계부 사이의 원주 방향으로 연장되는 중간 경계부(1051)를 포함하도록 구성될 수 있다.
일부 예에서, 중간 경계부(1051)은 존재하지 않을 수 있다. 이것은 블록 크기 및 경계선(1010)의 경계 분할에 따라 달라질 수 있다. 이 경우, 전술한 섹션(1061a, 1061b)은 서로 인접할 수 있다.
따라서, 일 실시 예에 따르면, 디블로킹 필터는 각 쌍의 이웃하는 코너 경계부(1041a, 1041b) 사이에 2 개의 3 개의 경계부(1051, 1061a, 1061b) 또는 2 개의 경계부(1061a, 1061b) 만 제공하도록 구성될 수 있다. 이것은 이 예에서 수평으로 측정된 블록 크기, 즉 두 코너 경계부(1041a, 1041b) 사이에 의존할 수 있다. 또는 좀 더 일반적으로 말해서, 블록 크기는 이웃하는 코너 경계부(1041a, 1041b)의 각 쌍이 블록(1000)의 내부를 향해 연장되는, 코너 사이에서 확장되는 방향을 따라 측정된다.
제 1 경우에, 블록 크기가 경계 대역(1033)의 폭의 2 배보다 크면, 3 개의 경계부, 즉, 각각의 쌍의 제 1 코너 경계부(1041a)에 원주 방향으로 인접한 제 1 섹션(1061a), 각 쌍의 제 2 코너 경계부(1041b)에 원주 방향으로 인접한 제 2 섹션(1061b), 및 각 쌍의 제 1 및 제 2 코너 경계부(1041a, 1041b) 사이에서 원주 방향으로 연장되는 중간 경계부(1051)가, 한 쌍의 코너 경계부(1041a, 1041b) 사이에 배열될 수 있다.
제 2 경우에 블록 크기가 경계 밴드(1033) 폭의 2 배 이하이면, 중간 경계 부(1051)가 존재하지 않을 수 있다. 따라서 두 개의 경계부, 즉, 각각의 쌍의 제 1 코너 경계부(1041a)에 원주 방향으로 인접한 제 1 섹션(1061a), 및 각각의 쌍의 제 2 코너 경계부(1041b)에 원주 방향으로 이웃하는 제 2 섹션(1061b)만이 존재할 수 있다. 그러나, 이 경우 제 1 및 제 2 섹션(1061a, 1061b)은 서로 접한다.
상기 설명에 따라, 중간 경계부(1051) 및 코너 경계부(1041a, 1041b)를 갖는 블록(예를 들어, TU)에 적용되는 디블로킹 필터의 디블로킹 처리의 하나의 비 제한적인 예가 이하 설명될 것이다. 앞서 언급했듯이 디블로킹 필터의 필터 특성은 코너 영역(1040) 및 적용 가능한 경우 에지 중심 영역(1050)에서의 내부 및 외부 경계 벡터 P와 Q 간의 차이를 기반으로 매개 변수화될 수 있다.
도 17은 디블로킹 필터가 블록(1000)에 디블로킹 필터링 프로세스를 적용하는 방법의 일 예를 보여준다.
일 실시 예에 따르면, 디블로킹 필터는 오프셋 값을 사용하여 블록 경계(1010)를 따라 연장되는 블록(1000)의 경계 대역(1033) 내의 각 샘플을 오프셋하도록 구성될 수 있다(예를 들어, 코너 영역(1040)에 대해 offsetc 및 에지 중심 영역(1050)에 대해 offsetd). 오프셋 값(offsetc 및 offsetd)은 오프셋 값(offsetc 및 offsetd)이 각 경계부(1041a, 1041b, 1051, 1061a, 1061b) 내의 샘플의 각 라인 1031, 1032(즉, 행/열)에 대해 일정하도록 설정된다. 또는 보다 일반적으로 말해서, 샘플의 각 라인(1031, 1032)에 대해 상수가 블록의 경계(1010)에 대해 동일하게 형성되고 블록의 경계(1010)에 대해 일정한 샘플 오프셋을 갖는다.
본 명세서에 설명된 개념에 따르면, 필터 강도는 블록(1000)의 경계선(1010)에서 블록(1000)의 내부(1030), 즉 화살표(1070) 방향으로 감소한다. 다르게 말하면, 필터 강도는 블록(1000)의 내부(1030)에 더 가까이 위치한 라인(1031, 1032)(즉, 행/열)에 대해서 보다 블록(1000)의 경계선(1010)에 더 가까운 라인(1031, 1032)(즉, 행/열)에 대해 더 크다. 따라서, 오프셋 값(offsetc 및 offsetd)은 경계선(1010)에서 블록(1000)의 중간(1030)까지 감쇠된다.
또한, 각 경계부(1041a, 1041b, 1051, 1061a, 1061b) 내의 오프셋 값(offsetc 및 offsetd)은 각각의 경계부(1041a, 1041b, 1051, 1061a, 1061b)에 원주 방향으로 가장 가까운 경계부(1011, 1012, 1013, 1014, 1021, 1022, 1023, 1024) 중 하나 이상에 대해 결정된 불일치성에 기초하여 계산된다. 예를 들어, 에지 중심 영역(1050), 즉 중간 경계부(1051)에 포함된 샘플의 오프셋 값 offsetd은, 외부 벡터 P3와 내부 벡터 Q3 사이의 비 유사성을 기반으로 계산되는 반면(도 17에 표시되지 않음), 코너 영역(1040), 즉 코너 경계부(1041a) 및 섹션(1061a)에 포함된 샘플의 오프셋 값 offsetc은 외부 벡터 Pc = P1 + P2와 내부 벡터 Qc = Q1 + Q2 사이의 비 유사성을 기반으로 계산된다(도 17에 표시되지 않음).
따라서 내부 및 외부 경계 벡터 P와 Q의 차이를 기반으로 8 개의 오프셋 값을 계산할 수 있으며, 여기서 4 개의 에지 경계부(1011, 1012, 1013, 1014)에 대해 오프셋된 4 개의 오프셋 값 offsetd 및 4 개의 코너 경계부(1021, 1022, 1023, 1024)에 대한 4 개의 오프셋 값 offsetc가 계산된다. 위에서 설명한대로 결정된 4 개의 offsetc 및 4 개의 offsetd 제어 값을 사용하여, 예시적인 디블로킹 프로세스는 다음과 같이 구성될 수 있다.
도 18에 도시된 바와 같이, 디블로킹 처리될 MxN 크기의 코딩 블록(1000)(예를 들어, TU)이 주어지면, 내부 블록 경계에서 8 개의 처리 영역(즉, 4 개의 코너 영역(1040) 및 4 개의 에지 중심 영역(1050))이 도 13b 및 13d의 경계 분할을 기반으로 정의된다. 블록 코너에서의 정사각형 영역(1040)은 바람직하게는 각각 고정된 크기 Nc × Nc인 것이 바람직한 반면, 에지 중심 영역(1050)은 가변 크기 Nc×(Nd-2Nc) 또는 (Nd-2Nc)×Nc일 수 있으며, 각각 가능하게 Nd-2Nc = 0 일 수 있다. 또한, 코딩 블록(1000)의 내부 직사각형 영역(1030) 내부의 픽셀은 디블로킹 프로세스에 의해 수정되지 않을 수 있다.
따라서, 일 실시 예에 따르면, 디블로킹 필터는 에지 중심 영역(1050) 및 이에 따라 대응하는 중간 경계부(1051)가 원주 방향으로 블록(1000)에서 코너 영역(1040)의 두 배를 뺀 폭 및 이에 따라 대응하는 코너 경계부(1041a, 1041b)이 되도록 구성된다. 더욱이, 경계 대역(1033)이 일정한 원주 폭을 포함한다면, 원주 폭은 코너 영역(1040)에서 벡터 P1, P2, Q1, Q2의 길이와 같을 수 있기 때문에, 중간 경계부(1051)는 원주 방향으로 블록(1000)에서 경계 대역(1033)의 폭의 2 배를 뺀 폭을 갖는다.
그러나, 앞서 언급 한 바와 같이, 에지 중심 영역(1050) 및 이에 따라 중간 경계부(1051)은 블록 크기에 따라 전혀 존재하지 않는다. 예를 들어, 폭 또는 높이 Nd = 2Nc의 블럭에서, 상기 에지 중심 영역(1050)은 각각 상단/하단 또는 좌측/우측 에지를 따라 존재하지 않을 수 있고, 이에 따라 처리되지 않을 수 있다. 그러나 Nd <2Nc는 허용되지 않는다.
디블로킹에 의해 처리된 경계 블록 세그먼트(1030, 1040, 1050)의 공간적 위치를 보여주는 도 17을 참조하면, 현재 코딩 블록을 디블로킹할 때 픽셀 샘플의 외부 P1 내지 P4 열/행이 처리되지 않음을 알 수 있다. 대신 이들은 인접한 블록, 여기서는 좌측 및 상단 블록을 디블로킹할 때 처리된다. Q1, Q2, 및 Q4 라인 영역은 각각의 코너 영역(1040)의 일부이고 Q3는 에지 중심 영역(1050)의 일부이다.
이하에서 Nc는 필터 길이로, 바람직하게는 16 또는 8 픽셀과 같으며, 이는 이미지 구성 요소(루마 또는 크로마) 또는 블록 크기에 따라 달라질 수 있다. 에지 중심 영역(1050)의 디블로킹 처리는 간단하다. 수평 상단 또는 하단 블록 경계의 경우, 픽셀 p(x, y)의 Nc 행(1031)은 offsetd의 가중치가 추가된다.
상단 행:
Figure pct00001
하단 행:
Figure pct00002
H는 픽셀 단위의 블록 높이이고 Nc ≤ x <W - Nc (W는 블록 폭) 및 0 ≤ y <Nc이다. 수직 방향 좌측 또는 우측 블록 에지 중심의 경우, Nc 픽셀 열 p(x, y)는 유사하게 처리된다.
좌측 열
Figure pct00003
우측 열
Figure pct00004
W는 픽셀 단위의 블록 폭이고, Nc ≤ y < H - Nc(H는 높이임) 및 0 ≤ x < Nc 이다.
두 경우 모두, 픽셀의 처리된 각 행/열(1031, 1032)의 길이는 Nd - 2Nc와 같다. 이러한 작업은 선행 기술에서 수행된 작업과 유사할 수 있다. 효과적으로, 픽셀 p(x, y)가 블록(1000)의 중심에 가까울수록 더 감쇠된 오프셋이 추가된다. 다시, 폭 또는 높이 Nd = 2Nc를 갖는 블록(1000)에서, 에지 중심 영역(1050)은 이 측면에 따라 영향을 받는 치수를 따라 존재하지 않을 것이다. 본 발명의 이러한 측면의 주요 개념이 되는, 코너 영역(1040)에 적용된 디블로킹은 좀 더 정교하다.
대각:
Figure pct00005
여기서 0 ≤ f <Nc는 대각선을 따라 블록 중심(1030)을 향하는 픽셀 위치이고, mc는 두 코너 인접 offsetd 값의 산술 평균, 즉 1/2(offsettop + offsetleft) 또는 1/2(offsettop + offsetright) 또는 1/2(offsetbottom + offsetleft) 또는 1/2(offsetbottom + offsetright). 이것은 대각선 픽셀 p(f, f) 또는 p(W-1-f, f) 또는 p(f, H-1-f) 또는 p(W-1-f, H-1-f)가 블록(1000)의 중심(1030)에 가까울수록, mc가 가중 덧셈을 더욱 지배하게 되고 가중 덧셈이 더욱 감쇠되는 것을 의미한다.
대안적으로, 코너 영역(1040)의 디블로킹에서 oc는 다음과 같이, mc가 아니고 offsetc에만 의존하도록 단순화될 수 있다:
Figure pct00006
이로 인해 매우 유사한 주관적인 품질이 결과된다. 나머지 두 코너 섹션은 다음에 의해 주어진다:
수평
Figure pct00007
이 때 f < x < Nc
수직 부분
Figure pct00008
이때 f< y < Nc
예를 들어 c = 좌측 상단 블록 코너(1040)의 경우, 나머지 세 코너는 동일하게 처리된다. 즉, 마지막 두 방정식은 인접한 가중치 오프셋 c와 오프셋 값 사이의 선형 보간을 하드웨어 친화적으로 특별하게 구현한 것이다. 이전 14 페이지들의 모든 방정식에서 log2(N) + 1 = log2(2N) 및 log2(N2) + 1 = 2log2(N) + 1이고, 따라서 특정 구현은 세부적으로 다를 수 있다.
일 실시 예에 따라, 첨부된 청구 범위의 관점에서 설명하면, 디블로킹 필터는 코너 경계부(1041) 각각에 대해, 각 코너 경계부(1041) 내의 샘플에 대한 오프셋 값 oc을 설정하여 각 코너 경계부(1041) 내의 샘플들의 오프셋 값 oc이 가중 평균에 따라 블록(1000)의 경계(1010)로부터 블록(1000)의 내부 쪽으로 변하도록 구성된다.
상기 가중 평균은 코너 경계부(1021)에 대한 제 1 오프셋 값 오프셋(offsetc) 및 2 개의 코너 인접 에지 경계부(1011, 1014)에 대한 제 2 오프셋 값(mc)에 대한 평균이다(도 10 참조). 보다 일반적인 용어로, 제 1 오프셋 값 offsetc는 각각의 코너 경계부(1041)가 블록(1000)의 내부(1030)를 향해 대각선으로 연장된, 각 코너 경계부(1021, 1022, 1023, 1024)에 대해 결정된 비 유사성에 기초하여 결정될 수 있는 반면, 제 2 오프셋 값(mc)은 각각의 코너 경계부(1041)가 블록(1000)의 내부(1030)를 향해 대각선으로 연장된, 각각의 코너 경계부(1021, 1022, 1023, 1024)에 원주 방향으로 인접한 에지 경계부(1011, 1012, 1013, 1014)에 대해 결정된 비 유사성에 기초하여 결정될 수 있다.
가중 평균의 가중치(위 수학식에서 Nc-f 및 f 참조)는 가중 평균이 거리가 증가함에 따라 제 2 오프셋 값 mc와 비교하여 제 1 오프셋 값 offsetc에 대해 덜 좌우하여 단조적으로 감소하도록 블록(1000)의 경계(1010)로부터 샘플의 거리 f에 따라 달라질 수 있다. 즉, 대각선 픽셀 p(f, f) 또는 p(W-1-f, f) 또는 p(f, H-1-f) 또는 p(W-1-f, H-1-f)이 블록(1000)의 중심(1030)에 가까울수록, mc가 가중 덧셈을 더욱 지배하게 되고 가중 덧셈이 더욱 감쇠되게 된다.
다시 도 16을 참조하면, 코너 경계부(1041a, 1041b)는 블록(1000)의 코너로부터 블록의 내부(1030)까지 대각선으로 연장될 수 있다. 제 1 및 제 2 섹션(1061a, 1061b)은 전술한 바와 같이 중간 경계부(1051) 사이에 배치될 수 있다.
제 1 섹션(1061a)에 포함된 샘플에 대한 오프셋 값은 제 1 코너 경계부(1041a)과 중간 경계부(1051) 사이에 보간될 수 있다. 특히, 행(1031)을 따라서 보면, 제 1 섹션(1061a)에 포함된 샘플에 대한 오프셋 값은 제 1 코너 경계부(1041a)(동일 행(1031))의 오프셋 값과 중간 경계부(1051)(동일 행(1031))의 오프셋 값 사이에서 보간될 수 있다.
제 2 섹션(1061b)에 포함된 샘플의 오프셋 값은 제 2 코너 경계부(1041b)와 중간 경계부(1051) 사이에서 보간될 수 있다. 특히 행(1031)을 따라 보면, 제 2 섹션 1061b에 포함된 샘플의 오프셋 값은 제 2 코너 경계부(1041b)(동일 행(1031))의 오프셋 값과 중간 경계부(1051)(동일 행(1031))의 오프셋 값 사이에서 보간될 수 있다.
일 실시 예에 따라, 첨부된 청구 범위의 관점에서 설명하면, 디블로킹 필터는 제 1 섹션(1061a)에 대해, 제 1 섹션(1061a) 내의 샘플에 대한 오프셋 값을 설정하여, 각 라인(즉, 행/열)(1031, 1032)에 대해, 각 라인(즉, 행/열)(1031, 1032) 내 샘플의 오프셋 값이 각 라인(즉, 행/열)(1031, 1032)의 제 1 코너 경계부(1041a)의 오프셋 값과 각 라인(즉, 행/열)(1031, 1032)의 중간 경계부(1051)의 오프셋 값 사이에서 보간되도록 구성된다. 또한, 디블로킹 필터는 제 2 섹션(1061b)에 대해, 제 2 섹션(1061b) 내의 샘플에 대한 오프셋 값을 설정하여, 각 라인(즉, 행/열)(1031, 1032)에 대해, 각 라인(즉, 행/열)(1031, 1032) 내 샘플의 오프셋 값이 각 라인(즉, 행/열)(1031, 1032)의 제 2 코너 경계부(1041b)의 오프셋 값과 각 라인(즉, 행/열)(1031, 1032)의 중간 경계부(1051)의 오프셋 값 사이에서 보간되도록 구성된다.
도 19는 블록 기반 코딩된 화상(12)의 블록(1000)을 필터링하기 위한 방법의 개략적인 블록도를 도시한다.
블록(1901)에서, 블록(1000)의 경계(1010)의 적어도 8 개의 경계부(1011, 1012, 1013, 1014, 1021, 1022, 1023, 1024) 각각에 대해, 각각의 경계부(1011, 1012, 1013, 1014, 1021, 1022, 1023, 1024)을 따라 블록(1000)의 필터링되지 않은 콘텐츠(1015)와 블록(1000) 주변의 주변 화상 콘텐츠(1016) 사이의 불일치가 결정되고, 여기서 8 개의 경계부(1011, 1012, 1013, 1014, 1021, 1022, 1023, 1024)은 각각 블록(1000)의 코너에 배열되는, 4 개의 코너 경계부(1021, 1022, 1023, 1024) 및 각각 블록(1000)의 코너 사이의 경계(1010)의 중간 부분에 배열된 4 개의 에지 경계부(1011, 1012, 1013, 1014)를 포함한다.
블록(1902)에서 블록(1000)의 디블로킹 필터링은 블록(1000)의 필터링된 콘텐츠를 얻기 위해 적어도 8 개의 경계부(1011, 1012, 1013, 1014, 1021, 1022, 1023, 1024)에 대해 결정되는 불일치성을 사용하여 매개 변수화된다.
예를 들어 HEVC의 필터와 같은 기존 필터와 달리, 본 발명의 "초강" 디블로킹 알고리즘은 디블로킹될 픽셀 샘플에 따라 그 디블로킹 강도를 조정하는 것이 아니므로,, 필터 적용 동안 종래 기술보다 더 낮은 계산 복잡성을 보여준다. 물론, 디블로킹 강도 적응은 본 발명의 제 1 측면에 의해, 즉 조건부 신호 필터 제어 매개변수의 사용에 의해 달성될 수 있어, 인코더 및 디코더 모두에서, 종래의 "약" 또는 "중간-강" 알고리즘 및 본 명세서에서 설명된 "초강" 알고리즘 중에서 디블로킹 프로세스를 선택할 수 있게 한다. 또한, 도 13a에서 블록 경계를 따라 모든 픽셀 샘플이 offsetc 및 offsetd 제어 값의 계산에서 고려되는 것은 아니다. 이것은 필터 계산 중 최신 기술에 비교하여 알고리즘 복잡성 감소를 나타낸다. 결론적으로, 본 발명의 제 2 측면에서 제시된 독창적인 매우 강력한 수정 디블로킹 접근법은 수정 디블로킹 알고리즘의 계산 및 적용에서 낮은 계산 복잡성이 동시에 보이면서 종래 기술보다 더 나은 시각적 성능을 달성한다고 요약될 수 있다.
일부 측면이 장치의 컨텍스트에서 설명되지만, 이러한 측면이 해당 방법에 대한 설명을 나타내는 것이 분명하고, 본 명세서에서 블록 또는 장치는 방법 단계 또는 방법 단계의 특징에 해당한다. 유사하게, 방법 단계의 컨텍스트에서 설명된 측면은 또한 대응하는 장치의 대응하는 블록 또는 항목 또는 특징의 설명을 나타낸다.
방법 단계의 일부 또는 전부는 예를 들어 마이크로 프로세서, 프로그램 가능한 컴퓨터 또는 전자 회로와 같은 하드웨어 장치에 의해(또는 사용하여) 실행될 수 있다. 일부 실시 예에서, 하나 이상의 가장 중요한 방법 단계가 그러한 장치에 의해 실행될 수 있다.
특정 구현 요구 사항에 따라, 본 발명의 실시 예는 하드웨어 또는 소프트웨어로 구현될 수 있다. 이 구현은 전자적으로 판독 가능한 제어 신호가 저장되어 있는, 플로피 디스크, DVD, Blu-Ray, CD, ROM, PROM, EPROM, EEPROM 또는 FLASH 메모리와 같은 디지털 저장 매체를 사용하여 수행할 수 있으며, 이들은 각각의 방법이 수행되도록 프로그램 가능한 컴퓨터 시스템과 협력한다(또는 협력할 수 있다). 따라서, 디지털 저장 매체는 컴퓨터 판독 가능할 수 있다.
본 발명에 따른 일부 실시 예는 프로그램 가능한 컴퓨터 시스템과 협력할 수 있는 전자적으로 판독 가능한 제어 신호를 갖는 데이터 캐리어를 포함하므로, 본 명세서에서 설명된 방법 중 하나가 수행되도록 한다.
일반적으로 본 발명의 실시 예는 프로그램 코드를 갖는 컴퓨터 프로그램 제품으로 구현될 수 있으며, 프로그램 코드는 컴퓨터 프로그램 제품이 컴퓨터에서 실행될 때 방법 중 하나를 수행하기 위해 작동한다. 프로그램 코드는 예를 들어 기계 판독 가능 캐리어에 저장될 수 있다.
다른 실시 예는 기계 판독 가능 캐리어에 저장된 본 명세서에 설명된 방법 중 하나를 수행하기 위한 컴퓨터 프로그램을 포함한다.
즉, 본 발명의 방법의 실시 예는 컴퓨터 프로그램이 컴퓨터에서 실행될 때, 본 명세서에서 설명된 방법 중 하나를 수행하기 위한 프로그램 코드를 갖는 컴퓨터 프로그램이다.
따라서, 본 발명의 방법의 추가 실시 예는 본 명세서에서 설명된 방법 중 하나를 수행하기 위한 컴퓨터 프로그램을 기록하고 있는 데이터 캐리어(또는 디지털 저장 매체, 또는 컴퓨터 판독 가능 매체)이다. 데이터 매체, 디지털 저장 매체 또는 기록 매체는 일반적으로 유형적 및/또는 비-과도적(비-일시적, non-transitory)이다.
따라서 본 발명의 방법의 추가 실시 예는 본 명세서에 설명된 방법 중 하나를 수행하기 위한 컴퓨터 프로그램을 나타내는 데이터 스트림 또는 신호 시퀀스이다. 데이터 스트림 또는 신호 시퀀스는 예를 들어 데이터 통신 연결을 통해, 예를 들어 인터넷을 통해 전송되도록 구성될 수 있다.
추가 실시 예는 본 명세서에서 설명된 방법 중 하나를 수행하도록 구성되거나 적응된 처리 수단, 예를 들어 컴퓨터, 또는 프로그래밍 가능한 논리 장치를 포함한다.
추가 실시 예는 본 명세서에서 설명된 방법 중 하나를 수행하기 위한 컴퓨터 프로그램이 설치된 컴퓨터를 포함한다.
본 발명에 따른 추가 실시 예는 본 명세서에 설명된 방법 중 하나를 수행하기 위한 컴퓨터 프로그램을 수신기로 전송(예를 들어, 전자적으로 또는 광학적으로)하도록 구성된 장치 또는 시스템을 포함한다. 수신기는 예를 들어 컴퓨터, 모바일 장치, 메모리 장치 등일 수 있다. 장치 또는 시스템은 예를 들어 컴퓨터 프로그램을 수신기로 전송하기 위한 파일 서버를 포함할 수 있다.
일부 실시 예에서, 프로그램 가능 논리 장치(예를 들어, 필드 프로그램 가능 게이트 어레이)는 본 명세서에 설명된 방법의 일부 또는 모든 기능을 수행하는 데 사용될 수 있다. 일부 실시 예에서, 필드 프로그래밍 가능 게이트 어레이는 여기에 설명된 방법 중 하나를 수행하기 위해 마이크로 프로세서와 협력할 수 있다. 일반적으로, 방법은 바람직하게는 임의의 하드웨어 장치에 의해 수행된다.
본 명세서에 설명된 장치는 하드웨어 장치를 사용하거나, 컴퓨터를 사용하거나, 하드웨어 장치와 컴퓨터의 조합을 사용하여 구현될 수 있다.
본 명세서에 설명된 방법은 하드웨어 장치를 사용하거나, 컴퓨터를 사용하거나, 하드웨어 장치와 컴퓨터의 조합을 사용하여 수행될 수 있다.
본 명세서에 설명된 방법, 또는 본 명세서에 설명된 장치의 임의의 구성 요소는 하드웨어 및/또는 소프트웨어에 의해 적어도 부분적으로 수행될 수 있다.
본 명세서에서 설명된 실시 예는 본 발명의 원리에 대한 예시 일 뿐이다. 본 명세서에 기술된 배열 및 세부 사항의 수정 및 변경은 당업자에게 명백할 것임이 이해된다. 따라서, 본 명세서의 실시 예의 설명 및 설명에 의해 제시된 특정 세부 사항이 아니라 임박한 특허 청구 범위에 의해서만 제한되는 것이 의도된다.

Claims (54)

  1. 디블로킹 또는 디링잉 필터(110)를 사용하는 화상 데이터의 블록 기반 디코딩을 위한 디코더(20)에 있어서,
    데이터 스트림(14)으로부터 블록 단위 방식으로 화상(12)을, 예측을 사용하고 상기 데이터 스트림(14)에 코딩된 예측 잔차를 사용하여 상기 화상(12)의 복원 버전(12')을 획득하도록 복원하고,
    상기 화상(12)의 상기 복원 버전(12')에 상기 디블로킹 또는 디링잉 필터(110)를 적용하고,
    평균 블록 크기를 국부적으로 측정하는 제 1 측정 값(A) 및 상기 예측 잔차의 논-제로 코딩의 빈도를 국부적으로 측정하는 제 2 측정 값(B)에 따라 상기 디블로킹 또는 디링잉 필터(110)의 강도를 국부적으로 변화시키도록
    구성되는, 디코더.
  2. 제 1 항에 있어서,
    상기 화상(12)을 블록(181, 182, 183, 184; 181a-181g; 182a-182d)으로 분할하고,
    상기 블록(181, 182, 183, 184; 181a-181g; 182a-182d)을 사용하여 상기 화상(12)의 복원을 수행하도록
    구성되고, 상기 제 1 측정 값(A)은 상기 블록(181, 182, 183, 184; 181a-181g; 182a-182d)의 크기를 국부적으로 측정하도록 설계되는, 디코더.
  3. 제 2 항에 있어서, 상기 화상(12)의 상기 복원시, 각 블록(181, 182, 183, 184; 181a-181g; 182a-182d)에 복수의 예측 모드 중 하나를 상기 각 블록(181, 182, 183, 184; 181a-181g; 182a-182d)에 할당하도록 구성되고,
    상기 복수의 예측 모드는 하나 이상의 인트라 예측 모드 및/또는 하나 이상의 인터 예측 모드를 포함하는, 디코더.
  4. 제 2 항 또는 제 3 항에 있어서,
    상기 화상(12)이 미리 분할되어 있는 복수의 트리 루트 블록(181, 182, 183, 184) 각각에 재귀적 다중 트리 하위 분할을 적용하여 상기 블록이 상기 복수의 트리 루트 블록(181, 182, 183, 184)의 리프 블록(181a-181g; 182a-182d)을 형성하도록 상기 화상(12)을 블록(181, 182, 183, 184, 181a-181g, 182a-182d)으로 분할하고,
    각 트리 루트 블록(181, 182, 183, 184)에 대해 상기 제 1 측정 값(A) 및 상기 제 2 번째 측정 값(B)을 국부적으로 결정하도록
    구성되는, 디코더.
  5. 제 4 항에 있어서,
    상기 데이터 스트림(14)에서 분할 정보를 판독하고,
    상기 분할 정보에 따라 상기 복수의 트리 루트 블록(181, 182, 183, 184) 각각에 상기 재귀적 다중 트리 분할의 적용을 수행하고,
    상기 분할 정보에 따라 상기 제 1 측정 값(A)을 결정하도록
    구성되는, 디코더.
  6. 제 4 항 또는 제 5 항에 있어서, 각 트리 루트 블록(181, 182, 183, 184)에 대해, 상기 각 트리 루트 블록(181, 182, 183, 184)이 분할되는 리프 블록(181a-181g; 182a-182d)의 수를 결정하여 상기 제 1 측정 값(A)을 결정하도록 구성되는, 디코더.
  7. 제 4 항 내지 제 6 항 중 어느 한 항에 있어서,
    블록 당 적어도 하나의 계수 블록(181, 182, 183, 184; 181a-181g; 182a-182d)으로 상기 예측 잔차의 조각 별 변환을 나타내는 계수 블록 단위로 상기 예측 잔차를 상기 데이터 스트림(14)으로부터 디코딩하고,
    각 트리 루트 블록(181, 182, 183, 184)에 대해 0으로 완전히 양자화되지 않는 계수 블록의 수를 결정하여 상기 제 2 측정 값(B)을 결정하도록
    구성되는, 디코더.
  8. 제 7 항에 있어서, 각 계수 블록에 대해, 선택적으로 항등 변환을 포함하는 복수의 역 변환 중 하나를 선택하고, 상기 선택된 역 변환을 사용하여 대응하는 블록(181, 182, 183, 184) 또는 그 서브 블록(181a-181g; 182a-182d)을 획득하도록 구성되는, 디코더.
  9. 제 1 항 내지 제 8 항 중 어느 한 항에 있어서,
    제 1 및 제 2 측정 값(A, B)이 미리 결정된 기준을 충족하는 상기 화상(12)의 제 1 부분)에 대해, 상기 각각의 부분에 적용될 상기 디블로킹 또는 디링잉 필터(110)의 제 1 강도를 나타내는 강도 정보를 상기 데이터 스트림(14)으로부터 판독하고,
    제 1 및 제 2 측정 값(A, B)이 미리 결정된 기준을 충족하지 않는 화상(12)의 제 2 부분에 대해, 상기 각각의 부분에 적용될 상기 디블로킹 또는 디링잉 필터(110)의 강도를 더 낮은 제 2 강도로 설정하여,
    상기 디블로킹 또는 디링잉 필터(110)의 강도의 국부적 변화를 수행하도록 구성되는, 디코더.
  10. 제 9 항에 있어서, 상기 미리 결정된 기준은,
    상기 제 1 측정 값(A)이 제 1 미리 결정된 임계 값 아래로 떨어지고,
    상기 제 2 측정 값(B)이 제 2 미리 결정된 임계 값을 초과하거나 같은 경우
    충족되는, 디코더.
  11. 제 10 항에 있어서, 제 1 미리 결정된 임계 값은 p이고, p는 상기 트리 루트 블록(181, 182, 183, 184) 각각에 대해 1 <p <17을 충족하며, 및/또는
    제 2 미리 결정된 임계 값은 q이고 q는 트리 루트 블록(181, 182, 183, 184) 각각에 대해 -1 <q <51을 충족하는, 디코더.
  12. 제 9 항 내지 제 11항 중 어느 한 항에 있어서, 상기 제 1 및 제 2 부분은 상기 화상(12)이 미리 분할되어 있는 트리 루트 블록(181, 182, 183, 184)이고, 다중 트리 분할이 추가로 적용되어 블록(181, 182, 183, 184, 181a-181g, 182a-182d)이 결과되고 이를 이용하여 상기 복원이 수행되게 되는, 디코더.
  13. 제 1 항 내지 제 12 항 중 어느 한 항에 있어서, 상기 화상 데이터는 비디오를 포함하고 상기 디코더(20)는 비디오 디코더이며, 이의 인-루프 필터는 디블로킹 또는 디링잉 필터(110)에 의해 형성되는, 디코더.
  14. 디블로킹 또는 디링잉 필터(120)를 인-루프 필터로 사용하는 화상 데이터의 블록 기반 인코딩을 위한 인코더(10)에 있어서,
    블럭 단위 방식으로 화상(12)을 데이터 스트림(14)에, 예측을 사용하고 예측 잔차를 상기 데이터 스트림(14)에 코딩하여 상기 인코더(10)의 예측 루프(136)에 상기 화상(12)의 복원 버전(12')을 제공하는 것으로 인코딩하고,
    상기 화상(12)의 상기 복원 버전(12')에 상기 디블로킹 또는 디링잉 필터(120)를 적용하고,
    평균 블록 크기를 국부적으로 측정하는 제 1 측정 값(A) 및 상기 예측 잔차의 논-제로 코딩의 빈도를 국부적으로 측정하는 제 2 측정 값(B)에 따라 상기 디블로킹 또는 디링잉 필터(120)의 강도를 국부적으로 변화시키도록
    구성되는, 인코더.
  15. 제 14 항에 있어서,
    상기 화상을 블록(181, 182, 183, 184; 181a-181g; 182a-182d)으로 분할하고,
    상기 블록(181, 182, 183, 184; 181a-181g; 182a-182d)을 사용하여 인코딩으로 수행하도록
    구성되고, 상기 제 1 측정 값(A)은 상기 블록(181, 182, 183, 184; 181a-181g; 182a-182d)의 크기를 국부적으로 측정하도록 설계되는, 인코더.
  16. 제 15 항에 있어서, 상기 인코딩시, 각 블록(181, 182, 183, 184; 181a-181g; 182a-182d)에 복수의 예측 모드 중 하나를 상기 각 블록(181, 182, 183, 184; 181a-181g; 182a-182d)에 할당하도록 구성되고,
    상기 복수의 예측 모드는 하나 이상의 인트라 예측 모드 및/또는 하나 이상의 인터 예측 모드를 포함하는, 인코더.
  17. 제 15 항 또는 제 16 항에 있어서,
    상기 화상(12)이 미리 분할되어 있는 복수의 트리 루트 블록(181, 182, 183, 184) 각각에 재귀적 다중 트리 하위 분할을 적용하여 상기 블록이 상기 복수의 트리 루트 블록(181, 182, 183, 184)의 리프 블록(181a-181g; 182a-182d)을 형성하도록 상기 분할을 수행하고,
    각 트리 루트 블록(181, 182, 183, 184)에 대해 상기 제 1 측정 값(A) 및 상기 제 2 번째 측정 값(B)을 국부적으로 결정하도록
    구성되는, 인코더.
  18. 제 17 항에 있어서,
    상기 분할 정보에 따라 상기 복수의 트리 루트 블록(181, 182, 183, 184) 각각에 상기 재귀적 다중 트리 분할의 적용을 수행하고,
    상기 분할 정보를 상기 데이터 스트림(14)에 입력하고,
    상기 분할 정보에 따라 상기 제 1 측정 값(A)을 결정하도록
    구성되는, 인코더.
  19. 제 17 항 또는 제 18 항에 있어서, 각 트리 루트 블록(181, 182, 183, 184)에 대해, 상기 각 트리 루트 블록(181, 182, 183, 184)이 분할되는 리프 블록(181a-181g; 182a-182d)의 수를 결정하여 상기 제 1 측정 값(A)을 결정하도록 구성되는, 디코더.
  20. 제 17 항 내지 제 19 항 중 어느 한 항에 있어서,
    블록 당 적어도 하나의 계수 블록(181, 182, 183, 184; 181a-181g; 182a-182d)으로 상기 예측 잔차의 조각 별 변환을 나타내는 계수 블록 단위로 상기 예측 잔차를 상기 데이터 스트림(14)에 인코딩하고,
    각 트리 루트 블록(181, 182, 183, 184)에 대해 0으로 완전히 양자화되지 않는 계수 블록의 수를 결정하여 상기 제 2 측정 값(B)을 결정하도록
    구성되는, 인코더.
  21. 제 20 항에 있어서, 각 계수 블록에 대해, 선택적으로 항등 변환을 포함하는 복수의 역 변환 중 하나를 선택하고, 상기 선택된 역 변환을 사용하여 대응하는 블록(181, 182, 183, 184) 또는 그 서브 블록(181a-181g; 182a-182d)을 획득하도록 구성되는, 인코더.
  22. 제 14 항 내지 제 21 항 중 어느 한 항에 있어서,
    제 1 및 제 2 측정 값(A, B)이 미리 결정된 기준을 충족하는 상기 화상(12)의 제 1 부분)에 대해, 상기 각각의 부분에 적용될 상기 디블로킹 또는 디링잉 필터(120)의 제 1 강도를 나타내는 강도 정보를 상기 데이터 스트림(14)에 입력하고,
    제 1 및 제 2 측정 값(A, B)이 미리 결정된 기준을 충족하지 않는 화상(12)의 제 2 부분에 대해, 상기 각각의 부분에 적용될 상기 디블로킹 또는 디링잉 필터(120)의 강도를 더 낮은 제 2 강도로 설정하여,
    상기 디블로킹 또는 디링잉 필터(120)의 강도의 국부적 변화를 수행하도록 구성되는, 인코더.
  23. 제 22 항에 있어서, 상기 미리 결정된 기준은,
    상기 제 1 측정 값(A)이 제 1 미리 결정된 임계 값 아래로 떨어지고,
    상기 제 2 측정 값(B)이 제 2 미리 결정된 임계 값을 초과하거나 같은 경우
    충족되는, 인코더.
  24. 제 23 항에 있어서, 제 1 미리 결정된 임계 값은 p이고, p는 상기 트리 루트 블록(181, 182, 183, 184) 각각에 대해 1 <p <17을 충족하며, 및/또는
    제 2 미리 결정된 임계 값은 q이고 q는 트리 루트 블록(181, 182, 183, 184) 각각에 대해 -1 <q <51을 충족하는, 인코더.
  25. 제 22 항 내지 제 24 항 중 어느 한 항에 있어서, 상기 제 1 및 제 2 부분은 상기 화상(12)이 미리 분할되어 있는 트리 루트 블록(181, 182, 183, 184)이고, 다중 트리 분할이 추가로 적용되어 블록(181a-181g, 182a-182d)이 결과되고 이를 이용하여 상기 인코딩이 수행되게 되는, 인코더.
  26. 디블로킹 또는 디블로킹 필터(110)를 사용하는 화상 데이터의 블록 기반 디코딩을 위한 방법에 있어서,
    데이터 스트림(14)으로부터 블록 단위 방식으로 화상(12)을, 예측을 사용하고 상기 데이터 스트림(14)에 코딩된 예측 잔차를 사용하여 상기 화상(12)의 복원 버전(12')을 획득하도록 복원하는 단계,
    상기 디블로킹 또는 디링잉 필터(110)를 상기 화상(12)의 상기 복원 버전(12')에 적용하는 단계, 및
    평균 블록 크기를 국부적으로 측정한 제 1 측정 값(A) 및 상기 예측 잔차의 논-제로 코딩의 빈도를 국부적으로 측정한 제 2 측정 값(B)에 따라 상기 디블로킹 또는 디링잉 필터(110)의 강도를 국부적으로 측정하는 단계
    를 포함하는, 방법.
  27. 디블로킹 또는 디링잉 필터(120)를 인-루프 필터로 사용하는 블록 기반 화상 데이터의 인코딩을 위한 방법에 있어서,
    블럭 단위 방식으로 화상(12)을 데이터 스트림(14)에, 예측을 사용하고 예측 잔차를 상기 데이터 스트림(14)에 코딩하여 예측 루프(136)에 상기 화상(12)의 복원 버전(12')을 제공하는 것으로 인코딩하는 단계,
    상기 디블로킹 또는 디링잉 필터(120)를 상기 화상(12)의 복원 버전(12')에 적용하는 단계. 및
    평균 블록 크기를 국부적으로 측정 한 제 1 측정 값(A) 및 상기 예측 잔차의 논-제로 코딩의 빈도를 국부적으로 측정한 제 2 측정 값(B)에 따라 디블로킹 또는 디링잉 필터(120)의 강도를 국부적으로 측정하는 단계
    를 포함하는, 방법.
  28. 컴퓨터에서 실행될 때, 제 26 항 또는 제 27 항에 따른 방법을 수행하기 위한 프로그램 코드를 포함하는 컴퓨터 프로그램이 저장되어 있는 컴퓨터 판독 가능 디지털 저장 매체.
  29. 제 26 항 또는 제 27 항에 따른 방법에 의해 획득되는 데이터 스트림.
  30. 화상(12)의 블록(1000)을 필터링하기 위한 디블로킹 필터(110, 120)에 있어서,
    상기 디블로킹 필터(110, 120)는,
    상기 블록(1000)의 경계(1010)의 적어도 8 개의 경계부(1011, 1012, 1013, 1014, 1021, 1022, 1023, 1024) 각각에 대해, 상기 각각의 경계부(1011, 1012, 1013, 1014, 1021, 1022, 1023, 1024))을 따라 상기 블록(1000)의 필터링되지 않은 콘텐츠(1015)와 상기 블록(1000) 주변의 주변 화상 콘텐츠(1016) 사이의 불일치를 결정하고, - 상기 8 개의 경계부(1011, 1012, 1013, 1014, 1021, 1022, 1023, 1024)는 각각 상기 블록(1000)의 코너에 배열되는, 4 개의 코너 경계부(1021, 1022, 1023, 1024) 및 각각 상기 블록(1000)의 상기 코너 사이의 상기 경계(1010)의 중간 부분에 배열되는, 4 개의 에지 경계부(1011, 1012, 1013, 1014)를 포함함 - ,
    상기 블록(1000)의 상기 필터링된 콘텐츠를 획득하기 위해 상기 적어도 8 개의 경계부(1011, 1012, 1013, 1014, 1021, 1022, 1023, 1024)에 대해 결정된 상기 불일치를 사용하여 블록(1000)의 디블로킹 필터링을 매개 변수화하도록
    구성되는, 디블로킹 필터.
  31. 제 30 항에 있어서, 상기 적어도 8 개의 경계부(1011, 1012, 1013, 1014, 1021, 1022, 1023, 1024) 각각에 대해, 제 1 샘플과 제 2 샘플 간의 평균 차이를 계산하여 상기 불일치를 결정하도록 구성되고, 상기 제 1 샘플은 상기 블록(1000) 내부에 위치하고 상기 각각의 경계부(1011, 1012, 1013, 1014, 1021, 1022, 1023, 1024)에 인접하고, 상기 제 2 샘플은 상기 블록(1000) 외부에 위치하고 상기 각각의 경계부(1011, 1012, 1013, 1014, 1021, 1022, 1023, 1024)에 인접하는, 디블로킹 필터.
  32. 제 30 항 또는 제 31 항에 있어서, 상기 적어도 8 개의 경계부(1011, 1012, 1013, 1014, 1021, 1022, 1023, 1024) 각각에 대해, 제 1 샘플에 대한 제 1 합과 제 2 샘플에 대한 제 2 합의 차이를 계산하여 상기 불일치를 결정하도록 구성되고, 상기 제 1 샘플은 상기 블록(1000) 내부에 위치하고 상기 각각의 경계부(1011, 1012, 1013, 1014, 1021, 1022, 1023, 1024)에 인접하고, 상기 제 2 샘플은 상기 블록(1000) 외부에 위치하고 상기 각각의 경계부(1011, 1012, 1013, 1014, 1021, 1022, 1023, 1024)에 인접하는, 디블로킹 필터.
  33. 제 30 항 내지 제 32 항 중 어느 한 항에 있어서, 상기 블록(1000)의 크기에 따라 상기 적어도 8 개의 경계부(1011, 1012, 1013, 1014, 1021, 1022, 1023, 1024)의 폭을 설정하여, 상기 8 개의 경계부(1011, 1012, 1013, 1014, 1021, 1022, 1023, 1024) 중 적어도 하나에 대해, 상기 각각의 경계부(1011, 1012, 1013, 1014, 1021, 1022, 1023, 1024)의 폭은 사이한 블록 크기에 따라 달라지는 상기 블록 경계(1010)의 길이의 일부와 같도록 구성되는, 디블로킹 필터.
  34. 제 30 항 내지 제 33 항 중 어느 한 항에 있어서, 상기 블록(1000)의 크기에 따라 상기 적어도 8 개의 경계부(1011, 1012, 1013, 1014, 1021, 1022, 1023, 1024)의 폭을 설정하여,
    상기 블록(1000)의 상기 크기가 제 1 미리 정해진 크기보다 작으면, 상기 4 개의 에지 경계부(1011, 1012, 1013, 1014)과 상기 4 개의 코너 경계부(1021, 1022, 1023, 1024)가 서로 중첩하고,
    상기 블록(1000)의 상기 크기가 상기 제 1 미리 결정된 크기보다 큰 경우, 상기 4 개의 에지 경계부(1011, 1012, 1013, 1014)과 상기 4 개의 코너 경계부(1021, 1022, 1023, 1024)는 중첩하지 않도록 구성되는, 디블로킹 필터,
  35. 제 30 항 내지 제 34 항 중 어느 한 항에 있어서,
    상기 블록(1000)의 크기에 따라 상기 적어도 8 개의 경계부(1011, 1012, 1013, 1014, 1021, 1022, 1023, 1024)의 폭을 설정하여,
    상기 블록(1000)의 크기가 제 1 미리 정해진 크기보다 작으면 상기 4 개의 에지 경계부(1011, 1012, 1013, 1014)과 상기 4 개의 코너 경계부(1021, 1022, 1023, 1024)는 서로 중첩하고,
    상기 블록(1000)의 크기가 제 1 미리 결정된 크기와 제 2 미리 결정된 크기사이인 경우, 상기 4 개의 에지 경계부(1011, 1012, 1013, 1014)과 상기 4 개의 코너 경계부(1021, 1022, 1023, 1024)는 서로 인접하고,
    상기 블록(1000)의 크기가 상기 제 2 미리 결정된 크기보다 큰 경우, 상기 4 개의 에지 경계부(1011, 1012, 1013, 1014)과 상기 4 개의 코너 경계부(1021, 1022, 1023, 1024)은 서로 떨어져 있도록 구성되는, 디블로킹 필터.
  36. 제 33 항 내지 제 35 항 중 어느 한 항에 있어서, 수평 및 수직 축을 따라 별도로 상기 블록(1000)의 상기 크기에 따라 상기 적어도 8 개의 경계부(1011, 1012, 1013, 1014, 1021, 1022, 1023, 1024)의 상기 폭을 설정하도록 구성되는, 디블로킹 필터.
  37. 제 30 항 내지 제 36 항 중 어느 한 항에 있어서,
    오프셋 값을 사용하여 상기 블록(1000)의 상기 경계(1010)를 따라 연장되는 상기 블록(1000)의 경계 밴드(1033) 내에서 각 샘플을 오프셋하고, 상기 오프셋 값을,
    상기 블록의 경계(1010)와 동일한 모양이고 이와 일정한 샘플 오프셋을 갖는 샘플의 각 라인(1031, 1032)에 대해, 상기 오프셋 값은 상기 경계 대역(1033)이 원주 방향으로 분할되는 각 경계부(1041a, 1041b, 1051, 1061a, 1061b) 내에서 일정하고,
    상기 각 경계부(1041a, 1041b, 1051, 1061a, 1061b) 내의 샘플의 상기 오프셋 값은 상기 테두리(1010)에서 상기 블록(1000)의 중간까지 감쇠되고,
    상기 각 경계부(1041a, 1041b, 1051, 1061a, 1061b) 내의 샘플의 상기 오프셋 값은 상기 각각의 경계부(1041a, 1041b, 1051, 1061a, 1061b)에 원주 방향으로 가장 가까운 상기 경계부(1011, 1012, 1013, 1014, 1021, 1022, 1023, 1024)중 하나 이상에 대해 결정된 상기 불일치를 기반으로 계산되도록
    설정함으로써 상기 블록(1000)의 상기 디블로킹 필터링을 수행하도록 구성되는, 디블로킹 필터.
  38. 제 37 항에 있어서, 상기 블록(1000)의 크기에 대해 단조적으로 증가하는 상기 경계 대역의 대역폭을 설정하도록 구성되는, 디블로킹 필터.
  39. 제 37 항 또는 제 38 항에 있어서, 상기 경계 대역은 일정한 원주 폭을 포함하도록 구성되는, 디블로킹 필터.
  40. 제 37 항 내지 제 39 항 중 어느 한 항에 있어서, 상기 경계 대역(1033)의 상기 경계부는, 적어도
    상기 블록(1000)의 각 코너에서, 상기 각각의 코너로부터 상기 블록(1000)의 내부(1030)를 향해 대각선으로 연장되는 코너 경계부(1041a, 1041b), 및
    상기 블록(1000)의 각 쌍의 인접하는 코너 경계부(1041a, 1041b) 사이에, 2 개 또는 3 개의 경계부(1051, 1061a, 1061b)
    를 포함하는, 디블로킹 필터.
  41. 제 40 항에 있어서, 상기 블록(1000)의 각 쌍의 인접하는 코너 경계부(1041a, 1041b) 간의 상기 2 개 또는 3 개의 경계부(1051, 1061a, 1061b)는,
    상기 각 쌍의 제 1 코너 경계부(1041a)에 원주 방향으로 인접한 제 1 섹션(1061a),
    상기 각 쌍의 제 2 코너 경계부(1041b)에 원주 방향으로 인접한 제 2 섹션(1061b), 및
    상기 각 쌍의 상기 제 1 및 제 2 코너 경계부(1041a, 1041b) 사이에 원주 방향으로 배열된 중간 경계부(1051)
    를 포함하도록 구성되는, 디블로킹 필터.
  42. 제 40 항에 있어서, 상기 블록(1000)의 각 쌍의 인접하는 코너 경계부(1041a, 1041b) 사이의 상기 2 개 또는 3 개의 경계부(1051, 1061a, 1061b)는,
    상기 각 쌍의 인접하는 코너 경계부(1041a, 1041b)가 상기 블록(1000)의 내부를 향해 연장되는 상기 코너 사이에서 연장되는 방향을 따라 측정된 상기 블록 크기가 상기 경계 대역(1033)의 폭의 2 배보다 큰 경우,
    상기 각 쌍의 제 1 코너 경계부(1041a)에 원주 방향으로 인접한 제 1 섹션(1061a),
    상기 각 쌍의 제 2 코너 경계부(1041b)에 원주 방향으로 인접한 제 2 섹션(1061b), 및
    상기 각 쌍의 상기 제 1 및 제 2 코너 경계부(1041a, 1041b) 사이에서 원주 방향으로 연장되는 중간 경계부(1051)
    를 포함하고,
    상기 각 쌍의 이웃하는 코너 경계부(1041a, 1041b)가 상기 블록(1000) 내부를 향해 연장되는 상기 코너 사이에서 연장되는 방향을 따라 측정된 상기 블록 크기가 상기 경계 대역(1022)의 폭의 2 배 보다 크지 않은 경우,
    상기 각 쌍의 제 1 코너 경계부(1041a)에 원주 방향으로 인접한 제 1 섹션(1061a), 및
    상기 각 쌍의 제 2 코너 경계부(1041b)에 원주 방향으로 인접한 제 2 섹션(1061b)
    을 포함하고,
    상기 제 1 및 제 2 섹션(1061a, 1061b)은 서로 접하는, 디블로킹 필터.
  43. 제 41 항 또는 제 42 항에 있어서, 상기 중간 경계부(1051)는 원주 방향으로 상기 블록(1000)에서 상기 경계 대역(1033)의 상기 폭의 2 배를 뺀 넓이인, 디블로킹 필터.
  44. 제 40 항 내지 제 43 항 중 어느 한 항에 있어서,
    상기 각 코너 경계부(1041)에 대해, 상기 각 코너 경계부(1041) 내의 샘플에 대해 상기 오프셋 값(oc)을 설정하여,
    상기 오프셋 값(oc)은 상기 각 코너 경계부(1041)가 상기 블록(1000)의 내부를 향해 대각선 방향으로 연장되어 상기 블록(1000)의 상기 경계(1010)로부터 상기 블록(1000)의 내부(1030)를 향해 감쇠되는, 상기 코너 경계부(1021, 1022, 1023, 1024)에 대해 결정된 상기 불일치를 기반으로 결정되도록 구성되는, 디블로킹 필터.
  45. 제 37 항 내지 제 44 항 중 어느 한 항에 있어서, 상기 블록(1000)의 상기 경계(1010)로부터 상기 블록(1000)의 내부(1030)를 향한 상기 감쇠는 선형 또는 지수적인 감쇠인, 디블로킹 필터.
  46. 제 40 항 내지 제 45 항 중 어느 한 항에 있어서,
    상기 코너 경계부(1041) 각각에 대해, 상기 각 코너 경계부(1041) 내의 샘플에 대한 상기 오프셋 값(oc)을 설정하여,
    상기 각 코너 경계부(1041) 내의 상기 샘플의 상기 오프셋 값(oc)은 상기 각 코더 경계부(1041)가 상기 블럭(1000)의 내부를 향해 대각선 방향으로 연장되는 상기 코너 경계부(1021, 1022, 1023, 1024)에 대해 결정된 상기 불일치에 기초하여 결정된 제 1 오프셋 값(offsetc) 및
    상기 각각의 코너 경계부(1041)가 상기 블록(1000)의 내부를 향해 대각선 방향으로 연장되는 상기 각각의 코너 경계부(1021, 1022, 1023, 1024)에 원주 방향으로 인접한 상기 에지 경계부(1011, 1012, 1013, 1014)에 대해 결정된 상기 불일치를 기반으로 결정되는 제 2 오프셋 값(mc)
    에 대한 가중 평균에 따라 상기 블록(1000)의 상기 경계(1010)에서 상기 블록(1000)의 내부(1030)를 향하여 변하도록 구성되고,
    상기 가중 평균의 가중은 상기 가중 평균이 거리가 증가함에 따라 상기 제 2 오프셋 값(mc)과 비교하여 상기 제 1 오프셋 값(offsetc)에 덜 좌우하여 단조롭게 감소하는 방식으로 상기 블록(1000)의 상기 경계(1010)로부터의 샘플의 거리에 따라 좌우하는, 디블로킹 필터.
  47. 제 40 항 내지 제 46 항 중 어느 한 항에 있어서,
    상기 블록(1000)의 각 쌍의 인접한 코너 경계부(1041a, 1041b) 사이의 상기 2 개 또는 3 개의 경계부(1051, 1061a, 1061b)은,
    상기 각 쌍의 제 1 코너 경계부(1041a)에 원주 방향으로 인접한 제 1 섹션(1061a),
    상기 각 쌍의 제 2 코너 경계부(1041b)에 원주 방향으로 인접한 제 2 섹션(1061b), 및
    상기 각 쌍의 제 1 및 제 2 코너 경계부(1041a, 1041b) 사이의 원주 방향으로 중간 경계부(1051)
    를 포함하며,
    상기 디블로킹 필터(110, 120)는
    상기 제 1 섹션(1061a)에 대해, 상기 제 1 섹션(1061a) 내의 샘플에 대한 상기 오프셋 값을 설정하여,
    각 라인(1031, 1032)에 대해, 상기 각 라인(1031, 1032) 내 샘플의 상기 오프셋 값이 상기 각 라인(1031, 1032)의 상기 제 1 코너 경계부(1041a)의 사익 오프셋 값과 상기 각 라인(1031, 1032)의 상기 중간 경계부(1051)의 상기 오프셋 값 사이에서 보간되도록 하고,
    상기 제 2 섹션(1061b)에 대해, 상기 제 2 섹션(1061b) 내의 샘플에 대한 상기 오프셋 값을 설정하여,
    각 라인(1031, 1032)에 대해, 상기 각 라인(1031, 1032) 내 샘플의 상기 오프셋 값이 상기 각 라인(1031, 1032)의 상기 제 2 코너 경계부(1041b)의 상기 오프셋 값과 상기 각 라인(1031, 1032)의 상기 중간 경계부(1051)의 상기 오프셋 값 사이에서 보간되도록 하는, 디블로킹 필터.
  48. 화상(12)의 블록 기반 디코딩을 위한 디코더(20)에 있어서, 상기 디코더(20)는 제 30 항 내지 제 45 항 중 어느 한 항에 따른 디블로킹 필터(110, 120)를 포함하는, 디코더.
  49. 제 48 항에 있어서, 상기 예측 잔차가 분할되는 변환 블록을 나타내는 계수 블록 단위로 상기 데이터 스트림(14)으로부터 예측 잔차를 디코딩하도록 구성되고, 상기 디블로킹 필터(110, 120)는 변환 블록 단위로 상기 화상(12)을 디블로킹하도록 구성되는, 디코더.
  50. 화상(12)의 블록 기반 인코딩을 위한 인코더(10)에 있어서, 상기 인코더(20)는 제 30 항 내지 제 45 항 중 어느 한 항에 따른 디블로킹 필터(110, 120)를 포함하는, 인코더.
  51. 제 50 항에 있어서, 상기 예측 잔차가 분할되는 변환 블록을 나타내는 계수 블록 단위로 상기 데이터 스트림(14)으로부터 예측 잔차를 인코딩하도록 구성되고, 상기 디블로킹 필터(110, 120)는 변환 블록 단위로 상기 화상(12)을 디블로킹하도록 구성되는, 인코더.
  52. 블럭 기반 코딩된 화상(12)의 블록(1000)을 필터링하기 위한 방법에 있어서,
    상기 블록(1000)의 경계(1010)의 적어도 8 개의 경계부(1011, 1012, 1013, 1014, 1021, 1022, 1023, 1024) 각각에 대해, 사기 각각의 경계부(1011, 1012, 1013, 1014, 1021, 1022, 1023, 1024))을 따라 상기 블록(1000)의 필터링되지 않은 콘텐츠(1015)와 상기 블록(1000) 주변의 주변 화상 콘텐츠(1016) 사이의 불일치를 결정하는 단계 - 상기 8 개의 경계부(1011, 1012, 1013, 1014, 1021, 1022, 1023, 1024)은 각각 상기 블록(1000)의 코너에 배열되는 4 개의 코너 경계부(1021, 1022, 1023, 1024), 및 각각 상기 블록(1000)의 코너 사이의 상기 경계(1010)의 중간 부분에 배열되는 4 개의 에지 경계부(1011, 1012, 1013, 1014)을 포함함 - ,
    상기 블록(1000)의 필터링된 콘텐츠를 획득하기 위해 상기 적어도 8 개의 경계부(1011, 1012, 1013, 1014, 1021, 1022, 1023, 1024)에 대해 결정된 상기 불일치를 사용하여 상기 블록(1000)의 디블로킹 필터링을 매개 변수화하는 단계
    를 포함하는, 방법.
  53. 컴퓨터에서 실행될 때 제 52 항에 따른 방법을 수행하기 위한 프로그램 코드를 갖는 컴퓨터 프로그램이 저장되어 있는 컴퓨터 판독 가능 디지털 저장 매체.
  54. 제 52 항에 따른 방법에 의해 획득되는 데이터 스트림.
KR1020217012228A 2018-09-28 2019-09-26 디블로킹 또는 디링잉 필터 및 디블로킹 및 디링잉 필터의 강도를 적용하고 변경하기 위한 인코더, 디코더 및 방법 KR102606092B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
EP18197609 2018-09-28
EP18197609.3 2018-09-28
EP18201517.2 2018-10-19
EP18201517 2018-10-19
PCT/EP2019/076080 WO2020064949A1 (en) 2018-09-28 2019-09-26 Deblocking or deringing filter and encoder, decoder and method for applying and varying a strength of a deblocking or deringing filter

Publications (2)

Publication Number Publication Date
KR20210080392A true KR20210080392A (ko) 2021-06-30
KR102606092B1 KR102606092B1 (ko) 2023-11-29

Family

ID=68062949

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217012228A KR102606092B1 (ko) 2018-09-28 2019-09-26 디블로킹 또는 디링잉 필터 및 디블로킹 및 디링잉 필터의 강도를 적용하고 변경하기 위한 인코더, 디코더 및 방법

Country Status (8)

Country Link
US (1) US11843805B2 (ko)
EP (1) EP3857880B1 (ko)
JP (1) JP7227364B2 (ko)
KR (1) KR102606092B1 (ko)
CN (1) CN113170120B (ko)
BR (1) BR112021005758A2 (ko)
MX (1) MX2021003624A (ko)
WO (1) WO2020064949A1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090034855A1 (en) * 2007-08-03 2009-02-05 Via Technologies, Inc. Method for Determining Boundary Strength
US20150365666A1 (en) * 2013-01-07 2015-12-17 Vid Scale, Inc. Enhanced deblocking filters for video coding

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU717480B2 (en) * 1998-08-01 2000-03-30 Korea Advanced Institute Of Science And Technology Loop-filtering method for image data and apparatus therefor
BRPI0706407B1 (pt) * 2006-01-09 2019-09-03 Interdigital Madison Patent Holdings método e aparelho para fornecer modo de atualização de resolução reduzida para codificação de vídeo de múltiplas visualizações e mídia de armazenamento tendo dados codificados de sinal de vídeo
JP4769605B2 (ja) * 2006-03-17 2011-09-07 富士通株式会社 動画像符号装置及び方法
JP2011223302A (ja) * 2010-04-09 2011-11-04 Sony Corp 画像処理装置と画像処理方法
EP2559238B1 (en) * 2010-04-13 2015-06-03 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Adaptive image filtering method and apparatus
US9565436B2 (en) * 2011-01-14 2017-02-07 Telefonaktiebolaget Lm Ericsson (Publ) Method for filter control and a filtering control device
CN109547787A (zh) * 2011-11-04 2019-03-29 Lg 电子株式会社 用于编码/解码图像信息的方法和装置
US20140079135A1 (en) * 2012-09-14 2014-03-20 Qualcomm Incoporated Performing quantization to facilitate deblocking filtering
EP3138293A4 (en) 2014-04-29 2017-05-24 Microsoft Technology Licensing, LLC Encoder-side decisions for sample adaptive offset filtering
AU2014202921B2 (en) 2014-05-29 2017-02-02 Canon Kabushiki Kaisha Method, apparatus and system for de-blocking a block of video samples
CN115134607A (zh) 2015-06-11 2022-09-30 杜比实验室特许公司 使用自适应去块滤波编码和解码图像的方法及其装置
EP3280143A1 (en) * 2016-08-04 2018-02-07 Thomson Licensing A method and an apparatus for image block encoding and decoding
US10455254B2 (en) * 2016-11-10 2019-10-22 Mediatek Inc. Method and apparatus of video coding

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090034855A1 (en) * 2007-08-03 2009-02-05 Via Technologies, Inc. Method for Determining Boundary Strength
US20150365666A1 (en) * 2013-01-07 2015-12-17 Vid Scale, Inc. Enhanced deblocking filters for video coding

Also Published As

Publication number Publication date
BR112021005758A2 (pt) 2021-07-06
JP2022502947A (ja) 2022-01-11
US11843805B2 (en) 2023-12-12
CN113170120A (zh) 2021-07-23
JP7227364B2 (ja) 2023-02-21
WO2020064949A1 (en) 2020-04-02
CN113170120B (zh) 2024-07-26
MX2021003624A (es) 2021-06-23
KR102606092B1 (ko) 2023-11-29
US20210211737A1 (en) 2021-07-08
EP3857880A1 (en) 2021-08-04
EP3857880B1 (en) 2024-10-23

Similar Documents

Publication Publication Date Title
US11102515B2 (en) In loop chroma deblocking filter
EP3507984B1 (en) Cross-component filter
EP3459245B1 (en) Confusion of multiple filters in adaptive loop filtering in video coding
EP3417613B1 (en) Geometric transforms for filters for video coding
CN114710669B (zh) 视频编解码方法/装置和相应非易失性计算机可读介质
WO2018067051A1 (en) Deringing filter for video coding
CN113574877B (zh) 用于有效地对残差块解码的方法和装置
EP3843389A1 (en) Method for encoding/decoding image signal and apparatus therefor
WO2018117938A1 (en) Deringing filter for video coding
JP2023090929A (ja) ビデオ復号化方法、ビデオ復号化装置及び記憶媒体
CN114097223A (zh) 解码器、编码器和包括对帧内子分区进行编码的方法
US10924756B2 (en) Devices and methods for video coding using segmentation based partitioning of video coding blocks
US20230076247A1 (en) Inverse quantization device and method used in video decoding device
KR102648464B1 (ko) 지도 학습을 이용한 영상 개선 방법 및 장치
KR102606092B1 (ko) 디블로킹 또는 디링잉 필터 및 디블로킹 및 디링잉 필터의 강도를 적용하고 변경하기 위한 인코더, 디코더 및 방법
KR102511611B1 (ko) 영상 부호화 방법/장치, 영상 복호화 방법/장치 및 비트스트림을 저장한 기록 매체
WO2023217235A1 (en) Prediction refinement with convolution model
US20230412798A1 (en) Method and apparatus for video coding for improving predicted signals of intra prediction
KR102718068B1 (ko) 적응적 루프 필터링에서의 패딩 프로세스
KR102721536B1 (ko) 상이한 비디오 유닛들 간의 적응적 루프 필터링
US20240323358A1 (en) Method and apparatus for video coding using secondary most probable mode list based on template matching
US20240214566A1 (en) Method of restoration in subblock units, and video decoding apparatus
WO2024042098A1 (en) Encoding and decoding a picture using filtering blocks

Legal Events

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