摘要 |
<p>An encoder (10) is operable to encode input data (20) to generate corresponding encoded output data (30). The encoder (10) includes data processing hardware which is operable:
(a) to sub-divide input data (20) into a plurality of blocks or packets, the blocks or packets having a size depending upon a nature of their content, and the blocks or packets being of one or more sizes;
(b) to apply a plurality of transformations to content of the blocks or packets to generate corresponding transformed data;
(c) to check a quality of representation of the transformed data of the blocks or packets compared to the content of the blocks or packets prior to application of the transformations to determine whether or not the quality of representation of the transformed data satisfies one or more quality criteria;
(d) in an event that the quality of representation of the transformed data of the one or more blocks or packets does not satisfy the one or more quality criteria, to sub-divide and/or to combine the one or more blocks or packets further and repeating step (b); and
(e) in an event that the quality of representation of the transformed data of the one or more blocks or packets satisfies the one or more quality criteria, to output the transformed data to provide encoded output data (30) representative of the input data (20) to be encoded. The encoder (10) is operable to use the transformations to compress content associated with the blocks or packets, so that the encoded output data (30) is smaller in size than the input data (20) to be encoded.</p> |