CN111010581A - Motion vector information processing method and device, electronic equipment and storage medium - Google Patents
Motion vector information processing method and device, electronic equipment and storage medium Download PDFInfo
- Publication number
- CN111010581A CN111010581A CN201911244707.6A CN201911244707A CN111010581A CN 111010581 A CN111010581 A CN 111010581A CN 201911244707 A CN201911244707 A CN 201911244707A CN 111010581 A CN111010581 A CN 111010581A
- Authority
- CN
- China
- Prior art keywords
- precision
- motion vector
- buffer
- information
- predefined
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/59—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
The present disclosure relates to a method and an apparatus for processing motion vector information, an electronic device and a storage medium, and relates to the technical field of information storage, wherein an MV buffer comprises a spatial MV buffer, a spatial MV line buffer and a temporal MV buffer, and the method comprises: storing the motion vector information into different motion vector buffer areas according to predefined motion vector precision; the preset motion vector precision is determined according to video parameters of the image corresponding to the motion vector information; and decoding the image according to the motion vector information. The method provides a solution to the problem of how to store MV information in order to make reasonable use of MV buffers, which is the problem of the related art that the required MV buffer space for motion vector MV information is becoming larger.
Description
Cross Reference to Related Applications
The application requires that the United states patent office, application number 62/776,963 and application name are filed in 2018, 12, month and 7
Priority of U.S. patent application to "The MV Storage for Video Coding", The entire contents of which are incorporated by reference
Is incorporated in the present applicationIn (1).
Technical Field
The present invention relates to the field of information storage technologies, and in particular, to a method and an apparatus for processing motion vector information, an electronic device, and a storage medium.
Background
In the related art, video data may be compressed using various video encoding techniques. Video encoding is performed according to one or more video encoding standards. For example, the Video Coding standards include VVC (Versatile Video Coding), JEM (Joint Exploration Model), HEVC (High efficiency Video Coding), AVC (Advanced Video Coding), MPEG (Moving Picture Experts Group) Coding, and the like.
Video coding typically utilizes prediction methods such as inter prediction, intra prediction, etc., where there is redundancy in the video image or video sequence. To facilitate prediction of Motion Vectors (MVs) of video information, Motion Vector information reconstructed by each Coding Unit (CU) needs to be stored in a buffer for use by subsequent CUs. The inventors have found that with the development of video coding techniques, the required MV buffer space for motion vector MV information is increasing, and therefore how to store MV information in order to make reasonable use of MV buffers remains to be solved.
Disclosure of Invention
The present disclosure provides a motion vector information processing method, device, electronic device and storage medium, which are used to provide a solution to the problem in the related art that the space of the MV buffer area required for motion vector MV information is getting larger and larger, and how to store MV information so as to make reasonable use of the MV buffer area.
According to a first aspect of the embodiments of the present disclosure, there is provided a method for processing motion vector information, where an MV buffer includes a spatial MV buffer, a spatial MV line buffer, and a temporal MV buffer, including:
after the MV information of the image is reconstructed, the MV precision of at least one buffer area in the MV buffer area for storing the MV information is reduced according to the video parameters of the image;
and storing the MV information according to the MV precision after the precision is reduced.
In one embodiment, the video parameter is resolution, and the reducing the MV precision of at least one of the MV buffers for storing the MV information according to the video parameter of the image includes:
determining the MV precision of each buffer area corresponding to the resolution interval in which the resolution of the image is located according to the preset corresponding relation between the MV precision and the resolution interval; alternatively, the first and second electrodes may be,
and acquiring the MV precision from the signal notification for decoding, wherein the MV precision is determined in advance according to the resolution of the image and is carried in the signal.
In one embodiment, the MV precision of the time-domain MV buffer is a first precision, the MV precision of the spatial-domain MV line buffer is a second precision, and the precision of the spatial-domain MV buffer is a third precision;
wherein the first precision, the second precision, and the third precision are not identical, and at least one of the first precision, the second precision, and the third precision is smaller than an original precision of the MV information.
In one embodiment, the first precision is less than the second precision, and/or,
the second precision is less than the third precision.
In one embodiment, before the reducing the MV precision of at least one of the MV buffers for storing the MV information according to the video parameters of the image, the method further comprises:
and determining that the parameter value of the video parameter meets a preset condition.
In one embodiment, the preset condition comprises at least one of:
resolution is greater than a resolution threshold;
the image size is larger than a preset value.
In one embodiment, the MV buffer further comprises a history buffer, the MV precision of the history buffer being a fourth precision.
According to a second aspect of the embodiments of the present disclosure, there is provided a processing apparatus for motion vector information, where an MV buffer includes a spatial MV buffer, a spatial MV line buffer, and a temporal MV buffer, including:
the reduction module is configured to reduce the MV precision of at least one buffer area in the MV buffer areas for storing the MV information according to the video parameters of the image after the MV information of the image is reconstructed;
a storage configured to perform storing the MV information according to the MV precision after the precision is reduced.
In one embodiment, the video parameter is resolution, and the reducing module is configured to perform reducing, according to the video parameter of the image, MV precision of at least one of the MV buffers for storing the MV information, including:
determining the MV precision of each buffer area corresponding to the resolution interval in which the resolution of the image is located according to the preset corresponding relation between the MV precision and the resolution interval; alternatively, the first and second electrodes may be,
and acquiring the MV precision from the signal notification for decoding, wherein the MV precision is determined in advance according to the resolution of the image and is carried in the signal.
In one embodiment, the MV precision of the time-domain MV buffer is a first precision, the MV precision of the spatial-domain MV line buffer is a second precision, and the precision of the spatial-domain MV buffer is a third precision;
wherein the first precision, the second precision, and the third precision are not identical, and at least one of the first precision, the second precision, and the third precision is smaller than an original precision of the MV information.
In one embodiment, the first precision is less than the second precision, and/or,
the second precision is less than the third precision.
In one embodiment, the apparatus further comprises:
the reducing module is configured to perform determining that a parameter value of the video parameter satisfies a preset condition before reducing, according to the video parameter of the image, the MV precision of at least one of the MV buffers for storing the MV information.
In one embodiment, the preset condition comprises at least one of:
resolution is greater than a resolution threshold;
the image size is larger than a preset value.
In one embodiment, the MV buffer further comprises a history buffer, the MV precision of the history buffer being a fourth precision.
According to a third aspect of the embodiments of the present disclosure, there is provided an electronic apparatus including: at least one processor; and a memory communicatively coupled to the at least one processor; wherein the memory stores instructions executable by the at least one processor to enable the at least one processor to perform the method of the first aspect.
According to a fourth aspect of embodiments of the present disclosure, there is provided a computer storage medium having stored thereon computer-executable instructions for performing the method of the first aspect.
The technical scheme provided by the embodiment of the disclosure at least brings the following beneficial effects:
the present disclosure provides a method and an apparatus for processing motion vector information, an electronic device, and a storage medium, wherein an MV buffer includes a spatial MV buffer, a spatial MV line buffer, and a temporal MV buffer, and the method includes: after the MV information of the image is reconstructed, the MV precision of at least one buffer area in the MV buffer area for storing the MV information is reduced according to the video parameters of the image; and storing the MV information according to the MV precision after the precision is reduced. The method provides a solution to the problem of how to store MV information in order to make reasonable use of MV buffers, which is the problem of the related art that the required MV buffer space for motion vector MV information is becoming larger.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the disclosure.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present disclosure and, together with the description, serve to explain the principles of the disclosure and are not to be construed as limiting the disclosure.
Fig. 1 is a schematic diagram of an airspace MV line buffer provided in an embodiment of the present disclosure;
fig. 2 is a schematic diagram of a time-domain MV buffer provided in an embodiment of the present disclosure;
fig. 3 is a schematic flowchart of a method for processing motion vector information provided in an embodiment of the present disclosure;
FIG. 4 is a schematic diagram of a process for determining degraded MV precision provided in an embodiment of the present disclosure;
fig. 5 is a schematic structural diagram of a motion vector information processing apparatus provided in an embodiment of the present disclosure;
fig. 6 is a schematic structural diagram of an electronic device provided in an embodiment of the present disclosure.
Detailed Description
In order to make the technical solutions of the present disclosure better understood by those of ordinary skill in the art, the technical solutions in the embodiments of the present disclosure will be clearly and completely described below with reference to the accompanying drawings.
The embodiments of the present disclosure relate to a plurality, which means two or more.
It should be noted that the terms "first," "second," and the like in the description and claims of the present disclosure and in the above-described drawings are used for distinguishing between similar elements and not necessarily for describing a particular sequential or chronological order. It is to be understood that the descriptions so used are interchangeable under appropriate circumstances such that the embodiments of the disclosure described herein are capable of operation in sequences other than those illustrated or described herein.
For the purpose of facilitating understanding of the embodiments of the present disclosure, some key terms related to the embodiments of the present disclosure are explained below, including:
MV: motion vectors, including temporal MVs, and spatial MVs.
MV prediction: the prediction of an unknown MV from a known MV is roughly classified into a time-domain MV prediction and a spatial-domain MV prediction. In inter-coding, the relative displacement between the current coding block and the best matching block in its reference picture is denoted by MV. Each divided block has corresponding motion information to be transmitted to a decoding end. If the MVs of each block are coded and transmitted independently, especially divided into small-sized blocks, a considerable number of bits are consumed. In order to reduce the number of bits used to encode motion information, h.264/AVC uses spatial correlation between adjacent macroblocks to predict motion information of a current block to be encoded from motion information of adjacent encoded blocks, and then encodes a prediction difference. This effectively reduces the number of bits representing motion information. Based on this, in the process of coding the MV of the current macroblock, the h.264/AVC firstly uses the MVs of the adjacent coded blocks to predict the MV of the current macroblock, and then codes the Difference value (MVD) between the predicted value (MVP) of the MV and the true estimate value of the MV, thereby effectively reducing the coding bit number of the MV.
Temporal predicted MV information: MV information for time domain MV prediction.
Spatial prediction MV information: MV information for spatial MV prediction.
MV precision: when encoding an image, it is necessary to divide the image into a plurality of image blocks and perform MV prediction on each image block. The MV precision is an offset of the first image block and is used for representing the number of divided image blocks, the higher the MV precision is, the more divided image blocks are, and the MV precision in the present disclosure can be expressed by the reciprocal of the divided image block of one frame of image. For example, if one frame image is divided into 16 blocks, its MV precision is 1/16.
Effective range of MV: the greater the precision of the MV, the greater the amount of information it can express. The inventors found that when storing MVs with a fixed number of bits (bits), the greater the precision of the MVs, the greater the difference between the minimum and maximum values of the MVs, whereas the greater the effective range of the MVs, i.e., the greater the difference between the minimum and maximum values of the MVs. When storing the MV information, if the MV precision is larger without considering the number of bits, the required storage space is larger, i.e. the required number of bits is larger. In addition, a larger effective range means that the range of reference values to which the MV information can be directed is larger; if the MV is an MV of an object moving very fast, its effective range must be large enough to find the corresponding reference block. Therefore, the meaning that the MV buffer can contain two levels is reasonably utilized in the disclosure, and firstly, when the number of the fixed bits is not fixed, the storage space of the buffer required by the MV is reduced as much as possible; secondly, the effective range of MV with fixed bits is increased as much as possible, and under certain conditions, at least one of the two is satisfied.
Airspace MV buffer area: the user stores the spatial prediction MV information.
Airspace MV line buffer area: for storing the spatial prediction MV information of a CU. Referring to fig. 1, a schematic diagram of an airspace MV line buffer according to an embodiment of the present disclosure is shown.
Time domain MV buffer: for storing the temporally predicted MV information. Referring to fig. 2, a schematic diagram of a time-domain MV buffer according to an embodiment of the present disclosure is shown.
And (3) coding loss: coding loss, the degree of loss of MV information during the encoding process.
In the related art, video data may be compressed using various video encoding techniques. Video encoding is performed according to one or more video encoding standards. For example, video coding standards include VVC, JEM, HEVC, AVC, MPEG coding, and the like. Video coding typically utilizes prediction methods such as inter prediction, intra prediction, etc., where there is redundancy in the video image or video sequence. To facilitate prediction of the motion vectors of the video information, the reconstructed motion vector MV information of each coding unit CU needs to be stored in a buffer for use by subsequent CUs. The inventor finds that, with the development of video coding technology, the space of the MV buffer required by the motion vector MV information is larger and larger, so how to store the MV information in order to make reasonable use of the MV buffer is left to be solved.
The inventor researches to find that Coding loss can be guaranteed when the MV precision is reduced. In view of this, the present disclosure provides a method for processing motion vector information, and referring to fig. 3, a flow diagram of the method for processing motion vector information provided in the embodiment of the present disclosure is shown, and the method includes:
step 301: storing the motion vector information into different motion vector buffer areas according to predefined motion vector precision; wherein the predefined motion vector precision is determined according to video parameters of an image corresponding to the motion vector information;
in implementation, after reconstructing motion vector information (MV information) from a received image, relevant video parameters, such as a resolution of the image, can be known according to the MV information (in this disclosure, the resolution of the image can be used as the same as the size of the image, or different video parameters can be selected according to actual requirements). Optionally, the MV information is stored in the MV buffer, and the MV information can be stored according to the MV precision, i.e. the original MV precision, but when the MV precision is higher, the required space of the MV buffer is larger and larger. Therefore, if the parameter value of the video parameter is determined to meet the preset condition; for example, if the resolution of the image of the MV information is determined to be greater than a set resolution threshold, the MV accuracy when the MV information is stored based on the resolution may be degraded; in implementation, for example, the set resolution threshold is 768 × 576, and after deriving the motion vector MV information of an image, it is known that the image resolution of the MV information is 3840 × 2160 and the MV precision is 1/16pel (pixel value); because the image resolution of the MV information is judged to be larger than the set resolution threshold, the MV information can be stored in the buffer area with the MV precision lower than the original precision, namely the MV precision is reduced and the MV buffer area is reduced.
In the embodiment of the present disclosure, the implementation manner of reducing the MV precision may include the following:
mode 1), according to the preset corresponding relation (namely a predefined mode) between the MV precision and the resolution interval, determining the predefined MV precision of each buffer area corresponding to the resolution interval where the resolution of the image is located. For example, according to the preset correspondence between the MV precision and the resolution interval as shown in table 1, it should be noted that table 1 is only an example of one given correspondence, and is not used to limit the preset correspondence between the MV precision and the resolution interval, and refer to table 1:
TABLE 1
Resolution of an image | MV precision |
88×72~768×576 | 1/8 pixel values, 1/16 pixel values |
768×576~1920×1080 | 1/4 the value of the pixel is, |
1920×1080~3840×2160 | 1/2 pixel values, 1/4 pixel values |
3840×2160~5120×2880 | 1/2 pixel values, 1/4 pixel values |
5120×2880~7680×4800 | 1 pixel value, 1/2 pixel value |
As can be seen from table 1, after the MV information is obtained, the image resolution is determined according to the MV information; and if the image resolution meets the preset condition, selecting to reduce the image resolution to proper MV precision for storage according to the corresponding relation shown in the table 1. By the method, after the precision of the MV information is reduced, a larger effective range can be obtained. As shown in table 1, a determined highlighting resolution may correspond to one or more MV precisions for selection, and may be determined jointly with reference to other video parameters during subsequent selection, which is not limited by the present disclosure.
In addition, if it is determined that the MV information is stored according to the resolution reduction MV precision of the image, optionally, the predefined motion vector precision is obtained from a signaling for decoding, and the predefined motion vector precision is determined in advance according to the resolution of the image and is carried in the signaling. And then storing the MV information in each buffer area according to the acquired predefined motion vector precision.
Mode 2), the MV precision of at least one of the MV buffers for storing the MV information is reduced, and the MV precision of each buffer may not be identical.
The MV buffer area comprises a space domain MV buffer area, a space domain MV line buffer area and a time domain MV buffer area; and the space-domain MV buffer and/or the space-domain MV line buffer is used to store the space-domain predicted MV information, the time-domain buffer is used to store the time-domain predicted MV information, and which MV information is stored in which MV buffer can be determined by block, which is not described herein again.
During implementation, optionally, it is assumed that the MV precision of the time-domain MV buffer is a first precision, the MV precision of the spatial-domain MV line buffer is a second precision, and the precision of the spatial-domain MV buffer is a third precision; the first precision, the second precision and the third precision are not completely the same, and at least one precision in the first precision, the second precision and the third precision is smaller than the original precision of the MV information. It should be noted that the "first", "second", and "third" described above may not be identical only for distinguishing the MV precisions stored in the three MV buffers.
In the method, at least one of the first precision, the second precision and the third precision is smaller than the original precision of the MV information. That is, the MV precision of the at least one MV buffer is lower than the original MV precision. For example, the first precision is smaller than the original precision of the MV information, which means that for the storage of the MV information in the three buffers, when the MV information is stored in the time-domain MV buffer corresponding to the first precision, the MV information is stored with the precision smaller than the original precision, and the spatial MV line buffer corresponding to the second precision and the spatial MV buffer corresponding to the third precision are stored with the original precision of the MV information when the second precision and the third precision are the same as the original precision. Or, the first precision, the second precision and the third precision are all smaller than the original precision of the MV information, but it should be noted that the first precision, the second precision and the third precision may not be completely the same, which indicates that different MV precisions smaller than the original precision can be selected in the three buffers to realize storage.
In another embodiment, when Coding loss of MV information in different buffers is considered, MV precision in the time-domain MV buffer may be reduced lower when both the time-domain MV buffer and the spatial MV line buffer degrade MV precision for storing the MV information, as indicated by the condition that the first precision is less than the second precision and/or the second precision is less than the third precision; or when the MV precision for storing the MV information is reduced by the spatial-domain MV line buffer area and the spatial-domain MV buffer area, the MV precision in the spatial-domain MV line buffer area can be reduced to be lower; and when the MV precision storage is reduced by all three buffers, the MVV precision of the time domain MV buffer can be reduced lower, the spatial domain MV line buffer is the second time, and the spatial domain MV buffer is reduced the least. For example, the original precision of the MV information is 1/16, it may be determined that the first precision is 1/2, the second precision is 1/4, and the third precision is 1/8.
In the above method, the accuracy reduction mode is optional, and if the original accuracy is 1/X, if the original accuracy is reduced, the original accuracy may be divided by 2, 4, 8, and 16 to obtain the reduced storage accuracy 1/Y, for example, if the original accuracy is 1/16, and the MV information is represented as (X, Y), then (X/4, Y/4) obtained by dividing X, Y by 4 respectively is the value of the MV information when the accuracy is reduced to 1/4. Furthermore, when the MV precision reaches 1/16 pixels, the MV precision is optionally an integer, or optionally some finite decimal point.
The maximum value of 1/Y is 1. Moreover, in one embodiment, when the MV precision is reduced and the number of bits is reduced, the size of the buffer area required correspondingly becomes smaller; alternatively, in another embodiment, when the bits are fixed, the size of the corresponding required buffer is not changed, but under the condition of reducing the precision, the effective range of the MV information is increased, thereby facilitating the MV prediction of a fast moving object.
In addition, when the implementation is carried out, when the MV information is stored into the spatial domain MV line buffer area according to the predefined MV precision, different spatial domain MV line buffer areas adopt different predefined MV precisions when the MV information is stored across lines. The size of the MV line buffer can be effectively reduced by the implementation mode.
In one embodiment, to facilitate a clearer understanding of the above method, referring to fig. 4, a schematic flow chart for determining reduced MV accuracy provided by an embodiment of the present disclosure includes:
step 401: after the MV information of the image is reconstructed, the resolution of the image and a set resolution threshold are obtained; wherein, the original MV precision of the MV information is assumed to be a. Execution continues at step 402.
Step 402: and judging whether the resolution of the image is larger than a set resolution threshold value or not. If not, go to step 403; if so, continue to step 404.
Step 403: the MV information is stored according to the original MV precision a.
Step 404: and determining to reduce the MV precision of the time domain MV buffer according to a predefined rule. Execution continues with step 405.
Step 405: and determining the reduced MV precision according to the corresponding relation between the resolution and the preset MV precision, and assuming that the reduced MV precision is B. Execution continues with step 406.
And 406, reducing the MV precision of the MV information from A to B and storing the MV information in a time domain MV buffer area.
In addition, MV information is also typically stored using a history buffer, which may store information content that is redundant with other buffer information. In specific implementation, whether the history buffer area is adopted or not can be determined according to actual requirements. The disclosure should be noted that, when a history buffer is used, MV information may be stored in the history buffer with a fourth precision to reduce an occupied space of the history buffer, where the fourth precision may be the same as or different from an original precision of the MV information, for example, when a resolution of an image is higher, a lower MV precision may also be used for storage, where the fourth precision is determined, and an MV precision corresponding to a resolution interval where a resolution of the image is located may also be determined according to a preset correspondence between the MV precision and the resolution interval; alternatively, the storage is based on the MV precision carried in the signaling used for decoding.
Step 302: and decoding the image according to the motion vector information.
The reason why the storage is performed in step 301 is to realize spatial MV prediction and temporal MV prediction at the time of image decoding in this step.
It is possible to obtain in step 301 what MV precision to store in different buffers, and therefore store the MV information according to the determined MV precision.
By the motion vector information processing method provided by the disclosure, the fact that a smaller buffer area is adopted under high MV precision can be realized by considering reduction of the number of all or part of bits of a designated buffer area if higher MV precision is adopted fixedly when the MV information is stored; or, according to the video parameter information of the known MV information, the MV precision of at least one buffer area in the buffer area for storing the MV information is reduced so as to increase the effective range of the buffer area. The invention provides a processing method for storing MV information so as to reasonably utilize the motion vector information of an MV buffer.
Based on the same inventive concept, referring to fig. 5, a schematic structural diagram of a processing apparatus for motion vector information in an embodiment of the present disclosure is shown, where an MV buffer includes a spatial MV buffer, a spatial MV line buffer, and a temporal MV buffer, and the apparatus includes: a reduction module 501 and a storage module 502.
A reducing module 501, configured to reduce, after MV information of an image is reconstructed, MV precision of at least one buffer area in the MV buffer area for storing the MV information according to video parameters of the image;
a storage 502 configured to perform storing the MV information according to the MV precision after the precision is reduced.
In an embodiment, the video parameter is a resolution, and the reducing module 501 is configured to perform reducing, according to the video parameter of the image, MV precision of at least one of the MV buffers for storing the MV information, including:
determining the MV precision of each buffer area corresponding to the resolution interval in which the resolution of the image is located according to the preset corresponding relation between the MV precision and the resolution interval; alternatively, the first and second electrodes may be,
and acquiring the MV precision from the signal notification for decoding, wherein the MV precision is determined in advance according to the resolution of the image and is carried in the signal.
In one embodiment, the MV precision of the time-domain MV buffer is a first precision, the MV precision of the spatial-domain MV line buffer is a second precision, and the precision of the spatial-domain MV buffer is a third precision;
wherein the first precision, the second precision, and the third precision are not identical, and at least one of the first precision, the second precision, and the third precision is smaller than an original precision of the MV information.
In one embodiment, the first precision is less than the second precision, and/or,
the second precision is less than the third precision.
In one embodiment, the apparatus further comprises:
the reducing module 501 is configured to perform determining that a parameter value of the video parameter satisfies a preset condition before reducing, according to the video parameter of the image, the MV precision of at least one of the MV buffers for storing the MV information.
In one embodiment, the preset condition comprises at least one of:
resolution is greater than a resolution threshold;
the image size is larger than a preset value.
In one embodiment, the MV buffer further comprises a history buffer, the MV precision of the history buffer being a fourth precision.
Having described a method and apparatus for processing motion vector information in an exemplary embodiment of the present disclosure, an electronic device in another exemplary embodiment of the present disclosure is described next.
As will be appreciated by one skilled in the art, aspects of the present disclosure may be embodied as a system, method or program product. Accordingly, various aspects of the present disclosure may be embodied in the form of: an entirely hardware embodiment, an entirely software embodiment (including firmware, microcode, etc.) or an embodiment combining hardware and software aspects that may all generally be referred to herein as a "circuit," module "or" system.
In some possible implementations, an electronic device in accordance with the present disclosure may include at least one processor, and at least one memory. Wherein the memory stores program code which, when executed by the processor, causes the processor to perform the steps of the method of processing motion vector information according to various exemplary embodiments of the present disclosure described above in this specification. For example, the processor may perform steps 301-302 as shown in FIG. 3.
The electronic device 130 according to this embodiment of the present disclosure is described below with reference to fig. 6. The electronic device 130 shown in fig. 6 is only an example, and should not bring any limitation to the functions and the scope of use of the embodiments of the present disclosure.
As shown in fig. 6, the electronic device 130 is in the form of a general purpose computing device. The components of the electronic device 130 may include, but are not limited to: the at least one processor 131, the at least one memory 132, and a bus 133 that connects the various system components (including the memory 132 and the processor 131).
The memory 132 may include readable media in the form of volatile memory, such as Random Access Memory (RAM)1321 and/or cache memory 1322, and may further include Read Only Memory (ROM) 1323.
The electronic device 130 may also communicate with one or more external devices 134 (e.g., keyboard, pointing device, etc.), with one or more devices that enable target objects to interact with the electronic device 130, and/or with any devices (e.g., router, modem, etc.) that enable the electronic device 130 to communicate with one or more other computing devices. Such communication may occur via input/output (I/O) interfaces 135. Also, computing device 130 may communicate with one or more networks (e.g., a Local Area Network (LAN), a Wide Area Network (WAN), and/or a public network, such as the internet) via network adapter 136. As shown, network adapter 136 communicates with other modules for electronic device 130 over bus 133. It should be understood that although not shown in the figures, other hardware and/or software modules may be used in conjunction with electronic device 130, including but not limited to: microcode, device drivers, redundant processors, external disk drive arrays, RAID systems, tape drives, and data backup storage systems, among others.
In some possible embodiments, various aspects of the video storage method provided by the present disclosure may also be implemented in the form of a program product including program code for causing a computer device to perform the steps in the method for processing motion vector information according to various exemplary embodiments of the present disclosure described above in this specification when the program product is run on the computer device, for example, the computer device may perform steps 301 to 302 as shown in fig. 3.
The program product may employ any combination of one or more readable media. The readable medium may be a readable signal medium or a readable storage medium. A readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the foregoing. More specific examples (a non-exhaustive list) of the readable storage medium include: an electrical connection having one or more wires, a portable disk, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
The program product for video processing of embodiments of the present disclosure may employ a portable compact disc read only memory (CD-ROM) and include program code, and may be run on a computing device. However, the program product of the present disclosure is not limited thereto, and in this document, a readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
A readable signal medium may include a propagated data signal with readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated data signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A readable signal medium may also be any readable medium that is not a readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.
Program code embodied on a readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
Program code for carrying out operations for the present disclosure may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, C + + or the like and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code may execute entirely on the target object computing device, partly on the target object apparatus, as a stand-alone software package, partly on the target object computing device and partly on a remote computing device, or entirely on the remote computing device or server. In the case of a remote computing device, the remote computing device may be connected to the target object electronic equipment through any kind of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or may be connected to external electronic equipment (e.g., through the internet using an internet service provider).
It should be noted that although several units or sub-units of the apparatus are mentioned in the above detailed description, such division is merely exemplary and not mandatory. Indeed, the features and functions of two or more units described above may be embodied in one unit, in accordance with embodiments of the present disclosure. Conversely, the features and functions of one unit described above may be further divided into embodiments by a plurality of units.
Further, while the operations of the disclosed methods are depicted in the drawings in a particular order, this does not require or imply that these operations must be performed in the particular order shown, or that all of the illustrated operations must be performed, to achieve desirable results. Additionally or alternatively, certain steps may be omitted, multiple steps combined into one step execution, and/or one step broken down into multiple step executions.
As will be appreciated by one skilled in the art, embodiments of the present disclosure may be provided as a method, system, or computer program product. Accordingly, the present disclosure may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present disclosure may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and so forth) having computer-usable program code embodied therein.
The present disclosure is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the disclosure. It will be understood that each flow and/or block of the flow diagrams and/or block diagrams, and combinations of flows and/or blocks in the flow diagrams and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
Other embodiments of the disclosure will be apparent to those skilled in the art from consideration of the specification and practice of the disclosure disclosed herein. This disclosure is intended to cover any variations, uses, or adaptations of the disclosure following, in general, the principles of the disclosure and including such departures from the present disclosure as come within known or customary practice within the art to which the disclosure pertains. It is intended that the specification and examples be considered as exemplary only, with a true scope and spirit of the disclosure being indicated by the following claims.
It will be understood that the present disclosure is not limited to the precise arrangements described above and shown in the drawings and that various modifications and changes may be made without departing from the scope thereof. The scope of the present disclosure is limited only by the appended claims.
Claims (10)
1. A method for processing motion vector information, wherein a motion vector buffer comprises a spatial motion vector buffer, a spatial motion vector line buffer, and a temporal motion vector buffer, the method comprising:
storing the motion vector information into different motion vector buffer areas according to predefined motion vector precision; wherein the predefined motion vector precision is determined according to the video parameters of the image corresponding to the motion vector information;
and decoding the image according to the motion vector information.
2. The method of claim 1, wherein storing motion vector information to different motion vector buffers with a predefined motion vector precision comprises:
reducing the motion vector precision of at least one of the motion vector buffers to a predefined motion vector precision;
and storing the motion vector information according to the motion vector precision after the precision is reduced.
3. The method of claim 1, wherein the video parameter is resolution, and wherein obtaining the predefined motion vector precision comprises:
according to the corresponding relation between the preset motion vector precision and the resolution interval, determining the predefined motion vector precision of each buffer area corresponding to the resolution interval where the resolution of the image is located; alternatively, the first and second electrodes may be,
obtaining the predefined motion vector precision from a signaling for decoding, wherein the predefined motion vector precision is determined in advance according to the resolution of the image and is carried in the signaling.
4. The method of any of claims 1-3, wherein the predefined motion vector precision of the temporal motion vector buffer is a first precision, the predefined motion vector precision of the spatial motion vector line buffer is a second precision, and the predefined motion vector precision of the spatial motion vector buffer is a third precision;
wherein the first precision, the second precision, and the third precision are not completely the same, and at least one precision of the first precision, the second precision, and the third precision is smaller than an original precision of the motion vector information.
5. The method of claim 4, wherein the first precision is less than the second precision, and/or
The second precision is less than the third precision.
6. The method of claim 1, wherein the motion vector buffer further comprises a history buffer, and wherein the motion vector precision of the history buffer is a fourth precision.
7. The method of claim 2, wherein when storing motion vector information into a spatial motion vector line buffer with a predefined motion vector precision, the method further comprises:
and when the motion vector information is stored in a cross-row mode, different space-domain motion vector line buffer areas adopt different predefined motion vector precisions.
8. An apparatus for processing motion vector information, wherein a motion vector buffer comprises a spatial motion vector buffer, a spatial motion vector line buffer, and a temporal motion vector buffer, the apparatus comprising:
a storage module configured to perform storing motion vector information into different motion vector buffers with predefined motion vector precision; wherein the predefined motion vector precision is determined according to video parameters of an image corresponding to the motion vector information;
a decoding module configured to perform image decoding according to the motion vector information.
9. An electronic device, comprising: at least one processor; and a memory communicatively coupled to the at least one processor; wherein the memory stores instructions executable by the at least one processor to enable the at least one processor to perform the method of any one of claims 1-7.
10. A computer storage medium having computer-executable instructions stored thereon for performing the method of any one of claims 1-7.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862776963P | 2018-12-07 | 2018-12-07 | |
US62/776,963 | 2018-12-07 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111010581A true CN111010581A (en) | 2020-04-14 |
CN111010581B CN111010581B (en) | 2022-08-12 |
Family
ID=70115190
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911244707.6A Active CN111010581B (en) | 2018-12-07 | 2019-12-06 | Motion vector information processing method and device, electronic equipment and storage medium |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111010581B (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111436226A (en) * | 2018-11-12 | 2020-07-21 | 北京字节跳动网络技术有限公司 | Motion vector storage for inter prediction |
US11838539B2 (en) | 2018-10-22 | 2023-12-05 | Beijing Bytedance Network Technology Co., Ltd | Utilization of refined motion vector |
US11930165B2 (en) | 2019-03-06 | 2024-03-12 | Beijing Bytedance Network Technology Co., Ltd | Size dependent inter coding |
US11956465B2 (en) | 2018-11-20 | 2024-04-09 | Beijing Bytedance Network Technology Co., Ltd | Difference calculation based on partial position |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1939066A (en) * | 2004-04-02 | 2007-03-28 | 汤姆森许可贸易公司 | Method and apparatus for complexity scalable video decoder |
CN101911706A (en) * | 2008-01-09 | 2010-12-08 | 三菱电机株式会社 | Image encoding device, image decoding device, image encoding method, and image decoding method |
CN104702957A (en) * | 2015-02-28 | 2015-06-10 | 北京大学 | Motion vector compression method and device |
CN105900420A (en) * | 2014-01-08 | 2016-08-24 | 微软技术许可有限责任公司 | Selection of motion vector precision |
CN106165419A (en) * | 2014-01-09 | 2016-11-23 | 高通股份有限公司 | Adaptive motion vector resolution signaling for video coding |
-
2019
- 2019-12-06 CN CN201911244707.6A patent/CN111010581B/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1939066A (en) * | 2004-04-02 | 2007-03-28 | 汤姆森许可贸易公司 | Method and apparatus for complexity scalable video decoder |
CN101911706A (en) * | 2008-01-09 | 2010-12-08 | 三菱电机株式会社 | Image encoding device, image decoding device, image encoding method, and image decoding method |
CN105900420A (en) * | 2014-01-08 | 2016-08-24 | 微软技术许可有限责任公司 | Selection of motion vector precision |
CN106165419A (en) * | 2014-01-09 | 2016-11-23 | 高通股份有限公司 | Adaptive motion vector resolution signaling for video coding |
CN104702957A (en) * | 2015-02-28 | 2015-06-10 | 北京大学 | Motion vector compression method and device |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11838539B2 (en) | 2018-10-22 | 2023-12-05 | Beijing Bytedance Network Technology Co., Ltd | Utilization of refined motion vector |
US11889108B2 (en) | 2018-10-22 | 2024-01-30 | Beijing Bytedance Network Technology Co., Ltd | Gradient computation in bi-directional optical flow |
US12041267B2 (en) | 2018-10-22 | 2024-07-16 | Beijing Bytedance Network Technology Co., Ltd. | Multi-iteration motion vector refinement |
CN111436226A (en) * | 2018-11-12 | 2020-07-21 | 北京字节跳动网络技术有限公司 | Motion vector storage for inter prediction |
US11843725B2 (en) | 2018-11-12 | 2023-12-12 | Beijing Bytedance Network Technology Co., Ltd | Using combined inter intra prediction in video processing |
US11956449B2 (en) | 2018-11-12 | 2024-04-09 | Beijing Bytedance Network Technology Co., Ltd. | Simplification of combined inter-intra prediction |
US11956465B2 (en) | 2018-11-20 | 2024-04-09 | Beijing Bytedance Network Technology Co., Ltd | Difference calculation based on partial position |
US11930165B2 (en) | 2019-03-06 | 2024-03-12 | Beijing Bytedance Network Technology Co., Ltd | Size dependent inter coding |
Also Published As
Publication number | Publication date |
---|---|
CN111010581B (en) | 2022-08-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111010581B (en) | Motion vector information processing method and device, electronic equipment and storage medium | |
CN110169061B (en) | Coding and decoding electronic device and method | |
CN110024392B (en) | Low complexity symbol prediction for video coding | |
US20180278951A1 (en) | Motion vector difference (mvd) prediction | |
US10382778B2 (en) | Method for motion vector storage in video coding and apparatus thereof | |
RU2577207C2 (en) | Video encoding method and device | |
US20180109812A1 (en) | Block partitioning using tree structures | |
JP2020205627A (en) | Inter-prediction method and device thereof | |
WO2020038349A1 (en) | Methods and apparatus for generating affine candidates | |
US11202076B2 (en) | Method and apparatus for encoding or decoding video data in FRUC mode with reduced memory accesses | |
CN112534807A (en) | Method and apparatus for multi-hypothesis mode referencing and constraining | |
EP2699001B1 (en) | A method and a system for video signal encoding and decoding with motion estimation | |
WO2015052273A1 (en) | Method and apparatus for displacement vector component prediction in video coding and decoding | |
US20210360246A1 (en) | Shape adaptive discrete cosine transform for geometric partitioning with an adaptive number of regions | |
US11259014B2 (en) | Inter prediction in geometric partitioning with an adaptive number of regions | |
US20210218977A1 (en) | Methods and systems of exponential partitioning | |
EP4037320A1 (en) | Boundary extension for video coding | |
CN111386706B (en) | Decoupling pattern inference and prediction | |
US20200396449A1 (en) | Adaptive block update of unavailable reference frames using explicit and implicit signaling | |
CN114205594B (en) | Method and apparatus for video encoding and method and apparatus for video decoding | |
CN113923453B (en) | Time domain filtering method and device for video, electronic equipment and storage medium | |
US9693053B2 (en) | Video encoding device, video decoding device, video encoding method, video decoding method, and non-transitory computer-readable recording media that use similarity between components of motion vector | |
KR20160067580A (en) | A method of encoding image data, an encoder using the method, and an application processor including the encoder | |
KR20140124446A (en) | Method for encoding and decoding video using intra prediction, and apparatus thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |