KR20230128555A - 인코딩 및 디코딩 방법, 장치 및 이의 기기 - Google Patents

인코딩 및 디코딩 방법, 장치 및 이의 기기 Download PDF

Info

Publication number
KR20230128555A
KR20230128555A KR1020237027399A KR20237027399A KR20230128555A KR 20230128555 A KR20230128555 A KR 20230128555A KR 1020237027399 A KR1020237027399 A KR 1020237027399A KR 20237027399 A KR20237027399 A KR 20237027399A KR 20230128555 A KR20230128555 A KR 20230128555A
Authority
KR
South Korea
Prior art keywords
value
pixel point
filtering
current
enhancement
Prior art date
Application number
KR1020237027399A
Other languages
English (en)
Inventor
팡둥 천
샤오챵 차오
위청 쑨
Original Assignee
항조우 힉비젼 디지털 테크놀로지 컴퍼니 리미티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 항조우 힉비젼 디지털 테크놀로지 컴퍼니 리미티드 filed Critical 항조우 힉비젼 디지털 테크놀로지 컴퍼니 리미티드
Publication of KR20230128555A publication Critical patent/KR20230128555A/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/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/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for 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/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
    • 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/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/186Methods 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 colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Reduction Or Emphasis Of Bandwidth Of Signals (AREA)

Abstract

본 출원은 인코딩 및 디코딩 방법, 장치 및 이의 기기를 제공하는 바, 당해 방법은: 만약 현재 블록 내의 현재 픽셀 포인트가 증강된 개선 모드의 이네이블 조건을 충족하면, 상기 현재 픽셀 포인트의 원본 픽셀값 및 상기 현재 픽셀 포인트의 주변 픽셀 포인트의 원본 픽셀값에 기초하여 상기 현재 픽셀 포인트의 기울기값을 결정하는 단계; 상기 현재 픽셀 포인트의 기울기값 및 상기 현재 픽셀 포인트의 원본 픽셀값에 기초하여, 상기 현재 픽셀 포인트의 개선된 픽셀값을 결정하는 단계를 포함한다. 본 출원의 기술적 해결방안을 통해, 코딩 성능을 향상시킬 수 있다.

Description

인코딩 및 디코딩 방법, 장치 및 이의 기기
본 출원은 인코딩 및 디코딩 기술 분야에 관한 것으로, 특히 인코딩 및 디코딩 방법, 장치 및 이의 기기에 관한 것이다.
공간 절약의 목적을 달성하기 위해 비디오 이미지는 모두 인코딩을 거친 후에야 전송되며, 완전한 비디오는 예측, 변환, 양자화, 엔트로피 코딩, 필터링 등의 과정을 포함할 수 있다. 여기서, 예측 인코딩은 인트라 인코딩 및 인터 인코딩을 포함할 수 있다. 나아가, 인터 인코딩은 비디오 시간 영역(temporal-domain) 상관 관계를 이용하여 인접된 인코딩된 이미지의 픽셀을 사용하여 현재 픽셀을 예측함으로써, 비디오 시간 영역 리던던시를 효과적으로 제거하는 목적을 달성한다. 인트라 인코딩이란 비디오 공간 영역(spatial-domain) 상관 관계를 이용하여 프레임 이미지의 인코딩된 블록의 픽셀을 사용하여 현재 픽셀을 예측함으로써, 비디오 공간 영역 리던던시를 제거하는 목적을 달성한다.
일반적으로 사용되는 필터링 기술에는 DBF(DeBlocking Filter, 디블록킹 필터) 기술, SAO(Sample Adaptive Offset, 샘플 적응적 오프셋) 기술 및 ALF(Adaptive Loop Filter, 적응적 루프 필터) 기술이 포함된다. DBF 기술은 블록킹 인코딩(blocking encoding)에 의해 생성된 블록 경계 효과를 제거한다. SAO 기술은 샘플의 픽셀값 및 주변 블록의 기울기값에 기초하여 분류하고, 각 카테고리의 픽셀값에 대해 상이한 보상값을 더하는 것을 통해, 재구성된 이미지가 원본 이미지에 더 근접하게 한다. ALF 기술은 위너 필터(Wiener filter)를 통해, 재구성된 이미지에 대해 필터링을 수행함으로써, 재구성된 이미지가 원본 이미지에 더 근접하게 한다.
하지만, DBF, SAO 및 ALF 등 필터링 기술은 모두 현재 픽셀 포인트의 픽셀값에 기초하여 분류하거나, 또는, 현재 픽셀 포인트의 픽셀값 및 주변 픽셀 포인트의 픽셀값의 관계에 기초하여 분류하고, 다음에, 다시 상이한 카테고리에 기초하여 상이한 필터링 조작을 수행하는 바, 이는 오버 필터링 현상을 초래할 수 있는 바, 즉, 필터링 후의 픽셀값이 필터링 전의 픽셀값보다 훨씬 크거나 또는 훨씬 작고, 원본 픽셀값보다도 훨씬 크거나 작아서, 필터링 효과가 좋지 않고, 인코딩 성능이 낮은 등 문제가 존재할 수 있다.
본 출원은 인코딩 및 디코딩 방법, 장치 및 이의 기기를 제공하는 바, 코딩 성능을 향상시킬 수 있다.
본 출원은 인코딩 및 디코딩 방법을 제공하는 바, 상기 방법은:
만약 현재 블록 내의 현재 픽셀 포인트가 증강된 개선 모드의 이네이블 조건을 충족하면, 상기 현재 픽셀 포인트의 원본 픽셀값 및 상기 현재 픽셀 포인트의 주변 픽셀 포인트의 원본 픽셀값에 기초하여 상기 현재 픽셀 포인트의 기울기값을 결정하는 단계; 상기 현재 픽셀 포인트의 기울기값 및 상기 현재 픽셀 포인트의 원본 픽셀값에 기초하여, 상기 현재 픽셀 포인트의 개선된 픽셀값을 결정하는 단계를 포함한다.
본 출원은 디코딩 장치를 제공하는 바, 상기 디코딩 장치는:
비디오 데이터를 저장하도록 구성되는 메모리;
만약 현재 블록 내의 현재 픽셀 포인트가 증강된 개선 모드의 이네이블 조건을 충족하면, 상기 현재 픽셀 포인트의 원본 픽셀값 및 상기 현재 픽셀 포인트의 주변 픽셀 포인트의 원본 픽셀값에 기초하여 상기 현재 픽셀 포인트의 기울기값을 결정하고; 상기 현재 픽셀 포인트의 기울기값 및 상기 현재 픽셀 포인트의 원본 픽셀값에 기초하여, 상기 현재 픽셀 포인트의 개선된 픽셀값을 결정하는 것을 구현하도록 구성되는 디코더를 포함한다.
본 출원은 인코딩 장치를 제공하는 바, 상기 인코딩 장치는:
비디오 데이터를 저장하도록 구성되는 메모리;
만약 현재 블록 내의 현재 픽셀 포인트가 증강된 개선 모드의 이네이블 조건을 충족하면, 상기 현재 픽셀 포인트의 원본 픽셀값 및 상기 현재 픽셀 포인트의 주변 픽셀 포인트의 원본 픽셀값에 기초하여 상기 현재 픽셀 포인트의 기울기값을 결정하고; 상기 현재 픽셀 포인트의 기울기값 및 상기 현재 픽셀 포인트의 원본 픽셀값에 기초하여, 상기 현재 픽셀 포인트의 개선된 픽셀값을 결정하는 것을 구현하도록 구성되는 인코더를 포함한다.
본 출원은 디코더측 기기를 제공하는 바, 프로세서 및 기계 판독 가능 저장매체를 포함하고, 상기 기계 판독 가능 저장매체에는 상기 프로세서에 의해 실행 가능한 기계 실행 가능한 명령이 저장되며;
상기 프로세서는 기계 실행 가능한 명령을 실행하여:
만약 현재 블록 내의 현재 픽셀 포인트가 증강된 개선 모드의 이네이블 조건을 충족하면, 상기 현재 픽셀 포인트의 원본 픽셀값 및 상기 현재 픽셀 포인트의 주변 픽셀 포인트의 원본 픽셀값에 기초하여 상기 현재 픽셀 포인트의 기울기값을 결정하고; 상기 현재 픽셀 포인트의 기울기값 및 상기 현재 픽셀 포인트의 원본 픽셀값에 기초하여, 상기 현재 픽셀 포인트의 개선된 픽셀값을 결정하는 것을 구현한다.
본 출원은 인코더측 기기를 제공하는 바, 프로세서 및 기계 판독 가능 저장매체를 포함하고, 상기 기계 판독 가능 저장매체에는 상기 프로세서에 의해 실행 가능한 기계 실행 가능한 명령이 저장되며;
상기 프로세서는 기계 실행 가능한 명령을 실행하여:
만약 현재 블록 내의 현재 픽셀 포인트가 증강된 개선 모드의 이네이블 조건을 충족하면, 상기 현재 픽셀 포인트의 원본 픽셀값 및 상기 현재 픽셀 포인트의 주변 픽셀 포인트의 원본 픽셀값에 기초하여 상기 현재 픽셀 포인트의 기울기값을 결정하고; 상기 현재 픽셀 포인트의 기울기값 및 상기 현재 픽셀 포인트의 원본 픽셀값에 기초하여, 상기 현재 픽셀 포인트의 개선된 픽셀값을 결정하는 것을 구현한다.
상기 기술적 해결방안으로부터 알 수 있다시피, 본 출원 실시예 중, 만약 현재 블록 내의 현재 픽셀 포인트가 증강된 개선 모드의 이네이블 조건을 충족하면, 현재 픽셀 포인트의 기울기값 및 현재 픽셀 포인트의 원본 픽셀값에 기초하여, 현재 픽셀 포인트의 개선된 픽셀값을 결정할 수 있는 바, 다시 말해서, 현재 픽셀 포인트의 기울기값에 기초하여 현재 픽셀 포인트의 원본 픽셀값에 대해 개선을 수행하여, 현재 픽셀 포인트의 개선된 픽셀값이 원본 픽셀에 더 근접하게 함으로써, 인코딩 성능을 향상시킨다. 필터링 과정 중, DBF, SAO 및 ALF 등과 같이, 만약 현재 블록 내의 현재 픽셀 포인트가 증강된 개선 모드의 이네이블 조건을 충족하면, 현재 픽셀 포인트의 기울기값에 기초하여 현재 픽셀 포인트의 원본 픽셀값에 대해 개선을 수행한 후, 필터링 효과를 향상시키고, 코딩 성능을 향상시킬 수 있다.
도 1은 본 출원의 실시 방식에 따른 인코딩 및 디코딩 프레임워크의 모식도이다;
도 2a 및 도 2b본 출원의 실시 방식에 따른 블록 분할의 모식도이다;
도 3은 본 출원의 실시 방식에 따른 디블록킹 필터링의 모식도이다;
도 4는 본 출원의 실시 방식에 따른 인코딩 및 디코딩 방법의 흐름도이다;
도 5a는 본 출원의 실시 방식에 따른 디코더측 기기의 하드웨어 구조도이다;
도 5b는 본 출원의 실시 방식에 따른 인코더측 기기의 하드웨어 구조도이다.
본 출원에서 사용되는 용어는 단지 특정 실시예들을 설명하기 위한 것이며, 본 출원을 제한하려고 의도되는 것은 아니다. 본 출원 및 첨부된 청구항들에서 사용되는 단수 형태들('a', 'said' 및 'the')은 문맥이 다른 의미들을 명확히 표시하지 않는 한 대다수의 형태를 포함하는 것으로 또한 의도된다. 또한 본 명세서에서 사용된 용어 "및/또는"은 하나 이상의 연관된 나열된 항목의 임의의 또는 모든 가능한 조합을 지칭하고 포함하는 것으로 이해되어야 한다. 비록 본 개시에서 "제1", "제2", "제3" 등 용어를 사용하여 여러 가지 정보를 설명할 수 있으나 이러한 정보는 이러한 용어에 한정되지 말아야 한다는 것을 이해해야 한다. 이러한 용어는 단지 동일한 유형의 정보를 서로 구별하기 위한 것이다. 예를 들어, 본 개시의 범위를 벗어나지 않을 경우, 제1 정보가 제2 정보로 불릴 수도 있고, 유사하게, 제2 정보는 제1 정보로 불릴 수도 있다. 또한, 문맥에 따라, 본 명세서에서 사용되는 바와 같은 단어 "~한 경우(if)"는 "~할 때(when)" 또는 "~할 시(upon)" 또는 "결정에 응답하여"로서 해석될 수 있다.
본 기술분야의 통상의 기술자들이 본 발명의 실시예에 따른 기술적 해결수단을 더 잘 이해하도록 하기 위하여 아래에는 기술 용어에 대해 간단히 설명한다.
비디오 코딩 프레임워크: 도 1에 도시된 바와 같이, 비디오 코딩 프레임워크를 사용하여 본 출원 실시예의 코더측 처리 프로세스를 구현할 수 있다. 비디오 코딩 프레임워크의 모식도는 그림 1과 유사할 수 있으며, 여기서 더 이상 설명하지 않고, 비디오 디코딩 프레임워크를 사용하여 본 출원 실시예의 디코더측 처리 프로세스를 구현할 수 있다. 비디오 인코딩 프레임워크 및 비디오 디코딩 프레임워크에는: 예측(예컨대 인트라 예측 및 인터 예측 등), 움직임 추정/움직임 보상, 참조 픽처 버퍼, 인루프(in-loop) 필터링, 재구성, 변환, 양자화, 역변환, 역양자화, 엔트로피 코딩 등의 모듈이 포함될 수 있지만, 이에 국한되지는 않는다. 인코더측에서는 이러한 모듈 간의 배합을 통해 인코더측의 처리 프로세스를 구현하고, 디코더측에서는 이러한 모듈 간의 배합을 통해 디코더측의 처리 프로세스를 구현한다.
루프 필터링은 픽처 블록킹 효과를 줄이거나 또는 픽처 효과가 별로인 등 문제점을 줄이고, 픽처 품질을 개선할 수 있는 바, DBF, SAO 및 ALF 등 3가지 필터를 포함할 수 있으며, DBF는 디블록킹 필터링이며, 블록킹 인코딩에 의해 생성된 블록 경계 효과를 제거한다. SAO는 샘플 적응적 오프셋 필터링이며, 샘플의 픽셀값 및 주변 블록의 기울기값에 기초하여 분류하고, 각 카테고리의 픽셀값에 대해 상이한 보상값을 더하는 것을 통해, 이미지가 원본 이미지에 더 근접하게 한다. ALF는 적응적 루프 필터인 바, 즉 위너 필터를 통해, 재구성된 이미지에 대해 필터링을 수행함으로써, 재구성된 이미지가 원본 이미지에 더 근접하게 하게 한다.
예시적으로, 비디오 인코딩 및 디코딩 과정 중, 예측 과정은 인트라 예측 및 인터 예측을 포함할 수 있다. 인트라 예측은 인접된 블록 사이에 존재하는 아주 강한 공간 영역 상관 관계를 고려하여, 주변의 이미 재구성된 픽셀을 참조 픽셀로 이용하여, 현재 인코딩되지 않은 블록에 대해 예측을 수행하고, 원본 값에 대해 인코딩을 수행하는 것이 아니라, 단지 잔차값에 대해 후속의 인코딩 처리를 수행함으로써, 공간 영역 리던던시를 효과적으로 제거하고, 압출 효율을 크게 향상시킨다. 인터 예측은 비디오 시간 영역 상관 관계를 이용하여, 인접된 이미 인코딩된 픽처의 픽셀을 이용하여 현재 픽처의 픽셀을 예측함으로써, 비디오 시간 영역 리던던시를 제거하는 목적을 달성한다.
예시적으로, 비디오 인코딩 및 디코딩 과정 중, 변환은 공간 영역 픽셀 형식으로 설명된 픽처를 변환 영역의 픽처로 변환하고, 또한 변환 계수의 형식으로 표시하는 것을 가리킨다. 대다수 픽처에 비교적 평탄한(flat) 영역 및 천천히 변화하는 영역을 포함하기에, 적당한 변환 과정, 픽처 에너지의 공간 영역 분산 분포를 변환 필드에서의 상대적으로 집중된 분포로 변환함으로써, 신호 사이의 주파수 영역 상관 관계를 제거할 수 있고, 양자화 과정과 배합하여, 비트 스트림을 효과적으로 압축할 수 있다.
예시적으로, 엔트로피 코딩은 정보 엔트로피의 원리에 따라 무손실 인코딩을 수행하는 방식을 가리키는 바, 비디오 압축에 처한 마지막 처리 모듈은, 일련의 비디오 시퀀스를 나타내는 요소 부호를 하나의 전송 또는 저장하기 위한 이진법 비트 스트림 데이터로 전환한다. 입력된 부호에는 양자화된 변환 계수, 움직임 벡터 정보, 예측 모드 정보, 변환 양자화 관련 문법 등이 포함될 수 있다. 엔트로피 인코딩 모듈의 출력 데이터가 바로 원본 비디오의 압축된 최종의 비트 스트림 데이터이다. 엔트로피 코딩은 이러한 비디오 요소 부호의 통계 리던던시를 효과적으로 제거함으로써, 비디오 인코딩 압축 효율을 확보하는 중요한 툴 중의 하나이다.
예시적으로, 루프 필터링은 픽처의 블록 효과 또는 픽처 효과가 별로인 등 문제점을 줄이고, 이미지 품질을 개선하고, DBF, SAO 및 ALF 등을 포함할 수 있으며 이에 한정되지 않는다. 예를 들면, 비디오 픽처 내, 픽처 블록의 경계는 연속되지 않고, 재구성된 이미지를 압축하는 데에 현저한 블록킹 효과가 있으며, 픽처 품질에 큰 영향을 미치기에, DBF 기술을 이용하여 경계에 대해 디블록킹 필터링을 수행할 수 있다. 모든 예측 유닛(Prediction Unit, PU) 및 변환 유닛(Transform Unit, TU)의 경계에 대해 디블록킹 필터링을 수행하며, 디블록킹 필터링은 필터링 결책 및 필터링 조작을 포함하고, 필터링 결책 과정 중, 경계 강도(예컨대 넌(non) 필터링, 위크(weak) 필터링 또는 스트롱(strong) 필터링) 및 필터링 파라미터를 획득한다. 필터링 조작 과정 중, 경계 강도 및 필터링 파라미터에 기반하여 픽셀에 대해 수정을 수행, 예컨대 경계에 대해 필터링을 수행할 경우, 스트롱 필터링 또는 위크 필터링일 수 있으며, 상이한 길이의 탭을 이용하여 필터링을 수행한다.
SAO 필터링: 링잉 효과를 제거하는 데에 사용된다. 링잉 효과는 고주파수 교류 계수의 양자화 왜곡으로 인해, 디코딩 후 가장자리 주변에 파문이 생성되기에, 변환 블록 사이즈가 클수록 링잉 효과가 좋다. SAO의 기본 원리는 재구성된 곡선 중 피크 픽셀에 음의 값을 더하여 보상을 수행하고, 파곡(trough) 픽셀에 양의 값을 더하여 보상을 수행한다. SAO를 CTU(Coding Tree Unit, 코딩 트리 유닛)를 기본 단위로, 두 가지 보상 형식: 에지 오프셋(Edge Offset, EO라고 약칭) 및 밴드 오프셋(Band Offset, BO라고 약칭)을 포함할 수 있으며, 추가로 파라미터 융합 기술을 도입한다.
ALF 필터링: 원본 신호와 왜곡 신호에 기반하여 제곱 의미 상의 최적의 필터, 즉 위너 필터를 계산하여 얻을 수 있다. ALF의 필터는: 7*7의 다이아몬드 필터 또는 5*5의 다이아몬드 필터, 7*7 십자형에 3*3 4각형을 더한 중심 대칭 필터, 또는 7*7십자형에 5*5 4각형을 더한 중심 대칭 필터를 포함할 수 있으며 이에 한정되지 않는다.
인트라 예측: 비디오 공간 영역 상관 관계를 이용하여, 현재 블록의 이미 인코딩된 블록을 사용하여 예측을 수행하여, 비디오 공간 영역 러던던시를 효과적으로 제거하는 목적을 달성한다. 인트라 예측은 여러 가지 예측 모드를 정의하였으며, 각 예측 모드는 한 가지 텍스처 방향에 대응하는 바(DC 모드 제외), 예를 들면, 만약 픽처 텍스처 수평 모양으로 배열되면, 수평 예측 모드는 픽처 정보를 더 잘 예측할 수 있다.
인터 예측: 비디오 시간 영역 상관 관계에 기초하는 바, 비디오 시퀀스에 강한 시간 영역 상관 관계가 포함되기에, 인접된 이미 인코딩된 픽처 픽셀을 이용하여 현재 픽처의 픽셀을 예측하여, 비디오 시간 영역 리던던시를 효과적으로 제거하는 목적을 달성할 수 있다. 비디오 인코딩 표준 인터 예측 부분은 모두 블록에 기반한 움직임 보상 기술을 이용하는 바, 주요 원리는 현재 픽처의 각 픽셀 블록을 위해 사전에 이미 인코딩된 픽처 중에서 가장 적합한 매칭 블록을 검색하는 것이며, 당해 과정을 움직임 추정(Motion Estimation, ME)이라고 지칭한다.
움직임 벡터(Motion Vector, MV): 인터 예측 중, 움직임 벡터를 이용하여 현재 픽처의 현재 블록과 참조 픽처의 참조 블록 사이의 상대적 변위를 나타낼 수 있다. 각 분할된 블록은 모두 상응한 움직임 벡터를 구비하여 디코더측에 전송하는 바, 만약 각 블록의 움직임 벡터에 대해 별도로 인코딩 및 전송을 수행하면, 특히 작은 사이즈의 대량의 블록일 경우, 많은 비트를 소모하게 된다. 인코딩 움직임 벡터를 인코딩하는 데에 사용되는 비트 수를 줄이기 위해, 인접된 블록 사이의 공간 영역 상관 관계를 이용할 수 있으며, 인접된 이미 인코딩된 블록의 움직임 벡터에 기반하여 현재 인코딩될 블록의 움직임 벡터에 대해 예측을 수행하고, 다음에 예측 차에 대해 인코딩을 수행하며, 이러한 방법으로 움직임 벡터를 나타내는 비트 수를 효과적으로 줄일 수 있다. 현재 블록의 움직임 벡터에 대해 인코딩을 수행할 경우, 먼저 인접된 이미 인코딩된 블록의 움직임 벡터를 이용하여 현재 블록의 움직임 벡터를 예측하고, 다음에 당해 움직임 벡터의 예측값(MVP, Motion Vector Prediction)과 움직임 벡터의 실제 추정값 사이의 차이값(MVD, Motion Vector Difference)에 대해 인코딩을 수행한다.
움직임 정보(Motion Information): 움직임 벡터가 현재 블록과 특정 참조 블록 사이의 위치 변위를 나타내기에, 정확하게 블록을 가리키는 정보를 획득하기 위해, 움직임 벡터 외에, 추가로 참조 픽처의 인덱스 정보로 현재 블록이 어느 참조 픽처를 사용하는지를 나타낼 필요가 있다. 비디오 인코딩 기술 중, 현재 픽처에 대해, 일반적으로 하나의 참조 픽처 리스트를 구축할 수 있으며, 참조 픽처 인덱스 정보는 현재 블록이 참조 픽처 리스트 중 몇 번째 참조 픽처를 사용하였는지를 나타낸다. 추가로, 많은 인코딩 기술은 복수 개의 참조 픽처 리스트를 지원하기에, 하나의 인덱스값을 이용하여 어느 참조 픽처 리스트를 사용하였는지를 나타낼 수도 있으며, 이 인덱스값은 참조 방향이라고 지칭될 수 있다. 상술한 내용을 요약하면, 비디오 인코딩 기술 중, 움직임 벡터, 참조 프레임 인덱스, 참조 방향 등 움직임과 관련되는 정보를 움직임 정보라고 통칭할 수 있다.
플래그 코딩(flag coding): 비디오 인코딩 중, 많은 모드가 존재한다. 특정 블록에 대해, 이 중 하나의 모드를 사용할 수 있다. 어느 모드를 사용하는지를 나타내기 위해, 각 블록은 대응하는 플래그를 코딩하는 것을 통해 표기할 수 있다. 예컨대, 인코더측에 대해, 인코더측 결책을 통해, 당해 플래그의 값을 결정하고, 다음에 플래그의 값에 대해 인코딩을 수행하여 디코더측에 전송한다. 디코더측에 대해, 플래그의 값을 해석하는 것을 통해 대응하는 모드를 이네이블하였는지 여부를 결정한다
플래그의 인코딩 과정 중, 하이-레벨 신택스를 통해 플래그의 인코딩을 구현할 수 있으며, 하이-레벨 신택스는 특정 모드를 이네이블하는 것을 허락하는지 여부를 나타낼 수 있는바, 즉 하이-레벨 신택스를 통해 특정 모드의 이네이블을 허락하거나, 또는 특정 모드의 이네이블을 금지하는지를 나타낼 수 있다.
예시적으로, 하이-레벨 신택스는 시퀀스 파라미터 세트 레벨의 하이-레벨 신택스, 또는 픽처 파라미터 세트 레벨의 하이-레벨 신택스, 또는 슬라이스 헤더 레벨의 하이-레벨 신택스, 또는 픽처 헤더 레벨의 하이-레벨 신택스일 수 있으며, 이 하이-레벨 신택스에 대해 한정하지 않는다.
시퀀스 파라미터 세트(SPS, sequence parameter set)의 하이-레벨 신택스에 대해, 전체 비디오 시퀀스(즉 멀티 프레임 비디오 픽처) 중 특정 모드(툴/방법)의 이네이블의 허락을 결정하는 플래그가 존재한다. 예를 들면, 만약 플래그의 값이 A(예컨대 값 1 등)이면, 비디오 시퀀스가 당해 플래그에 대응하는 모드의 이네이블을 허락할 수 있거나; 또는, 만약 플래그의 값이 B(예컨대 값 0 등)이면 비디오 시퀀스가 당해 플래그에 대응하는 모드의 이네이블을 허락하지 않을 수 있다.
픽처 파라미터 세트(PPS, picture parameter set)의 하이-레벨 신택스에 대해, 특정 픽처(예컨대 비디오 픽처)에 특정 모드(툴/방법) 사용을 허락하는 것을 결정하는 플래그가 존재한다. 만약 플래그의 값이 A이면, 비디오 픽처가 당해 플래그에 대응하는 모드를 이네이블하는 것을 허락하고; 만약 플래그의 값B이면, 비디오 픽처가 당해 플래그에 대응하는 모드를 이네이블하는 것을 허락하지 않는다.
픽처 헤더(picture header)의 하이-레벨 신택스에 대해, 특정 픽처 헤더에 특정 모드(툴/방법)의 이네이블을 허락하는 플래그가 존재한다. 만약 플래그의 값이 A이면, 픽처 헤더가 당해 플래그에 대응하는 모드를 이네이블하는 것을 허락하고; 만약 플래그의 값이 B이면, 픽처 헤더가 당해 플래그에 대응하는 모드를 이네이블하는 것을 허락하지 않는다. 예시적으로, 픽처 헤더에 저장된 것은 단지 현재 픽처에 대한 공동 정보인바, 예를 들면, 픽처에 복수 개의 slice가 포함될 경우, 복수 개의 slice가 픽처 헤더 중의 정보를 공용할 수 있다.
슬라이스 헤더(Slice header)의 하이-레벨 신택스에 대해, 특정 slice에 특정 모드(툴/방법)의 이네이블을 허락하는 플래그가 존재한다. 만약 플래그의 값이 A이면, slice가 당해 플래그에 대응하는 모드를 이네이블하는 것을 허락하고; 만약 플래그의 값이 B이면, slice가 당해 플래그에 대응하는 모드를 이네이블하는 것을 허락하지 않는다. 예시적으로, 한 프레임의 픽처는 하나의 slice 또는 복수 개의 slice를 포함할 수 있고, 슬라이스 헤더에 대한 하이-레벨 신택스는 각 slice에 설정된 하이-레벨 신택스이다.
하이-레벨 신택스: 특정 툴(방법)의 이네이블을 허락하는지 여부를 나타내는 데에 사용되는 바, 즉 하이-레벨 신택스를 통해 특정 툴(방법)의 이네이블을 허락하거나, 또는 특정 툴(방법)의 사용을 금지한다. 예시적으로, 상술한 설명을 참조하면, 하이-레벨 신택스는 시퀀스 파라미터 세트 레벨의 하이-레벨 신택스, 또는 픽처 파라미터 세트 레벨의 하이-레벨 신택스, 또는 슬라이스 헤더 레벨의 하이-레벨 신택스, 또는 픽처 헤더 레벨의 하이-레벨 신택스일 수 있으며, 이 하이-레벨 신택스에 대해 한정하지 않으며, 상술한 기능을 구현하기만 하면 된다.
율-왜곡 최적화(Rate-Distortion Optimized): 인코딩 효율을 평가하는 데는 두 가지 지표: 비트 레이트 및 PSNR(Peak Signal to Noise Ratio)가 포함되며, 비트 스트림이 작을 수록, 압축률이 더 크고, PSNR이 클수록, 재구성된 이미지 품질이 더 양호하며, 모드 선택 시, 판별 수학식은 실질적으로 양자에 대한 종합 평가이다. 예를 들면, 모드에 대응하는 코스트: J(mode)=D+λ*R이고, 여기서, D는 왜곡(Distortion)을 나타내고 일반적으로 SSE(Sum of the Squared Errors, 차이값 제곱합)지표로 측정할 수 있고, SSE는 재구성된 픽처 블록과 소스 픽처 블록의 차이값 제곱합을 가리키며; λ는 라그랑주 승수이고; R은 당해 모드에서의 픽처 블록 인코딩에 필요한 실제 비트 수이며, 인코딩 모드 정보, 움직임 정보, 잔차 등 필요한 비트 합을 포함한다. 모드 선택 시, 만약 RDO원칙를 사용하여 인코딩 모드에 대해 비교 결정을 내리면 일반적으로 코딩 성능의 최적화를 확보할 수 있다.
블록 분할 기술: 하나의 코딩 트리 유닛(Coding Tree Unit, CTU)은 쿼드 트리를 이용하여 CU(Coding Unit, 코딩 유닛)로 재귀적으로 분할한다. 잎 노드 CU 레벨에서 인트라 코딩 또는 인터 코딩을 사용하는지를 결정한다. CU는 두 개 또는 4개의 예측 유닛(Prediction Unit, 약칭은 PU)으로 나뉠 수 있으며, 동일한 PU 내에서 동일한 예측 정보를 사용한다. 예측 완료 후에 잔차 정보를 얻은 후, 하나의 CU는 쿼드 트리를 이용하여 복수 개의 변환 유닛(Transform Units, 약칭은 TU)으로 분할한다. 예를 들면, 본 출원 중의 현재 픽처 블록이 바로 하나의 PU이다. 블록 분할 기술에 대해 변화를 수행, 예컨대, 이진 트리/삼차 트리/쿼드 트리를 혼합한 분할 구조로 기존의 분할 모드를 대체하여, 기존의 CU, PU, TU의 개념의 구분을 취소하고, CU의 보다 유연한 분할 방식을 지원한다. CU는 정사각형으로 분할될 수도 있고 직사각형으로 분할될 수도 있다. CTU는 먼저 쿼드 트리의 분할을 수행한 후, 쿼드 트리로 분할된 잎 노드는 추가로 이진 트리와 삼항 트리의 분할을 수행할 수 있다. 도 2a에 도시된 바와 같이, CU에 모두 5가지 분할 유형이 존재하는 바, 각각 쿼드 트리 분할, 수평 이진 트리 분할, 수직 이진 트리 분할, 수평 삼항 트리 분할 및 수직 삼항 트리 분할이며, 도 2b에 도시된 바와 같이, CTU 내의 CU 분할은 상술한 5가지 분할 유형의 임의의 조합일 수 있다. 이로부터 알 수 있다시피, 상이한 분할 방식은, 각 PU의 형상이 상이하도록 하는 바, 예컨대 상이한 사이즈의 직사각형, 정사각형이다.
DBF 필터링(즉 디블록킹 필터링) 방법: DBF 필터링은 두 개의 과정: 필터링 결책 및 필터링 조작을 포함한다.
필터링 결책은: 1) 경계 강도(즉 BS값) 획득; 2) 필터링 이네이블 책략; 3) 필터링 강약 선택을 포함한다. 색도 컴포넌트에 대해, 오직 단계 1)만 존재하며, 또한 휘도 컴포넌트의 BS값을 직접 재사용한다. 색도 컴포넌트에 대해, BS값이 2(즉 현재 블록 양측의 블록 중 적어도 하나가 intra(인트라) 모드를 사용)일 때만 필터링 조작을 수행한다.
필터링 조작은: 1)휘도(luma) 컴포넌트에 대한 스트롱 필터링 및 위크 필터링; 2)색도(chroma) 컴포넌트에 대한 필터링을 포함한다.
예시적으로, DBF 필터링 처리는 일반적으로8*8를 단위로 수평 경계 필터링(수평 DBF 필터링라고도 지칭할 수 있음) 및 수직 경계 필터링(수직 DBF 필터링라고도 지칭할 수 있음)을 수행하며, 또한 최대 경계 양측의 3개 픽셀 포인트에 대해 필터링을 수행하고, 최대 경계 양측의 4개 픽셀 포인트를 이용하여 필터링을 수행하며, 따라서, 상이한 블록의 수평 DBF 필터링 및 수직 DBF 필터링은 서로 영향주지 않는 바, 다시 말해서, 수평 DBF 필터링 및 수직 DBF 필터링은 병렬로 실행될 수 있다.
예컨대 도 3에 도시된 바와 같이, 현재 블록(8*8를 예로 듬)에 대해, 먼저 현재 블록 좌측 3열의 픽셀 포인트 및 왼쪽 블록(즉 현재 블록의 왼쪽 블록) 우측 3열의 픽셀 포인트의 수직 DBF 필터링을 수행한 후, 다시 현재 블록 상측 3행의 픽셀 포인트 및 위측 블록(즉 현재 블록의 위측 블록) 하측 3행의 픽셀 포인트의 수평 DBF 필터링을 수행할 수 있다.
예시적으로, 수직 DBF 필터링 및 수평 DBF 필터링을 별도로 수행해야 하는 픽셀 포인트에 대해, 일반적으로 먼저 수직 DBF 필터링을 수행하고, 후에 수평 DBF 필터링을 수행할 수 있다. 물론, 먼저 수평 DBF 필터링을 수행하고, 후에 수직 DBF 필터링할 수 있다. 후속의 실시예에서, 먼저 수직 DBF 필터링을 수행하고, 후에 수평 DBF 필터링을 수행하는 것을 예로 든다.
가능한 실시 방식에서, DBF 필터링의 처리 프로세스에 대해, 이하 단계를 포함할 수 있다:
단계 S11, 4*4를 단위로 수평 방향 및 수직 방향의 edge condition(가장자리 조건)값을 각각 계산한다.
CU경계이고, 또한 8*8경계이면, edge condition값이 2(휘도 컴포넌트 및 색도 컴포넌트 모두에 대해 필터링 처리를 수행하는 것을 나타내는 데에 사용됨)이다. PU(Prediction Unit, 예측 유닛) 경계(예컨대 2N*hN의 내부 1/4, 1/2, 3/4 수평 라인)이고, 또한 8*8경계이면, edge condition값이 1(휘도 컴포넌트에 대해 필터링 처리를 수행하지만 색도 컴포넌트에 대해 필터링 처리를 수행하지 않음을 나타내는 데에 사용됨)이다. 상술한 두 가지 경우 이외의 기타 경우에 대해, edge condition값이 0이다.
단계 S12, 4*4를 단위(필터링 처리 단위는 8*8인데, 여기서 4*4를 단위로 edge condition값 등 정보를 저장함)로, 모든 블록의 수직 필터링을 완료한다. edge condition값이 0이 아닐 경우, 아래와 같은 필터링 처리 과정을 수행한다:
1, 휘도 컴포넌트 필터링(수직 필터링은 수직 경계의 4행을 처리하고, 수평 필터링은 수평 경계의 4열을 처리함):
1.1, 먼저 필터링 과정을 스킵(skip)하는지 여부를 판단한다. 예시적으로, 만약 경계 양측의 블록이 비인트라 모드 블록이고, 무 잔차(no rasidual)이며, 또한 움직임이 일치할 경우라야만, 필터링 과정을 스킵하고, 그렇지 않으면, 모두 필터링 과정을 수행할 필요가 있다.
1.2, 만약 필터링 과정을 스킵하지 않으면, 아래와 같은 처리를 수행한다:
1.2.1, 만약 현재 프레임의 필터링 타입(df_type)이 타입 1이고, 또한 ABS(R0 - L0) >= 4* Alpha이면, FS가 0이고; 그렇지 않으면 단계1.2.2를 수행하여 FS를 결정한다. Alpha 가 기설정된 값이고, ABS()가 절대값을 취하는 연산이다.
1.2.2, FL(Flatness Left, 좌측 평활도, 선택 가능한 값이 0, 2, 3임) 및 FR(Flatness Right, 우측 평활도, 선택 가능한 값이 0, 2, 3임)을 계산하고, FL 및 FR은 양측 내부의 평활 정도를 판단하는 데에 사용된다. 다음에, FL 및 FR에 기초하여 FS를 결정한다. 예컨대, 아래와 같은 수학식을 이용하여 FS: FS=FL + FR를 결정할 수 있다.
1.2.2.1, 만약 ABS(L1 - L0)<Beta이고, 또한 ABS(L2 - L0)< Beta이면, FL이 3이고; 만약 ABS(L1 - L0)< Beta이고, 또한 ABS(L2 - L0)>=Beta이면, FL이 2이며; 만약 ABS(L1 - L0)>=Beta이고, 또한 ABS(L2 - L0)< Beta이면, FL이 1이며; 그렇지 않으면FL이 0이다. Beta가 기설정된 값이고, ABS()가 절대값을 취하는 연산이다.
1.2.2.2, FR의 계산 방식은 FL의 계산 방식과 유사하며, 여기서 더 이상 설명하지 않는다.
1.2.3, FS에 기초하여 BS값(FS의 선택 가능한 값이 0, 2, 3, 4, 5, 6이고, BS의 선택 가능한 값이 0, 1, 2, 3, 4임)을 결정한다. 예컨대, FS을 얻은 후, FS의 값에 기초하여 BS값을 결정할 수 있다.
1.2.3.1, 만약 FS가 2(최대 한쪽만 중등 평활)보다 작거나 같으면, BS=0이다.
1.2.3.2, 만약 FS가 3(있으며 오직 한쪽만 고도 평활)이면, BS=(ABS(L1 - R1)< Beta)? 1 : 0인 바, 다시 말해서, 만약 ABS(L1 - R1)< Beta가 성립되면, BS=1이고; 그렇지 않으면, BS=0이다.
1.2.3.3, 만약 FS가 4(즉 양쪽 모두가 중등 평활)이면, BS=(FL == 2)? 2 : 1인바, 다시 말해서, 만약 FL=2이면, BS=2이고; 그렇지 않으면, 즉 FL이 2와 같지 않으면, BS=1이다.
1.2.3.4, 만약 FS가 5(즉 한쪽이 중등 평활이고, 다른 한쪽이 고도 평활)이면:
만약 현재 프레임의 필터링 타입(df_type)이 타입 1이면, BS=(R1 == R0 && L0 == L1 && ABS(R2 - L2)< Alpha) ? 3 : 2이고; 다시 말해서, 만약 픽셀 포인트 R1의 픽셀값이 픽셀 포인트 R0의 픽셀값과 같고, 또한 픽셀 포인트 L0의 픽셀값이 픽셀 포인트 L1의 픽셀값과 같으며, 또한 픽셀 포인트 R2의 픽셀값과 픽셀 포인트 L2의 픽셀값 사이의 차이값의 절대값이 Alpha(즉 사전에 구성된 값)보다 작으면, BS=3이고; 그렇지 않으면, BS=2이다.
그렇지 않으면(즉 현재 프레임의 필터링 타입(df_type)이 타입 1이 아님), 만약 현재 프레임의 필터링 타입이 타입0이면, BS=(R1 == R0 && L0 == L1) ? 3 : 2이고; 다시 말해서, 만약 픽셀 포인트 R1의 픽셀값이 픽셀 포인트 R0의 픽셀값과 같고, 또한 픽셀 포인트 L0의 픽셀값이 픽셀 포인트 L1의 픽셀값과 같으면, BS=3이고; 그렇지 않으면, BS=2이다.
1.2.3.5, 만약 FS가 6(즉 양쪽 모두가 고도 평활)이면:
만약 현재 프레임의 필터링 타입(df_type)이 타입 1이면, BS=(ABS(R0 - R1) <= Beta/4 && ABS(L0 - L1) <= Beta/4 && ABS(R0 - L0)< Alpha) && ABS(R0 - R3) <= Beta/2 && ABS(L0 - L3) <= Beta/2 ? 4 : 3이고; 즉, 만약 ABS(R0 - R1) <= Beta/4, ABS(L0 - L1) <= Beta/4, ABS(R0 - L0)< Alpha, ABS(R0 - R3) <= Beta/2, ABS(L0 - L3) <= Beta/2 모두가 성립되면, BS=4이고; 그렇지 않으면, BS=3이다.
그렇지 않으면(즉 현재 프레임의 필터링 타입(df_type)이 타입 1이 아님), 만약 현재 프레임의 필터링 타입이 타입0이면, BS=(ABS(R0 - R1) <= Beta/4 && ABS(L0 - L1) <= Beta/4 && ABS(R0 - L0)< Alpha) ? 4 : 3이고; 다시 말해서, 만약 ABS(R0 - R1) <= Beta/4, ABS(L0 - L1) <= Beta/4, ABS(R0 - L0)< Alpha 모두가 성립되면, BS=4이고, 그렇지 않으면, BS=3이다.
1.2.4, BS값에 기초하여, 필터링 계수, 및 필터링 픽셀 개수를 결정한다. 예컨대, 경계 좌측 또는 상측의 4개 픽셀 포인트 각각이 L0 내지L3(예컨대 도 3에 도시된 바와 같이, 도 3 중 좌측을 예로 듬)이고, 경계 우측 또는 하측의 4개 픽셀 포인트가 R0 내지 R3(예컨대 도 3에 도시된 바와 같이, 도 3 중 우측을 예로 듬)이라고 가정하면, 휘도 컴포넌트에 대해:
1.2.4.1, 만약 BS=4이면, 경계 양측의 각 3개 픽셀에 대해 필터링을 수행하고:
L0 및 R0에 대해, 필터링 계수가 [3, 8, 10, 8, 3]/32인 바, 즉: 픽셀 포인트 L0의 필터링 후의 픽셀값을 결정하기 위해, 각각 픽셀 포인트 L2, L1, L0, R0 및 R1의 픽셀값을 이용하여 가중합을 구하고, 가중 계수(즉 필터링 계수)는 순서대로 3/32, 8/32, 10/32, 8/32 및 3/32이다. 만약 wj가 필터링 계수이면, j=-2(현재 픽셀 포인트 좌측의 픽셀 포인트, 즉 L2)일 경우, wj=3/32이고; j=-1(현재 픽셀 포인트 좌측의 첫 번째 픽셀 포인트, 즉 L1)일 경우, wj=8/32이며; j=0(현재 픽셀 포인트, 즉 L0)일 경우, wj=10/32이고; j=1(현재 픽셀 포인트 우측의 첫 번째 픽셀 포인트, 즉 R0)일 경우, wj=8/32이며; j=2(현재 픽셀 포인트 우측의 두 번째 픽셀 포인트, 즉 R1)일 경우, wj=8/32이다. 픽셀 포인트 R0의 필터링 후의 픽셀값을 결정하기 위해, 각각 픽셀 포인트 R2, R1, R0, L0 및 L1의 픽셀값을 이용하여 가중합을 구하고, 가중 계수는 순서대로 3/32, 8/32, 10/32, 8/32 및 3/32이다. 만약 저가 필터링 계수이면, j=-2(현재 픽셀 포인트 우측의 두 번째 픽셀 포인트, 즉 R2)일 경우, wj=3/32이고; j=-1(현재 픽셀 포인트 우측의 첫 번째 픽셀 포인트, 즉 R1)일 경우, wj=8/32이며; j=0(현재 픽셀 포인트, 즉 R0)일 경우, wj=10/32이고; j=1(현재 픽셀 포인트 좌측의 첫 번째 픽셀 포인트, 즉 L0)일 경우, wj=8/32이며; j=2(현재 픽셀 포인트 좌측의 두 번째 픽셀 포인트, L1)일 경우, wj=8/32이다.
상술한 내용을 요약하면, L0'= clip(L2 * 3 + L1 * 8 + L0 * 10 + R0 * 8 + R1 * 3 + 16) >> 5)이고, L0'이 픽셀 포인트 L0의 필터링 후의 픽셀값이고, L0 내지 L2가 픽셀 포인트 L0 내지 L2필터링 전의 픽셀값이며, R0 내지 R1이 픽셀 포인트 R0 내지 R1의 픽셀값이고, 이하 동일하다. R0'= clip((R2 * 3 + R1 * 8 + R0 * 10 + L0 * 8 + L1 * 3 + 16) >> 5) >> 5)이다.
상술한 수학식 중, ">>"이 오른쪽 시프트 연산이며, 나누기를 대신하는 바, 즉 ">>5"는 25(즉 32)로 나누는 것에 해당한다. 곱하기("*")는 왼쪽으로의 시프트의 방식으로 대체할 수 있는 바, 예컨대 a 곱하기 4는 왼쪽으로 2자리 시프트하는 것으로 대체, 즉 a<<2로 대체할 수 있으며; a 곱하기 10은 (a<<3)+(a<<1)로 대체할 수 있다. "<<"이 왼쪽으로의 시프트 연산이며, 곱하기를 대신하는 바, 즉 "a<<2"는 22(즉 4)를 곱하는 것에 해당한다. 시프트 방식을 통해 나누기 연산을 구현할 경우, 연산 결과에 대해 일반적으로 직접 반올림, 즉 연산 결과가 N~N+1 사이의 비정수 일 경우, 결과를 N으로 취하고, 소수 부분이 0.5보다 클 경우, 결과를 N+1로 취하는 정확성이 높고, 따라서, 결정된 픽셀값의 정확성을 향상시키기 위해, 계산 시, 상술한 가중합의 분자에 분모의(즉 피제수)의 1/2을 더하여, 사사오입의 효과를 달성할 수 있다. 상술한 L0'의 계산을 예로 들면, 오른쪽으로 5자리 시프트하는 것은 25(즉 32)로 나누는 것에 해당하고, 따라서, 상술한 가중합의 분자에 16를 더한 것일 수 있다. clip(x)는 클리핑(clipping) 조작이며, x가 기설정된 값 범위의 상한을 초과할 경우, x의 값을 당해 기설정된 값 범위의 상한으로 설정하고; x가 기설정된 값 범위의 하한보다 낮을 경우, x의 값을 당해 기설정된 데이터 범위의 하한으로 설정한다.
L1 및 R1에 대해, 필터링 계수가 [4, 5, 4, 3]/16이고, 이 기초 상에, L1'=clip((L2 * 4 + L1 * 5 + L0 * 4 + R0 * 3 + 8)>> 4)이며, R1'=clip((R2 * 4 +R1 * 5 + R0 * 4 + L0 * 3 + 8)>> 4)이다.
L2 및 R2에 대해, 필터링 계수가 [2, 2, 2, 1, 1]/8이면, L2'=clip((L3 * 2 + L2 * 2 + L1*2 +L0*1+R0*1 + 4)>> 3)이고, R2'=clip((R3 * 2 + R2 * 2 + R1*2 +R0*1+L0*1 + 4)>> 3) 이다.
1.2.4.2, 만약 BS=3이면, 경계 양측의 각 2개 픽셀에 대해 필터링을 수행한다:
L0 및 R0에 대해, 필터링 계수가 [1, 4, 6, 4, 1]/ 16이고, L0'=clip(L2 * 1 + L1 * 4 + L0 * 6 + R0 * 4 + R1 * 1 + 8)>> 4이며, R0'=clip(R2 * 1 + R1 * 4 + R0 * 6 + L0 * 4 + L1 * 1 + 8)>> 4이다.
L1 및 R1에 대해, 필터링 계수가 [3, 8, 4, 1]/ 16이면, L1'=clip((L2 * 3 + L1 * 8 + L0 * 4 + R0 * 1 + 8)>> 4)이고, R1'=clip((R2 * 3 +R1 * 8 + R0 * 4 + L0 * 1 + 8)>> 4)이다.
1.2.4.3, 만약 BS=2이면, 경계 양측의 각 하나의 픽셀에 대해 필터링을 수행한다:
L0 및 R0에 대해, 필터링 계수가 [3, 10, 3]/16이고, 이 기초 상에, L0'=clip(L1 * 3 + L0 * 10 + R0 *3+ 8)>> 4이며, R0'=clip(R1 * 3 + R0 * 10 + L0 *3+ 8)>> 4이다.
1.2.4.4, 만약 BS=1이면, 경계 양측의 각 하나의 픽셀에 대해 필터링을 수행한다: L0 및 R0에 대해, 필터링 계수가 [3, 1]/4이고, L0'=clip(L0 * 3 + R0 *1+ 2)>>2, R0'=clip(R0 * 3 + L0 *1+ 2)>>2이다.
1.2.4.5, 만약 BS=0이면, 필터링 하지 않는 바, 즉 경계 양측의 픽셀에 대해 필터링을 수행하지 않는다.
2, edge condition값이 2일 경우, 16*16 블록의 경계에 대해 색도 필터링을 수행하는 바, 다시 말해서, 16*16 블록의 경계에 대해 색도 컴포넌트의 필터링 처리를 수행하고, 당해 색도 컴포넌트의 필터링 처리 과정은 아래와 같다:
2.1, 먼저 필터링 처리를 수행할지 여부를 판단하고, 과정은 휘도 컴포넌트와 유사하며, 여기서 더 이상 설명하지 않는다.
2.2, 만약 필터링 처리를 수행(즉 필터링 과정을 스킵하지 않음)할 필요가 있으면 FL 및 FR를 각각 계산하고, 다시 FL 및 FR에 기초하여 FS를 얻고, FS에 기초하여BS값을 얻으며, 당해 과정도 휘도 컴포넌트와 유사하며, 여기서 더 이상 설명하지 않는다.
2.3, 획득된 색도 컴포넌트의 BS값(예컨대 4, 3, 2, 1, 0 등)에서 1을 감하는 바, 다시 말해서, BS의 선택 가능한 값이 3, 2, 1, 0이다. BS값에 기초하여 색도 컴포넌트의 필터링 처리를 수행하며, 구체적인 과정은 아래와 같다:
만약 BS=3이면, 경계 양측의 각 2개 픽셀에 대해 필터링을 수행한다: L0 및 R0에 대해, 필터링 계수가 [3, 10, 3]/16이고, L0'=clip(L1 * 3 + L0 * 10 + R0 *3+ 8)>> 4이며, R0'=clip(R1 * 3 + R0 * 10 + L0 *3+ 8)>> 4이다. L1 및 R1에 대해, 필터링 계수가 [3, 8, 3, 2]/16이고, L1'=clip((L2 * 3 + L1 * 8 + L0 * 3 + R0 * 2+ 8)>> 4)이며, R1'=clip((R2 * 3 +R1 * 8 + R0 * 3 + L0 * 2+ 8)>> 4)이다.
만약 BS=2, 또는 BS=1이면, 경계 양측의 각 하나의 픽셀에 대해 필터링을 수행한다: L0 및 R0에 대해, 필터링 계수가 [3, 10, 3]/16이고, L0'=clip(L1 * 3 + L0 * 10 + R0 *3+ 8)>> 4이며, R0'=clip(R1 * 3 + R0 * 10 + L0 *3+ 8)>> 4이다. 만약 BS=0이면, 필터링 하지 않는바, 즉 경계 양측의 픽셀에 대해 필터링을 수행하지 않는다.
예시적으로, 상술한 과정의 Alpha 및 Beta는 경계 양측의 블록의 QP 평균값과 관련되는 바, 즉 현재 블록과 현재 블록의 좌측 블록(수직 DBF 필터링에 대해) 또는 현재 블록과 현재 블록의 상측 블록(수평 DBF 필터링에 대해)의 QP 평균값은 상관되며, 테이블 조회를 통해 Alpha 및 Beta의 값을 얻을 수 있으며, 이에 대해 한정하지 않는다.
단계 S13, 4*4를 단위(필터링 처리 단위는 8*8인데, 여기서 4*4를 단위로 edge condition값 등 정보를 저장함)로, 모든 블록의 수평 필터링을 완성하고, 구현 방식은 단계 S12와 유사하며, 여기서 더 이상 설명하지 않는다.
관련 기술 중, DBF, SAO 및 ALF 등 필터링 기술은 모두 현재 픽셀 포인트의 픽셀값에 기초하여 분류하거나, 또는, 현재 픽셀 포인트의 픽셀값 및 주변 픽셀 포인트의 픽셀값의 관계에 기초하여 분류하고, 다음에, 다시 상이한 카테고리에 기초하여 상이한 필터링 조작을 수행하는 바, 이는 오버 필터링 현상을 초래할 수 있는 바, 즉, 필터링 후의 픽셀값이 필터링 전의 픽셀값보다 훨씬 크거나 작고, 원본 픽셀값보다도 훨씬 크거나 작아서, 필터링 효과가 좋지 않고, 인코딩 성능이 낮은 등 문제가 존재할 수 있다.
상술한 발견에 대해, 본 실시예는 인코딩 및 디코딩 방법을 제공하는 바, 현재 픽셀 포인트의 기울기값에 기초하여 현재 픽셀 포인트의 원본 픽셀값에 대해 개선을 수행하여, 현재 픽셀 포인트의 개선된 픽셀값이 원본 픽셀에 더 근접하게 함으로써, 인코딩 성능을 향상시킬 수 있다. 필터링 과정 중, 만약 현재 블록 내의 현재 픽셀 포인트가 증강된 개선 모드의 이네이블 조건을 충족하면, 현재 픽셀 포인트의 기울기값에 기초하여 현재 픽셀 포인트의 원본 픽셀값에 대해 개선을 수행한 후, 필터링 효과를 향상시키고, 코딩 성능을 향상시킬 수 있다.
이하 구체적인 실시예와 결부하여, 본 출원 실시예 중의 인코딩 및 디코딩 방법에 대해 상세하게 설명한다.
실시예 1: 본 출원 실시예에서 인코딩 및 디코딩 방법을 제공하는 바, 당해 방법은 인코더측 또는 디코더측에 응용될 수 있으며, 도 4에 도시된 바와 같이, 이는 당해 인코딩 및 디코딩 방법의 흐름 모식도이며, 당해 방법은 아래 단계를 포함한다:
단계401, 만약 현재 블록 내의 현재 픽셀 포인트가 증강된 개선 모드의 이네이블 조건을 충족하면, 현재 픽셀 포인트의 원본 픽셀값 및 현재 픽셀 포인트의 주변 픽셀 포인트의 원본 픽셀값에 기초하여 현재 픽셀 포인트의 기울기값을 결정한다.
예시적으로, 현재 픽셀 포인트의 기울기값은 현재 픽셀 포인트의 원본 픽셀값과 주변 픽셀 포인트의 원본 픽셀값 사이의 차이값에 기초하여 결정된 것일 수 있는 바, 다시 말해서, 현재 픽셀 포인트의 기울기값이 반영한 것은 두 개 픽셀값의 차이값이다.
예시적으로, 현재 픽셀 포인트의 주변 픽셀 포인트는 현재 픽셀 포인트의 인접된 픽셀 포인트일 수도 있고, 현재 픽셀 포인트의 비 인접된 픽셀 포인트일 수도 있다. 현재 픽셀 포인트의 주변 픽셀 포인트는 현재 블록 내에 위치한 픽셀 포인트일 수도 있고, 현재 블록의 인접된 블록 내에 위치한 픽셀 포인트일 수도 있다. 예컨대, 현재 픽셀 포인트의 주변 픽셀 포인트는, 현재 픽셀 포인트 좌측의 픽셀 포인트일 수도 있으며, 현재 픽셀 포인트 우측의 픽셀 포인트일 수도 있고, 현재 픽셀 포인트 상측의 픽셀 포인트일 수도 있으며, 현재 픽셀 포인트 하측의 픽셀 포인트일 수도 있고, 이 현재 픽셀 포인트의 주변 픽셀 포인트의 위치에 대해 한정하지 않는다.
예컨대, 도 3에 도시된 바와 같이, 만약 현재 픽셀 포인트가 현재 블록 내의 R0이면, 현재 픽셀 포인트의 주변 픽셀 포인트는 현재 블록 좌측 인접된 블록 내의 L0일 수 있다. 만약 현재 픽셀 포인트가 현재 블록 내 제1 행 제2 열의 픽셀 포인트이면, 현재 픽셀 포인트의 주변 픽셀 포인트는 현재 블록 상측 인접된 블록 내 제8 행 제2 열의 픽셀 포인트일 수 있다.
단계402, 현재 픽셀 포인트의 기울기값 및 현재 픽셀 포인트의 원본 픽셀값에 기초하여, 현재 픽셀 포인트의 개선된 픽셀값을 결정한다. 예를 들면, 현재 픽셀 포인트의 기울기값, 현재 픽셀 포인트의 원본 픽셀값, 제1 개선 임계값, 제2 개선 임계값, 제1 개선 오프셋값 및 제2 개선 오프셋값에 기초하여, 현재 픽셀 포인트의 개선된 픽셀값을 결정할 수 있다.
가능한 실시 방식에서, 만약 현재 픽셀 포인트의 기울기값이 제1 개선 임계값보다 크면, 현재 픽셀 포인트의 원본 픽셀값 및 제1 개선 오프셋값에 기초하여 현재 픽셀 포인트의 개선된 픽셀값을 결정하는 바, 예컨대, 현재 픽셀 포인트의 원본 픽셀값 및 제1 개선 오프셋값의 합에 기초하여 현재 픽셀 포인트의 개선된 픽셀값을 결정한다. 만약 현재 픽셀 포인트의 기울기값이 제2 개선 임계값보다 작으면, 현재 픽셀 포인트의 원본 픽셀값 및 제2 개선 오프셋값에 기초하여 현재 픽셀 포인트의 개선된 픽셀값을 결정하는 바, 예컨대, 현재 픽셀 포인트의 원본 픽셀값 및 제2 개선 오프셋값의 합에 기초하여 현재 픽셀 포인트의 개선된 픽셀값을 결정한다. 예시적으로, 제1 개선 임계값 및 제2 개선 임계값은 서로 반대수일 수 있다. 물론, 제1 개선 임계값 및 제2 개선 임계값은 서로 반대수이지 않을 수도 있는 바, 제1 개선 임계값 및 제2 개선 임계값을 임의로 설정할 수 있다.
가능한 실시 방식에서, 만약 현재 블록 내의 현재 픽셀 포인트가 증강된 개선 모드의 이네이블 조건을 충족하면, 현재 블록의 인접된 블록 내에서 현재 픽셀 포인트에 대응하는 참조 픽셀 포인트를 결정할 수도 있고, 또한 참조 픽셀 포인트의 원본 픽셀값 및 참조 픽셀 포인트의 주변 픽셀 포인트의 원본 픽셀값에 기초하여 참조 픽셀 포인트의 기울기값을 결정하며; 참조 픽셀 포인트의 기울기값 및 참조 픽셀 포인트의 원본 픽셀값에 기초하여, 참조 픽셀 포인트의 개선된 픽셀값을 결정한다.
예시적으로, 참조 픽셀 포인트는 인접된 블록 내 현재 픽셀 포인트와 인접된 픽셀 포인트일 수도 있고, 인접된 블록 내 현재 픽셀 포인트와 인접되지 않은 픽셀 포인트일 수도 있으며, 이에 대해 한정하지 않는다. 예컨대, 도 3에 도시된 바와 같이, 만약 현재 픽셀 포인트가 현재 블록 내의 R0이면, 참조 픽셀 포인트는 현재 블록 좌측 인접된 블록 내의 L0일 수도 있고, 현재 블록 좌측 인접된 블록 내의 L1, L2 등일 수도 있으며, 이에 대해 한정하지 않는다. 만약 현재 픽셀 포인트가 현재 블록 내의 R1이면, 참조 픽셀 포인트는 현재 블록 좌측 인접된 블록 내의 L0일 수도 있고, 현재 블록 좌측 인접된 블록 내의 L1, L2 등일 수도 있으며, 이에 대해 한정하지 않는다. 만약 현재 픽셀 포인트가 현재 블록 내 제1 행 제2 열의 픽셀 포인트이면, 참조 픽셀 포인트는 현재 블록 상측 인접된 블록 내 제8 행 제2 열의 픽셀 포인트일 수도 있고, 현재 블록 상측 인접된 블록 내 제7 행 제2 열의 픽셀 포인트일 수도 있으며, 이에 대해 한정하지 않는다.
예시적으로, 참조 픽셀 포인트의 기울기값은, 참조 픽셀 포인트의 원본 픽셀값과 참조 픽셀 포인트의 주변 픽셀 포인트의 원본 픽셀값 사이의 차이값에 기초하여 결정된 것일 수 있는 바, 다시 말해서, 기울기값이 반영한 것은 두 개 픽셀값의 차이값이다.
예시적으로, 참조 픽셀 포인트의 주변 픽셀 포인트는 참조 픽셀 포인트의 인접된 픽셀 포인트일 수도 있으며, 참조 픽셀 포인트의 비 인접된 픽셀 포인트일 수도 있다. 참조 픽셀 포인트의 주변 픽셀 포인트는 참조 픽셀 포인트가 소재하는 블록 내에 위치한 픽셀 포인트일 수도 있으며, 참조 픽셀 포인트가 소재하는 블록의 인접된 블록 내에 위치한 픽셀 포인트일 수도 있다. 참조 픽셀 포인트의 주변 픽셀 포인트는 참조 픽셀 포인트 좌측의 픽셀 포인트일 수도 있고, 참조 픽셀 포인트 우측의 픽셀 포인트일 수도 있으며, 참조 픽셀 포인트 상측의 픽셀 포인트일 수도 있고, 참조 픽셀 포인트 하측의 픽셀 포인트일 수도 있으며, 이 참조 픽셀 포인트의 주변 픽셀 포인트의 위치에 대해 한정하지 않는다.
가능한 실시 방식에서, 참조 픽셀 포인트의 주변 픽셀 포인트는 현재 블록 내의 현재 픽셀 포인트일 수 있으며, 이와 유사하게, 현재 픽셀 포인트의 주변 픽셀 포인트는 현재 블록의 인접된 블록 내의 참조 픽셀 포인트일 수 있다.
예시적으로, 참조 픽셀 포인트의 기울기값 및 참조 픽셀 포인트의 원본 픽셀값에 기초하여, 참조 픽셀 포인트의 개선된 픽셀값을 결정하는 단계는: 참조 픽셀 포인트의 기울기값, 참조 픽셀 포인트의 원본 픽셀값, 제3 개선 임계값(제1 개선 임계값과 동일할 수도 있고, 상이할 수 도 있음), 제4 개선 임계값(제2 개선 임계값과 동일할 수도 있고, 상이할 수 도 있음), 제3 개선 오프셋값(제1 개선 오프셋값과 동일할 수도 있고, 상이할 수 도 있음) 및 제4 개선 오프셋값(제3 개선 오프셋값과 동일할 수도 있고, 상이할 수 도 있음)에 기초하여, 참조 픽셀 포인트의 개선된 픽셀값을 결정하는 단계를 포함할 수 있으며 이에 한정되지 않는다.
예컨대, 만약 참조 픽셀 포인트의 기울기값이 제3 개선 임계값보다 크면, 참조 픽셀 포인트의 원본 픽셀값 및 제3 개선 오프셋값에 기초하여 참조 픽셀 포인트의 개선된 픽셀값을 결정하는 바, 예컨대, 참조 픽셀 포인트의 원본 픽셀값 및 제3 개선 오프셋값의 합에 기초하여 참조 픽셀 포인트의 개선된 픽셀값을 결정한다. 만약 참조 픽셀 포인트의 기울기값이 제4 개선 임계값보다 작으면, 참조 픽셀 포인트의 원본 픽셀값 및 제4 개선 오프셋값에 기초하여 참조 픽셀 포인트의 개선된 픽셀값을 결정하는 바, 예컨대, 참조 픽셀 포인트의 원본 픽셀값 및 제4 개선 오프셋값의 합에 기초하여 참조 픽셀 포인트의 개선된 픽셀값을 결정한다.
예시적으로, 제3 개선 임계값 및 제4 개선 임계값은 서로 반대수일 수 있다. 물론, 제3 개선 임계값 및 제4 개선 임계값은 서로 반대수이지 않을 수도 있고, 제3 개선 임계값 및 제4 개선 임계값을 임의로 설정할 수 있다.
가능한 실시 방식에서, 하이-레벨 신택스로부터 현재 블록에 대응하는 제1 개선 임계값, 제2 개선 임계값, 제1 개선 오프셋값, 제2 개선 오프셋값, 제3 개선 임계값, 제4 개선 임계값, 제3 개선 오프셋값 및 제4 개선 오프셋값을 해석할 수 있다. 또는, 하이-레벨 신택스로부터 현재 블록에 대응하는 제1 개선 임계값, 제1 개선 오프셋값, 제2 개선 오프셋값, 제3 개선 임계값, 제3 개선 오프셋값 및 제4 개선 오프셋값을 해석할 수 있다. 또는, 하이-레벨 신택스로부터 현재 블록에 대응하는 제2 개선 임계값, 제1 개선 오프셋값, 제2 개선 오프셋값, 제3 개선 임계값, 제3 개선 오프셋값 및 제4 개선 오프셋값을 해석할 수 있다. 또는, 하이-레벨 신택스로부터 현재 블록에 대응하는 제1 개선 임계값, 제1 개선 오프셋값, 제2 개선 오프셋값, 제4 개선 임계값, 제3 개선 오프셋값 및 제4 개선 오프셋값을 해석할 수 있다. 또는, 하이-레벨 신택스로부터 현재 블록에 대응하는 제2 개선 임계값, 제1 개선 오프셋값, 제2 개선 오프셋값, 제4 개선 임계값, 제3 개선 오프셋값 및 제4 개선 오프셋값을 해석할 수 있다.
예시적으로, 만약 제1 개선 임계값 및 제2 개선 임계값이 서로 반대수이면, 하이-레벨 신택스로부터 제1 개선 임계값을 해석한 후, 제2 개선 임계값을 유도할 수 있고, 하이-레벨 신택스로부터 제2 개선 임계값을 해석한 후, 제1 개선 임계값을 유도할 수 있다. 만약 제3 개선 임계값 및 제4 개선 임계값이 서로 반대수이면, 하이-레벨 신택스로부터 제3 개선 임계값을 해석한 후, 제4 개선 임계값을 유도할 수 있고, 하이-레벨 신택스로부터 제4 개선 임계값을 해석한 후, 제3 개선 임계값을 유도할 수 있다.
가능한 실시 방식에서, 현재 블록 내의 현재 픽셀 포인트가 증강된 개선 모드의 이네이블 조건을 충족하는 단계는: 만약 현재 블록 내의 현재 픽셀 포인트에 대응하는 필트링될 경계의 경계 강도가 증강된 개선 모드의 이네이블 조건을 충족하면, 현재 픽셀 포인트가 증강된 개선 모드의 이네이블 조건을 충족하는 것을 결정하는 단계를 포함할 수 있으며 이에 한정되지 않는다. 예컨대, 만약 현재 픽셀 포인트에 대응하는 필트링될 경계의 경계 강도가 기설정된 제1 값이면, 필트링될 경계의 경계 강도가 증강된 개선 모드의 이네이블 조건을 충족하는 것을 결정할 수 있다. 예시적으로, 기설정된 제1 값은 0일 수 있다. 물론, 기설정된 제1 값은 기타 값일 수도 있다.
또는, 만약 현재 블록에 대응하는 특징 정보가 증강된 개선 모드의 이네이블 조건을 충족하면, 현재 블록 내의 현재 픽셀 포인트가 증강된 개선 모드의 이네이블 조건을 충족하는 것을 결정한다. 예시적으로, 현재 블록에 대응하는 특징 정보가 증강된 개선 모드의 이네이블 조건을 충족하는 것은, 만약 현재 블록에 대응하는 특징 정보에 기초하에, 현재 블록에 대해 필터링 조작(예컨대 디블록킹 필터링 조작 등)을 이네이블하지 않는 것을 결정하면, 현재 블록에 대응하는 특징 정보가 증강된 개선 모드의 이네이블 조건을 충족한다고 결정하는 것을 가리킨다.
예시적으로, 현재 블록 내의 현재 픽셀 포인트가 증강된 개선 모드의 이네이블 조건을 충족하는 것을 결정하기 전에, 먼저 현재 블록에 대응하는 증강된 개선 모드 이네이블 플래그를 획득할 수 있으며, 만약 현재 블록에 대응하는 증강된 개선 모드 이네이블 플래그가 현재 블록이 증강된 개선 모드를 이네이블하는 것을 허락하면, 현재 블록 내의 현재 픽셀 포인트가 증강된 개선 모드의 이네이블 조건을 충족하는지 여부를 결정하는 바, 즉 현재 픽셀 포인트가 증강된 개선 모드의 이네이블 조건을 충족하거나, 또는, 증강된 개선 모드의 이네이블 조건을 충족하지 않는 것을 결정한다.
또는, 만약 현재 블록에 대응하는 증강된 개선 모드 이네이블 플래그가 현재 블록이 증강된 개선 모드를 이네이블하는 것을 허락하지 않으면, 직접 현재 블록 내의 현재 픽셀 포인트가 증강된 개선 모드의 이네이블 조건을 충족하지 않는 것을 결정한다.
예시적으로, 디코더측에 대해, 하이-레벨 신택스로부터 현재 블록에 대응하는 증강된 개선 모드 이네이블 플래그를 해석하고, 계속해서 증강된 개선 모드 이네이블 플래그에 기초하여 현재 블록이 증강된 개선 모드를 이네이블하는 것을 허락하는지 여부를 결정한다.
예컨대, 만약 증강된 개선 모드 이네이블 플래그가 제1 값(예컨대 1)이면, 증강된 개선 모드 이네이블 플래그가 현재 블록이 증강된 개선 모드를 이네이블하는 것을 허락하고, 만약 증강된 개선 모드 이네이블 플래그가 제2 값(예컨대 0)이면, 증강된 개선 모드 이네이블 플래그가 현재 블록이 증강된 개선 모드를 이네이블하는 것을 허락하지 않는다.
가능한 실시 방식에서, 만약 당해 인코딩 및 디코딩 방법을 예측 과정(예컨대 인트라 예측 또는 인터 예측)에 응용하면, 현재 픽셀 포인트의 원본 픽셀값은 인트라 예측 또는 인터 예측에 의해 얻은 예측값일 수 있고, 현재 픽셀 포인트의 개선된 픽셀값을 현재 픽셀 포인트의 목표 픽셀값(예측 과정의 최종 픽셀값)으로 이용한다. 만약 당해 인코딩 및 디코딩 방법을 필터링 과정에 이용하면, 현재 픽셀 포인트의 원본 픽셀값은 필터링 전의 예측값일 수 있고, 현재 픽셀 포인트의 개선된 픽셀값을 현재 픽셀 포인트의 목표 픽셀값(필터링 과정의 최종 픽셀값)으로 이용한다.
상기 기술적 해결방안으로부터 알 수 있다시피, 본 출원 실시예 중, 만약 현재 블록 내의 현재 픽셀 포인트가 증강된 개선 모드의 이네이블 조건을 충족하면, 현재 픽셀 포인트의 기울기값 및 현재 픽셀 포인트의 원본 픽셀값에 기초하여, 현재 픽셀 포인트의 개선된 픽셀값을 결정할 수 있는 바, 다시 말해서, 현재 픽셀 포인트의 기울기값에 기초하여 현재 픽셀 포인트의 원본 픽셀값에 대해 개선을 수행하여, 현재 픽셀 포인트의 개선된 픽셀값이 원본 픽셀에 더 근접하게 함으로써, 인코딩 성능을 향상시킨다. 필터링 과정 중, DBF, SAO 및 ALF 등과 같이, 만약 현재 블록 내의 현재 픽셀 포인트가 증강된 개선 모드의 이네이블 조건을 충족하면, 현재 픽셀 포인트의 기울기값에 기초하여 현재 픽셀 포인트의 원본 픽셀값에 대해 개선을 수행한 후, 필터링 효과를 향상시키고, 코딩 성능을 향상시킬 수 있다.
가능한 실시 방식에서, 만약 현재 블록 내의 현재 픽셀 포인트가 일반적인 필터링 모드의 이네이블 조건을 충족하면, 현재 픽셀 포인트의 원본 픽셀값에 대해 디블록킹 필터링(즉 DBF 필터링)을 수행하여, 현재 픽셀 포인트의 필터링된 픽셀값을 얻을 수 있다. 물론, 디블록킹 필터링은 단지 하나의 예시일 뿐, 기타 필터링 방식을 이용하여 현재 픽셀 포인트의 원본 픽셀값에 대해 필터링을 수행할 수도 있는 바, 예컨대, 현재 픽셀 포인트의 원본 픽셀값에 대해 SAO 필터링을 수행하여, 현재 픽셀 포인트의 필터링된 픽셀값을 얻을 수도 있다. 또는, 현재 픽셀 포인트의 원본 픽셀값에 대해 ALF 필터링을 수행하여, 현재 픽셀 포인트의 필터링된 픽셀값을 얻을 수 있다.
예시적으로, 디블록킹 필터링하는 것을 예로 들면, 단계 S11 내지 단계 S13를 참조하면, 이는 현재 픽셀 포인트의 원본 픽셀값에 대해 디블록킹 필터링을 수행하여, 현재 픽셀 포인트의 필터링된 픽셀값을 얻는 과정을 나타내며, 여기서 더 이상 설명하지 않는다.
계속해서 단계 S11 내지 단계 S13를 참조하면, 이러한 단계로부터 알 수 있다시피, 만약 경계 양측의 블록이 비인트라 모드 블록이고, 무 잔차이며, 또한 움직임이 일치할 경우에만 필터링 과정을 스킵하고, 그렇지 않으면, 필터링 과정을 수행할 필요가 있다. 필터링 과정을 수행할 필요가 있을 경우, BS의 값을 획득할 수도 있는 바, 만약 BS가 0과 같으면, 필터링 하지 않는 바, 즉 경계 양측의 픽셀에 대해 필터링을 수행하지 않고, 만약 BS가 0보다 크면, 경계 양측의 픽셀에 대해 필터링을 수행한다. 상술한 내용을 요약하면, 만약 경계 양측의 블록이 비인트라 모드 블록이고, 무 잔차이며, 또한 움직임이 일치할 경우, 현재 블록 내의 현재 픽셀 포인트가 일반적인 필터링 모드의 이네이블 조건을 충족하지 않는다. 만약 경계 양측의 블록이 비인트라 모드 블록이고, 무 잔차이며, 또한 움직임이 일치하지 않고(즉 경계 양측의 블록이 비인트라 모드 블록이 아니거나, 또는 경계 양측의 블록에 잔차가 있거나, 또는 경계 양측의 블록 움직임이 일치하지 않으면), 또한 BS가 0과 같으면, 현재 블록 내의 현재 픽셀 포인트가 일반적인 필터링 모드의 이네이블 조건을 충족하지 않는다. 만약 경계 양측의 블록이 비인트라 모드 블록이고, 무 잔차이며, 또한 움직임이 일치하지 않으면, 또한 BS가 0보다 크면, 현재 블록 내의 현재 픽셀 포인트가 일반적인 필터링 모드의 이네이블 조건을 충족한다.
주의해야 할 점은, 만약 현재 블록 내의 현재 픽셀 포인트가 일반적인 필터링 모드의 이네이블 조건을 충족하면, 현재 블록 내의 현재 픽셀 포인트가 증강된 개선 모드의 이네이블 조건을 충족하지 않고, 만약 현재 블록 내의 현재 픽셀 포인트가 증강된 개선 모드의 이네이블 조건을 충족하면, 현재 블록 내의 현재 픽셀 포인트가 일반적인 필터링 모드의 이네이블 조건을 충족하지 않는다.
현재 픽셀 포인트가 일반적인 필터링 모드의 이네이블 조건을 충족하고, 또한 현재 픽셀 포인트의 원본 픽셀값에 대해 디블록킹 필터링을 수행하여 현재 픽셀 포인트의 필터링된 픽셀값을 얻은 기초 상에, 현재 블록 내의 현재 픽셀 포인트가 증강된 필터링 모드의 이네이블 조건을 충족하는지 여부를 결정할 필요가 있다. 만약 현재 블록 내의 현재 픽셀 포인트가 증강된 필터링 모드의 이네이블 조건을 충족하면, 현재 픽셀 포인트의 필터링된 픽셀값 및 현재 픽셀 포인트의 원본 픽셀값에 기초하여, 현재 픽셀 포인트의 개선된 픽셀값을 결정하는 바, 즉 현재 픽셀 포인트의 개선된 픽셀값을 현재 픽셀 포인트의 목표 픽셀값(디블록킹 필터링 과정의 최종 픽셀값)으로 이용한다. 만약 현재 블록 내의 현재 픽셀 포인트가 증강된 필터링 모드의 이네이블 조건을 충족하지 않으면, 현재 픽셀 포인트의 필터링된 픽셀값에 대해 개선을 수행하지 않으며, 현재 픽셀 포인트의 필터링된 픽셀값을 현재 픽셀 포인트의 목표 픽셀값(디블록킹 필터링 과정의 최종 픽셀값)으로 이용한다.
예시적으로, 만약 현재 블록 내의 현재 픽셀 포인트가 증강된 필터링 모드의 이네이블 조건을 충족하면, 현재 픽셀 포인트의 필터링된 픽셀값 및 현재 픽셀 포인트의 원본 픽셀값에 기초하여, 현재 픽셀 포인트의 개선된 픽셀값을 결정하는 바, 이는: 현재 픽셀 포인트의 필터링된 픽셀값, 현재 픽셀 포인트의 원본 픽셀값, 제1 필터링 임계값, 제2 필터링 임계값, 제1 필터링 오프셋값 및 제2 필터링 오프셋값에 기초하여, 현재 픽셀 포인트의 개선된 픽셀값을 결정하는 단계를 포함할 수 있으며 이에 한정되지 않는다.
예시적으로, 제1 필터링 임계값 및 제2 필터링 임계값은 서로 반대수일 수 있으며, 물론, 제1 필터링 임계값 및 제2 필터링 임계값은 서로 반대수이지 않을 수 있으며, 제1 필터링 임계값 및 제2 필터링 임계값을 임의로 설정할 수 있다.
가능한 실시 방식에서, 만약 현재 블록 내의 현재 픽셀 포인트가 일반적인 필터링 모드의 이네이블 조건을 충족하고, 또한 현재 블록의 인접된 블록 내에서 현재 픽셀 포인트에 대응하는 참조 픽셀 포인트를 결정할 수 있고, 또한 참조 픽셀 포인트의 원본 픽셀값에 대해 디블록킹 필터링을 수행(즉 DBF 필터링)하여, 참조 픽셀 포인트의 필터링된 픽셀값을 얻는다. 물론, 디블록킹 필터링은 단지 하나의 예시일 뿐, 기타 필터링 방식을 이용하여 참조 픽셀 포인트의 원본 픽셀값에 대해 필터링을 수행, 예컨대, 참조 픽셀 포인트의 원본 픽셀값에 대해 SAO 필터링 또는 ALF 필터링을 수행하여, 참조 픽셀 포인트의 필터링된 픽셀값을 얻을 수도 있다.
예시적으로, 디블록킹 필터링하는 것을 예로 들고, 단계 S11 내지 단계 S13를 참조하면, 이는 참조 픽셀 포인트의 원본 픽셀값에 대해 디블록킹 필터링을 수행하여 참조 픽셀 포인트의 필터링된 픽셀값을 얻는 과정을 도시하며, 여기서 더 이상 설명하지 않는다.
예시적으로, 참조 픽셀 포인트는 인접된 블록 내 현재 픽셀 포인트와 인접된 픽셀 포인트일 수도 있고, 참조 픽셀 포인트는 인접된 블록 내 현재 픽셀 포인트와 인접되지 않은 픽셀 포인트일 수도 있으며, 이에 대해 한정하지 않는다.
현재 픽셀 포인트가 일반적인 필터링 모드의 이네이블 조건을 충족하고, 또한 참조 픽셀 포인트의 원본 픽셀값에 대해 디블록킹 필터링을 수행하여 참조 픽셀 포인트의 필터링된 픽셀값을 얻은 기초 상에, 현재 블록 내의 현재 픽셀 포인트가 증강된 필터링 모드의 이네이블 조건을 충족하는지 여부를 결정할 필요가 있다. 만약 현재 블록 내의 현재 픽셀 포인트가 증강된 필터링 모드의 이네이블 조건을 충족하면, 참조 픽셀 포인트의 필터링된 픽셀값 및 참조 픽셀 포인트의 원본 픽셀값에 기초하여, 참조 픽셀 포인트의 개선된 픽셀값을 결정하는 바, 즉 참조 픽셀 포인트의 개선된 픽셀값을 참조 픽셀 포인트의 목표 픽셀값(디블록킹 필터링 과정의 최종 픽셀값)으로 이용한다. 만약 현재 블록 내의 현재 픽셀 포인트가 증강된 필터링 모드의 이네이블 조건을 충족하지 않으면, 참조 픽셀 포인트의 필터링된 픽셀값에 대해 개선을 수행하지 않고, 참조 픽셀 포인트의 필터링된 픽셀값을 참조 픽셀 포인트의 목표 픽셀값(디블록킹 필터링 과정의 최종 픽셀값)으로 이용한다.
예시적으로, 참조 픽셀 포인트의 필터링된 픽셀값 및 참조 픽셀 포인트의 원본 픽셀값에 기초하여, 참조 픽셀 포인트의 개선된 픽셀값을 결정하는 단계는: 참조 픽셀 포인트의 필터링된 픽셀값, 참조 픽셀 포인트의 원본 픽셀값, 제3 필터링 임계값, 제4 필터링 임계값, 제3 필터링 오프셋값 및 제4 필터링 오프셋값에 기초하여, 참조 픽셀 포인트의 개선된 픽셀값을 결정하는 단계를 포함할 수 있고, 이에 한정되지 않으며; 여기서, 제3 필터링 임계값 및 제4 필터링 임계값은 서로 반대수일 수 있고, 물론, 제3 필터링 임계값 및 제4 필터링 임계값은 서로 반대수이지 않을 수 있으며, 제3 필터링 임계값 및 제4 필터링 임계값을 임의로 설정할 수 있다.
가능한 실시 방식에서, 하이-레벨 신택스로부터 현재 블록에 대응하는 제1 필터링 임계값, 제2 필터링 임계값, 제1 필터링 오프셋값, 제2 필터링 오프셋값, 제3 필터링 임계값, 제4 필터링 임계값, 제3 필터링 오프셋값 및 제4 필터링 오프셋값을 해석할 수 있다. 또는, 하이-레벨 신택스로부터 현재 블록에 대응하는 제1 필터링 임계값, 제1 필터링 오프셋값, 제2 필터링 오프셋값, 제3 필터링 임계값, 제3 필터링 오프셋값 및 제4 필터링 오프셋값을 해석할 수 있다. 또는, 하이-레벨 신택스로부터 현재 블록에 대응하는 제2 필터링 임계값, 제1 필터링 오프셋값, 제2 필터링 오프셋값, 제3 필터링 임계값, 제3 필터링 오프셋값 및 제4 필터링 오프셋값을 해석할 수 있다. 또는, 하이-레벨 신택스로부터 현재 블록에 대응하는 제1 필터링 임계값, 제1 필터링 오프셋값, 제2 필터링 오프셋값, 제4 필터링 임계값, 제3 필터링 오프셋값 및 제4 필터링 오프셋값을 해석할 수 있다. 또는, 하이-레벨 신택스로부터 현재 블록에 대응하는 제2 필터링 임계값, 제1 필터링 오프셋값, 제2 필터링 오프셋값, 제4 필터링 임계값, 제3 필터링 오프셋값 및 제4 필터링 오프셋값을 해석할 수 있다.
예시적으로, 만약 제1 필터링 임계값 및 제2 필터링 임계값이 서로 반대수이면, 하이-레벨 신택스로부터 제1 필터링 임계값을 해석한 후, 제2 필터링 임계값을 유도할 수 있고, 하이-레벨 신택스로부터 제2 필터링 임계값을 해석한 후, 제1 필터링 임계값을 유도할 수 있다. 만약 제3 필터링 임계값 및 제4 필터링 임계값이 서로 반대수이면, 하이-레벨 신택스로부터 제3 필터링 임계값을 해석한 후, 제4 필터링 임계값을 유도할 수 있고, 하이-레벨 신택스로부터 제4 필터링 임계값을 해석한 후, 제3 필터링 임계값을 유도할 수 있다.
가능한 실시 방식에서, 현재 블록 내의 현재 픽셀 포인트가 증강된 필터링 모드의 이네이블 조건을 충족하는 단계는: 만약 현재 블록 내의 현재 픽셀 포인트에 대응하는 필트링될 경계의 경계 강도가 증강된 필터링 모드의 이네이블 조건을 충족하고, 또한 현재 픽셀 포인트의 필터링된 픽셀값과 현재 픽셀 포인트의 원본 픽셀값 사이의 차이값의 절대값이 기설정된 임계값(당해 기설정된 임계값이 양의 값이고, 이 기설정된 임계값에 대해 한정하지 않는 바, 예컨대, 만약 제1 필터링 임계값 및 제2 필터링 임계값이 서로 반대수일 경우, 제1 필터링 임계값이 양의 값이면, 당해 기설정된 임계값과 제1 필터링 임계값은 동일하고, 제2 필터링 임계값이 양의 값이면, 당해 기설정된 임계값과 제2 필터링 임계값은 동일하며, 물론, 기설정된 임계값은 기타 값일 수도 있음)보다 크면, 현재 픽셀 포인트가 증강된 필터링 모드의 이네이블 조건을 충족하는 것을 결정하는 단계를 포함할 수 있으며 이에 한정되지 않는다. 예시적으로, 현재 블록 내의 현재 픽셀 포인트에 대응하는 필트링될 경계의 경계 강도가 증강된 필터링 모드의 이네이블 조건을 충족하면: 만약 현재 픽셀 포인트에 대응하는 필트링될 경계의 경계 강도가 기설정된 제2 값(기설정된 제1 값과 상이한 바, 즉 0이 아니며, 예컨대 기설정된 제2 값이 0보다 클 수 있음)이면, 필트링될 경계의 경계 강도가 증강된 필터링 모드의 이네이블 조건을 충족하는 것을 결정하는 단계를 포함할 수 있으며 이에 한정되지 않는다.
예시적으로, 현재 블록 내의 현재 픽셀 포인트가 증강된 필터링 모드의 이네이블 조건을 충족하는 것을 결정하기 전에, 먼저 현재 블록에 대응하는 증강된 필터링 모드 이네이블 플래그를 획득할 수 있으며, 만약 현재 블록에 대응하는 증강된 필터링 모드 이네이블 플래그가 현재 블록이 증강된 필터링 모드를 이네이블하는 것을 허락하면, 현재 블록 내의 현재 픽셀 포인트가 증강된 필터링 모드의 이네이블 조건을 충족하는지 여부를 결정, 즉 현재 픽셀 포인트가 증강된 필터링 모드의 이네이블 조건을 충족하는 것을 결정하거나, 또는, 증강된 필터링 모드의 이네이블 조건을 충족하지 않는 것을 결정한다.
또는, 만약 현재 블록에 대응하는 증강된 필터링 모드 이네이블 플래그가 현재 블록이 증강된 필터링 모드를 이네이블하는 것을 허락하지 않으면, 직접 현재 블록 내의 현재 픽셀 포인트가 증강된 필터링 모드의 이네이블 조건을 충족하지 않는 것을 결정한다.
예시적으로, 디코더측에 대해, 하이-레벨 신택스로부터 현재 블록에 대응하는 증강된 필터링 모드 이네이블 플래그를 해석하고, 계속해서 증강된 필터링 모드 이네이블 플래그에 기초하여 현재 블록이 증강된 필터링 모드를 이네이블하는 것을 허락하는지 여부를 결정할 수 있다.
예컨대, 만약 증강된 필터링 모드 이네이블 플래그가 제1 값(예컨대 1)이면, 증강된 필터링 모드 이네이블 플래그가 현재 블록이 증강된 필터링 모드를 이네이블하는 것을 허락하고, 만약 증강된 필터링 모드 이네이블 플래그가 제2 값(예컨대 0)이면, 증강된 필터링 모드 이네이블 플래그가 현재 블록이 증강된 필터링 모드를 이네이블하는 것을 허락하지 않는다.
예시적으로, 상술한 실시예 중, 하이-레벨 신택스는: 시퀀스 레벨 파라미터 세트 SPS 레벨 하이-레벨 신택스; 픽처 파라미터 세트 PPS 레벨 하이-레벨 신택스; 픽처 헤더 레벨 하이-레벨 신택스; 프레임 레벨 하이-레벨 신택스; 슬라이스 헤더 레벨 하이-레벨 신택스; 인코딩 트리 유닛CTU 레벨 하이-레벨 신택스; 인코딩 유닛CU 레벨 하이-레벨 신택스 중 하나를 포함할 수 있으며 이에 한정되지 않는다.
예시적으로, 상술한 실시예 중, 현재 블록 내의 현재 픽셀 포인트의 픽셀값은 휘도 컴포넌트 또는 색도 컴포넌트일 수 있다.
상기 기술적 해결방안으로부터 알 수 있다시피, 만약 현재 블록 내의 현재 픽셀 포인트가 증강된 필터링 모드의 이네이블 조건을 충족하면, 현재 픽셀 포인트의 필터링된 픽셀값 및 현재 픽셀 포인트의 원본 픽셀값에 기초하여, 현재 픽셀 포인트의 개선된 픽셀값을 결정할 수 있는 바, 다시 말해서, 현재 픽셀 포인트의 필터링된 픽셀값에 기초하여 현재 픽셀 포인트의 원본 픽셀값에 대해 개선을 수행하여, 현재 픽셀 포인트의 개선된 픽셀값이 원본 픽셀에 더 근접하게 함으로써, 인코딩 성능을 향상시킨다. 필터링 과정 중, DBF, SAO 및 ALF 등과 같이, 만약 현재 블록 내의 현재 픽셀 포인트가 증강된 필터링 모드의 이네이블 조건을 충족하면, 현재 픽셀 포인트의 필터링된 픽셀값에 기초하여 현재 픽셀 포인트의 원본 픽셀값에 대해 개선을 수행한 후, 필터링 효과를 향상시키고, 인코딩 성능을 향상시킬 수 있다.
실시예 2: 필터링 처리를 수행할 필요가 있을 경우, 먼저 필터링 과정을 스킵하는지 여부를 판단해야 하는 바, 예컨대, 만약 경계 양측의 블록(즉 현재 블록 및 현재 블록의 인접된 블록, 수직 경계에 대해, 현재 블록 좌측의 인접된 블록이고, 수평 경계에 대해, 현재 블록 상측의 인접된 블록임)이 비인트라 모드 블록(즉 현재 블록 및 인접된 블록은 모두 인트라 블록이 아님)이고, 무 잔차(즉 현재 블록 및 인접된 블록 사이에 잔차가 없음)이며, 또한 움직임이 일치(즉 현재 블록 및 인접된 블록의 움직임이 일치함)할 경우, 필터링 과정을 스킵하고, 그렇지 않으면, 필터링 과정을 스킵하지 않는다. 이에 기초하여, "필터링 과정을 스킵함"을 증강된 개선 모드의 이네이블 조건으로 이용할 수 있는 바, 즉, 만약 현재 블록 내의 현재 픽셀 포인트에 대해 필터링 과정을 스킵하면, 현재 블록 내의 현재 픽셀 포인트가 증강된 개선 모드의 이네이블 조건을 충족한다. 현재 픽셀 포인트가 증강된 개선 모드의 이네이블 조건을 충족하는 경우, 증강된 개선 모드를 이용하여 현재 픽셀 포인트의 원본 픽셀값에 대해 개선을 수행함으로써, 픽셀값이 원본 픽셀에 더 근접하게 할 수 있다.
예시적으로, 만약 현재 블록에 대응하는 특징 정보가 증강된 개선 모드의 이네이블 조건을 충족하면, 현재 블록 내의 현재 픽셀 포인트가 증강된 개선 모드의 이네이블 조건을 충족하는 것을 결정한다. 현재 블록에 대응하는 특징 정보는 경계 양측의 블록이 비인트라 모드 블록인지 여부를 나타내는 데에 사용되고, 경계 양측의 블록이 무 잔차인지 여부를 나타내는 데에 사용되며, 또한, 경계 양측의 블록의 움직임이 일치한지 여부를 나타내는 데에 사용된다. 이에 기초하여, 만약 현재 블록에 대응하는 특징 정보가 경계 양측의 블록이 비인트라 모드 블록임을 나타내는 데에 사용되고, 또한 경계 양측의 블록이 무 잔차인 것을 나타내는 데에 사용되며, 또한 경계 양측의 블록 움직임이 일치하는 것을 나타내는 데에 사용되면, 현재 블록에 대응하는 특징 정보가 증강된 개선 모드의 이네이블 조건을 충족하는 것을 설명하고, 또한 현재 블록 내의 현재 픽셀 포인트가 증강된 개선 모드의 이네이블 조건을 충족하는 것을 결정하는 바, 즉 현재 블록 내의 각 픽셀 포인트가 증강된 개선 모드의 이네이블 조건을 충족하는 것을 결정한다. 또는, 만약 현재 블록에 대응하는 특징 정보가 경계 양측의 블록 모두가 비인트라 모드 블록이지 않을 나타내는 데에 사용되거나, 및/또는, 현재 블록에 대응하는 특징 정보가 경계 양측의 블록에 잔차가 있는 것에 사용되거나, 및/또는, 현재 블록에 대응하는 특징 정보가 경계 양측의 블록 움직임이 일치하지 않는 것을 나타내는 데에 사용되면, 현재 블록에 대응하는 특징 정보가 증강된 개선 모드의 이네이블 조건을 충족하지 않는 것을 설명하고, 또한 현재 블록 내의 현재 픽셀 포인트가 증강된 개선 모드의 이네이블 조건을 충족하지 않는 것을 결정하는 바, 즉 현재 블록 내의 각 픽셀 포인트 모두가 증강된 개선 모드의 이네이블 조건을 충족하지 않는다.
예시적으로, 현재 픽셀 포인트가 증강된 개선 모드의 이네이블 조건을 충족하는 경우, 증강된 개선 모드를 이용하여 현재 픽셀 포인트의 원본 픽셀값에 대해 개선을 수행할 수 있는 바, 예컨대, 먼저 현재 픽셀 포인트의 원본 픽셀값에 기초하여 현재 픽셀 포인트의 기울기값을 결정하고, 또한 현재 픽셀 포인트의 기울기값 및 현재 픽셀 포인트의 원본 픽셀값에 기초하여, 현재 픽셀 포인트의 개선된 픽셀값을 결정할 수 있으며, 개선된 픽셀값의 결정 과정은 후속의 실시예를 참조할 수 있으며, 여기서 더 이상 설명하지 않는다.
실시예 3: 필터링 처리를 수행할 필요가 있을 경우, 먼저 필터링 과정을 스킵하는지 여부를 판단해야 하는 바, 예컨대, 만약 경계 양측의 블록이 비인트라 모드 블록이고, 무 잔차이며, 또한 움직임이 일치할 경우, 필터링 과정을 스킵하고, 그렇지 않으면, 필터링 과정을 스킵하지 않는다. 필터링 과정을 스킵하지 않을 경우, 또한 BS값을 결정할 수 있으며, 만약 BS값이 0보다 크면(예컨대 BS값이 1, 2, 3, 4 등), 경계 양측의 픽셀에 대해 필터링을 수행할 수 있다. 만약 BS값이 0이면, 필터링 하지 않는 바, 즉 경계 양측의 픽셀에 대해 필터링을 수행하지 않는다. 이에 기초하여, "BS값이 0임"을 증강된 개선 모드의 이네이블 조건으로 이용할 수 있는 바, 즉, 만약 현재 블록 내의 현재 픽셀 포인트의 BS값이 0이면, 현재 블록 내의 현재 픽셀 포인트가 증강된 개선 모드의 이네이블 조건을 충족하고; 만약 현재 블록 내의 현재 픽셀 포인트의 BS값이 0보다 크면, 현재 블록 내의 현재 픽셀 포인트가 증강된 개선 모드의 이네이블 조건을 충족하지 않는다.
예시적으로, 만약 현재 블록 내의 현재 픽셀 포인트에 대응하는 필트링될 경계의 경계 강도가 증강된 개선 모드의 이네이블 조건을 충족하면, 현재 픽셀 포인트가 증강된 개선 모드의 이네이블 조건을 충족하는 것을 결정한다. 예컨대, 먼저 현재 픽셀 포인트에 대응하는 필트링될 경계의 경계 강도를 결정할 수 있으며, 만약 당해 경계 강도가 기설정된 제1 값이면, 당해 경계 강도가 증강된 개선 모드의 이네이블 조건을 충족하는 것을 결정한다. 당해 기설정된 제1 값은 경험에 기반하여 구성될 수 있는 바, 예컨대 기설정된 제1 값이 0이다. 상술한 내용을 요약하면, 만약 현재 픽셀 포인트에 대응하는 필트링될 경계의 경계 강도가 0이면, 현재 픽셀 포인트에 대응하는 필트링될 경계의 경계 강도가 증강된 개선 모드의 이네이블 조건을 충족하고, 또한 현재 픽셀 포인트가 증강된 개선 모드의 이네이블 조건을 충족하는 것을 결정하는 것을 의미한다.
또는, 만약 현재 블록 내의 현재 픽셀 포인트에 대응하는 필트링될 경계의 경계 강도가 증강된 개선 모드의 이네이블 조건을 충족하지 않으면, 현재 픽셀 포인트가 증강된 개선 모드의 이네이블 조건을 충족하지 않는 것을 결정한다. 예컨대, 만약 현재 픽셀 포인트에 대응하는 필트링될 경계의 경계 강도가 기설정된 제1 값이 아니면, 당해 경계 강도가 증강된 개선 모드의 이네이블 조건을 충족하지 않는 것을 결정함으로써, 따라서 현재 블록 내의 현재 픽셀 포인트가 증강된 개선 모드의 이네이블 조건을 충족하지 않는 것을 결정할 수 있다.
예시적으로, 현재 픽셀 포인트가 증강된 개선 모드의 이네이블 조건을 충족하는 경우, 증강된 개선 모드를 이용하여 현재 픽셀 포인트의 원본 픽셀값에 대해 개선을 수행, 함으로써, 픽셀값이 원본 픽셀에 더 근접하게 한다. 예컨대, 먼저 현재 픽셀 포인트의 원본 픽셀값에 기초하여 현재 픽셀 포인트의 기울기값을 결정하고, 또한 현재 픽셀 포인트의 기울기값 및 현재 픽셀 포인트의 원본 픽셀값에 기초하여, 현재 픽셀 포인트의 개선된 픽셀값을 결정할 수 있으며, 개선된 픽셀값의 결정 과정은 후속의 실시예를 참조한다.
실시예 4: 필터링 처리를 수행할 필요가 있을 경우, 먼저 필터링 과정을 스킵하는지 여부를 판단해야 하는 바, 예컨대, 만약 경계 양측의 블록이 비인트라 모드 블록이고, 무 잔차이며, 또한 움직임이 일치할 경우, 필터링 과정을 스킵하고, 그렇지 않으면, 필터링 과정을 스킵하지 않는다. 필터링 과정을 스킵하지 않을 경우, 또한 BS값을 결정할 수 있으며, 만약 BS값이 0보다 크면(예컨대 BS값이 1, 2, 3, 4 등), 경계 양측의 픽셀에 대해 필터링을 수행할 수 있다. 만약 BS값이 0이면, 필터링 하지 않는 바, 즉 경계 양측의 픽셀에 대해 필터링을 수행하지 않는다. 이에 기초하여, "BS값이 0보다 큼"을 일반적인 필터링 모드의 이네이블 조건으로 이용할 수 있는 바, 즉, 만약 현재 블록 내의 현재 픽셀 포인트의 BS값이 0보다 크면, 현재 블록 내의 현재 픽셀 포인트가 일반적인 필터링 모드의 이네이블 조건을 충족하며; 만약 현재 블록 내의 현재 픽셀 포인트의 BS값이 0과 같으면, 현재 블록 내의 현재 픽셀 포인트가 일반적인 필터링 모드의 이네이블 조건을 충족하지 않는다.
예시적으로, 만약 현재 블록 내의 현재 픽셀 포인트에 대응하는 필트링될 경계의 경계 강도가 일반적인 필터링 모드의 이네이블 조건을 충족하면, 현재 픽셀 포인트가 일반적인 필터링 모드의 이네이블 조건을 충족하는 것을 결정한다. 예컨대, 먼저 현재 픽셀 포인트에 대응하는 필트링될 경계의 경계 강도를 결정할 수 있으며, 만약 당해 경계 강도가 기설정된 제2 값이면, 당해 경계 강도가 일반적인 필터링 모드의 이네이블 조건을 충족하는 것을 결정한다. 당해 기설정된 제2 값은 경험에 기반하여 구성될 수 있는 바, 예컨대 기설정된 제2 값이 0보다 클 수 있으며, 예컨대 기설정된 제2 값이 1, 2, 3, 4 등일 수 있다. 상술한 내용을 요약하면, 만약 현재 픽셀 포인트에 대응하는 필트링될 경계의 경계 강도가 0보다 크면(즉 경계 강도가 0이 아님), 현재 픽셀 포인트에 대응하는 필트링될 경계의 경계 강도가 일반적인 필터링 모드의 이네이블 조건을 충족하고, 또한 현재 픽셀 포인트가 일반적인 필터링 모드의 이네이블 조건을 충족하는 것을 결정하는 것을 의미한다.
또는, 만약 현재 블록 내의 현재 픽셀 포인트에 대응하는 필트링될 경계의 경계 강도가 일반적인 필터링 모드의 이네이블 조건을 충족하지 않으면, 현재 픽셀 포인트가 일반적인 필터링 모드의 이네이블 조건을 충족하지 않는 것을 결정한다. 예컨대, 만약 현재 픽셀 포인트에 대응하는 필트링될 경계의 경계 강도(예컨대 0)가 기설정된 제2 값이 아니면, 당해 경계 강도가 일반적인 필터링 모드의 이네이블 조건을 충족하지 않는 것을 결정하고, 따라서 현재 블록 내의 현재 픽셀 포인트가 일반적인 필터링 모드의 이네이블 조건을 충족하지 않는 것을 결정할 수 있다.
예시적으로, 현재 픽셀 포인트가 일반적인 필터링 모드의 이네이블 조건을 충족할 경우, 또한 현재 픽셀 포인트의 원본 픽셀값에 대해 디블록킹 필터링(즉 DBF 필터링, 본문은 디블록킹 필터링을 예로 듬)을 수행하여, 현재 픽셀 포인트의 필터링된 픽셀값을 얻을 수 있다.
실시예 5: 현재 블록 내의 현재 픽셀 포인트가 일반적인 필터링 모드의 이네이블 조건을 충족하고, 또한 현재 픽셀 포인트의 원본 픽셀값에 대해 디블록킹 필터링을 수행하여 현재 픽셀 포인트의 필터링된 픽셀값을 얻은 기초 상에, 추가로 현재 블록 내의 현재 픽셀 포인트가 증강된 필터링 모드의 이네이블 조건을 충족하는지 여부를 결정할 수 있다. 예컨대, 현재 픽셀 포인트의 필터링된 픽셀값과 현재 픽셀 포인트의 원본 픽셀값 사이의 차이값의 절대값이 기설정된 임계값보다 큰지 여부를 결정하고, 만약 기설정된 임계값보다 크면, 현재 블록 내의 현재 픽셀 포인트가 증강된 필터링 모드의 이네이블 조건을 충족하는 것을 결정하고, 만약 기설정된 임계값보다 크지 않으면, 현재 블록 내의 현재 픽셀 포인트가 증강된 필터링 모드의 이네이블 조건을 충족하지 않는 것을 결정한다. 상술한 내용을 요약하면, 현재 블록 내의 현재 픽셀 포인트가 증강된 필터링 모드의 이네이블 조건을 충족하는 단계는: 만약 현재 블록 내의 현재 픽셀 포인트에 대응하는 필트링될 경계의 경계 강도가 증강된 필터링 모드의 이네이블 조건을 충족하고, 또한 현재 픽셀 포인트의 필터링된 픽셀값과 현재 픽셀 포인트의 원본 픽셀값 사이의 차이값의 절대값이 기설정된 임계값보다 크면, 현재 픽셀 포인트가 증강된 필터링 모드의 이네이블 조건을 충족하는 것을 결정하는 단계를 포함할 수 있다.
이하 구체적인 실시예와 결부하여, 증강된 필터링 모드의 이네이블 조건에 대해 설명한다.
필터링 처리를 수행할 필요가 있을 경우, 먼저 필터링 과정을 스킵하는지 여부를 판단해야 하는 바, 필터링 과정을 스킵하지 않을 경우, 또한 BS값을 결정할 수 있으며, 만약 BS값이 0보다 크면, 경계 양측의 픽셀에 대해 필터링을 수행할 수 있다. 이에 기초하여, "BS값이 0보다 큼"을 증강된 필터링 모드의 이네이블 조건으로 이용할 수 있는 바, 다시 말해서, "BS값이 0보다 큼"을 동시에 일반적인 필터링 모드 및 증강된 필터링 모드의 이네이블 조건으로 이용할 수 있다. BS값이 0보다 클 경우, 현재 픽셀 포인트의 원본 픽셀값에 대해 디블록킹 필터링을 수행하여, 현재 픽셀 포인트의 필터링된 픽셀값을 얻을 필요가 있다. 현재 픽셀 포인트의 필터링된 픽셀값을 얻은 후, 또한 현재 픽셀 포인트의 필터링된 픽셀값과 현재 픽셀 포인트의 원본 픽셀값 사이의 차이값의 절대값이 기설정된 임계값보다 큰지 여부를 결정할 수 있고, 또한 "차이값의 절대값이 기설정된 임계값보다 큼”을 증강된 필터링 모드의 이네이블 조건으로 이용할 수 있다.
상술한 내용을 요약하면, 만약 현재 블록 내의 현재 픽셀 포인트에 대응하는 필트링될 경계의 경계 강도가 증강된 필터링 모드의 이네이블 조건을 충족하고, 또한 현재 픽셀 포인트의 필터링된 픽셀값과 현재 픽셀 포인트의 원본 픽셀값 사이의 차이값의 절대값이 기설정된 임계값보다 크면, 현재 픽셀 포인트가 증강된 필터링 모드의 이네이블 조건을 충족하는 것을 결정하고, 그렇지 않으면, 현재 픽셀 포인트가 증강된 필터링 모드의 이네이블 조건을 충족하지 않는 것을 결정한다. 예컨대, 먼저 현재 픽셀 포인트에 대응하는 필트링될 경계의 경계 강도를 결정하고, 만약 당해 경계 강도가 기설정된 제2 값이면, 당해 경계 강도가 증강된 필터링 모드의 이네이블 조건을 충족하는 것을 결정한다. 기설정된 제2 값은 경험에 기반하여 구성될 수 있는 바, 예컨대 기설정된 제2 값이 0보다 클 수 있으며, 예컨대 기설정된 제2 값이 1, 2, 3, 4 등일 수 있다.
예시적으로, 현재 픽셀 포인트가 증강된 필터링 모드의 이네이블 조건을 충족할 경우, 현재 픽셀 포인트의 필터링된 픽셀값 및 현재 픽셀 포인트의 원본 픽셀값에 기초하여, 현재 픽셀 포인트의 개선된 픽셀값을 결정할 수 있는 바, 즉 현재 픽셀 포인트의 개선된 픽셀값을 현재 픽셀 포인트의 목표 픽셀값(디블록킹 필터링 과정의 최종 픽셀값)으로 이용할 수 있다. 만약 현재 블록 내의 현재 픽셀 포인트가 증강된 필터링 모드의 이네이블 조건을 충족하지 않으면, 현재 픽셀 포인트의 필터링된 픽셀값에 대해 개선을 수행하지 않으며, 현재 픽셀 포인트의 필터링된 픽셀값을 현재 픽셀 포인트의 목표 픽셀값(디블록킹 필터링 과정의 최종 픽셀값)으로 이용한다.
상술한 실시예 1, 2, 3, 4, 5로부터 알수 있다시피, 본문은 증강된 개선 모드, 일반적인 필터링 모드 및 증강된 필터링 모드에 관한 것으로, 증강된 개선 모드, 일반적인 필터링 모드 또는 증강된 필터링 모드에 기초하여 현재 픽셀 포인트의 원본 픽셀값에 대해 처리를 수행하여 현재 픽셀 포인트의 목표 픽셀값(즉 최종 픽셀값)을 얻는다. 예컨대, 만약 현재 픽셀 포인트가 증강된 개선 모드의 이네이블 조건을 충족하면, 증강된 개선 모드 하에, 현재 픽셀 포인트의 기울기값에 기초하여 현재 픽셀 포인트의 원본 픽셀값에 대해 개선을 수행하여, 현재 픽셀 포인트의 개선된 픽셀값을 얻을 수 있고, 당해 개선된 픽셀값을 목표 픽셀값으로 이용할 수 있다. 또 예를 들면, 만약 현재 픽셀 포인트가 일반적인 필터링 모드의 이네이블 조건을 충족하지만, 증강된 필터링 모드의 이네이블 조건을 충족하지 않으면, 일반적인 필터링 모드 하에, 현재 픽셀 포인트의 원본 픽셀값에 대해 필터링을 수행하여, 현재 픽셀 포인트의 필터링된 픽셀값을 얻고, 당해 필터링된 픽셀값을 목표 픽셀값으로 이용할 수 있다. 또 예를 들면, 만약 현재 픽셀 포인트가 일반적인 필터링 모드의 이네이블 조건을 충족하고, 또한 증강된 필터링 모드의 이네이블 조건을 충족하면, 증강된 필터링 모드 하에, 현재 픽셀 포인트의 원본 픽셀값에 대해 필터링을 수행하여, 현재 픽셀 포인트의 필터링된 픽셀값을 얻고, 또한 현재 픽셀 포인트의 필터링된 픽셀값에 기초하여 현재 픽셀 포인트의 원본 픽셀값에 대해 개선을 수행하여, 현재 픽셀 포인트의 개선된 픽셀값을 얻고, 당해 개선된 픽셀값을 목표 픽셀값으로 이용할 수 있다.
가능한 실시 방식에서, 현재 블록에 대해 디블록킹 필터링을 수행할 경우, 증강된 개선 모드, 일반적인 필터링 모드 또는 증강된 필터링 모드를 이용하여 현재 픽셀 포인트의 원본 픽셀값에 대해 처리를 수행할 수 있는 바, 다시 말해서, 증강된 개선 모드, 일반적인 필터링 모드 및 증강된 필터링 모드는 모두 디블록킹 필터링 모드에 속하는 바, 즉, 증강된 개선 모드, 일반적인 필터링 모드 및 증강된 필터링 모드는 디블록킹 필터링 모드 하에서의 서버 모드일 수 있다. 이에 기초하여, 디블록킹 필터링 모드 하에, 증강된 개선 모드를 이용하여 현재 픽셀 포인트의 원본 픽셀값에 대해 처리를 수행하거나, 또는, 일반적인 필터링 모드를 이용하여 현재 픽셀 포인트의 원본 픽셀값에 대해 처리를 수행하거나, 또는, 증강된 필터링 모드를 이용하여 현재 픽셀 포인트의 원본 픽셀값에 대해 처리를 수행하는 것을 결정할 수 있다.
물론, 증강된 개선 모드, 일반적인 필터링 모드 및 증강된 필터링 모드도 기타 타입의 필터링 모드, 예컨대 SAO 필터링 모드 또는 ALF 필터링 모드 등에 속할 수 있는 바, 즉, 증강된 개선 모드, 일반적인 필터링 모드 및 증강된 필터링 모드는 SAO 필터링 모드 하에서의 서버 모드일 수 있거나, 또는, 증강된 개선 모드, 일반적인 필터링 모드 및 증강된 필터링 모드는 ALF 필터링 모드 하에서의 서버 모드일 수 있다. 이에 기초하여, SAO 필터링 모드 또는 ALF 필터링 모드 하에, 증강된 개선 모드를 이용하여 현재 픽셀 포인트의 원본 픽셀값에 대해 처리를 수행하거나, 또는, 일반적인 필터링 모드를 이용하여 현재 픽셀 포인트의 원본 픽셀값에 대해 처리를 수행하거나, 또는, 증강된 필터링 모드를 이용하여 현재 픽셀 포인트의 원본 픽셀값에 대해 처리를 수행하는 것을 결정할 수 있다.
예시적으로, 증강된 개선 모드, 일반적인 필터링 모드 및 증강된 필터링 모드 모두가 디블록킹 필터링 모드에 속하는 것을 예로 들면, 일반적인 필터링 모드는 디블록킹 필터링 모드의 일반적인 모드라고 지칭할 수 있는 바, 즉 현재 픽셀 포인트의 원본 픽셀값에 대해 디블록킹 필터링을 수행하여 필터링된 픽셀값을 얻은 후, 더 이상 디블록킹 필터링 후의 필터링된 픽셀값에 대해 개선을 수행하지 않는다. 증강된 필터링 모드는 디블록킹 필터링 개선 모드(deblocking refinement, 약칭은 DBR)라고 지칭할 수 있는 바, 즉 현재 픽셀 포인트의 원본 픽셀값에 대해 디블록킹 필터링을 수행하여 필터링된 픽셀값을 얻은 후, 또한 디블록킹 필터링 후의 필터링된 픽셀값에 대해 개선을 수행해야 한다. 증강된 개선 모드는 선택 가능한 디블록킹 필터링 개선 모드(alt deblocking refinement, 약칭은 ADBR)라고 지칭할 수 있는 바, 즉 현재 픽셀 포인트의 원본 픽셀값에 대해 디블록킹 필터링을 수행하지 않는 기초 상에, 직접 현재 픽셀 포인트의 원본 픽셀값에 대해 개선을 수행한다.
실시예 6: 실시예 1, 실시예 2 및 실시예 3에 대해, 증강된 개선 모드를 이용하여 현재 픽셀 포인트의 원본 픽셀값에 대해 개선을 수행할 수 있으며, 원본 픽셀값에 대해 개선을 수행할 경우, 아래와 같은 단계를 이용할 수 있다:
단계 S21, 현재 픽셀 포인트의 원본 픽셀값 및 현재 픽셀 포인트의 주변 픽셀 포인트의 원본 픽셀값에 기초하여 현재 픽셀 포인트의 기울기값을 결정한다. 예컨대, 현재 픽셀 포인트의 기울기값은 현재 픽셀 포인트의 원본 픽셀값과 주변 픽셀 포인트의 원본 픽셀값 사이의 차이값에 기초하여 결정된 것일 수 있는 바, 이 결정 방식에 대해 한정하지 않는다.
단계 S22, 현재 블록의 인접된 블록(수직 경계에 대해, 당해 인접된 블록은 현재 블록의 좌측 인접된 블록이고, 수평 경계에 대해, 당해 인접된 블록은 현재 블록의 상측 인접된 블록임)으로부터 현재 픽셀 포인트에 대응하는 참조 픽셀 포인트를 결정하고, 또한 참조 픽셀 포인트의 원본 픽셀값 및 참조 픽셀 포인트의 주변 픽셀 포인트의 원본 픽셀값에 기초하여 참조 픽셀 포인트의 기울기값을 결정한다. 예컨대, 참조 픽셀 포인트의 기울기값은, 참조 픽셀 포인트의 원본 픽셀값과 참조 픽셀 포인트의 주변 픽셀 포인트의 원본 픽셀값 사이의 차이값에 기초하여 결정된 것일 수 있는 바, 이 결정 방식에 대해 한정하지 않는다.
예시적으로, 현재 픽셀 포인트의 원본 픽셀값 및 현재 픽셀 포인트의 주변 픽셀 포인트(예컨대 주변 픽셀 포인트가 참조 픽셀 포인트)의 원본 픽셀값에 기초하여 현재 픽셀 포인트의 기울기값을 결정하고, 참조 픽셀 포인트의 주변 픽셀 포인트(예컨대 주변 픽셀 포인트가 현재 픽셀 포인트)의 원본 픽셀값 및 참조 픽셀 포인트의 원본 픽셀값에 기초하여 참조 픽셀 포인트의 기울기값을 결정한다.
예컨대, pi가 현재 블록 내의 현재 픽셀 포인트의 원본 픽셀값, 즉 참조 픽셀 포인트의 주변 픽셀 포인트의 원본 픽셀값이고, qi는 인접된 블록 내의 참조 픽셀 포인트의 원본 픽셀값, 즉 현재 픽셀 포인트의 주변 픽셀 포인트의 원본 픽셀값이라고 가정하면, 다시 말해서, pi 및 qi가 각각 경계 양측의 원본 픽셀값이면, 현재 픽셀 포인트 pi의 기울기값 DPi는 아래와 같은 방식을 이용하여 결정될 수 있다: DPi = (pi - qi + 2) >> 2, 참조 픽셀 포인트 qi의 기울기값 DQi는 아래와 같은 방식을 이용하여 결정될 수 있다: DQi = (qi - pi + 2) >> 2. 물론, 상술한 내용은 단지 현재 픽셀 포인트의 기울기값 및 참조 픽셀 포인트의 기울기값을 결정하는 예시일 뿐, 이에 대해 한정하지 않는다. 당연히, 현재 픽셀 포인트의 기울기값은, 현재 픽셀 포인트의 원본 픽셀값 및 참조 픽셀 포인트의 원본 픽셀값 사이의 차이값에 기초하여 결정된 것일 수 있다. 참조 픽셀 포인트의 기울기값은 참조 픽셀 포인트의 원본 픽셀값 및 현재 픽셀 포인트의 원본 픽셀값 사이의 차이값에 기초하여 결정된 것일 수 있다.
현재 픽셀 포인트 pi가 p0(도 3의 R0에 대응함)이고, 참조 픽셀 포인트 qi가 q0(도 3의 L0에 대응함)인 것을 예로 들면, 현재 픽셀 포인트 p0의 기울기값 DP0은 아래와 같은 방식을 이용하여 결정한다: DP0 = (p0-q0+ 2) >> 2, 참조 픽셀 포인트 q0의 기울기값 DQ0은 아래와 같은 방식을 이용하여 결정한다: DQ0 = (q0- p0 + 2) >> 2. DP0 = (p0-q0+ 2) >> 2의 다른 한 가지 표현 방식은 DP0 = (p0-q0+ 1) >> 1이고, DQ0 = (q0- p0 + 2) >> 2의 다른 한가지 표현 방식은 DQ0 = (q0- p0+ 1) >> 1이다.
단계 S23, 현재 픽셀 포인트의 기울기값 및 현재 픽셀 포인트의 원본 픽셀값에 기초하여, 현재 픽셀 포인트의 개선된 픽셀값을 결정한다. 예컨대, 만약 현재 픽셀 포인트의 기울기값이 제1 개선 임계값보다 크면, 현재 픽셀 포인트의 원본 픽셀값 및 제1 개선 오프셋값(제1 개선 오프셋량이라고도 지칭할 수 있음)에 기초하여 현재 픽셀 포인트의 개선된 픽셀값을 결정한다. 만약 현재 픽셀 포인트의 기울기값이 제2 개선 임계값보다 작으면, 현재 픽셀 포인트의 원본 픽셀값 및 제2 개선 오프셋값에 기초하여 현재 픽셀 포인트의 개선된 픽셀값을 결정한다. 예시적으로, 제1 개선 임계값 및 제2 개선 임계값은 서로 반대수일 수 있다.
단계 S24, 참조 픽셀 포인트의 기울기값 및 참조 픽셀 포인트의 원본 픽셀값에 기초하여, 참조 픽셀 포인트의 개선된 픽셀값을 결정한다. 예컨대, 만약 참조 픽셀 포인트의 기울기값이 제3 개선 임계값보다 크면, 참조 픽셀 포인트의 원본 픽셀값 및 제3 개선 오프셋값(제3 개선 오프셋량이라고도 지칭할 수 있음)에 기초하여 참조 픽셀 포인트의 개선된 픽셀값을 결정한다. 만약 참조 픽셀 포인트의 기울기값이 제4 개선 임계값보다 작으면, 참조 픽셀 포인트의 원본 픽셀값 및 제4 개선 오프셋값에 기초하여 참조 픽셀 포인트의 개선된 픽셀값을 결정한다. 예시적으로, 제3 개선 임계값 및 제4 개선 임계값은 서로 반대수일 수 있다.
예컨대, 만약 현재 픽셀 포인트 pi의 기울기값 DPi가 alt_dbr_th(alt_dbr_th는 제1 개선 임계값을 나타냄)보다 크면, 현재 픽셀 포인트 pi의 개선된 픽셀값 Pi는 아래와 같은 방식을 이용하여 결정될 수 있다: Pi=clip(pi+ alt_dbr_offset0), alt_dbr_offset0는 제1 개선 오프셋값을 나타낼 수 있다. 또는, 만약 현재 픽셀 포인트 pi의 기울기값 Dpi가 -alt_dbr_th(-alt_dbr_th는 제2 개선 임계값을 나타냄)보다 작으면, 현재 픽셀 포인트 pi의 개선된 픽셀값 Pi는 아래와 같은 방식을 이용하여 결정될 수 있다: Pi=clip(pi+ alt_dbr_offset1), alt_dbr_offset1는 제2 개선 오프셋값을 나타낼 수 있다.
상술한 실시예 중, i는 0, 1, 2일 수 있으며, i가 0인 것을 예로 들어 설명하면: 만약 DP0 > dbr_th이면, P0=clip(p0+ alt_dbr _offset0)이고; 만약 DP0 <-dbr_th이면, P0=clip(p0+ alt_dbr_offset1)이다.
예컨대, 만약 참조 픽셀 포인트 qi의 기울기값 DQi가 alt_dbr_th(alt_dbr_th는 제3 개선 임계값을 나타내고, 여기서 제3 개선 임계값과 제1 개선 임계값이 동일한 것을 예로 들며, 실제 응용 중, 제3 개선 임계값과 제1 개선 임계값도 상이할 수 있음)보다 크면, 참조 픽셀 포인트 qi의 개선된 픽셀값 Qi는 아래와 같은 방식을 이용하여 결정될 수 있다: Qi=clip(qi+ alt_dbr_offset0), alt_dbr_offset0는 제3 개선 오프셋값을 나타낼 수 있고, 이번에는 제3 개선 오프셋값과 제1 개선 오프셋값이 동일한 것을 예로 들며, 실제 응용 중, 제3 개선 오프셋값과 제1 개선 오프셋값도 상이할 수 있다.
또는, 만약 참조 픽셀 포인트 qi의 기울기값 DQi가 -alt_dbr_th(-alt_dbr_th는 제4 개선 임계값을 나타내고, 여기서 제4 개선 임계값과 제2 개선 임계값이 동일한 것을 예로 들며, 실제 응용 중, 제4 개선 임계값과 제2 개선 임계값도 상이할 수 있음)보다 작으면, 참조 픽셀 포인트 qi의 개선된 픽셀값 Qi는 아래와 같은 방식을 이용하여 결정될 수 있다: Qi=clip(qi+ alt_dbr_offset1), alt_dbr_offset1는 제4 개선 오프셋값을 나타낼 수 있고, 이번에는 제4 개선 오프셋값과 제2 개선 오프셋값이 동일한 것을 예로 들며, 실제 응용 중, 제4 개선 오프셋값과 제2 개선 오프셋값도 상이할 수 있다.
상술한 실시예 중, i는 0, 1, 2일 수 있으며, i가 0인 것을 예로 들어 설명하면: 만약 DQ0 > dbr_th이면, Q0=clip(q0+alt_dbr_offset0)이고; 만약 DQ0<-dbr_th이면, Q0=clip(q0+ alt_dbr_offset1)이다.
상술한 실시예 중, pi는 현재 픽셀 포인트의 원본 픽셀값을 나타내고, DPi는 현재 픽셀 포인트의 기울기값을 나타내며, Pi는 현재 픽셀 포인트의 개선된 픽셀값을 나타내고, qi는 참조 픽셀 포인트의 원본 픽셀값을 나타내며, DQi는 참조 픽셀 포인트의 기울기값을 나타내고, Qi는 참조 픽셀 포인트의 개선된 픽셀값을 나타낸다. clip(x)는 x를 [0, 2^(bit_depth)-1] 사이(0 및 2^(bit_depth)-1을 포함함)로 한정하는 것을 나타내며, bit_depth는 픽처의 비트 심도를 나타내며, 일반적으로 8, 10, 12 등이다.
가능한 실시 방식에서, 디코더측에 대해, 하이-레벨 신택스로부터 현재 블록에 대응하는 제1 개선 임계값, 제1 개선 오프셋값, 제2 개선 오프셋값, 제3 개선 임계값, 제3 개선 오프셋값 및 제4 개선 오프셋값을 해석할 수 있다. 제1 개선 임계값과 제2 개선 임계값이 서로 반대수이고, 제3 개선 임계값과 제4 개선 임계값이 서로 반대수이기에, 디코더측은 제2 개선 임계값 및 제4 개선 임계값을 결정할 수 있다.
다른 가능한 실시 방식에서, 디코더측에 대해, 하이-레벨 신택스로부터 현재 블록에 대응하는 제1 개선 임계값, 제1 개선 오프셋값, 제2 개선 오프셋값, 제4 개선 임계값, 제3 개선 오프셋값 및 제4 개선 오프셋값을 해석할 수 있다. 제1 개선 임계값과 제2 개선 임계값이 서로 반대수이고, 제3 개선 임계값과 제4 개선 임계값이 서로 반대수이기에, 디코더측은 제2 개선 임계값 및 제3 개선 임계값을 결정할 수 있다.
다른 가능한 실시 방식에서, 디코더측에 대해, 하이-레벨 신택스로부터 현재 블록에 대응하는 제2 개선 임계값, 제1 개선 오프셋값, 제2 개선 오프셋값, 제3 개선 임계값, 제3 개선 오프셋값 및 제4 개선 오프셋값을 해석할 수 있다. 제1 개선 임계값과 제2 개선 임계값이 서로 반대수이고, 제3 개선 임계값과 제4 개선 임계값이 서로 반대수이기에, 디코더측은 제1 개선 임계값 및 제4 개선 임계값을 결정할 수 있다.
다른 가능한 실시 방식에서, 디코더측에 대해, 하이-레벨 신택스로부터 현재 블록에 대응하는 제2 개선 임계값, 제1 개선 오프셋값, 제2 개선 오프셋값, 제4 개선 임계값, 제3 개선 오프셋값 및 제4 개선 오프셋값을 해석할 수 있다. 제1 개선 임계값과 제2 개선 임계값이 서로 반대수이고, 제3 개선 임계값과 제4 개선 임계값이 서로 반대수이기에, 디코더측은 제1 개선 임계값 및 제3 개선 임계값을 결정할 수 있다.
다른 가능한 실시 방식에서, 디코더측에 대해, 하이-레벨 신택스로부터 현재 블록에 대응하는 제1 개선 임계값(또는 제2 개선 임계값, 또는 제3 개선 임계값, 또는 제4 개선 임계값, 즉 하나의 개선 임계값을 통해 기타 3개 개선 임계값을 유도할 수 있음), 제1 개선 오프셋값(또는 제3 개선 오프셋값) 및 제2 개선 오프셋값(또는 제4 개선 오프셋값)을 해석할 수 있다. 이 기초 상에, 제1 개선 임계값과 제2 개선 임계값이 서로 반대수이기에, 제2 개선 임계값을 결정할 수 있다. 제1 개선 임계값과 제3 개선 임계값이 동일하기에, 제3 개선 임계값을 결정할 수 있다. 제3 개선 오프셋값과 제1 개선 오프셋값이 동일하기에, 제3 개선 오프셋값을 결정할 수 있다. 제4 개선 오프셋값과 제2 개선 오프셋값이 동일하기에, 제4 개선 오프셋값을 결정할 수 있다. 제3 개선 임계값과 제4 개선 임계값이 서로 반대수이기에, 제4 개선 임계값을 결정할 수 있다.
물론, 상술한 방식은 단지 몇 개 예시일 뿐, 이에 대해 한정하지 않는 바, 디코더측이 제1 개선 임계값, 제2 개선 임계값, 제3 개선 임계값, 제4 개선 임계값, 제1 개선 오프셋값, 제2 개선 오프셋값, 제3 개선 오프셋값 및 제4 개선 오프셋값을 획득할 수 있기만 하면 되는 바, 즉 상술한 각 값은 해석하여 얻거나 또는 유도하여 얻을 수 있다.
상술한 실시예 중, 하이-레벨 신택스는: SPS 레벨 하이-레벨 신택스; PPS 레벨 하이-레벨 신택스; 픽처 헤더 레벨 하이-레벨 신택스; 프레임 레벨 하이-레벨 신택스; 슬라이스 헤더 레벨 하이-레벨 신택스; CTU 레벨 하이-레벨 신택스; CU 레벨 하이-레벨 신택스 중 하나를 포함할 수 있으며 이에 한정되지 않는다. 물론, 상술한 내용은 단지 하이-레벨 신택스의 몇 개 예시일 뿐, 이 하이-레벨 신택스의 타입에 대해 한정하지 않으며, 하이-레벨 신택스를 통해 현재 블록에 대응하는 개선 임계값 및 개선 오프셋값을 휴대할 수 있기만 하면 된다.
상술한 실시예 중, 현재 블록 내의 현재 픽셀 포인트의 픽셀값은 휘도 컴포넌트 또는 색도 컴포넌트일 수 있다.
가능한 실시 방식에서, 증강된 개선 모드 이네이블 플래그를 통해 증강된 개선 모드를 이네이블하는 것을 허락하는지 여부를 나타내며, 만약 증강된 개선 모드 이네이블 플래그가 현재 블록이 증강된 개선 모드를 이네이블하는 것을 허락하면, 현재 블록 내의 현재 픽셀 포인트가 증강된 개선 모드의 이네이블 조건을 충족하는지 여부를 결정해야 하고, 만약 현재 픽셀 포인트가 증강된 개선 모드의 이네이블 조건을 충족하면, 증강된 개선 모드를 이용하여 현재 픽셀 포인트의 원본 픽셀값에 대해 개선을 수행한다. 만약 증강된 개선 모드 이네이블 플래그가 현재 블록이 증강된 개선 모드를 이네이블하는 것을 허락하지 않으면, 직접 현재 블록 내의 각 픽셀 포인트가 증강된 개선 모드의 이네이블 조건을 충족하지 않는 것을 결정하고, 증강된 개선 모드를 이용하여 현재 픽셀 포인트의 원본 픽셀값에 대해 개선을 수행하지 않는다. 이 기초 상에, 만약 현재 블록에 대응하는 증강된 개선 모드 이네이블 플래그가 현재 블록이 증강된 개선 모드를 이네이블하는 것을 허락하면, 현재 블록 내의 현재 픽셀 포인트가 증강된 개선 모드의 이네이블 조건을 충족하는지 여부를 결정한다. 만약 현재 블록에 대응하는 증강된 개선 모드 이네이블 플래그가 현재 블록이 증강된 개선 모드를 이네이블하는 것을 허락하지 않으면, 현재 블록 내의 각 픽셀 포인트가 증강된 개선 모드의 이네이블 조건을 충족하지 않는 것을 결정한다.
예시적으로, 디코더측에 대해, 하이-레벨 신택스로부터 현재 블록에 대응하는 증강된 개선 모드 이네이블 플래그를 해석할 수 있다. 예컨대, 만약 당해 증강된 개선 모드 이네이블 플래그가 제1 값(예컨대 1)이면, 증강된 개선 모드 이네이블 플래그가 현재 블록이 증강된 개선 모드를 이네이블하는 것을 허락하는 것을 설명하고, 만약 당해 증강된 개선 모드 이네이블 플래그가 제2 값(예컨대 0)이면, 증강된 개선 모드 이네이블 플래그가 현재 블록이 증강된 개선 모드를 이네이블하는 것을 허락하지 않는 것을 설명한다.
상술한 실시예 중, 하이-레벨 신택스는: SPS 레벨 하이-레벨 신택스; PPS 레벨 하이-레벨 신택스; 픽처 헤더 레벨 하이-레벨 신택스; 프레임 레벨 하이-레벨 신택스; 슬라이스 헤더 레벨 하이-레벨 신택스; CTU 레벨 하이-레벨 신택스; CU 레벨 하이-레벨 신택스 중 하나를 포함할 수 있으며 이에 한정되지 않는다. 물론, 상술한 내용은 단지 하이-레벨 신택스의 몇 개 예시일 뿐, 이 하이-레벨 신택스의 타입에 대해 한정하지 않으며, 하이-레벨 신택스를 통해 현재 블록에 대응하는 증강된 개선 모드 이네이블 플래그를 휴대할 수 있기만 하면 된다.
실시예 7: 실시예 1 및 실시예 5에 대해, 증강된 필터링 모드를 사용하여 현재 픽셀 포인트의 원본 픽셀값에 대해 개선을 수행할 수 있고, 현재 픽셀 포인트의 원본 픽셀값에 대해 개선을 수행할 경우, 아래와 같은 단계를 이용할 수 있다:
단계 S31, 현재 픽셀 포인트의 원본 픽셀값에 대해 디블록킹 필터링을 수행하여, 현재 픽셀 포인트의 필터링된 픽셀값을 얻는다.
단계 S32, 현재 블록의 인접된 블록(수직 경계에 대해, 당해 인접된 블록은 현재 블록의 좌측 인접된 블록이고, 수평 경계에 대해, 당해 인접된 블록은 현재 블록의 상측 인접된 블록임)으로부터 현재 픽셀 포인트에 대응하는 참조 픽셀 포인트를 결정하며, 또한 참조 픽셀 포인트의 원본 픽셀값에 대해 디블록킹 필터링을 수행하여, 참조 픽셀 포인트의 필터링된 픽셀값을 얻는다.
예시적으로, DBF 필터링(즉 디블록킹 필터링) 방식을 사용하여 현재 픽셀 포인트의 원본 픽셀값에 대해 디블록킹 필터링을 수행하여, 현재 픽셀 포인트의 필터링된 픽셀값을 얻고, 또한 DBF 필터링 방식을 이용하여 참조 픽셀 포인트의 원본 픽셀값에 대해 디블록킹 필터링을 수행하여, 참조 픽셀 포인트의 필터링된 픽셀값을 얻을 수 있다. 물론, SAO 필터링 방식을 이용하여 현재 픽셀 포인트의 원본 픽셀값에 대해 필터링을 수행하여, 현재 픽셀 포인트의 필터링된 픽셀값을 얻고, 또한 SAO 필터링 방식을 이용하여 참조 픽셀 포인트의 원본 픽셀값에 대해 필터링을 수행하여, 참조 픽셀 포인트의 필터링된 픽셀값을 얻을 수도 있다. 또는, ALF 필터링 방식을 이용하여 현재 픽셀 포인트의 원본 픽셀값에 대해 필터링을 수행하여, 현재 픽셀 포인트의 필터링된 픽셀값을 얻고, 또한 ALF 필터링 방식을 이용하여 참조 픽셀 포인트의 원본 픽셀값에 대해 필터링을 수행하여, 참조 픽셀 포인트의 필터링된 픽셀값을 얻을 수도 있다. 설명의 편의를 위해, 후속의 실시예 중, DBF 필터링 방식을 이용하여 현재 픽셀 포인트 및 참조 픽셀 포인트의 원본 픽셀값에 대해 디블록킹 필터링을 수행하는 것을 예로 든다.
도 3에 도시된 바와 같이, 현재 픽셀 포인트의 위치에 기초하여, 오직 현재 픽셀 포인트 및 참조 픽셀 포인트에 대해 수평 DBF 필터링을 수행할 수 있고, 오직 현재 픽셀 포인트 및 참조 픽셀 포인트에 대해 수직 DBF 필터링을 수행할 수도 있으며, 또한 먼저 현재 픽셀 포인트 및 참조 픽셀 포인트에 대해 수직 DBF 필터링을 수행하고, 다음에 현재 픽셀 포인트 및 참조 픽셀 포인트에 대해 수평 DBF 필터링을 수행할 수도 있다.
단계 S33, 현재 픽셀 포인트의 필터링된 픽셀값 및 현재 픽셀 포인트의 원본 픽셀값에 기초하여, 현재 픽셀 포인트의 개선된 픽셀값을 결정한다. 예컨대, 현재 픽셀 포인트의 필터링된 픽셀값, 현재 픽셀 포인트의 원본 픽셀값, 제1 필터링 임계값, 제2 필터링 임계값, 제1 필터링 오프셋값 및 제2 필터링 오프셋값에 기초하여, 현재 픽셀 포인트의 개선된 픽셀값을 결정하며; 여기서, 당해 제1 필터링 임계값 및 당해 제2 필터링 임계값은 서로 반대수일 수 있다.
단계 S34, 참조 픽셀 포인트의 필터링된 픽셀값 및 참조 픽셀 포인트의 원본 픽셀값에 기초하여, 참조 픽셀 포인트의 개선된 픽셀값을 결정한다. 예컨대, 참조 픽셀 포인트의 필터링된 픽셀값, 참조 픽셀 포인트의 원본 픽셀값, 제3 필터링 임계값, 제4 필터링 임계값, 제3 필터링 오프셋값 및 제4 필터링 오프셋값에 기초하여, 참조 픽셀 포인트의 개선된 픽셀값을 결정하며; 여기서, 당해 제3 필터링 임계값 및 당해 제4 필터링 임계값은 서로 반대수일 수 있다.
예시적으로, 만약 현재 픽셀 포인트가 단지 일반적인 필터링 모드의 이네이블 조건을 충족하고, 증강된 필터링 모드의 이네이블 조건을 충족하지 않으면, 단계 S31 및 단계 S32를 수행하고, 필터링된 픽셀값을 목표 픽셀값(디블록킹 필터링 과정의 최종 픽셀값)으로 이용한다. 만약 현재 픽셀 포인트가 일반적인 필터링 모드의 이네이블 조건 및 증강된 필터링 모드의 이네이블 조건을 충족하면, 단계 S31 내지 단계 S34를 수행하고, 개선된 픽셀값을 목표 픽셀값(디블록킹 필터링 과정의 최종 픽셀값)으로 이용한다.
단계 S33 및 단계 S34 중, 필터링된 픽셀값과 필터링 처리를 거치지 않은 원본 픽셀값에 기초하여, 픽셀 포인트의 원본 픽셀값에 대해 증강된 필터링 처리를 수행, 즉 픽셀 포인트의 원본 픽셀값에 대해 증강된 필터링 처리를 수행하여 증강 처리된 개선된 픽셀값을 얻음으로써, 증강 처리된 개선된 픽셀값이 필터링된 픽셀값에 비해, 실제 픽셀에 더 근접하게 하고, 오버 필터링으로 인한 필터링된 픽셀값이 픽셀 포인트의 실제 픽셀보다 훨씬 크거나 또는 훨씬 작은 문제점을 피하여, 픽처 품질을 향상시킬 수 있다.
예시적으로, 단계 S33에 대해, 만약 현재 픽셀 포인트의 필터링된 픽셀값과 현재 픽셀 포인트의 원본 픽셀값 사이의 차이값이 제1 필터링 임계값보다 크면, 현재 픽셀 포인트의 필터링된 픽셀값, 현재 픽셀 포인트의 원본 픽셀값 및 제1 필터링 오프셋값에 기초하여, 현재 픽셀 포인트의 개선된 픽셀값을 결정할 수 있다. 만약 현재 픽셀 포인트의 필터링된 픽셀값과 현재 픽셀 포인트의 원본 픽셀값 사이의 차이값이 제2 필터링 임계값보다 작으면, 현재 픽셀 포인트의 필터링된 픽셀값, 현재 픽셀 포인트의 원본 픽셀값 및 제2 필터링 오프셋값에 기초하여, 현재 픽셀 포인트의 개선된 픽셀값을 결정할 수 있다.
예컨대, 가 현재 픽셀 포인트의 원본 픽셀값을 나타내고, 가 현재 픽셀 포인트의 필터링된 픽셀값을 나타내며, 가 현재 픽셀 포인트의 개선된 픽셀값을 나타내고, 또한 이라고 가정한다.
이에 기초하여, 만약 이면, 이고; 만약 이면, 이다. 상술한 수학식 중, 는 제1 필터링 임계값을 나타낼 수 있고, 는 제1 필터링 오프셋값을 나타낼 수 있으며, 는 제2 필터링 임계값을 나타낼 수 있고, 는 제2 필터링 오프셋값을 나타낼 수 있으며, 는 일반적으로 로 설정하며, 기타 값일 수도 있고, clip(x)는 x를 기설정된 값 범위 내로 한정하는 것을 나타내며, 당해 범위 일반적으로 [0, ]이고, D는 픽처 비트 심도이며, 8비트 픽처에 대해, 범위가 [0, 255]이고, 10비트 픽처에 대해, 범위가 [0, 1023]이다.
증강 처리된 개선된 픽셀값이 픽셀값 범위를 초과하는 것을 피하기 위해, 개선된 픽셀값을 얻을 경우, Clip(클리핑) 조작을 통해 개선된 픽셀값을 기설정된 값 범위로 Clip할 수 있다. 개선된 픽셀값이 기설정된 값 범위의 상한보다 클 경우, 개선된 픽셀값을 기설정된 값 범위의 상한으로 설정하고; 개선된 픽셀값이 기설정된 값 범위의 하한보다 작을 경우, 개선된 픽셀값을 기설정된 값 범위의 하한으로 설정한다. 예를 들어 설명하면, 8비트 픽처를 예로 들면, 개선된 픽셀값이 0보다 작을 경우, 개선된 픽셀값을 0으로 설정하고; 개선된 픽셀값이 255보다 클 경우, 개선된 픽셀값을 255로 설정한다.
예시적으로, 단계 S34에 대해, 만약 참조 픽셀 포인트의 필터링된 픽셀값과 참조 픽셀 포인트의 원본 픽셀값 사이의 차이값이 제3 필터링 임계값보다 크면, 참조 픽셀 포인트의 필터링된 픽셀값, 참조 픽셀 포인트의 원본 픽셀값 및 제3 필터링 오프셋값에 기초하여, 참조 픽셀 포인트의 개선된 픽셀값을 결정할 수 있다. 만약 참조 픽셀 포인트의 필터링된 픽셀값과 참조 픽셀 포인트의 원본 픽셀값 사이의 차이값이 제4 필터링 임계값보다 작으면, 참조 픽셀 포인트의 필터링된 픽셀값, 참조 픽셀 포인트의 원본 픽셀값 및 제4 필터링 오프셋값에 기초하여, 참조 픽셀 포인트의 개선된 픽셀값을 결정할 수 있다. 참조 픽셀 포인트의 개선된 픽셀값의 결정 방식은 현재 픽셀 포인트의 개선된 픽셀값의 결정 방식과 유사하며, 여기서 더 이상 설명하지 않는다.
예시적으로, 제3 필터링 임계값과 제1 필터링 임계값은 동일할 수도 있고, 상이할 수도 있으며, 제3 필터링 오프셋값과 제1 필터링 오프셋값은 동일할 수도 있고, 상이할 수도 있으며, 제4 필터링 임계값과 제2 필터링 임계값은 동일할 수도 있고, 상이할 수 있으며, 제4 필터링 오프셋값과 제2 필터링 오프셋값은 동일할 수도 있고, 도 상이할 수 있다.
가능한 실시 방식에서, 디코더측에 대해, 하이-레벨 신택스로부터 현재 블록에 대응하는 제1 필터링 임계값, 제1 필터링 오프셋값, 제2 필터링 오프셋값, 제3 필터링 임계값, 제3 필터링 오프셋값 및 제4 필터링 오프셋값을 해석할 수 있다. 제1 필터링 임계값과 제2 필터링 임계값이 서로 반대수이고, 제3 필터링 임계값과 제4 필터링 임계값이 서로 반대수이기에, 디코더측은 제2 필터링 임계값 및 제4 필터링 임계값을 결정할 수 있다.
다른 가능한 실시 방식에서, 디코더측에 대해, 하이-레벨 신택스로부터 현재 블록에 대응하는 제1 필터링 임계값, 제1 필터링 오프셋값, 제2 필터링 오프셋값, 제4 필터링 임계값, 제3 필터링 오프셋값 및 제4 필터링 오프셋값을 해석할 수 있다. 제1 필터링 임계값과 제2 필터링 임계값이 서로 반대수이고, 제3 필터링 임계값과 제4 필터링 임계값이 서로 반대수이기에, 디코더측은 제2 필터링 임계값 및 제3 필터링 임계값을 결정할 수 있다.
다른 가능한 실시 방식에서, 디코더측에 대해, 하이-레벨 신택스로부터 현재 블록에 대응하는 제2 필터링 임계값, 제1 필터링 오프셋값, 제2 필터링 오프셋값, 제3 필터링 임계값, 제3 필터링 오프셋값 및 제4 필터링 오프셋값을 해석할 수 있다. 제1 필터링 임계값과 제2 필터링 임계값이 서로 반대수이고, 제3 필터링 임계값과 제4 필터링 임계값이 서로 반대수이기에, 디코더측은 제1 필터링 임계값 및 제4 필터링 임계값을 결정할 수 있다.
다른 가능한 실시 방식에서, 디코더측에 대해, 하이-레벨 신택스로부터 현재 블록에 대응하는 제2 필터링 임계값, 제1 필터링 오프셋값, 제2 필터링 오프셋값, 제4 필터링 임계값, 제3 필터링 오프셋값 및 제4 필터링 오프셋값을 해석할 수 있다. 제1 필터링 임계값과 제2 필터링 임계값이 서로 반대수이고, 제3 필터링 임계값과 제4 필터링 임계값이 서로 반대수이기에, 디코더측은 제1 필터링 임계값 및 제3 필터링 임계값을 결정할 수 있다.
다른 가능한 실시 방식에서, 디코더측에 대해, 하이-레벨 신택스로부터 현재 블록에 대응하는 제1 필터링 임계값(또는 제2 필터링 임계값, 또는 제3 필터링 임계값, 또는 제4 필터링 임계값, 즉 하나의 필터링 임계값을 통해 기타 3개 필터링 임계값을 유도할 수 있음), 제1 필터링 오프셋값(또는 제3 필터링 오프셋값) 및 제2 필터링 오프셋값(또는 제4 필터링 오프셋값)을 해석할 수 있다. 이 기초 상에, 제1 필터링 임계값과 제2 필터링 임계값이 서로 반대수이기에, 제2 필터링 임계값을 결정할 수 있다. 제1 필터링 임계값과 제3 필터링 임계값이 동일하기에, 제3 필터링 임계값을 결정할 수 있다. 제3 필터링 오프셋값과 제1 필터링 오프셋값이 동일하기에, 제3 필터링 오프셋값을 결정할 수 있다. 제4 필터링 오프셋값과 제2 필터링 오프셋값이 동일하기에, 제4 필터링 오프셋값을 결정할 수 있다. 제3 필터링 임계값과 제4 필터링 임계값이 서로 반대수이기에, 제4 필터링 임계값을 결정할 수 있다.
물론, 상술한 방식은 단지 몇 개 예시일 뿐, 이에 대해 한정하지 않는 바, 디코더측이 제1 필터링 임계값, 제2 필터링 임계값, 제3 필터링 임계값, 제4 필터링 임계값, 제1 필터링 오프셋값, 제2 필터링 오프셋값, 제3 필터링 오프셋값 및 제4 필터링 오프셋값을 획득할 수 있기만 하면 되는 바, 즉 상술한 각 값은 해석하여 얻거나 또는 유도하여 얻을 수 있다.
상술한 실시예 중, 하이-레벨 신택스는: SPS 레벨 하이-레벨 신택스; PPS 레벨 하이-레벨 신택스; 픽처 헤더 레벨 하이-레벨 신택스; 프레임 레벨 하이-레벨 신택스; 슬라이스 헤더 레벨 하이-레벨 신택스; CTU 레벨 하이-레벨 신택스; CU 레벨 하이-레벨 신택스 중 하나를 포함할 수 있으며 이에 한정되지 않는다. 물론, 상술한 내용은 단지 하이-레벨 신택스의 몇 개 예시일 뿐, 이 하이-레벨 신택스의 타입에 대해 한정하지 않으며, 하이-레벨 신택스를 통해 현재 블록에 대응하는 필터링 임계값 및 필터링 오프셋값을 휴대하기만 하면 된다.
상술한 실시예 중, 현재 블록 내의 현재 픽셀 포인트의 픽셀값은 휘도 컴포넌트 또는 색도 컴포넌트일 수 있다.
가능한 실시 방식에서, 증강된 필터링 모드 이네이블 플래그를 통해 증강된 필터링 모드를 이네이블하는 것을 허락하는지 여부를 나타내며, 만약 증강된 필터링 모드 이네이블 플래그가 현재 블록이 증강된 필터링 모드를 이네이블하는 것을 허락하면, 현재 블록 내의 현재 픽셀 포인트가 증강된 필터링 모드의 이네이블 조건을 충족하는지 여부를 결정할 필요가 있고, 만약 현재 픽셀 포인트가 증강된 필터링 모드의 이네이블 조건을 충족하면, 증강된 필터링 모드를 사용하여 현재 픽셀 포인트의 원본 픽셀값에 대해 개선을 수행한다. 만약 증강된 필터링 모드 이네이블 플래그가 현재 블록이 증강된 필터링 모드를 이네이블하는 것을 허락하지 않으면, 직접 현재 블록 내의 각 픽셀 포인트가 증강된 필터링 모드의 이네이블 조건을 충족하지 않는 것을 결정하고, 증강된 필터링 모드를 사용하여 현재 픽셀 포인트의 원본 픽셀값에 대해 개선을 수행하지 않는다. 이 기초 상에, 만약 현재 블록에 대응하는 증강된 필터링 모드 이네이블 플래그가 현재 블록이 증강된 필터링 모드를 이네이블하는 것을 허락하면, 현재 블록 내의 현재 픽셀 포인트가 증강된 필터링 모드의 이네이블 조건을 충족하는지 여부를 결정한다. 만약 현재 블록에 대응하는 증강된 필터링 모드 이네이블 플래그가 현재 블록이 증강된 필터링 모드를 이네이블하는 것을 허락하지 않으면, 현재 블록 내의 각 픽셀 포인트가 증강된 필터링 모드의 이네이블 조건을 충족하지 않는 것을 결정한다.
예시적으로, 디코더측에 대해, 하이-레벨 신택스로부터 현재 블록에 대응하는 증강된 필터링 모드 이네이블 플래그를 해석할 수 있다. 예컨대, 만약 당해 증강된 필터링 모드 이네이블 플래그가 제1 값(예컨대 1)이면 증강된 필터링 모드 이네이블 플래그가 현재 블록이 증강된 필터링 모드를 이네이블하는 것을 허락하는 것을 설명하고, 만약 당해 증강된 필터링 모드 이네이블 플래그가 제2 값(예컨대 0)이면 증강된 필터링 모드 이네이블 플래그가 현재 블록이 증강된 필터링 모드를 이네이블하는 것을 허락하지 않는 것을 설명한다.
상술한 실시예 중, 하이-레벨 신택스는: SPS 레벨 하이-레벨 신택스; PPS 레벨 하이-레벨 신택스; 픽처 헤더 레벨 하이-레벨 신택스; 프레임 레벨 하이-레벨 신택스; 슬라이스 헤더 레벨 하이-레벨 신택스; CTU 레벨 하이-레벨 신택스; CU 레벨 하이-레벨 신택스 중 하나를 포함할 수 있으며 이에 한정되지 않는다. 물론, 상술한 내용은 단지 하이-레벨 신택스의 몇 개 예시일 뿐, 이 하이-레벨 신택스의 타입에 대해 한정하지 않으며, 하이-레벨 신택스를 통해 현재 블록에 대응하는 증강된 필터링 모드 이네이블 플래그를 휴대할 수 있기만 하면 된다.
실시예 8: 일반적인 필터링 모드의 이네이블 조건을 충족할 경우, DBF 필터링 방식(즉 디블록킹 필터링 방식)을 이용하여 픽셀 포인트의 원본 픽셀값에 대해 디블록킹 필터링을 수행할 수 있기에, DBF 필터링은 수직 DBF 필터링 및 수평 DBF 필터링으로 나뉘며, 따라서, 아래와 같은 단계를 이용하여 픽셀 포인트의 원본 픽셀값에 대해 디블록킹 필터링 처리를 수행할 수 있다:
스텝 1: 원본 픽셀값 는 수직 DBF 필터링을 거쳐 필터링된 픽셀값 를 얻는다;
스텝 2: 픽셀값 는 수평 DBF 필터링을 거쳐 필터링된 픽셀값를 얻는다.
예시적으로, 만약 픽셀 포인트에 대해 수직 DBF 필터링만 수행하면, 스텝 1만 수행하여 픽셀 포인트의 필터링된 픽셀값을 얻는다. 만약 픽셀 포인트에 대해 수평 DBF 필터링만 수행하면, 스텝 2만 수행하여 픽셀 포인트의 필터링된 픽셀값을 얻고, 스텝 2의 픽셀값 를 픽셀 포인트의 원본 픽셀값으로 대체하면 된다. 만약 픽셀 포인트에 대해 먼저 수직 DBF 필터링을 수행하고, 후에 수평 DBF 필터링을 수행하면, 스텝 1 및 스텝 2를 순서대로 실행한다.
일반적인 필터링 모드의 이네이블 조건 및 증강된 필터링 모드의 이네이블 조건을 충족할 경우, DBF 필터링 방식(즉 디블록킹 필터링 방식)을 이용하여 픽셀 포인트의 원본 픽셀값에 대해 디블록킹 필터링을 수행하고, 또한 디블록킹 필터링 후의 필터링된 픽셀값에 대해 개선을 수행할 수 있으며, DBF 필터링이 수직 DBF 필터링 및 수평 DBF 필터링으로 나뉘며, 따라서, 아래와 같은 단계를 이용하여 픽셀 포인트의 원본 픽셀값에 대해 디블록킹 필터링 처리를 수행하고, 또한 디블록킹 필터링 후의 필터링된 픽셀값에 대해 개선을 수행한다:
스텝 1: 원본 픽셀값 는 수직 DBF 필터링을 거쳐 필터링된 픽셀값 를 얻는다;
스텝 2: 에 기초하여 개선된 픽셀값 를 획득한다;
스텝 3: 픽셀값 는 수평 DBF 필터링을 거쳐 필터링된 픽셀값 를 얻는다;
스텝 4: 에 기초하여 개선된 픽셀값 를 획득한다.
예시적으로, 만약 픽셀 포인트에 대해서만 수직 DBF 필터링을 수행하면, 스텝 1 및 스텝 2만 수행하여 픽셀 포인트의 개선된 픽셀값을 얻는다. 만약 픽셀 포인트에 대해서만 수평 DBF 필터링을 수행하면, 스텝 3 및 스텝 4만 수행하여 픽셀 포인트의 개선된 픽셀값을 얻고, 스텝 3의 픽셀값 를 픽셀 포인트의 원본 픽셀값으로 대체하면 된다. 만약 픽셀 포인트에 대해 먼저 수직 DBF 필터링을 수행하고, 후에 수평 DBF 필터링을 수행하면, 스텝 1, 스텝 2, 스텝 3 및 스텝 4를 순서대로 수행한다. 만약 픽셀 포인트에 대해 먼저 수평 DBF 필터링을 수행하고, 후에 수직 DBF 필터링을 수행하면, 수행 단계가 유사하며, 여기서 더 이상 설명하지 않는다.
예시적으로, 스텝 2 및 스텝 4에 대해, 증강된 필터링 모드의 이네이블 조건을 충족할 경우, 증강된 필터링 모드의 처리 과정을 이용, 필터링된 픽셀값에 대해 개선을 수행하여 개선된 픽셀값을 얻는다.
스텝 2에서, 이라고 가정할 경우, 만약 이면, 이고, 만약 이면, 이며, 그렇지 않으면, (일종의 실시예 중, 당해 경우 에 대해 필터링을 수행하여 를 얻을 수도 있는 바, 예컨대 )이다.
예시적으로, clip(x)는 x를 기설정된의 픽처값 범위 내로 한정하는 것을 나타내며, 당해 픽처값 범위는 일반적으로 [0, ]이고, D는 픽처 비트 심도이며, 따라서, 8비트 픽처에 대해, 당해 픽처값 범위는 [0, 255]일 수 있으며, 10비트 픽처에 대해, 당해 픽처값 범위는 [0, 1023]이다. 임계값 는 일반적으로 로 설정하며, 기타 값일 수도 있다.
유사하게, 스텝 2의 처리 과정과 유사하며, 스텝 4에서, 라고 가정할 경우, 만약 이면, 이고, 만약 이면, 이며, 그렇지 않으면, (일종의 실시예 중, 당해 경우는 에 대해 필터링을 수행하여 를 얻을 수 있는 바, 예컨대 )이며, 는 일반적으로 로 설정하며, 기타 값일 수도 있다.
상술한 실시예 중, Tv 및 NTv가 필터링 임계값이고, f0v, f1v 및 f2v가 필터링 오프셋값이며, clip(x)는 x를 기설정된 값 범위 내로 한정하는 것을 나타낸다. 예컨대, Tv가 상술한 제1 필터링 임계값 및 제3 필터링 임계값(제1 필터링 임계값 및 제3 필터링 임계값이 같은 것을 예로 듬)이고, NTv가 상술한 제2 필터링 임계값 및 제4 필터링 임계값(제2 필터링 임계값 및 제4 필터링 임계값이 같은 것을 예로 듬)이며, f0v가 상술한 제1 필터링 오프셋값 및 제3 필터링 오프셋값(제1 필터링 오프셋값 및 제3 필터링 오프셋값이 같은 것을 예로 듬)이고, f1v가 상술한 제2 필터링 오프셋값 및 제4 필터링 오프셋값(제2 필터링 오프셋값 및 제4 필터링 오프셋값이 같은 것을 예로 듬)이다. NTv=-Tv, 즉 Tv 및 NTv는 서로 반대수이다.
상술한 실시예 중, Th 및 NTh가 필터링 임계값이고, f0h, f1h 및 f2h가 필터링 오프셋값이며, clip(x)는 x를 기설정된 값 범위 내로 한정하는 것을 나타낸다. 예컨대, Th가 상술한 제1 필터링 임계값 및 제3 필터링 임계값(제1 필터링 임계값 및 제3 필터링 임계값이 같은 것을 예로 듬)이고, NTh가 상술한 제2 필터링 임계값 및 제4 필터링 임계값(제2 필터링 임계값 및 제4 필터링 임계값이 같은 것을 예로 듬)이며, f0h가 상술한 제1 필터링 오프셋값 및 제3 필터링 오프셋값(제1 필터링 오프셋값 및 제3 필터링 오프셋값이 같은 것을 예로 듬)이고, f1h가 상술한 제2 필터링 오프셋값 및 제4 필터링 오프셋값(제2 필터링 오프셋값 및 제4 필터링 오프셋값이 같은 것을 예로 듬)이다. NTh=-Th, 즉 Th 및 NTh는 서로 반대수이다.
실시예 9: DBF 중, 단지 하나의 기설정된 규칙에 기반하여 필터링을 수행하면, 오버 필터링(over filtering) 또는 언더 필터링(underfiltering)의 경우가 존재할 수 있다. 예를 들면, 만약 DBF를 수행하기 전의 재구축값이 Y1이고, DBF필터링 후의 픽셀값이 Y2이면, Y2-Y1에 기초하여 분류를 수행할 수 있다. 필터링 잔차에 기초한 분류의 장점은, 일부 오버 필터링 또는 의사 필터링된(pseudo-filtered) 픽셀값에 대해 특수 증강을 수행하여, 이러한 카테고리의 픽셀이 원본 값에 더 근접하는 효과를 구현할 수 있는 것이다. 오버 필터링이란, Y2가 Y1보다 훨씬 커서(또는 훨씬 작음), Y2가 원본 픽셀값보다 훨씬 큰(또는 훨씬 작음) 것을 가리킨다. 의사 필터링이란, Y2-Y1이 0인 것을 가리키거나, 또는 0에 근접함을 의미하는 바, 즉 이러한 픽셀값이 오버 필터링을 거친 후 여전히 기존값을 유지하여, 필터링 효과에 달하지 못하는 것을 가리킨다. 상술한 발견에 대해, 본 실시예 중, 증강된 개선 모드를 이용하여 픽셀 포인트의 픽셀값에 대해 개선을 수행, 다시 말해서, 만약 현재 블록 내의 현재 픽셀 포인트에 대해 증강된 개선 모드를 이네이블하면, 증강된 개선 모드를 이용하여 픽셀 포인트의 원본 픽셀값에 대해 개선을 수행할 수 있으며, 더 이상 일반적인 필터링 모드 또는 증강된 필터링 모드를 사용하여 픽셀 포인트의 원본 픽셀값에 대해 개선을 수행하지 않는다.
가능한 실시 방식에서, 원본 픽셀값의 개선 과정은 이하 단계를 포함할 수 있다:
스텝 1: 원본 픽셀값 는 수직 DBF 필터링을 거쳐 필터링된 픽셀값 를 얻는다;
스텝 2: 에 기초하여 개선된 픽셀값 를 획득한다;
스텝 3: 픽셀값 는 수평 DBF 필터링을 거쳐 필터링된 픽셀값 를 얻는다;
스텝 4: 에 기초하여 개선된 픽셀값 을 획득한다.
스텝 2 중, 아래와 같은 두 가지 경우, 이 임계값보다 작지 않은 경우가 존재하는 바, 만약 이면, 이하 두 가지 경우, 즉 BS가 0이다 및 BS가 0보다 큰 경우로 나눌 수 있다. 예시적으로, 당해 임계값이 상술한 실시예의 제1 필터링 임계값 또는 제2 필터링 임계값일 수 있는 바, 예컨대, 제1 필터링 임계값 및 제2 필터링 임계값이 서로 반대수일 경우, 만약 제1 필터링 임계값이 양의 값이면, 당해 임계값이 제1 필터링 임계값일 수 있고, 만약 제2 필터링 임계값이 양의 값이면, 당해 임계값이 제2 필터링 임계값일 수 있다.
상술한 내용을 요약하면, 원본 픽셀값의 개선 과정을 아래와 같은 세 가지 경우로 나눌 수 있다:
경우 1, BS가 0이며, 이때 필터링을 수행하지 않지만(즉 와 같고, 원본 픽셀값 에 대해 수직 DBF 필터링을 수행하지 않는 것에 해당하는 바, 즉 스텝 1을 수행하지 않음), 증강된 개선 모드를 이용하여 원본 픽셀값 에 대해 개선을 수행하여 개선된 픽셀값을 얻을 수 있다.
경우 2, BS가 0보다 크지만, 이면, 이때 필터링을 수행(즉 원본 픽셀값 에 대해 수직 DBF 필터링을 수행할 수도 있는 바, 즉 스텝 1을 수행)할 수 있다. 스텝 1을 수행한 기초 상에, 증강된 필터링 모드를 이용하여 필터링된 픽셀값 에 대해 개선을 수행하여 픽셀 포인트의 개선된 픽셀값 를 얻을 수도 있다.
경우 3, BS가 0보다 크지만, 임계값보다 작지 않으며, 이때 필터링을 수행(즉 원본 픽셀값에 대해 수직 DBF 필터링을 수행할 수도 있는 바, 즉 스텝 1을 수행)할 수 있다. 스텝 1을 수행한 기초 상에, 더 이상 증강된 필터링 모드를 사용하여 필터링된 픽셀값 에 대해 개선을 수행하지 않는 바, 즉 스텝 2를 더 이상 수행하지 않는 바, 다시 말해서, 이다.
스텝 4에서, 아래와 같은 두 가지 경우, abs(Y4(i)-Y3(i))<임계값 및 abs(Y4(i)-Y3(i))가 임계값보다 작지 않은 경우가 존재하는 바, 만약 abs(Y4(i)-Y3(i))<임계값이면, 추가로 이하 두 가지 경우, 즉 BS가 0인 경우 및 BS가 0보다 큰 경우로 나눌 수 있다.
상술한 내용을 요약하면, 원본 픽셀값의 개선 과정을 아래와 같은 세 가지 경우로 나눌 수 있다:
경우 1, BS가 0이며, 이때 필터링을 수행하지 않지만(즉 와 동일하며, 원본 픽셀값 에 대해 수평 DBF 필터링을 수행하지 않는 것, 즉 스텝 3을 수행하지 않는 것에 해당함), 증강된 개선 모드를 이용하여 원본 픽셀값 에 대해 개선을 수행하여 개선된 픽셀값을 얻을 수 있다.
경우 2, BS가 0보다 크지만, abs(Y4(i)-Y3(i))<임계값이고, 이때 필터링을 수행(즉 원본 픽셀값 에 대해 수평 DBF 필터링을 수행, 즉 스텝 3을 수행)할 수 있으며, 스텝 3을 수행한 기초 상에, 또한 증강된 필터링 모드를 이용하여 픽셀 포인트의 필터링된 픽셀값 에 대해 개선을 수행하여 픽셀 포인트의 개선된 픽셀값 를 얻을 수 있다.
경우 3, BS가 0보다 크지만, abs(Y4(i)-Y3(i))가 임계값보다 작지 않고, 이때 필터링을 수행(즉 원본 픽셀값 에 대해 수평 DBF 필터링을 수행, 즉 스텝 3을 수행)할 수 있다. 스텝 3을 수행한 기초 상에, 더 이상 증강된 필터링 모드를 사용하여 필터링된 픽셀값 에 대해 개선을 수행하지 않는 바, 즉 스텝 4를 수행하지 않는 바, 다시 말해서, 이다.
상술한 내용을 요약하면, 만약 BS가 0이면, 증강된 개선 모드를 이용하여 처리를 수행, 즉 필터링 처리를 수행하지 않을 수 있는 바, 다시 말해서, 이고, 또한 이며, 이 기초 상에, 증강된 개선 모드를 이용하여 에 대해 개선을 수행할 수 있고, 또한 증강된 개선 모드를 이용하여 에 대해 개선을 수행할 수 있으며, 따라서, 아래와 같은 단계를 이용하여 DBF 필터링 처리를 수행할 수 있다:
스텝 1: 원본 픽셀값 는 수직 DBF 필터링을 거쳐 필터링된 픽셀값 를 얻는다.
스텝 2: 만약 BS가 0이면, 증강된 개선 모드를 통해 에 대해 개선을 수행하여 개선된 픽셀값 를 얻는다. 만약 BS가 0보다 크고, 또한 증강된 필터링 모드를 이네이블하고, 에 기초하여 개선된 픽셀값 를 획득하며, 실시예 8의 스텝 2를 참조한다. 만약 BS가 0보다 크고, 또한 가 임계값보다 작지 않으면, 일반적인 필터링 모드를 이네이블하고, 더 이상 필터링된 픽셀값 에 대해 개선을 수행하지 않는 바, 즉, 이다.
예시적으로, 만약 BS가 0이면, 실제로 스텝 1을 수행하지 않는 바, 즉 필터링된 픽셀값 를 얻을 필요가 없다.
스텝 3: 픽셀값 는 수평 DBF 필터링을 거쳐 필터링된 픽셀값를 얻는다.
스텝 4: 만약 BS가 0이면, 증강된 개선 모드를 통해 에 대해 개선을 수행하여 개선된 픽셀값 를 얻는다. 만약 BS가 0보다 크고, 또한 abs(Y4(i)-Y3(i))<임계값이면, 증강된 필터링 모드를 이네이블하고, 에 기초하여 개선된 픽셀값 를 획득하며, 실시예 8의 스텝 4를 참조한다. 만약 BS가 0보다 크고, 또한 abs(Y4(i)-Y3(i))가 임계값보다 작지 않으면, 일반적인 필터링 모드를 이네이블하고, 더 이상 필터링된 픽셀값 에 대해 개선을 수행하지 않는 바, 즉, 이다.
예시적으로, 만약 BS가 0이면, 실제로 스텝 3을 수행하지 않는 바, 즉 필터링된 픽셀값 를 얻을 필요가 없다.
다른 일 가능한 실시 방식에서, 만약 BS가 0보다 크면, 필터링 처리를 수행하며, 필터링 처리 후 증강된 필터링 모드를 이용하여 처리를 수행하는 바, 아래와 같은 단계를 이용하여 DBF 필터링 처리를 수행할 수 있다:
스텝 1: 원본 픽셀값 은 수직 DBF 필터링을 거쳐 필터링된 픽셀값 를 얻는다.
스텝 2: 만약 BS가 0보다 크지만, 에 대해 수직 DBF 필터링을 수행한 후, 여전히 을 충족하면, 증강된 필터링 모드를 통해 개선된 픽셀값 을 획득하는 바, 예컨대, 에 보상값을 추가하는 것을 통해 획득한다. 그렇지 않으면, 만약 이 임계값보다 작지 않으면, 이다.
스텝 3: 픽셀값는 수평 DBF 필터링을 거쳐 필터링된 픽셀값를 얻는다.
스텝 4: 만약 BS가 0보다 크지만, 에 대해 수평 DBF 필터링을 수행한 후, 여전히 증강된 필터링 모드를 통해 개선된 픽셀값 를 획득하는 바, 예컨대, 에 보상값을 추가하는 것을 통해 획득한다. 그렇지 않으면, 만약 abs(Y4(i)-Y3(i)) 임계값보다 작지 않으면, 이다.
실시예 10: 실시예 9에 대해, 만약 BS가 0이면, 증강된 개선 모드를 통해 에 대해 개선을 수행하여 개선된 픽셀값 를 얻고, 구체적인 개선 과정은 아래와 같은 단계를 참조한다. 만약 BS가 0이면, 증강된 개선 모드를 통해 에 대해 개선을 수행하여 개선된 픽셀값 를 얻고, 당해 과정은 개선된 픽셀값 를 얻는 과정과 유사하며, 여기서 더 이상 설명하지 않는다.
먼저, 의 기울기값을 결정하며, 는 현재 픽셀 포인트의 원본 픽셀값일 수 있고, 참조 픽셀 포인트의 원본 픽셀값일 수도 있다. 수직 경계에 대해, 의 수평 기울기값 를 계산할 수 있으며; 수평 경계에 대해, 의 수직 기울기값 를 계산할 수 있다. 예컨대, pi 및 qi가 각각 현재 픽셀 포인트의 원본 픽셀값 및 참조 픽셀 포인트의 원본 픽셀값(에 대응함)이라고 가정할 경우, 현재 픽셀 포인트의 원본 픽셀값 pi의 기울기값 DP0: DP0 = (pi - qi + 2) >> 2를 계산하고, 참조 픽셀 포인트의 원본 픽셀값 Qi의 기울기값 DQ0: DQ0 = (qi - pi + 2)>>2를 계산한다.
다음에, 의 크기에 기초하여, 보상 개선을 수행하여 를 얻는다. 예컨대, 아래와 같은 방식을 이용하여 현재 픽셀 포인트의 원본 픽셀값 pi에 대응하는 개선된 픽셀값 Pi를 결정한다: 만약 DPi > alt_dbr_th이면, Pi=clip(pi+ alt_dbr_offset0)이고; 만약 DPi <-alt_dbr_th이면, Pi=clip(pi+ alt_dbr_offset1)이며, i는 0, 1, 2 등이다. 아래와 같은 방식을 이용하여 참조 픽셀 포인트의 원본 픽셀값 Qi에 대응하는 개선된 픽셀값 Qi를 결정한다: 만약 DQi > alt_dbr_th이면, Qi=clip(qi+ alt_dbr_offset0)이고; 만약 DQi<-alt_dbr_th이면, Qi=clip(qi+ alt_dbr_offset1)이며, i가 0, 1, 2이다.
상술한 수학식 중, alt_dbr_th는 제1 개선 임계값 및 제3 개선 임계값(제3 개선 임계값과 제1 개선 임계값이 같은 것을 예로 듬)을 나타내고, alt_dbr_offset0은 제1 개선 오프셋값 및 제3 개선 오프셋값(제3 개선 오프셋값과 제1 개선 오프셋값이 같은 것을 예로 듬)을 나타내며, alt_dbr_offset1은 제2 개선 오프셋값 및 제4 개선 오프셋값(제4 개선 오프셋값과 제2 개선 오프셋값이 같은 것을 예로 듬)을 나타내고, -alt_dbr_th는 제2 개선 임계값 및 제4 개선 임계값(제4 개선 임계값과 제2 개선 임계값이 같은 것을 예로 듬)을 나타내며, 또한 -alt_dbr_th와 alt_dbr_th는 서로 반대수이다.
실시예 11: 하이-레벨 신택스(예컨대 SPS 레벨 하이-레벨 신택스)를 통해 증강된 개선 모드의 이네이블을 제어한다. 예컨대, 시퀀스 헤더로부터 플래그 adbr_enable_flag를 인코딩/디코딩하는 바, 즉 인코더측 시퀀스 헤더로부터 플래그 adbr_enable_flag를 인코딩하고, 디코더측이 시퀀스 헤더로부터 플래그 adbr_enable_flag를 디코딩한다. adbr_enable_flag가 이진 변수이고, 값이 '1'이면 증강된 개선 모드 사용 가능함을 나타내고, 값이 '0'이면 증강된 개선 모드를 사용하지 말아야 함을 나타낸다. AdbrEnableFlag의 값이 adbr_enable_flag와 같고, 만약 비트 스트림에 adbr_enable_flag가 존재하지 않으면, AdbrEnableFlag의 값이 0이다.
상술한 내용을 요약하면, 디코더측에 대해, 하이-레벨 신택스로부터 현재 블록에 대응하는 증강된 개선 모드 이네이블 플래그(즉 AdbrEnableFlag)를 해석할 수 있고, 만약 당해 증강된 개선 모드 이네이블 플래그가 1이면, 증강된 개선 모드 이네이블 플래그가 현재 블록이 증강된 개선 모드를 이네이블하는 것을 허락하는 것을 설명하고, 만약 당해 증강된 개선 모드 이네이블 플래그가 0이면, 증강된 개선 모드 이네이블 플래그가 현재 블록이 증강된 개선 모드를 이네이블하는 것을 허락하지 않는 것을 설명한다.
실시예 12: 하이-레벨 신택스(예컨대 SPS 레벨 하이-레벨 신택스)를 통해 동시에 증강된 필터링 모드의 이네이블 및 증강된 개선 모드의 이네이블을 제어한다. 예컨대, 헤더에서 플래그 dbr_enable_flag를 인코딩/디코딩하는 바, 즉 인코더측이 시퀀스 헤더로부터 플래그dbr_enable_flag를 인코딩하고, 디코더측이 시퀀스 헤더로부터 플래그 dbr_enable_flag를 디코딩한다.
dbr_enable_flag가 이진 변수이고, 값 '1'은 증강된 필터링 모드 및 증강된 개선 모드를 이네이블하는 것을 허락하는 것을 나타내고, 값 '0'은 증강된 필터링 모드 및 증강된 개선 모드를 이네이블하는 것을 허락하지 않는 것을 나타낸다. DbrEnableFlag의 값이 dbr_enable_flag와 같고, 만약 비트 스트림에 dbr_enable_flag가 존재하지 않으면, DbrEnableFlag의 값이 0이다.
상술한 내용을 요약하면, 디코더측에 대해, 하이-레벨 신택스로부터 현재 블록에 대응하는 증강된 필터링 모드 이네이블 플래그 및 증강된 개선 모드 이네이블 플래그(즉 DbrEnableFlag, 다시 말해서DbrEnableFlag동시에을 증강된 필터링 모드 이네이블 플래그 및 증강된 개선 모드 이네이블 플래그로 이용함)를 해석할 수 있고, 만약 DbrEnableFlag가 1이면, 현재 블록이 증강된 필터링 모드 및 증강된 개선 모드를 이네이블하는 것을 허락하는 것을 설명하고, 만약 DbrEnableFlag가 0이면, 가 현재 블록이 증강된 필터링 모드 및 증강된 개선 모드를 이네이블하는 것을 허락하는지 않는 것을 설명한다.
실시예 13: 하이-레벨 신택스(예컨대 픽처 헤더 하이-레벨 신택스)의 일종의 표현은 표 1을 참조할 수 있는 바, 예컨대, 픽처 헤더에서 표 1에 도시된 신택스를 인코딩/디코딩한다. 즉, 인코더측이 픽처 헤더에서 표 1에 도시된 신택스를 인코딩하고, 디코더측 픽처 헤더로부터 표 1에 도시된 신택스를 디코딩한다.
picture_dbr_v_enable_flag
if (PictureDbrVEnableFlag) {
dbr_v_threshold_minus1
dbr_v_offset0_minus1
dbr_v_ offset1_minus1
dbr_v_alt_offset0_minus1
dbr_v_alt_offset1_minus1
}
picture_dbr_h_enable_flag
if (PictureDbrHEnableFlag) {
dbr_h_threshold_minus1
dbr_h_offset0_minus1
dbr_h_ offset1_minus1
dbr_v_alt_offset0_minus1
dbr_v_alt_offset1_minus1
}
표 1에서, 신택스와 관련된 의미는 아래와 같다:
픽처 레벨 디블록킹 필터링 수직 개선 이네이블 플래그 picture_dbr_v_enable_flag, picture_dbr_v_enable_flag는 이진 변수이고, 값 '1'은 현재 픽처가 디블록킹 필터링 수직 개선을 이네이블하는 것을 허락하는 것을 나타내고, 값 '0'은 현재 픽처가 디블록킹 필터링 수직 개선을 이네이블하는 것을 허락하지 않는 것을 나타낸다. PictureDbrVEnableFlag의 값이 picture_dbr_v_enable_flag의 값과 같고, 만약 비트 스트림에 picture_dbr_v_enable_flag가 존재하지 않으면, PhDbrVEnableFlag의 값이 0이다.
예시적으로, 증강된 개선 모드에 대해, PictureDbrVEnableFlag는 증강된 개선 모드 이네이블 플래그에 대응하고, 이는 수직 DBF 필터링에 대한 증강된 개선 모드 이네이블 플래그이다. 즉, 수직 DBF 필터링을 수행할 필요가 있을 경우, PictureDbrVEnableFlag는 증강된 개선 모드를 이네이블하는 것을 허락하는 것을 나타내거나, 또는 증강된 개선 모드를 이네이블하는 것을 허락하지 않는 것을 나타낸다.
예시적으로, 증강된 필터링 모드에 대해, PictureDbrVEnableFlag는 증강된 필터링 모드 이네이블 플래그에 대응하고, 이는 수직 DBF 필터링에 대한 증강된 필터링 모드 이네이블 플래그이다. 즉, 수직 DBF 필터링을 수행할 필요가 있을 경우, PictureDbrVEnableFlag는 증강된 필터링 모드를 이네이블하는 것을 허락하는 것을 나타내거나, 또는 증강된 필터링 모드를 이네이블하는 것을 허락하지 않는 것을 나타낸다.
상술한 내용을 요약하면, PictureDbrVEnableFlag는 수직 DBF 필터링에 대한 증강된 개선 모드 이네이블 플래그 및 수직 DBF 필터링에 대한 증강된 필터링 모드 이네이블 플래그를 나타낼 수 있는 바, 다시 말해서, 증강된 개선 모드 이네이블 플래그 및 증강된 필터링 모드 이네이블 플래그는 동일한 플래그를 사용하는 바, 즉, 현재 픽처는 동시에 증강된 개선 모드 및 증강된 필터링 모드를 이네이블하는 것을 허락하거나, 또는, 현재 픽처가 동시에 증강된 개선 모드 및 증강된 필터링 모드를 이네이블하는 것을 허락하지 않는다.
디블록킹 필터링 수직 개선 임계값 dbr_v_threshold_minus1, dbr_v_threshold_minus1는 현재 픽처 디블록킹 필터링 수직 개선의 임계값을 결정하는 데에 사용되고, 값 범위는 0 내지 1이다. DbrVThreshold의 값이 dbr_v_threshold_minus1의 값에 1을 더한 것과 같고, 만약 비트 스트림에 dbr_v_threshold_minus1가 존재하지 않으면, DbrVThreshold의 값이 0이다.
예시적으로, 증강된 개선 모드에 대해, DbrVThreshold은 제1 개선 임계값(제3 개선 임계값과 제1 개선 임계값이 같은 것을 예로 듬)에 대응하고, 수직 DBF 필터링에 대한 제1 개선 임계값이다. 즉, 수직 DBF 필터링을 수행할 필요가 있을 경우, DbrVThreshold는 상술한 실시예의 제1 개선 임계값을 나타낸다. 또한, 상술한 실시예의 제2 개선 임계값(제4 개선 임계값과 제2 개선 임계값이 같은 것을 예로 듬)과 제1 개선 임계값이 서로 반대수이기에, DbrVThreshold에 기초하여 제2 개선 임계값을 결정할 수도 있다.
예시적으로, 증강된 필터링 모드에 대해, DbrVThreshold은 제1 필터링 임계값(제3 필터링 임계값과 제1 필터링 임계값이 동일한 것을 예로 듬)에 대응하고, 수직 DBF 필터링에 대한 제1 필터링 임계값이다. 즉, 수직 DBF 필터링을 수행할 필요가 있을 경우, DbrVThreshold는 상술한 실시예의 제1 필터링 임계값을 나타낸다. 또한, 상술한 실시예의 제2 필터링 임계값(제4 필터링 임계값과 제2 필터링 임계값이 동일한 것을 예로 듬)과 제1 필터링 임계값이 서로 반대수이기에, DbrVThreshold에 기초하여 제2 필터링 임계값을 결정할 수도 있다.
상술한 내용을 요약하면, DbrVThreshold는 수직 DBF 필터링에 대한 제1 개선 임계값 및 제1 필터링 임계값을 나타낼 수 있는 바, 다시 말해서, 제1 개선 임계값 및 제1 필터링 임계값은 동일하며, 양자는 동일한 값이다.
디블록킹 필터링 수직 개선 오프셋값 0(dbr_v_offset0_minus1), 이는 현재 픽처 디블록킹 필터링 수직 개선의 오프셋값 0을 결정하는 데에 사용되며, 값 범위는 0 내지 3이다. DbrVOffset0의 값이 dbr_v_offset0_minus1의 값에 1을 더한 후 다시 반대수를 취하여 얻은 음의 값과 동일하고, 만약 비트 스트림에 dbr_v_offset0_minus1이 존재하지 않으면, DbrVOffset0의 값이 0이다.
예시적으로, 증강된 필터링 모드에 대해, DbrVOffset0은 제1 필터링 오프셋값(제3 필터링 오프셋값과 제1 필터링 오프셋값이 같은 것을 예로 듬)에 대응하고, 수직 DBF 필터링에 대한 제1 필터링 오프셋값인 바, 즉, 수직 DBF 필터링을 수행할 필요가 있을 경우, DbrVOffset0은 상술한 실시예의 제1 필터링 오프셋값을 나타낸다.
디블록킹 필터링 수직 개선 오프셋값 1(dbr_v_offset1_minus1), 이는 현재 픽처 디블록킹 필터링 수직 개선의 오프셋값 1을 결정하는 데에 사용되며, 값 범위는 0 내지 3일 수 있다. DbrVOffset1의 값이 dbr_v_offset1_minus1의 값에 1을 더한 것과 같다. 만약 비트 스트림에 dbr_v_offset1_minus1이 존재하지 않으면, DbrVOffset1의 값이 0이다.
예시적으로, 증강된 필터링 모드에 대해, DbrVOffset1은 제2 필터링 오프셋값(제4 필터링 오프셋값과 제2 필터링 오프셋값이 같은 것을 예로 듬)에 대응하고, 수직 DBF 필터링에 대한 제2 필터링 오프셋값인 바, 즉, 수직 DBF 필터링을 수행할 필요가 있을 경우, DbrVOffset1은 상술한 실시예의 제2 필터링 오프셋값을 나타낸다.
증강된 디블록킹 필터링 수직 개선 오프셋값 0(dbr_v_alt_offset0_minus1), dbr_v_alt_offset0_minus1은 현재 픽처 디블록킹 필터링 BS가 0일 때의 수직 개선의 오프셋값 0을 결정하는 데에 사용되고, dbr_v_alt_offset0_minus1의 값 범위는 0 내지 3일 수 있다. DbrVAltOffset0의 값은 dbr_v_alt_offset0_minus1의 값에 1을 더한 후 다시 반대수를 취하여 얻은 음의 값과 같을 수 있고, 만약 비트 스트림에 dbr_v_alt_offset0_minus1이 존재하지 않으면, DbrVAltOffset0의 값이 0이다.
예시적으로, 증강된 개선 모드에 대해, DbrVAltOffset0은 제1 개선 오프셋값(제3 개선 오프셋값과 제1 개선 오프셋값이 같은 것을 예로 듬)에 대응하고, 수직 DBF 필터링에 대한 제1 개선 오프셋값인 바, 즉, 수직 DBF 필터링을 수행할 경우, DbrVAltOffset0은 상술한 실시예의 제1 개선 오프셋값을 나타낸다.
증강된 디블록킹 필터링 수직 개선 오프셋값 1(dbr_v_alt_offset1_minus1), dbr_v_alt_offset1_minus1은 현재 픽처 디블록킹 필터링 BS가 0일 때의 수직 개선의 오프셋값 1을 결정하는 데에 사용되고, dbr_v_alt_offset1_minus1의 값 범위는 0 내지 3일 수 있다. 여기서, DbrVAltOffset1의 값이 dbr_v_alt_offset1_minus1의 값에 1을 더한 것과 같고, 만약 비트 스트림에 dbr_v_alt_offset1_minus1이 존재하지 않으면, DbrVAltOffset1의 값이 0이다.
예시적으로, 증강된 개선 모드에 대해, DbrVAltOffset1은 제2 개선 오프셋값(제4 개선 오프셋값과 제2 개선 오프셋값이 같은 것을 예로 듬)에 대응하고, 수직 DBF 필터링에 대한 제2 개선 오프셋값인 바, 즉, 수직 DBF 필터링을 수행할 경우, DbrVAltOffset1은 상술한 실시예의 제2 개선 오프셋값을 나타낸다.
픽처 레벨 디블록킹 필터링 수평 개선 이네이블 플래그 picture_dbr_h_enable_flag, picture_dbr_h_enable_flag는 이진 변수이고, 값 '1'은 현재 픽처가 디블록킹 필터링 수평 개선을 이네이블하는 것을 허락하는 것을 나타내고, 값 '0'은 현재 픽처가 디블록킹 필터링 수평 개선을 이네이블하는 것을 허락하지 않는 것을 나타낸다. PhDbrHEnableFlag의 값이 picture_dbr_h_enable_flag의 값과 같고, 만약 비트 스트림에 picture_dbr_h_enable_flag가 존재하지 않으면, PhDbrHEnableFlag의 값이 0이다.
예시적으로, 증강된 개선 모드에 대해, PhDbrHEnableFlag는 증강된 개선 모드 이네이블 플래그에 대응하고, 수평 DBF 필터링에 대한 증강된 개선 모드 이네이블 플래그이다. 즉, 수평 DBF 필터링을 수행할 필요가 있을 경우, PhDbrHEnableFlag는 증강된 개선 모드를 이네이블하는 것을 허락하는 것을 나타내거나, 또는 증강된 개선 모드를 이네이블하는 것을 허락하지 않는 것을 나타낸다.
예시적으로, 증강된 필터링 모드에 대해, PhDbrHEnableFlag는 증강된 필터링 모드 이네이블 플래그에 대응하고, 수평 DBF 필터링에 대한 증강된 필터링 모드 이네이블 플래그이다. 즉, 수평 DBF 필터링을 수행할 필요가 있을 경우, PhDbrHEnableFlag는 증강된 필터링 모드를 이네이블하는 것을 허락하는 것을 나타내거나, 또는 증강된 필터링 모드를 이네이블하는 것을 허락하지 않는 것을 나타낸다.
상술한 내용을 요약하면, PhDbrHEnableFlag는 수평 DBF 필터링에 대한 증강된 개선 모드 이네이블 플래그 및 수평 DBF 필터링에 대한 증강된 필터링 모드 이네이블 플래그를 나타낼 수 있는 바, 다시 말해서, 증강된 개선 모드 이네이블 플래그 및 증강된 필터링 모드 이네이블 플래그는 동일한 플래그를 사용하는 바, 즉, 현재 픽처는 동시에 증강된 개선 모드 및 증강된 필터링 모드를 이네이블하는 것을 허락하거나, 또는, 현재 픽처가 동시에 증강된 개선 모드 및 증강된 필터링 모드를 이네이블하는 것을 허락하지 않는다.
디블록킹 필터링 수평 개선 임계값 Dbr_h_threshold_minus1, dbr_h_threshold_minus1은 현재 픽처 디블록킹 필터링 수평 개선의 임계값을 결정하는 데에 사용되고, 값 범위는 0 내지 1이다. DbrHThreshold의 값이 dbr_h_threshold_minus1의 값에 1을 더한 것과 같고, 만약 비트 스트림에 dbr_h_threshold_minus1이 존재하지 않으면, DbrHThreshold의 값이 0이다.
예시적으로, 증강된 개선 모드에 대해, DbrHThreshold는 제1 개선 임계값(제3 개선 임계값과 제1 개선 임계값이 같은 것을 예로 듬)에 대응하고, 수평 DBF 필터링에 대한 제1 개선 임계값이다. 즉, 수평 DBF 필터링을 수행할 필요가 있을 경우, DbrHThreshold는 상술한 실시예의 제1 개선 임계값을 나타낸다. 또한, 상술한 실시예의 제2 개선 임계값(제4 개선 임계값과 제2 개선 임계값이 같은 것을 예로 듬)과 제1 개선 임계값이 서로 반대수이기에, DbrHThreshold에 기초하여 제2 개선 임계값을 결정할 수도 있다.
예시적으로, 증강된 필터링 모드에 대해, DbrHThreshold는 제1 필터링 임계값(제3 필터링 임계값과 제1 필터링 임계값이 동일한 것을 예로 듬)에 대응하고, 수평 DBF 필터링에 대한 제1 필터링 임계값이다. 즉, 수평 DBF 필터링을 수행할 필요가 있을 경우, DbrHThreshold는 상술한 실시예의 제1 필터링 임계값을 나타낸다. 또한, 상술한 실시예의 제2 필터링 임계값(제4 필터링 임계값과 제2 필터링 임계값이 동일한 것을 예로 듬)과 제1 필터링 임계값이 서로 반대수이기에, DbrHThreshold에 기초하여 제2 필터링 임계값을 결정할 수도 있다.
상술한 내용을 요약하면, DbrHThreshold는 수평 DBF 필터링에 대한 제1 개선 임계값 및 제1 필터링 임계값을 나타낼 수 있는 바, 다시 말해서, 제1 개선 임계값 및 제1 필터링 임계값은 동일하며, 양자는 동일한 값이다.
디블록킹 필터링 수평 개선 오프셋값 0(dbr_h_offset0_minus1), 이는 현재 픽처 디블록킹 필터링 수평 개선의 오프셋값 0을 결정하는 데에 사용되고, 값 범위는 0 내지 3이다. DbrHOffset0의 값이 dbr_h_offset0_minus1의 값에 1을 더한 후 다시 반대수를 취하여 얻은 음의 값과 동일하고, 만약 비트 스트림에 dbr_h_offset0_minus1이 존재하지 않으면, DbrHOffset0의 값이 0이다.
예시적으로, 증강된 필터링 모드에 대해, DbrHOffset0은 제1 필터링 오프셋값(제3 필터링 오프셋값과 제1 필터링 오프셋값이 같은 것을 예로 듬)에 대응하고, 수평 DBF 필터링에 대한 제1 필터링 오프셋값인 바, 즉, 수평 DBF 필터링을 수행할 필요가 있을 경우, DbrHOffset0은 상술한 실시예의 제1 필터링 오프셋값을 나타낸다.
디블록킹 필터링 수평 개선 오프셋값 1(dbr_h_offset1_minus1), 이는 현재 픽처 디블록킹 필터링 수평 개선의 오프셋값 1을 결정하는 데에 사용되고, 값 범위는 0 내지 3일 수 있다. DbrHOffset1의 값이 dbr_h_offset1_minus1의 값에 1을 더한 것과 같다. 만약 비트 스트림에 dbr_h_offset1_minus1이 존재하지 않으면, DbrHOffset1의 값이 0이다.
예시적으로, 증강된 필터링 모드에 대해, DbrHOffset1은 제2 필터링 오프셋값(제4 필터링 오프셋값과 제2 필터링 오프셋값이 같은 것을 예로 듬)에 대응하고, 수평 DBF 필터링에 대한 제2 필터링 오프셋값인 바, 즉, 수평 DBF 필터링을 수행할 필요가 있을 경우, DbrHOffset1은 상술한 실시예의 제2 필터링 오프셋값을 나타낸다.
증강된 디블록킹 필터링 수평 개선 오프셋값 0(dbr_h_alt_offset0_minus1), dbr_h_alt_offset0_minus1은 현재 픽처 디블록킹 필터링 BS가 0일 때의 수평 개선의 오프셋값 0을 결정하는 데에 사용되고, dbr_h_alt_offset0_minus1의 값 범위는 0 내지 3일 수 있다. DbrHAltOffset0의 값은 dbr_h_alt_offset0_minus1의 값에 1을 더한 후 다시 반대수를 취하여 얻은 음의 값과 같을 수 있고, 만약 비트 스트림에 dbr_h_alt_offset0_minus1이 존재하지 않으면, DbrHAltOffset0의 값이 0이다.
예시적으로, 증강된 개선 모드에 대해, DbrHAltOffset0은 제1 개선 오프셋값(제3 개선 오프셋값과 제1 개선 오프셋값이 같은 것을 예로 듬)에 대응하고, 수평 DBF 필터링에 대한 제1 개선 오프셋값인 바, 즉, 수평 DBF 필터링을 수행할 경우, DbrHAltOffset0은 상술한 실시예의 제1 개선 오프셋값을 나타낸다.
증강된 디블록킹 필터링 수평 개선 오프셋값 1(dbr_h_alt _offset1_minus1), dbr_h_alt _offset1_minus1은 현재 픽처 디블록킹 필터링 BS가 0일 때의 수평 개선의 오프셋값 1을 결정하는 데에 사용되고, dbr_h_alt _offset1_minus1의 값 범위는 0 내지 3일 수 있다. 여기서, DbrHAltOffset1의 값이 dbr_h_alt_offset1_minus1의 값에 1을 더한 것과 같고, 만약 비트 스트림에 dbr_h_alt_offset1_minus1이 존재하지 않으면, DbrHAltOffset1의 값이 0이다.
예시적으로, 증강된 개선 모드에 대해, DbrHAltOffset1은 제2 개선 오프셋값(제4 개선 오프셋값과 제2 개선 오프셋값이 같은 것을 예로 듬)에 대응하고, 수평 DBF 필터링에 대한 제2 개선 오프셋값인 바, 즉, 수평 DBF 필터링을 수행할 경우, DbrHAltOffset1은 상술한 실시예의 제2 개선 오프셋값을 나타낸다.
실시예 14: 하이-레벨 신택스(예컨대 픽처 헤더 하이-레벨 신택스)의 일종의 표현은 표 2를 참조할 수 있는 바, 예컨대, 픽처 헤더에서 표 2에 도시된 신택스를 인코딩/디코딩한다. 즉, 인코더측이 픽처 헤더에서 표 2에 도시된 신택스를 인코딩하고, 디코더측은 픽처 헤더로부터 표 2에 도시된 신택스를 디코딩한다.
picture_dbr_v_enable_flag
if (PictureDbrVEnableFlag) {
dbr_v_offset0_minus1
dbr_v_ offset1_minus1
}
picture_alt_dbr_v_enable_flag
if (PictureAltDbrVEnableFlag) {
dbr_v_alt_offset0_minus1
dbr_v_alt_offset1_minus1
}
if (PictureDbrVEnableFlag || PictureAltDbrVEnableFlag) {
dbr_v_threshold_minus1
}
picture_dbr_h_enable_flag
if (PictureDbrHEnableFlag) {
dbr_h_offset0_minus1
dbr_h_ offset1_minus1
}
picture_alt_dbr_h_enable_flag
if (PictureAltDbrHEnableFlag) {
dbr_v_alt_offset0_minus1
dbr_v_alt_offset1_minus1
}
if (PictureDbrHEnableFlag || PictureAltDbrHEnableFlag) {
dbr_h_threshold_minus1
}
표 2 중, 신택스와 관련된 의미는 아래와 같다:
픽처 레벨 증강된 수직 개선 이네이블 플래그 picture_alt_dbr_v_enable_flag, 이는 하나의 이진 변수이고, 값 ‘1’은 현재 픽처가 증강된 수직 개선을 사용하는 것을 허락하는 것을 나타내고, 값 '0'은 현재 픽처가 증강된 수직 개선을 사용하는 것을 허락하지 않는 것을 나타낸다. PictureAltDbrVEnableFlag의 값은 picture_alt_dbr_v_enable_flag의 값과 같을 수 있고, 만약 비트 스트림에 picture_alt_dbr_v_enable_flag가 존재하지 않으면, PhAltDbrVEnableFlag의 값이 0이다.
예시적으로, 증강된 개선 모드에 대해, PictureAltDbrVEnableFlag는 증강된 개선 모드 이네이블 플래그에 대응하고, 수직 DBF 필터링에 대한 증강된 개선 모드 이네이블 플래그인 바, 다시 말해서, 수직 DBF 필터링을 수행할 필요가 있을 경우, PictureAltDbrVEnableFlag는 증강된 개선 모드를 이네이블하는 것을 허락하는 것을 나타내거나, 또는 증강된 개선 모드를 이네이블하는 것을 허락하지 않는 것을 나타낸다.
실시예 13 중의 PictureDbrVEnableFlag와 상이한 것은, PictureAltDbrVEnableFlag는 단지 수직 DBF 필터링에 대한 증강된 개선 모드 이네이블 플래그일 뿐, 수직 DBF 필터링에 대한 증강된 필터링 모드 이네이블 플래그가 아니다.
픽처 레벨 증강된 수평 개선 이네이블 플래그 picture_alt_dbr_h_enable_flag, 이는 하나의 이진 변수이고, 값 '1'은 현재 픽처가 증강된 수평 개선을 사용하는 것을 허락하는 것을 나타내고, 값 '0'은 현재 픽처가 증강된 수평 개선을 사용하는 것을 허락하지 않는 것을 나타낸다. PictureAltDbrHEnableFlag의 값은 picture_alt_dbr_h_enable_flag의 값과 같을 수 있고, 만약 비트 스트림에 picture_alt_dbr_h_enable_flag가 존재하지 않으면, PhAltDbrHEnableFlag의 이 0이다.
예시적으로, 증강된 개선 모드에 대해, PhAltDbrHEnableFlag는 증강된 개선 모드 이네이블 플래그에 대응하고, 수평 DBF 필터링에 대한 증강된 개선 모드 이네이블 플래그인 바, 다시 말해서, 수평 DBF 필터링을 수행할 필요가 있을 경우, PhAltDbrHEnableFlag는 증강된 개선 모드를 이네이블하는 것을 허락하는 것을 나타내거나, 또는 증강된 개선 모드를 이네이블하는 것을 허락하지 않는 것을 나타낸다.
실시예 13 중의 PictureDbrHEnableFlag와 상이한 것은, PhAltDbrHEnableFlag는 단지 수평 DBF 필터링의 증강된 개선 모드 이네이블 플래그일 뿐, 수평 DBF 필터링에 대한 증강된 필터링 모드 이네이블 플래그가 아니다.
표 2 중 기타 신택스의 의미에 대해, 표 1 중 관련되 신택스의 의미와 동일하며, 여기서 더 이상 설명하지 않는다.
실시예 15: 실시예 11에 대해, adbr_enable_flag의 인코딩 및 디코딩은, 디블록킹 필터링 모드가 이네이블될 때만 adbr_enable_flag의 인코딩 및 디코딩을 수행할 수 있는 바, 다시 말해서, 먼저 디블록킹 필터링 모드를 이네이블하는지 여부를 결정할 수 있는 바, 만약 "예"이면, 시퀀스 헤더에서 플래그 adbr_enable_flag를 인코딩/디코딩하고, 만약 "아니오"이면, 시퀀스 헤더에서 플래그 adbr_enable_flag를 인코딩/디코딩하지 않는다. 상술한 내용을 요약하면, 증강된 개선 모드(adbr_enable_flag는 증강된 개선 모드의 이네이블을 제어하는 데에 사용됨)는 디블록킹 필터링 모드의 서버 모드이고, 디블록킹 필터링 모드가 이네이블될 때에만 증강된 개선 모드를 이네이블하는 것을 허락한다.
실시예 12에 대해, dbr_enable_flag의 인코딩 및 디코딩은, 디블록킹 필터링 모드가 이네이블될 때만 dbr_enable_flag의 인코딩 및 디코딩을 수행할 수 있는 바, 다시 말해서, 먼저 디블록킹 필터링 모드를 이네이블하는지 여부를 결정할 수 있는 바, 만약 "예"이면, 시퀀스 헤더에서 플래그 dbr_enable_flag를 인코딩/디코딩하고, 만약 "아니오"이면, 시퀀스 헤더에서 플래그 dbr_enable_flag를 인코딩/디코딩하지 않는다. 상술한 내용을 요약하면, 증강된 필터링 모드(dbr_enable_flag증강된 필터링 모드의 이네이블을 제어하는 데에 사용됨)는 디블록킹 필터링 모드의 서버 모드이고, 디블록킹 필터링 모드가 이네이블될 때만 증강된 필터링 모드를 이네이블하는 것을 허락한다.
실시예 13에 대해, 표 1에 도시된 하이-레벨 신택스(증강된 필터링 모드의 이네이블 및 증강된 개선 모드의 이네이블을 제어하는 데에 사용됨)의 인코딩 및 디코딩, 디블록킹 필터링 모드가 이네이블될 때만 당해 하이-레벨 신택스의 인코딩 및 디코딩을 수행할 수 있는 바, 다시 말해서, 먼저 디블록킹 필터링 모드를 이네이블하는지 여부를 결정할 수 있는 바, 만약 "예"이면, 픽처 헤더에서 표 1에 도시된 하이-레벨 신택스를 인코딩/디코딩하고, 만약 "아니오"이면, 픽처 헤더에서 표 1에 도시된 하이-레벨 신택스를 인코딩/디코딩하지 않는다.
실시예 14에 대해, 표 2에 도시된 하이-레벨 신택스(증강된 필터링 모드의 이네이블 및 증강된 개선 모드의 이네이블을 제어하는 데에 사용됨)의 인코딩 및 디코딩은, 디블록킹 필터링 모드가 이네이블될 때만 당해 하이-레벨 신택스의 인코딩 및 디코딩을 수행할 수 있는 바, 다시 말해서, 먼저 디블록킹 필터링 모드를 이네이블하는지 여부를 결정할 수 있는 바, 만약 "예"이면, 픽처 헤더에서 표 2에 도시된 하이-레벨 신택스를 인코딩/디코딩하고, 만약 "아니오"이면, 픽처 헤더에서 표 2에 도시된 하이-레벨 신택스를 인코딩/디코딩하지 않는다.
실시예 16: 휘도 컴포넌트(즉 현재 블록이 휘도 컴포넌트)의 디블록킹 필터링 과정에 대해, 예컨대, 증강된 개선 모드를 이용하여 휘도 컴포넌트에 대해 개선을 수행하거나, 또는, 증강된 필터링 모드를 사용하여 휘도 컴포넌트에 대해 개선을 수행한다.
휘도 컴포넌트의 DBR 파라미터의 유도 과정에 대해:
만약 현재 필트링될 경계가 수직 경계이고 또한 PictureDbrVEnableFlag의 값이 1이거나, 또는, 현재 필트링될 경계가 수평 경계이고 또한 PictureDbrHEnableFlag의 값이 1이면, PictureDbrEnableFlag의 값이 1이고; 그렇지 않으면, PictureDbrEnableFlag가 0이다. 또한, 만약 현재 필트링될 경계가 수직 경계이고 또한 PictureAltDbrVEnableFlag의 값이 1이거나, 또는, 현재 필트링될 경계가 수평 경계이고 또한 PictureAltDbrHEnableFlag의 값이 1이면, PictureAltDbrEnableFlag의 값이 1이고; 그렇지 않으면, PictureAltDbrEnableFlag가 0이다.
아래와 같은 방법에 따라 dbr_th, dbr_offset0, dbr_offset1, alt_dbr_offset0, alt_dbr_offset1을 유도한다:
수직 경계에 대해, dbr_th=DbrVThreshold, dbr_offset0=DbrVOffset0, dbr_offset1=DbrVOffset1, alt_dbr_offset0=DbrVAltOffset0, alt_dbr_offset1=DbrVAltOffset1이다.
수평 경계에 대해, dbr_th=DbrHThreshold, dbr_offset0=DbrHOffset0, dbr_offset1=DbrHOffset1, alt_dbr _offset0=DbrHAltOffset0, alt_dbr _offset1=DbrHAltOffset1이다.
(1) 휘도 컴포넌트의 BS가 4와 같을 때의 경계 필터링 과정(증강된 필터링 모드를 이용하여 처리를 수행):
BS의 값이 4일 경우, p0, p1, p2 및 q0, q1, q2의 필터링 계산 과정은 아래와 같다:
P0 = (p2 * 3 + p1 * 8 + p0 * 10 + q0 * 8 + q1 * 3 + 16) >> 5;
P1 = (p2 * 4 + p1 * 5 + p0 * 4 + q0 * 3 + 8) >> 4;
P2 = (p3 * 2 + p2 * 2 + p1 * 2 + p0 * 1 + q0 * 1 + 4) >> 3;
Q0 = (p1 * 3 + p0 * 8 + q0 * 10 + q1 * 8 + q2 Х 3 + 16) >> 5
Q1 = (p0 * 3 + q0 * 4 + q1 * 5 + q2 * 4 + 8) >> 4;
Q2 = (p0 * 1 + q0 * 1 + q1 * 2 + q2 * 2 + q3 * 2 + 4) >> 3.
P0, P1, P2 및 Q0, Q1, Q2는 모두 필터링 후의 값(즉 필터링된 픽셀값)이다.
P0, P1, P2 및 Q0, Q1, Q2를 얻은 후, 만약 PhDbrEnableFlag가 1이면:
만약 pi > Pi + dbr_th이면, Pi'=clip((Pi+ pi +1)>> 1+ dbr_offset0)이고; 그렇지 않으면, 만약 pi < Pi -dbr_th이면, Pi'=clip((Pi+ pi +1)>> 1+ dbr_offset1), i=0, 1, 2이다.
만약 qi > Qi + dbr_th이면, Qi'=clip((Qi+ qi +1)>> 1+ dbr_offset0)이고; 그렇지 않으면, 만약 qi < Qi-dbr_th이면, Qi'=clip((Qi+ qi +1)>> 1+ dbr_offset1), i=0, 1, 2이다.
상술한 수학식 중, pi는 원본 픽셀값을 나타낼 수 있고, qi는 원본 픽셀값을 나타낼 수 있으며, Pi는 필터링된 픽셀값을 나타낼 수 있고, Qi는 필터링된 픽셀값을 나타낼 수 있으며, Pi'는 개선된 픽셀값을 나타낼 수 있고, Qi'는 개선된 픽셀값을 나타낼 수 있다.
(2) 휘도 컴포넌트의 BS가 3과 같은 경우의 경계 필터링 과정(증강된 필터링 모드를 이용하여 처리를 수행):
BS의 값이 3일 경우, p0, p1 및 q0, q1의 필터링 계산 과정은 아래와 같다:
P0 = (p2 + (p1 << 2) + (p0 << 2) + (p0 << 1) + (q0 << 2) + q1 + 8) >> 4;
P1 = ((p2 << 1) + p2 + (p1 << 3) + (p0 << 2) + q0 + 8) >> 4;
Q0 = (p1 + (p0 << 2) + (q0 << 2) + (q0 << 1) + (q1 << 2) + q2 + 8) >> 4;
Q1 = ((q2 << 1) + q2 + (q1 << 3) + (q0 << 2) + p0 + 8) >> 4.
P0, P1 및 Q0, Q1는 모두필터링 후의 값(즉 필터링된 픽셀값)이다.
P0, P1 및 Q0, Q1를 얻은 후, 만약 PhDbrEnableFlag가 1이면:
만약 pi > Pi + dbr_th이면, Pi'=clip((Pi+ pi +1)>> 1+ dbr_offset0)이고; 그렇지 않으면, 만약 pi < Pi -dbr_th이면, Pi'=clip((Pi+ pi +1)>> 1+ dbr_offset1), i=0, 1이다.
만약 qi > Qi + dbr_th이면, Qi'=clip((Qi+ qi +1)>> 1+ dbr_offset0)이고; 그렇지 않으면, 만약 qi < Qi-dbr_th이면, Qi'=clip((Qi+ qi +1)>> 1+ dbr_offset1), i=0, 1이다.
상술한 수학식 중, pi는 원본 픽셀값을 나타낼 수 있고, qi는 원본 픽셀값을 나타낼 수 있으며, Pi는 필터링된 픽셀값을 나타낼 수 있고, Qi는 필터링된 픽셀값을 나타낼 수 있으며, Pi'는 개선된 픽셀값을 나타낼 수 있고, Qi'는 개선된 픽셀값을 나타낼 수 있다.
(3) 휘도 컴포넌트의 BS가 2와 같을 때의 경계 필터링 과정(증강된 필터링 모드를 이용하여 처리를 수행):
BS의 값이 2일 경우, p0 및 q0에 대한 필터링 계산 과정은 아래와 같다:
P0 = ((p1 << 1) + p1 + (p0 << 3) + (p0 << 1) + (q0 << 1) + q0 + 8) >> 4;
Q0 = ((p0 << 1) + p0 + (q0 << 3) + (q0 << 1) + (q1 << 1) + q1 + 8) >> 4.
P0 및 Q0은 모두 필터링 후의 값(즉 필터링된 픽셀값)이다.
P0 및 Q0을 얻은 후, 만약 PhDbrEnableFlag가 1이면:
만약 pi > Pi + dbr_th이면, Pi'=clip((Pi+ pi +1)>> 1+ dbr_offset0)이고; 그렇지 않으면, 만약 pi < Pi -dbr_th이면, Pi'=clip((Pi+ pi +1)>> 1+ dbr_offset1), i=0이다.
만약 qi > Qi + dbr_th이면, Qi'=clip((Qi+ qi +1)>> 1+ dbr_offset0)이고; 그렇지 않으면, 만약 qi < Qi-dbr_th이면, Qi'=clip((Qi+ qi +1)>> 1+ dbr_offset1), i=0이다.
상술한 수학식 중, pi는 원본 픽셀값을 나타낼 수 있고, qi는 원본 픽셀값을 나타낼 수 있으며, Pi는 필터링된 픽셀값을 나타낼 수 있고, Qi는 필터링된 픽셀값을 나타낼 수 있으며, Pi'는 개선된 픽셀값을 나타낼 수 있고, Qi'는 개선된 픽셀값을 나타낼 수 있다.
(4) 휘도 컴포넌트의 BS가 1과 같을 때의 경계 필터링 과정(증강된 필터링 모드를 이용하여 처리를 수행):
BS의 값이 1일 때, p0 및 q0의 필터링 계산 과정은 아래와 같다:
P0 = ((p0 << 1) + p0 + q0 + 2) >> 2;
Q0 = ((q0 << 1) + q0 + p0 + 2) >> 2.
P0 및 Q0은 모두 필터링 후의 값(즉 필터링된 픽셀값)이다.
P0 및 Q0을 얻은 후, 만약 PhDbrEnableFlag가 1이면:
만약 pi > Pi + dbr_th이면, Pi'=clip((Pi+ pi +1)>> 1+ dbr_offset0)이고; 그렇지 않으면, 만약 pi < Pi -dbr_th이면, Pi'=clip((Pi+ pi +1)>> 1+ dbr_offset1), i=0이다.
만약 qi > Qi + dbr_th이면, Qi'=clip((Qi+ qi +1)>> 1+ dbr_offset0)이고; 그렇지 않으면, 만약 qi < Qi-dbr_th이면, Qi'=clip((Qi+ qi +1)>> 1+ dbr_offset1), i=0이다.
상술한 수학식 중, pi는 원본 픽셀값을 나타낼 수 있고, qi는 원본 픽셀값을 나타낼 수 있으며, Pi는 필터링된 픽셀값을 나타낼 수 있고, Qi는 필터링된 픽셀값을 나타낼 수 있으며, Pi'는 개선된 픽셀값을 나타낼 수 있고, Qi'는 개선된 픽셀값을 나타낼 수 있다.
(5) 휘도 컴포넌트의 BS가 0과 같을 때의 경계 필터링 과정의 방식 1(증강된 개선 모드를 이용하여 처리를 수행):
BS의 값이 0일 때, pi 및 qi의 필터링 계산 과정은 아래와 같다:
pi의 기울기값 DPi 및 qi의 기울기값 DQi를 결정한다. 예컨대, DPi = (pi-qi+ 2) >> 2, DQi = (qi- pi + 2) >> 2이다. 또는, DPi = (pi-qi+ 1) >> 1, DQi = (qi- pi+ 1) >> 1이다.
DPi 및 DQi를 얻은 후, 만약 PhAltDbrEnableFlag가 1이면:
만약 DPi > dbr_th이면, Pi=clip(pi+ alt_dbr_offset0)이고; 그렇지 않으면, 만약 DPi <-dbr_th이면, Pi=clip(pi+ alt_dbr_offset1)이고;
만약 DQi > dbr_th이면, Qi=clip(qi+ alt_dbr_offset0)이고; 그렇지 않으면, 만약 DQi<-dbr_th이면, Qi=clip(qi+ alt_dbr_offset1)이다.
상술한 i는 0일 수도 있고, 0, 1, 2 등일 수도 있으며, 이에 대해 한정하지 않는다.
상술한 수학식 중, pi는 원본 픽셀값을 나타낼 수 있고, qi는 원본 픽셀값을 나타낼 수 있으며, DPi는 기울기값을 나타낼 수 있고, DQi는 기울기값을 나타낼 수 있으며, Pi는 개선된 픽셀값을 나타낼 수 있고, Qi는 개선된 픽셀값을 나타낼 수 있다.
(6) 휘도 컴포넌트의 BS가 0과 같을 때의 경계 필터링 과정의 방식 2(증강된 개선 모드를 이용하여 처리를 수행):
BS의 값이 0일 때, pi 및 qi의 필터링 계산 과정은 아래와 같다:
pi의 기울기값 DPi 및 qi의 기울기값 DQi을 결정한다. 예컨대 DPi = (pi-qi+ 1) >> 1, DQi = (qi-pi+ 1) >> 1이다.
DPi 및 DQi를 얻은 후, 만약 PhAltDbrEnableFlag가 1이면:
만약 DPi > 2*dbr_th이면, Pi=clip(pi+ alt_dbr_offset0)이고; 그렇지 않으면, 만약 DPi <-2*dbr_th이면, Pi=clip(pi+ alt_dbr_offset1);
만약 DQi >2*dbr_th이면, Qi=clip(qi+ alt_dbr_offset0)이고; 그렇지 않으면, 만약 DQi<-2*dbr_th이면, Qi=clip(qi+ alt_dbr_offset1)이다.
상술한 2*dbr_th 및 -2*dbr_th는 상술한 실시예 중의 개선 임계값일 수 있다.
상술한 i는 0일 수도 있고, 0, 1, 2 등일 수도 있으며, 이에 대해 한정하지 않는다.
상술한 수학식 중, pi는 원본 픽셀값을 나타낼 수 있고, qi는 원본 픽셀값을 나타낼 수 있으며, DPi는 기울기값을 나타낼 수 있고, DQi는 기울기값을 나타낼 수 있으며, Pi는 개선된 픽셀값을 나타낼 수 있고, Qi는 개선된 픽셀값을 나타낼 수 있다.
(7) 휘도 컴포넌트의 BS가 0과 같을 때의 경계 필터링 과정의 방식 3(증강된 개선 모드를 이용하여 처리를 수행):
BS의 값이 0일 때, pi 및 qi의 필터링 계산 과정은 아래와 같다:
pi의 기울기값 DPi 및 qi의 기울기값 DQi를 결정한다. 예컨대, 아래와 같은 방식을 이용하여 기울기값 DPi 및 기울기값 DQi를 결정할 수 있다: DPi = ((pi << 1) + pi + qi + 2) >> 2, DQi = ((qi << 1) + qi + pi + 2) >> 2.
DPi 및 DQi를 얻은 후, 만약 PhAltDbrEnableFlag가 1이면:
만약 pi > DPi + dbr_th이면, Pi=clip(pi+alt_dbr_offset0)이고; 그렇지 않으면, 만약 pi < DPi -dbr_th이면, Pi=clip(pi+ alt_dbr_offset1);
만약 qi> DQi + dbr_th이면, Qi=clip(qi+alt_dbr_offset0)이고; 그렇지 않으면, 만약 qi < DQi-dbr_th이면, Qi=clip(qi+ alt_dbr_offset1)이다.
가능한 실시 방식에서, 상술한 표현은 아래와 같은 표현 형식과 등가일 수 있다:
pi의 기울기값 DPi 및 qi의 기울기값 DQi를 결정한다. 예컨대, 아래와 같은 방식을 이용하여 기울기값 DPi 및 기울기값 DQi를 결정할 수 있다: DPi = pi -(((pi << 1) + pi + qi + 2) >> 2), DQi =qi- (((qi << 1) + qi + pi + 2) >> 2).
DPi 및 DQi를 얻은 후, 만약 PhAltDbrEnableFlag가 1이면:
만약 DPi > dbr_th이면, Pi=clip(pi+alt_dbr_offset0)이고; 그렇지 않으면, 만약 DPi < -dbr_th이면, Pi=clip(pi+ alt_dbr_offset1);
만약 DQi > dbr_th이면, Qi=clip(qi+alt_dbr_offset0)이고; 그렇지 않으면, 만약 DQi <-dbr_th이면, Qi=clip(qi+ alt_dbr_offset1)이다.
상술한 i는 0일 수도 있고, 0, 1, 2 등일 수도 있으며, 이에 대해 한정하지 않는다.
상술한 수학식 중, pi는 원본 픽셀값을 나타낼 수 있고, qi는 원본 픽셀값을 나타낼 수 있으며, DPi는 기울기값을 나타낼 수 있고, DQi는 기울기값을 나타낼 수 있으며, Pi는 개선된 픽셀값을 나타낼 수 있고, Qi는 개선된 픽셀값을 나타낼 수 있다.
상술한 실시예 중, clip(x)는 x를 [0, 2^(bit_depth)-1] 사이(당해 구간은 0 및 2^(bit_depth)-1을 포함할 수 있음)로 한정하는 것을 나타낸다. bit_depth는 픽처의 비트 심도를 나타내며, 일반적으로 8, 10, 12 등이다.
(8) 휘도 컴포넌트의 BS가 0과 같을 때의 경계 필터링 과정의 방식 4(증강된 개선 모드를 이용하여 처리를 수행):
BS의 값이 0일 때, pi 및 qi의 필터링 계산 과정은 아래와 같다:
pi의 기울기값 DPi 및 qi의 기울기값 DQi를 결정한다. 예컨대, 아래와 같은 방식을 이용하여 기울기값 DPi 및 기울기값 DQi를 결정할 수 있다: DPi = (qi - pi+2) >> 2, DQi = (pi - qi+2) >> 2이다.
DPi 및 DQi를 얻은 후, 만약 PhAltDbrEnableFlag가 1이면:
만약 DPi < dbr_th이면, Pi=clip(pi+ dbr_alt_offset0)이고; 그렇지 않으면, 만약 DPi > -dbr_th이면, Pi=clip(pi+ dbr_alt_offset1)이다.
만약 DQi < dbr_th이면, Qi=clip(qi+ alt_dbr_offset0)이고; 그렇지 않으면, 만약 DQi > -dbr_th이면, Qi=clip(qi+ dbr_alt_offset1)이다.
상술한 i는 0일 수도 있고, 0, 1, 2 등일 수도 있으며, 이에 대해 한정하지 않는다.
상술한 수학식 중, pi는 원본 픽셀값을 나타낼 수 있고, qi는 원본 픽셀값을 나타낼 수 있으며, DPi는 기울기값을 나타낼 수 있고, DQi는 기울기값을 나타낼 수 있으며, Pi는 개선된 픽셀값을 나타낼 수 있고, Qi는 개선된 픽셀값을 나타낼 수 있다.
(9) 휘도 컴포넌트의 BS가 0과 같을 때의 경계 필터링 과정의 방식 5(증강된 개선 모드를 이용하여 처리를 수행):
BS의 값이 0일 때, pi 및 qi의 필터링 계산 과정은 아래와 같다:
pi의 기울기값 DPi 및 qi의 기울기값 DQi를 결정한다. 예컨대, 아래와 같은 방식을 이용하여 기울기값 DPi 및 기울기값 DQi를 결정할 수 있다: DPi = pi - (((pi << 1) + pi + qi + 2) >> 2), 즉 DPi=(pi - qi - 2) >> 2이고, DQi = qi - (((qi << 1) + qi + pi + 2) >> 2), 즉 DQi =(qi - pi - 2) >> 2이다.
DPi 및 DQi를 얻은 후, 만약 PhAltDbrEnableFlag가 1이면:
만약 DPi > dbr_th이면, Pi = clip (pi + dbr_alt_offset0)이고; 그렇지 않으면, 만약 DPi < - dbr_thPi = clip (pi + dbr_alt_offset1)이다.
만약 DQi > dbr_thQi = clip (qi + dbr_alt_offset0)이고; 그렇지 않으면, 만약 DQi < -dbr_th이면, Qi = clip (qi + dbr_alt_offset1)이다.
상술한 i는 0일 수도 있고, 0, 1, 2 등일 수도 있으며, 이에 대해 한정하지 않는다.
상술한 수학식 중, pi는 원본 픽셀값을 나타낼 수 있고, qi는 원본 픽셀값을 나타낼 수 있으며, DPi는 기울기값을 나타낼 수 있고, DQi는 기울기값을 나타낼 수 있으며, Pi는 개선된 픽셀값을 나타낼 수 있고, Qi는 개선된 픽셀값을 나타낼 수 있다.
실시예 17: 실시예 11 및 실시예 12에 대해, SPS 레벨 하이-레벨 신택스를 PPS 레벨 하이-레벨 신택스, 또는 픽처 헤더 레벨 하이-레벨 신택스, 또는 프레임 레벨 하이-레벨 신택스, 또는 슬라이스 헤더 레벨 하이-레벨 신택스, 또는 CTU 레벨 하이-레벨 신택스, 또는 CU 레벨 하이-레벨 신택스로 대체할 수 있으며, 이 하이-레벨 신택스의 타입에 대해 한정하지 않는다, 즉 여러 가지 타입의 하이-레벨 신택스를 통해 모두 dbr_enable_flag 또는 adbr_enable_flag를 전송할 수 있다. 실시예 13 및 실시예 14에 대해, 픽처 헤더 하이-레벨 신택스를 SPS 레벨 하이-레벨 신택스, 또는 PPS 레벨 하이-레벨 신택스, 또는 프레임 레벨 하이-레벨 신택스, 또는 슬라이스 헤더 레벨 하이-레벨 신택스, 또는 CTU 레벨 하이-레벨 신택스, 또는 CU 레벨 하이-레벨 신택스로 대체할 수 있으며, 이 하이-레벨 신택스의 타입에 대해 한정하지 않는다, 즉 여러 가지 타입의 하이-레벨 신택스를 통해 표 1 또는 표 2의 내용을 전송할 수 있는바, 즉 여러 가지 타입의 하이-레벨 신택스를 통해 증강된 개선 모드 이네이블 플래그, 증강된 필터링 모드 이네이블 플래그, 제1 개선 임계값, 제1 필터링 임계값, 제1 필터링 오프셋값, 제2 필터링 오프셋값, 제1 개선 오프셋값, 제2 개선 오프셋값 등 파라미터를 전송하고, 구체적인 구현 방식은 실시예 13 및 실시예 14의 실시 방식과 유사하며, 여기서 더 이상 설명하지 않는다.
실시예 13 및 실시예 14에 대해, 픽처 헤더 하이-레벨 신택스를 CTU 레벨 하이-레벨 신택스로 대체할 수 있으며, CTU 레벨 하이-레벨 신택스를 통해 DBR의 관련 파라미터를 전송하고, DBR의 관련 파라미터는 제1 개선 임계값, 제1 필터링 임계값, 제1 필터링 오프셋값, 제2 필터링 오프셋값, 제1 개선 오프셋값, 제2 개선 오프셋값 등 파라미터 등 내용을 포함할 수 있으며, 실시예 13 및 실시예 14를 참조한다. 또는, 픽처 헤더 하이-레벨 신택스를 CU 레벨 하이-레벨 신택스로 대체할 수 있으며, CU 레벨 하이-레벨 신택스를 통해 DBR의 관련 파라미터를 전송하고, DBR의 관련 파라미터는 제1 개선 임계값, 제1 필터링 임계값, 제1 필터링 오프셋값, 제2 필터링 오프셋값, 제1 개선 오프셋값, 제2 개선 오프셋값 등 파라미터 내용을 포함할 수 있으며, 실시예 13 및 및 실시예 14를 참조한다.
실시예 18: 실시예 16에 대해, 이는 휘도 컴포넌트의 디블록킹 필터링 과정에 대한 것으로, 휘도 컴포넌트를 색도 컴포넌트로 대체할 수도 있는 바, 즉 색도 컴포넌트(즉 현재 블록이 색도 컴포넌트)에 대해 디블록킹 필터링을 과정을 수행할 수 있으며, 색도 컴포넌트의 디블록킹 필터링 과정은 휘도 컴포넌트의 디블록킹 필터링 과정과 유사하며, 실시예 16을 참조하며, 여기서 더 이상 설명하지 않는다.
예시적으로, 상술한 실시예 1 내지 실시예 18은 별도로 구현할 수도 있고, 임의로 조합하여 구현할 수도 있는 바, 예컨대 실시예 1 및 실시예 2를 조합할 수 있고, 실시예 1 및 실시예 3을 조합할 수 있으며, 실시예 1 및 실시예 4를 조합할 수 있고, 실시예 1 및 실시예 5를 조합할 수 있으며, 실시예 1 및 실시예 8 내지 실시예 18 중 적어도 하나의 실시예를 조합할 수 있고; 실시예 8 내지 실시예 18 중 적어도 두 개 실시예를 조합할 수 있으며; 실시예 2 및 실시예 8 내지 실시예 18 중 적어도 하나의 실시예를 조합할 수 있고; 실시예 3 및 실시예 8 내지 실시예 18중 적어도 하나의 실시예를 조합할 수 있으며; 실시예 4 및 실시예 8 내지 실시예 18 중 적어도 하나의 실시예를 조합할 수 있고; 실시예 5 및 실시예 8 내지 실시예 18중 적어도 하나의 실시예를 조합할 수 있으며; 실시예 6 및 실시예 8 내지 실시예 18중 적어도 하나의 실시예를 조합할 수 있고; 실시예 7 및 실시예 8 내지 실시예 18중 적어도 하나의 실시예를 조합할 수 있다. 물론, 상술한 내용은 단지 몇 개 조합의 예시일 뿐, 실시예 1 내지 실시예 18 사이의 임의의 적어도 두 개 실시예는 모두 조합하여 관련 과정을 구현할 수 있다.
예시적으로, 상술한 각 실시예 중, 인코더측의 내용은 디코더측에 응용될 수도 있는 바, 즉 디코더측은 동일한 방식을 사용하여 처리를 수행할 수 있고, 디코더측의 내용은 인코더측에 응용될 수도 있는 바, 즉 인코더측은 동일한 방식을 이용하여 처리를 수행할 수 있다.
실시예 19: 상술한 방법과 동일한 신청 구상에 기초하여, 본 출원 실시예 중 디코딩 장치를 더 제공하는 바, 상기 디코딩 장치는 디코더측에 응용되며, 상기 디코딩 장치는: 비디오 데이터를 저장하도록 구성되는 메모리; 상술한 실시예 1 내지 실시예 18 중의 디코딩 방법, 즉 디코더측의 처리 프로세스를 구현하도록 구성되는 디코더를 포함한다.
예컨대, 가능한 실시 방식에서, 디코더는 구성을 통해:
만약 현재 블록 내의 현재 픽셀 포인트가 증강된 개선 모드의 이네이블 조건을 충족하면, 상기 현재 픽셀 포인트의 원본 픽셀값 및 상기 현재 픽셀 포인트의 주변 픽셀 포인트의 원본 픽셀값에 기초하여 상기 현재 픽셀 포인트의 기울기값을 결정하는 것; 상기 현재 픽셀 포인트의 기울기값 및 상기 현재 픽셀 포인트의 원본 픽셀값에 기초하여, 상기 현재 픽셀 포인트의 개선된 픽셀값을 결정하는 것을 구현한다.
상술한 방법과 동일한 신청 구상에 기초하여, 본 출원 실시예 중 인코딩 장치를 더 제공하는 바, 상기 인코딩 장치는 인코더측에 응용되고, 상기 인코딩 장치는: 비디오 데이터를 저장하도록 구성되는 메모리; 상술한 실시예 1 내지 실시예 18 중의 인코딩 방법, 즉 인코더측의 처리 프로세스를 구현하도록 구성되는 인코더를 포함한다.
예컨대, 가능한 실시 방식에서, 인코더는 구성을 통해:
만약 현재 블록 내의 현재 픽셀 포인트가 증강된 개선 모드의 이네이블 조건을 충족하면, 상기 현재 픽셀 포인트의 원본 픽셀값 및 상기 현재 픽셀 포인트의 주변 픽셀 포인트의 원본 픽셀값에 기초하여 상기 현재 픽셀 포인트의 기울기값을 결정하는 것; 상기 현재 픽셀 포인트의 기울기값 및 상기 현재 픽셀 포인트의 원본 픽셀값에 기초하여, 상기 현재 픽셀 포인트의 개선된 픽셀값을 결정하는 것을 구현한다.
상술한 방법과 동일한 신청 구상에 기초하여, 본 출원 실시예에서 제공한 디코더측 기기(비디오 디코더라고도 지칭할 수 있음)는 하드웨어 관점에서, 이 하드웨어 프레임워크 모식도의 구체적인 내용은 도 5a를 참조할 수 있으며, 이는: 프로세서(511) 및 기계 판독 가능 저장매체(512)를 포함하고, 여기서: 상기 기계 판독 가능 저장매체(512)에는 상기 프로세서(511)에 의해 실행 가능한 기계 실행 가능한 명령이 저장되고; 상기 프로세서(511)는 기계 실행 가능한 명령을 실행하여, 본 출원의 상술한 실시예 1 내지 18에 개시된 방법을 구현한다. 예를 들면, 상기 프로세서(511)는 기계 실행 가능한 명령을 실행하여, 아래와 같은 단계를 구현한다:
만약 현재 블록 내의 현재 픽셀 포인트가 증강된 개선 모드의 이네이블 조건을 충족하면, 상기 현재 픽셀 포인트의 원본 픽셀값 및 상기 현재 픽셀 포인트의 주변 픽셀 포인트의 원본 픽셀값에 기초하여 상기 현재 픽셀 포인트의 기울기값을 결정하는 단계; 상기 현재 픽셀 포인트의 기울기값 및 상기 현재 픽셀 포인트의 원본 픽셀값에 기초하여, 상기 현재 픽셀 포인트의 개선된 픽셀값을 결정하는 단계를 구현한다.
상술한 방법과 동일한 신청 구상에 기초하여, 본 출원 실시예에서 제공한 인코더측 기기(비디오 인코더라고도 지칭할 수 있음)는 하드웨어 관점에서, 이 하드웨어 프레임워크 모식도의 구체적인 내용은 도 5b를 참조할 수 있으며, 이는: 프로세서(521) 및 기계 판독 가능 저장매체(522)를 포함하고, 여기서: 상기 기계 판독 가능 저장매체(522)에는 상기 프로세서(521)에 의해 실행 가능한 기계 실행 가능한 명령이 저장되고; 상기 프로세서(521)는 기계 실행 가능한 명령을 실행하여, 본 출원의 상술한 실시예 1 내지 18에서 개시한 방법을 구현한다. 예를 들면, 상기 프로세서(521)는 기계 실행 가능한 명령을 실행하여, 아래와 같은 단계를 구현한다:
만약 현재 블록 내의 현재 픽셀 포인트가 증강된 개선 모드의 이네이블 조건을 충족하면, 상기 현재 픽셀 포인트의 원본 픽셀값 및 상기 현재 픽셀 포인트의 주변 픽셀 포인트의 원본 픽셀값에 기초하여 상기 현재 픽셀 포인트의 기울기값을 결정하는 단계; 상기 현재 픽셀 포인트의 기울기값 및 상기 현재 픽셀 포인트의 원본 픽셀값에 기초하여, 상기 현재 픽셀 포인트의 개선된 픽셀값을 결정하는 단계를 구현한다.
상술한 방법과 동일한 신청 구상에 기초하여, 본 출원 실시예는 기계 판독 가능 저장매체를 더 제공하며, 상기 기계 판독 가능 저장매체에는 약간의 컴퓨터 명령이 포함되고, 상기 컴퓨터 명령이 프로세서에 의해 실행될 경우, 본 출원의 상술한 예시에 개시된 방법, 예컨대 상술한 각 실시예 중의 인코딩 및 디코딩 방법을 구현할 수 있다. 여기서, 상술한 기계 판독 가능 저장매체는 임의의 전자, RAM(Radom Access Memory, 랜덤 액세스 메모리), 휘발성 메모리, 비휘발성 메모리, 플래시 메모리, 메모리 드라이버(예컨대, 하드디스크 드라이버), 솔리드 스테이트 하드디스크, 임의의 유형의 메모리 디스크(예컨대, CD, dvd 등), 또는 유사한 저장 매체, 또는 이들의 조합일 수 있다.
상술한 방법과 동일한 신청 구상에 기초하여, 본 출원 실시예는 컴퓨터 응용 프로그램을 더 제공하며, 상기 컴퓨터 응용 프로그램이 프로세서에 의해 실행될 경우, 본 출원의 상술한 예시에 개시된 인코딩 및 디코딩 방법을 구현할 수 있다.
상술한 방법과 동일한 신청 구상에 기초하여, 본 출원 실시예는 인코딩 및 디코딩 장치를 더 제공하며, 이는 인코더측 또는 디코더측에 응용될 수 있으며, 당해 인코딩 및 디코딩 장치는:
만약 현재 블록 내의 현재 픽셀 포인트가 증강된 개선 모드의 이네이블 조건을 충족하면, 상기 현재 픽셀 포인트의 원본 픽셀값 및 상기 현재 픽셀 포인트의 주변 픽셀 포인트의 원본 픽셀값에 기초하여 상기 현재 픽셀 포인트의 기울기값을 결정하는 하기 위한 결정 모듈; 상기 현재 픽셀 포인트의 기울기값 및 상기 현재 픽셀 포인트의 원본 픽셀값에 기초하여, 상기 현재 픽셀 포인트의 개선된 픽셀값을 결정하기 위한 처리 모듈을 포함할 수 있다.
예시적으로, 상기 처리 모듈이 상기 현재 픽셀 포인트의 기울기값 및 상기 현재 픽셀 포인트의 원본 픽셀값에 기초하여, 상기 현재 픽셀 포인트의 개선된 픽셀값을 결정할 때 구체적으로:
상기 현재 픽셀 포인트의 기울기값, 상기 현재 픽셀 포인트의 원본 픽셀값, 제1 개선 임계값, 제2 개선 임계값, 제1 개선 오프셋값 및 제2 개선 오프셋값에 기초하여, 상기 현재 픽셀 포인트의 개선된 픽셀값을 결정한다.
예시적으로, 상기 처리 모듈이 상기 현재 픽셀 포인트의 기울기값, 상기 현재 픽셀 포인트의 원본 픽셀값, 제1 개선 임계값, 제2 개선 임계값, 제1 개선 오프셋값 및 제2 개선 오프셋값에 기초하여, 상기 현재 픽셀 포인트의 개선된 픽셀값을 결정할 때 구체적으로: 만약 상기 현재 픽셀 포인트의 기울기값이 제1 개선 임계값보다 크면, 상기 현재 픽셀 포인트의 원본 픽셀값 및 제1 개선 오프셋값에 기초하여 상기 현재 픽셀 포인트의 개선된 픽셀값을 결정하고;
만약 상기 현재 픽셀 포인트의 기울기값이 제2 개선 임계값보다 작으면, 상기 현재 픽셀 포인트의 원본 픽셀값 및 제2 개선 오프셋값에 기초하여 상기 현재 픽셀 포인트의 개선된 픽셀값을 결정한다.
가능한 실시 방식에서, 만약 현재 블록 내의 현재 픽셀 포인트가 증강된 개선 모드의 이네이블 조건을 충족하면, 상기 결정 모듈은, 상기 현재 블록의 인접된 블록으로부터 상기 현재 픽셀 포인트에 대응하는 참조 픽셀 포인트를 결정하고, 상기 참조 픽셀 포인트의 원본 픽셀값 및 상기 참조 픽셀 포인트의 주변 픽셀 포인트의 원본 픽셀값에 기초하여 상기 참조 픽셀 포인트의 기울기값을 결정하는 데에 더 사용되며; 상기 처리 모듈은, 상기 참조 픽셀 포인트의 기울기값 및 상기 참조 픽셀 포인트의 원본 픽셀값에 기초하여, 상기 참조 픽셀 포인트의 개선된 픽셀값을 결정하는 데에 더 사용된다.
예시적으로, 상기 처리 모듈이 상기 참조 픽셀 포인트의 기울기값 및 상기 참조 픽셀 포인트의 원본 픽셀값에 기초하여, 상기 참조 픽셀 포인트의 개선된 픽셀값을 결정하는 할 때:
상기 참조 픽셀 포인트의 기울기값, 상기 참조 픽셀 포인트의 원본 픽셀값, 제3 개선 임계값, 제4 개선 임계값, 제3 개선 오프셋값 및 제4 개선 오프셋값에 기초하여, 상기 참조 픽셀 포인트의 개선된 픽셀값을 결정하는 데에 더 사용된다.
예시적으로, 상기 처리 모듈이 상기 참조 픽셀 포인트의 기울기값, 상기 참조 픽셀 포인트의 원본 픽셀값, 제3 개선 임계값, 제4 개선 임계값, 제3 개선 오프셋값 및 제4 개선 오프셋값에 기초하여, 상기 참조 픽셀 포인트의 개선된 픽셀값을 결정할 때: 만약 상기 참조 픽셀 포인트의 기울기값이 제3 개선 임계값보다 크면, 상기 참조 픽셀 포인트의 원본 픽셀값 및 제3 개선 오프셋값에 기초하여 상기 참조 픽셀 포인트의 개선된 픽셀값을 결정하고;
만약 상기 참조 픽셀 포인트의 기울기값이 제4 개선 임계값보다 작으면, 상기 참조 픽셀 포인트의 원본 픽셀값 및 제4 개선 오프셋값에 기초하여 상기 참조 픽셀 포인트의 개선된 픽셀값을 결정하는 데에 더 사용된다.
가능한 실시 방식에서, 상기 결정 모듈이 상기 현재 블록 내의 현재 픽셀 포인트가 증강된 개선 모드의 이네이블 조건을 충족하는 것을 결정할 때 구체적으로: 만약 상기 현재 블록 내의 현재 픽셀 포인트에 대응하는 필트링될 경계의 경계 강도가 증강된 개선 모드의 이네이블 조건을 충족하면, 상기 현재 픽셀 포인트가 증강된 개선 모드의 이네이블 조건을 충족하는 것을 결정하거나; 또는, 만약 상기 현재 블록에 대응하는 특징 정보가 증강된 개선 모드의 이네이블 조건을 충족하면, 상기 현재 블록 내의 상기 현재 픽셀 포인트가 증강된 개선 모드의 이네이블 조건을 충족하는 것을 결정하는 데에 사용된다.
예시적으로, 상기 처리 모듈은, 만약 상기 현재 블록 내의 현재 픽셀 포인트가 일반적인 필터링 모드의 이네이블 조건을 충족하면, 상기 현재 픽셀 포인트의 원본 픽셀값에 대해 디블록킹 필터링을 수행하여 상기 현재 픽셀 포인트의 필터링된 픽셀값을 얻고; 만약 상기 현재 블록 내의 현재 픽셀 포인트가 증강된 필터링 모드의 이네이블 조건을 충족하면, 상기 현재 픽셀 포인트의 필터링된 픽셀값 및 상기 현재 픽셀 포인트의 원본 픽셀값에 기초하여, 상기 현재 픽셀 포인트의 개선된 픽셀값을 결정하는 데에 더 사용된다.
예시적으로, 상기 처리 모듈이 상기 현재 픽셀 포인트의 필터링된 픽셀값 및 상기 현재 픽셀 포인트의 원본 픽셀값에 기초하여, 상기 현재 픽셀 포인트의 개선된 픽셀값을 결정할 때 구체적으로: 상기 현재 픽셀 포인트의 필터링된 픽셀값, 상기 현재 픽셀 포인트의 원본 픽셀값, 제1 필터링 임계값, 제2 필터링 임계값, 제1 필터링 오프셋값 및 제2 필터링 오프셋값에 기초하여, 상기 현재 픽셀 포인트의 개선된 픽셀값을 결정하는 데에 더 사용되고; 제1 필터링 임계값 및 제2 필터링 임계값이 서로 반대수이다.
예시적으로, 만약 상기 현재 블록 내의 현재 픽셀 포인트가 일반적인 필터링 모드의 이네이블 조건을 충족하면, 상기 처리 모듈은, 상기 현재 블록의 인접된 블록으로부터 상기 현재 픽셀 포인트에 대응하는 참조 픽셀 포인트를 결정하고; 상기 참조 픽셀 포인트의 원본 픽셀값에 대해 디블록킹 필터링을 수행하여 상기 참조 픽셀 포인트의 필터링된 픽셀값을 얻고;
만약 상기 현재 블록 내의 현재 픽셀 포인트가 증강된 필터링 모드의 이네이블 조건을 충족하면, 상기 참조 픽셀 포인트의 필터링된 픽셀값 및 상기 참조 픽셀 포인트의 원본 픽셀값에 기초하여, 상기 참조 픽셀 포인트의 개선된 픽셀값을 결정하는 데에 더 사용된다.
예시적으로, 상기 처리 모듈이 상기 참조 픽셀 포인트의 필터링된 픽셀값 및 상기 참조 픽셀 포인트의 원본 픽셀값에 기초하여, 상기 참조 픽셀 포인트의 개선된 픽셀값을 결정할 경우 구체적으로: 상기 참조 픽셀 포인트의 필터링된 픽셀값, 상기 참조 픽셀 포인트의 원본 픽셀값, 제3 필터링 임계값, 제4 필터링 임계값, 제3 필터링 오프셋값 및 제4 필터링 오프셋값에 기초하여, 상기 참조 픽셀 포인트의 개선된 픽셀값을 결정하는 데에 더 사용되고, 제3 필터링 임계값 및 제4 필터링 임계값이 서로 반대수이다.
위의 실시예들에서 설명된 시스템들, 장치들, 모듈들, 또는 유닛들은 컴퓨터 칩들 또는 엔티티들에 의해 구현되거나, 특정 기능들을 갖는 제품들에 의해 구현될 수 있다. 전형적인 구현 장치는 컴퓨터이고, 컴퓨터의 특정 형태는 개인용 컴퓨터, 랩톱 컴퓨터, 셀룰러 폰, 카메라 폰, 스마트 폰, 개인 휴대 정보 단말(personal digital assistant), 미디어 플레이어, 내비게이션 디바이스, 이메일 송수신기 디바이스, 게임 콘솔, 태블릿 컴퓨터, 웨어러블 디바이스, 또는 이러한 디바이스들 중 임의의 것의 조합일 수 있다. 설명의 편의를 위하여, 상술한 장치를 설명할 때 기능에 다라 다양한 유닛으로 나누어 각각 설명하였다. 물론, 본 출원을 실시할 때, 각 유닛의 기능을 하나 또는 복수의 소프트웨어 및/또는 하드웨어에서 구현할 수 있다.
본 기술분야의 통상의 기술자라면 본 발명의 실시예가 방법, 시스템, 또는 컴퓨터 프로그램 제품으로서 제공될 수 있음을 이해해야 한다. 따라서, 본 발명은 하드웨어 실시예, 소프트웨어 실시예, 또는 소프트웨어와 하드웨어를 결합한 실시예 형태를 사용할 수 있다. 또한, 본 발명의 실시예는 컴퓨터 사용 가능 프로그램 코드가 포함된 하나 또는 복수의 컴퓨터 사용 가능 저장 매체(자기 디스크 메모리, CD-ROM 및 광 메모리 등을 포함하지만 이에 제한되지 않음)에서 구현되는 컴퓨터 프로그램 제품의 형태를 사용할 수 있다.
본 발명은 본 발명의 실시예에 따른 방법, 기기(시스템), 및 컴퓨터 프로그램 제품의 흐름도 및/또는 블록도를 참조하여 설명된다. 컴퓨터 프로그램 명령어에 의해 흐름도 및/또는 블록도의 각 흐름 및/또는 블록, 및 흐름도 및/또는 블록도의 흐름 및/또는 블록의 조합이 구현될 수 있음을 이해해야 한다. 이러한 컴퓨터 프로그램 명령어는 범용 컴퓨터, 특수 목적 컴퓨터, 임베디드 프로세서 또는 다른 프로그래밍 가능 데이터 처리 기기의 프로세서에 제공되어 하나의 기계를 생성할 수 있음으로써, 컴퓨터 또는 다른 프로그래머블 가능 데이터 처리 기기의 프로세서에 의해 실행되는 명령어를 통해, 흐름도의 하나 또는 복수의 흐름 및/또는 블록도의 하나 또는 복수의 블록에 지정된 기능을 구현하는 장치가 생성되도록 한다.
이러한 컴퓨터 프로그램 명령어는 컴퓨터 또는 기타 프로그래밍 가능한 데이터 처리 장치가 특정 방식으로 작동하도록 유도할 수 있는 컴퓨터 읽기 가능 메모리에 저장될 수 있으며, 이 컴퓨터 읽기 가능 메모리에 저장된 명령어는 명령어 장치를 포함한 제조품을 생성할 수 있으며, 당해 명령어 장치는 흐름도의 하나 또는 복수의 흐름 및/또는 블록도의 하나 또는 복수의 블록에 지정된 기능을 구현하는 장치가 생성되도록 한다. 이러한 컴퓨터 프로그램 명령어는 또한 컴퓨터 또는 다른 프로그래머블 데이터 처리 기기에 로딩되어, 컴퓨터 또는 다른 프로그래밍 가능 기기에서 일련의 조작의 단계가 수행되도록 하여, 컴퓨터에 의해 구현되는 프로세스가 생성되도록 함으로써, 컴퓨터 또는 다른 프로그래머블 기기에서 실행되는 명령어가 흐름도의 하나의 흐름 또는 복수의 흐름 및/또는 블록도의 하나의 블록 또는 복수의 블록에 지정된 기능을 구현하는 단계를 제공한다. 전술한 내용은 단지 본 발명의 바람직한 실시예일 뿐, 본 발명을 제한하기 위함이 아니다. 본 기술분야의 통상의 기술자는 본 발명에 대해 다양한 변경 및 변형을 진행할 수 있다. 본 발명의 사상 및 원칙 내에서 이루어진 임의의 수정, 등가적 대체, 개선 등은 모두 본 발명의 특허청구범위 내에 포함되어야 한다.

Claims (13)

  1. 디코딩 방법으로서,
    만약 현재 블록 내의 현재 픽셀 포인트가 증강된 개선(enhanced refinement) 모드의 이네이블 조건을 충족하면, 상기 현재 픽셀 포인트의 원본 픽셀값 및 상기 현재 픽셀 포인트의 주변 픽셀 포인트의 원본 픽셀값에 기초하여 상기 현재 픽셀 포인트의 기울기값을 결정하는 단계;
    상기 현재 픽셀 포인트의 기울기값 및 상기 현재 픽셀 포인트의 원본 픽셀값에 기초하여, 상기 현재 픽셀 포인트의 개선된 픽셀값을 결정하는 단계를 포함하되;
    상기 현재 블록 내의 현재 픽셀 포인트가 증강된 개선 모드의 이네이블 조건을 충족하는 단계는, 만약 상기 현재 블록 내의 현재 픽셀 포인트에 대응하는 필트링될 경계의 경계 강도가 증강된 개선 모드의 이네이블 조건을 충족하면, 상기 현재 픽셀 포인트가 증강된 개선 모드의 이네이블 조건을 충족하는 것을 결정하는 단계를 포함하는 것을 특징으로 하는 디코딩 방법.
  2. 제1항에 있어서,
    상기 현재 블록 내의 현재 픽셀 포인트에 대응하는 필트링될 경계의 경계 강도가 증강된 개선 모드의 이네이블 조건을 충족하는 단계는,
    만약 상기 현재 픽셀 포인트에 대응하는 필트링될 경계의 경계 강도가 기설정된 제1 값이면, 상기 필트링될 경계의 경계 강도가 증강된 개선 모드의 이네이블 조건을 충족하는 것을 결정하는 단계를 포함하는 것을 특징으로 하는 디코딩 방법.
  3. 제2항에 있어서,
    상기 기설정된 제1 값이 0인 것을 특징으로 하는 디코딩 방법.
  4. 제1항에 있어서,
    상기 현재 픽셀 포인트의 기울기값 및 상기 현재 픽셀 포인트의 원본 픽셀값에 기초하여, 상기 현재 픽셀 포인트의 개선된 픽셀값을 결정하는 단계는,
    상기 현재 픽셀 포인트의 기울기값, 상기 현재 픽셀 포인트의 원본 픽셀값, 제1 개선 임계값, 제2 개선 임계값, 제1 개선 오프셋값 및 제2 개선 오프셋값에 기초하여, 상기 현재 픽셀 포인트의 개선된 픽셀값을 결정하는 단계를 포함하되;
    만약 상기 현재 픽셀 포인트의 기울기값이 제1 개선 임계값보다 크면, 상기 현재 픽셀 포인트의 원본 픽셀값 및 제1 개선 오프셋값에 기초하여 상기 현재 픽셀 포인트의 개선된 픽셀값을 결정하고;
    만약 상기 현재 픽셀 포인트의 기울기값이 제2 개선 임계값보다 작으면, 상기 현재 픽셀 포인트의 원본 픽셀값 및 제2 개선 오프셋값에 기초하여 상기 현재 픽셀 포인트의 개선된 픽셀값을 결정하는 것을 특징으로 하는 디코딩 방법.
  5. 제1항에 있어서,
    만약 현재 블록 내의 현재 픽셀 포인트가 증강된 개선 모드의 이네이블 조건을 충족하면, 상기 디코딩 방법은,
    상기 현재 블록의 인접된 블록으로부터 상기 현재 픽셀 포인트에 대응하는 참조 픽셀 포인트를 결정하고, 상기 참조 픽셀 포인트의 원본 픽셀값 및 상기 참조 픽셀 포인트의 주변 픽셀 포인트의 원본 픽셀값에 기초하여 상기 참조 픽셀 포인트의 기울기값을 결정하는 단계;
    상기 참조 픽셀 포인트의 기울기값, 상기 참조 픽셀 포인트의 원본 픽셀값, 제3 개선 임계값, 제4 개선 임계값, 제3 개선 오프셋값 및 제4 개선 오프셋값에 기초하여, 상기 참조 픽셀 포인트의 개선된 픽셀값을 결정하는 단계 - 만약 상기 참조 픽셀 포인트의 기울기값이 제3 개선 임계값보다 크면, 상기 참조 픽셀 포인트의 원본 픽셀값 및 제3 개선 오프셋값에 기초하여 상기 참조 픽셀 포인트의 개선된 픽셀값을 결정하고; 만약 상기 참조 픽셀 포인트의 기울기값이 제4 개선 임계값보다 작으면, 상기 참조 픽셀 포인트의 원본 픽셀값 및 제4 개선 오프셋값에 기초하여 상기 참조 픽셀 포인트의 개선된 픽셀값을 결정함 -;를 더 포함하는 것을 특징으로 하는 디코딩 방법.
  6. 제4항 또는 제5항에 있어서, 상기 디코딩 방법은:
    하이-레벨 신택스로부터 상기 현재 블록에 대응하는 제1 개선 임계값, 제1 개선 오프셋값, 제2 개선 오프셋값, 제3 개선 임계값, 제3 개선 오프셋값 및 제4 개선 오프셋값을 해석하는 단계를 더 포함하는 것을 특징으로 하는 디코딩 방법.
  7. 제1항 내지 제5항 중 어느 한 항에 있어서,
    현재 블록 내의 현재 픽셀 포인트가 증강된 개선 모드의 이네이블 조건을 충족하는 것을 결정하기 전에, 상기 디코딩 방법은:
    만약 상기 현재 블록에 대응하는 증강된 개선 모드 이네이블 플래그가 상기 현재 블록이 증강된 개선 모드를 이네이블하는 것을 허락하면, 상기 현재 블록 내의 현재 픽셀 포인트가 증강된 개선 모드의 이네이블 조건을 충족하는지 여부를 결정하는 단계를 더 포함하고;
    상기 디코딩 방법은, 하이-레벨 신택스로부터 상기 현재 블록에 대응하는 증강된 개선 모드 이네이블 플래그를 해석하는 단계를 더 포함하는 것을 특징으로 하는 디코딩 방법.
  8. 인코딩 방법으로서,
    만약 현재 블록 내의 현재 픽셀 포인트가 증강된 개선 모드의 이네이블 조건을 충족하면, 상기 현재 픽셀 포인트의 원본 픽셀값 및 상기 현재 픽셀 포인트의 주변 픽셀 포인트의 원본 픽셀값에 기초하여 상기 현재 픽셀 포인트의 기울기값을 결정하는 단계;
    상기 현재 픽셀 포인트의 기울기값 및 상기 현재 픽셀 포인트의 원본 픽셀값에 기초하여, 상기 현재 픽셀 포인트의 개선된 픽셀값을 결정하는 단계를 포함하고;
    상기 현재 블록 내의 현재 픽셀 포인트가 증강된 개선 모드의 이네이블 조건을 충족하는 단계는, 만약 상기 현재 블록 내의 현재 픽셀 포인트에 대응하는 필트링될 경계의 경계 강도가 증강된 개선 모드의 이네이블 조건을 충족하면, 상기 현재 픽셀 포인트가 증강된 개선 모드의 이네이블 조건을 충족하는 것을 결정하는 단계를 포함하는 것을 특징으로 하는 인코딩 방법.
  9. 디코딩 장치로서,
    비디오 데이터를 저장하도록 구성되는 메모리;
    제1항 내지 제7항 중 어느 한 항에 따른 방법을 구현하도록 구성되는 디코더를 포함하는 것을 특징으로 하는 디코딩 장치.
  10. 인코딩 장치로서,
    비디오 데이터를 저장하도록 구성되는 메모리;
    제8항에 따른 방법을 구현하도록 구성되는 인코더를 포함하는 것을 특징으로 하는 인코딩 장치.
  11. 디코더측 기기로서,
    프로세서 및 기계 판독 가능 저장매체를 포함하고, 상기 기계 판독 가능 저장매체에는 상기 프로세서에 의해 실행 가능한 기계 실행 가능한 명령이 저장되며;
    상기 프로세서는 기계 실행 가능한 명령을 실행하여, 제1항 내지 제7항 중 어느 한 항에 따른 방법을 구현하는 것을 특징으로 하는 디코더측 기기.
  12. 인코더측 기기로서,
    프로세서 및 기계 판독 가능 저장매체를 포함하고, 상기 기계 판독 가능 저장매체에는 상기 프로세서에 의해 실행 가능한 기계 실행 가능한 명령이 저장되며;
    상기 프로세서는 기계 실행 가능한 명령을 실행하여, 제8항에 따른 방법을 구현하는 것을 특징으로 하는 인코더측 기기.
  13. 기계 판독 가능 저장매체로서,
    상기 기계 판독 가능 저장매체에는 프로세서에 의해 실행 가능한 기계 실행 가능한 명령이 저장되고; 상기 프로세서는 상기 기계 실행 가능한 명령을 수행하여, 제1항 내지 제8항 중 어느 한 항에 따른 방법을 구현하는 것을 특징으로 하는 기계 판독 가능 저장매체.
KR1020237027399A 2021-02-23 2022-02-22 인코딩 및 디코딩 방법, 장치 및 이의 기기 KR20230128555A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN202110204154.2 2021-02-23
CN202110204154.2A CN114640845B (zh) 2021-02-23 2021-02-23 编解码方法、装置及其设备
PCT/CN2022/077298 WO2022179504A1 (zh) 2021-02-23 2022-02-22 编解码方法、装置及其设备

Publications (1)

Publication Number Publication Date
KR20230128555A true KR20230128555A (ko) 2023-09-05

Family

ID=81073883

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020237027399A KR20230128555A (ko) 2021-02-23 2022-02-22 인코딩 및 디코딩 방법, 장치 및 이의 기기

Country Status (9)

Country Link
US (1) US20240048695A1 (ko)
EP (1) EP4277267A4 (ko)
JP (1) JP2024506213A (ko)
KR (1) KR20230128555A (ko)
CN (2) CN114339223B (ko)
AU (1) AU2022227062B2 (ko)
TW (1) TWI806447B (ko)
WO (1) WO2022179504A1 (ko)
ZA (1) ZA202307790B (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113411584A (zh) * 2020-03-17 2021-09-17 北京三星通信技术研究有限公司 视频编解码的方法和装置
CN114339223B (zh) * 2021-02-23 2023-03-31 杭州海康威视数字技术股份有限公司 解码方法、装置、设备及机器可读存储介质

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7620261B2 (en) * 2004-11-23 2009-11-17 Stmicroelectronics Asia Pacific Pte. Ltd. Edge adaptive filtering system for reducing artifacts and method
WO2012071417A1 (en) * 2010-11-24 2012-05-31 Thomson Licensing Adaptive loop filtering
US9025675B2 (en) * 2011-06-22 2015-05-05 Texas Instruments Incorporated Systems and methods for reducing blocking artifacts
JP6087739B2 (ja) * 2013-06-07 2017-03-01 Kddi株式会社 動画像符号化装置、動画像復号装置、動画像システム、動画像符号化方法、動画像復号方法、およびプログラム
JP6289055B2 (ja) * 2013-11-27 2018-03-07 三菱電機株式会社 動画像符号化装置及び動画像復号装置
US9906790B2 (en) * 2014-03-14 2018-02-27 Qualcomm Incorporated Deblock filtering using pixel distance
US10595050B2 (en) * 2015-11-24 2020-03-17 Samsung Electronics Co., Ltd. Method and apparatus for post-processing intra or inter prediction block on basis of gradient of pixel
CN114979636B (zh) * 2017-10-09 2023-10-27 佳能株式会社 用于对样本块进行滤波的方法、装置和存储介质
CN109889853A (zh) * 2019-02-26 2019-06-14 北京大学深圳研究生院 一种去块效应滤波方法、***、设备及计算机可读介质
US11272203B2 (en) * 2019-07-23 2022-03-08 Tencent America LLC Method and apparatus for video coding
US11310519B2 (en) * 2019-09-18 2022-04-19 Qualcomm Incorporated Deblocking of subblock boundaries for affine motion compensated coding
CN113596462B (zh) * 2019-09-23 2022-07-01 杭州海康威视数字技术股份有限公司 编解码方法、装置及设备
WO2021056212A1 (zh) * 2019-09-24 2021-04-01 深圳市大疆创新科技有限公司 视频编解码方法和装置
CN111669584B (zh) * 2020-06-11 2022-10-28 浙江大华技术股份有限公司 一种帧间预测滤波方法、装置和计算机可读存储介质
CN114339223B (zh) * 2021-02-23 2023-03-31 杭州海康威视数字技术股份有限公司 解码方法、装置、设备及机器可读存储介质
CN114125445B (zh) * 2021-06-30 2023-03-24 杭州海康威视数字技术股份有限公司 解码方法、装置、设备及机器可读存储介质

Also Published As

Publication number Publication date
CN114640845B (zh) 2023-02-28
CN114339223B (zh) 2023-03-31
ZA202307790B (en) 2024-04-24
TW202245474A (zh) 2022-11-16
WO2022179504A1 (zh) 2022-09-01
US20240048695A1 (en) 2024-02-08
EP4277267A1 (en) 2023-11-15
TWI806447B (zh) 2023-06-21
JP2024506213A (ja) 2024-02-09
CN114339223A (zh) 2022-04-12
EP4277267A4 (en) 2024-07-03
CN114640845A (zh) 2022-06-17
AU2022227062A1 (en) 2023-09-07
AU2022227062B2 (en) 2023-12-14

Similar Documents

Publication Publication Date Title
US11553185B2 (en) Method and apparatus for processing a video signal
US11979601B2 (en) Encoder-side search ranges having horizontal bias or vertical bias
US10555006B2 (en) Deriving bilateral filter information based on a prediction mode in video coding
US10681372B2 (en) Encoder decisions based on results of hash-based block matching
US10390034B2 (en) Innovations in block vector prediction and estimation of reconstructed sample values within an overlap area
WO2019195215A1 (en) Deblocking filter for video coding and processing
US20120327999A1 (en) Encoding mode values representing prediction modes
KR20230098714A (ko) 영상 처리 방법 및 이를 위한 장치
KR20230128555A (ko) 인코딩 및 디코딩 방법, 장치 및 이의 기기
KR102294016B1 (ko) 변환생략을 참조하는 디블록킹 필터링을 이용한 영상의 부호화/복호화 방법 및 이를 이용하는 장치
CN114125445B (zh) 解码方法、装置、设备及机器可读存储介质
JP2019528648A (ja) サンプル適応オフセットを用いたビデオコード化のための方法及び機器
CN115516863A (zh) 用于分割语法的熵编解码
RU2817405C1 (ru) Способ, оборудование и устройства для кодирования и декодирования
WO2023246901A1 (en) Methods and apparatus for implicit sub-block transform coding
WO2024074131A1 (en) Method and apparatus of inheriting cross-component model parameters in video coding system
WO2023208219A1 (en) Cross-component sample adaptive offset
WO2023241340A1 (en) Hardware for decoder-side intra mode derivation and prediction
WO2024120478A1 (en) Method and apparatus of inheriting cross-component models in video coding system

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right