Abstract:
An image coding method includes: selecting a first picture from plural pictures (S141); setting a first temporal motion vector prediction flag which is associated with the first picture and is a temporal motion vector prediction flag indicating whether or not temporal motion vector prediction is to be used, to indicate that the temporal motion vector prediction is not to be used, and coding the first temporal motion vector prediction flag (S142); coding the first picture without using the temporal motion vector prediction (S143); and coding a second picture which follows the first picture in coding order, with referring to a motion vector of a picture preceding the first picture in coding order being prohibited (S144).
Get Free WhatsApp Updates!
Notices, Deadlines & Correspondence
[DESCRIPTION]
[Title of Invention] IMAGE CODING METHOD, IMAGE DECODING METHOD, IMAGE CODING APPARATUS, IMAGE DECODING APPARATUS, AND IMAGE CODING AND DECODING APPARATUS
[Technical Field]
[0001]
The present invention relates to an image coding method and an image decoding method.
[Background Art]
[0002]
In state of the art coding schemes such as H.264/MPEG-4 AVC and the next-generation High-Efficiency Video Coding (HEVC), images and image content are coded or decoded using inter prediction which makes use of a previously coded or decoded reference picture, In this manner, in these image coding schemes, information redundancy across temporally consecutive pictures is exploited (for example, see Non Patent Literature (NPL) 1). [Citation List] [Non Patent Literature]
[0003]
[NPL 1] ISO/IEC 14496-10 "MPEG-4 Part 10 Advanced Video Coding"
[Summary of Invention] [Technical Problem]
[0004]
Improvement of robustness is desired from such an image coding method and image decoding method.
[0005]
In view of this, the present invention has as an object to provide an image coding method and an image decoding method that are capable of improving robustness.
[Solution to Problem]
[0006]
In order to achieve the aforementioned object, an image coding method according to an aspect of the present invention includes: (A) selecting a first picture from plural pictures; (B) setting a first temporal motion vector prediction flag which is associated with the first picture and is a temporal motion vector prediction flag indicating whether or not temporal motion vector prediction is to be used, to indicate that the temporal motion vector prediction is not to be used, and coding the first temporal motion vector prediction flag; (C) coding the first picture without using the temporal motion vector prediction; and (D) coding a second picture which follows the first picture in coding order, with referring to a motion vector of a picture preceding the first picture in coding order being prohibited.
[0007]
It should be noted that general and specific aspects described above may be implemented using a system^ a method, an integrated circuit, a computer program, or a computer-readable recording medium such as a CD-ROM, or any combination of systems, methods, integrated circuits, computer programs, or computer-readable recording media.
[Advantageous Effects of Invention]
[0008]
The present invention can provide an image coding method and an image decoding method which are capable of improving robustness.
[Brief Description of Drawings]
[0009]
[FIG. 1] FIG. 1 is a block diagram of an image coding apparatus according to Embodiment 1.
[FIG. 2] FIG. 2 is a flowchart of the image coding method according to Embodiment 1.
[FIG. 3] FIG. 3 is a flowchart of the image coding method according to Embodiment 1.
[FIG. 4A] FIG. 4A is a flowchart of the image coding method according to Embodiment 1.
[FIG. 4B] FIG. 4B is a diagram for describing the image coding method according to Embodiment 1.
[FIG. 4C] FIG. 4C is a diagram for describing the image coding method according to Embodiment 1.
[FIG. 5] FIG. 5 is a flowchart of a modification of the image coding method according to Embodiment 1.
[FIG. 6] FIG. 6 is a diagram showing an exemplary configuration of a coded bitstream according to Embodiment 1.
[FIG. 7] FIG. 7 is a block diagram of an image decoding apparatus according to Embodiment 1.
[FIG. 8] FIG. 8 is a flowchart of an image decoding method according to Embodiment 1.
[FIG. 9] FIG. 9 is a flowchart of the image decoding method according to Embodiment 1.
[FIG. 10] FIG. 10 is a diagram of an overall configuration of a content providing system for implementing content distribution services.
[FIG. 11] FIG. 11 is a diagram of an overall configuration of a digital broadcasting system.
[FIG. 12] FIG. 12 is a block diagram showing an example of a configuration of a television.
[FIG. 13] FIG. 13 is a block diagram showing an example of a configuration of an information reproducing/recording unit that reads and writes information from or on a recording medium which is an optical disk.
[FIG. 14] FIG. 14 is a diagram showing an example of a configuration of a recording medium that is an optical disk.
[FIG. 15A] FIG. 15A is a diagram showing an example of a cellular phone.
[FIG. 15B] FIG. 15B is a block diagram showing an example of a configuration of a cellular phone.
[FIG. 16] FIG. 16 is a diagram showing a structure of multiplexed data.
[FIG. 17] FIG. 17 is a diagram schematically illustrating how each stream is multiplexed in multiplexed data.
[FIG. 18] FIG. 18 is a diagram showing in more detail how a video stream is stored in a stream of PES packets.
[FIG. 19] FIG. 19 is a diagram showing a structure of TS packets and source packets in the multiplexed data.
[FIG. 20] FIG. 20 is a diagram illustrating a data structure of a PMT.
[FIG. 21] FIG. 21 is a diagram showing an internal structure of multiplexed data information.
[FIG. 22] FIG. 22 is a diagram showing an internal structure of stream attribute information.
[FIG. 23] FIG. 23 is a diagram showing steps for identifying video data.
[FIG. 24] FIG. 24 is a block diagram illustrating an example of a configuration of an integrated circuit for implementing the moving picture coding method and the moving picture decoding method according to each of embodiments.
[FIG. 25] FIG. 25 is a diagram showing a configuration for switching between driving frequencies.
[FIG. 26] FIG. 26 is a diagram showing steps .for identifying video data and switching between driving frequencies.
[FIG. 27] FIG. 27 is a diagram showing an example of a look-up table in which video data standards are associated with driving frequencies.
[FIG. 28A] FIG. 28A is a diagram illustrating an example of a configuration for sharing a module of a signal processing unit.
[FIG. 28B] FIG. 28B is a diagram showing another example of a configuration for sharing a module of the signal processing unit.
[Description of Embodiments]
[0010]
(Underlying Knowledge Forming Basis of the Present Invention)
The inventors have observed the occurrence of the following problems in relation to the prior art.
[0011]
An image decoding apparatus identifies, a reference picture used in the inter prediction of a prediction unit (a M x N sample block, etc.), by using a reference index. The reference index is an index that is assigned to each of one or more reference pictures included in a reference picture list. Furthermore, the reference picture list is an ordered list indicating one or more reference pictures. Furthermore, the reference index is uniquely associated with a reference picture in the decoded picture buffer (DPB).
[0012]
In the state of the art image coding schemes, temporal prediction of motion vectors is performed. The motion vectors of a target sample block are predicted from motion vectors of one or more previously coded sample blocks included in a co-located reference picture. The co-located reference picture is selected from among available reference pictures by using a predetermined scheme. For example, the first reference picture is selected, as the co-located reference picture, from among reference pictures included in a predetermined reference picture list (such as the reference picture list 0).
[0013]
In applications requiring transmission of images using irreversible compression, temporal motion vector prediction is susceptible to erroneous prediction of motion vector when the co-located reference picture is lost or contains errors. In the conventional HEVC image coding scheme, a marking flag is introduced in a picture parameter set (PPS) to mark all pictures included in the decoder picture buffer (DPB) as "unused for temporal motion vector prediction". This marking process is performed when a slice refers to a PPS having a marking flag indicating "TRUE".
[0014]
The inventors have observed that, in this scheme, there is the problem that when the slice on which marking is to be performed is lost or contains error, a video decoder cannot perform the intended marking process and subsequent synchronization between encoder and decoder. As such, the aforementioned scheme for disabling temporal motion vector prediction is not robust.
[0015]
In the embodiments, methods that improve error robustness in an image coding method and an image decoding method that disable temporal motion vector prediction shall be described. The image coding method and image decoding method according to the embodiments can eliminate the process of marking reference pictures as "unused for temporal motion vector prediction", thereby eliminating the error susceptibility in the aforementioned scheme. The advantageous effect of the embodiments is improving error robustness of temporal motion vector prediction.
[0016]
An image coding method according to an aspect of the embodiments includes: (A) selecting a first picture from plural pictures; (B) setting a first temporal motion vector prediction flag which is associated with the first picture and is a temporal motion vector prediction flag indicating whether or not temporal motion vector prediction is to be used, to indicate that the temporal motion vector prediction is not to be used, and coding the first temporal motion vector prediction flag; (C) coding the first picture without using the temporal motion vector prediction; and (D) coding a second picture which follows the first picture in coding order, with referring to a motion vector of a picture preceding the first picture in coding order being prohibited.
[0017]
Accordingly, the second picture following the first picture is prohibited from referring to a motion vector of a picture preceding the first picture. Accordingly, the image coding method is capable of preventing the propagation of error across the first picture, and is thus capable of improving robustness.
[0018]
For example, a temporal level may be set to each of the pictures, and, in step (A), a picture having a highest temporal level may be selected as the first picture, from among the: pictures.
[0019]
Accordingly, a picture having a high priority is set as the first picture. .This can more appropriately prevent error propagation.
[0020]
For example, step (D) may include: (Dl) judging whether or not the second picture has a co-located reference picture which precedes the first picture in coding order; (D2) when the second picture has a co-located reference picture which precedes the first picture in coding order: (i) setting a second temporal motion vector prediction flag, which is a temporal motion vector prediction flag associated with the second picture, to indicate that the temporal motion vector prediction is not to be used; (ii) coding the second temporal motion vector prediction flag; and (iii) coding the second picture without using the temporal motion vector prediction; and (D3) when the second picture does not have a co-located reference picture which precedes the first picture in coding order: (i) setting the second temporal motion vector prediction flag to indicate that the temporal motion vector prediction is to be used or indicate that the temporal motion vector prediction is not to be used; (ii) coding the second temporal motion vector prediction flag; and (iii) coding the second picture using or without using the temporal motion vector prediction.
[0021]
For example, step (D) may include: (Dl) judging whether or not the second picture precedes the first picture in display order; (D2) judging whether or not the second picture has a co-located reference picture which precedes the first picture in coding order or in display order; (D3) when the second picture follows the first picture in display order and has a co-located reference picture which precedes the first picture in coding order or display order: (i) setting a second temporal motion vector prediction flag, which is a temporal motion vector prediction flag associated with the second picture, to indicate that the temporal motion vector prediction is not to be used; (ii) coding the second temporal motion vector prediction flag; and (iii) coding the second picture without using the temporal motion vector prediction; and (D4) when the second picture precedes the first picture in display order, or when the second picture follows the first picture in display order and has a co-located reference picture which precedes the first picture in coding order or display order: (i) setting the second temporal motion vector prediction flag, which is the temporal motion vector prediction flag associated with the second picture, to indicate that the temporal motion vector prediction is not to be used; (ii) coding the second temporal motion vector prediction flag; and (iii) coding the second picture without using the temporal motion vector prediction.
[0022]
For example, in step (B), the first temporal motion vector prediction flag indicating that the temporal motion vector prediction is not to be used may be written into a header for each slice included in the first picture.
[0023]
Accordingly, the first picture can be set by using, on a slice basis, a flag indicating whether or not temporal motion vector prediction is to be used. With this, improvement of robustness can be realized while suppressing an increase in the amount of data of the coded bit stream.
[0024]
For example, the image coding method may further include: (E) creating a first list indicating plural motion vector predictors that include a temporal motion vector predictor derived from a motion vector of a co-located reference picture, when the temporal motion vector prediction flag indicates that the temporal motion vector prediction is to be used; and (F) creating a second list indicating plural motion vector predictors that do not include the temporal motion vector predictor, when the temporal motion vector prediction flag indicates that the temporal motion vector prediction is not to be used.
[0025]
Accordingly, the amount of data when temporal motion vector prediction is not to be used can be reduced.
[0026]
Furthermore, an image decoding method according to an aspect of the embodiments includes: (A) obtaining, from a bitstream, a first temporal motion vector prediction flag, which is a temporal motion vector prediction flag indicating whether or not temporal motion vector prediction is to be used, indicating that temporal motion vector prediction is not to be used on a first picture; (B) decoding the first picture without using the temporal motion vector prediction; and (C) decoding a second picture which follows the first picture in decoding order, with referring to a motion vector of a picture preceding the first picture in decoding order being prohibited.
[0027]
Accordingly, the second picture following the first picture is prohibited from referring to a motion vector of a picture preceding the first picture. Accordingly, the image decoding method is capable of preventing the propagation of error across the first picture, and is thus capable of improving robustness.
[0028]
For example, a temporal level may be set to each of plural pictures, and the first picture may be a picture having a highest temporal level among the pictures.
[0029]
Accordingly, a picture having a high priority is set as the first picture. This can more appropriately prevent error propagation.
[0030]
For example, in step (A), the first temporal motion vector prediction flag indicating that the temporal motion vector prediction is not to be used may be obtained from a header of each slice included in the first picture.
[0031]
Accordingly, the first picture can be set by using, on a slice basis, a flag indicating whether or not temporal motion vector prediction is to be used. With this, improvement of robustness can be realized while suppressing an increase in the amount of data of the coded bit stream.
[0032]
For example, the image decoding method may further include: (D) creating a first list indicating plural motion vector predictors that include a temporal motion vector predictor derived from a motion vector of a co-located reference picture, when the temporal motion vector prediction flag indicates that the temporal motion vector prediction is to be used; and (E) creating a second list indicating plural motion vector predictors that do not include the temporal motion vector predictor, when the temporal motion vector prediction flag indicates that the temporal motion vector prediction is not to be used.
[0033]
Accordingly, the amount of data when temporal motion vector prediction is not to be used can be reduced.
[0034]
Furthermore, an image coding apparatus according to an aspect of the embodiments includes: a setting unit configured to select a first picture from plural pictures and set a first temporal motion vector prediction flag which is associated with the first picture and is a temporal motion vector prediction flag indicating whether or not temporal motion vector prediction is to be used, to indicate that the temporal motion vector prediction is not to be used; and a coding unit configured to (i) code the first temporal motion vector prediction flag, (ii) code the first picture without using the temporal motion vector prediction, and (iii) code a second picture which follows the first picture in coding order, with referring to a motion vector of a picture preceding the first picture in coding order being prohibited.
[0035]
According to this configuration, the second picture following the first picture is prohibited from referring to a motion vector of a picture preceding the first picture. Accordingly, the image coding apparatus is capable of preventing the propagation