Compressed Start Code Table Structure for Video Decoding
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The insertion of presentation time stamps (PTS), decode time stamps (DTS), and PCR offset after non-slice start codes in the compressed data buffer increases the number of bytes written, potentially exceeding 256 bytes, leading to two DRAM accesses per packet, which is inefficient.
Innovation Solution
A compressed structure for writing slice group start codes into a start code table, where PTS and DTS information is efficiently stored, allowing for reduced data insertion and optimized memory access by using a start code table with specific entry formats such as base address, PTS/DTS, BTP Command, and PCR Offset entries.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If PTS, DTS, and PCR offset are inserted after non-slice start codes in the compressed data buffer, then the timestamp information is preserved and decoded correctly, but the number of bytes written increases potentially exceeding 256 bytes, leading to two DRAM accesses per packet
Solution Approach 1:
The patent segments the start code table into multiple entries, with each entry containing a start code and its associated PTS/DTS/PCR offset information. This segmentation allows the system to store timestamp information efficiently without exceeding the 256-byte buffer limit, thereby maintaining single DRAM access per packet while preserving all necessary timestamp data for correct decoding.
Solution Approach 2:
The patent reorganizes the data structure by creating a multi-dimensional start code table where each start code entry contains not only the start code itself but also embedded PTS/DTS/PCR offset information. This dimensional reorganization transforms the flat insertion approach into a structured hierarchical format, reducing the total bytes written while maintaining data integrity and enabling efficient single DRAM access.
2Loss of information
If PTS, DTS, and PCR offset are inserted after non-slice start codes, then complete timing information is available for decoding, but the data buffer size increases requiring two DRAM accesses per packet
Solution Approach 1:
The patent merges the PTS, DTS, and PCR offset information directly into the start code table entries, combining what would otherwise be separate data structures. This merging eliminates the need for additional buffer space and complex buffer management, as all timing information is integrated into the existing start code structure, maintaining information completeness while simplifying the overall buffer architecture.
Solution Approach 2:
The start code table entries are designed to serve multiple functions: storing the start code itself, storing the associated PTS information, storing the DTS information, and storing the PCR offset. This multi-functionality allows a single data structure to handle all timing-related requirements without requiring separate buffer spaces, thereby maintaining complete timing information while avoiding increased buffer complexity.
3Measurement precision
If multiple start codes are written to the start code table with associated timestamps, then decoding accuracy is improved, but the number of bytes written increases
Solution Approach 1:
The patent applies local quality by associating specific PTS/DTS/PCR offset information only with the relevant start code entries in the start code table. Rather than uniformly inserting timestamp data after every start code, the system selectively stores timing information only where needed, optimizing the bytes written while maintaining decoding accuracy for all necessary data structures.
Data Source
AI summary
Presented herein is a compressed structure for writing slice group start codes into a start code table, for use with a video decoding system. One or more start codes are written to a start code table. The presentation time information is written to the start code table.


