WO2022228104A1 - 视频的转码方法、装置、电子设备及存储介质 - Google Patents

视频的转码方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
WO2022228104A1
WO2022228104A1 PCT/CN2022/086187 CN2022086187W WO2022228104A1 WO 2022228104 A1 WO2022228104 A1 WO 2022228104A1 CN 2022086187 W CN2022086187 W CN 2022086187W WO 2022228104 A1 WO2022228104 A1 WO 2022228104A1
Authority
WO
WIPO (PCT)
Prior art keywords
macroblock
type
target
encoding
rdo
Prior art date
Application number
PCT/CN2022/086187
Other languages
English (en)
French (fr)
Inventor
王强
张树军
Original Assignee
北京汇钧科技有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 北京汇钧科技有限公司 filed Critical 北京汇钧科技有限公司
Priority to US18/266,677 priority Critical patent/US20240048778A1/en
Priority to JP2023558930A priority patent/JP2023552923A/ja
Publication of WO2022228104A1 publication Critical patent/WO2022228104A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/467Embedding additional information in the video signal during the compression process characterised by the embedded information being invisible, e.g. watermarking

Definitions

  • the present application relates to the technical field of image processing, and in particular, to a video transcoding method, device, electronic device and storage medium.
  • the present application aims to solve one of the technical problems in the related art at least to a certain extent.
  • the embodiment of the first aspect of the present application proposes a video transcoding method, including:
  • the RDO algorithm is optimized based on the type and rate-distortion of the macroblock, and the target coding parameters required for macroblock coding are determined;
  • the embodiment of the second aspect of the present application provides a video transcoding device, including:
  • a decoding module for decoding the source video stream to obtain a first video frame and decoding information, and inserting watermark information in the first video frame to generate a second video frame;
  • a macroblock type acquisition module for determining the type of macroblocks in the second video frame based on the watermark information and the decoding information
  • the parameter acquisition module is used to optimize the RDO algorithm for each macroblock based on the type and rate-distortion of the macroblock, and determine the target encoding parameters required for macroblock encoding;
  • the encoding module is configured to perform macroblock encoding according to target encoding parameters of each macroblock to generate a transcoded target video stream.
  • the embodiment of the third aspect of the present application provides an electronic device, including:
  • the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor, so that the at least one processor can execute the video transcoding method provided in the embodiments of the first aspect of the present application.
  • Embodiments of the fourth aspect of the present application provide a computer-readable storage medium on which computer instructions are stored, wherein the computer instructions are used to cause a computer to execute the video transcoding method provided in the embodiments of the first aspect of the present application.
  • Embodiments of the fifth aspect of the present application provide a computer program product, including a computer program, which, when executed by a processor, implements the video transcoding method provided in the embodiments of the first aspect of the present application.
  • Fig. 1 is the syntax structure diagram of H.264
  • FIG. 2 is a flowchart of a video transcoding method according to an embodiment of the present application.
  • FIG. 3 is a schematic diagram of a macroblock classification proposed by an embodiment of the present application.
  • FIG. 4 is a flowchart of a video transcoding method according to another embodiment of the present application.
  • FIG. 5 is a flowchart of a video transcoding method according to another embodiment of the present application.
  • FIG. 6 is a flowchart of a video transcoding method according to another embodiment of the present application.
  • FIG. 7 is a flowchart of a video transcoding method according to another embodiment of the present application.
  • FIG. 8 is a flowchart of a video transcoding method according to another embodiment of the present application.
  • FIG. 9 is a structural block diagram of an apparatus for video transcoding according to an embodiment of the present application.
  • FIG. 10 is a schematic structural diagram of an electronic device according to an embodiment of the present application.
  • H.264 is a highly compressed digital video codec standard and a widely used digital video compression format.
  • H.264 mainly has four profiles, namely, the basic profile (baseline profile), the main profile (main profile), the high profile (high profile) and the extended profile (extended profile).
  • Each profile uses a different encoding tool.
  • the baseline profile only supports Context Adaptive Variable Length Coding (CAVLC) and intra-coded (intra, I)/forward prediction (Predictive-coded, P) frames
  • the high profile supports automatic Adaptive binary arithmetic coding (Context-based Adaptive Binary Arithmetic Coding, CABAC) and bidirectionally-predicted (Bidirectionally-predicted, B) frames.
  • CABAC Context-based Adaptive Binary Arithmetic Coding
  • B bidirectionally-predicted
  • Live and on-demand videos often use baseline profile, main profile, and high profile.
  • NALU Network Abstract Layer Unit
  • SPS Sequence Parameter Set
  • PPS image parameter set
  • forced refresh slice instantaneous decoding refresh slice
  • IDR slice instantaneous decoding refresh slice
  • SPS/PPS stores the main video coding parameters, such as profile, resolution, number of reference frames.
  • the IDR slice/slice holds the actual video compression data.
  • Each slice consists of many macroblocks, and the macroblock information mainly includes prediction mode, block mode, and residual.
  • Video codec supports intra and inter prediction methods. Macroblocks are mainly divided into three types: I/P/B, and frame types are mainly divided into three types: I/P/B. Therefore, for a video stream with B-frames, the encoding order of the video frames is not the same as the display order. For P/B frames, the encoder uses multiple reference frames for inter-frame prediction, and uses long-term reference frames to further improve video quality. H.264 inter-frame prediction supports weighted prediction, and the weight of reference block pixels can be selected to reduce the residual error of motion compensation. The baseline/main profile uses 4x4 integer transformation, while the high profile supports both 4x4 and 8x8 transformations. In addition to the above encoding tools, the codec also invokes deblocking filtering to improve video quality before outputting decoded frames.
  • Video Coding Layer (VCL)
  • NAL Network Abstraction Layer
  • the present application proposes a video transcoding method, device, electronic device and storage medium, which can solve the problems of large computational load, long running time, large video quality loss, and inconsistent input and output bit rates in general transcoding schemes.
  • FIG. 2 is a flowchart of a video transcoding method according to an embodiment of the present application. As shown in FIG. 2 , the video transcoding method includes the following steps S201 to S204.
  • S201 Decode a source video stream to obtain a first video frame and decoding information, and insert watermark information into the first video frame to generate a second video frame.
  • the source video stream is obtained, the source video stream is input into the decoder, and the source video stream is decoded by the decoder, the first video frame in the source video stream can be obtained, and the first video frame can be extracted. Frame decoding information.
  • the decoding information includes slice header information, reference frame rearrangement information, reference picture sequence flags, a decoder reference frame list, reconstructed pixels before deblocking filtering, and macroblock information.
  • the macroblock information includes prediction mode, block mode, residual and quantization parameters, and the like.
  • the watermark information can play the role of privacy protection, copyright protection or subtitle interpretation for the video frame.
  • the watermark information also identifies the modified pixels in the video frame, and guides the transcoding device to focus on the pixels containing the modified macroblock.
  • the watermark information may be copyright information, privacy information, subtitle information, and the like.
  • a video frame may be divided into a number of macroblocks, which are the basic unit of encoding and, in some embodiments, are 16x16 in size.
  • the watermark information can partially or completely change one or more pixels in some macroblocks, and the watermark information area is the area where the pixels in the video frame are modified.
  • the modified pixel is in the first position in the second video frame, and then determine the macroblock containing the modified pixel in the second video frame as the first type of macroblock. That is, the first type is used to indicate that the macroblock is directly related to the watermark information.
  • the dependency relationship with the first type macroblock is confirmed according to the prediction mode in the macroblock decoding information, and the macroblock type is confirmed according to whether there is a dependency relationship with the first type macroblock.
  • the decoding information depends on the type of any macroblock of the first type macroblock, and is confirmed as the second type, and the decoding information does not depend on the type of any macroblock in the first type macroblock, and it is confirmed as The third type, that is, when performing intra prediction or inter prediction, the decoding information of the second type macroblock depends on the first type macroblock, and the decoding information of the third type macroblock does not depend on the first type macroblock piece. So far, the types of all macroblocks in the second video frame are obtained.
  • the classification of macroblocks is shown in Figure 3, where logo represents a macroblock of the first type, quality represents a macroblock of the second type, and copy represents a macroblock of the third type.
  • the purpose of determining the macroblock type is to selectively obtain target coding parameters matching the macroblock type according to the macroblock type, thereby reducing the amount of calculation and improving the transcoding speed.
  • target encoding parameters may correspond to different macroblock types.
  • target coding parameters may include prediction modes, blocking methods, motion vectors, integer transform sizes, quantization parameters, residuals, and the like.
  • the reference coded pixels of the macroblock are used as the input of the RDO algorithm, and the reference coded pixels selected for the macroblock often affect the RDO value corresponding to the macroblock.
  • different reference coding pixels may be selected for different types of macroblocks, and after the reference coding pixels are determined, candidate coding parameters of the macroblock may be further obtained, where the candidate coding parameters may include decoding information.
  • the RDO algorithm processing is performed on the reference coded pixels and decoding information of the macroblock, that is, the reference coded pixels and decoding information of the macroblock are input into the RDO algorithm, and the candidate coding parameters and their corresponding RDO cost values can be obtained.
  • the candidate encoding parameter with the smallest RDO cost value may be selected as the target encoding parameter required for determining the macroblock encoding.
  • the logic of the RDO algorithm is changed, and the RDO cost value is calculated based on the candidate encoding parameters including the decoding information. The smallest one is selected as the target encoding parameter, so that the computational complexity of the encoding process can be reduced.
  • S204 Perform macroblock encoding according to target encoding parameters of each macroblock to generate a transcoded target video stream.
  • the macroblock is encoded according to the H.264 video standard based on the target encoding parameters of the macroblock to generate target encoded data corresponding to the second video frame, and based on the target encoded data of each frame, the target video is generated flow.
  • the video transcoding method proposed in the embodiments of the present application decodes the source video stream to obtain the first video frame and decoding information, and inserts watermark information into the first video frame to generate the second video frame; based on the watermark information and decoding information, determine the type of the macroblock in the second video frame; for each macroblock, optimize the RDO algorithm based on the type and rate-distortion of the macroblock to determine the target encoding parameters required when the macroblock is encoded; according to the target of each macroblock
  • the encoding parameters perform macroblock encoding to generate the transcoded target video stream.
  • the encoding process can be based on the decoding information, which can not only reduce the amount of calculation, but also ensure that the frame type of the watermarked information is completely consistent with the source video stream, and there is almost no damage to the image quality, and the video quality is high.
  • FIG. 4 is a flowchart of a video transcoding method according to another embodiment of the present application. As shown in FIG. 4 , on the basis of the foregoing embodiment, step S203 may include steps S401 to S403 .
  • S401 determine the reference coded pixels of the macroblock.
  • the encoder simply uses the decoding information for re-encoding, so the pixels before deblocking filtering at the encoding end and the decoding end are the same.
  • watermark information needs to be inserted into the source video stream, and the encoder needs to use the decoding information as much as possible to achieve the purpose of efficient and high-quality transcoding.
  • the reference coding pixels need to directly use the pixels modified by the watermark information, so as to ensure the accuracy of video transcoding.
  • the first type macroblock contains the area modified by the watermark information, while the non-first type macroblock does not contain the watermark information modification area, so the reference coding pixels of the two will be different, and the appropriate reference coding pixels need to be selected according to the type of the macroblock. .
  • S402 Perform RDO algorithm processing on the decoding information of the macroblock and the reference coded pixels to generate at least one set of candidate coding parameters of the macroblock and the RDO cost value corresponding to each set of candidate coding parameters.
  • the encoder uses the decoding information of the macroblock and reference encoded pixels to generate encoding parameters and their corresponding RDO cost values; in some implementations, the encoder uses macroblock decoding information other than the macroblock residual and the reference encoding Pixel generation encoding parameters and their corresponding RDO cost values.
  • the coding parameters generated by using the macroblock decoding information are used as a group of candidate coding parameters and the RDO cost values thereof are obtained, so as to use the macroblock decoding information generated except the macroblock residual error.
  • the encoding parameter is used as another group of candidate encoding parameters, and its RDO cost value is obtained, and the target encoding parameter is selected from the candidate encoding parameters.
  • the embodiment of the present application compares the RDO cost value, confirms the target encoding parameter from the candidate encoding parameters, and the RDO cost value may indicate the optimal candidate encoding parameter as the target encoding parameter for video transcoding.
  • S403 based on the RDO cost value, determine, from at least one group of candidate encoding parameters, target encoding parameters required for macroblock encoding.
  • the candidate encoding parameter corresponding to the smallest RDO cost value among the candidate encoding parameters is selected as the target encoding parameter of the macroblock.
  • a threshold value may be preset in the embodiments of the present application. If the minimum RDO cost value is greater than the preset threshold value, the native RDO algorithm of the encoder is invoked to obtain the native RDO cost value and native encoding of the macroblock. parameter, continue to compare the minimum RDO cost value with the native RDO cost value. If the minimum RDO cost value is less than or equal to the native RDO cost value, a set of candidate encoding parameters corresponding to the smallest RDO cost value is used as the target encoding parameter of the macroblock ; If the minimum RDO cost value is greater than the native RDO cost value, the native encoding parameter is used as the target encoding parameter of the macroblock.
  • FIG. 5 is a flowchart of a video transcoding method according to another embodiment of the present application. As shown in FIG. 5 , on the basis of the above embodiment, when the type of the macroblock is the first type, the encoding process of the macroblock The following steps S501 to S503 are included.
  • S501 Perform type identification on the macroblock in the second video frame, and determine that the type of the macroblock is the first type.
  • the macroblock containing the modified pixels in the second video frame is determined as the first type macroblock, that is, the first type is used to indicate that the macroblock is directly related to the watermark information.
  • S502 Determine a first region and a modified second region in which pixels in the first type macroblock are not modified by the watermark information.
  • a watermark is inserted on the video frame.
  • the watermark may only occupy one or more pixels in some macroblocks. That is to say, the first type macroblock may contain areas modified by the watermark information, or may contain no watermark. Therefore, the first type of macroblock needs to be divided into regions to confirm its reference coded pixels.
  • the area where the pixels are not modified by the watermark information is taken as the first area, and the area where the pixels are modified by the watermark information is taken as the second area.
  • the reference coded pixels in the second area are the pixels currently input by the encoder, and the currently input pixels are the pixels modified by the watermark information.
  • the reconstructed pixels before deblocking filtering by the decoder can be used as the reference encoded pixels of the first area, which can not only improve the encoding quality, but also ensure that the video is converted due to the transcoding of the decoded information. code efficiency.
  • the reference coded pixels directly use the pixels modified by the watermark information, thereby ensuring the accuracy of video transcoding.
  • the native RDO algorithm of the encoder is invoked to obtain the native encoding parameter of the macroblock, and the native encoding parameter is determined as the target encoding parameter of the first type of macroblock.
  • macroblock encoding is performed to generate target encoded data corresponding to the second video frame, and then a transcoded target video stream is generated.
  • the video transcoding method in the embodiment of the present application can not only reduce the amount of calculation, but also ensure that the frame type of the watermarking information is completely consistent with the source video stream, hardly any damage to the image quality, and the video quality is high.
  • FIG. 6 is a flowchart of a video transcoding method according to another embodiment of the present application. As shown in FIG. 6 , on the basis of the above embodiment, when the type of the macroblock is the second type, the encoding process of the macroblock The following steps S601 to S608 are included.
  • S601 Perform type identification on the macroblock in the second video frame, determine that the type of the macroblock is the second type, and use the reconstructed pixels before being defiltered by the decoder as reference coded pixels.
  • the second type indicates that there is a dependency relationship between the macroblock and the macroblock carrying the watermark information.
  • the macroblock decoding information in the prediction mode is determined to be the second type depending on the type of the macroblock of the first type.
  • the reconstructed pixels before deblocking filtering by the decoder are regarded as reference coded pixels not of the first type, that is, the reference coded pixels of the second type macroblock are reconstructed pixels before defiltering.
  • S602 based on the decoding information of the second type macroblock and the reference coded pixels, generate at least one set of candidate coding parameters of the second type macroblock and their RDO value.
  • the coding parameters generated by using the macroblock decoding information and the reference coded pixels are used as a set of candidate coding parameters and the RDO value thereof is obtained, so as to use the macroblock decoding information and the reference coded pixels except the macroblock residual error.
  • the generated encoding parameters are used as another set of candidate encoding parameters, and their RDO cost values are obtained.
  • the native RDO algorithm of the encoder is very complex.
  • the RDO cost values corresponding to each group of candidate encoding parameters are compared, and then the target encoding parameters are obtained.
  • S603 Determine the minimum RDO cost value, and determine whether the minimum RDO cost value is greater than a preset threshold.
  • RDO is an algorithm module, which can compare the pros and cons of video encoders through the Rate Distortion (RD) curve, and select an optimal point in the RD two-dimensional graph, and this optimal point corresponds to a cost value.
  • the cost value is a value used to select the optimal encoding method, and the cost value is the smallest, indicating that the encoding parameter corresponding to the cost value is the optimal encoding parameter of the macroblock. Therefore, in order to select the optimal encoding parameter of the macroblock, the embodiment of the present application first compares the minimum RDO cost value with the preset threshold, and determines whether the minimum RDO cost value is greater than the preset threshold.
  • the minimum RDO cost value is not greater than the preset threshold, it means that the candidate coding parameters corresponding to the current minimum RDO cost value meet the requirements, and a set of candidate coding parameters corresponding to the minimum RDO cost value may be used as the second type of macroblock coding.
  • the response to the minimum RDO cost value is greater than the preset threshold, it indicates that the candidate encoding parameters corresponding to the current minimum RDO cost value may not be the optimal encoding parameters, and the native RDO algorithm of the encoder needs to be called to obtain the native RDO cost value and native RDO value of the macroblock. Encode parameters, and continue to compare the native RDO cost value with the current minimum RDO cost value, and update the minimum RDO cost value.
  • a set of candidate coding parameters corresponding to the minimum RDO cost value is used as the target coding parameter of the macroblock; the macroblock coding is performed according to the target coding parameter to generate the second video The target encoded data corresponding to the frame is then generated to generate a transcoded target video stream.
  • the native encoding parameter is used as the target encoding parameter of the macroblock; the macroblock encoding is performed according to the target encoding parameter to generate the target encoded data corresponding to the second video frame, and then the transcoding is generated. After the target video stream.
  • the video transcoding method in the embodiment of the present application can not only reduce the amount of calculation, but also ensure that the frame type of the watermarking information is completely consistent with the source video stream, hardly any damage to the image quality, and the video quality is high.
  • FIG. 7 is a flowchart of a video transcoding method according to another embodiment of the present application. As shown in FIG. 7 , on the basis of the above embodiment, when the type of the macroblock is the third type, the encoding process of the macroblock The following steps S701 to S703 are included.
  • S701 Perform type identification on the macroblock in the second video frame, determine that the macroblock is a macroblock of the third type, and use the reconstructed pixels before being defiltered by the decoder as reference coded pixels.
  • the third type of macroblock indicates that there is no dependency relationship between the macroblock and the macroblock carrying watermark information.
  • the macroblock decoding information in the prediction mode that does not depend on the type of the macroblock of the first type is determined as the third type.
  • the reconstructed pixels before de-filtering by the decoder are regarded as reference coded pixels not of the first type, that is, the reference coded pixels of the third type of macroblock are reconstructed pixels before de-filtering.
  • S702 based on the decoding information of the third-type macroblock and reference encoding pixels, generate at least one set of candidate encoding parameters and their RDO value for the third-type macroblock.
  • step S701 and step S702 reference may be made to the description of the relevant content in the above-mentioned embodiment, which will not be repeated here.
  • S703 Select a group of candidate coding parameters corresponding to the minimum RDO cost value as the target coding parameters of the third type of macroblock.
  • the candidate encoding parameters with the smallest RDO cost value can be selected as the third type macroblocks to determine the target encoding parameters required for macroblock encoding.
  • macroblock encoding is performed to generate target encoded data corresponding to the second video frame, and then a transcoded target video stream is generated.
  • the video transcoding method in the embodiment of the present application can not only reduce the amount of calculation, but also ensure that the frame type of the watermarking information is completely consistent with the source video stream, hardly any damage to the image quality, and the video quality is high.
  • FIG. 8 is a flowchart of a video transcoding method according to another embodiment of the present application. As shown in FIG. 8 , on the basis of the foregoing embodiment, the video transcoding method further includes steps S801 to S802.
  • the quantization value needs to be adjusted to unify the size of the video frame and ensure the stability of transcoding.
  • the first type of macroblocks and the second type of macroblocks account for a small proportion, and most of the macroblocks are the third type of macroblocks.
  • the transcoding process relies on decoding information, and the size of its video encoded data hardly changes. Therefore, the priority order for adjusting the quantization value of the macroblocks is the first type macroblock, the second type macroblock, and the third type macroblock. That is, in response to the size of the encoded data of the target video being inconsistent with the encoded data of the source video, the quantization value of the macroblock of the first type is first adjusted.
  • the quantization adjustment ends, otherwise adjust the quantization value of the second type of macroblock, and quantize the macroblock according to the quantization value of the second adjustment, and continue to judge the coded data of the adjusted target video Whether it is consistent with the encoded data size of the source video, if it is consistent, the quantization adjustment ends, otherwise continue to adjust the quantization value of the third type of macroblock, and quantize the macroblock according to the quantization value of the third adjustment, until the encoding of the target video
  • the data is the same as the encoded data size of the source video.
  • Quantization is a lossy compression technology that affects the quality of video frames. Therefore, in order to ensure the quality of video frames after transcoding, each adjustment of the quantization value must meet the minimum quality requirements.
  • the video transcoding method in the embodiment of the present application can not only reduce the amount of calculation, but also ensure that the frame type of the watermarking information is completely consistent with the source video stream, hardly any damage to the image quality, and the video quality is high.
  • an embodiment of the present application further provides a video transcoding apparatus 900, including:
  • the decoding module 910 is used for decoding the source video stream to obtain the first video frame and decoding information, and inserting watermark information in the first video frame to generate the second video frame;
  • a macroblock type acquisition module 920 configured to determine the type of macroblocks in the second video frame based on the watermark information and the decoding information;
  • the parameter acquisition module 930 is configured to optimize the RDO algorithm based on the type and rate-distortion of the macroblock for each macroblock, and determine the target encoding parameters required for macroblock encoding;
  • the encoding module 940 is configured to perform macroblock encoding according to target encoding parameters of each macroblock to generate a transcoded target video stream.
  • the parameter acquisition module 930 further includes:
  • the coded pixel acquisition module 931 is used to determine the reference coded pixel of the macroblock according to the type of the macroblock;
  • the spare parameter acquisition module 932 is used to perform RDO algorithm processing on the decoding information of the macroblock and the reference coded pixels, and generate at least one group of candidate encoding parameters of the macroblock and the RDO cost value corresponding to each group of candidate encoding parameters;
  • the target parameter obtaining module 933 is configured to determine, based on the RDO cost value, target coding parameters required for macroblock coding from at least one set of candidate coding parameters.
  • the coded pixel obtaining module 931 further includes:
  • the reconstructed pixels before being filtered by the decoder are used as reference coded pixels;
  • the first type of macroblock determine the first area in which the pixels in the first type of macroblock are not modified by the watermark information and the second area that is modified, wherein the reference coded pixels in the first area are the reconstruction before the decoder de-filtering pixel, the reference coding pixel of the second area is the pixel currently input by the encoder, and the currently input pixel is the pixel modified by the watermark information;
  • the first type of macroblock is used to indicate that it is related to watermark information.
  • the parameter acquisition module 930 further includes:
  • a set of candidate coding parameters corresponding to the minimum RDO cost value is selected as the target coding parameter of the macroblock.
  • the target parameter obtaining module 933 further includes:
  • the native RDO algorithm of the encoder In response to the type of the macroblock being the second type, and the minimum RDO cost value is greater than the preset threshold, call the native RDO algorithm of the encoder to obtain the native RDO cost value and native encoding parameters of the macroblock, where the second type indicates the macro There is a dependency relationship between the block and the macroblock that carries the watermark information;
  • a set of candidate coding parameters corresponding to the minimum RDO cost value is used as the target coding parameter of the macroblock;
  • the native encoding parameter is used as the target encoding parameter of the macroblock.
  • the target parameter obtaining module 933 further includes:
  • the native RDO algorithm of the encoder is invoked to generate native encoding parameters of the macroblock, and the native encoding parameters are determined as target encoding parameters of the macroblock.
  • the encoding module 940 is further configured to:
  • macroblock encoding is performed on the macroblock to generate target encoded data corresponding to the second video frame, and based on the target encoded data of each frame, a target video stream is generated.
  • the macroblock type obtaining module 920 further includes:
  • any remaining macroblock determine whether any macroblock depends on the first type macroblock
  • the type of any macroblock that depends on the macroblock of the first type is determined as the second type, and the type of any macroblock that does not depend on the macroblock of the first type is determined as the third type.
  • the encoding module 940 is further configured to:
  • the quantization value of each type of macroblock is adjusted in sequence, and the macroblock is quantized according to the adjusted quantization value.
  • the embodiments of the present application also provide an electronic device.
  • FIG. 10 is a schematic structural diagram of an electronic device provided by an embodiment of the present application.
  • the electronic device 100 includes a storage medium 110, a processor 120, and a computer program product stored in the memory 110 and running on the processor 120.
  • the processor executes the computer program, it realizes the aforementioned video Transcoding method.
  • the embodiments of the present application may be provided as a method, a system, or a computer program product. Accordingly, the present application may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, the present application may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) having computer-usable program code embodied therein.
  • computer-usable storage media including, but not limited to, disk storage, CD-ROM, optical storage, etc.
  • These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory result in an article of manufacture comprising instruction means, the instructions
  • the apparatus implements the functions specified in the flow or flow of the flowcharts and/or the block or blocks of the block diagrams.
  • Embodiments of the present application further provide a computer-readable storage medium, on which computer instructions are stored, where the computer instructions are used to cause a computer to execute the video transcoding method in the foregoing embodiments.
  • Embodiments of the present application further provide a computer program product, including a computer program, when the computer program is executed by a processor, the video transcoding method in the above-mentioned embodiment.
  • any reference signs placed between parentheses shall not be construed as limiting the claim.
  • the word “comprising” does not exclude the presence of elements or steps not listed in a claim.
  • the word “a” or “an” preceding an element does not preclude the presence of a plurality of such elements.
  • the present application may be implemented by means of hardware comprising several different components and by means of a suitably programmed computer. In a unit claim enumerating several means, several of these means may be embodied by one and the same item of hardware.
  • the use of the words first, second, and third, etc. do not denote any order. These words can be interpreted as names.
  • first and second are only used for descriptive purposes, and should not be construed as indicating or implying relative importance or implying the number of indicated technical features. Thus, a feature defined as “first” or “second” may expressly or implicitly include one or more of that feature.
  • plurality means two or more, unless otherwise expressly and specifically defined.

Landscapes

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

Abstract

本申请提出一种视频的转码方法、装置、电子设备及存储介质,该方法包括:对源视频流进行解码,得到第一视频帧和解码信息,并在第一视频帧中插入水印信息,生成第二视频帧;基于水印信息和解码信息,确定第二视频帧中宏块的类型;针对每个宏块,基于宏块的类型和率失真优化RDO算法,确定宏块编码时所需要的目标编码参数;按照每个宏块的目标编码参数进行宏块编码,以生成转码后的目标视频流。

Description

视频的转码方法、装置、电子设备及存储介质
相关申请的交叉引用
本申请基于申请号为202110487567.6、申请日为2021年04月30日的中国专利申请提出,并要求该中国专利申请的优先权,该中国专利申请的全部内容在此引入本申请作为参考。
技术领域
本申请涉及图像处理技术领域,具体涉及一种视频的转码方法、装置、电子设备及存储介质。
背景技术
相关技术中,对源视频流加水印转码时需要先对视频进行解码,然后对视频帧加水印,最后再进行编码,这种通用转码方案计算量大、运行时间长、视频质量损失较大、输入和输出的码率不一致。
发明内容
本申请旨在至少在一定程度上解决相关技术中的技术问题之一。
本申请第一方面实施例提出了一种视频的转码方法,包括:
对源视频流进行解码,得到第一视频帧和解码信息,并在第一视频帧中插入水印信息,生成第二视频帧;
基于水印信息和解码信息,确定第二视频帧中宏块的类型;
针对每个宏块,基于宏块的类型和率失真优化RDO算法,确定宏块编码时所需要的目标编码参数;
按照每个宏块的目标编码参数进行宏块编码,以生成转码后的目标视频流。
本申请第二方面实施例提出了一种视频的转码装置,包括:
解码模块,用于对源视频流进行解码,得到第一视频帧和解码信息,并在第一视频帧中插入水印信息,生成第二视频帧;
宏块类型获取模块,用于基于水印信息和解码信息,确定第二视频帧中宏块的类型;
参数获取模块,用于针对每个宏块,基于宏块的类型和率失真优化RDO算法,确定宏块编码时所需要的目标编码参数;
编码模块,用于按照每个宏块的目标编码参数进行宏块编码,以生成转码后的目标视频流。
本申请第三方面实施例提出了一种电子设备,包括:
至少一个处理器;以及
与至少一个处理器通信连接的存储器;其中,
存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使 至少一个处理器能够执行本申请第一方面实施例中提供的视频的转码方法。
本申请第四方面实施例提出了一种计算机可读存储介质,其上存储有计算机指令,其中,计算机指令用于使计算机执行根据本申请第一方面实施例中提供的视频的转码方法。
本申请第五方面实施例提出了一种计算机程序产品,包括计算机程序,计算机程序在被处理器执行时实现本申请第一方面实施例中提供的视频的转码方法。
附图说明
图1是H.264的语法结构图;
图2是本申请一个实施例的视频的转码方法的流程图;
图3是本申请实施例提出的宏块分类的示意图;
图4是本申请另一个实施例的视频的转码方法的流程图;
图5是本申请另一个实施例的视频的转码方法的流程图;
图6是本申请另一个实施例的视频的转码方法的流程图;
图7是本申请另一个实施例的视频的转码方法的流程图;
图8是本申请另一个实施例的视频的转码方法的流程图;
图9是本申请一个实施例的视频转码的装置的结构框图;
图10是本申请一个实施例的电子设备的结构示意图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。
H.264是一种高度压缩数字视频编解码器标准,是一种被广泛使用的数字视频压缩格式。H.264主要有四个档次(profile),即,基本档次(baseline profile)、主档次(main profile)、高档次(high profile)和扩展档次(extended profile)。每种profile使用不同的编码工具。例如,baseline profile只支持基于上下文自适应的可变长编码(Context Adaptive Variable Length Coding,CAVLC)和内部编码(intra,I)/前向预测(Predictive-coded,P)帧,而high profile支持自适应二进制算术编码(Context-based Adaptive Binary Arithmetic Coding,CABAC)和双向预测(Bidirectionally-predicted,B)帧。视频直播和点播经常使用baseline profile、main profile、high profile。
如图1所示,H.264标准通过网络抽象层单元(Network Abstract Layer Unit,NALU)封装视频数据,NALU可以分为序列参数集(Sequence Paramater Set,SPS)或图像参数集(picture parameter set,PPS),强制刷新片(instantaneous decoding refresh slice,IDR slice),分片(slice)等几种类型。SPS/PPS存储主要的视频编码参数,例如,profile,分辨率,参考帧数量。IDR slice/slice保存实际视频压缩数据。每个slice由许多宏块组 成,宏块信息主要包括预测模式,分块方式,和残差。
视频编解码支持帧内(intra)和帧间(inter)两种预测方法,宏块主要分为I/P/B三种类型,帧类型主要分为I/P/B三种类型。因此,对于有B帧的视频流,视频帧的编码顺序与显示顺序不一样。对于P/B帧,编码器会采用多参考帧进行帧间预测,同时会使用长期参考帧进一步提高视频质量。H.264帧间预测支持加权预测,可以选择参考块像素的权重,减少运动补偿的残差。baseline/main profile采用4x4整数变换,而high profile支持4x4和8x8两种变换。除了以上编码工具,在输出解码帧之前,编解码器还会调用去块滤波提高视频质量。
通用转码实现源流加水印转码,各模块计算复杂度为,编码器占86%,解码器占11%,编码器的率失真优化(Rate Distortion Optimation,RDO)函数占69%。
为了便于理解,继续介绍图1中的术语:
1、视频编码层(Video Coding Layer,VCL)
2、网络提取层(Network Abstraction Layer,NAL)
3、分片层(Slice Layer)、片头(Slice Header)、片数据(Slice Data)
4、宏块(Macro Block,MB)
5、宏块层(Macroblock Layer)、类型(Type)、预测模式(Prediction)、分块模式(Macro Block Pattern)、量化值(Quantization Parameter,QP)、残差(Residual)
6、帧内预测(intra modes)、参考帧(Reference Frames)、运动矢量(Motion vectors)
本申请提出一种视频的转码方法、装置、电子设备及存储介质,能够解决通用转码方案存在计算量大、运行时间长、视频质量损失较大、输入和输出的码率不一致的问题。
下面结合附图来描述本申请实施例的视频的转码方法、装置、电子设备及存储介质。
图2是本申请一个实施例的视频的转码方法的流程图,如图2所示,该视频的转码方法包括以下步骤S201至步骤S204。
S201,对源视频流进行解码,得到第一视频帧和解码信息,并在第一视频帧中插入水印信息,生成第二视频帧。
本申请实施例中,获取源视频流,将源视频流输入到解码器中,通过解码器对源视频流进行解码,可以获取到源视频流中的第一视频帧,并提取到第一视频帧的解码信息。
在一些实施例中,解码信息包括片头信息、参考帧重排信息、参考图像序列标记、解码器参考帧列表、去块滤波前的重建像素以及宏块信息等。在一些实施例中,宏块信息包括预测模式、分块方式、残差及量化参数等。
在第一视频帧中插入水印信息,生成第二视频帧。一方面,水印信息可以对视频帧起到隐私保护、版权保护或字幕解释的作用,另一方面,水印信息也标识了视频帧中被修改的像素,引导转码设备重点关注包含被修改的像素的宏块。在一些实施例中,水印信息可以是版权信息、隐私信息、字幕信息等。
S202,基于水印信息和解码信息,确定第二视频帧中宏块的类型。
视频帧可以被划分成多个宏块,宏块是编码的基本单位,在一些实施例中,宏块大 小为16×16。
本申请实施例中,水印信息可以部分或全部改变部分宏块内的一个或多个像素,水印信息区域即为视频帧中像素被修改的区域,根据水印信息的坐标可以确定被修改像素在第二视频帧中的位置,进而将第二视频帧中包含被修改的像素的宏块确定为第一类型宏块。也就是说,第一类型用于指示宏块与水印信息直接相关。非第一类型宏块中,根据宏块解码信息中的预测模式,确认与第一类型宏块的依赖关系,根据是否与第一类型宏块有依赖关系来确认宏块类型。本申请实施例中,将解码信息依赖于第一类型宏块的任一个宏块的类型,确认为第二类型,解码信息未依赖于第一类型宏块的任一个宏块的类型,确认为第三类型,也就是说,在进行帧内预测或帧间预测时,第二类型宏块的解码信息依赖于第一类型宏块,第三类型宏块的解码信息未依赖于第一类型宏块。至此获取到第二视频帧中所有宏块的类型。宏块的分类如图3所示,其中,logo表示第一类型宏块,quality表示第二类型宏块,copy表示第三类型宏块。
确定宏块类型的目的在于,便于针对宏块的类型,有选择性地获取与宏块类型匹配的目标编码参数,从而减小计算量,提高转码速度。
S203,针对每个宏块,基于宏块的类型和率失真优化RDO算法,确定宏块编码时所需要的目标编码参数。
为了实现对宏块的快速转码,本申请实施例中,针对不同的宏块类型,可以对应有不同的目标编码参数。在一些实施例中,目标编码参数可以包括预测模式、分块方法、运动矢量、整数变换大小、量化参数、残差等。
宏块的参考编码像素作为RDO算法的输入,为宏块选取的参考编码像素往往影响宏块对应的RDO代价值。本申请实施例中,可以为不同类型的宏块,选取不同的参考编码像素,在确定了参考编码像素后,进一步获取宏块的候选编码参数,其中,候选编码参数可以包括解码信息。对宏块的参考编码像素和解码信息进行RDO算法处理,即将宏块的参考编码像素和解码信息输入到RDO算法中,可以获取到候选编码参数及其对应的RDO代价值。进一步地,可以选取RDO代价值最小的候选编码参数,作为确定宏块编码时所需要的目标编码参数。本申请实施例中,在对宏块进行编码的过程中,并非直接调用编码器的原生RDO算法,而是改变了RDO算法的逻辑,基于包括解码信息的候选编码参数来计算RDO代价值,从中选取最小的作为目标编码参数,从而可以降低编码过程的运算量。
S204,按照每个宏块的目标编码参数进行宏块编码,以生成转码后的目标视频流。
针对任一个宏块,基于宏块的目标编码参数,按照H.264视频标准对宏块进行编码,以生成第二视频帧对应的目标编码数据,并基于每帧的目标编码数据,生成目标视频流。
本申请实施例提出的视频的转码方法,对源视频流进行解码,得到第一视频帧和解码信息,并在第一视频帧中插入水印信息,生成第二视频帧;基于水印信息和解码信息,确定第二视频帧中宏块的类型;针对每个宏块,基于宏块的类型和率失真优化RDO算法,确定宏块编码时所需要的目标编码参数;按照每个宏块的目标编码参数进行宏块编 码,以生成转码后的目标视频流。
该方法中编码过程中可以基于解码信息进行编码,不仅可以减小计算量,而且可以保证加水印信息的帧类型与源视频流完全一致,对图像质量也几乎没有任何损伤,视频质量较高。
图4是本申请另一个实施例的视频的转码方法的流程图,如图4所示,在上述实施例的基础上,步骤S203可包括步骤S401至步骤S403。
S401,根据宏块的类型,确定宏块的参考编码像素。
对于不需插入水印信息的视频转码,编码器只是简单使用解码信息进行重新编码,那么编码端和解码端的去块滤波前的像素是相同的。本申请实施例中,视频转码的过程中需要对源视频流插入水印信息,编码器需要尽量利用解码信息,以达到高效和高质量转码的目的。
对于被水印信息修改的区域,其参考编码像素需直接使用被水印信息修改过的像素,从而保证视频转码的准确性。第一类型宏块包含被水印信息修改的区域,而非第一类型宏块未包含水印信息修改区域,因此二者参考编码像素会有所差异,需要根据宏块的类型选取合适的参考编码像素。
S402,对宏块的解码信息及参考编码像素进行RDO算法处理,生成宏块的至少一组候选编码参数及每组候选编码参数对应的RDO代价值。
在一些实现中,编码器使用宏块的解码信息及参考编码像素生成编码参数及其对应的RDO代价值;在一些实现中,编码器使用除了宏块残差以外的宏块解码信息及参考编码像素生成编码参数及其对应的RDO代价值。
结合实际应用场景,由于原生RDO算法获取编码参数的复杂度较高,计算量大,转码速度较低,因此为了兼顾视频转码的质量与速度,需要有选择性地对宏块选取目标编码参数。在一些实施例中,本申请实施例中,以使用宏块解码信息生成的编码参数作为一组候选编码参数并获取其RDO代价值,以使用除了宏块残差外的宏块解码信息生成的编码参数作为另一组候选编码参数,并获取其RDO代价值,从候选编码参数中选出目标编码参数。
为了简化计算,本申请实施例对RDO代价值进行比较,从候选编码参数中确认目标编码参数,RDO代价值可以指示最优候选编码参数作为视频转码的目标编码参数。
S403,基于RDO代价值,从至少一组候选编码参数中确定宏块编码时所需要的目标编码参数。
选取候选编码参数中的最小RDO代价值对应的候选编码参数,作为宏块的目标编码参数。
在一些实施例中,为减小误差,本申请实施例可以预设阈值,若最小RDO代价值大于预设阈值,则调用编码器的原生RDO算法,获取宏块的原生RDO代价值和原生编码参数,继续将最小RDO代价值与原生RDO代价值进行比较,若最小RDO代价值小于或者等于原生RDO代价值,则以最小RDO代价值对应的一组候选编码参数,作为 宏块的目标编码参数;若最小RDO代价值大于原生RDO代价值,则以原生编码参数作为宏块的目标编码参数。
图5是本申请另一个实施例的视频的转码方法的流程图,如图5所示,在上述实施例的基础上,在宏块的类型为第一类型时,宏块的编码的过程包括以下步骤S501至步骤S503。
S501,对第二视频帧中的宏块进行类型识别,确定宏块的类型为第一类型。
参见步骤S102,将第二视频帧中包含被修改的像素的宏块确定为第一类型宏块,即第一类型用于指示宏块与水印信息直接相关。
S502,确定第一类型宏块中像素未被水印信息修改的第一区域和被修改的第二区域。
实现中在视频帧上插入水印,水印可能仅占据部分宏块中的一个或者多个像素,也就是说第一类型宏块中,可能包含被水印信息修改过的区域,也可能包含未被水印信息修改过的区域,因此需要对第一类型宏块进行区域划分,以确认其参考编码像素。本申请实施例中,将像素未被水印信息修改的区域作为第一区域,将像素被水印信息修改的区域作为第二区域。其中,第二区域的参考编码像素为编码器当前输入的像素,当前输入的像素为被水印信息修改后的像素。
对于未被水印信息修改的第一区域,可以将解码器去块滤波前的重构像素作为第一区域的参考编码像素,不仅可以提高编码质量,而且由于解码信息进行转码,能够保证视频转码的效率。
对于被水印信息修改的第二区域,其参考编码像素直接使用被水印信息修改过的像素,从而保证视频转码的准确性。
S503,调用编码器的原生RDO算法,基于第一类型宏块的参考编码像素,获取第一类型宏块的原生编码参数,将原生编码参数确定为第一类型宏块的目标编码参数。
针对第一类型宏块,基于步骤S502获取的参考编码像素,调用编码器的原生RDO算法获取宏块的原生编码参数,并将原生编码参数确定为第一类型宏块的目标编码参数。按照目标编码参数,进行宏块编码,以生成第二视频帧对应的目标编码数据,进而生成转码后的目标视频流。
本申请实施例中的视频转码方法不仅可以减小计算量,而且可以保证加水印信息的帧类型与源视频流完全一致,对图像质量也几乎没有任何损伤,视频质量较高。
图6是本申请另一个实施例的视频的转码方法的流程图,如图6所示,在上述实施例的基础上,在宏块的类型为第二类型时,宏块的编码的过程包括以下步骤S601至步骤S608。
S601,对第二视频帧中的宏块进行类型识别,确定宏块的类型为第二类型,将解码器去滤波前的重构像素,作为参考编码像素。
其中,第二类型指示宏块与携带水印信息的宏块之间存在依赖关系。
参见步骤S102,对于第二视频帧中不包含被修改的像素的非第一类型,将预测模式中宏块解码信息依赖于第一类型宏块的类型确定为第二类型。
将解码器去块滤波前的重构像素作为非第一类型的参考编码像素,也就是说,第二类型宏块的参考编码像素为去滤波前的重构像素。
S602,基于第二类型宏块的解码信息及参考编码像素,生成第二类型宏块的至少一组候选编码参数及其RDO代价值。
本申请实施例中,以使用宏块解码信息及参考编码像素生成的编码参数作为一组候选编码参数并获取其RDO代价值,以使用除了宏块残差外的宏块解码信息及参考编码像素生成的编码参数作为另一组候选编码参数,并获取其RDO代价值。
编码器的原生RDO算法复杂度很大,为减少RDO算法的调用次数,本申请实施例中,对每组候选编码参数对应的RDO代价值进行对比,进而获取目标编码参数。
S603,确定最小RDO代价值,并判断最小RDO代价值是否大于预设阈值。
RDO是一个算法模块,可以通过率失真(Rate Distortion,RD)曲线来比较视频编码器的优劣,在RD二维图中选择一个最优点,这个最优点对应一个代价值。代价值是用于选择最优编码方法的值,代价值最小,说明该代价值对应的编码参数是宏块的最优编码参数。因此,为了选出宏块的最优编码参数,本申请实施例先将最小RDO代价值与预设阈值作比较,判断最小RDO代价值是否大于预设阈值。
S604,响应于最小RDO代价值不大于预设阈值,选取最小RDO代价值对应的一组候选编码参数,作为第二类型宏块的目标编码参数。
若响应于最小RDO代价值不大于预设阈值,说明当前最小RDO代价值对应的候选编码参数满足需求,可以以,最小RDO代价值对应的一组候选编码参数,作为第二类型宏块编码时的目标编码参数
S605,响应于最小RDO代价值大于预设阈值,则调用编码器的原生RDO算法,获取第二类型宏块的原生RDO代价值和原生编码参数。
若响应于最小RDO代价值大于预设阈值,说明当前最小RDO代价值对应的候选编码参数可能不是最优的编码参数,需要调用编码器的原生RDO算法,获取宏块的原生RDO代价值和原生编码参数,并将原生RDO代价值与当前最小RDO代价值继续进行比较,更新最小RDO代价值。
S606,判断最小RDO代价值是否大于原生RDO代价值。
S607,若最小RDO代价值小于或者等于原生RDO代价值,则以最小RDO代价值对应的一组候选编码参数,作为宏块的目标编码参数。
若最小RDO代价值小于或者等于原生RDO代价值,则以最小RDO代价值对应的一组候选编码参数,作为宏块的目标编码参数;按照目标编码参数,进行宏块编码,以生成第二视频帧对应的目标编码数据,进而生成转码后的目标视频流。
S608,若最小RDO代价值大于原生RDO代价值,以原生编码参数作为宏块的目标编码参数。
若最小RDO代价值大于原生RDO代价值,则以原生编码参数作为宏块的目标编码参数;按照目标编码参数,进行宏块编码,以生成第二视频帧对应的目标编码数据,进 而生成转码后的目标视频流。
本申请实施例中的视频转码方法不仅可以减小计算量,而且可以保证加水印信息的帧类型与源视频流完全一致,对图像质量也几乎没有任何损伤,视频质量较高。
图7是本申请另一个实施例的视频的转码方法的流程图,如图7所示,在上述实施例的基础上,在宏块的类型为第三类型时,宏块的编码的过程包括以下步骤S701至步骤S703。
S701,对第二视频帧中的宏块进行类型识别,确定宏块为第三类型宏块,将解码器去滤波前的重构像素,作为参考编码像素。
其中,第三类型宏块指示宏块与携带水印信息的宏块之间未存在依赖关系。
参见步骤S102,对于第二视频帧中不包含被修改的像素的非第一类型,将预测模式中宏块解码信息不依赖于第一类型宏块的类型确定为第三类型。
将解码器去滤波前的重构像素作为非第一类型的参考编码像素,也就是说,第三类型宏块的参考编码像素为去滤波前的重构像素。
S702,基于第三类型宏块的解码信息及参考编码像素,生成第三类型宏块的至少一组候选编码参数及其RDO代价值。
关于步骤S701、步骤S702的具体介绍,可参考上述实施例中相关内容的记载,此次不再赘述。
S703,选取最小RDO代价值对应的一组候选编码参数,作为第三类型宏块的目标编码参数。
为了获得最优的编码参数,可以选取RDO代价值最小的候选编码参数,作为第三类型宏块确定宏块编码时所需要的目标编码参数。按照目标编码参数,进行宏块编码,以生成第二视频帧对应的目标编码数据,进而生成转码后的目标视频流。
本申请实施例中的视频转码方法不仅可以减小计算量,而且可以保证加水印信息的帧类型与源视频流完全一致,对图像质量也几乎没有任何损伤,视频质量较高。
图8是本申请另一个实施例的视频的转码方法的流程图,如图8所示,在上述实施例的基础上,视频的转码方法,还包括步骤S801至步骤S802。
S801,响应于目标视频的编码数据与源视频的编码数据的大小不一致,根据宏块的类型,确定宏块的量化值调整的优先级顺序。
若响应于目标视频的编码数据与源视频的编码数据的大小不一致,需调整量化值,以统一视频帧的大小,保证转码的稳定性。
在源视频流插入水印信息进行视频转码的应用场景中,第一类型宏块和第二类型宏块所占比例很小,大部分宏块为第三类型宏块,由于第三类型宏块的转码过程中依赖于解码信息,其视频编码数据的大小几乎没有变化。因此,宏块的量化值调整的优先顺序为,第一类型宏块、第二类型宏块、第三类型宏块。也就是说,响应于目标视频的编码数据与源视频的编码数据的大小不一致时,首先调整第一类型宏块的量化值。
S802,按照优先级顺序,依次调整各类型的宏块的量化值,并按照调整后的量化值 对宏块进行量化。
响应于目标视频的编码数据与源视频的编码数据的大小不一致时,首先调整第一类型宏块的量化值,并按照调整后的量化值对宏块进行量化,若调整后目标视频的编码数据与源视频的编码数据大小一致,则量化调整结束,否则调整第二类型宏块的量化值,并按照第二次调整的量化值对宏块进行量化,继续判断调整后的目标视频的编码数据与源视频的编码数据大小是否一致,若一致,则量化调整结束,否则继续调整第三类型宏块的量化值,并按照第三次调整的量化值对宏块进行量化,直至目标视频的编码数据与源视频的编码数据大小一致。
量化是一种有损的压缩技术,会对视频帧的质量产生影响,因此,为了保证转码后视频帧的质量,每次量化值的调整都需要满足最低质量要求。
本申请实施例中的视频转码方法不仅可以减小计算量,而且可以保证加水印信息的帧类型与源视频流完全一致,对图像质量也几乎没有任何损伤,视频质量较高。
如图9所示,本申请实施例还提供了一种视频的转码装置900,包括:
解码模块910,用于对源视频流进行解码,得到第一视频帧和解码信息,并在第一视频帧中插入水印信息,生成第二视频帧;
宏块类型获取模块920,用于基于水印信息和解码信息,确定第二视频帧中宏块的类型;
参数获取模块930,用于针对每个宏块,基于宏块的类型和率失真优化RDO算法,确定宏块编码时所需要的目标编码参数;
编码模块940,用于按照每个宏块的目标编码参数进行宏块编码,以生成转码后的目标视频流。
进一步地,在本申请实施例一种可能的实现方式中,参数获取模块930,还包括:
编码像素获取模块931,用于根据宏块的类型,确定宏块的参考编码像素;
备用参数获取模块932,用于对宏块的解码信息及参考编码像素进行RDO算法处理,生成宏块的至少一组候选编码参数及每组候选编码参数对应的RDO代价值;
目标参数获取模块933,用于基于RDO代价值,从至少一组候选编码参数中确定宏块编码时所需要的目标编码参数。
进一步地,在本申请实施例一种可能的实现方式中,编码像素获取模块931,还包括:
针对非第一类型宏块,将解码器去滤波前的重构像素,作为参考编码像素;
针对第一类型宏块,确定第一类型宏块中像素未被水印信息修改的第一区域和被修改的第二区域,其中,第一区域的参考编码像素为解码器去滤波前的重构像素,第二区域的参考编码像素为编码器当前输入的像素,当前输入的像素为被水印信息修改后的像素;
其中,第一类型宏块用于指示与水印信息相关。
进一步地,在本申请实施例一种可能的实现方式中,参数获取模块930,还包括:
响应于宏块的类型非第一类型,选取最小RDO代价值对应的一组候选编码参数,作为宏块的目标编码参数。
进一步地,在本申请实施例一种可能的实现方式中,目标参数获取模块933,还包括:
响应于宏块的类型为第二类型,且最小RDO代价值大于预设阈值,则调用编码器的原生RDO算法,获取宏块的原生RDO代价值和原生编码参数,其中,第二类型指示宏块与携带水印信息的宏块之间存在依赖关系;
若最小RDO代价值小于或者等于原生RDO代价值,则以最小RDO代价值对应的一组候选编码参数,作为宏块的目标编码参数;
若最小RDO代价值大于原生RDO代价值,以原生编码参数作为宏块的目标编码参数。
进一步地,在本申请实施例一种可能的实现方式中,目标参数获取模块933,还包括:
响应于宏块的类型为第一类型,调用编码器的原生RDO算法,生成宏块的原生编码参数,将原生编码参数确定宏块的目标编码参数。
进一步地,在本申请实施例一种可能的实现方式中,编码模块940,还用于:
基于宏块的目标编码参数,对宏块进行宏块编码,以生成第二视频帧对应的目标编码数据,并基于每帧的目标编码数据,生成目标视频流。
进一步地,在本申请实施例一种可能的实现方式中,宏块类型获取模块920,还包括:
获取第二视频帧被插入水印信息时被修改的像素,将包含被修改的像素的宏块的类型确定为第一类型;
针对剩余的任一个宏块,根据任一个宏块的解码信息,确定任一个宏块是否依赖第一类型宏块;
将依赖第一类型宏块的任一个宏块的类型,确定为第二类型,以及将未依赖第一类型宏块的任一个宏块的类型,确定为第三类型。
进一步地,在本申请实施例一种可能的实现方式中,编码模块940,还用于:
响应于目标视频的编码数据与源视频的编码数据的大小不一致,根据宏块的类型,确定宏块的量化值调整的优先级顺序;
按照优先级顺序,依次调整各类型的宏块的量化值,并按照调整后的量化值对宏块进行量化。
本申请实施例还提供了一种电子设备。
图10为本申请实施例提供的电子设备的结构示意图。如图10所示,该电子设备100,包括存储介质110、处理器120及存储在存储器110上并可在处理器120上运行的计算机程序产品,处理器执行计算机程序时,实现前述的视频的转码方法。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序 产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机指令,其中,该计算机指令用于使计算机执行上述实施例中的视频的转码方法。
本申请实施例还提供了一种计算机程序产品,包括计算机程序,该计算机程序在被处理器执行时上述实施例中的视频的转码方法。
应当注意的是,在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的部件或步骤。位于部件之前的单词“一”或“一个”不排除存在多个这样的部件。本申请可以借助于包括有若干不同部件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本申请的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
本公开所有实施例均可以单独被执行,也可以与其他实施例相结合被执行,均视为本公开要求的保护范围。

Claims (21)

  1. 一种视频的转码方法,包括:
    对源视频流进行解码,得到第一视频帧和解码信息,并在所述第一视频帧中插入水印信息,生成第二视频帧;
    基于所述水印信息和所述解码信息,确定所述第二视频帧中宏块的类型;
    针对每个宏块,基于所述宏块的类型和率失真优化RDO算法,确定所述宏块编码时所需要的目标编码参数;
    按照每个宏块的所述目标编码参数进行宏块编码,以生成转码后的目标视频流。
  2. 根据权利要求1所述的方法,其中,所述基于所述宏块的类型和率失真优化RDO算法,确定所述宏块编码时所需要的目标编码参数,包括:
    根据所述宏块的类型,确定所述宏块的参考编码像素;
    对所述宏块的解码信息及所述参考编码像素进行RDO算法处理,生成所述宏块的至少一组候选编码参数及每组候选编码参数对应的RDO代价值;
    基于所述RDO代价值,从所述至少一组候选编码参数中确定所述宏块编码时所需要的目标编码参数。
  3. 根据权利要求2所述的方法,其中,所述根据所述宏块的类型,确定所述宏块的参考编码像素,还包括:
    针对非第一类型宏块,将解码器去滤波前的重构像素,作为所述参考编码像素;
    针对第一类型宏块,确定所述第一类型宏块中像素未被所述水印信息修改的第一区域和被修改的第二区域,其中,所述第一区域的参考编码像素为所述解码器去滤波前的重构像素,所述第二区域的参考编码像素为编码器当前输入的像素,所述当前输入的像素为被所述水印信息修改后的像素;
    其中,所述第一类型宏块用于指示与所述水印信息相关。
  4. 根据权利要求2或3所述的方法,其中,所述基于所述RDO代价值,从所述至少一组候选编码参数中确定所述宏块编码时所需要的目标编码参数,包括:
    响应于所述宏块的类型非第一类型,选取最小所述RDO代价值对应的一组候选编码参数,作为所述宏块的目标编码参数。
  5. 根据权利要求2或3所述的方法,还包括:
    响应于所述宏块的类型为第二类型,且所述最小所述RDO代价值大于预设阈值,则调用所述编码器的原生RDO算法,获取所述宏块的原生RDO代价值和原生编码参数,其中,所述第二类型指示宏块与携带所述水印信息的宏块之间存在依赖关系;
    若所述最小所述RDO代价值小于或者等于所述原生RDO代价值,则以所述最小所述RDO代价值对应的一组候选编码参数,作为所述宏块的目标编码参数;
    若所述最小所述RDO代价值大于所述原生RDO代价值,以所述原生编码参数作为所述宏块的目标编码参数。
  6. 根据权利要求4所述的方法,还包括:
    响应于所述宏块的类型为所述第一类型,调用所述编码器的原生RDO算法,生成所述宏块的原生编码参数,将所述原生编码参数确定所述宏块的目标编码参数。
  7. 根据权利要求1至3任一项所述的方法,其中,所述按照每个宏块的所述目标编码参数进行宏块编码,以生成编码后的目标视频流,包括:
    基于所述宏块的目标编码参数,对所述宏块进行宏块编码,以生成所述第二视频帧对应的目标编码数据,并基于每帧的所述目标编码数据,生成所述目标视频流。
  8. 根据权利要求1所述的方法,其中,所述基于所述水印信息和所述解码信息,确定所述第二视频帧中宏块的类型,包括:
    获取所述第二视频帧被插入所述水印信息时被修改的像素,将包含所述被修改的像素的宏块的类型确定为第一类型;
    针对剩余的任一个宏块,根据所述任一个宏块的解码信息,确定所述任一个宏块是否依赖所述第一类型宏块;
    将依赖所述第一类型宏块的所述任一个宏块的类型,确定为第二类型,以及将未依赖所述第一类型宏块的所述任一个宏块的类型,确定为第三类型。
  9. 根据权利要求1所述的方法,其中,所述按照每个宏块的所述目标编码参数进行宏块编码之前,还包括:
    响应于所述目标视频的编码数据与所述源视频的编码数据的大小不一致,根据所述宏块的类型,确定所述宏块的量化值调整的优先级顺序;
    按照所述优先级顺序,依次调整各类型的宏块的量化值,并按照调整后的量化值对所述宏块进行量化。
  10. 一种视频的转码装置,包括:
    解码模块,用于对源视频流进行解码,得到第一视频帧和解码信息,并在所述第一视频帧中插入水印信息,生成第二视频帧;
    宏块类型获取模块,用于基于所述水印信息和所述解码信息,确定所述第二视频帧中宏块的类型;
    参数获取模块,用于针对每个宏块,基于所述宏块的类型和率失真优化RDO算法,确定所述宏块编码时所需要的目标编码参数;
    编码模块,用于按照每个宏块的所述目标编码参数进行宏块编码,以生成转码后的目标视频流。
  11. 根据权利要求10所述的装置,其中,所述参数获取模块,还包括:
    编码像素获取模块,用于根据所述宏块的类型,确定所述宏块的参考编码像素;
    备用参数获取模块,用于对所述宏块的解码信息及所述参考编码像素进行RDO算法处理,生成所述宏块的至少一组候选编码参数及每组候选编码参数对应的RDO代价值;
    目标参数获取模块,用于基于所述RDO代价值,从所述至少一组候选编码参数中确定所述宏块编码时所需要的目标编码参数。
  12. 根据权利要求11所述的装置,其中,所述编码像素获取模块,还包括:
    针对非第一类型宏块,将解码器去滤波前的重构像素,作为所述参考编码像素;
    针对第一类型宏块,确定所述第一类型宏块中像素未被所述水印信息修改的第一区域和被修改的第二区域,其中,所述第一区域的参考编码像素为所述解码器去滤波前的重构像素,所述第二区域的参考编码像素为编码器当前输入的像素,所述当前输入的像素为被所述水印信息修改后的像素;
    其中,所述第一类型宏块用于指示与所述水印信息相关。
  13. 根据权利要求11或12所述的装置,其中,所述参数获取模块,还包括:
    响应于所述宏块的类型非第一类型,选取最小所述RDO代价值对应的一组候选编码参数,作为所述宏块的目标编码参数。
  14. 根据权利要求11或12所述的装置,其中,所述目标参数获取模块,还包括:
    响应于所述宏块的类型为第二类型,且所述最小所述RDO代价值大于预设阈值,则调用所述编码器的原生RDO算法,获取所述宏块的原生RDO代价值和原生编码参数,其中,所述第二类型指示宏块与携带所述水印信息的宏块之间存在依赖关系;
    若所述最小所述RDO代价值小于或者等于所述原生RDO代价值,则以所述最小所述RDO代价值对应的一组候选编码参数,作为所述宏块的目标编码参数;
    若所述最小所述RDO代价值大于所述原生RDO代价值,以所述原生编码参数作为所述宏块的目标编码参数。
  15. 根据权利要求13所述的装置,其中,所述目标参数获取模块,还包括:
    响应于所述宏块的类型为所述第一类型,调用所述编码器的原生RDO算法,生成所述宏块的原生编码参数,将所述原生编码参数确定所述宏块的目标编码参数。
  16. 根据权利要求10至12任一项所述的装置,其中,所述编码模块,还用于:
    基于所述宏块的目标编码参数,对所述宏块进行宏块编码,以生成所述第二视频帧对应的目标编码数据,并基于每帧的所述目标编码数据,生成所述目标视频流。
  17. 根据权利要求10所述的装置,其中,所述宏块类型获取模块,还包括:
    获取所述第二视频帧被插入所述水印信息时被修改的像素,将包含所述被修改的像素的宏块的类型确定为第一类型;
    针对剩余的任一个宏块,根据所述任一个宏块的解码信息,确定所述任一个宏块是否依赖所述第一类型宏块;
    将依赖所述第一类型宏块的所述任一个宏块的类型,确定为第二类型,以及将未依赖所述第一类型宏块的所述任一个宏块的类型,确定为第三类型。
  18. 根据权利要求10所述的装置,其中,所述编码模块,还用于:
    响应于所述目标视频的编码数据与所述源视频的编码数据的大小不一致,根据所述宏块的类型,确定所述宏块的量化值调整的优先级顺序;
    按照所述优先级顺序,依次调整各类型的宏块的量化值,并按照调整后的量化值对所述宏块进行量化。
  19. 一种电子设备,包括:
    至少一个处理器;以及
    与所述至少一个处理器通信连接的存储器;其中,
    所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1至9中任一项所述的方法。
  20. 一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1至9中任一项所述的方法。
  21. 一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1至9中任一项所述的方法。
PCT/CN2022/086187 2021-04-30 2022-04-11 视频的转码方法、装置、电子设备及存储介质 WO2022228104A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US18/266,677 US20240048778A1 (en) 2021-04-30 2022-04-11 Video transcoding method and apparatus, and electronic device and storage medium
JP2023558930A JP2023552923A (ja) 2021-04-30 2022-04-11 ビデオのトランスコード方法、装置、電子機器及び記憶媒体

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202110487567.6A CN113014926B (zh) 2021-04-30 2021-04-30 视频的转码方法、装置、电子设备及存储介质
CN202110487567.6 2021-04-30

Publications (1)

Publication Number Publication Date
WO2022228104A1 true WO2022228104A1 (zh) 2022-11-03

Family

ID=76380983

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/086187 WO2022228104A1 (zh) 2021-04-30 2022-04-11 视频的转码方法、装置、电子设备及存储介质

Country Status (4)

Country Link
US (1) US20240048778A1 (zh)
JP (1) JP2023552923A (zh)
CN (1) CN113014926B (zh)
WO (1) WO2022228104A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115883835A (zh) * 2023-03-03 2023-03-31 腾讯科技(深圳)有限公司 一种视频编码方法、装置、设备及存储介质

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113014926B (zh) * 2021-04-30 2023-04-07 北京汇钧科技有限公司 视频的转码方法、装置、电子设备及存储介质
CN113613015A (zh) * 2021-07-30 2021-11-05 广州盈可视电子科技有限公司 防篡改视频生成方法、装置、电子设备及可读介质
CN117579820B (zh) * 2024-01-15 2024-05-10 腾讯科技(深圳)有限公司 编码参数确定方法、装置、电子设备以及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060227873A1 (en) * 2005-04-11 2006-10-12 Toebes John A Digital watermarking of a media stream using coded macroblock types
CN108600757A (zh) * 2018-05-03 2018-09-28 深圳市网心科技有限公司 宏块类型判定方法、视频转码方法、电子设备和存储介质
CN108769828A (zh) * 2018-05-23 2018-11-06 深圳市网心科技有限公司 图片水印添加方法、电子装置及计算机可读存储介质
CN111225277A (zh) * 2018-11-27 2020-06-02 北京达佳互联信息技术有限公司 转码方法、转码装置和计算机可读存储介质
CN113014926A (zh) * 2021-04-30 2021-06-22 北京汇钧科技有限公司 视频的转码方法、装置、电子设备及存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8848791B2 (en) * 2010-09-29 2014-09-30 Futurewei Technologies, Inc. Compressed domain video watermarking
CN105898323A (zh) * 2015-12-04 2016-08-24 乐视致新电子科技(天津)有限公司 一种在视频中添加水印和确定水印的信息的方法和设备
CN107105255B (zh) * 2016-02-23 2020-03-03 阿里巴巴集团控股有限公司 视频文件中添加标签的方法和装置
CN111225211A (zh) * 2018-11-27 2020-06-02 北京达佳互联信息技术有限公司 转码方法、转码装置和计算机可读存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060227873A1 (en) * 2005-04-11 2006-10-12 Toebes John A Digital watermarking of a media stream using coded macroblock types
CN108600757A (zh) * 2018-05-03 2018-09-28 深圳市网心科技有限公司 宏块类型判定方法、视频转码方法、电子设备和存储介质
CN108769828A (zh) * 2018-05-23 2018-11-06 深圳市网心科技有限公司 图片水印添加方法、电子装置及计算机可读存储介质
CN111225277A (zh) * 2018-11-27 2020-06-02 北京达佳互联信息技术有限公司 转码方法、转码装置和计算机可读存储介质
CN113014926A (zh) * 2021-04-30 2021-06-22 北京汇钧科技有限公司 视频的转码方法、装置、电子设备及存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115883835A (zh) * 2023-03-03 2023-03-31 腾讯科技(深圳)有限公司 一种视频编码方法、装置、设备及存储介质
CN115883835B (zh) * 2023-03-03 2023-04-28 腾讯科技(深圳)有限公司 一种视频编码方法、装置、设备及存储介质

Also Published As

Publication number Publication date
JP2023552923A (ja) 2023-12-19
US20240048778A1 (en) 2024-02-08
CN113014926A (zh) 2021-06-22
CN113014926B (zh) 2023-04-07

Similar Documents

Publication Publication Date Title
WO2022228104A1 (zh) 视频的转码方法、装置、电子设备及存储介质
AU2021204661B2 (en) Sample adaptive offset control
JP6412910B2 (ja) ビデオを復号化する方法、ビデオを符号化する方法、デコーダ、エンコーダ、復号プログラムを記録したコンピュータ読み取り可能な記録媒体、および符号化プログラムを記録したコンピュータ読み取り可能な記録媒体
TWI705694B (zh) 片級內部區塊複製及其他視訊寫碼改善
KR101538837B1 (ko) 변환 유닛 내의 다수 부호 비트 은폐
TWI544787B (zh) 當跳過轉換時用於有損寫碼之內部預測模式
TWI669944B (zh) 基於調色板之視訊寫碼中之寫碼行程
TW201740730A (zh) 用於視訊寫碼之濾波器之幾何轉換
TW202005399A (zh) 基於區塊之自適應迴路濾波器(alf)之設計及發信令
TW201722164A (zh) 調色盤模式視訊寫碼中脫逃像素訊號值之限制
EP2637409A1 (en) Motion vector sign bit hiding
TW201608880A (zh) 基於調色板之視訊寫碼中之逃脫樣本寫碼
WO2021004152A1 (zh) 图像分量的预测方法、编码器、解码器以及存储介质
JP6588507B2 (ja) 復号方法、復号装置、符号化方法及び符号化装置。
US11582451B2 (en) Coefficient scaling for high precision image and video coding
KR102518627B1 (ko) 이미지 인코딩 방법, 디코딩방법, 인코더 및 디코더
CN113711597A (zh) 上下文建模和多重变换矩阵的选择
US11490089B2 (en) Transform bypass coded residual blocks in digital video
JP2023143946A (ja) クロマデブロックフィルタリングのための量子化パラメータオフセット
CN117319649A (zh) 经变换跳过的块的残差编解码
TW202112135A (zh) 用於視訊寫碼之色度內預測單元
CN114786019A (zh) 图像预测方法、编码器、解码器以及存储介质
JP2007013298A (ja) 画像符号化装置
CN116567207B (zh) 用于帧内预测的方法和装置
CN114902672A (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: 22794575

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 18266677

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 2023558930

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

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

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 19/02/2024)