WO2022160636A1 - 视频编解码的方法、装置、电子设备及存储介质 - Google Patents
视频编解码的方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- WO2022160636A1 WO2022160636A1 PCT/CN2021/109782 CN2021109782W WO2022160636A1 WO 2022160636 A1 WO2022160636 A1 WO 2022160636A1 CN 2021109782 W CN2021109782 W CN 2021109782W WO 2022160636 A1 WO2022160636 A1 WO 2022160636A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- rotation
- image block
- angle
- rotation angle
- search
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 70
- 238000003860 storage Methods 0.000 title claims abstract description 23
- 230000033001 locomotion Effects 0.000 claims abstract description 115
- 239000013598 vector Substances 0.000 claims abstract description 58
- 238000004364 calculation method Methods 0.000 claims abstract description 33
- 230000008569 process Effects 0.000 claims abstract description 15
- 230000006870 function Effects 0.000 claims description 25
- 238000004891 communication Methods 0.000 claims description 6
- 230000006835 compression Effects 0.000 abstract description 10
- 238000007906 compression Methods 0.000 abstract description 10
- 230000002194 synthesizing effect Effects 0.000 abstract description 3
- 238000004422 calculation algorithm Methods 0.000 description 12
- 238000012545 processing Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 230000014509 gene expression Effects 0.000 description 4
- 238000005457 optimization Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 238000013519 translation Methods 0.000 description 3
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000010845 search algorithm Methods 0.000 description 2
- 241001025261 Neoraja caerulea Species 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 229910003460 diamond Inorganic materials 0.000 description 1
- 239000010432 diamond Substances 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
- H04N19/139—Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
-
- 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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
Definitions
- the present application relates to the technical field of multimedia processing, and in particular, to a video encoding and decoding method, apparatus, electronic device, and storage medium.
- Video is a sequence of dynamic images formed by connecting pictures. If the data of each pixel of each picture is directly stored, the bandwidth occupied by the video stream will be immeasurable.
- the function of video codec is to compress and digitally encode the image after the camera captures the image to obtain a more optimized and anti-interference capable code stream for transmission. In essence, it is to transmit high-quality video data with as little bandwidth as possible. From MPEG-1 to MPEG-2, from H.263, H.264 to H.265 (HEVC), and now a series of standards such as H.266, all are to make the code stream more optimized, the compression efficiency is higher, Greater stability.
- the input of video coding is a series of uncompressed images, such as video information composed of a series of continuous image frames collected by an image sensor, and the output is a stream of information including compressed video data, video compression and transmission.
- the same image block in multiple frames of images will be represented by the same segment of encoding as much as possible during video encoding (the same segment of encoding will be used to restore the image block in different images of multiple frames during decoding).
- Different image blocks in multiple images are searched, compared and identified quickly and accurately, and the processing efficiency should not affect the overall coding speed.
- the prior art proposes a variety of prediction methods to estimate the possible positions of similar blocks.
- Motion estimation algorithm is a key technology in current video coding and is widely used in various coding and decoding standards, including H.263, H.264, H.265, VCC, MPEG4, etc.
- Motion estimation is to find the best corresponding block of the currently coded block in the coded image (reference frame), and calculate the offset (motion vector) of the corresponding block.
- the motion vector is represented by distance and direction.
- P is the current frame
- P_ref is the reference frame
- B is the current code block
- B_ref is the block with the smallest residual difference in the reference frame P_ref subtracted from the current code block B
- B_ref is generally referred to as the current code block B. Best matching block.
- B * is the block in the assumed reference frame with the same coordinate position as the current code block B in the image, if the best matching block B_ref found by the motion estimation algorithm has coordinates (x_ref, y_ref), and the coordinates of block B * are (x_ref, y_ref); then the coordinate of block B_ref minus the coordinate of block B * is the motion vector MV.
- the motion vector calculation in the existing motion estimation in Figure 1 is only determined based on the coordinates of a point, and only considers the overall translation of the object; and in the case of the object rotating motion, the existing motion vector cannot be accurate Describe the movement of objects.
- the motion vector expression it is difficult to accurately find the best matching block when searching.
- the residual non-zero data formed after motion compensation is relatively more, the coding efficiency is limited.
- the embodiments of the present application propose a video encoding and decoding method, apparatus, electronic device, and storage medium to solve the problem that the existing video compression technology cannot effectively encode the rotation of an object.
- a first aspect of the embodiments of the present application provides a video encoding method, including:
- Motion estimation is performed on two frames of images in the video data, and at each search position in the motion estimation process, a rotation of at least one angle is applied to perform search calculation;
- the best reference image block position and motion vector with rotation angle information are obtained by combining all search calculation results.
- applying at least one angle of rotation to perform search calculation includes: after each applying one angle of rotation, calculating a cost function of the rotated image block with respect to residuals and/or motion vectors.
- the integrating all search calculation results includes:
- the search calculation is ended when the cost of the current image block is less than a preset threshold, and the current image block is output as the best reference image block.
- the cost function includes at least one of an absolute error sum SAD, a sum of transformed absolute values SATD, a sum of squared differences SSD, a mean absolute difference MAD, and a mean squared error MSD
- the applying at least one angle of rotation comprises:
- the at least one angle is at least one preset angle, and one rotation of the at least one preset angle is selected each time;
- the at least one angle is an angle sequence set according to a preset adjustment precision, and the angle rotation is adjusted incrementally or decrementally according to the adjustment precision each time;
- the at least one angle is at least one angle gradually approaching the optimal adjustment angle by using a bisection method.
- the method further comprises: determining the motion vector from the position of the best reference image block, and the rotation angle information is a rotation angle applied to the best reference image block.
- the method further comprises: encoding the rotation angle information in the plurality of motion vectors of the multi-frame images in a differential manner.
- a second aspect of the embodiments of the present application provides a video decoding method, including:
- the video data is decoded according to the reference frame and the motion vector with rotation angle information.
- the differential components are used for decoding.
- the decoding of the video data includes: determining the position of the reference image block in the target frame according to the motion vector, and then calculating the reference image block according to the reference frame.
- a third aspect of the embodiments of the present application provides a video encoding apparatus, including:
- a motion estimation module configured to perform motion estimation on two frames of images in the video data, and apply at least one angle of rotation to perform search calculation at each search position in the motion estimation process;
- the position and vector determination module is used to synthesize all search calculation results to obtain the best reference image block position and motion vector with rotation angle information.
- the motion estimation module includes: a cost calculation module for calculating a cost function of the rotated image block with respect to residuals and/or motion vectors after applying a rotation of an angle each time.
- the apparatus further includes: a differential encoding module, configured to encode the rotation angle information in the plurality of motion vectors of the multi-frame images in a differential manner.
- a fourth aspect of the embodiments of the present application provides a video decoding apparatus, including: a decoding module configured to decode video data according to a reference frame and a motion vector with rotation angle information.
- the apparatus further includes: a differential decoding module, configured to perform decoding by using the differential component when the rotation angle information in the plurality of motion vectors of the multi-frame image is encoded in a differential manner.
- a differential decoding module configured to perform decoding by using the differential component when the rotation angle information in the plurality of motion vectors of the multi-frame image is encoded in a differential manner.
- a fifth aspect of the embodiments of the present application provides an electronic device, including:
- the memory is connected in communication with the one or more processors, the memory stores instructions executable by the one or more processors, and the instructions are executed by the one or more processors , the electronic device is used to implement the methods described in the foregoing embodiments.
- a sixth aspect of the embodiments of the present application provides a computer-readable storage medium on which computer-executable instructions are stored.
- the computer-executable instructions can be used to implement the foregoing embodiments. Methods.
- a seventh aspect of the embodiments of the present application provides a computer program product, where the computer program product includes a computer program stored on a computer-readable storage medium, the computer program includes program instructions, and when the program instructions are executed by a computer can be used to implement the methods described in the foregoing embodiments.
- Fig. 1 is the schematic diagram that obtains motion vector by motion estimation algorithm in the prior art
- FIG. 2 is a schematic flowchart of a method for video coding according to some embodiments of the present application
- FIG. 3 is a structural block diagram of an apparatus for video coding according to some embodiments of the present application.
- FIG. 4 is a schematic structural diagram of an electronic device for video coding and decoding according to some embodiments of the present application.
- the purpose of the motion estimation algorithm is to find the best reference image block position in the reference image, so as to obtain the motion vector for compression coding and motion compensation.
- a general motion estimation algorithm can adopt a block matching algorithm, and by comparing the cost functions of residuals and motion vectors at each reference position, the searched minimum cost function point is used as the result of motion estimation.
- the search algorithm includes full search and fast search.
- the full search searches all points in the search range in order, compares the cost function point by point, and selects the point with the smallest cost function as the optimal point; in order to reduce the complexity of motion estimation and
- the prior art also proposes a variety of fast search algorithms (such as three-step search, diamond search, hexagon search, etc.), which reduces the number of positions to be searched by optimizing the search range.
- the existing motion estimation algorithm is only suitable for the overall translation of the object. When the object rotates, the existing motion estimation algorithm cannot effectively find the best matching block, and cannot use the motion vector to accurately express the rotation of the object.
- the embodiment of the present application proposes a video coding method, through the identification and recording of the rotation angle, the calculation amount is small, the search speed is fast, and the compression efficiency is high, which effectively solves the problem of translation and rotation.
- the problem of efficient encoding of video data includes:
- an improvement is made to the motion estimation algorithm of the prior art that only translates the search.
- the search object usually an image block
- the Search calculations Through the search with the rotation angle, the target object situation of the possible rotation motion can be found, so as to realize the motion estimation of the rotation motion, the expression of the motion vector and the video coding.
- the image sequence in the video data is firstly divided into a series of frames according to time, so that the difference between two adjacent frames of images is usually small, which is conducive to improving the coding efficiency.
- the time sequence here usually refers to the actual time sequence of the video images, which is generally related to the video image acquisition sequence, not necessarily the video image playback sequence (in some videos, many image frames may be edited together in a random order) , which affects the coding efficiency).
- each frame of image is usually divided into multiple image blocks, and the search calculation for motion estimation is performed on each image block.
- the purpose of the motion estimation algorithm is to find the best reference image block position in the reference image. Among them, the position of the static background image block that has not changed or changed very little is easier to determine and can be basically ignored; while the specific position of the image block where the moving object is located needs to be determined through search calculation.
- only translational motion estimation is performed, so only changes in the position of image blocks are considered during search, and changes in angles are not considered.
- the rotational motion of the object is also considered during the search, and the rotational motion of the object is found by searching for image blocks rotated by a certain angle.
- applying at least one angle of rotation to perform search calculation includes: after each applying one angle of rotation, calculating a cost function of the rotated image block with respect to residuals and/or motion vectors; wherein the cost Functions include SAD (Sum of Absolute Difference, sum of absolute errors), SATD (Sum of Absolute Transformed Difference, sum of absolute values after transformation, transformation usually refers to Hadamard transformation), SSD (Sum of Squared Difference, sum of squares of differences), MAD At least one of (Mean Absolute Difference), MSD (Mean Squared Difference, mean squared error), etc.
- Error can also be used to represent errors in the technical field, the above Difference is also represented by Error, and the corresponding abbreviations are also adjusted accordingly (such as SAE, SATE, SSE, MAE, MSE, etc.), which will not be explained one by one here.
- the rotated image block is also generally represented by a pixel block/pixel matrix, starting from the search position/search point, the pixel points/positions and pixel values in the rotated pixel block/pixel matrix are compared.
- block A matching algorithm that determines the best reference image block by comparing the cost functions with respect to residuals and/or motion vectors at various reference locations.
- the minimum cost function point of the search is used as the result of motion estimation, that is, by traversing the search, the image block with the least cost is selected as the best reference image block from all search calculation results, and then the motion vector is obtained and obtained through motion compensation. residual.
- the optimal reference image block position with the lowest cost is determined, the number of traversals is large and the calculation amount is large, and a compromise can be made between the optimal matching block and the search speed. For example, at any search point (search position) in the motion estimation process, the rotation of the angle is applied, and then the cost function about the residual and/or motion vector is calculated, and the best reference image block is selected with the cost less than a certain threshold. Location. Obviously, the search stops when the cost function is less than a certain threshold, which is beneficial to speed up the search speed.
- the applying at least one angle of rotation includes: the at least one angle is at least one preset angle, and selecting one rotation from the at least one preset angle each time; or, the at least one angle For an angle sequence set according to a preset adjustment precision (for example, 1 degree or 0.1 degree), the rotation of the adjustment angle is incremented or decremented according to the adjustment precision each time; at least one angle.
- a preset adjustment precision for example, 1 degree or 0.1 degree
- the method further comprises: determining the motion vector from the position of the best reference image block, and the rotation angle information is a rotation angle applied to the best reference image block.
- the method further comprises: encoding the rotation angle information in a plurality of the motion vectors of the multi-frame images in a differential manner.
- the video coding process usually includes some further optimization means, such as inter-frame prediction, intra-frame prediction, DCT (Discrete Cosine Transform), quantization, entropy coding and filtering, etc. Therefore, In addition to motion estimation and motion compensation, the embodiments of the present application further combine one or more of the above-mentioned optimization methods to complete complete video coding. In view of the fact that the prior art has fully researched these optimization means, the embodiments of the present application can be directly implemented by the existing means, so they will not be explained one by one, and the above optimization means should not be regarded as a limitation on the specific implementation of the present application. .
- an embodiment of the present application further provides a video decoding method, and the decoding process is usually an inverse process of the encoding process.
- the video decoding method includes: decoding video data according to a reference frame and a motion vector with rotation angle information.
- the differential components are used for decoding.
- the decoding of the video data includes: determining the position of the reference image block in the target frame according to the motion vector, and then calculating the reference image block according to the reference frame.
- FIG. 3 is a schematic diagram of an apparatus for video encoding according to some embodiments of the present application.
- the apparatus 300 for video encoding includes:
- the motion estimation module 310 is used to perform motion estimation on two frames of images in the video data, and at each search position in the motion estimation process, a rotation of at least one angle is applied to perform search calculation;
- the position and vector determination module 320 is used for synthesizing all search calculation results to obtain the optimal reference image block position and the motion vector with rotation angle information.
- the motion estimation module includes: a cost calculation module, configured to calculate a cost function of the rotated image block with respect to residuals and/or motion vectors after applying an angle of rotation each time; wherein, the cost function Including at least one of absolute error sum SAD, transformed absolute value sum SATD, difference square sum SSD, mean absolute difference MAD and mean square error MSD.
- a cost calculation module configured to calculate a cost function of the rotated image block with respect to residuals and/or motion vectors after applying an angle of rotation each time; wherein, the cost function Including at least one of absolute error sum SAD, transformed absolute value sum SATD, difference square sum SSD, mean absolute difference MAD and mean square error MSD.
- the apparatus further includes: a differential encoding module, configured to encode the rotation angle information in the plurality of motion vectors of the multi-frame images in a differential manner.
- an embodiment of the present application further provides a video decoding apparatus, including: a decoding module for decoding video data according to a reference frame and a motion vector with rotation angle information .
- the apparatus further includes: a differential decoding module, configured to perform decoding by using the differential component when the rotation angle information in the plurality of motion vectors of the multi-frame image is encoded in a differential manner.
- a differential decoding module configured to perform decoding by using the differential component when the rotation angle information in the plurality of motion vectors of the multi-frame image is encoded in a differential manner.
- an embodiment of the present application further provides an electronic device.
- the electronic device 400 includes:
- memory 430 and one or more processors 410;
- the memory 430 is connected in communication with the one or more processors 410, and the memory 430 stores instructions 432 executable by the one or more processors, and the instructions 432 are executed by the one or more processors.
- a plurality of processors 410 execute, so that the one or more processors 410 execute the methods in the foregoing embodiments of the present application.
- the processor 410 and the memory 430 may be connected through a bus or in other ways, and the connection through the bus 440 is taken as an example in FIG. 4 .
- the processor 410 may be a central processing unit (Central Processing Unit, CPU).
- the processor 410 may also be other general-purpose processors, digital signal processors (Digital Signal Processors, DSPs), application specific integrated circuits (Application Specific Integrated Circuits, ASICs), Field-Programmable Gate Arrays (Field-Programmable Gate Arrays, FPGAs) or Other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components and other chips, or a combination of the above types of chips.
- the memory 430 may be used to store non-transitory software programs, non-transitory computer-executable programs, and modules, such as the cascaded progressive network in the embodiments of the present application.
- the processor 410 executes various functional applications and data processing of the processor by running the non-transitory software programs/instructions 432 and functional modules stored in the memory 430 .
- the memory 430 may include a storage program area and a storage data area, wherein the storage program area may store an operating system, an application program required by at least one function; the storage data area may store data created by the processor 410 and the like. Additionally, memory 430 may include high-speed random access memory, and may also include non-transitory memory, such as at least one magnetic disk storage device, flash memory device, or other non-transitory solid-state storage device. In some embodiments, memory 430 may optionally include memory located remotely from processor 410, which may be connected to processor 410 through a network (eg, through communication interface 420). Examples of such networks include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.
- An embodiment of the present application also provides a computer-readable storage medium, where computer-executable instructions are stored in the computer-readable storage medium, and after the computer-executable instructions are executed, the methods in the foregoing embodiments of the present application are executed.
- Computer-readable storage media includes physical volatile and non-volatile, removable and non-removable implemented in any manner or technology for storage of information such as computer-readable instructions, data structures, program modules or other data. medium.
- Computer-readable storage media specifically include, but are not limited to, U disk, removable hard disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), erasable programmable read-only memory Memory (EPROM), Electrically Erasable Programmable Read-Only Memory (EEPROM), Flash memory or other solid-state memory technology, CD-ROM, Digital Versatile Disc (DVD), HD-DVD, Blue-Ray, or other optical storage device, tape, disk storage or other magnetic storage device, or any other medium that can be used to store the desired information and that can be accessed by a computer.
- ROM read-only memory
- RAM random access memory
- EPROM erasable programmable read-only memory Memory
- EEPROM Electrically Erasable Programmable Read-Only Memory
- Flash memory
- program modules include routines, programs, components, data structures, and other types of structures that perform particular tasks or implement particular abstract data types.
- program modules may be located in both local and remote memory storage devices.
- the functions, if implemented in the form of software functional units and sold or used as independent products, may be stored in a computer-readable storage medium.
- the technical solution of the present application can be embodied in the form of a software product in essence, or the part that contributes to the original technology or the part of the technical solution.
- the computer software product is stored in a storage medium, including Several instructions are used to cause a computer device (which may be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of the present application.
- the present application proposes a video encoding and decoding method, apparatus, electronic device and storage medium.
- the embodiment of the present application obtains a motion vector with rotation angle information by searching for the rotation of the object in the video frame image, thereby realizing the identification and efficient encoding of the rotating moving object, and further improving the compression efficiency of video data.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本申请实施例公开了一种视频编解码的方法、装置、电子设备及存储介质。其中,视频编码的方法包括:对视频数据中的两帧图像进行运动估计,在所述运动估计过程的每一搜索位置上,施加至少一个角度的旋转进行搜索计算;综合所有搜索计算结果得到最佳参考图像块位置以及带有旋转角度信息的运动矢量。本申请实施例通过对视频帧图像中的物体旋转情况进行搜索,得到带有旋转角度信息的运动矢量,从而实现了对旋转运动物体的识别和高效编码,进一步提升了视频数据的压缩效率。
Description
本申请涉及多媒体处理技术领域,具体涉及一种视频编解码的方法、装置、电子设备及存储介质。
视频是由一张张图片连接起来形成的动态图像序列,若直接将每张图片的每一个像素点数据都加以存储,视频码流所占用的带宽将不可估量。视频编解码的作用就是在摄像头采集画面后,将图像进行压缩和数字编码,获取更加优化、抗干扰能力强的码流,以用于传输。本质上,就是用尽可能小的带宽传送高质量的视频数据。从MPEG-1到MPEG-2,从H.263、H.264到H.265(HEVC),以及现在的H.266等一系列标准,都是为了让码流更优化、压缩效率更高、稳定性更强。
其中,视频编码的输入是一系列未压缩图像,比如是来自图像传感器采集到的一系列连续的图像帧构成的视频信息,输出为包括已压缩视频数据、视频压缩及传输有关的信息码流。为了充分提高压缩率,视频编码时会尽量把多帧图像中相同的图像块采用同一段编码表示(解码时再利用这同一段编码在多帧不同图像中分别还原该图像块),这需要对多个图像中的不同图像块进行快速而准确的搜索、比对和识别,同时其处理效率不应影响整体的编码速度。为了提升相似块的搜索效率,现有技术提出了多种预测手段来估计相似块可能出现的位置,运动估计算法是目前视频编码中的关键技术,被广泛应用到各种编解码标准中,包括H.263,H.264,H.265,VCC,MPEG4等。
运动估计是寻找当前编码的块在已编码的图像(参考帧)中的最佳对应块,并且计算出对应块的偏移(运动矢量)。在这里运动矢量用距离和方向来表示。如图1所示,P为当前帧,P_ref为参考帧,B 为当前码块,B_ref是参考帧P_ref中与当前码块B相减残差最小的块,B_ref一般称为当前码块B的最佳匹配块。B
*为假设的参考帧中与当前码块B在图像中的坐标位置相同的块,若运动估计算法找到的最佳匹配块B_ref坐标为(x_ref,y_ref),块B
*坐标为(x_ref,y_ref);则块B_ref坐标减去块B
*的坐标就是运动矢量MV。
但是也可以看出,图1中现有的运动估计中运动矢量计算仅根据一个点的坐标确定,仅考虑了物体整体平移的情况;而在物体旋转运动情况下,现有的运动矢量无法准确刻画物体的运动变化。对于视频中存在旋转运动物体的情况,一方面搜索时很难准确找到最佳匹配块,另一方面使用当前的运动矢量表达来估计当前帧图像时,运动补偿后形成的残差非零数据较多,编码效率受到限制。
虽然现有技术中也进一步提出了基于仿射运动模型和双线性运动模型的视频压缩技术,其可在一定程度上解决旋转运动模型无法得到准确预测的问题。然而,基于仿射运动模型和双线性运动模型涉及参数多,计算复杂,不利于在移动终端等对功耗要求严格的设备上实施。
发明内容
针对现有技术中的上述技术问题,本申请实施例提出了一种视频编解码的方法、装置、电子设备及存储介质,以解决现有视频压缩技术无法对物体旋转情况进行有效编码的问题。
本申请实施例的第一方面提供了一种视频编码的方法,包括:
对视频数据中的两帧图像进行运动估计,在所述运动估计过程的每一搜索位置上,施加至少一个角度的旋转进行搜索计算;
综合所有搜索计算结果得到最佳参考图像块位置以及带有旋转角度信息的运动矢量。
在一些实施例中,所述施加至少一个角度的旋转进行搜索计算包 括:每次施加一个角度的旋转后,计算旋转后图像块关于残差和/或运动矢量的代价函数。
在一些实施例中,所述方法中,所述综合所有搜索计算结果包括:
选择所有搜索计算结果中代价最小的图像块作为所述最佳参考图像块;
或者,在当前图像块代价小于预设阈值时结束搜索计算,输出当前图像块作为所述最佳参考图像块。
在一些实施例中,所述代价函数包括绝对误差和SAD、变换后绝对值求和SATD、差值平方和SSD、平均绝对差值MAD和平均平方误差MSD中的至少一种
在一些实施例中,所述施加至少一个角度的旋转包括:
所述至少一个角度为至少一个预设角度,每次选择所述至少一个预设角度中的一个旋转;
或者,所述至少一个角度为按照预设调整精度设置的角度数列,每次按照所述调整精度递增或递减调整角度旋转;
或者,所述至少一个角度为采用二分法逐渐逼近最佳调整角度的至少一个角度。
在一些实施例中,所述方法还包括:由所述最佳参考图像块位置确定所述运动矢量,所述旋转角度信息为对所述最佳参考图像块施加的旋转角度。
在一些实施例中,所述方法还包括:采用差分方式对多帧图像的多个所述运动矢量中的所述旋转角度信息进行编码。
本申请实施例的第二方面提供了一种视频解码的方法,包括:
根据参考帧和带有旋转角度信息的运动矢量进行视频数据的解码。
在一些实施例中,所述方法中,当多帧图像的多个所述运动矢量 中的所述旋转角度信息采用差分方式编码时,采用差分量进行解码。
在一些实施例中,所述进行视频数据的解码包括:根据所述运动矢量确定目标帧中参考图像块位置,然后根据所述参考帧计算所述参考图像块。
本申请实施例的第三方面提供了一种视频编码的装置,包括:
运动估计模块,用于对视频数据中的两帧图像进行运动估计,在所述运动估计过程的每一搜索位置上,施加至少一个角度的旋转进行搜索计算;
位置及矢量确定模块,用于综合所有搜索计算结果得到最佳参考图像块位置以及带有旋转角度信息的运动矢量。
在一些实施例中,运动估计模块包括:代价计算模块,用于在每次施加一个角度的旋转后,计算旋转后图像块关于残差和/或运动矢量的代价函数。
在一些实施例中,所述装置还包括:差分编码模块,用于采用差分方式对多帧图像的多个所述运动矢量中的所述旋转角度信息进行编码。
本申请实施例的第四方面提供了一种视频解码的装置,包括:解码模块,用于根据参考帧和带有旋转角度信息的运动矢量进行视频数据的解码。
在一些实施例中,所述装置还包括:差分解码模块,用于在多帧图像的多个所述运动矢量中的所述旋转角度信息采用差分方式编码时,采用差分量进行解码。
本申请实施例的第五方面提供了一种电子设备,包括:
存储器以及一个或多个处理器;
其中,所述存储器与所述一个或多个处理器通信连接,所述存储器中存储有可被所述一个或多个处理器执行的指令,所述指令被所述 一个或多个处理器执行时,所述电子设备用于实现如前述各实施例所述的方法。
本申请实施例的第六方面提供了一种计算机可读存储介质,其上存储有计算机可执行指令,当所述计算机可执行指令被计算装置执行时,可用来实现如前述各实施例所述的方法。
本申请实施例的第七方面提供了一种计算机程序产品,所述计算机程序产品包括存储在计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,可用来实现如前述各实施例所述的方法。
本申请实施例,通过对视频帧图像中的物体旋转情况进行搜索,得到带有旋转角度信息的运动矢量,从而实现了对旋转运动物体的识别和高效编码,进一步提升了视频数据的压缩效率。
通过参考附图会更加清楚的理解本申请的特征和优点,附图是示意性的而不应理解为对本申请进行任何限制,在附图中:
图1是现有技术中通过运动估计算法得到运动矢量的示意图;
图2是根据本申请的一些实施例所示的一种视频编码的方法的流程示意图;
图3是根据本申请的一些实施例所示的一种视频编码的装置的结构框图;
图4是根据本申请的一些实施例所示的用于视频编解码的一种电子设备的结构示意图。
在下面的详细描述中,通过示例阐述了本申请的许多具体细节,以便提供对相关披露的透彻理解。然而,对于本领域的普通技术人员 来讲,本申请显而易见的可以在没有这些细节的情况下实施。应当理解的是,本申请中使用“***”、“装置”、“单元”和/或“模块”术语,是用于区分在顺序排列中不同级别的不同部件、元件、部分或组件的一种方法。然而,如果其他表达式可以实现相同的目的,这些术语可以被其他表达式替换。
应当理解的是,当设备、单元或模块被称为“在……上”、“连接到”或“耦合到”另一设备、单元或模块时,其可以直接在另一设备、单元或模块上,连接或耦合到或与其他设备、单元或模块通信,或者可以存在中间设备、单元或模块,除非上下文明确提示例外情形。例如,本申请所使用的术语“和/或”包括一个或多个相关所列条目的任何一个和所有组合。
本申请所用术语仅为了描述特定实施例,而非限制本申请范围。如本申请说明书和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的特征、整体、步骤、操作、元素和/或组件,而该类表述并不构成一个排它性的罗列,其他特征、整体、步骤、操作、元素和/或组件也可以包含在内。
参看下面的说明以及附图,本申请的这些或其他特征和特点、操作方法、结构的相关元素的功能、部分的结合以及制造的经济性可以被更好地理解,其中说明和附图形成了说明书的一部分。然而,可以清楚地理解,附图仅用作说明和描述的目的,并不意在限定本申请的保护范围。可以理解的是,附图并非按比例绘制。
本申请中使用了多种结构图用来说明根据本申请的实施例的各种变形。应当理解的是,前面或下面的结构并不是用来限定本申请。本申请的保护范围以权利要求为准。
运动估计算法的目的就是在参考图像中找到最佳的参考图像块 位置,从而得到运动矢量来进行压缩编码和实现运动补偿。一般运动估计算法可以采取块匹配算法,通过比较各个参考位置上关于残差和运动矢量的代价函数,以搜索的最小代价函数点作为运动估计的结果。其搜索算法包括全搜索和快速搜索两类,全搜索对搜索范围内的所有点按照顺序进行搜索,逐点比较代价函数,选择代价函数最小的点作为最优点;为了减少运动估计的复杂度和计算时间,现有技术也提出了多种快速搜索算法(比如三步搜索、菱形搜索、六边形搜索等),通过对搜索范围的优化减少了待搜索的位置数。但是,现有的运动估计算法仅适用于物体整体平移的情况,当物体旋转运动时,现有的运动估计算法无法有效发现最佳匹配块,也无法用运动矢量来准确表达物体旋转情况。
有鉴于此,本申请的实施例提出了一种视频编码的方法,通过对旋转角度的识别和记录,其计算量小、搜索速度快、压缩效率高,有效解决了对平移且旋转运动的物体的视频数据进行高效编码的问题。具体地,参见图2,在本申请的一个实施例中,所述视频编码的方法包括:
S201,对视频数据中的两帧图像进行运动估计,在所述运动估计过程的每一搜索位置上,施加至少一个角度的旋转进行搜索计算;
S202,综合所有搜索计算结果得到最佳参考图像块位置以及带有旋转角度信息的运动矢量。
在本申请的实施例中,针对现有技术仅平移搜索的运动估计算法进行了改进,在每一搜索点/搜索位置上,将搜索对象(通常为图像块)施加至少一个角度的旋转后进行搜索计算。通过带有旋转角度的搜索,来发现可能的旋转运动的目标对象情况,从而实现对旋转运动的运动估计、运动矢量表达及视频编码。
具体地,视频编码过程中会先将视频数据中的图像序列按时间先 后分为一系列帧,这样相邻的两帧图像间的差异通常较小,有利于提升编码效率。这里的时间先后通常指视频图像实际的时间顺序,一般与视频图像采集顺序有关,而并不一定与视频图像播放顺序相关(在某些视频中,很多图像帧可能会被打乱顺序剪辑在一起,影响编码效率)。对于差异较小的两帧图像,可以仅对其中一帧图像的静态背景进行完全编码,另一帧相同的静态背景处则直接使用前一帧的编码结果;而有差异的部分则通常是图像中某一或某些物体运动时产生的差异,物体本身的图像块数据相似度较高,只是出现位置发生了变化,因而需要通过运动估计算法来确定其在不同图像帧中的位置,随后借助运动矢量来表达运动情况,使得运动的物体也可以尽可能地使用相同的编码,进一步提升编码效率。
为实现运动估计,通常将每一帧图像划分成多个图像块,对每一图像块进行运动估计的搜索计算,运动估计算法的目的就是在参考图像中找到最佳的参考图像块位置。其中,未发生变化或变化很小的静态背景图像块的位置较易确定,基本可以忽略;而运动物体所在图像块的具***置则需要通过搜索计算确定。现有技术仅进行平移的运动估计,因而搜索时仅考虑图像块位置发生变化,不考虑角度的变化。本申请的实施例中,搜索时还考虑物体旋转运动的情况,通过对旋转一定角度后的图像块的搜索来发现物体旋转运动的情况。
在一些实施例中,所述施加至少一个角度的旋转进行搜索计算包括:每次施加一个角度的旋转后,计算旋转后图像块关于残差和/或运动矢量的代价函数;其中,所述代价函数包括SAD(Sum of Absolute Difference,绝对误差和)、SATD(Sum of Absolute Transformed Difference,变换后绝对值求和,变换通常指Hadamard变换)、SSD(Sum of Squared Difference,差值平方和)、MAD(Mean Absolute Difference,平均绝对差值)、MSD(Mean Squared Difference,平均平 方误差)等中的至少一种。因本技术领域也可使用Error来表示误差,故上述Difference也有用Error来表述的,对应缩写也相应调整(比如SAE、SATE、SSE、MAE、MSE等),此处不再一一展开说明。
其中,旋转后图像块一般也通过像素块/像素矩阵来表示,从搜索位置/搜索点开始对旋转后的像素块/像素矩阵中的像素点/位置和像素值进行比对,一般可以采取块匹配算法,通过比较各个参考位置上关于残差和/或运动矢量的代价函数来确定最佳参考图像块。典型地,以搜索的最小代价函数点作为运动估计的结果,亦即通过遍历搜索,从所有搜索计算结果中选择代价最小的图像块作为最佳参考图像块,进而得到运动矢量并通过运动补偿得到残差。
而优选地,考虑到确定代价最小的为最佳参考图像块位置算法中遍历次数多,计算量大,可以在最佳匹配块和搜索速度之间进行折衷。比如在运动估计过程的任一搜索点(搜索位置)上,施加所述角度的旋转,然后计算关于残差和/或运动矢量的代价函数,选择代价小于某一阈值的为最佳参考图像块位置。显然,搜索到代价函数小于某一阈值时停止,有利于加快搜索速度。
在一些实施例中,所述施加至少一个角度的旋转包括:所述至少一个角度为至少一个预设角度,每次选择所述至少一个预设角度中的一个旋转;或者,所述至少一个角度为按照预设调整精度(比如1度或0.1度)设置的角度数列,每次按照所述调整精度递增或递减调整角度旋转;或者,所述至少一个角度为采用二分法逐渐逼近最佳调整角度的至少一个角度。
在一些实施例中,所述方法还包括:由所述最佳参考图像块位置确定所述运动矢量,所述旋转角度信息为对所述最佳参考图像块施加的旋转角度。
在一些实施例中,所述方法还包括:采用差分方式对多帧图像的 多个所述运动矢量中的所述旋转角度信息进行编码。
当然,本领域技术人员应当理解,视频编码过程通常还包括一些进一步优化的手段,比如帧间预测、帧内预测、DCT(离散余弦变换,Discrete Cosine Transform)、量化、熵编码和滤波等,故本申请的实施例除运动估计和运动补偿外,还会进一步结合上述一种或多种优化手段来完成完整的视频编码。鉴于现有技术对这些优化手段已有充分的研究,本申请的实施例可直接使用现有手段来实现,故不再一一展开说明,上述优化手段也不应视作对本申请具体实现的限制。
与上述视频编码的方法相对应地,本申请的实施例还提供了一种视频解码的方法,解码过程通常是编码过程的逆过程。在本申请的一个实施例中,所述视频解码的方法包括:根据参考帧和带有旋转角度信息的运动矢量进行视频数据的解码。
在一些实施例中,所述方法中,当多帧图像的多个所述运动矢量中的所述旋转角度信息采用差分方式编码时,采用差分量进行解码。
在一些实施例中,所述进行视频数据的解码包括:根据所述运动矢量确定目标帧中参考图像块位置,然后根据所述参考帧计算所述参考图像块。
图3是根据本申请的一些实施例所示的视频编码的装置示意图。如图3所示,所述视频编码的装置300包括:
运动估计模块310,用于对视频数据中的两帧图像进行运动估计,在所述运动估计过程的每一搜索位置上,施加至少一个角度的旋转进行搜索计算;
位置及矢量确定模块320,用于综合所有搜索计算结果得到最佳参考图像块位置以及带有旋转角度信息的运动矢量。
在一些实施例中,运动估计模块包括:代价计算模块,用于在每次施加一个角度的旋转后,计算旋转后图像块关于残差和/或运动矢 量的代价函数;其中,所述代价函数包括绝对误差和SAD、变换后绝对值求和SATD、差值平方和SSD、平均绝对差值MAD和平均平方误差MSD中的至少一种。
在一些实施例中,所述装置还包括:差分编码模块,用于采用差分方式对多帧图像的多个所述运动矢量中的所述旋转角度信息进行编码。
同样与上述视频编码的装置相对应地,本申请的实施例还提供了一种视频解码的装置,包括:解码模块,用于根据参考帧和带有旋转角度信息的运动矢量进行视频数据的解码。
在一些实施例中,所述装置还包括:差分解码模块,用于在多帧图像的多个所述运动矢量中的所述旋转角度信息采用差分方式编码时,采用差分量进行解码。
参考附图4,本申请一个实施例还提供了一种电子设备。如图4所示,该电子设备400包括:
存储器430以及一个或多个处理器410;
其中,所述存储器430与所述一个或多个处理器410通信连接,所述存储器430中存储有可被所述一个或多个处理器执行的指令432,所述指令432被所述一个或多个处理器410执行,以使所述一个或多个处理器410执行本申请前述实施例中的方法。
具体地,处理器410和存储器430可以通过总线或者其他方式连接,图4中以通过总线440连接为例。处理器410可以为中央处理器(Central Processing Unit,CPU)。处理器410还可以为其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯 片的组合。
存储器430作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本申请实施例中的级联渐进网络等。处理器410通过运行存储在存储器430中的非暂态软件程序/指令432以及功能模块,从而执行处理器的各种功能应用以及数据处理。
存储器430可以包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需要的应用程序;存储数据区可存储处理器410所创建的数据等。此外,存储器430可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器430可选包括相对于处理器410远程设置的存储器,这些远程存储器可以通过网络(比如通过通信接口420)连接至处理器410。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
本申请的一个实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机可执行指令,所述计算机可执行指令被执行后执行本申请前述实施例中的方法。
前述的计算机可读取存储介质包括以存储如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方式或技术来实现的物理易失性和非易失性、可移动和不可移动介质。计算机可读取存储介质具体包括,但不限于,U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、可擦除可编程只读存储器(EPROM)、电可擦可编程只读存储器(EEPROM)、闪存或其他固态存储器技术、CD-ROM、数字多功能盘(DVD)、HD-DVD、蓝光(Blue-Ray)或其他光存储设备、磁带、磁盘存储或其他磁性存 储设备、或能用于存储所需信息且可以由计算机访问的任何其他介质。
尽管此处所述的主题是在结合操作***和应用程序在计算机***上的执行而执行的一般上下文中提供的,但本领域技术人员可以认识到,还可结合其他类型的程序模块来执行其他实现。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、组件、数据结构和其他类型的结构。本领域技术人员可以理解,此处所述的本主题可以使用其他计算机***配置来实践,包括手持式设备、多处理器***、基于微处理器或可编程消费电子产品、小型计算机、大型计算机等,也可使用在其中任务由通过通信网络连接的远程处理设备执行的分布式计算环境中。在分布式计算环境中,程序模块可位于本地和远程存储器存储设备的两者中。
本领域普通技术人员可以意识到,结合本文中所本申请的实施例描述的各示例的单元及方法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对原有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。
综上所述,本申请提出了一种视频编解码的方法、装置、电子设备及存储介质。本申请实施例通过对视频帧图像中的物体旋转情况进 行搜索,得到带有旋转角度信息的运动矢量,从而实现了对旋转运动物体的识别和高效编码,进一步提升了视频数据的压缩效率。
应当理解的是,本申请的上述具体实施方式仅仅用于示例性说明或解释本申请的原理,而不构成对本申请的限制。因此,在不偏离本申请的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。此外,本申请所附权利要求旨在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修改例。
Claims (17)
- 一种视频编码的方法,其特征在于,所述方法包括:对视频数据中的两帧图像进行运动估计,在所述运动估计过程的每一搜索位置上,施加至少一个角度的旋转进行搜索计算;综合所有搜索计算结果得到最佳参考图像块位置以及带有旋转角度信息的运动矢量。
- 根据权利要求1所述的方法,其特征在于,所述施加至少一个角度的旋转进行搜索计算包括:每次施加一个角度的旋转后,计算旋转后图像块关于残差和/或运动矢量的代价函数。
- 根据权利要求2所述的方法,其特征在于,所述方法中,所述综合所有搜索计算结果包括:选择所有搜索计算结果中代价最小的图像块作为所述最佳参考图像块;或者,在当前图像块代价小于预设阈值时结束搜索计算,输出当前图像块作为所述最佳参考图像块。
- 根据权利要求2所述的方法,其特征在于,所述代价函数包括绝对误差和SAD、变换后绝对值求和SATD、差值平方和SSD、平均绝对差值MAD和平均平方误差MSD中的至少一种。
- 根据权利要求1或2所述的方法,其特征在于,所述施加至少一个角度的旋转包括:所述至少一个角度为至少一个预设角度,每次选择所述至少一个预设角度中的一个旋转;或者,所述至少一个角度为按照预设调整精度设置的角度数列,每次按照所述调整精度递增或递减调整角度旋转;或者,所述至少一个角度为采用二分法逐渐逼近最佳调整角度的 至少一个角度。
- 根据权利要求1所述的方法,其特征在于,所述方法还包括:由所述最佳参考图像块位置确定所述运动矢量,所述旋转角度信息为对所述最佳参考图像块施加的旋转角度。
- 根据权利要求1所述的方法,其特征在于,所述方法还包括:采用差分方式对多帧图像的多个所述运动矢量中的所述旋转角度信息进行编码。
- 一种视频解码的方法,其特征在于,所述方法包括:根据参考帧和带有旋转角度信息的运动矢量进行视频数据的解码;其中,所述旋转角度信息是运动估计过程中根据代价函数确定的对最佳参考图像块施加的旋转角度。
- 根据权利要求8所述的方法,其特征在于,所述方法中,当多帧图像的多个所述运动矢量中的所述旋转角度信息采用差分方式编码时,采用差分量进行解码。
- 根据权利要求8所述的方法,其特征在于,所述进行视频数据的解码包括:根据所述运动矢量确定目标帧中参考图像块位置,然后根据所述参考帧计算所述参考图像块。
- 一种视频编码的装置,其特征在于,所述装置包括:运动估计模块,用于对视频数据中的两帧图像进行运动估计,在所述运动估计过程的每一搜索位置上,施加至少一个角度的旋转进行搜索计算;位置及矢量确定模块,用于综合所有搜索计算结果得到最佳参考图像块位置以及带有旋转角度信息的运动矢量。
- 根据权利要求11所述的装置,其特征在于,运动估计模块包括:代价计算模块,用于在每次施加一个角度的旋转后,计算旋转后图像块关于残差和/或运动矢量的代价函数。
- 根据权利要求11所述的装置,其特征在于,所述装置还包括:差分编码模块,用于采用差分方式对多帧图像的多个所述运动矢量中的所述旋转角度信息进行编码。
- 一种视频解码的装置,其特征在于,所述装置包括:解码模块,用于根据参考帧和带有旋转角度信息的运动矢量进行视频数据的解码;其中,所述旋转角度信息是运动估计过程中根据代价函数确定的对最佳参考图像块施加的旋转角度。
- 根据权利要求14所述的装置,其特征在于,所述装置还包括:差分解码模块,用于在多帧图像的多个所述运动矢量中的所述旋转角度信息采用差分方式编码时,采用差分量进行解码。
- 一种电子设备,其特征在于,包括:存储器以及一个或多个处理器;其中,所述存储器与所述一个或多个处理器通信连接,所述存储器中存储有可被所述一个或多个处理器执行的指令,所述指令被所述一个或多个处理器执行时,所述电子设备用于实现如权利要求1-10任一项所述的方法。
- 一种计算机可读存储介质,其上存储有计算机可执行指令,当所述计算机可执行指令被计算装置执行时,可用来实现如权利要求1-10任一项所述的方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110118920.3 | 2021-01-28 | ||
CN202110118920.3A CN112468815B (zh) | 2021-01-28 | 2021-01-28 | 视频编解码的方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2022160636A1 true WO2022160636A1 (zh) | 2022-08-04 |
Family
ID=74802374
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2021/109782 WO2022160636A1 (zh) | 2021-01-28 | 2021-07-30 | 视频编解码的方法、装置、电子设备及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN112468815B (zh) |
WO (1) | WO2022160636A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112468815B (zh) * | 2021-01-28 | 2021-06-15 | 浙江智慧视频安防创新中心有限公司 | 视频编解码的方法、装置、电子设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104869399A (zh) * | 2014-02-24 | 2015-08-26 | 联想(北京)有限公司 | 一种信息处理方法及电子设备 |
CN106961609A (zh) * | 2016-01-08 | 2017-07-18 | 三星电子株式会社 | 用于处理参考图像的应用处理器及移动终端 |
US20170238011A1 (en) * | 2016-02-17 | 2017-08-17 | Telefonaktiebolaget Lm Ericsson (Publ) | Methods and Devices For Encoding and Decoding Video Pictures |
CN110169072A (zh) * | 2017-01-13 | 2019-08-23 | 索尼公司 | 图像处理装置和图像处理方法 |
WO2020008724A1 (ja) * | 2018-07-06 | 2020-01-09 | ソニー株式会社 | 画像処理装置、画像処理方法及びプログラム |
CN112468815A (zh) * | 2021-01-28 | 2021-03-09 | 浙江智慧视频安防创新中心有限公司 | 视频编解码的方法、装置、电子设备及存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8681873B2 (en) * | 2010-02-19 | 2014-03-25 | Skype | Data compression for video |
CN109640097B (zh) * | 2018-12-07 | 2021-08-03 | 辽宁师范大学 | 自适应因子的视频仿射运动估计方法 |
-
2021
- 2021-01-28 CN CN202110118920.3A patent/CN112468815B/zh active Active
- 2021-07-30 WO PCT/CN2021/109782 patent/WO2022160636A1/zh active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104869399A (zh) * | 2014-02-24 | 2015-08-26 | 联想(北京)有限公司 | 一种信息处理方法及电子设备 |
CN106961609A (zh) * | 2016-01-08 | 2017-07-18 | 三星电子株式会社 | 用于处理参考图像的应用处理器及移动终端 |
US20170238011A1 (en) * | 2016-02-17 | 2017-08-17 | Telefonaktiebolaget Lm Ericsson (Publ) | Methods and Devices For Encoding and Decoding Video Pictures |
CN110169072A (zh) * | 2017-01-13 | 2019-08-23 | 索尼公司 | 图像处理装置和图像处理方法 |
WO2020008724A1 (ja) * | 2018-07-06 | 2020-01-09 | ソニー株式会社 | 画像処理装置、画像処理方法及びプログラム |
CN112468815A (zh) * | 2021-01-28 | 2021-03-09 | 浙江智慧视频安防创新中心有限公司 | 视频编解码的方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112468815A (zh) | 2021-03-09 |
CN112468815B (zh) | 2021-06-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI786790B (zh) | 視頻資料的幀間預測方法和裝置 | |
WO2006103844A1 (ja) | 符号化装置と方法、ならびに復号装置と方法 | |
Abou-Elailah et al. | Fusion of global and local motion estimation for distributed video coding | |
TWI468018B (zh) | 使用向量量化解區塊過濾器之視訊編碼 | |
JP4417054B2 (ja) | 離散コサイン変換係数を参照する動き推定方法及び装置 | |
CN108810549B (zh) | 一种面向低功耗的流媒体播放方法 | |
TW202017385A (zh) | 從仿射運動預測的非仿射塊 | |
WO2022227622A1 (zh) | 一种权值可配置的帧间帧内联合预测编解码的方法及装置 | |
WO2022160636A1 (zh) | 视频编解码的方法、装置、电子设备及存储介质 | |
Wei et al. | Improved side-information in distributed video coding | |
KR101341998B1 (ko) | 회전 움직임을 고려한 인터 예측 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치 | |
JP2006191642A (ja) | 非標準化ビデオ量子化コーダを使用するビデオ規格に準拠した残差コーディング | |
CN114424528A (zh) | 视频编码的运动补偿方法 | |
ZHANG et al. | Improved side information generation algorithm for Wyner-Ziv video coding | |
WO2020056767A1 (zh) | 视频图像分量的预测方法、装置及计算机存储介质 | |
KR100617598B1 (ko) | 1/4픽셀 움직임 벡터를 이용한 동영상 압축방법 | |
KR20060109440A (ko) | 전력 최적화 콜로케이팅된 움직임 추정 방법 | |
Zhang et al. | From visual search to video compression: A compact representation framework for video feature descriptors | |
Sakomizu et al. | A hierarchical motion smoothing for distributed scalable video coding | |
KR100757831B1 (ko) | 1/4픽셀 움직임 벡터를 이용한 동영상 압축방법 | |
KR100757829B1 (ko) | 1/4픽셀 움직임 벡터를 이용한 동영상 압축방법 | |
KR100757832B1 (ko) | 1/4픽셀 움직임 벡터를 이용한 동영상 압축방법 | |
KR100757830B1 (ko) | 1/4픽셀 움직임 벡터를 이용한 동영상 압축방법 | |
Li et al. | Side information extrapolation using motion-aligned auto regressive model for compressed sensing based Wyner-Ziv codec | |
TWI841033B (zh) | 視頻數據的幀間預測方法和裝置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 21922232 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 21922232 Country of ref document: EP Kind code of ref document: A1 |