KR20120125160A - 에러에 강인한 필터링을 이용한 영상 부호화/복호화 방법 및 그 장치 - Google Patents

에러에 강인한 필터링을 이용한 영상 부호화/복호화 방법 및 그 장치 Download PDF

Info

Publication number
KR20120125160A
KR20120125160A KR1020120039422A KR20120039422A KR20120125160A KR 20120125160 A KR20120125160 A KR 20120125160A KR 1020120039422 A KR1020120039422 A KR 1020120039422A KR 20120039422 A KR20120039422 A KR 20120039422A KR 20120125160 A KR20120125160 A KR 20120125160A
Authority
KR
South Korea
Prior art keywords
block
filtering
filter
intra
encoding
Prior art date
Application number
KR1020120039422A
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 한국전자통신연구원
Priority to KR1020120039422A priority Critical patent/KR20120125160A/ko
Priority to PCT/KR2012/003540 priority patent/WO2012150849A2/ko
Priority to KR1020120047758A priority patent/KR102014177B1/ko
Publication of KR20120125160A publication Critical patent/KR20120125160A/ko
Priority to KR1020190064413A priority patent/KR102112264B1/ko
Priority to KR1020190123933A priority patent/KR102115822B1/ko
Priority to KR1020200056585A priority patent/KR102206225B1/ko
Priority to KR1020210006477A priority patent/KR20210008558A/ko
Priority to KR1020220115953A priority patent/KR20220130067A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/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/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/89Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder

Landscapes

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

Abstract

본 발명은 영상 부호화 및 복호화 시 필터링에 관한 기술로, 압축된 영상 비트스트림을 에러가 발생하기 쉬운 네트워크 채널로 전송할 때, CIP(Constrained Intra Prediction) 모드의 사용 여부와 복원된 영상 내 필터링 대상 경계 양측 블록의 부호화 파라미터를 판별하여 필터 적용 여부를 결정함으로써, 영상 복호화 과정이 에러에 강인하게 하는 이점이 있다.

Description

에러에 강인한 필터링을 이용한 영상 부호화/복호화 방법 및 그 장치 {Method and apparatus for video encoding and decoding using error resilient filtering}
본 발명은 영상 처리에 관한 것이다.
CIP는 에러에 강인하게 하기위한 기술로써 화면내 예측시 사용되는 주변의 복원된 샘플 영역이 화면간 부호화된 경우 해당 주변의 복원된 샘플을 이용하지 않고, 화면내 부호화되고 복원된 주변 샘플들을 보간법(interpolation) 혹은 외삽법(extrapolation)을 이용해 참조 샘플을 생성한 뒤, 해당 참조 샘플을 이용하여 화면내 예측을 수행한다. 에러가 발생하기 쉬운 네트워크 채널로 압축된 영상 비트스트림을 전송하여, 압축된 영상 비트스트림 내에서 에러가 발생한 경우, 복원된 영상 내에 에러가 발생하게 된다. 하지만 종래의 필터링은 CIP 모드의 사용 유무에 관계 없이 복원된 영상에 필터링을 수행하므로, 복원된 영상 내의 에러가 에러가 발생하지 않은 영역으로 전파될 수 있다. 따라서 종래의 필터링은 복원된 영상의 주관적 화질을 크게 저하시킬 수 있는 문제점을 가지고 있다.
본 발명은 전술한 종래기술의 문제점을 해결하기 위하여 CIP 모드의 사용 여부와 복원된 영상 내 필터링 대상 경계 양측 블록의 부호화 파라미터를 판별하여 영상 부호화 및 복호화 시 필터를 적용함으로써 에러에 강인하게 하는 데 그 목적이 있다.
CIP(Constrained intra prediction)는 에러에 강인하게 하기위한 기술로써 화면내 예측시 사용되는 주변의 복원된 샘플 영역이 화면간 부호화된 경우 예측 대상 블록 주변의 복원된 샘플을 이용하지 않고, 화면내 부호화되고 복원된 주변 샘플들을 보간법(interpolation) 혹은 외삽법(extrapolation)을 이용해 참조 샘플을 생성한 뒤, 해당 참조 샘플을 이용하여 화면내 예측을 수행한다. 따라서, 주변의 화면간으로 부호화된 블록이 참조하는 픽쳐가 손실되어도 예측 대상 블록에는 영향을 주지 않게 된다. 하지만 종래의 디블록킹 필터링 과정에서는 CIP 모드의 사용 유무 또는 부호화 파라미터에 관계 없이 복원된 영상에 필터링을 수행하므로, 복원된 영상 내의 에러(ex 화면간)가 에러가 발생하지 않은 영역(ex 화면내) 으로 전파될 수 있다. 따라서 종래의 필터링은 복원된 영상의 주관적 화질을 크게 저하시킬 수 있는 문제점을 가지고 있다.
이를 해결하기 위한 방법으로, 본 발명은 제안 방법의 사용여부를 나타내는 플래그를 전송하여, 사용하는 것으로 결정된 경우 현재 블록과 주변 블록의 부호화 파라미터에 따라 디블록킹 필터링을 제한함으로써, 화면간 부호화된 블록을 정상적으로 복원할 수 없는 경우에도 화면내 부호화된 블록의 정상 복호를 보장하도록 한다. 이렇게 함으로써 화면간 부호화된 블록의 오류가 화면내 부호화된 블록으로 전파 되는 것을 방지할 뿐 아니라, 화면내 부호화된 블록의 복원 결과가 부호화기와 복호화기에서 동일하도록 유지할 수 있다.
에러에 강인한 필터링을 이용한 영상 부호화/복호화 방법 및 그 장치.
본 발명에 따르면, CIP 모드의 사용 여부와 필터링 대상 경계 양측 블록의 부호화 파라미터를 판별하여 필터를 적용함으로써 에러에 강인하게 할 수 있는 이점이 있다.
도 1은 본 발명의 실시예이다.
에러에 강인한 필터링 방법 (부호화)
Figure pat00001

에러에 강인한 필터링 방법 (복호화)
Figure pat00002

[E1] 부호화 대상 시퀀스/픽쳐/프레임/필드/슬라이스/부호화블록/예측블록/ 변환블록이 CIP 모드(부호화 대상 블록의 화면내 예측시 화면간 부호화되어 복원된 샘플 정보를 사용하지 않는 방식)를 사용하는 지 아닌지를 판별하는 단계;
CIP 모드의 사용 여부를 판별하기 위한 정보를 signaling 할 수 있다. 예를 들어, SPS(Sequence Parameter Set) 또는 PPS(Picture Parameter Set) 또는 Slice header 등을 통하여 정보를 signaling 할 수 있다.
이때, CIP 모드의 사용 여부를 판별하기 위한 정보를 signaling하는 것은 부호화기(encoder)에서 비트스트림(bitstream)에 CIP모드의 사용 여부를 나타내는 플래그(flag)와 같은 지시자(indicator)를 삽입하여, 복호화기(decoder)에서 비트스트림을 파싱(parsing)하여 CIP 모드의 사용 여부를 판별할 수 있게 하는 것을 의미한다. 이때 지시자는 부호화기에서 산술 부호화(arithmetic coding) 혹은 가변길이 부호화(variable length coding) 등의 엔트로피 부호화 과정을 통해 비트스트림에 포함되며, 복호화기에서는 해당 엔트로피 복호화 과정을 통해 비트스트림 내의 지시자를 판별할 수 있다.
예를 들어, SPS를 통해서 시그널링 하는 경우, 아래와 같이 constrained_intra_pred_flag 를 전송하여 ‘0’이면 CIP 모드를 사용하지 않고, ‘1’이면 CIP 모드를 사용하는 것으로 나타낼 수 있다.
Figure pat00003
예를 들어, PPS를 통해서 시그널링 하는 경우, 아래와 같이 constrained_intra_pred_flag 를 전송하여 ‘0’이면 CIP 모드를 사용하지 않고, ‘1’이면 CIP 모드를 사용하는 것으로 나타낼 수 있다.
Figure pat00004

또한, 에러가 발생하기 쉬운 네트워크 환경에서 사용되는 특정한 목적의 부호화기와 복호화기에서는 CIP 모드의 사용 여부를 판별하기 위한 정보를 signaling하지 않고, CIP 모드를 부호화기와 복호화기에서 기본적으로 사용할 수도 있다.
상기에서 CIP 모드를 사용하는 경우, 다음과 같이 CIP을 수행할 수 있다.
화면내 예측을 수행함에 있어, 예측시 사용되는 참조 샘플이 화면간으로 부호화된 블록에 속한 경우, 해당 참조 샘 플값을 사용하지 않고 주변의 화면내로 부호화된 참조 샘플의 값을 이용하여 채운다. 즉, 주변의 화면내로 부호화된 정보만을 이용하여 현재 블록의 CIP를 수행함으로써, 에러 내성을 증대시킬 수 있다. 추가적으로, 주변의 화면내로 부호화된 값을 이용함에 있어, 상기 화면내 예측을 위해 필요한 참조샘플 이외의 값을 이용할 수도 있다.
예를 들어, [도1]에서와 같이 CIP 대상 블록이 ‘C’이고, 블록의 크기가 8x8일 경우, 화면내 예측을 위해 필요한 참조 샘플은 상단 부분(p[-1,-1]~p[15,-1])과 좌측 부분(p[-1,0]~p[-1,15])이 된다. 이때, p[x, y]는 대상 블록의 좌상의 샘플을 p[0, 0]으로 기준했을 때의 샘플을 나타낸다.
상기에서, 화면간으로 부호화된 참조 샘플 영역을 채우는 방법의 예는 다음과 같다.
예1) 화면내로 부호화된 하나의 값으로 채운다.
p[8,-1]~p[15,-1] = p[7,-1]
예2) 화면내로 부호화된 양 끝값의 평균으로 채운다.
p[-1,-1]~p[5,-1] = (p[-1,0] + p[6,-1] + 1)>>1
p[8,-1]~p[15,-1] = (p[7,-1] + p[16,-1] + 1)>>1
p[-1,4]~p[-1,11] = (p[-1,3] + p[-1,12] + 1)>>1
예3) 화면내로 부호화된 양 끝값을 이용해 선형 보간하여 채운다.
p[-1,4] = (7*p[-1,3] + p[-1,12] + 4)>>3
p[-1,5] = (6*p[-1,3] + 2*p[-1,12] + 4)>>3
p[-1,6] = (5*p[-1,3] + 3*p[-1,12] + 4)>>3
….
Figure pat00005
[도 1]
화면내 예측시에는 부호화 성능을 높이기 위하여 예측에 사용할 참조 샘플들 및 화면내 예측 값들에 대하여 필터링 수행할 수 있다.
필터링의 예를 들면, 필터 계수로 [1 2 1]을 갖는 3탭 저역통과 필터 혹은 [1 1]의 2탭 평균 필터 등을 사용할 수 있다.
만약 CIP 모드가 사용되는 상황에서 화면내 예측시 부호화/복호화 대상 블록 주변에 복원된 참조 샘플이 존재하지 않거나 부호화/복호화 대상 블록의 주변에 복원된 블록이 화면간 부호화되었다면, 부호화/복호화 대상 블록 주변의 복원된 화면내 블록의 샘플을 이용해서 부호화/복호화 대상 블록의 화면내 예측에 사용할 참조 샘플을 생성하여 사용해야 한다.
상기 참조 샘플 생성의 예를 들면, 부호화/복호화 대상 블록 주변의 복원된 화면내 블록의 샘플 값을 참조 샘플 값으로 사용하거나, 부호화/복호화 대상 블록 주변의 복원된 화면내 블록들의 샘플 값들의 평균값을 참조샘플 값으로 사용할 수 있다.
전술한 바와 같이 부호화/복호화 대상 블록 주변의 복원된 화면내 블록의 샘플을 사용하여 CIP 모드의 화면내 예측을 위한 참조 샘플을 생성할 경우에는, 생성된 참조 샘플 값들이 매우 유사하거나 동일한 값을 갖게 되므로 보통의 경우와 달리 참조 샘플들에 대한 필터링 수행하지 않는 것이 계산 복잡도 감소와 부호화 성능 향상 측면에서 바람직하며, 아울러 이 경우 화면내 예측 값들도 서로 매우 유사하거나 동일한 값을 갖게 되므로 화면내 예측 값들에 대한 필터링을 수행하지 않는 것이 바람직하다.
따라서, 본 발명에서는 CIP모드가 사용되는 상황에서 화면내 예측시, [1] 부호화/복호화 대상 블록 주변의 복원된 블록의 존재 유무, [2] 참조 샘플 값, 혹은 [3] 부호화/복호화 대상 블록의 주변에 복원된 블록의 부호화 파라미터 등을 이용하여 참조 샘플 및 화면내 예측된 값에 필터를 적응적으로 적용하기 위한 방법을 제시한다.
[1]을 사용하는 예: 부호화/복호화 대상 블록의 주변의 복원된 블록의 존재 유무를 이용해서, 참조 샘플 및 화면내 예측된 값에 필터를 적응적으로 적용할 수 있다.
예를 들어, 참조 샘플에 대해 필터를 적응적으로 적용하는 경우, 부호화/복호화 대상 블록을 화면내 예측하는데 필요한 참조 샘플이 속한 블록이 존재하지 않아서, 참조 샘플이 부호화/복호화 대상 블록의 주변에 복원된 블록 내 샘플 값 혹은 샘플 값들의 평균 등을 이용해서 생성된 경우, 참조 샘플에 대한 필터를 적용하지 않을 수 있다.
예를 들어, 화면내 예측된 값에 대해 필터를 적응적으로 적용하는 경우, 부호화/복호화 대상 블록을 화면내 예측하는데 필요한 참조 샘플이 속한 블록이 존재하지 않아서, 참조 샘플이 부호화/복호화 대상 블록의 주변에 복원된 블록 내 샘플 값 혹은 샘플 값들의 평균 등을 이용해서 생성되고 화면내 예측이 수행된 경우, 화면내 예측된 값에 대한 필터를 적용하지 않을 수 있다.
[2]를 사용하는 예: 참조 샘플 값을 이용해서, 참조 샘플 및 화면내 예측된 값에 필터를 적응적으로 적용할 경우, 참조 샘플들 간의 샘플 값 유사도 등을 이용할 수 있다. 이때, 샘플 값 유사도는 샘플들 간의 평균 값, 분산 값, 샘플들 값이 동일한지 등으로 측정될 수 있다.
예를 들어, 부호화/복호화 대상 블록의 주변에 복원된 참조 샘플이 존재하지 않거나, 혹은 부호화/복호화 대상 블록의 주변에 복원된 블록이 화면간 부호화되었다면, 부호화/복호화 대상 블록의 주변에 화면간 부호화되지 않은 블록 내의 샘플 값이 참조 샘플 값들로 될 수 있으며, 이러한 경우 참조 샘플 값이 유사하거나 동일할 수 있으므로 참조 샘플에 대한 필터를 적용하지 않을 수 있다. 또한, 부호화/복호화 대상 블록의 주변에 화면간 부호화되지 않은 블록들 내의 샘플 값들의 평균이 참조 샘플 값들로 될 수 있으며, 이러한 경우 참조 샘플 값이 유사하거나 동일할 수 있으므로 참조 샘플에 대한 필터를 적용하지 않을 수 있다.
예를 들어, 부호화/복호화 대상 블록의 주변에 복원된 참조 샘플이 존재하지 않거나, 혹은 부호화/복호화 대상 블록의 주변에 복원된 블록이 화면간 부호화되었다면, 부호화/복호화 대상 블록의 주변에 화면간 부호화되지 않은 블록 내의 샘플 값이 참조 샘플 값들로 될 수 있으며, 이러한 경우 참조 샘플 값이 유사하거나 동일할 수 있으므로, 유사하거나 동일할 수 있는 참조 샘플을 이용하여 화면내 예측된 값에 대한 필터를 적용하지 않을 수 있다. 또한, 부호화/복호화 대상 블록의 주변에 화면간 부호화되지 않은 블록들 내의 샘플 값들의 평균이 참조 샘플 값들로 될 수 있으며, 이러한 경우 참조 샘플 값이 유사하거나 동일할 수 있으므로, 유사하거나 동일할 수 있는 참조 샘플을 이용하여 화면내 예측된 값에 대한 필터를 적용하지 않을 수 있다.
[3]을 사용하는 예: 부호화/복호화 대상 블록의 주변에 복원된 블록의 부호화 파라미터를 이용해서, 참조 샘플 및 화면내 예측된 값에 필터를 적응적으로 적용할 경우, 부호화/복호화 대상 블록의 주변에 복원된 블록의 부호화 파라미터들인 화면내 예측 모드(intra prediction mode), MPM 플래그 (MPM flag), 화면간 예측 모드(inter prediction mode), 움직임 벡터(motion vector), 참조 영상 색인(reference picture index), 양자화 매개변수 (quantization parameter), 부호화 블록 플래그(coded block flag), 화면간 부호화(inter coding) 되었는지 화면내 부호화(intra coding)되었는지를 나타내는 부호화 모드(coding mode) 등 중에서 최소 하나 이상이 이용될 수 있다.
예를 들어, 상기 참조 샘플에 대한 필터를 적응적으로 적용할 경우,
해당하는 참조 샘플이 속한 블록이 화면간(inter coding)으로 부호화된 경우 참조 샘플에 대한 필터를 적용하지 않는 것으로 결정할 수 있다.
[도 1]에서 p[-1,-1]~p[5,-1], p[8,-1]~p[15,-1], p[-1,4]~p[-1,11]에 대하여 필터를 적용하지 않는다.
예를 들어, 상기 화면내 예측된 값에 대한 필터를 적응적으로 적용할 경우, 해당하는 참조 샘플이 속한 블록이 화면간(inter coding)으로 부호화된 경우 참조 샘플에 대한 필터를 적용하지 않는 것으로 결정할 수 있다.
여기서 필터 적용 영역은 화면내 예측된 값의 전체 또는 화면내 예측된 값 중 부호화/복호화 대상 블록과 주변 블록 사이의 경계 등이 될 수 있다.
[도 1]에서 p[0,0]~p[5,0], p[0,4]~p[0,7] 위치의 화면내 예측된 값에 대하여 필터를 적용하지 않는다.
Figure pat00006
[도 1]
상기 CIP 모드를 사용하는 경우에 복원된 영상에 대한 디블록킹 필터링을 수행함에 있어, 디블록킹 수행 과정은 다음과 같다.
1. 필터링 경계 판별 수단: 필터링을 수행할 대상 경계를 판별할 수 있다. 기본적으로 영상 부호화 및 복호화 과정에서 사용되는 영상이 분할된 부호화 및 복호화 단위가 필터링을 수행할 대상 경계로 판단될 수 있다. 예를 들어, 부호화 유닛(coding unit)의 경계, 예측 유닛(prediction unit)의 경계, 변환 유닛(transform unit)의 경계 중 어느 하나의 경계는 필터링을 수행할 대상 경계가 될 수 있다. 필터링 경계 판별은 부호화 유닛 단위, LCU(largest coding unit) 단위, 슬라이스(slice) 단위, 픽쳐(picture) 단위로 수행될 수 있다.
2. 필터링 수행 여부 결정 수단: 필터링 대상 경계의 필터 강도와 경계 주변 화소값을 이용한 계산식의 결과값 중 하나 이상을 이용하여 필터링 수행 여부를 결정할 수 있다. 예를 들어, 필터 강도는 경계 주변에 존재하는 복원된 샘플에 대해 필터링을 수행할 때, 저역 통과 필터(low pass filter)의 입력 샘플 수를 나타내는 탭 크기(tap size), 저역 통과 필터의 계수(coefficient) 등을 나타낼 수 있다. 이때, 필터 강도를 결정하기 위하여 부호화 파라미터가 사용될 수 있다. 예를 들어, 화면내 예측 모드, 화면간 예측 모드, 움직임 벡터, 참조 영상 색인, 부호화 블록 플래그 들 중 하나 이상을 사용할 수 있다. 예를 들어, 경계 주변 화소값을 이용한 계산식의 결과값은 필터링 대상 경계가 변환(transform) 및 양자화(quantization)로 인한 블록킹 현상(blocking artifact)인지 영상 내에 존재하는 실제 에지(edge)인지를 판별하는 계산식의 결과값일 수 있다. 따라서, 필터링 대상 경계의 필터 강도와 경계 주변 화소값을 이용한 계산식의 결과값을 이용해서 필터링 대상 경계에 대한 필터 적용 여부와 필터 종류를 결정할 수 있다.
3. 필터링 수행 수단: 상기에서 결정된 경계 및 수행 여부의 정보를 이용하여 필터링 대상 경계에 대한 필터링을 수행한다. 이때, 경계가 사람의 눈에 잘 보이지 않게 하기 위한 방법으로 경계 주변의 화소값을 부드럽게 하기 위해 경계 주변의 화소값의 변화량 등에 따라 저역 통과 필터, 원영상과 왜곡을 최소화하기 위한 Wiener 필터 등이 사용될 수 있다. 또한, 필터링 대상 경계에 따라 1차원 필터 혹은 2차원 이상의 다차원 필터가 사용될 수 있다. 예를 들어, 2차원 이상의 다차원 필터는 사각형, 원형, 직사각형 등의 필터의 모양(shape), 수평 대칭, 수직 대칭, 대각선 대칭 등의 필터 계수의 구조(structure)를 가질 수 있다. 또한, 상기 필터링 수행 여부 결정 수단에서 결정한 필터 강도 등에 따라 상기 나열한 다양한 필터가 필터링 수행 수단에서 사용될 수 있다.
[E2] 필터링 대상 경계 양측 블록의 부호화 파라미터를 판별하는 단계;
상기 ‘필터링 수행 여부 결정 수단’ 에서 필터링 대상 경계에 대하여 필터링 적용 여부 또는 강도를 결정함에 있어, 필터링 경계의 양측 블록의 부호화 파라미터를 이용할 수 있다. 이때, 부호화 파라미터로써 화면내 예측 모드(intra prediction mode), 화면간 예측 모드(inter prediction mode), 움직임 벡터(motion vector), 참조 영상 색인(reference picture index), 양자화 매개변수(quantization parameter), 부호화 블록 플래그(coded block flag), 화면간 부호화(inter coding)되었는지 화면내 부호화(intra coding)되었는지를 나타내는 부호화 모드(coding mode) 등 최소 하나 이상이 사용될 수 있다.
예를 들어, 디블록킹 필터링 대상 경계 양측 각 블록이 화면내로 부호화 되었는지 화면간으로 부호화되었는지 판별할 수 있다. 이때, 어느 블록이 화면내 부호화되었으면 해당 블록을 화면내 모드(intra mode)로 부호화되었다고 할 수 있고, 어느 블록이 화면간 부호화되었다면 해당 블록을 화면간 모드(inter mode)로 부호화되었다고 할 수 있다.
예를 들어, 상기 판별된 부호화 모드가 화면간으로 부호화 되었을 경우, 잔차 신호에 대한 변환 계수가 존재하는 지(예: 부호화 블록 플래그(CBF: coded block flag), 스킵 모드(skip mode))의 여부를 판별하고, 이에 따라 디블록킹 필터 처리 방법을 다르게 할 수 있다.
예를 들어, 블록이 PCM (pulse coded modulation) 모드로 부호화되었다면, 해당 블록은 화면내로 부호화되었다고 판별할 수 있다.
상기 ‘필터링 수행 여부 결정 수단’ 에서 필터링 대상 경계에 대하여 필터링 적용 여부 또는 강도를 결정함에 있어, 필터링 대상 경계의 양측 블록의 부호화 파라미터와 경계 주변 화소값을 이용한 계산식의 결과값을 함께 이용할 수 있다.
예를 들어, 경계 주변 화소값을 이용한 계산식의 결과값으로, 경계 주변 화소값들의 차이(difference), 기울기(gradient), 분산(variance), 평균(average) 등이 될 수 있다.
‘필터링 수행 수단’에서는 상기 ‘필터링 경계 판별 수단’에서 결정된 경계에 대하여 필터링을 적용함에 있어, ‘필터링 수행 여부 결정 수단’으로부터의 결과를 이용하여 디블록킹 필터링을 수행한다. 이때, 화소값을 이용한 계산식의 결과값 또는 필터 강도 등에 따라 다른 종류의 필터를 이용해서 필터링 대상 경계 주변의 화소에 대해 필터링을 수행할 수 있고, 필터 강도가 0이거나, 계산식의 결과값이 특정 임계치보다 클 경우에 해당 필터링 대상 경계에 대해 필터링을 수행하지 않는 것으로 할 수 있다.
경계 양측 블록의 부호화 모드가 모두 INTRA 모드인 경우, 필터링 대상 경계 양측 샘플들에 대해 디블록킹 필터를 수행한다.
예를 들어, [도 3]에서와 같이 필터링 대상 두 블록이 모두 화면내로 부호화되었을 경우, 양측 대상 영역의 하나 이상의 샘플에 대해 필터링을 수행할 수 있다.
Figure pat00007
[도 3]
경계 양측 블록의 부호화 모드가 모두 INTER (Merge Mode 또는 Skip Mode 또는 PU_2Nx2N 또는 PU_2NxN 또는 PU_Nx2N 또는 PU_NxN) 모드인 경우, 필터 강도를 결정하지 않고 필터링을 수행하지 않을 수 있다.
예를 들어, [도 4]에서와 같이 경계 양측 블록의 부호화 모드가 모두 INTER (Merge Mode 또는 Skip Mode 또는 PU_2Nx2N 또는 PU_2NxN 또는 PU_Nx2N 또는 PU_NxN) 모드인 경우, 필터 강도 (boundary strength)를 0으로 결정할 수 있다.
아래 의 조건을 만족할 경우, bS[ filterDir ][ xEk ][ yEj ] = 0 이 된다.
>> 샘플 p0 와 q0 가 INTER 모드로 부호화된 부호화 유닛에 속한다.
>> constrained_intra_pred_flag = 1.
이때, bS는 필터 강도, filterDir는 1차원 필터의 적용 방향 (수직/수평), xEk와 yEj는 필터링 대상 경계 위치, p0는 경계를 중심으로 좌측 혹은 상단 블록의 화소, p1은 경계를 중심으로 우측 혹은 하단 블록의 화소가 될 수 있다.
Figure pat00008
[도 4]
[E3-1] 필터링 대상 경계 양측 샘플들 중 INTER 모드 블록에 속하는 샘플들에 대해서만 디블록킹 필터를 수행할 수 있다.
예를 들어, [도 5]에서와 같이 경계 양측 블록 중 한 쪽의 부호화 모드만 INTRA 모드인 경우, INTER (Merge Mode 또는 Skip Mode 또는 PU_2Nx2N 또는 PU_2NxN 또는 PU_Nx2N 또는 PU_NxN) 모드 블록에 속하는 샘플들에 대해서만 디블록킹 필터를 수행할 수 있다.
bS 가 ‘0’이 아닌 경우, 아래의 조건들이 적용된다.
d 가 (β >> 2) 보다 작고, | p3 - p0 | + | q0 - q3 | 이 (β >> 3) 보다 작으며 | p0 - q0 | ( 5*tC + 1 ) >> 1 보다 작은 경우, 아래의 강한 필터를 적용한다.
p0 가 INTER 모드로 부호화된 부호화 유닛에 속한 경우
p0’ = Clip1Y( ( p2 + 2*p1 + 2*p0 + 2*q0 + q1 + 4 ) >> 3 )
p1’ = Clip1Y( ( p2 + p1 + p0 + q0 + 2 ) >> 2 )
p2’ = Clip1Y( ( 2*p3 + 3*p2 + p1 + p0 + q0 + 4 ) >> 3 )
q0 가 INTER 모드로 부호화된 부호화 유닛에 속한 경우
q0’ = Clip1Y( ( p1 + 2*p0 + 2*q0 + 2*q1 + q2 + 4 ) >> 3 )
q1’ = Clip1Y( ( p0 + q0 + q1 + q2 + 2 ) >> 2 )
q2’ = Clip1Y( ( p0 + q0 + q1 + 3*q2 + 2*q3 + 4 ) >> 3 )
상기의 조건에 해당하지 않는 경우, 아래의 약한 필터를 적용한다.
△ = Clip3( -tC, tC, ( 13*( q0 - p0 ) + 4*( q1 - p1 ) - 5*( q2 - p0 ) + 16 ) >> 5 )
p0 가 INTER 모드로 부호화된 부호화 유닛에 속한 경우
p0’ = Clip1Y( p0 + △)
q0’ = Clip1Y( q0 - △)
q0 가 INTER 모드로 부호화된 부호화 유닛에 속한 경우
p1’ = Clip1Y( p1 + △/2 )
q1’ = Clip1Y( q1 - △/2 )
이때, d는 화소값들의 차이, bS는 필터 강도, tC는 결정된 강도 내에서 필터를 적용하기 위한 임계치, β는 필터 수행 여부 및 강도를 결정하기 위한 임계치, p0, p1, p2, q0, q1, q2는 경계 양측 블로 내의 화소, nD는 필터가 적용된 샘플 수를 의미할 수 있고, Clip3와 Clip1Y()로 샘플값의 다이내믹 레인지(dynamic range)를 조절할 수 있다.
Figure pat00009
[도 5]
[E3-2] 필터링 대상 경계 양측 샘플들에 대해서 디블록킹 필터를 수행하지 않을 수 있다
예를 들어, [도 6]에서와 같이 경계 양측 블록 중 한 쪽의 부호화 모드만 INTRA (PU_2Nx2N 또는 PU_NxN) 모드인 경우, 필터 강도를 결정하지 않고 필터링을 수행하지 않을 수 있다.
예를 들어, [도 6]에서와 같이 경계 양측 블록 중 한 쪽의 부호화 모드만 INTRA (PU_2Nx2N 또는 PU_NxN) 모드인 경우, 필터 강도 (boundary strength)를 0으로 결정할 수 있다.
아래의 조건을 만족할 경우, variable bS[ filterDir ][ xEk ][ yEj ] = 0.
샘플 p0 또는 q0 가 INTRA 모드로 부호화된 부호화 유닛에 속한다.
constrained_intra_pred_flag = 1.
이때, bS는 필터 강도, filterDir는 1차원 필터의 적용 방향 (수직/수평), xEk와 yEj는 필터링 대상 경계 위치, p0는 경계를 중심으로 좌측 혹은 상단 블록의 화소, p1은 경계를 중심으로 우측 혹은 하단 블록의 화소가 될 수 있다.
Figure pat00010
[도 6]
[E3-1]과 [E3-2]에 추가적으로 상기 양측 블록의 부호화 모드가 모두 INTRA인 경우 상기 필터링 대상 경계 양측 샘플들에 대해 디블록킹 필터를 수행할 수 있다.
예를 들어, 상기 양측 블록의 부호화 모드가 모두 INTRA인 경우, 양측 블록 내의 복원된 샘플은 에러가 발생하지 않았을 수 있으므로, 해당 필터링 대상 경계 양측 샘플들에 대해서는 상기 디블록킹 수행 과정에 따라 디블록킹 필터를 수행할 수 있다.
[E3-1]과 [E3-2]에 추가적으로 상기 양측 블록의 부호화 모드가 모두 INTER인 경우 상기 필터링 대상 경계 양측 샘플들에 대해 디블록킹 필터를 수행하지 않을 수 있다.
예를 들어, 상기 양측 블록의 부호화 모드가 모두 INTER인 경우, 양측 블록 내의 복원된 샘플은 에러가 발생했을 수 있으므로, 해당 필터링 대상 경계 양측 샘플들에 대해서는 상기 디블록킹 수행 과정에 따라 디블록킹 필터를 수행하지 않을 수 있다.
추가적으로, 다음 조합에 따른 방법들을 시그널링 하지 않고 무조건 수행할 수 있다.
조합1: 필터링 대상 경계 양측 블록의 부호화 모드가
> 모두 INTRA인 경우: 양측 샘플들에 디블록킹 필터를 수행한다.
> 모두 INTER인 경우: 양측 샘플들에 디블록킹 필터를 수행 하지 않는다.
> 한 쪽만 INTER인 경우: 양측 샘플들에 디블록킹 필터를 수행 하지 않는다.
조합2: 필터링 대상 경계 양측 블록의 부호화 모드가
> 모두 INTRA인 경우: 양측 샘플들에 디블록킹 필터를 수행한다.
> 모두 INTER인 경우: 양측 샘플들에 디블록킹 필터를 수행 하지 않는다.
> 한 쪽만 INTER인 경우: INTER 모드 블록의 샘플들에 대해서만 디블록킹 필터를 수행한다.
CIP 사용 여부를 나타내는 constrained_intra_pred_flag가 1 일때, 디블록킹 필터를 적용함에 있어 양측 블록의 부호화 모드에 따라 필터 적용을 달리 하는 보다 상세한 예를 [도7]을 이용하여 설명하면 다음과 같다.
[도7]의 (a)와 같이 양측 블록의 부호화 모드가 모두 INTRA인 경우의 예를 들면, 양측 블록 내의 복원된 샘플은 주변의 에러가 발생한 INTER 블록으로부터 영향을 받지 않으므로, 해당 필터링 대상 경계 양측 샘플들에 대해서는 상기 디블록킹 수행 과정에 따라 디블록킹 필터를 수행할 수 있다.
[도7]의 (d)와 같이 양측 블록의 부호화 모드가 모두 INTER인 경우의 예를 들면, 양측 블록 내의 복원된 샘플에 에러가 발생했을 수 있으나, 디블록킹을 수행하여서 발생하는 문제는 없기 때문에 에러가 발생하지 않는 상황을 고려하여, 해당 필터링 대상 경계 양측 샘플들에 대해서는 상기 디블록킹 수행 과정에 따라 디블록킹 필터를 수행할 수 있다.
[도7]의 (b) 또는 (c)와 같이 양측 블록의 부호화 모드중 한 블록은 INTRA이고 다른 한 블록은 INTER인 경우의 예를 들면, INTER 블록 내의 복원된 샘플에 에러가 발생할 수 있다. 이러한 상황에서 디블록킹 필터를 수행하면, 에러가 발생한 INTER 블록의 샘플들이 에러가 발생하지 않은 INTRA 블록의 샘플에 영향을 주게 된다. 따라서, 양측 블록 중 INTRA 블록 내의 복원된 샘플에 대하여 상기 디블록킹 수행 과정을 수행하지 않음으로써 에러 전파를 방지한다.
Figure pat00011
[도 7]
일반적으로, 필터링 대상 블록이 PCM 모드(I_PCM)이고 pcm_loop_filter_disable_flag = 1 이면, PCM 블록에 대하여 디블록킹 필터링을 수행하지 않는다. 이러한 경우도 포함하여 본 발명에 의한 디블록킹 필터 적용 여부 결정 과정을 순서도로 나타내면 [도8]과 같다.
이때, pcm_loop_filter_disable_flag란 PCM 사용을 허용하는 경우, 디블록킹 필터 적용함에 있어, 압축되지 않은 원본샘플을 이용하는 I_PCM 블록에 대하여 필터를 적용하지 않게 하기 위한 플래그를 나타낸다.
Figure pat00012
[도 8]
[도8]을 상세하게 설명하면 다음과 같다.
CIP를 적용하는 경우, 즉 constrained_intra_pred_flag가 1인 경우에는, 양측 블록 P와 Q의 부호화 모드를 판별한 후, 두 블록 중 한 블록만 Intra이고 다른 한 블록은 Inter이면, Intra인 블록에 대하여 디블록킹 필터를 적용하지 않는다. 이때 만약 두 블록이 모두 Inter이거나 모두 Intra인 경우에는 pcm_loop_filter_disable_flag가 1이면, 양측 블록 P와 Q에 대해 각각 I_PCM 모드인지 여부를 판별한 후, I_PCM 모드인 블록에 대하여는 디블록킹 필터를 적용하지 않는다.
CIP를 적용하지 않는 경우, 즉 constrained_intra_pred_flag가 0인 경우에는, pcm_loop_filter_disable_flag가 1이면, 양측 블록 P와 Q에 대해 각각 I_PCM 모드인지 여부를 판별한 후, I_PCM 모드인 블록에 대하여는 디블록킹 필터를 적용하지 않는다.
상기에서 디블록킹 필터를 적용하지 않는 것으로 결정된 블록에 해당하지 않는 블록은, 상기 디블록킹 수행과정에 따라 디블록킹 필터를 수행할 수 있다.
본 발명에 의한 Luma 샘플 디블록킹 필터링 과정의 한 예를 순차적으로 상세히 기술하면 다음과 같다.
> 입력
샘플 값: pi, qi (i = 0..3),
필터를 적용하기 위한 임계치: tC
필터 강도: dSam
> 출력
필터링된 샘플 수: nD
필터링된 샘플 값: pi’, qi’ (i = 0..nD - 1)
> dSam 이 1이면, nD를 3으로 하고 다음의 강한 필터를 적용한다
아래 조건 중, 하나를 만족하면 다음의 필터를 적용한다.
(조건1) constrained_intra_pred_flag=0 이고, pcm_loop_filter_disable_flag=0.
(조건2) constrained_intra_pred_flag=0 이고, pcm_loop_filter_disable_flag=1이면서 pi (i = 0..nD-1)는 I_PCM 블록에 속하지 않는다.
(조건3) constrained_intra_pred_flag=1 이고, pi (i = 0..nD-1) 는 Intra 블록에 속하지 않고, qi (i = 0..nD-1) 는 Intra 블록에 속한다.
(조건4) constrained_intra_pred_flag=1 이고, pi 와 qi (i = 0..nD-1) 가 모두 Intra 블록에 속한다.
(조건5) constrained_intra_pred_flag=1 이고, pi 와 qi (i = 0..nD-1) 가 모두 Inter 블록에 속한다.
필터 적용
p0’ = Clip1Y( ( p2 + 2*p1 + 2*p0 + 2*q0 + q1 + 4 ) >> 3 )
p1’ = Clip1Y( ( p2 + p1 + p0 + q0 + 2 ) >> 2 )
p2’ = Clip1Y( ( 2*p3 + 3*p2 + p1 + p0 + q0 + 4 ) >> 3 )
아래 조건 중, 하나를 만족하면 다음의 필터를 적용한다.
(조건1) constrained_intra_pred_flag=0 이고, pcm_loop_filter_disable_flag=0.
(조건2) constrained_intra_pred_flag=0 이고, pcm_loop_filter_disable_flag=1이면서 qi (i = 0..nD-1)는 I_PCM 블록에 속하지 않는다.
(조건3) constrained_intra_pred_flag=1 이고, pi (i = 0..nD-1) 는 Intra 블록에 속하고, qi with (i = 0..nD-1) 는 Intra 블록에 속하지 않는다.
(조건4) constrained_intra_pred_flag=1 이고, pi 와 qi (i = 0..nD-1) 가 모두 Intra 블록에 속한다.
(조건5) constrained_intra_pred_flag=1 이고, pi 와 qi (i = 0..nD-1) 가 모두 Inter 블록에 속한다.
필터 적용
q0’ = Clip1Y( ( p1 + 2*p0 + 2*q0 + 2*q1 + q2 + 4 ) >> 3 )
q1’ = Clip1Y( ( p0 + q0 + q1 + q2 + 2 ) >> 2 )
q2’ = Clip1Y( ( p0 + q0 + q1 + 3*q2 + 2*q3 + 4 ) >> 3 )
> dSam이 1이 아니면, nD를 2로 하고 다음의 약한 필터를 적용한다.
△ = Clip3( -tC, tC, ( 13*( q0 - p0 ) + 4*( q1 - p1 ) - 5*( q2 - p0 ) + 16 ) >> 5 )
아래 조건 중, 하나를 만족하면 다음의 필터를 적용한다.
(조건1) constrained_intra_pred_flag=0 이고, pcm_loop_filter_disable_flag=0.
(조건2) constrained_intra_pred_flag=0 이고, pcm_loop_filter_disable_flag=1이면서 pi (i = 0..nD-1)는 I_PCM 블록에 속하지 않는다.
(조건3) constrained_intra_pred_flag=1 이고, pi (i = 0..nD-1) 는 Intra 블록에 속하지 않고, qi (i = 0..nD-1) 는 Intra 블록에 속한다.
(조건4) constrained_intra_pred_flag=1 이고, pi 와 qi (i = 0..nD-1) 가 모두 Intra 블록에 속한다.
(조건5) constrained_intra_pred_flag=1 이고, pi 와 qi (i = 0..nD-1) 가 모두 Inter 블록에 속한다.
필터 적용
p0’ = Clip1Y( p0 + △ )
p1’ = Clip1Y( p1 + △/2 )
아래 조건 중, 하나를 만족하면 다음의 필터를 적용한다.
(조건1) constrained_intra_pred_flag=0 이고, pcm_loop_filter_disable_flag=0.
(조건2) constrained_intra_pred_flag=0 이고, pcm_loop_filter_disable_flag=1이면서 qi (i = 0..nD-1)는 I_PCM 블록에 속하지 않는다.
(조건3) constrained_intra_pred_flag=1 이고, pi (i = 0..nD-1) 는 Intra 블록에 속하고, qi with (i = 0..nD-1) 는 Intra 블록에 속하지 않는다.
(조건4) constrained_intra_pred_flag=1 이고, pi 와 qi (i = 0..nD-1) 가 모두 Intra 블록에 속한다.
(조건5) constrained_intra_pred_flag=1 이고, pi 와 qi (i = 0..nD-1) 가 모두 Inter 블록에 속한다.
필터 적용
q0’ = Clip1Y( q0 - △)
q1’ = Clip1Y( q1 - △/2 )
본 발명에 의한 Chroma 샘플 디블록킹 필터링 과정의 한 예를 순차적으로 상세히 기술하면 다음과 같다.
> 입력
샘플 값: pi, qi (i = 0..1)
필터를 적용하기 위한 임계치: tC
필터 강도: bS
> 출력
필터링된 샘플 값: p0’, q0’
> bS 가 2보다 크면, p0’와 q0’ 를 다음과 같이 유도한다.
△ = Clip3( -tC, tC, ( ( ( ( q0 - p0 ) << 2 ) + p1 - q1 + 4 ) >> 3 ) )
아래 조건 중, 하나를 만족하면 다음의 필터를 적용한다.
(조건1) constrained_intra_pred_flag=0 이고, pcm_loop_filter_disable_flag=0.
(조건2) constrained_intra_pred_flag=0 이고, pcm_loop_filter_disable_flag=1이면서 p0는 I_PCM 블록에 속하지 않는다.
(조건3) constrained_intra_pred_flag=1 이고, p0 는 Intra 블록에 속하지 않고, q0 는 Intra 블록에 속한다.
(조건4) constrained_intra_pred_flag=1 이고, p0 와 q0 가 모두 Intra 블록에 속한다.
(조건5) constrained_intra_pred_flag=1 이고, p0 와 q0 가 모두 Inter 블록에 속한다.
필터 적용
p0’ = Clip1C( p0 + △ )
아래 조건 중, 하나를 만족하면 다음의 필터를 적용한다.
(조건1) constrained_intra_pred_flag=0 이고, pcm_loop_filter_disable_flag=0.
(조건2) constrained_intra_pred_flag=0 이고, pcm_loop_filter_disable_flag=1이면서 q0는 I_PCM 블록에 속하지 않는다.
(조건3) constrained_intra_pred_flag=1 이고, p0 는 Intra 블록에 속하고, q0 는 Intra 블록에 속하지 않는다.
(조건4) constrained_intra_pred_flag=1 이고, p0 와 q0 가 모두 Intra 블록에 속한다.
(조건5) constrained_intra_pred_flag=1 이고, p0 와 q0 가 모두 Inter 블록에 속한다.
필터 적용
q0’ = Clip1C( q0 - △)
본 발명의 복호화 과정 일 실시예는 다음과 같을 수 있다.
[D1] 제한된 화면내 예측을 수행하는 경우(즉, constrained_intra_pred_flag 가 1인 경우)에, constrained_in_loop_filter_flag를 파싱하여 에러에 강인한 디블록킹 수행 여부 를 결정할 수 있으며, 이 때, constrained_in_loop_filter_flag 가 1이면 제한된 인루프 필터를 수행하는 것을 의미하며, 0이면 제한된 인루프 필터를 수행하지 않는 것을 의미할 수 있다. 또한, 제한된 인루프 필터의 적용 대상은 디블록킹 필터, 오프셋 보상(SAO), 루프 필터(ALF) 중 적어도 하나 이상이 될 수 있다.
Figure pat00013

Clip3( a, b, c) 는 a와 b의 범위 내로 c 의 값을 클립핑하는 것을 나타낼 수 있다.
Clip1Y에 대해서는 Clip1Y(x) = Clip3( 0, (1<<BitDepthY)-1, x ) 로 정의할 수 있으며, BitDepthY 는 휘도(Luma) 신호의 bit depth를 나타낼 수 있다.
휘도(Luma) 샘플에 대한 디블록킹 과정의 한 실시예를 기술하면 다음과 같을 수 있다.
> 입력
샘플 값: pi, qi (i = 0~3),
p1 과 q1 각각의 샘플들에 대한 필터 적용 여부사항: dEp1, dEq1
필터를 적용하기 위한 임계치: tc
> 출력
필터링된 샘플 수: nDp, nDq
필터링된 샘플 값: pi’, qj’(i = 0 ~ nDp -1, j = 0 ~ nDq - 1)
> dE = 2이면, nDp 와 nDq 를 3으로 하고 다음의 강한 필터를 적용한다
p0’ = Clip3( p0 - 2*tc, p0 + 2*tc, (p2 + 2*p1 + 2*p0 + 2*q0 + q1 + 4 ) >> 3 )
p1’ = Clip3( p1 - 2*tc, p1 + 2*tc, (p2 + p1 + p0 + q0 + 2 ) >> 2 )
p2’ = Clip3( p2 - 2*tc, p2 + 2*tc, (2*p3 + 3*p2 + p1 + p0 + q0 + 4 ) >> 3 )
q0’ = Clip3( q0 - 2*tc, q0 + 2*tc, (p1 + 2*p0 + 2*q0 + 2*q1 + q2 + 4 ) >> 3 )
q1’ = Clip3( q1 - 2*tc, q1 + 2*tc, (p0 + q0 + q1 + q2 + 2 ) >> 2 )
q2’ = Clip3( q2 - 2*tc, q2 + 2*tc, (p0 + q0 + q1 + 3*q2 + 2*q3 + 4 ) >> 3 )
> dE = 2가 아니면, nDp 와 nDq 를 1로 하고, 다음의 약한 필터를 적용한다.
△ = ( 9*( q0 - p0 ) - 3*( q1 - p1 ) + 8 ) >> 4 )
abs(△) < tc*10 이면, 다음 단계가 적용된다.
p0’ 와 q0’ 가 다음과 같이 구해진다.
p0’ = Clip1Y( p0 + △ )
q0’ = Clip1Y( q0 - △ )
dEp1 = 1 이면, pi’가 다음과 같이 구해진다.
△p = Clip3 ( -(tc>>1), tc>>1, ((( p2 + p0 + 1 )>>1 ) - p1 + △ )>>1 )
pi’ = Clip1Y( p1 + △p )
dEq1 = 1 이면, qi’ 가 다음과 같이 구해진다.
△q = Clip3 ( -(tc>>1), tc>>1, ((( q2 + q0 + 1 )>>1 ) - q1 - △ )>>1 )
qi’ = Clip1Y( q1 + △q )
nDp 는 dEp1+1 이 되고, nDq 는 dEq1+1 이 된다.
아래 두 조건 중, 하나 이상을 만족하면, pi’ (i = 0 ~ nDp-1) 는 입력 샘플 pi 로 변경 된다.
(조건1) pi 가 I_PCM 블록의 샘플이고, pcm_loop_filter_disable_flag value is equal = 1 인 경우
(조건2) pi 가 화면내 블록의 샘플이고, qi가 화면간 블록의 샘플이며, constrained_in_loop_filter_flag=1 인 경우
아래 두 조건 중, 하나 이상을 만족하면, qj’ (j = 0 ~ nDq-1) 는 입력 샘플 qj 로 변경 된다.
(조건1) qj 가 I_PCM 블록의 샘플이고, pcm_loop_filter_disable_flag value is equal = 1 인 경우
(조건2) qj 가 화면내 블록의 샘플이고, pj가 화면간 블록의 샘플이며, constrained_in_loop_filter_flag=1 인 경우
본 발명의 복호화 과정 일 실시예는 다음과 같을 수 있다. (계속)
Clip1C에 대해서는 Clip1C(x) = Clip3( 0, (1<<BitDepthC)-1, x ) 로 정의할 수 있으며, BitDepthC 는 색차(Chroma) 신호의 bit depth를 나타낼 수 있다.
색차(Chroma) 샘플에 대한 디블록킹 과정의 한 실시예를 기술하면 다음과 같을 수 있다.
> 입력
샘플 값: pi, qi (i = 0, 1),
필터를 적용하기 위한 임계치: tc
> 출력
필터링된 샘플 값: p0’, q0
> 다음의 필터를 적용한다
△ = Clip3( -tc, tc, (((( q0 - p0 )<<2 ) + p1 - q1 + 4 )>> 3 ))
p0’ = Clip1C( p0 + △ )
q0’ = Clip1C( q0 - △ )
아래 두 조건 중, 하나 이상을 만족하면, p0’ 는 입력 샘플 p0 로 변경 된다.
(조건1) p0 가 I_PCM 블록의 샘플이고, pcm_loop_filter_disable_flag value is equal = 1 인 경우
(조건2) p0 가 화면내 블록의 샘플이고, q0가 화면간 블록의 샘플이며, constrained_in_loop_filter_flag=1 인 경우
아래 두 조건 중, 하나 이상을 만족하면, q0’ 는 입력 샘플 q0 로 변경 된다.
(조건1) q0 가 I_PCM 블록의 샘플이고, pcm_loop_filter_disable_flag value is equal = 1 인 경우
(조건2) q0 가 화면내 블록의 샘플이고, p0가 화면간 블록의 샘플이며, constrained_in_loop_filter_flag=1 인 경우
[D1], [D2], [D3-1], [D3-2]는 각각 [E1], [E2], [E3-1], [E3-2]과 동일한 방법으로 수행될 수 있다.
에러에 강인한 필터링을 위한 시그널링 방법 (부호화)
Figure pat00014

에러에 강인한 필터링을 위한 시그널링 방법 (복호화)
Figure pat00015

[EN1] 복원된 영상에 대한 디블록킹 필터링을 수행함에 있어
[EN1-1]: 상기 필터링 대상 경계 양측 샘플들 중 INTER 모드 블록에 속하는 샘플들에 대해서만 디블록킹 필터를 수행한다.
예를 들어, 상기 [E3-1] 과 같은 방법으로 디블록킹 필터를 수행할 수 있다.
[EN1-2]: 상기 필터링 대상 경계 양측 샘플들에 대해서 디블록킹 필터를 수행하지 않는다.
예를 들어, 상기 [도 4]와 같이 필터링 대상 경계 양측 블록이 모두 INTER 모드로 부호화 된 경우, 또는 [E3-1]과 같은 경우 양측 샘플들에 대해서 디블록킹 필터를 수행하지 않음;
[EN1-3]: 상기 필터링 대상 경계 양측 샘플들에 대해서 모두 디블록킹 필터를 수행한다.
예를 들어, [도 3]과 같이 필터링 대상 경계 양측 블록이 모두 INTRA 모드로 부호화된 경우, 양측 샘플들에 대해서 디블록킹 필터를 수행할 수 있다.
상기 3가지 방법 중 적어도 두 개 이상의 방법 중 하나의 방법으로 디블록킹을 처리함을 나타내는 정보를 시그널링 하는 단계; 이때, 시그널링은 부호화 유닛 단위, 예측 유닛 단위, 변환 유닛 단위, LCU(largest coding unit) 단위, 슬라이스(slice) 단위, 픽쳐(picture) 단위로 수행될 수 있다
예를 들어, [EN1-1]과 [EN1-2]를 사용하는 경우, deblocking_CIP_flag를 전송할 수 있다. 이때, deblocking_CIP_flag 가 ‘1’인 경우, [EN1-1]과 같이 INTER 모드 블록에 속하는 샘플에 대해서만 디블록킹 필터를 수행하고, ’0’인 경우에는 경계 양측 샘플들에 대해서 디블록킹을 수행하지 않는다.
예를 들어, [EN1-1]과 [EN1-3]을 사용하는 경우, deblocking_CIP_flag를 전송할 수 있다. 이때, deblocking_CIP_flag 가 ‘1’인 경우, [EN1-1]과 같이 INTER 모드 블록에 속하는 샘플에 대해서만 디블록킹 필터를 수행하고, ’0’인 경우에는 경계 양측 샘플들에 대해서 모두 디블록킹을 수행한다.
[EN2-1] 부호화 대상 시퀀스/픽쳐/프레임/필드/슬라이스/부호화블록/예측블록/ 변환블록이 CIP 모드를 사용하는 지 아닌지에 따라 상기 시그널링 방법을 달리하는 것을 추가적인 특징으로 함;
CIP 모드의 사용 여부를 판별하기 위한 정보를 시그널링 하는 방법은 [E1]과 같은 방법으로 수행할 수 있다.
상기의 시그널링 정보에 따라 상기 [EN1]에서 어떠한 방법으로 디블록킹을 처리하는지에 대한 시그널링을 달리 할 수 있다. 예를 들어, 아래와 같이 CIP모드가 사용된 경우 (constrained_intra_pred_flag 가 ‘1’인 경우), 상기의 디블록킹 처리 방법에 대한 deblocking_CIP_flag 의 시그널링을 수행하고, CIP모드가 사용되지 않았을 경우 (constrained_intra_pred_flag 가 ‘0’인 경우) 에는, 상기 디블록킹 처리 방법에 대한 시그널링을 하지 않을 수 있다.
Figure pat00016
이때, 디블록킹 처리 방법을 시그널링 하는 것은 부호화기(encoder)에서 비트스트림(bitstream)에 디블록킹 처리 방법을 나타내는 플래그(flag)와 같은 지시자(indicator)를 삽입하여, 복호화기(decoder)에서 비트스트림을 파싱(parsing)하여 디블록킹 처리 방법을 판별할 수 있게 하는 것을 의미한다. 이때 지시자는 부호화기에서 산술 부호화(arithmetic coding) 혹은 가변길이 부호화(variable length coding) 등의 엔트로피 부호화 과정을 통해 비트스트림에 포함되며, 복호화기에서는 해당 엔트로피 복호화 과정을 통해 비트스트림 내의 지시자를 판별할 수 있다.
추가적으로, 지시자는 부호화 유닛 단위, 예측 유닛 단위, 변환 유닛 단위, LCU(largest coding unit) 단위, 슬라이스(slice) 단위, 픽쳐(picture) 단위로 시그널링 할 수 있다
또한, 에러가 발생하기 쉬운 네트워크 환경에서 사용되는 특정한 목적의 부호화기와 복호화기에서는 CIP 모드의 사용 여부를 판별하기 위한 정보를 시그널링 하지 않고, CIP 모드를 부호화기와 복호화기에서 기본적으로 사용할 수도 있다. 이때, 디블록킹 처리 방법은 기본적으로 시그널링 될 수 있다.
[EN2-2] 필터링 대상 경계 양측 블록의 부호화 파라미터에 따라 상기 시그널링 방법을 달리하는 것을 추가적인 특징으로 함;
디블록킹 필터링 대상 경계 양측 블록의 부호화 파라미터를 판별하는 방법은 [EN3]과 같다.
부호화 파라미터 중, 부호화 모드를 판별함에 있어, 각 블록이 화면내로 부호화 되었는지 화면간으로 부호화 되었는지 판별한다. 이때, 하나 이상의 블록이 화면간으로 부호화되었을 경우, 상기의 디블록킹 처리 방법에 대한 시그널링을 수행할 수 있다. 예를 들어, 아래와 같이 양측 블록 중 하나 이상이 화면간으로 부호화되었을 경우, deblocking_CIP_flag을 시그널링 할 수 있다.
Figure pat00017
[EN3] 필터링 대상 경계 양측 블록의 부호화 파라미터를 판별하는 단계;
[E2]와 같은 방법으로 수행할 수 있다.
[EN4] 상기 판별된 부호화 모드 및 상기 시그널링 하는 정보의 값에 따라 디블록킹을 처리하는 단계;
상기 ‘필터링 수행 수단’과 같은 방법으로 디블록킹을 처리할 수 있다.
[DN1], [DN2-1], [DN2-2], [DN3], [DN4]는 각각 [EN1], [EN2-1], [EN2-2], [EN3], [EN4]과 동일한 방법으로 수행될 수 있다.

Claims (1)

  1. 에러에 강인한 필터링을 이용한 영상 부호화/복호화 방법 및 그 장치.
KR1020120039422A 2011-05-04 2012-04-16 에러에 강인한 필터링을 이용한 영상 부호화/복호화 방법 및 그 장치 KR20120125160A (ko)

Priority Applications (8)

Application Number Priority Date Filing Date Title
KR1020120039422A KR20120125160A (ko) 2011-05-04 2012-04-16 에러에 강인한 필터링을 이용한 영상 부호화/복호화 방법 및 그 장치
PCT/KR2012/003540 WO2012150849A2 (ko) 2011-05-04 2012-05-04 에러에 강인한 인-루프 필터를 이용하는 영상 부호화/복호화 방법과 그에 관한 시그널링 방법
KR1020120047758A KR102014177B1 (ko) 2011-05-04 2012-05-04 에러에 강인한 인-루프 필터를 이용하는 영상 부호화/복호화 방법과 그에 관한 시그널링 방법
KR1020190064413A KR102112264B1 (ko) 2011-05-04 2019-05-31 에러에 강인한 인-루프 필터를 이용하는 영상 부호화/복호화 방법과 그에 관한 시그널링 방법
KR1020190123933A KR102115822B1 (ko) 2011-05-04 2019-10-07 에러에 강인한 인-루프 필터를 이용하는 영상 부호화/복호화 방법과 그에 관한 시그널링 방법
KR1020200056585A KR102206225B1 (ko) 2011-05-04 2020-05-12 에러에 강인한 인-루프 필터를 이용하는 영상 부호화/복호화 방법과 그에 관한 시그널링 방법
KR1020210006477A KR20210008558A (ko) 2011-05-04 2021-01-18 에러에 강인한 인-루프 필터를 이용하는 영상 부호화/복호화 방법과 그에 관한 시그널링 방법
KR1020220115953A KR20220130067A (ko) 2011-05-04 2022-09-14 에러에 강인한 인-루프 필터를 이용하는 영상 부호화/복호화 방법과 그에 관한 시그널링 방법

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR1020110042694 2011-05-04
KR1020110052610 2011-06-01
KR1020110065713 2011-07-01
KR1020120039422A KR20120125160A (ko) 2011-05-04 2012-04-16 에러에 강인한 필터링을 이용한 영상 부호화/복호화 방법 및 그 장치

Publications (1)

Publication Number Publication Date
KR20120125160A true KR20120125160A (ko) 2012-11-14

Family

ID=47510387

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120039422A KR20120125160A (ko) 2011-05-04 2012-04-16 에러에 강인한 필터링을 이용한 영상 부호화/복호화 방법 및 그 장치

Country Status (1)

Country Link
KR (1) KR20120125160A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020130600A1 (ko) * 2018-12-17 2020-06-25 주식회사 윌러스표준기술연구소 예측 모드를 시그널링하는 비디오 신호 처리 방법 및 장치

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020130600A1 (ko) * 2018-12-17 2020-06-25 주식회사 윌러스표준기술연구소 예측 모드를 시그널링하는 비디오 신호 처리 방법 및 장치
US11570483B2 (en) 2018-12-17 2023-01-31 Wilus Institute Of Standards And Technology Inc. Video signal processing method and device for signaling prediction mode

Similar Documents

Publication Publication Date Title
US11153562B2 (en) Method and apparatus of advanced deblocking filter in video coding
KR102337652B1 (ko) 제한된 오프셋 보상 및 루프 필터를 기반으로 하는 영상 부호화 및 복호화 방법 및 그 장치
KR101957945B1 (ko) 트리 구조 부호화 단위에 기반한 디블록킹 필터링을 수행하는 비디오 부호화 방법과 그 장치 및 복호화 방법과 그 장치
RU2768016C1 (ru) Системы и способы применения фильтров деблокирования к восстановленным видеоданным
KR102130480B1 (ko) 영상의 재구성된 샘플 세트에 대한 보상 오프셋들의 인코딩/디코딩을 최적화하는 방법 및 장치
CN113994670B (zh) 具有虚拟边界的跨分量自适应环路滤波的视频编解码方法及装置
EP3203746B1 (en) Video coding apparatus, video decoding apparatus, video coding method, video decoding method, and program
CN111131819B (zh) 依赖性量化的编码工具下的量化参数
RU2770650C1 (ru) Системы и способы применения фильтров деблокирования к восстановленным видеоданным
CN114731419A (zh) 视频编解码中于画面和次画面边界的适应性环内滤波方法和装置
KR20120125193A (ko) 에러에 강인한 인-루프 필터를 이용하는 영상 부호화/복호화 방법과 그에 관한 시그널링 방법
JP2023143946A (ja) クロマデブロックフィルタリングのための量子化パラメータオフセット
EP2870758B1 (en) Controlling deblocking filtering
KR20230062630A (ko) 비디오 코딩을 위한 잔차 및 계수 코딩
KR20230124059A (ko) 비디오 코딩을 위한 잔차 및 계수 코딩
KR20120125160A (ko) 에러에 강인한 필터링을 이용한 영상 부호화/복호화 방법 및 그 장치
WO2019219879A1 (en) A filter
KR102206225B1 (ko) 에러에 강인한 인-루프 필터를 이용하는 영상 부호화/복호화 방법과 그에 관한 시그널링 방법
WO2023059235A1 (en) Combining deblock filtering and another filtering for video encoding and/or decoding
JP2024515980A (ja) ビデオ符号化のための残差および係数の符号化
CN114503597A (zh) 视频编解码中的色度去方块
WO2019219878A1 (en) A filter