Preceded by analysis of the change in a video stream for bitrate-constrained and low-latency video coding, and associated device
The change analysis process using the Mojette transform to detect significant scene changes in video streams enables adaptive coding adjustments, addressing sudden changes in constrained low-latency communication, reducing data flow peaks, and maintaining video quality.
Patent Information
- Application Number
- FR2023011291
- Authority / Receiving Office
- FR · FR
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-10-19
- Publication Date
- 2025-04-25
- Estimated Expiration
- 2043-10-19
AI Technical Summary
Existing video coding technologies struggle to manage sudden scene changes in video streams transmitted over constrained communication links with low latency requirements, leading to increased data flow and potential buffer saturation, resulting in latency and video quality issues.
A change analysis process that estimates statistical differences and offsets between images using the Mojette transform to detect significant changes, allowing for adaptive coding adjustments such as intra-image prediction, quantification step modification, or starting a new GOP to mitigate flow increases.
Effectively identifies and adapts to sudden scene changes, reducing instantaneous data flow peaks and maintaining video quality by dynamically adjusting coding parameters, thus preventing buffer saturation and latency issues.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
Title of the invention: Method for analyzing change in a video stream for low-latency, constrained-bitrate video coding, and associated device Technical field
[0001] The invention lies in the field of video coding, and relates more particularly to the problem of transmitting compressed videos over communication links having constrained flow rates with low latency requirements.
[0002] A typical application case of the invention is remote driving, i.e. the remote driving of any type of mobile device: car, train, boat, drone, robot, balloon, etc. In these critical applications, images of the device's environment must be transmitted to a remote operator with the lowest possible latency. Depending on the type of mobile device, its speed or its distance, the communication capabilities of the transmission link for transmitting a video stream to remote equipment may be limited.
[0003] However, the invention applies generally to any type of application where a video is transmitted over a communications link with a constrained flow rate, and where latency must be controlled. Prior art
[0004] Video compression makes it possible to reduce the amount of information in a video stream to be exchanged between transmitting equipment and receiving equipment. Current standards, such as the AVC standard (Advanced Video Coding), the HEVC standard (High Efficiency Video Coding), and many others, use predictive transmission schemes. The images in a video stream are divided into blocks, and the blocks are predicted from other blocks belonging either to the current image or to previously coded / decoded images. The residuals, i.e. the residual differences between the predicted blocks and the blocks to be transmitted, are transmitted after coding, for example by a discrete cosine transform (DCT), and quantization.Thus, prediction makes it possible to take advantage of the temporal continuity between the images of a video stream, where the differences between two successive images generally consist of small displacements of the image, or of the frequency continuity within a video image, where some blocks are identical parts may be made up of identical blocks, to limit the quantity of data to be transmitted.
[0005] In predictive coders, compression uses reference images and Predicted frames. Reference frames (I-frames) are key frames coded independently of other frames in the video stream. This is called intra-frame prediction, or intra-prediction. Blocks of reference frames are predicted relative to other previously coded blocks of the same frame, thus exploiting the frequency redundancy of the blocks.
[0006] Compression also uses images predicted by inter-image prediction, or P images (in English Predicted, or predicted). These images are predicted from the reference images (I images) and / or other predicted images (P images), thus exploiting the temporal redundancy of the blocks.
[0007] Other types of images exist, such as for example bidirectional images (B images), which use inter prediction with respect to images prior and / or subsequent to the current image, or IDR images (Instantaneous Decoder Refresh), which use intra prediction and serve to purge the memory of the encoder to avoid the propagation of prediction errors. Although described below only in connection with I images and P images, the invention applies regardless of the configuration of the frames of the predictive encoder used.
[0008] [Fig. 1a] shows schematically the principles of predictive coding for images in a video stream. Successive frames are grouped into subsets called GOPs (Group Of Pictures). GOPs generally begin with a frame I, followed by a series of predicted frames P. Many GOP schemes are possible, and video compression standards can generally switch between several transmission schemes depending on the type of video stream to be compressed.
[0009] Prediction makes it possible to significantly limit the amount of data required for the transmission of a block. In [Fig.1a], the heights of the frame representations are representative of the size of the coded frame. Since P frames use inter-frame prediction, their size is significantly smaller than that of I frames, which use intra-frame prediction.
[0010] The size of the I and P frames is also linked to the quantization level of the residues. The quantization levels are chosen according to the target bit rates for the compressed video. In the context of a constrained bit rate link, quantization factors are sized so that the bit rate of the compressed video is as close as possible to the bit rate capacity of the link on which the compressed video is transmitted, in order to optimize the quality of the transmitted video stream. Since the compression rate of a video stream is uncertain, some video coders have the ability to dynamically adjust the quantization values of the video streams.
[0011] A problem arises in the event that an abrupt scene change occurs in the video stream, upstream of an image predicted by prediction with respect to a previous image (P or B frame). Such a change can occur, for example, in the case of remote control of a vehicle entering a tunnel, in the case of a sudden change in the orientation of the camera acquiring the video stream, in the case of a change of camera, etc. Temporal prediction is then no longer efficient on the frame following the change of scene. Subsequently, we speak of a significant change to designate a change between two images making the inter-image prediction suboptimal, or a change sufficient to cause an increase in the instantaneous bitrate of the coded stream exceeding an acceptable threshold, this threshold being linked to the bitrate of the transmission link and the admissible latency.
[0012] [Fig.lb] illustrates the impact of a significant change on the predictive coding of [Fig.la] for a state-of-the-art coder that does not dynamically adjust the bitrate of the compressed video stream.
[0013] In [Fig.lb], the change takes place at time 101, upstream of a P frame. Due to the change of scene, the current P frame is not able to identify in the previously coded images blocks suitable for inter-image prediction. Thus, the quantity of block residues to be transmitted increases significantly, so that the P image can have a size much greater than that of an I image when the change concerns a significant portion of the image. The instantaneous bit rate of the compressed video then increases, which, when the communications link is limited in bit rate, results in an increase in the quantity of data stored in the buffer memories of the equipment implementing the data link, and causes an increase in the latency on the communications link. If the buffer memories of the transmission equipment are limited, this phenomenon can lead to saturation of the memory and loss of data.To avoid increasing transmission latency and buffer saturation, it is possible to delete portions of the video stream to be transmitted during its transmission, but this causes interruptions in the video stream which affect its visual quality.
[0014] If the current frame is an I frame, using intra prediction, the significant change 101 has no effect on the instantaneous bitrate of the video stream.
[0015] Patent application EP 3,843,409 A1 describes a method for absorbing instantaneous bitrate peaks for the transmission of a video stream over a limited bitrate link. This solution consists of monitoring the variations in the level of the buffer storing the video stream before its transmission, and when the bitrate increases, duplicating one or more images in the video stream. The duplicated images are coded very efficiently by inter-image coding, which causes a reduction in the instantaneous bitrate to compensate for the peak. However, this solution has the disadvantage of operating a posteriori in response to an increase in the instantaneous bitrate and requires a loop feedback between the compressed video stream transmission equipment and the video encoder.
[0016] [Fig. 1c] illustrates the impact of a significant change on the predictive coding of [Fig.1a] for a state-of-the-art coder dynamically adjusting the bitrate of the compressed video stream. In the event of an instantaneous bitrate peak, such a coder adapts the quantization factors of the following images so as to achieve a target bitrate. In this case, following the significant scene change occurring at 101, the size of the frame P following the change increases, which leads to a significant increase in the instantaneous bitrate. To comply with the bitrate constraint, the coder adapts the quantization factor of the following images. This mechanism leads to a degradation of the quality of the video stream transmitted after the change.
[0017] Finally, there are recursive coders, which recode the video stream with different coding parameters when the maximum target bit rate is exceeded, so as to guarantee that a bit rate constraint is met. However, this mechanism is very expensive in terms of computing power since the video stream may have to be coded several times, and is not very suitable for live broadcasting.
[0018] There is therefore a need for a simple method for identifying significant scene changes between the images of an uncompressed video stream, in order to take this change into account when coding the video stream, in particular in the context of broadcasting the compressed video stream with a constrained bitrate and low latency requirement. Thus, the video coder is able to adapt its coding to take into account the sudden image variation detected. Summary of the invention
[0019] To this end, the present invention describes a method for analyzing the change between two images of an uncompressed video stream, comprising estimating an offset and a statistical difference between all or part of said images in at least one direction, and using the calculated offset(s) and statistical difference(s) to detect a significant change between said images.
[0020] According to an embodiment of the method for analyzing the change between two images of an uncompressed video stream according to the invention, the estimation of a statistical difference and of an offset between all or part of the images in at least one direction comprises, for each direction considered: - a first step of applying a Mojette transform to each of the images in order to determine, for each image, a vector corresponding to a projection of the image in the direction considered, - a second step of calculating a cross-correlation between the vectors obtained by applying a Mojette transform to the two images in said direction during the first step of the method, then the measurement of an offset from the results of the cross-correlations, a third step of measuring a statistical difference between the vectors obtained by applying a Mojette transform to the two images in the direction considered during the first step of the process, after compensation for the associated shift calculated during the second step of the process.
[0021] According to different possible embodiments of the method for analyzing the change between two images of an uncompressed video stream according to the invention, said at least one direction may comprise one or more directions chosen from a horizontal direction and a vertical direction.
[0022] According to an embodiment of the method for analyzing the change between two images of an uncompressed video stream according to the invention, the use of the offset(s) and the statistical deviation(s) calculated to detect a significant change between said images comprises: comparing the offset(s) or a combination of offsets with one or more thresholds, and the comparison of the statistical deviation(s) or a combination of statistical deviations with one or more thresholds.
[0023] Advantageously, at least one of the shift(s) or combination of shifts and the statistical deviation(s) or combination of statistical deviations are compared with a plurality of thresholds in order to quantify the magnitude of said change.
[0024] The invention also relates to a method for coding an uncompressed video stream composed of a succession of images, comprising, for at least one pair of images among said succession of images, a step of analyzing the change between two images of an uncompressed video stream as described previously, and a step of predictive coding of the uncompressed video stream in which, when a significant change is detected during the step of analyzing the change, the uncompressed video stream or coding parameters of the video stream are modified so as to attenuate an increase in the bit rate of the video stream after predictive coding linked to said significant change.
[0025] According to one embodiment, the adaptation of the coding parameters comprises one or more elements among: modify a quantization step of the predictive video coding, reduce a bit rate instruction applied to the predictive video coding, use an intra-frame coding mode, start a new image grouping (GOP), replace the oldest image with the newest image.
[0026] According to a particular embodiment of the method for coding a non-video stream compressed according to the invention, the images of said pair of images are successive images of the uncompressed video stream, and the modification of the uncompressed video stream comprises the copying of the oldest image in place of the most recent image.
[0027] The invention also relates to a device comprising calculation means configured to implement a method according to the invention, and to a system for transmitting a video stream comprising: - means for acquiring an uncompressed video stream, - calculation means configured to implement a method for coding an uncompressed video stream according to an embodiment of the invention on the uncompressed video stream to obtain a compressed video stream, - means of transmitting the compressed video stream, - means of acquiring the compressed video stream, - means for decoding the compressed video stream to obtain a decompressed video stream, and - means of displaying the decompressed video stream.
[0028] It also relates to a computer program comprising program code instructions for executing the steps of a method according to an embodiment of the invention when said program is executed on a computer, and to a computer program product comprising program code instructions recorded on a computer-readable medium, for implementing the steps of a method according to an embodiment of the invention when said program is executed on a computer. Brief description of the drawings
[0029] The invention will be better understood and other characteristics, details and advantages will appear more clearly on reading the following description, given without limitation, and thanks to the appended figures, given by way of example.
[0030] [Fig. la] [Fig. la] schematizes the principles of predictive coding for images in a video stream.
[0031] [Fig.lb] [Fig.lb] illustrates the impact of a significant change on the predictive coding of [Fig. la] for a state-of-the-art coder that does not dynamically adjust the bitrate of the compressed video stream.
[0032] [Fig. 1a] [Fig. 1a] illustrates the impact of a significant change on the predictive coding of [Fig. 1a] for a state-of-the-art coder dynamically adjusting the bitrate of the compressed video stream.
[0033] [Fig.2] [Fig.2] represents a system for transmitting a video stream over a state-of-the-art constrained flow connection.
[0034] [Fig.3] [Fig.3] represents a system for transmitting a video stream over a constrained flow connection according to the invention.
[0035] [Fig.4] [Fig.4] is a block diagram illustrating the estimation of a shift and a statistical deviation in a method for analyzing the change between two images of an uncompressed video stream according to an embodiment of the invention.
[0036] [Fig.5] [Fig.5] represents, in the form of a block diagram, the principles of determining an offset and a statistical difference between two images in a method of analyzing the change between two images of an uncompressed video stream according to an embodiment of the invention.
[0037] [Fig.6] [Fig.6] represents a block diagram of a method for coding a video stream according to an embodiment of the invention.
[0038] [Fig.7a] [Fig.7a] illustrates the impact of a significant change on the predictive coding of [Fig.1a] for the coding of an uncompressed video stream according to an embodiment of the invention in which, following the detection of a significant change, the coder uses an intra prediction to code the current frame.
[0039] [Fig.7b] [Fig.7b] illustrates the impact of a significant change on the predictive coding of [Fig. 1a] for the coding of an uncompressed video stream according to an embodiment of the invention in which, following the detection of a significant change, the coder uses an intra prediction to code the current frame and where the quantization values of the P frames of the GOP following the current image are adjusted so as to compensate for the increase in bit rate linked to the change of scene.
[0040] [Fig.7c] [Fig.7c] illustrates the impact of a significant change on the predictive coding of [Fig. 1a] for the coding of an uncompressed video stream according to an embodiment of the invention in which, following the detection of a significant change, the coder uses an intra prediction to code the current frame 702 and where the quantization value of the current image is adjusted so as to compensate for the increase in bit rate linked to the change of scene.
[0041] [Fig.7d] [Fig.7d] illustrates the impact of a significant change on the predictive coding of [Fig.1a] for the coding of an uncompressed video stream according to an embodiment of the invention in which, following the detection of a significant change, the current picture grouping (GOP) is interrupted, and a new picture grouping is started.
[0042] [Fig.7e] [Fig.7e] illustrates the impact of a change in average magnitude on the predictive coding of [Fig.1a] for the coding of an uncompressed video stream according to an embodiment of the invention in which, following the detection of a significant change, the coder adjusts the quantization value of the current image so as to compensate for the increase in bit rate linked to the change of scene.
[0043] Identical references may be used in different figures when they designate identical or comparable elements. Description of the embodiments
[0044] [Fig.2] represents a system 200 for transmitting a video stream over a constrained bit rate link according to the state of the art.
[0045] The system comprises: - means 201 for acquiring an uncompressed video stream, typically a camera, - means 202 for compressing and transmitting the video stream. These means are typically one or more computing devices such as a microprocessor, a DSP (Digital Signal Processor), an FPGA (Field Programmable Gate Array), an ASIC (Application-Specific Integrated Circuit), or any combination of these means. They are configured to implement: • a predictive video coder 203, for example an HEVC coder, making it possible to generate a compressed video stream 204 from the uncompressed video stream 201, • means for transmitting the compressed video stream, configured to store the compressed video stream, to divide it into frames 205 (or PDU, English acronym for Protocol Data Unit or protocol data unit), the size of which depends on the capacity and characteristics of the communications link on which the compressed video stream is transmitted, and to implement the physical layer level processing 206 necessary for formatting the PDUs for their transmission on the communications link 207, typically a wireless radio link or a wired link, - means 208 for receiving and decompressing the video stream received on the radio link 207. These means are typically one or more computing devices such as a microprocessor, a DSP, an FPGA, an ASIC or any combination of these means, configured to implement: • a device for receiving the compressed video stream, configured to implement the physical layer level processing 209 necessary for receiving the PDUs 210, and to reform the compressed video stream 211 from the PDUs, • a predictive video decoder 212, making it possible to reform the uncompressed video stream from the compressed video stream 211, - means 213 for processing, displaying or recording the video stream uncompressed.
[0046] In the representation of [Fig.2], the means 202 for compressing and transmitting the uncompressed video stream comprise the video encoder and the transmission equipment. Alternatively, these two functions can be implemented by two separate pieces of equipment connected by any link (wired, radio, optical, etc.). The same applies to the means 209 for receiving and decompressing the compressed video stream, where the two functions can be implemented in separate pieces of equipment.
[0047] [Fig. 3] represents an embodiment of a system 300 for transmitting a video stream over a constrained bit rate link according to the invention. This system comprises, in addition to the elements of [Fig. 2], a device 301 configured to detect significant changes between the images, which interfaces with the video encoder function 203. This device makes it possible to detect and quantify in an efficient and inexpensive manner a change between two images of the uncompressed video stream. It can be implemented either on the same calculation means 302 as the encoder 203 or on separate calculation means interfacing with the video encoder 203.
[0048] The invention relates to a method for analyzing the change between two images which ideally applies to each pair of successive images of the video stream. The method is based on the estimation of a statistical deviation and an offset between the two images, either in one direction only (for example horizontally or vertically), or in two orthogonal directions. These estimated values make it possible to determine whether a change between two images is significant or not, and possibly to quantify it more precisely. The remainder of the description will focus on describing only the application case in which the statistical deviation and the offset are estimated in two orthogonal directions. The embodiments limited to the analysis in the horizontal domain only, respectively vertical, can be easily deduced from the two-direction embodiment described.
[0049] Alternatively, in order to reduce the amount of calculations performed, the method can be implemented on non-successive images, for example by estimating the statistical difference and the offset between two images separated by N images of the video stream, with N greater than or equal to two.
[0050] The invention therefore relates to a method for analyzing the change between two images of a video stream before its compression. This method comprises estimating an offset and a statistical difference between all or part of said images in at least one direction, and comparing the offset(s) and the statistical difference(s) with thresholds in order to detect a significant change between said images.
[0051] [Fig.4] is a block diagram illustrating the estimation of an offset and a statistical deviation in a process of analyzing the change between two images of a stream uncompressed video according to one embodiment of the invention. This estimation comprises a first step 401 of applying a Mojette transform to each of the images in order to determine, for each image and for each direction considered, a vector corresponding to a projection of the image in this direction.
[0052] The Mojette transform is an exact discrete application of the Radon transform. It has the advantage of being very simple to implement since it only uses integer additions and subtractions. Applied to an image in the horizontal or vertical direction, it consists of summing the pixels of each row or column of the image. Thus, the output of the Mojette transform applied in a given direction to an image is a vector whose size corresponds to the size of the image in the orthogonal direction.
[0053] The Mojette transform can be applied to the entire image considered, or to only a portion of the images, which further limits the computational complexity necessary for implementing the invention and makes it possible not to consider the edges of the image, which are likely to disappear from one image to another as a result of the movement of the camera acquiring the video stream.
[0054] The estimation of the shift and statistical deviation of the method for analyzing the change between two images of an uncompressed video stream according to an embodiment of the invention then comprises a second step 402 of calculating, for each direction considered, a cross-correlation between the vectors obtained by applying a Mojette transform during the first step 401 of the method, then the measurement of a shift associated with each direction from the results of the cross-correlation(s). The shift corresponds to the maximum of the cross-correlation, obtained either directly on the discretized values, or, for greater precision, by polynomial approximation or by an equivalent mathematical method. Thus, at the end of the second step 402, a shift between the two images has been measured in each of the directions considered, which corresponds to the equivalent of the estimated displacement between two images in the direction considered.
[0055] The estimation of the statistical shifts and deviations of the method for analyzing the change between two images of an uncompressed video stream according to an embodiment of the invention finally comprises a third step 403 of compensating for the shift calculated for each direction during the second step of the method in the corresponding vectors obtained during the first step 401 of the method, then measuring, for each direction considered, a statistical deviation between the compensated vectors of the corresponding shift.
[0056] Thus, the vectors obtained by the Mojette transforms are shifted so as to be aligned before measuring their statistical difference.
[0057] The measurement of the statistical deviation can be carried out for example by integrating the differences between the vectors considered.
[0058] The offset (or offsets) and the statistical deviation (or statistical deviations) measured by the method for analyzing the change between two images of an uncompressed video stream according to the invention make it possible to quantify the resemblance between two images, and to adapt the behavior of the video stream coder as a function of the temporal continuity between the images.
[0059] [Fig. 5] represents, in the form of a block diagram, the principles of determining an offset and a statistical difference between two images in a method of analyzing the change between two images of an uncompressed video stream according to an embodiment of the invention. In this embodiment, the measurements are carried out in two orthogonal directions (horizontal and vertical).
[0060] The input of the measurements are two images 501 and 511 of an uncompressed video stream, typically but not necessarily successive images. A Mojette transform 502 / 512 is performed on each of the images in the horizontal and vertical directions. The results from each Mojette transform are a vector associated with the horizontal direction 503 / 513, and a vector associated with the vertical direction 504 / 514. A cross-correlation 505 / 515 is performed between the vectors associated with the same direction. A horizontal shift AX 506 is calculated from the cross-correlation performed on the horizontal vectors 503 and 513, typically by noting the position of the correlation peak. Similarly, a vertical shift AY 516 is calculated from the cross-correlation performed on the vertical vectors 504 and 514.
[0061] The horizontal vectors 503 and 513 are realigned by compensating for the horizontal offset between the two images, for example by applying an offset 507 equal to AX or -AX to one of the horizontal vectors to obtain a compensated horizontal vector 508, and adjusting the size of the vectors 503 and 508 accordingly. Similarly, the vertical vectors 504 and 514 are realigned by compensating for the vertical offset between the two images, for example by applying an offset 517 equal to AY or -AY to one of the vertical vectors to obtain a compensated vertical vector 518, and adjusting the size of the vectors 504 and 518 accordingly.
[0062] Finally, a horizontal statistical deviation oX 509 is calculated between the realigned horizontal vectors 503 and 508. Similarly, a vertical statistical deviation oX 519 is calculated between the realigned vertical vectors 504 and 518. This statistical deviation can be calculated in different ways, such as for example by summing the absolute differences.
[0063] The values of the offsets AX and AY and the statistical deviations oX and oY characterize and quantify the changes between the two images. They can be compared with thresholds in order to determine the strategy to adopt for the video coding of the stream.
[0064] The invention relates to the method for analyzing the change between two images of an uncompressed video stream described previously, but also to a method for coding a video stream using the method for analyzing the change between two images according to the invention.
[0065] [Fig.6] represents a block diagram of a process for encoding a stream video according to one embodiment of the invention. The method takes as input an uncompressed video stream 601 comprising a succession of images, and successively performs: - a step 602 of analyzing the change between two images of the video stream. This step can be applied systematically to all the pairs of successive images of the uncompressed video stream 601, or to a sub-sampling of the images of the video stream; - a step 603 of coding the images of the uncompressed video stream 601 by a conventional predictive video coding method, such as for example HEVC coding, in which, when a significant change is detected, the video stream is modified or coding parameters of the video stream are modified so as to attenuate an instantaneous increase in the bit rate of the coder linked to the change of scene between the two images. This modification is therefore temporary.
[0066] The output of the method for encoding a video stream is a video stream 604 compressed so as to avoid instantaneous peaks in throughput which can lead to an increase in latency, loss of frames and / or a reduction in image quality in prior art devices when the video stream varies abruptly.
[0067] Step 602 of analyzing the change between two images of the video stream may include raising an alert when a significant change is detected. For this, the offsets AX and / or AY and the calculated statistical deviations oX and / or oY may each be compared to a threshold, and an alert raised when one or more of these indicators exceeds the threshold. Crossing a threshold means that there is sufficient difference between the current image and the previous image to trigger the change of parameter setting before the coding of the current image. The values of the thresholds are to be determined on a case-by-case basis depending on the size of the images considered, the capabilities of the video encoder, the target bit rate, the latency constraints, the strategy for adapting the parameters of the encoder implemented and the capabilities of the data link on which the video stream is transmitted.
[0068] Alternatively, when the statistical shifts and deviations are calculated in two directions, the thresholds can be applied to the sum of the squares (or absolute values) of the shifts and / or to the sum of the squares (or absolute values) of the statistical deviations, which allows the displacement / deviation to be taken into account. tistics simultaneously in both directions.
[0069] Advantageously, step 602 of analyzing the change between two images of the video stream may comprise quantifying the magnitude of the change between the two images. This quantification may be obtained by comparing one or more of the calculated statistical offsets and deviations, combination of offsets and combination of statistical deviations, with a plurality of thresholds in order to size the magnitude of the change.For example, the sum of the absolute values of the statistical deviations oX and oY can be compared with two thresholds to determine whether the statistical deviation between the two images is strong (which is characteristic of a large change between the two images despite the motion compensation performed by compensating for the AX and / or AY offsets), medium (which is characteristic of a large change, but where a large part of the image is in the other image), or weak (which is characteristic of little or no scene changes between the two images). This quantification of the magnitude of the change allows the adaptation of the strategy for taking into account the scene change by the video encoder.
[0070] According to different embodiments of the invention, the modification of the coding parameters of the video stream carried out when a significant change between the current image and a previous image is detected may comprise, when the current image uses inter-frame prediction: - adapting the quantization step used to code the current image, in order to reduce its size. Several levels of quantization can be envisaged, in particular when the magnitude of the change between images is quantized. Unlike the state of the art illustrated in [Fig.lb] where an instantaneous bitrate peak linked to a scene change is compensated by a decrease in the bitrate of subsequent images, the quantization step of the image where the scene change occurs can be increased, thus limiting the instantaneous bitrate peak. Advantageously, the quantization step of the following images can also be modified; - when the video encoder has a bit rate instruction, the (temporary) reduction of this instruction, which is equivalent to increasing the quantization step; - force the coding of the current image to be done using an intra-image prediction mode (I-image). Indeed, when temporal continuity is limited, coding the current image using intra-coding is generally more efficient than with inter-coding in this specific case; - start a new GOP, thus abandoning the current image grouping. GOPs usually start with an image predicted by intra prediction, whose size is not dependent on temporal continuity between the images of the video stream, this amounts to forcing the coding of the current image to be done by intra prediction while pushing back the deadline of the next intra image.
[0071] According to another embodiment in which the images considered are successive images, when a significant change is detected between the current image and the previous image, the current image is replaced by the previous image in the video stream. This duplication of the oldest image has the effect of shifting the arrival of the scene change, but has no impact on the latency of the video. The new current image being a copy of the previous image, it can be coded very efficiently, which creates a momentary drop in the instantaneous flow rate making it possible to absorb all or part of the instantaneous flow rate peak which will appear during the coding of the next image following the scene change.
[0072] These different embodiments are not incompatible. In particular, when the magnitude of the change is quantified, the policy for adjusting the coding parameters of the video stream can combine these different embodiments, for example by coding the current image with intra prediction when the statistical difference between the images is very small, by adjusting the quantization parameters of the current image when the statistical difference is medium, and by doing nothing when the statistical difference is large.
[0073] [Fig.7a] illustrates the impact of a significant change on the predictive coding of [Fig.1a] for the coding of an uncompressed video stream according to an embodiment of the invention in which, following the detection of a significant change, the coder uses an intra prediction to code the current frame 701. This embodiment makes it possible to reduce the size of the current image compared to the use of inter-image prediction, illustrated in [Fig.1b], and therefore to limit the instantaneous peak throughput of the video coder linked to the change of scene.
[0074] [Fig.7b] illustrates the impact of a significant change on the predictive coding of [Fig.1a] for the coding of an uncompressed video stream according to an embodiment of the invention in which, following the detection of a significant change, the coder uses an intra prediction to code the current frame 702 and where the quantization values of the P frames of the GOP following the current image are adjusted so as to compensate for the increase in bit rate linked to the change of scene.
[0075] [Fig.7c] illustrates the impact of a significant change on the predictive coding of [Fig.1a] for the coding of an uncompressed video stream according to an embodiment of the invention in which, following the detection of a significant change, the coder forces the use of an intra prediction to code the current frame 703 and where the quantization value of the current image is adjusted so as to compensate for the increase in bit rate linked to the change of scene.
[0076] [Fig.7d] illustrates the impact of a significant change on the predictive coding of [Fig.1a] for the coding of an uncompressed video stream according to an embodiment of the invention in which, following the detection of a significant change, the current picture grouping (GOP) is interrupted, and a new picture grouping is started. This embodiment makes it possible to use an intra-picture prediction for the current picture, and thus to limit the increase in the peak bit rate. When the scene change occurs towards the end of the GOP, slightly anticipating the start of the next GOP has only a very small impact on the average bit rate of the coder. The instantaneous bit rate is then less affected by the scene change than if the method were not implemented. When the scene change occurs at the start of the GOP, starting a new GOP, and therefore having two close I frames, can impact the bit rate.It is then possible to modify the quantization step for the following frame(s) in order to smooth the increase in bit rate, or to choose a different implementation mode.
[0077] [Fig. 7e] illustrates the impact of a significant change of average magnitude (rather than strong) on the predictive coding of [Fig. 1a] for the coding of an uncompressed video stream according to an embodiment of the invention in which, following the detection of an average change, the coder adjusts the quantization value of the current image 704 so as to compensate for the increase in bit rate linked to the change of scene.
[0078] The method for analyzing the change between two images according to the invention makes it possible to identify sudden scene changes that harm the compression efficiency of the inter-image prediction. This detection, carried out upstream of the coder, makes it possible to configure the coder accordingly in order to dampen the effect of this change on the bit rate of the video coder, and thus to avoid uncontrolled bit rate peaks, which are undesirable when the transmission capacity is limited.
[0079] Another aspect of the invention is that its computational complexity is very low, since it is based on a Mojette transform whose implementation only requires adders and subtractors. Furthermore, it can be implemented independently of the video coder, and thus applies to any parameterizable predictive video coder. Finally, the invention does not require any modification of the decoder to be implemented.
[0080] The invention relates to a method for analyzing the change between two images, but also to a device configured to implement the method. This device takes as input an uncompressed video stream 201, and delivers information representative of the presence of change which can be: - a boolean indicating the presence or absence of significant change, - information relating to the extent of the change between the two images considered, or - configuration parameters of a video encoder, such as quantization step values, bit rate values, instructions regarding the type of predictive coding to use, instructions regarding the resetting of a group of images.
[0081] Alternatively, the device may implement the method of analyzing the change between two images according to the invention on pairs of successive images, and be configured to modify the video stream by copying the oldest image into the most recent image when a significant change is observed. In this case, it is possible but not essential to deliver additional information.
[0082] The invention also relates to a device 302 configured to implement a method for analyzing the change between two images according to an embodiment of the invention, and to code the uncompressed video stream, by adapting the parameters of the encoder and / or the uncompressed video stream when a significant change between the two images is detected. Advantageously, the device may also comprise means for transmitting the compressed video stream over a transmission link.
[0083] The invention also relates to a system (300) for transmitting a video stream comprising: - means for acquiring a video stream, such as one or more cameras, - calculation means configured to implement a method for encoding an uncompressed video stream according to an embodiment of the invention on the video stream to obtain a compressed video stream, - means for transmitting the compressed video stream, i.e. radio communications equipment configured to transmit the compressed video stream to other radio communications equipment over a wired or wireless radio link, - means of acquiring the compressed video stream, - means for decoding the compressed video stream to obtain a decompressed video stream, - means of displaying the decompressed video stream.
[0084] Finally, the invention relates to a computer program and a computer program product comprising program code instructions in order to execute a method for analyzing the change between two images of an uncompressed video stream according to the invention, possibly associated with program code instructions relating to the coding of the video stream and instructions intended to modify the video stream or the parameters of the coding of the video stream when a significant change is detected.
Claims
Claims
1. A method for analyzing the change between two images (501, 511) of an uncompressed video stream (201), said method being characterized in that it comprises estimating an offset (506, 516) and a statistical deviation (509, 519) between all or part of said images in at least one direction, and using the calculated offset(s) and statistical deviation(s) to detect a significant change between said images.
2. A method for analyzing the change between two images of an uncompressed video stream according to claim 1, wherein the estimation of a statistical deviation and of an offset between all or part of said images (501, 511) in at least one direction comprises, for each direction considered: - a first step (401) of applying a Mojette transform (502, 512) to each of said images in order to determine, for each image, a vector (503, 513, 504, 514) corresponding to a projection of the image in said direction, - a second step (402) of calculating a cross-correlation (505, 515) between the vectors obtained by applying a Mojette transform to the two images during the first step (401) of the method, then the measurement of an offset (506, 516) from the results of said cross-correlations, - a third step (403) of measurement of a statistical deviation (509,519) between the vectors obtained by applying a Mojette transform to the two images during the first step (401) of the method, after compensation (507, 517) for the associated shift calculated during the second step (402) of the method.,
3. A method of analyzing the change between two images of an uncompressed video stream according to one of the preceding claims, wherein said at least one direction comprises one or more directions chosen from a horizontal direction and a vertical direction.
4. Method for analyzing the change between two images of an uncompressed video stream according to one of the preceding claims, in which the use of the offset(s) and the calculated statistical deviation(s) to detect a significant change between said images comprises: - comparing the shift(s) or a combination of shifts with one or more thresholds, and - comparing the statistical deviation(s) or a combination of statistical deviations with one or more thresholds.
5. A method of analyzing the change between two images of an uncompressed video stream according to claim 4, wherein at least one of the shift(s) or combination of shifts and the statistical deviation(s) or combination of statistical deviations are compared with a plurality of thresholds in order to quantify the magnitude of said change.
6. Method for coding (203) an uncompressed video stream (601) composed of a succession of images, said method being characterized in that it comprises, for at least one pair of images (501, 511) among said succession of images, a step (602) of analyzing the change between two images of an uncompressed video stream according to one of claims 1 to 5, and a step (603) of predictive coding of the uncompressed video stream (203) in which, when a significant change (101) is detected during the step of analyzing the change (602), the uncompressed video stream or coding parameters of the video stream are modified so as to attenuate an increase in the bit rate of the video stream after predictive coding (604) linked to said significant change.
7. Method for coding an uncompressed video stream according to claim 6, wherein the adaptation of the coding parameters comprises one or more elements among: - modifying a quantization step of the predictive video coding, - reducing a bit rate instruction applied to the predictive video coding, - using an intra-image coding mode, - starting a new image grouping (GOP), - replacing the oldest image (501) with the most recent image (511).
8. A method of encoding an uncompressed video stream according to one of claims 6 and 7, wherein the images of said pair of images (501, 511) are successive images of the uncompressed video stream (201), and where the modification of the uncompressed video stream comprises copying the oldest image in place of the most recent image.
9. Device (301) comprising calculation means configured to implement a method according to one of claims 1 to 8.
10. System for transmitting (300) a video stream comprising: - means for acquiring an uncompressed video stream (201), - calculation means configured to implement a method for encoding an uncompressed video stream according to one of claims 6 to 8 on said uncompressed video stream to obtain a compressed video stream (204), - means for transmitting the compressed video stream (206), - means for acquiring the compressed video stream (209), - means for decoding (212) the compressed video stream to obtain a decompressed video stream (213), and - means for displaying the decompressed video stream.
11. A computer program product comprising program code instructions for implementing the steps of the method according to one of claims 1 to 8 when said computer program is executed on a computer.
12. A computer-readable recording medium on which a computer program product according to claim 11 is recorded.
Citation Information
Patent Citations
Allocation method for low-speed link
EP3843409A1
Variable length coding method and apparatus
US6668094B1