Method and Apparatus for Inter-predicting Pictures Having Different Resolutions
Patent Information
- Application Number
- KR1020200126206
- Authority / Receiving Office
- KR · KR
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2019-12-30
- Filing Date
- 2020-09-28
- Publication Date
- 2026-09-15
- Estimated Expiration
- 2040-09-28
Smart Images

Figure 112020103451404-PAT00006_ABST
Abstract
Description
Technology Field
[0001] The present invention relates to video encoding and decoding, and is related to inter-prediction considering the resolution difference between pictures. Background Technology
[0002] Because video data contains a large amount of data compared to audio or still image data, storing or transmitting it as is without compression processing requires significant hardware resources, including memory.
[0003] Therefore, typically, when storing or transmitting video data, an encoder is used to compress the video data for storage or transmission, and a decoder receives the compressed video data, decompresses it, and plays it. Such video compression technologies include H.264 / AVC, as well as HEVC (High Efficiency Video Coding), which improves coding efficiency by about 40% compared to H.264 / AVC.
[0004] However, as video size, resolution, and frame rates are gradually increasing, and the amount of data that needs to be encoded is also growing accordingly, a new compression technology is required that offers better encoding efficiency and higher image quality improvement effects than existing compression technologies.
[0005] In video encoding, predictive coding is primarily used to improve compression performance. There are two types: intra prediction, which predicts the target block to be encoded using previously restored samples within the current picture, and inter prediction, which predicts the current block using a previously restored reference picture. In particular, inter prediction is widely used in video encoding due to its superior compression performance compared to intra prediction. However, if there is a resolution difference between the current picture and the reference picture referenced by the target block, conventional inter prediction methods can significantly reduce encoding efficiency.
[0006] Therefore, in the case of encoding or decoding a video sequence composed of pictures with at least some different resolutions, a method is required to resolve the problem caused by the resolution difference. The problem to be solved
[0007] The present disclosure relates to the encoding or decoding of a video sequence composed of at least some pictures with different resolutions, and provides an inter-prediction method that takes into account the resolution difference between a current picture and a reference picture. means of solving the problem
[0008] One aspect of the present disclosure provides a method for decoding a sequence of pictures having at least some of different sizes and resolutions. The method comprises: decoding from a high-level syntax structure of the sequence a first syntax element for specifying a reference size of pictures referencing the high-level syntax structure and a second syntax element for specifying a scaled picture size from the reference size of pictures referencing the high-level syntax structure; decoding using the first and second syntax elements at least one scale factor and at least one offset factor representing a scale difference between a current picture containing a current block to be decoded and a reference picture referenced by the current block, wherein the at least one scale factor and at least one offset factor are used to modify a sample position indicated by a motion vector of the current block within the reference picture. and the method includes the step of generating a prediction block of the current block from the reference picture using the motion vector of the current block, the at least one scale factor, and the at least one offset factor.
[0009] Another aspect of the present disclosure provides an image decoding device for decoding a sequence of pictures having at least some of different sizes and resolutions. The device includes a decoding unit that decodes, from a high-level syntax structure of the sequence, a first syntax element for specifying a reference size of pictures referencing the high-level syntax structure and a second syntax element for specifying a scaled picture size from the reference size of pictures referencing the high-level syntax structure, and decodes information representing a motion vector of a current block to be decoded and a reference picture. Additionally, the device includes a prediction unit that derives at least one scale factor and at least one offset factor representing a scale difference between a current picture containing a current block to be decoded and the reference picture using the first and second syntax elements, and generates a prediction block of the current block from the reference picture using the motion vector of the current block, the at least one scale factor, and the at least one offset factor. Here, the at least one scale factor and at least one offset factor are used to modify the sample position indicated by the motion vector of the current block within the reference picture. Brief explanation of the drawing
[0010] FIG. 1 is an exemplary block diagram of an image encoding device capable of implementing the technologies of the present disclosure. Figure 2 is a diagram illustrating a method for dividing blocks using a QTBTTT structure. Figure 3 is a diagram showing multiple intra prediction modes. Figure 4 is an example diagram of the surrounding blocks of the current block. FIG. 5 is an exemplary block diagram of an image decoding device capable of implementing the technologies of the present disclosure. FIG. 6 is an exemplary flowchart illustrating a method for decoding an encoded video sequence composed of pictures, at least some of which have different resolutions or sizes. Figure 7 is an example of one-dimensional filters that can be used for motion compensation. Figure 8 is an example of two-dimensional filters that can be used for motion compensation. Figures 9 and 10 are examples of various Wiener filters. Figure 11 is an example of signaling only some of the filter coefficients. Specific details for implementing the invention
[0011] Hereinafter, some embodiments of the present invention will be described in detail with reference to exemplary drawings. It should be noted that in assigning identification symbols to the components of each drawing, the same components are assigned the same symbol whenever possible, even if they are shown in different drawings. Furthermore, in describing the present invention, if it is determined that a detailed description of related known components or functions could obscure the essence of the invention, such detailed description is omitted.
[0012] FIG. 1 is an exemplary block diagram of an image encoding device capable of implementing the technologies of the present disclosure. Hereinafter, the image encoding device and its sub-components will be described with reference to FIG. 1.
[0013] The video encoding device may be configured to include a block division unit (110), a prediction unit (120), a subtractor (130), a conversion unit (140), a quantization unit (145), a reordering unit (150), an entropy encoding unit (155), an inverse quantization unit (160), an inverse conversion unit (165), an adder (170), a loop filter unit (180), and a memory (190).
[0014] Each component of the video encoding device may be implemented in hardware or software, or as a combination of hardware and software. Additionally, the function of each component may be implemented in software, and a microprocessor may be implemented to execute the software function corresponding to each component.
[0015] A single image (video) consists of one or more sequences containing multiple pictures. Each picture is divided into multiple regions, and encoding is performed for each region. For example, a single picture is divided into one or more tiles or / and slices. Here, one or more tiles can be defined as a tile group. Each tile or / slice is divided into one or more Coding Tree Units (CTUs). And each CTU is divided into one or more Coding Units (CUs) by a tree structure. Information applicable to each CU is encoded as the syntax of the CU, and information applicable to all CUs included in a single CTU is encoded as the syntax of the CTU. Additionally, information applicable to all blocks within a single slice is encoded as the syntax of the slice header, and information applicable to all blocks constituting one or more pictures is encoded in the Picture Parameter Set (PPS) or the picture header. Furthermore, information commonly referenced by a sequence composed of multiple pictures is encoded in a Sequence Parameter Set (SPS). Additionally, information commonly applied to a single tile or tile group may be encoded as the syntax of a tile or tile group header. The syntax included in the SPS, PPS, slice header, and tile or tile group header may be referred to as high-level syntax.
[0016] Additionally, the bitstream may include one or more Adaptation Parameter Sets (APS) containing parameters referenced by a picture or a group of pixels smaller than a picture, such as a slice. A picture header or slice header includes an ID for identifying the APS to be used in the corresponding picture or slice. Pictures referencing different PPSs or slices referencing different picture headers may share the same parameters through the same APS ID.
[0017] Each of the multiple pictures may be divided into multiple subpictures that are independently coding / decoding capable and / or independently displayable. When subpicture division is applied, information regarding the layout of the subpictures within the picture is signaled.
[0018] The block division unit (110) determines the size of the Coding Tree Unit (CTU). Information regarding the size of the CTU (CTU size) is encoded as a syntax of SPS or PPS and transmitted to an image decoder.
[0019] The block division unit (110) divides each picture constituting the image into multiple Coding Tree Units (CTUs) having a predetermined size, and then recursively divides the CTUs using a tree structure. The leaf nodes in the tree structure become the coding units (CUs) which are the basic units of coding.
[0020] The tree structure may be a QuadTree (QT) in which an upper node (or parent node) is divided into four lower nodes (or child nodes) of equal size, a BinaryTree (BT) in which an upper node is divided into two lower nodes, a TernaryTree (TT) in which an upper node is divided into three lower nodes in a 1:2:1 ratio, or a structure that combines two or more of these QT, BT, and TT structures. For example, a QTBT (QuadTree plus BinaryTree) structure may be used, or a QTBTTT (QuadTree plus BinaryTree TernaryTree) structure may be used. Here, BTTT combined may be referred to as an MTT (Multiple-Type Tree).
[0021] FIG. 2 shows a QTBTTT splitting tree structure. As seen in FIG. 2, the CTU can first be split into a QT structure. Quadtree splitting can be repeated until the size of the splitting block reaches the minimum block size of the leaf node allowed in QT (MinQTSize). A first flag (QT_split_flag) indicating whether each node of the QT structure is split into four nodes of the lower layer is encoded by the entropy encoder (155) and signaled to the image decoder. If the leaf node of the QT is not larger than the maximum block size of the root node allowed in BT (MaxBTSize), it can be further split into one or more of the BT structure or TT structure. In the BT structure and / or TT structure, multiple splitting directions may exist. For example, there may be two directions in which the block of the corresponding node is split horizontally and vertically. As shown in FIG. 2, when MTT splitting begins, a second flag (mtt_split_flag) indicating whether the nodes have been split, a flag indicating the splitting direction (vertical or horizontal) and / or the splitting type (binary or ternary) are encoded by the entropy encoding unit (155) and signaled to the image decoding device. Alternatively, a CU splitting flag (split_cu_flag) indicating whether the node is split may be encoded prior to encoding a first flag (QT_split_flag) indicating whether each node is split into four nodes of a lower layer. If the value of the CU splitting flag (split_cu_flag) indicates that the node has not been split, the block of the node becomes a leaf node in the splitting tree structure and becomes a coding unit (CU), which is the basic unit of encoding.When the CU split flag (split_cu_flag) value indicates splitting, the video encoding device starts encoding from the first flag in the manner described above.
[0022] When QTBT is used as another example of a tree structure, there may be two types: a type that divides the block of the corresponding node horizontally into two blocks of the same size (i.e., symmetric horizontal splitting) and a type that divides it vertically (i.e., symmetric vertical splitting). A splitting flag (split_flag) indicating whether each node of the BT structure is split into a block of a lower layer and splitting type information indicating the type of splitting are encoded by the entropy encoding unit (155) and transmitted to the image decoding device. Meanwhile, there may also be an additional type that divides the block of the corresponding node into two blocks of an asymmetric shape. The asymmetric shape may include a shape that divides the block of the corresponding node into two rectangular blocks with a size ratio of 1:3, or a shape that divides the block of the corresponding node diagonally.
[0023] A CU can have various sizes depending on the QTBT or QTBTTT partitioning from a CTU. Hereinafter, the block corresponding to the CU to be encoded or decoded (i.e., the leaf node of QTBTTT) is referred to as the 'current block'. Depending on the adoption of QTBTTT partitioning, the shape of the current block may be not only square but also rectangular.
[0024] The prediction unit (120) predicts the current block and generates a prediction block. The prediction unit (120) includes an intra prediction unit (122) and an inter prediction unit (124).
[0025] The intra prediction unit (122) predicts samples within the current block using samples (reference samples) located around the current block within the current picture containing the current block. Multiple intra prediction modes exist depending on the prediction direction. For example, as shown in FIG. 3, multiple intra prediction modes may include two non-directional modes, including a planar mode and a DC mode, and 65 directional modes. The surrounding samples and calculation formulas to be used are defined differently depending on each prediction mode.
[0026] The intra prediction unit (122) can determine the intra prediction mode to use for encoding the current block. In some examples, the intra prediction unit (122) may encode the current block using several intra prediction modes and select an appropriate intra prediction mode to use from the tested modes. For example, the intra prediction unit (122) may calculate rate-distortion values using rate-distortion analysis of several tested intra prediction modes and select an intra prediction mode that has the best rate-distortion features among the tested modes.
[0027] The intra prediction unit (122) selects one intra prediction mode among a plurality of intra prediction modes and predicts the current block using a calculation formula and surrounding samples (reference samples) determined according to the selected intra prediction mode. Information regarding the selected intra prediction mode is encoded by the entropy encoding unit (155) and transmitted to the image decoding device.
[0028] The inter prediction unit (124) generates a prediction block for the current block through a motion compensation process. The inter prediction unit (124) searches for the block most similar to the current block within a reference picture that is encoded and decoded before the current picture, and generates a prediction block for the current block using the searched block. Then, it generates a motion vector corresponding to the displacement between the current block in the current picture and the prediction block in the reference picture. Generally, motion estimation is performed on the luminance component, and the motion vector calculated based on the luminance component is used for both the luminance component and the chroma component. Motion information, including information on the reference picture used to predict the current block and information on the motion vector, is encoded by the entropy encoding unit (155) and transmitted to the image decoding device.
[0029] The inter prediction unit (124) may perform interpolation on a reference picture or reference block to increase the accuracy of the prediction. That is, subsamples between two consecutive integer samples are interpolated by applying filter coefficients to a plurality of consecutive integer samples including those two integer samples. When the process of searching for the block most similar to the current block is performed for the interpolated reference picture, the motion vector can be expressed with precision in fractional units rather than precision in integer units. The precision of the motion vector, that is, the motion vector resolution, can be set differently for each unit of the target area to be encoded, such as slice, tile, CTU, CU, etc. When such adaptive motion vector resolution is applied, information regarding the motion vector resolution to be applied to each target area must be signaled for each target area. For example, if the target area is a CU, information regarding the motion vector resolution applied to each CU is signaled.
[0030] Meanwhile, the inter prediction unit (124) can perform inter prediction using bi-prediction. In the case of bi-prediction, two reference pictures and two motion vectors representing the block location most similar to the current block within each reference picture are used. The inter prediction unit (124) selects a first reference picture and a second reference picture from the reference picture list 0 (RefPicList0) and reference picture list 1 (RefPicList1), respectively, and generates a first reference block and a second reference block by searching for a block similar to the current block within each reference picture. Then, it generates a prediction block for the current block by averaging or weighting the first reference block and the second reference block. Then, it transmits motion information containing information about the two reference pictures used to predict the current block and information about the two motion vectors to the encoding unit (150). Here, reference picture list 0 consists of restored pictures that are prior to the current picture in the display order, and reference picture list 1 may consist of restored pictures that are prior to the current picture in the display order. However, this is not necessarily limited to this, and restored pictures prior to the current picture in the display order may be additionally included in reference picture list 0, and conversely, restored pictures prior to the current picture may be additionally included in reference picture list 1.
[0031] Motion information (motion vector, reference picture) used for inter-prediction must be signaled to an image decoder. Various methods can be used to minimize the amount of bits required to encode motion information.
[0032] For example, if the reference picture and motion vector of the current block are identical to the reference picture and motion vector of a neighboring block, the motion information of the current block can be transmitted to a decoder by encoding information that identifies the neighboring block. This method is called 'merge mode'.
[0033] In merge mode, the inter prediction unit (124) selects a predetermined number of merge candidate blocks (hereinafter referred to as 'merge candidates') from the surrounding blocks of the current block.
[0034] As for the surrounding blocks to induce merge candidates, all or part of the left block (L), top block (A), upper right block (AR), lower left block (BL), and upper left block (AL) adjacent to the current block within the current picture, as shown in FIG. 4, may be used. Additionally, a block located within a reference picture (which may be the same as or different from the reference picture used to predict the current block) other than the current picture where the current block is located may be used as a merge candidate. For example, a block located at the same position as the current block within the reference picture (co-located block) or a block adjacent to that co-located block may be additionally used as a merge candidate.
[0035] The inter prediction unit (124) constructs a merge list containing a predetermined number of merge candidates using these surrounding blocks. Among the merge candidates included in the merge list, it selects a merge candidate to be used as movement information for the current block and generates merge index information to identify the selected candidate. The generated merge index information is encoded by the encoding unit (155) and transmitted to the decoding device.
[0036] Another method for encoding motion information is AMVP mode.
[0037] In AMVP mode, the inter-prediction unit (124) derives predicted motion vector candidates for the motion vector of the current block using the surrounding blocks of the current block. As surrounding blocks used to derive predicted motion vector candidates, all or part of the left block (L), top block (A), upper right block (AR), lower left block (BL), and upper left block (AL) adjacent to the current block within the current picture shown in FIG. 2 may be used. Additionally, blocks located within a reference picture (which may be the same as or different from the reference picture used to predict the current block) other than the current picture where the current block is located may be used as surrounding blocks to derive predicted motion vector candidates. For example, blocks located at the same position as the current block within the reference picture (co-located blocks) or blocks adjacent to the same position may be used.
[0038] The inter prediction unit (124) derives predicted motion vector candidates using the motion vectors of the surrounding blocks and determines a predicted motion vector for the current block's motion vector using the predicted motion vector candidates. Then, it calculates a difference motion vector by subtracting the predicted motion vector from the current block's motion vector.
[0039] Predicted motion vectors can be obtained by applying a predefined function (e.g., median, mean operation, etc.) to the predicted motion vector candidates. In this case, the image decoder is also aware of the predefined function. Furthermore, since the surrounding blocks used to derive the predicted motion vector candidates have already been encoded and decoded, the image decoder is also aware of the motion vectors of those surrounding blocks. Therefore, the image decoder does not need to encode information to identify the predicted motion vector candidates. Consequently, in this case, information regarding the difference motion vector and the reference picture used to predict the current block is encoded.
[0040] Meanwhile, the predicted motion vector may be determined by selecting one of the predicted motion vector candidates. In this case, information for identifying the selected predicted motion vector candidate is additionally encoded, along with information about the difference motion vector and information about the reference picture used to predict the current block.
[0041] The subtractor (130) generates a residual block by subtracting the prediction block generated by the intra prediction unit (122) or the inter prediction unit (124) from the current block.
[0042] The transformation unit (140) can transform residual signals within the residual block. The two-dimensional size of the residual block can be used as a Transform Unit (hereinafter 'TU'), which is the block size for performing the transformation. Alternatively, the residual block can be divided into multiple sub-blocks, and each sub-block can be used as a TU to transform the residual signals within the corresponding sub-block.
[0043] The transformation unit (140) divides the residual block into one or more sub-blocks and applies a transformation to one or more sub-blocks to transform the residual values of the transformation blocks from the pixel domain to the frequency domain. In the frequency domain, the transformed blocks are referred to as coefficient blocks or transform blocks containing one or more transformation coefficient values. A two-dimensional transformation kernel may be used for the transformation, and a one-dimensional transformation kernel may be used for the horizontal direction transformation and the vertical direction, respectively. The transformation kernel may be based on the Discrete Cosine Transform (DCT), Discrete Sine Transform (DST), etc.
[0044] The transformation unit (140) can perform transformations individually in the horizontal and vertical directions for residual blocks or transformation units. For the transformation, various types of transformation kernels or transformation matrices may be used. For example, a pair of transformation kernels for horizontal transformation and vertical transformation can be defined as a Multiple Transform Set (MTS). The transformation unit (140) can select one pair of transformation kernels with the best transformation efficiency among the MTS and transform the residual blocks in the horizontal and vertical directions, respectively. Information (mts_idx) regarding the selected pair of transformation kernels among the MTS is encoded by the entropy encoding unit (155) and signaled to the image decoding device.
[0045] The quantization unit (145) quantizes the transformation coefficients output from the transformation unit (140) using quantization parameters and outputs the quantized transformation coefficients to the entropy encoding unit (155). The quantization unit (145) may quantize the associated residual block directly without transformation for any block or frame. The quantization unit (145) may apply different quantization coefficients (scaling values) depending on the position of the transformation coefficients within the transformation block. A matrix of quantization coefficients applied to the quantized transformation coefficients arranged in two dimensions can be encoded and signaled to an image decoder.
[0046] The reordering unit (150) can perform reordering of coefficient values for quantized residual values. The reordering unit (150) can change a two-dimensional coefficient array into a one-dimensional coefficient sequence through coefficient scanning. For example, the reordering unit (150) can output a one-dimensional coefficient sequence by scanning from DC coefficients to coefficients in the high-frequency range using a zig-zag scan or a diagonal scan. Depending on the size of the transformation unit and the intra-prediction mode, a vertical scan that scans the two-dimensional coefficient array in the column direction, or a horizontal scan that scans the two-dimensional block-shaped coefficients in the row direction, may be used instead of a zig-zag scan. That is, depending on the size of the transformation unit and the intra-prediction mode, the scanning method to be used among a zig-zag scan, a diagonal scan, a vertical scan, and a horizontal scan may be determined.
[0047] The entropy encoding unit (155) generates a bitstream by encoding a sequence of one-dimensional quantized transformation coefficients output from the reordering unit (150) using various encoding methods such as CABAC (Context-based Adaptive Binary Arithmetic Code) and Exponential Golomb.
[0048] Additionally, the entropy encoding unit (155) encodes information related to block division, such as CTU size, CU division flag, QT division flag, MTT division type, and MTT division direction, so that the image decoder can divide the block in the same way as the image encoding unit. Additionally, the entropy encoding unit (155) encodes information regarding a prediction type indicating whether the current block is encoded by intra prediction or by inter prediction, and encodes intra prediction information (i.e., information regarding the intra prediction mode) or inter prediction information (in the case of merge mode, information regarding the merge index; in the case of AMVP mode, information regarding the reference picture index and difference motion vector). Additionally, the entropy encoding unit (155) encodes information related to quantization, i.e., information regarding quantization parameters and information regarding the quantization matrix.
[0049] The inverse quantization unit (160) inversely quantizes the quantized transformation coefficients output from the quantization unit (145) to generate transformation coefficients. The inverse transformation unit (165) converts the transformation coefficients output from the inverse quantization unit (160) from the frequency domain to the spatial domain to restore the residual block.
[0050] The adder (170) restores the current block by adding the restored residual block and the prediction block generated by the prediction unit (120). Samples within the restored current block are used as reference samples when intra-predicting the next block in sequence.
[0051] The loop filter section (180) performs filtering on the restored samples to reduce blocking artifacts, ringing artifacts, blurring artifacts, etc. caused by block-based prediction and transformation / quantization. The loop filter section (180) may include one or more of a deblocking filter (182), a Sample Adaptive Offset (SAO) filter (184), and an Adaptive Loop Filter (ALF, 186).
[0052] The deblocking filter (182) filters the boundaries between restored blocks to remove blocking artifacts caused by block-unit encoding / decoding, and the SAO filter (184) performs additional filtering on the deblocking filtered image. The SAO filter (184) is a filter used to compensate for the difference between the restored sample and the original sample caused by lossy coding, and is performed by adding to each restored sample with a corresponding offset. The ALF (186) performs filtering on the target sample by applying filter coefficients to the target sample to be filtered and the surrounding samples of the target sample. The ALF (186) can perform filtering differentially for each group by dividing the samples included in the image into predetermined groups and determining one filter to be applied to each group. Information regarding the filter coefficients to be used in the ALF can be encoded and signaled to the image decoder.
[0053] The restored blocks filtered through the loop filter section (180) are stored in memory (190). When all blocks within a picture are restored, the restored picture can be used as a reference picture for inter-predicting blocks within a picture to be encoded later.
[0054] FIG. 5 is an exemplary functional block diagram of an image decoding device capable of implementing the technologies of the present disclosure. Hereinafter, the image decoding device and its sub-components will be described with reference to FIG. 5.
[0055] The image decoding device may be configured to include an entropy decoding unit (510), a reordering unit (515), an inverse quantization unit (520), an inverse transformation unit (530), a prediction unit (540), an adder (550), a loop filter unit (560), and a memory (570).
[0056] Similar to the image encoding device of FIG. 1, each component of the image decoding device may be implemented in hardware or software, or in combination of hardware and software. Additionally, the function of each component may be implemented in software, and a microprocessor may be implemented to execute the function of the software corresponding to each component.
[0057] The entropy decoding unit (510) determines the current block to be decoded by decoding the bitstream generated by the video encoding device and extracting information related to block division, and extracts prediction information and information about residual signals necessary to restore the current block.
[0058] The entropy decoding unit (510) extracts information about the CTU size from the SPS (Sequence Parameter Set) or PPS (Picture Parameter Set) to determine the size of the CTU and divides the picture into CTUs of the determined size. Then, the CTU is determined as the top layer of the tree structure, i.e., the root node, and divides the CTU using the tree structure by extracting division information for the CTU.
[0059] For example, when splitting a CTU using a QTBTTT structure, first, a first flag (QT_split_flag) related to QT splitting is extracted to split each node into four nodes of the lower layer. Then, for the nodes corresponding to the leaf nodes of QT, a second flag (MTT_split_flag) related to MTT splitting and splitting direction (vertical / horizontal) and / or splitting type (binary / ternary) information are extracted to split the corresponding leaf nodes into an MTT structure. Through this, each node below the leaf nodes of QT is recursively split into a BT or TT structure.
[0060] As another example, when splitting a CTU using the QTBTTT structure, a CU splitting flag (split_cu_flag) indicating whether to split the CU is first extracted, and if the block is split, a first flag (QT_split_flag) is extracted. During the splitting process, each node may undergo zero or more iterative MTT splittings after zero or more iterative QT splittings. For example, the CTU may undergo MTT splitting immediately, or conversely, only multiple QT splittings may occur.
[0061] As another example, when splitting a CTU using a QTBT structure, a first flag (QT_split_flag) related to the splitting of QT is extracted to split each node into four nodes of the lower layer. Then, for the nodes corresponding to the leaf nodes of QT, a split flag (split_flag) indicating whether to further split into BTs and split direction information are extracted.
[0062] Meanwhile, when the entropy decoding unit (510) determines the current block to be decoded through the division of the tree structure, it extracts information regarding the prediction type indicating whether the current block is intra-predicted or inter-predicted. If the prediction type information indicates intra-predicted, the entropy decoding unit (510) extracts a syntax element for the intra-predicted information (intra-predicted mode) of the current block. If the prediction type information indicates inter-predicted, the entropy decoding unit (510) extracts a syntax element for the inter-predicted information, that is, information indicating a motion vector and a reference picture that the motion vector refers to.
[0063] Additionally, the entropy decoder (510) extracts information regarding quantized transformation coefficients of the current block as information related to quantization and information regarding residual signals.
[0064] The reordering unit (515) can change the sequence of one-dimensional quantized transformation coefficients entropy-decoded in the entropy decoding unit (510) back into a two-dimensional coefficient array (i.e., block) in the reverse order of the coefficient scanning order performed by the image encoding device.
[0065] The inverse quantization unit (520) inversely quantizes the quantized transformation coefficients using quantization parameters. The inverse quantization unit (520) may apply different quantization coefficients (scaling values) to the quantized transformation coefficients arranged in two dimensions. The inverse quantization unit (520) may perform inverse quantization by applying a matrix of quantization coefficients (scaling values) from an image encoding device to a two-dimensional array of quantized transformation coefficients.
[0066] The inverse transform unit (530) generates a restored residual block for the current block by inversely transforming the inversely quantized transform coefficients from the frequency domain to the spatial domain and restoring the residual signals. Additionally, when MTS is applied, the inverse transform unit (530) determines a transform function or transform matrix to be applied in the horizontal and vertical directions, respectively, using MTS information (mts_idx) signaled from the video encoding device, and performs an inverse transform on the transform coefficients within the transform block in the horizontal and vertical directions using the determined transform function.
[0067] The prediction unit (540) may include an intra prediction unit (542) and an inter prediction unit (544). The intra prediction unit (542) is activated when the prediction type of the current block is an intra prediction, and the inter prediction unit (544) is activated when the prediction type of the current block is an inter prediction.
[0068] The intra prediction unit (542) determines the intra prediction mode of the current block among a plurality of intra prediction modes from the syntax elements for the intra prediction mode extracted from the entropy decoding unit (510), and predicts the current block using reference samples around the current block according to the intra prediction mode.
[0069] The inter prediction unit (544) determines the motion vector of the current block and the reference picture that the motion vector refers to using the syntax elements for the intra prediction mode extracted from the entropy decoding unit (510), and predicts the current block using the motion vector and the reference picture.
[0070] The inter prediction unit (544) may perform interpolation filtering based on the value of the motion vector of the current block. That is, if the fractional part of the motion vector is not zero, the inter prediction unit (544) generates subsamples indicated by that fractional part through interpolation. If the fractional part of the horizontal component (x component) of the motion vector is not zero, interpolation is performed in the horizontal direction, and if the fractional part of the vertical component (y component) of the motion vector is not zero, interpolation is performed in the vertical direction.
[0071] The adder (550) restores the current block by adding the residual block output from the inverse transformation unit and the prediction block output from the inter prediction unit or the intra prediction unit. The samples within the restored current block are used as reference samples when intra-predicting the block to be decoded later.
[0072] The loop filter section (560) may include at least one of a deblocking filter (562), an SAO filter (564), and an ALF (566). The deblocking filter (562) deblocks the boundaries between restored blocks to remove blocking artifacts caused by block-unit decoding. The SAO filter (564) performs filtering by adding a corresponding offset to the restored block after deblocking filtering to compensate for the difference between the restored sample and the original sample caused by lossy coding. The ALF (566) performs filtering on the target sample by applying filter coefficients to the target sample and the surrounding samples of the target sample. The ALF (566) can perform differential filtering for each group by dividing the samples included in the image into predetermined groups and determining one filter to be applied to each group. The filter coefficients of the ALF are determined using information about the filter coefficients decoded from the non-stream.
[0073] The restored blocks filtered through the loop filter section (560) are stored in memory (570). When all blocks within a picture are restored, the restored picture is used as a reference picture for inter-predicting blocks within a picture to be encoded later.
[0075] As explained above, in the case of inter prediction, the video encoding device encodes information regarding the motion vector of the current block and the reference picture referenced by that motion vector, and transmits it to the video decoder. The video decoder decodes the information received from the video encoding device to determine the motion vector of the current block and the reference picture to be used for inter prediction. Then, it generates a prediction block using the determined motion vector and reference picture.
[0076] Generally, the pictures constituting a single video sequence have the same resolution or size. However, in some applications, pictures within a video sequence may have different resolutions. When inter-predicting the current block, a picture that was encoded or decoded before the current picture containing the current block within the video sequence is used as the reference picture. Therefore, the current picture containing the current block to be encoded or decoded may have a different resolution than the reference picture that the current block refers to. In this case, the video encoding or decoding device predicts the current block using the reference picture having a different resolution from the current picture.
[0077] The present disclosure relates to an inter-prediction method for a video sequence composed of pictures, at least some of which have different resolutions or sizes.
[0078] The video encoding device encodes information (a first syntax element) regarding the reference size of the pictures constituting the video sequence and transmits it to the video decoding device. The first syntax element includes the reference width and reference height of the pictures. The first syntax element may be included within the high-level syntax structure of the bitstream. For example, it may be included in the SPS, which is the header of the sequence, and signaled to the video decoding device. Alternatively, different reference sizes may be set for each of one or more picture groups constituting the sequence. In this case, the first syntax element may be included in the picture parameter set (PPS) that is commonly referenced by the pictures within the corresponding picture group and signaled.
[0079] Meanwhile, the actual size of the pictures constituting the video sequence may differ from the reference size. In other words, the pictures may have a size scaled from the reference size. The video encoding device encodes a second syntax element to represent the size (width and height) of the pictures scaled from the reference size. Since the pictures constituting the video sequence of the present disclosure have different resolutions, the second syntax element may be set differently for each picture group consisting of one or more pictures. Accordingly, the second syntax element may be included in and signaled in the PPS. Pictures referencing different PPSs may have a second syntax element set to a different value.
[0080] In some embodiments, the second syntax element may be the actual width and height of the pictures. In some other embodiments, the second syntax element may be a value representing a ratio to a reference size. For example, it may include a horizontal ratio representing the difference from the reference width and a vertical ratio representing the difference from the existing height. In some yet another embodiment, the second syntax element may be defined as an offset value from each of the left, right, top, and bottom boundaries of the picture of the reference size.
[0081] The video encoding device encodes the input pictures. Additionally, if the size of the input pictures differs from the reference size, the video encoding device may convert the resolution of the input pictures so that the size of the input pictures becomes equal to the reference size. Resolution conversion can be performed by enlarging the size of the input pictures by padding samples with predefined values. Alternatively, resolution conversion may be upsampling or downsampling using filters.
[0082] The video encoding device and the video decoding device may store one or more filters used for resolution conversion in advance. Alternatively, information about the filters may be signaled in units such as sequences, pictures, subpictures, slices, tiles, CTUs, etc.
[0083] Alternatively, n fixed default filters (where n is a natural number greater than or equal to 1) and m additional filters (where m is a natural number greater than or equal to 1) may be used, and information about the additional filters may be transmitted to an image decoder. When signaling information about the filters, the values of the filter coefficients themselves may be signaled, or the difference values from the default filter coefficients may be signaled. The image decoder can recover the filter coefficients from the difference values.
[0084] If multiple filters are available, the index of the filter used for resolution conversion among the multiple filters may be signaled. Alternatively, without signaling the index, the image encoder and image decoder may select a filter based on the scale difference between the reference size and the actual size.
[0085] The video encoding device performs inter-prediction using pictures whose resolutions have been converted to a reference size. That is, the video encoding device determines a reference picture to be used for inter-prediction of the current block to be encoded, and determines a motion vector representing the location of the block within the reference picture that is most similar to the current block. As explained below, if reference pictures are stored at their actual size, the reference picture may have a different resolution from the current picture (which has an actual size or a reference size). Therefore, the video encoding device can determine the motion vector after converting the resolution of the reference picture to be the same as the resolution of the current picture.
[0086] The video encoding device generates a prediction block for the current block using a reference picture and motion vectors. Information regarding the reference picture, information regarding motion vectors, and information regarding the residual signal (the difference between samples within the current block and the prediction block) is encoded and transmitted to the video decoder.
[0087] Meanwhile, the image encoding device stores the picture restored by the inverse quantization unit (160), inverse transformation (165), adder (170), and filter unit (180) of FIG. 1 in memory (190). Before storing in memory, the image encoding device may convert the restored picture to various resolutions or sizes and then store it. For example, the image encoding device converts the restored picture having a reference size into a picture of actual size and then stores the converted picture.
[0088] Hereinafter, a method for a video decoding device to decode an encoded video sequence of pictures with at least some different resolutions or sizes is described with reference to FIG. 6.
[0089] The image decoder decodes a first syntax element representing the reference size of the pictures from the high-level syntax structure of the bitstream (e.g., SPS or PPS). Then, it decodes a second syntax element representing the scaled picture size from the reference size (S610). Additionally, if the current block to be decoded is inter-predicted, the image decoder decodes information about the motion vector of the current block and the reference picture (S620).
[0090] The video decoder predicts the current block using a reference picture and motion vectors indicated by information regarding the reference picture. Since the picture within the video sequence that was decoded before the current picture is used as the reference picture, the reference picture indicated by the information regarding the reference picture may have a different size or resolution from the current picture containing the current block. Similar to the video encoder, the reference pictures stored in the video decoder's memory may have sizes converted to actual sizes rather than reference sizes. On the other hand, the motion vector transmitted by the video encoder is a value determined by the resolution of the current picture. Therefore, applying the decoded motion vector itself to the reference picture can reduce prediction efficiency.
[0091] As one embodiment for solving this problem, the image decoder may generate a prediction block using a decoded motion vector from a resolution-converted reference picture after converting the resolution of the reference picture to the resolution of the current picture. In this case, the resolution conversion may be performed using a filter shared by the image encoding device and the image decoder, as described above, or a filter defined by filter information signaled from the image encoding device.
[0092] As another embodiment, the decoded motion vector may be modified using the first and second syntax elements. This modification processor is used to modify the sample position indicated by the original motion vector within a reference picture having a resolution different from that of the current picture.
[0093] Referring to FIG. 6, the image decoder can calculate a scale factor representing the scale difference between the current picture and the reference picture using a first syntax element representing a reference size and a second syntax element representing a picture size scaled from the reference size (S630).
[0094] For example, an image decoder can calculate a first value representing a scale difference or scale ratio between the size of a reference picture and a reference size by using a first syntax element representing a reference size within a PPS referenced by the reference picture and a second syntax element representing a picture size scaled from the reference size. Additionally, the image decoder can calculate a second value representing a scale difference or scale ratio between the size of a current picture and a reference size by using a first syntax element representing a reference size within a PPS referenced by the current picture and a second syntax element representing a picture size scaled from the reference size. A scale factor between the current picture and the reference picture is calculated using the first value and the second value.
[0095] Meanwhile, an offset factor can be computed to further modify the motion vector. Motion vectors can be represented by a predefined fixed number of bits. Therefore, a motion vector to which a scale factor has been applied must be represented by the same number of bits as that fixed number of bits. The offset factor can be used as a shift value in a bit shift operation to adjust the number of bits of the motion vector to which the scale factor has been applied. The value of the motion vector is modified by the bit shift, and accordingly, the sample position indicated by the motion vector within the reference picture is modified. The offset factor for the bit shift is derived from the first and second syntax elements. For example, the value of the offset factor can be derived according to the value of the scale factor computed by the first and second syntax elements.
[0096] Additionally, the offset factor may be used to adjust the position indicated by the motion vector. The actual pictures may differ not only in scale from the reference-sized picture but also in position within the reference-sized picture. The offset factor may be used to compensate for the positional difference between the actual pictures within the reference picture. If the second syntax element is defined as offset values from the left, right, top, and bottom boundaries of the reference-sized picture, respectively, the offset factor may be set to an offset value from the left and top boundaries included in the second syntax element, respectively.
[0097] Meanwhile, the scale factor and offset factor can be calculated for the horizontal and vertical directions, respectively. The horizontal scale factor and horizontal offset factor are applied to the horizontal component (x component) of the motion vector, and the vertical scale factor and vertical offset factor are applied to the vertical component (y component) of the motion vector.
[0098] The motion vector of the current block decoded from the bitstream is modified by the aforementioned scale factor and offset factor. In other words, the sample position indicated by the decoded motion vector within the reference picture is modified through the scale recognition and offset factor. The image decoder generates a prediction block of the current block size from the modified sample position within the reference picture (S640).
[0099] Meanwhile, filtering may be involved in the motion compensation process that generates prediction blocks from a reference picture stored in memory. The filtering may be for interpolation of the reference picture. The fractional part of the motion vector (modified motion vector) represents the location of a subsample, that is, a fractional sample. The sample value corresponding to the subsample location can be generated through interpolation from integer samples within the reference picture.
[0100] One or more filters are defined by the shape, size (number of taps), and filter coefficients of the filters, and among those filters, one filter may be selected based on the subsample position indicated by the motion vector, the difference in resolution or size between the current picture and the reference picture (i.e., the aforementioned scale factor), the color component to be decoded (whether it is luma or chroma), etc.
[0101] A one-dimensional filter can be used to filter a reference picture during the motion compensation process. Figure 7 shows examples of one-dimensional horizontal, vertical, and diagonal filters. The filters can have filter sizes n such as 4, 6, 8, etc. The horizontal, vertical, and diagonal filters may have the same size or different sizes.
[0102] Alternatively or additionally, a two-dimensional filter may be used to filter the reference picture. FIG. 8 is an example of a two-dimensional filter. As shown in FIG. 8(a), a general filter of the i-X-J type may be used. Alternatively, as shown in FIG. 8(b), a filter of a predetermined pattern may be used between the image encoding device and the image decoder. Alternatively, as shown in FIG. 8(c), the image encoding device may encode a two-dimensional mask consisting of 0s and 1s and transmit it to the image decoder. The image decoder may decode the mask to determine the shape of the two-dimensional filter.
[0103] The size of the filter to be used can be transmitted from the image encoding device to the image decoder. Alternatively, the image encoding device and the image decoder may use a filter size that has already been agreed upon in advance. When various filter sizes are used, the image encoding device and the image decoder may determine the filter size based on the difference in resolution (or size) between the current picture and the reference picture. The size of the filter in the horizontal direction may be determined by the horizontal scale factor between the current picture and the reference picture, and the size of the filter in the vertical direction may be determined by the vertical scale factor.
[0104] In addition, the size of the filter may be determined by the color component, profile or level, subpicture position, layer ID, picture or slice type (I, P, B), position indicated by the motion vector of the current block, quantization parameter, etc.
[0105] Meanwhile, a Wiener filter may be used as a two-dimensional filter. FIG. 9 illustrates various shapes and sizes of Wiener filters. The shape and size of the Wiener filter to be used may be selected according to the characteristics of the reference picture, or may be selectively used according to luminance or chrominance components. Alternatively, the image encoding device and the image decoder may store multiple Wiener filters in the same way, and the image encoding device may signal the index of the filter to be used among the multiple Wiener filters to the image decoder.
[0106] Alternatively or additionally, as shown in FIG. 10, Warner filters with different horizontal and vertical lengths may be used. One of the multiple Warner filters may be selected based on the horizontal and vertical scale factors between the current picture and the reference picture. FIG. 10 illustrates only filters where the horizontal scale factor is greater than the vertical scale factor, but in the opposite case, the filter shape can be used by rotating it 90 degrees. Additionally, as shown in (m) and (n) of FIG. 10, one direction may not be used depending on the horizontal or vertical scale ratio.
[0107] Meanwhile, regarding the filter type, multiple filters may be selectively used depending on the characteristics of the reference picture.
[0108] As one embodiment, the image encoding device may transmit information regarding the class and the number of classes according to the characteristics of the reference picture to the image decoder. The image decoder, similar to the image encoding device, derives the characteristics of the reference picture to determine the class and selects a filter corresponding to the determined class. If multiple filters are included in the corresponding class, information regarding the filter index may be additionally transmitted.
[0109] Feature extraction of a reference picture can be performed on a block-by-block or pixel-by-pixel basis. When extracting on a block-by-block basis, features can be extracted from the entire block or by sampling only a portion of it. Commonly used two-dimensional filters can be used to extract features from the reference picture. As an example, filters for first or second derivative operations may be used. The extracted image features can be calculated as first and second features, and these two values can be quantized using predetermined values. A class can be selected based on the quantized values. The first feature may be the sum of the absolute values of the second derivatives in the horizontal direction and the second derivatives in the vertical direction. The second feature may be the index value for the direction having the largest value among the second derivatives in the horizontal, vertical, and diagonal directions.
[0110] Alternatively, if an Adaptive Loop Filter (ALF) has been applied to the reference picture, the filter to be used for motion compensation can be selected using features already extracted during the ALF execution process for the block corresponding to the reference position selected within the reference picture by the motion vector. The reference position may be a position moved by the motion vector from the center of the current block, or a position moved by the motion vector from the top-right of the current block.
[0111] Meanwhile, regarding filter coefficients, the image encoding device and the image decoding device may each store in advance a set of multiple filter coefficients composed of multiple predefined filter coefficients. Among the sets of multiple filter coefficients, the filter coefficients to be used may be adaptively selected based on the difference in resolution (or size) between the current picture and the reference picture. The set of filter coefficients to be used for horizontal filtering may be determined by the horizontal scale factor between the current picture and the reference picture, and the set of filter coefficients to be used for vertical filtering may be determined by the vertical scale factor.
[0112] Alternatively or additionally, a set of filter coefficients may be determined based on the position of the subpixel pointed to by the motion vector in the horizontal and vertical directions, respectively, and the precision (resolution) of the motion vector. Additionally, different sets of filter coefficients may be used for the luminance component and the chrominance component.
[0113] In another embodiment, filter coefficients can be signaled from an image encoding device to an image decoder.
[0114] For example, the video encoder calculates filter coefficient values that minimize error for each class classified according to picture characteristics, using sample values from the current picture and the reference picture. To calculate the filter coefficient values that minimize error, the least squares method, or auto-correlation and cross-correlation, may be used. The filter coefficients generated for each class are signaled to the video decoder. Information regarding the filter coefficients may be included in high-level syntax structures such as SPS, PPS, slice headers, and APS. The video decoder recovers the filter coefficients generated for each class. Then, it determines the class using the characteristics of the reference picture and selects the filter coefficients corresponding to the determined class.
[0115] Filter coefficients can be predictively encoded. For example, an image encoder determines filter coefficients corresponding to the current high-level syntax structure and encodes the difference between the determined filter coefficients and the filter coefficients corresponding to the previous high-level syntax structure into the current high-level syntax structure. An image decoder decodes the filter coefficients included in the current high-level syntax structure and adds the filter coefficients restored from the previous high-level syntax structure to restore the final filter coefficients.
[0116] Meanwhile, as shown in FIG. 11, only some of the filter coefficients are transmitted, and the rest can be derived according to the characteristics of the reference picture. In FIG. 11, the locations of the signaling filter coefficients are indicated by shading. Some filter coefficients use fixed values or previously restored filter coefficients, and only the remaining updated filter coefficients can be signaled.
[0118] It should be understood that the exemplary embodiments described above may be implemented in many different ways. The functions described in one or more examples may be implemented in hardware, software, firmware, or any combination thereof. It should be understood that the functional components described herein are labeled as "...unit" to particularly emphasize their implementation independence.
[0119] Meanwhile, the various functions or methods described in this disclosure may be implemented as instructions stored in a non-transient recording medium that can be read and executed by one or more processors. A non-transient recording medium includes, for example, any type of recording device in which data is stored in a form readable by a computer system. For example, a non-transient recording medium includes storage media such as an EPROM (erasable programmable read-only memory), a flash drive, an optical drive, a magnetic hard drive, and a solid-state drive (SSD).
[0120] The above description is merely an illustrative explanation of the technical concept of the present embodiment, and a person skilled in the art to which the present embodiment belongs would be able to make various modifications and variations within the scope of the essential characteristics of the present embodiment. Accordingly, the present embodiments are intended to explain, not limit, the technical concept of the present embodiment, and the scope of the technical concept of the present embodiment is not limited by these embodiments. The scope of protection of the present embodiment shall be interpreted by the claims below, and all technical concepts within an equivalent scope shall be interpreted as being included within the scope of rights of the present embodiment.
Claims
Claim 1 A method for decoding a sequence of pictures, at least some of which have different resolutions, comprising: decoding from a high-level syntax structure of the sequence a first syntax element for specifying a reference size of pictures referencing the high-level syntax structure and a second syntax element for specifying a scaled picture size from the reference size of pictures referencing the high-level syntax structure; decoding using the first and second syntax elements at least one scale factor and at least one offset factor representing a scale difference between a current picture containing a current block to be decoded and a reference picture referenced by the current block, wherein the at least one scale factor and at least one offset factor are used to modify a sample position indicated by a motion vector of the current block within the reference picture. A video decoding method characterized by including the step of generating a prediction block of the current block from the reference picture using the motion vector of the current block, the at least one scale factor, and the at least one offset factor. Claim 2 ◈Claim 2 was abandoned upon payment of the registration fee.◈ A video decoding method according to Claim 1, wherein the high-level syntax structure is a picture parameter set defined for each picture group composed of one or more pictures among the pictures in the sequence, and the picture parameter set includes parameters that are commonly referenced by the pictures within the corresponding picture group. Claim 3 ◈Claim 3 was abandoned upon payment of the registration fee.◈ A method for image decoding according to Claim 1, wherein the step of generating a prediction block of the current block comprises: a step of generating a modified motion vector by applying at least one scale factor and at least one offset factor to the motion vector of the current block; and a step of generating the prediction block using restored samples of a position indicated by the modified motion vector within the reference picture. Claim 4 ◈Claim 4 was abandoned upon payment of the registration fee.◈ Image decoding method according to Claim 1, wherein the at least one scale factor includes a horizontal scale factor and a vertical scale factor applied respectively to the horizontal and vertical components of the motion vector of the current block, and the at least one offset factor includes a horizontal offset factor and a vertical offset factor applied respectively to the horizontal and vertical components of the motion vector of the current block. Claim 5 ◈Claim 5 was abandoned upon payment of the registration fee.◈ Image decoding method according to Claim 4, wherein the prediction block is generated by filtering the reference picture, and the filter used for the filtering is adaptively selected from among a plurality of filters according to the scale factor. Claim 6 ◈Claim 6 was abandoned upon payment of the registration fee.◈ An image decoding method according to Claim 5, wherein the filtering comprises horizontal direction filtering and vertical direction filtering, wherein the filter for horizontal direction filtering is adaptively determined according to the horizontal scale factor, and the filter for vertical direction filtering is adaptively determined according to the vertical scale factor. Claim 7 ◈Claim 7 was abandoned upon payment of the registration fee.◈ Image decoding method according to Claim 1, characterized in that the second syntax element is defined as offset values from each of the left, upper, right, and lower boundaries of a picture having the reference size. Claim 8 A method for encoding a sequence of pictures having at least some of different resolutions, comprising: a step of encoding a first syntax element for specifying a reference size of pictures referencing the high-level syntax structure and a second syntax element for specifying a scaled picture size from the reference size of pictures referencing the high-level syntax structure, wherein the first and second syntax elements are encoded for use in deriving at least one scale factor and at least one offset factor representing a scale difference between a current picture containing a current block to be decoded and a reference picture referenced by the current block, wherein the at least one scale factor and the at least one offset factor are used to modify a sample position indicated by a motion vector of the current block within the reference picture; and a step of generating a prediction block of the current block from the reference picture using the motion vector of the current block, the at least one scale factor, and the at least one offset factor. Claim 9 A method for transmitting video data comprising a sequence of pictures, at least some of which have different resolutions, to a video decoder, comprising: a step of encoding said video data to generate a bitstream; and a step of transmitting said bitstream to a video decoder, wherein the step of generating said bitstream comprises: a step of encoding a first syntax element for specifying a reference size of pictures referencing said high-level syntax structure and a second syntax element for specifying a scaled picture size from the reference size of pictures referencing said high-level syntax structure, wherein said first and second syntax elements are encoded for use in deriving at least one scale factor and at least one offset factor representing a scale difference between a current picture containing a current block to be decoded and a reference picture referenced by said current block, and said at least one scale factor and said at least one offset factor are used to modify a sample position indicated by a motion vector of said current block within said reference picture. A method characterized by including the step of generating a prediction block of the current block from the reference picture using the motion vector of the current block, the at least one scale factor, and the at least one offset factor. Claim 10 delete Claim 11 delete Claim 12 delete Claim 13 delete Claim 14 delete
Citation Information
Patent Citations
Cross-layer parallel processing and offset delay parameters for video coding
KR1020160032180A
Methods and systems for scalable video coding with mixed interlace and progressive content
KR1020160105861A
