Video Encoding Slice Segmentation for Parallel Processing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing video encoding and decoding schemes are not suitable for resizing video data for displays of different sizes and lack parallelization, leading to inefficient processing and susceptibility to errors in error-prone channels.
Innovation Solution
The proposed solution involves dividing video streams into slices, allowing for independent encoding and decoding of macroblocks, using a multi-block scan pattern to group similar coefficients, and incorporating a slice table for direct access, enabling efficient resizing and parallel processing.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If video data is encoded using conventional block transform schemes with sequential processing, then coding efficiency is maintained through standardized DCT coefficient encoding, but processing speed deteriorates and parallelization is prevented
Solution Approach 1:
The video data is divided into multiple independent slices, where each slice contains a complete set of encoded macroblocks. This segmentation allows parallel processing of different slices while maintaining the standardized DCT encoding within each slice, thus improving processing speed without sacrificing coding efficiency
Solution Approach 2:
The patent introduces a new dimensional organization by arranging macroblocks in a two-dimensional grid within slices and using a multi-block scan pattern that traverses multiple blocks simultaneously. This dimensional reorganization enables parallel processing operations while maintaining compatibility with conventional DCT encoding standards
2Loss of time
If the decoder processes each block sequentially as received in the bitstream, then memory usage is minimized, but processing time increases and resizing operations become inefficient
Solution Approach 1:
The encoder performs preliminary organization of macroblocks into slices with a specific multi-block scan pattern before encoding. This preliminary structuring allows the decoder to process multiple blocks in parallel by reading from different positions in the bitstream simultaneously, reducing decoding time while only requiring temporary buffering of coefficients for the current slice
3Adaptability or versatility
If the video stream is encoded without slice structure, then the encoding process is simpler, but the ability to resize video for different displays is lost and error propagation increases
Solution Approach 1:
The video stream is segmented into independent slices, where each slice contains a complete set of macroblocks that can be independently decoded and resized. This segmentation enables flexible resizing for different display sizes by processing only the required slices or portions of slices, while the added slice structure complexity is offset by the gained adaptability
Solution Approach 2:
Different slices can be processed with different quality parameters or decoding options based on the specific requirements of different display regions or devices. This local quality approach allows optimized resizing and processing for each slice independently, enhancing overall system adaptability
Data Source
AI summary
Methods and systems are provided for encoding and decoding a video stream. Each picture in a video stream can be divided into slices, each of which contains a contiguous row of macroblocks. All the blocks corresponding to a single video component within each slice can then be used as the basis for encoding the picture. By decomposing each picture into slices, the video stream can be efficiently converted for displays of varying size and/or quality. The encoded bitstream can include a slice table to allow direct access to each slice without reading the entire bitstream. Each slice can also be processed independently, allowing for parallelized encoding and/or decoding.


