![]() HIDING MULTIPLE SIGNAL BITS INSIDE A TRANSFORMED UNIT
专利摘要:
hiding multiple signal bits within a transformed unit encoding and decoding methods for video data are described for encoding or decoding coefficients for a transformed unit. in particular, signal bits for non-zero coefficients are encoded using signal bit masking. Two or more sets of coefficients are defined for the transformed unit and one signal bit may be hidden for each set, subject to the satisfaction of a threshold test. the sets may correspond to groups of coefficients that are otherwise used in multilevel significance map coding and decoding. 公开号:BR102013001124A2 申请号:R102013001124-0 申请日:2013-01-16 公开日:2018-07-31 发明作者:Wang Jing;He Dake;Yu Xiang 申请人:Blackberry Limited; IPC主号:
专利说明:
(54) Title: HIDDEN MULTIPLE SIGNAL BITS WITHIN A TRANSFORMED UNIT (51) Int. Cl .: H04N 19/467; H04N 19/48 (30) Unionist Priority: 20/01/2012 EP 12151973.0 (73) Holder (s): BLACKBERRY LIMITED (72) Inventor (s): JING WANG; DAKE HE; XIANG YU (85) National Phase Start Date: 01/16/2013 (57) Abstract: HIDDEN MULTIPLE SIGNAL BITS INSIDE A TRANSFORMED UNIT Encoding and decoding methods for video data are described to encode or decode coefficients for a transformed unit. In particular, the signal bits for non-zero coefficients are encoded using concealed signal bits. Two or more sets of coefficients are defined for the transformed unit and a signal bit can be hidden for each set, subject to the satisfaction of a threshold test. Sets can correspond to groups of coefficients that are otherwise used in multi-level significance map encoding and decoding. 1/39 HIDING OF MULTIPLE SIGNAL BITS WITHIN A TRANSFORMED UNIT COPYRIGHT NOTICE A portion of the disclosure in this document and accompanying materials 5 contains material for which a copyright claim is made. The copyright owner has no objection to facsimile reproduction of any of the patent document or patent disclosure, as it appears in the files or recordings of the Patent and Trademark Office, but reserves all other rights. copyright whatever they are. FIELD The present application generally concerns data compression and, in particular, methods and devices for hiding signal bits when encoding and decoding residual video data. BACKGROUND Data compression occurs in a variety of contexts. It is used very commonly in communications and computer networks to store, transmit and reproduce information efficiently. It finds particular application in the encoding of images, audio and video. Video presents a significant challenge for data compression because of the large amount of data required for each video frame and the speed with which encoding and decoding often needs to occur. The current state of the art for video encoding is the ITU-T H.264 / AVC video encoding standard. It defines several different profiles for different applications, including the Main profile, Baseline profile and others. a Petition 870180047879, of 06/05/2018, p. 6/44 2/39 next generation video coding standard is currently under development through an MPEG-ITU merger initiative called High Efficiency Video Coding (HEVC). The initiative may eventually result in a video encoding standard commonly referred to as MPEG-H. There are several standards for encoding / decoding images and videos, including ο H.264, which use block-based encoding processes. In these processes, the image or frame is divided into blocks, typically 4x4 or 8x8, and the blocks are spectrally transformed into coefficients, quantified and encoded by entropy. In many cases, the data being transformed is not the actual pixel data, but is residual data following a prediction operation. Predictions can be intraframe, that is, from block to block within the frame / image, or interframe, that is, between frames (also called motion prediction). It is expected that MPEG-H will also have these features. When spectrally transforming residual data, many of these patterns prescribe the use of a discrete cosine transform (DCT) or some variant thereof. The resulting DCT coefficients are then quantified using a quantifier to produce quantized transform domain coefficients, or indices. The block or matrix of quantified transform domain coefficients (sometimes referred to as a transformed unit) is then encoded by entropy using a particular context model. In H.264 / AVC and in the ongoing development work for MPEG-H, Petition 870180047879, of 06/05/2018, p. 7/44 3/39 quantized transform coefficients are encoded by (a) encoding a last significant coefficient position indicating the location of the last non-zero coefficient in the transformed unit, (b) encoding a significance map indicating the positions in the transformed unit (other than of the last significant coefficient position) that contain non-zero coefficients, (c) encode the magnitudes of the non-zero coefficients, and (d) encode the signals of the non-zero coefficients. This encoding of the quantized transform coefficients often occupies 30% -80% of the data encoded in the bit stream. Transformed units are typically NxN size. Common sizes include 4x4, 8x8, 16x16 and 32x32, although other sizes are possible, including non-square sizes in some modes, such as 8x32 or 32x8. The signal for each nonzero coefficient in a block is encoded using a signal bit for each nonzero coefficient. SUMMARY The present application describes methods and encoders / decoders for encoding and decoding residual video data using signal bit masking. In some of the modalities, the encoder and decoder can use multi-level significance maps to encode signalings of significant coefficients. A signal bit of at least one coefficient for each subset of the coefficients in the transformed unit can be hidden using a parity technique. In some cases, the subsets of coefficients correspond to the Petition 870180047879, of 06/05/2018, p. 8/44 4/39 groups of coefficients used in multi-level maps used, for example, in coding and decoding a map of significance. In at least one case, multi-level maps are used with larger transformed units, such as the 16x16 and 32x32 UTs. In some cases, multi-level maps are used with 8x8 UTs, non-square UTs and other size UTs. The signal bit hiding technique can be used for those subsets of coefficients that contain more than a limit number of non-zero coefficients. In some embodiments, the subset-based signal bit hiding technique can also be used with UTs even if they do not use multi-level significance map encoding, particularly if the UT significant coefficient encoding is implemented in a modular way to subsets of the signposts of significant coefficients. In one aspect, the present application describes a method of decoding an encoded video bit stream by reconstructing coefficients for a transformed unit, the bit stream encoding two or more sets of signal bits for the transformed unit, each set corresponding to one respective set of coefficients for the transformed unit, where each signal bit indicates the sign of a corresponding non-zero coefficient within the respective set. The method includes, for each of the two or more sets of signal bits, adding an absolute value of the coefficients for the respective set corresponding to that set of signal bits to obtain a parity value; and designate a Petition 870180047879, of 06/05/2018, p. 9/44 5/39 signal for one of the coefficients within the respective set based on whether the parity value is even or odd. In another aspect, the present application describes a method of encoding a stream of video bits by encoding signal bits for coefficients for a transformed unit. The method includes, for each of two or more sets of coefficients for the transformed unit, adding an absolute value of the coefficients for that set to obtain a par value; determine that a sign of one of the coefficients in that set does not correspond to the par value; and adjusting a level of a coefficient in that set by one in order to change the parity value to match the sign of one of the coefficients. In a further aspect, the present application describes encoders and decoders configured to implement such encoding and decoding methods. Also in an additional aspect, the present application describes non-transitory computer-readable media storing computer executable program instructions which, when processed to execute, configure the methods described by an encoding and / or decoding method. Other aspects and resources of this application will be understood by persons of ordinary skill in the art from an analysis of the following description of examples in combination with the attached figures. BRIEF DESCRIPTION OF THE DRAWINGS Reference will now be made, by way of example, to the accompanying drawings showing examples of the present application, and in which: Petition 870180047879, of 06/05/2018, p. 10/44 6/39 Figure 1 shows, in the form of a block diagram, an encoder for encoding video; Figure 2 shows, in the form of a block diagram, a decoder for decoding video; Figure 3 shows an example of a multi-level scan order for a 16x16 transformed unit; Figure 4 shows an example 16x16 transformed unit partitioned into groups of numbered coefficients in order of scanning at group level in the opposite direction; Figure 5 shows an example of a transformed unit in which four groups of coefficient groups are formed for hiding signal bits; Figure 6 illustrates another example of a grouping of groups of coefficients for hiding signal bits; Figure 7 also shows another example of a grouping of groups of coefficients for hiding signal bits; Figure 8 illustrates an example of dynamically forming sets of coefficients for hiding signal bits; Figure 9 shows, in flowchart form, an example process for hiding signal bits; Figure 10 shows a simplified block diagram of an example embodiment of an encoder; and Figure 11 shows a simplified block diagram of an example decoder modality. Similar reference numbers may have been used in different figures to denote similar components. DESCRIPTION OF EXAMPLE MODALITIES In the description that follows some example modalities are described with reference to the H.264 standard Petition 870180047879, of 06/05/2018, p. 11/44 7/39 for video encoding and / or for the MPEG-H standard under development. Those skilled in the art will understand that the present application is not limited to H.264 / AVC or MPEGH, but may apply to other video encoding / decoding standards, including possible future standards, multi-view encoding standards, scalable video encoding and reconfigurable video encoding standards. In the following description, when referring to video 10 or images, the terms frame, image, slice, tile and group of rectangular slices can be used somewhat interchangeably. Those skilled in the art will understand that, in the case of the H.264 standard, a frame may contain one or more slices. It should also be noted that certain encoding / decoding operations are performed on a frame-by-frame basis, some are performed on a slice-by-slice basis, some on an image-by-image basis, some on a tile-by-tile basis, and some on a group of rectangular slices. , depending on the particular requirements or terminology of the applicable image or video encoding standard. In any particular embodiment, the applicable image or video encoding standard can determine whether the operations described below are performed in connection with frames and / or slices and / or images and / or tiles and / or groups of rectangular slices, such as it may be the case. In this way, those skilled in the art will understand, considering the present disclosure, whether particular operations or processes described in this document and particular references to frames, slices, images, tiles, groups of rectangular slices are applicable to Petition 870180047879, of 06/05/2018, p. 12/44 8/39 pictures, slices, images, tiles, groups of slices rectangular, or some or all of these for a given modality. This also applies to units coding units, groups of coding units 5, etc., as will become apparent considering the description below. the present application describes example processes and devices for encoding and decoding signal bits for non-zero coefficients of a transformed unit. Non-zero coefficients are identified using a map of significance. A significance map is a block, matrix, group or set of signals that maps to, or corresponds to, a transformed unit or a defined unit of coefficients (for example, several transformed units, a part of a transformed unit, or a unit coding). Each signal indicates whether the corresponding position in the transformed unit or in the specified unit contains a non-zero coefficient or not. In existing standards, these signals can be referred to as significant coefficient signals. In existing standards, there is a coefficient signaling from the DC coefficient for the last significant coefficient in a scan order, and the signaling is a bit that is zero if the corresponding coefficient is zero and is set to one if the corresponding coefficient is different from zero. The expression map of significance as used in this document is intended to refer to an array or ordered set of signalings of significant coefficients for a transformed unit, as will be Petition 870180047879, of 06/05/2018, p. 13/44 9/39 understood from the description below, or a defined unit of coefficients, which will be clear from the context of the applications. It will be understood, considering the description below, that 5 the multi-level encoding and decoding structure can be applied in certain situations, and these situations can to be certain The leave in information lateral as type of content in video (natural video or graphics such as identified in sequence, picture or slice headers). For example, two levels can be used for natural video, and three levels can be used for graphics (which is typically much more sparse). It is also another possibility to provide a signal in one of the sequence, image or slice headers to indicate whether the structure has one, two or three levels, thus allowing the coder the flexibility to choose the most appropriate structure for the present content. In another mode, signage can represent a type of content, which would be associated with the number of levels. For example, graphic content can feature three levels. Reference is now made to figure 1, which shows, in the form of a block diagram, an encoder 10 for encoding video. Reference is also made to figure 2, which shows a block diagram of a decoder 50 for decoding video. It will be appreciated that each of the encoder 10 and decoder 50 described in this document can be implemented in an application-specific or general purpose computing device, containing one or more processing elements and memory. Petition 870180047879, of 06/05/2018, p. 14/44 10/39 The operations performed by encoder 10 or decoder 50, as may be the case, can be implemented by means of an application-specific integrated circuit, for example, or by means of stored program instructions executable by a general purpose processor. The device may include additional software, including, for example, an operating system to control basic device functions. The range of devices and platforms within which encoder 10 or decoder 50 can be implemented will be perceived by persons of ordinary skill in the art considering the following description. Encoder 10 receives a video source 12 and produces an encoded bit stream 14. Decoder 50 receives encoded bit stream 14 and produces a decoded video frame 16. Encoder 10 and decoder 50 can be configured to operate at compliance with various video compression standards. For example, encoder 10 and decoder 50 can be compatible with H.264 / AVC. In other embodiments, encoder 10 and decoder 50 may conform to other video compression standards, including evolutions of the H.264 / AVC standard, such as MPEG-H. Encoder 10 includes a spatial predictor 21, an encoding mode selector 20, transform processor 22, quantifier 24, and entropy encoder 26. As will be appreciated by those of ordinary skill in the art, the mode selector encoding 20 determines the appropriate encoding mode for the video source, for example, whether the object Petition 870180047879, of 06/05/2018, p. 15/44 11/39 frame / slice is of type I, P, or B, and if particular coding units (for example, macroblocks, coding units, etc.) within the frame / slice are inter or intracoded. The transform processor 22 performs a transform on the spatial domain data. In particular, transform processor 22 applies a block-based transform to convert spatial domain data to spectral components. For example, in many modalities a discrete cosine transform (DCT) is used. Other transforms, such as a discrete sine transform or others can be used in some cases. The block-based transform is performed on a coding unit, macroblock or on a subblock basis, depending on the size of the macroblocks or coding units. In the H.264 standard, for example, a typical 16x16 macroblock contains sixteen 4x4 transform blocks and the DCT process is performed on 4x4 blocks. In some cases, the transform blocks can be 8x8, meaning that there are four transform blocks per macroblock. Also in other cases, the transform blocks may have other sizes. In some cases, a 16x16 macroblock may include a combination of overlapping 4x4 and 8x8 transform blocks. Applying the block-based transform to a pixel data block results in a set of domain coefficients for the transform. A set in this context is an ordered set in which the coefficients have coefficient positions. In some cases, the set of domain coefficients of the transform can be considered as a block or matrix of coefficients. In the description in this Petition 870180047879, of 06/05/2018, p. 16/44 12/39 document the phrases a set of transform coefficients and a block of transform coefficients are used interchangeably and are intended to indicate an ordered set of transform coefficients. set of domain coefficients of the transform is quantified by the quantifier 24. The quantized coefficients and associated information are then encoded by the entropy encoder 26. The block or matrix of quantified transform domain coefficients can be referred to in this document as a transformed unit (UT). In some cases, the UT may not be square, for example, a non-square quadrature transform (NSQT). Intracoded frames / slices (ie, type I) are encoded without reference to other frames / slices. In other words, they do not employ time prediction. However, intracoded frames rely on spatial prediction within the frame / slice, as shown in Figure 1, by the spatial predictor 21. That is, when encoding a particular block, the data in the block can be compared to the data of nearby pixels within already encoded blocks. for that frame / slice. Using a prediction algorithm, the source data of the block can be converted into residual data. The transform processor 22 then encodes the residual data. The H.264 standard, for example, prescribes nine spatial prediction modes for 4x4 transform blocks. In some embodiments, each of the nine modes can be used to independently process a block, and then rate optimization Petition 870180047879, 06/06/2018, p. 17/44 13/39 distortion is used to select the best mode. H.264 standard also prescribes the use of motion prediction / compensation to take advantage of time prediction. In this way, the encoder 10 has a feedback loop that includes a decoupler 28, the reverse transform processor 30 and the ungrouping processor 32. The ungrouping processor 32 can include a ungrouping processor and a filtering processor. These elements mirror the decoding process implemented by the decoder 50 to reproduce the frame / slice. A frame store 34 is used to store the reproduced frames. In this way, the motion prediction is based on which frames will be reconstructed in the decoder 50 and not in the original frames, which may differ from the reconstructed frames because of the lossy compression involved in encoding / decoding. A motion predictor 36 uses the frames / slices stored in the frame storage 34 as source frames / slices for comparison to a current frame for the purpose of identifying similar blocks. In this way, for macroblocks or coding units to which motion prediction is applied, the source data that the transform processor 22 encodes is the residual data that results from the motion prediction process. For example, they can include information regarding the frame of reference, a spatial displacement or motion vector, and residual pixel data that represent the differences (if any) between the reference block and the current block. Information regarding the frame of reference and / or motion vector Petition 870180047879, of 06/05/2018, p. 18/44 14/39 may not be processed by transform processor 22 and / or quantizer 24, but instead may be provided to entropy encoder 26 for encoding as part of the bit stream along with the quantized coefficients. Those skilled in the art will understand the details and possible variations to implement video encoders. decoder 50 includes an entropy decoder 52, the decantifier 54, the reverse transform processor 56, the spatial compensator 57 and the disassembly processor 60. The disassembly processor 60 may include disassembly and filter processors. A frame buffer 58 provides reconstructed frames for use by a motion compensator 62 when applying motion compensation. The spatial compensator 57 represents the operation of retrieving the video data for a particular intra-encoded block from a previously decoded block. The bit stream 14 is received and decoded by the entropy decoder 52 to recover the quantized coefficients. Lateral information can also be retrieved during the entropy decoding process, some of which can be provided to the motion compensation loop for use in motion compensation, if applicable. For example, the entropy decoder 52 can retrieve motion vector and / or reference frame information for intercodified macroblocks. The quantified coefficients are then Petition 870180047879, of 06/05/2018, p. 19/44 15/39 decantified by decoder 54 to produce the transform coefficients of the transform, which are then subjected to an inverse transform by the reverse transform processor 56 to recreate the video data. It will be appreciated that, in some cases, such as with an intra-coded macroblock or encoding unit, the recreated video data is the residual data for use in spatial compensation in relation to a previously decoded block within the frame. The spatial compensator 57 generates the video data from the residual data and pixel data of a previously decoded block. In other cases, such as intercodified macroblocks or encoding units, the video data recreated by the reverse transform processor 56 is the residual data for use in motion compensation in relation to a reference block of a different frame. Both spatial and motion compensation can be referred to in this document as prediction operations. The motion compensator 62 locates a reference block within the frame buffer 58 specified for an intercodified macroblock or particular encoding unit. It does so based on the reference frame and motion vector information specified for the intercodified macroblock or coding unit. It then provides the reference block pixel data to be combined with the residual data to arrive at the reconstructed video data for that encoding / macroblock unit. A breakdown / filtering process can then be applied to a reconstructed frame / slice, as indicated Petition 870180047879, of 06/05/2018, p. 20/44 16/39 by the breakout processor 60. After breakdown / filtering, the frame / slice is produced as the decoded video frame 16, for example, for display on a display device. It will be understood that the video reproduction machine, such as a computer, signal converter, DVD or Blu-Ray player and / or mobile handheld device, can temporarily store decoded frames in memory before displaying on a device about to leave. It is expected that MPEG-H compliant encoders and decoders will have many of these same or similar features. Coding and Decoding of Domain Coefficients Quantified Transform As noted earlier, the entropy encoding of a quantized transform block or set of domain coefficients includes encoding the map of significance (for example, a set of signations of significant coefficients) for that block or set of domain coefficients of the transform quantified. The significance map is a binary mapping of the block indicating in which positions (from the DC position to the last significant coefficient position) coefficients other than zero appear. The significance map can be converted into a vector according to the scan order (which can be vertical, horizontal, diagonal, zigzag or any other scan order prescribed by the applicable coding standard). The scan is typically done in reverse order, that is, starting with the last significant coefficient and Petition 870180047879, of 06/05/2018, p. 21/44 17/39 working back through the significant map in the opposite direction until the significant coefficient signaling in the upper left corner at [0.0] is reached. In the present description, the term scan order is intended to mean the order in which signals, coefficients or groups, as may be the case, are processed and may include orders that are colloquially referred to as reverse scan order. Each significant coefficient signal is then encoded by entropy using the applicable context-adaptive coding scheme. For example, in many applications a context-adaptive binary arithmetic coding scheme (CABAC) can be used. With 16x16 and 32x32 significance maps, the context for a significant coefficient signaling is (in many cases) based on neighboring significant coefficient signaling values. Among the contexts used for 16x16 and 32x32 significance maps, there are certain contexts dedicated to the bit position in [0.0] and (in some example implementations) to neighboring bit positions, but many of the significant coefficient flags adopt one of four or five contexts that depend on the cumulative values of signaling of significant neighboring coefficients. In these cases, determining the correct context for a significant coefficient signaling depends on determining and adding the values of the significant coefficient signaling at neighboring locations (typically five locations, but can be more or less in some cases). Petition 870180047879, of 06/05/2018, p. 22/44 18/39 The significant coefficient levels for those coefficients other than zero can then be encoded. In an example implementation, the levels can be encoded by first encoding a map of those non-zero coefficients having an absolute value level greater than one. Another map can then be coded for those non-zero coefficients having a level greater than two. The value or level of any of the coefficients having an absolute value greater than two is then encoded. In some cases, the encoded value can be the actual value minus three. The sign of the non-zero coefficients is also encoded. Each non-zero coefficient has a sign bit indicating whether the level of that non-zero coefficient is negative or positive. A proposal was made to hide the signal bit for the first coefficient in the transformed unit: Clare, Gordon et al., Sign Data Hiding, JCTVC-G271, 7th Meeting, Geneva, November 21-30, 2011. According to this proposal the sign of the first coefficient in the transformed unit is encoded using the parity of the sum of coefficients quantified in the transformed unit. In the event that the parity does not correspond to the actual signal of the first coefficient, then the encoder must adjust the level of one of the coefficients up or down by 1 in order to adjust the parity. RDOQ is to be used to determine which coefficient should be adjusted and in which direction. Some previous work has focused on using multi-level maps of significance. Reference is now made to figure 3, which shows a transformed unit of Petition 870180047879, of 06/05/2018, p. 23/44 19/39 16x16 100 with an illustrated multi-level diagonal scan order. The transformed unit 100 is partitioned into sixteen groups of coefficients or sets of signations of significant coefficients Contiguous 4x4. Within each group of coefficients, a diagonal scan order is applied within the group, rather than across the entire transformed unit 100. The sets or groups of coefficients themselves are processed in a scan order, which in this example implementation is also a diagonal scan order. It will be noted that the scan order in this example is shown in reverse scan order; that is, the scan order is shown progressing from the lower right coefficient group in a diagonal direction downwards and to the left towards the upper left coefficient group. In some implementations the same scan order can be defined in the other direction; that is, progressing in a diagonal direction to the right and upwards and when applied during encoding or decoding can be applied in an inverse scan order. The use of multi-level maps of significance involves coding a map of significance of level LI or higher which indicates which groups of coefficients containing significant non-zero signaling coefficients can be expected, and which groups of coefficients contain signaling coefficients significant all equal to zero. Groups of coefficients that can be expected to contain signaling of significant coefficients other than Petition 870180047879, of 06/05/2018, p. 24/44 20/39 zero have their significant coefficient flags encoded, while groups of coefficients that contain significant coefficient flags all equal to zero are not encoded (unless they are groups that are encoded because of a special case exception because they are supposed to contain at least one non-zero significant coefficient signaling). Each group of coefficients has a group signaling of significant coefficients (unless a special case applies where that group of coefficients has a signal of a supposed value, such as the group containing the last significant coefficient, the upper left group , etc.). The use of multi-level significance maps facilitates the modular processing of residual data for encoding and decoding. Larger UTs present an opportunity to hide multiple signal bits. The UT can be divided or partitioned into sets of non-zero coefficients and a signal bit can be hidden for each set of non-zero coefficients using the non-zero sum sum coefficients in that set. In one embodiment, the set of coefficients other than zero can be created to correspond to the coefficient groups defined for multi-level maps of significance. A single threshold can be used to determine whether to hide a signal bit for a certain set of non-zero coefficients, regardless of the type of data. In one example, the threshold test is based on the number Petition 870180047879, of 06/05/2018, p. 25/44 21/39 coefficients between the first non-zero coefficient and the last non-zero coefficient in the set. That is, if there is at least a limit number of coefficients between the first and last non-zero coefficients in the set. In another example, the test can be based on the existence of at least a limit number of coefficients other than zero in the set. Also in another modality, the test can be based on the sum of the absolute values of the coefficients other than zero in the set exceeding a threshold. Also in an additional modality, a combination of these tests can be applied; that is, there must be at least a minimum number of coefficients in the set and the cumulative absolute value of the coefficients must exceed a threshold value. Variations in these threshold tests can also be employed. Reference is now made to figure 4, which shows a transformed unit 120 of 16x16 example. The transformed unit 120 is divided into groups of 4x4 coefficients, that is, sixteen sets of coefficients. The coefficient groups are numbered 1, 2, 3, ... 16 in the order in which they are processed, for example, reverse diagonal scan order. In a first embodiment, each group of coefficients is a set of coefficients for the purpose of hiding signal bits. That is, each group of coefficients is tested against a threshold to determine whether the group of coefficients is suitable for hiding signal bits. As noted earlier, the test may be that the coefficient group contains at least a minimum number of coefficients between the first non-zero coefficient Petition 870180047879, of 06/05/2018, p. 26/44 22/39 and the last non-zero coefficient within that coefficient group. In a second embodiment, sets of coefficients for hiding signal bits are formed by grouping groups of coefficients. Figure 5 shows a 16x16 140 UT in which an example grouping of groups of coefficients is illustrated in four sets of coefficients. In this example, each set of coefficients for the purpose of hiding signal bits contains four groups of coefficients. The four groups of coefficients in each set are consecutive groups in the scan order. For example, the first set of coefficients 142 contains groups of coefficients 16, 15, and 13. The second set of coefficients 144 contains groups of coefficients 12, 11, 10, and 9. The third set of coefficients 146 contains groups of coefficients 8, 7, and 5. Finally, the fourth set of coefficients 148 contains groups of coefficients 4, 3, 2 and 1. In this embodiment, a signal bit can be hidden for each set of coefficients. That is, up to four signal bits can be hidden by UT 140. For each set of coefficients 142, 144, 146, 148, the number of coefficients between the first and the last non-zero coefficient (or the number of non-zero coefficients, or the cumulative total value of those coefficients) is tested against the threshold to determine whether to hide a signal bit for that set. The parity of the sum of absolute values of these coefficients in the set is the mechanism by which the signal bit is hidden. If the parity does not match the signal to be Petition 870180047879, of 06/05/2018, p. 27/44 23/39 hidden, then the parity is adjusted by adjusting the level of one of the coefficients in the set. Figure 6 illustrates a third modality of sets of coefficients for hiding signal bits with a UT of 16x16 150. In this modality, the sets are re-formed based on groups of coefficients, but the sets do not necessarily contain the same number of coefficients or groups of coefficients. For example, in this illustration five sets of coefficients are defined. The first set 152 contains coefficient groups 1 to 6. The second set 154 contains four groups of coefficients: 7, 8, 9 and 10. The third set 156 contains the coefficient groups 11, 12 and 13. The fourth set 158 contains the coefficient groups 14 and 15. The fifth set 159 contains only the upper left coefficient group 16. It will be noticed that this modality allows sets of larger coefficients in areas of transformed unit 150 in which there are likely to be few coefficients other than zero, and smaller coefficient sets in areas of transformed unit 150 where non-zero coefficients are more common. It should be noted that the modalities indicated above can apply to the UT of 32x32 or larger sizes as well as to an UT of size 8x8 provided that a structure of coefficient groups is applied to these UTs. Figure 7 illustrates a fourth modality, in which sets of coefficients for hiding signal bits within a transformed unit 160 of 8x8 are formed without adhering to the structure of groups of coefficients. The transformed 8x8 unit may or may not have partitioning of Petition 870180047879, of 06/05/2018, p. 28/44 24/39 coefficient groups for the purpose of coding the significance map. In any case, in this modality a diagonal scan based on a transformed unit is used to process the coefficients for encoding and hiding signal bits. In this case, the coefficient sets are formed to group consecutive coefficients in the scan order. For example, in this illustration, transformed unit 160 is grouped into four sets of coefficients, each containing 16 consecutive coefficients in the scan order. The groups are identified by 162, 164, 166 and 168 in figure 7. Also in another mode, the coefficient sets may not adhere to the scan order. That is, each set can include some coefficients of higher frequency positions in the transformed unit and some coefficients of lower frequency positions in the transformed unit. All coefficients in these sets may not necessarily be adjacent in the scan order. Figure 8 shows a fifth modality, in which sets of coefficients for hiding signal bits within a transformed 16x16 170 unit are dynamically formed, using the structure of coefficient groups and the scan order. In this mode, instead of a fixed set of predefined coefficients based on the size of the transformed unit and the scan order, the encoder and decoder form the sets following the scan order and any tracking quantity is compared with a threshold value up to that the threshold value is satisfied. Once the threshold is satisfied, then a signal bit is hidden from the group Petition 870180047879, of 06/05/2018, p. 29/44 25/39 coefficients that the encoder or decoder is then processing. As an example, figure 8 illustrates one last significant coefficient within the coefficient group [2, 2]. In the scan order, the encoder and decoder then move to the coefficient groups [1, 3], [3, 0] and [2, 1], successively. While processing coefficients in the coefficient group [2, 1], the threshold is satisfied. In this way, the signal bit for the last non-zero coefficient to be processed in the reverse scan order in the coefficient group [2, 1] (the non-zero coefficient higher than the left in the group) is hidden in the parity of the value cumulative absolute coefficients of the last significant coefficient for and including all coefficients in the current coefficient group [2, 1]. The threshold test in this example can be based on the existence of a minimum number of coefficients other than zero, or the absolute value of the coefficients exceeds some threshold value. Reference number 174 indicates a signal bit hiding operation with respect to the 'last' or upper leftmost coefficient in a particular coefficient group. In a sixth modality, hiding signal bits is done based on groups of coefficients, and the criteria used to determine whether a group of coefficients is suitable for hiding signal bits are dynamically adjusted according to the groups of previously decoded coefficients. . As an example, if the group of coefficients immediately to the right or the group of Petition 870180047879, of 06/05/2018, p. 30/44 26/39 coefficients immediately below have a coefficient other than zero, the current coefficient group is determined to be suitable for hiding signal bits as long as it contains a minimum of two non-zero coefficients. The coefficient group can also be determined to be suitable if it contains at least a minimum number of coefficients between the first non-zero coefficient and the last non-zero coefficient within that coefficient group, as described in some of the above modalities . It will be noticed that in some of the modalities previously exposed, a signal bit can be hidden in a group of coefficients based on a parity value that has coefficients in another group of coefficients. In other words, the sign value of a coefficient in one group of coefficients can be hidden at parity by changing the level to a coefficient in another group of coefficients. In addition, it will be noticed that in some of the modalities discussed above, a signal bit hidden in a set of coefficients can be of a different syntax element such as a motion vector difference signal (for example, mvd_sign_flag). On the encoder side, the decision is made as to which coefficient to adjust in order to hide a signal bit in a case where the parity value does not match the signal. Where the parity value needs to be adjusted, a coefficient level must be increased or decreased by 1 in order to change the parity. Petition 870180047879, of 06/05/2018, p. 31/44 27/39 In one embodiment, the first step in the process of adjusting a coefficient level is to determine a search range, that is, a starting position and an ending position in the scan order. The coefficients within this range are then evaluated and one is selected to be changed. In an exemplary mode, the search range can be from the first non-zero coefficient to the last coefficient in the scan order. With the use of multi-level 10 significance maps, the final position for a search range for a subset can be changed to use the block level information. Specifically, if a subset contains exactly the last non-zero coefficient in the entire UT, (the so-called last global, or last 15 significant coefficient), the search range can be established as from the first non-zero coefficient to the last non-zero coefficient. For other subsets, the search range can be extended to a range from the first non-zero coefficient to the end of the current sub-block. In one embodiment, the starting position can be extended to conditionally include non-quantized coefficients in front of the first non-zero quantized coefficient. Specifically, consider all coefficients before quantification. Unquantified coefficients that have the same sign as the sign to be hidden will be included in the search. For coefficients not quantified position zero for The position of first quantified coefficient different in zero, O cost of 30 changing a quantified coefficient in zero for one will be Petition 870180047879, of 06/05/2018, p. 32/44 28/39 evaluated and tested in the research. Another issue in the process of adjusting a coefficient level is to define the cost estimate used to assess the impact of an adjustment. When computational complexity is a concern, the cost may be based on the distortion and the rate may not be considered, in which case the research is to minimize the distortion. On the other hand, when computational complexity is not a prevalent concern, cost can include both rate and distortion in order to minimize the cost of rate distortion. If RDOQ is enabled, then RDOQ can be used to adjust the level. However, in many cases, the computational complexity of RDOQ may be undesirable and RDOQ may not be enabled. In this way, in some modalities a simplified rate-distortion analysis can be applied to the encoder to implement the hiding of signal bits. Each coefficient between the first nonzero in the set and the last nonzero in the set can be tested by calculating approximately distortion by increasing the coefficient by 1 and decreasing the coefficient by 1. In general terms, the value of u coefficient has a real value of u + δ. The distortion is given by (õq) 2 . If this coefficient u is adjusted upwards by 1 to u + 1, then the resulting distortion can be estimated as: q 2 (1 - 2δ) If the coefficient u is adjusted downwards by 1 to u-1, then the resulting distortion can be estimated as: q 2 (1 + 2δ) Petition 870180047879, of 06/05/2018, p. 33/44 29/39 It will be recognized that for the intercodified case the quantitation distortion δ is in the range of [-1/6 to +5/6] when RDOQ is off. In the case of intrododed blocks, the quantitation distortion δ is in the range of [-1/3 to +2/3] when RDOQ is off. When RDOQ is on, the δ range will vary. However, the above calculation of distortion increase is still valid, regardless of the δ range. The encoder can also make rough estimates of fee cost for the various coefficients using a set of logical rules, that is, a predefined fee cost metric. For example, the predefined rate cost metric, in one modality, can include: u + 1 (u / 0 eu / -l) -> 0.5 bit u-1 (u / 0 eu / + l) -0.5 bit u = 1 or -1 and changed to 0 -1-0, 5-0.5 bits u = 0 and changed to 1 or -1 U 1 + 0.5 + 0.5 bits where the cost of a signal signal is estimated to be 1 bit, the cost of a significant coefficient signal is estimated to be 0.5 bit, and the cost increase from u to u + 1 is estimated to be 0.5 bit. Other rules or estimates can be used in other ways. Reference is now made to Figure 9, which shows an example process 200 for decoding video data with hiding signal bits based on coefficient groups. Process 200 is based on the second embodiment described above. After analyzing the description, changes and modifications to process 200 to implement other described modalities will be Petition 870180047879, of 06/05/2018, p. 34/44 30/39 perceived by people of common knowledge in the technique. A threshold value is established in operation 202. In some embodiments, this threshold value can be predetermined or pre-configured within the decoder. In other embodiments, this value can be extracted from the bit stream of encoded video data. For example, the threshold value can be in the image header or in another location within the bit stream. In operation 204, the decoder identifies the first non-zero position in the current coefficient group, i.e., set of coefficients, and the last non-zero position in the current coefficient group, in the scan order. It then determines the number of coefficients, in the scan order, between the first and last non-zero coefficients in the coefficient group. In operation 206, the decoder decodes signal bits from the bit stream. It decodes a signal bit for each non-zero coefficient in the coefficient group except for the upper-left non-zero coefficient in the coefficient group (the last non-zero coefficient in the reverse scan order). The signal bits are applied to their respective non-zero coefficients. For example, if the applicable convention is that a sign bit of zero is positive and a sign bit of one is negative, then for all sign bits set to one the corresponding coefficient level is made negative. In operation 208, the decoder evaluates whether the number of coefficients between the first non-zero coefficient Petition 870180047879, of 06/05/2018, p. 35/44 31/39 and the last non-zero coefficient in the scan order in the coefficient group exceeds the threshold. If not, hiding signal bits was then not used in the encoder, so in operation 210 the decoder decodes the signal bit to the left-most nonzero coefficient (last in reverse scan order) and applies it to the coefficient. If the number of coefficients satisfies the threshold, then in operation 212 the decoder assesses whether the absolute value of the sum of the coefficients in the coefficient group is even or odd, that is, its parity. If even, then the sign of the coefficient other than the upper leftmost zero is positive and the decoder does not need to adjust it. If odd, then the sign of the coefficient other than the upper leftmost zero is negative, so in operation 214 it makes that coefficient negative. In operation 216, the decoder determines whether it has finished processing the coefficient groups. If so, process 200 ends. Otherwise, it moves to the next group of coefficients in the order of scanning groups in operation 218 and returns to operation 204. In another embodiment, the size of the set of coefficients can be reduced to a single coefficient. That is, the hiding of signal bits can be hiding signal based on a single coefficient. In this mode, each coefficient is tested to see if its signal information is to be hidden. An example test is to compare the magnitude of the coefficient level with a given threshold. Coefficients having a level higher than the threshold have Petition 870180047879, of 06/05/2018, p. 36/44 32/39 its signal bits hidden; otherwise, convention signal bit encoding / decoding is used. To apply the hiding of signal bits in the case of a single coefficient, the signal information is compared to the parity of the coefficient level. As an example, even parity can correspond to positive sign and odd can correspond to negative. The encoder then adjusts the level if the level does not match the signal. It will be noticed that this technique implies that above the threshold value all negative levels are odd and all positive levels are even. In a sense, this can be considered, in fact, a modification of the size of the quantification step for coefficients having a magnitude greater than the threshold. An example syntax for implementing signal bit hiding is provided below. This example syntax is just one possible implementation. In this example, the hiding of signal bits is applied on a coefficient group basis, and the threshold test is based on the number of coefficients of the first non-zero coefficient in the coefficient group for the last non-zero coefficient in the coefficient group. coefficients. A signal denoted by sign_data_hinding is sent in the image header to indicate whether the hiding of signal bits is on. If it is enabled, then the header also contains the parameter tsig, which is the threshold value. Example syntax is shown below: pic parameter set rbsp () { Descriptor pic parameter set id eu (v) Petition 870180047879, of 06/05/2018, p. 37/44 33/39 seq parameter set id eu (v) sign data hinding u (l) if (sign data hinding) { tsig u (4) } entropy coding synchro u (v) cabac istate reset flag u (l) if (entropy coding synchro) on a minusl substreams eu (v) • · · The following pseudocode illustrates an example implementation of hiding signal bits based on a coefficient group: residual coding cabac (xO, yO,log2TrafoWidth, log2TrafoHeight,scanldx, cldx) { Descriptor last significant coeff x prefix ae (v) last significant coeff and prefix ae (v) if (last significant coeff x prefix> 3) last significant coeff x suffix ae (v) if (last significant coeff and prefix> 3) last significant coeff and suffix ae (v) numCoeff = 0 of { Petition 870180047879, of 06/05/2018, p. 38/44 34/39 xC = ScanOrder [log2TrafoWidth] [log2TrafoHeight] [scanldx] [numCoeff] [0] yC = ScanOrder [log2TrafoWidth] [log2TrafoHeight] [scanldx] [numCoeff] [1] numCoeff ++ } while ((xC! =LastSignificantCoeffX) | | (yC! =LastSignificantCoeffY)) numLastSubset = (numCoeff - 1) >> 4 for (i = numLastSubset; i> = 0; i- -) { offset = i << 4 if (max (log2TrafoWidth,log2TrafoHeight)> 3) { ...... omitted } else { ...... omitted } firstNZPosInCG = 1 «4; lastNZPosInCG = - 1; for (n = 15; n> = 0; n- -) { xC = ScanOrder [log2TrafoWidth] [log2TrafoHeight] [scanldx] [n +offset] [0] yC = ScanOrder [log2TrafoWidth] [log2TrafoHeight] [scanldx] [n +offset] [1] if (significant coeff flag [xC] [ Petition 870180047879, of 06/05/2018, p. 39/44 35/39 yc]) { coeff abs took greaterl flag [n] ae (v) if (lastNZPosInCG == - l) lastNZPosInCG = n firstNZPosInCG = n } } signHidden = lastNZPosInCG -firstNZPosInCG + 1> = tsig for (n = 15; n> = 0; n- -) { if (coeff abs took the greaterl flag [n]) coeff abs took greater2 flag [n] ae (v) } for (n = 15; n> = 0; n- -) { xC = ScanOrder [log2TrafoWidth] [log2TrafoHeight] [scanldx] [n +offset] [0] yC = ScanOrder [log2TrafoWidth] [log2TrafoHeight] [scanldx] [n +offset] [1] if (significant coeff flag [xC] [yc]) { if (! sign data hinding |! signHidden | n! = firstNZPosInCG) coeff sign flag [n] ae (v) else Petition 870180047879, of 06/05/2018, p. 40/44 36/39 coeff sign flag [n] = 0; } } sumAbs = 0; for (n = 15; n> = firstNZPosInCG;n- -) { if (coeff abs took greater2 flag [n]) coeff abs took minus3 [n] ae (v) xC = ScanOrder [log2TrafoWidth] [log2TrafoHeight] [scanldx] [n +offset] [0] yC = ScanOrder [log2TrafoWidth] [log2TrafoHeight] [scanldx] [n +offset] [1] if (significant coeff flag [xC] [yc]) { transCoeffLevel [xO] [yO] [cldx] [xC] [yC] = (coeff abs took minus3 [n] + 3) * (1 - 2 * coeff sign flag [n]) if (sign data hinding &&signHidden) sumAbs + =coeff abs took minus3 [n] +3 } else transCoeffLevel [xO] [yO] [cldx] [xC] [yC] = 0 } if (sign data hinding && signHidden Petition 870180047879, of 06/05/2018, p. 41/44 37/39 && (sumAbs% 2 == 1)) transCoeffLevel [xO] [yO] [cldx] [xC] [yC]transCoeffLevel [xO] [yO] [cldx] [xC] [yC] } } Reference is now made to Figure 10, which shows a simplified block diagram of an example embodiment of an encoder 900. Encoder 900 includes a processor 902, memory 904 and an encoding application 906. The encoding application 906 it may include a computer program or application stored in memory 904 and containing instructions for configuring the 902 processor to perform operations such as those described in this document. For example, the encoding application 906 can encode and produce encoded bit streams according to the processes described in this document. It will be understood that the 906 encoding application can be stored on computer-readable media, such as a compact disc, flash memory device, random access memory, hard drive, etc. Reference is now also made to figure 11, which shows a simplified block diagram of an example mode of a decoder 1000. Decoder 1000 includes a processor 1002, a memory 1004 and a decoding application 1006. The decoding application 1006 may include a computer program or application stored in memory 1004 and containing instructions for configuring processor 1002 to run Petition 870180047879, of 06/05/2018, p. 42/44 38/39 operations such as those described in this document. The decoding application 1006 may include an entropy decoder configured to reconstruct residues based, at least in part, on reconstructing signposts of significant coefficients, as described in this document. It will be understood that the decoding application 1006 can be stored on a computer-readable medium, such as a compact disc, flash memory device, random access memory, hard drive, etc. It will be appreciated that the decoder and / or encoder according to the present application can be implemented in several computing devices, including, without limitation, servers, properly programmed general purpose computers, audio / video encoding and reproduction devices, converter devices television signal, television broadcasting equipment and mobile devices. The decoder or encoder can be implemented using software containing instructions for configuring a processor to perform the functions described in this document. Software instructions can be stored in any suitable non-transitory computer-readable memory, including CDs, RAM, ROM, Flash memory, etc. It will be understood that the encoder described in this document and the module, routine, process, chain, or other software component implementing the method / process described for configuring the encoder can be accomplished using standard computer programming techniques and languages. This application does not Petition 870180047879, of 06/05/2018, p. 43/44 39/39 is limited to processors, computer languages, computer programming conventions, data structures and other such particular implementation details. Those skilled in the art will recognize that the described processes can be implemented as a piece of computer executable code stored in volatile or non-volatile memory, as part of an application-specific integrated chip (ASIC), etc. Certain adaptations and modifications to the described modalities can be made. Therefore, the modalities discussed above are considered to be illustrative and not restrictive. Petition 870180047879, of 06/05/2018, p. 44/44 1/4
权利要求:
Claims (15) [1] 1. Method of decoding an encoded video bit stream by reconstructing coefficients for a transformed unit, the bit stream encoding two or more sets of signal bits for the transformed unit, each set of signal bits corresponding to a respective set of coefficients for the transformed unit, in which each signal bit indicates the sign of a corresponding non-zero coefficient within the respective set, the method characterized by the fact that it comprises: for each of the two or more sets of signal bits, add an absolute value of the coefficients for the respective set corresponding to that set of signal bits to obtain a parity value; and assigning a signal to one of the coefficients within the respective set based on whether the par value is even or odd. [2] 2. Method, according to claim 1, characterized by the fact that each of the respective sets of coefficients corresponds to a respective block of 4x4 coefficients. [3] 3. Method, according to claim 1, characterized by the fact that each of the respective sets of coefficients corresponds to a group of respective blocks of 4x4 coefficients, and in which the blocks of coefficients in each of the groups are consecutive blocks in a block-level scan order. [4] 4. Method, according to any of the 2/4 claims 1, 2 or 3, characterized by the fact that the method further comprises determining that the number of coefficients within the respective set of coefficients between a first non-zero coefficient and the last non-zero coefficient in a scan order exceeds a threshold value. [5] 5. Method according to any one of claims 1, 2, 3 or 4, characterized by the fact that designating includes making the one of the coefficients negative if the par value is odd and leaving the one of the coefficients positive if the value of parity is even. [6] 6. Decoder to decode a bit stream of encoded data to reconstruct coefficients for a unity transformed, the decoder featured fur fact of which comprises: one ] processor; an memory; and an application of decoding stored in memory and containing instructions to configure the processor for run the method according Any of them of claims 1 to 5. [7] 7. Method of encoding a stream of video bits by encoding signal bits for coefficients for a transformed unit, the method characterized by the fact that it comprises: for each of two or more sets of coefficients for the transformed unit, add an absolute value of the coefficients for that set to obtain a par value; determine that a sign of one of the coefficients 3/4 in this set does not correspond to the par value; and adjusting a level of a coefficient in that set by one in order to change the parity value to match the sign of one of the coefficients. [8] 8. Method, according to claim 7, characterized by the fact that it also comprises, for each of the two or more sets of coefficients, encoding signal bits for all non-zero coefficients in that set except for the one of the coefficients. [9] 9. Method according to claim 7 or 8, characterized by the fact that each of the two or more sets of coefficients comprises a respective block of 4x4 coefficients. [10] 10. Method according to claim 7 or claim 8, characterized by the fact that each of the coefficient sets corresponds to a group of respective blocks of 4x4 coefficients, and in which the coefficient blocks in each of the groups are blocks consecutive in a block-level scan order. [11] 11. Method according to any one of claims 7, 8, 9 or 10, characterized in that the method further comprises determining that the number of coefficients within the coefficient set between a first coefficient other than zero and the last coefficient nonzero in a scan order exceeds a threshold value. [12] 12. Method according to any of claims 7, 8, 9, 10 or 11, characterized by the fact that adjusting a level includes selecting the coefficient in the set to be adjusted using optimization rate4 / 4 distortion. [13] 13. Method according to claim 12, characterized by the fact that taxadistance optimization uses a predefined cost metric to evaluate a rate cost. [14] 14. Encoder to encode a video bit stream when encoding signal data for coefficients for a transformed unit, the encoder characterized by the fact that it comprises: a processor; a memory; and a coding application stored in memory and containing instructions for configuring the processor to execute the method according to any one of claims 7 to 13. [15] 15. Non-transitory processor-readable media, characterized by the fact that it stores executable instructions per processor that, when executed, configure one or more processors to execute the method according to any of claims 1, 2, 3, 4 or 5 and 7, 8, 9, 10, 11, 12 or 13. 1/11 EKL_I 11/11 Fl <5. 2 3/11 xC 2 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 100
类似技术:
公开号 | 公开日 | 专利标题 BR102013001124A2|2018-07-31|HIDING MULTIPLE SIGNAL BITS INSIDE A TRANSFORMED UNIT US10743028B2|2020-08-11|Multiple sign bit hiding within a transform unit US20180152704A1|2018-05-31|Multi-level significance maps for encoding and decoding EP2807825A1|2014-12-03|Methods and devices for context modeling to enable modular processing US9584812B2|2017-02-28|Methods and devices for context set selection US9172962B2|2015-10-27|Methods and systems for pipelining within binary arithmetic coding and decoding EP2590409B1|2015-01-07|Multi-level significance maps for encoding and decoding TWI533705B|2016-05-11|Methods and devices for context set selection CA2801095A1|2013-07-20|Methods and devices for context modeling to enable modular processing CA2800119C|2016-05-17|Methods and systems for pipelining within binary arithmetic coding and decoding BR102012027968B1|2021-12-21|METHOD OF RECONSTRUCTION OF SIGNIFICANT COEFFICIENT FLAGS AND DECODER FOR DECODING A BITS STREAM OF ENCODED DATA EP2680580A9|2014-02-26|Reduced worst-case context-coded bins in video compression with parity hiding
同族专利:
公开号 | 公开日 EP2618572A1|2013-07-24| CA2801767C|2016-05-17| TW201340717A|2013-10-01| KR20130085977A|2013-07-30| JP2013150323A|2013-08-01| CN103220515B|2016-06-29| EP3644611A1|2020-04-29| EP3399753A1|2018-11-07| CN105959697A|2016-09-21| CA2801767A1|2013-07-20| TWI524780B|2016-03-01| AU2013200325B2|2014-12-04| EP2618572B1|2016-08-24| MX2013000711A|2014-01-09| EP3094094A1|2016-11-16| EP3094094B1|2018-03-28| EP3399753B1|2019-12-11| JP5537681B2|2014-07-02| KR101538837B1|2015-07-22| SG192360A1|2013-08-30| ES2776925T3|2020-08-03| CN105959697B|2019-04-05| CN103220515A|2013-07-24|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题 US6570924B1|1998-11-20|2003-05-27|Interval Research Corp|Low cost video compression using fast, modified Z-coding of wavelet pyramids| JP2004503964A|2000-06-14|2004-02-05|コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ|Color video encoding and decoding method| JP4726141B2|2003-06-25|2011-07-20|トムソンライセンシング|Coding method and apparatus for watermark insertion in compressed video bitstreams| US7454076B2|2004-06-15|2008-11-18|Cisco Technology, Inc.|Hybrid variable length coding method for low bit rate video coding| CN1893663A|2005-09-02|2007-01-10|华为技术有限公司|Transmission protection method of multi-media communication| KR20210064398A|2009-01-27|2021-06-02|인터디지털 브이씨 홀딩스 인코포레이티드|Methods and apparatus for transform selection in video encoding and decoding| FR2982446A1|2011-11-07|2013-05-10|France Telecom|METHOD FOR ENCODING AND DECODING IMAGES, CORRESPONDING ENCODING AND DECODING DEVICE AND COMPUTER PROGRAMS|FR2982447A1|2011-11-07|2013-05-10|France Telecom|METHOD FOR ENCODING AND DECODING IMAGES, CORRESPONDING ENCODING AND DECODING DEVICE AND COMPUTER PROGRAMS| FR2982446A1|2011-11-07|2013-05-10|France Telecom|METHOD FOR ENCODING AND DECODING IMAGES, CORRESPONDING ENCODING AND DECODING DEVICE AND COMPUTER PROGRAMS| US10003792B2|2013-05-27|2018-06-19|Microsoft Technology Licensing, Llc|Video encoder for images| US9264724B2|2013-10-11|2016-02-16|Blackberry Limited|Sign coding for blocks with transform skipped| US9456210B2|2013-10-11|2016-09-27|Blackberry Limited|Sign coding for blocks with transform skipped| KR102218196B1|2013-10-28|2021-02-23|삼성전자주식회사|Encoder, method thereof, and apparatuses including the encoder| EP3120556B1|2014-03-17|2021-01-13|Microsoft Technology Licensing, LLC|Encoder-side decisions for screen content encoding| JP6401290B2|2014-04-01|2018-10-10|ホアウェイ・テクノロジーズ・カンパニー・リミテッド|Method and apparatus for data hiding of multi-layer structured coding unit| WO2016123792A1|2015-02-06|2016-08-11|Microsoft Technology Licensing, Llc|Skipping evaluation stages during media encoding| CN106162201B|2015-03-26|2019-02-15|北京君正集成电路股份有限公司|A kind of image data compression method and device based on sign bit grouping| US10038917B2|2015-06-12|2018-07-31|Microsoft Technology Licensing, Llc|Search strategies for intra-picture prediction modes| US10136132B2|2015-07-21|2018-11-20|Microsoft Technology Licensing, Llc|Adaptive skip or zero block detection combined with transform size decision| KR102159252B1|2016-02-12|2020-10-14|후아웨이 테크놀러지 컴퍼니 리미티드|Method and apparatus for selecting the scan order| CN105898300B|2016-05-06|2019-03-26|西安电子科技大学|A kind of improvement transformation coefficient sign bit hidden method based on recovery transformation coefficient| US10911773B2|2016-05-13|2021-02-02|Telefonaktiebolaget Lm Ericsson |Motion vector difference coding and decoding| WO2017209455A2|2016-05-28|2017-12-07|세종대학교 산학협력단|Method and apparatus for encoding or decoding video signal| WO2019127003A1|2017-12-26|2019-07-04|富士通株式会社|Image coding method, apparatus, and electronic device| WO2019156469A1|2018-02-09|2019-08-15|삼성전자 주식회사|Video decoding method and apparatus, and video encoding method and apparatus| EP3738309A1|2018-03-07|2020-11-18|Huawei Technologies Co., Ltd.|Method and apparatus for detecting blocks suitable for multiple sign bit hiding| CN113225561A|2018-09-21|2021-08-06|Oppo广东移动通信有限公司|Video signal encoding/decoding method and apparatus for the same|
法律状态:
2018-07-10| B25D| Requested change of name of applicant approved|Owner name: BLACKBERRY LIMITED (CA) | 2018-07-17| B25G| Requested change of headquarter approved|Owner name: BLACKBERRY LIMITED (CA) | 2018-07-31| B03A| Publication of a patent application or of a certificate of addition of invention [chapter 3.1 patent gazette]| 2018-12-04| B06F| Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette]| 2019-12-10| B25A| Requested transfer of rights approved|Owner name: VELOS MEDIA INTERNATIONAL LIMITED (IE) | 2020-06-09| B06U| Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette]| 2022-02-01| B09A| Decision: intention to grant [chapter 9.1 patent gazette]|
优先权:
[返回顶部]
申请号 | 申请日 | 专利标题 EP12151973.0A|EP2618572B1|2012-01-20|2012-01-20|Multiple sign bit hiding within a transform unit| EP12151973.0|2012-01-20| 相关专利
Sulfonates, polymers, resist compositions and patterning process
Washing machine
Washing machine
Device for fixture finishing and tension adjusting of membrane
Structure for Equipping Band in a Plane Cathode Ray Tube
Process for preparation of 7 alpha-carboxyl 9, 11-epoxy steroids and intermediates useful therein an
国家/地区
|