KR20050065517A - 비디오 인코더에서 연산 복잡성을 감소시키는 방법 및 장치 - Google Patents

비디오 인코더에서 연산 복잡성을 감소시키는 방법 및 장치 Download PDF

Info

Publication number
KR20050065517A
KR20050065517A KR1020057002040A KR20057002040A KR20050065517A KR 20050065517 A KR20050065517 A KR 20050065517A KR 1020057002040 A KR1020057002040 A KR 1020057002040A KR 20057002040 A KR20057002040 A KR 20057002040A KR 20050065517 A KR20050065517 A KR 20050065517A
Authority
KR
South Korea
Prior art keywords
threshold
block data
coefficient
video block
magnitude
Prior art date
Application number
KR1020057002040A
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 모토로라 인코포레이티드
Publication of KR20050065517A publication Critical patent/KR20050065517A/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/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/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
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

본 발명은 비디오 인코더 시스템에서의 연산의 복잡성을 감소시키기 위한 방법 및 장치에 관한 것이다. 본 방법은 변환된 비디오 블럭 데이터 계수들을 수신하는 단계, 임계치를 설정하는 단계, 적어도 하나의 변환된 비디오 블럭 데이터 계수의 크기가 임계치보다 큰지를 결정하는 단계, 적어도 하나의 변환된 비디오 블럭 데이터 계수의 크기가 임계치보다 크다면 연속적인 압축 함수를 수행하는 단계, 및 변환된 비디오 블럭 데이터 계수의 크기 중 어느 것도 임계치보다 크지 않다면 연속적인 압축 함수를 우회시키는 단계를 포함할 수 있다.

Description

비디오 인코더에서 연산 복잡성을 감소시키는 방법 및 장치{METHOD AND APPARATUS FOR REDUCING COMPUTATIONAL COMPLEXITY IN VIDEO ENCORDERS}
본 발명은 비디오 인코딩 분야에 관한 것이다. 특히, 본 발명은 비디오 데이터 블럭의 인코딩에 관한 것이다.
현재, H.263, MPEG-2 및 MPEG-4와 같은 국제 비디오 압축 표준에서, 프레임은 매크로블럭으로 이루어진다. 매크로블럭은 블럭으로 이루어지며, 이는 64 엘리먼트로 이루어진다. 데이터의 특정 블럭의 인코딩에 집중하면, 도 5는 인코딩 프로세스를 도시한다. DCT(discrete cosine transform) 모듈에 의해 발생된 DCT 계수의 양자화기 의한 양자화 이후에는, 양자화기에 대한 입력이 논-제로(non-zero)일지라도 논-제로 출력이 생성되지 않는 것이 가능하다. 이런 경우, VLC(variable length code) 인코더에 의해 인코딩될 양자화된 계수가 없게 된다. 데이터의 각 블럭에 대한 CBP(coded block pattern)이라 불리는 플래그가 있다. 인코딩될 계수가 없다면, 이 플래그는 이 특정 블럭에 대한 제로로 설정되고, 양자화가 수행되지 않는다. 그렇치 않으면, 1로 설정되고 양자화가 수행되며, 양자화된 DCT 계수는 스캐너에 의해 지그재그 형태로 스캐닝되고, VLC 인코더에 의해 인코딩되며, 모션 벡터와 함께 압축 비디오 비트스트림으로 전송된다.
낮은 비트 레이트 어플리케이션에서는 결국 인코딩될 논-제로 계수를 갖지 않게 되는 높은 퍼센트의 블럭이 있다(즉, CBP=0). 따라서, 불행하게도, 이는 양자화 동작이 종종 리던던트(redundant)함을 의미한다.
양자화 동작이 매우 값비싸다는 다른 문제가 존재한다. 가장 일반적으로 사용되는 양자화 알고리즘에서, 특정 DCT 계수는 다음과 같이 양자화된다:
COEF[i]; = 0,1,...,63에 의해 표시되는 DCT 계수
Q로 표시되는 양자화 스텝 크기
QCOEF[i]에 의해 표시되는 양자화기 블럭의 출력
인덱스 "i"의 각 값에서, 양자화는 다음의 동작들의 세트로 수행된다:
SGN = Sign(COEF[i])
ABSVAL = Abs(COEF[i])
QCOEF[i] = SGN*(ABSVAL/(2*Q))
함수 Sign()는 입력이 제로와 동일한지, 제로 보다 큰지 아니면 작은지 여부에 따라 0, 1 또는 -1의 값을 산출한다. 함수 Abs()는 입력의 절대치(크기)를 산출한다.
이런 수학식으로부터, 양자화 프로세스에서 계수당 수행될 여러 동작이 있음이 자명하다. 수학식에서, 승산에 의한 폭넓은 "제분" 동작을 제거하는 것이 가능하다. 불행하게도, 동작의 수는 매우 크며, 연산 리소스의 적어도 10%가 인코더에서 소비된다.
도 1은 바람직한 실시예에 따르는 본 발명에서 사용되는 비디오 압축 시스템의 예시적인 블럭도이다.
도 2는 바람직한 실시예에 따르는 비디오 압축 시스템용 블럭 인코딩 시스템의 예시적인 블럭도이다.
도 3은 일 실시예에 따르는 체크 양자화 요구 모듈의 동작을 설명하는 예시적인 순서도이다.
도 4는 일 실시예에 따르는 체크 양자화 요구 모듈(210)의 예시적인 블럭도이다.
도 5는 인코딩 프로세스를 도시한다.
비디오 인코더 시스템에서 연산 복잡성을 감소시키는 방법 및 장치가 개시된다. 이 방법은 변환된 비디오 블럭 데이터 계수를 수신하는 단계와, 임계치를 설정하는 단계와, 적어도 하나의 변환된 비디오 블럭 데이터 계수가 임계치보다 큰지를 결정하는 단계와, 적어도 하나의 변환된 블럭 데이터 계수가 임계치보다 크다면 연속적인 압축 함수를 수행하는 단계와, 변환된 비디오 블럭 데이터 계수가 임계치보다 크지 않다면 연속적인 압축 함수를 우회하는 단계를 포함한다.
낮은 비트 레이트(예컨대, 64 kbps에서 QCIF)에서, 비디오 압축 블럭의 75% 만큼이 결국 코딩되지 않는다(즉, CBP=0). 따라서, 양자화가 필수적인지 아닌지를 미리 결정하는 용이한 방식이 있다면 연산을 줄일 수 있는 큰 가능성이 있다. 일 실시예에 따르면, 다른 이점 중에서, 개시된 발명은 모든 리던던트 블럭 양자화 동작을 제거함에 의해 인코더에 의해 행해지는 연산의 총수를 줄일 수 있다. 관련된 실시예에 따르면, 다른 이점들중에서, 비디오 인코더 실현의 감소된 복잡성은 시스템 비용의 감소에 또한 기여할 수 있다.
관련된 실시예에 따르면, 인코더에서 리던던트 양자화 동작은 양자화기가 논-제로 계수를 산출하는 여부에 대해 빠르고 효율적인 체크를 수행하는 양자화 이전에 새로운 함수 블럭을 도입함에 의해 제거될 수 있다. 이런 연산상의 감소는 새로운 함수 블럭이 양자화기 함수 보다 상당히 덜 복잡하다는 사실로부터 일어난다.
도 1은 일 실시예에 따르는 본 발명에서 사용되는 비디오 압축 시스템(100)의 예시적인 블럭도이다. 비디오 압축 시스템(100)은 모션 추정 모듈(110), 모션 보상 모듈(115), 가산기(120), DCT 모듈(125), 양자화기(130), 스캔 모듈 또는 스캐너(135), VLC 인코더(140), 역 양자화기(145), 역DCT(IDCT)(150), 다른 가산기(155), 및 이전 프레임 회로(160)를 포함할 수 있다.
동작시, 모션 추정은 하나 이상의 이전에 처리된 이미지 프레임을 이용하여 현 이미지로부터 이미지 데이터의 블럭에 대해 연산된다. 모션 추정 회로(110)는 처리된 블럭에 대응하는 모션 벡터를 출력한다. 모션 보상 회로(115)는 연산된 모션 벡터를 이용하여 이전 프레임으로부터 예측 블럭을 형성한다. 가산기(120)는 현 이미지 프레임으로부터 예측된 이미지 데이터를 차감함에 의해 차이 이미지를 연산한다. 이런 차이 이미지는 DCT(125)를 이용하여 변환된다. DCT 계수는 양자화기(125)에 의해 감소 정확도에 연속적으로 종속한다. 양자화기(130)는 수많은 손실을 도입하는 동안 압축을 증가시킨다. 스캐너(135)는 지그재그 형태로 양자화된 DCT 계수를 스캐닝한다. 스캐닝된 DCT 계수는 VLC 인코더(140)에 의해 인코딩되고, 모션 벡터와 함께 압축 비디오 비트스트림으로 전송된다. 로컬 재구성 루프는 역 양자화기(145), IDCT(150), 및 가산기(155)로 이루어진다. 역 양자화기(145)는 DCT 계수를 재구성한다. IDCT(150)는 DCT 계수를 공간 도메인으로 다시 변환하여 양자화된 차이 이미지를 형성한다. 최종 재구성 프레임은 모션 보상 데이터를 양자화된 차이 이미지에 부가함에 의해 가산기(155)에 의해 연산된다. 이런 재구성된 데이터는 연속적인 이미지 프레임을 처리하기 위한 이전 프레임 모듈(160)에서 사용을 위해 저장된다.
도 2는 바람직한 실시예에 따르는 비디오 압축 시스템(100)용 블럭 인코딩 시스템(200)의 예시적인 블럭도이다. 블럭 인코딩 시스템(200)은 양자화기(130), 스캐너(135) 및 VLC 인코더(140) 앞에 위치하는 체크 양자화 요구 모듈(210)을 포함한다. 블럭 인코딩 시스템(200)은 비디오 압축 시스템(100)에서 양자화기(130), 스캐너(135) 및 VLC 인코더(140)에 통합된다. 동작시, 체크 양자화 요구 모듈(210)은 DCT(125) 출력이 논-제로 계수를 생성하는지 결정하기 위해 빠른 체크를 수행한다.
체크 양자화 요구 모듈(210)을 구현하는 여러 가능한 실시예가 있다. 가장 효율적인 실시예는 인코더가 실행중인 실제 플랫폼에 의존할 수 있다. 모든 실시예에서, 체크 양자화 요구 모듈(210)은 크기가 임계치 THRESH 보다 큰 DCT 계수가 존재하는지를 결정한다.
THRESH의 값은 양자화 스텝 크기 및 양자화 알고리즘의 함수일 수 있다. 바람직한 실시예에서는 적어도 2가지 타입의 양자화 알고리즘이 있다: 노멀 및 데드존 양자화 알고리즘.
노멀 양자화 알고리즘은 각 DCT 계수에 대한 동작의 다음 스텝들을 수행할 수 있다:
SGN = Sign(COEF[i])
ABSVAL = Abs(COEF[i])
QCOEF[i] = SGN*(ABSVAL/(2*Q))
여기서, 명시된 DCT 계수는 COEF[i];1 = 0,1,...63이고,
Q는 양자화 스텝 크기를 명시하며,
양자화 모듈(130)의 출력은 QCOEF[i]로 명시된다.
함수 Sign()는 입력이 0과 동일한지, 0보다 크거나 또는 작은지에 따라 0, 1 또는 -1의 값을 산출한다.
데드존 양자화 알고리즘은 다음의 동작 세트에 의해 수행될 수 있다:
SGN = Sign(COEF[i])
ABSVAL = Abs(Abs(COEF[i])-Q/4)
QCOEF[i] = SGN*(ABSVAL/(2*Q))
노멀 양자화에서는, THRESH =(2*Q-1)이며, 여기서 Q는 양자화 스텝 크기이다. 데드존 양자화에서는, THRESH =(2*Q+Q/4-1)이다.
적어도 하나의 계수가 THRESH의 값과 동일하거나 초과하는지를 체크하기 위한 함수에 대한 가능한 실시예가 많이 있다. 예컨대,
실시예 1;
MAXCOEF = 0
For i = 0 to 63
If(Abs(COEF[i])>MAXCOEF)
MAXCOEF = COEF[i]
Endif
End
If(MAXCOEF>THRESH)
CBP = 1
Else
CBP = 0
Endif
실시예 2:
CBP = 0
For i = 0 to 63
If(Abs(COEF[i])>THRESH)
CBP = 1
Break out of the FOR loop
Endif
End
크기가 임계치 보다 큰 적어도 하나의 계수가 존재하는지를 결정하는 실시예의 변형이 있을 수 있지만, 원리는 동일하다.
도 3은 일 실시예에 따르는 체크 양자화 요구 모듈(210)의 동작을 설명하는 예시적인 순서도(300)이다. 스텝 310에서, 순서도가 개시한다. 스텝 320에서, 체크 양자화 요구 모듈(210)은 변환된 비디오 블럭 데이터 계수를 수신한다. 스텝 330에서, 체크 양자화 요구 모듈(210)은 임계치를 결정한다. 예컨대, 체크 양자화 요구 모듈(210)은 저장된 임계치를 검색하고, 임계치를 연산하며, 임계치 입력을 수신함에 의해 임계치를 결정하거나, 또는 임의의 다른 유용한 수단에 의해 임계치를 결정한다. 스텝 340에서, 체크 양자화 요구 모듈(210)은 적어도 하나의 변환된 비디오 블럭 데이터 계수의 크기가 임계치 보다 큰지를 결정한다. 크다면, 체크 양자화 요구 모듈(210)은 스텝 350으로 진행한다. 크지 않다면, 체크 양자화 요구 모듈(210)는 스텝 360으로 진행한다. 스텝 350에서, 체크 양자화 요구 모듈(210)는 변환된 비디오 블럭 데이터를 추가 압축 회로에 전송한다. 스텝 360에서, 체크 양자화 요구 모듈(210)는 양자화기(130)와 같은 추가 압축 회로를 우회한다. 스텝 370에서, 순서도는 종료한다.
따라서, 일 실시예에 따르면, 본 발명은 비디오 압축 시스템(100)과 같은 비디오 인코더 시스템에서 연산 복잡성을 감소시키는 방법을 제공한다. 이 방법은 변환된 비디오 블럭 데이터 계수를 수신하는 단계와, 임계치를 설정하는 단계와, 적어도 하나의 변환된 비디오 블럭 데이터 계수의 크기가 임계치 보다 큰지를 결정하는 단계와, 변환된 비디오 블럭 데이터 계수의 크기가 임계치 보다 크지 않다면 연속적인 압축 함수를 우회하는 단계를 포함한다. 이 방법은 또한 비디오 블럭 데이터 계수를 발생시키기 위하여 비디오 블럭 데이터상에서 DCT를 수행하는 단계를 포함한다.
적어도 하나의 변환된 비디오 블럭 데이터 계수의 크기가 임계치 보다 큰지를 결정하는 스텝은 계수의 크기를 이전 계수의 크기의 최대값과 반복적으로 비교하는 단계와, 계수 크기가 이전 계수 크기의 최대값보다 큰 경우 최대값으로서 계수 크기를 설정하는 단계와, 최대값이 임계치 보다 큰지를 결정하는 단계를 포함한다. 적어도 하나의 변환된 비디오 블럭 데이터 계수의 크기가 임계치보다 더 큰지의 여부를 판정하는 단계는 변환된 비디오 블럭 데이터 계수의 크기 각각을 임계치에 대해 반복적인 비교를 수행하기 시작하여, 하나의 변환된 비디오 블럭 데이터 계수의 크기의 절대치가 임계치를 초과할 때 반복적인 비교를 종료하는 단계를 더 포함할 수 있다. 하나의 변환된 비디오 블럭 데이터 계수의 크기가 임계치보다 더 큰 경우에 후속 압축 함수를 수행하는 단계는 변환된 비디오 블럭 데이터 계수를 양자화하는 단계를 더 포함할 수 있다. 적어도 하나의 변환된 비디오 블럭 데이터 계수의 크기가 임계치보다 더 큰 경우 후속 압축 함수를 수행하는 단계는 변환된 비디오 블럭 데이터 계수를 스캐닝하는 단계를 더 포함할 수 있다.
적어도 하나의 변환된 비디오 블럭 데이터 계수의 크기가 임계치보다 더 큰 경우 후속 압축 함수를 수행하는 단계는 변환된 비디오 블럭 데이터 계수들을 양자화하여 양자화된 변환된 비디오 블럭 데이터 계수들을 생성하고, 이 양자화된 변환된 비디오 블럭 데이터 계수들을 스캐닝하여 스캐닝된 양자화된 변환된 비디오 블럭 데이터 계수들을 생성하며, 이 스캐닝된 양자화된 변환된 비디오 블럭 데이터 계수들을 가변 길이 코드 인코딩하는 단계를 포함할 수 있다. 임계치를 설정하는 단계는 임계치를, 노멀 양자화 알고리즘의 이용에 기초하여 1 마이너스 대략 2배의 양자화 스텝 크기로 설정하거나, 데드존 양자화 알고리즘의 이용에 기초하여 1에서 대략 1/4 양자화 스텝 크기 플러스 대략 2배의 양자화 스텝 크기를 뺀 값으로 설정하거나, 임의의 다른 유용한 임계치로 설정할 수 있다.
도 4는 일 실시예에 따른 체크 양자화 요구 모듈(210)의 예시적인 블럭도이다. 체크 양자화 요구 모듈(210)은 임계치 모듈(410), 변환된 비디오 블럭 데이터 대 임계치 비교 모듈(420), 양자화 바이패스 결정 모듈(430)을 포함할 수 있다. 임계치 모듈(410)은 임계치를 저장할 수 있고, 임계치를 연산할 수 있으며, 임계치 입력을 수신할 수 있거나, 임의의 다른 유용한 방식으로 임계치를 취득할 수 있다.
변환된 비디오 블럭 데이터 대 임계치 비교 모듈(420)은 이전 계수의 크기의 최대치에 대해 계수의 크기를 반복적으로 비교하여, 만일 계수의 크기가 이전 계수의 크기의 최대치보다 더 큰 경우 계수의 크기를 최대치로서 설정하고, 만일 최대 계수의 크기가 임계치보다 더 큰지의 여부를 판정하도록 구성될 수 있다. 변환된 비디오 블럭 데이터 대 임계치 비교 모듈(420)은 또한 임계치에 대해 변환된 비디오 블럭 데이터 계수의 크기 각각의 반복적인 비교를 수행하기 시작하여 하나의 변환된 비디오 블럭 데이터 계수의 절대치가 임계치를 초과할 때 반복적인 비교를 종료하도록 구성될 수 있다.
일 실시예에 따르면, 연산의 간소화는 상당히 현저하다. 예를 들면, 체크 양자화 요구 모듈(210)에서의 동작 수는 양자화기(130)보다 수회 더 낮을 수 있다. 예를 들면, 다음 파라미터들을 가지고 본 케이스를 고려하자.
블럭들의 75%는 코딩되지 않는다(CBP = 0).
체크 양자화 요구 모듈은 블럭 당 N개의 동작을 행한다.
양자화기는 블럭 당 4N개의 동작을 취한다(4회).
초당 처리되어야 하는 블럭들이 10000개가 있다.
체크 양자화 요구 모듈(210)없이, 초당 요구되는 동작 수는 40000*N이다. 체크 양자화 요구 모듈(210)을 이용함으로써, 요구되는 동작은 10000*N+0.25*N*10000 = 20000*N이다.
따라서, 본 예에서는 50% 줄일 수 있다.
다른 실시예에 따르면, 본 출원은 이동 통신 디바이스, 핸드헬드 디바이스 등에서 실시간 비디오 인코더에 결합될 수 있다. 따라서, 본 실시예는 비디오 인코더 시스템(100)내의 연산의 복잡성을 감소시키기 위한 장치를 포함하는 이동 통신 디바이스를 제공할 수 있다. 본 장치는 변환된 비디오 데이터 블럭 계수들을 생성하도록 구성된 비디오 데이터 블럭 계수 변환기(125), 및 비디오 데이터 블럭 계수 변환기(125)에 결합되며, 양자화 바이패스 회로를 포함하는 체크 양자화 요구 모듈(210), 및 체크 양자화 요구 모듈(210)에 결합된 양자화기(130)를 포함할 수 있다. 체크 양자화 요구 모듈(210)은 임계치 모듈(510), 변환된 비디오 블럭 데이터 대 임계치 비교 모듈(520), 및 양자화 바이패스 결정 모듈(530)을 포함할 수 있다. 체크 양자화 요구 모듈(210)은 적어도 하나의 변환된 비디오 데이터 블럭 계수가 임계치와 동일하며 이보다 더 큰 적어도 하나가 있는지 판정하도록 구성될 수 있다.
본 발명의 방법은 프로그램된 프로세서상에 수행되는 것이 바람직하다. 그러나, 비디오 압축 시스템(100), 체크 양자화 요구 모듈(210) 및 다른 구성요소들은 또한 범용 또는 특수 목적의 컴퓨터, 프로그램된 마이크로프로세서 또는 마이크로컨트롤러 및 주변 집적 회로 소자, ASIC 또는 다른 집적 회로, 개별 소자 회로와 같은 하드웨어 전자 또는 로직 회로, PLD, PLA, FPGA 또는 PAL 등과 같은 프로그램가능한 로직 디바이스상에 수행될 수도 있다. 일반적으로, 도면들에 나타난 플로우챠트를 수행할 수 있는 유한 상태 머신에 존재하는 임의의 디바이스 및 기술된 방법은 본 발명의 프로세서 기능을 수행하는데 사용될 수도 있다.
본 발명이 특정 실시예로 기술되었지만, 수많은 대안, 변형 및 변경이 본 분야의 숙련된 자들에게 명백하게 될 것이라는 것이 명확하다. 예를 들면, 본 실시예의 다양한 컴포넌트들은 다른 실시예에서 상호변경, 부가 또는 대체될 수도 있다. 따라서, 본 명세서에서 설정된 바와 같은 본 발명의 바람직한 실시예들은 설명을 위한 것으로서 제한을 위한 것은 아니다. 본 발명의 기술적 사상 및 범위로부터 동떨어짐없이 다양한 변경이 이루어 질 수 있다.

Claims (22)

  1. 비디오 인코더 시스템에서 연산의 복잡성을 감소시키기 위한 방법에 있어서,
    변환된 비디오 블럭 데이터 계수를 수신하는 단계;
    임계치를 설정하는 단계;
    적어도 하나의 변환된 비디오 블럭 데이터 계수의 크기가 임계치보다 큰지를 결정하는 단계;
    상기 적어도 하나의 변환된 비디오 블럭 데이터 계수의 크기가 임계치보다 크다면 후속 압축 함수를 수행하는 단계; 및
    상기 변환된 비디오 블럭 데이터 계수의 크기 중 어느 것도 임계치보다 크지 않다면 연속적인 압축 함수를 우회(bypass)시키는 단계를 포함하는 것을 특징으로 하는 방법.
  2. 제1항에 있어서, 비디오 블럭 데이터에 대해 개별 코사인 변환을 수행하여 비디오 블럭 데이터 계수들을 생성하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  3. 제1항에 있어서, 적어도 하나의 변환된 비디오 블럭 데이터 계수의 크기가 임계치보다 더 큰지를 결정하는 단계는,
    이전 계수의 크기의 최대치에 대해 계수의 크기를 반복적으로 비교하는 단계;
    상기 계수의 크기가 상기 이전 계수의 크기의 최대치보다 더 크다면 상기 계수의 크기를 최대치로서 설정하는 단계; 및
    상기 최대치 계수의 크기가 임계치보다 큰지를 결정하는 단계를 포함하는 것을 특징으로 하는 방법.
  4. 제1항에 있어서, 적어도 하나의 변환된 비디오 블럭 데이터 계수의 크기가 상기 임계치보다 더 큰지를 결정하는 단계는,
    임계치에 대해 상기 변환된 비디오 데이터 블럭 데이터 계수의 크기들 각각을 반복적으로 비교하기 시작하는 단계; 및
    하나의 변환된 비디오 블럭 데이터 계수의 절대치가 임계치를 초과할 때 상술한 반복 비교를 종료하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  5. 제1항에 있어서, 상기 적어도 하나의 변환된 비디오 블럭 데이터 계수의 크기가 상기 임계치보다 더 크다면 연속적인 압축 함수를 수행하는 상기 단계는 상기 변환된 비디오 블럭 데이터 계수를 양자화하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  6. 제1항에 있어서, 상기 적어도 하나의 변환된 비디오 블럭 데이터 계수의 크기가 상기 임계치보다 더 크다면 연속적인 압축 함수를 수행하는 상기 단계는 상기 변환된 비디오 블럭 데이터 계수들을 스캐닝하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  7. 제1항에 있어서, 상기 적어도 하나의 변환된 비디오 블럭 데이터 계수의 크기가 상기 임계치보다 더 크다면 연속적인 압축 함수를 수행하는 상기 단계는,
    상기 변환된 비디오 블럭 데이터 계수들을 양자화하여 양자화된 변환된 비디오 블럭 데이터 계수들을 생성하는 단계;
    상기 양자화된 변환된 비디오 블럭 데이터 계수들을 스캐닝하여 스캐닝된 양자화된 변환된 비디오 블럭 데이터 계수들을 생성하는 단계; 및
    상기 스캐닝된 양자화된 변환된 비디오 블럭 데이터 계수들을 가변 길이 코드 인코딩하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  8. 제1항에 있어서, 상기 임계치를 설정하는 단계는 상기 임계치를 1에서 약 2배의 양자화 스텝 사이즈를 감한 값으로 설정하는 것을 특징으로 하는 방법.
  9. 제8항에 있어서, 상기 임계치를 설정하는 단계는 상기 임계치를, 노멀 양자화 알고리즘의 이용에 기초하여 1에서 약 2배의 양자화 스텝 사이즈를 감한 값으로 설정하는 것을 특징으로 하는 방법.
  10. 제1항에 있어서, 상기 임계치를 설정하는 단계는 1에서 약 1/4 양자화 스텝 사이즈 플러스 약 2배의 양자화 스텝 사이즈를 감한 값으로 설정하는 것을 특징으로 하는 방법.
  11. 제10항에 있어서, 상기 임계치를 설정하는 단계는 데드존 양자화 알고리즘의 이용에 기초하여 1에서 약 1/4 양자화 스텝 사이즈 플러스 약 2배의 양자화 스텝 사이즈를 감한 값으로 설정하는 것을 특징으로 하는 방법.
  12. 제1항에 있어서, 상기 적어도 하나의 변환된 비디오 블럭 데이터 계수의 크기가 임계치보다 더 크다면 연속적인 압축 함수들을 수행하는 단계는,
    상기 변환된 비디오 블럭 데이터 계수들을 스캐닝하여 스캐닝된 양자화된 변환된 비디오 블럭 데이터 계수들을 생성하는 단계;
    상기 스캐닝된 변환된 비디오 블럭 데이터 계수들을 양자화하여 양자화된 변환된 비디오 블럭 데이터 계수들을 생성하는 단계; 및
    상기 양자화된 스캐닝된 변환된 비디오 블럭 데이터 계수들을 가변 길이 인코딩하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  13. 비디오 인코더 장치에 있어서,
    비디오 데이터 블럭 계수 변환기;
    상기 비디오 데이터 블럭 계수 변환기에 결합된 체크 양자화 요구 모듈; 및
    상기 체크 양자화 요구 모듈에 결합된 양자화기를 포함하는 것을 특징으로 하는 비디오 인코더 장치.
  14. 제13항에 있어서, 상기 체크 양자화 요구 모듈은 양자화 바이패스 모듈을 포함하는 것을 특징으로 하는 비디오 인코더 장치.
  15. 제13항에 있어서, 상기 체크 양자화 요구 모듈은
    임계치 모듈;
    변환된 비디오 블럭 데이터 대 임계치 비교 모듈; 및
    양자화 바이패스 결정 모듈을 포함하는 것을 특징으로 하는 비디오 인코더 장치.
  16. 제15항에 있어서, 상기 변환된 비디오 블럭 데이터 대 임계치 비교 모듈은
    이전 계수의 크기의 최대치에 대해 계수의 크기를 반복적으로 비교하고,
    상기 계수의 크기가 상기 이전 계수의 크기의 최대치보다 더 크다면 상기 계수의 크기를 최대치로서 설정하며,
    상기 최대치 계수의 크기가 임계치보다 더 큰지를 결정하도록 구성되는 것을 특징으로 하는 비디오 인코더 장치.
  17. 제15항에 있어서, 상기 변환된 비디오 블럭 데이터 대 임계치 비교 모듈은
    임계치에 대해 상기 변환된 비디오 데이터 블럭 데이터 계수의 크기들 각각을 반복적으로 비교하기 시작하여,
    하나의 변환된 비디오 블럭 데이터 계수의 절대치가 임계치를 초과할 때 상술한 반복 비교를 종료하도록 구성된 것을 특징으로 하는 비디오 인코더 장치.
  18. 제13항에 있어서, 상기 비디오 데이터 블럭 계수 변환기는 개별 코사인 변환 모듈을 포함하는 것을 특징으로 하는 비디오 인코더 장치.
  19. 제13항에 있어서, 상기 체크 양자화 요구 모듈 및 양자화기 사이에 결합된 스캐너를 더 포함하는 것을 특징으로 하는 비디오 인코더 장치.
  20. 제13항에 있어서,
    상기 양자화기에 결합된 스캐너 및
    상기 스캐너에 결합된 가변 길이 코드 인코더를 더 포함하는 것을 특징으로 하는 비디오 인코더 장치.
  21. 제13항에 있어서,
    현 이미지 블럭 입력을 포함하는 모션 추정 모듈; 및
    모션 추정 모듈과 상기 비디오 데이터 블럭 계수 변환기사이에 결합된 모션 보상 모듈을 더 포함하는 것을 특징으로 하는 비디오 인코더 장치.
  22. 제21항에 있어서, 상기 양자화기와 상기 모션 추정 모듈사이에 결합된 로컬 재구성 루프를 더 포함하는 것을 특징으로 하는 비디오 인코더 장치.
KR1020057002040A 2002-08-06 2003-07-25 비디오 인코더에서 연산 복잡성을 감소시키는 방법 및 장치 KR20050065517A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/213,704 US20040028127A1 (en) 2002-08-06 2002-08-06 Method and apparatus for reducing computational complexity in video encoders
US10/213,704 2002-08-06

Publications (1)

Publication Number Publication Date
KR20050065517A true KR20050065517A (ko) 2005-06-29

Family

ID=31494511

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020057002040A KR20050065517A (ko) 2002-08-06 2003-07-25 비디오 인코더에서 연산 복잡성을 감소시키는 방법 및 장치

Country Status (10)

Country Link
US (1) US20040028127A1 (ko)
EP (1) EP1540953A1 (ko)
KR (1) KR20050065517A (ko)
CN (1) CN1675929A (ko)
AU (1) AU2003254169A1 (ko)
MX (1) MXPA05001445A (ko)
RU (1) RU2005106276A (ko)
TW (1) TWI272848B (ko)
WO (1) WO2004014077A1 (ko)
ZA (1) ZA200500743B (ko)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7804789B2 (en) * 2004-03-18 2010-09-28 Tekelec Methods, systems, and computer program products for organizing, managing, and selectively distributing routing information in a signaling message routing node
EP1755341A1 (en) * 2005-08-19 2007-02-21 Texas Instruments Incorporated Method of quantization of transform coefficients
CN100459711C (zh) * 2005-09-09 2009-02-04 北京中星微电子有限公司 一种视频压缩方法及使用该方法的视频系统
US8725504B1 (en) 2007-06-06 2014-05-13 Nvidia Corporation Inverse quantization in audio decoding
US8654833B2 (en) 2007-09-26 2014-02-18 Qualcomm Incorporated Efficient transformation techniques for video coding
US8295342B2 (en) * 2007-11-14 2012-10-23 International Business Machines Corporation Method and system for efficient video compression with low-complexity encoder
US8704834B2 (en) * 2007-12-03 2014-04-22 Nvidia Corporation Synchronization of video input data streams and video output data streams
US8934539B2 (en) * 2007-12-03 2015-01-13 Nvidia Corporation Vector processor acceleration for media quantization
US8687875B2 (en) * 2007-12-03 2014-04-01 Nvidia Corporation Comparator based acceleration for media quantization
KR101375668B1 (ko) * 2008-03-17 2014-03-18 삼성전자주식회사 변환 계수의 부호화, 복호화 방법 및 장치
FR2939546B1 (fr) * 2008-12-05 2011-02-11 Thales Sa Procede et dispositif pour l'enfouissement d'une sequence binaire dans un flux video compresse
CN101656889B (zh) * 2009-06-22 2011-12-21 南京大学 一种高清视频实时压缩和编解码方法
CN103916620B (zh) * 2013-01-04 2017-06-20 中国移动通信集团公司 视频通话方法及装置、移动终端
CN109643456A (zh) 2016-06-17 2019-04-16 因默希弗机器人私人有限公司 图像压缩方法与设备
US11150857B2 (en) 2017-02-08 2021-10-19 Immersive Robotics Pty Ltd Antenna control for mobile device communication
AU2018373495B2 (en) * 2017-11-21 2023-01-05 Immersive Robotics Pty Ltd Frequency component selection for image compression
TW201926992A (zh) 2017-11-21 2019-07-01 澳大利亞商伊門斯機器人控股有限公司 用於數位實境之影像壓縮

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3245977B2 (ja) * 1992-06-30 2002-01-15 ソニー株式会社 ディジタル画像信号の伝送装置
JP3673664B2 (ja) * 1998-01-30 2005-07-20 キヤノン株式会社 データ処理装置、データ処理方法及び記憶媒体
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

Also Published As

Publication number Publication date
AU2003254169A1 (en) 2004-02-23
RU2005106276A (ru) 2005-11-10
TW200412800A (en) 2004-07-16
CN1675929A (zh) 2005-09-28
MXPA05001445A (es) 2005-06-03
EP1540953A1 (en) 2005-06-15
US20040028127A1 (en) 2004-02-12
WO2004014077A1 (en) 2004-02-12
TWI272848B (en) 2007-02-01
ZA200500743B (en) 2006-03-29

Similar Documents

Publication Publication Date Title
US5001559A (en) Transform coding using coefficient prediction techniques
KR20050065517A (ko) 비디오 인코더에서 연산 복잡성을 감소시키는 방법 및 장치
US5739863A (en) Selection of quantization step size in accordance with predicted quantization noise
US20110235718A1 (en) Nonlinear, prediction filter for hybrid video compression
KR20030014716A (ko) 미디어 프로세서에서 mpeg2 디코딩의 동적인 복잡도예측 및 조절
JPH09307904A (ja) 映像信号符号化システム用量子化器
US20070041653A1 (en) System and method of quantization
WO2002051160A2 (en) An approximate idct for scalable video decoding
Pao et al. Computation reduction for discrete cosine transform
EP1553781A2 (en) Method and apparatus for processing digital motion pictures by predicting motion compensation error using previous block.
US20050238241A1 (en) Image compression apparatus generating and using assistant images for deblocking processing and a method thereof
JPH0556416A (ja) フレーム間予測符号化装置のループ内フイルタ制御方式
Pandit et al. Pruned-AZB for reduced complexity block matching in video compression
JPH10336656A (ja) 画像符号化装置および方法
KR20030071920A (ko) Dct계산량을 감소시키는 동화상 부호화 방법 및 그 장치
KR20040014047A (ko) 이산여현변환 방법과 이를 이용한 영상압축방법
JP3532440B2 (ja) コサイン変換と量子化装置、影像圧縮装置の乗法演算節減方法、逆量子化と逆コサイン変換装置、及び影像減圧装置の乗法演算節減方法
JP3199786B2 (ja) 画像処理装置
JP3337699B2 (ja) 画像処理装置およびその方法
KR100196846B1 (ko) 영상 신호 부호화 장치
JP2003174649A (ja) 画像符号化装置及び画像符号化方法
KR100267374B1 (ko) 후단 1차원 이산여현변환(dct) 동작제어를 통한 전력소모를절감시키는 2차원 이산여현변환기(dct)
Ali et al. Performance comparison of motion estimation algorithms on digital video images
Jindal et al. Fast video coding at low bit-rates for mobile devices
Umnyashkin et al. An RD-optimized scheme for real-time video compression

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid