Image encoder and image decoder, image encoding method and image decoding method, image encoding programme and image decoding programme and computer readable recording medium on which image encoding programme is recorded and computer readable recording medium on which image decoding programme is recorded

FIELD: information technology.

SUBSTANCE: image encoder includes the following: a predicted-image generating unit that generates a predicted image in accordance with a plurality of prediction modes indicating the predicted-image generating method; a prediction-mode judging unit that evaluates prediction efficiency of a predicted image output from the predicted-image generating unit to judge a predetermined prediction mode; and an encoding unit that subjects the output signal of the prediction-mode judging unit to variable-length encoding. The prediction-mode judging unit judges, on the basis of a predetermined control signal, which one of a common prediction mode and a separate prediction mode is used for respective colour components forming the input image signal, and multiplexes information on the control signal on a bit stream.

EFFECT: high optimality of encoding the signal of a moving image.

4 cl, 86 dwg

 

The technical FIELD

The present invention relates to an encoder of the digital image signal decoder of a digital image signal, the method of encoding a digital image signal and method of decoding a digital image signal, which are used for compressing and encoding image, transferring the compressed image data, etc.

The LEVEL of TECHNOLOGY

Traditionally, the accepted system of video coding based on international standards, such as MPEG and ITU-TH.26x, mainly provided that uses the input signal in a standard format, called the format 4:2:0". Format 4:2:0 format is for converting a color signal of a moving image, such as RGB, component of the luminance (Y) and two color-difference components (Cb and Cr) and reducing the number of samples of the color difference components by half in the horizontal and vertical directions in relation to the number of samples in the value component. Because the visual perception of the deterioration of the color-difference components is small compared to the deterioration of the brightness component, adopted the traditional system of video coding, which meets the international standard, provided that the amount of information about the object of coding is reduced due to the above-described down-sampling chroma components to which sushestvennee coding. On the other hand, due to the increased resolution and improved quality of video displays in recent years, tested the system for encoding image samples, identical components brightness without reducing the sample rate of the color difference components. The format in which the number of samples of the luminance components and the number of samples of the color difference components are equal, is called a format of 4:4:4. According to the standard MPEG-4 AVC (ISO/IEC 14496-10)/ITU-T_H.264 (hereinafter referred to as AVC) decided to enter into the system encoding format 4:4:4, "high profile 444". Although traditional format 4:2:0 accepted provided that the color difference components are subjected to down-sampling, and limited to defining color space Y, Cb and Cr, in the format of 4:4:4 there is no difference in sampling frequency between the color components, which enables the direct use of R, G and B instead of Y, Cb and Cr, and use many other definitions of color spaces. In the system of video coding, where the format is 4:2:0, since color space is recorded as Y, Cb and Cr, there is no need to consider the types of color spaces when processing coding. However, the high profile 4:4:4 AVC is a system in which the definition of color spaces influences the processing of coding. On the other hand, in the present high the m profile 4:4:4, take into account the compatibility with other profiles to encode format 4:2:0, given a space Y, Cb and Cr. Thus, we cannot say that this high profile 4:4:4 is designed to optimize the efficiency of compression.

Non-patent document 1: MPEG-4 AVC (ISO/IEC 14496-10)/ITU-TH.264

DISCLOSURE of INVENTIONS

Objectives of the invention

For example, in a high profile 4:2:0 encoding format 4:2:0 AVC, in the field macroblock consisting of the luminance components 16×16 pixels, the color difference components Cb and Cr corresponding to the brightness components, represent blocks of 8×8 pixels. Spatial prediction (infraprogressive), which uses the value of the peripheral samples in identical image accepted for intracoronary macroblocks in a high profile 4:2:0. Separate modes infraprogressive used for the luminance components and color difference components. The mode with the highest efficiency prediction, selected from nine types, shown in figure 3, in mode infraprogressive for the luminance components, and the mode with the highest efficiency prediction, selected from the four types shown in Fig.9, in the mode infraprogressive for the color components Cb and Cr (impossible to use a separate modes prognose the Finance for Cb and Cr). When predicting motion compensation in high profile 4:2:0 information block size that is used as the unit of prediction with motion compensation, information of a reference picture used for prediction, and information of a motion vector for each block are multiplexed only for the luminance components. Prediction with motion compensation is performed for the color-difference component using the information same as the information used for prediction with motion compensation for the luminance components. The system described is suitable, provided that the contribution of color-difference components in the definition of the color space is small compared to the contribution of the luminance components, which make a significant contribution to the representation of the structure (texture) of the image in the format of 4:2:0. However, this high profile 4:4:4 is the only system obtained by simple expansion mode infraprogressive for color-difference signals in 4:2:0 even in a state where the block size is color-difference signals for one macroblock increased to 16×16 pixels. As in the format of 4:2:0, in relation to one component, such as the brightness, only information about a single component is multiplexed to perform prediction with motion compensation used with the em mode interrogazione, information of the reference image and information of a motion vector common to the three components. Thus, we cannot say that the real high 4:4:4 is not always the best method of forecasting in the format of 4:4:4, in which the respective color components make equal contributions to the structural representation of the image signal.

Thus, the present invention is the provision of encoder, decoder, encoding method, the method of decoding programs for executing these methods, and recording media on which the program is recorded, with high efficiency coding signal of the moving image, in which there are no differences in sampling frequency between the color components, such as format 4:4:4, as described in the appropriate technical level.

MEANS of SOLVING PROBLEMS

The image encoder according to the present invention includes:

the block generating the predicted image, which generates a predicted image in accordance with the set of prediction modes indicating the method of generating the predicted image;

block a decision regarding the prediction mode, which evaluates the effectiveness of forecasting the predicted image output from the block generating predicted the th image, for deciding a predetermined prediction mode; and

the coding block, which puts the output signal of block a decision regarding the prediction mode coding with variable-length words in which

block a decision regarding the prediction mode decides on the basis of a predetermined control signal, some of the common prediction mode and a separate mode prediction is used for the respective color components forming the input image signal, and multiplexes the information about the control signal in the bit stream, multiplexes, when there is a common prediction mode, and information of a General prediction mode in the bit stream, and multiplexes, when the common prediction mode is not used, the information of the prediction mode for each of the color components in the bitstream.

Advantages of the INVENTION

According to the image encoder, image decoder, method for encoding an image, the method of decoding images, programs for executing these methods, and recording media on which these programs are recorded, corresponding to the invention, when performing encoding using not only fixed color spaces, such as Y, Cb and Cr, what about the various color spaces, you can flexibly select the information mode infraprogressive and information mode interrogazione used in the respective color components, and it is possible to perform the optimum processing coding even when various definitions of color spaces.

BRIEF DESCRIPTION of DRAWINGS

Figure 1 - diagram illustrating the structure of a video encoder according to the first variant implementation.

2 is a diagram illustrating the structure of a decoder according to the first variant implementation.

Figure 3 is a diagram illustrating the method of generating the predicted image mode infraprogressive 4×4, the estimated unit 2 spatial prediction, shown in figure 1.

4 is a diagram illustrating the method of generating the predicted image mode infraprogressive 16×16, assessed unit 2 spatial prediction, shown in figure 1.

5 is a logical flowchart illustrating a processing procedure of deciding the mode infraprogressive implemented in a video encoder, shown in figure 1.

6 is a diagram illustrating the data bit stream of the video signal output from the video encoder according to the first variant implementation.

7 is a logical block diagram illustrating the processing of the decoding infraprogressive carried out in videod the encoder, shown in figure 2.

Fig diagram explaining the mode of another array data bit stream of the video signal output from the video encoder according to the first variant implementation.

Fig.9 is a diagram illustrating the method of generating the predicted image mode infraprogressive adapted to the color difference components according to the AVC standard.

Figure 10 is a diagram illustrating the traditional and current macroblocks.

11 is a diagram illustrating the structure of a video encoder according to the second variant implementation.

Fig diagram illustrating the structure of a decoder according to the second variant implementation.

Fig diagram explaining the method of generating the predicted image mode infraprogressive 8×8, the estimated unit 2 spatial prediction, shown at 11.

Fig is a logical block diagram illustrating the processing procedure of deciding the mode intracoronary implemented in a video encoder, shown at 11.

Fig diagram explaining the data bit stream of the video signal output from the video encoder according to the second variant implementation.

Fig diagram illustrating another array data bit stream of the video signal output from the video encoder according to the second variant implementation.

Fig is a logical block diagram illustrating the% is ur decode processing of infraprogressive, implemented in the decoder shown in Fig.

Fig diagram explaining the processing parameters encoding mode infraprogressive component C0, according to the third variant of implementation.

Fig diagram explaining the processing parameters encoding mode infraprogressive component C1, according to the third variant of implementation.

Fig diagram explaining the processing parameters encoding mode infraprogressive component C2, according to the third variant of implementation.

Fig is a logical block diagram showing the processing order of the encoding mode infraprogressive according to the third variant of implementation.

Fig is a logical block diagram showing another procedure of processing coding mode infraprogressive according to the third variant of implementation.

Fig is a logical block diagram showing the processing order of the decoding mode infraprogressive according to the third variant of implementation.

Fig diagram illustrating another array data bit stream of the video signal output from the video encoder according to the fourth variant implementation.

Fig is a logical block diagram showing another procedure of processing coding mode infraprogressive according to the fifth variant implementation.

Pig diagram, paashaus what I tabulated rules specify the predicted values according to the fifth variant implementation.

Fig is a logical block diagram showing the encoding procedure according to the sixth variant implementation.

Fig diagram illustrating the structure of the binary sequence CurrIntraPredMode according to the sixth variant implementation.

Fig diagram illustrating another structure of the binary sequence CurrIntraPredMode according to the sixth variant implementation.

Fig diagram illustrating the structure of a video encoder according to a seventh variant of the implementation.

Fig diagram illustrating the structure of a decoder according to the seventh variant implementation.

Fig diagram illustrating a unit of macroblock.

Fig is a logical block diagram showing the processing order of the decision regarding the mode interrogazione according to a seventh variant of the implementation.

Fig diagram explaining the data stream output from the video encoder according to a seventh variant of the implementation.

Fig is a logical block diagram showing the progress of the processing performed by the block 25 decoding variable length words, according to the seventh variant implementation.

Fig diagram illustrating another array data stream output from the video encoder according to a seventh variant of the implementation.

Fig diagram illustrating another array data stream output from the video encoder, the agreement is but the seventh variant implementation.

Fig is a logical block diagram showing the processing order of the decision regarding the mode interrogazione according to the eighth variant implementation.

Fig diagram explaining the data bit stream at the level of the macroblocks according to the eighth variant implementation.

Fig is a logical block diagram showing the processing order generating interpromotional image according to the eighth variant implementation.

Fig diagram illustrating another array data bit stream at the level of the macroblock according to the eighth variant implementation.

Fig diagram illustrating another array data bit stream at the level of the macroblock according to the eighth variant implementation.

Fig is a logical block diagram showing the processing order of the decision regarding the mode interrogazione according to the ninth version of the implementation.

Fig is a logical block diagram showing the processing order generating interpromotional image according to the ninth version of the implementation.

Fig diagram illustrating the structure of the coding block of the motion vector.

Fig diagram explaining operations of the coding block of the motion vector.

Fig diagram illustrating the structure of the block decoding motion vector.

Fig diagram illustrating SOS is the right of the bitstream syntax.

Fig diagram illustrating the structure of the data encoded in units of macroblocks, according to the eleventh version of the implementation.

Fig diagram explaining the detailed structure of the data-encoded header information of the component Cn, shown in Fig, according to the eleventh version of the implementation.

Fig diagram illustrating another structure of the data encoded in units of macroblocks, according to the eleventh version of the implementation.

Fig diagram illustrating the structure of a bit stream according to the eleventh version of the implementation.

Fig diagram illustrating the structure of the slice according to the eleventh version of the implementation.

Fig diagram illustrating the internal structure related to the processing of the arithmetic encoding unit 11 coding with variable word length according to the twelfth variant implementation.

Fig is a logical block diagram showing the processing order of the arithmetic coding unit 11 coding with variable word length according to the twelfth variant implementation.

Fig diagram illustrating a detailed processing progress at step S162 shown in Fig, according to the twelfth variant implementation.

Fig diagram explaining the concept of contextual models (ctx).

Fig is a diagram illustrating an example of a contextual model relating to ktora motion of the macroblock.

Fig diagram illustrating the internal structure related to the processing of the arithmetic decoding unit 25 decodes variable length words according to the twelfth variant implementation.

Fig is a logical block diagram showing the processing order of the arithmetic decoding unit 25 decodes variable length words according to the twelfth variant implementation.

Fig diagram explaining the contextual model 11f according to the twelfth variant implementation.

Fig is a diagram illustrating the difference in the mode of the current macroblock according to the twelfth variant implementation.

Fig diagram illustrating the structure of the encoder and decoder according to the thirteenth variant implementation.

Fig diagram illustrating the structure of a video encoder according to the thirteenth variant implementation.

Fig diagram illustrating the structure of a decoder according to the thirteenth variant implementation.

Fig diagram illustrating the overall processing of the encoding according to the fourteenth variant implementation.

Fig diagram illustrating independent processing of encoding according to the fourteenth variant implementation.

Fig is a diagram illustrating the ratio of the reference flow forecasting in the time dimension between images in the encoder and the decoder according to the fourteenth is arianto implementation.

Fig is a diagram illustrating an example of the structure of the bitstream generated by the encoder according to the fourteenth variant implementation and subjected to the input processing/decoding by the decoder according to the fourteenth variant implementation.

Fig diagram illustrating the structure of the bitstream data for the slice in the case of processing coding and independent processing of coding, respectively.

Fig diagram illustrating a schematic structure of an encoder according to the fourteenth variant implementation.

Fig is a diagram illustrating the state in which the delay processing on the side of the encoder is reduced.

Fig diagram illustrating the internal structure of the first unit of the image encoding.

Fig diagram illustrating the internal structure of the second unit of the image encoding.

Fig diagram illustrating a schematic structure of a decoder according to the fourteenth variant implementation.

Fig diagram illustrating the internal structure of the first block of the decoded image.

Fig diagram illustrating the internal structure of the second unit decoding the image.

Fig diagram illustrating the internal structure of the first block coding of the image subjected to the conversion processing of the color space.

Fig diagram illustrating the internal structure of the first is Loka, the image encoding, subjected to the conversion processing of the color space.

Fig diagram illustrating the internal structure of the first block coding of the image subjected to processing of the inverse conversion of the color space.

Fig diagram illustrating the internal structure of the first block coding of the image subjected to processing of the inverse conversion of the color space.

Fig diagram illustrating the structure of the data-encoded header information of the macroblock included in the bitstream traditional format YUV 4:2:0.

Fig diagram illustrating the internal structure of the block prediction 461 of the first block of the decoded image, which ensures compatibility traditional format YUV 4:2:0 bit stream.

Fig diagram illustrating the structure of a bitstream of encoded data to be multiplexed, according to the fifteenth version of the implementation.

Fig diagram illustrating information about the coding type of the image during encoding of the image data in the block access from unit AUD NAL.

Fig diagram illustrating the structure of a bitstream of encoded data to be multiplexed, according to the fifteenth version of the implementation.

DESCRIPTION of CHARACTERS

1 input video

2 the spatial predicted what I

3 myCitadel

4 the differential signal prediction

5 unit deciding the encoding mode

6, the encoding mode

7 projected image

8 unit conversions

9 block quantization

10 quantized conversion coefficient

11 block coding with variable length words

11a block definition contextual model

11b block conversion to binary mind

11c block generation probability of occurrence

11d block coding

11e encoded value

11f contextual model

11g memory for storing information of the probability of occurrence

11h status probability of occurrence

12 block inverse quantization

13 unit inverse transformation

14 differential signal forecasting local decoding

15 locally decoded image (internally decoded image)

16 memory

17 the transmit buffer

18 the adder

19, the control unit coding

20 weighting factor

21 the quantization parameter

22 video

23 flag identification General use mode infraprogressive

24 control flag razblokirovat filter

25 block decoding with variable word length

25a block decoding

25b, the restored value of the site

26 unblocking filter

27 decoder the bath picture

28 mode intracoronary

29 basic mode infraprogressive

30 advanced mode infraprogressive

31 the flag indicating that the table is extended modes infraprogressive

32 flag identifying block size conversion

33 flag identification General use mode intracoronary

34 mode intracoronary

35 mode infraprogressive

36 flag display mode infraprogressive

102 block prediction with motion compensation

106 the macroblock type/type submicromolar

123 flag identification General use mode interrogazione

123b flag identification General use motion vectors

123c flag identifying the common usage of the macroblock header

128 the base type of the macroblock

128b type macroblock

129 basic type submicromolar

129b type submicromolar

130 advanced type of the macroblock

131 advanced type submicromolar

132 identification number of the underlying reference image

132b identification number of the reference image

133 information base motion vectors

134 advanced reference ID number

135 information extended motion vectors

136 profile information

137 the motion vectors

138, 138a, 138b, 138c information display skip

139a, 139b, 139c information is golovka

140a, 140b, 140c data conversion factors

141 mode infraprogressive

142 information indicating the efficiency/inefficiency of conversion factors

143 flag identification General use status parameter of the probability of occurrence

144 mode infraprogressive color-difference signal

111 block prediction motion vectors

112 unit calculating a differential motion vectors

113 differential motion vector of the block coding with variable length words

250 block decoding motion vectors

251 block decoding of differential motion vectors with variable word length

252 block prediction motion vectors

253 unit calculating motion vectors

301 unit conversion color space

302 converted video

303 encoder

304 information identification method of converting the color space

305 bitstream

306 decoder

307 decoded image

308 unit inverse transformation color space

310 unit conversion

311 information identification method of converting the color space

312 unit inverse transformation

422a, 422b0, 422b1, 422b2, the video stream 422c

423 signal identifying the common encoding/independent encoding

427a, 427b decoded and the imagination

461 block prediction

462 unblocking filter

463 predictable service information

464 flag specifying the converted block size

465 unit conversion color space

466 unit inverse transformation color space

467 information alarm

501, 601 switch

502 the separation unit of the color components

503a first block coding of the image

503b0, 503b1, 503b2 the second block, the image encoding

504 unit multiplexing

602 block a decision about the color of the component

603a first block decoding image

603b0, 603b1, 603b2 the second block decoding image

610 unit of analysis of the header

4611a, 4611b, 4611c block changes

4612 unit infraprogressive signal brightness

4613 unit infraprogressive color-difference signal

4614 unit interrogazione signal brightness

4615 unit interrogazione color-difference signal

PREFERRED embodiments of the INVENTIONS

The first option exercise

According to the first variant of implementation will be explained encoder, which encodes enclosed in the frame, in units obtained by equal division of a video frame that is entered in the format of 4:4:4, the rectangular area (macroblocks) 16×16 pixels, and da is der, corresponding to the encoder. Characteristics conforming to the invention, are communicated to the encoder and the decoder on the basis of the coding system adopted in the MPEG-4 AVC(ISO/IEC 14496-10)/ITU-TH.264, which is a non-patent document 1.

The structure of the video encoder according to the first variant implementation is shown in figure 1. The structure of the decoder according to the first variant implementation is shown in figure 2. Figure 2 components, indicated by the position identical to the position denoting the components of the encoder, shown in figure 1, are identical components.

The operation of the encoder in General and decoder in General, the processing of deciding the mode infraprogressive and processing of decoding infraprogressive that are specific operations according to the first variant of implementation, will be explained on the basis of these drawings.

1. Job description encoder

In the encoder, shown in figure 1, the corresponding video frames are input as the input video signal 1 in the format of 4:4:4. Input frames are entered in the encoder in units of macroblocks obtained by dividing the three color components in units of 16 pixels × 16 pixels of identical size and placement of blocks, as shown in figure 10.

First of all, the spatial prediction 2 performs processing infraprogressive the Oia for each of the color components in units of macroblocks using a locally decoded image 15, stored in the memory 16. Three memory block are prepared for the respective color components (although in the explanation of this option exercise prepare three memory block, the number of memory blocks can change depending on the actual implementation). Modes infraprogressive represent the mode infraprogressive 4×4 for the implementation of spatial prediction, which, in units of blocks of 4 pixels × 4 lines, shown in figure 3, are neighboring pixels of the block, and the mode infraprogressive 16×16 for the implementation of spatial prediction, which, in units of macroblocks of 16 pixels × 16 lines, shown in figure 4, are neighboring pixels of the macroblock.

(a) Mode infraprogressive 4×4

The block of 16×16 pixels of the luminance signal in a macroblock is divided into sixteen blocks, formed by blocks of 4×4 pixels. Any of the nine modes, shown in figure 3, is selected in units of blocks of 4×4 pixels. The pixel blocks (upper left, upper, upper right and left) around the block already encoded, processed locally decoded and stored in the memory 16, are used to generate the predicted image.

Intra4×4_pred_mode=0: the Neighboring pixel above is used as the predicted image.

Intra4×4_pred_mode=1: Neighboring pixel to the left is used as the predicted image.

Intra4×4_pre_mode=2: the Average value of the eight neighboring pixels is used as the predicted image.

Intra4×4_pred_mode=3: the Weighted average is calculated for every two or three pixels from neighboring pixels and is used as a predicted image (corresponding to the edge at 45 degrees to the right).

Intra4×4_pred_mode=4: the Weighted average is calculated for every two or three pixels from neighboring pixels and is used as a predicted image (corresponding to the edge at 45 degrees to the left).

Intra4×4_pred_mode=5: a Weighted average is calculated for every two or three pixels from neighboring pixels and is used as a predicted image (corresponding to the edge of 22.5 degrees to the left).

Intra4×4_pred_mode=6: Weighted average is calculated for every two or three pixels from neighboring pixels and is used as a predicted image (corresponding to the edge of 67.5 degrees to the left).

Intra4×4_pred_mode=7: the Weighted average is calculated for every two or three pixels from neighboring pixels and is used as a predicted image (corresponding to the edge of 22.5 degrees to the right).

Intra4×4_pred_mode=8: the Weighted average is calculated for every two or three pixels from neighboring pixels and is used as a predicted image (corresponding to the edge on 112,5 hail the owls left).

When the mode selection infraprogressive 4×4 sixteen pieces of data of the mode for each macroblock. Thus, to reduce the amount of codes of the information regime, taking into account the fact that the information mode has a high correlation with the neighboring block, the prediction encoding is performed on the basis of the information of the mode on the adjacent block.

(b) Mode infraprogressive 16×16

The encoding mode with interpromotional 16×16 mode is a mode for predicting blocks of 16×16 pixels, equivalent to the size of a macroblock in a given time. Any of the four modes shown in figure 4, is selected in units of macroblocks. In the same way as in the mode infraprogressive 4×4 pixel blocks (top left, top and left) around the block already encoded, processed locally decoded and stored in the memory 16, are used to generate the predicted image.

Intra16×16_pred_mode=0: of Sixteen pixels on the lower side of the upper macroblock is used as the predicted image.

Intra16×16_pred_mode=1: Sixteen pixels on the right side of the left macroblock are used as the predicted image.

Intra16×16_pred_mode=2: Average value of thirty-two pixels, in the aggregate, including chestnuts the th pixel on the lower side of the upper macroblock (part a in figure 4) and sixteen pixels on the left side of the left macroblock (part B in figure 4), is used as the predicted image.

Intra16×16_pred_mode=3: Projected image obtained by a predetermined arithmetic processing operations (processing weighted summation corresponding to the used pixel and the predicted position of a pixel) using thirty-one pixel, in the aggregate, including the pixel at the lower right corner of the macroblock above the upper left fifteen pixels on the lower side of the upper macroblock (the part excluding the empty pixels) and fifteen pixels on the right side of the left macroblock (part excluding blank pixels).

The video encoder according to the first variant implementation is characterized by a change in the method of processing infraprogressive for the three color components on the basis of the flag 23 identification General use mode infraprogressive. This point will be described in detail below in paragraph 2.

The spatial prediction 2 performs the processing of the prediction modes or subsets, shown in figure 3 and 4, for receiving a differential signal prediction 4 using myCitadel 3. The effectiveness of the prediction difference signal prediction 4 is estimated by block 5 of deciding the encoding mode. The prediction mode in which the optimal efficiency of prediction is obtained for the macroblock, specified as the object of prediction, shown as the encoding mode 6 from the processing of the prediction performed by the spatial prediction 2. The encoding mode 6 includes the relevant types of information of the prediction mode (Intra4×4_pred_mode or Intra16×16_pred_mode)used for a single forecasting together with the information in decision-making (equivalent to mode intracoronary shown in Fig.6)that indicates whether the mode infraprogressive 4×4 or infraprogressive 16×16. A single region prediction is equivalent to a block of 4×4 pixels in the case of intra4×4_pred_mode and is equivalent to a block of 16×16 pixels in the case of mode infraprogressive 16×16. When selecting the encoding mode 6 can be taken into account a weighting factor of 20 for each encoding mode, established by decision unit 19 controls the encoding. The optimal differential signal prediction 4, obtained using the encoding mode 6 in block 5 of deciding the encoding mode, is displayed on the conversion unit 8. The conversion unit 8 converts the differential signal prediction 4 in the conversion, and outputs the conversion coefficient on the block quantization 9. Block quantization 9 quantum entered coeff is consistent with a person's conversion based on the quantization parameter 21, the specified unit 19 controls the encoding, and outputs the conversion coefficient in block 11 of encoding with variable-length words as the quantized conversion coefficient 10. Quantized conversion coefficient 10 is subjected to entropy encoding by, for example, Huffman coding or arithmetic coding on the block 11 of encoding with variable-length words. Quantized conversion coefficient 10 is restored to a differential signal of the prediction of the local decoder 14 through the block 12 of the inverse quantization unit 13 inverse transformation. Quantized conversion factor of 10 is added to the predicted image 7, which is generated based on the encoding mode 6, the adder 18 to generate a locally decoded image 15. Locally decoded image 15 is stored in memory 16 for later use when processing infraprogressive. Flag 24 management razblokirovat filter indicating whether unblocking the filter to the macroblock, is also entered in block 11 of encoding with variable-length words (During processing of prediction performed by the spatial prediction 2, since the pixel data before processing razblokirovat filter, stored in memory 16, education is denied razblokirovka filter itself is not required to handle the encoding. However, unblocking the filter operates according to the indication flag 24 management razblokirovat filter on the side of the decoder to obtain the final decoded image.).

Flag 23 identification General use mode infraprogressive, quantized conversion coefficient 10, the encoding mode 6, and the quantization parameter 21, entered in block 11 of encoding with variable-length words are arranged and formed in the form of a bit stream in accordance with a predetermined rule (syntax) and shown in the transmission buffer 17. The transmission buffer 17 smoothes the bit stream according to the strip transmission line, connected to the encoder, and the reading speed of the recording medium and outputs the bit stream as stream 22. The transmission buffer 17 outputs information feedback unit 19 controls the encoding according to the state of accumulation of the bit stream in the transmission buffer 17, and then controls the amount of codes generated by encoding video frames.

2. The processing of deciding the mode infraprogressive in encoder

Below is described the processing of deciding the mode infraprogressive, which is characteristic of the encoder according to the first variant implementation. This processing is performed in units of macroblocks, in which the placement is s three color component. Processing is carried out mainly by the spatial prediction 2 and block 5 of deciding the encoding mode in the encoder, shown in figure 1. A logical block diagram showing the progress of the processing, shown in figure 5. The image data of the three color components constituting the block are indicated below C0, C1 and C2.

First of all, block 5 of deciding the encoding mode takes the flag 23 identification General use mode infraprogressive and decides, based on the value of the flag 23 identification General use mode infraprogressive whether the mode infraprogressive common to C0, C1 and C2 (step S1 figure 5). If the General mode infraprogressive block 5 of deciding the encoding mode proceeds to step S2 and subsequent steps. The failure of the common mode infraprogressive block 5 of deciding the encoding mode proceeds to step S5 and subsequent steps.

When the mode infraprogressive is used in common to C0, C1 and C2, block 5 of deciding the encoding mode and notifies the spatial prediction 2 all modes infraprogressive 4×4 that you can choose. The spatial prediction 2 evaluates the effectiveness of the barb forecasting for all 4×4 prediction modes and choose the optimum mode infraprogressive 4×4, common to C0, C1 and C2 (step S2). Then block 5 of deciding the encoding mode and notifies the spatial prediction 2 all modes infraprogressive 16×16 that you can choose. The spatial prediction 2 evaluates the effectiveness of forecasting all modes infraprogressive 16×16 and selects the optimal mode infraprogressive 16×16, common to C0, C1 and C2 (step S3). Finally, block 5 of deciding the encoding mode selects the optimum mode in relation to the effectiveness of the prediction modes from steps S2 and S3 (step S4), and terminates the processing.

When the mode infraprogressive not used for C0, C1 and C2 and C0, C1 and C2, respectively, selects the best modes, block 5 of deciding the encoding mode and notifies the spatial prediction 2 all modes infraprogressive 4×4 that can be selected for the components Ci (i<=0 and<3). The spatial prediction 2 evaluates the effectiveness of forecasting for all modes infraprogressive 4×4 and selects the optimal mode infraprogressive 4×4 components Ci (i<=0 and<3) (step S6). Similarly, the spatial prediction 2 selects the optimal mode infraprogressive 16×16 (step S7). Finally, at step S8 the unit question is rastvornogo forecasting 2 makes a decision regarding the optimal mode infraprogressive components Ci (i< =0<3).

As a standard for evaluating the effectiveness of the prediction mode of the prediction performed in the spatial prediction 2 can be, for example, to use the value of the rate/distortion, defined as Jm=Dm+λRm (λ: a positive number). Dm is the measure of the distortion coding or prediction error when using mode infraprogressive m. Distortion coding is obtained using mode infraprogressive m to calculate the prediction error and the decoded video signal from a result obtained by transforming and quantizing the prediction error for the measurement error relative to the signal prior to encoding. The magnitude of the prediction error is obtained by calculating the difference between the predicted image and the input signal prior to encoding when applied mode infraprogressive m and the quantization level difference. For example, use the sum of absolute distance (SAD). Rm - this is the amount of generated codes when applied mode infraprogressive m. In other words, Jm is a value that specifies the tradeoff between the amount of codes and the degree of deterioration when used mode infraprogressive m. Mode infraprogressive m giving the minimum Jm is the optimal solution.

When the encoder carried the t processing at step S2 and the subsequent steps, one piece of information about the mode infraprogressive is allocated to the macroblock that includes three color component. On the other hand, when the encoder performs the processing in step S5 and subsequent steps, the information mode infraprogressive outstanding color components, respectively. Thus, since pieces of information about the modes infraprogressive allocated to the macroblock vary, it is necessary to multiplex flag 23 identification General use mode infraprogressive in the bit stream and to allow the decoder to recognize implemented if the encoder processing at step S2 and the subsequent steps or carry out processing at step S5 and the subsequent steps. The array data this bit stream is shown in Fig.6.

The drawing shows the data bit stream at the level of macroblocks. Mode intracoronary 28 indicates information that allows to distinguish between intra 4×4 and intra 16×16, and the base mode infraprogressive 29 indicates the information of the common mode infraprogressive when the flag 23 identification General use mode infraprogressive indicates "common to C0, C1 and C2. Basic mode infraprogressive 29 indicates information mode infraprogressive for C0, when the flag 23 identification General use mode intrapages the simulation indicates "not common to C0, C1 and C2". Advanced mode infraprogressive 30 is multiplexed only when the flag 23 identification General use mode infraprogressive indicates "not common to C0, C1 and C2. Advanced mode infraprogressive 30 indicates information mode infraprogressive for C1 and C2. Then, the quantization parameter 21 and the quantized conversion coefficient 10 multiplexed. The encoding mode 6, shown in figure 1, is a General member of the mode intracoronary 28 and modes infraprogressive (basic and advanced) (although the flag 24 management razblokirovat filter entered in block 11 of encoding with variable-length words, shown in figure 1, are not included in Fig.6, the flag 24 management razblokirovat filter is omitted because the flag is not a component necessary for explanation of the characteristics of the first variant of implementation).

In the format of 4:2:0 taken in the traditional coding standard video definition color spaces recorded on the Y, Cb and Cr. In the format of 4:4:4 determining the color space is not limited to Y, Cb and Cr, but you can use different color spaces. Thanks to the setting information mode infraprogressive, as shown in Fig.6, it is possible to perform optimal processing of coding, even when the definition of the color space of the input in which designale 1 diverse. For example, when the color space is defined as RGB, the structure of the video texture remains the same in the respective components R, G and B. Thus, using the information shared mode infraprogressive you can reduce the redundancy in the information mode infraprogressive and improve the coding efficiency. On the other hand, when the color space is defined as Y, Cb and Cr, the structure of the video texture is integrated in Y. Thus, the common mode infraprogressive does not always produce the optimal result. Thus, it is possible to obtain an optimal encoding efficiency of the adaptive using advanced mode infraprogressive 30.

3. Job description decoder

The decoder, shown in figure 2, takes the video stream 22, corresponding to the array shown in Fig.6, the output of the encoder, shown in figure 1, carries out the decoding processing in units of macroblocks, in which three color component are of identical size (format 4:4:4), and restores the corresponding video frames.

First of all, the unit 25 decodes variable length words, which receives the stream 22, decodes the stream 22 in accordance with a predetermined rule (syntax) and extracts information including the flag 23 identification General use mode intraprocessor the project, quantized conversion coefficient 10, the encoding mode 6, and the quantization parameter 21. Quantized conversion coefficient 10 is inserted in the block of the inverse quantization 12 together with the quantization parameter 21, and is carried out the processing of the inverse quantization. Then the output signal of the block of the inverse quantization 12 is introduced into the block inverse transform 13 and restored to a differential signal of the prediction of the local decoder 14. On the other hand, the encoding mode 6 and flag 23 identification General use mode infraprogressive entered in block spatial prediction 2. The spatial prediction 2 receives the projected image 7 in accordance with these pieces of information. Below will be described a specific procedure to obtain the predicted image 7. The differential signal of the prediction of the local decoder 14 and the predicted image 7 are summed in adder 18 for receiving the internally decoded image 15 (this is completely the same signal as the locally decoded image 15 in the encoder). Internally decoded image 15 is written back to the memory 16 for use in further interpromotional macroblock. Three memory block are prepared for the respective color components (Ho the I in the explanation of this option exercise prepare three memory block, the number of memory blocks can be respectively changed according to design). Unblocking the filter 26 receives the command to influence internally decoded image 15 on the basis of the flag 24 management razblokirovat filter the decoded block 25 decoding variable length words, to obtain the final decoded image 27.

4. Processing decoding infraprogressive in decoder

Described in detail below, the processing of generating intrapreneuring image, which is characteristic of a decoder according to the first variant implementation. This processing is performed in units of macroblocks, which posted three color component. Processing is carried out mainly by the block 25 decoding with variable word length, and the spatial prediction 2 decoder, shown in figure 2. A logical block diagram showing the progress of the processing shown in Fig.7.

Steps S10-S14 in the logical block diagram shown in Fig.7, is carried by the block 25 decoding variable length words. The video stream 22 flowing into the unit 25 decodes variable length words, consistent with the array data shown in Fig.6. At step S10 unit 25 decodes variable length words first decodes the mode intracoronary 28 Dunn is x, shown in Fig.6. Then, the block 25 decoding with variable word length decodes the flag 23 identification General use mode infraprogressive (step S11). In addition, the block 25 decoding with variable word length decodes the basic mode infraprogressive 29 (step S12). At step S13 unit 25 decodes variable length words decides whether the mode infraprogressive together for C0, C1 and C2, with the use of the flag 23 identification General use mode infraprogressive. If the General mode infraprogressive unit 25 decodes variable length words uses basic mode infraprogressive 29 for all of C0, C1 and C2. The failure of the common mode infraprogressive unit 25 decodes variable length words uses basic mode infraprogressive 29 as a mode for C0 and decodes advanced mode infraprogressive 30 (step S14) for information regime for C1 and C2. Since the encoding mode 6 for the respective color components are set to the processing unit 25 decodes variable length word displays the encoding mode 6 on the spatial prediction 2 and receives intraprocedural images of the respective color components in soo is Ted steps S15-S17. The process for obtaining intraprocedural images consistent with the procedures shown in figure 3 and 4, and is identical to the processing performed by the encoder, shown in figure 1.

Variations of the array data bit stream shown in Fig.6, shown in Fig. According to Fig.7, the flag 23 identification General use mode infraprogressive is multiplexed as a flag, located at a higher level data, for example at the level of the slice image or sequence, not as a flag on the macroblock level. Flag 31 display tables extended modes infraprogressive provided for selecting a code table that specifies a code word advanced mode infraprogressive 30 from the set of code tables. Therefore, when possible, to provide adequate performance prediction according to the change at a higher level that is equal to or higher than the slice level, it is possible to reduce the bit proprietary information without multiplexing flag 23 identification General use mode infraprogressive level of macroblocks each time in the implementation process. As for the advanced mode infraprogressive 30, as provided flag indicating that the table is extended modes infraprogressive 31, you can choose the determination of the prediction mode, set the CSO for components C1 and C2, instead of defining identical to the definition of the base mode infraprogressive 29. This gives the possibility to handle encoding, adapted to the determination of the color spaces. For example, when encoding format 4:2:0 AVC, the set of modes infraprogressive other than the brightness (Y)is specified for the color-difference components (Cb and Cr). In the format of 4:2:0 chroma signal in a macroblock is a signal of 8 pixels × 8 lines. Any of the four modes shown in Fig.9, is selected in units of macroblocks to perform decode processing. Although there are two types of Cb and Cr as a color-difference signals, use the same mode. Except for the DC prediction intra_chroma_pred_mode=0, the processing of the prediction is the same as in mode infraprogressive 16×16, shown in figure 4. DC prediction block of 8×8 is divided into four blocks of 4×4, and the positions of the pixels, for each of which we compute the average change for each of the blocks to be processed. In the block indicated on the figure of "a+x, a or x, the average value is calculated using eight pixels "a" and "x"when you can use the pixel a and the pixel "x", using four pixels "a", when you can only use the pixel "a", and using only the four pixels "x", when you use the ü only the pixel "x". The average value is used as the predicted image 7. The value 128 is used as the predicted image 7, when it is impossible to use the pixels "a" and "x". In the block marked "b or x, the average value is calculated using four pixels "b", when you can use the image "b", and using four pixels "x", when you can only use the pixel "x".

Thus, when you want to change the set of modes infraprogressive according to the characteristics of the color components, it is possible to obtain better coding efficiency according to the structure similar to the syntax shown in Fig.

The second option exercise

According to the second variant of implementation will be explained another encoder that performs encoding enclosed in the frame in units obtained by equal division of a video frame that is entered in the format of 4:4:4, the rectangular area (macroblocks) 16×16 pixels, and the decoder corresponding to the encoder. As in the first embodiment, characteristics, meets the invention, are communicated to the encoder and the decoder on the basis of the coding system adopted in the MPEG-4 AVC(ISO/IEC 14496-10)/ITU-TH.264, which is a non-patent document 1.

The structure of the video encoder according to the second variant implementation is shown is figure 11. The structure of the decoder according to the second variant of implementation shown in Fig. Figure 11 components, indicated by the position identical to the position denoting the components of the encoder, shown in figure 1, are identical components. On Fig components indicated by the position identical to the position denoting the components of the encoder, shown at 11, are identical components. Figure 11 position 32 denotes a flag identifying the size of the transform block, and 33 denotes a flag identification General use mode intracoronary.

The operation of the encoder in General and decoder as a whole according to the second variant of implementation, the processing of deciding the mode is intra-coding/forecasting and processing of decoding infraprogressive that are specific operations according to the second variant of implementation, will be explained on the basis of these drawings.

1. Job description encoder

In the encoder, shown at 11, the corresponding video frames are input as the input video signal 1 in the format of 4:4:4. Input frames are entered in the encoder in units obtained by dividing the three color components of the macroblocks of identical size and placement of blocks, as shown in figure 10.

The spatial prediction 2 carries out processing is ntrepreneurial for each of the color components in units of macroblocks using a locally decoded image 15, stored in the memory 16. Modes infraprogressive represent the mode infraprogressive 4×4 for the implementation of spatial prediction, which, in units of blocks of 4 pixels × 4 lines, shown in figure 3, are neighboring pixels of the block mode infraprogressive 8×8 for the implementation of spatial prediction, which, in units of blocks of 8 pixels × 8 lines, shown in Fig, are neighboring pixels of the block, and the mode infraprogressive 16×16 for the implementation of spatial prediction, which, in units of macroblocks of 16 pixels × 16 lines, shown in figure 4, are neighboring pixels of the macroblock. In the encoder according to the second variant implementation mode infraprogressive 4×4 mode infraprogressive 8×8 alternate with each other and used in accordance with the state of the flag 32 identify the size of the transform block. One can imagine using intracoronary, as shown in Fig.6, which of the modes infraprogressive for predicting a 4×4 prediction 8×8 prediction of 16×16 is used to encode a macroblock. In the encoder according to the second variant of implementation, as modes intracoronary there are two types of encoding modes, namely the encoding mode with and what trapreceiver N×N (N is 4 or 8) to perform encoding using infraprogressive 4×4 or mode infraprogressive 8×8 coding mode with interpromotional 16×16 for the implementation of coding using infraprogressive 16×16. Modes intracoronary will be described below, respectively.

(a) encoding Mode with interpromotional N×N

The encoding mode with interpromotional N×N is the mode for implementing the encoding with the electoral regime change infraprogressive 4×4 for dividing the block of 16×16 pixels of the luminance signal in the macroblock sixteen blocks formed by blocks of 4×4 pixels, and select individually the prediction mode for each block of 4×4 pixels and infraprogressive 8×8 for dividing a block of 16×16 pixels of the luminance signal in the macroblock into four groups formed by blocks of 8×8 pixels, and select individually the prediction mode for each block of 8×8 pixels. Change mode infraprogressive 4×4 mode infraprogressive 8×8 is connected with the state of the flag 32 identify the size of the transform block. This point will be described below. As for the mode infraprogressive 4×4, as explained according to the first variant implementation, any of the nine modes, shown in figure 3, is selected in units of blocks of 4×4 pixels. The pixel blocks (upper left, upper, upper right and left) around the block already encoded, processed locally decoded and stored in the memory 16, using the SJ to generate the predicted image.

On the other hand, in the mode infraprogressive 8×8, any of the nine modes, shown Fig, is selected in units of blocks of 8×8 pixels. As follows from comparison with figure 3, the mode infraprogressive 8×8 is obtained by changing the method of prediction mode infraprogressive 4×4, subject to adaptation to the block of 8×8 pixels.

Intra8×8_pred_mode=0: the Neighboring pixel above is used as the predicted image.

Intra8×8_pred_mode=1: Neighboring pixel to the left is used as the predicted image.

Intra8×8_pre_mode=2: the Average value of the eight neighboring pixels is used as the predicted image.

Intra8×8_pred_mode=3: the Weighted average is calculated for every two or three pixels from neighboring pixels and is used as a predicted image (corresponding to the edge at 45 degrees to the right).

Intra8×8_pred_mode=4: the Weighted average is calculated for every two or three pixels from neighboring pixels and is used as a predicted image (corresponding to the edge at 45 degrees to the left).

Intra8×8_pred_mode=5: a Weighted average is calculated for every two or three pixels from neighboring pixels and is used as a predicted image (corresponding to the edge of 22.5 degrees to the left).

Intra8×8_pred_mode=6: Weighted average is calculated DL is every two or three pixels from neighboring pixels and is used as a predicted image (corresponding to the edge of 67.5 degrees to the left).

Intra8×8_pred_mode=7: the Weighted average is calculated for every two or three pixels from neighboring pixels and is used as a predicted image (corresponding to the edge of 22.5 degrees to the right).

Intra8×8_pred_mode=8: the Weighted average is calculated for every two or three pixels from neighboring pixels and is used as a predicted image (corresponding to the edge at 112.5 degrees to the left).

When the mode selection infraprogressive 4×4 sixteen pieces of data of the mode for each macroblock. Thus, to reduce the amount of codes of the information regime, taking into account the fact that the information mode has a high correlation with the neighboring block, the prediction encoding is performed on the basis of the information of the mode on the adjacent block. Similarly, when the mode selection infraprogressive 8×8, taking into account the fact that the mode infraprogressive has a high correlation with neighboring block, the prediction encoding is performed on the basis of the information of the mode on the adjacent block.

(b) the encoding Mode with interpromotional 16×16

The encoding mode with interpromotional 16×16 mode is a mode for predicting blocks of 16×16 pixels, equivalent to the size of a macroblock in a given time. Any of the four modes shown in figure 4, in biretta in units of macroblocks. In the same way as in the mode infraprogressive 4×4 pixel blocks (top left, top and left) around the block already encoded, processed locally decoded and stored in the memory 16, are used to generate the predicted image. Mode types are explained with reference to figure 4 according to the first variant implementation. In the encoding mode with interpromotional 16×16 variable block size is always equal to 4×4. However, going sixteen DC (DC components, average values) in units of blocks of 4×4. Transformation is applied in two stages, i.e. first, the transformation is in units of blocks of 4×4 and converting the AC component remaining after removal of the DC component for each block of 4×4.

The video encoder according to the second variant of implementation differs in that the methods of infraprogressive/conversion/encoding for the three color components are changed on the basis of the flag 33 identification General use mode intracoronary. This point will be described in detail below in section 2.

The spatial prediction 2 assesses mode infraprogressive on the basis of the flag 33 identification General use mode intracoronary for the input signals of the three color components. Flag 33 identify common is the sing mode intracoronary indicates intracoronary is entered for each of the three color components, or the same mode intracoronary allocated separately to all three components. The reason lies in the following basic information.

In the format of 4:4:4 can directly use RGB for color spaces other than Y, Cb and Cr color spaces traditionally used for encoding. In the color space of Y, Cb and Cr components, depending on the structure of the texture of the video signal are removed from the signals Cb and Cr. It is very likely that the best method of intracoronary changes between the Y component and the two components Cb and Cr. (In fact, in the coding system for encoding format 4:2:0 AVC/H.264, for example, high profile 4:2:0, design modes infraprogressive used for component Y and components Cb and Cr, are different). On the other hand, when the encoding is done in RGB and not in the color space of Y, Cb and Cr, deletion patterns textures among the color components is not performed, and the correlation between the components of the signal are identical space high. Thus, it enables to increase the coding efficiency by selecting the common mode intracoronary. This point depends on the definition of color spaces and, in addition, the chair shall sit on the characteristics of the video signal, even if you use a specific color space. Preferably, the coding system itself could adaptive to cope with the characteristics of video signals. Thus, in this embodiment, the flag 33 identification General use mode intracoronary provided in the encoding device, in order to allow flexible video coding format 4:4:4.

The spatial prediction 2 performs the processing prediction for the respective color components on all modes of infraprogressive shown in figure 3, 4 and 13, or a predetermined subset according to the state of the flag 33 identification General use mode intracoronary installed, as described above, and receives the differential signal prediction 4 using myCitadel 3. Efficiency prediction for differential signal prediction 4 is estimated by block 5 of deciding the encoding mode. Unit 5 the decision regarding the encoding mode selects the mode infraprogressive, which obtains the optimal efficiency prediction for the object macroblock from the processing of the prediction performed by the spatial prediction 2. When choosing infraprogressive N×N block 5 making the right relative to the encoding mode displays the encoding mode with interpromotional N×N as the encoding mode 6. When the prediction mode is infraprogressive a 4×4 block 5 of deciding the encoding mode sets the flag 32 identification block size conversion in the conversion block size 4×4". When the prediction mode is infraprogressive 8×8 block 5 of deciding the encoding mode sets the flag 32 identification block size conversion in the conversion block size 8×8". As a method of determining flag 32 identification block size transform different methods. In the encoding device according to the second variant of implementation, as a basic method, to specify the block size in the conversion of the residue obtained by interpromotional N×N, after optimal infraprogressive N×N set unit 5 decision regarding the encoding mode, the flag 32 identify the size of the transform block is determined according to the value of N mode. For example, the size of the transform block is set as a block of 8×8 pixels, when mode is used infraprogressive 4×4. Then, it is highly likely that the spatial continuity of the signal prediction is violated in units of blocks of 4×4 in the differential signal prediction 4, the resulting Pro is noshirvani. If you do not generate high-frequency components. Thus, the effect of the concentration of signal power due to the conversion decreases. If the size of the transform block is set as a block of 4×4 pixels according to the prediction mode, this problem does not occur.

When the block 5 of deciding the encoding mode selects infraprogressive 16×16, block 5 of deciding the encoding mode displays the encoding mode with interpromotional 16×16 as the encoding mode 6. When selecting the encoding mode 6 can be taken into account a weighting factor of 20 for each encoding mode, established by decision unit 19 controls the encoding.

The differential signal prediction 4, the received encoding mode 6, is displayed on the conversion unit 8. The conversion unit 8 converts the differential signal prediction in the conversion, and outputs the conversion coefficient on the block quantization 9. Block quantization 9 quantum entered the conversion coefficient based on the quantization parameter 21 is set by the block 19 control coding, and outputs the conversion coefficient in block 11 of encoding with variable-length words as the quantized conversion factor of 10.

When the size of the transform block is iraheta in units of blocks of 4×4, the differential signal prediction 4, the input to the conversion unit 8 is divided in units of blocks of 4×4, is transformed and quantized block quantization 9. When the size of the transform block is expressed in units of blocks of 8×8, the differential signal prediction 4, the input to the conversion unit 8 is divided in units of blocks of 8×8, is transformed and quantized block quantization 9.

Quantized conversion coefficient 10 is subjected to entropy encoding by, for example, Huffman coding or arithmetic coding on the block 11 of encoding with variable-length words. Quantized conversion coefficient 10 is restored to a differential signal 14 forecasting local decoding by a block 12 of the inverse quantization unit 13 of the inverse transformation block size on the basis of the flag 32 identify the size of the transform block. Quantized conversion factor of 10 is added to the predicted image 7, which is generated based on the encoding mode 6, the adder 18 to generate a local decoded image 15. Locally decoded image 15 is stored in memory 16 for later use when processing infraprogressive. Flag 24 management razblokirovat filter, indicating that CA is applied whether unblocking the filter to the macroblock, also entered in block 11 of encoding with variable-length words (During processing of prediction performed by the spatial prediction 2, since the pixel data before processing razblokirovat filter, stored in memory 16, the processing razblokirovka filter itself is not required to handle the encoding. However, unblocking the filter operates according to the indication flag 24 management razblokirovat filter on the side of the decoder to obtain the final decoded image.).

Flag 33 identification General use mode intracoronary, quantized conversion coefficient 10, the encoding mode 6, and the quantization parameter 21, entered in block 11 of encoding with variable-length words are arranged and formed in the form of a bit stream in accordance with a predetermined rule (syntax) and shown in the transmission buffer 17. The transmission buffer 17 smoothes the bit stream according to the strip transmission line, connected to the encoder, and the reading speed of the recording medium and outputs the bit stream as stream 22. The transmission buffer 17 outputs information feedback unit 19 controls the encoding according to the state of accumulation of the bit stream in the transmission buffer 17, and then controls the amount of codes generated by encoding video frames.

2. Education is such a decision on intracoronary/prediction in the encoder

The following steps detail the mode intracoronary and processing of deciding the mode intracoronary/forecasting, which is characteristic of the encoder according to the second variant of implementation. This processing is performed in units of macroblocks, which posted three color component. Processing is carried out mainly by the spatial prediction 2 and block 5 of deciding the encoding mode in the encoder shown figure 11. A logical block diagram showing the progress of the processing shown in Fig. The image data of the three color components constituting the block are indicated below C0, C1 and C2.

First of all, block 5 of deciding the encoding mode takes the flag 33 identification General use mode intracoronary and make a decision based on the value of the flag 33 identification General use mode intracoronary whether the mode intracoronary common to C0, C1 and C2 (step S20 in Fig). If the General mode infraprogressive block 5 of deciding the encoding mode proceeds to step S21 and the subsequent steps. In case of no use of common mode infraprogressive block 5 of deciding the encoding mode proceeds to step S22 and subsequent steps

When the mode intracoronary is used in common to C0, C1 and C2, block 5 of deciding the encoding mode and notifies the spatial prediction 2 all modes infraprogressive (infraprogressive N×N and interpromotional 16×16)that you can choose. The spatial prediction 2 evaluates the effectiveness of forecasting for all prediction modes and choose the optimum mode intracoronary and infraprogressive for all components (step S21).

On the other hand, when the optimal modes intracoronary selected for C0, C1 and C2, respectively, block 5 of deciding the encoding mode and notifies the spatial prediction 2 all modes infraprogressive (infraprogressive N×N and interpromotional 16×16)that can be selected for the components Ci (i<=0 and<3). The spatial prediction 2 evaluates the effectiveness of forecasting for all modes infraprogressive and selects the optimal mode infraprogressive 4×4 components Ci (i<=0 and<3) (step S23).

When the spatial prediction 2 selects the mode infraprogressive 4×4 mode, allowing optimal efficiency of the prediction on the above steps S21 and S23, the flag 32 identify the size of the transform block is set in the status of the conversion block size 4×4". When the spatial prediction 2 selects the mode infraprogressive 8×8 mode, allowing optimal efficiency of the prediction, the flag 32 identify the size of the transform block is set in the status of the conversion block size 8×8".

As criteria for evaluating the effectiveness of the prediction mode of the prediction performed in the spatial prediction 2 can be, for example, to use the value of the rate/distortion, defined as Jm=Dm+λRm (λ: a positive number). Dm is the measure of the distortion coding or prediction error when using mode infraprogressive m. Distortion coding is obtained using mode infraprogressive m to calculate the prediction error and the decoded video signal from a result obtained by transforming and quantizing the prediction error for the measurement error relative to the signal prior to encoding. The magnitude of the prediction error is obtained by calculating the difference between the predicted image and the input signal prior to encoding when applied mode infraprogressive m, and the quantization level difference. For example, use the sum of absolute distance (SAD). Rm - this is the amount of generated codes when is intrapages the simulation of m. In other words, Jm is a value that specifies the tradeoff between the amount of codes and the degree of deterioration when used mode infraprogressive m. Mode infraprogressive m giving the minimum Jm is the optimal solution.

When the encoder performs the processing at step S21 and the subsequent steps, one piece of information about the mode intracoronary is allocated to the macroblock that includes three color component. On the other hand, when the encoder performs the processing in step S22 and subsequent steps, the information mode intracoronary outstanding color components (three in total), respectively. Thus, since pieces of information about the modes infraprogressive allocated to the macroblock vary, it is necessary to multiplex flag identification General use mode intracoronary 23 in the bit stream and to allow the decoder to recognize implemented if the encoder processing at step S21 and the subsequent steps or carry out processing at step S23 and the subsequent steps. The array data bit stream shown in Fig.

On Fig, modes intracoronary 0(34a), 1(34b) and 2(34c), multiplexity bitstream-level macroblock, indicate encoding modes 6 for the components C0, C1 and C2, respectively. When the mode intracoronary the submitted is an encoding mode with interpromotional N×N, flag 32 identify the size of the transform block and the mode information of infraprogressive multiplexed in the bit stream. On the other hand, when the mode intracoronary represents the encoding mode with the prediction of 16×16, information about the mode infraprogressive is encoded as part of the information mode intracoronary. Information about flag 32 identify the size of the transform block and the mode infraprogressive are not multiplexed in the bit stream. When the flag 33 General use mode intracoronary is "common to C0, C1 and C2, the modes intracoronary 1(34b) and 2(34c), flags identify the size of the transform block 1(32b) and 2(32c) and the modes infraprogressive 1(35b) and 2(35c) are not multiplexed in the bit stream (the part circled with a dotted circle on Fig, indicates the branch of the bitstream). In this case, the mode intracoronary 0(34a), the flag identifying the size of the transform block 0(32a) and the mode infraprogressive 0(35a) play the role of information coding, common to all color components. In the example shown in Fig, flag 33 identification General use mode intracoronary is multiplexed as data bit stream at a level higher than the macroblock, for example at the level of the slice image or sequence. In particular, when the flag itemtitle General use mode intracoronary used by way of example, described according to the second variant implementation, since color space is often not change during the sequence, it is possible to achieve the goal, multiplexer flag 33 identification General use mode intracoronary on the level of sequences.

According to the second variant of implementation, the flag 33 identification General use mode intracoronary is used to indicate "common to all components. However, the flag 33 identification General use mode intracoronary can be used to specify, according to the definition of the color space of the input video signal 1, for example, "common to two specific components, such as C1 and C2 (in the case of Y, Cb and Cr and the like, it is quite possible to use the mode infraprogressive together for Cb and Cr). When the range of the common usage of the flag 33 identification General use mode intracoronary limited mode intracoronary and mode is used infraprogressive N×N, the size of the transform block and the prediction mode N×N can be independently selected for each of the color components (Fig). Using the syntax structure shown in Fig, you can change prediction method for each of the color components and to improve the effectiveness of forecasting using INF is rmacie joint encoding mode of the video signal with a complex template, which requires prediction of N×N.

If the flag 33 identification General use mode intracoronary somehow known in advance to the encoder and the decoder, information about the flag 33 identification General use mode intracoronary is no need to send in the bit stream signal. In this case, for example, in the encoder, the flag 33 identification General use mode intracoronary can be formed for the implementation of sustainable encoding for a certain value or may be transmitted separately from the bitstream of the video.

3. Job description decoder

The decoder shown in Fig, takes the video stream 22, corresponding to the array shown in Fig output of the encoder, shown at 11, performs decoding processing in units of macroblocks, in which three color component are of identical size (format 4:4:4), and restores the corresponding video frames.

First of all, the unit 25 decodes variable length words, which receives the stream 22, decodes the stream 22 in accordance with a predetermined rule (syntax) and extracts information including the flag 33 identification General use mode intracoronary, quantized conversion coefficient 10, the encoding mode 6, and the parameter quantum is of 21. Quantized conversion coefficient 10 is inserted in the block of the inverse quantization 12 together with the quantization parameter 21, and is carried out the processing of the inverse quantization. Then the output signal of the block of the inverse quantization 12 is introduced into the block inverse transform 13 and restored to a differential signal of the prediction of the local decoder 14. On the other hand, the encoding mode 6 and flag 33 identification General use mode intracoronary entered in block spatial prediction 2. The spatial prediction 2 receives the projected image 7 in accordance with these pieces of information. Below will be described a specific procedure to obtain the predicted image 7. The differential signal of the prediction of the local decoder 14 and the predicted image 7 are summed in adder 18 for receiving the internally decoded image 15 (this is completely the same signal as the locally decoded image 15 in the encoder). Internally decoded image 15 is written back to the memory 16 for use in further interpromotional macroblock. Three memory block are prepared for the respective color components. Unblocking the filter 26 receives the command to influence internally decoded depicts the e 15 on the basis of the flag 24 management razblokirovat filter, the decoding unit 25 decodes variable length words, to obtain the final decoded image 27.

4. Processing decoding infraprogressive in decoder

Below will be described the processing of generating intrapreneuring image, which is characteristic of a decoder according to the second variant of implementation. This processing is performed in units of macroblocks, which posted three color component. Processing is carried out mainly by the block 25 decoding with variable word length, and the spatial prediction 2 decoder shown in Fig. A logical block diagram showing the progress of the processing shown in Fig.

Steps S25-S38 in a logical flowchart shown in Fig, carried out by the unit 25 decodes variable length words. The video stream 22 entering the unit 25 decodes variable length words, consistent with the array data shown in Fig. At step S25, primarily decoded data mode intracoronary 0(34a) (corresponding component C0)shown in Fig. As a result, when the mode intracoronary 0(34a) is a "interpromotional N×N", block 25 decoding with variable word length decodes the flag identifying the size of the transform block 0(32a) and the intra mode is prognozirovaniya 0(35a) (steps S26 and S27). Then, when decision is made that the information mode intracoronary/forecasting is common to all the color components, based on the state flag 33 identification General use mode intracoronary, block 25 decoding with variable word length sets the mode intracoronary 0(34a), the flag identifying the size of the transform block 0(32a) and the mode infraprogressive 0(35a) as information encoding used for components C1 and C2 (steps S29 and S30). Processing in units of macroblocks shown in Fig. Flag 33 identification General use mode intracoronary used for decision at step S29, is read from the bit stream 22 unit 25 decodes variable length words at a level equal to or higher than the slice level before unit 25 decodes variable length words will jump to the BEGINNING of the process, shown in Fig.

When at the step S29 shown in Fig, a decision is made that the information mode intracoronary/prediction is encoded for each of the color components, the following steps S31-S38 unit 25 decodes variable length words decode the mode intracoronary/forecasting for components C1 and C2. Encoding modes 6 for the respective color components are the and stages of processing and are displayed on the unit spatial prediction 2 for intraprocedural images for the respective color components in accordance with the steps S39-S41. The process for obtaining intraprocedural images consistent with the procedures shown in figure 3, 4 and 13, and is identical to the processing performed by the encoder shown in 11.

As described above, if the information about the flag 33 identification General use mode intracoronary some way in advance known to the encoder and the decoder, the decoder can perform decoding, for example, with a pre-fixed value, instead of analyzing the value of the flag 33 identification General use mode intracoronary of the bit stream of the video signal, or may transmit the information separately from the bitstream of the video.

In the format of 4:2:0 taken in the traditional coding standard video definition color spaces recorded on the Y, Cb and Cr. In the format of 4:4:4 determining the color space is not limited to Y, Cb and Cr, but you can use different color spaces. With the formation of information coding in intramacrophage, as shown in Fig and 16, it is possible to perform the optimum processing coding according to the definition of the color space of the input video signal 1 and the characteristics of the video signal. In addition, it is possible to uniquely interpret the bit stream obtained as a result of such processing coding to implement the processing of the decoding and playback of the video.

A third option exercise

According to the third variant of implementation described another example of the structures of the encoder, shown at 11, and a decoder shown in Fig. As in the first embodiment, characteristics, meets the invention, are communicated to the encoder and the decoder on the basis of the coding system adopted in the MPEG-4 AVC(ISO/IEC 14496-10)/ITU-TH.264, which is a non-patent document 1. The video encoder according to the third variant of implementation differs from the encoder according to the second variant implementation described with reference to 11, only in respect of the operations of block 11 of encoding with variable-length words. The video decoder according to the third variant of implementation differs from the decoder according to the second variant implementation described with reference to Fig, only in respect of the operations of block 25 decoding variable length words. Otherwise, the video encoder and video decoder perform the same operations as the corresponding device according to the second variant of implementation. Will be explained only the differences.

1. Procedure coding mode infraprogressive in encoder

In the encoder according to the second variant implementation of the block 11 coding with variable word length indicates the array data bit stream to information about the mode of intrapro the licensing N×N, but specifically does not specify the encoding procedure information. In this embodiment, described a particular method of implementation of the encoding procedure. This implementation differs in that, in particular, entropy encoding, which uses the correlation values between the color components is performed for modes infraprogressive N×N obtained in the respective color components, taking into account the case when the values of the modes infraprogressive N×N have a high correlation between the color components.

The following explanation is based on the condition that adopted an array of bit streams in the format shown on Fig. For ease of explanation, the value of the flag 33 identification General use mode intracoronary set on sharing for C0, C1 and C2 mode intracoronary is mode infraprogressive N×N, and the size of the blocks conversion 0-2 equal to 4×4 block. In this case, all modes infraprogressive 0-2 (35a-35c) are modes infraprogressive 4×4. According Fig-20 current macroblock to be coded, marked X. the Macroblock to the left of the current macroblock is A macroblock, and the macroblock to the right and up from the current macroblock is the macroblock B.

As schemes for explaining the encoding procedure for the corresponding C is Etowah components C0, C1 and C2 are used Fig-20. A logical flowchart of the procedure shown in Fig and 22.

The state of the component C0 of the macroblock X is shown in Fig. The block of 4×4 encode, denoted as block X, and blocks of 4×4 to the left and above the block X are referred to as unit A and unit B, respectively. There are two cases according to the position of the block of 4×4, subject to encoding. In case 1, blocks of 4×4 to the left and above the block of 4×4, subject to encoding, are outside the current macroblock X or belong to A macroblock or macroblock B. In case 2, 4×4 blocks on the left and above the block of 4×4, subject to encoding are within the current macroblock X or belong to the macroblock X. In both cases there is a one mode infraprogressive 4×4 for each block X 4×4 macroblock X. This mode infraprogressive 4×4 is denoted CurrIntraPredMode. Mode infraprogressive 4×4 block A is denoted IntraPredModeA, and infraprogressive 4×4 block B is denoted IntraPredModeB. IntraPredModeA and IntraPredModeB represent the information already encoded at the time of encoding block X. When encoding mode infraprogressive 4×4 particular block X block 11 of encoding with variable-length words first carries out the selection of these parameters (step S50 on Fig).

Unit 11 coding with variable word length sets the predicted value predCurrIntraPredMode for CurrIntraPredMode b is Oka X according to the following equation (step S51).

.

Unit 11 coding with variable word length encodes the CurrIntraPredMode of the component C0. If CurrIntraPredMode=predCurrIntraPredMode, the unit 11 coding with variable word length codes 1-bit flag (prev_intra_pred_mode_flag), indicating that CurrIntraPredMode is equal to the predicted value. If CurrIntraPredMode!=predCurrIntraPredMode, then the control unit 11 of encoding with variable-length words compares CurrIntraPredMode and predCurrIntraPredMode. When CurrIntraPredMode smaller unit 11 coding with variable word length codes CurrIntraPredMode as is. When CurrIntraPredMode more block 11 coding with variable word length codes CurrIntraPredMode-1 (step S52).

Procedure coding for component C1 will be described with reference to Fig. First, in the same way as in the encoding procedure for the component C0, block 11 coding with variable word length sets the parameters in the middle of coding, for example IntraPredModeA and IntraPredModeB, according to the position of the block X (step S53).

Unit 11 coding with variable word length sets the prediction value candidate 1 predCurrIntraPredMode1 for CurrIntraPredMode of the block X according to the following equation (step S54).

.

If prev_intra_pred_mode_flag=1 in the component C0, then the control unit 11 of encoding with variable-length words takes this predCurrIntraPredMode1 predCurrIntraPredMode in the block X of the component C1. The reason is the following. The adoption prev_intra_pred_mode_flag=1 in the same position block of the component C0 means that the correlation between the prediction modes high in the near-field image in the component C0. In this case, when the signal is a RGB and the like, which are not completely removed, the correlation structures of the texture between the component C0 and component C1, it is very likely that also in the component C1, the high correlation between areas near the image, as in the component C0. Thus, the block 11 coding with variable word length is determined that the predicted value of the component C1 does not depend on the mode infraprogressive component 4×4 C0.

On the other hand, in the component C0, when prev_intra_pred_mode_flag=0, or rem_intra_pred_mode encoded (step S55), the block 11 coding with variable word length sets CurrIntraPredMode of the component C0 as the predicted value candidate 2 (step S56). This means that

.

This is set as the prediction value candidate due to the following basic information. Coding rem_intra_pred_mode component C0 means that the correlation of infraprogressive between the areas near the image is low in the component C0. In this case, it is assumed that the correlation between the areas near the image is also very low in the component C1. It is likely that the intra modes is prognozirovaniya in the identical position of the block in a different color components give the best predicted values.

Finally, block 11 coding with variable word length sets the predicted value CurrIntraPredMode in block X component C1 as the value of one of the predCurrIntraPredMode1 and predCurrIntraPredMode2 (step S57). What value is used, optionally encoded in a 1-bit flag (pred_flag). However, pred_flag is encoded only when CurrIntraPredMode coincides with the predicted value. When CurrIntraPredMode does not coincide with the predicted value (when encoded rem_intra_pred_mode), predCurrIntraPredMode1 is used as the predicted value.

The above procedure is presented in the form of the following expressions.

// Use the predicted value candidate 1

// Use the predicted value candidate 2

As a result, prev_intra_pred_mode_flag, pred_flag and rem_intra_pred_mode encoded as encoded data (step S58).

Coding procedure for the component C2 will be described with reference to Fig. First of all, in the same manner as in procedure coding for components C0 and C1, block 11 coding with variable word length sets the parameters in the middle of coding, for example IntraPredModeA and IntraPredModeB, according to the position of the block X (step S59).

Unit 11 coding with variable length word of mouth is newlive predicted value candidate 1 predCurrIntraPredMode1 for CurrIntraPredMode of the block X according to the following equation (step S60).

.

If prev_intra_pred_mode_flag=1 in both components C0 and C1, block 11 of encoding with variable-length words takes this predCurrIntraPredMode1 as predCurrIntraPredMode in the block X of the component C1. The reason is the following. The adoption prev_intra_pred_mode_flag=1 in the identical position of the block components C0 and C1 means that the correlation between the prediction modes high in the near-field image in the components C0 and C1. In this case, when the signal is a RGB and the like, which are not completely removed, the correlation structures of the texture between the component C0, component C1 and component C2, it is very likely that also in the component C2, the high correlation between areas near the image, as in the components C0 and C1. Thus, the block 11 coding with variable word length is determined that the predicted value of the component C2 does not depend on the mode infraprogressive 4×4 components C0 and C1.

On the other hand, in the components C0 or C1, when prev_intra_pred_mode_flag=0, or rem_intra_pred_mode encoded (step S61), the block 11 coding with variable word length sets CurrIntraPredMode of the components C0 or C1 as the predicted value candidate 2 (step S62). This means that

This is set as the prediction value candidate due to the following basic information. Coding rem_intra_pred_mode in comp is the components C0 or C1 means, the correlation of infraprogressive between the areas near the image components C0 or C1. In this case, it is assumed that the correlation between the areas near the image also is low in component C2. It is likely that the modes infraprogressive in the identical position of the block in a different color components give the best predicted values. According to this idea, when encoded rem_intra_pred_mode in both components C0 and C1, the current modes infraprogressive C0 and C1 may be candidates for the predicted values. However, the current mode infraprogressive component C1 is taken as the predicted value. In fact, when the input color space YUV very likely that C0 is treated as a luminance signal, and C1/C2 is processed as a color-difference signal, and, in this case, it is assumed that C1 is closer to the prediction mode C2 than C0. In the case of input color spaces RGB is not so important, is selected if C0 or C1. In General, it is believed that it is advantageous to take the C1 component as predicted values (component C2 can be taken as the predicted value, depending on the design).

Finally, block 11 coding with variable word length sets the predicted value CurrIntraPredMode in block X component C2 as the value of one of the predCurrIntraPredMode1 and predCurrIntraPredMode2 (step S63). Which of the values used shall be of additionally coded a 1-bit flag (pred_flag).

The above procedure is presented in the form of the following expressions.

// Use the predicted value candidate 1

// Use the predicted value candidate 2

As a result, prev_intra_pred_mode_flag, pred_flag and rem_intra_pred_mode encoded as encoded data (step S64).

In the same way you can define the above procedure coding mode infraprogressive 8×8. Coding mode infraprogressive N×N in the following procedure, you can use the correlation between infraprogressive N×N and the prediction mode selected in the other color components, and can reduce the amount of codes of the prediction mode and to increase the efficiency of encoding.

The difference between Fig and Fig is whether the processing of the encoding mode infraprogressive in units of MB separately for each of the color components or together. If Fig, block 11 coding with variable word length encodes the respective color components in units of blocks of 4×4 and arranges sixteen templates blocks collected in Bito is the first thread (step S65). If Fig, block 11 of encoding with variable-length words together encodes sixteen blocks of 4×4 of the respective color components and arranges the blocks in the bit stream for each of the color components (steps S66, S67 and S68).

In the above procedure, pred_flag is information, which is effective only when prev_intra_pred_mode_flag equal to 1. However, pred_flag can also be effective when prev_intra_pred_mode_flag equal to 0. In other words, for example, using the component C1, it is possible to carry out the encoding procedure described below.

// Use the predicted value candidate 1

// Use the predicted value candidate 2

According to this method, when encoded rem_intra_pred_mode mode infraprogressive in the block in the identical position of the component C0, pred_flag is always encoded. However, even when prev_intra_pred_mode_flag=0, you can use a more accurate predicted value. Thus, it can be expected to increase coding efficiency. In addition, pred_flag can be coded regardless of coded whether rem_intra_pred_mode mode infraprogressive in the block in the identical position of the component C0. This is the best mode infraprogressive component C0 is always used as the predicted value candidate. Below are expressions that meet the occasion.

// Use the predicted value candidate 1

// Use the predicted value candidate 2

Flag pred_flag can be set in units of macroblocks or sequences, but not in units of blocks of 4×4. When setting pred_flag in units of macroblocks predicted value candidate 1 or predicted value candidate 2 is shared for all blocks of 4×4 macroblock. Thus, it is possible to further reduce the service information transmitted as pred_flag. Since established, according to the definition of input color spaces, whether the prediction value candidate 1 or predicted value candidate 2, pred_flag can be set in units of the sequence. In this case, there is no need to pass pred_flag for each macroblock. Thus, it is possible to further reduce the service information.

2. The procedure of decoding mode infraprogressive in decoder

In the decoder according to the second variant of implementation, the block coding with variable word length 25 indicates the array data bit stream for info the information on the mode infraprogressive N×N, but specifically does not specify the procedure of the decoding information. According to the third variant of implementation described a specific method of implementing the decoding procedure. A third option implementation differs in that, in particular, the bit stream that is subjected to entropy coding, which uses the correlation values between the color components is decoded to infraprogressive N×N obtained in the respective color components, taking into account the case when the values of the modes infraprogressive N×N have a high correlation between the color components.

The following explanation is based on the condition that adopted an array of bit streams in the format shown on Fig. To limit the explanation of the decoding procedure for mode infraprogressive the value of the flag 33 identification General use mode intracoronary in the bit stream is set to share for C0, C1 and C2. Mode infraprogressive N×N is denoted as mode intracoronary. The block of 4×4 is indicated as the size of the transform block 0-2. In this case, all modes infraprogressive 0-2 (35a-35c) are modes infraprogressive 4×4. As in the encoder, the ratio shown in Fig-20, is used for the decoder. In the decoder the current macroblock subject of decterov the tion, marked X. the Macroblock to the left of the current macroblock is A macroblock, and the macroblock to the right and up from the current macroblock is the macroblock B. a Logical block diagram of the decoding procedure is shown in Fig. On Fig the stages mentioned in the same positions, which are shown in Fig and 22 indicate that the processing identical to the processing during execution of the encoder.

The state of the component C0 of the macroblock X is shown in Fig. There are two cases according to the position of the block of 4×4 to be decoded. In case 1, blocks of 4×4 to the left and above the block of 4×4 to be decoded, are outside the current macroblock X or belong to A macroblock and the macroblock B. In case 2, 4×4 blocks on the left and above the block of 4×4 to be decoded, are inside the current macroblock X or belong to the macroblock X. the Block of 4×4, subject to decoding is called a block X, and blocks of 4×4 to the left and above the block X are referred to as unit a and unit B, respectively. In both cases, one mode infraprogressive 4×4 is allocated to each block X 4×4 macroblock X. This mode infraprogressive 4×4 is CurrIntraPredMode. Mode infraprogressive 4×4 block A is IntraPredModeA, and infraprogressive 4×4 block B is IntraPredModeB. Both IntraPredModeA and IntraPredModeB represent the information already decoded at the time of encoding block X. When decoding mode intraprocedural is of 4×4 particular block X, first of all, the unit 25 decodes variable length words carries out the selection of these parameters (step S50).

Block 25 decoding with variable word length sets the predicted value predCurrIntraPredMode for CurrIntraPredMode of the block X according to the following equation (step S51).

.

Unit 25 decodes variable-length decodes words 1-bit flag (prev_intra_pred_mode_flag)indicating CurrIntraPredMode=predCurrIntraPredMode. Prev_intra_pred_mode_flag=1 means that CurrIntraPredMode=predCurrIntraPredMode. Otherwise, the unit 25 decodes variable-word length decoding information (prev_intra_pred_mode_flag=0) and rem_intra_pred_mode from the bitstream. When the result of comparison rem_intra_pred_mode and predCurrIntraPredMode it turns out that rem_intra_pred_mode less set CurrIntraPredMode=rem_intra_pred_mode. When CurrIntraPredMode more set CurrIntraPredMode=rem_intra_pred_mode+1 (step S65).

These procedures, in General, can be represented as follows.

The decoding procedure for the component C1 will be described with reference to Fig. First, in the same way as in the decoding procedure for the component C0, block 25 decoding with variable word length sets the parameters in the middle of coding, for example IntraPredModeA and IntraPredModeB, according to the position of the block X (step S53).

Block 25 decoding with variable word length sets the prog is airwave a candidate value 1 predCurrIntraPredMode1 for CurrIntraPredMode of the block X according to the following equation (step S54).

.

If prev_intra_pred_mode_flag=1 in the component C0, this predCurrIntraPredMode1 accepted as predCurrIntraPredMode in the block X of the component C1. This happens for the same reason as in the case of the encoder.

On the other hand, when prev_intra_pred_mode_flag=0 in the component C0, or when rem_intra_pred_mode is decoded (step S55), the block 25 decoding with variable word length sets CurrIntraPredMode of the component C0 as the predicted value candidate 2 (step S56). This means that

.

This is set as a predicted value candidate due to the same basic information as in the case of the encoder.

Finally, block 25 decoding with variable word length sets the predicted value CurrIntraPredMode in block X C1 component as the value of one of the predCurrIntraPredMode1 and predCurrIntraPredMode2 (step S57). What value is used, optionally decoded 1-bit flag (pred_flag). However, pred_flag is decoded only when CurrIntraPredMode coincides with the predicted value. When CurrIntraPredMode does not coincide with the predicted value (when decoded rem_intra_pred_mode), predCurrIntraPredMode1 is used as the predicted value.

After setting the predicted value candidate 1, predicted value candidate 2, prev_intra_pred_mode_flag, pred_flag and rem_intra_pred_mode through the following procedure block 25, decode the simulation with variable word length decodes CurrIntraPredMode (step S66).

// In this case, pred_flag is not included in the bitstream.

The decoding procedure for the component C2 will be described with reference to Fig. First, in the same manner as in procedure coding for components C0 and C1, block 25 decoding with variable word length sets the parameters in the middle of coding, for example IntraPredModeA and IntraPredModeB, according to the position of the block X (step S59).

Block 25 decoding with variable word length sets the prediction value candidate 1 predCurrIntraPredMode1 for CurrIntraPredMode of the block X according to the following equation (step S60).

predCurrIntraPredMode1=Min(IntraPredModeA, IntraPredModeB).

If prev_intra_pred_mode_flag=1 in both components C0 and C1, this predCurrIntraPredMode1 accepted as predCurrIntraPredMode in the block X of the component C1. This happens for the same reason as in the case of the encoder.

On the other hand, when prev_intra_pred_mode_flag=0 in the components C0 or C1, or when decoded rem_intra_pred_mode (step S61), the block 25 decoding with variable word length sets CurrIntraPredMode of the components C0 or C1 as the predicted value candidate 2 (step S62).

This means that

This is set as a predicted value candidate in the are of the same basic information, as in the case of the encoder.

Finally, block 25 decoding with variable word length sets the predicted value CurrIntraPredMode in block X component C2 as the value of one of the predCurrIntraPredMode1 and predCurrIntraPredMode2 (step S63). What value is used, optionally decoded 1-bit flag (pred_flag). However, pred_flag is decoded only when CurrIntraPredMode coincides with the predicted value. When CurrIntraPredMode does not coincide with the predicted value (when decoded rem_intra_pred_mode), predCurrIntraPredMode1 is used as the predicted value.

After setting the predicted value candidate 1, predicted value candidate 2, prev_intra_pred_mode_flag, pred_flag and rem_intra_pred_mode through the following procedure unit 25 decodes variable-length decodes words CurrIntraPredMode (step S71).

// In this case, pred_flag is not included in the bitstream.

In the same way you can define the above procedure decode mode infraprogressive 8×8. Thanks to the decoding mode infraprogressive N×N in such a procedure it is possible to reduce the amount of codes of the prediction mode and to decode a bit stream with high efficiency coding using correlation m is waiting mode infraprogressive N×N and forecasting, selected in the other color components.

In the above procedure, pred_flag is the information decoded only when prev_intra_pred_mode_flag equal to 1. However, pred_flag is also possible to decode when prev_intra_pred_mode_flag equal to 0.

In other words, for example, using the component C1 can be coded in the procedure described below.

The effect of this method is the same as described in the procedure of encoding on the corresponding side of the encoder. In addition, pred_flag can be decoded regardless, decoded if rem_intra_pred_mode mode infraprogressive in the block in the identical position of the component C0. In this case, the mode infraprogressive component C0 is always used as the predicted value candidate.

Below are expressions that meet the occasion.

As described in the explanation of the encoder, pred_flag can be included in the bitstream in units of macroblocks or sequences, but not in units of blocks of 4×4. When setting pred_flag in units of macroblocks predicted value candidate 1 or predicted value candidate 2 is shared for all blocks of 4×4 macroblock. Thus, service information pred_flag subject to decoding is reduced. As stipulated in the W according to the definition of input color spaces, whether the prediction value candidate 1 or predicted value candidate 2, you can set pred_flag in units of the sequence. In this case also there is no need to pass pred_flag for each macroblock. Thus, the service information is additionally reduced.

The fourth option exercise

Consider the bit stream in the format shown on Fig, according to the second variant of implementation. In the explanation of the second variant of realization, when the mode intracoronary indicates "interpromotional N×N, the modes infraprogressive respective color components C0, C1 and C2 are recognized as the mode infraprogressive 4×4 or infraprogressive 8×8 according to the values of flags identifying block size conversion 0-2 (32a-32c). According to the fourth variant of the implementation shown in Fig, this array of bit streams is modified for transmission, for components C1 and C2, flags display mode infraprogressive 1 and 2 (36a and 36b) at the level of sequences. Flag display mode infraprogressive effective when the mode infraprogressive N×N is selected in the mode intracoronary, and a flag identifying the size conversion unit specifies the conversion of 4×4, i.e. in the case of mode intrapro is generowania 4×4. Flag display mode infraprogressive allows you to navigate between the following two States according to this value.

Condition 1: for component C1 or C2, mode infraprogressive 4×4 to be used individually selected from the nine modes, shown in figure 3, and is encoded.

Condition 2: for component C1 or C2, mode infraprogressive 4×4 limited DC prediction, i.e. intra4x4_pred_mode=2 according to figure 3, and information of the mode infraprogressive not encoded.

For example, when the encoding is done in color spaces, such as Y, Cb and Cr, and in the case of video, high resolution, such as an HDTV or video even more high-resolution block of 4×4 corresponds to an extremely small area of the image. In this case, it may be more efficient to record the information of the prediction mode on the same piece of information and not to disclose information of the prediction mode, which forms the service load than to give room for choice of nine prediction modes component, such as components Cb and Cr, which are not directly support structure of the texture image. Thanks to the implementation of such an array of bit streams, it is possible to perform an optimum encoding corresponding to the characteristics of the input colors of the x space and the characteristics of the signal.

The decoder, which receives the bit stream in the format shown on Fig, decodes flags display mode infraprogressive (36a and 36b) in block 25 of decoding variable-length words, and is a Discerner coded whether the bit stream is in state 1 or state 2, according to the values of flags display mode infraprogressive. Then, the decoder decides for component C1 or C2, is decoded if the mode infraprogressive 4×4 of the bit stream or DC prediction, i.e. intra4×4_pred_mode=2 in figure 3 is used constantly.

According to the fourth variant implementation, in state 2, the components C1 or C2, mode infraprogressive 4×4 limited intra4×4_pred_mode=2. However, only the information of the prediction mode, you need to focus on value unit or it can be other modes of prediction. State 2 can be set to use for the component C1 or C2, the same mode infraprogressive 4×4, as for C0. In this case, since there is no need to encode the mode infraprogressive 4×4 for component C1 or C2, it is possible to reduce the bits service information.

The fifth option exercise

According to the fifth variant of the implementation described another example of the structures of the encoder, shown at 11, and a decoder shown in Fig. As in other embodiments, implementation, features and advantages of the CI, responsive to the invention, are communicated to the encoder and the decoder according to the fifth variant of implementation on the basis of the coding system adopted in the MPEG-4 AVC(ISO/IEC 14496-10)/ITU-TH.264, which is a non-patent document 1. The video encoder according to the fifth variant of implementation differs from the encoder, shown at 11, which is explained according to the second and third variants of implementation, only the operations of block 11 of encoding with variable-length words. The video decoder according to the fifth variant of implementation differs from the decoder shown in Fig, which is explained according to the second and third variants of implementation, only the operations of block 25 decoding variable length words. In the rest of the video encoder and video decoder perform the same operations, which are described according to the second and third variants of implementation. Will be explained only the differences.

1. Procedure coding mode infraprogressive in encoder

In the encoder according to the third variant of implementation described a particular method of encoding information mode infraprogressive N×N in the bit stream in the format shown on Fig, block 11 of encoding with variable-length words. According to the fifth variant of the implementation described a specific method of implementation ol the procedures coding. The fifth option implementation differs in that, in particular, taking into account the fact that the mode value infraprogressive N×N reflects the structure of the texture, serving as a template image, a method of performing adaptive forecasting in the near pixel regions in an identical color component. The following explanation is based on the condition that adopted an array of bit streams in the format shown on Fig. According to the fifth variant of implementation of the information mode infraprogressive N×N for the respective components C0, C1 and C2 independently coded for each of the color components. The encoding method for the component C0 is also applied to C1 and C2. To simplify the explanation will be explained only the encoding method for the component C0. The value of the flag 33 identification General use mode intracoronary is set to use mode intracoronary together for C0, C1 and C2. Mode intracoronary - this mode infraprogressive N×N, and flags identifying block size conversion 0-2 (32a-32c) is a block of 4×4. In this case, all modes infraprogressive 0-2 (35a-35c) are modes infraprogressive 4×4. As diagram illustrating the encoding procedure for the information of the mode infraprogressive N×N for the component C0, is used Fig. On Fig current block to be the s coding, marked X. the Macroblock to the left of the current block is A macroblock, and the macroblock to the right and above the current macroblock is the macroblock B. a Logical block diagram of the encoding procedure is shown in Fig.

According to the third variant of implementation, whichever is smaller IntraPredModeA and IntraPredModeB uniquely stands out as the predicted values predCurrIntraPredMode mode infraprogressive 4×4 CurrIntraPredMode, selected blocks of 4×4 X, respectively, as shown in Fig. This method is also adopted in this standard AVC/H.264. With increasing values of mode infraprogressive N×N, the system generating the projected image is in a more difficult mode where the pixel interpolation that takes into account the orientation of the template image. The fact that a small value is allocated to the mode with high adaptability to a common template image. At low bit rate, because the growth of codes of the prediction mode has a greater impact on mode choice than increasing distortion, this system is useful for coding efficiency of the encoder as a whole. On the contrary, when the bit rate is relatively high, because the increase in the distortion has a greater impact on mode choice than the growth of codes of the prediction mode that is not always true that the smaller of the values of the s IntraPredModeA and IntraPredModeB is optimal. Based on this observation, according to the fifth variant implementation, the accuracy of the predicted values is improved by adapting the job that the predicted values according to the state IntraPredModeA and IntraPredModeB, which is explained below. In this procedure, the value at which CurrIntraPredMode can be assessed most effectively applied to the template image, the block 11 coding with variable word length sets predCurrIntraPredMode based on the state IntraPredModeA and IntraPredModeB (steps S73, set S74 and S75).

(1) When both IntraPredModeA and IntraPredModeB are in the range of from 0 to 2, MIN(IntraPredModeA, IntraPredModeB) is defined as predCurrIntraPredMode.

(2) When IntraPredModeA or IntraPredModeB equal to 3 or more and when the directions of prediction IntraPredModeA and IntraPredModeB completely different (for example, IntraPredModeA is 3, and IntraPredModeB equal to 4), DC prediction (intra4×4_pred_mode=2) is specified as predCurrIntraPredMode.

(3) When IntraPredModeA or IntraPredModeB is 3 or more and when the directions are forecasting the same (for example, IntraPredModeA is 3, and IntraPredModeB equal to 7 (the prediction from the upper right in both IntraPredModeA and IntraPredModeB)), the prediction mode, the interpolating pixel (in the above mode 7), is defined as predCurrIntraPredMode.

As in the third embodiment, the block 11 of encoding with variable-length words performs preparatory processing for pre-coding for example, IntraPredModeA and IntraPredModeB (steps S50, S53 and S59). As a result, predCurrIntraPredMode uniquely deduced from the values IntraPredModeA and IntraPredModeB. Tabulated rules of this job, the predicted values shown in Fig. On Fig shaded areas indicate when traditional rules MIN(IntraPredModeA, IntraPredModeB) does not apply, and the best predicted value is derived from the continuity of the template image. In the procedure (1) use the table class 0. In the procedures (2) and (3) use class table 1.

After establishing predCurrIntraPredMode in the procedure block 11 of encoding with variable-length words does the rest of the coding procedure for the component C0, described according to the third variant of implementation, to complete the coding (steps S52, S58 and S64).

Thus,

In the same way you can define the above procedure coding mode infraprogressive 8×8. Coding mode infraprogressive N×N in such a procedure, can better exploit the correlation of the prediction mode in the near-pixel regions in an identical color component and can reduce the amount of codes of the prediction mode and to increase the efficiency of encoding.

2. The procedure of decoding mode infraprogressive in which codere

In the decoder according to the third variant of the implementation of one specific procedures decoding information about the mode infraprogressive N×N unit 25 decodes variable length words described for the bit stream in the format shown on Fig. According to the fifth variant of the implementation described a specific method of implementing the decoding procedure. The fifth option implementation differs in that, in particular, taking into account the fact that the mode value infraprogressive N×N reflects the structure of the texture, serving as a template image, the adaptive prediction is carried out in the near pixel regions in an identical color component for decoding the encoded bit stream.

The following explanation is based on the condition that adopted an array of bit streams in the format shown on Fig. To simplify the explanation of the value of the flag 33 identification General use mode intracoronary in the bit stream is set to use mode intracoronary together for C0, C1 and C2. Mode infraprogressive N×N is denoted as mode intracoronary, and a block of 4×4 is denoted as flags identifying block size, convert from 0 to 2 (32a-32c). In this case, all modes infraprogressive 0-2 (35a-35c) are modes infraprogressive 4×4. As in the encoder, decode the re will be explained only the component C0 using ratios, shown in Fig (C1 and C2 independently decoded in the equivalent procedure). In the decoder the current macroblock to be decoded, denoted by X. the Macroblock to the left of the current block is A macroblock, and the macroblock to the right and above the current macroblock is the macroblock B.

According to the third variant of implementation, as described in the explanation of the encoder, whichever is smaller IntraPredModeA and IntraPredModeB uniquely stands out as the predicted values predCurrIntraPredMode mode infraprogressive 4×4 CurrIntraPredMode, selected blocks of 4×4 X, respectively, as shown in Fig. On the other hand, in the decoder according to the fifth variant implementation, predCurrIntraPredMode is determined by using the tables shown in Fig, in a procedure identical to the procedure described as coding procedure. Because IntraPredModeA and IntraPredModeB already decoded and famous, you can process almost identical to the coding procedure.

The further procedure is equivalent to the decoding procedure for the component C0, described according to the third variant of implementation. These procedures, in General, can be represented as follows.

In the same way you can define the above procedure decode mode infraprogressive 8×8. Blah is odara decoding mode infraprogressive N×N in such procedure, you can more effectively use the correlation of prediction modes in the pixel regions near identical color component for decoding the encoded bit stream with a reduced amount of codes of the prediction mode.

In the example described above, the predCurrIntraPredMode set fixed using the tables shown in Fig to implement encoding and decoding. However, the modes infraprogressive, often appearing for the States IntraPredModeA and IntraPredModeB, you can encode and decode, updating them one by one. For example, in combination", class=0, IntraPredModeA=0, IntraPredModeB=0, predCurrIntraPredMode=0, is shown in Fig, according to the above variant implementation, predCurrIntraPredMode always 0 when IntraPredModeA=0 and IntraPredModeB=0. However, since the video itself is non-stationary signal, there is no guarantee that this combination is the best, depending on the content of the video. In the worst case, not completely unbelievable that predCurrIntraPredMode does not coincide with the predicted value in most cases for video. Thus, for example, the frequency with which CurrIntraPredMode appears in the case IntraPredModeA=0 and IntraPredModeB=0, counted and every time the encoding and decoding CurrIntraPredMode and predCurrIntraPredMode, updated prediction mode with naive is ssuu the frequency of occurrence in relation to state IntraPredModeA and IntraPredModeB. In this configuration, you can set the predicted value used for encoding and decoding CurrIntraPredMode equal to the optimal value in light of the content of the video.

The sixth option exercise

According to the sixth variant implementation is described another example of the structures of the encoder, shown at 11, and a decoder shown in Fig. As in other embodiments, implementation specifications, conforming to the invention, are communicated to the encoder and the decoder according to the sixth variant of implementation on the basis of the coding system adopted in the MPEG-4 AVC(ISO/IEC 14496-10)/ITU-TH.264, which is a non-patent document 1. The video encoder according to the sixth variant of implementation differs from the encoder, shown at 11, is explained according to the second, third and fifth options for implementation only in the operations of block 11 of encoding with variable-length words. The video decoder according to the sixth variant of implementation differs from the decoder shown in Fig, is explained according to the second, third and fifth options for implementation only in the operations unit 25 decodes variable length words. In the rest of the video encoder and video decoder perform the same operation as the second, third, and fifth versions of the implementation. Will be explained only the differences.

1. Procedure Kodirov who of information mode infraprogressive in encoder

In the encoder according to the third and fifth options implementation described a particular method of encoding information mode infraprogressive N×N in the bit stream in the format shown on Fig, block 11 of encoding with variable-length words. According to the sixth variant implementation described another specific mode for carrying out the encoding procedure. The sixth variant implementation differs in that, in particular, taking into account the fact that the mode value infraprogressive N×N reflects the structure of the texture, serving as a template image, a method of performing adaptive arithmetic coding in the near pixel regions in an identical color component. The following explanation is based on the condition that adopted an array of bit streams in the format shown on Fig. According to the sixth variant of implementation of the information mode infraprogressive N×N for the respective components C0, C1 and C2 independently coded for each of the color components. The encoding method for the component C0 is also applied to C1 and C2. To simplify the explanation will be explained only the encoding method for the component C0. The value of the flag 33 identification General use mode intracoronary is set to use mode intracoronary together for C0, C1 and C2. Mode intracoronary - atorium infraprogressive N×N, and flags identifying block size conversion 0-2 (32a-32c) is a block of 4×4. In this case, all modes infraprogressive 0-2 (35a-35c) are modes infraprogressive 4×4. As diagram illustrating the encoding procedure for the information of the mode infraprogressive N×N for the component C0, is used Fig. On Fig current block to be coded, marked X. the Macroblock to the left of the current block is A macroblock, and the macroblock to the right and above the current macroblock is the macroblock B. a Logical block diagram of the encoding procedure is shown in Fig.

According to the third and fifth variants of implementation, whichever is smaller IntraPredModeA and IntraPredModeB uniquely stands out as the predicted values predCurrIntraPredMode mode infraprogressive 4×4 CurrIntraPredMode, selected blocks of 4×4 X, respectively, as shown in Fig. When the predicted value equal to a specified value, prev_intra_pred_mode_flag is set equal to 1, and the encoding mode infraprogressive 4×4 block X ends. When the predicted value differs from the specified value, the code is transmitted in rem_intra_pred_mode. In this embodiment, CurrIntraPredMode directly subjected to arithmetic coding using state IntraPredModeA and IntraPredModeB. In this case, the encoding procedure, consistent with Comte is XTO-adaptive binary arithmetic coding, adopted in the AVC/H.264 standard.

First of all, block 11 coding with variable word length is CurrIntraPredMode object encoding in binary form in accordance with the format shown in Fig (stage set s76). The first section of the binary sequence is a code for the classification of CurrIntraPredMode as a prediction in the vertical direction or prediction in the horizontal direction (see figure 3). In this example, the DC prediction (intra4×4_pred_mode=2) is classified as a prediction in the horizontal direction. However, the DC prediction (intra4×4_pred_mode=2) can be classified as a prediction in the vertical direction. The second section gives the done bit values of the prediction mode, which are believed to have the highest frequency of occurrence in the vertical direction and horizontal direction, respectively. Third and subsequent sections are configuring code followed by the completion from the unit with the highest frequency of occurrence among the other values of the prediction mode (the second and subsequent sections of the configuration of the binary sequence shown in Fig, it is desirable to set according to the probability of occurrence of characters in the encoding process the actual image data).

Unit 11 coding with variable length of the words and performs immedicable encoding, choosing, for the corresponding sites of the binary sequence, (0,1) table of probability of occurrence to be used. When encoding the first area of the block 11 coding with variable word length sets the context used for arithmetic coding, as follows (step S78).

The context of A(CA): Flag intra_pred_direction_flag representing in binary form, whether the mode infraprogressive prediction in the vertical direction or prediction in the horizontal direction is set to IntraPredModeA and IntraPredModeB. The following four conditions are set as values of the context.

For example, when intra4×4_pred_mode takes on the values 0, 3, 5 and 7, shown in figure 3, intra_pred_direction_flag classified as a prediction in the vertical direction (=0). When intra4×4_pred_mode takes on the values 1, 2, 4, 6 and 8, intra_pred_direction_flag classified as a prediction in the horizontal direction (=1). Conditional probability CurrIntraPredMode on the basis of the States IntraPredModeA and IntraPredModeB are calculated in advance, and the initial table of probability of occurrence (0,1), defined on the basis of conditional probabilities, are highlighted four States of the CA, respectively. Shaping the context thus, it is possible to more accurately estimate the conditional probability of the first is on the site and to improve the efficiency of arithmetic coding. Unit 11 coding with variable word length selects a table of probability of occurrence of the first area according to the value of CAand performs arithmetic coding. Unit 11 coding with variable word length updates a table of probability of occurrence value coding (step S79).

The initial table of probability of occurrence (0,1), defined according to the probability of occurrence of the corresponding prediction mode values that are pre-allocated to the second and subsequent sections. Then, the unit 25 decodes variable length words performs binary arithmetic decoding and updating the table of probability of occurrence in the same way as for the first section.

In the same way you can define the above procedure coding mode infraprogressive 8×8. Coding mode infraprogressive N×N in such a procedure, it is possible to apply adaptive arithmetic coding to encode the information of the prediction mode by using the correlation of prediction modes in the pixel regions near identical color component. This improves the coding efficiency.

2. The procedure of decoding mode infraprogressive in decoder

In the decoder according to the third and fifth options for the implementation of one specific procedures de is tiravanija information about the mode infraprogressive N×N unit 25 decodes variable length words written to the bitstream format, shown in Fig. According to the sixth variant implementation described a specific method of implementing the decoding procedure. The sixth variant implementation differs in that, in particular, taking into account the fact that the mode value infraprogressive N×N reflects the structure of the texture, serving as a template image, the adaptive arithmetic coding is carried out in the near pixel regions in an identical color component for decoding the encoded bit stream.

The following explanation is based on the condition that adopted an array of bit streams in the format shown on Fig. To simplify the explanation of the value of the flag 33 identification General use mode intracoronary in the bit stream is set to use mode intracoronary together for C0, C1 and C2. Mode infraprogressive N×N is denoted as mode intracoronary, and a block of 4×4 is denoted as flags identifying block size, convert from 0 to 2 (32a-32c). In this case, all modes infraprogressive 0-2 (35a-35c) are modes infraprogressive 4×4. As in the encoder, the decoder will be explained only the component C0 using the ratios shown in Fig (C1 and C2 independently decoded in the equivalent procedure). In the decoder the current macroblock to be decoded, denoted by X. the Macro the lock to the left of the current block this is a macroblock, and the macroblock to the right and above the current macroblock is the macroblock B.

According to the third and fifth variants of the implementation described in the explanation of the encoder, whichever is smaller IntraPredModeA and IntraPredModeB uniquely stands out as the predicted values predCurrIntraPredMode mode infraprogressive 4×4 CurrIntraPredMode, selected blocks of 4×4 X, respectively, as shown in Fig. When prev_intra_pred_mode_flag is decoded, and its value is 1, predCurrIntraPredMode accepted as CurrIntraPredMode. When prev_intra_pred_mode_flag equal to zero, rem_intra_pred_mode is decoded to restore mode infraprogressive 4×4 block X is restored. On the other hand, in this embodiment, CurrIntraPredMode directly subjected to arithmetic decoding using state IntraPredModeA and IntraPredModeB. In this case, the decoding procedure, consistent with context-adaptive binary arithmetic decoding adopted in the AVC/H.264 standard.

CurrIntraPredMode subject to decoding, encoded as a binary sequence in accordance with the format shown in Fig. This sequence is sequentially subjected to the binary arithmetic decoding from the left end. As explained in the encoding procedure according to the sixth variant implementation, the first portion of the binary n the coherence is the code for the classification of CurrIntraPredMode as a prediction in the vertical direction or prediction in the horizontal direction (see 3). The second and subsequent sections are configuring code followed by the completion from the unit with the highest frequency of occurrence among the values of the prediction mode. The reason for this configuration code is described in the encoding procedure.

In the decoding process, first of all, when decoding of the first section block 25 decoding with variable word length sets the CAthe same as in the context used in the encoding procedure. Unit 25 decodes variable length words selects a table of probability of occurrence according to the value of CAand performs arithmetic decoding to recover the first section. Block 25 decoding with variable word length updates a table of probability of occurrence value decoding.

The initial table of probability of occurrence (0,1), defined according to the probability of occurrence of the corresponding prediction mode values that are pre-allocated to the second and subsequent sections. Then, the unit 25 decodes variable length words performs binary arithmetic decoding and updating the table of probability of occurrence in the same way as for the first section. Because the binary sequence shown in Fig formed so as to clearly set the appropriate mode cons the licensing values, CurrIntraPredMode is decoded, when restored to a predetermined number of lots.

In the same way you can define the above procedure decode mode infraprogressive 8×8. Thanks to the decoding mode infraprogressive N×N in such a procedure, it is possible to decode the encoded bit stream with a reduced amount of codes of the prediction mode according to an arithmetic coding that allows you to use the correlation of prediction modes in the pixel regions near identical color component.

In the above example, other choices are possible table shown in Fig. For example, you can accept the method of formation of the binary sequence shown in Fig. In this context B, described below, is used for the first section.

Context B(CB): Flag intra_dc_pred_flag representing in binary form, whether the mode infraprogressive vertical DC prediction, is set for IntraPredModeA and IntraPredModeB. The following four States are set as the values of the context.

In figure 3, when intra4×4_pred_mode takes the value 2, intra_dc_pred_flag is set equal to 1. When intra4×4_pred_mode takes other values, intra_dc_pred_flag is set equal to 0. Conditional probability CurrIntraPredMode on the basis of the States IntraPredModeA and IntraPredModeB calculate the SJ in advance and the initial table of probability of occurrence of the values (0,1) of the first section defined on the basis of conditional probabilities, are highlighted four States of the CB, respectively. On Fig the first section aims to take the value 0 when CurrIntraPredMode is DC prediction, and takes the value 1 when CurrIntraPredMode is different from the DC prediction. The above context A(CA) is used for the second plot. Shaping the context thus, it is possible to more accurately estimate the conditional probability of occurrence for the first section and the second section and to increase the efficiency of arithmetic coding.

The seventh option exercise

According to a seventh variant of the implementation will be explained encoder that performs coding using interframe prediction in units obtained by equal division of a video frame that is entered in the format of 4:4:4, the rectangular area (macroblocks) 16×16 pixels, and the decoder corresponding to the encoder. Characteristics conforming to the invention, are communicated to the encoder and the decoder on the basis of the coding system adopted in the MPEG-4 AVC(ISO/IEC 14496-10)/ITU-TH.264.

The structure of the video encoder according to a seventh variant of the implementation shown in Fig. The structure of the decoder according to the seventh variant of the implementation shown in Fig. On Fig components, denoted by the military in the same positions, what components of coder Fig are identical components.

The operation of the encoder in General and decoder in General and the processing of deciding the mode interrogazione and processing of decoding prediction with motion compensation, which are characteristic operations of the seventh variant implementation, will be explained on the basis of these figures.

1. Job description encoder

In the encoder shown in Fig, the corresponding video frames are input as the input video signal 1 in the format of 4:4:4. Input frames are entered in the encoder in units of blocks obtained by dividing the three color components of the macroblocks of identical size and placement of blocks, as shown in figure 10.

First of all, the block 102 prediction motion compensation selects the reference image of one frame of data of a reference image for prediction of motion compensation of one or more frames stored in the memory 16, and carries out processing of prediction for motion compensation for each of the color components in units of macroblocks. Three memory block are prepared for the respective color components (although in the explanation of this option exercise prepare three memory block, the number of memory blocks can accordingly be modified according to design, and). As the size of the unit to perform prediction with motion compensation prepare seven types. First, in units of macroblocks, as shown in Fig(a)-32(d), you can choose any of the sizes 16×16, 16×8, 8×16 and 8×8. When choosing 8×8, as shown in Fig(e)-(h), you can choose any of the sizes 8×8, 8×4, 4×8 and 4×4 for each of the blocks of 8×8. Information about the selected size is displayed as the type of the macroblock, and the information size in units of blocks of 8×8 is output as the type of submicromolar. Displays the identification number and information of a motion vector for the selected reference image for each block.

The video encoder according to a seventh variant of implementation differs method change processing prediction for motion compensation for the three color components on the basis of the flag 123 identification General use mode interrogazione. This point will be described in detail below in paragraph 2.

Block 102 prediction motion compensation performs the processing of prediction for motion compensation for all block sizes or dimensions of the sub-blocks shown in Fig, all motion vectors 137 in a predetermined search range, and may choose one or more reference images to obtain a difference signal prediction 4 according to the motion vectors 137, one reference from the images and myCitadel 3. Unit 5 the decision regarding the encoding mode evaluates the effectiveness of the prediction difference signal prediction 4 and outputs the macroblock type/type submicromolar 106, the motion vector 137, and the identification number of the reference image, which is obtained optimum efficiency prediction, the macroblock to be predictive of treatment prediction performed by the block 102, the prediction motion compensation. When choosing the type of the macroblock/type submicromolar 106 can be taken into account a weighting factor of 20 for each type specified by decision block 19 control coding. Block 102 prediction motion compensation outputs a differential signal of forecasting 4, obtained by prediction with motion compensation based on the type, the motion vector 137, and the selected reference image, a conversion unit 8. The conversion unit 8 converts the differential signal prediction 4 in the conversion, and outputs the conversion coefficient on the block quantization 9. Block quantization 9 quantum entered the conversion coefficient based on the quantization parameter 21 specified by the block 19 control coding, and outputs the conversion coefficient in block 11 of encoding with variable-length words as quantized is efficient conversion 10. Quantized conversion coefficient 10 is subjected to entropy encoding by, for example, Huffman coding or arithmetic coding on the block 11 of encoding with variable-length words. Quantized conversion coefficient 10 is restored to a differential signal of the prediction of the local decoder 14 through the block 12 of the inverse quantization unit 13 inverse transformation. Quantized conversion factor of 10 is added to the predicted image 7, which is generated based on the type of the macroblock/type submicromolar 106, the motion vector 137, and the selected reference image, the adder 18 to generate a locally decoded image 15. Locally decoded image 15 is stored in memory 16 for use in further processing prediction for motion compensation. Flag 24 management razblokirovat filter indicating whether unblocking the filter to the macroblock, is also entered in block 11 of encoding with variable-length words (During processing of prediction performed by the block 102, the prediction motion compensation, since the pixel data before processing razblokirovat filter, stored in memory 16, the processing razblokirovka filter itself is not required to handle the encoding. However, R is blokiruyuschij filter operates under the direction of the flag 24 management razblokirovat filter on the side of the decoder to obtain the final decoded image.).

Flag 123 identification General use mode interrogazione, quantized conversion coefficient 10, the macroblock type/type submicromolar 106, the motion vector 137, and the identification number of the reference image and the quantization parameter 21, entered in block 11 of encoding with variable-length words are arranged and formed in the form of a bit stream in accordance with a predetermined rule (syntax) and shown in the transmission buffer 17. The transmission buffer 17 smoothes the bit stream according to the strip transmission line, connected to the encoder, and the reading speed of the recording medium and outputs the bit stream as stream 22. The transmission buffer 17 outputs information feedback unit 19 controls the encoding according to the state of accumulation of the bit stream in the transmission buffer 17, and then controls the amount of codes generated by encoding video frames.

2. The processing of deciding the mode interrogazione in encoder

Below is described the processing of deciding the mode interrogazione, which is characteristic of the encoder according to the seventh variant implementation. In the following description, the mode interrogazione specifies the block size that serves as an input signal to compensate for the motion vector, i.e., the macroblock type/type submicron the ka. The processing of deciding the mode interrogazione processing means for selecting the macroblock type/type submicromolar, the motion vector and the reference image. Processing is performed in units of macroblocks obtained by the placement of three color components. Processing is carried out mainly by the block 102, the prediction motion compensation and block 5 of deciding the encoding mode in the encoder shown in Fig. A logical block diagram showing the progress of the processing shown in Fig. The image data of the three color components forming unit, hereinafter referred to as C0, C1 and C2.

First of all, block 5 of deciding the encoding mode takes the flag 123 identification General use mode interrogazione and make a decision based on the value of the flag 123 identification General use mode interrogazione whether common mode interrogazione, the total motion vector 137, and the shared reference image for C0, C1 and C2 (step S100 on Fig). When the mode interrogazione, the motion vector 137, and the reference image are used together, block 5 of deciding the encoding mode proceeds to step S101 and subsequent steps. Otherwise, block 5 of deciding the encoding mode transition is to step S102 and subsequent steps.

When the mode interrogazione, the motion vector 137, and the reference image are used together to C0, C1 and C2, block 5 of deciding the encoding mode and notifies the block 102 prediction motion compensation on all modes interrogazione, the search ranges of motion vectors and reference pictures that you can choose. Block 102 prediction motion compensation evaluates the effectiveness of forecasting for all modes interrogazione, range search motion vector and the reference image, and selects the optimum mode interrogazione, the optimal motion vector 137, and the optimal reference image that are common to C0, C1 and C2 (step S101).

When the mode interrogazione, the motion vector 137, and the reference image is not used for C0, C1 and C2, and C0, C1 and C2, respectively, selects the best modes, block 5 of deciding the encoding mode and notifies the block 102 prediction motion compensation on all modes interrogazione, the ranges of the search for the motion vector and the reference images that can be selected for the components Ci (i<=0 and<3). Block 102 prediction motion compensation evaluates the effectiveness of forecasting for all modes interrogazione, range search motion vector and the reference image and SEL is playing an optimum interrogazione, the optimal motion vector 137, and the optimal reference image in the components Ci (i<=0 and<3) (steps S102, S103 and S104).

As criteria for evaluating the effectiveness of the prediction mode of the prediction performed in block 102, the prediction motion compensation can be, for example, to use the value of the rate/distortion, defined as Jm,v,r=Dm,v,r+λRm,v,r (λ: a positive number). Dm,v,r is the distortion of the encoding or the value of the forecast error in the case when the apply mode interrogazione m, the motion vectors v in a predetermined range and the reference image r. Distortion coding is obtained using mode interrogazione m, the motion vectors v and the reference image r for the calculation of the prediction error and the decoded video signal from a result obtained by transforming and quantizing the prediction error for the measurement error relative to the signal prior to encoding. The magnitude of the prediction error is obtained by calculating the difference between the predicted image and the input signal prior to encoding when applied mode interrogazione m, the motion vectors v and the reference image r, and the quantization level difference. For example, use the sum of absolute distance (SAD). Rm,v,r is the amount of generated codes when applied dir is m interrogazione m, the motion vectors v and the reference image r. In other words, Jm,v,r is a value that specifies the tradeoff between the amount of codes and the degree of deterioration when used mode interrogazione m, the motion vectors v and the reference image r. Mode interrogazione m giving the minimum Jm,v,r, motion vectors v and the reference image r give the optimal solution.

When the encoder performs the processing in step S101 and the subsequent steps, a couple of pieces of information about the mode interrogazione, the motion vector 137, and the reference image are allocated to the macroblock that includes three color component. On the other hand, when the encoder performs the processing in step S102 and the subsequent steps, the information mode interrogazione, the motion vector 137, and the reference image are highlighted color components, respectively. Thus, since pieces of information about the modes interrogazione, the motion vector 137, and the reference image, the selected macroblock, are different, you must be muxed flag 123 identification General use mode interrogazione in the bit stream and to allow the decoder to recognize implemented if the encoder processing steps on the step S101 and the subsequent steps or carry out processing at step S102 and subsequent steps. The array data such bitove what about the flow shown in Fig.

The data bit stream at the level of the macroblocks shown in Fig. The macroblock type indicates intra or inter and includes information that serves as a unit of motion compensation during the regime of inter. Type submicromolar is multiplexed only when the 8×8 block size is selected as the type of the macroblock, and includes information block size for each block size 8×8. Base type 128 macroblock and the base type 129 submicromolar indicate the General type of the macroblock and the General type of submicromolar when the flag 123 identification General use mode interrogazione indicates "common to C0, C1 and C2. Otherwise, the base type 128 macroblock and the base type 129 submicromolar indicate the type of macroblock and the type of submicromolar for C0. Extended type 130 macroblock and the extended type 131 submicromolar multiplexed for C1 and C2, respectively, only when the flag 123 identification General use mode interrogazione indicates "not common to C0, C1 and C2. Type 130 macroblock and the extended type 131 submicromolar indicate the type of macroblock and the type of submicromolar for C1 and C2.

Identification number of the reference image is information for specifying the reference image is selected for each block that is larger or equal to the block size of 8×8, which serves as a unit of motion compensation. During intercede, the village is olcu reference image, you can select is one shot, one identification number of the reference image is multiplexed for each block. A couple of pieces of information of the motion vector is multiplexed on the information of the motion vector for each block serving as a unit of motion compensation. The number of identification numbers of the reference image and the pieces of information of motion vectors that need to be muxed equivalent to the number of blocks that serve as the unit of motion compensation, is included in the macroblock. When the flag 123 identification General use mode interrogazione indicates "common to C0, C1 and C2, the identification number of the base 132 of the reference image and information 133 of the base motion vector indicates the identification number of the common reference image and information of a General motion vector. Otherwise, the identification number of the base 132 of the reference image and information 133 of the base motion vector indicates the identification number of the reference image and the information of the motion vector for C0. Identification number 134 of the extended reference image and information 135 advanced motion vector multiplexed for C1 and C2, respectively, only when the flag 123 identification General use mode interrogazione indicates "h is common to C0, C1 and C2". Identification number 134 of the extended reference image and information 135 advanced motion vectors indicate the identification number of the reference image and the information of the motion vector for C1 and C2.

Then, the quantization parameter 21 and the quantized conversion coefficient 10 multiplexed (Although the flag 24 management razblokirovat filter entered in block 11 of encoding with variable-length words shown in Fig not included in Fig, flag 24 management razblokirovat filter is omitted because the flag is not a component necessary to explain the characteristics of a seventh variant of implementation.).

In the format of 4:2:0 taken in the traditional coding standard video definition color spaces recorded on the Y, Cb and Cr. In the format of 4:4:4 determining the color space is not limited to Y, Cb and Cr, but you can use different color spaces. Forming information mode interrogatively, as shown in Fig, it is possible to perform optimal processing of coding, even when the definition of the color space of the input video signal 1 is different. For example, when the color space is defined as RGB, in the area where the structure of the video texture remains the same in the respective components R, G and B, using the information of the common mode interpromotional the I and information of a General motion vector, you can reduce the redundancy mode interrogazione and the information of motion vectors and to increase the coding efficiency. On the other hand, when the color space is defined as Y, Cb and Cr, the structure of the video texture is integrated in Y. Thus, the common mode interrogazione does not always produce the optimal result. Thus, it is possible to obtain an optimal encoding efficiency of the adaptive using advanced mode infraprogressive 30. On the other hand, for example, in the field (component R is equal to 0) without a tinge of red, information optimal interrogazione and the optimal vector for the component R and the information is optimal interrogazione and the optimal motion vector for the components G and B must be different. Thus, it is possible to obtain an optimal encoding efficiency of the adaptive using advanced mode interrogazione, information identifying the enhanced reference image and the information of the extended motion vector.

3. Job description decoder

The decoder shown in Fig, takes the video stream 22, corresponding to the array shown in Fig output of the encoder shown in Fig, performs decoding processing in units of macroblocks, in which three color component identity the initial size (format 4:4:4), and restores the corresponding video frames.

First unit 25 decodes variable length words receives the stream 22, decodes the video stream 22 in accordance with a predetermined rule (syntax) and extracts information including the flag 123 identification General use mode interrogazione, quantized conversion coefficient 10, the macroblock type/type submicromolar 106, the identification number of the reference image, the information of motion vectors and the quantization parameter 21. Quantized conversion coefficient 10 is inserted in the block of the inverse quantization 12 together with the quantization parameter 21, and is carried out the processing of the inverse quantization. Then the output signal of the block of the inverse quantization 12 is introduced into the block inverse transform 13 and restored to a differential signal of the prediction of the local decoder 14. On the other hand, the macroblock type/type submicromolar 106 and the flag 123 identification General use mode interrogazione entered in block 102, the prediction motion compensation. Block 102 prediction motion compensation receives the projected image 7 in accordance with these pieces of information. Below will be described a specific procedure to obtain the predicted image 7. The differential signal prediction l the local decoder 14 and the predicted image 7 are summed in adder 18 for receiving the internally decoded image 15 (this is completely the same signal, as a locally decoded image 15 in the encoder). Internally decoded image 15 is written back to the memory 16 for later use in prediction with motion compensation for the macroblock. Three memory block are prepared for the respective color components (although in the explanation of this option exercise prepare three memory block, the number of memory blocks can be respectively changed according to design). Unblocking the filter 26 receives the command to influence internally decoded image 15 on the basis of the flag 24 management razblokirovat filter the decoded block 25 decoding variable length words, to obtain the final decoded image 27.

2. Processing decoding interrogazione in decoder

The decoder shown Fig, takes the video stream 22, corresponding to the array shown in Fig output of the encoder shown in Fig, performs decoding processing in units of macroblocks with the same size (format 4:4:4) for the three color components and restores the corresponding video frames.

Described in detail below, the processing of generating interpromotional image, which is characteristic of a decoder according to the seventh variant implementation. E is and the processing is performed in units of macroblocks, in which there are three color component. Processing is carried out mainly by the block 25 decoding with variable word length, and the block 102 prediction motion compensation at the decoder, shown in Fig. A logical block diagram of the progress of the processing performed by the block 25 decoding with variable word length shown in Fig.

The video stream 22 is introduced into the unit 25 decodes variable length words, consistent with the array data shown in Fig. At step S110 block 25 decoding with variable word length decodes the flag 123 identification General use mode interrogazione for the data shown in Fig (step S110). Unit 25 decodes variable length words additionally decodes the base type 128 macroblock and the base type 129 submicromolar (step S111). At step S112 (unit 25 decodes variable length words decides whether the mode interrogazione together for C0, C1 and C2, on the basis of the flag 123 identification General use mode interrogazione. When the mode interrogazione is used in common to C0, C1 and C2 (Yes at step S112 (), unit 25 decodes variable length words uses the base type 128 macroblock and the base type 129 submicromolar for all C0, C1 and C2. Otherwise (No at step S112 (), block 25 decoding with the PE the temporal word length uses the base type 128 macroblock and the base type 129 submicromolar mode for C0. Unit 25 decodes variable length words decodes the extended type 130 macroblock and the extended type 131 submicromolar for C1 and C2, respectively (step S113), for information mode interrogazione for C1 and C2. Unit 25 decodes variable length words decodes identification number 132 basic reference images and information 133 of the base motion vector (step S114). When the flag 123 identification General use mode interrogazione points "is used in common to C0, C1 and C2" (Yes at step S115), the unit 25 decodes variable length words uses identification number 132 basic reference images and information 133 of the base motion vector for all C0, C1 and C2. Otherwise (No at step S115), the unit 25 decodes variable length words uses identification number 132 basic reference images and information 133 basic motion vector information for C0. Unit 25 decodes variable length words decodes identification number 134 of the extended reference image and information 135 advanced motion vector for C1 and C2, respectively (step S116). Types 106 macroblock identification number of the reference images and information of the motion vector for the respective color components are mounted on the stages of processing the I. Thus, the unit 25 decodes variable length word displays the types of macroblock 106, the identification number of the reference image and the information of the motion vector at block 102, the prediction motion compensation to obtain projected images with motion compensation of the respective color components.

Variations of the array data bit stream shown in Fig shown in Fig. On Fig flag 123 identification General use mode interrogazione is multiplexed as a flag, located at a higher level data, for example at the level of the slice image or sequence, not as a flag on the macroblock level. Therefore, when possible, to provide adequate performance prediction according to the change at a higher level that is equal to or higher than the slice level, it is possible to reduce the bit proprietary information without multiplexing flag 123 identification General use of the prediction mode for the macroblock level each time when performing processing.

On Fig and 36 flag 123 identification General use mode interrogazione is multiplexed for each macroblock or a higher level of data, such as a slice, a picture or sequence. When the encoding is done in the format of 4:4:4 without the cartoon is of plexipave flag 123 identification General use mode interrogazione, you can always use different modes of interrogazione and information of the motion vector for the corresponding components. The array data bit stream in this case is shown in Fig. On Fig flag 123 identification General use mode interrogazione missing, and information 136 profile, indicating that the processed input image format 4:4:4, is multiplexed data on a higher level, for example the sequence. Extended type macroblock 130, the extended type 131 submicromolar, identification number 134 of the extended reference image and information 135 advanced motion vector multiplexed according to the result of decoding information of the profile.

The eighth option exercise

According to a seventh variant of implementation, the macroblock type/type submicromolar, the motion vector and the reference image can be varied for each of the color components. According to the eighth variant of the implementation will be described video encoder and video decoder, characterized by the ability to specify the type of the macroblock/type submicromolar common to the respective components, and to vary only the motion vector for each of the components. The structure of the video encoder and decoder according to the eighth version of the implementation is the same as on Fig and 31 according to the seventh in which the version of the implementation. However, the patterns differ in that instead of the flag 123 identification General use mode interrogazione used flag 123b identification General use of the motion vector.

1. The processing of deciding the mode interrogazione in encoder

The processing of deciding the mode interrogazione, which is characteristic of the encoder according to an eighth variant of the implementation will be described in detail with emphasis on processing other than the processing according to the seventh variant implementation.

2. The processing of deciding the mode interrogazione in encoder

Processing is performed in units of macroblocks obtained by the placement of three color components. Processing is carried out mainly by the block 102, the prediction motion compensation and block 5 of deciding the encoding mode in the encoder shown in Fig. A logical block diagram showing the progress of the processing shown in Fig. The image data of the three color components forming unit, hereinafter referred to as C0, C1 and C2.

First of all, block 5 of deciding the encoding mode takes the flag 123b identification General use of the motion vector and decides, based on the value of the flag 123b identify common is the sing of the motion vector, are you using a common motion vector 137 for C0, C1 and C2 (step S120 to Fig). When using a common motion vector 137 unit 5 decision regarding the encoding mode proceeds to step S121 and subsequent stages. Otherwise, block 5 of deciding the encoding mode proceeds to step S122 and the subsequent steps.

When the motion vector 137 is used in common to C0, C1 and C2, block 5 of deciding the encoding mode and notifies the block 102 prediction motion compensation on all modes interrogazione, the search ranges of motion vectors and reference pictures that you can choose. Block 102 prediction motion compensation evaluates the effectiveness of forecasting for all modes interrogazione, range search motion vector and the reference image, and selects the optimum mode interrogazione, the optimal motion vector 137, and the optimal reference image that are common to C0, C1 and C2 (step S121).

When the motion vector 137 is not used together for C0, C1 and C2, and the best motion vectors are selected for C0, C1 and C2, respectively, block 5 of deciding the encoding mode and notifies the block 102 prediction motion compensation on all modes interrogazione, the search ranges of motion vectors and reference pictures which you can choose. Block 102 prediction motion compensation evaluates the effectiveness of forecasting for all modes interrogazione, range search motion vector and the reference image, and selects the optimum mode interrogazione and optimal reference image (step 122), and, optionally, an optimal motion vector components Ci (i<=0 and<3) (steps S123, S124 and S125).

Must be muxed flag 123b identification General use motion vectors in the bitstream and to provide recognition flag 123b identification General use of the motion vector on the side of the decoder. The array data bit stream shown in Fig.

The data bit stream at the level of the macroblocks shown in Fig. Type 128b macroblock type 129b of submicromolar and identification number 132b of the reference image are "common to C0, C1 and C2. When the flag 123b identification General use of the motion vector indicates "common to C0, C1 and C2, information 133 of the base motion vector indicates information of a General motion vector. Otherwise, information 133 of the base motion vector indicates the information of the motion vector for C0. Only when the flag 123b identification General use of the motion vector indicates "not common to C0, C1 and C2, information 135 advanced motion vector of multiplex is : for C1 and C2, respectively, and indicates the information of the motion vector for C1 and C2. The macroblock type/type submicromolar 106, shown in Fig and 31, are a common type member 128b macroblock type and 129b of submicromolar shown in Fig.

2. Processing decoding interrogazione in decoder

The decoder according to the eighth variant implementation takes the video stream 22, corresponding to the array shown in Fig output of the encoder according to the eighth variant implementation, performs decoding processing in units of macroblocks with the same size (format 4:4:4) for the three color components and restores the corresponding video frames.

Processing generation interpromotional image, which is characteristic of a decoder according to an eighth variant of the implementation will be described in detail with emphasis on processing other than the processing according to the seventh variant implementation. This processing is performed in units of macroblocks, which posted three color component. Processing is carried out mainly by the block 25 decoding with variable word length, and the block 102 prediction motion compensation at the decoder, shown in Fig. A logical block diagram of the progress of the processing performed by the block 25 decoding with variable word length shown in Fig.

The video stream 22, BB is conducted in block 25 of decoding variable length words, consistent with the array data shown in Fig. At step S126 unit 25 decodes variable-word length decoding type 128b macroblock and the type 129b of submicromolar common to C0, C1 and C2. The size of the block, which serves as a unit of motion compensation depends on the decoded type 128b macroblock or type 129b of submicromolar. Thus, the block 25 decoding with variable word length decodes the identification number 132b of the reference image that are common to C0, C1 and C2, for each block serving as a unit of motion compensation (step S127). At step S128 unit 25 decodes variable-word length decoding flag 123b identification General use of the motion vector. Then, the block 25 decoding with variable word length decodes information 133 of the base motion vector for each block serving as a unit of motion compensation (step S129). At step S130 unit 25 decodes variable length words decides whether the motion vector 137 together for C0, C1 and C2, using the flag 123b identification General use of the motion vector. When the motion vector 137 is used (Yes at step S130), the unit 25 decodes variable length words uses the information of the base motion vector for all C0, C1 and C2. Otherwise (No at step S130), the unit 25 decodes variable length of the fishing uses information 133 of the base motion vector mode for C0 and decodes information 135 advanced motion vector for C1 and C2, respectively (step S131). Since the macroblock types/types submicromolar 106, the identification number of the reference images and information of the motion vector for the respective color components are installed on the processing unit 25 decodes variable length word displays the macroblock types/types submicromolar 106, the identification number of the reference images and information of the motion vector at block 102, the prediction motion compensation to obtain a projected image with motion compensation for respective color components.

Variations of the array data bit stream shown in Fig shown in Fig. According Fig flag 123b identification General use of the motion vector is multiplexed as a flag, located at a higher level data, for example at the level of the slice image or sequence, not as a flag on the macroblock level. Therefore, when possible, to provide adequate performance prediction according to the change at a higher level that is equal to or higher than the slice level, it is possible to reduce the bit proprietary information without multiplexing flag 123b identification General use of the motion vector for the macroblock level each time when performing processing.

According pig and 41 flag 123b identification, and General use of the motion vector is multiplexed for each macroblock or higher level data for example, a slice image or sequence. When the encoding is done in the format of 4:4:4 without multiplexing, the flag 123b identification General use of the motion vector, and other information of the motion vector can always be used for corresponding components. The array data bit stream in this case is shown in Fig. On Fig flag 123b identification General use of the motion vector is missing, and information 136 profile, indicating that the processed input image format 4:4:4, is multiplexed data on a higher level, for example the sequence. Information 135 advanced motion vector is multiplexed according to the result of decoding information profile 136.

According to the eighth variant of implementation, the macroblock type/type submicromolar 106 and the reference image are common to the respective color components, and only the motion vector 137 may vary for each of the color components. Therefore, when sufficient efficiency prediction is obtained by adapting only the motion vector 137 to the respective color components, it is possible to reduce the bits service information without multiplexing the macroblock type/type submicromolar 106 and the identification number of the reference image for each color is starting components.

The ninth option exercise

According to a seventh variant of the implementation can decide whether the macroblock type/type submicromolar 106, the motion vector 137, and the reference image together for three components or change for each of the color components according to the flag 123 identification General use mode interrogazione or profile information 136. However, according to the ninth variant of implementation, assuming that the image in the format of 4:4:4 corresponds to the format Y, Cb, Cr, you can decide whether to use different modes for brightness component (Y) and color difference component (Cb, Cr) (in this case, the common mode is used for two components of color-difference components). Will be explained to the video encoder and video decoder, characterized by the ability to decide whether a common mode for the three components are there different modes of the respective components, or use different modes for the luminance components and color difference components. The structure of the video encoder and decoder according to the ninth version of the implementation is identical to that shown on Fig and 31 according to the seventh variant implementation.

1. The processing of deciding the mode interrogazione in encoder

Processing of deciding whether p is press interrogazione, which is characteristic of the encoder according to a ninth variant of the implementation will be described in detail with emphasis on processing other than the processing according to the seventh variant implementation.

Processing is performed in units of macroblocks obtained by the placement of three color components. Processing is carried out mainly by the block 102, the prediction motion compensation and block 5 of deciding the encoding mode in the encoder shown in Fig. A logical block diagram showing the progress of the processing shown in Fig. The image data of the three color components forming unit, hereinafter referred to as C0, C1 and C2.

First of all, block 5 of deciding the encoding mode takes the flag 123 identification General use mode interrogazione and decides, based on the value of the flag 123 identification General use mode interrogazione whether common mode interrogazione, the total motion vector 137, and the shared reference image for C0, C1 and C2 (step S132 to Fig). When the mode interrogazione, the motion vector 137, and the reference image are used together, block 5 of deciding the encoding mode proceeds to step S133 and the subsequent stages. Otherwise, block 5 the decision regarding the mode is tiravanija proceeds to the stage set s134 and subsequent stages or to step 137 and the subsequent steps.

When the mode interrogazione, the motion vector 137, and the reference image are used together to C0, C1 and C2, block 5 of deciding the encoding mode and notifies the block 102 prediction motion compensation on all modes interrogazione, the search ranges of motion vectors and reference pictures that you can choose. Block 102 prediction motion compensation evaluates the effectiveness of forecasting for all modes interrogazione, range search motion vector and the reference image, and selects the optimum mode interrogazione, the optimal motion vector 137, and the optimal reference image that are common to C0, C1 and C2 (step S133).

When the mode interrogazione, the motion vector 137, and the reference image is not used for C0, C1 and C2, and C0, C1 and C2, respectively, selects the best modes, block 5 of deciding the encoding mode and notifies the block 102 prediction motion compensation on all modes interrogazione, the ranges of the search for the motion vector and the reference images that can be selected for the components Ci (i<=0 and<3). Block 102 prediction motion compensation evaluates the effectiveness of forecasting for all modes interrogazione, range search motion vector and the reference image and SEL is playing an optimum interrogazione, the optimal motion vector 137, and the optimal reference image in the components Ci (i<=0 and<3) (steps set s134, S135 and S136).

When the mode interrogazione, the motion vector 137, and the reference image are used for C1 and C2, and the best modes are selected for C0 (equivalent component brightness) and C1 and C2 (equivalent to the color difference components), block 5 of deciding the encoding mode and notifies the block 102 prediction motion compensation on all modes interrogazione, the ranges of the search for the motion vector and the reference images that can be selected in the component C0. Block 102 prediction motion compensation evaluates the effectiveness of forecasting for all modes interrogazione, range search motion vector and the reference image, and selects the optimum mode interrogazione, the optimal motion vector 137, and the optimal reference image in the component C0 (step S137). Unit 5 the decision regarding the mode coding block 102 notifies the prediction motion compensation on all modes interrogazione, the ranges of the search for the motion vector and the reference images that can be selected in the components C1 and C2. Block 102 prediction motion compensation evaluates the effectiveness of forecasting for all modes interrogazione, dia is asonov search motion vector and the reference image, and selects the optimum mode interrogazione, the optimal motion vector 137, and the optimal reference image that are common to C1 and C2 (step S138).

The array data bit stream output by the encoder according to a ninth variant of implementation, the same as shown in Fig. When the flag 123 identification General use mode interrogazione indicates "common to C1 and C2, the extended type macroblock 130, the extended type 131 submicromolar, advanced reference identification number 134 and information 135 extended motion vector information are common to C1 and C2.

2. Processing decoding interrogazione in decoder

The decoder according to the ninth variant implementation takes the video stream 22, corresponding to the array shown in Fig output of the encoder according to a ninth variant implementation, performs decoding processing in units of macroblocks with the same size (format 4:4:4) for the three color components and restores the corresponding video frames.

Processing generation interpromotional image, which is characteristic of a decoder according to a ninth variant of the implementation will be described in detail with emphasis on processing other than the processing according to the seventh variant implementation. This processing is performed in units of macroblocks, which posted three color component. Education is denied is, basically, the block 25 decoding with variable word length, and the block 102 prediction motion compensation at the decoder, shown in Fig. A logical block diagram of the progress of the processing performed by the block 25 decoding with variable word length shown in Fig.

The video stream 22 is introduced into the unit 25 decodes variable length words, consistent with the array data shown in Fig. At step S140 unit 25 decodes variable-word length decoding flag 123 identification General use mode interrogazione for the data shown in Fig (step S140). Unit 25 decodes variable length words additionally decodes the base type 128 macroblock and the base type 129 submicromolar (step S141). At step S142 unit 25 decodes variable length words decides whether the mode interrogazione together for C0, C1 and C2, on the basis of the flag 123 identification General use mode interrogazione. When the mode interrogazione is used in common to C0, C1 and C2, the unit 25 decodes variable length words uses the base type 128 macroblock and the base type 129 submicromolar for all C0, C1 and C2. Otherwise, the unit 25 decodes variable length words uses the base type 128 macroblock and the base type 129 submicromolar as re the ima for C0. In addition, when the common mode is used for C1 and C2, block 25 decoding with variable word length decodes the extended type 130 macroblock and the extended type 131 submicromolar common to the components C1 and C2 (step S143). When different modes are used for C0, C1 and C2, block 25 decoding with variable word length decodes the extended type 130 macroblock and the extended type 131 submicromolar for C1 and C2, respectively (steps S144, S145 and S146), for information regime for C1 and C2. Unit 25 decodes variable length words decodes identification number 132 basic reference images and information 133 of the base motion vector (step S147). When the flag 123 identification General use mode interrogazione points "is used in common to C0, C1 and C2, block 25 decoding variable length words uses identification number 132 basic reference images and information 133 of the base motion vector for all C0, C1 and C2. Otherwise, the unit 25 decodes variable length words uses identification number 132 basic reference images and information 133 basic motion vector information for C0. In addition, when the common mode is used for C1 and C2, block 25 decoding with variable word length decodes the identification number 134 extended support from the images and information 135 advanced motion vector, total for components C1 and C2 (step 149). When different modes are used for C0, C1 and C2, block 25 decoding with variable word length decodes the identification number 134 of the extended reference image and information 135 advanced motion vector for C1 and C2, respectively (steps S150, S151 and S152). Types of macroblock 106, the identification number of the reference image and the information of the motion vector for the respective color components are installed on the processing stages. Thus, the unit 25 decodes variable length word displays the types of macroblock 106, the identification number of the reference image and the information of the motion vector at block 102, the prediction motion compensation to obtain projected images with motion compensation of the respective color components.

Similarly, in the case of an array data bit stream shown in Fig when the flag 123 identification General use mode interrogazione indicates "common to C1 and C2, the extended type macroblock 130, the extended type 131 submicromolar, advanced reference identification number 134 and information 135 extended motion vector information are common to C1 and C2. The operation of the video encoder and decoder, in which is introduced a stream that meets the data array shown in Fig, and from which video is Otok is displayed, the same as in the case shown in Fig.

According to a ninth variant of implementation, the macroblock type/type submicromolar 106, the motion vector 137, and the reference image may vary for each of the color components. The macroblock type/type submicromolar 106 and the reference image can also be common to the respective components, and only the motion vector 137 is common to the three components to be changed for each of the components, or be common to C1 and C2, and the best are selected for C0, C1 and C2, respectively. The array data bit stream in this case is consistent with Fig or Fig. In this case, as in the above case, when the flag 123 identification General use mode interrogazione indicates "common to C1 and C2", 135 extended motion vector information is common to C1 and C2.

The tenth option exercise

According to the tenth version of the implementation will be described a method of encoding an input motion vector 137, and multiplexing the motion vector 137 in the bit stream in block 11 of encoding with variable word length coder, described according to a seventh variant of implementation, and the method of decoding the motion vector 137 of the bit stream in block 25 decoding with variable word length decoder corresponding to the encoder.

On Fig showing the outline structure of the unit 11 coding with variable word length encoder, shown in Fig, which is the unit of encoding the motion vector, which encodes the motion vector 137.

Will be described a method of multiplexing the motion vectors 137 the three color components (C0, C1, and C2) in the bit stream in the order of C0, C1 and C2.

The motion vector 137 for C0 marked mv0. In block 111, the prediction motion vector is determined by the projected vector (mvp0) of the motion vector 137 for C0. As shown in Fig, motion vectors (mvA0, mvB0 and mvC0) block (A, B, and C on Fig)adjacent to a block where a motion vector encode (mv0), retrieved from memory. The motion vectors 137 for A, B and C are already multiplexed in the bit stream. Median mvA0, mvB0 and mvC0 is calculated as mvp0. Calculated projected vector mvp0 and the motion vector mv0 encode entered in block 112 calculating a differential motion vector. In block 112 calculating a differential motion vector is calculated by a differential motion vector (mvd0) between mv0 and mvp0. The calculated differential motion vector mvd0 is entered in block 113 encoding a differential motion vector with variable word length, and subjected to entropy encoding by, for example, Huffman coding or arithmetic coding.

The motion vector (mv1) for C1 is encoded. In block 111, the prediction motion vector is determined by the projected vector(mvp1) of the motion vector 137 for C1. As shown in Fig, motion vectors (mvA1, mvB1 and mvC1) block adjacent to a block where a motion vector (mv1), encode, and the motion vector (mv0) for C0 in the same position as in the block where mv1 is retrieved from the memory 16. The motion vectors 137 for A, B and C are already multiplexed in the bit stream. Median mvA1, mvB1, mvC1 and mv0 is calculated as mvp1. Calculated projected vector mvp1 and the motion vector mv1 encode entered in block 112 calculating a differential motion vector for calculating a differential motion vector (mvd1=mv1-mvp1) between mv1 and mvp1. The calculated differential motion vector mvd1 is entered in block 113 encoding a differential motion vector with variable word length, and subjected to entropy encoding by, for example, Huffman coding or arithmetic coding.

The motion vector (mv2) for C1 is encoded. In block 111, the prediction motion vector is determined by the projected vector (mvp2) of the motion vector 137 for C1. As shown in Fig, motion vectors (mvA2, mvB2 and mvC2) block adjacent to a block where a motion vector (mv2)encode motion vectors (mv1 and mv2) for C0 and C1 in the same position as in the block where mv2, is retrieved from memory. Median mvA2, mvB2, mvC2, mv0 and mv1 is calculated as mvp2. Calculated projected vector mvp2 and the motion vector mv2, p is improper coding, entered in block 112 calculating a differential motion vector for calculating a differential motion vector (mvd2=mv2-mvp2) between mv2 and mvp2. The calculated differential motion vector mvd2 is entered in block 113 encoding a differential motion vector with variable word length, and subjected to entropy encoding by, for example, Huffman coding or arithmetic coding.

On Fig shows a diagram of the structure of the unit 25 decoding with variable word length encoder shown in Fig, which is a block 250 decoding motion vector, which decodes the motion vector 137.

In block 250 decoding the motion vector of the motion vectors 137 three color components are multiplexed on the video stream 22 are decoded in the order of C0, C1 and C2.

In block 251 decoding of differential motion vectors with variable word length differential motion vector mvd0, mvd1 and mvd2) three color components (C0, C1, and C2)that are multiplexed to the video stream 22, extracted, and subjected to decoding variable length words.

In block 252, the prediction motion vector is calculated projected vectors (mvp0, mvp1 and mvp2) motion vectors 137 for C0, C1 and C2. Method of calculation of the projected vectors is the same as that used in block 111 prediction motion vector encoder.

In block 253 calculating, key writing, the motion vector differential motion vectors and the projected vectors are summed to calculate the motion vector mvi=mvdi+mvpi (i=0, 1, 2)). The calculated motion vectors 137 are stored in memory 16 for use as the predicted vector candidate.

According to the tenth variant implementation for encoding and decoding motion vectors, a motion vector of an identical color component block adjacent to a block where a motion vector that encode motion vectors of other blocks of color component in the same position as in the block where a motion vector to be coded, is used as the predicted vector candidate. Thus, for example, in the absence of the continuity of the motion vector of the neighboring block in the identical color component in the boundary region of the object and the like, the motion vectors of the blocks in the same positions of different color components are used as the predicted vector candidate. This improves the efficiency of the prediction motion vector and reduce the amount of codes of the motion vector.

Eleventh option exercise

According to the eleventh version of the implementation will be described examples of a different encoder and different decoder output of the encoder and decoder described according to a seventh variant of implementation. Encoder and decoder according to the eleventh variant of the implementation of the decision, according to pre-determined the military control signal coded whether the components C0, C1 and C2 in the macroblock in accordance with the individual pieces of header information, and multiplexers information about the control signal to the video stream 22. Encoder and decoder are providing a means of multiplexing header information required for decoding of the components C0, C1 and C2, to the video stream 22 according to the control signal and the effective coding missed (or nakedyoung) macroblock in the absence of information about the motion vector, which should be transmitted according to the control signal and the conversion factor.

In the traditional system of video coding MPEG, including AVC, case when encoding information that you want to transfer absent for a macroblock to be coded, specially subjected alarm for the realization of highly efficient coding with a minimum amount of codes of the macroblock. For example, when trying to encode a macroblock, the image data in exactly the same position in the reference picture used for prediction with motion compensation, are used as a predicted image (i.e., the motion vector is equal to zero), and the received signal prediction error is transformed and quantized. As a result, when all the coefficients of the transformation of the project after quantization are zero, the amplitude of the received signal prediction error is equal to zero on the side of decoding, even if the inverse quantization. There is no evidence of conversion factors that must be passed to the decoder. In addition, when it is assumed that the motion vector is equal to zero, you can define a special type of macroblock zero motion vector and the lack of data conversion". Such a macroblock is traditionally referred to as the skip macroblock or neodrepanis a macroblock and is adapted not to transmit unnecessary information through the implementation of special alarm. In AVC, the assumption about the motion vectors is a condition "when is the prediction of 16×16, shown in Fig(a), and when the predicted values (predicted vectors mvp0, mvp1 and mvp2)used to encode the motion vector equal to the actual motion vectors". In the absence of these conversion factors, which are responsible for the condition and that you should pass, the macroblock is considered a skip macroblock. In the traditional AVC, when encoding this skipped macroblock, any of the following two methods is selected according to the used coding system with variable word length.

Method 1: Count the number of (word length) missed microblo is s, continuing in the slice, and the word length is subjected to encoding with variable word length.

Method 2: if you Encode a flag indicating whether each macroblock skip macroblock.

The syntax of the bit stream according to the methods shown in Fig. On Fig(a) shows the case when the adaptive Huffman coding is used as the coding system with variable word length (method 1). On Fig(b) shows the case when using adaptive arithmetic coding (method 2). In the case of method 1 alarm for the skipped macroblock is performed by mb_skip_run. In the case of method 2 alarm for the skipped macroblock is performed by mb_skip_flag. MB(n) specifies the coded data of the n-th macroblock (which is not a skip macroblock). Note that mb_skip_run and mb_skip_flag are allocated in units of macroblocks, which are going components C0, C1 and C2.

On the other hand, in the encoder and the decoder according to the eleventh variant implementation provides a way to change the header information includes a motion vector etc. for each of the components C0, C1 and C2, according to the state of the control signal, i.e. a signal that is equivalent to the flag 123 identification General use mode interrogazione described according to a seventh variant of implementation,and the implementation of the alarm skipped macroblock for each of the components C0, C1 and C2. Specific examples of the syntax of the bitstream shown in Fig and 50.

The data structure is encoded in units of macroblocks that are output by the encoder according to the eleventh variant implementation and input to the decoder according to the eleventh variant implementation, shown in Fig. The detailed structure of the encoded data information of the header component Cn on Fig shown in Fig. In the following description, to explain the advantages of this structure of the bit stream will be mainly described operations at the decoder, which receives the bitstream and reconstructs the video signal. The explanation of the operations of the decoder described with reference to Fig.

Flag 123 identification General use mode interrogazione according to the seventh variant implementation is expressed as a flag 123c identify the common usage of the header macroblock by explaining its determination. Flag 123c identify the common usage of the macroblock header is a flag that expresses information 139a of the C0 component header as the header information of the macroblock and specifies whether only information 139a of the C0 component header is multiplexed as header information used for components C1 and C2, or information 139b of title for the component C1 and information 139c header component C2 separately multiplexers as information extended header respectively. Flag 123c identify the common usage of the header macroblock is extracted from the video stream 22 and decoded by the block 25 decoding variable length words. When the flag indicates that the only information 139a of the C0 component header is multiplexed as header information used for components C1 and C2 decoding, which uses information 139a of the C0 component header, applies to all components C0, C1 and C2 in the macroblock. When the flag indicates that the information 139b of title for the component C1 and information 139c header component C2 separately multiplexed information of the extended header, decoding, in which fragments 139a-139c header information related to the corresponding components C0, C1 and C2 in the macroblock, is applied to the component. This point will be explained in more detail below as processing in units of macroblocks.

1. when is multiplexed only the header information of the component C0

When the flag 123c identify the common usage of the header macroblock indicates that only information 139a of the C0 component header is multiplexed as header information used for components C1 and C2 decoding macroblock applies to all components C0, C1 and C2 on the basis of various kinds of information zag is deft macroblock, included in the information 139a of the C0 component header. In this case, information 138a display skip component C0 and information 139a of the C0 component header used for both components C1 and C2 information (138b and 138c) indication pass and information (139b and 139c) header for components C1 and C2 are not multiplexed in the bit stream.

First unit 25 decodes variable length words decodes and evaluates information 138a display skip component C0. When information 138a display skip component C0 indicates the skip block 25 decoding variable length words believes that the information 139a of the C0 component header is not encoded, and information 142 indicating the efficiency/inefficiency of the conversion information 139a header component C0 is equal to zero (no coded transform coefficients). It is therefore considered that the data conversion components C0-C2 (140a-140c) are not encoded, and all quantized transform coefficients 10 macroblocks are set equal to zero for output. In addition, the block 25 decoding with variable word length sets the motion vectors 137 all components C0, C1 and C2 with the same value in accordance with the definition of the skipped macroblock, and outputs the motion vector 137.

When information 138a display pass com is Ananta C0 indicates "not to miss", unit 25 decodes variable length words believes that the information 139a of the C0 component header is present, and performs decoding information 139a of the C0 component header. When type 128b macroblock information 139a of the C0 component header specifies interaktywna, unit 25 decodes variable-word length decoding mode infraprogressive 141, information 142 indicate the effectiveness/ineffectiveness of the transform coefficients and the quantization parameter (if the information 142 indicate the effectiveness/ineffectiveness of transformation coefficients is not equal to 0). If the information 142 indicate the effectiveness/ineffectiveness of transformation coefficients is not equal to zero, block 25 decoding with variable word length decodes the data conversion components C0-C2 (140a-140c) and outputs the data conversion component C0 in the form of quantized conversion coefficient 10. When information 142 indicate the effectiveness/ineffectiveness of transform coefficients is equal to zero, block 25 decoding variable length words believes that all of the data conversion components C0-C2 (140a-140c) is equal to zero, and all quantized transform coefficients 10 macroblocks are set equal to zero for output. When type 128b macroblock indicates intermediaware, the block 25 is kodirovanija with variable word length decodes the type 129b of submicromolar and additionally decodes the identification number of the reference image 132b, information of the motion vector 133b, information 142 indicate the effectiveness/ineffectiveness of the transform coefficients and the quantization parameter 21 (if the information 142 indicate the effectiveness/ineffectiveness of transformation coefficients is not equal to 0). If the information 142 indicate the effectiveness/ineffectiveness of transformation coefficients is not equal to zero, block 25 decoding with variable word length decodes the data conversion components C0-C2 (140a-140c) and outputs the data conversion component C0 in the form of quantized conversion coefficient 10. When information 142 indicate the effectiveness/ineffectiveness of transform coefficients is equal to zero, block 25 decoding variable length words believes that all of the data conversion components C0-C2 (140a-140c) is equal to zero, and all quantized transform coefficients 10 macroblocks are set equal to zero for output. As in the seventh embodiment, the decoding of the macroblock is performed in accordance with a predetermined procedure using the output unit 25 decodes variable-length words in accordance with the above operation.

2. When is multiplexed header information for the components C0, C1 and C2, respectively

When the flag 123c identificat the AI General use header macroblock indicates what information 139b of title for the component C1 and information 139c header component C2 multiplexed as information extended header separately from the information 139a of the C0 component header, decoding of the macroblock is applied to each of the components C0, C1 and C2 on the basis of various types of header information of a macroblock included in the header information of the component C0 (139a-139c), respectively. In this case, the information display control (138b and 138c) and header information (139b and 139c) for components C1 and C2 are multiplexed in the bit stream.

First unit 25 decodes variable length words decodes and evaluates information 138a display skip component C0. When information 138a display skip component C0 indicates the skip block 25 decoding variable length words believes that the information 139a of the C0 component header is not encoded, and information 142 indicating the efficiency/inefficiency of the conversion information 139a header component C0 is equal to zero (no coded transform coefficients). It is therefore considered that the data 140a conversion component C0 is not encoded, and all quantized transform coefficients in the components C0 are set equal to zero (i.e. the ratio between the information 138a display skip component C0 and info is the information 142 indicating the efficiency/inefficiency of the conversion coefficient is changed according to the value of the flag 123c identify the common usage of the header macroblock). In addition, the block 25 decoding with variable word length sets the motion vector 137 component C0 in accordance with the definition in the case of pass component C0, and outputs the motion vector 137.

When information 138a display skip component C0 indicates "not to miss", block 25 decoding variable length words believes that the information 139a of the C0 component header is present, and performs decoding information 139a of the C0 component header. When the macroblock type 128b information 139a of the C0 component header specifies interaktywna, unit 25 decodes variable-word length decoding mode infraprogressive 141 (spatial prediction, in which the pixel closest to the pixel of the object of the prediction frame is used as the predicted value), information 142 indicate the effectiveness/ineffectiveness of the transform coefficients and the quantization parameter 21 (if the information 142 indicate the effectiveness/ineffectiveness of transformation coefficients is not equal to 0). If the information 142 indicate the effectiveness/ineffectiveness of transformation coefficients is not equal to zero, block 25 decoding with variable word length decodes the data conversion component C0 and outputs the data conversion component C0 in the form of quantized to the ratio of conversion 10. When the information indicating the efficiency/inefficiency of transform coefficients is equal to zero, block 25 decoding variable length words believes that all of the data conversion component C0 is equal to zero. When the macroblock type indicates intermediaware, block 25 decoding with variable word length decodes the type of submicromolar and additionally decodes the identification number of the reference image, the information of the motion vector information indicating the efficiency/inefficiency of the transform coefficients and the quantization parameter (if the information indicating the efficiency/inefficiency of conversion factors is not equal to 0). If the information indicating the efficiency/inefficiency of conversion factors is not equal to zero, block 25 decoding with variable word length decodes the data conversion component C0 and outputs the data conversion component C0 in the form of quantized conversion coefficient 10. When the information efficiency/inefficiency of transform coefficients is equal to zero, block 25 decoding variable length words believes that all of the data conversion component C0 is equal to zero. Unit 25 decodes variable length words provides the procedure for treatment 1 and C2 in the same way.

As in the seventh embodiment, the decoding of the respective components C0, C1 and C2 in the macroblock is carried out in accordance with a predetermined procedure using the output unit 25 decodes variable-length words in accordance with the above operations.

Operations on the side of the decoder, mainly described above. Due to such formation of the bitstream, obtained the following effects. First of all, in the traditional AVC, there is only one set of header information (Fig) per one macroblock. Should work together to implement the decision of intra/inter for all components C0-C2 and to perform encoding in accordance with the header information. When the component signal is equivalent to the luminance signal, which transfers the contents of the image signal, equivalent included in three color component, as in the format of 4:4:4, you may experience a fluctuation characteristics of the signal strength of character include noise, etc. in the input video signals in the respective components. Not always optimally encode all of the components C0-C2 together. Provided job structures of the bit stream shown in Fig and 50 according to the eleventh variant implementation, the encoder can choose, through flag 123c identification General use C the head of the macroblock, the optimal encoding mode (type of the macroblock, including the types of intra/inter-coding), the optimal motion vector, etc. corresponding to the characteristic of the signal, and to perform encoding for each of the components C0-C2 and can improve the coding efficiency. Traditionally, since the encoding in units of macroblocks, which are going all the components C0-C2, the decision to skip macroblock in the absence of information encoding for all components. However, according to the eleventh version of the implementation, since it is possible to decide on the presence or absence of information encoding for each component according to data 138 indicating the skip when the skip is only a particular component, and other components are not ignored, there is no need for decision-making concerning the fact that no component is skipped. This allows more efficient allocation amount of codes. In the encoder value information 138 indication of passes is determined by the block 11 coding with variable word length on the basis 10 of the quantized conversion coefficient, the motion vector 137, identification number 132b of the reference image and the macroblock type/type submicromolar 106 in accordance with the definition of a missed makr the block, uniformly set in the encoder and the decoder.

The structure of the bit stream processed by the encoder and decoder according to the eleventh variant implementation, may be such as shown in Fig. In this example, information indicating the skip (138), header information (139a-139c) and data conversion (140a-140c) of the respective components C0, C1 and C2 together are placed, respectively. In this case, information indicating pass the appropriate state C0, C1 and C2 can be accommodated in 1-bit code symbols, or eight States can co-locate in the same character code. When the correlation with the state of the skip high among the color components, it is possible to improve the coding efficiency of the information display 138 passes through the collection of code symbols for the proper job contextual models of arithmetic coding (described below in the twelfth embodiment).

Flag 123c identify the common usage of the header macroblock can be muxed into a bit stream in units of data of arbitrary level, for example, macroblock, slice, image or sequence. With the constant presence of differences in the characteristics of the signal between the color components in the input signal, if the flag 123c identify the common usage of the header macroblock m is liplicious in units of sequences, it is possible to perform efficient encoding with a smaller amount of overhead. If the flag 123c identify the common usage of the header macroblock is multiplexed on the image level, we can expect the effect, for example, improve balance coding efficiency and the amount of arithmetic operations using a common header in the first image having a small number of variations of the type of the macroblock, and using a separate header for each of the color components in the image P and B with a large number of variations of the type of the macroblock. In addition, we can say that the change in the level image is also desirable for control coding for a video signal, the characteristic of which is changed for each image, for example, a scene change. When the flag 123c identify the common usage of the header macroblock is multiplexed in units of macroblocks, the amount of codes per one macro block increases. On the other hand, you can control whether header information together, on the basis of the States of the respective color components of the signal in units of macroblocks. This allows you to build a more satisfactory encoder, which increases the compression efficiency, following the local fluctuations of the image signal.

Possible following method. When the encoding type, equivalent to the type of image changes at the level of the slice, as in AVC, the flag 123c identify the common usage of the header macroblock is multiplexed for each slice. When the flag indicates "common to C0, C1 and C2, the bitstream is formed so that the slice includes all pieces of information coding for the three color components. When the flag indicates "not common to C0, C1 and C2, the bitstream is formed so that one slice includes information about one color component. The status of this method is shown in Fig. On Fig sense information identifying configuration of the sections, indicating that the current slice includes all pieces of information coding for the three color components or the current slice includes information encoding for a specific color component, is attached to the flag 123c identify the common usage of the header of the macroblock. Needless to say that such information identifying configuration of the slices can be prepared separately from the flag 123c identify the common usage of the header of the macroblock. When the slice is identified as the current slice includes information encoding for a specific color component, the identification includes the identification of showing what it is from the color components C0, C1 and C2. When such education is, the decision whether one macroblock header together for the components C0, C1 and C2 (slice mixed C0, C1 and C2) or the header of the macroblock separately is multiplexed for each of the components C0, C1 and C2 (slice C0, cut C1 and slice C2) in units of slices, if these two types of slices are mixed in a single image slice C0, cut C1 and slice C2 is always multiplexed in the bit stream in the set of data obtained by encoding the macroblock in the same position on the screen. In other words, the value of first_mb_in_slice included in the slice header and indicates the position in the front image of the macroblock of the slice, always takes the same value in one set of slice C0, cut C1 and cut C2. The number of macroblocks included in the set of slice C0, cut C1 and slice C2, the same. This state is shown in Fig. Providing such limitation for the structure of the bitstream, the encoder can encode the bit stream by adaptively selecting the encoding method having the highest coding efficiency between mixed cut C0, C1 and C2, and a set of slice C0, cut C1 and slice C2 according to the characteristics of the local signal in the image. The decoder may receive the bit stream, effectively encoded thereby, and to reproduce the video signal. For example, if the bit stream 22 is introduced in the decoder shown in Fig, there is t such a configuration, unit 25 decodes variable length words decode the identification of the configuration sections of the bit stream each time you enter data slicer and establishes which of the slices shown in Fig, you need to decode. When, on the basis of the information identifying the configuration of the sections, a decision that the coded data is generated in the form of a set of slice C0, cut C1 and slice C2, unit 25 decodes variable-length words are only to perform the decoding operation, establishing that the state flag 123 identification General use mode interrogazione (or flag 123c identify the common usage of the header macroblock) is to use a separate modes interrogazione or (header macroblock) in C0, C1 and C2. Because it is guaranteed that the value of first_mb_in_slice of each slice and the number of macroblocks in the slice equally, it is possible to perform decoding processing without causing overlap and gap on a mixed slice C0, C1 and C2, and the image based on the value.

When the signal characteristics of the relevant sections of C0, C1 and C2 differ significantly, in order to avoid reducing the coding efficiency by ensuring that such restrictions may be available identifying information, allowing you to select the level or image level p is sledovatelnot, is it possible to prevent the adulteration of the slice with a different value of the information identification of the configuration of slices in the image.

Twelfth variant implementation

According to the twelfth variant of implementation will be described examples of a different encoder and different decoder output of the encoder and decoder described according to the eleventh version of the implementation. Encoder and decoder according to the twelfth variant of implementation differ in adaptive task, when performing encoding the corresponding components C0, C1 and C2 in the macroblock using the adaptive system of arithmetic coding whether the probability of occurrence of the symbol used for arithmetic coding, and the process of studying for the probability of occurrence of symbol together all of the components or separately by each of the components according to the instructions, multiplexed in the bit stream.

According to the twelfth variant implementation of the encoder, only the processing in block 11 of encoding with variable-length words shown in Fig differs from the processing according to the eleventh version of the implementation. The decoder processing unit 25 decodes variable-length words in Fig differs from processing according to the eleventh version of the implementation. Other operations are identical to OPE the situation according to the eleventh version of the implementation. In the following description will be explained in detail processing of arithmetic encoding and decoding, which are hallmarks of the twelfth variant implementation.

1. Processing coding

The internal structure related to the processing of the arithmetic encoding unit 11 coding with variable word length shown in Fig. The sequence of processing operations arithmetic coding is shown in Fig and 56.

Unit 11 coding with variable word length according to the twelfth variant implementation includes a block defining contextual model 11a, which establishes the contextual model (described below)that are defined for the respective data types, for example, the motion vector 137, employee data object coding, identification number 132b of the reference image, the macroblock type/type submicromolar 106, mode infraprogressive 141 and the quantized conversion coefficient 10, the block 11b conversion to binary mind, which converts the multi-valued data into binary data in accordance with the conversion rules to binary mind set for the respective data types, object coding, block 11c generation probability of occurrence, which gives the probability of occurrence of values (0 or 1) sootvetstvuyushchego after conversion to binary mind the coding block 11d, which performs arithmetic coding based on the generated probabilities of occurrence, and the memory 11g, which stores information of the probability of occurrence. At block definition contextual mode 11a receives various data entered in block 11 of encoding with variable-length words, as the object data encoding, for example, the motion vector 137, identification number 132b of the reference image, the macroblock type/type submicromolar 106, the mode infraprogressive 141 and the quantized conversion coefficient 10. The output signals of the coding block 11d equivalent information associated with the macroblock of the video stream 22.

(1) Processing of determining the contextual model (step S160 to Fig)

The contextual model is a model of causation probability of occurrence of symbol of the source of information with other information, which leads to fluctuations of the probability of occurrence. You can encode more adapted to the actual probability of occurrence of the symbol by changing the state of the probability of occurrence in accordance with this causality. The concept of contextual models (ctx) shown in Fig. Although, according pig, the symbol of the source of information is the binary symbol information source can be multivalued. Variations is you from 0 to 2 for ctx at Fig determined on the basis of assumptions what state is the probability of occurrence of symbol information source that uses this ctx, varies according to the situation. When encoding a video signal according to the twelfth variant of implementation, the value of ctx is changed according to a causal connection between the coded data in a macroblock, and the coded data of the macroblocks surrounding the macroblock. An example of contextual models related to the motion vector of the macroblock, disclosed in D. Marpe, and other "Video Compression Using Context-Based Adaptive Arithmetic Coding", International Conference on Image Processing 2001, shown in Fig. According pig the motion vector of the block C is an object coding (more precisely, the predicted value is encoded difference mvdk(C)obtained by the prediction motion vector of the block C from its environment), and ctx_mvd(C,k) indicates the contextual model. mvdk(A) indicates the predicted value of the difference motion vectors in block A, and mvdk(B) indicates the predicted value of the difference motion vectors in block B. the values of mvdk(A) and mvdk(B) are used to determine estimated values of ek(C) changes in the contextual model. The estimated value of ek(C) indicates the degree of fluctuation of the motion vector in the environment. In General, when the fluctuation is small, mvdk(C) small. On the contrary, when ek(C) large, mvdk(C) also increased aceveda. Thus, it is desirable to adapt the probability of occurrence of symbol for mvdk(C) on the basis of ek(C). The set of variations of this probability of occurrence is contextual model. In this case, we can say that there are three types of variations in the probability of occurrence.

In addition, contextual models are pre-determined for the data object encoding, for example, the macroblock type/type submicromolar 106, mode infraprogressive 141 and the quantized conversion coefficient 10, respectively, and are shared by the encoder and decoder. Unit 11a defining the contextual model performs processing for selecting the model specified in advance based on the type of such data object coding (decision on which variation of the probability of occurrence among contextual models corresponds to the processing of generating the likelihood of the following paragraph (3)).

(2) conversion Processing to the binary form (step S161 on Fig)

Object data encoding is converted into a binary sequence block 11b conversion to binary form. Contextual models are installed in accordance with the relevant sections (binary positions) of the binary sequence. According to the conversion rule for the binary form of the data object encoding convert the given binary sequence with variable word length in accordance with a gross distribution of values, who can take the appropriate binary data. Conversion to binary mind has the advantage of allowing, for example, to reduce the number of divisions numeric scale of probability through data encoding object encoding, which initially can take multiple values, in units of areas instead of directly arithmetic coding object data coding and simplify an arithmetic operation that makes it possible to reduce the contextual model.

(3) Processing the generation probability of occurrence (step S162 on Fig (details of step S162 shown in Fig))

In the processes described above in paragraphs (1) and (2)conversion to binary mind multivalued data object encoding and task contextual models applied to the relevant sections completed, and preparations for the encoding ends. Then the block 11c generation probability of occurrence of processes of generation for the state probabilities of occurrence that are used for arithmetic coding. Because variations in the probability of occurrence for the corresponding values 0/1 included in the relevant contextual model shown in Fig, unit 11c generation probability of occurrence of processes with reference to contextual model 11f defined at step S160. Block 11c g is the generation probability of occurrence sets the estimated value for the choice probability of occurrence, marked ek(C) on Fig, and determines, in accordance with the evaluation value, what is the variation of the probability of occurrence is used for the encoding of the options, which include contextual model (step S162a on Fig). Unit 11 coding with variable word length according to the twelfth variant implementation includes a memory for storing information 11g probability of occurrence and includes a mechanism for persistence 11h probability of occurrence, which is sequentially updated during the encoding process, for each of the color components. Block 11c generation probability of selects, according to the flag value 143 identification General use status parameter of the probability of occurrence, is selected if the condition 11h probability of occurrence used for the encoding of the States, the probability of support for each of the color components C0-C2, or the state probabilities of occurrence for the component C0 is shared between components C1 and C2, and determines the condition 11h probability of actually used for coding (steps S162b-S162d on Fig).

Must be muxed flag 143 identification General use status parameter of the probability of occurrence in the bitstream so that the decoder can perform such W is the choice. In this configuration implements the following effects. For example, in the case shown in Fig when the flag 123c identify the common usage of the header macroblock indicates that information 139a of the C0 component header is used for other components, if the macroblock type 128b indicates the prediction mode of 16×16, for one macroblock is set only one ek(C) according Fig. In this case, the probability of occurrence, prepared for the component C0, is always used. On the other hand, when the flag 123c identify the common usage of the header macroblock indicates that you are using the header information (139a-139c), corresponding to the respective components, if the macroblock type 128b indicates the prediction mode of 16×16 in all C0, C1 and C2, there may be three variations of ek(C) according pig for one macroblock. The coding block 11d at a later stage can take two options, i.e. together if the state 11b probability of occurrence, prepared for the components C0, used and updated for the relevant variation or condition 11h probability of occurrence, prepared for the respective color components separately used and updated. In the first embodiment, when the respective components C0, C1 and C2 have essentially the same distribution of Vectora the movement, the rate of learning increases through the use and update of the General condition 11h probability of occurrence. This provides a more satisfactory to study the probability of occurrence of the motion vector. In the latter case, on the contrary, when the respective components C0, C1 and C2 have different distribution of the motion vectors, it is possible to reduce inconsistencies because of exploring through the separate use and status updates 11h probability of occurrence. This provides a more satisfactory to study the probability of occurrence of the motion vector. Since the video signal is non-stationary, when such adaptive control is possible, can improve the efficiency of arithmetic coding.

(4) Processing coding

Because the likelihood of the corresponding values 0/1 on a numeric scale of probability, arithmetic coding, are obtained according to (3), the coding block 11d performs arithmetic coding in accordance with the process described in the conventional example (step S163 on Fig). The actual encoded value (0 or 1) 11e comes back on the block 11c generation probability of occurrence. Block 11c generation probability of the occurrence counts of the frequency of occurrence 0/1 used to update the status 11h probability of occurrence (the tap S164). For example, it is assumed that, when processing coding for 100 plots is carried out using specific condition 11h probability of occurrence, probability of occurrence 0/1 when variations in the likelihood of the amount of 0.25 and 0.75. When 1 is encoded using the same variation of the probability of occurrence, frequency of occurrence of 1 is updated, and the likelihood of 0/1 change on 0,247 and 0,752. This mechanism allows efficient coding adapted to the actual probabilities of occurrence. Encoded value 11e is changed to the signal output unit 11 coding with variable word length, and is output from the encoder, the quality of the video stream 22.

The internal structure associated with the processing of an arithmetic decoding unit 25 decodes variable length words shown in Fig. The sequence of processing operations arithmetic decoding is shown in Fig.

Unit 25 decodes variable length words according to the twelfth variant implementation includes block 11a defining the contextual model, which specifies the types of the corresponding object data decoding, for example, the motion vector 137, identification number 132b of the reference image, the macroblock type/type submicromolar 106, the mode infraprogressive 141 and quantized CoE the rate of conversion 10, and sets the contextual model posed together for the encoder to the appropriate types, block 11b conversion to binary form that generates the rules for conversion to binary mind set on the basis of the data types of the object decoding unit 11c generation probability of occurrence, which gives the likelihood of the relevant sections (0 or 1) in accordance with the conversion rules to binary mind and contextual models, the block decoding 25a, which performs arithmetic decoding on the basis of the generated probability of occurrence and decodes the data, for example, the motion vector 137, identification number 132b of the reference image, the macroblock type/type submicromolar 106, mode infraprogressive 141 and the quantized conversion coefficient 10 according to the binary sequence obtained by arithmetic decoding, and conversion rules to binary mind and memory 11g, which stores information of the probability of occurrence. Components 11a-11c and 11g identical internal components of the block 11 coding with variable word length shown in Fig.

(5) the Processing of determining the contextual model, conversion processing to the binary mind and the processing of generating the likelihood of

These processes correspond to the process is (1)to(3) on the side of the encoder. Although it is not shown in the drawings, the flag 143 identification General use of the state parameter, the likelihood of pre-extracted from the video stream 22.

(6) the Processing of an arithmetic decoding

Since the probability of occurrence of the plot intended for decoding, is in the processes up to (6), the block decoding 25a decodes the importance of the site in accordance with a predetermined processing of an arithmetic decoding (step S166 on Fig). The restored value 25b parcel arrives back on the block 11c generation probability of occurrence. Block 11c generation probability of the occurrence counts of the frequency of occurrence 0/1 used to update the status 11h probability of occurrence (step S164). The block decoding 25a checks each time when you set the restored values of each plot, coordination reconstructed values and patterns of the binary sequence, specified by the rules of conversion to binary mind, and outputs the data value specified in a consistent pattern, as the value of the data decoding (step S167). While the data decoding is not specified, the block decoding 25a returns to step S166, and continues processing decoding.

According to the encoder and the decoder, which includes the processing of arithmetic coding and arithmetic processing Deco is investing in accordance with the above configurations, you can implement a more efficient coding, when the encoded information for each of the color components undergoes adaptive arithmetic coding according to the flag 123c identify the common usage of the macroblock header.

Although it is not specifically shown in the drawings, the unit multiplexing flag 143 identification General use status parameter of the probability of occurrence may be the unit of a macroblock, the unit of the slice, the unit image or the unit sequence. When it is possible to provide sufficient coding efficiency with a change at a higher level that is equal to or higher than the slice level, by multiplexing flag 143 identification General use of the state parameter, the likelihood of a flag positioned at a higher level data, for example at the level of the slice image or sequence, it is possible to reduce the bits service information without multiplexing flag 143 identification General use status parameter of the probability of occurrence level of macroblocks each time when performing processing.

Flag 143 identification General use status parameter of the probability of occurrence may be the information specified inside the decoder, on the basis of relevant information, including the Noi in the bitstream, separate from the flag 143 identification General use status parameter of the probability of occurrence.

According to the twelfth variant implementation of arithmetic coding flag 123c identify the common usage of the header macroblock in units of macroblocks, the model shown in Fig used for contextual model 11f. On peg the value of the flag 123c identify the common usage of the header of the macroblock in the macroblock is denoted by X IDCX. When performing encoding flag 123c identify the common usage of the header of the macroblock in the macroblock C macroblocks accept the following three States based on the value of IDCAflag 123c identify the common usage of the header macroblock for the macroblock A and the values of IDCBflag 123c identify the common usage of the header macroblock to macroblock B according to the equation in the drawing.

0: A and B are in the mode "use common header macroblock for C0, C1 and C2".

Value 1: one of A and B is the use of common header macroblock for C0, C1 and C2, and the other is using a separate header macroblock for C0, C1 and C2".

Value 2: A and B are in the "use separate header macroblock for C0, C1 and C2".

Encoding flag 123c identify common and the use of the header macroblock thus allows arithmetic encoding based on the encoding of macroblocks in the environment and to improve the coding efficiency. From explanations of the operations of the decoder according to the twelfth variant implementation, it is clear that contextual models are set via the same procedure on the side of the encoding and the decoding for the implementation of arithmetic decoding.

According to the twelfth variant of implementation with regard to header information shown in Fig included in the header of the macroblock (macroblock type, the type of submicromolar, mode infraprogressive, the identification number of the reference image, the motion vector information indicating the efficiency/inefficiency of the transform coefficients and the quantization parameter), arithmetic coding is performed in contextual models specified for the relevant types of information. As shown in Fig, all contextual models are specified for the current macroblock C with reference to the corresponding information of the macroblocks A and B. Here, as shown in Fig(a), when the macroblock C is the use of common header macroblock for C0, C1 and C2, and the macroblock B is located in the "use separate header macroblock for C0, C1 and C2, the information about the specific color component among C0, C1 and C2 is used as reference information when specifying contextual models.

For example, you can take the method of choice when C0, C and C2 correspond to the color components R, G and B, and the component G has a component that is closest to the brightness signal, traditionally used to encode the signal quality, well representing the structure of the image. The fact that, even in the "use common header macroblock for C0, C1 and C2, the header information of the macroblock is often set based on the component G to the implementation of the encoding.

On the other hand, otherwise, as shown in Fig(b), when the macroblock C is using a separate header macroblock for C0, C1 and C2, and the macroblock B is located in the "use common header macroblock for C0, C1 and C2, it is necessary to encode and decode the header information of the three color components in the macroblock C. In this case, the header information of the respective color components is used as reference information when specifying contextual models. With regard to the macroblock B, the header information common to the three components, is used as the value, which is the same for the three components. Although this is obvious, when the flag 123c identify the common usage of the macroblock header specifies the same value for all macroblocks A, B, and C, pieces of reference information corresponding to the macroblocks, are always present. Thus, uses fragments of TNA the Noi information.

From explanations of the operations of the decoder according to the twelfth variant implementation, it is clear that contextual models are set via the same procedure on the side of the encoding and the decoding for the implementation of the arithmetic decoding. After determining that the information of any component is contextual model to be used, and a status update of the probability of occurrence associated with the contextual model is based on the state of the flag 143 identification General use status parameter of the probability of occurrence.

According to the twelfth variant implementation of arithmetic coding, the corresponding distributions of the probability of occurrence for the corresponding data object coding, is also carried out for the respective data conversion components C0, C1 and C2. The quality of these data, the coded data for the three components are always included in the bit stream regardless of whether the macroblock header together. According to the twelfth variant implementation, because interpromotion and interrogazione carried out on the color space of the encoded input signal and the obtained differential signal prediction, it is considered that the distribution of data is the conversion factors, the resulting integer conversion differential signal prediction is the same probability distribution of occurrence irrespective of the peripheral status, for example whether the header of the macroblock shown in Fig together. Thus, according to the twelfth variant implementation, the overall contextual model is specified and is used for encoding and decoding regardless of whether the header macroblock together for the relevant components C0, C1 and C2.

From explanations of the operations of the decoder according to the twelfth variant implementation, it is clear that contextual models are set via the same procedure on the side of the encoding and the decoding for the implementation of the arithmetic decoding. After determining that the information of any component is contextual model to be used, and a status update of the probability of occurrence associated with the contextual model is based on the state of the flag 143 identification General use status parameter of the probability of occurrence.

Thirteenth option exercise

According to the thirteenth version of the implementation will be described embodiments of a different encoder and different decoder output of the encoder and decoder, op the sled according to the options exercise of the seventh to twelfth. Encoder and decoder according to the thirteenth version of the implementation differ in that the encoder, which performs the processing of converting the color space of the input stage of the encoder is described according to the options exercise of the seventh to twelfth, converts the color space of the video signal entered in the encoder after converting the image to an arbitrary color space suitable for encoding, and multiplexes the bit stream information indicating the processing of the inverse transform to return the color space to the color space at the time of conversion of the image-side decoding, and, through configuration to extract information that indicates the processing of the inverse transform of the bit stream, receives the decoded image using decoder described according to the options exercise of the seventh to the twelfth, and then performs inverse spatial transform on the basis of the information indicating the processing of the inverse transform.

The structure of the encoder and decoder according to the thirteenth version of the implementation shown in Fig. Encoder and decoder according to the thirteenth version of the implementation will be explained with reference to Fig.

The encoder according to the thirteenth variant implementation includes the t itself, in addition to the encoder 303 according to the options exercise of the seventh to twelfth, block 301 converting the color space at the preliminary stage of the encoder 303. Block 301 conversion color space comprises one or a combination of types of conversion processing of the color space. Block 301 conversion color space selects the processing for converting the color space to be used according to the characteristics of the input video, system settings, etc. for the implementation of the processing color space conversion on the input video signal and transmits the converted video signal 302 received in the result of the conversion processing of the color space, the encoder 303. Simultaneously, the block 301 conversion color space displays information used to identify the conversion processing of the color space on the encoder 303 as information 304 identification method of converting the color space. The encoder 303 multiplexes information 304 identification method of converting the color space in the bit stream 305, in which the converted video signal 302 encoded compressed according to the method described according to the options exercise of the seventh to twelfth, the signal quality of the object code for the simulation and transmits information 304 identification method of converting a color space based on the transmission line or displays information 304 identification method of converting the color space on a recording device, which performs recording on the recording media.

As prepared by the method of converting the color space, for example, there are conversions, such as converting from RGB to YUV, traditionally used as standard

,

prediction between the color components

C0=G'=G

C1=B'=B f(G) (f) (G): the result of processing filter for the component (G)

C2=R'=R f(G) and

the conversion from RGB to YCoGg

C0=Y=R/2+G/2+B/4

C1=Co=R/2 B/2

C2=Cg=-R/4+G/2 B/4.

There is no need to limit the input unit 301 converting the color space of the RGB signal. Conversion processing is not limited to the above-described three varieties of processing.

The decoder according to the thirteenth variant implementation includes, in addition to the decoder 306 according to the options exercise of the seventh to twelfth, block 308 inverse conversion of the color space at the last stage of the decoder 306. The decoder 306 receives the bitstream 305 and 304 retrieves information identifying a method of converting the color space of the bit stream 305 and outputs information 304 identification method of converting the color space. In addition, the decoder 306 outputs the decoded image 307, obtained through the operations of the decoder, according to the options described on the westline from the seventh to the twelfth. Block 308 inverse conversion of the color space includes processing the inverse transform corresponding to a corresponding method of converting color spaces selected by block 301 conversion color space. Block 308 inverse conversion of the color space performs processing for specifying the transformations performed by block 301 conversion of color space on the basis of information 304 identification method of converting the color space of the output from the decoder 306, applying the inverse transformation processing to the decoded image 307 and return the decoded image 307 to the color space of the video signal entered in the encoder according to the thirteenth variant implementation.

According to the encoder and the decoder according to the thirteenth variant implementation, the optimal conversion processing for color spaces is applied to the video signal to be encoded for a preliminary stage of the encoding and the last stage of the decode processing to remove the correlations included in the image signal, which includes three color component, to coding. Thus, it is possible to perform encoding in a state of reduced redundancy and to improve the compression efficiency. The traditional standard is based coding system, for example MPEG, color space signal to be coded, limited to YUV. However, since the encoder and decoder include block 301 conversion color space and block 308 inverse conversion of the color space, and information 304 identification method of converting the color space included in the bitstream 305, it is possible to eliminate the restriction on the color space of the video signal entered for encoding. In addition, you can encode video using the optimum conversion selected from the set of varieties of removing the correlation between the color components.

Thirteenth variant implementation is described assuming that the block 301 conversion color space and block 308 inverse conversion of the color space is always activated. However, without activation of these processing units, it is also possible to adopt a configuration for coding at a higher level, such as sequence information indicating compatibility with the traditional standard.

You can also build the block 301 conversion color space and block 308 inverse conversion of the color space according to the thirteenth variant implementation of the encoder and the decoder according to the options exercise with the seventh is about the twelfth to perform color space conversion on the level of the differential signal prediction. Thus constructed, the encoder and decoder shown in Fig and pig, respectively. In the encoder shown in Fig, instead of the conversion unit 8 is provided with a conversion unit 310, and instead block inverse transform 13 is provided with a block inverse transform 312. In the decoder, shown in Fig, instead of the block inverse transform 13 is provided with a block inverse transform 312.

First of all, as indicated in processing block 301 conversion color space conversion unit 310 selects the optimal processing of the conversion of the aggregate of varieties conversion processing of the color space, and performs color space conversion on the differential signal prediction 4 components C0, C1 and C2, the output of block 5 of deciding the encoding mode. After that, the conversion unit 310 performs the conversion, equivalent to that which performs the conversion unit 8, the result of the conversion color space. The conversion unit 310 transmits information identifying a method of converting the color space 311, which indicates that the conversion is selected, the block 11 coding with variable length words, multiplexes the information identification method of converting the color space 311 in the bit stream, and outputs Italy stream as stream 22. Unit inverse transformation 312 performs the inverse transformation is equivalent to the fact that the block performs the inverse orthogonal transform 13, and then performs processing inverse color space conversion using the conversion processing of the color space indicated by the information 311 identification method of converting the color space.

In the decoder unit 25 decodes variable length words retrieves information 311 identification method of converting the color space of the bit stream and transmits the result of the retrieval on the block inverse transform 312 to implement the same processing as the processing unit inverse transformation 312 in the encoder. With this configuration, when it is possible to sufficiently remove in the region of the predicted difference remaining correlation between the color components, you can delete as part of processing coding. Thus, improved coding efficiency. However, when a single macroblock headers are used for the components C0, C1 and C2, first of all forecasting method varies for each of the components, such as infraprogressive for the component C0 and interrogazione for component C1. Thus, the correlation may be less easily support Atisa in the field of differential signal prediction 4. Thus, when a single macroblock headers are used for the components C0, C1 and C2, the processing block 310 and block inverse transform 312 can request not to perform color space conversion. Indicating whether the color space conversion in the field of differential signal prediction 4 may multiplicious in the bitstream as the authentication information. Information 311 identification method of converting the color space can be changed in units of the sequence, picture, slice, and macroblock.

In the structures of the encoder and decoder shown in Fig and 65 corresponding to the data conversion components C0, C1 and C2 have different areas of signal detection signal of the object encoding according to information 311 identification method of converting the color space. Thus, it is believed that, in General, the distribution of these conversion factors is another probability distribution of appearance according to information 311 identification method of converting the color space. Thus, when the encoder and decoder built, as shown in Fig and 65, the encoder and decoder perform the encoding and decoding using contextual models, which involves separately the state probabilities of occurrence for each of the components C0, C1 and C2 and for each state information 311 identification method of converting the color space.

From explanations of the operations of the decoder according to the twelfth variant implementation, it is clear that contextual models are set via the same procedure on the side of the encoding and the decoding for the implementation of the arithmetic decoding. After determining that the information of any component is contextual model to be used, and a status update of the probability of occurrence associated with the contextual model is based on the state of the flag 143 identification General use status parameter of the probability of occurrence.

Fourteenth option exercise

According to the fourteenth version of the implementation will be described in more specific structure of the device relating to the encoder and decoder described in the variants of implementation.

According to variants of the operation of the encoder and decoder are explained using the drawings on the basis of, for example, 1, 2, 30 and 31. In these drawings, explains the operation of the joint input video input signal that includes three color component, in the encoder, the implementation of the encoder of coding and, at the same time, choice, coded whether the three color component based on the his prediction mode or macroblock header, or encoded by a separate prediction modes or header of the macroblock, input bit stream obtained by encoding, in the decoder, and the implementation of the decoder decode processing and, at the same time, selection on the basis of the flag (e.g., flag 23 identification General use mode infraprogressive or flag 123 identification General use mode interrogazione), decoded or extracted from the bitstream, encoded by three color component on the basis of the prediction mode or macroblock header, or encoded by a separate prediction modes or header of a macroblock to obtain a reproduced video signal. Previously described that the flag can be encoded and decoded in units of data of arbitrary level, for example, macroblock, slice, image or sequence. According to the fourteenth variant implementation of the present invention, in particular, the structure and principle of operation of the apparatus for carrying out encoding and decoding with a simultaneous change in the coding of the three signals of the color components through a common header macroblock and coding of the three signals of the color components by means of a separate headers of macroblocks in units of one frame (or one field) will be explained on the basis of specific drawings. In the following explanation, if t is not specified, the description "one frame" refers to the data block of one frame or one field.

It is assumed that the header of the macroblock according to the fourteenth variant implementation includes: flag identifying the size of the transform block, shown in Fig; information encoding mode and forecasting, shown in Fig, for example, the macroblock type, the type of submicromolar and infraprogressive; information flow forecasting, for example, the identification number of the reference image and the motion vector; information indicating the efficiency/inefficiency of conversion factors; and the service information of the macroblock that is different from the data of transform coefficients, for example, the quantization parameter for conversion.

In the following explanation, the processing of the encoding of the three signals of the color components of one frame with a common header macroblock is referred to as "General treatment of coding, and processing of encoding the three signals of the color components of one frame with separate headers macroblock is referred to as "independent processing coding". Similarly, the processing of decoding the image data of the frame of the bit stream, in which three color signal components of one frame encoded by the General header of the macroblock, referred to as "shared the th decoding processing", and processing of decoding the image data of the frame of the bit stream, in which three color signal components of one frame encoded by separate header macroblock, referred to as "independent processing decoding". In General the processing of encoding according to the fourteenth variant implementation, as shown in Fig, the input video signal for one frame is divided into macroblocks in the group of the three color components. On the other hand, in the independent processing of the encoding, as shown in Fig, the input video signal for one frame is divided into three color component, and three color component is divided into macroblocks, composed of individual color components. Thus, the corresponding macroblocks are subject to independent processing coding for the respective component C0, component C1 and component C2. Macroblocks, subject to the total processing coding include sampling the three color components of C0, C1 and C2. Macroblocks that are subject to independent processing of encoding, include a sample of any of the components C0, C1 and C2.

On Fig shows a diagram illustrating the ratio of the reference flow forecasting in the time dimension between images in the encoder and the decoder according to the fourteenth variant implementation. In this example, the block of data, hereafter the Chennai thick vertical line, is set as the image, and the ratio between the image and the block access designated environmental dashed line. In the case of the General processing of encoding and decoding a single image is data representing the video signal for one frame, in which are blended the three color component. In the case of independent processing of encoding and decoding a single image is a video signal for one frame any of the color components. The access block is the minimum unit of data that provides a time stamp for synchronization with the audio/video information, etc. for video. In the case of the General processing of encoding and decoding data for one image are included in one unit of access (427a on Fig). On the other hand, in the case of independent processing of encoding and decoding, three images are included in one unit of access (427b on Fig). The fact that, in the case of independent processing of encoding and decoding, video playback to one frame does not work until you have collected images in the same display time for all three color components. The numbers indicated above the corresponding images, indicate the processing order of encoding and decoding in the time dimension of the image (frame_num for AVC). On Fig arrows between images ukazyvayutsya the direction of flow forecasting. In the case of independent processing of encoding and decoding support the prediction of the motion between images included in an identical block access, and support the prediction of movement between different color components is not carried out. Images of the respective color components C0, C1 and C2 are encoded and decoded predictive and based on the motion signals only identical color components. With this structure, in the case of independent processing of encoding and decoding according to the fourteenth variant implementation, it is possible to perform the encoding and decoding of the respective color components, not relying on the processing of encoding and decoding of other color components. Thus, it is easy to implement parallel processing.

AVC is defined image IDR (instantaneous update of the decoder), which itself carries out interaktywna and resets the contents of the memory reference picture used for prediction with motion compensation. As the IDR picture decoded without relying on any other image, the IDR picture is used as a random access point. Block access if the total processing encoding one unit of access is a single image. However, in the block access if Nezavisimosti encoding one unit of access is formed by a set of images. Thus, when a particular color component image is an image IDR based on the fact that all of the remaining color component image are images IDR, block access IDR is set to ensure the function of random access.

In the following explanation, the identification information indicating whether the coding by means of a General processing coding or through independent processing of encoding is called a signal identifying the common encoding/independent encoding.

On Fig shows a diagram illustrating the structure of the bitstream generated by the encoder according to the fourteenth variant implementation and to the input of the decoder according to the fourteenth variant implementation for decode processing. On Fig shows the structure of a bit stream from the level of the sequences to the level of frames. First of all, the signal 423 identify common encoding/independent encoding is multiplexed with the upper layer header sequences (in the case of AVC, a set of sequence parameters and so on). The frames are encoded in units of blocks access. AUD specifies the NAL unit separator blocks access, which is a unique NAL unit to identify the gap of access block in AVC. When the signal 423 identify common encoding/independent encoding specifies the encoding of an image by the total processing coding", the coded data for one image included in the access block. It is assumed that the image in this case is the above data representing the video signal for one frame, in which are blended the three color component. In this case, the coded data of the i-th block access form data set slice Slice(i,j), and j is the index of the data slice in a single image.

On the other hand, when the signal 423 identify common encoding/independent encoding specifies the encoding of an image by independent processing coding", one image is a video signal for one frame any of the color components. In this case, the coded data of the p-th block access form data set slice Slice(p,q,r) q-th image block access, and "r" is the index of the data slice in a single image. In the case of a video signal formed by three color components such as RGB, the number of values that can take the "q"is equal to three. If, for example, when additional information, such as information permeability for alpha blending, are encoded and decoded as an identical block access in addition to the video, which includes three main colors, or in the case of kodirovanija and decoding a video signal formed of the color components (for example, YMCK used is in color printing), more or equal to four, the number of values that can be used with "q", is set equal to four or more. When choosing an independent processing coding encoder and decoder according to the fourteenth version of the implementation code for the respective color components forming a signal, completely independently from each other. Thus, it is possible to freely change the number of fragments of the color components, in principle, without changing the processing of encoding and decoding. This leads to the fact that, even when the signal format for the implementation of the color representation of the signal will change in the future, this change can be reconciled with independent processing of the encoding according to the fourteenth variant implementation.

To implement the structure according to the fourteenth variant implementation, the signal 423 identify common encoding/independent encoding is represented in the form of "number of images included in one access block and the independently coded without putting each other support traffic forecasting". In this case, the signal 423 identify common encoding/independent encoding can be represented by the number of values that can take a parameter q, and the number of values that can take a parameter, denoted below as num_pictures_n_au. In other words, num_pictures_in_au=1 indicates "total processing coding", and num_pictures_in_au=3 indicates "independent processing of encoding according to the fourteenth variant implementation. If you have four or more color components num_pictures_in_au must have a value greater than 3. Thanks to the implementation of such a signal, if the decoder decodes and accesses num_pictures_in_au, the decoder can not only distinguish between data encoded by means of a General processing coding, and data encoded by the independent processing of coding, but also to explore how images of one color component is present in one block access. Thus, it is possible to realize the processing of encoding and independent processing of encoding smoothly in the bit stream that helps to ensure compatibility with the expansion of the color representation of the video signal in the future.

On Fig shows a diagram explaining the structure of the bitstream data of the slice, in the case of the General processing coding and independent processing coding. In the bit stream encoded by means of independent processing coding to achieve the following effects flag identifying the color component (color_channel_idc) reported the header area at the top part of the data of the slice taken by the decoder, which allows ODA is to divide, what color component image in the block access data belong to the slice. Color_channel_idc groups the sections that have the same value color_channel_idc. In other words, between the slices having different values color_channel_idc, there isn't any dependence of encoding and decoding (for example, the control traffic forecasting, contextual modeling/learning of probability of occurrence and so on) from the CABAC. When this instruction is independent of the respective images in the unit of access in the case of independent processing coding. Frame_num (the processing order of encoding and decoding image belongs to the slice), multiplexed with the corresponding slice header, is set to identical value in all of the color component images in a single block access.

On Fig shows a diagram illustrating a schematic structure of an encoder according to the fourteenth variant implementation. According Fig General processing coding is performed in the first block 503a, the image encoding, and independent processing of the encoding is performed in the second blocks 503b0, 503b1 and 503b2 the image encoding (prepared for the three color components). The video signal 1 is supplied to the first block 503a, the image encoding or block 502 separation of color components, and any one of the second blocks 50b0-503b2 encoding image for each color component by means of a switch (SW) 501. The switch 501 is activated by signal 423 identify common encoding/independent encoding and delivers the input signal 1 to the specified path. There follows a description of the case when the signal identification of the common encoding/independent encoding (num_pictures_in_au) 423 represents a signal multiplexed with a set of parameters sequence when the input video signal is a signal in the format of 4:4:4 and is used to select the total processing coding and independent processing of the encoding in units of sequences. This case reflects the same concept as the cases of flag 123 identification General use mode interrogazione described according to a seventh variant implementation, and flag 123c identify the common usage of the header macroblock described according to the eleventh version of the implementation. When using a shared processing encoding, it is necessary to perform General processing decoding on the side of the decoder. When using independent processing of the encoding, it is necessary to perform independent processing of decoding on the side of the decoder. Thus, it is necessary to multiplex the signal 423 identify common encoding/independent encoding bit stream as information indicating the processing. Thus, with whom drove 423 identify common encoding/independent encoding is introduced into the multiplexing unit 504. Unit multiplexing signal 423 identify common encoding/independent encoding can be any unit, for example unit of GOP (group of pictures), consisting of several groups of images in the sequence, i.e. the unit is at a higher level than the level of the image.

To accomplish the overall processing of the first encoding unit 503a, the image encoding divides the input video signal 1 for the macroblock in the group of samples of the three color components, as shown in Fig, and advances the processing coding in this unit. Processing coding in the first block 503a, the image encoding will be described below. When selecting independent processing of encoding the input video signal 1 is divided into data for one frame C0, C1 and C2 in block 502 separation of color components and is supplied to the corresponding second blocks 503b0-503b2 encoding of the image, respectively. The second blocks 503b0-503b2 encoding divide the image signal for one frame is divided for each color component, on macroblocks in the format shown on Fig, and promote the processing of coding in this unit. Processing the second encoding units encoding image will be described below.

The video signal for one image consisting of three color components, is entered in the first block 503a coding and what the considerations applying. The coded data is output as a video stream 422a. The video signal for one image consisting of a single color component, is introduced in the second blocks 503b0-503b2 the image encoding. The coded data is output as the video streams 420b0-422b2. These video streams are multiplexed in the format of the video stream 422c in the multiplexing unit 504 based on the state signal 423 identify common encoding/independent encoding and displayed.

When multiplexing the video stream 422c block access when is independent processing of coding, it is possible to interleave the data slice, multiplexity and transmitted in the bit stream between images (respective color components) in the block access (Fig). In this case, on the side of the decoder, it is necessary to decide which color component block access belong to the received data slice. Thus, the used flag identifying the color component multiplexed with the header area at the top part of the data slice, as shown in Fig.

Due to the structure similar to the structure of the encoder shown in Fig, when the encoder encodes the image of the three color components according to parallel processing using three sets of each of the second blocks 503b0-503b2 encoding of the image, independent of the other the other, you can send the coded data without waiting for the coded data of the other color component images, as soon as the data slicer own image. AVC is possible to divide one image into the set of data slice and code a data slice. It is possible to flexibly change the length of the data slice and the number of macroblocks included in the slice, according to the terms of coding. Between the slices adjacent to each other in the image space, as provided by the independence of the decode processing for sections, it is impossible to use similar contexts, such as interpromotion and arithmetic coding. Thus, the greater the length of the data slice, the higher the coding efficiency. On the other hand, when the error may be in the bit stream during transmission and recording, the return of the errors is the earlier, less than the length of the data slice, and the easier it is to suppress a decrease in quality. When the length and structure of the slice, the order of the color components, etc. are fixed without multiplexing flag identifying the color component, the conditions generating the bit stream recorded in the encoder. Thus, it is possible to flexibly adapt to various conditions necessary for encoding.

If you can generate the bitstream, as shown in Fig, in the encoder, it is possible to reduce the size of the transfer buffer, necessary for the transmission, i.e. the processing latency on the side of the encoder. The state reduce the delay of the processing shown in Fig. If the multiplexing of the data cutoff between images is not permitted until you have finished coding the image of a specific color component, the encoder has to buffer the encoded data of other images. This means that the delay occurs at the level of images. On the other hand, as shown in the lower part pig, if it is possible to perform interleaving on the level of sections, the block coding of the image of a specific color component may output the encoded data to the multiplexing unit in the units of the data slicer and can suppress the delay.

In one image of the color component data of the slice included in the image can be transmitted in the order of scan macroblock or you can build to be able to carry out alternating transmission even in a single image.

The operation of the first and second blocks, the image encoding will be described in detail below.

Description of the operation of the first unit of the image encoding

The internal structure of the first unit of the image encoding 503a shown in Fig. According pig the input video signal 1 is entered in the format of 4:4:4 and in units of macroblocks in a group of three color is komponentov in the format shown in Fig.

First of all, the block prediction 461 selects the reference image data from the reference image for prediction of motion compensation that is stored in the memory 16a, and carries out processing of prediction for motion compensation in units of macroblocks. In memory 16a is stored a set of pieces of data of the reference image, formed by three color components for the set of time intervals. The block prediction 461 selects the optimal reference image in units of macroblocks of data of the reference image and performs motion prediction. In order to accommodate the data of the reference image in the memory 16a, the data of the reference image you can save for each of the color components in sequential mode, planes, or sampling of the respective color components can be stored in sequential mode points. Seven types are prepared as the size of the unit to perform prediction with motion compensation. First, you can choose any size from 16×16, 16×8, 8×16 and 8×8 in units of macroblocks, as shown in figa-fig.32D. In addition, the choice of 8×8, you can choose any size from 8×8, 8×4, 4×8 and 4×4 for each block of 8×8, as shown in figa-vign.

The block prediction 461 performs, for each size of the macroblock, processing prediction for motion compensation for all or part of the block size, the size of sub-blocks, the motion vectors in a predetermined search range, and one or more use of the reference images. The block prediction 461 receives the differential signal prediction for each block serving as a unit of the prediction motion compensation using motion vectors, and the identification number of the reference image 463 and myCitadel 3 used for prediction. Efficiency prediction differential signal prediction 4 is estimated in block 5 of deciding the encoding mode. Unit 5 the decision regarding the encoding mode displays the type of the macroblock/type submicromolar 106 and the motion vector information 463 identification of the reference image, in which an optimum efficiency prediction for a macroblock to be predictive of treatment prediction performed in block prediction 461. All the pieces of header information of the macroblock, for example, macroblock types, types of submicromolar, the indexes of the reference image and the motion vectors are determined as the header information common to the three color components used for encoding, and multiplexed with the bit stream. PR is the evaluation of the optimality of the effectiveness of forecasting, in order to control the amount of arithmetic operations, we can estimate the value of the forecast error for a predetermined color component (for example, the component G of the RGB signal or the Y component of the YUV signal). Alternatively, although the amount of arithmetic operations increases, for optimum performance prediction, value prediction error for all the color components can be fully assessed. In the final selection of the macroblock type/type submicromolar 106 can be taken into account a weighting factor of 20 for each type defined in the decision unit 19 controls the encoding.

Similarly, the block prediction 461 also performs infraprogressive. When performing infraprogressive information mode infraprogressive is output as the output signal 463. In the following explanation, when interpromotion and prediction with motion compensation not specifically differ, as the output signal 463, information mode infraprogressive, information of the motion vector, the identification number of the reference images together are referred to as service information and forecasting. As for infraprogressive, we can estimate the value of the forecast error only for the predetermined color component or can t the firm to assess the value of the forecast error for all color components. Finally, the block prediction 461 selects infraprogressive or interrogazione type macroblock, evaluating the type of the macroblock according to the efficiency of forecasting or coding efficiency in block 5 of deciding the encoding mode.

The block prediction 461 outputs the selected macroblock type/type submicromolar 106 and the differential signal of forecasting 4, obtained by infraprogressive and prediction with motion compensation based on the service information forecasting 463, at processing block 310. The conversion unit 310 converts the differential signal prediction 4 and outputs the differential signal prediction 4 on block quantization 9 as the conversion factor. In this case, the block size, which serves as input signal for conversion, you can choose from 4×4 and 8×8. When you have the option to choose the size of the transform block, the block size selected during encoding, is reflected in the value of the flag 464 specify the size of the transform block, and a flag is multiplexed with the bit stream. Block quantization 9 quantum the conversion factor established on the basis of the quantization parameter 21 defined by the block 19 control coding, and outputs the conversion coefficient on the block 11 coding with variable DL is Noah's words as the quantized conversion coefficient 10. Quantized conversion coefficient 10 includes information for the three color components and entropy coded by Huffman coding, arithmetic coding, etc. in block 11 of encoding with variable-length words. Quantized conversion coefficient 10 is restored to the differential signal of the prediction of the local decoder 14 through the block of the inverse quantization 12 and block inverse transform 312. Quantized conversion factor of 10 is added to the predicted image 7 generated based on the selected type of the macroblock/type submicromolar 106 and service information forecasting 463, the adder 18. Thus, generates a locally decoded image 15. Being subjected to deletion processing block distortion in razblokirovat filter 462, locally decoded image 15 is stored in the memory 16a for use in the next process of prediction for motion compensation. Flag 24 management razblokirovat filter indicating whether unblocking the filter to the macroblock, is also entered in block 11 of encoding with variable-length words.

Quantized conversion coefficient 10, the macroblock type/type submicromolar 106, service information forecasting 463 and the quantization parameter 21, is entered in block 11 of encoding with variable-length words, arranged and formed in the form of a bit stream in accordance with a predetermined rule (syntax) and shown in the transmission buffer 17 as encoded data unit in the NAL unit data slice in one or a group of the set of macroblocks in the format shown on Fig. The transmission buffer 17 smoothes the bit stream according to the strip transmission line, connected to the encoder, and the reading speed of the recording medium and outputs the bit stream as a video stream 422a. The transmission buffer 17 applies feedback to the unit 19 controls the encoding according to the state of accumulation of bit streams in the transmission buffer 17 and regulates the amount of generated codes the next time encoding of video frames.

The output signal of the first block 503a encoding image represents a slice unit three components and is equivalent to the amount of codes in units of blocks access. Thus, the transmission buffer 17 can be placed in the multiplexing unit 504 as is.

In the first block 503a, the image encoding according to the fourteenth variant implementation, you can decide that all data slice in the sequence represent the slice, where C0, C1 and C2 are mixed (i.e. slice, in which pieces of information the three color components are mixed according to the signal 423 identify common encoding/independent the independent coding. Thus, the flag identifying the color component not is multiplexed with the header section.

Description of the operation of the second unit of the image encoding

The internal structure of the second unit of the image encoding 503b0 (503b1, 503b2) shown in Fig. According pig it is assumed that the input video signal 1a is entered in units of macroblocks, comprising a sample of one color component in the format shown on Fig.

First of all, the block prediction 461 selects the reference image data from the reference image for prediction of motion compensation that is stored in the memory 16b, and carries out processing of prediction for motion compensation in units of macroblocks. In memory 16 may store the set of pieces of data of a reference image formed by one color component within the set of time intervals. The block prediction 461 selects the optimal reference image in units of macroblocks of data of the reference image and performs motion prediction. The memory 16b in units of groups of three color components can be used in conjunction with the memory 16a. Seven types are prepared as the size of the unit to perform prediction with motion compensation. First, you can choose any size from 16×16, 16×8, 8×16 and 8×8 in units of macrob the shackles as shown in figa-fig.32D. In addition, the choice of 8×8, you can choose any size from 8×8, 8×4, 4×8 and 4×4 for each block of 8×8, as shown in figa-vign.

The block prediction 461 performs, for each size of macroblock processing prediction for motion compensation for all or part of the block size, the size of sub-blocks, the motion vectors in a predetermined search range, and one or more use of the reference images. The block prediction 461 receives the differential signal prediction 4 for each block serving as a unit of the prediction motion compensation using motion vectors, and the identification number of the reference image 463 and myCitadel 3 used for prediction. Efficiency prediction differential signal prediction 4 is estimated in block 5 of deciding the encoding mode. Unit 5 the decision regarding the encoding mode displays the type of the macroblock/type submicromolar 106 and information of the motion vector/identification number 463 reference image, in which an optimum efficiency prediction for a macroblock to be predictive of treatment prediction performed in block prediction 461. All the pieces of header information of the macroblock, such as the types m is Knobloch, types of submicromolar, the indexes of the reference image and the motion vectors are determined as the header information for one color component of the input video signal 1 is used for encoding, and multiplexed with the bit stream. When assessing the optimality of the effectiveness of the prediction is evaluated only the value of the forecast error for one color component to be processed is encoded. In the final selection of the macroblock type/type submicromolar 106 can be taken into account a weighting factor of 20 for each type defined in the decision unit 19 controls the encoding.

Similarly, the block prediction 461 also performs infraprogressive. During execution of infraprogressive information mode infraprogressive is output as the output signal 463. In the following explanation, when interpromotion and prediction with motion compensation not specifically differ, the output signal 463 is called service information forecasting, including the information mode infraprogressive, the motion vectors and the identification number of the reference image. In addition, in respect of infraprogressive, is estimated only the value of the forecast error for one color component to be processed is encoded. N the end, the block prediction 461 selects infraprogressive or interrogazione type macroblock, evaluating the type of the macroblock according to the efficiency of forecasting or coding efficiency.

The block prediction 461 outputs the selected macroblock type/type submicromolar 106 and the differential signal prediction 4 obtained through the service information forecasting 463, at processing block 310. The conversion unit 310 converts the differential signal prediction 4 of one color component, and outputs the differential signal prediction 4 on block quantization 9 as the conversion factor. In this case, the block size, which serves as input signal for conversion, you can choose from 4×4 and 8×8. When given a choice, the block size selected during encoding, is reflected in the value of the flag 464 specify the size of the transform block, and a flag is multiplexed with the bit stream. Block quantization 9 quantum the conversion factor established on the basis of the quantization parameter 21 defined by the block 19 control coding, and outputs the conversion coefficient in block 11 of encoding with variable-length words as the quantized conversion coefficient 10. Quantized conversion coefficient 10 includes information for one color of the first component and entropy coded by Huffman coding, arithmetic coding, etc. in block 11 of encoding with variable-length words. Quantized conversion coefficient 10 is restored to the differential signal of the prediction of the local decoder 14 through the block of the inverse quantization 12 and block inverse transform 312. Quantized conversion factor of 10 is added to the predicted image 7 generated based on the selected type of the macroblock/type submicromolar 106 and service information forecasting 463, the adder 18. Thus, generates a locally decoded image 15. Being subjected to deletion processing block distortion in razblokirovat filter 462, locally decoded image 15 is stored in the memory 16b for use in the next process of prediction for motion compensation. Flag 24 management razblokirovat filter indicating whether unblocking the filter to the macroblock, is also entered in block 11 of encoding with variable-length words.

Quantized conversion coefficient 10, the macroblock type/type submicromolar 106, service information forecasting 463 and the quantization parameter 21, entered in block 11 of encoding with variable-length words are arranged and formed in the form of a bit stream in accordance with a predetermined rule (from what nexicom) and shown in the transmission buffer 17 as encoded data unit in the NAL unit data slice in one or a group of the set of macroblocks in the format shown in Fig. The transmission buffer 17 smoothes the bit stream according to the strip transmission line, connected to the encoder, and the reading speed of the recording medium and outputs the bit stream as a video stream 422b0 (422b1, 422b2). The transmission buffer 17 applies feedback to the unit 19 controls the encoding according to the state of accumulation of bit streams in the transmission buffer 17 and regulates the amount of generated codes the next time encoding of video frames.

The output of each of the second blocks 503b0-503b2 encoding image represents a slice consisting of only data of one color component. When the desired adjustment of the amount of codes in units of blocks access a shared buffer transfer multiplexed in units of slices of all the color components can be provided in block 504 multiplexing for submitting feedback on unit 19 controls the encoding of the respective color components on the basis of the occupied amount of buffer. In this case, the control coding can be performed using only the amount of information about generate all color components, and can also be based on the status of the transmit buffer 17 of each of the color components. When control coding is carried out using only the amount of information about generate all color components, it also is possible to implement the function equivalent to the transmission buffer 17 with the total transmit buffer in the multiplexing unit 504 and to abolish the transmission buffer 17.

Secondly blocks 503b0-503b2 the image encoding according to the fourteenth variant implementation, you can decide that all data slice in the sequence represent a snapshot of one color component (i.e., the slice C0, slice or C1 slice C2) according to the signal 423 identify common encoding/independent encoding. Thus, the flag identifying the color component is multiplexed with the title cut, so that you can decide on the side of the decoder, which slice corresponds to which image data in the unit of access. Thus, the respective second blocks 503b0-503b2 the image encoding can transmit output signals from the respective transmit buffers 17 when accumulated data for one slice, not accumulating output signals for a single image.

The signal identification of the common encoding/independent encoding (num_pictures_in_au) can provide information to distinguish data encoded by means of a General processing coding from data coded by independent processing coding (information, identify common coding), and information indicating the number of images of the aqueous color component is present in one unit of access (the number of color components). However, two types of information can be encoded as independent pieces of information.

The first block 503a encoding image and the second blocks 503b0-503b2 the image encoding differ only in whether information macrobiology as the information common to the three components, or as information of one color component, and the structure of the bitstream data slice. You can implement most of the basic processing units, such as blocks of prediction blocks conversion and units of inverse transformation, quantization blocks and blocks of the inverse quantization, and razblokirovat filters shown in Fig and 74, you can implement the functional blocks common to the first block coding of the image 503a and the second blocks 503b0-503b2 encoding image, with only one difference, whether the information of the three color components together or handled only the information of one color component. Thus, it is possible to implement not only a fully independent processing unit of the encoding shown in Fig, but different encoders, properly combining the basic components shown in Fig and 74. If the configuration memory 16a in the first block 503a, the image encoding provided in sequential mode, planes, you can share the structure is Amati for storing a reference image between the first block 503a encoding image and the second blocks 503b0-503b2 the image encoding.

Although the drawing is not shown in the encoder according to the fourteenth variant implementation, suggesting the presence of buffer imaginary stream (buffer image for encoding), which buffers the video stream 422c, consistent with the arrays shown in Fig and 70, and the memory of the imaginary frame (buffer image for decoding), which buffers the decoded image 427a and 427b, the video stream 422c is generated in order to avoid overflow or neonatologia buffer image for coding and denial buffer image for decoding. This control is mainly carried out by the unit 19 controls the encoding. Therefore, when the video stream 422c is decoded in accordance with the operations (models of imaginary buffer) buffer image for encoding and buffer image for decoding in the decoder, it is guaranteed that the decoder fails. Model of the imaginary buffer defined below.

The operation of the buffer image for encoding are performed in units of blocks access. As described above, when implementing the overall processing of decoding the coded data of one image are included in one block access. Upon independent processing of decoding the encoded image data for the number of color components (for the three images in the case of three components) vkluchaut is in one block access. The operations specified for the buffer image to be encoded is the time when the first bit and the last bit access block are buffered image for encoding, and the time when a bit of the access block is read from the image buffer to encode. By definition, the reading from the buffer image for encoding is carried out immediately. It is assumed that all the bits of the access block is read from the image buffer to encode at the same time. When this bit access block is read from the buffer image for encoding, the bit is introduced in the analysis block header. As described above, the bit is subjected to the decoding processing in the first block of the decoded image or the second block decoding image and displayed as a color video frame associated in units of block access. Processing from reading bits from the buffer image to encode and output the image as a color video frame in units of blocks accessed instantly according to the model definition of the imaginary buffer. Color video frame, built in units of blocks access, is introduced into the image buffer for decoding, and calculates the color frame buffer image for decoding. The time output from the buffer image for decoding is a value calculated by adding the ZAR is it a certain time delay from the time read from the image buffer to encode. This time delay can be muxed with the bit stream to control the decoder. When the delay time is 0, i.e. when the output of the buffer image for decoding is equal to the time read from the buffer image for encoding color video frame is inserted in the image buffer for decoding and simultaneously outputted from the image buffer for decoding. In other cases, i.e. when the output of the buffer image to decode more time reading from the buffer image for encoding color video frame stored in the image buffer for decoding, until the time of the conclusion of the buffer image for decoding. As described above, the operation of the buffer image to decode is specified in units of blocks access.

On Fig shows a diagram illustrating a schematic structure of a decoder according to the fourteenth variant implementation. According Fig General decoding processing is performed in the first block 603a decoding of the image. Independent decoding processing is performed in block 602 a decision about the color component and second blocks 603b0 decoding image (prepared for the three color components).

The video stream 422c is divided into unit blocks in the NAL block 610 analysis of the header. Information top for the head, for example, the set of sequence parameters and the set of parameters of the image is decoded as it is and stored in a predetermined memory area to which the first block 603a decoding the image block 602 deciding on the color component and the second blocks 603b0-603b2 decoding image will be able to request information header. The signal 423 identify common encoding/independent encoding (num_pictures_in_au), multiplexed in units of sequences, is decoded and supported as part of the information header.

Decoded num_pictures_in_au goes to the switch (SW) 601. If num_pictures_in_au=1, the switch 601 delivers the NAL block of the slice for each image on the first block 603a decoding of the image. If num_pictures_in_au=3, the switch 601 delivers the NAL block of the slice at block 602 a decision about the color component. In other words, if num_pictures_in_au=1, the first block 603a decoding image performs General processing decoding. If num_pictures_in_au=3, three second block 603b0-603b2 decoding images provide independent processing of decoding. Detailed description of the operations of the first and second blocks of the decoded image below.

Block 602 deciding on the color component decides what is in the image of the color component in the current block access corresponds to the NAL block of the slice, according to the flag value of the color component identification, shown in Fig, and distributes and delivers the NAL block of the slice to the corresponding second blocks 603b0-603b2 decoding of the image. With this structure, the decoder turns out that, even if it be received bit stream obtained by interleaving and coding of the slice in the block access, as shown in Fig, you can easily decide which the slice belongs to which color component image, and to decode a bit stream.

Description of work the first block decoding image

The internal structure of the first unit 603a decoding image shown in Fig. The first block 603a decoding image takes the video stream 442c consistent with the arrays shown in Fig and 70, which is derived from the encoder shown in Fig, in units of mixed cut C0, C1 and C2, after dividing the video stream in units of NAL unit. The first block of the decoded image 603a performs decoding processing, when the macroblock consists of samples of the three color components shown in Fig, and restores the output video frame.

Video 442c is entered in block 25 of decoding variable length words. Unit 25 decodes variable length words interprets the stream 442c in accordance with a predetermined rule (sintek Isom) and extracts the quantized conversion coefficient 10 for the three components and the header information of the macroblock (macroblock type/type submicromolar 106, service information forecasting 463, flag 464 specify the block size of the transform and the quantization parameter 21), shared by the three components. Quantized conversion coefficient 10 is inserted in the block of the inverse quantization 12, which performs the same processing performed by the first unit 503a, the image encoding, together with the quantization parameter 21 and subjected to the processing of inverse quantization. Then the output signal of the block of the inverse quantization 12 is introduced into the block inverse transform 312, which performs the same processing performed by the first unit 503a, the image encoding, and is restored to the differential signal forecasting local decoding 14 (if the flag 464 specify the size of the transform block is present in the video stream 422c accessed flag 464 specify the block size of the transform on the phase of the inverse quantization and inverse transformation processing). On the other hand, only the processing of the access service information forecasting 463 to generate the predicted image 7 in block prediction 461 in the first block 503a, the image encoding included in the block prediction 461. The macroblock type/type submicromolar 106 and service information forecasting 463 entered in block predicted what I 461 to obtain the predicted image 7 for the three components. When the macroblock type indicates infraprogressive, the predicted image 7 for the three components obtained from the service information forecasting 463 in accordance with the information mode infraprogressive. When the macroblock type indicates interrogazione, the predicted image 7 for the three components obtained from the service information forecasting 463 in accordance with the motion vector and reference index image. Differential signal prediction of the local decoder 14 and the predicted image 7 are summed in adder 18 for receiving the internally decoded image 15 for the three components. Since internally decoded image (locally decoded image 15 is used for prediction with motion compensation the following macroblocks after treatment removal of block distortion samples internally decoded image for the three components in razblokirovat filter 462, which performs the same processing performed by the first unit 503a, the image encoding internally decoded image 15 is output as the decoded image 427a and saved in the memory 16a. In this case, the processing razblokirovka filter is applied to the internally decoded image 15 on the basis of the years of instruction flag 24 management razblokirovat filter, interpreted by the unit 25 decodes variable length words. The set of pieces of data of the reference image, formed by three color components for the set of time intervals stored in the memory 16a. The block prediction 461 selects the reference image specified by the reference index images extracted from the bitstream in units of macroblocks, from the data of the reference image, and generates the predicted image. In order to accommodate the data of the reference image in the memory 16a, the data of the reference image you can save for each of the color components in sequential mode, planes, or sampling of the respective color components can be stored in sequential mode points. The decoded image 427a includes three color component and directly converted into a color video frame forming block access 427a0, with a total processing decoding.

Description of the operation of the second block decoding image

The internal structure of each of the second blocks 603b0-603b2 decoding image shown in Fig. Each of the second blocks 603b0-603b2 decoding image takes the video stream 442c consistent with the arrays shown in Fig and 70, the output of the decoder shown in Fig, one is Ah blocks NAL slice C0, C1 or C2, the selected block 602 deciding on the color component after the video stream is divided in units of NAL units in block 610 of analysis of the header, performs the processing of decoding the macroblock consisting of a sample of one color component, shown in Fig, as a unit, and restores the output video frame.

The video stream 422c is entered in block 25 of decoding variable length words. Unit 25 decodes variable length words interprets the bit stream 422c in accordance with a predetermined rule (syntax) and extracts the quantized conversion coefficient 10 for one color component and the header information of the macroblock (macroblock type/type submicromolar 106, service information forecasting 463, flag 464 specify the block size of the transform and the quantization parameter 21), shared for one color component. Quantized conversion coefficient 10 is inserted in the block of the inverse quantization 12, which performs the same processing performed by the second 503b0 (503b1, 503b2) block coding of images, together with the quantization parameter 21 and subjected to the processing of inverse quantization. Then the output signal of the block of the inverse quantization 12 is introduced into the block inverse transform 312, which carried the t same processing which carries out the second block 503b0 (503b1, 503b2) encoding the image, and restored to the differential signal forecasting local decoding 14 (if the flag 464 specify the size of the transform block is present in the video stream 422c accessed flag 464 specify the block size of the transform on the phase of the inverse quantization and inverse transformation processing). On the other hand, only the processing of the access service information forecasting 463 to generate the predicted image 7 in block prediction 461 in the second block 503b0 (503b1, 503b2) encoding the image included in the block prediction 461. The macroblock type/type submicromolar 106 and service information forecasting 463 entered in block prediction 461 to obtain the predicted image 7 for one color component. When the macroblock type indicates infraprogressive, the predicted image 7 for one color component is obtained from the service information forecasting 463 in accordance with the information mode infraprogressive. When the macroblock type indicates interrogazione, the predicted image 7 for one color component is obtained from the service information forecasting 463 in accordance with the motion vector and reference index image. D. ferentially signal prediction of the local decoder 14 and the predicted image 7 are summed in adder 18 for receiving the internally decoded image 15 for a macroblock of one color component. Since internally decoded image 15 is used for prediction with motion compensation the following macroblocks after treatment removal of block distortion samples internally decoded image for one color component in razblokirovat the filter 26, which performs the same processing performed by the second block 503b0 (503b1, 503b2), the image encoding internally decoded image 15 is output as the decoded image 427b and stored in the memory 16b. In this case, the processing razblokirovka filter is applied to the internally decoded image 15 on the basis of instructions of the flag 24 management razblokirovat filter, interpreted by the unit 25 decodes variable length words. The decoded image 427b includes only a sample of one color component and constructed as a color video frame by linking, in units of blocks access 427b0, the decoded image 427b as output signals of the other of the respective second blocks 603b0-603b2 decoding image subject to parallel processing, shown in Fig.

As follows from the above, the first block 603a decoded image and the second blocks 603b0-603b2 decoding images differ only in whether the information is of macroblock header information, common to the three components, or as information of one color component, and the structure of the bitstream data slice. You can implement most of the basic block decode processing such as processing of prediction for motion compensation, inverse transform and inverse quantization, shown in Fig and 74, to the functional blocks common to the first block 503a, the image encoding and second blocks 503b0-503b2 the image encoding. Thus, it is possible to implement not only a fully independent unit of decoding processing shown in Fig, but different decoders, properly combining the basic components shown in Fig and 77. In addition, if the configuration memory 16a in the first block 503a, the image encoding provided in sequential mode, planes, you can share patterns of memory blocks 16a and 16b between the first block 603a decoded image and the second blocks 603b0-603b2 decoding of the image.

Obviously, the decoder shown in Fig able to receive and decode a bit stream output from the encoder, always able to capture the signal 423 identify common encoding/independent encoding "independent processing of encoding and independently encode all frames even without use of the first block 503a, codiovan the image as a different variety of the encoder shown in Fig. As other varieties of the decoder shown in Fig, in the form of use, provided that the signal 423 identify common encoding/independent encoding is always fixed at "independent processing of encoding, the decoder can be built as a decoder, which does not include the switch 601 and the first block 603a decoding image and performs independent processing of decoding.

The signal identification of the common encoding/independent encoding (num_pictures_in_au) includes information for distinguishing data encoded by means of a General processing coding from data coded by independent processing coding (information, identify common coding), and information indicating the number of images one color component is present in one unit of access (the number of color components). However, two types of information can be encoded as independent pieces of information.

If the first block 603a decoding image includes a function for decoding the bit stream according to a high profile AVC, in which the three components together are encoded in the traditional format YUV 4:2:0 as the object, and the block 610 header analysis decides which format is encoded b is preset flow, with reference to the profile identifier decoded from the bit stream 422c, and transmits the result of the decision to switch 601 and the first block of the decoded image 603a as part of the data line signal for signal 423 identify common encoding/independent encoding, you can also build a decoder that provides compatibility traditional format YUV 4:2:0 bit stream.

In the first block 503a, the image encoding according to the fourteenth variant of implementation, the pieces of information of the three color components are mixed in the data slice, and identical processing intra/interrogazione is applied to the three color components. Accordingly, the correlation signal between the color components may remain in the space of the error signal prediction. As a means of removing the correlation signal, to the signal prediction error can be used, for example, conversion processing of the color space described according to the thirteenth variant implementation. Examples of the first block 503a encoding of the image having such a structure shown in Fig and 79. On Fig shows an example in which processing of the color space conversion is performed at the pixel level to implement the conversion processing. Block 465 transformations the Finance color space placed before conversion unit 310, and block 466 inverse conversion of the color space is placed after a block inverse transform 312. On Fig shows an example in which the conversion processing of the color space is carried out, while the frequency component to be processed is properly selected in relation to these factors, obtained after the conversion processing. Block 465 conversion color space is after conversion unit 310, and the block 466 inverse conversion of the color space is set to block reverse 312. This allows you to adjust the high-frequency noise component included in a specific color component, so it does not spread to other color components, hardly includes noise. When the frequency component to be processed convert color space, made adaptively chosen, the pieces of information alarm 467 for making decisions regarding the selection of encoding time multiplexed with the bit stream-side decoding.

During processing of converting the color space of the totality of systemic transformation, described according to the thirteenth variant implementation, can be switched in units of macroblocks and used according to the characteristics which the infrared image signal, subject to encoding, or the decision concerning the presence or absence of the conversion can be performed in units of macroblocks. You can also specify in advance the types of selectable conversion systems-level sequences and specify the conversion system, subject choice, in units of picture, slice, macroblock, etc. you Can choose whether conversion processing of the color space before conversion or after conversion. When implementing these types of adaptive processing coding can assess coding efficiency for all choices with the help of block 5 of deciding the encoding mode to select the option with the highest coding efficiency. When performing these types of adaptive processing coding pieces of information alarm 467 for making decisions regarding the selection of encoding time multiplexed with the bit stream-side decoding. The alarm can be specified at a level different from the level of macroblocks, for example at the level of the slice image, GOP or sequence.

The decoder corresponding to the encoder shown in Fig and 79, shown on Fig and 81. On Fig shows a decoder that decodes the bit stream encoded by the encoder, the display is authorized to Fig, by performing color space conversion to the conversion processing. Unit 25 decodes variable-word length decoding from the bitstream, information signaling 467 as information about the presence or absence of conversion to select whether the conversion in block 466 inverse conversion of the color space, and information for selection of system transformation performed in block 466 inverse conversion of the color space, and outputs information on the block 466 inverse conversion of the color space. The decoder shown in Fig performs, at block 466 inverse conversion of the color space, the processing of converting the color space for signal prediction error after the inverse transformation on the basis of these varieties of information. On Fig shows a decoder that decodes the bit stream encoded by the encoder shown in Fig, choosing the frequency component to be processed, after the conversion processing, and performing color space conversion. The block decoding variable-word length decoding from the bitstream, information signaling 467 as authentication information, which includes information about the presence or absence of conversion, to select, implement aetsa do the conversion in block 466 inverse conversion of the color space, information for selection of system transformation performed in the unit of inverse transformation of color space information to select the frequency component in which the color space conversion, and the like, and displays information on the unit 466 inverse conversion of the color space. The decoder shown in Fig performs, at block 466 inverse conversion of the color space, the processing of converting the color space data of transform coefficients after inverse quantization on the basis of these varieties of information.

In the decoder, shown in Fig and 81, as in the decoder shown in Fig, if the first block 603a decoding image includes a function for decoding the bit stream according to a high profile AVC, in which the three components together are encoded in the traditional format YUV 4:2:0 as the object, and the block 610 header analysis decides which format the encoded bit stream, with reference to the profile identifier decoded from the bit stream 422c, and transmits the result of the decision to switch 601 and the first block of the decoded image as part 603a information line signal for signal 423 identify common encoding/independent encoding, you can also build a decoder, which which ensures compatibility traditional format YUV 4:2:0 bit stream.

The structure of the data-encoded header information of the macroblock included in the bitstream in a traditional format YUV 4:2:0, shown in Fig. Data differ from the header information of the component Cn, shown in Fig, so that when the macroblock type is infraprogressive, the coded data mode 144 infraprogressive color-difference signals are included. When the macroblock type is interrogazione, although the structure of the data-encoded header information of the macroblock is the same as in the header information of the component Cn, shown in Fig, the motion vector of the chroma component is generated by a method different from the method generating component brightness, using the identification number of the reference image and information of a motion vector included in the header information of the macroblock.

Below is explained the operation of the decoder for compatibility traditional format YUV 4:2:0 bit stream. As described above, the first block 603a decoding image has a function to decode the bitstream in the traditional format YUV 4:2:0. The internal structure of the first block of the decoded image is the same as shown in Fig.

Below is explained the operation of the first unit of the image decoding unit 25 decodes variable length words, imeushih the function for decoding the bitstream in the traditional format YUV 4:2:0. When the video stream 422c enters the block decoding variable length words, the block decoding with variable word length decodes the flag indicating the format of the color-difference signal. Flag display chroma format signal is a flag included in the header of the parameter sequence of the video stream 422c and indicates whether the format of the input video signal 4:4:4, 4:2:2, 4:2:0 or 4:0:0. The processing for decoding the header information of the macroblock of the video stream 422c switches according to the flag value indicating the format of the color-difference signal. When the macroblock type indicates infraprogressive, and a flag specifying color-difference signal indicates 4:2:0 or 4:2:2, mode infraprogressive color-difference signal 144 is decoded from the bitstream. When the flag indicating the format of the color-difference signal indicates 4:4:4, the decoding mode infraprogressive color-difference signal 144 is skipped. When the flag indicating the format of the color-difference signal indicates 4:0:0, since the input signal has the format (format 4:0:0), formed only the luminance signal, the decoding mode infraprogressive color-difference signal 144 is skipped. The processing for decoding the header information of the macroblock that is different from the mode 144 infraprogressive color-difference signal, the same, as in the block decoding with variable word length of the first block 603a decode the image, and does not include a function for decoding the bitstream in the traditional format YUV 4:2:0. Therefore, when the video stream 422c is entered in block 25 of decoding variable length words, the unit 603a decoding variable length words retrieves the flag indicating the format of the color-difference signal (not shown), the quantized conversion coefficient for the three components 10 and header information of the macroblock (macroblock type/type submicromolar 106, service information forecasting 463, flag 464 specify the block size of the transform and the quantization parameter 21). Flag display format color-difference signal (not shown) and service information forecasting 463 entered in block prediction 461 to obtain the predicted image 7 for the three components.

The internal structure of the block prediction 461 of the first block of the decoded image, which ensures compatibility traditional format YUV 4:2:0 bit stream shown in Fig. Below is explained the operation of block prediction.

The switch unit 4611a, decide on the type of the macroblock. When the macroblock type indicates infraprogressive, the switch unit 4611b decision regarding the value of the flag indicator is the format of the color-difference signal. When the flag value indicating the format of the color-difference signal indicates 4:2:0 or 4:2:2, the block prediction receives the projected image 7 for the three components of the service information forecasting in accordance with the information mode infraprogressive and information mode infraprogressive color-difference signal. The projected image brightness signal among the three components is generated in block 4612 of infraprogressive of the luminance signal in accordance with the information mode infraprogressive. The projected image of the color-difference signal of the two components is generated in block 4613 of infraprogressive color-difference signal, which performs processing different from the processing component brightness, in accordance with the information mode infraprogressive color-difference signal. When the flag value indicating the format of the color-difference signal indicates 4:4:4, the projected image of all three components are generated in block 4612 of infraprogressive of the luminance signal in accordance with the information mode infraprogressive. When the flag value indicating the format of the color-difference signal indicates 4:0:0 because the format 4:0:0 is formed of only the luminance signal (one component), only the prediction image signal brightness generiques the block 4612 of infraprogressive of the luminance signal in accordance with the information mode infraprogressive.

When the macroblock type indicates interrogazione in the shift unit 4611a, the switch unit 4611c decision regarding the flag value indicating the format of the color-difference signal. When the flag value indicating the format of the color-difference signal indicates 4:2:0 or 4:2:2, the ratio of the luminance signal, the projected image is generated from the service information forecasting 463 unit 4614 of interrogazione of the luminance signal in accordance with the motion vector and reference index image, and in accordance with the method of generating a predicted image for the luminance signal, corresponding to the AVC standard. Regarding the predicted image color-difference signal of the two components in the block 4615 of interrogazione color-difference signal, the motion vector obtained from the service information forecasting 463, subject to scaling based on the format of the color-difference signal for generating color-difference motion vector. The predicted image is generated from the reference image specified by the reference index image, which is obtained from the service information forecasting 463, on the basis of the color-difference motion vector in accordance with a method corresponding to the AVC standard. When the flag value indicating the format of the color-difference signal is found 4:0:0, because the format 4:0:0 is formed of only the luminance signal (one component), the projected image of the luminance signal is generated in block 4614 of interrogazione of the luminance signal in accordance with the motion vector and reference index image.

As described above, provided with means for generating the predicted image color-difference signal in the traditional format YUV 4:2:0, and means for generating a predicted image of the three components is switched according to the value of the flag indicating the format of the color-difference signal decoded from the bit stream. Thus, it is possible to build a decoder that provides compatibility traditional format YUV 4:2:0 bit stream.

If the information indicating the bit stream that can be decoded even in the decoder that does not support the processing of converting the color space, for example the decoder shown in Fig, provided in the video stream 422c input to the decoders shown in Fig and 81, in units of the sequence settings and the like, all of the decoders shown in Fig, 81 and 75, it is possible to perform decoding of the bit stream corresponding to the performance of the decoding of each of the decoders. Accordingly, it is possible to easily ensure the compatibility of the bitstream.

Fifteenth variant implemented the I

According to the fifteenth variant implementation of the present invention will be described in another variant implementation, is different from the encoder and decoder according to the fourteenth variant implementation, shown in Fig, 75, etc., only the structure of the bitstream to be input and output. The encoder according to the fifteenth variant implementation performs multiplexing of the coded data with the structure of the bitstream shown in Fig.

In the bit stream, the structure of which is shown in Fig, block NAL AUD includes information primary_pic_type as its element. Table 85 provides information about the coding type of the image during encoding of the image data in the block access from unit NAL AUD.

For example, when primary_pic_type=0, it indicates that the image is completely intractive. When primary_pic_type=1, it indicates that the section is subject to intracoronary, and the slice for which the prediction with motion compensation can be performed using only one list of reference images can be mixed in the image. Because primary_pic_type is information that specifies the encoding mode, in which you can encode a single image, on the side of the encoder, you can encode, suitable for various conditions, such as characteristics of the input video signal and is uncle random access, in this information. According to the fourteenth variant implementation, since there is only one primary_pic_type for one block access, in the exercise of independent processing coding primary_pic_type is common to the three color component images in a block access. According to the fifteenth variant implementation, upon independent coding of each of the color component images, primary_pic_type for the other two color component images is additionally inserted into the block NAL AUD, shown in Fig, according to the value num_pitures_in_au. Alternatively, as in the structure of the bitstream shown in Fig, the coded data of each color component image begin with the NAL block (separate color channels)indicating the beginning of a color component image, and in this NAL unit CCD included relevant information primary_pic_type. In this structure, since the coded data of the respective color component images to one image multiplexed together, the flag identifying the color component (color_channel_idc), described according to the fourteenth variant implementation, included in the NAL unit CCD, and not in the header of the slice. Consequently, it is possible to consolidate information flag identifying the color component subject to multiplex the application with the relevant sections, in data in units of images. Thus, it is possible to reduce the service information. Since the NAL unit CCD, built only as a string of bytes that is subject to detection to confirm color_channel_idc only once for each color image component, you can quickly find the upper part of the image color component, not by processing of the decoding of the variable length words. Thus, on the side of the decoder, color_channel_idc in the header of the slice is not necessary to confirm each time to separate the NAL block to be decoded, for each color component. Can smoothly supply the data to the second block decoding of the image.

On the other hand, with this structure, the effect of reducing the buffer size and delay processing of the encoder described with reference to Fig, according to the fourteenth variant implementation is weakened. Thus, the flag identifying the color component can be built to indicate a higher level (sequence or GOP), multiplexed whether the coded data in units of slices or pieces of color component images. In adopting such a structure of the bitstream, it is possible to implement a flexible implementation of the encoder according to the use of the encoder.

In addition, according to another variant implementation, multiplexers is the encoded data can be performed using the structure of the bitstream, shown in Fig. According Fig color_channel_idc and primary_pic_type included in the NAL unit CCD shown in Fig are included in the relevant AUD. In the structure of the bit stream according to the fifteenth variant implementation of the present invention, also in the case of independent processing coding one picture (color component) is included in one block access. With this structure, as in the structures described above, there is the effect of reducing the service information with the ability to consolidate information flag identifying the color component data in units of image. In addition, since the NAL unit AUD, built only as a string of bytes that is subject to detection to confirm color_channel_idc only one time for one image, you can quickly find the upper part of the image color component, not by processing of the decoding of the variable length words. Thus, on the side of the decoder, color_channel_idc in the header of the slice is not necessary to confirm each time to separate the NAL block to be decoded, for each color component. Accordingly, it is possible smoothly to supply data to the second block of the decoded image. On the other hand, since the image of one frame or one field is formed by three blocks access, it is necessary to specify three Blo is and access the image data. Thus, in the structure of the bitstream shown in Fig, AUD you can assign sequence numbers (orders of encoding and decoding in the time dimension and so on) of the respective images. With this structure, on the side of the decoder, you can check orders decode and display the corresponding image attributes of the color components, the identity IDR and so on, not realizing the decoding data of the slice. It is possible to effectively carry out the editing and special reproduction at the level of the bit stream.

In the structure of the bitstream shown in Fig, 84 or 86, the information indicating the number of blocks NAL slice included in one image color component may be stored in fields AUD or CCD.

As for all embodiments, processing, conversion and processing of the inverse transform can be represented as a transformation allowing to guarantee orthogonality, such as DCT, or may represent a transformation, such as AVC, in combination with the processing of the quantization and inverse quantization to approximate orthogonality, and not the strict transform, such as DCT. In addition, the signal prediction error can be encoded as information at the pixel level without conversion.

Industrial applicability

<> The present invention is applicable to the encoder of the digital image signal to the decoder of the digital image signal used for coding image compression, transmission of the compressed image data, etc.

1. The image decoder, which decodes the signal of the color image based on an input bit stream generated by compression-encoding a color image, which is formed by the set of color components, and a color image is subjected to compression coding in units of regions obtained by dividing a color image on a predetermined area, the image decoder contains
the block header analysis, which extracts the identification information of the common encoding/independent encoding of the bit stream,
the block decoder which decodes for each area mode internal forecasting, included in the bitstream, and decodes the signal prediction error for each of the areas
the block generating the predicted image, which generates a predicted image on the basis of the decoded mode internal forecasting, and
the unit of addition, which adds the decoded signal of the prediction error and the predicted image to generate a decoded from the expression,
moreover, the block decoding decodes the internal forecasting, commonly used for all color components, in the case where the identification information of the common encoding/independent encoding indicates that the regions serving as the units of encoding, encoded by the General method of prediction in units of the regions for respective color components, and decodes the internal mode prediction in units of regions for the respective color components in the case, when the identification information of the common encoding/independent encoding indicates that the regions serving as the units of encoding are respectively encoded by way of a separate prediction for the respective color components, and
the block generating the predicted image to generate a predicted image using the decoded mode internal forecasting for the respective color components.

2. The image encoder, which generates a bit stream based on an input color image, which is formed by the set of color components, by compression-encoding a color image in units of regions obtained by dividing a color image on a predetermined area, the image encoder includes
block a mule is tabletservice, that multiplexes the identification information of the common encoding/independent encoding, which specifies encoded together areas that serve as the units of encoding, the General method of prediction for all the color components forming a signal, or areas that serve as the units of encoding are respectively encoded by way of a separate prediction for the respective color components, and
the coding block, which uses total internal forecasting used for all color components, in the case where the identification information of the common encoding/independent encoding indicates that the regions serving as the units of encoding are encoded together in common predictor for all the color components forming a signal, uses a separate internal mode prediction for the respective color components, in the case where the identification information of the common encoding/independent encoding indicates that the regions serving as the units of encoding are respectively encoded by way of a separate prediction for the respective color components, and compressed-coding the signal prediction error obtained at the basis of internal forecasting.

3. Method Deco is investing images for decoding a color image based on an input bit stream, generated by compression-encoding a color image, which is formed by the set of color components, and a color image is subjected to compression coding in units of regions obtained by dividing a color image on a predetermined area, the method of decoding image contains the time that
extract the identification information of the common encoding/independent encoding of the bit stream,
decode for each area mode internal forecasting, included in the bitstream, and decodes the signal prediction error for each of the areas
generate a predicted image based on the decoded mode internal forecast,
put the decoded signal of the prediction error and the predicted image generating decoded image,
moreover, at the stage of decoding decode mode internal forecasting, commonly used for all color components, in the case where the identification information of the common encoding/independent encoding indicates that the regions serving as the units of encoding, encoded by the General method of prediction in units of the regions for respective color components, and decode mode internal prognose the Finance in units of regions for the respective color components in the case, when the identification information of the common encoding/independent encoding indicates that the regions serving as the units of encoding are respectively encoded by way of a separate prediction for the respective color components, and
at the stage of generating the predicted image to generate a predicted image using the decoded mode internal forecasting for the respective color components.

4. The method of encoding image to generate a bit stream based on an input color image, which is formed by the set of color components, by compression-encoding a color image in units of regions obtained by dividing a color image on a predetermined area, and a method of coding image contains the time that
multiplexer identification information of the common encoding/independent encoding, which specifies encoded together areas that serve as the units of encoding, the General method of prediction for all the color components forming a signal, or areas that serve as the units of encoding are respectively encoded by way of a separate prediction for the respective color components, and
set the common mode internal forecast of the simulation, used for all color components, in the case where the identification information of the common encoding/independent encoding indicates that the regions serving as the units of encoding are encoded together in common predictor for all the color components forming a signal, establish a separate internal mode prediction for the respective color components, in the case where the identification information of the common encoding/independent encoding indicates that the regions serving as the units of encoding are respectively encoded by way of a separate prediction for the respective color components, and subjected to compression-encode the signal prediction error obtained on the basis of internal forecasting.



 

Same patents:

FIELD: information technology.

SUBSTANCE: image includes, when applying encoding processing to three colour components using the 4:0:0 format, data for one image into one access module, which enables to establish the same time information or identically established encoding modes for corresponding colour components. In an image encoding system for applying compression processing to an input image signal, comprising multiple colour components, encoded data obtained after independent encoding processing of the input image signal for each of the colour components, and the parameter that indicates which colour component corresponds to encoded data is multiplexed with the bit stream.

EFFECT: high encoding efficiency owing to use of a single encoding mode for corresponding colour components.

2 cl, 25 dwg

FIELD: information technology.

SUBSTANCE: invention relates to an image signal processing device, which enables to reproduce the appearance of an image on a plasma display panel (PDP), using other display devices such as a cathode-ray tube or liquid-crystal display (LCD), while processing signals. In an image processing module, such processing for an image signal for which an image received when the image signal is displayed in a display device of another type besides a PDP, may seem like an image displayed on a PDP. At least one reproduction colour shift is performed, which is associated with a moving image which forms as a result of that, RGB glow is included in the said order of reproduction, smoothing structure used in the direction of space, reproduction of the smoothing structure used in the direction of reproduction time, the interval between pixels, and reproduction of an array of strips. The invention can be used when, for example, an image which must look like an image displayed on a PDP, is displayed on an LCD.

EFFECT: possibility of obtaining a type of image on a plasma panel display reproduced on another display different from the plasma panel display such as a liquid-crystal display, while processing signals.

6 cl, 20 dwg

FIELD: information technologies.

SUBSTANCE: it is suggested to do coding and decoding uniformly for multiple colouration formats. Based on control signal providing for type of colouration format of inlet signal from dynamic image, if colouration format is 4:2:0 or 4:2:2, the first unit of prediction mode detection with intra-coding and the first unit of predication image coding with intra-coding are applied to component of dynamic image inlet signal colouration component, and the second unit of prediction mode detection with intra-coding and the second unit of prediction image formation with intra-coding are applied to colouration component. If colouration format is 4:4:4, the first unit of prediction mode detection with intra-coding and the first unit of prediction image formation with intra-coding are applied to all colour components to do coding, and unit of coding with alternating length multiplexes control signal as data of coding, which should be applied to element of dynamic image sequence in bitstream.

EFFECT: improved mutual compatibility between coded video data of various colouration formats.

12 cl, 24 dwg

FIELD: information technology.

SUBSTANCE: invention relates to encoding and decoding digital images. A device is proposed for encoding/decoding a dynamic image, in which during compressed encoding through input of data signals of the dynamic image in 4:4:4 format, the first encoding process is used for encoding three signals of colour components of input signals of the dynamic image in general encoding mode and the second encoding process is used for encoding three signals of colour components input signals of the dynamic image in corresponding independent encoding modes. The encoding process is carried out by selecting any of the first and second encoding processes, and compressed data contain an identification signal for determining which process was selected.

EFFECT: more efficient encoding dynamic image signals, without distinction of the number of readings between colour components.

18 cl, 15 dwg

FIELD: information technologies.

SUBSTANCE: method is suggested for selection and processing of video content, which includes the following stages: quantisation of colour video space; making selection of dominating colour with application of mode, median of average or weighted average of pixel colorations; application of perception laws for further production of dominating colorations by means of the following steps: transformation of colorations; weighted average with application of pixel weight function affected by scene content; and expanded selection of dominating colour, where pixel weighing is reduced for majority pixels; and transformation of selected dominating colour into colour space of surrounding light with application of three-colour matrices. Colour of interest may additionally be analysed for creation of the right dominating colour, at that former video frames may control selection of dominating colours in the future frames.

EFFECT: creation of method to provide imitating surrounding lighting by means of dominating colour separation from selected video areas, with application of efficient data traffic, which codes averaged or characteristic values of colours.

20 cl, 43 dwg

FIELD: information technologies.

SUBSTANCE: invention concerns systems of coding/decoding of the squeezed image with the use of orthogonal transformation and forecasting/neutralisation of a motion on the basis of resolving ability of builders of colour and colour space of an input picture signal. The device (10) codings of the information of the image the forecastings (23) block with interior coding is offered is intended for an adaptive dimensional change of the block at generating of the predicted image, on the basis of the signal of a format of chromaticity specifying, whether is resolving ability of builders of colour one of the format 4:2:0, a format 4:2:2 and a format 4:4:4, and a signal of the colour space specifying, whether the colour space one of YCbCr, RGB and XYZ is. The block (14) orthogonal transformations and the quantization block (15) are intended for change of a procedure of orthogonal transformation and quantization procedure according to a signal of a format of chromaticity and a signal of colour space. The block (16) of return coding codes a signal of a format of chromaticity and a signal of colour space for insert of the coded signals gained, thus, in the squeezed information of the image.

EFFECT: increase of image coding and decoding efficiency.

125 cl, 12 dwg, 1 tbl

FIELD: information technologies.

SUBSTANCE: device and method are suggested which are intended for effective correction of wrong colour, such as purple fringe, created as a result of chromatic aberration, and for generating and output of high quality image data. Pixel with saturated white colour is detected from image data, at that in the area around detected pixel having saturated white colour the pixel of wrong colour and pixels having colour corresponding to wrong colour such as purple fringe are detected out of specified area. Detected pixels are determined as wrong colour pixels, and correction processing on the base of surrounding pixels values is performed over detected wrong colour pixels.

EFFECT: design of image processing device which allows to detect effectively an area of wrong colour.

25 cl, 22 dwg

FIELD: physics.

SUBSTANCE: invention concerns image processing technology, particularly YCbCr-format colour image data coding/decoding to smaller data volume by finding correlation between Cb and Cr chroma signal components of colour image data. The invention claims colour image coding method involving stages of: chroma signal component conversion in each of two or more mutual prediction modes; cost calculation for conversion values in each of two or more mutual prediction modes with the help of cost function defined preliminarily; selection of one or more mutual prediction modes on the basis of calculation result and conversion value output for the selected mutual prediction mode; entropic coding of output conversion values, where preliminarily defined cost function is selected out of cost function defining distortion in dependence of transfer rate, function of absolute subtract value amount, function of absolute converted subtract, function of square subtract sum and function of average absolute subtract.

EFFECT: increased efficiency of image coding.

88 cl, 23 dwg

FIELD: image processing systems, in particular, methods and systems for encoding and decoding images.

SUBSTANCE: in accordance to the invention, input image is divided onto several image blocks (600), containing several image elements (610), further image blocks (600) are encoded to form encoded representations (700) of blocks, which contains color code word (710), intensity code word (720) and intensity representations series (730). Color code word (710) is a representation of colors of elements (610) of image block (600). Intensity code word (720) is a representation of a set of several intensity modifiers for modification of intensity of elements (610) in image block (600), and series (730) of representations includes representation of intensity for each element (610) in image block (600), where the series identifies one of intensity modifiers in a set of intensity modifiers. In process of decoding, code words (710, 720) of colors and intensity and intensity representation (730) are used to generate decoded representation of elements (610) in image block (600).

EFFECT: increased efficiency of processing, encoding/decoding of images for adaptation in mobile devices with low volume and productivity of memory.

9 cl, 21 dwg, 3 tbl

FIELD: method and device for video encoding and decoding which is scalable across color space.

SUBSTANCE: in the method, encoder may inform decoder about position of brightness data in bit stream, and decoder may transform colored image to halftone image when necessary. In accordance to the invention, brightness data are serially inserted from all macro-blocks contained in a section, into bit stream, chromaticity data are inserted serially from all macro-blocks contained in a section, into bit stream, after inserted brightness data and bit stream which contains inserted brightness data and chromaticity data is transmitted.

EFFECT: creation of method for video encoding and decoding which is scalable across color space.

4 cl, 12 dwg

FIELD: information technology.

SUBSTANCE: number of codes formed for quantised information and number of codes formed for non-quantised information for a coded image are measured; the ratio of the number of codes formed for the non-quantised information to the total number of codes formed is calculated based on said measured number of codes; and the target number of codes in the entire coding image is determined using the calculated ratio of the number of codes formed for the non-quantised information. The target number of codes may be determined by calculating a complex index for the quantised information of the image which was coded, and estimation of the number of codes formed when the target coding image is coded, using a preset quantisation step based on said index and the ratio of the number of codes formed for the non-quantised information.

EFFECT: reliable control of bit rate when coding.

9 cl, 7 dwg

FIELD: information technology.

SUBSTANCE: disclosed is a method of searching or a motion vector, which is used to encode an image for predicting motion compensation, in which a previously found motion vector associated with a block to be encoded is introduced; the motion vector is calculated with minimum delay in order to minimise the number of motion vector codes of the encoded block; the range for repeated search is limited based on the introduced motion vector and the motion vector calculated with minimum delay; and the motion vector is sought only in the limited search range. The predicting vector of the encoded vector is calculated from the motion vector of the closest encoded block, after which the calculated predicting vector can be a motion vector calculated with minimum delay.

EFFECT: simple calculation and reduced computational expenses when finding a motion vector.

9 cl, 16 dwg

FIELD: information technology.

SUBSTANCE: disclosed is a coding device designed for hierarchical (multilevel) coding of upper field data and lower field data separated from each other by a set of image data representing a moving image. Said device comprises: a first coding module (12) which is configured to code one field data from two field data making up the upper field data and lower field data separate from image data, a conversion module (13) which is configured to interpolate first data of the predicted image, generated by the first coding module which codes said one of the field data, and generate second data of the predicted image in the position for scanning other field data from two field data, and a second coding module (14) which is configured to code other field data from two field data based on second data of the predicted image generated by the conversion module.

EFFECT: efficient hierarchical coding with separation on the level or multilevel coded data, which enables to process image data with interleaving in each level.

15 cl, 18 dwg

FIELD: information technologies.

SUBSTANCE: buffer of virtual decoded images stores decoded images of lower level of scalable bit stream of video data as reference ones. Decoded images of lower level used as reference ones are compiled to create a list of reference images for each level. List of reference images formed by buffer of virtual decoded images is used in process of direct forecasting instead of target reference list to properly decode current macroblock.

EFFECT: maintenance of list of reference images for lower levels in decoding of scalable coded video data of bit stream, containing more than one scalable level, to provide for proper decoding, when modes of direct forecasting are used to code lower level.

18 cl, 7 dwg

FIELD: information technologies.

SUBSTANCE: method of image coding, containing stage of selection of mode to forecast unit to be coded in input image, stage of internal forecasting of generation of signal of forecasted image of unit to be coded, by means of extrapolation of forecasting pixel in forecasting direction, according to the selected mode of forecasting, stage of calculation of forecasting error signal from unit to be coded and signal of forecasted image, stage of generation of coded data by means of coding of forecasting error signal and information of forecasting mode, specifying mode of forecasting, besides, extrapolation at the stage of internal forecasting uses reference pixels, which have already been coded, and number of reference pixels changes according to distance between pixel of forecasting and one of reference pixels, which is in forecasting direction from forecasting pixel.

EFFECT: improved efficiency of coding and reduced errors of video image forecasting.

14 cl, 42 dwg

FIELD: information technologies.

SUBSTANCE: method is proposed to control coding with internal prediction used in coding with internal prediction, having multiple modes of prediction and dimensions of prediction unit, at the same time each of prediction mode and dimension of prediction unit may switch, when coding is performed. Method includes stage of calculation of monotony extent index, which indicates extent of monotony of target area for coding; stage of determination of dimension of prediction unit used in coding with internal prediction of target area, in compliance with calculated index of monotony extent; and stage of selection of prediction mode used in coding with internal prediction of target area for determination of prediction unit dimension.

EFFECT: increased efficiency of coding with internal prediction for reduction of calculation costs.

7 cl, 14 dwg

FIELD: information technologies.

SUBSTANCE: according point is determined on target image for coding, which corresponds to each pixel on reference image, based on the distance from camera used to produce reference image, to displayed object and position ratio between cameras; then calculation of parallax vector is done from position of pixel to according point in pixel space; calculation of target predication vector, having the same initial point, as parallax vector, and components produced by rounding of parallax vector components, is carried out; calculation of target reference vector, having the same initial point, as parallax vector, and the same size and direction as in vector of difference between target predication vector and parallax vector, is carried out; and predicated value of pixel is established on target image of coding, which is specified by target predication vector, for value of pixel on reference image, which is specified by target reference vector.

EFFECT: improved accuracy of parallax compensation with application of parallax data, which is provided based on distance for reference image from camera to displayed object and provision of higher efficiency of coding.

25 cl, 10 dwg

FIELD: information technologies.

SUBSTANCE: device (3400) for processing of coded data flow (3401), comprising a decoding module (3402) to generate decoded data flow (3403) from coded data flow (3401), detection module (3404) for detection of information on position of at least one intra-coded frame in coded data flow (3403) and substitution module (3405) for substitution on the basis of detected information on position of coded data flow (3401) parts with according parts of decoded data flow (3403).

EFFECT: increased efficiency, speed of data flow processing by means of selective substitution of only that data in data flow, which is required for further use of data flow.

28 cl, 37 dwg

FIELD: information technology.

SUBSTANCE: vector field describing estimated motion vectors for image pixels is obtained, the vector field is projected on at least one axis, where during said projection, a projection function is obtained for each of the said at least one axis by averaging components of motion vectors corresponding to that axis; and transformation parametres describing the motion model are derived from the projection of the vector field using projection functions.

EFFECT: obtaining transformation parametre with few calculations, and provision for an optimum motion model for predicting motion and higher image compression.

14 cl, 7 dwg

FIELD: information technologies.

SUBSTANCE: global data of parallax, which are true data of parallax, are identified and coded, with account of epipolar geometry limitation, between camera of standard viewpoint, which is selected from all images with several viewpoints, and images produced from all other viewpoints; basic data of parallax is generated for each camera as viewpoint differing from standard viewpoint, where basic data of parallax are probably true data of parallax, with account of epipolar geometry limitation between image of relevant camera and images of all other cameras on the basis of global data of parallax and camera parametres; correction data of parallax used to correct basic data of parallax are identified and coded to provide data of parallax between image of relevant camera and previously coded image of reference viewpoint used for compensation of parallax; and images of relevant camera are coded using data of parallax produced by correction of basic data of parallax by means of correction data of parallax.

EFFECT: increased accuracy of parallax compensation using less data of parallax and increased efficiency of coding.

29 cl, 22 dwg

FIELD: information technologies.

SUBSTANCE: it is proposed to represent each colour pixel with three colour components, every of which is initially coded with ten bits. Coding is carried out by breaking the initial colour video frame into non-covering space units, and subsequent separation of a bit representation of each colour component of a pixel into a senior part, made of more than one senior bit, and a junior part made of at least one junior bit, then separate coding of the senior and junior parts, besides, coding of the senior part is carried out by application of more than one coding method, every of which takes into account pixel-to-pixel connections only within the limits of the processed space unit, estimation of a coding error, selection of a coding method, giving the smallest error, sending data on the method of coding by means of a prefix code transfer, coding of the junior part, which is carried out by averaging of more than one value, included into the junior part, besides, dimensions of the averaging areas within the limits of the junior part, a number of bits, fixed in advance, is set as required for a compact representation of initial space colour unit.

EFFECT: efficient compression of a colour high-quality image without visible visual distortions.

25 cl, 29 dwg, 13 tbl

Up!