Software-based video encoding using high-performance computing
by Shahriar Mohammad Akramullah
THESIS
1999
Ph.D. Electrical and Electronic Engineering
xvi, 154 leaves : ill. ; 30 cm
Abstract
Emerging multimedia applications demand faster and more flexible digital video coding. While hardware-based implementations are usually fast, the flexibility offered by software and the growing speed of general-purpose processors make software solutions promising alternatives. However, the immense computational requirement of video coding presents a strenuous challenge to software-based implementations. The contributions of this work are two fold. First, we exploit parallel and distributed computing to offer a plausible software solution, especially for higher resolution MPEG-l-based video in both on-line and off-line environments. For on-line applications, we exploit fine-grained data-parallelism within each frame of video, using a macroblock as the basic data unit. For off-line applic...[ Read more ]
Emerging multimedia applications demand faster and more flexible digital video coding. While hardware-based implementations are usually fast, the flexibility offered by software and the growing speed of general-purpose processors make software solutions promising alternatives. However, the immense computational requirement of video coding presents a strenuous challenge to software-based implementations. The contributions of this work are two fold. First, we exploit parallel and distributed computing to offer a plausible software solution, especially for higher resolution MPEG-l-based video in both on-line and off-line environments. For on-line applications, we exploit fine-grained data-parallelism within each frame of video, using a macroblock as the basic data unit. For off-line applications, we use coarse-grained data partitioning with a group of frames as an independent data unit. We propose efficient scheduling of I/O operations with a view to removing the I/O contention. We employ various parallel and distributed platforms ranging from supercomputers to clusters of workstations connected via fast interconnection networks working as virtual parallel machines. Our second contribution is a single-processor H.263 based coding solution. For low-bit-rate applications, real-time encoding and decoding using only a single processor PC or workstation is highly desirable. We design fast algorithms for major computation-intensive functional modules, and devise ways to use low-level machine primitives in such modules, to speedup their computation. The proposed solutions efficiently utilize available resources in order to achieve maximum encoding performance.
Post a Comment