KR101534050B1 - 동영상 부호화/복호화 장치, 이를 위한 디블록킹 필터링 장치와 방법, 및 기록 매체 - Google Patents

동영상 부호화/복호화 장치, 이를 위한 디블록킹 필터링 장치와 방법, 및 기록 매체 Download PDF

Info

Publication number
KR101534050B1
KR101534050B1 KR1020080105718A KR20080105718A KR101534050B1 KR 101534050 B1 KR101534050 B1 KR 101534050B1 KR 1020080105718 A KR1020080105718 A KR 1020080105718A KR 20080105718 A KR20080105718 A KR 20080105718A KR 101534050 B1 KR101534050 B1 KR 101534050B1
Authority
KR
South Korea
Prior art keywords
filtering
pixel
block
pixels
boundary
Prior art date
Application number
KR1020080105718A
Other languages
English (en)
Other versions
KR20100046732A (ko
Inventor
김하윤
최영호
최윤식
김용구
안준혁
Original Assignee
에스케이 텔레콤주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 에스케이 텔레콤주식회사 filed Critical 에스케이 텔레콤주식회사
Priority to KR1020080105718A priority Critical patent/KR101534050B1/ko
Priority to US13/126,144 priority patent/US9596485B2/en
Priority to PCT/KR2009/006127 priority patent/WO2010050699A2/ko
Publication of KR20100046732A publication Critical patent/KR20100046732A/ko
Application granted granted Critical
Publication of KR101534050B1 publication Critical patent/KR101534050B1/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/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/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

본 발명은 동영상 부호화/복호화 장치, 이를 위한 디블록킹 필터링 장치와 방법, 및 기록 매체에 관한 것으로서, 본 발명의 실시예에 따른 디블록킹 필터링 장치는, 현재 블록의 서브 블록간의 경계의 세기를 결정하는 경계 세기 결정부; 상기 서브 블록의 경계의 각 화소에 대해 기 설정된 복수의 방향 중 각 방향에 대응하는 화소들간의 화소값의 변화량에 근거하여 최적 방향을 선정하되, 상기 서브 블록의 경계의 모든 화소에 대해 상기 선정된 다수의 최적 방향 중에서 최다 선정된 방향을 해당 서브 블록의 필터링 방향으로 결정하는 필터링 방향 결정부; 및 상기 서브 블록의 경계의 각 화소에 대해 상기 결정된 필터링 방향에 근거하여 필터링할 화소들을 선택하고, 상기 선택된 화소들간의 화소값의 관계에 따라 상기 결정된 필터링 방향에 대한 필터링 여부를 결정하며, 상기 결정된 필터링 여부에 따라 상기 결정된 필터링 방향의 상기 선택된 화소들에 대해 필터링을 수행하는 필터링부를 포함하여 구성되어, 블록 왜곡 현상의 제거 성능을 향상하고 연산량을 줄인다.
영상, 압축, 부호화, 복호화, 디블록킹 아티팩트, 필터, 에지, 사선, 연산량

Description

동영상 부호화/복호화 장치, 이를 위한 디블록킹 필터링 장치와 방법, 및 기록 매체{Video encoding/decoding apparatus, Deblocking filter and deblocing filtering method, and Recording Medium therefor}
본 발명은 동영상 부호화/복호화 장치에 관한 것으로서, 특히 블록 기반의 이산 여현 변환과 양자화를 이용하여 엔코딩하는 장치에서 발생하는 블록킹 효과(blocking Artifact)를 제거하기 위한, 동영상 부호화/복호화 장치, 이를 위한 디블록킹 필터링 장치와 필터링 방법, 및 기록 매체에 관한 것이다.
일반적으로, 대부분의 상용 비디오 압축 방식 및 그 장치(H.263, H.264, MPEG-4, H.264/AVC)에서는, 영상의 공간 중복성을 줄이기 위해 블록 기반 이산 여현 변환(Discrete cosine transform: DCT)과 양자화(Quantization) 기술을 사용한다. 이 때, 서로 겹쳐지지 않는 블록 단위의 변환(Transform)은 주변 블록 또는 화소 간의 상관 관계가 전혀 고려되지 않은 채 독립적으로 이산 여현 변환과 양자화 과정이 수행되어 데이터 손실이 발생하고, 특히 양자화 값을 크게 갖는 저 비트율의 비디오에서는 블록 간의 경계 면에 화소 값의 구조화된 불연속성인 블록화 현상 뚜렷하게 나타나는데, 이를 블록킹 아티팩트(Blocking Artifact)라 한다. 블록킹 아티팩트는 비디오 화면의 화질을 크게 떨어뜨릴 뿐만 아니라, 블록 왜곡이 생긴 채로 프레임 메모리에 저장되고, 움직임 보상 과정에 블록 왜곡이 포함된 영상이 참조되어 화질열화가 그대로 전파되어 압축 성능을 크게 떨어뜨리는 문제점이 있다.
이 때문에 부호화기에서 참조 프레임 메모리에 복호된 영상을 저장하기 전에 블록킹 아티팩트를 감소시키고, 또한 복화화기에서도 화질 개선을 위해서, 블록간의 경계 오차를 부드럽게 해주는 저 대역 필터를 사용하여 이러한 문제를 해결할 수 있었는데 이러한 기법을 디블로킹 필터라고 한다.
그러나 블록 경계 면에서 영상 내에 존재하는 에지나 화면 내 오브젝트의 경계가 존재할 경우, 여기에 디블록킹 필터를 적용하게 되면 원래 영상의 성분인 에지 부분이 훼손하는 경우가 발생하여 화질 열화의 원인이 된다.
그래서 H.264/AVC 비디오 코덱에서의 디블록킹 필터는 DCT와 양자화를 수행하는 블록 단위인 4x4 화소를 갖는 블록의 경계마다 적응적으로 필터링을 수행한다. 좀더 자세히 말하면, 블록의 경계면이 실제 영상의 에지나 오브젝트의 경계라고 판단되면 필터링을 취하지 않고, 경계면이 블로킹 아티팩트로 인한 왜곡이라고 판단되면 필터링을 취함으로써 상기 문제를 해결하였다.
그러나 H.264/AVC의 디블록킹 필터는 수직과 수평 방향으로만 에지 존재 여부를 판단하기 때문에 대각선 방향으로 에지나 오브젝트의 경계가 위치하게 되면, 블록간의 경계 부분의 대각선 방향 화소에 대해서 불연속성이 발생하여 여전히 블록킹 아티팩트가 생길 수 있는 문제점이 있다.
전술한 문제점을 해결하기 위해 본 발명은, 블록간의 경계에서 수직과 수평 방향뿐만 아니라 그 외의 다수 방향에 대하여 에지 방향을 화소 단위로 판별하고, 그 방향으로 디블록킹 필터링을 수행함으로써 블록킹 아티팩트를 제거하여 화질을 향상시키며, 특히 블록킹 아티팩트의 제거 시 발생하는 연산량을 효과적으로 줄여 연산량이 제한된 장치에 구현이 용이하도록 하는, 동영상 부호화/복호화 장치, 이를 위한 디블록킹 필터링 장치와 필터링 방법, 및 기록 매체를 제공하는 것을 목적으로 한다.
전술한 목적을 달성하기 위하여 본 발명의 실시예의 일 측면에 따르면, 현재 블록의 서브 블록간의 경계의 세기를 결정하는 경계 세기 결정부; 상기 서브 블록의 경계의 각 화소에 대해 기 설정된 복수의 방향 중 각 방향에 대응하는 화소들간의 화소값의 변화량에 근거하여 최적 방향을 선정하되, 상기 서브 블록의 경계의 모든 화소에 대해 상기 선정된 다수의 최적 방향 중에서 최다 선정된 방향을 해당 서브 블록의 필터링 방향으로 결정하는 필터링 방향 결정부; 및 상기 서브 블록의 경계의 각 화소에 대해 상기 결정된 필터링 방향에 근거하여 필터링할 화소들을 선택하고, 상기 선택된 화소들간의 화소값의 관계에 따라 상기 결정된 필터링 방향에 대한 필터링 여부를 결정하며, 상기 결정된 필터링 여부에 따라 상기 결정된 필터링 방향의 상기 선택된 화소들에 대해 필터링을 수행하는 필터링부를 포함하는 디 블록킹 필터링 장치가 제공된다.
상기 필터링 방향 결정부는, 해당 경계를 기준으로 마주하는 첫 번째 화소들간의 화소값 차이의 절대값, 상기 해당 경계를 기준으로 일 측의 두 번째 화소와 첫 번째 화소간의 화소값 차이의 절대값, 상기 해당 경계를 기준으로 타 측의 두 번째 화소와 첫 번째 화소간의 화소값 차이의 절대값, 상기 해당 경계를 기준으로 일 측의 세 번째 화소와 두 번째 화소간의 화소값 차이의 절대값, 및 상기 해당 경계를 기준으로 타 측의 세 번째 화소와 두 번째 화소간의 화소값 차이의 절대값에 근거하여 상기 변화량을 산출하고, 상기 변화량이 가장 작은 방향을 상기 최적 방향으로 선정할 수 있다.
상기 필터링부는, 상기 선택된 화소들간의 화소값의 관계가, 해당 경계를 기준으로 마주하는 첫 번째 화소들간의 화소값 차이의 절대값, 상기 경계를 기준으로 일 측의 두 번째 화소와 첫 번째 화소간의 화소값 차이의 절대값, 및 상기 경계를 기준으로 타 측의 두 번째 화소와 첫 번째 화소간의 화소값 차이의 절대값이 각각 기 설정된 문턱치들보다 작은 조건을 만족하면, 상기 결정된 필터링 방향으로 필터링할 수 있다.
상기 필터링부는, 상기 결정된 필터링 방향이 상기 조건을 만족하지 못하면, 상기 해당 경계의 수직 방향에 대해 상기 조건을 만족하는지의 여부를 확인하고, 그 확인 결과에 따라 필터링을 수행할 수 있다.
상기 기 설정된 복수의 방향은 45도, 56.25도, 67.5도, 78.75도, 90도, 101.25도, 112.5도, 123.75도 및 135도를 포함할 수 있다.
상기 필터링 방향 결정부는 상기 결정된 필터링 방향을 해당 서브 블록에 대한 부가 정보로 기록하거나, 해당 서브 블록의 경계의 화소 중 상기 결정된 필터링 방향으로 필터링된 화소에 대해 부가 정보를 할당하여 기록할 수 있다.
전술한 목적을 달성하기 위하여 본 발명의 실시예의 다른 측면에 따르면, 현재 블록의 서브 블록간의 경계의 세기를 결정하는 경계 세기 결정부; 상기 서브 블록의 경계의 첫 번째의 화소에 대해서는 기 설정된 복수의 방향 중 각 방향에 대응하는 화소들간의 화소값의 변화량에 근거하여 하나의 방향을 필터링 방향으로 결정하고, 상기 서브 블록의 경계의 두 번째 이상의 화소에 대해서는 현재 서브 블록에 대해 현재까지 최다 선정된 방향을 필터링 방향으로 결정하거나, 직전 화소의 필터링 방향을 필터링 방향으로 결정하거나, 상기 첫 번째 화소의 필터링 방향 결정 과정에 따라 필터링 방향을 결정하는, 필터링 방향 결정부; 및 상기 서브 블록의 경계의 각 화소에 대해 상기 결정된 필터링 방향에 근거하여 필터링할 화소들을 선택하고, 상기 선택된 화소들간의 화소값의 관계에 따라 상기 결정된 필터링 방향에 대한 필터링 여부를 결정하며, 상기 결정된 필터링 여부에 따라 상기 결정된 필터링 방향의 상기 선택된 화소들에 대해 필터링을 수행하는 필터링부를 포함하는 디블록킹 필터링 장치가 제공된다.
전술한 목적을 달성하기 위하여 본 발명의 실시예의 또 다른 측면에 따르면, 현재 블록의 서브 블록간의 경계의 세기를 결정하는 경계 세기 결정 단계; 상기 서브 블록의 경계의 각 화소에 대해 기 설정된 복수의 방향 중 각 방향에 대응하는 화소들간의 화소값의 변화량에 근거하여 최적 방향을 선정하는 최적 방향 선정 단 계; 상기 서브 블록의 경계의 모든 화소에 대해 상기 선정된 다수의 최적 방향 중에서 최다 선정된 방향을 해당 서브 블록의 필터링 방향으로 결정하는 필터링 방향 결정 단계; 상기 서브 블록의 경계의 각 화소에 대해 상기 결정된 필터링 방향에 근거하여 필터링할 화소들을 선택하는 화소 선택 단계; 상기 선택된 화소들간의 화소값의 관계에 따라 상기 결정된 필터링 방향에 대한 필터링 여부를 결정하는 필터링 여부 결정 단계; 및 상기 결정된 필터링 여부에 따라 상기 결정된 필터링 방향의 상기 선택된 화소들에 대해 필터링을 수행하는 필터링 단계를 포함하는 디블록킹 필터링 방법이 제공된다.
전술한 목적을 달성하기 위하여 본 발명의 실시예의 또 다른 측면에 따르면, 현재 블록의 서브 블록간의 경계의 세기를 결정하는 경계 세기 결정 단계; 상기 서브 블록의 경계의 첫 번째의 화소에 대해서, 기 설정된 복수의 방향 중 각 방향에 대응하는 화소들간의 화소값의 변화량에 근거하여 하나의 방향을 필터링 방향으로 결정하는 제 1 필터링 방향 결정 단계; 상기 서브 블록의 경계의 두 번째 이상의 화소에 대해서, 현재 서브 블록에 대해 현재까지 최다 선정된 방향을 필터링 방향으로 결정하거나, 직전 화소의 필터링 방향을 최적 방향으로 결정하거나, 상기 첫 번째 화소의 필터링 방향 결정 과정에 따라 필터링 방향을 결정하는, 제 2 필터링 방향 결정 단계; 상기 서브 블록의 경계의 각 화소에 대해 상기 결정된 필터링 방향에 근거하여 필터링할 화소들을 선택하는 화소 선택 단계; 상기 선택된 화소들간의 화소값의 관계에 따라 상기 결정된 필터링 방향에 대한 필터링 여부를 결정하는 필터링 여부 결정 단계; 및 상기 결정된 필터링 여부에 따라 상기 결정된 필터링 방향의 상기 선택된 화소들에 대해 필터링을 수행하는 필터링 단계를포함하는 비블록킹 필터링 방법이 제공된다.
전술한 목적을 달성하기 위하여 본 발명의 실시예의 또 다른 측면에 따르면, 영상의 현재 블록을 예측하여 예측 블록을 생성하는 예측부; 상기 현재 블록에서 상기 예측 블록을 감산하여 잔차 블록을 생성하는 감산부; 상기 잔차 블록을 주파수 영역으로 변환하는 변환부; 상기 변환된 잔차 블록을 양자화하는 양자화부; 상기 양자화된 잔차 블록을 부호화하는 부호화부; 상기 잔차 블록을 역 양자화하는 역양자화부; 상기 역 양자화된 잔차 블록을 시간축상의 화소 신호를 갖는 잔차 블록으로 역변환하는 역변환부; 상기 역변환된 잔차 블록에 상기 예측 블록을 가산하여 현재 블록을 복원하는 가산부; 및 상기 복원된 현재 블록을 디블로킹 필터링하되, 상기 복원된 현재 블록의 서브 블록의 경계의 각 화소에 대해 기 설정된 복수의 방향 중 각 방향에 대응하는 화소들간의 화소값의 변화량에 근거하여 최적 방향을 선정하고, 상기 서브 블록의 경계의 모든 화소에 대해 상기 선정된 다수의 최적 방향 중에서 최다 선정된 방향을 해당 서브 블록의 필터링 방향으로 결정하며, 상기 서브 블록의 경계의 각 화소에 대해 상기 결정된 필터링 방향에 근거하여 필터링할 화소들을 선택하고, 상기 선택된 화소들간의 화소값의 관계에 따라 상기 결정된 필터링 방향에 대한 필터링 여부를 결정하며, 상기 결정된 필터링 여부에 따라 상기 결정된 필터링 방향의 상기 선택된 화소들에 대해 필터링을 수행하는 디블로킹 필터부를 포함하는 동영상 부호화 장치가 제공된다.
전술한 목적을 달성하기 위하여 본 발명의 실시예의 또 다른 측면에 따르면, 영상의 현재 블록을 예측하여 예측 블록을 생성하는 예측부; 상기 현재 블록에서 상기 예측 블록을 감산하여 잔차 블록을 생성하는 감산부; 상기 잔차 블록을 주파수 영역으로 변환하는 변환부; 상기 변환된 잔차 블록을 양자화하는 양자화부; 상기 양자화된 잔차 블록을 부호화하는 부호화부; 상기 잔차 블록을 역 양자화하는 역양자화부; 상기 역 양자화된 잔차 블록을 시간축상의 화소 신호를 갖는 잔차 블록으로 역변환하는 역변환부; 상기 역변환된 잔차 블록에 상기 예측 블록을 가산하여 현재 블록을 복원하는 가산부; 및 상기 복원된 현재 블록을 디블로킹 필터링하되, 상기 복원된 현재 블록의 서브 블록의 경계의 첫 번째의 화소에 대해서는 기 설정된 복수의 방향 중 각 방향에 대응하는 화소들간의 화소값의 변화량에 근거하여 하나의 방향을 필터링 방향으로 결정하고, 상기 서브 블록의 경계의 두 번째 이상의 화소에 대해서는 현재 서브 블록에 대해 현재까지 최다 선정된 방향을 필터링 방향으로 결정하거나, 직전 화소의 필터링 방향을 필터링 방향으로 결정하거나, 상기 첫 번째 화소의 필터링 방향 결정 과정에 따라 필터링 방향을 결정하며, 상기 서브 블록의 경계의 각 화소에 대해 상기 결정된 필터링 방향에 근거하여 필터링할 화소들을 선택하고, 상기 선택된 화소들간의 화소값의 관계에 따라 상기 결정된 필터링 방향에 대한 필터링 여부를 결정하며, 상기 결정된 필터링 여부에 따라 상기 결정된 필터링 방향의 상기 선택된 화소들에 대해 필터링을 수행하는 디블로킹 필터부를 포함하는 동영상 부호화 장치가 제공된다.
전술한 목적을 달성하기 위하여 본 발명의 실시예의 또 다른 측면에 따르면, 비트스트림을 복호화하여 잔차 블록을 추출하는 복호화부; 상기 잔차 블록을 역 양 자화하는 역양자화부; 상기 역 양자화된 잔차 블록을 역 변환하는 역변환부; 현재 블록을 예측하여 예측 블록을 생성하는 예측부; 상기 역 변환된 잔차 블록과 상기 예측 블록을 가산하여 상기 현재 블록을 복원하는 가산부; 및 상기 복원된 현재 블록을 디블로킹 필터링하되, 상기 복원된 현재 블록의 서브 블록의 경계의 모든 화소 중 수신된 부가 정보에 대응하는 화소에 대해, 기 설정된 복수의 방향 중 각 방향에 대응하는 화소들간의 화소값의 변화량에 근거하여 최적 방향을 선정하고, 상기 선정된 최적 방향을 해당 서브 블록의 필터링 방향으로 결정하며, 상기 서브 블록의 경계의 각 화소에 대해 상기 결정된 필터링 방향에 근거하여 필터링할 화소들을 선택하고, 상기 선택된 화소들간의 화소값의 관계에 따라 상기 결정된 필터링 방향에 대한 필터링 여부를 결정하며, 상기 결정된 필터링 여부에 따라 상기 결정된 필터링 방향의 상기 선택된 화소들에 대해 필터링을 수행하는 디블로킹 필터부를 포함하는 동영상 복호화 장치가 제공된다.
전술한 목적을 달성하기 위하여 본 발명의 실시예의 또 다른 측면에 따르면, 비트스트림을 복호화하여 잔차 블록을 추출하는 복호화부; 상기 잔차 블록을 역 양자화하는 역양자화부; 상기 역 양자화된 잔차 블록을 역 변환하는 역변환부; 현재 블록을 예측하여 예측 블록을 생성하는 예측부; 상기 역 변환된 잔차 블록과 상기 예측 블록을 가산하여 상기 현재 블록을 복원하는 가산부; 및 상기 가산부 의해 복원된 상기 현재 블록을 디블로킹 필터링하되, 상기 복원된 현재 블록의 서브 블록의 경계의 각 화소에 대해, 해당 서브 블록의 부가 정보로서 수신된 필터링 방향에 근거하여 필터링할 화소들을 선택하고, 상기 선택된 화소들간의 화소값의 관계에 따라 상기 수신된 필터링 방향에 대한 필터링 여부를 결정하며, 상기 결정된 필터링 여부에 따라 상기 수신된 필터링 방향의 상기 선택된 화소들에 대해 필터링을 수행하는 디블로킹 필터부를 포함하는 동영상 복호화 장치가 제공된다.
전술한 목적을 달성하기 위하여 본 발명의 실시예의 또 다른 측면에 따르면, 비트스트림을 복호화하여 잔차 블록을 추출하는 복호화부; 상기 잔차 블록을 역 양자화하는 역양자화부; 상기 역 양자화된 잔차 블록을 역 변환하는 역변환부; 현재 블록을 예측하여 예측 블록을 생성하는 예측부; 상기 역 변환된 잔차 블록과 상기 예측 블록을 가산하여 상기 현재 블록을 복원하는 가산부; 및 상기 가산부 의해 복원된 상기 현재 블록을 디블로킹 필터링하되, 상기 복원된 현재 블록의 서브 블록의 경계의 첫 번째의 화소에 대해서는 기 설정된 복수의 방향 중 각 방향에 대응하는 화소들간의 화소값의 변화량에 근거하여 하나의 방향을 필터링 방향으로 결정하고, 상기 서브 블록의 경계의 두 번째 이상의 화소에 대해서는 현재 서브 블록에 대해 현재까지 최다 선정된 방향을 필터링 방향으로 결정하거나, 직전 화소의 필터링 방향을 필터링 방향으로 결정하거나, 상기 첫 번째 화소의 필터링 방향 결정 과정에 따라 필터링 방향을 결정하며, 상기 서브 블록의 경계의 각 화소에 대해 상기 결정된 필터링 방향에 근거하여 필터링할 화소들을 선택하고, 상기 선택된 화소들간의 화소값의 관계에 따라 상기 결정된 필터링 방향에 대한 필터링 여부를 결정하며, 상기 결정된 필터링 여부에 따라 상기 결정된 필터링 방향의 상기 선택된 화소들에 대해 필터링을 수행하는 디블로킹 필터부를 포함하는 동영상 복호화 장치가 제공된다.
전술한 목적을 달성하기 위하여 본 발명의 실시예의 또 다른 측면에 따르면, 현재 블록의 서브 블록간의 경계의 세기를 결정하는 경계 세기 결정 기능; 상기 서브 블록의 경계의 각 화소에 대해 기 설정된 복수의 방향 중 각 방향에 대응하는 화소들간의 화소값의 변화량에 근거하여 최적 방향을 선정하는 최적 방향 선정 기능; 상기 서브 블록의 경계의 모든 화소에 대해 상기 선정된 다수의 최적 방향 중에서 최다 선정된 방향을 해당 서브 블록의 필터링 방향으로 결정하는 필터링 방향 결정 기능; 상기 서브 블록의 경계의 각 화소에 대해 상기 결정된 필터링 방향에 근거하여 필터링할 화소들을 선택하는 화소 선택 기능; 상기 선택된 화소들간의 화소값의 관계에 따라 상기 결정된 필터링 방향에 대한 필터링 여부를 결정하는 필터링 여부 결정 기능; 및 상기 결정된 필터링 여부에 따라 상기 결정된 필터링 방향의 상기 선택된 화소들에 대해 필터링을 수행하는 필터링 기능을 포함하는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체가 제공된다.
전술한 목적을 달성하기 위하여 본 발명의 실시예의 또 다른 측면에 따르면, 현재 블록의 서브 블록간의 경계의 세기를 결정하는 경계 세기 결정 기능; 상기 서브 블록의 경계의 첫 번째의 화소에 대해서, 기 설정된 복수의 방향 중 각 방향에 대응하는 화소들간의 화소값의 변화량에 근거하여 하나의 방향을 필터링 방향으로 결정하는 제 1 필터링 방향 결정 기능; 상기 서브 블록의 경계의 두 번째 이상의 화소에 대해서, 현재 서브 블록에 대해 현재까지 최다 선정된 방향을 필터링 방향으로 결정하거나, 직전 화소의 필터링 방향을 최적 방향으로 결정하거나, 상기 첫 번째 화소의 필터링 방향 결정 과정에 따라 필터링 방향을 결정하는, 제 2 필터링 방향 결정 기능; 상기 서브 블록의 경계의 각 화소에 대해 상기 결정된 필터링 방향에 근거하여 필터링할 화소들을 선택하는 화소 선택 기능; 상기 선택된 화소들간의 화소값의 관계에 따라 상기 결정된 필터링 방향에 대한 필터링 여부를 결정하는 필터링 여부 결정 기능; 및 상기 결정된 필터링 여부에 따라 상기 결정된 필터링 방향의 상기 선택된 화소들에 대해 필터링을 수행하는 필터링 기능을 포함하는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체가 제공된다.
본 발명의 실시예에 의하면, 수직 수평 방향 뿐만 아니라 그 밖의 다수의 방향에 대해서도 화소 단위로 디블록킹 필터를 적용할 수 있는 기술을 제공하여, 다수의 사선 방향에 대한 에지로 인하여 생기는 사선 방향의 불연속 성에 의한 블록 왜곡 현상을 효과적으로 제거하며, 특히 블록 왜곡 현상의 제거 시 발생하는 연산량을 효과적으로 줄이는 효과가 발생한다.
이하, 본 발명의 일부 실시예들을 예시적인 도면을 통해 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다. 또한, 본 발명의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 또는 접속될 수 있지만, 각 구성 요소 사이에 또 다른 구성 요소가 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.
동영상 화면은 1초 동안에 30장의 프레임으로 구성되므로 한 프레임과 이웃한 프레임 사이에는 그 차이가 작기 때문에, 인간의 눈으로 구분하지 못한다. 이 때문에, 1초 동안에 30장의 프레임을 뿌리면 인간의 눈은 프레임이 연속적인 것으로 인식한다.
이와 같이, 이전 프레임과 현재 프레임이 비슷하다면, 이전 프레임을 구성하고 있는 이미 알고 있는 화소값으로부터 다음 프레임의 화소값을 예측할 수 있다. 이를 화면간 예측(inter-prediction)이라 한다.
이러한 동영상 데이터의 부호화 및 복호화는 움직임 예측(motion prediction) 기술을 기반으로 이루어진다. 움직임 예측은 시간 축을 기준으로 과거 프레임을 참조하거나 과거 프레임과 미래 프레임을 모두 참조하는 방식으로 수행된다. 현재 프레임을 부호화하거나 복호화하는데 참조되는 프레임을 참조 프레임이라고 한다. 그리고, 블록 기반 동영상 부호화에서 동영상을 구성하는 하나의 정지영상(프레임)은 매크로블록과 매크로블록을 구성하는 서브블록으로 나누어져, 블록단위로 움직임이 예측되고 부호화가 수행된다.
또한 동일한 프레임 내에서 화소신호의 상관관계를 사용해 다음 화소를 예측 하고 그 예측오차를 부호화할 수도 있다. 이를 화면 내 예측(intra-prediction)이라 한다.
도 1은 본 발명의 일 실시예에 따른 동영상 부호화 장치의 블록 구성도이다.
본 발명의 일 실시예에 따른 동영상 부호화 장치(100)는 예측부(110), 감산부(120), 변환부(130), 양자화부(140), 부호화부(150), 역 양자화부(160), 역 변환부(170), 가산부(180) 및 디블로킹 필터부(190)를 포함하여 구성될 수 있다.
이러한 동영상 부호화 장치(100)는 개인용 컴퓨터(PC: Personal Computer), 노트북 컴퓨터, 개인 휴대 단말기(PDA: Personal Digital Assistant), 휴대형 멀티미디어 플레이어(PMP: Portable Multimedia Player), 플레이스테이션 포터블(PSP: PlayStation Portable), 이동통신 단말기(Mobile Communication Terminal) 등일 수 있으며, 각종 기기 또는 유무선 통신망과 통신을 수행하기 위한 통신 모뎀 등의 통신 장치, 영상을 부호화하기 위한 각종 프로그램과 데이터를 저장하기 위한 메모리, 프로그램을 실행하여 연산 및 제어하기 위한 마이크로프로세서 등을 구비하는 다양한 장치를 의미한다.
예측부(110)는 위에서 설명한 바와 같이 움직임 예측을 기반으로 하는 화면간 예측이나 동일한 프레임 내에서 화소신호의 상관관계를 사용해 다음 화소를 예측하는 화면 내 예측 중 어느 하나 또는 둘의 조합을 이용하여 현재 블록(또는 매크로블록)을 예측할 수 있다.
예를 들어, 예측부(110)는 움직임 추정부(미도시)와 움직임 보상부(미도시)로 나누어 구성될 수 있다. 움직임 추정부는 현재 프레임의 매크로 블록의 움직임 예측치를 참조 프레임에서 찾아 그 움직임의 차이를 움직임 벡터로써 출력한다. 즉, 찾고자 하는 매크로 블록을 참조 프레임의 소정의 탐색영역 내에서 탐색하여, 가장 유사한 매크로 블록을 찾아 그 이동 정도를 움직임 벡터로써 출력한다. 움직임 보상부는 구해진 움직임 벡터에 해당하는 예측 매크로 블록을 참조 프레임으로부터 얻는다.
또 다른 예로, 예측부(110)는 현재 프레임의 현재 매크로 블록을 영상 내에서 현재 매크로 블록의 주변 매크로 블록을 이용하여 예측하는 인트라 예측부로, 하나 이상의 주변 매크로 블록의 하나 이상의 화소값(Pixel Value)을 이용하여 현재 매크로 블록의 각 화소의 예측 화소값(Predicted Pixel Value)을 계산함으로써 예측 매크로 블록을 예측한다. 여기서, 주변 매크로 블록은 현재 매크로 블록 이전에 압축되고 현재 매크로 블록의 주변에 위치한 하나 이상의 주변 매크로 블록일 수 있다.
감산부(120)는 현재 블록에서 예측 블록을 감산하여 잔차 블록(Residual Block)을 생성한다. 즉, 감산부(120)는 현재 블록의 각 화소의 원 화소값(Original Pixel Value)과 예측 블록의 각 화소의 예측 화소값의 차이값을 계산하여 잔차 신호(Residual Signal)를 갖는 잔차 블록을 생성한다.
변환부(130)는 잔차 블록을 주파수 영역으로 변환(Transform)한다. 즉, 변환부(130)는 잔차 블록을 주파수 영역(Frequency Domain)으로 변환하여 주파수 계수(Frequency Coefficient)를 갖는 잔차 블록을 생성한다. 여기서, 변환부(130)는 잔차 블록을 변환하는 데 있어서, 하다마드 변환(Hadamard Transform), 이산 코사 인 변환 기반 변환(Discrete Cosine Transform Based Transform) 등과 같은 시간축의 화상 신호를 주파수축으로 변환하는 다양한 변환 기법을 이용하여 잔차 신호를 주파수 영역으로 변환할 수 있는데, 주파수 영역으로 변환된 잔차 신호가 주파수 계수가 된다.
양자화부(140)는 변환부(130)에서 변환된 잔차 블록을 양자화(Quantization)한다. 즉, 양자화부(140)는 잔차 블록의 주파수 계수를 양자화하여 양자화 주파수 계수를 생성한다. 여기서, 양자화부(140)는 잔차 블록의 주파수 계수를 양자화하는 데 있어서, 데드존 균일 경계 양자화(DZUTQ: Dead Zone Uniform Threshold Quantization), 양자화 가중치 매트릭스(Quantization Weighted Matrix)를 이용하거나 그를 계량한 양자화 방법 등을 이용할 수 있다.
부호화부(150)는 양자화부(140)에 의해 양자화된 잔차 블록의 주파수 계수들을 부호화하여 비트스트림을 생성한다. 또한, 부호화부(150)는 예측부(110)로부터 움직임 벡터 및 회전 정보가 전달되면, 잔차 블록의 양자화된 주파수 계수와 함께 부호화하여 비트스트림을 출력할 수 있다. 이러한 부호화 기술로서는 엔트로피 부호화(Entropy Encoding) 기술이 사용될 수 있으나, 반드시 이에 한정하지 않고 다른 다양한 부호화 기술이 사용될 수도 있을 것이다.
역양자화부(160)는 양자화부(130)에 의해 양자화된 잔차 블록을 역 양자화(Inverse Quantization)한다. 즉, 역 양자화부(160)는 양자화된 잔차 블록의 양자화 주파수 계수를 역 양자화하여 주파수 계수를 생성한다.
역변환부(170)는 역 양자화부(160)에 의해 역 양자화된 잔차 블록을 역 변 환(Inverse Transform)한다. 즉, 역변환부(170)는 역 양자화된 잔차 블록의 주파수 계수를 역 변환하여 시간축상의 화소 신호를 갖는 잔차 블록을 복원한다.
가산부(180)는 역 변환부(170)에 의해 역 변환된 잔차 블록에 예측부(110)에서 예측한 예측 블록을 가산하여 현재 블록을 복원한다.
디블로킹 필터부(190)는 가산부(180)에 의해 복원된 현재 블록을 디블로킹 필터링(Deblcking Filtering)한다. 여기서, 디블로킹 필터링이란 영상을 블록 단위로 부호화하면서 발생하는 블록 왜곡을 감소시키는 작업을 말하며, 블록 경계와 매크로블록 경계에 디블로킹 필터를 적용하거나 매크로블록 경계에만 디블로킹 필터를 적용하거나 디블로킹 필터를 사용하지 않는 방법 중 하나를 선택적으로 사용할 수 있다. 이와 같이, 가산부(180)에 의해 복원되고 디블로킹 필터부(190)에 의해 디블로킹 필터링된 현재 블록은 예측부(110)에 입력되어 다음 픽처를 예측할 때 사용되는 참조 픽처로서 저장될 수 있다.
본 발명의 제 1 실시예에 따른 디블록킹 필터부(190)는, 현재 블록을 디블로킹 필터링하되, 특히 현재 블록의 서브 블록의 경계의 각 화소에 대해 기 설정된 복수의 방향 중 각 방향에 대응하는 화소들간의 화소값의 변화량에 근거하여 최적 방향을 선정하고, 서브 블록의 경계의 모든 화소에 대해 상기 선정된 다수의 최적 방향 중에서 최다 선정된 방향을 해당 서브 블록의 필터링 방향으로 결정하며, 서브 블록의 경계의 각 화소에 대해 상기 결정된 필터링 방향에 근거하여 필터링할 화소들을 선택하고, 상기 선택된 화소들간의 화소값의 관계에 따라 상기 결정된 필터링 방향에 대한 필터링 여부를 결정하며, 상기 결정된 필터링 여부에 따라 상기 결정된 필터링 방향의 상기 선택된 화소들에 대해 필터링을 수행한다. 이와 같은 제 1 실시예에 따른 디블록킹 필터부(190)에 대하여 도 2를 참조로 보다 상세히 설명한다.
본 발명의 제 2 실시예에 따른 디블록킹 필터부(190)는, 현재 블록을 디블로킹 필터링하되, 특히 현재 블록의 서브 블록의 경계의 첫 번째의 화소에 대해서는 기 설정된 복수의 방향 중 각 방향에 대응하는 화소들간의 화소값의 변화량에 근거하여 하나의 방향을 필터링 방향으로 결정하고, 상기 서브 블록의 경계의 두 번째 이상의 화소에 대해서는 현재 서브 블록에 대해 현재까지 최다 선정된 방향을 필터링 방향으로 결정하거나, 직전 화소의 필터링 방향을 필터링 방향으로 결정하거나, 상기 첫 번째 화소의 필터링 방향 결정 과정에 따라 필터링 방향을 결정하며, 상기 서브 블록의 경계의 각 화소에 대해 상기 결정된 필터링 방향에 근거하여 필터링할 화소들을 선택하고, 상기 선택된 화소들간의 화소값의 관계에 따라 상기 결정된 필터링 방향에 대한 필터링 여부를 결정하며, 상기 결정된 필터링 여부에 따라 상기 결정된 필터링 방향의 상기 선택된 화소들에 대해 필터링을 수행한다. 이와 같은 제 2 실시예에 따른 디블록킹 필터부(190)에 대하여 도 3을 참조로 보다 상세히 설명한다.
도 2는 본 발명의 제 1 실시예에 따른 디블록킹 필터링 장치의 블록도로서, 도 1의 제 1 실시예에 따른 디블록킹 필터부(190)에 대응하므로 동일 부호를 부가하여 설명한다.
도 2에 도시된 바와 같이, 본 발명의 제 1 실시예에 따른 디블록킹 필터링 장치(190)는 경계 세기 결정부(210), 필터링 방향 결정부(230), 및 필터링부(250)를 포함한다.
경계 세기 결정부(210)는 현재 블록의 서브 블록간의 경계의 세기를 결정하는 것으로서, 현재 위치의 블록 경계에서 화소들이 속하는 블록의 특성에 따라 경계 세기(Boundary Strength: BS)를 결정한다. BS는 0과 4사이의 값을 갖고 결정하는 방법은 예를 들어 H.264/AVC 표준화 문서에 명시되어 있다. 즉, 경계 세기 결정부(210)는 각 블록의 경계면의 BS 값을 결정하고 각각의 BS 값에 따라서 어느 정도의 강도로 필터링을 적용할 것인지를 결정한다. BS는 현재 필터링 하고자 하는 경계가 속해 있는 블록이 화면내 예측(Intra Prediction) 부호화 사용 여부에 따라서, 또는 화면간 예측(Inter Prediction) 부호화를 사용할 경우 움직임 보상을 위한 참조 블록의 거리 차에 따라서 0과 4사이의 값으로 결정된다.
필터링 방향 결정부(230)는, 도 4에 도시된 바와 같이 1-16번의 4x4 서브 블록이 16개 모여 구성된 16x16의 매크로 블록에서 교번하는 1, 3, 6, 8, 9, 11, 14 및 16번의 서브 블록에 대하여 디블록킹 필터링을 적용하도록 하고, 디블록킹 필터링을 위한 해당 서브 블록의 경계(도 5 및 도 6의 ①②③④)의 각 화소(의 경계)(도 6의 1-16)에 대해 블록 경계를 기준으로 기 설정된 복수의 방향(도 7 참조) 중 각 방향에 대응하는 화소들(도 8 내지 도 16 참조)간의 화소값의 변화량에 근거하여 하나의 최적 방향을 선정하고, 그 서브 블록의 경계의 모든 화소(의 경계)에 대해 상기 선정된 다수의 최적 방향 중에서 최다 선정된 방향을 그 서브 블록의 필터링 방향으로 결정한다. 즉, 필터링 방향 결정부(230)는 도 7에 도시된 바와 같이 수평 또는 수직 경계면에 대하여 예를 들어 45도, 56.25도, 67.5도, 78.75도, 90도, 101.25도, 112.5도, 123.75도 및 135도의 9가지 방향으로 필터링할 방향을 기 설정하고, 도 5 내지 도 13에 도시된 바와 같이 9가지의 각 방향에 대응하는 화소들을 선택하고, 그 각 방향에 대응하는 화소들간의 화소값의 변화량을 구하고, 변화량이 가장 작은 방향을 최적 방향으로 선정하고, 이와 같이 서브 블록의 경계의 각 화소(의 경계) 마다 최적 방향을 선정한 후, 서브 블록의 경계의 모든 화소(의 경계)에 대해 선정된 다수의 최적 방향 중에서 최다 선정된 방향을 해당 서브 블록의 필터링 방향으로 결정한다. 필터링 방향 결정부(230)는, 일 예로 위와 같이 결정된 필터링 방향을 해당 서브 블록에 대한 부가 정보로 기록하거나, 다른 예로 해당 서브 블록의 경계의 화소 중 위와 같이 결정된 필터링 방향으로 필터링된 하나의 화소에 대해 1 비트의 부가 정보를 할당하여 기록할 수 있다. 이러한 부가 정보는 후술하는 복호화 장치에 제공되어 이용토록 한다.
필터링 방향 결정부(230)는, 일 예로 도 9를 참조하면, 해당 경계를 기준으로 마주하는 첫 번째 화소들(p04, q03)간의 화소값 차이(p04-q03)의 절대값, 상기 해당 경계를 기준으로 일 측의 두 번째 화소(p14)와 첫 번째 화소(p04)간의 화소값 차이(p14-p04)의 절대값, 상기 해당 경계를 기준으로 타 측의 두 번째 화소(q13)와 첫 번째 화소(q03)간의 화소값 차이(q13-q03)의 절대값, 상기 해당 경계를 기준으로 일 측의 세 번째 화소(p24)와 두 번째 화소(p14)간의 화소값 차이(p24-p14)의 절대값, 및 상기 해당 경계를 기준으로 타 측의 세 번째 화소(q23)와 두 번째 화소(q13)간의 화소값 차이(q23-q13)의 절대값에 근거하여 상기 변화량을 산출할 수 있다. 이와 같이 변화량을 산출하는 방법에 대한 구체적인 예시는 후술하도록 한다.
필터링부(250)는 서브 블록의 경계의 각 화소(의 경계)에 대해 필터링 방향 결정부(230)에 의해 결정된 필터링 방향에 근거하여 도 8 내지 도 16과 같이 필터링할 화소들을 선택하고, 그 선택된 화소들간의 화소값의 관계에 따라 상기 결정된 필터링 방향에 대한 필터링 여부를 결정하며, 그 결정된 필터링 여부에 따라 상기 결정된 필터링 방향에 대응하여 도 8 내지 도 16과 같이 선택된 화소들에 대해 필터링을 수행한다.
필터링부(250)는, 일 예로 필터링 방향 결정부(230)에 의해 결정된 필터링 방향이 도 9의 78.75도일 경우, 도 9의 78.75도의 필터링 방향에 따라 선택된 화소들간의 화소값의 관계가, 해당 경계를 기준으로 마주하는 첫 번째 화소들(p04,q03)간의 화소값 차이(p04-q03)의 절대값, 상기 해당 경계를 기준으로 일 측의 두 번째 화소(p14)와 첫 번째 화소(p04)간의 화소값 차이(p14-p04)의 절대값, 및 상기 경계를 기준으로 타 측의 두 번째 화소(q13)와 첫 번째 화소(q03)간의 화소값 차이(q13-q03)의 절대값이 각각 기 설정된 문턱치들(α,β)보다 작은 조건을 만족하면, 필터링 결정부(230)에 의해 결정된 도 9의 78.75도의 필터링 방향으로 필터링하고, 도 9의 78.75도의 필터링 방향에 따라 선택된 화소들간의 화소값의 관계가 상기 조건을 만족하지 못하면, 상기 해당 경계의 수직 방향에 대해 상기 조건을 만족하는지의 여부를 확인하고, 그 확인 결과에 따라 수직 방향에 대해 필터링을 수행할 수 있다. 이와 같은 필터링 여부 결정 조건에 대한 구체적인 예시는 후술하도 록 한다.
도 3은 본 발명의 제 2 실시예에 따른 디블록킹 필터링 장치의 블록도로서, 도 1의 제 2 실시예에 따른 디블록킹 필터부(190)에 대응하므로 동일 부호를 부가하여 설명한다.
도 3에 도시된 바와 같이, 본 발명의 제 2 실시예에 따른 디블록킹 필터링 장치(190)는 경계 세기 결정부(310), 필터링 방향 결정부(330), 및 필터링부(350)를 포함한다.
경계 세기 결정부(310)는 현재 블록의 서브 블록간의 경계의 세기를 결정하는 것으로서, 현재 위치의 블록 경계에서 화소들이 속하는 블록의 특성에 따라 경계 세기(Boundary Strength: BS)를 결정한다. BS는 0과 4사이의 값을 갖고 결정하는 방법은 예를 들어 H.264/AVC 표준화 문서에 명시되어 있다. 즉, 경계 세기 결정부(310)는 각 블록의 경계면의 BS 값을 결정하고 각각의 BS 값에 따라서 어느 정도의 강도로 필터링을 적용할 것인지를 결정한다. BS는 현재 필터링 하고자 하는 경계가 속해 있는 블록이 화면내 예측(Intra Prediction) 부호화 사용 여부에 따라서, 또는 화면간 예측(Inter Prediction) 부호화를 사용할 경우 움직임 보상을 위한 참조 블록의 거리 차에 따라서 0과 4사이의 값으로 결정된다.
필터링 방향 결정부(330)는, 도 4에 도시된 바와 같이 1-16번의 4x4 서브 블록이 16개 모여 구성된 16x16 매크로 블록에서 교번하는 1, 3, 6, 8, 9, 11, 14 및 16번의 서브 블록에 대하여 디블록킹 필터링을 적용하도록 하고, 디블록킹 필터링을 위한 서브 블록의 경계(도 5 및 도 6의 ①②③④)의 첫 번째의 화소(의 경 계)(도 6의 1)에 대해서는 기 설정된 복수의 방향(도 7 참조) 중 각 방향에 대응하는 화소들(도 8 내지 도 16 참조)간의 화소값의 변화량에 근거하여 하나의 방향을 필터링 방향으로 결정하고, 해당 서브 블록의 경계의 두 번째 이상의 화소(의 경계)(도 6의 2-16)에 대해서는 해당 서브 블록에 대해 현재까지 최다 선정된 방향을 필터링 방향으로 결정하거나, 직전 화소의 필터링 방향을 필터링 방향으로 결정하거나, 상기 첫 번째 화소의 필터링 방향 결정 과정에 따라 필터링 방향을 결정하도록 할 수 있다.
필터링 방향 결정부(330)는, 일 예로 도 9를 참조하면, 해당 경계를 기준으로 마주하는 첫 번째 화소들(p04, q03)간의 화소값 차이(p04-q03)의 절대값, 상기 해당 경계를 기준으로 일 측의 두 번째 화소(p14)와 첫 번째 화소(p04)간의 화소값 차이(p14-p04)의 절대값, 상기 해당 경계를 기준으로 타 측의 두 번째 화소(q13)와 첫 번째 화소(q03)간의 화소값 차이(q13-q03)의 절대값, 상기 해당 경계를 기준으로 일 측의 세 번째 화소(p24)와 두 번째 화소(p14)간의 화소값 차이(p24-p14)의 절대값, 및 상기 해당 경계를 기준으로 타 측의 세 번째 화소(q23)와 두 번째 화소(q13)간의 화소값 차이(q23-q13)의 절대값에 근거하여 상기 변화량을 산출하고, 산출된 변화량이 가장 작은 방향을 필티링 방향으로 결정하도록 할 수 있다. 이와 같은 변화량을 산출하는 방법에 대한 구체적인 예시는 후술하도록 한다.
필터링부(350)는 해당 서브 블록의 경계의 각 화소(의 경계)에 대해 필터링 방향 결정부(330)에 의해 결정된 필터링 방향에 근거하여 도 8 내지 도 16과 같이 필터링할 화소들을 선택하고, 그 선택된 화소들간의 화소값의 관계에 따라 상기 결 정된 필터링 방향에 대한 필터링 여부를 결정하며, 그 결정된 필터링 여부에 따라 상기 결정된 필터링 방향에 대응하여 도 8 내지 도 16과 같이 선택된 화소들에 대해 필터링을 수행한다.
필터링부(350)는, 일 예로 필터링 방향 결정부(330)에 의해 결정된 필터링 방향이 도 9의 78.75도일 경우, 도 9의 78.75도의 필터링 방향에 따라 선택된 화소들간의 화소값의 관계가, 해당 경계를 기준으로 마주하는 첫 번째 화소들(p04,q03)간의 화소값 차이(p04-q03)의 절대값, 상기 해당 경계를 기준으로 일 측의 두 번째 화소(p14)와 첫 번째 화소(p04)간의 화소값 차이(p14-p04)의 절대값, 및 상기 경계를 기준으로 타 측의 두 번째 화소(q13)와 첫 번째 화소(q03)간의 화소값 차이(q13-q03)의 절대값이 각각 기 설정된 문턱치들(α,β)보다 작은 조건을 만족하면, 필터링 결정부(230)에 의해 결정된 도 9의 78.75도의 필터링 방향으로 필터링한다. 이와 같은 필터링 여부 결정 조건에 대한 구체적인 예시는 후술하도록 한다.
도 17은 본 발명의 일 실시예에 따른 동영상 복호화 장치의 블록도이다.
본 발명의 일 실시예에 따른 동영상 복호화 장치(1700)는 복호화부(1710), 역양자화부(1720), 역변환부(1730), 예측부(1740), 가산부(1750) 및 디블로킹 필터부(1760)를 포함하여 구성될 수 있다.
이러한 동영상 복호화 장치(1700)는 개인용 컴퓨터(PC: Personal Computer), 노트북 컴퓨터, 개인 휴대 단말기(PDA: Personal Digital Assistant), 휴대형 멀티미디어 플레이어(PMP: Portable Multimedia Player), 플레이스테이션 포터블(PSP: PlayStation Portable), 이동통신 단말기(Mobile Communication Terminal) 등일 수 있으며, 각종 기기 또는 유무선 통신망과 통신을 수행하기 위한 통신 모뎀 등의 통신 장치, 영상을 복호화하기 위한 각종 프로그램과 데이터를 저장하기 위한 메모리, 프로그램을 실행하여 연산 및 제어하기 위한 마이크로프로세서 등을 구비하는 다양한 장치를 의미한다.
복호화부(1710)는 비트스트림을 복호화하여 잔차 블록을 추출한다. 즉, 복호화부(1710)는 영상 부호화 장치(100)에 의해 부호화된 영상인 비트스트림을 복호화하여 영상의 현재 블록에 대한 화소 정보를 포함하고 있는 잔차 블록과 움직임 벡터 및 회전 정보를 추출한다.
역양자화부(1720)는 복호화부(1710)에 의해 추출된 잔차 블록을 역 양자화하고, 역변환부(1730)는 역 양자화된 잔차 블록을 역 변환한다. 여기서, 역 양자화와 역 변환은 각각 도 1을 통해 전술한 역 양자화와 역 변환과 같은 방식으로 역 양자와 역 변환될 수 있다.
예측부(1740)는 복호화부(1710)에서 추출한 움직임 벡터 및 회전 정보를 이용하여 영상의 현재 블록의 회전 움직임을 포함하는 움직임을 보상함으로써 현재 블록을 예측하여 예측 블록을 생성한다.
가산부(1750)는 역변환부(1730)에서 역 변환된 잔차 블록에 예측부(1740)에 의해 예측된 예측 블록을 가산하여 현재 블록을 복원한다.
디블로킹 필터부(1760)는 가산부(1750) 의해 복원된 현재 블록을 디블로킹 필터링한다.
본 발명의 제 1 실시예에 따른 디블록킹 필터부(1760)는, 현재 블록을 디블 로킹 필터링하되, 특히 현재 블록의 서브 블록의 경계의 모든 화소 중에서 도 1과 같은 복호화 장치(100)로부터 수신된 부가 정보에 대응하는 특정 화소에 대해, 기 설정된 복수의 방향 중 각 방향에 대응하는 화소들간의 화소값의 변화량에 근거하여 최적 방향을 선정하고, 그 선정된 최적 방향을 해당 서브 블록의 필터링 방향으로 결정하며, 서브 블록의 경계의 각 화소에 대해 상기 결정된 필터링 방향에 근거하여 필터링할 화소들을 선택하고, 상기 선택된 화소들간의 화소값의 관계에 따라 상기 결정된 필터링 방향에 대한 필터링 여부를 결정하며, 상기 결정된 필터링 여부에 따라 상기 결정된 필터링 방향의 상기 선택된 화소들에 대해 필터링을 수행한다. 이와 같이 제 1 실시예에 따른 디블록킹 필터부(1760)는 도 1의 제 1 실시예에 따른 디블록킹 필터부(190) 즉, 도 2의 제 1 실시예에 따른 디블록킹 필터링 장치(190)와 비교하여, 서브 블록 경계의 모든 화소에 대해 최적 방향을 선정하지 않고 도 1의 부호화 장치(100)로부터 전달된 부가 정보에 대응하는 하나의 화소에 대해서만 최적 방향을 선정하는 점만 다르고, 다른 기능은 모두 동일하게 구성할 수 있다.
본 발명의 제 2 실시예에 따른 디블록킹 필터부(1760)는, 현재 블록을 디블로킹 필터링하되, 특히 현재 블록의 서브 블록의 경계의 각 화소에 대해, 해당 서브 블록의 부가 정보로서 수신된 필터링 방향에 근거하여 필터링할 화소들을 선택하고, 상기 선택된 화소들간의 화소값의 관계에 따라 상기 수신된 필터링 방향에 대한 필터링 여부를 결정하며, 상기 결정된 필터링 여부에 따라 상기 수신된 필터링 방향의 상기 선택된 화소들에 대해 필터링을 수행한다. 이와 같이 제 2 실시예 에 따른 디블록킹 필터부(1760)는 도 1의 제 1 실시예에 따른 디블록킹 필터부(190) 즉, 도 2의 제 1 실시예에 따른 디블록킹 필터링 장치(190)와 비교하여, 해당 서브 블록에 대하여 필터링 방향을 결정하는 과정을 생략하고 도 1의 부호화 장치(100)로부터 전달된 부가 정보로서의 필터링 방향을 그대로 사용한다는 점만 다르고, 다른 기능은 모두 동일하게 구성할 수 있다.
본 발명의 제 3 실시예에 따른 디블록킹 필터부(1760)는, 현재 블록을 디블로킹 필터링하되, 특히 현재 블록의 서브 블록의 경계의 첫 번째의 화소에 대해서는 기 설정된 복수의 방향 중 각 방향에 대응하는 화소들간의 화소값의 변화량에 근거하여 하나의 방향을 필터링 방향으로 결정하고, 상기 서브 블록의 경계의 두 번째 이상의 화소에 대해서는 현재 서브 블록에 대해 현재까지 최다 선정된 방향을 필터링 방향으로 결정하거나, 직전 화소의 필터링 방향을 필터링 방향으로 결정하거나, 상기 첫 번째 화소의 필터링 방향 결정 과정에 따라 필터링 방향을 결정하며, 상기 서브 블록의 경계의 각 화소에 대해 상기 결정된 필터링 방향에 근거하여 필터링할 화소들을 선택하고, 상기 선택된 화소들간의 화소값의 관계에 따라 상기 결정된 필터링 방향에 대한 필터링 여부를 결정하며, 상기 결정된 필터링 여부에 따라 상기 결정된 필터링 방향의 상기 선택된 화소들에 대해 필터링을 수행한다. 이와 같이 제 4 실시예에 따른 디블록킹 필터부(1740)는 도 1의 부호화 장치(100)의 제 2 실시예에 따른 디블록킹 필터부(190) 즉, 도 3의 제 2 실시예에 따른 디브록킹 필터링 장치(190)와 동일하게 구성할 수 있다.
가산부(1750)에 의해 복원된 현재 블록은 픽처 단위로 결합되어 복원 영상으 로 출력되고, 디블로킹 필터부(1760)에 의해 디블로킹 필터링된 현재 블록은 예측부(1740)에서 다음 픽처를 예측할 때 사용되는 참조 픽처로서 저장될 수 있다.
이어, 상술된 바와 같이 본 발명의 실시예에 따른 장치에 대한 동작 및 그 장치에 적용할 수 있는 디블록킹 방법에 대하여 설명한다.
우선 H.264(“Advanced video coding for generic audiovisual services”, Draft, ITU-T Recommendation H.264, Mar, 2005, p.182~p.194)의 디블록킹 필터링 방법에 대해 간단히 설명한다.
H.264의 디블록킹 필터링 방법은, 잔여 신호의 이산 여현 변환(DCT)과 양자화(Quantization) 단위인 4x4 블록의 경계 면을 기준으로 하여 도 18과 같이 수직방향으로 필터링을 취하고, 그 다음 도 19와 같이 수평 방향으로 필터링을 취한다.
먼저 디블록킹 필터를 적용하기에 앞서 도 20과 같이 p0 ~ p3으로 구성된 블록과 q0 ~ q3으로 구성된 블록이 있을 때, 각 블록의 경계면에 대해 블록 경계 세기(Boundary Strength: BS) 값을 결정하고 각각의 블록 경계 세기 값에 따라서 어느 정도의 강도로 필터링을 적용할 것인지를 결정한다. 필터링 세기는 현재 필터링 하고자 하는 경계가 속해 있는 블록이 화면내 예측(Intra Prediction) 부호화 사용 여부에 따라서, 혹은 화면간 예측(Inter Prediction) 부호화를 사용할 경우 움직임 보상을 위한 참조 블록의 거리 차에 따라서 0과 4사이의 값으로 결정된다.
블록 경계 세기 값이 결정되면 각 블록의 경계 면의 화소들이 블록킹 아티팩트에 의해 왜곡된 경계 면인지, 실제 영상에 존재하는 에지인지 판별하여 필터링을 수행해야 할지를 결정하게 된다. H.264에서는 다음과 같은 [식 1]을 만족시키지 못 할 경우에는 실제 영상에 존재하는 에지라고 판별하여 필터링을 수행하지 않고, 조건식을 만족하는 경우에는 블로킹 아티팩트에 의해 왜곡된 경계 면이라고 판단하여 디블록킹 필터를 수행하게 된다.
[식 1]
Figure 112008074730036-pat00001
Figure 112008074730036-pat00002
;
Figure 112008074730036-pat00003
;
Figure 112008074730036-pat00004
여기서
Figure 112008074730036-pat00005
,
Figure 112008074730036-pat00006
는 양자화 파라미터(Quantization Parameter)에 따라 적응적으로 그 값이 결정되는 값으로써, 현재 경계 면이 블록킹 아티팩트로 발생한 화소 값의 차이인지, 실제 에지에 의한 것인지를 판별할 수 있는 문턱치(Threshold) 값을 의미한다. 양자화 정도가 큰 경우에는 블록킹 아티팩트의 정도가 더욱 크게 발생하므로 문턱치의 값이 크게 설정되는 구조로 되어 있다.
필터링의 수행 여부가 결정되면 상기의 블록 경계 강도 값에 따라서 저 대역 필터링을 사용하여 경계면 양단의 화소에 대하여 부드럽게 만들어준다. 필터링에 대한 연산 방법은 예를 들어 H.264(“Advanced video coding for generic audiovisual services”, Draft, ITU-T Recommendation H.264, Mar, 2005, p.182~p.194)에 명시된 방법을 사용할 수 있다.
상술한 바와 같이, H.264의 디블록킹 필터는 블록의 부호화 속성에 따라 필터 강도를 결정하고, 블록 경계 면에 [식 1]을 이용해 에지 존재 여부를 판별하여 에지 성분은 최대한 보존하면서 각 경계 면에 대하여 적응적으로 디블록킹 필터링 을 수행함으로써, 블록킹 아티팩트를 줄여준다. 하지만, 이와 같이 수평과 수직 방향으로만 디블록킹 필터링을 수행할 경우 대각선 방향의 불연속에 의해 발생하는 블록킹 아티팩트에 의한 왜곡은 보정할 수가 없다.
좀 더 자세히 살펴보면, 기존의 수평과 수직 방향으로만 디블록킹 필터를 수행하게 되면, 도 21의 (a)와 같이 블록 경계 면에 대각선 방향의 에지 성분이 존재할 경우에는 p0 ~ p3 화소와 q0 ~ q3 화소로 구성되는 경계 면에 대하여 [식 1]을 적용했을 때, 조건을 만족하지 못하여 에지라고 판별하고 디블록킹 필터링을 수행하지 않게 된다. 그러나, 만약 A 블록과 B 블록의 블록 경계 강도 값이 1 이상이라면 p0과 dq0이 같은 값을 갖는 화소임에도 불구하고 블록킹 아티팩트로 인하여 화소 값의 불연속이 사선 방향으로 발생하는 것을 관찰할 수 있다. 그러므로 사선 방향으로 발생하는 화소 간의 불연속으로 인한 블록킹 아티팩트를 해결하기 위해서는, 수직과 수평 방향뿐만 아니라 사선 방향으로 디블록킹 필터링을 적응적으로 수행해야 할 것이다. 좀 더 구체적으로는 도 21의 (b)와 같이 대각선 방향으로 경계 면에 저 대역 필터링을 취한다면 p0과 q0의 화소 값이 비슷하게 변하면서 부드러워져 블록 경계 면의 화소 값 불연속에 의한 왜곡을 해소할 수 있을 것이다.
따라서, 본 발명의 실시예는 수직과 수평 방향뿐만 아니라 그 밖의 방향에 대해서도 디블록킹 필터를 수행할 수 있도록 한다.
특히, 본 발명의 실시예는 화소 단위로 방향성을 갖는 디블록킹 필터를 수행할 때 많은 연산량이 발생하므로 보다 적은 연산량으로 다양한 에지 방향에 대하여 화소별로 디블록킹 필터링을 취할 수 있는 방법을 제공한다.
도 2의 장치에 적용할 수 있는 본 발명의 제 1 실시예 따른 디블록킹 필터링 방법에 의하면, 부호기에서 각 화소 마다 에지 방향을 검사하여 디블록킹 필터링을 수행하고, 그 중에서 가장 많이 선택된 필터링 방향을 선정하고, 이에 대하여 매우 적은 부가 정보를 생성하여, 복호기에 전송하면 복호기는 이 정보를 이용하여 방향성을 갖는 디블록킹 필터링을 수행한다. 일반적으로 영상 내의 4x4 서브 블록에서는 에지의 방향이 대체적으로 일관적이기 때문에 모든 방향에 대하여 디블록킹 필터링을 수행하지 않고 1~2방향에 대해서만 수행하는 것은 타당하다고 할 수 있다. 이 방법은 부호화기의 연산량에 대해서는 변화가 없지만, 복호기에서는 연산량이 대폭 감소하는 이점이 있다.
도 22는 본 발명의 제 1 실시예에 따른 디블록킹 필터링 방법의 흐름도로서, 도 2의 장치에 적용할 수 있으므로 그 장치의 동작과 함께 설명한다.
도 22에 도시된 바와 같이, 본 발명의 제 1 실시예에 따른 디블록킹 필터링 방법은, 현재 블록의 서브 블록간의 경계의 세기를 결정하는 경계 세기 결정 단계(S2210); 상기 서브 블록의 경계의 각 화소에 대해 기 설정된 복수의 방향 중 각 방향에 대응하는 화소들간의 화소값의 변화량에 근거하여 최적 방향을 선정하는 최적 방향 선정 단계(S2220); 상기 서브 블록의 경계의 모든 화소에 대해 상기 선정된 다수의 최적 방향 중에서 최다 선정된 방향을 해당 서브 블록의 필터링 방향으로 결정하는 필터링 방향 결정 단계(S2230); 상기 서브 블록의 경계의 각 화소에 대해 상기 결정된 필터링 방향에 근거하여 필터링할 화소들을 선택하는 화소 선택 단계(S2240); 상기 선택된 화소들간의 화소값의 관계에 따라 상기 결정된 필터링 방향에 대한 필터링 여부를 결정하는 필터링 여부 결정 단계(S2250); 및 상기 결정된 필터링 여부에 따라 상기 결정된 필터링 방향의 상기 선택된 화소들에 대해 필터링을 수행하는 필터링 단계(S2260)를 포함한다.
본 발명의 제 1 실시예에 따른 디블록킹 필터링 방법에 대해 보다 구체적으로 설명하면 다음과 같다.
도 4 는 16x16 화소로 이루어진 매크로 블록(Macroblock)을 도시한 것으로, 1-16까지의 4x4 서브 블록 중 교번하는 1, 3, 6, 89, 11, 14 및 16번의 4x4 블록에 대하여 본 발명의 실시예에 따른 디블록킹 필터링을 적용한다.
도 5와 같이 디블록킹 필터링을 적용할 해당 서브 블록의 ①, ②, ③, 및 ④의 4개의 경계 면에 디블록킹 필터를 적용한다. 구체적인 실시예는 아래와 같다. (단계 1 내지 단계 10까지는 부호기에서 수행하는 과정이고 단계 11 내지 단계 13은 복호기에서 수행하는 과정이다.)
단계 1: 경계 세기 결정부(210)는 4x4 서브 블록의 각 경계에 대하여 블록 경계 강도(BS)를 결정한다(S2310).
단계 2: BS가 0일 경우 디블록킹 필터링를 취하지 않고, BS가 1~4일 때는 조건식을 검사하여 디블록킹 필터링을 수행해야 할지를 결정한다.
단계 3: 필터링 방향 결정부(230)는 도 6 과 같이 4x4 서브 블록 경계 면(①, ②, ③, 및 ④)의 1~16 번의 화소 경계에 대하여, 도 7 과 같이 기 설정된 9가지 방향 중에서 가장 적합한 디블록킹 필터링 방향을 결정한다(S2220).
단계 4: 필터링 방향 결정부(230)는 가장 적합한 방향을 구하기 위해서 1~16 번의 각 화소의 경계 면상에서 기 설정된 9가지의 방향에 대응하는 화소들간의 화소값의 변화량을 구하고, 9가지 방향 중 변화량이 가장 작은 방향이 에지 방향으로써, 디블록킹 필터링을 취하기에 가장 적합한 최적 방향으로 선정한다(S2220).
단계 5: 필터링 방향 결정부(230)에서 화소 경계면에서 9가지의 각 방향에 대한 화소 간의 변화량을 구하는 식은 아래와 같다.
Figure 112008074730036-pat00007
는 화소 경계 면의 화소(pixel)를 기준으로 각 방향에 따라 선택된 방향 세트에서의 화소들간의 화소값의 변화량을 나타낸다.
Figure 112008074730036-pat00008
,
Figure 112008074730036-pat00009
은 가중치(weight)를 나타내는 상수로써, 블록 간의 경계 근처에 있는 화소 간의 변화량이 경계에서 멀리 떨어져 있는 화소 간의 변화량보다 전체 변화량에 더 큰 비중을 갖도록
Figure 112008074730036-pat00010
,
Figure 112008074730036-pat00011
을 만족하는 값으로 설정된다(S2220).
단계 6: 필터링 방향 결정부(230)에서 9가지의 각 방향에 대한 변화량을 구하는 식은 구체적으로 아래와 같다(S2220).
도 8에 도시되어 있는 90도 방향에 대한 변화량은 다음의 식 2와 같이 구해진다.
[식 2]
Figure 112008074730036-pat00012
도 9에 도시되어 있는 78.75도 방향에 대한 변화량은 다음의 [식 3]과 같이 구해진다.
[식 3]
Figure 112008074730036-pat00013
도 10에 도시되어 있는 67.5도 방향에 대한 변화량은 다음의 [식 4]와 같이 구해진다.
[식 4]
Figure 112008074730036-pat00014
도 11에 도시되어 있는 56.25도 방향에 대한 변화량은 다음의 [식 5]와 같이 구해진다.
[식 5]
Figure 112008074730036-pat00015
도 12에 도시되어 있는 45도 방향에 대한 변화량은 다음의 [식 6]과 같이 구해진다.
[식 6]
Figure 112008074730036-pat00016
도 13에 도시되어 있는 101.25도 방향에 대한 변화량은 다음의 [식 7]와 같이 구해진다.
[식 7]
Figure 112008074730036-pat00017
도 14에 도시되어 있는 112.5도 방향에 대한 변화량은 다음의 [식 8]과 같이 구해진다.
[식 8]
Figure 112008074730036-pat00018
도 15에 도시되어 있는 123.75도 방향에 대한 변화량은 다음의 [식 9]와 같이 구해진다.
[식 9]
Figure 112008074730036-pat00019
도 16에 도시되어 있는 135도 방향에 대한 변화량은 다음의 [식 10]과 같이 구해진다.
[식 10]
Figure 112008074730036-pat00020
단계 7: 다음, 필터링 방향 결정부(230)는 도 6의 1~16 번 화소 간의 경계 중에서 가장 많이 선정되는 최적 방향을 해당 서브 블록의 디블록킹 필터링 방향으로 결정한다(S2230).
단계 8: 이어, 필터링부(250)는 도 6의 1~16 화소 간 각각의 경계에 대해서 위에서 결정된 필터링 방향으로 디블록킹 필터링 수행 여부를 결정한다. 이 때, [식 1]과 유사한 조건식을 사용하게 되는데, 본 실시 예에서는 기 설정된 필터링 방향이 총 9가지 이므로 9가지 방향마다 별도의 조건식을 이용하여 필터링 수행 여부를 판별하고, 조건식을 만족할 경우 해당 필터링 방향으로 디블록킹 필터링을 수행한다. 만약 조건식을 만족하지 못하면 경계 면의 수직 방향에 대해서 조건식을 적용하여, 만족하면 경계 면의 수직 방향으로 디블록킹 필터링을 수행한다(S2240~S2260).
단계 9: 9가지 각 방향에서 조건식을 적용하기 위해 연산에 필요한 화소는 도8 내지 도16에 도시된 바와 같다(S2240). 각 방향에 대한 조건식은 구체적으로 아래와 같다. 이 때,
Figure 112008074730036-pat00021
,
Figure 112008074730036-pat00022
는 상수로 문턱치 값을 조절하여, 각각의 방향에서 디블록킹 필터링의 수행 정도를 결정하는 것이 가능하다.
도 8의 90도 방향에 대한 조건식은 아래의 [조건식 1]과 같다.
[조건식 1]
Figure 112008074730036-pat00023
;
Figure 112008074730036-pat00024
;
Figure 112008074730036-pat00025
도 9의 78.75도 방향에 대한 조건식은 아래의 [조건식 2]와 같다.
[조건식 2]
Figure 112008074730036-pat00026
;
Figure 112008074730036-pat00027
;
Figure 112008074730036-pat00028
도 10의 67.5도 방향에 대한 조건식은 아래의 [조건식 3]과 같다.
[조건식 3]
Figure 112008074730036-pat00029
;
Figure 112008074730036-pat00030
;
Figure 112008074730036-pat00031
도 11의 56.25도 방향에 대한 조건식은 아래의 [조건식 4]와 같다.
[조건식 4]
Figure 112008074730036-pat00032
;
Figure 112008074730036-pat00033
;
Figure 112008074730036-pat00034
도 12의 45도 방향에 대한 조건식은 아래의 [조건식 5]와 같다.
[조건식 5]
Figure 112008074730036-pat00035
;
Figure 112008074730036-pat00036
;
Figure 112008074730036-pat00037
도 13의 101.25도 방향에 대한 조건식은 아래의 [조건식 6]과 같다.
[조건식 6]
Figure 112008074730036-pat00038
;
Figure 112008074730036-pat00039
;
Figure 112008074730036-pat00040
도 14의 112.5도 방향에 대한 조건식은 아래의 [조건식 7]과 같다.
[조건식 7]
Figure 112008074730036-pat00041
;
Figure 112008074730036-pat00042
;
Figure 112008074730036-pat00043
도 15의 123.75도 방향에 대한 조건식은 아래의 [조건식 8]과 같다.
[조건식 8]
Figure 112008074730036-pat00044
;
Figure 112008074730036-pat00045
;
Figure 112008074730036-pat00046
도 16의 135도 방향에 대한 조건식은 아래의 [조건식 9]와 같다.
[조건식 9]
Figure 112008074730036-pat00047
;
Figure 112008074730036-pat00048
;
Figure 112008074730036-pat00049
단계 10: 한편, 수직 방향이 아닌 해당 서브 블록의 디블록킹 필터링 방향(단계 7에서 결정된 디블록킹 필터링 방향)으로 수행되는 화소 중 하나를 선택하여 그 화소에 대해 1비트의 부가 정보를 할당하고, 이 부가 정보를 부호기에서 복호기로 송신한다. 다른 예로, 해당 서브 블록의 디블록킹 필터링 방향(단계 7에서 결정된 디블록킹 필터링 방향)을 부가 정보로 기록하여 저장하고, 이 부가 정보를 부호기에서 복호기로 송신할 수 있다.
단계 11: 복호기에서는 부호기부터 수신한 부가 정보를 이용하여, 부호기에서 지정한 위치의 화소를 선택한다. 그리고 부호기에서 사용했던 것과 같은 방법을 사용하여 그 화소의 디블록킹 필터링을 수행할 방향을 찾는다. 이 방향이 해당 4x4 서브 블록의 디블록킹 필터링 방향이 된다(단계 7에서 찾은 필터링 방향과 동일하게 설정됨).
단계 12: 해당 서브 블록의 필터링 방향이 결정되면 복호기도 부호기와 마찬가지로 단계 8 내지 단계 9와 동일한 과정을 수행하여 디블록킹 필터링을 수행한다.
단계 13: 상기 방법을 적용할 경우 복호기에서는 부호기와 달리 각 화소에 대하여 디블록킹 필터링을 수행할 방향을 결정할 필요가 없이 하나의 화소에 대하여 방향을 결정하고 그 방향을 현재 서브 블록의 주된 방향이라 판단하고 디블록킹 필터링을 수행하므로 연산량이 줄어든다. 단, 부호기에서 복호기로 약간의 부가 정 보를 전송해야 한다.
도 23은 본 발명의 제 2 실시예에 따른 디블록킹 필터링 방법의 흐름도로서, 도 3의 장치에 적용할 수 있으므로 그 장치의 동작과 함께 설명한다.
도 23에 도시된 바와 같이, 본 발명의 제 2 실시예에 따른 디블록킹 필터링 방법은, 현재 블록의 서브 블록간의 경계의 세기를 결정하는 경계 세기 결정 단계(S2310); 상기 서브 블록의 경계의 첫 번째의 화소에 대해서, 기 설정된 복수의 방향 중 각 방향에 대응하는 화소들간의 화소값의 변화량에 근거하여 하나의 방향을 필터링 방향으로 결정하는 제 1 필터링 방향 결정 단계(S2320); 상기 서브 블록의 경계의 두 번째 이상의 화소에 대해서, 현재 서브 블록에 대해 현재까지 최다 선정된 방향을 필터링 방향으로 결정하거나, 직전 화소의 필터링 방향을 최적 방향으로 결정하거나, 상기 첫 번째 화소의 필터링 방향 결정 과정에 따라 필터링 방향을 결정하는, 제 2 필터링 방향 결정 단계(S2330); 상기 서브 블록의 경계의 각 화소에 대해 상기 결정된 필터링 방향에 근거하여 필터링할 화소들을 선택하는 화소 선택 단계(S2340); 상기 선택된 화소들간의 화소값의 관계에 따라 상기 결정된 필터링 방향에 대한 필터링 여부를 결정하는 필터링 여부 결정 단계(S2350); 및 상기 결정된 필터링 여부에 따라 상기 결정된 필터링 방향의 상기 선택된 화소들에 대해 필터링을 수행하는 필터링 단계(S2360)를 포함한다.
본 발명의 제 2 실시예에 따른 디블록킹 필터링 방법에 대해 보다 구체적으로 설명하면 다음과 같다.
본 발명의 제 2 실시예에 따른 디블록킹 필터링 방법은 부호기에서 복호기로 부가 정보를 전송해야 할 필요 없이 기존의 방법보다 연산량을 줄이면서 화소 단위로 디블록킹 필터링을 수행하는 방법이다.
도 4 는 16x16 화소로 이루어진 매크로 블록(Macroblock)을 도시한 것으로, 1-16까지의 4x4 서브 블록 중 교번하는 1, 3, 6, 89, 11, 14 및 16번의 4x4 서브 블록에 대하여 본 발명의 실시예에 따른 디블록킹 필터링을 적용한다. 도 5와 같이 디블록킹 필터링을 적용할 해당 서브 블록의 ①, ②, ③, 및 ④의 4개의 경계 면에 디블록킹 필터를 적용한다. 구체적인 실시예는 아래와 같다.
단계 1: 경계 세기 결정부(310)는 4x4 블록의 각 경계에 대하여 블록 경계 강도(BS)를 결정한다(S2310).
단계 2: BS가 0일 경우 디블록킹 필터링를 취하지 않고, BS가 1~4일 때는 조건식을 검사하여 디블록킹 필터링을 수행해야 할지를 결정한다.
단계 3: 필터링 방향 결정부(330)는 도 6의 해당 서브 블록의 ①번 경계 면의 1번 화소 경계에 대하여 기 설정된 9가지 방향 중에서 디블록킹 필터링을 적용할 방향을 검사한다. 필터링 방향 결정부(330)는 도 22의 본 발명의 제 1 실시예에 따른 디블록킹 필터링 방법에서와 같이 기 설정된 9가지 방향에 대한 화소간의 화소값의 변화량을 각각 구한 후, 변화량이 가장 적은 방향을 제 1 필터링 방향으로 결정한다. 9가지의 각 방향에 대한 변화량은 [식 2] 내지 [식 10]을 적용하여 구한다(S2320). 그리고 필터링부(350)는 결정된 제 1 필터링 방향에 대응하는 조건식(도 22의 제 1 실시예의 단계 9의 조건식 1 내지 조건식 9 참조)을 검사하여 만족하면 결정된 제 1 필터링 방향으로 디블록킹 필터링 수행하고, 그렇지 않으면 디블 록킹 필터링을 수행하지 않는다(S2340-S2360).
단계 4: 다음으로 필터링 방향 결정부(330)는 도 6 의 ①번 경계 면의 2번 화소 경계에서는 1번 화소 경계에서 사용한 제 1 필터링 방향을 필터링 방향으로 결정하고, 필터링부(350)는 결정된 필터링 방향으로 디블록킹 필터링을 수행해야 할지 여부를 결정한다(S2330-S2350). 이 때, 필터링부(350)는 도 22의 제 1 실시예의 단계 9의 조건식 1 내지 조건식 9 중 해당 조건식을 사용하여, 만약 조건식을 만족하면 디블록킹 필터링을 수행하고(S2360), 만족하지 않는다면 필터링 방향 결정부(330)는 다시 1번 화소 경계에서와 같이 9가지 방향에 대해 새롭게 방향을 검사하여 변화량이 가장 적은 방향을 필터링 방향으로 결정한 후(S2330), 필터링부(350)를 통해 디블록킹 필터링을 수행한다(S2340-S2360).
단계 5: 다음으로 필터링 방향 결정부(330)는 도 6 의 ①번 경계 면의 3번 화소 경계 면에서는 현재까지 가장 많이 선택되었던 필터링 방향을 필터링 방향으로 결정하고, 필터링부(350)는 결정된 필터링 방향에 대해 조건식 1 내지 조건식 9 중 해당하는 조건식을 적용하여 디블록킹 필터링을 수행해야 할지를 결정하고(S2330-S2350), 조건식을 만족하면 디블록킹 필터링을 수행한다(S2360). 만약 만족하지 않으면 필터링 방향 결정부(330)는 바로 직전에 사용되었던 필터링 방향(2번 화소 경계면의 필터링 방향)을 필터링 방향으로 결정하고, 필터링부(350)는 결정된 필터링 방향에 대하여 해당 조건식을 적용하여 디블록킹 필터링을 수행해야 할지를 결정하고(S2330-S2350), 조건식을 만족하면 디블록킹 필터링을 수행한다(S2360). 만약 또 만족하지 않으면 필터링 방향 결정부(330)는 다시 1번 화소 경 계에 대한 상기 과정과 같이 9가지 방향에 대해 새롭게 방향을 검사하여 변화량이 가장 적은 방향을 필터링 방향으로 결정한 후(S2330), 필터링부(350)를 통해 디블록킹 필터링을 수행한다(S2340-S2360).
단계 6: 상술된 바와 같이, 4x4 서브 블록의 경계의 각 화소의 경계에서 2번 화소 경계 이상에 대해서는, 첫 번째로 현재까지 서브 블록 내에서 가장 많이 선택된 방향을 이용하여 디블록킹 필터링 적용 여부를 검사하여 그 방향으로 필터링을 수행하고, 만족하지 않을 경우 두 번째로 바로 직전 화소 간의 경계에 사용되었던 방향에 대하여 디블록킹 필터링 적용 여부를 검사하여 그 방향으로 필터링을 수행하고, 이것도 만족하지 않았을 경우에는 비로소 각 방향에 대한 경계간의 변화량을 구하여 디블록킹 필터링의 방향을 결정하여 필터링을 수행할 수 있다.
상술된 제 2 실시예의 방법에 따르면, 4x4 서브 블록내 각 화소의 경계마다 가능성이 가장 높은 방향을 우선적으로 검사한 후 조건을 만족하면 다른 방향을 검사할 필요가 없기 때문에 연산량이 줄어든다.
본 발명의 실시예에 따른 디블록킹 필터링 방법은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로써 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광데이터 저장 장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산 되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
이상에서, 본 발명의 실시예를 구성하는 모든 구성 요소들이 하나로 결합하여 동작하는 것으로 설명되었다고 해서, 본 발명이 반드시 이러한 실시예에 한정되는 것이다. 즉, 본 발명의 목적 범위 안에서라면, 그 모든 구성 요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다. 또한, 그 모든 구성 요소들이 각각 하나의 독립적인 하드웨어로 구현될 수 있지만, 각 구성 요소들의 그 일부 또는 전부가 선택적으로 조합되어 하나 또는 복수 개의 하드웨어에서 조합된 일부 또는 전부의 기능을 수행하는 프로그램 모듈을 갖는 컴퓨터 프로그램으로서 구현될 수도 있다. 그 컴퓨터 프로그램을 구성하는 코드들 및 코드 세그먼트들은 본 발명의 기술 분야의 당업자에 의해 용이하게 추론될 수 있을 것이다. 이러한 컴퓨터 프로그램은 컴퓨터가 읽을 수 있는 저장매체(Computer Readable Media)에 저장되어 컴퓨터에 의하여 읽혀지고 실행됨으로써, 본 발명의 실시예를 구현할 수 있다. 컴퓨터 프로그램의 저장매체로서는 자기 기록매체, 광 기록매체, 캐리어 웨이브 매체 등이 포함될 수 있다.
또한, 이상에서 기재된 "포함하다", "구성하다" 또는 "가지다" 등의 용어는, 특별히 반대되는 기재가 없는 한, 해당 구성 요소가 내재될 수 있음을 의미하는 것이므로, 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것으로 해석되어야 한다. 기술적이거나 과학적인 용어를 포함한 모든 용어들은, 다르게 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 사전에 정의된 용 어와 같이 일반적으로 사용되는 용어들은 관련 기술의 문맥 상의 의미와 일치하는 것으로 해석되어야 하며, 본 발명에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
이상 설명한 바와 같이, 본 발명은 동영상 부호화 및 복호화 기술 분야에 적용되어, 수직 수평 방향 뿐만 아니라 그 밖의 다수의 방향에 대해서도 화소 단위로 디블록킹 필터를 적용할 수 있는 방법을 제시함으로써, 다수의 사선 방향에 대한 에지로 인하여 생기는 사선 방향의 불연속 성에 의한 블록 왜곡 현상을 효과적으로 제거하여 화질을 향상시키고, 블록 왜곡 현상의 제거 시 발생하는 연산량을 효과적으로 줄이는 효과 효과를 발생하는 매우 유용한 발명이다.
도 1은 본 발명의 일 실시예에 따른 동영상 부호화 장치의 블록도,
도 2는 본 발명의 제 1 실시예에 따른 디블록킹 필터링 장치의 블록도,
도 3은 본 발명의 제 2 실시예에 따른 디블록킹 필터링 장치의 블록도,
도 4는 본 발명의 실시예에 적용되는 매크로 블록내의 서브 블록을 나타낸 도면,
도 5는 본 발명의 실시예에 적용되는 서브 블록의 경계를 나타낸 도면,
도 6은 본 발명의 실시에에 적용되는 서브 블록의 경계의 화소 경계를 나타낸 도면,
도 7은 본 발명의 실시예에 따른 필터링 방향의 예를 나타낸 도면,
도 8 내지 도 16는 도 7의 필터링 방향에 따라 선택된 화소의 예를 설명하는 도면,
도 17은 본 발명의 일 실시예에 따른 동영상 복호화 장치의 블록도,
도 18 및 도 19는 매크로 블록의 수직 및 수평 방향의 경계를 나타내는 도면,
도 20은 수직 및 수평 방향 블록 경계인 경우에 수평 및 수직 방향 필터링할 화소의 예를 나타낸 도면,
도 21은 대각선 방향의 에지가 존재할 경우 (a)는 수직 방향의 필터링 시를 설명하는 도면이고, (b)는 대각선 방향 필터링 시를 설명하는 도면,
도 22는 본 발명의 제 1 실시예에 따른 디블록킹 필터링 방법의 흐름도,
도 23은 본 발명의 제 2 실시예에 따른 디블록킹 필터링 방법의 흐름도.
< 도면의 주요 부분에 대한 부호의 설명 >
100: 부호화 장치(또는 부호기라 칭함)
110: 예측부 120: 감산부
130: 변환부 140: 양자화부
150: 부호화부 160: 역양자화부
170: 역변환부 180: 가산부
190: 디블록킹 필터부, 적응적 디블록킹 필터링 장치
210,310: 경계 세기 결정부 230,330: 필터링 방향 결정부
250,350: 필터링부
1700: 복호화 장치(또는 복호기라 칭함)
1710: 복호화부 1720: 역양자화부
1730: 역변환부 1740: 예측부
1750: 가산부 1760: 디블록킹 필터부

Claims (27)

  1. 현재 블록의 서브 블록간의 경계의 세기를 결정하는 경계 세기 결정부;
    상기 서브 블록의 경계의 각 화소에 대해 기 설정된 복수의 방향 중 각 방향에 대응하는 화소들간의 화소값의 변화량에 근거하여 상기 기설정된 복수의 방향 중에서 최적 방향을 선정하고, 상기 서브 블록의 경계의 복수의 화소에 대해 선정된 복수의 최적 방향 중에서 최다 선정된 방향을 상기 서브 블록의 필터링 방향으로 결정하는 필터링 방향 결정부; 및
    상기 서브 블록의 경계의 각 화소에 대해 상기 결정된 필터링 방향에 근거하여 필터링할 화소들을 선택하고, 상기 선택된 화소들간의 화소값의 관계에 따라 상기 결정된 필터링 방향에 대한 필터링 여부를 결정하며, 상기 결정된 필터링 여부에 따라 상기 결정된 필터링 방향의 상기 선택된 화소들에 대해 필터링을 수행하는 필터링부;
    를 포함하는 것을 특징으로 하는 디블록킹 필터링 장치.
  2. 제 1 항에 있어서,
    상기 필터링 방향 결정부는,
    해당 경계를 기준으로 마주하는 첫 번째 화소들간의 화소값 차이의 절대값, 상기 해당 경계를 기준으로 일 측의 두 번째 화소와 첫 번째 화소간의 화소값 차이의 절대값, 상기 해당 경계를 기준으로 타 측의 두 번째 화소와 첫 번째 화소간의 화소값 차이의 절대값, 상기 해당 경계를 기준으로 일 측의 세 번째 화소와 두 번째 화소간의 화소값 차이의 절대값, 및 상기 해당 경계를 기준으로 타 측의 세 번째 화소와 두 번째 화소간의 화소값 차이의 절대값에 근거하여 상기 변화량을 산출하고, 상기 변화량이 가장 작은 방향을 상기 최적 방향으로 선정하는 것을 특징으로 하는 디블록킹 필터링 장치.
  3. 제 1 항에 있어서,
    상기 필터링부는,
    상기 선택된 화소들간의 화소값의 관계가, 해당 경계를 기준으로 마주하는 첫 번째 화소들간의 화소값 차이의 절대값, 상기 경계를 기준으로 일 측의 두 번째 화소와 첫 번째 화소간의 화소값 차이의 절대값, 및 상기 경계를 기준으로 타 측의 두 번째 화소와 첫 번째 화소간의 화소값 차이의 절대값이 각각 기 설정된 문턱치들보다 작은 조건을 만족하면, 상기 결정된 필터링 방향으로 필터링하는 것을 특징으로 하는 디블록킹 필터링 장치.
  4. 제 3 항에 있어서,
    상기 필터링부는,
    상기 결정된 필터링 방향이 상기 조건을 만족하지 못하면, 상기 해당 경계의 수직 방향에 대해 상기 조건을 만족하는지의 여부를 확인하고, 그 확인 결과에 따라 필터링을 수행하는 것을 특징으로 하는 디블록킹 필터링 장치.
  5. 제 1 항에 있어서,
    상기 기 설정된 복수의 방향은 45도, 56.25도, 67.5도, 78.75도, 90도, 101.25도, 112.5도, 123.75도 및 135도를 포함하는 것을 특징으로 하는 디블록킹 필터링 장치.
  6. 제 1 항에 있어서,
    상기 필터링 방향 결정부는,
    상기 결정된 필터링 방향을 상기 서브 블록에 대한 부가 정보로 생성하거나, 상기 서브 블록의 경계의 화소 중 상기 결정된 필터링 방향으로 필터링된 화소에 대한 부가 정보를 할당하여 생성하는 것을 특징으로 하는 디블록킹 필터링 장치.
  7. 현재 블록의 서브 블록간의 경계의 세기를 결정하는 경계 세기 결정부;
    상기 서브 블록의 경계의 제1 화소에 대해서는 기 설정된 복수의 방향 중 각 방향에 대응하는 화소들간의 화소값의 변화량에 근거하여 상기 기설정된 복수의 방향 중에서 하나의 방향을 필터링 방향으로 결정하고, 상기 제1 화소를 제외한 상기 서브 블록의 경계의 나머지 화소에 대해서는 필터링 방향이 기결정된 다른 화소의 필터링 방향 중에서 하나의 방향을 해당 화소의 필터링 방향으로 결정하는 필터링 방향 결정부; 및
    상기 서브 블록의 경계의 각 화소에 대해 상기 결정된 필터링 방향에 근거하여 필터링할 화소들을 선택하고, 상기 선택된 화소들간의 화소값의 관계에 따라 상기 결정된 필터링 방향에 대한 필터링 여부를 결정하며, 상기 결정된 필터링 여부에 따라 상기 결정된 필터링 방향의 상기 선택된 화소들에 대해 필터링을 수행하는 필터링부;
    를 포함하는 것을 특징으로 하는 디블록킹 필터링 장치.
  8. 제 7 항에 있어서,
    상기 필터링 방향 결정부는,
    해당 경계를 기준으로 마주하는 첫 번째 화소들간의 화소값 차이의 절대값, 상기 해당 경계를 기준으로 일 측의 두 번째 화소와 첫 번째 화소간의 화소값 차이의 절대값, 상기 해당 경계를 기준으로 타 측의 두 번째 화소와 첫 번째 화소간의 화소값 차이의 절대값, 상기 해당 경계를 기준으로 일 측의 세 번째 화소와 두 번째 화소간의 화소값 차이의 절대값, 및 상기 해당 경계를 기준으로 타 측의 세 번째 화소와 두 번째 화소간의 화소값 차이의 절대값에 근거하여 상기 변화량을 산출하고, 상기 변화량이 가장 작은 방향을 상기 필터링 방향으로 결정하는 것을 특징으로 하는 디블록킹 필터링 장치.
  9. 제 7 항에 있어서,
    상기 필터링부는,
    상기 선택된 화소들간의 화소값의 관계가, 해당 경계를 기준으로 마주하는 첫 번째 화소들간의 화소값 차이의 절대값, 상기 경계를 기준으로 일 측의 두 번째 화소와 첫 번째 화소간의 화소값 차이의 절대값, 및 상기 경계를 기준으로 타 측의 두 번째 화소와 첫 번째 화소간의 화소값 차이의 절대값이 각각 기 설정된 문턱치들보다 작은 조건을 만족하면, 상기 결정된 필터링 방향으로 필터링하는 것을 특징으로 하는 디블록킹 필터링 장치.
  10. 제 7 항에 있어서,
    상기 기 설정된 복수의 방향은 45도, 56.25도, 67.5도, 78.75도, 90도, 101.25도, 112.5도, 123.75도 및 135도를 포함하는 것을 특징으로 하는 디블록킹 필터링 장치.
  11. 현재 블록의 서브 블록간의 경계의 세기를 결정하는 경계 세기 결정 단계;
    상기 서브 블록의 경계의 각 화소에 대해 기 설정된 복수의 방향 중 각 방향에 대응하는 화소들간의 화소값의 변화량에 근거하여 상기 기설정된 복수의 방향 중에서 최적 방향을 선정하는 최적 방향 선정 단계;
    상기 서브 블록의 경계의 복수의 화소에 대해 선정된 복수의 최적 방향 중에서 최다 선정된 방향을 상기 서브 블록의 필터링 방향으로 결정하는 필터링 방향 결정 단계;
    상기 서브 블록의 경계의 각 화소에 대해 상기 결정된 필터링 방향에 근거하여 필터링할 화소들을 선택하는 화소 선택 단계;
    상기 선택된 화소들간의 화소값의 관계에 따라 상기 결정된 필터링 방향에 대한 필터링 여부를 결정하는 필터링 여부 결정 단계; 및
    상기 결정된 필터링 여부에 따라 상기 결정된 필터링 방향의 상기 선택된 화소들에 대해 필터링을 수행하는 필터링 단계;
    를 포함하는 것을 특징으로 하는 디블록킹 필터링 방법.
  12. 제 11 항에 있어서,
    상기 최적 방향 선정 단계에서의 상기 변화량은,
    해당 경계를 기준으로 마주하는 첫 번째 화소들간의 화소값 차이의 절대값, 상기 해당 경계를 기준으로 일 측의 두 번째 화소와 첫 번째 화소간의 화소값 차이의 절대값, 상기 해당 경계를 기준으로 타 측의 두 번째 화소와 첫 번째 화소간의 화소값 차이의 절대값, 상기 해당 경계를 기준으로 일 측의 세 번째 화소와 두 번째 화소간의 화소값 차이의 절대값, 및 상기 해당 경계를 기준으로 타 측의 세 번째 화소와 두 번째 화소간의 화소값 차이의 절대값에 근거하여 산출되고, 상기 변화량이 가장 작은 방향이 상기 최적 방향으로 선정되는 것을 특징으로 하는 디블록킹 필터링 방법.
  13. 제 11 항에 있어서,
    상기 필터링 여부 결정 단계는,
    상기 선택된 화소들간의 화소값의 관계가, 해당 경계를 기준으로 마주하는 첫 번째 화소들간의 화소값 차이의 절대값, 상기 해당 경계를 기준으로 일 측의 두 번째 화소와 첫 번째 화소간의 화소값 차이의 절대값, 및 상기 해당 경계를 기준으로 타 측의 두 번째 화소와 첫 번째 화소간의 화소값 차이의 절대값이 각각 기 설정된 문턱치들보다 작은 조건을 만족하는지의 여부에 따라, 상기 필터링 여부를 결정하는 것을 특징으로 하는 디블록킹 필터링 방법.
  14. 제 13 항에 있어서,
    상기 필터링 여부 결정 단계는,
    상기 결정된 필터링 방향이 상기 조건을 만족하지 못하면, 상기 해당 경계의 수직 방향에 대해 상기 조건을 만족하는지의 여부를 확인하고, 그 확인 결과에 따라 상기 수직 방향에 대한 필터링 여부를 결정하는 것을 특징으로 하는 디블록킹 필터링 방법.
  15. 제 11 항에 있어서,
    상기 기 설정된 복수의 방향은 45도, 56.25도, 67.5도, 78.75도, 90도, 101.25도, 112.5도, 123.75도 및 135도를 포함하는 것을 특징으로 하는 디블록킹 필터링 방법.
  16. 제 11 항에 있어서,
    상기 필터링 방향 결정 단계에서 상기 결정된 필터링 방향을 상기 서브 블록에 대한 부가 정보로 생성하거나, 상기 서브 블록의 경계의 화소 중 상기 결정된 필터링 방향으로 필터링된 화소에 대한 부가 정보를 할당하여 생성하는 단계를 더 포함하는 것을 특징으로 하는 디블록킹 필터링 방법.
  17. 현재 블록의 서브 블록간의 경계의 세기를 결정하는 경계 세기 결정 단계;
    상기 서브 블록의 경계의 제1 화소에 대해서, 기 설정된 복수의 방향 중 각 방향에 대응하는 화소들간의 화소값의 변화량에 근거하여 상기 기설정된 복수의 방향 중에서 하나의 방향을 필터링 방향으로 결정하는 제 1 필터링 방향 결정 단계;
    상기 제1 화소를 제외한 상기 서브 블록의 경계의 나머지 화소에 대해서, 필터링 방향이 기결정된 다른 화소의 필터링 방향 중에서 하나의 방향을 해당 화소의 필터링 방향으로 결정하는 제 2 필터링 방향 결정 단계;
    상기 서브 블록의 경계의 각 화소에 대해 상기 결정된 필터링 방향에 근거하여 필터링할 화소들을 선택하는 화소 선택 단계;
    상기 선택된 화소들간의 화소값의 관계에 따라 상기 결정된 필터링 방향에 대한 필터링 여부를 결정하는 필터링 여부 결정 단계; 및
    상기 결정된 필터링 여부에 따라 상기 결정된 필터링 방향의 상기 선택된 화소들에 대해 필터링을 수행하는 필터링 단계;
    를포함하는 것을 특징으로 하는 디블록킹 필터링 방법.
  18. 제 17 항에 있어서,
    상기 제 1 필터링 방향 결정 단계에서 상기 변화량은,
    해당 경계를 기준으로 마주하는 첫 번째 화소들간의 화소값 차이의 절대값, 상기 해당 경계를 기준으로 일 측의 두 번째 화소와 첫 번째 화소간의 화소값 차이의 절대값, 상기 해당 경계를 기준으로 타 측의 두 번째 화소와 첫 번째 화소간의 화소값 차이의 절대값, 상기 해당 경계를 기준으로 일 측의 세 번째 화소와 두 번째 화소간의 화소값 차이의 절대값, 및 상기 해당 경계를 기준으로 타 측의 세 번째 화소와 두 번째 화소간의 화소값 차이의 절대값에 근거하여 산출되고, 상기 산출된 변화량이 가장 작은 방향이 상기 필터링 방향으로 선정되는 것을 특징으로 하는 디블록킹 필터링 방법.
  19. 제 17 항에 있어서,
    상기 필터링 여부 결정 단계는,
    상기 선택된 화소들간의 화소값의 관계가, 해당 경계를 기준으로 마주하는 첫 번째 화소들간의 화소값 차이의 절대값, 상기 해당 경계를 기준으로 일 측의 두 번째 화소와 첫 번째 화소간의 화소값 차이의 절대값, 및 상기 해당 경계를 기준으로 타 측의 두 번째 화소와 첫 번째 화소간의 화소값 차이의 절대값이 각각 기 설정된 문턱치들보다 작은 조건을 만족하는지의 여부에 따라, 상기 필터링 여부를 결정하는 것을 특징으로 하는 디블록킹 필터링 방법.
  20. 제 17 항에 있어서,
    상기 설정된 복수의 방향은 45도, 56.25도, 67.5도, 78.75도, 90도, 101.25도, 112.5도, 123.75도 및 135도를 포함하는 것을 특징으로 하는 디블록킹 필터링 방법.
  21. 영상의 현재 블록을 예측하여 예측 블록을 생성하는 예측부;
    상기 현재 블록에서 상기 예측 블록을 감산하여 잔차 블록을 생성하는 감산부;
    상기 잔차 블록을 주파수 영역으로 변환하는 변환부;
    상기 변환된 잔차 블록을 양자화하는 양자화부;
    상기 양자화된 잔차 블록을 부호화하는 부호화부;
    상기 잔차 블록을 역 양자화하는 역양자화부;
    상기 역 양자화된 잔차 블록을 시간축상의 화소 신호를 갖는 잔차 블록으로 역변환하는 역변환부;
    상기 역변환된 잔차 블록에 상기 예측 블록을 가산하여 현재 블록을 복원하는 가산부; 및
    상기 복원된 현재 블록을 디블로킹 필터링하되, 상기 복원된 현재 블록의 서브 블록의 경계의 각 화소에 대해 기 설정된 복수의 방향 중 각 방향에 대응하는 화소들간의 화소값의 변화량에 근거하여 상기 기설정된 복수의 방향 중에서 최적 방향을 선정하고, 상기 서브 블록의 경계의 복수의 화소에 대해 선정된 복수의 최적 방향 중에서 최다 선정된 방향을 상기 서브 블록의 필터링 방향으로 결정하며, 상기 서브 블록의 경계의 각 화소에 대해 상기 결정된 필터링 방향에 근거하여 필터링할 화소들을 선택하고, 상기 선택된 화소들간의 화소값의 관계에 따라 상기 결정된 필터링 방향에 대한 필터링 여부를 결정하며, 상기 결정된 필터링 여부에 따라 상기 결정된 필터링 방향의 상기 선택된 화소들에 대해 필터링을 수행하는 디블로킹 필터부;
    를 포함하는 것을 특징으로 하는 동영상 부호화 장치.
  22. 영상의 현재 블록을 예측하여 예측 블록을 생성하는 예측부;
    상기 현재 블록에서 상기 예측 블록을 감산하여 잔차 블록을 생성하는 감산부;
    상기 잔차 블록을 주파수 영역으로 변환하는 변환부;
    상기 변환된 잔차 블록을 양자화하는 양자화부;
    상기 양자화된 잔차 블록을 부호화하는 부호화부;
    상기 잔차 블록을 역 양자화하는 역양자화부;
    상기 역 양자화된 잔차 블록을 시간축상의 화소 신호를 갖는 잔차 블록으로 역변환하는 역변환부;
    상기 역변환된 잔차 블록에 상기 예측 블록을 가산하여 현재 블록을 복원하는 가산부; 및
    상기 복원된 현재 블록을 디블로킹 필터링하되, 상기 복원된 현재 블록의 서브 블록의 경계의 제1 화소에 대해서는 기 설정된 복수의 방향 중 각 방향에 대응하는 화소들간의 화소값의 변화량에 근거하여 상기 기설정된 복수의 방향 중에서 하나의 방향을 필터링 방향으로 결정하고, 상기 제1 화소를 제외한 상기 서브 블록의 경계의 나머지 화소에 대해서는 필터링 방향이 기결정된 다른 화소의 필터링 방향 중에서 하나의 방향을 해당 화소의 필터링 방향으로 결정하며, 상기 서브 블록의 경계의 각 화소에 대해 상기 결정된 필터링 방향에 근거하여 필터링할 화소들을 선택하고, 상기 선택된 화소들간의 화소값의 관계에 따라 상기 결정된 필터링 방향에 대한 필터링 여부를 결정하며, 상기 결정된 필터링 여부에 따라 상기 결정된 필터링 방향의 상기 선택된 화소들에 대해 필터링을 수행하는 디블로킹 필터부;
    를 포함하는 것을 특징으로 하는 동영상 부호화 장치.
  23. 비트스트림을 복호화하여 잔차 블록을 추출하는 복호화부;
    상기 잔차 블록을 역 양자화하는 역양자화부;
    상기 역 양자화된 잔차 블록을 역 변환하는 역변환부;
    현재 블록을 예측하여 예측 블록을 생성하는 예측부;
    상기 역 변환된 잔차 블록과 상기 예측 블록을 가산하여 상기 현재 블록을 복원하는 가산부; 및
    상기 비트스트림으로부터 특정 화소에 대한 부가 정보를 수신하고 상기 복원된 현재 블록을 디블로킹 필터링하되, 상기 복원된 현재 블록의 서브 블록의 경계의 모든 화소 중 상기 특정 화소에 대해 기 설정된 복수의 방향 중 각 방향에 대응하는 화소들간의 화소값의 변화량에 근거하여 상기 기설정된 복수의 방향 중에서 최적 방향을 선정하고, 상기 선정된 최적 방향을 상기 서브 블록의 필터링 방향으로 결정하며, 상기 서브 블록의 경계의 각 화소에 대해 상기 결정된 필터링 방향에 근거하여 필터링할 화소들을 선택하고, 상기 선택된 화소들간의 화소값의 관계에 따라 상기 결정된 필터링 방향에 대한 필터링 여부를 결정하며, 상기 결정된 필터링 여부에 따라 상기 결정된 필터링 방향의 상기 선택된 화소들에 대해 필터링을 수행하는 디블로킹 필터부;
    를 포함하는 것을 특징으로 하는 동영상 복호화 장치.
  24. 비트스트림을 복호화하여 잔차 블록을 추출하는 복호화부;
    상기 잔차 블록을 역 양자화하는 역양자화부;
    상기 역 양자화된 잔차 블록을 역 변환하는 역변환부;
    현재 블록을 예측하여 예측 블록을 생성하는 예측부;
    상기 역 변환된 잔차 블록과 상기 예측 블록을 가산하여 상기 현재 블록을 복원하는 가산부; 및
    상기 비트스트림으로부터 상기 복원된 현재 블록의 서브 블록의 필터링 방향에 대한 부가 정보를 수신하고 상기 가산부 의해 복원된 상기 현재 블록을 디블로킹 필터링하되, 상기 복원된 현재 블록의 서브 블록의 경계의 각 화소에 대해 상기 필터링 방향에 근거하여 필터링할 화소들을 선택하고, 상기 선택된 화소들간의 화소값의 관계에 따라 상기 수신된 필터링 방향에 대한 필터링 여부를 결정하며, 상기 결정된 필터링 여부에 따라 상기 수신된 필터링 방향의 상기 선택된 화소들에 대해 필터링을 수행하는 디블로킹 필터부;
    를 포함하는 것을 특징으로 하는 동영상 복호화 장치.
  25. 비트스트림을 복호화하여 잔차 블록을 추출하는 복호화부;
    상기 잔차 블록을 역 양자화하는 역양자화부;
    상기 역 양자화된 잔차 블록을 역 변환하는 역변환부;
    현재 블록을 예측하여 예측 블록을 생성하는 예측부;
    상기 역 변환된 잔차 블록과 상기 예측 블록을 가산하여 상기 현재 블록을 복원하는 가산부; 및
    상기 가산부 의해 복원된 상기 현재 블록을 디블로킹 필터링하되, 상기 복원된 현재 블록의 서브 블록의 경계의 제1 화소에 대해서는 기 설정된 복수의 방향 중 각 방향에 대응하는 화소들간의 화소값의 변화량에 근거하여 상기 기설정된 복수의 방향 중에서 하나의 방향을 필터링 방향으로 결정하고, 상기 제1 화소를 제외한 상기 서브 블록의 경계의 나머지 화소에 대해서는 필터링 방향이 기결정된 다른 화소의 필터링 방향 중에서 하나의 방향을 해당 화소의 필터링 방향으로 결정하며, 상기 서브 블록의 경계의 각 화소에 대해 상기 결정된 필터링 방향에 근거하여 필터링할 화소들을 선택하고, 상기 선택된 화소들간의 화소값의 관계에 따라 상기 결정된 필터링 방향에 대한 필터링 여부를 결정하며, 상기 결정된 필터링 여부에 따라 상기 결정된 필터링 방향의 상기 선택된 화소들에 대해 필터링을 수행하는 디블로킹 필터부;
    를 포함하는 것을 특징으로 하는 동영상 복호화 장치.
  26. 현재 블록의 서브 블록간의 경계의 세기를 결정하는 경계 세기 결정 기능;
    상기 서브 블록의 경계의 각 화소에 대해 기 설정된 복수의 방향 중 각 방향에 대응하는 화소들간의 화소값의 변화량에 근거하여 상기 기설정된 복수의 방향 중에서 최적 방향을 선정하는 최적 방향 선정 기능;
    상기 서브 블록의 경계의 복수의 화소에 대해 선정된 복수의 최적 방향 중에서 최다 선정된 방향을 상기 서브 블록의 필터링 방향으로 결정하는 필터링 방향 결정 기능;
    상기 서브 블록의 경계의 각 화소에 대해 상기 결정된 필터링 방향에 근거하여 필터링할 화소들을 선택하는 화소 선택 기능;
    상기 선택된 화소들간의 화소값의 관계에 따라 상기 결정된 필터링 방향에 대한 필터링 여부를 결정하는 필터링 여부 결정 기능; 및
    상기 결정된 필터링 여부에 따라 상기 결정된 필터링 방향의 상기 선택된 화소들에 대해 필터링을 수행하는 필터링 기능;
    을 포함하는 것을 특징으로 하는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체.
  27. 현재 블록의 서브 블록간의 경계의 세기를 결정하는 경계 세기 결정 기능;
    상기 서브 블록의 경계의 제1 화소에 대해서, 기 설정된 복수의 방향 중 각 방향에 대응하는 화소들간의 화소값의 변화량에 근거하여 상기 기설정된 복수의 방향 중에서 하나의 방향을 필터링 방향으로 결정하는 제 1 필터링 방향 결정 기능;
    상기 제1 화소를 제외한 상기 서브 블록의 경계의 나머지 화소에 대해서 필터링 방향이 기결정된 다른 화소의 필터링 방향 중에서 하나의 방향을 해당 화소의 필터링 방향으로 결정하는 제 2 필터링 방향 결정 기능;
    상기 서브 블록의 경계의 각 화소에 대해 상기 결정된 필터링 방향에 근거하여 필터링할 화소들을 선택하는 화소 선택 기능;
    상기 선택된 화소들간의 화소값의 관계에 따라 상기 결정된 필터링 방향에 대한 필터링 여부를 결정하는 필터링 여부 결정 기능; 및
    상기 결정된 필터링 여부에 따라 상기 결정된 필터링 방향의 상기 선택된 화소들에 대해 필터링을 수행하는 필터링 기능;
    을 포함하는 것을 특징으로 하는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체.
KR1020080105718A 2008-10-27 2008-10-28 동영상 부호화/복호화 장치, 이를 위한 디블록킹 필터링 장치와 방법, 및 기록 매체 KR101534050B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020080105718A KR101534050B1 (ko) 2008-10-28 2008-10-28 동영상 부호화/복호화 장치, 이를 위한 디블록킹 필터링 장치와 방법, 및 기록 매체
US13/126,144 US9596485B2 (en) 2008-10-27 2009-10-22 Motion picture encoding/decoding apparatus, adaptive deblocking filtering apparatus and filtering method for same, and recording medium
PCT/KR2009/006127 WO2010050699A2 (ko) 2008-10-27 2009-10-22 동영상 부호화/복호화 장치, 이를 위한 적응적 디블록킹 필터링 장치와 필터링 방법, 및 기록 매체

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080105718A KR101534050B1 (ko) 2008-10-28 2008-10-28 동영상 부호화/복호화 장치, 이를 위한 디블록킹 필터링 장치와 방법, 및 기록 매체

Publications (2)

Publication Number Publication Date
KR20100046732A KR20100046732A (ko) 2010-05-07
KR101534050B1 true KR101534050B1 (ko) 2015-07-06

Family

ID=42273946

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080105718A KR101534050B1 (ko) 2008-10-27 2008-10-28 동영상 부호화/복호화 장치, 이를 위한 디블록킹 필터링 장치와 방법, 및 기록 매체

Country Status (1)

Country Link
KR (1) KR101534050B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110125153A (ko) 2010-05-12 2011-11-18 에스케이 텔레콤주식회사 영상의 필터링 방법 및 장치와 그를 이용한 부호화/복호화를 위한 방법 및 장치

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050091270A (ko) * 2004-03-11 2005-09-15 학교법인 대양학원 영상의 불연속성을 제거하기 위한 필터 및 필터링 방법
KR20080005210A (ko) * 2005-03-18 2008-01-10 샤프 래보라토리스 오브 아메리카 인크. 공간 계위 강화 계층 내의 인접 블록들 간의 블록 경계를특징화하는 방법 및 그 시스템
US20080043853A1 (en) * 2006-08-17 2008-02-21 Fujitsu Limited Deblocking filter, image encoder, and image decoder
US20080095244A1 (en) * 2006-10-20 2008-04-24 Samsung Electronics Co., Ltd. De-blocking filtering method of image data and de-blocking filter

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050091270A (ko) * 2004-03-11 2005-09-15 학교법인 대양학원 영상의 불연속성을 제거하기 위한 필터 및 필터링 방법
KR20080005210A (ko) * 2005-03-18 2008-01-10 샤프 래보라토리스 오브 아메리카 인크. 공간 계위 강화 계층 내의 인접 블록들 간의 블록 경계를특징화하는 방법 및 그 시스템
US20080043853A1 (en) * 2006-08-17 2008-02-21 Fujitsu Limited Deblocking filter, image encoder, and image decoder
US20080095244A1 (en) * 2006-10-20 2008-04-24 Samsung Electronics Co., Ltd. De-blocking filtering method of image data and de-blocking filter

Also Published As

Publication number Publication date
KR20100046732A (ko) 2010-05-07

Similar Documents

Publication Publication Date Title
KR101590500B1 (ko) 동영상 부호화/복호화 장치, 이를 위한 인트라 예측 방향에기반한 디블록킹 필터링 장치 및 필터링 방법, 및 기록 매체
KR101888333B1 (ko) 연성 디블록킹 필터링을 이용한 부호화/복호화 방법 및 장치
KR101432775B1 (ko) 서브블록 내 임의 화소를 이용한 영상 부호화/복호화 방법 및 장치
US20180213227A1 (en) Motion picture encoding apparatus and method thereof
US9596485B2 (en) Motion picture encoding/decoding apparatus, adaptive deblocking filtering apparatus and filtering method for same, and recording medium
US9503725B2 (en) Method and apparatus for encoding/decoding image for performing intraprediction using pixel value filtered according to prediction mode
KR100727990B1 (ko) 영상의 인트라 예측 부호화 방법 및 그 방법을 사용하는부호화 장치
KR20150095232A (ko) 영상의 필터링 방법 및 장치와 그를 이용한 부호화/복호화를 위한 방법 및 장치
KR101648065B1 (ko) 고정밀 필터를 이용한 영상 부호화/복호화 방법 및 장치
KR20080082143A (ko) 영상 부호화 방법 및 장치, 복호화 방법 및 장치
KR101527148B1 (ko) 인터 예측 장치 및 그를 이용한 영상 부호화/복호화 장치와방법
KR101597253B1 (ko) 동영상 부호화/복호화 장치, 이를 위한 적응적 디블록킹 필터링 장치와 필터링 방법, 및 기록 매체
KR101534050B1 (ko) 동영상 부호화/복호화 장치, 이를 위한 디블록킹 필터링 장치와 방법, 및 기록 매체
KR101943425B1 (ko) 비균등 양자화를 이용한 효과적인 부호화/복호화 방법 및 장치
KR101537767B1 (ko) 서브블록 내 임의 화소를 이용한 영상 부호화/복호화 방법 및 장치
KR101483495B1 (ko) 서브블록 내 임의 화소를 이용한 영상 부호화/복호화 방법 및 장치
KR101379189B1 (ko) 움직임 보상 프레임의 필터링을 이용한 영상 부호화/복호화 방법 및 장치
KR101534014B1 (ko) 서브블록 내 임의 화소를 이용한 영상 부호화/복호화 방법 및 장치
KR101464944B1 (ko) 서브블록 내 임의 화소를 이용한 영상 부호화/복호화 방법 및 장치
KR101464949B1 (ko) 서브블록 내 임의 화소를 이용한 영상 부호화/복호화 방법 및 장치

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
FPAY Annual fee payment

Payment date: 20190502

Year of fee payment: 5