KR101583896B1 - 비디오 부호화 방법 및 장치 - Google Patents

비디오 부호화 방법 및 장치 Download PDF

Info

Publication number
KR101583896B1
KR101583896B1 KR1020137015250A KR20137015250A KR101583896B1 KR 101583896 B1 KR101583896 B1 KR 101583896B1 KR 1020137015250 A KR1020137015250 A KR 1020137015250A KR 20137015250 A KR20137015250 A KR 20137015250A KR 101583896 B1 KR101583896 B1 KR 101583896B1
Authority
KR
South Korea
Prior art keywords
bit rate
encoded
constant
video
bit
Prior art date
Application number
KR1020137015250A
Other languages
English (en)
Other versions
KR20130135268A (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 브리티쉬 텔리커뮤니케이션즈 파블릭 리미티드 캄퍼니
Publication of KR20130135268A publication Critical patent/KR20130135268A/ko
Application granted granted Critical
Publication of KR101583896B1 publication Critical patent/KR101583896B1/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/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/115Selection of the code volume for a coding unit prior to coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • 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/154Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion
    • 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/177Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a group of pictures [GOP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/192Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive
    • H04N19/194Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive involving only two passes

Abstract

특히 비디오 압축과 관련하여 사용되는 비디오 부호화를 위한 방법 및 장치가 여기서 개시된다. 다수의 상용 비디오 부호화기들이 일정 비트율을 지원하지만, 그것들은 일반적으로 일정 품질 부호화를 지원하지 않는다. 본 발명의 측면들은 비디오 부호화를 위한 방법 및 장치에 관한 것이며, 상기 방법들은, 불필요하게 높은 비트율로 불필요하게 큰 양의 비디오를 부호화하지 않고, 품질이 거의 일정한 출력 비트스트림을 생성하기 위해 그렇게 결정된 비트율로 부호화된 파일들로부터 비디오의 세그먼트들이 선택될 수 있도록, 일정 비트율 부호화기가 동작될 수 있는 비트율을 결정하는 것을 포함한다. 비트스트림 세그먼트들은 압축이 용이한 장면들에 대해 낮은 비트율 비트스트림으로부터 선택될 수 있고, 압축이 어려운 장면들에 대해서 높은 비트율 비트스트림으로부터 선택될 수 있다.

Description

비디오 부호화 방법 및 장치{VIDEO CODING}
본 발명은 비디오 부호화(video coding)에 관한 것이다. 더욱 상세하게는, 본 발명의 측면들은 비디오를 부호화하기 위한 방법 및 장치에 관한 것이다. 바람직한 실시예들은 비디오 압축에 관계가 있으며, 더욱 구체적으로는 "거의-일정한(near-to-constant)" 지각 품질(perceptual quality)로 비디오를 부호화하는 것에 관한 것이다.
부호화된 비디오는 당연히 가변 비트율(VBR: variable bit-rate)을 갖는데, 이는 픽처(picture)를 부호화할 때 생성되는 비트(bit)의 수가 픽처 콘텐츠: 즉 이전에 부호화된 픽처들과 얼마나 유사한지 및 얼마나 많은 상세를 포함하는지에 종속하기 때문이다. 어떤 비디오 장면들은 적은 수의 비트를 가지고 주어진 품질로 부호화될 수 있지만, 다른 장면들은 동일한 품질을 달성하기 위해 훨씬 더 많은 비트를 필요로 할 수 있다. 일정 비트율(CBR: constant bit-rate) 부호화가 사용될 때, 비디오는 비트율 제약을 충족시키기 위해 시변 품질로 부호화되어야 한다. 이것은 일정한 품질을 보는 것을 선호하는 사용자에게 지금까지 최선이 아닌 것으로 여겨져 왔다. 또한, 비디오 콘텐츠의 장르에 관계없이 비트율을 고정시킴으로써, 뉴스와 드라마와 같은 어떤 장르의 콘텐츠는 잘 부호화될 수 있지만, 빠르게 움직이는 스포츠나 뮤직 비디오 및 콘서트와 같은 다른 장르는 아주 불량하게 부호화될 수 있을 뿐이다.
비디오 시퀀스의 전체적인 지각 품질은 전체 비디오 시퀀스의 개개의 작은 청크(chunks)의 품질의 평균이 (일반적으로) 아니지만, 전체 비디오 시퀀스 또는 그것의 일부분 동안에 관측된 최악의 품질로 편향된다. 그러므로 (모든 장면이 특정한 지각 품질 레벨 이상이 되도록 부호화되는 것을 보장하기에 충분히 높은 일정한 비트율로 부호화하지 않고) 거의-일정한 품질로 부호화함으로써, 다른 장면들이 부호화되는 품질이 주어진다고 가정하면 필요한 것보다 더 높은 품질로 어떤 장면을 부호화하는 비트들이 낭비되지 않고, CBR 부호화를 사용하는 것에 비해 부호화된 전체 파일 크기는 더 작아질 수 있다.
그러나 일정한 지각 품질을 갖는 부호화는 일정 비트율 부호화를 일반적으로 지원하는 상용 비디오 부호화 플랫폼에 의해 널리 지원되지 않는다.
종래 기술
국제특허출원 WO2009/112801("Nilsson")는 일정한 지각 품질로 부호화하는 방법을 개시한다. 픽처는 부호화의 품질이 변하도록 가변 파라미터를 갖는 부호화 알고리즘을 사용하여 부호화된다. 이 방법을 더욱 상세하게 요약하면, 품질 측정 파라미터에 대해 먼저 목표 값(target value)이 지정된다. 그 다음, 부호화되는 각 픽처(또는 픽처의 일부)에 대해, 다른 픽처들에 관계 없이, a) 상기 픽처 영역에 대한 목표 값과 b) 상기 픽처 영역의 픽처 콘텐츠에 종속하는 마스킹 수단(masking measure)(C)에 기초하여 가변 파라미터(Q)에 대한 값의 추정이 이루어진다. 픽처는 그 다음에 추정된 값을 사용하여 부호화된다. 상기 마스킹 수단은 마스킹 효과에 대한 부호화 품질의 영향을 고려하기 위해 보상될 수 있다.
국제특허출원 WO2009/060178("Nilsson")은, 지정된 클라이언트 비디오 버퍼 크기를 가지고 일정 비트율로 전송될 수 있는 거의 일정한 지각 품질을 가진 단일의 비디오 스트림(stream)을 생성하기 위해 복수의 부호화된 비디오 스트림으로부터 비디오 청크를 선택하는 방법을 개시한다. 이 문헌은 일정 비트율로 전송할 때 버퍼 제약을 충족시키기 위해 부호화된 비트스트림(bitstream)들 사이에 선택하는 것과 관계가 있다는 것을 알 수 있을 것이다.
미국 특허출원 US2008/260042("Shah et al")은 멀티미디어 시퀀스들의 콘텐츠에 관계 없이 원하는 일정한 지각 품질을 달성하기 위해 상기 시퀀스들의 지각 품질을 제어하고자 하는 기술을 개시한다. 특히, 부호화 장치는 시퀀스 세그먼트의 콘텐츠에 기초하여 시퀀스 세그먼트를 콘텐츠 "클래스(class)"와 관련시키고, 그 다음에 시퀀스 세그먼트의 지각 품질 메트릭(metric)을 결정하고, 상기 시퀀스 세그먼트의 지각 품질이 원하는 품질에 수렴하도록 세그먼트를 부호화하기 위해 사용된 적어도 하나의 부호화 파라미터를 조정하기 위한 품질 제어 기술을 구현할 수 있다.
인용된 다른 종래 기술을 간략히 참조하면, Dongdong Zhang et al: "A Two-Pass Rate Control Algorithm for H.264/AVC High-Definition Video Coding" (Signal Processing: Image Communication, vol. 24, no.5 (1 May 2009), pages 357-367)는 H.264/AVC 고선명 비디오 부호화를 위한 일정한 품질 부호화를 달성하는 것을 목적으로 하는 투-패스 레이트(two-pass rate) 제어 알고리즘에 관한 것이다.
미국 특허 US6,278,735("Mohsenian")는 실시간 싱글-패스 가변 비트율 제어 전략 및 부호화기에 관한 것이다. 그것은 싱글 패스를 가지고 부호화하는 것과 관계가 있으며, 특히 각 그룹의 프레임들에 대한 목표 비트 수를 미리 결정하는 것과 관계가 있다.
BT Vision과 같은 현재 이용 가능한 다양한 IPTV(internet protocol television)는 일정 비트율 부호화 및 네트워크상의 대역폭 예약을 사용한다. 그와 같은 서비스들의 미래 형태는, 대역폭 예약을 포기하는 것과 일정 비트율 이외의 비트율로 부호화의 가능성을 제공하는 것을 포함하는, 더 많은 융통성을 허용할 것으로 보인다. 거의-일정한 지각 품질을 갖는 부호화의 사용은 지각 품질 목표를 유지하면서 부호화된 파일-크기를 감소시킬 것이며, 그리하여, 특히 콘텐츠가 바이트 용량에 종속한다면, 콘텐츠 전달 비용을 감소시킬 것이다.
거의-일정한 지각 품질을 갖는 부호화의 사용은 지각 품질 목표를 유지하면서 부호화된 파일-크기를 감소시킬 것이며, 그리하여, 특히 콘텐츠가 바이트 용량에 종속한다면, 콘텐츠 전달 비용을 감소시킬 것이다.
본 발명의 제1 측면에 따르면, 다음 단계를 포함하는 비디오 부호화 방법이 제공된다:
(a) 하나 이상의 초기 일정 비트율로 부호화된 비디오 시퀀스를 획득하는 단계;
(b) 상기 부호화된 비디오 시퀀스를 시간적 부분들로 분할하는 단계;
(c) 복수의 상기 시간적 부분들의 각각에 대해서, 상기 시간적 부분들이 미리 결정된 지각 품질 요구사항을 충족시키도록 부호화될 수 있는 일정 비트율을 결정하기 위해 각각의 시간적 부분들을 분석하는 단계;
(d) 상기 결정된 일정 비트율의 범위를 복수의 부분-범위들로 분할하는 단계;
(e) 상기 시간적 부분들은, 상기 시간적 부분들이 할당되는 부분-범위와 관련된 비트율로 부호화되면, 상기 미리 결정된 지각 품질 요구사항을 충족시키도록 상기 부분-범위들 중 하나에 각각의 시간적 부분들을 할당하는 단계;
(f) 상기 시퀀스에 대해서, 상기 시간적 부분들이 할당된 부분-범위들의 비트율로 상기 시간적 부분들이 각각 부호화되기 위해 요구되는 데이터 양을 나타내는 제1 비트-카운트 측정치를 설정하고, 상기 시간적 부분들 각각이 일정 지각 품질 요구사항에 부합하기에 충분한 비트율로 부호화되기 위해 요구되는 데이터 양을 나타내는 제2 비트-카운트 측정치를 설정하는 단계;
(g) 상기 제1 비트-카운트 측정치와 상기 제2 비트-카운트 측정치 사이의 불일치 레벨을 나타내는 차이 측정치를 결정하는 단계;
(h) 하나 이상의 부분-범위가 관련된 상이한 비트율을 갖도록 갱신된 비트율 세트를 사용하여 1회 이상 일정 비트율의 범위를 재분할하는 단계; 및
(i) 상기 갱신된 비트율 세트로부터 상이한 비트율로 각각 부호화된 시간적 부분들을 포함하는 출력 비디오 시퀀스를 생성하는 단계를 포함하고,
단계 (d)에서, 각각의 부분-범위는 관련된 복수의 상이한 비트율들 중 선택된 하나를 갖고,
단계 (h)에서, 상기 갱신된 비트율 세트에 의해 단계 (e), (f) 및 (g)의 후속 수행의 결과로 상기 불일치의 감소를 나타내는 차이 측정치를 결정하는, 비디오 부호화 방법.
상기 비디오 시퀀스는 초기 일정 비트율 또는 비트율들로 이미 부호화되어 수신되거나, 수신된 다음 부호화되고 그것에 의해 초기 일정 비트율 또는 비트율들로 부호화된 비디오 시퀀스를 얻는다.
바람직한 실시예에 의하면, 획득된 상기 비디오 시퀀스는 단일의 미리 결정된 초기 일정 비트율로 초기에 부호화될 수 있다. 그것은 예를 들면 콘텐츠가 비디오 서비스를 위해 부호화되는 최대 레이트로 초기에 부호화될 수 있으며 - 이것은 출력 비디오 시퀀스의 생성에서 궁극적으로 사용되는 일정 비트율 부호화들 중 최고로서 상기 초기 일정 비트율 부호화가 기능하도록 하기 위해 행해질 수 있다.
대안으로, 획득된 상기 비디오 시퀀스, 또는 그것의 일부는 상이한 초기 일정 비트율로 부호화될 수 있다. 획득된 상기 비디오 시퀀스의 각각의 부분은 예를 들면 (알려진 비디오 분석 기법 등을 사용하여) 다른 특성을 갖는 것으로 식별될 수 있고, 상이한 초기 일정 비트율들로 부호화될 수 있으며, 각각의 부분들에 대한 초기 비트율은 그것들에 관하여 상기 식별된 각각의 특성에 종속하여 결정된다. 상기 "특성"은 뉴스, 드라마, 스포츠, 뮤직 비디오 및 콘서트 등과 같은 비디오 콘텐츠의 상이한 장르에 관한 것이거나, 장르로부터 결정되거나, 장르를 나타내도록 선택될 수 있으며, 적절히 선택된 상이한 초기 부호화를 사용하여 전체 비디오 시퀀스의 상이한 부분들이 별도로 처리되는 것을 가능하게 할 수 있다.
바람직한 실시예에 의하면, 일정 비트율의 범위를 재분할하는 상기 단계는 상기 갱신된 비트율 세트가 상기 초기 일정 비트율을 포함하도록 수행되거나, 또는 둘 이상이 사용된다면 (하나 이상의) 초기 일정 비트율들 중 하나 이상을 포함하도록 수행될 수 있다. 이것은 전체적인 처리를 더욱 효율적으로 만들 수 있는데, 이는 초기 부호화 또는 부호화들이 그 다음에 출력 비디오 시퀀스의 생성에서 사용될 수 있기 때문이다. 그와 같은 실시예에서, 일정 비트율의 범위를 재분할하는 상기 단계는 그것과 관련된 특정한 하나의 초기 일정 비트율보다 더 큰 비트율을 갖는 최적 개수의 부분-범위들, 및 그것과 관련된 상기 하나 이상의 초기 일정 비트율보다 낮은 비트율을 갖는 최적 개수의 부분-범위들을 식별하는 단계를 포함한다.
바람직하게는, 부호화를 위해 사용된 상기 일정 비트율의 개수는 2~10이고, 바람직하게는 4이다.
어떤 실시예에 의하면, 일정 비트율의 범위를 재분할하는 상기 단계는 상기 일정 비트율의 범위를 초기에 사용된 개수와 상이한 개수의 부분-범위들로 분할하는 단계를 포함하고, 각각의 부분-범위는 그것과 관련된 복수의 상이한 비트율 중 선택된 하나를 갖는다. 이것은, 만일 예를 들어 선택된 초기 개수(예를 들면, 4)가 종료 기준을 만족시키지 않거나, 종료 기준을 충분히 신속하게 만족시키지 않는 것으로 밝혀진다면, 실행될 수 있다. 추가 반복이 종료 기준을 (더욱 신속하게) 만족시키도록 하기 위해 상기 절차를 계속하는 경우 더 높은 수의 부분-범위들(예를 들면 6 또는 8)이 그 다음에 사용될 수 있다.
어떤 실시예들에 의하면, 부호화를 위해 사용된 상기 일정 비트율은 미리 결정된 최대 레이트에 의해 제한될 수 있다. 이것은, 필요한 전달 비트율을 상기 최대 레이트에 제한하면서 콘텐츠 내의 임의의 지점에서 시작하여(종종 랜덤 액세스하고 함) 콘텐츠를 전달할 수 있는 것과 같은 이유로 또는 다른 이유로 행해질 수 있다.
본 발명의 다른 측면들은 제1 측면의 방법을 수행하는 장치 및 컴퓨터 프로그램, 및 그와 같은 프로그램을 저장하는 저장수단, 가장 바람직하게는 자기 또는 광 디스크(예컨대, 하드 드라이브 또는 CD ROM 또는 DVD 등), 또는 디스크, 또는 고체상태 메모리 디바이스 또는 디바이스들과 같은 유형의 저장수단에 관한 것이다.
제1 실시예와 관련하여 위에서 언급된 다양한 옵션들 및 바람직한 실시예들은 다른 측면들과 관련해서도 역시 적용 가능하다.
본 발명의 요약에서 제시된 것과 같이, 특히 비디오 압축과 관련하여 사용되는 비디오 부호화를 위한 방법 및 장치가 여기서 개시된다. 다수의 상용 비디오 부호화기들이 일정 비트율을 지원하지만, 그것들은 일반적으로 일정 품질 부호화를 지원하지 않는다. 본 발명의 측면들은 비디오 부호화를 위한 방법 및 장치에 관한 것이며, 상기 방법들은, 불필요하게 높은 비트율로 불필요하게 큰 양의 비디오를 부호화하지 않고, 품질이 거의 일정한 출력 비트스트림을 생성하기 위해 그렇게 결정된 비트율로 부호화된 파일들로부터 비디오의 세그먼트들이 선택될 수 있도록, 일정 비트율 부호화기가 동작될 수 있는 비트율을 결정하는 것을 포함한다. 비트스트림 세그먼트들은 압축이 용이한 장면들에 대해 낮은 비트율 비트스트림으로부터 선택될 수 있고, 압축이 어려운 장면들에 대해서 높은 비트율 비트스트림으로부터 선택될 수 있다.
이전에 언급한 WO2009/060178을 다시 간략히 참조하면, 이것은 일정 비트율로 전송할 때 버퍼 제약을 충족시키기 위해 부호화된 비트스트림들 사이에서 선택하는 것에 관한 것이지만, 본 발명의 바람직한 실시예들은 일정 비트율 부호화를 실행하는 비트율을 선택하는 것에 관한 것이다.
이제 다음과 같은 도면을 참조하여 본 발명의 바람직한 실시예를 설명할 것이다:
도 1은 비디오 부호화기(coder)의 블록도이고,
도 2 내지 도 10은 특정 파라미터들의 유도를 도시하는 그래프이고;
도 11은 본 발명의 바람직한 실시예에 따른 방법을 수행할 때 도 1에 도시된 것과 같은 부호화기의 동작을 설명하는 흐름도이다.
도 1 내지 도 11을 참조하여, 바람직한 실시예에 따른 방법 및 장치를 설명한다. 먼저, 몇 가지 관련 개념들을 간단히 요약한다.
전술한 바와 같이, 부호화된 비디오는 당연히 가변 비트율(VBR)을 갖는데, 이는 픽처를 부호화할 때 생성되는 비트의 수는 픽처 내용: 즉 이전에 부호화된 픽처들과 얼마나 유사한지 및 얼마나 많은 상세를 포함하는지에 종속하기 때문이다. 어떤 비디오 장면들은 적은 수의 비트를 가지고 주어진 품질로 부호화될 수 있지만, 다른 장면들은 동일한 품질을 달성하기 위해 훨씬 더 많은 비트를 필요로 할 수 있다.
비디오 시퀀스의 전체적인 지각 품질은 전체 비디오 시퀀스의 개개의 작은 청크의 품질의 평균이 아니지만, 전체 비디오 시퀀스 또는 그것의 일부분 동안에 관측된 최악의 품질로 편향된다. 그러므로 거의-일정한 품질로 부호화함으로써, 다른 장면들이 부호화되는 품질이 주어진다고 가정하면 필요한 것보다 더 높은 품질로 어떤 장면을 부호화하는 비트들이 낭비되지 않고, 일정 비트율 부호화를 사용하는 것에 비해 부호화된 전체 파일 크기는 더 작아질 수 있다.
그러나, 전술한 바와 같이, 본 발명자들은 일정한 지각 품질을 갖는 부호화는 일정 비트율 부호화를 일반적으로 지원하는 상용 비디오 부호화 플랫폼에 의해 널리 지원되지 않는다는 것을 알게 되었다. 본 발명의 바람직한 실시예들은 다수의 일정한 비트율 값들로 콘텐츠를 부호화하고, 상기 부호화들의 통계를 분석하고, 일정한 비트율에서 각각 부호화된 비디오 스트림들로부터 비디오 청크를 선택함으로써 거의-일정한 품질의 비디오 스트림을 생성하는 것과 관계가 있다. 특히 그것은, 각각의 비디오 청크가 목표 품질 레벨 이상에서 부호화되는 것을 보장하면서 거의 일정한 품질의 최종 부호화된 파일의 크기를 더 축소 또는 최소화시키기 위해, 그와 같은 부호화의 수에 대한 제약이 일반적으로 주어진다면, 일정 비트율 부호화와 함께 사용할 비트율의 선택과 관계가 있다.
이제 도 1을 참조하면, 도시된 장치는 비디오 입력(2)에서 압축되지 않은 형태로 디지털 부호화된 비디오 신호를 수신하는 비디오 인터페이스(1)를 포함한다. 프로세서(3)는 디스크 저장소(4)에 저장된 프로그램의 제어하에 동작하고 메모리(5)와 비디오 출력(7)에 공급하는 비디오 출력 버퍼(6)에 액세스한다. 메모리(5)는 픽처 파라미터들을 일시 저장하기 위한 메모리 영역(51)을 포함한다. 상기 프로그램들은 범용 운영체제(operating system)(40)와 곧 설명되는 부호화 방법들 중 하나 이상을 구현하는 비디오 부호화 소프트웨어를 포함한다. 이 소프트웨어는 여러 개의 프로그램들(또는 프로그램들의 그룹)을 포함한다: 즉,
- 제어 소프트웨어(41);
- 압축 소프트웨어(42): 이 실시예에서 압축 소프트웨어는 ITU H.264 표준을 따르는 부호화 알고리즘을 구현함; 및
- 지각 품질 평가 소프트웨어(43).
도 2는 "우수한(good)" 품질에 해당하는 4.0의 일정한 품질로 비디오 시퀀스를 부호화한 결과를 도시한다. 이 실시예의 목적을 위해, 상기 부호화는 전술한 WO2009/112801에 설명된 일정한 지각 품질 부호화 기술을 사용하여 실행되며, 상기 특허문헌의 내용은 참조에 의해 본 명세서에 포함되며, 이것은 사용될 수 있는 일정한 지각 품질을 가진 부호화를 위한 다수의 가능한 기술들 중 하나일 뿐이라는 것을 이해할 것이다. 그 다음, 이 실시예에서, 국제특허출원 WO2007/066066 ("Davis")에 개시된 메트릭을 사용하여 비디오의 품질이 측정되며, 상기 문헌의 내용 역시 참조에 의해 본 명세서에 포함되며, 물론 비디오 품질을 측정하는 다른 기술들도 사용될 수 있음을 이해할 것이다.
WO2007/066066을 편의상 간략히 요약하면, 이것은 특히, 비디오 신호가 복수의 프레임을 나타내는 '최초 형태(original form)', 부호화된 신호가 양자화기 스텝 크기 파라미터(quantizer step size parameter)를 포함하도록 가변 양자화기 스텝 크기를 이용하는 적당한 압축 알고리즘을 사용하여 비디오 신호가 부호화된 '부호화된 형태', 및 상기 부호화된 신호가 적어도 부분적으로 상기 최초 형태로 다시-변환된 '복호화된 형태'를 갖는 을 갖는 경우에 사용하기 위한 비디오 품질 측정 기술에 관한 것이다. WO2007/066066의 기술은 a) 양자화기 스텝 크기 파라미터의 함수인 제1 품질 측정치를 생성하고; b) 복호화된 형태 내 비디오 신호에 의해 표현된 프레임들의 공간 복잡도의 함수인 제2 품질 측정치를 생성하고; 및 c) 제1 및 제2 측정치를 결합하는 것을 포함한다.
이제 도 2를 참조하면, 일단 비디오 시퀀스가 (예를 들면 WO2009/112801에 개시된 것과 같은 기술을 사용하여) 부호화되고, 그 다음 일단 품질 메트릭이 (예를 들면 WO2007/066066에 개시된 것과 같은 기술을 사용하여 결정되었다면, (이 실시예에서) "인트라(intra)" 부호화된 프레임(즉, "I-프레임")으로 시작하는 24개의 프레임들인 각 그룹의 피처들을 부호화하기 위해 사용된 비트의 수가 결정된다. 그 다음에 이들 비트-총수(bit-counts)가 최저부터 최고까지 저장되어 도 2에 도시된 누적 주파수 곡선을 생성한다. 그래프는 일정한 품질의 "누적 주파수" 플롯을 보여주고, 그러므로 x축은 (단순히 "주파수"를 나타내는 것이 아니라) 0-100%의 척도로 "누적 주파수(cumulative frequency)"를 나타내는 것을 명심해야 하지만, x축은 비디오 청크를 구성하는 한 그룹의 픽처의 비디오 콘텐츠의 "가변성(variability)"을 나타내는 것으로 생각될 수 있으며, 여기서 "가변성"은 공간 변화의 양, 크로미넌스(chrominance)의 변화 및/또는 해당 청크 동안에 시간에 따라 일어나는 강도의 변화를 가리킨다. 그러므로 그 범위는 (범위의 0% 끝에서 또는 근처에 표시되는) 및 압축하기 용이한 간단한 정지 이미지로부터, (범위의 100% 끝에서 또는 근처에서 표시되는) 빠른 움직임과 크로미넌스 및/또는 강도의 큰 변화를 포함하는 아주 복잡한 장면들까지에 이른다.
픽처 그룹들에 의해 필요한 비트율은 153 KBit/s에서 4551 KBit/s까지 변하며 중간값은 900 KBit/s라는 것을 알 수 있다.
이 곡선은 물론 일정한 품질의 부호화 동작 모드에서 동작하는 부호화기에 의해 생성된 비트스트림의 분석에 의해 생성되었다. 전술한 바와 같이, 이것들은 산업분야에서 널리 구현되지 않았지만, 일정 비트율 부호화는 널리 이용되고 있다. 그러므로 우리는 상이한 일정 비트율에서 동일한 비디오 콘텐츠(또는 그 부분들)를 부호화함으로써 생성된 비트스트림으로부터 데이터 청크를 결합함으로써 거의-일정한 품질의 부호화된 비트스트림을 생성하는 것을 목표로 한다. 분명히 완전히 일정한 품질을 얻기 위해서는 비디오 콘텐츠에 데이터의 청크가 존재하는 만큼 많은 일정 비트율 레벨들에서 비디오 콘텐츠를 부호화할 필요가 있을 것이며, 이는 각각의 청크가 정확히 동일한 품질을 달성하기 위해서 상이한 비트율을 필요로 할 것이기 때문이다. 이것은 일반적으로 실용적이지 않다. 대신에, 일정 비트율 레벨들의 수를 합리적으로 낮은 수로 제한하며, 이것은 적어도 2가 될 것이고, 이 실시예에서는 4가 될 것이다. 다음의 설명은 최종 부호화된 거의-일정한 품질의 비디오 파일의 데이터 양을 저감 또는 최소화시키면서, 일정한 목표 품질 레벨보다 낮지 않은 품질 레벨에서 각각의 비디오 청크를 나타낼 수 있도록 그것들의 일정 비트율 레벨들을 어떻게 결정할 것인지의 문제를 해결하는 것을 어떻게 제안하는지 설명할 것이다.
이제 그와 같은 일정 비트율 레벨들을 결정하기 위한 한 가지 알고리즘을 설명한다.
먼저 사용할 일정 비트율 레벨들의 개수를 선택한다. 전술한 바와 같이, 이 실시예서 레벨의 개수는 4이며, 이 숫자는, 시스템에 특별히 높은 처리 요구를 부과하거나 불필요한 레벨의 복잡도를 부가하지 않으면서 합리적인 유연성 레벨을 제공하기 때문에, 편의상 선택된 것이다. (레벨들의 개수는 이론적으로는 2만큼 작을 수 있지만, 2보다 더 큰 것이 바람직할 것이다). 그 다음 도 2의 누적 그래프를 수평축을 따라 상기 개수의 섹션들로 분할하고, 원하는 목표 품질을 달성하도록 각 섹션을 위해 필요한 가장 높은 비트율을 식별한다. 상기 데이터는 이미 증가하는 비트율 요건의 순서로 정렬되었기 때문에, 식별된 일정 비트율 레벨들은 이 누적 주파수 곡선상의 각 섹션의 우측단에서의 비트율 값들(즉, 수직축)이다. 이와 같이 선택된 일정 비트율 레벨들과, 원하는 목표 품질을 달성하기 위해 상기 레벨들 적용되는 비디오 청크들이 도 3에 도시되어 있다(그렇게 선택된 초기 일정 비트율 레벨들은 595 KBit/s, 900 KBit/s, 1553 KBit/s 및 4551 KBit/s라는 것을 알 수 있으며 - 정확한 값들은 사실 아래 제시된 표 1로부터 취해진다).
임의의 특정 비디오 청크에 대해, 일정 비트율 부호화에서 사용된 비트율은 적어도 일정 품질 부호화를 위해 필요한 것이며, 2개의 곡선들 사이의 수직 거리는 일정 품질 부호화를 위해 필요한 추가의 비트율을 나타낸다. 이 추가 비트율은, 결국 목표 품질 이상의 품질로 특정 비디오 청크를 부호화하는 것이므로 '낭비되는' 것으로 여겨질 수 있고, 그와 같은 품질의 향상은 필요하지 않은 것으로 여겨진다. 그러므로 2개의 곡선(즉, "실선" 곡선과 "계단형의 점선" 곡선) 사이의 영역이 일정 비트율 부호화를 사용할 때 총 "낭비되는" 비트율을 나타내는 것으로 간주한다.
그러므로, 이 낭비를 최소화하기 위해, 상기 2개의 곡선들 사이의 면적을 최소화할 필요가 있다.
먼저 곡선들 사이의 총 면적을 측정하고(즉, 이 실시예에서, 4개의 각 면적들을 합계하고), 그 다음 이 합계 면적을 일정 비트율 레벨들의 수(즉, 이 실시예에서 4)로 나누어 면적 분율(area fraction)을 얻는다. 다음에, 높은 비트율 끝에서 시작하여, 각각의 일정 비트율 레벨과 관련된 영역이 상기 면적 분율과 같거나 더 클 때까지, 비디오 청크를 일정 비트율 레벨들에 (태깅(tagging) 등을 함으로써) 할당하거나 지정한다. 이렇게 결정된 제1 일정 비트율 레벨은 비디오 시퀀스에서 관찰된 임의의 청크에 대해 필요한 가장 높은 비트율과 같아야 한다(즉, 이 실시예에서, 4551 KBit/s). 다음의 일정 비트율 레벨들은 일정 비트율 레벨과 아직 관련되지 않은 청크에 대해 가장 높은 비트율로서 결정된다. 일반적으로, 가장 낮은 일정 비트율 레벨과 관련된 영역(즉, 도 3에서, 0-25% 범위의 곡선들 사이의 영역)은 상기 면적 분율보다 작으며, 따라서 실제로는 - 단일 반복으로 - 각각의 일정 비트율 레벨과 관련된 영역을 동등하게 하지 못했다. 그러므로 각각의 일정 비트율 레벨과 관련된 영역이 미리 결정된 "종료 기준(termination criteria)"을 충족할 때까지 반복한다. 상기 종료 기준은 충족되는 경우 상기 영역이 미리 결정된 공차 내에서 동일하다는 것을 가리킨다.
곡선들 사이의 면적을 최소화시키기 위해 일정 비트율 레벨들을 구하는 이 문제에 대한 해결책을 찾기 위한 다른 알고리즘이 분명히 존재하며 - 다른 실시예들은 그와 같은 다른 알고리즘을 사용할 수 있다.
도 4는 이 알고리즘의 1회 반복의 결과를 보여주고, 도 5는 이 알고리즘의 2회 반복의 결과를 보여준다, 각각의 계속되는 반복에 의해, ("낭비된" 비트율을 나타내는) 4개 영역들의 합계가 감소하고 있음을 이들 그래프만으로도 분명히 알 수 있다.
아래의 표 1은 일정 비트율(KBit/s), 각각의 그와 같은 레벨과 관련된 면적 및 총 면적(MByte), 및 초기 설정에 대한 백분율 절감과, 초기 설정 및 상기 알고리즘의 4회 반복 각각 이후의 관계를 보여준다.
Figure 112013052636965-pct00001
물론 사용될 수 있는 다수의 가능한 반복 종료 기준이 존재한다. 선호되는 한 가지 기준은 반복이 면적 합계를 증가시킨 후 중단하고 면적 합계의 백분율 감소가 미리 결정된 문턱 값, 예컨대 1%보다 작게 증가할 때 중단하는 것이다. 대안으로 영역 1이 다른 영역들의 주어진 공차 내에 있을 때, 예를 들면 다른 영역들의 5% 이내일 때 종료하는 것도 가능할 것이다.
이 실시예에서는, 4회 반복 후 종료하며, 일정 비트율 부호화를 위해 799 KBit/s, 1457 KBit/s, 2454 KBit/s 및 4551 KBit/s를 선택한다.
일정 비트율 부호화
상기 실시예에서, 우리는 먼저 일정 품질 부호화를 위해 필요한 비트율의 누적 주파수 곡선을 결정하기 위해 일정 품질 부호화의 통계를 사용했고, 그 다음에 낭비되는 비트율을 최소화시키면서 거의-일정 품질 부호화를 생성하기 위해 사용될 수 있는 적절한 일정 비트율 레벨들을 계산했다.
그러나 실제로는, 일정한 품질로 부호화하도록 구성된 부호화기를 사용하는 것과 같이, 그와 같은 일정 품질 부호화가 또 다른 프로세스에 의해 전혀 달성될 수 없을 때 거의-일정 품질 부호화를 생성하기 위해 일정 비트율 부호화를 수행하기만을 원할 수도 있다.
이상을 고려하여, 이제 맨 먼저 일정 품질로 부호화할 필요가 없는 바람직한 실시예에 따른 실시예를 설명한다.
먼저 미리 결정된 일정 비트율 레벨로 부호화한다. 이것은 부호화되는 비디오 콘텐츠의 각 조각에 대해 동일한 비트율이거나, 부호화되는 비디오 콘텐츠의 각 조각에 대해 상이한 비트율일 수 있으며, 콘텐츠의 장르에 의해 결정된다. 선택된 비트율은 또한 콘텐츠가 주어진 비디오 서비스를 위해 부호화되는 최대 레이트일 수 있다.
이 실시예서 2 MBit/s로 부호화한다. 그 다음 부호화된 비디오의 각각의 픽처 그룹의 품질을 분석하고, 가장 일정할 것으로 예상되는 사용될 비트율을 결정한다. 또한, (예를 들면, WO2007/066066에 정의된 메트릭을 적용하여 이 예에서 결정된) 각각의 픽처 그룹에 대해, 각각의 개별 부호화된 프레임에 대한 평균 품질을 계산하고, 상기 픽처 그룹에 대하여 생성된 값들의 평균을 구한다. 또한, 픽처 그룹을 부호화하기 위해 사용된 평균 양자화 파라미터, 및 픽처 그룹의 공간 복잡도의 측정치인 픽처 그룹의 평균 콘트라스트(contrast)를 기록하며, 양자는 WO2007/066066의 기술을 사용하여 메트릭을 계산하는 경우 필요한 파라미터들이다.
우리는 콘텐츠 모두를 부호화고자 하는 이상의 목표 품질을 선택한다. 이 실시예에서 우리는 값 4.0을 선택하며, 이것은 "우수한(good)" 품질에 해당한다. 그 다음 일정 비트율 부호화의 계산된 파라미터들을 사용하여 상기 목표 품질에서 각각의 픽처 그룹을 부호화하기 위해 필요할 것 같은 비트율을 추정한다. 이것은 다음과 같이 실행한다.
WO2009/112801은 평균 콘트라스트를 알고 있을 때, WO2007/066066에 제시된 것과 같은 기술을 사용하여 결정될 수 있는 것과 같은 품질 메트릭(metric)에 대한 이차 근사화를 밝히고, 평균 양자화 파라미터에 대해 이차식을 풀어서, 주어진 목표 품질을 달성하기 위해 필요한 평균 양자화 파라미터를 결정하는 것이 가능한 기술을 설명한다. 설명된 것과 같은 그와 같은 기술은 필요한 평균 양자화 파라미터를 결정하기 위해 본 실시예에 관련하여 사용될 수 있지만, 본 발명의 실시예들은 그와 같은 기술을 사용하는 것들에 제한되지 않으며 - 물론 다른 기술들 역시 사용될 수 있다.
WO2007/066066의 품질 메트릭에 대한 이차 근사화는 다음과 같으며, Q는 평균 양자화 파라미터이고 C는 평균 콘트라스트이다.
이것은 이차 방정식을 푸는 기지의 방법들에 의해 풀 수 있으며, 평균 콘트라스트가 주어진 경우 목표 품질을 달성하기 위해 필요하게 되는 평균 양자화 지수에 대한 해답을 제공한다.
Figure 112013052636965-pct00002
그 다음 이 양자화 파라미터의 값을 가지고 부호화하기 위해 필요하게 되는 비트율에 대한 추정치를 계산한다. 비트율은, H.264로 부호화할 때, 거의 다음 식에 의해 양자화 파라미터에 따라 변한다는 것이 잘 알려져 있다. 다른 비디오 부호화 표준으로 부호화할 때 다른 식들이 적용되며, 해당하는 식들 역시 잘 알려져 있다.
Figure 112013052636965-pct00003
파라미터 K는 콘텐츠 타입에 따라 그리고 어느 정도는 품질에 따라 변하고, 보통 4.0 ~ 5.0 범위에 있다. 이 실시예에서는 K=4.4로 설정한다.
그러므로 일정 비트율 부호화로부터 시퀀스 내 각각의 픽처 그룹을 일정 품질로 부호화하기 위해 필요한 비트의 수를 추정하는 것이 가능하다. 그 다음에 일정 품질로 픽처 그룹들을 부호화하기 위해 필요한 추정된 비트 수의 순서로 상기 픽처 그룹들을, 최저부터 최고까지, 정렬하고, 또한 누적 주파수 분포를 그래프로 묘사함으로써, 실제의 일정 품질 부호화를 갖는 최초의 케이스에서와 같이 진행하는 것이 가능하다.
도 6은 최초의 일정 품질 부호화를 위한 누적 주파수 분포와 일정 비트율 부호화의 분석으로부터 도출된 추정 누적 주파수 분포를 도시한다.
상기 추정된 일정 품질 누적 주파수는 실제 곡선과 매우 근사하고, 따라서 일정 비트율로 부호화하기 위해 일정 비트율 레벨들을 선택하는데 있어서 아주 적절하다는 것을 알 수 있다.
수정된 양자화 지수를 가지고 부호화될 때 주어진 픽처 그룹에 필요한 비트율을 추정하는 상기 프로세스는 부정확한 결과를 자주 제공할 수 있지만, 다수의 픽처 그룹들의 결과가 함께 고려될 때 전체적인 결과는 크게 향상된다는 것을 알아야 한다.
상기 추정된 일정 품질 누적 주파수 곡선은 그 다음에 전술한 바와 같이 일정 비트율 부호화 레벨들을 계산하기 위해 사용될 수 있다. 만일 이것이 이전에 설명한 것과 같이 정확히 수행된다면, 일정 품질 누적 주파수 곡선을 추정하는 목적으로, 콘텐츠를 부호화하기 위해 이미 사용된 비트율은 선택된 비트율들 중 하나가 아닐 가능성이 있다. 어떤 경우에는 이것은 수용할 수 있지만, 다른 경우에는 이것을 일정 비트율 부호화 레벨들 중 하나로서 이용하는 것이 바람직할 수 있다.
이 경우에는 상기 절차가 다음과 같이 수정될 수 있다.
이전과 같이, 먼저 사용할 일정 비트율 레벨들의 수를 선택한다. 이 실시예에서는, 레벨 수는 다시 4이다. 그 다음 상기 누적 그래프를 비트율이 최초의 일정 비트율 부호화에서 사용된 시점에서 2개의 섹션으로 나눈다.
이것은 도 7에 도시되어 있으며, 최초의 일정 비트율 부호화에서 사용된 비트율 2 MBit/s보다 아래의 곡선의 부분은 실선으로 표시되어 있고 최초의 일정 비트율 부호화에서 사용된 비트율보다 높은 곡선의 부분은 점선으로 표시되어 있다.
그 다음에 전체 곡선에 대해 전술한 바와 같이 2개의 곡선 세그먼트의 각각을 처리하며, 각각의 세그먼트에 대한 일정 비트율 부호화 레벨들의 최적 개수를 모르기 때문에 즉, 합계만 알고 있기 때문에, 추가 반복이 필요하다. 그러므로 각 세그먼트에 대해 가능한 모든 수의 일정 비트율 부호화 레벨들에 대하여 반복한다. 이 실시예에서는 첫 번째 세그먼트에 대해서 3개 레벨을 시도하고 두 번째 세그먼트에 대해서 1개 레벨을 시도한 다음, 각각의 세그먼트에 대해 2개 레벨을 시도하고 마지막으로 첫 번째 세그먼트에 대해 1개 레벨을 그리고 두 번째 세그먼트에 대해 3개 레벨을 시도할 것이다. 우리는 가장 낮은 합계 면적을 제공하는 솔루션을 선택할 것이다.
또 다른 응용 시나리오에서, 콘텐츠 내의 임의의 지점에서 시작하여(종종 랜덤 액세스라고 함), 콘텐츠를 전달할 수 있으면서, 동시에 최대 레이트에 필요한 전달 비트율을 제약할 수 있는 것을 포함하는 이유들 때문에, 일정 비트율 부호화 레벨로서 사용되는 상기 최대 비트율을 제한하기를 원할 수 있다.
그와 같은 경우에 이 최대 비트율로 초기 부호화를 수행하는 것이 실용적일 수 있다. 이 비트율에서 목표 품질보다 낮은 품질로 부호화되는 픽처 그룹은 최종적인 거의-일정한 품질 부호화된 파일에 상기 더 낮은 품질로 부호화될 것이다. 다른 픽처 그룹들은 목표 품질 이상으로 부호화될 것이다.
이 경우에 이 첫 번째 부호화에서 목표 품질보다 더 낮은 품질로 부호화되는 픽처 그룹들을 위해 필요한 비트율을 추정할 필요가 없으며, 이는 그러한 픽처 그룹들을 부호화하기 위해 사용되는 것이 바로 이 비트율이기 때문이다. 그러므로 초기 부호화에서 사용된 비트율에서 일정 품질 누적 주파수 곡선을 종료하고(이 경우에는 상기 도면의 실선 곡선일 수 있음), 일정 비트율 부호화 레벨들을 찾기 위해 전술한 바와 같이 그것을 처리할 수 있다. 또는 도 8에 도시된 것과 같이, 초기 부호화에서 사용된 비트율에서 일정 품질 누적 주파수 곡선 위의 비트율을 잘라서(clip) 모든 픽처 그룹들에 대하여 곡선이 지속하도록 허용하고, 일정 비트율 부호화 레벨들을 찾기 위해 전술한 바와 같이 그것을 처리할 수 있을 것이다.
이제 최초의 일정 비트율 부호화에서 사용된 비트율 이상 및 이하 둘 다의 비트율에 대해 일정 비트율 부호화 레벨들을 선택하는 실시예를 설명한다.
전술한 바와 같이, 1) 첫 번째 세그먼트에 대해 3개의 일정 비트율 레벨과 두 번째 세그먼트에 대해 1개의 일정 비트 레벨; 2) 각 세그먼트에 대해 2개의 일정 비트율 레벨; 및 3) 첫 번째 세그먼트에 대해 1개의 일정 비트율 레벨과 두 번째 세그먼트에 대해 3개의 일정 비트 레벨;과 같은 3개의 케이스를 고려한다.
도 9는 3개의 케이스 각각에 대한 일정 비트율 레벨의 초기 설정을 도시하며, 각 세그먼트의 수평 범위는 동일한 백분율로 분할되었고, 나눗수는 세그먼트에 대한 일정 비트율 레벨의 개수이다.
도 10은 반복 프로세스가 각 케이스에 대해 종료된 후 3개의 케이스 각각에 대해 선택된 일정 비트율 레벨들을 도시한다.
아래의 표는 3개의 케이스 각각에 대해 각 반복 이후 선택된 비트율과 관련 영역들을 나타낸다. 모든 케이스에 있어서 최고 비트율은 항상 픽처 그룹에 대한 최대 추정 비트율이고, 추정된 누적 주파수 곡선의 하위 세그먼트에서 사용된 최고 비트율은 항상 최초 부화화 비트율이다.
표 2는 첫 번째 세그먼트에 3개의 일정 비트율 레벨과 두 번째 세그먼트에 대해 1개의 일정 비트율 레벨을 적용한 경우(케이스 1)이다:
Figure 112013052636965-pct00004
표 3은 각각의 세그먼트에 대해 2개의 일정 비트율 레벨을 적용한 경우(케이스 2)이다
Figure 112013052636965-pct00005
표 4는 첫 번째 세그먼트에 1개의 일정 비트율 레벨과 두 번째 세그먼트에 대해 3개의 일정 비트율 레벨을 적용한 경우(케이스 3)이다:
Figure 112013052636965-pct00006
케이스 2는 최저 면적 합계로 수렴하며, 따라서 최적 솔루션은 최초 부호화 비트율보다 높은 2개의 일정 비트율 레벨과 그것보다 크지 않은 2개를 갖는 것임을 알 수 있고, 후자 중 하나는 최초 부호화 레이트가 될 것임을 알 수 있다.
또한, 상기 케이스에 반복이 적용되기 전이라도, 상기 추정된 누적 주파수 곡선의 하위 세그먼트와 관련된 면적이 케이스 2의 면적 합계보다 더 크기 때문에,상기 케이스들이 번호 순서로 고려된다면 케이스 3은 사실 반복할 필요가 없었고, 따라서 케이스 3에서 하위 세그먼트에 대해 어떤 변경도 없기 때문에, 케이스 3은 케이스 2보다 더 나을 수가 없을 것이다.
도 11은 바람직한 일 실시예에 따른 방법을 수행하는 도 1에 도시된 것과 같은 부호화기의 동작을 설명하는 흐름도이다. 도 11을 참조하면, 부호화되는 비디오 시퀀스는, 예를 들면, 도 1의 장치의 비디오 인터페이스(1)의 입력(2)에서 수신된다(단계 100). 시퀀스는 디지털 부호화된 비디오 프레임들의 스트림으로서 또는 파일로서 수신될 수 있다. 시퀀스는 초기에 종래의 CBR 부호화 비트율을 사용하여 부호화된다(단계 105). 부호화된 시퀀스는 그 다음에 비디오 청크들로 분할되고, 각각의 청크는 그 다음에 목표 지각 품질 레벨을 충족시키기 위해 어떤 일정 비트율로 부호화될 필요가 있는지 결정하기 위해 분석된다(단계 10). 이 시점에서, 그렇게 결정된 비트-카운트(bit-count)를 정렬함으로써(단계 120) 도 2에 도시된 것과 같은 그래프가 그려질 수 있고, 그렇게 결정된 일정 비트율들의 범위를, 초기(즉, 반복-이전) 일정 비트율로서 간주될 수 있는 것에 의해 제한되는, 4개(또는 어떤 수라도 선택 가능함)의 부분 범위들로 분할함으로써 도 3에 도시된 것과 같은 그래프가 그려질 수 있다(단계 125). 이것은 그래프를 4 개의 동일한 섹션들로 x축을 따라 분할함으로써, 또는 다른 다양한 방법으로 실행될 수 있다.
전술한 바와 같이, 도 3의 x축을 따라 임의의 지점에서 표시된 비디오 청크에 대해서, 일정-품질 곡선 상부와 계단형 점선 하부 사이의 수직 거리는 그 지점에서 일정 품질 부호화를 위해 필요한 추가의 비트율을 나타내며, 그것은 결과적으로 상기 특정 비디오 청크가 불필요하게 높은 품질로 부호화되는 것이므로(즉, 목표 품질보다 높지만 품질의 향상은 눈에 띄는 전체적인 지각 품질로 귀결되지 않을 수 있기 때문에) '낭비"될 수 있다. 도 3 내지 도 5의 그래프를 다시 참조하면, 상기 프로세스의 다음 단계는, 일정 비트율 부분-범위들의 선택된 수(즉, 이 경우에는, 4)보다 큰 임의의 수로 곡선을 분할할 필요 없이, 그와 같이 '낭비'될 수 있는 추가 비트율의 전체 양을 감소시키기 위해 반복을 수행하는 것을 포함한다.
일정-품질 누적 주파수 곡선은 일반적으로 불규칙하게 늘려진 S자형 곡선이 될 것이므로, 초기 설정(x축을 따라서 동일하게 이격된 구간들)의 결과는 일반적으로 그래프의 우측단의 면적 분율이 다른 것들보다 현저히 더 클 것이다. 이렇게 가장 큰 면적 분율을 축소시키기 위해 상기 구간들을 위치 변경함으로써, 다른 면적 분율들은 증가할 가능성이 있지만, 가장 큰 면적 분율의 감소보다 현저히 더 적을 것이다. 그러므로 전체 면적(즉, 면적 분율들의 합계)은 연속적인 반복의 각각에 의해 축소될 것이다.
도 11의 단계 130 및 단계 150은 이것이 어떻게 실행되는지 나타낸다. 단계 130에서, 전체 면적(구간들이 도 3에서와 같이 주어진 초기 설정의 위치에 있을 경우)이 계산된다. 단계 135에서, 이 전체 면적은 선택된 숫자(즉, 이 경우에는, 4)에 의해 나누어지고, 그 다음 단계 140에서, 상기 구간들은 (이전에는 큰) 우측 영역의 면적이 이전 전체 면적의 단지 1/4이 되도록 위치가 변경된다. 전체 면적은 그 다음에 단계 145에서 다시 계산된다(즉, 도 4에 도시된 것과 같이 위치 변경된 구간들에서). 단계 150에서, 전술한 것과 같은 미리 결정된 종료 조건이 충족되었는지 여부에 대해 판정된다. '아니오'인 경우, 단계 150에서 종료 조건에 대한 결과를 다시 검사하기 전에 단계 135, 단계 140 및 단계 145를 반복함으로써 추가적인 반복이 실행될 수 있다. 만일 종료 조건이 충족되면, 프로세스는 다음 단계로 계속될 것이다.
일정 비트율( CBR ) 비디오 비트스트림으로부터 거의-일정 품질 비디오 비트스 트림의 생성
지금까지, 도 11의 단계 100 내지 단계 150를 구체적으로 참조하여, 생성된 비디오 비트스트림의 크기를 최소화하면서 목표 품질 이상으로 모든 청크들이 부호화되는 비디오 비트스트림을 생성하기 위해 각각의 비트스트림으로부터 청크를 선택하는 것이 가능하도록 비디오를 부호화하는 일정 비트율 레벨들이 어떻게 선택될 수 있는지 설명했다.
이들 일정 비트율 레벨들을 선택했으면, 그 다음 비디오 콘텐츠(전체 시퀀스, 또는 필요에 따라 전체 시퀀스의 각각의 부분들)는 그와 같은 부호화가 벌써 실행되지 않았다면 상기 선택된 레벨들에서 일정 비트율로 부호화된다(단계 155). 그 다음에 일정 비트율 부호화된 비디오 비트스트림들은 전술한 바와 같이 각각의 픽처 그룹에 대해 품질 메트릭을 결정하기 위해 분석된다(단계 160). 그 다음에, 비디오 콘텐츠의 각각의 픽처 그룹에 대해 차례로, 목표 품질 이상에서 부호화된 최저 비트율 비디오 비트스트림으로부터 비트들을 선택하거나, 목표 품질이 어떤 부호화에서도 달성되지 않은 경우에 최고 비트율 비디오 비트스트림으로부터 비트들을 선택함으로써 새로운 비디오 비트스트림을 생성한다(단계 165).
도 11의 최종 단계 (단계 165)를 위한 이 프로세스는 단계 200에서 시작하는 아래 제시된 설명적인 흐름도 단계들에 지정된 것과 같이 수행될 수 있다.
200 선택된 일정 비트율 레벨들(Lr)(r=1....R)에서 부호화된 소스 비디오 콘텐츠는 청크(g)(g=1....G)로 분할되며, 이것은 통상 인트라 부호화된 픽처에서 시작하는 픽처들의 그룹들이며, 각각의 부호화된 비디오 스트림의 각각의 청크에 대해, 지각 품질(Perceptual Quality)(Qrg)이 결정된다.
210 목표 품질(Target Quality)(Qr)이 출력 거의-일정 품질 부호화된 비트스트림 파일을 위한 목표 품질로 설정된다.
220 청크 지수를 g=1로 설정.
230 비트율 지수를 r=0으로 설정.
240 r=r+1로 설정.
250 (Qrg≤QT)이고 (r<R)이면 단계 240으로 진행.
260 청크(g)에 대한 출력 비트스트림 파일의 비트율 지수를 Fg=r로 설정.
270 g=g+1로 설정. g≤G이면 단계 230으로 진행하고 그렇지 않으면 종료.
각각 (전술한 바와 같은 방식으로 선택한) 상이한 비트율을 갖는 복수의 일정 비트율 비디오 스트림들로부터 취해진 비디오 콘텐츠의 시간적 부분(temporal portions)(또는 "청크(chunks)")을 사용하여 최종적인 거의-일정 품질 비디오 비트스트림을 생성하는 궁극적인 프로세스가 전술한 흐름도 단계들 또는 다른 다양한 방식으로 수행될 수 있음은 물론 명백하다.

Claims (12)

  1. (a) 하나 이상의 초기 일정 비트율로 부호화된 비디오 시퀀스를 획득하는 단계;
    (b) 상기 부호화된 비디오 시퀀스를 시간적 부분들로 분할하는 단계;
    (c) 복수의 상기 시간적 부분들의 각각에 대해서, 상기 시간적 부분들이 미리 결정된 지각 품질 요구사항을 충족시키도록 부호화될 수 있는 일정 비트율을 결정하기 위해 각각의 시간적 부분들을 분석하는 단계;
    (d) 상기 결정된 일정 비트율의 범위를 복수의 부분-범위들로 분할하는 단계;
    (e) 상기 시간적 부분들은, 상기 시간적 부분들이 할당되는 부분-범위와 관련된 비트율로 부호화되면, 상기 미리 결정된 지각 품질 요구사항을 충족시키도록 상기 부분-범위들 중 하나에 각각의 시간적 부분들을 할당하는 단계;
    (f) 상기 시퀀스에 대해서, 상기 시간적 부분들이 할당된 부분-범위들의 비트율로 상기 시간적 부분들이 각각 부호화되기 위해 요구되는 데이터 양을 나타내는 제1 비트-카운트 측정치를 설정하고, 상기 시간적 부분들 각각이 일정 지각 품질 요구사항에 부합하기에 충분한 비트율로 부호화되기 위해 요구되는 데이터 양을 나타내는 제2 비트-카운트 측정치를 설정하는 단계;
    (g) 상기 제1 비트-카운트 측정치와 상기 제2 비트-카운트 측정치 사이의 불일치 레벨을 나타내는 차이 측정치를 결정하는 단계;
    (h) 하나 이상의 부분-범위가 관련된 상이한 비트율을 갖도록 갱신된 비트율 세트를 사용하여 1회 이상 일정 비트율의 범위를 재분할하는 단계; 및
    (i) 상기 갱신된 비트율 세트로부터 상이한 비트율로 각각 부호화된 시간적 부분들을 포함하는 출력 비디오 시퀀스를 생성하는 단계를 포함하고,
    단계 (d)에서, 각각의 부분-범위는 관련된 복수의 상이한 비트율들 중 선택된 하나를 갖고,
    단계 (h)에서, 상기 갱신된 비트율 세트에 의해 단계 (e), (f) 및 (g)의 후속 수행의 결과로 상기 불일치의 감소를 나타내는 차이 측정치를 결정하는, 비디오 부호화 방법.
  2. 제 1 항에 있어서,
    획득된 상기 비디오 시퀀스는 미리 결정된 초기 일정 비트율로 초기에 부호화되는, 비디오 부호화 방법.
  3. 제 1 항 또는 제 2 항에 있어서,
    획득된 상기 비디오 시퀀스는 콘텐츠가 주어진 비디오 서비스를 위해 부호화되는 최대 레이트로 초기에 부호화되는, 비디오 부호화 방법.
  4. 제 1 항 또는 제 2 항에 있어서,
    획득된 상기 비디오 시퀀스의 각각의 부분들은 상이한 특성을 가진 것으로 식별되고, 상이한 초기 일정 비트율로 부호화되고, 각각의 부분들에 대한 초기 비트율은 그것들에 관하여 상기 식별된 각각의 특성에 종속하여 결정되는, 비디오 부호화 방법.
  5. 제 1 항 또는 제 2 항에 있어서,
    상기 일정 비트율의 범위를 재분할하는 단계는 상기 갱신된 비트율 세트가 상기 하나 이상의 초기 일정 비트율 중 하나 이상을 포함하도록 수행되는, 비디오 부호화 방법.
  6. 제 5 항에 있어서,
    상기 일정 비트율의 범위를 재분할하는 단계는 그것과 관련된 상기 하나 이상의 초기 일정 비트율보다 더 큰 비트율을 갖는 최적 개수의 부분-범위들, 및 그것과 관련된 상기 하나 이상의 초기 일정 비트율보다 낮은 비트율을 갖는 최적 개수의 부분-범위들을 식별하는 단계를 포함하는, 비디오 부호화 방법.
  7. 제 1 항 또는 제 2 항에 있어서,
    부호화를 위해 사용된 상기 일정 비트율의 개수는 2~10인, 비디오 부호화 방법.
  8. 제 1 항 또는 제 2 항에 있어서,
    상기 일정 비트율의 범위를 재분할하는 단계는 상기 일정 비트율의 범위를 상이한 개수의 부분-범위들로 분할하는 단계를 포함하고,
    각각의 부분-범위는 그것과 관련된 복수의 상이한 비트율 중 선택된 하나를 갖는, 비디오 부호화 방법.
  9. 제 1 항 또는 제 2 항에 있어서,
    부호화를 위해 사용된 상기 일정 비트율은 미리 결정된 최대 비트율에 의해 제한되는, 비디오 부호화 방법.
  10. 제 7 항에 있어서,
    부호화를 위해 사용된 상기 일정 비트율의 개수는 4인, 비디오 부호화 방법.
  11. 삭제
  12. 삭제
KR1020137015250A 2010-12-29 2011-12-20 비디오 부호화 방법 및 장치 KR101583896B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP10252239A EP2472868A1 (en) 2010-12-29 2010-12-29 Video coding
EP10252239.8 2010-12-29
PCT/GB2011/001745 WO2012089991A1 (en) 2010-12-29 2011-12-20 Video coding

Publications (2)

Publication Number Publication Date
KR20130135268A KR20130135268A (ko) 2013-12-10
KR101583896B1 true KR101583896B1 (ko) 2016-01-08

Family

ID=43971386

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020137015250A KR101583896B1 (ko) 2010-12-29 2011-12-20 비디오 부호화 방법 및 장치

Country Status (6)

Country Link
US (1) US8824547B2 (ko)
EP (2) EP2472868A1 (ko)
JP (1) JP5507770B2 (ko)
KR (1) KR101583896B1 (ko)
CN (1) CN103339934B (ko)
WO (1) WO2012089991A1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2373049A1 (en) * 2010-03-31 2011-10-05 British Telecommunications Public Limited Company Video quality measurement
US10298985B2 (en) 2015-05-11 2019-05-21 Mediamelon, Inc. Systems and methods for performing quality based streaming
US11076187B2 (en) 2015-05-11 2021-07-27 Mediamelon, Inc. Systems and methods for performing quality based streaming
JP2017157903A (ja) * 2016-02-29 2017-09-07 富士ゼロックス株式会社 情報処理装置
WO2021229520A1 (en) * 2020-05-14 2021-11-18 Ssimwave Inc. Perceptual quality assessment metric based content and viewer aware encoding
US11870833B2 (en) * 2021-08-31 2024-01-09 Google Llc Methods and systems for encoder parameter setting optimization

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3107620B2 (ja) * 1991-12-18 2000-11-13 沖電気工業株式会社 音声符号化方法
JPH07202820A (ja) * 1993-12-28 1995-08-04 Matsushita Electric Ind Co Ltd ビットレート制御システム
US5612900A (en) * 1995-05-08 1997-03-18 Kabushiki Kaisha Toshiba Video encoding method and system which encodes using a rate-quantizer model
US6278735B1 (en) * 1998-03-19 2001-08-21 International Business Machines Corporation Real-time single pass variable bit rate control strategy and encoder
KR100585932B1 (ko) * 2001-08-29 2006-06-01 한국전자통신연구원 실시간 동적 가변 비트율 전송 장치 및 그 방법
JP2007509525A (ja) * 2003-10-20 2007-04-12 サムスン エレクトロニクス カンパニー リミテッド 視覚的画質を均一にするビットレートコントロール方法及び装置
JP5043856B2 (ja) 2005-12-05 2012-10-10 ブリティッシュ・テレコミュニケーションズ・パブリック・リミテッド・カンパニー 映像品質測定
GB0706424D0 (en) 2007-04-02 2007-05-09 British Telecomm Video streaming
US8582647B2 (en) 2007-04-23 2013-11-12 Qualcomm Incorporated Methods and systems for quality controlled encoding
EP2059049A1 (en) * 2007-11-07 2009-05-13 British Telecmmunications public limited campany Video coding
US8165204B2 (en) 2008-02-29 2012-04-24 Michael Bronstein Resource allocation for frame-based controller
EP2101503A1 (en) 2008-03-11 2009-09-16 British Telecommunications Public Limited Company Video coding
US8325800B2 (en) 2008-05-07 2012-12-04 Microsoft Corporation Encoding streaming media as a high bit rate layer, a low bit rate layer, and one or more intermediate bit rate layers
US8265140B2 (en) 2008-09-30 2012-09-11 Microsoft Corporation Fine-grained client-side control of scalable media delivery
CN101562740B (zh) * 2009-06-02 2011-06-22 北京大学 视频编码处理方法和装置
CN101882316A (zh) * 2010-06-07 2010-11-10 深圳市融创天下科技发展有限公司 一种图像区域划分/编码方法、装置及系统

Also Published As

Publication number Publication date
CN103339934A (zh) 2013-10-02
KR20130135268A (ko) 2013-12-10
JP2014504818A (ja) 2014-02-24
EP2659677A1 (en) 2013-11-06
CN103339934B (zh) 2016-06-22
JP5507770B2 (ja) 2014-05-28
US20130279565A1 (en) 2013-10-24
US8824547B2 (en) 2014-09-02
WO2012089991A1 (en) 2012-07-05
EP2472868A1 (en) 2012-07-04
EP2659677B1 (en) 2015-01-28

Similar Documents

Publication Publication Date Title
JP3756346B2 (ja) ビデオ・フレームの多重ストリームを処理する方法及びシステム
DK2382784T3 (en) Video coding with multi-bit-rate using variable-bit-rate and dynamic resolution for adaptive video streaming
US9313529B2 (en) Video streaming
TWI511544B (zh) 用於可調適視訊串流之技術
JP5180294B2 (ja) ビデオ符号化において、フレームの複雑さ、バッファレベル、およびイントラフレームの位置を利用するバッファベースのレート制御
EP2441265B1 (en) Motion based dynamic resolution multiple bit rate video encoding
US8351513B2 (en) Intelligent video signal encoding utilizing regions of interest information
US9094684B2 (en) Method for dual pass rate control video encoding
KR101583896B1 (ko) 비디오 부호화 방법 및 장치
US8996713B2 (en) Video streaming
CN108810545B (zh) 用于视频编码的方法、装置、计算机可读介质及电子设备
Hoang et al. Lexicographic bit allocation for MPEG video
Moon et al. An Uniformalized Quality Encoding in Cloud Transcoding System
Overmeire et al. Constant quality video coding using video content analysis
JP4346732B2 (ja) ビデオ・フレームの多重ストリームを処理する方法及びシステム
EP2373028A1 (en) Video coding estimation
Chang et al. A two-layer characteristic-based rate control framework for low delay video transmission
KR20070061247A (ko) 엠펙-4 비디오 신호의 비트율을 동적인 통신 용량 변화에따라 제어하는 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20200103

Year of fee payment: 5