Method and apparatus for transmitting video and graphics in a compressed form
First Claim
1. An encoder apparatus comprising:
- a video processor for encoding a video;
a graphics processor for producing a plurality of encoded graphics slices;
a modem, coupled to said video processor and said graphics processor, for placing said encoded video and said encoded graphics slices into a bitstream for transmission;
a controller, coupled to said video processor and said graphics processor, for selecting the graphics slices to be included in said bitstream and for adjusting the slice boundaries.
5 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus for compressing and transmitting both video and graphics portions of an interactive program guide (IPG). For an IPG that comprises a graphics portion and at least one video portion, the inventive system separately encodes the video portion and the graphics portion. The video portion is slice-base encoded using a predictive encoder, e.g., an MPEG encoder, that produces a bitstream comprising intra-coded picture slices and predictive-coded picture slices. The graphics portion is separately slice-base encoded to produce encoded slices of the graphics image. The encoded slices of the graphics portion can be stored in a database and recalled as needed for transmission. To transmit an IPG, a transport stream is created containing the intra-coded and predicted picture streams as well as the encoded slices that comprise a graphics image that is to be included in the IPG. The receiver reassembles the components of the IPG into a comprehensive IPG.
232 Citations
37 Claims
-
1. An encoder apparatus comprising:
-
a video processor for encoding a video;
a graphics processor for producing a plurality of encoded graphics slices;
a modem, coupled to said video processor and said graphics processor, for placing said encoded video and said encoded graphics slices into a bitstream for transmission;
a controller, coupled to said video processor and said graphics processor, for selecting the graphics slices to be included in said bitstream and for adjusting the slice boundaries. - View Dependent Claims (2, 3, 4, 9)
a compositor unit; - and
an encoder unit.
-
-
5. Apparatus for distributing an interactive program guide comprising:
-
an encoder, for encoding at least one video sequence as an encoded video portion and guide graphics as an encoded guide graphics portion, said encoder comprising a video processor and a graphics processor, wherein said video processor comprises a compositor unit for receiving video information and an encoder unit coupled to said compositor unit;
at least one modem, for transmitting said encoded video and guide graphics portions through a head end channel;
local neighborhood equipment, coupled to said head end channel, for selecting said encoded video portion and said encoded guide graphics portion and producing a transport stream comprising said encoded video portion and said encoded guide graphics portion;
a network, for carrying said transport stream to at least one receiver; and
at least one receiver, coupled to said network, for processing said transport stream to form an interactive program guide. - View Dependent Claims (6, 7, 8)
a guide data grid generator for receiving guide information;
a guide encoder coupled to said guide data grid generator; and
a slice form grid page database coupled to said guide encoder.
-
-
7. The apparatus of claim 5 wherein said encoder produces a plurality of encoded video portions and a plurality of encoded guide graphics portions that are made available to said local neighborhood equipment.
-
8. The apparatus of claim 7 wherein said local neighborhood equipment further comprises:
-
a modem;
a slice combiner;
a multiplexer; and
modulator.
-
-
10. Apparatus for distributing an interactive program guide (IPG) comprising:
-
an encoder assembly having a video processor for encoding at least one video sequence of said IPG as and encoded video portion, and a graphics processor for encoding guide graphics of said IPG as an encoded guide graphics portion;
means for selecting said encoded video portion and said encoded guide graphics portion and producing a transport stream comprising said encoded video portion and said encoded guide graphics portion;
a network for carrying said transport stream to at least one receiver; and
at least one receiver, coupled to said network, for processing said transport stream to form an interactive program guide;
wherein said graphics processor comprises;
a guide data grid generator;
a guide encoder; and
a slice form grid page database. - View Dependent Claims (11)
-
-
12. A method of encoding an interactive program guide having a video portion and a guide graphics portion comprising the steps of:
-
encoding the video portion by dividing the video portion into slices and encoding each video portion slice;
encoding the guide graphics portion to produce a plurality of encoded guide graphics slices by dividing the guide graphics portion into slices and encoding each guide graphics portion slice;
assigning packet identifiers to the video portion slices and the guide graphics portion slices, wherein said assigning step assigns a different packet identifier to each guide graphics slice that is part of a different guide graphic, and assigns a common packet identifier to all the common video portion slices;
arranging the video slice portion slices and the guide graphics portion slices into a transport stream;
selecting the guide graphics slices to be included in a bitstream and adjusting the slice boundaries of the selected guide graphics slices; and
placing the encoded video portion and encoded guide graphics slices into said bitstream for transmission. - View Dependent Claims (13, 14, 15)
the assigning step further comprises the steps of separating the intra-coded slices from the predictive-coded slices;
assigning a different packet identifier to each intra-coded guide graphics slice that is part of a different guide graphic; and
assigning a common packet identifier to all the intra-coded video portion slices and all the predictive-coded slices of said guide graphics portion and video portion.
-
-
14. The method of claim 13 wherein the encoding step further comprises the step of skipping macroblocks in the predictive-coded slices of the guide graphics without any further processing.
-
15. The method of claim 13 wherein skipped slices are either distributed amongst the predicted slices of the graphics portion and the video portion within the transport stream or are grouped together within the transport stream.
-
16. A method of stream recombining and decoding comprising the steps of:
-
extracting a first plurality of packets from a transport stream comprising reference picture slices identified by a guide portion slice PID and a video portion slice PID;
extracting a second plurality of packets from said transport stream comprising predicted picture slices identified by skipped guide slice PID and a predictive video slice PID;
concatenating payloads from said first plurality of packets and payloads from said second plurality of packets; and
decoding the concatenated payloads to produce a video sequence. - View Dependent Claims (17, 18, 19, 20)
conducting a query if a new reference picture slice is requested; and
identifying new PIDs carrying the requested guide slices of said new reference picture slice.
-
-
18. The method of claim 16 wherein said concatenating comprises coupling payloads from said plurality of reference picture slices and payloads for said plurality of said predicted pictures slices to the decoder in exactly the order in which said packets arrive at a demultiplexer.
-
19. The method of claim 16 being conducted within a demultiplexer.
-
20. The method of claim 16 wherein said payloads of said first plurality of packets contain slice-based imagery information that changes across a plurality of interactive program guides and said payloads of said second plurality of packets contain slice-based common imagery information of said plurality of interactive program guide pages.
-
21. A method of stream recombining and decoding comprising the steps of:
-
re-mapping packet identifiers of a reference slice-based stream to a pre-defined packet identifier;
re-mapping a packet identifier of a predicted picture slice-based stream to said pre-defined packet identifier;
extracting packets of a transport stream having said pre-defined packet identifier;
coupling a payload from each of the extracted packets to a video decoder; and
decoding the payloads to produce a video sequence. - View Dependent Claims (22, 23)
conducting a query if said reference slice-based stream is desired and identifying new packet identifiers for the reference slice-based stream if a new reference slice-based stream is desired.
-
-
23. The method of claim 22 wherein said payloads of said packets from said reference slice-based stream contain slice-based imagery information that changes across a plurality of interactive program guides and said payloads of said packets from said predicted picture slice-based stream contain slice-based common imagery information of said plurality of interactive program guide pages.
-
24. A method of stream recombining and decoding comprising;
-
coupling a plurality of payloads of transport packets of a slice-based portion of a reference stream to a video decoder, including the packet with zero splice countdown value;
coupling a plurality of payloads of transport packets of a next slice based portion of a reference stream to a video decoder upon receiving the previous stream packet with zero splice countdown value;
continuing a slice based PID switch process until all the reference stream packet payloads are coupled to a video decoder;
coupling a plurality of payloads of transport packets of predictive-coded slices to said video decoder upon receiving a last reference stream packet with a zero splice countdown value;
concatenating said payloads; and
decoding the concatenated payloads to produce a video sequence. - View Dependent Claims (25, 26, 27, 28)
conducting a query if said reference stream is desired and identifying new packet identifiers for the reference stream packets if a new reference stream is desired.
-
-
26. The method of claim 24 wherein said payloads of said plurality of reference stream packets contain slice-based imagery information that changes across a plurality of interactive program guides and said payloads of said plurality of predictive stream packets contain slice-based common imagery information of said plurality of interactive program guide pages.
-
27. The method of claim 24 wherein reception of a packet containing said packet with a zero countdown value initiates immediate reprogramming said packet identifier filter to receive said packets having said new packet identifier.
-
28. The method of claim 24 wherein said concatenating comprises coupling said payloads of said reference stream and said payloads of said predicted stream to the decoder in exactly the order in which said packets arrive at a demultiplexer.
-
29. A method of stream recombining and decoding comprising:
-
defining an array of N PIDs to be recombined;
initializing a current video PID hardware or software with the first entry;
initializing a next video PID splicing hardware or software with the second entry in an array;
extracting packets from said stream in accordance with said first and second entries;
enabling hardware splicing of extracted slices;
setting the next video PID hardware or software to the next entry in the array.
-
-
30. Apparatus for distributing an interactive program guide comprising:
-
an encoder for encoding at least one video sequence as an encoded video portion and guide graphics as an encoded guide graphics portion, said encoder comprising a video processor and a graphics processor, wherein said graphics processor comprises a guide data grid generator, a guide encoder coupled to said guide data grid generator, and a slice form grid page database coupled to said guide encoder;
at least one modem for transmitting said encoded video and guide graphics portions through a head end channel, wherein said encoder produces a plurality of encoded video portions and a plurality of encoded guide graphics portions that are made available to said local neighborhood equipment;
local neighborhood equipment, coupled to said head end channel, for selecting said encoded video portion and said encoded guide graphics portion and producing a transport stream comprising said encoded video portion and said encoded guide graphics portion, wherein said local neighborhood equipment further comprises a modem and a slice combiner;
a network for carrying said transport stream to at least one receiver; and
at least one receiver, coupled to said network, for processing said transport stream to form an interactive program guide. - View Dependent Claims (31, 32, 33)
a modem coupled to said encoding encoder;
a slice combiner coupled to said modem;
a multiplexer coupled to said slice combiner; and
a modulator coupled to said multiplexer.
-
-
34. In a communications system for providing interactive information to a plurality of subscriber terminals, a computer readable medium in a general purpose computer system that operates as a special purpose controller when executing at least one program for providing said information, comprising:
-
encoding the video portion by dividing the video portion into slices and encoding each video portion slice;
encoding the guide graphics portion to produce a plurality of encoded guide graphics slices by dividing the guide graphics portion into slices and encoding each guide graphics portion slice;
assigning packet identifiers to the video portion slices and the guide graphics portion slices, wherein said assigning step assigns a different packet identifier to each guide graphics slice that is part of a different guide graphic, and assigns a common packet identifier to all the common video portion slices;
arranging the video slice portion slices and the guide graphics portion slices into a transport stream;
selecting the guide graphics slices to be included in a bitstream and adjusting the slice boundaries of the selected guide graphics slices; and
placing the encoded video portion and encoded guide graphics slices into said bitstream for transmission. - View Dependent Claims (35, 36, 37)
the assigning step further comprises the steps of separating the intra-coded slices from the predictive-coded slices;
assigning a different packet identifier to each intra-coded guide graphics slice that is part of a different guide graphic; and
assigning a common packet identifier to all the intra-coded video portion slices and all the predictive-coded slices of said guide graphics portion and video portion.
-
-
36. The computer readable medium of claim 35, wherein the encoding step further comprises the step of skipping macroblocks in the predictive-coded slices of the guide graphics without any further processing.
-
37. The computer readable medium of claim 35, wherein skipped slices are either distributed amongst the predicted slices of the graphics portion and the video portion within the transport stream or are grouped together within the transport stream.
Specification