KR101838183B1 - 적응적 예측 블록 필터링을 이용한 영상 부호화/복호화 장치 및 방법 - Google Patents

적응적 예측 블록 필터링을 이용한 영상 부호화/복호화 장치 및 방법 Download PDF

Info

Publication number
KR101838183B1
KR101838183B1 KR1020110099681A KR20110099681A KR101838183B1 KR 101838183 B1 KR101838183 B1 KR 101838183B1 KR 1020110099681 A KR1020110099681 A KR 1020110099681A KR 20110099681 A KR20110099681 A KR 20110099681A KR 101838183 B1 KR101838183 B1 KR 101838183B1
Authority
KR
South Korea
Prior art keywords
block
neighboring
filtering
prediction
prediction block
Prior art date
Application number
KR1020110099681A
Other languages
English (en)
Other versions
KR20120034043A (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 PCT/KR2011/007261 priority Critical patent/WO2012044116A2/ko
Priority to US13/822,956 priority patent/US20130177078A1/en
Publication of KR20120034043A publication Critical patent/KR20120034043A/ko
Application granted granted Critical
Publication of KR101838183B1 publication Critical patent/KR101838183B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • 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/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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

Abstract

영상의 부호화/복호화 방법 및 장치가 제공된다. 복호화 대상 블록에 대한 제1 예측 블록을 생성하고, 제1 예측 블록의 주변 블록을 기초로 필터 계수를 산출하며, 필터링 수행 여부 정보가 필터링을 수행하는 것을 지시하는 경우, 필터 계수를 이용하여 제1 예측 블록에 대한 필터링을 수행하여 제2 예측 블록을 생성한다. 본 발명에 따르면, 예측 영상의 정확도가 높아지고 부호화 성능이 향상된다.

Description

적응적 예측 블록 필터링을 이용한 영상 부호화/복호화 장치 및 방법 {APPARATUS AND METHOD FOR VIDEO ENCODING AND DECODING USING ADAPTIVE PREDICTION BLOCK FILTERING}
본 발명은 영상 처리기술에 관한 것으로써, 보다 상세하게는 영상의 부호화/복호화 장치 및 방법에 관한 것이다.
최근 HD(High Definition) 해상도(1280x1024 혹은 1920x1080)를 가지는 방송 서비스가 국내뿐만 아니라 세계적으로 확대되면서, 많은 사용자들이 고해상도, 고화질의 영상에 익숙해지고 있으며 이에 따라 많은 기관들이 차세대 영상기기에 대한 개발에 박차를 가하고 있다. 또한 HDTV와 더불어 HDTV의 4배 이상의 해상도를 갖는 UHD(Ultra High Definition)에 대한 관심이 증대되면서 동영상 표준화 단체들은 보다 높은 해상도, 고화질의 영상에 대한 압축기술의 필요성을 인식하게 되었다. 또한 현재 HDTV, 휴대전화 등에 사용되는 동영상 압축 부호화 표준인 H.264/AVC(Advanced Video Coding)보다 높은 압축 효율을 통해, 기존 부호화 방식과 동일한 화질을 제공하면서도 주파수 대역이나 저장 측면에서 많은 이득을 제공할 수 있는 새로운 표준이 요구되고 있다. 현재 MPEG(Moving Picture Experts Group)과 VCEG(Video Coding Experts Group)은 공동으로 차세대 비디오 코덱인 HEVC(High Efficiency Video Coding)에 대한 표준화 작업을 진행하고 있다. HEVC의 개략적인 목표는 UHD 영상까지 포함한 영상을 H.264/AVC 대비 2배의 압축효율로 부호화하는 것이다. HEVC는 HD, UHD 영상뿐만 아니라 3D 방송 및 이동통신망에서도 현재보다 낮은 주파수로 고화질의 영상을 제공할 수 있다.
HEVC에서는 공간적 또는 시간적으로 영상에 대한 예측(prediction)이 수행되어 예측 영상이 생성될 수 있으며 원본 영상과 예측 영상과의 차이가 부호화될 수 있다. 이러한 예측 부호화에 의해 영상 부호화의 효율이 높아질 수 있다.
기존 영상 부호화 방법은 부호화 성능을 향상시키기 위해 예측 영상의 정확도를 더욱 높이는 기술들을 제안해 왔다. 예측 영상의 정확도를 높이기 위해 기존영상 부호화 방법은 일반적으로 참조 영상의 보간 영상을 정밀하게 하거나, 차신호를 한 번 더 예측하는 방법을 사용한다.
본 발명의 목적은 적응적 예측 블록 필터링을 이용한 영상 부호화 장치 및 방법을 제공함에 있다.
본 발명의 다른 목적은 높은 예측 영상 정확도 및 향상된 부호화 성능을 제공하는 영상 부호화 장치 및 방법을 제공함에 있다.
본 발명의 또 다른 목적은 추가되는 부호화 정보를 최소화할 수 있는 영상 부호화 장치 및 방법을 제공함에 있다.
본 발명의 또 다른 목적은 적응적 예측 블록 필터링을 이용한 영상 복호화 장치 및 방법을 제공함에 있다.
본 발명의 또 다른 목적은 높은 예측 영상 정확도 및 향상된 부호화 성능을 제공하는 영상 복호화 장치 및 방법을 제공함에 있다.
본 발명의 또 다른 목적은 부호화 장치로부터 전송되는 부호화 정보를 최소화할 수 있는 영상 복호화 장치 및 방법을 제공함에 있다.
본 발명의 일 실시 형태는 영상 복호화 방법이다. 상기 방법은 복호화 대상 블록에 대한 제1 예측 블록을 생성하는 단계, 상기 제1 예측 블록의 주변 블록을 기초로 필터 계수를 산출하는 단계 및 부호화 장치 또는 복호화 장치에서 생성되거나, 상기 부호화 장치 또는 상기 복호화 장치에 저장된 필터링 수행 여부 정보가 필터링을 수행하는 것을 지시하는 경우, 상기 필터 계수를 이용하여 상기 제1 예측 블록에 대한 필터링을 수행하여 제2 예측 블록을 생성하는 단계를 포함한다. 상기 필터링 수행 여부 정보는 상기 제1 예측 블록에 대해 필터링이 수행되는지 여부를 지시하는 정보이다.
상기 주변 블록은 각각 상기 제1 예측 블록의 한 면에 인접한 좌측 블록, 상단 블록 및 각각 상기 제1 예측 블록에 인접한 좌측 최상단 블록, 우측 최상단 블록, 좌측 최하단 블록 중 적어도 하나일 수 있다.
상기 필터 계수를 산출하는 단계에서는, 상기 주변 블록 내의 일부 영역만을 이용하여 상기 필터 계수를 산출할 수 있다.
상기 주변 블록은, 상기 주변 블록에 대한 주변 예측 블록과 상기 제1 예측 블록 간의 유사도가 소정의 임계값 이상일 수 있다.
상기 필터링 수행 여부 정보는 상기 부호화 장치에서 부호화 대상 블록의 예측 블록에 대한 필터링 수행 전후의 율-왜곡 비용 값의 비교에 의해 생성되고, 상기 부호화 대상 블록의 예측 블록에 대한 필터링 수행 전 율-왜곡 비용 값이 상기 부호화 대상 블록의 예측 블록에 대한 필터링 수행 후 율-왜곡 비용 값보다 작은 경우 필터링을 수행하지 않는 것을 지시하고, 상기 부호화 대상 블록의 예측 블록에 대한 필터링 수행 전 율-왜곡 비용 값이 상기 부호화 대상 블록의 예측 블록에 대한 필터링 수행 후 율-왜곡 비용 값보다 큰 경우 필터링을 수행하는 것을 지시하며, 상기 부호화 장치에서 부호화되어 상기 복호화 장치로 전송되는 정보일 수 있다.
상기 필터링 수행 여부 정보는 상기 복호화 장치에서 상기 주변 블록의 정보에 기초하여 생성되는 정보일 수 있다.
상기 필터링 수행 여부 정보는, 상기 필터 계수를 이용하여 상기 주변 블록에 대해 수행한 필터링 성능을 기초로 생성될 수 있다.
상기 필터링 수행 여부 정보는, 상기 예측 블록과 상기 주변 예측 블록 간의 유사도를 기초로 생성될 수 있다.
상기 방법은 상기 제1 예측 블록에 대해 필터링이 수행되는 경우 상기 제2 예측 블록 및 복원된 잔여 블록(residual block)을 이용하여 복원 블록을 생성하고, 상기 제1 예측 블록에 대해 필터링이 수행되지 않는 경우 상기 제1 예측 블록 및 상기 복원된 잔여 블록을 이용하여 복원 블록을 생성하는 단계를 추가로 포함할 수 있다.
본 발명의 다른 실시 형태는 영상 복호화 장치이다. 상기 장치는 제1 예측 블록의 주변 블록을 기초로 필터 계수를 산출하는 필터 계수 계산부, 부호화 장치 또는 복호화 장치에서 생성되거나, 상기 부호화 장치 또는 상기 복호화 장치에 저장된 필터링 수행 여부 정보가 필터링을 수행하는 것을 지시하는 경우, 상기 필터 계수를 이용하여 상기 제1 예측 블록에 대한 필터링을 수행하여 제2 예측 블록을 생성하는 필터링 수행부 및 상기 제1 예측 블록에 대해 필터링이 수행되는 경우 상기 제2 예측 블록 및 복원된 잔여 블록(residual block)을 이용하여 복원 블록을 생성하고, 상기 제1 예측 블록에 대해 필터링이 수행되지 않는 경우, 상기 제1 예측 블록 및 상기 복원된 잔여 블록을 이용하여 복원 블록을 생성하는 복원 블록 생성부를 포함한다. 상기 필터링 수행 여부 정보는 상기 제1 예측 블록에 대해 필터링이 수행되는지 여부를 지시하는 정보이다.
본 발명의 또 다른 실시 형태는 영상 부호화 방법이다. 상기 방법은 부호화 대상 블록에 대한 제1 예측 블록을 생성하는 단계, 상기 제1 예측 블록의 주변 블록을 기초로 필터 계수를 산출하는 단계 및 부호화 장치에서 생성되거나 부호화 장치에 저장된 필터링 수행 여부 정보가 필터링을 수행하는 것을 지시하는 경우, 상기 필터 계수를 이용하여 상기 제1 예측 블록에 대한 필터링을 수행하여 제2 예측 블록을 생성하는 단계를 포함한다. 상기 필터링 수행 여부 정보는 상기 제1 예측 블록에 대해 필터링이 수행되는지 여부를 지시하는 정보이다.
상기 주변 블록은 각각 상기 제1 예측 블록의 한 면에 인접한 좌측 블록, 상단 블록 및 각각 상기 제1 예측 블록에 인접한 좌측 최상단 블록, 우측 최상단 블록, 좌측 최하단 블록 중 적어도 하나일 수 있다.
상기 필터 계수를 산출하는 단계에서는, 상기 주변 블록 내의 일부 영역만을 이용하여 필터 계수를 산출할 수 있다.
상기 필터링 수행 여부 정보는 항상 필터링을 수행하는 것을 지시할 수 있다.
상기 방법은, 상기 제1 예측 블록에 대한 율-왜곡 비용 값이 상기 제2 예측 블록에 대한 율-왜곡 비용 값보다 작은 경우 상기 제1 예측 블록 및 입력 블록을 이용하여 잔여 블록을 생성하고, 상기 제1 예측 블록에 대한 율-왜곡 비용 값이 상기 제2 예측 블록에 대한 율-왜곡 비용 값보다 큰 경우 상기 제2 예측 블록 및 상기 입력 블록을 이용하여 잔여 블록을 생성하는 단계를 추가로 포함할 수 있다.
상기 필터링 수행 여부 정보는 상기 부호화 장치에서 상기 주변 블록의 정보에 기초하여 생성되는 정보일 수 있다.
상기 필터링 수행 여부 정보는, 상기 필터 계수를 이용하여 상기 주변 블록에 대해 수행한 필터링 성능을 기초로 생성될 수 있다.
상기 필터링 수행 여부 정보는, 상기 예측 블록과 상기 주변 예측 블록 간의 유사도를 기초로 생성될 수 있다.
상기 방법은, 상기 제1 예측 블록에 대해 필터링이 수행되는 경우, 상기 제2 예측 블록 및 입력 블록을 이용하여 잔여 블록을 생성하고, 상기 제1 예측 블록에 대해 필터링이 수행되지 않는 경우, 상기 제1 예측 블록 및 상기 입력 블록을 이용하여 잔여 블록을 생성하는 단계를 추가로 포함할 수 있다.
상기 제1 예측 블록에 대해 필터링이 수행되는 경우 상기 잔여 블록을 생성하는 단계에서는, 상기 제1 예측 블록에 대한 율-왜곡 비용 값이 상기 제2 예측 블록에 대한 율-왜곡 비용 값보다 작은 경우 상기 제1 예측 블록 및 상기 입력 블록을 이용하여 잔여 블록을 생성하고, 상기 제1 예측 블록에 대한 율-왜곡 비용 값이 상기 제2 예측 블록에 대한 율-왜곡 비용 값보다 큰 경우 상기 제2 예측 블록 및 상기 입력 블록을 이용하여 잔여 블록을 생성할 수 있다.
본 발명에 따르면, 예측 영상의 정확도가 높아지고 부호화 성능이 향상된다.
도 1은 본 발명이 적용되는 영상 부호화 장치의 일 실시예에 따른 구성을 나타내는 블록도이다.
도 2는 본 발명이 적용되는 영상 복호화 장치의 일 실시예에 따른 구성을 나타내는 블록도이다.
도 3은 본 발명의 실시예에서 사용되는 영상 및 블록의 개념을 나타내는 개념도이다.
도 4는 본 발명의 일 실시예에 따른 예측 블록 필터링을 이용한 영상 부호화 방법을 개략적으로 나타내는 흐름도이다.
도 5는 필터 계수 계산에 사용되는 주변 블록 선택 방법의 일 실시예를 나타내는 개념도이다.
도 6은 필터 계수 계산에 사용되는 주변 블록 선택 방법의 다른 실시예를 나타내는 흐름도이다.
도 7은 주변 블록에 대한 필터링 성능 판단에 의한 필터링 수행 여부 결정 방법의 일 실시예를 나타내는 흐름도이다.
도 8은 부호화 대상 블록의 예측 블록과 주변 예측 블록의 유사도 판단에 의한 필터링 수행 여부 결정 방법의 일 실시예를 나타내는 흐름도이다.
도 9는 현재 부호화 대상 블록의 예측 블록 화소값 결정 방법의 일 실시예를 나타내는 흐름도이다.
도 10은 현재 부호화 대상 블록의 예측 블록 화소값 결정 방법의 다른 실시예를 나타내는 흐름도이다.
도 11은 영상 부호화 장치에 적용되는 예측 블록 필터링 장치의 일 실시예에 따른 구성을 개략적으로 나타내는 블록도이다.
도 12는 본 발명의 일 실시예에 따른 예측 블록 필터링을 이용한 영상 복호화 방법을 개략적으로 나타내는 흐름도이다.
도 13은 필터 계수 계산에 사용되는 주변 블록 선택 방법의 일 실시예를 나타내는 개념도이다.
도 14는 필터링 수행 여부 정보를 이용한 필터링 수행 여부 결정 방법의 일 실시예를 나타내는 흐름도이다.
도 15는 현재 복호화 대상 블록의 예측 블록 화소값 결정 방법의 일 실시예를 나타내는 흐름도이다.
도 16은 영상 복호화 장치에 적용되는 예측 블록 필터링 장치의 일 실시예에 따른 구성을 개략적으로 나타내는 블록도이다.
이하, 도면을 참조하여 본 발명의 실시 형태에 대하여 구체적으로 설명한다. 본 명세서의 실시예를 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 명세서의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
어떤 구성 요소가 다른 구성 요소에 “연결되어” 있다거나 “접속되어” 있다고 언급된 때에는, 그 다른 구성 요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있으나, 중간에 다른 구성 요소가 존재할 수도 있다고 이해되어야 할 것이다. 아울러, 본 발명에서 특정 구성을 “포함”한다고 기술하는 내용은 해당 구성 이외의 구성을 배제하는 것이 아니며, 추가적인 구성이 본 발명의 실시 또는 본 발명의 기술적 사상의 범위에 포함될 수 있음을 의미한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
또한 본 발명의 실시예에 나타나는 구성부들은 서로 다른 특징적인 기능들을 나타내기 위해 독립적으로 도시되는 것으로, 각 구성부들이 분리된 하드웨어나 하나의 소프트웨어 구성단위로 이루어짐을 의미하지 않는다. 즉, 각 구성부는 설명의 편의상 각각의 구성부로 나열하여 포함한 것으로 각 구성부 중 적어도 두 개의 구성부가 합쳐져 하나의 구성부로 이루어지거나, 하나의 구성부가 복수 개의 구성부로 나뉘어져 기능을 수행할 수 있고 이러한 각 구성부의 통합된 실시예 및 분리된 실시예도 본 발명의 본질에서 벗어나지 않는 한 본 발명의 권리범위에 포함된다.
또한, 일부의 구성 요소는 본 발명에서 본질적인 기능을 수행하는 필수적인 구성 요소는 아니고 단지 성능을 향상시키기 위한 선택적 구성 요소일 수 있다. 본 발명은 단지 성능 향상을 위해 사용되는 구성 요소를 제외한 본 발명의 본질을 구현하는데 필수적인 구성부만을 포함하여 구현될 수 있고, 단지 성능 향상을 위해 사용되는 선택적 구성 요소를 제외한 필수 구성 요소만을 포함한 구조도 본 발명의 권리범위에 포함된다.
도 1은 본 발명이 적용되는 영상 부호화 장치의 일 실시예에 따른 구성을 나타내는 블록도이다.
도 1을 참조하면, 상기 영상 부호화 장치(100)는 움직임 예측부(111), 움직임 보상부(112), 인트라 예측부(120), 스위치(115), 감산기(125), 변환부(130), 양자화부(140), 엔트로피 부호화부(150), 역양자화부(160), 역변환부(170), 가산기(175), 필터부(180) 및 참조영상 버퍼(190)를 포함한다.
영상 부호화 장치(100)는 입력 영상에 대해 인트라(intra) 모드 또는 인터(inter) 모드로 부호화를 수행하고 비트스트림을 출력한다. 인트라 예측은 화면 내 예측, 인터 예측은 화면 간 예측을 의미한다. 인트라 모드인 경우 스위치(115)가 인트라로 전환되고, 인터 모드인 경우 스위치(115)가 인터로 전환된다. 영상 부호화 장치(100)는 입력 영상의 입력 블록에 대한 예측 블록을 생성한 후, 입력 블록과 예측 블록의 차분을 부호화한다.
인트라 모드인 경우, 인트라 예측부(120)는 현재 블록 주변의 이미 부호화된 블록의 화소값을 이용하여 공간적 예측을 수행하여 예측 블록을 생성한다.
인터 모드인 경우, 움직임 예측부(111)는, 움직임 예측 과정에서 참조 영상 버퍼(190)에 저장되어 있는 참조 영상에서 입력 블록과 가장 매치가 잘 되는 영역을 찾아 움직임 벡터를 구한다. 움직임 보상부(112)는 움직임 벡터를 이용하여 움직임 보상을 수행함으로써 예측 블록을 생성한다.
감산기(125)는 입력 블록과 생성된 예측 블록의 차분에 의해 잔여 블록(residual block)을 생성한다. 변환부(130)는 잔여 블록에 대해 변환(transform)을 수행하여 변환 계수(transform coefficient)를 출력한다. 그리고 양자화부(140)는 입력된 변환 계수를 양자화 파라미터에 따라 양자화하여 양자화된 계수(quantized coefficient)를 출력한다. 엔트로피 부호화부(150)는 입력된 양자화된 계수를 확률 분포에 따라 엔트로피 부호화하여 비트스트림(bit stream)을 출력한다.
HEVC는 인터 예측 부호화, 즉 화면 간 예측 부호화를 수행하므로, 현재 부호화된 영상은 참조 영상으로 사용되기 위해 복호화되어 저장될 필요가 있다. 따라서 양자화된 계수는 역양자화부(160)에서 역양자화되고 역변환부(170)에서 역변환된다. 역양자화, 역변환된 계수는 가산기(175)를 통해 예측 블록과 더해지고 복원 블록이 생성된다.
복원 블록은 필터부(180)를 거치고, 필터부(180)는 디블록킹 필터(deblocking filter), SAO(Sample Adaptive Offset), ALF(Adaptive Loop Filter) 중 적어도 하나 이상을 복원 블록 또는 복원 픽쳐에 적용할 수 있다. 필터부(180)는 적응적 인루프(in-loop) 필터로 불릴 수도 있다. 디블록킹 필터는 블록 간의 경계에 생긴 블록 왜곡을 제거할 수 있다. SAO는 코딩 에러를 보상하기 위해 화소값에 적정 오프셋(offset) 값을 더해줄 수 있다. ALF는 복원된 영상과 원래의 영상을 비교한 값을 기초로 필터링을 수행할 수 있으며, 고효율이 적용되는 경우에만 수행될 수도 있다. 필터부(180)를 거친 복원 블록은 참조 영상 버퍼(190)에 저장된다.
도 2는 본 발명이 적용되는 영상 복호화 장치의 일 실시예에 따른 구성을 나타내는 블록도이다.
도 2를 참조하면, 상기 영상 복호화 장치(200)는 엔트로피 복호화부(210), 역양자화부(220), 역변환부(230), 인트라 예측부(240), 움직임 보상부(250), 필터부(260) 및 참조 영상 버퍼(270)를 포함한다.
영상 복호화 장치(200)는 부호화기에서 출력된 비트스트림을 입력 받아 인트라 모드 또는 인터 모드로 복호화를 수행하고 재구성된 영상, 즉 복원 영상을 출력한다. 인트라 모드인 경우 스위치가 인트라로 전환되고, 인터 모드인 경우 스위치가 인터로 전환된다. 영상 복호화 장치(200)는 입력 받은 비트스트림으로부터 잔여 블록(residual block)을 얻고 예측 블록을 생성한 후 잔여 블록과 예측 블록을 더하여 재구성된 블록, 즉 복원 블록을 생성한다.
엔트로피 복호화부(210)는 입력된 비트스트림을 확률 분포에 따라 엔트로피 복호화하여 양자화된 계수(quantized coefficient)를 출력한다. 양자화된 계수는 역양자화부(220)에서 역양자화되고 역변환부(230)에서 역변환되며, 양자화된 계수가 역양자화/역변환 된 결과, 잔여 블록(residual block)이 생성된다.
인트라 모드인 경우, 인트라 예측부(240)는 현재 블록 주변의 이미 부호화된 블록의 화소값을 이용하여 공간적 예측을 수행하여 예측 블록을 생성한다.
인터 모드인 경우, 움직임 보상부(250)는 움직임 벡터 및 참조 영상 버퍼(270)에 저장되어 있는 참조 영상을 이용하여 움직임 보상을 수행함으로써 예측 블록을 생성한다.
잔여 블록과 예측 블록은 가산기(255)를 통해 더해지고, 더해진 블록은 필터부(260)를 거친다. 필터부(260)는 디블록킹 필터, SAO, ALF 중 적어도 하나 이상을 복원 블록 또는 복원 픽쳐에 적용할 수 있다. 필터부(260)는 재구성된 영상, 즉 복원 영상을 출력한다. 복원 영상은 참조 영상 버퍼(270)에 저장되어 화면 간 예측에 사용될 수 있다.
부호화/복호화 장치의 예측 성능을 향상시키기 위한 방법에는 보간(interpolation) 영상의 정확도를 높이는 방법과 차신호를 예측하는 방법이 있다. 여기서 차신호란 원본 영상과 예측 영상과의 차이를 나타내는 신호이다. 본 발명에서 “차신호”는 문맥에 따라 “차분 신호”, “잔여 블록” 또는 “차분 블록”으로 대체되어 사용될 수 있으며, 해당 기술분야에서 통상의 지식을 가진 자는 발명의 사상, 본질에 영향을 주지 않는 범위 내에서 이를 구분할 수 있을 것이다.
보간 영상의 정확도가 높아져도 차신호는 발생할 수 밖에 없다. 따라서 차신호 예측의 성능을 향상시켜 부호화될 차신호를 최대한 줄임으로써 부호화 성능을 향상시킬 필요가 있다.
차신호 예측 방법으로는 고정된 필터 계수를 이용한 필터링 방법이 사용될 수 있다. 그러나, 이러한 필터링 방법은 영상 특성에 따라 적응적으로 필터 계수가 사용될 수 없으므로, 예측 성능에 한계가 있다. 따라서 예측 블록마다 그 특성에 맞게 필터링이 수행되도록 함으로써 예측의 정확도를 향상시킬 필요가 있다.
도 3은 본 발명의 실시예에서 사용되는 영상 및 블록의 개념을 나타내는 개념도이다.
도 3을 참조하면, 부호화 대상 블록은 현재 부호화 대상 영상 내의 공간적으로 연결된 화소들의 집합이다. 부호화 대상 블록은 부호화 및 복호화가 이루어지는 단위이며, 사각형 또는 임의의 모양일 수 있다. 주변 복원 블록은 현재 부호화 대상 영상 내에서 현재 부호화 대상 블록이 부호화되기 이전에 부호화 및 복호화가 완료된 블록이다.
예측 영상은 현재 부호화 대상 영상 내에서, 영상의 첫 번째 부호화 대상 블록에서부터 현재 부호화 대상 블록까지, 각 블록의 부호화에 사용되는 예측 블록을 모아놓은 영상이다. 여기서 예측 블록이란, 현재 부호화 대상 영상 내에서 각 부호화 대상 블록들의 부호화에 사용되는 예측 신호를 가지는 블록을 말한다. 즉, 예측 블록은 예측 영상 내에 있는 각각의 블록을 말한다.
주변 블록은 현재 부호화 대상 블록의 주변 복원 블록 및 각 주변 복원 블록의 예측 블록인 주변 예측 블록을 의미한다. 즉, 주변 블록은 주변 복원 블록과 주변 예측 블록을 함께 지칭한다. 주변 블록은 본 발명 실시예의 필터 계수 계산에 사용되는 블록들이다.
현재 부호화 대상 블록의 예측 블록(B)은 본 발명의 실시예에 따라 필터링되어 필터링된 블록(B’)이 될 수 있으며, 구체적인 실시예는 아래에서 각각의 도면을 통해 설명된다.
이하, 부호화 대상 블록, 주변 복원 블록, 예측 영상, 예측 블록 및 주변 블록은 상기 도 3에서 정의한 바와 같은 의미로 사용된다.
도 4는 본 발명의 일 실시예에 따른 예측 블록 필터링을 이용한 영상 부호화 방법을 개략적으로 나타내는 흐름도이다. 영상을 부호화함에 있어 현재 부호화 대상 블록의 예측 블록에 대한 필터링이 이용될 수 있으며, 본 발명의 실시예에서는 예측 블록 필터링을 이용하여 영상 부호화가 수행된다.
예측 블록 필터링에 있어 현재 부호화 대상 블록의 예측 블록, 현재 부호화 대상 블록의 원 블록 또는 주변 블록이 사용될 수 있다. 여기서 원 블록이란 현재 부호화 대상 영상 내에서, 부호화 과정을 거치지 않은 입력된 그대로의 블록을 의미한다.
현재 부호화 대상 블록의 예측 블록은 도 1의 실시예에 따라 움직임 보상부(112) 또는 인트라 예측부(120)에서 생성된 예측 블록일 수 있다. 이 경우, 움직임 보상부(112) 또는 인트라 예측부(120)에서 생성된 예측 블록에 대한 예측 블록 필터링 과정이 수행된 후, 감산기(125)는 필터링된 최종 예측 블록과 원 블록의 차분을 수행할 수 있다.
주변 블록은 도 1의 실시예에서의 참조 영상 버퍼(190) 또는 별도의 메모리에 저장된 블록일 수 있다. 또한 영상 부호화 과정에서 생성된 주변 복원 블록 또는 주변 예측 블록이 그대로 주변 블록으로 사용될 수도 있다.
도 4를 참조하면, 부호화 장치는 필터 계수 계산에 사용되는 주변 블록들을 선택한다(S410). 필터 계수의 계산에는 주변 블록이 사용될 수 있고, 이 경우 주변 블록 중 어느 블록이 사용되는지 판단될 수 있다.
일례로 부호화 대상 블록에 인접한 모든 주변 복원 블록들 및 그 주변 복원 블록들에 해당하는 모든 주변 예측 블록들이, 필터 계수 계산을 위한 주변 블록으로 선택될 수 있으며 부호화에 사용될 수 있다. 필터 계수 계산에 사용되는 주변 블록들의 화소값들의 집합은 다양하게 선택될 수 있다.
도 5는 필터 계수 계산에 사용되는 주변 블록 선택 방법의 일 실시예를 나타내는 개념도이다. 도 5를 참조하면, 상단(510)의 경우와 같이, 인접한 주변 블록들의 모든 화소값 영역이 필터 계수 계산에 사용될 수 있다. 그러나, 하단(520)의 경우와 같이, 인접한 주변 블록 내에서 일부의 화소값 영역만이 필터 계수 계산에 사용될 수도 있다.
일 실시예로, 현재 부호화 대상 블록의 가장 좌측 상단 화소의 좌표는 (x, y), 현재 부호화 대상 블록의 폭과 높이는 각각 W, H라 가정한다. 예를 들어, 이 때 현재 부호화 대상 블록의 가장 우측 상단 화소의 좌표는 (x+W-1,y)이다. x축을 따라 우측 방향이 양의 방향, y축을 따라 아래 방향이 양의 방향이라 가정한다. 이 때, 인접한 주변 블록에는 (x ~ x+W-1, y-1) 좌표의 화소 중 적어도 하나의 화소를 포함하는 상단 블록, (x-1, y ~ y+H-1) 좌표의 화소 중 적어도 하나의 화소를 포함하는 좌측 블록, (x-1, y-1)의 좌표의 화소를 포함하는 좌측 상단 블록, (x+W, y-1)의 좌표의 화소를 포함하는 우측 상단 블록 및 (x-1, y+H)의 좌표의 화소를 포함하는 좌측 하단 블록이 있을 수 있다. 이 때 상단 블록 및 좌측 블록은 예측 블록의 한 면에 인접하는 블록이고, 좌측 상단 블록은 예측 블록에 인접한 좌측 최상단 블록이고, 우측 상단 블록은 예측 블록에 인접한 우측 최상단 블록이며, 좌측 하단 블록은 예측 블록에 인접한 좌측 최하단 블록이다.
이 경우 상기 주변 블록들 중 적어도 하나의 블록이 필터 계수 계산에 사용될 수 있고, 모든 주변 블록들이 필터 계수 계산에 사용될 수도 있다. 또한 상단 블록, 좌측 블록, 좌측 상단 블록, 우측 상단 블록 및 좌측 하단 블록 내에서 각각 일부의 화소값 영역만이 필터 계수 계산에 사용될 수도 있다.
다른 예로 가능한 주변 블록들 중 현재 부호화 대상 블록의 예측 블록과 연관이 있는 주변 예측 블록들과 해당 주변 복원 블록들만이 사용될 수 있다.
도 6은 필터 계수 계산에 사용되는 주변 블록 선택 방법의 다른 실시예를 나타내는 흐름도이다. 도 6의 실시예에서는 부호화 대상 블록의 예측 블록과 주변 예측 블록들간의 유사도가 판별되어, 필터 계수 계산에 사용될 주변 블록이 선택된다.
도 6을 참조하면, 부호화 장치는 부호화 대상 블록의 예측 블록과 주변 예측 블록의 유사도를 판단한다(S610).
유사도 D는 부호화 대상 블록의 예측 블록과 주변 예측 블록의 화소간의 차이, 예를 들어 SAD(Sum of Absolute Difference), SATD(Sum of Absolute Transformed Difference), SSD(Sum of Squared Difference) 등에 의해 판별될 수 있다. 예를 들어 SAD가 사용되는 경우, 유사도 D는 아래의 수학식 1과 같이 표현될 수 있다.
<수학식 1>
Figure 112011076611388-pat00001
여기서, Pci는 부호화 대상 블록의 예측 블록의 화소 집합, Pni는 주변 예측 블록의 화소 집합을 의미한다.
유사도 D는 부호화 대상 블록의 예측 블록과 주변 예측 블록의 화소간의 상관 관계에 의해서도 판단될 수 있다. 이 때, 유사도 D는 아래의 수학식 2와 같이 표현될 수 있다.
<수학식 2>
Figure 112011076611388-pat00002
여기서 Pci는 부호화 대상 블록의 예측 블록의 화소 집합, Pni는 주변 예측 블록의 화소 집합, E[Pc]는 부호화 대상 블록의 예측 블록의 화소 집합의 평균, E[Pn]는 주변 예측 블록의 화소 집합의 평균을 의미한다. 그리고 SPc는 부호화 대상 블록의 예측 블록의 화소 집합의 표준편차, SPn은 주변 예측 블록의 화소 집합의 표준편차를 의미한다.
그리고, 부호화 장치는 유사도가 임계값 이상인지를 판단한다(S620). 여기서 임계값은 실험을 통해 결정될 수 있고, 유사도와 결정된 임계값이 비교된다.
부호화 대상 블록의 예측 블록과 주변 예측 블록간의 유사도가 임계값 이상이면, 그 주변 블록은 필터 계수 계산에 사용된다(S630). 부호화 대상 블록의 예측 블록과 주변 예측 블록간의 유사도가 임계값 미만이면 그 주변 블록은 필터 계수 계산에 사용되지 않는다(S640).
상기와 같이 필터 계수를 구하는데 사용되는 주변 블록을 선택하는데 있어, 모든 주변 블록을 선택하는 방법 또는 현재 부호화 대상 블록의 예측 블록과의 유사도에 따라 주변 블록을 선택하는 방법 중 적어도 하나 이상의 방법이 이용됨으로써, 차신호를 줄일 수 있는 보다 정확한 필터 계수가 구해질 수 있다.
복호화 장치도 도 6의 실시예와 동일한 방법을 이용하여 주변 블록을 선택할 수 있으므로, 부호화 장치는 선택된 주변 블록들에 대한 정보를 별도로 복호화 장치로 보낼 필요가 없다. 따라서 추가되는 부호화 정보가 최소화될 수 있다.
다시 도 4를 참조하면, 부호화 장치는 선택된 주변 복원 블록들과 주변 예측 블록들을 이용하여 필터 계수를 계산한다(S420).
일례로, 부호화 대상 블록에 대해 선택된 주변 복원 블록과 해당 주변 예측 블록간의 MSE(Mean Square Error)가 최소화되는 필터 계수가 선택될 수 있다. 이 때, 필터 계수는 아래의 수학식 3에 의해 구해질 수 있다.
<수학식 3>
Figure 112011076611388-pat00003
여기서 rk는 선택된 주변 블록의 주변 복원 블록 화소값을 나타내고, pi는 선택된 주변 블록의 주변 예측 블록 화소값을 나타낸다. 또한 ci는 필터 계수를 나타내며, s는 필터 계수의 집합을 나타낸다.
본 발명의 실시예에 따르면, 부호화 대상 블록의 주변 복원 블록과 해당 예측 블록 간의 MSE를 최소화시키는 필터 계수가 매 예측 블록마다 계산되어 사용된다. 따라서 모든 예측 블록에 고정된 필터 계수가 사용되지 않고, 블록 각각의 영상 특성에 따른 각각 다른 필터 계수가 사용된다. 즉, 예측 블록에 따라 적응적으로 필터 계수가 구해지고 사용될 수 있다. 따라서 예측 블록의 정확도가 보다 향상될 수 있으며, 차신호가 감소되어 부호화 성능이 향상될 수 있다.
필터 계수는 1D(1차원) 분리형 필터를 사용하여 구해질 수 있으며, 2D(2차원) 비분리형 필터를 사용하여 구해질 수도 있다.
복호화 장치는 부호화 장치와 동일한 방법으로 필터 계수를 구할 수 있으므로, 부호화 장치는 필터 계수 정보를 별도로 부호화하여 전송할 필요가 없다. 따라서 추가되는 부호화 정보가 최소화될 수 있다.
다시 도 4를 참조하면, 부호화 장치는 현재 부호화 대상 블록의 예측 블록에 대한 필터링 수행 여부를 결정한다(S430). 필터링이 수행되는 것으로 결정되면 예측 블록에 대한 필터링이 수행되고, 필터링이 수행되지 않는 것으로 결정되면 예측 블록에 대한 필터링이 수행되지 않고 다음 단계가 진행될 수 있다.
필터링 수행 여부 결정의 일 실시예로, 항상 현재 부호화 대상 블록의 예측 블록에 대해 필터링을 수행한다는 결정이 내려질 수 있다. 이는, 필터링된 예측 블록과 필터링되지 않은 예측 블록의 율-왜곡 비용 비교를 통해, 잔여 블록 계산에 사용되는 예측 블록의 화소값을 결정하기 위함이다. 잔여 블록(residual block)은 원 블록과 예측 블록의 차분에 의해 생성되는 블록이며, 원 블록이란 현재 부호화 대상 영상 내에서, 부호화 과정을 거치지 않은 입력된 그대로의 블록을 의미한다.
즉, 현재 부호화 대상 블록의 예측 블록 화소값을 율-왜곡 비용 비교를 통해 결정하기 위해, 항상 현재 부호화 대상 블록의 예측 블록에 대해 필터링을 수행하도록 결정이 내려질 수 있다. 율-왜곡 비용 비교를 통한 화소값 결정 방법은 도 9에서 상세히 설명된다.
필터링 수행 여부 결정의 다른 실시예로, 현재 부호화 대상 블록의 예측 블록과 주변 블록간의 특성 정보를 이용하여, 현재 부호화 대상 블록의 예측 블록에 대한 필터링 수행 여부가 결정될 수 있다. 이는 아래의 도 7, 도 8의 실시예에서 상세히 설명된다.
도 7은 주변 블록에 대한 필터링 성능 판단에 의한 필터링 수행 여부 결정 방법의 일 실시예를 나타내는 흐름도이다.
도 7을 참조하면, 부호화 장치는 필터 계수를 이용하여 주변 예측 블록 각각을 필터링한다(S710). 예를 들어 주변 블록 A, B, C, D가 선택된 경우, 필터 계수 계산 단계에서 얻은 필터 계수를 이용하여 주변 블록 A, B, C, D의 예측 블록 각각이 필터링된다.
그리고 부호화 장치는 각 주변 블록에 대한 필터링 성능을 판단한다(S720).
일례로 각 주변 블록에 대해, 필터링이 수행되지 않은 주변 예측 블록과 주변 복원 블록의 오차 및 필터링이 수행된 주변 예측 블록과 주변 복원 블록의 오차가 비교될 수 있다. 각 오차는 SAD, SATD, SSD를 이용하여 계산될 수 있다.
주변 예측 블록에 대해 필터링이 수행된 경우와 수행되지 않은 경우를 비교하여, 더 작은 오차가 발생하는 경우에 성능이 우수한 것으로 판단될 수 있다. 즉, 필터링이 수행되지 않은 주변 예측 블록과 주변 복원 블록의 오차보다, 필터링이 수행된 주변 예측 블록과 주변 복원 블록의 오차가 더 작으면, 필터링 효과가 있는 것으로 판단될 수 있다.
부호화 장치는 각 주변 예측 블록에 필터링이 수행된 경우와 수행되지 않은 경우의 오차를 비교하여 필터링 효과가 나타나는 주변 블록이 N개 이상인지 판단한다(S730).
필터링 효과가 나타나는 주변 블록이 N개 이상인 경우 필터링이 수행되는 것으로 결정되고(S740), 필터링 효과가 나타나는 주변 블록이 N개 미만인 경우 필터링이 수행되지 않는 것으로 결정된다(S750). 여기서 N 값으로 실험을 통해 결정된 값이 사용될 수 있다.
도 8은 부호화 대상 블록의 예측 블록과 주변 예측 블록의 유사도 판단에 의한 필터링 수행 여부 결정 방법의 일 실시예를 나타내는 흐름도이다.
도 8을 참조하면, 부호화 장치는 부호화 대상 블록의 예측 블록과 주변 예측 블록의 유사도를 판단한다(S810).
유사도는 부호화 대상 블록의 예측 블록과 주변 블록의 화소 간 SAD, SATD, SSD 등에 의해 판단될 수 있다. 예를 들어 SAD를 이용한 유사도 판단은 다음 수학식 4에 의해 표현될 수 있다.
<수학식 4>
Figure 112011076611388-pat00004
여기서, Pci는 부호화 대상 블록의 예측 블록의 화소 집합, Pni는 주변 예측 블록의 화소 집합을 의미한다.
유사도는 부호화 대상 블록의 예측 블록과 주변 예측 블록의 화소간의 상관 관계에 의해서도 판단될 수 있다.
유사도가 판단되면, 부호화 장치는 유사도가 임계값 이상인 주변 블록이 K개 이상인지 판단한다(S820). 그리고 유사도가 임계값 이상인 주변 블록이 K개 이상인 경우 필터링이 수행되는 것으로 결정되고(S830), 유사도가 임계값 이상인 주변 블록이 K개 미만인 경우 필터링이 수행되지 않는 것으로 결정된다(S840). 여기서, 임계값 및 K 값으로서 실험을 통해 결정된 값이 사용될 수 있다.
각 현재 부호화 대상 블록의 예측 블록마다 도 7 및 도 8의 실시예에 따른 방법 중 적어도 하나 이상의 방법이 사용되어 필터링 수행 여부가 결정될 수 있다. 따라서 각 예측 블록마다 유사도 또는 주변 예측 블록의 필터링 성능이 판단되어 필터링 수행 여부가 적응적으로 결정될 수 있으므로, 부호화 성능이 향상될 수 있다.
현재 부호화 대상 블록의 예측 블록과 주변 블록간의 특성 정보를 이용한 필터링 수행 여부 결정은 복호화 장치에서도 동일하게 수행될 수 있다. 따라서, 부호화 장치는 필터링 수행 여부에 관한 정보를 별도로 부호화하여 전송할 필요가 없으며, 따라서 추가되는 부호화 정보가 최소화될 수 있다.
다시 도 4를 참조하면, 부호화 장치는 현재 부호화 대상 블록의 예측 블록에 대해 필터링을 수행한다(S440). 다만, 예측 블록에 대한 필터링은, 필터링 수행 여부 결정 단계(S430)에서 필터링이 수행되는 것으로 결정된 경우에 수행된다.
현재 부호화 대상 블록의 예측 블록은 필터 계수 계산 단계에서 계산된 필터 계수를 이용하여 필터링될 수 있다. 예측 블록에 대한 필터링은 아래의 수학식 5에 의해 나타내어질 수 있다.
<수학식 5>
Figure 112011076611388-pat00005
여기서, pi’은 부호화 대상 블록의 필터링된 예측 블록의 화소값, pi는 부호화 대상 블록의 필터링 전 예측 블록의 화소값, ci는 필터 계수, s는 필터 계수의 집합을 의미한다.
그리고 부호화 장치는 현재 부호화 대상 블록의 예측 블록의 화소값을 결정한다(S450). 상기 화소값은 잔여 블록의 계산에 사용될 수 있으며, 잔여 블록은 원 블록과 예측 블록의 차분에 의해 생성되는 블록이다. 화소값 결정 방법은 아래의 도 9 및 도 10의 실시예를 통해 상세히 설명된다.
도 9는 현재 부호화 대상 블록의 예측 블록 화소값 결정 방법의 일 실시예를 나타내는 흐름도이다. 도 9에 따르면, 필터링 전 예측 블록과 필터링된 예측 블록간의 율-왜곡 비용 값을 비교함으로써 화소값이 결정될 수 있다.
도 9를 참조하면, 부호화 장치는 현재 부호화 대상 블록의 필터링된 예측 블록에 대한 율-왜곡 비용 값을 계산한다(S910). 율-왜곡 비용의 계산은 아래의 수학식 6에 의해 표현될 수 있다.
<수학식 6>
Figure 112011076611388-pat00006
여기서, Jf는 현재 부호화 대상 블록의 필터링된 예측 블록에 대한 율-왜곡(비트율-왜곡) 비용 값, Df는 원 블록과 필터링된 예측 블록간의 오차, λ는 라그랑지안(Lagrangian) 계수, Rf는 부호화 후 발생되는 비트수(필터링 여부에 대한 플래그(flag) 포함)를 의미한다.
그리고 현재 부호화 대상 블록의 필터링되지 않은 예측 블록에 대한 율-왜곡 비용 값을 계산한다(S920). 율-왜곡 비용의 계산은 아래의 수학식 7에 의해 표현될 수 있다.
<수학식 7>
Figure 112011076611388-pat00007
여기서, Jnf는 현재 부호화 대상 블록의 필터링된 예측 블록에 대한 율-왜곡(비트율-왜곡) 비용 값, Dnf는 원 블록과 필터링되지 않은 예측 블록간의 오차, λ는 라그랑지안(Lagrangian) 계수, Rnf는 부호화 후 발생되는 비트수(필터링 여부에 대한 플래그(flag) 포함)를 의미한다.
율-왜곡 비용 값들이 구해지면, 부호화 장치는 상기 율-왜곡 비용 값들을 비교한다(S930). 그리고 부호화 장치는 비교 결과를 기초로 현재 부호화 대상 블록의 최종 예측 블록에 대한 화소값을 결정한다(S940). 이 때, 최소 율-왜곡 비용 값을 갖는 경우의 화소값이 최종 예측 블록에 대한 화소값으로 결정될 수 있다.
도 4의 필터링 수행 여부 결정 단계(S430)에서 상술된 바와 같이, 율-왜곡 비용 값의 비교에 의해 최종 예측 블록의 화소값이 결정되는 경우에는 율-왜곡 값 계산을 위해 항상 필터링이 수행될 수 있다. 그러나, 율-왜곡 비용 비교 결과에 따라, 필터링된 예측 블록의 화소값 뿐만 아니라 필터링 전 예측 블록의 화소값도 최종 예측 블록에 대한 화소값으로 결정될 수 있다.
도 9의 화소값 결정 방법에서 부호화 장치는 복호화 장치에 필터링 수행 여부를 알려주는 정보를 전송하여야 한다. 즉, 필터링 전 예측 블록의 화소값이 사용되는지 필터링된 예측 블록의 화소값이 사용되는지에 관한 정보가 복호화기에 전송된다. 복호화 장치는 원 블록에 관한 정보를 가지고 있지 않으므로, 율-왜곡 비용 비교에 의한 화소값 결정 과정이 복호화 장치에서는 동일하게 수행될 수 없기 때문이다.
도 10은 현재 부호화 대상 블록의 예측 블록 화소값 결정 방법의 다른 실시예를 나타내는 흐름도이다.
도 10의 실시예에서는, 현재 부호화 대상 블록의 예측 블록과 주변 블록간의 특성 정보에 기초한 필터링 수행 여부 결정을 이용하여 최종 예측 블록의 화소값이 선택된다. 현재 부호화 대상 블록의 예측 블록과 주변 블록간의 특성 정보를 이용한 필터링 수행 여부 결정 방법은 도7 및 도 8에서 상술한 바 있다.
도 10을 참조하면, 부호화 장치는 현재 부호화 대상 블록의 예측 블록에 필터링이 수행되는 경우인지를 판단한다(S1010). 필터링 수행 여부에 관한 정보는 현재 부호화 대상 블록의 예측 블록과 주변 블록간의 특성 정보에 따라 결정된 정보이다.
예측 블록에 대해 필터링이 수행되는 경우, 필터링된 예측 블록의 화소값이 최종 예측 블록에 대한 화소값으로 결정된다(S1020). 예측 블록에 대해 필터링이 수행되지 않는 경우, 필터링되지 않은 예측 블록의 화소값이 최종 예측 블록에 대한 화소값으로 결정된다(S1030).
현재 부호화 대상 블록의 예측 블록과 주변 블록간의 특성 정보를 이용한 필터링 수행 여부 결정은 복호화 장치에서도 동일하게 수행될 수 있다. 따라서, 부호화 장치는 필터링 수행 여부에 관한 정보를 별도로 부호화하여 전송할 필요가 없다.
최종 예측 블록의 화소값을 결정함에 있어, 도 9 및 도 10의 실시예에 따른 방법 중 적어도 하나 이상의 방법이 사용될 수 있다. 도 10의 실시예에서, 현재 부호화 대상 블록의 예측 블록과 주변 블록간의 특성 정보에 따라 예측 블록에 대해 필터링이 수행된 경우, 추가적으로 도 9의 실시예에 의해 최종 예측 블록의 화소값이 결정될 수 있다. 이 경우, 도 9의 실시예에서 상술한 바와 같이, 부호화 장치는 복호화 장치에 필터링 수행 여부를 알려주는 정보를 전송하여야 한다.
부호화 장치는 원 블록과 화소값이 결정된 최종 예측 블록을 이용하여 잔여 블록을 생성할 수 있다(S460). 일례로 최종 예측 블록과 원 블록의 차분에 의해 잔여 블록이 생성될 수 있다. 상기 잔여 블록은 부호화되어 복호화 장치로 전송될 수 있다. 본 발명이 도 1의 실시예에 따른 영상 부호화 장치에 적용되는 경우, 감산기(125)는 최종 예측 블록과 원 블록의 차분에 의해 잔여 블록을 생성할 수 있고, 잔여 블록은 변환부(130), 양자화부(140) 및 엔트로피 부호화부(150)를 거쳐 부호화될 수 있다.
도 11은 영상 부호화 장치에 적용되는 예측 블록 필터링 장치의 일 실시예에 따른 구성을 개략적으로 나타내는 블록도이다. 도 11의 실시예에서, 상기 도 4 내지 도 10에서 상술된 것과 실질적으로 동일한 구성요소 또는 방법에 대한 구체적인 설명은 생략한다.
도 11을 참조하면, 도 11은 예측 블록 필터링 장치(1110) 및 잔여 블록 생성부(1120)를 포함한다. 예측 블록 필터링 장치(1110)는 주변 블록 선택부(1111), 필터 계수 계산부(1113), 필터링 수행 여부 결정부(1115), 필터링 수행부(1117) 및 화소값 결정부(1119)를 포함할 수 있다.
예측 블록 필터링 장치(1110)는 예측 블록 필터링을 수행함에 있어 현재 부호화 대상 블록의 예측 블록, 현재 부호화 대상 블록의 원 블록 또는 주변 블록을 사용할 수 있다.
현재 부호화 대상 블록의 예측 블록은 도 1의 실시예에 따라 움직임 보상부(112) 또는 인트라 예측부(120)에서 생성된 예측 블록일 수 있다. 이 경우 감산기(125)에는 상기 생성된 예측 블록이 바로 입력되지 않고 예측 블록 필터링 장치(1110)를 통해 필터링된 최종 예측 블록이 입력될 수 있다. 따라서, 감산기(125)는 필터링된 최종 예측 블록과 원 블록의 차분을 수행할 수 있다.
주변 블록은 도 1의 실시예에서의 참조 영상 버퍼(190) 또는 별도의 메모리에 저장된 블록일 수 있다. 또한 영상 부호화 과정에서 생성된 주변 복원 블록 또는 주변 예측 블록이 그대로 주변 블록으로 사용될 수도 있다.
주변 블록 선택부(1111)는 필터 계수 계산에 사용되는 주변 블록들을 선택할 수 있다.
일 실시예로 주변 블록 선택부(1111)는 부호화 대상 블록에 인접한 모든 주변 복원 블록들 및 해당 예측 블록들을 필터 계수 계산을 위한 주변 블록으로 선택할 수 있다. 이 때, 주변 블록 선택부(1111)는 인접한 주변 블록들의 모든 화소값 영역을 선택할 수 있고, 또는 인접한 주변 블록 내에서 일부의 화소값 영역만을 선택할 수도 있다.
다른 실시예로 주변 블록 선택부(1111)는 가능한 주변 블록들 중 현재 부호화 대상 블록의 예측 블록과 연관이 있는 주변 예측 블록들과 해당 주변 복원 블록들만을 선택할 수 있다. 예를 들어 주변 블록 선택부(1111)는 부호화 대상 블록의 예측 블록과 주변 예측 블록의 유사도를 판단한 후, 유사도를 이용하여 필터 계수 계산에 사용되는 주변 블록을 선택할 수 있다.
필터 계수 계산부(1113)는 선택된 주변 복원 블록들과 주변 예측 블록들을 이용하여 필터 계수를 계산할 수 있다. 일례로, 필터 계수 계산부(1113)는 부호화 대상 블록에 대해 선택된 주변 복원 블록과 해당 주변 예측 블록간의 MSE가 최소화되는 필터 계수를 선택할 수 있다.
필터링 수행 여부 결정부(1115)는 현재 부호화 대상 블록의 예측 블록에 대한 필터링 수행 여부를 결정할 수 있다.
일 실시예로, 필터링 수행 여부 결정부(1115)는 항상 현재 부호화 대상 블록의 예측 블록에 대해 필터링을 수행한다는 결정을 할 수 있다. 이는, 필터링된 예측 블록과 필터링되지 않은 예측 블록의 율-왜곡 비용 비교를 통해, 잔여 블록 계산에 사용되는 예측 블록의 화소값을 결정하기 위함이다.
다른 실시예로, 필터링 수행 여부 결정부(1115)는 현재 부호화 대상 블록의 예측 블록과 주변 블록간의 특성 정보를 이용하여, 현재 부호화 대상 블록의 예측 블록에 대한 필터링 수행 여부를 결정할 수 있다. 일례로, 필터링 수행 여부 결정부(1115)는 주변 블록에 대한 필터링 성능 판단에 의해 필터링 수행 여부를 결정할 수 있다. 다른 예로, 부호화 대상 블록의 예측 블록과 주변 예측 블록의 유사도 판단에 의해 필터링 수행 여부를 결정할 수도 있다.
필터링 수행부(1117)는 현재 부호화 대상 블록의 예측 블록에 대해 필터링을 수행할 수 있다. 이 때, 필터링 수행부(1117)는 필터 계수 계산부(1113)에 의해 계산된 필터 계수를 이용하여 필터링을 수행할 수 있다.
화소값 결정부(1119)는 현재 부호화 대상 블록의 예측 블록의 화소값을 결정할 수 있다.
일 실시예로, 화소값 결정부(1119)는 필터링 전 예측 블록과 필터링된 예측 블록간의 율-왜곡 비용 값을 비교함으로써 화소값을 결정할 수 있다. 다른 실시예로, 화소값 결정부(1119)는 현재 부호화 대상 블록의 예측 블록과 주변 블록간의 특성 정보에 기초한 필터링 수행 여부 결정 결과를 이용하여 최종 예측 블록의 화소값을 결정할 수 있다.
잔여 블록 생성부(1120)는 결정된 최종 예측 블록과 현재 부호화 대상 블록의 원 블록을 이용하여 잔여 블록을 생성할 수 있다. 일례로 잔여 블록 생성부(1120)는 최종 예측 블록과 원 블록의 차분에 의해 잔여 블록을 생성할 수 있다. 잔여 블록 생성부(1120)는 도 1의 실시예에서의 감산기(125)에 대응될 수 있다.
본 발명의 실시예에 따른 영상 부호화 장치 및 방법에서는, 고정된 필터 계수가 아닌, 각 부호화 대상 블록의 예측 블록마다 적응적으로 구해진 필터 계수가 사용된다. 또한 각 부호화 대상 블록의 예측 블록에 대해 필터링 수행 여부가 적응적으로 선택될 수 있다. 따라서 예측 영상의 정확도가 높아지고 그 결과 차신호가 최소화되어, 부호화 성능이 향상된다.
필터 계수 계산은 복호화 장치에서도 동일하게 수행될 수 있으므로 부호화 정보가 최소화될 수 있다. 필터링 수행 여부에 관한 정보는 부호화되어 복호화 장치에 전송될 수 있고, 또는 복호화 장치가 주변 블록과의 관계를 이용하여 필터링 수행 여부를 판단할 수도 있다.
도 12는 본 발명의 일 실시예에 따른 예측 블록 필터링을 이용한 영상 복호화 방법을 개략적으로 나타내는 흐름도이다. 영상을 복호화함에 있어 현재 복호화 대상 블록의 예측 블록에 대한 필터링이 이용될 수 있으며, 본 발명의 실시예에서는 예측 블록 필터링을 이용하여 영상 복호화가 수행된다.
예측 블록 필터링에 있어 현재 복호화 대상 블록의 예측 블록 또는 주변 블록이 사용될 수 있다.
현재 복호화 대상 블록의 예측 블록은 도 2의 실시예에 따라 인트라 예측부(240) 또는 움직임 보상부(250)에서 생성된 예측 블록일 수 있다. 이 경우, 인트라 예측부(240) 또는 움직임 보상부(250)에서 생성된 예측 블록에 대한 예측 블록 필터링 과정이 수행된 후, 가산기(255)는 필터링된 최종 예측 블록에 복원된 잔여 블록을 더할 수 있다.
주변 블록은 도 2의 실시예에서의 참조 영상 버퍼(270) 또는 별도의 메모리에 저장된 블록일 수 있다. 또한 영상 복호화 과정에서 생성된 주변 복원 블록 또는 주변 예측 블록이 그대로 주변 블록으로 사용될 수도 있다.
이하, 도 12 내지 도 15의 실시예에 따른 영상 복호화 방법을 설명함에 있어, 상기 도 4 내지 도 10의 실시예에 따른 영상 부호화 방법에서 상술된 내용과 실질적으로 동일한 구성요소, 방법 및 효과에 대한 구체적인 설명은 생략한다.
도 12를 참조하면, 복호화 장치는 필터 계수 계산에 사용되는 주변 블록들을 선택한다(S1210). 필터 계수의 계산에는 주변 블록이 사용될 수 있고, 이 경우 주변 블록 중 어느 블록이 사용되는지 판단될 수 있다.
일례로 복호화 대상 블록에 인접한 모든 주변 복원 블록들 및 그 주변 복원 블록들에 해당하는 모든 주변 예측 블록들이, 필터 계수 계산을 위한 주변 블록으로 선택될 수 있으며 복호화에 사용될 수 있다. 필터 계수 계산에 사용되는 주변 블록들의 화소값들의 집합은 다양하게 선택될 수 있다.
도 13은 필터 계수 계산에 사용되는 주변 블록 선택 방법의 일 실시예를 나타내는 개념도이다. 도 13을 참조하면, 상단(1310)의 경우와 같이, 인접한 주변 블록들의 모든 화소값 영역이 필터 계수 계산에 사용될 수 있다. 그러나, 하단(1320)의 경우와 같이, 인접한 주변 블록 내에서 일부의 화소값 영역만이 필터 계수 계산에 사용될 수도 있다.
다른 예로 가능한 주변 블록들 중 현재 복호화 대상 블록의 예측 블록과 연관이 있는 주변 예측 블록들과 해당 주변 복원 블록들만이 사용될 수 있다.
예를 들어, 복호화 대상 블록의 예측 블록과 주변 예측 블록들간의 유사도 판별에 의해, 필터 계수 계산에 사용될 주변 블록이 선택될 수 있다.
유사도 D는 복호화 대상 블록의 예측 블록과 주변 예측 블록의 화소간의 차이, 예를 들어 SAD, SATD, SSD 등에 의해 판별될 수 있다. 예를 들어 SAD가 사용되는 경우, 유사도 D는 아래의 수학식 8과 같이 표현될 수 있다.
<수학식 8>
Figure 112011076611388-pat00008
여기서, Pci는 복호화 대상 블록의 예측 블록의 화소 집합, Pni는 주변 예측 블록의 화소 집합을 의미한다.
유사도 D는 복호화 대상 블록의 예측 블록과 주변 예측 블록의 화소간의 상관 관계에 의해서도 판단될 수 있다. 이 때, 유사도 D는 아래의 수학식 9와 같이 표현될 수 있다.
<수학식 9>
Figure 112011076611388-pat00009
여기서 Pci는 복호화 대상 블록의 예측 블록의 화소 집합, Pni는 주변 예측 블록의 화소 집합, E[Pc]는 복호화 대상 블록의 예측 블록의 화소 집합의 평균, E[Pn]는 주변 예측 블록의 화소 집합의 평균을 의미한다. 그리고 SPc는 복호화 대상 블록의 예측 블록의 화소 집합의 표준편차, SPn은 주변 예측 블록의 화소 집합의 표준편차를 의미한다.
유사도가 임계값 이상이면, 그 주변 블록은 필터 계수 계산에 사용될 수 있다. 여기서 여기서 임계값은 실험을 통해 결정될 수 있다.
다시 도 12를 참조하면, 복호화 장치는 선택된 주변 복원 블록들과 주변 예측 블록들을 이용하여 필터 계수를 계산한다(S1220).
일례로, 복호화 대상 블록에 대해 선택된 주변 복원 블록과 해당 주변 예측 블록간의 MSE(Mean Square Error)가 최소화되는 필터 계수가 선택될 수 있다. 이 때, 필터 계수는 아래의 수학식 10에 의해 구해질 수 있다.
<수학식 10>
Figure 112011076611388-pat00010
여기서 rk는 선택된 주변 블록의 주변 복원 블록 화소값을 나타내고, pi는 선택된 주변 블록의 주변 예측 블록 화소값을 나타낸다. 또한 ci는 필터 계수를 나타내며, s는 필터 계수의 집합을 나타낸다.
필터 계수는 1D(1차원) 분리형 필터를 사용하여 구해질 수 있으며, 2D(2차원) 비분리형 필터를 사용하여 구해질 수도 있다.
다시 도 12를 참조하면, 복호화 장치는 현재 복호화 대상 블록의 예측 블록에 대한 필터링 수행 여부를 결정한다(S1230). 필터링이 수행되는 것으로 결정되면 예측 블록에 대한 필터링이 수행되고, 필터링이 수행되지 않는 것으로 결정되면 예측 블록에 대한 필터링이 수행되지 않고 다음 단계가 진행될 수 있다.
필터링 수행 여부 결정의 일 실시예로, 필터링 수행 여부에 관한 정보가 부호화 장치에서 복호화 장치로 전송된 경우, 복호화 장치는 복호화된 필터링 수행 여부 정보를 이용하여 필터링 수행 여부를 결정할 수 있다. 이는 아래의 도 14의 실시예를 통해 상세히 설명된다.
도 14는 필터링 수행 여부 정보를 이용한 필터링 수행 여부 결정 방법의 일 실시예를 나타내는 흐름도이다.
도 14를 참조하면, 복호화 장치는 필터링 수행 여부에 관한 정보를 복호화한다(S1410). 상술한 도 9의 실시예에 따르면 영상 부호화 장치에서는 필터링 전 예측 블록과 필터링된 예측 블록간의 율-왜곡 비용 값을 비교함으로써 예측 블록의 화소값이 결정될 수 있으며, 이 때 부호화 장치는 복호화 장치에 필터링 수행 여부를 알려주는 정보를 전송하여야 한다. 필터링 수행 여부 정보는 부호화 장치에서 부호화된 후 압축된 비트 스트림을 형성하여 부호화 장치에서 복호화 장치로 전송될 수 있다. 복호화 장치는 부호화된 필터링 수행 여부 정보를 수신하므로, 부호화된 정보를 복호화할 수 있다.
복호화 장치는 복호화된 필터링 수행 여부에 관한 정보를 이용하여, 필터링이 수행되는 경우인지 여부를 판단한다(S1420). 부호화 장치에서 필터링이 수행된 경우, 즉 필터링된 예측 블록의 화소값이 부호화 장치의 최종 예측 블록 화소값으로 사용된 경우, 복호화 장치는 복호화 대상 블록의 예측 블록에 대해 필터링을 수행한다는 결정을 한다(S1430). 부호화 장치에서 필터링이 수행되지 않은 경우, 즉 필터링 전 예측 블록의 화소값이 부호화 장치의 최종 예측 블록 화소값으로 사용된 경우, 복호화 장치는 필터링을 수행하지 않는다는 결정을 한다(S1440).
필터링 수행 여부 결정의 다른 실시예로, 복호화 장치는 현재 복호화 대상 블록의 예측 블록과 주변 블록간의 특성 정보를 이용하여, 현재 복호화 대상 블록의 예측 블록에 대한 필터링 수행 여부를 결정할 수 있다.
예를 들어, 복호화 장치는 주변 블록에 대한 필터링 성능 판단에 의해 필터링 수행 여부를 결정할 수 있다.
이 때, 복호화 장치는 필터 계수를 이용하여 주변 예측 블록 각각을 필터링한다. 예를 들어 주변 블록 A, B, C, D가 선택된 경우, 필터 계수 계산 단계에서 얻은 필터 계수를 이용하여 주변 블록 A, B, C, D의 예측 블록 각각이 필터링될 수 있다. 그리고 복호화 장치는 각 주변 블록에 대한 필터링 성능을 판단한다. 일례로 각 주변 블록에 대해, 필터링이 수행되지 않은 주변 예측 블록과 주변 복원 블록의 오차 및 필터링이 수행된 주변 예측 블록과 주변 복원 블록의 오차가 비교될 수 있다. 각 오차는 SAD, SATD, SSD를 이용하여 계산될 수 있다.
필터링이 수행되지 않은 주변 예측 블록과 주변 복원 블록의 오차보다, 필터링이 수행된 주변 예측 블록과 주변 복원 블록의 오차가 더 작으면, 필터링 효과가 있는 것으로 판단될 수 있다. 각 주변 예측 블록에 필터링이 수행된 경우와 수행되지 않은 경우의 오차를 비교하여 필터링 효과가 나타나는 주변 블록이 N개 이상이면 필터링이 수행되는 것으로 결정되고, 그렇지 않으면 필터링이 수행되지 않는 것으로 결정된다. 여기서 N 값으로 실험을 통해 결정된 값이 사용될 수 있다.
다른 예로써, 복호화 대상 블록의 예측 블록과 주변 예측 블록의 유사도 판단에 의해 필터링 수행 여부가 결정될 수 있다.
복호화 장치는 복호화 대상 블록의 예측 블록과 주변 예측 블록의 유사도를 구할 수 있으며, 유사도는 복호화 대상 블록의 예측 블록과 주변 블록의 화소 간 SAD, SATD, SSD 등에 의해 판단될 수 있다. 예를 들어 SAD를 이용한 유사도 판단은 다음 수학식 11에 의해 표현될 수 있다.
<수학식 11>
Figure 112011076611388-pat00011
여기서, Pci는 복호화 대상 블록의 예측 블록의 화소 집합, Pni는 주변 예측 블록의 화소 집합을 의미한다.
유사도는 복호화 대상 블록의 예측 블록과 주변 예측 블록의 화소간의 상관 관계에 의해서도 판단될 수 있다.
유사도가 임계값 이상인 주변 블록이 K개 이상인 경우, 복호화 대상 블록의 예측 블록에 대해 필터링이 수행되는 것으로 결정되고, 그렇지 않은 경우 필터링이 수행되지 않는 것으로 결정된다. 여기서, 임계값 및 K 값으로서 실험을 통해 결정된 값이 사용될 수 있다.
다시 도 12를 참조하면, 복호화 장치는 현재 복호화 대상 블록의 예측 블록에 대해 필터링을 수행한다(S1240). 다만, 예측 블록에 대한 필터링은, 필터링 수행 여부 결정 단계(S1230)에서 필터링이 수행되는 것으로 결정된 경우에 수행된다.
현재 복호화 대상 블록의 예측 블록은 필터 계수 계산 단계에서 계산된 필터 계수를 이용하여 필터링될 수 있다. 예측 블록에 대한 필터링은 아래의 수학식 12에 의해 나타내어질 수 있다.
<수학식 12>
Figure 112011076611388-pat00012
여기서, pi’은 복호화 대상 블록의 필터링된 예측 블록의 화소값, pi는 복호화 대상 블록의 필터링 전 예측 블록의 화소값, ci는 필터 계수, s는 필터 계수의 집합을 의미한다.
그리고 복호화 장치는 현재 복호화 대상 블록의 예측 블록의 화소값을 결정한다(S1250). 상기 화소값은 복호화 대상 블록의 복원 블록 계산에 사용될 수 있다.
도 15는 현재 복호화 대상 블록의 예측 블록 화소값 결정 방법의 일 실시예를 나타내는 흐름도이다.
도 15를 참조하면, 복호화 장치는 필터링 수행 여부 결정에 기초하여, 현재 복호화 대상 블록의 예측 블록에 대해 필터링이 수행되는 경우인지를 판단한다(S1510). 필터링 수행 여부는 상술한 필터링 수행 여부 결정 단계(S1230)에서 결정될 수 있다.
예측 블록에 대해 필터링이 수행되는 경우, 복호화 장치는 필터링된 예측 블록의 화소값을 최종 예측 블록에 대한 화소값으로 결정한다(S1520). 예측 블록에 대해 필터링이 수행되지 않는 경우, 복호화 장치는 필터링되지 않은 예측 블록의 화소값을 최종 예측 블록에 대한 화소값으로 결정한다(S1530).
복호화 장치는 복원된 잔여 블록과 화소값이 결정된 최종 예측 블록을 이용하여 복원 블록을 생성한다(S1260). 잔여 블록은, 도 4에서 상술된 바와 같이, 부호화 장치에서 부호화된 후 복호화 장치로 전송되고, 복호화 장치는 이를 복호화하여 복원 블록 생성에 이용할 수 있다.
일례로 복호화 장치는 최종 예측 블록과 복원된 잔여 블록을 가산하여 복원 블록을 생성할 수 있다. 본 발명이 도 2의 실시예에 따른 영상 복호화 장치에 적용되는 경우, 상기 최종 예측 블록은, 가산기(255)를 통해, 복원된 잔여 블록에 더해질 수 있다.
도 16은 영상 복호화 장치에 적용되는 예측 블록 필터링 장치의 일 실시예에 따른 구성을 개략적으로 나타내는 블록도이다. 도 16의 실시예에서, 상기 도 12 내지 도 15에서 상술된 것과 실질적으로 동일한 구성요소 또는 방법에 대한 구체적인 설명은 생략한다.
도 16을 참조하면, 도 16은 예측 블록 필터링 장치(1610) 및 복원 블록 생성부(1620)를 포함한다. 예측 블록 필터링 장치(1610)는 주변 블록 선택부(1611), 필터 계수 계산부(1613), 필터링 수행 여부 결정부(1615), 필터링 수행부(1617) 및 화소값 결정부(1619)를 포함할 수 있다.
예측 블록 필터링 장치(1610)는 예측 블록 필터링을 수행함에 있어 현재 복호화 대상 블록의 예측 블록 또는 주변 블록을 사용할 수 있다.
현재 복호화 대상 블록의 예측 블록은 도 2의 실시예에 따라 인트라 예측부(240) 또는 움직임 보상부(250)에서 생성된 예측 블록일 수 있다. 이 경우 가산기(255)에는 상기 생성된 예측 블록이 바로 입력되지 않고 예측 블록 필터링 장치(1610)를 통해 필터링된 최종 예측 블록이 입력될 수 있다. 따라서, 가산기(255)는 복원된 잔여 블록에 필터링된 최종 예측 블록을 더할 수 있다.
주변 블록은 도 2의 실시예에서의 참조 영상 버퍼(270) 또는 별도의 메모리에 저장된 블록일 수 있다. 또한 영상 복호화 과정에서 생성된 주변 복원 블록 또는 주변 예측 블록이 그대로 주변 블록으로 사용될 수도 있다.
주변 블록 선택부(1611)는 필터 계수 계산에 사용되는 주변 블록들을 선택할 수 있다.
일 실시예로 주변 블록 선택부(1611)는 복호화 대상 블록에 인접한 모든 주변 복원 블록들 및 해당 예측 블록들을 필터 계수 계산을 위한 주변 블록으로 선택할 수 있다. 이 때, 주변 블록 선택부(1611)는 인접한 주변 블록들의 모든 화소값 영역을 선택할 수 있고, 또는 인접한 주변 블록 내에서 일부의 화소값 영역만을 선택할 수도 있다.
다른 실시예로 주변 블록 선택부(1611)는 가능한 주변 블록들 중 현재 복호화 대상 블록의 예측 블록과 연관이 있는 주변 예측 블록들과 해당 주변 복원 블록들만을 선택할 수 있다. 예를 들어 주변 블록 선택부(1611)는 복호화 대상 블록의 예측 블록과 주변 예측 블록의 유사도를 판단한 후, 유사도를 이용하여 필터 계수 계산에 사용되는 주변 블록을 선택할 수 있다.
필터 계수 계산부(1613)는 선택된 주변 복원 블록들과 주변 예측 블록들을 이용하여 필터 계수를 계산할 수 있다. 일례로, 필터 계수 계산부(1613)는 복호화 대상 블록에 대해 선택된 주변 복원 블록과 해당 주변 예측 블록간의 MSE가 최소화되는 필터 계수를 선택할 수 있다.
필터링 수행 여부 결정부(1615)는 현재 복호화 대상 블록의 예측 블록에 대한 필터링 수행 여부를 결정할 수 있다.
일 실시예로, 필터링 수행 여부에 관한 정보가 부호화 장치에서 복호화 장치로 전송된 경우, 필터링 수행 여부 결정부(1615)는 복호화된 필터링 수행 여부 정보를 이용하여 필터링 수행 여부를 결정할 수 있다.
다른 실시예로, 필터링 수행 여부 결정부(1615)는 현재 복호화 대상 블록의 예측 블록과 주변 블록간의 특성 정보를 이용하여, 현재 복호화 대상 블록의 예측 블록에 대한 필터링 수행 여부를 결정할 수 있다. 일례로, 필터링 수행 여부 결정부(1615)는 주변 블록에 대한 필터링 성능 판단에 의해 필터링 수행 여부를 결정할 수 있다. 다른 예로, 복호화 대상 블록의 예측 블록과 주변 예측 블록의 유사도 판단에 의해 필터링 수행 여부를 결정할 수도 있다.
필터링 수행부(1617)는 현재 복호화 대상 블록의 예측 블록에 대해 필터링을 수행할 수 있다. 이 때, 필터링 수행부(1617)는 필터 계수 계산부(1613)에 의해 계산된 필터 계수를 이용하여 필터링을 수행할 수 있다.
화소값 결정부(1619)는 현재 복호화 대상 블록의 예측 블록의 화소값을 결정할 수 있다. 일례로, 화소값 결정부(1619)는 필터링 수행 여부 결정부(1615)에서 수행한 필터링 수행 여부 결정 결과에 기초하여 최종 예측 블록의 화소값을 결정할 수 있다.
복원 블록 생성부(1620)는 결정된 최종 예측 블록과 복원된 잔여 블록을 이용하여 복원 블록을 생성할 수 있다. 일례로 복원 블록 생성부(1620)는 최종 예측 블록과 복원된 잔여 블록을 가산하여 복원 블록을 생성할 수 있다. 복원 블록 생성부(1620)는 도 2의 실시예에서 가산기(255)에 대응될 수 있으며, 다른 예로, 복원 블록 생성부(1620)는 도 2의 실시예에서의 가산기(255) 및 필터부(260)를 모두 포함하거나, 그 밖의 부가적인 구성을 추가로 포함할 수도 있다.
본 발명의 실시예에 따른 영상 복호화 장치 및 방법에서는, 고정된 필터 계수가 아닌, 각 복호화 대상 블록의 예측 블록마다 적응적으로 구해진 필터 계수가 사용된다. 또한 각 복호화 대상 블록의 예측 블록에 대해 필터링 수행 여부가 적응적으로 선택될 수 있다. 따라서 예측 영상의 정확도가 높아지고 그 결과 차신호가 최소화되어, 부호화 성능이 향상된다.
또한 필터링된 예측 블록을 이용하여 부호화한 결과가 필터링되지 않은 예측 블록을 이용하여 부호화한 결과에 비해 더 좋은 부호화 성능을 제공한다고 판단되는 경우, 부호화기와 복호화기에서 해당 예측 블록에 대한 필터링이 동일하게 수행될 수 있다. 따라서 추가되는 부호화 정보가 최소화될 수 있다.
상술한 실시예에서, 방법들은 일련의 단계 또는 블록으로써 순서도를 기초로 설명되고 있으나, 본 발명은 단계들의 순서에 한정되는 것은 아니며, 어떤 단계는 상술한 바와 다른 단계와 다른 순서로 또는 동시에 발생할 수 있다. 또한, 당해 기술 분야에서 통상의 지식을 가진 자라면 순서도에 나타난 단계들이 배타적이지 않고, 다른 단계가 포함되거나, 순서도의 하나 또는 그 이상의 단계가 본 발명의 범위에 영향을 미치지 않고 삭제될 수 있음을 이해할 수 있을 것이다.
상술한 실시예는 다양한 양태의 예시들을 포함한다. 다양한 양태들을 나타내기 위한 모든 가능한 조합을 기술할 수는 없지만, 해당 기술 분야의 통상의 지식을 가진 자는 다른 조합이 가능함을 인식할 수 있을 것이다. 따라서, 본 발명은 이하의 특허청구범위 내에 속하는 모든 다른 교체, 수정 및 변경을 포함한다고 할 것이다.

Claims (20)

  1. 복호화 대상 블록에 대해 인트라 예측을 수행하여 제1 예측 블록을 생성하는 단계;
    상기 제1 예측 블록에 필터를 적용할 것인지 여부를 결정하는 단계, 상기 제1 예측 블록에 필터를 적용할 것인지 여부는 비트스트림으로부터 복호화되는 플래그에 기초하여 결정됨;
    상기 필터를 적용하는데 이용되는 주변 화소를 결정하는 단계, 상기 주변 화소는 상기 복호화 대상 블록에 인접한 적어도 하나의 주변 블록에 포함되고, 상기 주변 블록은, 상기 복호화 대상 블록에 인접한 상단 주변 블록, 좌측 주변 블록 또는 좌측 상단 주변 블록 중 적어도 하나를 포함함; 및
    상기 제1 예측 블록에 필터를 적용할 것으로 결정된 경우, 상기 주변 화소를 기초로 상기 제1 예측 블록을 필터링하여 제2 예측 블록을 생성하는 단계를 포함하는, 영상 복호화 방법.
  2. 청구항 1에 있어서, 상기 주변 화소를 포함하는 상기 주변 블록은 상기 복호화 대상 블록에 따라 적응적으로 결정되는 것을 특징으로 하는, 영상 복호화 방법.
  3. [청구항 3은(는) 설정등록료 납부시 포기되었습니다.]
    청구항 1에 있어서, 상기 복호화 대상 블록의 좌측 상단 화소의 위치가 (x,y)이고, 상기 복호화 대상 블록의 너비 및 높이가 각각 W 및 H인 경우, 상기 주변 화소는, (x, y-1)부터 (x+W-1, y-1), (x-1, y)부터 (x-1, y+H-1) 또는 (x-1, y-1) 좌표의 화소 중 적어도 하나를 포함하는 것을 특징으로 하는, 영상 복호화 방법.
  4. 삭제
  5. 삭제
  6. 삭제
  7. 삭제
  8. 삭제
  9. 삭제
  10. 삭제
  11. 부호화 대상 블록에 대해 인트라 예측을 수행하여 제1 예측 블록을 생성하는 단계;
    상기 제1 예측 블록에 필터를 적용하는데 이용되는 주변 화소를 결정하는 단계, 상기 주변 화소는 상기 부호화 대상 블록에 인접한 적어도 하나의 주변 블록에 포함되고, 상기 주변 블록은, 상기 부호화 대상 블록에 인접한 상단 주변 블록, 좌측 주변 블록 또는 좌측 상단 주변 블록 중 적어도 하나를 포함함;
    상기 주변 화소를 기초로 상기 제1 예측 블록을 필터링하여 제2 예측 블록을 생성하는 단계; 및
    상기 제1 예측 블록에 상기 필터를 적용할 것인지 여부를 결정하는데 이용되는 플래그를 부호화하는 단계를 포함하는, 영상 부호화 방법.
  12. 청구항 11에 있어서, 상기 주변 화소를 포함하는 상기 주변 블록은 상기 부호화 대상 블록에 따라 적응적으로 결정되는 것을 특징으로 하는, 영상 부호화 방법.
  13. [청구항 13은(는) 설정등록료 납부시 포기되었습니다.]
    청구항 11에 있어서, 상기 부호화 대상 블록의 좌측 상단 화소의 위치가 (x,y)이고, 상기 부호화 대상 블록의 너비 및 높이가 각각 W 및 H인 경우, 상기 주변 화소는, (x, y-1)부터 (x+W-1, y-1), (x-1, y)부터 (x-1, y+H-1) 또는 (x-1, y-1) 좌표의 화소 중 적어도 하나를 포함하는 것을 특징으로 하는, 영상 부호화 방법.
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
KR1020110099681A 2010-09-30 2011-09-30 적응적 예측 블록 필터링을 이용한 영상 부호화/복호화 장치 및 방법 KR101838183B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/KR2011/007261 WO2012044116A2 (ko) 2010-09-30 2011-09-30 적응적 예측 블록 필터링을 이용한 영상 부호화/복호화 장치 및 방법
US13/822,956 US20130177078A1 (en) 2010-09-30 2011-09-30 Apparatus and method for encoding/decoding video using adaptive prediction block filtering

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020100095055 2010-09-30
KR20100095055 2010-09-30

Related Child Applications (4)

Application Number Title Priority Date Filing Date
KR1020180026903A Division KR101924089B1 (ko) 2010-09-30 2018-03-07 적응적 예측 블록 필터링을 이용한 영상 부호화/복호화 장치 및 방법
KR1020180026904A Division KR101924090B1 (ko) 2010-09-30 2018-03-07 적응적 예측 블록 필터링을 이용한 영상 부호화/복호화 장치 및 방법
KR1020180026905A Division KR101950209B1 (ko) 2010-09-30 2018-03-07 적응적 예측 블록 필터링을 이용한 영상 부호화/복호화 장치 및 방법
KR1020180026902A Division KR101924088B1 (ko) 2010-09-30 2018-03-07 적응적 예측 블록 필터링을 이용한 영상 부호화/복호화 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20120034043A KR20120034043A (ko) 2012-04-09
KR101838183B1 true KR101838183B1 (ko) 2018-03-16

Family

ID=46136623

Family Applications (6)

Application Number Title Priority Date Filing Date
KR1020110099681A KR101838183B1 (ko) 2010-09-30 2011-09-30 적응적 예측 블록 필터링을 이용한 영상 부호화/복호화 장치 및 방법
KR1020180026902A KR101924088B1 (ko) 2010-09-30 2018-03-07 적응적 예측 블록 필터링을 이용한 영상 부호화/복호화 장치 및 방법
KR1020180026905A KR101950209B1 (ko) 2010-09-30 2018-03-07 적응적 예측 블록 필터링을 이용한 영상 부호화/복호화 장치 및 방법
KR1020180026904A KR101924090B1 (ko) 2010-09-30 2018-03-07 적응적 예측 블록 필터링을 이용한 영상 부호화/복호화 장치 및 방법
KR1020180026903A KR101924089B1 (ko) 2010-09-30 2018-03-07 적응적 예측 블록 필터링을 이용한 영상 부호화/복호화 장치 및 방법
KR1020190016996A KR102013639B1 (ko) 2010-09-30 2019-02-14 적응적 예측 블록 필터링을 이용한 영상 부호화/복호화 장치 및 방법

Family Applications After (5)

Application Number Title Priority Date Filing Date
KR1020180026902A KR101924088B1 (ko) 2010-09-30 2018-03-07 적응적 예측 블록 필터링을 이용한 영상 부호화/복호화 장치 및 방법
KR1020180026905A KR101950209B1 (ko) 2010-09-30 2018-03-07 적응적 예측 블록 필터링을 이용한 영상 부호화/복호화 장치 및 방법
KR1020180026904A KR101924090B1 (ko) 2010-09-30 2018-03-07 적응적 예측 블록 필터링을 이용한 영상 부호화/복호화 장치 및 방법
KR1020180026903A KR101924089B1 (ko) 2010-09-30 2018-03-07 적응적 예측 블록 필터링을 이용한 영상 부호화/복호화 장치 및 방법
KR1020190016996A KR102013639B1 (ko) 2010-09-30 2019-02-14 적응적 예측 블록 필터링을 이용한 영상 부호화/복호화 장치 및 방법

Country Status (2)

Country Link
US (1) US20130177078A1 (ko)
KR (6) KR101838183B1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102104594B1 (ko) 2011-06-24 2020-04-24 엘지전자 주식회사 영상 정보 부호화 및 복호화 방법
KR102133528B1 (ko) * 2012-04-17 2020-07-14 삼성전자주식회사 인간의 시각 특성을 이용한 오프셋 값 결정 방법 및 장치
KR101307431B1 (ko) * 2012-06-01 2013-09-12 한양대학교 산학협력단 부호화 장치 및 프레임 기반 적응적 루프 필터의 사용 여부 결정 방법
EP3367681B1 (en) * 2015-10-22 2021-03-24 LG Electronics Inc. Modeling-based image decoding method and device in image coding system
US10694181B2 (en) * 2017-01-27 2020-06-23 Qualcomm Incorporated Bilateral filters in video coding with reduced complexity

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090225842A1 (en) * 2008-03-04 2009-09-10 Samsung Electronics Co., Ltd. Method and apparatus for encoding and decoding image by using filtered prediction block
US20090252221A1 (en) * 2008-03-27 2009-10-08 Lg Electronics Inc. Method and an apparatus for encoding or decoding a video signal
JP2010004555A (ja) 2001-09-14 2010-01-07 Sharp Corp 画像復号方法及び画像復号装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7457362B2 (en) * 2003-10-24 2008-11-25 Texas Instruments Incorporated Loop deblock filtering of block coded video in a very long instruction word processor
US8005140B2 (en) * 2006-03-17 2011-08-23 Research In Motion Limited Soft decision and iterative video coding for MPEG and H.264
JP5233897B2 (ja) * 2009-07-31 2013-07-10 ソニー株式会社 画像処理装置および方法
KR101510108B1 (ko) * 2009-08-17 2015-04-10 삼성전자주식회사 영상의 부호화 방법 및 장치, 그 복호화 방법 및 장치
US10291938B2 (en) * 2009-10-05 2019-05-14 Interdigital Madison Patent Holdings Methods and apparatus for adaptive filtering of prediction pixels for chroma components in video encoding and decoding
RU2628133C2 (ru) * 2013-01-07 2017-08-15 Телефонактиеболагет Л М Эрикссон (Пабл) Кодирование и декодирование слайсов в изображениях видеопотока

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010004555A (ja) 2001-09-14 2010-01-07 Sharp Corp 画像復号方法及び画像復号装置
US20090225842A1 (en) * 2008-03-04 2009-09-10 Samsung Electronics Co., Ltd. Method and apparatus for encoding and decoding image by using filtered prediction block
US20090252221A1 (en) * 2008-03-27 2009-10-08 Lg Electronics Inc. Method and an apparatus for encoding or decoding a video signal

Also Published As

Publication number Publication date
KR20190018145A (ko) 2019-02-21
KR101924090B1 (ko) 2018-11-30
KR20120034043A (ko) 2012-04-09
KR102013639B1 (ko) 2019-08-23
KR101924089B1 (ko) 2018-11-30
KR20180029006A (ko) 2018-03-19
KR101924088B1 (ko) 2018-11-30
KR20180028428A (ko) 2018-03-16
US20130177078A1 (en) 2013-07-11
KR20180028429A (ko) 2018-03-16
KR101950209B1 (ko) 2019-02-21
KR20180029007A (ko) 2018-03-19

Similar Documents

Publication Publication Date Title
KR101962183B1 (ko) 인트라 예측 모드 부호화/복호화 방법 및 장치
JP6992128B2 (ja) 映像復号化方法
KR102013638B1 (ko) 영상 부호화 및 복호화 방법 및 장치
US20190110067A1 (en) Method for inducing prediction motion vector and apparatuses using same
KR101924089B1 (ko) 적응적 예측 블록 필터링을 이용한 영상 부호화/복호화 장치 및 방법
KR101947142B1 (ko) 스킵 모드를 이용한 영상 복호화 방법 및 이러한 방법을 사용하는 장치
JP2014514833A (ja) スケーラブルビデオコーディングの方法及び装置
KR20120137305A (ko) 블록 분할 방법 및 이러한 방법을 사용하는 장치
WO2013048033A1 (ko) 인트라 예측 모드 부호화/복호화 방법 및 장치
KR20130027400A (ko) Dc 모드에서의 인트라 예측 방법 및 장치
KR101850152B1 (ko) 적응적 루프 필터 적용 방법 및 그를 이용한 스케일러블 비디오 부호화 장치
WO2012044116A2 (ko) 적응적 예측 블록 필터링을 이용한 영상 부호화/복호화 장치 및 방법
RU2575411C2 (ru) Способ и устройство масштабируемого кодирования видео
KR20130107611A (ko) 상향식 예측 모드 방법을 사용한 영상 부복호화 방법 및 이러한 방법을 사용하는 장치

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
A107 Divisional application of patent
GRNT Written decision to grant