Encoder and method for encoding input data using a plurality of different transformations or combinations of transformations

US10333547B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10333547-B2
Application numberUS-201615017750-A
CountryUS
Kind codeB2
Filing dateFeb 8, 2016
Priority dateAug 13, 2012
Publication dateJun 25, 2019
Grant dateJun 25, 2019

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

An encoder includes data processing hardware operable to: process input data into a plurality of blocks/packets; apply a plurality of transformations to content of the blocks/packets to generate corresponding transformed data; check a quality of representation of the transformed data prior to application of the transformations to determine whether or not the quality of representation of the transformed data satisfies quality criteria; if the quality of representation does not satisfy the quality criteria, to divide and/or combine the one or more individual blocks or packets further and repeating the transformation step; and if the quality of representation of the transformed data satisfies the one or more quality criteria, to select coding methods and encode data representative of the input data to be encoded to provide encoded output data; and communicate in the encoded data information describing the plurality of transformations or combinations of transformations employed when coding the blocks/packets.

First claim

Opening claim text (preview).

The invention claimed is: 1. A method of encoding input data to generate corresponding encoded output data, the method comprising: (a) processing the input data containing multiple channels to separate channels; (b) processing each channel into a plurality of blocks or packets, the blocks or packets having a size depending upon one or more parameters describing data content and/or data type of the input data, and the blocks or packets being of one or more sizes; (c) applying a plurality of mutually different transformations or combinations of transformations to content of the blocks or packets to generate corresponding transformed data; (d) checking 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 plurality of mutually different transformations or combinations of transformations to select one or more coding methods for individual blocks or packets; (e) encoding the input data with the selected one or more coding methods to generate encoded output data for each channel separately; and (f) communicating in the encoded output data information describing the plurality of mutually different transformations or combinations of transformations employed when coding the blocks or packets separately for each channel. 2. The method as claimed in claim 1 , further comprising providing the one or more parameters describing the data content and/or data type of the input data in the encoded output data. 3. The method as claimed in claim 1 , further comprising in an event that the quality of representation of the transformed data of one or more blocks or packets does not satisfy the one or more quality criteria, dividing or combining the one or more individual blocks or packets whose quality of representation does not satisfy the one or more criteria further and repeating step (c) for the one or more blocks or packets whose quality of representation does not satisfy the one or more criteria, for each channel separately; and providing information indicative of dividing or combining the one or more individual blocks or packets in the encoded output data for each channel separately. 4. The method as claimed in claim 1 , further comprising providing the plurality of mutually different transformations or combinations of transformations within the selection of one or more coding methods in the encoded output data. 5. The method as claimed in claim 1 , further comprising using the plurality of mutually different transformations or combinations of transformations to compress content associated with the blocks or packets, so that the encoded output data is smaller in size than the input data to be encoded. 6. The method as claimed in claim 1 , further comprising arranging for the one or more quality criteria to be dynamically variable during encoding of the blocks or packets depending upon the one or more parameters describing content included within the blocks or packets. 7. The method as claimed in claim 1 , wherein the blocks or packets are sub-divided or combined so that the content of the blocks or packets described by at least one of representative parameters is substantially flat. 8. The method as claimed in claim 1 , wherein the blocks or packets correspond to a series of data, wherein sub-division of the input data corresponding to a given information to form a plurality of corresponding blocks is made dependent upon content present in one or more data preceding the given information within the temporal sequence of data. 9. The method as claimed in claim 1 , further comprising adding header information to the transformed data in step (e) to generate the encoded output data, wherein the header information includes information indicative of the plurality of mutually different transformations or combinations of transformations employed in step (c). 10. The method as claimed in claim 1 , wherein step (c) further comprises retrieving supplementary information from a database arrangement for use when executing said plurality of mutually different transformations or combinations of transformations, wherein the supplementary information includes at least one of: algorithms, rules, or one or more transformation parameters. 11. The method as claimed in claim 10 , further comprising adding header information to the encoded output data indicative of the database arrangement for enabling subsequent decoding of the encoded output data to access said supplementary information when decoding the encoded output data. 12. The method as claimed in claim 1 , further comprising employing for the transformations two or more of: a data base coding method, a DC-value coding method, slide coding method, scale coding method, line coding method, multilevel coding method, unchanged coding method, interpolation coding method, extrapolation coding method, Discrete Cosine Transform (DCT), pulse code modulation (PCM), Differential Pulse Code Modulation (DPCM), Run-Length Encoding (RLE), Split run-length encoding (SRLE), bzip2-specific RLE, Entropy Modifier, Lempel-Ziv Obehumer (LZO), Variable Length Coding (VLC), Huffman-coding, arithmetic coding, range coding, transform coding, delta coding, ODelta coding method, DDelta coding method, IDelta coding method, PDelta coding method, IntraMV coding method, InterMV coding method, color conversion coding method, quantization, wavelet transform, Hadamard transform, linear transform or inverse coding methods of all of the foregoing. 13. The method as claimed in claim 1 , further comprising encoding at least one of video, image, audio, graphics, economic data, mask data, multidimensional data, measurement data, text data, texture data, ECG, seismic, analog-to digital (ADC) converted data, biomedical signal data, genomic data, ASCII, Unicode, calendar data, mathematical data or binary information present in the input data. 14. The method as claimed in claim 1 , further comprising encoding the multiple channels or layers in the encoded output data for providing at least one of: interactive video, commercial advertisements, a plurality of viewpoints during sports event reporting, interactive watermarks, interactive pattern recognition, or animated 2D/3D user interface buttons. 15. The method as claimed in claim 1 , further comprising providing the encoded data to at least one of following destinations: a data memory device, a communication network, a memory card, data memory disks, or local area communication networks (LANs), directly to a decoder. 16. The method as claimed in claim 1 , wherein step (b) comprises initially splitting the input data into one or more blocks based on at least one of: (1) image resolutions; (2) an amount of input data; (3) a content of input data; (4) maximum and/or minimum block or packet size; (5) a quality parameter; (6) a dynamic range of the input data; (7) a variance of the input data; or (8) whether the input data is divisible into several channels. 17. The method as claimed in claim 1 , further comprising utilizing only a single processing unit. 18. The method as claimed in claim 1 , further comprising utilizing only a single memory device. 19. The method as claimed in claim 1 , further comprising setting the one or more parameters to relate to at least one of constant value, sliding parameter value, or repetitive pattern. 20. A non-transitory computer-readable data storage media comprising computer instructions which when executed by a processor cause the processor to: (a) process

Assignees

Inventors

Classifications

  • H03M7/3055Primary

    Conversion to or from Modulo-PCM · CPC title

  • Conversion to or from run-length codes, i.e. by representing the number of consecutive digits, or groups of digits, of the same kind by a code word and a digit indicative of that kind · CPC title

  • Tree coding, e.g. quad-tree coding · CPC title

  • employing a sliding window, e.g. LZ77 · CPC title

  • Parsing or analysis of headers · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10333547B2 cover?
An encoder includes data processing hardware operable to: process input data into a plurality of blocks/packets; apply a plurality of transformations to content of the blocks/packets to generate corresponding transformed data; check a quality of representation of the transformed data prior to application of the transformations to determine whether or not the quality of representation of the tra…
Who is the assignee on this patent?
Gurulogic Microsystems Oy, Gurologic Microsystems Oy
What technology area does this patent fall under?
Primary CPC classification H03M7/3055. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Jun 25 2019 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).