VIDEO ENCODING METHOD, VIDEO ENCODING APPARATUS AND COMPUTER PROGRAM
20220377356 · 2022-11-24
Assignee
Inventors
Cpc classification
H04N19/105
ELECTRICITY
International classification
H04N19/23
ELECTRICITY
H04N19/105
ELECTRICITY
Abstract
A video encoding method includes: a provisional image generation step of generating one provisional image from a plurality of frames to be coded; a transformation step of transforming the generated provisional image to a transformed image having the same number of pixels as that of each of the plurality of frames to be coded; and a prediction image generation step of generating a prediction image for each of the frames to be coded, using the transformed image as a reference image.
Claims
1. A video encoding method comprising: a provisional image generation step of generating one provisional image from a plurality of frames to be coded; a transformation step of transforming the generated provisional image to a transformed image having the same number of pixels as that of each of the plurality of frames to be coded; and a prediction image generation step of generating a prediction image for each of the frames to be coded, using the transformed image as a reference image.
2. The video coding method according to claim 1, wherein in the prediction image generation step, a reference region corresponding to a region to be coded in the reference image and having a different number of pixels from the number of pixels of the region to be coded is specified using a relationship between the frames to be coded used when generating the provisional image.
3. The video coding method according to claim 1, wherein the plurality of frames to be coded have the same number of pixels, and in the transformation step, the provisional image is transformed such that the number of pixels of each of the frames to be coded matches the number of pixels of the provisional image.
4. The video coding method according to claim 1, wherein in the transformation step, rotation or shearing processing is further executed for the provisional image.
5. A video coding device comprising: a processor; and a storage medium having computer program instructions stored thereon, when executed by the processor, perform to: generating one provisional image from a plurality of frames to be coded; transforming the generated provisional image to a transformed image having the same number of pixels as that of each of the plurality of frames to be coded; and generating a prediction image for each of the frames to be coded, using the transformed image as a reference image.
6. A non-transitory computer-readable medium having computer-executable instructions that, upon execution of the instructions by a processor of a computer, cause the computer to function as the video coding method of claim 1.
Description
BRIEF DESCRIPTION OF DRAWINGS
[0011]
[0012]
[0013]
[0014]
[0015]
[0016]
DESCRIPTION OF EMBODIMENTS
[0017] An embodiment of the coding method of the present invention will be described in detail with reference to the drawings.
[Summary]
[0018]
[0019] The resizing unit 20 generates a transformed sprite image by performing image processing on the initial sprite image. This is because VVC implements image processing (affine transformation), which was not supported up to HEVC, and thus the created initial sprite image can be transformed to a transformed sprite image of a desired size. The size of the transformed sprite image is smaller than the initial sprite image. The size of the transformed sprite image is, for example, the same as the size of each frame to be coded included in the video signal. The coding unit 30 applies the transformed sprite image as a long-term reference frame, and codes each frame to be coded included in the video signal.
[0020] Thus, the coding device 100 generates the initial sprite image that is larger than each frame to be coded, and transforms the initial sprite image so as to have the same size as the frame to be coded. As a result, coding efficiency can be improved in a coding technique in which the number of pixels of a reference image is required to be the same as the number of pixels of an image to be coded. The details of the coding device 100 will be described below.
[Details]
[0021]
[0022] Next, the resizing unit 20 generates the transformed sprite image by performing image processing including resizing processing on the initial sprite image (step S103). The size of the transformed sprite image is smaller than the initial sprite image. The size of the transformed sprite image is, for example, the same as the size of each frame to be coded included in the video signal. If all frames to be coded included in the video signal have the same size, these frames to be coded and the transformed sprite image all have the same size.
[0023] It is desirable that the transformed sprite image includes an image of an entire region included in the initial sprite image. It is therefore desirable that image reduction processing is used to generate the transformed sprite image. Further, rotation processing and/or shearing processing may also be used to generate the transformed sprite image. In this case, to generate the transformed sprite image, a combination of a reduced image and rotation processing may be used, or a combination of a reduced image and shearing processing may be used, or a combination of a reduced image, rotation processing, and shearing processing may be used. For such image processing, for example, affine transformation may be applied.
[0024] The transformed sprite image generated by the resizing unit 20 is used as a long-term reference frame by the coding unit 30. For example, the transformed sprite image is saved as the long-term reference frame in a frame memory included in the coding unit 30 (step S104).
[0025] After the transformed sprite image has been saved as the long-term reference frame (step S101—YES), coding processing is performed for each of the frames to be coded included in the input video signal, using the long-term reference frame and a frame that has already been decoded and can be referenced. Existing coding processing may be applied for this coding processing. In the present embodiment, the VVC coding processing is applied as mentioned above. Specifically, the coding unit 30 performs motion compensation for the frames to be coded, using the long-term reference frame (step S105). The coding unit 30 generates a prediction image for each frame to be coded by performing motion compensation.
[0026] When generating the prediction image, the coding unit 30 may specify a reference region that corresponds to a region to be coded in the transformed sprite image and has a different number of pixels from the number of pixels of the region to be coded, using the relationship between the frames to be coded used when generating the initial sprite image. The coding unit 30 may perform transformation processing on the transformed sprite image in motion compensation. Transformation processing is processing for transforming an image, and is, for example, processing such as scaling processing, rotation processing, or shearing processing. Such transformation processing may be executed using affine transformation. Since such transformation processing is performed, it is possible to obtain substantially the same effects as those obtained when the sprite image is used as the long-term reference frame even if the transformed sprite image generated by reducing the initial sprite image is used as the long-term reference frame. That is, for example, even if the transformed sprite image is generated by reducing the initial sprite image, it is possible to obtain the same effects as those obtained when the initial sprite image is used as a reference image, by enlarging the transformed sprite image to the same size as the initial sprite image and then using the enlarged transformed sprite image as the reference image.
[0027] Thereafter, the coding unit 30 generates a prediction residual signal by subtracting the prediction signal obtained through motion compensation and the video signal of the frames to be coded. The coding unit 30 performs a discrete cosine transform on the prediction residual signal (step S106), and performs quantization processing (step S107). The coding unit 30 then generates coded data by performing coding processing on the quantized prediction residual signal (step S108).
[0028]
[0029] The coding program may be recorded in a computer-readable recording medium. The computer-readable recording medium refers to, for example, a portable medium such as a flexible disk, a magneto-optical disk, a ROM, or a CD-ROM, or a non-transitory storage medium including a storage device such as a hard disk built in a computer system. The coding program may be transmitted over a telecommunication line. Some or all of the operations of the sprite generation unit 10, the resizing unit 20, and the coding unit 30 may be, for example, realized by using hardware including an electronic circuit using an LSI, an ASIC, a PLD, or an FPGA.
[0030]
[0031] The coding conditions as follows. VVC reference software VTM6.1 was used as an encoder. The coding structure is Low Delay B, and the base quantization parameters (QP) are 22, 27, 32, and 37. In default coding settings, the use of affine motion compensation is on (Affine=1), but the settings were changed to AffineAmvr=1, AffineAmvrEncOpt=1 in the expectation that affine motion compensation is to be more actively used. Initially, sprites were coded as long-term reference frames with a QP 10 smaller than the base QP, and then the entire input sequence was coded. PSNR was evaluated without the sprites, and the code volume was evaluated with the sprite.
[0032]
[0033] As described above, the coding device 100 of the present embodiment generates an initial sprite image that is larger than each frame to be coded, and the initial sprite image is transformed to the same size as the frame to be coded. For this reason, the advantages of using the sprite image can also be obtained in a coding technique in which the number of pixels of a reference image is required to be the same as the number of pixels of an image to be coded. As a result, coding efficiency can be improved.
[0034] Although the embodiment of this invention has been described above in detail with reference to the drawings, the specific configuration is not limited to this embodiment, and also encompasses design or the like made within the scope that does not deviate from the gist of this invention.
INDUSTRIAL APPLICABILITY
[0035] The present invention is applicable to techniques for coding images.
REFERENCE SIGNS LIST
[0036] 100 Coding device [0037] 10 Sprite generation unit [0038] 20 Resizing unit [0039] 30 Coding unit