Video encoding device, video decoding device, video encoding method, and video decoding method

Adaptive control of intra prediction image ranges in video encoding and decoding devices addresses the increased buffer size issue by limiting the image range to a maximum, thereby reducing line buffer requirements and improving efficiency.

JP2025175131AActive Publication Date: 2025-11-28NEC CORP
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2025157648
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2018-06-26
Filing Date
2025-09-24
Publication Date
2025-11-28
Estimated Expiration
2039-02-14

AI Technical Summary

Technical Problem

The expansion of the range of images used for intra prediction in video encoding and decoding increases the size requirements for line buffers, posing a challenge in video encoding and decoding devices.

Method used

Adaptive control of the range of images used for intra prediction by limiting it to a maximum range that can be used across the ends of a coding tree unit, with additional constraints to ensure contiguous use of multiple lines when necessary, thereby reducing line buffer size requirements.

Benefits of technology

This approach effectively reduces the size requirement for line buffers in video encoding and decoding devices by adaptively controlling the image range used for intra prediction, enhancing efficiency and reducing memory demands.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025175131000001_ABST
    Figure 2025175131000001_ABST
Patent Text Reader

Abstract

To provide a video encoding or video decoding device, a video encoding or video decoding method, a program, and a recording medium with which it is possible to adaptively control a use range of an image used for in-screen prediction.SOLUTION: An in-screen prediction device includes a control section that, on the basis of a relation between a position of a candidate image used for in-screen prediction for a processing target block and a position of a unit to which the processing target block belongs, controls a partial range used for the in-screen prediction over an end of the unit in a predetermined direction, within a use range of an image used for the in-screen prediction, to be equal to or less than a predetermined maximum range.SELECTED DRAWING: Figure 7
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to a video encoding or video decoding device, a video encoding or video decoding method, a program for video encoding or video decoding processing, and a recording medium. [Background technology]

[0002] In intra-prediction coding, an intra-prediction image is generated from reconstructed images adjacent to a target block. For example, in the High Efficiency Video Coding (HEVC) standard described in Non-Patent Document 1, an intra-prediction image is generated by setting reconstructed images corresponding to one pixel adjacent to the left of the target block and one pixel adjacent to the upper side of the target block as reference ranges. [Prior art documents] [Non-patent literature]

[0003] [Non-Patent Document 1] R. Joshi et al., "High Efficiency Video Coding (HEVC) Screen Content Coding: Draft 5" document JCTVC-V1005, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO / IEC JTC 1 / SC 29 / WG 11, 22nd Meeting: Geneva, CH, 15-21 Oct. 2015. Summary of the Invention [Problem to be solved by the invention]

[0004] However, when the range of images used for intra prediction is expanded, the size of the line buffers used in the video encoding device and the video decoding device increases accordingly, which is a problem. Therefore, it is desirable to adaptively control the range of images used for intra prediction.

[0005] An object of the present invention is to provide a video encoding or video decoding device, a video encoding or video decoding method, a program, and a recording medium that enable adaptive control of the range of use of images used in intra-frame prediction. [Means for solving the problem]

[0006] According to one aspect of the present invention, a video encoding or decoding device includes a control unit that controls the range of use of an image used for intra-screen prediction for a current block, and the control unit controls the range of use to be equal to or less than a first maximum range that can be used for intra-screen prediction across the ends of a coding tree unit in an upward direction, and when the range of use is not controlled to be equal to or less than the first maximum range, controls the range of use to be equal to or less than a second maximum range that is larger than the first maximum range, and when the range of use is controlled to be equal to or less than the second maximum range, the range of use includes a plurality of lines, at least one of which is used for intra-screen prediction for the current block, and all of the plurality of lines are arranged contiguously.

[0007] According to one aspect of the present invention, a video encoding or decoding method includes controlling a range of an image used for intra-frame prediction for a current block, the controlling including controlling the range of use to be equal to or less than a first maximum range that can be used for intra-frame prediction across an end of a coding tree unit in an upward direction, and, if the range of use is not controlled to be equal to or less than the first maximum range, controlling the range of use to be equal to or less than a second maximum range that is larger than the first maximum range, and if the range of use is controlled to be equal to or less than the second maximum range, the range of use includes a plurality of lines, and at least one of the plurality of lines is used for intra-frame prediction for the current block, and all of the plurality of lines are arranged contiguously. [Effects of the Invention]

[0008] According to one aspect of the present invention, it is possible to adaptively control the range of images used for intra prediction. Note that the present invention may achieve other effects instead of or in addition to the effect of the present invention. [Brief explanation of the drawings]

[0009] [Figure 1] FIG. 1 is a diagram showing a specific example of a reconstructed image used for intra-frame prediction in the HEVC standard described above for a processing target block that is configured with four horizontal pixels bw and four vertical pixels Bh. [Figure 2] FIG. 2 shows a specific example of an expanded reference range for a processing target block that is made up of four horizontal pixels bw and four vertical pixels Bh. [Figure 3] FIG. 3 is an explanatory diagram showing an example of a schematic configuration of an intra-screen prediction device 100 according to an embodiment of the present invention. [Figure 4] FIG. 4 is a block diagram showing an example of a schematic configuration of the area control processing unit 110 according to the first embodiment. [Figure 5] FIG. 5 is a diagram for explaining a specific example of processing by the area control processing unit 110. In FIG. [Figure 6] FIG. 6 is a flowchart illustrating an example of the flow of processing performed by the intra-screen prediction device 100. [Figure 7] FIG. 7 is a diagram for explaining the effects according to the example of the first embodiment. [Figure 8] FIG. 8 is a block diagram showing a schematic configuration of a video encoding device 800. As shown in FIG. [Figure 9] FIG. 9 is a block diagram showing a schematic configuration of a video decoding device 900. As shown in FIG. [Figure 10] FIG. 10 is a block diagram showing a schematic configuration of an information processing system 100 to which the intra-screen prediction device 100 is applied. [Figure 11]FIG. 11 is a diagram showing a system in which the above-mentioned video encoding device 800 and the above-mentioned video decoding device 900 are connected via a transmission path 300 such as a wireless transmission path or a wired transmission path. [Figure 12] FIG. 12 is a block diagram showing an example of a schematic configuration of a video encoding device 800 according to the second embodiment. [Figure 13] FIG. 13 is a block diagram showing an example of a schematic configuration of a video decoding device 900 according to the second embodiment. DETAILED DESCRIPTION OF THE INVENTION

[0010] Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. In this specification and drawings, elements that can be similarly described will be designated by the same reference numerals, and redundant description will be omitted.

[0011] The explanation will be given in the following order: 1. Related technologies 2. Overview of the embodiment 3. First embodiment 3.1. Configuration of intra-screen prediction device 100 3.2. Technical Features 3.3.Example 3.4.Application Examples 3.5. Variations 4. Second embodiment Configuration 4.2. Technical Features 5. Other forms

[0012] <<1. Related Technology>> As a technique related to the embodiment of the present invention, intra-frame prediction performed in video encoding processing and video decoding processing will be described.

[0013] As described in Reference 1 below, for example, in intra-frame prediction coding according to the High Efficiency Video Coding (HEVC) standard, an intra-frame prediction image is generated from a reconstructed image adjacent to a target block. Reference 1: R. Joshi et al., "High Efficiency Video Coding (HEVC) Screen Content Coding: Draft 5" document JCTVC-V1005, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO / IEC JTC 1 / SC 29 / WG 11, 22nd Meeting: Geneva, CH, 15-21 Oct. 2015.

[0014] 1 is a diagram showing a specific example of a reconstructed image used for intra-prediction in the HEVC standard for a processing target block that is configured with four horizontal pixels bw and four vertical pixels Bh. Also, as shown in FIG. 1, the reference range of the reconstructed image referenced for intra-prediction is one pixel in the left direction Kleft and one pixel in the up direction Kup.

[0015] Furthermore, in the following reference documents 2 and 3, it is proposed to expand the reference range used in intra prediction in order to improve the prediction efficiency of intra prediction. Reference 2: J. Pfaff et al., "Intra prediction modes based on neural networks", JVET-J0037, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO / IEC JTC 1 / SC 29 / WG 11 10th Meeting: San Diego, US, 10-20 Apr. 2018. Reference 3: P. Lin et al., "Multiple reference line intra prediction based on JEM7.0", JVET-J0070, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO / IEC JTC 1 / SC 29 / WG 11 10th Meeting: San Diego, US, 10-20 Apr. 2018.

[0016] For example, Fig. 2 shows a specific example of an expanded reference range for a processing target block consisting of four horizontal pixels bw and four vertical pixels Bh. As shown in Fig. 2, the reference range for referencing the reconstructed image is four pixels to the left (Kleft) and four pixels to the up (Kup).

[0017] <<2. Overview of the embodiment>> First, an outline of the embodiment of the present invention will be described.

[0018] (1)Technical issues As described above, when the range of use (reference range) of images used in intra-frame prediction is expanded, there is a problem in that the size requirements for the line buffers used in the video encoding device and the video decoding device increase.

[0019] Specifically, when the number of horizontal pixels of a picture to be coded is w pixels, the pixel bit precision is bitDepth bits, and the upward range Kup of the reference image used for intra prediction is expanded from 1 pixel to 4 pixels, the required size of the line buffer increases from w*bitDepth bits to w*bitDepth*4 bits. For this reason, it is desirable to adaptively control the range of images used for intra prediction.

[0020] Therefore, an object of this embodiment is to adaptively control the range of images used in intra-picture prediction.

[0021] (2) Technical Features In an embodiment that is one aspect of the present invention, for example, based on the relationship between the position of a candidate image used for intra-screen prediction for a block to be processed and the position of a unit to which the block to be processed belongs, a partial range of the range of use of images used for the intra-screen prediction that spans the edge of the unit in a predetermined direction is controlled to be equal to or less than a predetermined maximum range.

[0022] This makes it possible to adaptively control the range of images used in intra-frame prediction, for example.

[0023] The above-described technical features are specific examples of embodiments of the present invention, and it goes without saying that the embodiments of the present invention are not limited to the above-described technical features.

[0024] <<3. First Embodiment>> A first embodiment of the present invention will be described with reference to FIGS.

[0025] 3.1. Configuration of the intra-screen prediction device 100 An example of the configuration of the intra prediction device 100 according to the first embodiment will be described with reference to Fig. 3. Fig. 3 is an explanatory diagram showing an example of a schematic configuration of the intra prediction device 100 according to the embodiment of the present invention. Referring to Fig. 3, the intra prediction device 100 includes a region control processing unit 110, a reference image generation unit 120, and a predicted image generation unit 130.

[0026] In the intra prediction device 100 configured as described above, the region control processing unit 110 controls the use range (reference range) of the image (reconstructed image) used for intra prediction. The reference image generation unit 120 generates a reference image from the reconstructed image based on the use range controlled by the region control processing unit 110. The predicted image generation unit 130 generates a predicted image from the reference image generated by the reference image generation unit 120.

[0027] An example of the configuration of the area control processing unit 110 will be described with reference to Fig. 4. Fig. 4 is a block diagram showing an example of a schematic configuration of the area control processing unit 110 according to the first embodiment. Referring to Fig. 4, the area control processing unit 110 includes a first derivation unit 111, a second derivation unit 113, and a control unit 115. Specific operations performed by each unit will be described below.

[0028] 3.2. Technical Features Next, the technical features of the first embodiment will be described.

[0029] The area control processing unit 110 (control unit 115) controls the partial range of the range of use of the image used for the intra-screen prediction that spans the edge of the unit in a predetermined direction and is used for the intra-screen prediction to be less than a predetermined maximum range, based on the relationship between the position of the candidate image used for the intra-screen prediction for the block to be processed and the position of the unit to which the block to be processed belongs.

[0030] The predetermined direction may be any direction, such as the upper direction of the screen or the left direction of the screen, but the following description will be mainly based on the assumption that it is the upper direction of the screen. (1) Unit The unit includes a syntax structure for coding pixel samples. In particular, the unit is a coding tree unit included in a slice. As described above, the unit includes the current block, and therefore can be considered as a parent block. The unit may also be called a "parent block."

[0031] (2) Prescribed maximum range Specifically, the predetermined maximum range is the maximum range that can be used for the intra prediction across the ends of the coding tree unit in the predetermined direction.

[0032] For example, if the specified direction is the upward direction of the screen, the specified maximum range is the maximum range that can be used (referenced) for the intra-screen prediction from the top end of the coding tree unit toward the top of the screen, based on the top end.

[0033] (3) Deriving and applying the first boundary position The area control processing unit 110 (first derivation unit 111) derives a first boundary position, based on the position of the coding tree unit and the specified maximum range, which is an image position that can be used for the intra-screen prediction across the end of the coding tree unit in the specified direction and is the farthest from the coding tree unit in the specified direction.

[0034] For example, if the specified direction is the upward direction of the screen, the area control processing unit 110 (first derivation unit 111) derives the position furthest in the upward direction of the screen from the top end of the coding tree unit as the first boundary position based on the position of the top end of the coding tree unit and the specified maximum range.

[0035] When the first boundary position is derived in this manner, the area control processing unit 110 (control unit 115) controls the partial range used for the intra-screen prediction across the end of the coding tree unit in the specified direction to be less than the specified maximum range, based on the relationship between the position of the candidate image used for the intra-screen prediction and the first boundary position.

[0036] For example, when there is a candidate image among the candidate images used for the intra-screen prediction that is farther away from the position of the target block than the first boundary position, the region control processing unit 110 (control unit 115) controls the partial range to be less than the specified maximum range.

[0037] (4) Deriving and applying the second boundary position The region control processing unit 110 (second derivation unit 113) derives a second boundary position, which is the position of the candidate image used in the intra-screen prediction and is the furthest from the target block in the specified direction, based on the position of the target block and the candidate range of the candidate image used in the intra-screen prediction in the specified direction.

[0038] For example, if the specified direction is the upper direction of the screen, the region control processing unit 110 (second derivation unit 113) derives the candidate position of the candidate image that is farthest in the upper direction of the screen from the upper end of the target block to be processed as the second boundary position based on the position of the upper end of the target block to be processed and the candidate range of the candidate image used in the upper direction of the screen in the intra-screen prediction.

[0039] When the second boundary position is derived in this manner, the area control processing unit 110 (control unit 115) controls the partial range used for the intra-screen prediction across the end of the coding tree unit in the specified direction to be less than the specified maximum range based on the relationship between the first boundary position and the second boundary position.

[0040] Specifically, when the second boundary position is farther away in the specified direction than the first boundary position relative to the position of the block to be processed, the region control processing unit 110 (control unit 115) controls the partial range used for the intra-screen prediction across the end of the coding tree unit in the specified direction to be less than the specified maximum range.

[0041] For example, when the specified direction is the upward direction of the screen, the area control processing unit 110 (control unit 115) controls the partial range to be equal to or less than the specified maximum range when the second boundary position is farther away from the upper end position of the processing target block in the upward direction of the screen than the first boundary position.

[0042] In addition, when the second boundary position is not farther away in the specified direction than the first boundary position relative to the position of the block to be processed, the region control processing unit 110 (control unit 115) controls the partial range used for the intra-screen prediction across the end of the coding tree unit in the specified direction to the candidate range.

[0043] For example, when the specified direction is the upward direction of the screen, the area control processing unit 110 (control unit 115) controls the partial range to the candidate range if the second boundary position is not farther up the screen than the first boundary position with respect to the position of the processing target block.

[0044] <3.3. Specific Examples> Next, a specific example of the processing performed by the intra prediction device 100 will be described.

[0045] (1) Area control processing unit 110 A specific example of the processing performed by the area control processing unit 110 will be described below. FIG.

[0046] First, define the variables as follows:

[0047] 5, the predetermined maximum range that can be used (referenced) across the top end of the coding tree unit 503 to which the current block 501 belongs in the screen upward is defined as Kmax pixels. Furthermore, the candidate range in the screen upward of the candidate image 505 (reference image) used for intra-screen prediction of the current block 501 in the screen is defined as Kup pixels, and the candidate range in the screen leftward is defined as Kleft pixels. In this specific example, for simplicity of explanation, Kmax is assumed to be less than Kup.

[0048] The use range adaptively controlled by the region control processing unit 110 (control unit 115), that is, the use range in the upper screen direction of the image (reconstructed image) used for intra-screen prediction of the processing target block 501, is set to K pixels.

[0049] The picture is defined as follows: the top left corner of the picture is the origin of the horizontal and vertical coordinate system (x,y) = (0,0), the right direction of the screen is +x direction, and the bottom direction of the screen is +y direction. Also, the number of horizontal pixels of the picture is w pixels, and the number of vertical pixels is h pixels.

[0050] Next, the target block is defined as follows: First, the coordinates of the upper left corner of the target block are set to (cur_bx, cur_by). Also, the number of horizontal pixels of the target image block is set to cur_bw pixels, and the number of vertical pixels is set to cur_bh pixels.

[0051] Next, the coding tree unit is defined as follows: The coordinates of the upper left corner position of the coding tree unit are (cur_cux, cur_cuy). Also, the number of horizontal pixels of the coding tree unit is cuw pixels, and the number of vertical pixels is cuh pixels.

[0052] For simplicity, cur_bw and cur_bh are assumed to be less than cuw and cuh, respectively. As described above, the upper left corner of the picture is the origin (0,0) of the horizontal and vertical coordinate system, so cur_cux and cur_cuy are less than or equal to cur_bx and cur_by, respectively.

[0053] In this specific example, the variables defined as above are used to adaptively control the candidate range K of the image (reconstructed image) to be used (referenced) in intra-screen prediction based on the relationship between the candidate position of the image (reconstructed image) to be used (referenced) in intra-screen prediction of the target block and the position of the coding tree unit to which the target block belongs.

[0054] First, the region control processing unit 110 (first derivation unit 111) derives the vertical coordinate ref_max_pos_y of the first boundary position using the following equation (1). ref_max_pos_y=cur_cuy-Kmax ··· (1)

[0055] Here, the vertical coordinate ref_max_pos_y of the first boundary position can be regarded as the maximum value of the vertical position that can be used (referenced) across the top end of the coding tree unit in the upper direction of the screen.

[0056] In addition, the area control processing unit 110 (second derivation unit 113) derives the vertical coordinate cand_min_pos_y of the second boundary position using the following equation (2). cand_min_pos_y = cur_by - Kup ··· (2)

[0057] Here, as described above, since the vertical coordinate axis y has the upper end of the picture as the origin and takes positive values in the downward direction of the screen, the vertical coordinate cand_min_pos_y of the second boundary position can be regarded as the minimum value of the candidate positions of the image (reconstructed image) used (referenced) for the in-screen prediction of the processing target block.

[0058] The area control processing unit 110 (control unit 115) adaptively controls the candidate range K using the vertical coordinate ref_max_pos_y of the first boundary position and the vertical coordinate cand_min_pos_y of the second boundary position.

[0059] Specifically, when cand_min_pos_y < ref_max_pos_y, the area control processing unit 110 (control unit 115) calculates the usage range K according to the following equation (3), and controls the partial range used for the in-screen prediction across the upper end of the encoding tree unit in the upward direction of the screen to be within the predetermined range Kmax or less. K = cur_by - cur_cuy + Kmax ··· (3)

[0060] In addition, when cand_min_pos_y ≥ ref_max_pos_y, the area control processing unit 110 (control unit 115) calculates the usage range K according to the following equation (4). K = Kup ··· (4)

[0061] In this way, the area control processing unit 110 (control unit 115) can calculate the usage range K according to the relative positional relationship between the vertical coordinate ref_max_pos_y of the first boundary position and the vertical coordinate cand_min_pos_y of the second boundary position, and control the partial range to be within Kmax or less.

[0062] In the horizontal-vertical coordinate system as described above, the upper left corner of the picture is used as the origin, but it is not limited to this. For example, the upper end of the processing target block may be used as the origin of the vertical coordinate axis. When the origin is determined in this way, the vertical coordinate of the second boundary position can be regarded as the maximum value of the candidate positions of the image (reconstructed image) used (referenced) for the in-picture prediction of the processing target block.

[0063] (2) Reference Image Generation Unit 120 The reference image generation unit 120 generates an image (reference image) used (referenced) for the in-picture prediction based on the usage range K calculated by the above-described region control processing unit 110.

[0064] Specifically, when K < Kup, the reference image generation unit 120 copies an image whose vertical coordinate position belongs to cur_by - Kmax to cur_by - 1, and maps the copied image to the positions corresponding to cur_by - Kup to cur_by - Kmax - 1 in the vertical coordinate position, thereby generating an image (reference image) used (referenced) for the in-picture prediction of the processing target block.

[0065] In this way, the reference image generation unit 120 can copy the reconstructed image at the vertical position cur_by - Kmax - 1 instead of the reconstructed images at the vertical positions cur_by - Kup to cur_by - Kmax - 1 that cannot be referenced across the upper boundary of the encoding tree unit, and use the copied image as the reference image. Note that the reconstructed images at the vertical positions cur_by - Kmax to cur_by - 1 may be used as the reference image as they are.

[0066] Also, when K = Kup, since there is no vertical position that cannot be used (referenced) across the upper end of the encoding tree unit in the upward direction on the screen, the reconstructed images at the vertical positions cur_by - Kup to cur_by - 1 can be used as the reference image as they are.

[0067] (3) Predicted Image Generation Unit 130 The predicted image generation unit 130 generates an intra-screen predicted image from the reference image supplied from the reference image generation unit 120. The intra-screen predicted image may be generated by applying any intra-screen predicted image generation process, such as the intra-screen predicted image generation process described in any one of the above-mentioned references 1, 2, or 3.

[0068] (4) Flow of processing performed by the intra-screen prediction device 100 FIG. 6 is a flowchart illustrating an example of the flow of processing performed by the intra-screen prediction device 100.

[0069] In step S601, the region control processing unit 110 adaptively controls a candidate range K of an image (reconstructed image) used (referenced) in the intra-frame prediction based on the relationship between the candidate position of the reconstructed image referenced in the intra-frame prediction of the target block and the position of the coding tree unit to which the target block belongs. Then, the process proceeds to step S603.

[0070] In step S603, the reference image generation unit 120 generates a reference image to be used for generating intra-frame prediction of the target block, based on the relationship between Kmax and the value of K calculated by the region control processing unit 110. Then, the process proceeds to step S605.

[0071] In step S605, the predicted image generating unit 130 generates an intra-frame predicted image of the target block from the reference image supplied from the reference image generating unit 120.

[0072] (5) Effects According to the present embodiment as described above, by adaptively controlling the range of use (reference range) of the image (reconstructed image) used for intra-screen prediction for each block to be processed, it is possible to reduce the size requirement of the line buffer, for example, as shown in FIG. 7.

[0073] 7A and 7B are diagrams illustrating the effects of an example of the first embodiment. First, Fig. 7A is a diagram illustrating an example (comparative example) in which the partial range used across the ends of a coding tree unit 701 is not limited to the predetermined maximum range Kmax or less. On the other hand, Fig. 7B is a diagram illustrating an example (this specific example) in which the partial range used across the ends of a coding tree unit 702 is controlled to be the predetermined maximum range Kmax or less.

[0074] In the comparative example shown in FIG. 7(a), the range of use of the image (reference image) in the upper direction of the screen is always pixels on Kup lines, so the required size of the line buffer is w*bitDepth*Kup bits.

[0075] On the other hand, in the example shown in FIG. 7(b), the predetermined maximum range Kmax=1 is set, thereby restricting the partial range of the usage range K to pixels on one line. Therefore, in the specific example shown in FIG. 7(b), it becomes w*bitDepth bits*1. In other words, in the specific example shown in FIG. 7(b), the line buffer size requirement can be reduced to w*bitDepth*(Kup-1) compared to the comparative example (the comparative example shown in FIG. 7(a)).

[0076] <3.4. Application Examples> (1) Video Encoding Device 800 The above-described intra-frame prediction device 100 can be applied to, for example, a video encoding device 800 as shown in FIG.

[0077] Fig. 8 is a block diagram showing a schematic configuration of a video encoding device 800. As shown in Fig. 8, the video encoding device 800 includes a transform / quantization unit 801, an entropy encoding unit 802, an inverse transform / inverse quantization unit 803, a buffer 804, a prediction unit 805 including the intra prediction device 100, and a multiplexing unit 806.

[0078] First, the prediction unit 805 generates a prediction signal for the input image signal for each block. Specifically, when intra prediction is performed on a current block, the intra prediction device 100 generates a prediction signal for the current block as described above.

[0079] The transform / quantization unit 801 frequency-transforms a prediction error image obtained by subtracting a prediction signal from an input image signal, and then quantizes the frequency-transformed prediction error image (transform coefficients).

[0080] The entropy coding unit 802 entropy codes the transformed and quantized values ​​and the motion vector difference information, which is a prediction parameter used by the prediction unit 805, based on, for example, CABAC (Context-based Adaptive Binary Arithmetic Coding).

[0081] The inverse transform / inverse quantization unit 803 inversely quantizes the transformed and quantized values. Furthermore, the inverse transform / inverse quantization unit 803 inversely frequency transforms the inversely quantized frequency transform coefficients. The inversely frequency transformed reconstructed prediction error image is added with a prediction signal and supplied to a buffer 804. The buffer 804 stores the reconstructed image.

[0082] The multiplexing unit 806 multiplexes the code words supplied from the entropy coding unit 802 as a bit stream.

[0083] In the video encoding device 800 that generates a bitstream through the above-described operations, the range of images (reference images) used for intra prediction for each block to be processed is adaptively controlled by the intra prediction device 100 included in the prediction unit 805. This makes it possible to output a video-encoded bitstream while reducing the size requirement for the line buffer.

[0084] (2) Video Decoding Device 900 The above-described intra prediction device 100 can be applied to, for example, a video decoding device 900 as shown in FIG.

[0085] Fig. 9 is a block diagram showing a schematic configuration of a video decoding device 900. As shown in Fig. 9, the video decoding device 900 includes a demultiplexing unit 901, an entropy decoding unit 902, an inverse transform / inverse quantization unit 903, a prediction unit 904 including the above-described intra prediction device 100, a buffer 905, and a control information generation unit 906.

[0086] The demultiplexer 901 demultiplexes the input bitstream and extracts the codewords.

[0087] The entropy decoding unit 902 entropy-decodes the codeword extracted by the demultiplexing unit 901, for example, based on CABAC. The transformed and quantized values ​​entropy-decoded by the entropy decoding unit 902 are supplied to an inverse transform / inverse quantization unit 903. Furthermore, difference information of the motion vectors and the like are supplied to a prediction unit 904.

[0088] The inverse transform / inverse quantization unit 903 inversely quantizes the transformed and quantized values ​​using the quantization step width, and further inversely transforms the inversely quantized frequency transform coefficients.

[0089] The prediction unit 904 generates a prediction signal for each block. When intra prediction is performed on the current block, the intra prediction device 100 generates a prediction signal for the current block, as described above.

[0090] The reconstructed prediction error image that has been inverse frequency transformed by the inverse transform / inverse quantization unit 903 is added with a prediction signal supplied from a prediction unit 904, and is supplied as a reconstructed picture to a buffer 905. Then, the reconstructed picture stored in the buffer 905 is output as a decoded image.

[0091] In the video decoding device 900 that generates a decoded image from a bitstream through the above-described operation, the range of use (reference range) of an image (reconstructed image) used for intra prediction for each block to be processed is adaptively controlled by the intra prediction device 100 included in the prediction unit 904. This makes it possible to generate a decoded image from a bitstream while reducing the size requirement for the line buffer.

[0092] (3) Information Processing System 1000 The above-described intra-screen prediction device 100 may be realized by an information processing system 1000 as shown in FIG. 10, for example.

[0093] FIG. 10 is a block diagram showing a schematic configuration of an information processing system 1000 to which the intra-screen prediction device 100 is applied.

[0094] 10, the information processing system 1000 includes a processor 1001, a program memory 1002, a storage medium 1003 for storing video data, and a storage medium 1004 for storing a bitstream. The storage medium 1003 and the storage medium 1004 may be separate storage media or may be storage areas of the same storage medium. A magnetic storage medium such as a hard disk can be used as the storage medium.

[0095] In the information processing system 1000, a computer program that realizes the functions of the intra prediction device 100 is installed in a program memory 1002, whereby the range of use (reference range) of an image (reconstructed image) used for intra prediction for each block to be processed is adaptively controlled. This makes it possible to generate a decoded image from a bitstream while reducing the size requirement for the line buffer.

[0096] (4) Interoperability FIG. 11 is a diagram showing a system in which the above-mentioned video encoding device 800 and the above-mentioned video decoding device 900 are connected via a transmission path 300 such as a wireless transmission path or a wired transmission path.

[0097] In a system such as that shown in FIG. 11, the video encoding device 800 and the video decoding device 900 adaptively control the range of reference images used for intra-frame prediction for each block to be processed using a common procedure, such as using common Kmax, Kup, Kleft, etc., thereby ensuring interconnectivity between the video encoding device 800 and the video decoding device 900.

[0098] Specifically, the predetermined maximum value Kmax may be a fixed value common to both the video encoding device 800 and the video decoding device 900. Alternatively, the predetermined maximum value Kmax may be a variable value that is implicitly set based on the number of horizontal pixels or the number of vertical pixels of a picture, for example, by decreasing the value as the number of pixels of the picture increases.

[0099] As described above, when the predetermined maximum value Kmax is a variable value, the predetermined maximum value Kmax is not limited to being set implicitly. For example, a value may be explicitly signaled as a syntax element of the bitstream. That is, information specifying the predetermined maximum range Kmax may be included in the bitstream as a syntax element. The information specifying the predetermined maximum range Kmax may be included, for example, for each sequence, each picture, each slice, or each unit.

[0100] The candidate ranges Kup and Kleft may also be variable values, and in this case, the candidate ranges Kup and Kleft may be explicitly signaled as syntax elements of the bitstream.

[0101] <3.5. Modifications> In this embodiment, the range of images used for intra-screen prediction for each block to be processed in the upward direction of the screen is adaptively controlled, but this is not limited to this, and the range of images used in the left direction of the screen may also be adaptively controlled in a similar manner.

[0102] Specifically, the region control processing unit 110 (control unit 115) of the intra prediction device 100 may control a partial range of an image used for intra prediction that extends across the left end of the unit to the left of the screen to be equal to or less than a predetermined maximum range. In such a modified example, the predetermined maximum range is specifically the maximum range that can be used for intra prediction that extends across the left end of the coding tree unit to the left of the screen.

[0103] Furthermore, information for specifying the predetermined maximum range may be signaled from the video encoding device 800 to the video decoding device 900 as a syntax element of the bitstream.

[0104] <<4. Second Embodiment>> Next, a second embodiment of the present invention will be described with reference to Figures 12 and 13. The first embodiment described above is a specific embodiment, but the second embodiment is a more generalized embodiment.

[0105] <4.1.Configuration> 12 is a block diagram showing an example of a schematic configuration of a video encoding device 800 according to the second embodiment. Referring to FIG.

[0106] 13 is a block diagram showing an example of a schematic configuration of a video decoding device 900 according to Embodiment 2. Referring to FIG.

[0107] 4.2. Technical Features Next, the technical features of the second embodiment will be described.

[0108] In the second embodiment, the video encoding device 800 (control unit 810) controls the partial range of the range of images used for intra-screen prediction that crosses the edge of the unit in a predetermined direction and is used for intra-screen prediction to be less than a predetermined maximum range, based on the relationship between the position of a candidate image used for intra-screen prediction for a block to be processed and the position of the unit to which the block to be processed belongs.

[0109] For example, the video encoding device 800 may perform the operations of the intra prediction device 100 according to the first embodiment.

[0110] In addition, the video decoding device 900 (control unit 910) controls the partial range of the range of images used for the intra-screen prediction that crosses the edge of the unit in a predetermined direction and is used for the intra-screen prediction to be equal to or less than a predetermined maximum range, based on the relationship between the position of a candidate image used for the intra-screen prediction for the block to be processed and the position of the unit to which the block to be processed belongs.

[0111] For example, the video decoding device 900 may perform the operations of the intra prediction device 100 according to the first embodiment.

[0112] This completes the description of the second embodiment. According to the second embodiment, for example, it becomes possible to adaptively control the range of use of images used in intra prediction.

[0113] <<5. Other forms>> Although the embodiments of the present invention have been described above, the present invention is not limited to these embodiments. It will be understood by those skilled in the art that these embodiments are merely examples and that various modifications are possible without departing from the scope and spirit of the present invention.

[0114] For example, the steps in the processes described herein do not necessarily have to be performed in chronological order according to the order depicted in the sequence diagrams. For example, the steps in the processes may be performed in an order different from that depicted in the sequence diagrams, or may be performed in parallel. Also, some of the steps in the processes may be deleted, and additional steps may be added to the processes.

[0115] Also, a method including the processing of the components of the device described herein (e.g., the first derivation unit, the second derivation unit, and / or the control unit) may be provided, and a program for causing a processor to execute the processing of the above components may be provided. Also, a non-transitory computer-readable medium on which the program is recorded may be provided. Naturally, such devices, modules, methods, programs, and non-transitory computer-readable mediums are also included in the present invention.

[0116] A part or all of the above-described embodiments can be described as, but not limited to, the following supplementary notes.

[0117] (Appendix 1) A video encoding or decoding device comprising a control unit that controls a partial range of an image used for intra-screen prediction that spans the edge of a unit in a predetermined direction and is used for intra-screen prediction to be equal to or less than a predetermined maximum range, based on the relationship between the position of a candidate image used for intra-screen prediction for a block to be processed and the position of a unit to which the block to be processed belongs.

[0118] (Appendix 2) 2. The video encoding or decoding apparatus of claim 1, wherein the unit includes a syntax structure for encoding pixel samples.

[0119] (Appendix 3) 3. The video encoding or decoding device according to claim 1, wherein the unit is one coding tree unit included in a slice.

[0120] (Appendix 4) A video encoding or decoding device according to any one of appendices 1 to 3, wherein the predetermined maximum range is the maximum range that can be used for the intra-screen prediction across the edges of the unit in the predetermined direction.

[0121] (Appendix 5) a first derivation unit that derives a first boundary position, which is an image position that straddles an end of the unit in the predetermined direction and can be used for the intra prediction, based on the position of the unit and the predetermined maximum range, and is the furthest from the unit in the predetermined direction; The video encoding or decoding device according to claim 4, wherein the control unit controls the partial range used for the intra-screen prediction across the edge of the unit in the predetermined direction to be equal to or smaller than the predetermined range based on a relationship between the position of the candidate image used for the intra-screen prediction and the first boundary position.

[0122] (Appendix 6) a second derivation unit that derives a second boundary position, which is a position of a candidate image used in the intra prediction and is farthest from the target block in the predetermined direction, based on a position of the target block and a candidate range of a candidate image used in the intra prediction in the predetermined direction; 6. The video encoding or decoding device according to claim 5, wherein the control unit controls the partial range used for the intra-screen prediction across the edge of the unit in the predetermined direction to be equal to or less than the predetermined maximum range, based on the relationship between the first boundary position and the second boundary position.

[0123] (Appendix 7) 7. The video encoding or decoding device according to claim 6, wherein, when the second boundary position is farther away in the predetermined direction than the first boundary position with respect to the position of the block to be processed, the control unit controls the partial range used for the intra-screen prediction across the edge of the unit in the predetermined direction to be equal to or less than the predetermined maximum range.

[0124] (Appendix 8) When the second boundary position is not farther in the predetermined direction than the first boundary position with respect to the position of the processing target block, the control unit controls the usage range of the image used for the in-picture prediction to the candidate range, the video encoding or video decoding apparatus according to appended note 6 or 7.

[0125] (Appended note 9) The predetermined direction is the upward direction on the screen, The predetermined maximum range is the maximum range Kmax that can be used for the in-picture prediction across the upper end of the unit in the upward direction on the screen, The candidate range is the candidate range Kup of the candidate image used in the upward direction on the screen in the in-picture prediction, Based on a vertical coordinate axis with the upper end of the picture as the origin and taking positive values in the downward direction on the screen, the first derivation unit derives the vertical coordinate ref_max_pos_y of the first boundary position using the following formula (1), Based on the vertical coordinate axis, the second derivation unit derives the vertical coordinate cand_min_pos_y of the second boundary position using the following formula (2), When cand_min_pos_y < ref_max_pos_y, the control unit calculates the usage range K of the image used in the upward direction on the screen in the in-picture prediction according to the following formula (3), and controls the partial range used for the in-picture prediction across the end of the unit in the predetermined direction to be not more than the predetermined range Kmax, the video encoding or video decoding apparatus according to any one of appended notes 6 to 8. ref_max_pos_y = cur_by - Kup ··· (1) cur_by is the vertical coordinate of the upper end of the unit. cand_min_pos_y = cur_cuy - Kmax ··· (2) cur_cuy is the vertical coordinate of the upper end of the unit. K = cur_by - cur_cuy + Kmax ··· (3)

[0126] (Appended note 10) When cand_min_pos_y≧ref_max_pos_y, the control unit calculates the usage range K of the image used in the upward direction on the screen in the in-screen prediction according to the following formula (4), the video encoding or video decoding device according to Supplementary Note 9. K = Kup ··· (4)

[0127] (Supplementary Note 11) The video encoding or video decoding device according to Supplementary Note 9 or 10 further includes an image generation unit that generates an image used in the in-screen prediction based on the usage range K of the image used in the upward direction on the screen in the in-screen prediction.

[0128] (Supplementary Note 12) When K < Kup, the image generation unit generates an image used in the in-screen prediction by copying an image whose vertical coordinate position belongs to cur_by - Kmax to cur_by - 1 and mapping the copied image to a position corresponding to cur_by - Kup to cur_by - Kmax - 1, the video encoding or video decoding device according to Supplementary Note 11.

[0129] (Supplementary Note 13) Controlling a partial range used in the in-screen prediction that straddles an end of the unit in a predetermined direction of the usage range of the image used in the in-screen prediction to be not more than a predetermined maximum range based on the relationship between the position of the candidate image used in the in-screen prediction for the processing target block and the position of the unit to which the processing target block belongs, a video encoding or video decoding method.

[0130] (Supplementary Note 14) A program for causing a computer to execute a video encoding or video decoding process including controlling a partial range used in the in-screen prediction that straddles an end of the unit in a predetermined direction of the usage range of the image used in the in-screen prediction to be not more than a predetermined maximum range based on the relationship between the position of the candidate image used in the in-screen prediction for the processing target block and the position of the unit to which the processing target block belongs.

[0131] (Supplementary Note 15) A non-transitory computer-readable recording medium having recorded thereon a program for causing a computer to execute a video encoding or video decoding process, including controlling a partial range of an image used for intra-screen prediction that crosses an end of a unit in a predetermined direction within a range of use of an image used for the intra-screen prediction to be equal to or less than a predetermined maximum range, based on the relationship between the position of a candidate image used for intra-screen prediction for a block to be processed and the position of a unit to which the block to be processed belongs.

[0132] This application claims priority based on Japanese Patent Application No. 2018-120872, filed on June 26, 2018, the disclosure of which is incorporated herein in its entirety. [Industrial Applicability]

[0133] In a system for encoding or decoding video, it becomes possible to adaptively control the range of images used for intra-frame prediction. [Explanation of symbols]

[0134] 100 In-screen prediction device 110 Area control processing unit 111 First Derivation 113 Second Derivation 115, 810, 910 Control unit 120 Reference image generation unit 130 Prediction image generation unit 800 Video Encoding Device 900 Video decoder

Claims

1. a control unit for controlling a range of an image used for intra prediction for a target block; The control unit controlling the usable range to be equal to or less than a first maximum range usable for the intra prediction across an end of a coding tree unit in an upward direction; When the usage range is not controlled to be equal to or less than the first maximum range, the usage range is controlled to be equal to or less than a second maximum range that is greater than the first maximum range; when the usage range is controlled to be equal to or less than the second maximum range, the usage range includes a plurality of lines, and at least one of the plurality of lines is used for intra prediction for the current block; A video encoding device, wherein all of the plurality of lines are arranged contiguously.

2. controlling a range of images used in intra prediction for a current block; The controlling comprises: controlling the use range to be equal to or less than a first maximum range usable for the intra prediction across an end of a coding tree unit in an upward direction; When the usage range is not controlled to be equal to or less than the first maximum range, controlling the usage range to be equal to or less than a second maximum range that is greater than the first maximum range; Including, when the usage range is controlled to be equal to or less than the second maximum range, the usage range includes a plurality of lines, and at least one of the plurality of lines is used for intra prediction for the current block; All of the plurality of lines are arranged in succession. Video encoding method.

3. a control unit for controlling a range of an image used for intra prediction for a target block; The control unit controlling the usable range to be equal to or less than a first maximum range usable for the intra prediction across an end of a coding tree unit in an upward direction; When the usage range is not controlled to be equal to or less than the first maximum range, the usage range is controlled to be equal to or less than a second maximum range that is greater than the first maximum range; when the usage range is controlled to be equal to or less than the second maximum range, the usage range includes a plurality of lines, and at least one of the plurality of lines is used for intra prediction for the current block; A video decoding device, wherein all of the plurality of lines are arranged contiguously.

4. controlling a range of images used in intra prediction for a current block; The controlling comprises: controlling the use range to be equal to or less than a first maximum range usable for the intra prediction across an end of a coding tree unit in an upward direction; When the usage range is not controlled to be equal to or less than the first maximum range, controlling the usage range to be equal to or less than a second maximum range that is greater than the first maximum range; Including, when the usage range is controlled to be equal to or less than the second maximum range, the usage range includes a plurality of lines, and at least one of the plurality of lines is used for intra prediction for the current block; All of the plurality of lines are arranged in succession. Video decoding method.

5. The control unit controls the use range to be equal to or less than the first maximum range when an image used for intra prediction is located above an end of the coding tree unit. The video encoding device according to claim 1 .

6. The control unit controls the use range to be equal to or less than the first maximum range when an image used for intra prediction is located above an end of the coding tree unit.

4. The video decoding device according to claim 3.

Citation Information

Patent Citations

  • Method and Apparatus of Constrained Intra Block Copy for Coding Video

    US20160241875A1

  • Method and apparatus of video coding

    US20170272757A1

  • Buffering prediction data in video coding

    WO2013012867A2

  • Image processing device and method

    WO2017073362A1