Encoding links to reference blocks in video compression based on image content search and grading

By using image content search and grading methods, the reference data is transformed into grade numbers and entropy coding is applied, which solves the problem of low reference data coding efficiency in existing video coding and achieves more efficient and reliable video coding.

CN115842913BActive Publication Date: 2026-03-10INTERDIGITAL CE PATENT HOLDINGS SAS
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2011-09-09
Publication Date
2026-03-10

AI Technical Summary

Technical Problem

In existing video coding technologies, the coding efficiency of reference data is low and not flexible enough. Traditional methods rely on the adjacency relationship of blocks, which is not accurate enough, resulting in insufficient coding efficiency and reliability.

Method used

By using image content search and grading methods, the reference data is transformed into grade numbers, and entropy coding is used to replace the original reference data, thus utilizing the contextual features of image patches for efficient coding.

Benefits of technology

It improves the efficiency and reliability of video encoding, reduces the number of bits required for encoding, and enables more efficient reference data transmission.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115842913B_ABST
    Figure CN115842913B_ABST
Patent Text Reader

Abstract

A method and apparatus are provided for efficient reference data encoding for video compression via image content search and grading. One apparatus includes a grading transformer (210) for transforming reference data of each of the plurality of candidate reference blocks relative to the current block into a corresponding grading number based on context features of the current block to be encoded relative to context features of each of the plurality of candidate reference blocks. The apparatus further includes an entropy encoder (220) for entropy encoding the grading number of each of the plurality of candidate reference blocks relative to the current block to replace and represent the reference data of each of the plurality of candidate reference blocks relative to the current block.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application is a divisional application of Chinese patent application "Encoding links to reference blocks in video compression by means of image content search and grading" (application number: 201180043294.0), filed on September 9, 2011.

[0002] Cross-references to related applications

[0003] This application claims the benefit of U.S. Provisional Application No. 61 / 403138, filed on September 10, 2010, entitled EFFICIENT REFERENCE DATA CODINGFOR VIDEO COMPRESSION BY IMAGE CONTENT BASED SEARCH AND RANKING (Technicolor File No. PU100195).

[0004] This application relates to the following jointly pending patent applications:

[0005] (1) International (PCT) patent application filed on January 20, 2011, with serial number PCT / US2011 / 000107 and titled A SAMPLING-BASED SUPER-RESOLUTION APPROACH FOR EFFICENT VIDEO COMPRESSION (Technicolor file number PU100004);

[0006] (2) International (PCT) patent application filed on January 21, 2011, with serial number PCT / US2011 / 000117 and titled DATA PRUNING FORVIDEO COMPRESSION USING EXAMPLE-BASED SUPER-RESOLUTION (Technicolor file number PU100014);

[0007] (3) International (PCT) patent application filed on September 9, 2011, with serial number PCT / US2011 / 050913, entitled METHODS AND APPARATUS FOR ENCODING VIDEO SIGNALS USING MOTION COMPENSATED EXAMPLE-BASED SUPER-RESOLUTION FOR VIDEO COMPRESSION (Technicolor file number PU100190);

[0008] (4) International (PCT) patent application filed on September 9, 2011, with serial number PCT / US2011 / 050915, entitled METHODS AND APPARATUS FOR DECODING VIDEO SIGNALS USING MOTION COMPENSATED EXAMPLE-BASED SUPER-RESOLUTION FOR VIDEO COMPRESSION (Technicolor file number PU100266);

[0009] (5) International (PCT) patent application filed on September 9, 2011, with serial number PCT / US2011 / 050917, entitled METHODS AND APPARATUS FOR ENCODING VIDEO SIGNALS USING EXAMPLE-BASED DATA PRUNING FOR IMPROVED VIDEO COMPRESSION EFFICIENCY (Technicolor file number PU100193);

[0010] (6) International (PCT) patent application filed on September 9, 2011, with serial number PCT / US2011 / 050918, entitled METHODS AND APPARATUS FOR DECODING VIDEO SIGNALS USING EXAMPLE-BASED DATA PRUNING FOR IMPROVED VIDEO COMPRESSION EFFICIENCY (Technicolor file number PU100267);

[0011] (7) International (PCT) patent application filed on September 9, 2011, with serial number PCT / US2011 / 050919, entitled METHODS AND APPARATUS FOR ENCODING VIDEO SIGNALS FOR BLOCK-BASED MIXED-RESOLUTION DATAPRUNING (Technicolor file number PU 100194);

[0012] (8) International (PCT) patent application filed on September 9, 2011, with serial number PCT / US2011 / 050920, entitled METHODS AND APPARATUS FOR DECODING VIDEO SIGNALS FOR BLOCK-BASED MIXED-RESOLUTION DATAPRUNING (Technicolor file number PU100268);

[0013] (9) International (PCT) patent application filed on September 9, 2011, with serial number PCT / US2011 / 050922, entitled METHOD AND APPARATUS FOR EFFICIENT REFERENCE DATA DECODING FOR VIDEO COMPRESSION BYIMAGE CONTENT BASED SEARCH AND RANKING (Technicolor file number PU110106);

[0014] (10) International (PCT) patent application filed on September 9, 2011, with serial number PCT / US2011 / 050923, entitled METHOD AND APPARATUS FOR ENCODING VIDEO SIGNALS FOR EXAMPLE-BASED DATA PRUNING USING INTRA-FRAME PATCH SIMILARITY (Technicolor file number PU 100196);

[0015] (11) International (PCT) patent application filed on September 9, 2011, with serial number PCT / US2011 / 050924, entitled "METHOD AND APPARATUS FOR DECODING VIDEO SIGNALS WrfH EXAMPLE-BASED DATA PRUNING USING INTRA-FRAME PATCH SIMILARITY" (Technicolor file number PU 100269); and

[0016] (12) International (PCT) patent application filed on September 9, 2011, with serial number PCT / US2011 / 050925, entitled PRUNING DECISIONOPTIMIZATION IN EXAMPLE-BASED DATA PRUNING COMPRESSION (Technicolor file number PU10197). Technical Field

[0017] This principle generally relates to video encoding and decoding, and more specifically, to a method and apparatus for efficient reference data encoding for video compression through image content search and hierarchical classification. Background Technology

[0018] In block-based video coding schemes, such as the ISO / IEC Moving Picture Experts Group 4 (MPEG-4) Part 10 Advanced Video Coding (AVC) standard / ITU-T H.264 recommendation (hereinafter referred to as the "MPEG-4 AVC standard"), image blocks are typically encoded and / or decoded based on predictions of another similar block (hereinafter referred to as the "reference block"). Therefore, auxiliary information indicating the location of the reference block must be sent to the decoder. For general purposes, this reference block is referred to as "reference data". Examples of reference data include motion vectors in the MPEG-4 AVC standard and other MPEG-4-based coding schemes, parallax values ​​in multi-view coding schemes, and spatial displacement vectors in video compression schemes using spatial block prediction.

[0019] In traditional video coding schemes, entropy coding is used to encode reference data such as motion vectors. Typically, the encoding of motion vectors is independent of the image content.

[0020] Recently, a method called template matching has been proposed to improve video coding efficiency. Template matching is an intra-frame coding scheme that uses a reference block located somewhere within a video frame to predict the current coding block. Unlike traditional MPEG-4 AVC standard intra-frame coding schemes that only use the content of adjacent blocks to predict the current coding block, the reference block in template matching can be non-adjacent to the current coding block, making it more flexible and efficient for coding. Another characteristic of template matching is that it does not require a coding space displacement vector (the relative coordinates between the reference block and the current block). Template matching uses the context of the coding block to find the best matching block as the reference block. The block context is typically a set of pixels surrounding the block. Figure 1The example of context matching and corresponding spatial displacement vector is generally represented by reference number 100. The current block to be encoded / decoded is generally represented by reference number 110. The reference block is generally represented by reference number 120. The spatial displacement vector from reference block 120 to the current block 110 is represented by reference number 130. The context is represented by reference number 140. Therefore, the template matching method finds the reference block based solely on the context. However, it is possible for two blocks to have similar contexts but very different appearances, so using context to find the reference block may be unreliable in many cases. Summary of the Invention

[0021] This principle addresses these and other deficiencies and shortcomings of the prior art. This principle relates to a method and apparatus for efficient reference data encoding for video compression through image content search and grading.

[0022] According to one aspect of the present invention, an apparatus is provided. The apparatus includes: a rank transformer, configured to transform reference data of each of the plurality of candidate reference blocks relative to the current block into a corresponding rank number based on context features of the current block to be encoded with respect to context features of each of the plurality of candidate reference blocks. The apparatus further includes: an entropy encoder, configured to entropy encode the rank number of each of the plurality of candidate reference blocks relative to the current block to replace and represent the reference data of each of the plurality of candidate reference blocks relative to the current block.

[0023] According to another aspect of the present invention, a method is provided. The method includes: transforming reference data of each of the plurality of candidate reference blocks relative to the current block into a corresponding rank number based on context features of a current block to be encoded with respect to context features of each of the plurality of candidate reference blocks. The method further includes: entropy encoding each rank number of the plurality of candidate reference blocks relative to the current block to replace and represent the reference data of each of the plurality of candidate reference blocks relative to the current block.

[0024] According to one aspect of the present invention, an apparatus is provided. The apparatus includes: an entropy decoder, configured to perform entropy decoding on the encoded corresponding level number of each of the plurality of candidate reference blocks relative to a current block to be decoded, to obtain a decoded corresponding level number. The encoded corresponding level number replaces and represents the corresponding reference data of each of the plurality of candidate reference blocks relative to the current block. The apparatus further includes: an inverse level transformer, configured to transform the decoded corresponding level number of each of the plurality of candidate reference blocks relative to the current block into corresponding reference data based on the context features of the current block relative to the context features of each of the plurality of candidate reference blocks.

[0025] According to one aspect of the present invention, a method is provided. The method includes: performing entropy decoding on the encoded corresponding level number of each of the plurality of candidate reference blocks relative to a current block to be decoded, to obtain a decoded corresponding level number. The encoded corresponding level number replaces and represents the corresponding reference data of each of the plurality of candidate reference blocks relative to the current block. The method further includes: transforming the decoded corresponding level number of each of the plurality of candidate reference blocks relative to the current block into corresponding reference data based on the context features of the current block relative to the context features of each of the plurality of candidate reference blocks.

[0026] According to another aspect of this principle, an apparatus is provided. The apparatus includes means for transforming reference data of each of the plurality of candidate reference blocks relative to the current block into corresponding rank numbers based on context features of the current block to be encoded with respect to context features of each of the plurality of candidate reference blocks. The apparatus further includes means for entropy encoding of the rank numbers of each of the plurality of candidate reference blocks relative to the current block to replace and represent the reference data of each of the plurality of candidate reference blocks relative to the current block.

[0027] According to another aspect of this principle, an apparatus is provided. The apparatus includes: means for entropy decoding of the encoded corresponding level number of each of the plurality of candidate reference blocks relative to a current block to be decoded, to obtain a decoded corresponding level number. The encoded corresponding level number replaces and represents the corresponding reference data of each of the plurality of candidate reference blocks relative to the current block. The apparatus further includes: means for transforming the decoded corresponding level number of each of the plurality of candidate reference blocks relative to the current block into corresponding reference data based on the context features of the current block relative to the context features of each of the plurality of candidate reference blocks. Attached Figure Description

[0028] These and other aspects, features, and advantages of this principle will become clearer by reading the following detailed description of exemplary embodiments in conjunction with the accompanying drawings.

[0029] The following example diagram can be used to better understand this principle. In the diagram:

[0030] Figure 1 This is a diagram illustrating an example of context matching and corresponding spatial displacement vectors according to existing technology;

[0031] Figure 2 This is a block diagram illustrating an example device for encoding a reference block according to an embodiment of this principle;

[0032] Figure 3 This is a flowchart illustrating an example method for encoding a reference block according to an embodiment of this principle;

[0033] Figure 4 This is a block diagram illustrating an example device for decoding a reference block according to an embodiment of this principle;

[0034] Figure 5 This is a flowchart illustrating an example method for decoding a reference block according to an embodiment of this principle;

[0035] Figure 6 This is a diagram illustrating an example level transformation of reference data into a level number according to an embodiment of this principle; and

[0036] Figure 7 This is a flowchart illustrating an example method for transforming reference data into a grade number according to an embodiment of this principle. Detailed Implementation

[0037] This principle pertains to methods and apparatuses for efficient reference data encoding for video compression through image content search and grading.

[0038] This specification describes the principles. Therefore, it will be understood that those skilled in the art will be able to derive various arrangements that embody and are included within the spirit and scope of these principles, even if such arrangements are not explicitly described or shown herein.

[0039] All examples and conditional language listed in this article are for illustrative purposes and are intended to help readers further understand the principles and the inventors’ ideas technically. These examples and conditional language should be understood as not being limited to the specific examples and conditions listed.

[0040] Furthermore, all statements herein that enumerate the principles, aspects, and embodiments of this principle, and their specific examples, are intended to cover their structural and functional equivalents. Moreover, such equivalents are intended to include both currently known equivalents and those developed in the future, i.e., any element developed to perform the same function regardless of its structure.

[0041] Therefore, for example, those skilled in the art will understand that the block diagrams shown herein represent conceptual diagrams of illustrative circuits embodying the principles of this invention. Similarly, it should be understood that any flowchart, process diagram, state transition diagram, bit code, etc., represents various processes that can be substantially embodied in a computer-readable medium and thus executed by a computer or processor, whether or not such computer or processor is explicitly shown.

[0042] The functionality of the various elements shown in the figure can be provided by using dedicated hardware and hardware capable of executing software in combination with appropriate software. When these functions are provided by a processor, the functionality can be provided by a single dedicated processor, by a single shared processor, or by multiple independent processors, some of which may be shared. Furthermore, the use of the terms "processor" or "controller" should not be construed as exclusively indicating the ability to execute software, but may implicitly include, but is not limited to, digital signal processor ("DSP") hardware, read-only memory ("ROM"), random access memory ("RAM"), and non-volatile memory for storing software.

[0043] Other hardware (traditional and / or conventional) may also be included. Similarly, any switches shown in the diagram are conceptual. The functions of these switches can be performed through the operation of a logic program, through dedicated logic, through the interaction of program control and dedicated logic, or even manually, as the specific technology may be chosen by the implementer, depending on the context for a more concrete understanding.

[0044] In these claims, any element described as an apparatus for performing a specified function is intended to cover performing that function in any manner, including, for example: a) a combination of circuit elements performing the function or b) any form of software, including firmware, microcode, etc., combined with appropriate circuitry for performing the software to perform the function. The fundamental principle of this claim definition lies in combining and integrating the functions provided by the various listed apparatuses in the manner claimed in the claims. Therefore, any apparatus capable of providing these functions is considered equivalent to the apparatuses shown herein.

[0045] References to this principle in the specification as "an embodiment" or "an embodiment" and other variations indicate that a specific feature, structure, characteristic, etc., described in connection with that embodiment is included in at least one embodiment of this principle. Therefore, the phrases "in one embodiment" or "in an embodiment" and other variations appearing throughout the specification do not necessarily refer to the same embodiment.

[0046] It should be understood that the use of any of the following “ / ”, “and / or”, and “…at least one of…” (e.g., “A / B”, “A and / or B”, and “at least one of A and B”) is intended to cover selection only of the first listed option (A), selection only of the second listed option (B), or selection of both options (A and B). As another example, for “A, B, and / or C” and “at least one of A, B, and C”, this expression is intended to cover selection only of the first listed option (A), selection only of the second listed option (B), selection only of the third listed option (C), selection only of the first and second listed options (A and B), selection only of the first and third listed options (A and C), selection only of the second and third listed options (B and C), or selection of all three options (A, B, and C). For cases where many items are listed, it will be readily apparent to those skilled in the art and related fields that this can be easily extended.

[0047] Furthermore, the terms "picture" and "image" used in this article are used interchangeably to refer to still images or frames from a video sequence. As is known, a picture can be a frame or a field.

[0048] As described above, this principle relates to a method and apparatus for efficiently encoding reference data for video compression through image content search and grading. For example, in embodiments, unique schemes for encoding reference data, such as, but not limited to, motion vectors, are disclosed. For instance, content-based search, grading, and rank number encoding can be used to encode the reference data.

[0049] Turning Figure 2 An example device for encoding reference data is generally represented by reference digit 200. Device 200 includes a level converter 210 and an entropy encoder 220. The output of level converter 210 is connected to the input of entropy encoder 220 in a signal communication manner. The output of level converter 210 can be used as an input of device 200 to receive context features (not shown) and reference data. The output of entropy encoder 220 can be used as an output of device 200 to output the encoded reference data.

[0050] In summary, firstly, the level transformer 210 transforms the reference data into level numbers using the following level transformation process. Then, the entropy encoder 220 encodes the level numbers using an entropy encoding process. The entropy encoding process can use, for example, Golomb codes or some other code.

[0051] Turning Figure 3 An example method for encoding reference data is represented by reference number 300. In step 305, context features and reference data are input. In step 310, the context features are used to calculate the distances to all candidate blocks. In step 315, the candidate blocks are sorted according to the distances (calculated in step 310) to obtain a rank list. In step 320, the rank number of the reference data in the rank list is obtained. In step 325, the rank number is entropy-encoded. In step 330, the encoded reference data, i.e., the entropy-encoded rank number, is output.

[0052] Turning Figure 4 An example device for decoding reference data is generally represented by reference numeral 400. Device 400 includes an entropy decoder 410 and an inverse hierarchy transformer 420. The output of the entropy decoder 410 is connected to the input of the inverse hierarchy transformer 420 in a signal communication manner. The input of the entropy decoder 410 can be used as the input of device 400 to receive the encoded reference data. The output of the inverse hierarchy transformer 420 can be used as the output of device 400 to output the (decoded) reference data.

[0053] First, the entropy decoder 410 decodes the received encoded data to obtain the level number. The inverse level transformer 420 obtains the level number and outputs the corresponding reference block. The inverse level transformation process is similar to the level transformation described below. The context features F of the decoded block are calculated using distance. e With context feature set The features in the context feature set are matched. Each feature in the context feature set corresponds to a reference block. The context feature set is then sorted to obtain a search rank list. The decoded rank number R is then used to obtain the "correct" reference block, which is located at rank R in the rank list. th Each entry.

[0054] Turning Figure 5 The example method for decoding the reference data is generally represented by reference number 500. In step 505, context features and encoded reference data are input. In step 510, the context features are used to calculate the distances to all candidate blocks. In step 515, the candidate blocks are sorted according to the distances (calculated in step 510) to obtain a rank list. In step 520, the encoded reference data is entropy-decoded to obtain rank numbers. In step 525, the rank numbers are used to obtain the reference data in the rank list. In step 530, the decoded reference data is output.

[0055] At least one of the methods proposed in this paper is inspired by template matching methods. Such methods also use block context information, but the context is used to encode reference data such as motion vectors or displacement vectors. To address the aforementioned problem, the method according to this invention solves it by first using the image block content instead of the context to find a more precise reference block, and then using the context information of the found reference block to encode the spatial displacement vector or motion vector. This makes the disclosed method more accurate than template matching methods, and more efficient than directly using displacement or motion vectors.

[0056] Therefore, this principle provides a method and apparatus for more efficiently encoding reference data such as motion vectors and / or spatial displacement vectors generated during video encoding. This principle is based on the idea of ​​transforming the probability distribution of the original reference data into a new probability distribution of the transformed data with lower entropy. Lower entropy results in fewer bits required to encode the transformed reference data according to the Shannon source coding theorem. This suggests that such a transformation can be achieved using a search rank list generated by matching the contextual features of image blocks. Furthermore, the rank number of the reference block in the rank list is the transformed reference data with lower entropy. It is assumed that a block-based compression scheme exists, where image or video frames are divided into non-overlapping blocks. For each block, reference data such as motion vectors needs to be sent to the decoder. According to this principle, the reference data is assumed to be discrete and finite, as are the motion vectors or displacement vectors.

[0057] Traditionally, reference data is encoded using entropy coding schemes that make specific assumptions about the probability distribution of the data. The reference data associated with a block is represented as M, where M is the value derived from the reference dataset Σ. M The obtained value is a random number. The probability distribution of M is p(M), so the entropy of M is H(M). Shannon source coding stipulates that the minimum number of bits used for lossless encoding of reference data is limited by the entropy H(M). More specifically, assume that the reference data M is encoded into a binary number with S bits using an optimal encoder. Then the Shannon source coding theorem is as follows:

[0058] H(M)≤E(S) <H(M)+1

[0059] Where E(S) is the expected value of S, and S represents the number of bits used to encode M with the optimal encoder.

[0060] Shannon's source coding theorem states that if the encoder is optimal, the only way to further improve coding efficiency is to reduce the entropy H(M). There are several ways to reduce the entropy H(M). One way is to find a transformation that converts M into another random variable with lower entropy. An example is encoding through prediction. For instance, for motion vectors, the motion vectors of neighboring blocks can be used to predict the motion vector of the current coded block. If we represent the motion vectors of neighboring blocks as M... N The transformation of metadata M is created as M' = MM. N If M and M N If related, then M' has lower entropy. Furthermore, in this case, M... N It is auxiliary information used to predict M.

[0061] Therefore, based on this principle, a transformation can be found that uses the image content associated with the block as auxiliary information to transform the reference data M. More specifically, let M be the reference data of the block, and M adopts data from the finite element dataset Σ. M The value of . Furthermore, each block is associated with a specific contextual feature F. An example of a contextual feature is the set of pixels surrounding the block, such as Figure 1 As shown. Assume there are N blocks as candidates for selecting a specific reference block for the coded block. Therefore, the reference dataset is the set of natural numbers from 1 to N, i.e., Σ M ={1,2,...,N}. Since the reference dataset is discrete and finite, the reference data is always mapped to a finite set of natural numbers. For the i-th candidate block, there exists a contextual feature F. i For all candidate reference blocks There exists a corresponding set of contextual features. For each encoded block, it also relates to the contextual feature F. e Related.

[0062] The transformation proposed in this invention is: by calculating the context feature F e With context feature set The distances to all features are used to search for the best-matching reference block in the reference dataset. The reference dataset is then sorted in ascending order based on these distances to obtain a list of search ranks. Therefore, Σ M It has the characteristic F eThe reference data for the most recent contextual features will be at the top of the search rank list. Assuming that the “correct” reference block, obtainable through specific reliable methods such as direct block matching, is actually the R-th entry in the search rank list, the rank number R is saved as the encoded reference data. In summary, the proposed process transforms the original reference data into a rank number in the rank list. The rank number also uses values ​​from the set of natural numbers {1,2,...,N}. The term “direct block matching” used in this paper refers only to the block matching process using common motion estimation methods performed in block-based video compression schemes (e.g., but not limited to the MPEG-4 AVC standard). Direct block matching or the block matching process calculates the difference between the current block and multiple candidate blocks and selects the candidate reference block with the smallest difference as the best match.

[0063] Turning Figure 6 The example level transformation, which converts reference data into level numbers, is generally represented by reference number 600. Level transformation 600 includes coded block 610 (i.e., the block to be encoded), context features 615 for coded block 610, candidate reference block set 620, and sorted reference block set 630 (i.e., the level list). The candidate reference blocks in candidate reference block set 620 also include context features (not explicitly indicated by reference numerals).

[0064] Turning Figure 7 The example method for transforming reference data into rank numbers is generally represented by reference number 700. In step 705, context features and reference data are input. In step 710, the context features are used to calculate the distances to all candidate blocks. In step 715, the candidate blocks are sorted according to the distances to obtain a rank list. In step 720, the rank numbers of the reference data in the rank list are obtained. In step 725, the rank numbers are output.

[0065] The entropy of the transformed rank number R depends on the precision and relevance of the context features F. For example, if the context features are so precise and relevant that the context features of the "correct" reference block are always the same as those of the encoded block (therefore the distance should be 0), then the "correct" reference block should always be at the top of the search rank list. Therefore, the rank number R should always be 1. Thus, the entropy of R is 0, requiring 0 bits to encode the reference data. That is, no reference data needs to be sent because it is derived from the context features. This also indicates that the video encoder should be able to find the reference block based solely on the context features, without needing reference data. In another case, assuming the context features are completely irrelevant, the "correct" reference block should be located anywhere in the search rank list. Therefore, the number R becomes in Σ MUnder a uniform distribution, R is completely random. Therefore, it requires logN bits to encode R, which is equivalent to or worse than encoding the original reference data without the above transformation. Generally, it falls between these two extremes: the entropy of R is usually greater than zero but less than logN. Therefore, encoding the transformed data should be more efficient than directly encoding the original reference data and more reliable than template matching methods. The probability distribution of the number R is related to the relevance and accuracy of the context features. Assuming the probability distribution of the number R is known, a specific entropy coding scheme can be used to encode the number R based on its probability distribution. Experiments show that the probability distribution of R is usually close to a geometric or exponential distribution. If R follows a geometric distribution, the known optimal prefix code in the data coding field is the Golomb code. The entropy coding elements can be changed according to different probability distributions of the grade number.

[0066] Example: Encoding spatial displacement vectors

[0067] Spatial displacement vectors refer to the relative spatial coordinates between a coded block and its reference block. In inter-frame prediction or motion-compensated coding schemes, spatial displacement vectors essentially help the encoder find the motion vector of the corresponding reference block in the reference frame (e.g., the Intra frame or I-frame in the ISO / IEC Moving Picture Experts Group 4 (MPEG-4) Part 10 Advanced Video Coding (AVC) standard / ITU-T H.264 recommendation (hereinafter referred to as the "MPEG-4 AVC standard"). In intra-frame block prediction (not currently used in the MPEG-4 AVC standard, but possible in H.265 or others), spatial displacement vectors help the encoder find the corresponding reference frame in the current coded frame (…). Figure 1 In both cases, the displacement vector is represented as the ED vector (δx, δy), which are relative coordinates. The displacement vector is typically calculated through block matching. For example, in spatial prediction schemes, the coded block can be matched with each possible block in the decoded region by calculating the distance between the coded block and candidate blocks and finding the reference block with the minimum distance. Figure 1 The relative coordinates between the coded block and the reference block are spatial displacement vectors. These spatial displacement vectors should be sent to the decoder so that the decoder can find the correct reference block during the decoding process.

[0068] In the proposed scheme, the displacement vector can be encoded through the above process. First, the surrounding pixels of the block are used as context features. However, in spatial prediction, only the top and left sides of the block are used as context features because the right and bottom sides of the block have not yet been decoded during the decoding process. Then, the context features of the current block are used to match the context features of all candidate reference blocks. The results are sorted in ascending order, and the positions (i.e., ranks) of the reference blocks in the sorted list are treated as transformed displacement vectors. Finally, entropy coding is applied to encode the rank number. The decoding process is the reverse process. The decoder has received the rank number when it is about to decode the corresponding block (which may also be referred to interchangeably as the "decoded block" in this paper). The features of the decoded block are extracted and matched with the context features of all allowed reference blocks in the remaining decoded area. The results are sorted in ascending order, and the reference blocks are obtained from the rank list using the received rank numbers.

[0069] Those skilled in the art will readily grasp these and other features and advantages of this principle based on the teachings herein. It should be understood that the teachings of this principle can be implemented in various forms of hardware, software, firmware, dedicated processors, or combinations thereof.

[0070] More preferably, the doctrine of this principle is implemented as a combination of hardware and software. Furthermore, the software can be implemented as an application tangibly embodied on a program storage medium. The application can be uploaded to and executed by a machine including any suitable architecture. Preferably, the machine can be implemented on a computer platform with hardware such as one or more central processing units (“CPU”), random access memory (“RAM”), and input / output (“I / O”) interfaces. The computer platform may also include an operating system and microinstruction code. The various processes and functions described herein can be part of microinstruction code executable by the CPU or part of an application program, or any combination thereof. Additionally, various other peripheral units can be connected to the computer platform, such as additional data storage units and printing units.

[0071] It should also be understood that, since some of the system components and methods described in the accompanying drawings are preferably implemented in software, the actual connections between system components or processing functional blocks may vary depending on how this principle is programmed. Given the teachings of this document, those skilled in the art will be able to conceive of these and similar implementations or configurations of this principle.

[0072] Although illustrative embodiments have been described herein with reference to the accompanying drawings, it should be understood that the principles are not limited to these specific embodiments, and various modifications and variations can be made by those skilled in the art without departing from the spirit and scope of the principles. All such modifications and variations are intended to be included within the scope of the principles set forth in the appended claims.

Claims

1. An apparatus for decoding video, comprising: an inverse rank transformer configured to transform reference data of each of a plurality of candidate reference blocks of a current block to be decoded into a respective rank number based on a context feature of the current block relative to a context feature of the respective candidate reference block, and to determine a current rank number corresponding to a specific candidate reference block of the plurality of candidate reference blocks to be actually used as a reference block to decode the current block; and an entropy decoder configured to entropy decode the determined current rank number for the current block by selecting an entropy decoding scheme from a plurality of different entropy decoding schemes according to a probability distribution of the determined current rank number.

2. The apparatus of claim 1, wherein, The reference data comprises at least one of a motion vector, a spatial displacement vector and a disparity value.

3. The apparatus of claim 1, wherein, The reference data of each of the plurality of candidate reference blocks of the current block is transformed into the respective rank number by computing a respective distance between the current block and the respective candidate reference block of the plurality of candidate reference blocks based on the context feature of the current block relative to the context feature of the respective candidate reference block, repeating the computation of the respective distance for remaining candidate reference blocks of the plurality of candidate reference blocks to obtain a plurality of respective distances, and ranking the plurality of candidate reference blocks based on the plurality of respective distances to obtain a rank list in which a plurality of the respective rank numbers have been assigned.

4. The apparatus of claim 1, wherein, The specific candidate reference block of the plurality of candidate reference blocks to be actually used as the reference block to decode the current block is identified from the respective rank number of the rank list corresponding to the specific candidate reference block, wherein the respective rank number indicates a closest match between the specific candidate reference block of the plurality of candidate reference blocks and the current block based on a shortest respective distance of the plurality of respective distances.

5. The apparatus of claim 1, wherein, The context feature of the current block comprises pixels surrounding the current block, and the context feature of each of the plurality of candidate reference blocks comprises respectively pixels surrounding the respective candidate reference block.

6. The apparatus of claim 1, wherein, The context feature of each of the plurality of candidate reference blocks forms a searchable context feature set compared to the context feature of the current block.

7. The apparatus of claim 1, wherein, The context feature of the current block is matched to the context feature of each of the plurality of candidate reference blocks based on a respective distance between the current block and the respective candidate reference block.

8. A method for decoding video, comprising: transforming reference data of each of a plurality of candidate reference blocks of a current block to be decoded into a respective rank number based on a context feature of the current block relative to a context feature of the respective candidate reference block; determining a current rank number for the current block, the current rank number corresponding to a specific candidate reference block among the plurality of candidate reference blocks that is to be actually used as a reference block to decode the current block; and entropy decoding the determined current rank number for the current block by entropy decoding the determined current rank number according to a probability distribution of the determined current rank number from a plurality of different entropy decoding schemes.

9. The method of claim 8, wherein, The reference data includes at least one of a motion vector, a spatial displacement vector, and a disparity value.

10. The method of claim 8, wherein, The reference data of each of the plurality of candidate reference blocks of the current block is respectively transformed into the respective rank numbers by computing a respective distance between the current block and a respective candidate reference block among the plurality of candidate reference blocks based on the context features of the current block relative to the context features of the respective candidate reference block, repeating the computation of the respective distance for remaining candidate reference blocks among the plurality of candidate reference blocks to obtain a plurality of respective distances, and sorting the plurality of candidate reference blocks based on the plurality of respective distances to obtain a rank list in which a plurality of the respective rank numbers have been assigned.

11. The method of claim 10, wherein, The specific candidate reference block among the plurality of candidate reference blocks that is to be actually used as a reference block to decode the current block is identified according to a respective rank number among the rank numbers that corresponds to the specific candidate reference block, wherein the respective rank number indicates a closest match between the specific candidate reference block among the plurality of candidate reference blocks and the current block based on a shortest respective distance among the plurality of respective distances.

12. The method of claim 8, wherein, The context features of the current block include pixels surrounding the current block, and the context features of each of the plurality of candidate reference blocks respectively include pixels surrounding the respective candidate reference block.

13. The method of claim 8, wherein, The context features of each of the plurality of candidate reference blocks form a searchable set of context features compared to the context features of the current block.

14. The method of claim 8, wherein, The context features of the current block are matched to the context features of each of the plurality of candidate reference blocks based on respective distances between the current block and each of the plurality of candidate reference blocks.

15. An apparatus for decoding video, comprising: means for transforming reference data of each of a plurality of candidate reference blocks of a current block to be decoded into a respective rank number based on context features of the current block relative to context features of each of the plurality of candidate reference blocks, the means determining a current rank number for the current block, the current rank number corresponding to a specific candidate reference block among the plurality of candidate reference blocks that is to be actually used as a reference block to decode the current block; and An apparatus for entropy decoding a determined current level number for the current block by entropy decoding the determined current level number from a plurality of different entropy decoding schemes selected according to a probability distribution of the determined current level number.

16. The apparatus of claim 15, wherein, The reference data includes at least one of a motion vector, a spatial displacement vector, and a disparity value.

17. The apparatus of claim 15, wherein, The reference data of each of the plurality of candidate reference blocks of the current block is respectively transformed into the respective level number by computing a respective distance between the current block and a respective one of the plurality of candidate reference blocks based on the context feature of the current block relative to the context feature of the respective one of the plurality of candidate reference blocks, repeating the computing of the respective distance for remaining ones of the plurality of candidate reference blocks to obtain a plurality of respective distances, and sorting the plurality of candidate reference blocks based on the plurality of respective distances to obtain a level list in which a plurality of the respective level numbers have been assigned.

18. The apparatus of claim 16, wherein, The particular one of the plurality of candidate reference blocks to be actually used as the reference block to decode the current block is identified according to a respective one of the level numbers corresponding to the particular one of the plurality of candidate reference blocks, wherein the respective one of the level numbers indicates a closest match between the particular one of the plurality of candidate reference blocks and the current block based on a shortest one of a plurality of respective distances.

19. The apparatus of claim 15, wherein, The context feature of the current block includes pixels surrounding the current block, and the context feature of each of the plurality of candidate reference blocks respectively includes pixels surrounding the respective one of the plurality of candidate reference blocks.

20. The apparatus of claim 15, wherein, The context feature of each of the plurality of candidate reference blocks forms a searchable context feature set compared to the context feature of the current block.

21. The apparatus of claim 15, wherein, The context feature of the current block is matched to the context feature of each of the plurality of candidate reference blocks based on a respective distance between the current block and the respective one of the plurality of candidate reference blocks.

Citation Information

Patent Citations

  • Distributive vide frequency coding method based self adaptive Hashenhege type vector quantization

    CN101005621A

  • Encoding and decoding method and device, image element interpolation processing method and device

    CN101198063A