Method and device for coding/decoding of motion vector

FIELD: information technologies.

SUBSTANCE: method for motion vector coding includes the following stages: selection of the first mode as the mode of information coding about a predictor of the motion vector in the current unit, and in this mode information is coded, which indicates the motion vector predictor at least from one motion vector predictor, or selection of the second mode, in which information is coded, which indicates generation of a motion vector predictor on the basis of units or pixels included into a pre-coded area adjacent to the current unit; determination of the motion vector predictor of the current unit in accordance with the selected mode, and coding of information on the motion vector predictor of the current unit; and coding of the vector of difference between the motion vector of the current unit and predictor of the motion vector of the current unit.

EFFECT: increased efficiency of coding and decoding of a motion vector.

15 cl, 19 dwg

 

The technical field to which the invention relates.

The devices and methods that are compatible with the illustrative implementation options related to a method and apparatus for coding motion vectors, and, in particular, to a method and apparatus for coding of predictor motion vector of the current block.

The level of technology

Codec, such as the standard advanced video coding expert group on cinematography MPEG-4, H.264/MPEG-4 AVC, uses the motion vectors of previously encoded blocks adjacent to the current block, the prediction motion vector of the current block. Thus, the average value of motion vectors of previously encoded blocks adjacent to the left, upper and upper right sides of the current block is used as the predictor for the motion vector of the current block.

Disclosure of inventions

Illustrative embodiments of provide a method and apparatus for encoding and decoding motion vector and machine-readable medium that stores computer-readable program for executing the method.

In accordance with this document, the motion vector efficiently encoded based on the more accurate the predictor motion vector.

Brief description of drawings

The above and/or other aspects of the invention will become better understood through the detailed description of illustrative embodiments with reference to the attached drawings.

Figure 1 - block diagram of a device for coding image in accordance with an illustrative embodiment;

Figure 2 - block diagram of the device for decoding image in accordance with an illustrative embodiment;

Figure 3 illustrates the hierarchical coding blocks in accordance with an illustrative embodiment;

4 is a block diagram of the encoder of the image based on the coding block in accordance with an illustrative embodiment;

5 is a block diagram of the decoder of the image based on the coding block in accordance with an illustrative embodiment;

6 illustrates the maximum coding block, sub-block coding and block prediction in accordance with an illustrative embodiment;

Fig.7 illustrates the coding block and the processing block in accordance with an illustrative embodiment;

Figa and 8b illustrate a form of separation of the coding block, a block of predicting and processing block in accordance with an illustrative embodiment;

Fig.9 is a block diagram of an apparatus for encoding a motion vector in accordance with an illustrative embodiment;

Figa and 10b illustrate a potential predictor motion vectors explicit mode in accordance with an illustrative variant is carried out;

Figa-11c illustrate a potential predictor motion vectors explicit mode in accordance with an illustrative embodiment;

Fig illustrates the method of forming the predictor motion vectors in implicit mode in accordance with an illustrative embodiment;

Fig is a block diagram of an apparatus for decoding a motion vector in accordance with an illustrative embodiment;

Fig - block diagram of the sequence encoding the motion vector in accordance with an illustrative embodiment; and

Fig - block diagram of the operational sequence of the method of decoding a motion vector in accordance with an illustrative embodiment.

The implementation of the invention

In accordance with an illustrative aspect of option implementation is provided a method of coding motion vector of the current block, the method comprises steps in which: a is selected as the encoding mode information about the predictor motion vector of the current block is the first mode, in which encoded information indicating the predictor motion vectors of at least one of the predictor motion vector, or a second mode in which the coded information indicating the formation of the predictor motion vector on the basis of blocks Il the pixels, included in a previously encoded area adjacent to the current block; determine a predictor motion vector of the current block in accordance with the selected mode and encode information about the predictor motion vector of the current block; and encoding the vector difference between the motion vector of the current block and the predictor motion vector of the current block.

Selecting the first mode or the second mode may include the stage at which selects the first mode or the second mode based on a depth that indicates the degree of reduction from the maximum size of the coding block of the current image or partition to the size of the current block.

Selecting the first mode or the second mode may include the stage at which selects the first mode or the second mode in the block of the current image or partition that includes the current block.

Selecting the first mode or the second mode may include the stage at which selects the first mode or the second mode based on the encoded whether the current block in a skip mode.

At least one predictor motion vector may include a first motion vector of a block adjacent to the left side of the current block, a second motion vector of a block adjacent to the upper side of the current block, and a third motion vector of a block adjacent to the upper right side of the current b is the eye.

At least one predictor motion vector may additionally include the average value of the first motion vector, the second motion vector and a third motion vector.

At least one predictor motion vector may additionally include a predictor motion vector based on the motion vector of that block is similar to the current block in the reference image, and temporal distance between the reference image and the current image.

Information indicating the formation of the predictor motion vector based on blocks or pixels included in a previously encoded area adjacent to the current block, may be the information indicating the formation of the predictor motion vector of the current block based on the average value of the first motion vector of a block adjacent to the left side of the current block, the second motion vector of a block adjacent to the upper side of the current block, and a third motion vector of a block adjacent to the upper right side of the current block.

Information indicating the formation of the predictor motion vector based on blocks or pixels included in a previously encoded area adjacent to the current block, may be the information indicating the formation of the forecast is the determinant of the motion vector of the current block based on the motion vector, generated by searching a reference picture by using pixels included in a previously encoded area adjacent to the current block.

In accordance with another aspect of the illustrative version of the implementation is provided a device for encoding the motion vector of the current block, the device comprises: a predictor that selects as the encoding mode information about the predictor motion vector of the current block is the first mode, in which encoded information indicating the predictor motion vectors of at least one of the predictor motion vector, or a second mode in which the coded information indicating the formation of the predictor motion vector based on blocks or pixels included in a previously encoded area adjacent to the current block, and determines a predictor motion vector of the current block based on the selected mode; a first encoder that encodes information about the predictor motion vector of the current block is determined based on the selected mode; and a second encoder that encodes the vector difference between the motion vector of the current block and the predictor motion vector of the current block.

In accordance with another aspect of the illustrative version of the implementation is provided a method of decoding a vector of movement is of the current block, the method comprises steps in which: decode information about the predictor motion vector of the current block is encoded in accordance with a mode selected from the first mode and the second mode; decode the vector difference between the motion vector of the current block and the predictor motion vector of the current block; form a predictor motion vector of the current block based on the decoded information about the predictor motion vector of the current block and restores the motion vector of the current block based on the predictor motion vector and vector difference, and the first mode is a mode in which the coded information indicating the predictor motion vectors of at least one predictor the motion vector and the second mode is a mode in which the coded information indicating the formation of the predictor motion vector based on blocks or pixels included in a previously decoded area adjacent to the current block.

In accordance with another aspect of the illustrative version of the implementation is provided a device for decoding a motion vector of the current block, the device comprises: a first decoder that decodes information about the predictor motion vector of the current block is encoded in accordance with the mode selected is C the first mode and the second mode; a second decoder that decodes the vector difference between the motion vector of the current block and the predictor motion vector of the current block; a predictor that generates a predictor motion vector of the current block based on the decoded information about the predictor motion vector of the current block; and a recovery block motion vector, which restores the motion vector of the current block based on the predictor motion vector and vector difference, and the first mode is a mode in which the coded information indicating the predictor motion vectors of at least one of the predictor motion vector and the second mode is a mode in which encoded information indicating the formation of the predictor motion vector based on blocks or pixels included in a previously decoded area adjacent to the current block.

In accordance with another aspect of the illustrative version of the implementation is provided a machine-readable medium that stores computer-readable program for executing the method of encoding the motion vector and method of decoding motion vector.

Option of carrying out the invention

Now with reference to the accompanying drawings, in which similar reference numbers throughout refer to the same elements, b is to be more fully described illustrative embodiments of. Expressions such as “at least one”preceding the list of elements, modify the entire list of elements and do not modify the individual elements of the list. In the present description, an "image" can refer to a still image for the video data or dynamic image, that is directly to the video.

Figure 1 is a block diagram of an apparatus 100 for encoding an image in accordance with an illustrative embodiment. As shown in figure 1, the device 100 includes a module 110 dividing by the maximum code blocks, the module 120 to determine the depth of encoding, the encoder 130 of the image data and an encoder 140 information encoding.

The module 110 dividing the maximum coding blocks can divide the current image or section based on the maximum coding block, which represents the coding block of the largest size. Thus, the module 110 dividing the maximum coding blocks can divide the current image or section for receiving at least one maximum coding block.

In accordance with an illustrative embodiment of the coding block can be represented using a maximum block coding and depth. As described above, the maximum coding block specifies the block Kadirova the Oia, having the largest size among the blocks of the coding of the current image, and the depth specifies the size of the subblock coding obtained through hierarchical reduction of the coding block. With increasing depth of the coding block can be reduced from the maximum coding block to the minimum coding block, and the depth of the maximum coding block is defined as the minimum depth and the minimum depth of a coding block is defined as the maximum depth. Since the size of the coding block is reduced from the maximum block coding with increasing depth, the sub-block coding with depth with sequence number k may include multiple sub-blocks of the coding with depth with a serial number (k+n) (where k and n are integers equal to or greater than 1).

In accordance with the increase in the size of the image to be encoded, the encoding of the image in larger blocks of coding can lead to a higher degree of image compression. However, if a larger block coding is fixed, the picture may not be efficiently encoded by reflection of the constantly changing characteristics of the image.

For example, when coding a smooth area, such as the sea or the sky, the higher the coding block, the larger will increase the Xia compression. However, when coding a complex area, such as people or buildings, the smaller the coding block, the more you can increase the compression ratio.

According to this, in accordance with the illustrative embodiment, for each image, or partition set different maximum blocks of the image encoding and different maximum depths. Since the maximum depth indicates the maximum number of times, which may decrease the block encoding, the minimum size of each coding block, included in the maximum coding block image may be variable image is selected in accordance with the maximum depth.

The module 120 to determine the depth of encoding specifies the maximum depth. For example, the maximum depth may be determined based on a calculation of the dependence of the distortion of transmission rate (R-D). In addition, the maximum depth may be defined differently for each image or section or for each maximum coding block. A certain maximum depth is provided to the encoder 140 information encoding, and image data according to maximum coding block are provided to the encoder 130 of the image data.

The maximum depth refers to the coding block having the smallest size, the which may be included in the maximum coding block, that is, the minimum unit of coding. In other words, the maximum coding block can be divided into subblocks coding having different sizes in accordance with different depths. This will be described in detail later with reference to Figa and 8B. In addition, the subblock coding with different sizes, which are included in the maximum coding block can be predicted or converted on the basis of the processing units having different sizes. In other words, the device 100 can perform a variety of processing operations for encoding the image based on the processing units having different sizes and different shapes. To encode the image data, performs the following processing operations, as a prediction, transformation, and statistical coding, and processing blocks having the same size can be used for each operation, or processing units having different sizes can be used for each operation.

For example, the device 100 may select a processing unit, which differs from the coding block to the prediction block of the coding. When the size of the coding block is 2N×2N (where N is a positive integer), the processing blocks for prediction may be 2N×2N, 2N×N, N×2N and N×N. in Other words, the motion prediction can be made on the basis of nl is ka processing, having a form through which at least either the height or width of the coding block is divided in half. In a further processing unit, which is the basis of the prediction, referred to as block prediction.

The prediction mode may be at least one mode from a mode with intra-encoding mode with inter-coding and skip mode and the specific mode of prediction can be performed only for block prediction with specific size or shape. For example, the mode is intra-coding may be performed only for blocks predictions having a size of 2N×2N and N×N whose shape is a square. In addition, the skip mode may be performed only for block prediction, having the size of 2N×2N. If in block coding, there are many blocks of prediction, after performing the prediction for each block prediction can be selected prediction mode with the lowest number of encoding errors.

Alternatively, device 100 may perform a frequency transform on image data based on the processing unit having a size different from the size of the coding block. For frequency conversion in the coding block frequency conversion can be performed based on the processing unit having a size equal to elemense, than the size of the coding block. In a further processing unit, which is the basis of the frequency transform, referred to as a conversion unit. The frequency transform may be a discrete cosine transformation (DCT) or the conversion of karunen-Loev (KLT).

The module 120 to determine the depth coding can determine the subblock coding included in the maximum coding block, using optimization based distortion of transmission rate (R-D) based on the Lagrangian multiplier. In other words, the module 120 to determine the depth coding can determine what form has many subblock coding, divided from the maximum coding block, and many subblock coding has different sizes according to their depths. The encoder 130 of the image data generates a bit stream by encoding the maximum coding block-based forms of separation defined by the module 120 to determine the depth of encoding.

The encoder 140 information encoding encodes the information of the encoding mode for the maximum coding block, a specific module 120 to determine the depth of encoding. In other words, the encoder 140 information encoding generates a bit stream by encoding information about the form of maximum separation unit Kodirov the tion, information on the maximum depth and information about the encoding mode of the subblock coding for each depth. Information about the encoding mode of the sub-block coding may include at least one element of the set consisting of information about the block prediction sub-block encoding, the information about the prediction mode for each block prediction and information conversion unit sub-block encoding.

Since the subblock coding having different sizes are provided for each maximum coding block, and information about the encoding mode determined for each sub-block coding information of at least one encoding mode may be determined for one maximum coding block.

The device 100 may form a subblock coding by equally dividing the width and height of the maximum coding block into two in accordance with increasing depth. Thus, when the block size coding depth with sequence number k is 2N×2N, the size of the coding block depth with a serial number (k+1) may be N×N.

According to this device 100 in accordance with an illustrative embodiment may determine the optimal form of separation for each maximum coding block based on the maximum size the data coding blocks and the maximum depth taking into account the characteristics of the image. Through variable adjustment of the maximum coding block taking into account the characteristics of the image and encoding the image by dividing the maximum coding block into sub-blocks of the encoding of different depths can be more efficiently encoded image having different resolution.

Figure 2 is a block diagram of an apparatus 200 for decoding an image in accordance with an illustrative embodiment. As shown in figure 2, the device 200 includes a module 210 of collecting image data module 220 retrieve information encoding and decoder 230 of the image data.

Module 210 of collecting image data receives the image data according to maximum coding blocks by analyzing the bit stream that is received by device 200, and outputs the image data decoder 230 of the image data. Module 210 of the collection of image data can retrieve information about a maximum coding block of the current image or section of the header of the current image or partition. In other words, the module 210 of collecting image data divides the bit stream at the maximum units of encoding so that the decoder 230, the image data could be decoded image data according to maximum coding blocks.

Module 220 extraction and the formation of encoding retrieves information about a maximum coding block, the maximum depth, the form of splitting the maximum coding block and the encoding mode of the sub-blocks of the encoding by analyzing the bit stream that is received by device 200. For example, the module 220 retrieve information coding can extract the above information from the header of the current image. Information about the shape of the separation and information about the encoding mode are presented to the decoder 230 of the image data.

Information about the form of splitting the maximum coding block may include information about the subblock coding having different sizes in accordance with the depths included in the maximum coding block, and information about the encoding mode may include at least one element of the set consisting of information about the block prediction in accordance with sub-block encoding, the information about the prediction mode information conversion unit.

The decoder 230, the image data restores the current image by decoding the image data of each maximum coding block based on the information extracted by the module 220 retrieve information encoding. The decoder 230, the image data can be decoded subblocks coding included in the maximum coding block, based on the information about the form of maximum separation the aqueous coding block. The decoding process may include at least one process from the set consisting of process predictions, including the prediction of intra-coding and motion compensation, and the process of inverse transformation.

In addition, the decoder 230, the image data may perform the intra prediction coding or prediction with inter-coding on the basis of information about the block prediction and information about the prediction mode to predict the block of prediction. The decoder 230, the image data can also perform the inverse transform for each sub-block coding based on the information about the transformation block sub-block encoding.

Figure 3 illustrates the hierarchical coding blocks in accordance with an illustrative embodiment. As shown in Figure 3, an illustrative hierarchical blocks of the coding includes coding blocks, the dimensions of which are 64×64, 32×32, 16×16, 8×8 and 4×4. In addition, there may be coding blocks, the dimensions of which are 64×32, 32×64, 32×16, 16×32, 16×8, 8×16, 8×4 and 4×8.

In the illustrative embodiment shown in Figure 3, for the first data 310 of the image, whose resolution is 1920×1080, maximum size of the coding block is set to 64×64, and the maximum depth is set to 2. For in the data that 320 image, the resolution is 1920×1080, maximum size of the coding block is set to 64×64, and the maximum depth is set to 3. For the third data 330 image, whose resolution is 352×288, the maximum size of the coding block is set to 16×16, and the maximum depth is set to 1.

When the resolution is high, or the amount of data is large, the maximum size of a coding block may be relatively large in order to increase the compression ratio and accurately reflect the characteristics of the image. In line with this for the first and second data 310 and 320 of the image having a higher resolution than the third data 330 of the image size of 64×64 may be selected as the maximum size of the coding block.

The maximum depth indicates the total number of levels in the hierarchical coding blocks. Since the maximum depth of the first data 310 of the image is equal to 2, block 315 encoding data 310 of the image may include a maximum coding block, the size of the longer axis of which is 64, and the subblock coding, the size of the longer axis of which are 32 and 16, in accordance with increasing depth.

On the other hand, since the maximum depth of the third data 330 of the image is equal to 1, block 335 coded the data I 330 image may include a maximum coding block, the size of the longer axis of which is 16, and the coding blocks, the size of the longer axis of which is 8 in accordance with increasing depth.

However, since the maximum depth of the second 320, the image data is equal to 3, block 325 encoding data 320 of the image may include a maximum coding block, the size of the longer axis of which is 64, and the subblock coding, the size of the longer axis of which are 32, 16 and 8 in accordance with increasing depth. As the image is encoded based on a smaller sub-block coding with increasing depth, illustrative embodiments of are suitable for encoding images, including scenes with duration longer than one minute.

Figure 4 is a block diagram of the encoder 400 of the image based on the coding block in accordance with an illustrative embodiment. As shown in figure 4, the module 410 predictions with intra-coding performs the intra prediction encoding on blocks of the prediction mode is intra-coding in the current frame 405, and a module 420, the motion estimation module 425 motion compensation perform prediction with inter-coding and motion compensation on the blocks of the prediction mode is the inter-coding using the current frame 405 and the reference frame 495./p>

Block-based prediction, issued from module 410 predictions with intra-coding module 420, the motion estimation module 425 motion compensation are formed differential values. The generated differential values are given as the quantized transform coefficients by means of passage through the module 430 conversion and module 440 quantization.

The quantized transform coefficients are restored to their differential values by passage through the module 460 inverse quantization module 470 inverse transformation. The restored differential values are postprocessed by pass module 480 deblocking module 490 filter with feedback and output as the reference frame 495. The quantized transform coefficients may be issued as a bit stream 455 by passage through statistical encoder 450.

To perform encoding based on the encoding method in accordance with an illustrative embodiment of the components of the encoder 400 of the image, that is, the module 410 predictions with intra-coding module 420, the motion estimation module 425 motion compensation module 430 conversion module 440 quantization, statistical encoder 450, the module 460 inverse quantization module 470 inverse transform module 480 deblocking module 490 filter the AI feedback, perform the process of encoding the image based on the maximum coding block, sub-block coding in accordance with the depths of the block of predicting and processing block.

Figure 5 is a block diagram of a decoder 500 image-based block coding in accordance with an illustrative embodiment. As shown in Figure 5, the bit stream 505 passes through the analyzer 510, so that the encoded image data which will be decoded, and encoding information used for decoding, were analyzed. Encoded image data are given as subjected to the inverse quantization data by passage through a statistical decoder module 520 and 530 of the inverse quantization and restored in the differential values by passage through the module 540 inverse transformation. The differential values are restored in accordance with the coding blocks that are added to the result of prediction of intra-coding module 550 predictions with intra-coding or the motion compensation module 560 motion compensation. Restored the units of encoding are used to predict the following blocks of the coding or next image by passage through the module 570 deblocking module 580 filter with feedback.

To perform decoding on the basis of the method of decoding in accordance with an illustrative embodiment of the components of the decoder 500 of the image, i.e., the parser 510, the statistical decoder 520, the module 530 inverse quantization module 540 reverse conversion module 550 predictions with intra-coding module 560 motion compensation module 570 deblocking module 580 filter with feedback perform the processes of decoding image based on the maximum coding block, sub-block coding in accordance with the depths of the block of predicting and processing block.

In particular, the module 550 prediction of intra-coding and module 560 motion compensation determine the block prediction and the prediction mode in the sub-block coding with regard to the maximum block coding and depth, and module 540 performs inverse transformation the inverse transform based on the size of the transform block.

6 illustrates the maximum coding block, sub-block coding and block prediction in accordance with an illustrative embodiment.

As described above, the device 100 encoding device 200 decoding in accordance with one or more illustrative implementation options using hierarchical coding blocks to perform Cody the Finance and decoding based on the characteristics of the image. The maximum coding block and the maximum depth can be adaptively set in accordance with characteristics of the image or variables defined in accordance with the requirements of the user.

As shown in Fig.6, the hierarchical structure of the 600 block coding in accordance with the illustrative embodiment illustrates the maximum block 610 encoding, the height and width of which is 64, and the maximum depth is 4. The depth increases along the vertical axis of the hierarchical structure 600 block coding, and with increasing depth, height and width of the sub-blocks 620-650 coding decreases. Units maximum prediction unit 610 and encoding the sub-blocks 620-650 encoding is shown along the horizontal axis of the hierarchical structure 600 block encoding.

The maximum block 610 coding has depth 0 and size (i.e. height and width) 64×64. The depth increases along the vertical axis so that there is a sub-block 620 encoding whose size is 32×32 and the depth is 1, sub block 630 encoding whose size is 16×16 and the depth is 2, the sub-block 640 encoding whose size is 8×8 and the depth is 3, and the sub block 650 encoding whose size is 4×4 and a depth equal to 4. Subsection 650 encoding, the size of which costal is no 4×4 and the depth is 4, is the minimum coding block. The minimum block 650 coding can be divided into blocks of predictions, each of which is less than the minimum block encoding.

In the illustrative embodiment shown in Fig.6, examples of block prediction is shown along the horizontal axis according to each depth. Thus, the block prediction maximum block 610 encoding, the depth of which is equal to 0, can be represented as a block prediction, the size of which is equal to the block 610 coding is 64×64, or block 612 predictions, the size of which is 64×32, block 614 predictions whose size is 32×64, or block 616 predictions whose size is 32×32,which have a size less than the block 610 encoding, the size of which is 64×64.

The block prediction unit 610 encoding, the depth of which is equal to 1 and the size is 32×32, may be a block prediction, the size of which is equal to the block 620 encoding is 32×32, or block 622 predictions whose size is 32×16, block 624 predictions whose size is 16×32, or block 626 predictions whose size is 16×16, which have a size less than the block 620 encoding whose size is 32×32.

The block prediction unit 630 encoding the depth of which is equal to 2 and the size is 16×16, can be a block prediction, the size of which is equal to the block 630 encoding is 16×16, or block 632 predictions whose size is 16×8 block 634 predictions whose size is 8×16, or block 636 predictions whose size is 8×8, which have a size less than the block 630 encoding whose size is 16×16.

The block prediction unit 640 encoding, the depth of which is equal to 3 and the size is 8×8, may be a block prediction, the size of which is equal to the block 640 encoding is 8×8, or block 642 predictions whose size is 8×4, block 644 predictions whose size is 4×8, or block 646 predictions whose size is 4×4, which have a size less than the block 640 encoding whose size is 8×8.

Block 650 coding, the depth of which is equal to 4 and the size is 4×4, represents the minimum unit of coding and block coding the maximum depth. The block prediction unit 650 coding can be a block 650 predictions whose size is 4×4, block 652 predictions with size 4×2, block 654 predictions that have a size of 2×4, or block 656 predictions that have a size of 2×2.

Fig.7 illustrates the coding block and the processing block in accordance with Illustra the top of the embodiment. The device 100 encoding device 200 decoding in accordance with one or more illustrative options for the implementation of coding directly with the maximum coding block or subblock coding, which is equal to or smaller than the maximum coding block and divided from the maximum coding block.

During encoding, the size conversion unit for frequency transformation is chosen so that it was no more than the size of the corresponding coding block. For example, when the current block 710 encoding has a size of 64×64, frequency conversion can be performed using block 720 transform having a size of 32×32.

Figa and 8b illustrate a form of separation of the coding block, a block of predicting and processing block in accordance with an illustrative embodiment. Figa illustrates the coding block and the block prediction in accordance with an illustrative embodiment.

Left side Figa shows the shape of the separation, the selected device 100 encoding in accordance with an illustrative embodiment for the maximum coding unit 810 coding. The device 100 divides the maximum block 810 coding in various forms, performs encoding, and selects the optimal form once the population, comparing the results of encoding the various forms of separation with each other on the basis of the dependence of the distortion of transmission rate (R-D). When the optimum is the maximum coding unit 810 coding as it is, the maximum block 810 coding can be encoded without dividing the maximum block 810 encoding shown in Figa and 8b.

As shown on the left side Figa, the maximum block 810 encoding, the depth of which is equal to 0, is encoded by dividing the maximum coding block into sub-blocks of the coding, the depth of which is equal to or greater than 1. Thus, the maximum block 810 coding is divided into 4 sub-block encoding, the depth of which is equal to 1, and all or some of the sub-blocks of the coding, the depth of which is equal to 1, is divided into sub-blocks of the coding, the depth of which is equal to 2.

The sub-block coding, located in the top right, and the sub-block coding, located at the bottom left, among subblock coding, the depth of which is equal to 1, is divided into subblocks encoding, the depth of which is equal to or greater than 2. Some of the subblock coding, the depth of which is equal to or greater than 2, can be divided into sub-blocks of the coding, the depth of which is equal to or greater than 3.

The right side Figa shows the shape of the block is split predictions for the maximum the aqueous block 810 coding. As shown on the right side Figa, block 860 predictions for the maximum block 810 encoding may be divided differently compared to the maximum block 810 coding. In other words, the block prediction for each subblock coding may be less than the corresponding sub-block encoding.

For example, the block prediction for sub-blocks 854 coding, located at the bottom right, among subblock coding, the depth of which is equal to 1, may be less than the sub-block 854 coding. In addition, the blocks of prediction for some of the sub-blocks 814, 816, 850, and 852 coding the sub-blocks 814, 816, 818, 828, 850 and 852 encoding, the depth of which is equal to 2, can be less than the sub-blocks 814, 816, 850 and 852, respectively. In addition, the blocks of prediction for the sub-blocks 822, 832 and 848 encoding, the depth of which is equal to 3, can be less than the sub-blocks 822, 832 and 848 coding, respectively. Blocks predictions can have a form through which the corresponding subblock coding divided in half in the direction of height or width, or have a form through which the corresponding subblock coding is divided into four equal parts in the direction of height and width.

Fig.8b illustrates a block prediction and the conversion unit in accordance with an illustrative embodiment. Left side Fig.8b shows the shape of the section is of block prediction for the maximum block 810 encoding, shown on the right side Figa, and the right side Fig.8b shows the separation processing block maximum block 810 encoding.

As shown on the right side Fig.8b, a form of separation block 870 conversion can be set differently compared to block 860 predictions. For example, even though the power prediction for a block 854 encoding, the depth of which is equal to 1, chosen in the form by which the height of the block 854 encoding divided in half, the conversion unit can be selected with the same size as the block 854 coding. Similarly, even though the blocks of prediction for blocks 814 and 850 coding, the depth of which is equal to 2, selected in the form, whereby the height of each of the blocks 814 and 850 coding divided in half, the conversion unit can be selected with the same size as the original size of each of the blocks 814 and 850 encoding.

The conversion unit may be selected smaller than the block prediction. For example, when the power prediction for a block 852 encoding, the depth of which is equal to 2, selected in the form, whereby the width of the block 852 encoding divided in half, the conversion unit can be selected in the form, whereby the block 852 coding is divided into four equal parts in the direction of height and width, which is out smaller, than the block shape predictions.

Fig.9 is a block diagram of an apparatus 900 for encoding the motion vector in accordance with an illustrative embodiment. The device 900 for encoding motion vectors may be included in device 100, described above with reference to Figure 1, the encoder 400 image described above with reference to Figure 4. As shown in Fig.9, the device 900 encoding the motion vector includes a module 910 predictions, the first encoder 920 and the second encoder 930.

To decode the encoded block using the prediction inter-coding, that is, prediction between images, using information about the motion vector indicating the difference in position between the current block and the similar block in the reference image. Thus, information about the motion vectors are encoded and inserted into the bit stream in the encoding process of the image. However, if the motion vectors are encoded and inserted as is, the overhead for encoding information about the motion vectors increase, thereby reducing the compression ratio of the image data.

Therefore, in the encoding process of the image information of the motion vector is compressed by predicting the motion vector of the current block, encoding only the vector difference between sformirovann the m a predictor motion vector and the initial motion vector and inserts the encoded vector to the difference in the bit stream. Fig.9 illustrates a device 900 for encoding motion vector that uses such a predictor motion vector.

As shown in Fig.9, the module 910 prediction determines coded whether the motion vector of the current block prediction based on the explicit mode and implicit mode.

As described above, such a codec like MPEG-4, H.264/MPEG-4 AVC, uses the motion vectors of previously encoded blocks adjacent to the current block, the prediction motion vector of the current block. Thus, the average value of motion vectors of previously encoded blocks adjacent to the left, upper and upper right sides of the current block is used as the predictor for the motion vector of the current block. Because the motion vectors of all blocks encoded using prediction inter-coding, are predicted using the same method, information about the predictor motion vector should not be coded separately. However, the device 100 or the decoder 400 of the image in accordance with one or more illustrative options implementation uses a mode in which information about the predictor motion vector is not encoded separately, and the mode in which information about the predictor motion vector is encoded, in order to more accurately predict the motion vector, and t is now it will be described in detail.

(1) Explicit mode

One way of encoding the predictor motion vectors which can be selected module 910 predictions can also implement the mode explicitly encode information about the predictor motion vector of the current block. This explicit mode is a mode of calculation, at least one potential predictor motion vector and a separate coding information indicating which of the predictor motion vector is used to predict the motion vector of the current block. Potential predictors of the motion vectors in accordance with one or more illustrative options for implementation will now be described with reference to Figa, 10b and 11a-11c.

Figa and 10b illustrate a potential predictor motion vectors explicit mode in accordance with one or more illustrative options for implementation. As shown in Figa, way prediction motion vector in accordance with an illustrative embodiment may use one of the motion vectors of previously encoded blocks adjacent to the current block, as a predictor motion vector of the current block. The block a0, the leftmost among blocks adjacent to the upper side of the current block, the block b0, the top among blocks adjacent to the left side, block c adjacent to its upper right is the first angle, block d adjacent to its top-left corner, and the block e, adjacent to its lower-right corner can be used for the predictor motion vectors of the current block.

As shown in Fig.10b, the motion vectors of all blocks adjacent to the current block can be used as predictors of the motion vectors of the current block. In other words, the motion vectors not only block a0, the leftmost among blocks adjacent to the upper side of the current block, but all the blocks adjacent to its upper side, can be used as predictors of the motion vectors of the current block. In addition, the motion vectors not only block b0, the top among blocks adjacent to the left side, but all the blocks adjacent to the left side, can be used as predictors of the motion vectors of the current block.

Alternatively, the average value of motion vectors of the adjacent blocks can be used as a predictor motion vector. For example, the average value from (mv_ a0, mv_ b0, mv_c) can be used as a predictor for the motion vector of the current block, and mv_a0 denotes the motion vector of the block a0, mv_b0 denotes the motion vector of the block b0, and mv_c denotes the motion vector of the block c.

Figa-11c illustrate a potential predictor motion vectors explicit mode in accordance is with another illustrative embodiment. Figa illustrates a method of calculating the predictor motion vector images with bi-directional prediction (called B-image) in accordance with an illustrative embodiment. When the current picture including the current block is a B-picture, in which the bidirectional prediction, a motion vector generated based on the time distance, can be a predictor motion vector.

As shown in Figa, the predictor motion vector of the current block 1100 of the current picture 1110 may be formed using the motion vector of block 1120 in similarly situated positions of the previous time image 1112. For example, if the motion vector mv_colA block 1120 in a position located similarly with the current block 1100 is formed to the desired block 1122, the next time the image 1114 current picture 1110, a potential predictor motion vectors mv_L0A and mv_L1A current block 1100 can be formed in accordance with the equations below:

mv_L1A=(t1/t2)×mv_colA

mv_L0A=mv_L1A-mv_colA

where mv_L0A denotes the predictor motion vector of the current block 1100 for the previous time image 1112, and mv_L1A denotes the predictor motion vector of the current block 1100 for the next time the image 1114.

Fig.1b illustrates the method of forming the predictor motion vectors of the B picture in accordance with another illustrative embodiment. Compared with the method illustrated in Figa, block 1130 in a position similar to that of the current block 1100, there is a next time the image 1114 on Fig.11b.

As shown in Fig.11b, the predictor motion vector of the current block 1100 of the current picture 1110 may be formed using the motion vector of the block 1130 in similarly situated positions the next time the image 1114. For example, if the motion vector mv_colB block 1130 in a position located similarly with the current block 1100 is formed to the desired block 1132, the previous time image 1112 current picture 1110, a potential predictor motion vectors mv_L0B and mv_L1B current block 1100 can be formed in accordance with the equations below:

mv_L0B=(t3/t4)×mv_colB

mv_L1B=mv_L0B-mv_colB

where mv_L0B denotes the predictor motion vector of the current block 1100 for the previous time image 1112, and mv_L1B denotes the predictor motion vector of the current block 1100 for the next time the image 1114.

When forming the motion vector of the current block 1100 B-picture may be used, at least one of the methods illustrated in Figa and 11b. In other words, because the predictor motion vector generated using the motion vector and the temporary spacing unit 1120 or 110 in position, located similarly with the current block 1100, the predictor motion vectors can be formed using the methods illustrated in Figa and 11b, if there are motion vectors of blocks 1120 and 1130 in similarly situated positions. Thus, the module 910 predictions in accordance with the illustrative embodiment can form a predictor motion vector of the current block 1100 with only a block having a motion vector, among the blocks 1120 and 1130 in similarly situated positions.

For example, when the unit 1120 in similarly situated positions of the previous time image 1112 is encoded using intra prediction encoding, instead of the prediction inter-coding, the motion vector of block 1120 does not exist, and thus, the predictor motion vector of the current block 1100 may not be formed using the method of forming the predictor motion vector, illustrated in Figa.

Figs illustrates the method of forming the predictor motion vectors of the B picture in accordance with an illustrative embodiment. As shown in Figs, the predictor motion vector of the current block 1100 of the current picture 1110 may be formed using the motion vector of the block 1140 similarly located the military position of the previous time image 1112. For example, if the motion vector mv_colC block 1130 in a position located similarly with the current block 1100 is formed to the desired block 1142 another previous time image 1116, potential predictor motion vector mv_L0C current block 1100 can be formed in accordance with the equation below:

mv_L0C=(t6/t5)×mv_colC.

Since the current picture 1110 is a P-picture, the number of predictor motion vectors of the current block 1100 is equal to 1, in contrast to Figa and 11b.

In the end, the set C of potential predictors of the motion vectors in accordance with Figa, 10b and 11a-11c may be formed in accordance with the equation below:

C={median(mv_a0, mv_b0, mv_c), mv_a0, mv_a1,..., mv_aN, mv_b0, mv_b1,..., mv_bN, mv_c, mv_d, mv_e, mv_temporal}.

Alternatively, the set C can be formed by reducing the number of potential predictors of the motion vectors in accordance with the equation below:

C={median(mv_a', mv_b', mv_c'), mv_a', mv_b', mv_c', mv_temporal}.

Here mv_x denotes the motion vector of the block x, median() denotes the average value, and mv_temporal indicates a potential predictor motion vectors generated with the use of temporary distances described above in connection with Figa to 11C.

In addition, mv_a' indicates the first valid motion vector among mv_a0, mv_a1...., mv_aN. For example, when the block a0 is encoded and the use of prediction of intra-coding, the motion vector mv_a0 block a0 is not valid, and thus, mv_a'=mv_a1, and if the motion vector of the block a1 is not valid, mv_a'=mv_a2.

Similarly, mv_b' indicates the first valid motion vector among mv_b0, mv_b1,...., mv_bN, and mv_c' indicates the first valid motion vector among mv_c, mv_d, and mv_e.

Explicit mode is an encoding mode information indicating whether the motion vector used for the predictor motion vector of the current block. For example, when a motion vector is encoded in the explicit mode, each of the elements of the set C, then there is a potential predictor for the motion vector may be selected binary number, and if one of the potential candidates is used as the predictor for the motion vector of the current block, may be issued a corresponding binary number.

Experts in the field of technology is easy to see that, together with the explicit mode can be used other potential predictors of the motion vectors in addition to the above.

(2) Implicit mode

Another one of the ways the coding of the predictor motion vector can be selected module 910 predictions, implements the encoding mode information indicating that the predictor motion vector of the current block is generated based on blocks or pixels included in the anee encoded region, adjacent to the current block. In contrast to the explicit mode, this mode is an encoding mode information indicating that the formation of the predictor motion vector in implicit mode without coding to denote the predictor motion vector.

As described above, such a codec like MPEG-4, H.264/MPEG-4 AVC, uses the motion vectors of previously encoded blocks adjacent to the current block, the prediction motion vector of the current block. Thus, the average value of motion vectors of previously encoded blocks adjacent to the left, upper and upper right sides of the current block is used as the predictor for the motion vector of the current block. In this case, in contrast to the explicit mode, the information for selecting one of the potential predictors of the motion vectors may not be encoded.

In other words, if the encoding process of the image encoded only information indicating that the predictor motion vector of the current block has been encoded in implicit mode, the decoding process of the image as a predictor motion vector of the current block can be used an average value of motion vectors of previously encoded blocks adjacent to the left, upper and upper right sides of the current block.

Furthermore, the method of encoding the image is placed in accordance with the illustrative embodiment provides a new implicit mode in addition to the method using the average value of motion vectors of previously encoded blocks, adjacent to the left, upper and upper right sides of the current block as a predictor motion vector of the current block. Now it will be described in detail with reference to Fig.

Fig illustrates the method of forming the predictor motion vector in implicit mode in accordance with an illustrative embodiment. As shown in Fig, pixels 1222 included in the previously encoded region 1220, adjacent to the current block 1200 current image 1210 is used to form the predictor motion vector of the current block 1200. Appropriate 1224 pixels are determined by searching the reference image 1212 using adjacent pixels 1222. Appropriate 1224 pixels can be determined by calculating the sum of absolute differences (SAD). When the corresponding pixels 1224 defined, is formed by the motion vector mv_template adjacent pixels 1222, and a motion vector mv_template can be used as a predictor for the motion vector of the current block 1200.

If the mode of using the average value of motion vectors of the adjacent blocks as a predictor motion vector is defined as “an implicit mode 1”, and if the mode of formation of the predictor motion vector using pixels adjacent to the current block, is defined as “an implicit mode 2”, the predictor of vecto the movements can be formed using one of two implicit modes 1 and 2 by encoding information about one of the two implicit modes in the process of the image encoding and access information about mode in the decoding process of the image.

(3) mode Selection

Module 910 predictions may have different criteria for selecting one mode from the above explicit mode and implicit mode.

If one of many potential predictors of the motion vectors selected in the explicit mode, can be selected predictor motion vector more similar to the motion vector of the current block. However, since the encoded information indicating one of the set of potential predictors motion vectors may be more overhead than in implicit mode. Thus, for a coding block having a large size, the motion vector can be encoded in the explicit mode, because the probability of increasing the errors that occur when the motion vector predicted correctly above for block coding, a large than for a coding block having a small size, and the number of cases with overhead decreases for each image.

For example, when the image is divided into m equal coding blocks having the size of 64×64, is encoded in the explicit mode, the number of cases with overheads is m. However, when the image has the same size, divided into 4 equal blocks of coding, have a size of 32×32, coding is carried out in explicit mode, the number of cases with overheads 4m.

According to this module 910 predictions in accordance with the illustrative embodiment can select one mode from the explicit mode and implicit mode on the basis of the size of the coding block, when encoded, the motion vector of the current block.

Since the block size encoding method of the image encoding and decoding image in accordance with an illustrative implementation options described above with reference to Figures 1-8, presented using depth module 910 prediction determines on the basis of the depth of the current block is encoded whether the motion vector of the current block in the explicit mode and implicit mode. For example, when the coding blocks, the depth of which is equal to 0 and 1, are predicted with inter-coding, motion vectors, block coding is encoded in the explicit mode, and when the coding blocks, the depth of which is equal to or greater than 2, are predicted with inter-coding, the motion vectors of the blocks of the encoding are encoded in implicit mode.

In accordance with another illustrative embodiment module 910 predictions can choose explicit mode and implicit mode for each image or block sections. As the characteristics of the image are different for each image or block section, an explicit mode or Ney is hydrated mode can be selected for each image or block sections taking into account these characteristics of the image. The motion vectors encoding blocks included in a current image or a partition can be encoded with prediction by selecting the optimal mode of the explicit mode and implicit mode, taking into account the dependence of the distortion of transmission rate (R-D).

For example, if the motion vectors encoding blocks included in the image or section, can be accurately predicted without using explicit mode, the motion vectors of all blocks of the encoding is included in the image or partition can be encoded with prediction in implicit mode.

In accordance with another illustrative embodiment module 910 predictions can choose explicit mode and implicit mode based on whether the current block is encoded in the skip mode. The skip mode is an encoding mode in which information flag indicating that the current block has been encoded in the skip mode, coded without coding the pixel values.

In addition, the skip mode is a mode in which no encoded value of the pixels of the current block, because the block of the prediction generated by performing motion compensation using the predictor motion vector as the motion vector of the current block, similar to the current block. So as to depict azatel motion vector formed more like a motion vector of the current block, the probability of encoding the current block in a skip mode above. In line with this, the block that is encoded in the skip mode may be encoded in the explicit mode.

As shown in Fig.9, when the module 910 selects one prediction mode from the explicit mode and implicit mode and defines a predictor motion vector in accordance with the selected mode, the first encoder 920 and the second encoder 930 encode information about the encoding mode and the motion vector.

In particular, the first encoder 920 encodes information about the predictor motion vector of the current block. In more detail, when the module 910 prediction determines that the motion vector of the current block is encoded in the explicit mode, the first encoder 920 encodes information indicating that the predictor motion vector was formed in explicit mode, and information indicating which potential predictor motion vector was used as the predictor for the motion vector of the current block.

On the contrary, when the module 910 prediction determines that the motion vector of the current block is encoded in the implicit mode, the first encoder 920 encodes information indicating that the predictor motion vector of the current block was formed in implicit mode. In other words, the first encoder 920 encodes information indicating that the predictor motion vector of tecamachalco was formed using blocks or pixels, adjacent to the current block. If there are two or more implicit modes, the first encoder 920 may optionally encode information, which indicates an implicit mode was used to generate the predictor motion vector of the current block.

The second encoder 930 encodes the motion vector of the current block based on the predictor motion vector defined by a module 910 predictions. Alternatively, the second encoder 930 generates the vector difference by subtracting the predictor motion vector generated by the module 910 prediction of the motion vector of the current block is generated in the motion compensation, and encodes information about the vector difference.

Fig is a block diagram of an apparatus 1300 for decoding motion vector in accordance with an illustrative embodiment. The device 1300 to decode the motion vector may be included in device 200 decodes the image described above with reference to figure 2, or the decoder 500 image described above with reference to Figure 5. As shown in Fig, the device 1300 decoding motion vector includes a first decoder 1310, the second decoder 1320, the module 1330 predictions and module 1340 recovery of the motion vector.

The first decoder 1310 decodes information about the predictor motion vector current is its block, which is included in the bitstream. In more detail, the first decoder 1310 decodes information indicating whether the predictor motion vector of the current block is encoded in the explicit mode and implicit mode. When the predictor motion vector of the current block has been encoded in the explicit mode, the first decoder 1310 further decodes information indicating a predictor motion vector used as the predictor for the motion vector of the current block, among the set of predictors motion vectors. When the predictor motion vector of the current block has been encoded in implicit mode, the first decoder 1310 may further decode information indicating which of the many implicit modes used to encode the predictor motion vector of the current block.

The second decoder 1320 decodes the vector difference between the motion vector and the predictor motion vector of the current block included in the bit stream.

Module 1330 generates predictions predictor motion vector of the current block based on the information about the predictor motion vector of the current block which has been decoded by the first decoder 1310.

When the decoded information about the predictor motion vector of the current block which has been encoded in the explicit mode, the module 1330 prediction forms predsedatel the motion vector among the potential predictors of the motion vectors, described above with reference to Figa, 10b and 11a-11c, and uses the generated predictor motion vector as a predictor motion vector of the current block.

When the decoded information about the predictor motion vector of the current block which has been encoded in implicit mode, the module 1330 generates predictions predictor motion vector of the current block using blocks or pixels included in a previously encoded area adjacent to the current block. In more detail, the module 1330 prediction forms the average value of motion vectors of blocks adjacent to the current block, as a predictor motion vector of the current block or forms a predictor motion vector of the current block by searching a reference picture using pixels adjacent to the current block.

Module 1340 restore motion vector restores the motion vector of the current block by summing the predictor motion vector generated by the module 1330 predictions, and vector difference, decoded by the second decoder 1320. The restored motion vector used for motion compensation of the current block.

Fig is a flowchart of the sequence encoding the motion vector in accordance with an illustrative option to implement the Oia. As shown in Fig, the device 900 encoding of the motion vector in accordance with the illustrative embodiment selects one mode from the explicit mode and implicit mode as the encoding mode information about the predictor motion vector at step 1410.

Explicit mode is an encoding mode information indicating a potential predictor for the motion vector, at least one among potential predictor motion vector as information about the predictor motion vector, and the implicit mode is an encoding mode information indicating that the predictor motion vector was generated based on blocks or pixels included in a previously encoded area adjacent to the current block, as information about the predictor motion vector. Their detailed descriptions have been given above with reference to Figa, 10B, 11A-11C and 12.

The mode can be selected on the basis of the size of the current block, i.e. the depth of the current block or a selected block of the current image or partition, which includes the current block. Alternatively, the mode can be selected according to whether the current block is encoded in the skip mode.

At step 1420, the device 900 encoding the motion vector predictor determines the motion vector in accordance with the mode, select the figures on the stage 1410. In more detail, the device 900 encoding the motion vector predictor determines the motion vector of the current block based on the explicit mode and implicit mode selected at step 1410. In more detail, the device 900 encoding motion vector identifies potential predictor motion vector, at least one among potential predictor motion vector as a predictor motion vector of the current block in the explicit mode or single predictor motion vector of the current block based on blocks or pixels adjacent to the current block, in implicit mode.

At step 1430, the device 900 encoding motion vector encodes information about the predictor motion vector determined at step 1420. In the case of the explicit mode, the device 900 encoding motion vector encodes information indicating a potential predictor for the motion vector, at least one among potential predictor motion vectors as a predictor motion vector of the current block and information indicating that the information about the predictor motion vector of the current block has been encoded in the explicit mode. In the case of implicit mode, the device 900 encoding motion vector encodes information indicating that the predictor motion vector of the current block was strmilov is n based on blocks or pixels, included in a previously encoded area adjacent to the current block. In the case of many implicit modes the device 900 encoding of the motion vector may optionally encode information indicating one mode of many implicit modes.

At step 1440, the device 900 encoding motion vector encodes the vector difference formed by subtracting the predictor motion vector determined in step 1420, the motion vector of the current block.

Fig is a flowchart of the operational sequence of the method of decoding a motion vector in accordance with an illustrative embodiment. As shown in Fig, the device 1300 decoding motion vector in accordance with an illustrative embodiment decodes information about the predictor motion vector of the current block, which is included in the bitstream, at step 1510. In more detail, the device 1300 decoding motion vector decodes information about the mode used to encode the predictor motion vector of the current block, from the explicit mode and implicit mode.

In the case of the explicit mode, the device 1300 decoding motion vector decodes information indicating that the predictor motion vector of the current block has been encoded in the explicit mode, and information about the potential PR is scastle motion vector, at least one among potential predictor motion vector. In the case of implicit mode, the device 1300 decoding motion vector decodes information indicating that the predictor motion vector of the current block was formed based on blocks or pixels included in a previously decoded area adjacent to the current block. In the case of many implicit modes the device 1300 decoding motion vector may optionally decode information indicating one of the many implicit modes.

At step 1520, the device 1300 decoding motion vector decode the information about the vector difference. The vector difference represents the vector difference between the predictor motion vector of the current block and the motion vector of the current block.

At step 1530, the device 1300 decoding motion vector forms a predictor motion vector of the current block based on the information about the predictor motion vector, which is decoded at step 1510. In more detail, the device 1300 decoding motion vector forms a predictor motion vector of the current block according to the explicit mode and implicit mode. In more detail, the device 1300 decoding motion vector forms a predictor motion vector of the current block by selecting the potential of Lenogo the predictor motion vector, at least one among potential predictor motion vector or with the use of blocks or pixels included in a previously decoded area adjacent to the current block.

At step 1540, the device 1300 decoding motion vector restores the motion vector of the current block by summing the vector difference, decoded at step 1520, and the predictor motion vector generated at step 1530.

Although the above have been shown and described in detail illustrative embodiments of the specialists in the field of technology will understand that they can be made various changes in form and detail without departure from the essence and scope of the present concept of the invention defined in the following claims.

In addition, the system in accordance with an illustrative embodiment may be implemented using machine-readable code on a computer readable medium. For example, at least one device from the device 100 to the image encoding device 200 for decoding the image encoder 400 of the image decoder 500 images, the device 900 encoding the motion vector and the device 1300 decoding motion vector in accordance with an illustrative options for implementation may include the tire attached to the modules every what about the device, shown in figures 1, 2, 4, 5, 9 and 13, and at least one processor coupled to the bus. In addition, the memory attached at least one processor to execute the above commands can be included in the device and connected to the bus to store commands and received messages, or generated messages.

Machine-readable medium is any data storage device that can store data which can then be read by a computer system. Examples of machine-readable recording media include a permanent storage device (ROM; ROM), random access memory (RAM; RAM), CD-ROMs, read-only (CD-ROMs), magnetic tapes, floppy disks, and optical data storage devices. Machine-readable medium can also be distributed on computer systems connected through a network so that computer-readable code is stored and executed a distributed way.

1. A method of coding motion vector, and the method comprises the steps are:
choose the first mode, in which encoded information indicating the predictor motion vectors of at least one of the predictor motion vector, or a second mode in which the coded information indicating the formation of a predictor of vectordesigner based on blocks or pixels, included in a previously encoded area adjacent to the current block;
determine the predictor motion vector of the current block in accordance with the selected mode and encode information about the predictor motion vector of the current block; and
encode the vector difference between the motion vector of the current block and the predictor motion vector of the current block.

2. The method according to claim 1, wherein the step of selecting the first mode or the second mode includes a stage on which selects the first mode or the second mode based on a depth that indicates the degree of reduction from the maximum size of the coding block of the current image or partition containing the current block to the size of the current block.

3. The method according to claim 1, wherein the step of selecting the first mode or the second mode includes a stage on which selects the first mode or the second mode in the block of the current image or partition containing the current block.

4. The method according to claim 1, wherein the step of selecting the first mode or the second mode includes a stage on which selects the first mode or the second mode based on the encoded whether the current block in a skip mode.

5. The method according to claim 1, wherein information indicating the formation of the predictor motion vector based on blocks or pixels included in a previously encoded area adjacent to the current block, Yin is ormatio, indicating the formation of the predictor motion vector of the current block based on the average value of the first motion vector of a block adjacent to the left side of the current block, the second motion vector of a block adjacent to the upper side of the current block, and a third motion vector of a block adjacent to the upper right side of the current block.

6. A device for encoding a motion vector, and the device includes:
the predictor that selects a first mode in which the coded information indicating the predictor motion vectors of at least one of the predictor motion vector, or a second mode in which the coded information indicating the formation of the predictor motion vector based on blocks or pixels included in a previously encoded area adjacent to the current block, and determines a predictor motion vector of the current block based on the selected mode;
a first encoder that encodes information about the predictor motion vector of the current block is determined based on the selected mode; and
a second encoder that encodes the vector difference between the motion vector of the current block and the predictor motion vector of the current block.

7. Method of decoding a motion vector, and the method comprises the steps are:
decode information about PR is scastle motion vector of the current block, moreover, the information encoded in accordance with a mode selected from the first mode and the second mode;
decode the vector difference between the motion vector of the current block and the predictor motion vector of the current block;
form a predictor motion vector of the current block based on the decoded information about the predictor motion vector of the current block; and
restores the motion vector of the current block based on the predictor motion vector and the decoded vector difference,
the first mode is a mode in which the coded information indicating the predictor motion vectors of at least one of the predictor motion vector and the second mode is a mode in which the coded information indicating the formation of the predictor motion vector based on blocks or pixels included in the previously decoded area adjacent to the current block.

8. The method according to claim 7, in which the selected mode is selected based on a depth that indicates the degree of reduction from the maximum size of the coding block of the current image or partition containing the current block to the size of the current block.

9. The method according to claim 7, in which the selected mode is selected in the block of the current image or partition containing the current block.

10. SPO is about according to claim 7, in which the selected mode is selected based on the encoded whether the current block in a skip mode.

11. The method according to claim 7, in which information indicating the formation of the predictor motion vector based on blocks or pixels included in a previously decoded area adjacent to the current block, represents information indicating the formation of the predictor motion vector of the current block based on the average value of the first motion vector of a block adjacent to the left side of the current block, the second motion vector of a block adjacent to the upper side of the current block, and a third motion vector of a block adjacent to the upper right side of the current block.

12. The method according to claim 7, in which information indicating the formation of the predictor motion vector based on blocks or pixels included in a previously decoded area adjacent to the current block, represents information indicating the formation of the predictor motion vector of the current block based on the motion vector generated by searching a reference picture by using pixels included in a previously decoded area adjacent to the current block.

13. A device for decoding a motion vector, and the device includes:
the first decoder, which decodes the information about the predictor ve the Torah motion of the current block, moreover, the information encoded in accordance with a mode selected from the first mode and the second mode;
a second decoder that decodes the vector difference between the motion vector of the current block and the predictor motion vector of the current block;
the predictor that generates a predictor motion vector of the current block based on the decoded information about the predictor motion vector of the current block; and
the recovery module of the motion vector, which restores the motion vector of the current block based on the predictor motion vector and the decoded vector difference,
the first mode is a mode in which the coded information indicating the predictor motion vectors of at least one of the predictor motion vector and the second mode is a mode in which the coded information indicating the formation of the predictor motion vector based on blocks or pixels included in a previously decoded area adjacent to the current block.

14. Machine-readable medium that stores computer-readable program for executing the method according to claim 1.

15. Machine-readable medium that stores computer-readable program for executing the method according to claim 7.



 

Same patents:

FIELD: information technologies.

SUBSTANCE: share of cast combinations of optimal forecasting modes, which shall be selected for spatially corresponding units of upper and lower layers is identified on the basis of the optimal forecasting mode, which was selected in process of traditional coding, and a table of compliance is developed, which describes interconnections between them. Combinations of selected optimal forecasting modes in the compliance table are narrowed on the basis of the value of the share of casts, in order to create information of compliance for forecasting modes, which describes combinations of narrowed optimal forecasting modes. In process of upper layer unit coding, the version of searching for the forecasting mode, searching for which shall be carried out in process of coding, is identified by referral to information of compliance for forecasting modes using as the key the optimal forecasting mode selected in process of coding of the spatially corresponding unit of the lower layer.

EFFECT: reduced versions of searching for a forecasting mode of an upper layer using correlations of optimal forecasting modes between layers.

7 cl, 14 dwg

FIELD: information technology.

SUBSTANCE: displacement vectors are searched for by searching for global displacement, breaking up the image into multiple layers of blocks, successive processing of the layers using various search schemes, using displacement vector prediction, as well as selecting displacement vectors based on efficiency of their further entropy coding.

EFFECT: quality improvement of efficiency of a video compressing system, especially at low bit losses, high output thereof.

2 cl, 8 dwg

FIELD: information technologies.

SUBSTANCE: video coding device is a video coding device for exposure of a video image to forecasting coding with compensation of motion, comprising a detection module, in order to detect accessible blocks for blocks having vectors of motion, from coded blocks adjacent to a block to be coded, and a number of available blocks, a selection module, in order to select one selective block from coded accessible blocks, a coder of selection information, to code information of selection, indicating the selective block, using a coding table, corresponding to the number of accessible blocks, and a coder of images, to expose the block to be coded to forecasting coding with compensation of motion using a vector of motion of the selective block.

EFFECT: reduction of additional information by information of selection of a motion vector with increased extents of freedom for calculation of a motion vector by selection of one of coded blocks.

10 cl, 14 dwg

FIELD: information technology.

SUBSTANCE: each re-encoded frame of a multiview video sequence, defined according to a predetermined encoding sequence, is presented as a set of non-overlapping units; at least one of already encoded frame is determined, which corresponds to said view and denoted as reference; synthesised frames are generated for the encoded and reference frames, wherein for each non-overlapping unit of pixels of the encoded frame, denoted as the encoded unit, a spatially superimposed unit inside the synthesised frame is determined, which corresponds to the encoded frame, denoted as a virtual unit, for which the spatial position of the unit of pixels in the synthesised frame which corresponds to the reference frame is determined, so that the reference virtual unit thus determined is the most accurate numerical approximation of the virtual unit; for the determined reference virtual unit, the spatially superimposed unit which belongs to the reference frame, denoted as the reference unit, is determined, and the error between the virtual unit and the reference virtual unit is calculated, as well as the error between the reference virtual unit and the reference unit; the least among them is selected and based thereon, at least one differential encoding mode is determined, which indicates which of the units found at the previous should be used to perform prediction during the next differential encoding of the encoded unit, and differential encoding of the encoded unit is carried out in accordance with the selected differential encoding mode.

EFFECT: providing differential encoding of a frame using a small volume of service information by taking into account known spatial connections between neighbouring views at each moment in time, as well as information available during both encoding and decoding.

5 cl, 15 dwg

FIELD: information technology.

SUBSTANCE: method of encoding an image using intraframe prediction involves selecting a pixel value gradient which is indicated by the image signal to be predicted from among a plurality of selected gradients; generating a predicted signal by applying the gradient in accordance with the distance from the reference prediction pixel, based on the gradient; intraframe encoding of the image signal to be predicted, based on the predicted signal; and encoding information which indicates the value of the selected gradient. As an alternative, the method involves estimating the pixel value gradient which is indicated by the image signal to be predicted, based on the image signal already encoded; generating a predicted signal by applying the gradient in accordance with distance from the reference prediction pixel, based on the gradient; and intraframe encoding of the image signal to be predicted, based on the predicted signal.

EFFECT: improved image compression efficiency.

20 cl, 55 dwg

FIELD: information technology.

SUBSTANCE: method of encoding a video signal comprises steps of: forming a predicted image for the current block; generating a weighted prediction coefficient for scaling the predicted image; forming a weighted prediction image by multiplying the predicted image with the weighted prediction coefficient; generating a difference signal by subtracting the weighted prediction image from the current block; and encoding the difference signal, wherein generation of the weighted prediction coefficient involves calculating the weighted prediction coefficient for which the difference between the base layer image, which corresponds to the current block, and the predicted image is minimal.

EFFECT: high efficiency of encoding a video signal by reducing the error of the current block, which must be compressed, and the predicted image.

31 cl, 16 dwg

FIELD: information technology.

SUBSTANCE: deblocking filter 113 adjusts the value of disable_deblocking_filter-idc, slice_alpha_c0_offset_div2 or slice_beta_offset_div2 based on the Activity of an image calculated by an activity calculation unit 141, the total sum of orthogonal transformation coefficients of the image calculated by an orthogonal transformation unit 142, Complexity of the image calculated by the rate control unit 119, or the total sum of prediction errors of the image calculated by a prediction error addition unit 120.

EFFECT: improved image quality through correct deblocking.

8 cl, 7 dwg

FIELD: information technology.

SUBSTANCE: disclosed is an image decoding method comprising steps of parsing network abstraction layer (NAL) units of a base view (S200); decoding an image of the base view (S202); parsing multiview video coding (MVC) extension parameters of a non-base view (S204); searching whether or not prefix NAL units for a base view are present (S205); either calculating MVC extension parameters for the base view when no prefix NAL units are present (S206) or parsing the MVC extension parameters of the base view when prefix NAL units for the base view are present (S207); and decoding the non-base view using the MVC extension parameters of the base view and the MVC extension parameters of the non-base view (S210).

EFFECT: providing multiview video coding methods of multiview video decoding methods, even when prefix NAL units are not used.

2 cl, 23 dwg

FIELD: information technologies.

SUBSTANCE: method of video coding includes establishment of candidates of reference pixels for pixels within a previously specified range of distances measured from a target coding unit; generation of a predicted signal by means of serial selection of reference pixels used for inner prediction of the target coding unit, among reference pixels-candidates, whenever a condition of distance from the target coding unit varies, and by generation of a predicted signal by reference pixels for each condition of distance; calculation of costs for coding to implement coding with inner prediction of the target coding unit using each generated predicted signal; final detection of reference pixels used for inner prediction of the target coding unit, on the basis of each calculated cost for coding; and coding of information indicating position of detected reference pixels.

EFFECT: provision of efficient internal prediction of an image, which contains eclipses or noise, or to an image, where signals arise that have similar spatial frequencies, such images may not be processed by means of a regular internal prediction.

10 cl 18 dwg

FIELD: information technologies.

SUBSTANCE: image coding device determines a basic factor of quantisation (QPmb), serving as a predictable quantisation factor in case, when a generated code of the main coding approaches the target size of the code during coding of the input image. The image coding device codes the input image for each increment during control with feedback by performance of quantisation with the help of an adapted quantisation parameter (QPt) on the basis of an average parameter.

EFFECT: invention provides for compression of a generated code size for each image increment below the target size of a code in a proper manner without use of a quantisation factor serving as the basis for a quantisation pitch, with high deviation.

14 cl, 7 dwg

FIELD: video decoders; measurement engineering; TV communication.

SUBSTANCE: values of motion vectors of blocks are determined which blocks are adjacent with block where the motion vector should be determined. On the base of determined values of motion vectors of adjacent blocks, the range of search of motion vector for specified block is determined. Complexity of evaluation can be reduced significantly without making efficiency of compression lower.

EFFECT: reduced complexity of determination.

7 cl, 2 dwg

FIELD: compensation of movement in video encoding, namely, method for encoding coefficients of interpolation filters used for restoring pixel values of image in video encoders and video decoders with compensated movement.

SUBSTANCE: in video decoder system for encoding a video series, containing a series of video frames, each one of which has a matrix of pixel values, interpolation filter is determined to restore pixel values during decoding. System encodes interpolation filter coefficients differentially relatively to given base filter, to produce a set of difference values. Because coefficients of base filter are known to both encoder and decoder and may be statistically acceptably close to real filters, used in video series, decoder may restore pixel values on basis of a set of difference values.

EFFECT: efficient encoding of values of coefficients of adaptive interpolation filters and ensured resistance to errors of bit stream of encoded data.

5 cl, 17 dwg

FIELD: video encoding, in particular, methods and devices for ensuring improved encoding and/or prediction methods related to various types of video data.

SUBSTANCE: the method is claimed for usage during encoding of video data in video encoder, containing realization of solution for predicting space/time movement vector for at least one direct mode macro-block in B-image, and signaling of information of space/time movement vector prediction solution for at least one direct mode macro-block in the header, which includes header information for a set of macro-blocks in B-image, where signaling of aforementioned information of space/time movement vector prediction solution in the header transfers a space/time movement vector prediction solution into video decoder for at least one direct mode macro-block in B-image.

EFFECT: creation of improved encoding method, which is capable of supporting newest models and usage modes of bi-directional predictable (B) images in a series of video data with usage of spatial prediction or time distance.

2 cl, 17 dwg

FIELD: movement estimation, in particular, estimation of movement on block basis in video image compression application.

SUBSTANCE: method and device are claimed for conducting search for movement in video encoder system using movement vectors which represent difference between coordinates of macro-block of data in current frame of video data and coordinates of corresponding macro-block of data in standard frame of video data. A set of movement vector prediction parameters is received, where movement vector prediction parameters represent approximations of possible movement vectors for current macro-block, movement vector search pattern is determined and search is conducted around each movement vector prediction parameter from the set of movement vector prediction parameters using search pattern, and on basis of search result, the final movement vector is determined.

EFFECT: increased efficiency of video signals compression.

3 cl, 7 dwg

FIELD: physics.

SUBSTANCE: said utility invention relates to video encoders and, in particular, to the use of adaptive weighing of reference images in video encoders. A video encoder and a method of video signal data processing for an image block and the specific reference image index for predicting this image block are proposed, which use the adaptive weighing of reference images to increase the video signal compression, the encoder having a reference image weighting factor assigning module for the assignment of the weighting factor corresponding to the said specific reference image index.

EFFECT: increased efficiency of reference image predicting.

8 cl, 7 dwg

FIELD: physics, computing.

SUBSTANCE: invention relates to the field of coding and decoding of a moving image. In the method, at least one reference image for the processing of the field macroblock is selected from at least one reference image list, using information about reference image indexes, each at least one reference image selected is a field, and the parity of at least one reference field selected may be based on the parity of the field macroblock and the reference image index information.

EFFECT: efficient provision of information about reference image compensating motion, by reference image indexes determined in different ways, according to the coded macroblock modes.

10 cl, 12 dwg

FIELD: information systems.

SUBSTANCE: invention refers to video coders using adaptive weighing of master images. The video decoder for decoding data from video signal for the image, having multiple motion boxes, containing: the master image weighting coefficient module for accepting, at least, one master image index, thereat each one from the mentioned master image indexes is intended for independent indication not using any other indexes, one of the multiple master images, used for prediction of current motion box and weighting coefficient from the set of weighting coefficients for current mentioned one from mentioned multiple motion boxes.

EFFECT: increase of efficiency in predicting master images.

20 cl, 7 dwg

FIELD: information technology.

SUBSTANCE: method is offered to compress digital motion pictures or videosignals on the basis of superabundant basic transformation using modified algorithm of balance search. The algorithm of residual energy segmentation is used to receive an original assessment of high energy areas shape and location in the residual image. The algorithm of gradual removal is used to decrease the number of balance assessments during the process of balance search. The algorithm of residual energy segmentation and algorithm of gradual removal increase encoding speed to find a balanced basis from the previously defined dictionary of the superabundant basis. The three parameters of the balanced combination form an image element, which is defined by the dictionary index and the status of the basis selected, as well as scalar product of selected basic combination and the residual signal.

EFFECT: creation of simple, yet effective method and device to perform frame-accurate encoding of residual movement on the basis of superabundant basic transformation for video compressing.

10 cl, 15 dwg

FIELD: information technology.

SUBSTANCE: playback with variable speed is performed without picture quality deterioration. Controller 425 creates EP_map () with RAPI address in videoclip information file, dedicated information selection module 423 RAPI, image PTS with internal encoding, which is immediately preceded by RAPI, one of final positions of the picture with internal encoding, as well as the second, the third and the fourth reference pictures, which are preceded by the picture with internal encoding. The controller saves EP_map () in output server 426, i.e. controller 425 copies the value, close to given number of sectors (quantity of sectors, which can be read at one time during encoding process) of final positions for the four reference pictures (1stRef_picture, 2ndRef_picture, 3rdRef_picture and 4thRef_picture) to N-th_Ref_picture_copy, defines value of index_minus 1 on the basis of N-th_Ref_picture_copy and records it to disc.

EFFECT: effective process performance with constant data reading time.

8 cl, 68 dwg

FIELD: information technology.

SUBSTANCE: invention proposed contains videodecoder (200) and corresponding methods of videosignal data processing for image block with two reference frames' indices to predict this image block. The methods use latent scaling of reference images to improve video compressing. The decoder (200) contains latent scaling coefficient module (280) of reference images, which are used to determine a scaling coefficient value, corresponding to each of the reference image indices. Decoding operations contain receiving reference image indices with data, which corresponds to image block, calculation of latent scaling coefficient in response to image block location relative to reference images, indicated by each index of reference image, extraction of reference image for each of the indices, motion compensation relative to extracted reference image and multiplication of reference images, relative to which the motion compensation was performed, to a corresponding scaling value.

EFFECT: increase of decoding efficiency.

25 cl, 6 dwg

Up!