CN112218076A - Video coding method, device and system and computer readable storage medium - Google Patents

Video coding method, device and system and computer readable storage medium Download PDF

Info

Publication number
CN112218076A
CN112218076A CN202011113827.5A CN202011113827A CN112218076A CN 112218076 A CN112218076 A CN 112218076A CN 202011113827 A CN202011113827 A CN 202011113827A CN 112218076 A CN112218076 A CN 112218076A
Authority
CN
China
Prior art keywords
motion information
prediction direction
block
reference frame
adjacent blocks
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
Application number
CN202011113827.5A
Other languages
Chinese (zh)
Other versions
CN112218076B (en
Inventor
方瑞东
方诚
林聚财
江东
粘春湄
陈瑶
张政腾
殷俊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang Dahua Technology Co Ltd
Original Assignee
Zhejiang Dahua Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhejiang Dahua Technology Co Ltd filed Critical Zhejiang Dahua Technology Co Ltd
Priority to CN202011113827.5A priority Critical patent/CN112218076B/en
Publication of CN112218076A publication Critical patent/CN112218076A/en
Application granted granted Critical
Publication of CN112218076B publication Critical patent/CN112218076B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation

Abstract

The application discloses a video coding method, a device, a system and a computer readable storage medium, wherein the video coding method comprises the following steps: constructing virtual motion information for adjacent blocks of a current block, wherein the adjacent blocks are time domain adjacent blocks, space domain adjacent blocks or time-space domain adjacent blocks; acquiring an original matching block corresponding to the current block based on the virtual motion information; acquiring motion information of an original matching block; and coding the current block based on the motion information to obtain the code stream of the current block. According to the method and the device, the influence of the motion information of the adjacent blocks is considered when the original matching block is obtained, so that the reasonability of the obtained original matching block is improved, and the accuracy degree of pixel prediction is improved.

Description

Video coding method, device and system and computer readable storage medium
Technical Field
The present application relates to the field of video coding technologies, and in particular, to a video coding method, apparatus, system, and computer-readable storage medium.
Background
The video can be compressed by a video coding technology so as to reduce the data volume of the video, reduce the network bandwidth in the video transmission process and reduce the storage space. The video coding modes may include conventional inter prediction modes, conventional intra prediction modes, intra block copy prediction, string matching prediction, and the like.
Taking the conventional inter prediction mode as an example, the existing inter prediction process does not take into account the influence of the spatial-temporal neighboring blocks on the original matching block when obtaining the original matching block.
Disclosure of Invention
The application provides a video coding method, a video coding device, a video coding system and a computer readable storage medium.
In order to solve the above technical problem, a first technical solution provided by the present application is: there is provided a video encoding method including: constructing virtual motion information for adjacent blocks of a current block, wherein the adjacent blocks are time domain adjacent blocks, space domain adjacent blocks or time-space domain adjacent blocks; acquiring an original matching block corresponding to the current block based on the virtual motion information; acquiring motion information of the original matching block; and coding the current block based on the motion information to obtain the code stream of the current block.
In order to solve the above technical problem, a second technical solution provided by the present application is: the video coding device comprises a motion construction module, a motion search module and a video coding module; the motion construction module is used for constructing virtual motion information for adjacent blocks of a current block, wherein the adjacent blocks are time domain adjacent blocks, space domain adjacent blocks or time-space domain adjacent blocks; the motion search module is configured to obtain an original matching block corresponding to the current block based on the virtual motion information, and obtain motion information of the original matching block; and the video coding module is used for coding the current block based on the motion information to obtain a code stream of the current block.
In order to solve the above technical problem, a third technical solution provided by the present application is: a video coding and decoding system is provided, which comprises a processor, and a memory connected with the processor, wherein the memory stores program instructions; the processor is configured to execute the program instructions stored by the memory to implement the video encoding method as described above.
In order to solve the above technical problem, a fourth technical solution provided by the present application is: there is provided a computer readable storage medium storing program instructions which, when executed, implement a video encoding method as described above.
The video coding method provided by the application constructs virtual motion information for adjacent blocks of a current block, wherein the adjacent blocks are time domain adjacent blocks, space domain adjacent blocks or time-space domain adjacent blocks; acquiring an original matching block corresponding to the current block based on the virtual motion information; acquiring motion information of an original matching block; and coding the current block based on the motion information to obtain the code stream of the current block. According to the method and the device, the influence of the motion information of the adjacent blocks is considered when the original matching block is obtained, so that the reasonability of the obtained original matching block is improved, and the accuracy degree of pixel prediction is improved.
Drawings
Fig. 1 is a schematic flowchart illustrating an embodiment of a video encoding method provided in the present application;
FIG. 2 is a schematic structural diagram of a FicMV scanning sequence constructed by spatial neighboring blocks according to the present application;
fig. 3 is a schematic structural diagram of constructing a FicMV scanning order using temporal neighboring blocks according to the present application;
FIG. 4 is a schematic structural diagram of a FicMV scanning sequence constructed by using time-space domain neighboring blocks according to the present application;
FIG. 5 is a schematic diagram illustrating the structure of the offset vector usability judgment provided by the present application;
FIG. 6 is a structural schematic of the spatial range of positions provided herein;
FIG. 7 is a structural diagram of the scanning order of X blocks provided herein;
FIG. 8 is a block diagram of an embodiment of a string match prediction apparatus according to the present application;
FIG. 9 is a schematic block diagram of an embodiment of a video codec system of the present application;
fig. 10 is a schematic structural diagram of a computer-readable storage medium of the present application.
Detailed Description
The technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application, and it is obvious that the described embodiments are only a part of the embodiments of the present application, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present application.
The present application will be described in detail with reference to the accompanying drawings and examples.
Referring to fig. 1, fig. 1 is a schematic flowchart illustrating a video encoding method according to an embodiment of the present disclosure.
The video coding method provided by the present application mainly utilizes an inter-frame coding method related to the ETMVP technology, and the application of the inter-frame coding technology has certain limitations, for example, a coding block should satisfy an inter-frame coding prediction condition. For example, the ETMVP technique can only be used for coding blocks with a width and height greater than or equal to 8. The existing ETMVP technology mainly comprises the following processes: for the current block, find the time domain block of fixed n (n < ═ 5) corresponding spatial domain positions in the time domain reference frame. Both the current block and the time domain block are divided into 4 x 4 sub-blocks. Then, the n time domain blocks are traversed, and for each sub-block of the current block, the time domain MV (Motion Vector, Motion information) of the corresponding sub-block in the current time domain block is taken as the time domain MV of the current sub-block. The application provides the following video coding method on the basis of the existing ETMVP technology, and the specific steps are as follows:
step S11: and constructing virtual motion information for adjacent blocks of the current block, wherein the adjacent blocks are time domain adjacent blocks, space domain adjacent blocks or time-space domain adjacent blocks.
The method comprises the steps of constructing virtual motion information based on adjacent blocks in a time-space domain, wherein the virtual motion information comprises the size of a motion vector and a reference frame index, and the virtual motion information can be abbreviated as FicMV in subsequent description.
The adjacent blocks of the current block can be spatial adjacent blocks, time domain adjacent blocks or time-space adjacent blocks. For different types of adjacent blocks, the present application respectively and correspondingly proposes corresponding ways for acquiring a FicMV, specifically including the following three ways for acquiring a FicMV:
(1) FicMV constructed by spatial-domain neighboring blocks only
Specifically, referring to fig. 2, fig. 2 is a schematic structural diagram of constructing a FicMV scanning order using spatial neighboring blocks according to the present application.
a. Whether the L0 direction, i.e., the forward prediction direction, and the L1 direction, i.e., the backward prediction direction, of each spatial neighboring block are available is sequentially judged according to the scanning order of F, G, C, A, B, D in FIG. 2.
b. And averaging the motion vectors of all the available forward prediction directions to obtain the motion vector of the forward prediction direction of the FicMV, wherein the reference frame index of the motion vector is the reference frame index of the first available forward prediction direction, or the reference frame index of the last available forward prediction direction, or the reference frame index with the largest occurrence frequency in all the available forward prediction directions.
c. And averaging the motion vectors of all the available backward prediction directions to obtain the motion vector of the FicMV backward prediction direction, wherein the reference frame index is the reference frame index of the first available backward prediction direction, or the reference frame index of the last available backward prediction direction, or the reference frame index with the largest occurrence frequency in all the available backward prediction directions.
(1) FicMV construction using only temporal neighboring blocks
Specifically, referring to fig. 3, fig. 3 is a schematic structural diagram of constructing a FicMV scanning order by using time domain neighboring blocks according to the present application.
a. Whether the direction of L0, i.e. the forward prediction direction, and the direction of L1, i.e. the backward prediction direction, of each time domain neighboring block are available is sequentially judged according to the scanning order of F ', G', C ', A', B ', D' in FIG. 3.
b. And averaging the motion vectors of all the available forward prediction directions to obtain the motion vector of the forward prediction direction of the FicMV, wherein the reference frame index of the motion vector is the reference frame index of the first available forward prediction direction, or the reference frame index of the last available forward prediction direction, or the reference frame index with the largest occurrence frequency in all the available forward prediction directions.
c. And averaging the motion vectors of all the available backward prediction directions to obtain the motion vector of the FicMV backward prediction direction, wherein the reference frame index is the reference frame index of the first available backward prediction direction, or the reference frame index of the last available backward prediction direction, or the reference frame index with the largest occurrence frequency in all the available backward prediction directions.
(1) FicMV constructed by using adjacent blocks in time-space domain
Specifically, referring to fig. 4, fig. 4 is a schematic structural diagram of constructing a FicMV scanning order using spatial-temporal neighboring blocks according to the present application.
a. Whether the L0 direction, i.e. the forward prediction direction, and the L1 direction, i.e. the backward prediction direction, of each time-space domain neighboring block is available or not is sequentially judged according to the scanning order of F and F ', G and G', C and C ', A and A', B and B ', D and D' in FIG. 4.
b. And averaging the motion vectors of all the available forward prediction directions to obtain the motion vector of the forward prediction direction of the FicMV, wherein the reference frame index of the motion vector is the reference frame index of the first available forward prediction direction, or the reference frame index of the last available forward prediction direction, or the reference frame index with the largest occurrence frequency in all the available forward prediction directions.
c. And averaging the motion vectors of all the available backward prediction directions to obtain the motion vector of the FicMV backward prediction direction, wherein the reference frame index is the reference frame index of the first available backward prediction direction, or the reference frame index of the last available backward prediction direction, or the reference frame index with the largest occurrence frequency in all the available backward prediction directions.
According to the method and the device, the influence of the size of the motion information of the adjacent blocks in the time-space domain is fully considered when the original matching block is obtained through the ETMVP technology, so that the finally constructed candidate list of the ETMVP is more reasonable.
Step S12: and acquiring an original matching block corresponding to the current block based on the virtual motion information.
When the original matching block is obtained, namely the original matching block is obtained from the first reference frame in the backward prediction direction of the reference frame candidate list, the size of the motion vector of the virtual motion information is considered.
For example, set (Xpos, Ypos) as the top left coordinate of the current prediction Unit in the picture, (x _ ctb _ pos, y _ ctb _ pos) as the top left coordinate of the current CTU (Coding Tree Unit, CTU) in the picture, cu _ width and cu _ height as the width and height of the current prediction Unit, pic _ width and pic _ height as the width and height of the current picture, (Mx, My) as the top left coordinate of the original matching block (i.e., co-located block) in the reference frame, and (detlaX, deltaY) as the motion vector size of the forward prediction direction or backward prediction direction of the cmv. And finding an original matching block from the reference frame by using the reference frame index and the reference direction, wherein the coordinate position of the original matching block is as follows:
Mx=Clip3(((Xpos+detlaX+4)>>3)<<3,x_ctb_pos,min(x_ctb_pos+128-cu_width,pic_width-cu_width))
My=Clip3(((Ypos+deltaY+4)>>3)<<3,y_ctb_pos,min(y_ctb_pos+128-cu_height,pic_height-cu_height))
step S13: motion information of the original matching block is obtained.
The method and the device can further determine the position of the derived matching block based on the position of the original matching block, and the derived matching block is obtained by offsetting the original matching block.
Specifically, the position of the original matching block is only 1 of the n time domain block positions, and at most 4 time domain block positions, i.e. the derived matching blocks, can be derived by performing offset derivation based on the original matching block. These 4 offset vectors are: (8,0),(-8,0),(0,8),(0, -8). But if all of the 4 offset vectors are available, further availability decisions need to be made. The specific judgment method is as follows:
referring to fig. 5, fig. 5 is a schematic structural diagram of the offset vector usability judgment provided in the present application. The large block in fig. 1 indicates the position of the original matching block, and the remaining small blocks a1 to C4 indicate the position of 4 × 4scu with respect to the original matching block. Specifically, the method comprises the following steps:
an offset vector (8, 0) is available, requiring the following condition to be satisfied:
the a1, B2, A3, B4 positions are located within the current LCU (the largest coding unit) and current picture;
the motion vectors of a1 and B2 do not coincide, and the motion vectors of A3 and B4 do not coincide.
An offset vector (-8, 0) is available, requiring the following condition to be satisfied:
b1, B3 do not exceed the left boundary of the LCU;
the motion vectors of a2 and B1 do not coincide, and the motion vectors of a4 and B3 do not coincide.
The offset vectors (0, 8) are available, and the following condition needs to be satisfied:
the A1, C3, A2, C4 positions are located within the current LCU and current image;
the motion vectors of a1 and C3 do not coincide, and the motion vectors of a2 and C4 do not coincide.
Offset vectors (0, -8) are available, requiring the following conditions to be met:
c1, C2 do not exceed LCU upper bound;
the motion vectors of A3 and C1 do not coincide, and the motion vectors of a4 and C2 do not coincide.
Placing the available offset vectors, including (0, 0), in a list with an order priority of: (0,0),(0,8),(8,0),(0, -8),(-8,0). The original matched block is then shifted according to the available shift vector, resulting in a maximum of 4 derived matched blocks within the same frame as the original matched block.
Further, the present application also needs to acquire motion information of a block a1 to a block C4 in the same frame as the original matching block, and the specific acquisition mode of the motion information is as follows:
firstly, the airspace position corresponding to the motion information is determined, and the current airspace position is only related to the current block coordinate.
Let (bx, by) denote the position coordinates of the current block in the whole frame when the whole frame is divided into 4 × 4 blocks on average, and each 4 × 4 block is taken as a coordinate point. Determining the spatial domain position corresponding to the motion information by using a mask: mask (-1) ^ 3. "^" indicates XOR of-1 and 3 bits, and the last two bits of the mask after XOR are 0. Then, let the coordinates of the block space domain position (also 4 × 4 blocks as a unit) be (xpos, ypos):
xpos=(bx&mask)+2
ypos=(by&mask)+2
where "&" represents a bitwise AND. Where xpos may take the range: bx-1, bx, bx +1, bx + 2; ypos may take the range: by-1, by, by +1, by + 2. The current block at the same coordinate position only corresponds to one spatial domain position corresponding to the motion information, and for the spatial domain position range of the motion information corresponding to the current block at different coordinates, please refer to fig. 6 specifically, where fig. 6 is a schematic structural diagram of the spatial domain position range provided in the present application.
The positions of all the small dots in fig. 6 are all possible spatial coordinates, and each small square represents 4 × 4 blocks.
It can be seen from the above that the motion information is obtained from the acquired temporal block positions, rather than directly taking the motion vectors of the a 1-C4 blocks. And obtaining the motion information corresponding to A1-C4. If the coding blocks in a 1-C4 cannot acquire valid motion information, the motion vector of the F block is used as the motion information corresponding to the block by default to check the duplicate, and the specific motion vector acquisition method of the F block is as follows:
all matching blocks are traversed, including the original matching block and the derived matching block. For each matching block, 4 × 4 matching sub-blocks are divided, for each matching sub-block, the motion information obtaining method is also needed to obtain the corresponding time domain block position, and the motion vector of the time domain block position is obtained in the same frame of the matching block as the motion information corresponding to the current sub-block in the current block.
When obtaining the motion information of the matching sub-block, if the motion information of a certain sub-block in the current block can not be obtained, the motion vector of the X block at the spatial adjacent position of the current block, which may be referred to as baseMV for short, is scaled to the reference frame index of 0 in the reference frame list, that is, the reference frame of the first item in the reference frame list, and then used as the motion vector of the sub-block. If the X block does not exist or the corresponding motion vector is not available, the motion vector of the sub-block is filled with 0 by default, and the reference frame index is also 0. In particular embodiments, FicMV may also be used instead of baseMV.
For example, please refer to fig. 7, fig. 7 is a structural diagram of a scanning order of X blocks provided in the present application. As shown in fig. 7, F, G, C, A, B, D are neighboring prediction blocks of the current prediction unit, and X blocks are sequentially scanned, wherein the scanning order of the X blocks is F, G, C, A, B, D.
a) Judging whether the motion information of the backward prediction direction of the X block is available, if so, scaling the motion information of the backward prediction direction of the X block to a first reference frame in a backward prediction direction reference queue, assigning a scaled motion vector to a baseMV, assigning a reference index to a refFirstStage, and setting a reference direction predFirstStage to be 'Pred _ List 1'; otherwise, executing step b).
b) Judging whether the motion information of the forward prediction direction of the X block is available, if so, scaling the motion information of the forward prediction direction of the X block to a first reference frame in a backward prediction direction reference queue, assigning a scaled motion vector to a baseMV, assigning a reference index to a refFirstStage, and setting a reference direction predFirstStage to be 'Pred _ List 1'; otherwise, executing step c).
c) The motion vector baseMV is set to 0, the reference index refFirstStage is set to 0, and the reference direction predFirstStage is set to "Pred _ List 1".
Step S14: and coding the current block based on the motion information to obtain the code stream of the current block.
It should be noted that, in a specific encoding process, if motion information is unavailable, virtual motion information may be scaled to time domain motion information that is correspondingly unavailable in a matching block, so as to perform encoding.
Referring to fig. 8, fig. 8 is a schematic structural diagram of an embodiment of a video encoding apparatus provided in the present application. The video encoding apparatus includes a motion construction module 21, a motion search module 22, and a video encoding module 23.
The motion construction module 21 is configured to construct virtual motion information for a neighboring block of a current block, where the neighboring block is a time domain neighboring block, a spatial domain neighboring block, or a time-spatial domain neighboring block.
And a motion search module 22, configured to obtain an original matching block corresponding to the current block based on the virtual motion information, and obtain motion information of the original matching block.
And the video encoding module 23 is configured to encode the current block based on the motion information to obtain a code stream of the current block.
Please refer to fig. 9, which is a schematic structural diagram of a video encoding and decoding system according to an embodiment of the present application. The video codec system comprises a memory 32 and a processor 31 connected to each other.
The memory 32 is used to store program instructions implementing the video encoding method of any of the above.
The processor 31 is operative to execute program instructions stored in the memory 32.
The processor 31 may also be referred to as a CPU (Central Processing Unit). The processor 31 may be an integrated circuit chip having signal processing capabilities. The processor 31 may also be a general purpose processor, a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components. A general purpose processor may be a microprocessor or the processor may be any conventional processor or the like.
The memory 32 may be a memory bank, a TF card, etc., and may store all information in the string matching prediction apparatus, including the input raw data, the computer program, the intermediate operation results, and the final operation results. It stores and retrieves information based on the location specified by the controller. With the memory, the string matching prediction device has a memory function, and normal operation can be guaranteed. The memory of the string matching prediction device can be classified into a main memory (internal memory) and an auxiliary memory (external memory) according to the use, and also into an external memory and an internal memory. The external memory is usually a magnetic medium, an optical disk, or the like, and can store information for a long period of time. The memory refers to a storage component on the main board, which is used for storing data and programs currently being executed, but is only used for temporarily storing the programs and the data, and the data is lost when the power is turned off or the power is cut off.
In the several embodiments provided in the present application, it should be understood that the disclosed method and apparatus may be implemented in other ways. For example, the above-described apparatus embodiments are merely illustrative, and for example, a division of a module or a unit is merely a logical division, and an actual implementation may have another division, for example, a plurality of units or components may be combined or integrated into another system, or some features may be omitted, or not executed. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection through some interfaces, devices or units, and may be in an electrical, mechanical or other form.
Units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the embodiment.
In addition, functional units in the embodiments of the present application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units are integrated into one unit. The integrated unit can be realized in a form of hardware, and can also be realized in a form of a software functional unit.
The integrated unit, if implemented in the form of a software functional unit and sold or used as a stand-alone product, may be stored in a computer readable storage medium. Based on such understanding, the technical solution of the present application may be substantially implemented or contributed to by the prior art, or all or part of the technical solution may be embodied in a software product, which is stored in a storage medium and includes instructions for causing a computer device (which may be a personal computer, a system server, a network device, or the like) or a processor (processor) to execute all or part of the steps of the method of the embodiments of the present application.
Please refer to fig. 10, which is a schematic structural diagram of a computer-readable storage medium according to the present application. The storage medium of the present application stores a program file 41 capable of implementing all the string matching prediction methods, where the program file 41 may be stored in the storage medium in the form of a software product, and includes several instructions to enable a computer device (which may be a personal computer, a server, or a network device) or a processor (processor) to execute all or part of the steps of the methods according to the embodiments of the present application. The aforementioned storage device includes: various media capable of storing program codes, such as a usb disk, a mobile hard disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a magnetic disk or an optical disk, or terminal devices, such as a computer, a server, a mobile phone, and a tablet.
The above embodiments are merely examples and are not intended to limit the scope of the present disclosure, and all modifications, equivalents, and flow charts using the contents of the specification and drawings of the present disclosure or those directly or indirectly applied to other related technical fields are intended to be included in the scope of the present disclosure.

Claims (11)

1. A video encoding method, the video encoding method comprising:
constructing virtual motion information for adjacent blocks of a current block, wherein the adjacent blocks are time domain adjacent blocks, space domain adjacent blocks or time-space domain adjacent blocks;
acquiring an original matching block corresponding to the current block based on the virtual motion information;
acquiring motion information of the original matching block;
and coding the current block based on the motion information to obtain the code stream of the current block.
2. The video encoding method of claim 1,
the step of constructing virtual motion information for neighboring blocks of the current block includes:
sequentially judging whether the forward prediction direction and the backward prediction direction of each airspace adjacent block of the current block are available according to a preset scanning sequence;
averaging the motion vectors of all spatial neighboring blocks available in the forward prediction direction to obtain a motion vector of the virtual motion information in the forward prediction direction, and taking the reference frame index of one of the spatial neighboring blocks available in the forward prediction direction as the reference frame index of the virtual motion information in the forward prediction direction;
and averaging the motion vectors of all the spatial adjacent blocks available in the backward prediction direction to obtain the motion vector of the virtual motion information in the backward prediction direction, and taking the reference frame index of one of the spatial adjacent blocks available in the backward prediction direction as the reference frame index of the virtual motion information in the backward prediction direction.
3. The video encoding method of claim 1,
the step of constructing virtual motion information for neighboring blocks of the current block includes:
sequentially judging whether the forward prediction direction and the backward prediction direction of each time domain adjacent block of the current block are available according to a preset scanning sequence;
averaging the motion vectors of all the time domain adjacent blocks available in the forward prediction direction to obtain the motion vector of the virtual motion information in the forward prediction direction, and taking the reference frame index of one of the time domain adjacent blocks available in the forward prediction direction as the reference frame index of the virtual motion information in the forward prediction direction;
and averaging the motion vectors of all the time domain adjacent blocks available in the backward prediction direction to obtain the motion vector of the virtual motion information in the backward prediction direction, and taking the reference frame index of one of the time domain adjacent blocks available in the backward prediction direction as the reference frame index of the virtual motion information in the backward prediction direction.
4. The video encoding method of claim 1,
the step of constructing virtual motion information for neighboring blocks of the current block includes:
sequentially judging whether the forward prediction direction and the backward prediction direction of each time-space domain adjacent block of the current block are available according to a preset scanning sequence;
averaging the motion vectors of all the spatial-temporal neighboring blocks available in the forward prediction direction to obtain the motion vector of the virtual motion information in the forward prediction direction, and taking the reference frame index of one spatial-temporal neighboring block available in the forward prediction direction as the reference frame index of the virtual motion information in the forward prediction direction;
and averaging the motion vectors of all the time-space domain adjacent blocks available in the backward prediction direction to obtain the motion vector of the virtual motion information in the backward prediction direction, and taking the reference frame index of one time-space domain adjacent block available in the backward prediction direction as the reference frame index of the virtual motion information in the backward prediction direction.
5. The video coding method of claim 2, 3 or 4,
the step of obtaining the original matching block corresponding to the current block based on the virtual motion information includes:
searching an original reference frame according to the reference frame index of the forward prediction direction and the reference frame index of the backward prediction direction;
and determining an original matching block corresponding to the current block on the original reference frame according to the motion vector of the forward prediction direction and the motion vector of the backward prediction direction.
6. The video encoding method of claim 1,
the step of obtaining motion information of the original matching block includes:
performing offset derivation on the original matching block to obtain a derived matching block;
dividing the original matching block and the derived matching block into matching sub-blocks with preset sizes respectively;
acquiring motion information of the matched sub-blocks;
and comparing the cost values of the motion information of the matched sub-blocks to select the matched sub-block with the minimum cost value as the best matched block, and obtaining the motion information of the best matched block as the motion information of the original matched block.
7. The video coding method of claim 6,
the step of obtaining the motion information of the matching sub-block includes:
when the motion information of a certain matching sub-block can not be obtained, the motion information of the coding block at the position adjacent to the current block airspace is utilized to be zoomed into a reference frame with the reference frame index of 0 in a reference frame list, and then the zoomed reference frame is used as the motion information of the matching sub-block.
8. The video encoding method of claim 7,
the video encoding method further comprises:
setting a syntax element based on a relationship of the original matching block and the derived matching block, wherein the syntax element comprises an index of an offset vector between the original matching block and the derived matching block.
9. A video coding device is characterized by comprising a motion construction module, a motion search module and a video coding module;
the motion construction module is used for constructing virtual motion information for adjacent blocks of a current block, wherein the adjacent blocks are time domain adjacent blocks, space domain adjacent blocks or time-space domain adjacent blocks;
the motion search module is configured to obtain an original matching block corresponding to the current block based on the virtual motion information, and obtain motion information of the original matching block;
and the video coding module is used for coding the current block based on the motion information to obtain a code stream of the current block.
10. A video codec system comprising a processor, a memory coupled to the processor, wherein,
the memory stores program instructions;
the processor is configured to execute the program instructions stored by the memory to implement the video encoding method of any of claims 1-8.
11. A computer-readable storage medium, characterized in that the storage medium stores program instructions that, when executed, implement the video encoding method of any of claims 1-8.
CN202011113827.5A 2020-10-17 2020-10-17 Video coding method, device and system and computer readable storage medium Active CN112218076B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011113827.5A CN112218076B (en) 2020-10-17 2020-10-17 Video coding method, device and system and computer readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011113827.5A CN112218076B (en) 2020-10-17 2020-10-17 Video coding method, device and system and computer readable storage medium

Publications (2)

Publication Number Publication Date
CN112218076A true CN112218076A (en) 2021-01-12
CN112218076B CN112218076B (en) 2022-09-06

Family

ID=74055676

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011113827.5A Active CN112218076B (en) 2020-10-17 2020-10-17 Video coding method, device and system and computer readable storage medium

Country Status (1)

Country Link
CN (1) CN112218076B (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113596452A (en) * 2021-06-17 2021-11-02 浙江大华技术股份有限公司 Encoding method, encoding device, electronic equipment and storage medium
CN113709502A (en) * 2021-03-19 2021-11-26 杭州海康威视数字技术股份有限公司 Decoding method, encoding method, device, equipment and machine readable storage medium
WO2023241352A1 (en) * 2022-06-14 2023-12-21 中兴通讯股份有限公司 Interaction-based encoding method, and encoding apparatus and readable storage medium

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109660800A (en) * 2017-10-12 2019-04-19 北京金山云网络技术有限公司 Method for estimating, device, electronic equipment and computer readable storage medium
WO2019194502A1 (en) * 2018-04-01 2019-10-10 엘지전자 주식회사 Inter prediction mode based image processing method and apparatus therefor
WO2020039408A1 (en) * 2018-08-24 2020-02-27 Beijing Bytedance Network Technology Co., Ltd. Overlapped block motion compensation using temporal neighbors
CN111093073A (en) * 2018-10-24 2020-05-01 北京字节跳动网络技术有限公司 Search-based motion candidate derivation for sub-block motion vector prediction
US20200228830A1 (en) * 2017-09-29 2020-07-16 Huawei Technologies Co., Ltd. Video Picture Inter Prediction Method and Apparatus, and Codec
CN111741297A (en) * 2020-06-12 2020-10-02 浙江大华技术股份有限公司 Inter-frame prediction method, video coding method and related devices thereof

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200228830A1 (en) * 2017-09-29 2020-07-16 Huawei Technologies Co., Ltd. Video Picture Inter Prediction Method and Apparatus, and Codec
CN109660800A (en) * 2017-10-12 2019-04-19 北京金山云网络技术有限公司 Method for estimating, device, electronic equipment and computer readable storage medium
WO2019194502A1 (en) * 2018-04-01 2019-10-10 엘지전자 주식회사 Inter prediction mode based image processing method and apparatus therefor
WO2020039408A1 (en) * 2018-08-24 2020-02-27 Beijing Bytedance Network Technology Co., Ltd. Overlapped block motion compensation using temporal neighbors
CN111093073A (en) * 2018-10-24 2020-05-01 北京字节跳动网络技术有限公司 Search-based motion candidate derivation for sub-block motion vector prediction
CN111741297A (en) * 2020-06-12 2020-10-02 浙江大华技术股份有限公司 Inter-frame prediction method, video coding method and related devices thereof

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113709502A (en) * 2021-03-19 2021-11-26 杭州海康威视数字技术股份有限公司 Decoding method, encoding method, device, equipment and machine readable storage medium
CN113727118A (en) * 2021-03-19 2021-11-30 杭州海康威视数字技术股份有限公司 Decoding method, encoding method, device, equipment and machine readable storage medium
CN113794888A (en) * 2021-03-19 2021-12-14 杭州海康威视数字技术股份有限公司 Decoding method, encoding method, device, equipment and machine readable storage medium
CN113794889A (en) * 2021-03-19 2021-12-14 杭州海康威视数字技术股份有限公司 Decoding method, encoding method, device, equipment and machine readable storage medium
CN113794889B (en) * 2021-03-19 2022-12-23 杭州海康威视数字技术股份有限公司 Decoding method, encoding method, device, equipment and machine readable storage medium
CN113709502B (en) * 2021-03-19 2022-12-23 杭州海康威视数字技术股份有限公司 Decoding method, encoding method, device, equipment and machine readable storage medium
CN113794888B (en) * 2021-03-19 2022-12-23 杭州海康威视数字技术股份有限公司 Decoding method, encoding method, device, equipment and machine readable storage medium
CN113727118B (en) * 2021-03-19 2022-12-23 杭州海康威视数字技术股份有限公司 Decoding method, encoding method, device, equipment and machine readable storage medium
CN113596452A (en) * 2021-06-17 2021-11-02 浙江大华技术股份有限公司 Encoding method, encoding device, electronic equipment and storage medium
WO2023241352A1 (en) * 2022-06-14 2023-12-21 中兴通讯股份有限公司 Interaction-based encoding method, and encoding apparatus and readable storage medium

Also Published As

Publication number Publication date
CN112218076B (en) 2022-09-06

Similar Documents

Publication Publication Date Title
CN112218076B (en) Video coding method, device and system and computer readable storage medium
KR101874100B1 (en) Method and apparatus for encoding and decoding image
CN113454691A (en) Method and device for encoding and decoding self-adaptive point cloud attributes
WO2006020019A9 (en) H.264 spatial error concealment based on the intra-prediction direction
CN104581177B (en) Image compression method and device combining block matching and string matching
CN108989804B (en) Image coding method and device
CN109963151B (en) Coding unit division determining method and device, terminal device and readable storage medium
US11523114B2 (en) Picture encoding device, picture encoding method, and picture encoding program, and picture decoding device, picture decoding method, and picture decoding program
CN110636312A (en) Video encoding and decoding method and device and storage medium
US11212527B2 (en) Entropy-inspired directional filtering for image coding
CN110913219A (en) Video frame prediction method and device and terminal equipment
CN113822824A (en) Video deblurring method, device, equipment and storage medium
CN111083494A (en) Video coding method and device and terminal equipment
CN110545428B (en) Motion estimation method and device, server and computer readable storage medium
CN112565753B (en) Method and apparatus for determining motion vector difference, storage medium, and electronic apparatus
CN110166774B (en) Intra-frame prediction method, video encoding method, video processing apparatus, and storage medium
CN112565760A (en) Encoding method, apparatus and storage medium for string encoding technique
CN107431821B (en) Efficient low complexity video compression
CN112887727B (en) Video encoding and decoding method and electronic equipment
CN113785565B (en) Video encoding and decoding method and system
CN110572654B (en) Video encoding and decoding methods and devices, storage medium and electronic device
CN112004099B (en) Intra-frame block copy prediction method and device and computer readable storage medium
CN116760986B (en) Candidate motion vector generation method, candidate motion vector generation device, computer equipment and storage medium
CN111357288B (en) Video image processing method and device
Suresh et al. Approximate compression: Enhancing compressibility through data approximation

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