KR20080066684A - 레이트-왜곡 특징들을 사용하는 비디오 코딩을 위한 2 패스레이트 제어 기술들 - Google Patents
레이트-왜곡 특징들을 사용하는 비디오 코딩을 위한 2 패스레이트 제어 기술들 Download PDFInfo
- Publication number
- KR20080066684A KR20080066684A KR1020087009602A KR20087009602A KR20080066684A KR 20080066684 A KR20080066684 A KR 20080066684A KR 1020087009602 A KR1020087009602 A KR 1020087009602A KR 20087009602 A KR20087009602 A KR 20087009602A KR 20080066684 A KR20080066684 A KR 20080066684A
- Authority
- KR
- South Korea
- Prior art keywords
- rate
- distortion
- video sequence
- qps
- coding
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 93
- 238000013139 quantization Methods 0.000 claims abstract description 24
- 230000015654 memory Effects 0.000 claims description 31
- 230000006870 function Effects 0.000 claims description 30
- 230000000116 mitigating effect Effects 0.000 claims description 9
- 238000005259 measurement Methods 0.000 claims 6
- 238000013459 approach Methods 0.000 abstract description 62
- 230000008569 process Effects 0.000 description 12
- 239000013598 vector Substances 0.000 description 11
- 238000012360 testing method Methods 0.000 description 9
- 238000002474 experimental method Methods 0.000 description 8
- 230000009467 reduction Effects 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 5
- 238000007906 compression Methods 0.000 description 5
- 230000006835 compression Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 238000009826 distribution Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 238000010845 search algorithm Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000001965 increasing effect Effects 0.000 description 4
- 238000003491 array Methods 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000009795 derivation Methods 0.000 description 1
- 238000009472 formulation Methods 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000013178 mathematical model Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/189—Methods 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/192—Methods 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/194—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/124—Quantisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/146—Data rate or code amount at the encoder output
- H04N19/147—Data rate or code amount at the encoder output according to rate distortion criteria
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/146—Data rate or code amount at the encoder output
- H04N19/15—Data rate or code amount at the encoder output by monitoring actual compressed data size at the memory before deciding storage at the transmission buffer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/146—Data rate or code amount at the encoder output
- H04N19/152—Data rate or code amount at the encoder output by measuring the fullness of the transmission buffer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/172—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/189—Methods 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/19—Methods 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 using optimisation based on Lagrange multipliers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods 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)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
본 개시물은 "2 패스" 접근 방식에 기초하여 비디오 코딩을 개선할 숭 lT는 레이트 제어 기술들을 설명한다. 제 1 패스는 제 1 패스의 통계들에 기초하여 비디오 시퀀스의 레이트-왜곡 특징들을 추정하기 위해 양자화 파라미터들(QPs)의 제 1 세트를 사용하여 비디오 시퀀스를 코딩한다. QPs의 제 2 세트는 제 2 코딩 패스를 위해 정의될 수 있다. 제 1 코딩 패스의 추정된 레이트-왜곡 특징은 비디오 시퀀스의 프레임들의 왜곡을 최소화하는 방식으로 제 2 패스에 대한 QPs를 선택하기 위해 사용된다.
Description
본 발명은 디지털 비디오 프로세싱에 관한 것이며, 특히 비디오 시퀀스들의 레이트 제어 코딩에 관한 것이다.
디지털 비디오 성능들은 디지털 텔레비전, 디지털 직접 방송 시스템들, 무선 통신 디바이스들, 개인 디지털 보조장치들(PDAs), 랩탑 컴퓨터들, 데스크탑 컴퓨터들, 디지털 카메라들, 디지털 레코딩 디바이스들, 셀룰러 또는 위성 무선 전화기들등등을 포함하는 광범위한 디바이스들에 통합될 수 있다. 디지털 비디오 디바이스들은 전체 움직임 비디오 시퀀스들을 생성, 수정, 전송, 저장, 기록 및 재생할 때 종래의 아날로그 비디오 시스템들에 비해 상당한 개선점들을 제공할 수 있다.
다수의 서로 다른 비디오 코딩 표준들은 디지털 비디오 시퀀스들을 코딩하기 위해 성립되었다. 동영상 전문가 그룹(MPEG)은 예를 들어 MPEG-1, MPEG-2, MPEG4를 포함하는 다수의 표준들을 개발하였다. 다른 표준들은 국제 원격통신 연합(ITU) H.263 표준, Cupertino California의 Apple Computer에 의해 개발된 QuickTime™ 기술, Redmond, Washington의 Microsoft Corporation에 의해 개발된 Windows™용 비디오, Intel Corporation에 의해 개발된 Indeo™, Seattle, Washington의 RealNetworks, Inc.로부터의 RealVideo™, SuperMac, Inc.에 의해 개발된 Cinepak™을 포함한다. 또한, ITU H.264 표준 및 다수의 독점 표준들을 포함하는 새로운 표준들이 발생하고, 발전한다.
다수의 비디오 코딩 표준들은 압축된 방식으로 데이터를 코딩함으로써 비디오 시퀀스들의 개선된 전송 레이트들을 허용한다. 압축은 비디오 프레임들의 효율적인 전송을 위해 전송되어야 하는 전체 데이터량을 감소시킬 수 있다. 대부분의 비디오 코딩 표준들은 예를 들어 압축 없이 달성될 수 있는 더 좁은 대역폭을 통한 비디오 및 이미지 전송을 용이하게 하도록 설계된 그래픽 및 비디오 압축 기술들을 사용한다. MPEG 표준들 및 ITU H.263 및 ITU H.264 표준들은 예를 들어 프레임간 압축을 제공하기 위한 시간적인 또는 프레임간 정정이라 지칭되고 연속하는 비디오 프레임들간의 유사성들을 사용하는 비디오 코딩 기술들을 지원한다. 상기 프레임간 압축은 움직임 추정 및 움직임 보상 코딩 기술들을 통해 달성된다. 또한, 몇몇 비디오 코딩 기술들은 비디오 프레임들을 압축하기 위한 공간적인 또는 프레임 내 정정이라 지칭되고 프레임들 내의 유사성들을 사용할 수 있다.
다수의 레이트 제어 기술들은 비디오 코딩을 위해 개발되었다. 레이트 제어 기술들은 특히 비디오 시퀀스들의 실시간 전송을 용이하게 하기 위해 중요하지만, 비-실시간 코딩 세팅들에서 사용될 수 있다. 레이트 제어를 위해, 코딩 기술들은 프레임마다 코딩되는 비트들의 개수를 동적으로 조정할 수 있다. 특히, 레이트 제어는 비디오 시퀀스가 주어진 레이트로 효율적으로 코딩될 수 있고 따라서 허용된 대역폭에서 전송될 수 있도록 보장하기 위해 프레임마다 코딩되는 비트들의 개수를 제한할 수 있다. 만약 코딩 기술이 비디오 시퀀스의 장면 변경들에 반응하지 못하면, 비디오 시퀀스의 실시간 전송을 위한 비트 레이트는 장면이 변화함에 따라 상당히 변화할 수 있다. 또한, 몇몇 응용들(무선 비디오 전화통신과 같은)에 대하여, 대역폭 사용가능성은 비디오 시퀀스가 코딩되는 동안 변화할 수 있다. 상기와 같은 또는 다른 이유들로 인해, 레이트 제어 기술들은 코딩 동안 프레임마다 사용되는 비트들의 개수를 동적으로 조정하기 위해 사용될 수 있다.
본 개시물은 비디오 코딩을 개선할 수 있는 레이트 제어 기술들을 개시한다. 특히, 본 개시물은 "2 패스" 코딩에 기초하는 다수의 레이트 제어 기술들을 설명하지만, 추가의 패스들이 사용될 수 있다. 제 1 패스는 제 1 패스의 통계들에 기초하여 비디오 시퀀스의 레이트-왜곡 특징들을 추정하기 위해 양자화 파라미터들(QPs)의 제 1 세트를 사용하여 비디오 시퀀스를 코딩한다. QPs의 제 2 세트는 제 2 코딩 패스를 위해 정의될 수 있다. 제 1 코딩 패스가 비디오 시퀀스의 레이트-왜곡 특징들의 추정치를 제공하기 때문에, 제 2 패스에 대한 QPs의 선택은 프레임간 의존성을 고려하여 개선될 수 있다.
다양한 실시예들 및 변형들이 본 명세서에 설명된다. 그러나, 본 개시물과 일치하는 2가지 기본적인 대안들이 일반적으로 제안된다. 제 1 경우에, 제 1 패스의 추정된 레이트-왜곡 특징들은 비디오 시퀀스의 프레임들의 왜곡을 최소화하는 방식으로 제 2 패스에 대한 QPs를 선택하는데 사용된다. 제 2 경우에, 제 1 패스의 추정된 레이트-왜곡 특징들은 비디오 시퀀스의 프레임들 사이의 품질 변동을 최소화하는 방식으로 제 2 패스에 대한 QPs를 선택하는데 사용되며, 낮은 평균 프레임 왜곡을 달성하기 위해 최소화된 품질 변동에서 품질을 최대화할 수 있다.
일 실시예에서, 본 개시물은 제 1 코딩 패스 내의 제 1 양자화 파라미터들(QPs)의 세트를 사용하여 비디오 시퀀스의 프레임들을 코딩하는 수단, 상기 제 1 코딩 패스의 상기 코딩된 비디오 시퀀스에 대한 레이트-왜곡 통계들을 획득하는 수단, 상기 레이트-왜곡 통계들에 기초하여 상기 비디오 시퀀스의 레이트-왜곡 특징들을 추정하는 수단, 및 상기 추정된 레이트-왜곡 특징들에 기초하여 상기 비디오 시퀀스 내의 상기 프레임들의 제 2 코딩 패스에 대한 QPs의 제 2 세트를 선택하는 수단을 포함하는 비디오 코딩 디바이스를 제공한다.
일 실시예에서, 본 개시물은 제 1 코딩 패스 내의 제 1 양자화 파라미터들(QPs)의 세트를 사용하여 비디오 시퀀스의 프레임들을 코딩하는 수단, 상기 코딩된 비디오 시퀀스에 대한 레이트-왜곡 통계들을 획득하는 수단, 상기 레이트-왜곡 통계들에 기초하여 상기 비디오 시퀀스의 레이트-왜곡 특징들을 추정하는 수단, 및 상기 비디오 시퀀스 내의 상기 프레임들의 제 2 코딩 패스에 대한 QPs의 제 2 세트를 선택하기 위해 추정된 레이트-왜곡 특징들을 사용하여 제 2 코딩 패스 내의 비디오 시퀀스의 프레임들 사이에서 품질 변동을 실질적으로 최소화하기 위한 수단을 포함하는 비디오 코딩 디바이스를 제공한다.
본 명세서에 개시된 레이트 제어 코딩 기술들은 하드웨어, 소프트웨어, 펌웨어 또는 이들의 임의의 조합으로 비디오 코딩 디바이스 내에서 구현될 수 있다. 소프트웨어에서 구현되는 경우에, 소프트웨어는 비디오 코딩을 위해 사용되는 프로그램 가능한 프로세서와 같이 프로세서 내에서 구현될 수 있다. 상기 기술들을 수행하는 소프트웨어는 컴퓨터로 읽을 수 있는 매체 내에 초기에 저장될 수 있고, 상기 레이트 제어 비디오 코딩을 수행하기 위해 프로세서 내에 로딩되어 실행될 수 있다.
다양한 실시예들의 추가 설명들이 하기의 도면 및 설명에서 설명된다. 다른 특징들, 목적들 및 장점들이 하기의 설명, 도면 및 청구항들로부터 명백할 것이다.
도 1은 본 개시물에 따른 예시적인 비디오 코딩 디바이스를 설명하는 블럭 다이어그램이다.
도 2는 비디오 시퀀스를 위한 양자화 파라미터들을 정의하기 위해 레이트-왜곡 특징들이 추정되고 사용되는 본 개시물의 일 실시예에 따른 2-패스 레이트 제어 비디오 코딩 기술을 설명하는 흐름도이다.
도 3-15는 본 개시물의 기술들의 양상들을 설명하는 데이터의 다양한 그래프들이다.
도 16은 품질 변동이 비디오 시퀀스의 프레임들에 대하여 최소화되는 본 개시물의 일 실시예에 따른 2-패스 레이트 제어 비디오 코딩 기술을 설명하는 흐름도이다.
도 17-26은 본 개시물의 기술들의 양상들을 설명하는 데이터의 추가 그래프들이다.
본 개시물은 비디오 코딩을 위한 레이트 제어 기술들을 설명한다. 설명된 기술들은 제 1 코딩 패스가 비디오 시퀀스의 특징들을 추정하기 위해 사용되고, 추정된 특징들이 제 2 패스를 위한 양자화 파라미터들(QPs)의 선택을 개선하는데 사용되는 "2-패스" 접근방식에 기초한다. 상기 개시물은 비디오 시퀀스의 레이트-왜곡 특징들의 프레임 종속성의 특정 특징들을 이용할 수 있다. 특히, 상기 개시물은 다수의 경우들에서(특히 본 명세서에서 연구되는 경우들에서) 현재 프레임의 레이트 및 왜곡이 바로 선행하는 프레임에서 사용된 QP에 따라 결정되지만 바로 선행하는 프레임 이전의 프레임들을 위해 사용된 QPs는 현재 프레임의 레이트 및 왜곡에 매우 적은 영향만을 미칠 수 있음을 제시한다. 상기 의견들을 사용하여, 계산 강도에서의 상당한 감소는 레이트 및 왜곡 모델들을 근사값들로 간략화함으로써 코딩 디바이스에서 달성될 수 있다.
제 1 코딩 패스는 제 1 패스의 통계들에 기초하여 비디오 시퀀스의 레이트-왜곡 특징들을 추정하기 위해 QPs의 제 1 세트를 사용하여 비디오 시퀀스를 코딩한다. QPs의 제 1 세트는 동일한 QP를 모든 프레임에 할당하거나 QP를 결정하기 위해 레이트 버짓(budget)을 사용하고, 이후에 각각의 후속하는 QP를 정의하기 위해 남아있는 프레임에 레이트 버짓을 재할당하는 이른바 "그리디(greedy)" 알고리즘을 사용하는 것과 같은 방식으로 선택될 수 있다. QPs의 제 1 세트가 제 1 코딩 패스에 대하여 선택되거나 결정되는 방식에 관계없이, 비디오 시퀀스에 대한 레이트-왜곡 통계들은 제 1 코딩 패스에 의해 획득될 수 있다.
제 1 코딩 패스 이후에, 비디오 시퀀스의 레이트-왜곡 특징들은 레이트-왜곡 통계들에 기초하여 추정될 수 있다. 레이트-왜곡 특징들이 추정될 수 있는 방식은 서로 다른 실시예들에서 변화할 수 있지만, 일반적으로 제 1 코딩 패스에서 획득된 레이트-왜곡 통계들에 레이트 및 왜곡 모델들을 적용하는 것을 포함한다. 레이트-왜곡 특징들이 추정된 이후에, 상기 특징들은 비디오 시퀀스 내의 프레임들의 제 2 코딩 패스에 대하여 QPs의 제 2 세트를 선택하기 위해 사용된다. 제 2 코딩 패스는 그 후에 궁극적으로 비디오 시퀀스를 코딩하기 위해 사용될 수 있고, 상기 제 2 코딩 패스를 위해 선택된 QPs는 상기 코딩에서 비디오 품질 개선들을 달성할 수 있다.
다양한 실시예들 및 변형들이 본 명세서에 개시된다. 그러나, 본 개시물과 일치하는 2개의 기본적인 대안들이 일반적으로 제안된다. 제 1 경우에서, 제 1 패스의 추정된 레이트-왜곡 특징들은 비디오 시퀀스의 프레임들의 왜곡을 최소화하는 방식으로 제 2 패스에 대한 QPs를 선택하는데 사용된다. 제 2 경우에서, 제 1 패스의 추정된 레이트-왜곡 특징들은 비디오 시퀀스의 프레임들 사이에서 품질 변동을 최소화하는 방식으로 제 2 패스에 대한 QPs를 선택하는데 사용된다. 왜곡 최소화로 인해 평균적으로 더 양호한 전체 코딩이 발생할 수 있지만, 품질 변동의 최소화는 급격한 품질 변경들로 인한 바람직하지 않은 플리커링 문제들을 감소시키거나 제거할 수 있다. 상기 2가지 경우들의 조합들은 본 개시물에 의해 고려된다.
도 1은 예시적인 비디오 코딩 디바이스(10)를 설명하는 블럭 다이어그램이다. 비디오 코딩 디바이스(10)는 비디오 데이터를 코딩하고 전송할 수 있는 디지 털 비디오 디바이스의 일부분을 형성할 수 있다. 비디오 데이터는 비디오 카메라로부터 캡처되거나, 비디오 기록으로부터 검색되거나 또는 또다른 방식으로 획득될 수 있다. 코딩 디바이스(10)는 디지털 텔레비전들, 디지털 직접 방송 시스템들, 무선 통신 디바이스들, 개인 디지털 보조장치들(PDAs), 랩탑 컴퓨터들, 데스크탑 컴퓨터들, 디지털 카메라들, 디지털 기록 디바이스들, 셀룰러 또는 위성 무선 전화기들 또는 비디오 전화통신(VT) 능력들을 가지는 임의의 원격통신 디바이스와 같은 디바이스들에서 구현될 수 있다. 코딩 디바이스(10)는 MPEG-4, ITU-T H.263, ITU-T H.264, 또는 양자화된 비디오 코딩을 위해 QP 선택을 요구하는 또다른 비디오 코딩 표준을 따를 수 있다. 코딩 디바이스(10)는 움직임 추정 및 움직임 보상과 같은 프레임간 코딩 기술들을 지원할 수 있고, 프레임 내 코딩을 위해 사용되는 공간 추정 및 인트라-예측 코딩 기술들과 같은 다른 기술들을 지원할 수 있다.
도 1에 도시된 것과 같이, 코딩 디바이스(10)는 비디오 시퀀스들을 코딩하기 위한 비디오 코딩 장치(12) 및 상기 코딩 이전 및 이후에 비디오 시퀀스들을 저장하기 위한 비디오 메모리(20)를 포함한다. 디바이스(10)는 또한 코딩된 시퀀스들을 또다른 디바이스로 전송하기 위한 송신기(22) 및 비디오 시퀀스들을 캡처하고 캡처된 시퀀스들을 메모리(20) 내에 저장하기 위한 비디오 카메라와 같은 비디오 캡처 디바이스(18)를 포함할 수 있다. 코딩 디바이스(10)의 다양한 엘리먼트들은 통신 버스(15)를 통해 통신 결합될 수 있다. 다양한 필터들과 같은 다양한 다른 엘리먼트들 또는 다른 엘리먼트들은 코딩 디바이스(10) 내에 포함될 수 있지만, 간략함을 위해 특정하여 설명되지 않는다. 도 1에 도시된 구조는 본 명세서에 개시 된 기술들이 다양한 다른 구조들과 함께 구현될 수 있기 때문에 거의 예시적이다.
비디오 메모리(20)는 일반적으로 상대적으로 많은 메모리 공간을 포함한다. 비디오 메모리(20)는 예를 들어 동적 랜덤 액세스 메모리(DRAM) 또는 FLASH 메모리를 포함할 수 있다. 다른 예들에서, 비디오 메모리(20)는 비휘발성 메모리 또는 임의의 다른 데이터 저장 디바이스를 포함할 수 있다.
비디오 코딩 장치(12)는 이동 무선전화기를 위한 이른바 "칩셋"을 포함하며, 이는 하드웨어, 소프트웨어, 펌웨어 및/또는 하나 또는 그 이상의 마이크로 프로세서들, 디지털 신호 처리기들(DSPs), 애플리케이션용 집적 회로들(ASICs), 현장 프로그램가능한 게이트 어레이들(FPGAs) 또는 이들의 다양한 조합들을 포함할 수 있다. 비디오 코딩 장치(12)는 일반적으로 로컬 메모리(18)에 접속된 비디오 코더(14)를 포함한다. 비디오 코더(14)는 디지털 비디오 데이터를 인코딩 및 디코딩하기 위한 인코더/디코더(CODEC)를 포함할 수 있다. 로컬 메모리(18)는 비디오 메모리(20)와 관련하여 더 작고 더 고속인 메모리 공간을 포함할 수 있다. 예를 들어, 로컬 메모리(18)는 비동기 동적 랜덤 액세스 메모리(SDRAM)를 포함할 수 있다. 로컬 메모리(18)는 프로세서-집중 코딩 프로세스 동안 데이터로의 매우 빠른 액세스를 제공하기 위해 비디오 코딩 장치(12)의 다른 컴포넌트들과 통합된 "온-칩" 메모리를 포함할 수 있다. 그러나, 메모리들(20, 18)은 동일한 메모리 부분에 결합될 수 있거나 다수의 다른 구성들로 구현될 수 있다.
본 명세서에 개시된 것과 같이, 비디오 코더(14)는 제 1 코딩 패스가 비디오 시퀀스의 특징들을 추정하는데 사용되고 제 2 코딩 패스가 코딩 품질을 개선하기 위해 제 2 패스 내에서 사용되는 QPs의 선택시 개선하기 위해 추정된 특징들을 사용하는 "2-패스" 코딩 접근 방식을 실행한다. 레이트 제어 유니트(30)는 QP 선택 프로세스를 처리하며, 상기 프로세스는 제 1 코딩 패스 내에서 추정된 특징들을 사용한다. 레이트 제어 유니트(30)에 의해 실행되는 기술들은 본질적으로 레이트 및 왜곡 모델들을 근사치들로 간략화함으로써 계산 집중도에서 상당한 감소를 달성하기 위해 비디오 시퀀스의 레이트-왜곡 특징들을 추정함으로써 프레임 종속성을 이용할 수 있다.
레이트 제어 유니트(30)는 제 1 패스의 통계들에 기초하여 비디오 시퀀스의 레이트-왜곡 특징들을 추정하기 위해 제 1 코딩 패스 내의 QPs의 제 1 세트를 적용한다. 제 1 코딩 패스 이후에, 레이트 제어 유니트(30)는 레이트-왜곡 통계들에 기초하여 비디오 시퀀스의 레이트-왜곡 특징들을 추정한다. 그 후에, 레이트 제어 유니트(30)는 비디오 시퀀스 내의 프레임들의 제 2 코딩 패스에 대한 QPs의 제 2 세트를 선택하기 위해 상기 추정된 레이트-왜곡 특징들을 사용한다. 제 2 코딩 패스는 그 후에 궁극적으로 비디오 시퀀스를 코딩하는데 사용될 수 있고, 제 2 코딩 패스에 대하여 선택된 QPs는 상기 코딩에서 비디오 품질 개선들을 달성할 수 있다. 본 개시물에 따라, 추정된 특징들은 제 2 패스 내에서 개선된 QP 선택을 고려하는 방식으로 프레임 종속성들을 정량화할 수 있다.
각각의 코딩 패스에 대하여, 주어진 비디오 프레임의 코딩 동안, 코딩될 현재 비디오 블럭은 비디오 메모리(20)로부터 로컬 메모리(18)로 로딩될 수 있다. 예측 비디오 블럭들을 결정할 때 사용된 탐색 공간은 비디오 메모리(20)로부터 로 컬 메모리(18)로 로딩될 수 있다. 탐색 공간은 선행하는 비디오 프레임들(또는 후속 프레임들) 중 하나 또는 그 이상의 프레임의 픽셀들의 서브 세트를 포함할 수 있다. 선택된 서브 세트는 코딩될 현재 비디오 블럭에 인접하게 매칭되는 예측 비디오 블럭의 식별을 위해 가능한 위치로서 미리 식별될 수 있다.
로컬 메모리(18)에는 코딩될 현재 비디오 블럭 및 탐색 공간이 로딩된다. 움직임 추정기/공간 추정기(24)는 예측 비디오 블럭을 식별하기 위해 탐색 공간 내의 다양한 비디오 블럭들과 현재 비디오 블럭을 비교한다. 움직임 추정기/공간 추정기(24)는 일반적으로 프레임간 코딩을 위한 움직임 추정을 수행하는 움직임 추정기, 프레임 내 코딩을 위한 공간 추정을 수행하는 공간 추정기 또는 상기 움직임 추정과 공간 추정을 수행할 수 있는 결합된 유니트를 표시한다. 일반적으로, 예측 비디오 블럭은 후보 비디오 블럭에 거의 인접하게 매칭될 수 있는 프레임간 상관(또는 프레임 내 상관)을 위해 현재 비디오 블럭과의 적당한 매치를 제공하는 것으로 발견된 후보 비디오 블럭이다. 예측 비디오 블럭은 현재 비디오 블럭과 관련하여 최소 차이 값을 가지는 비디오 블럭을 식별하기 위해 움직임 추정 프로세스 등안 평가된 다수의 후보 비디오 블럭들 중 하나이다.
코딩될 현재 비디오 블럭과 메모리(18)의 탐색 공간 내의 후보 비디오 블럭들 사이에서 비교들을 수행하기 위해, 움직임 추정기/공간 추정기(24)는 절대 차이의 합(SAD) 기술들, 제곱된 차이의 합(SSD) 기술들 또는 다른 비교 기술들을 수행할 수 있다. 상기 방식에서, 움직임 추정기/공간 추정기(24)는 서로 다른 후보 비디오 블럭들에 대하여 서로 다른 값들을 결정할 수 있다. 더 낮은 차이 값은 일반 적으로 후보 비디오 블럭이 더 우수한 매칭임을 표시하고, 다른 후보 비디오 블럭들 보다 움직임 추정 코딩에서 사용하기에 더 양호한 후보는 더 높은 차이 값들을 산출하는 것을 표시한다. 예측 비디오 블럭은 적절한 매치가 발견될 때 식별될 수 있다.
예측 비디오 블럭이 코딩될 비디오 블럭을 위한 움직임 추정기/공간 추정기(24)에 의해 식별되면, 움직임 추정기/인트라-예측 유니트(26)는 나머지를 생성한다. 나머지는 코딩될 현재 비디오 블럭과 움직임 추정 또는 공간 추정에 의해 식별된 예측 비디오 블럭간의 차이들을 표시하는 데이터 블럭이다. 움직임 추정기/인트라-예측 유니트(26)는 일반적으로 프레임간 코딩을 위한 움직임 보상을 수행하는 움직임 보상기, 프레임 내 코딩을 위한 공간 보상을 수행하는 인트라-예측 유니트, 또는 프레임간 코딩 또는 프레임 내 코딩이 사용되는지의 여부에 따라 결정되는 움직임 보상 및 인트라-예측을 수행할 수 있는 결합된 유니트를 표시한다. 움직임 보상기/인트라-예측 유니트(26)는 움직임 벡터를 사용하여 예측 블럭을 패치하고, 나머지를 생성하기 위해 입력 블럭으로부터 예측 블럭을 감산할 수 있다. 나머지는 일반적으로 차이 블럭에 의해 표시되는 원래의 비디오 블럭 보다 실질적으로 더 적은 데이터를 포함한다.
움직임 보상기/인트라-예측 유니트(26)가 나머지를 생성한 후에, 나머지 코더(28)는 이산 코사인 변환(DCT), 지그재그 스캐닝, 실행 길이 코딩, 가변 길이(호프만) 코딩 또는 주어진 코딩 표준에서 사용되는 임의의 다른 프로세스와 같은 하나 또는 그 이상의 나머지 코딩 단계들을 수행할 수 있다. 다양한 다른 나머지 코 딩 단계들이 또한 수행될 수 있다.
레이트 제어 유니트(30)는 본 개시물과 일치하는 2개의 대안들 중 하나를 실행할 수 있다. 제 1 경우에, 레이트 제어 유니트(30)는 비디오 시퀀스의 모든 프레임들에서 왜곡을 최소화하는 방식으로 제 2 패스에 대한 QPs를 선택하기 위해 제 1 패스의 추정된 레이트-왜곡 특징들을 사용한다. 제 2 경우에서, 레이트 제어 유니트(30)는 시퀀스의 프레임들의 품질 변동을 최소화하는 방식으로 제 2 패스에 대한 QPs를 선택하기 위해 제 1 패스의 추정된 레이트-왜곡 특징들을 사용한다. 왜곡 최소화는 평균적으로 더 우수한 전체 코딩을 발생할 수 있지만, 품질 변동의 최소화는 급격한 품질 변경들로 인한 플리커링 문제점들을 감소시키거나 제거하기 위해 요구될 수 있다. 상기 2개 대안들의 각각에 대한 세부 설명은 하기에 상세히 설명된다.
도 2-15의 논의는 그 목표가 코딩된 비디오 시퀀스의 왜곡을 실질적으로 최소화하기 위한 제 1 접근 방식을 강조하지만, 도 16-26은 그 목표가 일반적으로 코딩된 비디오 시퀀스의 품질 변동을 실질적으로 최소화하기 위한 제 2 접근 방식을 강조한다. 그러나, 도 2-26 중 임의의 도면과 관련하여 논의되는 임의의 세부 설명들은 각각의 접근 방식의 일 또는 그 이상의 양상들이 본 개시물에 따른 결합시 사용될 수 있기 때문에 어떤 접근 방식에 제한되는 것으로 간주되지 않을 수 있다. 다양한 실시예들에서 본 명세서에서 논의되는 테스트 시퀀스들의 그래프들, 즉 테스트 시퀀스들은 일반적으로 코딩 품질을 테스트하고 비교하기 위해 비디오 코딩에서 공통으로 사용되는 4분 공통 이미지 포맷(QCIF)이다.
도 2는 본 개시물에 따른 레이트 제어된 비디오 코딩을 위한 기술들을 설명하는 흐름도이다. 도 2에 도시된 것과 같이, 비디오 코더(14)는 QPs의 제 1 세트(40)를 사용하여 비디오 시퀀스의 프레임들을 코딩한다. 레이트 제어 유니트(30)는 그 후에 제 1 코딩 패스(41)의 코딩된 비디오 시퀀스에 대한 레이트-왜곡 통계들을 획득한다. 비디오 코더(14)의 다양한 다른 유니트들(24, 26, 28)은 레이트 제어 유니트(30)에 의해 식별되는 QPs의 제 1 세트를 사용하여 제 1 코딩 패스 내에서 구현될 수 있다. QPs의 제 1 세트는 다양한 서로 다른 방식들로 또는 임의의 레이트 제어 알고리즘에 따라 선택될 수 있다. 일 예에서, QPs의 제 1 세트는 시퀀스 내의 프레임들의 개수와 관련된 레이트 버짓에 기초하여 프레임에 대한 QP를 선택하지만 그 후에 나머지 레이트 버짓을 나머지 프레임들에 재할당하는 이른바 "그리디(greedy)" 알고리즘에 기초하여 레이트 제어 유니트(30)에 의해 동적으로 선택된다. 또다른 예에서, 동일한 QP는 QPs의 제 1 세트 내의 QPs가 서로 동일한 경우에 제 1 패스 내의 모든 프레임들에 대하여 미리 선택되고 사용될 수 있다.
제 1 코딩 패스 이후에, 레이트 제어 유니트(30)는 제 1 코딩 패스(42)에 의해 획득된 레이트-왜곡 통계들에 기초하여 비디오 시퀀스의 레이트-왜곡 특징들을 추정한다. 일반적으로, 레이트-왜곡 특징들을 추정하는 프로세스는 레이트-왜곡 통계들에 레이트 모델 및 왜곡 모델을 적용하는 것을 포함한다. 예시적인 수학 모델들이 하기에서 상세히 설명되며, 상기 수학 모델들은 근사치들로의 계산 복잡성을 감소시킬 수 있고, 심지어는 매우 우수한 추정들 및 우수한 코딩 결과들을 제공할 수 있다. 다시 말해서, 추정된 특징들은 제 2 패스 내에서 개선된 QP 선택을 허용하는 방식으로 프레임 종속성들을 정량화할 수 있다.
레이트 제어 유니트(30)는 그 후에 레이트 왜곡 특징들(43)에 기초하여제 2 코딩 패스에 대한 QPs의 제 2 세트를 선택한다. QPs의 제 2 세트는 QPs의 제 1 세트와는 서로 상이하며 코딩 품질을 개선하기 위해 선택된다. 제 1 코딩 패스는 더 낮은 품질의 코딩 패스일 수 있지만, 정확한 모델링을 적용하기 위해 요구되는 정보를 제공하며, 비디오 시퀀스의 코딩시 프레임간 종속성들을 고려할 수 있다. 일 예에서, 레이트 제어 유니트(30)는 하기에서 논의되는 것과 같이 추정된 레이트-왜곡 특징들에 라그랑지안 완화 연산을 수행함으로써 QPs의 제 2 세트를 선택한다. 상기 경우 또는 유사한 경우에, QPs의 제 2 세트의 선택은 비디오 시퀀스 내의 프레임들의 왜곡을 실질적으로 최소화하는 것을 수반할 수 있다. 임의의 경우에, 레이트 제어 유니트(30)가 QPs의 제 2 세트를 선택하면, 비디오 코더(14)는 QPs의 제 2 세트(44)를 사용하여 비디오 시퀀스를 코딩한다.
비디오 코딩에서, 기본적인 문제는 비디오 시퀀스의 최대 전체 품질을 달성하기 위해 각각의 프레임에 대하여 QP를 선택하거나 프레임들 사이에 비트들을 효율적으로 할당하는 것이다. 상기 문제점의 어려움은 주로 지수적인 개수의 노드들을 포함하는 후보 공간을 탐색하기 위한 프레임들의 코딩 종속성들 및 그로 인한 비용으로 인한 것이다. 본 개시물의 일 실시예에서, 제 2 패스 코딩에서 실질적인 레이트 및 왜곡 상태를 근사화하기 위해 추정 모델들의 세트를 사용하는 솔루션이 제안된다. 모델들은 다수의 경우들에서 현재 프레임의 레이트 및 왜곡이 그 선행하는 프레임의 양자화 레벨에 따라 결정되고, 지난 프레임 이전의 이전 프레임들의 QP 선택이 현재 프레임의 성능에 매우 큰 영향을 미치는 관찰 결과에 기초한다. 모델들 및 관찰 결과들은 문제점의 후보 공간의 상당한 감소를 가능하게 한다. 또한, 라그랑지안 완화 및 동적 프로그래밍을 사용하여, 제한된 문제점은 비제한 문제점으로 변환되고 최단 경로 탐색 알고리즘에 의해 해결된다. 실험 결과들은 몇몇 종래 CODECs에서 사용되는 "그리디" 프레임-레벨 레이트 제어 알고리즘과 비교하여 1.7dB까지의 상당한 이득들을 표시한다.
다수의 종래의 레이트 제어 방식들은 실시간 코딩 애플리케이션들을 위해 설계되며, 그리디 프레임-레벨 비트 할당 방식을 채용한다. 그리드 프레임-레벨 비트 할당 방식은 향후 프레임들이 균일하게 분포된 텍스처 복잡성을 가질 수 있도록 보장한다. 따라서, 그리디 프레임-레벨 비트 할당 방식은 향후 프레임들 사이에 나머지 비트들을 동등하게 할당한다.
공교롭게도, 프레임의 레이트-왜곡(R-D) 함수가 이전 코딩된 프레임들에 대한 양자화 파라미터(QP) 선택들에 따라 결정되기 때문에 우수한 프레임 비트 할당을 획득하는 것은 중요한 일이 아니다. 다시 말해서, 전체 비디오 시퀀스에 대한 전체 레이트-왜곡 함수의 발생은 프레임 종속성들로 인해 매우 어렵다.
본 개시물은 정확한 레이트 및 왜곡 추정 모델에 기초하는 프레임-레벨 레이트 제어 알고리즘을 제안한다. 프레임 왜곡은 선행하는 프레임의 양자화 레벨에 매우 의존하는 것이 관찰된다. 또한, 제 2 패스 코딩 동안의 왜곡은 제 1 패스 내의 왜곡의 함수와 같은 통계들(동일한 양자화 레벨을 사용함), 제 1 패스 내의 움직임-보상된 나머지의 에너지 및 제 1 패스 내의 선행하는 프레임의 왜곡에 의해 근사화될 수 있다. 또한 바로 선행하는 프레임보다 이른 프레임들의 양자화 선택이 현재 프레임의 프레임 왜곡에 매우 적은 영향을 주는 것이 관찰된다. 전술된 관찰들 및 각각의 프레임에 대하여 추정된 ρ- QP 및 D-QP 테이블들(메모리(18) 내에 저장될 수 있는)에서, 라그랑지안 완화 기술들은 각각의 프레임에 대하여 요구되는 QP 선택을 찾아내기 위해 사용될 수 있다. 값 ρ은 프레임 내의 비-제로 양자화된 DCT 계수들의 개수를 표시하고, QP는 양자화 파라미터를 표시하며, D는 왜곡을 표시한다.
일 실시예에 따라, 제 1 패스 코딩 동안 수집된 통계들에 기초하여 비디오 시퀀스의 최대 전체 품질을 달성하기 위한 노력으로 각각의 프레임에 대한 QP를 선택하는 것과 같은 문제점이 정의될 수 있다. 제 1 패스 코딩을 수행하는 방법의 문제가 상기 문제를 단순화하는 것과 관련되지만, "그리디" 프레임-레벨 비트 할당 알고리즘이 제 1 패스에서 프레임을 코딩하는데 사용되는 것을 가정할 수 있다. 물론, 다른 제 1 패스 코딩 기술들이 본 개시물의 2-패스 기술들에 따라 사용될 수 있다. 하기에서, 프레임 비트 레이트는 프레임 내의 비-제로 양자화된 DCT 계수들의 개수인 ρ의 함수로서 모델링된다. 그 후에, 비트 레이트는 하기와 같이 표시될 수 있다:
R=Aρ+B (식 1)
상기 A 및 B는 일정한 모델링 파라미터들이다. A는 비-제로 양자화된 DCT 계수들을 코딩하는데 요구되는 비트들의 평균 개수를 표시할 수 있고, B는 예측 모드들 및 움직임 벡터들과 같이 비-텍스처 정보를 위해 사용되는 비트들을 표시할 수 있다.
N이 처리된 비디오 시퀀스 내의 전체 프레임들의 개수를 표시하도록 하자. 는 QP를 표시한다. 는 비-제로 양자화된 DCT 계수들에 대한 비트들의 평균 개수를 표시한다. 는 비-텍스처 정보를 코딩하기 위한 비트들의 개수를 표시한다. 는 비-제로 양자화된 DCT 계수들의 개수를 표시한다. 는 움직임-보상된 나머지의 에너지를 표시한다. 는 제 1 패스 코딩에서 발생된 i번째 프레임의 왜곡을 표시하며, (i=1, 2, ..., N)는 시퀀스의 프레임을 식별한다. "^"에 의해 식별되는 변수들은 제 1 코딩 패스에 의해 추정되는 변수들이다. 식별자 "^" 표시되지 않는 변수들은 예를 들면 근사치들 또는 풀이될 제 2 패스 변수들과 같이 유사하게 제 1 패스 변수들로 지칭된다.
Rbudget는 비디오 시퀀스를 위한 전체 비트 버짓을 표시하고, {Qi}, {Ri}, {Di}는 QP, 비트 레이트, 제 2 패스 코딩 내의 i번째 프레임의 왜곡을 표시하도록 하자. 따라서 문제는 다음과 같이 표시될 수 있다:
프레임 종속성들은 선행하는 프레임의 QP 선택이 현재 프레임의 레이트-왜곡 성능에 큰 영향을 미친다는 관찰 결과에 기초하여 상당히 간략화될 수 있다. 다시 말해서, i-튜플(tuple) 함수들 Ri(Q1, Q2, ..., Qi) 및 Di(Q1, Q2, ..., Qi)는 (Q1, Q2, ..., Qi)의 선택들이 i번째 프레임에 대한 레이트 및 왜곡에 상당한 변경들을 발생하지 않기 때문에 2-튜플 함수들 Ri(Qi -1, Qi) 및 Di(Qi -1, Qi)로 감소될 수 있다. 상기 관찰 결과는 도 3-6에 도시된 것과 같은 "풋볼(Football) QCIF 비디오 시퀀스"로 지칭되는 시퀀스에서 증명된다.
특히, 도 3은 45로 표시되는 (QP1=10, QP2=10), 46로 표시되는 (QP1=10, QP2=20), 47로 표시되는 (QP1=20, QP2=10), 48로 표시되는 (QP1=20, QP2=20)을 사용하여 시퀀스의 제 4 프레임에 대한 레이트-왜곡 곡선들의 실험 결과들을 도시한다. 도 4는 51로 표시되는 (QP1=10, QP2=10), 52로 표시되는 (QP1=10, QP2=20), 53로 표시되는 (QP1=20, QP2=10), 54로 표시되는 (QP1=20, QP2=20)을 사용하여 시퀀스의 제 4 프레임에 대한 레이트-QP 곡선들의 실험 결과들을 도시한다. 도 5는 56로 표시되는 (QP1=10, QP2=10), 57로 표시되는 (QP1=10, QP2=20), 58로 표시되는 (QP1=20, QP2=10), 59로 표시되는 (QP1=20, QP2=20)을 사용하여 시퀀스의 제 4 프레임에 대한 rho-QP 곡선들의 실험 결과들을 도시한다. 도 6은 61로 표시되는 (QP1=10, QP2=10), 62로 표시되는 (QP1=10, QP2=20), 63로 표시되는 (QP1=20, QP2=10), 64로 표시되는 (QP1=20, QP2=20)을 사용하여 시퀀스의 제 4 프레임에 대한 왜곡-QP 곡선들의 실험 결과들을 도시한다.
도 3-6의 결과들에 의해 설명되는 실험치들에 대하여, 제 1 프레임(I-프레임)의 QP는 5로 세팅되었고, QP 조합들(10, 10), (10, 20), (20, 10), (20, 20)은 제 2 및 제3 프레임들을 위해 사용되었다. 도 3-6으로부터, QP1(제 2 프레임에 대한 QP)의 선택이 제 4 프레임의 레이트 및 왜곡에 매우 적은 영향을 미치지만, QP2(제 3 프레임에 대한 QP)의 선택은 제 4 프레임의 성능에 직접적으로 영향을 미치는 것이 도시된다. 따라서, 임의의 상당한 품질을 희생하지 않고 연속하는 프레임들의 종속성들만을 고려함으로써 문제를 간략화할 수 있다.
따라서, 만약 Qi -1 및 Qi의 좌표들의 모든 조합에 대하여 Ri(Qi -1, Qi) 및 Di(Qi-1, Qi)의 테이블들을 획득하면, 식 2의 문제는 더 용이하게 해결될 수 있다. 하기의 설명에서, 정확한 추정 모델들은 제 1 패스 코딩에서 획득된 정보를 사용함으로써 레이트 및 왜곡 함수들을 근사화하도록 제안된다. 그 후에, 식 2의 문제점은 상기 문제점을 비제한되는 문제점으로 변환하기 위해 라그랑지안 완화를 사용하여 해결될 수 있다. 라그랑지안 완화를 사용하여 상기 문제점을 변환한 후에, 비 제한되는 문제점은 그래프 이론 문제점으로 맵핑될 수 있고, 최단 경로 탐색 알고리즘을 사용하여 해결될 수 있다.
왜곡 추정 모델에 대하여, 제 1 코딩 패스 내에서 i번째 프레임에 대하여 q=1, 2, ..., 31에 대한 의 모든 값들을 획득할 수 있다. 또한, 의 값이 획득될 수 있다. Z. He, Y. Kim, 및 S. K. Mitra에 의해 제안된 왜곡 모델, "Low-Delay Rate Control for DCT Video Coding via p -Domain Source Modeling", ZEEE Trans. Circuits and Systems for Video Technology, pp. 928-940, Aug. 2001에 기초하여,
및
이 획득되며, 상기 α1는 모델 파라미터이다.
도 5로부터, rho-QP 곡선이 주로 현재 프레임의 QP에 의해 유도되는 것을 관찰할 수 있다. 다시 말해서, 는 Qi에 큰 수(예를 들면, 15 이상)가 할당될 때와 같은 경우에 유지된다. 용어 rho는 본 명세서에 개시된 것과 같은 용어 ρ를 지칭한다. 식들 3 및 4로부터,
을 획득할 수 있다.
식 5는 "풋볼 QCIF 비디오 시퀀스"로 지칭되는 시퀀스의 최초 3개 프레임들을 코딩함으로써 실험적으로 증명된다. 상기 실험 결과는 도 7 및 8에 개시된다. 시퀀스의 제 1 프레임(I-프레임)은 QP=5를 사용하여 코딩되었고, 제 2 프레임(P-프레임)은 QP=5, 10, 15, 20, 30을 사용하여 코딩되었다. 도 7은 각각의 세팅 동안 제 3 프레임의 D-QP 곡선을 도시한다. 도 7에서 세팅들의 결과들(I-프레임, P-프레임)은 하기와 같이 표시된다: (5, 5)는 71로 표시되고, (5, 10)은 72로 표시되고, (5, 15)는 73으로 표시되고, (5, 20)는 74로 표시되고, (5, 30)은 75로 표시됨.
도 8에서, 제 2 프레임(P-프레임)에 대하여 Q=10을 세팅함으로써 생성된 제 3 프레임의 실제 D-QP 곡선은 제 2 프레임에 대하여 QP=5, 15, 20, 30를 사용하는 경우 및 식 5를 사용하여 생성된 데이터로부터 추정된 D-QP 곡선들과 비교된다. 도 8에서, 세팅들의 결과들(I-프레임, P-프레임)은 하기와 같이 표시된다: 실제 (5, 10)는 81로 표시되고, 예측된 (5, 5)은 82로 표시되고, 예측된 (5, 15)는 83으로 표시되고, 예측된 (5, 20)는 84로 표시되고, 예측된 (5, 30)은 85로 표시됨. 상기 결과들은 식 5가 매우 정확함을 표시한다.
식 5에서 를 추정하기 위해, M은 프레임 내의 전체 픽셀들을 표 시하고, yk(k=1, ..., M)는 프레임 내의 k번째 원래 픽셀을 표시하고, xk는 선행하는 프레임 내이 k번째 원래 픽셀을 표시하고, 및 는 제 1 및 제 2 패스 코딩에서 선행하는 프레임으로부터의 상응하는 움직임-보상된 픽셀을 표시하도록 사용된다. 여기에서, 모든 비디오 블럭들(예를 들면, 마크로 블럭들)이 제로 움직임 벡터들을 사용하는 특정 경우가 고려되며, 및 가 제 1 및 제 2 패스 코딩에서 선행하는 프레임의 상응하는 재구성된 픽셀임을 의미한다. 상기 경우에,
(식 6)
유사하게,
(식 7)
식 6 및 7은,
따라서,
(식 9) 및 따라서,
(식 10)이다.
식 6으로부터, 레이트 함수의 프레임간 종속성이 적당히 낮으며, 움직임-보상된 나머지 및 기준 프레임의 코딩 에러 사이에 선형 관계가 존재함을 관찰할 수 있다. 그러나, 현재 프레임의 레이트가 그 선행하는 프레임의 QP 선택에서 특정한 종속성들을 가짐이 관찰될 수 있다.
은 비-제로 양자화된 DCT 계수들에 대한 비트들의 평균 개수, 비-텍스처 정보를 코딩하기 위한 비트들의 개수 및 제 2 패스 코딩의 결과인 비-제로 양자화된 DCT 계수들의 개수를 표시한다. 명확하게, 이다. 이후에, 상기 파라미터들은 하기와 같이 경험적으로 모델링된다:
및
식 11에서, ρ1의 값은 움직임-보상된 나머지의 에너지(선행하는 프레임의 QP에 따라 결정됨) 및 현재 프레임 QP에 따라 결정된다. 식 11의 정확성은 "풋볼(Football) QCIF" 시퀀스(도 3-6의 결과들에 의해 설명되는 동일한 실험치와 같은)를 코딩하고 생성된 제 1-패스 데이터로부터 (제 2 프레임에 대하여 QP=10 및 제 3 프레임에 대하여 QP=20을 사용하여) 제 4 프레임의 rho-QP 곡선을 추정함으로써 검증될 수 있고, 상기 제 1-패스 데이터는 제 2 및 제 3 프레임 모두를 QP=10으로 세팅하고 식 11을 사용한다. 도 9에 도시된 것과 같이, 추정된 rho-QP 곡선(91)은 실제 rho-QP 곡선(92)과 거의 동일하다. 유사하게, 비-텍스처 비트들의 개수(Bi)는 식 12에 의해 모델링된 것과 같이 나머지의 에너지 및 현재 프레임의 QP에 따라 결정된다. 식 13을 사용할 때, 의 값에 기초하여 Ai의 값을 제어할 수 있다. Ai의 값은 높은 비트 레이트 경우들에서 매우 안정적이다. 그러나, 가 매우 작으면, 는 비현실적으로 높을 수 있다.
지금까지, 본 개시물은 Qi -1 및 Qi의 좌표들의 모든 조합들에 대하여 (Qi -1, Qi) 및 Di(Qi -1, Qi)를 추정하기 위한 모델들을 전개하였다. 모델들이 정확하다고 가정할 때, 식 2의 문제점에 대한 바람직한 솔루션을 개발할 수 있다. 특히, 라그랑지안 완화 접근 방식(Lagrangian relaxation approach)을 사용할 수 있고, 제한된 문제점의 최소 볼록 집합(convex hull) 접근 방식을 유도할 수 있다.
라그랑지안 비용 함수는 다음과 같이 정의한다:
상기 λ는 라그랑주 승수(Lagrange multiplier)이다. 만약 가 를 유도하게 하는 λ*가 존재하면, 는 식 2에 대한 바람직한 솔루션이다. 따라서, 식 2를 해결하는 작업은 비용 함수 를 최소화하는 비제한적인 문제점에 대한 바람직한 솔루션을 찾고 상기 제한을 만족하기 위한 적절한 라그랑주 승수를 선택하는 더 용이한 작업과 동일하다.
상기 문제점을 해결하기 위한 알고리즘을 실행하기 위해, Qk -1 및 Qk가 (k-1)번째 및 k번째 프레임에 대한 결정 벡터들로 주어질 때 k번째 프레임들을 포함하여 이들까지의 최소 전체 비트 레이트 및 왜곡을 표시하는 비용 함수 Gk(Qk -1, Qk)를 정의할 수 있다. 상기 경우에, k=N이고, GN(QN -1,QN)은 모든 프레임들에 대한 최소 전체 비트 레이트 및 왜곡을 표시하며, 따라서
효율적인 알고리즘을 유도하기 위한 한가지 중요한 관찰 방법(observation) 은 (k-2)번째 및 (k-1)번째 프레임들에 대한 주어진 결정 벡터들 Qk -2 및 Qk -1 및 비용 함수 Gk(Qk -1, Qk) 및 다음 결정 벡터 Qk의 선택이 이전의 결정 벡터들 Q1, Q2, ..., Qk -3의 선택과 상관없다는 사실이다. 이는 비용 함수가 하기와 같이 귀납적으로 표현될 수 있음을 의미한다:
상기와 같이 비용 함수의 귀납적인 표현은 프로세스의 향후 단계가 지난 단계들과 상관없게 하며, 이는 동적 프로그래밍의 기초가 된다.
문제점은 방향성 비순환 그래프(DAG)에서 최단 경로를 찾는 그래프 이론 문제점으로 변환될 수 있다. 상기 알고리즘은 기하급수적인 계산 복잡성을 가지는 철저한 검색 알고리즘보다 훨씬 더 효율적이다.
실험들은 다수의 비디오 칩들에 수행되었고, 상기 실험 결과들은 하기에서 설명된다. 먼저, 실험들은 추정된 왜곡 A, B 및 ρ을 제 2 패스 코딩에서 그들의 실제 값들과 비교함으로써 제안된 레이트 및 왜곡 모델들의 정확성을 검증하였다. 도 10-13에 도시된 것과 같이, 80kbps에서 "Mother and Daughter" 시퀀스로 지칭되는 시퀀스를 코딩한 결과들은 제안된 추정 모델이 매우 정확함을 입증한다.
도 10은 코딩된 "Mother and Daughter" 시퀀스의 추정된 왜곡(101) 및 실제 왜곡(102)을 그래프 표시한다. 도 11은 코딩된 "Mother and Daughter" 시퀀스에 대하여 A의 추정된 값들(111)과 A의 실제 값들을 비교한다. 도 12는 코딩된 "Mother and Daughter" 시퀀스에 대하여 ρ의 추정된 값들(121)과 ρ의 실제 값들(122)을 비교한다. 도 13은 코딩된 "Mother and Daughter" 시퀀스에 대하여 B의 추정된 값들(131)과 B의 실제 값들(132)을 비교한다. 실제 값들에 대한 추정된 값들의 정확성을 도 10-13으로부터 명확하다.
제 2 실험에서, "Mother and Daughter" QCIF 시퀀스는 40kbps 내지 120kbps의 비트 레이트 범위들에서 코딩되었고, 결과들은 2개의 다른 접근 방식들: (1) 향후 인입하는 프레임들이 균일하게 분포된 텍스처 복잡성을 가지며, 따라서 남아있는 비트들을 향후 프레임들에 동등하게 할당하는 것을 가정하는 프레임-레벨 그리디 레이트 제어; (2) 제 1 패스로부터 모델 파라미터들을 사용하는 2-패스 레이트 제어와 비교되었다. 도 14에 도시된 결과들은 본 개시물에서의 접근 방식이 모든 비트 레이트 범위들에서 다른 2개 접근 방식들에 비해 0.5-0.7dB의 이득들을 가지는 것을 표시한다. 도 14에서, 프레임-레벨 그리디 레이트 제어 접근 방식은 141로 표시되며, 제 1 패스 모델 파라미터들을 사용하는 접근 방식은 142로 표시되고, 본 명세서에 정의된 정확한 모델들을 가지는 제안된 접근 방식은 143으로 표시된다. 제안된 접근 방식의 개선된 결과들은 도 14에서 명백하다.
제 3 실험에서, 서로 다른 컨텐트 복잡성들을 가지는 다양한 세그먼트들을 포함하는 비디오 클립은 3개의 비디오 장면들: 높은 활성도(빠른 움직임)를 포함하는 "Stefan")으로 지칭되는 표준 QCIF 테스트 시퀀스의 최초 100개 프레임들, 낮은 활성도(느린 움직임)를 포함하는 "Container"로 지칭되는 표준 QCIF 테스트 시퀀스 의 최초 100개 프레임들 및 중간의 활성도(로컬 페이스 이동)를 포함하는 "Carphone"으로 지칭되는 표준 QCIF 테스트 시퀀스의 최초 100개 프레임들을 시뮬레이팅하여 구성된다. 제안된 접근 방식은 다시 이전 실험에서 사용된 2개의 다른 알고리즘들과 비교되었다. 결과들은 도 15에 도시되며, 제안된 알고리즘이 다른 접근방식들에 비해 1.7dB 까지의 상당한 이득들을 가지는 것을 표시한다. 개선점들은 비트 레이트가 증가할 때 감소한다. 개선점들은 제안된 알고리즘이 전체 비디오 클립에 대하여 더 최적의 비트 할당 솔루션을 발견하기 위해 후보 공간을 탐색하는데 유리하기 때문에 예측된다. 도 15에서, 프레임-레벨 그리디 제어 접근방식은 151로 표시되고, 제 1 패스 모델 파라미터들을 재사용하는 접근 방식은 152로 표시되며, 본 명세서에 정의된 정확한 모델들을 사용하는 제안된 접근 방식은 153으로 표시된다. 제안된 접근 방식의 개선된 결과들이 도 15에서 명백하다.
앞서 강조된 기술들 및 도 3-15에서 설명된 결과들은 본 개시물에 따른 모델-기반의 2-패스 레이트 제어 알고리즘의 일 실시예를 도시한다. 다시, 선행하는 프레임의 양자화 파라미터 선택이 현재 프레임의 레이트-왜곡 성능에 큰 영향을 미치는 것을 앎으로써, 프레임 종속성 문제는 성공적으로 단순화되었고 사이즈 후보 공간은 다항식에 대한 지수로부터 상당히 감소되었다. 그 후에, 정확한 모델들의 세트가 실제 코딩 동안 레이트 및 왜곡 상태를 근사화하기 위해 개발되었다. 상기 모델들은 후보 공간을 생성하고 상기 문제를 그래프 이론 문제로 맵핑하는 능력을 가능하게 하였다. 라그랑지안 완화 및 동적 프로그래밍을 사용하여, 원래의 제한된 문제점은 비제한 문제점으로 변환되고 최단 경로 탐색 알고리즘에 의해 해결된 다. 실험 결과들은 다른 현존하는 레이트 제어 알고리즘과 비교하여 1.7dB까지의 상당한 이득들을 표시한다.
도 16는 품질 변동이 비디오 시퀀스의 프레임들에 대하여 최소화되는 본 개시물의 또다른 실시예에 따른 2-패스 제어 비디오 코딩 기술을 설명하는 흐름도이다. 도 2와 유사하게, 도 16은 도 1의 비디오 코딩 디바이스(10)의 문맥에서 설명될 것이다. 도 16에 도시된 것과 같이, 비디오 코더(14)는 QPs의 제 1 세트(160)를 사용하여 비디오 시퀀스의 프레임들을 코딩한다. 레이트 제어 유니트(30)는 그 후에 제 1 코딩 패스(161)의 코딩된 비디오 시퀀스에 대한 레이트-왜곡 통계들을 획득한다. 비디오 코더(14)의 다양한 다른 유니트들(24, 26, 28)은 레이트 제어 유니트(30)에 의해 식별되는 QPs의 제 1 세트를 사용하여 제1 코딩 패스 내에서 구현될 수 있다. QPs의 제 1 세트는 다양한 서로 다른 방식들로 또는 임의의 레이트 제어 알고리즘에 따라 선택될 수 있다. 일 예에서, QPs의 제 1 세트는 시퀀스 내의 프레임들의 개수와 관련된 레이트 버짓에 기초하여 프레임에 대한 QP를 선택하지만 그 후에 나머지 레이트 버짓을 나머지 프레임들에 재할당하는 이른바 "그리디(greedy)" 알고리즘에 기초하여 레이트 제어 유니트(30)에 의해 동적으로 선택된다. 또다른 예에서, 동일한 QP는 QPs의 제 1 세트 내의 QPs가 서로 동일한 경우에 제 1 패스 내의 모든 프레임들에 대하여 미리 선택되고 사용될 수 있다. 그러나 다른 기술들은 제 1 코딩 패스에 대한 QPs의 제 1 세트를 정의하도록 사용될 수 있다.
제 1 코딩 패스 이후에, 레이트 제어 유니트(30)는 제 1 코딩 패스(162)에 의해 획득된 레이트-왜곡 통계들에 기초하여 비디오 시퀀스의 레이트-왜곡 특징들을 추정한다. 일반적으로, 레이트-왜곡 특징들을 추정하는 프로세스는 레이트-왜곡 통계들에 레이트 모델 및 왜곡 모델을 적용하는 것을 포함한다. 레이트 제어 유니트(30)는 그 후에 레이트 왜곡 특징들(163)을 사용하여 품질 변동을 실질적으로 최소화함으로써 제 2 코딩 패스에 대한 QPs의 제 2 세트를 선택한다. QPs의 제 2 세트를 선택할 때, 레이트 제어 유니트(30)는 최소화된 품질 변동으로 낮은 평균 프레임 왜곡을 달성하기 위해 실질적으로 최소화되 품질 변동으로 프레임들의 품질을 실질적으로 최대화할 수 있다.
QPs의 제 2 세트는 QPs의 제 1 세트와는 서로 상이하며 코딩 품질을 개선하기 위해 선택된다. 상기 경우에, QPs의 제 2 세트는 전체 시퀀스에서 왜곡을 최소화하지 않을 수 있지만, 비디오 품질을 저하시킬 수 있는 또다른 문제점을 처리한다. 특히, 도 16의 기술은 서로 다른 프레임들의 코딩 품질에서의 변동을 최소화하며, 예를 들어 상기 기술은 레이트-왜곡 변동을 최소화한다. 상기 방식에서, 플리커링(flickering) 문제점들이 감소되거나 제거될 수 있다. 그렇지 않으면 플리커링은 2개의 연속하는 프레임들 사이에서 코딩 품질이 격하게 변화할 때 발생할 수 있다. 레이트 제어 유니트(30)가 품질 변동을 실질적으로 최소화하고 (가능하면 최소화된 품질 변동에서 품질을 최대화함으로써) QPs의 제 2 세트를 선택하면, 비디오 코더(14)는 QPs의 제 2 세트(164)를 사용하여 비디오 시퀀스를 코딩한다.
도 2의 기술과 유사하게, 도 16의 기술에서, 제 1 코딩 패스는 더 낮은 품질의 코딩 패스가 될 수 있지만, 정확한 모델링을 적용하는데 요구되는 정보 및 비디 오 시퀀스의 코딩시 프레임간 종속성들에 대한 원인을 제공한다. 레이트-왜곡의 최소화는 광범위한 방식들로 수행될 수 있다. 일 예에서, 품질 변동을 실질적으로 최소화하는 것은 비디오 시퀀스에 대한 레이트 버짓에서 왜곡 변동을 실질적으로 최소화하는 것을 포함한다. 또다른 예에서, 품질 변동을 실질적으로 최소화하는 것은 비디오 시퀀스에 대한 레이트 버짓에서 Qps의 제 2 세트 내에서의 QP 변동을 실질적으로 최소화하는 것을 포함한다. 또다른 예에서, 품질 변동을 실질적으로 최소화하는 것은 비디오 시퀀스에 대한 레이트 버짓에서 왜곡 변동 및 레이트 변동을 실질적으로 최소화하는 것을 포함한다. 또다른 예에서, 품질 변동을 실질적으로 최소화하는 것은 비디오 시퀀스의 프레임들과 연관된 최대 왜곡 값을 최소화하는 것을 포함한다. 또다른 예에서, 품질 변동을 실질적으로 최소화하는 것은 비디오 시퀀스의 프레임들과 연관된 왜곡 값을 프로그램가능한 왜곡 임계치 미만으로 감소시키는 것을 포함한다. 상기 실시예의 추가 설명들은 하기의 문서에서 설명된다.
전술된 기술들과 유사하게, 하기에서 강조되는 기술들은 일정-비디오-품질 기반의 2-패스 프레임-레벨 레이트 제어 방식을 제공한다. 그러나, 하기에서, 상기 기술은 최소 최대(MINMAX) 왜곡 기준에 기초한다. 상기 기본 구조에서, 비디오 시퀀스에 대하여 비트 버짓이 주어질 때, 코더는 재구성된 비디오 시퀀스의 일정-품질을 간접적으로 보장하는 피크 최대 프레임 왜곡을 최소화하기 위해 각각의 프레임에 대한 코딩 파라미터들을 동적으로 조정한다. 기본 구조는 또한 할당된 변동 제약조건에 따라 코딩된 시퀀스 내에서의 프레임-레벨 비트레이트 변동의 제어 를 인에이블 한다. 임계치의 반복적인 조정에 기초하여, 코더는 비트 레이트 제약들 만족하는 코딩 파라미터들의 세트를 발견할 수 있다. 동적 프로그래밍은 코딩 효율을 개선하기 위해 적용된다. 상기 제안된 기본 구조는 그 목표가 가능하면 최저이지만 거의 일정한 왜곡을 달성하는 것인 비트 버짓이 제한된 비디오 통신 애플리케이션들에 대하여 양호한 선택을 제공할 수 있고, 수용가능한 프레임 단위 비디오 품질(즉, 양호한 평균 PSNR)을 유지할 수 있다. 그러나, 전술된 것과 같이, 품질 변동을 실질적으로 최소화하는 프로세스는 다수의 다른 방식들에서 양호하게 실행될 수 있다.
하기의 설명은 제 2 패스 코딩에서 실제 레이트 및 왜곡 상태를 근사화하기 위해 실제 레이트 및 왜곡 추정 모델들의 세트를 전개한다. 모델들은 다시 현재 프레임의 레이트 및 왜곡이 그 선행하는 프레임의 QP에 따라 결정되는 관찰 결과에 기초하며, 지난 프레임보다 이른 이전 프레임의 QP 선택은 현재 프레임의 성능에 아주 적은 영향을 미친다. 모델들 및 관찰 결과들은 2-패스 접근 방식에서 QP 선택의 프로세스의 계산 복잡성의 상당한 감소를 가능하게 한다. 상기 문제점을 그래프 이론 문제점으로 맵핑함으로써, 최단 경로 알고리즘은 최적 솔루션을 효율적으로 찾아내기 위해 적용된다. 제안된 기술들은 시뮬레이트되고 테스트된다. 실험 결과들은 그리디 프레임-레벨 레이트 제어 알고리즘과 비교하여 피크 신호대 잡음비(PSNR) 변동의 70%까지의 상당한 감소를 도시한다.
프레임당 우수한 평균 품질, 일정 프레임 품질 및 우수한 지각적인 비디오 품질과 같이 "전체 비디오 품질"에 대하여 몇가지 선택적인 의미들이 존재한다. 그러나, 모든 양상들을 고려하는데 사용가능한 표준화 통일된 비디오 품질 측정치는 존재하지 않는다. 일반적으로, 최소 평균 왜곡(MINAVE) 기준은 대부분 비디오 왜곡을 측정하는데 사용된다. 프레임-레벨 레이트 제어 알고리즘들은 디코딩된 비디오 시퀀스의 최대 평균 PSNR을 달성하기 위한 시도들에서 제안된다. 그러나, MINAVE 기준을 사용하는 종래의 솔루션들은 때때로 프레임들 간의 급격한 품질 변경들로 인해 "플리커링 문제들"을 발생하는 불균일한 왜곡을 프레임들에서 유도할 수 있다. 몇몇 최근의 연구는 수용가능한 프레임당 PSNR을 유지하면서 시퀀스에서 왜곡 변화들을 감소시키는 방법에 집중해왔다. 그러나, 상기 접근 방식들은 주로 엄격한 지연 제한들을 가진 실시간 응용들을 위해 설계되며, 따라서 성능은 주로 열악하다.
MINAVE 접근 방식에 대한 선택적인 접근 방식으로서, 최소 최대(MINMAX) 왜곡 접근 방식은 그 목표가 거의 일정한 왜곡을 달성하는 것인 응용들에 대하여 양호한 선택이 될 수 있다. 하기 접근방식 이면의 철학(philosophy)은 최대 소스 왜곡을 최소화함으로써 어떤 단일 소스 왜곡도 매우 높지 않고, 따라서 전체 품질이 매우 일정한 것이다. 본 개시물은 MINMAX 기준에 기초한 2-패스 일정-품질 레이트 제어 알고리즘을 제안한다. 정확한 레이트 및 왜곡 추정 모델들이 프레임 레벨 QP 선택을 위해 설정된다. 모델들은 다시 프레임 왜곡이 그 선행하는 플임의 양자화 레벨에 매우 의존하는 관찰 결과에 기초하지만, 이전 프레임보다 이른 프레임들의 양자화 선택은 현재 프레임의 프레임 왜곡에 매우 적은 영향을 미친다. 본 명세서에 설명된 모델들에서, 제 2 패스 코딩 동안의 실제 왜곡은 제 1 패스 내의 왜곡의 함수(동일한 QP를 사용함), 제 1 패스 내의 움직임-보상된 나머지의 에너지 및 제 1 패스 내의 선행하는 프레임의 왜곡에 의해 근사화될 수 있다. 또한, 본 개시물은 제안된 레이트 제어 방식에서 레이트 변동을 감소시키는 영향을 연구하고 두 작업 모두를 달성하기 위한 솔루션을 제안한다.
제안된 기술은 최소 최대 오곡 기준을 사용하여 코딩 파라미터들을 동적으로 선택함으로써 PSNR 및 비트 레이트 모두에서 낮은 변동들을 달성할 수 있는 하이브리드 기본 구조를 나타낼 수 있다. 또한, 상기 기본 구조는 프레임 레이트 및 왜곡을 위한 정확한 추정 모델들의 세트와 함께 동작할 수 있다. 계산에서의 근사치들은 샘플링 및 공간을 지수 식으로부터 다항식으로 감소시킴으로써 코딩 성능을 효율적으로 가속화할 수 있다.
상기 실시예에서의 문제점은 최소한의 품질 변동으로 디코딩된 비디오 시퀀스를 달성하기 위해 각각의 프레임에 대한 양자화 파라미터를 선택하면서 허용가능한 전체 평균 PSNR을 유지하고 제 1 패스 코딩 동안 수집된 통계들에 기초하여 특정 레이트 변동 제약들을 충족하는 것이다. 제 1 패스 코딩을 수행하는 방법의 문제가 상기 문제를 단순화하는 것과 관련되지만, "그리디" 프레임-레벨 비트 할당 알고리즘이 제 1 패스에서 프레임을 코딩하는데 사용되는 것을 가정할 수 있다. 그러나, 다른 QP 선택 기술들이 제 1 패스에서 선택적으로 사용될 수 있다.
프레임 비트 레이트에 대한 모델은 프레임 내의 비-제로 양자화된 DCT 계수들의 개수인 ρ의 함수로서 하기와 같이 표시될 수 있다:
R=Aρ+B,
상기 A 및 B는 일정한 모델링 파라미터들이고, A는 비-제로 양자화된 DCT 계수들을 코딩하는데 요구되는 비트들의 평균 개수를 표시하고, B는 예측 모드들 및 움직임 벡터들과 같이 비-텍스처 정보로 인한 비트들을 표시할 수 있다.
N이 처리된 비디오 시퀀스 내의 전체 프레임들의 개수를 표시하고, 이 양자화 파라미터 QP, 비-제로 양자화된 DCT 계수들에 대한 비트들의 평균 개수, 비-텍스처 정보를 코딩하기 위한 비트들의 개수, 비-제로 양자화된 DCT 계수들의 개수, 움직임-보상된 나머지의 에너지, 제 1 패스 코딩에서 발생된 i번째 프레임의 왜곡을 표시하도록 하자. 앞서 사용되는 것과 같이, "^"에 의해 식별되는 변수들은 제 1 코딩 패스에 의해 추정되는 변수들이다. 식별자 "^" 표시되지 않는 변수들은 예를 들면 근사치들 또는 풀이될 제 2 패스 변수들과 같은 제 2 패스 변수이다.
Rbudget는 비디오 시퀀스를 위한 전체 비트 버짓을 표시하고, Rdev _ threshold는 평평균 비트 레이트로부터 실제 프레임 비트 레이트의 최대 허용 유도를 표시하며, {Qi}, {Ri}, {Di}는 QP, 비트 레이트, 제 2 패스 코딩 내의 i번째 프레임의 왜곡을 표시하도록 하자. 따라서 문제는 다음과 같이 표시될 수 있다:
식 17에서, 왜곡의 평균 및 변이는 시퀀스에 대하여 주어진 비트 버짓으로 최소화된다. 그러나, 식 17은 평균 왜곡을 최소화하는 QP 선택이 왜곡의 변이를 최소화할 수 없고, 그 역 또한 동일하기 때문에 솔루션을 보장하지 않는다. 가중된 접근 방식은 식 17의 문제점을 하기의 식으로 수정하기 위해 사용될 수 있다:
상기 α∈[0,1]은 왜곡의 평균 및 변이의 상대적인 중요성을 정의하는 가중 인자이다. 설명된 것과 같이, α를 증가시키는 것은 증가된 평균 왜곡의 비용에서의 왜곡 변이들을 감소시킨다. 그러나, α의 결정은 사용자의 상호작용 없이는 매우 어렵다.
본 개시물에 따라, 문제점은 하기의 식에 의해 정형화될 수 있다:
또한, 문제점은 하기와 같이 목표 결과가 일정한 비디오 품질을 달성하는 것이며, 제 1 패스와 제 2 패스 사이에 평균 왜곡에서 큰 차이를 예상할 수 없다는 가정들에 기초하여 추가로 간략화될 수 있다:
다시, 프레임 종속성들은 선행하는 프레임의 QP 선택이 현재 프레임의 레이트-왜곡 성능에 큰 영향을 미친다는 관찰 결과에 기초하여 상당히 간략화될 수 있다. 다시 말해서, 본 개시물에 따른 프레임 종속성들의 관찰 결과들이 주어질 때, i-튜플 함수들 Ri(Q1, Q2, ..., Qi) 및 Di(Q1, Q2, ..., Qi)는 (Q1, Q2, ..., Qi)의 선택들이 i번째 프레임에 대한 레이트 및 왜곡에 상당한 변경들을 발생하지 않기 때문에 2-튜플 함수들 Ri(Qi -1, Qi) 및 Di(Qi -1, Qi)로 감소될 수 있다. 따라서, Ri(Qi -1, Qi) 및 Di(Qi -1, Qi)의 테이블들이 Qi -1 및 Qi 의 후보들의 모든 조합들에 대하여 획득되는 경우에, 식 20의 문제점은 상기 문제점을 하기와 같은 식으로 직접 간략화하여 해결될 수 있다:
식 21의 문제점은 하기와 같은 또다른 문제점을 먼저 해결함으로써 해결될 수 있다:
이는 왜곡이 CODEC을 위한 비트 레이트의 비-증가 함수임을 가정함으로써 수행될 수 있다. 다시 말해서, 사용가능한 비트들의 개수를 증가시킴으로써 CODEC의 성능은 동일하거나 개선될 수 있음을 가정한다. 따라서, Dmax가 제로에서 무한대로 스윕할 때, 식(22)에 대한 솔루션 R*(Dmax)는 도 17에 도시된 계단형 곡선을 나타낸다. 따라서, 를 만족하는 D* max를 찾아내기 위해 이분법이 사용될 수 있고, 따라서 식 21의 문제점을 해결한다.
식 22를 해결하기 위한 알고리즘을 구현하기 위하여, Qk -1 및 Qk가 (k-1)번째 및 k번째 프레임들에 대한 QPs로 주어질 때 식 22에서 왜곡 상수를 가지는 k번째 프레임을 포함하여 상기 프레임까지의 최소 전체 레이트를 표시하는 비용 함수 Ck(Qk-1, Qk)를 생성할 수 있다. 따라서, 에 대한 솔루션은 식 22에 대하여 요구되는 솔루션이다.
효율적인 알고리즘을 유도하기 위한 한가지 중요한 관찰 결과는 (k-1)번째 및 k번째 프레임들에 대한 결정 벡터들 Qk -2 및 Qk -1 및 비용 함수 Ck(Qk -1, Qk)가 주어질 때, 다음 결정 벡터 Qk의 선택이 이전의 결정 벡터들 Q1, Q2, ..., Qk -3의 선택과 상관없다는 것이다. 이는 비용 함수가 하기와 같이 재귀적으로 표현될 수 있기 때문에 사실이다:
상기
비용 함수의 재귀적 표현은 최적화 프로세스의 임의의 향후 단계가 동적 프로그래밍의 토대가 되는 이전 단계들에 상관없도록 한다.
식 23에 의해 정의된 비용 함수에서, 상기 문제점은 방향성 비순환 그래프(DAG)에서 최단 경로를 찾는 그래프 이론 문제점으로 변환될 수 있다. 상기 솔루션은 기하급수적인 계산 복잡성을 가지는 철저한 검색 알고리즘보다 훨씬 더 효율적이다.
추정 모델들은 레이트 및 왜곡을 위해 사용될 수 있다. 즉:
상기
식들 25-28에서 추정된 레이트 및 왜곡을 식들 22-24에서의 추정된 레이트 및 왜곡으로 대체함으로써, 문제들 또는 식 5는 효율적으로 해결될 수 있다.
실험들은 60kbps 내지 120kbps의 비트 레이트 범위들에서 "Table tennis", "Foreman", "Dancer"로 식별된 비디오 시퀀스ㄷ르을 포함하는 다수의 표준 비디오 테스트 시퀀스들에 수행된다. 결과들은 하기에서 보고된다.
실험들의 제 1 세트는 비트 레이트 변동 제약들을 완화함으로써 도 16에서 강조된 알고리즘의 일정-품질 특징들에 집중한다. 전술된 제안된 MINMAX 접근 방식은 2가지 다른 접근 방식들: (1) 향후 인입하는 프레임들이 균일하게 분포된 텍스처 복잡성을 가지며, 따라서 남아있는 비트들을 향후 프레임들에 동등하게 할당 하는 것을 가정하는 프레임-레벨 그리디 레이트 제어 및 (2) 더 높은 PSNR 예측을 가지는 MINMAX 접근 방식, 즉 일정-품질을 추구하지만 제 2 패스 내에서 달성될 평균 PSNR의 레벨이 제 1 패스의 레벨과 동일할 것을 요구하는 MINMAX 접근 방식과 비교되었다. 문제점의 공식화는 하기와 같이 식 30에 도시된다:
상기 ε는 매우 작은 수이다. 식 30은 평균 PSNR에 대한 추가 제약 없이 식 21과 매우 유사하다.
도 18-20에서, "Foreman" 시퀀스에서 테스트 결과들이 도시된다. 상기 예에서, 모두 3가지 접근 방식들은 유사한 레이트-왜곡 성능을 가지지만, MINMAX 접근 방식들은 프레임 PSNR의 표준 편차를 50% 만큼 감소시킨다. 세부적인 PSNR 분포는 MINMAX 접근 방식을 사용함으로써 PSNR의 감소를 입증하도록 도 20에 도시된다. 도 18에서, 그리디 프레임 레벨 레이트 제어 접근 방식은 181로 표시되고, 제안된 MINMAX 접근 방식은 182로 표시되며, 더 높은 PSNR 예측을 가지는 수정된 MINMAX 접근 방식은 183으로 표시된다. 도 19에서, 그리디 프레임 레벨 레이트 제어 접근 방식은 191로 표시되고, 제안된 MINMAX 접근 방식은 192로 표시되며, 더 높은 PSNR 예측을 가지는 수정된 MINMAX 접근 방식은 193으로 표시된다. 도 20에서, 그리디 프레임 레벨 레이트 제어 접근 방식은 201로 표시되고, 제안된 MINMAX 접근 방식은 202로 표시된다.
"Table tennis" 시퀀스에서 테스트 결과들이 도 21-22에 도시된다. 예측된 바와 같이, 제안된 MINMAX 접근 방식은 더 낮은 평균 프레임 PSNR을 가지지만, 그리디 알고리즘으로부터의 PSNR 변동을 60-70% 만큼 감소시킨다. 더 높은 PSNR 예측을 가지는 MINMAX 접근 방식은 PSNR 변동에서 20-30% 만큼의 감소를 가지는 그리디 알고리즘의 PSNR과 유사한 PSNR을 획득한다. 도 21에서, 그리디 프레임 레벨 레이트 제어 접근 방식은 211로 표시되고, 제안된 MINMAX 접근 방식은 212로 표시되며, 더 높은 PSNR 예측을 가지는 수정된 MINMAX 접근 방식은 213으로 표시된다. 도 22에서, 그리디 프레임 레벨 레이트 제어 접근 방식은 221로 표시되고, 제안된 MINMAX 접근 방식은 222로 표시되며, 더 높은 PSNR 예측을 가지는 수정된 MINMAX 접근 방식은 223으로 표시된다.
도 23은 비트 레이트가 120kbps와 동일할 때 "Table tennis"에서 세부적인 PSNR 분포들을 도시하는 그래프이다. 도 24는 비트 레이트가 120kbps와 동일할 때 "Table tennis"에서 세부적인 QP 분포들을 도시하는 그래프이다. 도 23에서, 그리디 프레임 레벨 레이트 제어 접근 방식은 231로 표시되고, 제안된 MINMAX 접근 방식은 232로 표시된다. 도 24에서, 그리디 프레임 레벨 레이트 제어 접근 방식은 241로 표시되고, 제안된 MINMAX 접근 방식은 242로 표시된다.
도 25 및 26은 5000 및 25000의 범위 내에서의 비트 레이트 변동 임계치의 다양한 세팅들로 120kbps에서 "Table tennis" 시퀀스를 코딩함으로써 시스템 성능에 대한 비트 레이트 변동 제약의 영향을 설명한다. 도 25는 특히 비트 레이트 변 동 임계치의 함수로서 PSNR의 표준 편차의 곡선(251)을 도시한다. 예측되는 것과 같이, PSNR 변동은 임계치가 도 25에 도시된 것과 같이 증가할 때 감소한다.
세부적인 레이트 변동은 도 26에서 비교된다. 특히, 곡선(261)은 10000의 레이트 변동 임계치에 상응하고, 곡선(262)은 25000의 레이트 변동 임계치에 상응한다. 명확하게, 더 엄격한 임계치를 사용하여, 시퀀스에 대한 결과적인 비트 레이트는 훨씬 평탄해진다(smoother). 상기 임계치를 사용함으로써, 기술들은 버퍼 오버플로우 및 언더플로우를 방지하기 위해 가상 버퍼를 사용하는 것과 유사하게 비트 레이트를 동적으로 제어할 뿐만 아니라 코딩된 비디오 시퀀스의 일정-비디오-품질 특징을 유지할 수 있다.
설명된 MINMAX 프레임-레벨 레이트 제어 알고리즘은 재구성된 비디오 시퀀스의 일정-품질을 간접적으로 보장하는 피크 최대 프레임 왜곡을 최소화하기 위해 사용될 수 있다. 비디오 시퀀스에서의 레이트 변동은 비디오 코딩 디바이스에서 프로그램 가능한 임계치에 의해 제어될 수 있다. 비디오 코딩 디바이스는 선행하는 프레임의 양자화 파라미터 선택이 현재 프레임의 레이트-왜곡 성능에 큰 영향을 미치는 관찰 결과에 기초하여 정확한 레이트 및 왜곡 모델들의 세트를 사용하여 개발될 수 있다. 상기 관찰 결과는 프레임 종속성 문제를 해결하며, 따라서 후보 공간의 크기를 지수 식에서 다항식으로 감소시킨다. 도 17-26의 그래프들에서 설명된 실험 결과들은 종래의 그리디 알고리즘 접근 방식과 관련하여 비디오 시퀀스에서 PSNR 표준 편차의 70%까지의 상당한 감소를 표시한다.
다수의 실시예들이 설명되었다. 특히, 제 1 코딩 패스가 비디오 시퀀스의 특징들을 추정하기 위해 사용되고, 추정된 특징들이 그 후에 제 2 패스에 대한 양자화 파라미터들(QPs)의 선택을 개선하는데 사용되는 "2-패스" 접근 방식을 사용하는 다양한 레이트 제어 기술들이 제안되었다. 특히, 본 개시물과 일치하는 3개의 기본적인 대안들이 제안되었다. 제 1 경우에, 제 1 패스의 추정된 레이트-왜곡 특징들은 비디오 시퀀스의 프레임들의 왜곡을 최소화하는 방식으로 제 2 패스에 대한 QPs를 선택하기 위해 사용된다. 제 2 경우에, 제 1 패스의 추정된 레이트-왜곡 특징들은 비디오 시퀀스의 프레임들 사이의 품질 변동을 최소화하는 방식으로 제 2 패스에 대한 QPs를 선택하기 위해 사용된다.
본 명세서에 개시된 기술들은 하드웨어, 소프트웨어, 펌웨어 또는 이들의 임의의 조합에서 구현될 수 있다. 소프트웨어에서 구현되는 경우에, 기술들은 실행될 때 전술된 하나 또는 그 이상의 기술들을 수행하는 명령들을 포함하는 프로그램 코드를 포함하는 컴퓨터로 읽을 수 있는 매체에 의해 처리될 수 있다. 상기 경우에, 컴퓨터로 읽을 수 있는 매체는 동기식 동적 랜덤 액세스 메모리(SDRAM)와 같은 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), 비휘발성 랜덤 액세스 메모리(NVRAM), 전기적으로 소거 가능한 프로그래밍 가능한 판독 전용 메모리(EEPROM), FLASH 메모리 자기 또는 광학 데이터 저장 매체 등등을 포함할 수 있다.
프로그램 코드는 컴퓨터로 읽을 수 있는 명령들의 형태로 메모리에 저장될 수 있다. 상기 경우에, DSP와 같은 프로세서는 본 명세서에 개시된 하나 또는 그 이상의 기술들을 실행하기 위해 메모리에 저장된 명령들을 실행할 수 있다. 몇몇 경우들에서, 상기 기술들은 코딩 프로세스를 가속화하기 위해 다양한 하드웨어 컴 포넌트들을 사용하는 DSP에 의해 실행될 수 있다. 다른 경우에, 비디오 코더는 마이크로 프로세서, 하나 또는 그 이상의 애플리케이션용 집적 회로들(ASICs), 현장 프로그램 가능한 로직 어레이들(FPGAs), 또는 몇몇 다른 하드웨어-소프트웨어 조합으로서 구현될 수 있다.
2가지 접근 방식들이 개별적으로 설명되었지만, 2가지 접근 방식들의 다양한 양상들이 결합되어 사용될 수 있다. 따라서, 서로 다른 기술들의 다양한 양상들이 본 개시물에 의해 고려되는 다른 실시예들에서 결합될 수 있다. 또한, 2 패스 접근 방식들이 설명되지만, 더 많은 패스들이 본 개시물에 따라 수행될 수 있다. 다시 말해서, 본 개시물은 2-패스 접근 방식에 제한되는 것이 아니라 적어도 2개의 코딩 패스들이 사용되는 임의의 다중-패스 접근방식에 광범위하게 응용할 수 있다. 상기 및 다른 실시예들은 하기의 청구항들의 사상 내에 있다.
Claims (32)
- 비디오 코딩 디바이스로서,제 1 코딩 패스 내의 제 1 양자화 파라미터들(QPs)의 세트를 사용하여 비디오 시퀀스의 프레임들을 코딩하는 수단;상기 제 1 코딩 패스의 상기 코딩된 비디오 시퀀스에 대한 레이트-왜곡 통계들을 획득하는 수단;상기 레이트-왜곡 통계들에 기초하여 상기 비디오 시퀀스의 레이트-왜곡 특징들을 추정하는 수단; 및상기 추정된 레이트-왜곡 특징들에 기초하여 상기 비디오 시퀀스 내의 상기 프레임들의 제 2 코딩 패스에 대한 QPs의 제 2 세트를 선택하는 수단을 포함하는 비디오 코딩 디바이스.
- 제 1항에 있어서,상기 제 2 코딩 패스 내의 상기 제 2 QPs의 세트를 사용하여 상기 비디오 시퀀스를 코딩하는 수단을 더 포함하는 것을 특징으로 하는 비디오 코딩 디바이스.
- 제 1항에 있어서,상기 추정 수단은 상기 레이트-왜곡 특징들을 추정하기 위해 레이트 모델 및 왜곡 모델을 상기 레이트-왜곡 통계들에 적용하는 것을 특징으로 하는 비디오 코딩 디바이스.
- 제 3항에 있어서,상기 레이트 모델은 실질적으로 하기와 같이 주어지는 모델에 상응하고:상기 왜곡 모델은 하기와 같이 주어지는 모델에 상응하며:상기 아래 첨자 "i"는 상기 비디오 시퀀스의 ith 프레임과 관련하여 파라미 터들을 식별하는 정수이고, 상기 아래 첨자 "i-1"는 상기 비디오 시퀀스의 ith-1 프레임과 관련하여 파라미터들을 식별하며, 상기 아래 첨자 "i-2"는 상기 비디오 시퀀스의 ith-2 프레임과 관련하여 파라미터들을 식별하고, 상기 "^"는 개별 변수들을 제 1 패스 변수들로 한정하고, 상기 "^" 표시되지 않는 것은 개별 변수들을 제 2 패스 변수들로 한정하며, 상기 "Q" 변수들은 QPs이고, "D" 변수들은 왜곡의 측정치들이며, "R" 변수들은 레이트의 측정치들이며, "σ2 i"은 움직임-보상된 나머지의 에너지를 표시하며, "ρ" 변수들은 비-제로 양자화된 DCT 계수들의 개수를 한정하며, "A" 변수들은 비-제로 양자화된 이산 코사인 변환된(DCT) 계수들의 평균 개수를 지칭하며, "B" 변수들은 텍스처 정보를 코딩하기 위해 사용되는 비트들의 개수를 지칭하며, "M"은 상기 비디오 시퀀스의 프레임들 내의 픽셀들의 개수인 것을 특징으로 하는 비디오 코딩 디바이스.
- 제 1항에 있어서,상기 선택 수단은 상기 추정된 레이트-왜곡 특징들에 라그랑지안 완화 연산(Lagrangian relaxation operation)을 수행함으로써 상기 QPs의 제 2 세트를 선택하는 것을 특징으로 하는 비디오 코딩 디바이스.
- 제 5에 있어서,상기 선택 수단은 하기의 결과들을 획득함으로써 상기 라그랑지안 완화 연산을 수행하며:상기 λ는 라그랑주 승수(Lagrange multiplier)이고, J는 비용 함수이며, 상기 아래 첨자 "i"는 상기 비디오 시퀀스의 ith 프레임과 관련하여 파라미터들을 식별하는 정수이고, 상기 아래 첨자 "i-1"는 상기 비디오 시퀀스의 ith-1 프레임과 관련하여 파라미터들을 식별하고, 상기 "Q" 변수들은 QPs이고, "D"는 왜곡 모델이며, "R"은 레이트 모델이고, N은 정수인 것을 특징으로 하는 비디오 코딩 디바이스.
- 제 1항에 있어서,상기 선택 수단은 상기 비디오 시퀀스 내의 프레임들의 왜곡을 실질적으로 최소화함으로써 상기 QPs의 제 2 세트를 선택하는 것을 특징으로 하는 비디오 코딩 디바이스.
- 제 1항에 있어서,상기 제 1 세트 내의 각각의 QP를 한정하기 위해 레이트 버짓(rate budget)을 사용하는 그리디 알고리즘(greedy algorithm)에 기초하여 상기 QPs의 제 1 세트를 선택하는 수단을 더 포함하는 것을 특징으로 하는 비디오 코딩 디바이스.
- 제 1항에 있어서,상기 QPs의 제 1 세트 내의 상기 QPs는 서로 동일한 것을 특징으로 하는 비디오 코딩 디바이스.
- 제 1 코딩 패스 내의 제 1 양자화 파라미터들(QPs)의 세트를 사용하여 비디오 시퀀스의 프레임들을 코딩하는 단계;상기 코딩된 비디오 시퀀스에 대한 레이트-왜곡 통계들을 획득하는 단계;상기 레이트-왜곡 통계들에 기초하여 상기 비디오 시퀀스의 레이트-왜곡 특징들을 추정하는 단계; 및상기 추정된 레이트-왜곡 특징들에 기초하여 상기 비디오 시퀀스 내의 상기 프레임들의 제 2 코딩 패스에 대한 QPs의 제 2 세트를 선택하는 단계를 포함하는 방법.
- 제 10항에 있어서,상기 제 2 코딩 패스 내의 상기 제 2 QPs의 세트를 사용하여 상기 비디오 시퀀스를 코딩하는 단계를 더 포함하는 것을 특징으로 하는 방법.
- 제 10항에 있어서,상기 레이트-왜곡 특징들을 추정하는 단계는 레이트 모델 및 왜곡 모델을 상 기 레이트-왜곡 통계들에 적용하는 단계를 포함하는 것을 특징으로 하는 방법.
- 제 12항에 있어서,상기 레이트 모델은 실질적으로 하기와 같이 주어지는 모델에 상응하고:상기 왜곡 모델은 하기와 같이 주어지는 모델에 상응하며:상기 아래 첨자 "i"는 상기 비디오 시퀀스의 ith 프레임과 관련하여 파라미 터들을 식별하는 정수이고, 상기 아래 첨자 "i-1"는 상기 비디오 시퀀스의 ith-1 프레임과 관련하여 파라미터들을 식별하며, 상기 아래 첨자 "i-2"는 상기 비디오 시퀀스의 ith-2 프레임과 관련하여 파라미터들을 식별하고, 상기 "^"는 개별 변수들을 제 1 패스 변수들로 한정하고, 상기 "^" 표시되지 않는 것은 개별 변수들을 제 2 패스 변수들로 한정하며, 상기 "Q" 변수들은 QPs이고, "D" 변수들은 왜곡의 측정치들이며, "R" 변수들은 레이트의 측정치들이며, "σ2 i"은 움직임-보상된 나머지의 에너지를 표시하며, "ρ" 변수들은 비-제로 양자화된 DCT 계수들의 개수를 한정하며, "A" 변수들은 비-제로 양자화된 이산 코사인 변환된(DCT) 계수들의 평균 개수를 지칭하며, "B" 변수들은 텍스처 정보를 코딩하기 위해 사용되는 비트들의 개수를 지칭하며, "M"은 상기 비디오 시퀀스의 프레임들 내의 픽셀들의 개수인 것을 특징으로 하는 방법.
- 제 10항에 있어서,상기 QPs의 제 2 세트를 선택하는 단계는 상기 추정된 레이트-왜곡 특징들에 라그랑지안 완화 연산(Lagrangian relaxation operation)을 수행하는 단계를 포함하는 것을 특징으로 하는 방법.
- 제 10항에 있어서,상기 QPs의 제 2 세트를 선택하는 단계는 상기 비디오 시퀀스 내의 프레임들의 왜곡을 실질적으로 최소화는 단계를 포함하는 것을 특징으로 하는 방법.
- 제 10항에 있어서,상기 제 1 세트 내의 각각의 QP를 한정하기 위해 레이트 버짓(rate budget)을 사용하는 그리디 알고리즘(greedy algorithm)에 기초하여 상기 QPs의 제 1 세트를 동적으로 선택하는 단계를 더 포함하는 것을 특징으로 하는 방법.
- 제 10항에 있어서,상기 QPs의 제 1 세트 내의 상기 QPs는 서로 동일한 것을 특징으로 하는 방법.
- 비디오 코딩 디바이스 내에서 실행될 때 하기의 동작들을 수행하는 프로그램 코드를 포함하는 컴퓨터로 판독가능한 매체로서, 상기 동작들은,제 1 코딩 패스 내의 제 1 양자화 파라미터들(QPs)의 세트를 사용하여 비디오 시퀀스의 프레임들을 코딩하고;상기 코딩된 비디오 시퀀스에 대한 레이트-왜곡 통계들을 획득하고;상기 레이트-왜곡 통계들에 기초하여 상기 비디오 시퀀스의 레이트-왜곡 특징들을 추정하며; 및상기 추정된 레이트-왜곡 특징들에 기초하여 상기 비디오 시퀀스 내의 상기 프레임들의 제 2 코딩 패스에 대한 QPs의 제 2 세트를 선택하는 것을 포함하는 컴퓨터로 판독가능한 매체.
- 제 19항에 있어서,상기 비디오 코딩 디바이스 내에서 실행될 때, 상기 제 2 코딩 패스 내의 상기 제 2 QPs의 세트를 사용하여 상기 비디오 시퀀스를 코딩하는 프로그램 코드를 더 포함하는 것을 특징으로 하는 컴퓨터로 판독가능한 매체.
- 제 19항에 있어서,상기 프로그램 코드는 상기 레이트-왜곡 특징들을 추정하기 위해 레이트 모델 및 왜곡 모델을 상기 레이트-왜곡 통계들에 적용하는 것을 특징으로 하는 컴퓨터로 판독가능한 매체.
- 제 21항에 있어서,상기 레이트 모델은 실질적으로 하기와 같이 주어지는 모델에 상응하고:상기 왜곡 모델은 하기와 같이 주어지는 모델에 상응하며:상기 아래 첨자 "i"는 상기 비디오 시퀀스의 ith 프레임과 관련하여 파라미터들을 식별하는 정수이고, 상기 아래 첨자 "i-1"는 상기 비디오 시퀀스의 ith-1 프레임과 관련하여 파라미터들을 식별하며, 상기 아래 첨자 "i-2"는 상기 비디오 시퀀스의 ith-2 프레임과 관련하여 파라미터들을 식별하고, 상기 "^"는 개별 변수들을 제 1 패스 변수들로 한정하고, 상기 "^" 표시되지 않는 것은 개별 변수들을 제 2 패스 변수들로 한정하며, 상기 "Q" 변수들은 QPs이고, "D" 변수들은 왜곡의 측정치들이며, "R" 변수들은 레이트의 측정치들이며, "σ2 i"은 움직임-보상된 나머지의 에너지를 표시하며, "ρ" 변수들은 비-제로 양자화된 DCT 계수들의 개수를 한정하며, "A" 변수들은 비-제로 양자화된 이산 코사인 변환된(DCT) 계수들의 평균 개수를 지칭하며, "B" 변수들은 텍스처 정보를 코딩하기 위해 사용되는 비트들의 개수를 지칭하며, "M"은 상기 비디오 시퀀스의 프레임들 내의 픽셀들의 개수인 것을 특징으로 하는 컴퓨터로 판독가능한 매체.
- 제 19항에 있어서,상기 프로그램 코드는 상기 추정된 레이트-왜곡 특징들에 라그랑지안 완화 연산(Lagrangian relaxation operation)을 수행함으로써 상기 QPs의 제 2 세트를 선택하는 것을 특징으로 하는 컴퓨터로 판독가능한 매체.
- 제 23에 있어서,상기 프로그램 코드는 하기의 결과들을 획득함으로써 상기 라그랑지안 완화 연산을 수행하며:상기 λ는 라그랑주 승수(Lagrange multiplier)이고, J는 비용 함수이며, 상기 아래 첨자 "i"는 상기 비디오 시퀀스의 ith 프레임과 관련하여 파라미터들을 식별하는 정수이고, 상기 아래 첨자 "i-1"는 상기 비디오 시퀀스의 ith-1 프레임과 관련하여 파라미터들을 식별하고, 상기 "Q" 변수들은 QPs이고, "D"는 왜곡 모델이며, "R"은 레이트 모델이고, N은 정수인 것을 특징으로 하는 컴퓨터로 판독가능한 매체.
- 제 19항에 있어서,상기 프로그램 코드는 상기 비디오 시퀀스 내의 프레임들의 왜곡을 실질적으로 최소화함으로써 상기 QPs의 제 2 세트를 선택하는 것을 특징으로 하는 컴퓨터로 판독가능한 매체.
- 제 19항에 있어서,상기 프로그램 코드는 상기 제 1 세트 내의 각각의 QP를 한정하기 위해 레이트 버짓(rate budget)을 사용하는 그리디 알고리즘(greedy algorithm)에 기초하여 상기 QPs의 제 1 세트를 동적으로 선택하는 것을 특징으로 하는 컴퓨터로 판독가능한 매체.
- 제 19항에 있어서,상기 QPs의 제 1 세트 내의 상기 QPs는 서로 동일한 것을 특징으로 하는 컴퓨터로 판독가능한 매체.
- 비디오 코딩 디바이스로서,비디오 시퀀스를 저장하는 비디오 메모리;비디오 코딩 동안 상기 비디오 시퀀스의 적어도 일부분을 저장하는 로컬 메모리; 및하기의 동작들을 수행함으로써 상기 비디오 시퀀스를 코딩하는 비디오 코더를 포함하며, 상기 동작들은,제 1 코딩 패스 내의 제 1 양자화 파라미터들(QPs)의 세트를 사용하여 상기 비디오 시퀀스의 프레임들을 코딩하고,상기 제 1 코딩 패스의 상기 코딩된 비디오 시퀀스에 대한 레이트-왜곡 통계들을 획득하고,상기 레이트-왜곡 통계들에 기초하여 상기 비디오 시퀀스의 레이트-왜곡 특징들을 추정하고,상기 추정된 레이트-왜곡 특징들에 기초하여 상기 비디오 시퀀스 내의 상기 프레임들의 제 2 코딩 패스에 대한 QPs의 제 2 세트를 선택하며, 및상기 제 2 코딩 패스 내의 상기 QPs의 제 2 세트를 사용하여 상기 비디오 시퀀스를 코딩하는 것을 포함하는 비디오 코딩 디바이스.
- 제 28항에 있어서,상기 비디오 코더는 움직임 추정기, 움직임 보상기, 나머지 코더 및 레이트 제어 유니트를 포함하며,상기 움직임 추정기, 움직임 보상기 및 나머지 코더는 상기 제 1 코딩 패스 내의 상기 QPs의 제 1 세트를 사용하여 상기 비디오 시퀀스를 코딩하고 상기 제 2 코딩 패스 내의 상기 QPs의 제 2 세트를 사용하여 상기 비디오 시퀀스를 코딩하며, 상기 레이트 제어 유니트는 상기 레이트-왜곡 통계들을 획득하고, 상기 레이트-왜곡 특징들을 추정하며, 상기 QPs의 제 2 세트를 선택하는 것을 특징으로 하는 비디오 코딩 디바이스.
- 제 29항에 있어서,상기 비디오 시퀀스를 캡처하기 위한 비디오 캡처 디바이스 및 상기 제 2 코딩 패스의 상기 코딩된 비디오 시퀀스를 전송하기 위한 송신기를 더 포함하는 것을 특징으로 하는 비디오 코딩 디바이스.
- 제 28항에 있어서,상기 비디오 코더는 공간 추정기, 프레임 내 예측 유니트, 나머지 코더 및 레이트 제어 유니트를 포함하고, 상기 공간 추정기, 프레임 내 예측 유니트 및 상기 나머지 코더는 상기 제 1 코딩 패스 내의 상기 QPs의 제 1 세트를 사용하여 상기 비디오 시퀀스를 코딩하고 상기 제 2 코딩 패스 내의 상기 QPs의 제 2 세트를 사용하여 상기 비디오 시퀀스를 코딩하며, 상기 레이트 제어 유니트는 상기 레이트-왜곡 통계들을 획득하고, 상기 레이트-왜곡 특징들을 추정하며, 상기 QPs의 제 2 세트를 선택하는 것을 특징으로 하는 비디오 코딩 디바이스.
- 하기의 동작들을 수행함으로써 비디오 시퀀스를 코딩하는 비디오 코더로서, 상기 동작들은,제 1 코딩 패스 내의 제 1 양자화 파라미터들(QPs)의 세트를 사용하여 상기 비디오 시퀀스의 프레임들을 코딩하고,상기 제 1 코딩 패스의 상기 코딩된 비디오 시퀀스에 대한 레이트-왜 곡 통계들을 획득하고,상기 레이트-왜곡 통계들에 기초하여 상기 비디오 시퀀스의 레이트-왜곡 특징들을 추정하고,상기 추정된 레이트-왜곡 특징들에 기초하여 상기 비디오 시퀀스 내의 상기 프레임들의 제 2 코딩 패스에 대한 QPs의 제 2 세트를 선택하며, 및상기 제 2 코딩 패스 내의 상기 QPs의 제 2 세트를 사용하여 상기 비디오 시퀀스를 코딩하는 것을 포함하는 비디오 코더.
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US71977505P | 2005-09-22 | 2005-09-22 | |
US60/719,775 | 2005-09-22 | ||
US11/303,617 | 2005-12-15 | ||
US11/303,617 US7876819B2 (en) | 2005-09-22 | 2005-12-15 | Two pass rate control techniques for video coding using rate-distortion characteristics |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20080066684A true KR20080066684A (ko) | 2008-07-16 |
KR100974025B1 KR100974025B1 (ko) | 2010-08-05 |
Family
ID=37654729
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020087009602A KR100974025B1 (ko) | 2005-09-22 | 2006-09-21 | 레이트-왜곡 특징들을 사용하는 비디오 코딩을 위한 2 패스레이트 제어 기술들 |
Country Status (6)
Country | Link |
---|---|
US (1) | US7876819B2 (ko) |
EP (2) | EP1949699B1 (ko) |
JP (1) | JP5006327B2 (ko) |
KR (1) | KR100974025B1 (ko) |
AT (1) | ATE525858T1 (ko) |
WO (1) | WO2007038230A1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8891619B2 (en) | 2008-06-16 | 2014-11-18 | Dolby Laboratories Licensing Corporation | Rate control model adaptation based on slice dependencies for video coding |
Families Citing this family (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8379721B2 (en) | 2005-09-22 | 2013-02-19 | Qualcomm Incorported | Two pass rate control techniques for video coding using a min-max approach |
JP5087627B2 (ja) * | 2006-09-28 | 2012-12-05 | トムソン ライセンシング | 効果的なレート制御および拡張したビデオ符号化品質のためのρ領域フレームレベルビット割り当てのための方法 |
FR2907989B1 (fr) * | 2006-10-27 | 2009-01-16 | Actimagine Sarl | Procede et dispositif d'optimisation de la compression d'un flux video |
JP4979355B2 (ja) * | 2006-11-30 | 2012-07-18 | パナソニック株式会社 | 画像符号化装置および画像符号化方法 |
US8711926B2 (en) * | 2007-02-08 | 2014-04-29 | Qualcomm Incorporated | Distortion estimation for quantized data |
EP2200320A1 (en) * | 2008-12-18 | 2010-06-23 | Thomson Licensing | Method and apparatus for two-pass video signal encoding using a sliding window of pictures |
US8218644B1 (en) | 2009-05-12 | 2012-07-10 | Accumulus Technologies Inc. | System for compressing and de-compressing data used in video processing |
US8811485B1 (en) | 2009-05-12 | 2014-08-19 | Accumulus Technologies Inc. | System for generating difference measurements in a video processor |
US8238444B2 (en) * | 2009-12-15 | 2012-08-07 | National Taiwan University | Perceptual-based video coding method |
US8681858B2 (en) * | 2009-12-23 | 2014-03-25 | General Instrument Corporation | Rate control for two-pass encoder |
US8856846B2 (en) * | 2010-11-29 | 2014-10-07 | At&T Intellectual Property I, L.P. | Content placement |
EP2751990A4 (en) | 2011-08-29 | 2015-04-22 | Icvt Ltd | CONTROL OF A VIDEO CONTENT SYSTEM |
US9338463B2 (en) | 2011-10-06 | 2016-05-10 | Synopsys, Inc. | Visual quality measure for real-time video processing |
US9781449B2 (en) * | 2011-10-06 | 2017-10-03 | Synopsys, Inc. | Rate distortion optimization in image and video encoding |
US9197888B2 (en) | 2012-03-13 | 2015-11-24 | Dolby Laboratories Licensing Corporation | Overlapped rate control for video splicing applications |
GB2501493B (en) * | 2012-04-24 | 2015-05-13 | Canon Kk | Methods for encoding and decoding an image, and corresponding devices |
CN104717500B (zh) * | 2013-12-12 | 2018-04-06 | 中国电信股份有限公司 | 一种视频编码码率控制方法和系统 |
CN104320667B (zh) * | 2014-11-03 | 2017-11-03 | 浙江泰立媒科技有限公司 | 多过程最优化编转码系统及方法 |
US9875443B2 (en) * | 2015-06-18 | 2018-01-23 | TCL Research America Inc. | Unified attractiveness prediction framework based on content impact factor |
US10110931B2 (en) * | 2016-04-27 | 2018-10-23 | Aspeed Technology Inc. | Variable length coding and decoding methods and devices for grouped pixels |
US10574999B2 (en) * | 2016-05-05 | 2020-02-25 | Intel Corporation | Method and system of video coding with a multi-pass prediction mode decision pipeline |
US10542262B2 (en) | 2016-11-15 | 2020-01-21 | City University Of Hong Kong | Systems and methods for rate control in video coding using joint machine learning and game theory |
US11153585B2 (en) | 2017-02-23 | 2021-10-19 | Netflix, Inc. | Optimizing encoding operations when generating encoded versions of a media title |
US11166034B2 (en) | 2017-02-23 | 2021-11-02 | Netflix, Inc. | Comparing video encoders/decoders using shot-based encoding and a perceptual visual quality metric |
US10742708B2 (en) | 2017-02-23 | 2020-08-11 | Netflix, Inc. | Iterative techniques for generating multiple encoded versions of a media title |
US10917644B2 (en) | 2017-02-23 | 2021-02-09 | Netflix, Inc. | Iterative techniques for encoding video content |
US10666992B2 (en) | 2017-07-18 | 2020-05-26 | Netflix, Inc. | Encoding techniques for optimizing distortion and bitrate |
CN107749993B (zh) * | 2017-11-02 | 2019-12-03 | 广西大学 | 基于mmse重构的分布式视频编码信源失真估算方法 |
CN109561306B (zh) * | 2018-10-26 | 2021-08-06 | 上海九吾尊易信息科技有限公司 | 一种带宽压缩量化方法 |
CN109510984B (zh) * | 2018-10-26 | 2021-02-05 | 和宇健康科技股份有限公司 | 一种压缩编码量化方法 |
CN111726618B (zh) * | 2020-06-29 | 2022-11-18 | 上海富瀚微电子股份有限公司 | Rdoq的最优量化值的计算方法 |
CN112165620B (zh) * | 2020-09-24 | 2024-09-13 | 北京金山云网络技术有限公司 | 视频的编码方法及装置、存储介质、电子设备 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5978544A (en) | 1993-06-28 | 1999-11-02 | Kabushiki Kaisha Toshiba | Video compression coding apparatus and video compression recording/playback apparatus |
US6256423B1 (en) * | 1998-09-18 | 2001-07-03 | Sarnoff Corporation | Intra-frame quantizer selection for video compression |
JP3915272B2 (ja) | 1998-10-06 | 2007-05-16 | 株式会社ニコン | 量子化方法,および量子化プログラムを記録した記録媒体 |
JP3902948B2 (ja) * | 2001-12-04 | 2007-04-11 | 株式会社Kddi研究所 | 動画像符号化装置 |
CN1206864C (zh) | 2002-07-22 | 2005-06-15 | 中国科学院计算技术研究所 | 结合率失真优化的码率控制的方法及其装置 |
US7519274B2 (en) | 2003-12-08 | 2009-04-14 | Divx, Inc. | File format for multiple track digital data |
US20050169369A1 (en) | 2004-02-03 | 2005-08-04 | Sony Corporation | Scalable MPEG video/macro block rate control |
-
2005
- 2005-12-15 US US11/303,617 patent/US7876819B2/en active Active
-
2006
- 2006-09-21 KR KR1020087009602A patent/KR100974025B1/ko active IP Right Grant
- 2006-09-21 AT AT06804008T patent/ATE525858T1/de not_active IP Right Cessation
- 2006-09-21 EP EP06804008A patent/EP1949699B1/en active Active
- 2006-09-21 WO PCT/US2006/036905 patent/WO2007038230A1/en active Application Filing
- 2006-09-21 EP EP11152660A patent/EP2339851A3/en not_active Withdrawn
- 2006-09-21 JP JP2008532399A patent/JP5006327B2/ja not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8891619B2 (en) | 2008-06-16 | 2014-11-18 | Dolby Laboratories Licensing Corporation | Rate control model adaptation based on slice dependencies for video coding |
Also Published As
Publication number | Publication date |
---|---|
EP2339851A3 (en) | 2012-04-25 |
US7876819B2 (en) | 2011-01-25 |
EP1949699B1 (en) | 2011-09-21 |
ATE525858T1 (de) | 2011-10-15 |
EP2339851A2 (en) | 2011-06-29 |
JP2009509476A (ja) | 2009-03-05 |
KR100974025B1 (ko) | 2010-08-05 |
JP5006327B2 (ja) | 2012-08-22 |
US20070064793A1 (en) | 2007-03-22 |
WO2007038230A1 (en) | 2007-04-05 |
EP1949699A1 (en) | 2008-07-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100974025B1 (ko) | 레이트-왜곡 특징들을 사용하는 비디오 코딩을 위한 2 패스레이트 제어 기술들 | |
KR100960249B1 (ko) | Min-max 접근법을 이용하여 비디오 코딩을 하기 위한2 패스 레이트 제어 기술 | |
KR101185146B1 (ko) | 비디오 인코딩을 위한 효율적인 제어 기술들 | |
CN104885455B (zh) | 一种用于视频编码的计算机实现的方法及装置 | |
KR100957316B1 (ko) | 멀티미디어 코딩을 위한 모드 선택 기술 | |
KR101329860B1 (ko) | 효과적인 레이트 제어 및 비디오 인코딩 품질의 향상을 위한 ρ-도메인 프레임 레벨 비트 할당 방법 | |
EP2250813B1 (en) | Method and apparatus for predictive frame selection supporting enhanced efficiency and subjective quality | |
JP5173409B2 (ja) | 符号化装置および符号化装置を備えた動画像記録システム | |
KR20140042845A (ko) | 지각적 비디오 코딩을 위한 구조적 유사성 기반의 레이트-왜곡 최적화 방법 및 시스템 | |
KR20070086710A (ko) | 매개 방정식을 이용한 비디오 인코딩을 위한 레이트 제어 | |
CN101523915B (zh) | 使用min-max方法的用于视频编码的两遍速率控制技术 | |
US20100111180A1 (en) | Scene change detection | |
US20160277767A1 (en) | Methods, systems and apparatus for determining prediction adjustment factors | |
CN115428451A (zh) | 视频编码方法、编码器、系统以及计算机存储介质 | |
KR20040062257A (ko) | 움직임 보상에 기반한 개선된 노이즈 예측 방법 및 그장치와 이를 사용한 동영상 부호화 방법 및 그 장치 | |
JP5649296B2 (ja) | 画像符号化装置 | |
RU2587412C2 (ru) | Управление скоростью передачи видео на основе гистограммы коэффициентов преобразования | |
CN116998148A (zh) | 一种编码方法及装置 | |
JP2009194474A (ja) | 動画像符号化装置 | |
JP2009296328A (ja) | 符号化ピクチャタイプ決定方法,装置,そのプログラムおよびその記録媒体 | |
EP3096518A1 (en) | Methods, systems and apparatus for determining prediction adjustment factors |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20130628 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20140627 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20160629 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20180628 Year of fee payment: 9 |