System and method for video encoding using adaptive loop filter
Abstract
Problem to be solved.To provide a moving image coding system using an adaptive loop filter for reducing blocking false images at a boundary between adjacent blocks reconstructed from a compressed moving image information frame.
Solution.The method disclosed here is a method of reducing blocking artifacts at a boundary between adjacent blocks reconstructed from a compressed moving image information frame. This video information includes predictive stage parameters for at least one block. The method also reconstructs at least one block based on the prediction stage parameters, calculates the residual error attribute from the reconstructed block, and is based on the reference filter strength and at least one increment value. Select an increment value from multiple preset values based on the prediction stage parameter and at least one of the block-related residual attributes, including calculating the filter intensity value, and use the selected filter intensity value. Filter boundaries adjacent to at least one block. [Selection diagram] Fig. 5

Term
3 yearsto projected expiry
Projected expiry 10 September 2029, counted from filing; an application has no term until it is granted.
- Priority
- Filed
- Published
- Today
- Projected expiry
25 claims: 6 independent, 19 dependent
- 1少なくとも1つのブロックに関して、予測ステージパラメータを含む圧縮動画情報のフレームから再構成された隣接ブロック間の境界でブロッキングアーチファクトを低減させる方法であって、 前記予測ステージパラメータに基づき1つのブロックを再構成することと、 前記再構成ブロックから残差エラー属性を算出することと、 基準フィルタ強度と、少なくとも1つの増加値に基づいて、フィルタ強度値を算出することと、ここで、前記増加値は、前記1つのブロックに関連した前記予測ステージパラメータと残差エラー属性との少なくとも1つに基づいて、複数のプリセット値から選択され、 前記選択されたフィルタ強度値を用いて、前記1つのブロックに隣接する境界をフィルタ処理することと を含むことを特徴とする方法。
- 2前記予測段階パラメータは、参照フレームタイプと予測モードの少なくとも少なくとも1つを含むことを特徴とする請求項1に記載の方法。
- 3前記参照フレームタイプは、イントラフレーム、最終フレーム、ゴールデンフレーム、および代替参照フレームのいずれかであることを特徴とする請求項2に記載の方法。
- 4前記予測モードは、非分割モードと分割モードのいずれかであることを特徴とする請求項2に記載の方法。
- 5前記フィルタ強度値を算出することは、前記予測ステージパラメータと前記残差エラー属性の他方の1つに基づく前記複数のプリセット値から選択された第2の増加値に基づいて、前記フィルタ強度値を算出することをさらに含むことを特徴とする請求項1~4に記載の方法。
- 6前記残差エラー属性は、ヌル動きベクトルと非ゼロ動きベクトルのいずれかであることを特徴とする請求項5に記載の方法。
- 7前記複数のプリセット値は、フレームレベルで求められることを特徴とする請求項1~4記載の方法。
- 8復号されている前記フレームが、キーフレームであるか否か判断することをさらに含み、復号されている前記フレームがキーフレームである場合、前記増加値が、ディフォルト値に設定されることを特徴とする請求項7に記載の方法。
- 9復号されている前記フレームが、ループフィルタ強度値条件を特定するか否か判断することと、復号されている前記フレームがループフィルタ強度値条件を特定する場合、特定されたループフィルタ強度値を前記複数のプリセット値に割り当てることをさらに含むことを特徴とする請求項7に記載の方法。
- 10復号されている前記フレームが、単一のループフィルタ条件を特定するか否か判断することと、 復号されている前記フレームが単一のループフィルタ条件を特定する場合、前記予測ステージパラメータと前記1つのブロックに関連した前記残差エラー属性とに関わりなく、単一のループフィルタ強度値を前記ブロックに割り当てることと をさらに含むことを特徴とする請求項7に記載の方法。
- 11各々のフレームが、予測ステージパラメータと残差エラー属性を有する複数のブロックを含む圧縮動画情報のフレームを復号する方法であって、 前記予測段階パラメータと前記残差エラー属性との少なくとも1つに基づいて、前記ブロックの各々をカテゴリに分類することと、 前記カテゴリの各々に対しループフィルタ強度値を求めることと、 前記ブロックが分類された前記カテゴリに割り当てられた前記ループフィルタ強度を用いて、前記ブロックの少なくとも1つに隣接する境界をフィルタ処理することと を含むことを特徴とする方法。
- 12前記一定のカテゴリに対しループフィルタ強度値を求めることは、 少なくとも1つのフレームで特定された基準ループフィルタ強度値を求めることと、 前記カテゴリに関連した前記予測ステージパラメータと前記残差エラー属性との少なくとも1つに基づき、前記一定のカテゴリに対し1つ以上のプリセット増加値を求めることと、 前記1つ以上のプリセット増加値を前記基準ループフィルタ強度値に加えることと を含むことを特徴とする請求項11に記載の方法。
- 13前記予測ステージパラメータは、予測フレームタイプと予測モードとの少なくとも1つを含むことを特徴とする請求項11に記載の方法。
- 14前記参照フレームタイプは、イントラフレーム、最終フレーム、ゴールデンフレーム、および代替参照フレームのいずれかであることを特徴とする請求項13に記載の方法。
- 15前記予測モードは、非分割モードと分割モードのいずれかであることを特徴とする請求項13に記載の方法。
- 16前記残差エラー属性は、ヌル動きベクトルと非ゼロ動きベクトルのいずれかであることを特徴とする請求項11~15に記載の方法。
- 17前記カテゴリの各々に対しループフィルタ強度値を割り当てることは、前記フレームの少なくとも1つで特定された一組のループフィルタ修飾子からの各カテゴリに対し前記ループフィルタ強度値を求めることをさらに含むことを特徴とする請求項11~15に記載の方法。
- 18復号されている前記フレームが、キーフレームであるか否か判断することと、復号されている前記フレームがキーフレームである場合、前記プリセットカテゴリの少なくとも1つの前記ループフィルタ強度値をディフォルト値に設定することをさらに含むことを特徴とする請求項17に記載の方法。
- 19復号されている前記フレームが、前記1つ以上のカテゴリに対しループフィルタ強度値条件を特定するか否か判断することと、 復号されている前記フレームが前記1つ以上のカテゴリに対しループフィルタ強度値条件を特定する場合、前記指定されたループフィルタ強度値を前記1つ以上のカテゴリに割り当てることとをさらに含むことを特徴とする請求項18に記載の方法。
- 20復号されている前記フレームが、単一のループフィルタ条件を特定するか否か判断することと、 復号されている前記フレームが単一のループフィルタ条件を特定する場合、前記カテゴリに関わらず、単一のループフィルタ強度値を前記全ブロックに割り当てることとをさらに含むことを特徴とする請求項11~15に記載の方法。
- 21各フレームが予測ステージパラメータと残差エラー属性とを有する複数のブロックを含む、圧縮動画情報のフレームを復号する方法であって、 各ブロックに対し前記ブロック属性を求めることと、 各値が1つ以上のブロック属性に関連した、1つ以上のループフィルタ属性の複数の値を求めることと、 前記ブロックのブロック属性に基づいて、特定ブロックに対し1つ以上のループフィルタ属性値の1つを選択することと、 前記選択した1つ以上のループフィルタ属性値を用いて、前記特定ブロックに隣接する前記境界をフィルタ処理することと を含むことを特徴とする方法。
- 22前記ループフィルタ属性は、フィルタタイプ、フィルタ強度、フィルタ係数、およびフィルタタップの少なくとも1つを含むことを特徴とする請求項21に記載の方法。
- 23前記ブロック属性は、予測モード、参照フレームタイプ、および残差エラー属性の少なくとも1つを含むことを特徴とする請求項21または22に記載の方法。
- 24前記少なくとも1つのループフィルタ属性値を決定することは、以下のいずれかを含むことを特徴とする請求項21又は22に記載の方法。 復号されているフレームがキーフレームである場合、前記値をプリセットデフォルト値にセットする;および 復号されているフレームが前記値が更新されるべきであると特定している場合、前記復号されているフレームで特定される前記値に、前記値の少なくとも1つをセットする
- 25前記ブロックのブロック属性に基づいて、特定ブロックに対し1つ以上のループフィルタ属性値の1つを選択することは、さらに、 基準ループフィルタ属性値を、少なくとも1つのフレームで特定されたように決定し;前記ブロックのブロック属性に基づいて、1つ以上のプリセット増加値を決定し;および 前記1つ以上のプリセット増加値を前記基準ループフィルタ強度値に加えて、少なくとも1つのループフィルタ属性の値を計算する ことを含むことを特徴とする請求項21または22に記載の方法。
Independent claims25
76 paragraphs, as filed
Cross-reference of related applications This application claims the priority of U.S. Provisional Patent Application No. 61 / 096,147 filed on September 11, 2008, U.S. Patent Application No. 12 / 329,070 filed on December 5, 2008. Priority is claimed here, and the entire contents of both applications are incorporated herein by reference.
The present invention generally relates to moving image coding, and more particularly to moving image coding using a loop filter.
Many of today's growing applications utilize digital video for a variety of purposes, including, for example, remote business conferencing through video conferencing, high-definition video entertainment, video advertising, and sharing of user-generated videos. There is. As technology advances, people have high expectations for video quality and high resolution video, along with smooth playback at high frame rates.
There can be many factors to consider when choosing a video coder to display digital video. Some applications require good video quality, while others may need to meet various constraints, including, for example, bandwidth or storage requirements. VPx (popularized by On2 Technologies, New York City, Clinton Park), VCEG (ITU-), including current and future versions, to enable higher quality video transmission while limiting bandwidth consumption. Popularized by the H.264 standard (populated by the ITU-T Video Coding Experts Group) and MPEG (ISO / IEC Moving Picture Experts Group) ) Numerous video compression methods are known, including proprietary formats such as standards. H.264 is also known as MPEG-4 Part 10 or MPEG-4 AVC (formally ISO / IEC 14496-10).
Many video coding techniques are block-based prediction and quantization block transformation. Block-based prediction allows the reconstruction framebuffer to be used to predict subsequent frames. Using block-based prediction and quantized block transformations can cause discontinuities along block boundaries. These discontinuities (commonly referred to as blocking artifacts) are not only visually pleasing, but can also reduce the efficiency of reference frames as predictors of subsequent frames. is there. Loop filters can be applied to reduce these discontinuities. This loop filter can also be applied to the reconstructed framebuffer. Some traditional loop filters apply different filter intensities to different block boundaries. For example, in some compression systems, the strength of the loop filter changes, for example, based on whether the block is inter-coded or intra-coded. In other compression systems, filter strength is applied, for example, based on the difference between the degree of discontinuity and the threshold level. Further, for example, in a certain compression system, the intensity of the loop filter can be changed by calculating, for example, the difference value of the illumination change of the block as compared with the adjacent block.
One embodiment of the present invention discloses as a method of reducing blocking artifacts at boundaries between adjacent blocks reconstructed from a compressed moving image information frame. The video information includes predictive stage parameters for at least one block. This method reconstructs one block based on the prediction stage parameters, calculates the residual error attribute from the reconstructed block, and is based on the reference filter strength and at least one increment. This includes calculating the filter strength value. This increment is selected from multiple preset values based on at least one of the predictive stage parameters and residual error attributes associated with a block. Boundaries adjacent to a block are filtered using the selected filter intensity value.
Another embodiment of the present invention discloses as a method of decoding a compressed moving image information frame in which each frame includes a plurality of blocks having a prediction stage parameter and a residual attribute. This method involves classifying each of the blocks into categories based on at least one of the prediction stage parameters and residual attributes, and finding the loop filter intensity value for each of the categories. The loop filter strength assigned to the category in which the block is classified is used to filter the boundaries adjacent to at least one of the blocks.
Another embodiment of the present invention discloses as a method of decoding a compressed moving image information frame in which each frame includes a plurality of blocks having a prediction stage parameter and a residual attribute. This method involves finding the block attributes of each block and finding multiple values for one or more loop filter attributes. Each value is associated with one or more block attributes. One of the values of one or more loop filter attributes is selected for a particular block based on the block attributes of that block. Boundaries adjacent to a particular block are filtered using one or more selected loop filter attribute values.
These and other embodiments of the present invention will be described in more detail below.
Here, the description will be given with reference to the attached drawings, and the same reference numerals indicate the same parts across a plurality of drawings.
<figref num="1">It is a block diagram of the moving image compression system by one Embodiment of this invention.</figref>
<figref num="2">FIG. 3 is a block diagram of a moving image decompression system according to an embodiment of the present invention.</figref>
<figref num="3">It is a schematic diagram of the intra prediction mode and the inter prediction mode used in the moving image compression and restoration system of FIGS. 1 and 2.</figref>
<figref num="4">It is a block diagram of the loop filter control used for the calculation of the strength modifier used in the moving image compression system of FIG.</figref>
<figref num="5">It is a flowchart of the method of selecting the strength modifier of FIG.</figref>
<figref num="6">It is a flowchart of the method of updating the loop filter processing of the moving image data used in the moving image compression system of FIG.</figref>
<figref num="7">It is a flowchart of another method for updating the loop filter processing of the moving image data used in the moving image compression system of FIG.</figref>
Disclosed here is an embodiment of an adaptive loop filter that removes or reduces blocking artifacts. Also disclosed here is an embodiment of an adaptive loop filter that uses less overhead data to remove or reduce blocking artifacts and / or reduce computational complexity.
FIG. 1 is a block diagram of a moving image encoder 14 using the adaptive filter 34 according to the embodiment of the present embodiment.
In the disclosed embodiments, block-based video compression is performed on a fixed shape group of adjacent pixels called macroblocks. In general, each frame of a moving image can be divided into macroblocks, and each macroblock is composed of small size blocks. Macroblocks and these pixel groups in blocks can be compared to data in the current frame or any other frame to generate motion data and error signals. In this embodiment, each macroblock may be a 16 × 16 pixel group. In other embodiments, the macroblock may also be of any other size.
Although the description of the new adaptive loop filter embodiment has been described in the context of the VP8 video coding format, another embodiment of the invention can also be implemented in the context of other video coding formats. Also, this embodiment is not limited to any particular video coding standard or format.
Loop filtering can be applied to the reconstructed frame during the reconstructed pass to eliminate discontinuities at the block boundaries. As described in more detail below, the choice of loop filter and loop filter intensity can have a significant effect on image quality. Filters that are too strong can cause blurring and lack of detail. Conversely, a filter that is too weak may not be able to adequately suppress the discontinuity between adjacent blocks.
FIG. 1 will be described. To encode the input video stream 16, the encoder 14 performs the following processing, i.e. the following processing of the forward path (shown by the solid line): intra / inter prediction 18, transformation 19, quantization 22, and Entropy coding 24 is performed to generate the coded bitstream 26. The encoder 14 also includes a reconstruction path (shown by the dotted line) that reconstructs the frame to encode additional macroblocks. Encoder 14 performs the following operations in the reconstruction path: inverse quantization 28, inverse transformation 30, reconstruction 32, and loop filtering 34. Other structural changes to the encoder 14 can be used to code the bitstream 26.
FIG. 1 will be described. When the input video stream 16 is given for coding, each frame in the input video stream 16 can be processed in macroblock units. In the intra / inter prediction stage 18, each macroblock can be encoded using either the intra prediction mode or the inter prediction mode. In any case, the predictive macroblock can be formed based on the reconstruction frame. In the case of intra-prediction, for example, a prediction macroblock can be formed from a sample of the current frame that has been coded and reconstructed in the past. On the other hand, in the case of inter-prediction, the prediction macroblock can be formed from, for example, one or more previous or future frames (that is, reference frames) that have already been encoded and reconstructed. Also, in another embodiment, some combination of both intra-prediction and inter-prediction can be used to encode the macroblock.
Next, FIG. 1 will be further described. A predictive macroblock can be subtracted from the current macroblock to generate a residual macroblock (residual). In transform stage 19, the residuals are transform-coded, and in quantization stage 22, the residuals are quantized to generate a set of quantization conversion coefficients. The quantization conversion factor is then entropy-encoded in the entropy-encoding stage 24. The entropy coding factor can be output to the compressed bitstream 26 along with the information needed to decode the macroblock, such as the prediction mode type used, the motion vector, and the quantization value.
The reconstruction path in Figure 1 allows both the encoder and decoder to use the reference frames needed to decode the macroblock. The reconstruction path is the same as the function executed during the decoding process, which is described in more detail below, in which the conversion coefficient is inversely quantized by the inverse quantization stage 28 and the coefficient is inversely converted by the inverse conversion stage 30. This includes generating a differential residual macroblock (differential residual). At reconstruction stage 32, the prediction macroblock can be added to the derivative residuals to generate the reconstruction macroblock. In addition, the adaptive loop filter 34 can be applied to the reconstructed macroblock to reduce blocking artifacts.
FIG. 2 will be described. According to one embodiment, in order to decode the compressed bitstream 26, the decoder 21 performs the following functions in the same manner as the reconstruction path of the encoder 14 described above to generate the output moving image stream 35. That is, entropy decoding 25, inverse quantization 27, inverse transformation 29, intra / inter prediction 23, reconstruction 31, adaptive loop filter 34, and deblocking filtering 33 are performed. Other structural modifications of the decoder 21 can be used to decode the compressed bitstream 26.
When the compressed bitstream 26 is given for decoding, the entropy decoding stage 25 can entropy decode the data elements to generate a set of quantization coefficients. The coefficients can be inversely quantized in the inverse quantization stage 27 and inversely transformed in the inverse transformation stage 29 to generate the same differential residuals as those generated in the reconstruction step of the encoder 14. In the intra / inter prediction stage 23, the decoder 21 uses the header information decoded from the compressed bitstream 26 to generate the same prediction macroblock generated by the encoder 14. At the reconstruction stage 31, the prediction macroblock can be added to the differential residuals to form the reconstruction macroblock. The adaptive loop filter 34 can be applied to the reconstructed macroblock to reduce blocking artifacts. The deblocking filter 33 can be applied to the reconstructed macroblock to further reduce the blocking distortion, and the result can be output to the fishing video stream 35.
Although the description of the embodiment of the new adaptive loop filter has been described with reference to the adaptive loop filter 34 of the encoder, the filtering technique described can also be implemented in the adaptive loop filter 34 of the decoder. References to the decoder's adaptive loop filter 34 have been omitted throughout this disclosure solely to aid the understanding of the present invention. However, the novel filtering is not limited to the encoder's adaptive loop filter 34, but can be applied to the decoder's adaptive loop filter 34 or any other device that implements the filtering technique.
FIG. 3 shows reference frames 44,48 and the current frame 36, which is currently coded or decoded. As mentioned above, each frame can be processed in macroblock units, and at intra / inter-prediction stage 18, each using either intra-prediction mode, inter-prediction mode, or a combination of inter-prediction mode and intra-prediction mode. Macroblocks can be encoded. For example, the current macroblock 38 is encoded or decoded from the previously encoded macroblock 46 of reference frame 44 using interprediction. Similarly, the current macroblock 38'is encoded or decoded from the previously encoded macroblock 50 of reference frame 48 using interprediction. Also, for example, the current macroblock 38 is encoded or decoded from the macroblock 52 in the current frame 36 using interprediction.
During the coding process, blocking artifacts may be generated, for example from intra / inter-prediction stage 18, transformation stage 19, or quantization stage 22. In some conventional filters, the filter strength depends on the block boundary, which complicates the calculation process and wastes time.
FIG. 4 is a block diagram showing a loop filter control 61 of the adaptive loop filter 34 according to the embodiment of the present invention. According to one embodiment, the loop filter control 61 determines the strength modifier 60 based on the block attributes. The block attribute is based on the existing coded information about the block and the information that is passed to the decoder to assist in the correct decoding of the bitstream.
The block attribute can include the prediction stage parameter 65 and the residual error attribute 66. The prediction stage parameter 65 can include a reference frame type 62 and a prediction mode 64 type. As further detailed below, the intensity modifier 60 changes the threshold level of the adaptive loop filter 34.
The reference frame type 62 can be determined by whether or not the intra mode or the interframe mode is used when the prediction block is configured, as in FIG. When using intramode predictive coding, reference frame type 62 will be an intraframe (ie, the current frame). When using an intraframe, as mentioned above, the predictive block can be formed from a sample of the current frame that was previously coded and reconstructed.
When intermode predictive coding is used, interframes can be used as the basis for creating predictive blocks. When using interframes, for example, a predictive block can be formed from one or more previous frames, future frames, or some combination of them that has already been coded and reconstructed. Thus, when using interframes, reference frame type 62 may include, for example, a final frame, a golden frame, or an alternative reference frame. The final frame is the previously encoded frame before the current frame. A golden frame is a past frame that is arbitrarily selected from the distant past frames and used as a predictor for subsequent frames. The alternate reference frame may include a frame that is neither the final frame nor the golden frame. For example, this alternative reference frame may be a past frame, a future frame, or a configuration reference frame. Also, for example, the configuration reference frame is transferred to the assignor of the present invention, filed at the same time as the present invention, and the whole thereof is incorporated herein by reference in the "System and Method for Video". It may be a reference frame disclosed in a patent application entitled "Encoding Using Constructed Reference Frame".
The type of prediction mode 64 can be determined by whether or not intramode or interframe mode coding is used when composing the prediction block, similar to reference frame type 62 (as shown in FIG. 4). When using intra-mode predictive coding, two types of intra-coding can be supported, indicated as non-split mode and split mode. Instead, when using intermode predictive coding, it can support two types of intercoding, shown as non-split mode and split mode.
When using intermode predictive coding in non-split mode, the residual error attribute 66 can be determined by whether the resulting motion vector is null or non-zero.
As mentioned above, the macroblock is a 16 × 16 luminance pixel array. In intracoding, each macroblock can be further subdivided into, for example, 4x4 luminance sample arrays called 4x4 subblocks. Therefore, a macroblock can consist of 16 4x4 subblocks. This is either the predictive block can form for macroblocks (ie, undivided mode) or for each of the 16 4x4 subblocks (ie, split mode). It means that it is. Other subblock sizes such as 16x8, 8x16, and 8x8 are also available. Although the intracoding embodiment has been described with reference to the 4x4 subblock split mode, any other subblock size can also be used in the split mode, and the description of this embodiment is a 4x4 sub. Not limited to blocks.
In intracoding, the non-split mode is the prediction of the entire 16x16 macroblock, while the split mode is the prediction of each 4x4 subblock individually.
For the intracoding non-split mode, for example, one of the four prediction modes can be used to refer to a nearby pixel sample of the previously coded block to the left and / or above the predicted 16x16 block. The four selectable prediction modes are vertical prediction, horizontal prediction, DC prediction, and plane prediction.
For the intracoding split mode, for example, one of nine prediction modes can be used to reference previously encoded neighbor pixel samples to the left and / or above the predicted 4x4 subblock. The nine selectable prediction modes are vertical prediction, horizontal prediction, DC prediction, diagonal lower left prediction, diagonal lower right prediction, vertical right prediction, horizontal lower prediction, vertical left prediction, and horizontal upper prediction.
In intercoding, in unpartitioned mode, one or more motion vectors will be calculated based on the movement of the corresponding reference frame area that predicts the entire 16x16 macroblock. On the other hand, in the split mode, the motion vector is calculated based on the movement of the corresponding reference frame area that predicts the partition of the 16 × 16 macroblock. The 16x16 macroblock is divided into 16x8, 8x16, 8x8, or 4x4 compartments, each with its own motion vector. Other compartment sizes are also available.
Motion vectors can be calculated for each macroblock as a whole or for each subdivision. In particular, motion compensation predicts the pixel value of a macroblock (or the corresponding partition within the macroblock) from the translate of the reference frame. The motion vector for each macroblock or partition is either null, which indicates that there is no change in motion, or nonzero, which indicates that there is a change in motion.
We have described an embodiment of how the adaptive loop filter 34 applies a different intensity modifier 60 based on the prediction stage parameter 65 and the residual error attribute 64, but the filter type, filter coefficient, filter tap, etc. , Some other loop filter attribute may be modified, and the description of this embodiment is not limited to the modification of the intensity modifier 60.
FIG. 5 is a flowchart showing the operation of the loop filter control 61 of FIG. 4 according to the embodiment of the present invention. FIG. 5 will be described. At block 100, the reference loop filter intensity f can be selected for the frame that defines the behavior of the adaptive loop filter 34. Therefore, the reference filter strength f is specified at the frame level of the coded bitstream. By specifying the reference filter intensity f at the frame level, one reference filter value f can be specified for the entire frame using very few bits, so that the overhead can be reduced. However, even if only one reference filter intensity f can be specified for the frame, the filter intensity value / modifier 60 changes the threshold level of the adaptive loop filter 14, as described later, so that the filter processing quality is high. Not impaired.
To adjust the intensity modifier 60 at the macroblock level, delta values 1-8 can be encoded in the bitstream. These delta values are added, for example, to the reference filter intensity f. Other suitable methods of combining the reference filter intensity f and the intensity modifier 60 are also available. The delta value may also be incremental values or an increase / decrease percentage. The delta value may be positive, negative, or zero. By applying the delta according to the flowchart of FIG. 5, 11 different intensity modifiers shown in F1 to F11 are generated.
In the determination block 102, the control 61 determines whether or not the reconstructed current macroblock is intracoded.
If the current macroblock is intracoded, delta 1 can be added to the reference filter strength f. FIG. 4 will be described. In this case, reference frame type 62 is an intraframe. Then, the control 61 moves to the determination block 104.
In the determination block 104, the control 61 determines whether or not the intracoding division mode is used. When the intracoded split mode is used, delta 2 can be added to delta 1 and the reference filter intensity f to generate the intensity modifier modifier F2. This will be explained by returning to FIG. In this case, the prediction mode 64 is an intracoded division mode.
If the intracoded split mode is not used (ie, unsplit mode), only delta 1 can be added to the reference filter strength f to generate the strength modifier f. FIG. 4 will be described. In this case, the prediction mode 64 is an intracoded undivided mode.
If the current macroblock is not intracoded, control 60 moves to decision block 106 to determine the type of intercoded reference frame used. If the last frame is used, delta 3 can be added to the reference filter intensity f. This will be explained by returning to FIG. In this case, reference frame type 62 is the final frame. Then, the control 61 moves to the judgment block 108.
If a golden frame is used, delta 4 can be added to the reference filter intensity f. This will be explained by returning to FIG. In this case, the reference frame type 62 is a golden frame. Then, the control 61 moves to the determination block 110.
If an alternative frame is used, delta 5 can be added to the reference filter intensity f. This will be explained by returning to FIG. In this case, reference frame type 62 is an alternative frame. Then, the control 61 moves to the determination block 112.
As described above, when the final frame is used, the control 61 determines the prediction mode 64 in the determination block 108. When the intercoded split mode is used, delta 8 can be added to the reference filter strengths f and delta 3 to generate the strength modifier F5. This will be explained by returning to FIG. In this case, the prediction mode 64 is an intercoded split mode.
If the intercoded split mode is not used, control 61 determines if the calculated motion vector is null or nonzero. If the motion vector is null, delta 6 can be added to the reference filter intensities f and delta 3 to generate the intensity modifier F3. This will be explained by returning to FIG. In this case, the prediction mode 64 is an intercoded undivided mode, and the residual error attribute 66 is a null motion vector. If the motion vector is nonzero, delta 7 can be added to the reference filter intensities f and delta 3 to generate the intensity modifier F4. This will be explained by returning to FIG. In this case, the prediction mode 64 is the intercoded non-split mode, and the residual error attribute 66 is the non-zero motion vector.
As described above, when the golden frame is used, the control 61 determines the prediction mode 64 in the determination block 110. When the intercoded split mode is used, delta 8 can be added to the reference filter intensities f and delta 4 to generate the intensity modifier F8. This will be explained by returning to FIG. In this case, the prediction mode 64 is an intercoded division mode.
If the intercoded split mode is not used with the golden frame, control 61 determines if the calculated motion vector is null or nonzero. If the motion vector is null, delta 6 can be added to the reference filter intensities f and delta 4 to generate the intensity modifier F6. This will be explained by returning to FIG. In this case, the prediction mode 64 is an intercoded undivided mode, and the residual error attribute 66 is a null motion vector. If the motion vector is nonzero, delta 7 can be added to the reference filter intensities f and delta 4 to generate the intensity modifier F7. This will be explained by returning to FIG. In this case, the prediction mode 64 is the intercoded non-split mode and the residual error attribute 66 is the non-zero motion vector.
As described above, when the alternative frame is used, the control 61 determines the prediction mode 64 in the determination block 112. When the intercoded split mode is used, delta 8 can be added to the reference filter strengths f and delta 5 to generate the strength modifier F11. This will be explained by returning to FIG. In this case, the prediction mode 64 is an intercoded division mode.
If the intercoded split mode is not used with the alternate frame, control 61 determines if the calculated motion vector is null or nonzero. If the motion vector is null, delta 6 can be added to the reference filter intensities f and delta 5 to generate the intensity modifier F9. Let's return to Fig. 4 for explanation. In this case, the prediction mode 64 is an intercoded undivided mode, and the residual error attribute 66 is a null motion vector. If the motion vector is nonzero, delta 7 can be added to the reference filter intensities f and delta 5 to generate the intensity modifier F10. Let's return to Fig. 4 for explanation. In this case, the prediction mode 64 is the intercoded non-split mode and the residual error attribute 66 is the non-zero motion vector.
In general, different levels of intensity modifier 60 will be applied to blocking artifacts and will exist to varying degrees, depending on reference frame type 62 and prediction mode 64. As shown in Figure 5, for example, different intensity modifiers 60 can be applied to intracoded macroblocks instead of intercoded macroblocks (ie, F1 ~ F2 vs F2 ~ F11). Also, a different intensity modifier 66 can be applied to an intracoded undivided mode macroblock instead of an intracoded split mode macroblock (ie, F1 vs F2). Other suitable methods of adjusting the intensity modifier 60 are also available.
FIG. 6 is a flowchart of a method of updating the loop filter processed moving image data according to the embodiment of the present invention. Loop-filtered video data can include both reference frame loop filter modifiers and predictive mode loop modifiers. The reference frame loop filter modifier can include a delta value of reference frame type 62. On the other hand, the predictive mode loop filter modifier can include delta values for both predictive mode 64 and residual error attribute 66.
FIG. 6 will be described. In the determination block 132, the adaptive loop filter 34 determines whether the current frame is framecoded without reference to any other frame except itself (usually called a keyframe). If the current frame is a keyframe, the adaptive loop filter 34 moves to block 134 and sets the reference frame loop filter qualifier to the default value. Then, in the determination block 136, the adaptive loop filter 34 sets the predictive mode loop filter qualifier to the default value. Once this value is set to the default, the adaptive loop filter moves to decision block 130 to determine at the frame level whether the filter condition is enabled.
If the current frame is a keyframe and the value is set to the default value, or if the current frame is not a keyframe, the adaptive loop filter 34 moves to decision block 130 and the filter condition is enabled at the frame level. Judge whether it was done or not. The adaptive loop filter 34 can determine whether or not the loop filter modifier is enabled by bits, bytes, flags, and the like.
If the loop filter qualifier is not enabled (that is, a single loop filter condition is detected), loop filtering in the 34 stages of adaptive loop filter can be skipped for the current frame. In other words, a single loop filter strength can be applied to all blocks in the frame. A single loop filter strength can also include not applying the loop filter to any part of the frame.
Once loop filtering is skipped for the current frame, the adaptive loop filter returns to decision block 130 to determine if the loop filter modifier is enabled for the next frame. The adaptive loop filter 34 may choose to skip loop filtering based on one or more characteristics of the residual error signal, reference frame type 62, prediction mode 64, or some combination thereof. Other appropriate factors for skipping the loop filtering of adaptive loop filter 34 are also available.
For example, in conversion stage 19, if the AC component of the residual macroblock does not exist and the macroblock is intercoded with a null motion vector, the loop filtering process can be skipped. In this way, by skipping the loop filtering process in this case, it is possible to prevent the loop filtering process from being repeated over several frames of the image area when there is no movement. This reduces blurring, requires less computation, and, as an inevitable result, reduces overall computational complexity.
FIG. 6 will still be described. If the loop filter modifier is enabled, the adaptive loop filter 34 moves to decision block 138 to determine if a loop filter intensity value condition has been detected. More specifically, in determination block 138, the adaptive loop filter 34 determines whether the loop filter qualifier encoded in the current frame has been updated. The adaptive loop filter 34 can determine whether or not the loop filter qualifier is updated based on bits, bytes, flags, and the like.
If the loop filter qualifier has not been updated, the adaptive loop filter 34 applies to the current frame using the preset loop filter qualifier from the previous frame. Once the previous value has been applied, the adaptive loop filter returns to decision block 130 to determine if the adaptive loop filter qualifier is enabled for the next frame.
If the loop filter qualifier has been updated, at block 140, the adaptive loop filter updates the preset value of the reference frame loop filter qualifier modifier. The adaptive loop filter then moves to decision block 142 to update the preset value of the predictive mode loop filter qualifier. Once the value is updated, the adaptive loop filter returns to decision block 130 to determine if the loop filter qualifier is enabled for the next frame.
This will be explained by returning to FIG. The reference frame loop filter modifier and the predictive mode loop filter modifier may have delta values 1 to 8 applied at each of the flowchart junctions. Specifically, delta values 1,3,4,5 are reference frame loop filter modifiers corresponding to reference frame type 62, and delta values 2,8 are predictive mode loop filter modifiers corresponding to predictive mode 64. And the delta values 6,7 are the prediction mode loop filter modifiers corresponding to the residual error attribute 66. Each of these delta values can be updated with the adaptive loop filter 34 using the method shown in the flowchart of FIG.
FIG. 7 is a flowchart of a method of updating the loop filter processed moving image data according to the embodiment of the present invention. FIG. 7 is similar to the flowchart of FIG. 6 except that the adaptive loop filter 34 does not determine whether the current frame is a keyframe or not. Therefore, if loop filter qualifiers are enabled and those loop filter qualifiers are updated, all frames may update the reference frame loop filter qualifier and the predictive mode loop filter qualifier modifier.
An exemplary pseudocode that implements the steps in the method of Figure 7 is shown in Table 1 below.
<img file="JP2012502591A_D0001.tif" />
The above pseudocode is not intended to be limited to any particular programming language and its implementation. It will be appreciated that a number of programming languages and their implementations can be used to implement the teachings of the embodiments of the invention described herein.
Figures 6 and 7 and the above pseudo code will be described. Embodiments of the present invention reduce the amount of bitstream overhead. For example, whether or not the loop filter modifier is enabled can be determined with one bit. Also, for example, whether or not the update of the loop filter modifier is enabled can be determined with one bit.
Although the above embodiments have been described for ease of understanding of the present invention, the present invention is not limited thereto. On the contrary, it should be understood that the present invention is not limited to the disclosed embodiments, but rather is intended to cover configurations equivalent to the various modifications contained within the spirit and scope of the attached claims. The scope here is consistent with the broadest interpretation in order to include all the above modifications and the equivalent configurations permitted by law.
9 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| JP2024137976A | Cited by | Japan | Search report |
| US12120296B2 | Cited by | United States of America | Applicant |
| JP2023522704A | Cited by | Japan | Search report |
| JP2005503737A | Cites | Japan | Examiner |
| JP2008154221A | Cites | Japan | Examiner |
| JPH0237889A | Cites | Japan | Search report |
| JPH0237889A | Cites | Japan | Examiner |
| JPH05308623A | Cites | Japan | Examiner |
| JPH0638197A | Cites | Japan | Search report |
| JPH0638197A | Cites | Japan | Examiner |
| JPH0884342A | Cites | Japan | Search report |
| JPH0884342A | Cites | Japan | Examiner |
23 members in 8 offices
Priority claims14
| Document | Office | Kind | Date |
|---|---|---|---|
| 61096147 | United States of America | – | |
| 9614708 | United States of America | P | |
| 9614708 | United States of America | P | |
| 12329070 | United States of America | – | |
| 32907008 | United States of America | A | |
| 32907008 | United States of America | A | |
| 2009056462 | United States of America | W | |
| 2009056462 | United States of America | W | |
| 2008096147 | – | – | – |
| 2008329070 | – | – | – |
| 2009056462 | – | – | – |
| US20080096147P | – | – | – |
| US20080329070 | – | – | – |
| WO2009US56462 | – | – | – |
Members23
| Document | Office | Kind | |
|---|---|---|---|
| US2010061645A1 | United States of America | A1 | |
| CA2736887A1 | Canada | A1 | |
| WO2010030744A2 | World Intellectual Property Organization (WIPO) | A2 | |
| WO2010030744A3 | World Intellectual Property Organization (WIPO) | A3 | |
| KR20110053245A | Republic of Korea | A | |
| EP2324638A2 | European Patent Office (EPO) | A2 | |
| CN102150427A | China | A | |
| JP2012502591AThis record | Japan | A | |
| US8326075B2 | United States of America | B2 | |
| US2013114679A1 | United States of America | A1 | |
| US2013119036A1 | United States of America | A1 | |
| US2013119037A1 | United States of America | A1 | |
| WO2013068828A1 | World Intellectual Property Organization (WIPO) | A1 | |
| WO2013068829A2 | World Intellectual Property Organization (WIPO) | A2 | |
| EP2324638A4 | European Patent Office (EPO) | A4 | |
| WO2013068829A3 | World Intellectual Property Organization (WIPO) | A3 | |
| JP5396478B2 | Japan | B2 | |
| CN102150427B | China | B | |
| DE202012012971U1 | Germany | U1 | |
| DE202012012977U1 | Germany | U1 | |
| US8897591B2 | United States of America | B2 | |
| EP2324638B1 | European Patent Office (EPO) | B1 | |
| US10010959B2 | United States of America | B2 |
25 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Receipt of annual feesJAPANESE INTERMEDIATE CODE: R250R250 | R250 | |
| Receipt of annual feesJAPANESE INTERMEDIATE CODE: R250R250 | R250 | |
| Receipt of annual feesJAPANESE INTERMEDIATE CODE: R250R250 | R250 | |
| Receipt of annual feesJAPANESE INTERMEDIATE CODE: R250R250 | R250 | |
| Receipt of annual feesJAPANESE INTERMEDIATE CODE: R250R250 | R250 | |
| Receipt of annual feesJAPANESE INTERMEDIATE CODE: R250R250 | R250 | |
| Receipt of annual feesJAPANESE INTERMEDIATE CODE: R250R250 | R250 | |
| Receipt of annual feesJAPANESE INTERMEDIATE CODE: R250R250 | R250 | |
| Written notification of registration of transferJAPANESE INTERMEDIATE CODE: R350R350 | R350 | |
| Written request for registration of change of nameJAPANESE INTERMEDIATE CODE: R313533S533 | S533 | |
| Receipt of annual feesJAPANESE INTERMEDIATE CODE: R250R250 | R250 | |
| Receipt of annual feesJAPANESE INTERMEDIATE CODE: R250R250 | R250 | |
| Notification of acceptance of power of attorneyJAPANESE INTERMEDIATE CODE: R3D02RD02 | RD02 | |
| Certificate of patent or registration of utility modelJAPANESE INTERMEDIATE CODE: R150R150 | R150 | |
| Certificate of patent or registration of utility modelJAPANESE INTERMEDIATE CODE: R150R150 | R150 | |
| First payment of annual fees (during grant procedure)JAPANESE INTERMEDIATE CODE: A61A61 | A61 | |
| Written decision to grant a patent or to grant a registration (utility model)JAPANESE INTERMEDIATE CODE: A01A01 | A01 | |
| Decision of grant or rejection writtenTRDD | TRDD | |
| Request for written amendment filedJAPANESE INTERMEDIATE CODE: A523A521 | A521 | |
| Notification of reasons for refusalJAPANESE INTERMEDIATE CODE: A131A131 | A131 | |
| Request for written amendment filedJAPANESE INTERMEDIATE CODE: A523A521 | A521 | |
| Notification of reasons for refusalJAPANESE INTERMEDIATE CODE: A131A131 | A131 | |
| Report on retrievalJAPANESE INTERMEDIATE CODE: A971007A977 | A977 | |
| Request for written amendment filedJAPANESE INTERMEDIATE CODE: A523A521 | A521 | |
| Written request for application examinationJAPANESE INTERMEDIATE CODE: A621A621 | A621 |
Numbers
- Publication
- 2012502591
- Publication, DOCDB
- 2012502591
- Publication, EPODOC
- JP2012502591
- Application
- 2011526958
- Application, DOCDB
- 2011526958
- Application, EPODOC
- JP20110526958
Titles2
- Japanese
- 適応ループフィルタを用いた動画符号化システムおよび方法
- English
- Video coding system and method using adaptive loop filter
Classification
- CPC, 11
- H04N19/117
- H04N7/24
- H04N19/139
- H04N19/159
- H04N19/176
- H04N19/82
- H04N19/86
- H04N19/89
- H04N19/50
- H04N19/513
- H04N19/65
- IPC, 2
- H04N7 32
- H04N19 89
Designated states4
- Regional, 4
- Zimbabwe
- Turkmenistan
- Türkiye
- Togo