| Methods for encoding digital video for decoding on low performance devices -> Monitor Keywords |
|
Methods for encoding digital video for decoding on low performance devicesRelated Patent Categories: Pulse Or Digital Communications, Bandwidth Reduction Or Expansion, Television Or Motion Video Signal, Block CodingMethods for encoding digital video for decoding on low performance devices description/claimsThe Patent Description & Claims data below is from USPTO Patent Application 20070171982, Methods for encoding digital video for decoding on low performance devices. Brief Patent Description - Full Patent Description - Patent Application Claims BACKGROUND OF THE INVENTION [0001] 1. Field of the Invention [0002] This Invention relates generally to video encoding/decoding methods and more particularly to video encoding/decoding methods for use in conjunction with low bandwidth connections and low performance devices. [0003] 2. Description of the Related Art [0004] Video streams are regularly encoded, transmitted over computer networks, and decoded and displayed on desktop computers. Web browsers and the World Wide Web have facilitated access to and presentation of video media. The recent combination of the palmtop computing device and wireless access to the Internet has provided a basic platform for wireless web browsing. Lower bandwidths and processing performances, however, make conventional encoding and streaming techniques inapplicable for streaming video to wirelessly connected palmtop devices. [0005] State of the art video compression standards such as H.261, H.263, MPEG1/2/4 and M-J PEG are based on either Discrete Cosine Transform (DCT) or Wavelet Transformation. Prototype implementations with H.263 and a Custom DCT codec have shown that the DCT decoding process is too slow on current Palm Operating System ("PalmOS") platforms. The same holds for the Wavelet transformations. A principal reason for this is the large number of multiplications required for decoding. Typical implementations use the Chen-Wang algorithm (IEEE ASSP-32, pp. 803-816, August 1984). In the worst case, this algorithm requires 176 multiplications and 464 adds per 8.times.8 pixel block. A typical PalmOS device has a 160.times.160 pixel frame, in which case 70,400 multiplications are needed. A 68000 series microprocessor needs roughly 80 cycles for a single multiplication. Thus, a microprocessor running at 20 MHz takes approximately 0.28 seconds to perform these multiplications, leading to a frame rate about 3 frames per second. This calculation, however, assumes the worst case. Higher frame rates may be theoretically achieved by reducing the video frame size, limiting the number of colors, and/or reducing the video quality by means of DCT vector quantisation. Shortcuts in the Chen-Wang algorithm can benefit from vectors that equal zero. Nevertheless, the given approximation of the decoding delay does not include the adds and the additional DCT vectors needed for color videos. Prototype implementations have shown that the decoding delay for a full screen video frame in photo quality is at least 1.5 seconds. [0006] In general, a more realistic solution for very low-performance client devices is block-based difference encoding, because of its low computing demands on the decoding client device. However, it is generally accepted by those skilled in art that the, central challenge in such algorithms is to select an optimal encoding block size. Quoting from New Media Republic's description of interface video encoding (see article http://www.newmediarepublic.com/dvideo/compression/adv07.html, by Collin Manning, lecturer In computer science at Cork Institute of Technology, included herein as an exhibit), Clearly the choice of block size must be an informed one so as to achieve the best balance between image quality and cession. [0007] Please note that block-based motion compensation is an entirely different category of video compression from block-based difference encoding. Motion compensation has little relevance under low-performance computing conditions, because the client-side vector algebra required for computing image region translations based on arbitrary vectors is too multiplication-intensive for low performance client devices. As a result, inventions such as Krause (U.S. Pat. No. 5,235,419) cannot be applied under these conditions, nor can they be modified to resemble block-based difference encoding methods. [0008] For a succinct description of the differences between block-based difference coding and block-based motion compensation, refer to the aforementioned Manning article. [0009] The embodiments of the invention seek to provide video encoding techniques and formats that are well-suited to decoding by low-performance devices, such as a PalmOS device, and that is well-suited to transmission over low-bandwidth links, such as wireless networks. SUMMARY OF THE INVENTION [0010] Generally, the invention provides a method and a system to encode a video stream comprising a series of frames. The video stream is encoded by a video encoder that runs on a server. The encoded video is then transmitted over a communication link to a client device whereupon a decoder decodes and displays the video stream. [0011] The video encoder encodes the video stream frame by frame. Encoding process generally includes receiving a video frame, subdividing the video frame into uniform pixel blocks, comparing a selected pixel block with the corresponding pixel block in a previous decoded video frame to determine which blocks have changed, copying changed pixel blocks Into a contiguous memory block, adding a preamble block, compressing the blocks, and repeating this process to determine and select a pixel block size that results in the smallest encoded frame. [0012] First, the video encoder logically divides each video frame into uniform block sizes. Each of these uniform pixel blocks is compared with the corresponding pixel block from the previous decoded video frame to determine if there are any significant differences. If so, the encoder deletes the block out of the encoded video frame. [0013] After completing the block by block comparison, the pixel blocks that have not been deleted are copied into a continuous memory block. A preamble block indicating the layout of the memory block is then added. The resulting packet comprising the preamble block and the memory block is thereafter compressed. In an embodiment, a video frame is encoded using different block sizes to choose the block size that results in smallest encoded frame. [0014] Encoded video frame is thereafter sent over a network via a communication link to a client device. A decoder in the client device decodes and displays the decoded video frame using a corresponding decoding method. BRIEF DESCRIPTION OF THE DRAWINGS [0015] FIG. 1 illustrates a video encoding system at a general level. [0016] FIG. 2 illustrates a set of components for implementing the video encoding process. [0017] FIG. 3 illustrates a method performed by the video encoder. [0018] FIG. 4 Illustrates a method of determining what block size to use. [0019] FIG. 5 illustrates a method performed by the decoder. DETAILED DESCRIPTION OF THE EMBODIMENTS [0020] In the following description, reference is made to the accompanying drawings, which form a part hereof, and which show, by way of illustration, specific embodiments or processes in which the invention may be practiced. Where possible, the same reference numbers are used throughout the drawings to refer to the same or like components. In some instances, numerous specific details are set forth in order to provide a thorough understanding of the various embodiments. The present invention, however, may be practiced without the specific details or with certain alternative equivalent devices and methods to those described herein. In other instances, well-known methods and devices have not been described in detail so as not to unnecessarily obscure aspects of the present invention. Continue reading about Methods for encoding digital video for decoding on low performance devices... Full patent description for Methods for encoding digital video for decoding on low performance devices Brief Patent Description - Full Patent Description - Patent Application Claims Click on the above for other options relating to this Methods for encoding digital video for decoding on low performance devices patent application. ### 1. Sign up (takes 30 seconds). 2. Fill in the keywords to be monitored. 3. Each week you receive an email with patent applications related to your keywords. Start now! - Receive info on patent apps like Methods for encoding digital video for decoding on low performance devices or other areas of interest. ### Previous Patent Application: Method of video decoding Next Patent Application: Projection based techniques and apparatus that generate motion vectors used for video stabilization and encoding Industry Class: Pulse or digital communications ### FreshPatents.com Support Thank you for viewing the Methods for encoding digital video for decoding on low performance devices patent info. IP-related news and info Results in 0.26344 seconds Other interesting Feshpatents.com categories: Canon USA , Celera Genomics , Cephalon, Inc. , Cingular Wireless , Clorox , Colgate-Palmolive , Corning , Cymer , 174 |
* Protect your Inventions * US Patent Office filing
PATENT INFO |
|