CN1174554C - Variable length encoding of compressed data - Google Patents

Variable length encoding of compressed data Download PDF

Info

Publication number
CN1174554C
CN1174554C CNB00815502XA CN00815502A CN1174554C CN 1174554 C CN1174554 C CN 1174554C CN B00815502X A CNB00815502X A CN B00815502XA CN 00815502 A CN00815502 A CN 00815502A CN 1174554 C CN1174554 C CN 1174554C
Authority
CN
China
Prior art keywords
value
decompressor
currency
compressor reducer
compressed
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.)
Expired - Lifetime
Application number
CNB00815502XA
Other languages
Chinese (zh)
Other versions
CN1390390A (en
Inventor
希姆・列
希姆·列
Z·刘
D·莱安
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.)
Nokia Technologies Oy
Original Assignee
Nokia Oyj
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 Nokia Oyj filed Critical Nokia Oyj
Publication of CN1390390A publication Critical patent/CN1390390A/en
Application granted granted Critical
Publication of CN1174554C publication Critical patent/CN1174554C/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

The invention is a method and system for compressing a current value into a minimum number of bits for transmission from a compressor to a decompressor. A method in accordance with the invention includes maintaining a series of at least one previous value at the compressor, each previous value having different k least significant bits and which have been transmitted to the decompressor; determining a value of k representing a smallest number of bits which allows successful decompression of the current value at the decompressor using as a reference value any value in the series of at least one previous value; and transmitting the current value from the compressor to the decompressor in compressed form with the k least significant bits of the current value.

Description

The Variable Length Code of packed data
The related application reference
The application requires the submission day of the U.S. Provisional Application sequence number 60/164,330 that is called " Variable LengthEncoding of Compressed Data (Variable Length Code of packed data) " of submission on November 9th, 1999.
U.s. patent application serial number 09/522 with reference to " An Efficient HandoffProcedure for Header Compression (a kind of efficient handoff procedure that is used for the head compression) " by name submitted on March 9th, 2000,497, assignee and integral body that this application has transferred the application are incorporated in for reference here.
Also can be with reference to the u.s. patent application serial number 09/536 of " the Method and System forTransmitting and Receiving Packets (being used to send and receive the method and system of grouping) " by name that submitted on March 28th, 2000,639, assignee and integral body that this application has transferred the application are incorporated in for reference here.
Technical field
The present invention relates to comprise the efficient data compression of packets headers compression.
Description of the Prior Art
In a lot of fields, can be efficiently and to the mode of error robustness a series of values be compressed very key.For example the compression of IP/UDP/RTP head is so that transmit real-time IP-based multimedia service on Cellular Networks.Because the size of IP/UDP/RTP head is big and the limited bandwidth of cellular system, so compression efficiency is essential.Because error-prone characteristics of cellular link so error robustness also need.
The RTP head of describing in the Internet in February, 1999 engineering duty group (IETF) RFC2508 is compressed in and has obtained very high compression efficiency on lossless compress device-decompressor link.It is so low that it can be compressed to most of head two bytes.But this scheme does not have error robustness.The problem that runs into is error propagation and increases the size of compressing head.Run into mistake if the error propagation here refers to compressing head, then not only this compressing head compressing head that can not decode but also follow may can not be decoded even without wrong.Here the compressing head size of Zeng Jiaing refers to because of error recovery procedure (ERP), in 2 bytes of the compressing head on the lossy link greater than the best that obtains on harmless link.The restriction of RFC2508 is discussed below.
Some information field or 1 that carries in the compression scheme utilization head) do not change (being called ' Class1 ' header field here) or 2) change the fact of (be called ' type 2 ' header field) here in complete predictable mode.Other territory is called that ' type 3 ' header field changes in the mode that can not definitely predict.
The example of Class1 header field is IP address, udp port number, RTP SSRC (synchronisation source) etc.These territories only need to send to receiver/decompressor once (parts of the one or more groupings that send when for example setting up as session) during session.
The example of type 2 header fields is RTP timestamp, RTP sequence number and IP ID territory.All all have the trend that increases by from certain constant that is grouped into grouping.Therefore, need in each head, not send for these values.Only need to make decompressor to know constant increment (difference) value, in RFC2508, be called increment.Decompressor utilizes these increments to regenerate up-to-date type 2 thresholdings when rebuilding original.In other words, differential coding is used for the header field of compression type 2.
The IP-ID territory that most of IP storehouses are realized increases by a fixed qty for each grouping that the source sends.Therefore as long as the rtp streaming grouping does not intersect with other grouping from identical sources on compressor reducer-decompressor (CD) channel, then the IP-ID increment is exactly constant and does not need transmission.
The example of type 3 header fields is RTP M-bits (marker), the appearance (finishing as frame of video) on certain border in its indication medium.Because medium changes in uncertain mode usually, so this information can not be predicted definitely.
The restriction of above-mentioned compression scheme comes from the incremental encoding that is used for type 2 territories.Because differential coding if a single compressing head is lost, is then recursively predicted from the compressing head that can not decode because of the compressing head of all back, so will all can not decode.Our error propagation of being called that Here it is.
Be used for being called " secondary " algorithm, if in compressed packet, send grouping UDP verification and can use this algorithm from a kind of algorithm that error propagation recovers.Compressed packet on the CD-link is carried one 4 bit sequence, and it increases by 1 to each compressed packet that compressor reducer sends.Decompressor uses this sequence number to detect the compressed packet of losing on the link.If sequence number increase to surpass 1, then decompressor has been wished that all compressed packet increments since the grouping increment of last compression not have to change and is increment of each grouping of losing increase.Then decompressor by the grouping UDP that calculate to decompress verification and and detect it whether to detect this imagination with UDP verification that sends and coupling be correct.
Secondary algorithm is restricted too strong.At first, it requires to send verification and (2 byte) and has therefore reduced compression efficiency in each compressed packet.Secondly, for typical audio stream, secondary algorithm has only been jumped just effective without any TS and IP-ID since last decompression grouping.
When decompressor can not decompress to grouping, it sent a Negative Acknowledgement Nack to compressor reducer.Compressor reducer one receives Nack, just sends unpressed header field.Ground does not send because the territory need have compression, so Nack mechanism causes at least one to postpone the audio or video interruption of duration back and forth.
For limit erroneous is propagated, compressor reducer uses flush mechanism, even decompressor does not require that it also periodically sends and do not compress thresholding whereby.But such mechanism has further reduced compression efficiency.
Another restriction of RFC 2508 is the short sequence number of compressing head.When decompressor receives sequence number and previous discontinuous, detect packet loss and use recovery scheme to come again compressor reducer and decompressor synchronously.Only using a short sequence number to detect packet loss to error-prone link, is robust not as the Radio Link of frequent generation ' long lose '.Long losing is defined as losing of a plurality of groupings in ' sequence cycles ' or the delegation.When length was lost generation, the sequence number in the grouping that decompressor receives ' was unrolled '.For example, suppose that sequence number comprises the k bit, so sequence number cycle equals 2 kIf have 2 in the delegation kIndividual packet loss is then because seem that sequence number is still continuous in the grouping that arrives, so decompressor can not detect packet loss.
Summary of the invention
The present invention is a robust and encoding scheme efficiently, and it is called VLE (Variable Length Code) in one embodiment.VLE and other embodiment of the present invention have solved the error propagation and the decrease in efficiency problem of prior art.
The present invention is based in part in head type 2 territories that compression point receives and shows an observation that increases trend.This hint is tending towards having identical a plurality of MSB (Most Significant Bit) from the territory of continuous head and only by its a plurality of LSB (least significant bit) difference.Therefore can realize compression by only sending a plurality of LSB.
The present invention makes compressor reducer can determine the minimum number of a plurality of LSB that will send, and so no matter how the compressed packet of front loses on the CD-link, and this quantity is enough to the decompression that provides correct.
The present invention can be applied to any value sequence.Numerical value is got over polymerization (just closer to each other), and then efficient is high more.
The bit that currency is compressed to minimum according to the present invention or reduces quantity is used for being included in compressor reducer from the method that compressor reducer sends to decompressor and keeps a series of at least one preceding value, and each has a different k least significant bit and has sent to decompressor; Definite expression can utilize any value in described a series of preceding value as the k value of the minimum or minimizing number of bits that successfully currency is decompressed in decompressor with reference to value; And currency is sent to decompressor with k least significant bit of currency from compressor reducer with the form of compression.By currency is compared determine the maximum difference r between currency and the preceding value with the value of front, select greater than log simultaneously 2 (r)+ 1 smallest positive integral is determined the k value as k.Decompressor sends to compressor reducer with at least one affirmation, the indication decompressor value has been decompressed and compressor reducer renewable at least one is previous, to abandon at least one older preceding value.Decompressor can decompress to currency with the reference value of last value of described a series of at least one preceding value, and it has value with k the least significant bit identical with k least significant bit of the immediate currency that receives of reference value with boil down to.Decompressor use comprise from less than reference value to a region of search greater than the value of reference value; And select to have the value of an identical k least significant bit the value in the region of search.This value can be mapped to described a series of at least one preceding value by quantity with reference value v_ref and bit k with currency on generate; And described a series of at least one preceding value can upgrade so that the oldest the oldest value of having confirmed to be decompressed by decompressor of transmission value conduct.These values can be the functions of reference value and amount of bits k.This function can be] v_ref-2 K-1, v_ref+2 K-1].This function can be] v_ref, v_ref+2 k].At least one is confirmed to be the not compression or the compressed value of reception.At least one is confirmed to be can be the compressed value that is included in the reception of the information of using in the part compressed value coding.At least one affirmation comprises the oldest value in described a series of at least one preceding value.Described a series of at least one preceding value can upgrade with the maximum quantity based on the value of estimating that may lose during the transmission of sequential value between compressor reducer and the decompressor and abandon older preceding value.The currency of the compression couple several k that send with currency encode.This coding can be Huffman encoding.This value comprises the RTP head.At least one affirmation can be the affirmation of the RTP SN head that TS and IP-ID confirm in the expression RTP head.
A kind of system that is used for that currency is compressed into minimum or reduces number of bits according to the present invention comprises that keeps a series of at least one preceding value, and each preceding value has the compressor reducer of a different k least significant bit; From compressor reducer, receive the decompressor of the currency of k the least significant bit that is compressed into minimum or minimizing quantity; And wherein compressor reducer determines to represent the k value of minimum number bit, and this value uses any one value in described a series of at least one preceding value on decompressor currency successfully to be decompressed as a reference.By the maximum difference r that currency is compared with at least one preceding value between definite currency and at least one preceding value, select greater than log 2 (r)+ 1 smallest positive integral is determined the k value as k.Decompressor sends to compressor reducer with at least one affirmation, the indication decompressor to value decompression and renewable described a series of at least one preceding value of compressor reducer to abandon older at least one preceding value.Decompressor can be with the reference value of last value of described a series of at least one preceding value, and coming to decompress on decompressor will be as having the decompressed currency with the value of k the least significant bit identical with k least significant bit of the immediate currency that receives of reference value.Decompressor use comprise from less than reference value to a region of search greater than the value of reference value; And select to have the value of an identical k least significant bit the value in the region of search.Compressor reducer can be mapped to by the quantity k with reference value v_ref and bit on described a series of at least one preceding value and the currency and generate this value; And described a series of at least one preceding value can upgrade so that the oldest the oldest value of having confirmed to be decompressed by decompressor of transmission value conduct.This function can be] v_ref-2 K-1, v_ref+2 K-1].This function can be] v_ref, v_ref+2 k].Be confirmed to be the not compressed value of reception.At least one is confirmed to be the compressed value of reception.At least one is confirmed to be can be the compressed value that is included in the reception of the information of using in the part compressed value coding.Described a series of at least one preceding value can be upgraded with the maximum quantity based on the value of estimating that may lose during the transmission of sequential value between compressor reducer and the decompressor by compressor reducer and abandon at least one older preceding value.The currency of the compression couple several k that send with currency encode.This value comprises the RTP head.At least one affirmation can be the affirmation of the RTP SN head that TS and IP-ID confirm in the expression RTP head.
According to a first aspect of the invention, provide a kind of bit that currency is compressed to minimum number to be used for sending to the method for decompressor from compressor reducer, comprise: keep a series of at least one preceding value on compressor reducer, each preceding value has a different k least significant bit and has sent to decompressor; Determine the k value of expression minimum number bit, it allows to utilize any value in described a series of at least one preceding value currency successfully to be decompressed on decompressor as the reference value; And currency sent to decompressor with k least significant bit of currency from compressor reducer with compressed format; Wherein pass through currency and at least one preceding value are compared with the maximum difference r between definite currency and at least one preceding value, and select the k conduct greater than log 2 (r)+ 1 smallest positive integral is determined the k value.
According to a second aspect of the invention, provide a kind of system that is used for currency is compressed into the bit of minimum number, having comprised: keep the compressor reducer of a series of at least one preceding value, each preceding value has a different k least significant bit; Reception is from the decompressor of the currency of k minimum least significant bit of being compressed to of compressor reducer; And wherein compressor reducer determines to represent the k value of the minimum number of bit, and it allows to utilize in described a series of at least one preceding value any one on decompressor currency successfully to be decompressed as a reference; Wherein, select greater than log simultaneously by currency being compared with at least one preceding value to determine the maximum difference r between currency and at least one preceding value 2 (r)+ 1 smallest positive integral is determined the k value as k.
According to third aspect present invention, provide a kind of currency has been compressed to the method that the bit that reduces quantity is used for sending to from compressor reducer decompressor, comprise: keep a series of at least one preceding value on compressor reducer, each preceding value has a different k least significant bit and has sent to decompressor; The k value of the bit number that definite expression reduces, it allows to utilize any value in described a series of preceding value currency successfully to be decompressed on decompressor as the reference value; And currency sent to decompressor with k least significant bit of currency from compressor reducer with compressed format; Wherein pass through currency and at least one preceding value are compared with the maximum difference r between definite currency and at least one preceding value, and select the k conduct greater than log 2 (r)+ 1 smallest positive integral is determined the k value.
The accompanying drawing summary
Fig. 1 from conceptual illustration Information Compression.
Fig. 2 from conceptual illustration the decompression of information.
Fig. 3 has illustrated to utilize according to the present invention and has confirmed that compressor reducer has the conversion of the head of upper bit number to the head with low bit number from transmission.
Fig. 4 has illustrated that compressor reducer has the conversion of the head of first compression sequence to the head with second compression sequence from transmission according to the present invention.
Fig. 5 and 6 has illustrated the example of selecting bit k minimum number according to the present invention.
Fig. 7 A and 7B have illustrated the use of the sliding window of the value of compressor reducer storage according to the present invention.
Fig. 8 illustrates an example that utilizes the VLE coded format of two encoding domains transmission compressed values according to the present invention.
Realize optimal mode of the present invention
Basic conception and rule
Fig. 1 from conceptual illustration compressed information and example thereof.Compressed context information is one group, one subclass or representative of an information subset, it can be the information of hard-core any kind, comprises shown in Fig. 3 and 4 to be used as the compression algorithm input to generate the head of the compressed information that can be hard-core compressing head by compressor reducer.Another input is from wanting the information compressed source, its hard-core head that will compress that is illustrated as in example.
Fig. 2 decompresses and example from conceptual illustration information.The decompression contextual information is one group, one subclass or representative of an information subset, it can be the information of hard-core any kind, comprises shown in Fig. 3 and 4 to be used as the decompression algorithm input to generate the head of the decompression information that can be hard-core decompress(ion) drop-head by decompression.Another is imported from the information that will decompress, its hard-core head that will decompress that is illustrated as in example.
The compression and decompression contextual information all is dynamic, that is to say, can be upgraded respectively by compressor reducer and decompressor.The frequency of upgrading depends on a compression mechanism.On compressor reducer, cause the time of compressed context information updating to comprise the compression that enters head, or receive feedback from decompressor.The incident that the contextual information that causes decompressing on decompressor upgrades comprises the decompression that enters head.
Compressor reducer can be a kind of in three kinds of states:
FH (entire header) state
FO (first order) state
SO (second order) state
Be operated in the FH state at the initial phase compressor reducer.At the FH state, compressor reducer sends complete RTP head.This state only is a transition state usually, and it only begins to occur or because of anomalous event extremely in the RTP session, as compressor reducer fault or memory loss, and appearance in the middle of session.
Be operated in the FO state at the update stage compressor reducer.At the FO state, transmitter sends the FO head, and just its head carries with comparing with reference to head and changed, the grouping in the territory of suitably encoding with sequence number.Wish that decompressor can be to the FO affirmation of some shown in Fig. 3 and 4, wherein quantity depends on pattern.For example, if having the linear model of preset parameter, then only need send an affirmation in deduction phase.
Be operated in the SO state at the deduction phase compressor reducer.At the SO state, transmitter sends the SO head, its head just grouping of a sequence number basically just.Decompressor can or not confirmed the SO packet acknowledgement of correct reception.
Describe below that the present invention uses, but be not limited thereto, a kind of mathematical function type of in VLE, using.This function representation be f (k, v_ref)=(v_1, v_2 ..., v_2 k), be mapped as integer value v_ref and a many bit k that is called reference value and be mapped as the k unit integer that all has a different k LSB.
Though any such function all is suitable, an embodiment preferred is only used and is returned successive value v_1, v_2 .., v_2 k, the function of v_i=v_1+i-1 just.In other words, this function has length and has 2 kThe interval of value.This interval can be write and do] and v_ref-C (k, v_ref), v_ref-C (k, v_ref)+2 k] wherein C be a integer as k and v_ref function.Again, though can be to any so interval interested, preferred embodiment use C (k, v_ref)=0 and C (k, v_ref)=2 K-1In other words, this embodiment uses the interval to be] v_ref-2 K-1, v_ref+2 K-1] and] v_ref, v_ref+2 k].
Describe below based on] v_ref-2 K-1, v_ref+2 K-1] at interval VLE embodiment.System is by compressor reducer, decompressor and the CD-channel shown in Fig. 3 and 4, and just the link between compressor reducer and the decompressor is formed.This channel is error-prone.The hypothesis that this embodiment is unique, but be not limited thereto is that recording compressed value and the compressed value that provides as the decompressor input are not have ruined (head that perhaps in other words destroys is used as and loses head) to channel.This channel can be a simplex link shown in Fig. 3 and 4, just only sends compressed value or the duplex channel of explaining compressor reducer by oneself, and just channel also transmits the feedback from the decompressor to the compressor reducer.Use duplex channel in preferred embodiments.
Phase I is that decompressor obtains initial value.This sends not compressed value realization by compressor reducer or other suitable device when communication begins.Decompressor utilizes feedback channel to confirm the reception value shown in Fig. 3 and 4.Initialization is ad infinitum finished when compressor reducer receives a feedback acknowledgment, can use the VLE coding to compress then.In VLE, but value is as the parameter compression of bit k.The operation of decompressor in the VLE pattern at first is discussed.
Fig. 7 A and 7B have illustrated the window renewal process.But comprising the input compressor reducer and may be compressed, window do not need compressed preceding value.Suppose that at a particular point in time window be v i, v I+1,---, v n:
(1) as new value v of compression N+1The time, window enlarges so that comprise this new value shown in Fig. 7 A.
(2) then shown in Fig. 7 B, when compressor reducer knows that older value can not be used by decompressor again, in this example, can be as occurrence value v I+2Affirmation when receiving, (be v in this example by the older one or more values of deletion iAnd v I+1) dwindle window.
Decompress:
Reference value is last value that is decompressed by decompressor.By the transmission of the reception shown in Fig. 3 and 4, confirmed or hypothesis by a series of values during time enough, at least one value may be received with adding up and not be used to contract any feedback solution compression of device of self-extracting and it seems, received an actual value, signaled compressor reducer and decompress.The interval of decompressor by providing its k LSB to conform to the k bit of reception] v_ref-2 K-1, v_ref+2 K-1] in unique value come the compressed value that enters is decompressed.This region of search is a particular example of the function introduced previously.Decompressed value becomes v_ref, itself so that be used for again the compressed value that enters is below decompressed.In preferred embodiments, decompressor is confirmed at least some groupings decompressed shown in Fig. 3 and 4.The packet count of need confirming is fully flexibly and selectedly wants the standard used to satisfy.As follows, the affirmation that sends to compressor reducer from decompressor is many more, and then the compression efficiency on the forward link is high more.
Compression:
With reference now to compressor operation.Compressor reducer keeps that it has been compressed and send to a sliding window of the value of decompressor, shown in Fig. 7 A and 7B.In one embodiment, this window value of keeping its last look that receives the confirmation from decompressor and below all of the order that sends to decompressor, will sending.Compressor reducer also keeps minimum and the maximum v_min and the v_max of sliding window respectively.
When a new not compressed value v arrived compressor reducer, compressor reducer sent each v_i for sliding window in the interval] v_i-2 K-1, v_i+2 K-1] in k the LSB of v.These can be easily by r<2 K-1Represent, wherein r=max (| v-v_max|, | v-v_min|).Compressor reducer is selected greater than log then 2 (r)+ 1 smallest positive integral is as k.When compressor reducer received the confirmation, it deleted all values that sent before the affirmation value from window, discussed with reference to figure 7B as above-mentioned.
Below discussion be illustrated as what VLE always provides correct decompression and be a kind of compression mechanism very flexibly.
As long as compressor reducer and decompressor are followed above-mentioned rule, no matter any loss is then arranged on compressor reducer shown in Fig. 3 and 4 and the CD-channel between the decompressor, can both correct decompressed.In fact, the reference value v_ref that decompressor uses must belong to the compressor reducer window, in the example as illustrated in Figures 5 and 6 between a v_min and v_max, and know that therefore encoded radio will be in the interval of the region of search of using as decompressor] v_ref-2 K-1, v_ref+2 K-1] in.
VLE does not have error propagation.The compressed packet that decompressor receives can always decompress.Packet loss is converted into an increase gradually of compressed packet size.
Confirm frequently more, the value in the window may send LSB still less more less and therefore.Especially meet the trend of increase and for each new value v in the value that will compress, v-v_min increases, under the compression situation till receiving the confirmation especially like this.
Decompressor must be known the length of compressed value.Can not have any additional signaling in some cases, for example, knowing this length by the framing information of coming the own coding lower level.Clear and definite if desired signaling, then preferred embodiment defines a kind of VLE form.This form can have two territories: length field (LSB amount R just) and compression codomain (k of an original value v LSB just), as shown in Figure 8.
In preferred embodiments, the VLE length field as shown in Figure 8, utilizes Huffman encoding that self is encoded.Also can use any other coding method (for example uniform enconding).Should estimate the possibility of different length to different application, and should use the Huffman encoding algorithm then encoding of needing in these data.Knowing that link property (loss and delay), decompressor confirm the cycle, and during the pattern of the original value that will compress, can estimate on the communication link between compressor reducer and the decompressor, to run into the possibility of given length.
Be further to reduce the length of length field self, can the limit compression device from a class value that reduces, select the length in territory.For example, suppose unpressed territory be 32 bits and want with maximum 2 bit lengths to following possibility successively decrease the order 4 bits, 8 bits and 32 bits of encoded, suitable coded word is that single bit 0 is used for 4 bits, and 2 bit values 10 are used for 8 bits and 2 bit values 11 are used for 32 bits.
Use suitable coding to make the average-size of compressed value minimize.
And if can obtain length from other packet domain, then length information does not need special bit.For example, in typical compression applications, in compressing head, sent a packet type territory.A default length that can use this packet type territory to hint to surpass hardly.In this case, use an independent packet type in the place that default length surpasses.Because this situation is rare, so overhead integral body has reduced.
If there is not feedback channel, then need out of Memory (band is outer) or extra hypothesis to make the compressor reducer window move forward and prevent that k from increasing always.A kind of mode be hypothesis along channel from the compressor reducer to the decompressor at the most L continuously compressed value can lose.In other words, compressor reducer knows in (L+1) individual continuous compressed value to have an arrival decompressor at least definitely.Therefore, compressor reducer only need be stored nearest (L+1) the individual value that has sent to decompressor in window.Therefore, scope (v_max-v_min), and therefore k value only depend on (L+1) individual value of nearest transmission.
VLE can be applicable to the compression of RTP head.With RFC 2508 on the contrary, do not need to use compressor reducer-decompressor sequence number.Instead, utilize VLE to the RTP SEQ.XFER.Decompressor is shown in VLE as Fig. 3 and 4 and describes in using, and confirms grouping by send the RTP SN that its receives to compressor reducer.
As described below about the best affirmation, decompressor does not need to return unpressed RTP SN value.
The following Example explanation is used for the work of the present invention as the RTP SN compression of RFC 2508 propositions.Provide a series of groupings that enter to compressor reducer, its SN (sequence number) is: 32,33,35,36,39,40,38,41.Suppose decompressor acknowledged sequence number be 35 grouping, then compressor reducer keeps an aforesaid sequence number window that has sent since last confirms grouping.When receiving the confirmation, the compressor reducer window is: 35,36,39,40,38,41.One of hypothesis has the new SN value arrival compressor reducer of sequence number value 43 now.Compressor reducer is sought its window maximum and is found 41.Compressor reducer is sought the window minimum value and is found 35.Compressor reducer calculate the value of entering and on it (43-41=2) boundary and lower bound (43-35=8) apart from r.Ultimate range is 8.Compressor reducer must send in this example greater than log 2 r+ 1,2 kMany bit k of integer greater than 17.This number is k=5.Because 43 binary format writing 101011, so compressor reducer sends 5 LSB, just 01011.The decompressor reference value is that the last value that decompresses of decompressor and its are the value in the compressor reducer window certainly.Decompressor is by being 01011 with its 5 LSB and returning the value (01011) to entering to decompress near the value of reference value.No matter what reference value is, this value always 43.For example, be 40 (just on the link between compressor reducer and the decompressor 38 and 41 lose) if suppose the last value of its reception when decompressor receives compressed value, then the region of search of decompressor use is [25,56] or binary format [011001,111000].Last LSB is that a unique value of 01011 is 101011 in the interval, just 43.
The another kind of method that decompressor is selected the k value be select LSB be 01011 from 40 nearest values.Several 40 binary format is 101000.Last LSB be 01011 be 01011 from 101000 nearest values, just 43.No matter this explanation has anything to lose on compressor reducer-decompressor link, the LSB bit that VLE can both determine to provide the minimum of correct decompressed or reduce quantity.
Fig. 5 and 6 explanations will be carried out selecting of k, so as the currency of being encoded by VLE be have in the middle of the value of identical LSB and in window maximum or minimum value nearest.Fig. 5 illustrates that Fig. 6 illustrates the situation of v less than v_min to v greater than the situation of v_max.
In the grouping that sends RTP timestamp or IP-ID territory, the identical transmission packet window that is used for the SN coding is to these territory codings.Therefore, decompressor not oppositely/feedback channel on these territories of loopback so that to its affirmation.Window can also regard as window vector (SN, TS, IP-ID).Can confirm given vector by only returning the SN territory.
Embodiment is based on confirming that structure comes the Executive Head compression so that send these territories when SN, TS and IP-ID will send.Other coding can be used for TS and IP-ID.This stature compression scheme is summarized as follows.
Utilize and confirm to be transformed into FO and SO state
When new session began, compressor reducer was worked under the FH state up to receive the confirmation (ACK) from decompressor, and indication has received at least one FH grouping.Decompressor is responsible for confirming once receiving the FH grouping, so compressor reducer can be from the FH state exchange to the FO state.Affirmation can comprise compression currency or the unpressed currency that is decompressed by decompressor.Any one allows compressor reducer renewal compressive state and starts abandoning of old value in two values.
At the FO state, compressor reducer sends the FO grouping (not necessary to each FO grouping) of FO grouping and potential solution compressor reducer affirmation reception.If compressor reducer is determined (based on ACK) decompressor and set up FOD, and this FOD is identical with the FOD between the head of a front and a last transmission that is sending, then compressor reducer enters the SO state and begins to send the SO grouping.
Owing to reason discussed above, compressor reducer need be return the FO state from the SO state.But, unless compressor reducer is never changed back the FH state some anomalous event takes place, as losing its context because of the system crash decompressor.No matter when compressor reducer is in the FO state, and it all attempts to enter the SO state as mentioned above.
Suitable packet type is disclosed in " Method andSystem for Transmitting and Receiving Packets (being used to send and receive the method and system of grouping) " patent application serial number 09/536,639 by name of submitting on March 28th, 2000.
Two variablees of VLE are described below, are called fixed length coding (FLE) and monolateral Variable Length Code (OVLE).
Fixed length coding (FLE)
If the scope that known for sure r=(v_max-v_min), then can use the fixed length coding from being no more than the upper bound.Each value adopts the equal number bits of encoded, and it is to cover the minimum number bit that this scope needs.Because being a known constant, hypothesis length therefore do not need to send in this case.
Monolateral Variable Length Code (OVLE)
Previously described VLE based on reference value v_ref and return the region of search] v_ref-2 K-1, v_ref+2 K-1] a function being complementary of bit number k.Because it can adapt to any change (just, negative) that is worth another value from, so very general and flexible.But this interval is not the most effective when being used for dull territory.In fact, decompressor is only in subclass] v_ref, v_ref+2 K-1] the middle decompressed value that obtains.
Under the situation of RTP head compression, these territories arrive compressor reducer with the order that increases usually.But, because may cause confusion or under the situation of timestamp, encoder may send the frame of coding not according to the order of sampling, so the exception of having from the upstream of compressor reducer.In order to raise the efficiency, utilize and return not in the middle of v_ref, as] v_ref-2 K-2, v_ref+3*2 K-2] the function of the region of search be valuable.
When VLE is used for part as a self adaptation compression applications, may use the interval] v_ref, v_ref+2 k], it is the most effective for given k.This is called monolateral Variable Length Code (OVLE).As long as the compressor reducer value of entering is increasing, OVLE is used for the SO grouping to VLE with regard to being used for the FO grouping.Under the situation that grouping causes confusion before arriving compressor reducer, compressor reducer always will divide into groups packed compressed as FO.Alternatively, even confusion takes place, grouping also can be resequenced and/or abandon to compressor reducer so that rest on the SO state.
Be used for the Variable Length Code (VLE) of packed data and the optimum of monolateral VLE (OVLE) and confirm algorithm
For improving overall compression efficiency, wish that decompressor sends to the size maintenance minimum of the affirmation of compressor reducer.Here in the algorithm of Tao Luning, decompressor only need in affirmation, send with the bit of its equal number that in compressed message, receives (or 2 bits the most the more, as described later).
As in VLE and OVLE, describing, the sliding window of compressor reducer retention value VSW and after sending to decompressor, the value of each original, uncompressed being stored among the VSW.
VSW:v 1 , v 2 , v 3 ..., v i ... v n Attention: v 1 Be the oldest value, and v n Be New value.
Example 1: single coding method
Suppose only to use that a coding method (VLE or OVLE) and compressor reducer and decompressor all know use which is.When decompressor successfully receives a compressed value and decision when it is confirmed, it copies the compressed value of reception in the affirmation and with it to simply and sends it back compressor reducer.
When compressor reducer received the confirmation message, it was confirmed by three following step process:
1) use (the oldest value) among the VSW compressed value in confirming to be decompressed as the reference value and in accordance with the rule identical with decompressor.The value that decompresses is designated v_acked.
2) v_acked that occurs for for the first time (the oldest) from the beginning (the oldest) to tail (up-to-date) search VSW.
3) deletion all values of (older) before v_acked than v_acked.
Can see that above-mentioned algorithm comes work by the following properties that keeps VSW:
If utilize the k bit to send v among the HSW by compressor reducer i, then can utilize identical k bit decompression and utilize any v j(j≤i)) as the reference value.
Especially, v iCan come any value among the VSW is decompressed as reference value.Always confirm that with affirmation a value among the VSW combines, can infer that the v_acked that obtains from step 1) is the real correct original value that triggers acknowledge message.
Example 2: odd encoder method
In this case, decompressor dynamically switches coding method between VLE and OVLE.It only needs to change a little aforementioned algorithm just can handle this situation.Basically, in each acknowledge message, decompressor must increase a mark and use which kind of coding method to compress the reception value with indication.Therefore, when compressor reducer received the confirmation message, it can select correct decompression method based on the coded markings in confirming.As long as keep the attribute of VSW, the algorithm that changes based on the reasoning identical with a last joint is exactly correct.
When VLE and/or OVLE are applied to the head compression, because decompressor can impliedly obtain this information based on head type and other configuration information, so the compressing head that sends to decompressor from compressor reducer, do not need to carry clearly coded markings.But,, must in acknowledge message, carry this mark clearly in opposite direction.In the worst case, need 2 bits to distinguish three kinds of possibility: VLE, positive side (plus-sided) OVLE, minus side (mius-sided) OVLE.If the side information of OVLE is predefined, then coded markings can reduce to 1 bit.
Repetition values among the VSW
Above being arranged, a kind of special situation also do not discuss.The value of identical in the compressor reducer sliding window (original, uncompressed) may occur more than once.Need consider this point for following two reasons: 1) in theory, algorithm should be general and all effective to any sequential value; 2) in fact, the RTP timestamp of some video code has this behavior really.
Problem is that though the value v_acked that calculates remains correct, compressor reducer can not determine that in fact which v_acked that occurs among the VSW has triggered ACK (if having found a plurality of appearance).
But, should be pointed out that because compressor reducer is always selected the v_acked of first (the oldest) appearance among the VSW, so algorithm is effective.Triggered affirmation if not correct example, then unique side effect is that the value of deleting from VSW is than lacking of should deleting.As a result, can use than the bit that manys of needs new value coding after this arriving.
If repetition values seldom occurs, then confirm that one arrives because confirm another (clearly) that a value only occurs once in VSW, it is not best state that compressor reducer just leaves it, so do not need above-mentioned algorithm is made any modification.
If think that repetition values often takes place, then can increase extraneous information to remove the ambiguity of confirming.An example is to generate number (GN) with one to distribute to each compressed value and require decompressor that GN is placed in the affirmation.
Though described the present invention, should be appreciated that under the situation that does not deviate from its spirit and scope and can make many modifications with reference to preferred embodiment.Mean in the scope that all such modifications drop on claims.

Claims (32)

1. the bit that currency is compressed to minimum number is used for sending to from compressor reducer the method for decompressor, comprising:
Keep a series of at least one preceding value on compressor reducer, each preceding value has a different k least significant bit and has sent to decompressor;
Determine the k value of expression minimum number bit, it allows to utilize any value in described a series of at least one preceding value currency successfully to be decompressed on decompressor as the reference value; And
Currency is sent to decompressor with k least significant bit of currency from compressor reducer with compressed format; Wherein
By with currency and at least one preceding value relatively determining the maximum difference r between currency and at least one preceding value, and select the k conduct greater than log 2 (r)+ 1 smallest positive integral is determined the k value.
2. according to the process of claim 1 wherein:
Decompressor sends at least one to compressor reducer to be confirmed, its indication decompressor value is decompressed and compressor reducer upgrades described a series of at least one preceding value so that abandon at least one older preceding value.
3. according to the method for claim 1, also comprise:
On decompressor, utilize the reference value of the final value of described a series of at least one preceding value that currency is decompressed, make this currency decompressed for having a value of k the least significant bit identical with k least significant bit of the currency of the most approaching described reference value that receives.
4. according to the method for claim 3, also comprise:
On decompressor, use a region of search, its comprise scope from less than, equal reference value to value greater than reference value; And
Select to have the value of an identical k least significant bit from the value that is arranged in the region of search.
5. according to the process of claim 1 wherein:
By with reference value v_ref with bit number k is mapped to described a series of at least one preceding value and currency generates the k value; And
Upgrade described a series of at least one preceding value so that will be identified the oldest the oldest value of transmission value conduct that decompresses by decompressor.
6. according to the process of claim 1 wherein:
The k value is the function of reference value and bit number k.
7. according to the method for claim 6, wherein:
Described function is] v_ref-2 K-1, v_ref+2 K-1].
8. according to the method for claim 6, wherein:
Described function is] v_ref, v_ref+2 k].
9. according to the method for claim 2, wherein:
Described at least one be confirmed to be the not compressed value that receives.
10. according to the method for claim 2, wherein:
Described at least one be confirmed to be the compressed value that receives.
11. according to the method for claim 10, wherein:
Described at least one be confirmed to be the compressed value that receives that is included in the information of using in the part compressed value coding.
12. according to the process of claim 1 wherein:
Described at least one affirmation comprises a value the oldest in described a series of preceding value.
13. according to the process of claim 1 wherein:
Upgrade described a series of at least one preceding value so that abandon older preceding value based on the maximum number that during the transmission of sequential value between compressor reducer and the decompressor, can lose the estimation of value.
14. according to the method for claim 3, wherein:
The described currency that has compressed will be to the k value coding that sends with currency.
15. according to the method for claim 14, wherein:
Described coding is Huffman encoding.
16. according to the process of claim 1 wherein:
Described value comprises the real-time protocol (RTP) head.
17. according to the method for claim 2, wherein:
Described at least one be confirmed to be the affirmation of representing the real-time protocol (RTP) sequence number head of the affirmation of timestamp and Internet protocol-sign in the real-time protocol (RTP) head.
18. a system that is used for currency is compressed into the bit of minimum number comprises:
Keep the compressor reducer of a series of at least one preceding value, each preceding value has a different k least significant bit;
Reception is from the decompressor of the currency of k minimum least significant bit of being compressed to of compressor reducer; And wherein
Compressor reducer determines to represent the k value of the minimum number of bit, and it allows to utilize in described a series of at least one preceding value any one on decompressor currency successfully to be decompressed as a reference; Wherein
By currency being compared with at least one preceding value, select greater than log simultaneously to determine the maximum difference r between currency and at least one preceding value 2 (r)+ 1 smallest positive integral is determined the k value as k.
19. according to the system of claim 18, wherein:
Decompressor sends at least one to compressor reducer confirms that the indication decompressor value is decompressed and compressor reducer upgrades described a series of at least one preceding value to abandon older preceding value.
20. according to the system of claim 18, wherein:
Decompressor utilizes the reference value of last value of described a series of at least one preceding value, the currency that decompresses on decompressor makes this currency decompressed for having the value of k the least significant bit identical with k least significant bit of the currency of the most approaching described reference value that receives.
21. the system according to claim 20 also comprises:
Decompressor use a scope comprise from less than, equal reference value to the region of search greater than the value of reference value; And select to have the value of an identical k least significant bit the value in the region of search.
22. according to the system of claim 18, wherein:
Compressor reducer is by with reference value v_ref with bit number k is mapped to described a series of at least one preceding value and currency generates the k value; And upgrade described a series of at least one preceding value so that will be identified the oldest the oldest value of transmission value conduct that decompresses by decompressor.
23. according to the system of claim 18, wherein:
The k value is the function of a reference value and bit number k; And
Described function is] v_ref-2 K-1, v_ref+2 K-1].
24. according to the system of claim 18, wherein:
The k value is the function of a reference value and bit number k; And
Described function is] v_ref, v_ref+2 k].
25. according to the system of claim 19, wherein:
Described at least one be confirmed to be the not compressed value that receives.
26. according to the system of claim 19, wherein:
Described at least one be confirmed to be the compressed value that receives.
27. according to the system of claim 26, wherein:
Described at least one be confirmed to be the compressed value that receives.
28. according to the system of claim 18, wherein:
Upgrade described a series of at least one preceding value so that abandon at least one older preceding value by compressor reducer based on the maximum number that during the transmission of sequential value between compressor reducer and the decompressor, can lose the estimation of value.
29. according to the system of claim 18, wherein:
The described currency that has compressed will be to the several k codings that send with currency.
30. according to the system of claim 18, wherein:
Described value comprises the real-time protocol (RTP) head.
31. according to the system of claim 19, wherein:
Described at least one be confirmed to be the affirmation of representing the real-time protocol (RTP) sequence number head of the affirmation of timestamp and Internet protocol-sign in the real-time protocol (RTP) head.
32. one kind is compressed to the method that the bit that reduces quantity is used for sending to from compressor reducer decompressor with currency, comprising:
Keep a series of at least one preceding value on compressor reducer, each preceding value has a different k least significant bit and has sent to decompressor;
The k value of the bit number that definite expression reduces, it allows to utilize any value in described a series of preceding value currency successfully to be decompressed on decompressor as the reference value; And
Currency is sent to decompressor with k least significant bit of currency from compressor reducer with compressed format; Wherein
By with currency and at least one preceding value relatively determining the maximum difference r between currency and at least one preceding value, and select the k conduct greater than log 2 (r)+ 1 smallest positive integral is determined the k value.
CNB00815502XA 1999-11-09 2000-11-02 Variable length encoding of compressed data Expired - Lifetime CN1174554C (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16433099P 1999-11-09 1999-11-09
US60/164,330 1999-11-09

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CNB2004100789822A Division CN100492915C (en) 1999-11-09 2000-11-02 Variable length encoding of compressed data

Publications (2)

Publication Number Publication Date
CN1390390A CN1390390A (en) 2003-01-08
CN1174554C true CN1174554C (en) 2004-11-03

Family

ID=22594003

Family Applications (2)

Application Number Title Priority Date Filing Date
CNB00815502XA Expired - Lifetime CN1174554C (en) 1999-11-09 2000-11-02 Variable length encoding of compressed data
CNB2004100789822A Expired - Lifetime CN100492915C (en) 1999-11-09 2000-11-02 Variable length encoding of compressed data

Family Applications After (1)

Application Number Title Priority Date Filing Date
CNB2004100789822A Expired - Lifetime CN100492915C (en) 1999-11-09 2000-11-02 Variable length encoding of compressed data

Country Status (2)

Country Link
JP (2) JP2004500753A (en)
CN (2) CN1174554C (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8537741B2 (en) * 2006-01-13 2013-09-17 Alcatel Lucent Method of header compression over channels with out-of-order delivery
JP4486948B2 (en) * 2006-08-30 2010-06-23 京セラ株式会社 COMMUNICATION SYSTEM, COMMUNICATION DEVICE, AND COMMUNICATION METHOD
US8015467B2 (en) 2006-08-30 2011-09-06 Kyocera Corporation Communication system, communication apparatus and communication method
CN101453298B (en) * 2007-12-07 2013-06-05 华为技术有限公司 Processing method, system and apparatus for header compression in wireless network
US9204287B2 (en) * 2012-05-15 2015-12-01 Futurewei Technologies, Inc. System and method for reducing signaling overhead

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05191454A (en) * 1992-01-16 1993-07-30 Nec Corp Data transfer system
JPH06204891A (en) * 1993-01-05 1994-07-22 Fujitsu Ltd Data compression method
JP3339335B2 (en) * 1996-12-12 2002-10-28 ヤマハ株式会社 Compression encoding / decoding method
JP3634934B2 (en) * 1997-02-12 2005-03-30 新日本無線株式会社 Modulation circuit, demodulation circuit, and modulation / demodulation system
JPH1188464A (en) * 1997-09-04 1999-03-30 Fujitsu Ltd Data transfer device and data transfer method

Also Published As

Publication number Publication date
CN1607732A (en) 2005-04-20
JP2011229161A (en) 2011-11-10
CN1390390A (en) 2003-01-08
JP2004500753A (en) 2004-01-08
CN100492915C (en) 2009-05-27
JP5066276B2 (en) 2012-11-07

Similar Documents

Publication Publication Date Title
CN1123981C (en) Picture coder
KR100458878B1 (en) Method for transmitting and receiving a variable size packet based on foward error correction coding
US7095729B2 (en) Method for multimedia communication over packet channels
US6728924B1 (en) Packet loss control method for real-time multimedia communications
US6782047B1 (en) Variable length encoding of compressed data
AU2001277483B2 (en) Header compression method for network protocols
CN1593051A (en) Extension header compression
JP2005515697A (en) Uneven error protection using forward error correction based on Reed-Solomon code
KR102002939B1 (en) On-demand file recovery methods and systems
CN1174554C (en) Variable length encoding of compressed data
CN1357189A (en) Robust delta encoding with history information
Kozintsev et al. Image transmission using arithmetic coding based continuous error detection
CN1748369A (en) Method and device for text data compression
CN1863311A (en) Method of transmitting video data
JP2004500753A5 (en)
JP5567155B2 (en) Method and apparatus for improved multimedia decoder
EP1670143B1 (en) Variable length encoding of compressed data
CA2388006C (en) Variable length encoding of compressed data
EP1228570B1 (en) Variable length encoding of compressed data
CN1301013C (en) Method for transmitting image or video data encoded using variable length codes and corresponding transmitter
Grangetto et al. Error correction by means of arithmetic codes: an application to resilient image transmission
Manji et al. Bandwidth efficient and error resilient image coding for Rayleigh fading channels
KR100934650B1 (en) Packet transmission / reception method in hybrid automatic retransmission request system
Bretagne et al. Chase-Like Decoding

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: NOKIA OY

Free format text: FORMER OWNER: NOKIA OY; K. LE

Effective date: 20060428

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20060428

Address after: Espoo, Finland

Patentee after: Nokia Oyj

Address before: Espoo, Finland

Co-patentee before: Khiem Le

Patentee before: Nokia Oyj

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20160121

Address after: Espoo, Finland

Patentee after: Technology Co., Ltd. of Nokia

Address before: Espoo, Finland

Patentee before: Nokia Oyj

CX01 Expiry of patent term

Granted publication date: 20041103

CX01 Expiry of patent term