Selection of coding table with alternate length based on type of video unit for improvement of coefficients coding

FIELD: information technologies.

SUBSTANCE: information is sent from coder device to coder device, which identifies the coding tables with alternate length to be used for decoding of two or more different types of video units. Information may be sent once per frame (or other coded unit) and may identify the first table to be used for intra-coded units, and the second table to be used for inter-coded units of appropriate frame; decoder selects table on the basis of this information and decodes various types of video units, using selected table for each type of unit.

EFFECT: improved efficiency of coding of transformation ratios, in particular in coding with alternate length of coefficients of SVC circuit expansion level detailing.

25 cl, 8 dwg

 

[0001] This application claims priority to the following provisional patent applications U.S., the entire contents of each of which is included herein by reference:

provisional application for U.S. patent No. 60/829,274, filed October 12, 2006,

provisional application for U.S. patent No. 60/883,741, filed January 5, 2007, and

provisional application for U.S. patent No. 60/829,276, filed October 12, 2006.

The technical field to which the invention relates

[0002] This disclosure relates to digital video encoding and, more specifically, coding, variable length (VLC) of the transform coefficients in the expansion levels scheme for scalable video coding (SVC).

The level of technology

[0003] Digital video capabilities can be incorporated into a wide range of devices, including digital televisions, digital direct broadcast, wireless system, wireless radio, personal digital assistants (PDA), laptop or desktop computers, digital cameras, digital recording devices, devices, video game consoles computer games, cellular or satellite radio telephones, and other Digital video devices implement methods of video compression, such as MPEG-2, MPEG-4 or H.264/MPEG-4 part 10, Advanced Video Coding (UCMJ, AVC)to pass and to take digital video over e is efficiency. Methods of video compression perform spatial and temporal prediction to reduce or remove redundancy inherent in the sequences.

[0004] In the video encoding video compression often involves spatial prediction, motion estimation and motion compensation. Interaktywna relies on spatial prediction to reduce or remove spatial redundancy between videobloom within a given video frame. Intermediaware relies on temporal prediction to reduce or remove temporal redundancy between videobloom consecutive video frames of the video sequence. For intermediaware the video encoder performs motion estimation to track the movement of matching videobloom between two or more adjacent frames. Motion estimation generates motion vectors, which indicate the displacement of videobloom relative to video blocks of a prediction in one or more reference frames. Motion compensation uses the motion vectors to generate the video blocks of the prediction from the reference frame. After motion compensation residual video section is formed by the subtraction unit video predictions from the original videoblog, which must be encoded.

[0005] the video Encoder of the commonly applies the conversion processes, quantization and coding with variable length (efficiency, VLC)to further reduce the bit rate associated with the transfer of the residual block. VLC residual block includes the use of codes of variable length, so as to further compress the residual coefficients generated by the operations of quantization and transformation. For example, the VLC table can be used to reconcile different sets of coefficients from a code word of variable length in a way that contributes to the coding efficiency. Different VLC tables can be used for different video content. The video decoder performs the reverse operation VLC to recover the coefficients, and then performs the inverse transform of these coefficients. The video decoder may decode the video information on the basis of the information of motion and residual information associated with videobloom.

[0006] a video encoding uses a scalable technique. For example, scalable video coding (SVC) relates to video encoding, which uses a basic level and one or more scalable expansion levels. For the SVC base layer is typically carries video data with a basic level of quality. One or more levels of expansion are additional video data to support the higher question is rastenii, temporary and/or SNR levels. The base layer can be transmitted in a way that is more reliable than transmission expansion levels. The expansion levels can add spatial resolution to frames of the base layer, or may add additional frames to increase the overall frequency of frames. In one example, the most reliable part of the modulated signal can be used to transfer basic level, while less reliable part of the modulated signal can be used for transmission expansion levels. The expansion levels can define different types of coefficients, called significant coefficients and coefficients improvements (detail).

The invention

[0007] In General, this disclosure describes techniques for coding the level of expansion in the scheme scalable video coding (SVC). These methods include selecting a coding tables with variable length (VLC) decoder in a way that helps to simplify the calculations. These methods can be used for encoding the transform coefficients, and is particularly useful in VLC coefficients drill extension level in the SVC scheme. The detail coefficients are the coefficients of the level of expansion, for which the corresponding coefficients of the previous level in the schemes the SVC had non-zero values. Encoding with variable-length ratios of detail can be made separately from coding with variable length of the significant factors that are related to the coefficients of the level of expansion, for which the corresponding coefficients of the previous level in the SVC scheme had values of zero.

[0008] According to the methods of this disclosure information is transmitted from encoder to decoder device that identifies which tables VLC should be used to decode two or more different types of videobloom. Information may be transmitted once per frame (or other coded unit, such as a slice (slice), or FGS frame) and can identify the first table, which should be used for intracoronary (vnutritorakalnah) blocks, and the second table that should be used for interkalirovannyi blocks for the corresponding frame. The decoder performs the VLC table selection on the basis of this information, and decodes the video ad units using the selected VLC table. In addition, in some cases, the encoder and decoder have an agreement on the tables that should be used for different types of units. In this case, the tables that are used are dependent on the type of unit, but no further information should be passed from the encoder to de the Oder, because the encoder and decoder have an agreement.

[0009] In one example, this disclosure provides a method for coding level of expansion in the SVC scheme, and the method comprises the stages: coding coefficients associated with videobloom extension level, on the basis of the coding tables with variable length, generating information identifying the first coding table with variable length, which must be used by the decoder to decode the first type of videobloom, and the second coding table with variable length, which must be used by the decoder to decode the second type of videobloom, the transmission of information representing the encoded coefficients to the decoder, and transmitting information identifying the first coding table with variable length, which must be used by the decoder to decode the first type of videobloom, and the second coding table with variable length, which must be used by the decoder to decode the second type of videobloom.

[0010] In another example, this disclosure provides a method for coding level extensions for SVC scheme, and the method comprises the steps of: receiving information representing the encoded coefficients associated with what ideologeme extension level, receiving information identifying the first coding table with variable length, which must be used to decode the first type of videobloom, and the second coding table with variable length, which must be used to decode the second type of videobloom, select tables for decoding information representing the encoded coefficients, based on the information identifying the first and second coding table with variable length, which must be used, and decoding information representing the encoded coefficients based on the selected tables.

[0011] In another example, this disclosure provides a device that encodes the degree of expansion in the SVC scheme, and the device includes: an encoder that encodes the coefficients associated with videobloom extension level, on the basis of the coding tables with variable length and generates information that identifies the first coding table with variable length, which must be used by the decoder to decode the first type of videobloom, and the second coding table with variable length, which must be used by the decoder to decode the second type of videobloom, and a transmitter that transmits information representing Zack is giovannie coefficients, and transmits the information identifying the first coding table with variable length, which must be used by the decoder to decode the first type of videobloom, and the second coding table with variable length, which must be used by the decoder to decode the second type of videoplace.

[0012] In another example, this disclosure provides a device that encodes the degree of expansion of the SVC scheme, and the device includes: a receiver that receives information representing the encoded coefficients associated with videobloom extension level, and receives information identifying the first coding table with variable length, which must be used to decode the first type of videobloom, and the second coding table with variable length, which must be used to decode the second type of videobloom, and a decoder that selects a table to decode the information representing the encoded coefficients, based on the information identifying the first and the second coding table with variable length, which must be used, and decodes the information representing the encoded coefficients based on the selected tables.

[0013] In another example, this disclosure about who has the device, which encodes the degree of expansion of the SVC scheme, and the device comprises: means for coding coefficients associated with videobloom extension level, on the basis of the coding tables with variable length, in which the means for encoding generates information that identifies the first coding table with variable length, which must be used by the decoder to decode the first type of videobloom, and the second coding table with variable length, which must be used by the decoder to decode the second type of videobloom, and means for transmitting information representing the encoded coefficients to the decoder, and the means for transmitting transmits information, identifying the first coding table with variable length, which must be used by the decoder to decode the first type of videobloom, and the second coding table with variable length, which must be used by the decoder to decode the second type of videobloom.

[0014] In another example, this disclosure provides a device that encodes the degree of expansion of the SVC scheme, and the device comprises means for receiving the encoded coefficients associated with videobloom ur is una extensions moreover, the means for receiving also receives information identifying the first coding table with variable length, which must be used to decode the first type of videobloom, and the second coding table with variable length, which must be used to decode the second type of videobloom tool to select tables for decoding information representing the encoded coefficients, based on the information identifying the first and second coding table with variable length, which must be used, and the means for decoding information representing the encoded coefficients based on the selected tables.

[0015] the Methods described in this disclosure can be implemented in hardware, software, software-hardware, or any combination thereof. When implemented in software, the software may be executed in one or more processors such as a microprocessor, a specialized integrated circuit (ASIC), programmable gate array (FPGA) or digital signal processor (DSP). Software that performs these techniques may be initially stored in a machine-readable medium and loaded and executed in the processor is.

[0016] Accordingly, this disclosure also considers the machine-readable media containing commands that after executing the video encoding device cause the device to encode the level schema extension SVC, with commands cause the device to encode the coefficients associated with videobloom extension level, on the basis of the coding tables with variable length, to generate information identifying the first coding table with variable length, which must be used by the decoder to decode the first type of videoplace, and the second coding table with variable length, which must be used by the decoder to decode the second type of videoplace, to transmit information representing the encoded coefficients to the decoder and transmit information identifying the first coding table with variable length, which must be used by the decoder to decode the first type of videoplace, and the second coding table with variable length, which must be used by the decoder to decode the second type of videoplace.

[0017] in Addition, this disclosure also considers the machine-readable media containing commands that p is after the run in the video encoding device, cause the device to encode the degree of expansion of the SVC scheme, in which, after receiving the information representing the encoded coefficients associated with videobloom extension level, and receiving the information identifying the first coding table with variable length, which must be used to decode the first type of videobloom, and the second coding table with variable length, which must be used to decode the second type of videobloom commands cause the device to select the tables to decode the information representing the encoded coefficients, based on the information identifying the first and second coding table with variable length, which must be used, and decode information representing the encoded coefficients based on the selected tables.

[0018] In some cases, machine-readable media may be part of a computer software product that can be sold to manufacturers and/or used in the video encoding device. The computer program product may include machine-readable media, and in some cases may also include packaging materials.

[0019] This disclosure may also refer to the scheme, such as integral is the first scheme, set specific integrated circuits (ASIC), programmable gate array (FPGA), logic, or various combinations thereof, configured to perform one or more of the methods described here. Accordingly, this disclosure also looking at the diagram, configured to encode extension level of the SVC scheme, and this scheme is configured to encode the coefficients associated with videobloom extension level, on the basis of the coding tables with variable length, to generate information identifying the first coding table with variable length, which must be used by the decoder to decode the first type of videobloom, and the second coding table with variable length, which must be used by the decoder to decode the second type of videobloom, to transmit information representing the encoded coefficients to the decoder, and transmitting information identifying the first table coding with variable length, which must be used by the decoder to decode the first type of videobloom, and the second coding table with variable length, which must be used by the decoder to decode the second type of videobloom.

[002] This disclosure also looking at the diagram, configured to encode extension level scheme for scalable video coding (SVC), the circuit is configured to receive information representing the encoded coefficients associated with videobloom extension level, to receive information that identifies the first coding table with variable length, which must be used to decode the first type of videobloom, and the second coding table with variable length, which must be used to decode the second type of videobloom, select tables for decoding information representing the encoded coefficients, based on the information identifying the first and second coding table with variable length, which must be used, and decoding information representing the encoded coefficients based on the selected tables.

[0021] furthermore, this disclosure is looking at the diagram, configured to encode extension level of the SVC scheme, and the scheme is configured to receive information representing the encoded coefficients associated with videobloom level extensions to choose different tables coding with variable length, which must be used to decode the information based on the type of unit, as oneiromancy with videobloom, in accordance with the agreement set by the encoder to decode the information representing the encoded coefficients based on the selected tables.

[0022] details of one or more aspects of the disclosure are formulated in the accompanying drawings and the description below. Other characteristics, objectives and advantages of the techniques described in this disclosure, will be apparent from the description and drawings and from the claims.

Brief description of drawings

[0023] Figure 1 is an exemplary block diagram illustrating a system for encoding and decoding video.

[0024] Figure 2 is a conceptual diagram illustrating a video of the basic level and expand a scalable video bitstream.

[0025] Figure 3 is a block diagram illustrating an example video encoder, compatible with the present invention.

[0026] Figure 4 is a block diagram illustrating an example of a decoder that is compatible with the present invention.

[0027] Figure 5 is an exemplary block diagram of the module coding with coding with variable length (VLC).

[0028] 6 Is an exemplary block diagram of the module of VLC decoding.

[0029] Fig.7 - precedence diagram illustrating a VLC method for encoding variable length, compatible with the present invention.

[0030] Fig - precedence diagram illustrating a method of VLC for zakodirovana is variable length, compatible with the present invention.

Detailed description

[0031] This disclosure describes techniques for coding the level of expansion in the scheme scalable video coding (SVC). These techniques include selection of coding tables with variable length (VLC) decoder in a way that improves the simplicity of the calculations. These techniques can be used for encoding the transform coefficients, and is particularly useful when encoding with variable-length ratios of detail level schema extension SVC. The detail coefficients are the coefficients of the level of expansion, for which the corresponding coefficients of the previous level in the SVC scheme have nonzero values. Encoding with variable-length ratios of detail can be made separately from coding with variable length of the significant coefficients (for example, for which the corresponding coefficients of the previous level in the SVC scheme have zero values).

[0032] According to the techniques of this disclosure that identifies which tables VLC should be used to decode two or more different types of videobloom, is transmitted from the device of the encoder to the decoder device. This information may be transmitted once per frame (or other coded unit) and can identify the first tab is the Itza which should be used for intracoronary blocks, and a second table that should be used for interkalirovannyi blocks for the corresponding frame. The decoder performs the selection table on the basis of this information, and decodes the video ad units using the selected table.

[0033] In the encoder device selection table VLC to encode different videobloom can be made on the basis of the information gathered for previously or currently encoded frame. For example, a statistical analysis of previously encoded frames can be made to facilitate the selection tables in the encoder device. Such computationally intensive analysis, however, can be avoided in the device decoder. Instead, information that identifies the tables that should be selected for the first and second types of videobloom, for example intracoronary block and intermediaware blocks may be transmitted from the device of the encoder to the decoder device. The device decoder may use this submitted information to facilitate the proper election of the table. Alternatively, in some cases, the encoder and decoder can be agreement on tables that should be used for different types of units. In this case, the tables that are used are dependent on the type of unit, but no D. what additional information should not be transmitted from the encoder to the decoder, since the encoder and decoder have an agreement.

[0034] the Selected table in the encoder can be critically dependent on the level of quantization used in the encoding process. The used quantization, in turn, may depend on the type of videoplace. As the level of quantization used in the encoder, is usually unknown at the decoder, information regarding the type of videoplace provides a useful mechanism for selecting the table in the decoder. In particular, as the level of quantization may depend on the type of videoplace, select the VLC table in the decoder based on the type of videoplace can be useful. The VLC tables are identified for decoder for different types of videoplace, and the decoder can determine the type associated with the corresponding video section, and use the appropriate VLC table to decode this corresponding to the video section.

[0035] Figure 1 shows a block diagram illustrating a system 10 for encoding and decoding video. As shown in figure 1, the system 10 includes a device 12 source that transmits encoded video to the device 16 receiving the communication channel 15. The device 12 source may include a source 20 video, video encoder 22 and the modulator/transmitter 24. The device 16 may include a receiver/demodulator 26, the video decoder 28 and the device 30 of the display. Systems which 10 can be configured to apply the technique for coding variable-length (VLC) video information associated with the level of expansion in the scheme scalable video coding (SVC).

[0036] SVC relates to video encoding, which uses a basic level and one or more scalable expansion levels. For the SVC base layer is typically carries video data with a basic level of quality. One or more levels of expansion are additional video data to support higher spatial, temporal and/or signal-to-noise ratio SNR levels. The expansion levels can be defined with respect to the previously encoded level. The expansion levels define at least two different types of coefficients, called the significant coefficients and the detail coefficients (improvement). The coefficients of detail can determine the values relative to the corresponding values of previously encoded level. Footage expansion levels sometimes include only the portion of the total quantity of videobloom in the base level or the previous level of expansion, for example, only those blocks for which the extension runs.

[0037] the Significant coefficients are coefficients for which the corresponding coefficients in the previous level had zero values. The coefficients of detail refer to the cylinder is entam, for which the corresponding coefficients in the previous level had non-zero values in the previous level. Encoding with variable-length expansion levels typically uses an approach with two aisles. The first pass is performed to encode the lengths of the series of significant coefficients, and another way is to encode the coefficients of detail. The techniques of this disclosure are particularly useful for coding variable-length ratios of detail, although the present disclosure is not necessarily limited in this respect.

[0038] According to the techniques of this disclosure information is transmitted from the device 12 source device 16 receiving that identifies which tables VLC should be used to decode two or more different types of videobloom. Information may be transmitted once per frame (or other coded unit), and can identify the first table, which should be used for intracoronary blocks, and the second table that should be used for interkalirovannyi blocks for the corresponding frame. This information may contain one or more bits that identify the first VLC table for intracoronary blocks, and one or more bits that identify the second VLC table for interkalirovannyi blocks. Video Dec is der 28 device 16 performs reception table selection on the basis of this information, and decodes the video ad units, using the selected table. Again, however, in some cases, the encoder 22 and decoder 28 can have an agreement on the tables that should be used for different types of units. In this case, the tables that are used are dependent on the type of unit, but no further information should be transmitted from the device 12 source device 16 for the reception, as the encoder 22 and decoder 28 have an agreement.

[0039] In the example in figure 1, the channel 15 may also contain any wireless or wired media communication, such as radio frequency (RF) spectrum or one or more physical transmission lines, or any combination of wired or wireless media. The channel 15 may be a part based on a packet transmission network, such as a local area network, a wide network or a global network such as the Internet. Channel 15 communication usually represents any suitable communication medium or collection of different communication media to transmit the video from the device 12 source device 16 receiving. The channel 15 may also include a base station or other components that facilitate the transfer device 12 of the source to the device 16 receiving.

[0040] the Device 12 of the source and the device 16 receiving may contain any of a wide raznoobrazneyshaya wireless such as wireless digital TV, telephone receiver wireless communication devices, personal digital assistants (PDA), a wireless laptop or desktop computers, wireless digital camera, wireless digital recording devices, wireless devices, video games, wireless console, computer games, cellular or satellite radio telephones, etc.

[0041] the Device 12 source generates coded video data for transmission to the device 16 receiving. In some cases, however, the devices 12, 16 may work essentially symmetrical way. For example, each of devices 12, 16 may include components for encoding and decoding video. Thus, the system 10 may support one-way or two-way video between video devices 12, 16, for example, for streaming video, broadcast video, or video telephony.

[0042] the Source 20 video from the device 12 source may include a video capture device, such as a video camera, a video archive containing previously captured video, or video transmission from a video provider content. As another alternative source 20 video can generate based on computer graphics data as the source video, or a combination of video in real time and transmitted to the newterm video. In some cases, if the source 20 video is a video camera, the device 12 of the source and the device 16 receiving can form a so-called camera phones or video phones. In each case, the captured, pre-captured, or computer-generated video may be encoded by video encoder 22 for transmission from the device 12 video source to the video decoder 28 of the device 16 receiving video via the modulator/transmitter 22, the communication channel 15 and the receiver/demodulator 26. The processes of encoding and decoding video can implement the encoding lengths of the series described here to improve these processes. The device 30, the display displays the decoded video data to the user and can contain any of a variety of display devices such as cathode ray tube, liquid crystal display (LCD), a plasma display, a display on the organic light emitting diode (OLED) or other type of display device.

[0043] the video Encoder 22 and video decoder 28 may be configured to support SVC for spatial, temporal and/or signal-to-noise ratio (SNR) scalability. In some aspects, video encoder 22 and video decoder 28 may be configured to support coding with fine granularity SNR scalability (FGS)for SVC. The encoder 22 and decoder 28 can support their different degree of scalability by supporting encoding, transmission and decoding of the base level and one or more scalable expansion levels. Again for scalable video coding basic level is the video with a basic level of quality. One or more levels of expansion are additional data to support a higher spatial, temporal and/or SNR levels. The base layer can be transmitted in a way that is more reliable than transmission expansion levels. For example, the most reliable part of the modulated signal can be used to transfer basic level, while less reliable part of the modulated signal can be used for the transmission levels of the extension.

[0044] in Order to support SVC video encoder 22 may include an encoder 32 basic level and one or more encoders 34 level extensions to encode a basic level and one or more expansion levels, respectively. The techniques of this disclosure that use the VLC table selection applicable to coding videobloom levels of expansion in SVC.

[0045] the video Decoder 28 may include joint decoder base level/level extension that decodes the video blocks and the base level and degree of expansion. Video decoder 28 may decode video ad units associated with the base and extension levels, and kombinirovat decoded video, to retrieve frames of a video sequence. The device 30, the display receives the decoded video sequence and represents the video sequence to the user.

[0046] the video Encoder 22 and video decoder 28 may operate according to a video compression standard such as MPEG-2, MPEG-4, n ITU-T or ITU-T H.264/MPEG-4 Part 10, Advanced Video Coding (AVC). Although not shown in figure 1, in some aspects, video encoder 22 and video decoder 28 may be, each integrated with an audio encoder and decoder, and may include appropriate modules MUX-DEMUX or other hardware and software for processing and encoding audio and video in a common data stream or separate data streams. If applicable, the modules MUX-DEMUX can match the Protocol multiplexer N ITU or other protocols such as user datagram Protocol (UDP).

[0047] the H.264/MPEG-4 (AVC) was formulated by the Experts Group Video Coding (VCEG) of ITU-T together with a Group of Experts at Moving Images, ISO/IEC (MPEG) as the product of a collective partnership known as the joint Video Team (JVT). In some aspects, the techniques described in this disclosure can be applied to devices that typically correspond to the H.264 standard. The H.264 standard is described in Recommendation H.264 ITU-T, the Condition is warrenstown Video Coding for generic audiovisual services, through study Groups ITU-T, dated March 2005, which can be named here as H.264 or H.264 specification or standard, or specification of H.264/AVC.

[0048] joint Video Team (JVT) continues to work on expanding SVC to H.264/MPEG-4 AVC. Specification of the developing extension SVC is in the form of joint Project (JD). Joint Scalable Video Model (JSVM), created by JVT, implements tools for use in scalable video that can be used in the system 10 for various coding tasks described in this disclosure. Detailed information about coding SNR scalability with fine granularity (FGS) can be found in documents of the joint Project and, in particular, in the Merged Project 6 (SVC JD6), Thomas Wiegand, Gary Sullivan, Julien Reichel, Heiko Schwarz, and Mathias Wien, "Joint Draft 6: Scalable Video Coding," JVT-S 201, April 2006, Geneva, and in the Joint Draft 9 (SVC JD9), Thomas Wiegand, Gary Sullivan, Julien Reichel, Heiko Schwarz, and Mathias Wien, "Joint Draft 9 of SVC Amendment," JVT-V 201, January 2007, Marrakech, Morocco.

[0049] In some aspects to broadcast video of the techniques described in this disclosure can be applied to Improved video encoding H.264 in order to provide services video real-time systems terrestrial mobile multimedia multicasting (TM3), using the specification of the radio Interface Only Direct the mouse to turn Communication (FLO), "Forward Link Only Air Interface Specification for Terrestrial Mobile Multimedia Multicast," published as Technical Standard TIA-1099 ("Specification FLO"). That is, the channel 15 may also contain a wireless information channel used for wireless broadcasting video information according to the Specification FLO or similar. Specification FLO includes examples that define the syntax and semantics of the bitstream and decoding processes suitable for essential FLO interface. Alternatively, the video may be transferred in accordance with other standards, such as DVB-H (digital video broadcasting for handheld devices), ISDB-T (terrestrial digital broadcasting integrated services) or DMB (digital broadcasting of audio-visual information). Therefore, the device 12 source may be a mobile wireless terminal, server, streaming video or video broadcasting server. However, the techniques described in this disclosure are not limited to a specific type of system broadcasting, multicasting or point-to-point. In the case of the broadcasting device 12 source can broadcast multiple channels of video data to many devices receive, each of which may be similar to the device 16 receiving in figure 1.

[0050] the video Encoder 22 and video decoder 28, each may be implemented as one or more microprocessors, digital signal processors (DSP), specialized Integra is performance communications circuit (ASIC), user-programmable gate arrays (FPGA), discrete logic, software, hardware, firmware or any combination of them. Each of video encoder 22 and video decoder 28 may be included in one or more encoders or decoders, either of which can be integrated as part of a combined encoder/decoder (codec) in the corresponding mobile device, the subscriber's device, the device broadcasting, server or similar. In addition, the device 12 of the source and the device 16 receiving, each may include appropriate components of the modulation, demodulation, frequency conversion, filtering and amplifiers for transmitting and receiving encoded video, as applicable, including radio frequency (RF) wireless components and antennas, sufficient to maintain the wireless connection. For simplicity of illustration, however, these components were incorporated as being a modulator/transmitter 24 of the device 12 of the source and receiver/demodulator 26 device 16 receiving in figure 1.

[0051] the Sequence comprises a sequence of video frames. Video encoder 22 performs operations on blocks of pixels (or blocks of transformed coefficients) in the individual video frames to encode video data. Video ad units may have fixed the variables dimensions and may vary by size according to a specified coding standard. In some cases, each video frame is coded unit, while in other cases, each video frame may be divided, and includes a series of "slices", which form the coded unit. Each slice may include a sequence of macroblocks, which can be organized into subunits. As an example, the H.264 standard ITU-T supports interpretazione at various block sizes, such as 16 by 16, 8 by 8, or 4 by 4 for the luminance components and 8x8 for the components of the chroma signal, and interpretazione in various block sizes, such as 16 by 16, 16 by 8, 8 by 16, 8 by 8, 8 by 4, 4 by 8 and 4 by 4 for the luminance components and corresponding scaled sizes for the components of the chroma signal. According to this disclosure information select the VLC table for intracoronary blocks and interkalirovannyi blocks can be transmitted from the device 12 source device 16 receiving once coded a module, such as once per frame, once per slice, or once per level FGS frame. This information can then be used to select a VLC table for encoding transform coefficients of videobloom associated with those respective coded module.

[0052] the Form and content of information transmitted for identification of different VLC tables may what to change. For example, information can be formulated as two different single-bit or multi-bit code that identifies what the VLC table should be used to decode the first type of videoplace and which VLC table should be used to decode the second type of videoplace. For each frame, which must be decoded, one single-bit or multi-bit code can be sent to intrablock and other single-bit or multi-bit code can be sent to interblock. The decoder 28 selects a different VLC table for decoding intra - and interkalirovannyi blocks on the basis of the tables identified in these codes.

[0053] the Smaller video ad units can provide the best resolution and can be used for locations of video frames which include higher levels of detail. Usually macroblocks (MB) and the different subunits can be considered as videobloom. In addition, the slice can be considered as a sequence of videobloom, such as MB and/or subunits. As noted, each slice can be independently decodable unit of a video frame. After prediction, the conversion may be performed on the residual block of 8×8 or residual block of 4×4 and additional transformation can be applied to the DC coefficients of blocks of 4×4 for a component of the s signal chroma or brightness component, if you are using intra×16 prediction mode.

[0054] After intra - or interessavano prediction encoding additional coding techniques can be applied to the transmitted bit stream. These additional encodings can include transformation methods (such as 4×4 or 8×8 integer transform used in H.264/AVC or a discrete cosine transform DCT) coding with variable length. The blocks of transform coefficients may be referred to as video ad units. In other words, the term "video section" refers to a block of video data regardless of the field of information. Thus, the video ad units can be in the pixel region or the transformed coefficients. Application coding VLC described generally in this disclosure relative to the blocks of transform coefficients.

[0055] This disclosure provides methods for encoding variable length ratios of detail. Again, the detail coefficients are coefficients that had non-zero values in the previous level, while significant coefficients are coefficients that had zero values in the previous level. According to this disclosure of information may be transmitted from the device 12 source device 16 to select a VLC table in Deco the ore to two or more different types of videobloom. One of the many different VLC tables may be selected for each type of videoblog on the basis of information sent from the device 12 source device 16 receiving. The receiver then chooses between the two identified by VLC tables based on the type decoded videoblog.

[0056] Each VLC table may include a number of code symbols having different lengths. Code symbols can be assigned to the corresponding characteristics within videoblog, for example, a particular length of a series of zeros coefficients of detail. In some cases tables are static, but in other cases, these tables can be generated or updated based on the statistics of the coding so that the code words of variable length were transformed into sets of coefficients in a way that improves the coding efficiency. Of course, if the tables are updated in the encoder, update the table must also be updated in the decoder.

[0057] the Encoder 22 and decoder 28 may perform inverse methods that encode the degree of expansion in the SVC scheme. In the encoder 22 selection tables for encoding various videobloom can be made on the basis of the information gathered for currently or previously coded frames. If the selection is based on the previously encoded frames, the encoding with the ne passage can be used but if the encoding is based on the currently encoded frames, this may require coding with two aisles. In some cases, can be performed statistical analysis of previously encoded frames to facilitate the selection tables in the encoder 22. Such computationally intensive analysis, however, can be avoided in the decoder 28. Instead, information that identifies the table for the first and second types of videobloom, for example, intracoronary block and intermediaware blocks can be transmitted from the device 12 source device 16 receiving. The decoder 28 can then use this information passed to facilitate the proper election of the table.

[0058] the Selected table in the encoder (for example, which can be selected on the basis of statistics) may vary depending on the level of quantization used in the encoding process. The used quantization, in turn, may depend on the type of videoplace. As the level of quantization used in the encoder 22 is typically unknown to the decoder 28, the information regarding the type of videoplace provides a useful alternative for use in the decoder 28. Therefore, the tables identified for decoder 28 for different types of videoplace, and the decoder 28 can determine the type associated with the appropriate videoblock is, and use the appropriate VLC table to decode this corresponding to the video section. As used here, the term "encoding" generally refers to at least part of the process of encoding or decoding. Video encoder 22 encodes the data, while the video decoder 28 decodes the data.

[0059] tables VLC can assign code words, different sets of transformation coefficients. The sets of coefficients with zero values can be represented by the run length of zeros, and the more General the lengths of the series can be assigned shorter codes VLC. Less than the total length of the series can be assigned longer codes VLC. Therefore, the selection of codes from the VLC tables can improve the coding efficiency. The assignment of codes in the VLC tables may also be based on statistics during the process of formation of the table, although static VLC tables may also be used.

[0001] Figure 2 is a chart illustrating the video frames in the base 17 and 18 extend scalable video bitstream. As noted above, the methods of the present disclosure is applicable to the encoding data of the expansion levels. Basic level 17 can contain the bit stream containing encoded video data, which represent the first level of spatial, temporal or SNR scalability. Level 18 R is SIRENIA can contain the bit stream, containing encoded video data, which represent a second level of spatial, temporal and/or SNR scalability. Although shown one level of expansion, in some cases, there may be several levels of expansion. The bitstream level of expansion can be decoded only with the baseline (or previous extension level, if there are many levels of expansion). Level 18 extension contains links to the decoded video data in the base 17. Such links may be used, or in the transformation, or in the pixel area to generate a final decoded video data.

[0002] the Base 17 and 18 extensions can contain intra (I), inter- (P) and unpravlenia (B) frames. Intracity can include all intracoronary video ad units. I and P frames may include at least some intermediaware video ad units, but may also include some intracoronary blocks. Various shots of the level 18 of the extension should not include all video ad units in the base 17. Frames P at level 18 extensions rely on reference frames P in the base 17. By decoding frames in the level 18 of the extension and the base 17, the video decoder can improve the quality of the decoded video in the deo. For example, the base 17 can include video, encoded at the minimum frame rate, such as 15 frames per second, while the level 18 of the extension may include encoded video with a higher frame rate such as 30 frames per second. In order to support the encoding with different quality levels, a basic level 17 and 18 extensions can be encoded with a higher quantization parameter (QP) and a lower QP, respectively. In addition, the base 17 can be transferred in a way that is more reliable than the transmission level 18 extensions. As an example, the most reliable part of the modulated signal can be used to transfer basic level 17, while less reliable part of the modulated signal can be used to pass level 18 extensions. The illustration in figure 2 is merely exemplary, since the levels of basic and extensions can be defined in many different ways.

[0060] Figure 3 is a block diagram illustrating an example of the encoder 50 videos, which includes module 46 VLC to encode data consistent with the present invention. Video encoder 50 figure 3 might correspond to the encoder 34 of the level of the expansion device 12 source figure 1. That is, the components of the encoding of the base level is not illustrated in figure 3 DL is simplicity. Therefore, the video encoder 50 may be considered as a coder extension level. Alternatively, the illustrated components of video encoder 50 may also be implemented in combination with the modules or blocks coding basic level, for example, in the construction of the pyramid of the encoder, which supports scalable video encoding a base level and extensions.

[0061] the video Encoder 50 may perform intra - and intermediaware blocks in the frames. Interaktywna relies on spatial prediction to reduce or remove spatial redundancy within a video within a given video frame. Intermediaware relies on temporal prediction to reduce or remove temporal redundancy in the video within adjacent frames of the video sequence. For intermediaware video encoder 50 performs motion estimation to track the movement of the respective videobloom between two or more adjacent frames.

[0062] As shown in Figure 3, the video encoder 50 receives the current video section 31 (for example, a block of video extension level) within the video frame, which must be encoded. In the example in Figure 3 the video encoder 50 includes a module 33 motion estimation, the memory 35 of the support frame, the module 37 motion compensation module 39 conversion blocks, the module 41 quantization module 42 is mainly the th quantization module 44 of the inverse quantization module 46 VLC. Filter release (not shown) may also be included to filter block boundaries to remove the blocking artifacts. Video encoder 50 also includes an adder 48 and the adder 51. Figure 3 illustrates the temporal components of the prediction video encoder 50 to intermediaware of videobloom. Although not shown in Figure 3 for simplicity of illustration, the video encoder 50 may also include the components of the spatial predictions for intracoronary some videobloom. The components of the spatial predictions, however, are typically used only for coding a basic level.

[0063] the Module 33 motion estimation compares the video section 31 with blocks in one or more adjacent (neighboring) video frames to generate one or more motion vectors. Adjacent frame or frames can be extracted from the memory 35 of the support frame, which may be any type of memory or storage device to store video ad units, restored from previously coded blocks. Motion estimation may be performed for blocks of variable sizes, for example 16×16, 16×8, 8×16, 8×8 or blocks of smaller size. Module 33 motion estimation identifies the block in the adjacent frame that most closely matches the current video section 31, for example, on the basis of model distortion / min net and transfer, and determines the offset between the blocks. On this basis, the module 33 motion estimation generates a motion vector (MV) (or many MV in the case of bidirectional prediction), which indicates the magnitude and trajectory of the displacement between the current video section 31 and the predictive block used to encode the current videoblog 31.

[0064] the motion Vectors may be accurate in half or quarter pixel or even higher accuracy, allowing the video encoder 50 to track the movement with higher accuracy than the location with integer pixels, and get the block with the best prognosis. When using the motion vectors with fractional values of the pixel, the interpolation operation is performed in the module 37 motion compensation. Module 33 motion estimation can identify the best motion vector for videoblog using the distortion model speed transmission. Using the resulting motion vector module 37 motion compensation generates a block of video prediction by motion compensation.

[0065] the video Encoder 50 generates a residual video section by subtracting the video block of the prediction generated by the module 37 motion compensation, from the original, the current videoblog 31 in the adder 48. Module 39 conversion units applies a transform, such as discrete cosine conversions is of (DCT), to the residual block, forming the coefficients of the residual block conversion. Module 41 quantization quantum coefficients of the residual conversion blocks to further reduce the bit rate. The adder 49A receives information about the coefficients of the base layer, for example, from the encoder base level (not shown) and is located between the module 39 conversion blocks and module 41 quantization to provide this information on the factors underlying level for the encoding of the extension level. In particular, the adder 49A subtracts the information about the coefficients of the base level of the output signal of the module 39 conversion blocks. Similarly, the adder 49B, which is located between the module 44 inverse transform module and 42 inverse quantization, also receives information about the coefficients of the baseline from the encoder base level (not shown). The adder 49B summarizes information about the coefficients of the base level with the output signal of the module 42 of the inverse quantization.

[0066] the Module 46 VLC encodes the quantized transform coefficients according to the methodology of encoding with variable-length to further reduce the bit rate of the transmitted information. In particular, the module 46 VLC applies the methods of this disclosure, to encode the coefficients of the detail level of expansion. Odul 46 VLC can also generate additional information to identify which tables the decoder should use for different types of videobloom. This additional information may be included in the encoded bit stream so that the decoder can determine the appropriate tables for different types of videobloom and then choose the table based on the type decoded videoblog.

[0067] table Selection module 46 VLC to encode different videobloom can be made on the basis of the information gathered for previously or currently encoded frame. For example, a statistical analysis of previously encoded frames can be made to facilitate the table selection module 46 VLC. Such computationally intensive analysis, however, can be avoided in the decoder. Instead, information that identifies the table for the first and second types of videobloom, for example intracoronary block and internationally blocks can be encoded in the bitstream. The device decoder may use this submitted information to facilitate the election of the appropriate tables. Alternatively, in some cases, the encoding device and the decoding device can have an agreement - which table to use for different types of videoplace.

[0068] After encoding with variable-length encoded video may be transmitted to others who Sarafovo device. In addition, the module 42 to the inverse quantization module 44 reverse apply inverse quantization and inverse transformation, respectively, to recover the residual block. The adder 51 adds that the recovered residual block by block prediction with compensated movement generated by the module 37 motion compensation to generate a restored video section to be stored in memory 35 of the supporting frame. The restored video section is used by the module 33 motion estimation module and 37 motion compensation to encode the block in a subsequent video frame.

[0069] Figure 4 is a block diagram illustrating an example of a decoder 60 video, which can match the decoder 28 video in figure 1, which performs the decoding of the base level and degree of expansion. Video decoder 60 includes a module 52A VLC for information level expansion, which performs a corresponding function module 46 VLC figure 3. That is, as the module 46 VLC module 52A VLC encodes the coefficients of the detail level of expansion. As noted, in the encoder table selection VLC to encode different videobloom can be made on the basis of the information gathered for previously or currently encoded frame, for example, using statistical analysis of previously encoded or currently encoded frame that is s to facilitate the selection tables in the encoder. Such computationally intensive analysis, however, can be avoided in the decoder 40. Instead, information that identifies the table for the first and second types of videobloom, for example intracoronary block and intermediaware blocks may be transmitted from the encoder to the decoder 60. The decoder 60 may use this submitted information to facilitate the proper election tables.

[0070] the video Decoder 60 may also include another module 52B VLC for information baseline. Module 55 interpretazione may not need to perform any spatial decoding video blocks of the base level, and the output signal of the module 55 interpretazione can be sent to the adder 53. Tract-level extension may include a module 58A inverse quantization, and the tract of the base layer can include a module 56B of the inverse quantization. The information in the base paths and extensions can be combined by the adder 57.

[0071] the video Decoder 60 may perform intra - and interaktywna blocks in the frames. In the example in Figure 4, the video decoder 60 includes modules 52A and 52B VLC (mentioned above), the module 54 motion compensation modules 56A and 56B of the inverse quantization module 58 inverse transformation and the memory 62 of the supporting frame. Video decoder 60 also includes an adder 64. Neobyazatel the video decoder 60 may also include a filter release (not shown), which filters the output signal of the adder 64. Again the adder 57 combines the information in the base paths and extensions and module 55 interpretazione and the adder 53 facilitates any spatial decoding video blocks of the underlying level.

[0072] In accordance with the present invention, the module 52A VLC receives the extension level of the encoded video bitstream and applies methods VLC described in this disclosure. In particular, for the coefficients of detail video bit stream may be encoded to identify the appropriate VLC table for two or more different types of videobloom. Module 52A VLC determines the type of videoblocks for each encoded videoblog and selects the appropriate table VLC decoding for the corresponding videoblog on the basis of the information transmitted in the bit stream, which identifies the table for VLC decoding for this type of videoplace. The decoding process can generate a quantized residual coefficients, the macroblock mode encoding subunits and information movement, which may include motion vectors and partitioning.

[0073] After decoding performed by the module 52A VLC module 54 motion compensation receives the motion vectors and one or more of the restored reference frames from which Amati 62 keyframes. Module 56A inverse quantization performs inverse quantization, that is, decanted quantized coefficients block. After combining the information of levels of expansion and the base by means of the adder 57 module 58 inverse transformation applies the inverse transform such as inverse DCT, these coefficients to form a residual blocks. Module 54 motion compensation generates blocks with compensated movement, which are summed in adder 64 with residual blocks to form the decoded blocks. If desirable, the filter release can also be applied to filter the decoded blocks to remove the blocking artifacts. Filtered blocks are then placed in the memory 62 of the supporting frame, which produces thrust blocks from motion compensation and also produces decoded video for initiating a display device (such as device 30 in figure 1).

[0074] Figure 5 is a block diagram illustrating an exemplary module 46 VLC, which can correspond to that shown in Figure 3. Module 46 VLC includes module 72 encoding module 74 select the table and the VLC table 78. VLC table 78 generally refer to tables that can be stored in any location, for example locally or outside of the crystal in the location of individual memory. VLC table 78 can be about what Owlery periodically, as it is desirable.

[0075] the Module 72 encoding encodes the coefficients of detail and significant coefficients in a single pass encoding. Table selection module 46 VLC for coding coefficients associated with various videobloom can be performed on the basis of the information collected for the previously encoded or currently encoded frame. For example, a statistical analysis of previously encoded frames can be made to facilitate the table selection module 46 VLC. For the coefficients of detail (and possibly other factors) module 46 VLC generates information (which then included in the encoded bit stream), which identifies different VLC tables to be used in the decoder for different types of videobloom. The device decoder can use this information to facilitate the proper election of the table. Information that identifies different VLC tables to be used in the decoder for different types of videobloom may take various forms, but in one case contains two bits of information. The first bit identifies the table from the two possible tables for intracoronary blocks, and the second bit identifies the table from the two possible tables for interkalirovannyi blocks. Of course, you may want more information, if there is balisacan two tables to select one of them for each type of block.

[0076] the detail Coefficients can have values restricted to -1, 0 and 1, which can be encoded in two bits of information. The first bit (coeff_ref_flag) can indicate whether the coefficient is 0 (coeff_ref_flag =0) or not (coeff_ref_flag=1), and the second bit may indicate whether the sign (denoted as sn) coefficient of detail the same (coeff_ref_dir_fiag=0) or excellent (coeff_ref_dir_flag=1) label (denoted as sn-1the respective coefficient of the previous level. The previous level is denoted as sn-1. If the sign of the current coefficient is the same as the sign of the previous level, then coeff_ref_dir_fiag=0, and if the sign of the current coefficient is different from that of the previous level, then coeff_ref_dir_flag=1. Two bits of detail can be combined in an alphabet of three symbols of detail as follows in Table 1:

TABLE 1
coeff_ref_flagcoeff_ref_dir_fiagref_symbol
0-0
101
112

Alternatives is on, another scheme can also be used to encode the coefficients of detail, without departing from the techniques of this disclosure.

[0077] VLC table 78 may contain code words of variable length, which is converted to a different set of coefficients that can be determined by symbols, flags, or other types of bits. VLC table 78 may be updated as desired. Any number of tables may be included in the VLC tables 88. In some cases, two tables are used, although it may be included more. In any case, the module 72 encoding may apply to different VLC tables for various types of videobloom and may pass the information on these tables for different types of videobloom as part of the encoded bit stream. Thus, the device of the decoder should not perform computationally intensive statistical analysis to determine which tables to use, and instead may simply identify the table from the information in the coded bit stream. The table used for encoding different types of videobloom, can be determined once per frame, once per slice, once per level FGS frame or once for a different type of coded units.

[0078] 6 is a block diagram illustrating an exemplary module 52A VLC, which can correspond with the SQL module 52A VLC, shown in Figure 4. Module 52A VLC decoder performs the reverse function with respect to coding, which is performed by the module 46 VLC. Thus, while the module 46 VLC takes the quantized residual coefficients and generates a bit stream, the module 52A VLC receives the bit stream and generates a quantized residual coefficients. However, in contrast to module 46 VLC module VLC decoding should not perform computationally intensive statistical analysis to determine which tables to use, and instead may simply identify the table from the information in the coded bit stream and select the table for the given videoblog based on the type of block this videoblog.

[0079] the Module 52A VLC includes module 82 decoding module 86 table selection and one or more VLC tables 88. As in module 46, VLC tables 88 module 52 generally refer to tables that can be stored in any location, for example locally or outside of the crystal in the location of individual memory. VLC tables 88 may be updated periodically, as desired. Any number of tables may be included in the VLC tables 88. In some cases, there are two tables, although it may be included and more.

[0080] the Module 82 decoding VLC can run a separate passages decoding to substantially duplicate the patients and the coefficients of detail. The methods of this disclosure may be applicable to the coding coefficients or drill only or can be used for the coefficients of detail and significant coefficients.

[0081] the Encoded bit stream, adopted by module 82 decoding, includes information representing the encoded coefficients, for example, code words, and information that identifies the table that should be used for decoding different types of videobloom. Module 86 table selection determines which tables should be used for different types of videobloom for each coded module, for example for each frame. Module 82, the decoder then decodes the received message on the basis of the relevant tables 88 VLC, as defined by the module 86 table selection, to generate a quantized residual coefficients, which were encoded in the bit stream.

[0082] 7 - precedence diagram illustrating a coding technique for coding variable-length ratios (for example, a typical coefficients of detail the level of expansion that is compatible with the present invention. As shown in Fig.7, the module 76 table selection chooses which table should be used for encoding (91). The selected table can increase eff is aktivnosti coding and can be selected on the basis of statistical analysis of previously coded or currently encoded video frames. In particular, the module 76 table selection can choose different VLC tables to be used when encoding videobloom, on the basis of quantization levels associated with these blocks, and relevant statistical data that indicate which table was used as a similar quantization levels.

[0083] the Module 72 encoding encodes the coefficients by performing searches in VLC tables 78 (92), which were selected module 76 table selection. The sets of coefficients (such as sets with a long series of zeros or sets of coded templates blocks) can be assigned to variable length codes in the VLC tables. Thus, a more plausible sets of coefficients can be encoded code words with shorter lengths and less likely sets of coefficients can be encoded code words with shorter lengths, in order to improve the coding efficiency.

[0084] Different VLC tables can be selected for different types of videobloom, for example intracoronary blocks and intermediaware blocks, because these different types of videobloom usually encoded at different quantization levels. Module 46 VLC generates information that identifies the table that should be used for decoding different types of videobloom (93). Output bitove the flow module 46 VLC can include information, representing the encoded coefficients, and information that identifies the table that should be used for decoding different types of videobloom.

[0085] the Output bit stream may be sent to the transmitter (such as a modulator/transmitter 24 in figure 1) for transmission to the device 16 receiving the communication channel 15. This transmission of the bit stream includes the information representing the encoded coefficients (94), which can contain code words selected from tables 78 VLC. In addition, the transmission bit stream includes transmitting information identifying the table that should be used for decoding different types of videobloom (95). The process according to 7 can be repeated for each coded unit (96), for example, for each slice or each frame, which must be encoded.

[0086] Fig - precedence diagram illustrating a method of decoding coefficients for encoding variable length (usually of the coefficients of detail the level of expansion that is compatible with the present invention. As shown in Fig module 82 decoding VLC receives information representing the encoded coefficients (101), and receives information that identifies the various tables that should be used for decoding the hypoxia types videobloom (102). The receiver, the receiver/demodulator 26 (1), may facilitate the reception of this information from the communication channel 15.

[0087] the Module 86 selecting tables select tables for different types of videoblog on the basis of the received information identifying the various tables that should be used (103). Different types of videobloom may contain intracoronary blocks and intermediaware blocks. Accordingly, intracoronary blocks and internatioanal blocks, you can assign different VLC tables for each coded unit, for example, each frame or each slice. Module 82 decoding decodes the information representing the encoded coefficients based on the selected table (104). For example, the module 82 decoding may apply to the selected tables 88 VLC and perform a table search to decode the information to generate the coefficients. The process according Pig is repeated for each coded unit (105). Alternatively, if the agreement between the encoder and the decoder was pre-installed on the tables to use for different types of block, step 102 may be removed and the table is selected at step 103 may be based only on the type of block that should be decoded.

[0088] As described herein, in the encoder selection table for encoding the coefficients flesh out the tion, associated with different types of videobloom can be performed on the basis of the information collected for the previously encoded or currently encoded frame. Statistical analysis of previously encoded frames may be performed, for example, to facilitate the selection tables in the encoder. For example, the detail coefficients can be encoded using available tables, and a table that provides the least number of bits for coding the data, may be selected. Such computationally intensive analysis, however, can be avoided in the decoder. Instead, information that identifies the table for the first and second types of videobloom, for example intracoronary block and intermediaware blocks may be transmitted from the encoder to the decoder. The decoder may use this submitted information to facilitate proper elections table based on the type of the block.

[0089] the Selected table may depend on the level of quantization used in the encoding process. The used quantization, in turn, may depend on the type of videoplace. As the level of quantization used in the encoder, is usually unknown to the decoder, information regarding the type of videoplace provides a useful selection tool for use in the decoder. Therefore, the tables Eden is officeroute for decoder for different types of videoplace, and the decoder can determine the type associated with the corresponding video section, and select the appropriate VLC table for decoding the corresponding videoblog. Tables for different types of videobloom can vary based on frame-by-frame (or based on a slice-by-slice).

[0090] the Methods described herein may be implemented in hardware, software, software-hardware, or any combination thereof. Any signs that are described as modules or components may be implemented together in an integrated logic device or separately as discrete but interoperable logic devices. If implemented in software, the methods can be implemented, at least partially, machine-readable media containing commands that, when executed, perform one or more of the methods described above. Machine-readable media for storing data can be part of a computer software product, which may include packaging materials. Machine-readable media may include random access memory (RAM)such as synchronous dynamic RAM (SDRAM), read-only memory (ROM), nonvolatile RAM (NVRAM), electrically erasable PROM (EEPROM), flash memory, magnetic or optical storage media of the data is x, etc. The methods additionally or alternatively may be implemented, at least partially machine-readable communication medium that carries or reports code in the form of commands or data structures and that can be accessed, read and/or executed by a computer.

[0091] the Code can be executed by one or more processors, such as one or more digital signal processors (DSP), microprocessors General application, application-specific integrated circuits (ASIC), programmable gate arrays (FPGAs), or other equivalent integrated or discrete logic circuitry. Accordingly, the term "processor"as used herein may refer to any of the preceding structure or any other structure suitable for implementation of the techniques described here. In addition, in some aspects, the functionality described herein may be provided within dedicated software modules or hardware modules, software, configured for encoding and decoding, or incorporated into a combined video encoder-decoder (codec).

[0092] This disclosure may also refer to the scheme, such as integrated circuit chipset ASIC, FPGA, logic, or various combinations thereof, configured to perform one or more of the techniques described C is followed by a session. Accordingly, this disclosure also looking at the diagram, configured to encode extension level of the SVC scheme, where the scheme is configured for coding coefficients associated with videobloom extension level, on the basis of the coding tables with variable length, generating information identifying the first coding table with variable length, which must be used by the decoder to decode the first type of videobloom, and the second coding table with variable length, which must be used by the decoder to decode the second type of videobloom, to transmit information representing the encoded coefficients to the decoder and transmit information identifying the first coding table variable length, which should be used by the decoder to decode the first type of videobloom, and the second coding table with variable length, which must be used by the decoder to decode the second type of videobloom.

[0093] This disclosure also looking at the diagram, configured to encode extension level scheme for scalable video coding (SVC), in which the circuit is configured to receive information representing Kadirova the major factors, associated with videobloom extension level, to receive information that identifies the first coding table with variable length, which must be used to decode the first type of videobloom, and the second coding table with variable length, which must be used to decode the second type of videobloom, select tables for decoding information representing the encoded coefficients, based on the information identifying the first and second coding table with variable length, which must be used, and to decode the information representing the encoded coefficients based on the selected tables.

[0094] furthermore, this disclosure is looking at the diagram, configured to encode the level schema extension SVC, the circuit is configured to receive information representing the encoded coefficients associated with videobloom level extensions to choose different tables coding with variable length, which must be used to decode the information based on the type of unit associated with videobloom, in accordance with the agreement established with the encoder to decode the information representing the encoded coefficients based on the selected tables.

[0095] described the hypoxia embodiments of the invention. These and other embodiments of are in the scope the following claims.

1. The encoding level schema extensions scalable video coding (SVC), and the method comprises the coding coefficients associated with videobloom extension level, on the basis of the coding tables with variable-length code for each of the set of coded units; for each of these coded units generating information identifying the first coding table with variable-length code, which should be used by the decoder to decode the first type of videobloom, and the second coding table with variable-length code, which should be used by the decoder to decode the second type of videobloom, and generating said information includes performing statistical analysis the information collected for the previously coded units or current coded units associated with the level of extension; transmission of information representing the encoded coefficients to the decoder; and for each of these coded units of the transmission of said information identifying the first coding table with variable-length code, which should be used by the device, decode the simulation, to decode the first type of videobloom, and the second coding table with variable-length code, which should be used by the decoder to decode the second type of videobloom, and transfer referred identifying information is performed once for each of the coded units.

2. The method according to claim 1, wherein the coefficients include coefficients of detail for which the corresponding coefficients of one or more of the previous levels in the SVC scheme had non-zero values.

3. The method according to claim 1, wherein the coded units are frames, the encoding of coefficients includes selecting the first and second code tables with variable-length code on the basis of the information collected for the previously encoded frames.

4. The method according to claim 3, in which the selection of the first and second coding tables contains a selection of the first and second coding tables of two or more possible tables.

5. The method according to claim 1, wherein the first type of videobloom contains intracoronary the video section and the second type of videobloom contains internationally the video section.

6. The method according to claim 1, in which video ad units are arranged in frames and coded units are frames, the method further comprises for each of the frames of the transmission of information identifying the first and second tables Kadirova the Oia variable length code, which should be used.

7. The method according to claim 1, wherein the information representing the encoded coefficients, contains code words selected from one or more coding tables with variable-length code.

8. The method of decoding extension level scheme for scalable video coding (SVC), and the method comprises the steps of: receiving information representing the encoded coefficients associated with videobloom extension level for each of multiple coded units; for each of these coded units receiving information identifying the first coding table with variable-length code, which must be used to decode the first type of videobloom, and the second coding table with variable-length code, which must be used to decode the second type of videobloom; for each of these coded units selection tables for decoding information representing the encoded coefficients, the basis of the information identifying the first and second coding table with variable-length code, which should be used; and decoding information representing the encoded coefficients based on the selected table, and mentioned the identifying information is received once for each of tirovannyh units.

9. The method according to claim 8, in which the coefficients contain the coefficients of detail for which the corresponding coefficients of one or more of the previous levels in the SVC scheme have nonzero values.

10. The method according to claim 8, in which the selection of the first and second coding tables contains a selection of the first and second coding tables of two or more possible tables.

11. The method according to claim 8, in which the first type of videobloom contains intracoronary the video section and the second type of videobloom contain internationally the video section.

12. The method according to claim 8, in which the coded units are frames, the method further comprises receiving information identifying the first and second code tables with variable-length code to be used once per frame.

13. The method according to claim 8, in which information representing the encoded coefficients, contains code words selected by the encoder from one or more coding tables with variable-length code.

14. A device that encodes the degree of expansion of the scheme scalable video coding (SVC), and the device includes an encoder that encodes the coefficients associated with videobloom extension level, on the basis of the coding tables with variable-length code for each of the set of coded units, and for each of the coded single is C generates information identifying the first coding table with variable-length code, which should be used by the decoder to decode the first type of videobloom, and the second coding table with variable-length code, which should be used by the decoder to decode the second type of videobloom, and generating said information includes performing statistical analysis of the information collected for the previously coded units or current coded units associated with the level of expansion; and a transmitter that transmits the information representing the encoded coefficients for each of the set of coded units, and for each of the coded units transmits said information identifying the first coding table variable length code, which should be used by the decoding device to decode mentioned first type mentioned videobloom, and the second coding table with variable-length code, which should be used by the decoding device to decode mentioned second type mentioned videobloom, and mentioned the identifying information is transmitted once for each of the coded units.

15. The device according to 14, in which the coefficients contain the coefficient of the drill, for which the corresponding coefficients of one or more of the previous levels in the SVC scheme had non-zero values.

16. The device according to 14, in which the coded units are frames, and in which the encoder selects the first and second code tables with variable-length code on the basis of the information collected for the previously encoded frames.

17. The device according to 14, in which the first type of videobloom contains intracoronary the video section, and the second type of videobloom contain internationally video block.

18. The device according to 14, in which video ad units are arranged in frames and coded units are frames, and the transmitter transmits information identifying the first and second code tables with variable-length code to be used once for each frame.

19. The device according to 14, in which information representing the encoded coefficients, contains code words selected from one or more coding tables with variable-length code.

20. The device according to 14, in which the device represents at least one of: an integrated circuit and wireless communication devices.

21. A device that decodes the extension level scheme for scalable video coding (SVC), and the device includes a receiver that receives data represent the th coded coefficients, associated with videobloom extension level, for each of multiple coded units; and for each of these coded units receives information identifying the first coding table with variable-length code, which must be used to decode the first type of videobloom, and the second coding table with variable-length code, which must be used to decode the second type of videobloom; and the decoder, for each of these coded units selects the table to decode the information representing the encoded coefficients, based on the information identifying the first and second code tables with variable-length code, which should be used and decodes the information representing the encoded coefficients based on the selected table, and mentioned the identifying information is received once for each of the coded units.

22. The device according to item 21, in which the coefficients contain the coefficients of detail for which the corresponding coefficients of one or more of the previous levels in the SVC scheme have nonzero values.

23. The device according to item 21, in which the first type of videobloom contains intracoronary the video section, and the second type of videobloom contains internationally video is Locke.

24. The device according to item 21, in which video ad units are arranged in frames, and the coded units contain frames, and the receiver receives the information identifying the first and second code tables with variable-length code to be used once for each frame.

25. The device according to item 21, in which the device represents at least one of: an integrated circuit and wireless communication devices.



 

Same patents:

FIELD: information technologies.

SUBSTANCE: target image that forms video image is divided into multiple division areas (DA); pass band (PB) width applied to DA is determined; array of filtration ratios (FR) is calculated to realise frequency characteristics corresponding to limitation of band, with application of PB width; image data is filtered with application of FR array; error information value is produced between obtained data and data of initial image, and distribution ratio (DR) is calculated to be used to determine optimal width of PB, on the basis of produced value; optimal width of PB corresponding to DR is defined for each DA, and array of optimal FR is calculated to realise frequency characteristics corresponding to limitation of band, using optimal width of PB; image data of division area is filtered using array of optimal FR; and produced data of each DA are synthesised.

EFFECT: generation of filtered image with specified value of image quality assessment.

29 cl, 27 dwg

FIELD: information technologies.

SUBSTANCE: parametres of coding, such as tables of end of block (EOB) shift and selection of dictionary of VLC-coding may be stored as internal conditions instead of their sending with coded data of series of serial macroblocks of video. Records of tables may periodically be updated on the basis of statistics collected in process of coding stage. Table of special EOB shift may adapt position of symbol of special EOB in set of symbols to probability of significant coefficients with absolute value, more than 1, for condition of coding, such as cycle of coding. Units of colour signal may be coded independently on blocks of brightness signal with the help of separate table of EOB shift tables, shift of special EOB and selection of VLC-coding dictionary.

EFFECT: increased efficiency of adaptive coding with alternating length.

54 cl, 11 dwg

FIELD: information technologies.

SUBSTANCE: fragments may be aligned with cycle so that beginning of working data of each of fragments practically matches beginning of one of cycles. Certain cycles may be controlled with the help of vector mode to scan for previously determined position within the framework of block prior to displacement to another block. Therefore, number of cycles may be reduced, cutting number of fragments and associatively related volume of service information. CAF may be entropically coded independently on each other, so that each of fragments could be easily accessible and decoded without waiting for decoding of other fragments, which provides for parallel decoding and simultaneous processing of these fragments.

EFFECT: increased efficiency of video coding based on cycles, coding of coefficients of blocks of FGS-video data and syntactic elements, reduction of fragments number and volume of service information.

68 cl, 14 dwg, 8 tbl

FIELD: information technologies.

SUBSTANCE: system and method are proposed to indicate points of switching from lower level to higher one at the level of file format for efficient switching of scalable flows in flow servers and at local reproduction of files. Also the present invention proposes system and method for indication of switching points from lower level to higher in bit video flow, for instance to provide for intellectual forwarding of scalable levels in network elements, capable of recognition of media data, or computationally scalable decoding in receivers of flow.

EFFECT: provision of simple and efficient switching from lower level to higher one for adaptation of scalable flow without necessity in detailed selection and analysis of bit video flows by flow server, and thus reduction of computational and implementation resources.

16 cl, 6 dwg, 2 tbl

FIELD: information technologies.

SUBSTANCE: video data of improvement level is included into component of network abstraction level (NAL); one or several syntactic elements are included into NAL to indicate, whether NAL component includes video data of improvement level, and one or several syntactic elements to indicate at least one of the following: whether video data of improvement level include video data with intraframe coding in NAL component; whether NAL component includes parametre of sequence, set of image parametres, layer of reference image or section of data of reference image layer; and number of nonzero coefficients with value exceeding one, in units of intraframe coding in video data of improvement level.

EFFECT: realisation of expansion of versions of International Telecommunication Union standard for efficient scalable video coding.

49 cl, 16 dwg, 18 tbl

FIELD: information technology.

SUBSTANCE: scalable video signal encoder includes an encoder for encoding a block in an enhancement layer of a picture by applying a same weighting parametre to an enhancement layer reference picture as that applied to a lower layer reference picture used for encoding a block in a lower layer of the picture. The block in the enhancement layer corresponds to the block in the lower layer, and the enhancement layer reference picture corresponds to the lower layer reference picture.

EFFECT: high efficiency of weighted prediction for scalable coding and decoding a video signal with possibility of storing different sets of weighting parametres for the same reference picture in the enhancement layer.

31 cl, 6 dwg

FIELD: information technologies.

SUBSTANCE: device and method are proposed to process multimedia data, such as video data, audio data, or video and audio data for coding, using certain classification of content. Processing of multimedia data includes determination of multimedia data complexity, classification of multimedia data on the basis of certain complexity, and determination of transfer speed in bits for coding of multimedia data on the basis of their classification. Complexity may include a component of spatial complexity and component of time complexity of multimedia data. Multimedia data is classified, using classifications of content, which are based on value of visual quality for viewing of multimedia data, using spatial complexity, time complexity or both spatial and time complexity.

EFFECT: development of improved method of images classification.

111 cl, 12 dwg

FIELD: information technologies.

SUBSTANCE: method for decoding of compressed video sequence, at the same time image frames are introduced into buffer memory related to decoding. Video sequence includes indication related to at least one gap in numbering of image frames, besides this indication is decoded from video sequence. Further, in response to this indication, buffer memory is configured so that it provides for number of images frames corresponding to gap in numbering of image frames, and images frames in buffer memory are used in process of decoding. Preferentially, specified indication informs about the fact that at least one gap in numbering of image frames in video sequence is deliberate, and specified number of image frames is used in buffer memory instead of image frames, which are not available in decoder.

EFFECT: provision of the possibility for decoder to account for image frames, which were deleted deliberately by coder.

31 cl, 14 dwg

FIELD: information technology.

SUBSTANCE: subsets are determined (step 29), each containing one or more coding units, where at least one image puts at least one coding unit into two or more subsets, the list of requirements (LOR) is established (step 30) containing at least one element associated with each subset. Significance values are use in order to select quality increments for generating an allowable code stream which satisfies the LOR for subsets (steps 34, 36). Quality increments can be selected so as to attain high quality for different subsets depending on size requirements in the LOR. For certain requirements, the code stream will exhibit an approximately constant quality of the reconstructed image. Quality increments can be selected so as to achieve small sizes of a compressed image for different subsets depending on quality requirements in the LOR.

EFFECT: high quality of the reconstructed image.

27 cl, 7 dwg

FIELD: information technology.

SUBSTANCE: coding device has definition apparatus for determining image area data meant for processing in order to counter reconstruction implied by granular noise arising in image data coded based on said image data and apparatus for countering reconstruction, designed for processing in order to counter reconstruction for image area data, defined using definition apparatus when coding image data, where when the said image data are coded in data unit data modules, the said definition apparatus determines unit data which form the said image data as the said image area data, and apparatus for countering reconstruction forcibly sets the orthogonal transformation coefficient to zero, which becomes equal to zero when quantisation is carried out using the said unit data, among orthogonal transformation coefficients of unit data defined using the said definition apparatus.

EFFECT: improved quality of the decoded image.

14 cl, 18 dwg

FIELD: information technologies.

SUBSTANCE: parametres of coding, such as tables of end of block (EOB) shift and selection of dictionary of VLC-coding may be stored as internal conditions instead of their sending with coded data of series of serial macroblocks of video. Records of tables may periodically be updated on the basis of statistics collected in process of coding stage. Table of special EOB shift may adapt position of symbol of special EOB in set of symbols to probability of significant coefficients with absolute value, more than 1, for condition of coding, such as cycle of coding. Units of colour signal may be coded independently on blocks of brightness signal with the help of separate table of EOB shift tables, shift of special EOB and selection of VLC-coding dictionary.

EFFECT: increased efficiency of adaptive coding with alternating length.

54 cl, 11 dwg

FIELD: physics; communication.

SUBSTANCE: invention relates to telecommunication and specifically to reducing redundancy of transmitted information and can be used for compressing and retrieving without loss of digital data in information systems and telecommunication systems. Faster compression and retrieval of data is achieved due to that, prefix codes are assigned not to all n bit numbers, but only groups whose number is considerably less, as well as due to that the number of calculation operations is reduced, particularly operations for reading variable-length codes. These calculation operations are replaced with operations for reading records from a table which takes considerably less time.

EFFECT: faster compression and retrieval of data, increased compression ratio of high-entropy data, easy realisation of the compression and retrieval method, reduced number of operations of compressing and retrieving data.

4 tbl

FIELD: physics; communications.

SUBSTANCE: invention relates to encoding/decoding information values and specifically to entropy encoding using compact code books to generate an efficient code. The present invention is based on that, an efficient code for decoding information values can be obtained when two or more information values are grouped into a tuple in accordance with a tuple order, and when a code rule is used, in accordance with which the same code word is assigned to tuples with the same information values lying in different orders, and order information indicating the tuple order is extracted, and when a code word is output in relation to order information.

EFFECT: increased accuracy of encoding/decoding.

22 cl, 10 dwg

FIELD: physics.

SUBSTANCE: display operation used to name nonzero data symbol and related number of previous or following data symbols with a code word is adapted depending on maximum possible number of zero data symbols within data symbols set. Corresponding decoding method, coders and decoders are described as well.

EFFECT: lower volume of transferred information at comprehensible image quality.

43 cl, 7 dwg, 7 tbl

FIELD: technology for decoding prefix codes of alternating length, such as Huffman codes, and, in particular, combined decoding circuit which uses transformation table decoding and prefix-oriented decoding.

SUBSTANCE: in accordance to the method, from the stream of bits a number of bits is read, which is not less than maximally possible length of alternating length code, given number of bits is extracted, which is used as index for data structure, which contains at least the decoded value and the trustworthiness indicator. The trustworthiness indicator is used to determine, whether the encoding should be continued, or whether the trustworthy decoded value should be received from data structure and excessive bits returned to bit stream. If the decoded value is determined to be untrustworthy, the decoding is continued, and the decoding method which estimates length of code prefix and number of significant bits which correspond to produced length estimate, is applied to bits that were initially read from the bit stream.

EFFECT: ensured fast encoding of alternating length codes, when a subset of most often used codes with relatively short prefixes may be determined.

3 cl, 3 dwg, 1 app

FIELD: methods and devices for generating message compression context.

SUBSTANCE: proposed method intended to provide for wireless communications between mobile station and network one using message compression context generated in the form dictionary and/or dictionary-related code includes permanent storage of signal messages typical of particular mobile station profile or of mobile station subscriber in dictionary for saving signal messages typical of profile of particular mobile station or its subscriber and ensures communication between mobile station and network one using signal message storage dictionary typical of particular mobile station or its user for compressing messages.

EFFECT: enhanced effectiveness of message compression and provision for synchronizing dictionaries during transfer of compressed messages.

51 cl, 10 dwg

The invention relates to electronic combination locks and can be used in the technique of protection from unauthorized access

The invention relates to techniques for digital signal

FIELD: methods and devices for generating message compression context.

SUBSTANCE: proposed method intended to provide for wireless communications between mobile station and network one using message compression context generated in the form dictionary and/or dictionary-related code includes permanent storage of signal messages typical of particular mobile station profile or of mobile station subscriber in dictionary for saving signal messages typical of profile of particular mobile station or its subscriber and ensures communication between mobile station and network one using signal message storage dictionary typical of particular mobile station or its user for compressing messages.

EFFECT: enhanced effectiveness of message compression and provision for synchronizing dictionaries during transfer of compressed messages.

51 cl, 10 dwg

FIELD: technology for decoding prefix codes of alternating length, such as Huffman codes, and, in particular, combined decoding circuit which uses transformation table decoding and prefix-oriented decoding.

SUBSTANCE: in accordance to the method, from the stream of bits a number of bits is read, which is not less than maximally possible length of alternating length code, given number of bits is extracted, which is used as index for data structure, which contains at least the decoded value and the trustworthiness indicator. The trustworthiness indicator is used to determine, whether the encoding should be continued, or whether the trustworthy decoded value should be received from data structure and excessive bits returned to bit stream. If the decoded value is determined to be untrustworthy, the decoding is continued, and the decoding method which estimates length of code prefix and number of significant bits which correspond to produced length estimate, is applied to bits that were initially read from the bit stream.

EFFECT: ensured fast encoding of alternating length codes, when a subset of most often used codes with relatively short prefixes may be determined.

3 cl, 3 dwg, 1 app

FIELD: physics.

SUBSTANCE: display operation used to name nonzero data symbol and related number of previous or following data symbols with a code word is adapted depending on maximum possible number of zero data symbols within data symbols set. Corresponding decoding method, coders and decoders are described as well.

EFFECT: lower volume of transferred information at comprehensible image quality.

43 cl, 7 dwg, 7 tbl

Up!