Frequential-based data modifying method and device
The invention relates to a method of modifying data in an encoded data signal 128 corresponding to successive pictures divided into sub-pictures, for providing an output modified data signal 129. In particular, this invention can be used for the insertion of an additional data signal 130 into a compressed video data signal 128. The proposed arrangements/diagrams according to the invention are based on a transcoder arrangement including at least partial decoding means and partial re-encoding means. This method leads to a cost-effective solution compared with the prior art comprising a minimum number of functional DCT/IDCT sub-steps, taking advantage of simplifications and combinations between different sub-steps.
The present invention relates to a method of modifying data in an encoded data signal, comprising at least:
-
- a decoding step for decoding said encoded data signal and providing a decoded data signal,
- a re-encoding step performed on a modified data signal.
The invention also relates to video processing devices for carrying out said method. This invention may be used, for instance, when a broadcaster wants to introduce additional data into a sequence of coded pictures. This invention finds applications not just in the field of MPEG-2 compression, but more generally in any digital video data compression system.
BACKGROUND OF THE INVENTION Modifying data in an encoded data signal has become a vital function in studio editing environments. A possible solution has been proposed in the international patent application WO 99/51033 (PHF98546). This patent application describes a method and its corresponding device for modifying data in an encoded data signal. This method allows an additional data signal insertion, e.g. a logo insertion, in an MPEG-2 bitstream by means of bit rate transcoding. Logo insertion comes as an extension of the bit rate transcoder. The corresponding diagram, depicted in
-
- a partial decoding branch 119 for receiving the input signal 128 and providing a decoded data signal Error_I′(n), also called error residue. This branch comprises in series a variable length decoding 107, an inverse quantization 108 providing a decoded data signal Error_I′(n) in the frequential domain, and an inverse discrete cosine transform (IDCT) 109 for providing a decoded data signal Error_I′(n) in the pixel domain.
- a re-encoding branch 121 for providing an output signal 129 and generating a coding error. Said re-encoding branch, acting on the modified data signal A′(n) for providing said output signal 129, comprises in series a discrete cosine transform (DCT) 110, a quantization 111, a variable length coding 112 followed by a buffer 113, and regulation means 114 ensuring a constant picture quality of the output signal 129. A local decoding is also performed inside said re-encoding branch. It comprises in series an inverse quantization 115 followed by an inverse discrete cosine transform 116. A subtracting sub-step is performed for providing said coding error resulting from the difference between the output signal of said sub-step 116 and said signal A′(n).
- an intermediate branch 120 comprising a motion compensation 105 using motion vectors V(n) of the input signal, its associated memory 106 storing a previous signal, and a second subtracter 124. This branch, also called prediction loop, avoids the quality drift in the output signal 129 by subtracting the motion-compensated coding error from said decoded data signal, by means of subtracting sub-step 124.
The logo addition branch 102 is implemented through to the addition of a pixel-based residual signal to the decoded signal Error_I′(n) by means of the adding sub-step 122. This branch provides a pixel-based residual signal resulting from the subtraction between an additional data signal Logo(n) referenced 130 and a motion-compensated logo predicted signal PRED(Logo(n−1), V(n)) referenced 127, obtained by means of the motion compensation sub-step 103 and based on reference pictures containing logo previously stored in memory 104 with the use of the same vectors V(n) as the main input signal.
In the prior art diagram depicted in
It is an object of the invention to provide a method of modifying data in an encoded data signal, derived from the prior art, which imposes a lesser burden on central processing units (CPU).
In a first application, the method of modifying data according to the invention is characterized in that it comprises:
-
- a conversion step for providing a frequential residual signal resulting from the frequential conversion of said pixel-based residual signal, said frequential residual signal being added to said decoded data signal,
- a sub-step for adding said frequential residual signal to said decoded data signal so as to provide said modified data signal.
In a second application, the method of modifying data according to the invention, comprising an intermediate step providing a motion-compensated signal from said coding error, is characterized in that said motion-compensated signal is subtracted from said modified data signal before said re-encoding step.
In a third application, the method of modifying data according to the invention, comprising a residual signal resulting from the difference between an additional data signal and its predicted version, is characterized in that it comprises sub-steps for inserting said additional data signal into said intermediate step.
In a fourth application, the method of modifying data according to the invention is characterized in that it comprises a sub-step for adding said additional data signal to said modified data signal before said re-encoding step.
The corresponding diagrams, depicted in
According to the invention, compared with the prior art solution, CPU-consuming DCT/IDCT sub-steps are replaced with DCT/IDCT sub-steps involving a limited load on the CPU, in return for which the structure of the data insertion is modified, such simplifications being possible in that advantage is taking of combinations between different sub-steps and in using their own properties, such as the linearity of the motion compensation or the distributivity of DCT as compared with addition. The invention thus comprises a minimum number of functional sub-steps, which results in a cost-effective solution.
Another object of the invention is to propose devices for implementing the above-mentioned methods.
To this end, in a first implementation, the invention relates to a transcoding device for adding data to an encoded data signal, characterized in that it comprises:
-
- conversion means for providing a frequential residual signal resulting from the frequential conversion of said pixel-based residual signal, said frequential residual signal being added to said decoded data signal,
- means for adding said frequential residual signal to said decoded data signal so as to provide said modified data signal.
In a second implementation, the invention relates to a transcoding device for adding data to an encoded data signal characterized in that it comprises data insertion means for inserting a modifying data signal into said intermediary branch.
In a third implementation, the invention relates to a transcoding device for adding data to an encoded data signal, characterized in that it comprises means for adding an additional data signal to said modified data signal before said re-encoding.
Detailed explanations and other aspects of the invention will be given below.
BRIEF DESCRIPTION OF THE DRAWINGSThe particular aspects of the invention will now be explained with reference to the embodiments described hereinafter and considered in connection with the accompanying drawings, in which identical parts or sub-steps are designated in the same manner:
As was stated above, the present invention aims at reducing the cost of the prior art method for modifying data in an encoded data signal. Such an invention is well adapted to the case of MPEG-2 coded video signals as input signal, but it will be apparent to a person skilled in the art that such a method is applicable to any coded signal that has been encoded with a block-based compression method such as, for example, the one described in MPEG-4, H.261 or H.263 standards. In the following, the invention will be detailed assuming that encoded video signals comply with the MPEG-2 international video standard (Moving Pictures Experts Group, ISO/IEC 13818-2).
The following notations will be adopted for the demonstration:
-
- V(n): vectors of picture number n,
- Error_I(n): error residue of input picture number n in the frequential domain,
- Error_I′(n): error residue of input picture number n in the pixel domain,
- MEM1(n): picture number n stored in the frame memory 106,
- PRED(X(n), V(n+1)): motion compensation of signal X(n) using vectors V(n+1). It corresponds to a predicted version of signal X(n+1),
- DCT(X(n): discrete cosine transform of signal X(n),
- IDCT(X(n): inverse discrete cosine transform of signal X(n).
Starting from the prior art, it can be written:
- 1) A(n)=DCT(A′(n))
- 2) A(n)=DCT(Error_I′(n)+Logo(n)−PRED(Logo(n−1),
- V(n))−PRED(MEM1(n−1), V(n)))
Using the property of distributivity of DCT as compared with addition:
- V(n))−PRED(MEM1(n−1), V(n)))
- 3) A(n)=DCT(Error_I′(n))+DCT(Logo(n)−PRED(Logo(n−1),
- V(n)))−DCT(PRED(MEM1(n−1), V(n)))
Considering the linearity of DCT and IDCT operations, and the fact that applying a DCT to a signal which has passed through an IDCT equals the unity transfer:
- 4) DCT(IDCT(X(n)))=X(n) with X(n) defining a digital video signal and
- 5) Error_I′(n)=IDCT(Error_I(n))
Using relations 0 and 0, A(n) becomes: - 6) A(n)=Error_I(n)+DCT(Logo(n)−PRED(Logo(n−1),
- V(n)))−DCT(PRED(MEM1(n−1), V(n)))
This relation 6) can thus be implemented according to the arrangement of
- 7) A(n)=Error_I(n)−
- DCT(PRED(MEM3(n−1), V(n))+PRED(Logo(n−1), V(n))−Logo(n)))
With the following notations - O3(n): decoded picture number n corresponding to the output signal of
FIG. 4 , - I(n): decoded input picture number n,
- MEM3(n): picture number n stored in the frame memory 206,
- DCT(PRED(MEM3(n−1), V(n))+PRED(Logo(n−1), V(n))−Logo(n)))
The corresponding diagram of
This arrangement also preserves a high flexibility in its hardware implementation. Indeed, motion compensation 103 applied to said additional data signal and motion compensation 205 applied to said coding error may be performed by two separate digital signal processors adapted and optimized to characteristics of said residual signal and said coding error. First, considering that the signal contained in the picture memory 206 is defined by the relation O3(n)−I(n)−Logo(n) and that said signal is composed of values of small amplitude corresponding to the coding error generated by the re-encoding step, the motion compensation 205 can thus be done with a limited resolution, while ensuring a good quality as regards the drift correction. Typically, a 4-bits resolution may be used to obtain an acceptable quality, which offers the opportunity of implementation with a dedicated processor including 4-bit macro-instructions and requiring a little CPU occupation. As regards the motion compensation 103 performed on the signal 130 of greater amplitude, a higher resolution must be used to guarantee a good quality of areas corresponding to the logo. To this end, a generic digital processor may be used with a higher resolution, typically of 8 bits, only on blocks defining the logo area.
In
In
From an algorithmic point of view, the arrangement depicted in
This proposed arrangement allows that no more separate motion compensation and its associated memory for the signal 130 are used, since said data can be directly inserted into the intermediate branch, this simplification being justified by the linearity of the motion compensation. This merging of the two motion compensations—if the insertion of the adding sub-step 122, at no cost for most digital signal processors, is excluded—represents a substantial gain in terms of CPU occupation and also memory storage. The input signal is then modified by only two sub-steps. The first one corresponds to the discrete cosine transform 218 only applied to the additional data signal 130 and providing a frequential additional data signal, this operation being performed only on the few blocks defining the logo area and being thus a low CPU burden. The second one corresponds to the adding sub-step 122 delivering said modified data signal to the re-encoding branch, said modified data signal resulting from the addition of said frequential additional data signal and the output signal of sub-step 124. This arrangement allows a data modification in a cost-effective manner because these two sub-steps relative to data insertion.
In
This method of modifying data in an encoded data signal can be implemented in several manners, such as by means of wired electronic circuits or, alternatively, by means of a set of instructions stored in a computer-readable medium, said instructions replacing at least a portion of said circuits and being executable under the control of a computer or a digital processor in order to carry out the same functions as fulfilled in said replaced circuits. The invention then also relates to a computer-readable medium comprising a software module which includes computer executable instructions for performing the steps, or some steps, of the method described above.
Claims
1-2. (canceled)
3. A method of modifying data in an encoded data signal comprising:
- a) a decoding step for decoding said encoded data signal and providing a decoded data signal,
- b) a re-encoding step performed on a modified data signal and generating a coding error,
- c) an intermediate step inserted between said decoding and re-encoding steps, comprising at least a subtracting operation between said decoded data signal and a motion-compensated signal obtained from said coding error, said subtracting operation defining said modified data signal,
- characterized in that it comprises sub-steps for inserting an additional data signal into said intermediate step.
4. A method as claimed in claim 3 in which a definition step of a residual signal is carried out, said residual signal resulting from the difference between said additional data signal and its predicted version, characterized in that said residual signal is subtracted from said motion-compensated signal by means of a subtracting sub-step.
5. A method as claimed in claim 3, characterized in that:
- a) said additional data signal is added to said coding error by means of an adding sub-step,
- b) said additional data signal is added to said decoded data signal by means of an adding sub-step.
6. A method as claimed in claim 3, characterized in that:
- a) said additional data signal is added to said coding error by means of an adding sub-step,
- b) said additional data signal is subtracted from said motion-compensated signal by means of a subtracting sub-step.
7. A method of modifying data in an encoded data signal comprising:
- a) a decoding step for decoding said encoded data signal and providing a decoded data signal,
- b) a re-encoding step performed on a modified data signal and generating a coding error,
- c) an intermediate step for obtaining a motion-compensated signal from said coding error, and comprising at least a subtracting sub-step between said decoded data signal and said motion-compensated signal for providing said modified data signal,
- characterized in that it comprises a sub-step for adding an additional data signal to said modified data signal before said re-encoding step.
8. (canceled)
9. A transcoding device for adding data to an encoded data signal, comprising:
- a) decoding means step for decoding said encoded data signal and providing a decoded data signal,
- b) re-encoding means acting on a modified data signal and generating a coding error,
- c) an intermediate branch inserted between said decoding and re-encoding steps, comprising at least a subtracting operation between said decoded data signal and a motion-compensated signal obtained from said coding error, said subtracting operation defining said modified data signal,
- characterized in that it comprises data insertion means for inserting a modifying data signal into said intermediate branch.
10. A transcoding device for adding data to an encoded data signal, comprising:
- a) decoding means for decoding said encoded data signal, and providing a decoded data signal,
- b) re-encoding means acting on a modified data signal and generating a coding error,
- c) an intermediate branch for providing a motion-compensated signal from said coding error, and comprising at least a subtracting sub-step between said decoded data signal and said motion-compensated signal for generating said modified data signal,
- characterized in that it comprises means for adding an additional data signal to said modified data signal before re-encoding.
11. (canceled)
Type: Application
Filed: Sep 11, 2003
Publication Date: Nov 24, 2005
Inventor: Yann Le Maguet (Paris)
Application Number: 10/660,360