KR101670116B1 - 디블록킹 필터링 - Google Patents

디블록킹 필터링 Download PDF

Info

Publication number
KR101670116B1
KR101670116B1 KR1020137020997A KR20137020997A KR101670116B1 KR 101670116 B1 KR101670116 B1 KR 101670116B1 KR 1020137020997 A KR1020137020997 A KR 1020137020997A KR 20137020997 A KR20137020997 A KR 20137020997A KR 101670116 B1 KR101670116 B1 KR 101670116B1
Authority
KR
South Korea
Prior art keywords
pixel
block boundary
offset
pixels
closest
Prior art date
Application number
KR1020137020997A
Other languages
English (en)
Other versions
KR20140043715A (ko
Inventor
안드레이 노르킨
케네트 안데르손
리카르드 세베리
Original Assignee
텔레폰악티에볼라겟엘엠에릭슨(펍)
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=46507326&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=KR101670116(B1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by 텔레폰악티에볼라겟엘엠에릭슨(펍) filed Critical 텔레폰악티에볼라겟엘엠에릭슨(펍)
Publication of KR20140043715A publication Critical patent/KR20140043715A/ko
Application granted granted Critical
Publication of KR101670116B1 publication Critical patent/KR101670116B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
    • H04N19/865Methods 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 with detection of the former encoding block subdivision in decompressed video
    • 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/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/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/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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • 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)

Abstract

비디오 프레임 내의 블록(10)과 인접한 블록(20) 간의 블록 바운더리(1)에서의 블록킹 아티팩트는, 블록(10) 내의 화소(11, 13, 15, 17)의 라인(12) 내의 화소(11, 13)의 화소 값에 기반해서, 그리고 인접한 블록(20) 내의 화소(21, 23, 25, 27)의 대응하는 라인(22) 내의 화소(21, 23)의 화소 값에 기반해서, 오프셋을 계산함으로써 감소된다. 이 오프셋은 화소(11, 13, 15, 17)의 라인(12) 내의 블록 바운더리(1)에 가장 근접한 화소(11)의 화소 값에 가산되고, 화소(21, 23, 25, 27)의 대응하는 라인(22) 내의 블록 바운더리(1)에 가장 근접한 화소(21)의 화소 값으로부터 감산된다. 결과적인 디블록킹 필터는, 양호한 로우-패스 특성을 갖고, 효과적으로 블록킹 아티팩트를 감소시킨다.

Description

디블록킹 필터링{deblocking filtering}
본 발명 개시 내용은, 블록 바운더리에서, 블록킹 아티팩트(blocking artifact)를 감소하기 위한 디블록킹 필터링에 관한 것이다.
디블록킹 필터는, 블록킹 아티팩트를 방지하기 위해 비디오 코딩 기준에서 사용된다. 블록킹 아티팩트는, 오리지널의 비디오가 비교적 독립적으로 처리되는 블록으로 분할되기 때문에, 발생한다. 이 블록킹 아티팩트는, 예를 들어 블록의 다른 인트라 예측(intra prediction), 양자화 효과 및 모션 보상에 기인해서 발생할 수 있다. 디블록킹의 2개의 특정한 변환이, 이하 개시된다.
H.264 디블록킹
H.264와 같은 비디오 코딩의 기술에 있어서는, 후속하는 프레임을 인코딩 또는 디코딩할 때, 예측 및 잔여의 복원 후지만, 복원의 나중의 참조를 위한 기억 전에, 루프 필터로도 표시되는 디블록킹 필터(deblocking filter)가 있게 된다. 이 디블록킹 필터링은, 필터 결정, 필터링 연산, 클리핑 기능(clipping function) 및 화소 값의 변경과 같은 다수의 단계로 이루어진다. 경계를 필터링할지에 대한 결정은, 다수 조건의 평가에 기반한다. 필터링의 결정은, 매크로블록(MB) 타입, 인접한 블록 간의 모션 벡터(MV) 차이, 인접한 블록이 잔여를 코딩했는지에 의존하고, 현재 및/또는 인접한 블록의 로컬 구조에 의존한다.
그 다음, 화소에 대한 필터링의 양은, 그 밖의 것보다, 블록 경계 또는 바운더리에 대한 그 화소의 위치 및, 잔여의 코딩을 위해 사용된 양자화 파라미터(QP) 값에 의존한다.
필터 결정은, 3개의 화소의 차이와 3개의 문턱 간의 비교에 기반한다. 문턱은 양자화 파라미터(QP)에 적용된다. 예를 들어, 수직의 블록 바운더리가,
abcd|efgh
여기서, a, b, c 및 d는 현재 블록 내의 화소 열(row)의 화소의 화소 값을 표시하고, e, f, g 및 h는 인접한 블록 내의 대응하는 화소 열의 화소의 대응하는 화소 값을 표시한다. 이하의 조건이 충족되면, 필터 결정은 포지티브(positive), 예를 들어 abs(d-e)<thr1, abs(c-△)<thr2이고, abs(e-f)<thr2이며, 여기서 thr1 및 thr2는 QP에 기반한다.
H.264에는 2개의 필터링 모드가 있다. 정상 필터링으로 언급되는 제1필터링 모드에 있어서는, 필터링은, 필터링이 현재 값을 변경하는 델타(delta) 값으로 기술될 수 있다. 블록 바운더리에 가장 근접한 화소를 위한 필터링은 d' = d + delta 및 e' = e - delta이며, 여기서 델타(delta)는, Q로 제약되는 값으로, 문턱 ±thr3으로 클립 오프(clipped off)된다. 이에 의해, 추가의 필터링이 낮은 QP보다 높은 QP에 대해서 허용된다. 클리핑은 delta_clipped = max(-thr3, min(thr3, delta))로 기술될 수 있고, 여기서 thr3는 필터강도를 제어한다. thr3의 더 큰 값은, 필터링이 더 강한(stronger) 것을 의미하는데, 이 더 강한(stronger)은 더 강한 로우-패스 필터링 효과가 발생되는 것을 의미한다.
필터 강도는, 소정의 다음의 2개의 조건이 유지되면, 예를 들어 abs(b-△)<thr2이고, abs(e-g)<thr2이면, 증가될 수 있다. 필터 강도는, 델타(delta)가 없게 델타를 클리핑함으로써, 예를 들어 추가의 변동을 허용하도록 적용된다.
강한 필터링(strong filtering)으로도 업급되는 제2필터링 모드는, 다음 조건이 abs(d-e)< thr1/4을 충족할 때만, 인트라 매크로블록 바운더리에 대해서 적용된다.
H.264 참조에 있어서, 디블록킹 필터링의 더 많은 정보가, Adaptive Deblocking Filter, IEEE Transantions on Circuits and Systems for Video Technology, vol. 13, no. 7, July 2003 등에 언급된다.
HEVC 드라프트에서의 디블록킹
드라프트 HEVC(High Efficiency Vedio Coding) 명세서 "Test Model under Consideration", ITU-T SG16 WP3 document, JCTVC-B205, Chapter 6.5 In-loopfilter process에 있어서, 디블록킹 필터는 H.264와 다르게 작업한다. 필터링은, 바운더리의 측면 상의 적어도 하나의 블록이 인트라이거나, 비제로(non-zero) 계수를 가지면, 또는 블록의 모션 벡터 성분 간의 차이가 하나의 정수 화소보다 크거나 등가이면, 수행된다. 예를 들어,
p3i p2i p1i p0i | q0i q1i q2i q3i의 수직의 블록 바운더리를 갖는 블록 간의 경계를 필터링할 때, pji는 현재 블록 내의 열 번호 i의 화소 번호 j의 화소 값을 표시하고, qji는 인접한 블록, i=0... 7, j=0...3, 내의 열 번호 i의 화소 번호 j의 화소 값을 표시하면, 다음의 조건이 만족되어야 한다:
d = |p22 - 2×p12 + p02| + |q22 - 2×p12 + q02| +
|p25 - 2×p15 + p05| + |q25 - 2×p15 + q05|<β
여기서, β는 QP에 의존한다. 상기된 HEVC 명세서에 있어서는, β의 테이블이 있는데, 여기서 β는 QP로 증가한다.
조건이 충족되고, 필터링이 현재 블록과 인접한 블록 사이에서 수행되면, 약한 및 강한 필터링으로 각각 언급되는, 2개의 타입 중 한 타입의 필터링이 수행된다. 강한 및 약한 필터링 간의 선택이 이하의 조건에 의존해서 각각의 라인에 대해서 분리해서 수행된다. 각각의 라인 i=0...7에 대해서, 강한 필터링은 이하의 조건이 참이면, 수행되고 그렇지 않으면, 약한 필터링이 수행된다:
d< (β>2)
(|p3i - p0i| + |q0i - q3i|) <(β>3)
|p0i - q0i| <((5×tC + 1)>>1)
여기서, tC 및 β는 QP에 의존하고, >>는 우측 시프트 연산자이다.
HEVC 드라프트에서의 약한 필터링
약한 필터링은 상기 조건에 기반한다. 실재적인 필터링은 오프셋(△)를 계산하고, 이를 오리지널의 화소 값에 추가하며, 이 합을 0-255 범위 내의 필터링된 출력 화소 값으로 클립(Clip)함으로써 수행된다:
△ = Clip(-tC,tC,(13×q0i - p0i) + 4×(q1i - p1i) - 5×(q2i - p2i)+16)>>5))
p0i = Clip0 -255(p0i + △)
q0i = Clip0 -255(q0i - △)
p1i = Clip0 -255(p1i + △/2)
q1i = Clip0 -255(q1i - △/2)
여기서, 클립 함수 Clip(A, B, x)는 Clip(A, B, x)=A if x<A이고, Clip(A, B, x)=B if x>B로 규정되고, Clip0 -255(x)는 Clip(0, 255, x)로 규정된다.
HEVC 드라프트에서의 강한 필터링
강한 필터링 모드는 이하의 연산 세트에 의해 수행된다:
p0i=Clip0 -255((p2i + 2×p1i + 2×p0i +2×p0i + q1i + 4)>>3)
q0i=Clip0 -255((p1i + 2×p0i + 2×p0i + 2×p1i + q2i + 4)>>3)
p1i=Clip0 -255((p2i + p1i + p0i + q0i +2)>>2)
q1i=Clip0 -255((p0i + q0i + q1i + q2i +2)>>2)
p2i=Clip0 -255((2×p3i + 3×p2i + p1i + p0i + q0i + 4)>>3)
q2i=Clip0 -255((p0i + q0i + q1i + 3×p2i + 2×p3i + 4)>>3)
HEVC에서의 디블록킹과 연관된 하나의 문제점은, 약한 필터가 양호한 로우-패스 특성을 갖지 않는 것이다. 블록 경계로부터의 제1 및 제2화소가 △ 및 △/2를 각각 가산 또는 감산함으로써 변경되는 것을 볼 수 있다. 이러한 필터는, 블록 경계에 근접해서 나타나는 고주파수를 제거할 수 없고, 링잉(ringing)을 제거할 수 없다. 더욱이, HEVC에서의 필터의 주파수 특성은, 블록 바운더리로부터 제2화소(p1i 및 q1i)를 필터링할 때, 높은 주파수의 약간의 증폭을 나타내는데, 이는 코더(coder)의 악화된 레이트-왜곡(RD:rate-distortion) 성능으로 귀결된다. 더욱이, 화소 p1i에 대한 오프셋은, 신호의 구조가 블록 바운더리의 다른 측면 상에서 다르게 될 수 있더라도, 화소 q1i의 오프셋과 등가의 크기일 수 있다. 그러므로, HEVC 필터는, 블록 바운더리의 측면의 로컬 구조에 잘 적용되지 않는다.
그러므로, 블록 바운더리에서 블록킹 아티팩트를 감소하기 위해 사용될 수 있고 상기된 단점을 갖지 않는, 효과적인 디블록킹 필터에 대한 요구가 있다.
본 발명의 일반적인 목적은, 비디오 프레임 내의 화소 블록 사이의 블록 바운더리에서 블록킹 아티팩트를 방지하는 것이다.
이 목적 및 그 밖의 목적은, 본 명세서에 개시된 실시형태에 의해 충족된다.
본 실시형태의 측면은, 비디오 프레임 내의 다중 화소의 블록과 다중 화소의 인접한 블록 간의 블록 바운더리에서 블록킹 아티팩트를 감소하는 방법을 규정한다. 이 방법은, (9×(q0-p0)-3×(q1-p1))/16에 기반해서 제1오프셋을 계산하는데, p0는 블록 내의 화소의 라인 내의 블록 바운더리에 가장 근접한 화소의 화소 값을 나타내고, p1은 화소의 라인 내의 블록 바운더리에 다음의 가장 근접한 화소의 화소 값을 나타내고, q0는 인접한 블록 내의 화소의 대응하는 라인 내의 블록 바운더리에 가장 근접한 화소의 화소 값을 나타내고, q1은 화소의 대응하는 라인 내의 상기 블록 바운더리에 다음의 가장 근접한 화소의 화소 값을 나타낸다. 화소의 라인 및 화소의 대응하는 라인은 블록 바운더리에 직교한다. 수정된 화소 값을 형성하기 위해서 제1오프셋을, 이 화소의 화소 값에 가산함으로써, 화소의 라인 내의 블록 바운더리에 가장 근접한 화소의 화소 값이 수정된다. 대응해서, 수정된 화소 값을 형성하기 위해서, 이 화소의 화소 값으로부터 제1오프셋을 감산함으로써, 화소의 대응하는 라인 내의 블록 바운더리에 가장 근접한 화소의 화소 값이 수정된다.
본 측면의 선택적인 실시형태에 있어서, (9×(q0-p0)-3×(q1-p1)+8)>>4과 등가로 되게 상기 제1오프셋을 계산하는데, 여기서 >>는 우측 시프트 연산이다.
본 측면의 선택적인 실시형태에 있어서, 본 방법은, 제1오프셋이 -tc보다 작으면, 제1오프셋을 -tc와 등가가 되도록 설정하고, 제1오프셋이 tc보다 크면, 상기 제1오프셋을 tc와 등가가 되도록 설정함으로써, 제1오프셋을 -tc와 tc의 인터벌 내가 되게 클리핑하는 단계를 더 포함하여 구성되고, tc는 블록에 할당된 양자화 파라미터 값에 의존하는 문턱 값이다.
본 측면의 선택적인 실시형태에 있어서, 본 방법은, 화소의 라인 내의 상기 블록 바운더리에 가장 근접한 화소의 수정된 화소 값을 제로와 규정된 최대 값의 인터벌 내가 되게 클리핑하는 단계와; 화소의 대응하는 라인 내의 블록 바운더리에 가장 근접한 화소의 수정된 화소 값을 제로와 규정된 최대 값의 인터벌 내가 되게 클리핑하는 단계를 더 포함하여 구성된다. 선택적인 클리핑은, 수정된 화소 값이 제로보다 작으면 수정된 화소 값을 제로와 등가가 되도록 설정하고, 수정된 화소 값이 규정된 최대 값보다 크면, 수정된 화소 값을 규정된 최대 값과 등가가 되도록 설정함으로써, 달성된다.
본 측면의 선택적인 실시형태에 있어서, 본 방법은, (p2+p0-2×p1+2×△)/4에 기반해서 제2오프셋을 계산하는 단계를 더 포함하여 구성되고, p2는 화소의 라인 내의 블록 바운더리에 제2의 다음의 가장 근접한 화소의 화소 값을 나타내고, △는 상기 제1오프셋을 나타낸다. 또한, 본 방법은, 선택적인 실시형태에 있어서, (q2+q0-2×q1-2×△)/4에 기반해서 제3오프셋을 계산하는 단계를 포함하여 구성되고, q2는 화소의 대응하는 라인 내의 블록 바운더리에 제2의 다음의 가장 근접한 화소의 화소 값을 나타낸다. 수정된 화소 값을 형성하기 위해서, 제2오프셋을, 화소의 라인 내의 블록 바운더리에 다음의 가장 근접한 화소의 상기 화소 값에 가산함으로써, 화소의 라인 내의 블록 바운더리에 다음의 가장 근접한 화소의 화소 값을 수정한다. 대응해서, 선택적인 실시형태에 있어서, 수정된 화소 값을 형성하기 위해서, 제3오프셋을, 화소의 대응하는 라인 내의 블록 바운더리에 다음의 가장 근접한 화소의 화소 값에 가산함으로써, 화소의 대응하는 라인 내의 블록 바운더리에 다음의 가장 근접한 화소의 화소 값을 수정하는 단계를 더 포함하여 구성된다.
본 측면의 선택적인 실시형태에 있어서, 제2오프셋은, (((p2+p0+1)>>1)-p1+△)>>1과 등가가 되도록 계산되고, >>는 우측 시프트 연산을 나타내며; 제3오프셋은, (((q2+q0+1)>>1)-q1-△)>>1와 등가로 되도록 계산된다.
본 측면의 선택적인 실시형태에 있어서, 본 방법은, 제2오프셋을 -tC2와 tC2의 인터벌 내가 되게 클리핑하고, 제3오프셋을 -tC2와 tC2의 인터벌 내가 되게 클리핑하는 단계를 더 포함하여 구성되고, 여기서 tC2는 블록에 할당된 양자화 파라미터 값에 의존하는 문턱 값이다. 이 선택적인 클리핑은, 제2 또는 제3오프셋이 -tC2보다 작으면, -tC2와 등가가 되도록 제2 또는 제3오프셋을 설정하고, 제2 또는 제3오프셋이 tC2보다 크면 tC2와 등가가 되도록 제2 또는 제3오프셋을 설정함으로써, 달성된다.
본 측면의 선택적인 실시형태에 있어서, 본 방법은, 화소의 라인 내의 블록 바운더리에 다음의 가장 근접한 화소의 수정된 화소 값을 제로와 규정된 최대 값의 인터벌 내가 되게 클리핑하는 단계와; 화소의 대응하는 라인 내의 블록 바운더리에 다음의 가장 근접한 화소의 수정된 화소 값을 제로와 규정된 최대 값의 인터벌 내가 되게 클리핑하는 단계를 더 포함하여 구성된다. 선택적인 클리핑은, 수정된 화소 값이 제로보다 작으면 수정된 화소 값을 제로와 등가가 되도록 설정하고, 수정된 화소 값이 규정된 최대 값보다 크면, 수정된 화소 값을 규정된 최대 값과 등가가 되도록 설정함으로써, 달성된다.
본 측면의 선택적인 실시형태에 있어서, 본 방법은, (p3+p1-2×p2+2×△p1)/4에 기반해서 제4오프셋을 계산하는 단계를 더 포함하여 구성되며, p3는 화소의 라인 내의 블록 바운더리에 제3의 다음의 가장 근접한 화소의 화소 값을 나타내고, △p1는 제2오프셋을 나타낸다. 또한, 실시형태에 있어서, 본 방법은, (q3+q1-2×q2+2×△q1)/4에 기반해서 제5오프셋이 계산하는 단계를 포함하여 구성되고, q3는 화소의 대응하는 라인 내의 블록 바운더리에 제3의 가장 근접한 화소의 화소 값을 나타내고, △q1는 제3오프셋을 나타낸다. 수정된 화소 값을 형성하기 위해서, 제4오프셋을, 화소의 라인 내의 블록 바운더리에 제2의 다음의 가장 근접한 화소의 화소 값에 가산함으로써, 화소의 라인 내의 블록 바운더리에 제2의 다음의 가장 근접한 화소의 화소 값을 수정한다. 또한, 본 선택적인 실시형태에 있어서, 본 발명은, 수정된 화소 값을 형성하기 위해서, 제5오프셋을, 화소의 대응하는 라인 내의 블록 바운더리에 제2의 다음의 가장 근접한 화소의 화소 값에 가산함으로써, 화소의 대응하는 라인 내의 블록 바운더리에 제2의 다음의 가장 근접한 화소의 화소 값을 수정하는 단계를 포함하여 구성된다.
본 측면의 선택적인 실시형태에 있어서, 제4오프셋은 (((p3+p1+1)>>1)-p2+△p1)>>1와 등가가 되도록 계산되고, >>는 우측 시프트 연산을 나타내며; 제5오프셋은 (((q3+q1+1)>>1)-q2+△q1)>>1와 등가로 되도록 계산된다.
본 측면의 선택적인 실시형태에 있어서, 디블록킹 필터 유닛은, (9×(q0-p0)-3×(q1-p1))/16에 기반해서 제1오프셋을 계산한다. 디블록킹 필터 유닛은, 수정된 화소 값을 형성하기 위해서, 제1오프셋을, 화소의 라인 내의 블록 바운더리에 가장 근접한 화소의 화소 값에 가산함으로써, 화소의 라인 내의 블록 바운더리에 가장 근접한 화소의 화소 값을 수정한다. 또한, 디블록킹 필터 유닛은, 수정된 화소 값을 형성하기 위해서, 화소의 대응하는 라인 내의 블록 바운더리에 가장 근접한 화소의 화소 값으로부터 제1오프셋을 감산함으로써, 화소의 대응하는 라인 내의 블록 바운더리에 가장 근접한 화소의 화소 값을 수정한다.
다른 측면의 실시형태는, 비디오 프레임 내의 다중 화소의 블록(10)과 다중 화소의 인접한 블록 간의 블록 바운더리에서 블록킹 아티팩트를 감소하는 디블록킹 필터 유닛을 규정한다. 본 디블록킹 필터 유닛은: (9×(q0-p0)-3×(q1-p1))/16에 기반해서 제1오프셋을 계산하도록 구성된 제1오프셋 계산기를 포함하여 구성되고, p0는 블록 내의 화소의 라인 내의 블록 바운더리에 가장 근접한 화소의 화소 값을 나타내고, p1은 화소의 라인 내의 블록 바운더리에 다음의 가장 근접한 화소의 화소 값을 나타내고, q0는 인접한 블록 내의 화소의 대응하는 라인 내의 블록 바운더리에 가장 근접한 화소의 화소 값을 나타내고, q1은 화소의 대응하는 라인 내의 블록 바운더리에 다음의 가장 근접한 화소의 화소 값을 나타낸다. 화소의 라인 및 화소의 대응하는 라인은 블록 바운더리에 직교한다. 또한, 디블록킹 필터 유닛은, 수정된 화소 값을 형성하기 위해서 제1오프셋을, 이 화소의 화소 값에 가산함으로써, 화소의 라인 내의 블록 바운더리에 가장 근접한 화소의 화소 값이 수정하도록 구성된 화소 값 수정기를 포함하여 구성된다. 대응해서, 디블록킹 필터 유닛은, 수정된 화소 값을 형성하기 위해서, 이 화소의 화소 값으로부터 제1오프셋을 감산함으로써, 화소의 대응하는 라인 내의 블록 바운더리에 가장 근접한 화소의 화소 값을 수정하도록 구성된다.
본 측면의 선택적인 실시형태에 있어서, 제1오프셋 계산기는, (9×(q0-p0)-3×(q1-p1)+8)>>4과 등가로 되게 상기 제1오프셋을 계산하도록 구성되는데, 여기서 >>는 우측 시프트 연산이다.
본 측면의 선택적인 실시형태에 있어서, 디블록킹 필터 유닛은, 제1오프셋이 -tc보다 작으면, 제1오프셋을 -tc와 등가가 되도록 설정하고, 제1오프셋이 tc보다 크면, 상기 제1오프셋을 tc와 등가가 되도록 설정함으로써, 제1오프셋을 -tc와 tc의 인터벌 내가 되게 클리핑하도록 구성된 제1클리핑 유닛을 포함하여 구성되고, tc는 블록에 할당된 양자화 파라미터 값에 의존하는 문턱 값이다.
본 측면의 선택적인 실시형태에 있어서, 디블록킹 필터 유닛은, 화소의 라인 내의 상기 블록 바운더리에 가장 근접한 화소의 수정된 화소 값을 제로와 규정된 최대 값의 인터벌 내가 되게 클리핑하고; 화소의 대응하는 라인 내의 블록 바운더리에 가장 근접한 화소의 수정된 화소 값을 제로와 규정된 최대 값의 인터벌 내가 되게 클리핑하도록 구성된 제2클리핑 유닛을 포함하여 구성된다. 선택적인 제2클리핑 유닛에 의한 이 선택적인 클리핑은, 수정된 화소 값이 제로보다 작으면 수정된 화소 값을 제로와 등가가 되도록 설정하고, 수정된 화소 값이 규정된 최대 값보다 크면, 수정된 화소 값을 규정된 최대 값과 등가가 되도록 설정함으로써, 달성된다.
본 측면의 선택적인 실시형태에 있어서, 디블록킹 필터 유닛은, (p2+p0-2×p1+2×△)/4에 기반해서 제2오프셋을 계산하도록 구성된 제2오프셋 계산기를 포함하여 구성되고, p2는 화소의 라인 내의 블록 바운더리에 제2의 다음의 가장 근접한 화소의 화소 값을 나타내고, △는 상기 제1오프셋을 나타낸다. 또한, 디블록킹 필터 유닛은, 선택적인 실시형태에 있어서, (q2+q0-2×q1-2×△)/4에 기반해서 제3오프셋을 계산하도록 구성된 제3오프셋 계산기를 포함하여 구성되고, q2는 화소의 대응하는 라인 내의 블록 바운더리에 제2의 다음의 가장 근접한 화소의 화소 값을 나타낸다. 이 선택적인 실시형태에 있어서, 화소 값 수정기는, 수정된 화소 값을 형성하기 위해서, 제2오프셋을, 화소의 라인 내의 블록 바운더리에 다음의 가장 근접한 화소의 상기 화소 값에 가산함으로써, 화소의 라인 내의 블록 바운더리에 다음의 가장 근접한 화소의 화소 값을 수정하고, 수정된 화소 값을 형성하기 위해서, 제3오프셋을, 화소의 대응하는 라인 내의 블록 바운더리에 다음의 가장 근접한 화소의 화소 값에 가산함으로써, 화소의 대응하는 라인 내의 블록 바운더리에 다음의 가장 근접한 화소의 화소 값을 수정하도록 구성된다.
본 측면의 선택적인 실시형태에 있어서, 제2오프셋 계산기는, (((p2+p0+1)>>1)-p1+△)>>1과 등가가 되도록 제2오프셋을 계산하도록 구성되고, >>는 우측 시프트 연산을 나타내며; 제3오프셋 계산기는, (((q2+q0+1)>>1)-q1-△)>>1와 등가로 되도록 제3오프셋을 계산하도록 구성된다.
본 측면의 선택적인 실시형태에 있어서, 디블록킹 필터 유닛은, 제2오프셋을 -tC2와 tC2의 인터벌 내가 되게 클리핑하고, 제3오프셋을 -tC2와 tC2의 인터벌 내가 되게 클리핑하도록 구성된 제3클리핑 유닛을 포함하여 구성되고, 여기서 tC2는 블록에 할당된 양자화 파라미터 값에 의존하는 문턱 값이다. 선택적인 제3클리핑 유닛에 의한 이 선택적인 클리핑은, 제2 또는 제3오프셋이 -tC2보다 작으면, -tC2와 등가가 되도록 제2 또는 제3오프셋을 설정하고, 제2 또는 제3오프셋이 tC2보다 크면 tC2와 등가가 되도록 제2 또는 제3오프셋을 설정함으로써, 달성된다.
본 측면의 선택적인 실시형태에 있어서, 디블록킹 필터 유닛은, 화소의 라인 내의 블록 바운더리에 다음의 가장 근접한 화소의 수정된 화소 값을 제로와 규정된 최대 값의 인터벌 내가 되게 클리핑하고; 화소의 대응하는 라인 내의 블록 바운더리에 다음의 가장 근접한 화소의 수정된 화소 값을 제로와 규정된 최대 값의 인터벌 내가 되게 클리핑하도록 구성된 제2클리핑 유닛을 포함하여 구성된다. 선택적인 클리핑에 의한 선택적인 클리핑은, 수정된 화소 값이 제로보다 작으면 수정된 화소 값을 제로와 등가가 되도록 설정하고, 수정된 화소 값이 규정된 최대 값보다 크면, 수정된 화소 값을 규정된 최대 값과 등가가 되도록 설정함으로써, 달성된다.
본 측면의 선택적인 실시형태에 있어서, 디블록킹 필터 유닛은, (p3+p1-2×p2+2×△p1)/4에 기반해서 제4오프셋을 계산하도록 구성된 제4오프셋 계산기를 포함하여 구성되며, p3는 화소의 라인 내의 블록 바운더리에 제3의 다음의 가장 근접한 화소의 화소 값을 나타내고, △p1는 제2오프셋을 나타낸다. 또한, 디블록킹 필터 유닛은, 이 실시형태에 있어서, (q3+q1-2×q2+2×△q1)/4에 기반해서 제5오프셋이 계산하도록 구성된 제5오프셋 계산기를 포함하여 구성되고, q3는 화소의 대응하는 라인 내의 블록 바운더리에 제3의 가장 근접한 화소의 화소 값을 나타내고, △q1는 제3오프셋을 나타낸다. 이 선택적인 실시형태에 있어서, 화소 값 수정기는, 수정된 화소 값을 형성하기 위해서, 제4오프셋을, 화소의 라인 내의 블록 바운더리에 제2의 다음의 가장 근접한 화소의 화소 값에 가산함으로써, 화소의 라인 내의 블록 바운더리에 제2의 다음의 가장 근접한 화소의 화소 값을 수정하고, 수정된 화소 값을 형성하기 위해서, 제5오프셋을, 화소의 대응하는 라인 내의 블록 바운더리에 제2의 다음의 가장 근접한 화소의 화소 값에 가산함으로써, 화소의 대응하는 라인 내의 블록 바운더리에 제2의 다음의 가장 근접한 화소의 화소 값을 수정하도록 구성된다.
본 측면의 선택적인 실시형태에 있어서, 제4오프셋 계산기는, (((p3+p1+1)>>1)-p2+△p1)>>1와 등가가 되도록 제4오프셋을 계산하도록 구성되고, >>는 우측 시프트 연산을 나타내며; 제5오프셋 계산기는 (((q3+q1+1)>>1)-q2+△q1)>>1와 등가로 되도록 제5오프셋을 계산하도록 구성된다.
또 다른 측면의 선택적인 실시형태는, 상기된 디블록킹 필터 유닛을 포함하여 구성되는 인코더와 디코더를 규정한다.
더욱이, 본 측면의 실시형태는, 인코딩된 비디오 프레임을 기억하도록 구성된 메모리와; 인코딩된 비디오 프레임을 디코딩된 비디오 프레임으로 디코딩하도록 구성된 디코더와; 디코딩된 비디오 프레임을 디스플레이 상에 디스플레이할 수 있는 비디오 데이터로 렌더링하도록 구성된 미디어 플레이어를 포함하여 구성되는 사용자 장비를 규정한다.
또 다른 측면은, 송신 유닛과 수신의 사용자 장비 간의 통신 네트워크 내의 네트워크 노드이거나 이에 속하는 네트워크 장치를 규정한다. 이 네트워크 장치는 상기 규정된 바와 같은 인코더 및/또는 디코더를 포함하여 구성된다.
또 다른 측면의 실시형태는, 비디오 프레임 내의 다중 화소의 블록과 다중 화소의 인접한 블록 간의 블록 바운더리에서 블록킹 아티팩트를 감소하는 컴퓨터 프로그램을 규정한다. 이 컴퓨터 프로그램은 코드 수단을 포함하여 구성되며, 컴퓨터 상에서 구동될 때, 컴퓨터가: (9×(q0-p0)-3×(q1-p1))/16에 기반해서 제1오프셋을 계산하는 단계를 수행하도록 하는데, p0는 블록 내의 화소의 라인 내의 블록 바운더리에 가장 근접한 화소의 화소 값을 나타내고, p1은 화소의 라인 내의 블록 바운더리에 다음의 가장 근접한 화소의 화소 값을 나타내고, q0는 인접한 블록 내의 화소의 대응하는 라인 내의 블록 바운더리에 가장 근접한 화소의 화소 값을 나타내고, q1은 화소의 대응하는 라인 내의 상기 블록 바운더리에 다음의 가장 근접한 화소의 화소 값을 나타낸다. 화소의 라인 및 화소의 대응하는 라인은 블록 바운더리에 직교한다. 또한, 컴퓨터는, 이 화소의 화소 값에 오프셋을 가산함으로써, 화소의 라인 내의 블록 바운더리에 가장 근접한 화소의 화소 값을 수정하게 된다. 본 코드 수단은, 또한, 컴퓨터가 이 화소의 화소 값으로부터 오프셋을 감산함으로써, 화소의 대응하는 라인 내의 블록 바운더리에 가장 근접한 화소의 화소 값을 수정하게 한다.
또 다른 측면의 실시형태는, 컴퓨터 프로그램 프로덕트를 규정하는데, 이는 컴퓨터 판독 가능한 코드 수단 및 컴퓨터 판독 가능한 코드 수단 상에 기억된 상기 규정된 바와 같은 컴퓨터 프로그램을 포함하여 구성된다.
본 발명의 실시형태는, 블록킹 아티팩트의 효과적인 감소 및 양호한 로우-패스 특성을 가능하게 한다.
본 발명은, 또 다른 목적 및 장점과 함께, 첨부 도면에 따른 이하의 상세한 설명을 참조로 이해되는데, 도면에서:
도 1은 실시형태에 따른 블록킹 아티팩트를 감소하는 방법을 도시한 흐름도;
도 2a 및 도 2b는 디블록킹 필터링이 적용될 수 있는, 인접한 블록 및 블록 바운더리의 2개의 실시형태를 도시한 도면;
도 3은 실시형태에 따른 도 1의 방법의 추가적인 선택적인 단계를 도시한 흐름도;
도 4는 실시형태에 따른 도 1 및 도 5의 방법의 추가적인, 선택적인 단계를 도시한 흐름도;
도 5는 다른 실시형태에 따른 도 1의 방법의 추가적인, 선택적인 단계를 도시한 흐름도;
도 6은 실시형태에 따른 도 5의 추가적인, 선택적인 단계를 도시한 흐름도;
도 7은 다른 실시형태에 따른 도 5의 방법의 추가적인, 선택적인 단계를 도시한 흐름도;
도 8은 실시형태에 따른 디블록킹 필터 유닛의 개략적인 블록도;
도 9는 다른 실시형태에 따른 디블록킹 필터 유닛의 개략적인 블록도;
도 10은 실시형태에 따른 컴퓨터 내의 디블록킹 필터 모듈의 소프트웨어 실행의 개략적인 블록도;
도 11은 실시형태에 따른 인코더의 개략적인 블록도;
도 12는 실시형태에 따른 디코더의 개략적인 블록도;
도 13은 실시형태에 따른 사용자 장비의 개략적인 블록도;
도 14는 실시형태에 따른 네트워크 장치를 포함하여 구성되는 통신 네트워크의 부분의 개략적인 개관을 나타낸 도면이다.
도면을 통해서, 유사한 또는 대응하는 엘리먼트에는 동일한 참조 번호를 사용했다.
일반적으로, 본 실시형태는, 비디오 프레임 내의 블록 바운더리에 걸쳐서 블록킹 아티팩트를 방지하기 위한 디블록킹 필터링에 관한 것이다. 본 실시형태는, 양호한 주파수 특성을 갖는 디블록킹 필터를 사용한다. 본 발명의 디블록킹 필터는, 이들 화소 값이 램프(ramp)를 형성하면 블록 바운더리에 걸쳐서 화소 값을 수정하지 않지만, 대신 이들이 스텝(step)의 형태이면 화소 값을 매끄럽게(smooth)하도록 구성된다. 이는, 디블록킹 필터가 양호한 로우패스 특성을 갖게 되고, 블록 바운더리 근처에 나타날 수 있는 고주파수를 제거할 수 있는 것을 의미한다.
도 1은 실시형태에 따른, 비디오 프레임 내의 다중 화소의 블록과 다중 화소의 인접한 블록 사이의 블록 바운더리에서 블록킹 아티팩트를 감소하기 위한 방법의 흐름도이다. 종래 기술에서 공지된 바와 같이, 비디오 프레임은 다양한 이용 가능한 인트라 및 인터 코딩 모드에 따라서 인코딩 및 디코딩된 화소의 비-중복의 블록으로 분할된다. 일반적으로, 비디오 프레임은, 16×16 화소의 비-중복 매크로블록으로 분할된다. 이러한 매크로블록은, 차례로 4×4 또는 8×8 화소와 같은 다른 사이즈의 더 작은 블록으로 분할될 수 있다. 그런데, 4×8, 8×4, 8×16 또는 16×8과 같은, 본 실시형태에 직사각형 블록도 가능할 수 있다. 본 실시형태는, 매크로블록 또는 심지어 더 큰 화소 블록을 포함하는, 소정의 화소 블록에 적용될 수 있다.
최근 생겨난 HEVC(High Efficiency Vedio Coding) 기준에 있어서는, 코딩 유닛(CU), 예측 유닛(PU) 및 변환 유닛(TU)이 사용된다. 이 예측 유닛은 코딩 유닛 내측에 규정되고, 인트라 또는 인터 예측 모드를 포함한다. 변환 유닛은 코딩 유닛 내측에 규정되고 가장 큰 변환 사이즈가 32×32 화소이며, 가장 작은 사이즈가 4×4 화소이다. CU 사이즈는, 현재, 64×64 화소(가장 큰)로부터 4×4화소(가장 작은)로 변하고 있다. 이 방법에서, 가장 큰 CU는, 프레임의 로컬 특성에 의존하는 "입상(granularity)의 레벨"로, 더 작은 CU로 분할될 수 있다. 이는, 가장 큰 CU가 다른 사이즈의 더 작은 CU로 분할될 수 있는 것을 의미한다. 또한, 본 실시형태는 이러한 코딩 유닛과 연관해서 사용될 수 있는데, 이 코딩 유닛은 본 명세서에서 사용됨에 따라 표면 "화소의 블록"에 의해 포함되는 것으로 간주된다.
블록 내의 각각의 화소는 화소 값을 각각 갖는다. 일반적으로, 비디오 프레임은 화소에 할당되는 컬러 값을 갖는데, 여기서 이 컬러 값은 규정된 컬러 포맷으로 표현된다. 하나의 공통의 컬러 포맷은, 각각의 화소에 대해서 하나의 휘도 성분과 2개의 색차 성분을 사용하지만, 각각의 화소에 대해서 레드, 그린 및 블루 성분을 사용하는 것과 같은 다른 포맷들이 존재할 수 있다.
통상적으로, 휘도 성분 필터링 및 색차 성분 필터링은, 다른 필터링 결정 및 다른 디블록킹 필터를 채용해서 가능하게는 분리해서 수행한다. 하지만, 휘도 필터링 결정이, HEVC에서와 같이, 크로마 필터링(chroma filtering)에서 사용되는 것도 가능하다. 본 실시형태는, 휘도 성분을 필더링하거나, 색차 성분을 필터링하거나 또는 휘도 성분 및 색차 성분 모두를 필터링하는데 적용할 수 있다. 특정한 실시형태에 있어서, 본 실시형태는 휘도 또는 루마 필터링(luma filtering)을 달성하기 위해서 적용된다. 그 다음, 루마(luma)와 같은, 하나의 성분에 대한 필터링 결정 또는 필터링 결정의 부분은, 크로마(chroma)와 같은, 다른 성분에 대한 필터링 결정을 만들 때, 사용될 수 있다.
디블록킹 필터링은, 인접한 블록 간의 바운더리, 에지 또는 경계에 걸쳐서 수행된다. 결론적으로, 도 2a를 참조하면, 이러한 바운더리는, 비디어 프레임 내에서 나란히 존재하는 2개의 인접한 블록(10, 20) 간의 수직의 바운더리(1)가 될 수 있다. 한편, 이 바운더리는, 도 2b를 참조하면, 2개의 인접한 블록(10, 20) 간의 수평 바운더리(1)가 되는데, 여기서 하나의 블록(10)은 비디오 프레임 내에서 다른 블록(20) 위에 위치된다. 특정한 실시형태에 있어서, 수직의 바운더리는, 먼저 가장 좌측의 바운더리로부터 시작해서 필터링되며, 그들의 기하학적인 순서로 우측을 향해서, 바운더리를 통해서 진행한다. 그 다음, 수평 바운더리는, 상부의 바운더리에서 시작해서 필터링되고, 그들의 기하학적인 순서로, 바닥을 향해서, 바운더리를 통해서 진행한다. 그런데, 본 실시형태는, 이러한 특정한 필터링 순서에 한정되지 않고, 실재적으로는 소정의 사전에 규정된 필터링 순서로 적용될 수 있다. 특정한 실시형태에 있어서, 비디오 프레임의 에지에서의 바운더리는, 바람직하게는, 필터링되지 않으며, 디블록킹 필터링으로부터 제외된다.
본 실시형태의 방법은, 단계 S1에서 시작하는데, 여기서 제1오프셋 또는 델타(delta)가 블록(10) 내의 화소(11, 13, 15, 17)의 라인(12)에 대해서 계산된다. 실시형태에 따라서, 이 제1오프셋은 (9×(q0-p0)-3×(q1-p1))/16에 기반해서 계산되는데, 여기서 p0는 블록(10) 내의 화소(11, 13, 15, 17)의 라인(12) 내의 블록 바운더리(1)에 가장 근접한 화소(11)의 화소 값을 나타내고, p1은 화소(11, 13, 15, 17)의 라인(12) 내의 블록 바운더리(1)에 다음의 가장 근접한 화소(13)의 화소 값을 나타내며, q0는 인접한 블록(20) 내의 화소(21, 23, 25, 27)의 대응하는 또는 대향하는 블록 바운더리(1)에 가장 근접한 화소(21)의 화소 값을 나타내고, q1은 화소(21, 23, 25, 27)의 대응하는 라인(22) 내의 블록 바운더리(1)에 다음의 가장 근접한 화소(23)의 화소 값을 나타낸다.
블록(10) 내의 화소(11, 13, 15, 17)의 라인(12)과 인접한 블록(20) 내의 화소(21, 23, 25, 27)의 대응하는 라인(22)은 화소의 동일한 수평 라인, 예를 들어 도 2a에 나타낸 바와 같이 수직의 바운더리(1)에 걸쳐서 연장하는 화소의 열에 속하거나 또는 화소의 동일한 수직의 라인, 예를 들어 도 2b에 나타낸 바와 같이 수평 바운더리(1)에 걸쳐서 연장하는 화소의 행에 속한다. 그러므로, 화소(11, 13, 15, 17)의 라인(12)과 화소(21, 23, 25, 27)의 대응하는 라인(22)은 블록(10)과 인접한 블록(20) 간의 블록 바운더리(1) 사이에서 직교한다. 더욱이, 블록(10) 내의 화소(11, 13, 15, 17)의 라인(12)과 인접한 블록(20) 내의 화소(21, 23, 25, 27)의 대응하는 라인(22)은 동일한 라인 번호를 갖는다. 예를 들어, 블록(10) 및 인접한 블록(20) 각각이 N을 포함하여 구성되면, 열 또는 행 번호 i=0...,N-1을 갖는 화소의 열 또는 행이면, 화소(11, 13, 15, 17)의 라인(10)은 블록(10) 내에서 라인 번호 i를 갖고, 화소(21, 23, 25, 27)의 대응하는 라인(20)도 인접한 블록(20)내에서 라인 번호 i를 갖는다. 따라서, 블록 내의 화소(11, 13, 15, 17)의 라인(12)과 인접한 블록(20) 내의 화소(21, 23, 25, 27)의 대응하는 라인(22)은 블록 바운더리(1)에 대해서 대향한다.
본 실시형태에 따르면, "화소의 라인" 및 "대응하는 화소 라인"은, 도 2a에 나타낸 바와 같이, 수직의 블록 바운더리의 경우 "화소 열" 및 "화소의 대응하는 열"을 나타내기 위해서 그리고, 도 2b에 나타낸 바와 같이, 수평 블록 바운더리의 경우 "화소의 행" 및 "화소의 대응하는 행"을 나타내도록 채용된다.
다음 단계 S2는, 수정된 화소 값 p0'을 형성하기 위해서, 이 화소(11)의 화소 값에 단계 S1에서 계산된 제1오프셋을 가산함으로써, 화소(11, 13, 15, 17)의 라인(12) 내의 블록 바운더리(1)에 가장 근접한 화소(11)의 화소 값을 수정한다. 따라서, 이 화소(11)에 대한 수정된 화소 값 p0'은 p0'=p0+△이고, 여기서 △는 단계 S1으로부터의 제1오프셋을 나타낸다. 대응해서, 화소(21)의 화소 값은 블록 바운더리(1)에 가장 근접하지만, 인접한 블록(20)에서 화소(21, 23, 25, 27)의 대응하는 라인(22)에 있어서는, 수정된 화소 값 q1'을 형성하기 위해서, 이 화소(21)의 화소 값으로부터 제1오프셋을 감산함으로써 단계 S3에서 수정된다. 그러므로, 수정된 화소 값 q1'은, q0'=q0+△으로서 계산된다.
단계 S2에서의 화소(11, 13, 15, 17)의 라인(12) 내의 블록 바운더리(1)에 가장 근접한 화소(11)에 대한 화소 값의 수정과 단계 S3에서의 인접한 블록(20) 내의 화소(21, 23, 25, 27)의 대응하는 라인(22) 내의 블록 바운더리(1)에 가장 근접한 화소(21)에 대한 화소 값의 수정이, 도 1에 도시된 바와 같이 직렬로 수행되거나 또는, 예를 들어, 단계 S2에 앞서 단계 S3에서 반대의 순서로 수행될 수 있다. 한편, 2개의 단계 S2 및 S3은 적어도 부분적으로 병렬로 수행될 수 있다.
도 1에 도시되며, 단계 S1 내지 S3을 포함하는 방법은, 블록 내의 화소(11, 13, 15, 17)의 하나의 라인(11) 내의 그리고, 인접한 블록(20) 내의 화소(21, 23, 25, 27)의 대응하는 라인(22) 내의 화소를 처리함으로써, 블록 바운더리(1)에서 블록킹 아티팩트를 감소시킨다. 이 화소 수정은, 블록(10) 내의 하나의 (수평 또는 수직의) 라인(12) 또는 다중, 예를 들어 적어도 2개의, 블록(10) 내의 라인(12), 가능하게는 블록(10) 내의 모든 (수평 도는 수직의) 라인(12)에 대해서 수행될 수 있다. 이는, 개략적으로 라인 L1으로 도시된다.
일반적으로, 상기된 바와 같이, 디블록킹 필터링은, 디블록킹 필터가 블록에 대한 수평 또는 수직의 블록 바운더리에 걸쳐서 적용되는 지를 결정하는 필터 결정을 포함한다. 이러한 결정이 포지티브이면, 디블록킹 필터는 가능하게는 블록의 모든 행(수직의 라인) 또는 열(수평 라인)에 적용된다. 한편, 또 다른 필터링 결정이, 디블록킹 필터가 적용되는지 및/또는 특정한 행 또는 열에 대해 사용되는 디블록킹 필터의 타입이 무엇인지를 결정하기 위해서, 행 또는 열 각각에 대해서 수행된다. 그러므로, 도 1에 도시된 방법은, 비디오 프레임 내의 화소의 블록에서, 행에, 열에, 다중 행에, 다중 열에 또는, 적어도 하나의 행 및 적어도 하나의 열 모두에 적용될 수 있다. 더욱이, 비디오 프레임 내의 모든 블록에 디블록킹 필터링을 인가할 필요가 없는 것을 예상할 수 있다. 명확하게 대비하기 위해서, 이러한 디블록킹 필터링은, 바람직하게는 블록에만 그리고, 하나 이상의 필터 결정에 의해 결정됨에 따라 블록킹 아티팩트가 있는 블록 바운더리에 걸쳐서 적용될 수 있다.
이제, 디블록킹 필터링은, 다양한 실행의 실시형태와 연관해서 본 명세서에서 더 상세히 개시된다.
제1오프셋의 클리핑이 일실시형태에서 수행될 수 있는데, 이에 의해 제1오프셋의 값이, -tc과 tc의 인터벌(interval) 내로 제한된다. 바람직하게, 문턱 값 tc는, 블록에 할당된 양자화 파라미터(QP) 값에 의존한다. 이 경우, 다른 QP 값에 대한 다른 문턱 값의 표가 사용될 수 있다. 이하 목록의 표 1은 이러한 표의 일례이다.
[표 1] 다른 QP 값에 대한 -tc
Figure 112013071965444-pct00001
그런데, 본 발명의 실시형태는, 표 1에 나타낸 바와 같이, tc와 QP 간의 특정한 관계에 한정되지 않고, 대신 몇몇 그 밖의 방법으로 블록에 대한 QP 값에 기반해서 블록에 대해서 tc 값을 결정한다.
도 3은 이 클리핑 동작을 도시한다. 본 방법은 도 1의 단계 S1으로부터 계속한다. 다음 단계 S10는, 제1오프셋이 -tc과 tc의 인터벌 내인지, 예를 들어 -tc≤△≤tc인지를 조사한다. 이 경우, 방법은, 도 1의 단계 S2로 계속되고, 제1오프셋의 수정은 요구되지 않는다. 그런데, 제1오프셋이 단계 S10에서 결정됨에 따라 인터벌 내에 있지 않으면, 방법은 단계 S11로 계속되고, 여기서 제1오프셋은 클리핑되어, 인터벌 내의 값을 갖게 된다. 따라서, △<-tc로 설정되면, 제1오프셋은 단계 S11에서 -tc의 값을 갖는 것으로 설정된다. 대응해서, △>tc이면, 제1오프셋은 단계 S11에서 tc의 값을 갖는 것으로 설정된다. 그 다음, 본 발명은 도 2의 단계 S2로 계속된다.
대응해서, 도 1의 단계 S2 및 S3에서 계산된 수정된 화소 값은 허용된 인터벌 내가 되게 클리핑될 수 있다. 이는, 도 4의 흐름도로 개략적으로 도시된다. 그 다음, 본 방법은, 도 1의 단계 S2 또는 S3으로부터 계속되고, 다음 단계 S20는, 수정된 화소 값, 예를 들어 p0' 또는 q0'가 0 및 M의 허용된 인터벌 내인지를 조사한다. 파라미터 M은, 수정된 화소 값이 상정할 수 있는 규정된 최대 값을 나타낸다. 특정한 실시형태에 있어서, 이 최대 값은 화소 값 상에서 소모된 비트 수에 기반해서 규정된다. 따라서, 화소 값이 m-비트 값 형태인 것으로 상정하면, M은 바람직하게는 2m-1와 등가이다. 예를 들어, 각각의 화소 값이 8-비트 값이면, 예를 들어 m=8이면, M=255이다. 그러므로, 단계 S20는, 0≤p0'≤M 또는 0≤q0'≤M을 조사한다. 수정된 화소 값이 인터벌 [0, M] 내이면, 본 방법은 도 1의 단계 S3으로 계속되거나 종료된다. 그런데, 수정된 화소 값이 인터벌 외부이면, 단계 S21에서, 인터벌 내측의 값을 갖도록 클리핑된다. 즉, p0'<0 또는 q0'<0이면, 수정된 화소 값은 단계 S21에서 p0'=0 또는 q0'=0로 설정된다. 대응해서, p0'>0 또는 q0'>0이면, 단계 S21은 수정된 화소 값을 p0'=M 또는 q0'=M으로 설정한다.
도 1의 단계 S1은, (9×(q0-p0)-3×(q1-p1))/16에 기반해서, 제1오프셋을 계산한다. 특정한 실시형태, 제1오프셋은 단계 S1에서 계산되며, (9×(q0-p0)-3×(q1-p1))/16과 등가이다. 그러므로, 실시형태에 있어서, 화소 값은 이하의 계산을 사용해서 제안된 디블록킹 필터에 의해 갱신된다:
△=(9×(q0-p0)-3×(q1-p1))/16
p0'=p0'+△
q0'=q0'+△
도 3 및 도 4에 도시된 바와 같이, 제1오프셋의 클리핑 및/또는 수정된 화소 값이 사용될 수도 있다.
대안적인 실시형태에 있어서, 오프셋은 (9×(q0-p0)-3×(q1-p1))/16의 함수로서 계산된다. 그 다음, 이러한 함수는, 제1오프셋의 계산이 하드웨어 내에서 효과적으로 수행되도록 규정된다. 이 경우, 일반적으로, 소정의 분할을 갖지 않고 및/또는 제1오프셋이 정수 값을 갖도록 함수를 규정하는 것이 바람직하다. 일 실시형태에서는, (X+8)>>4가 X/16의 정수 표현으로 사용되는데, 여기서 >>는 우측 시프트 연산을 나타낸다. 따라서, 특정한 실시형태에 있어서, 단계 S1은 (9×(q0-p0)-3×(q1-p1))/16>>4에 기반해서, 그리고 바람직하게는 이와 등가로 계산한다.
그러므로, 이 실시형태에 있어서, 화소 값은, 이하의 계산을 사용해서, 제안된 디블록킹 필터에 의해 갱신된다:
△=(9×(q0-p0)-3×(q1-p1)+8)>>4
p0'=p0+△
q0'=q0+△
또는 클리핑이 사용되면:
△=Clip3(-tc, tc,(9×(q0-p0)-3×(q1-p1)+8)>>4)
p0'=Clip(p0+△)
q0'=Clip(q0+△)
여기서 Clip3(A, B, x)는 Clip3(A, B, x)=A if x<A, Clip3(A, B, x)=B if x>B 및 Clip3(A, B, x)=x if A≤x≤B로 규정되고, Clip(x)는 Clip(0, M, x)로 규정된다.
다른 실행의 대안적인 실시형태에 있어서, (9×(q0-p0)-3×(q1-p1))/16의 정수 표현 및 바람직하게는 하드웨어에서 효과적으로 실행되는 정수 표현이 사용된다.
상기된 실시형태는 디블록킹 필터를 규정하는데, 이는 화소 값의 램프에 적용될 때, 대략 제로, 바람직하게는 정확하게 제로이고, 화소 값의 스텝에 적용될 때 화소 값의 스텝을 매끄럽게 하는 오프셋 값을 생산하는 공식으로, 블록 바운더리에 가장 근접한 화소에 대한 제1오프셋을 생성한다. 예를 들어, 램프(ramp)는 선형으로 증가하거나 감소하는 화소 값, 예를 들어 10, 20, 30, 40으로 기술할 수 있다. 이들 화소 값에 대해서 제1오프셋을 계산할 때, 예를 들어 p1=10, p0=20, q0=30, q1=40일 때, 제1오프셋은 제로가 된다. 대응해서, 스텝은 화소 값의 증가하거나 감소하는 스텝, 예를 들어 10, 10, 20, 20으로서 기술될 수 있다. 이들 화소 값에 대한 제1오프셋을 계산할 때, 예를 들어 p1=10, p0=0, q0=20, q1=20일 때, 제1오프셋은 △=(9×(q0-p0)-3×(q1-p1))/16이면, 3.75로 되고 또는, △=(9×(q0-p0)-3×(q1-p1))/16>>4이면, 4로 된다. 그 다음, 수정된 화소 값은 10, 13.75, 16.25, 30 또는 10, 14, 16, 20이 되고, 이에 의해 매끄러운 스텝이 달성된다. 또한, 제1오프셋은 평탄한 라인에 대해서 제로가 되는데, 예를 들어 화소 값이 등가이면, p0=p1=q0=q1이다.
특정한 실시형태에 있어서는, 블록 바운더리에 다음의 가장 근접한 화소의 화소 값이 수정될 수 있다. 이는, 도 2a, 2b 및 5를 참조로 더 기술된다. 그 다음, 본 방법은 도 1의 단계 S3으로부터 또는 단계 S2로부터 또는 실제로 단계 S1으로부터 계속된다. 다음 단계 S30은 (p2+p0-2×p1+2×△)/4에 기반해서 제2오프셋을 계산하는데, 여기서 p2는 블록(10) 내의 화소(11, 13, 15, 17)의 라인(12) 내의 블록 바운더리(1)에 제2의 다음의 가장 근접한 화소(15)의 화소 값을 나타낸다. 다음 단계 S31는 (q2+q0-2×q1-2×△)/4에 기반해서 제3오프셋을 계산하는데, 여기서 q2는 인접한 블록(20) 내의 화소(21, 23, 25, 27)의 대응하는 라인(22) 내의 블록 바운더리(1)에 제2의 다음의 가장 근접한 화소(25)의 화소 값을 나타낸다. 단계 S30 및 S31은 소정의 순서로 순차적으로 또는 적어도 부분적으로 병렬로 수행될 수 있다.
단계 S30에서 계산된 제2오프셋은 단계 S32에서 화소(11, 13, 15, 17)의 라인(12) 내의 바운더리(1)에 다음의 가장 근접한 화소의 화소 값(13)을 수정하는데 사용된다. 일 실시형태에 있어서, 제2오프셋은 수정된 화소 값을 얻기 위해서 이 화소(13)의 화소 값에 가산된다. 대응해서, 단계 S33은, 수정된 화소 값을 형성하기 위해서, 이 화소(23)의 화소 값에 제3오프셋을 가산함으로써, 화소(21, 23, 25, 27)의 대응하는 라인(22) 내의 블록 바운더리(1)에 다음의 가장 근접한 화소(23)의 화소 값을 수정한다. 단계 S32 및 S33는 소정의 순서로 순차적으로 또는 적어도 부분적으로 수행될 수 있다.
제안된 디블록킹 필터는, 본 실시형태에 있어서, 모든 필터 위치 p0, p1, q0, q1 상의 로우-패스 필터이다. 램프(ramp) 신호에 적용될 때, 디블록킹 필터는, △, △p, △q가 모두 제로와 등가가 되므로 수정되지 않는데, 여기서 △p는 제2오프셋을 나타내고, △q는 제3오프셋을 나타낸다. 스텝 신호, 예를 들어 디블록킹 아티팩트에 적용될 때, 디블록킹 필터는 이를 매끄럽게 하는데, 예를 들어 블록킹 아티팩트를 감소시킨다. 현재의 HEVC 필터와 명확히 비교하면, 제안된 디블록킹 필터는 매끄럽게 하고, 이에 의해 블록 바운더리의 측면 상의 작은 리플(ripple)을 감쇄시킨다.
상기된 실시형태에 있어서, 블록 바운더리로부터 제2위치(p1, q1)에서의 계수에 대한 필터는, 제1오프셋과 대칭적인 로우-패스 필터의 조합을 사용해서 생성된다. 이 실시형태의 장점은, 블록 바운더리에 제2의 다음의 가장 근접한 화소에 대한 오프셋이 더 양호한 로컬 적용을 허용하는 다른 값을 가질 수 있는 것이다.
제1오프셋과 유사하게, 제2 및 제3오프셋은 -tC2와 tC2의 인터벌 내가 되게 클리핑될 수 있는데, 여기서 문턱 값 tC2는 블록에 할당된 QP 값에 기반해서 결정된다. 특정한 실시형태에 있어서, 문턱 값 tC2은 도 3에서 제1오프셋을 클리핑하기 위해 사용된 문턱 값 tC2에 기반해서 결정된다. 예를 들어, tC2=tC2/2 또는 하드웨어 적용된 실행 tC2=tC>>1.
도 6은 제2 및 제3오프셋의 클리핑을 나타낸 흐름도이다. 본 방법은 도 3의 단계 S30 또는 S31로부터 계속된다. 다음 단계 S40은, 제2 또는 제3오프셋이 -tC2 및 tC2의 인터벌 내에 있는 지를 조사한다. 이것이 참이면, 본 방법은, 도 5의 단계 S32 또는 S33으로 계속되다. 그런데, 제2 또는 제3오프셋이 -tC2보다 작거나 tC2보다 크면, 방법은 단계 S41로 계속된다. 이 단계 S41은 제2 또는 제3오프셋을 △p,q<-tC2이면 -tC2로 되게 하거나 제2 또는 제3오프셋을 △p,q>tC이면 tC2로 설정한다.
블록 바운더리에 다음의 가장 근접한 화소의 소정된 화소 값은, 바람직하게는 블록 바운더리에 가장 근접한 화소에 대한 수정된 화소 값과 유사하게 0과 M의 인터벌 내에서 클리핑된다. 그러므로, 도 4의 방법 단계는 이들 화소에 대해서 적용되어, 화소 값이 [0, M]로 될 수 있게 한다.
실시형태에 있어서, 블록 바운더리(1)에 다음의 가장 근접한 화소(13, 23)의 수정된 화소 값은, 다음과 같이 계산된다:
p=(p2+p0-2×p1+2×△)/4
p1'=p1'+△p
q1'=q1'+△p
상기된 제2 및 제3오프셋의 선택적인 클리핑 및/또는 수정된 화소 값이 사용된다.
대안적인 실시형태에 있어서, 오프셋의 계산은 서로 독립적으로 수행될 수 있다.
△=(9×(q0-p0)-3×(q1-p1)+8)>>4
p0'=p0+△
q0'=q0+△
p=(p0+p2-2×p1)/4
p1'=p1+△p+△/2
q=(q0+q2-2×q1)/4
q1'=q1+△q-△/2
수학적으로, 이는 이전에 개시된 실시형태와 등가이다. 선택적인 클리핑이 또한 이 실시형태에 대해서 수행될 수 있다.
대안적인 실시형태에 있어서, 제2 및 제3오프셋은 (p2+p0-2×p1+2×△)/4와 (q2+q0-2×q1+2×△)/4의 함수에 각각 기반해서 계산된다. 예를 들어, 이러한 함수는 하드웨어 실행에 대해서 적용 및/또는 (p2+p0-2×p1+2×△)/4와 (p2+p0-2×p1+2×△)/4의 정수 표현이 될 수 있다. 정수 값을 생성하는 하드웨어 실행의 특정한 예가, 바람직하게는 (((p2+p0+1)>>1)-p1+△)>>1와 등가로, 이에 기반해서, 제2오프셋을 계산한다. 대응해서, 제3오프셋은 (((q2+q0+1)>>1)-q1-△)>>1와 등가로, 이에 기반해서 바람직하게 계산된다.
이 경우, 수정된 화소 값은 이하와 같이 계산된다:
p=(((p2+p0+1)>>1)-p1+△)>>1
p1'=p1+△p
q=(((q2+q0+1)>>1)-q1+△)>>1
q1'=q1+△q
또는 클리핑이 사용되면:
p=Clip3(-tc2, tc2,(((p2+p0+1)>>1)-p1+△)>>1)
p1'=Clip(p1+△p)
q=Clip3(-tc2, tc2,(((q2+q0+1)>>1)-q1+△)>>1)
q1'=Clip(q1+△q)
제2 및 제3오프셋을 계산하기 위한 대안적인 실시형태는, 하드웨어-실행을 위해 적용되는데:
p=Clip3(-tc2, tc2,((p2+p0-((p1-△)<<1)+2)>>2))
q=Clip3(-tc2, tc2,((q2+q0-((q1+△)<<1)+2)>>2))
여기서, <<는 왼쪽 시프트 연산을 나타낸다.
제2 및 제3오프셋을 계산하기 위한 또 다른 대안적인 실시형태는, 하드웨어-실행을 위해 적용되는데:
p=Clip3(-tc2, tc2,((((p2+p0+1)>>1)-p1+△+1)>>1))
q=Clip3(-tc2, tc2,((((q2+q0+1)>>1)-q1+△+1)>>1))
다른 실시형태에 있어서, 제1오프셋과의 조합에서 더 강한 로우-패스 필터를 사용할 수 있다. 이 경우, 제2오프셋이, (p2+p0-2×p1+△)/2와 등가로 이에 기반해서 계산되거나, 하드웨어-적용된 실행의 경우, 바람직하게는 ((p2+p0+1+△)>>1)-p1과 등가로 이에 기반하거나 또는 대안적으로 ((p2+p0+△-(p1<<1)+1>>1)에 기반한다. 그 다음, 제3오프셋은, (q2+q0-2×q1-△)/2와 등가로 이에 기반해서 계산될 수 있고, 하드웨어-적용된 실행의 경우, 바람직하게는 ((q2+q0+1-△)>>1)-q1와 등가로 또는 대안적으로 ((q2+q0+△-(q1<<1)+1>>1)에 기반해서 계산될 수 있다.
특정한 실시형태는 블록 내의 화소의 라인에 대한 제1, 제2 및 제3오프셋을 계산하여, 이에 의해 블록 바운더리에 가장 근접한 화소 및 블록 바운더리에 다음의 가장 근접한 화소 모두의 화소 값을 수정하게 한다.
대안적인 실시형태에 있어서, 제2 및 제3오프셋을 계산할 것인지의 결정이 우선 행해지고, 이에 의해 블록 바운더리에 가장 근접한 화소의 화소 값을 수정하는 것에 더해서, 블록 바운더리에 다음의 가장 근접한 화소의 화소 값을 수정할지를 결정한다.
블록 바운더리에 다음의 가장 근접한 화소의 화소 값을 수정하기 위해서, 제2 및 제3오프셋을 계산하는, 상기에 개시된 실시형태와 유사하게, 제4 및 제5오프셋이 블록 바운더리에 제2의 다음의 가장 근접한 화소의 화소 값을 수정하기 위해서 계산될 수 있다.
도 7은 이러한 실시형태를 토시한 흐름도이다. 본 방법은 도 5의 단계 S33으로부터 계속된다. 다음 단계 S50은 (p3+p1-2×p2+2×△p1)/4에 기반해서 제4오프셋을 계산하는데, 여기서 p3는 블록(10) 내의 화소(11, 13, 15, 17)의 라인(12) 내의 블록 바운더리(1)에 제3의 다음의 가장 근접한 화소(17)의 화소 값을 나타내고, △p1는 제2오프셋을 나타낸다. 대응해서, 단계 S51에서, (q3+q1-2×q2+2×△q1)/4에 기반해서 제5오프셋이 계산되는데, 여기서 q3는 인접한 블록(20)의 화소(21, 23, 25, 27)의 대응하는 라인(22) 내의 블록 바운더리(1)에 제3의 가장 근접한 화소(27)의 화소 값을 나타내고, △q1는 제3오프셋을 나타낸다. 단계 S50 및 S51은 소정의 순서로 순차적으로 수행되거나 또는 적어도 부분적으로 병렬로 수행된다.
제4 및 제5오프셋은, 대안적인 실시형태에 있어서, (p3+p1-2×p2+△p1)/2와 (q3+q1-2×q2+△q1)/2 각각에 기반해서 계산되거나 또는 대안적으로 및 (p3+p1-2×p2+2×△q1)/4 및 (q3+q1-2×q2+2×△q2)/4에 기반해서 계산된다.
다음의 2개의 단계는 제4 및 제5오프셋에 기반해서 화소 값을 수정한다. 따라서, 단계 S52는, 수정된 화소 값을 형성하기 위해서 제4오프셋을 이 화소(15)의 화소 값에 가산함으로써, 블록(10) 내의 화소(11, 13, 15, 17)의 라인(12) 내의 블록 바운더리(1)에 제2의 다음의 가장 근접한 화소(15)의 화소 값을 수정한다. 대응해서, 단계 S53은, 수정된 화소 값을 형성하기 위해서 제5오프셋을 이 화소(25)의 화소 값에 가산함으로써, 인접한 블록(20) 내의 화소(21, 23, 25, 27)의 라인(22) 내의 블록 바운더리(1)에 제2의 다음의 가장 근접한 화소(25)의 화소 값을 수정한다. 단계 S52 및 S53은 소정의 순서로 순차적으로 수행되거나 적어도 부분적으로 병렬로 수행된다.
또한, 이 개념은, 블록 바운더리로부터 3개 이상의 화소를 수정하는 필터에 대해서 일반화될 수 있다. 예를 들어, 블록 바운더리(1)로부터의 제4화소(17, 27)는 제3화소(15, 25)(또는 제2화소(13, 23)로부터의 오프셋 또는 제1화소(11, 21)로부터의 오프셋)와 대칭적인 로우-패스 필터의 조합을 사용해서 달성될 수 있다. 더 긴 필터가 또한 가능하다.
이전의 실시형태와 유사하게, 제4 및 제5오프셋은 클리핑될 수도 있다. 이 경우, 제2 및 제3오프셋과 동일한 인터벌 또는 그 인터벌의 반이 사용될 수 있다. 대안적인 실시형태에 있어서, 클리핑 인터벌은 -tc3 내지 tc3인데, 여기서 문턱 값 tc3은 블록과 연관된 QP 값에 기반해서 결정된다. 또한, 블록 바운더리에 제2의 다음의 가장 근접한 화소의 수정된 화소 값이 도 4에 개시된 바와 같이 0과 M의 인터벌 내가 되게 클리핑될 수 있다.
특정한 실시형태에 있어서, 이들 화소 값의 수정은 이하에 따라 수행된다:
p2=(p3+p1-2×p2+2×△p1)/4
p2'=p2+△p2
△q2=(q3+q1-2×q2+2×△q1)/4
q2'=q2+△q2
여기서, △p2, △q2는 제4 및 제5오프셋을 각각 나타낸다. 선택적으로, 클리핑이 상기된 바와 같이 수행될 수 있다.
하드웨어 실행에 적합한 (p3+p1-2×p2+2×△p1)/4 및 (q3+q1-2×q2+2×△q1)/4의 표현은, 정수 값으로서 제4 및 제5오프셋을 얻기 위해서 사용될 수 있다. 특정한 실시형태에 있어서, 제4오프셋은, 바람직하게는, (((p3+p1+1)>>1)-p2+△p1)>>1와 등가로 이에 기반해서 계산된다. 대응해서, (((q3+q1+1)>>1)-q2+△q1)>>1는 제5오프셋의 정수 표현이다.
본 발명 실시형태는, 비디오 프레임의 코딩 및 디코딩과 연관해서, 블록킹 아티팩트를 방지하기 위해 적용된다. 그러므로, 본 실시형태는, 비디오 프레임이 화소의 블록으로 분할되고, 이에 의해 블록 바운더리에 걸쳐서 블록킹 아티팩트를 갖게 하는 위험이 진행하는, 이러한 비디오 코딩 및 디코딩 기준에 적용될 수 있다. 본 실시형태에 적용될 수 있는, 이러한 기준의 예는, H.264 및 HEVC이다. 특히, HEVC는 약한 필터링 모드와 강한 필터링 모드 사이에서 선택하기 위한 가능성을 갖는다. 그 다음, 본 발명 실시형태는, 블록 바운더리에 걸쳐서 화소의 소정 라인 및 화소의 대응하는 라인에서 화소 값을 수정하기 위해 채용된 오프셋을 계산하기 위해서, 바람직하게는 약한 필터링 모드에서 사용될 수 있다. 그러므로, 종래 기술의 HEVC에 따라서 이러한 디블록킹 필터링을 수행할 지의 결정이, 바람직하게는 본 실시형태에 대해서 사용될 수 있다.
특정한 측면은, 비디오 프레임 내의 다중 화소의 블록과 다중 화소의 인접한 블록 사이의 블록 바운더리에서 블록킹 아티팩트를 감소하는 방법에 관한 것이다. 도 1을 참조해서, 본 방법은, 단계 S1에서, 블록 내의 화소의 라인 내의 블록 바운더리에 이 근접한 화소의 화소 값, 화소의 라인 내의 블록 바운더리에 다음의 가장 근접한 화소의 화소 값, 인접한 블록 내의 화소의 대응하는 또는 대향하는 라인 내의 블록 바운더리에 가장 근접한 화소의 화소 값 및 화소의 대응하는 라인 내의 블록 바운더리에 다음의 가장 근접한 화소의 화소 값에 기반해서, 제1오프셋을 계산하는 단계를 포함하여 구성된다. 화소의 라인 및 인접한 화소의 라인은 블록 바운더리에 직교한다. 제1오프셋은 이들 화소 값 및 공식에 기반하는데, 이는, 화소 값이 선형으로 증가하거나 감소할 때, 대략 제로, 바람직하게는 제로와 등가이거나 또는, 화소의 라인 및 화소의 대응하는 라인을 따라 진행할 때, 동일한 오프셋 값을 생성하고, 화소의 라인 및 화소의 대응하는 라인을 따라 진행할 때, 화소 값이 스텝으로 증가하거나 감소할 때, 화소 값의 스텝을 매끄럽게 하는, 오프셋을 생성한다. 또한, 본 방법은, 단계 S2에서, 제1오프셋을 화소의 라인 내의 블록 바운더리에 가장 근접한 화소 값에 가산함으로써, 화소의 라인 내의 블록 바운더리에 가장 근접한 화소의 화소 값을 수정하는 단계를 포함하여 구성된다. 다음 단계 S3은, 화소의 대응하는 라인 내의 블록 바운더리에 가장 근접한 화소의 화소 값으로부터 제1오프셋을 감산함으로써, 화소의 대응하는 라인 내의 블록 바운더리에 가장 근접한 화소의 화소 값을 수정한다.
이 특정한 측면은 도 1 내지 도 7과 연관해서 상기 논의된 실시형태에 결합될 수 있다.
도 1에 개시된 실시형태에 따른 블록킹 아티팩트를 감소하는 방법은, 바람직하게는 디블록킹 필터 유닛에 의해 수행된다. 그러므로, 이러한 디블록킹 필터 유닛은, 그 다음 단계 S1에서 제1오프셋을 계산하고, 단계 S2 및 S3에서 블록 바운더리에 가장 근접한 화소의 화소 값을 수정한다. 도 8은 디블록킹 필터 유닛(100)의 실시형태의 개략적인 블록도이다.
디블록킹 필터 유닛(100)은, 비디오 프레임의 화소의 블록 내의 화소의 라인에 대해서 본 명세서에서 상기 개시된 바와 같이, (9×(q0-p0)-3×(q1-p1))/16에 기반해서 제1오프셋을 계산하도록 구성된 제1오프셋 계산기(110)를 포함하여 구성된다. 디블록킹 필터 유닛(100)의 화소 수정기(120)는, 수정된 화소 값을 형성하기 위해서 이 화소의 화소 값에 제1오프셋 계산기(110)에 의해 계산된 제1오프셋을 가산함으로써, 블록 내의 화소의 라인내의 블록 바운더리에 가장 근접한 화소의 화소 값을 수정하도록 구성된다. 더욱이, 화소 수정기(120)는, 블록 바운더리에 가장 근접한 화소의 화소 값을, 비디오 프레임 내의 화소의 인접한 블록 내의 화소의 화소의 대응하는 라인 내에서 수정한다. 화소 값 수정기(120)에 의한 이 수정은, 정된 화소 값을 형성하기 위해서, 이 화소의 화소 값으로부터 제1오프셋 계산기(110)에 의해 계산된 제1오프셋을 감산함으로써, 달성된다.
그러므로, 특정한 실시형태에 있어서, 화소 수정기(120)는, 수정된 화소 값을 형성하기 위해서, 화소의 라인 내의 블록 바운더리에 가장 근접한 화소의 화소 값에 제1오프셋을 가산하도록 구성된다.
특정한 실시형태에 있어서, 제1오프셋 계산기(110)는, 예를 들어 함수 f() 또는 (9×(q0-p0)-3×(q1-p1))/16의 표현인, f((9×(q0-p0)-3×(q1-p1))/16)으로 되는 제1오프셋을 계산한다. 바람직하게는, 이 함수는 (9×(q0-p0)-3×(q1-p1))/16의 정수 표현을 출력하고, 바람직하게는 함수는 하드웨어 실행에 적합하다. 제1오프셋 계산기(110)는, 일실시형태에 있어서, 바람직하게는 (9×(q0-p0)-3×(q1-p1)+8)>>4와 등가로, 이에 기반해서 제1오프셋을 계산하도록 구성된다.
도 9는 다른 실시형태에 따른 디블록킹 필터 유닛(200)의 개략적인 블록도이다. 디블록킹 필터 유닛(200)은 제1오프셋 계산기(210)와 화소 값 수정기(220)를 포함하여 구성된다. 이들 유닛(210, 220)은 도 8과 관련해서 상기된 바와 같이 동작한다. 바람직하게는, 또한, 디블록킹 필터 유닛(200)은 제1클리핑 유닛(230)을 포함하여 구성된다. 이 제1클리핑 유닛(230)은 제1오프셋을 -tc 및 tc의 인터벌 내가 되도록 클리핑하도록 구성된다. 그 다음, 문턱 값 tc는 블록과 연관되고, 예를 들어 블록의 QP 값에 기반해서 표 1로부터 선택될 수 있다.
선택적인 제2클리핑 유닛(240)은 화소 값 수정기(220)에 의해 계산된 수정된 화소 값을 클리핑하기 위해서, 디블록킹 필터 유닛(200)에서 실행된다. 따라서, 제2클리핑 유닛(240)은 이들 수정된 화소 값이 제로와 규정된 최대 값 M의 인터벌 내가 되도록 제한한다.
바람직한 실시형태에 있어서, 또한 디블록킹 필터 유닛(200)은 블록 내의 화소의 라인에 대해서 (p2+p0-2×p1+2×△)/4에 기반해서 제2오프셋을 계산하도록 구성된 계산기(250)를 포함하여 구성된다.
특정한 실시형태에 있어서, 제2오프셋 계산기(250)는, 예를 들어 함수 g() 또는 (p2+p0-2×p1+2×△)/4의 표현인, g((p2+p0-2×p1+2×△)/4)로 되는 제2오프셋을 계산하도록 구성된다. 바람직하게는, 이 함수는 (p2+p0-2×p1+2×△)/4의 정수 표현을 출력하고, 바라직하게는 이 함수는 하드웨어 실행에 적합하다. 제2오프셋 계산기(250)는, 이 실시형태에 있어서, 바람직하게는 (((p2+p0+1)>>1)-p1+△)>>1과 등가로, 이에 기반해서 계산된다.
바람직하게는, 디블록킹 필터 유닛(200)은, 인접한 블록 내의 화소의 대응하는 라인에 대해서 (q2+q0-2×q1-2×△)/4에 기반해서 제3오프셋을 계산하도록 구성된 제3오프셋 계산기(260)을 포함하여 구성된다.
특정한 실시형태에 있어서, 제3오프셋 계산기(260)는, 예를 들어 함수 h() 또는 (q2+q0-2×q1-2×△)/4의 표현인,h((q2+q0-2×q1-2×△)/4)으로 되는 제3오프셋을 계산하도록 구성된다. 바람직하게는, 이 함수는, (q2+q0-2×q1-2×△)/4의 정수 표현을 출력하고, 바람직하게는 함수는 하드웨어 실행에 적합하다. 제3오프셋 계산기(260)는, 일실시형태에 있어서, 바람직하게는 (((q2+q0+1)>>1)-q1-△)>>1과 등가로, 이에 기반해서 제3오프셋을 계산하도록 구성된다.
그 다음, 디블록킹 필터 유닛(200)의 화소 수정기(220)가, 블록 내의 화소의 라인 내의 블록 바운더리에 다음의 가장 근접한 화소의 화소 값을 수정하도록 더 구성된다. 화소 수정기(220)는 제2오프셋 계산기(250)에 의해 계산된 제2오프셋을 이 화소의 화소 값에 가산한다. 추가적으로, 화소 수정기(220)는, 블록 바운더리에 다음의 가장 금접한 화소의 화소 값을, 인접한 블록 내의 화소의 화소의 대응하는 라인 내에서 수정하도록 구성된다. 이 수정은, 제3오프셋 계산기(260)에 의해 계산된 제3오프셋을 이 화소의 화소 값에 가산함으로써 달성된다.
디블록킹 필터 유닛(200)의 선택적인 제3클리핑 유닛(270)은, 제2오프셋 계산기(250)에 의해 계산된 제2오프셋 및 제3오프셋 계산기(260)에 의해 계산된 제3오프셋을 클리핑해서, -tC2 및 tC2의 인터벌 내가 되게 한다. 바람직하게는, 문턱 값 tC2은 블록과 연관된 QP 값에 의존하고, 바람직하게는 제1오프셋을 클램핑하기 위해 사용된 문턱 값 tC에 기반해서 계산된다. 대안적인 실시형태에 있어서, 제3클리핑 유닛(270)은 생략되고, 제2 및 제3오프셋의 소정의 클리핑이 제1클리핑 유닛(230)에 의해 대신 수행된다.
바람직하게는, 제2클리핑 유닛(240)은 블록 바운더리에 가장 근접한 화소의 수정된 화소 값만 아니라, 블록 바운더리에 다음의 가장 근접한 화소의 수정된 화소 값을 클리핑하고, 제2 및 제3오프셋 각각을 사용해서 계산된다. 따라서, 이들 수정된 화소 값은, 바람직하게는 제로 내지 규정된 최대 값 M의 인터벌 내가 되게 제한된다.
제2오프셋 계산기(250) 및 제3오프셋 계산기(260)은 화소의 각각의 라인 및 화소의 각각의 대응하는 라인에 대해서 제2 및 제3오프셋을 계산하도록 구성되는데, 그 디블록킹 필터링이 블록과 인접한 블록 간의 블록 바운더리에 걸쳐서 적용된다. 대안적인 접근에 있어서, 디블록킹 필터 유닛(200)은, 제5오프셋만을 계산하고 이에 의해 블록 바운더리에 가장 근접한 화소의 화소갑만을 수정하는 지 또는 제1, 제2 및 제3오프셋 모두를 계산하고 이에 의해 블록 바운드리에 가장 근접한 그리고 다음의 가장 근접한 화소의 화소 값을 수정하는 지에 대한 선택을 수행한다.
선택적인 실시형태에 있어서, 디블록킹 필터 유닛(200)은 제4오프셋 계산기(280)는, (p3+p1-2×p2+2×△p1)/4에 기반해서 제4오프셋을 계산한다.
특정한 실시형태에 있어서, 제4오프셋 계산기(280)는, 함수 b() 또는 (p3+p1-2×p2+2×△p1)/4의 표현인 b((p3+p1-2×p2+2×△p1)/4)로 되도록 제4오프셋을 계산하도록 구성된다. 바람직하게는 이 함수는, (p3+p1-2×p2+2×△p1)/4의 정수 표현을 출력하고, 바람직하게는 이 함수는 하드웨어 실행에 대해서 적합한다. 제4오프셋 계산기(280)는, 실시형태에 있어서, 바람직하게는 (((p3+p1+1)>>1)-p2+△p1)>>1과 등가로, 이에 기반해서 제4오프셋을 계산하도록 구성된다.
디블록킹 필터(200)는 또한, (q3+q1-2×q2+2×△q1)/4에 기반해서 제5오프셋을 계산하도록 구성된다.
특정한 실시형태에 있어서, 제5오프셋 계산기(290)는, 예를 들어 함수 k() 또는 (q3+q1-2×q2+2×△q1)/4의 표현인 k((q3+q1-2×q2+2×△q1)/4)으로 되는 제5오프셋을 계산하도록 구성된다. 이 함수는 (q3+q1-2×q2+2×△q1)/4의 정수 표현을 출력하고, 바람직하게는 이 함수는 하드웨어 실행에 적합하다. 제5오프셋 계산기(290)는, 이 실시형태에서, 바람직하게는 (((q3+q1+1)>>1)-q2+△q1)>>1와 등가로, 이에 기반해서 제5오프셋을 계산하도록 구성된다. 이 실시형태에 있어서, 화소 값 수정기(220)는 또한, 제4오프셋 계산기(280)에 의해 계산된 제4오프셋을 이 화소의 화소 값에 가산함으로써, 블록 내의 화소의 라인 내의 블록 바운더리에 제2의 다음의 가장 근접한 화소의 화소 값을 수정하도록 구성된다. 추가적으로, 화소 값 수정기(220)는, 이 실시형태에 있어서, 제5오프셋 계산기에 의해 계산된 제5오프셋을 이 화소의 화소 값에 가산함으로써, 인접한 블록 내의 화소의 대응하는 라인 내의 블록 바운더리에 제2의 다음의 가장 근접한 화소의 화소 값을 수정한다.
바람직하게는, 제2클리핑 유닛(240)은, 수정된 화소 값을 처리해서, 이들을 제로 및 사전에 규정된 최대 값 M의 인터벌 내가 되게 제한한다. 또한, 제3클리핑 유닛(270)은, 제2 및 제3오프셋과 유사하게, 제4 및 제5오프셋을 클리핑하는데 사용될 수 있다. 한편, 디블록킹 필터 유닛(200)은, 블록의 QP 값 및 바람직하게는 문턱 값 tC에 기반해서 규정된 엔드 포인트를 갖는 내로 제4 및 제5오프셋을 클리핑하도록 구성된 제4클리핑 유닛을 포함하여 구성된다.
특정한 측면은, 비디오 프레임 내의 다중 화소의 블록 및 다중 화소의 인접한 블록 사이의 블록 바운더리에서 블로킹 아티팩트를 감속하기 위한 디블록킹 필터 유닛과 관련된다. 도 8을 참조해서, 디블록킹 필터 유닛(100)은, 블록 내의 화소의 라인 내의 블록 바운더리에 가장 근접한 화소의 화소 값과, 화소의 라인 내의 블록 바운더리에 다음의 가장 근접한 화소의 화소 값, 인접한 블록 내의 화소의 대응하는 또는 대향하는 화소의 라인 내의 블록 바운더리에 가장 근접한 화소의 화소 값 및, 화소의 대응하는 라인 내의 블록 바운더리에 다음의 가장 근접한 화소의 화소 값에 기반해서 제1오프셋을 계산한다. 화소의 라인 및 인접한 화소의 라인은 블록 바운더리에 직교한다. 제1오프셋은 이들 화소 값 및 공식에 기반하는데, 이는, 화소 값이 선형으로 증가하거나 감소할 때, 대략 제로, 바람직하게는 제로와 등가이거나 또는, 화소의 라인 및 화소의 대응하는 라인을 따라 진행할 때, 동일한 오프셋 값을 생성하고, 화소의 라인 및 화소의 대응하는 라인을 따라 진행할 때, 화소 값이 스텝으로 증가하거나 감소할 때, 화소 값의 스텝을 매끄럽게 하는, 오프셋을 생성한다. 또한, 디블록킹 필터 유닛(100)은, 수정된 화소 값을 형성하기 위해서, 화소의 라인 내의 블록 바운더리에 가장 근접한 화소의 화소 값에 제1오프셋을 가산함으로써, 화소의 라인 내의 블록 바운더리에 가장 근접한 화소의 화소 값을 수정하도록 구성된 화소 값 수정기(120)를 포함하여 구성된다. 이 화소 값 수정기(120)는, 수정된 화소 값을 형성하기 위해서, 화소의 대응하는 라인 내의 블록 바운더리에 가장 근접한 화소의 화소 값으로부터 제1오프셋을 감산함으로써 화소의 대응하는 라인 내의 블록 바운더리에 가장 근접한 화소의 화소 값을 수정하도록 더 구성된다.
도 8 및 도 9와 관련해서 개시된 각각의 유닛(110, 120 및 210-290)이, 장치(100, 200) 내의 물리적으로 분리 유닛(110, 120 및 210-290)으로서 공지되지만, 이들 모두는 ASICs(Application Specific Integrated Circuits)와 같은 특정 목적 회로로 될 수 있으며, 장치(100, 200)의 대안적인 실시형태가, 가능하며, 여기서 몇몇 및 모든 유닛(110, 120 및 210-290)은 일반 목적 프로세서 상에서 구동하는 컴퓨터 프로그램 모듈로서 실행된다. 이러한 실시형태는 도 10에 개시된다.
도 10은 DSP(Digital Signal Processor) 또는 CPU(Central Processing Unit)과 같은, 처리 유닛(72)을 갖는 컴퓨터(70)의 실시형태를 개략적으로 도시한다. 처리 유닛(72)은 본 명세서에 개시된 방법의 단계를 수행하기 위한 단일 유닛 또는 복수의 유닛이 될 수 있다. 또한, 컴퓨터(70)는 기록된 또는 생성된 비디오 프레임 또는 인코딩된 비디오 프레임 및 인코딩된 비디오 프레임 또는 디코딩된 비디오 데이터를 수신하기 위한 입력/출력(I/O) 유닛(71)을 포함하여 구성된다. I/O 유닛(71)은 도 10 내에 단일 유닛으로서 도시되지만, 분리의 입력 유닛 및 분리의 출력 유닛으로도 될 수 있다.
더욱이, 컴퓨터(70)는 비휘발성 메모리(non-volatile memory) 형태의, 예를 들어 EEPROM(Electrically Erasable Programmable Read-Only Memory), 플래시 메모리 또는 디스크 드라이브의, 적어도 하나의 컴퓨터 프로그램 프로덕트(73)를 포함하여 구성된다. 이 컴퓨터 프로그램 프로덕트(73)는 컴퓨터 프로그램(74)을 포함하여 구성되는데, 이는, 컴퓨터(70) 상에서 구동할 때, 처리 유닛(72)에 의해, 컴퓨터(70)가 도 1과 관련해서 상기된 방법의 단계를 수행하도록 하는, 코드 수단을 포함하여 구성된다. 그러므로, 일 실시형태에 있어서, 컴퓨터 프로그램(74) 내의 코드 수단은, 제1오프셋을 계산하기 위한 제1오프셋 계산 모듈 또는 제1오프셋 계산기(310)와 디블록킹 필터 모듈(300) 또는 디블록킹 필터 장치의 화소 값을 수정하기 위한 화소 값 수정 모듈 또는 화소 값 수정기(320)를 포함하여 구성된다. 기본적으로, 이들 모듈(310, 320)은, 처리 유닛(72) 상에서 구동할 때, 도 1의 흐름도의 단계를 수행한다. 따라서, 다른 모듈(310, 320)이 처리 유닛(72) 상에서 구동할 때, 이들은 도 8의 대응하는 유닛(110, 120) 및 도 9의 유닛(210, 220)에 대응한다.
추가적으로, 컴퓨터 프로그램(74)은 제1클리핑 모듈, 제2클리핑 모듈, 제2오프셋 계산 모듈, 제3오프셋 계산 모듈을 포함하여 구성되고, 선택적으로 또한 제3클리핑 모듈, 제4오프셋 계산 모듈 및 제5오프셋 계산 모듈을 포함하여 구성되어, 도 9의 대응하는 유닛(230-290)의 동작을 수행한다.
도 10의 컴퓨터(70)는, 사용자 장비가 되거나 또는 사용자 장비(80) 내에 존재할 수 있다. 이 경우, 사용자 장비(80)는 추가적으로 디스플레이(88)를 포함하여 구성되거나 디스플레이에 접속되어, 비디오 데이터를 디스플레이한다.
바람직하게는, 도 8 및 도 9의 디블록킹 필터 유닛(100, 200)은, 비디오 코딩 에서 사용된다. 이와 같이 기능하는 것은, 그러므로, 바람직하게는, 비디오 인코더 및 비디오 디코더 모두에서 실행된다. 바람직하게는, 비디오 디코더는 하드웨어만 아니라 소프트웨어에서도 실행될 수 있다. 이는 비디오 인코더에 대해서도 동일하게 유지된다.
도 11은 실시형태에 따라서, 비디오 시퀀스의 비디오 프레임 내에서 화소의 블록을 인코딩하기 위한 인코더(40)의 개략적인 블록도이다.
화소의 현재 블록은, 동일한 프레임 또는 이전 프레임에서 화소의 이미 제공된 블록으로부터, 모션 평가기(50)에 의한 모션 평가에 의해 예측된다. 모션 평가의 결과는, 인터 예측의 경우, 참조 블록과 연관된 모션 또는 변위 벡터이다. 모션 벡터는, 화소의 블록의 인터 예측을 출력하기 위해 모션 보상기(50)에 의해 사용된다.
인트라 예측기(49)는, 화소의 현재 블록의 인트라 예측을 계산한다. 모션 평가기/보상기(50) 및 인트라 예측기(49)로부터의 출력은 선택기(51)로 입력되는데, 이 선택기는 화소의 현재 블록에 대한 인트라 예측 또는 인터 예측을 선택한다. 선택기(51)로부터의 출력은, 가산기(41) 형태의 에러 계산기에 입력되는데, 이 가산기는 화소의 현재 블록의 화소 값도 수신한다. 가산기(41)는, 잔여의 에러를, 화소 블록과 그 예측 간의 화소 값의 차이로서, 계산하고 출력한다.
에러는, 분산 코사인 변환에 의해서와 같이, 변환기(42)에서 변환되고, 양자화기(43)에 의해서 양자화된 후, 엔트로피 인코더(44)에 의해서와 같이, 인코더(44)에서의 코딩이 수반된다. 인터 코딩에 있어서, 평가된 모션 벡터는 화소의 현재 블록의 코딩된 표현을 생성하기 위해 인코더(44)로 보내진다.
또한, 화소의 현재 블록에 대한 변환된 그리고 양자화된 잔여의 에러는, 역 양자화기(45) 및 역 변환기(46)에 제공되어, 오리지널의 잔여의 에러를 검색한다. 이 에러는 가산기(47)에 의해 모션 보상기(50)로부터 출력된 블록 예측에 가산되거나 또는 화소의 다음 블록의 예측 및 코딩에 사용될 수 있는 화소의 참조 블록을 생성하기 위해서 인트라 예측기(49)에 가산된다. 이 새로운 참조 블록은, 소정의 블록킹 아티팩트를 방지하도록 디블록킹 필터링을 수행하기 위해서, 본 실시형태에 따른 디블록킹 필터 유닛(100)에 의해 우선 처리된다. 그 다음, 처리된 새로운 참조 블록은 임시적으로 프레임 버퍼(48) 내에 저장되며, 여기서 이는 인트라 예측기(49) 및 모션 평가기/보상기(50)에 대해서 이용 가능하게 된다.
도 12는 실시형태에 따른 디블록킹 필터 유닛(100)을 포함하여 구성되는 디코더(60)의 대응하는 개략적인 블록도이다. 디코더(60)는, 양자화된 그리고 변환된 잔여의 에러의 세트를 얻기 위해서, 화소의 블록의 인코딩된 표현을 디코딩하기 위한 엔트로피 디코더와 같은 디코더(61)를 포함하여 구성된다. 이들 잔여의 에러들은 역 양자화기(62)에서 디양자화(dequantized)되고, 역 변환기(63)에 의해 역 변환되어, 잔여의 에러 세트를 얻게 된다.
이들 잔여의 에러는, 가산기(64)에서, 화소의 참조 블록의 화소 값에 가산된다. 참조 블록은, 인터 또는 인트라 예측이 수행되는 지에 의존해서, 모션 평가기/보상기(67) 또는 인트라 예측기(66)에 의해 결정된다. 이에 의해, 선택기(68)는 가산기(64)와 모션 평가기/보상기(67)와 인트라 예측기(66)와 상호 접속된다. 가산기(64)로부터 출력된 화소의 결과적인 디코딩된 블록은, 필터가 소정의 블록킹 아티팩트를 디블록킹하기 위해서 실시형태에 따른 디블록킹 필터 유닛(100)에 입력된다. 화소의 필터링된 블록은 디코더(60)로부터 출력되고, 더욱이 바람직하게는 임시적으로 프레임 버퍼(65)에 제공되며, 디코딩되는 화소의 후속 블록에 대해서 화소의 참조 블록으로서 사용될 수 있다. 이에 의해, 프레임 버퍼(65)는 모션 평가기/보상기(67)에 접속되어, 화소의 기억된 블록이, 모션 평가기/보상기(67)에 대해서 이용 가능하게 한다.
바람직하게는, 가산기(64)로부터의 출력은, 인트라 예측기(66)에 입력되어 화소의 필터링 안된 참조 블록으로서 사용된다.
도 11 및 도 12에 개시된 실시형태에 있어서, 디블록킹 필터 유닛(100)은, 소위 인-루프 필터링으로 불리는 디블록킹 필터링을 수행한다. 디코더(60)에서의 대안적인 실행에 있어서, 디블록킹 필터 유닛(100)은, 소위 포스트-처리 필터링을 수행하도록 배열된다. 이 경우, 디블록킹 필터 유닛(100)은 가산기(64), 프레임 버퍼(65), 인트라 예측기(66), 모션 평가기/보상기(67) 및 선택기(68)에 의해 형성된 루프의 외측의 출력 프레임 상에서 동작한다. 그 다음, 인코더에서 전형적으로 행해지는 디블록킹 필터링은 없다.
도 13은 디블록킹 필터 유닛과 함께 디코더(60)를 수용하는 사용자 장비 또는 미디어 단말(80)의 개략적인 블록도이다. 사용자 장비(80)는 미디어 디코딩 기능을 갖는 소정의 장치일 수 있는데, 이는 인코딩된 비디오 프레임의 인코딩된 비디오 스트림 상에서 동작해서, 이에 의해 비디오 프레임을 디코딩하고, 비디오 데이터를 이용 가능하게 한다. 이러한 장치의 비제한적인 예는, 이동 전화기 및 그 밖의 포터블 미디어 플레이어, 태블릿, 데스크톱, 노트북, 퍼스널 비디오 레코더, 멀티미디어 플레이어, 비디오 스트리밍 서버, 셋톱 박스, TV, 컴퓨터, 디코더, 게임 콘솔 등을 포함한다. 사용자 장비(80)는 인코딩된 비디오 프레임을 기억하도록 구성된 메모리(84)를 포함하여 구성된다. 이들 인코딩된 비디오 프레임은, 사용자 장비(80) 자체에 의해 생성될 수 있다. 이 경우, 바람직하게는, 사용자 장비(80)는, 도 11의 인코더와 같은 접속된 인코더와 함께 미디어 엔진 또는 레코더를 포함하여 구성된다. 한편, 인코딩된 비디오 프레임은, 몇몇 다른 장치에 의해 생성되고, 사용자 장비(80)에 유선 또는 무선으로 전송된다. 그 다음, 사용자 장비(80)는, 데이터 전송을 달성하기 위해서, 송수신기(송신기 및 수신기) 또는 입력 및 출력 포트(82)를 포함하여 구성된다.
인코딩된 비디오 프레임은 메모리(84)로부터 도 12에 도시된 디코더와 같은 디코더(60)로 보내진다. 디코더(60)는 실시형태에 따른 디블록킹 필터 유닛(100)을 포함하여 구성된다. 그 다음, 디코더(60)는 인코딩된 비디오 프레임을 디코딩된 비디오 프레임으로 디코딩한다. 디코딩된 비디오 프레임은 미디어 플레이어(86)에 제공되는데, 이 미디어 플레이어는 디코딩된 비디오 프레임을 비디오 데이터로 렌더링하도록 구성되고, 이 비디오 데이터는 사용자 장비(80)에 접속된 디스플레이 또는 스크린(88) 상에 디스플레이될 수 있다.
도 13에 있어서, 사용자 장비(80)는 디코더(60) 및 미디어 플레이어(86) 모두를 포함하여 구성되도록 도시되어 있는데, 디코더(60)는 미디어 플레이어(86)의 부분으로서 실행된다. 그런데, 이는 단지 예시적으로 보여진 것으로, 사용자 장비(80)에 대해서 실행 가능한 실시형태의 예를 제한하는 것은 아니다. 또한, 분산된 실행도 가능한데, 여기서 디코더(60) 및 미디어 플레이어(86)는, 본 명세서에서 사용된 바와 같이 사용자 장비(80)의 범위 내에서, 2개의 물리적으로 분리된 장치로 제공되는 것이 가능하다. 또한, 디스플레이(88)는 사용자 장비(80)에 접속된 분리 장치로서 제공될 수 있으며, 여기서 실재적인 데이터 처리가 일어난다.
도 14에 도시된 바와 같이, 도 11 및 도 12에 도시된 바와 같은 인코더(40) 및/또는 디코더(60)가, 송신 유닛(34)과 수신의 사용자 장비(36) 사이의 통신 네트워크(32) 내의 네트워크 노드인 또는 이에 속하는 네트워크 장치(30) 내에서 실행될 수 있다. 이러한 네트워크 장치(30)는, 예를 들어 수신의 사용자 장비(36)가 송신 유닛(34)으로부터 송신된 것과 다른 비디오 코딩 기준일 수 있거나 이를 선호하면, 하나의 비디오 코딩 기준에 따른 비디오를 다른 비디오 코딩 기준으로 변환하기 위한 장치일 수 있다. 네트워크 장치(30)는 무선 기지국, Node-B 또는 무선-기반 네트워크와 같은 통신 네트워크(32) 내의 소정의 다른 네트워크 노드 형태이거나 이들에 포함될 수 있다.
상기된 실시형태는, 본 발명의 소정의 예시적인 실시예로서 이해되어야 한다. 본 기술 분야의 당업자에 있어서는, 본 발명의 범위를 벗어남이 없이, 다양한 실시형태 조합 및 변경이 가능할 수 있는 것으로 이해된다. 특히, 다른 실시형태의 다른 부분의 해결책이 기술적으로 가능한 다른 구성과 결합될 수 있다. 그런데, 본 발명의 범위는 첨부된 특허청구범위에 의해 규정된다.
1 - 블록 바운더리,
10, 20 - 블록.

Claims (27)

  1. 비디오 프레임 내의 다중 화소(11, 13, 15, 17)의 블록(10)과 다중 화소(21, 23, 25, 27)의 인접한 블록(20) 간의 블록 바운더리(1)에서 블록킹 아티팩트를 감소하는 방법으로서,
    9×(q0-p0)-3×(q1-p1)+8>>4에 기반해서 제1오프셋을 계산하는 단계(S1)로서, >>는 우측 시프트 연산을 나타내고, p0는 상기 블록(10) 내의 화소(11, 13, 15, 17)의 라인(12)에서 상기 블록 바운더리(1)에 가장 근접한 화소(11)의 화소 값을 나타내고, 화소(11, 13, 15, 17)의 상기 라인(12)은 상기 블록 바운더리(1)에 직교하며, p1은 화소(11, 13, 15, 17)의 상기 라인(12) 내의 상기 블록 바운더리(1)에 다음의 가장 근접한 화소(13)의 화소 값을 나타내고, q0는 상기 인접한 블록(20) 내의 화소(21, 23, 25, 27)의 대응하는 라인(22) 내의 상기 블록 바운더리(1)에 가장 근접한 화소(21)의 화소 값을 나타내고, 화소(21, 23, 25, 27)의 상기 대응하는 라인(22)은 상기 블록 바운더리(1)에 직교하며, q1은 화소(21, 23, 25, 27)의 상기 대응하는 라인(22) 내의 상기 블록 바운더리(1)에 다음의 가장 근접한 화소(23)의 화소 값을 나타내는, 계산하는 단계(S1)와;
    화소(11, 13, 15, 17)의 상기 라인(12) 내의 상기 블록 바운더리(1)에 가장 근접한 상기 화소(11)의 수정된 화소 값 p0'을 형성하기 위해서, 상기 제1오프셋을, 화소(11, 13, 15, 17)의 상기 라인(12) 내의 상기 블록 바운더리(1)에 가장 근접한 상기 화소(11)의 상기 화소 값 p0에 가산함으로써, 화소(11, 13, 15, 17)의 상기 라인(12) 내의 상기 블록 바운더리(1)에 가장 근접한 상기 화소(11)의 상기 화소 값 p0을 수정하는 단계(S2)와;
    화소(11, 13, 15, 17)의 상기 대응하는 라인(12) 내의 상기 블록 바운더리(1)에 가장 근접한 상기 화소(21)의 수정된 화소 값 q0'을 형성하기 위해서, 화소(21, 23, 25, 27)의 상기 대응하는 라인(22) 내의 상기 블록 바운더리(1)에 가장 근접한 상기 화소(21)의 상기 화소 값 q0으로부터 상기 제1오프셋을 감산함으로써, 화소(21, 23, 25, 27)의 상기 대응하는 라인(22) 내의 상기 블록 바운더리(1)에 가장 근접한 상기 화소(21)의 상기 화소 값 q0'을 수정하는 단계(S3)를 포함하여 구성되는 것을 특징으로 하는 방법.
  2. 제1항에 있어서,
    상기 제1오프셋이 -tc작으면, 상기 제1오프셋을 -tc와 등가가 되도록 설정하고, 상기 제1오프셋이 tc보다 크면, 상기 제1오프셋을 tc와 등가가 되도록 설정함으로써, 상기 제1오프셋을 -tc와 tc의 인터벌 내가 되게 클리핑하는 단계(S11)를 더 포함하여 구성되고, tc는 상기 블록(10)에 할당된 양자화 파라미터 값에 의존하는 문턱 값인 것을 특징으로 하는 방법.
  3. 제1항 또는 제2항에 있어서,
    화소(11, 13, 15, 17)의 상기 라인(12) 내의 상기 블록 바운더리(1)에 가장 근접한 상기 화소(11)의 상기 수정된 화소 값 p0'이 제로보다 작으면, 화소(11, 13, 15, 17)의 상기 라인(12) 내의 상기 블록 바운더리(1)에 가장 근접한 상기 화소(11)의 상기 수정된 화소 값 p0'을 제로와 등가가 되도록 설정하고, 화소(11, 13, 15, 17)의 상기 라인(12) 내의 상기 블록 바운더리(1)에 가장 근접한 상기 화소(11)의 상기 수정된 화소 값 p0'이 규정된 최대 값보다 크면, 화소(11, 13, 15, 17)의 상기 라인(12) 내의 상기 블록 바운더리(1)에 가장 근접한 상기 화소(11)의 상기 수정된 화소 값 p0'을 상기 규정된 최대 값과 등가가 되도록 설정함으로써, 화소(11, 13, 15, 17)의 상기 라인(12) 내의 상기 블록 바운더리(1)에 가장 근접한 상기 화소(11)의 상기 수정된 화소 값 p0'을 제로와 규정된 최대 값의 인터벌 내가 되게 클리핑하는 단계(S21)와;
    화소(21, 23, 25, 27)의 상기 대응하는 라인(22) 내의 상기 블록 바운더리(1)에 가장 근접한 상기 화소(21)의 상기 수정된 화소 값 q0'이 제로보다 작으면, 화소(21, 23, 25, 27)의 상기 라인(12) 내의 상기 블록 바운더리(1)에 가장 근접한 상기 화소(21)의 상기 수정된 화소 값 q0'을 제로와 등가가 되도록 설정하고, 화소(21, 23, 25, 27)의 상기 대응하는 라인(22) 내의 상기 블록 바운더리(1)에 가장 근접한 상기 화소(21)의 상기 수정된 화소 값 q0'이 상기 규정된 최대 값보다 크면, 화소(21, 23, 25, 27)의 상기 대응하는 라인(12) 내의 상기 블록 바운더리(1)에 가장 근접한 상기 화소(21)의 상기 수정된 화소 값 q0'을 상기 규정된 최대 값과 등가가 되도록 설정함으로써, 화소(21, 23, 25, 27)의 상기 대응하는 라인(22) 내의 상기 블록 바운더리(1)에 가장 근접한 상기 화소(11)의 상기 수정된 화소 값 q0'을 제로와 규정된 최대 값의 인터벌 내가 되게 클리핑하는 단계(S21)를 더 포함하여 구성되는 것을 특징으로 하는 방법.
  4. 제1항 또는 제2항에 있어서,
    (p2+p0-2×p1+2×△)/4에 기반해서 제2오프셋을 계산하는 단계(S30)로서, p2는 화소(11, 13, 15, 17)의 상기 라인(12) 내의 상기 블록 바운더리(1)에 제2의 다음의 가장 근접한 화소(15)의 화소 값을 나타내고, △는 상기 제1오프셋을 나타내는, 단계와;
    (q2+q0-2×q1-2×△)/4에 기반해서 제3오프셋을 계산하는 단계(S31)로서, q2는 화소(21, 23, 25, 27)의 상기 대응하는 라인(22) 내의 상기 블록 바운더리(1)에 제2의 다음의 가장 근접한 화소(25)의 화소 값을 나타내는 단계와;
    화소(11, 13, 15, 17)의 상기 라인(12) 내의 상기 블록 바운더리(1)에 다음의 가장 근접한 상기 화소(13)의 수정된 화소 값 p1'을 형성하기 위해서, 상기 제2오프셋을, 화소(11, 13, 15, 17)의 상기 라인(12) 내의 상기 블록 바운더리(1)에 다음의 가장 근접한 상기 화소(13)의 상기 화소 값 p1에 가산함으로써, 화소(11, 13, 15, 17)의 상기 라인(12) 내의 상기 블록 바운더리(1)에 다음의 가장 근접한 상기 화소(13)의 상기 화소 값 p1을 수정하는 단계(S32)와;
    화소(21, 23, 25, 27)의 상기 대응하는 라인(22) 내의 상기 블록 바운더리(1)에 다음의 가장 근접한 상기 화소(23)의 수정된 화소 값 q1'을 형성하기 위해서, 상기 제3오프셋을, 화소(21, 23, 25, 27)의 상기 대응하는 라인(22) 내의 상기 블록 바운더리(1)에 다음의 가장 근접한 상기 화소(23)의 상기 화소 값 q1에 가산함으로써, 화소(21, 23, 25, 27)의 상기 대응하는 라인(22) 내의 상기 블록 바운더리(1)에 다음의 가장 근접한 상기 화소(23)의 상기 화소 값 q1을 수정하는 단계(S33)를 더 포함하여 구성되는 것을 특징으로 하는 방법.
  5. 제4항에 있어서,
    상기 제2오프셋을 계산하는 단계(S30)는, (((p2+p0+1)>>1)-p1+△)>>1과 등가가 되도록 제2오프셋을 계산하는 단계(S30)를 더 포함하여 구성되고, >>는 우측 시프트 연산을 나타내며;
    상기 제3오프셋을 계산하는 단계(S31)는, (((q2+q0+1)>>1)-q1-△)>>1와 등가로 되도록 상기 제3오프셋을 계산하는 단계(S31)를 포함하여 구성되는 것을 특징으로 하는 방법.
  6. 제4항에 있어서,
    상기 제2오프셋이 -tC2보다 작으면, -tC2와 등가가 되도록 상기 제2오프셋을 설정하고, 상기 제2오프셋이 tC2보다 크면, 상기 제2오프셋이 tC2와 등가가 되도록 설정함으로써, 상기 제2오프셋을 -tC2와 tC2의 인터벌 내가 되게 클리핑하는 단계(S41)로서, tC2는 상기 블록(10)에 할당된 양자화 파라미터에 의존하는 문턱 값인, 클리핑하는 단계(S41)와;
    상기 제3오프셋이 -tC2보다 작으면, -tC2와 등가가 되도록 상기 제3오프셋을 설정하고, 상기 제3오프셋이 tC2보다 크면 tC2와 등가가 되도록 상기 제3오프셋을 설정함으로써, 상기 제3오프셋을 -tC2와 tC2의 인터벌 내가 되게 클리핑하는 단계(S41)를 포함하여 구성되는 것을 특징으로 하는 방법.
  7. 제4항에 있어서,
    화소(11, 13, 15, 17)의 상기 라인(12) 내의 상기 블록 바운더리(1)에 다음의 가장 근접한 상기 화소(13)의 상기 수정된 화소 값 p1'이 제로보다 작으면, 화소(11, 13, 15, 17)의 상기 라인(12) 내의 상기 블록 바운더리(1)에 다음의 가장 근접한 상기 화소(13)의 상기 수정된 화소 값 p1'을 제로와 등가가 되도록 설정하고, 화소(11, 13, 15, 17)의 상기 라인(12) 내의 상기 블록 바운더리(1)에 다음의 가장 근접한 상기 화소(13)의 상기 수정된 화소 값 p1'이 규정된 최대 값보다 크면, 화소(11, 13, 15, 17)의 상기 라인(12) 내의 상기 블록 바운더리(1)에 다음의 가장 근접한 상기 화소(13)의 상기 수정된 화소 값 p1'을 상기 규정된 최대 값과 등가가 되도록 설정함으로써, 화소(11, 13, 15, 17)의 상기 라인(12) 내의 상기 블록 바운더리(1)에 다음의 가장 근접한 상기 화소(13)의 상기 수정된 화소 값 p1'을 제로와 규정된 최대 값의 인터벌 내가 되게 클리핑하는 단계(S21)와;
    화소(21, 23, 25, 27)의 상기 대응하는 라인(22) 내의 상기 블록 바운더리(1)에 다음의 가장 근접한 상기 화소(23)의 상기 수정된 화소 값 q1'이 제로보다 작으면, 화소(21, 23, 25, 27)의 상기 라인(22) 내의 상기 블록 바운더리(1)에 다음의 가장 근접한 상기 화소(23)의 상기 수정된 화소 값 q1'을 제로와 등가가 되도록 설정하고, 화소(21, 23, 25, 27)의 상기 대응하는 라인(22) 내의 상기 블록 바운더리(1)에 다음의 가장 근접한 상기 화소(23)의 상기 수정된 화소 값 q1'이 상기 규정된 최대 값보다 크면, 화소(21, 23, 25, 27)의 상기 대응하는 라인(22) 내의 상기 블록 바운더리(1)에 다음의 가장 근접한 상기 화소(23)의 상기 수정된 화소 값 q1'을 상기 규정된 최대 값과 등가가 되도록 설정함으로써, 화소(21, 23, 25, 27)의 상기 대응하는 라인(22) 내의 상기 블록 바운더리(1)에 다음의 가장 근접한 상기 화소(23)의 상기 수정된 화소 값 q1'을 제로와 규정된 최대 값의 인터벌 내가 되게 클리핑하는 단계(S21)를 더 포함하여 구성되는 것을 특징으로 하는 방법.
  8. 제4항에 있어서,
    (p3+p1-2×p2+2×△p1)/4에 기반해서 제4오프셋을 계산하는 단계(S50)로서, p3는 화소(11, 13, 15, 17)의 상기 라인(12) 내의 상기 블록 바운더리(1)에 제3의 다음의 가장 근접한 화소(17)의 화소 값을 나타내고, △p1는 제2오프셋을 나타내는, 계산하는 단계(S50)와;
    (q3+q1-2×q2+2×△q1)/4에 기반해서 제5오프셋이 계산하는 단계(S51)로서, q3는 화소(21, 23, 25, 27)의 상기 대응하는 라인(22) 내의 상기 블록 바운더리(1)에 제3의 가장 근접한 화소(27)의 화소 값을 나타내고, △q1는 제3오프셋을 나타내는 계산하는 단계(S51)와;
    화소(11, 13, 15, 17)의 상기 라인(12) 내의 상기 블록 바운더리(1)에 제2의 다음의 가장 근접한 상기 화소(15)의 수정된 화소 값 p2'을 형성하기 위해서, 상기 제4오프셋을, 화소(11, 13, 15, 17)의 상기 라인(12) 내의 상기 블록 바운더리(1)에 제2의 다음의 가장 근접한 상기 화소(15)의 화소 값 p2에 가산함으로써, 화소(11, 13, 15, 17)의 상기 라인(12) 내의 상기 블록 바운더리(1)에 제2의 다음의 가장 근접한 상기 화소(15)의 상기 화소 값 p2을 수정하는 단계(S52)와;
    화소(11, 13, 15, 17)의 상기 라인(12) 내의 상기 블록 바운더리(1)에 제2의 다음의 가장 근접한 상기 화소(25)의 수정된 화소 값 q2'을 형성하기 위해서, 상기 제5오프셋을, 화소(21, 23, 25, 27)의 상기 대응하는 라인(22) 내의 상기 블록 바운더리(1)에 제2의 다음의 가장 근접한 상기 화소(25)의 화소 값 q2'에 가산함으로써, 화소(21, 23, 25, 27)의 상기 대응하는 라인(12) 내의 상기 블록 바운더리(1)에 제2의 다음의 가장 근접한 상기 화소(25)의 상기 화소 값 q2을 수정하는 단계(S53)를 더 포함하여 구성되는 것을 특징으로 하는 방법.
  9. 제8항에 있어서,
    상기 제4오프셋을 계산하는 단계(S51)는, (((p3+p1+1)>>1)-p2+△p1)>>1와 등가가 되도록 상기 제4오프셋을 계산하는 단계(S51)를 더 포함하여 구성되고, >>는 우측 시프트 연산을 나타내며;
    상기 제5오프셋을 계산하는 단계(S52)는, (((q3+q1+1)>>1)-q2+△q1)>>1와 등가로 되도록 상기 제5오프셋을 계산하는 단계(S52)를 포함하여 구성되는 것을 특징으로 하는 방법.
  10. 제1항 또는 제2항에 있어서,
    상기 제1오프셋을 계산하는 단계(S1)는, 9×(q0-p0)-3×(q1-p1))/16에 기반해서 상기 제1오프셋을 계산(S1)하는 디블록킹 필터 유닛(100, 200, 300)을 포함하여 구성되고,
    상기 화소 값 p0을 수정하는 단계(S2)는, 화소(11, 13, 15, 17)의 상기 라인(12) 내의 상기 블록 바운더리(1)에 가장 근접한 상기 화소(11)의 상기 수정된 화소 값 p0'을 형성하기 위해서, 상기 제1오프셋을, 화소(11, 13, 15, 17)의 상기 라인(12) 내의 상기 블록 바운더리(1)에 가장 근접한 상기 화소(11)의 상기 화소 값 p0에 가산함으로써, 화소(11, 13, 15, 17)의 상기 라인(12) 내의 상기 블록 바운더리(1)에 가장 근접한 상기 화소(11)의 상기 화소 값 p0을 수정(S2)하는 상기 디블록킹 필터 유닛(100, 200, 300)을 포함하여 구성되며,
    상기 화소 값 q0을 수정하는 단계(S3)는, 화소(11, 13, 15, 17)의 상기 대응하는 라인(12) 내의 상기 블록 바운더리(1)에 가장 근접한 상기 화소(21)의 상기 수정된 화소 값 q0'을 형성하기 위해서, 화소(21, 23, 25, 27)의 상기 대응하는 라인(22) 내의 상기 블록 바운더리(1)에 가장 근접한 상기 화소(21)의 상기 화소 값 q0으로부터 상기 제1오프셋을 감산함으로써, 화소(21, 23, 25, 27)의 상기 대응하는 라인(22) 내의 상기 블록 바운더리(1)에 가장 근접한 상기 화소(21)의 상기 화소 값 q0을 수정(S3)하는 상기 디블록킹 필터 유닛(100, 200, 300)를 포함하여 구성되는 것을 특징으로 하는 방법.
  11. 비디오 프레임 내의 다중 화소(11, 13, 15, 17)의 블록(10)과 다중 화소(21, 23, 25, 27)의 인접한 블록(20) 간의 블록 바운더리(1)에서 블록킹 아티팩트를 감소하는 디블록킹 필터 유닛(100, 200)으로서, 상기 디블록킹 필터 유닛(100, 200)은:
    9×(q0-p0)-3×(q1-p1)+8>>4에 기반해서 제1오프셋을 계산하도록 구성된 제1오프셋 계산기(110, 210)로서, >>는 우측 시프트 연산을 나타내고, p0는 상기 블록(10) 내의 화소(11, 13, 15, 17)의 라인(12)에서 상기 블록 바운더리(1)에 가장 근접한 화소(11)의 화소 값을 나타내고, 화소(11, 13, 15, 17)의 상기 라인(12)은 상기 블록 바운더리(1)에 직교하며, p1은 화소(11, 13, 15, 17)의 상기 라인(12) 내의 상기 블록 바운더리(1)에 다음의 가장 근접한 화소(13)의 화소 값을 나타내고, q0는 상기 인접한 블록(20) 내의 화소(21, 23, 25, 27)의 대응하는 라인(22) 내의 상기 블록 바운더리(1)에 가장 근접한 화소(21)의 화소 값을 나타내고, 화소(21, 23, 25, 27)의 상기 대응하는 라인(22)은 상기 블록 바운더리(1)에 직교하며, q1은 화소(21, 23, 25, 27)의 상기 대응하는 라인(22) 내의 상기 블록 바운더리(1)에 다음의 가장 근접한 화소(23)의 화소 값을 나타내는, 제1오프셋 계산기(110, 210)와;
    화소(11, 13, 15, 17)의 상기 라인(12) 내의 상기 블록 바운더리(1)에 가장 근접한 상기 화소(11)의 수정된 화소 값 p0'을 형성하기 위해서, 화소(11, 13, 15, 17)의 상기 라인(12) 내의 상기 블록 바운더리(1)에 가장 근접한 상기 화소(11)의 상기 화소 값 p0을 가산함으로써, 화소(11, 13, 15, 17)의 상기 라인(12) 내의 상기 블록 바운더리(1)에 가장 근접한 상기 화소(11)의 상기 화소 값 p0을 수정하고;
    화소(11, 13, 15, 17)의 상기 대응하는 라인(12) 내의 상기 블록 바운더리(1)에 가장 근접한 상기 화소(21)의 수정된 화소 값 q0'을 형성하기 위해서, 화소(21, 23, 25, 27)의 상기 대응하는 라인(22) 내의 상기 블록 바운더리(1)에 가장 근접한 상기 화소(21)의 상기 화소 값 q0으로부터 상기 제1오프셋을 감산함으로써, 화소(21, 23, 25, 27)의 상기 대응하는 라인(22) 내의 상기 블록 바운더리(1)에 가장 근접한 상기 화소(21)의 상기 화소 값 q0을 수정하도록 구성된 화소 값 수정기(120, 220)를 포함하여 구성되는 것을 특징으로 하는 디블록킹 필터 유닛.
  12. 제11항에 있어서,
    상기 제1오프셋이 -tc보다 작으면, 상기 제1오프셋을 -tc와 등가가 되도록 설정하고, 상기 제1오프셋이 tc보다 크면, 상기 제1오프셋을 tc와 등가가 되도록 설정함으로써, 상기 제1오프셋을 -tc와 tc의 인터벌 내가 되게 클리핑하는 제1클리핑 유닛(230)을 더 포함하여 구성되고, tc는 상기 블록(10)에 할당된 양자화 파라미터 값에 의존하는 문턱 값인 것을 특징으로 하는 디블록킹 필터 유닛.
  13. 제11항 또는 제12항에 있어서,
    화소(11, 13, 15, 17)의 상기 라인(12) 내의 상기 블록 바운더리(1)에 가장 근접한 상기 화소(11)의 상기 수정된 화소 값 p0'이 제로보다 작으면, 화소(11, 13, 15, 17)의 상기 라인(12) 내의 상기 블록 바운더리(1)에 가장 근접한 상기 화소(11)의 상기 수정된 화소 값 p0'을 제로와 등가가 되도록 설정하고, 화소(11, 13, 15, 17)의 상기 라인(12) 내의 상기 블록 바운더리(1)에 가장 근접한 상기 화소(11)의 상기 수정된 화소 값 p0'이 규정된 최대 값보다 크면, 화소(11, 13, 15, 17)의 상기 라인(12) 내의 상기 블록 바운더리(1)에 가장 근접한 상기 화소(11)의 상기 수정된 화소 값 p0'을 상기 규정된 최대 값과 등가가 되도록 설정함으로써, 화소(11, 13, 15, 17)의 상기 라인(12) 내의 상기 블록 바운더리(1)에 가장 근접한 상기 화소(11)의 상기 수정된 화소 값 p0'을 제로와 규정된 최대 값의 인터벌 내가 되게 클리핑하고;
    화소(21, 23, 25, 27)의 상기 대응하는 라인(22) 내의 상기 블록 바운더리(1)에 가장 근접한 상기 화소(21)의 상기 수정된 화소 값 q0'이 제로보다 작으면, 화소(21, 23, 25, 27)의 상기 라인(12) 내의 상기 블록 바운더리(1)에 가장 근접한 상기 화소(21)의 상기 수정된 화소 값 q0'을 제로와 등가가 되도록 설정하고, 화소(21, 23, 25, 27)의 상기 대응하는 라인(22) 내의 상기 블록 바운더리(1)에 가장 근접한 상기 화소(21)의 상기 수정된 화소 값 q0'이 상기 규정된 최대 값보다 크면, 화소(21, 23, 25, 27)의 상기 대응하는 라인(12) 내의 상기 블록 바운더리(1)에 가장 근접한 상기 화소(21)의 상기 수정된 화소 값 q0'을 상기 규정된 최대 값과 등가가 되도록 설정함으로써, 화소(21, 23, 25, 27)의 상기 대응하는 라인(22) 내의 상기 블록 바운더리(1)에 가장 근접한 상기 화소(11)의 상기 수정된 화소 값 q0'을 제로와 상기 규정된 최대 값의 인터벌 내가 되게 클리핑하도록 구성된 제2클리핑 유닛(240)을 더 포함하여 구성되는 것을 특징으로 하는 디블록킹 필터 유닛.
  14. 제11항 또는 제12항에 있어서,
    (p2+p0-2×p1+2×△)/4에 기반해서 제2오프셋을 계산하도록 구성된 제2오프셋 계산기(250)로서, p2는 화소(11, 13, 15, 17)의 상기 라인(12) 내의 상기 블록 바운더리(1)에 제2의 다음의 가장 근접한 화소(15)의 화소 값을 나타내고, △는 상기 제1오프셋을 나타내는, 제2오프셋 계산기(250)와;
    (q2+q0-2×q1-2×△)/4에 기반해서 제3오프셋을 계산하도록 구성된 제3오프셋 계산기(260)로서, q2는 화소(21, 23, 25, 27)의 상기 대응하는 라인(22) 내의 상기 블록 바운더리(1)에 제2의 다음의 가장 근접한 화소(25)의 화소 값을 나타내는 제3오프셋 계산기(260)를 포함하여 구성되고;
    상기 화소 값 수정기(220)는, 화소(11, 13, 15, 17)의 상기 라인(12) 내의 상기 블록 바운더리(1)에 제2의 다음의 가장 근접한 상기 화소(15)의 수정된 화소 값 p2'을 형성하기 위해서, 상기 제2오프셋을, 화소(11, 13, 15, 17)의 상기 라인(12) 내의 상기 블록 바운더리(1)에 다음의 제2의 가장 근접한 상기 화소(15)의 상기 화소 값 p2에 가산함으로써, 화소(11, 13, 15, 17)의 상기 라인(12) 내의 상기 블록 바운더리(1)에 제2의 다음의 가장 근접한 상기 화소(15)의 상기 화소 값 p2을 수정하고; 화소(11, 13, 15, 17)의 상기 대응하는 라인(12) 내의 상기 블록 바운더리(1)에 제2의 다음의 가장 근접한 상기 화소(25)의 수정된 화소 값 q2'을 형성하기 위해서, 상기 제3오프셋을, 화소(21, 23, 25, 27)의 상기 대응하는 라인(22) 내의 상기 블록 바운더리(1)에 제2의 다음의 가장 근접한 상기 화소(25)의 화소 값 q2에 가산함으로써, 화소(21, 23, 25, 27)의 상기 대응하는 라인(12) 내의 상기 블록 바운더리(1)에 제2의 다음의 가장 근접한 상기 화소(25)의 상기 화소 값 q2을 수정하도록 구성되는 것을 특징으로 하는 디블록킹 필터 유닛.
  15. 제14항에 있어서,
    상기 제2오프셋 계산기(250)는, (((p2+p0+1)>>1)-p1+△)>>1과 등가가 되도록 상기 제2오프셋을 계산하도록 구성되고, >>는 우측 시프트 연산을 나타내며;
    상기 제3오프셋 계산기(260)는, (((q2+q0+1)>>1)-q1-△)>>1와 등가로 되도록 상기 제3오프셋을 계산하도록 구성되는 것을 특징으로 하는 디블록킹 필터 유닛.
  16. 제14항에 있어서,
    상기 제2오프셋이 -tC2보다 작으면, -tC2와 등가가 되도록 상기 제2오프셋을 설정하고, 상기 제2오프셋이 tC2보다 크면, 상기 제2오프셋이 tC2와 등가가 되도록 설정함으로써, 상기 제2오프셋을 -tC2와 tC2의 인터벌 내가 되게 클리핑하고, tC2는 상기 블록에 할당된 양자화 파라미터에 의존하는 문턱 값이고; 상기 제3오프셋이 -tC2보다 작으면, -tC2와 등가가 되도록 상기 제3오프셋을 설정하고, 상기 제3오프셋이 tC2보다 크면 tC2와 등가가 되도록 상기 제3오프셋을 설정함으로써, 상기 제3오프셋을 -tC2와 tC2의 인터벌 내가 되게 클리핑하도록 구성된 제3클리핑 유닛(270)을 더 포함하여 구성되는 것을 특징으로 하는 디블록킹 필터 유닛.
  17. 제14항에 있어서,
    화소(11, 13, 15, 17)의 상기 라인(12) 내의 상기 블록 바운더리(1)에 다음의 가장 근접한 상기 화소(13)의 상기 수정된 화소 값 p1'이 제로보다 작으면, 화소(11, 13, 15, 17)의 상기 라인(12) 내의 상기 블록 바운더리(1)에 다음의 가장 근접한 상기 화소(13)의 상기 수정된 화소 값 p1'을 제로와 등가가 되도록 설정하고, 화소(11, 13, 15, 17)의 상기 라인(12) 내의 상기 블록 바운더리(1)에 다음의 가장 근접한 상기 화소(13)의 상기 수정된 화소 값 p1'이 규정된 최대 값보다 크면, 화소(11, 13, 15, 17)의 상기 라인(12) 내의 상기 블록 바운더리(1)에 다음의 가장 근접한 상기 화소(13)의 상기 수정된 화소 값 p1'을 상기 규정된 최대 값과 등가가 되도록 설정함으로써, 화소(11, 13, 15, 17)의 상기 라인(12) 내의 상기 블록 바운더리(1)에 다음의 가장 근접한 상기 화소(13)의 상기 수정된 화소 값 p1'을 제로와 규정된 최대 값의 인터벌 내가 되게 클리핑하고;
    화소(21, 23, 25, 27)의 상기 대응하는 라인(22) 내의 상기 블록 바운더리(1)에 다음의 가장 근접한 상기 화소(23)의 상기 수정된 화소 값 q1'이 제로보다 작으면, 화소(21, 23, 25, 27)의 상기 대응하는 라인(22) 내의 상기 블록 바운더리(1)에 다음의 가장 근접한 상기 화소(23)의 상기 수정된 화소 값 q1'을 제로와 등가가 되도록 설정하고, 화소(21, 23, 25, 27)의 상기 대응하는 라인(22) 내의 상기 블록 바운더리(1)에 다음의 가장 근접한 상기 화소(23)의 상기 수정된 화소 값 q1'이 상기 규정된 최대 값보다 크면, 화소(21, 23, 25, 27)의 상기 대응하는 라인(22) 내의 상기 블록 바운더리(1)에 다음의 가장 근접한 상기 화소(23)의 상기 수정된 화소 값 q1'을 상기 규정된 최대 값과 등가가 되도록 설정함으로써, 화소(21, 23, 25, 27)의 상기 대응하는 라인(22) 내의 상기 블록 바운더리(1)에 다음의 가장 근접한 상기 화소(23)의 상기 수정된 화소 값 q1'을 제로와 규정된 최대 값의 인터벌 내가 되게 클리핑하도록 구성된 제2클리핑 유닛(240)을 더 포함하여 구성되는 것을 특징으로 하는 디블록킹 필터 유닛.
  18. 제14항에 있어서,
    (p3+p1-2×p2+2×△p1)/4에 기반해서 제4오프셋을 계산하도록 구성된 제4오프셋 계산기(280)로서, p3는 화소(11, 13, 15, 17)의 상기 라인(12) 내의 상기 블록 바운더리(1)에 제3의 다음의 가장 근접한 화소(17)의 화소 값을 나타내고, △p1은 제2오프셋을 나타내는, 제4오프셋 계산기(280)와;
    (q3+q1-2×q2+2×△q1)/4에 기반해서 제5오프셋을 계산하도록 구성된 제5오프셋 계산기(290)로서, q3는 화소(21, 23, 25, 27)의 상기 대응하는 라인(22) 내의 상기 블록 바운더리(1)에 제3의 가장 근접한 화소(27)의 화소 값을 나타내고, △q1는 제3오프셋을 나타내는 계산하는, 제5오프셋 계산기(290)를 더 포함하여 구성되고;
    상기 화소 값 수정기(220)는, 화소(11, 13, 15, 17)의 상기 라인(12) 내의 상기 블록 바운더리(1)에 제2의 다음의 가장 근접한 상기 화소(15)의 수정된 화소 값 p2'을 형성하기 위해서, 상기 제4오프셋을, 화소(11, 13, 15, 17)의 상기 라인(12) 내의 상기 블록 바운더리(1)에 제2의 다음의 가장 근접한 상기 화소(15)의 화소 값 p2에 가산함으로써, 화소(11, 13, 15, 17)의 상기 라인(12) 내의 상기 블록 바운더리(1)에 제2의 다음의 가장 근접한 상기 화소(15)의 상기 화소 값 p2을 수정하고; 화소(11, 13, 15, 17)의 상기 대응하는 라인(12) 내의 상기 블록 바운더리(1)에 제2의 다음의 가장 근접한 상기 화소(25)의 수정된 화소 값 q2'을 형성하기 위해서, 상기 제4오프셋을, 화소(21, 23, 25, 27)의 상기 대응하는 라인(22) 내의 상기 블록 바운더리(1)에 제2의 다음의 가장 근접한 상기 화소(25)의 화소 값 q2에 가산함으로써, 화소(21, 23, 25, 27)의 상기 대응하는 라인(12) 내의 상기 블록 바운더리(1)에 제2의 다음의 가장 근접한 상기 화소(25)의 상기 화소 값 q2을 수정하도록 구성되는 것을 특징으로 하는 디블록킹 필터 유닛.
  19. 제18항에 있어서,
    상기 제4오프셋 계산기(280)는, (((p3+p1+1)>>1)-p2+△p1)>>1와 등가가 되도록 상기 제4오프셋을 계산하도록 구성되고, >>는 우측 시프트 연산을 나타내며;
    상기 제5오프셋 계산기(290)는, (((q3+q1+1)>>1)-q2+△q1)>>1와 등가로 되도록 상기 제5오프셋을 계산하도록 구성된 특징으로 하는 디블록킹 필터 유닛.
  20. 제11항 또는 제12항에 따른 디블록킹 필터 유닛(100)을 포함하여 구성되는 것을 특징으로 하는 인코더(40).
  21. 제11항 또는 제12항에 따른 디블록킹 필터 유닛(100)을 포함하여 구성되는 것을 특징으로 하는 디코더(60).
  22. 사용자 장비(80)로서,
    인코딩된 비디오 프레임을 기억하도록 구성된 메모리(84)와;
    상기 인코딩된 비디오 프레임을 디코딩된 비디오 프레임으로 디코딩하도록 구성된 제21항에 따른 디코더(60)와;
    상기 디코딩된 비디오 프레임을 디스플레이(88) 상에 디스플레이할 수 있는 비디오 데이터로 렌더링하도록 구성된 미디어 플레이어(86)를 포함하여 구성되는 것을 특징으로 하는 사용자 장비.
  23. 송신 유닛(34)과 수신의 사용자 장비(36) 간의 통신 네트워크(32) 내의 네트워크 노드이거나 이에 속하는 네트워크 장치(30)로서,
    상기 네트워크 장치(30)는 제20항에 따른 인코더(40)를 포함하여 구성되는 것을 특징으로 하는 네트워크 장치.
  24. 송신 유닛(34)과 수신의 사용자 장비(36) 간의 통신 네트워크(32) 내의 네트워크 노드이거나 이에 속하는 네트워크 장치(30)로서,
    상기 네트워크 장치(30)는 제21항에 따른 디코더(60)를 포함하여 구성되는 것을 특징으로 하는 네트워크 장치.
  25. 비디오 프레임 내의 다중 화소(11, 13, 15, 17)의 블록(10)과 다중 화소(21, 23, 25, 27)의 인접한 블록(20) 간의 블록 바운더리(1)에서 블록킹 아티팩트를 감소하는 컴퓨터 프로그램(74)을 저장한 기록 매체로서,
    상기 컴퓨터 프로그램(74)은 코드 수단을 포함하여 구성되며, 컴퓨터(70) 상에서 구동될 때, 컴퓨터(70)가:
    9×(q0-p0)-3×(q1-p1)+8>>4에 기반해서 제1오프셋을 계산하도록 하는데, >>는 우측 시프트 연산을 나타내고, p0는 상기 블록(10) 내의 화소(11, 13, 15, 17)의 라인(12)에서 상기 블록 바운더리(1)에 가장 근접한 화소(11)의 화소 값을 나타내고, 화소(11, 13, 15, 17)의 상기 라인(12)은 상기 블록 바운더리(1)에 직교하며, p1은 화소(11, 13, 15, 17)의 상기 라인(12) 내의 상기 블록 바운더리(1)에 다음의 가장 근접한 화소(13)의 화소 값을 나타내고, q0는 상기 인접한 블록(20) 내의 화소(21, 23, 25, 27)의 대응하는 라인(22) 내의 상기 블록 바운더리(1)에 가장 근접한 화소(21)의 화소 값을 나타내고, 화소(21, 23, 25, 27)의 상기 대응하는 라인(22)은 상기 블록 바운더리(1)에 직교하며, q1은 화소(21, 23, 25, 27)의 상기 대응하는 라인(22) 내의 상기 블록 바운더리(1)에 다음의 가장 근접한 화소(23)의 화소 값을 나타내고;
    상기 제1오프셋을, 화소(11, 13, 15, 17)의 상기 라인(12) 내의 상기 블록 바운더리(1)에 가장 근접한 상기 화소(11)의 상기 화소 값에 가산함으로써, 화소(11, 13, 15, 17)의 상기 라인(12) 내의 상기 블록 바운더리(1)에 가장 근접한 상기 화소(11)의 상기 화소 값을 수정하며;
    화소(21, 23, 25, 27)의 상기 대응하는 라인(22) 내의 상기 블록 바운더리(1)에 가장 근접한 상기 화소(21)의 상기 화소 값으로부터 상기 제1오프셋을 감산함으로써, 화소(21, 23, 25, 27)의 상기 대응하는 라인(22) 내의 상기 블록 바운더리(1)에 가장 근접한 상기 화소(21)의 상기 화소 값을 수정하도록 하는 것을 특징으로 하는 기록 매체.
  26. 삭제
  27. 삭제
KR1020137020997A 2011-01-14 2011-10-06 디블록킹 필터링 KR101670116B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201161432751P 2011-01-14 2011-01-14
US61/432,751 2011-01-14
PCT/SE2011/051199 WO2012096610A1 (en) 2011-01-14 2011-10-06 Deblocking filtering

Publications (2)

Publication Number Publication Date
KR20140043715A KR20140043715A (ko) 2014-04-10
KR101670116B1 true KR101670116B1 (ko) 2016-10-27

Family

ID=46507326

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020137020997A KR101670116B1 (ko) 2011-01-14 2011-10-06 디블록킹 필터링

Country Status (24)

Country Link
US (4) US8526509B2 (ko)
EP (2) EP2938075B1 (ko)
JP (3) JP5540163B2 (ko)
KR (1) KR101670116B1 (ko)
CN (2) CN103299626B (ko)
AP (1) AP3890A (ko)
AU (1) AU2011354786B2 (ko)
BR (1) BR112013015517B1 (ko)
CA (1) CA2824739C (ko)
DK (1) DK2664141T3 (ko)
ES (2) ES2548043T3 (ko)
HK (1) HK1185483A1 (ko)
HU (2) HUE041988T2 (ko)
IL (1) IL226929A (ko)
MA (1) MA34906B1 (ko)
MX (1) MX2013007960A (ko)
MY (1) MY183761A (ko)
NZ (1) NZ612089A (ko)
PL (2) PL2664141T3 (ko)
PT (1) PT2664141E (ko)
RU (1) RU2550541C2 (ko)
SG (1) SG191247A1 (ko)
TW (1) TWI538521B (ko)
WO (1) WO2012096610A1 (ko)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2894856A1 (en) * 2002-01-31 2015-07-15 Samsung Electronics Co., Ltd Filtering method and apparatus for reducing block artifacts or ringing noise
EP2351374A1 (en) * 2008-11-25 2011-08-03 Thomson Licensing Methods and apparatus for sparsity-based de-artifact filtering for video encoding and decoding
CN101583041B (zh) * 2009-06-18 2012-03-07 中兴通讯股份有限公司 多核图像编码处理设备的图像滤波方法及设备
JP5684407B2 (ja) 2011-01-14 2015-03-11 テレフオンアクチーボラゲット エル エム エリクソン(パブル) ブロッキングアーチファクトを低減する方法、デブロッキングフィルタユニット、符号器、復号器、ユーザ機器、ネットワーク装置、コンピュータプログラム及びコンピュータプログラム記憶媒体
BR112013015517B1 (pt) * 2011-01-14 2021-11-23 Velos Media International Limited Método para reduzir artefatos de bloqueio, unidade de filtro de desbloqueio, codificador, decodificador, equipamento de usuário, e, dispositivo de rede
US9232237B2 (en) * 2011-08-05 2016-01-05 Texas Instruments Incorporated Block-based parallel deblocking filter in video coding
TWI652941B (zh) 2011-11-03 2019-03-01 太陽專利信託 用於解區塊之有效修整技術(二)
KR102032000B1 (ko) * 2011-11-04 2019-10-14 선 페이턴트 트러스트 변경된 이미지 블록 경계 세기 유도에 의한 디블로킹 필터링
WO2014007736A1 (en) * 2012-07-03 2014-01-09 Telefonaktiebolaget L M Ericsson (Publ) Strong deblocking filtering decisions
US20140056363A1 (en) * 2012-08-23 2014-02-27 Yedong He Method and system for deblock filtering coded macroblocks
US9445130B2 (en) * 2013-01-09 2016-09-13 Qualcomm Incorporated Blockiness metric for large HEVC block artifacts
CN104284199B (zh) * 2013-07-11 2019-02-01 Nxp股份有限公司 用降低复杂度的去块效应操作进行视频解码方法和装置
WO2015163046A1 (ja) * 2014-04-23 2015-10-29 ソニー株式会社 画像処理装置及び画像処理方法
US9779664B2 (en) * 2014-08-05 2017-10-03 Apple Inc. Concurrently refreshing multiple areas of a display device using multiple different refresh rates
JP6269431B2 (ja) * 2014-10-10 2018-01-31 ソニー株式会社 画像処理装置、画像処理方法及び画像処理システム
JP6545515B2 (ja) * 2015-04-24 2019-07-17 株式会社東芝 画像復号装置
CN106303550B (zh) 2015-06-11 2019-06-21 华为技术有限公司 去块效应滤波方法和去块效应滤波器
CN106470341B (zh) 2015-08-17 2020-10-02 恩智浦美国有限公司 媒体显示系统
JP6620354B2 (ja) 2015-09-30 2019-12-18 Kddi株式会社 動画像の処理装置、処理方法及びコンピュータ可読記憶媒体
US10110926B2 (en) * 2015-10-15 2018-10-23 Cisco Technology, Inc. Efficient loop filter for video codec
KR200486770Y1 (ko) 2015-12-17 2018-06-27 조기찬 공기층을 가지는 단열재
CN114173117B (zh) * 2016-12-27 2023-10-20 松下电器(美国)知识产权公司 编码方法、解码方法及发送方法
CN106604039B (zh) * 2016-12-28 2020-07-31 北京奇艺世纪科技有限公司 一种滤波方法及装置
EP3711092A4 (en) * 2017-11-15 2020-12-02 SanDisk Technologies LLC THREE-DIMENSIONAL MEMORY DEVICE WITH THICKER WORD LINES IN A TERRACE AREA AND ITS MANUFACTURING PROCESS
JP7382951B2 (ja) * 2018-03-30 2023-11-17 シャープ株式会社 復元されたビデオデータにデブロッキングフィルタを適用するためのシステム及び方法
US10554975B1 (en) 2018-09-30 2020-02-04 Tencent America LLC Method and apparatus for video coding
JP7418152B2 (ja) 2018-12-17 2024-01-19 キヤノン株式会社 画像符号化装置、画像符号化方法、画像復号装置、画像復号方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050013494A1 (en) 2003-07-18 2005-01-20 Microsoft Corporation In-loop deblocking filter
US20060078048A1 (en) * 2004-10-13 2006-04-13 Gisle Bjontegaard Deblocking filter
US20080117980A1 (en) 2006-11-16 2008-05-22 Ching-Yu Hung Deblocking Filters
US20080123750A1 (en) 2006-11-29 2008-05-29 Michael Bronstein Parallel deblocking filter for H.264 video codec

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3095140B2 (ja) 1997-03-10 2000-10-03 三星電子株式会社 ブロック化効果の低減のための一次元信号適応フィルター及びフィルタリング方法
FI117533B (fi) * 2000-01-20 2006-11-15 Nokia Corp Menetelmä digitaalisten videokuvien suodattamiseksi
WO2002096117A1 (en) 2001-05-25 2002-11-28 Pace Soft Silicon Limited Deblocking block-based video data
US7227901B2 (en) * 2002-11-21 2007-06-05 Ub Video Inc. Low-complexity deblocking filter
US7430337B2 (en) 2004-01-06 2008-09-30 Sharp Laboratories Of America, Inc. System and method for removing ringing artifacts
US7539248B2 (en) * 2004-04-29 2009-05-26 Mediatek Incorporation Adaptive de-blocking filtering apparatus and method for MPEG video decoder
US20050243914A1 (en) * 2004-04-29 2005-11-03 Do-Kyoung Kwon Adaptive de-blocking filtering apparatus and method for mpeg video decoder
US7430336B2 (en) * 2004-05-06 2008-09-30 Qualcomm Incorporated Method and apparatus for image enhancement for low bit rate video compression
JP4605052B2 (ja) * 2006-03-03 2011-01-05 日本電気株式会社 動画像符号化方法、動画像復号方法、動画像符号化装置、動画像復号装置、フィルタ装置及びプログラム
CN101527841B (zh) * 2008-03-06 2011-05-11 瑞昱半导体股份有限公司 去除图像区块效应的方法及装置
US8566515B2 (en) * 2009-01-12 2013-10-22 Maxim Integrated Products, Inc. Memory subsystem
US8451952B2 (en) * 2009-12-30 2013-05-28 Telefonaktiebolaget L M Ericsson (Publ) Iterative decoding and demodulation with feedback attenuation
WO2011096869A1 (en) * 2010-02-05 2011-08-11 Telefonaktiebolaget L M Ericsson (Publ) De-blocking filtering control
EP2624555A4 (en) * 2010-09-28 2015-11-18 Samsung Electronics Co Ltd METHOD AND APPARATUS FOR ADAPTIVE FILTERING
CN101951519A (zh) * 2010-10-12 2011-01-19 西安电子科技大学 高速去块效应滤波方法
BR112013015517B1 (pt) * 2011-01-14 2021-11-23 Velos Media International Limited Método para reduzir artefatos de bloqueio, unidade de filtro de desbloqueio, codificador, decodificador, equipamento de usuário, e, dispositivo de rede

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050013494A1 (en) 2003-07-18 2005-01-20 Microsoft Corporation In-loop deblocking filter
US20060078048A1 (en) * 2004-10-13 2006-04-13 Gisle Bjontegaard Deblocking filter
US20080117980A1 (en) 2006-11-16 2008-05-22 Ching-Yu Hung Deblocking Filters
US20080123750A1 (en) 2006-11-29 2008-05-29 Michael Bronstein Parallel deblocking filter for H.264 video codec

Also Published As

Publication number Publication date
JP2014197847A (ja) 2014-10-16
EP2664141B1 (en) 2015-08-12
ES2714349T3 (es) 2019-05-28
PT2664141E (pt) 2015-10-21
EP2664141A1 (en) 2013-11-20
TW201234858A (en) 2012-08-16
WO2012096610A1 (en) 2012-07-19
DK2664141T3 (en) 2015-08-31
CA2824739C (en) 2017-06-20
HUE027993T2 (en) 2016-11-28
CN106101707B (zh) 2019-04-19
MY183761A (en) 2021-03-11
PL2664141T3 (pl) 2016-01-29
AU2011354786A1 (en) 2013-08-01
BR112013015517B1 (pt) 2021-11-23
HUE041988T2 (hu) 2019-06-28
JP2014507863A (ja) 2014-03-27
SG191247A1 (en) 2013-07-31
US8526509B2 (en) 2013-09-03
CN103299626A (zh) 2013-09-11
EP2664141A4 (en) 2013-12-11
AP2013007049A0 (en) 2013-08-31
US20130003865A1 (en) 2013-01-03
RU2013134265A (ru) 2015-02-20
TWI538521B (zh) 2016-06-11
MX2013007960A (es) 2013-08-01
EP2938075A1 (en) 2015-10-28
US20140050272A1 (en) 2014-02-20
HK1185483A1 (zh) 2014-02-14
US10142659B2 (en) 2018-11-27
BR112013015517A2 (pt) 2016-09-20
JP2016129388A (ja) 2016-07-14
CN106101707A (zh) 2016-11-09
EP2938075B1 (en) 2018-12-05
US20170302967A1 (en) 2017-10-19
MA34906B1 (fr) 2014-02-01
PL2938075T3 (pl) 2019-05-31
KR20140043715A (ko) 2014-04-10
US20160142739A1 (en) 2016-05-19
ES2548043T3 (es) 2015-10-13
CN103299626B (zh) 2016-09-21
CA2824739A1 (en) 2012-07-19
NZ612089A (en) 2015-07-31
JP5540163B2 (ja) 2014-07-02
US9743115B2 (en) 2017-08-22
JP6096342B2 (ja) 2017-03-15
AP3890A (en) 2016-11-10
RU2550541C2 (ru) 2015-05-10
US9407912B2 (en) 2016-08-02
AU2011354786B2 (en) 2016-05-26
JP5889953B2 (ja) 2016-03-22
IL226929A (en) 2017-01-31

Similar Documents

Publication Publication Date Title
KR101670116B1 (ko) 디블록킹 필터링
US11134277B2 (en) Deblocking filtering control
EP2664139A2 (en) A method for deblocking filter control and a deblocking filtering control device

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20191010

Year of fee payment: 4