Video coding method, video decoding method and related devices
By adding the preset method to the video coding data, the problem of video coding delay in the existing technology is solved, especially when processing knowledge images, the effect of reducing coding delay is achieved.
Patent Information
- Application Number
- CN202310882453.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-07-18
- Publication Date
- 2025-01-21
- Estimated Expiration
- 2043-07-18
AI Technical Summary
The existing video encoding methods have long encoding delays, especially when processing knowledge images, it is necessary to encode the same content frame multiple times, resulting in an increase in delay.
By adding a preset sentence method to the video coding data, it indicates whether the knowledge image is used to display and force the use of the skip mode to encode the same content frame to reduce coding delay.
This method can selectively let the knowledge image display, avoid multiple encoding of its original image content, or forced use of the skip mode to reduce the time overhead of the second encoding, thereby effectively reducing coding delay.
Smart Images

Figure CN119342232A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of video encoding and decoding technology, and in particular to a video encoding method, a video decoding method and related devices. Background Art
[0002] The amount of video image data is relatively large, and it is usually necessary to compress the video pixel data (RGB, YUV, etc.). The compressed data is called a video stream, which is transmitted to the user end through a wired or wireless network and then decoded for viewing. The entire video encoding process includes prediction, transformation, quantization, encoding and other processes.
[0003] In video encoding and decoding, in order to improve the compression rate and reduce the codewords that need to be transmitted, the encoder will not directly encode and transmit the pixel values, but will use the intra-frame or inter-frame prediction mode to predict the pixel values of the current block using the reconstructed pixels of the encoded block of the current frame or reference frame. The pixel value predicted by a certain prediction mode is called the predicted pixel value, and the difference between the predicted pixel value and the original pixel value is called the residual. The encoder only needs to encode a certain prediction mode and the residual generated when the prediction mode is used, and the decoder can decode the corresponding pixel value based on the code stream information. This greatly reduces the codewords required for encoding.
[0004] However, during the long-term research and development process, the inventors of the present application discovered that the current video encoding method still has some shortcomings; for example, there is a relatively long encoding delay. Summary of the invention
[0005] The present application provides a video encoding method, a video decoding method and related devices, which can reduce encoding delay.
[0006] To achieve the above object, the present application provides a video encoding method, the method comprising:
[0007] Encode the video to obtain encoded data;
[0008] A preset syntax is added to the encoded data to obtain a video code stream, and different values of the preset syntax are used to indicate whether the knowledge image is used for display and / or whether to forcibly use a skip mode to encode the same content frame of the knowledge image, and the knowledge image and the same content frame correspond to the same original image content.
[0009] In one embodiment,
[0010] The encoding of the video to obtain the encoded data includes: encoding the original image content of the knowledge image only once to obtain the encoded data of the knowledge image;
[0011] The adding of preset syntax to the coded data to obtain a video code stream includes: adding the preset syntax to the coded data of the knowledge image and / or a sequence parameter set corresponding to the knowledge image to indicate that the knowledge image is used for display.
[0012] In one embodiment, encoding the original image content of the knowledge image only once to obtain the encoded data of the knowledge image includes:
[0013] The playback sequence number of the knowledge image is encoded into the encoding data of the knowledge image.
[0014] In one embodiment, encoding the video includes: encoding the knowledge image to obtain encoded data of the knowledge image; setting the preset mode of all image blocks in the same content frame of the knowledge image to a skip mode, and turning off all filtering tools in the encoding process of the same content frame to obtain the encoded data of the same content frame;
[0015] The method of adding a preset syntax to the encoded data to obtain a video code stream includes: adding the preset syntax to the encoded data of the knowledge image and / or a sequence parameter set corresponding to the knowledge image to indicate the forced use of a skip mode to encode the same content frames of the knowledge image.
[0016] In one embodiment, the preset syntax is provided with at least a first value, a second value and / or a third value;
[0017] When the preset syntax value is the first value, it means that the knowledge image is not used for display, and the same content frame of the knowledge image is not forced to be encoded using the skip mode;
[0018] When the preset syntax value is the second value, it represents that the knowledge image is used for display;
[0019] When the preset syntax value is the third value, it means that the knowledge image is not used for display, and the skip mode is forcibly used to encode the same content frame of the knowledge image.
[0020] In one embodiment, the preset syntax includes a first syntax and / or a second syntax;
[0021] When the first syntax value is the fourth value, it means that the knowledge image is not used for display;
[0022] When the first syntax takes the fifth value, it means that the knowledge image is used for display;
[0023] When the second syntax takes the sixth value, it means that the skip mode is not mandatory to encode the same content frame of the knowledge image;
[0024] When the second syntax takes the seventh value, it represents forcibly using the skip mode to encode the same content frames of the knowledge image.
[0025] In one embodiment, the adding a preset syntax to the coded data to obtain a video bitstream includes:
[0026] The preset syntax is added in a sequence parameter set and / or a picture parameter set.
[0027] In one embodiment, the preset syntax includes a switch syntax and a usage status syntax, and adding the preset syntax to a sequence parameter set and / or a picture parameter set includes:
[0028] Add the switch syntax in the sequence parameter set, where different values of the switch syntax are used to indicate whether a display scheme of knowledge images is enabled in the image sequence of the sequence parameter set, and / or whether a scheme of forcibly using a skip mode to encode the same content frame of the knowledge image is enabled in the image sequence of the sequence parameter set;
[0029] The usage status syntax is added to the image parameter set, and different values of the usage status syntax are used to indicate whether the knowledge image corresponding to the image parameter set is used for display, and / or whether to force the use of a skip mode to encode the same content frame of the knowledge image corresponding to the image parameter set.
[0030] In one embodiment, encoding the video to obtain encoded data includes:
[0031] Determine whether to adopt fragmented transmission for the knowledge image;
[0032] If slice transmission is adopted, the knowledge image is cut into at least two image blocks, and then the at least two image blocks of the knowledge image are respectively encoded into different encoding data;
[0033] If the fragmented transmission is not adopted, the whole frame of knowledge image is directly encoded into one coded data.
[0034] In one embodiment, the determining whether to adopt fragment transmission for the knowledge image includes: determining whether to adopt fragment transmission for the knowledge image based on the business scenario;
[0035] The business scenario is determined based on the bit overhead and / or image bit rate requirement of the knowledge image.
[0036] In one embodiment, the adding a preset syntax to the coded data to obtain a video bitstream includes:
[0037] If the knowledge image is not transmitted in slices, the preset syntax in the encoded data indicates that the knowledge image is for display;
[0038] If the knowledge image is transmitted in segments, the preset syntax in the encoded data indicates that the knowledge image is not used for display.
[0039] To achieve the above object, the present application also provides a video encoding method, the method comprising:
[0040] The skip mode is forcibly used to encode the same content frame of the knowledge image to obtain the encoded data of the same content frame, and the knowledge image and the corresponding same content frame correspond to the same original image content.
[0041] To achieve the above object, the present application also provides a video decoding method, the method comprising:
[0042] Acquire a preset syntax from a video bitstream, wherein different values of the preset syntax are used to indicate whether the knowledge image is used for display and / or whether to forcibly use a skip mode to encode the same content frame of the knowledge image, and the knowledge image and the corresponding same content frame correspond to the same original image content;
[0043] Based on the preset syntax, the knowledge image and / or the same content frame of the knowledge image are decoded.
[0044] In one embodiment, based on the preset syntax, decoding the knowledge image and / or the same content frame of the knowledge image includes: forcibly using a skip mode to encode the same content frame of the knowledge image when the value of the preset syntax indicates, and decoding the knowledge image; based on the decoded image of the knowledge image, forcibly using the skip mode to decode to obtain a decoded image of the same content frame;
[0045] The method further includes controlling a display unit to display a decoded image of the same content frame.
[0046] To achieve the above object, the present application also provides a video decoding method, comprising: decoding a video code stream to obtain a decoded image of a knowledge image;
[0047] The display unit is controlled to display the decoded image of the knowledge image.
[0048] To achieve the above objectives, the present application also provides an encoder, which includes a processor; the processor is used to execute instructions to implement the steps of the above method.
[0049] To achieve the above objectives, the present application also provides a decoder, which includes a processor; the processor is used to execute instructions to implement the steps of the above method.
[0050] To achieve the above objectives, the present application also provides a computer-readable storage medium, which is used to store instructions / program data, and the instructions / program data can be executed to implement the above method.
[0051] The video encoding method of the present application encodes a knowledge image to obtain encoded data; a preset syntax is added to the encoded data to obtain a video code stream, and different values of the preset syntax are used to indicate whether the knowledge image is used for display and / or whether to force the use of a skip mode to encode the same content frame, and the same content frame and the knowledge image correspond to the same original image content, so that the knowledge image can be selectively displayed, so that the original image content corresponding to the knowledge image does not need to be encoded multiple times, which can reduce the encoding time; or, the same content frame of the knowledge image can be selectively forced to be encoded using a skip mode, which can reduce the second encoding time of the original image content corresponding to the knowledge image, and thus the method of the present application can reduce the encoding delay. BRIEF DESCRIPTION OF THE DRAWINGS
[0052] The drawings described herein are used to provide a further understanding of the present application and constitute a part of the present application. The illustrative embodiments of the present application and their descriptions are used to explain the present application and do not constitute an improper limitation on the present application. In the drawings:
[0053] Figure 1 It is a schematic diagram of the encoding order of multiple images in an image sequence in the related art;
[0054] Figure 2 It is a schematic diagram of an implementation method of the video encoding method of the present application;
[0055] Figure 3 is a schematic diagram of an embodiment of a video encoding method of the present application;
[0056] Figure 4 is a schematic diagram of another embodiment of the video encoding method of the present application;
[0057] Figure 5 It is a schematic diagram of an implementation method of a video decoding method of the present application;
[0058] Figure 6 is a schematic diagram of another implementation of the video decoding method of the present application;
[0059] Figure 7 is a schematic diagram of another implementation of the video decoding method of the present application;
[0060] Figure 8 It is a structural schematic diagram of an implementation mode of an encoder of the present application;
[0061] Fig. 9 It is a structural diagram of an implementation mode of a decoder of the present application;
[0062] Fig.10 It is a structural schematic diagram of an implementation method of a computer-readable storage medium of the present application. DETAILED DESCRIPTION
[0063] The technical solutions in the embodiments of the present application will be clearly and completely described below in conjunction with the accompanying drawings in the embodiments of the present application. Obviously, the described embodiments are only a part of the embodiments of the present application, rather than all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without making creative work are within the scope of protection of the present application. In addition, unless otherwise specified (for example, "or in addition" or "or in an alternative"), the term "or" as used herein refers to a non-exclusive "or" (that is, "and / or"). Moreover, the various embodiments described herein are not necessarily mutually exclusive, because some embodiments can be combined with one or more other embodiments to form new embodiments.
[0064] The concept of library picture is introduced in some video coding standards (such as SVAC3 standard). In this application, L frame is used to represent library picture. In the current standard, library picture is a long-term reference frame, which is encoded by I frame. Library picture is only used as reference frame and is not used for display. Library picture is identified by its library picture index IDX. Since library picture is not used for display at present, the playback sequence number (i.e. POC or DOI) is not used to identify library picture.
[0065] like Figure 1 As shown, the concept of RL (reference library) frame is also introduced in these standards. RL frame refers to P frame or B frame that only refers to knowledge image. Generally speaking, the original image of RL frame is the same as the original image of L frame that RL frame refers to. Therefore, the original image corresponding to L frame is repeatedly encoded twice, wherein the first encoding is a knowledge image (such as L0) which is not used for display, and the second encoding is a P frame or B frame (such as RL0) that only refers to the knowledge image and is used for display. Therefore, before the regular image is displayed, there will be a coding delay caused by the repeated encoding of some frames.
[0066] Based on this, the present application proposes a video encoding method, which encodes a knowledge image to obtain encoded data; adds a preset syntax to the encoded data to obtain a video code stream, and different values of the preset syntax are used to indicate whether the knowledge image is used for display and / or whether to force the use of a skip mode to encode the same content frame. The same content frame and the knowledge image correspond to the same original image content, so that the knowledge image can be selectively displayed, so that the original image content corresponding to the knowledge image does not need to be encoded multiple times, which can reduce the encoding time; or, the same content frame of the knowledge image can be selectively forced to use a skip mode to encode, which can reduce the second encoding time of the original image content corresponding to the knowledge image, and thus the method of the present application can reduce the encoding delay.
[0067] The above-mentioned same content frames can be understood as frames in which the original image content corresponding to the knowledge image is encoded again after the knowledge image is encoded. Generally speaking, in the scheme in which the original image content corresponding to the knowledge image is encoded twice, the RL frames are generally the same content frames. In the scheme in which the original image content corresponding to the knowledge image is encoded only once, the same content frames of the knowledge image generally do not appear, so the RL frames are generally not the same content frames.
[0068] Specifically, Figure 2 As shown, a video encoding method proposed in the present application may include the following steps. It should be noted that the following step numbers are only used to simplify the description and are not intended to limit the execution order of the steps. The steps of this embodiment can be changed in any execution order without violating the technical idea of the present application.
[0069] S101: Encode the video to obtain encoded data.
[0070] S102: Adding a preset syntax to the coded data to obtain a video code stream.
[0071] Optionally, the knowledge image can be encoded to obtain encoded data, and then a preset syntax can be added to the encoded data, wherein different values of the preset syntax are used to indicate whether the knowledge image is used for display and / or whether to force the use of a skip mode to encode the same content frame. In this way, the knowledge image can be selectively displayed, so that the original image corresponding to the knowledge image does not need to be encoded multiple times, which can reduce encoding time; or, the same content frame of the knowledge image can be selectively forced to be encoded using a skip mode, which can reduce the time for the second encoding of the original image content corresponding to the knowledge image, and thus the method of the present application can reduce encoding delays.
[0072] The video includes at least one image sequence, and each image sequence includes a plurality of image frames. Optionally, an image sequence may include at least one knowledge image.
[0073] In one implementable manner, encoding a video may include: encoding at least one parameter of an image sequence in the video (such as the configuration and compatibility level of video encoding, the size and aspect ratio of video images, the frame rate and bit rate of the video, inter-frame prediction and intra-frame prediction settings, quantization parameters, entropy coding modes, reference frame settings, etc.) to obtain encoded data; then a preset syntax may be added to the encoded data so that the preset syntax and the original parameters of the image sequence in the encoded data constitute a sequence parameter set of the image sequence, that is, in this implementable manner, a preset syntax may be added to the sequence parameter set (SPS) of the image sequence to uniformly control through the preset syntax whether all knowledge image frames in the sequence are used for display and whether to force the use of a skip mode to encode the same content frames of all knowledge images in the sequence.
[0074] Among them, the preset syntax may be is_display, and the specific adding method thereof may be as shown in the underlined content in Table 1.
[0075] Table 1 A schematic table of sequence parameter sets
[0076] Sequence parameter set RBSP definition Descriptors sequence_parameter_set_rbsp(){ profile_id u(8) level_id u(8) progressive_sequence u(1) field_coded_sequence u(1) library_picture_enable_flag u(1) if(LibraryPictureEnableFlag){ is_display u(1) } marker_bit f(1) ……
[0077] In another implementable manner, encoding a video may include: encoding at least one parameter of an image sequence in the video (for example, the configuration and compatibility level of video encoding, the size and aspect ratio of video images, the frame rate and bit rate of the video, inter-frame prediction and intra-frame prediction settings, quantization parameters, entropy coding modes, reference frame settings, etc.) to obtain encoded data of the image sequence parameters; then a preset syntax may be added to the encoded data of the image sequence parameters so that the preset syntax and the original parameters of the image sequence in the encoded data constitute a sequence parameter set of the image sequence, that is, in this implementable manner, a preset syntax may be added to a sequence parameter set (SPS) of an image sequence to indicate through the preset syntax in the sequence parameter set whether a "display scheme of knowledge images" and a "scheme for forcibly using a skip mode to encode frames of the same content of knowledge images" in the image sequence are enabled.
[0078] Encoding the video may also include: encoding the knowledge image in the above-mentioned image sequence to obtain the encoded data of the knowledge image; then, a preset syntax may be added to the encoded data of the knowledge image, so that the preset syntax in the encoded data of the knowledge image is used to indicate whether the knowledge image is used for display, and / or whether to force the same content frame of the knowledge image to be encoded using a skip mode. The encoded data of the knowledge image may include an image parameter set and image content data. The preset syntax may be is_display, and as shown in Table 2, the preset syntax may be added to the image parameter set of the knowledge image.
[0079] Table 2 A schematic table of image parameter sets
[0080]
[0081]
[0082] Optionally, the encoded data of the image sequence parameters and the encoded data of at least one knowledge image can form a video bitstream packet, that is, the sequence parameter set and the encoded data of at least one knowledge image can be placed in the same bitstream packet and transmitted to the decoding end together.
[0083] In a specific example, the preset syntax in the sequence parameter set indicates that the “display scheme of knowledge images” is not enabled in the image sequence, so that no matter whether there is a preset syntax in the encoding data of the knowledge images in the image sequence and what the value of the preset syntax is, all knowledge images in the image sequence are not displayed. Thus, it is more preferred that when the preset syntax in the sequence parameter set indicates that the “display scheme of knowledge images” is not enabled in the image sequence, the preset syntax may not be added to the encoding data of the knowledge images in the image sequence, thereby reducing the compression rate of the video. By indicating that the “display scheme of knowledge images” is enabled in the image sequence through the preset syntax in the sequence parameter set, the preset syntax may be added to the encoding data of each knowledge image in the image sequence, so as to indicate whether each knowledge image is used for display through the preset syntax in the encoding data of each knowledge image.
[0084] In another specific example, the preset syntax in the sequence parameter set indicates that the "scheme for forcibly using the skip mode to encode the same content frame of the knowledge image" is not enabled in the image sequence. In this way, regardless of whether there is a preset syntax in the encoding data of the knowledge image in the image sequence and what the value of the preset syntax is, all knowledge images in the image sequence do not forcibly use the skip mode to encode the same content frame of the knowledge image, that is, the original image content corresponding to the knowledge image is encoded again using the conventional encoding method of the prior art. In this way, it is more preferred that when the preset syntax in the sequence parameter set indicates that the "scheme for forcibly using the skip mode to encode the same content frame of the knowledge image" is not enabled in the image sequence, the preset syntax may not be added to the encoding data of the knowledge image in the image sequence, thereby reducing the compression rate of the video. By indicating that the "scheme for forcibly using the skip mode to encode the same content frame of the knowledge image" is enabled in the image sequence through the preset syntax in the sequence parameter set, the preset syntax may be added to the encoding data of each knowledge image in the image sequence, so as to indicate whether the same content frame of each knowledge image is forcibly encoded using the skip mode through the preset syntax in the encoding data of each knowledge image.
[0085] In another achievable manner, encoding a video may include: encoding a knowledge image to obtain encoding data of the knowledge image; and then adding a preset syntax to the encoding data of the knowledge image, so that the preset syntax in the encoding data of the knowledge image is used to indicate whether the knowledge image is used for display and / or whether to forcibly use a skip mode to encode the same content frame of the knowledge image. The preset syntax may be added to an image parameter set of the knowledge image.
[0086] For the original image content of a knowledge image, it may include at least three different processing methods.
[0087] The first processing method is that the decoding end does not display the decoded image of the knowledge image. In this way, the encoding end will encode the original image content corresponding to the knowledge image twice, one of which is used to encode the knowledge image that is not displayed, and the other is used to encode the same content frame (that is, the RL image) of the knowledge image that is displayed. When encoding the same content frame for display, the original image content corresponding to the knowledge image can be directly encoded again using the conventional encoding method of the prior art. For example, the original image content corresponding to the knowledge image is inter-frame encoded using the reconstructed image of the knowledge image as a reference image to obtain the encoded data of the same content frame. In this way, the time overhead of the second encoding of the original image content corresponding to the knowledge image is also large. In addition, since in this scheme, there may be differences between the decoded image of the knowledge image and the decoded image of the same content frame, the decoded image of the knowledge image and the decoded image of the same content frame are obtained by decoding at the decoding end. Generally, it is necessary to retain the decoded image of the knowledge image and the decoded image of the same content frame in the cache at the same time, which leads to a large cache overhead, that is, this processing method has a large hardware overhead.
[0088] The second processing method is to control the decoding end to display the decoded image of the knowledge image, that is, to set the knowledge image to be displayed, so that the original image content corresponding to the knowledge image does not need to be encoded again for display, that is, after encoding the knowledge image, the next frame image of the knowledge image can be directly encoded, thereby reducing the encoding time; in addition, corresponding to the original image content of the knowledge image, the decoding end will only decode to obtain one image, so there is no problem of "needing to retain the decoded image of the knowledge image and the decoded image of the same content frame in the cache at the same time", that is, using this solution can also save cache overhead. Exemplarily, the knowledge image can be encoded to obtain the encoded data of the knowledge image; then the encoded data of the knowledge image is sent to the decoding end; the decoding end decodes the encoded data of the knowledge image to obtain the decoded image of the knowledge image; the decoding end displays the decoded image of the knowledge image.
[0089] In order to facilitate the decoding end to play the video based on the video code stream, when the knowledge image is set to display, the play sequence number of the knowledge image can be encoded into the coded data of the knowledge image, so that the decoding end can determine the play sequence of the knowledge image, thereby facilitating the decoding end to play the video. That is, the knowledge image and the regular image can be numbered together with the play sequence number (i.e., DOI / POC).
[0090] The third processing method is that the decoding end does not display the decoded image of the knowledge image. In this way, the encoding end will encode the original image content corresponding to the knowledge image twice, one of which is used to encode the knowledge image that is not displayed, and the other is used to encode the same content frame of the knowledge image that is displayed (that is, the RL image). When encoding the same content frame for display, the original image content corresponding to the knowledge image can be forced to use the skip mode to encode. That is, when the original image content of the knowledge image is encoded for the second time, the prediction mode of all CUs in the image can be set to the skip mode with mv being 0 (that is, equivalent to directly copying the reconstructed value after the first encoding), and all filtering tools in the encoding process are turned off at the same time. In this way, since the second encoding is in skip mode and the filtering tools are turned off, the time overhead of the second encoding is very small, and the content of the reconstructed image after encoding is consistent with the first encoding. In this way, when decoding the same content frame, the decoded image of the knowledge image can be directly copied, thereby saving video decoding time.
[0091] In addition, for the decoding end, since the decoded image of the knowledge image can be directly copied when decoding the same content frame, that is, the decoded image of the knowledge image is the same as the decoded image of the same content frame, after decoding to obtain the decoded image of the same content frame of the knowledge image, either the decoded image of the knowledge image or the decoded image of the same content frame of the knowledge image can be deleted, so that only the decoded image of the knowledge image or the decoded image of the same content frame of the knowledge image is retained in the cache, so that the use of this scheme can also save cache overhead. More preferably, after decoding to obtain the decoded image of the same content frame of the knowledge image, the decoded image of the knowledge image can be deleted from the cache, so as to facilitate the display of the decoded image of the same content frame of the knowledge image and the subsequent decoding of images with the same content frame as the reference frame.
[0092] Optionally, any of the above processing modes may be executed by default.
[0093] Alternatively, one of at least two of the above three processing methods may be selected as the processing method for the original image content corresponding to the knowledge image.
[0094] That is, in some embodiments, there are two processing methods for selecting the processing method of the original image content corresponding to a knowledge image, that is, the encoding end can decide to use the above two processing methods to process the original image content of the knowledge image. After the decision, the preset syntax can be added to the encoding data of the knowledge image and / or the sequence parameter set of the image sequence to which the knowledge image belongs, so that the decoding end can know which of the above two processing methods the encoding end uses to process the original image content of the knowledge image through the encoding data of the knowledge image and / or the sequence parameter set of the image sequence to which the knowledge image belongs.
[0095] In a specific example, the encoder can decide which of the above-mentioned first processing method and the second processing method to use to process the original image content of the knowledge image. After the decision, the preset syntax is_display can be added to the coding data of the knowledge image and / or the sequence parameter set of the image sequence to which the knowledge image belongs, so that the decoder can know which of the above-mentioned first processing method and the second processing method the encoder uses to process the original image content of the knowledge image through the value of the preset syntax is_display. Specifically, the preset syntax may include a switch syntax and a usage status syntax, that is, there are two syntax elements for controlling the switching between the first processing method and the second processing method: First, as shown in Table 3, a switch syntax is_display_sps is added to the sequence parameter set (SPS); Second, as shown in Table 4, a usage status syntax is_display_pps is added to the image parameter set. is_display_sps is used to indicate whether the display switching function is enabled for all knowledge image frames in the sequence (i.e., whether the "display scheme of knowledge images" is enabled); when is_display_sps = 1, it indicates that the display switching function is enabled, and at this time, is_display_pps needs to be further transmitted to indicate whether a single knowledge image frame is displayed, is_display_pps = 1 indicates that the frame image is displayed, and is_display_pps = 0 indicates that the frame image is not displayed. When is_display_sps = 0, it indicates that the display switching function is turned off for the entire sequence, and is_display_pps does not need to be further transmitted.
[0096] Table 3 Another schematic table of sequence parameter sets
[0097]
[0098] Table 4 Another schematic table of image parameter set
[0099] Intra-frame prediction prediction picture parameter set RBSP definition Descriptors intra_picture_parameter_set_rbsp(){ decode_order_index u(8) intra_picture_start_code f(8) bbv_delay u(32) time_code_flag u(1) if (time_code_flag == '1') time_code u(24) if(LibraryStreamFlag){ library_picture_index ue(v) If (IsDisplaySPS) { u(1) is_display_pps } }
[0100] In another specific example, the encoding end can decide which of the second processing method and the third processing method mentioned above to use to process the original image content of the knowledge image. After the decision, the preset syntax is_display can be added to the encoding data of the knowledge image and / or the sequence parameter set of the image sequence to which the knowledge image belongs, so that the decoding end can know which of the second processing method and the third processing method mentioned above the encoding end uses to process the original image content of the knowledge image through the value of the preset syntax is_display.
[0101] In another specific example, the encoding end can decide which of the first processing method and the third processing method mentioned above to use to process the original image content of the knowledge image. After the decision, the preset syntax need_copy_lib can be added to the encoding data of the knowledge image and / or the sequence parameter set of the image sequence to which the knowledge image belongs, so that the decoding end can know which of the first processing method and the third processing method mentioned above to use by the encoding end to process the original image content of the knowledge image through the value of the preset syntax need_copy_lib.
[0102] In other embodiments, the selection range of the processing method for the original image content corresponding to a knowledge image may include the above-mentioned three processing methods, that is, the encoding end may decide which of the above-mentioned three processing methods to adopt to process the original image content of the knowledge image. After the decision, the preset syntax may be added to the encoding data of the knowledge image and / or the sequence parameter set of the image sequence to which the knowledge image belongs, so that the decoding end can know which of the above-mentioned three processing methods the encoding end adopts to process the original image content of the knowledge image through the encoding data of the knowledge image and / or the sequence parameter set of the image sequence to which the knowledge image belongs.
[0103] For example, the encoding end can decide which of the three processing methods mentioned above to use to process the original image content of the knowledge image. After the decision is made, the preset syntax is_display can be added to the encoding data of the knowledge image and / or the sequence parameter set of the image sequence to which the knowledge image belongs, so that the decoding end can know which of the three processing methods to use through different values of the preset syntax is_display.
[0104] In a specific example, the preset syntax display_mode takes a first value (for example, 0), which indicates that the first processing method mentioned above is adopted, that is, the knowledge image is not displayed, and the original image content corresponding to the knowledge image is encoded again using the conventional encoding method of the prior art; the preset syntax display_mode takes a second value (for example, 1), which indicates that the second processing method is adopted, that is, the knowledge image is used for display; the preset syntax display_mode takes a third value (for example, 2), which indicates that the third processing method is adopted, that is, the knowledge image is not displayed, and the same content frame of the knowledge image is encoded by forcibly using the skip mode. As shown in Table 5, a syntax element identifier display_mode can be added to the sequence parameter set (SPS), and the identifier can be used to control the switching of the display mode of the knowledge image. At this time, all knowledge image frames in the sequence are uniformly controlled. display_mode=0 means that all the knowledge images in the sequence are displayed; display_mode=1 means that all the knowledge images in the sequence are not displayed, but the original image content corresponding to the knowledge image is encoded forcibly in skip mode when it is encoded for the second time; display_mode=2 means that all the knowledge images in the sequence are not displayed, and the original image content corresponding to the knowledge image is encoded for the second time using the conventional encoding method of the prior art.
[0105] Table 5 Another schematic table of sequence parameter set
[0106] Sequence parameter set RBSP definition Descriptors sequence_parameter_set_rbsp(){ profile_id u(8) level_id u(8) progressive_sequence u(1) field_coded_sequence u(1) library_picture_enable_flag u(1) if(LibraryPictureEnableFlag){ display_mode u(2) } marker_bit f(1) ……
[0107] For another example, the preset syntax includes a first syntax and a second syntax. Specifically, the encoder can decide which of the three processing methods mentioned above to use to process the original image content of the knowledge image. After the decision, the first syntax is_display can be added to the coding data of the knowledge image and / or the sequence parameter set of the image sequence to which the knowledge image belongs, so that the decoding end knows whether the knowledge image needs to be displayed through the value of the first syntax is_display; when the first syntax is_display indicates that the knowledge image is not to be displayed, the second syntax need_copy_lib can also be added to the coding data of the knowledge image and / or the sequence parameter set of the image sequence to which the knowledge image belongs, so that the decoding end knows whether to force the use of the skip mode to encode the same content frame of the knowledge image through the value of the second syntax need_copy_lib.
[0108] Among them, the first syntax is_display takes the fourth value (for example, 0), indicating that the knowledge image is not displayed, and the first syntax is_display takes the fifth value (for example, 1), indicating that the second processing method is adopted, that is, the knowledge image is displayed; further, when the first syntax is_display takes the fourth value (for example, 0), the second syntax can be set, and the second syntax need_copy_lib is the sixth value (for example, 0), indicating that the above-mentioned first processing method is adopted, that is, the knowledge image is not displayed, and the same content frame of the knowledge image is not forced to be encoded using the skip mode, that is, the original image content corresponding to the knowledge image is encoded again using the conventional encoding method of the prior art; the second syntax need_copy_lib is the seventh value (for example, 1), indicating that the third processing method is adopted, that is, the knowledge image is not displayed, and the same content frame of the knowledge image is forced to be encoded using the skip mode.
[0109] In a specific example, the switch syntax of "display scheme of knowledge images" (i.e., the first syntax) is added to the sequence parameter set of the image sequence to indicate the on state of "display scheme of knowledge images" in the image sequence through the switch syntax of "display scheme of knowledge images" in the sequence parameter set; the usage status syntax of "display scheme of knowledge images" and / or the usage status syntax of "scheme for forcibly using skip mode to encode the same content frame of knowledge images" are added to the encoding data of each knowledge image in the image sequence; in the case where "display scheme of knowledge images" is not enabled in the image sequence, the usage status syntax of "forcibly using skip mode to encode the same content frame of knowledge images" in the encoding data of each knowledge image is enabled. The usage status syntax of “a scheme for encoding the same content frames of knowledge images using skip mode” indicates whether the same content frames of each knowledge image are forced to be encoded using skip mode; it is also possible to indicate whether each knowledge image is used for display through the usage status syntax of “display scheme for knowledge images” in the encoding data of each knowledge image when the “display scheme for knowledge images” is enabled for the image sequence, and / or indicate whether the same content frames of each knowledge image are forced to be encoded using skip mode through the usage status syntax of “a scheme for encoding the same content frames of knowledge images using skip mode” in the encoding data of each knowledge image.
[0110] Specifically, the first syntax is_display with a fourth value may be added to the sequence parameter set of the image sequence, so as to indicate that the "display scheme of knowledge images" is not enabled in the image sequence through the syntax of is_display with a fourth value in the sequence parameter set. Further, the second syntax need_copy_lib may be added to the encoding data of each knowledge image of the image sequence, so as to indicate whether to force the use of the skip mode for the same content frame of each knowledge image when the knowledge image is not displayed through the value of the second syntax need_copy_lib in the encoding data of each knowledge image. Encoding; specifically, if the second syntax need_copy_lib in the encoded data of a knowledge image takes the sixth value, it means that the first processing method mentioned above is adopted, that is, the knowledge image is not displayed, and the same content frame of the knowledge image is not forced to be encoded using the skip mode, that is, the original image content corresponding to the knowledge image is encoded again using the conventional encoding method of the prior art; if the second syntax need_copy_lib in the encoded data of a knowledge image takes the seventh value, it means that the third processing method is adopted, that is, the knowledge image is not displayed, and the same content frame of the knowledge image is forced to be encoded using the skip mode. In other embodiments, the first syntax is_display with a value of the fifth value may be added to the sequence parameter set of the image sequence, so as to enable the "display scheme of knowledge images" in the image sequence through the syntax indication that the is_display value in the sequence parameter set is 1. Further, the first syntax is_display is added to the encoding data of each knowledge image in the image sequence, so as to indicate whether each knowledge image is used for display through the value of the first syntax is_display in the encoding data of each knowledge image; specifically, if the first syntax is_display in the encoding data of a knowledge image takes a fourth value, it means that the knowledge image is not displayed; if the first syntax is_display in the encoding data of a knowledge image takes a fifth value, it means that the second processing method is adopted, that is, the knowledge image is displayed. In addition, when the first syntax is_display in the encoding data of a knowledge image takes a fourth value, a second syntax may be added to the encoding data of the knowledge image, so as to indicate whether the same content frame of the knowledge image is encoded using the skip mode by the second syntax.
[0111] In another specific example, the switch syntax of "display scheme of knowledge images" and / or the switch syntax of "scheme for encode the same content frames of knowledge images using skip mode forcibly" are added to the sequence parameter set of the image sequence, so as to indicate the turned-on state of "display scheme of knowledge images" in the image sequence through the switch syntax of "display scheme of knowledge images" in the sequence parameter set, and / or, indicate the turned-on state of "scheme for encode the same content frames of knowledge images using skip mode forcibly" in the image sequence through the switch syntax of "scheme for encode the same content frames of knowledge images using skip mode forcibly" in the sequence parameter set; the usage status syntax of "display scheme of knowledge images" and / or the usage status syntax of "scheme for encode the same content frames of knowledge images using skip mode forcibly" are added to the encoding data of each knowledge image in the image sequence. In this way, when the sequence parameter set indicates that the image sequence does not enable the "display scheme of knowledge images" and does not enable the "scheme for forcibly using the skip mode to encode the same content frames of the knowledge images", it can represent that all knowledge images in the image sequence adopt the first processing method mentioned above, that is, the knowledge image is not displayed, and the same content frames of the knowledge image are not forced to use the skip mode to encode, that is, the original image content corresponding to the knowledge image is encoded again using the conventional encoding method of the prior art; when the sequence parameter set indicates that the image sequence does not enable the "display scheme of knowledge images" and enables the "scheme for forcibly using the skip mode to encode the same content frames of the knowledge images", the usage status of the "scheme for forcibly using the skip mode to encode the same content frames of the knowledge images" in the encoded data of each knowledge image can be used. The syntax indicates whether to forcibly use the skip mode to encode the same content frames of each knowledge image; when the sequence parameter set indicates that the image sequence enables the "display scheme of knowledge images" and the "scheme for forcibly using the skip mode to encode the same content frames of knowledge images" is enabled, the usage status syntax of the "display scheme of knowledge images" and / or the usage status syntax of the "scheme for forcibly using the skip mode to encode the same content frames of knowledge images" can be added to the encoding data of each knowledge image in the image sequence to determine which of the three processing methods is used to process the original image content of the knowledge image through the usage status syntax of the "display scheme of knowledge images" and / or the usage status syntax of the "scheme for forcibly using the skip mode to encode the same content frames of knowledge images" in the encoding data of each knowledge image.
[0112] In another specific example, the usage status syntax of "display scheme of knowledge images" and / or the usage status syntax of "scheme for forcing the use of skip mode to encode the same content frames of knowledge images" can be directly added to the sequence parameter set of the image sequence, so as to uniformly control whether all knowledge images in the image sequence use the "display scheme of knowledge images" and / or the "scheme for forcing the use of skip mode to encode the same content frames of knowledge images" through the usage status syntax of "display scheme of knowledge images" and / or the "scheme for forcing the use of skip mode to encode the same content frames of knowledge images" in the sequence parameter set. Wherein, when the usage status syntax of "display scheme of knowledge images" in the sequence parameter set of the image sequence indicates that all knowledge images in the image sequence are displayed, the processing method of the original image content of all knowledge images in the image sequence is the second processing method described above. In the case where the usage status syntax of "display scheme of knowledge images" in the sequence parameter set of an image sequence indicates that all knowledge images in the image sequence are not displayed, the usage status syntax of "scheme for forcibly using skip mode to encode the same content frames of knowledge images" in the sequence parameter set of the image sequence can be used to indicate whether to forcibly use skip mode to encode all knowledge images in the image sequence; alternatively, the switch syntax of "scheme for forcibly using skip mode to encode the same content frames of knowledge images" in the sequence parameter set of the image sequence can be used to indicate the on state of "scheme for forcibly using skip mode to encode the same content frames of knowledge images" in the image sequence. When "scheme for forcibly using skip mode to encode the same content frames of knowledge images" is enabled in an image sequence, the " A scheme for forcing the use of skip mode to encode the same content frames of knowledge images is added to the encoding data of each knowledge image of the image sequence using a state syntax, so as to indicate whether the same content frames of each knowledge image are forcibly encoded using the skip mode through the "scheme for forcing the use of skip mode to encode the same content frames of each knowledge image" using the state syntax of the encoding data of each knowledge image; or, a "scheme for forcing the use of skip mode to encode the same content frames of knowledge images" can be added to the encoding data of each knowledge image of the image sequence using a state syntax, so as to indicate whether the same content frames of each knowledge image are forcibly encoded using the skip mode through the "scheme for forcing the use of skip mode to encode the same content frames of each knowledge image" using the state syntax of the encoding data of each knowledge image. Among them, as shown in Table 6, two syntax element identifiers is_display and need_copy_lib can be added to the sequence parameter set (SPS). Is_display is used to control the switching of whether the knowledge image can be displayed, and need_copy_lib is used to control the encoding method when the knowledge image is not displayed. At this time, whether all knowledge image frames in the sequence are displayed is uniformly controlled.The syntactic element is_display can be transmitted first, is_display=1 means that all knowledge images in the sequence are displayed; is_display=0 means that all knowledge images in the sequence are not displayed. Then when is_display=0, the syntactic element need_copy_lib needs to be transmitted, need_copy_lib=1 means that the original image content corresponding to the knowledge image is encoded in a skip manner for the second time; need_copy_lib=0 means that the original image content corresponding to the knowledge image is encoded in a conventional encoding manner of the prior art for the second time.
[0113] Table 6 Another schematic table of sequence parameter set
[0114] Sequence parameter set RBSP definition Descriptors sequence_parameter_set_rbsp(){ profile_id u(8) level_id u(8) progressive_sequence u(1) field_coded_sequence u(1) library_picture_enable_flag u(1) if(LibraryPictureEnableFlag){ is_display u(1) If (IsDisplay==0) { need_copy_lib u(1) } } marker_bit f(1) ……
[0115] In another specific example, the relevant syntax of "display scheme of knowledge images" and / or "scheme for encode same content frames of knowledge images using skip mode forcibly" is not added to the sequence parameter set of the image sequence, and the processing method of the original image content of each knowledge image is directly indicated by the usage status syntax of "display scheme of knowledge images" and / or "scheme for encode same content frames of knowledge images using skip mode forcibly" in the encoding data of each knowledge image.
[0116] In addition, it is also possible to determine whether to use patch transmission (i.e., fragment transmission) to process the knowledge image based on the business scenario.
[0117] The business scenario may be determined based on the bit overhead of the knowledge image and / or the image bit rate requirement, etc.
[0118] For example, if the bit rate requirement of the knowledge image is low, the knowledge image can be processed without using the patch transmission method, that is, Figure 1 As shown in , the knowledge image is directly transmitted as a whole frame, that is, the whole frame of the knowledge image is directly encoded into a bit stream; if the bit rate requirement of the knowledge image is high, such as Figure 3As shown, the knowledge image can be processed by a patch transmission method, that is, the knowledge image is cut into at least two image blocks, and then the at least two image blocks of the knowledge image are respectively encoded into different code streams, so that the decoding end can only decode the knowledge image after obtaining the code stream containing the encoded data of all image blocks of the knowledge image, which can reduce the impact of too large code stream data on the transmission channel. It is more preferred that before transmitting the code stream of the "image encoded with reference to the knowledge image", the code stream package containing the encoded data of all image blocks of the referenced knowledge image will be transmitted, so that the decoding end can decode and obtain the decoded image of the knowledge image before decoding the "image encoded with reference to the knowledge image".
[0119] The code stream requirement of the knowledge image may be related to the video resolution requirement, the image clarity requirement and / or the update frequency of the knowledge image.
[0120] Optionally, if the update frequency of the knowledge image frame is low (for example, lower than the frequency threshold), and a higher bit rate is required to encode the knowledge image, that is, the code stream requirement of the knowledge image is relatively high, then the knowledge image can be processed by patch transmission; if the update frequency of the knowledge image frame is high (for example, higher than the frequency threshold), and the generated knowledge image does not need to have a high image quality, that is, the code stream requirement of the knowledge image is relatively low, then the knowledge image can be transmitted as a whole frame, and the impact on the transmission channel is not great.
[0121] Alternatively, if the video resolution requirement is high (for example, higher than the resolution threshold), a higher bit rate is needed to encode the knowledge image, that is, the bit rate requirement of the knowledge image is relatively high. At this time, the knowledge image can be processed by patch transmission; if the video resolution requirement is low (for example, lower than the resolution threshold), and the generated knowledge image does not need to have a high image quality, that is, the bit rate requirement of the knowledge image is relatively low, then the knowledge image can be transmitted in the entire frame, and the impact on the transmission channel is not great.
[0122] For another example, if the bit overhead of the knowledge image is small (for example, less than the bit threshold), the knowledge image can be processed without using the patch transmission method, that is, the knowledge image can be directly transmitted as a whole frame, that is, the whole frame of the knowledge image can be directly encoded into a code stream; if the bit overhead of the knowledge image is large (for example, greater than the bit threshold), the knowledge image can be processed by using the patch transmission method, that is, the knowledge image is divided into at least two image blocks, and then the at least two image blocks of the knowledge image are respectively encoded into different code streams, which can reduce the impact of too much code stream data on the transmission channel.
[0123] Optionally, whether it is the original image content of the knowledge image transmitted in patches or the original image content of the knowledge image transmitted in a whole frame, the processing method can be any one of the three processing methods mentioned above, and there is no limitation here. More preferably, the processing method of the original image content of the knowledge image transmitted in patches can be the first processing method mentioned above. The processing method of the original image content of the knowledge image transmitted in a whole frame can be the second processing method or the third processing method mentioned above. Among them, based on the actual situation such as the encoder's own function, it can be determined which of the second processing method or the third processing method to use to process the original image content of the knowledge image transmitted in a whole frame.
[0124] For example, in some actual business scenarios, the frequency of updating the knowledge image frame can be higher, and the generated knowledge image does not need to have a high image quality. In this case, the knowledge image can be transmitted as a whole frame, and the impact on the transmission channel is not great. In this case, the knowledge image can be displayed directly, and then the image content of the next frame can be encoded. This can reduce the delay of displaying a frame of image, and no additional cache is required. Specifically, Figure 4 As shown, L0 and L1 represent knowledge image frames, the knowledge image with POC=0 is the first frame of the encoded video sequence, and the preset syntax value of the knowledge image with POC=0 is set to the value corresponding to the "knowledge image display scheme", and the RL frame with POC=1 is the second frame image content of the video sequence. In other business scenarios, the update frequency of the knowledge image frame is low, and a higher bit rate is required to encode the knowledge image. At this time, in order to avoid the impact on the transmission channel, the knowledge image needs to be transmitted in patches. At this time, the first processing method can be used to process the original image content corresponding to the knowledge image, that is, consistent with the patching method of the prior art.
[0125] The present application also provides a video encoding method in another embodiment. In this embodiment, the video encoding method includes the following steps:
[0126] The same content frame of the knowledge image is encoded by forcibly using the skip mode to obtain the encoded data of the same content frame, and the knowledge image and the same content frame of the knowledge image correspond to the same original image content.
[0127] Optionally, forcing the use of skip mode to encode the same content frame of the knowledge image may mean: setting the preset mode of all image blocks in the same image frame of the knowledge image to the skip mode of mv=0, and turning off all filtering tools in the encoding process of the same content frame to obtain the encoded data of the same image frame.
[0128] The present application also provides a video encoding method in another embodiment. In this embodiment, the video encoding method includes the following steps: encoding the original image content of the knowledge image only once to obtain the encoded data of the knowledge image.
[0129] See also Figure 5 , Figure 5 FIG. 1 is a flow chart of an embodiment of a video decoding method of the present application. It should be noted that if there are substantially the same results, this embodiment does not necessarily use Figure 5 The process sequence shown is limited. In this embodiment, the video decoding method includes the following steps:
[0130] S201: Obtaining a preset syntax from a video bitstream.
[0131] Among them, different values of the preset syntax are used to indicate whether the knowledge image is used for display and / or whether to forcibly use the skip mode to encode the same content frame of the knowledge image, and the knowledge image and the same content frame of the knowledge image correspond to the same original image content.
[0132] S202: Decoding the knowledge image and / or the same content frame of the knowledge image based on a preset syntax.
[0133] Among them, decoding the knowledge image and / or the same content frame of the knowledge image based on the preset syntax includes: when the value of the preset syntax indicates that the knowledge image is used for display, only decoding the knowledge image; the method also includes: controlling the display unit to display the decoded image of the knowledge image.
[0134] Optionally, decoding the knowledge image and / or the same content frame of the knowledge image based on the preset syntax includes: encoding the same content frame of the knowledge image using a skip mode when the value of the preset syntax indicates forced use of the skip mode, and decoding the knowledge image; using the decoded image of the knowledge image as the predicted image of the same content frame; obtaining the decoded image of the same content frame based on the predicted image of the same content frame; the method further includes: controlling a display unit to display the decoded image of the same content frame. Obtaining the decoded image of the same content frame based on the predicted image of the same content frame may be: adding the predicted image of the same content frame and the residual image to obtain the decoded image of the same content frame.
[0135] Furthermore, based on the preset syntax, the knowledge image and / or the same content frame of the knowledge image are decoded, including: encoding the same content frame of the knowledge image using a skip mode forced by the value indication of the preset syntax, and decoding the knowledge image; directly copying the decoded image of the knowledge image as the decoded image of the same content frame; the method also includes: controlling the display unit to display the decoded image of the same content frame.
[0136] Furthermore, the specific details of the video decoding method correspond to the specific contents of the video encoding method in the above-mentioned embodiment. The relevant contents of the video encoding method in the above-mentioned embodiment may be referred to and will not be elaborated here.
[0137] See also Figure 6 , Figure 6 FIG. 1 is a flow chart of another embodiment of the video decoding method of the present application. It should be noted that if there is substantially the same result, this embodiment does not use Figure 6 The process sequence shown is limited. In this embodiment, the video decoding method includes the following steps:
[0138] S301: Decode the video code stream to obtain a decoded image of the knowledge image;
[0139] S302: Control the display unit to display the decoded image of the knowledge image.
[0140] See also Figure 7 , Figure 7 FIG. 1 is a flow chart of another embodiment of the video decoding method of the present application. It should be noted that if there is substantially the same result, this embodiment does not use Figure 7 The process sequence shown is limited. In this embodiment, the video decoding method includes the following steps:
[0141] S401: Decode the video code stream to obtain a decoded image of the knowledge image;
[0142] S402: Based on the decoded image of the knowledge image, forcibly use the skip mode to decode the same content frame of the knowledge image to obtain a decoded image of the same content frame.
[0143] After the decoded image of the same content frame is obtained, the display unit can be controlled to display the decoded image of the same content frame. The decoded image of the knowledge image may not be used for display.
[0144] See also Figure 8 , Figure 8 1 is a schematic diagram of the structure of an embodiment of the encoder of the present application. The encoder 10 includes a processor 12, and the processor 12 is used to execute instructions to implement the above video encoding method. The specific implementation process can be found in the description of the above embodiment, which will not be repeated here.
[0145] The processor 12 may also be referred to as a CPU (Central Processing Unit). The processor 12 may be an integrated circuit chip having signal processing capabilities. The processor 12 may also be a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components. A general-purpose processor may be a microprocessor or the processor 12 may also be any conventional processor, etc.
[0146] The encoder 10 may further include a memory 11 for storing instructions and data required for the processor 12 to run.
[0147] The processor 12 is used to execute instructions to implement the method provided by any embodiment of the video encoding method of the present application and any non-conflicting combination.
[0148] See also Fig. 9 , Fig. 9 2 is a schematic diagram of the structure of an embodiment of the encoder of the present application. The encoder 20 includes a processor 22, and the processor 22 is used to execute instructions to implement the above video decoding method. The specific implementation process can be found in the description of the above embodiment, which will not be repeated here.
[0149] The processor 22 may also be referred to as a CPU (Central Processing Unit). The processor 22 may be an integrated circuit chip having signal processing capabilities. The processor 22 may also be a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components. A general-purpose processor may be a microprocessor or the processor 22 may also be any conventional processor, etc.
[0150] The encoder 20 may further include a memory 21 for storing instructions and data required for the processor 22 to run.
[0151] The processor 22 is used to execute instructions to implement the method provided by any embodiment of the video decoding method of the present application and any non-conflicting combination.
[0152] See also Fig.10 , Fig.10It is a schematic diagram of the structure of a computer-readable storage medium in the implementation mode of the present application. The computer-readable storage medium 30 of the embodiment of the present application stores instructions / program data 31, and when the instructions / program data 31 are executed, the method provided by any embodiment of the video encoding method and video decoding method of the present application and any non-conflicting combination is implemented. Among them, the instructions / program data 31 can form a program file and be stored in the above-mentioned storage medium 30 in the form of a software product, so that a computer device (which can be a personal computer, a server, or a network device, etc.) or a processor (processor) executes all or part of the steps of each implementation method of the present application. The aforementioned storage medium 30 includes: various media that can store program codes, such as a USB flash drive, a mobile hard disk, a read-only memory (ROM, Read-Only Memory), a random access memory (RAM, RandomAccess Memory), a disk or an optical disk, or a terminal device such as a computer, a server, a mobile phone, and a tablet.
[0153] In the several embodiments provided in the present application, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of units is only a logical function division. There may be other division methods in actual implementation. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be an indirect coupling or communication connection through some interfaces, devices or units, which can be electrical, mechanical or other forms.
[0154] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.
[0155] It should also be noted that the terms "include", "comprises" or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, commodity or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, commodity or device. In the absence of more restrictions, the elements defined by the sentence "comprises a ..." do not exclude the existence of other identical elements in the process, method, commodity or device including the elements.
[0156] The above are only implementation methods of the present application, and are not intended to limit the patent scope of the present application. Any equivalent structure or equivalent process transformation made using the contents of the present application specification and drawings, or directly or indirectly used in other related technical fields, are also included in the patent protection scope of the present application.
Claims
1. A video encoding method, characterized in that: The method comprises: Encode the video to obtain encoded data; A preset syntax is added to the coded data to obtain a video code stream, wherein different values of the preset syntax are used to indicate whether the knowledge image is used for display and / or whether to forcibly use a skip mode to encode the same content frame of the knowledge image, and the knowledge image and the same content frame correspond to the same original image content, The mandatory use of the skip mode to encode the same content frame of the knowledge image is: setting the preset mode of all image blocks in the same content frame to the skip mode, and turning off all filtering tools in the encoding process of the same content frame.
2. The video encoding method according to claim 1, characterized in that: The encoding of the video to obtain the encoded data includes: encoding the original image content of the knowledge image only once to obtain the encoded data of the knowledge image; The adding of preset syntax to the coded data to obtain a video code stream includes: adding the preset syntax to the coded data of the knowledge image and / or a sequence parameter set corresponding to the knowledge image to indicate that the knowledge image is used for display.
3. The video encoding method according to claim 2, characterized in that: The step of encoding the original image content of the knowledge image only once to obtain the encoded data of the knowledge image includes: The playback sequence number of the knowledge image is encoded into the encoding data of the knowledge image.
4. The video encoding method according to claim 1, characterized in that: The preset syntax is provided with at least a first value, a second value and / or a third value; When the preset syntax value is the first value, it means that the knowledge image is not used for display, and the same content frame of the knowledge image is not forced to be encoded using the skip mode; When the preset syntax value is the second value, it represents that the knowledge image is used for display; When the preset syntax value is the third value, it means that the knowledge image is not used for display, and the skip mode is forcibly used to encode the same content frame of the knowledge image.
5. The video encoding method according to claim 1, characterized in that: The preset syntax includes a first syntax and / or a second syntax; When the first syntax value is the fourth value, it means that the knowledge image is not used for display; When the first syntax takes the fifth value, it means that the knowledge image is used for display; When the second syntax takes the sixth value, it means that the skip mode is not mandatory to encode the same content frame of the knowledge image; When the second syntax takes the seventh value, it represents forcibly using the skip mode to encode the same content frames of the knowledge image.
6. The video encoding method according to claim 1, characterized in that: The step of adding a preset syntax to the coded data to obtain a video bit stream comprises: The preset syntax is added in a sequence parameter set and / or a picture parameter set.
7. The video encoding method according to claim 6, characterized in that: The preset syntax includes a switch syntax and a usage status syntax, and the adding the preset syntax to a sequence parameter set and / or a picture parameter set includes: Add the switch syntax in the sequence parameter set, where different values of the switch syntax are used to indicate whether a display scheme of knowledge images is enabled in the image sequence of the sequence parameter set, and / or whether a scheme of forcibly using a skip mode to encode the same content frame of the knowledge image is enabled in the image sequence of the sequence parameter set; The usage status syntax is added to the image parameter set, and different values of the usage status syntax are used to indicate whether the knowledge image corresponding to the image parameter set is used for display, and / or whether to force the use of a skip mode to encode the same content frame of the knowledge image corresponding to the image parameter set.
8. The video encoding method according to claim 1, characterized in that: The step of encoding the video to obtain encoded data includes: Determine whether to adopt fragmented transmission for the knowledge image; If slice transmission is adopted, the knowledge image is cut into at least two image blocks, and then the at least two image blocks of the knowledge image are respectively encoded into different encoding data; If the fragmented transmission is not adopted, the whole frame of knowledge image is directly encoded into one coded data.
9. The video encoding method according to claim 8, characterized in that: The determining whether to adopt fragment transmission for the knowledge image comprises: determining whether to adopt fragment transmission for the knowledge image based on the business scenario; The business scenario is determined based on the bit overhead and / or image bit rate requirement of the knowledge image.
10. The video encoding method according to claim 8, characterized in that: The step of adding a preset syntax to the coded data to obtain a video bit stream comprises: If the knowledge image is not transmitted in slices, the preset syntax in the encoded data indicates that the knowledge image is for display; If the knowledge image is transmitted in segments, the preset syntax in the encoded data indicates that the knowledge image is not used for display.
11. A video encoding method, characterized in that: The method comprises: Forcibly using the skip mode to encode the same content frame of the knowledge image to obtain the encoded data of the same content frame, wherein the knowledge image and the corresponding same content frame correspond to the same original image content; The mandatory use of the skip mode to encode the same content frame of the knowledge image is: setting the preset mode of all image blocks in the same content frame to the skip mode, and turning off all filtering tools in the encoding process of the same content frame.
12. A video decoding method, characterized in that: The method comprises: Acquire a preset syntax from a video bitstream, wherein different values of the preset syntax are used to indicate whether the knowledge image is used for display and / or whether to forcibly use a skip mode to encode the same content frame of the knowledge image, and the knowledge image and the corresponding same content frame correspond to the same original image content; Based on the preset syntax, decoding the knowledge image and / or the same content frame of the knowledge image; The mandatory use of the skip mode to encode the same content frame of the knowledge image is: setting the preset mode of all image blocks in the same content frame to the skip mode, and turning off all filtering tools in the encoding process of the same content frame.
13. The video decoding method according to claim 12, characterized in that: The decoding of the knowledge image and / or the same content frame of the knowledge image based on the preset syntax includes: forcibly using a skip mode to encode the same content frame of the knowledge image when the value of the preset syntax indicates, and decoding the knowledge image; based on the decoded image of the knowledge image, forcibly using the skip mode to decode to obtain a decoded image of the same content frame; The method further includes controlling a display unit to display a decoded image of the same content frame.
14. A video decoding method, characterized in that: The method comprises: Decode the video code stream to obtain a decoded image of the knowledge image; The display unit is controlled to display the decoded image of the knowledge image.
15. An encoder, characterized in that: The encoder comprises a processor; the processor is used to execute instructions to implement the steps of the method according to any one of claims 1-11.
16. An encoder, characterized in that: The encoder comprises a processor; the processor is configured to execute instructions to implement the steps of the method according to any one of claims 12-14.
17. A computer-readable storage medium having instructions / program data stored thereon, characterized in that: When the instructions / program data are executed, the steps of the method according to any one of claims 1 to 14 are implemented.
Citation Information
Patent Citations
Methods and devices of video encoding and video decoding
CN109547786A
Frame reference method and device thereof, and storage medium
CN111988626A
Crowdsourcing video coding method and device
CN113438483A
Syntax structures indicating completion of coded regions
US20160100196A1
Video Encoder, Video Decoder, and Corresponding Method
US20210337220A1
Cited By
Video coding method, video decoding method and related devices
CN119496898A
Video encoding method, video decoding method, and related apparatus
CN119496898B