EFFICIENT VIDEO PACKETIZATION METHODS FOR PACKET-SWITCHED VIDEO TELEPHONY APPLICATIONS
First Claim
1. A packet-switched video telephony device comprising:
- an encoder operable to encode a video sequence to create an encoded video data and a packet switched video assembler operable to packetize the encoded video data into dynamically adjusted packets by estimating a number of packets to be generated for a frame based on an estimated frame size and iteratively calculating an updated packet size, based on at least the estimated frame size and the number of packets, on a packet-by-packet basis, while the encoded video data is packed into an actual bitstream; and
a transmitter for transmitting the actual bitstream.
1 Assignment
0 Petitions
Accused Products
Abstract
A device having an encoder and a packet switched video assembler which first estimates how many packets should be generated for one frame based on an estimated frame size and an initial fixed target packet size. Then, an updated packet size is recalculated on a packet-by-packet or slice-by-slice basis. The video assembler includes a three-stage process. The first stage estimates the frame size with or without encoding the video sequence, wherein in the case where the first stage includes encoding, the encoded data is packed in to a simulation bitstream. The second stage estimates the number of packets using the target packet size, estimated frame size and a configuration mode. The third stage dynamically updates the packet size using one-MB look-ahead approach with pre-encoding each MB. In an alternate embodiment, the third stage turns off the look ahead feature when encoding a current macroblock takes place during the third stage.
30 Citations
50 Claims
-
1. A packet-switched video telephony device comprising:
-
an encoder operable to encode a video sequence to create an encoded video data and a packet switched video assembler operable to packetize the encoded video data into dynamically adjusted packets by estimating a number of packets to be generated for a frame based on an estimated frame size and iteratively calculating an updated packet size, based on at least the estimated frame size and the number of packets, on a packet-by-packet basis, while the encoded video data is packed into an actual bitstream; and a transmitter for transmitting the actual bitstream. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. Program code having program instructions which upon execution are operable to
encode a video sequence to create an encoded video data; -
estimate a number of packets to be generated for a frame based on an estimated frame size; and iteratively calculate an updated packet size, based on at least the estimated frame size and the number of packets, on a packet-by-packet basis, while the encoded video data is packed into an actual bitstream. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23)
-
-
24. A packet-switched video telephony device comprising:
-
encoding means for encoding a video sequence to create an encoded video data; video assembling means for assembling the encoded video data into dynamically adjusted packets by estimating a number of packets to be generated for a frame based on an estimated frame size and iteratively calculating an updated packet size, based on at least the estimated frame size and the number of packets, on a packet-by-packet basis, while the encoded video data is packed into an actual bitstream; and transmitting means for transmitting the actual bitstream. - View Dependent Claims (25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36)
-
-
37. A method comprising the steps of:
-
encoding a video sequence to create an encoded video data; and dynamically adjusting packets of the encoded video data by estimating a number of packets to be generated for a frame, based on an estimated frame size, and iteratively calculating an updated packet size, based on at least the estimated frame size and the number of packets, on a packet-by-packet basis, while the encoded video data is packed into an actual bitstream. - View Dependent Claims (38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48)
-
-
49. An encoder comprising a macroblock encoding module operable to encode a video sequence to create an encoded video data having macroblocks;
- and a packet switched video assembler operable to packetize the encoded video data into dynamically adjusted packets by iteratively calculating an updated packet size, on a slice-by-slide basis, while the encoded video data is packed into an actual bitstream, the updated packet sized being a function of an estimated frame size derived from a fixed initial target frame size and an estimated number of packets.
- View Dependent Claims (50)
Specification