# Entropy coding coefficients using joint context model

FIELD: physics, computer engineering.

SUBSTANCE: invention relates to computer engineering. A method of coding video data comprises maintaining a plurality of context models for entropy coding transform coefficients of the video data, wherein the plurality of context models includes one or more context models that are each used for a different transform unit size and at least one joint context model used for two or more transform unit sizes; selecting the joint context model shared by a first transform unit and a second transform unit; selecting contexts for the transform coefficients associated with one of the first transform unit or the second transform unit according to the joint context model; and entropy coding the transform coefficients of said one of the transform units using context adaptive binary arithmetic coding (CABAC) based on the selected contexts.

EFFECT: reduced amount of memory needed to store contexts and probabilities on video coders and decoders.

34 cl, 9 dwg

AREA of TECHNOLOGY

[0001] the Present invention relates to video encoding and, more specifically, statistical coding to encode the video.

The LEVEL of TECHNOLOGY

[0002] Digital video capabilities can be incorporated into a wide range of devices, including digital televisions, digital direct broadcast system, a wireless broadcast system, personal digital assistant (PDA), laptops or desktop computers, digital cameras, digital recording devices, digital media players, video game devices, video game consoles, cellular or satellite radio telephones, video teleconferencing, etc. Digital video devices implement video compression methods, such as those described in the standards defined by MPEG-2, MPEG-4, ITU-T H. 263, ITU-T H. 264/MPEG-4 Part 10, Advanced video coding (AVC) or finding in its infancy coding standard high efficiency video (HEVC), and extensions of such standards.

[0003] video compression Methods perform spatial prediction and/or temporal prediction to reduce or remove redundancy inherent in video sequences. For based on blocks of video coding, a video frame or tenderloin can be partitioned into video blocks or blocks of coding (CU). CU can be further split into one or more of Bloco� predictions (PU), to determine the predictive video data for CU. The video compression methods can also divide the CU into one or more blocks of transform (TU) blocks of residual video data, which represent the difference between the video block, which must be encoded, and a prediction video data. Linear transformations, such as two-dimensional discrete cosine transform (DCT), can be applied to TU, to convert the blocks of residual video data of the pixel region in a frequency region to achieve further compression.

[0004] After conversion, the conversion factors in TU can be further compressed through quantization. After quantization module statistical coding can apply the zigzag view or another view, associated with the size of the TU to view a two-dimensional set of coefficients in the TU to form a serialized vector that can be statistically coded. The statistical module coding then statistically encodes a serialized vector of coefficients. For example, a module of the statistical coding can perform a context-adaptive coding with variable length code (CAVLC), context-adaptive binary arithmetic coding (CABAC), or other�th method of statistical coding. In the case of context-adaptive statistical coding module statistical coding may choose contexts for each of the coefficients in the TU according to the context model associated with the size of TU. The coefficients can then be statistically encoded based on the selected contexts.

Summary of the INVENTION

[0005] In General, the present invention describes how to perform statistical encoding and decoding transform coefficients associated with a block of residual video data using the joint context model shared between units conversion having different sizes. For example, the joint context model may be shared between units conversion, having a first size 32x32, and blocks conversion having a second size 16x16. In some cases, more than two size conversion blocks can share the same joint context model. As one example, the joint context model may be combined with contextual model significance maps for unit conversion. In other examples, the joint context model may be associated with other information encoding or syntax elements.

[0006] in a hundred�AI becoming the standard for video encoding with high efficiency (HEVC), block coding (CU) may include one or more blocks of transform (TU), which include residual video data to be converted. Additional dimensions of unit conversion, for example, 32x32 up to 128x128, have been proposed to improve the efficiency of video encoding, but also led to increased memory and computational requirements for maintaining context models for each of the additional size of the transform block. Performing statistical coding using a joint context model shared between units conversion, having different sizes, can reduce the amount of memory needed to store contexts and probabilities on devices of video encoding and decoding, and reduce the computational cost of maintaining context models on devices that encode and decode video.

[0007] In some examples, the methods can also reduce the requirements intermediate buffering for large size of the transform block when performing a two-dimensional transformations. In this case, the methods include zero, i.e., setting values to zero, a subset of the higher frequency transform coefficients included in the conversion unit of the first size after applying each direction DV�dimensional conversion, to generate the remaining block of coefficients. In this example, the joint context model for statistical coding may be shared between transform block having the first size with coefficients zeroed out to generate a block of the remaining coefficients, and a block conversion, originally having the second size. In some cases, the remaining block of coefficients may have a size equal to the second size. In other examples, the joint context model for statistical coding may be shared between the conversion unit having a first size and a transform block having the second size.

[0008] In one example, the invention describes a method of decoding video data containing the maintenance of the joint context model shared by a transform block having the first size with coefficients that are zeroed out to generate a block of the remaining coefficients, and the transform block having the second size, the first size and the second size are different. The method also includes selecting contexts for coefficients associated with the transform block having one of a first size with the remaining block of coefficients and the second size according to the joint pin�xtoy models and statistical coding of the coefficients associated with the transform block according to a coding process based on the selected contexts.

[0009] In another example, the invention describes a video encoding device containing a memory that stores the joint context model shared by a transform block having the first size with coefficients that are zeroed out to generate a block of the remaining coefficients, and the transform block having the second size, the first size and the second size are different. The video encoding device further includes a processor configurable to support a unified context model, to select contexts for coefficients associated with the transform block having one of a first size with the remaining block of coefficients and the second size according to the joint context model, and statistically encode the coefficients associated with the transform block according to the encoding process, based on the selected contexts.

[0010] In another example, the invention describes a video encoding device that contains a means to maintain a joint context model shared by a transform block having the first size with coefficients that JW�safety zeroed, to generate the remaining block of coefficients, and the transform block having the second size, the first size and the second size are different. The video encoding device also includes means to select contexts for coefficients associated with the transform block having one of a first size with the remaining block of coefficients and the second size according to the joint context model, and a tool for statistical coding of the coefficients associated with the transform block according to the coding process based on the selected contexts.

[0011] In another example, the invention describes a computer-readable medium containing instructions for coding video data that, when executed, cause the processor to maintain a joint context model shared by a transform block having the first size with coefficients that are zeroed out to generate a block of the remaining coefficients, and the transform block having the second size, the first size and the second size are different. The instructions also cause the processor to select contexts for coefficients associated with the transform block having one of a first size with the remaining block of coefficients and the second size according to join�isolated context model, and statistically encode the coefficients associated with the transform block according to the coding process based on the selected contexts.

[0012] In another example, the invention describes a method of encoding video data containing the maintenance of the joint context model shared by a transform block having a first size and a transform block having the second size, the first size and the second size are different. The method also includes selecting contexts for coefficients associated with the transform block having one of a first size and the second size according to the joint context model, and statistical coding of the coefficients of the transform block according to a coding process based on the selected contexts.

[0013] In an additional example, the invention describes a video encoding device containing a memory that stores the joint context model shared by a transform block having a first size and a transform block having the second size, the first size and the second size are different, and a processor configurable to support a unified context model, to select contexts for coefficients associated with the transform block, having one of the first R�of Smara and the second size according to the joint context model, and statistically encode the coefficients of the transform block according to a coding process based on the selected contexts.

[0014] In a further example, the invention describes a video encoding device that contains a means to maintain a joint context model shared by a transform block having a first size and a transform block having the second size, the first size and the second size are different. The video encoding device also includes a means to select contexts for coefficients associated with the transform block having one of a first size and the second size according to the joint context model, and a tool for statistical coding of the coefficients of the transform block according to a coding process based on the selected contexts.

[0015] In another example, the invention describes a computer-readable medium containing instructions for coding video data that, when executed, cause the processor to maintain a joint context model shared by a transform block having a first size and a transform block having the second size, the first size and the second size are different, select contexts for coefficients associated with the block�m conversion, having one of a first size and the second size according to the joint context model, and statistically encode the coefficients of the transform block according to a coding process based on the selected contexts.

BRIEF description of the DRAWINGS

[0016] Fig. 1 is a block diagram illustrating an exemplary system for video encoding and decoding, which can use methods to perform statistical coding coefficients of video using a joint context model shared between units conversion having different sizes.

[0017] Fig. 2 is a block diagram illustrating an exemplary video encoder that may implement the methods for statistical coding coefficients of video using a joint context model.

[0018] Fig. 3A and 3B are conceptual diagrams respectively illustrating square and rectangular areas of the remaining blocks of coefficients having the second size of the transform block having the first size.

[0019] Fig. 4 is a block diagram illustrating an exemplary video decoder that may implement the methods for the statistical decoding of the coefficients of the video, using a joint context model.

[0020] Fig. 5 is a block diagram illustrating an exemplary module statisticheski�th encoding, configurable to select contexts for coefficients of the video according to the joint context model.

[0021] Fig. 6 is a block diagram illustrating an exemplary module of the statistical decoding, configurable to select contexts for coefficients of the video according to the joint context model.

[0022] Fig. 7 is a sequence of operations illustrating an exemplary operation of the statistical coding and statistical decoding of the coefficients of the video, using a joint context model shared between the first conversion unit having the first size and the second conversion unit having the second size.

[0023] Fig. 8 is a sequence of operations illustrating an exemplary operation of the statistical encoding and decoding of the coefficients of the video, using a joint context model shared between the first conversion unit having the first size with coefficients zeroed out to generate the remaining block of coefficients having the second size and the second conversion unit having the second size.

DETAILED DESCRIPTION

[0024] In General, this invention describes how to perform statistical encoding and decoding transform coefficients associated with BL�kOhm residual video data, using a joint context model shared between units conversion having different sizes. For example, the joint context model may be shared between units conversion, having a first size 32x32, and blocks conversion having a second size 16x16. In the emerging standard for video encoding with high efficiency (HEVC) block coding (CU) may include one or more blocks of transform (TU), which include residual video data. Before the conversion of residual video data include residual pixel values in the spatial domain. After transforming residual video data include residual transform coefficients in the transformation. Additional dimensions of unit conversion, for example, 32x32 up to 128x128, have been proposed to improve the efficiency of video encoding, but also led to the increase in memory and computing requirements to support context model for each of the additional size of the transform block. Performing statistical coding using a joint context model shared between units conversion, having different sizes, can reduce the amount of memory needed�th, to save contexts and probabilities on devices of video encoding and decoding, and reduce the computational cost of maintaining context models on devices that encode and decode video.

[0025] In some examples, the methods can also reduce the requirements intermediate buffering for larger block sizes conversion when performing a two-dimensional transformations. Techniques include zero, i.e., set to zero, a subset of the higher frequency transform coefficients included in the conversion unit of the first size after each direction two-dimensional transformation was applied to generate the block of the remaining coefficients. The device for encoding and decoding video can then buffer the reduced number of coefficients between the application of each direction, i.e., rows and columns, two-dimensional transformations. When the higher frequency coefficients set to zero from the conversion unit, having a first size, the coefficients included in the block of the remaining coefficients that have similar probabilistic statistics, and coefficients included in the block of the original conversion of the second size. In this case, the joint context model for statistical coding can be together�about used between units conversion, having the first size with coefficients zeroed out to generate a block of the remaining coefficients, and units conversion, originally having the second size. In some cases, the remaining block of coefficients may have a size equal to the second size. In other cases, the remaining block of coefficients may have a size equal to a third size different from the first size and the second size.

[0026] In other examples, the coefficients included in the first conversion unit having a first size, may have similar statistics probability and coefficients included in the second conversion unit of the second size even without zeroing the higher frequency coefficients within the first conversion unit. This is possible because the higher frequency coefficients can represent such a small residual video data that the impact on the probability statistics of neighboring coefficients for statistical coding slightly. In this case, the joint context model for statistical coding may be shared between units conversion, having a first size, and units conversion, having the second size.

[0027] Fig. 1 is a block diagram illustrating an exemplary system for encoding and decoding video that mo�em to use methods to perform statistical coding coefficients of video using a joint context model shared between units conversion having different sizes. As shown in Fig. 1, system 10 includes a source device 12, which may store the encoded video and/or transmit the encoded video to the destination 14 via the communication channel 16. Source device 12 and the destination 14 may not necessarily participate in active communication in real time with each other. In some cases, source device 12 may store coded video data to the media data to which the recipient 14 can access, if necessary with the help of disk access, or may store coded video data on the file server to which the recipient 14 can be accessed when needed through streaming. Source device 12 and the destination 14 may contain any of a wide range of devices. In some cases, source device 12 and the destination 14 may include wireless communication devices that can communicate video information over a communications channel 16, when the communication channel 16 is wireless.

[0028] However, the methods according to the present invention, which relate to statistical coding coefficients of video, IP�alzua the joint context model, not necessarily limited to wireless applications or settings. For example, these methods may apply to terrestrial TV broadcasting, cable TV, satellite TV, video broadcasts on the Internet, coded digital video that is encoded on a storage medium, or other scenarios. Accordingly, communication channel 16 may include any combination of wireless or wired media suitable for transmission of encoded video data, and devices 12, 14 may contain any one of a set of devices with wired or wireless media, such as mobile phones, smartphones, digital media players, set-top boxes, televisions, displays, desktop computers, portable computers, tablet computers, gaming consoles, portable gaming devices or the like.

[0029] In the example according to Fig. 1, the source device 12 includes a source 18 video, the encoder 20 video modulator/demodulator (modem) 22 and a transmitter 24. Device to the destination 14 includes a receiver 26, a modem 28, a decoder 30 video and the display device 32. In other examples, the source device and the destination may include other components or layout. For example, source device 12 may receive video data from �nesnera source 18 video such as external camera, storage device, video source, computer graphics or similar. Similarly, the recipient 14 may be interfaced with an external display device, instead of including an integrated display device.

[0030] the Illustrated system 10 according to Fig. 1 is just one example. In other examples, any digital device encoding and/or decoding video may perform the disclosed methods for statistical coding coefficients of video using a joint context model. The methods can also be performed by the encoder/decoder video, usually called "codec". Furthermore, the methods according to the present invention can also be performed by a video preprocessor. Source device 12 and the destination 14 are merely examples of such devices encoding in which the source device 12 generates coded video data for transmission to the addressee 14. In some examples, the devices 12, 14 can operate essentially symmetrical manner such that each of devices 12, 14 include components of the video encoding and decoding. Thus, the system 10 may support one-way or two-way video transmission between video devices 12, 14, for example, to stream the�, video playback, wireless video broadcasting, or video telephony.

[0031] the Source 18 video from the source device 12 may include a video capture device, such as a video camera, a video archive containing previously captured video, and/or video feed from a video provider content. As another alternative, the source 18 video can generate based on computer graphics data as the source video, or a combination of live video, archived video, and computer generated video. In some cases, if the source 18 video is a video camera, source device 12 and the destination 14 may form so-called camera phones or video phones. As mentioned above, however, the methods described in the present invention may be applicable to video coding in General, and can be applied to wireless and/or wired applications. In each case, the captured, pre-captured or computer-generated video may be encoded by the encoder 20 video. The encoded video information may then be modulated by modem 22 according to a communication standard, and transmitted to the destination 14 via transmitter 24. The modem 22 may include various mixers, filters, amplifiers or other components, designed to modulate si�Nala. The transmitter 24 may include circuits designed for transmitting data, including amplifiers, filters, and one or more antennas.

[0032] In accordance with the present invention, the encoder 20 video from the source device 12 may be configured to apply the methods for statistical coding coefficients of video using a joint context model. Block coding (CU) of the video frame that should be encoded may include one or more blocks of transform (TU), which include residual video data. Before the conversion of residual video data include residual pixel values in the spatial domain. After transforming residual video data include residual transform coefficients in a transformed region. The encoder 20 video can maintain a joint context model shared between units conversion, having different sizes, and select contexts for coefficients associated with one of the transformed blocks according to the joint context model. The encoder 20 video can then statistically encode the coefficients based on the selected contexts.

[0033] as an example, the joint context model may be shared between units conversion, they�sponding first size 32x32, and blocks conversion having a second size 16x16. In other examples, more than two size conversion blocks can share the same joint context model. In addition, two or more dimensions the conversion units may share some or all of the context models for units TU. In one case, the joint context model may be combined context-card model significance for TU. In other cases, the joint context model may be associated with other information encoding or syntax elements. These methods therefore can reduce the amount of memory needed to store the contexts and the probabilities of the encoder 20 and video to reduce the computational cost of maintaining context models on the encoder 20 video.

[0034] In one example, the encoder 20 video can be reset, i.e., set equal to zero, the higher frequency subset of the transform coefficients included in the conversion unit of the first size after each direction of two-dimensional transformations are applied to generate the block of the remaining coefficients. In this case, the methods can reduce the number of coefficients that need to be buffered between the application of each direction, i.e., the rows and columns of a two-dimensional PR�education. When the high frequency coefficients are set to zero from the block of transform coefficients included in the block of the remaining coefficients that have similar probabilistic statistics, and coefficients included in the block of the original conversion of the second size. In this example, the encoder 20 video can maintain a joint context model shared by the blocks of transform having the first size with coefficients that are zeroed out to generate a block of the remaining coefficients, and blocks conversion having a second size, and select contexts for coefficients of a block transform of one of the first size with the remaining block of coefficients and the second size according to the joint context model. In some cases, the remaining block of coefficients may have a size equal to the second size. In other cases, the remaining block of coefficients may have a size equal to a third size different from the first size and the second size.

[0035] In another example, the coefficients included in the first conversion unit having a first size, may have similar statistics to the probability that the coefficients included in the second conversion unit having a second size, even without zeroing high frequency coefficients within the first block details number of�tion. This is possible because the high-frequency coefficients can represent such a small residual video data that the impact on the probability statistics of neighboring coefficients for statistical coding slightly. In this example, the encoder 20 video can maintain a joint context model shared by the blocks of transform having a first size and a second size, and select contexts for coefficients in the transform block of one of the first and second size according to the joint context model. In some cases only the high frequency coefficients within the transformed blocks of the first size and the second size may share a joint context model. The low-frequency coefficients, for example, DC components and the neighboring coefficients in the transformation of the first size may use different context model than the low frequency coefficients in the transform of the second size.

[0036] the Receiver 26 from the device-the recipient 14 receives information on channel 16, and a modem 28 demodulates the information. Information transmitted through the channel 16 may include information syntax defined by the encoder 20 video, which is also used by the decoder 30 video that includes syntax elements that describe characteristics�and and/or processing of encoding units (CU), blocks of prediction (PU), the conversion units (TU) or other units of the encoded video, e.g., video clips, video frames and video sequences or groups of pictures (GOP). The display device 32 displays the decoded video data to the user, and can contain any variety of display devices such as cathode ray tube (CRT), liquid crystal display (LCD), plasma display, organic light emitting diodes (OLED), or other type of display device.

[0037] according to the present invention, the decoder 30 video from your device to the destination 14 may be configured to apply the methods of statistical decoding of the coefficients of the video, using a joint context model. Unit CU of a video frame that is to be decoded may include one or more blocks of the TU, which include residual video data before and after conversion. The decoder 30 video can maintain a joint context model shared between units conversion, having different sizes, and select contexts for coefficients associated with one of the transformed blocks, according to the joint context model. The decoder 30 video can then statistically to decode the coefficients based on the selected context�.

[0038] as an example, the joint context model may be shared between units conversion, having a first size 32x32, and blocks conversion having a second size 16x16. As described above, in other examples more than two size conversion blocks can share the same joint context model. In addition, two or more dimensions the conversion units may share some or all of the context models for units TU. In one case, the joint context model may be combined context-card model significance for TU. In other cases, the joint context model may be associated with other information encoding or syntax elements. These methods therefore can reduce the amount of memory needed to store contexts and probabilities at the decoder 30 video, and reduce the computational costs of maintaining context models in the decoder 30 video.

[0039] In one example, the decoder 30 video can take a stream of bits that represents the encoded coefficients associated with the block of the remaining coefficients and the zero coefficients from the transform block having the first size. When the high frequency coefficients are set to zero from the block of transform coefficients�s, included in the block of the remaining coefficients that have similar probabilistic statistics, and coefficients included in the block of the original conversion of the second size. In this example, the decoder 30 video can maintain a joint context model shared by the blocks of transform having the first size with coefficients that are zeroed out to generate a block of the remaining coefficients, and blocks conversion having a second size, and select the coded contexts for coefficients associated with the unit conversion of one of the first size with the remaining block of coefficients and the second size according to the joint context model. In some cases, the remaining block of coefficients may have a size equal to the second size. In other cases, the remaining block of coefficients may have a size equal to a third size different from the first size and the second size.

[0040] In another example, the decoder 30 video can take a stream of bits that represents the encoded coefficients associated with the transform block having one of a first size and the second size. The coefficients included in the first conversion unit having a first size, may have similar statistics to the probability that the coefficients included in in�ora the conversion unit of the second size, even without zeroing high frequency coefficients within the first conversion unit. In this example, the decoder 30 video can maintain a joint context model shared by the blocks of transform having a first size and a second size, and select the coded contexts for coefficients associated with the unit conversion of one of the first and second size according to the joint context model. In some cases only the high frequency coefficients within the transformed blocks of the first size and the second size may share a joint context model. The low-frequency coefficients, for example, DC components and the neighboring coefficients in the transformation of the first size may use different context model than the low frequency coefficients in the transform of the second size.

[0041] In the example of Fig. 1 the communication channel 16 may include any of the wired or wireless communication media, such as radio frequency (RF, RF) spectrum or one or more physical transmission lines, or any combination of wireless and wired media. Communication channel 16 may form part based on the packet transmission network such as a local area network, a wide-scale network, or global network such as the Internet. Comm�communication channel 16 generally represents any suitable communication medium, or collection of different communication media, for transmitting video data from source device 12 to the recipient 14, including any suitable combination of wired or wireless media. Communication channel 16 may include routers, switches, base stations or any other equipment that may be used to facilitate communication from source device 12 to the destination 14. As described above, in some cases, source device 12 and the destination 14 may not participate in active communication in real time over the communication channel 16. For example, source device 12 may instead save the encoded video data on a storage medium to which the recipient 14 can access, if necessary with the help of disk access, or store the coded video data in a file server to which the recipient 14 can be accessed if necessary by using a stream.

[0042] the Encoder 20 and video decoder 30 video can operate according to a video compression standard, such as the emerging standard for video encoding with high efficiency (HEVC) or the standard ITU-T H. 264, the alternative called MPEG-4 Part 10, Advanced video coding (AVC). Ways out from this�retenu, however, not limited to any particular coding standard. Other examples include MPEG-2 and ITU-T H. 263. Although not shown in Fig. 1, in some aspects, the encoder 20 and video decoder 30 video can be integrated with each encoder and audio decoder, and may include the corresponding blocks MUX-DEMUX (multiplexing-demultiplexing), or other hardware and software, to handle encoding of both audio and video in a common data stream or separate data streams. If applicable, blocks MUX-DEMUX can match the Protocol ITU H. 223 multiplexer or other protocols, such as for user datagram Protocol (UDP).

[0043] the Efforts on the standardization of HEVC based on the model of video encoding, called HEVC Test Model (HM). HM presumes several additional features of the video encoding device relative to existing devices, for example, according to ITU-T H. 264/AVC. HM refers to a block of video data as a unit of encoding (CU). Data syntax within a bitstream may define the largest block coding (LCU), which is the largest unit of encoding in terms of the number of pixels. Overall, CU has a similar purpose to the macroblock of the H. 264 standard, except that a CU does not have a difference in size. Thus, CU can� to be divided in sub-CU. In General, references in this invention on a CU may refer to the largest unit of coding of the picture or sub-CU in the LCU. The LCU can be divided into sub-CU, and each sub-CU may be further divided into sub-CU. The data syntax of a bitstream may define a maximum number of times LCU can be divided, is called the depth of CU. Accordingly, the bit stream can also specify the smallest block coding (SCU).

[0044] a CU that is not further divided (i.e., the leaf node LCU) may include one or more prediction blocks (PU). In General, PU represents all or part of the corresponding CU, and includes data to extract a reference sample for the PU. For example, when the PU is coded in internal mode, the PU may include data describing the mode of internal predictions for PU. As another example, when the PU is coded in the external mode, the PU may include data defining a motion vector for the PU. Data defining the motion vector may describe, for example, the horizontal component of the motion vector, a vertical component of the motion vector, a resolution for the motion vector (e.g., accuracy in half the pixel size, the precision of a quarter of a pixel, or the accuracy of one-eighth of a pixel), a reference picture to which the motion vector points, and/or a list of reference �Adrov (for example, List 0 or List 1) motion vector. Data for CU, determine PU(s) may also describe, for example, the dividing of the CU into one or more blocks of the PU. Modes of fragmentation may differ between whether CU missed or coded in direct mode, coded in the mode of internal predictions or coded mode external predictions.

[0045] CU, having one or more PU, can also include one or more of the conversion units (TU). Following the prediction, using PU, the video coder may calculate residual values for the CU, the corresponding PU. Residual values included in blocks TU correspond to the values of the pixel difference, which may be converted into conversion factors are then quantized and scanned to form a serialized conversion factors for statistical coding. TU is not necessarily limited to the size of PU. Thus, the blocks of the TU may be greater or less than the corresponding PU for the same CU. In some examples, the maximum TU size may be the size of the corresponding CU. The present invention uses the term "video block" to refer to any of a CU, PU, or TU.

[0046] the Encoder 20 and video decoder 30 each may be implemented as any one of a set coming�their schemes encoder, such as one or more microprocessors, digital signal processors (DSP), application specific integrated circuits (ASIC), field programmable gate arrays (FPGA), discrete logic, software, hardware, software-hardware, or any combinations thereof. Each encoder 20 and video decoder 30 video can be included in one or more encoders or decoders, either of which may be integrated as part of a combined encoder/decoder (codec) in a respective camera, computer, mobile device, subscriber device, a broadcasting device, set-top box, server, or similar.

[0047] a video Sequence or group of pictures (GOP, GK) typically include a number of video frames. GOP data may include the syntax in the GOP header, the header of one or more frames in a GOP, or in another place that describe the number of frames included in the GOP. Each frame may include a data frame syntax that describe the encoding mode for the corresponding frame. The encoder 20 video usually operates on video blocks within individual video frames to encode video data. A video block may correspond to a CU or PU in the CU. A video block may have a fixed or variable size, and can vary in size according to mill�art of coding. Each video frame may include a lot of clippings. Each slice may include a plurality of CU, which may include one or more PU.

[0048] as an example of HEVC Test Model (HM) supports the prediction of CU in different sizes. The size of the LCU may be determined using the information of the syntax. Assuming that the size of a particular CU is equal 2Nx2N, the HM supports intra prediction in size 2Nx2N or NxN, and external prediction in symmetric sizes of 2Nx2N, 2NxN, Nx2N, or NxN. HM also supports asymmetric partitioning for external predictions for 2NxnU, 2NxnD, nLx2N and nRx2N. The asymmetric division of the one direction CU is not split, while the other direction is divided into 25% and 75%. The portion of the CU corresponding to 25% of the division is denoted by "n" with an accompanying indication of "Top", "Bottom", "Left" or "Right". Thus, for example, "2NxnU" refers to a 2Nx2N CU, which is divided horizontally with 2Nx0.5N PU on top and 2Nx1.5N PU on bottom.

[0049] In the present invention "NxN" and "N by N" may be used interchangeably to refer to the pixel dimensions of a video block (e.g., CU, PU, or TU) in terms of the vertical and horizontal dimensions, e.g., 16x16 pixels or 16 by 16 pixels. The 16x16 block will have 16 pixels in a vertical direction (y=16) and 16 pixels in the horizontal direction (x=16). Analogic�, the NxN block has N pixels in the vertical direction and N pixels in the horizontal direction, where N represents a nonnegative integer value. The pixels in the block can be placed in rows and columns. In addition, the blocks do not necessarily have the same number of pixels in the horizontal direction as in the vertical direction. For example, the units may contain a rectangular area with NxM pixels, where M is not necessarily equal to N.

[0050] After encoding with internal prediction or external prediction to form a PU for the CU, the encoder 20 video may calculate residual data to form one or more blocks for CU TU. The residual data may correspond to pixel differences between pixels of the unencoded symbols and values of the prediction PU in the CU. The 20 video encoder may generate one or more blocks of the TU that includes residual data for the CU. The encoder 20 video can then convert the units TU. Before applying the transformation, such as discrete cosine transform (DCT), integer transform, wavelet transform, or a conceptually similar transform blocks in TU CU may contain residual video data containing pixel values of the difference in pixel area. After applying the transform blocks TU may contain factor� conversion, representing the residual video data in the frequency domain.

[0051] After any change for the formation of transform coefficients may be performed to quantize the transform coefficients. Quantization generally refers to the process in which the transform coefficients are quantized to possibly reduce the amount of data used to represent the coefficients. The quantization process can reduce the bit depth associated with some or all of the coefficients. For example, the value of n-bits can be rounded down to the bit values of the m-bits during quantization, where n is greater than m.

[0052] the Encoder 20 video can use a zigzag view, horizontal view, vertical view or another view, associated with the TU size to scan (browse) the quantized transform coefficients to form a serialized vector that can be statistically coded. In some examples, encoder 20, video may use a predetermined order to display the quantized transform coefficients. In other examples, the encoder 20 video can perform adaptive view (scanning). After watching the quantized transform coefficients, Thu�to form a one-dimensional vector, the encoder 20 video can statistically encode the one-dimensional vector, e.g., according to context-adaptive coding with variable length code (CAVLC), context-adaptive binary arithmetic coding (CABAC), or another method of statistical coding.

[0053] to perform a context-adaptive statistical coding, the encoder 20 video must assign a context to each factor according to the context model, which may relate to, for example, whether the values of neighboring coefficients different from zero. The encoder 20 video then determines the encoding process for the coefficient associated with the assigned context in the context model. Usually, the encoder 20 video needs to maintain a separate context models for each of the different sizes of the block TU, supported by an implemented video compression standard. For the HEVC standard additional dimensions of unit conversion, for example, 32x32 up to 128x128, have been proposed to improve the efficiency of video encoding, but additional sizes TU also lead to increased memory and computing requirements to support context model for each of the additional size of the unit conversion.

[0054] In accordance with the methods of the present invention, to perform context-adaptivestreaming encoding, the 20 video encoder may select contexts for coefficients according to the joint context model shared between units TU of various sizes. More specifically, the encoder 20 video may designate the context in the joint context model to a predetermined ratio of the block TU based on the values of previously coded neighboring coefficients of this TU. Assigned context is chosen based on the criteria defined in the joint context model shared by a TU. The 20 video encoder may determine the encoding process for the coefficient associated with the assigned context in the joint context model. The encoder 20 video then statistically encodes the coefficient based on a certain probability. For example, in the case of CABAC encoder 20 video can determine an estimate of the likelihood for the value (e.g. 0 or 1) of the coefficient associated with the assigned context in the joint context model. The encoder 20 video then updates the probability score associated with the assigned context in the joint context model, on the basis of the actually coded value of the coefficient.

[0055] as an example, the encoder 20 video can choose contexts, using the same joint context model for the coefficients, or associated with the block�'om the remaining coefficients within the first conversion unit, initially having the first size or the second conversion unit, originally having the second size. In addition, the encoder 20 video may update the probability estimate associated with a selected context in the joint context model based on actual coded values of the coefficients or block the remaining coefficients within the first block of the original conversion of the first size or the second conversion unit second original size. As another example, the encoder 20 video can choose contexts, using the same joint context model for the coefficients, or associated with the first conversion unit having the first size or the second conversion unit having the second size. In this case, the encoder 20 video can then update the probability estimate associated with a selected context in the joint context model based on actual coded values of the coefficients or the first conversion unit of the first size or the second conversion unit of the second size.

[0056] In any case together using a joint context model shared between two or more sizes conversion units, you can reduce the amount of memory needed to store contexts and probabilities in the encoder 20 video.In addition, sharing the joint context model may also reduce the computational cost of maintaining context models on the encoder 20 video, including reinstalling the entire context of the model at the beginning of the video clippings.

[0057] the Encoder 20 video can also statistically encode syntax elements indicating information of a prediction. For example, the encoder 20 video can statistically encode syntax elements indicating information of the video block, including block sizes of CU, PU and TU, information of the motion vector for predicting in internal mode, and the map information of the significant coefficients, i.e., maps of ones and zeros indicating the position of the significant coefficients for CABAC. The decoder 30 video can work as a way, essentially symmetrical to that of the encoder 20 video.

[0058] Fig. 2 is a block diagram illustrating an exemplary video encoder that may implement the methods for statistical coding coefficients of video using a joint context model. The encoder 20 video can perform internal and external encoding encoding blocks within a video frame. Internal coding relies on spatial prediction to reduce or remove spatial redundancy in video within a given video frame. External coding relies on time�tion prediction, to reduce or remove temporal redundancy in video within adjacent frames of the video sequence. Internal mode (I-mode) may refer to any of several spatial based compression modes. External modes, such as uni-directional prediction (P-mode), bidirectional prediction (B-mode), or generalized prediction P/B (GPB) can refer to any of several time-based compression modes.

[0059] In the example of Fig. 2, the encoder 20 video includes a module 38 mode, the module 40 of the prediction module 50 summation module 52 conversion, the quantization module 54, the module 56 statistical encoding and memory 64 reference frames. Module 40 prediction includes a module 42 motion estimation module 44 motion compensation module and 46 internal predictions. To reconstruct the block of video encoder 20 video also includes a module 58 of the inverse quantization module 60 inverse transformation module 62 of the summation. The deblocking filter or other contour filters, adaptive loop filter (ALF) and the adaptive offset clippings (SAO) (not shown in Fig. 2) may also be included to filter block boundaries to remove blockiness artifacts in the image reconstructed from the video. If desired, the deblocking filter can usually�t to filter the output signal of the module 62 of the summation.

[0060] As shown in Fig. 2, the encoder 20 video takes the video block within the video frame or clippings that need to be encoded. Frame or tenderloin can be divided into multiple video blocks or CU. Module 38 mode selector may select one of the encoding modes, internal or external, for the video block based on error results. Module 40 predictions then outputs the resulting internally or externally encoded block, the prediction module 50 summation to generate residual block data and to the module 62 of the summation to restore (reconstruct) encoded block for use as a reference block in the reference frame.

[0061] the Module 46 internal prediction module 40 performs prediction encoding with internal prediction video block relative to one or more neighboring blocks in the same frame as the block of video that needs to be encoded. Module 42 motion estimation module 44 motion compensation module 40 prediction to perform the encoding with an external prediction video block relative to one or more reference blocks in one or more reference frames stored in the memory 64 of the support frame. Module 42 motion estimation module 44 motion compensation can be highly integrated, but are illustrated separately in conc�Talnakh purposes. The motion estimation performed by the module 42 motion estimation is the process of generating motion vectors, which estimate motion for video blocks. The motion vector, for example, may indicate the offset of the video block or PU within the current frame relative to the reference video block or PU within the reference frame. The reference block is a block which is detected as closely corresponding to the video block or PU, which must be coded in terms of pixel difference, which may be determined by sum of absolute difference (SAD), sum of difference of squares (SSD), or other difference metrics.

[0062] the Module 42 estimates the movement sends the calculated motion vector in the module 44 motion compensation. Motion compensation performed by the module 44 motion compensation, may involve fetching or generating a prediction block based on the motion vector identified by the motion estimation. The encoder 20 video forms a residual video block by subtracting the prediction block from the encoded video block. The module 50 of the summation represents the component or components that perform this subtraction operation.

[0063] the Module 44 motion compensation may generate syntax elements defined to represent the information of the prediction on one or more of the level of posledovatel�ness video frame-level video level video clippings, level CU video, or level PU video. For example, module 44 motion compensation may generate syntax elements indicating information of the video block, including the sizes of CU, PU and TU, and information of the motion vector for predicting in internal mode.

[0064] Once the encoder 20 video formed a residual video block by subtracting the prediction block from the current video block, the module 52 can form one or more blocks of the TU from the residual block. Module 52 conversion applies a transform, such as discrete cosine transform (DCT), integer transform, wavelet transform, or a conceptually similar transform, to TU, to form a block of video containing residual transform coefficients. The transform may convert the residual block in the pixel area in conversion, such as frequency domain. More specifically, before the transformation is applied TU may contain residual video data in a pixel region, and after the transformation is applied TU may contain conversion factors, which represent the residual video data in the frequency domain.

[0065] In some examples, the module 52 of conversion may contain a two-dimensional separable converted�E. The module 52 can apply a two-dimensional transform to TU by first applying a one-dimensional transform to the rows of the residual video data in a block TU, that is, in the first direction and then applying a one-dimensional transform to the columns of the residual video data in a block TU, i.e., in a second direction, or Vice versa. As one example, TU may contain 32x32 TU. Module 52 conversion may first apply a one-dimensional 32-point transform to each row of pixel data in a TU to generate 32x32 TU intermediate transform coefficients, and secondly to apply a 32-point one-dimensional transform to each column of intermediate transform coefficients in the TU to generate 32x32 TU transform coefficients.

[0066] After application of the one-dimensional transform in the first direction to the residual video data in the TU, the encoder 20 video buffering intermediate conversion factors for use of one-dimensional transform in the second direction. As described above, in the HEVC standard large size of the unit conversion, for example, 32x32 up to 128x128, have been proposed to improve the efficiency of video encoding. Large size TU, however, will also lead to increased requirements intermediate buffering for two-dimensional transformations. NRA�emer, in the case of 32x32 TU, the encoder 20 video needs to buffer 1024 intermediate transform coefficients after one-dimensional transform in the first direction.

[0067] to reduce the requirements intermediate buffering for large size TU, the methods described in the present invention include zeroing high frequency of the subset of transform coefficients included in TU of the first size after each direction of the two-dimensional transform has been applied. Thus, the module 52 conversion can generate a block of the remaining coefficients in the block TU, which has a second size, smaller than the first size of the TU.

[0068] the Process of zeroing contains the setting values of the subset of transform coefficients in the block TU is equal to zero. The transform coefficients that are zeroed are not evaluated or rejected; instead, reset the transform coefficients are simply set to zero and have no meaning to save or encoding. According to the present invention zeroed conversion factors are typically higher-frequency transform coefficients relative to the remaining lower-frequency transform coefficients in the TU. High-frequency transform coefficients represent residual data� video which usually correspond to very small pixel differences between the block of video that needs to be encoded and the prediction block. High-frequency transform coefficients, therefore may contain such small residual video data that setting these values equal to zero has a negligible effect on the quality of the decoded video.

[0069] as an example, the module 52 can apply a one-dimensional transform in the first direction, for example, line by line, to the residual video data in a 32x32 TU and reset half of intermediate transform coefficients obtained from the transform. The encoder 20 video then only required to buffer the remaining half of the intermediate transform coefficients. Module 52 conversion can then apply the one-dimensional transform in a second direction, for example, by column, to the remaining intermediate transform coefficients in 32x32 TU and again to zero out the remaining half of the transform coefficients obtained from the transform. Thus, the module 52 conversion can generate the remaining block of coefficients significant coefficients with a size of 16x16 block original TU size 32x32.

[0070] In the example described above, the module 52 conversion was configured to generate HAC remaining coefficients, that is, one quarter of the initial TU size. In other cases, the module 52 can be configured to generate the remaining block of coefficients having a excellent size, by zeroing larger or smaller percentage of coefficients depending on the requirements of the complexity of the encoding for the encoding process. In addition, in some cases, the module 52 can be configured to generate the remaining block of coefficients having a rectangular area. In this case, the methods provide a further reduction of the requirements of the intermediate buffering by first applying a one-dimensional transform in the direction of the shorter side (that is, less the remaining transform coefficients) of a rectangular area. Thus, the encoder 20 video can buffer less than half of the intermediate transform coefficients before applying the one-dimensional transform in the direction of the longer sides of the rectangular area. Processes block zeroing the remaining coefficients and for square and rectangular areas are described in more detail with reference to Fig. 3A and 3B.

[0071] the Module 52 conversion may send the resulting transform coefficients to the quantization module 54. The quantization module 54 quantum coefficients p�of OBRAZOVANIJA, to further reduce the transmission rate (repetition rate) bits. The quantization process can reduce the bit depth associated with some or all of the coefficients. The degree of quantization may be changed by adjusting the quantization parameter. Module 56 statistical coding or quantization module 54 may then browse the TU, including the quantized transform coefficients. Module 56 statistical coding may apply a zig-zag view, or another view, associated with the size of the TU to view the quantized transform coefficients to form a serialized vector that can be statistically coded.

[0072] In one example, in which the coefficients of the TU originally of the first size have been set to zero to generate the remaining block of coefficients having a second size, the module 56 statistical coding can view the rest of the coefficients, using the order relative TU the second size. In this case, the module 56 statistical coding may enforce the order in 16x16 block of the remaining coefficients with a size of 16x16 block original TU size 32x32. In another example, in which the coefficients of the TU originally of the first size�RA were zeroed, to generate the remaining block of coefficients having a second size, the module 56 statistical coding can view the rest of the coefficients, using the order regarding TU first dimension that has been modified to skip the coefficients of the TU, not included in the block of the remaining coefficients. In this case, the statistical unit of coding can be used to view 32x32 to the remaining block of coefficients with a size of 16x16, skipping all zero coefficients in the block original TU size 32x32.

[0073] After watching the quantized transform coefficients to form a one-dimensional vector, the module 56 statistical statistically encoding encodes the vector of quantized transform coefficients. For example, the module 56 statistical coding can perform a context-adaptive statistical coding such as CABAC, CAVLC, or another method of statistical coding. After statistical encoding via module 56 statistical coding the encoded bit stream can be transmitted to the video decoder, such as decoder 30 video, or archived for later transmission or retrieval.

[0074] to perform a context-adaptive statistical coding module 56 statistical coding assigns Konteks� on each factor according to the context model, which can include, for example, whether the values of neighboring coefficients different from zero. Module 56 statistical encoding defines the encoding process for the coefficient associated with the assigned context in the context model. Module 56 statistical coding then statistically encodes the coefficients based on the assigned contexts. For example, in the case of CABAC module 56 statistical coding can determine the probability score for the value (e.g. 0 or 1) of the coefficient associated with the assigned context in the joint context model. Module 56 statistical coding then updates the probability score associated with the assigned context in the context model, on the basis of the actually coded value of this coefficient.

[0075] Typically, the encoder 20 video maintains a separate context models for each of the different sizes of the block TU, supported by an implemented video compression standard. For the HEVC standard additional dimensions of unit conversion, for example, 32x32 up to 128x128, have been proposed to improve the efficiency of video encoding, but these additional dimensions TU also lead to increased memory and computing requirements to support context model for each of the additional�'s the size of the unit conversion. In some cases, the large size can use TU more contexts, which can lead to increased memory and computational demand to support the increased number of contexts for larger sizes TU.

[0076] According to the methods of the present invention, the module 56 statistical coding may be configured to perform statistical coding coefficients of video using a joint context model shared between units conversion having different sizes. These methods are mainly describes about the method of statistical coding CABAC. In some cases, however, these methods can also be applied to other context-adaptive methods of statistical encoding. Sharing the joint context model shared between two or more sizes conversion blocks can reduce the amount of memory needed to store contexts and probabilities on the encoder 20 video. In addition, the joint use of the joint context model may also reduce the computational cost of maintaining context models on the encoder 20 video, including reset of all context models at the beginning of the video clippings. In the case of CABAC, these methods can also reduce the cost of computing continuous Obnovlenie probability context models based on actual coded values of the coefficients.

[0077] according to the present invention, the module 56 statistical coding may maintain a joint context model shared between units conversion, having different sizes, and select contexts for coefficients associated with one of the transformed blocks according to the joint context model. Module 56 statistical coding can then statistically coding the significant coefficients within the transformed block based on the selected contexts. As an example, the joint context model may be shared between units conversion, having a first size 32x32, and blocks conversion having a second size 16x16. In some cases, more than two size conversion blocks can share the same joint context model. In one example, the joint context model may be combined with contextual model of cards of importance for the conversion units. In other examples, the joint context model may be associated with other information encoding or syntax elements. The CABAC encoding process using a joint context model, described in more detail with reference to Fig. 5.

[0078] In one example, the module 56 to statistical�of donovania can maintain a joint context model, shared by unit TU having the first size with coefficients that are zeroed out to generate a block of the remaining coefficients, and TU, originally having the second size. In some cases, the remaining block of coefficients may have a size equal to the second size. For example, when the high frequency coefficients are set to zero from TU first size, the coefficients included in the block of the remaining coefficients of the second size, have similar statistics to the probability that the coefficients included in TU originally of the second size. In this case, when the remaining block of coefficients of a second size generated by zeroing the coefficients of the TU originally of the first size, the module 56 statistical coding may select contexts for coefficients of a block of the remaining coefficients according to the joint context model. Module 56 statistical coding then statistically encodes significant coefficients in the block of the remaining coefficients based on the selected contexts. In the case of CABAC module 56 statistical coding also updates the probability estimate associated with a selected context in the joint context model based on actual coded values of the coefficients.

[0079] In another example, module 5 statistical coding may maintain a joint context model, shared the first TU having the first size and the second TU having the second size. In some cases, the factors included in the first TU having the first size, may have similar statistics to the probability that the coefficients included in the second TU having a second size, even without zeroing high frequency coefficients in the first TU. This is possible because the high-frequency coefficients can represent such a small residual video data that the impact on the probability statistics of neighboring coefficients for statistical coding is negligible. In this example, the module 56 statistical coding may select contexts for coefficients in the block TU from one of the first and second size according to the joint context model. Module 56 statistical coding then statistically encodes significant coefficients in the block TU based on the selected contexts. In the case of CABAC module 56 statistical coding can then update the probability estimate associated with a selected context in the joint context model based on actual coded values of the coefficients.

[0080] the Module 56 statistical coding may also statistically encode syntax elements indicating the motion vectors and other prediction information �La encoded video block. For example, the module 56 statistical coding can statistically encode syntax elements indicating the significance map, i.e. a map of ones and zeros indicating the position of the significant coefficients in the TU using the methods described in the present invention. Module 56 statistical coding can also design the header information that includes the corresponding syntax elements generated by the module 44 motion compensation, for transmission in an encoded bit stream. The encoder 20 video can statistically encode syntax elements indicating information of the video block, including block sizes of CU, PU and TU, and information of the motion vector for predicting in internal mode. For statistical coding of syntax elements module 56 statistical coding may perform CABAC through binarization of the syntax elements into one or more binary bits, and selecting contexts for each bit according to the context model.

[0081] the Module 58 of the inverse quantization module and inverse transformation 60 apply inverse quantization and inverse transformation, respectively, to reconstruct the residual block in the pixel area for later use as a reference block of the reference frame. The module 62 of the summation sums were renewed� residual block to the prediction block, generated by the module 44 motion compensation to generate a reference block for storage in the memory 64 of the support frame. The reference block may be used by the module 42 motion estimation module 44 motion compensation in the reference block to internally predict the block in a subsequent video frame.

[0082] Fig. 3A and 3B are conceptual diagrams respectively illustrating square and rectangular areas of the remaining blocks of coefficients having the second size in the transform block having the first size. At the conceptual illustration in Fig. 3A and 3B, the various rectangles represent the transform coefficients in the block TU after the transformation is applied. The coefficients in hatching areas contain the remaining transform coefficients, and the coefficients not included the shaded region (i.e., white or dark rectangles) contain the coefficients that have been set to zero during the two-dimensional transformation.

[0083] As described above, methods according to the present invention reduces the requirements intermediate buffering for large size TU, for example, 32x32 up to 128x128, by zeroing high frequency of the subset of transform coefficients included in TU of the first size, after each direction of two-dimensional pre�fatality. Thus, the module 52 conversion according to Fig. 2 may generate the block of the remaining coefficients in the block TU, which has a second size, smaller than the first size of the TU.

[0084] the Process of zeroing contains the setting values of the subset of transform coefficients in the block TU is equal to zero. The transform coefficients that are zeroed are not evaluated or rejected; instead, reset the transform coefficients are simply set to zero and have no meaning to save or encoding. According to the present invention zeroed conversion factors are the high-frequency transform coefficients relative to the remaining transform coefficients in the TU. High-frequency transform coefficients represent the residual video data that correspond to very small pixel differences between the block of video that needs to be encoded and the prediction block. High-frequency transform coefficients, therefore, may contain such small residual video data that setting these values equal to zero has a negligible effect on the quality of the decoded video.

[0085] Fig. 3A illustrates TU 70 having the first size is 16x16, and the block 74 of the remaining coefficients, with the final square area�ü second 8x8 block TU 70. The size and shape of the block 74, the remaining coefficients can be selected based on the requirements of the complexity of the encoding for the encoding process. In this example, the module 52 conversion according to Fig. 2 may be configured to generate the block 74 of the remaining coefficients with a square area of size 8x8 block TU 70 original size 16x16. To generate the block 74 of the remaining coefficients, the module 52 conversion can reset more than half of the high-frequency coefficients after applying each direction, i.e., rows and columns, two-dimensional transformations. In other cases, the module 52 can be configured to reset a larger or smaller subset of coefficients depending on the requirements of the complexity of the encoding for the encoding process.

[0086] the First module 52 can apply a one-dimensional transform to the rows of the residual video data in TU 70, and reset the subset (in this case, half) of the intermediate transform coefficients obtained from the transform. In the illustrated example of Fig. 3A remaining intermediate transform coefficients included in a block 73, the remaining intermediate coefficients (i.e., the shaded blocks in TU 70), which have a rectangular area 16x8 equal to half the original size in 16x16 TU 70. Zeroed Sain�boron (i.e., the white blocks in TU 70) can comprise the coefficients with the values of the frequencies that are higher than the coefficients within the block 73 remaining intermediate coefficients from TU 70. In the illustrated example, the module 52 conversion nullifies half of the coefficients with 8 the highest frequency values in each row TU 70. This process of resetting causes the unit 73 remaining intermediate coefficients with a rectangular region in 16x8 block TU 70. In other examples, the block 73 remaining intermediate coefficients may have a different size or shape. The module 52 can clear half of the coefficients with the highest frequency among all coefficients in the TU 16x16 70. This process of nullification can lead to stored intermediate block of coefficients with a triangular region in the upper left corner in TU 70.

[0087] By zeroing half of intermediate transform coefficients obtained from the conversion in the first direction, the encoder 20 video only required to buffer the coefficients within the block 73 remaining intermediate coefficients before applying the transform in the second direction. The coefficients zeroed within the subset (i.e., the white blocks in TU 70) have no significance for the conservation, conversion or encoding. Thus, �ti methods can reduce the requirements intermediate buffering when performing a two-dimensional transformations. This can be especially useful for large sizes conversion unit, for example, 32x32 up to 128x128, which have been proposed for HEVC standard.

[0088] After the buffering module 52 conversion can then apply the one-dimensional transformation to the remaining columns of intermediate transform coefficients in the block 73 remaining intermediate coefficients, and reset the subset (in this case half), transform coefficients obtained from the transform. In the illustrated example of Fig. 3A the remaining transform coefficients included in a block 74, the remaining coefficients (i.e., marked by hatching blocks in TU 70), which have a square area of size 8x8, equal to one-fourth its original size in 16x16 TU 70. Reset to zero a subset (i.e., not marked by shading the squares in the block 73 remaining intermediate coefficients) may include coefficients with the values of the frequencies that are higher than the coefficients in the block 74, the remaining coefficients from TU 70. In the illustrated example, the module 52 conversion nullifies half of the coefficients with 8 the highest frequency values in each column of the block 73 remaining intermediate coefficients. In other examples, the module 52 can clear half of the coefficients with the highest frequency among all the friction coefficient close to�tov in block 73 of the remaining intermediate coefficients 16x8. In any case, the zeroing process leads to the block 74 of the remaining coefficients with a square 8x8 region in the block TU 70.

[0089] Fig. 3B illustrates TU 76, having a first size 16x16 and block 78 of the remaining coefficients, with the final rectangular area of the second size 4x16 block TU 76. The size and shape of the block 78, the remaining coefficients can be selected based on the requirements of the complexity of the encoding for the encoding process. More specifically, the final rectangular area of the block 78, the remaining coefficients can be selected on the basis of at least one of the internal coding of the template view and the position of the last significant coefficient for the block 78 of the remaining coefficients.

[0090] In the illustrated example of Fig. 3B, the module 52 can be configured to generate a block 78 of the remaining coefficients with a rectangular region of size 4x16 block TU 76 original size 16x16. Module 52 conversion may first be applied to TU 76 in the direction of the shorter side (e.g., columns) of the final rectangular area of block 78 of the remaining coefficients. To generate a block 78 of the remaining coefficients, the block 52 of the transformation can be reset three-quarters of coefficients after applying the two-dimensional transformation in the first direction (e.g.�p, columns). In other cases, the module 52 can be configured to reset to a larger or smaller subset of coefficients depending on the requirements of the complexity of the encoding for the encoding process.

[0091] When a rectangular area is selected for the remaining block of coefficients, the methods can further reduce the requirements of intermediate buffering by first applying a one-dimensional transform in the direction of the shorter side (that is, less the remaining transform coefficients) of a rectangular area. Thus, the encoder 20 video can buffer less than half of the intermediate transform coefficients before applying the one-dimensional transform in the direction of the longer sides of the rectangular area. In the illustrated example of Fig. 3B, the height (H) of the final rectangular area of block 78 of the remaining coefficients is smaller than the width (W) of the rectangular area thus less intermediate transform coefficients to be retained in the vertical direction. Module 52 conversion can therefore first apply the transformation to the columns TU 76 so that the encoder 20 video can buffer less than half (in this case, one quarter) of intermediate transform coefficients before primegenerator to rows TU 76.

[0092] More specifically, the module 52 can apply a one-dimensional transform to the columns of the residual video data in TU 76, and reset the subset (in this case three-quarters) of intermediate transform coefficients obtained from the transform. In the illustrated example of Fig. 3B, the remaining intermediate transform coefficients included in a block 77 of the remaining intermediate coefficients (i.e., the shaded blocks in TU 76), which have a rectangular area 4x16 equal to one-quarter its original size in 16x16 TU 76. Reset to zero a subset (i.e., the white blocks in TU 76) may include coefficients with the values of the frequencies that are higher than the coefficients in the block 77 remaining intermediate coefficients from TU 76. In the illustrated example, the module 52 converting nulls, three-quarters of the coefficients with 12 the highest frequency values in each column in TU 76. This process of resetting causes the unit 77 remaining intermediate coefficients with a rectangular region 4x16 block TU 76.

[0093] By zeroing three quarters of intermediate transform coefficients obtained from the conversion in the first direction, the encoder 20 video only required to buffer the coefficients in the block 77 remaining intermediate coefficients before applying the transform in the second direction�. The coefficients zeroed within the subset (i.e., the white blocks in TU 76) have no significance for the conservation, conversion or encoding. Thus, these methods can reduce the requirements intermediate buffering when performing a two-dimensional transformations. This can be especially useful for large sizes conversion unit, for example, 32x32 up to 128x128, which have been proposed for HEVC standard.

[0094] After the buffering module 52 conversion can then apply the one-dimensional transform to the rows of coefficients in the block 77 remaining intermediate coefficients. In this example, the module 52 conversion may not reset any of the transform coefficients obtained from the conversion, as TU 76 was already zeroed to one quarter its original size 16x16. In the illustrated example of Fig. 3B, the remaining transform coefficients included in a block 78 of the remaining factors (i.e., marked by hatching blocks in TU 76), which have the same rectangular area 4x16, and the block 77 remaining intermediate coefficients. The zeroing process leads to a block 78 of the remaining coefficients with a rectangular region 4x16 block TU 70.

[0095] Fig. 4 is a block diagram illustrating an exemplary video decoder that may implement the methods for statistical decode�the unit coefficients of the video using a joint context model. In the example of Fig. 4 decoder 30 video includes a module 80 statistical decoding module 81 prediction module 86 of the inverse quantization module 88 reverse conversion module 90 summation and memory 92 reference frames. Module 81 prediction includes a module 82 motion compensation module and 84 internal predictions. The decoder 30 videos, in some instances, can perform pass decoding, in General, return-to-pass encoding, is described relative to the encoder 20 video (Fig. 2).

[0096] During the decoding process the decoder 30 video receives the encoded video bitstream that represents encoded video frames or cut-and syntax elements that represent information encoding from the encoder 20 video. The module 80 statistical statistically decoding decodes a stream of binary signals to generate quantized transform coefficients within the TU. For example, the module 80 statistical decoding can perform a context-adaptive statistical decoding, such as CABAC, CAVLC, or another method of statistical coding. The module 80 statistical decoding also statistically decodes syntax elements, including a map of significance, that is, a map of ones and zeros indicating positioner�Yoo significant coefficients in TU using the methods described in the present invention. The module 80 statistical decoding can also statistically to decode the motion vectors and other syntax elements of forecasting.

[0097] to perform a context-adaptive statistical decoding module 80 statistical decoding assigns a context to each encoded coefficient, represented in the bit stream, according to the context model, which can correspond to, for example, whether the value of the previously decoded neighboring coefficients different from zero. The module 80 statistical decoding also defines the encoding process for the encoded coefficient associated with the assigned context in the context model. The module 80 statistical decoding then statistically decodes the coefficients based on the assigned contexts. In the case of CABAC module 80 statistical decoding determines the estimated probability for the value (e.g. 0 or 1) of the encoded coefficient associated with the assigned context in the context model. The module 80 statistical decoding then updates the probability score associated with the assigned context in the context model, based on the actual decoded values of this coefficient.

[0098] Typically, the decoder 30 V�SW must maintain a separate context models for each of the different sizes of the block TU supported by the implemented video compression standard. For the HEVC standard additional dimensions of unit conversion, for example, 32x32 up to 128x128, have been proposed to improve the efficiency of video encoding, but additional sizes TU also lead to increased memory and computing requirements to support context model for each of the additional size of the unit conversion.

[0099] According to the methods of the present invention, the module 80 statistical decoding can be configured to perform statistical decoding of the coefficients of the video, using a joint context model shared between units conversion having different sizes. The methods are mainly described in terms of statistical decoding of CABAC way. In some cases, however, methods can also be applied to other context-adaptive methods of statistical encoding. Sharing the joint context model shared between two or more sizes conversion blocks can reduce the amount of memory needed to store contexts and probabilities at the decoder 30 video. In addition, the joint use of the joint context model may also reduce the computational cost of podderjana� context models in the decoder 30 video including installation in the initial state of all context models at the beginning of the video clippings. In the case of CABAC, these methods can also reduce the cost of computing continuously updated estimates of the probability of context models based on actual coded values of the coefficients.

[0100] according to the present invention, the module 80 statistical decoding can maintain a joint context model shared between units conversion, having different sizes, and select contexts for coefficients associated with one of the conversion units, according to the joint context model. The module 80 statistical decoding can then statistically decode significant coefficients associated with units conversion, based on the selected contexts. As an example, the joint context model may be shared between units conversion, having a first size 32x32, and blocks conversion having a second size 16x16. In some cases, more than two size conversion blocks can share the same joint context model. In one example, the joint context model may be combined with contextual model of cards of importance for the conversion units. In other� examples of the joint context model may be associated with other information encoding or syntax elements. The CABAC decoding process using the joint context model, described in more detail with reference to Fig. 6.

[0101] In one example, the module 80 statistical decoding can maintain a joint context model shared by a block TU having the first size with coefficients zeroed out to generate a block of the remaining coefficients, and TU, originally having the second size. In some cases, the remaining block of coefficients may have a size equal to the second size. For example, in this case, the module 80 statistical decoding can select contexts for coefficients of the remaining block of coefficients having a second size, block TU, originally having a first size, according to the joint context model. The module 80 statistical decoding then arithmetically decodes the coded significant coefficients in the block of the remaining coefficients in the block TU having the first size based on the selected contexts. In the case of CABAC module 80 statistical decoding also updates the probability estimate associated with the selected context in the joint context model based on actual decoded values of the coefficients.

[0102] In another example, the module 80 statistical decoding can support United to�textual model, shared the first TU having the first size and the second TU having the second size. In this example, the module 80 statistical decoding can select the coded contexts for coefficients associated with a TU of one of the first and second size according to the joint context model. The module 80 statistical decoding then statistically decodes the coded significant coefficients in the TU based on the selected contexts. In the case of CABAC module 80 statistical decoding can then update the probability estimate associated with the selected context in the joint context model based on actual decoded values of the coefficients. In any case, the module 80 statistical decoder sends the decoded quantized transform coefficients in blocks or TU of the first size or the second size to the module 86 of the inverse quantization.

[0103] the Module 86 inverse quantization returning quantum, that is, decanted, the quantized transform coefficients are decoded in blocks TU module 80 statistical decoding, as described above. The inverse quantization process may include use of a quantization parameter QP calculated by the encoder 20 video for each video unit or CU to determine a degree of quantization and, anal�indicating, the degree of inverse quantization that should be applied. Module 88 inverse transformation applies the inverse transform, e.g., an inverse DCT, an inverse integer transform, inverse wavelet transform, or a conceptually similar inverse transformation process to the transform coefficients within the block TU to form a residual video data in a pixel region.

[0104] In some examples, the module 88 inverse transformation can contain two-dimensional separable transform. Module 88 inverse transformation can be applied to two-dimensional transform to TU with the first application of the one-dimensional inverse transform to the rows of the transform coefficients in the block TU, and then apply the one-dimensional inverse transform to the columns of the transform coefficients in the block TU, or Vice versa. After applying the one-dimensional inverse transform in the first direction to the transform coefficients in the TU decoder 30 video buffering intermediate residual data for the application of one-dimensional inverse transform in the second direction. As described above, in the HEVC standard large size of the unit conversion, for example, 32x32 up to 128x128, have been proposed to improve the efficiency of video encoding. Large size TU, however, will also lead to Uwe�echenim requirements intermediate buffering for two-dimensional transformations.

[0105] to reduce the requirements intermediate buffering for large size TU, the methods described in the present invention may include zeroing high frequency of the subset of transform coefficients included in TU, 20 video encoder according to Fig. 2. Reset the transform coefficients in the block TU just set to zero and have no significance for the conservation, conversion or encoding. The module 80 statistical decoding therefore receives the encoded bit stream that represents the encoded coefficients associated with the remaining block of coefficients having the second size in the block TU, originally having the first size. The module 80 statistical decoding decodes the coefficients in the block of the remaining coefficients in the block TU having the first size. TU then includes the coefficients in the block of the remaining coefficients of the second size, and zeros, which represent the remaining coefficients within the TU.

[0106] Thus, the process of zeroing out transform coefficients in the encoder 20 video can also reduce requirements for intermediate buffering for large size TU when performing the inverse transform in the decoder 30 video. As an example, the module 88 of the inverse transformation can apply one-dimensional inverse �preobrazovanie in the first direction, for example, line by line, to the transform coefficients of the remaining block of coefficients with a size of 16x16 block TU having a size of 32x32. After inverse transformation of the row decoder 30 video may only be necessary to buffer the intermediate residual data converted from the coefficients in the block of the remaining coefficients, which contains only half of TU, i.e. the coefficients 32x16. Module 88 inverse transformation can then apply the one-dimensional inverse transform in the second direction, for example, by column, to intermediate residual data in the TU. Thus, the module 88 inverse transformation can generate initial TU size 32x32 by including residual data remaining in the block of coefficients with a size of 16x16, and adding zeroes to represent the residual data in TU.

[0107] the statistical Module 80 also transmits the decoding the decoded motion vectors and other syntax elements of prediction module 81 predictions. The decoder 30 video may receive the syntax elements at the level of video block prediction, the block-level video encoding, video clippings, the level of a video frame and/or the video sequence level. When a video frame is encoded as internally encoded frame, the module 84 internal prediction module fredsgatan generate data predictions for video blocks of the current video frame on the basis of data from previously decoded blocks of the current frame. When a video frame is encoded as externally encoded frame, the module 82 to the motion compensation module 81 generates a prediction blocks of the prediction video blocks of the current video frame based on the decoded motion vectors taken from module 80 statistical decoding. The prediction blocks can be generated on one or more reference blocks of the reference frame stored in the memory 92 of the support frames.

[0108] the Module 82 motion compensation determines prediction information for the block of video that needs to be decoded by parsing the motion vectors and other syntax predictions, and uses the prediction information to generate prediction blocks for the current decoded block of video. For example, the module 82 motion compensation uses some of the received syntax elements to determine the dimensions of the CU blocks used to encode the current frame, split information that describes how each CU of a frame is partitioned, modes indicating how each division is encoded (e.g., using internal or external predictions), the type of external clippings predictions (for example, B tenderloin, sirloin, or tenderloin GPB), the commands to build the list of reference frames, interpolation filters related reference frame�, the motion vectors for each block of a video frame, the parameter values of the video associated with the motion vectors, and other information to decode the current video frame.

[0109] the Decoder 30 video forms a decoded video block by summing the residual blocks from module 88 inverse transformation with the corresponding prediction blocks generated by the module 82 motion compensation. The module 90 summation represents the component or components that perform this operation totalize. If desired, the deblocking filter can also be applied to filter the decoded blocks to remove blockiness artifacts into squares. The decoded video blocks are then stored in the reference frames in the memory 92 of the support frame, which provides reference blocks of the reference frame for subsequent motion compensation. The memory 92 of the support frame also produces decoded video for presentation on the display device such as display device 32 of Fig. 1.

[0110] Fig. 5 is a block diagram illustrating an example of a module 56 statistical coding according to Fig. 2, configured to select contexts for coefficients of the video according to the joint context model. Module 56 statistical encoding includes a module 94 context�CSO modeling, module 99 arithmetic coding, and storage 98 joint context model. As described above, methods according to the present invention is directed to performing statistical coding coefficients of video using a joint context model shared between units conversion having different sizes. In particular, the methods described herein relative to the CABAC encoding process.

[0111] the Module 56 statistical encoding supports the joint context model shared between units conversion, having different sizes, in store 98 the joint context model. As one example, the storage 98 the joint context model may store the joint context model shared by a block TU having the first size with coefficients zeroed out to generate the remaining block of coefficients having a second size, and the unit TU, originally having the second size. As another example, the storage 98 the joint context model may store the joint context model shared by a block TU having the first size, and TU having the second size. In some cases, the first size may include 32x32, and the second size may contain 16x16.

[0112] the Module 94 contextual model�the hardware takes the transform coefficients, associated with TU or the first size or the second size, which were scanned into the vector for statistical coding. The module 94 contextual modelling then assigns a context to each of the coefficients of the TU based on the values of previously coded neighboring coefficients in the TU according to the joint context model. More specifically, the module 94 context modeling can assign contexts according to whether the value of the previously coded neighboring coefficients different from zero. Appointed as the context may refer to the index of the context, such as context (i), where i=0, 1, 2,..., N, in the joint context model.

[0113] Once the context is assigned to the coefficient module 94 context modeling can determine an estimate of the likelihood for the value (e.g. 0 or 1) of the coefficient associated with the assigned context in the joint context model. Each different context index associated with the estimated probability for the value of the coefficient with index context. The probability estimation is performed for CABAC via module 94 context modeling can be based on a managed table module evaluation using finite state machine (FSM). For each context FSM supports an associated probability estimation, tracking past values �of ontext and providing current status as the best estimate of the probability of that specified coefficient has a value of 0 or 1. For example, if the state probabilities vary from 0 to 127, 0 may mean that the probability of a coefficient having a value of 0 equal to 0,9999, and the state 127 may mean that the probability of a coefficient having a value of 0 equal to 0.0001.

[0114] the Module 99 arithmetic coding arithmetically encodes the coefficient based on a specific probability estimate of the coefficient associated with the assigned context. Thus, the module 99 arithmetic coding generates a coded bit stream, which is arithmetically encoded coefficients associated with a TU or the first size or the second size according to the joint context model.

[0115] After encoding module 99 arithmetic coding takes the actual coded value of the coefficient back to the module 94 context modeling to update the estimated probability associated with the assigned context in the joint context model store 98 the joint context model. The module 94 performs contextual modelling update the probability for the assigned context in the joint context model, moving between the States of probability. For example, if the actual encoded value of the coefficient is 0, �the being drawn in, what is the value of the coefficient is 0, can be increased, changing to a lower state. Through continuous updating of estimates of the joint context model to reflect the actual coded values of the coefficients, estimates of the probability of future coefficients assigned to the same contexts in the joint context model may be more accurate and lead to further reduced coding bits module 99 arithmetic coding.

[0116] In the first example, the storage 98 the joint context model may store the joint context model shared by a block TU having the first size with coefficients zeroed out to generate the remaining block of coefficients having a second size, and the unit TU, originally having the second size. For example, store 98 the joint context model may maintain a joint context model shared by the remaining blocks of coefficients with a size of 16x16 blocks TU, originally having the size of 32x32, and TU, initially with a size of 16x16.

[0117] the First coefficient in the block of the remaining coefficients of size 16x16 in the first TU size 32x32 can be assigned context (5) in the joint context model shared by a block TU size 32x32 with ratio, low gas consumpti�nami, set to zero to generate a block of the remaining coefficients of size 16x16, and TU 16x16. The module 94 context simulation then determines an estimate of the likelihood for the value of the first coefficient associated with the assigned context (5) in the joint context model, and updates the probability score associated with the assigned context (5) in the joint context model based on actual coded values of the first coefficient. The second coefficient in the second TU 16x16 you can also assign the same context (5) in the joint context model, and the coefficient block of the remaining coefficients in the first TU. The module 94 context simulation then determines an estimate of the likelihood for the value of the second coefficient associated with the assigned context (5) in the joint context model, and updates the probability score associated with the same assigned context (5) in the joint context model based on actual coded values of the second coefficient.

[0118] In the second example, the storage 98 the joint context model may store the joint context model shared by a block TU having the first size, and a block TU having the second size. For example, the storage 98 context of the United �dressed can store the joint context model, shared blocks TU having a size of 32x32 and 16x16. The first coefficient in the first TU size 32x32 can be assigned context (5) in the joint context model shared between blocks TU size 32x32 and 16x16. The module 94 context simulation then determines an estimate of the likelihood for the value of the first coefficient associated with the assigned context (5) in the joint context model, and updates the probability score associated with the assigned context (5) in the joint context model based on actual coded values of the first coefficient. The second coefficient in the second TU 16x16 you can also assign the same context (5) in the joint context model, and the coefficient in the first TU. The module 94 context simulation then determines an estimate of the likelihood for the value of the second coefficient associated with the same assigned context (5) in the joint context model, and updates the probability score associated with the same assigned context (5) in the joint context model based on actual coded values of the second coefficient.

[0119] Fig. 6 is a block diagram illustrating an example of a module 80 statistical decoder configured to select Kontek�you for the coefficients of the video according to the joint context model. The module 80 statistical decoding includes a module 102 arithmetic coding, a context module 104 modeling and repository 106 the joint context model. As described above, methods according to the present invention is directed to perform statistical decoding of the coefficients of the video, using a joint context model shared between units conversion having different sizes. In particular, the methods described herein relative to the CABAC decoding process. The module 80 statistical decoding can work way, essentially opposite to that for the module 56 statistical coding according to Fig. 5.

[0120] the Module 80 statistical decoding supports joint context model shared between units conversion, having different sizes, in the storage 106 of the joint context model. The joint context model is stored in storage 106 of the joint context model is essentially similar to the joint context model stored in the vault 98 joint context model module 56 statistical coding according to Fig. 5. As one example, the repository 106 the joint context model may store the joint context model shared by ispolzuemogo TU having the first size with coefficients zeroed out to generate the remaining block of coefficients having a second size, and the unit TU, originally having the second size. As another example, the repository 106 the joint context model may store the joint context model shared by a block TU having the first size, and TU having the second size. In some cases, the first size may include 32x32, and the second size may contain 16x16.

[0121] the Module 102 arithmetic decoder receives an encoded bit stream that represents the encoded transform coefficients associated with a block or TU of the first size or the second size. The module 102 arithmetic decoding decodes the first coefficient included in the bitstream. The context module 104 simulation then assigns a context to the subsequent coded coefficient included in the bitstream, based on the value of the first decoded coefficient. Similarly, the context module 104 simulation assigns a context to each of the coded coefficients, included in the bitstream, based on the values of previously decoded neighboring coefficients of the TU according to the joint context model. More specifically, the context module 104 simulation can� to assign contexts according to whether the value of the previously decoded neighboring coefficients different from zero. Appointed as the context may refer to the index of the context in the joint context model.

[0122] Once the context is assigned to the coded coefficient, the context module 104 simulation to determine the probability score for the value (e.g. 0 or 1) of the encoded coefficient associated with the assigned context in the joint context model. Each different context index associated with the estimated probability. The context module 104 simulation gives some estimation of the probability of the coded coefficient back to the module 102 arithmetic decoding. The module 102 arithmetic decoding is then arithmetically decodes the encoded coefficient based on a specific probability estimate of the coefficient associated with the assigned context. Thus, the module 102 arithmetic decoding generates the decoded transform coefficients in the TU or the first size or the second size according to the joint context model.

[0123] After the decoding module 102 arithmetic decoding delivers the actual decoded value of the coefficient to the context module 104 simulation to update the assessment of the likelihood of associerad�nnow with the assigned context in the joint context model in the repository 106 the joint context model. Through continuous updating of estimates of the joint context model to reflect the actual decoded values of the coefficients, estimates of the probability of future coefficients assigned to the same contexts in the joint context model may be more accurate and lead to further reduced decoding bits by the module 102 arithmetic decoding.

[0124] In the first example, the repository 106 the joint context model may maintain a joint context model shared by a block TU having the first size with coefficients zeroed out to generate the remaining block of coefficients having a second size, and the unit TU, originally having the second size. For example, the repository 106 the joint context model may maintain a joint context model shared by the remaining block of coefficients with a size of 16x16 block TU, originally having the size of 32x32, and TU, initially with a size of 16x16.

[0125] the First encoded coefficient associated with the block of the remaining coefficients of size 16x16 in the first TU size 32x32, can be assigned context (5) in the joint context model shared by a block TU size 32x32 with coefficients zeroed out to genereration remaining coefficients, with a size of 16x16, and TU 16x16. The context module 104 simulation then determines an estimate of the likelihood for the value of the first coded coefficient associated with the assigned context (5) in the joint context model, and updates the probability score associated with the assigned context (5) in the joint context model based on actual decoded value of the first coefficient. The second encoded coefficient associated with the second block TU 16x16, can be assigned to the same context (5) in the joint context model, and the first encoded coefficient associated with the block of the remaining coefficients in the first TU. The context module 104 simulation then determines the score probabilities for the values of the second encoded coefficient associated with the same assigned context (5) in the joint context model, and updates the probability score associated with the same assigned context (5) in the joint context model based on actual decoded value of the second coefficient.

[0126] In the second example, the storage 106 of the joint context model may maintain a joint context model shared by a block TU having the first size, and a block U, having the second size. For example, the repository 106 the joint context model may store the joint context model shared blocks TU having a size of 32x32 and 16x16. The first encoded coefficient associated with the first block TU size 32x32, can have an assigned context (5) in the joint context model shared by a block TU 32x32, and unit TU of size 16x16. The context module 104 simulation then determines an estimate of the likelihood for the value of the first coded coefficient associated with the assigned context (5) in the joint context model, and updates the probability score associated with the assigned context (5) in the joint context model based on actual decoded value of the first coefficient. The second coded coefficient associated with the second block TU 16x16, can be assigned to the same context (5) in the joint context model, and the first encoded coefficient associated with the first unit TU. The context module 104 simulation then determines the score probabilities for the values of the second encoded coefficient associated with the same assigned context (5) in the joint context model, and updates the probability estimation, associated�th with the same assigned context (5) in the joint context model, on the basis of the actual decoded value of the second coefficient.

[0127] Fig. 7 is a sequence of operations illustrating an exemplary operation of the statistical encoding and decoding of the coefficients of the video, using a joint context model shared between the first conversion unit having the first size and the second conversion unit having the second size. The illustrated operation is described in relation to module 56 statistical coding according to Fig. 5 in the encoder 20 video according to Fig. 2 and module 80 statistical decoding according to Fig. 6 the decoder 30 video according to Fig. 3, although other devices may implement such methods.

[0128] In the illustrated operation, the module 56 statistical encoding in the encoder 20 video module and 80 statistical coding in the decoder 30 video can maintain a joint context model shared by a block TU having the first size, and a block TU having the second size. In this case, the coefficients included in the first TU having the first size, for example, 32x32, may have similar statistics to the probability that the coefficients included in the second TU of the second size, for example, 16x16, even without zeroing high frequency coefficients in the first TU. This may be possible when high frequency to�efficiency represent such a small residual video data, what impact on the probability statistics of neighboring coefficients for statistical coding is negligible.

[0129] In one case, the encoder 20 video can use the module 52 conversion, to convert the residual video data in the transform coefficients in the block TU having the first size (120). In another case, the encoder 20 video can use the module 52 conversion, to convert the residual video data in the transform coefficients in the block TU having a second size (121). Regardless of whether TU first size or a second size, the methods according to the present invention allow the module 56 statistical statistically encoding to encode the coefficients in the block TU according to the same joint context model. These methods therefore reduce the amount of memory needed to store contexts and probabilities on the encoder 20 video, and reduce the computational cost of maintaining context models on the encoder 20 video.

[0130] the Module 94 context simulation in module 56 statistical selects the encoding context for each coefficient in the block TU according to the joint context model shared by the blocks of the TU having the first size and the second size (122). More specifically, the module 94 context modeling assigns a context to a specified ratio, low gas consumpti�HT unit TU based on the values of previously coded neighboring coefficients of this block TU according to the joint context model. The module 94 context modeling can then determine an estimate of the likelihood for the value (e.g. 0 or 1) of the coefficient associated with the assigned context in the joint context model in the repository 98 joint context model. Module 99 arithmetic coding is then arithmetically encodes the coefficient based on the selected context for this factor (124).

[0131] After encoding module 99 arithmetic coding takes the actual coded values of the coefficients back to the module 94 context modeling. The module 94 context modeling can then update the estimate of the likelihood of the joint context model based on actual coded values of the coefficients in the block or TU of the first size or the second size (126). The encoder 20 transmits the video stream of bits representing the encoded coefficients associated with a block or TU of the first size or the second size, the decoder 30 video (128).

[0132] the Decoder 30 video can take a stream of bits that represents the encoded coefficients associated with the block TU, or having the first size or the second size (130). Regardless of whether TU first size or a second size, the methods according to the present invention allow the module 80 statistical decoding statistically �to actinovate coefficients, associated with the unit TU, on the basis of the same joint context model. These methods therefore can reduce the amount of memory needed to store contexts and probabilities at the decoder 30 video, and reduce the computational cost of maintaining context models in the decoder 30 video.

[0133] the Module 104 context simulation in module 80 statistical decoding selects a context for each of the encoded coefficient associated with the unit TU, according to the joint context model shared by the blocks of the TU having the first size and the second size (132). More specifically, the module 104 context modeling can assign a context to the subsequent coded coefficient associated with the unit TU, based on the values of previously decoded neighboring coefficients of the TU according to the joint context model. The context module 104 simulation can then determine an estimate of the likelihood for the value (e.g. 0 or 1) of the encoded coefficient associated with the assigned context in the joint context model in the repository 106 the joint context model. The context module 104 simulation gives some estimation of the probability associated with the selected context for coded factor back to the module 102 arithmetices�CSOs decoding. The module 102 arithmetic decoding is then arithmetically decodes a coded coefficient in the block or TU of the first size or the second size based on the selected context (134).

[0134] After decoding, the module 102 arithmetic decoding delivers the actual decoded values of the coefficients to the module 104 context modeling. The context module 104 simulation can then update the estimate of the likelihood of the joint context model based on actual decoded values of the coefficients in the block or TU of the first size or the second size (136). In one case, the decoder 30 can use video module 88 inverse transform inverse transform coefficients in the block TU having the first size, the residual video data (138). In another case, the decoder 30 can use video module 88 inverse transform inverse transform coefficients in the block TU having a second size, the residual video data (139).

[0135] Fig. 8 is a sequence of operations illustrating an exemplary operation of the statistical encoding and decoding of the coefficients of the video, using a joint context model shared between the first conversion unit having the first size with coefficients zeroed out to generate b�OK the remaining coefficients, having the second size and the second conversion unit having the second size. The illustrated operation is described in relation to module 56 statistical coding according to Fig. 4 20 video encoder according to Fig. 2 and module 80 statistical decoding according to Fig. 5 the decoder 30 video according to Fig. 3, although other devices may implement such methods.

[0136] In the illustrated operation, the module 56 statistical encoding in the encoder 20 video module and 80 statistical coding in the decoder 30 video can maintain a joint context model shared by a block TU having the first size with the coefficient set to zero to generate the remaining block of coefficients having a second size, and the unit TU, which has the second size. In this case, the coefficients included in the block of the remaining coefficients having the second size, for example, 16x16, in the first block TU having the first size, for example, 32x32, can have similar statistics to the probability that the coefficients included in the second TU of the second size, for example, 16x16 pixels.

[0137] In one case, the encoder 20 video can use the module 52 conversion, to convert the residual video data in the transform coefficients in the block TU having the first size (140). The encoder 20 video resets a subset of the coefficients included in the first TU of polypropolene, to generate the remaining block of coefficients having the second size in the first TU (141). A subset of zero transform coefficients typically includes a high-frequency transform coefficients relative to the coefficients in the block of the remaining coefficients. High-frequency transform coefficients may contain such small residual video data that setting these values equal to zero has a negligible effect on the quality of the decoded video. In another case, the encoder 20 video can use the module 52 conversion, to convert the residual video data in the transform coefficients in the block TU having a second size (142).

[0138] Regardless of whether TU original first size or a second size, the methods according to the present invention allow the module 56 statistical statistically encoding to encode the remaining coefficients in the block TU according to the same joint context model. These methods therefore reduce the amount of memory needed to store the contexts and the probabilities of the encoder 20 and video to reduce the computational cost of maintaining context models on the encoder 20 video.

[0139] the Module 94 context simulation in module 56 statistical selects the encoding context for each remaining coefficient b�oke TU according to the joint context model, jointly used by the TU having the first size with coefficients zeroed out to the second size, and a block TU having a second size (144). More specifically, the module 94 context modeling assigns a context to the specified coefficient in the block of the remaining coefficients of the first block TU based on the values of previously coded neighboring coefficients of the block of the remaining coefficients according to the joint context model. The module 94 context modeling can then determine an estimate of the likelihood for the value (e.g. 0 or 1) of the coefficient associated with the assigned context in the joint context model store 98 the joint context model. Module 99 arithmetic coding is then arithmetically encodes the coefficient based on the selected context for the coefficient (146).

[0140] After encoding module 99 arithmetic coding takes the actual coded values of the coefficients back to the module 94 context modeling. The module 94 context modeling can then update the estimate of the likelihood of the joint context model based on actual coded values of the coefficients in the block of the remaining coefficients of the second block size in TU of the first size, or TU originally of the second dimension (148). The encoder 20 transmits video on�OK bits representing encoded coefficients associated with the block of the remaining coefficients in the block TU first size, or unit TU of the second size to the decoder 30 videos (150).

[0141] the Decoder 30 video can take a stream of bits that represents the encoded coefficients associated with the block of the remaining coefficients of the second block size in TU of the first size, or a block TU originally of the second size (152). Regardless of whether TU first size or a second size, the methods according to the present invention allow the module 80 statistical statistically decoding to decode the coefficients associated with the block TU on the basis of the same joint context model. These methods therefore reduce the amount of memory needed to store contexts and probabilities at the decoder 30 video, and reduce the computational cost of maintaining context models in the decoder 30 video.

[0142] the Module 104 context simulation in module 80 statistical decoding selects a context for each coefficient associated with a block of TU according to the joint context model shared by a block of TU having the first size with coefficients zeroed out to generate the remaining block of coefficients having a second size, and a block TU having a second size (154). �more specifically, the context module 104 modeling can assign a context to the subsequent coded coefficient associated with the block of the remaining coefficients of the first TU based on the values of previously decoded neighboring coefficients of the block of the remaining coefficients according to the joint context model. The context module 104 simulation can then determine an estimate of the likelihood for the value (e.g. 0 or 1) of the encoded coefficient associated with the assigned context in the joint context model store 106 the joint context model. The context module 104 modelling gives a certain probability associated with the selected context for coded factor back to the module 102 arithmetic decoding. The module 102 arithmetic decoding is then arithmetically decodes a coded coefficient in the block of the remaining coefficients in the block TU first size, or a TU of the second size based on the selected context (156).

[0143] After the decoding module 102 arithmetic decoding delivers the actual decoded values of the coefficients to the module 104 context modeling. The context module 104 simulation can then update the estimate of the likelihood of the joint context model based on actual dekodieren�x the values of the coefficients in the block of the remaining coefficients of the second block size in TU of the first size, or block TU originally of the second size (158). In one case, the decoder 30 can use video module 88 of the inverse transform for the inverse transformation of the coefficients of the remaining block of coefficients having the second size in the block TU having the first size, the residual video data (160). Thus, the module 88 inverse transformation can generate TU having the first size through the inclusion of a residual data block of the remaining coefficients having the second size, and adding zeros, representing the remaining residual data in TU. In another case, the decoder 30 can use video module 88 inverse transform inverse transform coefficients in the block TU having a second size, the residual video data (162).

[0144] In one or more examples, the functions described may be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, the functions may be stored on or transmitted as one or more instructions or code, by means of machine-readable media and executed based on hardware processing unit. Machine-readable media may include computer readable data carrier, which corresponds to m�carrier material, such as storage media or communication media including any medium that facilitates transfer of a computer program from one place to another, for example, according to the communication Protocol. In this method, computer readable media may generally correspond to (1) the tangible computer readable storage medium, which is neuraminyl, or (2) a communication medium, such as a signal or carrier. Storage media can be any available media that can be accessed by one or more computers or one or more processors to retrieve instructions, code and/or data structures for implementing the methods described in the present invention. The computer program product may include computer readable media.

[0145] By way of example, and not limitation, such computer readable media can include RAM, ROM, EEPROM, CD-ROM or other storage device for optical drives, storage device on magnetic disks or other magnetic storage devices, flash memory, or any other medium that can be used to store desired program code in the form of instructions or data structures and which can access the computer. In addition, any link to�currently properly referred to as machine-readable carrier. For example, if the instructions are transmitted from a website, server, or other remote source using a coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technologies such as infrared, radio and microwave radiation, these coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, radio and microwave radiation are included in the definition of medium. It should be understood, however, that the machine-readable storage media and data storage device does not include compounds, bearing, signals, or other time-based media, but instead focused on non-temporal, tangible storage media. Disk and disc, as used here, includes compact disc (CD), laser disc, optical disc, digital versatile disk (DVD), floppy disk and Blu-ray disc where disks (disks usually reproduce data magnetically, while discs (dicks) usually reproduce data optically with lasers. Combinations of the above should also be included in the scope of computer readable media.

[0146] the Instructions may be executed by one or more processors, such as one or more digital signal processors (DSP), General purpose microprocessors, special�fields of integrated circuit (ASIC), field programmable logic arrays (FPGA), or other equivalent integrated or discrete logic circuitry. Accordingly, the term "processor" as used here may refer to any of the preceding structure or any other structure suitable for implementing the methods described here. In addition, in some aspects, the functionality described herein may be provided within dedicated hardware and/or software modules configured for encoding and decoding, or embedded in a combined codec. In addition, methods can be fully implemented in one or more circuits or logic elements.

[0147] the Methods according to the present invention can be implemented in a wide variety of devices, including a wireless handset, an integrated circuit (IC) or a set of IC (e.g., microprocessor kit). Various components, modules, or blocks described in the present invention, in order to emphasize the functional aspects of devices configured to perform the disclosed methods, but not necessarily require realization by different hardware blocks. Instead, as described above, various units may be combined in block hardware codec or equipped to�leccia interactive hardware blocks, including one or more processors as described above, in conjunction with suitable software and/or hardware.

1. A method of encoding video data, comprising:

maintaining a plurality of context models for entropy coding of transform coefficients of video data, wherein the set of context models includes one or more context models, each for a different size units conversion, and at least one of the joint context model used for two or more dimensions units conversion;

the choice of the joint context model shared by the first unit of transformation, which has a first size and the second unit conversion, having a second size, for entropy coding of transform coefficients in one of the first units or second conversion units conversion, wherein the first size and the second size are different, and wherein each of the conversion units unit contains residual video data, including a plurality of blocks of transform coefficients;

the choice of contexts for transform coefficients associated with one of the first units or second conversion units conversion according to the joint context m�Delhi,
the choice of contexts for transform coefficients contains the destination context in the joint context model to a given one of the transform coefficients based on the values of previously encoded neighboring transform coefficients referred to one of the units of conversion and the assessment of probabilities for values of a specified one of the transform coefficients associated with the assigned context in the joint context model; and

entropy encoding of the transform coefficients referred to one of the conversion units using context-adaptive binary arithmetic coding (SAVAS) based on the selected contexts.

2. A method according to claim 1, wherein the joint context model contains the joint context model of the map of significance, further comprising:

the choice of contexts to map components of significance for transform coefficients associated with one of the first units or second conversion units conversion according to the joint context model; and

entropy encoding components of significance associated with said one conversion units based on the selected contexts.

3. A method according to claim 1, further comprising updating the probability estimate, AC�oneiromancy with an assigned context, in the joint context model based on actual coded values of transform coefficients of the first units conversion, having a first size and the second unit conversion, having the second size.

4. A method according to claim 1, wherein the method includes a method of decoding video data, the method further comprises:

the reception of the bit stream that represents the encoded transform coefficients associated with one of the first units conversion, having a first size or a second unit conversion, having a second size;

the choice of contexts for the encoded transform coefficients according to the joint context model; and

entropy decoding encoded transform coefficients in one of the conversion units based on the selected contexts.

5. A method according to claim 4, further comprising an inverse transform of the transform coefficients mentioned one of the first units conversion, having a first size or a second unit conversion, having a second size, the residual pixel values.

6. A method according to claim 1, wherein the method includes a method of encoding video data, the method further comprises:

transforming residual pixel values to transform coefficients in a CR�matters referred to one of the first units conversion,
having the first size or the second unit conversion, having a second size;

select contexts for coefficients of conversion referred to one of the conversion units according to the joint context model; and

entropy encoding of the transform coefficients referred to one of the conversion units based on the selected contexts.

7. A method according to claim 1, wherein the first translation unit for the first dimension contains the unit conversion 32×32, and in which the second translation units of the second size contains the unit conversion 16×16.

8. A method according to claim 1, wherein the selection of contexts according to the joint context model contains:

the purpose of context in the joint context model the first first conversion factor units conversion, having a first size, based on the values of previously encoded neighboring transform coefficients of the first units conversion;

the definition of the probability estimate for the value of the first conversion coefficient associated with the assigned context in the joint context model;

update the probability estimate associated with the assigned context in the joint context model based on actual coded values of the first conversion factor;

�oznaczenie the same context in the joint context model to the second second conversion factor units conversion,
having a second size, based on the values of previously encoded neighboring transform coefficients of the second unit conversion;

the definition of the probability estimate for the value of the second conversion coefficient associated with the assigned context in the joint context model; and

update the probability estimate associated with the assigned context in the joint context model based on actual coded values of the second conversion factor.

9. A method according to claim 1, further comprising selecting one of the one or more context models for entropy coding of transform coefficients in the unit of conversion, having a third size, the third size different from the first size and the second size.

10. A method according to claim 1, wherein entropy encoding the transform coefficients referred to one of the conversion units using SAVAS, contains the arithmetic coding of the given one of the transform coefficients based on a specific probability estimate for the value of one of the transform coefficients associated with the assigned context.

11. Device for encoding video, comprising:

a memory configured to store many�VA-context model for entropy coding the transform coefficients of the video data,
while many context models includes one or more context models, which each are used for different size units conversion, and at least one of the joint context model used for two or more dimensions units conversion; and

a processor configured for:

select the joint context model shared by the first unit of transformation, which has a first size and the second unit conversion, having a second size, for entropy coding of transform coefficients in one of the first units or second conversion units conversion, wherein the first size and the second size are different, and wherein each of the conversion units unit contains residual video data, including a plurality of blocks of transform coefficients,

selecting contexts for transform coefficients associated with one of the first units or second conversion units conversion according to the joint context model, wherein the processor is configured to assign a context in the joint context model to a given one of the transform coefficients based on the values of previously encoded neighboring transform coefficients referred to one of the units of conversion�the unit and determine an estimate of the likelihood values for a given one of the transform coefficients,
associated with the assigned context in the joint context model, and

entropy encode the transform coefficients referred to one of the conversion units using context-adaptive binary arithmetic coding (SAVAS) based on the selected contexts.

12. Device for encoding video according to claim 11, in which the joint context model contains the joint context model significance maps, wherein the processor is configured to:

to select the contexts to map components of significance for transform coefficients associated with one of the first units or second conversion units conversion according to the joint context model; and

entropy coding the significance map components associated with said one conversion units based on the selected contexts.

13. Device for encoding video according to claim 11, wherein the processor is configured to update the estimated probability associated with the assigned context in the joint context model based on actual coded values of transform coefficients of the first units conversion, having a first size and the second unit conversion, having the second size.

14. Device for encoding video according to claim 11, in which the device �of odoroki video contains a video decoding device,
in which the processor is configured to:

to take a stream of bits that represents the encoded transform coefficients associated with one of the first units conversion, having a first size or a second unit conversion, having a second size;

select contexts for the encoded transform coefficients according to the joint context model; and

entropy decode the encoded transform coefficients in one of the conversion units based on the selected contexts.

15. Device for encoding video according to claim 14, wherein the processor is configured to inverse transform the transform coefficients mentioned one of the first units conversion, having a first size or a second unit conversion, having a second size, the residual pixel values.

16. Device for encoding video according to claim 11, in which the device for encoding video contains the video encoding device in which the processor is configured to:

to convert the residual pixel values to transform coefficients within the mentioned one of the first units conversion, having a first size or a second unit conversion, having a second size;

select contexts for coefficients of conversion referred to one of �of Diniz conversion according to the joint context model;
and

entropy encode the transform coefficients referred to one of the conversion units based on the selected contexts.

17. Device for encoding video according to claim 11, in which the first unit converting the first dimension contains the unit conversion 32×32, and in which the second translation units of the second size contains the unit conversion 16×16.

18. Device for encoding video according to claim 11, wherein the processor is configured to:

to assign a context in the joint context model the first first conversion factor units conversion, having a first size, based on the values of previously encoded neighboring transform coefficients of the first units conversion;

to determine an estimate of the likelihood for the value of the first conversion coefficient associated with the assigned context in the joint context model;

to update the estimated probability associated with the assigned context in the joint context model based on actual coded values of the first conversion factor;

to assign the same context in the joint context model to the second second conversion factor units conversion having a second size, based on the values of previously encoded neighboring ratio, low gas consumpt�coefficients of second conversion units conversion;

to determine an estimate of the likelihood for the value of the second conversion coefficient associated with the assigned context in the joint context model; and

to update an estimate of the likelihood that is associated with the same assigned context in the joint context model based on actual coded values of the second conversion factor.

19. Device for encoding video according to claim 11, wherein the processor is configured to select one of these one or more context models for entropy coding of transform coefficients in the unit of conversion, having a third size, the third size different from the first size and the second size.

20. Device for encoding video according to claim 11, wherein the processor is configured for arithmetic encoding of a given one of the transform coefficients based on a specific probability estimate for the value of one of the transform coefficients associated with the assigned context.

21. Device for encoding video, comprising:

means for maintaining the plurality of context models for entropy coding of transform coefficients of video data, wherein the set of context models includes one or more contextual fashion�her
each for a different size units conversion, and at least one of the joint context model used for two or more dimensions units conversion;

the tool for choosing the joint context model shared by the first unit of transformation, which has a first size and the second unit conversion, having a second size, for entropy coding of transform coefficients in one of the first units or second conversion units conversion, wherein the first size and the second size are different, and wherein each of the conversion units unit contains residual video data, including a plurality of blocks of transform coefficients;

means for selecting contexts for transform coefficients associated with one of the first units or second conversion units conversion according to the joint context model, wherein the means for selecting contexts for transform coefficients includes means for assigning context in the joint context model to a given one of the transform coefficients based on the values of previously encoded neighboring transform coefficients referred to one of the conversion units and the means for determining the assessment of likely�STI values for a given one of the transform coefficients,
associated with the assigned context in the joint context model; and

means for entropy coding the transform coefficients referred to one of the conversion units using context-adaptive binary arithmetic coding (SAVAS), based on the selected contexts.

22. Device for encoding video according to claim 21, wherein the joint context model contains the joint context model of the map of significance, further comprising:

means for selecting contexts to map components of significance for transform coefficients associated with one of the first units or second conversion units conversion according to the joint context model; and

means for entropy coding the components on the card significance associated with said one conversion units based on the selected contexts.

23. Device for encoding video according to claim 21, further comprising means for updating the probability estimate associated with the assigned context in the joint context model based on actual coded values of transform coefficients of the first units conversion, having a first size and the second unit conversion, having the second size.

24. Device for encoding video according to claim 21 in which the device for encoding video contains a video decoding device,
further comprising:

means for receiving the stream of bits that represents the encoded transform coefficients associated with one of the first units conversion, having a first size or a second unit conversion, having a second size;

means for selecting contexts for the encoded transform coefficients according to the joint context model; and

means for entropy decoding the encoded transform coefficients in one of the conversion units based on the selected contexts.

25. Device for encoding video according to claim 24, further comprising means for inverse transformation of transform coefficients mentioned one of the first units conversion, having a first size or a second unit conversion, having a second size, the residual pixel values.

26. Device for encoding video according to claim 21, in which the device for encoding video contains the video encoding device, further comprising:

means for transforming residual pixel values to transform coefficients within the mentioned one of the first units conversion, having a first size or a second unit conversion, having a second size;

a means to select contexts for coefficients change�hardware mentioned one of the conversion units according to the joint context model;
and

means for entropy coding the transform coefficients referred to one of the conversion units based on the selected contexts.

27. Device for encoding video according to claim 21 in which the first unit converting the first dimension contains the unit conversion 32×32, and in which the second translation units of the second size contains the unit conversion 16×16.

28. Machine-readable media having stored therein instructions for coding video data that, when executed, cause the processor to:

to support multiple context models for entropy coding of transform coefficients of video data, wherein the set of context models includes one or more context models, each for a different size units conversion, and at least one of the joint context model used for two or more dimensions units conversion;

to choose the joint context model shared by the first unit of conversion, which has a first size and the second unit conversion, having a second size, for entropy coding of transform coefficients in one of the first units or second conversion units conversion, wherein the first size and the second RA�various measures,
and wherein each of the conversion units unit contains residual video data, including a plurality of blocks of transform coefficients;

select contexts for transform coefficients associated with one of the first units or second conversion units conversion according to the joint context model, wherein the instructions further cause the processor to assign the context in the joint context model to a given one of the transform coefficients based on the values of previously encoded neighboring transform coefficients referred to one of the conversion units, and to determine an estimate of the likelihood values for a given one of the transform coefficients associated with the assigned context in the joint context model; and

entropy encode the transform coefficients referred to one of the conversion units using context-adaptive binary arithmetic coding (SAVAS), based on the selected contexts.

29. Machine-readable media according to claim 28, wherein the joint context model contains the joint context model of the map of significance, further comprising instructions that cause the processor to:

to select the contexts to map components of significance for ratio, low gas consumpti�the conversion components,
associated with one of the first units or second conversion units conversion according to the joint context model; and

entropy coding the significance map components associated with said one conversion units based on the selected contexts.

30. Machine-readable media according to claim 28, wherein the instructions cause the processor to:

to update the estimated probability associated with the assigned context in the joint context model based on actual coded values of transform coefficients of the first units conversion, having a first size and the second unit conversion, having the second size.

31. Machine-readable media according to claim 28, wherein the instructions include instructions for decoding video data, further comprising instructions that cause the processor to:

to take a stream of bits that represents the encoded transform coefficients associated with one of the first units conversion, having a first size or a second unit conversion, having a second size;

select contexts for the encoded transform coefficients according to the joint context model; and

entropy decode the encoded transform coefficients in one of the e�initial conversion based on the selected contexts.

32. Machine-readable media according to claim 31, further comprising instructions that cause the processor to convert the conversion factors referred to one of the first units conversion, having a first size or a second unit conversion, having a second size, the residual pixel values.

33. Machine-readable media according to claim 28, wherein the instructions include instructions for encoding video data, optionally contain instructions that cause the processor to:

to convert the residual pixel values to transform coefficients within the mentioned one of the first units conversion, having a first size or a second unit conversion, having a second size;

select contexts for coefficients of conversion referred to one of the conversion units according to the joint context model; and

entropy encode the transform coefficients referred to one of the conversion units based on the selected contexts.

34. Machine-readable media according to claim 28 in which the first unit converting the first dimension contains the unit conversion 32×32, and in which the second translation units of the second size contains the unit conversion 16×16.

**Same patents:**

FIELD: physics, video.

SUBSTANCE: invention relates to image processing means. The method includes creating a plurality of frames of a picture and related prediction reference frames; for each frame and related prediction reference frame, calculating the intensity value and the colour value in a first colour domain; for each frame and related prediction reference frame, calculating weighted prediction gains; if said gains are non-negative, determining that a global transition with zero offset is occurs in a second colour domain; and if not all of said gains are non-negative, determining that a global transition with gradual change in illumination does not occur.

EFFECT: high efficiency of an image display means when encoding and processing video.

28 cl, 16 dwg

FIELD: physics, video.

SUBSTANCE: invention relates to the field of digital signal processing and, in particular, to the field of video signal compression using the movement compensation. The coding method includes the obtaining of target number of movement information predictors to be used for the coded image section and generation of the set of movement information predictors using the obtained target quantity. The set is generated by means of: obtaining of the first set of movement information predictors, each of which is connected with the image section having the pre-set spatial and/or time ratio with the coded image section; modifications of the first set of movement information predictors by removal of the duplicated movement information predictors for obtaining of the reduced set of movement information predictors containing the first number of movement information predictors, and each movement information predictor from the reduced set differs from any other movement information predictor from the reduced set; comparisons of the first number of movement information predictors with the target quantity obtained, and if the first quantity is less than the target quantity, obtaining of the additional movement information predictor and its addition to the reduced set of movement information predictors.

EFFECT: decrease of spatial and time redundancies in video flows.

26 cl, 8 dwg

FIELD: physics, video.

SUBSTANCE: invention relates to a broadcasting system for transmitting a digital television program, particularly a transmission device and a transmission method, in which content which meets needs can be acquired. A server generates a script PDI-S for obtaining a user side PDI-A representative of an answer of a user to a question about user preferences; generates launch information for executing the PDI-A; and transmits the launch information and PDI-S in response to the delivery of broadcast content, and transmits to the client in response to the delivery of reference content a provider side PDI-A representative of an answer set by a provider to the question. The client executes the PDI-S based on detection of launch information and carries out matching between the user side PDI-A and the provider side PDI-A to determine acquisition of reference content delivered by the server.

EFFECT: facilitating delivery of content to a client which satisfies the needs thereof at that time.

10 cl, 48 dwg

FIELD: physics, computer engineering.

SUBSTANCE: invention relates to computer engineering. An apparatus for encoding an image using intraframe prediction comprises a unit for determining an intraframe prediction mode, which determines the intraframe prediction of the current unit to be encoded, wherein the intraframe prediction mode indicates a defined direction from a plurality of directions, wherein the defined direction is indicated by one number dx in the horizontal direction and a constant number in the vertical direction and a number dy in the vertical direction and a constant number in the horizontal direction; and a unit for performing intraframe prediction, which performs intraframe prediction applied to the current unit in accordance with the intraframe prediction mode, wherein the intraframe prediction includes a step of determining the position of adjacent pixels through a shift procedure based on the position of the current pixel and one of the parameters dx and dy, indicating the defined direction, wherein adjacent pixels are located on the left side of the current unit or on the upper side of the current unit.

EFFECT: high efficiency of compressing images through the use of intraframe prediction modes having different directions.

9 cl, 21 dwg, 4 tbl

FIELD: physics, computer engineering.

SUBSTANCE: invention relates to a method for bit-plane coding of signals, for example, an image or video signal in the DCT transform domain. The bit planes of the DCT blocks are transmitted plane by plane in order of significance. As each plane contains more signal energy than the less significant layers together, the resulting bitstream is scalable in the sense that it may be truncated at any position. The later the bitstream is truncated, the smaller the residual error when the image is reconstructed. For each bit plane, a zone or partition of bit plane is created that encompasses all the non-zero bits of the DCT coefficients in that bit plane. The partition is created in accordance with a strategy which is selected from a number of options depending on the content of the overall signal and/or the actual bit plane. A different zoning strategy may be used for natural images than for graphic content, and the strategy may vary from bit plane to bit plane. The form as well as other properties such as the size of each partition can thus be optimally adapted to the content. Two-dimensional rectangular zones and one-dimensional zigzag scan zones may be mixed within an image or even within a DCT block. The selected zone creating strategy is embedded in the bitstream, along with the DCT coefficient bits in the actual partition.

EFFECT: high efficiency of a scalable method of compressing signal content.

13 cl, 5 dwg

FIELD: radio engineering, communication.

SUBSTANCE: invention relates to means of detecting illegal use of a processing device of a security system, used to descramble various media data distributed over multiple corresponding channels. The method includes counting new messages ECM_{j,c}, received by the processing device of the security systems for channels, other than channel i, after the last received message ECM_{i,p}; verifying that the message ECM_{i,c} was received during said time interval by verifying that the number of new messages ECM_{j,c}, received for channels other than i, reaches or exceeds a given threshold greater than two; increasing the counter Kch_{i} by the given value each time when after verification a message ECM_{i,c} is received during a given time interval, immediately after a message ECM_{i,p}, otherwise the counter Kch_{i} is reset to the initial value; detecting illegal use once the counter Kch_{i} reaches said threshold.

EFFECT: reducing the probability of illegal use of a processing device.

10 cl, 3 dwg

FIELD: physics, computer engineering.

SUBSTANCE: invention relates to computer engineering. The method of decoding video comprises obtaining from a bit stream information on pixel value compensation in accordance with a pixel value band or a limiting value level, if information on pixel value compensation indicates a band, applying a compensation value of the predefined band obtained from the bit stream to the pixel included in the predefined band among pixels of the current block; and if information on pixel value compensation indicates a limiting value level, applying a compensation value of the predefined boundary direction obtained from the bit stream to the pixel in the predefined boundary direction among pixels of the current block, wherein the predefined band is one of bands formed by breaking down the full range of pixel values.

EFFECT: high quality of the reconstructed image.

3 cl, 22 dwg, 2 tbl

FIELD: physics, video.

SUBSTANCE: invention relates to means of encoding and decoding video. The method includes determining a first most probable intra-prediction mode and a second most probable intra-prediction mode for a current block of video data based on a context for the current block; performing a context-based adaptive binary arithmetic coding (CABAC) process to determine a received codeword, corresponding to a modified intra-prediction mode index; determining the intra-prediction mode index; selecting the intra-prediction mode.

EFFECT: high efficiency of signalling an intra-prediction mode used to encode a data block by providing relative saving of bits for an encoded bit stream.

50 cl, 13 dwg, 7 tbl

FIELD: physics, computer engineering.

SUBSTANCE: invention relates to a media device and a system for controlling access of a user to media content. Disclosed is a device (100, 200) for controlling access of a user to media content, the device comprising: an identification code output (102, 103, 202) for providing an identification code to the user, the identification code identifying the media device; a control code generator (104, 204) for generating a control code depending on the identification code and an access right; an access code input (106, 107, 206) for receiving an access code from the user. The access code is generated depending on the identification code and the access right by a certain access code device, and an access controller (108, 208) enables to compare the access code to the control code, and when the access code matches the control code, grants the user access to the media content in accordance with the access right.

EFFECT: managing user access to media content, wherein access is granted specifically on the selected media device.

14 cl, 6 dwg

FIELD: physics, computer engineering.

SUBSTANCE: invention relates to a method and an apparatus for controlling settings of a device for playback of a content item. Disclosed is a method of controlling settings of a rendering device for playback of a content item, said rendering device being configured to connect with at least one source device, said at least one source device providing at least one content item, wherein the method comprises steps of: generating a plurality of entries for said at least one source device, each of the plurality of entries corresponding to a different profile, each profile comprising settings for playback of a content item received from the corresponding source device. A user can request generation of a plurality of entries for the same source device and select one of said entries, wherein the rendering device is connected with the source device which corresponds to said selected entry; and settings of the rendering device for playback of the received content item are controlled according to the profile corresponding to said selected entry.

EFFECT: providing corresponding settings for playback of different types of content items.

9 cl, 2 dwg

FIELD: information technology.

SUBSTANCE: like or dislike of a content element played on a personalised content channel is determined based on feedback from the user; the profile is updated based on the determined like or dislike, wherein that profile is associated with the personalised content channel and contains a plurality of attributes and attribute values associated with said content element, where during update, if like has been determined, a classification flag associated with each of said attributes and attribute values is set; the degree of liking is determined for at least on next content element based on said profile; and that at least one next content element is selected for playing on the personalised content channel based on the calculated degree of liking.

EFFECT: method for personalised filtration of content elements which does not require logic input or user identification procedures.

5 cl, 1 dwg

FIELD: information technology.

SUBSTANCE: like or dislike of a content element played on a personalised content channel is determined based on feedback from the user; the profile is updated based on the determined like or dislike, wherein that profile is associated with the personalised content channel and contains a plurality of attributes and attribute values associated with said content element, where during update, if like has been determined, a classification flag associated with each of said attributes and attribute values is set; the degree of liking is determined for at least on next content element based on said profile; and that at least one next content element is selected for playing on the personalised content channel based on the calculated degree of liking.

EFFECT: method for personalised filtration of content elements which does not require logic input or user identification procedures.

5 cl, 1 dwg

FIELD: information technologies.

SUBSTANCE: method of a conversion system operation to manage digital rights to grant a license to a client's device corresponding to coded content consists in the following. The first content of the first type of digital rights content and the first license corresponding to the first content are converted to manage digital rights in order to generate the second content of the second type of digital rights content and the second license corresponding to the second content. A license request is received, corresponding to the second content distributed by means of superdistribution to a third party. The second license corresponding to the second content distributed by means of superdistribution is requested from a server corresponding to the second management of digital rights. The second license corresponding to the second content distributed by means of superdistribution is received and sent to a third party.

EFFECT: expansion of functional resources due to development of a license granting mechanism for appropriate content distributed by means of superdistribution.

17 cl, 6 dwg

FIELD: information technology.

SUBSTANCE: network server of television server sets in random manner according to Internet protocol (IPTV) time of request for receiving main license within time period starting from time of broadcast transmission and ending at preset time in accordance with request for receiving license for playback of encrypted content, where request for receive comes from IPTV client terminal, and transmits to IPTV client terminal information about time of request for receiving main license and temporary license comprising temporary key of content which key corresponds to playback of broadcast transmission content from time of broadcast transmission start till preset time. License server transmits main license including content main key which corresponds to full playback of content according to request for receiving main license which request is executed using IPTV client terminal based on information about request for receive.

EFFECT: stabilisation of license server operation by eliminating concentration of license receive requests from large number of clients during time just after starting broadcast transmission of content.

6 cl, 11 dwg

FIELD: information technology.

SUBSTANCE: multimedia content purchasing system comprising: a memory area associated with a multimedia service; a multimedia server connected to the multimedia service via a data communication network; a portable computing device associated with a user; and a processor associated with the portable computing device, said processor being configured to execute computer-executable instructions for: establishing a connection to the multimedia server when the multimedia server and the portable computing device are within a predefined proximity; authenticating the multimedia server and the user with respect to the authenticated multimedia server; transmitting digital content distribution criteria; receiving, in response, promotional copies of one or more of the multimedia content items and associated metadata; and purchasing, when the multimedia server and the portable computing device are outside the predefined proximity, at least one of said one or more multimedia content items.

EFFECT: enabling flexible sharing of multimedia content between subjects.

17 cl, 9 dwg

FIELD: information technologies.

SUBSTANCE: device (600) to process stored data packets (110; 112) in a container of media data (104) and stored related meta information in a container of meta data (106); related meta information, including information on timing of transportation and information on location, indicating location of storage of saved data packets in the media data container (104); a device, comprising a processor (602) for detection, based on stored data packets (110; 112) and stored related meta information (124; 128); information on decoding (604; 704) for media useful load of stored data packets (110; 112), where information on decoding (604; 704) indicates, at which moment of time to repeatedly reproduce which useful load of stored data packets.

EFFECT: immediate accurate timing of synchronisation between different recorded media streams without complicated processing during each reproduction of recorded media streams.

21 cl, 12 dwg

FIELD: information technology.

SUBSTANCE: provided is an integrated interface device for performing a hierarchical operation for specifying a desired content list. The interface device has a function to display a content list, content specified by the content list, or the like by efficiently using a vacant area in the lower part of the display by displaying icons which display a hierarchical relationship, for example, "display in a row", in the upper part of the screen, thereby freeing a large space in the lower part of the display.

EFFECT: efficient use of the entire screen even after displaying an interface for performing an operation.

17 cl, 42 dwg

FIELD: radio engineering, communication.

SUBSTANCE: channel of individualised content makes it possible to play multiple elements of content (programs) meeting multiple selection criteria. At least one additional element of content is recommended by a mechanism (107) of recommendations, besides, at least one additional element of content meets less quantity of criteria. In the version of realisation at least one recommended additional element of content is selected, and multiple selection criteria are corrected by a planner (109) on the basis of at least one characteristic of a selected recommended additional element of content.

EFFECT: provision of a method to generate a recommendation for an additional element of content, the method is specially adapted for use with channels of individualised content.

13 cl, 1 dwg

FIELD: radio engineering, communication.

SUBSTANCE: channel of individualised content makes it possible to play multiple elements of content (programs) meeting multiple selection criteria. At least one additional element of content is recommended by a mechanism (107) of recommendations, besides, at least one additional element of content meets less quantity of criteria. In the version of realisation at least one recommended additional element of content is selected, and multiple selection criteria are corrected by a planner (109) on the basis of at least one characteristic of a selected recommended additional element of content.

EFFECT: provision of a method to generate a recommendation for an additional element of content, the method is specially adapted for use with channels of individualised content.

13 cl, 1 dwg

FIELD: information technology.

SUBSTANCE: wireless transmission system includes: a device (1) which wirelessly transmits AV content and a plurality of wireless recipient devices (5, 6) for reproducing the transmitted AV content. The device (1) for transmitting content has a group identification table which stores a group identifier for identification of a group formed by the wireless recipient device (5, 6). The device (1) adds the group identifier extracted from the group identification table to a control command for controlling recipient devices (5, 6) and wirelessly transmits the control command having the group identifier. The recipient devices (5, 6) receive the wirelessly transmitted control command from the device (1) if the corresponding group identifier has been added to the control command. The device (1) for transmitting content consists of a wired source device and a relay device which is connected by wire to the wired source device, and the relay device is wirelessly connected to the wireless recipient device and mutually converts the wired control command transmitted to the wired source device, and the wireless control command transmitted to the wireless recipient device, wherein the wired source device and the relay device are connected via HDMI (High-Definition Multimedia Interface).

EFFECT: providing the minimum required volume of transmitting control commands during wireless audio/video transmission.

21 cl, 13 dwg