EP3709649A1 - Procédé de décodage, appareil de décodage, procédé de codage - Google Patents
Procédé de décodage, appareil de décodage, procédé de codage Download PDFInfo
- Publication number
- EP3709649A1 EP3709649A1 EP20162355.0A EP20162355A EP3709649A1 EP 3709649 A1 EP3709649 A1 EP 3709649A1 EP 20162355 A EP20162355 A EP 20162355A EP 3709649 A1 EP3709649 A1 EP 3709649A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- block
- decoding
- reference index
- difference
- target
- Prior art date
- Legal status (The legal status 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 status listed.)
- Withdrawn
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
- H04N19/517—Processing of motion vectors by encoding
- H04N19/52—Processing of motion vectors by encoding by predictive encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/12—Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
- H04N19/122—Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
- H04N19/139—Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/184—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/573—Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
Definitions
- the present invention relates to a decoding method, a decoding device, and an encoding method, for example, a decoding method and a decoding device for decoding an encoded moving image, and an encoding method for encoding a moving image.
- the image is divided into rectangles called blocks, and a process called motion compensation is performed in units of the rectangles to predict the image and perform compression.
- motion compensation pixel values are copied from the specified position of the image encoded previously by using parameters of a reference index indicating which frame is to be used and a motion vector indicating a position in the frame.
- an area larger than the actual blocks is read, and a filtering process is performed on the area. For example, depending on the standard, a region of 23 ⁇ 23 for 16 ⁇ 16 and a region of 15 ⁇ 15 for 8 ⁇ 8 may be required at the maximum.
- motion compensation there is also a method of performing motion compensation not only from a single image but also from a plurality of images.
- the motion vector of the current block is predicted from the motion vector of the block in the vicinity of the current block, and only the difference between the prediction value and the current motion vector is encoded.
- Patent Document 1 Japanese Unexamined Patent Application Publication 2015-027095
- the decoding method is a decoding method for decoding a bitstream code with a moving picture using a difference between a reference index indicating a frame to be referred to and a predicted value of a motion vector predicted in the frame for each block obtained by dividing each frame of a plurality of frames, wherein a group having a predetermined number of the blocks is defined in each of the frames, a range of the reference index and the difference of the blocks other than the first block in the group is restricted for each group, and the block to be decoded is a first block determining step for determining whether the block to be decoded is the first block of the group, and when the block to be decoded is the first block to be decoded is the first block to be decoded using the reference index and the difference. If the target block is not the first block, a second or subsequent block decoding step of decoding using the limited reference index and the difference is provided.
- a decoding method, a decoding device, and a coding method wherein of making memory accesses efficiency can be provided.
- FIG. 1 is a diagram illustrating a comparative example according to encoding method and a decoding method.
- FIG. 2 is a diagram illustrating an encoding method and a decoding method according to embodiment 1.
- the moving image includes a plurality of frames f01 to f03 and frames f11 to f13 in succession.
- each frame is divided into rectangles called blocks b01 to b04 and b11 to b14.
- a process called motion compensation is performed on a block-by-block basis.
- the moving image is predicted and compressed.
- decoding the encoded bitstream is converted into a moving image.
- a process of copying a pixel value from a specified position of a moving image encoded previously is performed using parameters including a reference index and a motion vector.
- the reference index indicates a frame to be referred to which frame is to be used among a plurality of consecutive frames.
- the motion vector indicates a position in the frame. For example, in the case of encoding and decoding, a motion vector is predicted in advance in a frame, and a difference from the predicted vector is encoded and decoded.
- the encoding method according to the comparative example performs a motion compensating process for blocks b01 to b04 using a plurality of frames f01 and f02.
- the block b01 refers to the value c01 of the frame f01 different from the blocks b02 to b04.
- the values c02 to c04 to be referred to are greatly different from each other.
- the encoding method of the present embodiment defines a group g11 including a plurality of small blocks b11 to b14.
- the small blocks b11 to b14 are blocks in which the number of pixels included in the block is equal to or less than a certain number, or blocks in which the number of divisions in the frame is equal to or more than a certain number.
- a small block is a block in which the number of pixels included in the block is 64 or less.
- the total of the vertical and horizontal pixels is 16 or less.
- the group g11 includes four blocks b11 to b14, but the number of blocks included in the group g11 is not limited to this.
- the following constraints are added to the blocks in the group.
- the frames referenced by the block are made the same in the group.
- Limit the range of motion vectors change the encoding method of the motion vector to one that yields only a limited range of values, make the difference between the motion vectors in the same group within a certain range).
- the predicted values of the motion vectors are made the same in the group (e.g., the predicted value of the motion vector obtained in the first block in the block is made the predicted value in the group, or the motion vector obtained in the first block is used as the predicted value of the remaining motion vectors in the same group) .
- the collective area c11 is accessed without referring to the discrete areas. For this reason, for example, the memory bandwidth in the external memory can be reduced, and at the same time, the address for accessing the external memory can be set to a close value. Therefore, the access efficiency can be improved.
- FIG. 3 is a flow chart illustrating basic concepts of an encoding method and a decoding method according to embodiment 1.
- a decoding case will be described.
- a plurality of groups having a predetermined number of blocks are defined in each frame.
- it is determined whether or not the block to be decoded is the first block in a group in the bitstream. If the target block is the first block of the group, there is normally a difference between the frame to be referenced and the motion vector.
- the reference index is decoded, and as shown in step S13, the difference between the motion vectors is decoded.
- step S11 when the target block is not the first block in the group, that is, in the case of the second and subsequent blocks in the group, there is only a motion vector in which the range of the difference between the motion vectors is limited. Then, as shown in step S14, the difference between the limited motion vectors is decoded. Encoding and decoding are performed using such a basic concept.
- the size of the groups it is possible to vary the size of the blocks to be limited. In some cases, there may be other blocks larger than the size of the group.
- the moving image is encoded into the bitstream by using the difference between the reference index and the predicted value of the motion vector.
- a plurality of groups having a predetermined number of blocks are defined in each frame.
- encoding is performed using the reference index and the difference. If the target block is not the first block, the reference index and the range of the difference are encoded by adding a limitation for each group.
- the decoding method is a decoding method for decoding a bitstream in which a moving image is encoded for each block by the above-described encoding method.
- the target of decoding first, it is determined whether or not the block to be decoded is the first block of the group. Then, if the target block is the first block, it is decoded using the reference index and the difference. If the target block is not the first block, it is decoded using the limited reference index and the difference.
- groups are defined as described above. For example, constraints are provided so that the frames referred to in the blocks in the group are the same and the values of the motion vectors are close to each other. This prevents blocks within a group from referencing discrete locations.
- the reference index is set to the same reference index as that of the first block.
- the prediction value may be the same prediction value as the first block, or the prediction value may be a motion vector of the first block.
- the memory bandwidth of the external memory can be reduced, and the efficiency of memory access can be improved. This is for accessing a group of regions without referring to the discrete regions.
- FIG. 4 is a diagram illustrating a configuration of an encoding device according to embodiment 1.
- the encoding device 10 includes an encoding unit 1009 and a control unit 1008.
- the encoding unit 1009 encodes a moving image into a bitstream by using a difference between a reference index and a prediction value for each block obtained by dividing each frame of a moving image in which a plurality of frames are consecutive.
- the encoding unit 1009 includes a difference circuit (-) 1000, an orthogonal transform circuit (T) 1001, a quantization circuit (Q) 1002, an inverse quantization circuit (IQ) 1003, an inverse orthogonal transform circuit (IT) 1004, an addition circuit (+) 1005, a filtering circuit 1006, a prediction-mode determination circuit (MODE & PREDICTION) 1007, and a stream encoding unit (VLC) 12.
- the input picture signals DVin are divided into blocks and input.
- the difference circuit (-) 1000 obtains a difference between the predicted signal 1011 and the inputted signal DVin for each pixel. Thereafter, the signal is converted into a signal 1010 by an orthogonal transform circuit (T) 1001 and a quantization circuit (Q) 1002. After the conversion, the data stream is encoded by the stream encoding unit 12 and outputted as a data stream BSout. The data stream is also referred to as a bitstream.
- the signal 1010 is inversely transformed into a difference signal by an inverse quantization circuit (IQ) 1003 and an inverse orthogonal transformation circuit (IT) 1004.
- IQ inverse quantization circuit
- IT inverse orthogonal transformation circuit
- the addition circuit (+) 1005 adds the predicted signal 1011 and the predicted signal 1011 for each pixel, and after the filtering process is performed by the filtering circuit 1006, the same image signal (local decoded image) as that obtained by the decoding device is obtained.
- the local decoded image is written in the External memory 1100, and the local decoded image is used in a subsequent treatment of generating the predicted signal 1011.
- the prediction signal 1011 is generated in the prediction mode determination circuit 1007 as follows.
- the input image signal (encoded block) DVin is input to the prediction-mode determination circuit 1007.
- the prediction mode determination circuit 1007 prepares a plurality of candidate vectors for obtaining candidates for a prediction signal of a corresponding encoded block. Then, the prediction mode determination circuit 1007 accesses the encoded region of the External memory 1100 with the address signal 1017 to acquire the pixel signal 1016, and generates a prediction signal based on the specified candidate vector from the acquired pixel signal.
- the prediction mode determination circuit 1007 calculates a prediction error by taking a difference between the input signal DVin (encoded block signal) and the prediction block signal for each pixel.
- the vector 1012 having the smallest prediction error is used for vector prediction, and the prediction signal 1011 corresponding to the vector 1012 used for vector prediction is output.
- the vector 1012 used for vector prediction is a part of the data stream BSout in the stream encoder 12.
- the prediction mode determination circuit 1007 uses a prediction method using a motion vector (motion vector) in the case of inter-frame prediction, and uses a prediction method from surrounding pixels in the case of intra-frame prediction. In addition, the predictive mode determination circuit 1007 generates information required to configure the data stream BSout, and supplies the generated information to the stream encoding unit 12.
- a motion vector motion vector
- the control unit 1008 When encoding a moving image into a bitstream, the control unit 1008 defines a plurality of groups having a predetermined number of blocks in each frame. Then, the control unit 1008 determines whether the target block to be encoded is the first block of the group. When the target block is the first block, the control unit 1008 causes the encoding unit 1009 to encode the target block using the reference index and the difference.
- the encoding unit 1009 is caused to encode the reference index and the difference range by adding a limitation for each group.
- the reference index is the same reference index as the first block.
- the prediction value may be the same prediction value as the first block, or the prediction value may be a motion vector of the first block. If it is not the first block, the value of the motion vector is determined so that the difference between the value of the motion vector and the value of the motion vector of the first block falls within a certain range. In this manner, the encoding device 10 encodes the moving image.
- FIG. 5 is a diagram illustrating a configuration of a decoding device according to embodiment 1.
- the decoding device 20 includes a decoding unit 2006 and a determining unit 2005.
- the decoding device 20 decodes the bitstream in which the moving image is encoded by using the difference between the reference index and the predicted value for each of the blocks obtained by dividing each frame of the moving image in which a plurality of frames are consecutive.
- the decoding device 20 defines a plurality of groups each having a predetermined number of blocks in each frame. Limits for each group are applied to the reference index and the difference range of the blocks other than the first block in the group.
- the decoding device 20 decodes the bitstream in which the moving image is encoded for each of such blocks.
- the decoding unit 2006 decodes a moving image from the bitstream.
- the decoding unit 2006 includes an inverse quantization circuit (IQ) 2000, an inverse orthogonal transform circuit (IT) 2001, an image reproduction circuit (+) 2002, a predictive signal generation circuit (P) 2003, a filtering circuit 2004, and a stream decoding unit (VLD) 21.
- IQ inverse quantization circuit
- IT inverse orthogonal transform circuit
- P predictive signal generation circuit
- VLD stream decoding unit
- the data stream BSin inputted from the External memory 2100 includes a vector used for vector prediction for each of blocks constituting an image, and information of a difference signal with respect to the prediction signal.
- the stream decoder 21 decodes the data stream BSin, and extracts vectors 2013 and difference data 2011 to be used for vector prediction.
- the difference data 2011 is converted into a difference signal 2012 by an inverse quantization circuit (IQ) 2000 and an inverse orthogonal transform circuit (IT) 2001.
- IQ inverse quantization circuit
- IT inverse orthogonal transform circuit
- the prediction signal generation circuit (P) 2003 generates a designated address 2016 of the decoded region of the external memory (External memory) 2100 based on the vector 2013 used for prediction, acquires a pixel signal 2015 of the corresponding address, and generates a pixel signal 2014 of the prediction block.
- the pixel signal 2014 of the generated predicted block is added to the difference signal 2012 in the image reproduction circuit (+) 2002, and the image of the corresponding block is reproduced via the filtering circuit 2004.
- the filtering circuit 2004 reproduces a block by performing a filtering process on an area having more pixels than the target block.
- the filtering process is, for example, a process of reducing an error.
- the reproduced image is written in the External memory 2100, and is used as a candidate for occurring a predicted image at the time of reproducing an image of a subsequent block.
- the signal of the occurred image is output as an output signal and displayed on a display device such as a TV.
- the prediction signal generation circuit 2003 uses the vector 2013 used for vector prediction as a motion vector, and in the case of intra frame prediction, the prediction signal generating circuit 2003 predicts pixels from vicinity regions.
- information constituting the data stream BSin is decoded by the stream decoding unit 21, and the decoded information is used in processes such as the predictive signal generation unit 2003.
- the determination unit 2005 determines whether the block to be decoded is the first block of the group. When the target block is the first block, the determination unit 2005 causes the decoding unit 2006 to decode the block using the reference index and the difference.
- the determination unit 2005 causes the decoding unit 2006 to decode the block using the limited reference index and the difference. Specifically, when the target block is not the first block, the determination unit 2005 causes the decoding unit 2006 to decode the target block using the same reference index as the first block. When the target block is not the first block, the determination unit 2005 may cause the decoding unit 2006 to decode the block using the same prediction value as the first block as the prediction value, or may cause the decoding unit 2006 to decode the block using the motion vector of the first block as the prediction value.
- a group including a plurality of blocks is defined, and the difference between the reference index and the prediction value in the group is limited. Therefore, the blocks in the group do not refer to different locations, and memory access can be made more efficient.
- the addresses of the external memories can be brought close to each other, so that memory access can be made efficient.
- the blocks in the group are small blocks in which the number of pixels is equal to or less than a certain number or the number of divisions is equal to or more than a certain number.
- the worst case of the amount of data read from the external memory becomes enormous, but in the present embodiment, it is possible to suppress an increase in the amount of data by sharing the reference index and the prediction value within the group.
- FIGs. 6 to 8 are a syntax exemplifying a decoding method according to embodiment 2. The number of lines in the page is shown outside the frame.
- FIG. 9 is a diagram illustrating merging in a decoding process according to embodiment 2.
- a branch is occurred by "cu_skip_flag".
- Skipping is one of the prediction methods.
- “cu_skip_flag” is 1, the mode is considered to be a mode ("merge") in which all of the prediction direction ("inter_pred_idc”), the reference index, and the motion vector are copied from the surrounding blocks. Only the data on the "merge” (from which surrounding blocks to copy) is decoded.
- the prediction direction indicates a direction in which there is a frame used for prediction with respect to the time axis. The prediction direction is referred to as the forward direction when it is in front, the backward direction when it is in back, and the both forward and backward directions when it is in front and back.
- the prediction directions, referenced index, and motion vectors are not decoded from the bitstream, but are copied from the surroundings.
- the difference values of the prediction directions, the reference frame, and the motion vector are decoded from the bitstream.
- not_first_block indicating whether or not the block is the first block in the group.
- not_first_block 1
- only the difference of the motion vector is decoded without decoding the reference index or the like.
- the decoding of the motion vector at this time is based on the assumption that the range of possible values is small.
- the prediction direction and reference index not decoded from the bitstream are the same as the first block in the group. As a result, the prediction direction and the reference index are the same within the group, and there is no large motion vector difference.
- the "slice_type" in the 18th line of FIG. 6 indicates that a frame is referred to, and B indicates that up to two frames can be used. Instead of B, in the case of P, one sheet is used.
- "inter_pred_idc" in the 19th line of FIG. 6 indicates the direction of prediction whether one sheet or two sheets are used.
- the variable "not_first_block” is reset to 0 at the time of group switching. When even one block is decoded, the variable becomes 1 as in line 30 of FIG. 7 .
- FIG. 10 is a flow chart illustrating a decoding process according to embodiment 2.
- FIG. 10 is a flowchart showing the basic concept of the decoding method in the above program.
- step S21 of FIG. 10 it is determined whether the block is the first block of the group. In the case of the first block, "not_first_block” is set to 0 as shown in step S22. Then, as shown in step S23, "merge_flag" is read in. On the other hand, if the block is not the first block in step S21, the process advances to step S23 to read "merge_flag".
- step S24 it is determined whether or not "merge_flag” is 1. That is, it is determined whether or not to merge.
- “merge_flag” is 1, it is determined that "not_first_block” is 0 as shown in step S25.
- step S25 when “not_first_block” is 0, that is, in the case of the first block, merging is performed as shown in step S26.
- step S32 when “not_first_block” is not 0, that is, in the case of the second and subsequent blocks, the process proceeds to step S32.
- step S24 when “merge_flag” is not 1 in step S24, it is determined that "not_first_block” is 0 as shown in step S27. When “not_first_block” is 0, it is the first block in the group. Therefore, as shown in steps S28, S29, and S30, decoding is performed using the difference between the prediction direction, the reference index, and the motion vector. In the present embodiment, the prediction direction is also enencoded in the bitstream. Therefore, decoding is performed using the prediction direction in addition to the difference between the reference index and the prediction value of the motion vector.
- step S27 when "not_first_block” is not 0, it is the second and subsequent blocks in the group. Therefore, as shown in step S31, decoding is performed using the difference from the prediction value of the limited motion vector.
- step S32 "not_first_block” is set to 1. Repeat from “Start” to "done” for the blocks. In this way, the bitstream can be decoded.
- the block to be decoded before determining whether the block to be decoded is the first block of the group, it is determined whether the block to be decoded is the target of merging. In the case of merging, the prediction direction, the reference index, and the motion vector are not decoded from the bitstream but copied from the targets. If it is not the subject of merging, it is first determined whether the first blocks of the groups are based on the basic concepts of the embodiment 1. Then, the processing proceeds between the first block and the second and subsequent blocks in different cases.
- the basic concepts of the embodiment 1 can be applied to the decoding process of the moving image coding standard WC. Therefore, even in the decoding process of the moving image coding standard WC, it is possible to suppress an increase in the amount of data. Memory access can be made more efficient.
- Other configurations and advantages are included in the embodiment 1 description.
- the prediction direction is not known until the prediction direction performs the motion vector prediction process.
- the prediction direction performs the motion vector prediction process.
- inter_pred_idc the prediction direction
- inter_pred_idc the prediction direction
- FIGs. 11 and 12 are syntax diagrams illustrating third embodiment according to decoding methods. As shown in FIGs. 11 and 12 , in the embodiment 2, the decoding method controlled only by "not_fitst_block” is controlled by two variables, “merge_decoded” and “pred_idc_decoded” as shown in lines 8, 20 and 27 of FIG. 11 .
- FIG. 13 is a flow chart illustrating a decoding process according to embodiment 3.
- step S41 of FIG. 13 it is determined whether the block is the first block of the group.
- “merge_decoded” and “pred_idc_decoded” are set to 0 as shown in step S42.
- the case where "merge_decoded” is 0 and the case where "pred_idc_decoded” is 0 are indicated by "cond 1".
- step S43 "merge_flag” is read in.
- step S43 the process advances to step S43 to read "merge_flag".
- step S44 it is determined whether "merge_flag” is 1.
- “merge_flag” is 1, it is determined whether “cond 1" is satisfied as shown in S45. If “cond 1" is satisfied in step S45, merging is performed as shown in step S46. If “cond 1” is not satisfied, "merge_decoded” is set to 1 as shown in S47.
- step S48 when “merge_flag” is not 1 in step S44, it is determined that "pred_idc_decoded” is 0 as shown in step S48.
- "pred_idc_decoded” is 0, "inter_pred_idc” is decoded as shown in step S49.
- the present embodiment includes the step of decoding the prediction direction. Then, the process proceeds to step S50.
- "pred_idc_decoded” is not 0 in step S48, the process proceeds to step S50.
- step S50 it is determined whether or not "cond 1" is satisfied.
- the reference index and the difference between the reference index and the motion vector are decoded from the bitstream as shown in steps S51 and S52. If “cond 1" is not satisfied in step S50, a difference from the predicted values of the limited motion vectors is decoded from the bitstream as shown in step S53.
- step S54 "pred_idc_decoded” is set to 1. Repeat from “Start” to "done” for the blocks. In this way, the bitstream can be decoded.
- the prediction direction (inter_pred_idc) is not decoded in the group
- the prediction direction (inter_pred_idc) is decoded from the bitstream.
- the prediction direction obtained on the basis of the surrounding data in the "merge” blocks and the prediction direction decoded from the bitstream do not coincide with each other due to a factor such as mixing errors in the bitstream.
- the predicted directions of the blocks of "merge” are prioritized.
- the difference between the motion vectors that are not decoded is treated as 0, and the difference between the unnecessary vectors is discarded, so that the decoding process can be performed even when a discrepancy occurs.
- the value of "inter_pred_idc" may be given priority.
- FIG. 14 is a flow chart illustrating another decoding process according to embodiment 3.
- the present decoding method enables blocks in subsequent groups to select an arbitrary direction as a prediction direction when "inter_pred_idc" decoded first in the group is "BI_PRED". This considers that, when the first block is "BI_PRED", the required memory bandwidth does not change even if the subsequent prediction direction is not limited. That is, since "BI PRED" has the maximum number of planes to be referred to, there is no change in the maximum number of planes to be referred to regardless of the prediction direction of the subsequent blocks. "BI_PRED” indicates, for example, a case where two sheets are referred to.
- inter_pred_idc the first "inter_pred_idc” decoded in the group as well as whether “inter_pred_idc” has been deencoded. If it is "BI_PRED”, decryption of "inter_pred_idc" is performed. Specifically, for example, when the prediction direction of the first block is both the forward and backward directions, decoding is performed using the prediction direction from the bitstream in the second and subsequent blocks.
- step S61 of FIG. 14 it is determined whether the block is the first block of the group.
- “merge_deencoded” is set to 0
- "pred_idc_decoded” is set to 0
- “first_pred_idc” is set to "UNI_PRED”.
- step S63 "merge_flag” is read in. On the other hand, if it is not the first block, the process proceeds to step S63. Then, "merge_flag" is decoded.
- step S64 it is determined whether or not "merge_flag” is 1.
- “merge_flag” it is determined whether "cond 1" is satisfied as shown in S65. If “cond 1" is satisfied in step S65, merging is performed as shown in step S66. Then, the process proceeds to step S67. On the other hand, when “cond 1" is not satisfied, the process proceeds to S67. In step S67, "merge_decoded" is set to 1.
- step S64 it is determined whether “cond 2" is satisfied as shown in step S68. If “cond 2" is satisfied, “inter_pred_idc” is decoded as shown in S69. Then, as shown in step S70, it is determined that "pred_idc_decoded” is 0. When “pred_idc_decoded” is 0, "first_pred_idc” is set to "inter_pred idc” as shown in step S71. Then, the process proceeds to step S72. On the other hand, if “pred_idc_decoded” is not 0 in step S70, the process proceeds to step S72. On the other hand, if “cond 2" is not satisfied in step S68, the process proceeds to step S72.
- step S76 "pred_idc_decoded” is set to 1. Repeat from “Start” to "done” for the blocks. In this way, the bitstream can be decoded.
- the image quality can be improved while maintaining the memory bandwidth of the external memory.
- Other configurations and effects are included in the description of the embodiments 1 and 2.
- decoding program and encoding program which cause a computer to execute the decoding method and encoding method, and the following encoding device also fall within the technical concept of the embodiments 1 to 3.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Discrete Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019043469A JP2020150294A (ja) | 2019-03-11 | 2019-03-11 | 復号方法、復号装置及び符号化方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
EP3709649A1 true EP3709649A1 (fr) | 2020-09-16 |
Family
ID=69804626
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP20162355.0A Withdrawn EP3709649A1 (fr) | 2019-03-11 | 2020-03-11 | Procédé de décodage, appareil de décodage, procédé de codage |
Country Status (4)
Country | Link |
---|---|
US (1) | US20200296409A1 (fr) |
EP (1) | EP3709649A1 (fr) |
JP (1) | JP2020150294A (fr) |
CN (1) | CN111683246A (fr) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110293012A1 (en) * | 2010-05-27 | 2011-12-01 | The Hong Kong University Of Science And Technology | Motion estimation of images |
JP2015027095A (ja) | 2011-01-19 | 2015-02-05 | ルネサスエレクトロニクス株式会社 | 画像符号化方法及び画像復号方法 |
WO2018210315A1 (fr) * | 2017-05-18 | 2018-11-22 | Mediatek Inc. | Procédé et appareil de contrainte de vecteur de mouvement pour codage vidéo |
-
2019
- 2019-03-11 JP JP2019043469A patent/JP2020150294A/ja not_active Withdrawn
-
2020
- 2020-02-20 CN CN202010106772.9A patent/CN111683246A/zh active Pending
- 2020-03-06 US US16/811,943 patent/US20200296409A1/en not_active Abandoned
- 2020-03-11 EP EP20162355.0A patent/EP3709649A1/fr not_active Withdrawn
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110293012A1 (en) * | 2010-05-27 | 2011-12-01 | The Hong Kong University Of Science And Technology | Motion estimation of images |
JP2015027095A (ja) | 2011-01-19 | 2015-02-05 | ルネサスエレクトロニクス株式会社 | 画像符号化方法及び画像復号方法 |
WO2018210315A1 (fr) * | 2017-05-18 | 2018-11-22 | Mediatek Inc. | Procédé et appareil de contrainte de vecteur de mouvement pour codage vidéo |
Non-Patent Citations (6)
Title |
---|
ANONYMOUS: "The H.264 Advanced Video Compression Standard, 2nd Edition, chapter 6, "H.264 Prediction", Iain E. Richardson", NOT KNOWN,, 20 April 2010 (2010-04-20), XP030001637 * |
MCCANN (ZETACAST) K ET AL: "HEVC Test Model 3 (HM 3) Encoder Description", no. JCTVC-E602, 10 July 2011 (2011-07-10), XP030228255, Retrieved from the Internet <URL:http://phenix.int-evry.fr/jct/doc_end_user/documents/5_Geneva/wg11/JCTVC-E602-v2.zip JCTVC-E602-d2.doc> [retrieved on 20110710] * |
UGUR K ET AL: "CE3: Interpolation filter with shorter tap-length for small PU's", 6. JCT-VC MEETING; 97. MPEG MEETING; 14-7-2011 - 22-7-2011; TORINO; (JOINT COLLABORATIVE TEAM ON VIDEO CODING OF ISO/IEC JTC1/SC29/WG11 AND ITU-T SG.16 ); URL: HTTP://WFTP3.ITU.INT/AV-ARCH/JCTVC-SITE/,, no. JCTVC-F248, 1 July 2011 (2011-07-01), XP030009271 * |
YANG SHIH-HSUAN ET AL: "HEVC fast reference picture selection", ELECTRONICS LETTERS, IEE STEVENAGE, GB, vol. 51, no. 25, 10 December 2015 (2015-12-10), pages 2109 - 2111, XP006072915, ISSN: 0013-5194, DOI: 10.1049/EL.2015.3094 * |
ZHOU M ET AL: "Sub-8x8 PU coding with fixed reference index", 6. JCT-VC MEETING; 97. MPEG MEETING; 14-7-2011 - 22-7-2011; TORINO; (JOINT COLLABORATIVE TEAM ON VIDEO CODING OF ISO/IEC JTC1/SC29/WG11 AND ITU-T SG.16 ); URL: HTTP://WFTP3.ITU.INT/AV-ARCH/JCTVC-SITE/,, no. JCTVC-F070, 1 July 2011 (2011-07-01), XP030009093 * |
ZHOU: "MV Spread in sub-8x8 Partitions: More Results", 5. JVT MEETING; 14-10-2002 - 18-10-2002; GENEVA, CH; (JOINT VIDEO TEAMOF ISO/IEC JTC1/SC29/WG11 AND ITU-T SG.16 ),, no. JVT-E041, 18 October 2002 (2002-10-18), XP030005456 * |
Also Published As
Publication number | Publication date |
---|---|
JP2020150294A (ja) | 2020-09-17 |
CN111683246A (zh) | 2020-09-18 |
US20200296409A1 (en) | 2020-09-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4788649B2 (ja) | 動画像記録方法及びその装置 | |
US9503728B2 (en) | Image processing device, decoding method, intra-frame decoder, method of decoding intra-frame and intra-frame encoder | |
US20110255598A1 (en) | Method for performing local motion vector derivation during video coding of a coding unit, and associated apparatus | |
US20060093039A1 (en) | Video image encoding method and video image encoding apparatus | |
US11778226B2 (en) | Storage of motion information for affine mode | |
EP4030761A1 (fr) | Procédé de prédiction de vecteur de déplacement dans un codage et un décodage vidéo, appareil et dispositif | |
CN113678437A (zh) | 用于帧内平滑的方法和装置 | |
US8594192B2 (en) | Image processing apparatus | |
JP2005318297A (ja) | 動画像符号化・復号方法及び装置 | |
JP5677576B2 (ja) | 動画像復号化方法及び動画像符号化方法 | |
JP6209026B2 (ja) | 画像符号化装置及びその制御方法 | |
US20240163432A1 (en) | Picture decoding device, picture decoding method, and picture decoding program | |
CN114830665B (zh) | 仿射运动模型限制 | |
US20200413083A1 (en) | Image coding apparatus, image coding method, and storage medium | |
US6353683B1 (en) | Method and apparatus of image processing, and data storage media | |
EP3709649A1 (fr) | Procédé de décodage, appareil de décodage, procédé de codage | |
JP2016158282A (ja) | 動画像予測復号方法及び動画像予測復号装置 | |
CN114503559B (zh) | 用于视频译码中的帧间预测装置和方法的插值滤波器 | |
JP7552819B2 (ja) | 画像符号化装置、画像符号化方法及び画像符号化プログラム、並びに画像復号化装置、画像復号化方法及び画像復号化プログラム | |
US12126792B2 (en) | Displacement vector prediction method and apparatus in video encoding and decoding and device | |
JP5957513B2 (ja) | 動画像復号化方法 | |
WO2021111595A1 (fr) | Procédé de génération de filtre, dispositif de génération de filtre et programme | |
JP6519185B2 (ja) | 動画像符号化装置 | |
US20220377356A1 (en) | Video encoding method, video encoding apparatus and computer program | |
JP2019033535A (ja) | 動画像予測復号方法及び動画像予測復号装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE APPLICATION HAS BEEN PUBLISHED |
|
AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
AX | Request for extension of the european patent |
Extension state: BA ME |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN |
|
18D | Application deemed to be withdrawn |
Effective date: 20210317 |