KR100714071B1 - 적응적으로 세분화된 gop 구조를 이용한 mctf-기반동영상 부호화 및복호화 방법 - Google Patents

적응적으로 세분화된 gop 구조를 이용한 mctf-기반동영상 부호화 및복호화 방법 Download PDF

Info

Publication number
KR100714071B1
KR100714071B1 KR1020050098147A KR20050098147A KR100714071B1 KR 100714071 B1 KR100714071 B1 KR 100714071B1 KR 1020050098147 A KR1020050098147 A KR 1020050098147A KR 20050098147 A KR20050098147 A KR 20050098147A KR 100714071 B1 KR100714071 B1 KR 100714071B1
Authority
KR
South Korea
Prior art keywords
gop
size
encoding
bitstream
mctf
Prior art date
Application number
KR1020050098147A
Other languages
English (en)
Other versions
KR20060054080A (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
Priority claimed from KR1020050031712A external-priority patent/KR20060045796A/ko
Application filed by 한국전자통신연구원, 학교법인 경희대학교 filed Critical 한국전자통신연구원
Publication of KR20060054080A publication Critical patent/KR20060054080A/ko
Application granted granted Critical
Publication of KR100714071B1 publication Critical patent/KR100714071B1/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/177Methods 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 group of pictures [GOP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • H04N19/615Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding using motion compensated temporal filtering [MCTF]
    • 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/103Selection of coding mode or of prediction mode
    • H04N19/114Adapting the group of pictures [GOP] structure, e.g. number of B-frames between two anchor frames
    • 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
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/192Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/31Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the temporal domain
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • 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
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • 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/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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]

Abstract

본 발명은 적응적으로 세분화된 GOP(Group of Picture) 구조를 이용하여 동영상 시퀀스에 대한 MCTF(Motion-Compensated Temporal Filtering)-기반 부호화를 수행하기 위한 방법을 제공한다. 상기 방법은, 상기 동영상 시퀀스의 선정된 2N 프레임 크기 GOP 각각에 대하여, (a) 상기 최대 2N 크기부터 최소 2M(M은 1 이상이고 N보다는 작은 정수임) 크기의 상이한 GOP 단위 각각에 기반하여 부호화를 수행하고 MCTF를 수행하여 도출된 프레임과 상기 부호화 후에 재구성된 프레임간의 차이값을 구하는 단계와, (b) 상기 상이한 GOP 단위 각각의 부호화 결과로부터 구해진 상기 차이값에 기반하여 적어도 1개 이상의 세부 GOP를 선택하는 단계와, (c) 상기 선택된 적어도 1개 이상의 세부 GOP에 근거하여 상기 선정된 2N 프레임 크기의 GOP를 부호화함으로써 비트스트림을 생성하는 단계를 포함하는 것을 특징으로 한다.
다. 본 발명에 따르면, MCTF를 이용한 동영상 부호화시에 GOP 크기를 성능에 따라 적응적으로 세분하여 부호화함으로써 높은 부호화 효율을 얻을 수 있다.
MCTF(Motion Compensated Temporal Filtering), 동영상 부호화, 적응적 GOP 구조.

Description

적응적으로 세분화된 GOP 구조를 이용한 MCTF-기반 동영상 부호화 및복호화 방법{Method for encoding/decoding video sequence based on MCTF using adaptively-adjusted GOP structure}
도 1은 GOP 크기가 8인 경우의 영상 시퀀스의 부호화 개념을 도시한 도면.
도 2는 분해 레벨이 4인 경우의 MCTF 수행 과정을 도시한 도면.
도 3은 Foreman QCIF 15Hz 영상 시퀀스의 일부분(GOP=8)을 도시한 도면.
도 4는 축구 QCIF 15Hz 영상 시퀀스의 일부분(GOP=8)을 도시한 도면.
도 5는 다량의 인트라 블록이 포함된 예측 영상의 예를 도시한 도면.
도 6은 축구 QCIF 7.5Hz 영상을 GOP를 변경시키며 부호화한 결과 그래프.
도 7은 축구 QCIF 15Hz 영상을 GOP를 변경시키며 부호화한 결과 그래프.
도 8은 축구 QCIF 15Hz 영상 17-24 프레임의 MCTF 과정(GOP=8).
도 9는 축구 QCIF 15Hz 영상 17-24 프레임의 MCTF 과정(GOP=4).
도 10은 축구 QCIF 15Hz 영상 17-24 프레임의 MCTF 과정(GOP=2).
도 11은 Foreman QCIF 15Hz 영상을 GOP를 변경시키며 부호화한 결과 그래프.
도 12는 축구 QCIF 15Hz 영상 17~24프레임의 PSNR 그래프.
도 13은 Foreman QCIF 15Hz 영상 137~144프레임의 PSNR 그래프.
도 14는 Foreman QCIF 15Hz 영상 97~104프레임의 PSNR 그래프.
도 15는 Foreman QCIF 15Hz 영상 97~112프레임의 PSNR와 목표 성능치를 도시한 그래프.
도 16은 본 발명의 일실시예에 따른 적응적 GOP 구조 기반 동영상 부호화 알고리즘을 나타낸 흐름도.
도 17은 도 16에 도시된 모드 결정 과정을 좀더 구체적으로 도시한다.
도 18은 16 프레임 크기의 GOP 내에서 각 GOP 단위의 MSE값을 취하는 위치를 개념적으로 도시한다.
도 19는 본 발명의 일실시예에 따라 MSE값에 기반하여 16 프레임 크기의 GOP를 적응적으로 세분화하는 실제 과정을 개념적으로 나타낸 도면이다.
도 20은 도 19에서 세분화된 GOP 구조에 기반하여 부호화한 경우의 프레임 단위 PSNR 결과 그래프를 도시한다.
도 21은 본 발명의 일실시예에 따른 모드 결정 과정을 나타낸 흐름도이다.
도 22는 탑승원 영상 시퀀스에 대한 HHI 코덱의 부호화 결과와 본 발명에 따른 적응적 GOP 구조 기반 부호화 결과의 비교 그래프 (QCIF, CIF).
도 23은 탑승원 영상 시퀀스에 대한 4CIF의 HHI 코덱의 부호화 결과와 본 발명에 따른 적응적 GOP 구조 기반 부호화 결과의 비교 그래프.
도 24는 탑승원 QCIF 15Hz영상 시퀀스에 대한 본발명에 따라 적응적으로 세분화된 GOP 구조를 도시한다.
도 25는 탑승원 영상(241 프레임)에 대한 HHI 코덱 결과와 본 발명에 따른 적응적 GOP 구조 기반 부호화 결과의 주관적인 화질 비교를 나타낸다.
도 26은 탑승원 영상(279 프레임)에 대한 HHI 코덱 결과와 본 발명에 따른 적응적 GOP 구조 기반 부호화 결과의 주관적인 화질 비교를 나타낸다.
도 27은 탑승원 영상(298 프레임)에 대한 HHI 코덱 결과와 본 발명에 따른 적응적 GOP 구조 기반 부호화 결과의 주관적인 화질 비교를 나타낸다.
도 28은 축구 영상 시퀀스에 대한 QCIF와 CIF의 HHI의 코덱 결과와 본 발명에 따른 적응적 GOP 구조 기반 부호화 결과의 비교 그래프(QCIF, CIF).
도 29는 축구 영상 시퀀스에 대한 4CIF의 HHI의 코덱과 지능형 GOP 선택 부호화의 결과 비교 그래프(4CIF).
도 30은 축구 QCIF 15Hz 영상 시퀀스에 대하여 본 발명에 따라 적응적으로 세분화된 GOP 구조를 도시한다.
도 31은 축구 영상 시퀀스에 대한 QCIF와 CIF의 HHI의 코덱 결과와 본 발명에 따른 적응적 GOP 구조 기반 부호화 결과의 비교 그래프(QCIF, CIF).
도 32는 축구 QCIF 15Hz 영상 시퀀스에 대하여 본 발명에 따란 적응적으로 세분화된 GOP 구조를 도시한다.
도 33은 본 발명의 일실시예에 따라 “gop_divide_bit”가 추가된 GOP 비트스트림의 구성을 도시한다.
도 34는 GOP 크기가 16인 경우에, 본 발명에 따라 GOP가 (2,2,4,8)로 세분화되어 부호화된 비트스트림의 예를 도시한다.
도 35는 도 34에 도시된 비트스트림을 본 발명의 일실시예에 따라 복호화하는 과정을 도시한다.
도 36은 16 프레임 크기 GOP 에 대하여 본 발명에 따라 적응적으로 세분화된 GOP 구조의 예를 도시한다.
도 37은 본 발명에 따라 16 프레임 크기의 GOP가 (8,4,2,2)로 세분화되어 부호화되는 과정을 도시한다.
도 38은 본 발명의 일실시예에 따른 시간적 스케일러블 기능을 제공하기 위해 디코더측 비트스트림 추출기(extractor)에서 수행되는 1/n 해상도 지원 알고리즘의 흐름도를 도시한다.
도 39는 본 발명에 따라 변경된 JSVM(Joint Scalable Video Model) 2.0의 스케일러빌리티 정보(Scalability Information) SEI 메시지의 신택스(syntax)를 나타낸다.
본 발명은 동영상 부호화/복호화에 관한 것으로, 구체적으로는 지능적으로 세분화된 GOP 구조를 이용하여 MCTF(Motion Compensated Temporal Filtering)에 기반한 동영상 부호화 방법 및 이에 따라 부호화된 비트스트림을 복호화하기 위한 방법에 관한 것이다.
움직임 정보를 이용하여 시간 방향으로 웨이블릿 변환(Wavelet Transform)을 수행함으로써 부호화의 효율성을 향상시키는 MCTF(Motion Compensated Temporal Filtering)를 이용하는 동영상 부호화 방법이 있다. MCTF를 이용한 기존의 동영상 부호화 방법은 보통 2의 승수 단위로 고정되어 있는 GOP(Group of Picture) 단위로 부호화를 수행한다.
도 1은 영상 시퀀스의 GOP 크기가 8인 경우의 부호화 개념을 보여준다. 1개의 GOP에서 승수만큼 MCTF를 반복적으로 수행하는데, 한 번의 MCTF 수행을 분해(Decomposition)과정이라 하며, 1개의 GOP 내에서의 MCTF의 수행 계층을 분해 레벨(Decomposition Level)이라 표현한다. 예측(prediction) 과정에서 움직임 예측을 통하여 움직임 정보를 얻고 움직임 정보를 이용하여 움직임 방향으로 웨이블릿 변환을 수행한다. 사용되는 웨이블릿 변환은 Haar 웨이블릿 변환, 5/3 spline 웨이블릿 변환을 예로 들 수 있다.
기존 동영상 부호화의 움직임 예측과정에서와 같이, MCTF의 예측(prediction) 과정에서도 움직임을 예측할 수 없는 영역이 반드시 생긴다. 공간 영역(Spatial Domain)의 변환에 웨이블릿 변환을 사용하는 동영상 부호화 기법의 경우는 공간 영역의 변환 대상이 영상 전체가 되기 때문에 예측할 수 없는 영역, 즉 인트라 영역의 영향 때문에 부호화 효율이 떨어진다. 이런 문제를 해결하기 위한 방법론들이 제시되고 있으나 아직 특별한 해결점을 찾지 못하고 있다. 공간 영역의 변환을 웨이블릿 변환이 아닌 MPEG-1, MPEG-2, MPEG-4 Part 2 Visual, MPEG-4 Part 10 AVC(Advance Video Coding) 또는 ITU-T H.264등 기존의 동영상 국제 표준에서 사용되는 블록 단위 부호화 단위로 변환하는 방법을 사용하여 구현하는 경우에, MCTF를 블록 단위로 수행할 수 있기 때문에 인트라 블록과 인터 블록으로 나누어 부호화를 할 수 있게 된다. 블록 단위 MCTF를 수행할 때 한 방향에서 움직임 예측을 할 경우에는 Haar 웨이블릿 변환을 사용하고 양방향에서 움직임 예측을 할 경우에는 5/3 spline 웨이블릿 변환을 사용하여 구현한다. 움직임 예측을 할 수 없는 경우이거나 움직임 예측을 하는 경우가 인트라 부호화를 하는 경우보다 효율이 떨어지는 경우에는 인트라 부호화를 수행한다.
MCTF 수행과정에서 높은 분해 레벨일수록 예측(Prediction) 과정에서 움직임 예측을 할 때 참조되는 영상이 시간적으로 멀리 위치하게 된다. 따라서 현재 예측되는 영상과의 상관도가 떨어질 가능성이 높게 된다. 도 2는 분해 레벨이 4일 경우의 MCTF 수행 과정을 도시한다. 도시된 바와 같이, H3과 H4 영상을 예측하는 경우 참조하는 영상이 시간적으로 멀리 위치함을 확인할 수 있다. (GOP 내의 첫 영상은 이전의 GOP의 마지막 저주파 영상으로 참조만 한다)
예측 효율은 동영상 시퀀스의 움직임의 정도와 관련된다. 도3은 Foreman QCIF 15Hz 영상 시퀀스의 일부분으로 GOP 내에서의 영상 변화가 거의 없음을 볼 수 있다. 이와 같이 움직임이 어느 정도 정적인 영상에서의 MCTF 부호화는 좋은 예측 결과를 보여줌을 확인할 수 있다.
한편, 도 4는 축구 QCIF 15Hz 영상 시퀀스의 일부분으로 GOP 내에서의 영상의 변화가 심하게 일어나고 있음을 볼 수 있다. 이와 같이, 움직임이 역동적인 영상에서 MCTF 부호화 과정에서 높은 분해 레벨일수록 인트라 블록이 많이 생기는 것을 확인할 수 있다. 즉, 역동적인 영상에서는 좋은 예측 결과를 보여 주지 않음을 예상할 수 있다. 도 5는 축구 QCIF 15Hz 영상 시퀀스를 GOP 크기 8로 부호화하였을 경우에 예측 영상에서 움직임 예측이 잘되지 않아 다량의 인트라 블록이 포함된 예를 보여준다.
움직임이 역동적인 영상 시퀀스에서 GOP 크기가 클수록 예측 영상의 예측 효율이 떨어지는 것이라는 사실을 바탕으로 영상의 GOP 크기를 변경하면서 실험하였다. 도 6과 도 7은 각각 축구 QCIF 7.5 Hz 영상과 축구 QCIF 15Hz 영상을 GOP 크기를 8, 4, 2, 1로 변경하면서 부호화한 결과를 그래프로 도시한 것이다. 도시된 바와 같이, GOP 크기가 작을수록 부호화 효율이 증가함을 알 수 있다. 그래프의 결과 GOP 크기를 1로 하였을 경우가 GOP 크기를 8로 하였을 경우보다 0.3 dB 에서 0.4 dB 정도의 성능이 향상되는 것을 확인할 수 있다.
도 8 내지 10 각각은 축구 QCIF 15Hz 영상 17에서 24프레임까지의 GOP 단위를 8, 4, 2로 변경하였을 때 MCTF 과정을 보여준다 (GOP 내의 첫 영상은 이전의 GOP의 마지막 저주파 영상으로 참조만 한다). 그 결과, GOP 크기를 작게 하였을 경우에 하나의 GOP 내에서 인트라 영상이 증가되지만 부호화 효율은 더욱 향상됨을 확인할 수 있다. 이에 따라, 움직임이 역동적인 영상 시퀀스에서는 GOP 크기를 작게 할수록 부호화 효율이 증가한다는 것을 예측할 수 있다.
한편, 이와 반대로 움직임이 많지 않은 정적인 Foreman QCIF 15Hz 영상 시퀀스에 대하여 GOP 크기를 각각 8, 4, 2, 1로 변경하면서 부호화한 결과 그래프가 도 11에 도시되어 있다. 도시된 바와 같이, 정적인 영상 시퀀스에서는 GOP 크기가 클수록 부호화 효율이 높은 것을 그래프를 통해 확인할 수 있다. GOP 크기가 8인 경우가 GOP 크기가 1인 경우보다 0.8 dB ~ 1.0 dB 이상 향상됨을 확인할 수 있다.
도 12는 축구 QCIF 15Hz 영상 17에서 24프레임까지의 같은 비트율에서 각각 의 GOP 크기(8, 4, 2)에 따른 PSNR 수치를 그래프로 나타낸 것이다. 이 결과를 통해 현재 GOP 내에서는 세 가지 GOP 크기 중에 GOP가 2일 경우에 가장 좋은 성능을 나타냄을 확인할 수 있다.
도 13은 Foreman QCIF 15Hz 영상 시퀀스의 137에서 144 프레임까지 같은 비트율에서 GOP 크기를 각각 8, 4, 2로 MCTF 부호화한 결과를 프레임 단위의 PSNR 수치를 그래프로 표현한 것이다. 이 그래프를 통해, 현재의 GOP 내에서는 세 가지 GOP 크기로 부호화한 결과중에 GOP 크기가 8인 경우에 가장 좋은 성능을 보여줌을 확인할 수 있다.
상기에서는 GOP 크기와 부호화 성능간의 관계를 설명하기 위해 대표적으로 움직임이 많은 역동적인 영상 시퀀스와 움직임이 많지 않은 정적인 영상 시퀀스를 예로 들어 설명하였으나, 통상적으로, 하나의 영상 시퀀스 안에는 다양한 움직임을 포함하고 있다. 예를 들어, Foreman 영상 시퀀스 안에서도 움직임 정도가 다양함을 도 14의 그래프를 통하여 확인할 수 있다. 도 14의 Foreman QCIF 15Hz 영상 시퀀스의 97에서 104프레임까지 같은 비트율에서 GOP를 각각 8, 4, 2로 MCTF 부호화한 결과를 프레임 단위의 PSNR 수치를 그래프로 표현한 것이다. 이 그래프를 통해 GOP 크기가 8일 때보다 4나 2인 경우에 부호화 효율이 높은 것을 확인할 수 있다. 이 그래프는 Foreman 영상 시퀀스의 전체의 결과와 정반대의 결과를 보여주고 있다. GOP 크기를 4 또는 2로 하여 부호화를 할 때 전체적인 부호화의 효율을 좀 더 높일 수 있을 것이다. 그리고 하나의 GOP 내에서도 GOP 크기를 4 또는 2로 할 경우 앞의 4개 프레임은 GOP 크기를 2로 할 때 가장 성능이 좋고, 뒤의 4개의 프레임 은 GOP 크기를 4로 할 때 부호화 효율이 좋아질 것이라는 예측을 할 수 있다.
도 15의 Foreman QCIF 15Hz 영상 97에서 112까지 프레임의 PSNR 수치를 보면 도 14의 경우와 같이 맨 앞의 4개의 프레임은 GOP 크기를 2로, 다음 4개의 프레임은 GOP크기를 4로, 다음 8개 프레임은 8로 부호화를 한다면 목표로 하는 최적의 부호화 효율을 얻을 수 있을 것이다.
이와 같이, 기존의 MCTF를 이용한 동영상 부호화시에 GOP 크기를 성능에 따라 지능적으로 선택할 수 있는 방법을 사용하면 높은 부호화 효율을 얻는 것이 확실하다.
따라서, 본 발명의 목적은 2N개 프레임 크기의 GOP 단위로 이루어지는 MCTF 기반 동영상 부호화시에 GOP를 성능에 따라 적응적으로 세분하여 부호화하는 방법을 제공하는 것이다.
본 발명의 다른 목적은 적응적 GOP 구조에 기반하여 부호화된 동영상의 비트스트림을 복호화하기 위한 방법을 제공하는 것이다.
본 발명의 또다른 목적은 적응적 GOP 구조에 기반하여 부호화된 동영상의 비트스트림을 복호화시에 시간적 스케일러빌리티(temporal scalability)를 지원하는 방법을 제공하는 것이다.
전술한 본 발명의 목적을 달성하기 위해, 본 발명의 일 특징에 따르면, 동영 상 시퀀스에 대한 MCTF(Motion-Compensated Temporal Filtering)-기반 부호화를 수행하기 위한 방법이 제공된다. 상기 방법은, 상기 동영상 시퀀스의 선정된 2N 프레임 크기 GOP 각각에 대하여, (a) 상기 최대 2N 크기부터 최소 2M(M은 1 이상이고 N보다는 작은 정수임) 크기의 상이한 GOP 단위 각각에 기반하여 부호화를 수행하고 MCTF를 수행하여 도출된 프레임과 상기 부호화 후에 재구성된 프레임간의 차이값을 구하는 단계와, (b) 상기 상이한 GOP 단위 각각의 부호화 결과로부터 구해진 상기 차이값에 기반하여 적어도 1개 이상의 세부 GOP를 선택하는 단계와, (c) 상기 선택된 적어도 1개 이상의 세부 GOP에 근거하여 상기 선정된 2N 프레임 크기의 GOP를 부호화함으로써 비트스트림을 생성하는 단계를 포함하는 것을 특징으로 한다.
일실시예에서, 상기 (b) 단계는,(b1) 상기 2N 크기에서 상기 2M에 이르는 상이한 GOP 단위 부호화 각각으로부터 구해진 상기 차이값을 비교하여, 상기 2N 크기의 GOP 단위 부호화 결과로부터 구해진 상기 차이값이 가장 작은 경우에 상기 2N 크기의 GOP를 세부 GOP로 선택하는 단계와, (b2) 상기 2N 크기 GOP 부호화 결과로부터 구해진 상기 차이값이 가장 작지 않다면, N을 1만큼 감소시키고(N=N-1), (b2-i) 상기 감소된 N과 M 값이 같다면 2M 크기의 GOP 2개를 세부 GOP로선택하는 단계와, (b2-ii) 상기 감소된 N과 M값이 서로 같지 않다면 앞쪽의 2N 개 프레임 과 뒤쪽의 2N 개 프레임 각각에 대하여 상기 (b1) 내지 (b2)단계를 반복하는 단계를 포함하는 것을 특징으로 한다.
일실시예에서, 상기 차이값은, MSE(Mean Square Error), SAD(Sum of Absolute Difference), SSE(Sum of Squared Errors), SAD +λSADR(R은 GOP 단위의 비트수), SSE +λSSER를 포함하는 그룹에서 선택될 수 있다.
다른 실시예에서, 상기 (b) 단계는, (b1) 상기 2N 크기에서 상기 2M에 이르는 상이한 GOP 단위 부호화 각각으로부터 구해진 상기 차이값을 비교하여, 상기 2N 크기의 GOP 단위 부호화 결과로부터 구해진 상기 차이값이 가장 작은 경우에 상기 2N 크기의 GOP를 세부 GOP로 선택하고, 상기 GOP 비트스트림의 앞에 삽입되는 GOP 분할여부 비트를"0"으로 설정하는 단계와, (b2) 상기 2N 크기 GOP 부호화 결과로부터 구해진 상기 차이값이 가장 작지 않다면, 상기 GOP 비트스트림의 앞에 삽입되는 GOP 분할여부 비트를"1"로 설정하고, 상기 N을 1만큼 감소시킨(N=N-1) 후에,(b2-i) 상기 감소된 N과 M 값이 같다면 2M 크기의 GOP 2개를 세부 GOP로 선택하는 단계와,(b2-ii) 상기 감소된 N과 M값이 서로 같지 않다면 앞쪽의 2N 개 프레임과 뒤쪽의 2N 개 프레임 각각에 대하여 상기 (b1) 내지 (b2) 단계를 반복하는 단계 를 포함하는 것을 특징으로 한다.
다른 실시예에서, 상기 선택된 적어도 1개 이상의 세부 GOP 정보를 GOP의 첫 번째 프레임 헤더 정보내에 표시하여 디코더에 전송한다.
본 발명의 다른 특징에 따르면, MCTF-기반 동영상 부호화를 수행하기 위한 방법이 제공된다. 상기 방법은, (a) 동영상 시퀀스의 선정된 2N 프레임 크기 GOP 각각에 대하여, (a-1) 상기 최대 2N 크기부터 최소 2M(M은 1 이상이고 N보다는 작은 정수임) 크기의 상이한 GOP 단위 각각에 기반하여 부호화를 수행하고 상기 부호화 결과를 이용하여 적어도 1개 이상의 세부 GOP를 선택하는 단계와,(a-2) 상기 선택된 적어도 1개 이상의 세부 GOP에 근거하여 상기 선정된 2N 프레임 크기의 GOP를 부호화함으로써 비트스트림을 생성하는 단계와, (b) 상기 생성된 비트스트림에 시간적 스케일러빌리티 범위 정보를 삽입하는 단계를 포함하는 것을 특징으로 한다.
일실시예에서, 상기 시간적 스케일러빌리티 범위는 상기 (a) 단계에서 선택된 상기 세부 GOP의 최소 크기(2M)에 기반한 것을 특징으로 한다.
본 발명의 또다른 특징에 따르면, MCTF-기반 부호화된 비트스트림을 복호화하기 위한 방법이 제공된다. 상기 방법은, 소정 크기 GOP 비트스트림에 대하여,(a) 상기 GOP 분할여부를 결정하는 단계와, (b) GOP 분할이 없는 경우에, 상기 GOP 비트스트림을 복호화하는 단계와, (c) GOP 분할이 있는 경우에 상기 GOP 비트스트림을 분할하는 단계; 및 (d) 상기 분할된 GOP 비트스트림을 복호화하는 단계를 포함하는 것을 특징으로 한다.
본 발명의 또다른 특징에 따르면, MCTF-기반 부호화된 비트스트림을 복호화 하기 위한 방법이 제공된다. 상기 방법은, 소정 크기 GOP 비트스트림 각각에 대하여, 상기 GOP 비트스트림으로부터 적응적으로 세분화된 GOP 구조 정보를 판독하는 단계와, 상기 GOP 구조 정보에 따라 상기 GOP 비트스트림을 복호화하는 단계를 포함하는 것을 특징으로 한다.
본 발명의 또다른 특징에 따르면, MCTF-기반 부호화된 비트스트림을 복호화하기 위한 방법이 제공된다. 상기 방법은, 소정 크기 GOP 비트스트림에 대하여, 상기 GOP 비트스트림으로부터 가변 GOP 구조 정보를 판독하는 단계와, 상기 가변 GOP 구조 정보에 따라 상기 GOP 비트스트림을 복호화하는 단계를 포함하는 것을 특징으로 한다.
본 발명의 또다른 특징에 따르면, MCTF-기반 부호화된 비트스트림을 복호화시에 1/L 시간적 스케일러빌리티를 제공하기 위한 방법이 제공된다. 상기 방법은, 선정된 2N 프레임 크기의 GOP 비트스트림 각각에 대하여,(a) k(k는 정수)값을 0으로 초기화하는 단계와, (b) FrameNum 값을 2N 으로 초기화하는 단계와, (c) FrameNum번째 프레임의 비트스트림으로부터 역방향으로 L번째까지의 프레임내에 저주파 영상이 있는지 검색하고, FrameNum을 L만큼 감소시키는 단계와, (d) 상기 (c) 단계의 검색 결과에 따라, (d-1) 저주파 영상이 존재하지 않는 경우에, k값을 1 증가시키는 단계와,(d-2) 저주파 영상이 존재하는 경우에, 역방향으로 제일 먼저 검색된 저주파 영상을 선택하고, k값이 0이 아닌 경우에는 k개의 후속 고주파 영상을 또한 선택하고 k를 0으로 재초기화하는 단계와, (e) FrameNum이 0이 될 때까지 상기 (c) 내지 (d) 단계를 반복적으로 수행함으로써, 최종적으로 2N /L 개의 프레임을 선택하는 단계를 포함하는 것을 특징으로 한다.
이하에서는, 도 16 내지 도 38을 참조하여, 본 발명을 예시적으로 상세히 설명하겠다. 그러나, 이하의 상세한 설명은 단지 예시적인 목적으로 제공되는 것이며 본 발명의 개념을 임의의 특정 실시예에 한정하는 것으로 해석되어서는 안 될 것이다.
도 16을 참조하면, 본원발명의 일실시예에 따른 적응적 GOP 구조 기반 동영상 부호화 방법을 개략적으로 나타낸 흐름도가 도시되어 있다. 2N 프레임 크기의 GOP 단위로 부호화가 수행되며 선택가능한 GOP의 최소 크기가 2M이라 가정하면(N, M은 정수이고, 0〈 M〈N), 적응적 GOP 구조 기반 동영상 부호화 방법은 다음 과정에 따라 수행된다.
① 1개 GOP 단위 영상 프레임 시퀀스에 대해, 최대 2N 크기의 GOP부터 최소 2M 크기의 GOP까지 상이한 GOP 단위 각각에 기반하여 부호화를 수행함으로써 프레임마다 MCTF 수행 결과 도출된 서브밴드(subband)별로 재구성된 영상과 부호화 이후에 재구성된 영상의 MSE(Mean Square Error) 값을 각각 구한다(S1610-S1630). MSE값을 기준으로 취하는 것은 일예에 불과하며, 대안적으로는, SAD(Sum of Absolute Difference), SSE(Sum of Squared Errors), SAD +λSADR(R은 GOP 단위의 비트수), SSE +λSSER 중에서 하나를 기준으로 취할 수 있다. 이들에 관하여는 후술하기로 한다.
② ① 과정에서 구해진 GOP 크기별 MSE값에 기반하여, 상기 2N 크기의 GOP를 적어도 1개 이상의 세부 GOP들을 선택한다(S1640). 본 명세서에서, 최소 MSE값을 산출하는 세부 GOP들을 선택함으로써 상기 2N 크기의 GOP를 세분화하는 과정을 "모드 결정(Mode decision)" 과정이라 지칭한다.
③ 분할된 세부 GOP 구조에 기반하여 상기 2N 프레임 크기의 영상 시퀀스에 대한 부호화를 수행하여 부호화된 비트스트림을 생성한다(S1650).
④ 다음 GOP의 영상 프레임 시퀀스에 대하여 ① 내지 ③ 과정을 반복한다.
상기 실시예에서, 모드 결정 과정시에, 각 프레임의 MSE 값은 다음 수식에 따라 구해질 수 있다.
Figure 112005058845931-pat00001
상기 수식에서, k는 한 프레임의 픽셀 개수를 나타내며, F(i)는 MCTF을 수행한 후에 도출된 서브밴드별 프레임의 픽셀값을 나타내고 G(i)는 부호화가 수행된 후에 재구성된 프레임의 픽셀 값을 나타낸다.
도 17은 도 16에 도시된 모드 결정 과정을 좀더 구체적으로 도시한다(GOP 크기가 16(즉, N은 4)이고, 최소 선택가능한 GOP 크기는 2(즉, M은 1)인 경우임). 도시된 바와 같이, GOP 크기가 16개 프레임인 경우에 GOP의 적응적 세분화는 다음과 같이 이루어진다.
① 16개의 프레임에 대해 GOP 크기가 16(N=4), 8(N=3), 4(N=2), 2(N=M=1)인 경우 각각에 대하여 부호화를 수행한 결과로부터 산출된 MSE 값 각각을 비교한다(1702).
비교 결과에 따라,
A. 16 프레임 크기 GOP 부호화 결과의 MSE가 가장 작을 경우에는 16 프레임 크기의 GOP를 선택하고 모드 결정 과정을 종료한다(1704).
B. 16 프레임 크기 GOP 부호화 결과의 MSE가 가장 작지 않을 경우는 앞쪽의 8프레임 단위는 ②로 분기하고(1706), 뒤쪽의 8프레임 단위는 ③으로 각각 분기한다(1708).
② 앞쪽 8 프레임 단위에서 각각의 부호화의 MSE 값을 비교해서,
A. 8 프레임 크기 GOP 부호화 결과의 MSE가 가장 작을 경우에는 8 프레임 크기의 GOP를 선택한다(1710).
B.8 프레임 크기 GOP 부호화 결과의 MSE가 가장 작지 않을 경우는 앞쪽의 4프레임 단위는 ④로 분기하고(1714), 뒤쪽의 4프레임 단위는 ⑤로 각각 분기한다(1716).
③ 뒤쪽 8 프레임 단위에서 각각의 부호화의 MSE 값을 비교해서,
A. 8 프레임 크기의 GOP 부호화 결과의 MSE가 가장 작을 경우에는 8 프레임 크기의 GOP를 선택하고 모드 결정 과정을 종료한다(1712).
B. 8 프레임 크기의 GOP 부호화 결과의 MSE가 가장 작지 않을 경우는 앞 쪽의 4 프레임 단위는 ⑥으로 분기하고(1718), 뒤쪽의 4 프레임 단위는 ⑦로 각각 분기한다(1720).
④ 앞쪽 4 프레임 단위에서 각각의 부호화 MSE 값을 비교해서,
A. 4 프레임 크기 GOP 부호화 결과의 MSE가 가장 작을 경우에는 4 프레임 크기의 GOP를 선택한다(1722).
B. 4 프레임 크기 GOP 부호화 결과의 MSE가 가장 작지 않을 경우는 2 프레임 크기의 GOP 2개를 선택한다(1724).
⑤ 뒤쪽 4 프레임 단위에서 각각의 부호화 결과의 MSE 값을 비교해서,
A. 4 프레임 크기 GOP 부호화 결과의 MSE가 가장 작을 경우에는 4 프레임 크기의 GOP를 선택한다(1726).
B. 4 프레임 크기 GOP 부호화 결과의 MSE가 가장 작지 않을 경우는 2 프레임 크기의 GOP 2개를 선택한다(1728).
⑥ 앞쪽 4 프레임 단위에서 각각의 부호화 결과의 MSE 값을 비교해서,
A. 4 프레임 크기 GOP 부호화 결과의 MSE가 가장 작을 경우에는 4 프레임 크기의 GOP를 선택한다(1730).
B. 4 프레임 크기 GOP 부호화 결과의 MSE가 가장 작지 않을 경우는 2 프레임 크기의 GOP 2개를 선택한다(1732).
⑦ 뒤쪽 4 프레임 단위에서 각각의 부호화 결과의 MSE 값을 비교해서,
A. 4 프레임 크기 GOP 부호화 결과의 MSE가 가장 작을 경우에는 4 프레임 크기의 GOP를 선택하고 모드 결정 과정을 종료한다(1734).
B. 4 프레임 크기 GOP 부호화 결과의 MSE가 가장 작지 않을 경우는 2 프레임 크기의 GOP 2개를 선택하고 모드 결정 과정을 종료한다(1736).
전술한 도 17의 알고리즘을 의사 코드(Pseudo Code)로 나타내면 다음과 같다.
gop_mode = min MSE_16, (MSE_8_1 + MSE_8_2)/2, (MSE_4_1 + MSE_4_2 + MSE_4_3 + MSE_4_4)/4,
(MSE_2_1 + MSE_2_2 + MSE_2_3 + MSE_2_4 + MSE_2_5 + MSE_2_6 + MSE_2_7 + MSE_2_8)/8
If (gop_mode == MSE _16)
16크기 GOP 선택
mode Decision 끝
Else
gop_mode = min MSE_8_1, (MSE_4_1 + MSE_4_2)/2, (MSE_2_1 + MSE_2_2 + MSE_2_3 + MSE_2_4)/4
If (gop_mode == MSE_8_1)
8크기 GOP 선택
Else
gop_mode = min MSE_4_1, (MSE_2_1 + MSE_2_2)/2
If (gop_mode == MSE_4_1)
4크기 GOP 선택
Else
2 크기 GOP 선택
2 크기 GOP 선택
gop_mode = min MSE_4_2, (MSE_2_3 + MSE_2_4)/2
If (gop_mode == MSE_4_2)
4크기 GOP 선택
Else
2 크기 GOP 선택
2 크기 GOP 선택
gop_mode = min MSE_8_2, (MSE_4_3 + MSE_4_4)/2, (MSE_2_5 + MSE_2_6 + MSE_2_7 + MSE_2_8)/4
If (gop_mode == MSE_8_1)
8크기 GOP 선택
mode decision 끝
Else
gop_mode = min MSE_4_3, (MSE_2_5 + MSE_2_6)/2
If (gop_mode == MSE_4_3)
4크기 GOP 선택
Else
2 크기 GOP 선택
2 크기 GOP 선택
gop_mode = min MSE_4_4, (MSE_2_7 + MSE_2_8)/2
If (gop_mode == MSE_4_4)
4크기 GOP 선택
mode decision 끝
Else
2 크기 GOP 선택
2 크기 GOP 선택
mode decision 끝
도 18은 16 프레임 크기의 GOP 내에서 각 GOP 단위의 MSE값을 취하는 위치를 개념적으로 도시한다.
도 19는 GOP 크기가 16 프레임인 영상 시퀀스의 일예로서 Foreman QCIF 15Hz 영상의 81에서 96까지의 프레임에 대하여 본 발명에 따라 GOP를 적응적으로 세분화하는 과정에서 GOP 크기가 16, 8, 4, 2 각각인 경우의 부호화 결과 산출된 MSE의 값을 보여주고 있으며 실제 선택된 세부 GOP 크기는 음영으로 표시하였다. 세부 GOP 크기는 다음과 같은 과정을 통해 결정된다.
① 먼저 16 프레임 단위의 비교에서 16 프레임 크기 GOP 부호화 결과가 가장 작지 않으므로 앞쪽의 8 프레임 단위와 뒤쪽의 8 프레임 단위 비교를 각각 수행한다.
② 앞쪽의 8 프레임 단위 비교에서 8 프레임 크기 GOP 부호화 결과가 가장 작으므로 8 프레임 크기의 GOP를 선택한다.
③ 뒤쪽의 8 프레임 단위 비교에서 8 프레임 크기 GOP 부호화 결과가 가장 작지 않으므로 앞쪽의 4 프레임 단위와 뒤쪽의 4 프레임 단위 비교를 각각 수행한다.
④ 앞쪽의 4 프레임 단위 비교에서 4 프레임 크기 GOP 부호화 결과가 가장 작으므로 4 프레임 크기의 GOP를 선택한다.
⑤ 뒤쪽의 4 프레임 단위 비교에서 4 프레임 크기 GOP 부호화 결과가 가장 작지 않으므로 2 프레임 크기의 GOP 2개를 선택하고 종료한다.
도 20은 도 19에 따라 적응적으로 세분화된 GOP 구조에 기반하여 부호화한 경우의 프레임 단위 PSNR 결과 그래프를 도시한다. 여기서 점선은 현재 국제 표준 화가 진행중인 SVC(Scalable Video Coding)에 HHI가 제안한 SVM(Scalable Video Model) 3.0에 따른 PSNR(영상화질)이고, 실선은 해당 SVM 3.0에 본 발명에서 제안한 지능형 GOP선택을 적용한 경우의 PSNR로서, PSNR의 비교 결과를 통해 성능이 향상됨을 확인할 수 있다.
도 21은 본 발명의 일실시예에 따른 모드 결정 과정을 나타낸 흐름도이다. 도시된 바와 같이, 단계(S2110)에서, 2N 프레임 크기의 영상 시퀀스에 대해 상기 최대 2N 크기의 GOP부터 최소 2M 크기의 GOP 까지 상이한 GOP 단위의 부호화 결과 각각으로부터 구해진 차이값들을 비교한다. 비교 결과, 2N 크기의 GOP 단위 부호화 결과로부터 구해진 차이값이 가장 작은지를 판단하고(S2120), 그렇다면 2N 크기의 GOP를 선택한다(S2130).
그렇지 않다면, N을 1만큼 감소시키고(S2140), 상기 감소된 N과 M 값을 비교한 후에(2150), 비교 결과 서로 값이 같다면 2M 크기 GOP 2개를 선택한다(S2160).
상기 감소된 N과 M값이 서로 같지 않다면, 앞쪽의 2N 크기의 시퀀스와 뒤쪽의 2N 크기의 시퀀스 각각에 대하여 전술한 단계(S2110-S2160)를 반복한다.
상기 실시예에서는, 모드 결정 과정에서 비교되는 값으로서 MSE를 이용하였으나, 전술한 바와 같이, 대안적으로는 입력된 시퀀스의 영상과 부호화후 재구성된 영상의 SAD(Sum of Absolute Difference) 또는 SSE(Sum of Squared Error)를 이용할 수도 있다. 이는 모드 결정시에, 계산 복잡도를 충실하게 고려하는 경우이다.
다른 실시예에서, 모드 결정 과정에서, 기본 국제 동영상 표준인 AVC(Advanced Video Coding)에서 사용한 Lagrangian 최적화 기법을 사용할 수도 있다. 이는 SAD 또는 SSE와 함께 비트 수와 Lagrangian 계수의 곱의 합으로 표현되는 값을 이용하는 것이다. Lagrangian 계수는 양자화 계수(Qp) 값에 따라 다음 식과 같이 정의 된다.
Figure 112005058845931-pat00002
비교하는 값이 되는 J는 이하의 식에 따라 구해질 수 있다. SAD를 사용할 경우는
Figure 112005058845931-pat00003
와 같고, SSE를 사용할 경우는
Figure 112005058845931-pat00004
과 같다. (R은 GOP를 부호화하였을 경우의 GOP 단위의 비트 수를 나타낸다)
즉, (1) 계산 복잡도를 고려하거나, (2) 전송 비트량을 예측하는데 계산 복잡도를 어느 정도 고려한 최적화 방법을 이용하거나, (3) 실제 전송 비트량을 예측 하거나 구하여서 모드 결정이 이루어질 수 있다.
도 22는 탑승원 QCIF와 CIF 영상 시퀀스에 대하여 SVC (Scalable Video Coding)에 HHI가 제안한 SVM (Scalable Video Model) 3.0 코덱의 부호화 결과 해당 SVM 3.0에 본 발명에서 제안한 적응적 GOP 구조 기반 부호화의 비트율과 PSNR(비트율 대 화질)의 결과 비교 그래프이다. 상기 예에서 본 발명에 따른 적응적 GOP 구조 기반 부호화는 GOP 크기가 16일 경우의 실험 결과로서 도 16의 알고리즘에서 N=4, M=1의 경우의 예이며, GOP 크기 결정시에 프레임마다 MCTF를 수행하여 도출된 서브밴드별로 재구성된 영상과 부호화 후 재구성된 영상의 MSE (Mean Square Error)를 사용하였다. 상기 결과 그래프는 본 발명에 따른 적응적 GOP 구조 기반 부호화가 기존의 SVM 3.0 부호화에 비해 0.02dB에서 0.45dB 정도 성능이 우수함을 보여준다.
도 23은 탑승원 4CIF 영상 시퀀스에 대하여 HHI의 코덱과 본 발명에 따른 적응적 GOP 구조 기반 부호화의 결과 비교 그래프이다. 본 발명에 따른 부호화 방식이 0.18dB에서 0.43dB 정도까지 성능이 우수함을 보여준다.
도 24는 탑승원 QCIF 15Hz 영상 시퀀스에 대하여 본원 발명에 따라 적응적으로 세분된 GOP 구조를 도시한다. 움직임의 상황에 따라 GOP 크기가 세분되었으며 부호화 효율이 향상되었음을 확인할 수 있다.
도 25는 탑승원 영상의 241 프레임에 대하여 HHI 코덱과 본 발명의 적응적GOP 구조 기반 부호화에 따른 결과 영상간의 주관적 화질 비교를 나타낸 도면으로 서, 좌측 그림에 나타난 바와 같이, HHI 코덱의 결과 영상의 왼쪽 하이라이트에서 손 부분이 뭉개지는 현상을 발견할 수 있고 오른쪽 하이라이트 부분에서는 색이 번지고 있음을 확인할 수 있다. 반면, 우측 그림에 나타난 바와 같이, 본 발명에 따른 적응적 GOP 구조 기반 부호화의 결과 영상에서는 손의 뭉개짐이 심하지 않고 색이 번지지 않고 있음을 확인할 수 있다.
도 26은 탑승원 영상의 279 프레임에 대하여 HHI 코덱과 본 발명의 적응적 GOP 구조 기반 부호화에 따른 결과 영상간의 주관적 화질 비교를 나타낸 도면으로서, 좌측 그림에 나타난 바와 같이, HHI의 코덱의 결과 영상의 하이라이트 되어있는 부분에 블록킹 현상이 심하게 발생하고 있음을 확인할 수 있다.
도 27은 탑승원 영상의 298 프레임에 대하여 HHI 코덱과 본 발명의 적응적 GOP 구조 기반 부호화에 따른 결과 영상간의 주관적 화질 비교를 나타낸 도면으로서, 좌측 그림에 도시된 바와 같이, HHI의 코덱의 결과 영상의 하이라이트되어 있는 부분에 색 번짐 현상이 심하게 일어나고 있음을 확인할 수 있다.
도 28은 축구 영상 시퀀스의 QCIF와 CIF에 대하여 HHI의 코덱과 본 발명에 따른 적응적 GOP 구조 기반 부호화에 따른 결과 비교 그래프이다. 도시된 바와 같이, 본 발명에 따른 부호화 결과가 0.01dB에서 0.15dB까지 성능이 우수함을 보여준다.
도 29는 축구 영상 시퀀스의 4CIF에 대하여 HHI의 코덱과 본 발명에 따른 적응적 GOP 구조 기반 부호화에 따른 결과 비교 그래프이다. 도시된 바와 같이, 본 발명에 따른 부호화 결과가 0.06dB에서 0.14dB까지 성능이 우수함을 보여준다.
도 30은 축구 QCIF 15Hz 영상 시퀀스에 대하여 본 발명에 따라 적응적으로 세분화된 GOP의 구조를 도시한다. 움직임의 상황에 따라 GOP 크기가 세분되었으며 부호화 효율의 향상되었음을 확인할 수 있다.
도 31은 축구 QCIF와 CIF 영상 시퀀스의 HHI의 코덱과 본 발명에 따른 적응적 GOP 구조 기반 부호화의 결과 비교 그래프이다. 본 발명에 따른 부호화 결과가 0.15dB에서 0.65dB까지 성능이 우수함을 보여준다.
도 32는 축구 QCIF 15Hz 영상 시퀀스에 대하여 본 발명에 따라 적응적으로 세분화된 GOP의 구조를 도시한다. 움직임의 상황에 따라 GOP 크기가 세분되었으며 부호화 효율이 향상되었음을 확인할 수 있다.
전술한 본 발명의 일실시예에 따른 적응적 GOP 구조 기반 부호화 방법에 따라 부호화된 비트스트림을 복호화하기 위해, 일 실시예에서는, 현재 국제표준화가 진행중인 SVC의 SVM 3.0 코덱에 지정되어 있는 "gop_size"와 "decomposition_stages"슬라이스 헤더 정보를 이용하여 해당하는 GOP 크기와 분해 단계(Decomposition Stage) 정보를 부호화하여 디코더에 전달할 수 있다. 그러면, 디코더는 해당하는 GOP 크기에 따라 기존의 스케일러블 비디오 코덱에서 별도의 추가 비트없이 복호화를 수행할 것이다.
또다른 실시예에서는, GOP 헤더에 GOP 크기 정보를 부호화하여 전달함으로써 적응적으로 세분된 GOP를 복호화할 수 있다. 디코더 구현의 일 예로서, 비트스트림의 헤더 부분에 “Variable-GOP-Size”라는 1 비트를 두어서 디코더에 가변된 GOP 크기를 이용한다는 것을 통지해서 해당 조건에 맞게 복호화를 수행하게 할 수 도 있다.
본 발명의 다른 실시예에 따르면, 디코더측에서의 비트스트림 복호화를 위해, 인코더는 각 GOP 단위의 비트스트림 앞쪽에 1개의 비트 플래그(flag)로서 GOP의 분할 여부를 나타내는“gop_divide_bit”를 추가하여 디코더에 전송할 수 있다. 이는 도 21에 도시된 GOP의 적응적 세분화 방식을 약간 변형하여 수행함으로써 가능하다. 즉, 2N 프레임 크기의 영상 시퀀스에 대해 상기 최대 2N 크기의 GOP부터 최소 2M 크기의 GOP 까지 상이한 GOP 단위 부호화 각각으로부터 구해진 상기 차이값을 비교한 결과, 2N 크기의 GOP 단위 부호화 결과로부터 구해진 상기 차이값이 가장 작다면(2120), 2N 크기의 GOP를 선택함과 동시에(2130) "gop_divide_bit"를 "0"으로 설정하고, 그렇지 않다면 "gop_divide_bit"를 "1"로 설정함으로써, GOP가 분할됨을 표시해준다. 다른 단계(2140) 내지 단계(2160)는 동일하게 수행될 것이다.
도 33은 본 발명의 일실시예에 따라 "gop_divide_bit”가 추가된 GOP 비트스트림의 구성을 도시하고, 도 34는 선정된 GOP 크기가 16(N=4, M=0)일 때, 본 발명의 적응적 GOP 구조 기반 부호화 결과 GOP가 (2, 2, 4, 8)의 세부 GOP로 세분화되었을 때 구성된 비트스트림 예를 나타낸다.
전술한 바와 같이,"gop_divide_bit"가 추가되어 부호화된 비트스트림에 대한 복호화 알고리즘은 다음과 같다. 이 경우는 분할전의 GOP 크기의 승수인 N값이 함께 전달될 것이다.
① 2N 프레임 크기에 대응하는 비트스트림의"gop_divide_bit"값을 검사하여,
A. “0”이라면 2N 프레임 크기의 GOP를 복호화하고,
B. “1”이라면 N을 1 감소시킨다(N=N-1).
② 앞쪽의 2N 프레임 크기의 GOP와 뒤쪽의 2N 프레임 크기의 GOP에 대해 ①과정을 반복한다.
도 35는 도 34에 도시된 비트스트림을 본 발명의 일실시예에 따라 복호화하는 과정의 예을 도시한다. 도시된 바와 같이,
① 비트스트림에서 “gop_divide_bit” 비트를 복호화하여 판독한다. 그 결과 “1”이므로 16크기의 GOP가 분할된 것으로 판단한다. 이에 따라, 앞쪽의 8 프레임 단위는 ② 과정으로 분기하고, 뒤쪽의 8 프레임 단위는 ③ 과정으로 분기한다.
② 8 프레임 단위의 GOP의 비트스트림에서 “gop_divide_bit” 비트를 복호화하여 판독한다. 그 결과 “1”이므로 8 프레임 크기의 GOP가 분할된 것으로 판단한다. 이에 따라, 앞쪽의 4 프레임 단위는 ④ 과정으로 분기하고, 뒤쪽은 4 프레임 단위는 ⑤과정으로 분기한다.
③ 8 프레임 단위의 GOP의 비트스트림에서 “gop_divide_bit” 비트를 복호화하여 판독한다. 그 결과 “0”이므로 8 프레임 크기의 GOP 비트스트림을 복호화하여 복호화 영상을 얻는다.
④ 4 프레임 단위의 GOP의 비트스트림에서 “gop_divide_bit” 비트를 복호화하여 판독한다. 그 결과 “1”이므로 4 프레임 크기의 GOP가 분할된 것으로 판단한 다. 이에 따라, 앞쪽의 2 프레임 단위는 ⑥ 과정으로 분기하고, 뒤쪽의 2 프레임 단위는 ⑦과정으로 분기한다.
⑤ 4 프레임 단위의 GOP의 비트스트림에서 “gop_divide_bit” 비트를 복호화하여 판독한다. 그 결과 “0”이므로 4 프레임 크기의 GOP 비트스트림을 복호화하여 복호화 영상을 얻는다.
⑥ 2 프레임 단위의 GOP의 비트스트림에서 “gop_divide_bit” 비트를 복호화하여 판독한다. 그 결과 “0”이므로 2 프레임 크기의 GOP 비트스트림을 복호화하여 복호화 영상을 얻는다.
⑦ 2 프레임 단위의 GOP의 비트스트림에서 “gop_divide_bit” 비트를 복호화하여 판독한다. 그 결과 “0”이므로 2 프레임 크기의 GOP 비트스트림을 복호화하여 복호화 영상을 얻는다.
본 발명의 또다른 실시예에 따르면, 본 발명에 따른 적응적 GOP 구조 기반 동영상 부호화를 수행하는 인코더는 일정한 GOP 크기 단위 내에서 적응적으로 세분된 세부 GOP 정보를 추가하여 디코더에 전송할 수 있다. 도 36은 16 프레임 크기 GOP 단위 안에서 지능적으로 선택된 GOP 모드의 예를 나타낸다.
일 예에서, 16 프레임 크기의 일정한 GOP 단위 부호화의 경우에(N=4, M=1), 시퀀스 헤더에 일정한 단위 GOP 크기 정보를 코딩하며, 16 프레임 단위 각각의 GOP의 첫 프레임의 슬라이스 헤더내에 16 프레임 단위 내에서 적응적으로 세분된 세부 GOP 정보를 코딩한다. 세부 GOP 정보는 2의 승수로 나타내며 일정한 GOP 단위(16 프레임 크기)의 2의 승수인 4로 차분해주어 각각을 고정 2비트로 코딩한다. 예를 들어, 16 프레임 크기 GOP가 선택되었다면 “00b”, 8 프레임 크기 GOP가 선택되었다면 “01b”, 4 프레임 크기 GOP가 선택되었다면 “10b”, 2 프레임 크기 GOP가 선택되었다면 “11b”로 각각 부호화된다. 16 프레임 크기 내에서 선택된 GOP 들의 크기의 합이 16이 되면 선택된 GOP 정보 코딩을 마친다. 일예로서, GOP가 8,4,4 크기로 결정되었다면, 01-10-10의 총 6비트가 소요되며, GOP가 16 크기라면, 00의 2비트가 소요되고, 또한 4,2,2,8의 크기로 결정되었다면, 10-11-11-01의 총 8비트가 소요되고, 2,2,2,2,2,2,2,2라면 11-11-11-11-11-11-11-11의 총 16비트가 소요되어, GOP정보를 표시할 수 있다. 이와 같이, 인코더측에서 세부 GOP 정보를 비트스트림과 함께 전송하는 경우에, 디코더에서는 수신된 세부 GOP 정보에 근거하여 각각의 GOP를 복호화할 것이다.
본 발명의 일실시예에서, 디코더가 적응적으로 세분화된 GOP 구조에 기반하여 부호화된 비트스트림의 복호화시에 시간적 스케일러빌리티(temporal scalablity)를 제공할 수 있다. 본 발명에 따라 적응적으로 세분화된 GOP 구조에 기반하여 부호화된 비트스트림은 기존의 일정한 프레임 크기의 고정된 GOP 단위에 기반하여 부호화된 비트스트림과 구조면에서 상이하기 때문에, 프레임 순서를 맞추어 복호화를 수행하여야 한다.
예를 들어, 도 37에 도시된 바와 같이, 16 프레임 크기의 GOP에서 세부 GOP 크기가 (8,4,2,2)로 선택되어 부호화된 경우에, 각각의 시간적 해상도에 따라 비트스트림 순서는 다음과 같다.
전체 해상도: L3(0), H3(1), H2(2), H2(3), H1(4), H1(5), H1(6), H1(7), L2(8), H2(9), H1(10), H2(11), L1(12), H1(13), L1(14), H1(15)
1/2 해상도: L3(0), H3(1), H2(2), H2(3), L2(8), H2(9), L1(12), L1(14)
1/4 해상도: L3(0), H3(1), L2(8), L1(14)
1/8 해상도: L3(0), L1(14)
1/16 해상도: LI(14)
("L"은 저주파 영상을 나타내고, "H"는 고주파 영상을 나타내다.)
도 38은 본 발명의 일실시예에 따라 시간적 스케일러빌리티를 제공하기 위해 디코더측 비트스트림 추출기(Extractor)에서 수행되는 1/L 해상도 지원 알고리즘을 도시한다. 본 발명의 적응적 GOP 구조 기반 부호화 방식에 따라 부호화된 비트스트림의 1/L 해상도 지원을 위한 영상 추출 알고리즘은 다음과 같다. GOP 크기가 2N이라 할 때,
① k(k는 정수)값을 0으로 초기화한다(S3810).
② FrameNum 값을 2N 으로 초기화한다(S3820).
③ FrameNum번째 프레임의 비트스트림으로부터 역방향으로 L번째까지의 프레임내에 저주파 영상이 있는지 검색하고(S3830), FrameNum을 L만큼 감소시킨다 (S3840).
④ ③ 단계의 검색 결과에 따라(S3850),
(i) 저주파 영상이 존재하지 않는 경우에, k값을 1 증가시키고(S3870),
(ii) 저주파 영상이 존재하는 경우에, 역방향으로 제일 먼저 검색된 저주파 영상을 선택하고, k값이 0이 아닌 경우에는 k개의 후속 고주파 영상 을 또한 선택한 후에 k값을 0으로 재초기화한다(S3860).
⑤ FrameNum이 0이 될 때까지 상기 ③ 내지 ④ 단계를 반복적으로 수행함으로써(S3880), 최종적으로 2N /L 개의 영상 프레임을 선택한다.
예를 들어, 16 프레임 크기의 GOP에서 세부 GOP 크기가 (8,4,2,2))로 선택되어 부호화된 비트스트림에서 1/8 해상도 지원을 위해 전술한 알고리즘은 다음과 같이 적용될 것이다. 전체 비트스트림의 구성이" L3(0), H3(1), H2(2), H2(3), H1(4), H1(5), H1(6), H1(7), L2(8), H2(9), H1(10), H2(11), L1(12), H1(13), L1(14), H1(15)"이라 할 때,
① k는 0으로 초기화한다.
② FrameNum은 16으로 초기화한다.
③ FrameNum(=16)번째 비트스트림 B1(15)부터 역방향으로 저주파 영상을 검색하고, FrameNum은 8 감소시킨다(FrameNum = FrameNum-8).
④ 상기 검색결과, 저주파 영상 L1(14)이 존재하기 때문에 L1(14)을 선택한다.
⑤ FrameNum(=8)번째 비트스트림 H1(7)부터 역방향으로 저주파 영상을 검색하고, FrameNum을 8 감소시킨다(FrameNum = FrameNum-8).
⑥ ⑤의 검색 결과 저주파 영상 L3(0)이 존재하기 때문에 L3(0)을 선택한다.
⑦ FrameNum이 0이기 때문에 알고리즘을 종료한다. 알고리즘 수행 결과, 1/8 해상도 지원을 위해, L3(0), L1(14) 프레임이 선택되었음을 알 수 있다.
1/4 해상도를 지원하는 경우의 예는 다음과 같다.
① k값은 0으로 초기화한다.
② FrameNum은 16으로 초기화한다.
③ FrameNum(=16)번째 비트스트림 H1(15)부터 역방향으로 저주파 영상을 검색하고, FrameNum은 4 감소시킨다(FrameNum = FrameNum-4).
④ 검색 결과, 저주파 영상 L1(14)가 존재하기 때문에 L1(14)를 선택한다.
⑥ FrameNum(=12)이 0이 아니므로, 12번째 비트스트림 H2(10)부터 역방향으로 저주파 영상을 검색하고, FrameNum은 4 감소시킨다(FrameNum = FrameNum-4).
⑦ 검색 결과, L2(8)이 존재하기 때문에 L2(8)을 선택한다.
⑧ FrameNum(=8)이 0이 아니므로, 8번째 비트스트림 H1(7)부터 역방향으로 저주파 영상을 검색하고, FrameNum은 4 감소시킨다(FrameNum = FrameNum-4).
⑨ 검색 결과, 저주파 영상이 존재하지 않기 때문에 k를 1 증가시킨다.
⑩ FrameNum(=4)이 0이 아니므로, 4번째 비트스트림 H2(3)부터 역방향으로 저주파 영상을 검색하고, FrameNum은 4 감소시킨다(FrameNum = FrameNum-4).
⑪ 검색 결과, 저주파 영상 L3(0)이 존재하기 때문에 L3(0)를 선택하고, k가 1이기 때문에 바로 다음 프레임인 H3(1)을 선택하고, k를 0으로 재초기화한다.
⑫ FrameNum이 0이므로, 알고리즘을 종료한다. 상기 알고리즘 수행 결과, 1/4 해상도 지원을 위해, L3(0), H3(1), L2(8), L1(14) 프레임이 선택되었음을 알 수 있다.
본 발명의 다른 실시예에 따르면, 인코더는 적응적 GOP 구조에 기반한 동영상 부호화시에, 모드 결정 과정에서 선택되는 세부 GOP의 레벨(즉, 선택가능한 세부 GOP의 최소 크기)을 조정하여 원하는 시간적 스케일러빌리티를 제공할 수 있다. 일 예로서, GOP 크기가 2N (일반적으로, N≥4)일 경우에, 1/2N-3 이상의 시간적 스케일러빌리티를 제공하기 위해 2N 크기의 세부 GOP, 2N-1 크기의 세부 GOP, 2N-2 크기의 세부 GOP, 2N-3 크기의 세부 GOP 단위에 기반한 부호화 결과값을 비교하여 모드 결정을 수행하는 경우를 "Level_1"이라 하고, 1/2N-2 이상의 시간적 스케일러빌리티를 제공하기 위해 2N 크기의 세부 GOP, 2N-1 크기의 세부 GOP, 2N-2 크기의 세부 GOP 단위에 기반한 부호화 결과값을 비교하여 모드 결정을 수행하는 경우를 "Level_2"라 하고, 1/2N-1 이상의 시간적 스케일러빌리티를 제공하기 위해 2N 크기의 세부 GOP, 2N-1 크기의 세부 GOP 단위에 기반한 부호화 결과값을 비교하여 모드 결정을 수행하 는 경우를 "Level_3"이라 한다. 인코더는 모드 결정의 레벨 정보를 코딩하여 디코더(추출기)측에 전달함으로써 지원가능한 시간적 스케일러빌리티 범위를 알려줄 수 있다. 다음의 표 1은 모드 결정의 레벨에 따라 제공될 수 있는 시간적 스케일러빌리티 범위를 나타낸다.
Level 지원가능한 시간적 스케일러빌리티
Level_1 1/2N-3 이상
Level_2 1/2N-2 이상
Level_3 1/2N-1 이상
위와 같은 방법의 구체적인 일 예로 N이 4일 경우는 다음과 같다. 15Hz 인 영상에서 24 프레임 크기 GOP 단위의 부호화를 수행하는 경우에, 7.5Hz(1/24-3=1/2)이상의 시간적 스케일러빌리티를 제공하기 위해 24 프레임 크기 GOP, 23 프레임 크기 GOP, 22 프레임 크기 GOP, 21 프레임 크기의 GOP 단위 부호화 결과값을 비교하는 것을 Level_1이라하고, 3.75(1/24-2=1/4)Hz이상의 시간적 스케일러빌리티를 제공하기 위해 24 프레임 크기 GOP, 23 프레임 크기 GOP, 22 프레임 크기 GOP 단위의 부호화 결과값을 비교하는 것을 Level_2이라하며, 1.875Hz(1/24-1=1/8)이상의 시간적 스케일러빌리티를 제공하기 위해 24 프레임 크기 GOP, 23 프레임 크기 GOP 단위의 부호화 결과값을 비교하는 것을 Level_3으로 하여, 상기 레벨 정보를 부호화하여 전송한다.
즉, 인코더는, 세 가지의 시간적 스케일러빌리티 단계 중 특정한 시간적 스케일러빌리티를 제공할 경우 해당하는 레벨을 부호화하여 디코더측에 전송한다 (일 예로써, SVC 경우에 세 가지의 시간적 스케일러빌리티 중 특정한 시간적 스케일러빌리티를 제공하는 경우에, 이에 해당하는 레벨 정보를 부호화하여 추출기에 전송한다). 일 예로, Level_1을 "0"으로, Level_2를 "10"으로, Level_1을 "11"로 코딩할 수도 있다. 다른 일 예로 Level_1을 "1"로 Level_2를 "010"으로 Level_3을 "011"로 코딩할 수도 있다. 레벨 정보는 이외에도 다양한 방식으로 코딩될 수 있으며, 본 발명이 전술한 방식에만 국한되는 것은 아님을 당업자들은 용이하게 이해할 수 있을 것이다.
전술한 바와 같이, 지원가능한 시간적 스케일러빌리티 레벨 정보를 디코더의 추출기에 전송하기 위해, 도 39에 도시된 바와 같이, JSVM(Joint Scalable Video Model) 2.0의 스케일러빌리티 정보(Scalability Information) SEI 메시지의 신택스(syntax)에 항목을 추가할 수 있다.
도 39의 빗금친 영역에서,"use_adaptive_gop_structure_flag"는 동영상 부호화시에 적응적 GOP 구조의 이용여부를 나타내는 플래그로서, 그 값이 1이라면 적응적 GOP 구조가 이용되었음을 의미한다. "sub_gop_level"은 적응적 GOP 구조의 세부 GOP 레벨을 나타내는 것으로서, 추출기에 지원가능한 시간적 스케일러빌리티 레벨을 알려주기 위한 값이다.
전술한 본 발명은 하나 이상의 제조물상에 구현된 하나 이상의 컴퓨터 판독가능 매체로서 제공될 수 있다. 제조물은, 플로피 디스크, 하드 디스크, CD ROM, 플래시 메모리 카드,PROM, RAM, ROM, 또는 자기 테이프를 들 수 있다. 일반적으로, 컴퓨터 판독가능 프로그램은 임의의 프로그래밍 언어로 구현될 수 있다. 사용될 수 있는 언어의 일부 예에는 C, C++, 또는 JAVA가 포함된다.
이상에서, 특정 실시예와 관련하여 본 발명을 설명하였으나, 본 발명은 전술한 실시예 및 첨부된 도면에 한정되는 것이 아니고, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서, 여러 치환, 변형 및 변경이 가능하다는 것이 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 명백할 것이다.
본 발명에 따르면, MCTF를 이용한 동영상 부호화시에 GOP 크기를 성능에 따라 적응적으로 세분하여 부호화함으로써 높은 부호화 효율을 얻을 수 있다.

Claims (20)

  1. 동영상 시퀀스에 대한 MCTF(Motion-Compensated Temporal Filtering)-기반 부호화를 수행하기 위한 방법에 있어서, 상기 방법은, 상기 동영상 시퀀스의 선정된 2N 프레임 크기 GOP 각각에 대하여,
    (a) 상기 최대 2N 크기부터 최소 2M(M은 1 이상이고 N보다는 작은 정수임) 크기의 상이한 GOP 단위 각각에 기반하여 부호화를 수행하고 MCTF를 수행하여 도출된 프레임과 상기 부호화 후에 재구성된 프레임간의 차이값을 구하는 단계와,
    (b) 상기 상이한 GOP 단위 각각의 부호화 결과로부터 구해진 상기 차이값에 기반하여 적어도 1개 이상의 세부 GOP를 선택하는 단계와,
    (c) 상기 선택된 적어도 1개 이상의 세부 GOP에 근거하여 상기 선정된 2N 프레임 크기의 GOP를 부호화함으로써 비트스트림을 생성하는 단계
    를 포함하는 것을 특징으로 하는 MCTF-기반 동영상 부호화 방법.
  2. 제1항에 있어서, 상기 (b) 단계는,
    ① 상기 2N 크기에서 상기 2M에 이르는 상이한 GOP 단위 부호화 각각으로부터 구해진 상기 차이값을 비교하여, 상기 2N 크기의 GOP 단위 부호화 결과로부터 구해 진 상기 차이값이 가장 작은 경우에 상기 2N 크기의 GOP를 세부 GOP로 선택하는 단계와,
    ② 상기 2N 크기 GOP 부호화 결과로부터 구해진 상기 차이값이 가장 작지 않다면, N을 1만큼 감소시키고(N=N-1),
    (i) 상기 감소된 N과 M 값이 같다면 2M 크기의 GOP 2개를 세부 GOP로 선택하는 단계와,
    (ii) 상기 감소된 N과 M값이 서로 같지 않다면 앞쪽의 2N 개 프레임과 뒤쪽의 2N 개 프레임 각각에 대하여 상기 ① 내지 ② 단계를 반복하는 단계
    를 포함하는 것을 특징으로 하는 MCTF-기반 동영상 부호화 방법.
  3. 제1항에 있어서, 상기 차이값은, MSE(Mean Square Error), SAD(Sum of Absolute Difference), SSE(Sum of Squared Errors), SAD +λSADR(R은 GOP 단위의 비트수), SSE +λSSER를 포함하는 그룹에서 선택되는 것을 특징으로 하는 MCTF-기반 동영상 부호화 방법.
  4. 제3항에 있어서, 상기 MSE 값은 수학식 5에 따라 계산되는 것을 특징으로 하는 MCTF-기반 동영상 부호화 방법.
    Figure 112005058845931-pat00005
    여기서, k는 한 프레임의 픽셀 개수를 나타내며, F(i)는 MCTF를 수행하여 도출된 프레임의 픽셀값을 나타내고 G(i)는 상기 부호화후에 재구성된 프레임의 픽셀값을 나타냄.
  5. 제1항에 있어서, 상기 (b) 단계는,
    ① 상기 2N 크기에서 상기 2M에 이르는 상이한 GOP 단위 부호화 각각으로부터 구해진 상기 차이값을 비교하여, 상기 2N 크기의 GOP 단위 부호화 결과로부터 구해진 상기 차이값이 가장 작은 경우에 상기 2N 크기의 GOP를 세부 GOP로 선택하고, 상기 GOP 비트스트림의 앞에 삽입되는 GOP 분할여부 비트를"0"으로 설정하는 단계와,
    ② 상기 2N 크기 GOP 부호화 결과로부터 구해진 상기 차이값이 가장 작지 않다면, 상기 GOP 비트스트림의 앞에 삽입되는 GOP 분할여부 비트를"1"로 설정하고, 상기 N을 1만큼 감소시킨(N=N-1) 후에,
    (i) 상기 감소된 N과 M 값이 같다면 2M 크기의 GOP 2개를 세부 GOP로 선택하는 단계와,
    (ii) 상기 감소된 N과 M값이 서로 같지 않다면 앞쪽의 2N 개 프레임 과 뒤쪽의 2N 개 프레임 각각에 대하여 상기 ① 내지 ② 단계를 반복하는 단 계
    를 포함하는 것을 특징으로 하는 MCTF-기반 동영상 부호화 방법.
  6. 제1항에 있어서, 상기 선택된 적어도 1개 이상의 세부 GOP 정보를 GOP의 첫 번째 프레임 헤더 정보내에 표시하여 디코더에 전송하는 단계를 더 포함하는 MCTF-기반 동영상 부호화 방법.
  7. 동영상 시퀀스에 대한 MCTF-기반 부호화를 수행하기 위한 방법에 있어서, 상기 방법은,
    (a) 동영상 시퀀스의 선정된 2N 프레임 크기 GOP 각각에 대하여,
    (a-1) 상기 최대 2N 크기부터 최소 2M(M은 1 이상이고 N보다는 작은 정수임) 크기의 상이한 GOP 단위 각각에 기반하여 부호화를 수행하고 상기 부호화 결과를 이용하여 적어도 1개 이상의 세부 GOP를 선택하는 단계 와,
    (a-2) 상기 선택된 적어도 1개 이상의 세부 GOP에 근거하여 상기 선 정된 2N 프레임 크기의 GOP를 부호화함으로써 비트스트림을 생성하는 단계 와,
    (b) 상기 생성된 비트스트림에 시간적 스케일러빌리티 범위 정보를 삽입하는 단계
    를 포함하는 것을 특징으로 하는 MCTF-기반 동영상 부호화 방법.
  8. 제7항에 있어서, 상기 시간적 스케일러빌리티 범위는 상기 (a) 단계에서 선택된 상기 세부 GOP의 최소 크기(2M)에 기반한 것을 특징으로 하는 MCTF-기반 동영상 부호화 방법.
  9. 제7항에 있어서, 상기 지원가능한 시간적 스케일러빌리티 범위는 1/2N-1 이상 , 1/2N-2 이상 및 1/2N-3 이상중 하나인 것을 특징으로 하는 MCTF-기반 동영상 부호화 방법.
  10. MCTF-기반 부호화된 비트스트림을 복호화하기 위한 방법에 있어서, 상기 방법은, 선정된 2N 크기 GOP 비트스트림 각각에 대하여,
    (a) 상기 GOP 분할여부를 나타내는 비트값을 판독하여 검사하는 단계와,
    (b) 상기 비트값이 “0”인 경우에 상기 GOP 비트스트림을 복호화하는 단계와,
    (c) 상기 비트값이 “1"인 경우에 상기 GOP 비트스트림을 절반 크기의 앞쪽 GOP 비트스트림과 뒤쪽 GOP 비트스트림으로 분할하는 단계와,
    (d) 상기 앞쪽 GOP 비트스트림과 상기 뒤쪽 GOP 비트스트림 각각에 대하여 상기 (a) 내지 (d) 단계를 반복 수행하는 단계
    를 포함하는 것을 특징으로 하는 MCTF-기반 부호화된 비트스트림의 복호화 방법.
  11. MCTF-기반 부호화된 비트스트림을 복호화하기 위한 방법에 있어서, 상기 방법은, 소정 크기 GOP 비트스트림에 대하여,
    (a) GOP 분할여부를 결정하는 단계와,
    (b) GOP 분할이 없는 경우에, 상기 GOP 비트스트림을 복호화하는 단계와,
    (c) GOP 분할이 있는 경우에, 상기 GOP 비트스트림을 분할하는 단계; 및
    (d) 상기 분할된 GOP 비트스트림을 복호화하는 단계
    를 포함하는 MCTF-기반 부호화된 비트스트림의 복호화 방법.
  12. 제11항에 있어서, 상기 (d) 단계의 수행전에 상기 (c) 단계에서 분할된 GOP 비트스트림 각각에 대해 상기 (a) 내지 (c) 단계를 반복수행하는 것을 특징으로 하는 MCTF-기반 부호화된 비트스트림의 복호화 방법.
  13. MCTF-기반 부호화된 비트스트림을 복호화하기 위한 방법에 있어서, 상기 방법은, 소정 크기 GOP 비트스트림 각각에 대하여,
    상기 GOP 비트스트림으로부터 적응적으로 세분화된 GOP 구조 정보를 판독하 는 단계와,
    상기 GOP 구조 정보에 따라 상기 GOP 비트스트림을 복호화하는 단계
    를 포함하는 것을 특징으로 하는 MCTF-기반 부호화된 비트스트림의 복호화 방법.
  14. MCTF-기반 부호화된 비트스트림을 복호화하기 위한 방법에 있어서, 상기 방법은, 소정 크기 GOP 비트스트림에 대하여,
    상기 GOP 비트스트림으로부터 가변 GOP 구조 정보를 판독하는 단계와,
    상기 가변 GOP 구조 정보에 따라 상기 GOP 비트스트림을 복호화하는 단계
    를 포함하는 것을 특징으로 하는 MCTF-기반 부호화된 비트스트림의 복호화 방법.
  15. 삭제
  16. 삭제
  17. MCTF-기반 부호화된 비트스트림을 복호화시에 1/L 시간적 스케일러빌리티를 제공하기 위한 방법에 있어서, 상기 방법은, 선정된 2N 프레임 크기의 GOP 비트스트림 각각에 대하여,
    (a) k(k는 정수)값을 0으로 초기화하는 단계와,
    (b) FrameNum 값을 2N 으로 초기화하는 단계와,
    (c) FrameNum번째 프레임의 비트스트림으로부터 역방향으로 L번째까지의 프레임내에 저주파 영상이 있는지 검색하고, FrameNum을 L만큼 감소시키는 단계와,
    (d) 상기 (c) 단계의 검색 결과에 따라,
    (d-1) 저주파 영상이 존재하지 않는 경우에, k값을 1 증가시키는 단 계와,
    (d-2) 저주파 영상이 존재하는 경우에, 역방향으로 제일 먼저 검색된 저주파 영상을 선택하고, k값이 0이 아닌 경우에는 k개의 후속 고주파 영상 을 또한 선택하고 k를 0으로 재초기화하는 단계와,
    (e) FrameNum이 0이 될 때까지 상기 (c) 내지 (d) 단계를 반복 수행함으로써, 최종적으로 2N /L 개의 프레임을 선택하는 단계
    를 포함하는 것을 특징으로 하는 1/L 시간적 스케일러빌리티 제공 방법.
  18. 제1항 내지 제9항중 어느 하나의 항에 따른 MCTF-기반 부호화방법을 수행하기 위한 컴퓨터 프로그램이 기록된 컴퓨터에 의해 판독가능한 기록매체.
  19. 제10항 내지 제14항중 어느 하나의 항에 따른 MCTF-기반 부호화된 비트스트림을 복호화하기 위한 방법을 수행하기 위한 컴퓨터 프로그램이 기록된 컴퓨터에 의해 판독가능한 기록매체.
  20. 제17항에 따른 1/L 해상도 지원 방법을 수행하기 위한 컴퓨터 프로그램이 기록된 컴퓨터에 의해 판독가능한 기록매체.
KR1020050098147A 2004-10-18 2005-10-18 적응적으로 세분화된 gop 구조를 이용한 mctf-기반동영상 부호화 및복호화 방법 KR100714071B1 (ko)

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
KR20040083333 2004-10-18
KR1020040083333 2004-10-18
KR20050002247 2005-01-10
KR1020050002247 2005-01-10
KR1020050031712 2005-04-16
KR1020050031712A KR20060045796A (ko) 2004-10-18 2005-04-16 Mctf를 이용한 동영상 부호화시에 gop를 적응적으로세분하기 위한 방법 및 장치
KR1020050068494 2005-07-27
KR20050068494 2005-07-27

Publications (2)

Publication Number Publication Date
KR20060054080A KR20060054080A (ko) 2006-05-22
KR100714071B1 true KR100714071B1 (ko) 2007-05-02

Family

ID=36203171

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050098147A KR100714071B1 (ko) 2004-10-18 2005-10-18 적응적으로 세분화된 gop 구조를 이용한 mctf-기반동영상 부호화 및복호화 방법

Country Status (2)

Country Link
KR (1) KR100714071B1 (ko)
WO (1) WO2006043772A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7760960B2 (en) 2006-09-15 2010-07-20 Freescale Semiconductor, Inc. Localized content adaptive filter for low power scalable image processing
US7907789B2 (en) 2007-01-05 2011-03-15 Freescale Semiconductor, Inc. Reduction of block effects in spatially re-sampled image information for block-based image coding
WO2024037858A1 (en) * 2022-08-17 2024-02-22 Interdigital Ce Patent Holdings, Sas Rate distortion optimization for time varying textured mesh compression

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002232893A (ja) * 2001-02-05 2002-08-16 Matsushita Electric Ind Co Ltd 画像符号化装置
JP2003032691A (ja) * 2002-05-20 2003-01-31 Kddi Corp 画像特徴に応じた画像符号化装置
WO2004025965A1 (en) * 2002-09-11 2004-03-25 Koninklijke Philips Electronics N.V. Video coding method and device
KR20050090308A (ko) * 2004-03-08 2005-09-13 삼성전자주식회사 가변 gop 사이즈를 갖는 스케일러블 비디오 코딩방법및 이를 위한 스케일러블 비디오 인코더

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020026254A (ko) * 2000-06-14 2002-04-06 요트.게.아. 롤페즈 컬러 비디오 인코딩 및 디코딩 방법
US20050084010A1 (en) * 2001-12-28 2005-04-21 Koninklijke Philips Electronics N.V. Video encoding method
EP1455534A1 (en) * 2003-03-03 2004-09-08 Thomson Licensing S.A. Scalable encoding and decoding of interlaced digital video data

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002232893A (ja) * 2001-02-05 2002-08-16 Matsushita Electric Ind Co Ltd 画像符号化装置
JP2003032691A (ja) * 2002-05-20 2003-01-31 Kddi Corp 画像特徴に応じた画像符号化装置
WO2004025965A1 (en) * 2002-09-11 2004-03-25 Koninklijke Philips Electronics N.V. Video coding method and device
KR20050090308A (ko) * 2004-03-08 2005-09-13 삼성전자주식회사 가변 gop 사이즈를 갖는 스케일러블 비디오 코딩방법및 이를 위한 스케일러블 비디오 인코더

Also Published As

Publication number Publication date
WO2006043772A1 (en) 2006-04-27
KR20060054080A (ko) 2006-05-22

Similar Documents

Publication Publication Date Title
KR100786132B1 (ko) 적응적으로 세분화된 gop 구조를 이용한 계층적b픽쳐-기반 동영상 부호화 및 복호화 방법
US8054882B2 (en) Method and system for providing bi-directionally predicted video coding
US8761268B2 (en) Selective local adaptive wiener filter for video coding and decoding
US20080304569A1 (en) Method and apparatus for encoding and decoding image using object boundary based partition
US20070098067A1 (en) Method and apparatus for video encoding/decoding
US20060269149A1 (en) Encoding and decoding apparatus and method for reducing blocking phenomenon and computer-readable recording medium storing program for executing the method
JP4685849B2 (ja) スケーラブルビデオコーディング及びデコーディング方法、並びにその装置
US9071844B2 (en) Motion estimation with motion vector penalty
JP2008536438A (ja) 基準ピクチャを用いてビデオ信号をデコードする方法及び装置
WO1999034603A1 (en) Improved video coding using adaptive coding of block parameters for coded/uncoded blocks
JP2006333519A (ja) スケーラブルビデオコーディング及びデコーディング方法と装置
US20060062298A1 (en) Method for encoding and decoding video signals
EP2263382A2 (en) Method and apparatus for encoding and decoding image
JP2008167449A (ja) 映像の符号化、復号化方法及び装置
US20120263225A1 (en) Apparatus and method for encoding moving picture
US20060159181A1 (en) Method for encoding and decoding video signal
KR100809603B1 (ko) 화소 단위 기반 영상 부호화 및 복호화 장치 및 방법
KR20040069209A (ko) 비디오 인코딩 방법
US20060078053A1 (en) Method for encoding and decoding video signals
US6804299B2 (en) Methods and systems for reducing requantization-originated generational error in predictive video streams using motion compensation
US20090080519A1 (en) Method for encoding/decoding video sequence based on mctf using adaptively-adjusted gop structure
KR100714071B1 (ko) 적응적으로 세분화된 gop 구조를 이용한 mctf-기반동영상 부호화 및복호화 방법
US20060067410A1 (en) Method for encoding and decoding video signals
KR101102393B1 (ko) 에러 파급을 방지하는 영상신호의 엔코딩 및 디코딩 방법과장치
WO2004010708A1 (en) Advanced method of coding and decoding motion vector and apparatus therefor

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: 20120330

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20130325

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee