KR100949755B1 - 비디오 시퀀스의 레이트를 제어하는 방법 및 장치, 비디오부호화 장치 - Google Patents

비디오 시퀀스의 레이트를 제어하는 방법 및 장치, 비디오부호화 장치 Download PDF

Info

Publication number
KR100949755B1
KR100949755B1 KR1020057003830A KR20057003830A KR100949755B1 KR 100949755 B1 KR100949755 B1 KR 100949755B1 KR 1020057003830 A KR1020057003830 A KR 1020057003830A KR 20057003830 A KR20057003830 A KR 20057003830A KR 100949755 B1 KR100949755 B1 KR 100949755B1
Authority
KR
South Korea
Prior art keywords
frame
encoding
inter
rate
target
Prior art date
Application number
KR1020057003830A
Other languages
English (en)
Other versions
KR20050083672A (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 KR1020057003830A priority Critical patent/KR100949755B1/ko
Publication of KR20050083672A publication Critical patent/KR20050083672A/ko
Application granted granted Critical
Publication of KR100949755B1 publication Critical patent/KR100949755B1/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/146Data rate or code amount at the encoder output
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/156Availability of hardware or computational resources, e.g. encoding based on power-saving criteria

Abstract

비디오 시퀀스를 부호화하는 레이트를 제어하는 방법으로서, 상기 비디오 시퀀스는 복수의 화상 그룹을 포함하고, 각 화상 그룹은 적어도 I-프레임 및 인터-프레임을 포함하는 방법을 개시한다. 상기 레이트 제어 방법은 상기 화상 그룹의 인터-프레임의 부호화를 위해, 부호화 프로세스를 위한 이용가능한 계산 자원 및 상기 비디오 시퀀스를 전송하기 위한 이용가능한 채널 대역폭에 근거하여 요망되는 프레임률(frame rate)을 결정하는 단계, 상기 I-프레임에 대한 상기 인터-프레임의 위치 및 상기 요망되는 프레임률에 근거하여 타깃 버퍼 레벨을 결정하는 단계, 및 상기 이용가능한 채널 대역폭 및 상기 타깃 버퍼 레벨에 근거하여 타깃 비트율을 결정하는 단계로서, 상기 타깃 비트율은 상기 비디오 시퀀스를 부호화하는 레이트를 제어하는데 사용되는 단계를 포함한다.

Description

비디오 시퀀스의 레이트를 제어하는 방법 및 장치, 비디오 부호화 장치{A method and an apparatus for controlling the rate of a video sequence, a video encoding device}
본 발명은 이용가능한 채널 대역폭 및 계산 자원을 고려하여 비디오 시퀀스를 부호화하는 레이트를 제어하는 방법 및 장치 및 비디오 부호화 장치에 관한 것이다.
레이트(rate) 제어는 제한된 대역폭을 갖는 채널을 통한, 예를 들어 인터넷 또는 무선 네트워크를 통한 라이브 비디오(live video)의 부호화에 중요한 역할을 하고, 많은 연구원들에 의해 널리 연구되고 있다. 참고문헌 [1], [2], [3], [4]에 개시된 바와 같은 레이트 제어에 대한 현재의 결과는 계산 자원(computational resource)이 항상 충분하다는 가정에 근거한 것이고 따라서 요망되는 부호화 프레임률(frame rate)이 항상 보장된다. 여기서 계산 자원이라 함은 계산 시간, 소정의 과제의 해결에 필요한 단계들의 횟수, 및 메모리 공간, 즉 소정의 과제의 해결 동안 필요한 저장 공간을 지칭하는 것으로 본원출원전에 당업계에 널리 알려져 있는 용어이다.
하지만, 라이브 비디오가 멀티태스크 환경에서 소프트웨어를 이용하여 부호화되는 경우, 중앙 처리 장치(CPU; Central Processing Unit)의 그러한 계산 자원은 부호화 프로세스에 항상 충분한 것은 아닐 수 있다. 왜냐하면 중앙 처리 장치(CPU)의 그러한 계산 자원이 더 높은 우선순위를 갖는 다른 프로세스들에 의해 점유될 수 있다는 사실 때문이다. 실시간 비디오 부호화 시스템에 있어서, 부호화된 비트들은 버퍼에 저장된 후 네트워크를 통해 복호기에 전송된다. 불충분한 계산 자원이 부호화 프로세스에 할당되어 있는 경우, 실제 부호화 프레임률은 요망되는 프레임률보다 더 작고, 버퍼에 저장되는 생성된 비트의 수도 또한 적다. 그 결과, 이용가능한 채널 대역폭이 낭비된다. 이러한 현상은 비디오 부호화 프로세스가 제한된 계산 능력을 갖는 핸드헬드(handheld) 장치에서 구현되는 경우 특히 일반적이다.
또한, 대부분의 현재 레이트 제어 방법들은 비디오의 전송을 위한 이용가능한 채널 대역폭이 일정한 경우에 초점을 맞춘다. 하지만, 인터넷 또는 무선 네트워크와 같은 제한된 대역폭 채널을 통해 라이브 비디오가 전송되는 경우, 비디오의 전송을 위한 이용가능한 채널 대역폭은 일반적으로 시간에 따라 변한다. 상기 이용가능한 채널 대역폭이 감소하는 경우, 버퍼내의 비트들의 수는 증가한다. 버퍼내의 비트들의 수가 너무 큰 경우, 부호기는 일반적으로 버퍼 지연을 줄이고 버퍼 오버플로우(buffer overflow)를 피하기 위하여 몇몇 프레임들을 스킵(skip)한다. 프레임 스키핑(skipping)은 비디오 시퀀스에서의 바람직하지 않은 움직임 불연속을 야기한다.
참고문헌 [5]의 최근 교시는 부호화 레이트를 가변적인 이용가능한 대역폭에 적합하게 할 수 있는 레이트 제어 방법을 개시한다. 상기 레이트 제어 방법은 유체 흐름 모델(fluid-flow model)을 이용하여 비디오 시퀀스의 각 프레임에 대한 타깃 비트율을 계산한다. 하지만, 참고문헌 [5]에 개시된 바와 같은 레이트 제어 방법은 상기 이용가능한 계산 자원을 고려하지 않는다. 또한, 각 화상 그룹(GOP; Group of Picture)에 할당된 전체 비트 수가 GOP의 각 P 프레임에 균등하게 분배된다. 여기서 계산 자원이라 함은 계산 시간, 소정의 과제의 해결에 필요한 단계들의 횟수, 및 메모리 공간, 즉 소정의 과제의 해결 동안 필요한 저장 공간을 지칭하는 것으로 본원출원전에 당업계에 널리 알려져 있는 용어이다.
본 발명의 목적은 가변적인 계산 자원 및 가변적인 이용가능한 대역폭을 갖는 라이브 비디오 부호화 프로세스에 적합한 레이트 제어 방법을 제공하는 것이다.
상기 목적은 비디오 시퀀스를 부호화하는 레이트를 제어하는 방법으로서, 상기 비디오 시퀀스는 복수의 화상 그룹(GOP; Group Of Picture)을 포함하고, 각 화상 그룹은 적어도 I-프레임 및 인터-프레임을 포함하는 방법에 있어서, 상기 화상 그룹의 각 인터-프레임의 부호화를 위해 부호화 프로세스를 위한 이용가능한 계산 자원 및 상기 비디오 시퀀스를 전송하기 위한 이용가능한 채널 대역폭에 근거하여 요망되는 프레임률(frame rate)을 결정하는 단계, 상기 I-프레임에 대한 상기 인터-프레임의 위치 및 상기 요망되는 프레임률에 근거하여 타깃 버퍼 레벨을 결정하는 단계, 및 상기 이용가능한 채널 대역폭 및 상기 타깃 버퍼 레벨에 근거하여 타깃 비트율을 결정하는 단계로서, 상기 타깃 비트율은 상기 비디오 시퀀스를 부호화하는 레이트를 제어하는데 사용되는 단계를 포함하는 것을 특징으로 하는 레이트 제어 방법에 의해 달성된다.
비디오 시퀀스의 GOP는 하나의 I-프레임(인트라-프레임(Intra-frame), 즉 움직임 추정(motion estimation) 및 움직임 보상(motion compensation)을 수행하지 않고 완전하게 부호화되는 프레임) 및 인터-프레임(Inter-frame)으로서 복수의 P-프레임들(예측-프레임(Predictive-frame), 즉 움직임 추정 및 움직임 보상을 이용하여 부호화되는 프레임) 또는 B-프레임들(양방향-프레임(Bidirectional-frame), 즉 2개의 인접한 인트라-프레임들로부터 움직임 추정 및 움직임 보상을 이용하여 부호화되는 프레임)을 포함하는 것으로 가정한다. 복잡도에 근거하여 비트들이 I-프레임에 할당되고, 본 발명에 따른 레이트 제어 방법을 이용하여 각 인터-프레임, 바람직하기로는 각 P-프레임에 비트들이 할당된다.
비록 레이트 제어 방법, 특히 타깃 버퍼 레벨 및 대응하는 타깃 비트율의 결정이 바람직하기로는 GOP들의 P-프레임들에 대해 수행된다 하더라도, 본 발명에 따른 레이트 제어 방법은 또한 B-프레임들에 대해 수행될 수 있다는 것을 유념해야 한다.
인터-프레임, 바람직하기로는 P-프레임을 부호화하는 경우, 부호화 프로세스를 위한 이용가능한 계산 자원 및 이용가능한 채널 대역폭에 근거하여 요망되는 프레임률이 우선 결정된다. 요망되는 프레임률은 고정되어있지 않고, 상기 이용가능한 계산 자원 및 이용가능한 채널 대역폭에 의존하여 각 인터-프레임에 대해 적합하게 변한다.
상기 이용가능한 계산 자원이 요망되는 프레임률을 달성하는데 불충분한 경우, 부호기 버퍼에 축적된 부호화된 비트들이 적어지고, 버퍼 언더플로우(underflow) 및 채널 대역폭의 낭비를 초래한다. 따라서 부호화 프로세스를 위한 이용가능한 계산 자원을 고려함으로써 버퍼 언더플로우를 방지하도록 타깃 버퍼 레벨이 미리 정의된다. 여기서 계산 자원이라 함은 계산 시간, 소정의 과제의 해결에 필요한 단계들의 횟수, 및 메모리 공간, 즉 소정의 과제의 해결 동안 필요한 저장 공간을 지칭하는 것으로 본원출원전에 당업계에 널리 알려져 있는 용어이다.
타깃 버퍼 레벨은 GOP에 할당되는 전체 비트 수가 얼마나 상기 GOP의 각 인터-프레임(바람직하기로는 P-프레임)에 분배되는 지를, 다시 말하면, 각 인터-프레임에 대한 예산(budget)을 정의한다. 하지만, 일반적으로 각 인터-프레임의 예산 및 각 인터-프레임에 의해 사용되는 실제 비트들 간에 차이가 있다. 각 인터-프레임, 결과적으로는 각 GOP가 자신의 예산을 사용하도록 보장하기 위하여, 각 인터-프레임에 대한 타깃 비트율이 계산된다. 상기 타깃 비트율은 유체 흐름 모델(fluid flow model) 및 선형 시스템 제어 이론을 이용하고, 상기 타깃 버퍼 레벨 및 이용가능한 채널 대역폭을 고려하여 계산된다.
요망되는 프레임률은 인터-프레임, 바람직하기로는 P-프레임에 대한 타깃 부호화 시간 간격, 즉 인터-프레임을 부호화하는데 필요한 시간을 결정함으로써 결정된다. 상기 타깃 부호화 시간은 요망되는 프레임률에 반비례하고, 상기 이용가능한 대역폭에 근거하여 또한 바람직하기로는 평균 부호화 시간에 근거하여 결정된다. 인터-프레임을 부호화하기 위한 평균 부호화 시간 간격은 상기 계산 자원에 비례하므로 결국 상기 이용가능한 계산 자원을 나타낸다. 상기 이용가능한 대역폭은 참고문헌 [6]에 개시된 방법을 이용하여 추정될 수 있다. 여기서 계산 자원이라 함은 계산 시간, 소정의 과제의 해결에 필요한 단계들의 횟수, 및 메모리 공간, 즉 소정의 과제의 해결 동안 필요한 저장 공간을 지칭하는 것으로 본원출원전에 당업계에 널리 알려져 있는 용어이다.
상기 인터-프레임을 부호화하기 위한 타깃 부호화 시간 간격은 다음 수학식을 이용하여 결정된다.
Tfi(n) = A1 * Tfi(n-1) Bmad(n)>B1 * TBmad(n)인 경우,
Tfi(n) = A2 * Tfi(n-1) Bmad(n)<B2 * TBmad(n)인 경우,
Tfi(n) = Tfi(n-1) 그 외의 경우.
여기서, *는 당업계에 알려져 있는 콘볼루션(convolution) 연산자이며, 이하에서는, 콘볼루션 연산자를 지칭할 경우 "*"로 언급하기로 하며,
Tfi(n)은 인터-프레임을 부호화하는데 필요한 타깃 시간 또는 타깃 부호화 시간 간격이고,
A1은 0.80 < A1 < 1.00인 매개변수이며,
A2는 1.00 < A2 < 1.10인 매개변수이고,
B1은 1.00 < B1 < 2.00인 매개변수이며,
B2는 0 < B2 < 1.00인 매개변수이고,
TBmad(n)는 Bmad(n)의 평균이며,
Bmad(n)은 다음 수학식에 의해 평균 부호화 시간 간격(Tave)에 관련된다.
Figure 112005011709119-pct00001
여기서, u(n)은 이용가능한 채널 대역폭이고,
Tave(n-1)는 인터-프레임에 대한 평균 부호화 시간 간격이며,
MAD(n)는 현재 프레임 및 이전 프레임 간의 평균 절대차(mean absolute difference)이다. 이하에서는, 현재 프레임을 지칭할 경우 "n"으로 언급하기로 하며 이전 프레임을 지칭할 경우 "n-1"로 언급하기로 한다.
본 발명에 따라, A1은 바람직하기로는 0.9로 설정되고, A2는 바람직하기로는 1.05로 설정되며, B1은 바람직하기로는 1.5로 설정되고, B2는 바람직하기로는 0.25로 설정된다.
획득된 타깃 부호화 시간 간격(Tfi(n))의 값은 바람직하기로는 추가로 다음 수학식을 이용하여 조절된다.
Figure 112005011709119-pct00002
타깃 부호화 시간 간격(Tfi(n))은 요망되는 프레임률에 반비례한다.
평균 부호화 시간 간격은 인터-프레임을 부호화하기 위한 실제 부호화 시간 간격, 버퍼 오버플로우(buffer overflow)로 인하여 스킵된(skipped) 프레임들의 수 및 타깃 부호화 시간 간격에 대한 정보를 이용하여 결정된다.
평균 부호화 시간 간격은 다음 수학식을 이용하여 결정된다.
Figure 112009059198937-pct00090
여기서, Tave(n)은 상기 인터-프레임을 부호화하기 위한 평균 부호화 시간 간격이며,
Figure 112009059198937-pct00091
는 웨이팅 팩터(weighting factor)이고,
Tc(n)는 상기 인터-프레임을 부호화하기 위한 실제 시간이며,
Fr은 미리 정의된 프레임률이고,
RTst는 추가로 다음과 같이 정의된다.
Figure 112009059198937-pct00005
또는
Figure 112009059198937-pct00092
인 경우에는 RTst(n) = 0,
Figure 112009059198937-pct00093
또는
Figure 112009059198937-pct00094
인 경우에는
Figure 112005011709119-pct00006
여기서, Npost(n)은 버퍼 오버플로우로 인하여 스킵된 프레임들의 수이고,
Figure 112005011709119-pct00007
는 a보다 작은 가장 큰 정수를 나타낸다.
Tfi(n)를 계산하기 위한 슬라이딩 윈도우(sliding window) 기반 방법의 이용은 전체 부호화 프로세스의 전반적인 성능에 대한 버스트 노이즈(burst noise) 영향을 감소시키는 장점이 있다.
본 발명에 따라 요망되는 프레임률을 조절하는 간단한 방법은 지각에 의한 움직임 부드러움(motion smoothness)에서의 명백한 성능저하없이 시간에 따라 변하는 채널 대역폭 및 돌발 움직임 변화에서 허용가능한 범위내에 인터-프레임의 품질을 유지할 수 있다.
요망되는 프레임률은 평균 부호화 시간 간격(Tave(n))에 대한 정보를 이용하여, 결과적으로는 상기 이용가능한 계산 자원에 근거하여 결정된다. 여기서 계산 자원이라 함은 계산 시간, 소정의 과제의 해결에 필요한 단계들의 횟수, 및 메모리 공간, 즉 소정의 과제의 해결 동안 필요한 저장 공간을 지칭하는 것으로 본원출원전에 당업계에 널리 알려져 있는 용어이다.
각 GOP에 있어서, 각 프레임의 타깃 버퍼 레벨은 화상 그룹(GOP)에 속하는 I-프레임으로부터 더 멀리 있는 인터-프레임보다 동일한 GOP의 I-프레임에 더 인접한 인터-프레임, 바람직하기로는 P-프레임에 더 많은 비트들이 할당되는 그러한 방식으로 미리 정의된다. 이러한 방식으로, I-프레임에 인접한 인터-프레임들이 고품질로 부호화되고, 상기 고품질 인터-프레임들로부터 예측된 다음 인터-프레임들이 또한 고품질이 된다. 그 결과, 상기 인터-프레임들에 근거한 예측 이득이 개선된다.
인터-프레임에 대한 타깃 버퍼 레벨은 미리 정의되고 다음 수학식을 이용하여 결정된다.
Figure 112005011709119-pct00008
여기서, Target(n)은 타깃 버퍼 레벨이고,
Ngop는 GOP내의 프레임들의 수이며,
Bs는 버퍼 크기이고,
Bc는 I-프레임의 부호화 이후에 실제 버퍼 점유율(occupancy)이며,
Sc는 요망되는 프레임률에 따라 인터-프레임을 부호화하기 위한 불충분한 계산 자원으로 인하여 스킵된 프레임들의 평균 수이고,
δ는 0≤δ≤0.5로 정의되는 매개변수이며,
Wpos(l)은
Figure 112005011709119-pct00009
Figure 112005011709119-pct00010
을 충족시키는 l번째 인터-프레임의 위치 웨이트(position weight)이다.
불충분한 계산 자원으로 인하여 스킵된 프레임들의 평균 수는 인터-프레임을 부호화하는 경우 불충분한 계산 자원으로 인하여 스킵된 프레임들의 순간 수(
Figure 112005011709119-pct00011
)에 근거하여 결정된다. 불충분한 계산 자원으로 인하여 스킵된 프레임들의 순간 수는 실제 부호화 시간 간격 및 타깃 부호화 시간 간격에 대한 정보를 이용하여 결정된다. 불충분한 계산 자원으로 인하여 스킵된 프레임들의 순간 수의 결정은 다음 수학식을 이용하여 요약될 수 있다.
Figure 112005011709119-pct00012
TST(n)은 추가로 다음과 같이 정의된다.
Figure 112005011709119-pct00013
Figure 112005011709119-pct00014
는 다음과 같이 정의된다.
Figure 112005011709119-pct00015
여기서, Tc(n)은 실제 부호화 시간 간격이며, Fr은 미리 정의된 프레임률이다.
불충분한 계산 자원으로 인하여 스킵된 프레임들의 평균 수는 다음 수학식을 이용하여 결정된다. 여기서 계산 자원이라 함은 계산 시간, 소정의 과제의 해결에 필요한 단계들의 횟수, 및 메모리 공간, 즉 소정의 과제의 해결 동안 필요한 저장 공간을 지칭하는 것으로 본원출원전에 당업계에 널리 알려져 있는 용어이다.
Figure 112005011709119-pct00016
여기서,
Figure 112005011709119-pct00017
는 웨이팅 팩터이다.
타깃 버퍼 레벨을 계산하기 위하여 스킵된 프레임들의 순간 수 대신에 스킵된 프레임들의 평균 수(Sc)를 이용하는 장점은 Sc의 값이 완만하게 변한다는 것이다. 이러한 Sc의 완만한 변화는 비디오의 부호화 프로세스에 사용되는 양자화 매개변수(Q)의 완만한 조절과 부합한다.
하지만, 본 발명의 대안적인 실시예에 있어서, 타깃 버퍼 레벨을 결정하기 위하여 스킵된 프레임들의 순간 수(
Figure 112005011709119-pct00018
)가 스킵된 프레임들의 평균 수(Sc(n)) 대신에 사용될 수 있다는 것을 유념해야 한다.
채널 대역폭이 일정하고 각 프레임의 복잡도가 동일하며 요망되는 프레임률이 보장되는 경우에 있어서, i번째 GOP내의 n번째 인터-프레임에 대한 타깃 버퍼 레벨은 다음 수학식으로 간략화될 수 있다.
Figure 112005011709119-pct00019
상기 수학식으로부터 볼 수 있는 바와 같이, 현재 인터-프레임의 타깃 버퍼 레벨은 다음 인터-프레임들의 타깃 버퍼 레벨보다 더 크다. 다시 말하면, I-프레임으로부터, 즉 인트라-프레임으로부터 더 멀리 있는 인터-프레임보다 동일한 GOP에 속하는 I-프레임에 더 근접한 인터-프레임에 더 많은 비트들이 할당된다.
본 발명의 바람직한 실시예에 따른 타깃 비트율은 평균 부호화 시간 간격, 불충분한 계산 자원으로 인하여 스킵된 프레임들의 평균 수, 타깃 버퍼 레벨, 이용가능한 채널 대역폭 및 실제 버퍼 점유율에 근거하여 결정된다. 특히, 본 발명의 바람직한 실시예에 따른 타깃 비트율은 다음 수학식을 이용하여 결정된다. 여기서 계산 자원이라 함은 계산 시간, 소정의 과제의 해결에 필요한 단계들의 횟수, 및 메모리 공간, 즉 소정의 과제의 해결 동안 필요한 저장 공간을 지칭하는 것으로 본원출원전에 당업계에 널리 알려져 있는 용어이다.
Figure 112005011709119-pct00020
여기서,
Figure 112009059198937-pct00021
은 타깃 비트율이고,
Figure 112009059198937-pct00095
는 이용가능한 채널 대역폭이며,
tn,i는 i번째 GOP의 n번째 인터-프레임이 부호화된 시간 순간이며,
Figure 112005011709119-pct00022
는 상수이다.
이용가능한 채널 대역폭(u(tn,i)) 및 평균 부호화 시간 간격(Tave(n-1))이 인터-프레임에 대한 타깃 비트율을 결정하는데 사용되기 때문에, 본 발명에 따른 비트율 제어 방법은 이용가능한 채널 대역폭 및 이용가능한 계산 자원 모두에 적합하다. 여기서 계산 자원이라 함은 계산 시간, 소정의 과제의 해결에 필요한 단계들의 횟수, 및 메모리 공간, 즉 소정의 과제의 해결 동안 필요한 저장 공간을 지칭하는 것으로 본원출원전에 당업계에 널리 알려져 있는 용어이다.
상기 결정된 인터-프레임에 대한 타깃 비트율은 다음 수학식을 이용하여 웨이팅 시간 스무딩(weighted temporal smoothing)에 의해 추가로 조절될 수 있다.
Figure 112005011709119-pct00023
여기서, f(n)은 스무딩된 타깃 비트율이고,
Figure 112005011709119-pct00024
는 웨이팅 제어 팩터 상수이며,
Hhdr(n)은 이전 프레임(n-1)의 헤더, 움직임 벡터 및 외형(shape) 정보에 사용되는 비트의 양이다.
대안적인 실시예에 있어서, 타깃 비트율을 결정하기 위하여 실제 부호화 시간 간격(Tfi(n))이 평균 부호화 시간 간격(Tave(n)) 대신에 사용될 수 있다는 것을 유념해야 한다. 타깃 비트율을 계산하기 위하여 Tc 대신에 평균 부호화 시간 간격(Tave)을 이용하는 장점은 Tave가 완만하게 변한다는 것이다. 이것은 또한 비디오 시퀀스의 부호화 프로세스를 위한 양자화 매개변수(Q)의 완만한 조절과 부합한다.
또한, 실제 프레임률이 미리 정의된 프레임률보다 더 작은 경우, 즉
Figure 112005011709119-pct00025
인 경우, 더 많은 비트들이 각 프레임에 할당된다. 따라서, 버퍼 언더플로우의 가능성이 어떤 현재의 레이트 제어 방법에 비해 감소되고, 채널 대역폭의 이용이 개선된다.
일단 각 인터-프레임에 대한 타깃 비트율이 계산된 경우, 부호화 프로세스를 위한 대응하는 양자화 매개변수가 바람직하기로는 참고문헌 [5]에 기술된 레이트-왜곡(R-D; Rate-Distortion) 방법을 이용하여 계산될 수 있다.
본 발명에 따른 레이트 제어 방법의 포스트-부호화(post-encoding) 단계에 있어서, 부호화 프로세스의 슬리핑 타임은 다음 수학식을 이용하여 갱신된다.
Figure 112005011709119-pct00026
여기서 STc(n)는 부호화 프로세스의 슬리핑 타임이다.
다음 프레임의 시작 부호화 시간은 다음 수학식에 의해 주어진다.
Figure 112005011709119-pct00027
여기서 SCT(n)은 시작 부호화 시간이다. 다음 프레임의 시작 복호화 시간은 다음 수학식에 의해 주어진다.
Figure 112005011709119-pct00028
여기서 SDT(n)은 시작 복호화 시간이다. 시작 복호화 시간은 부호화된 비디오 시퀀스의 각 프레임을 복호화하기 위한 시간에 대한 정보를 제공하기 위하여 복호기에 전송된다.
슬리핑 타임(STc(n)) 및 시작 복호화 시간(SDT(n))을 결정하는 경우 3가지 점이 고려되어야 한다. 프레임이 두번 부호화되지 않아야 하고, 시간 해상도는 1/Fr이며, 버퍼가 오버플로우의 위험이 있는 경우 필요한 시간이 경과되어야 한다.
본 발명에 따른 다른 목적, 특징 및 장점이 첨부한 도면과 관련하여 읽는 경우 예시된 실시예의 이하 상세한 설명에서 제시될 것이다.
도 1은 본 발명의 바람직한 실시예에 따른 레이트 제어 방법의 블록도를 도시한다.
도 2는 "날씨(weather)" 및 "어린이(children)" 비디오 시퀀스의 각 프레임에 사용된 채널 대역폭을 도시한다.
도 3은 본 발명의 바람직한 실시예를 이용한 "날씨" 및 "어린이" 비디오 시퀀스의 각 프레임을 부호화하는데 필요한 계산 시간을 도시한다.
도 4는 "날씨" 비디오 시퀀스에 대한 PSNR의 비교를 도시한다.
도 5는 "어린이" 비디오 시퀀스에 대한 PSNR의 비교를 도시한다.
도 6은 "날씨" 비디오 시퀀스에 대한 실제 버퍼 점유율의 비교를 도시한다.
도 7은 "어린이" 비디오 시퀀스에 대한 실제 버퍼 점유율의 비교를 도시한다.
도 1은 본 발명의 바람직한 실시예에 따른 레이트 제어 방법의 블록도를 도시한다.
본 발명에 따른 레이트 제어 방법은 다음 3가지 단계를 포함한다.
초기화 단계(initialization stage),
프리-부호화 단계(pre-encoding stage) 및
포스트-부호화 단계(post-encoding stage).
단계 101에서, 화상 그룹(GOP; Group of Pictures)에 대한 부호화 프로세스를 위해 프레임률(Fr)이 미리 정의된다. 이 시점에서 적합한 부호화 프레임률을 선택하는 경우 부호기 및 복호기의 사양/매개변수와 같은 실제적인 문제들이 고려된다. 더욱이, 레이트 제어를 포함하는 비디오 부호화 프로세스가 구현되는 하드웨어가 미리 정의된 프레임률을 지원할 수 있는지 여부가 항상 알려지는 것은 아니다.
단계 102에서, 비디오 프레임들을 위한 버퍼 크기가 잠재 요건(latency requirement)에 근거하여 설정된다. I-프레임의 부호화 이전에, 버퍼들은 Bs * δ로 초기화된다. Bs는 버퍼 크기이고 δ는 0≤δ≤0.5로 정의되는 매개변수이다. 그 다음, 단계 103에서, I-프레임이 양자화 매개변수의 미리 정의된 초기값(Q0)을 이용하 여 부호화된다. 단계 103에서의 I-프레임의 부호화는 참고문헌 [1], [3], [4], [5]에 기술된 방법들 중의 어느 것을 이용하여 구현될 수 있다.
I-프레임이 부호화된 이후에, 비디오의 대응하는 프레임들을 부호화하기 위해 적합한 양자화 매개변수를 결정하는데 사용되는 레이트-왜곡(R-D; Rate-Distortion) 모델의 매개변수들이 포스트-부호화 단계에서 갱신된다(단계 104). 포스트-부호화 단계의 추가 단계 105에서, 버퍼 오버플로우로 인하여 스킵된 프레임들의 수(Npost(n))가 바람직하기로는 참고문헌 [5]에 개시된 방법을 이용하여 결정된다.
단계 106에서, 현재 프레임 이후의 부호화 프로세스의 슬리핑 타임(sleeping time)(STc(n))이 결정된다. 상기 슬리핑 타임(STc(n))은 다음 프레임에 대한 시작 부호화 시간(SCT(n))을 결정하는데 사용된다. 상기 결정된 시작 부호화 시간(SCT(n))은 단계 107에서 다음 프레임의 시작 복호화 시간(SDT(n))을 결정하는데 사용되고, 시작 복호화 시간(SDT(n))은 복호기에 전송된다.
일단 I-프레임의 부호화가 완료된 경우, 인터-프레임인 다음 프레임이 이전 포스트-부호화 단계에서 결정된 양자화 매개변수를 이용하여 부호화된다.
비디오 콘텐츠(video contents)의 통계 또는 채널 대역폭이 시간에 따라 변할 때, 부호화 프레임률이 미리 정의된 프레임률(Fr)로 고정되어 있는 경우 비디오 시퀀스의 각 프레임의 품질이 상당히 변할 것이다. 이것을 피하기 위하여, 타깃 또는 요망되는 프레임률이 이용가능한 채널 대역폭 및 어떤 돌발 움직임 변화에 따라 프리-부호화 단계에서 결정된다.
단계 108에서, 평균 부호화 시간 간격(Tave(n)) 또는 P-프레임을 부호화하는데 필요한 평균 시간 간격이 결정된다. 상기 평균 부호화 시간 간격(Tave(n))은 단계 109에서 타깃 부호화 시간 간격(Tfi(n))을 결정하는데 사용된다. 타깃 부호화 시간 간격(Tfi(n))은 요망되는 프레임률에 반비례한다.
결정된 요망되는 프레임률은 단계 110에서 P-프레임에 대한 타깃 버퍼 레벨을 결정하는데 사용된다. 단계 111에서, 타깃 버퍼 레벨, 실제 버퍼 점유율(occupancy), 이용가능한 채널 대역폭, 요망되는 프레임률 및 평균 부호화 시간 간격(Tave)이 P-프레임에 대한 타깃 비트율(f(n))을 결정하는데 사용된다.
타깃 비트율(f(n))에 근거하여, 단계 112에서 비트들이 P-프레임에 할당된다. 대응하는 양자화 매개변수(Q)는 단계 104로부터 갱신된 R-D 모델을 이용하여 단계 113에서 참고문헌 [5]에 기술된 바와 같이 계산된다. 양자화 매개변수(Q)는 단계 114에서 P-프레임을 부호화하는데 사용된다.
다음 프레임이 P-프레임인 경우, R-D 모델이 포스트-부호화 단계의 단계 104에서 다시 갱신되고 전체 포스트-부호화 및 프리-부호화 단계가 다음 P-프레임을 부호화하기 위해 반복된다. 다음 프레임이 다음 화상 그룹(GOP)의 I-프레임인 경우, 부호화 프로세스는 다음 I-프레임의 부호화를 위해 단계 101에서 다시 시작한다.
본 발명에 따른 프리-부호화 단계의 단계들(108 내지 111) 및 포스트-부호화 단계의 단계들(106 및 107)의 구현이 이제 상세하게 기술될 것이다.
i번째 I-프레임의 부호화 이후에, 타깃 버퍼 레벨의 초기 값은 수학식 1로 초기화된다.
[수학식 1]
Figure 112005011709119-pct00029
Bc(ti,I)는 i번째 I-프레임의 부호화 이후의 실제 버퍼 점유율(occupancy)이고,
ti,I는 i번째 I-프레임이 부호화된 시간 순간이다.
GOP의 각 P-프레임의 타깃 비트율을 결정하기 위하여, P-프레임에 대한 타깃 버퍼 레벨이 결정될 필요가 있다. 타깃 버퍼 레벨을 결정하는 제1 단계는 요망되는 프레임률을 결정하는 것이다. 이것은 수학식 2를 이용하여 P-프레임의 평균 부호화 시간 간격(Tave(n))을 우선 결정함으로써 달성된다(단계 108).
[수학식 2]
Figure 112009059198937-pct00096
Figure 112009059198937-pct00097
는 웨이팅 팩터(weighting factor)이고,
Tc(n)는 P-프레임을 부호화하기 위한 실제 시간이다.
RTst는 수학식 3 및 수학식 4와 같이 정의된다.
[수학식 3]
Figure 112009059198937-pct00032
또는
Figure 112009059198937-pct00098
인 경우에는 RTst(n) = 0,
Figure 112009059198937-pct00099
또는
Figure 112009059198937-pct00100
인 경우에는
[수학식 4]
Figure 112005011709119-pct00033
Figure 112005011709119-pct00034
는 a보다 작은 가장 큰 정수를 나타낸다.
웨이팅 팩터(
Figure 112009059198937-pct00101
)는 0<
Figure 112009059198937-pct00102
<1이고, 바람직하기로는 0.125의 값으로 설정된다. 평균 부호화 시간 간격(Tave(n))의 초기 값은 수학식 5에 의해 주어진다.
[수학식 5]
Figure 112005011709119-pct00035
RTst(n)의 초기값은 수학식 6에 의해 주어진다.
[수학식 6]
Figure 112005011709119-pct00036
변수(Bmad(n))는 추가로 수학식 7에 의해 정의된다.
[수학식 7]
Figure 112005011709119-pct00037
u(n)은 이용가능한 채널 대역폭이고,
MAD(n)는 현재 프레임(n) 및 이전 프레임(n-1) 간의 평균 절대차(mean absolute difference)이다.
이용가능한 채널 대역폭(u(n))은 참고문헌 [6]에 기술된 방법에 의해 추정될 수 있다.
Bmad(n)의 평균 값은 수학식 8을 이용하여 계산된다.
[수학식 8]
Figure 112005011709119-pct00038
TBmad(n)은 Bmad(n)의 평균 값이고,
Figure 112005011709119-pct00039
는 웨이팅 팩터, 바람직하기로는 0.125인 값이다.
TBmad(n)의 값이 계산된 이후에, 타깃 부호화 시간 간격 Tfi(n)은 다음 수학식과 같이 계산될 수 있다(단계 109).
[수학식 9]
Tfi(n) = A1 * Tfi(n-1) Bmad(n)>B1 * TBmad(n)인 경우,
[수학식 10]
Tfi(n) = A2 * Tfi(n-1) Bmad(n)<B2 * TBmad(n)인 경우,
[수학식 11]
Tfi(n) = Tfi(n-1) 그 외의 경우.
A1은 0.80 < A1 < 1.00인 매개변수이며,
A2는 1.00 < A2 < 1.10인 매개변수이고,
B1은 1.00 < B1 < 2.00인 매개변수이며,
B2는 0 < B2 < 1.00인 매개변수이다.
수학식 9, 10, 또는 11로부터 결정된 타깃 부호화 시간 간격(Tfi(n))의 값은 추가로 수학식 12를 이용하여 조절될 수 있다.
[수학식 12]
Figure 112005011709119-pct00040
Tfi(n)의 초기 값은 수학식 13에 의해 주어진다.
[수학식 13]
Figure 112005011709119-pct00041
요망되는 프레임률이 타깃 부호화 시간 간격(Tfi(n))의 역으로부터 결정된 이후에, 타깃 버퍼 레벨을 결정하기 위하여 불충분한 계산 자원으로 인하여 스킵된 프레임들의 평균 수(Sc(n))가 결정된다. 여기서 계산 자원이라 함은 계산 시간, 소정의 과제의 해결에 필요한 단계들의 횟수, 및 메모리 공간, 즉 소정의 과제의 해결 동안 필요한 저장 공간을 지칭하는 것으로 본원출원전에 당업계에 널리 알려져 있는 용어이다.
2개의 시간 변수는 다음과 같이 정의된다.
[수학식 14]
Figure 112005011709119-pct00042
[수학식 15]
Figure 112005011709119-pct00043
TST(n)의 초기값은 수학식 16에 의해 주어진다.
[수학식 16]
TST(0) = 0
불충분한 계산 자원으로 인하여 스킵된 프레임의 순간 수(
Figure 112009059198937-pct00044
)는 수학식 17에 의해 주어진다. 여기서 계산 자원이라 함은 계산 시간, 소정의 과제의 해결에 필요한 단계들의 횟수, 및 메모리 공간, 즉 소정의 과제의 해결 동안 필요한 저장 공간을 지칭하는 것으로 본원출원전에 당업계에 널리 알려져 있는 용어이다.
[수학식 17]
Figure 112005011709119-pct00045
불충분한 계산 자원으로 인하여 스킵된 프레임들의 평균 수(Sc(n))는 수학식 18에 의해 주어진다. 여기서 계산 자원이라 함은 계산 시간, 소정의 과제의 해결에 필요한 단계들의 횟수, 및 메모리 공간, 즉 소정의 과제의 해결 동안 필요한 저장 공간을 지칭하는 것으로 본원출원 전에 당업계에 널리 알려져 있는 용어이다.
[수학식 18]
Figure 112005011709119-pct00046
여기서, θ는 0 < θ < 1이고, 바람직하기로는 0.125인 값으로 설정된다. Sc(n)의 초기값은 수학식 19에 의해 주어진다.
[수학식 19]
Sc(0) = 0
P-프레임에 대한 타깃 버퍼 레벨은 수학식 20을 이용하여 결정될 수 있다(단계 110).
[수학식 20]
Figure 112005011709119-pct00047
Target(n)은 타깃 버퍼 레벨이고,
Ngop는 GOP내의 프레임들의 수이며,
Wpos(l)은 다음 수학식을 충족시키는 l번째 인터-프레임의 위치 웨이트(position weight)이다.
Figure 112005011709119-pct00048
Figure 112005011709119-pct00049
R-D 모델이 정확하지 않기 때문에, 일반적으로 실제 버퍼 점유율 및 각 프레임에 대한 타깃 버퍼 레벨간에 차이가 있다. 따라서 실제 버퍼 점유율이 타깃 버퍼 레벨이 되도록 유지하기 위하여 각 프레임에 대해 타깃 비트율이 계산된다. 각 프레임에 대한 타깃 비트율은 수학식 21에 의해 결정된다.
[수학식 21]
Figure 112005011709119-pct00050
Figure 112009059198937-pct00051
은 타깃 비트율이고,
Figure 112009059198937-pct00103
는 이용가능한 채널 대역폭이며,
tn,i는 i번째 GOP의 n번째 P-프레임이 부호화된 시간 순간이며,
Figure 112005011709119-pct00052
는 0 <
Figure 112005011709119-pct00053
< 1인 상수이며, 바람직하기로는 0.25인 값으로 설정된다.
이용가능한 채널 대역폭(u(tn,i)) 및 평균 부호화 시간 간격(Tave(n-1))이 각 P-프레임에 대해 타깃 비트율을 결정하는데 사용되기 때문에, 본 발명에 따른 비트율 제어 방법은 채널 대역폭 및 계산 자원에 적응한다. 여기서 계산 자원이라 함은 계산 시간, 소정의 과제의 해결에 필요한 단계들의 횟수, 및 메모리 공간, 즉 소정의 과제의 해결 동안 필요한 저장 공간을 지칭하는 것으로 본원출원전에 당업계에 널리 알려져 있는 용어이다.
타깃 비트율에 대한 추가 조절은 다음의 웨이팅 시간 스무딩(weighted temporal smoothing) 수학식을 이용하여 수행될 수 있다.
[수학식 22]
Figure 112005011709119-pct00054
f(n)은 스무딩된 타깃 비트율(smoothed target bit rate)이고,
Figure 112005011709119-pct00055
는 바람직하기로는 0.5인 값으로 설정되는 웨이팅 제어 팩터 상수(weighting control factor constant)이며,
Hhdr(n-1)은 이전 프레임의 헤더, 움직임 벡터 및 외형(shape) 정보에 사용되는 비트의 양이다.
일단 타깃 비트율이 결정된 경우, 비트들이 상기 타깃 비트율에 근거하여 각 P-프레임에 할당된다(단계 112). 또한 대응하는 양자화 매개변수(Q)는 참고문헌 [5]에 개시된 방법을 이용하여 계산된다(단계 113). 대응하는 양자화 매개변수(Q)는 P-프레임을 부호화하는데 사용된다(단계 114).
P-프레임의 부호화가 완료된 이후에, 각각 참고문헌 [5]에 개시된 방법을 이용하여 R-D 모델의 매개변수들이 갱신되고 버퍼 오버플로우로 인하여 스킵된 프레임들의 수가 포스트-부호화 단계에서 결정된다(단계 104, 단계 105).
포스트-부호화 단계의 추가 단계(단계 106)에서 현재 프레임 이후에 부호화 프로세스의 슬리핑 타임(sleeping time)이 수학식 23을 이용하여 결정된다.
[수학식 23]
Figure 112005011709119-pct00056
STc(n)는 부호화 프로세스의 슬리핑 타임이다.
다음 프레임의 시작 부호화 시간(starting encoding time)은 수학식 24를 이용하여 획득될 수 있다.
[수학식 24]
Figure 112005011709119-pct00057
SCT(n)은 시작 부호화 시간이다. 다음 프레임에 대한 시작 복호화 시간(starting decoding time)은 수학식 25를 이용하여 획득될 수 있다(단계 107).
[수학식 25]
Figure 112005011709119-pct00058
SDT(n)은 시작 복호화 시간이다.
다음 프레임에 대한 SDT(n)는 SDT(n)에 의해 표시되는 시간에 다음 프레임을 복호화하도록 복호기에 전송된다.
STc(n) 및 SDT(n)의 결정에 있어서, 프레임이 두번 부호화되지 않고, 시간 해상도(time resolution)는 1/Fr이며, 버퍼가 오버플로우의 위험이 있는 경우 필요한 시간이 경과되어야 한다는 것을 유념해야 한다.
본 발명에 따른 레이트 제어 방법의 목적이 충족되었다는 것을 나타내기 위하여, 본 발명에 따른 레이트 제어 방법 및 표준 엠펙-4(MPEG-4) 부호화 장치에서 사용되는 레이트 제어 방법이 2개의 비디오 시퀀스에 적용되어 그 성능을 비교한다.
2개의 비디오 시퀀스는 각각 "날씨(weather)" 및 "어린이(children)"로 지칭되고 QCIF 의 크기를 갖는다. 미리 정의된 프레임 레이트(Fc)는 30fps(초당 프레임(frames per second))이고, 각 GOP의 길이는 50이다. 비디오 시퀀스의 각 프레임을 부호화하는데 사용되는 이용가능한 채널 대역폭 및 계산 시간이 각각 도 2 및 도 3에 도시된다.
실제 프레임률은 미리 정의된 프레임 레이트인 30 fps 보다 작은 17fps 이상이다. 초기 버퍼 가득참(buffer fullness)은 Bs/8로 설정되고, 초기 양자화 매개변수(Q0)는 15로 설정된다.
도 4 및 도 5는 각각 본 발명에 따른 레이트 제어 방법 및 MPEG-4에서 사용된 레이트 제어 방법을 이용한 "날씨" 및 "어린이" 비디오 시퀀스의 피크 신호대 잡음 비(PSNR; Peak Signal-to-Noise Ratio)를 도시한다.
본 발명에 따른 레이트 제어 방법을 이용한 "날씨" 비디오 시퀀스의 평균 PSNR은 34.16 dB이고, MPEG-4에서 사용된 레이트 제어 방법을 이용한 "날씨" 비디 오 시퀀스의 평균 PSNR은 32.6 dB이다. 유사하게, 본 발명에 따른 레이트 제어 방법을 이용한 "어린이" 비디오 시퀀스의 평균 PSNR은 30.51 dB이고, MPEG-4에서 사용된 레이트 제어 방법을 이용한 "어린이" 비디오 시퀀스의 평균 PSNR은 29.87 dB이다.
따라서, 본 발명에 따른 레이트 제어 방법을 이용한 비디오 시퀀스의 평균 PSNR이 MPEG-4의 레이트 제어 방법을 이용한 비디오 시퀀스의 평균 PSNR보다 더 높다는 것을 알 수 있다.
도 6 및 도 7은 각각 본 발명에 따른 레이트 제어 방법 및 MPEG-4에서 사용된 레이트 제어 방법을 이용한 "날씨" 및 "어린이" 비디오 시퀀스에 대한 실제 버퍼 점유율(buffer occupancy)을 도시한다.
도 6 및 도 7에서 알 수 있는 바와 같이, MPEG-4의 레이트 제어 방법을 이용한 버퍼 언더플로우의 발생이 "날씨" 비디오 시퀀스에 대해 12번이고 "어린이" 비디오 시퀀스에 대해 18번이다. 본 발명에 따른 레이트 제어 방법을 이용한 2개의 비디오 시퀀스에 대한 버퍼 언더플로우는 없다.
다음 참고문헌은 본 명세서에서 사용된다.
[1] H.J.Lee 및 T.H.Chiang 및 Y.Q.Zhang. MPEG-4 비디오를 위한 스케일러블 레이트 제어(Scalable Rate Control for MPEG-4 Video). IEEE Trans. Circuit Syst. Video Technology, 10: 878-894, 2000년.
[2] T.Chang 및 Y.Q.Zhang. 2차 레이트-왜곡 모델링을 이용한 신규 레이트 제어 방법(A new rate control scheme using quadratic rate-distortion modeling). IEEE Trans. Circuit Syst. Video Technology, 7: 246-250, 1997년.
[3] J. Ribas-Corbera 및 S.Lei. 저지연 통신을 위한 DCT 비디오 부호화에서의 레이트 제어(Rate control in DCT video coding for low-delay communications). IEEE Trans. Circuit Syst. Video Technology, 9: 172-185, 1999년.
[4] A.Vetro, H.Sun 및 Y.Wang. 다중 비디오 객체에 대한 MPEG-4 레이트 제어(MPEG-4 rate control for multiple video objects). IEEE Trans. Circuit Syst. Video Technology, 9: 186-199, 1999년.
[5] Z.G.Li, X.Lin, C.Zhu 및 F.Pan. 인터넷을 통한 비디오의 신규 레이트 제어 방법(A novel rate control scheme for video over the internet). In Proceedings ICASSP 2002, Florida, USA, Vol.2, 페이지 2065-2068, 2002년 5월.
[6] Z.G.Li, N.Ling, C.Zhu, X.K.Yang, G.N.Feng, S.Wu 및 F.Pan. 인터넷을 통한 MPEG-4 미세한 세분 범위를 위한 패킷화 알고리즘(Packetization algorithm for MPEG-4 Fine Granularity Scalability over the internet). In the 3rd workshop and Exhibition on MPEG-4, USA, California, 페이지 17-20, 6월 25-27, 2002년.

Claims (23)

  1. 비디오 시퀀스를 부호화하는 레이트(rate)를 제어하는 방법으로서, 상기 비디오 시퀀스는 복수의 화상 그룹(Group Of Picture)을 포함하고, 각 화상 그룹은 적어도 I-프레임(I-frame) 및 인터-프레임(Inter-frame)을 포함하는 방법에 있어서,
    상기 화상 그룹의 각 인터-프레임의 부호화를 위해
    ㆍ 부호화 프로세스를 위한 이용가능한 계산 자원(computational resource) 및 상기 비디오 시퀀스를 전송하는데 사용되는 이용가능한 채널 대역폭에 근거하여 요망되는 프레임률(frame rate)을 결정하는 단계;
    ㆍ 상기 I-프레임에 대한 상기 인터-프레임의 위치 및 상기 요망되는 프레임률에 근거하여 타깃 버퍼 레벨을 결정하는 단계; 및
    ㆍ 상기 이용가능한 채널 대역폭 및 상기 타깃 버퍼 레벨에 근거하여 타깃 비트율을 결정하는 단계로서, 상기 타깃 비트율은 상기 비디오 시퀀스를 부호화하는 레이트를 제어하는데 사용되는 단계를 포함하는 것을 특징으로 하는 레이트 제어 방법.
  2. 제1항에 있어서,
    ㆍ 상기 인터-프레임에 대한 타깃 부호화 시간 간격을 결정하는 단계; 및
    ㆍ 상기 결정된 타깃 부호화 시간 간격에 근거하여 상기 요망되는 프레임률 을 결정하는 단계를 더 포함하는 것을 특징으로 하는 레이트 제어 방법.
  3. 제2항에 있어서,
    상기 인터-프레임에 대한 타깃 부호화 시간 간격은 상기 인터-프레임을 부호화하는데 사용되는 평균 부호화 시간 간격 및 이용가능한 채널 대역폭에 근거하여 결정되며, 상기 인터-프레임에 대한 평균 부호화 시간 간격은 상기 부호화 프로세스를 위한 이용가능한 계산 자원에 비례하는 것을 특징으로 하는 레이트 제어 방법.
  4. 제3항에 있어서,
    상기 인터-프레임에 대한 타깃 부호화 시간 간격은 다음 수학식을 이용하여 결정되고,
    Tfi(n) = A1 * Tfi(n-1) Bmad(n)>B1 * TBmad(n)인 경우,
    Tfi(n) = A2 * Tfi(n-1) Bmad(n)<B2 * TBmad(n)인 경우,
    Tfi(n) = Tfi(n-1) 그 외의 경우,
    ㆍ Tfi(n)은 인터-프레임에 대한 타깃 부호화 시간 간격이고,
    ㆍ A1은 0.80 < A1 < 1.00인 매개변수이며,
    ㆍ A2는 1.00 < A2 < 1.10인 매개변수이고,
    ㆍ B1은 1.00 < B1 < 2.00인 매개변수이며,
    ㆍ B2는 0 < B2 < 1.00인 매개변수이고,
    ㆍ TBmad(n)는 Bmad(n)의 평균이며,
    ㆍ Bmad(n)은 다음과 같이 정의되고,
    Figure 112009079908264-pct00059
    ㆍ u(n)은 이용가능한 채널 대역폭이고,
    ㆍ Tave(n-1)는 인터-프레임에 대한 평균 부호화 시간 간격이며,
    ㆍ MAD(n)는 현재 프레임 및 이전 프레임 간의 평균 절대차(mean absolute difference)이고, n은 현재 프레임을 나타내며, n-1은 이전 프레임을 나타내는 것을 특징으로 하는 레이트 제어 방법.
  5. 제4항에 있어서,
    타깃 부호화 시간 간격은 추가로
    Figure 112009059198937-pct00060
    에 의해 조절되며, n은 현재 프레임을 나타내는 것을 특징으로 하는 레이트 제어 방법.
  6. 제3항에 있어서,
    상기 인터-프레임에 대한 평균 부호화 시간 간격은 상기 인터-프레임에 대한 실제 부호화 시간 간격에 근거하여 결정되는 것을 특징으로 하는 레이트 제어 방법.
  7. 제6항에 있어서,
    상기 인터-프레임에 대한 평균 부호화 시간 간격은 추가로 버퍼 오버플로우(buffer overflow)로 인하여 스킵된(skipped) 프레임들의 수 및 타깃 부호화 시간 간격에 근거하여 결정되는 것을 특징으로 하는 레이트 제어 방법.
  8. 제7항에 있어서,
    상기 인터-프레임에 대한 평균 부호화 시간 간격(Tave(n))은 다음 수학식을 이용하여 결정되고,
    Figure 112009059198937-pct00104
    Figure 112009059198937-pct00105
    는 웨이팅 팩터(weighting factor)이고,
    ㆍ Tc(n)는 실제 부호화 시간이며,
    ㆍ Fr은 미리 정의된 프레임률이고,
    ㆍ RTst는 추가로 다음과 같이 정의되며
    Figure 112009059198937-pct00063
    또는
    Figure 112009059198937-pct00106
    인 경우에는
    RTst(n) = 0,
    Figure 112009059198937-pct00107
    또는
    Figure 112009059198937-pct00108
    인 경우에는
    Figure 112009059198937-pct00064
    Npost(n)은 버퍼 오버플로우로 인하여 스킵된 프레임들의 수이고,
    Figure 112009059198937-pct00109
    는 a보다 작은 가장 큰 정수를 나타내며, n은 현재 프레임을 나타내고, n-1은 이전 프레임을 나타내는 것을 특징으로 하는 레이트 제어 방법.
  9. 제5항에 있어서,
    상기 타깃 버퍼 레벨은 화상 그룹(GOP)의 I-프레임에 인접한 인터-프레임이 동일한 화상 그룹에 속하는 I-프레임으로부터 멀리 있는 다른 하나의 인터-프레임에 비해 높은 타깃 버퍼 레벨을 갖도록 결정되는 것을 특징으로 하는 레이트 제어 방법.
  10. 제9항에 있어서,
    상기 타깃 버퍼 레벨은 다음 수학식을 이용하여 결정되고,
    Figure 112009059198937-pct00065
    · Target(n)은 타깃 버퍼 레벨이고,
    · Ngop는 GOP내의 프레임들의 수이며,
    · Bs는 버퍼 크기이고,
    · Bc는 실제 버퍼 점유율(occupancy)이며,
    · Sc는 요망되는 프레임률에 따라 인터-프레임을 부호화하기 위한 불충분한 계산 자원으로 인하여 스킵된 프레임들의 평균 수이고,
    δ는 0≤δ≤0.5로 정의되는 매개변수이며,
    n은 현재 프레임을 나타내고, n-1은 이전 프레임을 나타내며,
    · Wpos(l)은
    Figure 112009059198937-pct00066
    Figure 112009059198937-pct00067
    을 충족시키는 l번째 인터-프레임의 위치 웨이트인 것을 특징으로 하는 레이트 제어 방법.
  11. 제10항에 있어서,
    요망되는 프레임률에 따라 인터-프레임을 부호화하기 위한 불충분한 계산 자원으로 인하여 스킵된 프레임들의 평균 수는 인터-프레임을 부호화하는 동안 불충분한 계산 자원으로 인하여 스킵된 프레임들의 순간 수(instant number)에 근거하여 결정되는 것을 특징으로 하는 레이트 제어 방법.
  12. 제11항에 있어서,
    불충분한 계산 자원으로 인하여 스킵된 프레임들의 순간 수는 실제 부호화 시간 간격 및 타깃 부호화 시간 간격에 근거하여 결정되는 것을 특징으로 하는 레이트 제어 방법.
  13. 제12항에 있어서,
    상기 스킵된 프레임들의 순간 수는 다음 수학식을 이용하여 결정되고,
    Figure 112009059198937-pct00068
    TST(n)은 추가로 다음과 같이 정의되며
    Figure 112009059198937-pct00069
    Figure 112009059198937-pct00070
    는 다음과 같이 정의되고
    Figure 112009059198937-pct00071
    ·
    Figure 112009059198937-pct00072
    은 불충분한 계산 자원으로 인하여 스킵된 프레임들의 순간 수이고,
    · Tc(n)은 실제 부호화 시간 간격이며,
    · Fr은 미리 정의된 프레임률이고,
    Figure 112009059198937-pct00110
    는 a보다 작은 가장 큰 정수를 나타내며, n은 현재 프레임을 나타내고, n-1은 이전 프레임을 나타내는 것을 특징으로 하는 레이트 제어 방법.
  14. 제13항에 있어서,
    불충분한 계산 자원으로 인하여 스킵된 프레임들의 평균 수는 다음 수학식을 이용하여 결정되고
    Figure 112009079908264-pct00073
    Figure 112009079908264-pct00074
    는 웨이팅 팩터이고,
    Figure 112009079908264-pct00111
    는 a보다 작은 가장 큰 정수를 나타내며, n은 현재 프레임을 나타내고, n-1은 이전 프레임을 나타내는 것을 특징으로 하는 레이트 제어 방법.
  15. 제14항에 있어서,
    타깃 비트율은 인터-프레임에 대한 평균 부호화 시간 간격, 불충분한 계산 자원으로 인하여 스킵된 프레임들의 평균 수, 타깃 버퍼 레벨, 이용가능한 채널 대 역폭 및 실제 버퍼 점유율에 근거하여 결정되는 것을 특징으로 하는 레이트 제어 방법.
  16. 제8항 또는 제15항에 있어서,
    상기 타깃 비트율은 다음 수학식을 이용하여 결정되고,
    Figure 112009059198937-pct00075
    Figure 112009059198937-pct00076
    은 타깃 비트율이고,
    Figure 112009059198937-pct00112
    는 이용가능한 채널 대역폭이며,
    ㆍ tn,i는 i번째 GOP의 n번째 인터-프레임이 부호화된 시간 순간이고,
    Figure 112009059198937-pct00077
    는 0 <
    Figure 112009059198937-pct00113
    < 1인 상수이며, n은 현재 프레임을 나타내고, n-1은 이전 프레임을 나타내는 것을 특징으로 하는 레이트 제어 방법.
  17. 제16항에 있어서,
    상기 타깃 비트율은 다음 수학식을 이용하여 웨이팅 시간 스무딩(weighted temporal smoothing)에 의해 추가로 조절되며,
    Figure 112009059198937-pct00078
    ㆍ f(n)은 스무딩된 타깃 비트율(smoothed target bit rate)이고,
    Figure 112009059198937-pct00115
    는 이용가능한 채널 대역폭이며,
    Figure 112009059198937-pct00079
    는 웨이팅 제어 팩터 상수이며,
    ㆍ Hhdr(n-1)은 이전 프레임의 헤더, 움직임 벡터 및 외형(shape) 정보에 사용되는 비트의 양이고, n은 현재 프레임을 나타내고, n-1은 이전 프레임을 나타내는 것을 특징으로 하는 레이트 제어 방법.
  18. 제1항에 있어서,
    ㆍ 프레임이 부호화된 이후에 각 프레임의 슬리핑 타임(sleeping time)을 결정하는 단계;
    ㆍ 상기 계산된 슬리핑 타임에 근거하여 각 프레임의 시작 부호화 시간을 결정하는 단계;
    ㆍ 상기 계산된 시작 부호화 시간에 근거하여 다음 프레임의 시작 복호화 시간을 결정하는 단계; 및
    ㆍ 상기 결정된 시작 복호화 시간을 비디오 시퀀스를 복호화하도록 설계된 복호기에 전송하는 단계를 더 포함하는 것을 특징으로 하는 레이트 제어 방법.
  19. 제18항에 있어서,
    상기 슬리핑 타임은 다음 수학식에 따라 결정되고,
    Figure 112009059198937-pct00080
    STc(n)는 부호화 프로세스의 슬리핑 타임이고, n은 현재 프레임을 나타내고, n-1은 이전 프레임을 나타내는 것을 특징으로 하는 레이트 제어 방법.
  20. 제19항에 있어서,
    상기 시작 부호화 시간은 다음 수학식에 따라 결정되고,
    Figure 112009059198937-pct00081
    SCT(n)은 시작 부호화 시간이고, n은 현재 프레임을 나타내고, n-1은 이전 프레임을 나타내는 것을 특징으로 하는 레이트 제어 방법.
  21. 제20항에 있어서,
    상기 시작 복호화 시간은 다음 수학식에 따라 결정되고,
    Figure 112009059198937-pct00082
    SDT(n)은 시작 복호화 시간이고,
    Figure 112009059198937-pct00114
    는 a보다 작은 가장 큰 정수를 나타내며, n은 현재 프레임을 나타내는 것을 특징으로 하는 레이트 제어 방법.
  22. 비디오 시퀀스를 부호화하는 레이트를 제어하는 장치로서, 상기 비디오 시퀀스는 복수의 화상 그룹을 포함하고, 각 화상 그룹은 적어도 I-프레임 및 인터-프레임을 포함하는 장치에 있어서,
    상기 화상 그룹의 각 인터-프레임의 부호화를 위해
    ㆍ 부호화 프로세스를 위한 이용가능한 계산 자원 및 상기 비디오 시퀀스를 전송하는데 사용되는 이용가능한 채널 대역폭에 근거하여 요망되는 프레임률을 결정하는 단계;
    ㆍ 상기 I-프레임에 대한 상기 인터-프레임의 위치 및 상기 요망되는 프레임률에 근거하여 타깃 버퍼 레벨을 결정하는 단계; 및
    ㆍ 상기 이용가능한 채널 대역폭 및 상기 타깃 버퍼 레벨에 근거하여 타깃 비트율을 결정하는 단계로서, 상기 타깃 비트율은 상기 비디오 시퀀스를 부호화하는 레이트를 제어하는데 사용되는 단계를 수행하는 프로세싱 유닛을 포함하는 것을 특징으로 하는 레이트 제어 장치.
  23. 비디오 시퀀스를 부호화하는 레이트를 제어하는 비디오 부호화 장치(video encoding device)로서, 상기 비디오 시퀀스는 복수의 화상 그룹을 포함하고, 각 화상 그룹은 적어도 I-프레임 및 인터-프레임을 포함하는 비디오 부호화 장치에 있어서,
    상기 화상 그룹의 각 인터-프레임의 부호화를 위해
    ㆍ 부호화 프로세스를 위한 이용가능한 계산 자원 및 상기 비디오 시퀀스를 전송하는데 사용되는 이용가능한 채널 대역폭에 근거하여 요망되는 프레임률을 결정하는 단계;
    ㆍ 상기 I-프레임에 대한 상기 인터-프레임의 위치, 상기 인터-프레임에 대한 타깃 부호화 시간 간격 및 상기 요망되는 프레임률에 근거하여 타깃 버퍼 레벨을 결정하는 단계; 및
    ㆍ 상기 이용가능한 채널 대역폭 및 상기 타깃 버퍼 레벨에 근거하여 타깃 비트율을 결정하는 단계로서, 상기 타깃 비트율은 상기 비디오 시퀀스를 부호화하는 레이트를 제어하는데 사용되는 단계를 수행하는 프로세싱 유닛을 포함하는 것을 특징으로 하는 비디오 부호화 장치.
KR1020057003830A 2002-09-05 2002-09-05 비디오 시퀀스의 레이트를 제어하는 방법 및 장치, 비디오부호화 장치 KR100949755B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020057003830A KR100949755B1 (ko) 2002-09-05 2002-09-05 비디오 시퀀스의 레이트를 제어하는 방법 및 장치, 비디오부호화 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020057003830A KR100949755B1 (ko) 2002-09-05 2002-09-05 비디오 시퀀스의 레이트를 제어하는 방법 및 장치, 비디오부호화 장치

Publications (2)

Publication Number Publication Date
KR20050083672A KR20050083672A (ko) 2005-08-26
KR100949755B1 true KR100949755B1 (ko) 2010-03-25

Family

ID=37269800

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020057003830A KR100949755B1 (ko) 2002-09-05 2002-09-05 비디오 시퀀스의 레이트를 제어하는 방법 및 장치, 비디오부호화 장치

Country Status (1)

Country Link
KR (1) KR100949755B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100861594B1 (ko) * 2007-04-23 2008-10-07 주식회사 케이티프리텔 멀티미디어 데이터 전송률 제어 장치 및 그 방법
CN115514916A (zh) * 2022-08-17 2022-12-23 海南乾唐视联信息技术有限公司 一种图像组的处理方法、装置和通信装置及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010020498A (ko) * 1997-06-26 2001-03-15 사이트릭스 시스템스, 인크. 네트웍을 통한 적합한 비디오/오디오의 전송을 위한 시스템
KR20020001344A (ko) * 2000-06-28 2002-01-09 송문섭 실시간 영상 통신을 위한 율제어 장치 및 그 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010020498A (ko) * 1997-06-26 2001-03-15 사이트릭스 시스템스, 인크. 네트웍을 통한 적합한 비디오/오디오의 전송을 위한 시스템
KR20020001344A (ko) * 2000-06-28 2002-01-09 송문섭 실시간 영상 통신을 위한 율제어 장치 및 그 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Z.G.Li, "A Congestion Control Strategy for Multipoint Videoconferencing", IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, VOL. 12, NO. 11, NOVEMBER 2002

Also Published As

Publication number Publication date
KR20050083672A (ko) 2005-08-26

Similar Documents

Publication Publication Date Title
JP4390112B2 (ja) ビデオシーケンスのレートを制御する方法及び装置並びにビデオ符号化装置
KR100927083B1 (ko) 예측에 의한 유사 고정 품질 레이트 제어
Jiang et al. Improved frame-layer rate control for H. 264 using MAD ratio
EP1745653B1 (en) Encoder with adaptive rate control for h.264
KR100484148B1 (ko) 개선된 비트율 제어 방법과 그 장치
US6141380A (en) Frame-level rate control for video compression
EP1639801B1 (en) Multipass video rate control to match sliding window channel constraints
US7826530B2 (en) Use of out of order encoding to improve video quality
JP2001186517A (ja) 圧縮動画像再符号化装置および圧縮動画像再符号化方法
JP4764136B2 (ja) 動画像符号化装置、及びフェードシーン検出装置
KR100601615B1 (ko) 네트워크 대역폭에 적응적인 영상 압축 장치
JP2000197049A (ja) 動画像可変ビットレート符号化装置および方法
WO2002096120A1 (en) Bit rate control for video compression
JP4362795B2 (ja) 動画像符号化装置及びその方法
KR20040007818A (ko) 동영상 부호화를 위한 dct연산량 조절 방법 및 그 장치
JP4362794B2 (ja) 動画像符号化装置及びその方法
KR100949755B1 (ko) 비디오 시퀀스의 레이트를 제어하는 방법 및 장치, 비디오부호화 장치
JP4193080B2 (ja) 符号化装置及び方法
JP3812269B2 (ja) 動画像符号化装置及びその方法
JP2005045736A (ja) 画像信号符号化方法及び装置、符号化制御装置並びにプログラム
JP4035747B2 (ja) 符号化装置および符号化方法
KR100778473B1 (ko) 비트율 제어 방법
Hsia et al. High-performance adaptive group-of-picture rate control for H. 264/AVC
JP2000023155A (ja) 動画像符号化装置
KR20050076245A (ko) 전송 비트율 제어 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee