Summary of the invention
The embodiment of the present invention provides a kind of processing method and device of data encoding, for the processing procedure of optimization data coding, to improve the performance of communication system.
First aspect, the embodiment of the present invention provides a kind of processing method of data encoding, comprising:
The feedback information sending for present encoding data according to decoding end, obtains current accumulation value of feedback; Described feedback information is used for representing that whether described decoding end is successfully decoded for described present encoding data;
According to described current accumulation value of feedback and the encoding block length of coded data first, determine the encoding block length of next coded data;
According to the encoding block length of described next coded data, data to be encoded are carried out to the first coding, obtain described next coded data, and send described next coded data to described decoding end.
In conjunction with first aspect, in the first embodiment, the described feedback information sending for present encoding data according to decoding end, obtains current accumulation value of feedback, comprising:
According to a upper feedback information that accumulation value of feedback and described decoding end send for present encoding data, determine described current accumulation value of feedback.
In conjunction with first aspect the first execution mode, in the second execution mode, described according to described current accumulation value of feedback and the encoding block length of coded data first, determine the encoding block length of next coded data, comprising:
According to the encoding block length of described current accumulation value of feedback, described coded data first, the default error rate and default coefficient, determine the encoding block length of described next coded data.
In conjunction with first aspect the second execution mode, in the 3rd execution mode, describedly according to a upper feedback information that accumulation value of feedback and described decoding end send for present encoding data, determine described current accumulation value of feedback, comprising:
The feedback information sending for present encoding data when described decoding end is negative response, according to flag
n=flag
n-1+ 1 determines described current accumulation value of feedback;
The feedback information sending for present encoding data when described decoding end is affirmative acknowledgement, according to flag
n=flag
n-1-1 determines described current accumulation value of feedback; Wherein, flag
nfor current accumulation value of feedback, flag
n-1for a upper accumulation value of feedback, n is greater than 1 positive integer.
In first aspect the 3rd execution mode, in the 4th execution mode, described according to the encoding block length of described current accumulation value of feedback, described coded data first, the default error rate and default coefficient, determine the encoding block length of described next coded data, comprising:
Work as flag
nbe greater than at 0 o'clock, according to l
n+1=l
1+ k * [flag
n* (1-PER)] determine the encoding block length of described next coded data;
Work as flag
nbe less than at 0 o'clock, according to l
n+1=l
1+ k * [flag
n* PER] determine the encoding block length of described next coded data; Wherein, l
n+1for the encoding block length of described next coded data, l
1for the encoding block length of described coded data first, PER is the default error rate, and k is default coefficient.
In conjunction with first aspect the 4th execution mode, in the 5th execution mode, the described next coded data of described transmission, to described decoding end, comprising:
Described next coded data is carried out to the second coding, obtain the next coded data after the second coding;
Next coded data after described the second coding is sent to described decoding end.
In conjunction with first aspect, to any execution mode in first aspect the 5th execution mode, in the 6th execution mode, described data to be encoded are to have carried out the data that front end coding is processed, and described data to be encoded include effective information and CRC information.
Second aspect, the embodiment of the present invention provides a kind of processing unit of data encoding, comprising:
Acquisition module, for the feedback information sending for present encoding data according to decoding end, obtains current accumulation value of feedback; Described feedback information is used for representing that whether described decoding end is successfully decoded for described present encoding data;
Determination module, for according to described current accumulation value of feedback and the encoding block length of coded data first, determines the encoding block length of next coded data;
Processing module, carries out the first coding for the encoding block length according to described next coded data to data to be encoded, obtains described next coded data, and sends described next coded data to described decoding end.
In conjunction with second aspect, in the first embodiment, described acquisition module specifically for
According to a upper feedback information that accumulation value of feedback and described decoding end send for present encoding data, determine described current accumulation value of feedback.
In conjunction with second aspect the first execution mode, in the second execution mode, described determination module specifically for
According to the encoding block length of described current accumulation value of feedback, described coded data first, the default error rate and default coefficient, determine the encoding block length of described next coded data.
In conjunction with second aspect the second execution mode, in the 3rd execution mode, described acquisition module specifically for
The feedback information sending for present encoding data when described decoding end is negative response, according to flag
n=flag
n-1+ 1 determines described current accumulation value of feedback;
The feedback information sending for present encoding data when described decoding end is affirmative acknowledgement, according to flag
n=flag
n-1-1 determines described current accumulation value of feedback; Wherein, flag
nfor current accumulation value of feedback, flag
n-1for a upper accumulation value of feedback, n is greater than 1 positive integer.
In second aspect the 3rd execution mode, in the 4th execution mode, described determination module specifically for
Work as flag
nbe greater than at 0 o'clock, according to l
n+1=l
1+ k * [flag
n* (1-PER)] determine the encoding block length of described next coded data;
Work as flag
nbe less than at 0 o'clock, according to l
n+1=l
1+ k * [flag
n* PER] determine the encoding block length of described next coded data; Wherein, l
n+1for the encoding block length of described next coded data, l
1for the encoding block length of described coded data first, PER is the default error rate, and k is default coefficient.
In conjunction with second aspect the 4th execution mode, in the 5th execution mode, described processing module also for
Described next coded data is carried out to the second coding, obtain the next coded data after the second coding;
Next coded data after described the second coding is sent to described decoding end.
In conjunction with second aspect, to any execution mode in first aspect the 5th execution mode, in the 6th execution mode, described data to be encoded are to have carried out the data that front end coding is processed, and described data to be encoded include effective information and CRC information.
The processing method of the data encoding that the embodiment of the present invention provides and device, by the feedback information sending for present encoding data according to decoding end, the encoding block length of the next coded data of adaptive adjustment, the encoding block length of coded data is mated with current channel circumstance, make the redundancy of encoding block length of coded data less, effectively guaranteed again the reliability of transfer of data, promoted the performance of communication system simultaneously.
Embodiment
For making object, technical scheme and the advantage of the embodiment of the present invention clearer, below in conjunction with the accompanying drawing in the embodiment of the present invention, technical scheme in the embodiment of the present invention is clearly and completely described, obviously, described embodiment is the present invention's part embodiment, rather than whole embodiment.Embodiment based in the present invention, those of ordinary skills, not making the every other embodiment obtaining under creative work prerequisite, belong to the scope of protection of the invention.
Fig. 1 is the flow chart of the processing method embodiment mono-of data encoding of the present invention.As shown in Figure 1, the processing unit that the executive agent of carrying out the present embodiment is data encoding, this processing unit can adopt the form of software and/or hardware to realize, and preferred, this processing unit can be arranged in coding side, to carry out following each step:
S101, the feedback information sending for present encoding data according to decoding end, obtain current accumulation value of feedback.
Communication system is when transmission information, normally information is divided into a plurality of information frames, and encode and obtain coded data corresponding to each information frame carrying the data of effective information in each information frame, through communication system, transfer to decoding end, decoding end carries out decoding to obtain effective information to coded data subsequently, completes the transmission of information.And being processing unit of being integrated in the data encoding of coding side, present encoding data in above-mentioned S101 an information frame in a plurality of information frames is encoded and the coded data that obtains, this coded data is as present encoding data, by channel, be sent to decoding end, decoding end carries out decoding for this current coded data subsequently; Because channel circumstance is complicated and changeable, present encoding data are interfered and occur error code in transmitting procedure, cause the decoding end not necessarily can decoding success, therefore decoding end can send feedback information to coding side according to decode results, this feedback information is used for representing that whether decoding end is successfully decoded for present encoding data, so that coding side self adaptation is adjusted the encoding block length of next coded data, avoid next coded data to be subject to the interference of channel circumstance, cause that the unsuccessful grade of decoding is unfavorable for the situation of communication.
Wherein, current accumulation value of feedback is that the feedback information sending for present encoding data according to upper accumulation value of feedback and a decoding end is determined, understandable, before coded data 2 is sent to decoding end, coded data 1 has been sent to decoding end, and decoding end has sent feedback information for this coded data 1; , before sending coded data 2, above-mentioned coded data 1 is described present encoding data; After coded data 2 sends decoding end, and before coded data 3 is not sent to decoding end, coded data 2 is present encoding data, and the coded data 3 sending after coded data 2 is next coded data; Accordingly, when coded data 2 is during as present encoding data, the accumulation value of feedback that the feedback information that coding side sends for coded data 1 according to decoding end obtains is a described upper accumulation value of feedback.
S102, according to current accumulation value of feedback and the encoding block length of coded data first, determine the encoding block length of next coded data.
When above-mentioned feedback information informs that coding side is successfully decoded, illustrate that current channel circumstance is better, do not need long encoding block length coding, should reduce the encoding block length of next coded data, the redundancy of code length of avoiding encoding is excessive, occurs unnecessary transmission resource waste; When above-mentioned feedback information informs that coding side decoding is unsuccessful, illustrate that current channel circumstance is poor, the error rate of coded data in transmitting procedure increased, affect the decoding of decoding end, should increase the encoding block length of next coded data, to improve the reliability of transfer of data.
When determining the encoding block length of next coded data, because current accumulation value of feedback is that the feedback information first being obtained by the coded data first sending for the first time starts, and determine to a plurality of feedback informations of current time, the difference of the channel circumstance in the time of can knowing current channel circumstance and send coded data first according to current accumulation value of feedback, thereby in conjunction with the encoding block length of coded data first, can determine the rational encoding block length of next coded data.
S103, according to the encoding block length of next coded data, data to be encoded are carried out to the first coding, obtain next coded data, and send next coded data to decoding end.
By the encoding block length of next coded data definite in S102, data to be encoded are carried out to the first coding, wherein the first coding is specifically as follows and adopts fountain codes to encode to data to be encoded, and these data to be encoded are the effective information that system need to be transmitted.
In the present embodiment, by the feedback information sending for present encoding data according to decoding end, the encoding block length of the next coded data of adaptive adjustment, the encoding block length of coded data is mated with current channel circumstance, make the redundancy of encoding block length of coded data less, effectively guaranteed again the reliability of transfer of data simultaneously.
Fig. 2 is the flow chart of the processing method embodiment bis-of data encoding of the present invention.As shown in Figure 2, the present embodiment is that this code processing method is described in further detail on the basis of the embodiment shown in Fig. 1, and concrete, this processing method comprises:
The feedback information that S201, reception decoding end send for present encoding data.
S202, the feedback information sending for present encoding data according to decoding end, obtain current accumulation value of feedback.
Concrete, to send for present encoding data according to a upper accumulation value of feedback and decoding end feedback information, determines current accumulation value of feedback.
Specifically, at current time, coding side has sent coded data 2 to decoding end, and receive by S201 the feedback information that decoding end sends for coded data 2, but in the previous moment, be that coding side is before acquisition coded data 2 that data to be encoded are encoded, coding side has sent coded data 1 to decoding end, and receive the feedback information that decoding end sends for coded data 1, the feedback information sending for coded data 1 according to decoding end in the previous moment has been determined accumulation value of feedback, at current time, this accumulation value of feedback is as a described upper accumulation value of feedback, and the feedback information sending for coded data 2 in conjunction with decoding end, determine the described current accumulation value of feedback under current time, for example, the feedback information sending for present encoding data when decoding end is negative response, according to flag
n=flag
n-1+ 1 determines current accumulation value of feedback,
The feedback information sending for present encoding data when decoding end is affirmative acknowledgement, according to flag
n=flag
n-1-1 determines current accumulation value of feedback; Wherein, flag
nfor current accumulation value of feedback, flag
n-1for a upper accumulation value of feedback, n is greater than 1 positive integer.
S203, according to current accumulation value of feedback, the encoding block length, the default error rate and default coefficient of coded data first, determine the encoding block length of next coded data.
Above-mentioned feedback information has fed back the whether successfully decoded of decoding end, but the success or not of decoding has also embodied the impact good and bad and that coded data is disturbed of current channel circumstance, therefore, coding side needs the encoding block length of real-time adjustment coded data, the redundancy of code length of avoiding encoding is excessive, there is unnecessary transmission resource waste, and guarantee the reliability of transfer of data.
In order to guarantee the reliability of transfer of data, most important, to guarantee that the error rate of coded data in transmitting procedure be not higher than the default error rate, therefore when determining the encoding block length of next coded data, need to introduce the default error rate, as the parameter of determining the encoding block length of next coded data.
Concrete, the current accumulation value of feedback of determining according to S202, works as flag
nbe greater than at 0 o'clock, according to l
n+1=l
1+ k * [flag
n* (1-PER)] determine the encoding block length of described next coded data; Work as flag
nbe less than at 0 o'clock, according to l
n+1=l
1+ k * [flag
n* PER] determine the encoding block length of described next coded data; Wherein, symbol in formula " [] " represents to round, l
n+1for the encoding block length of described next coded data, l
1for the encoding block length of described transfer encoding data first, PER is the default error rate, the smallest particles degree corresponding default coefficient of k for adjusting.In the present embodiment, when determining the encoding block length of next coded data, the difference of the channel circumstance in the time of can reflecting current channel circumstance and send coded data first due to current accumulation value of feedback, thereby the encoding block length of coded data first of take is reference, in conjunction with the default error rate and default coefficient adjustment encoding block length, can determine the rational encoding block length of next coded data.And take the encoding block length of coded data first as when adjusting encoding block length, owing to combining the corresponding default coefficient of smallest particles degree of the default error rate and adjustment, with less adjustment granularity, go to increase or reduce encoding block length, the current channel circumstance of coupling that can be good, can approach the limit of channel capacity.
It should be noted that, in the present embodiment when determining the encoding block length of next coded data, each computing formula adopting is only for giving an example, and because computing formula can be according to the needs of practical application, carry out various deformation,, and in actual applications, the computing formula adopting not take above-mentioned the separate equations as restriction therefore.
S204, according to the encoding block length of next coded data, data to be encoded are carried out to the first coding, obtain next coded data, and send this next one coded data to described decoding end.
In the present embodiment, by the feedback information sending for present encoding data according to decoding end, the encoding block length of the next coded data of adaptive adjustment, make the encoding block length coupling of coded data and current channel circumstance, make the redundancy of encoding block length of coded data less, effectively guaranteed again the reliability of transfer of data simultaneously.
Fig. 3 is the flow chart of code processing method embodiment tri-of the present invention.As shown in Figure 3, the present embodiment is the concrete application at the embodiment shown in the embodiment shown in Fig. 1 or Fig. 2, concrete, and this processing method comprises:
S301, effective information is carried out to front end coding process, obtain data to be encoded.
Above-mentioned front end coding is processed and is undertaken by coding side, and concrete can be undertaken by the processing unit of data encoding; Above-mentioned data to be encoded are after the first coding, be the following next coded data that needs transmission, these data to be encoded are to have carried out the data that front end coding is processed, data to be encoded include effective information and CRC (Cyclic Redundancy Check, cyclic redundancy check (CRC) code) information, concrete, above-mentioned front end coding is processed and is specifically comprised interpolation CRC check code, so that decoding end can determine whether successfully decoded according to this CRC check code.
The feedback information that S302, reception decoding end send for present encoding data.
It should be added that, when feedback information is negative response, illustrate that decoding end, to described present encoding data decoding failure, when coding side carries out following S303~S307, retransmits described present encoding data to decoding end again.In addition, S302 and S301 can occur simultaneously, also can first occur, after S302, S301 occurs again.
S303, the feedback information sending for present encoding data according to decoding end, obtain current accumulation value of feedback.
S304, according to current accumulation value of feedback, the encoding block length, the default error rate and default coefficient of coded data first, determine the encoding block length of next coded data.
S305, according to the encoding block length of described next coded data, data to be encoded are carried out to the first coding, obtain this next one coded data.
Above-mentioned S302 to S304 can it should be noted that with reference to aforementioned S201 to S203, and the coding of first in the present embodiment described in S305 specifically adopts fountain codes to encode to data to be encoded, but in actual applications, the first coding not take fountain codes as restriction.
S306, next coded data is carried out to the second coding, obtain the next coded data after the second coding.
In the present embodiment, the second coding is specially and adopts convolution code to encode, according to the next coded data that adopts fountain codes coding in S305, carry out convolution coding again, obtained convolution code code word, this convolution code code word is the next coded data after the second coding.But in actual applications, the second coding not take convolution coding as restriction.
S307, the next coded data after the second coding is sent to decoding end.
Concrete, according to the convolution code code word obtaining in S306 interweave, the back-end processing such as repetition, modulation and IFFT, and then send to decoding end by channel, as sent by NB-PLC channel; So far, coding side has completed the processing of coding.
Accordingly, decoding end carries out FFT, demodulation and interweaves and the processing such as repeat, and has obtained convolution code code code word; Decoding end carries out convolution code decoding to this convolution code code word subsequently, obtain fountain codes code word, carry out again fountain codes decoding, obtain decoding data, this decoding data be decoding end for the decode results of the data to be encoded in S301, decoding end judges whether successfully decoded according to decoding data CRC check code, if success, decoding end returns to ACK to coding side, if unsuccessful, returns to NACK; Coding side, according to ACK or NACK, moves S301~S307 again.
In the present embodiment, consider that channel arrowband disturbs and burst is comparatively serious, according to feedback information, adjust the encoding block length of next coded data, to mate current channel circumstance, make coded data realize decoding success with minimum redundancy, and, can also be by the coding cascade of fountain codes and convolution code, to increase the reliability of communication, thereby improved the performance of communication system.
Fig. 4 is the structure chart of the processing unit embodiment mono-of data encoding of the present invention.As shown in Figure 4, this processing unit comprises:
Acquisition module 41, for the feedback information sending for present encoding data according to decoding end, obtains current accumulation value of feedback; Described feedback information is used for representing that whether described decoding end is successfully decoded for described present encoding data;
Determination module 42, for according to described current accumulation value of feedback and the encoding block length of coded data first, determines the encoding block length of next coded data;
Processing module 43, carries out the first coding for the encoding block length according to described next coded data to data to be encoded, obtains described next coded data, and sends described next coded data to described decoding end.
In embodiment, by the feedback information sending for present encoding data according to decoding end, the encoding block length of the next coded data of adaptive adjustment, the encoding block length of coded data is mated with current channel circumstance, make the redundancy of encoding block length of coded data less, effectively guaranteed again the reliability of transfer of data simultaneously.
Wherein, acquisition module 41 specifically for
According to a upper feedback information that accumulation value of feedback and described decoding end send for present encoding data, determine described current accumulation value of feedback.
Further, above-mentioned determination module 42 specifically for
According to the encoding block length of described current accumulation value of feedback, described coded data first, the default error rate and default coefficient, determine the encoding block length of described next coded data.
Further, above-mentioned acquisition module 41 specifically for
The feedback information sending for present encoding data when described decoding end is negative response, according to flag
n=flag
n-1+ 1 determines described current accumulation value of feedback;
The feedback information sending for present encoding data when described decoding end is affirmative acknowledgement, according to flag
n=flag
n-1-1 determines described current accumulation value of feedback; Wherein, flag
nfor current accumulation value of feedback, flag
n-1for a upper accumulation value of feedback, n is greater than 1 positive integer.
Further, above-mentioned determination module 42 specifically for
Work as flag
nbe greater than at 0 o'clock, according to l
n+1=l
1+ k * [flag
n* (1-PER)] determine the encoding block length of described next coded data;
Work as flag
nbe less than at 0 o'clock, according to l
n+1=l
1+ k * [flag
n* PER] determine the encoding block length of described next coded data; Wherein, l
n+1for the encoding block length of described next coded data, l
1for the encoding block length of described coded data first, PER is the default error rate, and k is default coefficient.
Further, above-mentioned processing module 43 also for
Described next coded data is carried out to the second coding, obtain the next coded data after the second coding;
Next coded data after described the second coding is sent to described decoding end.
Wherein, described data to be encoded are to have carried out the data that front end coding is processed, and described data to be encoded include effective information and CRC information.
It should be noted that, corresponding each step carried out in above-mentioned each embodiment of the method for above-mentioned modules, does not repeat them here.
Fig. 5 is the structure chart of the processing unit embodiment bis-of data encoding of the present invention.As shown in Figure 5, this processing unit comprises: receiver 51, processor 52 and transmitter 53;
Processor 52 triggers receiver 51, makes receiver 51 receive the feedback information that decoding end sends, and the feedback information that processor 52 sends for present encoding data according to decoding end, obtains current accumulation value of feedback; Described feedback information is used for representing that whether described decoding end is successfully decoded for described present encoding data;
Described processor 52, for according to described current accumulation value of feedback and the encoding block length of coded data first, is determined the encoding block length of next coded data;
Described processor 52 carries out the first coding for the encoding block length according to described next coded data to data to be encoded, obtains described next coded data, and triggers the described next coded data of transmitter 53 transmission to described decoding end.
Further, described processor 52, specifically for according to a upper feedback information that accumulation value of feedback and described decoding end send for present encoding data, is determined described current accumulation value of feedback.
Further, described processor 52, specifically for according to the encoding block length of described current accumulation value of feedback, described coded data first, the default error rate and default coefficient, is determined the encoding block length of described next coded data.
Further, processor 52 specifically for
The feedback information sending for present encoding data when described decoding end is negative response, according to flag
n=flag
n-1+ 1 determines described current accumulation value of feedback;
The feedback information sending for present encoding data when described decoding end is affirmative acknowledgement, according to flag
n=flag
n-1-1 determines described current accumulation value of feedback; Wherein, flag
nfor current accumulation value of feedback, flag
n-1for a upper accumulation value of feedback, n is greater than 1 positive integer.
Further, processor is specifically for working as flag
nbe greater than at 0 o'clock, according to l
n+1=l
1+ k * [flag
n* (1-PER)] determine the encoding block length of described next coded data;
Work as flag
nbe less than at 0 o'clock, according to l
n+1=l
1+ k * [flag
n* PER] determine the encoding block length of described next coded data; Wherein, l
n+1for the encoding block length of described next coded data, l
1for the encoding block length of described coded data first, PER is the default error rate, and k is default coefficient.
Described processor 52, also for described next coded data is carried out to the second coding, obtains the next coded data after the second coding;
Described processor 52 triggers transmitter 53, makes transmitter 53 that the next coded data after described the second coding is sent to described decoding end.
Wherein said data to be encoded are to have carried out the data that front end coding is processed, and described data to be encoded include effective information and CRC information.
It should be noted that, corresponding aforementioned each embodiment of the method for the present embodiment, specifically repeats no more.
In the present embodiment, by the feedback information sending for present encoding data according to decoding end, the encoding block length of the next coded data of adaptive adjustment, make the encoding block length coupling of coded data and current channel circumstance, make the redundancy of encoding block length of coded data less, effectively guaranteed again the reliability of transfer of data simultaneously.
One of ordinary skill in the art will appreciate that: all or part of step that realizes above-mentioned each embodiment of the method can complete by the relevant hardware of program command.Aforesaid program can be stored in a computer read/write memory medium.This program, when carrying out, is carried out the step that comprises above-mentioned each embodiment of the method; And aforesaid storage medium comprises: various media that can be program code stored such as ROM, RAM, magnetic disc or CDs.
Finally it should be noted that: each embodiment, only in order to technical scheme of the present invention to be described, is not intended to limit above; Although the present invention is had been described in detail with reference to aforementioned each embodiment, those of ordinary skill in the art is to be understood that: its technical scheme that still can record aforementioned each embodiment is modified, or some or all of technical characterictic is wherein equal to replacement; And these modifications or replacement do not make the essence of appropriate technical solution depart from the scope of various embodiments of the present invention technical scheme.