摘要: | 現今的無線手機上,即時視訊編碼之應用,如錄影與視訊會議,已經很普遍。最新的視訊壓縮標準H.264其視訊編碼器採用多個編碼工具以達到高編碼效率,但必須花費很高的運算複雜度。然而手機上即時視訊編碼所被允許的運算複雜度是有限的,因此控制編碼器的運算複雜度使其低於複雜度限制並且維持最佳位元率-失真效能是很重要的,本論文提出一個基於編碼增益之複雜度控制法,適用於以一般處理器編碼視訊之無線手機。 在基於編碼增益之複雜度控制法中,我們提出了分析編碼工具之編碼效率的程序,且提出了這些工具的使用策略。藉由使用這些策略與分配較多複雜度給編碼效率較高的工具,這控制法可以使整個編碼器的編碼效益達到最佳。這控制法本身的運算複雜度很小,是一實用的方法。雖然編碼工具之編碼效率因平台而異,本論文提出一個設計程序,使設計者可以針對不同平台設計出高效率的複雜度控制方法。 因為動態預估、轉換、與熵編碼的運算複雜度最高,這三個編碼工具之複雜度分配會明顯影響整個編碼器的位元率-失真表現。本論文提出一個基於精減模型之複雜度分配法以獲得這三個工具的最佳複雜度。這分配法由二個演算法組成。第一個演算法做編碼工具間之複雜度分配,基於一個新的複雜度-位元率-失真模型,這方法分配接近最佳的複雜度給針對所有巨集區塊的動態預估、轉換、與熵編碼。根據這個模型,這演算法能以很小的代價獲得每個編碼工具之接近最佳的複雜度。基於一個新的動作預估的複雜度-失真模型,第二個演算法做巨集區塊間之複雜度分配,以進一步分配接近最佳的複雜度給每一個巨集區塊。實驗結果顯示這二個演算法比既有的演算法擁有較低的運算複雜度代價,且有較佳的位元率-失真表現。 Applications of real-time video encoding, such as video recording and video conference, commonly exist in modern wireless handsets. An H.264 video encoder adopts multiple encoding tools to achieve high coding efficiency at the expense of high computational complexity. The allowable computational complexity for real-time video encoding, however, is generally limited in a wireless handset. Therefore, a complexity control mechanism that well allocates the computational complexity of video encoding under the complexity constraint while maintaining optimal rate-distortion performance is important. This dissertation proposes a Coding-Gain-Based (CGB) complexity control for wireless handsets where video encoding is executed by a general-purpose processor. In the Coding-Gain-Based (CGB) complexity control, we describe the procedure to obtain the coding efficiency of each encoding tool and present a utilization strategy for these tools. By using the utilization strategy and allocating more complexity to the encoding tools which have higher coding efficiency, the CGB method is able to maximize the overall coding efficiency of the encoder. The complexity overhead of this method is very small, and is a practical method. Though the coding efficiency of encoding tools may vary with different platforms, this research provides a design procedure which allows designers to develop a high efficient complexity control algorithm on different platforms. Because Motion Estimation (ME), transform, and entropy coding are the most complexity-consuming tools, complexity allocation among these three tools influences the R-D performance of the encoder significantly. This dissertation proposes a Concise-Model-Based (CMB) complexity allocation to obtain the optimal complexity for these three tools. The CMB allocation is composed of two algorithms. The first algorithm performs Complexity Allocation among Encoding Tools (CAET) to allocate complexity to ME, PRECODING, and entropy coding for all MBs in a frame based on a new Complexity-Rate-Distortion (C-R-D) model. This model precisely reveals how ME, PRECODING, and entropy coding influence the C-R-D performance of the encoder with concise formulas. With respect to the model, the algorithm obtains the near-optimal complexity of ME, PRECODING, and entropy coding by a closed-form solution with small complexity overhead. Based on a new C-D model of Motion Estimation (ME), this work proposes the second algorithm that performs Complexity Allocation among Macro-Blocks (CAMB) to further allocate suitable complexity to each MB. Experiments performed on a software-optimized source code show that these two algorithms yield superior performance to the existing algorithms. |