KR100846769B1 - 고정 연산량을 갖는 동영상 부호화 방법 및 그 장치 - Google Patents

고정 연산량을 갖는 동영상 부호화 방법 및 그 장치 Download PDF

Info

Publication number
KR100846769B1
KR100846769B1 KR20020008759A KR20020008759A KR100846769B1 KR 100846769 B1 KR100846769 B1 KR 100846769B1 KR 20020008759 A KR20020008759 A KR 20020008759A KR 20020008759 A KR20020008759 A KR 20020008759A KR 100846769 B1 KR100846769 B1 KR 100846769B1
Authority
KR
South Korea
Prior art keywords
dct
complexity
computation
target
unit
Prior art date
Application number
KR20020008759A
Other languages
English (en)
Other versions
KR20030069282A (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 KR20020008759A priority Critical patent/KR100846769B1/ko
Priority to CNB021503699A priority patent/CN1263311C/zh
Priority to DE2002153383 priority patent/DE10253383B4/de
Priority to JP2002353026A priority patent/JP3824578B2/ja
Priority to US10/321,537 priority patent/US7123654B2/en
Publication of KR20030069282A publication Critical patent/KR20030069282A/ko
Application granted granted Critical
Publication of KR100846769B1 publication Critical patent/KR100846769B1/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/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/156Availability of hardware or computational resources, e.g. encoding based on power-saving 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/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/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/149Data rate or code amount at the encoder output by estimating the code amount by means of a model, e.g. mathematical model or statistical model
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/18Methods 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 set of transform coefficients
    • 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
    • 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

Abstract

연산량 복잡도를 일정하게 유지하는 동영상 부호화 방법 및 그 장치가 개시되어 있다. 본 발명은 영상 데이터로부터 움직임 추정의 연산 복잡도를 계산하여 목표 움직임 추정 연산 복잡도에 대한 변화분을 추정하는 과정, 상기 추정된 움직임 추정 연산 복잡도에 대한 변화분을 바탕으로 목표 DCT 복잡도를 갱신하는 과정, 상기 갱신된 목표 DCT 연산 복잡도를 참조하여 영상 데이터의 DCT 스키핑을 위한 문턱값을 설정하는 과정; 상기 설정된 문턱값에 따라 영상 데이터에 대한 DCT 스킵을 조절하는 과정을 포함한다.

Description

고정 연산량을 갖는 동영상 부호화 방법 및 그 장치{Method for encoding motion image having fixed computational complexity and apparatus thereof}
도 1은 종래의 DCT 스킵핑 기술을 적용한 동영상 부호화 시스템을 도시한 블록도이다.
도 2는 본 발명에 따른 동영상 부호화 장치의 전체 블록도이다.
도 3은 도 2의 DCT연산량계산부의 상세도이다.
도 4는 도 2의 DCT스킵핑부의 상세도이다.
도 5는 본 발명에 따른 동영상 부호화 방법을 보이는 흐름도이다.
본 발명은 동영상 부호화 시스템에 관한 것이며, 특히 연산 복잡도(computational complexity)를 일정하게 유지하는 동영상 부호화 방법 및 그 장치에 관한 것이다.
퍼스널 컴퓨터의 CPU 성능이 향상되고 고성능의 미디어 프로세서들이 개발됨에 따라 기존에 하드웨어로 구현해왔던 동영상 부호화 기술들이 점차 소프트웨어로 구현되고 있다. 이에 따라 동영상을 실시간으로 압축하고 복원하기 위해서는 계산 량을 효과적으로 줄일 수 있는 방안이 요구된다. 예를 들어 n-스텝 탐색을 이용한 움직임 추정을 이용하여 H.263 동영상 인코더에서 탐색 영역에 따른 모듈별 연산 복잡도를 비교하면 DCT/IDCT 모듈이 인코더 전체에서 차지하는 비중이 평균 30% 정도로 많다. 이 연산 복잡도를 줄이기 위해 종래의 인코더는 DCT 스킵핑 기술을 이용한다.
도 1은 종래의 DCT 스킵핑 기술을 적용한 동영상 부호화 시스템을 도시한 블록도이다.
먼저, 입력되는 영상 데이터는 GOP(Group of Picture)단위로 구성된다. DCT부(120)는 입력되는 영상 데이터로부터 공간 중복성을 얻기 위해 8×8 블럭에 대해 DCT(Discrete Cosine Transform)를 수행한다. 양자화부(Q:130)는 DCT부(120)에서 DCT된 영상 데이터를 양자화한다. 역양자화부(150)는 양자화부(130)에서 양자화된 영상 데이터를 역양자화한다. IDCT부(160)는 역양자화부(150)에서 역양자화된 영상 데이터를 역 DCT한다. 프레임 메모리부(FM:170)는 IDCT부(160)에서 역DCT된 영상 데이터를 프레임 단위로 저장한다. 움직임추정부(ME:180)는 입력되는 현재 프레임의 영상 데이터와 프레임 메모리부(170)에 저장된 이전 프레임의 영상 데이터를 이용하여 매크로 블록당 움직임 벡터(MV)와 SAD(sum of absolute difference)를 추정한다. VLC(Variable Length Coding)부(140)는 움직임 추정기(180)에서 추정된 움직임벡터(MV)에 따라 양자화된 영상데이터에서 통계적 중복성을 제거한다.
DCT스킵핑부(110)는 움직임추정부(ME:180)에서 추정된 블럭당 SAD와 양자화부(Q:130)에서 발생하는 양자화파라메터(QP)를 특정 문턱치(T)와 비교하여 DCT부(120)에서 각 8×8블럭의 DCT 스킵핑 여부를 결정한다. 즉, DCT스킵핑부(110)는 SAD/QP가 특정 문턱치(T)보다 적으면 EOB(end of block)가 0에 가까울 가능성이 크므로 강제로 not-coded를 만들고, SAD/QP가 특정 문턱치(T)보다 크면 DCT를 수행하도록 한다. 그러나 특정 문턱치(T)가 영상 시퀀스내에서 한 값으로 고정될 경우 매크로블럭 단위 또는 프레임별로 DCT 연산 복잡도가 달라진다. 특히 PC나 미디어 프로세서에서 구현된 소프트웨어 동영상 인코더의 경우 DCT 연산복잡도가 매크로블록 단위 또는 프레임별로 바뀔 경우 프로세서의 한정된 연산 복잡도로 인해 실시간 인코딩이 불가능한 문제점이 있다.
본 발명이 이루고자하는 기술적과제는 움직임 추정부의 연산량 변화분을 DCT 모듈에 적용함으로서 영상의 특성에 관계없이 동영상 인코더의 연산 복잡도를 일정하게 유지하는 동영상 부호화 방법 및 그 장치를 제공하는 데 있다.
상기의 기술적 과제를 해결하기 위하여, 본 발명의 동영상 부호화 방법은,
(a) 영상 데이터로부터 움직임 추정의 연산 복잡도를 계산하여 목표 움직임 추정 연산 복잡도에 대한 변화분을 추정하는 과정;
(b) 상기 (a)과정에서 추정된 움직임 추정 연산 복잡도에 대한 변화분을 바탕으로 목표 DCT 복잡도를 갱신하는 과정;
(c) 상기 (b)과정에서 갱신된 목표 DCT 연산 복잡도를 참조하여 영상 데이터의 DCT 스키핑을 위한 문턱값을 설정하는 과정;
(d) 상기 (c)과정에서 설정된 문턱값에 따라 영상 데이터에 대한 DCT 스킵을 조절하는 과정을 포함하는 것을 특징으로 한다.
상기의 다른 기술적 과제를 해결하기 위하여, 본 발명의 동영상 부호화 장치는, 입력되는 영상 데이터로부터 블록별로 이산 코사인 변환하는 이산코사인변환부;
상기 이산코사인변환부에서 이산 코사인 변환된 영상 데이터를 양자화하는 양자화부;
입력되는 영상 데이터와 이전 프레임의 영상 데이터를 사용하여 매크로 블록당 움직임 벡터와 SAD를 생성하는 움직임 추정부;
상기 움직임추정의 연산 복잡도를 계산하여 목표 움직임 추정 연산 복잡도에 대한 변화분을 추정하고, 그 추정된 움직임 추정 연산 복잡도 변화분을 바탕으로 목표 이산코사인변환의 연산 복잡도를 갱신하는 DCT연산량계산부;
상기 DCT연산량계산부의 갱신된 목표 이산코사인변환의 연산 복잡도를 바탕으로 이산코사인변환스키핑을 위한 문턱값을 설정하고, 움직임추정부에서 발생되는 블럭당 SAD와 양자화부에서 발생하는 양자화파라메터를 상기 문턱값과 비교하여 상기 이사코사인변환부의 DCT 연산 여부를 결정하는 DCT 스킵핑부를 포함하는 것을 특징으로 한다.
이하 첨부된 도면을 참조로하여 본 발명의 바람직한 실시예를 설명하기로 한다.
도 2는 본 발명에 따른 동영상 부호화 장치의 전체 블록도이다.
도 2를 참조하면, 입력 영상 데이터는 8×8 블록단위의 프레임으로 구성된다.
DCT부(220)는 입력되는 영상 데이터를 DCT 스킵핑부(290)의 DCT 스킵핑 제어 신호에 따라 8×8블록별로 이산 코사인 변환하거나 not-coded로 처리한다. 양자화부(Q:230)는 DCT부(220)에서 DCT된 영상 데이터를 양자화한다. VLC(Variable Length Coding)부(240)는 양자화된 영상데이터에서 통계적 중복성을 제거한다. 역양자화부(250)는 양자화부(230)에서 양자화된 영상 데이터를 역 양자화한다. IDCT부(260)는 역양자화부(250)에서 역양자화된 영상 데이터를 역 DCT한다. 프레임 메모리부(FM:270)는 IDCT부(260)에서 역DCT된 영상데이터를 프레임 단위로 저장한다. 움직임추정부(ME:280)는 입력되는 현재 프레임의 영상 데이터와 프레임 메모리부(270)에 저장된 이전 프레임의 영상 데이터를 이용하여 매크로 블록당 움직임 벡터(MV)와 SAD(sum of absolute difference)를 추정한다.
DCT연산량계산부(284)는 이전 프레임에서 움직임추정부(ME:280)의 전체 연산 복잡도를 계산하여 목표 움직임 추정 연산복잡도에 대한 변화분을 추정하고, 그 추정된 움직임 추정 연산량 변화분을 바탕으로 목표 DCT 연산복잡도를 갱신한다.
DCT스킵핑부(290)는 갱신된 목표 DCT 연산 복잡도를 참조하여 현재 프레임의 DCT 스키핑을 수행하기위한 문턱값(Ton+1)을 설정하며, 움직임추정부(ME:280)에서 추정된 블럭당 SAD와 양자화부(Q:230)에서 추정된 양자화파라메터(QP)를 문턱값(Ton+1)과 비교하여 DCT기(220)의 DCT 연산 여부를 결정한다.
도 3은 도 2의 DCT연산량계산부(284)의 상세도이다.
도 3을 참조하면, ME연산량계산부(310)는 움직임추정부(ME:280)에서 입력되는 매크로 블록당 탐색점 개수를 평균 또는 합하여 현재 프레임에서 ME 전체 연산복잡도(S(n))를 계산한다.
DCT 목표 연산량계산부(320)는 ME연산량계산부(310)에서 계산된 이전 프레임의 ME 총 연산복잡도(S(n))와 목표 ME 연산복잡도(St)를 비교하여 ME의 연산 복잡도 변화분을 추출하며, 그 ME의 연산 복잡도 변화분을 목표 DCT 연산복잡도(Ct)와 더한 후 목표 DCT 연산 복잡도(Ct)를 수정하여 갱신된 목표 DCT 연산 복잡도
Figure 112002004902584-pat00001
를 산출한다.
도 4는 도 2의 DCT스킵핑부(290)의 상세도이다.
도 4를 참조하면, 문턱값 계산부(410)는 움직임 추정의 연산 복잡도 변화분이 반영된 갱신된 목표 DCT 연산 복잡도
Figure 112002004902584-pat00002
를 바탕으로 현재 프레임의 문턱값(Ton+1)을 계산한다.
DCT스킵핑결정부(420)는 움직임추정부(ME:280)에서 추정된 블럭당 SAD와 양자화부(Q:230)에서 추정된 양자화파라메터(QP)를 현재 프레임의 문턱값(Ton+1)과 비교하여 DCT부(220)의 DCT 스킵핑 여부를 결정한다. 즉, DCT스킵핑결정부(420)는 SAD/QP이 문턱값(Ton+1)보다 적으면 EOB(end of block)이 0에 가까울 가능성이 크므로 강제로 not-coded를 만들고, SAD/QP가 문턱값(Ton+1)보다 크면 DCT를 수행하도록 하는 스키핑 제어 신호를 발생한다.
도 5는 본 발명에 따른 동영상 부호화 방법을 보이는 흐름도이다.
먼저, 전체 인코더 연산 복잡도 대비 목표 움직임 추정 연산 복잡도(St)와 목표 DCT 연산 복잡도(Ct)를 설정한다. 예를 들면 H.263 동영상 인코더에서 탐색 영역에 따른 목표 움직임 추정 연산 복잡도(St)와 목표 DCT 연산 복잡도(Ct)는 1을 기준으로 각각 0.3으로 설정한다.
이어서, n번째 프레임에서 매크로 블록당 탐색점 개수를 평균하여 움직임 추정의 총 연산 복잡도(S(n)를 계산한다(521과정). 이때 통상적인 고속 움직임 추정 기법들은 매크로블럭별로 탐색에 의한 연산량이 달라진다. 통상 두가지 정도로 고속 움직임 추정 기법을 분류할 수 있다. 하나는 탐색 영역내 탐색점들의 개수가 달라지는 방식이며, 다른 하나는 패스트 풀 서치(fast full search)처럼, 블록 정합당 필요한 계산을 효과적으로 줄이는 방식이다. 어느 방식이든 매 프레임별로 움직임 추정이 차지하는 연산 복잡도를 계산할 수 있다.
이어서, 목표 움직임 추정 연산 복잡도(St)-이전 프레임의 움직임 추정(ME) 연산 복잡도(S(n)를 계산하여 움직임 추정의 연산 복잡도 변화분을 추출한다(520과정). 즉, 이전 프레임에서 움직임 추정의 상대적 연산 복잡도가 목표 연산 복잡도(St)보다 늘었는지 줄었는지를 체크한다. 이는 연속된 프레임(예를 들면, 이전프레임과 현재 프레임)에서의 ME 연산량 비중은 비슷하다는 특성에 기인한다.
이어서, 움직임 추정 연산 복잡도 변화분(St - S(n))을 원래 목표 DCT 연산복잡도(Ct)에 더하여 갱신된 목표 DCT 연산 복잡도
Figure 112002004902584-pat00003
를 추정한다(530과정). 이때 목표 움직임 추정 연산 복잡도(St)나 이전 프레임의 움직임 추정(ME) 연산 복잡도(S(n)는 매크로블럭당 평균 탐색점 수이며, 목표 DCT 연산 복잡도(Ct)는 매크로블럭당 총 DCT 수행 블록 수이다. 그리고 한 탐색점 처리에 소요되는 연산복잡도와 8×8 DCT 연산 복잡도가 같다는 가정하에 움직임 추정 연산 복잡도 변화분(St - S(n))을 원래 목표 DCT 연산복잡도(Ct)에 단순히 더한다. 또한 한 탐색점 처리에 소요되는 연산복잡도와 8×8 DCT 연산 복잡도가 다를 경우 Ct + w{St - S(n)}처럼 적당한 웨이트(w)를 곱해준다.
이어서, 갱신된 목표 DCT 연산 복잡도
Figure 112002004902584-pat00004
를 바탕으로 현재 프레임의 DCT 스키핑을 위한 현재 프레임의 문턱값(Ton+1)을 설정한다(540과정).
현재 프레임의 문턱값(Ton+1)을 계산하기 위해 다음과 같은 유도 과정이 필요하다.
DCT 복잡도는 TQ의 역수에 비례한다는 특성을 이용하여 수학식 1과 같이 나타낼 수 있다. 이때 DCT 복잡도는 DCT를 수행할 확률 또는 DCT 연산 복잡도로서 DCT 수행 블록의 개수로 계산된다.
Figure 112002004902584-pat00005
여기서 To는 문턱값이고 Q는 양자화 계수이다. 수학식 1로부터 n 프레임에서
Figure 112002004902584-pat00006
이다.
또한 수학식 1로부터 n+1번째 프레임의 바람직한 문턱값은 수학식 2와 같이 나타낼 수 있다.
Figure 112002004902584-pat00007
여기서 Ct는 목표 DCT 복잡도이다.
따라서 수학식 2는 수학식 3과 같이 나타낼 수 있다.
Figure 112002004902584-pat00008
수학식 3을 다시 정리하면 수학식 4와 같이 나타낼 수 있다.
Figure 112002004902584-pat00009
수학식 4는 약간의 유동성을 두기 위해 수학식 5와 같이 나타낼 수 있다.
Figure 112002004902584-pat00010
k에 따라 수렴 속도가 달라진다. 수학식 5로부터 현재 프레임의 문턱값(Ton+1)은 이전 프레임에서의 문턱값(Ton), 양자화 계수들(Qn, Q n+1), 그리고 이전 프레임의 DCT 복잡도(Cn)를 바탕으로 구해진다.
따라서 본 발명에서 적용되는 현재 프레임의 문턱값(Ton+1)은 수학식 5의 목표 DCT 복잡도(Ct)를 Ct+St-Sn 로 대체한 갱신된 목표 DCT 연산 복잡도
Figure 112002004902584-pat00011
를 적용하여 수학식 6과 같이 나타낸다.
Figure 112002004902584-pat00012
여기서, Ton은 이전 프레임의 문턱값, Qn은 이전 프레임의 양자화계수, Qn+1은 이전 프레임의 양자화 계수, Cn은 이전 프레임의 DCT 연산 복잡도, k는 상수,
Figure 112002004902584-pat00013
는 갱신된 목표 DCT 연산 복잡도이다.
이어서, 움직임 추정 및 양자화 과정에서 발생하는 블럭당 SAD와 양자화파라메터(Qn+1)를 현재 프레임의 문턱값(Ton+1)과 비교한다(550과정).
이어서, SAD/양자화파라메터(Qn+1)가 문턱값(Ton+1)보다 적으면 해당 블록의 DCT를 수행하지 않고 강제로 not-coded를 만들고(560과정), SAD/양자화파라메터(Qn+1)가 문턱값(Ton+1)보다 크면 DCT를 수행한다(570과정).
이어서, 입력되는 동영상의 인코딩이 종료될 때 까지 상기 과정들을 반복적 으로 수행한다.
결국, 본 발명은 움직임 추정부(280)의 연산복잡도 변화분을 DCT 스킵핑 모듈에 적용함으로써 인코더의 전체적인 계산량을 목표 연산 복잡도(Ct + St)에 근접하게 유지할 수 있다.
본 발명은 상술한 실시예에 한정되지 않으며, 본 발명의 사상내에서 당업자에 의한 변형이 가능함은 물론이다.
본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 하드디스크, 플로피디스크, 플래쉬 메모리, 광데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드로서 저장되고 실행될 수 있다.
상술한 바와 같이 본 발명에 의하면, 동영상 인코더에 움직임 추정 계산 복잡도를 고려한 DCT 스키핑 방법을 적용함으로써 임의의 고속 움직임 추정 기법이 사용되더라도 전체 인코딩 연산 복잡도를 일정하게 유지할 수 있다.

Claims (9)

  1. 동영상 부호화 방법에 있어서,
    (a) 영상 데이터로부터 움직임 추정의 연산 복잡도를 계산하여 목표 움직임 추정 연산 복잡도에 대한 변화분을 추정하는 과정;
    (b) 상기 (a)과정에서 추정된 움직임 추정 연산 복잡도에 대한 변화분을 바탕으로 목표 DCT 복잡도를 갱신하는 과정;
    (c) 상기 (b)과정에서 갱신된 목표 DCT 연산 복잡도를 참조하여 영상 데이터의 DCT 스키핑을 위한 문턱값을 설정하는 과정;
    (d) 상기 (c)과정에서 설정된 문턱값에 따라 영상 데이터에 대한 DCT 스킵을 조절하는 과정을 포함하는 동영상 부호화 방법.
  2. 제1항에 있어서, 상기 (a)과정의 움직임 추정 연산 복잡도에 대한 변화분은 목표 움직임 추정 연산 복잡도에서 이전 프레임의 움직임 추정 연산 복잡도를 감산하여 추정하는 것임을 특징으로 하는 동영상 부호화 방법.
  3. 제2항에 있어서, 상기 움직임 추정 연산 복잡도는 매크로 블록당 탐색점(search point) 수를 계산하는 것임을 특징으로 하는 동영상 부호화 방법.
  4. 제1항에 있어서, 상기 (b) 과정에서 목표 DCT 복잡도 갱신 과정은 목표 DCT 복잡도에 상기 움직임 추정 연산 복잡도 변화분을 더하는 것을 특징으로 하는 동영상 부호화 방법.
  5. 제1항에 있어서, 상기 (c)과정에서 현재 프레임의 문턱값은
    Figure 112002004902584-pat00014
    로 결정되며, 여기서 Ton은 이전 프레임의 문턱값, Qn은 이전 프레임의 양자화계수, Qn+1은 이전 프레임의 양자화 계수, Cn은 이전 프레임의 DCT 연산 복잡도, k는 상수,
    Figure 112002004902584-pat00015
    는 갱신된 목표 DCT 연산 복잡도임을 특징으로 하는 동영상 부호화 방법.
  6. 제1항에 있어서, 상기 (d)과정에서 DCT 스킵 여부 판단 과정은 상기 문턱값이 SAD/Qn+1 보다 적으면 DCT를 스킵하고, 상기 문턱값이 SAD/Qn+1 보다 크면 DCT를 수행하는 과정임을 특징으로 하는 동영상 부호화 방법.
  7. 동영상 부호화 장치에 있어서,
    입력되는 영상 데이터로부터 블록별로 이산 코사인 변환하는 이산코사인변환부;
    상기 이산코사인변환부에서 이산 코사인 변환된 영상 데이터를 양자화하는 양자화부;
    입력되는 영상 데이터와 이전 프레임의 영상 데이터를 사용하여 매크로 블록당 움직임 벡터와 SAD를 생성하는 움직임 추정부;
    상기 움직임추정의 연산 복잡도를 계산하여 목표 움직임 추정 연산 복잡도에 대한 변화분을 추정하고, 그 추정된 움직임 추정 연산 복잡도 변화분을 바탕으로 목표 이산코사인변환의 연산 복잡도를 갱신하는 DCT연산량계산부;
    상기 DCT연산량계산부의 갱신된 목표 이산코사인변환의 연산 복잡도를 바탕으로 이산코사인변환스키핑을 위한 문턱값을 설정하고, 움직임추정부에서 발생되는 블럭당 SAD와 양자화부에서 발생하는 양자화파라메터를 상기 문턱값과 비교하여 상기 이사코사인변환부의 DCT 연산 여부를 결정하는 DCT 스킵핑부를 포함하는 동영상 부호화 장치.
  8. 제7항에 있어서, 상기 DCT연산량계산부는
    상기 움직임추정부에서 입력되는 각 매크로 블록당 탐색점 개수를 계산하여 이전 프레임에서 ME 총 연산 복잡도를 계산하는 ME연산량계산기;
    상기 ME연산량계산기에서 계산된 현재 프레임의 ME 총 연산 복잡도와 목표 ME 연산 복잡도를 비교하여 ME의 연산 복잡도 변화분을 추출하며, 그 ME의 연산 복잡도 변화분을 목표 DCT 연산 복잡도와 더하여 갱신된 목표 DCT 연산 복잡도를 산출하는 DCT 목표 연산량계산기를 포함하는 것을 특징으로 하는 동영상 부호화 장치.
  9. 제7항에 있어서, 상기 DCT 스킵핑부는
    상기 갱신된 목표 DCT 연산 복잡도를 바탕으로 현재 프레임의 문턱값을 계산 하는 문턱값 계산부;
    상기 움직임추정부에서 발생되는 블럭당 SAD와 상기 양자화부에서 발생하는 양자화파라메터를 상기 문턱값 계산부의 문턱값과 비교하여 상기 이산코사인변환부의 DCT 스킵핑 여부를 결정하는 DCT스킵핑결정부를 포함하는 것을 특징으로 하는 동영상 부호화 장치.
KR20020008759A 2002-02-19 2002-02-19 고정 연산량을 갖는 동영상 부호화 방법 및 그 장치 KR100846769B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR20020008759A KR100846769B1 (ko) 2002-02-19 2002-02-19 고정 연산량을 갖는 동영상 부호화 방법 및 그 장치
CNB021503699A CN1263311C (zh) 2002-02-19 2002-11-08 具有固定计算复杂性的运动图像编码的方法和装置
DE2002153383 DE10253383B4 (de) 2002-02-19 2002-11-15 Verfahren und Einrichtung zum Kodieren sich bewegender Bilder mit fester Rechenkomplexität
JP2002353026A JP3824578B2 (ja) 2002-02-19 2002-12-04 固定演算量を有する動映像の符号化方法及びその装置
US10/321,537 US7123654B2 (en) 2002-02-19 2002-12-18 Method and apparatus to encode a moving image with fixed computational complexity

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR20020008759A KR100846769B1 (ko) 2002-02-19 2002-02-19 고정 연산량을 갖는 동영상 부호화 방법 및 그 장치

Publications (2)

Publication Number Publication Date
KR20030069282A KR20030069282A (ko) 2003-08-27
KR100846769B1 true KR100846769B1 (ko) 2008-07-16

Family

ID=27725779

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20020008759A KR100846769B1 (ko) 2002-02-19 2002-02-19 고정 연산량을 갖는 동영상 부호화 방법 및 그 장치

Country Status (5)

Country Link
US (1) US7123654B2 (ko)
JP (1) JP3824578B2 (ko)
KR (1) KR100846769B1 (ko)
CN (1) CN1263311C (ko)
DE (1) DE10253383B4 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101763113B1 (ko) * 2010-12-06 2017-08-01 에스케이 텔레콤주식회사 노이즈성분을 위한 공간영역에서의 영상 부호화/복호화 방법 및 장치
KR101791158B1 (ko) * 2010-07-16 2017-10-27 한국전자통신연구원 계층적 가변 블록 변환이 가능한 부호화 방법 및 장치 그리고 복호화 방법 및 장치

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ES2664270T3 (es) * 2001-12-17 2018-04-18 Microsoft Technology Licensing, Llc Codificación por omisión de macrobloques
KR100833228B1 (ko) * 2002-02-21 2008-05-28 삼성전자주식회사 고정 연산량을 갖는 동영상 부호화 방법 및 그 장치
US7224731B2 (en) * 2002-06-28 2007-05-29 Microsoft Corporation Motion estimation/compensation for screen capture video
US7940843B1 (en) * 2002-12-16 2011-05-10 Apple Inc. Method of implementing improved rate control for a multimedia compression and encoding system
US7606308B2 (en) * 2003-09-07 2009-10-20 Microsoft Corporation Signaling macroblock mode information for macroblocks of interlaced forward-predicted fields
US7724827B2 (en) * 2003-09-07 2010-05-25 Microsoft Corporation Multi-layer run level encoding and decoding
US7706440B2 (en) * 2005-02-08 2010-04-27 Hong Kong Applied Science And Technology Research Institute Co., Ltd. Method for reducing bit rate requirements for encoding multimedia data
US20060233258A1 (en) * 2005-04-15 2006-10-19 Microsoft Corporation Scalable motion estimation
US9077960B2 (en) 2005-08-12 2015-07-07 Microsoft Corporation Non-zero coefficient block pattern coding
US7929599B2 (en) 2006-02-24 2011-04-19 Microsoft Corporation Accelerated video encoding
US8494052B2 (en) * 2006-04-07 2013-07-23 Microsoft Corporation Dynamic selection of motion estimation search ranges and extended motion vector ranges
US8155195B2 (en) * 2006-04-07 2012-04-10 Microsoft Corporation Switching distortion metrics during motion estimation
US20070268964A1 (en) * 2006-05-22 2007-11-22 Microsoft Corporation Unit co-location-based motion estimation
US7751631B2 (en) * 2006-12-22 2010-07-06 Sony Corporation Bypass using sum of absolute transformed differences value (SATD) in a video coding process
US8254455B2 (en) 2007-06-30 2012-08-28 Microsoft Corporation Computing collocated macroblock information for direct mode macroblocks
TW201028018A (en) * 2009-01-07 2010-07-16 Ind Tech Res Inst Encoder, decoder, encoding method and decoding method
US8189666B2 (en) 2009-02-02 2012-05-29 Microsoft Corporation Local picture identifier and computation of co-located information
PL231160B1 (pl) * 2011-10-18 2019-01-31 Kt Corp Sposób dekodowania sygnału wideo
KR101857108B1 (ko) * 2011-10-19 2018-05-11 주식회사 케이티 영상 부호화/복호화 방법 및 그 장치
GB2503875B (en) * 2012-06-29 2015-06-10 Canon Kk Method and device for encoding or decoding an image
CN105594208A (zh) * 2013-10-11 2016-05-18 索尼公司 解码装置、解码方法、编码装置以及编码方法
KR102185857B1 (ko) 2014-02-13 2020-12-02 삼성전자주식회사 영상 부호화, 복호화 방법 및 장치

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10271514A (ja) * 1997-03-23 1998-10-09 Tadayoshi Enomoto 動画像情報の信号処理方法及びその装置
KR20000037946A (ko) * 1998-12-03 2000-07-05 구자홍 적응적 임계치를 이용한 움직임 추정 장치
JP2001036908A (ja) * 1999-07-15 2001-02-09 Oki Electric Ind Co Ltd 動画像圧縮装置
KR20030070231A (ko) * 2002-02-21 2003-08-29 삼성전자주식회사 고정 연산량을 갖는 동영상 부호화 방법 및 그 장치

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0456942A (ja) 1990-06-26 1992-02-24 Matsushita Electric Ind Co Ltd 映像投写用スクリーン
JP3084175B2 (ja) 1993-06-18 2000-09-04 シャープ株式会社 画像圧縮装置
JP2000059767A (ja) 1998-08-06 2000-02-25 Sony Corp 画像符号化装置及び方法
US20020015513A1 (en) * 1998-07-15 2002-02-07 Sony Corporation Motion vector detecting method, record medium on which motion vector calculating program has been recorded, motion detecting apparatus, motion detecting method, picture encoding apparatus, picture encoding method, motion vector calculating method, record medium on which motion vector calculating program has been recorded
SG82613A1 (en) * 1999-05-21 2001-08-21 Inst Of Microelectronics Dynamic load-balancing between two processing means for real-time video encoding
US6567469B1 (en) * 2000-03-23 2003-05-20 Koninklijke Philips Electronics N.V. Motion estimation algorithm suitable for H.261 videoconferencing applications

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10271514A (ja) * 1997-03-23 1998-10-09 Tadayoshi Enomoto 動画像情報の信号処理方法及びその装置
KR20000037946A (ko) * 1998-12-03 2000-07-05 구자홍 적응적 임계치를 이용한 움직임 추정 장치
JP2001036908A (ja) * 1999-07-15 2001-02-09 Oki Electric Ind Co Ltd 動画像圧縮装置
KR20030070231A (ko) * 2002-02-21 2003-08-29 삼성전자주식회사 고정 연산량을 갖는 동영상 부호화 방법 및 그 장치

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101791158B1 (ko) * 2010-07-16 2017-10-27 한국전자통신연구원 계층적 가변 블록 변환이 가능한 부호화 방법 및 장치 그리고 복호화 방법 및 장치
KR101820348B1 (ko) * 2010-07-16 2018-01-19 한국전자통신연구원 계층적 가변 블록 변환이 가능한 부호화 방법 및 장치 그리고 복호화 방법 및 장치
KR101918958B1 (ko) * 2010-07-16 2018-11-15 한국전자통신연구원 계층적 가변 블록 변환이 가능한 부호화 방법 및 장치 그리고 복호화 방법 및 장치
KR101918957B1 (ko) * 2010-07-16 2018-11-15 한국전자통신연구원 계층적 가변 블록 변환이 가능한 부호화 방법 및 장치 그리고 복호화 방법 및 장치
KR101918956B1 (ko) * 2010-07-16 2018-11-15 한국전자통신연구원 계층적 가변 블록 변환이 가능한 부호화 방법 및 장치 그리고 복호화 방법 및 장치
KR20210150337A (ko) * 2010-07-16 2021-12-10 한국전자통신연구원 계층적 가변 블록 변환이 가능한 부호화 방법 및 장치 그리고 복호화 방법 및 장치
KR102453953B1 (ko) * 2010-07-16 2022-10-12 한국전자통신연구원 계층적 가변 블록 변환이 가능한 부호화 방법 및 장치 그리고 복호화 방법 및 장치
KR101763113B1 (ko) * 2010-12-06 2017-08-01 에스케이 텔레콤주식회사 노이즈성분을 위한 공간영역에서의 영상 부호화/복호화 방법 및 장치

Also Published As

Publication number Publication date
JP2003259372A (ja) 2003-09-12
JP3824578B2 (ja) 2006-09-20
US20030156643A1 (en) 2003-08-21
CN1263311C (zh) 2006-07-05
US7123654B2 (en) 2006-10-17
DE10253383B4 (de) 2007-02-22
CN1440202A (zh) 2003-09-03
KR20030069282A (ko) 2003-08-27
DE10253383A1 (de) 2003-09-04

Similar Documents

Publication Publication Date Title
KR100846769B1 (ko) 고정 연산량을 갖는 동영상 부호화 방법 및 그 장치
KR100833228B1 (ko) 고정 연산량을 갖는 동영상 부호화 방법 및 그 장치
US5686964A (en) Bit rate control mechanism for digital image and video data compression
CN1230002C (zh) 在媒体处理器中mpeg2解码的动态复杂度预测和调整
EP2120463B1 (en) Encoding bit rate control method, device, program, and recording medium containing the program
US8175404B2 (en) Method and device for estimating image quality of compressed images and/or video sequences
US7903732B2 (en) Method and apparatus for encoding a moving-picture signal by calculating the complexity of the moving-picture signal
US7116713B2 (en) Moving picture coding method, moving picture coding apparatus, and moving picture coding program
CA2145834A1 (en) Selection of quantization step size in accordance with predicted quantization noise
US6373894B1 (en) Method and apparatus for recovering quantized coefficients
JP2006511113A (ja) 選択されたマクロブロックにおける動き推定のスキップを伴うビデオエンコーディング
US20040179596A1 (en) Method and apparatus for encoding video signal with variable bit rate
JP3846424B2 (ja) 画像信号量子化装置およびその方法
JP2830855B2 (ja) 適応量子化制御装置
KR20040007818A (ko) 동영상 부호화를 위한 dct연산량 조절 방법 및 그 장치
US20020106021A1 (en) Method and apparatus for reducing the amount of computation of the video images motion estimation
JPH11196424A (ja) 画像処理装置および方法、並びに提供媒体
JP2002204449A (ja) 量子化単位設定装置及び量子化単位設定方法、符号化装置及び符号化方法並びに情報記録媒体
KR100911098B1 (ko) H.263 영상 부호화에 의한 왜곡량 예측 장치 및 그 방법
JP3200518B2 (ja) 画像信号符号化装置
CN102202220A (zh) 编码设备及其控制方法
JP4127006B2 (ja) 画像信号の符号化装置および符号化方法
KR20030071920A (ko) Dct계산량을 감소시키는 동화상 부호화 방법 및 그 장치
KR20040028332A (ko) 실시간 h.263 영상 부호율 제어를 위한 비트량 예측 장치및 그 방법
KR20040067239A (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: 20130627

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20140627

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20150629

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20160629

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20170629

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee