Claims Analysis
Total Claims: 14
Claim 1
Independent Claim
196 words
A method to decode an encoded MPEG video data stream, said method comprising the steps of: partitioning said decode of said encoded MPEG video data stream into memory-compute intensive tasks which require extensive memory and computational resources and non memory-compute intensive tasks which do not require extensive memory or computational resources; performing said non memory-compute intensive tasks through software modules executing on a processor to produce preprocessed symbol stream datastructure for each video frame, comprising the steps of: parsing said encoded MPEG video data stream using variable length decoding to produce parsed video data stream; performing inverse quantization on said parsed video data stream to produce said quantized video data stream; formatting said quantized video data stream as said preprocessed symbol stream datastructure; and writing said preprocessed symbol stream datastructure to said memory buffer; storing said preprocessed symbol stream data structure in a memory buffer; performing said memory-compute intensive tasks in dedicated video hardware to produce a decoded video frame; synchronizing said non memory-compute intensive tasks performed through said software modules executed by said processor and said memory-compute intensive tasks performed by said dedicated video hardware; and displaying said decoded video frame on a display device.
Claim 2
Independent Claim
196 words
A method to decode an encoded MPEG video data stream, said method comprising the steps of: partitioning said decode of said encoded MPEG video data stream into memory-compute intensive tasks which require extensive memory and computational resources and non memory-compute intensive tasks which do not require extensive memory or computational resources; performing said non memory-compute intensive tasks through software modules executing on a processor to produce preprocessed symbol stream datastructure for each video frame, comprising the steps of: parsing said encoded MPEG video data stream using variable length decoding to produce parsed video data stream; performing inverse quantization on said parsed video data stream to produce said quantized video data stream; formatting said quantized video data stream as said preprocessed symbol stream datastructure; and writing said preprocessed symbol stream datastructure to said memory buffer; storing said preprocessed symbol stream data structure in a memory buffer; performing said memory-compute intensive tasks in dedicated video hardware to produce a decoded video frame; synchronizing said non memory-compute intensive tasks performed through said software modules executed by said processor and said memory-compute intensive tasks performed by said dedicated video hardware; and displaying said decoded video frame on a display device.
Claim 3
Independent Claim
215 words
A method to decode an encoded MPEG video data stream, said method comprising the steps of: portioning said decode of said encoded MPEG video data stream into memocompute intensive tasks which require extensive memory and computational resources and non memory-compute intensive tasks which do not require extensive memory or computational resources; performing said non memory-compute intensive tasks through software modules executing on a processor to produce preprocessed symbol stream datastructure for each video frame, comprising the steps of: parsing said encoded MPEG video data stream using variable length decoding to produce parsed video data stream; performing inverse quantization on said parsed video data stream to produce said quantized video data stream; performing inverse discrete cosine transformation on said quantized video data stream to produce cosine transformed video data stream; formatting said cosine transformed video data stream as said preprocessed symbol stream datastructure; and writing said preprocessed symbol stream datastructure to said memory buffer; storing said preprocessed symbol stream data structure in a memory buffer; performing said memory-compute intensive tasks in dedicated video hardware to produce a decoded video frame; synchronizing said non memory-compute intensive tasks performed through said software modules executed by said processor and said memory-compute intensive tasks performed by said dedicated video hardware; and displaying said decoded video frame on a display device.
Claim 4
Independent Claim
215 words
A method to decode an encoded MPEG video data stream, said method comprising the steps of: portioning said decode of said encoded MPEG video data stream into memocompute intensive tasks which require extensive memory and computational resources and non memory-compute intensive tasks which do not require extensive memory or computational resources; performing said non memory-compute intensive tasks through software modules executing on a processor to produce preprocessed symbol stream datastructure for each video frame, comprising the steps of: parsing said encoded MPEG video data stream using variable length decoding to produce parsed video data stream; performing inverse quantization on said parsed video data stream to produce said quantized video data stream; performing inverse discrete cosine transformation on said quantized video data stream to produce cosine transformed video data stream; formatting said cosine transformed video data stream as said preprocessed symbol stream datastructure; and writing said preprocessed symbol stream datastructure to said memory buffer; storing said preprocessed symbol stream data structure in a memory buffer; performing said memory-compute intensive tasks in dedicated video hardware to produce a decoded video frame; synchronizing said non memory-compute intensive tasks performed through said software modules executed by said processor and said memory-compute intensive tasks performed by said dedicated video hardware; and displaying said decoded video frame on a display device.
Claim 5
Independent Claim
75 words
The method of claims 1 or 2, wherein said step of performing said memory-compute intensive tasks in said dedicated video hardware to produce said decoded video frame comprises the steps of: accessing said preprocessed symbol stream datastructure stored in said memory buffer; performing motion compensation operation on said preprocessed symbol stream datastructure to produce compensated video data stream; and performing block reconstruction operation on said compensated video data stream to produce said decoded video frame.
Claim 6
Independent Claim
95 words
The method of claims 1 or 2, wherein said step of performing said memory-compute intensive tasks in said dedicated video hardware to produce said decoded video frame comprises the steps of: accessing said preprocessed symbol stream datastructure stored in said memory buffer; performing inverse discrete cosine transformation operation on said preprocessed symbol stream datastructure to produce cosine transformed video data stream; performing motion compensation operation on said cosine transformed video data stream to produce compensated video data stream; and performing block reconstruction operation on said compensated video data stream to produce said decoded video frame.
Claim 7
Independent Claim
241 words
The method of claims 1 or 2, wherein said step of synchronizing said non-memory intensive tasks performed through said software modules executed by said processor and said memory-compute intensive tasks performed by said dedicated video hardware comprises the steps of: allocating said memory buffer to store said preprocessed symbol stream datastructure; maintaining a task pointer queue of software task control datastructures, each one of said software task control datastructures storing control information corresponding to each said non memory-compute intensive task processed by said software modules which is ready to be scheduled as said memory-compute intensive task to be executed by said dedicated video hardware; maintaining a count of completed said non memory-compute intensive tasks; converting said software control datastructures to hardware task control datastructures, said hardware task control datastructures storing information corresponding to said memory-compute intensive task to be executed by said dedicated video hardware; maintaining a task FIFO queue of said hardware task control datastructures in said dedicated video hardware, each of said hardware task control datastructure in said task FIFO queue storing information regarding said memory-compute intensive task to be executed by said dedicated video hardware; issuing an interrupt to signal completion of said memory-compute intensive task by said dedicated video hardware; and said software modules popping said hardware task control datastructure from said task FIFO queue on receiving said interrupt, said popped hardware task control datastructure corresponding to said memory-compute intensive task completed by said dedicated video hardware.
Claim 8
Independent Claim
204 words
An apparatus for decoding an encoded MPEG video data stream by partitioning said decoding into non memory-compute intensive tasks and memory-compute intensive tasks, said apparatus comprising: a bus interace; a processor coupled to said bus interface, said processor configured to execute one or more software modules of said plurality of software modules stored in said system memory to: parse said encoded MPEG video stream using variable length decoding to produce parsed video data stream; perform inverse quantization on said parsed video data stream to produce said quantized video data stream; format said quantized video data stream as said preprocessed symbol stream datastructure; and store said preprocessed symbol stream datastructure in said system memory; a system memory coupled to said bus interface, said system memory configured to store a plurality of software modules which can he executed on said processor, one or more software modules of said plurality of software modules configured to perform said non memory-compute intensive tasks to produce preprocessed symbol stream datastructure; dedicated video hardware coupled to said bus interface, said dedicated video hardware configured to execute said memory-compute intensive tasks to produce decoded video data to be display on a display device; and dedicated memory coupled to said dedicated video hardware.
Claim 9
Independent Claim
204 words
An apparatus for decoding an encoded MPEG video data stream by partitioning said decoding into non memory-compute intensive tasks and memory-compute intensive tasks, said apparatus comprising: a bus interace; a processor coupled to said bus interface, said processor configured to execute one or more software modules of said plurality of software modules stored in said system memory to: parse said encoded MPEG video stream using variable length decoding to produce parsed video data stream; perform inverse quantization on said parsed video data stream to produce said quantized video data stream; format said quantized video data stream as said preprocessed symbol stream datastructure; and store said preprocessed symbol stream datastructure in said system memory; a system memory coupled to said bus interface, said system memory configured to store a plurality of software modules which can he executed on said processor, one or more software modules of said plurality of software modules configured to perform said non memory-compute intensive tasks to produce preprocessed symbol stream datastructure; dedicated video hardware coupled to said bus interface, said dedicated video hardware configured to execute said memory-compute intensive tasks to produce decoded video data to be display on a display device; and dedicated memory coupled to said dedicated video hardware.
Claim 10
Independent Claim
223 words
An apparatus for decoding an encoded MPEG video data stream by partitioning said decoding into non memory-compute intensive tasks and memory-compute intensive tasks, said apparatus comprising: a bus interface; a processor coupled to said bus interface, said processor configured to execute one or more software modules of said plurality of software modules stored in said system memory to: parse said encoded MPEG video stream using variable length decoding to produce parsed video data stream; perform inverse quantization on said parsed video data stream to produce said quantized video data stream; perform inverse discrete cosine transformation on said quantized video data stream to produce cosine transformed video data stream; format said cosine transformed video data stream as said preprocessed symbol stream datastructure; and store said preprocessed symbol stream datastructure in said system memory; a system memory coupled to said bus interface, said system memory configured to store a plurality of software modules which can be executed on said processor, one or more software modules of said plurality of software modules configured to perform said non memory-compute intensive tasks to produce preprocessed symbol stream datastructure; dedicated video hardware coupled to said bus interface, said dedicated video hardware configured to execute said memory-compute intensive tasks to produce decoded video data to be display on a display device; and dedicated memory coupled to said dedicated video hardware.
Claim 11
Independent Claim
223 words
An apparatus for decoding an encoded MPEG video data stream by partitioning said decoding into non memory-compute intensive tasks and memory-compute intensive tasks, said apparatus comprising: a bus interface; a processor coupled to said bus interface, said processor configured to execute one or more software modules of said plurality of software modules stored in said system memory to: parse said encoded MPEG video stream using variable length decoding to produce parsed video data stream; perform inverse quantization on said parsed video data stream to produce said quantized video data stream; perform inverse discrete cosine transformation on said quantized video data stream to produce cosine transformed video data stream; format said cosine transformed video data stream as said preprocessed symbol stream datastructure; and store said preprocessed symbol stream datastructure in said system memory; a system memory coupled to said bus interface, said system memory configured to store a plurality of software modules which can be executed on said processor, one or more software modules of said plurality of software modules configured to perform said non memory-compute intensive tasks to produce preprocessed symbol stream datastructure; dedicated video hardware coupled to said bus interface, said dedicated video hardware configured to execute said memory-compute intensive tasks to produce decoded video data to be display on a display device; and dedicated memory coupled to said dedicated video hardware.
Claim 12
Independent Claim
59 words
The apparatus of claims 6 or 7, wherein said dedicated video hardware is further configured to: read said preprocessed symbol stream datastructure stored in said system memory; perform motion compensation on said preprocessed symbol stream data to produce compensated video data stream; and perform block reconstruction operation on said compensated video data stream to produce said decoded video data.
Claim 13
Independent Claim
79 words
The apparatus of claims 6 or 7, wherein said dedicated video hardware is further configured to: read said preprocessed symbol stream datastructure stored in said system memory; perform inverse discrete cosine transformation operation on said preprocessed symbol stream datastructure to produce cosine transformed video data stream; perform motion compensation on said cosine transformed video data stream to produce compensated video data stream; and perform block reconstruction operation on said compensated video data stream to produce said decoded video data.
Claim 14
Independent Claim
245 words
The apparatus of claims 6 or 7, wherein one or more software modules of said plurality of software modules stored in said system memory are further configured to: allocate a memory buffer for said preprocessed symbol stream datastructure in said system memory; maintain a task pointer queue of software task control datastructures, each one of said software task control datastructures storing control information corresponding to each said non memory-compute intensive task processed by said software module which is ready to be scheduled as said memory-compute intensive task to be executed by said dedicated video hardware; maintain a count of completed said non memory-compute intensive tasks; convert said software control datastructures to hardware task control datastructures, said hardware task control datastructures to store information corresponding to said memory-compute intensive task to be executed by said dedicated video hardware; and said dedicated video hardware is further configured to: maintain a task FIFO queue of said hardware task control datastructures in said dedicated memory, each of said hardware task control data packet in said task FIFO queue to store information regarding said memory-compute intensive task to be executed by said dedicated video hardware; and issue an interrupt to signal completion of said memory-compute intensive task by said dedicated video hardware, said software module configured to pop said hardware task control datastructure from said task FIFO queue on receiving said interrupt, said popped hardware task control datastructure corresponding to said memory-compute intensive task completed by said dedicated video hardware.