WO2021057481A1 - 视频编解码方法和相关装置 - Google Patents
视频编解码方法和相关装置 Download PDFInfo
- Publication number
- WO2021057481A1 WO2021057481A1 PCT/CN2020/114173 CN2020114173W WO2021057481A1 WO 2021057481 A1 WO2021057481 A1 WO 2021057481A1 CN 2020114173 W CN2020114173 W CN 2020114173W WO 2021057481 A1 WO2021057481 A1 WO 2021057481A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- frame
- decoding
- video
- resolution
- decoded
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 137
- 238000012545 processing Methods 0.000 claims abstract description 43
- 238000005070 sampling Methods 0.000 claims description 88
- 230000015654 memory Effects 0.000 claims description 40
- 238000004891 communication Methods 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 16
- 230000002596 correlated effect Effects 0.000 abstract 1
- 230000008569 process Effects 0.000 description 18
- 238000010586 diagram Methods 0.000 description 13
- 238000005516 engineering process Methods 0.000 description 13
- 230000005540 biological transmission Effects 0.000 description 10
- 238000004422 calculation algorithm Methods 0.000 description 10
- 230000000694 effects Effects 0.000 description 7
- 230000006872 improvement Effects 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000010295 mobile communication Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000013139 quantization Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/132—Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/172—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/30—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/59—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
- H04N21/4402—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
- H04N21/440263—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by altering the spatial resolution, e.g. for displaying on a connected PDA
Definitions
- This application relates to the field of audio and video coding and decoding, specifically, to video coding and decoding and video decoding.
- the codec Under the condition of limited mobile bandwidth, the codec usually uses the same resolution to encode and decode the video frame, which will make the Peak Signal to Noise Ratio (PSNR) relatively low under some bandwidth.
- PSNR Peak Signal to Noise Ratio
- the embodiments of the present application provide a video coding and decoding method and related devices, so as to at least solve the technical problem of low video coding and decoding efficiency caused by complicated processing operations provided by related technologies.
- a video decoding method is provided, the method is executed by a video processing device, and the method includes: determining a video frame to be decoded; The reference decoding parameters of the reference frame associated with the video frame, where the reference decoding parameters include at least two of the following: the number of blocks decoded in the skip mode in the reference frame, the total number of blocks in the reference frame, and the number of blocks in the reference frame.
- the first number of blocks using intra-frame decoding and the second number of blocks using inter-frame decoding, the energy parameter of the motion vector in the reference frame, the third number of blocks of the first size in the reference frame and the second size The fourth number of blocks, the first size is smaller than the second size; the target resolution for decoding the video frame to be decoded is determined according to the reference decoding parameter; the video frame to be decoded is decoded using the target resolution .
- a video encoding method the method is executed by a video processing device, and the method includes: determining a video frame to be encoded;
- the fourth number of blocks, the first size is smaller than the second size
- the target resolution for encoding the video frame to be encoded is determined according to the reference encoding parameter; the target resolution is used to perform the encoding on the video frame to be encoded coding.
- a video decoding device including: a decoding determination module, configured to determine a video frame to be decoded; and an acquiring module, configured to obtain the aforementioned pending video frame from a video frame that has been decoded.
- the reference decoding parameter of the reference frame associated with the decoded video frame includes at least two of the following: the number of blocks decoded in the skip mode in the reference frame, the total number of blocks in the reference frame, and the reference frame
- the fourth number of blocks, the first size is smaller than the second size
- the first processing module is configured to determine the target resolution for decoding the video frame to be decoded according to the reference decoding parameter
- the decoding module is configured to Use the target resolution to decode the video frame to be decoded.
- a video encoding device including: an encoding determination module, configured to determine a video frame to be encoded; and an acquiring module, configured to obtain the foregoing encoded video frame from a video frame that has been encoded.
- the reference coding parameters of the reference frame associated with the video frame wherein the reference coding parameters include at least two of the following: the number of blocks encoded in the skip mode in the reference frame, the total number of blocks in the reference frame, and the number of blocks in the reference frame.
- the first number of blocks using intra coding and the second number of blocks using inter coding, the energy parameter of the motion vector in the reference frame, the third number of blocks of the first size in the reference frame and the second size The fourth number of blocks, the first size is smaller than the second size; the processing module is configured to determine the target resolution for encoding the video frame to be encoded according to the reference encoding parameter; the encoding module is configured to adopt the target The resolution encodes the above-mentioned video frame to be encoded.
- a computer-readable storage medium stores a computer program, wherein the computer program is configured to execute the above-mentioned video decoding method when running Or video encoding method.
- a video processing device including:
- the processor, the communication interface, and the memory complete mutual communication through the communication bus;
- the communication interface is an interface of a communication module;
- the memory is used for storing program code and transmitting the program code to the processor; the processor is used for calling instructions of the program code in the memory to execute the above-mentioned video decoding method or video encoding method.
- a computer program product including instructions, which when run on a computer, causes the computer to execute the above-mentioned video decoding method or video encoding method.
- the reference decoding parameter in the reference frame can be obtained from the video frame that has been decoded before the to-be-decoded video frame, and the reference decoding parameter is merged according to the above-mentioned reference decoding parameter.
- the decoding indication parameters obtained later are used to determine the target resolution used in the decoding of the video frame to be decoded
- the reference decoding parameter includes at least one of the following: the number of blocks decoded in the reference frame using the skip mode and the number of blocks in the reference frame
- the first size is greater than the second size.
- Fig. 1 is a schematic diagram of an application environment of an optional video decoding method according to an embodiment of the present application
- Fig. 2 is a flowchart of an optional video decoding method according to an embodiment of the present application
- Fig. 3 is a schematic diagram of an optional video decoding method according to an embodiment of the present application.
- Fig. 4 is a schematic diagram of another optional video decoding method according to an embodiment of the present application.
- Fig. 5 is a schematic diagram of yet another optional video decoding method according to an embodiment of the present application.
- Fig. 6 is a schematic diagram of yet another optional video decoding method according to an embodiment of the present application.
- Fig. 7 is a flowchart of an optional video encoding method according to an embodiment of the present application.
- Fig. 8 is a schematic diagram of an optional video encoding and decoding process according to an embodiment of the present application.
- Fig. 9 is a schematic structural diagram of an optional video decoding device according to an embodiment of the present application.
- FIG. 10 is a schematic structural diagram of an optional video encoding device according to an embodiment of the present application.
- FIG. 11 is a schematic structural diagram of an optional electronic device according to an embodiment of the present application.
- Fig. 12 is a schematic structural diagram of another optional electronic device according to an embodiment of the present application.
- a video decoding method is provided.
- the above-mentioned video decoding method may be, but not limited to, be applied to the application environment shown in FIG. 1.
- the application environment includes a terminal 102 and a server 104, and the above-mentioned terminal 102 and server 104 communicate through a network.
- the aforementioned terminal 102 may be, but is not limited to, a smart phone, a tablet computer, a notebook computer, a desktop computer, etc., but is not limited to this.
- the aforementioned server 104 may be, but is not limited to, a computer processing device with strong data processing capability and a certain storage space.
- the video decoding method and video encoding method provided by the embodiments of the present application may be executed by a video processing device that has a video encoding and decoding function, for example, the terminal 102 or the server 104 described above.
- the video encoding method corresponding to the above-mentioned video decoding method may also, but is not limited to, be applied to the application environment shown in FIG. 1.
- the video encoding method provided in this application can be used, but not limited to, through the interaction process between the terminal 102 and the server 104 shown in FIG.
- the resolution used during encoding enables different resolutions to be used for encoding for different video frame decisions, which not only saves transmission bandwidth, but also ensures the encoding quality of the video frame and avoids the problem of distortion.
- the video decoding method provided in this application can also be used, but not limited to, through the interaction process between the terminal 102 and the server 104 shown in FIG. 1 to adaptively decide each of the different videos to be decoded.
- the resolution used when the video frame is decoded so that different resolutions are used for decoding for different video frame decisions, so as to ensure the decoding quality of the video frame and avoid the problem of distortion.
- the terminal 102 may include but is not limited to the following components: an image processing unit 1021, a processor 1022, a storage medium 1023, a memory 1024, a network interface 1025, a display screen 1026, and an input device 1027.
- the above-mentioned components can be, but are not limited to, connected via the system bus 1028.
- the above-mentioned image processing unit 1021 is used to provide at least the rendering capability of the display interface; the above-mentioned processor 1022 is used to provide calculation and control capabilities to support the operation of the terminal 102;
- the storage medium 1023 stores an operating system 1023-2 and video encoding And/or video decoder 1023-4.
- the operating system 1023-2 is used to provide control operation instructions, and the video encoder and/or video decoder 1023-4 is used to perform encoding/decoding operations according to the control operation instructions.
- the aforementioned memory provides an operating environment for the video encoder and/or video decoder 1023-4 in the storage medium 1023, and the network interface 1025 is used for network communication with the network interface 1043 in the server 104.
- the above-mentioned display screen is used to display application interfaces, such as decoding video; the input device 1027 is used to receive commands or data input by the user.
- the display screen 1026 and the input device 1027 may be touch screens.
- a specific terminal or server may include a diagram More or fewer parts are shown in, or some parts are combined, or have a different arrangement of parts.
- the aforementioned server 104 may include but is not limited to the following components: a processor 1041, a memory 1042, a network interface 1043, and a storage medium 1044.
- the above-mentioned components can be connected via the system bus 1045, but are not limited to.
- the aforementioned storage medium 1044 includes an operating system 1044-1, a database 1044-2, a video encoder and/or a video decoder 1044-3.
- the above-mentioned processor 1041 is used to provide computing and control capabilities to support the operation of the server 104.
- the memory 1042 provides an environment for the operation of the video encoder and/or the video decoder 1044-3 in the storage medium 1044.
- the network interface 1043 communicates with the network interface 1025 of the external terminal 102 through a network connection.
- the operating system 1044-1 in the aforementioned storage medium is used to provide control operation instructions; the video encoder and/or video decoder 1044-3 is used to perform encoding/decoding operations according to the control operation instructions; and the database 1044-2 is used to store data.
- the internal structure of the server shown in Figure 1 above is only a block diagram of part of the structure related to the solution of this application, and does not constitute a limitation on the computer equipment to which the solution of this application is applied. Specific computer equipment has different components. Layout.
- the aforementioned network may include, but is not limited to, a wired network.
- the above-mentioned wired network may include, but is not limited to: a wide area network, a metropolitan area network, and a local area network.
- a wide area network a wide area network
- a metropolitan area network a metropolitan area network
- a local area network a local area network
- the method includes:
- S206 Determine a target resolution for decoding the to-be-decoded video frame according to the reference decoding parameter.
- the video decoding method shown in FIG. 2 can be, but not limited to, used in the video decoder shown in FIG. 1. Through the interaction of the video decoder and other components, the decoding process of the video frame to be decoded is completed.
- the above-mentioned video decoding method can be but not limited to be applied to application scenarios such as video playback applications, video sharing applications, or video session applications.
- the video transmitted in the above application scenario may include, but is not limited to: long video, short video, such as long video may be a play episode with a long play time (for example, play time greater than 10 minutes), or in a long video session
- the displayed picture, the short video may be a voice message that two or more parties interact, or a video with a short playing time (for example, playing time less than or equal to 30 seconds) displayed on a sharing platform.
- the video decoding method provided in this embodiment can, but is not limited to, be applied to the playback device used to play video in the above application scenario. After the video frame that has been decoded is obtained, it is based on The determined reference decoding parameters of the reference frame are used to adaptively decide the target resolution adopted by the video frame to be decoded, so as to simplify the operation of determining the target resolution adopted by the above-mentioned video frame to be decoded, thereby overcoming the relatively low video decoding efficiency in related technologies. Low problem, to achieve the effect of improving decoding efficiency.
- the reference decoding parameter of the reference frame associated with the above-mentioned video frame to be decoded can be obtained from the video frame that has been decoded.
- the parameters include at least two of the following: the number of blocks decoded using skip mode in the reference frame and the total number of blocks in the reference frame, the first number of blocks using intra-frame decoding in the reference frame, and the first number of blocks using inter-frame decoding in the reference frame. 2.
- the energy parameter of the motion vector in the reference frame, the third number of blocks of the first size in the reference frame, and the fourth number of blocks of the second size in the reference frame, the first size is smaller than the second size; using the above reference decoding parameters To determine the target resolution for decoding the to-be-decoded video frame, and use the target resolution to decode the to-be-decoded video frame.
- the relationship between the reference decoding parameters in the above reference frame is used to determine the resolution used when decoding the video frame to be decoded, so that different resolutions can be adaptively selected for different video frames to be decoded, so as to simplify the determination of the above-mentioned to-be-decoded video frame.
- the operation of the target resolution used to decode the video frame thereby overcoming the problem of low video decoding efficiency in related technologies, and achieving the effect of improving the decoding efficiency.
- the reference frame may be determined from the decoded video frame, and obtained from the reference frame.
- the following refers to at least two of the decoding parameters to determine the decoding indication parameter (used for comparison with a predetermined threshold, and the result of the comparison is used to determine the target resolution):
- the decision basis may be determined but not limited to the following methods:
- the decoding device at the decoding end uses the same method to obtain the above reference decoding parameters
- the skip mode may include, but is not limited to: P-Skip macroblock and B-Skip macroblock.
- P-Skip macro block is a special P macro block, used in H.264.
- the special feature of P-Skip macroblocks is that they do not transmit pixel residuals.
- the motion vector residual is also not transmitted (in this case, the pixel residual and the motion vector residual are both zero, and there is no need to transmit).
- the encoding end does not need to transmit other information about the macro block.
- MVD Motion Vector Difference
- the MVP can be obtained from the decoding end, and then the MV can be obtained.
- the reconstructed pixels of the macroblock corresponding to the reference frame.
- the pixel value of the macroblock in this frame can be recovered (if the MV is a score, interpolation is required), which is the so-called P-skip macro)
- P-skip macro The block principle, literally understood, is that the macro block is skipped, which is equivalent to that the macro block is not coded, and an approximate replacement recovery method is adopted at the decoding end.
- the principle of the B-Skip macroblock is the same as the principle of the P-Skip macroblock, which is processed from the front and rear directions, and will not be repeated here.
- the aforementioned energy parameter is used to determine the energy parameter of the motion vector in the reference frame to determine the energy value
- the determination method includes:
- the energy parameter includes the mean value of the motion vector and the variance of the motion vector, perform a weighted summation on the mean value of the motion vector and the variance of the motion vector to obtain an energy value.
- each pixel in the reference frame has a corresponding motion vector (Motion Vector, MV for short).
- the aforementioned energy parameters may include, but are not limited to: the average value of the two-dimensional vector length (also called the modulus of MV) of the motion vector in the reference frame, and the average value of each motion vector and the average vector in the reference frame. The square of the magnitude of the difference vector.
- the value on the i-th dimension in the above average vector may be, but is not limited to, the mean value of each motion vector on the i-th dimension.
- the target resolution can be determined separately for each of the above reference decoding parameters:
- Determining the target resolution for decoding the video frame to be decoded according to the relationship between the number of blocks decoded in skip mode and the total number of blocks may include, but is not limited to: obtaining the number of blocks decoded in skip mode and the number of blocks The reciprocal of the ratio between the two totals; the target resolution is determined according to the comparison result between the reciprocal and a predetermined threshold. For example, when the reciprocal number is greater than the predetermined threshold, the first resolution is used as the target resolution; when the reciprocal number is less than the predetermined threshold, the second resolution is used as the target resolution, wherein the second resolution is greater than the first resolution. Resolution.
- determining the target resolution for decoding the video frame to be decoded according to the relationship between the number of blocks decoded in skip mode and the total number of blocks may also include but is not limited to: obtaining blocks in the reference frame The difference between the total number of blocks and the number of blocks decoded in skip mode; the ratio of the difference to the total number of blocks is obtained, and when the ratio is greater than a predetermined threshold, the first resolution is used as the target resolution ; In the case where the ratio is less than the predetermined threshold, the second resolution is used as the target resolution, where the second resolution is greater than the first resolution.
- Determining the target resolution for decoding the to-be-decoded video frame according to the relationship between the first number of blocks using intra-frame decoding and the second number of blocks using inter-frame decoding may include but is not limited to: acquiring using intra-frame decoding The ratio between the first number of blocks and the second number of blocks using inter-frame decoding; the target resolution is determined according to the comparison result between the ratio and a predetermined threshold. For example, when the ratio is greater than the predetermined threshold, the first resolution is used as the target resolution; when the ratio is less than the predetermined threshold, the second resolution is used as the target resolution, where the second resolution is greater than the first resolution. Resolution.
- the target resolution for decoding the video frame to be decoded is determined according to the relationship between the first number of blocks using intra-frame decoding and the second number of blocks using inter-frame decoding, which may also include but Not limited to: obtaining the first number of blocks using intra-frame decoding and the second number of blocks using inter-frame decoding in the reference frame; where the first number is greater than the second number, and the difference between the two is greater than a predetermined threshold In this case, the first resolution is adopted as the target resolution; when the difference between the two is less than the predetermined threshold, the second resolution is adopted as the target resolution, where the second resolution is greater than the first resolution.
- determining the target resolution for decoding the video frame to be decoded may include, but is not limited to: obtaining the first The ratio between the first number of blocks of the second size and the second number of blocks of the second size; the target resolution is determined according to the comparison result between the ratio and a predetermined threshold. For example, when the ratio is greater than the predetermined threshold, the first resolution is used as the target resolution; when the ratio is less than the predetermined threshold, the second resolution is used as the target resolution, where the second resolution is greater than the first resolution. Resolution.
- the target resolution for decoding the video frame to be decoded is determined according to the relationship between the first number of blocks of the first size and the second number of blocks of the second size in the reference frame, which may also include but Not limited to: acquiring the first number of blocks of the first size and the second number of blocks of the second size in the reference frame; when the first number is greater than the second number, and the difference between the two is greater than a predetermined threshold, The first resolution is used as the target resolution; when the difference between the two is less than the predetermined threshold, the second resolution is used as the target resolution, where the second resolution is greater than the first resolution. That is, in the case where the first number is greater than the second number, as the number of blocks of the second size increases, the smaller the difference between the two is, the higher the resolution used is.
- the decoding indication parameters it is also possible but not limited to integrate the decoding indication parameters to determine the target resolution. That is to say, it is possible but not limited to use preset weights to perform weighted summation processing on the above-mentioned reference decoding parameters to obtain decoding indication parameters for comparison with a predetermined threshold, so as to realize the determination of the video to be decoded according to the decoding indication parameters.
- the target resolution used when the frame is decoded. For example, when the decoding indicator parameter is greater than a predetermined threshold, the first resolution is used as the target resolution; when the decoding indicator parameter is less than the predetermined threshold, the second resolution is used as the target resolution. The rate is greater than the first resolution.
- the method for determining the decoding indication parameter may include, but is not limited to: determining the first reference value according to the reference decoding parameter in the reference frame (the number of blocks decoded in skip mode in the reference frame) And the reciprocal of the ratio between the total number of blocks in the reference frame), the second reference value (both the first number of blocks using intra-frame decoding in the reference frame and the second number of blocks using inter-frame decoding in the reference frame ), the third reference value (the energy parameter of the motion vector in the reference frame (such as the mean value of the motion vector and/or the variance of the motion vector) to determine the energy value of the motion vector), and the fourth reference value (the reference frame The ratio between the third number of blocks of the first size and the fourth number of blocks of the second size), and then perform a weighted summation on the four reference values to obtain the decoding indication parameter.
- the weight corresponding to each of the foregoing reference values may, but is not limited to, a value between 0 and 1. That is to say, any combination of at least two of the above four reference values can be implemented to obtain the decoding indication parameter.
- the corresponding relationship between the specific weight and the reference value is not limited in this embodiment.
- the above-mentioned first resolution may include but is not limited to one of the following: the original resolution of the video frame to be decoded, and the highest resolution obtained by up-sampling the video frame to be decoded.
- the foregoing second resolution may include, but is not limited to, the resolution obtained by down-sampling the first resolution according to a predetermined sampling ratio.
- the sampling ratio can be, but is not limited to, determined based on the comparison result of the ratio and different thresholds.
- the different thresholds here can be, but are not limited to, a set of thresholds determined from a numerical interval less than a predetermined threshold.
- the above-mentioned reference frame may include, but is not limited to, one of the following: a reference frame in a video frame that has been decoded, and a multi-frame reference frame in a video frame that has been decoded.
- the above-mentioned multi-frame reference frame may include, but is not limited to: a continuous multi-frame reference frame or a discontinuous multi-frame reference frame.
- the decision basis may be determined but not limited to the following methods:
- the encoding end and the decoding end can use the same method to determine the resolution to be adopted for both ends in accordance with the agreement in the communication standard.
- the decoding device at the decoding end can directly determine the reference frame from the decoded video frame, and determine the method of determining the target resolution of the video frame to be decoded according to the reference decoding parameter.
- using the target resolution to decode the video frame to be decoded may include but is not limited to: after adaptively determining the target resolution to be used for the video frame to be decoded, it may, but is not limited to, using the relevant The technology decodes the video frame to be decoded based on the target resolution:
- S1 Determine the current decoding mode corresponding to the video frame to be decoded. For example, by obtaining the flag bit corresponding to the preset position in the code stream, the current encoding mode information can be obtained by the flag bit, so as to determine whether the current decoding mode is the full-resolution mode or the down-sampling mode.
- the current decoding mode is the same as the current encoding mode.
- S2 Determine the processing reference frame according to the resolution of the current reference frame corresponding to the to-be-decoded video frame and the target resolution of the to-be-decoded video frame obtained by decision. Among them, it is judged whether the resolution of the current reference frame is the same as the target resolution, if it is the same, the current reference frame is directly used as the processing reference frame; if it is different, S3 is executed.
- the preset sampling rule used in decoding is the same as the preset sampling rule used in encoding.
- the preset sampling rule of the encoding end may be but not limited to the following: it is related to the resolution of the currently encoded video frame and the distance between the current reference frame and the currently encoded video frame. For example, when the distance D between the current reference frame and the currently encoded video frame exceeds the preset threshold, 1/M down-sampling is adopted, otherwise, 1/N down-sampling is adopted, where M ⁇ N.
- the decoding end can also use the same method described above to perform sampling, which can speed up the sampling speed, thereby increasing the overall decoding speed. It should be noted that the value of M changes with the distance D, which will further improve the flexibility of the sampling parameters.
- the current reference frame is sampled to obtain a processing reference frame with the same resolution as the current decoded video frame.
- the current reference frame sampling includes up-sampling and down-sampling: if the resolution of the current reference frame is greater than the resolution of the current decoded video frame, then down-sampling the current reference frame to obtain the processed reference frame; if the resolution of the current reference frame If the rate is less than the resolution of the currently decoded video frame, the current reference frame is up-sampled to obtain the processed reference frame.
- each current reference frame is sampled according to the resolution of the reference frame and the resolution of the current decoded video frame to obtain the resolution of the current decoded video frame. The same processing reference frame.
- the sampling algorithm for sampling the current reference frame matches the sampling algorithm for down-sampling the reconstructed video frame to obtain the decoded video frame, that is, if the reference frame is down-sampled, the down-sampling algorithm matches
- the down-sampling algorithm of reconstructed video frame to obtain decoded video frame is the same. If the reference frame is up-sampled, the up-sampling algorithm and the down-sampling algorithm of the decoded video frame obtained by down-sampling the reconstructed video frame are matched opposite sampling algorithms.
- S4 Decode the currently decoded video frame according to the aforementioned processing reference frame to obtain a reconstructed video frame. Among them, the prediction residual in the code stream is decoded and superimposed with the corresponding prediction pixel of the processing reference frame to obtain a reconstructed video frame.
- S5. Process the reconstructed video frame according to the current decoding mode to obtain the decoded video frame. If the current decoding mode is the down-sampling mode, then up-sampling the reconstructed video frame to obtain the decoded video frame. If the current encoding mode information is the full-sampling mode, then The reconstructed video frame is determined to be a decoded video frame.
- the algorithm for up-sampling the reconstructed video frame and the algorithm for down-sampling the to-be-encoded video frame by the encoding end to obtain the current encoded video frame are matched opposite sampling algorithms.
- each pair of decoding blocks in the at least one pair of decoding blocks includes the one with the first resolution.
- the first decoded block and the second decoded block with the second resolution, the first decoded block and the second decoded block are the adjacent decoded blocks; the first resolution of the first decoded block is adjusted to the target resolution, and The second resolution of the second decoded block is adjusted to the target resolution; the first edge pixel set is determined from the first decoded block, and the second edge pixel set is determined from the second decoded block, where the first The position of the edge pixel point set is adjacent to the position of the second edge pixel point set; the first edge pixel point set is filtered to obtain the filtered first edge pixel point set, and the second edge pixel point set is filtered , The filtered second edge pixel point set is obtained, wherein the pixel value of the i-th pixel
- the above-mentioned method of adjusting the target resolution includes one of the following:
- the first resolution is adjusted to the third resolution
- the second resolution is adjusted to the third resolution, where the third resolution is the same as the first resolution.
- the resolution is different and different from the second resolution.
- the reference decoding parameters in the reference frame can be obtained from the video frame that has been decoded before the to-be-decoded video frame, and the reference decoding parameters can be obtained according to the fusion of the aforementioned reference decoding
- the decoding indication parameter obtained after the parameter is used to determine the target resolution used in the decoding of the video frame to be decoded, where the reference decoding parameter includes at least one of the following: the number of blocks decoded in the reference frame using the skip mode and the reference frame
- determining the target resolution for decoding the to-be-decoded video frame according to the reference decoding parameter includes:
- the first resolution is adopted as the target resolution
- the second resolution is adopted as the target resolution, where the second resolution Greater than the first resolution
- the above-mentioned first resolution may include but is not limited to one of the following: the original resolution of the video frame to be decoded, and the highest resolution obtained by up-sampling the video frame to be decoded.
- the foregoing second resolution may include, but is not limited to, a resolution obtained after sampling the first resolution according to a predetermined sampling ratio.
- the sampling ratio can be, but is not limited to, determined based on the comparison result of the ratio and different thresholds.
- the different thresholds here can be, but are not limited to, a set of thresholds determined from an interval less than a predetermined threshold.
- it further includes:
- determining the sampling ratio according to the result of the comparison includes: in a case where the energy value is determined to be in the target interval, obtaining the target sampling ratio configured for the target interval, wherein the target interval includes a set of thresholds.
- a set of thresholds determined from a numerical interval greater than the predetermined threshold includes: A2 to A5, where A2 ⁇ A3 ⁇ A4 ⁇ A5.
- the decoding indicator parameter is r.
- the determination process can be as follows:
- the sampling ratio can be determined to be 3/4 of the width and height of the high resolution R, and the high resolution R is sampled according to the above sampling ratio to obtain the resolution R'for decoding (such as the first 1 resolution); in the case where A3 ⁇ r>A4 is determined, the sampling ratio can be determined to be 2/3 of the width and height of the high-resolution R, and the high-resolution R is sampled according to the above-mentioned sampling ratio, and the result is used for decoding
- the sampling ratio can be determined to be 1/3 of the width and height of the high-resolution R, and the high-resolution R performs sampling to obtain the resolution R′ (
- sampling ratio is an example, and the interval corresponding to different thresholds can be set to different values.
- the value of the sampling ratio and the corresponding relationship between the sampling ratio and the threshold are not limited.
- the relationship between the reference decoding parameters in the reference frame is obtained to determine the decoding indication parameter, so as to realize the adaptive selection and the current video to be decoded according to the comparison result of the decoding indication parameter and the predetermined threshold.
- the resolution of the frame matching improves the flexibility of resolution decision-making, and does not require a complicated decision-making process, so that the resolution to be used can be quickly determined for different video frames during the decoding process, so as to improve the decoding efficiency of the decoding process.
- obtaining the reference decoding parameters of the reference frame associated with the video frame to be decoded from the decoded video frame includes:
- the above S1, determining a frame of reference frame from the decoded video frames as the target reference frame includes: when the video frame to be decoded is the t-th video frame, determining the first frame The tk frame video frame is the target reference frame; the above S2, obtaining the reference decoding parameter in the target reference frame includes: obtaining the reference decoding parameter in the target reference frame from the tk-th video frame, where k is a predetermined positive integer , T is a positive integer, t>k.
- the method further includes: determining a first weight that matches the reference decoding parameter in the target reference frame; and using the first weight to refer to the target
- the reference decoding parameters in the frame are weighted and summed to obtain the decoding indication parameter.
- the video frame to be decoded is the t-th video frame
- the target reference frame is the tk-th video frame, where the total number of blocks in the tk-th video frame is N.
- the first weights that match the reference decoding parameters are determined.
- the weight corresponding to the ratio P1 is w1
- the weight corresponding to the ratio P2 is w2
- the weight corresponding to E is w3
- the weight corresponding to the ratio P3 is w4
- a set of thresholds is obtained from a numerical interval greater than A1. It is assumed that a set of thresholds includes: A2 to A5, where A2 ⁇ A3 ⁇ A4 ⁇ A5. Assuming that it is determined by comparison: A4 ⁇ r ⁇ A5, it can be determined that the sampling ratio is 1/3 of the width and height of the high resolution R (such as the second resolution), and the high resolution R is sampled according to the above sampling ratio. Obtain the resolution R'(such as the first resolution) used for decoding. Use the resolution R'(e.g., the first resolution) to decode the t-th video frame.
- the reference decoding parameter in the target reference frame is obtained to obtain the decoding indication parameter, and the decoding is further used
- the comparison result of the indicator parameter and the predetermined threshold is used to adaptively select the target resolution corresponding to the current video frame to be decoded for decoding.
- obtaining the reference decoding parameters of the reference frame associated with the video frame to be decoded from the decoded video frame includes:
- S1 Determine a multi-frame reference frame from the decoded video frame as the target reference frame
- determining a multi-frame reference frame as a target reference frame from a video frame that has been decoded includes: determining a continuous multi-frame video frame or a discontinuous video frame from the video frame that has been decoded The multi-frame video frame is used as the target reference frame.
- the above-mentioned target reference frame may be a continuous reference frame, as shown in FIG. 4, the multiple continuous video frames from the t-k1th video frame to the t-k2th video frame are determined as the target of the video frame to be decoded.
- Reference frame Assume that the ratio between the number of blocks of the first size and the number of blocks of the second size in the reference decoding parameter is taken as an example for description.
- the above-mentioned multi-frame reference frame includes T1 first-size blocks. Blocks (as shown in Figure 4 with small oblique lines) and T2 blocks of the second size (as shown in Figure 4 with large oblique areas).
- the above-mentioned target reference frame may also be a discontinuous reference frame.
- a plurality of discrete video frames are selected, such as including the first video frame.
- a group of video frames of the t-k1 video frame and a group of video frames including the t-k2 video frame are determined as the target reference frame of the video frame to be decoded.
- the above-mentioned multi-frame reference frame includes T1 blocks of the first size (as shown in FIG. 5 with small oblique lines) and T2 blocks of the second size (as shown in FIG. 5 with large oblique lines).
- the total number of blocks in each reference frame can be the same value, such as N (as shown in Figure 4-5), or different values, such as N1, N2... ( Figure 4-5) (Not shown), this embodiment does not make any limitation on this.
- parameters k1 and k2 may be, but are not limited to, parameters agreed in advance with the encoding device of the encoding end, and may also be parameters determined by parsing identification bits at designated positions in the code stream. There is no limitation on this in this embodiment.
- determining a multi-frame reference frame from the decoded video frame as the target reference frame includes: when the video frame to be decoded is the t-th video frame, determining the first video frame The t-k1 video frame to the t-k2 video frame are the target reference frames; the above S2, obtaining the reference decoding parameters in the target reference frame includes: from the t-k1 video frame to the t-k2 video frame , Obtain the reference decoding parameters in the target reference frame, where k1 and k2 are predetermined positive integers, t is a positive integer, and t>k1>k2.
- the method further includes: determining a second weight that matches the reference decoding parameter in the target reference frame; Perform weighted summation on the reference decoding parameters in to obtain the decoding indication parameter.
- the target reference frame is a continuous multi-frame video frame from the t-1th video frame to the t-2th video frame, where the total number of blocks in each reference frame is N .
- the reference decoding parameters obtained from the t-1th video frame include: 1) The number of blocks that have been decoded in skip mode (as shown in Figure 3(a1) where the oblique area is located) M1 and the number of blocks The total number N; 2) the number of blocks using intra-frame decoding (as shown in Figure 3(b1) where the oblique area is located) Q1 and the number of blocks using inter-frame decoding (as shown in Figure 3(b1) where the dot area is located) ) Q2; 3) The motion vector v i of each block (as shown in Figure 3(c1), the line with arrow marked in the block where the oblique area is located), and according to the mean value ⁇ and variance D of the above motion vector v i determining the energy value E, wherein the motion vector v of each pixel i, as shown in a block may be a pixel corresponding to FIG lines with an arrow in the block shaded for identifying the pixel motion vector; 4)
- the reference decoding parameters obtained from the t-2th video frame include: 1) The number of blocks that have been decoded in skip mode (as shown in Figure 3(a2) where the oblique line area is located) M1' and the number of blocks 2) The number of blocks using intra-frame decoding (as shown in Figure 3(b2) where the oblique area is located) Q1' and the number of blocks using inter-frame decoding (as shown in Figure 3(b2)) the area where the number of blocks) Q2 '; motion vector v 3) for each block i (3 (c2) hatched lines with arrows the area where the block labeled as shown), and based on the motion vector v i' is The mean value ⁇ 'and the variance D'determine the energy value E', where the motion vector v i 'of each pixel point can correspond to one pixel point as shown in the figure, and the line with the arrow in the diagonal block is used to identify the The motion vector of the pixel; 4) the number of blocks
- the second weight may be configured for, but not limited to, each reference decoding parameter.
- the above reference decoding parameters may be weighted and summed to obtain the decoding indication parameter r:
- the above formula is to calculate the decoding indication parameter after all the information of the multi-frame video frame is counted, which is only an optional example.
- the reference decoding parameters in each video frame can also be calculated separately, and then the weighted sum calculation can be performed on each result of each video frame.
- the decoding indication parameter obtained based on the reference decoding parameter in the t-1 frame is r1
- the decoding indication parameter obtained based on the reference decoding parameter in the t-2 frame is r2
- the above r1 and r2 are weighted and summed
- the decoding indication parameter r corresponding to the target reference frame will be obtained.
- the target resolution can also be determined in the following ways:
- the encoding end may also directly write the target resolution determined by the encoding device according to the above-mentioned decision-making method into the code stream in the form of identification bits. Then, the decoding device at the decoding end can directly obtain the determined target resolution after obtaining the above-mentioned decoding flag from the code stream.
- decoding flag can be indicated by, but not limited to, the following syntax elements:
- the syntax element is used to indicate the relationship between the third resolution and the fourth resolution
- the third resolution is the decoding
- the resolution used for decoding the video frame, the fourth resolution is the resolution used for decoding the reference frame of the video frame to be decoded, the multiple resolutions used for decoding multiple video frames to be decoded include at least two different resolutions Rate; Determine the third resolution corresponding to each region according to the syntax element and the fourth resolution.
- the corresponding peak signal-to-noise ratio is relatively large, and the distortion is relatively small, thus ensuring that the peak signal-to-noise ratio can be within a certain range. Changes within a small range, and the peak signal-to-noise ratio is relatively large, thereby achieving the technical effect of avoiding large fluctuations in the peak signal-to-noise ratio of video encoding and decoding.
- the target resolution determined by the decoding is directly obtained by decoding the identification bits, so as to simplify the processing process of the decoding end, thereby reducing the transmission overhead and the decoding complexity of the decoding end, thereby achieving improvement The effect of decoding efficiency.
- the reference decoding parameter in the target reference frame is acquired to determine the decoding indication parameter, so as to realize the basis
- the result of the comparison between the decoding indicator parameter and the predetermined threshold is used to adaptively select the target resolution corresponding to the current video frame to be decoded for decoding. In this way, it is possible to quickly determine the resolution to be used for the video frame to be decoded, so as to overcome the problem of low decoding efficiency caused by the complicated operation of the resolution decision in the related technology.
- the foregoing video encoding method includes:
- S706 Determine a target resolution for encoding the video frame to be encoded according to the reference encoding parameter.
- S708 Use the target resolution to encode the to-be-encoded video frame.
- the video encoding method shown in FIG. 7 can be, but not limited to, used in the video encoder shown in FIG. 1. Through the interaction of the video encoder and other components, the encoding process of the video frame to be encoded is completed.
- the above-mentioned video encoding method may be applied to, but not limited to, application scenarios such as video playback applications, video sharing applications, or video session applications.
- the video transmitted in the above application scenario may include, but is not limited to: long video, short video, such as long video may be a play episode with a long play time (for example, play time greater than 10 minutes), or in a long video session
- the displayed picture, the short video may be a voice message that two or more parties interact, or a video with a short playing time (for example, playing time less than or equal to 30 seconds) displayed on a sharing platform.
- the video encoding method provided in this embodiment can be, but is not limited to, applied to the foregoing application scenarios.
- the reference encoding is based on the reference frame determined from the foregoing video frame. Parameters to adaptively decide the target resolution adopted by the video frame to be encoded, so as to simplify the operation of determining the target resolution adopted by the above-mentioned video frame to be encoded, thereby overcoming the problem of low video encoding efficiency in related technologies and improving encoding efficiency Effect.
- the reference encoding parameter of the reference frame associated with the above-mentioned video frame to be encoded can be obtained from the video frame that has been encoded.
- the parameters include at least two of the following: the number of blocks encoded in skip mode in the reference frame and the total number of blocks in the reference frame, the first number of intra-encoded blocks in the reference frame, and the first number of inter-encoded blocks in the reference frame. 2.
- the energy parameter of the motion vector in the reference frame, the third number of blocks of the first size in the reference frame, and the fourth number of blocks of the second size in the reference frame, the first size is smaller than the second size; using the aforementioned reference encoding parameters To determine the target resolution for encoding the video frame to be encoded, and use the target resolution to encode the video frame to be encoded.
- the relationship between the reference encoding parameters in the above reference frames is used to determine the resolution used when encoding the video frame to be encoded, so that different resolutions can be adaptively selected for different video frames to be encoded, so as to simplify the determination of the above-mentioned encoding parameters.
- the operation of the target resolution adopted for encoding the video frame thereby overcoming the problem of low video encoding efficiency in related technologies, and achieving the effect of improving encoding efficiency.
- determining the target resolution for encoding the to-be-encoded video frame according to the reference encoding parameter includes:
- the first resolution is adopted as the target resolution; in the case that the encoding indicating parameter is less than the predetermined threshold, the second resolution is adopted as the target resolution, where the second resolution Greater than the first resolution.
- it further includes:
- a set of thresholds is determined from a numerical interval greater than the predetermined threshold
- the specific embodiment of the above-mentioned video encoding method may, but is not limited to, refer to the specific embodiment of the video decoding method, and adopt the opposite processing method corresponding to the decoding method to adaptively decide and match each video frame to be encoded.
- the resolution is encoded. In this embodiment, it will not be repeated here.
- S802-S830 at the encoding end, the video frame to be encoded is obtained, and the resolution used for encoding is selected through resolution decision. Then, the current encoding mode is determined from the selectable encoding modes according to the current encoding information and/or image feature information of the video frame to be encoded. If it is the full resolution mode, it is determined that down-sampling encoding is not required, and S808-1 to S816- 1: Perform intra/inter prediction on the original resolution image frame to obtain prediction residuals, transformation/quantization and entropy coding processing to obtain encoded data, and determine the resolution identifier of the adopted resolution. Further encode the above data, such as S820, output the code stream.
- down-sampling is required, and S810-2 to S818-2 are performed: Obtain down-sampled image frames, and perform intra/inter prediction on the image frames to obtain prediction residuals, transform/quantization, and entropy The encoding process obtains the encoded data, and determines the resolution mark of the adopted resolution. Further encode the above data, such as S820, output the code stream.
- S822 to S830 make adaptive decision to determine the resolution of the video frame to be decoded, and then decode it to obtain a reconstructed video frame. If it is determined that the down-sampling mode is adopted, the reconstructed video frame is up-sampled to obtain the decoded video frame; otherwise, the decoded video frame is directly output.
- the foregoing is only an example.
- the video encoding method and video decoding method provided in this embodiment are applied to the resolution decision process shown in the above figure, and are used for different video frames to be encoded/to be encoded on the encoding end and the decoding end.
- the resolution of the decoded video frame is adaptively decided to simplify the process of determining the resolution used by each frame in the coding and decoding process, thereby achieving the effect of improving the coding and decoding efficiency.
- the device includes:
- the decoding determination module 902 is used to determine the video frame to be decoded
- the obtaining module 904 is configured to obtain the reference decoding parameters of the reference frame associated with the to-be-decoded video frame from the decoded video frame, where the reference decoding parameters include at least two of the following: the reference frame is decoded in skip mode The number of blocks in the reference frame and the total number of blocks in the reference frame, the first number of blocks using intra-frame decoding in the reference frame and the second number of blocks using inter-frame decoding in the reference frame, the energy parameter of the motion vector in the reference frame, the reference frame The third number of blocks of the first size and the fourth number of blocks of the second size, the first size is smaller than the second size;
- the first processing module 906 is configured to determine the target resolution for decoding the video frame to be decoded according to the reference decoding parameter
- the decoding module 908 is configured to use the target resolution to decode the video frame to be decoded.
- the first processing module 906 includes:
- the first determining sub-module is used to obtain the decoding indication parameter according to the relationship between the reference decoding parameters
- the first processing sub-module is used to use the first resolution as the target resolution when the decoding indicator parameter is greater than the predetermined threshold; and also used to use the second resolution when the decoding indicator parameter is less than the predetermined threshold As the target resolution, the second resolution is greater than the first resolution.
- the second determining sub-module is used to determine a set of thresholds from a numerical interval greater than the predetermined threshold when the decoding indication parameter is greater than the predetermined threshold;
- the comparison sub-module is used to compare the decoding indication parameter with each threshold included in a set of thresholds
- the third determining sub-module is used to determine the sampling ratio according to the comparison result
- the sampling sub-module is used to down-sample the second resolution according to the sampling ratio to determine the first resolution.
- the above-mentioned third determining submodule implements the following steps to determine the sampling ratio according to the result of the comparison: in the case where it is determined that the decoding indicator parameter is located in the target interval, obtain the target sampling ratio configured for the target interval , Wherein the target interval includes a set of threshold values between adjacent first and second thresholds, the first threshold is less than the second threshold; down-sampling the second resolution according to the sampling ratio includes: according to the target sampling ratio , Down-sampling the width and height of the second resolution to obtain the first resolution.
- the obtaining module 904 includes:
- the fourth determining submodule is used to determine a frame of reference frame as the target reference frame from the decoded video frames
- the first acquisition sub-module is used to acquire the reference decoding parameters in the target reference frame.
- the fourth determining sub-module includes: (1) The first determining unit is configured to determine the t-kth video frame as the target reference frame when the video frame to be decoded is the t-th video frame;
- the first acquisition sub-module includes: (1) The first acquisition unit is used to acquire the reference decoding parameter in the target reference frame from the tk-th video frame, where k is a predetermined positive integer and t is a positive Integer, t>k.
- the fifth determining sub-module is configured to determine the first weights respectively matching the reference decoding parameters in the target reference frame after obtaining the reference decoding parameters in the target reference frame;
- the first operation sub-module is used to use the first weight to perform a weighted summation of the reference decoding parameters in the target reference frame to obtain the decoding indication parameter.
- the obtaining module 904 includes:
- the sixth determining sub-module is used to determine a multi-frame reference frame from the decoded video frame as the target reference frame;
- the second acquisition sub-module is used to acquire the reference decoding parameters in the target reference frame.
- the above-mentioned sixth determining submodule is implemented by the following steps: from the video frames that have been decoded, a continuous multi-frame video frame or a discontinuous multi-frame video frame is determined as the target reference frame.
- the sixth determining sub-module includes: (1) The second determining unit is used to determine the t-k1th video frame to the t-k2th video frame when the video frame to be decoded is the t-th video frame Is the target reference frame;
- the second acquisition submodule includes: (1) The second acquisition unit is used to acquire the reference decoding parameters in the target reference frame from the t-k1th video frame to the t-k2th video frame, where k1 And k2 is a predetermined positive integer, t is a positive integer, and t>k1>k2.
- the seventh determining sub-module is configured to determine the second weights respectively matching the reference decoding parameters in the target reference frame after obtaining the reference decoding parameters in the target reference frame;
- the second operation sub-module is used to use the second weight to perform a weighted summation of the reference decoding parameters in the target reference frame to obtain the decoding indication parameter.
- the device includes:
- Encoding determining module 1002 used to determine the to-be-encoded video frame in the to-be-encoded video
- the obtaining module 1004 is configured to obtain a reference encoding parameter in a reference frame from a video frame that has been encoded before the video frame to be encoded, where the reference encoding parameter includes at least one of the following: skip mode is adopted in the reference frame
- the first ratio between the number of coded blocks and the total number of blocks in the reference frame, the second between the first number of intra-encoded blocks in the reference frame and the second number of inter-encoded blocks in the reference frame The ratio, the energy of the motion vector in the reference frame, the third ratio between the third number of blocks of the first size in the reference frame and the fourth number of blocks of the second size in the reference frame, the first size is greater than the second size;
- the processing module 1006 is configured to determine the target resolution for encoding the to-be-encoded video frame according to the encoding indication parameter obtained by fusing the reference encoding parameters;
- the encoding module 1008 is used to encode the to-be-encoded video frame using the target resolution.
- the processing module 1006 includes:
- the first determining sub-module is used to obtain the coding indication parameter according to the relationship between the reference coding parameters
- the first processing sub-module is used to use the first resolution as the target resolution when the encoding indicator parameter is greater than the predetermined threshold; and also used to use the second resolution when the encoding indicator parameter is less than the predetermined threshold As the target resolution, the second resolution is greater than the first resolution.
- the second determining sub-module is used to determine a set of thresholds from a numerical interval greater than the predetermined threshold when the encoding indicator parameter is greater than the predetermined threshold;
- the comparison sub-module is used to compare the coding indication parameter with each threshold included in a set of thresholds;
- the third determining sub-module is used to determine the sampling ratio according to the comparison result
- the sampling sub-module is used to down-sample the second resolution according to the sampling ratio to determine the first resolution.
- an electronic device for implementing the foregoing video decoding method. It should be noted that the electronic device in FIG. 11 and FIG. 12 may be the foregoing video processing device.
- the electronic device includes a memory 1102 and a processor 1104.
- the memory 1102 stores a computer program.
- the processor 1104 is configured to execute the steps in any one of the foregoing method embodiments through the computer program.
- the above-mentioned electronic device may be located in at least one network device among a plurality of network devices in a computer network.
- the foregoing processor may be configured to execute the following steps through a computer program:
- the reference decoding parameters of the reference frame associated with the video frame to be decoded from the video frames that have been decoded include at least two of the following: the number of blocks decoded in skip mode in the reference frame and the reference The total number of blocks in the frame, the first number of blocks using intra-frame decoding in the reference frame and the second number of blocks using inter-frame decoding in the reference frame, the energy parameter of the motion vector in the reference frame, and the number of blocks of the first size in the reference frame The third number and the fourth number of blocks of the second size, the first size is smaller than the second size;
- the structure shown in FIG. 11 is only for illustration, and the electronic device may also be a smart phone (such as an Android phone, an iOS phone, etc.), a tablet computer, a palmtop computer, and a mobile Internet device (Mobile Internet Devices, MID), PAD and other terminal devices.
- FIG. 11 does not limit the structure of the above electronic device.
- the electronic device may also include more or fewer components (such as a network interface, etc.) than shown in FIG. 11, or have a configuration different from that shown in FIG. 11.
- the memory 1102 can be used to store software programs and modules, such as program instructions/modules corresponding to the video decoding method and device in the embodiments of the present application.
- the processor 1104 executes the software programs and modules stored in the memory 1102 by running the software programs and modules. This kind of functional application and data processing realizes the above-mentioned video decoding method.
- the memory 1102 may include a high-speed random access memory, and may also include a non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory.
- the memory 1102 may further include a memory remotely provided with respect to the processor 1104, and these remote memories may be connected to the terminal through a network.
- the memory 1102 may be specifically, but not limited to, used to store information such as video frames to be decoded.
- the foregoing memory 1102 may include, but is not limited to, the decoding determination module 902, the acquisition module 904, the first processing module 906, and the decoding module 908 in the foregoing video decoding device.
- it may also include, but is not limited to, other module units in the above-mentioned video decoding device, which will not be repeated in this example.
- the aforementioned transmission device 1106 is used to receive or send data via a network.
- the foregoing specific examples of the network may include wired networks and wireless networks.
- the transmission device 1106 includes a network adapter (Network Interface Controller, NIC), which can be connected to other network devices and routers via a network cable so as to communicate with the Internet or a local area network.
- the transmission device 1106 is a radio frequency (RF) module, which is used to communicate with the Internet in a wireless manner.
- RF radio frequency
- the above-mentioned electronic device further includes: a display 1108 for displaying the decoded video; and a connection bus 1110 for connecting each module component in the above-mentioned electronic device.
- the electronic device for implementing the foregoing video encoding method.
- the electronic device includes a memory 1202 and a processor 1204.
- the memory 1202 stores a computer
- the processor 1204 is configured to execute the steps in any one of the foregoing method embodiments through a computer program.
- the above-mentioned electronic device may be located in at least one network device among a plurality of network devices in a computer network.
- the foregoing processor may be configured to execute the following steps through a computer program:
- the reference encoding parameters of the reference frame associated with the video frame to be encoded from the video frames that have been encoded include at least two of the following: the number of blocks encoded in skip mode in the reference frame and the reference The total number of blocks in the frame, the first number of intra-encoded blocks and the second number of inter-encoded blocks in the reference frame, the energy parameter of the motion vector in the reference frame, and the number of blocks of the first size in the reference frame
- the third number and the fourth number of blocks of the second size, the first size is smaller than the second size;
- S3 Determine the target resolution for encoding the to-be-encoded video frame according to the reference encoding parameter
- the structure shown in FIG. 12 is only for illustration, and the electronic device may also be a smart phone (such as an Android phone, an iOS phone, etc.), a tablet computer, a palmtop computer, and a mobile Internet device (Mobile Internet Devices, MID), PAD and other terminal devices.
- FIG. 12 does not limit the structure of the above-mentioned electronic device.
- the electronic device may also include more or fewer components (such as a network interface, etc.) than shown in FIG. 12, or have a configuration different from that shown in FIG.
- the memory 1202 can be used to store software programs and modules, such as program instructions/modules corresponding to the video encoding method and device in the embodiments of the present application.
- the processor 1204 executes the software programs and modules stored in the memory 1202 by running the software programs and modules. This kind of functional application and data processing realizes the above-mentioned video coding method.
- the memory 1202 may include a high-speed random access memory, and may also include a non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory.
- the memory 1202 may further include a memory remotely provided with respect to the processor 1204, and these remote memories may be connected to the terminal through a network.
- the memory 1202 can be specifically, but not limited to, used for information such as video frames to be encoded.
- the foregoing memory 1202 may include, but is not limited to, the encoding determination module 1002, the acquisition module 1004, the processing module 1006, and the encoding module 1008 in the foregoing video encoding device.
- it may also include, but is not limited to, other module units in the above-mentioned video encoding device, which will not be repeated in this example.
- the aforementioned transmission device 1206 is used to receive or send data via a network.
- the foregoing specific examples of the network may include wired networks and wireless networks.
- the transmission device 1206 includes a network adapter (Network Interface Controller, NIC), which can be connected to other network devices and routers via a network cable so as to communicate with the Internet or a local area network.
- the transmission device 1206 is a radio frequency (RF) module, which is used to communicate with the Internet in a wireless manner.
- RF radio frequency
- the above-mentioned electronic device further includes: a display 1208 for displaying the video before encoding; and a connection bus 1210 for connecting each module component in the above-mentioned electronic device.
- a computer-readable storage medium stores a computer program, wherein the computer program is configured to execute any one of the foregoing when running. The steps in the method embodiment.
- the foregoing computer-readable storage medium may be configured to store a computer program for executing the following steps:
- the reference decoding parameters of the reference frame associated with the video frame to be decoded from the video frames that have been decoded include at least two of the following: the number of blocks decoded in skip mode in the reference frame and the reference The total number of blocks in the frame, the first number of blocks using intra-frame decoding in the reference frame and the second number of blocks using inter-frame decoding in the reference frame, the energy parameter of the motion vector in the reference frame, and the number of blocks of the first size in the reference frame The third number and the fourth number of blocks of the second size, the first size is smaller than the second size;
- the aforementioned computer-readable storage medium may also be configured to store a computer program for executing the following steps:
- the reference encoding parameters of the reference frame associated with the video frame to be encoded from the video frames that have been encoded include at least two of the following: the number of blocks encoded in skip mode in the reference frame and the reference The total number of blocks in the frame, the first number of intra-encoded blocks and the second number of inter-encoded blocks in the reference frame, the energy parameter of the motion vector in the reference frame, and the number of blocks of the first size in the reference frame
- the third number and the fourth number of blocks of the second size, the first size is smaller than the second size;
- S3 Determine the target resolution for encoding the to-be-encoded video frame according to the reference encoding parameter
- the embodiments of the present application also provide a computer program product including instructions, which when run on a computer, cause the computer to execute the video decoding method or video encoding method provided in the foregoing embodiments.
- the storage medium may include: a flash disk, a read-only memory (Read-Only Memory, ROM), a random access device (Random Access Memory, RAM), a magnetic disk or an optical disk, and the like.
- the integrated unit in the foregoing embodiment is implemented in the form of a software functional unit and sold or used as an independent product, it may be stored in the foregoing computer-readable storage medium.
- the technical solution of the present application essentially or the part that contributes to the existing technology, or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium. It includes several instructions to make one or more computer devices (which may be personal computers, servers, or network devices, etc.) execute all or part of the steps of the methods described in the various embodiments of the present application.
- the disclosed client can be implemented in other ways.
- the above-described device embodiments are only illustrative.
- the division of the units is only a logical function division.
- there may be other division methods for example, multiple units or components may be combined or may be Integrate into another system, or some features can be ignored or not implemented.
- the displayed or discussed mutual coupling or direct coupling or communication connection may be indirect coupling or communication connection through some interfaces, units or modules, and may be in electrical or other forms.
- the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the objectives of the solutions of the embodiments.
- the functional units in the various embodiments of the present application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units may be integrated into one unit.
- the above-mentioned integrated unit can be implemented in the form of hardware or software functional unit.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本申请公开了一种视频编解码方法和相关装置。该方法包括:确定待解码视频帧;从已完成解码的视频帧中,获取待解码视频帧关联的参考帧的参考解码参数,其中,参考解码参数包括以下至少两个:参考帧中采用跳过模式解码的块的数量与参考帧中的块的总数、参考帧中采用帧内解码的块的第一数量与采用帧间解码的块的第二数量、参考帧中运动向量的能量参数、参考帧中第一尺寸的块的第三数量与第二尺寸的块的第四数量,第一尺寸小于第二尺寸;根据参考解码参数确定用于对待解码视频帧进行解码的目标分辨率;采用目标分辨率对待解码视频帧进行解码。本申请解决了由于相关技术提供的处理操作较复杂所导致的视频编解码效率较低的技术问题。
Description
本申请要求于2019年09月27日提交中国专利局、申请号为201910927103.5、申请名称为“视频编解码方法和装置及存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
本申请涉及音视频编解码领域,具体而言,涉及视频编解码和视频解码。
随着数字媒体技术和计算机技术的发展,视频应用于各个领域,如移动通信、网络监控、网络电视等。随着硬件性能和屏幕分辨率的提高,用户对高清视频的需求日益强烈。
在移动带宽有限的条件下,编解码器对视频帧通常是采用相同分辨率进行编解码,这将使得部分带宽下的峰值信噪比(Peak Signal to Noise Ratio,简称PSNR)相对较低。
发明内容
本申请实施例提供了一种视频编解码方法和相关装置,以至少解决由于相关技术提供的处理操作较复杂所导致的视频编解码效率较低的技术问题。
根据本申请实施例的一个方面,提供了一种视频解码方法,所述方法由视频处理设备执行,所述方法包括:确定待解码视频帧;从已完成解码的视频帧中,获取上述待解码视频帧关联的参考帧的参考解码参数,其中,上述参考解码参数包括以下至少两个:上述参考帧中采用跳过模式解码的块的数量与上述参考帧中的块的总数、上述参考帧中采用帧内解码的块的第一数量与采用帧间解码的块的第二数量、上述参考帧中运动向量的能量参数、上述参考帧中第一尺寸的块的第三数量与第二尺寸的块的第四数量,上述第一尺寸小于上述第二尺寸;根据上述参考解码参数确定用于对上述待解码视频帧进行解码的目标分辨率;采用上述目标分辨率对上述待解码视频帧进行解码。
根据本申请实施例的另一个方面,提供了一种视频编码方法,所述方法由视频处理设备执行,所述方法包括:确定待编码视频帧;从已完成编码的视频帧中,获取上述待编码视频帧关联的参考帧的参考编码参数,其中,上述参考 编码参数包括以下至少两个:上述参考帧中采用跳过模式编码的块的数量与上述参考帧中的块的总数、上述参考帧中采用帧内编码的块的第一数量与采用帧间编码的块的第二数量、上述参考帧中运动向量的能量参数、上述参考帧中第一尺寸的块的第三数量与第二尺寸的块的第四数量,上述第一尺寸小于上述第二尺寸;根据上述参考编码参数确定用于对上述待编码视频帧进行编码的目标分辨率;采用上述目标分辨率对上述待编码视频帧进行编码。
根据本申请实施例的又一方面,还提供了一种视频解码装置,包括:解码确定模块,用于确定待解码视频帧;获取模块,用于从已完成解码的视频帧中,获取上述待解码视频帧关联的参考帧的参考解码参数,其中,上述参考解码参数包括以下至少两个:上述参考帧中采用跳过模式解码的块的数量与上述参考帧中的块的总数、上述参考帧中采用帧内解码的块的第一数量与采用帧间解码的块的第二数量、上述参考帧中运动向量的能量参数、上述参考帧中第一尺寸的块的第三数量与第二尺寸的块的第四数量,上述第一尺寸小于上述第二尺寸;第一处理模块,用于根据上述参考解码参数确定用于对上述待解码视频帧进行解码的目标分辨率;解码模块,用于采用上述目标分辨率对上述待解码视频帧进行解码。
根据本申请实施例的又一个方面,提供了一种视频编码装置,包括:编码确定模块,用于确定待编码视频帧;获取模块,用于从已完成编码的视频帧中,获取上述待编码视频帧关联的参考帧的参考编码参数,其中,上述参考编码参数包括以下至少两个:上述参考帧中采用跳过模式编码的块的数量与上述参考帧中的块的总数、上述参考帧中采用帧内编码的块的第一数量与采用帧间编码的块的第二数量、上述参考帧中运动向量的能量参数、上述参考帧中第一尺寸的块的第三数量与第二尺寸的块的第四数量,上述第一尺寸小于上述第二尺寸;处理模块,用于根据上述参考编码参数确定用于对上述待编码视频帧进行编码的目标分辨率;编码模块,用于采用上述目标分辨率对上述待编码视频帧进行编码。
根据本申请实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述视频解码方法或视频编码方法。
根据本申请实施例的再一方面,提供了一种视频处理设备,所述视频处理设备包括:
处理器、通信接口、存储器和通信总线;
其中,所述处理器、所述通信接口和所述存储器通过所述通信总线完成相互间的通信;所述通信接口为通信模块的接口;
所述存储器,用于存储程序代码,并将所述程序代码传输给所述处理器;处理器,用于调用存储器中程序代码的指令执行上述视频解码方法或视频编码方法。
根据本申请实施例的又一方面,提供了一种包括指令的计算机程序产品,当其在计算机上运行时,使得所述计算机执行上述视频解码方法或视频编码方法。
在本申请实施例中,针对待解码视频中当前的待解码视频帧,可以从在该待解码视频帧之前已完成解码的视频帧中,获取参考帧中参考解码参数,根据融合上述参考解码参数后得到的解码指示参数,来确定上述待解码视频帧解码所采用的目标分辨率,其中,参考解码参数包括以下至少之一:参考帧中采用跳过模式已解码的块的数量与参考帧中的块的总数之间的第一比值、参考帧中采用帧内解码的块的第一数量与采用帧间解码的块的第二数量之间的第二比值、参考帧中运动向量的能量、参考帧中第一尺寸的块的第三数量与第二尺寸的块的第四数量之间的第三比值,第一尺寸大于第二尺寸。针对不同待解码视频帧,可以实现自适应选择不同的分辨率,保证视频播放质量,而不再采用统一的分辨率进行解码,进而解决了由于相关技术提供的处理操作较复杂所导致的视频编解码效率较低的技术问题。
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的一种可选的视频解码方法的应用环境的示意图;
图2是根据本申请实施例的一种可选的视频解码方法的流程图;
图3是根据本申请实施例的一种可选的视频解码方法的示意图;
图4是根据本申请实施例的另一种可选的视频解码方法的示意图;
图5是根据本申请实施例的又一种可选的视频解码方法的示意图;
图6是根据本申请实施例的又一种可选的视频解码方法的示意图;
图7是根据本申请实施例的一种可选的视频编码方法的流程图;
图8是根据本申请实施例的一种可选的视频编解码过程的示意图;
图9是根据本申请实施例的一种可选的视频解码装置的结构示意图;
图10是根据本申请实施例的一种可选的视频编码装置的结构示意图;
图11是根据本申请实施例的一种可选的电子装置的结构示意图;
图12是根据本申请实施例的另一种可选的电子装置的结构示意图。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本申请实施例的一个方面,提供了一种视频解码方法,可选地,作为一种可选的实施方式,上述视频解码方法可以但不限于应用于如图1所示的应用环境中。其中,该应用环境中包括终端102和服务器104,上述终端102和服务器104通过网络进行通信。其中,上述终端102可以但不限于为智能手机、平板电脑、笔记本电脑、台式计算机等,但并不局限于此。上述服务器104可以但不限于为数据处理能力较强,且具有一定存储空间的计算机处理设备。
本申请实施例提供的视频解码方法和视频编码方法可以通过视频处理设备执行,该视频处理设备具有视频编解码功能,例如可以是上述的终端102或者服务器104。
需要说明的是,与上述视频解码方法对应的视频编码方法也可以但不限于应用于图1所示的应用环境中。在获取待编码视频之后,可以但不限于采用本申请所提供的视频编码方法,通过上述图1所示的终端102与服务器104的交互过程,来自适应决策不同的待编码视频中各个视频帧在编码时所采用的分辨率,从而实现针对不同的视频帧决策采用不同的分辨率进行编码,在节省传输带宽的同时,也保证了视频帧的编码质量,避免出现失真的问题。此外,在获取待解码视频之后,也可以但不限于采用本申请所提供的视频解码方法,通过上述图1所示的终端102与服务器104的交互过程,来自适应决策不同的待解码视频中各个视解帧在解码时所采用的分辨率,从而实现针对不同的视频帧决策采用不同的分辨率进行解码,以保证了视频帧的解码质量,避免出现失真的问题。
在一个实施例中,终端102可以包括但不限于以下部件:图像处理单元1021、处理器1022、存储介质1023、内存1024、网络接口1025、显示屏幕1026和输入设备1027。上述部件可以但不限于通过系统总线1028连接。其中,上述图像处理单元1021用于至少提供显示界面的绘制能力;上述处理器1022用于提供计算和控制能力,以支持终端102的运行;存储介质1023中存储有操作系统1023-2、视频编码器和/或视频解码器1023-4。操作系统1023-2用于提供控制操作指令,视频编码器和/或视频解码器1023-4用于根据控制操作指令执行编码/解码操作。此外,上述内存为存储介质1023中的视频编码器和/或视频解码器1023-4提供运行环境,网络接口1025用于与服务器104中的网络接口1043进行网络通信。上述显示屏幕用于显示应用界面等,如解码视频;输入设备1027用于接收用户输入的命令或数据等。对于带触摸屏的终端102,显示屏幕1026和输入设备1027可为触摸屏。上述图1所示出的终端内部的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的终端的限定,具体的终端或服务器可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,上述服务器104可以包括但不限于以下部件:处理器1041、 内存1042、网络接口1043和存储介质1044。上述部件可以但不限于通过系统总线1045连接。上述存储介质1044包括操作系统1044-1、数据库1044-2、视频编码器和/或视频解码器1044-3。其中,上述处理器1041用于提供计算和控制能力,以支持服务器104的运行。内存1042为存储介质1044中的视频编码器和/或视频解码1044-3的运行提供环境。网络接口1043与外部的终端102的网络接口1025通过网络连接通信。上述存储介质中的操作系统1044-1用于提供控制操作指令;视频编码器和/或视频解码器1044-3用于根据控制操作指令执行编码/解码操作;数据库1044-2用于存储数据。上述图1所示出的服务器内部的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备具有不同的部件布置。
在一个实施例中,上述网络可以包括但不限于有线网络。其中,上述有线网络可以包括但不限于:广域网、城域网、局域网。上述仅是一种示例,本实施例中对此不作任何限定。
可选地,作为一种可选的实施方式,如图2所示,该方法包括:
S202,确定待解码视频帧;
S204,从已完成解码的视频帧中,获取待解码视频帧关联的参考帧的参考解码参数,其中,参考解码参数包括以下至少两个:参考帧中采用跳过模式解码的块的数量与参考帧中的块的总数、参考帧中采用帧内解码的块的第一数量与采用帧间解码的块的第二数量、参考帧中运动向量的能量参数、参考帧中第一尺寸的块的第三数量与第二尺寸的块的第四数量,第一尺寸小于第二尺寸;
S206,根据参考解码参数确定用于对待解码视频帧进行解码的目标分辨率;
S208,采用目标分辨率对待解码视频帧进行解码。
需要说明的是,上述图2所示视频解码方法可以但不限于用于图1所示的视频解码器中。通过该视频解码器与其他部件的交互配合,来完成对待解码视频帧的解码过程。
可选地,在本实施例中,上述视频解码方法可以但不限于应用于视频播放应用、视频共享应用或视频会话应用等应用场景中。其中,上述应用场景中所传输的视频可以包括但不限于:长视频、短视频,如长视频可以为播放时间较长(例如播放时长大于10分钟)的播放剧集,或长时间视频会话中所展示的画 面,短视频可以为双方或多方交互的语音消息,或用于在共享平台展示的播放时间较短(例如播放时长小于等于30秒)的视频。上述仅是示例,本实施例中所提供的视频解码方法可以但不限于应用于上述应用场景中用于播放视频的播放设备中,在获取到已完成解码的视频帧之后,基于从上述视频帧确定出的参考帧的参考解码参数,来自适应决策待解码视频帧所采用的目标分辨率,以简化确定上述待解码视频帧所采用的目标分辨率的操作,从而克服相关技术中视频解码效率较低的问题,达到提高解码效率的效果。
需要说明的是,在本实施例中,针对确定出的待解码视频帧,可以从在已完成解码的视频帧中,获取与上述待解码视频帧关联的参考帧的参考解码参数,该参考解码参数包括以下至少两个:参考帧中采用跳过模式解码的块的数量与参考帧中的块的总数、参考帧中采用帧内解码的块的第一数量与采用帧间解码的块的第二数量、参考帧中运动向量的能量参数、参考帧中第一尺寸的块的第三数量与第二尺寸的块的第四数量,第一尺寸小于第二尺寸;利用上述参考解码参数之间的关系,来确定用于对待解码视频帧进行解码的目标分辨率,并采用该目标分辨率对待解码视频帧进行解码。从而实现利用上述参考帧中参考解码参数之间的关系,来确定对待解码视频帧进行解码时所采用的分辨率,达到针对不同待解码视频帧自适应选择不同的分辨率,以简化确定上述待解码视频帧所采用的目标分辨率的操作,从而克服相关技术中视频解码效率较低的问题,达到提高解码效率的效果。
可选地,在本实施例中,在从编码设备接收的码流中确定出待解码视频帧之后,可以但不限于从已完成解码的视频帧中确定出参考帧,并从参考帧中获取以下参考解码参数中的至少两个,以确定解码指示参数(用于预定阈值进行比对,比对的结果用于确定目标分辨率):
1)获取参考帧中采用跳过模式解码的块的数量与参考帧中的块的总数二者之间的比值的倒数,作为第一参考值;
2)获取参考帧中采用帧内解码的块的第一数量与采用帧间解码的块的第二数量二者之间的比值,作为第二参考值;
3)获取参考帧中运动向量的能量参数(如运动向量的均值和/或运动向量的方差),以确定运动向量的能量值,作为第三参考值;
4)获取参考帧中第一尺寸的块的第三数量与第二尺寸的的块的第四数量二者之间的比值,作为第四参考值。
可选地,在本实施例中,在自适应决策当前的待解码视频帧所采用的目标分辨率之前,可以但不限于通过以下方式确定决策依据:
1)按照与编码端的编码设备约定的策略,在解码端的解码设备使用相同的方式获取上述参考解码参数;
2)从码流中解析标志位,根据标志位的指示获取上述参考解码参数。本实施例中对此不作任何限定。
需要说明的是,在本实施例中,上述跳过模式(下文也可称作Skip模式)可以但不限于包括:P-Skip宏块和B-Skip宏块两种情况。P-Skip宏块是一种特殊的P宏块,应用于H.264中。对于一般的P宏块而言,像素残差和运动矢量残差都会写入码流,从编码端传到解码端,但是P-Skip宏块的特殊之处在于,既不传输像素残差,也不传输运动矢量残差(在这种情况下,像素残差和运动矢量残差都为零,不需要传送)。编码端除了传输一些用于标识该宏块是P-Skip宏块的很少量的比特(bit)外,不在需要传输关于该宏块的其他信息。
此外,对于解码端来说,根据公式:MVD=MV-MVP,在运动矢量残差(Motion Vector Difference,简称MVD)为零的情况下,从解码端可以得到MVP,进而得到MV。在解码端有参考帧对应宏块的重建像素,根据重建像素和MV,就可以恢复出本帧本宏块的像素值(如果MV是分数,则需要插值),这就是所谓的P-skip宏块原理,从字面理解就是跳过了这个宏块,相当于这个宏块没有编码,在解码端采取了近似替代的恢复办法。B-Skip宏块的原理和P-Skip宏块的原理一样,是从前后两个方向进行处理,这里不再赘述。
可选地,在本实施例中,上述能量参数用于确定参考帧中运动向量的能量参数确定能量值,确定方式包括:
1)若所述能量参数包括所述运动向量的均值,根据运动向量的均值确定能量值;
2)若所述能量参数包括所述运动向量的方差,根据运动向量的方差确定能值;
3)若所述能量参数包括所述运动向量的均值和所述运动向量的方差,对 运动向量的均值与运动向量的方差进行加权求和,得到能量值。
需要说明的是,在参考帧中的每个像素点都有对应的运动向量(Motion Vector,简称MV)。在本实施例中,上述能量参数可以包括但不限于:上述参考帧中运动向量的二维向量长度(也可称作MV的模)的均值,以及上述参考帧中各个运动向量与平均向量的差值向量的模的平方。其中,上述平均向量中第i维上的数值可以但不限于为各个运动向量在第i维上的均值。
针对上述各个参考解码参数可以单独确定目标分辨率:
1)根据采用跳过模式解码的块的数量和块的总数的关系确定用于对待解码视频帧进行解码的目标分辨率可以包括但不限于:获取采用跳过模式解码的块的数量和块的总数二者之间的比值的倒数;根据该倒数与预定阈值之间的比对结果确定目标分辨率。如在该倒数大于预定阈值的情况下,采用第一分辨率作为目标分辨率;在该倒数小于预定阈值的情况下,采用第二分辨率作为目标分辨率,其中,第二分辨率大于第一分辨率。或者,在本实施例中,根据采用跳过模式解码的块的数量和块的总数的关系确定用于对待解码视频帧进行解码的目标分辨率,还可以包括但不限于:获取参考帧中块的总数和采用跳过模式解码的块的数量二者之间的差值;获取该差值与块的总数的比值,在该比值大于预定阈值的情况下,采用第一分辨率作为目标分辨率;在该比值小于预定阈值的情况下,采用第二分辨率作为目标分辨率,其中,第二分辨率大于第一分辨率。
2)根据采用帧内解码的块的第一数量与采用帧间解码的块的第二数量的关系确定用于对待解码视频帧进行解码的目标分辨率可以包括但不限于:获取采用帧内解码的块的第一数量与采用帧间解码的块的第二数量二者之间的比值;根据该比值与预定阈值之间的比对结果确定目标分辨率。如在该比值大于预定阈值的情况下,采用第一分辨率作为目标分辨率;在该比值小于预定阈值的情况下,采用第二分辨率作为目标分辨率,其中,第二分辨率大于第一分辨率。也就是说,帧间解码的块的数量越多,上述比值越小,则所采用的分辨率越高。或者,在本实施例中,根据采用帧内解码的块的第一数量与采用帧间解码的块的第二数量的关系确定用于对待解码视频帧进行解码的目标分辨率,还可以包括但不限于:获取参考帧中采用帧内解码的块的第一数量与采用帧间解 码的块的第二数量;在第一数量大于第二数量,且二者之间的差值大于预定阈值的情况下,采用第一分辨率作为目标分辨率;在二者之间的差值小于预定阈值的情况下,采用第二分辨率作为目标分辨率,其中,第二分辨率大于第一分辨率。也就是说,在第一数量大于第二数量的情况下,随着帧间解码的块的数量的增加,二者之间的差值越小,则所采用的分辨率越高。反而反之。这里判定方式仅是示例,本实施例中对此不作任何限定。
3)根据能量参数确定参考帧的能量值,并根据该能量值与预定阈值的关系,确定用于对待解码视频帧进行解码的目标分辨率。如在该能量值大于预定阈值的情况下,采用第一分辨率作为目标分辨率;在该能量值小于预定阈值的情况下,采用第二分辨率作为目标分辨率,其中,第一分辨率小于第二分辨率。
4)根据参考帧内第一尺寸的块的第一数量和第二尺寸的块第二数量的关系,来确定用于对待解码视频帧进行解码的目标分辨率可以包括但不限于:获取第一尺寸的块的第一数量和第二尺寸的块第二数量二者之间的比值;根据该比值与预定阈值之间的比对结果确定目标分辨率。如在该比值大于预定阈值的情况下,采用第一分辨率作为目标分辨率;在该比值小于预定阈值的情况下,采用第二分辨率作为目标分辨率,其中,第二分辨率大于第一分辨率。也就是说,第二尺寸的块的数量越多,上述比值越小,则所采用的分辨率越高。此外,在本实施例中,根据参考帧内第一尺寸的块的第一数量和第二尺寸的块第二数量的关系确定用于对待解码视频帧进行解码的目标分辨率,还可以包括但不限于:获取参考帧中第一尺寸的块的第一数量与第二尺寸的块第二数量;在第一数量大于第二数量,且二者之间的差值大于预定阈值的情况下,采用第一分辨率作为目标分辨率;在二者之间的差值小于预定阈值的情况下,采用第二分辨率作为目标分辨率,其中,第二分辨率大于第一分辨率。也就是说,在第一数量大于第二数量的情况下,随着第二尺寸的块的数量的增加,二者之间的差值越小,则所采用的分辨率越高。
此外,针对上述参考解码参数,还可以但不限于整合得到解码指示参数来确定目标分辨率。也就是说,可以但不限于利用预设权重对上述参考解码参数进行加权求和处理,以得用于与预定阈值进行比对的解码指示参数,从而实现根据该解码指示参数来确定待解码视频帧在解码时所采用的目标分辨率。如在 该解码指示参数大于预定阈值的情况下,采用第一分辨率作为目标分辨率;在该解码指示参数小于预定阈值的情况下,采用第二分辨率作为目标分辨率,其中,第二分辨率大于第一分辨率。
可选地,在本实施例中,该解码指示参数的确定方式可以包括但不限于:根据上述参考帧中的参考解码参数确定第一参考值(参考帧中采用跳过模式解码的块的数量与参考帧中的块的总数二者之间的比值的倒数)、第二参考值(参考帧中采用帧内解码的块的第一数量与采用帧间解码的块的第二数量二者之间的比值)、第三参考值(参考帧中运动向量的能量参数(如运动向量的均值和/或运动向量的方差),以确定运动向量的能量值)及第四参考值(参考帧中第一尺寸的块的第三数量与第二尺寸的块的第四数量二者之间的比值),然后对上述四个参考值进行加权求和,以得到上述解码指示参数。
需要说明的是,在本实施例中,与上述每个参考值对应的权重可以但不限于为0至1之间的数值。也就是说,对上述四个参考值中的至少两个可以实现任意组合,以得到解码指示参数。具体的权重与参考值之间的对应关系,本实施例中对此不作任何限定。
此外,在本实施例中,上述第一分辨率可以包括但不限于以下之一:待解码视频帧的原始分辨率、对待解码视频帧进行上采样得到的最高分辨率。上述第二分辨率可以包括但不限于是对第一分辨率按照预定的采样比例进行下采样后得到的分辨率。其中,上述采样比例可以但不限于是根据上述比值与不同阈值的比对结果确定。这里不同阈值可以但不限于是从小于预定阈值的数值区间内确定出的一组阈值。
进一步,在本实施例中,上述参考帧可以包括但不限于以下之一:已完成解码的视频帧中的一帧参考帧、已完成解码的视频帧中的多帧参考帧。其中,上述多帧参考帧可以包括但不限于:连续的多帧参考帧或不连续的多帧参考帧。
可选地,在本实施例中,在自适应决策当前的待解码视频帧所采用的目标分辨率之前,可以但不限于通过以下方式确定决策依据:
1)按照与用于编码视频帧的编码设备约定的方式,来确定自适应决策分辨率的参考依据。如编码端与解码端可以按照通信标准中的约定,对两端使用相同的方式决策所采用的分辨率。解码端的解码设备可以直接从已完成解码的 视频帧中确定出参考帧,确定采用根据参考解码参数来确定待解码视频帧的目标分辨率的方式。
2)获取待解码的码流;从该码流中解析出解码标识位,该解码标识位至少用于指示采用根据参考解码参数来确定待解码视频帧的目标分辨率的方式。
可选地,在本实施例中,采用目标分辨率对待解码视频帧进行解码可以包括但不限于:在自适应决策出针对待解码视频帧所采用的目标分辨率之后,可以但不限于采用相关技术基于该目标分辨率对待解码视频帧进行解码处理:
S1,确定待解码视频帧对应的当前解码模式。如通过获取码流中预设位置对应的标志位,通过标志位得到当前编码模式信息,从而判断当前解码模式是全分辨率模式还是下采样模式。当前解码模式与当前编码模式相同。
S2,根据与待解码视频帧对应的当前的参考帧的分辨率,以及决策得到的待解码视频帧的目标分辨率,确定处理参考帧。其中,判断当前的参考帧的分辨率是否与目标分辨率相同,如果相同,则直接将该当前的参考帧作为处理参考帧;如果不同,则执行S3。
S3,对当前的参考帧根据预设采样规则进行采样得到对应的处理参考帧。其中,解码时采用的预设采样规则与编码时采用的预设采样规则相同。例如,编码端的预设采样规则可以但不限于如下:与当前编码视频帧的分辨率、当前的参考帧与当前编码视频帧的距离相关。如在当前的参考帧与当前编码视频帧的距离D超过预设阈值时,采用1/M下采样,否则采用1/N下采样,其中M<N。因为距离较远的参考帧可能参考价值小于距离较近的参考帧,从而对于距离较远的当前的参考帧,即使与当前编码视频帧的分辨率不同,也可不对其进行采样或使得其采样后的分辨率变化较小。对应的,解码端也可采用上述相同的方法来进行采样,可加快采样速度,进而提高整个解码速度。需要说明的是,上述M的值随着距离D变化,将进一步提高采样参数的灵活性。
此外,如果当前的参考帧与当前解码视频帧的分辨率(如目标分辨率)不相同,则对当前的参考帧进行采样,以得到与当前解码视频帧分辨率相同的处理参考帧,其中对当前的参考帧进行采样包括上采样和下采样:如果当前的参考帧的分辨率大于当前解码视频帧分辨率,则对当前的参考帧进行下采样得到处理参考帧;如果当前的参考帧的分辨率小于当前解码视频帧的分辨率,则对 当前的参考帧进行上采样得到处理参考帧。在一个实施例中,如果当前的参考帧的个数为多个,则分别对每个当前的参考帧根据参考帧分辨率与当前解码视频帧分辨率进行采样,得到与当前解码视频帧分辨率相同的处理参考帧。
进一步,在本实施例中,对当前的参考帧进行采样的采样算法与对重建视频帧进行下采样得到解码视频帧的采样算法匹配,即如果对参考帧进行下采样,则下采样算法与对重建视频帧进行下采样得到解码视频帧的下采样算法相同。如果对参考帧进行上采样,则上采样算法与对重建视频帧进行下采样得到解码视频帧的下采样算法为匹配的相反的采样算法。
S4,根据上述处理参考帧对当前解码视频帧进行解码得到重建视频帧。其中,对码流中的预测残差进行解码,并与处理参考帧的对应预测像素叠加得到重建视频帧。
S5,将重建视频帧根据当前解码模式处理得到解码视频帧,如果当前解码模式为下采样模式,则对重建视频帧进行上采样得到解码视频帧,如果当前编码模式信息为全采样模式,则将重建视频帧确定为解码视频帧。
具体的,对重建视频帧进行上采样的算法与编码端对待编码视频帧进行下采样得到当前编码视频帧的算法为匹配的相反的采样算法。
需要说明的是,在本实施例中,从待解码视频帧中,确定所要重构的至少一对解码块,其中,在至少一对解码块中的每对解码块包括采用第一分辨率的第一解码块和采用第二分辨率的第二解码块,第一解码块与第二解码块为位置邻接的解码块;将第一解码块的第一分辨率调整为目标分辨率,并将第二解码块的第二分辨率调整为目标分辨率;从第一解码块中确定出第一边缘像素点集,并从第二解码块中确定出第二边缘像素点集,其中,第一边缘像素点集的位置与第二边缘像素点集的位置邻接;对第一边缘像素点集进行滤波处理,得到滤波后的第一边缘像素点集,并对第二边缘像素点集进行滤波处理,得到滤波后的第二边缘像素点集,其中,滤波后的第一边缘像素点集中第i个像素点的像素值与滤波后的第二边缘像素点集中与第i个像素点对应的第j个像素点的像素值之间的第一差值,小于第一边缘像素点集中第i个像素点的像素值与第二边缘像素点集中第j个像素点的像素值之间的第二差值,i为正整数,且小于等于第一边缘像素点集中像素点的总数,j为正整数,且小于等于第二边缘像 素点集中像素点的总数。
其中,上述调整目标分辨率的方式包括以下之一:
1)在目标分辨率等于第一分辨率的情况下,将第二分辨率调整为第一分辨率;
2)在目标分辨率等于第二分辨率的情况下,将第一分辨率调整为第二分辨率;
3)在目标分辨率等于第三分辨率的情况下,将第一分辨率调整为第三分辨率,并将第二分辨率调整为第三分辨率,其中,该第三分辨率与第一分辨率不同,且与第二分辨率不同。
通过对上述解码块进行分辨率调整,并对解码块中确定出的边缘像素点集进行边缘滤波处理,以使得在重构过程中可以避免在视频中出现明显接缝,从而保证准确地还原出视频中的内容,进而解决了分辨率不一致导致的视频失真的技术问题。
通过本申请提供的实施例,针对待解码视频中当前的待解码视频帧,可以从在该待解码视频帧之前已完成解码的视频帧中,获取参考帧中参考解码参数,根据融合上述参考解码参数后得到的解码指示参数,来确定上述待解码视频帧解码所采用的目标分辨率,其中,参考解码参数包括以下至少之一:参考帧中采用跳过模式已解码的块的数量与参考帧中的块的总数之间的第一比值、参考帧中采用帧内解码的块的第一数量与采用帧间解码的块的第二数量之间的第二比值、参考帧中运动向量的能量、参考帧中第一尺寸的块的第三数量与第二尺寸的块的第四数量之间的第三比值,第一尺寸大于第二尺寸。针对不同待解码视频帧,可以实现自适应选择不同的分辨率,保证视频播放质量,而不再采用统一的分辨率进行解码,进而克服相关技术中采用统一的分辨率所导致的失真的问题。
作为一种可选的方案,根据参考解码参数确定用于对待解码视频帧进行解码的目标分辨率包括:
S1,根据参考解码参数之间的关系得到解码指示参数
S2,在解码指示参数大于预定阈值的情况下,采用第一分辨率作为目标分辨率;在解码指示参数小于预定阈值的情况下,采用第二分辨率作为目标分辨 率,其中,第二分辨率大于第一分辨率。
需要说明的是,在本实施例中,上述第一分辨率可以包括但不限于以下之一:待解码视频帧的原始分辨率、对待解码视频帧进行上采样得到的最高分辨率。上述第二分辨率可以包括但不限于是对第一分辨率按照预定的采样比例进行采样后得到的分辨率。其中,上述采样比例可以但不限于是根据上述比值与不同阈值的比对结果确定。这里不同阈值可以但不限于是从小于预定阈值的区间内确定出的一组阈值。
可选地,在本实施例中,还包括:
S1,在解码指示参数大于预定阈值的情况下,从大于预定阈值的数值区间内确定一组阈值;
S2,对解码指示参数与一组阈值中包括的各个阈值进行比对;
S3,根据比对的结果确定采样比例;
S4,按照采样比例对第二分辨率进行下采样,以确定第一分辨率。
可选地,在本实施例中,根据比对的结果确定采样比例包括:在确定能量值位于目标区间的情况下,获取为目标区间配置的目标采样比例,其中,目标区间包括一组阈值中相邻的第一阈值与第二阈值之间的数值,第一阈值小于第二阈值;按照采样比例对第二分辨率进行下采样包括:按照目标采样比例,对第二分辨率的宽高进行下采样,以得到第一分辨率。
具体结合以下示例进行说明,假设预定阈值为A1,从大于预定阈值的数值区间内确定出的一组阈值包括:A2至A5,其中,A2<A3<A4<A5。进一步假设解码指示参数为r。确定过程可以如下:
在确定r<A1的情况下,则表示已完成解码的视频帧中相同的图像较多,对应的采用高分辨率R(如第二分辨率)对上述待解码视频帧进行解码;在确定A1≥r>A2的情况下,则可以确定采样比例为高分辨率R的宽高的3/4,按照上述采样比例对高分辨率R进行采样,得到用于解码的分辨率R’(如第一分辨率);在确定A3≥r>A4的情况下,则可以确定采样比例为高分辨率R的宽高的2/3,按照上述采样比例对高分辨率R进行采样,得到用于解码的分辨率R’(如第一分辨率);在确定A4≥r>A5的情况下,则可以确定采样比例为高分辨率R的宽高的1/3,按照上述采样比例对高分辨率R进行采样,得到用于解码的分辨率R’ (如第一分辨率)。
需要说明的是,上述采样比例为示例,根据不同的阈值对应的区间可以设置为不同的取值,本实施例中对采样比例的数值,以及采样比例与阈值之间的对应关系不作任何限定。
通过本申请提供的实施例,获取参考帧中参考解码参数之间的关系,以确定解码指示参数,从而实现根据该解码指示参数与预定阈值的比对结果,自适应选择与当前的待解码视频帧匹配的分辨率,提高了分辨率决策的灵活性,且无需复杂的决策过程,以便于在解码过程中针对不同的视频帧可以快速决策出所采用的分辨率,以提高解码过程的解码效率。
作为一种可选的方案,从已完成解码的视频帧中,获取待解码视频帧关联的参考帧的参考解码参数包括:
S1,从已完成解码的视频帧中确定出一帧参考帧作为目标参考帧;
S2,获取目标参考帧中的参考解码参数。
可选地,在本实施例中,上述S1,从已完成解码的视频帧中确定出一帧参考帧作为目标参考帧包括:在待解码视频帧为第t帧视频帧的情况下,确定第t-k帧视频帧为目标参考帧;上述S2,获取目标参考帧中的参考解码参数包括:从第t-k帧视频帧中,获取目标参考帧中的参考解码参数,其中,k为预先确定的正整数、t为正整数,t>k。
可选地,在本实施例中,在获取目标参考帧中的参考解码参数之后,还包括:确定与目标参考帧中的参考解码参数分别匹配的第一权重;利用第一权重,对目标参考帧中的参考解码参数进行加权求和,得到解码指示参数。
具体结合图3所示示例进行说明:
假设待解码视频帧为第t帧视频帧,从已完成解码的视频帧中确定出目标参考帧为第t-k帧视频帧,其中,第t-k帧视频帧中块的总数为N。进一步,假设从第t-k帧视频帧中,1)获取采用跳过模式已解码的块(如图3(a)所示斜线区域所在块)的数量M1和块的总数N,并计算二者之间的比值的倒数(作为第一参考值):P1=1/(M1/N)=N/M1;2)获取采用帧内解码的块(如图3(b)所示斜线区域所在块)的数量Q1和采用帧间解码的块(如图3(b)所示圆点区域所在块)的数量Q2,并计算比值(作为第二参考值)P2=Q1/Q2;3)获取 各个块的运动向量v
i(如图3(c)所示斜线区域所在块中标记的带箭头的线条),并计算上述运动向量v
i的均值ε和方差D的加权求和结果,得到能量值E(作为第三参考值);4)获取第一尺寸的块(如图3(d)所示斜线所在正方形区域)的数量T1和第二尺寸的块(如图3(d)所示斜线所在矩形区域)数量T2,并计算比值(作为第四参考值)P3=T1/T2。
然后,确定上述参考解码参数分别匹配的第一权重。例如,与比值P1对应的权重为w1,与比值P2对应的权重为w2,与E对应的权重为w3,与比值P3对应的权重为w4,则可以通过对上述参考解码参数进行加权求和,以得到解码指示参数r:
r=P1*w1+P2*w2+E*w3+P3*w4
例如,比对该解码指示参数r与预定阈值A1,在确定r<A1的情况下,确定采用高分辨率R(如第二分辨率)对上述待解码视频帧进行解码;在r≥A1的情况下,从大于A1的数值区间获取一组阈值,假设一组阈值包括:A2至A5,其中,A2<A3<A4<A5。假设经比对确定:A4<r≤A5,,则可以确定采样比例为高分辨率R(如第二分辨率)的宽高的1/3,按照上述采样比例对高分辨率R进行采样,得到用于解码的分辨率R’(如第一分辨率)。采用分辨率R’(如第一分辨率)对第t帧视频帧进行解码。
通过本申请提供的实施例,在从已完成解码的视频帧中确定出一帧参考帧作为目标参考帧之后,获取在该目标参考帧中的参考解码参数,以得到解码指示参数,进一步利用解码指示参数与预定阈值的比对结果,来自适应选择与当前的待解码视频帧对应的目标分辨率进行解码。从而实现针对待解码视频帧,快速决策出所要采用的分辨率,以克服相关技术中决策分辨率的操作较复杂所导致的解码效率较低的问题。
作为一种可选的方案,从已完成解码的视频帧中,获取待解码视频帧关联的参考帧的参考解码参数包括:
S1,从已完成解码的视频帧中确定出多帧参考帧作为目标参考帧;
S2,获取目标参考帧中的参考解码参数。
可选地,在本实施例中,从已完成解码的视频帧中确定出多帧参考帧作为目标参考帧包括:从已完成解码的视频帧中,确定出连续的多帧视频帧或不连 续的多帧视频帧,作为目标参考帧。
例如,上述目标参考帧可以为连续的参考帧,如图4所示的从第t-k1帧视频帧至第t-k2帧视频帧的多帧连续视频帧,确定为待解码视频帧的目标参考帧。假设以参考解码参数中的第一尺寸的块的数量与第二尺寸的块的数量之间的比值为例进行说明,如图4所示,在上述多帧参考帧内包括T1个第一尺寸的块(如图4所示小块斜线区域)和T2个第二尺寸的块(如图4所示大块斜线区域)。
此外,上述目标参考帧也可以为不连续的参考帧,如图5所示的从第t-k1帧视频帧至第t-k2帧视频帧中,选择离散的多个视频帧,如包含第t-k1帧视频帧的一组视频帧,以及包含第t-k2帧视频帧的一组视频帧,确定为待解码视频帧的目标参考帧。假设在上述多帧参考帧内包括T1个第一尺寸的块(如图5所示小块斜线区域)和T2个第二尺寸的块(如图5所示大块斜线区域)。
其中,上述目标参考帧中,每个参考帧中块的总数可以相同数值,如均为N(如图4-5所示),也可以为不同数值,如分别为N1,N2…(图中未示出),本实施例中对此不作任何限定。
需要说明的是,上述参数k1与k2可以但不限于为与编码端的编码设备预先约定的参数,也可以为通过解析码流中指定位置的标识位确定出的参数。本实施例中对此不作任何限定。
可选地,在本实施例中,上述S1,从已完成解码的视频帧中确定出多帧参考帧作为目标参考帧包括:在待解码视频帧为第t帧视频帧的情况下,确定第t-k1帧视频帧至第t-k2帧视频帧为目标参考帧;上述S2,获取目标参考帧中的参考解码参数包括:从第t-k1帧视频帧至第t-k2帧视频帧中,获取目标参考帧中的参考解码参数,其中,k1和k2为预先确定的正整数、t为正整数,t>k1>k2。
可选地,在本实施例中,在获取目标参考帧中参考解码参数之后,还包括:确定与目标参考帧中的参考解码参数分别匹配的第二权重;利用第二权重,对目标参考帧中的参考解码参数进行加权求和,得到解码指示参数。
具体结合图6所示示例进行说明:假设目标参考帧为第t-1帧视频帧至第t-2帧视频帧的连续多帧视频帧,其中,每个参考帧中块的总数均为N。
进一步,假设从第t-1帧视频帧中获取到参考解码参数包括:1)采用跳过模式已解码的块(如图3(a1)所示斜线区域所在块)的数量M1和块的总数N; 2)采用帧内解码的块(如图3(b1)所示斜线区域所在块)的数量Q1和采用帧间解码的块(如图3(b1)所示圆点区域所在块)的数量Q2;3)各个块的运动向量v
i(如图3(c1)所示斜线区域所在块中标记的带箭头的线条),并根据上述运动向量v
i的均值ε和方差D确定能量值E,其中,各个像素点的运动向量v
i,可以如图所示的一个块对应一个像素点,斜线块内带箭头的线条用于标识该像素点的运动向量;4)第一尺寸的块(如图3(d1)所示小块斜线区域)的数量T1和第二尺寸的块(如图3(d1)所示大块斜线区域)数量T2。
此外,从第t-2帧视频帧中获取到参考解码参数包括:,1)采用跳过模式已解码的块(如图3(a2)所示斜线区域所在块)的数量M1’和块的总数N’;2)采用帧内解码的块(如图3(b2)所示斜线区域所在块)的数量Q1’和采用帧间解码的块(如图3(b2)所示圆点区域所在块)的数量Q2’;3)各个块的运动向量v
i(如图3(c2)所示斜线区域所在块中标记的带箭头的线条),并根据上述运动向量v
i’的均值ε’和方差D’确定能量值E’,其中,各个像素点的运动向量v
i’,可以如图所示的一个块对应一个像素点,斜线块内带箭头的线条用于标识该像素点的运动向量;4)第一尺寸的块(如图3(d2)所示小块斜线区域)的数量T1’和第二尺寸的块(如图3(d2)所示大块斜线区域)数量T2’。
进一步,可以为但不限于为每种参考解码参数配置第二权重。例如,可以通过对上述参考解码参数进行加权求和,以得到解码指示参数r:
1)r=(M1+M1’)/(N+N)*w1’+(Q1+Q1’)/(Q2+Q2’)*w2’+(E+E’)*w3+(T1+T1’)/(T2+T2’)*w4’
上述公式为统计多帧视频帧的全部信息后,再计算解码指示参数,仅为一种可选的示例。
此外,还可以针对各个视频帧中参考解码参数分别计算,再对各个视频帧的各个结果进行加权求和计算。例如,基于第t-1帧中的参考解码参数得到的解码指示参数为r1,基于第t-2帧中的参考解码参数得到的解码指示参数为r2,对上述r1和r2进行加权求和,将得到目标参考帧对应的解码指示参数r。
作为一种可选的方案,目标分辨率还可以通过如下方式确定:
S1,解析码流得到与待解码视频帧对应的解码标识位;
S2,获取解码标识位所指示的目标分辨率。
需要说明的是,为了简化解码端确定目标分辨率的操作,还可以由编码端直接将编码设备已按照上述决策方式确定出的目标分辨率,以标识位的方式写入码流。则解码端的解码设备在从码流中解析得到上述解码标识位后,可以直接获取已确定的目标分辨率。
其中,上述解码标识位可以但不限于通过以下语法元素来指示:
1)获取每个待解码视频帧对应的语法元素,其中,语法元素用于指示解码上述待解码视频帧所采用的分辨率,解码多个待解码视频帧所采用的多个分辨率包括至少两个不同的分辨率;
2)获取多个待解码视频帧中每个待解码视频帧对应的语法元素,其中,语法元素用于指示第三分辨率与第四分辨率之间的关系,第三分辨率为解码上述待解码视频帧所采用的分辨率,第四分辨率为解码上述待解码视频帧的参考帧所采用的分辨率,解码多个待解码视频帧所采用的多个分辨率包括至少两个不同的分辨率;根据语法元素以及第四分辨率确定每个区域所对应的第三分辨率。
这样无论是在传输的带宽比较小的情况下,还是在传输的带宽比较大的情况下,对应的峰值信噪比都相对较大,失真相对较小,从而保证了峰值信噪比能够在一个较小的范围内变化,并且峰值信噪比都相对较大,从而实现了避免对视频进行编解码的峰值信噪比波动较大的技术效果。
通过本申请提供的实施例,通过解码标识位来直接获取决策出的解码所需的目标分辨率,以简化解码端的处理过程,从而降低传输过程中的开销和解码端的解码复杂度,进而达到提高解码效率的效果。
上述均为示例,本实施例中对此不作任何限定。
通过本申请提供的实施例,在从已完成解码的视频帧中确定出多帧参考帧作为目标参考帧之后,获取在该目标参考帧中的参考解码参数,以确定解码指示参数,从而实现根据上述解码指示参数与预定阈值的比对结果,来自适应选择与当前的待解码视频帧对应的目标分辨率进行解码。从而实现针对待解码视频帧,快速决策出所要采用的分辨率,以克服相关技术中决策分辨率的操作较复杂所导致的解码效率较低的问题。
可选地,作为一种可选的实施方式,如图7所示,上述视频编码方法包括:
S702,确定待编码视频帧;
S704,从已完成编码的视频帧中,获取待编码视频帧关联的参考帧的参考编码参数,其中,参考编码参数包括以下至少两个:参考帧中采用跳过模式编码的块的数量与参考帧中的块的总数、参考帧中采用帧内编码的块的第一数量与采用帧间编码的块的第二数量、参考帧中运动向量的能量参数、参考帧中第一尺寸的块的第三数量与第二尺寸的块的第四数量,第一尺寸小于第二尺寸;
S706,根据参考编码参数确定用于对待编码视频帧进行编码的目标分辨率;
S708,采用目标分辨率对待编码视频帧进行编码。
需要说明的是,上述图7所示视频编码方法可以但不限于用于图1所示的视频编码器中。通过该视频编码器与其他部件的交互配合,来完成对待编码视频帧的编码过程。
可选地,在本实施例中,上述视频编码方法可以但不限于应用于视频播放应用、视频共享应用或视频会话应用等应用场景中。其中,上述应用场景中所传输的视频可以包括但不限于:长视频、短视频,如长视频可以为播放时间较长(例如播放时长大于10分钟)的播放剧集,或长时间视频会话中所展示的画面,短视频可以为双方或多方交互的语音消息,或用于在共享平台展示的播放时间较短(例如播放时长小于等于30秒)的视频。上述仅是示例,本实施例中所提供的视频编码方法可以但不限于应用于上述应用场景中,在获取到已完成编码的视频帧之后,基于从上述视频帧确定出的参考帧的参考编码参数,来自适应决策待编码视频帧所采用的目标分辨率,以简化确定上述待编码视频帧所采用的目标分辨率的操作,从而克服相关技术中视频编码效率较低的问题,达到提高编码效率的效果。
需要说明的是,在本实施例中,针对确定出的待编码视频帧,可以从在已完成编码的视频帧中,获取与上述待编码视频帧关联的参考帧的参考编码参数,该参考编码参数包括以下至少两个:参考帧中采用跳过模式编码的块的数量与参考帧中的块的总数、参考帧中采用帧内编码的块的第一数量与采用帧间编码的块的第二数量、参考帧中运动向量的能量参数、参考帧中第一尺寸的块的第三数量与第二尺寸的块的第四数量,第一尺寸小于第二尺寸;利用上述参考编 码参数之间的关系,来确定用于对待编码视频帧进行编码的目标分辨率,并采用该目标分辨率对待编码视频帧进行编码。从而实现利用上述参考帧中参考编码参数之间的关系,来确定对待编码视频帧进行编码时所采用的分辨率,达到针对不同待编码视频帧自适应选择不同的分辨率,以简化确定上述待编码视频帧所采用的目标分辨率的操作,从而克服相关技术中视频编码效率较低的问题,达到提高编码效率的效果。
作为一种可选的方案,根据参考编码参数确定用于对待编码视频帧进行编码的目标分辨率包括:
S1,根据参考编码参数之间的关系得到编码指示参数;
S2,在编码指示参数大于预定阈值的情况下,采用第一分辨率作为目标分辨率;在编码指示参数小于预定阈值的情况下,采用第二分辨率作为目标分辨率,其中,第二分辨率大于第一分辨率。
可选地,在本实施例中,还包括:
S1,在编码指示参数大于预定阈值的情况下,从大于预定阈值的数值区间内确定一组阈值;
S2,对编码指示参数与一组阈值中包括的各个阈值进行比对;
S3,根据比对的结果确定采样比例;
S4,按照采样比例对第二分辨率进行下采样,以确定第一分辨率。
在本实施例中,上述视频编码方法的具体实施例,可以但不限于参考视频解码方法的具体实施例,采用与解码方法对应的相反的处理方式,来对各个待编码视频帧自适应决策匹配的分辨率进行编码。本实施例中在此不再赘述。
具体结合图8所示示例中S802-S830进行说明:在编码端,获取待编码视频帧,并通过分辨率决策,选择其编码所采用的分辨率。然后,根据待编码视频帧的当前编码信息和/或图像特征信息从可选编码模式中确定当前编码模式,如果是全分辨率模式,则确定无需下采样编码,并执行S808-1至S816-1:对原分辨率图像帧进行帧内/帧间预测得到预测残差、变换/量化及熵编码处理,得到编码数据,并确定所采用分辨率的分辨率标识。进一步对上述数据进行编码,如S820,输出码流。
而如果是下采样模式,则需下采样,并执行S810-2至S818-2:获取下采样 图像帧,并对该图像帧进行帧内/帧间预测得到预测残差、变换/量化及熵编码处理,得到编码数据,并确定所采用分辨率的分辨率标识。进一步对上述数据进行编码,如S820,输出码流。
然后,将码流输入解码端。如S822至S830:对待解码视频帧进行自适应决策以确定其分辨率,之后,再解码得到重建视频帧。如果确定是采用下采样模式,则对重建视频帧进行上采样,以得到解码视频帧,否则,直接输出解码视频帧。
上述仅是一种示例,本实施例中所提供的视频编码方法和视频解码方法,应用于上述图中所示分辨率决策过程,用于在编码端和解码端针对不同待编码视频帧/待解码视频帧进行自适应决策分辨率,以达到简化编解码过程中确定各个帧所采用的分辨率的过程,从而达到提高编解码效率的效果。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
根据本申请实施例的另一个方面,还提供了一种用于实施上述视频解码方法的视频解码装置。如图9所示,该装置包括:
1)解码确定模块902,用于确定待解码视频帧;
2)获取模块904,用于从已完成解码的视频帧中,获取待解码视频帧关联的参考帧的参考解码参数,其中,参考解码参数包括以下至少两个:参考帧中采用跳过模式解码的块的数量与参考帧中的块的总数、参考帧中采用帧内解码的块的第一数量与采用帧间解码的块的第二数量、参考帧中运动向量的能量参数、参考帧中第一尺寸的块的第三数量与第二尺寸的块的第四数量,第一尺寸小于第二尺寸;
3)第一处理模块906,用于根据参考解码参数确定用于对待解码视频帧进行解码的目标分辨率;
4)解码模块908,用于采用目标分辨率对待解码视频帧进行解码。
具体实施例可以参考上述视频解码方法中所示示例,本示例中在此不再赘述。
作为一种可选的方案,第一处理模块906包括:
1)第一确定子模块,用于根据参考解码参数之间的关系得到解码指示参数;
2)第一处理子模块,用于在解码指示参数大于预定阈值的情况下,采用第一分辨率作为目标分辨率;还用于在解码指示参数小于预定阈值的情况下,采用第二分辨率作为目标分辨率,其中,第二分辨率大于第一分辨率。
具体实施例可以参考上述视频解码方法中所示示例,本示例中在此不再赘述。
作为一种可选的方案,还包括:
1)第二确定子模块,用于在解码指示参数大于预定阈值的情况下,从大于预定阈值的数值区间内确定一组阈值;
2)比对子模块,用于对解码指示参数与一组阈值中包括的各个阈值进行比对;
3)第三确定子模块,用于根据比对的结果确定采样比例;
4)采样子模块,用于按照采样比例对第二分辨率进行下采样,以确定第一分辨率。
可选地,在本实施例中,上述第三确定子模块通过以下步骤实现根据比对的结果确定采样比例:在确定解码指示参数位于目标区间的情况下,获取为目标区间配置的目标采样比例,其中,目标区间包括一组阈值中相邻的第一阈值与第二阈值之间的数值,第一阈值小于第二阈值;按照采样比例对第二分辨率进行下采样包括:按照目标采样比例,对第二分辨率的宽高进行下采样,以得到第一分辨率。
具体实施例可以参考上述视频解码方法中所示示例,本示例中在此不再赘述。
作为一种可选的方案,获取模块904包括:
1)第四确定子模块,用于从已完成解码的视频帧中确定出一帧参考帧作为目标参考帧;
2)第一获取子模块,用于获取目标参考帧中的参考解码参数。
具体实施例可以参考上述视频解码方法中所示示例,本示例中在此不再赘述。
作为一种可选的方案,
1)第四确定子模块包括:(1)第一确定单元,用于在待解码视频帧为第t帧视频帧的情况下,确定第t-k帧视频帧为目标参考帧;
2)第一获取子模块包括:(1)第一获取单元,用于从第t-k帧视频帧中,获取目标参考帧中的参考解码参数,其中,k为预先确定的正整数、t为正整数,t>k。
具体实施例可以参考上述视频解码方法中所示示例,本示例中在此不再赘述。
作为一种可选的方案,还包括:
1)第五确定子模块,用于在获取目标参考帧中的参考解码参数之后,确定与目标参考帧中的参考解码参数分别匹配的第一权重;
2)第一运算子模块,用于利用第一权重,对目标参考帧中的参考解码参数进行加权求和,得到解码指示参数。
具体实施例可以参考上述视频解码方法中所示示例,本示例中在此不再赘述。
作为一种可选的方案,获取模块904包括:
1)第六确定子模块,用于从已完成解码的视频帧中确定出多帧参考帧作为目标参考帧;
2)第二获取子模块,用于获取目标参考帧中的参考解码参数。
可选地,在本实施例中,上述第六确定子模块通过以下步骤实现:从已完成解码的视频帧中,确定出连续的多帧视频帧或不连续的多帧视频帧,作为目标参考帧。
具体实施例可以参考上述视频解码方法中所示示例,本示例中在此不再赘述。
作为一种可选的方案,
1)第六确定子模块包括:(1)第二确定单元,用于在待解码视频帧为第t 帧视频帧的情况下,确定第t-k1帧视频帧至第t-k2帧视频帧为目标参考帧;
2)第二获取子模块包括:(1)第二获取单元,用于从第t-k1帧视频帧至第t-k2帧视频帧中,获取目标参考帧中的参考解码参数,其中,k1和k2为预先确定的正整数、t为正整数,t>k1>k2。
具体实施例可以参考上述视频解码方法中所示示例,本示例中在此不再赘述。
作为一种可选的方案,还包括:
1)第七确定子模块,用于在获取目标参考帧中参考解码参数之后,确定与目标参考帧中的参考解码参数分别匹配的第二权重;
2)第二运算子模块,用于利用第二权重,对目标参考帧中的参考解码参数进行加权求和,得到解码指示参数。
具体实施例可以参考上述视频解码方法中所示示例,本示例中在此不再赘述。
根据本申请实施例的另一个方面,还提供了一种用于实施上述视频编码方法的视频编码装置。如图10所示,该装置包括:
1)编码确定模块1002,用于确定出待编码视频中的待编码视频帧;
2)获取模块1004,用于从在待编码视频帧之前已完成编码的视频帧中,获取参考帧中的参考编码参数,其中,参考编码参数包括以下至少之一:参考帧中采用跳过模式已编码的块的数量与参考帧中的块的总数之间的第一比值、参考帧中采用帧内编码的块的第一数量与采用帧间编码的块的第二数量之间的第二比值、参考帧中运动向量的能量、参考帧中第一尺寸的块的第三数量与第二尺寸的块的第四数量之间的第三比值,第一尺寸大于第二尺寸;
3)处理模块1006,用于根据融合参考编码参数得到的编码指示参数,确定用于对待编码视频帧进行编码的目标分辨率;
4)编码模块1008,用于采用目标分辨率对待编码视频帧进行编码。
具体实施例可以参考上述视频编码方法中所示示例,本示例中在此不再赘述。
作为一种可选的方案,处理模块1006包括:
1)第一确定子模块,用于根据参考编码参数之间的关系得到编码指示参 数;
2)第一处理子模块,用于在编码指示参数大于预定阈值的情况下,采用第一分辨率作为目标分辨率;还用于在编码指示参数小于预定阈值的情况下,采用第二分辨率作为目标分辨率,其中,第二分辨率大于第一分辨率。
具体实施例可以参考上述视频编码方法中所示示例,本示例中在此不再赘述。
作为一种可选的方案,还包括:
1)第二确定子模块,用于在编码指示参数大于预定阈值的情况下,从大于预定阈值的数值区间内确定一组阈值;
2)比对子模块,用于对编码指示参数与一组阈值中包括的各个阈值进行比对;
3)第三确定子模块,用于根据比对的结果确定采样比例;
4)采样子模块,用于按照采样比例对第二分辨率进行下采样,以确定第一分辨率。
具体实施例可以参考上述视频编码方法中所示示例,本示例中在此不再赘述。
根据本申请实施例的又一个方面,还提供了一种用于实施上述视频解码方法的电子装置,需要说明的是,图11和图12中的电子装置可以为前述的视频处理设备。
如图11所示,该电子装置包括存储器1102和处理器1104,该存储器1102中存储有计算机程序,该处理器1104被设置为通过计算机程序执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述电子装置可以位于计算机网络的多个网络设备中的至少一个网络设备。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,确定待解码视频帧;
S2,从已完成解码的视频帧中,获取待解码视频帧关联的参考帧的参考解码参数,其中,参考解码参数包括以下至少两个:参考帧中采用跳过模式解码 的块的数量与参考帧中的块的总数、参考帧中采用帧内解码的块的第一数量与采用帧间解码的块的第二数量、参考帧中运动向量的能量参数、参考帧中第一尺寸的块的第三数量与第二尺寸的块的第四数量,第一尺寸小于第二尺寸;
S3,根据参考解码参数确定用于对待解码视频帧进行解码的目标分辨率;
S4,采用目标分辨率对待解码视频帧进行解码。
可选地,本领域普通技术人员可以理解,图11所示的结构仅为示意,电子装置也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile Internet Devices,MID)、PAD等终端设备。图11其并不对上述电子装置的结构造成限定。例如,电子装置还可包括比图11中所示更多或者更少的组件(如网络接口等),或者具有与图11所示不同的配置。
其中,存储器1102可用于存储软件程序以及模块,如本申请实施例中的视频解码方法和装置对应的程序指令/模块,处理器1104通过运行存储在存储器1102内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的视频解码方法。存储器1102可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器1102可进一步包括相对于处理器1104远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。其中,存储器1102具体可以但不限于用于存储待解码视频帧等信息。作为一种示例,如图11所示,上述存储器1102中可以但不限于包括上述视频解码装置中的解码确定模块902、获取模块904、第一处理模块906及解码模块908。此外,还可以包括但不限于上述视频解码装置中的其他模块单元,本示例中不再赘述。
可选地,上述的传输装置1106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置1106包括一个网络适配器(Network Interface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置1106为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
此外,上述电子装置还包括:显示器1108,用于显示解码后的视频;和连 接总线1110,用于连接上述电子装置中的各个模块部件。
根据本申请实施例的又一个方面,还提供了一种用于实施上述视频编码方法的电子装置,如图12所示,该电子装置包括存储器1202和处理器1204,该存储器1202中存储有计算机程序,该处理器1204被设置为通过计算机程序执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述电子装置可以位于计算机网络的多个网络设备中的至少一个网络设备。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,确定待编码视频帧;
S2,从已完成编码的视频帧中,获取待编码视频帧关联的参考帧的参考编码参数,其中,参考编码参数包括以下至少两个:参考帧中采用跳过模式编码的块的数量与参考帧中的块的总数、参考帧中采用帧内编码的块的第一数量与采用帧间编码的块的第二数量、参考帧中运动向量的能量参数、参考帧中第一尺寸的块的第三数量与第二尺寸的块的第四数量,第一尺寸小于第二尺寸;
S3,根据参考编码参数确定用于对待编码视频帧进行编码的目标分辨率;
S4,采用目标分辨率对待编码视频帧进行编码。
可选地,本领域普通技术人员可以理解,图12所示的结构仅为示意,电子装置也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile Internet Devices,MID)、PAD等终端设备。图12其并不对上述电子装置的结构造成限定。例如,电子装置还可包括比图12中所示更多或者更少的组件(如网络接口等),或者具有与图12所示不同的配置。
其中,存储器1202可用于存储软件程序以及模块,如本申请实施例中的视频编码方法和装置对应的程序指令/模块,处理器1204通过运行存储在存储器1202内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的视频编码方法。存储器1202可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器1202可进一步包括相对于处理器1204远程设置的存储器, 这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。其中,存储器1202具体可以但不限于用于待编码视频帧等信息。作为一种示例,如图12所示,上述存储器1202中可以但不限于包括上述视频编码装置中的编码确定模块1002、获取模块1004、处理模块1006及编码模块1008。此外,还可以包括但不限于上述视频编码装置中的其他模块单元,本示例中不再赘述。
可选地,上述的传输装置1206用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置1206包括一个网络适配器(Network Interface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置1206为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
此外,上述电子装置还包括:显示器1208,用于显示编码前的视频;和连接总线1210,用于连接上述电子装置中的各个模块部件。
根据本申请的实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述计算机可读的存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,确定待解码视频帧;
S2,从已完成解码的视频帧中,获取待解码视频帧关联的参考帧的参考解码参数,其中,参考解码参数包括以下至少两个:参考帧中采用跳过模式解码的块的数量与参考帧中的块的总数、参考帧中采用帧内解码的块的第一数量与采用帧间解码的块的第二数量、参考帧中运动向量的能量参数、参考帧中第一尺寸的块的第三数量与第二尺寸的块的第四数量,第一尺寸小于第二尺寸;
S3,根据参考解码参数确定用于对待解码视频帧进行解码的目标分辨率;
S4,采用目标分辨率对待解码视频帧进行解码。
可选地,在本实施例中,上述计算机可读的存储介质还可以被设置为存储 用于执行以下步骤的计算机程序:
S1,确定待编码视频帧;
S2,从已完成编码的视频帧中,获取待编码视频帧关联的参考帧的参考编码参数,其中,参考编码参数包括以下至少两个:参考帧中采用跳过模式编码的块的数量与参考帧中的块的总数、参考帧中采用帧内编码的块的第一数量与采用帧间编码的块的第二数量、参考帧中运动向量的能量参数、参考帧中第一尺寸的块的第三数量与第二尺寸的块的第四数量,第一尺寸小于第二尺寸;
S3,根据参考编码参数确定用于对待编码视频帧进行编码的目标分辨率;
S4,采用目标分辨率对待编码视频帧进行编码。
本申请实施例还提供了一种包括指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例提供的视频解码方法或视频编码方法。
可选地,在本实施例中,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random Access Memory,RAM)、磁盘或光盘等。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式, 例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (20)
- 一种视频解码方法,所述方法由视频处理设备执行,所述方法包括:确定待解码视频帧;从已完成解码的视频帧中,获取所述待解码视频帧关联的参考帧的参考解码参数,其中,所述参考解码参数包括以下至少两个:所述参考帧中采用跳过模式解码的块的数量与所述参考帧中的块的总数、所述参考帧中采用帧内解码的块的第一数量与采用帧间解码的块的第二数量、所述参考帧中运动向量的能量参数、所述参考帧中第一尺寸的块的第三数量与第二尺寸的块的第四数量,所述第一尺寸小于所述第二尺寸;根据所述参考解码参数确定用于对所述待解码视频帧进行解码的目标分辨率;采用所述目标分辨率对所述待解码视频帧进行解码。
- 根据权利要求1所述的方法,所述根据所述参考解码参数确定用于对所述待解码视频帧进行解码的目标分辨率包括:根据所述参考解码参数之间的关系得到解码指示参数;在所述解码指示参数大于预定阈值的情况下,采用第一分辨率作为所述目标分辨率;在所述解码指示参数小于所述预定阈值的情况下,采用第二分辨率作为所述目标分辨率,其中,所述第二分辨率大于所述第一分辨率。
- 根据权利要求2所述的方法,所述方法还包括:在所述解码指示参数大于所述预定阈值的情况下,从大于所述预定阈值的数值区间内确定一组阈值;对所述解码指示参数与所述一组阈值中包括的各个阈值进行比对;根据比对的结果确定采样比例;按照所述采样比例对所述第二分辨率进行下采样,以确定所述第一分辨率。
- 根据权利要求3所述的方法,所述根据比对的结果确定采样比例包括:在确定所述解码指示参数位于目标区间的情况下,获取为所述目标区间配置的目标采样比例,其中,所述目标区间包括所述一组阈值中相邻的第一阈值与第二阈值之间的数值,所述第一阈值小于所述第二阈值;所述按照所述采样比例对所述第二分辨率进行下采样包括:按照所述目标采样比例,对所述第二分辨率的宽高进行下采样,以得到所述第一分辨率。
- 根据权利要求1所述的方法,所述从已完成解码的视频帧中,获取所述待解码视频帧关联的参考帧的参考解码参数包括:从已完成解码的视频帧中确定出一帧参考帧作为目标参考帧;获取所述目标参考帧中的所述参考解码参数。
- 根据权利要求5所述的方法,所述从已完成解码的视频帧中确定出一帧参考帧包括:在所述待解码视频帧为第t帧视频帧的情况下,确定第t-k帧视频帧为所述目标参考帧;所述获取所述目标参考帧中的所述参考解码参数包括:从所述第t-k帧视频帧中,获取所述目标参考帧中的所述参考解码参数,其中,所述k为预先确定的正整数、所述t为正整数,t>k。
- 根据权利要求5所述的方法,在所述获取所述目标参考帧中的所述参考解码参数之后,还包括:确定与所述目标参考帧中的所述参考解码参数分别匹配的第一权重;利用所述第一权重,对所述目标参考帧中的所述参考解码参数进行加权求和,得到所述解码指示参数。
- 根据权利要求1所述的方法,所述从已完成解码的视频帧中,获取所述待解码视频帧关联的参考帧的参考解码参数包括:从已完成解码的视频帧中确定出多帧参考帧作为目标参考帧;获取所述目标参考帧中的所述参考解码参数。
- 根据权利要求8所述的方法,所述从已完成解码的视频帧中确定出多帧参考帧作为目标参考帧包括:从所述已完成解码的视频帧中,确定出连续的多帧视频帧或不连续的多帧视频帧,作为所述目标参考帧。
- 根据权利要求8所述的方法,所述从已完成解码的视频帧中确定出多帧参考帧作为目标参考帧包括:在所述待解码视频帧为第t帧视频帧的情况下,确定第t-k1帧视频帧至第t-k2帧视频帧为所述目标参考帧;所述获取所述多帧参考帧中的所述参考解码参数包括:从所述第t-k1帧视频帧至所述第t-k2帧视频帧中,获取所述目标参考帧中的所述参考解码参数,其中,所述k1和k2为预先确定的正整数、所述t为正整数,t>k1>k2。
- 根据权利要求8所述的方法,在所述获取所述目标参考帧中所述参考解码参数之后,还包括:确定与所述目标参考帧中的所述参考解码参数分别匹配的第二权重;利用所述第二权重,对所述目标参考帧中的所述参考解码参数进行加权求和,得到所述解码指示参数。
- 根据权利要求1所述的方法,所述目标分辨率还通过如下方式确定:解析码流得到与所述待解码视频帧对应的解码标识位;获取所述解码标识位所指示的所述目标分辨率。
- 一种视频编码方法,所述方法由视频处理设备执行,所述方法包括:确定待编码视频帧;从已完成编码的视频帧中,获取所述待编码视频帧关联的参考帧的参考编码参数,其中,所述参考编码参数包括以下至少两个:所述参考帧中采用跳过模式编码的块的数量与所述参考帧中的块的总数、所述参考帧中采用帧内编码的块的第一数量与采用帧间编码的块的第二数量、所述参考帧中运动向量的能量参数、所述参考帧中第一尺寸的块的第三数量与第二尺寸的块的第四数量,所述第一尺寸小于所述第二尺寸;根据所述参考编码参数确定用于对所述待编码视频帧进行编码的目标分辨率;采用所述目标分辨率对所述待编码视频帧进行编码。
- 根据权利要求13所述的方法,所述根据所述参考编码参数确定用于对所述待编码视频帧进行编码的目标分辨率包括:根据所述参考编码参数之间的关系得到编码指示参数;在所述编码指示参数大于预定阈值的情况下,采用第一分辨率作为所述目 标分辨率;在所述编码指示参数小于所述预定阈值的情况下,采用第二分辨率作为所述目标分辨率,其中,所述第二分辨率大于所述第一分辨率。
- 根据权利要求14所述的方法,所述方法还包括:在所述编码指示参数大于所述预定阈值的情况下,从大于所述预定阈值的数值区间内确定一组阈值;对所述编码指示参数与所述一组阈值中包括的各个阈值进行比对;根据比对的结果确定采样比例;按照所述采样比例对所述第二分辨率进行下采样,以确定所述第一分辨率。
- 一种视频解码装置,包括:解码确定模块,用于确定待解码视频帧;获取模块,用于从已完成解码的视频帧中,获取所述待解码视频帧关联的参考帧的参考解码参数,其中,所述参考解码参数包括以下至少两个:所述参考帧中采用跳过模式解码的块的数量与所述参考帧中的块的总数、所述参考帧中采用帧内解码的块的第一数量与采用帧间解码的块的第二数量、所述参考帧中运动向量的能量参数、所述参考帧中第一尺寸的块的第三数量与第二尺寸的块的第四数量,所述第一尺寸小于所述第二尺寸;第一处理模块,用于根据所述参考解码参数确定用于对所述待解码视频帧进行解码的目标分辨率;解码模块,用于采用所述目标分辨率对所述待解码视频帧进行解码。
- 一种视频编码装置,包括:编码确定模块,用于确定待编码视频帧;获取模块,用于从已完成编码的视频帧中,获取所述待编码视频帧关联的参考帧的参考编码参数,其中,所述参考编码参数包括以下至少两个:所述参考帧中采用跳过模式编码的块的数量与所述参考帧中的块的总数、所述参考帧中采用帧内编码的块的第一数量与采用帧间编码的块的第二数量、所述参考帧中运动向量的能量参数、所述参考帧中第一尺寸的块的第三数量与第二尺寸的块的第四数量,所述第一尺寸小于所述第二尺寸;处理模块,用于根据所述参考编码参数确定用于对所述待编码视频帧进行 编码的目标分辨率;编码模块,用于采用所述目标分辨率对所述待编码视频帧进行编码。
- 一种计算机可读的存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行权利要求1至12任一项中所述的视频解码方法或权利要求13至15任一项中所述的视频编码方法。
- 一种视频处理设备,所述视频处理设备包括:处理器、通信接口、存储器和通信总线;其中,所述处理器、所述通信接口和所述存储器通过所述通信总线完成相互间的通信;所述通信接口为通信模块的接口;所述存储器,用于存储程序代码,并将所述程序代码传输给所述处理器;所述处理器,用于调用存储器中程序代码的指令执行权利要求1至12任一项中所述的视频解码方法或权利要求13至15任一项中所述的视频编码方法。
- 一种包括指令的计算机程序产品,当其在计算机上运行时,使得所述计算机执行权利要求1至12任一项中所述的视频解码方法或权利要求13至15任一项中所述的视频编码方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/471,324 US20210409685A1 (en) | 2019-09-27 | 2021-09-10 | Video encoding method, video decoding method, and related apparatuses |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910927103.5 | 2019-09-27 | ||
CN201910927103.5A CN110636312B (zh) | 2019-09-27 | 2019-09-27 | 视频编解码方法和装置及存储介质 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US17/471,324 Continuation US20210409685A1 (en) | 2019-09-27 | 2021-09-10 | Video encoding method, video decoding method, and related apparatuses |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2021057481A1 true WO2021057481A1 (zh) | 2021-04-01 |
Family
ID=68973200
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2020/114173 WO2021057481A1 (zh) | 2019-09-27 | 2020-09-09 | 视频编解码方法和相关装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20210409685A1 (zh) |
CN (1) | CN110636312B (zh) |
WO (1) | WO2021057481A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116260973A (zh) * | 2023-03-31 | 2023-06-13 | 北京百度网讯科技有限公司 | 一种时域滤波方法、装置、电子设备及存储介质 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110677721B (zh) * | 2019-09-27 | 2022-09-13 | 腾讯科技(深圳)有限公司 | 视频编解码方法和装置及存储介质 |
CN110636312B (zh) * | 2019-09-27 | 2023-10-24 | 腾讯科技(深圳)有限公司 | 视频编解码方法和装置及存储介质 |
CN113920010A (zh) * | 2020-07-10 | 2022-01-11 | 华为技术有限公司 | 图像帧的超分辨率实现方法和装置 |
CN112203090A (zh) * | 2020-11-30 | 2021-01-08 | 浙江智慧视频安防创新中心有限公司 | 视频编解码的方法、装置、电子设备及介质 |
CN113973202A (zh) * | 2021-10-12 | 2022-01-25 | 百果园技术(新加坡)有限公司 | 视频编码方法、装置、设备及存储介质 |
WO2023143331A1 (zh) * | 2022-01-25 | 2023-08-03 | 阿里巴巴(中国)有限公司 | 一种面部视频编码方法、解码方法及装置 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050094732A1 (en) * | 2003-10-30 | 2005-05-05 | Debargha Mukherjee | Data communications methods, compressed media data decoding methods, compressed media data decoders, articles of manufacture, and data communications systems |
CN102461169A (zh) * | 2009-06-12 | 2012-05-16 | 微软公司 | 基于运动的动态分辨率多比特率视频编码 |
CN105959700A (zh) * | 2016-05-31 | 2016-09-21 | 腾讯科技(深圳)有限公司 | 视频图像编码的方法和装置 |
CN108769681A (zh) * | 2018-06-20 | 2018-11-06 | 腾讯科技(深圳)有限公司 | 视频编码、解码方法、装置、计算机设备和存储介质 |
CN108924553A (zh) * | 2018-06-20 | 2018-11-30 | 腾讯科技(深圳)有限公司 | 视频编码、解码方法、装置、计算机设备和存储介质 |
CN109660796A (zh) * | 2018-11-09 | 2019-04-19 | 建湖云飞数据科技有限公司 | 一种对视频帧进行编码的方法 |
CN110166771A (zh) * | 2018-08-01 | 2019-08-23 | 腾讯科技(深圳)有限公司 | 视频编码方法、装置、计算机设备和存储介质 |
CN110636312A (zh) * | 2019-09-27 | 2019-12-31 | 腾讯科技(深圳)有限公司 | 视频编解码方法和装置及存储介质 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6625322B1 (en) * | 1999-06-08 | 2003-09-23 | Matsushita Electric Industrial Co., Ltd. | Image coding apparatus |
US6876703B2 (en) * | 2000-05-11 | 2005-04-05 | Ub Video Inc. | Method and apparatus for video coding |
KR100587562B1 (ko) * | 2004-04-13 | 2006-06-08 | 삼성전자주식회사 | 비디오 프레임에 대한 움직임 추정 방법 및 비디오 인코더 |
US8369629B2 (en) * | 2006-01-23 | 2013-02-05 | Telefonaktiebolaget L M Ericsson (Publ) | Image processing using resolution numbers to determine additional component values |
US7957610B2 (en) * | 2006-04-11 | 2011-06-07 | Panasonic Corporation | Image processing method and image processing device for enhancing the resolution of a picture by using multiple input low-resolution pictures |
US8565310B2 (en) * | 2008-01-08 | 2013-10-22 | Broadcom Corporation | Hybrid memory compression scheme for decoder bandwidth reduction |
CN102349296B (zh) * | 2009-03-13 | 2016-03-09 | 瑞典爱立信有限公司 | 用于处理编码比特流的方法和装置 |
US20110013692A1 (en) * | 2009-03-29 | 2011-01-20 | Cohen Robert A | Adaptive Video Transcoding |
US8315310B2 (en) * | 2010-01-08 | 2012-11-20 | Research In Motion Limited | Method and device for motion vector prediction in video transcoding using full resolution residuals |
US8548062B2 (en) * | 2010-07-16 | 2013-10-01 | Sharp Laboratories Of America, Inc. | System for low resolution power reduction with deblocking flag |
RU2010135495A (ru) * | 2010-08-24 | 2012-02-27 | ЭлЭсАй Корпорейшн (US) | Видеотранскодер с гибким управлением качеством и сложностью |
US10609405B2 (en) * | 2013-03-18 | 2020-03-31 | Ecole De Technologie Superieure | Optimal signal encoding based on experimental data |
CN108495130B (zh) * | 2017-03-21 | 2021-04-20 | 腾讯科技(深圳)有限公司 | 视频编码、解码方法和装置、终端、服务器和存储介质 |
CA3028701A1 (en) * | 2017-12-28 | 2019-06-28 | Comcast Cable Communications, Llc | Content-aware predictive bitrate ladder |
US10645409B2 (en) * | 2018-06-26 | 2020-05-05 | Google Llc | Super-resolution loop restoration |
-
2019
- 2019-09-27 CN CN201910927103.5A patent/CN110636312B/zh active Active
-
2020
- 2020-09-09 WO PCT/CN2020/114173 patent/WO2021057481A1/zh active Application Filing
-
2021
- 2021-09-10 US US17/471,324 patent/US20210409685A1/en active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050094732A1 (en) * | 2003-10-30 | 2005-05-05 | Debargha Mukherjee | Data communications methods, compressed media data decoding methods, compressed media data decoders, articles of manufacture, and data communications systems |
CN102461169A (zh) * | 2009-06-12 | 2012-05-16 | 微软公司 | 基于运动的动态分辨率多比特率视频编码 |
CN105959700A (zh) * | 2016-05-31 | 2016-09-21 | 腾讯科技(深圳)有限公司 | 视频图像编码的方法和装置 |
CN108769681A (zh) * | 2018-06-20 | 2018-11-06 | 腾讯科技(深圳)有限公司 | 视频编码、解码方法、装置、计算机设备和存储介质 |
CN108924553A (zh) * | 2018-06-20 | 2018-11-30 | 腾讯科技(深圳)有限公司 | 视频编码、解码方法、装置、计算机设备和存储介质 |
CN110166771A (zh) * | 2018-08-01 | 2019-08-23 | 腾讯科技(深圳)有限公司 | 视频编码方法、装置、计算机设备和存储介质 |
CN109660796A (zh) * | 2018-11-09 | 2019-04-19 | 建湖云飞数据科技有限公司 | 一种对视频帧进行编码的方法 |
CN110636312A (zh) * | 2019-09-27 | 2019-12-31 | 腾讯科技(深圳)有限公司 | 视频编解码方法和装置及存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116260973A (zh) * | 2023-03-31 | 2023-06-13 | 北京百度网讯科技有限公司 | 一种时域滤波方法、装置、电子设备及存储介质 |
CN116260973B (zh) * | 2023-03-31 | 2024-03-19 | 北京百度网讯科技有限公司 | 一种时域滤波方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110636312A (zh) | 2019-12-31 |
CN110636312B (zh) | 2023-10-24 |
US20210409685A1 (en) | 2021-12-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021057481A1 (zh) | 视频编解码方法和相关装置 | |
US12041264B2 (en) | Method and apparatus for video encoding and decoding | |
US11451787B2 (en) | Method and apparatus for video encoding and decoding | |
KR102255665B1 (ko) | 비디오 코딩에서의 움직임 벡터(mv) 제약조건 및 변환 제약조건 | |
US11412228B2 (en) | Method and apparatus for video encoding and decoding | |
US11558639B2 (en) | Selective resolution video encoding method, computer device, and readable storage medium | |
WO2021057705A1 (zh) | 视频编解码方法和相关装置 | |
EP3813371B1 (en) | Video encoding/decoding method and apparatus, computer device, and storage medium | |
US9215466B2 (en) | Joint frame rate and resolution adaptation | |
US20200374511A1 (en) | Video encoding method and apparatus, video decoding method and apparatus, computer device, and storage medium | |
US20220210469A1 (en) | Method For Transmitting Video Picture, Device For Sending Video Picture, And Video Call Method And Device | |
WO2021057697A1 (zh) | 视频编解码方法和装置、存储介质及电子装置 | |
US11979577B2 (en) | Video encoding method, video decoding method, and related apparatuses | |
US20220007039A1 (en) | Video encoding method, video decoding method, and related apparatuses | |
JP7086208B2 (ja) | 双方向イントラ予測のシグナリング | |
WO2021057686A1 (zh) | 视频解码方法和装置、视频编码方法和装置、存储介质及电子装置 | |
WO2021057478A1 (zh) | 视频编解码方法和相关装置 | |
CN110636293B (zh) | 视频编码、解码方法和装置、存储介质及电子装置 | |
WO2022179221A1 (zh) | 视频编码中的运动矢量(mv)约束和变换约束 | |
US12126836B2 (en) | Picture prediction method, encoder, decoder, and storage medium | |
WO2023030070A1 (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: 20868317 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: 20868317 Country of ref document: EP Kind code of ref document: A1 |