Method and apparatus for packaging image data for transmission over a network
First Claim
1. A method comprising:
- using a multi-level wavelet transform engine to transform a given block of image data, of an image, having square dimensions to form a corresponding data block comprising an array of transformed image coefficients configured as a plurality of bit planes, wherein the given data block contains absolute image data that does not depend on either historical or forward data, and the given block is a smallest block into which the image is broken down into for processing;
configuring, by a codec a plurality of variable length data blocks corresponding to respective blocks of image data having square dimensions, into a data stream for transmission over a communications network, wherein an indexed data block is formed for each data block in the plurality of data blocks, wherein the indexed block size is fixed so that each indexed data block has the same size;
wherein each indexed data block formed for each data block in the plurality of data blocks containing absolute image data comprises no more than a single data block, wherein the length of the data block may vary from data block to data block, and wherein each indexed data block formed for each data block in the plurality of data blocks comprises;
a data block sync word that is distinguishable from other data in said data stream and that is identical for all indexed data blocks;
an index number which uniquely identifies the data block within said plurality of data blocks; and
the respective data block of variable length;
packaging at least one indexed data block corresponding to a transformed block of image data into a plurality of data packets for transmission over said communications network;
determining, for a last packet in the plurality of data packets, whether the last packet is only partially filled with data block data corresponding to the transformed block of image data;
in response to a determination that the last packet in the plurality of data packets is only partially filled with data block data corresponding to the transformed block of image data, packing the last packet with non-image data.
0 Assignments
0 Petitions
Accused Products
Abstract
Methods of data encoding using trees formed with logic gates are described which lead to spatial compression of image data. Data encoding is achieved using a five-level wavelet transform, such as the Haar or the 2/10 transform. A dual transform engine is used, the first and engine being used for the first part of the first-level transform, the second part of the first-level transform and the subsequent-level transforms being performed by the second transform engine within a time interval which is less than or equal to the time taken by the first transform engine to effect the part-transform. Each bit plane of the resulting coefficients is then encoded by forming a tree structure from the bits and OR logical combinations thereof. Redundant data are removed from the resulting tree structure, and further data can be removed by using a predetermined compression profile. The resulting blocks of compressed data are of variable length and are packaged with sync words and index words for transmission so that the location and identity of the transformed data blocks can be determined from the received signal.
-
Citations
12 Claims
-
1. A method comprising:
-
using a multi-level wavelet transform engine to transform a given block of image data, of an image, having square dimensions to form a corresponding data block comprising an array of transformed image coefficients configured as a plurality of bit planes, wherein the given data block contains absolute image data that does not depend on either historical or forward data, and the given block is a smallest block into which the image is broken down into for processing; configuring, by a codec a plurality of variable length data blocks corresponding to respective blocks of image data having square dimensions, into a data stream for transmission over a communications network, wherein an indexed data block is formed for each data block in the plurality of data blocks, wherein the indexed block size is fixed so that each indexed data block has the same size; wherein each indexed data block formed for each data block in the plurality of data blocks containing absolute image data comprises no more than a single data block, wherein the length of the data block may vary from data block to data block, and wherein each indexed data block formed for each data block in the plurality of data blocks comprises; a data block sync word that is distinguishable from other data in said data stream and that is identical for all indexed data blocks; an index number which uniquely identifies the data block within said plurality of data blocks; and the respective data block of variable length; packaging at least one indexed data block corresponding to a transformed block of image data into a plurality of data packets for transmission over said communications network; determining, for a last packet in the plurality of data packets, whether the last packet is only partially filled with data block data corresponding to the transformed block of image data; in response to a determination that the last packet in the plurality of data packets is only partially filled with data block data corresponding to the transformed block of image data, packing the last packet with non-image data. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method of retrieving a plurality of indexed data blocks from a data stream transmitted over a communications network by a codec, comprising:
-
receiving a first plurality of indexed data blocks corresponding to respective transformed blocks of image data of an image, wherein a block of image data is a smallest block into which the image is broken down into for processing, wherein each indexed data block is received in a distinct set of packets, the packets being of the same size, and wherein a given indexed data block comprises; a data block sync word identifying a respective indexed data block; an index number which defines a position of a respective data block in an image frame; and the respective data block of variable length, the respective data block comprising image data having square dimensions transformed using a multi-level wavelet transform engine to form the respective data block, the respective data block comprising an array of transformed image coefficients configured as a plurality of bit planes, wherein the respective data block contains absolute image data that does not depend on either historical or forward data; locating within said data stream each sync word identifying an indexed data block;
retrieving each said identified indexed data block from said data stream;where a given data block is not a last block in an image frame, validating a given data block using a data block sync word associated with the given data block and using a sync word associated with a next data block; where a given data block is the last block in an image frame, using an additional received sync word not associated with an indexed data block, the additional received sync word indicating the given data block is the last data block in the image frame; in response to determining that a given received data block is damaged, inhibiting am image corresponding to the data block from being displayed; applying a reverse wavelet transform to transform respective data blocks, in respective indexed data blocks identified by respective located sync words, and enabling corresponding image data to be displayed and, if a data block has been determined to be damaged, enabling image data of a previous intact block to be displayed in place of image data corresponding to the damaged data block. - View Dependent Claims (9, 10, 11, 12)
-
Specification