KR20040007818A - 동영상 부호화를 위한 dct연산량 조절 방법 및 그 장치 - Google Patents

동영상 부호화를 위한 dct연산량 조절 방법 및 그 장치 Download PDF

Info

Publication number
KR20040007818A
KR20040007818A KR1020020040405A KR20020040405A KR20040007818A KR 20040007818 A KR20040007818 A KR 20040007818A KR 1020020040405 A KR1020020040405 A KR 1020020040405A KR 20020040405 A KR20020040405 A KR 20020040405A KR 20040007818 A KR20040007818 A KR 20040007818A
Authority
KR
South Korea
Prior art keywords
dct
image data
amount
calculation amount
current image
Prior art date
Application number
KR1020020040405A
Other languages
English (en)
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 KR1020020040405A priority Critical patent/KR20040007818A/ko
Priority to CNB031382649A priority patent/CN1224266C/zh
Priority to EP20030012433 priority patent/EP1381239A1/en
Priority to US10/600,654 priority patent/US20040008898A1/en
Priority to JP2003273742A priority patent/JP2004040811A/ja
Publication of KR20040007818A publication Critical patent/KR20040007818A/ko

Links

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/164Feedback from the receiver or from the transmission channel
    • 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/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/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/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/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 연산량 조절 방법은 이전 영상 데이터에 대한 복호화 연산량을 나타내는 복호기 복잡도 정보 및 움직임 추정에 대한 연산량 변화 정보를 나타내는 ME 연산량 변화 정보를 입력받는 단계; 및 상기 입력받은 복호기 복잡도 정보 및 ME 연산량 변화 정보에 기초하여 현재 영상 데이터에 대한 DCT 스킵핑을 조절하는 단계를 포함하여, 디코더에 할당된 연산량을 최대로 활용하는 것이 가능하며, 또한 영상의 특성에 관계없이 동영상 인코더의 연산 복잡도를 일정하게 유지하는 것이 가능하다.

Description

동영상 부호화를 위한 DCT연산량 조절 방법 및 그 장치{Method for controlling DCT computational quantity for encoding motion image and apparatus thereof}
본 발명은 동영상 부호화 방법 및 장치에 관한 것으로서, 특히 동영상 부호화를 위한 DCT 연산량을 조절하기 위한 방법 및 그 장치에 관한 것이다.
도 1은 일반적인 동영상 부호화를 위한 인코더(120) 및 디코더(140)를 도시하는 블록도이다.
VOD 서비스나 동영상 통신을 위해, 인코더(120)는 압축 기술에 의해 부호화된 비트 스트림을 생성하고, 디코더(140)는 입력된 비트 스트림으로부터 영상을 복원하는 기능을 수행한다.
먼저, DCT(Discrete Cosine Transform)부(122)는 공간적 상관성을 제거하기 위해 8 ×8 화소 블록 단위로 입력되는 영상 데이터에 대해 DCT 연산을 수행하고, 양자화부(Quantization: Q)(124)는 DCT부(122)에서 얻어진 DCT 계수에 대해 양자화를 수행하여, 몇 개의 대표 값으로 표현함으로써, 고효율 손실 압축을 수행한다.
역양자화부(Inverse Quantization: IQ)(126)는 양자화부(124)에서 양자화된 영상 데이터를 역양자화한다. IDCT부(128)는 역양자화부(126)에서 역양자화된 영상 데이터에 대해 IDCT(Inverse Discrete Cosine Transform) 변환을 수행한다. 프레임 메모리부(130)는 IDCT부(128)에서 IDCT 변환된된 영상 데이터를 프레임 단위로 저장한다.
움직임 추정부(Motion Estimation: ME)(132)는 입력되는 현재 프레임의 영상 데이터와 프레임 메모리부(130)에 저장된 이전 프레임의 영상 데이터를 이용하여 매크로 블록당 움직임 벡터(MV)와 블록정합오차(block matching error)에 해당하는 SAD(sum of absolute difference)를 추정한다.
가변 길이 부호화부(variable length coding: VLC)(134)는 움직임 추정부(132)에서 추정된 움직임 벡터(MV)에 따라 DCT 및 양자화 처리된 데이터에서 통계적 중복성을 제거한다.
인코더(120)에 의해 부호화된 비트 스트림은 가변 길이 복호화부(142), 역양자화부(144), IDCT부(146), 프레임 메모리부(148), 및 움직임 보상부(150)으로 이루어진 디코더(140)에 의해 복호화된다.
한편, VOD 서비스 또는 실시간 동영상 통신을 위해, 동영상을 실시간으로 부호화 및 복호화하는 것이 필요하며, 이를 위해서는 인코더 및 디코더의 연산량을 효과적으로 조절하는 것이 필요하다. 특히 MPEG 4 및 H.26x를 비롯한 모든 동영상 부호화 기술에서 연산량에 가장 많은 비중을 차지하는 부분이 DCT 부분과 움직임 추정부이다.
따라서, 인코더에서는 DCT 부 및 움직임 추정부에서의 연산량을 줄이기 위해 DCT 스킵핑 기법 및 고속 ME 알고리즘을 사용한다. 디코더의 연산량은 인코더의 부호화 결과에 따라 결정되며, 디코더의 연산량에 영향을 주는 요소는 스킵된 블록의 수이다.
도 2는 종래의 DCT 스킵핑 기술을 적용한 동영상 인코더를 도시한다.
도 2의 동영상 인코더에는 도 1의 동영상 인코더(120)에 DCT부(210)의 DCT 연산량을 조절하기 위한 DCT 연산량 조절부(280)가 더 부가되어 있다.
도 2의 DCT 연산량 조절부(280)는 움직임 추정부(270)에서 추정된 블록당 SAD와 양자화 부(220)에서의 양자화 계수(Q)를 선정된 문턱값(T)와 비교하여, DCT부(210)에서의 각 8 ×8 블록의 DCT 스킵핑 여부를 결정한다. 즉, DCT 연산량 조절부(280)는 SAD/Q가 특정 문턱값(T)보다 적으면 EOB(end of block)가 0에 가까울 가능성이 크므로, 부호화하지 않고(not-coded) 출력되도록 하고, SAD/Q가 특정 문턱값(T)보다 큰 경우에는 DCT를 수행하도록 하여, 부호화기의 DCT 연산량을 줄이도록 한다.
하지만, 종래 기술에 따른 동영상 인코더의 경우, 디코더에 할당될 수 있는 연산량의 한계가 있을 뿐만 아니라, 상황에 따라서 할당 연산량 및 실제 소비되는 연산량이 변할 수 있음을 고려하고 있지 않기 때문에, 이러한 인코더에 의해 부호화된 비트 스트림이 입력되는 경우, 디코더가 입력된 비트 스트림에 대해 정상적으로 복호화를 수행하지 못하게 되거나, 디코더에 할당되는 연산량을 충분히 활용하지 못하게 되는 문제점이 있었다.
또한, 종래 기술에 따른 동영상 인코더의 경우, 선정된 문턱값(T)이 영상 시퀀스내에서 하나의 값으로 고정되어 있어, 매크로블럭 단위 또는 프레임별로 DCT 연산 복잡도가 달라지는 것을 고려하고 있지 않기 때문에, 입력된 동영상의 데이터의 실시간 부호화가 정상적으로 수행되지 않지 못하는 문제점이 있었다.
본 발명이 이루고자하는 기술적 과제는 디코더의 연산량을 고려하여 인코더에서의 DCT 연산량을 조절하도록 함으로써, 디코더에 할당된 연산량을 최대로 활용함과 동시에 입력된 비트 스트림에 대한 복호화가 정상적으로 수행되도록 하는 동영상 부호화를 위한 DCT 연산량 조절 방법 및 그 장치를 제공하는 것이다.
본 발명에 따른 또 다른 기술적 과제는 움직임 추정부의 연산량 변화분을 DCT 모듈에 적용함으로서 영상의 특성에 관계없이 동영상 인코더의 연산 복잡도를 일정하게 유지하는 동영상 부호화를 위한 DCT 연산량 조절 방법 및 그 장치를 제공하는 데 있다.
도 1은 일반적인 동영상 부호화를 위한 인코더(120) 및 디코더(140)를 도시하는 블록도
도 2는 종래의 DCT 스킵핑 기술을 적용한 동영상 인코더를 도시하는 블록도
도 3은 본 발명의 일 실시예에 따른 동영상 인코더 및 디코더를 도시하는 블록도
도 4는 본 발명의 일실시예에 따른 DCT 연산량을 조절하는 방법을 도시하는 플로우차트
도 5는 본 발명의 일 실시예에 따른 동영상 인코더 및 디코더를 도시하는 블록도
도 6은 본 발명의 일실시예에 따른 DCT 연산량을 조절하는 방법을 도시하는 플로우차트
상기의 기술적 과제를 해결하기 위하여, 본 발명에 따른 동영상 부호화를 위한 DCT 연산량 조절 방법은 (a) 이전 영상 데이터에 대한 복호화 연산량을 나타내는 복호기 복잡도(decoder complexity) 정보를 입력받는 단계; 및 (b) 상기 (a) 단계에서 입력받은 복호기 복잡도 정보를 이용하여 현재 영상 데이터에 대한 DCT 스킵핑(skipping)을 조절하는 단계를 포함하는 것을 특징으로 한다.
상기 기술적 과제를 해결하기 위한 본 발명에 따른 보다 바람직한 DCT 연산량 조절 방법은 상기 (a) 단계는 (a1) 이전 영상 데이터에 대한 복호화 연산량을 나타내는 복호기 복잡도 정보를 계산하는 단계를 더 포함하는 것을 특징으로 한다.
상기 기술적 과제를 해결하기 위한 본 발명에 따른 보다 바람직한 DCT 연산량 조절 방법은 (b1) 상기 (a) 단계에서 입력받은 복호기 복잡도 정보를 이용하여 현재 영상 데이터에 대한 DCT 목표 연산량을 계산하는 단계; (b2) 상기 (b1) 단계에서 계산된 DCT 목표 연산량에 기초하여 현재 영상 데이터의 DCT 스킵핑을 위한 문턱값을 계산하는 단계; 및 (b3) 상기 계산된 문턱값에 따라 현재 영상 데이터에 대한 DCT 스킵핑을 조절하는 단계를 더 포함하는 것을 특징으로 한다.
상기 기술적 과제를 해결하기 위한 본 발명에 따른 동영상 부호화를 위한DCT 연산량 조절 방법은 (a) 이전 영상 데이터에 대한 복호화 연산량을 나타내는 복호기 복잡도 정보 및 움직임 추정에 대한 연산량 변화 정보를 나타내는 ME 연산량 변화 정보를 입력받는 단계; 및 (b) 상기 (a) 단계에서 입력받은 복호기 복잡도 정보 및 ME 연산량 변화 정보를 이용하여 현재 영상 데이터에 대한 DCT 스킵핑을 조절하는 단계를 포함하는 것을 특징으로 한다.
상기 기술적 과제를 해결하기 위한 본 발명에 따른 보다 바람직한 동영상 부호화를 위한 DCT 연산량 조절 방법은 (b1) 상기 (a) 단계에서 입력받은 상기 복호기 복잡도 정보 및 상기 ME 연산량 변화 정보를 이용하여 연재 영상 데이터에 대한 DCT 목표 연산량을 계산하는 단계; (b2) 상기 (b1) 단계에서 계산된 DCT 목표 연산량에 기초하여 현재 영상 데이터의 DCT 스킵핑을 위한 문턱값을 계산하는 단계; 및 (b3) 상기 계산된 문턱값에 따라 현재 영상 데이터에 대한 DCT 스킵핑을 조절하는 단계를 포함하는 것을 특징으로 한다.
상기 기술적 과제를 해결하기 위해, 본 발명에 따른 동영상 부호화를 위한 DCT 연산량 조절 장치는 입력된 이전 영상 데이터에 대한 복호화 연산량을 나타내는 복호기 복잡도 정보를 이용하여, 현재 영상 데이터에 대한 DCT 스킵핑을 조절하는 DCT 연산량 조절부; 및 상기 DCT 연산량 조절부로부터의 제어 신호에 따라 입력 현재 영상 데이터에 대해 DCT 변환 또는 DCT 변환 스킵핑을 수행하는 DCT 변환부를 포함하는 것을 특징으로 한다.
상기 기술적 과제를 해결하기 위해, 본 발명에 따른 보다 바람직한 DCT 연산량 조절 장치에서는 입력된 이전 영상 데이터에 대한 복호화 연산량을 나타내는 복호기 복잡도 정보를 계산하는 복호기 복잡도 계산부를 더 포함하는 것을 특징으로 한다.
상기 기술적 과제를 해결하기 위해, 본 발명에 따른 보다 바람직한 DCT 연산량 조절 장치에서는 상기 DCT 연산량 조절부는 상기 복호기 복잡도 정보를 이용하여 DCT 목표 연산량을 계산하고, 상기 계산된 DCT 목표 연산량에 기초하여 현재 영상 데이터의 DCT 스킵핑을 위한 문턱값을 계산하고, 상기 계산된 문턱값에 따라 현재 영상 데이터에 대한 DCT 스킵핑을 조절하는 것을 특징으로 한다.
상기 기술적 과제를 해결하기 위해, 본 발명에 따른 동영상 부호화를 위한 DCT 연산량 조절 장치는 입력된 이전 영상 데이터에 대한 복호화 연산량을 나타내는 복호기 복잡도 정보 및 움직임 추정에 대한 연산량 변화 정보를 나타내는 ME 연산량 변화 정보에 기초하여, 현재 영상 데이터에 대한 DCT 스킵핑을 조절하는 DCT 연산량 조절부; 및 상기 DCT 연산량 조절부로부터의 제어 신호에 따라 입력 현재 영상 데이터에 대해 DCT 변환 또는 DCT 변환 스킵핑을 수행하는 DCT 변환부를 포함하는 것을 특징으로 한다.
상기 기술적 과제를 해결하기 위한, 본 발명에 따른 보다 바람직한 동영상 부호화를 위한 DCT 연산량 조절 장치에서 상기 DCT 연산량 조절부는 상기 입력받은 복호기 복잡도 정보 및 ME 연산량 변화 정보를 이용하여 DCT 목표 연산량을 계산하고, 상기 계산된 DCT 목표 연산량에 기초하여 현재 영상 데이터의 DCT 스킵핑을 위한 문턱값을 계산하고, 상기 계산된 문턱값에 따라 현재 영상 데이터에 대한 DCT 스킵핑을 조절하는 것을 특징으로 한다.이하, 첨부된 도면을 참조하여 본 발명의바람직한 실시예를 설명한다.
도 3은 본 발명에 따른 동영상 인코더 및 디코더를 도시하는 블록도이다.
본 발명에 따른 동영상 인코더(320)는 입력되는 영상 데이터에 대해 DCT 연산을 수행하기 위한 DCT부(322), DCT부(322)에서 얻어진 DCT 계수에 대해 양자화 계수 Q에 따라 양자화를 수행하기 위한 양자화부(Quantization: Q)(324), 양자화부(324)에서 양자화된 영상 데이터를 역양자화하기 위한 역양자화부(Inverse Quantization: IQ)(326), 역양자화부(326)에서 역양자화된 영상 데이터에 대해 IDCT(Inverse Discrete Cosine Transform) 변환을 수행하기 위한 IDCT부(328), IDCT부(328)에서 IDCT 변환된 영상 데이터를 프레임 단위로 저장하기 위한 프레임 메모리부(330), 입력되는 현재 프레임의 영상 데이터와 프레임 메모리부(330)에 저장된 이전 프레임의 영상 데이터를 이용하여 움직임 추정 관련 정보를 생성하는 움직임 추정부(Motion Estimation: ME)(332), 움직임 추정부(332)에서 추정된 움직임 벡터(MV)에 따라 DCT 및 양자화 처리된 데이터에서 통계적 중복성을 제거하여 부호화하는 가변 길이 부호화부(variable length coding: VLC)(334), 및 복호화기(340)의 디코더 복잡도 계산부(342)로부터의 디코더 복잡도(decoder complexity) 정보에 기초하여 DCT부(322)의 DCT 연산량을 조절하기 위한 DCT 연산량 조절부(336)를 포함한다.
디코더(340)는 도 1에 도시된 디코더와 동일한 기능을 수행하는 가변 길이 복호화부, 역양자화부, IDCT부, 프레임 메모리부, 움직임 보상부, 및 디코더 복잡도 계산부를 포함하며 (도시되지 않음), 설명의 간단을 위해 상세한 설명은 생략한다.
디코더 복잡도 계산부(342)는 디코더(340)에서의 이전 프레임, 즉 n 번째 프레임 (이하, 'f(n)' 이라함)의 복호화가 종료하는 경우, 이전 프레임 f(n)에서의 복호 연산량 정보, 즉 복호화 복잡도(decoding complexity) 정보를 생성하여, 역방향 채널(backward channel)을 통해서 인코더(320)의 DCT 연산량 조절부(336)로 전송한다. 이전 프레임 f(n)에 대한 복호화 연산 중 IDCT 연산이 차지하는 연산량을 CIDCT(n), 디코더에 할당된 연산량이 Callowed(n), 실제 소비된 연산량이 Ctotal(n)인 경우, 최근 복호된 k 개의 프레임들의 디코더 복잡도 정보는 {CIDCT(j), Callowed(j), Ctotal(j)| j=n-k+1, . . . , n}이다. 여기에서, k는 선택적으로 설정될 수 있는 변수이다.
또한, 본 실시예에서 실제 소비된 연산량 Ctotal(n)은 디코더(340)의 가변 길이 복호화부, 역양자화부, IDCT부, 움직임 보상부에 의해 n 번째 프레임에 대해 소비된 전체 연산량을 의미한다. 또한, 본 실시예에서는 IDCT의 연산량 CIDCT(n)가 디코더 복잡도 정보에 포함되었으나, 선택적으로 디코더 복잡도 정보에서 IDCT의 연산량 CIDCT(n)를 생략하고, 인코더(320)의 IDCT부(328)로부터 얻는 것도 가능하다.
DCT 연산량 조절부(336)는 디코더 복잡도 계산부(342)로부터 전송된 복호화 복잡도 정보에 기초하여, DCT 스킵핑 기법에 따라 입력되는 영상 데이터 중 현재 부호화되는 프레임 f(n+1)에 대한 DCT부(322)에서의 DCT 수행 회수를 조절한다.
본 발명의 일 실시예에 따르면, 디코더에서 복호된 이전 프레임 f(n)에 대해 실제 소비된 연산량이 Ctotal(n)이 디코더에 할당된 연산량이 Callowed(n)보다 작은 경우, 현재 디코더가 할당된 자원을 충분히 사용하고 있지 않는다고 판단하여, 현재 프레임 f(n+1) 이후의 프레임에 대해 DCT 스킵핑을 줄여서 인코더 및 디코더의 연산량을 증가시키도록 한다. 이러한 경우, 디코더(340)에서 복호화가 정상적으로 수행될 수 있도록 유지함과 동시에, DCT 스킵핑을 줄임으로써 좋은 화질을 제공하는 것이 가능하게 된다.
또한, 디코더에서 복호된 이전 프레임 f(n)에 대해 실제 소비된 연산량이 Ctotal(n)이 디코더에 할당된 연산량이 Callowed(n)보다 큰 경우에는, 현재 프레임 f(n+1) 이후의 프레임에 대해 DCT 스킵핑을 증가시켜, 인코더 및 디코더의 DCT 연산량을 감소시켜, 디코더에서의 복호화가 정상적으로 수행될 수 있도록 한다. 이 경우, 디코더에서의 DCT 연산량은 감소하게 되지만 화질은 상대적으로 떨어지게 된다.
예를 들어, 디코더에 할당된 연산량이 300 MIPS이고, n 번째 프레임 f(n)에 대해 실제 소비된 연산량이 250 MIPS 인 경우, 할당된 연산량과 실제 소비된 연산량 간의 차, 즉 50 MIPS 정도의 연산량에 부합하는 만큼 DCT 스킵핑을 줄여서 인코더 및 디코더의 연산량을 증가시켜, 디코더에서 할당된 연산량을 최대한 활용하도록 한다.
이와 같이, 종래 기술에서는 DCT 스킵핑 시 현재 프레임에서 DCT 스킵핑을위한 문턱값 Tcurrent를 고정하였지만, 본 발명에서는 역방향 채널을 통해 디코더로부터 입력된 디코더에서의 이전 프레임 f(n)에 대한 복호화 연산량, 즉 디코더 복잡도를 고려하여 현재 프레임 f(n+1)에서의 문턱값 Tcurret또는 Tn+1을 갱신하도록 하여, 디코더에 할당된 연산량을 최대로 할용함과 동시에 입력되는 비트스트림에 대한 부호화가 정상적으로 수행되도록 한다.
아래에서는 현재 프레임 f(n+1)의 문턱값 Tn+1을 계산하기 위한 과정을 설명한다.
DCT 연산 복잡도는 문턱값 T 및 양자화 계수 Q의 곱 역수에 비례한다는 특성을 이용하여 수학식 1과 같이 나타낼 수 있다.
여기서, C는 DCT 연산 복잡도, T는 문턱값, Q는 양자화 계수이다.
수학식 1에서 n 번째 프레임 f(n)의 연산 복잡도, 문턱값, 양자화 계수를 각각 Cn, Tn, Qn으로 나타내는 경우, 수학식 1로부터 υ= CnQnTn이고, n+1번째 프레임의 목표 문턱값은 수학식 2와 같이 나타낼 수 있다.
여기서, Ct는 n+1 번째 프레임 f(n+1)에 대한 목표 DCT 연산 복잡도이다.
따라서, 수학식 1 및 2에 의해, n+1 번째 프레임의 목표 문턱값 Tn+1은 아래 수학식 3과 같이 나타낼 수 있다.
수학식 3을 다시 정리하면 수학식 4와 같이 나타낼 수 있다.
수학식 4는 약간의 유동성을 두기 위해 수학식 5와 같이 나타낼 수 있다.
여기에서, α는 수렴 속도를 조절하는 파라미터이다. 수학식 5로부터 현재 프레임 f(n+1)의 문턱값 Tn+1은 이전 프레임 f(n)에서의 문턱값 Tn, 이전 및 현재프레임의 양자화 계수들 Qn및 Qn+1, 이전 프레임 f(n)의 DCT 연산 복잡도 Cn및 현재 프레임 f(n+1)에 대한 목표 DCT 연산량 Ct에 따라 구해진다.
이하에서는, 수학식 5 및 디코더 복잡도 계산부(342)으로부터의 전송된 디코더 복잡도에 기초하여, DCT 연산량 조절부(336)에서 현재 프레임 f(n+1)에서의 문턱값을 결정하는 방식을 설명한다.
먼저, 인코더(320)의 DCT 연산량 조절부(336)에서는 디코더 복잡도 계산부(342)로부터 전송된 디코더의 복잡도 정보에 기초하여 현재 프레임 f(n+1)에서의 목표 DCT 연산량을 계산한다. 본 발명에 따른 일 실시예에서는 아래 수학식 6에 따라 현재 프레임 f(n+1)에서의 목표 DCT 연산량을 계산한다.
본 실시예에서는 수학식 6에 따라 인코더(320)에서의 현재 프레임 f(n+1)의 목표 DCT 연산량을 계산하였다. 하지만, 선택적으로, 디코더 복잡도 계산부(342)으로부터 전송된 Callowed(n) 및 Ctotal(n) 값에 기초하여, 소정의 수학식에 따라 현재 프레임 f(n+1)의 목표 DCT 연산량을 계산하는 것도 가능하다.
수학식 6에 의해 계산된 현재 프레임의 목표 DCT 연산량 Ct값을 수학식 5에 대입함으로써, 현재 프레임 f(n+1)에서의 문턱값 Tn+1을 계산하는 것이 가능하다.
DCT 연산량 계산부(336)는 계산된 현재 프레임 f(n+1)에서의 문턱값 Tn+1에 기초하여, 현재 프레임 f(n+1)의 i 번째 블록에 대해, i 번째 블록에 해당하는 SADn+1,i값과 양자화 파라미터 Qn+1에 기초하여 i 번째 블록의 스킵핑 여부를 결정한다. 즉,
인 경우에는 해당 블록, 즉 n+1 프레임의 i 번째 블록에 대해 DCT를 스킵핑, 즉, DCT부(322)가 해당 블록에 대해 비 부호화 모드(not-coded mode)로 설정되도록 하여, 해당 블록에 대해 DCT를 수행하지 않고, 그렇지 않은 경우에는 해당 블록에 대해 DCT를 수행한다.
도 4는 본 발명의 일 실시예에 따른 디코더 복잡도를 고려하여 DCT 연산량을 조절하는 방법을 설명하기 위한 플로우차트이다. 이하에서는, 도 3을 참조하여 본발명에 따른 DCT 연산량 조절 방법을 설명한다.
단계(410)에서 인코더(320)의 DCT 연산량 조절부(336)는 역방향 채널을 통해 디코더(340)의 디코더 복잡도 계산부(342)로부터 디코더에서 IDCT가 차지하는 연산량 CIDCT(n), 디코더에 할당된 연산량 Callowed(n), 및 실제 소비된 연산량 Ctotal(n) 정보를 포함하는 최근 복호된 k 개의 프레임들의 디코더 복잡도 정보 {CIDCT(j),Callowed(j), Ctotal(j)| j=n-k+1, . . . , n}를 전송 받는다. 본 실시예에서는 IDCT의 연산량 CIDCT(j)이 디코더 복잡도 정보에 포함되었으나, 선택적으로 인코더(320)의 IDCT부(328)로부터 얻는 것도 가능하다.
단계(420)에서는 입력된 디코더 복잡도 정보에 기초하여 부호화하고자 하는 현재 프레임 f(n+1)에 대한 목표 DCT 연산량 Ct를 계산한다. 본 발명에 따른 실시예에서는 수학식 6에 의해 계산되었지만, 선택적으로 디코더 복잡도 정보에 기초한 소정의 수학식에 따라 목표 DCT 연산량 Ct를 계산하는 것도 가능하다.
단계(430)에서 DCT 연산량 조절부(336)는 단계(420)에서 계산된 목표 DCT 연산량 Ct, DCT부(312)로부터 입력된 이전 프레임 f(n)의 DCT 연산량 정보 Cn, 양자화부(314)로부터 입력된 이전 프레임 f(n), 및 현재 프레임 f(n+1)의 양자화 계수 Qn및 Qn+1에 기초하여, 현재 프레임 f(n+1)의 DCT 스킵핑을 수행하기 위한 문턱값 Tn+1을 계산한다.
단계(440)에서 DCT 연산량 조절부(336)는 움직임 추정부(332)로부터 입력된 DCT 스킵핑 여부를 결정하기 위한 현재 프레임 f(n+1)의 i 번째 블록의 SAD 값 SADn+1,i와 양자화부(314)로부터의 양자화 계수 Qn+1에 기초하여, DCT부(312)에서의 각 8 블록의 DCT 스킵핑 여부를 결정한다. 즉, SADn+1,i/Qn+1가 현재 프레임 f(n+1)의 문턱값 Tn+1보다 작은 경우에는 단계(450)로 진행한다. 또한, SADn+1,i/Qn+1가 현재 프레임 f(n+1)의 문턱값 Tn+1보다 큰 경우에는 단계(460)으로 진행한다.
단계(450)에서는 현재 프레임 f(n+1)의 i 번째 블록에 대한 DCT부(312)의 동작이 비 부호화 모드로 설정되어, 해당 블록, 즉 현재 프레임 f(n+1)의 i 번째 블록의 DCT 부호화를 수행하지 않고 스킵핑하고, 단계 (470)으로 진행한다.
단계(460)에서는 해당 블록, 즉 현재 프레임 f(n+1)의 i 번째 블록의 DCT 부호화를 수행하고, 단계(470)로 진행한다.
단계(470)에서는 i 번째 블록이 현재 프레임의 마지막 블록인 경우에는 단계(480)으로 진행하고, 마지막 블록이 아닌 경우에는 단계 (440)으로 진행하여, 상기 단계 (440) 내지 (460)을 다시 반복적으로 수행한다.
단계(480)에서는, 입력되는 동영상의 데이터의 부호화가 종료될 때까지 상기 단계들을 반복적으로 수행하도록 한다.
이와 같이, 디코더의 연산량을 고려한 부호화를 수행함으로써, 디코더에 할당된 연산량을 최대한 활용하는 것이 가능하게 된다.
도 5는 본 발명에 따른 또 다른 실시예를 도시한다.
인코더(520)는 도 3의 인코더(320)에 비해 움직임 추정부(ME)(532)에서 이루어지는 ME 연산량 변화분을 계산하기 위한 ME 연산량 계산부(538)를 더 포함한다.
ME 연산량 계산부(538)는 움직임 추정부(532)에서의 목표 연산량 CME,target과 이전 프레임 f(n)에서 실제로 수행된 연산량 CME(n)과의 변화분을 계산하고, 이에 기초한 ME 연산량 변화 정보를 DCT 연산량 조절부(536)로 전송한다.
DCT 연산량 조절부(536) 및 ME 연산량 계산부(538)를 제외한 나머지 기능부는 도 3의 인코더(320)와 동일한 기능을 수행하므로 설명의 간단을 위해 상세한 설명은 생략한다.
도 6은 본 발명에 따른 또 다른 실시예에 따른 ME의 연산량 변화 및 디코더 복잡도를 고려하여 DCT 연산량을 조절하는 방법을 설명하기 위한 플로우차트이다. 이하에서는, 도 5를 참조하여 DCT 연산량 조절 방법을 설명한다.
단계(610)에서 인코더(520)의 DCT 연산량 조절부(536)는 역방향 채널을 통해 디코더(540)의 디코더 복잡도 계산부(542)로부터 디코더에서의 연산량 중 IDCT가 차지하는 연산량 CIDCT(n), 디코더에 할당된 연산량 Callowed(n), 및 실제 소비된 연산량 Ctotal(n)에 대한 연산량 정보를 포함하는 디코더 복잡도 정보를 전송 받고, ME 연산량 계산부(528)로부터 ME 연산량 변화 정보를 전송받는다.
본 실시예에서는 IDCT의 연산량 CIDCT(j)이 디코더 복잡도 정보에 포함되었으나, 선택적으로 인코더(520)의 IDCT부(528)로부터 얻는 것도 가능하다.
단계(620)에서는 단계(610)에서 입력된 디코더 복잡도 정보 및 ME 연산량 변화값에 기초하여 아래 수학식 8에 따라 부호화하고자 하는 현재 프레임 f(n+1)에 대한 목표 DCT 연산량을 계산한다.
여기에서, CME,target은 움직임 추정 연산부(532)에서의 현재 프레임 f(n+1)에 대한 목표 연산량을 의미하고, CME(n)은 이전 프레임 f(n)에서 실제로 수행된 연산량을 의미한다.
본 실시예에서는, 수학식 8에 따라 현재 부호화하려는 프레임에서의 목표 DCT를 계산하였지만, 선택적으로 디코더 복잡도 정보 및 ME 연산량 변화값을 고려한 소정의 수학식에 따라 목표 DCT 연산량을 계산하는 것도 가능하다.
단계(630)에서 DCT 연산량 조절부(536)는 단계 (620)에서 계산된 목표 DCT 연산량 Ct, DCT부(522)로부터 입력된 이전 프레임의 DCT 연산량 정보 Cn, 양자화부(524)로부터 입력된 이전 프레임 f(n) 및 현재 프레임 f(n+1)의 양자화 계수 Qn및 Qn+1에 기초하여, 현재 프레임 f(n+1)의 DCT 스킵핑을 수행하기 위한 문턱값 Tn+1을 계산한다.
단계(640)에서 DCT 연산량 조절부(536)는 움직임 추정부(532)로부터 입력된 현재 DCT 스킵핑 여부를 결정하기 위한 현재 프레임의 i 번째 블록의 SAD 값 SADn+1,i와 양자화부(524)로부터의 양자화 계수 Qn+1에 기초하여, DCT부(522)에서의 각 8 블록의 DCT 스킵핑 여부를 결정한다. 즉, SADcur,i/Qn+1이 현재 프레임 f(n+1)의 문턱값 Tn+1보다 작은 경우에는 단계(650)로 진행한다. 또한, SADcur,i/Qn+1이 현재 프레임 f(n+1)의 문턱값 Tn+1보다 큰 경우에는 단계(660)로 진행한다.
단계(650)에서는 현재 프레임 f(n+1)의 i 번째 블록에 대한 DCT부(522)의 동작이 비 부호화 모드로 설정되어, 해당 블록, 즉 현재 프레임 f(n+1)의 i 번째 블록의 DCT 부호화를 수행하지 않고 스킵핑한다.
단계(660)에서는 해당 블록, 즉 현재 프레임 f(n+1)의 i 번째 블록의 DCT 부호화를 수행한다.
단계(670)에서는 i 번째 블록이 현재 프레임의 마지막 블록인 경우에는 단계(680)로 진행하고, 마지막 블록이 아닌 경우에는 단계 (440)으로 진행하여, 상기 단계 (640) 내지 (660)을 다시 반복적으로 수행한다.
단계(680)에서는, 입력되는 동영상의 데이터의 부호화가 종료될 때까지 상기 단계들을 반복적으로 수행하도록 한다.
이와 같이, 디코더(540)에서의 연산 복잡도 및 움직임 추정부(524)에서의 연산량 변화분을 고려하여 DCT 연산량을 조절함으로써, 디코더에 할당된 연산량을 최대한 활용함과 동시에, 인코더의 전체적인 계산량을 목표 연산 복잡도에 근접하게 유지하는 것이 가능하게 된다.
본 발명은 상술한 실시예에 한정되지 않으며, 본 발명의 사상내에서 당업자에 의한 변형이 가능함은 물론이다.
본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 하드디스크, 플로피디스크, 플래쉬 메모리, 광데이터 저장장치 등이 있으며, 또한캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드로서 저장되고 실행될 수 있다.
상술한 바와 같이 본 발명에 따른 DCT 연산량 조절 방법 및 장치를 사용하는 경우, 동영상 인코더에 디코더에서의 연산량 정보 및 움직임 추정부의 연산량 변화분을 고려한 DCT 스키핑 방법을 적용함으로써 디코더에 할당된 연산량을 최대로 활용함과 동시에 입력된 비트 스트림에 대한 복호화가 정상적으로 수행되도록 하는 것이 가능하며, 또한 영상의 특성에 관계없이 동영상 인코더의 연산 복잡도를 일정하게 유지하는 것이 가능하게 되는 효과가 있다.

Claims (34)

  1. 동영상 부호화를 위한 DCT 연산량 조절 방법에 있어서,
    (a) 이전 영상 데이터에 대한 복호화 연산량을 나타내는 복호기 복잡도(decoder complexity) 정보를 입력받는 단계;
    (b) 상기 (a) 단계에서 입력받은 복호기 복잡도 정보를 이용하여 현재 영상 데이터에 대한 DCT 스킵핑(skipping)을 조절하는 단계를 포함하는 것을 특징으로 하는 DCT 연산량 조절 방법.
  2. 제1항에 있어서,
    상기 (a) 단계는 (a1) 이전 영상 데이터에 대한 복호화 연산량을 나타내는 복호기 복잡도 정보를 계산하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  3. 제1항에 있어서,
    상기 (b) 단계는
    (b1) 상기 (a) 단계에서 입력받은 복호기 복잡도 정보를 이용하여, 현재 영상 데이터에 대한 DCT 목표 연산량을 계산하는 단계;
    (b2) 상기 (b1) 단계에서 계산된 DCT 목표 연산량에 기초하여 현재 영상 데이터의 DCT 스킵핑을 위한 문턱값을 계산하는 단계;
    (b3) 상기 계산된 문턱값에 따라 현재 영상 데이터에 대한 DCT 스킵핑을 조절하는 단계를 포함하는 것을 특징으로 하는 방법.
  4. 제1항에 있어서,
    상기 (a) 단계의 복호기 복잡도 정보는 복호기에서 이전 영상 데이터에 대해 할당된 연산량 정보와 실제 소비된 연산량 정보를 포함하는 것을 특징으로 하는 방법.
  5. 제4항에 있어서,
    상기 복호기 복잡도 정보는 이전 영상 데이터에 대한 복호화 연산 중 IDCT(inverse discrete cosine transformation) 연산이 차지하는 연산량 정보를 더포함하는 것을 특징으로 하는 방법.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서,
    이전 영상 데이터는 선정된 수의 이전 프레임이며, 현재 영상 데이터는 현재 부호화되는 프레임인 것을 특징으로 하는 방법.
  7. 제1항에 있어서,
    상기 현재 영상 데이터에 대한 DCT 스킵핑은 현재 부호화되는 프레임의 블록 단위로 이루어지는 것을 특징으로 하는 방법.
  8. 동영상 부호화를 위한 DCT 연산량 조절 방법에 있어서,
    (a) 이전 영상 데이터에 대한 복호화 연산량을 나타내는 복호기 복잡도 정보 및 움직임 추정에 대한 연산량 변화 정보를 나타내는 ME 연산량 변화 정보를 입력받는 단계;
    (b) 상기 (a) 단계에서 입력받은 복호기 복잡도 정보 및 ME 연산량 변화 정보를 이용하여 현재 영상 데이터에 대한 DCT 스킵핑을 조절하는 단계를 포함하는 것을 특징으로 하는 DCT 연산량 조절 방법.
  9. 제8항에 있어서,
    상기 (a) 단계는 (a1) 이전 영상 데이터에 대한 복호화 연산량을 나타내는복호기 복잡도 정보를 계산하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  10. 제8항에 있어서,
    상기 ME 연산량 변화 정보는 현재 영상 데이터에 대한 목표 움직임 추정 연산량과 이전 영상 데이터에 대해 실제로 수행된 움직임 추정 연산량과의 차이 값인 것을 특징으로 하는 방법.
  11. 제8항에 있어서,
    상기 (b) 단계는
    (b1) 상기 (a) 단계에서 입력받은 상기 복호기 복잡도 정보 및 상기 ME 연산량 변화 정보를 이용하여 현재 영상 데이터에 대한 DCT 목표 연산량을 계산하는 단계;
    (b2) 상기 (b1) 단계에서 계산된 DCT 목표 연산량에 기초하여 현재 영상 데이터의 DCT 스킵핑을 위한 문턱값을 계산하는 단계;
    (b3) 상기 계산된 문턱값에 따라 현재 영상 데이터에 대한 DCT 스킵핑을 조절하는 단계를 포함하는 것을 특징으로 하는 방법.
  12. 제8항에 있어서,
    상기 (a) 단계의 복호기 복잡도 정보는 복호기에서 이전 영상 데이터에 대해 할당된 연산량 정보와 실제 소비된 연산량 정보를 포함하는 것을 특징으로 하는 방법.
  13. 제10항에 있어서,
    상기 복호기 복잡도 정보는 이전 영상 데이터에 대한 복호화 연산 중 IDCT 연산이 차지하는 연산량 정보를 더 포함하는 것을 특징으로 하는 방법.
  14. 제7항 내지 제13항 중 어느 한 항에 있어서,
    이전 영상 데이터는 선정된 수의 이전 프레임이며, 현재 영상 데이터는 현재 부호화되는 프레임인 것을 특징으로 하는 방법.
  15. 제8항에 있어서,
    상기 현재 영상 데이터에 대한 DCT 스킵핑은 현재 부호화되는 프레임의 블록 단위로 이루어지는 것을 특징으로 하는 방법.
  16. 제3항 또는 제11항에 있어서,
    상기 (b2) 단계에서 현재 영상 데이터의 문턱값 Tn+1
    에 의해 결정되며, 여기에서, α는 수렴 속도를 조절하는 파라미터, Tn은 이전 영상 데이터의 문턱값, Qn은 이전 영상 데이터의 양자화 계수, Qn+1은 현재 영상 데이터의 양자화 계수, Cn은 이전 영상 데이터에 대해 수행된 DCT 연산량, Ct는 현재 영상 데이터에 대한 목표 DCT 연산량인 것을 특징으로 하는 방법.
  17. 제3항 또는 제11항에 있어서,
    상기 (b3) 단계는 (b4) 상기 계산된 문턱값이 SAD/Q보다 작은 경우에는 DCT를 스킵핑하고, 상기 계산된 문턱값이 SAD/Q보다 큰 경우에는 DCT를 수행하는 단계를 더 포함하며, 여기에서 SAD는 블록 정합 오차이며, Q는 현재 부호화하는 영상 데이터의 양자화 계수 인 것을 특징으로 하는 방법.
  18. 동영상 부호화를 위한 DCT 연산량 조절 장치에 있어서,
    입력된 이전 영상 데이터에 대한 복호화 연산량을 나타내는 복호기 복잡도 정보를 이용하여, 현재 영상 데이터에 대한 DCT 스킵핑을 조절하는 DCT 연산량 조절부; 및
    상기 DCT 연산량 조절부로부터의 제어 신호에 따라 입력 현재 영상 데이터에 대해 DCT 변환 또는 DCT 변환 스킵핑을 수행하는 DCT 변환부를 포함하는 것을 특징으로 하는 DCT 연산량 조절 장치;
  19. 제16항에 있어서,
    입력된 이전 영상 데이터에 대한 복호화 연산량을 나타내는 복호기 복잡도 정보를 계산하는 복호기 복잡도 계산부를 더 포함하는 것을 특징으로 하는 장치.
  20. 제18항에 있어서,
    상기 DCT 연산량 조절부는 상기 복호기 복잡도 정보를 이용하여 현재 영상 데이터에 대한 DCT 목표 연산량을 계산하고, 상기 계산된 DCT 목표 연산량에 기초하여 현재 영상 데이터의 DCT 스킵핑을 위한 문턱값을 계산하고, 상기 계산된 문턱값에 따라 현재 영상 데이터에 대한 DCT 스킵핑을 조절하는 것을 특징으로 하는 장치.
  21. 제18항에 있어서,
    상기 복호기 복잡도 정보는 복호기에서 이전 영상 데이터에 대해 할당된 연산량 정보와 실제 소비된 연산량 정보를 포함하는 것을 특징으로 하는 장치.
  22. 제20항에 있어서,
    상기 복호기 복잡도 정보는 이전 영상 데이터에 대한 복호화 연산 중 IDCT 연산이 차지하는 연산량 정보를 더 포함하는 것을 특징으로 하는 DCT 연산량 조절 장치.
  23. 제18항 내지 제22항 중 어느 한 항에 있어서,
    이전 영상 데이터는 선정된 수의 이전 프레임이며, 현재 영상 데이터는 현재 부호화되는 프레임인 것을 특징으로 하는 DCT 연산량 조절 장치.
  24. 제18항에 있어서,
    상기 현재 영상 데이터에 대한 DCT 스킵핑은 현재 부호화되는 프레임의 블록 단위로 이루어지는 것을 특징으로 하는 장치.
  25. 동영상 부호화를 위한 DCT 연산량 조절 장치에 있어서,
    입력된 이전 영상 데이터에 대한 복호화 연산량을 나타내는 복호기 복잡도 정보 및 움직임 추정에 대한 연산량 변화 정보를 나타내는 ME 연산량 변화 정보를 이용하여, 현재 영상 데이터에 대한 DCT 스킵핑을 조절하는 DCT 연산량 조절부; 및
    상기 DCT 연산량 조절부로부터의 제어 신호에 따라 입력 현재 영상 데이터에 대해 DCT 변환 또는 DCT 변환 스킵핑을 수행하는 DCT 변환부를 포함하는 것을 특징으로 하는 DCT 연산량 조절 장치;
  26. 제25항에 있어서,
    입력된 이전 영상 데이터에 대한 복호화 연산량을 나타내는 복호기 복잡도 정보를 계산하는 복호기 복잡도 계산부를 더 포함하는 것을 특징으로 하는 장치.
  27. 제25항에 있어서,
    상기 ME 연산량 변화 정보는 현재 영상 데이터에 대한 목표 움직임 추정 연산량과 이전 영상 데이터에 대해 실제로 수행된 움직임 추정 연산량과의 차이 값인 것을 특징으로 하는 DCT 연산량 조절 장치.
  28. 제25항에 있어서,
    상기 DCT 연산량 조절부는 상기 입력받은 복호기 복잡도 정보 및 ME 연산량 변화 정보를 이용하여 현재 영상 데이터에 대한 DCT 목표 연산량을 계산하고, 상기 계산된 DCT 목표 연산량에 기초하여 현재 영상 데이터의 DCT 스킵핑을 위한 문턱값을 계산하고, 상기 계산된 문턱값에 따라 현재 영상 데이터에 대한 DCT 스킵핑을 조절하는 것을 특징으로 하는 DCT 연산량 조절 장치.
  29. 제25항에 있어서,
    상기 복호기 복잡도 정보는 복호기에서 이전 영상 데이터에 대해 할당된 연산량 정보와 실제 소비된 연산량 정보를 포함하는 것을 특징으로 하는 장치.
  30. 제29항에 있어서,
    상기 복호기 복잡도 정보는 이전 영상 데이터에 대한 복호화 연산 중 IDCT 연산이 차지하는 연산량 정보를 더 포함하는 것을 특징으로 하는 DCT 연산량 조절 장치.
  31. 제25항 내지 제30항 중 어느 한 항에 있어서,
    이전 영상 데이터는 선정된 수의 이전 프레임이며, 현재 영상 데이터는 현재 부호화되는 프레임인 것을 특징으로 하는 DCT 연산량 조절 장치.
  32. 제25항에 있어서,
    상기 현재 영상 데이터에 대한 DCT 스킵핑은 현재 부호화되는 프레임의 블록 단위로 이루어지는 것을 특징으로 하는 장치.
  33. 제20항 또는 제28항에 있어서,
    상기 현재 영상 데이터의 문턱값 Tn+1
    에 의해 결정되며, 여기에서, α는 수렴 속도를 조절하는 파라미터, Tn은 이전 영상 데이터의 문턱값, Qn은 이전 영상 데이터의 양자화 계수, Qn+1은 현재 영상 데이터의 양자화 계수, Cn은 이전 영상 데이터에 대해 수행된 DCT 연산량, Ct는 현재 영상 데이터에 대한 목표 DCT 연산량인 것을 특징으로 하는 DCT 연산량 조절 장치.
  34. 제20항 또는 제28항에 있어서,
    상기 DCT 연산량 조절부는 상기 계산된 문턱값이 SAD/Q보다 적은 경우에는 DCT를 스킵핑하고, 상기 계산된 문턱값이 SAD/Q보다 큰 경우에는 DCT를 수행하는 단계를 더 포함하며, 여기에서 SAD는 블록 정합 오차이며, Q는 현재 부호화하는 영상 데이터의 양자화 계수 인 것을 특징으로 하는 DCT 연산량 조절 장치.
KR1020020040405A 2002-07-11 2002-07-11 동영상 부호화를 위한 dct연산량 조절 방법 및 그 장치 KR20040007818A (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020020040405A KR20040007818A (ko) 2002-07-11 2002-07-11 동영상 부호화를 위한 dct연산량 조절 방법 및 그 장치
CNB031382649A CN1224266C (zh) 2002-07-11 2003-05-30 控制运动图像编码的dct计算量的算法和设备
EP20030012433 EP1381239A1 (en) 2002-07-11 2003-05-30 Method and apparatus for controlling amount of DCT computation performed to encode motion image
US10/600,654 US20040008898A1 (en) 2002-07-11 2003-06-23 Method and apparatus for controlling amount of DCT computation performed to encode motion image
JP2003273742A JP2004040811A (ja) 2002-07-11 2003-07-11 動映像符号化のためのdct演算量調節方法及びその装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020020040405A KR20040007818A (ko) 2002-07-11 2002-07-11 동영상 부호화를 위한 dct연산량 조절 방법 및 그 장치

Publications (1)

Publication Number Publication Date
KR20040007818A true KR20040007818A (ko) 2004-01-28

Family

ID=29728790

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020020040405A KR20040007818A (ko) 2002-07-11 2002-07-11 동영상 부호화를 위한 dct연산량 조절 방법 및 그 장치

Country Status (5)

Country Link
US (1) US20040008898A1 (ko)
EP (1) EP1381239A1 (ko)
JP (1) JP2004040811A (ko)
KR (1) KR20040007818A (ko)
CN (1) CN1224266C (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101103187B1 (ko) * 2006-09-11 2012-01-04 애플 인크. 복잡도 인식 인코딩

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100833228B1 (ko) * 2002-02-21 2008-05-28 삼성전자주식회사 고정 연산량을 갖는 동영상 부호화 방법 및 그 장치
TWI297994B (en) * 2005-12-08 2008-06-11 Inst Information Industry Encoder, method for adjusting decoding calculation, and computer readable record medium therefor
DE602006016650D1 (de) 2006-01-09 2010-10-14 Hans-Georg Musmann Adaptive codierung eines prädiktionsfehlers bei der hybrid-videocodierung
US8472529B2 (en) * 2007-09-14 2013-06-25 General Instrument Corporation Estimating complexity of video frames for encoding
KR20110015356A (ko) 2009-08-07 2011-02-15 한국전자통신연구원 차분 신호의 특성에 기반한 적응적인 변환 부호화/양자화 영역을 이용한 동영상 부호화/복호화 장치 및 그 방법
US20110310956A1 (en) * 2010-06-22 2011-12-22 Jian-Liang Lin Methods for controlling video decoder to selectively skip one or more video frames and related signal processing apparatuses thereof
US8976856B2 (en) 2010-09-30 2015-03-10 Apple Inc. Optimized deblocking filters
KR101857108B1 (ko) * 2011-10-19 2018-05-11 주식회사 케이티 영상 부호화/복호화 방법 및 그 장치
US10390046B2 (en) * 2011-11-07 2019-08-20 Qualcomm Incorporated Coding significant coefficient information in transform skip mode

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR960043909A (ko) * 1995-05-29 1996-12-23 김광호 가변 비트율 동화상 부호화장치
KR970019622A (ko) * 1995-09-29 1997-04-30 배순훈 동영상을 부호화하는 장치
KR19990009352A (ko) * 1997-07-09 1999-02-05 윤종용 압축 부호화 장치 및 방법
KR20000032856A (ko) * 1998-11-18 2000-06-15 윤종용 동영상 부호화 방법

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5231484A (en) * 1991-11-08 1993-07-27 International Business Machines Corporation Motion video compression system with adaptive bit allocation and quantization
EP1357758A3 (en) * 1995-08-02 2004-10-27 Matsushita Electric Industrial Co., Ltd. Video coding device and video transmission system using the same, quantization control method and average throughput calculation method used therein
US5825927A (en) * 1996-01-16 1998-10-20 Hitachi America, Ltd. Methods and apparatus for encoding video data in a manner that is well suited for decoding by regular or downconverting decoders
US6385345B1 (en) * 1998-03-31 2002-05-07 Sharp Laboratories Of America, Inc. Method and apparatus for selecting image data to skip when encoding digital video
US6122321A (en) * 1998-05-12 2000-09-19 Hitachi America, Ltd. Methods and apparatus for reducing the complexity of inverse quantization operations
US6542549B1 (en) * 1998-10-13 2003-04-01 Matsushita Electric Industrial Co., Ltd. Method and model for regulating the computational and memory requirements of a compressed bitstream in a video decoder
US7885340B2 (en) * 1999-04-27 2011-02-08 Realnetworks, Inc. System and method for generating multiple synchronized encoded representations of media data
SG82613A1 (en) * 1999-05-21 2001-08-21 Inst Of Microelectronics Dynamic load-balancing between two processing means for real-time video encoding
KR20010053814A (ko) * 1999-12-01 2001-07-02 윤종용 영상 부호화 시스템의 부호화방식 선택장치 및 방법
US6300973B1 (en) * 2000-01-13 2001-10-09 Meir Feder Method and system for multimedia communication control
US20020118746A1 (en) * 2001-01-03 2002-08-29 Kim Hyun Mun Method of performing video encoding rate control using motion estimation

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR960043909A (ko) * 1995-05-29 1996-12-23 김광호 가변 비트율 동화상 부호화장치
KR970019622A (ko) * 1995-09-29 1997-04-30 배순훈 동영상을 부호화하는 장치
KR19990009352A (ko) * 1997-07-09 1999-02-05 윤종용 압축 부호화 장치 및 방법
KR20000032856A (ko) * 1998-11-18 2000-06-15 윤종용 동영상 부호화 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101103187B1 (ko) * 2006-09-11 2012-01-04 애플 인크. 복잡도 인식 인코딩

Also Published As

Publication number Publication date
JP2004040811A (ja) 2004-02-05
EP1381239A1 (en) 2004-01-14
US20040008898A1 (en) 2004-01-15
CN1224266C (zh) 2005-10-19
CN1469648A (zh) 2004-01-21

Similar Documents

Publication Publication Date Title
KR100484148B1 (ko) 개선된 비트율 제어 방법과 그 장치
US5986710A (en) Image encoding method and apparatus for controlling the number of bits generated using quantization activities
US6823008B2 (en) Video bitrate control method and device for digital video recording
US7903732B2 (en) Method and apparatus for encoding a moving-picture signal by calculating the complexity of the moving-picture signal
EP1639801B1 (en) Multipass video rate control to match sliding window channel constraints
EP2169962A1 (en) Video encoding device and method, video encoding program, and recording medium containing the program
KR100601615B1 (ko) 네트워크 대역폭에 적응적인 영상 압축 장치
US20050243917A1 (en) H.263/MPEG video encoder using average histogram difference and method for controlling the same
KR100594056B1 (ko) 효율적인 비트율 제어를 위한 h.263/mpeg 비디오인코더 및 그 제어 방법
KR20040007818A (ko) 동영상 부호화를 위한 dct연산량 조절 방법 및 그 장치
US8588294B2 (en) Statistical multiplexing using a plurality of two-pass encoders
US20010053182A1 (en) Picture encoding format converting apparatus
JP2001028753A (ja) 動画像符号化装置及びその方法
KR100708182B1 (ko) 동영상 부호화기의 비트율 제어 장치 및 방법
KR20040048289A (ko) 트랜스코딩 장치 및 방법, 이에 사용되는 타겟비트할당 및픽처 복잡도 예측 장치 및 방법
CN113473136A (zh) 视频编码器及其码率控制装置
JP2005151344A (ja) データ処理装置およびその方法と符号化装置
JP3812269B2 (ja) 動画像符号化装置及びその方法
JP2005045736A (ja) 画像信号符号化方法及び装置、符号化制御装置並びにプログラム
KR100266708B1 (ko) 양방향 예측 픽쳐의 조건부 보충 부호화 방법
KR100778473B1 (ko) 비트율 제어 방법
KR100949755B1 (ko) 비디오 시퀀스의 레이트를 제어하는 방법 및 장치, 비디오부호화 장치
KR20030083109A (ko) 비트율 변환부호화장치
KR100207418B1 (ko) 부호화 비트발생율 제어방법 및 그 제어장치
KR100207419B1 (ko) 부호화 비트발생율 제어방법 및 그 제어장치

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application