WO2021147464A1 - 视频处理方法、装置及电子设备 - Google Patents

视频处理方法、装置及电子设备 Download PDF

Info

Publication number
WO2021147464A1
WO2021147464A1 PCT/CN2020/127595 CN2020127595W WO2021147464A1 WO 2021147464 A1 WO2021147464 A1 WO 2021147464A1 CN 2020127595 W CN2020127595 W CN 2020127595W WO 2021147464 A1 WO2021147464 A1 WO 2021147464A1
Authority
WO
WIPO (PCT)
Prior art keywords
value
coding unit
bit
preset
processed
Prior art date
Application number
PCT/CN2020/127595
Other languages
English (en)
French (fr)
Inventor
黎凌宇
尹海斌
施华德
王悦
Original Assignee
北京字节跳动网络技术有限公司
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 北京字节跳动网络技术有限公司 filed Critical 北京字节跳动网络技术有限公司
Publication of WO2021147464A1 publication Critical patent/WO2021147464A1/zh

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/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/186Methods 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 a colour or a chrominance component
    • 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/184Methods 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 bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Definitions

  • the embodiments of the present disclosure relate to the field of coding technology, and in particular, to a video processing method, device, and electronic equipment.
  • Video image signals have become people’s daily routines due to their intuitiveness and efficiency. The most important way to get information in life. Take screen video as an example.
  • the screen video content is the video content directly captured in the image display of computers, mobile phones and other terminals. It mainly includes computer graphics, text documents, natural video and graphic text mixed images, and computer-generated images. Screen video coding has broad application prospects in desktop sharing, video conferencing, online education, cloud games and other fields.
  • the hevc scc puts forward an expansion proposal for screen video content on hevc/h.265.
  • the hevc scc coding tool mainly includes intra block copy (intra block copy, referred to as IBC), motion search (hash motion estimation, referred to as hashme) based on hash (hash), palette (palette encoding), and adaptive color space conversion (Adaptive color transform, ACT for short), etc.
  • the existing video coding usually turns on the above coding tools for all areas, which wastes computing power, and the coding effect for non-screen video areas is not good.
  • the coding effects of the above coding tools are similar, but the existing video coding uses the above coding tools to perform repeated calculations, which causes the problem of calculation redundancy.
  • the embodiments of the present disclosure provide a video processing method, device, and electronic equipment to overcome the problems of waste of computing power, poor coding effect, and computing redundancy in existing video coding.
  • embodiments of the present disclosure provide a video processing method, including:
  • the coding tree unit to be processed is screen video content, determining the hash check value of the brightness component of the coding tree unit to be processed;
  • a video processing device including:
  • a determining module configured to determine the hash check value of the brightness component of the coding tree unit to be processed if the coding tree unit to be processed is screen video content
  • the processing module is used to perform the following operations (1)-(3) in the first screen video processing mode:
  • the processing module is further configured to perform the operations (1)-(3) again in the second screen video coding mode if the coordinates of the reference coding unit are not found in the coding unit information table .
  • an embodiment of the present disclosure provides an electronic device, including: at least one processor and a memory;
  • the memory stores computer execution instructions
  • the at least one processor executes the computer-executable instructions stored in the memory, so that the at least one processor executes the video processing method described in the first aspect and various possible designs of the first aspect.
  • embodiments of the present disclosure provide a computer-readable storage medium that stores computer-executable instructions.
  • the processor executes the computer-executable instructions, the first aspect and the first aspect described above are implemented. In terms of various possible designs, the video processing method described.
  • the video processing method, device and electronic equipment provided by the embodiments of the present disclosure only enable the on-screen video encoding tool for the screen video area, avoiding the on-screen video encoding tool for all areas, which wastes computing power and is used for non-screen videos.
  • the hash check value of the CTU brightness component is calculated, so that in the first screen video coding mode, according to the above hash Check value, obtain the hash check value of the target coding unit, search for the coordinates of the reference coding unit in the established coding unit information table of the current frame, and perform the conversion between the above-mentioned target coding unit and the bit representation of the target coding unit, If no search is found, the above process is repeated in the second screen video coding mode, and further, the use of multiple screen video coding tools for repeated calculations is avoided, which causes the problem of calculation redundancy.
  • CTU current coding tree unit
  • FIG. 1 is a schematic diagram of the architecture of a video processing system provided by an embodiment of the disclosure
  • FIG. 2 is a schematic flowchart of a video processing method provided by an embodiment of the present disclosure
  • FIG. 3 is a schematic flowchart of another video processing method provided by an embodiment of the present disclosure.
  • FIG. 4 is a schematic flowchart of still another video processing method provided by an embodiment of the disclosure.
  • FIG. 5 is a schematic flowchart of another video processing method provided by an embodiment of the present disclosure.
  • FIG. 6 is a schematic flowchart of another video processing method provided by an embodiment of the present disclosure.
  • FIG. 7 is a schematic structural diagram of a video processing device provided by an embodiment of the disclosure.
  • FIG. 8 is a schematic structural diagram of another video processing device provided by an embodiment of the disclosure.
  • FIG. 9 is a schematic diagram of the hardware structure of an electronic device provided by an embodiment of the disclosure.
  • Video coding usually refers to processing a sequence of pictures that form a video or video sequence.
  • the terms "piCTUre", “frame” or “image” can be used as synonyms.
  • the video encoding in the present disclosure is performed on the source side, and usually includes processing (for example, by compressing) the original video picture to reduce the amount of data required to represent the video picture (thus storing and/or transmitting more efficiently).
  • Video decoding is performed on the destination side and usually involves inverse processing relative to the encoder to reconstruct the video picture.
  • the term "block” may be a part of a picture or frame.
  • VVC Versatile Video Coding
  • VCEG ITU-T Video Coding Experts Group
  • HEVC ISO/IEC Motion Picture Experts Group
  • JCT-VC Joint Collaboration Team on Video Coding
  • a coding tree unit is split into multiple coding units (Coding Unit, CU for short) by using a quad-tree structure represented as a coding tree.
  • CU is the coding unit, usually corresponding to an A ⁇ B rectangular area, including A ⁇ B luminance pixels and its corresponding chrominance pixels, A is the width of the rectangle, B is the height of the rectangle, and A and B can be the same. It can be different.
  • the values of A and B are usually integer powers of 2, such as 128, 64, 32, 16, 8, 4.
  • a coding unit can obtain a reconstructed image of an A ⁇ B rectangular area through decoding processing.
  • the decoding processing usually includes prediction, inverse quantization, inverse transformation, etc., to generate a predicted image and residual, and the predicted image and residual are superimposed to be reconstructed image.
  • CTU is the coding tree unit. An image is composed of multiple CTUs.
  • a CTU usually corresponds to a square image area and contains the luminance pixels and chrominance pixels in this image area (or only luminance pixels, or only luminance pixels). Including chrominance pixels);
  • the CTU also contains syntax elements, which indicate how to divide the CTU into at least one CU, and the method of decoding each coding unit to obtain a reconstructed image.
  • the existing screen video content is the video content directly captured in the image display of the computer, mobile phone and other terminals, mainly including computer graphics, text documents, natural video and graphic text mixed images, computer-generated images, etc.
  • hevc scc puts forward an expansion proposal for screen video content on hevc/h.265.
  • hevc scc coding tools mainly include IBC, hashme, palette, ACT, etc.
  • the existing video coding usually turns on the above coding tools for all areas, which wastes computing power, and the coding effect for non-screen video areas is not good.
  • the coding effects of the above coding tools are similar, but the existing video coding uses the above coding tools to perform repeated calculations, which causes the problem of calculation redundancy.
  • the present disclosure provides a video processing method that only opens the screen video encoding tool for the screen video area, so as to avoid opening the screen video encoding tool for all areas, which wastes computing power and is used for non-screen video areas.
  • the problem of poor encoding effect is only open the screen video encoding tool for the screen video area, so as to avoid opening the screen video encoding tool for all areas, which wastes computing power and is used for non-screen video areas.
  • the hash check value of the brightness component of the CTU is calculated, so that in the first screen video encoding mode, the target is obtained according to the above hash check value
  • the hash check value of the coding unit, the coordinate of the reference coding unit is searched in the coding unit information table established in the current frame, and the conversion between the above-mentioned target coding unit and the bit representation of the target coding unit is performed. If it is not found, then In the second screen video encoding mode, the above process is repeatedly executed, thereby avoiding the use of multiple screen video encoding tools to perform repeated calculations, which causes the problem of calculation redundancy.
  • the video processing method provided by the present disclosure can be applied to the schematic diagram of the video processing system architecture shown in FIG. 1.
  • the video processing system 10 includes a source device 12 and a target device 14, and the source device 12 includes: picture acquisition The device 121, the preprocessor 122, the encoder 123 and the communication interface 124.
  • the target device 14 includes a display device 141, a processor 142, a decoder 143, and a communication interface 144.
  • the source device 12 sends the encoded data 13 obtained by encoding to the target device 14.
  • the method of the present disclosure is applied to the encoder 123.
  • the source device 12 may be referred to as a video encoding device or a video encoding device.
  • the target device 14 may be referred to as a video decoding device or a video decoding device.
  • the source device 12 and the target device 14 may be examples of video encoding devices or video encoding devices.
  • the source device 12 and the target device 14 may include any of a variety of devices, including any type of handheld or stationary device, for example, a notebook or laptop computer, mobile phone, smart phone, tablet or tablet computer, video camera, desktop computer , Set-top boxes, televisions, display devices, digital media players, video game consoles, video streaming devices (such as content service servers or content distribution servers), broadcast receiver devices, broadcast transmitter devices, etc., and may not be used or Use any type of operating system.
  • a notebook or laptop computer mobile phone, smart phone, tablet or tablet computer, video camera, desktop computer , Set-top boxes, televisions, display devices, digital media players, video game consoles, video streaming devices (such as content service servers or content distribution servers), broadcast receiver devices, broadcast transmitter devices, etc., and may not be used or Use any type of operating system.
  • source device 12 and target device 14 may be equipped for wireless communication. Therefore, the source device 12 and the target device 14 may be wireless communication devices.
  • the video processing system 10 shown in FIG. 1 is only an example, and the technology of the present disclosure can be applied to video encoding settings (for example, video encoding or video decoding) that do not necessarily include any data communication between encoding and decoding devices. .
  • the data can be retrieved from local storage, streamed on the network, etc.
  • the video encoding device can encode data and store the data to the memory, and/or the video decoding device can retrieve the data from the memory and decode the data.
  • encoding and decoding are performed by devices that do not communicate with each other but only encode data to and/or retrieve data from the memory and decode the data.
  • the encoder 123 of the video processing system 10 may also be referred to as a video encoder, and the decoder 143 may also be referred to as a video decoder.
  • the picture acquisition device 121 may include or may be any type of picture capture device, for example, to capture real-world pictures, and/or any type of pictures or comments (for screen content encoding, some text on the screen is also Considered to be a part of the picture or image to be encoded) generating equipment, for example, a computer graphics processor for generating computer animation pictures, or for obtaining and/or providing real-world pictures, computer animation pictures (for example, screen content, virtual Any type of equipment of virtual reality (VR) pictures, and/or any combination thereof (for example, augmented reality (AR) pictures).
  • the picture is or can be regarded as a two-dimensional array or matrix of sampling points with brightness values.
  • the sampling points in the array may also be called pixels (pixels) or pixels (piCTUre element, pel for short).
  • the number of sampling points of the array in the horizontal and vertical directions (or axis) defines the size and/or resolution of the picture.
  • three color components are usually used, that is, pictures can be represented as or contain three sample arrays.
  • a picture includes corresponding red, green, and blue sample arrays.
  • each pixel is usually expressed in a luminance/chrominance format or color space, for example, YCbCr, including the luminance (luma) component indicated by Y (sometimes indicated by L), and Cb and Cr indications.
  • the two chroma (chroma for short) components The luminance component Y represents luminance or gray level intensity (for example, the two are the same in a grayscale picture), and the two chrominance components Cb and Cr represent chrominance or color information components.
  • a picture in the YCbCr format includes a luminance sample array of the luminance component (Y), and two chrominance sample arrays of the chrominance component (Cb and Cr).
  • Pictures in RGB format can be converted or converted to YCbCr format, and vice versa. This process is also called color conversion or conversion.
  • the picture acquisition device 121 may be, for example, a camera for capturing pictures, such as a memory of a picture memory, including or storing previously captured or generated pictures, and/or any type of (internal or external) interface for acquiring or receiving pictures.
  • the camera may be, for example, an integrated camera that is local or integrated in the source device, and the memory may be local or, for example, an integrated memory that is integrated in the source device.
  • the interface may be, for example, an external interface for receiving pictures from an external video source.
  • the external video source is, for example, an external picture capturing device, such as a camera, an external memory, or an external picture generating device
  • the external picture generating device is, for example, an external computer graphics processor. , Computer or server.
  • the interface can be any type of interface according to any proprietary or standardized interface protocol, such as a wired or wireless interface, and an optical interface.
  • the interface for acquiring the picture data 125 in FIG. 1 may be the same interface as the communication interface 124 or a part of the communication interface 124.
  • the picture data 125 (for example, video data) may be referred to as original picture or original picture data.
  • the pre-processor 122 is used to receive the picture data 125 and perform pre-processing on the picture data 125 to obtain a pre-processed picture (or pre-processed picture data) 126.
  • the preprocessing performed by the preprocessor 122 may include trimming, color format conversion (for example, conversion from RGB to YCbCr), toning or denoising. It can be understood that the pre-processor 122 may be an optional component.
  • the encoder 123 (eg, a video encoder) is used to receive pre-processed pictures (or pre-processed picture data) 126 and provide encoded picture data 127.
  • the communication interface 124 of the source device 12 can be used to receive the encoded picture data 127 and transmit it to other devices, for example, the target device 14 or any other device for storage or direct reconstruction, or for storing
  • the encoded data 13 is stored and/or the encoded picture data 127 is processed before transmitting the encoded data 13 to other devices, such as the target device 14 or any other device for decoding or storage.
  • the communication interface 144 of the target device 14 is used, for example, to directly receive the encoded picture data 127 or the encoded data 13 from the source device 12 or any other source. Any other source is, for example, a storage device, and the storage device is, for example, an encoded picture data storage device.
  • the communication interface 124 and the communication interface 144 can be used to directly communicate through the direct communication link between the source device 12 and the target device 14 or through any type of network to transmit or receive the encoded picture data 127 or the encoded data 13
  • the link is, for example, a direct wired or wireless connection, and any type of network is, for example, a wired or wireless network or any combination thereof, or any type of private network and public network, or any combination thereof.
  • the communication interface 124 may be used, for example, to encapsulate the encoded picture data 127 into a suitable format, such as a packet, for transmission on a communication link or communication network.
  • the communication interface 144 forming the corresponding part of the communication interface 124 may be used, for example, to decapsulate the encoded data 13 to obtain the encoded picture data 127.
  • Both the communication interface 124 and the communication interface 144 can be configured as a one-way communication interface, as indicated by the arrow pointing from the source device 12 to the target device 14 for the encoded picture data 127 in FIG. 1, or can be configured as a two-way communication interface, and can It is used, for example, to send and receive messages to establish a connection, confirm and exchange any other information related to the communication link and/or data transmission such as the transmission of encoded picture data.
  • the decoder 143 is used to receive encoded picture data 127 and provide decoded picture data (or decoded picture) 145.
  • the processor 142 of the target device 14 is used to post-process decoded picture data (or decoded picture) 145, for example, a decoded picture, to obtain post-processed picture data 146, for example, a post-processed picture.
  • the post-processing performed by the processor 142 may include, for example, color format conversion (for example, conversion from YCbCr to RGB), toning, trimming or resampling, or any other processing for preparing decoded picture data (or decoded picture data, for example).
  • the picture 145 is displayed by the display device 141.
  • the display device 141 of the target device 14 is used to receive the post-processed picture data 145 to display the picture to, for example, a user or viewer.
  • the display device 141 may be or may include any type of display for presenting the reconstructed picture, for example, an integrated or external display or monitor.
  • the display may include a liquid crystal display (LCD for short), an organic light emitting diode (OLED) display, a plasma display, a projector, a micro LED display, and a liquid crystal on silicon (liquid crystal on silicon, for short) LCoS), digital light processor (digital light processor, DLP for short), or any other type of display.
  • FIG. 1 depicts the source device 12 and the target device 14 as separate devices
  • the device embodiment may also include the source device 12 and the target device 14 or the functionality of both, that is, the source device 12 or the corresponding The functionality of the target device 14 or the corresponding functionality.
  • the same hardware and/or software may be used, or separate hardware and/or software, or any combination thereof may be used to implement the source device 12 or the corresponding functionality and the target device 14 or the corresponding functionality.
  • the functionality of different units or the existence and (accurate) division of the functionality of the source device 12 and/or the target device 14 shown in FIG. 1 may vary according to actual devices and applications.
  • both the encoder 123 e.g., video encoder
  • the decoder 143 e.g., video decoder
  • DSP digital Signal processor
  • ASIC application-specific integrated circuit
  • FPGA field-programmable gate array
  • the device can store the instructions of the software in a suitable non-transitory computer-readable storage medium, and can use one or more processors to execute the instructions in hardware to execute the technology of the present disclosure. .
  • Each of the encoder 123 and the decoder 143 may be included in one or more encoders or decoders, and any one of the encoders or decoders may be integrated as a combined encoder/decoder in the corresponding device ( Codec).
  • the decoder 143 may be used to perform the reverse process.
  • the decoder 143 can be used to receive and parse such syntax elements, and decode related video data accordingly.
  • the encoder 123 may entropy encode one or more defined syntax elements into an encoded video bitstream. In such instances, the decoder 143 can parse such syntax elements and decode related video data accordingly.
  • FIG. 2 is a schematic flowchart of a video processing method provided by an embodiment of the present disclosure.
  • the execution subject of the embodiment of the present disclosure may be the encoder in the foregoing embodiment.
  • the method may include:
  • the foregoing coding tree unit to be processed may be determined according to actual conditions, and the comparison of the embodiments of the present disclosure is not particularly limited.
  • the above method further includes:
  • the to-be-processed coding tree unit is screen video content.
  • the coding tree unit to be processed is screen video content.
  • the coding tree unit to be processed is the screen video content.
  • the above-mentioned preset difference threshold may be set according to actual conditions, which is not particularly limited in the embodiment of the present disclosure.
  • the to-be-processed coding tree unit is the screen video content .
  • the preset non-zero value can be set according to the actual situation, for example, determine the largest 5 values in hist[i], and sum to obtain top5sum.
  • the above-mentioned preset multiple may be set according to actual conditions, which is not particularly limited in the embodiment of the present disclosure. For example, if the above top5sum is greater than beta times the size of the coding unit split by the current coding tree unit, it is determined that the above-mentioned coding tree unit to be processed is the screen video content, and the beta times is the above-mentioned preset multiple.
  • how to determine whether the above-mentioned coding tree unit to be processed is screen video content mentioned in the embodiment of the present disclosure may exist independently of the method shown in FIG. 2. For example, when it is determined that it is screen video content according to the following method, if the number of non-zero values in the color histogram is zero, or the number of non-zero values is greater than the preset number threshold, the non-zero value is obtained The corresponding maximum and minimum values. If the difference between the maximum value corresponding to the non-zero value and the minimum value corresponding to the non-zero value is greater than or equal to the preset difference threshold, it is determined that the coding tree unit to be processed is the screen video content.
  • the sum of multiple preset non-zero values in the color histogram is determined. If the sum of the multiple preset non-zero values is greater than a preset multiple of the size of the coding unit split by the to-be-processed coding tree unit, it is determined that the to-be-processed coding tree unit is the screen video content.
  • the screen video coding tool is only opened for the screen video area in the subsequent, so as to avoid opening the screen video coding tool for all areas, which wastes computing power and encodes non-screen video areas. The problem of poor results.
  • the above-mentioned hash check value is a 32-bit cyclic redundancy check (cyclic redundancy check, crc for short) value.
  • the foregoing determining the hash check value of the luminance component of the coding tree unit to be processed may include:
  • Parallel processing is performed on the pixel value of each pixel position of the luminance component of the coding tree unit to be processed to obtain a 32-bit crc value of each pixel position of the luminance component of the coding tree unit to be processed.
  • determining the hash check value of the luminance component of the coding tree unit to be processed may further include:
  • the 32-bit crc value calculation function is used to obtain the 32-bit crc value of the luminance component of the above-mentioned coding tree unit to be processed.
  • the 32-bit crc value of the coding tree unit to be processed can be calculated in parallel, and/or the pixel values are combined in the calculation process, so as to increase the calculation speed, and further, increase the encoding speed.
  • the calculation function of the aforementioned 32-bit crc value can be determined according to actual conditions, and the comparison of the embodiments of the present disclosure does not make special restrictions.
  • the calculation function of the above 32-bit crc value can be x 32 + x 26 + x 23 + x 22 + x 16 + x 12 + x 11 + x 10 + x 8 + x 7 + x 5 + x 4 +x 2 +x+1.
  • the foregoing obtaining the 32-bit crc value of the luminance component of the foregoing coding tree unit to be processed may include:
  • the aforementioned 32-bit crc value calculation function is used to obtain the to-be-processed 32-bit crc value
  • a random calculation function is used to obtain the 32-bit crc value of the luminance component of the foregoing encoding tree unit to be processed.
  • the above-mentioned random calculation function may also be determined according to actual conditions, and the comparison of the embodiments of the present disclosure is not particularly limited.
  • the embodiment of the present disclosure further adopts a random calculation function to obtain the 32-bit crc value of the brightness component of the above-mentioned coding tree unit to be processed based on the above-mentioned 32-bit crc value to be processed, so as to ensure that the pixel values of the two blocks are different.
  • the crc value after the segmentation is also different, thereby ensuring that the subsequent processing is performed normally.
  • the aforementioned 32-bit crc value may be a fastcrc32 value.
  • entering the cu coding layer, before obtaining the hash check value of the target coding unit further includes:
  • the step of obtaining the hash check value of the target coding unit is performed; otherwise, the operation is stopped and a corresponding prompt can be made.
  • the size of the target coding unit is not the predetermined size. Set the size.
  • the foregoing preset size can be set according to actual conditions, and the embodiment of the present disclosure does not impose special restrictions on this, for example, it is determined whether the size of the foregoing target coding unit is 8*8.
  • the foregoing target coding unit may be determined according to actual conditions, and the comparison of the embodiments of the present disclosure is not particularly limited.
  • the first screen video processing mode can also be set according to actual conditions, such as the IBC coding mode.
  • the IBC coding mode the hash of the target coding unit is obtained according to the hash check value of the brightness component of the coding tree unit to be processed. Check value.
  • the foregoing coding unit information table may prestore the correspondence relationship between the hash check values of multiple coding units and the coordinates of the coding unit.
  • the encoder uses the hash check value of the target coding unit to search for the coordinates of the coding unit corresponding to the hash check value in the correspondence relationship in the coding unit information table.
  • the conversion between the above-mentioned target coding unit and the bit representation of the target coding unit is performed according to the coordinates of the reference coding unit.
  • the bit of the target coding unit represents the conversion to the target coding unit to indicate encoding
  • the bit of the target coding unit represents the conversion to the target coding unit to indicate decoding
  • the second screen video encoding mode is different from the first screen video encoding mode. After the encoding of the first screen video encoding mode fails, other screen video encoding modes are used for encoding.
  • the current frame is a P frame or a B frame
  • try the hash me coding mode and obtain the hash check value of the target coding unit according to the hash check value of the brightness component of the coding tree unit to be processed, and then , According to the hash check value of the target coding unit, search for the coordinates of the reference coding unit in the coding unit information table established in the current frame.
  • the bit indicates the conversion, otherwise, encode in the third screen video encoding mode until the encoding is successful, for example, the first screen video encoding mode is the IBC encoding mode, the second screen video encoding mode is the hash me encoding mode, and the first screen video encoding mode is the IBC encoding mode.
  • the three-screen video encoding mode you can try the palette mode and execute the palatte encoding process to solve the problem that multiple screen encoding tools have similar effects, but multiple calculations cause calculation redundancy.
  • the embodiments of the present disclosure only enable the on-screen video encoding tool for the screen video area, avoiding the problem of turning on the on-screen video encoding tool for all areas, wasting computing power, and poorly encoding the non-screen video area.
  • the hash check value of the brightness component of the CTU is calculated, so that in the first screen video coding mode, the hash check value of the target coding unit is obtained according to the above hash check value Value, search for the coordinates of the reference coding unit in the coding unit information table established in the current frame, perform the conversion between the target coding unit and the bit representation of the target coding unit, if not found, then in the second screen video coding mode, Re-execute the above process, and further, avoid using multiple screen video coding tools to perform repeated calculations, which causes the problem of calculation redundancy.
  • FIG. 3 is a schematic flowchart of another video processing method proposed by an embodiment of the disclosure.
  • the execution subject of this embodiment may be the encoder in the embodiment shown in FIG. 1. As shown in Figure 3, the method includes:
  • S302 In the first screen video coding mode, obtain the 32-bit crc value of the target coding unit according to the 32-bit crc value of the brightness component of the coding tree unit to be processed.
  • steps S301-S302 are implemented in the same manner as the foregoing steps S201-S202, and will not be repeated here.
  • the first preset bit and the second preset bit can be set according to actual conditions.
  • the upper 16 bits of the 32-bit crc value are used as the first preset bit, and the 32-bit crc value is used as the first preset bit.
  • the lower 16 bits in the middle are used as the second preset bit.
  • the foregoing coding unit information table may prestore the value of the first preset bit, the value of the second preset bit among the 32-bit crc values of the multiple coding units, and the corresponding relationship of the coordinates of the coding unit.
  • the encoder may use the value of the first preset bit in the 32-bit crc value of the target coding unit to search for the second preset corresponding to the value of the first preset bit in the corresponding relationship in the coding unit information table. The value of the bit.
  • the value of the second preset bit corresponding to the value of the first preset bit is searched in the above coding unit information table, and the value of the second preset bit found is the same as the 32 of the target coding unit. If the value of the second preset bit in the bit crc value is the same, the coordinates of the reference coding unit are obtained from the coding unit information table according to the searched value of the second preset bit, that is, the coordinates of the reference coding unit are obtained in the coding unit information table. The coordinates of the reference coding unit are searched in.
  • the value of the second preset bit corresponding to the value of the first preset bit is not searched in the above coding unit information table, or the value of the searched second preset bit is the same as the value of the above target coding unit If the value of the second preset bit in the 32-bit crc value is different, it is determined that the coordinate of the reference coding unit is not searched in the coding unit information table.
  • the method further includes:
  • the obtained value of the first preset bit and the value of the second preset bit, as well as the determined coordinates of the corresponding coding unit, are stored in the coding unit information table.
  • steps S305-S306 are implemented in the same manner as the foregoing steps S204-S205, and will not be repeated here.
  • the embodiments of the present disclosure can perform a segmented search in the information table based on the value of the first preset bit and the value of the second preset bit in the 32-bit crc value of the target coding unit, so that the information
  • the table can store information in segments, which saves storage space and is suitable for practical applications.
  • the embodiment of the present disclosure only opens the screen video coding tool for the screen video area, avoiding the waste of computing power by starting the screen video coding tool for all areas.
  • the 32-bit crc value of the brightness component of the CTU is calculated.
  • the first screen video encoding mode obtain the 32-bit crc value of the target coding unit, search for the coordinates of the reference coding unit in the coding unit information table established in the current frame, and perform the conversion between the target coding unit and the bit representation of the target coding unit. If there is no search Then, in the second screen video encoding mode, the above process is re-executed, and further, the use of multiple screen video encoding tools for repeated calculations is avoided, which causes the problem of calculation redundancy.
  • FIG. 4 is a schematic flowchart of another video processing method proposed by an embodiment of the disclosure.
  • the execution subject of this embodiment may be the encoder in the embodiment shown in FIG. 1. As shown in Figure 4, the method includes:
  • S402 In the first screen video coding mode, obtain the 32-bit crc value of the target coding unit according to the 32-bit crc value of the brightness component of the to-be-processed coding tree unit.
  • steps S401-S402 are implemented in the same manner as the foregoing steps S301-S302, and will not be repeated here.
  • S403 Determine whether the number of times of searching for the value of the second preset bit corresponding to the value of the first preset bit in the coding unit information table reaches the upper limit of the preset search times.
  • the above-mentioned preset upper limit of the number of searches can be set according to actual conditions, which is not particularly limited in the embodiment of the disclosure.
  • steps S405-S407 are implemented in the same manner as the foregoing steps S304-S306, and will not be repeated here.
  • the embodiment of the present disclosure solves the problem of excessive search times and slow encoding speed by setting a preset upper limit of the number of searches, and only opens the screen video encoding tool for the screen video area, avoiding opening the screen for all areas Video coding tools, there is a waste of computing power and poor coding effect for non-screen video areas.
  • FIG. 5 is a schematic flowchart of another video processing method proposed by an embodiment of the disclosure.
  • the execution subject of this embodiment may be the encoder in the embodiment shown in FIG. 1. As shown in Figure 5, the method includes:
  • S502 In the first screen video coding mode, obtain the 32-bit crc value of the target coding unit according to the 32-bit crc value of the brightness component of the to-be-processed coding tree unit.
  • steps S501-S503 are implemented in the same manner as the foregoing steps S301-S303, and will not be repeated here.
  • S505 Obtain the coding unit corresponding to the minimum cost value from the coding unit to be processed as the reference coding unit, and obtain the coordinates of the reference coding unit from the coding unit information table.
  • the cost value between the coding units to be processed corresponding to the value of the second preset bit searched by the target coding unit is respectively calculated, where the cost value may be the rate-distortion cost (RDcost), so that the aforementioned to-be-processed In the coding unit, the coding unit corresponding to the minimum cost value is obtained as the reference coding unit, and the best reference coding unit is found, so that the residual error is almost zero, which greatly improves the compression efficiency.
  • RDcost rate-distortion cost
  • steps S506-S507 are implemented in the same manner as the foregoing steps S305-S306, and will not be repeated here.
  • the video processing method provided by the embodiments of the present disclosure can search for matching reference blocks, so that the residual error is almost zero, and the compression efficiency is greatly improved.
  • the screen video encoding tool is only turned on for the screen video area, and the screen is not turned on for all areas.
  • Video coding tools the problem of wasting computing power and poor coding effect on non-screen video areas, and after determining that the current CTU is the screen video content, calculate the 32-bit crc value of the CTU brightness component, thus, in the first Screen video coding mode, according to the above 32-bit crc value, obtain the 32-bit crc value of the target coding unit, search for the coordinates of the reference coding unit in the coding unit information table established in the current frame, and execute the above-mentioned target coding unit and target coding unit If the conversion between bit representations is not found, in the second screen video encoding mode, the above process is re-executed, and further, the use of multiple screen video encoding tools for repeated calculations, which causes calculation redundancy, is avoided.
  • the foregoing coding unit information table is a hash table, in which the value of the first preset bit in the 32-bit crc value of the coding unit is used as a key, and the 32-bit crc value of the coding unit is used in the hash table.
  • the value of the second preset bit and the coordinate of the coding unit are values.
  • the embodiment of the present disclosure can also search for the value of the second preset bit corresponding to the value of the first preset bit in the above-mentioned hash table.
  • FIG. 6 is a schematic flowchart of another video processing method proposed by an embodiment of the disclosure.
  • the execution subject of this embodiment may be the encoder in the embodiment shown in FIG. 1. As shown in Figure 6, the method includes:
  • S601 If the coding tree unit to be processed is screen video content, determine the 32-bit crc value of the brightness component of the coding tree unit to be processed.
  • S602 In the first screen video coding mode, obtain the 32-bit crc value of the target coding unit according to the 32-bit crc value of the brightness component of the to-be-processed coding tree unit.
  • steps S601-S602 are implemented in the same manner as the foregoing steps S301-S302, and will not be repeated here.
  • S603 Use the value of the first preset bit in the 32-bit crc value of the target coding unit as the search key, and search for the value corresponding to the search key in the hash table.
  • the above-mentioned hash table can be set in each frame, and the hash table is a data structure that is directly accessed according to the key code value (key value), that is, (key value).
  • key value is the value of the first preset bit in the 32-bit crc value of the coding unit
  • value is the value and coordinate of the second preset bit in the 32-bit crc value of the coding unit.
  • a keyword may correspond to multiple values, connected by a linked list.
  • the value of the first preset bit in the 32-bit crc value of the target coding unit is first used as the search key, and the hash table is searched, and if it can be found, the value linked list is obtained. Traverse the value linked list, find the value of the second preset bit in the value equal to the second bit in the 32-bit crc value of the target coding unit, obtain the coordinates of the reference coding unit from this value, and then you can Calculate the motion vector and enter the subsequent coding step.
  • a hash table in subsequent video encoding, corresponding information can be directly obtained from the above-mentioned hash table, thereby reducing repeated calculations.
  • steps S605-S606 are implemented in the same manner as the foregoing steps S305-S306, and will not be repeated here.
  • the video processing method provided by the embodiments of the present disclosure establishes a hash table so that in subsequent video encoding, corresponding information can be directly obtained from the above hash table, reducing repeated calculations.
  • only the screen video area is enabled for screen video encoding.
  • the coding time is increased by 30-40% for scenes such as video conferences and screen sharing, and the code rate is reduced by 30%-70% under the same coding quality.
  • FIG. 7 is a schematic structural diagram of a video processing device provided in an embodiment of the disclosure. For ease of description, only parts related to the embodiments of the present disclosure are shown.
  • FIG. 7 is a schematic structural diagram of a video processing device provided by an embodiment of the disclosure. As shown in FIG. 7, the video processing device 70 includes: a determining module 701 and a processing module 702.
  • the determining module 701 is configured to determine the hash check value of the brightness component of the coding tree unit to be processed if the coding tree unit to be processed is screen video content.
  • the processing module 702 is configured to perform the following operations (1)-(3) in the first screen video processing mode:
  • the processing module 702 is further configured to perform the operations (1)-(3) again in the second screen video coding mode if the coordinates of the reference coding unit are not found in the coding unit information table. ).
  • the device provided in the embodiment of the present disclosure can be used to implement the technical solutions of the foregoing method embodiments, and its implementation principles and technical effects are similar, and the embodiments of the present disclosure will not be repeated here.
  • FIG. 8 is a schematic structural diagram of another video processing device provided by an embodiment of the disclosure. As shown in FIG. 8, on the basis of the embodiment in FIG. 7, the embodiment of the present disclosure further includes: a judgment module 703.
  • the judging module 703 is used to determine the color histogram of the brightness component of the coding tree unit to be processed; according to the number of non-zero values in the color histogram, and/or, The maximum value and the minimum value of the non-zero value determine whether the to-be-processed coding tree unit is the screen video content.
  • the determining module 703 determines whether the to-be-processed coding tree unit is the screen video content, including:
  • the to-be-processed coding tree unit is the screen video content
  • the difference between the maximum value of the non-zero value and the minimum value of the non-zero value is greater than or equal to a preset difference threshold, determining that the coding tree unit to be processed is the screen video content;
  • the to-be-processed coding tree unit is the screen video content.
  • the hash check value is a 32-bit crc value.
  • the processing module 702 searches for the coordinates of the reference coding unit in the established coding unit information table of the current frame according to the hash check value of the target coding unit, including:
  • the value of the searched second preset bit is the same as the value of the second preset bit in the 32-bit crc value of the target coding unit, then according to the searched second preset bit The value of the bit, the coordinates of the reference coding unit are obtained from the coding unit information table.
  • the processing module 702 is configured to, after the determining module 701 determines the hash check value of the luminance component of the coding tree unit to be processed, obtain the result from the luminance component of the coding tree unit to be processed Acquiring the value of the first preset bit and the value of the second preset bit in the 32-bit crc values of, and determining the coordinates of the corresponding coding unit;
  • the obtained value of the first preset bit, the value of the second preset bit, and the determined coordinates of the corresponding coding unit are stored in the coding unit information table.
  • the processing module 702 is further configured to:
  • the step of obtaining the hash check value of the target coding unit is performed.
  • the processing module 702 before the processing module 702 searches for the value of the second preset bit corresponding to the value of the first preset bit in the coding unit information table, it is further configured to:
  • the step of searching for the value of the second preset bit corresponding to the value of the first preset bit in the coding unit information table is performed .
  • the processing module 702 obtains the coordinates of the reference coding unit from the coding unit information table according to the searched value of the second preset bit, including:
  • the coding unit information table is a hash table, and the hash table uses the value of the first preset bit in the 32-bit crc value of the coding unit as the key, and the coding unit's
  • the value of the second preset bit in the 32-bit crc value and the coordinate of the coding unit are values;
  • the processing module 702 searches for the second preset bit value corresponding to the first preset bit value in the coding unit information table according to the value of the first preset bit in the 32-bit crc value of the target coding unit.
  • the value of preset bits includes:
  • the value of the first preset bit in the 32-bit crc value of the target coding unit is used as a search key, and the hash table is searched for a value corresponding to the search key.
  • the process The module 702 obtains the coordinates of the reference coding unit from the coding unit information table according to the searched value of the second preset bit, including:
  • the value of the second preset bit in the value corresponding to the search key found is the same as the value of the second preset bit in the 32-bit crc value of the target coding unit, then The coordinates of the reference coding unit are obtained from the value corresponding to the search key.
  • the device provided in the embodiment of the present disclosure can be used to implement the technical solutions of the foregoing method embodiments, and its implementation principles and technical effects are similar, and the embodiments of the present disclosure will not be repeated here.
  • the electronic device 900 may include a processing device (such as a central processing unit, a graphics processor, etc.) 901, which may be loaded from a storage device 908 according to a program stored in a read only memory (Read Only Memory, ROM for short) 902 Various appropriate actions and processing are executed by programs in random access memory (Random Access Memory, RAM for short) 903. In the RAM 903, various programs and data required for the operation of the electronic device 900 are also stored.
  • the processing device 901, the ROM 902, and the RAM 903 are connected to each other through a bus 904.
  • An input/output (I/O) interface 905 is also connected to the bus 904.
  • the following devices can be connected to the I/O interface 905: including input devices 906 such as touch screen, touch pad, keyboard, mouse, camera, microphone, accelerometer, gyroscope, etc.; including output such as LCD, speaker, vibrator, etc.
  • the device 907 includes a storage device 908 such as a magnetic tape, a hard disk, etc.; and a communication device 909.
  • the communication device 909 may allow the electronic device 900 to perform wireless or wired communication with other devices to exchange data.
  • FIG. 9 shows an electronic device 900 having various devices, it should be understood that it is not required to implement or have all of the illustrated devices. It may be implemented alternatively or provided with more or fewer devices.
  • an embodiment of the present disclosure includes a computer program product, which includes a computer program carried on a computer-readable medium, and the computer program contains program code for executing the method shown in the flowchart.
  • the computer program may be downloaded and installed from the network through the communication device 909, or installed from the storage device 908, or installed from the ROM 902.
  • the processing device 901 the above-mentioned functions defined in the method of the embodiment of the present disclosure are executed.
  • the above-mentioned computer-readable medium in the present disclosure may be a computer-readable signal medium or a computer-readable storage medium, or any combination of the two.
  • the computer-readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or a combination of any of the above. More specific examples of computer-readable storage media may include, but are not limited to: electrical connections with one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable Programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination of the above.
  • a computer-readable storage medium may be any tangible medium that contains or stores a program, and the program may be used by or in combination with an instruction execution system, apparatus, or device.
  • a computer-readable signal medium may include a data signal propagated in a baseband or as a part of a carrier wave, and a computer-readable program code is carried therein. This propagated data signal can take many forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the foregoing.
  • the computer-readable signal medium may also be any computer-readable medium other than the computer-readable storage medium.
  • the computer-readable signal medium may send, propagate, or transmit the program for use by or in combination with the instruction execution system, apparatus, or device .
  • the program code contained on the computer-readable medium can be transmitted by any suitable medium, including but not limited to: wire, optical cable, RF (Radio Frequency), etc., or any suitable combination of the above.
  • the above-mentioned computer-readable medium may be included in the above-mentioned electronic device; or it may exist alone without being assembled into the electronic device.
  • the foregoing computer-readable medium carries one or more programs, and when the foregoing one or more programs are executed by the electronic device, the electronic device is caused to execute the method shown in the foregoing embodiment.
  • the computer program code used to perform the operations of the present disclosure may be written in one or more programming languages or a combination thereof.
  • the above-mentioned programming languages include object-oriented programming languages—such as Java, Smalltalk, C++, and also conventional Procedural programming language-such as "C" language or similar programming language.
  • the program code can be executed entirely on the user's computer, partly on the user's computer, executed as an independent software package, partly on the user's computer and partly executed on a remote computer, or entirely executed on the remote computer or server.
  • the remote computer can be connected to the user's computer through any kind of network-including Local Area Network (LAN) or Wide Area Network (WAN)-or it can be connected to the outside Computer (for example, using an Internet service provider to connect via the Internet).
  • LAN Local Area Network
  • WAN Wide Area Network
  • each block in the flowchart or block diagram may represent a module, program segment, or part of code, and the module, program segment, or part of code contains one or more for realizing the specified logical function Executable instructions.
  • the functions marked in the block may also occur in a different order from the order marked in the drawings. For example, two blocks shown one after another can actually be executed substantially in parallel, and they can sometimes be executed in the reverse order, depending on the functions involved.
  • each block in the block diagram and/or flowchart, and the combination of the blocks in the block diagram and/or flowchart can be implemented by a dedicated hardware-based system that performs the specified functions or operations Or it can be realized by a combination of dedicated hardware and computer instructions.
  • the units involved in the embodiments described in the present disclosure can be implemented in software or hardware. Wherein, the name of the unit does not constitute a limitation on the unit itself under certain circumstances.
  • the first obtaining unit can also be described as "a unit for obtaining at least two Internet Protocol addresses.”
  • exemplary types of hardware logic components include: Field Programmable Gate Array (FPGA), Application Specific Integrated Circuit (ASIC), Application Specific Standard Product (ASSP), System on Chip (SOC), Complex Programmable Logical device (CPLD) and so on.
  • FPGA Field Programmable Gate Array
  • ASIC Application Specific Integrated Circuit
  • ASSP Application Specific Standard Product
  • SOC System on Chip
  • CPLD Complex Programmable Logical device
  • a machine-readable medium may be a tangible medium, which may contain or store a program for use by the instruction execution system, apparatus, or device or in combination with the instruction execution system, apparatus, or device.
  • the machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium.
  • the machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or device, or any suitable combination of the foregoing.
  • machine-readable storage media would include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination of the above.
  • RAM random access memory
  • ROM read-only memory
  • EPROM or flash memory erasable programmable read-only memory
  • CD-ROM compact disk read-only memory
  • magnetic storage device or any suitable combination of the above.
  • a video processing method including:
  • the coding tree unit to be processed is screen video content, determining the hash check value of the brightness component of the coding tree unit to be processed;
  • the method further includes:
  • the to-be-processed coding tree unit is the screen video content.
  • the determining whether the to-be-processed coding tree unit is the screen video content includes:
  • the to-be-processed coding tree unit is the screen video content
  • the difference between the maximum value of the non-zero value and the minimum value of the non-zero value is greater than or equal to a preset difference threshold, determining that the coding tree unit to be processed is the screen video content;
  • the to-be-processed coding tree unit is the screen video content.
  • the hash check value is a 32-bit crc value.
  • the searching for the coordinates of the reference coding unit in the established coding unit information table of the current frame according to the hash check value of the target coding unit includes:
  • the value of the searched second preset bit is the same as the value of the second preset bit in the 32-bit crc value of the target coding unit, then according to the searched second preset bit The value of the bit, the coordinates of the reference coding unit are obtained from the coding unit information table.
  • the method further includes:
  • the obtained value of the first preset bit, the value of the second preset bit, and the determined coordinates of the corresponding coding unit are stored in the coding unit information table.
  • the method before the obtaining the hash check value of the target coding unit, the method further includes:
  • the step of obtaining the hash check value of the target coding unit is performed.
  • the method before searching for the value of the second preset bit corresponding to the value of the first preset bit in the coding unit information table, the method further includes:
  • the step of searching for the value of the second preset bit corresponding to the value of the first preset bit in the coding unit information table is performed .
  • the obtaining the coordinates of the reference coding unit from the coding unit information table according to the searched value of the second preset bit includes:
  • the coding unit information table is a hash table, and the hash table uses the value of the first preset bit in the 32-bit crc value of the coding unit as the key, and The value of the second preset bit in the 32-bit crc value of the coding unit and the coordinate of the coding unit are values;
  • the searching for a second preset bit corresponding to the value of the first preset bit in the coding unit information table according to the value of the first preset bit in the 32-bit crc value of the target coding unit includes:
  • the value of the first preset bit in the 32-bit crc value of the target coding unit is used as a search key, and the hash table is searched for a value corresponding to the search key.
  • Obtaining the coordinates of the reference coding unit from the coding unit information table according to the searched value of the second preset bit includes:
  • the value of the second preset bit in the value corresponding to the search key found is the same as the value of the second preset bit in the 32-bit crc value of the target coding unit, then The coordinates of the reference coding unit are obtained from the value corresponding to the search key.
  • a video processing device including:
  • a determining module configured to determine the hash check value of the brightness component of the coding tree unit to be processed if the coding tree unit to be processed is screen video content
  • the processing module is used to perform the following operations (1)-(3) in the first screen video processing mode:
  • the processing module is further configured to perform the operations (1)-(3) again in the second screen video coding mode if the coordinates of the reference coding unit are not found in the coding unit information table .
  • the device further includes: a judgment module, configured to determine the color histogram of the brightness component of the coding tree unit to be processed;
  • the to-be-processed coding tree unit is the screen video content.
  • the determining module determining whether the to-be-processed coding tree unit is the screen video content includes:
  • the to-be-processed coding tree unit is the screen video content
  • the difference between the maximum value of the non-zero value and the minimum value of the non-zero value is greater than or equal to a preset difference threshold, determining that the coding tree unit to be processed is the screen video content;
  • the to-be-processed coding tree unit is the screen video content.
  • the hash check value is a 32-bit crc value.
  • the processing module searches for the coordinates of the reference coding unit in the established coding unit information table of the current frame according to the hash check value of the target coding unit, including:
  • the value of the searched second preset bit is the same as the value of the second preset bit in the 32-bit crc value of the target coding unit, then according to the searched second preset bit The value of the bit, the coordinates of the reference coding unit are obtained from the coding unit information table.
  • the processing module before the obtaining the hash check value of the target coding unit, the processing module is further configured to:
  • the step of obtaining the hash check value of the target coding unit is performed.
  • an electronic device including: at least one processor and a memory;
  • the memory stores computer execution instructions
  • the at least one processor executes the computer-executable instructions stored in the memory, so that the at least one processor executes the video processing method described in the first aspect and various possible designs of the first aspect.
  • a computer-readable storage medium stores computer-executable instructions.
  • a processor executes the computer-executable instructions, The video processing method described in the above first aspect and various possible designs of the first aspect is implemented.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本公开实施例提供一种视频处理方法、装置及电子设备,该方法仅对屏幕视频区域开启屏幕视频编码工具,避免对所有区域都开启屏幕视频编码工具,出现的浪费计算能力,且对非屏幕视频区域编码效果不佳的问题,另外,在确定当前编码树单元(CTU)为屏幕视频内容后,计算CTU亮度分量的哈希校验值,从而,在第一屏幕视频编码模式,根据哈希校验值,获取目标编码单元哈希校验值,在当前帧已建立的编码单元信息表中搜索参考编码单元的坐标,执行目标编码单元与目标编码单元的比特表示之间的转换,如果没有搜索到,则在第二屏幕视频编码模式,重新执行上述流程,进而,避免采用多种屏幕视频编码工具进行重复计算,造成计算冗余的问题。

Description

视频处理方法、装置及电子设备
本申请要求于2020年01月22日提交中国专利局、申请号为202010074803.7、申请名称为“视频处理方法、装置及电子设备”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本公开实施例涉及编码技术领域,尤其涉及一种视频处理方法、装置及电子设备。
背景技术
随着信息技术的发展,高清晰度电视、网络会议、交互式网络电视(IPTV)、三维(3D)电视等视频图像业务迅速发展,视频图像信号以其直观性和高效性等优势成为人们日常生活中获取信息最主要的方式。以屏幕视频为例,屏幕视频内容是计算机、手机等终端的图像显示器里直接捕捉到的视频内容,主要包括计算机图形,文字文档,自然视频和图形文字混合图像,计算机生成图像等。屏幕视频编码在桌面共享、视频会议、在线教育、云游戏等领域有广泛应用前景。
相关技术中,hevc scc在hevc/h.265上针对屏幕视频内容提出拓展提案。hevc scc编码工具主要包括帧内块拷贝(intra block copy,简称IBC),基于hash(哈希)的运动搜索(hash motion estimation,简称hashme)、palette(调色板编码)以及自适应颜色空间转换(Adaptive color transform,简称ACT)等。
然而,现有视频编码通常对所有区域都开启上述编码工具,浪费计算能力,而且对非屏幕视频区域编码效果也不佳。另外,上述编码工具编码效果相似,但现有视频编码会分别采用上述编码工具进行重复计算,造成计算冗余的问题。
发明内容
本公开实施例提供一种视频处理方法、装置及电子设备,以克服现有视频编码浪费计算能力、编码效果不佳,以及计算冗余的问题。
第一方面,本公开实施例提供一种视频处理方法,包括:
若待处理编码树单元为屏幕视频内容,则确定所述待处理编码树单元的亮度分量的哈希校验值;
在第一屏幕视频编码模式,执行以下操作(1)-(3):
(1)根据所述待处理编码树单元的亮度分量的哈希校验值,获取目标编码单元的哈希校验值;
(2)根据所述目标编码单元的哈希校验值,在当前帧已建立的编码单元信息表中搜索参考编码单元的坐标;
(3)若在所述编码单元信息表中搜索到所述参考编码单元的坐标,则根据所述参考编码单元的坐标,执行所述目标编码单元与所述目标编码单元的比特表示之间的转换;
若在所述编码单元信息表中没有搜索到所述参考编码单元的坐标,则在第二屏幕视频编码模式下,重新执行所述操作(1)-(3)。
第二方面,本公开实施例提供一种视频处理装置,包括:
确定模块,用于若待处理编码树单元为屏幕视频内容,则确定所述待处理编码树单元的亮度分量的哈希校验值;
处理模块,用于在第一屏幕视频处理模式,执行以下操作(1)-(3):
(1)根据所述待处理编码树单元的亮度分量的哈希校验值,获取目标编码单元的哈希校验值;
(2)根据所述目标编码单元的哈希校验值,在当前帧已建立的编码单元信息表中搜索参考编码单元的坐标;
(3)若在所述编码单元信息表中搜索到所述参考编码单元的坐标,则根据所述参考编码单元的坐标,执行所述目标编码单元与所述目标编码单元的比特表示之间的转换;
所述处理模块,还用于若在所述编码单元信息表中没有搜索到所述参考编码单元的坐标,则在第二屏幕视频编码模式下,重新执行所述操作(1)-(3)。
第三方面,本公开实施例提供一种电子设备,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如上第一方面以及第一方面各种可能的设计所述的视频处理方法。
第四方面,本公开实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上第一方面以及第一方面各种可能的设计所述的视频处理方法。
本公开实施例提供的视频处理方法、装置及电子设备,该方法仅对屏幕视频区域开启屏幕视频编码工具,避免对所有区域都开启屏幕视频编码工具,出现的浪费计算能力,且对非屏幕视频区域编码效果不佳的问题,另外,在确定当前编码树单元(CTU)为屏幕视频内容后,计算CTU亮度分量的哈希校验值,从而,在第一屏幕视频编码模式,根据上述哈希校验值,获取目标编码单元的哈希校验值,在当前帧已建立的编码单元信息表中搜索参考编码单元的坐标,执行上述目标编码单元与目标编码单元的比特表示之间的转换,如果没有搜索到,则在第二屏幕视频编码模式,重复执行上述流程,进而,避免采用多种屏幕视频编码工具进行重复计算,造成计算冗余的问题。
附图说明
图1为本公开实施例提供的一种视频处理系统架构示意图;
图2为本公开实施例提供的一种视频处理方法的流程示意图;
图3为本公开实施例提供的另一种视频处理方法的流程示意图;
图4为本公开实施例提供的再一种视频处理方法的流程示意图;
图5为本公开实施例提供的又一种视频处理方法的流程示意图;
图6为本公开实施例提供的又一种视频处理方法的流程示意图;
图7为本公开实施例提供的一种视频处理装置的结构示意图;
图8为本公开实施例提供的另一种视频处理装置的结构示意图;
图9为本公开实施例提供的电子设备的硬件结构示意图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
首先对本公开所涉及的名词进行解释:
视频编码:通常是指处理形成视频或视频序列的图片序列。在视频编码领域,术语“图片(piCTUre)”、“帧(frame)”或“图像(image)”可以用作同义词。本公开中视频编码在源侧执行,通常包括处理(例如,通过压缩)原始视频图片以减少表示该视频图片所需的数据量(从而更高效地存储和/或传输)。视频解码在目的地侧执行,通常包括相对于编码器作逆处理,以重构视频图片。
如本公开中所用,术语“块”可以为图片或帧的一部分。为便于描述,参考多用途视频编码(Versatile Video Coding,简称VVC)或由ITU-T视频编码专家组(Video Coding Experts Group,简称VCEG)和ISO/IEC运动图像专家组(Motion PiCTUre Experts Group,简称MPEG)的视频编码联合工作组(Joint Collaboration Team on Video Coding,简称JCT-VC)开发的高效视频编码(High-Efficiency Video Coding,简称HEVC)描述本公开实施例。在HEVC中,通过使用表示为编码树的四叉树结构将编码树单元拆分为多个编码单元(Coding Unit,简称CU)。其中,CU即编码单元,通常对应于一个A×B的矩形区域,包含A×B亮度像素和它对应的色度像素,A为矩形的宽,B为矩形的高,A和B可以相同也可以不同,A和B的取值通常为2的整数次幂,例如128、64、32、16、8、4。一个编码单元可通过解码处理解码得到一个A×B的矩形区域的重建图像,解码处理通常包括预测、反量化、反变换等处理,产生预测图像和残差,预测图像和残差叠加后得到重建图像。CTU即编码树单元,一幅图像由多个CTU构成,一个CTU通常对应于一个方形图像区域,包含这个图像区域中的亮度像素和色度像素(或者也可以只包含亮度像素,或者也可以只包含色度像素);CTU中还包含语法元素,这些语法元素指示如何将CTU划分成至少一个CU,以及解码每个编码单元得到重建图像的方法。
现有屏幕视频内容是计算机、手机等终端的图像显示器里直接捕捉到的视频内容,主要包括计算机图形,文字文档,自然视频和图形文字混合图像,计算机生成图像等。相关技术中,hevc scc在hevc/h.265上针对屏幕视频内容提出拓展提案。hevc scc编码工具主要包括IBC、hashme、palette、ACT等。
然而,现有视频编码通常对所有区域都开启上述编码工具,浪费计算能力,而且 对非屏幕视频区域编码效果也不佳。另外,上述编码工具编码效果相似,但现有视频编码会分别采用上述编码工具进行重复计算,造成计算冗余的问题。
因此,考虑到上述问题,本公开提供一种视频处理方法,仅对屏幕视频区域开启屏幕视频编码工具,避免对所有区域都开启屏幕视频编码工具,出现的浪费计算能力,且对非屏幕视频区域编码效果不佳的问题,另外,在确定当前CTU为屏幕视频内容后,计算CTU亮度分量的哈希校验值,从而,在第一屏幕视频编码模式,根据上述哈希校验值,获取目标编码单元的哈希校验值,在当前帧已建立的编码单元信息表中搜索参考编码单元的坐标,执行上述目标编码单元与目标编码单元的比特表示之间的转换,如果没有搜索到,则在第二屏幕视频编码模式,重复执行上述流程,进而,避免采用多种屏幕视频编码工具进行重复计算,造成计算冗余的问题。
本公开提供的一种视频处理方法,可以适用于图1所示的视频处理系统架构示意图,如图1所示,视频处理系统10包括源设备12和目标设备14,源设备12包括:图片获取装置121、预处理器122、编码器123和通信接口124。目标设备14包括:显示设备141、处理器142、解码器143和通信接口144。源设备12将编码得到的编码数据13发送给目标设备14。本公开的方法应用于编码器123。
其中,源设备12可称为视频编码设备或视频编码装置。目标设备14可称为视频解码设备或视频解码装置。源设备12以及目标设备14可以是视频编码设备或视频编码装置的实例。
源设备12和目标设备14可以包括各种设备中的任一个,包含任何类别的手持或静止设备,例如,笔记本或膝上型计算机、移动电话、智能电话、平板或平板计算机、摄像机、台式计算机、机顶盒、电视、显示设备、数字媒体播放器、视频游戏控制台、视频流式传输设备(例如内容服务服务器或内容分发服务器)、广播接收器设备、广播发射器设备等,并可以不使用或使用任何类别的操作系统。
在一些情况下,源设备12和目标设备14可以经装备以用于无线通信。因此,源设备12和目标设备14可以为无线通信设备。
在一些情况下,图1中所示视频处理系统10仅为示例,本公开的技术可以适用于不必包含编码和解码设备之间的任何数据通信的视频编码设置(例如,视频编码或视频解码)。在其它实例中,数据可从本地存储器检索、在网络上流式传输等。视频编码设备可以对数据进行编码并且将数据存储到存储器,和/或视频解码设备可以从存储器检索数据并且对数据进行解码。在一些实例中,由并不彼此通信而是仅编码数据到存储器和/或从存储器检索数据且解码数据的设备执行编码和解码。
在一些情况下,视频处理系统10的编码器123也可以称为视频编码器,解码器143也可以称为视频解码器。
在一些情况下,图片获取装置121可以包括或可以为任何类别的图片捕获设备,用于例如捕获现实世界图片,和/或任何类别的图片或评论(对于屏幕内容编码,屏幕上的一些文字也认为是待编码的图片或图像的一部分)生成设备,例如,用于生成计算机动画图片的计算机图形处理器,或用于获取和/或提供现实世界图片、计算机动画图片(例如,屏幕内容、虚拟现实(virtual reality,简称VR)图片)的任何类别设备,和/或其任何组合(例如,实景(augmented reality,简称AR)图片)。其中,图片为 或者可以视为具有亮度值的采样点的二维阵列或矩阵。以阵列为例,阵列中的采样点也可以称为像素(pixel)或像素(piCTUre element,简称pel)。阵列在水平和垂直方向(或轴线)上的采样点数目定义图片的尺寸和/或分辨率。为了表示颜色,通常采用三个颜色分量,即图片可以表示为或包含三个采样阵列。RBG格式或颜色空间中,图片包括对应的红色、绿色及蓝色采样阵列。但是,在视频编码中,每个像素通常以亮度/色度格式或颜色空间表示,例如,YCbCr,包括Y指示的亮度(简写为luma)分量(有时也可以用L指示)以及Cb和Cr指示的两个色度(简写为chroma)分量。亮度分量Y表示亮度或灰度水平强度(例如,在灰度等级图片中两者相同),而两个色度分量Cb和Cr表示色度或颜色信息分量。相应地,YCbCr格式的图片包括亮度分量(Y)的亮度采样阵列,和色度分量(Cb和Cr)的两个色度采样阵列。RGB格式的图片可以转换或变换为YCbCr格式,反之亦然,该过程也称为色彩变换或转换。
另外,图片获取装置121可以为,例如用于捕获图片的相机,例如图片存储器的存储器,包括或存储先前捕获或产生的图片,和/或获取或接收图片的任何类别的(内部或外部)接口。其中,相机可以为,例如,本地的或集成在源设备中的集成相机,存储器可为本地的或例如集成在源设备中的集成存储器。接口可以为,例如,从外部视频源接收图片的外部接口,这里,外部视频源例如为外部图片捕获设备,比如相机、外部存储器或外部图片生成设备,外部图片生成设备例如为外部计算机图形处理器、计算机或服务器。另外,接口可以为根据任何专有或标准化接口协议的任何类别的接口,例如有线或无线接口、光接口。图1中获取图片数据125的接口可以是与通信接口124相同的接口或是通信接口124的一部分。其中,图片数据125(例如,视频数据)可以称为原始图片或原始图片数据。
在一些情况下,预处理器122用于接收图片数据125并对图片数据125执行预处理,以获取经预处理的图片(或经预处理的图片数据)126。其中,预处理器122执行的预处理可以包括整修、色彩格式转换(例如,从RGB转换为YCbCr)、调色或去噪。可以理解,预处理器122可以是可选组件。
在一些情况下,编码器123(例如,视频编码器)用于接收经预处理的图片(或经预处理的图片数据)126并提供经编码图片数据127。
在一些情况下,源设备12的通信接口124可以用于接收经编码图片数据127并传输至其它设备,例如,目标设备14或任何其它设备,以用于存储或直接重构,或用于在对应地存储编码数据13和/或传输编码数据13至其它设备之前处理经编码图片数据127,其它设备例如为目标设备14或任何其它用于解码或存储的设备。目标设备14的通信接口144用于例如,直接从源设备12或任何其它源接收经编码图片数据127或编码数据13,任何其它源例如为存储设备,存储设备例如为经编码图片数据存储设备。
其中,通信接口124和通信接口144可以用于藉由源设备12和目标设备14之间的直接通信链路或藉由任何类别的网络传输或接收经编码图片数据127或编码数据13,直接通信链路例如为直接有线或无线连接,任何类别的网络例如为有线或无线网络或其任何组合,或任何类别的私网和公网,或其任何组合。通信接口124可以例如用于将经编码图片数据127封装成合适的格式,例如包,以在通信链路或通信网络上传输。 形成通信接口124的对应部分的通信接口144可以例如用于解封装编码数据13,以获取经编码图片数据127。通信接口124和通信接口144都可以配置为单向通信接口,如图1中用于经编码图片数据127的从源设备12指向目标设备14的箭头所指示,或配置为双向通信接口,以及可以用于例如发送和接收消息来建立连接、确认和交换任何其它与通信链路和/或例如经编码图片数据传输的数据传输有关的信息。
在一些情况下,解码器143用于接收经编码图片数据127并提供经解码图片数据(或经解码图片)145。
在一些情况下,目标设备14的处理器142用于后处理经解码图片数据(或经解码图片)145,例如,经解码图片,以获取经后处理图片数据146,例如,经后处理图片。处理器142执行的后处理可以包括,例如,色彩格式转换(例如,从YCbCr转换为RGB)、调色、整修或重采样,或任何其它处理,用于例如准备经解码图片数据(或经解码图片)145以由显示设备141显示。
在一些情况下,目标设备14的显示设备141用于接收经后处理图片数据145以向例如用户或观看者显示图片。显示设备141可以为或可以包括任何类别的用于呈现经重构图片的显示器,例如,集成的或外部的显示器或监视器。例如,显示器可以包括液晶显示器(liquid crystal display,简称LCD)、有机发光二极管(organic light emitting diode,简称OLED)显示器、等离子显示器、投影仪、微LED显示器、硅基液晶(liquid crystal on silicon,简称LCoS)、数字光处理器(digital light processor,简称DLP)或任何类别的其它显示器。
另外,虽然图1将源设备12和目标设备14绘示为单独的设备,但设备实施例也可以同时包括源设备12和目标设备14或同时包括两者的功能性,即源设备12或对应的功能性以及目标设备14或对应的功能性。在此类实施例中,可以使用相同硬件和/或软件,或使用单独的硬件和/或软件,或其任何组合来实施源设备12或对应的功能性以及目标设备14或对应的功能性。不同单元的功能性或图1所示的源设备12和/或目标设备14的功能性的存在和(准确)划分可能根据实际设备和应用有所不同。
在一些情况下,编码器123(例如,视频编码器)和解码器143(例如,视频解码器)都可以实施为各种合适电路中的任一个,例如,一个或多个微处理器、数字信号处理器(digital signal processor,简称DSP)、专用集成电路(application-specific integrated circuit,简称ASIC)、现场可编程门阵列(field-programmable gate array,简称FPGA)、离散逻辑、硬件或其任何组合。如果部分地以软件实施所述技术,则设备可将软件的指令存储于合适的非暂时性计算机可读存储介质中,且可使用一或多个处理器以硬件执行指令从而执行本公开的技术。前述内容(包含硬件、软件、硬件与软件的组合等)中的任一者可视为一或多个处理器。编码器123和解码器143中的每一个可以包含在一或多个编码器或解码器中,所述编码器或解码器中的任一个可以集成为对应设备中的组合编码器/解码器(编解码器)的一部分。
应理解,对于以上参考编码器123所描述的实例中的每一个,解码器143可以用于执行相反过程。关于信令语法元素,解码器143可以用于接收并解析这种语法元素,相应地解码相关视频数据。在一些例子中,编码器123可以将一个或多个定义的语法元素熵编码成经编码视频比特流。在此类实例中,解码器143可以解析这种语法元素, 并相应地解码相关视频数据。
下面以具体地实施例对本公开的技术方案以及本公开的技术方案如何解决上述技术问题进行详细说明。下面这几个具体地实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本公开的实施例进行描述。
图2为本公开实施例提供的一种视频处理方法的流程示意图,本公开实施例的执行主体可以为上述实施例中的编码器。如图2所示,该方法可以包括:
S201:若待处理编码树单元为屏幕视频内容,则确定上述待处理编码树单元的亮度分量的哈希校验值。
这里,上述待处理编码树单元可以根据实际情况确定,本公开实施例对比不做特别限制。
可选地,上述方法还包括:
判断上述待处理编码树单元是否为屏幕视频内容。
示例性的,确定上述待处理编码树单元的亮度分量的颜色直方图,例如hist[i](对于8bit位宽,i=0,1,2…255)。
根据上述颜色直方图中的非零值的个数,和/或,上述非零值的最大值和最小值,确定上述待处理编码树单元是否为屏幕视频内容。
具体的,若统计上述颜色直方图中非零值的个数大于零,且上述非零值的个数小于或等于预设个数阈值,则判定上述待处理编码树单元为屏幕视频内容。
其中,上述预设个数阈值可以根据实际情况设置,本公开实施例对此不做特别限制。例如,统计hist[i]中非零的个数numDiffLuma,如果0<numDiffLuma<=alpha,则判定上述待处理编码树单元为屏幕视频内容,alpha为上述预设个数阈值。
另外,若上述非零值对应的最大值与上述非零值对应的最小值的差值大于或等于预设差值阈值,则判定上述待处理编码树单元为屏幕视频内容。
这里,上述预设差值阈值可以根据实际情况设置,本公开实施例对此不做特别限制。例如,统计hist[i]中非零值对应的最大和最小下标值i,分别记为vMin,vMax,如果vMax-vMin>=gama,则当判定上述待处理编码树单元为屏幕视频内容,gama为上述预设差值阈值。
还有,若多个预设非零值的相加之和,大于上述待处理编码树单元拆分的编码单元的大小的预设倍数,则判定上述待处理编码树单元为所述屏幕视频内容。
其中,预设非零值可以根据实际情况设置,例如,确定hist[i]中最大的5个值,求和得到top5sum。上述预设倍数可以根据实际情况设置,本公开实施例对此不做特别限制。例如,如果上述top5sum大于当前编码树单元拆分的编码单元的大小的beta倍,则判定上述待处理编码树单元为所述屏幕视频内容,beta倍为上述预设倍数。
这里,本公开实施例提到的如何判断上述待处理编码树单元是否为屏幕视频内容可以独立于图2所示的方法存在。例如,在根据以下方法确定是屏幕视频内容时,若上述颜色直方图中非零值的个数为零,或者上述非零值的个数大于上述预设个数阈值,则获取上述非零值对应的最大值和最小值。若上述非零值对应的最大值与上述非零值对应的最小值的差值大于或等于预设差值阈值,则判定上述待处理编码树单元为屏幕 视频内容。
另外,若上述非零值的最大值与所述非零值的最小值的差值小于上述预设差值阈值,则确定上述颜色直方图中多个预设非零值的相加之和。若上述多个预设非零值的相加之和,大于上述待处理编码树单元拆分的编码单元的大小的预设倍数,则判定上述待处理编码树单元为所述屏幕视频内容。
这样通过判断待处理编码树单元为屏幕视频内容,使得后续仅对屏幕视频区域开启屏幕视频编码工具,避免对所有区域都开启屏幕视频编码工具,出现的浪费计算能力,且对非屏幕视频区域编码效果不佳的问题。
可选地,上述哈希校验值为32位循环冗余校验(cyclic redundancy check,简称crc)值。
可选地,上述确定待处理编码树单元的亮度分量的哈希校验值,可以包括:
对上述待处理编码树单元的亮度分量的每一像素位置的像素值进行并行处理,获得上述待处理编码树单元的亮度分量的每一像素位置的32位crc值。
另外,上述确定待处理编码树单元的亮度分量的哈希校验值,还可以包括:
对上述待处理编码树单元的亮度分量的每一像素位置的像素值进行合并,获得32位像素值;
根据上述32位像素值,采用32位crc值的计算函数,获得上述待处理编码树单元的亮度分量的32位crc值。
这里,上述待处理编码树单元的32位crc值可以通过并行计算,和/或,在计算过程中对像素值的合并,提高计算速度,进而,提高编码速度。
其中,上述32位crc值的计算函数可以根据实际情况确定,本公开实施例对比不做特别限制。例如在一些情况下,上述32位crc值的计算函数可以为x 32+x 26+x 23+x 22+x 16+x 12+x 11+x 10+x 8+x 7+x 5+x 4+x 2+x+1。
这里,上述获得上述待处理编码树单元的亮度分量的32位crc值,可以包括:
根据上述32位像素值,采用上述32位crc值的计算函数,获得待处理32位crc值;
根据上述待处理32位crc值,采用随机计算函数,获得上述待处理编码树单元的亮度分量的32位crc值。
其中,上述随机计算函数也可以根据实际情况确定,本公开实施例对比不做特别限制。
这里,对于像素值有差异的两个块,采用上述32位crc值的计算函数,可以获得不一样的待处理32位crc值。但是考虑到后续处理会对32位crc值进行分段,例如后续在搜索参考编码单元时,根据上述目标编码单元的32位crc值中第一预设比特位的值和第二预设比特位的值,在编码单元信息表中进行分段搜索,可能会出现分段后的crc值相同的情况。为了解决该问题,本公开实施例进一步采用随机计算函数,基于上述待处理32位crc值,获得上述待处理编码树单元的亮度分量的32位crc值,保证像素值有差异的两个块的32位crc值在后续分段处理后,分段后的crc值也不同,进而,保证后续处理正常进行。
另外,上述32位crc值可以为fastcrc32值。
S202:在第一屏幕视频处理模式,根据上述待处理编码树单元的亮度分量的哈希校验值,获取目标编码单元的哈希校验值。
这里,进入cu编码层,在上述获取目标编码单元的哈希校验值之前,还包括:
判断上述目标编码单元的大小是否为预设大小;
若上述目标编码单元的大小为上述预设大小,则执行上述获取目标编码单元的哈希校验值的步骤,否则,停止操作,可以进行相应提示,例如上述目标编码单元的大小不为上述预设大小。
其中,上述预设大小可以根据实际情况设置,本公开实施例对此不做特别限制,例如判断上述目标编码单元的大小是否为8*8。上述目标编码单元可以根据实际情况确定,本公开实施例对比不做特别限制。
另外,上述第一屏幕视频处理模式也可以根据实际情况设置,例如IBC编码模式,在IBC编码模式,根据上述待处理编码树单元的亮度分量的哈希校验值,获取目标编码单元的哈希校验值。
S203:根据上述目标编码单元的哈希校验值,在当前帧已建立的编码单元信息表中搜索参考编码单元的坐标。
其中,上述编码单元信息表可以预存多个编码单元的哈希校验值与编码单元的坐标的对应关系。
以IBC编码模式为例,编码器以目标编码单元的哈希校验值,在上述编码单元信息表的上述对应关系中搜索与上述哈希校验值对应的编码单元的坐标。
S204:若在上述编码单元信息表中搜索到上述参考编码单元的坐标,则根据上述参考编码单元的坐标,执行上述目标编码单元与目标编码单元的比特表示之间的转换。
这里,如果搜索到参考编码单元的坐标,则根据参考编码单元的坐标,执行上述目标编码单元与目标编码单元的比特表示之间的转换。
其中,目标编码单元向目标编码单元的比特表示转换表示进行编码,目标编码单元的比特表示向目标编码单元转换表示进行解码。
S205:若在上述编码单元信息表中没有搜索到上述参考编码单元的坐标,则在第二屏幕视频编码模式下,重新执行上述在第一屏幕视频编码模式执行的操作。
其中,第二屏幕视频编码模式与第一屏幕视频编码模式不同。在上述第一屏幕视频编码模式编码失败后,采用其它屏幕视频编码模式进行编码。
示例性的,如果当前帧为P帧或B帧,尝试哈希me编码模式,根据上述待处理编码树单元的亮度分量的哈希校验值,获取目标编码单元的哈希校验值,进而,根据目标编码单元的哈希校验值,在当前帧已建立的编码单元信息表中搜索参考编码单元的坐标,如果搜索到,根据参考编码单元的坐标,执行上述目标编码单元与目标编码单元的比特表示之间的转换,否则,在第三屏幕视频编码模式进行编码,直至编码成功,例如第一屏幕视频编码模式为IBC编码模式,第二屏幕视频编码模式为哈希me编码模式,第三屏幕视频编码模式可以尝试palette模式,执行palatte编码流程,从而解决多种屏幕编码工具效果相似,但多次计算造成计算冗余的问题。
从上述描述可知,本公开实施例仅对屏幕视频区域开启屏幕视频编码工具,避免对所有区域都开启屏幕视频编码工具,出现的浪费计算能力,且对非屏幕视频区域编 码效果不佳的问题,另外,在确定当前CTU为屏幕视频内容后,计算CTU亮度分量的哈希校验值,从而,在第一屏幕视频编码模式,根据上述哈希校验值,获取目标编码单元的哈希校验值,在当前帧已建立的编码单元信息表中搜索参考编码单元的坐标,执行目标编码单元与目标编码单元的比特表示之间的转换,如果没有搜索到,则在第二屏幕视频编码模式,重新执行上述流程,进而,避免采用多种屏幕视频编码工具进行重复计算,造成计算冗余的问题。
另外,上述哈希校验值为32位crc值,本公开实施例在上述编码单元信息表中搜索参考编码单元的坐标时,还能够基于目标编码单元的32位crc值中第一预设比特位的值和第二预设比特位的值,搜索参考编码单元的坐标。图3为本公开实施例提出的另一种视频处理方法的流程示意图,本实施例的执行主体可以为图1所示实施例中的编码器。如图3所示,该方法包括:
S301:若待处理编码树单元为屏幕视频内容,则确定上述待处理编码树单元的亮度分量的32位crc值。
S302:在第一屏幕视频编码模式,根据上述待处理编码树单元的亮度分量的32位crc值,获取目标编码单元的32位crc值。
其中,步骤S301-S302与上述步骤S201-S202的实现方式相同,此处不再赘述。
S303:根据上述目标编码单元的32位crc值中第一预设比特位的值,在编码单元信息表中搜索与上述第一预设比特位的值对应的第二预设比特位的值。
这里,上述第一预设比特位和第二预设比特位可以根据实际情况设置,例如以上述32位crc值中的高16比特位作为上述第一预设比特位,以上述32位crc值中的低16比特位作为上述第二预设比特位。
上述编码单元信息表可以预存多个编码单元的32位crc值中第一预设比特位的值、第二预设比特位的值,以及编码单元的坐标的对应关系。
编码器可以以目标编码单元的32位crc值中第一预设比特位的值,在上述编码单元信息表的上述对应关系中搜索与上述第一预设比特位的值对应的第二预设比特位的值。
S304:若搜索到的上述第二预设比特位的值与上述目标编码单元的32位crc值中第二预设比特位的值相同,则根据搜索到的第二预设比特位的值,从上述编码单元信息表中获得参考编码单元的坐标。
如果在上述编码单元信息表中搜索到与上述第一预设比特位的值对应的第二预设比特位的值,且搜索到的第二预设比特位的值与上述目标编码单元的32位crc值中第二预设比特位的值相同,则进一步根据搜索到的第二预设比特位的值,从上述编码单元信息表中获得参考编码单元的坐标,即在上述编码单元信息表中搜索到参考编码单元的坐标。
如果在上述编码单元信息表中没有搜索到与上述第一预设比特位的值对应的第二预设比特位的值,或者搜索到的第二预设比特位的值与上述目标编码单元的32位crc值中第二预设比特位的值不同,则确定在上述编码单元信息表中没有搜索到参考编码单元的坐标。
另外,在上述确定上述待处理编码树单元的亮度分量的哈希校验值之后,还包括:
从上述待处理编码树单元的亮度分量的32位crc值中,分别获取上述第一预设比特位的值和第二预设比特位的值,并确定相应编码单元的坐标;
将获取的上述第一预设比特位的值和第二预设比特位的值,以及确定的相应编码单元的坐标,保存在上述编码单元信息表中。
这里,通过建立编码单元信息表,使得在后续视频编码中,可以直接从上述表中获取相应信息,减少重复计算。
S305:若在上述编码单元信息表中搜索到参考编码单元的坐标,则根据上述参考编码单元的坐标,执行上述目标编码单元与目标编码单元的比特表示之间的转换。
S306:若在上述编码单元信息表中没有搜索到参考编码单元的坐标,则在第二屏幕视频编码模式下,重新执行上述在第一屏幕视频编码模式执行的操作。
其中,步骤S305-S306与上述步骤S204-S205的实现方式相同,此处不再赘述。
从上述描述可知,本公开实施例能够基于目标编码单元的32位crc值中第一预设比特位的值和第二预设比特位的值在信息表中进行分段搜索,从而,使得信息表可以对信息进行分段存储,节省了存储空间,适合实际应用,而且本公开实施例仅对屏幕视频区域开启屏幕视频编码工具,避免对所有区域都开启屏幕视频编码工具,出现的浪费计算能力,且对非屏幕视频区域编码效果不佳的问题,另外,在确定当前CTU为屏幕视频内容后,计算CTU亮度分量的32位crc值,从而,在第一屏幕视频编码模式,根据上述32位crc值,获取目标编码单元的32位crc值,在当前帧已建立的编码单元信息表中搜索参考编码单元的坐标,执行目标编码单元与目标编码单元的比特表示之间的转换,如果没有搜索到,则在第二屏幕视频编码模式,重新执行上述流程,进而,避免采用多种屏幕视频编码工具进行重复计算,造成计算冗余的问题。
另外,本公开实施例还能够在编码单元信息表中搜索与上述第一预设比特位的值对应的第二预设比特位的值之前,还能够判断搜索次数。图4为本公开实施例提出的再一种视频处理方法的流程示意图,本实施例的执行主体可以为图1所示实施例中的编码器。如图4所示,该方法包括:
S401:若待处理编码树单元为屏幕视频内容,则确定上述待处理编码树单元的亮度分量的32位crc值。
S402:在第一屏幕视频编码模式,根据上述待处理编码树单元的亮度分量的32位crc值,获取目标编码单元的32位crc值。
其中,步骤S401-S402与上述步骤S301-S302的实现方式相同,此处不再赘述。
S403:判断在上述编码单元信息表中搜索与上述第一预设比特位的值对应的上述第二预设比特位的值的次数是否达到预设搜索次数上限。
S404:若上述次数未达到上述预设搜索次数上限,则根据上述目标编码单元的32位crc值中第一预设比特位的值,在编码单元信息表中搜索与上述第一预设比特位的值对应的第二预设比特位的值。
其中,上述预设搜索次数上限可以根据实际情况设置,本公开实施例对此不做特别限制。
在编码单元信息表中搜索与上述第一预设比特位的值对应的第二预设比特位的值之前,判断搜索次数是否达到预设搜索次数上限,如果达到,则停止搜索,否则,进 行相应搜索。
这里,通过设置预设搜索次数上限,解决现有搜索次数过多,编码速度慢的问题。
S405:若搜索到的上述第二预设比特位的值与上述目标编码单元的32位crc值中第二预设比特位的值相同,则根据搜索到的第二预设比特位的值,从上述编码单元信息表中获得参考编码单元的坐标。
S406:若在上述编码单元信息表中搜索到参考编码单元的坐标,则根据上述参考编码单元的坐标,执行上述目标编码单元与目标编码单元的比特表示之间的转换。
S407:若在上述编码单元信息表中没有搜索到参考编码单元的坐标,则在第二屏幕视频编码模式下,重新执行上述在第一屏幕视频编码模式执行的操作。
其中,步骤S405-S407与上述步骤S304-S306的实现方式相同,此处不再赘述。
从上述描述可知,本公开实施例通过设置预设搜索次数上限,解决现有搜索次数过多,编码速度慢的问题,而且仅对屏幕视频区域开启屏幕视频编码工具,避免对所有区域都开启屏幕视频编码工具,出现的浪费计算能力,且对非屏幕视频区域编码效果不佳的问题,另外,在确定当前CTU为屏幕视频内容后,计算CTU亮度分量的32位crc值,从而,在第一屏幕视频编码模式,根据上述32位crc值,获取目标编码单元的32位crc值,在当前帧已建立的编码单元信息表中搜索参考编码单元的坐标,执行目标编码单元与目标编码单元的比特表示之间的转换,如果没有搜索到,则在第二屏幕视频编码模式,重新执行上述流程,进而,避免采用多种屏幕视频编码工具进行重复计算,造成计算冗余的问题。
另外,本公开实施例还能够根据相应代价从编码单元信息表中获取参考编码单元的坐标。图5为本公开实施例提出的又一种视频处理方法的流程示意图,本实施例的执行主体可以为图1所示实施例中的编码器。如图5所示,该方法包括:
S501:若待处理编码树单元为屏幕视频内容,则确定上述待处理编码树单元的亮度分量的32位crc值。
S502:在第一屏幕视频编码模式,根据上述待处理编码树单元的亮度分量的32位crc值,获取目标编码单元的32位crc值。
S503:根据上述目标编码单元的32位crc值中第一预设比特位的值,在编码单元信息表中搜索与上述第一预设比特位的值对应的第二预设比特位的值。
其中,步骤S501-S503与上述步骤S301-S303的实现方式相同,此处不再赘述。
S504:若搜索到的上述第二预设比特位的值与上述目标编码单元的32位crc值中第二预设比特位的值相同,则分别确定上述目标编码单元与搜索到的第二预设比特位的值对应的且属于上述编码单元信息表的待处理编码单元之间的代价值。
S505:从上述待处理编码单元中获取代价值的最小值对应的编码单元作为参考编码单元,从上述编码单元信息表中获取参考编码单元的坐标。
这里,分别计算目标编码单元搜索到的第二预设比特位的值对应的待处理编码单元之间的代价值,其中,该代价值可以为率失真代价(RDcost),从而,将上述待处理编码单元中获取上述代价值的最小值对应的编码单元作为参考编码单元,找到最佳参考编码单元,使得残差几乎为零,大幅提升压缩效率。
S506:若在上述编码单元信息表中搜索到参考编码单元的坐标,则根据上述参考 编码单元的坐标,执行上述目标编码单元与目标编码单元的比特表示之间的转换。
S507:若在上述编码单元信息表中没有搜索到参考编码单元的坐标,则在第二屏幕视频编码模式下,重新执行上述在第一屏幕视频编码模式执行的操作。
其中,步骤S506-S507与上述步骤S305-S306的实现方式相同,此处不再赘述。
本公开实施例提供的视频处理方法,能搜索到匹配的参考块,使得残差几乎为零,大幅提升压缩效率,另外,仅对屏幕视频区域开启屏幕视频编码工具,避免对所有区域都开启屏幕视频编码工具,出现的浪费计算能力,且对非屏幕视频区域编码效果不佳的问题,并且,在确定当前CTU为屏幕视频内容后,计算CTU亮度分量的32位crc值,从而,在第一屏幕视频编码模式,根据上述32位crc值,获取目标编码单元的32位crc值,在当前帧已建立的编码单元信息表中搜索参考编码单元的坐标,执行上述目标编码单元与目标编码单元的比特表示之间的转换,如果没有搜索到,则在第二屏幕视频编码模式,重新执行上述流程,进而,避免采用多种屏幕视频编码工具进行重复计算,造成计算冗余的问题。
另外,上述编码单元信息表为哈希表,该哈希表中以编码单元的32位crc值中第一预设比特位的值为关键字(key),以编码单元的32位crc值中第二预设比特位的值和编码单元的坐标为值(value)。本公开实施例还能够在上述哈希表中搜索与第一预设比特位的值对应的第二预设比特位的值。图6为本公开实施例提出的又一种视频处理方法的流程示意图,本实施例的执行主体可以为图1所示实施例中的编码器。如图6所示,该方法包括:
S601:若待处理编码树单元为屏幕视频内容,则确定上述待处理编码树单元的亮度分量的32位crc值。
S602:在第一屏幕视频编码模式,根据上述待处理编码树单元的亮度分量的32位crc值,获取目标编码单元的32位crc值。
其中,步骤S601-S602与上述步骤S301-S302的实现方式相同,此处不再赘述。
S603:将上述目标编码单元的32位crc值中第一预设比特位的值作为搜索关键字,在上述哈希表中搜索与所述搜索关键字对应的值。
S604:若搜索到的上述搜索关键字对应的值中的第二预设比特位的值与上述目标编码单元的32位crc值中第二预设比特位的值相同,则在上述搜索关键字对应的值中获得参考编码单元的坐标。
这里,可以在每一帧设置上述哈希表,该哈希表是根据关键码值(关键字值),即(key value)而直接进行访问的数据结构。其中,关键字为编码单元的32位crc值中第一预设比特位的值,值为编码单元的32位crc值中第二预设比特位的值和坐标。一个关键字可能对应多个值,通过链表连接。
上述获得参考编码单元的坐标过程中,是先将目标编码单元的32位crc值中的第一预设比特位的值作为搜索关键字,在哈希表中查找,如果能找到则得到值链表的表头,遍历值链表,找到值中第二预设比特位的值与目标编码单元的32位crc值中第二比特位相等的值,从这个值中获得参考编码单元的坐标,随即可以计算运动矢量,进入后续编码步骤。其中,通过建立哈希表使得后续视频编码中,可以直接从上述哈希表中获取相应信息,减少重复计算。
S605:若在上述编码单元信息表中搜索到参考编码单元的坐标,则根据上述参考编码单元的坐标,执行上述目标编码单元与目标编码单元的比特表示之间的转换。
S606:若在上述编码单元信息表中没有搜索到参考编码单元的坐标,则在第二屏幕视频处理模式下,重新执行上述在第一屏幕视频编码模式执行的操作。
其中,步骤S605-S606与上述步骤S305-S306的实现方式相同,此处不再赘述。
本公开实施例提供的视频处理方法,通过建立哈希表,使得在后续视频编码中,可以直接从上述哈希表中获取相应信息,减少重复计算,另外,仅对屏幕视频区域开启屏幕视频编码工具,避免对所有区域都开启屏幕视频编码工具,出现的浪费计算能力,且对非屏幕视频区域编码效果不佳的问题,并且,在确定当前CTU为屏幕视频内容后,计算CTU亮度分量的32位crc值,从而,在第一屏幕视频编码模式,根据上述32位crc值,获取目标编码单元的32位crc值,在当前帧已建立的编码单元信息表中搜索参考编码单元的坐标,执行目标编码单元与目标编码单元的比特表示之间的转换,如果没有搜索到,则在第二屏幕视频编码模式,重新执行上述流程,进而,避免采用多种屏幕视频编码工具进行重复计算,造成计算冗余的问题。
另外,基于本申请实施例在自研项目上,针对视屏会议、屏幕共享等场景,相比于265普通模式,编码时间增加30~40%,同等编码质量下码率节省30%~70%。
对应于上文实施例的视频处理方法,图7为本公开实施例提供的视频处理装置的结构示意图。为了便于说明,仅示出了与本公开实施例相关的部分。图7为本公开实施例提供的一种视频处理装置的结构示意图。如图7所示,该视频处理装置70包括:确定模块701和处理模块702。
其中,确定模块701,用于若待处理编码树单元为屏幕视频内容,则确定所述待处理编码树单元的亮度分量的哈希校验值。
处理模块702,用于在第一屏幕视频处理模式,执行以下操作(1)-(3):
(1)根据所述待处理编码树单元的亮度分量的哈希校验值,获取目标编码单元的哈希校验值。
(2)根据所述目标编码单元的哈希校验值,在当前帧已建立的编码单元信息表中搜索参考编码单元的坐标。
(3)若在所述编码单元信息表中搜索到所述参考编码单元的坐标,则根据所述参考编码单元的坐标,执行所述目标编码单元与所述目标编码单元的比特表示之间的转换。
所述处理模块702,还用于若在所述编码单元信息表中没有搜索到所述参考编码单元的坐标,则在第二屏幕视频编码模式下,重新执行所述操作(1)-(3)。
本公开实施例提供的装置,可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,本公开实施例此处不再赘述。
图8为本公开实施例提供的另一种视频处理装置的结构示意图。如图8所示,本公开实施例在图7实施例的基础上,还包括:判断模块703。
在一种可能的设计中,判断模块703,用于确定所述待处理编码树单元的亮度分量的颜色直方图;根据所述颜色直方图中的非零值的个数,和/或,所述非零值的最大值和最小值,确定所述待处理编码树单元是否为所述屏幕视频内容。
在一种可能的设计中,所述判断模块703确定所述待处理编码树单元是否为所述屏幕视频内容,包括:
若所述非零值的个数大于零,且所述非零值的个数小于或等于预设个数阈值,则判定所述待处理编码树单元为所述屏幕视频内容;
和/或
若所述非零值的最大值与所述非零值的最小值的差值大于或等于预设差值阈值,则判定所述待处理编码树单元为所述屏幕视频内容;
和/或
若多个预设非零值的相加之和,大于所述待处理编码树单元拆分的编码单元的大小的预设倍数,则判定所述待处理编码树单元为所述屏幕视频内容。
在一种可能的设计中,所述哈希校验值为32位crc值。
在一种可能的设计中,处理模块702根据所述目标编码单元的哈希校验值,在当前帧已建立的编码单元信息表中搜索参考编码单元的坐标,包括:
根据所述目标编码单元的32位crc值中第一预设比特位的值,在所述编码单元信息表中搜索与所述第一预设比特位的值对应的第二预设比特位的值;
若搜索到的所述第二预设比特位的值与所述目标编码单元的32位crc值中所述第二预设比特位的值相同,则根据搜索到的所述第二预设比特位的值,从所述编码单元信息表中获得所述参考编码单元的坐标。
在一种可能的设计中,处理模块702,用于在所述确定模块701确定所述待处理编码树单元的亮度分量的哈希校验值之后,从所述待处理编码树单元的亮度分量的32位crc值中,分别获取所述第一预设比特位的值和所述第二预设比特位的值,并确定相应编码单元的坐标;
将获取的所述第一预设比特位的值和所述第二预设比特位的值,以及确定的相应编码单元的坐标,保存在所述编码单元信息表中。
在一种可能的设计中,所述处理模块702在所述获取目标编码单元的哈希校验值之前,还用于:
判断所述目标编码单元的大小是否为预设大小;
若所述目标编码单元的大小为所述预设大小,则执行所述获取目标编码单元的哈希校验值的步骤。
在一种可能的设计中,所述处理模块702在所述编码单元信息表中搜索与所述第一预设比特位的值对应的第二预设比特位的值之前,还用于:
判断在所述编码单元信息表中搜索与所述第一预设比特位的值对应的所述第二预设比特位的值的次数是否达到预设搜索次数上限;
若所述次数未达到所述预设搜索次数上限,则执行所述在所述编码单元信息表中搜索与所述第一预设比特位的值对应的第二预设比特位的值的步骤。
在一种可能的设计中,所述处理模块702根据搜索到的所述第二预设比特位的值,从所述编码单元信息表中获得所述参考编码单元的坐标,包括:
分别确定所述目标编码单元与搜索到的所述第二预设比特位的值对应的且属于所述编码单元信息表的待处理编码单元之间的代价值;
从所述待处理编码单元中获取所述代价值的最小值对应的编码单元作为所述参考编码单元,从所述编码单元信息表中获取所述参考编码单元的坐标。
在一种可能的设计中,所述编码单元信息表为哈希表,所述哈希表中以编码单元的32位crc值中第一预设比特位的值为关键字,以编码单元的32位crc值中第二预设比特位的值和编码单元的坐标为值;
所述处理模块702根据所述目标编码单元的32位crc值中第一预设比特位的值,在所述编码单元信息表中搜索与所述第一预设比特位的值对应的第二预设比特位的值,包括:
将所述目标编码单元的32位crc值中第一预设比特位的值作为搜索关键字,在所述哈希表中搜索与所述搜索关键字对应的值。
在一种可能的设计中,若搜索到的所述第二预设比特位的值与所述目标编码单元的32位crc值中所述第二预设比特位的值相同,则所述处理模块702根据搜索到的所述第二预设比特位的值,从所述编码单元信息表中获得所述参考编码单元的坐标,包括:
若搜索到的所述搜索关键字对应的值中的所述第二预设比特位的值与所述目标编码单元的32位crc值中所述第二预设比特位的值相同,则在所述搜索关键字对应的值中获得所述参考编码单元的坐标。
本公开实施例提供的装置,可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,本公开实施例此处不再赘述。
参考图9,电子设备900可以包括处理装置(例如中央处理器、图形处理器等)901,其可以根据存储在只读存储器(Read Only Memory,简称ROM)902中的程序或者从存储装置908加载到随机访问存储器(Random Access Memory,简称RAM)903中的程序而执行各种适当的动作和处理。在RAM 903中,还存储有电子设备900操作所需的各种程序和数据。处理装置901、ROM 902以及RAM 903通过总线904彼此相连。输入/输出(I/O)接口905也连接至总线904。
通常,以下装置可以连接至I/O接口905:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置906;包括例如LCD、扬声器、振动器等的输出装置907;包括例如磁带、硬盘等的存储装置908;以及通信装置909。通信装置909可以允许电子设备900与其他设备进行无线或有线通信以交换数据。虽然图9示出了具有各种装置的电子设备900,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置909从网络上被下载和安装,或者从存储装置908被安装,或者从ROM 902被安装。在该计算机程序被处理装置901执行时,执行本公开实施例的方法中限定的上述功能。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是—— 但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体地例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备执行上述实施例所示的方法。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(Local Area Network,简称LAN)或广域网(Wide Area Network,简称WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定,例如,第一获取单元还可以被描述为“获取至少两个网际协议地址的单元”。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑设备(CPLD)等等。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
第一方面,根据本公开的一个或多个实施例,提供了一种视频处理方法,包括:
若待处理编码树单元为屏幕视频内容,则确定所述待处理编码树单元的亮度分量的哈希校验值;
在第一屏幕视频编码模式,执行以下操作(1)-(3):
(1)根据所述待处理编码树单元的亮度分量的哈希校验值,获取目标编码单元的哈希校验值;
(2)根据所述目标编码单元的哈希校验值,在当前帧已建立的编码单元信息表中搜索参考编码单元的坐标;
(3)若在所述编码单元信息表中搜索到所述参考编码单元的坐标,则根据所述参考编码单元的坐标,执行所述目标编码单元与所述目标编码单元的比特表示之间的转换;
若在所述编码单元信息表中没有搜索到所述参考编码单元的坐标,则在第二屏幕视频编码模式下,重新执行所述操作(1)-(3)。
根据本公开的一个或多个实施例,所述方法还包括:
确定所述待处理编码树单元的亮度分量的颜色直方图;
根据所述颜色直方图中的非零值的个数,和/或,所述非零值的最大值和最小值,确定所述待处理编码树单元是否为所述屏幕视频内容。
根据本公开的一个或多个实施例,所述确定所述待处理编码树单元是否为所述屏幕视频内容,包括:
若所述非零值的个数大于零,且所述非零值的个数小于或等于预设个数阈值,则判定所述待处理编码树单元为所述屏幕视频内容;
和/或
若所述非零值的最大值与所述非零值的最小值的差值大于或等于预设差值阈值,则判定所述待处理编码树单元为所述屏幕视频内容;
和/或
若多个预设非零值的相加之和,大于所述待处理编码树单元拆分的编码单元的大小的预设倍数,则判定所述待处理编码树单元为所述屏幕视频内容。
根据本公开的一个或多个实施例,所述哈希校验值为32位crc值。
根据本公开的一个或多个实施例,所述根据所述目标编码单元的哈希校验值,在当前帧已建立的编码单元信息表中搜索参考编码单元的坐标,包括:
根据所述目标编码单元的32位crc值中第一预设比特位的值,在所述编码单元信息表中搜索与所述第一预设比特位的值对应的第二预设比特位的值;
若搜索到的所述第二预设比特位的值与所述目标编码单元的32位crc值中所述第二预设比特位的值相同,则根据搜索到的所述第二预设比特位的值,从所述编码单元信息表中获得所述参考编码单元的坐标。
根据本公开的一个或多个实施例,在所述确定所述待处理编码树单元的亮度分量的哈希校验值之后,还包括:
从所述待处理编码树单元的亮度分量的32位crc值中,分别获取所述第一预设比特位的值和所述第二预设比特位的值,并确定相应编码单元的坐标;
将获取的所述第一预设比特位的值和所述第二预设比特位的值,以及确定的相应编码单元的坐标,保存在所述编码单元信息表中。
根据本公开的一个或多个实施例,在所述获取目标编码单元的哈希校验值之前,还包括:
判断所述目标编码单元的大小是否为预设大小;
若所述目标编码单元的大小为所述预设大小,则执行所述获取目标编码单元的哈希校验值的步骤。
根据本公开的一个或多个实施例,在所述编码单元信息表中搜索与所述第一预设比特位的值对应的第二预设比特位的值之前,还包括:
判断在所述编码单元信息表中搜索与所述第一预设比特位的值对应的所述第二预设比特位的值的次数是否达到预设搜索次数上限;
若所述次数未达到所述预设搜索次数上限,则执行所述在所述编码单元信息表中搜索与所述第一预设比特位的值对应的第二预设比特位的值的步骤。
根据本公开的一个或多个实施例,所述根据搜索到的所述第二预设比特位的值,从所述编码单元信息表中获得所述参考编码单元的坐标,包括:
分别确定所述目标编码单元与搜索到的所述第二预设比特位的值对应的且属于所述编码单元信息表的待处理编码单元之间的代价值;
从所述待处理编码单元中获取所述代价值的最小值对应的编码单元作为所述参考编码单元,从所述编码单元信息表中获取所述参考编码单元的坐标。
根据本公开的一个或多个实施例,所述编码单元信息表为哈希表,所述哈希表中以编码单元的32位crc值中第一预设比特位的值为关键字,以编码单元的32位crc值中第二预设比特位的值和编码单元的坐标为值;
所述根据所述目标编码单元的32位crc值中第一预设比特位的值,在所述编码单元信息表中搜索与所述第一预设比特位的值对应的第二预设比特位的值,包括:
将所述目标编码单元的32位crc值中第一预设比特位的值作为搜索关键字,在所述哈希表中搜索与所述搜索关键字对应的值。
根据本公开的一个或多个实施例,所述若搜索到的所述第二预设比特位的值与所 述目标编码单元的32位crc值中所述第二预设比特位的值相同,则根据搜索到的所述第二预设比特位的值,从所述编码单元信息表中获得所述参考编码单元的坐标,包括:
若搜索到的所述搜索关键字对应的值中的所述第二预设比特位的值与所述目标编码单元的32位crc值中所述第二预设比特位的值相同,则在所述搜索关键字对应的值中获得所述参考编码单元的坐标。
第二方面,根据本公开的一个或多个实施例,提供了视频处理装置,包括:
确定模块,用于若待处理编码树单元为屏幕视频内容,则确定所述待处理编码树单元的亮度分量的哈希校验值;
处理模块,用于在第一屏幕视频处理模式,执行以下操作(1)-(3):
(1)根据所述待处理编码树单元的亮度分量的哈希校验值,获取目标编码单元的哈希校验值;
(2)根据所述目标编码单元的哈希校验值,在当前帧已建立的编码单元信息表中搜索参考编码单元的坐标;
(3)若在所述编码单元信息表中搜索到所述参考编码单元的坐标,则根据所述参考编码单元的坐标,执行所述目标编码单元与所述目标编码单元的比特表示之间的转换;
所述处理模块,还用于若在所述编码单元信息表中没有搜索到所述参考编码单元的坐标,则在第二屏幕视频编码模式下,重新执行所述操作(1)-(3)。
根据本公开的一个或多个实施例,所述装置还包括:判断模块,用于确定所述待处理编码树单元的亮度分量的颜色直方图;
根据所述颜色直方图中的非零值的个数,和/或,所述非零值的最大值和最小值,确定所述待处理编码树单元是否为所述屏幕视频内容。
根据本公开的一个或多个实施例,所述判断模块确定所述待处理编码树单元是否为所述屏幕视频内容,包括:
若所述非零值的个数大于零,且所述非零值的个数小于或等于预设个数阈值,则判定所述待处理编码树单元为所述屏幕视频内容;
和/或
若所述非零值的最大值与所述非零值的最小值的差值大于或等于预设差值阈值,则判定所述待处理编码树单元为所述屏幕视频内容;
和/或
若多个预设非零值的相加之和,大于所述待处理编码树单元拆分的编码单元的大小的预设倍数,则判定所述待处理编码树单元为所述屏幕视频内容。
根据本公开的一个或多个实施例,所述哈希校验值为32位crc值。
根据本公开的一个或多个实施例,所述处理模块根据所述目标编码单元的哈希校验值,在当前帧已建立的编码单元信息表中搜索参考编码单元的坐标,包括:
根据所述目标编码单元的32位crc值中第一预设比特位的值,在所述编码单元信息表中搜索与所述第一预设比特位的值对应的第二预设比特位的值;
若搜索到的所述第二预设比特位的值与所述目标编码单元的32位crc值中所述第二预设比特位的值相同,则根据搜索到的所述第二预设比特位的值,从所述编码单元 信息表中获得所述参考编码单元的坐标。
根据本公开的一个或多个实施例,所述处理模块在所述获取目标编码单元的哈希校验值之前,还用于:
判断所述目标编码单元的大小是否为预设大小;
若所述目标编码单元的大小为所述预设大小,则执行所述获取目标编码单元的哈希校验值的步骤。
第三方面,根据本公开的一个或多个实施例,提供了一种电子设备,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如上第一方面以及第一方面各种可能的设计所述的视频处理方法。
第四方面,根据本公开的一个或多个实施例,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上第一方面以及第一方面各种可能的设计所述的视频处理方法。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。

Claims (19)

  1. 一种视频处理方法,其特征在于,包括:
    若待处理编码树单元为屏幕视频内容,则确定所述待处理编码树单元的亮度分量的哈希校验值;
    在第一屏幕视频编码模式,执行以下操作(1)-(3):
    (1)根据所述待处理编码树单元的亮度分量的哈希校验值,获取目标编码单元的哈希校验值;
    (2)根据所述目标编码单元的哈希校验值,在当前帧已建立的编码单元信息表中搜索参考编码单元的坐标;
    (3)若在所述编码单元信息表中搜索到所述参考编码单元的坐标,则根据所述参考编码单元的坐标,执行所述目标编码单元与所述目标编码单元的比特表示之间的转换;
    若在所述编码单元信息表中没有搜索到所述参考编码单元的坐标,则在第二屏幕视频编码模式下,重新执行所述操作(1)-(3)。
  2. 根据权利要求1所述的方法,其特征在于,所述方法还包括:
    确定所述待处理编码树单元的亮度分量的颜色直方图;
    根据所述颜色直方图中的非零值的个数,和/或,所述非零值的最大值和最小值,确定所述待处理编码树单元是否为所述屏幕视频内容。
  3. 根据权利要求2所述的方法,其特征在于,所述确定所述待处理编码树单元是否为所述屏幕视频内容,包括:
    若所述非零值的个数大于零,且所述非零值的个数小于或等于预设个数阈值,则判定所述待处理编码树单元为所述屏幕视频内容;
    和/或
    若所述非零值的最大值与所述非零值的最小值的差值大于或等于预设差值阈值,则判定所述待处理编码树单元为所述屏幕视频内容;
    和/或
    若多个预设非零值的相加之和,大于所述待处理编码树单元拆分的编码单元的大小的预设倍数,则判定所述待处理编码树单元为所述屏幕视频内容。
  4. 根据权利要求1至3中任一项所述的方法,其特征在于,所述哈希校验值为32位循环冗余校验crc值。
  5. 根据权利要求4所述的方法,其特征在于,所述根据所述目标编码单元的哈希校验值,在当前帧已建立的编码单元信息表中搜索参考编码单元的坐标,包括:
    根据所述目标编码单元的32位crc值中第一预设比特位的值,在所述编码单元信息表中搜索与所述第一预设比特位的值对应的第二预设比特位的值;
    若搜索到的所述第二预设比特位的值与所述目标编码单元的32位crc值中所述第二预设比特位的值相同,则根据搜索到的所述第二预设比特位的值,从所述编码单元信息表中获得所述参考编码单元的坐标。
  6. 根据权利要求4所述的方法,其特征在于,在所述确定所述待处理编码树单元 的亮度分量的哈希校验值之后,还包括:
    从所述待处理编码树单元的亮度分量的32位crc值中,分别获取第一预设比特位的值和第二预设比特位的值,并确定相应编码单元的坐标;
    将获取的所述第一预设比特位的值和所述第二预设比特位的值,以及确定的相应编码单元的坐标,保存在所述编码单元信息表中。
  7. 根据权利要求1至6中任一项所述的方法,其特征在于,在所述获取目标编码单元的哈希校验值之前,还包括:
    判断所述目标编码单元的大小是否为预设大小;
    若所述目标编码单元的大小为所述预设大小,则执行所述获取目标编码单元的哈希校验值的步骤。
  8. 根据权利要求5所述的方法,其特征在于,在所述编码单元信息表中搜索与所述第一预设比特位的值对应的第二预设比特位的值之前,还包括:
    判断在所述编码单元信息表中搜索与所述第一预设比特位的值对应的所述第二预设比特位的值的次数是否达到预设搜索次数上限;
    若所述次数未达到所述预设搜索次数上限,则执行所述在所述编码单元信息表中搜索与所述第一预设比特位的值对应的第二预设比特位的值的步骤。
  9. 根据权利要求5所述的方法,其特征在于,所述根据搜索到的所述第二预设比特位的值,从所述编码单元信息表中获得所述参考编码单元的坐标,包括:
    分别确定所述目标编码单元与搜索到的所述第二预设比特位的值对应的且属于所述编码单元信息表的待处理编码单元之间的代价值;
    从所述待处理编码单元中获取所述代价值的最小值对应的编码单元作为所述参考编码单元,从所述编码单元信息表中获取所述参考编码单元的坐标。
  10. 根据权利要求5所述的方法,其特征在于,所述编码单元信息表为哈希表,所述哈希表中以编码单元的32位crc值中第一预设比特位的值为关键字,以编码单元的32位crc值中第二预设比特位的值和编码单元的坐标为值;
    所述根据所述目标编码单元的32位crc值中第一预设比特位的值,在所述编码单元信息表中搜索与所述第一预设比特位的值对应的第二预设比特位的值,包括:
    将所述目标编码单元的32位crc值中第一预设比特位的值作为搜索关键字,在所述哈希表中搜索与所述搜索关键字对应的值;
    所述若搜索到的所述第二预设比特位的值与所述目标编码单元的32位crc值中所述第二预设比特位的值相同,则根据搜索到的所述第二预设比特位的值,从所述编码单元信息表中获得所述参考编码单元的坐标,包括:
    若搜索到的所述搜索关键字对应的值中的所述第二预设比特位的值与所述目标编码单元的32位crc值中所述第二预设比特位的值相同,则在所述搜索关键字对应的值中获得所述参考编码单元的坐标。
  11. 一种视频处理装置,其特征在于,包括:
    确定模块,用于若待处理编码树单元为屏幕视频内容,则确定所述待处理编码树单元的亮度分量的哈希校验值;
    处理模块,用于在第一屏幕视频处理模式,执行以下操作(1)-(3):
    (1)根据所述待处理编码树单元的亮度分量的哈希校验值,获取目标编码单元的哈希校验值;
    (2)根据所述目标编码单元的哈希校验值,在当前帧已建立的编码单元信息表中搜索参考编码单元的坐标;
    (3)若在所述编码单元信息表中搜索到所述参考编码单元的坐标,则根据所述参考编码单元的坐标,执行所述目标编码单元与所述目标编码单元的比特表示之间的转换;
    所述处理模块,还用于若在所述编码单元信息表中没有搜索到所述参考编码单元的坐标,则在第二屏幕视频编码模式下,重新执行所述操作(1)-(3)。
  12. 根据权利要求11所述的装置,其特征在于,所述装置还包括:判断模块,用于确定所述待处理编码树单元的亮度分量的颜色直方图;
    根据所述颜色直方图中的非零值的个数,和/或,所述非零值的最大值和最小值,确定所述待处理编码树单元是否为所述屏幕视频内容。
  13. 根据权利要求12所述的装置,其特征在于,所述判断模块确定所述待处理编码树单元是否为所述屏幕视频内容,包括:
    若所述非零值的个数大于零,且所述非零值的个数小于或等于预设个数阈值,则判定所述待处理编码树单元为所述屏幕视频内容;
    和/或
    若所述非零值的最大值与所述非零值的最小值的差值大于或等于预设差值阈值,则判定所述待处理编码树单元为所述屏幕视频内容;
    和/或
    若多个预设非零值的相加之和,大于所述待处理编码树单元拆分的编码单元的大小的预设倍数,则判定所述待处理编码树单元为所述屏幕视频内容。
  14. 根据权利要求11至13中任一项所述的装置,其特征在于,所述哈希校验值为32位crc值。
  15. 根据权利要求14所述的装置,其特征在于,所述处理模块根据所述目标编码单元的哈希校验值,在当前帧已建立的编码单元信息表中搜索参考编码单元的坐标,包括:
    根据所述目标编码单元的32位crc值中第一预设比特位的值,在所述编码单元信息表中搜索与所述第一预设比特位的值对应的第二预设比特位的值;
    若搜索到的所述第二预设比特位的值与所述目标编码单元的32位crc值中所述第二预设比特位的值相同,则根据搜索到的所述第二预设比特位的值,从所述编码单元信息表中获得所述参考编码单元的坐标。
  16. 根据权利要求11至15中任一项所述的装置,其特征在于,所述处理模块在所述获取目标编码单元的哈希校验值之前,还用于:
    判断所述目标编码单元的大小是否为预设大小;
    若所述目标编码单元的大小为所述预设大小,则执行所述获取目标编码单元的哈希校验值的步骤。
  17. 一种电子设备,其特征在于,包括:至少一个处理器和存储器;
    所述存储器存储计算机执行指令;
    所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如权利要求1至10任一项所述的视频处理方法。
  18. 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如权利要求1至10任一项所述的视频处理方法。
  19. 一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机指令,所述计算机指令用于使计算机执行如权利要求1至10任一项所述的视频处理方法。
PCT/CN2020/127595 2020-01-22 2020-11-09 视频处理方法、装置及电子设备 WO2021147464A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202010074803.7A CN111225214B (zh) 2020-01-22 2020-01-22 视频处理方法、装置及电子设备
CN202010074803.7 2020-01-22

Publications (1)

Publication Number Publication Date
WO2021147464A1 true WO2021147464A1 (zh) 2021-07-29

Family

ID=70831245

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/127595 WO2021147464A1 (zh) 2020-01-22 2020-11-09 视频处理方法、装置及电子设备

Country Status (2)

Country Link
CN (1) CN111225214B (zh)
WO (1) WO2021147464A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023024563A1 (zh) * 2021-08-23 2023-03-02 中兴通讯股份有限公司 视频处理方法、服务器和计算机可读存储介质

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111225214B (zh) * 2020-01-22 2022-08-12 北京字节跳动网络技术有限公司 视频处理方法、装置及电子设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106797457A (zh) * 2014-06-27 2017-05-31 华为技术有限公司 具有改进调色板表和索引图编码的先进屏幕内容编码方法
CN106797475A (zh) * 2014-10-08 2017-05-31 联发科技股份有限公司 用于屏幕内容编码和视频编码的块向量剪切和编码的方法
JP2017126829A (ja) * 2016-01-12 2017-07-20 富士通株式会社 動画像符号化装置、動画像符号化方法、及びプログラム
US20180152699A1 (en) * 2016-11-30 2018-05-31 Microsoft Technology Licensing, Llc Local hash-based motion estimation for screen remoting scenarios
CN109743570A (zh) * 2019-01-09 2019-05-10 北京工业大学 一种屏幕内容视频的压缩方法
CN111225214A (zh) * 2020-01-22 2020-06-02 北京字节跳动网络技术有限公司 视频处理方法、装置及电子设备

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9210434B2 (en) * 2013-06-12 2015-12-08 Microsoft Technology Licensing, Llc Screen map and standards-based progressive codec for screen content coding
US9860559B2 (en) * 2014-03-17 2018-01-02 Mediatek Singapore Pte. Ltd. Method of video coding using symmetric intra block copy
US9715559B2 (en) * 2014-03-17 2017-07-25 Qualcomm Incorporated Hash-based encoder search for intra block copy
US10091512B2 (en) * 2014-05-23 2018-10-02 Futurewei Technologies, Inc. Advanced screen content coding with improved palette table and index map coding methods
CN105578182B (zh) * 2014-10-15 2019-04-23 联想(北京)有限公司 一种视频编码、解码方法及装置
CN104780379B (zh) * 2015-01-21 2018-03-09 北京工业大学 一种屏幕图像集合的压缩方法
CN108174214A (zh) * 2017-12-08 2018-06-15 重庆邮电大学 一种基于屏幕内容视频编码的远程桌面共享方法
CN108495139A (zh) * 2018-04-18 2018-09-04 北方工业大学 屏幕内容编码的哈希块匹配

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106797457A (zh) * 2014-06-27 2017-05-31 华为技术有限公司 具有改进调色板表和索引图编码的先进屏幕内容编码方法
CN106797475A (zh) * 2014-10-08 2017-05-31 联发科技股份有限公司 用于屏幕内容编码和视频编码的块向量剪切和编码的方法
JP2017126829A (ja) * 2016-01-12 2017-07-20 富士通株式会社 動画像符号化装置、動画像符号化方法、及びプログラム
US20180152699A1 (en) * 2016-11-30 2018-05-31 Microsoft Technology Licensing, Llc Local hash-based motion estimation for screen remoting scenarios
CN109743570A (zh) * 2019-01-09 2019-05-10 北京工业大学 一种屏幕内容视频的压缩方法
CN111225214A (zh) * 2020-01-22 2020-06-02 北京字节跳动网络技术有限公司 视频处理方法、装置及电子设备

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023024563A1 (zh) * 2021-08-23 2023-03-02 中兴通讯股份有限公司 视频处理方法、服务器和计算机可读存储介质

Also Published As

Publication number Publication date
CN111225214B (zh) 2022-08-12
CN111225214A (zh) 2020-06-02

Similar Documents

Publication Publication Date Title
JP7106744B2 (ja) ルーマおよびクロマ成分についてibc専用バッファおよびデフォルト値リフレッシュを使用するエンコーダ、デコーダおよび対応する方法
US20190273929A1 (en) De-Blocking Filtering Method and Terminal
US11711511B2 (en) Picture prediction method and apparatus
JP7205038B2 (ja) 任意のctuサイズのためのibc検索範囲最適化を用いるエンコーダ、デコーダおよび対応する方法
KR102549670B1 (ko) 크로마 블록 예측 방법 및 디바이스
AU2020318106B2 (en) An encoder, a decoder and corresponding methods related to intra prediction mode
US10194147B2 (en) DC coefficient sign coding scheme
CN112673640A (zh) 使用调色板译码的编码器、解码器和相应方法
WO2021147464A1 (zh) 视频处理方法、装置及电子设备
KR20230048107A (ko) 오디오 믹싱을 위한 방법 및 장치
WO2021147463A1 (zh) 视频处理方法、装置及电子设备
JP2023126795A (ja) ビデオコーディングにおけるクロマイントラ予測のための方法及び装置
WO2021169817A1 (zh) 视频处理方法及电子设备
CA3110477C (en) Picture partitioning method and apparatus
US20210337189A1 (en) Prediction mode determining method and apparatus
KR102657540B1 (ko) 변환 프로세스를 위해 사용되는 인코더, 디코더 및 대응하는 방법
CN111885389B (zh) 一种多媒体数据编码方法、装置及存储介质
CN113747099B (zh) 视频传输方法和设备
RU2814812C2 (ru) Выведение веса выборки цветности для геометрического режима разделения
CN116962696A (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: 20915121

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: 20915121

Country of ref document: EP

Kind code of ref document: A1

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 17/03/2023)

122 Ep: pct application non-entry in european phase

Ref document number: 20915121

Country of ref document: EP

Kind code of ref document: A1