CN105409129B - Encoder device, decoder apparatus and method - Google Patents

Encoder device, decoder apparatus and method Download PDF

Info

Publication number
CN105409129B
CN105409129B CN201480024696.XA CN201480024696A CN105409129B CN 105409129 B CN105409129 B CN 105409129B CN 201480024696 A CN201480024696 A CN 201480024696A CN 105409129 B CN105409129 B CN 105409129B
Authority
CN
China
Prior art keywords
data
symbol
continuum
value
processing equipment
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201480024696.XA
Other languages
Chinese (zh)
Other versions
CN105409129A (en
Inventor
奥西·卡雷沃
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Gurulogic Microsystems Oy
Original Assignee
Gurulogic Microsystems Oy
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Gurulogic Microsystems Oy filed Critical Gurulogic Microsystems Oy
Publication of CN105409129A publication Critical patent/CN105409129A/en
Application granted granted Critical
Publication of CN105409129B publication Critical patent/CN105409129B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3068Precoding preceding compression, e.g. Burrows-Wheeler transformation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/46Conversion 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/04Protocols for data compression, e.g. ROHC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/93Run-length coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

Provide a kind of encoder (10), for encoding the data (D1) provided to the encoder (10) to generate corresponding encoded data (D2), wherein encoder (10) includes data processing equipment (20), for one or more cataloged procedures to be applied to data (D1) to generate coded data (D2).Data processing equipment (20) can be used to, if the data (D1) are indicated with numerical symbol, at least partly with the set expression of the numerical symbol data (D1).Data processing equipment (20) can be used to generate intermediate data (40), numerical symbol is wherein indicated with original value, at least one symbol is indicated with correction value, the correction value has the one or more continuum symbols generated by continuum arithmetic unit, and wherein the value of symbol of one or more continuum symbol amendment front is to adapt to escape character range.Data processing equipment (20) can be used to processing middle data (40) to generate coded data (D2).Provide a kind of decoder (50), for decoding the coded data (D2) provided to the decoder (50) to generate corresponding decoding data (D3), wherein decoder (50) includes data processing equipment (60), for one or more decoding process to be applied to coded data (D2) to generate decoding data (D3).Data processing equipment (60) can be used to processing coded data (D2) to generate intermediate data (40).Data processing equipment (60) can be used to processing middle data (40) with decoding intermediate data, wherein in intermediate data, numerical symbol is indicated by output symbol and at least by an amendment output symbol, the amendment output symbol has one or more continuum symbols, the one or more continuum symbol is then decoded by inverse continuum arithmetic unit, wherein one or more of continuum symbols correct the value of the amendment output symbol to adapt to escape character range.Data processing equipment (60) can be used to transformation and/or conversion process after intermediate data to indicate decoding data (D3) by assemble of symbol.The encoder (10) and decoder (50) are collectively referred to as codec (100), and can be used to processing indicates the data of following items:Audio signal, capture vision signal, capture image, text data, seismic data, sensor signal, modulus (ADC) change data, biological signal data, calendar data, economic data, mathematical data, binary data are captured, but codec (100) accessible data are without being limited thereto.

Description

Encoder device, decoder apparatus and method
Technical field
This disclosure relates to for being encoded to the data received to generate the encoder device of corresponding encoded data.This Outside, present disclosure also relates to for data to be encoded with the method to generate corresponding encoded data.In addition, this disclosure relates to being used for The coded data received is decoded to generate the decoder apparatus of corresponding decoding data.In addition, this disclosure relates to being used for The method to generate corresponding decoding data is decoded to coded data.Present disclosure also relates to include one or more above-mentioned codings The combined codec of device equipment and one or more above-mentioned decoder apparatus.In addition, this disclosure relates to being recorded in non-transient Software product in (non-instantaneous) machine-readable data storage media, wherein the software product can execute in computing hardware to hold The row above method.The disclosure of UK Patent Application GB1303658.7 is incorporated herein by being cited in full text.
Background technique
In general, current data communication network and data processing equipment needs handle more and more a large amount of data.This Kind data processing correspondingly needs bigger data communication bandwidth and/or bigger data storage capacity.Such bandwidth is provided And/or the cost of memory capacity is very high.Therefore, carrying out compression to data when carrying out data communication and/or storage will tool There is considerable benefit.
Currently, information is typically expressed as the form of data, such as audio, image, video, chart, ECG, seismic data, survey Measure data, number, Excel list, character, text, news, ascii character, Unicode character, binary data, advertisement, more Dimension data etc..In addition, these data can be expressed as different-format, such as bit, byte, word, character, number, picture, etc. Deng.Furthermore, it is possible to be encoded using a variety of different coding methods developed between recent decades to current information.Institute as above It states, the storage and/or transmission of information are usually necessary, and are as a small amount of (for example, just with bit as possible by information representation therefore For the size of data of unit) coded data (for example, entropy coding data and additional information) will be beneficial.
When considering data-encoding scheme, every information is considered as an element or symbol is very easily.By a plurality of letter Breath is expressed as element or symbol in this way to be allowed for example to come using Shannon entropy calculation method (document that sees reference [2], [3] and [4]) Calculate the entropy of information.Can a variety of algorithms of different (such as entropy coding algorithm and/or entropy amendment (entropy modifynig) Algorithm) before or after, it is indicated for a variety of distinct symbols to execute this calculating.It is, for example, possible to use a variety of entropy coding sides Method to carry out entropy coding to single symbol.Further, it is also possible to symbol is converted to another form from a kind of form, for example, number Word can be converted to text, and text can be converted to word, and bit can be converted to byte.
The example of single symbol include for example bit value (1,6,8,10 ... bit), byte value (8 bit), word value (16,32,64,128 ... bit), (ASCII, Unicode, Chinese, Arab ...) character, binary digit tagging (with 2 be base), octal system (with 8 for base) label, the decimal system (with 10 for base) label, hexadecimal (with 16 for base) label or Rome Numeral mark.Optionally, numerical chracter can have decimal point, i.e. score or real number value, or have non-decimal form (natural number Or integer value).Optionally, in addition, symbol may include picture, data or database element, etc..In addition, number and character It is also denoted as the symbol based on individual digit or character (such as ASCII), or is expressed as the multiple of such as numerical value, word or sentence The combination of ASCII symbol.
As described above, symbol indicates the calculating for allowing the entropy of execution information.Furthermore, it is possible to be indicated by using distinct symbols The entropy of same given information is calculated, to generate different entropys as a result, for example, indicating information using distinct symbols set It may make the information indicated by symbols one or more in set that there is different entropys.Moreover, as needed, distinct symbols Entropy coding can be widely different.Some expressions of above- mentioned information be suitable for being coded by entropy for it is very close they ideal entropy (such as The entropy obtained using arithmetic encoder or run-length encoding device), and some expressions then need more additional informations to realize success Entropy coding, such as the case where word or encountered database element.
Additional information needs above-mentioned are transmitted to corresponding decoder from given encoder in a manner of such or is such, Enable to realize unique decoding of coded data.In addition, when some additional informations are in given encoder and given decoder When place is known, this is also beneficial, in this way, these information are just completely without transmitting, or for example by using identifying one Or multiple tables one or more indexes and transmitted with the format of very little.
In other words, in the data compression degree side that coded data is realized in such a way that corresponding encoded data transmit above- mentioned information The difference in face is very big, and possible alternative solution is, for example, by entire raw information itself in the form of original symbol, with compression The symbol of form selects the form of index to send with available information substitution.In addition, the information being entirely passed or its portion Dividing can be reused, this is also that compression information, corresponding data or corresponding encoded data create plurality of optional to a greater extent ?.
Particularly, usually not alternative when transmitting the information when the original data volume for indicating information increases Suitable static table or database.It is right but after transmitting one or more tables in association with the transmission of the information of coding form For such as coding method is with reference to the other information of the table transmitted later, it is possible to which there are some reusable tables. It is further appreciated that the information to be compressed may be a part of larger imformosome, for example, an information may be all or part of The analysis results of data, method parameter of one or more data blocks, etc., for example, the level of multi-stage process, database reference, A part (such as ROI, frame piece, image of video) of initial data.
When mass data to be transmitted, the entropy of data occupies the most of data volume to be transmitted.Similarly, when only transmitting When small number of data, additional information usually largely becomes the major part for being passed data, in other words, adds Information may occupy considerable accessing cost for data.Therefore, it is necessary to optimize to minimize the summation of entropy coding data and additional data, such as It is very outstanding optimization work according to the continuum arithmetic unit (Continuum Operator) of the disclosure as illustrated by lower Tool.
There is currently a variety of different data compression methods can be used for compressed data.Some compression methods are to be exclusively used in Particular kind of data, such as JPEG/PNG is for compressing image, AAC/MP3 for compressing audio, PNG/GIF for compressing Chart, HEVC/VP9 are for compressing video, etc..Certain methods are more compromised, such as BZip, 7Zip, RLE, SRLE, VLC, row Journey coding, arithmetic coding etc..In addition, there are also certain methods can be used for correcting bit data entropy (such as:UK Patent Application The method used in the entropy corrector (EM) described in GB1303658.7), and there are also certain methods can correct not with The entropy for the symbol data that each bit indicates, such as DPCM, Delta described in UK Patent Application GB1303661.1 Coding and ODelta coding, and the RLE described in UK Patent Application GB1303660.3 and SRLE.Although bibliography [2], Shannon entropy described in [3] and [4] is well known, but its not in current compression method by extensively suitably It uses.Following equation 1 can be used to calculate Shannon entropy:
Formula 1
Wherein:
N is the quantity of distinct symbols;And
p(xi) it is by the probability of the symbol of i index.
Usually by entropy multiplied by the quantity of all symbols so that the entropy that is calculated with other of its value is more added with comparativity.? It can be by the way that this be changed this divided by value log (2) than entropy than entropy, to estimate used bit.
Unlike entropy, usually utilization rate distortion (RD) optimizes to select optimal compression method or side in lossy coding Method combination.In lossless coding, entropy itself can be used for selection method or algorithm, because optimizing institute without RD in lossless coding Based on distortion expectancy rate itself is only convenient to by entropy therefore together with additional information.
The intertexture of data corresponding with above- mentioned information is also known art methods.For example, in given image such as Be expressed as described in bibliography [11] RGB pixel color value can be expressed as plane form (RRRR..., GGGG..., ) or intertexture form (RGB, RGB, RGB, RGB ...) BBBB....
In UK Patent Application GB2301252 (document that sees reference [10]), describes and compare present in a kind of pair of data The known method that spy is encoded.The known method uses multiple and different length remainder symbols, but in a manner of strict difinition One by one using multiple different remaining symbols, they indicate different bit dynamics, and the known method is only applicable to bit Symbol.But it individually or with known combination is not enough to solve related with data compression three masters using any known method Want any one of problem.All above methods and combinations thereof all have disadvantages that.
When to information coding (such as compression), there are three main problems:
1) first problem is related to the selection mode of the most appropriate form of symbol to be used when compressing information;
2) Second Problem is related to most effectively reducing the mode of similarity sign in result;And
3) third problem is related to most effectively reducing the size of data of coded data and additional information (such as by its minimum Change) but still make it possible to the mode that (such as when decompressing in a decoder) decodes unique data.
Summary of the invention
The disclosure is intended to provide the improved method encoded the data of expression information to generate corresponding encoded data.
The data of expression information are encoded to generate the improvement of corresponding encoded data in addition, the disclosure is also intended to provide Encoder.
In addition, the disclosure is intended to provide to for example being solved by the coded data that above-mentioned improved data-encoding scheme generates The improved method of code.
In addition, the disclosure is intended to provide to for example being changed by what the coded data that above-mentioned improved encoder generates was decoded Into decoder.
According in a first aspect, a kind of encoder is provided, for encoding the data (D1) provided to the encoder to produce Raw corresponding encoded data (D2), wherein encoder includes data processing equipment (20), for answering one or more cataloged procedures For data (D1) to generate coded data (D2), it is characterised in that:
(a) data processing equipment (20) can be used to, if the data (D1) be not indicated with numerical symbol, until Partially with the set expression of the numerical symbol data (D1);
(b) data processing equipment (20) can be used to generate intermediate data (40), wherein indicating that numerical value accords with original value Number, at least one symbol is indicated with correction value, which has the one or more continuums generated by continuum arithmetic unit Symbol, wherein the value of symbol of one or more continuum symbol amendment front is to adapt to escape character range;And
(c) data processing equipment (20) can be used to processing middle data (40) to generate coded data (D2).
Advantage of the invention include encoder addition one or more continuum symbols combination be capable of providing compared to The data to be encoded (D1) have the coded data (D2) of higher data compression degree.
Optionally, in the encoder, data processing equipment can be used to based on calculated symbol in multiple portions or Data (D1) are divided into the multiple part or segment by probability of occurrence and its compression efficiency in segment.
Optionally, in the encoder, intermediate data (40) are generated using continuum arithmetic unit, to pass through one or more changes It changes method and/or converts the symbol in data (D1) by one or more conversion tables (LUT).Optionally, in the encoder, Coded data (D2) is provided by multiple data flows, the transmitting of wherein at least one stream indicates one or more of conversion tables (LUT) and/or the information of one or more transform methods.Optionally, in the encoder, one or more of conversion tables are indicated (LUT) information reference transmitting coded data (D2) front transfer one or more conversion tables (LUT) and/or can be from volume The alternate source of code device obtains indicating the information of one or more of conversion tables (LUT).
Optionally, the data (D1) that encoder can be used to processing include at least one of the following:Capture audio letter Number, capture vision signal, capture image, text data, seismic data, sensor signal, modulus (ADC) change data, biology Signal data, calendar data, economic data, mathematical data, binary data.
Optionally, in the encoder, data processing equipment can be used to by using at least one of the following centering Between data (40) coding to generate coded data (D2):Entropy amendment, entropy amendment (EM) coding, ODelta coding, RLE, SRLE, calculation Art coding, run-length encoding, VLC.
According to second aspect, a kind of method in encoder is provided, which is used for providing to the encoder Data (D1) are encoded to generate corresponding encoded data (D2), and wherein encoder includes data processing equipment, for by one or more A cataloged procedure is applied to data (D1) to generate coded data (D2), which is characterized in that this method includes:
(a) use data processing equipment (20) in the case where the data (D1) are indicated with numerical symbol, at least portion Divide ground with the set expression of the numerical symbol data (D1);
(b) intermediate data (40) are generated using data processing equipment (20), wherein numerical symbol is indicated with original value, to repair Positive value indicates that at least one symbol, the correction value have the one or more continuum symbols generated by continuum arithmetic unit, In the one or more continuum symbol amendment front value of symbol to adapt to escape character range;And
(c) using data processing equipment (20) processing middle data (40) to generate coded data (D2).
Optionally, this method include using data processing equipment based on calculated symbol in multiple portions or segment Data (D1) are divided into the multiple part or segment by probability of occurrence and its compression efficiency.
Optionally, this method includes generating intermediate data using continuum arithmetic unit for the symbol in data (D1) (40), the intermediate data be by limited by one or more conversion tables (LUT) and/or one or more transform methods one Secondary or multiple transformation and/or conversion, convert the symbol and are generated.Optionally, this method includes passing through multiple data Stream provides coded data (D2), the transmitting of wherein at least one stream indicate one or more of conversion tables (LUT) and/or it is a kind of or The information of a variety of transform methods.Optionally, in the method, the information reference of one or more of conversion tables (LUT) is indicated It is transmitting one or more conversion tables (LUT) of the front transfer of coded data (D2) and/or can obtained from the alternate source of encoder To the information for indicating one or more of conversion tables (LUT).
Optionally, it includes at least one of the following that this method, which includes using the data (D1) of coder processes,:Capture sound Frequency signal, capture vision signal, capture image, text data, seismic data, sensor signal, modulus (ADC) change data, Biological signal data, calendar data, economic data, mathematical data, binary data.
Optionally, this method includes being compiled by using at least one of the following to intermediate data using data processing equipment Code is to generate coded data (D2):Entropy amendment, entropy correct (EM) coding, ODelta coding, RLE, SRLE, arithmetic coding, stroke Coding, VLC.
Optionally, one or more software products of the usage record in non-transient machine-readable data storage media come real Existing this method, wherein one or more of software products can execute on the data processing equipment of encoder, with realization pair The method that data (D1) are encoded to generate coded data (D2).
According to the third aspect, a kind of decoder is provided, for decoding to the coded data (D2) provided to the decoder To generate corresponding decoding data (D3), wherein decoder includes data processing equipment, for answering one or more decoding process For coded data (D2) to generate decoding data (D3), it is characterised in that:
(a) data processing equipment (60) can be used to processing coded data (D2) to generate intermediate data (40);
(b) data processing equipment (60) can be used to processing middle data (40) with decoding intermediate data, wherein in Between in data, numerical symbol is indicated by output symbol and at least by an amendment output symbol, which has one A or multiple continuum symbols, which is then decoded by inverse continuum arithmetic unit, wherein described one A or multiple continuum symbols correct the value of the amendment output symbol to adapt to escape character range;And
(c) data processing equipment (60) can be used to transformation and/or conversion process after intermediate data to pass through symbol Set is to indicate decoding data (D3).
Optionally, in a decoder, data processing equipment can be used to based on calculated symbol in multiple portions or Probability of occurrence and its compression efficiency in segment handle coded data (D2) as the multiple part or segment.
Optionally, in a decoder, by by one or more conversion tables (LUT) and/or one or more transform methods The one or many transformation limited are converted and/or are converted to the value in decoding data (D3), to realize continuum arithmetic unit Generate assemble of symbol.
Optionally, in a decoder, which is characterized in that provide coded data (D2) by multiple data flows, wherein at least One stream transmitting indicates the information of one or more of conversion tables (LUT) and/or one or more transform methods.Optionally, In a decoder, front transfer of the information reference in transmitting coded data (D2) of one or more of conversion tables (LUT) is indicated One or more conversion tables (LUT) and/or can obtain indicating one or more of turns from the alternate source of decoder (50) Change the information of table (LUT).
Optionally, decoder can be used to the coding version that the coded data (D2) of processing includes at least one of the following This:Capture audio signal, capture vision signal, capture image, text data, seismic data, sensor signal, modulus (ADC) Change data, biological signal data, calendar data, economic data, mathematical data, binary data.
Optionally, in a decoder, data processing equipment can be used to by using the inverse of at least one of the following Operation decodes to generate intermediate data coded data (D2):Entropy amendment, entropy amendment (EM) coding, ODelta coding, RLE, SRLE, arithmetic coding, run-length encoding, VLC.
According to fourth aspect, provide it is a kind of using decoder to coded data (D2) decoding provided to the decoder with The method for generating corresponding decoding data (D3), wherein decoder includes data processing equipment (60), for solving one or more Code process is applied to coded data (D2) to generate decoding data (D3), which is characterized in that this method includes:
(a) using data processing equipment (60) processing coded data (D2) to generate intermediate data (40);
(b) using data processing equipment (60) processing middle data (40) with decoding intermediate data, wherein in intermediate data In, numerical symbol is indicated by output symbol and at least by an amendment output symbol, which has one or more A continuum symbol, which is then decoded by inverse continuum arithmetic unit, wherein one or more A continuum symbol corrects the value of the amendment output symbol to adapt to escape character range;And
(c) converted using data processing equipment (60) and/or conversion process after intermediate data to pass through assemble of symbol To indicate decoding data (D3).
Optionally, this method include using data processing equipment based on calculated symbol in multiple portions or segment Probability of occurrence and its compression efficiency handle coded data (D2) as the multiple part or segment.
Optionally, this method includes that assemble of symbol is generated using continuum arithmetic unit, the symbol also by by one or One or many transformation that multiple conversion tables (LUT) and/or one or more transform methods limit from decoding data (D3) and by Transformation and/or conversion.Optionally, this method includes providing coded data (D2) by multiple data flows, wherein at least one stream Transmitting indicates the information of one or more of conversion tables (LUT) and/or one or more transform methods.Optionally, in the party In method, one of the front transfer of the information references of one or more of conversion tables (LUT) in transmitting coded data (D2) is indicated Or it multiple conversion tables (LUT) and/or can obtain indicating one or more of conversion tables (LUT) from the alternate source of decoder Information.
Optionally, the coded number of the version of code of this method to include using decoder processes include at least one of the following According to (D2):Capture audio signal, capture vision signal, capture image, text data, seismic data, sensor signal, modulus (ADC) change data, biological signal data, calendar data, economic data, mathematical data, binary data.
Optionally, this method includes by using the inverse operation of at least one of the following using data processing equipment to volume Code data (D2) are decoded to generate intermediate data (40):Entropy amendment, entropy amendment (EM) coding, ODelta coding, RLE, SRLE, calculation Art coding, run-length encoding, VLC.
Optionally, one or more software products of the usage record in non-transient machine-readable data storage media come real Existing this method, wherein one or more of software products can execute on the data processing equipment of decoder, with realization pair The method that coded data (D2) is decoded to generate decoding data (D3).
A kind of codec is provided according to the 5th aspect, including at least one according to the encoder of first aspect and at least The combination of one decoder according to the third aspect is compiled wherein at least one described decoder can be used to decoding by encoder The data of code.
A kind of electronic equipment is provided according to the 6th aspect, including at least one according to the encoder of first aspect and at least One decoder according to the third aspect, wherein the electronic equipment is embodied as at least one of following a part:Individual calculus Machine, audio/video devices, television set, wireless computer device, smart phone, mobile phone, interactive game operation bench, automobile electricity Sub-information system.
The embodiment of the present invention is valuably using the multiple element and operation combined.The multiple element includes example Such as:
(i) for entropy calculate one or more elements, such as calculate Shannon entropy and using Shannon entropy into Row algorithms selection and processing accelerate purpose;
(ii) the one or more elements converted to symbol for symbol, for example, for composite symbol, segmentation symbol, will compare Spy is converted to byte, is bit by byte conversion, provides 2 bit symbols to 6 bit symbols or 6 bit symbols to 2 bit symbols Conversion, character is converted into word, word is converted to character/sentence, number/character is converted to value or by value be converted to number/ Character;
(iii) for transmitting one or more elements of additional information, for example selected coding method of the additional information is used In limit method parameter, for provide code table, for provide look-up table, for provide and/or referred database;And
(iv) one or more elements for entropy amendment (EM) coding are encoded for Delta (referring to bibliography [8]), for ODelta coding, for RLE, for SRLE (document that sees reference [9]), for UK patent application GB2301252 Method described in (document that sees reference [10], be incorporated herein by reference), and for entropy coding (such as arithmetic coding, Run-length encoding or VLC, RLE, SRLE).
Therefore, embodiment of the disclosure uses improved symbol data decoding method.The improved method can be direct It is used for a bit data symbol or after transforming to compared with high dynamic symbol, is also used to that there are the original data compared with high dynamic Symbol.It also discloses and is calculated by using entropy and additional information selection is directly effectively performed in different coding method Method.In addition, in the disclosure, describing algorithm, the best entropy modification method of the optimal symbol format to be used for identification With the optimal shape that is appropriately combined, and most effectively using the combination to carry out data compression and decompression of forced coding method Formula.
In addition, embodiment of the disclosure valuably uses continuum arithmetic unit, i.e. digital symbol values (data) range is corrected The new model of device, while table or sign bit counting reducer are used, entropy coding data and additional letter can be greatly reduced The sum of breath.In addition, present disclose provides the new methods to bit and symbol data coding and decoding.
It is appreciated that feature of the invention is easy in the case where not departing from the scope of the invention defined in the appended claims Diversified forms are combined into group.
Detailed description of the invention
Referring now to the following drawings, example is only described implementation of the disclosure by example, in the accompanying drawings:
Fig. 1 is (collectively referred to as to compile solution with the encoder and decoder of correspondingly decoding data for encoding according to the disclosure Code device) schematic diagram.
In the accompanying drawings, the number with underscore project or the band disposed thereon are indicated using the number with underscore The number of underscore project adjacent thereto.Without the digital of underscore and by that will be somebody's turn to do without the number of underscore and a project The project that connected line is identified is associated.When a number is without underscore and is accompanied by associated arrow, use The number without underscore identifies general data pointed by the arrow.
Specific embodiment
On the whole, this disclosure relates to the improved method of compressed data and correspondingly decompress data improved method, this A little improved methods are subject to area to the use of data area (data range) corrector (i.e. continuum arithmetic unit) by them Point.In addition, the data compression and decompression method be combined with a variety of different bits or symbol corrector, different entropy correctors and Entropy coder, to carry out compression and decompression to the raw information for being represented by different types of bit or symbol data.In addition, The compression and decompression method will such as Split Run Length coding (SRLE) (document that sees reference [1], [9] and [10]) and The characteristic of entropy corrector (document that sees reference [13]) and at least one above-mentioned advanced continuum arithmetic unit combines.This at least one A continuum arithmetic unit includes at least one continuum value (continuum value), has positive or negative continuum, will give Original figure value of symbol is modified to corresponding amendment value of symbol.For original or at least one of symbol has been corrected, at least one It is secondary to use the amendment symbol for being continuum value creation.The continuum value is previously known, or from having applied or do not answered It is individually obtained with the real data of entropy coding coding.Used continuum value symbol is included in original or amendment symbol data In, they application or not application any entropy coder in the case where be encoded, i.e., with the modified symbolic number of continuum arithmetic unit Original or amendment symbol data in is similar.
It still can use the symbol stream that known entropy coding method generates continuum arithmetic unit later to compress, such as join See reference in document [2], [3] and [4] for example arithmetic coding (document that sees reference [5]), run-length encoding (document that sees reference [6]), Or Variable Length coding (VLC) (document that sees reference [7]) and known entropy corrector such as ODelta coding are (see ginseng Examine document [8] and [14]) or entropy corrector (EM) (document that sees reference [13]).Any preceding method can also be passed through in advance, also The data of the compression method compression of the disclosure to be used can be modified by using other methods or deformation.It can be by using The entropy of calculating and the corresponding estimated value of additional information, to carry out the selection combined to this compression method, but the selection can also To be carried out based on achievable true coding result, such as by one or more parts to initial data using compression side The various combination of method iteratively carries out.In addition, in the disclosure, coded data can be restored back in original letter by also describing Cease the decoder of (for example, form of bit or symbol data).
In embodiment of the disclosure, data compression method and corresponding uncompressing data are corrected using data area Device, referred to as continuum arithmetic unit, it is suitable for all bits or symbol datas.In addition, also being optimized using continuum arithmetic unit Bit needed for the transmitting of code table needed for the data symbol being coded by entropy using any entropy coder or transmitting individual data symbol.
Above-mentioned improved compressed data method and corresponding decompression data method are combined with various different bits or symbol Corrector, different entropy correctors and entropy coder, compressed with will be indicated as the raw information of bit or symbol data not of the same race/ Decompression.The compressing/decompressing method is combined with such as Split Run Length coding (RLE/SRLE), and (see reference document [1], [9] and [10]), entropy corrector (EM) (document that sees reference [13]), ODelta encoder (document that sees reference [14]), with And the characteristic of continuum arithmetic unit, the bibliography [1], [9], [10], [13] and [14] are incorporated herein by reference.
Continuum arithmetic unit only adds continuum value symbol to raw value symbol data, and is modified in continuum value simultaneously Original figure value of symbol.This means that any raw value symbol is all present in amendment together with one or more numerical symbols In data.When original figure value of symbol and when being accepted as the numerical value difference of raw value, it is replaced by and received original The similar amendment numerical value of initial value and one or more continuum values.In general, in practice it means that working as original figure symbol When being worth is-at-most symbol value threshold value (SVT), amendment symbol data is added in original symbol value as former state.Otherwise, one or more Continuum value symbol is added to value of symbol transmitting.In the case, last symbol or first symbol are less than and are equal to The invulnerable release of the original symbol of SVT, and continuum value symbol is before or after it.Continuum value and amendment value of symbol As a result must be worth with original symbol identical is in order to realize being correctly decoded for continuum arithmetic unit, such as lossless data compression And decompression.
Due to afore-mentioned characteristics, value of symbol and coded data can always be separated.Acceptable each value is own Solution code value, and when calculating its decoding value of symbol by it before (or later) all possible continuum values make with it With.In other words, amendment data in less than or equal to SVT symbol (if 0 value is also acceptable value) quantity always with it is original Original symbol quantity in symbol data is identical.In addition, there is also one or more continuum value symbols, these continuum values symbol Number with less than or equal to SVT amendment data symbol or raw data symbols (if 0 value is also acceptable value) be different symbol Number.Valuably, original and amendment symbol is rendered as the symbol from 0 to SVT, continuum value symbol be then rendered as symbol SVT+1, SVT+2, etc..Valuably, the smallest SVT value is 2, otherwise using LUT just than using continuum arithmetic unit more efficiently.
Use continuum arithmetic unit generate can be used known entropy coding method (document that sees reference [2], [3] and [4]) with And other coding methods, come the amendment symbol stream compressed, other described coding methods are, for example, that (see reference arithmetic coding document [5]), run-length encoding (document that sees reference [6]) or Variable Length coding (VLC) (document that sees reference [7]).Later Known entropy corrector can be used to correct by the modified symbol stream of continuum arithmetic unit, the known entropy corrector is, for example, ODelta encodes (document that sees reference [8] and [14]), or (see reference the entropy corrector (EM) with or without entropy coder text Offer [13]).The data to be compressed can also (i.e. a priori) be repaired in advance by the various above methods and other methods or deformation Just.
As set forth above, it is possible to by using calculating entropy and additional information (such as table transmitting, method choice continuum value Transmitting) estimation or calculation amount carry out the selection combined to used compression method, but can also be for example with the side of iteration Formula carries out the selection based on obtainable true coding result, until finding compress and/or one or more Partial optimum combination.In addition, description can be used for restoring coded data and (decompressing) returning for example in following specification With the decoder for the raw information that bit or symbol data are expressed.
The embodiment of the implementation of the disclosure is described below.These methods are for example with encoder or respective decoder Hardware logic is realized.In addition, the initial data to be compressed optionally is obtained from one or more sensors, it is one or more A sensor is, for example, one or more cameras and/or one or more microphones, and true physical phenomenon is converted to It is corresponding to indicate data.Alternatively, it is recorded in non-transient (non-instantaneous) machine-readable data and stores by using being arranged as executing The computing hardwares of one or more software products on medium realizes the method, and wherein software product realizes the upper of the disclosure State method.In the example that will be described below, an original sample information is compressed by using disclosed method, is also mentioned For with use result obtained by known method it is some compared with.
An example information comprising N number of symbol can be indicated by formula 2:
S1, s2, s3 ... sN
Or s0, s1, s2 ..., sN-1
Or s (1), s (2), s (3) ... s (N), formula 2
Etc.
In raw information, symbol is divided into the sequence of separation before or after can stating in use continuum arithmetic unit Column or stream.Similarly, if there is many sequences or stream, then they can be combined before or after continuum arithmetic unit to mention For one or more symbols.
The one or more of the entropy of one or more parts based on the initial data indicated by symbol calculate and estimation Additional information can determine the best alterative version of the symbol of expression raw information to encode and (compress) raw information.It can be with The entropy of the symbol of above-mentioned expression raw information is calculated based on the probability of symbol needed for indicating raw information.It similarly, can be with base The entropy of composite symbol is calculated in the probability of occurrence of composite symbol.It is appreciated that composite symbol is usually considerably less than original symbol, And group interflow is less than the primary flow of raw information.
It is further appreciated that collaborating associated additional information to composite symbol or group is always more than corresponding original symbol or original Begin the additional information of stream, and in other words, associated data header indicates one or more symbols and/or one or more Stream is combined to create corresponding compressed data during given.This is because generally, the phase between composite symbol Closing property is not equal to 1.Furthermore, it is necessary to some mechanism come indicate which composite symbol have nonzero probability, otherwise, for example, use entropy When coding, transmits VLC code table or run-length encoding probability needs a large amount of additional informations.When needs transmit or encode less initial data When, the amount of additional information is also more significant data portion.
Similarly, the entropy of segmentation stream or symbol can be calculated based on the probability of segmentation stream or symbol.If based on original The segmentation of data creates multiple streams, then then it is beneficial that the entropy for calculating separately each stream is summed.In addition, each stream is respectively required for Want additional information.Generally, the size of data of the arbitrary sequence in the independent sequence of additional information related with the segmentation is all small The additional information needed for a stream, but the sum of all additional information sequences flowed can be less than or greater than needed for a stream Additional information.When dividing from 1 bit to 8 bit symbol streams or combining raw information, the size of data of additional information generally can Reduce, such as is reduced to minimum value.It, can be by the way that entropy bit be believed with additional when all entropys and sequence of known additional information Breath is reduced to minimum value to select optimal symbol format.
Preferably, it is also based on original symbol creation SRLE symbol and crossfire (runs stream) is used for according to this public affairs Compressed data is opened, referring to UK Patent Application GB 1303660.3, similar U.S. Patent application US13/782,872, it is related Content is incorporated herein by reference.Following equation 3 shows the example of the symbol for obtaining two stream:
S (1), S (x1), S (x2) ... (being directed to symbol);And
R (1), R (x1), R (x2) ... (for string) formula 3
Wherein:
S (1) is the first symbol;And
R (1) is the string of similar subsequent symbol S (1).
Symbol S (x1) is next distinct symbols after the string R (1) of subsequent symbol S (1), and R (x1) is similar subsequent The string of symbol S (x1).
Symbol S also may indicate that as follows:
S (1), S (1+R (1)), S (1+R (1)+R (2)) ... (being directed to symbol) formula 4
It now,, can also be by this during iterating to the best practice of use for example, when compressing raw information The combined entropy of kind is compared with alternative earlier.
Entropy corrector and entropy coding can be used for handling bit data, i.e., for handling data in a manner of bit-by-bit, such as Described in UK Patent Application GB 1303658 and GB 2301252, but they are unsuitable for handling higher order symbols data.For These continuum symbols, remaining symbol or escape character method for handling bit data also can be modified to for having this public affairs The symbol data of described feature is opened, for example, can be by using similar continuous used in the EM for bit crossfire System symbol technology come correct SRLE rather than RLE crossfire (wherein in the same stream exist string and symbol).In addition to ratio described above Except spy, most of known implementations of RLE/SRLE do not use continuum symbol, remaining symbol or escape character.Work as presence When can use more subsequent simileys of largest string values (such as 8 bits) expression, by the way that same symbol is gone here and there with new again It number is added, to transmit the extremely long string of simileys.
In the first example, if 8 bit symbols are used together with 8 Bit Strings, and there are 300 subsequent " A " words Symbol, then corresponding RLE writing:A255 A45 (symbol and string that have identical quantity in stream).There is also the 2nd RLE scheme, when depositing A string value is used only and used always at least two simileys, but string value is not used for single symbol.It is same to show Example can be expressed as AA255 AA45 (quantity of symbol is at least twice gone here and there i.e. in stream).As described above, RLE/SRLE is practical It is upper not use any continuum symbol, remaining symbol or escape character (encoding), but there may be itself to have the subsequent of string Simileys.Further, it is also possible to which symbol and string are divided into not cocurrent flow using SRLE (document that sees reference [9]).Now, first-class It is represented by AA and 255,45, second is represented by AAAA and 255,45.However, it will be understood that value 255 has special weight The property wanted, and based on byte (8 bit) dynamic, value 255 is neither continuum value, remaining value or escape character, nor encoding. Value 255 can also be used individually in different location, be not additionally required and transmitted escape to be higher than 8 bits (such as with 16 bits) String value.When being used together escape character (coding) scheme with SRLE, it may be advantageous that, using at least three streams, such as A is in symbol stream In, escape character (such as 0) is in crossfire, and 300 in escape string value stream.
Next, description to be used in combination to the example of above-mentioned continuum arithmetic unit with SRLE method.Continuum arithmetic unit is repaired The quantity just gone here and there has to be larger than the quantity of original string symbol, thus when string symbol value is higher than selected one or more continuum values simultaneously At least above the value of value of symbol threshold value (SVT) when, addition is for indicating the continuum value of the still quantity of the simileys of continuum Symbol, i.e. (the +/- value of continuum and amendment value of symbol or amendment value of symbol and +/- continuum value).For example, when there are N (=330) When a symbol, shown in the following formula 5 of string value:
2,7,9,102,12,21,19,3,1,6,18,18,16,10,5,37,19,5,2,18 formula 5
The stream, i.e. 20 values of symbol in total have string value, range between 1 to 102, can for example by using Variable Length encodes (VLC), Range is encoded or arithmetic coding and is compressed.Furthermore, it is to be understood that all original strings Value has to be larger than equal to 1, and largest string values are necessarily less than equal to N=institute signed number=330.Transmit these symbol direct requirement examples Such as 20*9=180 bit, intermediate value 330 can be indicated with 9 bits or 4+20*7=144 bit, wherein 4 bits are used for transmitting In the bit (=7, because value 102 can be indicated with 7 bits) of symbol.If such as fixed without available suitable fixed code table Predetermined code table, then much more bit will be needed by transmitting corresponding code table, so probably cannot be with this number in formula 5 According to entropy coding method is efficiently used together.
In accordance with an embodiment of the present disclosure, it can be calculated by using SVT value optimizer by a large amount of, then use symbol 0 (because 0 cannot be in original crossfire) selects a continuum value (such as 19+) similar with SVT value to indicate in amendment crossfire Continuum value.Now, these string R (x) values can be modified to amendment string R ' (x) value, as shown in formula 6:
2,7,9,0,0,0,0,0,7,12,0,2,19,3,1,6,18,18,16,10,5,0,18, 19,5,2,18 formula 6
During symbol (0, x) indicates that the value (19+x) during decoding, similar symbol (0,0,0, x) for example indicate decoding It is worth (19+19+19+x) or (19+ (19+ (19+x))).The sum of continuum arithmetic unit amendment string R ' (x) value of symbol is during decoding It is still 330, because 0 value can be replaced by value 19 when calculating summation.Therefore symbol quantity increases to 27 from 20, i.e., due to having 3 A string value higher than SVT value, is added to 70.The stream, i.e., 27 symbols can be transmitted with such as 6+27*5=141 bit Number, value of symbol is (1 arrives 19+0), and 6 bits are used to transmit continuum value (cont+), it is similar to SVT value (=19), 20 (= 1 to 19+0) a distinct symbols value can be distinguish by 5 bits.Can also for example by using VLC, run-length encoding or Arithmetic coding compresses the number using the table transmitting for coding method described in bibliography [15] and [16] According to above-mentioned document is incorporated herein by reference.
Optionally, continuum arithmetic unit is modified to comprising more continuum values, such as cont1+=19+, cont2+= 50+.In addition, SVT value is similar with cont1+=(19+) value, it is equal to 19.First continuum value, that is, cont1+ still uses symbol 0, the Two continuum values, that is, cont2+ is by assigned symbol 20 (=SVT+1).Continuum arithmetic unit amendment crossfire R ' (x) can write public affairs The form that formula 7 provides:
2,7,9,20,20,2,12,0,2,19,3,1,6,18,18,16,10,5,0,18,19, 5,2,18 formula 7
Now, in formula 7, come by using symbol (20,20,2) rather than symbol (0,0,0,0,0,7) to string value " 102 " coding, then the sum of string symbol is reduced to 24 symbols.The stream in formula 7, i.e. 24 symbols have symbol (0 To 20), can for example be transmitted by 6+6+24*5=132 bit, 6 bits are for transmitting continuum (19 and 50) value, and 21 (cont1 (=0), cont2 (=20) and the value from 1 to 19) a distinct symbols value can be come by using 5 bits of every value of symbol It presents.It can also be by using for example above-mentioned VLC, run-length encoding or arithmetic coding, using in bibliography [15], [16] The table of the coding method of description transmits to compress the data, which is incorporated herein by reference.When using multiple continuous When system value, the transmitting of these continuum values may be different modes, for example, 19 and 31 rather than 19 and 50.Optionally, if Using the continuum value with negative value, then when transmitting continuum value, it is also desirable to for example by using sign bit or different volumes The information for indicating negative value is sent decoder or data storage device by code method.Valuably, if it is necessary to using more than two A or three other continuum values, then define new continuum value.
Valuably, before to the original symbol in original symbol stream using continuum arithmetic unit, in original symbol stream Original symbol execute transformation so that it is transformed stream comprising 0 value as minimum value therein.It will be described below using continuous Example string value transformation before system arithmetic unit, this has modified obtainable result.Also continuum value is done in following example Small amendment.It is appreciated that string symbol value must be in range 1 between N, as described above, these symbols are needed by 1 transformation and nothing Any information need to be transmitted.Now, original R (x) flow table is shown as the T (x) being used for transmission stream, as shown in formula 8:
1,6,8,101,11,20,18,2,0,5,17,17,15,9,4,36,18,5,1,17 formula 8
It is alternatively possible to SVT value is selected as such as 18 (=19-1), but hereinafter, selecting SVT value is 19.In addition, It is cont1+ (=SVT+=19+) that two continuum values, which are selected as symbol 20, is cont2+ (=100 for symbol 21 +).This becomes corresponding continuum arithmetic unit amendment conversion symbol T ' (x) shown in formula 9:
1,6,8,21,1,11,20,1,18,2,0,5,17,17,15,9,4,20,17,18,4, 1,17 formula 9
Therefore, the string symbol sum in the stream is 23 symbols.The stream of 23 symbols has symbol (0 to 21), can be with Such as with (5,6 or 7)+7+23*5=127 to 129 bit transmits, wherein 5-7 bit is for transmitting cont1+=(19+) Value, 7 bits, can be by being used for each value of symbol for 5 bits for transmitting cont2+ (=100+) value, and to indicate 22, (=0 is arrived 19+20+21) a distinct symbols value.It can also be for example by using VLC, run-length encoding or arithmetic coding, using for reference to text The table for offering coding method described in [15], [16] transmits to compress the data, and above-mentioned document is incorporated herein by reference.
It is appreciated that the continuum fortune for the optimization of SRLE implementation can also be compressed using any entropy coding method Calculate the symbol stream S (x) after device.If S (x) includes bit value, only need to transmit the first bit value, such as bibliography [13] Middle EM is such, or needs to transmit the information of the first bit value because when for string value use continuum arithmetic unit when it is known other Value changes one by one, so that only need to transmit a string value for continuum simileys value, for example, if S (x)=1,0, 1,0,1,0,1,0,1, then the first value 1 is only transmitted for symbol S (x) or is for example produced using coding method _ 1_EM_CM_Range The information of the first raw value 1, continuum arithmetic unit modified R ' (x) or T ' also for string R (x) value transmitted therewith (x) value.When using the value being directed to other than the continuum arithmetic unit compression ratio paricular value that SRLE implementation optimizes, it is known that Bu Huifa There are two similar subsequent values in raw S (x) stream, but still do not know that next value is really.Therefore, it is necessary to also with certain entropy volume Code method compressed symbolic value S (x), and compress continuum arithmetic unit modified R ' (x) or T ' (x) value.
Although can also compressed as described above, continuum arithmetic unit mainly transmits string symbol after EM or SRLE Continuum arithmetic unit is used when any symbol.It modifies when first with continuum arithmetic unit comprising many small values and only some high level Optional sign stream when, can use or do not utilize entropy coding efficiently to encode the symbol stream.Sometimes, when there is also many height And/or when intermediate value, continuum arithmetic unit is also likely to be adoptable proper method, for example, working as symbol s (x) value such as 10 institute of formula When showing:
3,1,252,254,2,252,1,1,252,0,254,3,6 (13 symbols) formula 10
Then, continuum arithmetic unit amendment value of symbol s ' (x) corresponds to SVT=3, and continuum value cont1+ (=3+) is corresponding Correspond to symbol=5 in symbol=4, cont2+ (=252+), as shown in formula 11:
3,1,5,0,5,2,2,5,0,1,1,5,0,0,5,2,3,4,3 (13+1+5=19 symbol) formula 11
Therefore, the primary flow in formula 10 include 8 bit symbol values, i.e., 0 to 254, can use 13*8=104 bit come Transmitting.Continuum arithmetic unit amendment stream in formula 11 includes 19 symbols, can only be passed by every 3 bit (0 to 5) of symbol It passs and is transmitted by 8+8+19*3=16+57=73 bit, be somebody's turn to do the compression the result is that considerable, 16 bits in the calculating make 73 bits are at most needed to transmit the two continuum values.
The same symbol stream (i.e. formula 10) is compressed when attempting to utilize using the method for one or more escape characters (code) When, available data compression is simultaneously not so good as the success that formula 11 is presented.Symbol frequency is very similar, does not use escape generally Symbol (code).Code table or original symbol are transmitted in order to use a large amount of escape characters (code), such as when utilizing escape character (code) It when transmitting 6 or more value, can attempt to reduce code table transmitting with other symbols with itself value of symbol or reduce transmitting Bit needed for small value of symbol, then code table or small value itself are only comprising the value and escape character (code) (=8 differences from 0 to 6 Symbol).In this case, the transmitting of symbol using 8 (must delivery value 6)+13*3 (for each symbol-to be original or escape) + 5*8 (the escape value after escape character)=8+39+40=87 bit.The result is significantly better than without using one or more Escape character (code), but the result is still inferior to the result obtained by using continuum arithmetic unit correction result.When in stream also There are when some intermediate values, more beneficial outcomes of continuum arithmetic unit are obtained.
Another example is described below.When primary flow s (x) is as shown in formula 12:
3,1,252,254,2,252,1,1,252,0,254,3,6,147,149,2,253,148,1,152 (20 symbols) formula 12
Then, continuum arithmetic unit amendment value of symbol s ' (x) corresponds to SVT=3, and continuum value cont1+ (=3+) is corresponding Correspond to symbol=5, cont3+ (=252+) in symbol=4, cont2+ (=147+) and correspond to symbol=6, such as 13 institute of formula Show:
3,1,6,0,6,2,2,6,0,1,1,6,0,0,6,2,3,4,3,5,0,5,2,2,6,1, 5,1,1,5,4,2 formula 13
Primary flow includes 8 bit values (0 to 254), can use 20*8=160 bit to transmit, continuum arithmetic unit is repaired Positive stream includes 32 (=20+2+4+6) a symbols, only can transmit and pass through 8+8+8+32* by every 3 bit (0 to 6) of symbol 3=24+96=120 bit transmits, and needs 24 bits at most to transmit these three continuum values.
About escape character (code), when using at least one escape character (code) and other symbols with itself value come When the value of 6 or more transmitting, code table or small value only comprising from 0 to 6 value and at least one escape character (code) (=8 different to accord with Number).In this case, the transmitting of symbol using 8 (must delivery value 6)+20*3 (for each symbol-to be original or escape)+ 10*8 (the escape value after escape character)=8+60+80=148 bit.The compression result is still better than without using at least one Escape character (code), but the result is still inferior to the result obtained by using continuum arithmetic unit.
It is understood that, it may be advantageous that, the first continuum value always limits SVT.Therefore, depending on the symbol frequency in primary flow Rate, the first continuum value should be as small as possible.It can also be reduced using other continuum values needed for the larger value of symbol of transmitting Bit, generally, the larger value of symbol are apparently higher than the first continuum value.All continuum values are all assigned the symbol of its own Number, it may be advantageous that, these symbols are SVT+1, SVT+2, etc..If X indicates the amount of used continuum value, there are 0 to be arrived SVT original or amendment symbols and X continuum value=> are when before continuum arithmetic unit using conversion, in amendment stream There are (SVT+1)+X distinct symbols.
Certainly, if without using conversion, such as 0 symbol is not used in primary flow, then symbol 0 can be used for first Continuum value.In the case, continuum arithmetic unit is embodied as it never and is the purpose except continuum purpose and generates 0 symbol Number, for example, if continuum value is 3 (symbol=0), and going here and there is 3, then it cannot be encoded by symbol (0,0), and must be with symbol Number (3) coding.In this example, it is possible to understand that symbol (3) is often more preferably encoded than symbol (0,0), but ought such as cont1= 3+ (symbol=0) and cont2=30+ (symbol=4), and when needing to transmit string value 30, need using symbol (0,0,0,0,0, 0,0,0,0,3), symbol (4,0) cannot be used.
It is known (such as right preferably by using in general, when one or more first values are unavailable in original data stream It is that 1) deviant or the deviant of transmitting carry out the conversion symbol value before continuum arithmetic unit in string.Then, for example, if there is Given flow valuve from 3 to 200, then using the continuum value symbol at the top for SVT symbol, then, it may be advantageous that, to original symbol Number using offset -3, thus acquisition value 0 to 197, to provide conversion symbol.Now, it may be advantageous that, SVT is selected as 10, it will Cont1 value is selected as 10+, to obtain symbol 11 to it.It can distribute to other continuum values from 12 to required any number of Symbol.Therefore, all small values are all used for original or amendment symbol, continuum value and are assigned symbol SVT+1, SVT+2, etc..
It is further appreciated that utilizing continuum arithmetic unit, it is necessary to which at least one continuum value is the symbol (example with own Such as SVT+1) define (=SVT+), and using at least once in amendment symbol stream.It can also determine in amendment symbol stream Justice and the multiple continuum values (cont1, cont2 ..., contN) of use.One original symbol can be rendered as 0, one or more A continuum value symbol and a symbol less than or equal to SVT, for example, if cont1=10+ (carrys out table by using symbol 11 Show) and cont2=100+ (being indicated by using symbol 12), and it is worth (0 to 10) using original symbol (0 to 10), then Such as value 7 is rendered as being rendered as having continuum value symbol (11,7 Hes without continuum value symbol (7), value 17 and 107 12,7), value 27,117 and 207 is rendered as continuum value symbol (11,11,7 and 12,11,7 there are two tools;With 12,12,7), value 37,127,217 and 307 are rendered as tool, and there are three continuum value symbols (11,11,11,7 and 12,11,11,7 and 12,12,11,7 With 12,12,12,7), etc..It can be from one or more one original symbol of continuum value symbol construction, these continuum values Symbol can be the same or different from each other.For an original symbol, there can also be the higher continuum value symbol of exclusive use, i.e., Without using lower continuum value symbol.According to selected continuum value and selected decoding formula, it usually can freely change very much reality The sequence of border continuum symbol.For example, in preceding example, when positive continuum+value is used only, for example, value 217 can indicate It is 12,12,11,7 or 12,11,12,7 or 11,12,12,7.
The coding of ODelta described in the bibliography [14] being incorporated herein by reference can be also used for improving and can get Coding result.Generally, when original symbol is number or when value, be used for original symbol, then may be implemented symbol it Between subtraction or additional calculation.
Optionally, available symbols can also be converted into palette (palette) first, in other words, by searching for table (LUT) indicate that the numbers of available symbols, the number are also required to be expressed or transmit, it then, can be with as described above directly Or these symbols are used using ODelta coding.Symbol be number or value but number or value it is discrete be distributed in entirely it is right In the case where answering within the scope of dynamic symbol, it may be very useful for reducing symbol quantity by using table.
When information to be processed includes multiple channels (such as RGB image pixel), information can also be transformed to color The different value inversion (approximate inversion sometimes) can be returned original value by using inverse transformation by the different value in space.This One representative example of kind transformation pair is RGB to YUV and YUV to RGB transformation, as described above.Generally, in YUV color space In, natural image be it is compressible, as described in bibliography [12], be incorporated herein by reference because the main body of information with And most of important information is present in the channel Y, Color Channel U and V can be downsampled for example to YUV420 or YUV422 to obtain Obtain better compression ratio.There are apparent associations between R, G and channel B, reduce this by executing RGB to YUV transformation Association.In addition, if the information that other information can reduce different channels is directly associated with, then other described letters can be used Breath.
There is also the symbols for not being much numerical value.For example, character needs first to become before using the processing of continuum arithmetic unit For numerical value.Generally, which is such as A=0, B=1, C=2, etc., but other transformation also can be used.For example, some The probability of kinds of characters often can be highly useful transform method in language, i.e., these characters can be by their probability Sequence indicates.
Continuum arithmetic unit, which always inputs, has identical dynamic range (such as the bit width for expression symbol, word length Degree, bit number) value.In addition, continuum arithmetic unit usually returns to the value with smaller dynamic range after treatment, in other words, After treatment, carry out expression symbol using less bit.At least, the distinct symbols compared with original input data, in result data A possibility that alternative, must be always smaller.
A good example for reducing size of data using continuum arithmetic unit is Roman number system.The digital display circuit A small assemble of symbol, i.e. I=1, V=5, X=10, L=50, C=100, D=500 and M=are always limited well 1000, which can be used to indicate that the positive integer value for example from 1 to 4000, can by using bit labeling, with Every 12 bit of symbol indicates this 4000 distinct symbols.Similarly, it can use every 3 bit of symbol to indicate this 7 differences Roman number label symbol, i.e. I=0, V=1, X=2, L=3, C=4, D=5, M=6.In general, can be with less than 4 Rome Numerical chracter indicates positive integer value, therefore for this special symbol, Roman number marks more efficiently than bit labeling.? Using when this arithmetic unit, there are three big disadvantages.Firstly, not supporting zero or not supporting negative value when without using sign. Secondly, if without available additional information, such as the space between value, it has no idea positive integer value is separated from each other.The Three, associated " SVT " value is too small.SVT value can be detected, other characters can be detected as other continuum values.But It is that present SVT value is too small, such as when to express number 8 or 3333, it is possible that leading to the problem of.For example, if there is as follows just Integer:
11,9,33,101,4,2,1,8,3,10,34,68,
Then there are 12 symbol-> 12*12 bit=144 bits or 12*7 bit=84 bits.Further, it is necessary in the presence of extremely Few 101 distinct symbols are to be presented all values without specific separator.Then, corresponding Roman number label can be presented For:
XI, IX, XXXIII, CI, IV, II, I, VIII, III, X, XXXIV, LXVIII
Wherein there are+11 separator-> 36*3=108 bits of 36 characters.
It is appreciated that since these numbers are positive integers, so not needing transmitting sign information.Therefore, if using inclined =-1 is moved to obtain such as the s (x) that flows down:
10,8,32,100,3,1,0,7,2,9,33,67
In addition, if selection SVT=3, cont1+=3+ (symbol=4), cont2+=10+ (symbol=5), cont3+= 33+ (symbol=6), cont4+=100+ (symbol=7), etc., then this label is conveniently referred to as Rome continuum operation Device does not need the additional information except transmitting correlation technique itself when using the Rome continuum arithmetic unit.Now, the operation Stream s ' (x) after device is as follows:
5,0,4,4,2,5,5,5,2,6,6,6,1,3,1,0,4,4,1,2,4,4,3,6,0,6,6,1
Wherein there is+0 separator-> 28*3=84 bit of 28 symbols.
These symbols Jing Guo continuum operation do not need any specific separator, but can write on together, and still How many symbol only can be known by all symbols from 0 to 3 in detection amendment stream or value of symbol and how to form it ?.This means that for the value handled through continuum arithmetic unit (that is, using 8 distinct symbols) 5044255526661310441244360661 be also effective, but for using the Roman number of 5 distinct symbols to mark, XIIXXXXIIICIIVIIIVIIIIIIXXXXIVLXVIII is invalid because cannot be decoded from stream digital quantity and they There are one or more ambiguities in value.It is further appreciated that for example when using entropy coding method after operation, distinct symbols Amount it is smaller, compaction table transmitting needed for additional information it is fewer.Therefore, the symbol handled through continuum arithmetic unit is better than binary system Label, although the necessary bit quantity of minimum in preceding example is identical without entropy coding.
As described above, raw symbol data can also be divided into multiple segments or part according to the disclosure.In general, not Probability with the available symbol of data slot is different, therefore each segment of absolute coding or part are beneficial.Therefore, exist As described above using before continuum arithmetic unit, symbol stream can be divided into multiple segments.
Distinct methods can be used to encode raw information, i.e. symbol data, to generate coded data, optionally, for example, Distinct methods are executed with sequence (i) to (iii):
(i) ODelta is encoded;
(ii) continuum arithmetic unit;And
(iii) run-length encoding.
Be embodied as firmware hardwired logic, specific integrated circuit (ASIC) and/or be recorded in non-transient (non-instantaneous) machine can This coding staff is executed in the encoder according to the disclosure of one or more software products on read record data storage medium Method, wherein the one or more software product can be executed in computing hardware to realize the coding method.Optionally, the calculating Hardware is included in personal computer, audio/video devices, television set, wireless computer device, smart phone, mobile phone, interaction In formula gaming consoles, automotive electronic information system, but it is not limited to above equipment.
Such as in the decoder according to the disclosure, in step (i) to (iii), coded data is decoded back with backward Raw information (symbol data):
(i) reverse drive encodes;
(ii) inverse continuum arithmetic unit;And
(iii) inverse ODelta is encoded.
Be embodied as firmware hardwired logic, specific integrated circuit (ASIC) and/or be recorded in non-transient (non-instantaneous) machine can This decoding side is executed in the decoder according to the disclosure of one or more software products on read record data storage medium Method, wherein the one or more software product can be executed in computing hardware to realize the coding/decoding method.Optionally, the calculating Hardware is included in personal computer, audio/video devices, television set, wireless computer device, smart phone, mobile phone, interaction In formula gaming consoles, automotive electronic information system, but it is not limited to above equipment.
Other examples of the disclosure are described below, wherein to compress an original sample information.The original sample information can Selection of land includes at least one of the following:Capture audio signal, capture vision signal, capture image, text data, earthquake number According to, sensor signal, modulus (ADC) change data, biological signal data, calendar data, economic data, mathematical data, two into Data processed, but not limited to this.During compressing raw information, optionally with known and new data processing mode combination.
As described above, optionally, providing continuum value using negative continuum.When utilization continuum arithmetic unit corrects ODelta When the symbol of coding, this is very useful method.If there is such as 7 bit original values and high level 80 is used, is used ODelta arithmetic unit corrects these original values, then there is the largely value close to 0, Yi Ji great in ODelta arithmetic unit amendment stream Measure the value close to 80.Furthermore, it is to be understood that symbol 0 means, symbol identical as preceding value in ODelta arithmetic unit amendment symbol Number 1 means preceding value+1, and symbol 80 means preceding value -1, and so on.Stream D (x) can be expressed as formula 14:
4,0,80,0,1,80,79,0,0,2,0,0,0,80,1,0,1,0,1,80,78 (21 symbols) formula 14
If cont1=2+ corresponds to symbol 3, and cont2=80- corresponds to symbol 4, then in continuum using SVT=2 It is as shown in formula 15 that D ' (x) is obtained after arithmetic unit:
3,2,0,4,0,0, Isosorbide-5-Nitrae, 0,4,1,0,0,2,0,0,0,4,0,1,0,1,0, Isosorbide-5-Nitrae, 0,4,2 formula 15
Symbol (4, x) means value (80-x) now.In addition, primary flow includes 7 bit values (0 to 80), by using 21* 7=147 bit transmits, and continuum arithmetic unit amendment stream includes 28 (=21+1+6) a symbols, using every symbol only 3 bit (0 to 4) are transmitted, therefore can be transmitted with 7+8+28*3=15+84=99 bit, and to transmit the two continuum values at most need Want 15 bits.First value indicates SVT, it is necessary to for the positive value between 0 to 80, that is, need 7 bits to express it, second value use example It is just or to bear that continuum value is limited such as 1 bit, needs 7 bits at most to express the second absolute continuation system value.It then can be with Such as encoded by using run-length encoding, arithmetic coding or VLC and easily compress the stream, because symbol frequency is 0 to 4 i.e. (13,5,3,1,5).It is appreciated that by value identical with preceding value, i.e., the combination of ODelta arithmetic unit and continuum arithmetic unit allows The value that difference is 0, or the value with positive delta, that is, positive difference are transmitted as absolute value, are used for sign without any bit, It also allows i.e. negative with negative delta to transmit as sign instruction and subsequent absolute value by using cont2- symbol The value of difference.Therefore, which is very efficient compression method, and bit needed for realizing transmitting original symbol value In other words huge compression realizes efficient data compression.
It is alternatively possible to can always calculate decoding by using following formula using multiple positive and negative continuum values As a result, there are three continuum value symbols at this time is used for a symbol s (x).Formula 16 has used label, wherein at least one symbol It number is amendment symbol, continuum value symbol is before the amendment symbol.Optionally, inverse scheme can also be used.
+/- (contb (s ' (y-2)) +/- (contc (s ' (y-1)) +/- s ' (y))) formula 16 of s (x)=conta (s ' (y-3))
Wherein
X is the index of original symbol;
Y is the index of corresponding amendment symbol;And
Conta, contb and contc are used continuum values.
It is alternatively possible to using positive or negative continuum value, therefore using corresponding +/- operator in actually calculating, therefore, For example, occur the first symbol 4 in preceding example, and 3,3,1, it then solves shown in the following formula 17 of code value
S (0)=conta (s ' (3-3)) +/- (contb (s ' (3-2)) +/- (contc (s ' (3-1)) +/- s ' (3)))= 80- (2+ (2+1))=75 formula 17
Another formula 18 can also be used, wherein positive and negative continuum value follows each other, that is, adjacent fashion is used, without making With any additional bracket, as follows:
S (x)=conta (s ' (y-3)) +/- contb (s ' (y-2)) +/- contc (s ' (y-1)) +/- s ' (y) formula 18
For example, when the first symbol is 4,3,3,1, solution code value is as shown in formula 19 in preceding example:
S (0)=conta (s ' (3-3)) +/- contb (s ' (3-2)) +/- contc (s ' (3-1)) +/- s ' (3)=80-2+ 2+1=81 formula 19
The example is not optimal, because end value is except original symbol range.But if there are also third symbols 5 to use It in third continuum value (cont3+=10+), is then improved, for example, in the preceding example including the first symbol 4,5,3,1 In, solution code value is as shown in formula 20:
S (0)=conta (s ' (3-3)) +/- contb (s ' (3-2)) +/- contc (s ' (3-1)) +/- s ' (3)=80-10 + 2+1=73 formula 20
Same first symbol 4,5,3,1 is decoded as shown in formula 21 using another formula (formula 20):
S (0)=conta (s ' (3-3)) +/- (contb (s ' (3-2)) +/- (contc (s ' (3-1)) +/- s ' (3)))= 80- (10+ (2+1))=67 formula 21
In addition, which kind of continuum encoding operation device used according to selection, a lot of other decoding functions can be used.In formula Always there are 1 amendment symbol and one or more continuum symbols, can be used or come without using bracket using nonidentity operation device. For example, a very different function is following equation 22, without cont+/- arithmetic unit, but +/- arithmetic unit is used, Middle amendment symbol is before continuum value:
S (x)=- (the +/- conta of s ' (y) (s ' (y+1)) +/- contb (s ' (y+2)) +/- contc (s ' (y+3))) formula 22
If present symbol is Isosorbide-5-Nitrae, 5,3, then:
S (0)=- (s ' (0) +/- conta (s ' (0+1)) +/- contb (s ' (0+2)) +/- contc (s ' (0+3)))=- (1-80+10+2)=67 formula 23
It is appreciated that when correcting symbol before continuum value, it is (i.e. new original or repair that next new symbol can be based only upon Positive value) or detect based on data end (for last symbol) end of amendment symbol.Therefore, using correction value it Preceding continuum value rather than the continuum value after correction value is usually more useful.
With reference to Fig. 1, the schematic diagram of the encoder 10 according to the disclosure is provided.Encoder 10 can be used to receive data D1 and processing data D1 are to generate corresponding encoded data D 2.Valuably, encoded data D 2 corresponds at least one of data D1 The compressed version divided.Encoder 10 include can be used to using according to the firmware hardwired logic of the coding method of the disclosure and/or Computing hardware 20.Encoder 10 receives data and is converted into respective symbol if D1 is not sign format.Optionally, Input data D1 is divided into multiple portions or segment 30, wherein each part or segment 30 are advantageously chosen as so that it is accorded with Number probability of occurrence for realize data compression be very efficient.Then, for example, using said one or it is multiple original or Symbolic coding and/or one or more continuum value symbols are corrected, the glossary of symbols is compiled in collaboration with using above-mentioned continuum arithmetic unit Code, to generate intermediate data 40.The intermediate data 40 optionally by for example using above-mentioned run-length encoding or similar codings mode and It is further encoded, to generate encoded data D 2.
In the decoder 50 according to the disclosure, it may be advantageous that execute the inverse behaviour of the calculating operation executed in encoder 10 Make, encoded data D 2 is converted into decoding data D3, wherein decoding data D3 valuably be at least data D1 essence it is similar It reproduces, when encoder 10 and decoder 50 are worked with lossless manner, data D3 and data D1 can be identical.Decoder 50 Firmware hardwired logic and/or computing hardware 60 including can be used to apply the coding/decoding method according to the disclosure.
Encoder 10 and decoder 50 have been bonded codec shown in appended drawing reference 100.As described above, data D1 beneficially corresponds to indicate the data of actual physics variable, such as is become by using the physics of one or more sensors capture Amount.The one or more sensors optionally include wireless telecom equipment (such as smart phone, tablet computer, PDA, etc.) At least one of microphone or camera.
Described above can be sent out in the case where not departing from the scope of the present invention being defined by the following claims Bright embodiment is modified.For describe and limit such as "include", "comprise" of the invention, " merging ", " by ... structure At ", " having ", the statements such as "Yes" be intended to be understood to non-exclusive form, that is, allow to exist the project being not explicitly described, component or Element.Singular is interpreted as being not excluded for majority.The number in bracket in appended claims is intended to auxiliary and wants to right The understanding asked, and be understood not to limit the requested theme of claim in any way.
Annex

Claims (32)

1. a kind of encoder (10), for encoding the data (D1) provided to the encoder (10) to generate corresponding encoded data (D2), wherein encoder (10) includes data processing equipment (20), for one or more cataloged procedures to be applied to data (D1) to generate coded data (D2), it is characterised in that:
(a) data processing equipment (20) can be used to, if the data (D1) are indicated with numerical symbol, at least portion Divide ground with the set expression of the numerical symbol data (D1);
(b) data processing equipment (20) can be used to generate intermediate data (40), wherein numerical symbol is indicated with original value, with Correction value indicates that at least one symbol, the correction value have the one or more continuum symbols generated by continuum arithmetic unit, Wherein the value of symbol of one or more continuum symbol amendment front is to adapt to escape character range;And
(c) data processing equipment (20) can be used to processing middle data (40) to generate coded data (D2).
2. encoder (10) according to claim 1, which is characterized in that data processing equipment (20) can be used to be based on Data (D1) are divided into the multiple by probability of occurrence and its compression efficiency of the calculated symbol in multiple portions or segment Part or segment.
3. encoder (10) according to claim 1, which is characterized in that for the symbol in data (D1), using continuous Arithmetic unit of uniting generates intermediate data (40), and the intermediate data (40) is by one or more transform methods and/or by one A or multiple conversion tables (LUT) convert the symbol in data (D1) and are generated.
4. encoder (10) according to claim 3, which is characterized in that provide coded data (D2) by multiple data flows The transmitting of wherein at least one stream indicates the information of one or more of conversion tables (LUT) and/or one or more transform methods.
5. encoder (10) according to claim 4, which is characterized in that indicate one or more of conversion tables (LUT) Information reference transmitting coded data (D2) front transfer one or more conversion tables (LUT) and/or can be from encoder (10) alternate source obtains indicating the information of one or more of conversion tables (LUT).
6. encoder (10) according to claim 1, which is characterized in that encoder (10) can be used to the data of processing It (D1) include at least one of the following:Capture audio signal, capture vision signal, capture image, text data, earthquake number According to, sensor signal, modulus (ADC) change data, biological signal data, calendar data, economic data, mathematical data, two into Data processed.
7. encoder (10) according to claim 1, which is characterized in that data processing equipment (20) can be used to pass through At least one of the following is used to encode to generate coded data (D2) intermediate data (40):Entropy amendment, entropy amendment (EM) are compiled Code, ODelta coding, run length encoding (RLE) decompose run length encoding (SRLE), arithmetic coding, run-length encoding, can be changed Length coding (VLC).
8. a kind of method in encoder (10), which is used to compile the data (D1) provided to the encoder (10) To generate corresponding encoded data (D2), wherein encoder (10) includes data processing equipment (20) to code, for compiling one or more Code process is applied to data (D1) to generate coded data (D2) it is characterized in that, this method includes:
(a) using data processing equipment (20) in the case where the data (D1) are indicated with numerical symbol, at least partly With the set expression of the numerical symbol data (D1);
(b) intermediate data (40) are generated using data processing equipment (20), wherein numerical symbol is indicated with original value, with correction value It indicates that at least one symbol, the correction value have the one or more continuum symbols generated by continuum arithmetic unit, wherein should The value of symbol of one or more continuum symbol amendments front is to adapt to escape character range;And
(c) using data processing equipment (20) processing middle data (40) to generate coded data (D2).
9. according to the method described in claim 8, it is characterized in that, this method includes using data processing equipment (20) based on Data (D1) are divided into the multiple portion by probability of occurrence and its compression efficiency of the symbol of calculating in multiple portions or segment Point or segment.
10. according to the method described in claim 8, it is characterized in that, this method includes using for the symbol in data (D1) Continuum arithmetic unit generates intermediate data (40), and the intermediate data (40) is by one or more transform methods and/or to lead to One or more conversion tables (LUT) are crossed to convert the symbol and generate.
11. according to the method described in claim 10, it is characterized in that, this method includes providing coded number by multiple data flows According to (D2), the transmitting of wherein at least one stream indicates one or more of conversion tables (LUT) and/or one or more transform methods Information.
12. according to the method for claim 11, which is characterized in that indicate the letter of one or more of conversion tables (LUT) Breath with reference to transmitting coded data (D2) front transfer one or more conversion tables (LUT) and/or can be from encoder (10) Alternate source obtain indicating the information of one or more of conversion tables (LUT).
13. according to the method described in claim 8, it is characterized in that, this method includes the data handled using encoder (10) It (D1) include at least one of the following:Capture audio signal, capture vision signal, capture image, text data, earthquake number According to, sensor signal, modulus (ADC) change data, biological signal data, calendar data, economic data, mathematical data, two into Data processed.
14. according to the method described in claim 8, it is characterized in that, this method includes being passed through using data processing equipment (20) At least one of the following is used to encode to generate coded data (D2) intermediate data (40):Entropy amendment, entropy amendment (EM) are compiled Code, ODelta coding, run length encoding (RLE) decompose run length encoding (SRLE), arithmetic coding, run-length encoding, can be changed Length coding (VLC).
15. according to the method described in claim 8, it is characterized in that, usage record stores Jie in non-transient machine-readable data One or more software products in matter realize this method, wherein one or more of software products can be in encoder (10) it is executed on data processing equipment (20), to realize the method encoded to data (D1) to generate coded data (D2).
16. a kind of decoder (50), for decoding the coded data (D2) provided to the decoder (50) to generate corresponding solution Wherein decoder (50) includes data processing equipment (60) to code data (D3), for being applied to compile by one or more decoding process Code data (D2) to generate decoding data (D3) it is characterized in that:
(a) data processing equipment (60) can be used to processing coded data (D2) to generate intermediate data (40);
(b) data processing equipment (60) can be used to processing middle data (40) with decoding intermediate data, wherein in mediant In, numerical symbol by output symbol and is at least indicated by an amendment output symbol, the amendment output symbol have one or Multiple continuum symbols, the one or more continuum symbol then by inverse continuum arithmetic unit decode, wherein it is one or Multiple continuum symbols correct the value of the amendment output symbol to adapt to escape character range;And
(c) data processing equipment (60) can be used to transformation and/or conversion process after intermediate data to pass through assemble of symbol To indicate decoding data (D3).
17. decoder (50) according to claim 16, which is characterized in that data processing equipment (60) can be used to base It, will be described in coded data (D2) conduct in probability of occurrence and its compression efficiency of the calculated symbol in multiple portions or segment Multiple portions or segment are handled.
18. decoder (50) according to claim 16, which is characterized in that by by one or more conversion tables (LUT) And/or the one or many transformation that limit of one or more transform methods to the value in decoding data (D3) carry out transformation and/or Conversion, to realize that continuum arithmetic unit generates assemble of symbol.
19. decoder (50) according to claim 18, which is characterized in that provide coded data by multiple data flows (D2) wherein at least one stream transmitting indicates one or more of conversion tables (LUT) and/or one or more transform methods Information.
20. decoder (50) according to claim 19, which is characterized in that indicate one or more of conversion tables (LUT) information reference transmitting coded data (D2) front transfer one or more conversion tables (LUT) and/or can be from solution The alternate source of code device (50) obtains indicating the information of one or more of conversion tables (LUT).
21. decoder (50) according to claim 16, which is characterized in that decoder (50) can be used to the volume of processing Code data (D2) include the version of code of at least one of the following:Capture audio signal, capture vision signal, capture image, Text data, seismic data, sensor signal, modulus (ADC) change data, biological signal data, calendar data, economic number According to, mathematical data, binary data.
22. decoder (50) according to claim 16, which is characterized in that data processing equipment (60) can be used to lead to It crosses and the inverse operation of at least one of the following is used to decode to generate intermediate data (40) coded data (D2):Entropy amendment, entropy It corrects (EM) coding, ODelta coding, run length encoding (RLE), decompose run length encoding (SRLE), arithmetic coding, row Journey coding, variable length code (VLC).
23. a kind of decode to generate corresponding decoding the coded data (D2) provided to the decoder (50) using decoder (50) The method of data (D3), wherein decoder (50) includes data processing equipment (60), for answering one or more decoding process For coded data (D2) to generate decoding data (D3) it is characterized in that, this method includes:
(a) using data processing equipment (60) processing coded data (D2) to generate intermediate data (40);
(b) using data processing equipment (60) processing middle data (40) with decoding intermediate data, wherein in intermediate data, number Be worth symbol indicates by output symbol and at least by an amendment output symbol, which has one or more continuous System symbol, the one or more continuum symbol are then decoded by inverse continuum arithmetic unit, wherein one or more of continuous System symbol corrects the value of the amendment output symbol to adapt to escape character range;And
(c) converted using data processing equipment (60) and/or conversion process after intermediate data with by assemble of symbol come table Show decoding data (D3).
24. according to the method for claim 23, which is characterized in that this method includes being based on using data processing equipment (60) Probability of occurrence and its compression efficiency of the calculated symbol in multiple portions or segment, by coded data (D2) as described more A part or segment are handled.
25. according to the method for claim 23, which is characterized in that this method includes by by one or more conversion tables (LUT) and/or one or many transformation of one or more transform methods restriction convert the value in decoding data (D3) And/or conversion, assemble of symbol is generated using continuum arithmetic unit.
26. according to the method for claim 25, which is characterized in that provide coded data (D2) wherein by multiple data flows At least one stream transmitting indicates the information of one or more of conversion tables (LUT) and/or one or more transform methods.
27. according to the method for claim 26, which is characterized in that indicate the letter of one or more of conversion tables (LUT) Breath with reference to transmitting coded data (D2) front transfer one or more conversion tables (LUT) and/or can be from decoder (50) Alternate source obtain indicating the information of one or more of conversion tables (LUT).
28. according to the method for claim 23, which is characterized in that this method include using decoder (50) processing include with The coded data (D2) of at least one of lower version of code:Capture audio signal, capture vision signal, capture image, text Notebook data, seismic data, sensor signal, modulus (ADC) change data, biological signal data, calendar data, economic data, Mathematical data, binary data.
29. according to the method for claim 23, which is characterized in that this method includes being passed through using data processing equipment (60) The inverse operation of at least one of the following is used to decode to generate intermediate data (40) coded data (D2):Entropy amendment, entropy are repaired Positive (EM) coding, decomposes run length encoding (SRLE), arithmetic coding, stroke at ODelta coding, run length encoding (RLE) Coding, variable length code (VLC).
30. according to the method for claim 23, which is characterized in that usage record is stored in non-transient machine-readable data to be situated between One or more software products in matter realize this method, wherein one or more of software products can be in decoder (50) it executes on data processing equipment (60), coded data (D2) is decoded with realizing to generate the side of decoding data (D3) Method.
31. a kind of codec (100), including at least one encoder (10) according to claim 1 and at least one The combination of decoder (50) according to claim 16, wherein at least one described decoder (50) can be used to decode The data (D2) encoded by encoder (10).
32. a kind of electronic equipment (10,50), including at least one encoder (10) according to claim 1 and at least one A decoder according to claim 16 (50), wherein the electronic equipment (10,50) is embodied as at least one of following A part:Personal computer, audio/video devices, television set, wireless computer device, smart phone, mobile phone, interaction trip Play operation bench, automotive electronic information system.
CN201480024696.XA 2013-03-01 2014-03-01 Encoder device, decoder apparatus and method Active CN105409129B (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB1303658.7A GB2511493B (en) 2013-03-01 2013-03-01 Entropy modifier and method
GB1303658.7 2013-03-01
PCT/EP2014/000531 WO2014131528A1 (en) 2013-03-01 2014-03-01 Encoder apparatus, decoder apparatus and method

Publications (2)

Publication Number Publication Date
CN105409129A CN105409129A (en) 2016-03-16
CN105409129B true CN105409129B (en) 2018-11-16

Family

ID=48142235

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201480024777.XA Active CN105164923B (en) 2013-03-01 2014-03-01 entropy corrector and method
CN201480024696.XA Active CN105409129B (en) 2013-03-01 2014-03-01 Encoder device, decoder apparatus and method

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201480024777.XA Active CN105164923B (en) 2013-03-01 2014-03-01 entropy corrector and method

Country Status (7)

Country Link
EP (2) EP2962396A1 (en)
JP (1) JP6073506B2 (en)
KR (1) KR102068383B1 (en)
CN (2) CN105164923B (en)
GB (1) GB2511493B (en)
RU (1) RU2611249C1 (en)
WO (2) WO2014131528A1 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2523347B (en) 2014-02-20 2016-01-13 Gurulogic Microsystems Oy Encoder, decoder and method
GB2527588B (en) 2014-06-27 2016-05-18 Gurulogic Microsystems Oy Encoder and decoder
US20190195742A1 (en) * 2017-12-22 2019-06-27 Schneider Electric Software, Llc Automated detection of anomalous industrial process operation
CN108737976B (en) * 2018-05-22 2021-05-04 南京大学 Compression transmission method based on Beidou short message
FR3105660B1 (en) * 2019-12-18 2022-10-14 Commissariat Energie Atomique Method and apparatus for additive signal coding for implementing dynamic precision digital MAC operations

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5764167A (en) * 1995-05-23 1998-06-09 International Business Machines Corporation Compression and decompression of runs of ones and zeros in groups that progressively increase in size within each run
CN1636405A (en) * 2001-05-29 2005-07-06 皇家菲利浦电子有限公司 Method and device for video transcoding
CN1875634A (en) * 2003-10-31 2006-12-06 皇家飞利浦电子股份有限公司 Method of encoding video signals
CN1983432A (en) * 2005-10-31 2007-06-20 希捷科技有限公司 Structured set partitioning and multilevel coding for partial response channels

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5550777A (en) * 1979-05-21 1980-04-12 Toshiba Corp Information compression device
JPS5621483A (en) * 1979-07-31 1981-02-27 Fuji Photo Film Co Ltd Encoding system of picture signal
JP3010631B2 (en) * 1989-02-14 2000-02-21 ソニー株式会社 Run-length coding
JPH036924A (en) * 1989-06-05 1991-01-14 Hitachi Ltd Terminal equipment
US5627534A (en) * 1995-03-23 1997-05-06 International Business Machines Corporation Dual stage compression of bit mapped image data using refined run length and LZ compression
JPH08294142A (en) * 1995-04-24 1996-11-05 Omron Corp Image information compression method and image display device using this method
US5710561A (en) * 1996-01-02 1998-01-20 Peerless Systems Corporation Method and apparatus for double run-length encoding of binary data
US6269338B1 (en) * 1996-10-10 2001-07-31 U.S. Philips Corporation Data compression and expansion of an audio signal
JP4260908B2 (en) * 1997-06-25 2009-04-30 株式会社日本デジタル研究所 Run-length encoding method and image processing apparatus
JP2001136524A (en) * 1999-11-02 2001-05-18 Ricoh Co Ltd Compression and expansion device
US6359548B1 (en) * 2000-10-16 2002-03-19 Unisys Corporation Data compression and decompression method and apparatus with embedded filtering of infrequently encountered strings
US6384751B1 (en) * 2000-12-22 2002-05-07 Unisys Corporation Data compression/decompression circuit and method
US6719689B2 (en) * 2001-04-30 2004-04-13 Medtronic, Inc. Method and system for compressing and storing data in a medical device having limited storage
RU2426227C2 (en) * 2006-11-14 2011-08-10 Квэлкомм Инкорпорейтед Encoding variable-length codes with efficient memory usage
KR101454167B1 (en) * 2007-09-07 2014-10-27 삼성전자주식회사 Device and method for compressing and decompressing data
EP2131501A1 (en) * 2008-06-06 2009-12-09 Harman Becker Automotive Systems GmbH Data compression and decompression method and data processing apparatus
US7804428B2 (en) * 2008-11-10 2010-09-28 Apple Inc. System and method for compressing a stream of integer-valued data
JP2010245938A (en) * 2009-04-08 2010-10-28 Sony Corp Signal processing apparatus, signal processing method, and program
JPWO2011016250A1 (en) * 2009-08-06 2013-01-10 パナソニック株式会社 Encoding method, decoding method, encoding device, and decoding device
US8410959B2 (en) * 2010-04-09 2013-04-02 Qualcomm, Incorporated Variable length codes for coding of video data

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5764167A (en) * 1995-05-23 1998-06-09 International Business Machines Corporation Compression and decompression of runs of ones and zeros in groups that progressively increase in size within each run
CN1636405A (en) * 2001-05-29 2005-07-06 皇家菲利浦电子有限公司 Method and device for video transcoding
CN1875634A (en) * 2003-10-31 2006-12-06 皇家飞利浦电子股份有限公司 Method of encoding video signals
CN1983432A (en) * 2005-10-31 2007-06-20 希捷科技有限公司 Structured set partitioning and multilevel coding for partial response channels

Also Published As

Publication number Publication date
WO2014131528A1 (en) 2014-09-04
JP6073506B2 (en) 2017-02-01
KR102068383B1 (en) 2020-02-11
JP2016514404A (en) 2016-05-19
RU2611249C1 (en) 2017-02-21
KR20150126858A (en) 2015-11-13
EP2962397A1 (en) 2016-01-06
CN105164923B (en) 2018-10-23
CN105409129A (en) 2016-03-16
CN105164923A (en) 2015-12-16
WO2014131526A1 (en) 2014-09-04
EP2962396A1 (en) 2016-01-06
GB2511493A (en) 2014-09-10
GB2511493B (en) 2017-04-05
GB201303658D0 (en) 2013-04-17

Similar Documents

Publication Publication Date Title
CN106170921B (en) It is related to the source code and decoding method and device of the data of sign compression
CN105451026B (en) Data compression
CN105409129B (en) Encoder device, decoder apparatus and method
US8933826B2 (en) Encoder apparatus, decoder apparatus and method
JP2017507590A5 (en)
CN105451027A (en) Data compression
CN105103549A (en) Encoding and decoding of significant coefficients in dependence upon a parameter of the significant coefficients
US11202083B2 (en) Encoder, decoder and method employing palette utilization and compression
WO2014131517A1 (en) Encoder, decoder and method
JP2017526252A (en) Encoder, decoder, and method
KR102393743B1 (en) Encoder, decoder and method using mode symbols
Shie et al. Reversible and high-payload image steganographic scheme based on side-match vector quantization
KR101726572B1 (en) Method of lossless image enconding and decoding and device performing the same
Kabir et al. Edge-based transformation and entropy coding for lossless image compression
GB2523744A (en) Encoder apparatus, decoder apparatus and method
CN116170599A (en) Synchronous real-time image compression method, system, medium and terminal
KR20170031868A (en) Apparatus for binary data real time compressing method of classifying binary clusters topology based on their type and value
Mosa COLOR IMAGE COMPRESSION BASED ON ABSOLUTE MOMENT BLOCK TRUNCATION CODING USING DELTA ENCODING AND HUFFMAN CODING
JPH10177565A (en) Image decoding device
KR20090112139A (en) Method and Apparatus for Coding and Decoding using Bit-Precision

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant