RU2615677C1 - Images encoding method and images decoding method - Google Patents

Images encoding method and images decoding method Download PDF

Info

Publication number
RU2615677C1
RU2615677C1 RU2015146910A RU2015146910A RU2615677C1 RU 2615677 C1 RU2615677 C1 RU 2615677C1 RU 2015146910 A RU2015146910 A RU 2015146910A RU 2015146910 A RU2015146910 A RU 2015146910A RU 2615677 C1 RU2615677 C1 RU 2615677C1
Authority
RU
Russia
Prior art keywords
information
motion information
motion
prediction
position
Prior art date
Application number
RU2015146910A
Other languages
Russian (ru)
Inventor
Тайтиро СИОДЕРА
Акиюки ТАНИЗАВА
Томоо ЯМАКАГЕ
Такеси ТУДЗО
Original Assignee
Кабусики Кайся Тосиба
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Кабусики Кайся Тосиба filed Critical Кабусики Кайся Тосиба
Priority to RU2015146910A priority Critical patent/RU2615677C1/en
Application granted granted Critical
Publication of RU2615677C1 publication Critical patent/RU2615677C1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • H04N19/426Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements using memory downsizing methods
    • H04N19/428Recompression, e.g. by spatial or temporal decimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding

Abstract

FIELD: information technologies.
SUBSTANCE: invention relates to encoding images. Image encoding method with separation of input image signal into pixel units and performing external prediction with respect to separated pixel units includes stages, at which: selecting predicted motion information from plurality of motion information elements in encoded area based on information, produced in accordance with first information, indicating predicted motion information selection method; and predicting target encoding unit motion information using said predicted motion information, wherein said information contains second information, which sets position in target encoding unit, wherein said second information is used to select said predicted motion information.
EFFECT: technical result is increase in encoding efficiency.
2 cl, 59 dwg

Description

FIELD OF THE INVENTION

The embodiments described herein generally relate to a method for compressing motion information, a method for encoding images, and a method for decoding images when encoding and decoding a moving image.

BACKGROUND

Recently, an image encoding method having significantly higher encoding efficiency has been recommended as ITU-T Rec. H.264 and ISO / IEC 14496-10 (hereinafter referred to as H.264) as a result of ITU-T and ISO / IEC collaboration. In H.264, the prediction process, the conversion process, and the entropy encoding process are performed for each rectangular block (for example, each block of 16x16 or 8x8 pixels). In the prediction process, motion compensation with time-domain prediction is performed for the rectangular block to be encoded (encoding target block) by referring to an already encoded frame (reference frame). With this motion compensation, it is necessary to encode the motion information containing the motion vector as the spatial shift information between the encoding target block and the block to be addressed in the reference frame, and transmit the encoded motion information to the decoding side. When performing motion compensation by using a plurality of reference frames, it is also necessary to code reference frame numbers in addition to the motion information. This sometimes increases the amount of motion information code and reference frame numbers. There are also methods for predicting motion information by which the predictive motion information of the encoding target block is extracted by accessing motion information of a reference frame that is stored in the motion information memory (patent document 1 and non-patent document 2), and the capacity of the motion information memory to store information movement sometimes increases.

As an example of a method of reducing the storage capacity of the motion information storage device, the motion representing information is extracted in a predetermined block, and only the motion representing information is stored in the motion information storage in the non-patent document 2.

LIST OF BIBLIOGRAPHIC REFERENCES

PATENT DOCUMENTS

Patent Document 1. Patent (Japan) No. 4020789.

NON-PATENT DOCUMENTS

Non-Patent Document 1. J. Jung et al, "Temporal MV Predictor Modification for MV-Comp, Skip, Direct and Merge Schemes", Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO / IEC JTC1 / SC29 / WG11 Document, JCTVC-D164, January 2011.

Non-Patent Document 2. Yeping Su et al. "CE9: Reduced Resolution Storage of Motion Vector Data", Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO / IEC JTC1 / SC29 / WG11 Document, JCTVC -D072, January 2011.

SUMMARY OF THE INVENTION

TECHNICAL PROBLEM

However, there is a problem in that if the method for retrieving the predicted motion information disclosed in Non-Patent Document 1 and the method for retrieving the motion-representing information disclosed in Non-Patent Document 2 are different, the temporal correlation of the predicted motion information is reduced, and as a result, the volume increases motion information code.

The present embodiment is implemented in order to solve the above problem, and has as its purpose to provide an image encoding device and an image decoding device including an information compression device capable of increasing the encoding efficiency.

THE SOLUTION OF THE PROBLEM

In general, according to one embodiment, a method for splitting an input image signal into pixel blocks and performing an inter prediction for divided pixel blocks is disclosed. This method includes selecting the predicted motion information from the motion information buffer storing the motion information in the encoded area, and predicting the motion information of the encoding target block by using the predicted motion information. The method further includes acquiring motion representing information from a plurality of elements of motion information in the encoded area in accordance with a first information indicating a method for selecting predicted motion information, thereby obtaining only motion representing information.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram schematically showing an arrangement of an image encoding apparatus according to a first embodiment.

FIG. 2A is a view for explaining a pixel block prediction coding sequence.

FIG. 2B is a view for explaining an example of a pixel block size.

FIG. 2C is a view for explaining another example of pixel block size.

FIG. 2D is a view for explaining yet another example of pixel block size.

FIG. 3A is a view for explaining an example of a pixel block in a coding tree unit.

FIG. 3B is a view for explaining another example of a pixel block in a coding tree unit.

FIG. 3C is a view for explaining yet another example of a pixel block in a coding tree unit.

FIG. 3D is a view for explaining yet another example of a pixel block in a coding tree unit.

FIG. 4 is a block diagram schematically showing an arrangement of the entropy encoder shown in FIG. one.

FIG. 5 is a view schematically showing an arrangement of a motion information storage device shown in FIG. one.

FIG. 6A is a view for explaining an example of an inter prediction process performed by the inter prediction module shown in FIG. one.

FIG. 6B is a view for explaining another example of an inter prediction process performed by the inter prediction module shown in FIG. one.

FIG. 7A is a view for explaining an example of a prediction unit.

FIG. 7B is a view for explaining another example of a prediction unit.

FIG. 7C is a view for explaining yet another example of a prediction unit.

FIG. 7D is a view for explaining yet another other example of a prediction unit.

FIG. 7E is a view for explaining yet another other example of a prediction unit.

FIG. 7F is a view for explaining yet another other example of a prediction unit.

FIG. 7G is a view for explaining yet another example of a prediction unit.

FIG. 8 is a view for explaining a skip mode, a combining mode, and a mutual mode.

FIG. 9 is a block diagram schematically showing the arrangement of the motion information encoder shown in FIG. four.

FIG. 10 is a view for explaining examples of a position of a candidate of predicted motion information relative to a target prediction unit in encoding.

FIG. 11 is a view for explaining another example of a candidate position of the predicted motion information with respect to the encoding prediction unit.

FIG. 12 is a view showing an example of a list indicating a relationship between block positions and Mvpidx indices of a plurality of candidates of predicted motion information.

FIG. 13A is a view showing an example of a position of obtaining motion reference information indicating a center of a prediction unit in encoding when the size of the prediction unit is 32x32.

FIG. 13B is a view showing an example of a position of obtaining motion reference information indicating a center of a prediction unit in encoding when the size of the prediction unit is 32x16.

FIG. 13C is a view showing an example of a position of obtaining motion reference information indicating a center of a prediction unit in encoding when the size of the prediction unit is 16x32.

FIG. 13D is a view showing an example of a position of obtaining reference motion information indicating a center of a prediction unit in encoding when the size of the prediction unit is 16x16.

FIG. 13E is a view showing an example of a position of obtaining motion reference information indicating a center of a prediction unit in encoding when the size of the prediction unit is 16x8.

FIG. 13F is a view showing an example of a position of obtaining motion reference information indicating a center of a prediction unit in encoding when the size of the prediction unit is 8x16.

FIG. 14A is a view showing another example of a position of obtaining motion reference information indicating a center of a prediction unit in encoding when the size of the prediction unit is 32x32.

FIG. 14B is a view showing another example of a position of obtaining motion reference information indicating a center of a prediction unit in encoding when the size of the prediction unit is 32x16.

FIG. 14C is a view showing another example of a position of obtaining motion reference information indicating a center of a prediction unit in encoding when the size of the prediction unit is 16x32.

FIG. 14D is a view showing another example of a position of obtaining motion reference information indicating a center of a prediction unit in encoding when the size of the prediction unit is 16x16.

FIG. 14E is a view showing another example of a position of obtaining motion reference information indicating a center of a prediction unit in encoding when the size of the prediction unit is 16x8.

FIG. 14F is a view showing another example of a position of obtaining motion reference information indicating a center of a prediction unit in encoding when the size of the prediction unit is 8x16.

FIG. 15 is a view for explaining a storage device 501 of motion reference information in a spatial domain and a storage device 502 of motion reference information in a time domain.

FIG. 16 is a flowchart showing an example of the operation of the motion information compression module shown in FIG. one.

FIG. 17A is a view showing an example of a position of obtaining motion reference information indicating an upper left end of a prediction unit in encoding when the size of the prediction unit is 32x32.

FIG. 17B is a view showing an example of a position of obtaining motion reference information indicating an upper left end of a prediction unit in encoding when the size of the prediction unit is 32x16.

FIG. 17C is a view showing an example of a position of obtaining motion reference information indicating an upper left end of a prediction unit in encoding when the size of the prediction unit is 16x32.

FIG. 17D is a view showing an example of a position of obtaining motion reference information indicating an upper left end of a prediction unit in encoding when the size of the prediction unit is 16x16.

FIG. 17E is a view showing an example of a position of obtaining motion reference information indicating an upper left end of a prediction target unit in encoding when the size of the prediction unit is 16x8.

FIG. 17F is a view showing an example of a position of obtaining motion reference information indicating an upper left end of a prediction target unit in encoding when the size of the prediction unit is 8x16.

FIG. 18A is a view showing examples of a position representing movement information.

FIG. 18B is a view showing other examples of a position representing movement information.

FIG. 19 is a view showing examples of centers of prediction units having different prediction sizes.

FIG. 20A is a view showing examples of a position representing motion information when a center of gravity of a plurality of positions of receiving reference motion information of each motion information compression unit is set as a position representing motion information.

FIG. 20B is a view showing other examples of a position representing motion information when the center of gravity of a plurality of positions of receiving reference motion information of each motion information compression unit is set as a position representing motion information.

FIG. 21A is a view showing an example of a position representing movement information.

FIG. 21B is a view showing another example of a position representing movement information.

FIG. 22 is a view showing a syntax structure according to an embodiment.

FIG. 23A is a view showing an example syntax of a sequence parameter set according to an embodiment.

FIG. 23B is a view showing another example of syntax of a set of sequence parameters according to an embodiment.

FIG. 24 is a view showing an example syntax of a prediction unit according to an embodiment.

FIG. 25 is a block diagram schematically showing an image decoding apparatus according to a second embodiment.

FIG. 26 is a block diagram schematically showing the entropy decoder shown in FIG. 25.

FIG. 27 is a block diagram schematically showing a motion information decoder shown in FIG. 26.

DESCRIPTION OF EMBODIMENTS

An image encoding device and an image decoding device according to each embodiment are explained in more detail below with reference to the accompanying drawings. It should be noted that in the explanation below, the term “image” can be appropriately replaced by terms such as “image”, “pixel”, “image signal” and “image data”. It should also be noted that in the following embodiments, parts denoted by the same reference numeral perform the same operation, so that a second explanation is omitted.

FIRST IMPLEMENTATION

The first embodiment is directed to an image encoding device. An image decoding apparatus corresponding to an image encoding apparatus according to this embodiment is explained in the second embodiment. This image encoding device may be implemented through hardware such as a large integrated circuit (LSI), digital signal processor (DSP), or user programmable gate array (FPGA). This image encoding device may also be implemented by instructing a computer to execute an image encoding program.

As shown in FIG. 1, an image encoding apparatus 100 according to this embodiment includes a subtraction unit 101, an orthogonal transducer 102, a quantizer 103, an inverse quantizer 104, an inverse orthogonal transducer 105, an adder 106, a reference image memory 107, an inter prediction unit 108, a compression unit 109 motion information, motion information storage device 110, and entropy encoder 112. Encoding controller 114 and output buffer 113 are typically installed outside the image encoding device 100 niy.

The image encoding apparatus 100 shown in FIG. 1 divides each frame, each field, or each notch generating the input image signal 151 into a plurality of pixel blocks, performs prediction encoding for these divided pixel blocks and outputs encoded data 163. In the explanation below, it is assumed that prediction encoding is for simplicity pixel blocks run from the upper left corner to the lower right corner, as shown in FIG. 2A. Referring to FIG. 2A, encoded pixel blocks p are placed above and to the left of the encoding target pixel block c in frame f as the encoding target.

A pixel block is an image processing unit, such as a block of MxN pixels (wherein N and M are natural numbers), an encoding unit, a macroblock, a subunit, or one pixel. It should be noted that the pixel block essentially means a coding unit in the explanation below, but the pixel block can also be interpreted in the above semantic values by appropriately replacing the terms. The coding unit is typically, for example, a 16x16 pixel block, as shown in FIG. 2B, but may also be a block of 32x32 pixels, as shown in FIG. 2C, or a block of 64x64 pixels, as shown in FIG. 2D. The coding unit may also be an 8x8 pixel block (not shown) or a 4x4 pixel block (not shown). In addition, the coding unit does not have to be square. In the explanation below, the encoding target block or coding unit of the input image signal 151 is also referred to as the “prediction target block”. In addition, the coding unit is not limited to a pixel block, such as a coding unit, and it is also possible to use a frame, field or clipping, or a combination of the above.

FIG. 3A, 3B, 3C and 3D are views showing practical examples of a coding unit. FIG. 3A shows an example in which the encoding unit size is 64x64 pixels (N = 32). N represents the size of the coding unit as a reference value. The size when the coding unit is split is set to N, and the size when it is not split is set to 2N. A coding tree unit has a structure in the form of a quadrant tree. When a coding tree unit is split, indices are allocated to four pixel blocks in Z-scan order. FIG. 3B shows an example in which division into a quadrant tree is performed for the 64x64 pixel block shown in FIG. 3A. The numbers shown in FIG. 3B represent sequence numbers in Z-scan. You can also optionally perform the division into a quadrant tree for one index of the coding unit quadrant tree. Separation depth is set as Depth. In other words, FIG. 3A shows an example in which Depth = 0. FIG. 3C shows an example of a coding unit having a size of 32x32 pixels (N = 16) when Depth = 1. The largest unit of the coding tree unit, such as this one, is called the large unit of the coding tree or tree block, and the input image signal is encoded in raster scan order using this unit, as shown in FIG. 2A.

Based on the encoding parameter input from the encoding controller 114, the image encoding apparatus 100 shown in FIG. 1 performs an inter prediction (also called inter prediction of images, inter prediction or motion compensation) or intra prediction (also called intra prediction or intra prediction) (not shown) for the pixel block, thereby generating a predicted image signal 159. The image encoding apparatus 100 orthogonally converts and quantizes the prediction error signal 152 between the pixel block (input image signal 151) and the predicted image signal 159, generates encoded data 163 by performing entropy encoding, and outputs encoded data 163.

The image encoding apparatus 100 shown in FIG. 1 performs encoding by selectively applying a plurality of prediction modes having different block sizes and different methods for generating the predicted image signal 159. The methods for generating the predicted image signal 159 are roughly classified into two types: intra prediction, which performs the prediction in the encoding target frame; and inter prediction, which performs prediction by using one reference frame or a plurality of temporarily different reference frames.

Each element included in the image encoding apparatus 100 shown in FIG. one.

Subtraction module 101 receives the prediction error signal 152 by subtracting, from the encoding target block of the input image signal 151, the predicted image signal 159 corresponding to the encoding target block. Subtraction module 101 inputs the prediction error signal 152 to the orthogonal converter 102.

The orthogonal transformer 102 obtains a transform coefficient 153 by performing an orthogonal transform, such as a discrete cosine transform (DCT), for the prediction error signal 152 from the subtraction unit 101. The orthogonal converter 102 outputs a conversion coefficient 153 to a quantizer 103.

The quantizer 103 obtains the quantized transform coefficient 154 by quantizing the transform coefficient 153 from the orthogonal transformer 102. More specifically, the quantizer 103 performs quantization in accordance with the quantization information, such as a quantization parameter and a quantization matrix indicated by the encoding controller 114. The quantization parameter indicates the accuracy of the quantization. The quantization matrix is used to weight the quantization accuracy for each component of the transform coefficient, but whether or not to use the quantization matrix is not important for this embodiment. Quantizer 103 outputs the quantized transform coefficient 154 to entropy encoder 112 and inverse quantizer 104.

Entropy encoder 112 performs entropy encoding (e.g., Huffman coding or arithmetic coding) for various coding parameters, such as quantized transform coefficient 154 from quantizer 103, motion information 160 from inter prediction module 108, prediction information 165 indicated by encoding controller 114, reference position information 164 from coding controller 114 and quantization information, thereby generating encoded data 163. It should be noted that the parameters of ation are parameters necessary for decoding, such as prediction information 165, transformation coefficient information and the quantization information. For example, the encoding controller 114 includes an internal storage device (not shown), and this storage device stores the encoding parameters. When encoding the prediction target block, the encoding parameters of the already encoded pixel block adjacent to the prediction target block are used.

More specifically, as shown in FIG. 4, entropy encoder 112 includes a parameter encoder 401, transform coefficient encoder 402, motion information encoder 403, and a multiplexer 404. The parameter encoder 401 generates encoded data 451A by encoding encoding parameters such as prediction information 165 received from encoding controller 114. The transform coefficient encoder 402 generates encoded data 451B by encoding the quantized transform coefficient 154 received from the quantizer 103.

The motion information encoder 403 encodes the motion information 160 received from the inter prediction unit 108 by accessing the motion reference information 166 received from the motion information storage device 110 and the position reference information 164 received from the encoding controller 114, thereby generating encoded data 451C. The following describes the details of the motion information encoder 403.

A multiplexer 404 generates encoded data 163 by multiplexing the encoded data 451A, 451B, and 451C. The generated encoded data 163 contains all the parameters necessary for decoding, such as transform coefficient information and quantization information, in addition to motion information 160 and prediction information 165.

The encoded data 163 generated by the entropy encoder 112 is temporarily stored in the output buffer 113 after, for example, multiplying and outputting at appropriate output times, controlled by the encoding controller 114. The encoded data 163 is output, for example, to a data storage system (storage medium) (not shown) or a transmission system (communication line) (not shown).

The inverse quantizer 104 obtains the reconstructed transform coefficient 155 by inverse quantization of the quantized transform coefficient 154 from the quantizer 103. More specifically, the inverse quantizer 104 performs inverse quantization in accordance with the quantization information used in the quantizer 103. The quantization information used in the quantizer 103 is loaded from internal the storage device of the encoding controller 114. The inverse quantizer 104 outputs the reconstructed conversion coefficient 155 to the inverse orthogonal transducer 105.

The inverse orthogonal transducer 105 performs, for the reconstructed transform coefficient 155 from the inverse quantizer 104, an inverse orthogonal transform, such as an inverse discrete cosine transform, corresponding to the orthogonal transform performed in the orthogonal transformer 102, thereby obtaining the reconstructed prediction error signal 156. The inverse orthogonal converter 105 outputs the reconstructed prediction error signal 156 to the adder 106.

An adder 106 generates a local decoded image signal 157 by summing the reconstructed prediction error signal 156 and the corresponding predicted image signal 159. The decoded image signal 157 is input to the reference image memory 107 via a deblocking filter or a Wiener filter (not shown).

The reference image memory 107 stores a local decoded filtered image signal 158. The inter prediction unit 108 refers to the filtered image signal 158 as a reference image signal 158 when generating the predicted image as necessary.

Inter prediction unit 108 performs inter prediction by using the reference image signal 158 stored in the reference image memory 107. More specifically, the inter prediction unit 108 extracts a motion difference (motion vector) by performing a block matching process between the prediction target block and the reference image signal 158. Based on this motion vector, the inter prediction module 108 generates an externally predicted image by performing motion compensation (interpolation for motion with decimal precision). In H.264, interpolation can be performed up to 1/4 pixel accuracy. The extracted motion vector is entropy encoded as part of the motion information 160.

The motion information storage device 110 includes a motion information compression unit 109. The motion information storage device 110 reduces the amount of information for the motion information 160 by properly performing the compression process and temporarily stores the compressed motion information as reference motion information 166. As shown in FIG. 5, the motion information storage device 110 is stored for each frame (or clipping), and the motion information storage device 110 further includes a spatial reference information storage device 501 for storing motion information 160 regarding the same frame as the reference information 166 motion, and a time reference motion information storage device 502 for storing motion information 160 of an already encoded frame as motion reference information 166. The motion information storage device 110 may also include a plurality of time-domain motion information storage devices 502 in accordance with the number of reference frames to be used by the prediction encoding target frame.

In addition, the storage device 501 of the reference information of the movement in the spatial domain and the storage device 502 of the reference information of the movement in the time domain can be obtained by logically partitioning a physically single storage device. In addition, the spatial reference area motion information storage device 501 can only store spatial area motion information needed for the frame currently being encoded and spatial area motion information elements that are no longer required as reference information can be sequentially compressed and stored in the storage device 502 reference information of the movement in the time domain.

The motion reference information 166 is stored for each predetermined area (for example, each 4x4 pixel block) in the spatial reference memory 501 and the time reference motion information storage 502. The motion reference information 166 further comprises information indicating whether the region is encoded by inter prediction (which is described below) or intra prediction (which is described below). Furthermore, even when the coding unit (or prediction unit) is externally predicted by using the motion information 160 predicted from the coded area without encoding the value of the motion vector in the motion information 160, for example, in the skip mode or in the direct mode specified by H. 264, or in a merge mode (described later), motion information of a coding unit (or prediction unit) is stored as motion reference information 166.

When the encoding process of the target frame or coding cut is completed, the processing of the motion reference memory 501 in the spatial region of the frame changes to the processing of the motion reference information memory 502 in the time domain for the frame to be encoded as follows. At this stage, in order to reduce the storage capacity of the storage device 502 of the motion reference information in the time domain, the motion information 160 compressed by the motion information compression unit 109 (which will be described later) is stored in the memory 502 of the motion reference information in the time domain.

Prediction information 165 corresponds to a prediction mode controlled by encoding controller 114. As described above, it is possible to select an inter prediction or an inter prediction (not shown) or an inter prediction in order to generate a predicted image signal 159. You can also optionally select many modes for each of the intra prediction and inter prediction. The encoding controller 114 determines one of a plurality of intra prediction and inter prediction prediction modes as an optimal prediction mode and sets prediction information 165.

For example, coding controller 114 determines the optimal prediction mode by using the cost function indicated by equation (1) below:

Figure 00000001

In equation (1) (hereinafter referred to as the simplified coding cost hereinafter), OH indicates the code size of the prediction information 160 (e.g., motion vector information or predicted block size information), and SAD indicates the sum of the absolute difference values (i.e., the accumulated sum the absolute values of the prediction error signal 152) between the prediction target block and the predicted image signal 159. In addition, λ indicates an indefinite Lagrange multiplier, which should be determined based on the value of the quantization information (quantization parameter), and K indicates the cost of coding. When using equation (1), a prediction mode that minimizes the cost of encoding K is determined as the optimal prediction mode in terms of the amount of generated code and the prediction error. As a variant of equation (1), it is also possible to estimate the coding costs only from OH or SAD, or to estimate the coding costs by using the value obtained by performing the Hadamard transform for SAD or approximating this value.

In addition, the optimal prediction mode can be determined by using a time coding unit (not shown). For example, coding controller 114 determines the optimal prediction mode by using the cost function indicated by equation (2) below:

Figure 00000002

In equation (2), D indicates the sum of the squared error (i.e., coding distortion) between the prediction target block and the locally decoded image, R indicates the amount of code estimated by time coding for the prediction error between the prediction target block and the predicted image signal 159 prediction mode, and J indicates the cost of coding. When calculating the coding costs J (which are called the detailed coding costs hereinafter) of equation (2), a time coding process and a local decoding process are necessary for each prediction mode, so that the size of the circuits or the amount of computation increases. On the other hand, coding costs J are calculated based on more accurate coding distortion and more accurate code size. This simplifies maintaining high coding efficiency by accurately determining the optimal prediction mode. It should be noted that, as a variant of equation (2), it is also possible to estimate the coding costs only from R or D or to estimate the coding costs by using the approximate value of R or D. In addition, hierarchical use of these costs is also possible. The encoding controller 114 may also pre-reduce the number of candidates of the prediction modes to perform a determination using equation (1) or (2) based on information (e.g., prediction modes of the surrounding pixel blocks or an image analysis result) previously obtained for the prediction target block.

As a modification of this embodiment, it is possible to further reduce the number of candidates of the prediction modes while maintaining the coding performance by performing the two-stage combination equations of the mode definition (1) and (2). The simplified coding costs indicated by equation (1) do not require a local decoding process, unlike equation (2), and therefore can be calculated at high speed. The image encoding apparatus of this embodiment has more prediction modes than the modes in H.264, so determining a mode using the detailed encoding costs is unrealistic. Therefore, as a first step, the determination of the mode using the simplified coding costs is performed for the prediction modes applicable to the corresponding pixel block, thereby extracting the candidates of the prediction modes.

Since the correlation between simplified coding costs and detailed coding costs increases as the value of the quantization parameter setting the quantization complexity increases, the number of candidates of the prediction modes is changed by using this property.

Next, a prediction process of the image encoding apparatus 100 is explained.

Although not shown, a plurality of prediction modes are prepared for the image encoding apparatus 100 shown in FIG. 1, and the method for generating the predicted image signal 159, and the size of the motion compensation unit changes depending on the prediction mode. The methods by which the prediction unit 108 generates a predicted image signal 159 are roughly classified into intra prediction (intra-frame prediction), which generates a predicted image by using the image reference signal 158 of the encoding target frame (or field), and inter prediction (inter-frame prediction), which generates a predicted image by using the reference signal 158 image of one or more encoded reference frames (or reference fields). Prediction unit 108 generates a predicted image signal 159 of the encoding target block by selectively switching intra prediction and inter prediction.

FIG. 6A shows an example of inter prediction. Inter prediction is typically performed for each prediction unit, and each prediction unit may have unique motion information 160. In mutual prediction, as shown in FIG. 6A, the predicted image signal 159 is generated by using the image reference signal 158 of the block 602 in a spatially shifted position, in accordance with the motion vector contained in the motion information 160 from block 601, which is a pixel block in an already encoded reference frame (for example, directly previous encoded frame), and exists in the same position as the position of the prediction target unit in encoding. In other words, the predicted image signal 159 is generated by using the reference image signal 158 of the block 602 in the reference frame, which is indicated by the position (coordinate) of the encoding target block and the motion vector contained in the motion information 160.

In mutual prediction, it is possible to compensate for motion with an accuracy of a small number of pixels (for example, 1/2 pixel accuracy or 1/4 pixel accuracy), and the value of the interpolating pixel is formed by filtering the reference image signal 158. For example, an interpolation process up to 1/4 pixel accuracy can be performed for a luminance signal in H.264. This interpolation process can be performed by using arbitrary filtering instead of the filter specified by H.264.

It should be noted that in mutual prediction, not only the immediately previous reference frame can be used, as shown in FIG. 6A, but also any already encoded reference frame, as shown in FIG. 6B. When reference image signals 158 of a plurality of reference frames having different time positions are stored, information indicating a time position of the image reference signal 158 from which the predicted image signal 159 is generated is represented by the reference frame number. Motion information 160 contains this reference frame number. The reference frame number can be changed for each area (for example, each image, clipping or block). In other words, different reference frames can be used for different prediction units. As an example, when the immediately preceding encoded reference frame is used in prediction, the reference frame number of this region is set to zero. When the encoded reference frame two frames before the encoding target frame is used in prediction, the reference frame number of this region is set to 1. As another example, when the reference image signal 158 of only one frame is stored in the reference image memory 107 (when only one reference frame saved), the reference frame number is always set to zero.

In addition, it is possible to selectively use a size suitable for the encoding target block from a plurality of prepared prediction unit sizes. For example, motion compensation can be performed for each prediction unit obtained by dividing the units of the coding tree, as shown in FIG. 7A, 7B, 7C, 7D, 7E, 7F, and 7G. It is also possible to perform motion compensation for each prediction unit divided by a shape other than a square, as shown in FIG. 7F or 7G.

As described above, motion information 160 of the encoded pixel block (eg, a 4x4 pixel block) in the encoding target frame to be used in the inter prediction is stored as motion reference information 166. Therefore, the shape and motion vector of the optimal motion compensation unit and the reference frame number can be used in accordance with the local property of the input image signal 151. You can also freely combine coding units and prediction units. When the coding unit is a block of 64x64 pixels, each of the four units of the coding tree (blocks of 32x32 pixels) obtained by dividing the block of 64x64 pixels can be further divided into four blocks. This allows you to hierarchically use blocks of 16x16 pixels from a block of 64x64 pixels. Similarly, you can hierarchically use blocks of 8x8 pixels from a block of 64x64 pixels. When a prediction unit is obtained by dividing a coding tree unit into four blocks, a hierarchical process of compensating for movement from a 64x64 pixel block to 4x4 pixel blocks can be performed.

In addition, in the inter prediction, bidirectional prediction using two kinds of motion compensation can be performed for the target pixel coding unit. In H.264, a new predicted image signal (not shown) is obtained by performing two kinds of motion compensation for the target pixel coding unit and calculating a weighted average of the two kinds of predicted image signals. In this bi-directional prediction, two kinds of motion compensation are referred to as prediction from list 0 and prediction from list 1.

EXPLANATION OF PASS MODE, COMBINATION MODE AND MUTUAL MODE

The image encoding apparatus 100 according to this embodiment uses a plurality of prediction modes having various encoding processes, as shown in FIG. 8. Referring to FIG. 8, the skip mode is a mode in which only the syntax of the predicted motion information position 954 is encoded (described below), and other syntaxes are not encoded. The combining mode is a mode in which only the syntax of the position 954 of the predicted motion information and the conversion coefficient information 153 is encoded, and other syntaxes are not encoded. The external mode is a mode in which the syntax of the position 954 of the predicted motion information, the difference motion information 953 (which is described below), and the transform coefficient information 153 are encoded. These modes are switched by prediction information 165 controlled by encoding controller 114.

403 MOVEMENT INFORMATION CODER

The motion information encoder 403 is explained below with reference to FIG. 9.

The motion information encoder 403 includes a reference motion vector obtaining unit 901, a predicted motion vector selection switch 902 (also referred to as a predicted motion information selection switch), a subtraction unit 903, a motion differential information encoder 904, a predicted motion information position encoder 905, and a multiplexer 906.

The reference motion vector receiving unit 901 receives the reference motion information 166 and the position reference information 164 and generates at least one candidate 951 predicted motion information (also called a candidate predicted motion vector) (951A, 951B, ...). FIG. 10 and 11 illustrate examples of the position of the candidate 951 predicted motion information relative to the target prediction unit. FIG. 10 shows the positions of prediction units spatially adjacent to the target prediction unit. AX (X = 0 to nA-1) indicates an adjacent prediction unit to the left of the prediction target, BY (Y = 0 to nB-1) indicates an adjacent prediction unit above the prediction target, and C, D, and E, respectively , indicate adjacent prediction units in the upper right corner, upper left corner, and lower left corner of the prediction target unit. FIG. 11 shows the position of the prediction unit in an already encoded reference frame relative to the encoding prediction unit. In FIG. 11, Col indicates a prediction unit that exists in the same position as the position of the prediction target unit when encoding in a reference frame. FIG. 12 shows an example of a list indicating a relationship between block positions and Mvpidx indices of a plurality of predicted motion information candidates 951. Mvpidx indices 0-2 indicate candidates 951 predicted motion vectors located in the spatial domain, and Mvpidx index 3 indicates candidate 951 predicted motion vectors located in the time domain. The prediction unit position A is the prediction unit position for the inter prediction, i.e. a prediction unit having motion reference information 166 in AX, as shown in FIG. 10, and the value of X is the smallest at position A of the prediction unit. The prediction unit position B is the prediction unit position for the inter prediction, i.e. a prediction unit having motion reference information 166 in BY, as shown in FIG. 10, and the Y value is the smallest at position B of the prediction unit. When the prediction unit position C is not an external prediction, the motion reference information 166 at the prediction unit position D is replaced with the motion reference information 166 at the prediction unit position C. When the prediction unit positions C and D are not an external prediction, the motion reference information 166 at the prediction unit position E is replaced with the motion reference information 166 at the prediction unit position C.

If the size of the encoding prediction target unit exceeds the size of the smallest prediction unit, the prediction unit Col position Col may store a plurality of motion reference information elements 166 in the time reference motion information memory 502. In this case, the motion reference information 166 in the prediction unit at the position Col is obtained in accordance with the position reference information 164. The position for obtaining motion reference information 166 in the prediction unit at the position Col is hereinafter referred to as the position for obtaining motion reference information. FIG. 13A, 13B, 13C, 13D, 13E, and 13F illustrate examples of a position of obtaining motion reference information for each size of a prediction target unit in coding (32x from 32 to 16x16) when the position reference information 164 indicates the center of the prediction unit at the Col position. In FIG. 13A, 13B, 13C, 13D, 13E, and 13F, each block indicates a 4x4 prediction unit, and the circle indicates the position of the 4x4 prediction unit to be obtained as candidate 951 of the predicted motion information. FIG. 14A, 14B, 14C, 14D, 14E, and 14F illustrate other examples of a position for obtaining motion reference information. Referring to FIG. 14A, 14B, 14C, 14D, 14E, and 14F, 4x4 prediction units do not exist in the circle position, so that the candidate 951 predicted motion information is generated by a predetermined method, such as the average or median, of the motion reference information 166 in four 4x4 prediction units, adjacent to the circle. As yet another example of a position of obtaining motion reference information, motion information 166 of a 4x4 prediction unit located in the upper left corner of the prediction unit at the Col position can also be used as candidate 951 of the predicted motion information. In the case other than the above examples, it is possible to generate a candidate 951 of the predicted motion information by using any position and any method, provided that the method is a predetermined method.

It should be noted that if motion reference information 166 does not exist, motion information 160 having a zero vector is output as candidate 951 of the predicted motion information.

Through the processing described above, at least one candidate 951 of the predicted motion information is derived from the motion reference block. If the reference frame number of the above predicted motion information candidate 951 is different from the reference frame number of the prediction target unit in encoding, the predicted motion information candidate 951 can be scaled by using the reference frame number of the predicted motion information candidate 951 and the reference frame number of the encoding prediction target unit.

The predicted motion information selection switch 902 selects one of the plurality of predicted motion information candidates 951 in accordance with a command from the encoding controller 114 and outputs the predicted motion information 952. The predicted motion information selection switch 902 may also output the position information of the predicted motion information (which will be described later). The above selection can be made by using an evaluation function, such as equation (1) or (2). Subtraction module 903 subtracts the predicted motion vector information 952 from the motion information 160 and outputs the difference motion information 953 to the difference motion information encoder 904. The motion difference information encoder 904 encodes the motion difference information 953 and outputs encoded data 960A. It should be noted that in the skip mode and the merge mode, the encoder 904 of the differential motion information does not need to encode the differential motion information 953.

The predicted motion information position encoder 905 encodes the predicted motion information position information 954 (Mvpidx) indicating which candidate predicted motion information 951 is selected from the list shown in FIG. 12, and outputs encoded data 960B. The predicted motion information position information 954 is encoded by using fixed-length coding or variable-length coding generated from a total number of candidates 951 of predicted motion information. Variable-length coding can also be performed using correlation with adjacent blocks. Furthermore, if the plurality of predicted motion information candidates 951 has the same information, it is also possible to encode the position information of the predicted motion information by generating a code table from the total number of candidates 951 of the predicted motion information from which the same candidates 951 of the predicted motion information are removed. In addition, if the total number of predicted motion information candidates 951 is 1, it is determined that the corresponding predicted motion information candidate 951 is the predicted motion information 952, so that the position information of the predicted motion information does not have to be encoded.

In addition, in the skip mode, the merge mode, and the mutual mode, the methods for deriving the candidate 951 of the predicted motion information need not necessarily be the same, and it is possible to independently determine the methods for deriving the candidate 951 of the predicted motion information. This embodiment is explained by assuming that the same method for deriving the predicted motion information candidate 951 is used in the skip mode and the combining mode, and another method for retrieving the predicted motion information candidate 951 is used in the combining mode.

DETAILS OF MODULE 109 COMPRESSION OF MOVEMENT INFORMATION

First, a process for compressing motion information is explained with reference to FIG. 15. In FIG. 15, the motion reference information 166 of the spatial reference motion information storage device 501 is compressed and stored in the time reference motion information storage device 502. The motion reference information 166, which is stored in the position representing the motion information for each motion information compression unit (in FIG. 15, a 16x16 pixel block) in the spatial reference memory 501, is stored in the temporal motion reference memory 502 area. When performing the above-described process of encoding motion information, the reference motion information 166 stored in the above-described position of obtaining the reference motion information is set as the candidate 951 of the predicted motion information. In this case, you can also assume that the motion information compression unit actually has the same motion reference information 166, and set the motion reference information 166 stored in the above position of the motion reference information as the candidate 951 of the predicted motion information (the same candidate 951 is extracted predicted traffic information).

Next, a motion information compression unit 109 will be explained with reference to the flowchart shown in FIG. 16. When the encoding process of the frame (or an arbitrary unit, such as a clipping unit or coding unit) is completed, the motion information compression 109 compresses the motion information 160 and stores the motion information 160 in the time reference motion information memory 502.

First, the position reference information 164 is obtained from the encoding controller 114 (step S1601), and the frame is divided into motion information compression blocks as compression units of the motion information 160 (step S1602). The motion information compression block is a pixel block larger than one (typically a 4x4 pixel block) by which the motion information 160 is stored by the motion compensation process, and is typically a 16x16 pixel block. The motion information compression unit may also be a block of 64x64 pixels, a block of 32x32 pixels, a block of 8x8 pixels, a rectangular pixel block or a pixel region having an arbitrary shape.

Then, the position representing the movement information is formed in accordance with the position reference information 164 (step S1603). As an example of the formation of the position representing the motion information when the motion information compression unit is a 16x16 pixel block, the position of obtaining the motion reference information when the size of the prediction unit is 16x16, as shown in FIG. 13D, 14D, and 17D are set as the position representing the movement of information. After that, the motion reference information 166 of the generated position representing the motion information is set as the motion information (step S1604), and the motion representing information is stored in the time reference motion information storage device (step S1605). Steps S1604 and S1605 described above are performed for all motion information compression units.

When the unit for storing motion information 160 is an MxM block and the size of the motion information compression block is NxN (N is a multiple of M), the storage capacity of the motion reference information can be reduced to (M x M) / (NxN) by performing the above process compression motion information.

OTHER OPTIONS FOR CARRYING OUT THE POSITION REPRESENTING THE MOVEMENT OF INFORMATION

As another example of forming a position representing motion information, a central position from a plurality of positions for obtaining motion reference information can also be used as a position representing motion information. FIG. 18A and 18B show a position representing motion information of each motion compression unit having a size of 16x16. FIG. 18A shows positions representing motion information when the positions for obtaining motion reference information are positions shown in FIG. 13D. Similarly, FIG. 18B shows positions representing motion information when the positions for obtaining motion reference information are positions shown in FIG. 17D. Symbols • in FIG. 18A and 18B indicate positions for obtaining motion reference information when the prediction unit is a 16x16 block. The position representing the motion information indicated by x is placed in the center position (also called the barycentric position) of the four positions for obtaining motion reference information.

As another other example of the formation of the position representing the motion information, you can also use the position of obtaining the reference motion information for each size of the set of prediction units as the position reference information 164 and generate the position representing the motion information from the plurality of positions of obtaining the reference motion information.

As an example of the formation of a position representing motion information, it is also possible to use the position of obtaining motion reference information for each size of a plurality of prediction units as position reference information 164 and generate a position representing motion information from a plurality of positions of obtaining motion reference information. FIG. 19 shows a center (a position of obtaining motion reference information) of each prediction unit having a prediction unit size of 16x16 or more when the tree block is a block of 64x64 pixels.

As another example of the formation of the position representing the motion information, the position representing the motion information can also be set by using the position to obtain the reference motion information specified for each motion information compression unit. FIG. 20A shows an example where the center of gravity of a plurality of positions for obtaining motion reference information in each motion information compression unit is set as a position representing motion information. If the position of the center of gravity does not coincide with the position of the block in 4x4, you can specify the nearest block in 4x4 as the position representing the movement of information or form the reference vector 166 of the movement of the position of the center of gravity by using interpolation, such as bilinear interpolation.

FIG. 20B shows an example in which one of a plurality of positions for obtaining motion reference information is selected for each motion information compression unit and set as a position representing motion information.

In addition, FIG. 21A and 21B illustrate examples where motion information compression units have the same position of acquiring motion reference information in a tree block. Since all motion information compression blocks have the same position representing the motion information, the positions representing the motion information should not be switched in accordance with the position in the tree block. The position representing the motion information does not have to be those shown in FIG. 21A and 21B, and may be any position, for example, an upper left corner or an upper right corner, in a motion information compression unit.

As an example of forming a position representing motion information, a position representing motion information can also be indicated by using BlkIdx indicating the positions of 4x4 blocks in the motion information compression block in Z-scan order. When the size of the motion information compression block is 16x16, the position representing the motion information shown in FIG. 21A is the equivalent position BlkIdx = 12. In addition, the position representing the motion information shown in FIG. 21B is the equivalent position BlkIdx = 15.

As another example of a motion information compression process, the motion information compression process may also include reference frame numbers in order to reduce the storage capacity of the reference frame numbers. In this case, the reference frame number stored in the position representing the motion information is stored in the storage capacity for reference frame numbers. Accordingly, the spatial reference motion information storage device 501 and the time domain motion information storage device 502 shown in FIG. 5, store reference frame numbers in addition to motion vector information.

As another another example of a motion information compression process, when the motion information compression process does not include a reference frame number, motion vector information in the motion information at a position representing motion information can be scaled by using the reference frame number and stored in the motion information memory 110 . A typical example of a scaling process is a linear scaling process based on the number zero of a reference frame. In other words, if the reference frame number is not zero, the linear scaling process is performed so that the motion vector information refers to the reference frame corresponding to the reference frame number zero. The basis of the above scaling process may also be a value other than the number zero of the reference frame. If the separation occurs during the above linear scaling process, this separation can be implemented by searching in the table of separation processes formed in advance.

When the size of the motion information compression block is not a 16x16 block, the position representing the motion information is generated by using the same processing as described above. As an example, when the size of the motion information compression unit is 64x64, the position of obtaining the motion reference information in the 64x64 prediction unit is set as the position representing the motion information. As another example, a position representing motion information in a 16x16 motion information compression unit shown, for example, in FIG. 21A and 21B may be scaled in the horizontal and vertical directions in accordance with the size of the motion information compression unit, and the scaled position may be set as the position representing the motion information.

If the motion reference information does not exist, since the position representing the motion information is outside the image or clipping, the position at which the motion reference information can be obtained in the motion information compression unit, for example, the upper left corner of the motion information compression unit, can be set as new Positions representing the movement of information. In addition, if the motion reference information does not exist, since the position representing the motion information is an area to which the intra prediction is applied, a new position representing the motion information can be set by performing the same processing.

SYNOPSIS CONFIGURATION

The syntax used by the image encoding apparatus 100 shown in FIG. one.

The syntax indicates the structure of the encoded data (eg, encoded data 163 shown in FIG. 1) obtained when the image encoding apparatus encodes moving image data. When decoding this encoded data, the image decoding apparatus interprets the syntax by referring to the same syntax structure. FIG. 22 shows an example of syntax 2200 used by the image encoding apparatus shown in FIG. one.

Syntax 2200 includes three parts, i.e. high level syntax 2201, clipping level syntax 2202 and coding tree level syntax 2203. High level syntax 2201 contains syntax information of levels higher than clipping. A crop is a rectangular region or a continuous region included in a frame or field. Cut-level syntax 2202 contains the information necessary to decode each cut. The encoding tree level syntax 2203 contains the information necessary to decode each encoding tree (i.e., each unit of the encoding tree). These parts further include detailed syntaxes.

The high level syntax 2201 includes sequence and image level syntaxes, for example, sequence parameter set syntax 2204 and image parameter set syntax 2205. Cut level syntax 2202 includes cut header syntax 2206 and cut data syntax 2207. Encoding tree level syntax 2203 includes encoding tree unit syntax 2208, transform unit syntax 2209, and prediction unit syntax 2210.

Syntax 2208 units of a coding tree may have a structure in the form of a quadrant tree. More specifically, the coding tree unit syntax 2208 may be recursively called as a syntax element for the coding tree unit syntax 2208. In other words, one unit of a coding tree can be subdivided by a tree of quadrants. In addition, the coding tree unit syntax 2208 includes a transform unit syntax 2209 and a prediction unit syntax 2210. The transform unit syntax 2209 and the prediction unit syntax 2210 are invoked in each syntax tree unit syntax 2208 in the farthest part of the quadrant tree. Prediction information is described in prediction unit syntax 2210. Information of the inverse orthogonal transform and quantization is described in the syntax of the transform unit 2209.

FIG. 23 shows examples of sequence parameter set syntax 2204 according to this embodiment. The motion_vector_buffer_comp_flag flag shown in FIG. 23A and 23B is a syntax indicating that compression of motion information according to this embodiment is valid / invalid for a sequence. If motion_vector_buffer_comp_flag is 0, compression of the motion information according to this embodiment is not valid for the sequence. Accordingly, the processing of the motion information compression unit shown in FIG. 1, skipped. As an example, if motion_vector_buffer_comp_flag is 1, compression of motion information according to this embodiment is valid for the sequence. The value of motion_vector_buffer_comp_ratio_log2 shown in FIG. 23A and 23B, is information indicating a unit of the motion information compression process, and is displayed when motion_vector_buffer_comp_flag is 1. For example, motion_vector_buffer_comp_ratio_log2 indicates motion size compression unit information according to this embodiment, and a value obtained by multiplying the smallest unit of motion compensation by 2 ( motion_vector_buffer_comp_ratio_log2) , is the size of the motion information compression block. An example is described below in which the smallest unit of motion compensation is a block of 4x4 pixels, i.e. a motion reference memory device is stored for each block of 4x4 pixels. When motion_vector_buffer_comp_ratio_log2 is 1, the size of the motion information compression block according to this embodiment is an 8x8 pixel block. Similarly, when motion_vector_buffer_comp_ratio_log2 is 2, the size of the motion information compression block according to this embodiment is a 16x16 pixel block. The value of motion_vector_buffer_comp_position shown in FIG. 23B is information indicating a position representing motion information in the motion information compression unit, and is shown when motion_vector_buffer_comp_flag is 1. For example, motion_vector_buffer_comp_position can also indicate the position of the motion reference information in the motion information compression unit, as shown in FIG. 21A and 21B, or indicate the position of the motion reference information in each motion information compression unit, as shown in FIG. 20A and 20B. In addition, motion_vector_buffer_comp_position may further indicate the center of the plurality of blocks.

As another example, the validity / inadmissibility of the prediction according to this embodiment can also be set for each local region in the clipping in level syntaxes (for example, in the syntax of image parameters, clipping level syntax, coding tree unit and conversion unit) below motion_vector_buffer_comp_flag, motion_vector_buffer_comp_ratio_log2 and motion_vector_buffer_comp_position.

FIG. 24 shows an example of the syntax of a prediction unit. The skip_flag flag shown in FIG. 24 indicates whether or not the prediction mode of the coding unit to which the syntax of the prediction unit belongs is a skip mode. If skip_flag is 1, this indicates that syntaxes (coding unit syntax, prediction unit syntax, and conversion unit syntax) other than the position information of the predicted motion information are not encoded. NumMVPCand (L0) and NumMVPCand (L1), respectively, indicate candidate numbers 951 of predicted motion information in prediction from list 0 and prediction from list 1. If candidate 951 predicted motion information exists (NumMVPCand (LX)> 0, X = 0 or 1 ) is encoded by mvp_idx_IX indicating the position information of the predicted motion information 954.

If skip_flag is 0, this indicates that the prediction mode of the coding unit to which the prediction unit syntax belongs is not a skip mode. NumMergeCandidates indicates the number of candidates 951 of the predicted motion information retrieved in FIG. 12, etc. If candidate 951 predicted motion information exists (NumMergeCandidates> 0), merge_flag is encoded as a flag indicating whether or not the prediction unit is a union mode. When the value of merge_flag is 1, the flag indicates that the prediction unit is a union mode. If the value is 0, the flag indicates that the prediction unit is using external mode. If merge_flag is 1 and two or more predicted motion information candidates 951 exist (NumMergeCandidates> 1), merge_idx is encoded as the predicted motion information 952 indicating a block of predicted motion information candidates 951 from which the combining begins.

If merge_flag is 1, the syntax of the prediction unit other than merge_flag and merge_idx need not be encoded.

If merge_flag is 0, this indicates that the prediction unit is external mode. In external mode, mvd_IX is encoded (X = 0 or 1) indicating the difference information of the motion vector contained in the difference information 953 of the motion and the reference frame number ref_idx_IX, and in the case of clipping B, inter_pred_idc is encoded, indicating that the prediction unit is unidirectional prediction (list 0 or list 1) or bidirectional prediction. In addition, NumMVPCand (L0) and NumMVPCand (L1) are obtained, similar to the slip mode. If candidate 951 predicted motion information exists (NumMVPCand (LX)> 0, X = 0 or 1), mvp_idx_IX is encoded indicating position information of the predicted motion information.

The above is the syntax configuration according to this embodiment.

SECOND EMBODIMENT

The second embodiment is directed to an image decoding device. An image encoding apparatus corresponding to an image decoding apparatus according to this embodiment is explained in the first embodiment. In other words, the image decoding apparatus according to this embodiment decodes, for example, encoded data generated by the image encoding apparatus according to the first embodiment.

As shown in FIG. 25, the image decoding apparatus according to this embodiment includes an entropy decoder 2501, an inverse quantizer 2502, an inverse orthogonal transducer 2503, an adder 2504, a reference image memory 2505, an inter prediction module 2506, a motion reference information memory 2507, a reference compression module 2508 motion information and decoding controller 2510.

The image decoding apparatus shown in FIG. 25, decodes the encoded data 2550, stores the decoded image signal 2554 in the output buffer 2511, and outputs the decoded image signal 2554 as the output image. The encoded data 2550 is output, for example, from the image encoding device shown in FIG. 1, and are input to the image decoding apparatus 2500 via a data storage system (not shown) or a transmission system (not shown).

Entropy decoder 2501 performs syntax-based decoding to decode encoded data 2550. Entropy decoder 2501 sequentially entropy decodes the code sequence of each syntax and reproduces encoding parameters such as motion information 2559 and quantized transform coefficient 2551 of the encoding target block. Encoding parameters are parameters necessary for decoding, for example, prediction information, transform coefficient information, and quantization information.

More specifically, as shown in FIG. 26, entropy decoder 2501 includes a splitter 2601, a parameter decoder 2602, a transform coefficient decoder 2603, and motion information decoder 2604. A separator 2601 separates the encoded data 2550 and outputs the encoded parameter data 2651A to the parameter decoder 2602, the encoded transform coefficient data 2651B to the transform coefficient decoder 2603, and the motion information encoded data 2651C to the motion information decoder 2604. Parameter decoder 2602 decodes encoding parameter 2651A, such as prediction information, and outputs encoding parameter 2570 to decoding controller 2510. The transform coefficient decoder 2603 receives the encoded data 2651B, decodes the transform coefficient information 2551, and outputs the decoded information to the inverse quantizer 2502.

The motion information decoder 2604 receives encoded data 2651C from the separator 2601, position reference information 2560 from the decoding controller 2510 and motion reference information 2558 from the motion reference information storage device 2507, and outputs motion information 2559. The output of the motion 2559 is input to the inter prediction module 2506.

As shown in FIG. 27, the motion information decoder 2604 includes a separator 2701, a motion difference decoder 2702, a predicted motion information position decoder 2703, a motion reference information obtaining unit 2704, a predicted motion information selection switch 2705, and an adder 2706.

The encoded motion information data 2651C is input to a separator 2701 and divided into encoded motion difference information 2751 and encoded position information of the predicted motion information. The motion difference information encoder 2702 receives the encoded motion difference information 2751 and decodes the difference motion information 2753. An adder 2706 summarizes the differential motion information 2753 with the predicted motion information 2756 (which is described below) and outputs the motion information 2759. The predicted motion information position decoder 2703 receives the predicted motion information position encoded data 2752 and decodes the predicted motion information position 2754.

The predicted motion information selection switch 2705 takes the position 2754 of the predicted motion information and selects the predicted motion information 2756 from the candidates 2755 of the predicted motion information. The predicted motion information position information 2560 is decoded by using fixed-length decoding or variable-length decoding generated from the candidate 2755 predicted motion information. Variable code length decoding can also be performed using correlation with adjacent blocks. Further, if the plurality of predicted motion information candidates 2755 are the same, the predicted motion information position information 2560 may be decoded based on a code table formed from the total number of predicted motion information candidates 2755 from which the same candidates are removed. In addition, if the total number of predicted motion information candidates 2755 is equal to 1, the corresponding predicted motion information candidate 2755 is determined as the predicted motion information 2556, so that the position information 2754 of the predicted motion information need not be decoded.

The layout and the processing content of the predicted motion information obtaining unit 2704 are the same as the layout and the processing content of the predicted motion information generating unit 901 explained in the first embodiment.

The motion reference information obtaining unit 2704 receives the motion reference information 2558 and the position reference information 2560 and generates at least one candidate 2755 of the predicted motion information (2755A, 2755B, ...). FIG. 10 and 11 illustrate examples of the position of the candidate 2755 predicted motion information relative to the prediction target unit at decoding. FIG. 10 shows the positions of prediction units spatially adjacent to a decoding prediction unit. AX (X = 0 to nA-1) indicates an adjacent prediction unit to the left of the prediction target, BY (Y = 0 to nB-1) indicates an adjacent prediction unit above the prediction target, and C, D, and E, respectively , indicate adjacent prediction units in the upper right corner, upper left corner, and lower left corner of the prediction target unit. FIG. 11 shows the position of the prediction unit in an already decoded reference frame relative to the target prediction unit when decoding. In FIG. 11, Col indicates a prediction unit that exists at the same position as the position of the prediction target unit when decoding in a reference frame. FIG. 12 shows an example of a list indicating a relationship between block positions and Mvpidx indices of a plurality of predicted motion information candidates 2755. The 0-2 Mvpidx indices indicate candidates 2755 of predicted motion vectors located in the spatial domain, and the Mvpidx index 3 indicates candidate 2755 predicted motion vectors located in the time domain. The prediction unit position A is the prediction unit position for the inter prediction, i.e. a prediction unit having motion reference information 2558 in AX, as shown in FIG. 10, and the value of X is the smallest at position A of the prediction unit. The prediction unit position B is the prediction unit position for the inter prediction, i.e. a prediction unit having motion reference information 2558 in BY, as shown in FIG. 10, and the Y value is the smallest at position B of the prediction unit. When the prediction unit position C is not an external prediction, the motion reference information 2558 at the prediction unit position D is replaced with the motion reference information 2558 at the prediction unit position C. When the prediction unit positions C and D are not an external prediction, the motion reference information 2558 at the prediction unit position E is replaced with the motion reference information 2558 at the prediction unit position C.

If the size of the target prediction unit in encoding exceeds the size of the smallest prediction unit, the position Col of the prediction unit may store a plurality of motion reference information elements 2558 in the time reference motion information storage device 2507. In this case, the reference motion information 2558 in the prediction unit at the position Col is obtained in accordance with the reference position information 2560. The position of obtaining reference information 2558 motion in the prediction unit at the position Col is hereinafter referred to as the position of obtaining reference information of the motion. FIG. 13A, 13B, 13C, 13D, 13E, and 13F illustrate examples of a position of obtaining motion reference information for each size of a prediction target unit in coding (32x from 32 to 16x16) when the position reference information 2560 indicates the center of the prediction unit at Col position. In FIG. 13A, 13B, 13C, 13D, 13E, and 13F, each block indicates a 4x4 prediction unit, and the circle indicates the position of the 4x4 prediction unit to be obtained as candidate 2755 of the predicted motion information. FIG. 14A, 14B, 14C, 14D, 14E, and 14F illustrate other examples of a position for obtaining motion reference information. Referring to FIG. 14A, 14B, 14C, 14D, 14E, and 14F, a 4x4 number prediction unit exists in a circle position, so that the predicted motion information candidate 2755 is generated by a predetermined method, such as the average or median, of the motion reference information 2558 in four 4x4 prediction units, adjacent to the circle. As yet another example of a position of obtaining reference motion information, reference information 2558 of a motion of a 4x4 prediction unit located in the upper left corner of a prediction unit at a Col position can also be used as a candidate 2755 of predicted motion information. In the case other than the above examples, it is possible to generate a candidate 2755 of the predicted motion information by using any position and any method, provided that the method is a predetermined method.

It should be noted that if motion reference information 2558 of the motion does not exist, motion information 2559 having a zero vector is output as a candidate 2755 of the predicted motion information.

Through the processing described above, at least one candidate 2755 of the predicted motion information is derived from the motion reference block. If the reference frame number of the above predicted motion information candidate 2755 is different from the reference frame number of the prediction target unit when encoding, the predicted motion information candidate 2755 can be scaled by using the reference frame number of the predicted motion information candidate 2755 and the reference frame number of the encoding prediction target unit. The predicted motion information selector switch 2705 selects one of the plurality of predicted motion information candidates 2755 in accordance with the position of the predicted motion information 2754 and outputs the predicted motion information 952.

The inverse quantizer 2502 obtains the reconstructed transform coefficient 2552 by inverse quantization of the quantized transform coefficient 2551 from the entropy decoder 2501. More specifically, the inverse quantizer 2502 performs inverse quantization in accordance with the quantization information decoded by the entropy decoder 2501. The inverse quantizer 2502 outputs the reconstructed conversion coefficient 2552 to inverse orthogonal transducer 2503.

The inverse orthogonal transform 2503 performs, for the reconstructed transform coefficient 2552 from the inverse quantizer 2502, the inverse orthogonal transform corresponding to the orthogonal transform performed on the encoding side, thereby obtaining the reconstructed prediction error signal 2553. The inverse orthogonal transducer 2503 inputs the reconstructed prediction error signal 2553 into the adder 2504.

An adder 2504 generates a decoded image signal 2554 by summing the reconstructed prediction error signal 2553 with a corresponding predicted image signal 2556. The decoded image signal 2554 is processed by a deblocking filter (not shown) or a Wiener filter (not shown), temporarily stored in the output buffer 2511 for the output image, and also stored in the reference image memory 2505 for the reference image signal 2555. The decoded image signal 2554 stored in the reference image memory 2505 is accessed, as the image reference signal 2555, for each frame or each field, as necessary, by an inter prediction unit 2506. The decoded image signal 2554 temporarily stored in the output buffer 2511 is output in accordance with the timing of the output (clocking) controlled by the decoding controller 2510.

The inter prediction unit 2506 performs inter prediction by using the reference image signal 2555 stored in the reference image memory 2505. More specifically, the inter prediction unit 2506 obtains motion information 2559 containing the motion difference (motion vector) between the prediction target and the image reference signal 2555 from the entropy decoder 2501 and generates an externally predicted image by performing interpolation (motion compensation) based on this motion vector . The formation of the externally predicted image is the same as the formation in the first embodiment, so that a second explanation is omitted.

Decoding controller 2510 controls each element of the image decoding apparatus shown in FIG. 25. More specifically, the decoding controller 2510 outputs the position reference information 2560 (which will be described later) to the entropy decoder 2501 and performs various kinds of control for the decoding process including the operations described above.

EXPLANATION OF PASS MODE, COMBINATION MODE AND MUTUAL MODE

An image decoding apparatus 2500 according to this embodiment uses a plurality of prediction modes using various decoding processes, as shown in FIG. 8. Referring to FIG. 8, the skip mode is a mode that decodes only the syntax associated with the position 2754 of the predicted motion information (which is described below), and does not decode other syntaxes. The merge mode is a mode that decodes only the syntax associated with the position 2754 of the predicted motion information and the information 2551 of the conversion coefficients, and does not decode other syntaxes. The external mode is a mode that decodes the syntax associated with the position 2754 of the predicted motion information, the difference motion information 2753 (which is described below) and the transform coefficient information 2551. These modes are switched by prediction information 2571 controlled by decoding controller 2510.

In addition, the image decoding apparatus shown in FIG. 25 uses syntaxes that are the same or similar to the syntaxes explained with reference to FIG. 22, so that a detailed explanation thereof is omitted.

DETAILS MODULE 2508 COMPRESSION MOVEMENT INFORMATION

Next, a motion information compression module 2508 will be explained with reference to the flowchart shown in FIG. 16. When the decoding process of the frame (or an arbitrary unit, such as a clipping unit or coding unit) is completed, the motion information compression unit 2508 compresses the motion information 2559 and stores the motion information 2559 in the time reference motion information memory 502.

First, position reference information 2560 is obtained from decoding controller 2510 (step S1601), and the frame is divided into motion information compression blocks as compression units of motion information 2559 (step S1602). The motion information compression block is a pixel block larger than one (typically a 4x4 pixel block) by which the motion information 2559 is stored by the motion compensation process, and is typically a 16x16 pixel block. The motion information compression unit may also be a 32x32 pixel block, an 8x8 pixel block, a rectangular pixel block, or a pixel region having an arbitrary shape.

Then, the position representing the motion information is formed in accordance with the position reference information 2560 (step S1603). As an example of the formation of the position representing the motion information when the motion information compression unit is a 16x16 pixel block, the position of obtaining the motion reference information when the size of the prediction unit is 16x16, as shown in FIG. 13D, 14D, and 17D are set as the position representing the movement of information. After that, the motion reference information 2558 of the generated position representing the motion information is set as the motion information (step S1604), and the motion representing information is stored in the time reference motion information storage device (step S1605). Steps S1604 and S1605 described above are performed for all motion information compression units.

When the unit for storing motion information 2559 is an MxM block and the size of the motion information compression block is NxN (N is a multiple of M), the capacity of the motion reference information storage device can be reduced to (MxM) / (NxN) by performing the above information compression process movement.

OTHER OPTIONS FOR CARRYING OUT THE POSITION REPRESENTING THE MOVEMENT OF INFORMATION

As another example of forming a position representing motion information, a central position from a plurality of positions for obtaining motion reference information can also be used as a position representing motion information. FIG. 18A and 18B show a position representing motion information of each motion compression unit having a size of 16x16. FIG. 18A shows positions representing motion information when the positions for obtaining motion reference information are positions shown in FIG. 13D. Similarly, FIG. 18B shows positions representing motion information when the positions for obtaining motion reference information are positions shown in FIG. 17D. Symbols • in FIG. 18A and 18B indicate positions for obtaining motion reference information when the prediction unit is a 16x16 block. The position representing the motion information indicated by x is placed in a central position (also called the center of gravity position) of the four positions for obtaining motion reference information.

As another other example of forming a position representing motion information, it is also possible to use a position of obtaining motion reference information for each size of a plurality of prediction units as reference position information 2560 and to form a position representing motion information from a plurality of positions of obtaining motion reference information. FIG. 19 shows a center (a position of obtaining motion reference information) of each prediction unit having a prediction unit size of 16x16 or more when the tree block is a block of 64x64 pixels.

As another example of the formation of the position representing the motion information, the position representing the motion information can also be set by using the position to obtain the reference motion information specified for each motion information compression unit. FIG. 20A shows an example where the center of gravity of a plurality of positions for obtaining motion reference information in each motion information compression unit is set as a position representing motion information. If the position of the center of gravity does not coincide with the position of the block in 4x4, you can set the nearest block in 4x4 as the position representing the movement of information or generate the reference vector 166 of the movement of the position of the center of gravity by using interpolation, such as bilinear interpolation.

FIG. 20B shows an example in which one of a plurality of positions for obtaining motion reference information is selected for each motion information compression unit and set as a position representing motion information.

In addition, FIG. 21A and 21B illustrate examples where motion information compression units have the same position of acquiring motion reference information in a tree block. Since all motion information compression blocks have the same position representing the motion information, the positions representing the motion information should not be switched in accordance with the position in the tree block. The position of the motion representing information does not have to be one of the positions shown in FIG. 21A and 21B. The position representing the motion information can be any position, for example, the upper left corner or upper right corner, in the compression block of the motion information.

As an example of forming a position representing motion information, a position representing motion information can also be indicated by using BlkIdx indicating the positions of 4x4 blocks in the motion information compression block in Z-scan order. When the size of the motion information compression block is 16x16, the position representing the motion information, as shown in FIG. 21A is the equivalent position BlkIdx = 12. In addition, the position representing the motion information, as shown in FIG. 21B is the equivalent position BlkIdx = 15.

As another example of a motion information compression process, the motion information compression process may also include reference frame numbers in order to reduce the storage capacity of the reference frame numbers. In this case, the reference frame number stored in the position representing the motion information is stored in the storage capacity for reference frame numbers. Accordingly, the spatial reference motion information storage device 501 and the spatial domain motion information storage device 502 shown in FIG. 5, store reference frame numbers in addition to motion vector information.

As another another example of a motion information compression process, when the motion information compression process does not include a reference frame number, motion vector information in the motion information at a position representing motion information can be scaled by using the reference frame number and stored in the motion information memory 110 . A typical example of a scaling process is a linear scaling process based on the number zero of a reference frame. In other words, if the reference frame number is not zero, the linear scaling process is performed so that the motion vector information refers to the reference frame corresponding to the reference frame number zero. The basis of the above scaling process may also be a value other than the number zero of the reference frame. If the separation occurs during the above linear scaling process, this separation can be implemented by searching in the table of separation processes formed in advance.

When the motion information compression unit is not a 16x16 block, a position representing the motion information is generated by using the same processing as described above. As an example, when the size of the motion information compression unit is 64x64, the position of obtaining the motion reference information in the 64x64 prediction unit is set as the position representing the motion information. As another example, a position representing motion information in a 16x16 motion information compression unit shown, for example, in FIG. 21A and 21B may be scaled in the horizontal and vertical directions in accordance with the size of the motion information compression unit, and the scaled position may be set as the position representing the motion information.

If the motion reference information does not exist, since the position representing the motion information is outside the image or clipping, the position at which the motion reference information can be obtained in the motion information compression unit, for example, the upper left corner of the motion information compression unit can be set as a new position representing the movement of information. In addition, if the motion reference information does not exist, since the position representing the motion information is an area to which the intra prediction is applied, a new position representing the motion information can be set by performing the same processing.

Modifications of each embodiment are explained below.

In each of the first and second embodiments, an example is explained in which a frame is divided into rectangular blocks having a size of, for example, 16x16 pixels, and encoding or decoding is performed in order from the upper left block to the lower right block on the screen (see FIG. 2A). However, the encoding order and decoding order are not limited to this example. For example, encoding and decoding can also be performed in order from the lower right block to the upper left block, or performed in a spiral from the center to the edges of the screen. In addition, encoding and decoding can also be performed in order from the upper right block to the lower left block, or performed in a spiral from the edges to the center of the screen.

The first and second embodiments are explained by showing the sizes of the prediction target block, such as a 4x4 pixel block, an 8x8 pixel block and a 16x16 pixel block as an example, but the prediction target block need not have the same block shape. For example, the size of the prediction target block (prediction units) may also be a block of 16x8 pixels, a block of 8x16 pixels, a block of 8x4 pixels, or a block of 4x8 pixels. In addition, all block sizes do not have to be the same in the same unit of the coding tree, and many different block sizes can coexist. When many different block sizes coexist in the same unit of the encoding tree, the amount of code for encoding or decoding the partition information increases as the number of divided blocks increases. Therefore, the block size is preferably selected taking into account the balance between the code size of the partition information and the quality of the locally decoded image or decoded image.

In the first and second embodiments, for simplicity, a comprehensive explanation is provided for the components of a color signal without distinguishing between a luminance signal and color difference signals. However, when different prediction processes are used for the luminance signal and color difference signals, the same prediction method or different prediction methods can be used. When various prediction methods are used for the luminance signal and color difference signals, the prediction method selected for the color difference signals can be encoded or decoded by the same method as the method for the luminance signal.

In the first and second embodiments, for simplicity, a comprehensive explanation is provided for the components of a color signal without distinguishing between a luminance signal and color difference signals. However, when different orthogonal transform processes are used for the luminance signal and color difference signals, the same orthogonal transform method or different orthogonal transform methods can be used. When various orthogonal transform methods are used for the luminance signal and color difference signals, the orthogonal transform method selected for the color difference signals may be encoded or decoded by the same method as the method for the luminance signal.

In the first and second embodiments, a syntax element not defined in the embodiments may be inserted between the rows of the table indicating the configuration of the syntax, or another description related to the conditional branch may also be included. You can also split a syntax table into multiple tables, or integrate multiple tables into a single table. In addition, it is not always necessary to use the same language and freely change the language in accordance with the form of use.

As explained above, each embodiment can implement effective orthogonal transformation and inverse orthogonal transformation while reducing complexity in the hardware and software package. Accordingly, each embodiment improves coding efficiency and also improves the subjective quality of the images.

In addition, instructions indicated by the procedures explained in the above described embodiments may be executed on the basis of the program as software. A general-purpose computer system can achieve benefits similar to those of an image encoding device and an image decoding device according to the above-described embodiments, by first storing the program and reading it. The instructions described in the above embodiments are recorded, as a program executed by a computer, on a magnetic disk (e.g., a floppy disk or hard disk), an optical disk (e.g., CD-ROM, CD-R, CD-RW, DVD -ROM, DVD ± R or DVD ± RW), in a semiconductor memory device or on a recording medium of this type. The storage format of the recording medium may take any form, provided that the medium can be read by a computer or an embedded system. The computer may implement operations similar to those of the image encoding device and image decoding device according to the above-described embodiments, by reading the program from the recording medium and instructing the CPU to execute, based on the program, the instructions described in the program. Of course, the computer can also receive or read the program over the network.

In addition, based on the instructions of the program installed on the computer or in the embedded system from the recording medium, the operating system (OS) running on the computer, database management software or middleware (MW) of the network, etc. may perform part of each processing to implement embodiments.

Furthermore, the recording medium according to the embodiments is not limited to a medium independent of a computer or an embedded system, and includes a recording medium storing or temporarily storing a program transmitted via a LAN or the Internet and downloaded. You can also save the program for implementing the process of each embodiment on a computer (server) connected to a network, such as the Internet, and download the program to a computer (client) over the network.

In addition, the recording medium is not limited to a specific medium. Even when the process of each embodiment is performed from a plurality of media, these media are included in the recording medium according to the embodiments, and the media can take any form.

It should be noted that a computer or embedded system according to embodiments is used to execute each process of embodiments based on a program stored in a recording medium, and may be, for example, a single device, such as a personal computer or microcomputer, or a system obtained by connecting multiple devices over a network.

It should also be noted that the computer according to the options for implementation is not limited to a personal computer and includes a processor or microcomputer included in the information processing device. In other words, a computer is a general term of an apparatus and device capable of implementing the functions of embodiments based on a program.

Although specific embodiments have been described, these embodiments are provided by way of example only and are not intended to limit the scope of the invention. In fact, the new embodiments described herein can be implemented in many other forms; in addition, various omissions, substitutions, and changes in the form of the embodiments described herein may be made without departing from the spirit of the invention. The appended claims and their equivalents are intended to cover such forms and modifications as fall within the scope and spirit of the invention.

Claims (7)

1. A method of encoding an image by dividing the input image signal into pixel blocks and performing an external prediction with respect to the divided pixel blocks, comprising the steps of:
- selecting the predicted motion information from a plurality of elements of motion information in the coded area based on information obtained in accordance with the first information indicating a method for selecting the predicted motion information; and
- predicting motion information of the encoding target block by using said predicted motion information,
wherein said first information comprises second information that sets a position in the encoding target, said second information being used to select said predicted motion information.
2. An image encoding device for dividing an input image signal into pixel blocks and performing an inter prediction on divided pixel blocks, comprising:
- a prediction module for selecting predicted motion information from a plurality of elements of motion information in the coded area based on information obtained in accordance with the first information indicating a method for selecting predicted motion information and predicting motion information of the encoding target block by using said predicted motion information,
moreover, said first information comprises second information that sets a position in the encoding target block, said second information being used to select said motion information.
RU2015146910A 2015-10-30 2015-10-30 Images encoding method and images decoding method RU2615677C1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU2015146910A RU2615677C1 (en) 2015-10-30 2015-10-30 Images encoding method and images decoding method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2015146910A RU2615677C1 (en) 2015-10-30 2015-10-30 Images encoding method and images decoding method

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
RU2013140677/08A Division RU2571538C2 (en) 2011-03-09 2011-03-09 Image encoding method and image decoding method

Publications (1)

Publication Number Publication Date
RU2615677C1 true RU2615677C1 (en) 2017-04-06

Family

ID=58505857

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2015146910A RU2615677C1 (en) 2015-10-30 2015-10-30 Images encoding method and images decoding method

Country Status (1)

Country Link
RU (1) RU2615677C1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060262981A1 (en) * 2002-07-18 2006-11-23 Jeon Byeong M Calculation method for prediction motion vector
RU2310290C2 (en) * 2002-11-06 2007-11-10 Нокиа Корпорейшн Method for buffering images for predicting and displaying standards
JP2008283490A (en) * 2007-05-10 2008-11-20 Ntt Docomo Inc Moving image encoding device, method and program, and moving image decoding device, method and program
US20090067498A1 (en) * 2002-10-04 2009-03-12 Byeong Moon Jeon Method of deriving a motion vector of a bi-predictive block based on a motion vector of a co-located block in a reference picture
WO2009051419A2 (en) * 2007-10-16 2009-04-23 Lg Electronics Inc. A method and an apparatus for processing a video signal

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060262981A1 (en) * 2002-07-18 2006-11-23 Jeon Byeong M Calculation method for prediction motion vector
US20090067498A1 (en) * 2002-10-04 2009-03-12 Byeong Moon Jeon Method of deriving a motion vector of a bi-predictive block based on a motion vector of a co-located block in a reference picture
RU2310290C2 (en) * 2002-11-06 2007-11-10 Нокиа Корпорейшн Method for buffering images for predicting and displaying standards
JP2008283490A (en) * 2007-05-10 2008-11-20 Ntt Docomo Inc Moving image encoding device, method and program, and moving image decoding device, method and program
WO2009051419A2 (en) * 2007-10-16 2009-04-23 Lg Electronics Inc. A method and an apparatus for processing a video signal

Similar Documents

Publication Publication Date Title
JP6552923B2 (en) Motion vector prediction in video coding
JP2016105619A (en) Method and device for encoding intra prediction mode for image prediction unit, and method and device for decoding intra prediction mode for image prediction unit
JP6158420B2 (en) Depth data depth coding mode signaling for 3D-HEVC
CN105191309B (en) Content-adaptive Prediction distance analyzer and hierarchical motion estimation system for next-generation Video coding
JP6284954B2 (en) Simplified mode decision for intra prediction
ES2706476T3 (en) Parallel processing for video encoding
JP2016189598A (en) Coefficient scanning in video coding
JP6591435B2 (en) Block adaptive color space transform coding
JP5960309B2 (en) Video coding using mapped transform and scan mode
CN104170381B (en) In high efficiency video coding and its extension motion vector decoding and it is bi-directional predicted
JP2018113701A (en) Parallax vector derivation in three-dimensional(3d) video coding and simplification of motion vector prediction
US9538187B2 (en) Method and device for encoding and decoding video
JP6356236B2 (en) Depth-directed inter-view motion vector prediction
JP2018509032A (en) Overlapping motion compensation for video coding
US10542281B2 (en) Image encoding method and image decoding method
JP2016076944A (en) Unified merge mode and adaptive motion vector prediction mode candidates selection
JP6594954B2 (en) Integrated intra block copy and inter prediction
JP2018050308A (en) Performing motion vector prediction for video coding
JP6580562B2 (en) Disable intra prediction filtering
JP5788517B2 (en) Entropy coding of coefficients using a joint context model
KR101858885B1 (en) Motion vector determination for video coding
JP6096217B2 (en) View synthesis prediction support signaling in 3D video coding
JP5587508B2 (en) Intra smoothing filter for video coding
DK2854398T3 (en) Method of encoding videos that share SAO parameters by color component
JP6081499B2 (en) Scan-based sliding window in context derivation for transform coefficient coding