The present invention relates to a technique of coding a video.
In the real-time video communications, it is desired to reduce the time (delay time) from obtainment of a picture on a video transmission side to displaying of the picture on a video reception side. There is known a technique called the intra-slice or the intra-column as one of the techniques for reducing the delay time in coding and decoding of a video.
The video coding using the intra-slice does not use an intra-coded picture (I-picture) that is obtained by encoding a coding block independently only within a frame (intra). Instead, an intra-slice region in which a coding block is forcedly intra-coded is moved from the top to the bottom on a picture-by-picture basis, thereby achieving the refresh.
Patent document 1: International Publication No. WO 2012/121211
A coding block included in the intra-slice region is an intra-block on which intra-coding is performed. On the other hand, a non-intra-slice region other than the intra-slice region contains both an intra-block on which intra-coding is performed and an inter-block on which inter-coding is performed. Depending on features of the video, a required bitrate, and so on, the image quality may differ between the intra-slice region and the non-intra-slice region. For this reason, the coding using the intra-slice has a problem that the movement of the intra-slice region can be seen in a decoded video, and the visual image quality may deteriorate in some cases.
The present invention is made in view of the above problem, and an object thereof is to suppress deterioration of the visual image quality in the coding using the intra-slice.
In order to solve the above problem, a video coding device according to an aspect of the present invention is a video coding device configured to move an intra-slice region in which a coding block is intra-coded on a picture-by-picture basis, including: an intra-slice controller configured to set the intra-slice region in each intra-slice picture; an intra-predictor configured to intra-code a coding block; and an inter-predictor configured to inter-code a coding block, in which the intra-slice controller is configured to insert a non-intra-slice picture including no intra-slice region between the intra-slice pictures.
In order to solve the above problem, a method of video coding according to an aspect of the present invention is a method of video coding involving moving an intra-slice region in which a coding block is intra-coded on a picture-by-picture basis, including the steps of: setting the intra-slice regions in intra-slice pictures; and inserting a non-intra-slice picture including no intra-slice region between the intra-slice pictures.
According to the present invention, it is possible to suppress deterioration of the visual image quality in the coding using the intra-slice.
Embodiments of the present invention are described below with reference to the drawings. Each embodiment mainly described below is about the “intra-slice” to which the present invention is applied, the intra-slice using a belt-shaped region extending in the transverse direction in a picture as an aggregate of pixels on which intra-coding is forcedly performed. However, the present invention can be also applied to the “intra-column” using a belt-shaped region extending in the vertical direction in a picture. Hereinafter, unless stated otherwise, the intra-slice and the intra-column are not discriminated and are simply referred to as the “intra-slice” while describing the embodiments according to the present invention.
The adder A subtracts a prediction image generated by the intra-predictor 17 or the inter-predictor 18 from an input picture to generate a prediction residual. The orthogonal transformer 11 performs orthogonal transformation such as the discrete cosine transform on the prediction residual, which is an output from the adder A. The quantizer 12 uses a quantization parameter outputted from the quantization controller 14 to quantize a transformation coefficient of the prediction residual on which the orthogonal transformation is performed. The variable-length encoder 13 encodes the quantized transformation coefficient of the prediction residual by a predetermined coding method that can perform invertible processing to output encoded data. The quantization controller 14 determines the quantization parameter by using the input picture, the amount of generated codes indicated by information such as the amount of data outputted by the variable-length encoder 13, and intra-slice information indicating the position and the width for inserting an intra-slice region.
The output from the quantizer 12 is inputted to both the variable-length encoder 13 and the inverse quantizer 15. The inverse quantizer 15 performs inverse quantization on the output from the quantizer 12 to decode the transformation coefficient of the prediction residual. The inverse orthogonal transformer 16 performs inverse orthogonal transformation on the output from the inverse quantizer 15 to decode the prediction residual. The adder B adds the prediction residual decoded by the inverse orthogonal transformer 16 to the prediction image generated by the intra-predictor 17 or the inter-predictor 18 to generate a local decode image.
The intra-predictor 17 generates the prediction image by performing within-image prediction (intra-prediction) based on pixel values of the local decode image using the correlation between adjacent pixels. The inter-predictor 18 generates the prediction image by performing inter-image prediction (inter-prediction) using motion information on a coding target that is detected from a previous or future frame of the local decode image.
Depending on the determination made by the intra-slice controller 20, the switch 19 switches between outputs from the intra-predictor 17 and the inter-predictor 18 for each coding target block and selectively outputs the prediction image. The video coding device 1 generates encoded data complying with the video coding standards such as H.264/AVC and H.265/HEVC, and many processings are performed in each block. When the coding target block is included in the intra-slice region, the switch 19 selects the intra-prediction. On the other hand, when no coding target block is included in the intra-slice region, the switch 19 selects the inter-prediction. When no coding target block is included in the intra-slice region, the switch 19 may switch between the intra-predictor 17 and the inter-predictor 18 depending on the prediction efficiency. The prediction image generated by the intra-predictor 17 or the inter-predictor 18 is outputted to the adders A and B.
Based on an input picture number, the intra-slice controller 20 determines whether to insert a picture for which no intra-slice is used. When the intra-slice is used, the position in which the intra-slice region is arranged and the width of the intra-slice region are determined. Hereinafter, a picture for which the intra-slice is used is referred to as an intra-slice picture, and a picture for which no intra-slice is used is referred to as a non-intra-slice picture.
Next, the operation of inserting the intra-slice region by the video coding device 1 of this embodiment is described.
Based on the input picture number, the intra-slice controller 20 determines whether to use the intra-slice (step S11). Specifically, the intra-slice controller 20 determines whether to use the intra-slice while inserting one non-intra-slice picture for every n input pictures (n is an integer of 2 or greater).
When it is determined to use the intra-slice, the intra-slice controller 20 determines the position into which the intra-slice region is inserted (step S12).
Subsequently, the operation by the switch 19 is described.
The switch 19 determines whether the coding target block is included in the intra-slice region (step S21).
When the coding target block is included in the intra-slice region, the switch 19 selects the intra-prediction and switches the input source of the switch 19 to the output of the intra-predictor 17 (step S22).
When no coding target block is included in the intra-slice region, the switch 19 selects the inter-prediction and switches the input source of the switch 19 to the output of the inter-predictor 18 (step S23).
Subsequently, the operation by the inter-predictor 18 is described.
In the non-intra-slice picture 100D, for an already-refreshed region 120D, the inter-predictor 18 performs the inter-prediction while allowing a reference to only a refreshed region 150C in the reference picture 100C. For an unrefreshed region 130D in the non-intra-slice picture 100D, the inter-predictor 18 performs the inter-prediction while allowing a reference to the entire region of the reference picture 100C.
In the intra-slice picture 100E referring to the non-intra-slice picture 100D, for an already-refreshed region 120E above the intra-slice region 110E, the inter-predictor 18 performs the inter-prediction while allowing a reference to only the already-refreshed region 120D in the non-intra-slice picture 100D for reference. For the intra-slice region 110E, the intra-predictor 17 performs the intra-prediction. For a region 130E below the intra-slice region 110E, the inter-predictor 18 performs the inter-prediction while allowing a reference to the entire region of the non-intra-slice picture 100D for reference.
In the description with reference to
Although the description is omitted in
In view of this, for the already-refreshed region 120D in the non-intra-slice picture 100D, the inter-predictor 18 performs the inter-prediction while allowing a reference to only a region including no lowermost coding block of the refreshed region 150C in the picture 100C for reference. This makes it possible to avoid deterioration of the image quality due to the filtering.
The regions for reference in the intra-slice picture and the non-intra-slice picture in the case in which the successive intra-slice regions are overlapped with each other may be set as follows. A case of setting the width of overlapping of the intra-slice regions to eight pixel rows is described below. For a region including no lowermost eight pixel rows of the already-refreshed region 120D of the non-intra-slice picture 100D, the inter-predictor 18 performs the inter-prediction while allowing a reference to only the region including no lowermost eight pixel rows of the refreshed region 150C in the picture 100C for reference. For the unrefreshed region 130D in the non-intra-slice picture 100D and eight pixel rows above the unrefreshed region 130D, the inter-predictor 18 performs the inter-prediction while allowing a reference to the entire region of the picture 100C for reference.
In the intra-slice picture 100E referring to the non-intra-slice picture 100D, for the already-refreshed region 120E above the intra-slice region 110E, the inter-predictor 18 performs the inter-prediction while allowing a reference to only the region including no lowermost eight pixel rows of the already-refreshed region 120D in the non-intra-slice picture 100D for reference. For the intra-slice region 110E, the intra-predictor 17 performs the intra-prediction. For the region 130E below the intra-slice region 110E, the inter-predictor 18 performs the inter-prediction while allowing a reference to the entire region of the non-intra-slice picture 100D for reference.
Next, variations of the intra-slice are described.
In the example of
When the example of
It is possible to further reduce the refreshing time by moving the intra-slice regions 110 from the two end sides of the picture toward the center as illustrated in
In the example of
When the example of
As the intra-slice regions 110 moved from the two end sides of the picture toward the center appear alternately as illustrated in
As described above, according to the embodiments, in the video coding device 1 using the intra-slice to move the intra-slice region in which the intra-coding is performed on a picture-by-picture basis, the intra-slice controller 20 inserts the non-intra-slice picture including no intra-slice region between the intra-slice pictures including the intra-slice regions. This reduces the number of the intra-slice pictures per unit time, and thus the difference of the image qualities between the intra-slice regions becomes less likely to be visually noticed.
Number | Date | Country | Kind |
---|---|---|---|
2017-102617 | May 2017 | JP | national |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/JP2018/019690 | 5/22/2018 | WO | 00 |