KR20070001565A - 복잡도 가변형 동영상 부호화 장치 및 그 방법 - Google Patents

복잡도 가변형 동영상 부호화 장치 및 그 방법 Download PDF

Info

Publication number
KR20070001565A
KR20070001565A KR1020050057130A KR20050057130A KR20070001565A KR 20070001565 A KR20070001565 A KR 20070001565A KR 1020050057130 A KR1020050057130 A KR 1020050057130A KR 20050057130 A KR20050057130 A KR 20050057130A KR 20070001565 A KR20070001565 A KR 20070001565A
Authority
KR
South Korea
Prior art keywords
dct
complexity
computation
module
video
Prior art date
Application number
KR1020050057130A
Other languages
English (en)
Other versions
KR100809013B1 (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 KR1020050057130A priority Critical patent/KR100809013B1/ko
Publication of KR20070001565A publication Critical patent/KR20070001565A/ko
Application granted granted Critical
Publication of KR100809013B1 publication Critical patent/KR100809013B1/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/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
    • H04N19/57Motion estimation characterised by a search window with variable size or shape
    • 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/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • 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
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
    • 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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/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/172Methods 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 picture, frame or field

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

본 발명은 DCT 연산에서 64개의 DCT 계수를 모두 계산하지 않고, 일부만을 계산해서 복잡도를 줄이는 방법을 제공한다. 본 발명에 따른 방법은 이동 단말과 같이 연산량이 제한된 경우에 기존의 DCT 연산을 수행할 경우, 짧은 시간내에 배터리가 소모되어서 원하는 동영상을 녹화하는 시간 (또는 부호화(또는 압축) 할 수 있는 영상의 개수)의 제약을 가지는데 본 발명에서는 64개의 DCT 계수를 모두 계산하지 않고, 일부만을 계산함으로써 연산을 줄이는 특징을 가진다.
복잡도, 가변형, 동영상, 부호화

Description

복잡도 가변형 동영상 부호화 방법 및 그 장치{Coding Method for Complexity-scalable Moving Image and appratus thereof}
도 1은 일반적인 표준 동영상 부호기의 구조를 보여준다.
도 2는 도1의 종래 기술의 도면에 본 발명에 맞게 변경 및 수정을 한 그림이다.
도 3은 DCT 계수만의 복잡도.
도 4는 DCT 연산에 있어서 계산량 복잡성을 여러 단계로 나누기 위해서 사용되는 마스크.
도 5와 도 6은 이론적 목표 계산량 복잡성과 실제 실험에 의해 얻은 목표 계산량 복잡성을 나타낸 그래프.
도 7은
Figure 112005035106228-PAT00001
값에 따른 PSNR을 나타낸 그래프.
도 8과 도 9는 각각 양자화 간격이 5인 경우와 양자화 간격이 15인 경우 이론적 CPU 사용시간과 실험에 의해 얻은 결과를 나타낸 그래프.
도 10과 도 11은 양자화 간격(QP)가 5인 경우와 15인 경우 PSNR을 나타낸 그래프.
도 1은 일반적인 표준 동영상 부호기의 구조를 보여준다. 이 구조는 ISO/IEC의 MPEG-1, MPEG-2, MPEG-4 및 ITU-T의 H.261, H.263, H.264의 기본 구조이다. 도 1의 동영상 부호기(또는 동영상 압축기라고 불림)는 현재 영상과 재생된 이전 영상들을 이용해서 압축을 수행한다. (107)은 현재 영상 중에 휘도 신호 (luminance signal) 중 16x16 (가로 16화소 x 세로 16화소 = 총 256화소) 화소(pixel; pel; picture element)들와 색차 신호(chrominace signal)중에 두 개의 8x8 화소 블록들을 입력으로 받는다.
또한 (107)은 재생된 이전 영상들을 이용한 현재 영상의 예측값 중에 휘소 신호 16x16 (총 4개의 8x8 화소 블록에 해당함) 화소들과 두 개의 8x8 색차 신호 블록을 입력으로 받는다. (111)은 입력된 현재 및 재생된 이전 영상신호들의 특성에 바탕을 두고, 현재 영상 블록들만을 이용하는 모드 (화면내 부호화 모드) 및 현재 영상 블록과 이전 재생 영상 블록들의 화소값들을 뺀 차이 블록을 이용하는 모드 (화면간 부호화 모드)를 결정하고, (107)의 스위치를 이용해서 이 모드들이 부호화에 반영되게 한다.
즉, (107)의 스위치가 OFF 위치에 있을 경우에는 화면내 부호화 모드로 동작하게 되고, ON의 위치에 있을 경우에는 화면간 부호화 모드로 동작하게 된다. (101) ~ (104)의 부분들은 도 1에서 보인 바와 같이 현재 영상의 화소값들로 구성된 6개의 블록 (휘도 신호 4개 및 색차 신호 2개 블록) 또는 현재 영상 블록과 재생된 이전 영상들을 이용한 현재 영상의 예측값 블록들의 화소차 값들로 구성된 블록에 상관없이 공히 적용된다.
또한 (101)~(104)의 부분은 6개의 입력 블록들을 순차적으로 처리한다. 각 블록은 8x8 화소값 블록들에 해당한다.
(101)에서는 8x8 화소 블록을 입력으로 받아서 DCT(Discrete Cosine Transform) 변환을 수행하고, 그 결과로 8X8개(총 64개)의 DCT 계수를 발생 시킨다. 실제적인 압축을 위해 위DCT 변환에 의해 만들어진 계수값들은 (102)에서 양자화(quantization) 과정을 거치게 된다. 이 양자화 과정은 단순화하면, 실수값인 DCT 계수값을 일정 크기의 값의 정수값(양자화 간격; quantization step size라고 불림)으로 나누고, 소수점에 해당하는 부분을 삭제하는 동작이다.
양자화 과정을 통해 대표 값으로 표현되어진 DCT 계수들은 zigzag스캔과정(103)과 VLC(104) 앤트로피 부호화과정을 통하여 압축하게 된다.
(105), (106), (109)~(111)의 과정은 부호화된 현재영상을 복원해서 재생 영상을 만드는 과정에 해당한다. 이 과정을 통해서 만들어진 재생 영상은 다음 영상의 부호화시에 재생된 이전 영상으로 활용하게 된다. (105)의 역양자화 과정은 (102)의 양자화과정에서 사용된 양자화 간격을 다시 곱하기를 수행해서 DCT 계수값을 복원한다. (102)와 (105)의 양자화-역양자화 과정 전후의 DCT 계수값은 나누기 연산에 의해서 차이가 발생하게 되고, 이는 재생 영상의 화질 저하를 초래한다.
동영상 부호화는 이런 화질 저하를 감수하고, 영상 신호를 압축하는 원리이다. (106)의 IDCT (역 DCT; Inverse DCT)과정을 통해서 DCT 계수는 화소값 또는 화소차이 값으로 복원된다. (108)의 스위치는 (107)의 스위치와 연동하게 되어 있고, 화면내 부호화 인 경우에는 (111)의 합산기에 아무런 신호를 보내지 않게 하고, 화 면간 부호화기 인 경우에는 재생된 이전 영상들을 이용한 현재 영상의 예측값을 합해서 현재 영상에 대한 재생 영상을 만든다.
(109) 및 (110)의 부분은 재생된 이전 영상과 현재 영상을 이용해서 현재 영상의 6개의 블록을 예측하는 과정을 보여준다.
이동 추정기(109)는 동영상의 경우에 현재 영상과 이전 영상은 유사하고, 현재 영상내의 특정한 위치의 화소 블록(휘소 성분 기준으로 16x16화소 부분)이 이전 영상에서 어느 부분에 위치하는 가를 측정하고, 이는 현재 블록의 위치에 비해서 가로 및 세로 방향으로 몇 개의 화소만큼의 위치 차이(이동 벡터라고 부름)가 나는 지를 측정 (또는 추정이라 불림)하는 장치이다. 이동 벡터 값을 측정하는 방법은 (식 1)과 (식 2)에 근거한다.
Figure 112005035106228-PAT00002
(식1)
dx = {-S, -S+
Figure 112005035106228-PAT00003
, -S+2
Figure 112005035106228-PAT00004
, ..., S-2
Figure 112005035106228-PAT00005
, S-
Figure 112005035106228-PAT00006
, S},
dy = {-S, -S+
Figure 112005035106228-PAT00007
, -S+2
Figure 112005035106228-PAT00008
, ..., S-2
Figure 112005035106228-PAT00009
, S-
Figure 112005035106228-PAT00010
, S} (식2)
여기에서 S값은 탐색 영역이라고, 부르고
Figure 112005035106228-PAT00011
값은 이동벡터의 해상도라고 부른다. (식 1)에서 SAD(dx, dy)는 현재 블록에 비해, (dx, dy)만큼의 위치가 차이나는 재생된 이전 영상과 현재 블록과의 유사도를 측정하고, 이 값이 작을수록 두 블록의 화소값들은 유사하다. 또한 (dx, dy)는 (식 2)에 의해서 정의된 값들에 대해서 측정된다.
(110)의 과정은 (109)과정에서 결정된 현재 블록과 유사한 재생된 이전 영상 들을 출력해서 (107)의 스위치에서 활용한다.
종래의 기술 중에 (도 1)의 (101)의 부분의 DCT 연산은 8x8 (가로방향으로 8 화소, 세로 방향으로 8화소, 총 8x8=64화소)를 입력으로 받아서 총 64(8x8)개의 DCT 계수를 계산한다. 실제 표준 동영상 부호기(또는 압축기라고 불림)에서 (101) 부분이 사용하는 연산량은 전체 연산량의 약 30~40%에 해당한다. 기존의 (101)의 DCT 연산을 수행할 경우, 짧은 시간 내에 배터리가 소모되어서 원하는 동영상을 녹화하는 시간 (또는 부호화 할 수 있는 영상의 개수)의 제약을 가진다.
이를 해결하기 위해서 본 발명에서는 일부만을 이용해서 연산을 수행해서 화질은 떨어지는 현상을 감수하고 장시간의 녹화가 가능하게 한다. 또한 이동 단말기의 경우에 성능의 제약으로 인해 복잡한 동영상 신호의 부호화를 하는 것이 불가능한 경우에도 (101)의 연산량을 줄임으로써 부호화를 가능하게 하는 기술이다.
또한 (109)의 이동 추정기에서 이동 벡터를 계산하는데 필요한 연산량도 전체 연산량의 30~40%를 차지한다. (109)의 연산량은 탐색 영역(S) 및 이동벡터의 해상도(
Figure 112005035106228-PAT00012
)의 크기들에 의해서 결정된다. 즉, S가 작고,
Figure 112005035106228-PAT00013
값이 클수록 연산량은 감소하게 되고, 반대로 S가 커고, ?값이 작을수록 연산량은 증가하게 된다.
현재 구현되어 있는 장치들은 이들 값들을 고정된 값을 사용하고 있기 때문에 단말기별로 또한 단말기에 현재 남아 있는 배터리의 충전량과 상관없이 고정된 값들을 사용하는 단점을 가지고 있다.
도 1의 전체 동영상 부호기는 일단 부호화 장치가 제작되면, 사용되는 연산 량은 고정이 된다. 본 발명에서는 상기한 발명의 부분에서 (101) ~ (106)의 연산량 및 (109)의 연산량을 현재 단말기의 상황에 맞춰서 적응적으로 복잡도를 가변할 수 있다.
본 발명에서는 이 (101)의 DCT 연산에서 64개의 DCT 계수를 모두 계산하지 않고, 일부만을 계산해서 복잡도를 줄이는 방법이다. 이 방법은 이동 단말과 같이 연산량이 제한된 경우에 기존의 (101)의 DCT 연산을 수행할 경우, 짧은 시간내에 배터리가 소모되어서 원하는 동영상을 녹화하는 시간 (또는 부호화(또는 압축) 할 수 있는 영상의 개수)의 제약을 가진다. 이를 해결하기 위해서 본 발명에서는 64개의 DCT 계수를 모두 계산하지 않고, 일부만을 계산함으로써 연산을 줄인다.
본 발명은 화질은 떨어지는 현상을 감수하고 장시간의 녹화가 가능하게 한다. 또한 이동 단말기의 경우에 성능의 제약으로 인해 복잡한 동영상 신호의 부호화를 하는 것이 불가능한 경우에도 (101)의 연산량을 줄임으로써 부호화를 가능하게 하는 기술이다.
또한 본 발명에서는 (109)에서 이동 벡터를 추정을 할 때, 탐색 영역(S)과 이동 벡터의 해상도(
Figure 112005035106228-PAT00014
)를 줄이거나 늘려서, 연산량을 조절한다.
도 2는 도1의 종래 기술의 도면에 본 발명에 맞게 변경 및 수정을 한 그림이다. (도 2)에서는 (도 1)의 DCT 연산을 수행하는 (101) 부분은 (도 2)의 (201)~(208)의 다양한 DCT 연산 묘듈로 변경이 되었고, 선택기 (220)에 의해서 선택한 모듈에 의해서 DCT 연산을 수행한다. 또한 (209)~(213)의 과정은 종래에는 64개의 DCT 계수에 대해 수행하는 것과 달리, (201)~(208)에서 연산이 된 DCT 계수에 대해서만 처리를 한다. 또한 (216)의 연산에서 탐색 영역(S)과 이동벡터의 해상도(
Figure 112005035106228-PAT00015
)를 단말기의 특성에 맞춰 조절해서 연산량을 조절한다. (222)의 복잡도 제어 모듈은 현재 단말기에서 허용가능한 복잡도에 맞춰서 사용한 DCT 모듈의 종류 및 이동 벡터의 해상도를 결정한다.
도 2의 DCT 모듈 1 (201)은 (도 3)의 (a)와 같이 1개의 DCT 계수만을 계산해서 최소의 복잡도만을 사용하게 되고, DCT 모듈 8(208)은 (도 3)의 (h)와 같이 64개의 모든 DCT 계수들을 계산한다. 본 발명에서는 (201)~(208)의 DCT 계수 계산 모듈을 선택적으로 사용해서 복잡도를 조절한다. 또한 (201)~(208)의 과정에서 계산이 생략된 DCT 계수들에 대해서는 (209) ~ (213)의 총 5개 부분에서 이를 반영해서 생략된 DCT 계수들에 대한 조작을 생략함으로써 연산량을 더욱 더 줄인다.
본 발명은 (도 3)에서 보인 8종의 마스크와는 달리 다양한 형태의 마스크를 활용해서 복잡도를 줄이는 것을 포함한다. (도 3)의 8종은 한 실시 예이다. (216)의 연산에서 탐색 영역(S)과 이동벡터의 해상도(
Figure 112005035106228-PAT00016
)를 단말기의 특성에 맞춰 조절해서 연산량을 조절한다.
또한 도1의 전체 동영상 부호기는 일단 부호화 장치가 제작되면, 사용되는 연산량은 고정이 되어있지만, 본 발명에서는 상기한 발명의 부분에서 (201) ~ (213)의 연산량 및 (216)의 연산량을 (222)의 복잡도 제어 묘듈에서 분석한 결과에 따라 현재 단말기의 상황에 맞춰서 적응적으로 복잡도를 가변시킬 수 있다.
(222)의 복잡도 제어 묘듈은 복잡도를 가변시키는 다양한 방법이 있을 수 있으나, 한 방법으로 다음과 같은 제어 기법을 제시한다.
Rn=Rn-1 +Sn-T (식3)
여기에서 Sn은 현재 영상의 n번째에 영역에 사용된 계산량이고, Rn은 n번째 영역을 마친 후 계산량 복잡성 버퍼 내에 남아있는 계산량 복잡성이다. T는 영역별 목표로 하는 계산량 복잡성이다. Rn의 남아있는 복잡성이 작은 경우에는 복잡도를 낮추고, 반대의 경우에는 복잡도를 높인다. (201)~(208)의 DCT 모듈 중에 사용해야 할 모듈은 (식 4)에 기반을 두고 할 수 있다.
M = min(8, max(1, B/Rn)) (식 4)
여기에서 B는 최대버퍼의 크기를 의미하고, M은 DCT 모듈의 번호를 의미한다.
본 논문에서는 매우 제한된 파워를 가지는 모바일 폰, PDA등과 같은 휴대용 단말기에 적용할 수 있는 복잡성 변화 가능한 DCT 기반의 비디오 부호화 알고리즘을 제안한다. 제안된 알고리즘의 기본개념은 CBR (constant bit-rate) 비디오 부호화에 있어서 율버퍼 제어기법과 유사하게 복잡성에 따라 DCT연산 수행량을 적절하게 가변시킨다.
이를 위해 본 논문에서는 휴대용 단말기에서 사용 가능한 계산량 복잡 성에 따라 적용 가능한 마스크를 선택하는 마스크 선택알고리즘도 제안한다. 본 논문에서 제안하는 알고리즘을 ITU-T H.263 부호기를 이용하여 실험하고, 제안기법의 성능을 검증한다.
Ⅰ. 서론
휴대용 단말기, 인터넷 그리고 멀티미디어 기술이 발달함에 따라, 오늘날에는 휴대용 단말기에서의 멀티미디어 처리에 많은 관심을 가지게 되었다. 휴대용 단말기의 플랫폼이나 그 응용에 있어서 고려해야 되는 사항은 배터리 파워가 제한적이라는 것이다. 즉, 휴대용 단말기의 계산에 사용 가능한 파워가 아주 제한되어 있다는 것이다. 이 문제점을 개선하기 위한 방법으로 본 논문에서는 모바일 비디오 응용에 있어서 수신 단말기의 배터리 파워에 따라 적절하게 부호화 하는 알고리즘을 제안한다.
최근의 비디오 코덱에 관한 연구는 다양한 고속 이동추적기법의 개발로 인해 이동추정의 계산량을 많이 줄였다. 이로 인해, 상대적으로 DCT에 관련된 알고리즘의 계산량은 크게 늘어나게 되었다. 특히 ITU-T H.263 부호기[1]의 경우, DCT 알고리즘과 양자화에 관련된 함수들에 사용된 CPU 사용시간은 30.1%를 차지한다. 그리고 이동추정에 관련된 함수들이 사용된 CPU 사용시간은 29.8%이며, 그 외에 부호화에 사용된 CPU 사용시간은 40.1%이다[2]. 그러므로 하드웨어 또는 소프트웨어 기반을 둔 비디오 부호화 알고리즘에 있어 DCT 연산[3]에 필요한 계
산량을 줄이는 것이 중요한 과제이다.
본 논문에서는 DCT 연산에 사용되어지는 계산량을 효율적으로 사용할 수 있게 부분적으로 DCT연산을 수행하는 복잡도 변화 가능한 DCT 기반 부호화 알고리즘(complexity-scalable DCT-based video encoding algorithm)을 제안한다. 그리고 단말기에 있어서 사용 가능한 복잡성에 따라 계산량 복잡성을 맞추어 줄 수 있는 복잡성 버퍼 제어 기법 (complexity buffer control mechanism) 도 제안한다. 복잡성 조절 알고리즘은 율버퍼 조절 메커니즘의 기본 개념을 응용하여 얻은 것이다.
본 논문의 구성은 다음과 같다. 2장에서는 제안된 알고리즘에 대해 설명하고 3장에서는 실험에 의한 결과를 보여준다. 마지막으로 4장에서 결말을 짓는 것으로 본 논문을 마친다.
Ⅱ. 제안된 복잡성 변화 가능한 DCT 기반의 비디오 부호화 알고리즘
본 논문에서는 DCT 연산에 있어서 계산량 복잡성을 여러 단계로 나누기 위해서 도 4과 같이 8가지의 마스크를 사용한다. 8X8 블록에 있어서 검은 부분의 계수만을 DCT 연산을 수행하고 나머지 영역은 0으로 처리한다. 그러므로 양자화와 지그재그 스캐닝(zig-zag scanning)도 마스크의 검은 영역만을 적용한다. 예를 들어 마스크1의 경우, DCT 연산은 8X8 블록의 DC 성분만을 가지고 있다. 그러므로 DC성분만이 양자화를 하여 주고 지그재그스캐닝과 RLC (run-length coding)과정은 생략함으로써 계산량을 줄일 수 있다.
실질적인 계산량 복잡성은 입력 영상의 분포와 양자화 스텝사이즈에 의해 결 정된다. 영상의 분포가 거의 일정한 블록인 경우 0이 아닌 DCT 계수가 아주 적게 발생하게 된다. 0이 아닌 계수의 발생이 적은 경우, 엔트로피 부호화 방법에 있어서 계산량 복잡성은 줄어들게 된다. 블록에 있어서 영상의 분포가 다양한 경우는 높은 계산량을 필요로 하게 된다. 그러므로 입력 영상의 분포에 따라 사용 가능한 계산량을 만족하는 마스크로 바꾸어 줄 수 있어야 한다. 입력 영상과 마스크가 주어진 경우, 계산량의 복잡성은 양자화 스텝에 따라 반비례적으로 증가하게 될 것이다. 이러한 점들은 알고리즘의 계산량 복잡성에 제한이 필요하다는 것을 암시하고 있다.
휴대용 단말기에서 사용 가능한 복잡성을 만족하는 마스크를 결정하기 위해서 본 논문에서는 다음과 같은 복잡성 버퍼 조절 기법 (complexity buffer control mechanism)을 제안한다. 도 4은 DCT 연산에 사용된 마스크 패턴이다.
제안된 복잡성 버퍼 조절 기법은 식 (1)과 같다.
Rn=Rn-1 +Sn-T (1)
여기에서 Sn은 n번째 GOB(또는 frame)에 사용된 계산량이고, Rn은 n번째 GOB(또는 frame)를 마친 후 계산량 복잡성 버퍼 내에 남아있는 계산량 복잡성이다. T는 각 GOB(또는 frame)의 목표로 하는 계산량 복잡성이다. 다음 GOB(또는 frame)에 사용 되어지는 마스크는 식(2)에 의해 결정한다.
M=nint(8XRn/B), M
Figure 112005035106228-PAT00017
[1,8] (2)
여기에서 B는 복잡성 버퍼 사이즈이며, M은 다음 GOB(또는 frame)에 사용할 마스크이다. 이 복잡성 컨트롤 메커니즘은 CBR (Constant Bit-rate) 비디오 부호화에 있어서 율버퍼 제어기법으로부터 영감을 얻은 것이다. 율버퍼 제어기법과 복잡도 버퍼 제어기법의 차이점은 율버퍼 제어기법에서 심각한 문제로 야기하는 버퍼넘침(buffer overflow)과 버퍼고갈(buffer underflow)을 복잡도 버퍼 제어기법에는 단기간에는 큰 문제가 되지 않는 점이다.
Ⅲ. 모의 실험
3.1 실험 환경
본 논문에서 제안한 복잡성 변화 가능한 부호화 알고리즘의 성능을 평가하기 위해서 다음과 같은 실험환경 하에 실험을 수행한다. 실험에 사용된 코덱은 ITU-T H.263 TMN8을 사용한다. 제안된 알고리즘의 주된 관심분야는 DCT 부호화 부분이므로 영상 부호화 방법은 I-Picture로 고정하여 실험한다. 실험에 사용된 영상의 규격은 QCIF (176x144, 색차성분부표화 4:2:0, 10Hz)이며, 사용한 영상은 Foreman영상을 사용한다.
실험에 사용된 환경은 다음과 같다.
PC : IBM Compatible PC Pentium 4
OS : Microsoft Windows Server 2003
Language : Microsoft Visual C++ 6.0
Codec : ITU-T Recommendation H.263 TMN8
실험에 사용된 양자화 간격(QP)은 5인 경우와 15인 경우 두 가지로 실험한다. 실험방법은 Foreman영상을 10Hz로 I-picture만 부호화를 한다. 여기서 각각의 GOB가 바뀔 때마다 사용 가능한 계산량을 만족하는 마스크를 적용하여 목표로 하는 계산량을 맞추어 주는 방법이다.
기준을 정하기 위해서 mask 8 (full DCT mask)의 CPU 사용시간을 측정한다. 측정한 CPU 사용시간을 TREF라 정의한다. 목표 계산량 복잡성은 파라미터
Figure 112005035106228-PAT00018
에 의해 결정 되어진다. 식(1)에서 정의되어 있는 목표 계산량 복잡성 T는 식(3)과 같이 정의한다.
T=
Figure 112005035106228-PAT00019
TREF (3)
여기에서
Figure 112005035106228-PAT00020
의 값을 0.1부터 1.0까지의 실험을 통해 CPU 사용시간을 측정하여 이론적으로 구한 목표 계산량 복잡성과의 차이를 비교하여 적용 가능한 값을 구한다. 각각의 양자화 스텝 사이즈에
Figure 112005035106228-PAT00021
값을 적용하여 CPU 사용시간을 측정하고, 그 결과로 제안된 알고리즘의 성능을 평가한다.
도 5 혹은 도 6에서는 식 (3)에 의해 정의된 이론적 목표 계산량 복잡성과 식 (1)과 식 (2)에 의해 제안된 방법의 실제 실험에 의해 얻은 목표 계산량 복잡성을 비교하고 있다. 도 5 혹은 도 6의 결과를 보면
Figure 112005035106228-PAT00022
값이 0.3미만인 경우 실험치의 결과가 유용하지 않은 것을 알 수 있다. 그러므로 0.3미만의
Figure 112005035106228-PAT00023
값은 사용하지 않는다.
도 7에서는
Figure 112005035106228-PAT00024
값에 따른 PSNR을 나타내고 있다. Foreman영상을 10Hz로 부호화하게 되면 전체 100프레임이다. 도 7은
Figure 112005035106228-PAT00025
값에 따른 Foreman영상 100프레임의 평균 PSNR이다.
도 7의 결과 역시
Figure 112005035106228-PAT00026
값이 0.3미만인 경우는 실험에 사용하기에 적절하지 않다는 것을 알 수 있다. 그러므로 본 논문에서 제안된 알고리즘을 실험할 경우 0.3이상의
Figure 112005035106228-PAT00027
값만을 사용한다.
도 5 혹은 도 6.
Figure 112005035106228-PAT00028
값에 따른 CPU 사용시간이며, 도 7.
Figure 112005035106228-PAT00029
값에 따른 PSNR으로 (a) 양자화 간격이 5인 경우및 (b) 양자화 간격이 15인 경우이다.
본 논문에서 제안하는 알고리즘의 성능을 측정하기 위해서 식 (3)의
Figure 112005035106228-PAT00030
값을 식 (4)와 같이 설정하고 실험한다.
Figure 112005035106228-PAT00031
=0.5 if n<33,
Figure 112005035106228-PAT00032
=1.0 if 33
Figure 112005035106228-PAT00033
n<66,
Figure 112005035106228-PAT00034
=0.7 if otherwise (4)
3.2 실험 결과
3.1절에서 정의된 실험환경에 의해 식 (4)에 의해 프레임별 제시된
Figure 112005035106228-PAT00035
값에 따른 각 프레임별 CPU 사용시간과 PSNR을 측정하고 이론치와 비교한 결과이다.
도 8 혹은 도 9의 경우 각각 양자화 간격이 5인 경우와 양자화 간격이 15인 경우 식(3)에 의해 구한 이론적 CPU 사용시간과 실험에 의해 얻은 결과를 비교한다.
도 8 혹은 도 9. 식 (4)에 제시된
Figure 112005035106228-PAT00036
값에 따른 CPU 사용시간으로 (a) 양자화간격이 5인 경우 및 (b) 양자화간격이 15인 경우이다.
도 8 혹은 도 9의 결과를 보면 본 논문에서 제안된 알고리즘이 각각의 양자화 간격(QP)에서 구한 이론적 계산량 복잡성에 따라 적절하게 적응해 가는 과정을 보여준다. 식 (4)에 프레임별 주어진
Figure 112005035106228-PAT00037
값에 따른 PSNR의 결과를 보여준다. 도 10 혹은 도 11에서는 양자화 간격(QP)가 5인 경우와 15인 경우 PSNR을 나타내고 있다. 이 결과에 알 있듯이 복잡도와 화질 사이에는 비례관계가 있음을 알 수 있다. 도 10 혹은 도 11. 식 (4)에 제시된 값에 따른 프레임별 PSNR 특성으로 (a) 양자화 간격이 5인 경우 및 (b) 양자화 간격이 15인 경우이다.
본 논문에서는 모바일 폰이나 PDA와 같은 매우 제한된 파워를 가지는 단말기를 위한 복잡성 변화 가능한 DCT 기반의 비디오 부호화 알고리즘을 제안하고 있다.
제안된 알고리즘의 기본 개념은 CBR (constant bit-rate) 비디오 부호기의 응용에 있어서 버퍼 컨트롤 알고리즘과 유사하게 복잡성에 따라 적절하게 DCT 계산량을 조절하는 알고리즘이다. 제안된 알고리즘을 ITU-T H.263 부호기에 적용하여 실험하여 알고리즘의 성능을 측정하였다.
실험 결과를 보면 제안된 알고리즘이 목표 계산량 복잡성에 효율적으로 적응 해 가는 것을 확인할 수 있었다. 그러므로 본 논문에서 제안한 복잡성 변화 가능한 DCT 기반의 비디오 부호화 알고리즘은 제안된 파워를 가지는 휴대용 단말기의 부호기로 적절할 것이다.
본 발명에 의하면 DCT 연산에서 64개의 DCT 계수를 모두 계산하지 않고, 일부만을 계산해서 복잡도를 줄이는 효과가 있다. 본 발명에 따른 방법은 이동 단말과 같이 연산량이 제한된 경우에 기존의 DCT 연산을 수행할 경우, 짧은 시간내에 배터리가 소모되어서 원하는 동영상을 녹화하는 시간 (또는 부호화(또는 압축) 할 수 있는 영상의 개수)의 제약을 가지는데 본 발명에서는 64개의 DCT 계수를 모두 계산하지 않고, 일부만을 계산함으로써 연산을 줄이는 특징을 가진다.

Claims (1)

  1. 복잡도 가변형 동영상 부호화 방법법 및 그 장치
KR1020050057130A 2005-06-29 2005-06-29 복잡도 가변형 동영상 부호화 장치 및 그 방법 KR100809013B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050057130A KR100809013B1 (ko) 2005-06-29 2005-06-29 복잡도 가변형 동영상 부호화 장치 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050057130A KR100809013B1 (ko) 2005-06-29 2005-06-29 복잡도 가변형 동영상 부호화 장치 및 그 방법

Publications (2)

Publication Number Publication Date
KR20070001565A true KR20070001565A (ko) 2007-01-04
KR100809013B1 KR100809013B1 (ko) 2008-03-06

Family

ID=37868937

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050057130A KR100809013B1 (ko) 2005-06-29 2005-06-29 복잡도 가변형 동영상 부호화 장치 및 그 방법

Country Status (1)

Country Link
KR (1) KR100809013B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101005382B1 (ko) 2008-11-27 2010-12-30 경희대학교 산학협력단 완전 탐색 기반의 적응적 탐색 영역을 이용한 움직임 추정 방법
KR101173305B1 (ko) 2010-08-18 2012-08-17 동의대학교 산학협력단 영상 부호화를 위한 스칼라 양자화 방법

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6717988B2 (en) * 2001-01-11 2004-04-06 Koninklijke Philips Electronics N.V. Scalable MPEG-2 decoder
KR20030071920A (ko) * 2002-03-02 2003-09-13 삼성전자주식회사 Dct계산량을 감소시키는 동화상 부호화 방법 및 그 장치
KR100961760B1 (ko) * 2002-08-13 2010-06-07 퀄컴 인코포레이티드 이산코사인변환 계수를 참조하는 움직임 추정 방법 및 장치

Also Published As

Publication number Publication date
KR100809013B1 (ko) 2008-03-06

Similar Documents

Publication Publication Date Title
US11089311B2 (en) Parameterization for fading compensation
KR100468726B1 (ko) 실시간 가변 비트율 제어를 수행하는 부호화 장치 및 방법
CN100463523C (zh) 帧层速率控制的视讯编码方法和系统
KR100355375B1 (ko) 영상부호화장치에있어서양자화간격결정방법및회로
KR100772576B1 (ko) 비디오 정보를 부호화 및 복호화하기 위한 방법, 움직임보상 비디오 부호기 및 대응하는 복호기
US6937656B2 (en) Method and apparatus for image coding
US6192081B1 (en) Apparatus and method for selecting a coding mode in a block-based coding system
US7463684B2 (en) Fading estimation/compensation
EP1992169B1 (en) Method and apparatus for bit rate control in scalable video signal encoding using a rate-distortion optimisation
JP2001145113A (ja) 画像情報変換装置及び方法
KR20050089838A (ko) 선택된 매크로블록에 대한 스킵 모션 추정으로 비디오인코딩하는 방법
KR20040106480A (ko) 움직임 정보를 사용하는 mpeg 트랜스코딩 시스템 및방법
KR20080108538A (ko) 비디오 코딩 방법
KR100708182B1 (ko) 동영상 부호화기의 비트율 제어 장치 및 방법
US20080025402A1 (en) Method of detecting scene conversion for controlling video encoding data rate
KR20030020466A (ko) 확률 샘플링 기반의 움직임 추정 방법
KR101345294B1 (ko) 영상의 양자화 장치 및 방법
CN1302666C (zh) 编码运动图像的装置和方法
KR20070001565A (ko) 복잡도 가변형 동영상 부호화 장치 및 그 방법
JP3888533B2 (ja) 画像特徴に応じた画像符号化装置
KR100336497B1 (ko) 공간예측 오차 모델을 이용한 동영상 부호화기의 율제어장치 및 방법
KR101490521B1 (ko) 동영상 부호화 데이터율 제어를 위한 실시간 장면 전환검출 방법, 이를 이용한 영상통화 품질 향상 방법, 및영상통화 시스템
JPH10108197A (ja) 画像符号化装置、画像符号化制御方法および画像符号化制御用プログラムを記録した媒体
KR100635009B1 (ko) 화면 전체의 움직임을 고려한 움직임예측방법 및 그 장치
JPH0420088A (ja) フレーム間符号化装置

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
G170 Publication of correction
FPAY Annual fee payment

Payment date: 20130107

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20140106

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20150120

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20160113

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20170220

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee