EP3114836A1 - Method for modifying a binary video stream - Google Patents
Method for modifying a binary video streamInfo
- Publication number
- EP3114836A1 EP3114836A1 EP15707152.3A EP15707152A EP3114836A1 EP 3114836 A1 EP3114836 A1 EP 3114836A1 EP 15707152 A EP15707152 A EP 15707152A EP 3114836 A1 EP3114836 A1 EP 3114836A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- filtering
- video stream
- syntax element
- binary video
- decoding
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 60
- 238000001914 filtration Methods 0.000 claims abstract description 157
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 33
- 230000004048 modification Effects 0.000 claims description 83
- 238000012986 modification Methods 0.000 claims description 83
- 230000005540 biological transmission Effects 0.000 claims description 18
- 230000009467 reduction Effects 0.000 claims description 13
- 238000004891 communication Methods 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 7
- 238000012217 deletion Methods 0.000 claims description 4
- 230000037430 deletion Effects 0.000 claims description 4
- 238000007906 compression Methods 0.000 description 15
- 230000006835 compression Effects 0.000 description 15
- 230000033001 locomotion Effects 0.000 description 14
- 239000013598 vector Substances 0.000 description 12
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 11
- 239000003607 modifier Substances 0.000 description 6
- 230000009466 transformation Effects 0.000 description 6
- 230000003044 adaptive effect Effects 0.000 description 5
- 230000001276 controlling effect Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000013139 quantization Methods 0.000 description 5
- 230000001131 transforming effect Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 230000009849 deactivation Effects 0.000 description 4
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 4
- 101150114515 CTBS gene Proteins 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000000638 solvent extraction Methods 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000000844 transformation Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 230000001364 causal effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000002715 modification method Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 238000011002 quantification Methods 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000004513 sizing Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/80—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
- H04N19/82—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/117—Filters, e.g. for pre-processing or post-processing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/156—Availability of hardware or computational resources, e.g. encoding based on power-saving criteria
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
Definitions
- the present invention relates to a method and a device for regulating the decoding complexity of a previously compressed video stream.
- Recent video data compression methods such as the H264 / AVC standard (ISO / IEC 14496-10 - MPEG-4 Part 10, Advanced Video Coding) / ITU-T H .264) or the emerging standard HEVC (ISO / IEC 23008-2 - MPEG-H Part 2, High Efficiency Video Coding / ITU-T H.265), have made an improvement significant compression performance.
- These methods utilize video coding algorithms that have reduced video bit rate after compression (i.e. encoding) while preserving this video data in terms of image rendering quality after decompression (i.e. decoding).
- the computational capacities and the memory capacities are dimensioned to the fairest, which does not allow the encoding and decoding devices to offer features beyond those for which these encoding and decoding devices were designed.
- the problem solved by the present invention consists in ensuring the compatibility of a binary video stream with computational capacities and possibly capabilities in memory of a video decoding device, when the video decoding device is used, for example, to implement display features requiring a large computational effort.
- the present invention relates to a method for modifying an encoded binary video stream according to a video coding algorithm comprising a prediction loop and a loop post filter integrated in the video loop. prediction.
- the method comprises the following steps performed by a device: searching for a syntax element relating to the post-filtering loop in the binary video stream, the syntax element being used by a decoding device to control a complexity of implementation of the post loop filtering; and modifying a value of the syntax element or deleting the syntax element so as to obtain a reduction in the complexity of implementation of the post-filtering loop by the decoding device.
- the modification or deletion of syntax elements relating to the loop filtering makes it possible to indicate to the decoding device that it can implement a simplified loop filtering post or not to implement the loop post filtering, which will reduce the complexity of decoding.
- This method has a low computational cost because it does not require a complete decoding and re-encoding of the binary video stream.
- the loop post filtering comprises an unlocking filtering and / or a SAO filtering ("Sample Adaptive Offset" in English terminology).
- the method makes it possible to finely adjust the reduction of the decoding complexity.
- the deblocking filtering reducing discontinuities between blocks of pixels and comprising a filtering of high complexity strongly attenuating the discontinuities between the blocks of pixels and a low complexity filtering weakly attenuating the discontinuities between the blocks of pixels, when the value of the syntax element has been changed and the syntax element is relative to the deblocking filtering, said value is modified so as to favor a use by the decoding device of the low-complexity unlatching filtering. Unlocking filtering of high complexity.
- the complexity of implementation of the unlocking filtering is reduced, while allowing minimal attenuation of discontinuities between blocks.
- the modification of the value of the syntax element makes it possible to deactivating respectively the implementation of the unlocking filtering or the implementation of the SAO filtering by the decoding device.
- the method thus makes it possible to disable the implementation by a decoding device of the deblocking filtering and / or the SAO filtering, which makes it possible to reduce the decoding complexity.
- the deletion of the syntax element makes it possible to deactivate respectively the implementation of the syntax element. unblocking filtering or implementation of the SAO filtering by the decoding device.
- the method thus makes it possible to disable the implementation by the decoding device of the deblocking filtering and / or the SAO filtering, which makes it possible to reduce the decoding complexity.
- the method also makes it possible, by eliminating syntax elements, to reduce the bit rate of the binary video stream, especially when the deleted syntax elements are syntax elements relating to SAO filtering of blocks of pixels.
- the value of the modified syntax element and / or the deleted syntax element depend on information representative of a need to reduce a decoding complexity.
- the need to reduce the decoding complexity depends on a display functionality desired by a user for displaying, on a display device, images corresponding to the binary video stream.
- the method further comprises the following steps: receiving the binary video stream of a receiving device, the binary video stream being received by the receiving device via a communication network; and transmitting to the decoding device a modified binary video stream resulting from the modification of the binary video stream by the modification method.
- a received binary video stream is adapted according to the needs of a user before being provided to the decoding device. It is therefore not necessary to modify, before transmission, an initial binary video stream as generated by a video encoder that other users might want to decode in maximum quality.
- the method further comprises the following steps: receiving the binary video stream of an encoding device; receiving information representative of a need to reduce a decoding complexity through a communication network; and transmitting a modified binary video stream resulting from the modification by the method of modifying the binary video stream to a transmission device for transmission of the modified binary video stream over the communication network.
- said video coding algorithm is based on the H.264 / AVC standard or on the HEVC standard.
- the process is therefore adapted to two widely used compression standards.
- the implementation of the method has a very low computational cost when the method is applied to video streams compliant with the H.264 / AVC standard because in this case, the changes made to the binary video stream only relate to video data. 'header and therefore do not require a thorough reading of the binary video stream.
- the present invention relates to a device for modifying a binary video stream encoded according to a video coding algorithm comprising a prediction loop and a loop post filter integrated in the prediction loop.
- the device comprises: means for searching in the binary video stream for a syntax element relating to the post loop filtering, the syntax element being used by a decoding device to control the implementation complexity of the post loop filtering; and means for modifying a value of the syntax element and / or means for deleting the syntax element so as to obtain a reduction in the complexity of implementing the post-loop filtering by the decoding device.
- the present invention relates to a system for communicating a binary video stream for display by a display device, the binary video stream having been encoded according to a video coding algorithm comprising a prediction loop and a loop filter post integrated in the prediction loop, the system comprising a decoding device capable of decoding the binary video stream and capable of transmitting to the display device images corresponding to a result of the decoding of the stream binary video.
- the system comprises a device for modifying a binary video stream according to the second aspect, the modification device being able to provide the decoding device with a modified bit stream resulting from the modification by the device for modifying the binary video stream.
- the communication system has the same advantages as those mentioned in the first aspect.
- the present invention relates to a computer program product.
- the computer program product includes instructions for implementing, by a device, the method according to the first aspect, when said program is executed by a processor of said device.
- the computer program product has the same advantages as those mentioned in the first aspect.
- the present invention relates to storage means.
- the storage means stores a computer program comprising instructions for implementing, by a device, the method according to the first aspect, when said program is executed by a processor of said device.
- the storage means have the same advantages as those mentioned in the first aspect.
- Fig. 1A schematically represents a first video transmission system comprising a device embodying the invention
- FIG. 1B schematically represents a second video transmission system comprising a device embodying the invention
- Fig. 2 schematically shows a device adapted to implement the present invention
- Fig. 3 schematically shows a method for ensuring the compatibility of a binary video stream with computational capabilities and possibly memory capacities of a video decoding device, when the video decoding device is used to implement functionalities. display requiring significant computational effort,
- Fig. 4 schematically illustrates the successive partitions that a video image undergoes during a HEVC encoding
- Fig. 5 schematically represents a method of encoding a video stream compatible with the HEVC standard
- Fig. 6 schematically represents a method of decoding according to the HEVC standard
- Fig. 7 schematically represents an algorithm modifying a video stream and thus making it possible to obtain a reduction in the decoding complexity of said video stream by simplifying a post filtering method such as a deblocking filter,
- Fig. 8 schematically represents an algorithm modifying a video stream and thus making it possible to obtain a reduction in the decoding complexity of said video stream by preventing the implementation of a post-filtering method such as a deblocking filter, and
- Fig. 9 diagrammatically represents an algorithm modifying a video stream and thus making it possible to obtain a reduction in the decoding complexity of said video stream by preventing the implementation of a filtering method of the SAO filter type.
- the present invention is in the field of video compression and applications using compressed videos such as video transmission applications ("streaming" in English terminology).
- the invention is suitable for video compression methods using post loop filtering, such as H.264 / AVC and HEVC.
- Figs. 4, 5 and 6 describe an exemplary implementation of the HEVC standard.
- Fig. 4 illustrates the successive partitions undergone by a pixel image 402 of an original video 401, when it is encoded according to the HEVC standard.
- a pixel is composed of three components: a luminance component and two chrominance components.
- the picture 402 is initially divided into three slices ("slices" in English terminology).
- a slice is an area of an image that can cover an entire image or only a portion, such as slice 403 in FIG. 4.
- a tranche comprises at least one segment segment ("slice segment" in English terminology) optionally followed by other segment segments.
- the slice segment in first position in the slice is called independent slice segment ("independent slice segment" in English terminology).
- An independent slice segment such as slice segment IS1 in slice 403, includes a full header, such as a header 408.
- the header 408 includes a set of syntax elements for decoding the slice. Any other slice segments of a slice, such as slice segments DS2, DS3, DS4, DS5 and DS6 of slice 403 in FIG. 4, are called dependent slice segments ("depend slice segment") because they have only a partial header referring to the dependent slice segment header that precedes them in the slice, here the header 408.
- depend slice segment In the standard H.264 / AVC, only the concept of slice exists, a slice necessarily comprising a complete header and can not be divided.
- each slice of an image is decodable independently of any other slice of the same image.
- implementing a loop filtering post in one slice may require the use of data from another slice.
- CTB coded tree block
- a CTB such as CTB 409 in FIG. 4, is a square of side pixels whose size is equal to a power of two and whose size can range from sixteen to sixty-four pixels.
- a CTB can be partitioned in the form of a quaternary tree ("quad-tree" in English terminology) into one or more coding units (“coding unit (CU)" in English terminology).
- a coding unit is a square pixel of side whose size is equal to a power of two and whose size can range from eight to sixty-four pixels.
- a coding unit such as the coding unit 405 of FIG. 4, can then be partitioned into prediction units ("prediction unit (PU)" in English terminology) used in predictions spatial or temporal and in transformation units (“transform unit (TU)” in English terminology) used during transformations of blocks of pixels in the frequency domain.
- prediction unit PU
- transformation unit transform unit
- each CTB is partitioned in order to optimize the compression performance of the CTB. Subsequently, for simplicity, we consider that each CTB is partitioned into a coding unit and that this coding unit is partitioned into a transformation unit and a prediction unit.
- Fig. 5 schematically represents a method of encoding a video stream compatible with the HEVC standard implemented by an encoding device.
- the encoding of a current image 501 of a video starts with a partitioning of the current image 501 in a step 502, as described in connection with FIG. 4.
- a partitioning of the current image 501 in a step 502, as described in connection with FIG. 4.
- FIG. 4 we do not differentiate CTBs, coding units, transformation units and prediction units and we group these four entities under the term block.
- the current image 501 is thus partitioned into blocks.
- the encoding device For each block, the encoding device must determine a coding mode between an intra picture coding mode, called INTRA coding mode, and an inter picture coding mode, called INTER coding mode.
- the INTRA coding mode consists in predicting according to an INTRA prediction method, during a step 503, the pixels of a current block from a prediction block derived from reconstructed block pixels located in a causal neighborhood. the block to code.
- the result of the INTRA prediction is a prediction direction indicating which pixels of the neighborhood blocks to use, and a residual block resulting from a calculation of a difference between the current block and the prediction block.
- the INTER encoding mode consists in predicting the pixels of a current block from a block of pixels, called a reference block, of a previous image or following the current image, this image being called the reference image.
- the block of the closest reference image, according to a similarity criterion, of the current block is determined by a motion estimation step 504.
- a motion vector indicating the position of the reference block in the reference image is determined.
- Said motion vector is used during a motion compensation step 505 during which a residual block is calculated as a difference between the current block and the reference block.
- inter-predicted coding mode There is also an inter-bi-predicted coding mode (or mode B) for which a current block is associated with two motion vectors, designating two reference blocks in two different images, the residual block of this block then being an average of two residual blocks.
- the coding mode that optimizes the compression performance, according to a rate / distortion criterion, of the two modes tested is selected by the encoding device.
- the residual block is transformed during a step 507 and quantized during a step 509.
- the prediction direction and the transformed residual block and quantized are encoded by an entropy encoder during a step 510.
- the motion vector of the block is predicted from a prediction vector selected from a set of vectors movement corresponding to reconstructed blocks located near the block to be coded.
- the motion vector is then encoded by the entropy encoder at step 510 as a motion residual and an index to identify the prediction vector.
- the transformed and quantized residual block is encoded by the entropy encoder during step 510.
- the result of the entropy encoding is inserted into a binary video stream 511.
- the current block is reconstructed so that the pixels that said current block contains can be used for future predictions.
- This reconstruction phase is also called the prediction loop.
- the quantized and quantized residual block is then applied to a reverse quantization during a step 512 and an inverse transformation in a step 513.
- the block of FIG. prediction of the block is reconstructed. If the current block is encoded according to the INTER coding mode, the coding device applies, during a step 516, an inverse movement compensation using the motion vector of the current block to identify the reference block of the current block.
- the prediction direction corresponding to the current block is used to reconstruct the reference block of the current block.
- the reference block and the reconstructed residual block are summed to obtain the reconstructed current block.
- a post filter loop ("loop filter" in English terminology) is applied, in a step 517, to the reconstructed block.
- This post-filtering post-filtering loop is called because this post-filtering occurs in the prediction loop so as to obtain the same reference images as the decoding, and to avoid an offset between the encoding and the decoding.
- Post loop filtering is one of the new compression tools that appeared in H.264 / AVC and improved in HEVC.
- the HEVC loop filtering post includes two post-filtering methods, ie deblocking filtering (English terminology) and SAO filtering ("Sample Adaptive Offset" in English terminology).
- H.264 / AVC post filtering only includes unblocking filtering.
- the purpose of unlocking filtering is to mitigate discontinuities at block boundaries due to quantization differences between blocks. It is adaptive filtering that can be enabled or disabled, and when activated, can take the form of a high complexity debug filtering based on a one-dimensional separable filter with six filter coefficients, that a strong filter is then called, and a low complexity deblocking filtering based on a one-dimensional separable filter comprising four coefficients, which is subsequently called a weak filter.
- the strong filter strongly attenuates the discontinuities at the boundaries of the blocks, which can damage high spatial frequencies present in original images.
- the weak filter weakly attenuates the discontinuities at the boundaries of the blocks, which makes it possible to preserve the high spatial frequencies present in the original images, but will be less effective on the discontinuities artificially created by the quantification.
- the decision to filter or not to filter, and the form of the filter used in case of filtering, depend on the value of the pixels at the boundaries of the block to be filtered and two parameters ⁇ and determined by the encoding device.
- the encoding device inserts into the bit stream 51 1 syntax elements (pps_beta_offset_div2 and pps_tc_ojfset_div2 in PPS containers (set of image parameters: "Picture Parameter Set” in English terminology), and slice_beta_offset_div2 and slice_tc_offset_div2 in the slice headers) to find the respective values of the parameters and * c.
- a decoding device can determine, using these syntax elements, whether unlocking filtering should be applied and the deblocking filtering form to be applied.
- ODS filtering takes two forms with two different purposes. The first form called "edge offset" is intended to compensate for the effects of quantization on the outlines in the blocks.
- the contour enhancement SAO includes a classification of the pixels of the reconstructed image into four categories corresponding to four respective types of contour.
- the classification of a pixel is done by filtering four filters, each filter to obtain a filter gradient.
- the filter gradient maximizing a classification criterion indicates the type of contour corresponding to the pixel.
- Each contour type is associated with an enhancement value that is added to the pixels during SAO filtering.
- band offset The second form of ODS is called band offset ("band offset”) and is intended to compensate for the effect of quantization on pixels belonging to certain ranges (i.e. band) of values.
- band enhancement filtering the set of possible values for a pixel, most commonly between 0 and 255 for 8-bit video streams, is divided into thirty-two ranges of eight values. Of these thirty-two tracks, four consecutive tracks are selected to be enhanced. When a pixel has a value included in one of the four value ranges to be enhanced, an enhancement value is added to the value of the pixel.
- the encoding device inserts information into the binary video stream 511 enabling a decoding device to determine whether the ODS filtering is to be applied to a BTC and, if so, the form and parameters of the SAO filtering to apply.
- a block When a block is reconstructed, it is inserted during a step 520 in a reconstructed image stored in a memory 521 of reconstructed images also called reference image memory.
- the reconstructed images thus stored can then serve as reference images for other images to be encoded.
- NALU Network Abstraction Layer Unit
- VCL Video Coding Layer
- Other container types have been defined in HEVC and H264 / AVC standards. These containers are generally headers containing information useful for the decoding of a video sequence such as the SPS containers (set of sequence parameters: "Sequence Parameter Set” in English terminology) or for the decoding of a subscript. set of images of a video sequence like containers
- Each PPS container includes an identifier to recognize it.
- Each slice is associated with a PPS container. To do this, each slice includes a syntax element containing the identifier of the PPS container corresponding to the slice. Similarly, each SPS container includes an SPS container identifier for recognizing it. Each PPS container is associated with an SPS storyteller. To do this, each PPS container includes a syntax element containing the identifier of the SPS container associated with the PPS container.
- Fig. 6 schematically represents a method of decoding a compressed stream according to the HEVC standard implemented by a decoding device.
- Decoding is block by block. For a current block, it starts with an entropy decoding of the current block during a step 610.
- the entropy decoding makes it possible to obtain the mode of coding of the block.
- the entropy decoding makes it possible to obtain a prediction vector index, a motion residual, and a residual block.
- a motion vector is reconstructed for the current block using the prediction vector index and the motion residual.
- Steps 612, 613, 614, 615 and 616 implemented by the decoding device are in all respects identical to steps 512, 513, 514, 515 and 516 respectively implemented by the encoding device.
- the decoding device then applies a loop filtering post during a step 617.
- the post filtering loop comprises for the standard HEVC unblocking filtering and SAO filtering, while loop filtering only includes unblocking filtering for the H.264 / AVC standard.
- the deblocking filtering is implemented by the decoding device during a step 618.
- the decoding device finds the parameters ⁇ and te using the syntax elements pps_beta_offset_div2, pps_tc_offset_div2, slice _beta_offset_div2 and slice _tc_offset_div2. in the binary video stream. It must instead determine the shape of the filter to be applied according to the pixel values at the boundaries of the blocks and parameters and.
- the SAO filter is implemented by the decoding device during a step 619.
- the decoding device does not have to determine whether the SAO filtering is to be applied to a block and, if the SAO filtering is to be to be applied, the decoding device does not have to determine the form of SAO filtering to be applied and the enhancement values, since the decoding device will find this information in the binary video stream. If, for a CTB, the SAO filter is of the contour enhancement shape, for each pixel of the CTB, the decoding device must filter out the type of contour, and add the enhancement value corresponding to the determined contour type.
- the decoding device compares the value of the pixel to be filtered with the ranges of values to be enhanced, and if the value of the pixel belongs to the one of the ranges of values to be enhanced, the enhancement value corresponding to said value range is added to the value of the pixel.
- post filtering loop is part of the compression tools appeared in H.264 / AVC and HEVC which allowed to improve the performances of compression.
- Post loop filtering has led to an increase in implementation complexity of video compression standards and in particular an increase in the complexity of the implementation of the decoding.
- Fig. 1A schematically shows a video transmission system comprising a device embodying the invention.
- the video transmission system includes a video source 110 such as, for example, a video encoder, a digital video camera or a digital hard disk.
- the video source 110 supplies, to a transmission device 111, a binary video stream encoded according to the HEVC standard or according to the H264 / AVC standard.
- the transmission device 111 includes a multiplexer for combining the binary video stream with other bitstreams, such as binary audio streams, to form a multiplexed bitstream.
- the multiplexed bitstream is subsequently transmitted over a communication network 120 such as, for example, the Internet network or a wired or wireless LAN ("Local Area Network" in English terminology).
- a reception device 112 comprising a demultiplexer.
- the demultiplexer then extracts the binary video stream from the multiplexed bitstream and the receiving device 112 transmits the binary video stream to a binary video stream modification device 113 according to one aspect of the invention.
- the binary video stream modification device 113 which we later call to simplify the editing device, can modify the binary video stream so as to reduce the complexity of the post loop filtering.
- the modified binary video stream is then transmitted to a decoding device 114, which decodes the modified binary video stream, the result of the decoding being displayed by a display device 115.
- Fig. 2 schematically illustrates an example of hardware architecture of a device adapted to implement the device for modifying binary video stream 113.
- the device 113 comprises, connected by a communication bus 205: a processor or CPU ("Central Processing Unit In English) 200; a Random Access Memory (RAM) 201; a ROM (Read Only Memory) 202; a storage unit 203 or a storage medium reader, such as a SD card reader ("Secure Digital" in English) or a hard disk HDD (“Hard Disk Drive” in English); at least one interface 204 for exchanging data with other equipment.
- the interface 204 allows the modifying device 113 to receive binary video streams, to transmit modified binary video streams and to receive instructions from a user. user through, for example, a control device (not shown), such as a remote control, allowing the user to manipulate a graphical interface on the display device 115.
- the processor 200 is capable of executing instructions loaded into the RAM 201 from the ROM 202, an external memory (not shown), a storage medium, or the communication network 120. modification 113 is powered up, the processor 200 is able to read RAM 201 instructions and execute them. These instructions form a computer program causing the processor 200 to implement all or part of the algorithms and steps described below in relation to the modification device 113.
- All or part of the algorithms and steps described hereinafter can thus be implemented in software form by executing a set of instructions by a programmable machine, such as a DSP ("Digital Signal Processor” in English) or a microcontroller, or be implemented in hardware form by a machine or a dedicated component, such as an FPGA ("Field Programmable Gate Array” in English) or an ASIC ("Application-Specific Integrated Circuit").
- a programmable machine such as a DSP ("Digital Signal Processor” in English) or a microcontroller
- FPGA Field Programmable Gate Array
- ASIC Application-Specific Integrated Circuit
- Fig. 3 diagrammatically represents an algorithm for ensuring the compatibility of a binary video stream with computational capabilities of a video decoding device, when the video decoding device is used to implement display functionalities requiring a video decoding device. computationally significant effort.
- the algorithm starts in a step 300 by the reception by the modification device 113 of a binary video stream encoded according to the HEVC standard.
- the modifying device 113 determines what is the display functionality desired by the user. Each display functionality corresponds to a complexity of implementation. It is assumed here that the modification device 113 knows the implementation complexity of each display functionality that a user could formulate.
- the modification device 113 compares these information on the complexity of implementation of the display functionalities with information on the processing capabilities of the decoding device 114. This comparison enables the modification device 113 to determine what are the needs for modifying the binary video stream in terms of reducing the decoding complexity so that the decoding of this binary video stream, as part of the display functionality desired by the user, is compatible with the processing capabilities of the decoding device 114.
- the modifications to be made to the stream Binary video depend on this need to reduce the decoding complexity.
- this comparison uses a set of thresholds. Each threshold to determine how the editing device is to modify the binary video stream. If the implementation complexity is less than a first threshold, the binary video stream is not modified; if the implementation complexity is between the first threshold and a second threshold, the SAO filtering is disabled; if the implementation complexity is between the second threshold and a third threshold, the SAO filtering is disabled and the low complexity unblocking filtering is preferred; if the implementation complexity is greater than the third threshold, SAO filtering and unlocking filtering are disabled.
- the modification device 113 determines whether the user wishes to display the video in accelerated mode. In this case, the bit stream modification device 113 sets the variable DBF Jaible to true during a step 305 and the variable SAO OFF to true during a step 306.
- the modifying device 113 determines whether the user wishes to display two videos in an image-in-picture mode, a first video being displayed with a low resolution and embedded in a second video displayed in full resolution. In this case, the modification device 113 sets the variable DBF OFF to true during a step 308 and the variable SAO OFF to true during a step 309.
- the modification device 113 determines whether the user wishes to use a multi application mode.
- a multi-application mode can be a combination of several display features, for example, the accelerated display combined with the picture-in-picture mode or a tile mode in which several low-resolution videos are displayed simultaneously. If a multi-application mode is requested, the modification device 113 determines the implementation complexity of the multi-application mode requested. During a stage 311, the modifying device 113 determines whether the implementation complexity is low, for example between the first and the second threshold.
- a multi-application mode having a low complexity of implementation may for example be a request for display in image-in-picture mode in which the low resolution video is displayed in accelerated mode. If this is the case, the modification device 113 sets the SAO OFF variable to true during a step 312.
- the modification device 113 determines whether the implementation complexity of the multi application mode is average, for example between the second and the third threshold.
- a multi-application mode having a medium implementation complexity may for example be an image-in-picture display request in which the full-resolution video is displayed in an accelerated manner. If this is the case, the modification device 113 sets the variable DBF Jaible to true during a step 314 and the variable SAO OFF to true during a step 315.
- the modification device 113 determines whether the implementation complexity is high, for example greater than the third threshold.
- a multi-application mode having a high computational cost may for example be a request to display a mosaic of several videos of low resolutions. If this is the case, the modification device 113 sets the variable DBF OFF to true during a step 317 and the variable SAO OFF to true during a step 318.
- the modification device 113 does not change the variables DBF Jaible, DBF OFF and SAO OFF.
- the display is a classic display of a video in full resolution. It can be noticed that the variables DBF weak and DBF OFF can not be both equal to true. It is indeed not necessary to modify a binary video stream so as to favor the implementation of the low complexity deblocking filter while the unlocking filtering is intended to be disabled.
- the modifying device 113 After taking into account the user's display functionality requirements, the modifying device 113 begins modifying the received video stream. This video stream has been received as network packets. Here we consider that each network packet contains a single container. The modifying device 113 processes the packets one by one according to their order of arrival. In a step 319, the modifying device 113 removes the container from the network packet. The modification device 113 then checks, in a step 320, the value of the variable DBF aible. If the variable DBF aible is true, the container is processed in a first step of modifying 321 portions of the binary video stream. An exemplary implementation of this first modification step 321 is detailed below with reference to FIG. 7. The first modification step 321 transforms a portion of the binary video stream corresponding to the container so as to favor the use of the weak deblocking filter during decoding. Syntax elements controlling the complexity of implementation of the unlocking filtering are then modified.
- step 322 following step 321 (or step 320 if the variable DBF aible is false), the modification device 113 tests the value of the variable DBF OFF. If the variable DBF OFF is true, the container is processed by a second portion modification step of the binary video stream 323.
- An example of implementation of this second modification step 323 is detailed below in connection with the FIG. . 8.
- the second modification step 323 transforms a portion of the binary video stream corresponding to the container so as to deactivate the unlocking filtering during decoding. Syntax elements controlling the complexity of implementation of the unblocking filter are then modified or deleted.
- step 324 following step 323 (or step 322 if the variable DBF OFF is false), the modification device tests the value of the variable SAO OFF. If the SAO OFF variable is true, the container is processed by a third portion modification step of the binary video stream 325.
- An example of implementation of this third modification step 325 is detailed below in connection with the FIG. . 9.
- the third modification step 325 transforms a portion of the binary video stream corresponding to the container so as to deactivate the SAO filtering during the decoding. Syntax elements controlling the implementation complexity of SAO filtering are then removed or modified.
- Step 325 (or step 324 if the SAO OFF variable is false) is followed by a step 326 during which the container is passed to the device following the modifier 113, i .e. the decoding device 114 in the example of FIG. 1A.
- Fig. 3 schematically shows a method for ensuring the compatibility of video display features with computational capabilities of a video decoding device.
- This method is suitable for binary video streams encoded according to the HEVC standard.
- This method can be adapted to binary video streams encoded according to the H.264 / AVC standard by removing all steps relating to ODS filtering (steps 303, 306, 309, 312, 315, 318, 324, 325).
- the modification device 113 recognizes the encoding standard applied during the encoding of the binary video stream between HEVC and H.264 / AVC, which allows in the following of the method of applying or not the steps relating to the ODS filtering.
- the decoding device 114 is able to decode binary video streams encoded according to the HEVC and H264 / AVC standards. Note that when the process is applied to an H.264 / AVC encoded binary video stream, only syntax elements included in SPS, PPS, and slice header are modified, which facilitates the modification. of the binary video stream.
- changes to the binary video stream depend on display features desired by a user.
- the modifications to be made to the binary video stream depend on decoding tools implemented by the decoding device 114.
- certain decoding devices implement post-filtering tools outside the prediction loop. .
- These post-filtering tools outside the prediction loop can be very efficient and reduce the interest of using unlocking filtering and SAO filtering.
- these post-filtering tools outside the prediction loop also increase the complexity of decoding. In some cases, we may prefer to use these tools rather than the loop filtering tools specified by video compression standards. Therefore, in this alternative embodiment, information about the out-of-loop after filtering tools is provided to the modification device 113, which modifies and / or deactivates the SAO filtering implementation and / or the unlocking filtering. if necessary.
- FIG. 3 diagrammatically represents an algorithm for ensuring the compatibility of a binary video stream with computational capabilities of a video decoding device, when the video decoding device is used to implement display functionalities requiring a video decoding device. computationally significant effort.
- this algorithm could make it possible to ensure the compatibility of a binary video stream with the memory capabilities of a video decoding device.
- each display functionality corresponds to a cost in memory. It is assumed here that the modification device 113 knows the memory cost corresponding to the implementation of each display functionality that a user could formulate. The modifying device 113 then compares this information on the memory cost of the display functionalities with information on the memory capacities of the decoding device 114.
- This comparison enables the modification device 113 to determine what are the modification needs of the device.
- binary video stream in terms of memory cost reduction so that the decoding of this binary video stream, as part of the display functionality desired by the user, is compatible with the memory capabilities of the decoder device 114. modifications to be made to the binary video stream depend on this need to reduce the cost in memory.
- This embodiment is combinable with the computational cost based embodiment.
- the complexity of implementation of the decoding concerns both a computational complexity, but also a complexity in terms of the use of the memory of the decoding device 114.
- the binary video stream modified by the modification device 113 is then compatible with the computational capabilities of the decoding device 114, but also with the memory capabilities of the decoding device 114.
- Fig. 7 details an algorithm implemented by the modification device 113 for transforming a container HEVC so as to favor the use of the weak deblocking filter during decoding.
- the algorithm begins with the receipt of a container during a step 700.
- the type of the received container is then checked by the modifying device 113 in a step 701. If the container is a PPS container, the device modification 113 searches in a step 702 the syntax element pps_beta_offset_div2 for controlling the value of the parameter of the unlocking filtering. If the syntax element pps_beta_offset_div2 is present, the modifier causes the value of the syntax element pps_beta_offset_div2 to be set to "-6".
- the modification device can also force the value of the syntax element pps_tc_offset_div2 to the value "-6", which has the effect of further promoting the use of the 4-cell deblocking filter. during decoding.
- the modifying device 113 waits for the reception of a new container. Receiving a new container causes the return to step 700. If the container is not of the PPS type, the modification device 113 checks, during a step 704, whether the container is of VCL type.
- the modification device 113 searches, in a step 705, in the header of the slice corresponding to the container, the syntax element slice _beta_offset_div2 for controlling the value of the parameter of the filtering. unblocking at a slice. If the slice _beta_offset_div2 syntax element is present, the modifying device 113 sets the value of the slice _beta_offset_div2 syntax element to the value "-6". Setting the value of the slice _beta_ojfset_div2 syntax element to the value "-6" increases the chances of using the weak unblocking filter when decoding. In another implementation, the syntax element slice_beta_offset_div2 is deleted in the portion of the binary video stream corresponding to the slice.
- the value of the syntax element slice _beta_offset_div2 is copied from the value of the syntax element PPS_beta_ojfset_div2 contained in the PPS container corresponding to the slice.
- the modifying device can also force the value of the slice _tc_offset_div2 syntax element to the value "-6", or delete the slice _tc_offset_div2 syntax element whose value can be copied from the value the syntax element pps_tc_offset_div2
- step 706 the modifying device 113 waits for the reception of a new container. Receiving a new container causes the return to step 700.
- Fig. 8 details an algorithm implemented by the modification device 113 for transforming a container HEVC so as to disable the use of unlocking filtering during decoding.
- a first part 821 of the algorithm applies when receiving a PPS container. This first part makes it possible to ensure consistency with the deactivation of the unblocking filtering of a set of syntax elements of a PPS container relating to the unlocking filtering.
- the algorithm begins with the receipt of a container during a step 800. The type of the received container is then checked by the modifying device 113 in a step 801.
- the device modification 113 searches at a step 802 a syntax element DeblockingJilter_control _present Jlag, indicating the presence of syntax elements relating to the unlocking filtering in the container.
- the modification device 113 checks the value of the syntax element DeblockingJIlter_control _present Jlag. If the value of the DeblockingJIlter_control _present Jlag syntax element is other than "1", the modifier sets the DeblockingJilter_control _present Jlag syntax element to a value of "1" in a step 803, and then creates a new element.
- deblocking syntaxJlter_override_enabled Jlag allowing a slice to modify parameter values relating to unblocking filtering, during a step 804 and a syntax element pps_deblockingJilter_disabled Jlag, indicating that the slices referring to this PPS container do not implement the filtering in step 805.
- Step 805 (or step 802 when the DeblockingJIlter_control syntax element Jlag is equal to "1") is followed by a step 806. If the syntax element DeblockingJIlter_control _present Jlag is equal to "1", the modification device 113 searches the syntax element deblockingJilter_override_enabled Jlag.
- syntax element deblockingJlter_override_enabled Jlag is then set to "0". If the syntax element DeblockingJlter_control _present Jlag was equal to "0”, then the syntax element deblockingJlter_override_enabled Jlag is set to "0" and the syntax element deblockingJlter_override_enabled Jlag is inserted into the bitstream portion corresponding to the container. In a step 807, if the syntax element DeblockingJIlter_control _present Jlag is equal to "1", the modification device 113 looks for the syntax element pps_deblockingJIlter_disabled Jlag.
- the syntax element pps_deblockingJilter_disabled Jlag is then set to "1". If the syntax element DeblockingJlter_control _present Jlag is equal to "0”, then the syntax element pps_deblockingJilter_disabled Jlag is set to "1" and the syntax element pps_deblockingJilter_disabled Jlag is inserted in the bit stream portion corresponding to the container.
- the modification device 113 searches in the portion of the binary video stream corresponding to the container the pps Jeta _offset_div2 syntax element making it possible to control the value of the parameter ⁇ of the deblocking filter. If the syntax element pps Jeta _oj set _div2 is present, it is deleted in the portion of the binary video stream corresponding to the container during a step 809.
- Step 808 (or step 809 if the syntax element pps_beta_offset_div2 is present) is followed by a step 810 in which the modifying device 113 searches in the binary video stream portion corresponding to the container the element. of syntax pps_tc_offset_div2 allowing to control the value of the parameter of the unlocking filter. If the syntax element pps_tc_offset_div2 is present, it is deleted in the portion of the binary video stream corresponding to the container during a step 811.
- the modifying device 113 After transforming the PPS container, the modifying device 113 waits for the reception of a new container. Receiving a new container causes the return to step 800.
- step 801 the container is not a PPS container
- the modification device 113 checks whether it is a VCL container during a step 812. If the container is not a VCL container, the modification device 113 waits for the reception of a new container. Receiving a new container causes the return to step 800.
- the modifier 113 applies a second portion 822 of the algorithm, as shown in FIG. 8.
- the modification device 113 ensures coherence with the deactivation of the unlocking filtering of a set of syntax elements of a slice relating to the unlocking filtering.
- This second part 822 of the algorithm consists in deleting all the syntax elements relating to the unblocking filtering of the header of the slice contained in the VCL container.
- the modification device 113 searches for a syntax element DeblockingJilter_override Jlag, indicating the presence of parameters relating to the unlocking filtering in the slot.
- the modifying device 113 deletes the syntax element DeblockingJIlter_override Jlag from the portion of the binary video stream corresponding to the container during a step 814.
- Step 813 (or step 814 if the Deblocking Syntax element lter_override Jlag is present) is followed by a step 815 in which the modification device 113 searches for a Slice_deblockingJilter_disabled Jag syntax element indicating whether the unblocking is enabled or not for the slice contained in the container. If the Slice_deblockingJilter_disabled ag syntax element is present, the modifying device removes the Slice_deblockingJilter_disabled Jag syntax element from the binary video stream portion corresponding to the container during a step 816.
- Step 815 (or step 816 if the Slice_deblockingJIlter_disabled Jlag syntax element is present) is followed by a step 817 in which the modifying device 113 searches for the slice_beta_offset_div_2 syntax element. If the syntax element slice_beta_offset_div_2 is present, the modification device deletes the syntax element slice_beta_offset_div_2 from the portion of the binary video stream corresponding to the container during a step 818.
- Step 817 (or step 818 if the syntax element slice_beta_offset_div_2 is present) is followed by a step 819 in which the modifying device 113 searches for the syntax element slice_tc_offset_div_2. If the syntax element slice_tc_offset_div_2 is present, the modification device deletes the syntax element slice_tc_offset_div_2 from the portion of the binary video stream corresponding to the container during a step 820.
- step 819 the modifying device 113 waits for the reception of a new container. Receiving a new container causes the return to step 800.
- Fig. 9 details an algorithm implemented by the modification device 113 for transforming a container HEVC so as to disable the use of the SAO filtering during decoding.
- a first part 914 of the algorithm applies when receiving an SPS container. This first part 914 makes it possible to ensure the coherence of a syntax element of a SPS container relating to the SAO filtering with the deactivation of the SAO filtering.
- the first part 914 starts with the receipt of a container during a step 901.
- the type of the received container is then checked by the modifying device 113 during a step 902.
- the device modifier 113 forces "0", in a step 903, the value of a Sample_adaptive_offset_enabled Jlag syntax element indicating whether the SAO filtering is to be implemented in the slices referring to this SPS container. Following step 903, the modification device 113 waits for the reception of a new container. Receiving a new container causes the return to step 901.
- the modifying device 113 checks whether the container is a VCL container. If the container is not a VCL container, the modifying device 113 waits for receipt of a new container. Receiving a new container causes the return to step 901. If the received container is a VCL container, the modifier 113 applies a second portion 915 of the algorithm. In this second part 915, the modification device 113 ensures the consistency of syntax elements of a VCL container relating to the SAO filtering with the deactivation of the SAO filtering.
- the second part 915 starts with the search during a step 905 of a Slice_sao_luma Jlag syntax element indicating whether the SAO filtering is applied to the luminance component of the pixels in the slice contained in the container. If the syntax element Slice_sao_luma Jlag is present, the modification device 113 deletes, during a step 906, the Slice_sao_luma Jlag syntax element of the portion of the binary video stream corresponding to the container. Step 905 (or step 906 if the Slice _sao Juma Jlag syntax element is present) is followed by a step 907.
- step 907 the modification device 113 searches for a Slice _sao_chroma Jlag syntax element indicating whether the SAO filtering is applied to the chrominance component of the pixels in the slice contained in the container. If the Slice _sao_chroma Jlag syntax element is present, the modification device 113 deletes the syntax element Slice _sao_chroma Jlag at a step 908 from the portion of the binary video stream corresponding to the container. Step 907 (or step 908 if Slice _sao_chroma Jlag syntax element is present) is followed by step 909.
- the syntax elements Slice _sao Juma Jlag and Slice _sao_chroma Jlag are set to the value "0".
- n used to traverse all the CTBs of the slot is initialized to the value "0".
- the variable n is compared with the number Nctb of CTB in the slot. If n is less than Nctb, the modification device 113 searches for syntax elements relating to the SAO filtering in the CTB.
- the variable n is incremented by one unit and the algorithm returns to step 910. If the CTB contains syntax elements relating to the SAO filtering, these elements of syntax are removed from the portion of the binary video stream corresponding to the CTB during a step 912.
- the deletion relates for example to the following syntax elements: saojnergejeft Jlag, sao_merge_up Jlag, saojypejdxjuma, sao_type dx_chroma, sao_offset_abs, sao_offset_sign, sao_band _position, sao_eo_class_luma, sao_eo_class_chroma.
- Step 912 is followed by step 913.
- the display functionality may be changed at any time during the display of a video stream.
- the PPS, SPS and VCL containers can be adapted at any time according to the needs.
- Slices can refer to SPS and PPS containers adapted to the functionality desired by a user at a certain time.
- the modification device 113 then gives respectively to these SPS and PPS containers SPS container indices and PPS container indices making it possible to differentiate them from the SPS and PPS containers present in the initial binary video stream before modification.
- the modification device 113 transforming containers corresponding to a single binary video stream.
- the editing device 113 processes the containers from different binary video streams and applies different transformations to these containers depending on the intended display functionality.
- These different modified binary video streams are then decoded in parallel by the decoding device 114 and combined by the display device 115, for example, to embed a low resolution video in a high resolution video or to display a video mosaic.
- the different binary video streams can also be encoded according to different standards, some encoded according to the HEVC standard and others encoded according to the H.264 / AVC standard.
- the decoding device 114 is able to decode binary video streams encoded according to the HEVC and H.264 / AVC standards.
- the modifying device 113 is placed between the receiving device 112 and the decoding device 114.
- the modification device may also be placed between the encoding device 110 and the transmission device 111. In this case, however, it is necessary to use a means for transmitting the display functionality wishes of the user to the user. modification device 113. This can be done using RTSP requests (real-time transmission protocol) in order to indicate to the device modification 113 information representative of the type of display functionality desired by the user.
- RTSP requests real-time transmission protocol
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Description
Claims
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1451723A FR3018417B1 (en) | 2014-03-04 | 2014-03-04 | METHOD FOR MODIFYING A BINARY VIDEO STREAM |
PCT/EP2015/054323 WO2015132209A1 (en) | 2014-03-04 | 2015-03-02 | Method for modifying a binary video stream |
Publications (1)
Publication Number | Publication Date |
---|---|
EP3114836A1 true EP3114836A1 (en) | 2017-01-11 |
Family
ID=51260963
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP15707152.3A Pending EP3114836A1 (en) | 2014-03-04 | 2015-03-02 | Method for modifying a binary video stream |
Country Status (5)
Country | Link |
---|---|
US (1) | US10298959B2 (en) |
EP (1) | EP3114836A1 (en) |
CN (2) | CN111510730B (en) |
FR (1) | FR3018417B1 (en) |
WO (1) | WO2015132209A1 (en) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3550842A4 (en) * | 2016-12-30 | 2020-06-10 | Huawei Technologies Co., Ltd. | Image filtering method, apparatus and device |
CN109672893B (en) * | 2018-11-30 | 2022-01-14 | 广州市百果园信息技术有限公司 | Video decoding method, device, equipment and storage medium |
US11381867B2 (en) * | 2019-01-08 | 2022-07-05 | Qualcomm Incorporated | Multiple decoder interface for streamed media data |
CN115023953A (en) * | 2020-02-04 | 2022-09-06 | 华为技术有限公司 | Encoder, decoder and corresponding methods indicating high level syntax |
CN113242426B (en) * | 2021-04-06 | 2024-02-13 | 中南大学 | Video encoding and decoding method, device and storage medium |
US11778211B2 (en) * | 2021-09-16 | 2023-10-03 | Apple Inc. | Parallel video parsing for video decoder processing |
WO2023111384A1 (en) * | 2021-12-13 | 2023-06-22 | Nokia Technologies Oy | A method, an apparatus and a computer program product for video encoding and video decoding |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7961963B2 (en) * | 2005-03-18 | 2011-06-14 | Sharp Laboratories Of America, Inc. | Methods and systems for extended spatial scalability with picture-level adaptation |
CN100515082C (en) * | 2006-05-23 | 2009-07-15 | 中国科学院声学研究所 | Method for reducing video decoding complexity via decoding quality |
US9001899B2 (en) * | 2006-09-15 | 2015-04-07 | Freescale Semiconductor, Inc. | Video information processing system with selective chroma deblock filtering |
US9961372B2 (en) * | 2006-12-08 | 2018-05-01 | Nxp Usa, Inc. | Adaptive disabling of deblock filtering based on a content characteristic of video information |
WO2009123033A1 (en) * | 2008-03-31 | 2009-10-08 | 日本電気株式会社 | Deblocking filter processing device and deblocking filter processing method |
US20090304085A1 (en) * | 2008-06-04 | 2009-12-10 | Novafora, Inc. | Adaptive Deblocking Complexity Control Apparatus and Method |
US8611435B2 (en) * | 2008-12-22 | 2013-12-17 | Qualcomm, Incorporated | Combined scheme for interpolation filtering, in-loop filtering and post-loop filtering in video coding |
JP2012044535A (en) * | 2010-08-20 | 2012-03-01 | Toshiba Corp | Moving image coding device and moving image coding method |
US9167269B2 (en) * | 2011-10-25 | 2015-10-20 | Qualcomm Incorporated | Determining boundary strength values for deblocking filtering for video coding |
EP2774362B1 (en) * | 2011-11-03 | 2023-07-26 | Sun Patent Trust | Quantization parameter for blocks coded in the pcm mode |
US20130142251A1 (en) * | 2011-12-06 | 2013-06-06 | Sony Corporation | Syntax extension of adaptive loop filter in hevc |
SG11201404509QA (en) * | 2012-02-01 | 2014-08-28 | Nokia Corp | Method and apparatus for video coding |
TWI524739B (en) * | 2012-02-10 | 2016-03-01 | 美國博通公司 | Sample adaptive offset (sao) in accordance with video coding |
WO2013144144A1 (en) * | 2012-03-30 | 2013-10-03 | Panasonic Corporation | Syntax and semantics for adaptive loop filter and sample adaptive offset |
US9386307B2 (en) * | 2012-06-14 | 2016-07-05 | Qualcomm Incorporated | Grouping of bypass-coded bins for SAO syntax elements |
US20140153636A1 (en) * | 2012-07-02 | 2014-06-05 | Panasonic Corporation | Image decoding method, image coding method, image decoding apparatus, image coding apparatus, and image coding and decoding apparatus |
US9344717B2 (en) * | 2012-08-06 | 2016-05-17 | Mediatek Inc. | Method and apparatus for sample adaptive offset in a video decoder |
CN103634603B (en) * | 2012-08-29 | 2017-07-07 | 中兴通讯股份有限公司 | Video coding-decoding method, apparatus and system |
US20140098851A1 (en) * | 2012-10-04 | 2014-04-10 | Qualcomm Incorporated | Indication of video properties |
US9445130B2 (en) * | 2013-01-09 | 2016-09-13 | Qualcomm Incorporated | Blockiness metric for large HEVC block artifacts |
GB2512827B (en) * | 2013-04-05 | 2015-09-16 | Canon Kk | Method and device for classifying samples of an image |
CN105556962B (en) * | 2013-10-14 | 2019-05-24 | 联发科技股份有限公司 | The method for sending the signal of the lossless mode for video system |
US9628822B2 (en) * | 2014-01-30 | 2017-04-18 | Qualcomm Incorporated | Low complexity sample adaptive offset encoding |
-
2014
- 2014-03-04 FR FR1451723A patent/FR3018417B1/en active Active
-
2015
- 2015-03-02 US US15/122,499 patent/US10298959B2/en not_active Expired - Fee Related
- 2015-03-02 CN CN201911394030.4A patent/CN111510730B/en not_active Expired - Fee Related
- 2015-03-02 CN CN201580011907.0A patent/CN106068650B/en not_active Expired - Fee Related
- 2015-03-02 EP EP15707152.3A patent/EP3114836A1/en active Pending
- 2015-03-02 WO PCT/EP2015/054323 patent/WO2015132209A1/en active Application Filing
Non-Patent Citations (2)
Title |
---|
None * |
See also references of WO2015132209A1 * |
Also Published As
Publication number | Publication date |
---|---|
CN106068650A (en) | 2016-11-02 |
FR3018417B1 (en) | 2017-07-28 |
CN106068650B (en) | 2020-01-31 |
WO2015132209A1 (en) | 2015-09-11 |
US20170078704A1 (en) | 2017-03-16 |
US10298959B2 (en) | 2019-05-21 |
CN111510730B (en) | 2022-02-18 |
CN111510730A (en) | 2020-08-07 |
FR3018417A1 (en) | 2015-09-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2015132209A1 (en) | Method for modifying a binary video stream | |
RU2653236C2 (en) | Image encoding method, image decoding method, image encoding device, image decoding device and image encoding and decoding device | |
EP2705667B1 (en) | Lossless coding and associated signaling methods for compound video | |
EP2981088B1 (en) | Recording medium storing coded image data | |
EP2777269B1 (en) | Method for encoding and decoding images, encoding and decoding device, and corresponding computer programs | |
FR2939593A1 (en) | VIDEO ENCODING METHOD AND DEVICE | |
EP2052545B1 (en) | Device and method of scalable coding and decoding of flow of image data, respective signal and computer program | |
EP2868088A1 (en) | Method for encoding a current block of a first image component relative to a reference block of at least one second image component, encoding device and corresponding computer program | |
KR20210087088A (en) | Method of efficient signaling of CBF flags | |
JP7397878B2 (en) | Method and apparatus for intra-subpartition coding mode | |
FR3008840A1 (en) | METHOD AND DEVICE FOR DECODING A SCALABLE TRAIN REPRESENTATIVE OF AN IMAGE SEQUENCE AND CORRESPONDING ENCODING METHOD AND DEVICE | |
EP4344203A2 (en) | Method for encoding and decoding images, corresponding encoding and decoding device and computer programs | |
EP3972246A1 (en) | Method for encoding and decoding of images, corresponding device for encoding and decoding of images and computer programs | |
FR3067199A1 (en) | METHOD FOR TRANSMITTING AN IMMERSIVE VIDEO | |
WO2020169781A1 (en) | Method for concealing data in an image or a video stream inside a compression chain | |
KR20160102075A (en) | Method and apparatus for processing video signal for reducing visibility of blocking artifacts | |
RU2800596C1 (en) | Slice and tile configuration for image/video encoding | |
FR3139260A1 (en) | Smoothing outside the coding loop of a boundary between two image areas | |
Trocan | Décompositions spatio-temporelles et allocation de débit utilisant les coupures des graphes pour le codage vidéo scalable | |
WO2018167419A1 (en) | Method for encoding and decoding images, encoding and decoding device, and corresponding computer programs | |
FR2911233A1 (en) | Data flow decoding method for e.g. video on demand service, involves determining capacity to decode each data packets using information representative of scalability class and without reading slice header of data packets | |
FR2927494A1 (en) | Image sequence e.g. compressed video sequence, decoding method for e.g. electronic device, involves determining reference macro block to be deleted based on defined probability criteria, and deleting reference macro block from memory |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE |
|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE |
|
17P | Request for examination filed |
Effective date: 20160928 |
|
AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
AX | Request for extension of the european patent |
Extension state: BA ME |
|
DAV | Request for validation of the european patent (deleted) | ||
DAX | Request for extension of the european patent (deleted) | ||
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: EXAMINATION IS IN PROGRESS |
|
17Q | First examination report despatched |
Effective date: 20200210 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: EXAMINATION IS IN PROGRESS |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: EXAMINATION IS IN PROGRESS |
|
RAP3 | Party data changed (applicant data changed or rights of an application transferred) |
Owner name: SAGEMCOM BROADBAND SAS |