KR101432779B1 - 움직임 보상 프레임의 선택적 필터링을 이용한 영상 부호화/복호화 방법 및 장치와 그를 위한 인터 예측 방법 및 장치 - Google Patents

움직임 보상 프레임의 선택적 필터링을 이용한 영상 부호화/복호화 방법 및 장치와 그를 위한 인터 예측 방법 및 장치 Download PDF

Info

Publication number
KR101432779B1
KR101432779B1 KR1020100126443A KR20100126443A KR101432779B1 KR 101432779 B1 KR101432779 B1 KR 101432779B1 KR 1020100126443 A KR1020100126443 A KR 1020100126443A KR 20100126443 A KR20100126443 A KR 20100126443A KR 101432779 B1 KR101432779 B1 KR 101432779B1
Authority
KR
South Korea
Prior art keywords
filtering
block
motion compensation
frame
filtered
Prior art date
Application number
KR1020100126443A
Other languages
English (en)
Other versions
KR20110066888A (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/KR2010/008868 priority Critical patent/WO2011071347A2/ko
Publication of KR20110066888A publication Critical patent/KR20110066888A/ko
Application granted granted Critical
Publication of KR101432779B1 publication Critical patent/KR101432779B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/124Quantisation
    • 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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding

Abstract

본 발명의 실시예는 움직임 보상 프레임의 선택적 필터링을 이용한 영상 부호화/복호화 방법 및 장치와 그를 위한 인터 예측 방법 및 장치에 관한 것이다.
본 발명의 실시예는, 영상의 현재 프레임의 움직임을 추정하고 보상하여 생성되는 움직임 보상 프레임을 필터링 블록별로 선택적으로 필터링하여 필터링된 움직임 보상 프레임을 생성하고, 현재 프레임과 필터링된 움직임 보상 프레임을 감산하여 잔여 프레임을 생성하며, 잔여 프레임을 변환 및 양자화하며, 변환 및 양자화된 잔여 프레임을 부호화하는 것을 특징으로 하는 영상 부호화 장치를 제공한다.
본 발명에 의하면, 움직임 보상 프레임을 필터링함으로써 그 잔여 프레임에 잔존하는 시간적 중복성을 더욱 많이 제거할 수 있으므로 동영상의 압축 효율을 향상시킬 수 있다.

Description

움직임 보상 프레임의 선택적 필터링을 이용한 영상 부호화/복호화 방법 및 장치와 그를 위한 인터 예측 방법 및 장치{Video Coding Method and Apparatus by Using Motion Compensation Frame Selective Filtering and Inter Prediction Method and Apparatus Therefor}
본 발명의 실시예는 움직임 보상 프레임의 선택적 필터링을 이용한 영상 부호화/복호화 방법 및 장치와 그를 위한 인터 예측 방법 및 장치에 관한 것이다. 더욱 상세하게는, 동영상 부호화와 복호화 과정에서 움직임 추정과 움직임 보상을 통해 생성되는 움직임 보상 프레임을 필터링하여 동영상의 압축 효율을 향상시키기 위한 방법 및 장치에 관한 것이다.
이 부분에 기술된 내용은 단순히 본 발명의 실시예에 대한 배경 정보를 제공할 뿐 반드시 종래기술을 구성하는 것은 아니다.
동영상 데이터를 효율적으로 저장하거나 전송하기 위해서는 부호화하여 데이터를 압축할 필요가 있다. 동영상 데이터를 압축하는 기술로는 H.261, H.263, H.264, MPEG-2, MPEG-4 등이 있다. 이러한 동영상 데이터의 압축 기술에서는 동영상의 각 프레임 영상의 휘도 성분과 색차 성분이 움직임 추정과 움직임 보상을 통하여 시간적으로 예측되고, 예측 잔여는 변환 및 양자화, 엔트로피 부호화가 수행 되어 비트스트림 형태로 전송된다.
가장 최근의 동영상 압축 기술인 H.264/AVC는 MPEG(Moving Picture Experts Group)과 VCEG(Video Coding Experts Group)가 공동으로 개발한 기술로서, 매크로블록은 16x16, 16x8, 8x16, 8x8, 8x4, 4x8, 4x4 크기를 가지는 더 작은 블록으로 분할되어 움직임 추정과 움직임 보상이 수행되며, 이때 움직임 추정과 움직임 보상을 위한 참조 프레임도 최대 16 개의 프레임이 이용될 수 있다. 또한, H.264/AVC에서는 1/4 화소 보간 방법을 채택함으로써, 기존의 동영상 압축 기술인 MPEG-4와 비교할 때 영상의 화질을 유지하면서 압축률을 향상시킬 수 있다.
이와 같이 기존의 통상적인 동영상 압축 기술에서는 움직임 추정과 움직임 보상 등을 이용하여 영상 내의 시간적인 중복성을 제거함으로써 높은 압축률을 달성할 수 있지만, 움직임 추정과 움직임 보상을 통해 생성되는 움직임 보상 프레임에는 여전히 시간적 중복성이 많이 남게 되어, 변환 및 양자화되고 엔트로피 부호화되는 예측 잔여가 커지게 되고 그에 따라 많은 양의 잔여 데이터가 부호화되어야 하기 때문에 효율적인 부호화가 어려운 문제점이 있다.
이러한 문제점을 해결하기 위해 본 발명의 실시예는, 동영상 부호화와 복호화 과정에서 움직임 추정과 움직임 보상을 통해 생성되는 움직임 보상 프레임을 필터링하고 그 잔여 프레임을 부호화함으로써 동영상의 압축 효율을 향상시키는 데 주된 목적이 있다.
전술한 목적을 달성하기 위해 본 발명의 일 실시예는, 영상을 부호화/복호화하는 장치에 있어서, 현재 프레임의 움직임을 추정하고 보상하여 생성되는 움직임 보상 프레임을 필터링 블록별로 선택적으로 필터링하여 필터링된 움직임 보상 프레임을 생성하고 상기 현재 프레임과 상기 필터링된 움직임 보상 프레임을 감산하여 잔여 프레임을 생성하고 변환 및 양자화하고 부호화하는 영상부호화기; 및 비트스트림으로부터 추출되는 움직임 정보 데이터와 영상 부호화 데이터를 복호화하여 움직임 정보와 변환 및 양자화된 잔여 프레임을 복원하고 역 양자화 및 역 변환하여 잔여 프레임을 복원하고 상기 복원되는 움직임 정보를 기초로 현재 프레임의 움직임을 보상하여 움직임 보상 프레임을 생성하고 상기 움직임 보상 프레임을 필터링 블록별로 선택적으로 필터링하여 필터링된 움직임 보상 프레임을 생성하고 상기 복원되는 잔여 프레임과 상기 필터링된 움직임 보상 프레임을 가산하여 현재 프레임을 복원하는 영상복호화기를 포함하는 것을 특징으로 하는 영상 부호화/복호화 장치를 제공한다.
또한, 본 발명의 다른 목적을 달성하기 위해 본 발명의 일 실시예는, 영상을 부호화하는 장치에 있어서, 영상의 현재 프레임의 움직임을 추정하고 보상하여 생성되는 움직임 보상 프레임을 필터링 블록별로 선택적으로 필터링하여 필터링된 움직임 보상 프레임을 생성하는 예측기, 현재 프레임과 필터링된 움직임 보상 프레임을 감산하여 잔여 프레임을 생성하는 감산기, 잔여 프레임을 변환 및 양자화하는 변환기 및 양자화기 및 변환 및 양자화된 잔여 프레임을 부호화하는 부호화기를 포함하는 것을 특징으로 하는 영상 부호화 장치를 제공한다.
또한, 본 발명의 다른 목적을 달성하기 위해 본 발명의 일 실시예는, 영상을 복호화하는 장치에 있어서, 비트스트림으로부터 추출되는 움직임 정보 데이터와 영상 부호화 데이터를 복호화하여 움직임 정보와 변환 및 양자화된 잔여 프레임을 복원하는 복호화기, 복원되는 변환 및 양자화된 잔여 프레임을 역 양자화 및 역 변환하여 잔여 프레임을 복원하는 역양자화기 및 역변환기, 복원되는 움직임 정보를 기초로 현재 프레임의 움직임을 보상하여 움직임 보상 프레임을 생성하고 움직임 보상 프레임을 필터링 블록별로 선택적으로 필터링하여 필터링된 움직임 보상 프레임을 생성하는 예측기 및 복원되는 잔여 프레임과 필터링된 움직임 보상 프레임을 가산하여 현재 프레임을 복원하는 가산기를 포함하는 것을 특징으로 하는 영상 복호화 장치를 제공한다.
또한, 본 발명의 다른 목적을 달성하기 위해 본 발명의 일 실시예는, 영상의 블록에 대한 움직임 정보를 결정하는 움직임 추정기, 결정되는 움직임 정보를 기초로 움직임 보상 블록을 생성하고 움직임 보상 블록을 포함하는 움직임 보상 프레임을 생성하는 움직임 보상기 및 움직임 보상 프레임을 필터링 블록별로 선택적으로 필터링하는 움직임 보상 필터를 포함하는 것을 특징으로 하는 인터 예측 장치를 제공한다.
또한, 본 발명의 다른 목적을 달성하기 위해 본 발명의 일 실시예는, 비트스트림으로부터 추출되고 복호화되어 복원되는 움직임 정보를 기초로 움직임 보상 블록을 생성하고 움직임 보상 블록을 포함하는 움직임 보상 프레임을 생성하는 움직임 보상기 및 움직임 보상 프레임을 필터링 블록별로 선택적으로 필터링하는 움직임 보상 필터를 포함하는 것을 특징으로 하는 인터 예측 장치를 제공한다.
또한, 본 발명의 다른 목적을 달성하기 위해 본 발명의 일 실시예는, 영상을 부호화/복호화하는 방법에 있어서, 상기 영상의 현재 프레임의 움직임을 추정하고 보상하여 움직임 보상 프레임을 생성하고 상기 움직임 보상 프레임을 필터링 블록별로 선택적으로 필터링하여 필터링된 움직임 보상 프레임을 생성하고 상기 현재 프레임과 상기 필터링된 움직임 보상 프레임의 차인 잔여 프레임을 변환 및 양자화하고 부호화하는 영상부호화단계; 및 비트스트림을 복호화하여 복원되는 움직임 정보를 기초로 현재 프레임의 움직임을 보상하여 움직임 보상 프레임을 생성하고 상기 움직임 보상 프레임을 필터링 블록별로 선택적으로 필터링하여 필터링된 움직임 보상 프레임을 생성하고 상기 비트스트림을 복호화하여 복원되는 잔여 프레임과 상기 필터링된 움직임 보상 프레임을 가산하여 현재 프레임을 복원하는 영상복호화단계를 포함하는 것을 특징으로 하는 영상 부호화/복호화 방법을 제공한다.
또한, 본 발명의 다른 목적을 달성하기 위해 본 발명의 일 실시예는, 영상을 부호화하는 방법에 있어서, 영상의 현재 프레임의 움직임을 추정하고 보상하여 움직임 보상 프레임을 생성하는 단계, 움직임 보상 프레임을 필터링 블록별로 선택적으로 필터링하여 필터링된 움직임 보상 프레임을 생성하는 단계 및 현재 프레임과 필터링된 움직임 보상 프레임의 차인 잔여 프레임을 변환 및 양자화하고 부호화하는 단계를 포함하는 것을 특징으로 하는 영상 부호화 방법을 제공한다.
상기 영상 부호화 방법은, 상기 움직임 보상 프레임을 필터링 블록별로 선택적으로 필터링하는지 여부를 나타내는 블록별 필터링 적용 정보를 부호화하는 단계를 추가로 포함할 수 있다.
상기 필터링된 움직임 보상 프레임을 생성하는 단계는, 상기 움직임 보상 프레임이 전체적으로 필터링된 움직임 보상 프레임에 대한 부호화 비용보다 상기 필터링 블록별로 선택적으로 필터링된 움직임 보상 프레임에 대한 부호화 비용이 더 작은 경우, 상기 움직임 보상 프레임을 필터링 블록별로 선택적으로 필터링할 수 있다.
상기 필터링된 움직임 보상 프레임을 생성하는 단계는, 상기 움직임 보상 프레임의 필터링 블록별로 필터링 블록을 필터링하는 경우의 부호화 비용이 필터링 블록을 필터링하지 않는 경우의 부호화 비용을 초과하는지 여부를 판단하여 상기 필터링 블록별로 필터링 여부를 결정할 수 있다.
상기 필터링된 움직임 보상 프레임은, 상기 움직임 보상 프레임의 필터링되지 않은 필터링 블록과 필터링된 블록을 포함할 수 있다.
상기 필터링된 움직임 보상 프레임을 생성하는 단계는, 상기 필터링 블록별이나 상기 필터링 블록의 화소의 위치별로 다른 필터 또는 다른 필터 계수를 이용하여 필터링할 수 있다.
상기 영상 부호화 방법은, 상기 필터링 블록별로 필터링 여부를 나타내는 필터링 식별 정보를 부호화하는 단계를 추가로 포함할 수 있다.
상기 영상 부호화 방법은, 상기 필터링 블록별 또는 필터링 블록의 묶음 또는 조합 단위로 필터링 여부를 나타내는 필터링 식별 정보를 부호화하는 단계를 추가로 포함할 수 있다.
상기 영상 부호화 방법은, 상기 필터링 블록은 기본 부호화 블록을 사용하여 필터링 식별 정보를 부호화하는 단계를 추가로 포함할 수 있다.
상기 영상 부호화 방법은, 계층적 필터링 블록 구조를 사용하여 분할 식별 정보와 필터링 식별 정보를 사용하여 필터링 블록의 부호화 여부를 부호화하는 단계를 추가로 포함할 수 있다.
상기 영상 부호화 방법은, 상기 필터링 블록의 크기 또는 단위를 나타내는 필터링 블록 식별 정보를 부호화하는 단계를 추가로 포함할 수 있다.
또한, 본 발명의 다른 목적을 달성하기 위해 본 발명의 일 실시예는, 영상을 복호화하는 방법에 있어서, 비트스트림을 복호화하여 복원되는 움직임 정보를 기초로 현재 프레임의 움직임을 보상하여 움직임 보상 프레임을 생성하는 단계, 움직임 보상 프레임을 필터링 블록별로 선택적으로 필터링하여 필터링된 움직임 보상 프레임을 생성하는 단계 및 비트스트림을 복호화하여 복원되는 잔여 프레임과 필터링된 움직임 보상 프레임을 가산하여 현재 프레임을 복원하는 단계를 포함하는 것을 특징으로 하는 영상 복호화 방법을 제공한다.
상기 필터링된 움직임 보상 프레임을 생성하는 단계는, 상기 비트스트림을 복호화하여 복원되는 블록별 필터링 적용 정보를 기초로 상기 움직임 보상 프레임을 상기 필터링 블록별로 선택적으로 필터링할 수 있다.
상기 필터링된 움직임 보상 프레임을 생성하는 단계는, 상기 비트스트림을 복호화하여 복원되는 필터링 식별 정보를 기초로 상기 움직임 보상 프레임의 필터링 블록 중 필터링할 필터링 블록을 선택할 수 있다.
상기 필터링된 움직임 보상 프레임은, 상기 움직임 보상 프레임의 필터링되지 않은 필터링 블록과 필터링된 필터링 블록을 포함할 수 있다.
상기 필터링된 움직임 보상 프레임을 생성하는 단계는, 상기 필터링 블록별이나 상기 필터링 블록의 화소의 위치별로 다른 필터 또는 다른 필터 계수를 이용하여 필터링할 수 있다.
상기 필터링된 움직임 보상 프레임을 생성하는 단계는, 상기 비트스트림을 복호화하여 복원되는 필터링 블록 식별 정보에 의해 식별되는 크기의 블록을 상기 필터링 블록으로서 결정할 수 있다.
상기 필터링 식별 정보를 복원하는 단계는, 상기 비트스트림을 복호화하여 복원되는 필터링 블록 단위의 필터링 식별 정보에 의해 프레임 단위와 필터링 블록 단위 중 복호화 시 사용할 필터링 단위를 결정할 수 있다.
상기 필터링 블록 단위의 필터링 식별 정보를 복원하는 단계는, 상기 비트스트림을 복호화하여 복원되는 필터링 블록 크기 정보에 의해 필터링 블록의 크기 정보를 복원하는 단계를 포함할 수 있다.
상기 필터링 블록 단위의 필터링 식별 정보를 복원하는 단계는, 기본 부호화 블록단위로 필터링 블록의 식별 정보를 복원하여 필터링 여부를 결정할 수 있다.
상기 필터링 블록 단위의 필터링 식별 정보를 복원하는 단계는, 상기 비트스트림을 복호화하여 복원되는 필터링 블록 식별 정보에 의해 다양한 필터링 블록 크기를 고려한 계층적 구조의 필터링 블록에 대한 필터링 여부를 결정할 수 있다.
또한, 본 발명의 다른 목적을 달성하기 위해 본 발명의 일 실시예는, 인터 예측 방법에 있어서, 영상의 블록에 대한 움직임 정보를 결정하는 단계, 결정되는 움직임 정보를 기초로 움직임 보상 블록을 생성하고 움직임 보상 블록을 포함하는 움직임 보상 프레임을 생성하는 단계 및 움직임 보상 프레임을 필터링 블록별로 선택적으로 필터링하는 단계를 포함하는 것을 특징으로 하는 인터 예측 방법을 제공한다.
또한, 본 발명의 다른 목적을 달성하기 위해 본 발명의 일 실시예는, 인터 예측 방법에 있어서, 비트스트림으로부터 추출되고 복호화되어 복원되는 움직임 정보를 기초로 움직임 보상 블록을 생성하고 움직임 보상 블록을 포함하는 움직임 보상 프레임을 생성하는 단계 및 움직임 보상 프레임을 필터링 블록별로 선택적으로 필터링하는 단계를 포함하는 것을 특징으로 하는 인터 예측 방법을 제공한다.
이상에서 설명한 바와 같이 본 발명의 실시예에 의하면, 영상을 예측 부호화하는 데 있어서, 움직임 추정 및 움직임 보상을 통해 생성되는 움직임 보상 프레임에 잔재하는 시간적 중복성을 제거하여 압축 효율을 더욱 향상시킬 수 있을 뿐만 아니라, 움직임 보상 프레임 내의 블록의 화소들의 특성에 따라 필터의 종류와 필터 계수를 적응적으로 선택하여 필터링함으로써 양자화 에러를 더욱 줄일 수 있으므로 압축 효율을 더욱 향상시킬 수 있고, 부호화된 후 복호화되어 재생되는 복원 영상의 화질의 열화를 더욱 줄일 수 있다.
또한, 움직임 보상 프레임을 블록별로 필터링하는 경우에 필터링 블록별로 적응적으로 필터링 여부를 선택하여 필터링함으로써 압축 효율을 더욱 향상시킬 수 있다.
도 1은 본 발명의 일 실시예에 따른 영상 부호화 장치를 간략하게 나타낸 블록 구성도,
도 2는 본 발명의 일 실시예에 따른 영상 부호화를 위한 인터 예측 장치를 간략하게 나타낸 블록 구성도,
도 3은 본 발명의 일 실시예에 따라 움직임 보상 프레임을 생성하는 과정을 나타낸 예시도,
도 4는 본 발명의 일 실시예에 따라 움직임 보상 프레임을 필터링하는 과정을 나타낸 예시도,
도 5는 본 발명의 일 실시예에 따른 영상 부호화 방법을 설명하기 위한 순서도,
도 6은 본 발명의 일 실시예에 따른 영상 복호화 장치를 간략하게 나타낸 블록 구성도,
도 7은 본 발명의 일 실시예에 따른 영상 복호화를 위한 인터 예측 장치를 간략하게 나타낸 블록 구성도,
도 8은 본 발명의 일 실시예에 따른 영상 복호화 방법을 설명하기 위한 순서도이다.
도 9는 본 발명의 다른 실시예에 따른 영상 부호화 방법을 설명하기 위한 순서도,
도 10은 본 발명의 다른 실시예에 따라 부호화 비용을 기초로 움직임 보상 프레임 전체에 대해 필터링할지 또는 움직임 보상 프레임을 필터링 블록별로 선택적으로 필터링할지 여부를 결정하는 과정을 예시적으로 설명하기 위한 순서도,
도 11은 본 발명의 다른 실시예에 따라 필터링 블록별로 필터링 수행 여부를 결정하는 과정을 예시적으로 설명하기 위한 순서도,
도 12는 본 발명의 다른 실시예에 따른 필터링 식별 정보의 부호화 방법을 나타낸 예시도,
도 13는 본 발명의 다른 실시예에 따른 영상 복호화 방법을 설명하기 위한 순서도이다.
이하에서 후술할 영상 부호화 장치(Video Encoding Apparatus), 영상 복호화 장치(Video Decoding Apparatus)는 개인용 컴퓨터(PC: Personal Computer), 노트북 컴퓨터, 개인 휴대 단말기(PDA: Personal Digital Assistant), 휴대형 멀티미디어 플레이어(PMP: Portable Multimedia Player), 플레이스테이션 포터블(PSP: PlayStation Portable), 무선 통신 단말기(Wireless Communication Terminal), 스마트폰(Smart Phone), TV 등과 같은 사용자 단말기이거나 응용 서버와 서비스 서버 등 서버 단말기일 수 있으며, 각종 기기 또는 유무선 통신망과 통신을 수행하기 위한 통신 모뎀 등의 통신 장치, 영상을 부호화하거나 복호화하거나 부호화 또는 복호화를 위해 인터 또는 인트라 예측하기 위한 각종 프로그램과 데이터를 저장하기 위한 메모리, 프로그램을 실행하여 연산 및 제어하기 위한 마이크로프로세서 등을 구비하는 다양한 장치를 의미할 수 있다.
또한, 영상 부호화 장치에 의해 비트스트림(부호화데이터)으로 부호화된 영상은 실시간 또는 비실시간으로 인터넷, 근거리 무선 통신망, 무선랜망, 와이브로망, 이동통신망 등의 유무선 통신망 등을 통하거나 케이블, 범용 직렬 버스(USB: Universal Serial Bus) 등과 같은 다양한 통신 인터페이스를 통해 영상 복호화 장치로 전송되어 영상 복호화 장치에서 복호화되어 영상으로 복원되고 재생될 수 있다.
통상적으로 동영상은 일련의 픽처(Picture)로 구성되어 있으며, 각 픽처들은 블록(Block)과 같은 소정의 영역으로 분할된다. 영상의 영역이 블록으로 분할되는 경우에는 분할된 블록은 부호화 방법에 따라 크게 인트라 블록(Intra Block), 인터 블록(Inter Block)으로 분류된다. 인트라 블록은 인트라 예측 부호화(Intra Prediction Coding) 방식을 사용하여 부호화되는 블록을 뜻하는데, 인트라 예측 부호화란 현재 부호화를 수행하는 현재 픽처 내에서 이전에 부호화되고 복호화되어 복원된 블록들의 화소를 이용하여 현재 블록의 화소를 예측함으로써 예측 블록을 생성하고 현재 블록의 화소와의 차분값을 부호화하는 방식이다. 인터 블록은 인터 예측 부호화(Inter Prediction Coding)를 사용하여 부호화되는 블록을 뜻하는데, 인터 예측 부호화란 하나 이상의 과거 픽처 또는 미래 픽처를 참조하여 현재 픽처 내의 현재 블록을 예측함으로써 예측 블록을 생성하고 현재 블록과의 차분값을 부호화하는 방식이다. 여기서, 현재 픽처를 부호화하거나 복호화하는데 참조되는 프레임를 참조 프레임(Reference Frame)이라고 한다.
도 1은 본 발명의 일 실시예에 따른 영상 부호화 장치를 간략하게 나타낸 블록 구성도이다.
본 발명의 일 실시예에 따른 영상 부호화 장치(100)는 영상을 부호화하는 장치로서, 예측기(Predictor, 110), 감산기(Subtracter, 120), 변환기 및 양자화기(Transformer and Quantizer, 130), 부호화기(Encoder, 140), 역양자화기 및 역변환기(Inverse Quantizer and Inverse Transformer, 150), 가산기(Adder, 160), 디블로킹 필터(170) 및 메모리(Memory, 180)를 포함하여 구성될 수 있다.
예측기(110)는 입력 영상에서 부호화하고자 하는 프레임(이하 '현재 프레임(Current Frame)'이라 칭함)의 움직임을 추정하고 보상하여 생성되는 움직임 보상 프레임을 필터링한다. 즉, 예측기(110)는 이미 부호화되고 다시 복호화되어 복원된 후 메모리(180)에 저장된 참조 프레임에서 인터 예측 모드(Inter Prediction Mode)에 따라 현재 프레임 내의 각 블록의 움직임을 추정하여 움직임 벡터(Motion Vector)를 생성하고, 움직임 벡터를 이용하여 각 블록의 움직임을 보상함으로써 현재 프레임의 움직임이 보상된 움직임 보상 프레임(Motion Compensation Frame)을 생성하고 생성되는 움직임 보상 프레임을 필터링한다.
이를 위해, 예측기(110)는 현재 프레임 내에서 블록 모드가 인터 모드인 블록에 대해 움직임 벡터(Motion Vector)와 참조 프레임 색인(Reference Frame Index)을 결정하고, 결정되는 움직임 벡터와 참조 프레임 색인을 이용하여 움직임 보상 블록을 생성하며, 생성되는 움직임 보상 블록을 포함하는 움직임 보상 프레임을 생성하여 움직임 보상 프레임을 필터링할 수 있다.
여기서, 예측기(110)는 움직임 보상 프레임 내의 블록의 화소의 특성에 따라 다른 필터를 이용하여 움직임 보상 프레임을 필터링할 수 있으며, 움직임 보상 프레임을 위너 필터(Winner Filter) 또는 디블로킹 필터(Deblocking Filter) 등과 같은 다양한 필터를 이용하여 필터링할 수도 있다.
또한, 예측기(110)는 현재 프레임과 필터링된 움직임 보상 프레임 간의 제곱 에러(Square Error)를 최소화하는 필터 계수(Filter Coefficient)를 가지는 필터를 이용하여 움직임 보상 프레임을 필터링할 수 있다.
감산기(120)는 현재 프레임과 필터링된 움직임 보상 프레임을 감산하여 잔여 프레임(Residual Frame)을 생성한다. 여기서, 잔여 프레임이란 현재 프레임과 필터링된 움직임 보상 프레임이 감산되어 생성되는 잔여를 포함하는 프레임으로서 현재 프레임의 화소와 필터링된 움직임 보상 프레임의 화소의 차이인 잔여 신호를 포함하는 프레임을 말한다.
변환기 및 양자화기(130)는 잔여 프레임을 변환 및 양자화한다. 즉, 변환기 및 양자화기는(130)는 감산기(120)에 의해 생성된 잔여 프레임의 잔여 신호(Residual Signal)를 주파수 영역으로 변환하여 변환 계수(Transform Coefficient)를 가지는 변환된 잔여 프레임을 생성하고 변환된 잔여 프레임의 변환 계수를 양자화하여 변환 및 양자화된 잔여 프레임을 생성한다. 이때, 사용되는 변환 방식으로는 하다마드 변환(Hadamard Transform), 이산 코사인 변환 기반의 정수 변환(Discrete Cosine Transform Based Integer Transform) 등과 같은 공간 영역의 화상 신호를 주파수 영역으로 변환하는 기법이 이용되고, 양자화 방식으로는 데드존 균일 경계 양자화(DZUTQ: Dead Zone Uniform Threshold Quantization, 이하'DZUTQ'라 칭함) 또는 양자화 가중치 매트릭스(Quantization Weighted Matrix) 등과 같은 다양한 양자화 기법이 이용될 수 있다.
부호화기(140)는 변환 및 양자화된 잔여 프레임을 부호화한다. 즉, 변환기 및 양자화기(130)에 의해 변환되고 양자화된 잔여 프레임의 양자화된 변환 계수를 부호화하여 영상 부호화 데이터를 생성한다. 생성된 영상 부호화 데이터는 비트스트림에 포함된다. 이러한 부호화 기술로서는 엔트로피 부호화(Entropy Encoding) 기술이 이용될 수 있으나, 반드시 이에 한정하지 않고 다른 다양한 부호화 기술이 이용될 수 있을 것이다.
또한, 부호화기(140)는 움직임 보상 프레임을 필터링하는 데 이용한 필터의 필터 계수를 나타내는 필터 계수 정보를 부호화하여 필터 계수 데이터를 생성할 수 있다. 생성된 필터 계수 데이터는 비트스트림에 포함된다.
또한, 부호화기(140)는 현재 프레임 내의 각 블록에 대한 블록 모드를 나타내는 블록 모드 정보를 부호화하여 블록 모드 데이터를 생성할 수 있으며, 생성된 블록 모드 데이터는 비트스트림에 포함된다.
또한, 부호화기(140)는 현재 프레임 내에서 블록 모드가 인터 모드인 블록에 대해 결정되는 움직임 벡터와 참조 프레임 색인을 나타내는 움직임 정보를 부호화하여 움직임 정보 데이터를 생성할 수 있으며, 생성된 움직임 정보 데이터는 비트스트림에 포함된다.
한편, 변환기 및 양자화기(130)의 기능은 부호화기(140)에 통합되어 구현될 수도 있다. 즉, 하나의 부호화기로 구현되는 경우, 부호화기는 잔여 프레임을 부호화하여 부호화 데이터를 생성한다.
역양자화기 및 역변환기(150)는 변환 및 양자화된 잔여 프레임을 역 양자화 및 역 변환하여 잔여 프레임을 복원한다. 즉, 역양자화기 및 역변환기(150)는 변환기 및 양자화기(130)로부터 전달되는 변환 및 양자화된 잔여 프레임을 역 양자화하여 변환 계수를 가지는 잔여 프레임을 복원하고, 변환 계수를 가지는 잔여 프레임을 다시 역 변환하여 잔여 신호를 가지는 잔여 프레임을 복원한다. 이때, 역양자화기 및 역변환기(150)는 변환기 및 양자화기(130)에서 변환 및 양자화한 방식을 역으로 수행함으로써 잔여 프레임을 복원할 수 있다.
가산기(160)는 복원되는 잔여 프레임과 필터링된 움직임 보상 프레임을 가산하여 현재 프레임을 복원한다.
디블로킹 필터(170)는 복원되는 현재 프레임을 디블로킹 필터링하며, 메모리(180)는 디블로킹 필터링된 현재 프레임을 저장한다. 여기서, 디블로킹 필터링이란 영상을 블록 단위로 부호화하면서 발생하는 블록 왜곡을 감소시키는 작업을 말하며, 블록 경계와 매크로블록 경계에 디블로킹 필터를 적용하거나 매크로블록 경계에만 디블로킹 필터를 적용하거나 디블로킹 필터를 사용하지 않는 방법 중 하나를 선택적으로 사용할 수 있다.
도 1에서는 도시하지 않았지만, 전술한 본 발명의 일 실시예에 따른 영상 부호화 장치(100)는 예측기(110) 내에 인트라 예측(Intra Prediction)을 위한 인트라 예측기 등을 추가로 포함할 수 있다. 이 경우, 감산기(120)는 현재 프레임과 인트라 예측기에 의해 생성되는 예측 프레임을 감산하여 잔여 프레임을 생성할 수 있으며, 변환기 및 양자화기(130) 및 역양자화기 및 역변환기(150)는 잔여 프레임에 대한 변환 및 양자화와 변환 및 양자화된 잔여 프레임에 대한 역 변환 및 역 양자화을 위한 연산을 추가로 수행할 수도 있다. 또한, 부호화기(140)는 변환 및 양자화된 잔여 프레임을 부호화하여 영상 부호화 데이터를 생성할 수 있으며, 이러한 데이터는 비트스트림에 포함된다.
따라서, 본 발명의 일 실시예에서는 현재 프레임과 필터링된 움직임 보상 프레임의 차이인 잔여 프레임만 변환 및 양자화되고 부호화되어 인터 예측 부호화에 따른 영상 부호화 데이터가 비트스트림에 포함되는 것으로 설명하지만, 실제로 영상 부호화 장치(100)는 인트라 예측 부호화되는 영상 부호화 데이터를 추가로 생성할 수 있으며, 비트스트림에는 인터 예측 부호화에 의해 생성되는 영상 부호화 데이터뿐만 아니라 인트라 예측 부호화에 의해 생성되는 영상 부호화 데이터와 그 영상 부호화 데이터를 인트라 예측 복호화기 위한 정보 또는 그 부호화 데이터가 추가로 포함될 수 있음을 인식해야 할 것이다.
도 2는 본 발명의 일 실시예에 따른 영상 부호화를 위한 인터 예측 장치를 간략하게 나타낸 블록 구성도이다.
본 발명의 일 실시예에 따른 영상 부호화를 위한 인터 예측 장치는 도 1을 통해 전술한 본 발명의 일 실시예에 따른 영상 부호화 장치(100)에서는 예측기(110)로 구현될 수 있으므로, 이하에서는 설명의 편의를 위해, 예측기(110)라 칭한다.
예측기(110)는 움직임 추정기(Motion Estimator, 210), 움직임 보상기(Motion Compensator, 220) 및 움직임 보상 필터(Motion Compensation Filter, 230)를 포함하여 구성될 수 있다. 또한, 예측기(110)는 인트라 예측기를 추가로 포함할 수 있지만 별도로 도시하지는 않았다.
움직임 추정기(210)는 현재 프레임 내에서 블록 모드가 인터 모드인 블록에 대해 움직임 벡터(Motion Vector)와 참조 프레임 색인(Reference Frame Index)을 결정한다. 즉, 움직임 추정기(210)는 현재 프레임 내의 각 블록들 중 블록 모드가 인터 모드인 블록들에 대한 움직임을 추정하여 움직임 벡터와 참조 프레임 색인을 결정한다. 여기서, 현재 프레임 내의 각 블록들에 대한 블록 모드는 움직임 추정기(210)가 결정할 수도 있으나, 예측기(110) 또는 영상 부호화 장치(100) 내에 추가적으로 구비되는 모드 결정기(Mode Determiner, 미도시)가 결정할 수도 있다.
이를 위해, 움직임 추정기(210)는 현재 프레임 내에서 블록 모드가 P 매크로블록(Predictive Macroblock)인 블록에 대해서는 순방향 예측을 수행하여 현재 프레임의 이전 프레임을 기초로 순방향의 움직임 벡터를 추정하며, 현재 프레임 내에서 블록 모드가 B 매크로블록(Bidirectional Macroblck)인 블록에 대해서는 양방향 예측을 수행하여 현재 프레임의 이전 프레임 및 이후 프레임을 기초로 순방향의 움직임 벡터와 역방향의 움직임 벡터를 각각 추정할 수 있다.
이때, 움직임 추정기(210)는 움직임 벡터를 결정하는 데 있어서, 부호화 비용이 최소가 되는 움직임 벡터와 참조 프레임 색인을 현재 프레임 내의 해당 블록에 대한 움직임 벡터와 참조 프레임 색인으로서 결정할 수 있다. 이와 같이 움직임 벡터와 참조 프레임 색인을 결정하기 위한 부호화 비용을 계산하는 함수로서는 mcost 함수가 이용될 수 있다. mcost 함수는 수학식 1과 같이 나타낼 수 있다.
Figure 112010081623713-pat00001
여기서,
Figure 112010081623713-pat00002
는 움직임 벡터와 참조 프레임 색인을 결정하기 위한 라그랑제 곱셈자(Lagrange Multiplier)이고, Rateu ,v,i는 해당 움직임 벡터와 참조 프레임 색인을 이용하여 해당 블록의 움직임을 보상함으로써 예측 부호화되어 생성되는 비트스트림의 비트율을 나타낸다. SADu ,v,i는 해당 움직임 벡터와 참조 프레임 색인을 이용하여 해당 블록의 움직임을 보상함으로써 생성되는 움직임 보상 프레임과 현재 프레임의 차의 절대값의 합을 나타내며, 수학식 2와 같이 나타낼 수 있다.
Figure 112010081623713-pat00003
수학식 2에서, M과 N은 각각 해당 블록의 수평 방향과 수직 방향의 화소 크기를 나타내며,
Figure 112010081623713-pat00004
는 현재 프레임의
Figure 112010081623713-pat00005
의 좌표에 대한 화소값을 나타내고,
Figure 112010081623713-pat00006
Figure 112010081623713-pat00007
번째 참조 프레임의
Figure 112010081623713-pat00008
의 좌표에 대한 화소값을 나타낸다. 또한, x와 y는 해당 블록의 제일 왼쪽의 제일 위쪽에 위치한 화소의 현재 프레임 또는 움직임 보상 프레임 내에서의 좌표를 나타내며, m와 n은 해당 블록의 내부에 위치한 화소의 좌표를 나타낸다. u와 v는 해당 블록의 움직임 벡터의 가로축 및 세로축 좌표를 나타낸다.
움직임 추정기(210)는 수학식 1과 같은 부호화 비용을 계산하기 위한 함수를 이용하여 현재 프레임 내에서 블록 모드가 인터 블록인 각 블록에 대한 움직임 벡터와 참조 프레임 색인별로 mcost를 계산한 후, 수학식 3과 같은 함수를 이용하여 부호화 비용을 최소로 하는 움직임 벡터와 참조 프레임 색인을 해당 블록의 움직임 벡터와 참조 프레임 색인으로서 결정한다.
Figure 112010081623713-pat00009
수학식 3에서, SearchRange는 움직임 추정을 수행하는 범위를 나타내며,
Figure 112010081623713-pat00010
는 각각 해당 블록에 대해 결정된 움직임 벡터의 가로 성분과 세로 성분을 나타내며, i*는 해당 블록에 대해 결정된 참조 프레임 색인을 나타낸다.
움직임 보상기(220)는 결정되는 움직임 벡터와 참조 프레임 색인을 이용하여 움직임 보상 블록을 생성하고 움직임 보상 블록을 포함하는 움직임 보상 프레임을 생성한다. 즉, 움직임 보상기(220)는 움직임 추정기(210)에 의해 결정되는 움직임 벡터와 참조 프레임 색인을 이용하여 해당 블록의 움직임을 보상함으로써 움직임 보상 블록을 생성하며, 생성된 움직임 보상 블록들을 프레임 단위로 모아 움직임 보상 블록들을 포함하는 움직임 보상 프레임을 생성한다. 이를 위해, 움직임 보상기(220)는 움직임 추정기(210)에 의해 결정되는 참조 프레임 색인에 의해 식별되는 참조 프레임에서 움직임 추정기(210)에 의해 결정되는 움직임 벡터가 지시하는 블록을 가져와서 움직임 보상 블록으로서 생성하며, 이러한 움직임 보상 블록들을 포함하는 움직임 보상 프레임을 생성한다.
이와 같이 움직임 보상 프레임을 생성하는 방법을 수학식으로 나타내면 수학식 4와 같이 나타낼 수 있다.
Figure 112010081623713-pat00011
수학식 4에서, W와 H는 프레임(참조 프레임 및 움직임 보상 프레임)의 가로와 세로의 화소 크기를 나타내고,
Figure 112010081623713-pat00012
는 움직임 보상 프레임의
Figure 112010081623713-pat00013
좌표에 대한 화소값을 의미한다. 만약,
Figure 112010081623713-pat00014
좌표에 의해 식별되는 화소를 포함하는 블록의 블록 모드가 인트라 모드인 경우에는 움직임 벡터와 참조 프레임 색인이 존재하지 않기 때문에 일단
Figure 112010081623713-pat00015
는 값을 가지지 않는다. 이후, 하나의 움직임 보상 프레임 생성이 완료되면 미러링(Mirroring) 방식과 유사한 방식으로 없는 부분을 채워 넣을 수도 있다.
본 발명의 일 실시예에 따라 움직임 보상 프레임을 생성하는 과정을 예시적으로 나타낸 도 3을 참조하면, 움직임 보상 프레임 내의 5 개의 블록들 중 4 개의 블록들은 블록 모드가 인터 블록이어서 4 개의 참조 프레임에서 각각 하나의 블록으로 채워지지만 1 개의 블록은 블록 모드가 인트라 블록이어서 움직임 벡터와 참조 프레임 색인이 없으므로 그 값을 가지지 않는다. 나중에 움직임 보상 프레임이 필터링될 때, 인트라 모드인 블록에 값이 채워져 있지 않아 주변 화소들에 대해 필터링이 불가능하므로 해당 블록의 주변에 있는 화소들의 화소값을 이용하여 필터링될 수 있다.
움직임 보상 필터(230)는 움직임 보상 프레임을 필터링한다. 즉, 움직임 보상 필터(230)는 움직임 보상기(220)에 의해 생성되는 움직임 보상 프레임의 화소들을 다양한 종류의 필터를 이용하여 필터링함으로써 필터링된 움직임 보상 프레임이 현재 프레임과 더욱 유사하도록 하여 변환 및 양자화되어 부호화되는 잔여 프레임의 데이터 양을 줄이거나 움직임 보상 프레임 내에 존재하는 블로킹 현상(Blocking Effect)을 줄인다.
여기서, 움직임 보상 필터(230)는 움직임 보상 프레임을 필터링할 때, 기 설정된 필터를 이용할 수도 있으며 블록 단위, 슬라이스 단위 또는 프레임 단위 등과 같이 일정한 단위로 적절한 필터 또는 필터의 계수를 선택하여 이용할 수도 있다. 움직임 보상 필터(230)가 기 설정된 필터를 이용하는 경우에는 영상 부호화 장치(100)와 후술할 영상 복호화 장치가 미리 약속한 필터나 미리 약속한 기준에 따른 필터를 이용할 수 있다. 또한, 움직임 보상 필터(230)가 적절한 필터 또는 필터의 계수를 선택하여 이용하는 경우에는 현재 프레임 내의 화소의 특성에 따라 다른 필터를 이용할 수 있다.
움직임 보상 프레임을 필터링하기 위한 필터로는 위너 필터 또는 디블로킹 필터와 같은 다양한 필터가 이용될 수 있다. 위너 필터를 이용하여 움직임 보상 프레임을 필터링하는 경우, 움직임 보상 프레임에 잔존하는 시간적인 중복성을 더욱 제거할 수 있어서 잔여 프레임의 데이터량이 줄어들고 그에 따라 영상 부호화 데이터의 양이 줄어들어 결과적으로 비트스트림의 크기가 작아지므로 압축 효율이 향상될 수 있다. 또한, 디블로킹 필터를 이용하여 움직임 보상 프레임을 필터링하는 경우, 움직임 보상 프레임 내의 블로킹 현상을 줄일 수 있어서 부호화된 후 다시 복호화되어 복원되는 영상의 품질을 향상시킬 수 있다.
움직임 보상 필터(230)가 적절한 필터 또는 필터의 계수를 선택하여 이용하는 경우, 움직임 보상 프레임 내의 화소의 특성에 따라 필터의 종류를 선택하여 선택된 필터를 이용하여 필터링하거나 기 설정된 필터의 필터 계수를 계산하여 계산된 필터 계수를 이용하여 필터링하거나 필터의 종류를 선택하고 선택된 필터의 필터 계수도 계산하여 필터링할 수 있다.
예를 들어, 움직임 보상 필터(230)는 움직임 보상 프레임 내의 움직임 보상 블록의 크기를 판단하고, 움직임 보상 블록의 크기에 따라 해당 움직임 예측 블록의 내부에서 블록의 경계에 위치하는 화소들과 블록의 경계에 위치하지 않는 화소들을 서로 다른 종류의 필터를 이용하여 필터링할 수도 있다. 이 경우, 움직임 보상 프레임 내의 화소의 특성은 움직임 보상 프레임 내의 움직임 보상 블록의 크기가 될 수 있다. 또한, 움직임 보상 필터(230)는 움직임 보상 블록들의 움직임 벡터와 참조 프레임 색인의 차이를 판단하고, 움직임 벡터와 참조 프레임의 색인의 차이에 따라 움직임 보상 블록들 간의 경계에 블로킹 현상이 발생하는지 여부를 판단하여, 움직임 보상 블록들 간의 경계에 블록킹 현상이 발생하는 부분의 화소들과 블록킹 현상이 발생하지 않는 부분의 화소들을 서로 다른 필터를 이용하여 필터링할 수도 있다. 이 경우, 움직임 보상 프레임 내의 화소의 특성은 움직임 보상 블록들 간의 움직임 벡터와 참조 프레임 색인의 차이가 될 수 있다.
움직임 보상 필터(230)가 움직임 보상 프레임을 필터링하는 방법을 예시적인 수학식으로 나타내면 수학식 5와 같이 나타낼 수 있다. 수학식 5에서는 2차원 필터를 이용하여 필터링하는 경우를 예시적으로 나타내었지만, 구현 방식 또는 필요에 따라서는 1차원 필터를 이용하여 필터링할 수도 있다.
Figure 112010081623713-pat00016
수학식 5에서,
Figure 112010081623713-pat00017
는 움직임 보상 프레임의
Figure 112010081623713-pat00018
의 좌표에 의해 지시되는 화소의 화소값을 나타내고,
Figure 112010081623713-pat00019
Figure 112010081623713-pat00020
번째 필터 계수를 나타내며, PP는 움직임 보상 프레임 내의 블록 내의 화소의 특성에 따라 선택되는 필터의 종류를 나타낸다.
Figure 112010081623713-pat00021
는 필터링된 움직임 보상 프레임 내에서
Figure 112010081623713-pat00022
의 좌표에 위치하는 화소의 화소값을 나타낸다.
본 발명의 일 실시예에 따라 움직임 보상 프레임을 필터링하는 과정을 예시적으로 나타낸 도 4를 참조하면, 움직임 보상 블록들 간의 경계에 블로킹 현상이 발생한 움직임 보상 프레임을 움직임 보상 필터를 이용하여 필터링함에 따라 필터링된 움직임 보상 프레임에서는 움직임 보상 블록들 간의 경계에 블로킹 현상이 제거될 수 있다. 도 4에서는 움직임 보상 필터로서 2차원의 디블로킹 필터가 이용된 경우를 예시적으로 나타내었다. 도 4에서 *는 컨볼루션(Convolution)을 나타낸다.
통상적인 동영상 압축 기술에서는 움직임 보상을 블록 단위로 수행하므로 움직임 보상 프레임은 하나의 개념적인 용어로서 사용되었지만, 본 발명의 일 실시예에서는 프레임 단위의 움직임 보상 프레임을 생성하여 필터링함으로써 필터링된 움직임 보상 프레임을 동영상 압축에 응용한다.
필터 계수를 계산하는 일 예로서, 움직임 보상 필터(230)는 현재 프레임과 필터링된 움직임 보상 프레임의 제곱 에러가 최소가 되도록 위너 필터를 이용하여 움직임 보상 프레임을 필터링하기 위한 필터 계수를 계산할 수 있다. 수학식 6은 현재 프레임과 필터링된 움직임 보상 프레임의 제곱 에러를 계산하는 수학식을 나타낸 것이며, 수학식 7은 현재 프레임과 필터링된 움직임 보상 프레임의 제곱 에러가 최소가 되는 필터 계수를 계산하는 수학식을 나타낸 것이다. 필터 계수는 수학식 7과 같은 선형방정식의 근으로 계산될 수 있다.
Figure 112010081623713-pat00023
Figure 112010081623713-pat00024
수학식 6 및 수학식 7에서, (ePP)는 현재 프레임과 필터링된 움직임 보상 프레임의 에러를 나타내며,
Figure 112010081623713-pat00025
는 현재 프레임의
Figure 112010081623713-pat00026
좌표에 대한 화소값을 나타내고,
Figure 112010081623713-pat00027
Figure 112010081623713-pat00028
번째 필터 계수를 나타내며,
Figure 112010081623713-pat00029
는 필터링된 움직임 보상 프레임 내에서
Figure 112010081623713-pat00030
좌표에 대한 화소값을 나타내며 수학식 5를 통해 계산될 수 있다.
수학식 6 및 수학식 7을 통해 계산되는 필터 계수는 움직임 보상 프레임을 필터링하는 데 이용되며, 부호화기(140)로 전달된다. 이때, 움직임 보상 필터(230)는 계산된 필터를 그대로 이용하여 움직임 보상 프레임을 필터링할 수도 있지만, 양자화, 올림 내림 등과 같은 과정을 통해 필터 계수를 보정하여 움직임 보상 프레임을 필터링할 수도 있다. 예를 들어, 필터 계수가 소수점을 가지는 계수로서 계산되는 경우 그대로 부호화되면 필터 계수 데이터의 데이터량이 커지므로 양자화, 올림, 내림 등과 같은 과정을 통해 정수의 계수로 보정한 후 보정된 필터 계수를 이용하여 움직임 보상 프레임을 필터링하고, 보정된 필터 계수를 부호화기(140)로 전달한다. 부호화기(140)는 필터 계수를 나타내는 필터 계수 정보를 부호화하여 필터 계수 데이터를 생성하고, 생성된 필터 계수 데이터는 비트스트림에 포함되어 영상 복호화 장치로 전송될 수 있다. 이와 같이 필터 계수를 보정하여 부호화함으로써 필터 계수 데이터의 데이터량을 줄일 수 있다.
이상에서 전술한 바와 같이 생성되는 필터링된 움직임 보상 프레임은 감산기(120)로 전달되며, 감산기(120)는 현재 프레임과 필터링된 움직임 보상 프레임을 감산하여 잔여 프레임을 생성한다. 이때, 필터링된 움직임 보상 블록을 블록 또는 슬라이스 단위 등 다양한 단위마다 적응적으로 사용할 수 있다. 잔여 프레임은 현재 프레임의 화소의 화소값과 움직임 보상 프레임의 화소의 화소값의 차이값을 가지는 잔여 신호를 포함한다. 잔여 신호는 수학식 8과 같이 나타낼 수 있다.
Figure 112010081623713-pat00031
하지만, 통상적인 동영상 압축 방식에 따라 현재 프레임과 움직임 보상 프레임을 감산하여 생성되는 잔여 신호는 수학식 9와 같이 나타낼 수 있다.
Figure 112010081623713-pat00032
수학식 8과 수학식 9에서
Figure 112010081623713-pat00033
Figure 112010081623713-pat00034
좌표에서 잔차 신호의 화소값을 나타낸다. 위너 필터를 이용하여 움직임 보상 필터링을 수행한 경우, 움직임 보상 프레임에 잔재하는 시간적인 중복성이 더욱 제거되어 수학식 8의 잔여 신호가 수학식 9의 잔여 신호보다 작으며, 디블로킹 필터를 이용하여 움직임 보상 필터링을 수행한 경우, 움직임 보상 프레임에 잔재하는 블로킹 현상이 더욱 제거되어 수학식 8의 잔여 신호가 변환 및 양자화되어 부호화된 데이터가 복호화되었을 때의 영상 품질이 더욱 좋아진다.
수학식 8에서는 프레임 단위로 잔여 신호가 생성되는 것으로 예시하였지만, 반드시 수학식 8을 이용해야 하거나 프레임 단위로 잔여 신호를 생성해야 하는 것은 아니며, 블록 또는 슬라이스 등 다양한 단위로 잔여 신호가 생성될 수도 있고 수학식 8이 아닌 다른 수학식을 이용하여 잔여 신호가 생성될 수도 있을 것이다.
도 5는 본 발명의 일 실시예에 따른 영상 부호화 방법을 설명하기 위한 순서도이다.
본 발명의 일 실시예에 따르면, 영상 부호화 장치(100)는 영상의 현재 프레임의 움직임을 추정하고 보상하여 생성되는 움직임 보상 프레임을 필터링하고(S510), 현재 프레임과 필터링된 움직임 보상 프레임의 차인 잔여 프레임을 변환 및 양자화하고 부호화한다(S520).
또한, 영상 부호화 장치(100)는 단계 S510에서, 움직임 보상 프레임 내의 블록의 화소의 특성에 따라 다른 필터를 이용하여 움직임 보상 프레임을 필터링할 수 있으며, 움직임 보상 프레임을 위너 필터 또는 디블로킹 필터를 이용하여 필터링할 수 있으며, 현재 프레임과 필터링된 움직임 보상 프레임 간의 제곱 에러를 최소화하는 필터 계수를 가지는 필터를 이용하여 움직임 보상 프레임을 필터링할 수 있다. 이때, 영상 부호화 장치(100)는 움직임 보상 프레임을 필터링하는 데 이용한 필터의 필터 계수를 나타내는 필터 계수 정보를 추가로 부호화할 수 있다.
또한, 영상 부호화 장치(100)는 단계 S510에서, 현재 프레임 내에서 블록 모드가 인터 모드인 블록에 대해 움직임 벡터와 참조 프레임 색인을 결정하고, 결정되는 움직임 벡터와 참조 프레임 색인을 이용하여 움직임 보상 블록을 생성하고 생성되는 움직임 보상 블록을 포함하는 움직임 보상 프레임을 생성하며, 움직임 보상 프레임을 필터링할 수 있다.
또한, 영상 부호화 장치(100)는 블록 모드를 나타내는 블록 모드 정보를 부호화하고, 결정되는 움직임 벡터와 참조 프레임 색인을 나타내는 움직임 정보를 추가로 부호화할 수 있다.
또한, 영상 부호화 장치(100)는 변환 및 양자화된 잔여 프레임을 역 양자화 및 역 변환하여 잔여 프레임을 복원하고, 복원되는 잔여 프레임과 필터링된 움직임 보상 프레임을 가산하여 현재 프레임을 복원하며, 복원되는 현재 프레임을 디블로킹 필터링하여 저장할 수 있다.
도 6은 본 발명의 일 실시예에 따른 영상 복호화 장치를 간략하게 나타낸 블록 구성도이다.
본 발명의 일 실시예에 따른 영상 복호화 장치(600)는 복호화기(Decoder, 610), 역양자화기 및 역변환기(620), 예측기(630), 가산기(640), 디블로킹 필터(650) 및 메모리(660)를 포함하여 구성될 수 있다.
복호화기(610)는 비트스트림으로부터 추출되는 움직임 정보 데이터와 영상 부호화 데이터를 복호화하여 움직임 정보와 변환 및 양자화된 잔여 프레임을 복원한다. 또한, 복호화기(610)는 비트스트림으로부터 블록 모드 데이터를 추출하고 복호화하여 블록 모드 정보를 복원할 수 있으며, 비트스트림으로부터 필터 계수 데이터를 추출하고 복호화하여 필터 계수 정보를 복원할 수 있다.
여기서, 복호화기(610)는 엔트로피 부호화와 같은 다양한 부호화 기법을 이용하여 각종 데이터를 복호화할 수 있으며, 영상 부호화 장치(100)의 부호화기(140)가 부호화한 방식을 역으로 수행하여 복호화할 수 있다.
역양자화기 및 역변환기(620)는 복원되는 변환 및 양자화된 잔여 프레임을 역 양자화 및 역 변환하여 잔여 프레임을 복원한다. 여기서, 역양자화기 및 역변환기(620)는 다양한 변환 및 양자화 방식을 이용하여 역 양자화 및 역 변환을 수행할 수 있는데, 영상 부호화 장치(100)의 변환기 및 양자화기(130)가 변환 및 양자화한 방식을 역으로 수행하여 역 영자화 및 역 변환을 수행할 수 있다.
예측기(630)는 복원되는 움직임 정보에 의해 식별되는 움직임 벡터 및 참조 프레임 인덱스를 이용하여 현재 프레임의 움직임을 보상하여 움직임 보상 프레임을 생성하고 움직임 보상 프레임을 필터링한다. 즉, 예측기(630)는 복원되는 움직임 정보에 의해 식별되는 움직임 벡터 및 참조 프레임 인덱스를 이용하여 움직임 보상 블록을 생성하고 움직임 보상 블록을 포함하는 움직임 보상 프레임을 생성할 수 있다.
또한, 예측기(630)는 움직임 보상 프레임을 필터링하는 데 있어서, 기 설정된 필터 계수를 가지는 필터를 이용하여 필터링할 수도 있으며, 복호화기(610)에 의해 복원되는 필터 계수 정보가 있는 경우에는 복원되는 필터 계수 정보에 의해 식별되는 필터 계수를 가지는 필터를 이용하여 움직임 보상 프레임을 필터링할 수도 있다.
또한, 예측기(630)는 움직임 보상 프레임 내의 블록의 화소의 특성에 따라 다른 필터를 이용하여 필터링할 수도 있으며, 움직임 보상 프레임을 필터링하기 위한 필터로서 위너 필터 또는 디블로킹 필터 등을 이용할 수도 있다.
여기서, 예측기(630)가 움직임 벡터 및 참조 프레임 인덱스를 이용하여 움직임 보상 블록을 생성하고 움직임 보상 블록을 포함하는 움직임 보상 프레임을 생성하며 생성된 움직임 보상 프레임을 필터링하는 방법에 대해서는 도 1 내지 도 5를 통해 전술한 방법과 동일 또는 유사하므로 상세한 설명을 생략한다.
가산기(640)는 복원되는 잔여 프레임과 필터링되는 움직임 보상 프레임을 가산하여 현재 프레임을 복원한다. 즉, 가산기(640)는 역양자화기 및 역변환기(620)에서 복원되는 잔여 프레임의 화소들의 화소값과 예측기(630)에 의해 필터링된 움직임 보상 프레임의 화소들의 화소값을 가산하여 현재 프레임의 화소들을 복원한다.
디블로킹 필터(650)는 가산기(640)에 의해 복원되는 현재 프레임을 디블로킹 필터링하여 디블로킹 필터링된 현재 프레임을 복원 영상으로서 출력하며, 메모리(660)는 디블로킹 필터링된 현재 프레임을 참조 프레임으로서 저장하며, 저장된 참조 프레임은 예측기(630)에서 다음 프레임을 예측하는 데 활용된다.
도 7은 본 발명의 일 실시예에 따른 영상 복호화를 위한 인터 예측 장치를 간략하게 나타낸 블록 구성도이다.
본 발명의 일 실시예에 따른 영상 복호화를 위한 인터 예측 장치는 도 6을 통해 전술한 본 발명의 일 실시예에 따른 영상 복호화 장치(600)에서는 예측기(630)로 구현될 수 있으므로, 이하에서는 설명의 편의를 위해, 예측기(630)라 칭한다.
예측기(630)는 움직임 보상기(710) 및 움직임 보상 필터(720)를 포함하여 구성될 수 있다.
움직임 보상기(710)는 비트스트림으로부터 추출되고 복호화되어 복원되는 움직임 정보에 의해 식별되는 움직임 벡터 및 참조 프레임 인덱스를 이용하여 움직임 보상 블록을 생성하고 움직임 보상 블록을 포함하는 움직임 보상 프레임을 생성한다. 즉, 움직임 보상기(710)는 복호화기(610)로부터 움직임 벡터와 참조 프레임 색인을 전달받으면, 메모리(660)에 저장된 참조 프레임 중에서 참조 프레임 색인에 의해 지시되는 참조 프레임에서 움직임 벡터에 의해 지시되는 블록을 움직임 보상 블록들로서 생성하고 움직임 보상 블록들을 포함하는 움직임 보상 프레임을 생성한다.
움직임 보상 필터(720)는 움직임 보상 프레임을 필터링한다. 즉, 움직임 보상 필터(720)는 움직임 보상기(710)에 의해 생성되어 전달되는 움직임 보상 프레임을 위너 필터 또는 디블로킹 필터 등과 같은 다양한 필터를 이용하여 필터링한다. 이때, 움직임 보상 필터(720)는 복호화기(610)로부터 필터 계수 정보를 전달받으면, 필터 계수 정보에 의해 식별되는 필터 계수를 가지는 필터를 이용하여 움직임 보상 프레임을 생성할 수 있으며, 필터 계수 정보가 전달되지 않으면 기 설정된 필터를 이용하거나 움직임 보상 프레임 내의 블록의 화소 특성에 따라 선택되는 필터를 이용하여 움직임 보상 프레임을 필터링할 수 있다.
도 8은 본 발명의 일 실시예에 따른 영상 복호화 방법을 설명하기 위한 순서도이다.
본 발명의 일 실시예에 따른 영상 복호화 방법에 따르면, 영상 복호화 장치(600)는 비트스트림으로부터 추출되는 움직임 정보 데이터를 복호화하여 복원되는 움직임 정보에 의해 식별되는 움직임 벡터 및 참조 프레임 인덱스를 이용하여 현재 프레임의 움직임을 보상하여 움직임 보상 프레임을 생성하며(S810), 움직임 보상 프레임을 필터링하며(S820), 비트스트림으로부터 추출되고 복호화되어 복원되는 잔여 프레임과 필터링된 움직임 보상 프레임을 가산하여 현재 프레임을 복원한다(S830).
여기서, 영상 복호화 장치(600)는 단계 S810에서, 움직임 보상 프레임을 생성하는 데 있어서, 현재 프레임 내에서 블록 모드가 인터 블록인 블록에 대해 비트스트림으로부터 움직임 정보 데이터를 추출하고 복호화하여 움직임 정보를 복원하며, 복원되는 움직임 정보에 의해 식별되는 움직임 벡터 및 참조 프레임 인덱스를 이용하여 움직임 보상 블록을 생성하고 생성되는 움직임 보상 블록을 포함하는 움직임 보상 프레임을 생성할 수 있다.
또한, 영상 복호화 장치(600)는 비트스트림으로부터 필터 계수 데이터를 추출하고 복호화하여 필터 계수 정보를 추가로 복원할 수 있으며, 이 경우 단계S820에서 움직임 보상 프레임을 필터링할 때, 복원되는 필터 계수 정보에 의해 식별되는 필터 계수를 가지는 필터를 이용하여 움직임 보상 프레임을 필터링할 수 있다.
또한, 영상 복호화 장치(600)는 단계 S820에서, 움직임 보상 프레임을 필터링하는 데 있어서, 기 설정된 필터 계수를 가지는 필터를 이용하여 움직임 보상 프레임을 필터링할 수 있으며, 움직임 보상 프레임 내의 블록의 화소의 특성에 따라 다른 필터를 이용하여 움직임 보상 프레임을 필터링할 수도 있으며, 움직임 보상 프레임을 위너 필터 또는 디블로킹 필터를 이용하여 필터링할 수도 있다.
또한, 영상 복호화 장치(600)는 복원되는 현재 프레임을 디블로킹 필터링하여 출력할 수 있다. 디블로킹 필터링된 현재 프레임은 저장되어 다른 프레임을 예측 부호하하는 데 이용될 수 있다.
이상에서 전술한 바와 같이, 본 발명의 일 실시예에 따르면, 영상을 예측 부호화하는 데 있어서, 움직임 추정 및 움직임 보상을 통해 생성되는 움직임 보상 프레임에 잔재하는 시간적 중복성을 제거하여 압축 효율을 더욱 향상시킬 수 있을 뿐만 아니라, 움직임 보상 프레임 내의 블록의 화소들의 특성에 따라 필터의 종류와 필터 계수를 적응적으로 선택하여 필터링함으로써 양자화 에러를 더욱 줄일 수 있으므로 압축 효율을 더욱 향상시킬 수 있거나 부호화된 후 복호화되어 재생되는 복원 영상의 화질의 열화를 더욱 줄일 수 있다.
이상에서는 본 발명의 일 실시예를 통해, 영상의 움직임 보상 프레임 전체에 대해 필터링이 수행되어 영상이 부호화되는 것으로 설명했다. 하지만, 본 발명의 실시예에서는 움직임 보상 프레임 전체에 대해 필터링이 수행될 수도 있지만 움직임 보상 프레임의 블록별로 필터링이 수행될 수도 있다. 이때, 블록별로 필터링되는 데 이용되는 필터의 종류와 필터 계수는 블록별 또는 블록 내의 화소별로 적응적으로 결정되어 이용될 수 있다. 이뿐만 아니라, 본 발명의 실시예에서는 움직임 보상 프레임의 블록별로 필터링이 수행될 때, 필터링이 수행되지 않는 것이 더욱 효율적인 블록에 대해서는 선택적으로 필터링이 수행되지 않고 필터링이 수행되는 것이 효율적인 블록에 대해서만 적응적으로 필터링이 수행될 수도 있다. 이하에서는 본 발명의 다른 실시예를 통해, 영상의 보상 프레임의 필터링 블록별로 선택적으로 필터링되어 영상이 부호화되는 방법에 대해 설명한다.
본 발명의 다른 실시예에 따른 영상 부호화 장치는 도 1을 통해 전술한 본 발명의 일 실시예에 따른 영상 부호화 장치(100)와 동일 또는 유사하게 구성된다. 즉, 본 발명의 다른 실시예에 따른 영상 부호화 장치는 영상의 현재 프레임의 움직임을 추정하고 보상하여 생성되는 움직임 보상 프레임을 필터링 블록별로 선택적으로 필터링하여 필터링된 움직임 보상 프레임을 생성하는 예측기, 현재 프레임과 필터링된 움직임 보상 프레임을 감산하여 잔여 프레임을 생성하는 감산기, 잔여 프레임을 변환 및 양자화하는 변환기 및 양자화기와 변환 및 양자화된 잔여 프레임을 부호화하는 부호화기를 포함하여 구성될 수 있다.
본 발명의 다른 실시예에 따른 영상 부호화를 위한 인터 예측 장치는 도 2를 통해 전술한 본 발명의 일 실시예에 따른 영상 부호화를 위한 인터 예측 장치와 동일 또는 유사하게 구성된다. 즉, 본 발명의 다른 실시예에 따른 영상 부호화를 위한 인터 예측 장치는 본 발명의 다른 실시예에 따른 영상 부호화 장치의 예측기로서 구현될 수 있으며, 영상의 블록에 대한 움직임 정보를 결정하는 움직임 추정기, 결정되는 움직임 정보를 기초로 움직임 보상 블록을 생성하고 움직임 보상 블록을 포함하는 움직임 보상 프레임을 생성하는 움직임 보상기 및 움직임 보상 프레임을 필터링 블록별로 선택적으로 필터링하는 움직임 보상 필터를 포함하여 구성될 수 있다.
본 발명의 다른 실시예에 따른 영상 부호화 장치와 영상 부호화를 위한 인터 예측 장치에 대해서는 후술하는 과정에서 본 발명의 다른 실시예에 따른 영상 부호화 방법을 통해 상세히 설명한다. 이하에서는 설명의 편의를 위해, 본 발명의 다른 실시예에 따른 영상 부호화 장치를 블록별 필터링 영상 부호화 장치라 칭한다.
도 9는 본 발명의 다른 실시예에 따른 영상 부호화 방법을 설명하기 위한 순서도이다.
본 발명의 다른 실시예에 따른 영상 부호화 방법에 따르면, 블록별 필터링 영상 부호화 장치는 영상의 현재 프레임의 움직임을 추정하고 보상하여 움직임 보상 프레임을 생성하고(S910), 움직임 보상 프레임을 필터링 블록별로 선택적으로 필터링하여 필터링된 움직임 보상 프레임을 생성하며(S920), 현재 프레임과 필터링된 움직임 보상 프레임의 차인 잔여 프레임을 변환 및 양자화하고 부호화한다(S930).
또한, 블록별 필터링 영상 부호화 장치는 움직임 보상 프레임을 필터링 블록별로 선택적으로 필터링하는지 여부를 나타내는 블록별 필터링 적용 정보를 추가로 부호화할 수 있다. 즉, 블록별 필터링 영상 부호화 장치는 움직임 보상 프레임 전체를 필터링하는지 아니면 움직임 보상 프레임을 필터링 블록별로 나누어 필터링 블록별로 선택적으로 필터링하는지 여부를 결정하고 그를 나타내는 블록별 필터링 적용 정보를 부호화하여 비트스트림에 포함시킬 수 있다. 이러한 블록별 필터링 적용 정보는 1비트의 플래그로 구현될 수 있으나 반드시 이에 한정되지 않고 다양한 방식으로 구현될 수 있으며, 구현 방식이나 필요에 따라서는 부호화되어 비트스트림에 프레임 헤더, 시퀀스 헤더 등에 포함될 수 있다. 만약, 본 발명의 다른 실시예에 따른 영상 부호화 장치와 영상 복호화 장치가 미리 움직임 보상 프레임을 필터링 블록별로 선택적으로 필터링하기로 약속하거나 움직임 보상 프레임 전체를 필터링하기로 약속한 경우에는 블록별 필터링 적용 정보를 부호화할 필요가 없을 것이다.
단계S920에서, 블록별 필터링 영상 부호화 장치는 움직임 보상 프레임이 전체적으로 필터링된 움직임 보상 프레임에 대한 부호화 비용보다 필터링 블록별로 선택적으로 필터링된 움직임 보상 프레임에 대한 부호화 비용이 더 작은 경우, 움직임 보상 프레임을 필터링 블록별로 선택적으로 필터링할 수 있다. 즉, 블록별 필터링 영상 부호화 장치는 부호화 비용을 기초로 움직임 보상 프레임 전체에 대해 필터링할지 또는 움직임 보상 프레임을 필터링 블록별로 선택적으로 필터링할지 여부를 결정할 수 있다. 예를 들어, 블록별 필터링 영상 부호화 장치는 움직임 보상 프레임이 전체적으로 필터링되는 경우의 부호화 비용과 움직임 보상 프레임이 필터링 블록별로 선택적으로 필터링되는 경우의 부호화 비용을 각각 계산하고, 움직임 보상 프레임이 전체적으로 필터링되는 경우의 부호화 비용이 움직임 보상 프레임이 필터링 블록별로 선택적으로 필터링되는 경우의 부호화 비용보다 작거나 같으면 움직임 보상 프레임 전체에 대해 필터링하며, 움직임 보상 프레임이 전체적으로 필터링되는 경우의 부호화 비용이 움직임 보상 프레임이 필터링 블록별로 선택적으로 필터링되는 경우의 부호화 비용보다 크면 움직임 보상 프레임을 필터링 블록별로 선택적으로 필터링할 수 있다.
단계S920에서, 블록별 필터링 영상 부호화 장치는 움직임 보상 프레임의 필터링 블록별로 필터링 블록을 필터링하지 않는 경우의 부호화 비용이 필터링 블록을 필터링하는 경우의 부호화 비용을 초과하는지 여부를 판단하여 필터링 블록별로 필터링 여부를 결정할 수 있다. 즉, 블록별 필터링 영상 부호화 장치는 움직임 보상 프레임을 필터링 블록별로 선택적으로 필터링하는 것으로 결정된 경우, 움직임 보상 프레임을 필터링 블록 단위로 나누어 각 필터링 블록에 대해 필터링할지 여부를 결정하는데, 필터링 여부를 결정하기 위한 판단 기준은 부호화 비용이 될 수 있다. 예를 들어, 블록별 필터링 영상 부호화 장치는 움직임 보상 프레임의 매 필터링 블록마다 필터링하지 않은 경우와 필터링한 경우의 부호화 비용을 각각 계산하고, 계산된 부호화 비용을 비교하여 필터링하지 않은 경우의 부호화 비용이 필터링한 경우의 부호화 비용을 초과하는 경우에는 해당 필터링 블록에 대해서는 필터링하고, 필터링하지 않은 경우의 부호화 비용이 필터링한 경우의 부호화 비용보다 작거나 같은 경우에는 해당 필터링 블록에 대해서는 필터링하지 않을 수 있다. 이와 같이, 블록별 필터링 영상 부호화 장치는 움직임 보상 프레임을 블록별로 필터링하는 경우에도 필터링 블록별로 적응적으로 필터링 여부를 선택하여 필터링함으로써 부호화 효율을 더욱 향상시킬 수 있다.
단계S920에서, 블록별 필터링 영상 부호화 장치는 필터링 블록별이나 필터링 블록의 화소의 위치별로 다른 필터 또는 다른 필터 계수를 이용하여 필터링할 수 있다. 즉, 블록별 필터링 영상 부호화 장치는 필터링 블록마다 또는 필터링 블록의 화소의 위치마다 다른 필터를 이용하여 필터링하거나 다른 필터 계수를 이용하여 필터링할 수 있다. 이와 같이 필터링 블록별이나 필터링 블록의 화소의 위치별로 다른 필터 또는 다른 필터 계수를 이용하여 필터링하는 경우, 블록별 필터링 영상 부호화 장치는 필터링 블록마다 또는 필터링 블록의 화소의 위치마다 어떠한 필터를 이용하는지에 대한 정보를 추가로 부호화하여 비트스트림에 포함시키거나 필터링 블록마다 또는 필터링 블록의 화소의 위치마다 어떠한 필터 계수를 이용하는지에 대한 정보를 추가로 부호화하여 비트스트림에 포함시킬 수 있다. 만약, 본 발명의 다른 실시예에 따른 영상 부호화 장치와 영상 복호화 장치가 미리 어떠한 블록 또는 어떠한 화소의 위치에 소정의 필터 또는 소정의 필터 계수를 이용하여 필터링하기로 약속한 경우에는 어떠한 필터를 이용하는지에 대한 정보나 어떠한 필터 계수를 이용하는지에 대한 정보를 부호화할 필요가 없을 것이다.
또한, 블록별 필터링 영상 부호화 장치는 필터링 블록별로 필터링 여부를 나타내는 필터링 식별 정보를 추가로 부호화할 수 있다. 즉, 블록별 필터링 영상 부호화 장치는 움직임 보상 프레임을 필터링 블록별로 선택적으로 필터링하는 경우, 움직임 보상 프레임의 각 필터링 블록에 대해 필터링하였는지 여부를 나타내는 필터링 식별 정보를 부호화하여 비트스트림에 포함시킬 수 있다. 이러한 필터링 식별 정보는 각 필터링 블록에 대한 1비트의 플래그로 구현될 수 있으나 반드시 이에 한정되지 않고 다양한 방식으로 구현될 수도 있다. 또한, 필터링 식별 정보는 필터링 블록마다 생성되므로 적절한 방식으로 부호화되어 비트스트림에 포함될 수 있다. 이러한 필터링 식별 정보는 후술할 본 발명의 다른 실시예에 따른 영상 복호화 장치에서 움직임 보상 플레임에서 어느 필터링 블록이 필터링되었는지를 식별하는 데 활용된다.
한편, 블록별 필터링 영상 부호화 장치는 필터링 식별 정보를 부호화함으로써 많은 양의 오버헤드가 발생하여 부호화 효율이 더욱 저하되는 것을 방지하기 위해, 전술한 바와 같이 움직임 보상 프레임 전체를 필터링하는 경우의 부호화 비용과 움직임 보상 프레임을 필터링 블록별로 선택적으로 필터링하는 경우의 부호화 비용을 기초로 움직임 보상 프레임을 필터링 블록별로 선택적으로 필터링할지 여부를 결정한다.
또한, 블록별 필터링 영상 부호화 장치는 필터링 블록의 크기 또는 단위를 나타내는 필터링 블록 식별 정보를 추가로 부호화할 수 있다. 즉, 블록별 필터링 영상 부호화 장치는 어떠한 형태와 크기의 블록을 필터링 블록으로 이용하여 움직임 보상 프레임을 필터링 블록별로 필터링하였는지를 후술할 본 발명의 다른 실시예에 따른 영상 부호화 장치에게 알려 주기 위해, 필터링 블록의 크기 또는 단위를 나타내는 필터링 블록 식별 정보를 부호화하여 비트스트림에 포함시킬 수 있다. 만약, 본 발명의 다른 실시예에 따른 영상 부호화 장치와 영상 복호화 장치가 미리 소정의 크기의 필터링 블록을 이용하기로 약속한 경우에는 필터링 블록 식별 정보를 부호화할 필요가 없을 것이다.
단계S920에서 생성되는 필터링된 움직임 보상 프레임은 움직임 보상 프레임의 필터링되지 않은 필터링 블록과 필터링된 블록을 포함한다. 즉, 블록별 필터링 영상 부호화 장치는 움직임 보상 프레임을 필터링 블록별로 선택적으로 필터링하는 경우, 필터링한 필터링 블록들만이 아니라 필터링하지 않은 필터링 블록들도 포함하도록 움직인 보상 프레임을 생성하며, 이와 같이 생성된 움직임 보상 프레임이 필터링된 움직임 보상 프레임이 된다.
이와 같은 본 발명의 다른 실시예에 따른 필터링된 움직임 보상 프레임을 수학식으로 나타내면 수학식 10과 같이 나타낼 수 있다. 수학식 10에서는 필터링 블록의 특징에 따라서 선택적으로 필터링을 적용하는 식을 나타내었다.
Figure 112010081623713-pat00035
수학식 10에서,
Figure 112010081623713-pat00036
Figure 112010081623713-pat00037
화소 위치를 포함하고 있는 필터링 블록의 위치를 나타내며,
Figure 112010081623713-pat00038
Figure 112010081623713-pat00039
위치의 필터링 블록에 대해 필터링하는지 여부를 나타내는 필터링 식별 정보로서 이용되는 인덱스를 나타낸다.
Figure 112010081623713-pat00040
Figure 112010081623713-pat00041
번째 필터 계수를 나타내며,
Figure 112010081623713-pat00042
는 움직임 보상 프레임의
Figure 112010081623713-pat00043
좌표에 대한 화소값을 나타내며,
Figure 112010081623713-pat00044
는 필터링된 움직임 보상 프레임 내에서
Figure 112010081623713-pat00045
좌표에 대한 화소값을 나타낸다.
Figure 112010081623713-pat00046
에서 PP로 구분하여 특성이 유사한 필터링 블록이나 필터링 블록 내의 화소 위치별로 다른 필터나 필터 계수를 적용할 수 있다.
또한, 본 발명의 다른 실시예에서 필터링 블록이란 매크로블록 또는 서브블록 등과 같이 영상을 부호화하기 위한 소정의 부호화 단위로서의 블록일 수도 있지만, 반드시 이에 한정되지 않고 움직임 보상 프레임을 필터링하기 위해 설정되거나 소정의 기준에 따라 결정되는 형태와 크기의 블록일 수 있다. 또한, 설명의 편의를 위해 필터링 블록이라고 칭하였으나, 반드시 블록과 같은 형태가 아니라 원형, 마름모 형태, 삼각형 등 다양한 형태의 영역이 될 수도 있다.
도 10은 본 발명의 다른 실시예에 따라 부호화 비용을 기초로 움직임 보상 프레임 전체에 대해 필터링할지 또는 움직임 보상 프레임을 필터링 블록별로 선택적으로 필터링할지 여부를 결정하는 과정을 예시적으로 설명하기 위한 순서도이다.
블록별 필터링 영상 부호화 장치는 움직임 보상 프레임을 필터링하기 위한 필터 계수를 계산하고(S1010), 계산된 필터 계수를 이용하여 움직임 보상 프레임 전체를 필터링하며(S1020), 움직임 보상 프레임의 필터링 블록별로 필터링의 수행 여부를 결정하여(S1030), 단계 S1030의 결정에 따라 움직임 보상 프레임을 필터링 블록별로 선택적으로 필터링하며(S1040), 단계 S1040에 따라 필터링 블록별로 결정된 필터링 식별 정보는 계층적 블록 부호화 방법으로 부호화하고(S1050), 움직임 보상 프레임의 전체를 필터링한 경우의 부호화 비용과 필터링 블록별로 선택적으로 필터링한 경우의 부호화 비용을 기초로 필터링 방식을 선택한다(S1060). 이때, 부호화 비용을 계산하기 위해 이용될 수 있는 비용 함수로서는 율-왜곡 비용 등과 같은 다양한 비용 함수가 이용될 수 있다.
도 11은 본 발명의 다른 실시예에 따라 필터링 블록별로 필터링 수행 여부를 결정하는 과정을 예시적으로 설명하기 위한 순서도이다. 이 때, 필터링 블록은 임의 크기의 블록으로 설정될 수 있으며, 또한 부호화의 기본 블록 단위로 설정하는 것에 제한을 두지 않는다.
도 11에서는 단계 S1030에서 블록별 필터링 영상 부호화 장치가 움직임 보상 프레임의 필터링 블록별 필터링 여부를 결정하는 과정을 예시적으로 나타내었다.
움직임 보상 프레임의 필터링 블록마다 필터링을 수행할지 여부를 결정하기 전에 각 필터링 블록에 대한 필터 계수는 이미 계산된다. 도 11에서, j는 움직임 보상 프레임 내의 각 필터링 블록을 식별하기 위한 인덱스를 나타내며, jend는 움직임 보상 프레임 내의 필터링 블록의 총 개수를 나타내며,
Figure 112010081623713-pat00047
는 j 번째 필터링 블록의 필터링 수행 여부를 나타내는 필터링 식별 정보를 나타낸다.
Figure 112010081623713-pat00048
는 필터링 블록에 대해 필터링하지 않은 경우의 부호화 비용을 나타내며,
Figure 112010081623713-pat00049
는 필터링 블록에 대해 필터링한 경우의 부호화 비용을 나타낸다. 이때, 부호화 비용을 계산하기 위해 이용될 수 있는 비용 함수는 SSD(Sum of Squared Difference), SAD(Sum of Absolute Difference), SATD(Sum of Absolute Transformed Difference) 등 여러 가지가 이용될 수 있다.
예를 들어, SAD를 기초로 계산되는 경우, 임의의 필터링 블록에 대해 필터링하지 않은 경우의 부호화 비용
Figure 112010081623713-pat00050
는 수학식 11과 같이 계산될 수 있으며, 임의의 필터링 블록에 대해 필터링한 경우의 부호화 비용
Figure 112010081623713-pat00051
는 수학식 12와 같이 계산될 수 있다.
Figure 112010081623713-pat00052
Figure 112010081623713-pat00053
수학식 11에서, K와 L은 각 필터링 블록의 가로 크기와 세로 크기를 나타내며,
Figure 112010081623713-pat00054
Figure 112010081623713-pat00055
는 j 번째 필터링 블록의 좌측 상단의 좌표를 나타내고, k와 l은 필터링 블록 내의 각 화소의 좌표를 나타낸다.
Figure 112010081623713-pat00056
는 현재 프레임의 화소를 나타내고,
Figure 112010081623713-pat00057
은 움직임 보상 프레임의 화소를 나타내며,
Figure 112010081623713-pat00058
는 필터링된 움직임 보상 프레임의 화소를 나타낸다.
블록별 필터링 영상 부호화 장치는 움직임 보상 프레임의 0 번째 필터링 블록을 초기 필터링 블록으로 설정하고(S1110), 0 번째 필터링 블록에 대해 필터링하지 않은 경우의 부호화 비용
Figure 112010081623713-pat00059
를 계산하고(S1120), 0 번째 필터링 블록에 대해 필터링한 경우의 부호화 비용
Figure 112010081623713-pat00060
을 계산하며(S1130), 부호화 비용
Figure 112010081623713-pat00061
Figure 112010081623713-pat00062
를 비교하여
Figure 112010081623713-pat00063
Figure 112010081623713-pat00064
보다 큰지 여부를 판단한다(S1140). 블록별 필터링 영상 부호화 장치는 단계 S1140의 판단 결과,
Figure 112010081623713-pat00065
Figure 112010081623713-pat00066
보다 작거나 같은 경우에는 0 번째 필터링 블록에 대한 필터링 식별 정보
Figure 112010081623713-pat00067
를 0으로 설정하여 0 번째 필터링 블록에 대해서는 필터링하지 않는 것으로 결정하고(S1150),
Figure 112010081623713-pat00068
Figure 112010081623713-pat00069
보다 큰 경우에는 0 번째 필터링 블록에 대한 필터링 식별 정보
Figure 112010081623713-pat00070
를 1로 설정하여 0 번째 필터링 블록에 대해서는 필터링하는 것으로 결정한다(S1160). 이후 블록별 필터링 영상 부호화 장치는 필터링 식별 정보를 결정한 필터링 블록이 움직임 보상 프레임의 마지막 필터링 블록인지 여부를 판단하고(S1170), 마지막 필터링 블록이 아닌 경우에는 j를 1만큼 증가시켜 1 번째 필터링 블록에 대해 단계 S1120 내지 단계 S1170을 반복해서 수행하고(S1180), 마지막 필터링 블록인 경우에는 필터링 수행 여부에 대한 결정 과정을 종료한다.
도 12는 블록별 필터링 식별 정보의 부호화 과정을 예시적으로 나타내기 위한 도면이다. 상위 블록 단계에서 현재 블록이 분할되어 필터링 식별 정보를 부호화할 것인지 아니면, 하나의 필터링 식별 정보를 사용하여 현재 블록의 필터링 여부를 결정할 것인지에 대한 분할 식별 정보를 부호화한다. 분할하지 않고 필터링 식별 정보를 전송할 경우 더 이상 분할 식별 정보를 부호화하지 않고 필터링 식별 정보를 부호화한다. 분할되어 필터링 식별 정보를 부호화하는 경우는, 다시 분할 식별 정보를 부호화하여 추가로 분할하여 필터링 식별 정보를 부호화할 것인지, 더 이상 분할하지 않고 필터링 식별 정보를 부호화할 것인지에 대한 분할 식별 정보를 부호화한다. 만약, 현재 분할 계층이 최대 분할 계층이라면, 분할 식별 정보는 부호화하지 않고 필터링 식별 정보만 부호화하는 것으로 필터링 식별 정보의 부호화 과정을 종료한다. 이 같은 방법으로 현재 프레임의 모든 블록의 필터링 식별 정보를 부호화한다.
본 발명의 다른 실시예에 따른 영상 복호화 장치는 도 6을 통해 전술한 본 발명의 일 실시예에 따른 영상 복호화 장치(600)와 동일 또는 유사하게 구성된다. 즉, 본 발명의 다른 실시예에 따른 영상 복호화 장치는 비트스트림으로부터 추출되는 움직임 정보 데이터와 영상 부호화 데이터를 복호화하여 움직임 정보와 변환 및 양자화된 잔여 프레임을 복원하는 복호화기, 복원되는 변환 및 양자화된 잔여 프레임을 역 양자화 및 역 변환하여 잔여 프레임을 복원하는 역양자화기 및 역변환기, 복원되는 움직임 정보를 기초로 현재 프레임의 움직임을 보상하여 움직임 보상 프레임을 생성하고 움직임 보상 프레임을 필터링 블록별로 선택적으로 필터링하여 필터링된 움직임 보상 프레임을 생성하는 예측기 및 복원되는 잔여 프레임과 필터링된 움직임 보상 프레임을 가산하여 현재 프레임을 복원하는 가산기를 포함하여 구성될 수 있다.
본 발명의 다른 실시예에 따른 영상 복호화를 위한 인터 예측 장치는 도7을 통해 전술한 본 발명의 일 실시예에 따른 영상 복호화를 위한 인터 예측 장치와 동일 또는 유사하게 구성된다. 즉, 본 발명의 다른 실시예에 따른 영상 복호화를 위한 인터 예측 장치는 본 발명의 다른 실시예에 따른 영상 복호화 장치의 예측기로서 구현될 수 있으며, 비트스트림으로부터 추출되고 복호화되어 복원되는 움직임 정보를 기초로 움직임 보상 블록을 생성하고 움직임 보상 블록을 포함하는 움직임 보상 프레임을 생성하는 움직임 보상기 및 움직임 보상 프레임을 필터링 블록별로 선택적으로 필터링하는 움직임 보상 필터를 포함하여 구성될 수 있다.
본 발명의 다른 실시예에 따른 영상 복호화 장치와 영상 복호화를 위한 인터 예측 장치에 대해서는 후술하는 과정에서 본 발명의 다른 실시예에 따른 영상 복호화 방법을 통해 상세히 설명한다. 이하에서는 설명의 편의를 위해, 본 발명의 다른 실시예에 따른 영상 복호화 장치를 블록별 필터링 영상 복호화 장치라 칭한다.
도 13은 본 발명의 다른 실시예에 따른 영상 복호화 방법을 설명하기 위한 순서도이다.
본 발명의 다른 실시예에 따른 영상 복호화 방법에 따르면, 블록별 필터링 영상 복호화 장치는 비트스트림을 복호화하여 복원되는 움직임 정보를 기초로 현재 프레임의 움직임을 보상하여 움직임 보상 프레임을 생성하고(S1310), 움직임 보상 프레임을 필터링 블록별로 선택적으로 필터링하여 필터링된 움직임 보상 프레임을 생성하며(S1320), 비트스트림을 복호화하여 복원되는 잔여 프레임과 필터링된 움직임 보상 프레임을 가산하여 현재 프레임을 복원한다(S1330).
단계 S1320에서, 블록별 필터링 영상 복호화 장치는 비트스트림을 복호화하여 복원되는 블록별 필터링 적용 정보를 기초로 움직임 보상 프레임을 필터링 블록별로 선택적으로 필터링할 수 있다. 필터링 블록별 필터링 식별 정보는 계층적 구조에 따라 필터링 블록의 분할 식별 정보에 따라 복호화되며, 더 이상 분할되지 않는 단계에서 필터링 식별 정보를 복호화한다. 즉, 블록별 필터링 영상 복호화 장치는 비트스트림을 복호화하여 블록별 필터링 식별 정보를 복원하고, 복원되는 블록별 필터링 적용 정보를 기초로 움직임 보상 프레임을 전체에 대해 필터링해야 할지 또는 움직임 보상 프레임을 필터링 블록별로 선택적으로 필터링해야 할지 여부를 판단하여 판단한 결과에 따라 움직임 보상 프레임을 전체에 대해 필터링하거나 움직임 보상 프레임을 필터링 블록별로 선택적으로 필터링한다. 만약, 본 발명의 다른 실시예에 따른 영상 부호화 장치와 영상 복호화 장치가 미리 움직임 보상 프레임을 필터링 블록별로 선택적으로 필터링하기로 약속하거나 움직임 보상 프레임 전체를 필터링하기로 약속한 경우에는 블록별 필터링 적용 정보를 복원할 필요가 없을 것이다.
단계S1320에서, 블록별 필터링 영상 복호화 장치는 비트스트림을 복호화하여 복원되는 필터링 식별 정보를 기초로 움직임 보상 프레임의 필터링 블록 중 필터링할 필터링 블록을 선택할 수 있다. 즉, 움직임 보상 프레임을 필터링 블록별로 선택적으로 필터링하는 경우, 블록별 필터링 영상 복호화 장치는 비트스트림을 복호화하여 필터링 식별 정보를 복원하고, 필터링 식별 정보에 의해 식별되는 필터링 블록에 대해서만 필터링을 수행한다.
단계S1320에서, 블록별 필터링 영상 복호화 장치는 필터링 블록별이나 필터링 블록의 화소의 위치별로 다른 필터 또는 다른 필터 계수를 이용하여 필터링할 수 있다. 즉, 블록별 필터링 영상 복호화 장치는 비트스트림으로부터 어떠한 필터 또는 어떠한 필터 계수를 이용하는지에 대한 정보를 복원할 수 있으며, 복원되는 정보에 따라 필터링 블록별이나 필터링 블록의 화소의 위치별로 다른 필터 또는 다른 필터 계수를 이용하여 필터링한다. 만약, 본 발명의 다른 실시예에 따른 영상 부호화 장치와 영상 복호화 장치가 미리 어떠한 블록 또는 어떠한 화소의 위치에 소정의 필터 또는 소정의 필터 계수를 이용하여 필터링하기로 약속한 경우에는 어떠한 필터 또는 어떠한 필터 계수를 이용하는지에 대한 정보를 복원할 필요가 없을 것이다.
단계S1320에서, 블록별 필터링 영상 복호화 장치는 비트스트림을 복호화하여 복원되는 필터링 블록 식별 정보에 의해 식별되는 크기의 블록을 필터링 블록으로서 결정할 수 있다. 즉, 움직임 보상 프레임을 필터링 블록별로 선택적으로 필터링하는 경우, 블록별 필터링 영상 복호화 장치는 블록별 필터링 영상 부호화 장치에서 필터링한 필터링 블록과 동일한 크기의 블록 단위로 필터링하기 위해, 비트스트림으로부터 필터링 블록 식별 정보를 복원하고 복원되는 필터링 블록 식별 정보에 의해 식별되는 크기 및/또는 형태의 블록을 필터링 블록으로 설정하여 필터링한다.
이와 같이 생성되는 필터링된 움직임 보상 프레임은 움직임 보상 프레임의 필터링되지 않은 필터링 블록과 필터링된 필터링 블록을 포함할 수 있다. 즉, 움직임 보상 프레임을 필터링 블록별로 선택적으로 필터링하는 경우, 움직임 보상 프레임의 필터링되지 않은 필터링 블록과 필터링된 필터링 블록을 모두 포함하는 움직임 보상 프레임을 필터링된 움직임 보상 프레임으로서 생성한다.
한편, 본 발명의 일 실시예에 따른 영상 부호화/복호화 장치는 도 1의 영상 부호화 장치(100)의 부호화데이터(비트스트림) 출력단을 도 6의 영상 복호화 장치(600)의 부호화 데이터(비트스트림) 입력단에 연결함으로써 구현할 수 있다.
본 발명의 일 실시예에 따른 영상 부호화/복호화 장치는, 현재 프레임의 움직임을 추정하고 보상하여 생성되는 움직임 보상 프레임을 필터링 블록별로 선택적으로 필터링하여 필터링된 움직임 보상 프레임을 생성하고 현재 프레임과 필터링된 움직임 보상 프레임을 감산하여 잔여 프레임을 생성하고 변환 및 양자화하고 부호화하는 영상부호화기; 및 비트스트림으로부터 추출되는 움직임 정보 데이터와 영상 부호화 데이터를 복호화하여 움직임 정보와 변환 및 양자화된 잔여 프레임을 복원하고 역 양자화 및 역 변환하여 잔여 프레임을 복원하고 복원되는 움직임 정보를 기초로 현재 프레임의 움직임을 보상하여 움직임 보상 프레임을 생성하고 움직임 보상 프레임을 필터링 블록별로 선택적으로 필터링하여 필터링된 움직임 보상 프레임을 생성하고 복원되는 잔여 프레임과 필터링된 움직임 보상 프레임을 가산하여 현재 프레임을 복원하는 영상복호화기를 포함한다.
여기서 영상 부호화기는 본 발명의 일 실시예에 따른 영상 부호화 장치(100)로 구현 가능하며, 영상 복호화기는 본 발명의 일 실시예에 따른 영상 복호화 장치(600)로 구현 가능하다.
본 발명의 일 실시예에 따른 영상 부호화/복호화 방법은, 본 발명의 일 실시예에 따른 영상 부호화 방법과 본 발명의 일 실시예에 따른 영상 복호화 방법을 결합하여 구현함으로써 실현할 수 있다.
본 발명의 일 실시예에 따른 영상 부호화/복호화 방법은, 영상을 부호화/복호화하는 방법에 있어서, 상기 영상의 현재 프레임의 움직임을 추정하고 보상하여 움직임 보상 프레임을 생성하고 상기 움직임 보상 프레임을 필터링 블록별로 선택적으로 필터링하여 필터링된 움직임 보상 프레임을 생성하고 상기 현재 프레임과 상기 필터링된 움직임 보상 프레임의 차인 잔여 프레임을 변환 및 양자화하고 부호화하는 영상부호화단계; 및 비트스트림을 복호화하여 복원되는 움직임 정보를 기초로 현재 프레임의 움직임을 보상하여 움직임 보상 프레임을 생성하고 상기 움직임 보상 프레임을 필터링 블록별로 선택적으로 필터링하여 필터링된 움직임 보상 프레임을 생성하고 상기 비트스트림을 복호화하여 복원되는 잔여 프레임과 상기 필터링된 움직임 보상 프레임을 가산하여 현재 프레임을 복원하는 영상복호화단계를 포함한다.
여기서 영상 부호화단계는 본 발명의 일 실시예에 따른 영상 부호화 방법으로 구현 가능하며, 영상 복호화단계는 본 발명의 일 실시예에 따른 영상 복호화 방법으로 구현 가능하다.
이상에서 전술한 바와 같이, 본 발명의 다른 실시예에 따르면, 영상을 예측 부호화하는 데 있어서, 움직임 추정 및 움직임 보상을 통해 생성되는 움직임 보상 프레임에 잔재하는 시간적 중복성을 제거하여 압축 효율을 더욱 향상시킬 수 있을 뿐만 아니라, 움직임 보상 프레임 내에서 필터링하는 것이 더욱 효율적인 블록에 대해서만 필터링하고 필터링하지 않는 것이 더욱 효율적인 블록에 대해서는 필터링하지 않음으로써, 압축 효율을 더욱 향상시킬 수 있거나 부호화된 후 복호화되어 재생되는 복원 영상의 화질의 열화를 더욱 줄일 수 있다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
이상에서 설명한 바와 같이 본 발명의 실시예에 의하면, 동영상을 부호화 복호화하는 영상 압축 처리 분야에 적용되어, 움직임 추정 및 움직임 보상을 통해 생성되는 움직임 보상 프레임에 잔재하는 시간적 중복성을 제거하여 압축 효율을 더욱 향상시킬 수 있는 효과를 발생하는 매우 유용한 발명이다.

Claims (42)

  1. 삭제
  2. 영상을 부호화하는 장치에 있어서,
    상기 영상의 현재 프레임의 움직임을 추정하고 보상하여 생성되는 움직임 보상 프레임을 필터링 블록별로 선택적으로 필터링하여 필터링된 움직임 보상 프레임을 생성하는 예측기;
    상기 현재 프레임과 상기 필터링된 움직임 보상 프레임을 감산하여 잔여 프레임을 생성하는 감산기;
    상기 잔여 프레임을 변환 및 양자화하는 변환기 및 양자화기; 및
    상기 변환 및 양자화된 잔여 프레임을 부호화하는 부호화기;
    를 포함하고,
    상기 부호화기는,
    상기 필터링 블록별 또는 필터링 블록의 묶음 또는 조합 단위로 필터링 여부를 나타내는 필터링 식별 정보를 부호화하는 것을 특징으로 하는 영상 부호화 장치.
  3. 제 2 항에 있어서, 상기 예측기는,
    상기 움직임 보상 프레임이 전체적으로 필터링된 움직임 보상 프레임에 대한 부호화 비용보다 상기 필터링 블록별로 선택적으로 필터링된 움직임 보상 프레임에 대한 부호화 비용이 더 작은 경우, 상기 움직임 보상 프레임을 필터링 블록별로 선택적으로 필터링하는 것을 특징으로 하는 영상 부호화 장치.
  4. 제 2 항에 있어서, 상기 예측기는,
    상기 움직임 보상 프레임의 필터링 블록별로 필터링 블록을 필터링하는 경우의 부호화 비용이 필터링 블록을 필터링하지 않는 경우의 부호화 비용을 초과하는지 여부를 판단하여 상기 필터링 블록별로 필터링 여부를 결정하는 것을 특징으로 하는 영상 부호화 장치.
  5. 제 2 항에 있어서, 상기 필터링된 움직임 보상 프레임은,
    상기 움직임 보상 프레임의 필터링되지 않은 필터링 블록과 필터링된 블록을 포함하는 것을 특징으로 하는 영상 부호화 장치.
  6. 제 2 항에 있어서, 상기 예측기는,
    상기 필터링 블록별이나 상기 필터링 블록의 화소의 위치별로 다른 필터 또는 다른 필터 계수를 이용하여 필터링하는 것을 특징으로 하는 영상 부호화 장치.
  7. 삭제
  8. 제 2 항에 있어서, 상기 부호화기는,
    상기 필터링 블록은 기본 부호화 블록을 사용하여 필터링 식별 정보를 부호화하는 것을 특징으로 하는 영상 부호화 장치.
  9. 제 2 항에 있어서, 상기 부호화기는,
    계층적 필터링 블록 구조를 사용하여 분할 식별 정보와 필터링 식별 정보를 사용하여 필터링 블록의 부호화 여부를 부호화하는 것을 특징으로 하는 영상 부호화 장치.
  10. 제 2 항에 있어서, 상기 부호화기는,
    상기 필터링 블록의 크기 또는 단위를 나타내는 필터링 블록 식별 정보를 부호화하는 것을 특징으로 하는 영상 부호화 장치.
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
  31. 영상을 복호화하는 방법에 있어서,
    비트스트림을 복호화하여 복원되는 움직임 정보를 기초로 현재 프레임의 움직임을 보상하여 움직임 보상 프레임을 생성하는 단계;
    상기 움직임 보상 프레임을 필터링 블록별로 선택적으로 필터링하여 필터링된 움직임 보상 프레임을 생성하는 단계; 및
    상기 비트스트림을 복호화하여 복원되는 잔여 프레임과 상기 필터링된 움직임 보상 프레임을 가산하여 현재 프레임을 복원하는 단계;
    를 포함하고,
    상기 필터링된 움직임 보상 프레임을 생성하는 단계는,
    상기 비트스트림을 복호화하여 복원되는 필터링 식별 정보를 기초로 상기 움직임 보상 프레임의 필터링 블록 중 필터링할 필터링 블록을 선택하는 것을 특징으로 하는 영상 복호화 방법.
  32. 제 31 항에 있어서, 상기 필터링된 움직임 보상 프레임을 생성하는 단계는,
    상기 비트스트림을 복호화하여 복원되는 블록별 필터링 적용 정보를 기초로 상기 움직임 보상 프레임을 상기 필터링 블록별로 선택적으로 필터링하는 것을 특징으로 하는 영상 복호화 방법.
  33. 삭제
  34. 제 31 항에 있어서, 상기 필터링된 움직임 보상 프레임은,
    상기 움직임 보상 프레임의 필터링되지 않은 필터링 블록과 필터링된 필터링 블록을 포함하는 것을 특징으로 하는 영상 복호화 방법.
  35. 제 31 항에 있어서, 상기 필터링된 움직임 보상 프레임을 생성하는 단계는,
    상기 필터링 블록별이나 상기 필터링 블록의 화소의 위치별로 다른 필터 또는 다른 필터 계수를 이용하여 필터링하는 것을 특징으로 하는 영상 복호화 방법.
  36. 제 31 항에 있어서, 상기 필터링된 움직임 보상 프레임을 생성하는 단계는,
    상기 비트스트림을 복호화하여 복원되는 필터링 블록 식별 정보에 의해 식별되는 크기의 블록을 상기 필터링 블록으로서 결정하는 것을 특징으로 하는 영상 복호화 방법.
  37. 제 36 항에 있어서, 상기 필터링 식별 정보를 복원하는 단계는,
    상기 비트스트림을 복호화하여 복원되는 필터링 블록 단위의 필터링 식별 정보에 의해 프레임 단위와 필터링 블록 단위 중 복호화 시 사용할 필터링 단위를 결정하는 것을 특징으로 하는 영상 복호화 방법.
  38. 제 37 항에 있어서, 상기 필터링 블록 단위의 필터링 식별 정보를 복원하는 단계는,
    상기 비트스트림을 복호화하여 복원되는 필터링 블록 크기 정보에 의해 필터링 블록의 크기 정보를 복원하는 단계를 포함하는 것을 특징으로 하는 영상 복호화 방법.
  39. 제 37 항에 있어서, 상기 필터링 블록 단위의 필터링 식별 정보를 복원하는 단계는,
    기본 부호화 블록단위로 필터링 블록의 식별 정보를 복원하여 필터링 여부를 결정하는 것을 특징으로 하는 영상 복호화 방법.
  40. 제 37 항에 있어서, 상기 필터링 블록 단위의 필터링 식별 정보를 복원하는 단계는,
    상기 비트스트림을 복호화하여 복원되는 필터링 블록 식별 정보에 의해 다양한 필터링 블록 크기를 고려한 계층적 구조의 필터링 블록에 대한 필터링 여부를 결정하는 것을 특징으로 하는 영상 복호화 방법.
  41. 삭제
  42. 삭제
KR1020100126443A 2009-12-11 2010-12-10 움직임 보상 프레임의 선택적 필터링을 이용한 영상 부호화/복호화 방법 및 장치와 그를 위한 인터 예측 방법 및 장치 KR101432779B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/KR2010/008868 WO2011071347A2 (ko) 2009-12-11 2010-12-10 움직임 보상 프레임의 선택적 필터링을 이용한 영상 부호화/복호화 방법 및 장치와 그를 위한 인터 예측 방법 및 장치

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020090123538 2009-12-11
KR20090123538 2009-12-11

Publications (2)

Publication Number Publication Date
KR20110066888A KR20110066888A (ko) 2011-06-17
KR101432779B1 true KR101432779B1 (ko) 2014-08-25

Family

ID=44399604

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100126443A KR101432779B1 (ko) 2009-12-11 2010-12-10 움직임 보상 프레임의 선택적 필터링을 이용한 영상 부호화/복호화 방법 및 장치와 그를 위한 인터 예측 방법 및 장치

Country Status (1)

Country Link
KR (1) KR101432779B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11132819B2 (en) 2018-12-13 2021-09-28 Konkuk University Industrial Cooperation Corp Method and apparatus for decoding multi-view video information

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120090740A (ko) * 2011-02-07 2012-08-17 (주)휴맥스 정밀한 단위의 필터 선택을 적용한 영상 부호화/복호화 장치 및 방법
KR101830352B1 (ko) * 2011-11-09 2018-02-21 에스케이 텔레콤주식회사 스킵모드를 이용한 동영상 부호화 및 복호화 방법 및 장치
EP3364653A4 (en) 2015-10-16 2019-07-10 LG Electronics Inc. FILTRATION METHOD AND DEVICE FOR IMPROVING THE PREDICTION IN A BILDCODING SYSTEM

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080089624A (ko) * 2006-01-04 2008-10-07 프리스케일 세미컨덕터, 인크. 고속 움직임 추정을 위한 시스템 및 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080089624A (ko) * 2006-01-04 2008-10-07 프리스케일 세미컨덕터, 인크. 고속 움직임 추정을 위한 시스템 및 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11132819B2 (en) 2018-12-13 2021-09-28 Konkuk University Industrial Cooperation Corp Method and apparatus for decoding multi-view video information

Also Published As

Publication number Publication date
KR20110066888A (ko) 2011-06-17

Similar Documents

Publication Publication Date Title
KR101984764B1 (ko) 영상 부호화/복호화 장치 및 방법
US11388393B2 (en) Method for encoding video information and method for decoding video information, and apparatus using same
KR101997604B1 (ko) 영상 부호화/복호화 방법 및 장치
KR101712156B1 (ko) 임의의 형태의 블록을 이용한 인터예측에 의한 영상의 부호화/복호화 방법 및 장치
KR101943049B1 (ko) 영상 부호화/복호화 방법 및 장치
KR101444675B1 (ko) 영상 부호화 및 복호화 방법과 장치
KR101955374B1 (ko) 고속 코딩 단위(Coding Unit) 모드 결정을 통한 부호화/복호화 방법 및 장치
KR101648065B1 (ko) 고정밀 필터를 이용한 영상 부호화/복호화 방법 및 장치
KR20130085838A (ko) 가중치예측을 이용한 영상 부호화/복호화 방법 및 장치
KR101418101B1 (ko) 저주파수 성분을 고려한 영상 부호화/복호화 방법 및 장치
KR20130011878A (ko) 연성 디블록킹 필터링을 이용한 부호화/복호화 방법 및 장치
KR101763113B1 (ko) 노이즈성분을 위한 공간영역에서의 영상 부호화/복호화 방법 및 장치
KR101379190B1 (ko) 적응적인 해상도 기반의 영상 부호화/복호화 방법 및 장치
KR101763111B1 (ko) 다양한 형태의 블록 분할을 이용하는 영상 부호화/복호화 장치 및 방법
KR101943058B1 (ko) 영상 부호화/복호화 방법 및 장치
KR101432779B1 (ko) 움직임 보상 프레임의 선택적 필터링을 이용한 영상 부호화/복호화 방법 및 장치와 그를 위한 인터 예측 방법 및 장치
KR101449683B1 (ko) 움직임 벡터 해상도 제한을 이용한 움직임 벡터 부호화/복호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
KR101527148B1 (ko) 인터 예측 장치 및 그를 이용한 영상 부호화/복호화 장치와방법
KR101943425B1 (ko) 비균등 양자화를 이용한 효과적인 부호화/복호화 방법 및 장치
KR101379189B1 (ko) 움직임 보상 프레임의 필터링을 이용한 영상 부호화/복호화 방법 및 장치
KR101537767B1 (ko) 서브블록 내 임의 화소를 이용한 영상 부호화/복호화 방법 및 장치
KR101483495B1 (ko) 서브블록 내 임의 화소를 이용한 영상 부호화/복호화 방법 및 장치
KR101693284B1 (ko) 전역움직임을 기반하여 결정된 부호화구조를 이용한 영상 부호화/복호화 방법 및 장치
KR101534014B1 (ko) 서브블록 내 임의 화소를 이용한 영상 부호화/복호화 방법 및 장치
KR101464949B1 (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
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20170808

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190626

Year of fee payment: 6